[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [RFC PATCH] target-ppc: Register CPU class per family onl
From: |
Alexey Kardashevskiy |
Subject: |
Re: [Qemu-ppc] [RFC PATCH] target-ppc: Register CPU class per family only when needed |
Date: |
Tue, 17 Mar 2015 09:47:26 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux i686 on x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 |
On 03/16/2015 09:40 PM, Andreas Färber wrote:
Am 16.03.2015 um 05:58 schrieb Alexey Kardashevskiy:
On 03/06/2015 12:17 AM, Alexander Graf wrote:
On 05.03.15 02:56, Alexey Kardashevskiy wrote:
At the moment when running in KVM mode, QEMU registers "host" class to
match the current CPU PVR value. It also registers another CPU class
with a CPU family name os if we run QEMU on POWER7 machine, "host" and
"POWER7" classes are created, this way we can always use "-cpu POWER7"
on the actual POWER7 machine.
The existing code uses DeviceClass::desc field of the CPU class as
a source for the class name; it was pointed out that it is wrong to use
user-visible string as a type name.
This adds a common CPU class name into PowerPCCPUClass struct.
This makes registration of a CPU named after the family conditional -
PowerPCCPUClass::common_cpu_name has to be non-zero. Only POWER7/POWER8
families have this field initialized by now.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
LGTM. Andreas, do you agree?
Ping?
No, I don't agree. Inventing a new class field just to distinguish
POWER7/POWER8 here seems like a weird idea,
As weird as PVR itself :)
and the code placement is not fixed either.
What is wrong with the code placement?
I gathered that you want -cpu POWER7 and -cpu POWER8 to work on POWER8
hardware and -cpu POWER7 on POWER7, for migration purposes, correct?
What exact PVRs have you tested on and why does it not work without
those types despite the PVR masking? To investigate I need a test case.
The real host is 003f 0201. -cpu POWER7 will fail without my patches as
POWER7 is alias of 003f 0203.
Or real host 004b 0201 - -cpu POWER8 will try 004d 0100 and fail.
Is this just a question of the generic family type being abstract and
needing an updated PVR value?
May be. That could help too I suppose.
Which other fields are actually used?
Sorry, used where? :)
--
Alexey