On 12 November 2012 22:16, Eduardo Habkost <ehabk...@redhat.com> wrote:
>
> Sorry for replying to a patch 7 months later, but I just have a question
> related to how we will handle CPU model classes on all targets:
>
> On Sat, Apr 14, 2012 at 05:42:10PM +0100, Peter Maydell wrote:
>> Register subclasses for each ARM CPU implementation (with the
>> exception of "pxa270", which is an alias for "pxa270-a0").
>>
>> Let arm_cpu_list() enumerate CPU subclasses in alphabetical order,
>> except for special value "any".
>>
>> Replace cpu_arm_find_by_name()'s string -> CPUID lookup by storing the
>> CPUID (aka MIDR, Main ID Register) value in the class.
>>
>> Signed-off-by: Andreas Färber <afaer...@suse.de>
>> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
>> ---
>>  target-arm/cpu-qom.h |   12 +++
>>  target-arm/cpu.c     |  226 
>> +++++++++++++++++++++++++++++++++++++++++++++++++-
>>  target-arm/helper.c  |  109 ++++++++++--------------
>>  3 files changed, 282 insertions(+), 65 deletions(-)
>>
>> diff --git a/target-arm/cpu-qom.h b/target-arm/cpu-qom.h
>> index 42d2a6b..a4bcb31 100644
>> --- a/target-arm/cpu-qom.h
>> +++ b/target-arm/cpu-qom.h
>> @@ -58,6 +58,18 @@ typedef struct ARMCPU {
> [...]
>> +typedef struct ARMCPUInfo {
>> +    const char *name;
>> +    void (*initfn)(Object *obj);
>> +} ARMCPUInfo;
>> +
>> +static const ARMCPUInfo arm_cpus[] = {
> [...]
>> +    { .name = "any",         .initfn = arm_any_initfn },
>> +};
>> +
>
> Do we really want to use "any" as the class name?

Probably not, since it would make it tricky to (in some future
utopia) have a QEMU which supported more than one CPU architecture
in the same binary if they all wanted to use "any"...

> Maybe we should use
> "cpu-<model>" as the namespace for the CPU model class names?

Sounds reasonable.

-- PMM

Reply via email to