summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/ArmVExpressPkg
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2016-02-18 09:59:09 +0100
committerArd Biesheuvel <ard.biesheuvel@linaro.org>2016-02-18 12:00:10 +0100
commitca6d61b22658e6d13b4a73589f5e5df0b0e7ba03 (patch)
treeb0cc40c73596e1af21d18c01616bc18c151d6033 /ArmPlatformPkg/ArmVExpressPkg
parent9eec4d38c027e9eb95c545875a1f847f0cb3dcbf (diff)
downloadedk2-platforms-ca6d61b22658e6d13b4a73589f5e5df0b0e7ba03.tar.xz
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>
Diffstat (limited to 'ArmPlatformPkg/ArmVExpressPkg')
0 files changed, 0 insertions, 0 deletions