Changeset 49441 in vbox
- Timestamp:
- Nov 11, 2013 9:24:07 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmdev.h
r49438 r49441 1313 1313 1314 1314 /** 1315 * Modifies APIC-related bits in the CPUID feature mask.1316 *1317 * @param pDevIns Device instance of the APIC.1318 * @param enmVersion Supported APIC version.1319 * @todo We don't need this in RC and R0 context, remove.1320 */1321 DECLRCCALLBACKMEMBER(void, pfnChangeFeature,(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion));1322 1323 /**1324 1315 * Acquires the PDM lock. 1325 1316 * … … 1354 1345 1355 1346 /** Current PDMAPICHLPRC version number. */ 1356 #define PDM_APICHLPRC_VERSION PDM_VERSION_MAKE(0xfff5, 2, 0)1347 #define PDM_APICHLPRC_VERSION PDM_VERSION_MAKE(0xfff5, 3, 0) 1357 1348 1358 1349 … … 1391 1382 */ 1392 1383 DECLR0CALLBACKMEMBER(uint32_t, pfnCalcIrqTag,(PPDMDEVINS pDevIns, uint8_t u8Level)); 1393 1394 /**1395 * Modifies APIC-related bits in the CPUID feature mask.1396 *1397 * @param pDevIns Device instance of the APIC.1398 * @param enmVersion Supported APIC version.1399 * @todo We don't need this in RC and R0 context, remove.1400 */1401 DECLR0CALLBACKMEMBER(void, pfnChangeFeature,(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion));1402 1384 1403 1385 /** … … 1434 1416 1435 1417 /** Current PDMAPICHLPR0 version number. */ 1436 #define PDM_APICHLPR0_VERSION PDM_VERSION_MAKE(0xfff4, 2, 0)1418 #define PDM_APICHLPR0_VERSION PDM_VERSION_MAKE(0xfff4, 3, 0) 1437 1419 1438 1420 /** -
trunk/src/VBox/VMM/VMMR0/PDMR0Device.cpp
r48442 r49441 599 599 600 600 601 /** @interface_method_impl{PDMAPICHLPR0,pfnChangeFeature} */602 static DECLCALLBACK(void) pdmR0ApicHlp_ChangeFeature(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion)603 {604 PDMDEV_ASSERT_DEVINS(pDevIns);605 LogFlow(("pdmR0ApicHlp_ChangeFeature: caller=%p/%d: version=%d\n", pDevIns, pDevIns->iInstance, (int)enmVersion));606 switch (enmVersion)607 {608 case PDMAPICVERSION_NONE:609 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_APIC);610 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_X2APIC);611 break;612 case PDMAPICVERSION_APIC:613 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_APIC);614 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_X2APIC);615 break;616 case PDMAPICVERSION_X2APIC:617 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_X2APIC);618 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMR0, CPUMCPUIDFEATURE_APIC);619 break;620 default:621 AssertMsgFailed(("Unknown APIC version: %d\n", (int)enmVersion));622 }623 }624 625 626 601 /** @interface_method_impl{PDMAPICHLPR0,pfnLock} */ 627 602 static DECLCALLBACK(int) pdmR0ApicHlp_Lock(PPDMDEVINS pDevIns, int rc) … … 657 632 pdmR0ApicHlp_ClearInterruptFF, 658 633 pdmR0ApicHlp_CalcIrqTag, 659 pdmR0ApicHlp_ChangeFeature,660 634 pdmR0ApicHlp_Lock, 661 635 pdmR0ApicHlp_Unlock, -
trunk/src/VBox/VMM/VMMRC/PDMRCDevice.cpp
r46420 r49441 562 562 563 563 564 /** @interface_method_impl{PDMAPICHLPRC,pfnChangeFeature} */565 static DECLCALLBACK(void) pdmRCApicHlp_ChangeFeature(PPDMDEVINS pDevIns, PDMAPICVERSION enmVersion)566 {567 PDMDEV_ASSERT_DEVINS(pDevIns);568 LogFlow(("pdmRCApicHlp_ChangeFeature: caller=%p/%d: version=%d\n", pDevIns, pDevIns->iInstance, (int)enmVersion));569 switch (enmVersion)570 {571 case PDMAPICVERSION_NONE:572 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_APIC);573 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_X2APIC);574 break;575 case PDMAPICVERSION_APIC:576 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_APIC);577 CPUMClearGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_X2APIC);578 break;579 case PDMAPICVERSION_X2APIC:580 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_X2APIC);581 CPUMSetGuestCpuIdFeature(pDevIns->Internal.s.pVMRC, CPUMCPUIDFEATURE_APIC);582 break;583 default:584 AssertMsgFailed(("Unknown APIC version: %d\n", (int)enmVersion));585 }586 }587 588 589 564 /** @interface_method_impl{PDMAPICHLPRC,pfnLock} */ 590 565 static DECLCALLBACK(int) pdmRCApicHlp_Lock(PPDMDEVINS pDevIns, int rc) … … 620 595 pdmRCApicHlp_ClearInterruptFF, 621 596 pdmRCApicHlp_CalcIrqTag, 622 pdmRCApicHlp_ChangeFeature,623 597 pdmRCApicHlp_Lock, 624 598 pdmRCApicHlp_Unlock,
Note:
See TracChangeset
for help on using the changeset viewer.