REG(sp, 0xf, CRX_R_REGTYPE), /* Build a user register u<N>. */ #define REG_U(N) REG(CONCAT2(u,N), 0x80 + N, CRX_U_REGTYPE) REG_U(0), REG_U(1), REG_U(2), REG_U(3), REG_U(4), REG_U(5), REG_U(6), REG_U(7), REG_U(8), REG_U(9), REG_U(10), REG_U(11), REG_U(12), REG_U(13), REG_U(14), REG_U(15), REG(ura, 0x8e, CRX_U_REGTYPE), REG(usp, 0x8f, CRX_U_REGTYPE), /* Build a configuration register. */ #define REG_CFG(NAME, N) REG(NAME, N, CRX_CFG_REGTYPE) REG_CFG(hi, 0x10), REG_CFG(lo, 0x11), REG_CFG(uhi, 0x90), REG_CFG(ulo, 0x91), REG_CFG(psr, 0x12), REG_CFG(cfg, 0x15), REG_CFG(cpcfg, 0x16), REG_CFG(ccfg, 0x1b), /* Build a mptr register. */ #define REG_MPTR(NAME, N) REG(NAME, N, CRX_MTPR_REGTYPE) REG_MPTR(intbase, 0x13), REG_MPTR(isp, 0x14), REG_MPTR(cen, 0x17),
REG(sp, 0xf, CRX_R_REGTYPE), /* Build a user register u<N>. */ #define REG_U(N) REG(CONCAT2(u,N), 0x80 + N, CRX_U_REGTYPE) REG_U(0), REG_U(1), REG_U(2), REG_U(3), REG_U(4), REG_U(5), REG_U(6), REG_U(7), REG_U(8), REG_U(9), REG_U(10), REG_U(11), REG_U(12), REG_U(13), REG_U(14), REG_U(15), REG(ura, 0x8e, CRX_U_REGTYPE), REG(usp, 0x8f, CRX_U_REGTYPE), /* Build a configuration register. */ #define REG_CFG(NAME, N) REG(NAME, N, CRX_CFG_REGTYPE) REG_CFG(hi, 0x10), REG_CFG(lo, 0x11), REG_CFG(uhi, 0x90), REG_CFG(ulo, 0x91), REG_CFG(psr, 0x12), REG_CFG(intbase, 0x13), REG_CFG(isp, 0x14), REG_CFG(cfg, 0x15), REG_CFG(cpcfg, 0x16), REG_CFG(cen, 0x17) }; const int crx_num_regs = ARRAY_SIZE (crx_regtab); const reg_entry crx_copregtab[] = {