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~