Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel ca6d61b226 ArmVirtPkg: ArmVirtQemu: expose only 64-bit entry point for v3.0+ SMBIOS
The legacy 32-bit SMBIOS entry point has little use on AARCH64 systems,
since many such systems have no 32-bit addressable physical RAM, and so
OSes that implement SMBIOS will have to be able to deal with the 64-bit
entry point anyway.

Given that the OS will map main memory in 1 GB chunks if it can, and that
punching a page sized hole (e.g., for SMBIOS data) into it will result in
the whole 1 GB chunk being mapped using 2 MB and 4 KB blocks instead, it
is important to group memory reservations from the OS as much as we can,
and allocating below 4 GB for no good reason interferes with that.

This is especially important under virtualization, considering that each
*level* of lookup at stage 1 (the guest virtual page table) will result in
a full page table walk at stage 2 (the guest PA to host PA mapping).

So expose only the 64-bit entry point when the SMBIOS tables adhere to
version 3.0 or later.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2016-02-18 12:00:10 +01:00
AppPkg AppPkg/.../Python: Clean up and document how to escape the -# option. 2016-01-06 01:00:19 +00:00
ArmPkg ArmPkg: DefaultExceptionHandler fixes for use with DxeCore 2016-02-15 10:37:52 +01:00
ArmPlatformPkg ArmPlatformPkg: delete Juno ACPI tables 2016-02-16 10:45:07 +00:00
ArmVirtPkg ArmVirtPkg: ArmVirtQemu: expose only 64-bit entry point for v3.0+ SMBIOS 2016-02-18 12:00:10 +01:00
BaseTools BaseTools: LzmaCompress: fix gcc-6 warning "misleading-indentation" 2016-02-18 05:28:50 +01:00
BeagleBoardPkg BeagleBoardPkg: Rectify file modes 2016-02-02 11:42:41 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg:Removing EFI_RESOURCE_ATTRIBUTE_TESTED 2015-08-18 16:08:22 +00:00
CorebootPayloadPkg CorebootPayloadPkg PlatformHookLib: Fix GCC build failure 2015-11-30 21:11:29 +00:00
CryptoPkg CryptoPkg: Fix function qsort for non 32-bit machines 2016-01-26 08:51:13 +00:00
DuetPkg DuetPkg FSVariable: Minor update to the Data parameter for GetVariable() 2016-01-29 09:15:53 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Fix wrong guid value of gEfiManagedNetworkProtocolGuid 2016-01-18 03:03:19 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg/Lan9118Dxe: rename TimeOut to Retries 2016-02-10 17:56:47 +01:00
EmulatorPkg EmulatorPkg: Convert all .uni files to utf-8 2015-12-15 04:51:49 +00:00
FatBinPkg FatBinPkg: Update EBC/IA32/X64/IPF binaries 2015-08-28 03:14:25 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: Add NOOPT target in IntelFrameworkModulePkg.dsc 2016-01-19 04:05:12 +00:00
IntelFrameworkPkg IntelFrameworkPkg: Add NOOPT target in IntelFrameworkPkg.dsc 2016-01-19 04:05:29 +00:00
IntelFspPkg IntelFspPkg: Add NOOPT target in IntelFspPkg.dsc 2016-01-21 02:14:43 +00:00
IntelFspWrapperPkg IntelFspWrapperPkg: Add NOOPT target in IntelFspWrapperPkg.dsc 2016-01-21 02:15:02 +00:00
MdeModulePkg MdeModulePkg: Define a general function to create DNS QName 2016-02-18 13:07:56 +08:00
MdePkg MdePkg: Add invocation register support in SMM Communication ACPI Table 2016-02-17 11:30:22 +08:00
NetworkPkg NetworkPkg: Replace the internal function with exposed one 2016-02-18 13:07:59 +08:00
Nt32Pkg Nt32Pkg: Add NOOPT to NT32 build target 2016-01-27 09:46:24 +00:00
Omap35xxPkg Omap35xxPkg: Rectify file modes 2016-02-02 11:43:00 +00:00
OptionRomPkg OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files 2015-07-08 02:56:54 +00:00
OvmfPkg OvmfPkg: simplify VARIABLE_STORE_HEADER generation 2016-02-15 17:47:29 +01:00
PcAtChipsetPkg MdeModulePkg/PcRtc: Still create timezone variable when Daylight != 0 2016-02-03 16:13:18 +08:00
PerformancePkg PerformancePkg/Dp_App: Refine the code of locating all handles in DpTrace.c. 2016-02-18 09:40:35 +08:00
QuarkPlatformPkg QuarkPlatformPkg/Readme.md: Move images to tianocore wiki 2016-01-31 19:22:57 +00:00
QuarkSocPkg QuarkSocPkg: Remove X64 from SUPPORTED_ARCHITECTURES 2016-01-07 21:52:53 +00:00
SecurityPkg SecurityPkg: AuthVariableLib: Add new cert database for volatile time based Auth variable 2016-02-02 01:02:31 +00:00
ShellBinPkg ShellBinPkg: Arm/AArch64 Shell binary update. 2016-02-09 16:34:14 +00:00
ShellPkg ShellPkg: Do NULL pointer check before the pointer is used. 2016-02-18 14:00:57 +08:00
SourceLevelDebugPkg SourceLevelDebugPkg: DebugCommunicationLibUsb3: Update local variable type. 2016-01-25 03:33:45 +00:00
StdLib StdLib/BsdSocketLib: Fix minor memory leak by freeing rrecp on error return. 2016-02-17 16:11:29 -08:00
StdLibPrivateInternalFiles StdLib: Clarify and improve comments. 2016-01-06 00:31:42 +00:00
UefiCpuPkg UefiCpuPkg: Add NOOPT target in UefiCpuPkg.dsc 2016-01-19 04:08:09 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Vlv2TbltDevicePkg/Vlv2DeviceRefCodePkg: 2015-11-10 07:47:29 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Convert all .uni files to utf-8 2015-12-15 04:59:37 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat BaseTools: Update Edk2Setup.bat to support multiple workspaces 2015-10-08 09:29:36 +00:00
Maintainers.txt Maintainers.txt: Update maintainers for ShellBinPkg 2016-02-10 14:45:52 +00:00
edksetup.bat BaseTools: Add VS2015 tool chain in tools_def.template 2015-12-03 03:19:01 +00:00
edksetup.sh BaseTools: Update edksetup.sh to support multiple workspaces 2015-10-08 09:29:56 +00:00