Changeset 19007 in vbox for trunk/src/VBox
- Timestamp:
- Apr 18, 2009 8:07:59 AM (16 years ago)
- Location:
- trunk/src/VBox
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/PC/DevACPI.cpp
r18996 r19007 141 141 SYSTEM_INFO_INDEX_CPU3_STATUS = 8, 142 142 SYSTEM_INFO_INDEX_HIGH_MEMORY_LENGTH= 9, 143 SYSTEM_INFO_INDEX_END = 10, 143 SYSTEM_INFO_INDEX_RTC_STATUS = 10, 144 SYSTEM_INFO_INDEX_END = 11, 144 145 SYSTEM_INFO_INDEX_INVALID = 0x80, 145 146 SYSTEM_INFO_INDEX_VALID = 0x200 … … 214 215 /** If ACPI CPU device should be shown */ 215 216 bool fShowCpu; 217 /** If Real Time Clock ACPI object to be shown */ 218 bool fShowRtc; 216 219 /** Aligning IBase. */ 217 bool afAlignment[ 6];220 bool afAlignment[5]; 218 221 219 222 /** ACPI port base interface. */ … … 1317 1320 : 0; 1318 1321 break; 1322 1319 1323 case SYSTEM_INFO_INDEX_CPU0_STATUS: 1320 *pu32 = s->fShowCpu ? ( STA_DEVICE_PRESENT_MASK1321 | STA_DEVICE_ENABLED_MASK1322 | STA_DEVICE_SHOW_IN_UI_MASK1323 | STA_DEVICE_FUNCTIONING_PROPERLY_MASK)1324 : 0;1325 break;1326 1327 1324 case SYSTEM_INFO_INDEX_CPU1_STATUS: 1328 1325 case SYSTEM_INFO_INDEX_CPU2_STATUS: … … 1335 1332 | STA_DEVICE_FUNCTIONING_PROPERLY_MASK 1336 1333 : 0; 1334 break; 1335 1336 case SYSTEM_INFO_INDEX_RTC_STATUS: 1337 *pu32 = s->fShowRtc ? ( STA_DEVICE_PRESENT_MASK 1338 | STA_DEVICE_ENABLED_MASK 1339 | STA_DEVICE_SHOW_IN_UI_MASK 1340 | STA_DEVICE_FUNCTIONING_PROPERLY_MASK) 1341 : 0; 1337 1342 break; 1338 1343 … … 1803 1808 "SmcEnabled\0" 1804 1809 "FdcEnabled\0" 1810 "ShowRtc\0" 1811 "ShowCpu\0" 1805 1812 )) 1806 1813 return PDMDEV_SET_ERROR(pDevIns, VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES, … … 1836 1843 return PDMDEV_SET_ERROR(pDevIns, rc, 1837 1844 N_("Configuration error: Failed to read \"SmcEnabled\"")); 1838 /** @todo: a bit of hack: if we have SMC, also show CPU object in ACPI tables */ 1839 s->fShowCpu = s->fUseSmc; 1845 1846 /* query whether we are supposed to present RTC object */ 1847 rc = CFGMR3QueryBoolDef(pCfgHandle, "ShowRtc", &s->fShowRtc, false); 1848 if (RT_FAILURE(rc)) 1849 return PDMDEV_SET_ERROR(pDevIns, rc, 1850 N_("Configuration error: Failed to read \"ShowRtc\"")); 1851 1852 /* query whether we are supposed to present CPU objects */ 1853 rc = CFGMR3QueryBoolDef(pCfgHandle, "ShowCpu", &s->fShowCpu, false); 1854 if (RT_FAILURE(rc)) 1855 return PDMDEV_SET_ERROR(pDevIns, rc, 1856 N_("Configuration error: Failed to read \"ShowCpu\"")); 1840 1857 1841 1858 rc = CFGMR3QueryBool(pCfgHandle, "GCEnabled", &fGCEnabled); -
trunk/src/VBox/Devices/PC/vbox.dsl
r18228 r19007 184 184 UCP3, 32, 185 185 MEMH, 32, 186 URTC, 32, 186 187 Offset (0x80), 187 188 ININ, 32, … … 951 952 Device(HPET) { 952 953 Name(_HID, EISAID("PNP0103")) 953 // bird: Perhaps this is the cause for the RTC bitching below, but I've no patience to fine out. 954 // Name (_CID, 0x010CD041) 954 Name (_CID, 0x010CD041) 955 955 Name(_UID, 0) 956 956 Method (_STA, 0, NotSerialized) { … … 970 970 } 971 971 972 // bird: Doesn't work, breaks Vista and W7. Why is the length 8 and not 2? The examples 973 // I've got here uses 2 and also includes IRQNoFlags () {8} 974 // Note: Do NOT even thing about re-enabling this without testing ALL windows versions. 975 // 976 // Device (RTC) { 977 // Name (_HID, EisaId ("PNP0B00")) 978 // Name (_CRS, ResourceTemplate () 979 // { 980 // IO (Decode16, 981 // 0x0070, // Range Minimum 982 // 0x0070, // Range Maximum 983 // 0x01, // Alignment 984 // 0x08, // Length 985 // ) 986 // }) 987 // } 972 // Conditionally enabled, as lead to hang of Windows 7 and Vista guests 973 Device (RTC) { 974 Name (_HID, EisaId ("PNP0B00")) 975 Name (_CRS, ResourceTemplate () 976 { 977 IO (Decode16, 978 0x0070, // Range Minimum 979 0x0070, // Range Maximum 980 0x01, // Alignment 981 0x08, // Length 982 ) 983 }) 984 Method (_STA, 0, NotSerialized) 985 { 986 Return (URTC) 987 } 988 } 988 989 989 990 // System Management Controller -
trunk/src/VBox/Main/ConsoleImpl2.cpp
r19002 r19007 480 480 rc = CFGMR3InsertInteger(pInst, "PCIBusNo", 1);/* ->pcibridge[0] */ RC_CHECK(); 481 481 #endif 482 483 484 Bstr tmpStr; 485 rc = pMachine->GetExtraData(Bstr("VBoxInternal/Devices/SupportExtHwProfile"), tmpStr.asOutParam()); 486 487 BOOL fExtProfile; 488 489 if (SUCCEEDED(rc)) 490 fExtProfile = (tmpStr == Bstr("on")); 491 else 492 fExtProfile = false; 482 493 483 494 /* … … 485 496 */ 486 497 BOOL fHpetEnabled; 487 /** @todo: implement appropriate getter */488 498 #ifdef VBOX_WITH_HPET 489 fHpetEnabled = true;499 fHpetEnabled = fExtProfile; 490 500 #else 491 501 fHpetEnabled = false; … … 503 513 */ 504 514 BOOL fSmcEnabled; 505 /** @todo: implement appropriate getter */506 515 #ifdef VBOX_WITH_SMC 507 fSmcEnabled = true;516 fSmcEnabled = fExtProfile; 508 517 #else 509 518 fSmcEnabled = false; … … 522 531 /** @todo: implement appropriate getter */ 523 532 #ifdef VBOX_WITH_LPC 524 fLpcEnabled = true;533 fLpcEnabled = fExtProfile; 525 534 #else 526 535 fLpcEnabled = false; … … 658 667 rc = CFGMR3InsertInteger(pCfg, "SmcEnabled", fSmcEnabled); RC_CHECK(); 659 668 #endif 669 rc = CFGMR3InsertInteger(pCfg, "ShowRtc", fExtProfile); RC_CHECK(); 670 rc = CFGMR3InsertInteger(pCfg, "ShowCpu", fExtProfile); RC_CHECK(); 660 671 rc = CFGMR3InsertInteger(pInst, "PCIDeviceNo", 7); RC_CHECK(); 661 672 Assert(!afPciDeviceNo[7]);
Note:
See TracChangeset
for help on using the changeset viewer.