@samitouri / QOSamiQemu / commits / d46a98747e

target/hexagon: Define register fields for system regs

Define the register fields for ssr, schedcfg, stid, bestwait, ccr, modectl, imask, ipendad. Define the fields for TLB entries. Reviewed-by: Taylor Simpson <ltaylorsimpson@gmail.com> Signed-off-by: Brian Cain <brian.cain@oss.qualcomm.com>

Brian Cain committed Jun 22, 2026 at 15:28 UTC d46a98747e352aac53a5c99c093c5a388a037a4a
1 file changed +96
target/hexagon/reg_fields_def.h.inc
+96
@@ -39,3 +39,99 @@ DEF_REG_FIELD(USR_FPDBZE, 26, 1)
39 DEF_REG_FIELD(USR_FPOVFE, 27, 1)
40 DEF_REG_FIELD(USR_FPUNFE, 28, 1)
41 DEF_REG_FIELD(USR_FPINPE, 29, 1)
42 +
43 +DEF_REG_FIELD(IPENDAD_IAD, 16, 16)
44 +DEF_REG_FIELD(IPENDAD_IPEND, 0, 16)
45 +
46 +DEF_REG_FIELD(SCHEDCFG_EN, 8, 1)
47 +DEF_REG_FIELD(SCHEDCFG_INTNO, 0, 4)
48 +DEF_REG_FIELD(BESTWAIT_PRIO, 0, 9)
49 +
50 +
51 +/* PTE (aka TLB entry) fields */
52 +DEF_REG_FIELD(PTE_PPD, 0, 24)
53 +DEF_REG_FIELD(PTE_C, 24, 4)
54 +DEF_REG_FIELD(PTE_U, 28, 1)
55 +DEF_REG_FIELD(PTE_R, 29, 1)
56 +DEF_REG_FIELD(PTE_W, 30, 1)
57 +DEF_REG_FIELD(PTE_X, 31, 1)
58 +DEF_REG_FIELD(PTE_VPN, 32, 20)
59 +DEF_REG_FIELD(PTE_ASID, 52, 7)
60 +DEF_REG_FIELD(PTE_ATR0, 59, 1)
61 +DEF_REG_FIELD(PTE_ATR1, 60, 1)
62 +DEF_REG_FIELD(PTE_PA35, 61, 1)
63 +DEF_REG_FIELD(PTE_G, 62, 1)
64 +DEF_REG_FIELD(PTE_V, 63, 1)
65 +
66 +/* SYSCFG fields */
67 +DEF_REG_FIELD(SYSCFG_MMUEN, 0, 1)
68 +DEF_REG_FIELD(SYSCFG_ICEN, 1, 1)
69 +DEF_REG_FIELD(SYSCFG_DCEN, 2, 1)
70 +DEF_REG_FIELD(SYSCFG_ISDBTRUSTED, 3, 1)
71 +DEF_REG_FIELD(SYSCFG_GIE, 4, 1)
72 +DEF_REG_FIELD(SYSCFG_ISDBREADY, 5, 1)
73 +DEF_REG_FIELD(SYSCFG_PCYCLEEN, 6, 1)
74 +DEF_REG_FIELD(SYSCFG_V2X, 7, 1)
75 +DEF_REG_FIELD(SYSCFG_IGNOREDABORT, 8, 1)
76 +DEF_REG_FIELD(SYSCFG_PM, 9, 1)
77 +DEF_REG_FIELD(SYSCFG_TLBLOCK, 11, 1)
78 +DEF_REG_FIELD(SYSCFG_K0LOCK, 12, 1)
79 +DEF_REG_FIELD(SYSCFG_BQ, 13, 1)
80 +DEF_REG_FIELD(SYSCFG_PRIO, 14, 1)
81 +DEF_REG_FIELD(SYSCFG_DMT, 15, 1)
82 +DEF_REG_FIELD(SYSCFG_L2CFG, 16, 3)
83 +DEF_REG_FIELD(SYSCFG_ITCM, 19, 1)
84 +DEF_REG_FIELD(SYSCFG_L2NWA, 21, 1)
85 +DEF_REG_FIELD(SYSCFG_L2NRA, 22, 1)
86 +DEF_REG_FIELD(SYSCFG_L2WB, 23, 1)
87 +DEF_REG_FIELD(SYSCFG_L2P, 24, 1)
88 +DEF_REG_FIELD(SYSCFG_SLVCTL0, 25, 2)
89 +DEF_REG_FIELD(SYSCFG_SLVCTL1, 27, 2)
90 +DEF_REG_FIELD(SYSCFG_L2PARTSIZE, 29, 2)
91 +DEF_REG_FIELD(SYSCFG_L2GCA, 31, 1)
92 +
93 +/* SSR fields */
94 +DEF_REG_FIELD(SSR_CAUSE, 0, 8)
95 +DEF_REG_FIELD(SSR_ASID, 8, 7)
96 +DEF_REG_FIELD(SSR_UM, 16, 1)
97 +DEF_REG_FIELD(SSR_EX, 17, 1)
98 +DEF_REG_FIELD(SSR_IE, 18, 1)
99 +DEF_REG_FIELD(SSR_GM, 19, 1)
100 +DEF_REG_FIELD(SSR_V0, 20, 1)
101 +DEF_REG_FIELD(SSR_V1, 21, 1)
102 +DEF_REG_FIELD(SSR_BVS, 22, 1)
103 +DEF_REG_FIELD(SSR_CE, 23, 1)
104 +DEF_REG_FIELD(SSR_PE, 24, 1)
105 +DEF_REG_FIELD(SSR_BP, 25, 1)
106 +DEF_REG_FIELD(SSR_XE2, 26, 1)
107 +DEF_REG_FIELD(SSR_XA, 27, 3)
108 +DEF_REG_FIELD(SSR_SS, 30, 1)
109 +DEF_REG_FIELD(SSR_XE, 31, 1)
110 +
111 +/* misc registers */
112 +DEF_REG_FIELD(IMASK_MASK, 0, 16)
113 +
114 +DEF_REG_FIELD(STID_PRIO, 16, 8)
115 +DEF_REG_FIELD(STID_STID, 0, 8)
116 +
117 +/* MODECTL fields */
118 +DEF_REG_FIELD(MODECTL_E, 0, 8)
119 +DEF_REG_FIELD(MODECTL_W, 16, 8)
120 +
121 +DEF_REG_FIELD(CCR_L1ICP, 0, 2)
122 +DEF_REG_FIELD(CCR_L1DCP, 3, 2)
123 +DEF_REG_FIELD(CCR_L2CP, 6, 2)
124 +
125 +DEF_REG_FIELD(CCR_HFI, 16, 1)
126 +DEF_REG_FIELD(CCR_HFD, 17, 1)
127 +DEF_REG_FIELD(CCR_HFIL2, 18, 1)
128 +DEF_REG_FIELD(CCR_HFDL2, 19, 1)
129 +DEF_REG_FIELD(CCR_SFD, 20, 1)
130 +
131 +DEF_REG_FIELD(CCR_GIE, 24, 1)
132 +DEF_REG_FIELD(CCR_GTE, 25, 1)
133 +DEF_REG_FIELD(CCR_GEE, 26, 1)
134 +DEF_REG_FIELD(CCR_GRE, 27, 1)
135 +DEF_REG_FIELD(CCR_VV1, 29, 1)
136 +DEF_REG_FIELD(CCR_VV2, 30, 1)
137 +DEF_REG_FIELD(CCR_VV3, 31, 1)