Skip to content
  • Andrew Burgess's avatar
    4c0f0b66
    target/riscv: remove fixed numbering from GDB xml feature files · 4c0f0b66
    Andrew Burgess authored
    
    
    The fixed register numbering in the various GDB feature files for
    RISC-V only exists because these files were originally copied from the
    GDB source tree.
    
    However, the fixed numbering only exists in the GDB source tree so
    that GDB, when it connects to a target that doesn't provide a target
    description, will use a specific numbering scheme.
    
    That numbering scheme is designed to be compatible with the first
    versions of QEMU (for RISC-V), that didn't send a target description,
    and relied on a fixed numbering scheme.
    
    Because of the way that QEMU manages its target descriptions,
    recording the number of registers in each feature, and just relying on
    GDB's numbering starting from 0, then I propose that we remove all the
    fixed numbering from the RISC-V feature xml files, and just rely on
    the standard numbering scheme.  Plenty of other targets manage their
    xml files this way, e.g. ARM, AArch64, Loongarch, m68k, rx, and s390.
    
    Signed-off-by: default avatarAndrew Burgess <aburgess@redhat.com>
    Acked-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    Reviewed-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    Message-Id: <6069395f90e6fc24dac92197be815fedf42f5974.1661934573.git.aburgess@redhat.com>
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    4c0f0b66
    target/riscv: remove fixed numbering from GDB xml feature files
    Andrew Burgess authored
    
    
    The fixed register numbering in the various GDB feature files for
    RISC-V only exists because these files were originally copied from the
    GDB source tree.
    
    However, the fixed numbering only exists in the GDB source tree so
    that GDB, when it connects to a target that doesn't provide a target
    description, will use a specific numbering scheme.
    
    That numbering scheme is designed to be compatible with the first
    versions of QEMU (for RISC-V), that didn't send a target description,
    and relied on a fixed numbering scheme.
    
    Because of the way that QEMU manages its target descriptions,
    recording the number of registers in each feature, and just relying on
    GDB's numbering starting from 0, then I propose that we remove all the
    fixed numbering from the RISC-V feature xml files, and just rely on
    the standard numbering scheme.  Plenty of other targets manage their
    xml files this way, e.g. ARM, AArch64, Loongarch, m68k, rx, and s390.
    
    Signed-off-by: default avatarAndrew Burgess <aburgess@redhat.com>
    Acked-by: default avatarAlistair Francis <alistair.francis@wdc.com>
    Reviewed-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
    Message-Id: <6069395f90e6fc24dac92197be815fedf42f5974.1661934573.git.aburgess@redhat.com>
    Signed-off-by: default avatarAlistair Francis <alistair.francis@wdc.com>
Loading