AFAICS the sh64 simulator doesn't need any changes for this renumbering,
while gdb would need some decoupling from the simulator's register numbers.
Should we create a header file that describes the register numbers when
talking to hardware, and make gdb use that for its internal numbers?
Or should it define the numbers inside sh-tdep.c ?
See the directory gdb/regformats/ and (more importantly) the mail
archives for information on the changes that are being made to GDB so
that it will eventually be able to handle remote register numbers.! /* SHmedia */
! SIM_SH64_R0_REGNUM = 128,
! SIM_SH64_SP_REGNUM = SIM_SH64_R0_REGNUM+15,
! SIM_SH64_PC_REGNUM = SIM_SH64_R0_REGNUM+64,
! /* 64 64-bit control registers */
! SIM_SH64_CR0_REGNUM = SIM_SH64_R0_REGNUM+65,
! /* Some of these have specific names. */
! SIM_SH64_SR_REGNUM = SIM_SH64_CR0_REGNUM, /* Status reg */
! SIM_SH64_SSR_REGNUM = SIM_SH64_CR0_REGNUM+1, /* Saved status reg */
! SIM_SH64_PSSR_REGNUM = SIM_SH64_CR0_REGNUM+2, /* Panic-saved status reg*/
! SIM_SH64_INTEVT_REGNUM=SIM_SH64_CR0_REGNUM+4, /* Interrupt event reg */
! SIM_SH64_EXPEVT_REGNUM=SIM_SH64_CR0_REGNUM+5, /* Exception event reg */
! SIM_SH64_PEXPEVT_REGNUM= SIM_SH64_CR0_REGNUM+6,/* Panic-saved Exception
! event reg */
! SIM_SH64_TRA_REGNUM = SIM_SH64_CR0_REGNUM+7, /* TRAP exception reg */
! SIM_SH64_SPC_REGNUM = SIM_SH64_CR0_REGNUM+8, /* Saved program counter */
! SIM_SH64_PSPC_REGNUM = SIM_SH64_CR0_REGNUM+9, /* Panic-saved program
! counter */
! SIM_SH64_RESVEC_REGNUM=SIM_SH64_CR0_REGNUM+10, /* Reset vector */
! SIM_SH64_VBR_REGNUM = SIM_SH64_CR0_REGNUM+11, /* Vector base register */
! SIM_SH64_TEA_REGNUM = SIM_SH64_CR0_REGNUM+13, /* Faulting effective
! address register */
! SIM_SH64_DCR_REGNUM = SIM_SH64_CR0_REGNUM+16, /* Debug control reg */
! SIM_SH64_KCR0_REGNUM = SIM_SH64_CR0_REGNUM+17, /* Kernel register 0 */
! SIM_SH64_KCR1_REGNUM = SIM_SH64_CR0_REGNUM+18, /* Kernel register 1 */
! SIM_SH64_CTC_REGNUM = SIM_SH64_CR0_REGNUM+62, /* Clock tick counter */
! SIM_SH64_USR_REGNUM = SIM_SH64_CR0_REGNUM+63, /* User-accessible
! status register */
! SIM_SH64_CR63_REGNUM = SIM_SH64_R0_REGNUM+128,
! SIM_SH64_TR0_REGNUM = SIM_SH64_R0_REGNUM+129,
! SIM_SH64_FPSCR_REGNUM= SIM_SH64_R0_REGNUM+137,
! SIM_SH64_FR0_REGNUM = SIM_SH64_R0_REGNUM+138