Changeset 2636 in vbox for trunk/src/VBox/Devices
- Timestamp:
- May 14, 2007 7:13:31 PM (18 years ago)
- svn:sync-xref-src-repo-rev:
- 21161
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevAPIC.cpp
r2538 r2636 1612 1612 int rc; 1613 1613 int i; 1614 bool fIOAPIC; 1614 1615 bool fGCEnabled; 1615 1616 bool fR0Enabled; … … 1619 1620 * Validate configuration. 1620 1621 */ 1621 if (!CFGMR3AreValuesValid(pCfgHandle, " GCEnabled\0R0Enabled"))1622 if (!CFGMR3AreValuesValid(pCfgHandle, "0IOAPIC\0GCEnabled\0R0Enabled\0")) 1622 1623 return VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES; 1624 1625 rc = CFGMR3QueryBool (pCfgHandle, "IOAPIC", &fIOAPIC); 1626 if (rc == VERR_CFGM_VALUE_NOT_FOUND) 1627 fIOAPIC = true; 1628 else if (VBOX_FAILURE (rc)) 1629 return PDMDEV_SET_ERROR(pDevIns, rc, 1630 N_("Configuration error: Failed to read \"IOAPIC\".")); 1623 1631 1624 1632 rc = CFGMR3QueryBool(pCfgHandle, "GCEnabled", &fGCEnabled); … … 1701 1709 * The the CPUID feature bit. 1702 1710 */ 1703 pData->pApicHlpR3->pfnChangeFeature(pDevIns, true); 1711 uint32_t u32Eax, u32Ebx, u32Ecx, u32Edx; 1712 PDMDevHlpQueryCPUId(pDevIns, 0, &u32Eax, &u32Ebx, &u32Ecx, &u32Edx); 1713 if (u32Eax >= 1) 1714 { 1715 if ( fIOAPIC /* If IOAPIC is enabled, enable Local APIC in any case */ 1716 || u32Ebx == 0x756e6547 && u32Ecx == 0x6c65746e && u32Edx == 0x49656e69 /* GenuineIntel */ 1717 || u32Ebx == 0x68747541 && u32Ecx == 0x69746e65 && u32Edx == 0x444d4163 /* AuthenticAMD */) 1718 pData->pApicHlpR3->pfnChangeFeature(pDevIns, true); 1719 } 1704 1720 1705 1721 /* … … 1938 1954 * Validate and read the configuration. 1939 1955 */ 1940 if (!CFGMR3AreValuesValid(pCfgHandle, "GCEnabled\0R0Enabled "))1956 if (!CFGMR3AreValuesValid(pCfgHandle, "GCEnabled\0R0Enabled\0")) 1941 1957 return VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES; 1942 1958
Note:
See TracChangeset
for help on using the changeset viewer.