summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony PERARD <anthony.perard@citrix.com>2021-06-28 14:23:37 +0100
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2021-06-29 13:40:43 +0000
commitb37cfdd2807181aed2fee1e17bd7ec1190db266a (patch)
tree2467bf32bb75ce4e6c912002a3b0572ab97ced7b
parent9421f5ab8d1efff12a4d07b4f07152426684b56a (diff)
downloadedk2-b37cfdd2807181aed2fee1e17bd7ec1190db266a.tar.gz
edk2-b37cfdd2807181aed2fee1e17bd7ec1190db266a.tar.bz2
edk2-b37cfdd2807181aed2fee1e17bd7ec1190db266a.zip
OvmfPkg/XenPlatformPei: Relocate shared_info page mapping
Unfortunately, Xen isn't ready to deal with mapping at the top of the physical address space, so we relocate the mapping after the LAPIC location. See this thread about the issue with the mapping: - https://lore.kernel.org/xen-devel/f8c4151a-6dac-d87c-ef46-eb35ada07bd9@suse.com/ The PhysicalAddressIdentityMapping() call isn't going to do anything anymore since everything under 4GB is already mapped, but there is no need to remove the call. Cc: Jan Beulich <JBeulich@suse.com> Cc: Andrew Cooper <andrew.cooper3@citrix.com> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Message-Id: <20210628132337.46345-1-anthony.perard@citrix.com> Acked-by: Laszlo Ersek <lersek@redhat.com> [lersek@redhat.com: replace "CC:" with "Cc:", to pacify PatchCheck.py]
-rw-r--r--OvmfPkg/XenPlatformPei/Xen.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/OvmfPkg/XenPlatformPei/Xen.c b/OvmfPkg/XenPlatformPei/Xen.c
index a4e82b3569..9c66418959 100644
--- a/OvmfPkg/XenPlatformPei/Xen.c
+++ b/OvmfPkg/XenPlatformPei/Xen.c
@@ -569,7 +569,7 @@ CalibrateLapicTimer (
EFI_STATUS Status;
- SharedInfo = (VOID*)((1ULL << mPhysMemAddressWidth) - EFI_PAGE_SIZE);
+ SharedInfo = (VOID*)((UINTN)PcdGet32 (PcdCpuLocalApicBaseAddress) + SIZE_1MB);
Status = PhysicalAddressIdentityMapping ((EFI_PHYSICAL_ADDRESS)SharedInfo);
if (EFI_ERROR (Status)) {
DEBUG ((DEBUG_ERROR,