From d63610df60f784676090deba63aeca8c9dc631d1 Mon Sep 17 00:00:00 2001 From: Igor Druzhinin Date: Thu, 25 Apr 2019 21:23:57 +0100 Subject: [PATCH] OvmfPkg/XenSupport: use a correct PCI host bridge aperture for BAR64 In case BAR64 is placed below 4G choose the correct aperture. This fixes a failed assertion down the code path. Acked-by: Anthony PERARD Signed-off-by: Igor Druzhinin --- OvmfPkg/Library/PciHostBridgeLib/XenSupport.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Library/PciHostBridgeLib/XenSupport.c b/OvmfPkg/Library/PciHostBridgeLib/XenSupport.c index 354b0a5e27..76fca533c1 100644 --- a/OvmfPkg/Library/PciHostBridgeLib/XenSupport.c +++ b/OvmfPkg/Library/PciHostBridgeLib/XenSupport.c @@ -137,7 +137,11 @@ PcatPciRootBridgeParseBars ( Length = Length | LShiftU64 ((UINT64) UpperValue, 32); Length = (~Length) + 1; - MemAperture = MemAbove4G; + if (Base < BASE_4GB) { + MemAperture = Mem; + } else { + MemAperture = MemAbove4G; + } } Limit = Base + Length - 1;