19d4c9946SPeter Maydell #include "qemu/osdep.h" 20d09e41aSPaolo Bonzini #include "hw/sh4/sh.h" 347b43a1fSPaolo Bonzini #include "sh7750_regs.h" 447b43a1fSPaolo Bonzini #include "sh7750_regnames.h" 527c7ca7eSbellard 627c7ca7eSbellard #define REGNAME(r) {r, #r}, 727c7ca7eSbellard 827c7ca7eSbellard typedef struct { 927c7ca7eSbellard uint32_t regaddr; 1027c7ca7eSbellard const char *regname; 11c227f099SAnthony Liguori } regname_t; 1227c7ca7eSbellard 13c227f099SAnthony Liguori static regname_t regnames[] = { 1427c7ca7eSbellard REGNAME(SH7750_PTEH_A7) 1527c7ca7eSbellard REGNAME(SH7750_PTEL_A7) 1627c7ca7eSbellard REGNAME(SH7750_PTEA_A7) 1727c7ca7eSbellard REGNAME(SH7750_TTB_A7) 1827c7ca7eSbellard REGNAME(SH7750_TEA_A7) 1927c7ca7eSbellard REGNAME(SH7750_MMUCR_A7) 2027c7ca7eSbellard REGNAME(SH7750_CCR_A7) 2127c7ca7eSbellard REGNAME(SH7750_QACR0_A7) 2227c7ca7eSbellard REGNAME(SH7750_QACR1_A7) 2327c7ca7eSbellard REGNAME(SH7750_TRA_A7) 2427c7ca7eSbellard REGNAME(SH7750_EXPEVT_A7) 2527c7ca7eSbellard REGNAME(SH7750_INTEVT_A7) 2627c7ca7eSbellard REGNAME(SH7750_STBCR_A7) 2727c7ca7eSbellard REGNAME(SH7750_STBCR2_A7) 2827c7ca7eSbellard REGNAME(SH7750_FRQCR_A7) 2927c7ca7eSbellard REGNAME(SH7750_WTCNT_A7) 3027c7ca7eSbellard REGNAME(SH7750_WTCSR_A7) 3127c7ca7eSbellard REGNAME(SH7750_R64CNT_A7) 3227c7ca7eSbellard REGNAME(SH7750_RSECCNT_A7) 3327c7ca7eSbellard REGNAME(SH7750_RMINCNT_A7) 3427c7ca7eSbellard REGNAME(SH7750_RHRCNT_A7) 3527c7ca7eSbellard REGNAME(SH7750_RWKCNT_A7) 3627c7ca7eSbellard REGNAME(SH7750_RDAYCNT_A7) 3727c7ca7eSbellard REGNAME(SH7750_RMONCNT_A7) 3827c7ca7eSbellard REGNAME(SH7750_RYRCNT_A7) 3927c7ca7eSbellard REGNAME(SH7750_RSECAR_A7) 4027c7ca7eSbellard REGNAME(SH7750_RMINAR_A7) 4127c7ca7eSbellard REGNAME(SH7750_RHRAR_A7) 4227c7ca7eSbellard REGNAME(SH7750_RWKAR_A7) 4327c7ca7eSbellard REGNAME(SH7750_RDAYAR_A7) 4427c7ca7eSbellard REGNAME(SH7750_RMONAR_A7) 4527c7ca7eSbellard REGNAME(SH7750_RCR1_A7) 4627c7ca7eSbellard REGNAME(SH7750_RCR2_A7) 4727c7ca7eSbellard REGNAME(SH7750_BCR1_A7) 4827c7ca7eSbellard REGNAME(SH7750_BCR2_A7) 4927c7ca7eSbellard REGNAME(SH7750_WCR1_A7) 5027c7ca7eSbellard REGNAME(SH7750_WCR2_A7) 5127c7ca7eSbellard REGNAME(SH7750_WCR3_A7) 5227c7ca7eSbellard REGNAME(SH7750_MCR_A7) 5327c7ca7eSbellard REGNAME(SH7750_PCR_A7) 5427c7ca7eSbellard REGNAME(SH7750_RTCSR_A7) 5527c7ca7eSbellard REGNAME(SH7750_RTCNT_A7) 5627c7ca7eSbellard REGNAME(SH7750_RTCOR_A7) 5727c7ca7eSbellard REGNAME(SH7750_RFCR_A7) 5827c7ca7eSbellard REGNAME(SH7750_SAR0_A7) 5927c7ca7eSbellard REGNAME(SH7750_SAR1_A7) 6027c7ca7eSbellard REGNAME(SH7750_SAR2_A7) 6127c7ca7eSbellard REGNAME(SH7750_SAR3_A7) 6227c7ca7eSbellard REGNAME(SH7750_DAR0_A7) 6327c7ca7eSbellard REGNAME(SH7750_DAR1_A7) 6427c7ca7eSbellard REGNAME(SH7750_DAR2_A7) 6527c7ca7eSbellard REGNAME(SH7750_DAR3_A7) 6627c7ca7eSbellard REGNAME(SH7750_DMATCR0_A7) 6727c7ca7eSbellard REGNAME(SH7750_DMATCR1_A7) 6827c7ca7eSbellard REGNAME(SH7750_DMATCR2_A7) 6927c7ca7eSbellard REGNAME(SH7750_DMATCR3_A7) 7027c7ca7eSbellard REGNAME(SH7750_CHCR0_A7) 7127c7ca7eSbellard REGNAME(SH7750_CHCR1_A7) 7227c7ca7eSbellard REGNAME(SH7750_CHCR2_A7) 7327c7ca7eSbellard REGNAME(SH7750_CHCR3_A7) 7427c7ca7eSbellard REGNAME(SH7750_DMAOR_A7) 7527c7ca7eSbellard REGNAME(SH7750_PCTRA_A7) 7627c7ca7eSbellard REGNAME(SH7750_PDTRA_A7) 7727c7ca7eSbellard REGNAME(SH7750_PCTRB_A7) 7827c7ca7eSbellard REGNAME(SH7750_PDTRB_A7) 7927c7ca7eSbellard REGNAME(SH7750_GPIOIC_A7) 8027c7ca7eSbellard REGNAME(SH7750_ICR_A7) 8127c7ca7eSbellard REGNAME(SH7750_BCR3_A7) 8227c7ca7eSbellard REGNAME(SH7750_BCR4_A7) 83c2432a42Saurel32 REGNAME(SH7750_SDMR2_A7) 84f94bff13SBALATON Zoltan REGNAME(SH7750_SDMR3_A7) 85f94bff13SBALATON Zoltan { (uint32_t)-1, NULL } 8627c7ca7eSbellard }; 8727c7ca7eSbellard regname(uint32_t addr)8827c7ca7eSbellardconst char *regname(uint32_t addr) 8927c7ca7eSbellard { 9027c7ca7eSbellard unsigned int i; 9127c7ca7eSbellard 9227c7ca7eSbellard for (i = 0; regnames[i].regaddr != (uint32_t)-1; i++) { 93*ac3c9e74SBALATON Zoltan if (regnames[i].regaddr == addr) { 9427c7ca7eSbellard return regnames[i].regname; 9527c7ca7eSbellard } 96*ac3c9e74SBALATON Zoltan } 9727c7ca7eSbellard 9827c7ca7eSbellard return "<unknown reg>"; 9927c7ca7eSbellard } 100