qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC PATCH] target-ppc: Register CPU class per family o


From: Alexey Kardashevskiy
Subject: Re: [Qemu-devel] [RFC PATCH] target-ppc: Register CPU class per family only when needed
Date: Wed, 8 Jul 2015 16:41:26 +1000
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.0.1

On 07/08/2015 04:37 PM, Alexey Kardashevskiy wrote:
Adding David to this old conversation.

This is the patch:
http://patchwork.ozlabs.org/patch/446544/




On 03/17/2015 09:47 AM, Alexey Kardashevskiy wrote:
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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]