diff options
author | Anthony PERARD <anthony.perard@citrix.com> | 2021-06-28 14:23:37 +0100 |
---|---|---|
committer | mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> | 2021-06-29 13:40:43 +0000 |
commit | b37cfdd2807181aed2fee1e17bd7ec1190db266a (patch) | |
tree | 2467bf32bb75ce4e6c912002a3b0572ab97ced7b | |
parent | 9421f5ab8d1efff12a4d07b4f07152426684b56a (diff) | |
download | edk2-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.c | 2 |
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,
|