On 8/13/20 3:42 AM, Philippe Mathieu-Daudé wrote:
>> struct ARMISARegisters {
>> - uint32_t id_isar0;
>> - uint32_t id_isar1;
>> - uint32_t id_isar2;
>> - uint32_t id_isar3;
>> - uint32_t id_isar4;
>> - uint32_t id_isar5;
>> - uint32_t id_isar6;
>> - uint32_t id_mmfr0;
>> - uint32_t id_mmfr1;
>> - uint32_t id_mmfr2;
>> - uint32_t id_mmfr3;
>> - uint32_t id_mmfr4;
>> - uint32_t mvfr0;
>> - uint32_t mvfr1;
>> - uint32_t mvfr2;
>> - uint32_t id_dfr0;
>> - uint32_t dbgdidr;
>> - uint64_t id_aa64isar0;
>> - uint64_t id_aa64isar1;
>> - uint64_t id_aa64pfr0;
>> - uint64_t id_aa64pfr1;
>> - uint64_t id_aa64mmfr0;
>> - uint64_t id_aa64mmfr1;
>> - uint64_t id_aa64mmfr2;
>> - uint64_t id_aa64dfr0;
>> - uint64_t id_aa64dfr1;
>> + uint64_t regs[ID_MAX];
>> } isar;
>
> Why not simply this?
>
> uint64_t isar[ID_MAX];
Because the ARMISARegisters type is used elsewhere.
r~