`define CRMD_ADDR 14'h0 `define PRMD_ADDR 14'h1 `define EUEN_ADDR 14'h2 `define ECFG_ADDR 14'h4 `define ESTAT_ADDR 14'h5 `define ERA_ADDR 14'h6 `define BADV_ADDR 14'h7 `define EENTRY_ADDR 14'hc `define TLBIDX_ADDR 14'h10 `define TLBEHI_ADDR 14'h11 `define TLBELO0_ADDR 14'h12 `define TLBELO1_ADDR 14'h13 `define ASID_ADDR 14'h18 `define PGDL_ADDR 14'h19 `define PGDH_ADDR 14'h1a `define PGD_ADDR 14'h1b `define CPUID_ADDR 14'h20 `define SAVE0_ADDR 14'h30 `define SAVE1_ADDR 14'h31 `define SAVE2_ADDR 14'h32 `define SAVE3_ADDR 14'h33 `define TID_ADDR 14'h40 `define TCFG_ADDR 14'h41 `define TVAL_ADDR 14'h42 `define TICLR_ADDR 14'h44 `define LLBCTL_ADDR 14'h60 `define TLBRENTRY_ADDR 14'h88 `define CTAG_ADDR 14'h98 `define DMW0_ADDR 14'h180 `define DMW1_ADDR 14'h181 //CRMD `define PLV 1:0 `define IE 2 `define DA 3 `define PG 4 `define DATF 6:5 `define DATM 8:7 //PRMD `define PPLV 1:0 `define PIE 2 //ECTL `define LIE 12:0 `define LIE_1 9:0 `define LIE_2 12:11 //ESTAT `define IS 12:0 `define ECODE 21:16 `define ESUBCODE 30:22 //TLBIDX `define INDEX 4:0 `define PS 29:24 `define NE 31 //TLBEHI `define VPPN 31:13 //TLBELO `define TLB_V 0 `define TLB_D 1 `define TLB_PLV 3:2 `define TLB_MAT 5:4 `define TLB_G 6 `define TLB_PPN 31:8 `define TLB_PPN_EN 27:8 //todo //ASID `define TLB_ASID 9:0 //CPUID `define COREID 8:0 //LLBCTL `define ROLLB 0 `define WCLLB 1 `define KLO 2 //TCFG `define EN 0 `define PERIODIC 1 `define INITVAL 31:2 //TICLR `define CLR 0 //TLBRENTRY `define TLBRENTRY_PA 31:6 //DMW `define PLV0 0 `define PLV3 3 `define DMW_MAT 5:4 `define PSEG 27:25 `define VSEG 31:29 //PGDL PGDH PGD `define BASE 31:12 `define ECODE_INT 6'h0 `define ECODE_PIL 6'h1 `define ECODE_PIS 6'h2 `define ECODE_PIF 6'h3 `define ECODE_PME 6'h4 `define ECODE_PPI 6'h7 `define ECODE_ADEF 6'h8 `define ECODE_ALE 6'h9 `define ECODE_SYS 6'hb `define ECODE_BRK 6'hc `define ECODE_INE 6'hd `define ECODE_IPE 6'he `define ECODE_FPD 6'hf `define ECODE_TLBR 6'h3f `define ESUBCODE_ADEF 9'h0