Changeset 88203 in vbox
- Timestamp:
- Mar 19, 2021 10:33:06 AM (4 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/iommu-intel.h
r88202 r88203 1133 1133 | VTD_BF_FSTS_REG_APF_MASK | VTD_BF_FSTS_REG_IQE_MASK \ 1134 1134 | VTD_BF_FSTS_REG_ICE_MASK | VTD_BF_FSTS_REG_ITE_MASK) 1135 /** RW1C: Read-only-status, Write-1-to-clear status mask. */ 1136 #define VTD_FSTS_REG_RW1C_MASK ( VTD_BF_FSTS_REG_PFO_MASK | VTD_BF_FSTS_REG_AFO_MASK \ 1137 | VTD_BF_FSTS_REG_APF_MASK | VTD_BF_FSTS_REG_IQE_MASK \ 1138 | VTD_BF_FSTS_REG_ICE_MASK | VTD_BF_FSTS_REG_ITE_MASK) 1135 1139 /** @} */ 1136 1140 … … 1359 1363 /** RW: Read/write mask. */ 1360 1364 #define VTD_ICS_REG_RW_MASK VTD_BF_ICS_REG_IWC_MASK 1365 /** RW1C: Read-only-status, Write-1-to-clear status mask. */ 1366 #define VTD_ICS_REG_RW1C_MASK VTD_BF_ICS_REG_IWC_MASK 1361 1367 /** @} */ 1362 1368 … … 1542 1548 /** RW: Read/write mask. */ 1543 1549 #define VTD_PRS_REG_RW_MASK (VTD_BF_PRS_REG_PPR_MASK | VTD_BF_PRS_REG_PRO_MASK) 1550 /** RW1C: Read-only-status, Write-1-to-clear status mask. */ 1551 #define VTD_PRS_REG_RW1C_MASK (VTD_BF_PRS_REG_PPR_MASK | VTD_BF_PRS_REG_PRO_MASK) 1544 1552 /** @} */ 1545 1553 -
trunk/src/VBox/Devices/Bus/DevIommuIntel.cpp
r88202 r88203 224 224 225 225 /** 226 * Read-only Status, Write-1-to-clear masks for IOMMU registers (group 0). 227 */ 228 static const uint32_t g_aRw1cMasks0[] = 229 { 230 /* Offset Register Low High */ 231 /* 0x000 VER_REG */ 0, 232 /* 0x004 Reserved */ 0, 233 /* 0x008 CAP_REG */ 0, 0, 234 /* 0x010 ECAP_REG */ 0, 0, 235 /* 0x018 GCMD_REG */ 0, 236 /* 0x01c GSTS_REG */ 0, 237 /* 0x020 RTADDR_REG */ 0, 0, 238 /* 0x028 CCMD_REG */ 0, 0, 239 /* 0x030 Reserved */ 0, 240 /* 0x034 FSTS_REG */ VTD_FSTS_REG_RW1C_MASK, 241 /* 0x038 FECTL_REG */ 0, 242 /* 0x03c FEDATA_REG */ 0, 243 /* 0x040 FEADDR_REG */ 0, 244 /* 0x044 FEUADDR_REG */ 0, 245 /* 0x048 Reserved */ 0, 0, 246 /* 0x050 Reserved */ 0, 0, 247 /* 0x058 AFLOG_REG */ 0, 0, 248 /* 0x060 Reserved */ 0, 249 /* 0x064 PMEN_REG */ 0, 250 /* 0x068 PLMBASE_REG */ 0, 251 /* 0x06c PLMLIMIT_REG */ 0, 252 /* 0x070 PHMBASE_REG */ 0, 0, 253 /* 0x078 PHMLIMIT_REG */ 0, 0, 254 /* 0x080 IQH_REG */ 0, 0, 255 /* 0x088 IQT_REG */ 0, 0, 256 /* 0x090 IQA_REG */ 0, 0, 257 /* 0x098 Reserved */ 0, 258 /* 0x09c ICS_REG */ VTD_ICS_REG_RW1C_MASK, 259 /* 0x0a0 IECTL_REG */ 0, 260 /* 0x0a4 IEDATA_REG */ 0, 261 /* 0x0a8 IEADDR_REG */ 0, 262 /* 0x0ac IEUADDR_REG */ 0, 263 /* 0x0b0 IQERCD_REG */ 0, 0, 264 /* 0x0b8 IRTA_REG */ 0, 0, 265 /* 0x0c0 PQH_REG */ 0, 0, 266 /* 0x0c8 PQT_REG */ 0, 0, 267 /* 0x0d0 PQA_REG */ 0, 0, 268 /* 0x0d8 Reserved */ 0, 269 /* 0x0dc PRS_REG */ 0, 270 /* 0x0e0 PECTL_REG */ 0, 271 /* 0x0e4 PEDATA_REG */ 0, 272 /* 0x0e8 PEADDR_REG */ 0, 273 /* 0x0ec PEUADDR_REG */ 0, 274 /* 0x0f0 Reserved */ 0, 0, 275 /* 0x0f8 Reserved */ 0, 0, 276 /* 0x100 MTRRCAP_REG */ 0, 0, 277 /* 0x108 MTRRDEF_REG */ 0, 0, 278 /* 0x110 Reserved */ 0, 0, 279 /* 0x118 Reserved */ 0, 0, 280 /* 0x120 MTRR_FIX64_00000_REG */ 0, 0, 281 /* 0x128 MTRR_FIX16K_80000_REG */ 0, 0, 282 /* 0x130 MTRR_FIX16K_A0000_REG */ 0, 0, 283 /* 0x138 MTRR_FIX4K_C0000_REG */ 0, 0, 284 /* 0x140 MTRR_FIX4K_C8000_REG */ 0, 0, 285 /* 0x148 MTRR_FIX4K_D0000_REG */ 0, 0, 286 /* 0x150 MTRR_FIX4K_D8000_REG */ 0, 0, 287 /* 0x158 MTRR_FIX4K_E0000_REG */ 0, 0, 288 /* 0x160 MTRR_FIX4K_E8000_REG */ 0, 0, 289 /* 0x168 MTRR_FIX4K_F0000_REG */ 0, 0, 290 /* 0x170 MTRR_FIX4K_F8000_REG */ 0, 0, 291 /* 0x178 Reserved */ 0, 0, 292 /* 0x180 MTRR_PHYSBASE0_REG */ 0, 0, 293 /* 0x188 MTRR_PHYSMASK0_REG */ 0, 0, 294 /* 0x190 MTRR_PHYSBASE1_REG */ 0, 0, 295 /* 0x198 MTRR_PHYSMASK1_REG */ 0, 0, 296 /* 0x1a0 MTRR_PHYSBASE2_REG */ 0, 0, 297 /* 0x1a8 MTRR_PHYSMASK2_REG */ 0, 0, 298 /* 0x1b0 MTRR_PHYSBASE3_REG */ 0, 0, 299 /* 0x1b8 MTRR_PHYSMASK3_REG */ 0, 0, 300 /* 0x1c0 MTRR_PHYSBASE4_REG */ 0, 0, 301 /* 0x1c8 MTRR_PHYSMASK4_REG */ 0, 0, 302 /* 0x1d0 MTRR_PHYSBASE5_REG */ 0, 0, 303 /* 0x1d8 MTRR_PHYSMASK5_REG */ 0, 0, 304 /* 0x1e0 MTRR_PHYSBASE6_REG */ 0, 0, 305 /* 0x1e8 MTRR_PHYSMASK6_REG */ 0, 0, 306 /* 0x1f0 MTRR_PHYSBASE7_REG */ 0, 0, 307 /* 0x1f8 MTRR_PHYSMASK7_REG */ 0, 0, 308 /* 0x200 MTRR_PHYSBASE8_REG */ 0, 0, 309 /* 0x208 MTRR_PHYSMASK8_REG */ 0, 0, 310 /* 0x210 MTRR_PHYSBASE9_REG */ 0, 0, 311 /* 0x218 MTRR_PHYSMASK9_REG */ 0, 0, 312 }; 313 AssertCompile(sizeof(g_aRw1cMasks0) == VTD_MMIO_GROUP_0_SIZE); 314 315 /** 226 316 * Read-write masks for IOMMU registers (group 1). 227 317 */ 228 318 static const uint32_t g_aRwMasks1[] = 229 319 { 230 /* Offset Register Low 231 /* 0xe00 VCCAP_REG */ VTD_LO_U32(VTD_VCCAP_REG_RW_MASK), 232 /* 0xe08 Reserved */ 0, 233 /* 0xe10 VCMD_REG */ 0, 234 /* 0xe18 Reserved */ 0, 235 /* 0xe20 VCRSP_REG */ 0, 320 /* Offset Register Low High */ 321 /* 0xe00 VCCAP_REG */ VTD_LO_U32(VTD_VCCAP_REG_RW_MASK), VTD_HI_U32(VTD_VCCAP_REG_RW_MASK), 322 /* 0xe08 Reserved */ 0, 0, 323 /* 0xe10 VCMD_REG */ 0, 0, /* RO as we don't support VCS. */ 324 /* 0xe18 Reserved */ 0, 0, 325 /* 0xe20 VCRSP_REG */ 0, 0, /* RO as we don't support VCS. */ 236 326 }; 237 327 AssertCompile(sizeof(g_aRwMasks1) == VTD_MMIO_GROUP_1_SIZE); 328 329 /** 330 * Read-only Status, Write-1-to-clear masks for IOMMU registers (group 1). 331 */ 332 static const uint32_t g_aRw1cMasks1[] = 333 { 334 /* Offset Register Low High */ 335 /* 0xe00 VCCAP_REG */ 0, 0, 336 /* 0xe08 Reserved */ 0, 0, 337 /* 0xe10 VCMD_REG */ 0, 0, 338 /* 0xe18 Reserved */ 0, 0, 339 /* 0xe20 VCRSP_REG */ 0, 0, 340 }; 341 AssertCompile(sizeof(g_aRw1cMasks1) == VTD_MMIO_GROUP_1_SIZE); 238 342 239 343
Note:
See TracChangeset
for help on using the changeset viewer.