On 9 February 2014 02:15, Peter Crosthwaite
<peter.crosthwa...@xilinx.com> wrote:
> On Sat, Feb 1, 2014 at 1:45 AM, Peter Maydell <peter.mayd...@linaro.org> 
> wrote:
>> -    { .name = "CCSIDR", .cp = 15, .crn = 0, .crm = 0, .opc1 = 1, .opc2 = 0,
>> +    { .name = "CCSIDR", .state = ARM_CP_STATE_BOTH,
>> +      .opc0 = 3, .crn = 0, .crm = 0, .opc1 = 1, .opc2 = 0,
>
> Why is the .cp field lost in the conversion to STATE_BOTH?

Because 64 bit sysregs don't have a concept of coprocessor. STATE_BOTH
means "this is a 64 bit sysreg with a cp15 encoding in the obvious place".
Anything other than cp15 needs split definitions anyway, so if we required
the .cp to be specified it would always be '.cp = 15'. Essentially this is
attempting to keep the length of cpreg definitions down by abbreviating
parts where there isn't actually any choice.

thanks
-- PMM

Reply via email to