[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 4/5] target-unicore32: QOM'ify CPU
From: |
Andreas Färber |
Subject: |
Re: [Qemu-devel] [PATCH v3 4/5] target-unicore32: QOM'ify CPU |
Date: |
Fri, 30 Mar 2012 23:38:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120312 Thunderbird/11.0 |
Am 30.03.2012 18:15, schrieb Michael Roth:
> On Fri, Mar 30, 2012 at 12:26:09PM +0200, Andreas Färber wrote:
>> +static void unicore_ii_cpu_initfn(Object *obj)
>> +{
>> + UniCore32CPU *cpu = UNICORE32_CPU(obj);
>> + CPUUniCore32State *env = &cpu->env;
>> +
>> + env->cp0.c0_cpuid = 0x40010863;
>
> Any reason not to use UC32_CPUID_UCV2 here, and UC32_CPUID_ANY below?
>
>> +}
>> +
>> +static void uc32_any_cpu_initfn(Object *obj)
>> +{
>> + UniCore32CPU *cpu = UNICORE32_CPU(obj);
>> + CPUUniCore32State *env = &cpu->env;
>> +
>> + env->cp0.c0_cpuid = 0xffffffff;
>> +}
Yes. Like for target-arm, the idea is to deprecate the use of
CPUID-dependent common code. For unicore32 we are in the lucky position
of being able to do that right away:
commit f8eb3e1d3f4e04b79513655f68fa23a43a31c74c
Author: Andreas Färber <address@hidden>
Date: Fri Mar 30 23:19:20 2012 +0200
target-unicore32: Drop UC32_CPUID macros
Any code that depends on a particular CPU type can now go through
callbacks on the QOM UniCore32CPUClass.
Signed-off-by: Andreas Färber <address@hidden>
diff --git a/target-unicore32/cpu.h b/target-unicore32/cpu.h
index 81c14ff..50d5695 100644
--- a/target-unicore32/cpu.h
+++ b/target-unicore32/cpu.h
@@ -120,10 +120,6 @@ void cpu_asr_write(CPUUniCore32State *env1,
target_ulong val, target_ulong mask)
#define UC32_HWCAP_CMOV 4 /* 1 << 2 */
#define UC32_HWCAP_UCF64 8 /* 1 << 3 */
-#define UC32_CPUID(env) (env->cp0.c0_cpuid)
-#define UC32_CPUID_UCV2 0x40010863
-#define UC32_CPUID_ANY 0xffffffff
-
#define cpu_init uc32_cpu_init
#define cpu_exec uc32_cpu_exec
#define cpu_signal_handler uc32_cpu_signal_handler
But that can be done as follow-up IMO (just like adding reset support).
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg