CorebootPayloadPkg/PciHostBridgeLib: Fix the wrong PCI resource limit
authorMaurice Ma <maurice.ma@intel.com>
Mon, 17 Oct 2016 17:48:04 +0000 (10:48 -0700)
committerMaurice Ma <maurice.ma@intel.com>
Wed, 19 Oct 2016 05:21:53 +0000 (22:21 -0700)
The current PCI resource limit calculation in CorebootPayloadPkg
PciHostBridgeLib is wrong. Adjusted it to match the PciHostBridge
driver's expectation.

Cc: Prince Agyeman <prince.agyeman@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Maurice Ma <maurice.ma@intel.com>
Reviewed-by : Prince Agyeman <prince.agyeman@intel.com>

CorebootPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeSupport.c

index 0f1c8cb..6d94ff7 100644 (file)
@@ -91,7 +91,7 @@ AdjustRootBridgeResource (
   // Align IO  resource at 4K  boundary\r
   //\r
   Mask        = 0xFFFULL;\r
-  Io->Limit   = (Io->Limit + Mask) & ~Mask;\r
+  Io->Limit   = ((Io->Limit + Mask) & ~Mask) - 1;\r
   if (Io->Base != MAX_UINT64) {\r
     Io->Base &= ~Mask;\r
   }\r
@@ -100,7 +100,7 @@ AdjustRootBridgeResource (
   // Align MEM resource at 1MB boundary\r
   //\r
   Mask        = 0xFFFFFULL;\r
-  Mem->Limit  = (Mem->Limit + Mask) & ~Mask;\r
+  Mem->Limit  = ((Mem->Limit + Mask) & ~Mask) - 1;\r
   if (Mem->Base != MAX_UINT64) {\r
     Mem->Base &= ~Mask;\r
   }\r