On 1/17/23 1:40 PM, Richard Henderson wrote:
>> diff --git a/target/arm/cpu.h b/target/arm/cpu.h
>> index bf2bce046d..fdbb0d9107 100644
>> --- a/target/arm/cpu.h
>> +++ b/target/arm/cpu.h
>> @@ -856,6 +856,7 @@ struct ArchCPU {
>> DynamicGDBXMLInfo dyn_sysreg_xml;
>> DynamicGDBXMLInfo dyn_svereg_xml;
>> + DynamicGDBXMLInfo dyn_m_systemreg_xml;
>
> You don't need a new variable here, because a given cpu cannot be both
> a-profile and m-profile -- dyn_sysreg_xml can hold the xml for the current
> set of system registers.
Maybe I'm missing something? It looks like
arm_cpu_register_gdb_regs_for_features
unconditionally calls
gdb_register_coprocessor(..., arm_gen_dynamic_sysreg_xml(...), ...);
which would cause a collision.