Changeset 92718 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Dec 2, 2021 9:44:14 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/APIC.cpp
r88557 r92718 1285 1285 if (pApic->pvApicPibR3) 1286 1286 { 1287 AssertLogRelReturn(pApic->pvApicPibR0 != NIL_RTR0PTR, VERR_INTERNAL_ERROR); 1288 AssertLogRelReturn(pApic->HCPhysApicPib != NIL_RTHCPHYS, VERR_INTERNAL_ERROR); 1287 bool const fDriverless = SUPR3IsDriverless(); 1288 AssertLogRelReturn(pApic->pvApicPibR0 != NIL_RTR0PTR || fDriverless, VERR_INTERNAL_ERROR); 1289 AssertLogRelReturn(pApic->HCPhysApicPib != NIL_RTHCPHYS || fDriverless, VERR_INTERNAL_ERROR); 1289 1290 1290 1291 /* Initialize the PIB. */ … … 1312 1313 if (RT_SUCCESS(rc)) 1313 1314 { 1314 AssertLogRelReturn(pApicCpu->pvApicPageR3 != NIL_RTR3PTR, VERR_INTERNAL_ERROR); 1315 AssertLogRelReturn(pApicCpu->HCPhysApicPage != NIL_RTHCPHYS, VERR_INTERNAL_ERROR); 1315 AssertLogRelReturn(pApicCpu->pvApicPageR3 != NIL_RTR3PTR || fDriverless, VERR_INTERNAL_ERROR); 1316 1316 pApicCpu->HCPhysApicPage = SupApicPage.Phys; 1317 AssertLogRelReturn(pApicCpu->HCPhysApicPage != NIL_RTHCPHYS || fDriverless, VERR_INTERNAL_ERROR); 1317 1318 1318 1319 /* Associate the per-VCPU PIB pointers to the per-VM PIB mapping. */ 1319 1320 uint32_t const offApicPib = idCpu * sizeof(APICPIB); 1320 pApicCpu->pvApicPibR0 = (RTR0PTR)((RTR0UINTPTR)pApic->pvApicPibR0 + offApicPib);1321 pApicCpu->pvApicPibR0 = !fDriverless ? (RTR0PTR)((RTR0UINTPTR)pApic->pvApicPibR0 + offApicPib) : NIL_RTR0PTR; 1321 1322 pApicCpu->pvApicPibR3 = (RTR3PTR)((RTR3UINTPTR)pApic->pvApicPibR3 + offApicPib); 1322 1323 … … 1327 1328 #ifdef DEBUG_ramshankar 1328 1329 Assert(pApicCpu->pvApicPibR3 != NIL_RTR3PTR); 1329 Assert(pApicCpu->pvApicPibR0 != NIL_RTR0PTR );1330 Assert(pApicCpu->pvApicPibR0 != NIL_RTR0PTR || fDriverless); 1330 1331 Assert(pApicCpu->pvApicPageR3 != NIL_RTR3PTR); 1331 1332 #endif … … 1341 1342 #ifdef DEBUG_ramshankar 1342 1343 Assert(pApic->pvApicPibR3 != NIL_RTR3PTR); 1343 Assert(pApic->pvApicPibR0 != NIL_RTR0PTR );1344 Assert(pApic->pvApicPibR0 != NIL_RTR0PTR || fDriverless); 1344 1345 #endif 1345 1346 return VINF_SUCCESS;
Note:
See TracChangeset
for help on using the changeset viewer.