Changeset 67439 in vbox for trunk/src/VBox/Devices/EFI/Firmware
- Timestamp:
- Jun 16, 2017 1:57:42 PM (8 years ago)
- svn:sync-xref-src-repo-rev:
- 116170
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/Firmware/OvmfPkg/PlatformPei/Platform.c
r58459 r67439 40 40 #include "Cmos.h" 41 41 42 #ifdef VBOX 43 # define IN_RING0 44 # include "../../../../DevEFI.h" 45 #endif 46 42 47 EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = { 43 48 { EfiACPIMemoryNVS, 0x004 }, … … 65 70 BOOLEAN mS3Supported = FALSE; 66 71 72 #ifdef VBOX 73 static UINT32 74 GetVmVariable(UINT32 Variable, CHAR8 *pbBuf, UINT32 cbBuf) 75 { 76 UINT32 cbVar, offBuf; 77 78 IoWrite32(EFI_INFO_PORT, Variable); 79 cbVar = IoRead32(EFI_INFO_PORT); 80 81 for (offBuf = 0; offBuf < cbVar && offBuf < cbBuf; offBuf++) 82 pbBuf[offBuf] = IoRead8(EFI_INFO_PORT); 83 84 return cbVar; 85 } 86 #endif 87 67 88 68 89 VOID … … 269 290 // 0xFEE00000 LAPIC 1 MB 270 291 // 292 #ifdef VBOX 293 UINT32 MCfgBase = 0; 294 UINT32 MCfgSize = 0; 295 GetVmVariable(EFI_INFO_INDEX_MCFG_BASE, (CHAR8 *)&MCfgBase, sizeof(MCfgBase)); 296 GetVmVariable(EFI_INFO_INDEX_MCFG_SIZE, (CHAR8 *)&MCfgSize, sizeof(MCfgSize)); 297 if (TopOfLowRam < BASE_2GB) 298 TopOfLowRam = BASE_2GB; 299 if (MCfgBase == 0) 300 MCfgBase = TopOfLowRam; // backward compatibilit with old DevEFI 301 if (TopOfLowRam < MCfgBase) 302 AddIoMemoryRangeHob (TopOfLowRam, MCfgBase); 303 AddIoMemoryRangeHob (MCfgBase + MCfgSize, 0xFC000000); 304 #else 271 305 AddIoMemoryRangeHob (TopOfLowRam < BASE_2GB ? 272 306 BASE_2GB : TopOfLowRam, 0xFC000000); 307 #endif 273 308 AddIoMemoryBaseSizeHob (0xFEC00000, SIZE_4KB); 274 309 AddIoMemoryBaseSizeHob (0xFED00000, SIZE_1KB);
Note:
See TracChangeset
for help on using the changeset viewer.