qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 1/2] Implement basic part of SA-1110/SA-1100


From: Dmitry Eremin-Solenikov
Subject: Re: [Qemu-devel] [PATCH 1/2] Implement basic part of SA-1110/SA-1100
Date: Tue, 22 Mar 2011 19:08:03 +0300

Hello,

On 3/22/11, Peter Maydell <address@hidden> wrote:
> On 22 March 2011 14:53, Dmitry Eremin-Solenikov <address@hidden>
> wrote:
>
>>  static inline int arm_feature(CPUARMState *env, int feature)
>> @@ -391,6 +392,19 @@ void cpu_arm_set_cp_io(CPUARMState *env, int cpnum,
>>  #define ARM_CPUID_ARM946      0x41059461
>>  #define ARM_CPUID_TI915T      0x54029152
>>  #define ARM_CPUID_TI925T      0x54029252
>> +#define ARM_CPUID_SA1100      0x4401A11B
>> +#define ARM_CPUID_SA1100_B    0x4401A111
>> +#define ARM_CPUID_SA1100_C    0x4401A112
>> +#define ARM_CPUID_SA1100_D    0x4401A118
>> +#define ARM_CPUID_SA1100_E    0x4401A119
>> +#define ARM_CPUID_SA1100_G    0x4401A11B
>> +#define ARM_CPUID_SA1110      0x6901B119
>> +#define ARM_CPUID_SA1110_A0   0x6901B110
>> +#define ARM_CPUID_SA1110_B0   0x6901B114
>> +#define ARM_CPUID_SA1110_B1   0x6901B115
>> +#define ARM_CPUID_SA1110_B2   0x6901B116
>> +#define ARM_CPUID_SA1110_B4   0x6901B118
>> +#define ARM_CPUID_SA1110_B5   0x6901B119
>>  #define ARM_CPUID_PXA250      0x69052100
>>  #define ARM_CPUID_PXA255      0x69052d00
>>  #define ARM_CPUID_PXA260      0x69052903
>
> Yikes. Do we really need 13 new strongarm CPU types?
> That's half again as many as we currently have defined
> for ARM CPUs of all flavours.

Just followed (more or less) PXA model. What do you suggest? Leave only the
latest ones?

>
>> @@ -1522,6 +1549,8 @@ void HELPER(set_cp15)(CPUState *env, uint32_t insn,
>> uint32_t val)
>>     case 9:
>>         if (arm_feature(env, ARM_FEATURE_OMAPCP))
>>             break;
>> +        if (arm_feature(env, ARM_FEATURE_STRONGARM))
>> +            break; /* Ignore ReadBuffer access */
>>         switch (crm) {
>>         case 0: /* Cache lockdown.  */
>>            switch (op1) {
>
> I know we don't really have very good infrastructure for handling
> device-specific cp15 registers, but I'm not sure defining a new
> FEATURE_STRONGARM is the right approach here. (Yeah, it's just
> following ARM_FEATURE_OMAPCP but I don't like that either :-))
> I'll have a think about whether we can do something cleaner in
> this area (and indeed with the translate-time access checks).

Yeah, OMAPCP, XSCALE and IWMMX. Basically I'd need to plug
into cp15 regs: c9 (this one), c15 (later, idle/wait for interrupt) and
maybe c14 (debug: hwbp, data watch).

> PS: CODING_STYLE mandates braces on all if statements...

Looking around the code it doesn't seem so mandatory... I'll try
fixing my patches though.

-- 
With best wishes
Dmitry



reply via email to

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