Changeset 24706 in vbox for trunk/src/VBox/Devices/EFI
- Timestamp:
- Nov 16, 2009 5:57:20 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/DevEFI.cpp
r23400 r24706 48 48 #include "../Builtins.h" 49 49 #include "../Builtins2.h" 50 #include "../PC/DevFwCommon.h" 50 51 51 52 /* EFI includes */ … … 100 101 101 102 uint64_t cbRamHole; 103 104 /** The DMI tables. */ 105 uint8_t au8DMIPage[0x1000]; 106 107 /** I/O-APIC enabled? */ 108 uint8_t u8IOAPIC; 102 109 } DEVEFI; 103 110 typedef DEVEFI *PDEVEFI; … … 839 846 "RamSize\0" 840 847 "RamHoleSize\0" 841 "NumCPUs\0")) 848 "NumCPUs\0" 849 "UUID\0" 850 "IOAPIC\0" 851 "DmiBIOSVendor\0" 852 "DmiBIOSVersion\0" 853 "DmiBIOSReleaseDate\0" 854 "DmiBIOSReleaseMajor\0" 855 "DmiBIOSReleaseMinor\0" 856 "DmiBIOSFirmwareMajor\0" 857 "DmiBIOSFirmwareMinor\0" 858 "DmiSystemFamily\0" 859 "DmiSystemProduct\0" 860 "DmiSystemSerial\0" 861 "DmiSystemUuid\0" 862 "DmiSystemVendor\0" 863 "DmiSystemVersion\0" 864 "DmiChassisVendor\0" 865 "DmiChassisVersion\0" 866 "DmiChassisSerial\0" 867 "DmiChassisAssetTag\0" 868 #ifdef VBOX_WITH_DMI_OEMSTRINGS 869 "DmiOEMVBoxVer\0" 870 "DmiOEMVBoxRev\0" 871 #endif 872 )) 842 873 return PDMDEV_SET_ERROR(pDevIns, VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES, 843 874 N_("Configuration error: Invalid config value(s) for the EFI device")); 875 876 rc = CFGMR3QueryU8Def(pCfgHandle, "IOAPIC", &pThis->u8IOAPIC, 1); 877 if (RT_FAILURE (rc)) 878 return PDMDEV_SET_ERROR(pDevIns, rc, 879 N_("Configuration error: Failed to read \"IOAPIC\"")); 880 881 /* 882 * Query the machine's UUID for SMBIOS/DMI use. 883 */ 884 RTUUID uuid; 885 rc = CFGMR3QueryBytes(pCfgHandle, "UUID", &uuid, sizeof(uuid)); 886 if (RT_FAILURE(rc)) 887 return PDMDEV_SET_ERROR(pDevIns, rc, 888 N_("Configuration error: Querying \"UUID\" failed")); 889 890 /* Convert the UUID to network byte order. Not entirely straightforward as parts are MSB already... */ 891 uuid.Gen.u32TimeLow = RT_H2BE_U32(uuid.Gen.u32TimeLow); 892 uuid.Gen.u16TimeMid = RT_H2BE_U16(uuid.Gen.u16TimeMid); 893 uuid.Gen.u16TimeHiAndVersion = RT_H2BE_U16(uuid.Gen.u16TimeHiAndVersion); 894 rc = sharedfwPlantDMITable(pDevIns, pThis->au8DMIPage, VBOX_DMI_TABLE_SIZE, &uuid, pCfgHandle); 895 if (RT_FAILURE(rc)) 896 return rc; 897 if (pThis->u8IOAPIC) 898 sharedfwPlantMpsTable(pDevIns, pThis->au8DMIPage + VBOX_DMI_TABLE_SIZE, pThis->cCpus); 899 900 rc = PDMDevHlpROMRegister(pDevIns, VBOX_DMI_TABLE_BASE, _4K, pThis->au8DMIPage, 901 PGMPHYS_ROM_FLAGS_PERMANENT_BINARY, "DMI tables"); 902 if (RT_FAILURE(rc)) 903 return rc; 844 904 845 905 /* RAM sizes */
Note:
See TracChangeset
for help on using the changeset viewer.