]> git.proxmox.com Git - mirror_edk2.git/commitdiff
OvmfPkg: widen PcdQ35TsegMbytes to UINT16
authorLaszlo Ersek <lersek@redhat.com>
Tue, 4 Jul 2017 10:27:24 +0000 (12:27 +0200)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 5 Jul 2017 20:21:12 +0000 (22:21 +0200)
Widen PcdQ35TsegMbytes to UINT16, in preparation for setting it
dynamically to the QEMU-advertized extended TSEG size (which is 16-bits
wide).

Cc: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
OvmfPkg/OvmfPkg.dec
OvmfPkg/PlatformPei/MemDetect.c
OvmfPkg/SmmAccess/SmmAccessPei.c

index 5627be0bab0a94982184fc22facf9579fc3006b4..021ac2a7721164c5092de9c75b53ef5516b3f756 100644 (file)
@@ -95,7 +95,7 @@
   #  undefined behavior.\r
   #\r
   #  This PCD is only consulted if PcdSmmSmramRequire is TRUE (see below).\r
   #  undefined behavior.\r
   #\r
   #  This PCD is only consulted if PcdSmmSmramRequire is TRUE (see below).\r
-  gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8|UINT8|0x20\r
+  gUefiOvmfPkgTokenSpaceGuid.PcdQ35TsegMbytes|8|UINT16|0x20\r
 \r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase|0x0|UINT32|0x8\r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize|0x0|UINT32|0x9\r
 \r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogBase|0x0|UINT32|0x8\r
   gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashNvStorageEventLogSize|0x0|UINT32|0x9\r
index af96a04d194aae3fecb5a22534201f47ee83d79d..78a8e0de346cba798c54dc4f3244eed058edbecb 100644 (file)
@@ -348,7 +348,7 @@ PublishPeiMemory (
     //\r
     // TSEG is chipped from the end of low RAM\r
     //\r
     //\r
     // TSEG is chipped from the end of low RAM\r
     //\r
-    LowerMemorySize -= FixedPcdGet8 (PcdQ35TsegMbytes) * SIZE_1MB;\r
+    LowerMemorySize -= FixedPcdGet16 (PcdQ35TsegMbytes) * SIZE_1MB;\r
   }\r
 \r
   //\r
   }\r
 \r
   //\r
@@ -456,7 +456,7 @@ QemuInitializeRam (
     if (FeaturePcdGet (PcdSmmSmramRequire)) {\r
       UINT32 TsegSize;\r
 \r
     if (FeaturePcdGet (PcdSmmSmramRequire)) {\r
       UINT32 TsegSize;\r
 \r
-      TsegSize = FixedPcdGet8 (PcdQ35TsegMbytes) * SIZE_1MB;\r
+      TsegSize = FixedPcdGet16 (PcdQ35TsegMbytes) * SIZE_1MB;\r
       AddMemoryRangeHob (BASE_1MB, LowerMemorySize - TsegSize);\r
       AddReservedMemoryBaseSizeHob (LowerMemorySize - TsegSize, TsegSize,\r
         TRUE);\r
       AddMemoryRangeHob (BASE_1MB, LowerMemorySize - TsegSize);\r
       AddReservedMemoryBaseSizeHob (LowerMemorySize - TsegSize, TsegSize,\r
         TRUE);\r
@@ -605,7 +605,7 @@ InitializeRamRegions (
       // Make sure the TSEG area that we reported as a reserved memory resource\r
       // cannot be used for reserved memory allocations.\r
       //\r
       // Make sure the TSEG area that we reported as a reserved memory resource\r
       // cannot be used for reserved memory allocations.\r
       //\r
-      TsegSize = FixedPcdGet8 (PcdQ35TsegMbytes) * SIZE_1MB;\r
+      TsegSize = FixedPcdGet16 (PcdQ35TsegMbytes) * SIZE_1MB;\r
       BuildMemoryAllocationHob (\r
         GetSystemMemorySizeBelow4gb() - TsegSize,\r
         TsegSize,\r
       BuildMemoryAllocationHob (\r
         GetSystemMemorySizeBelow4gb() - TsegSize,\r
         TsegSize,\r
index a4ce610a4650ecaea91e9ffbc55a32bfa476f7c3..76790e330f65154ed654f442eae5ff88ba7da801 100644 (file)
@@ -319,7 +319,7 @@ SmmAccessPeiEntryPoint (
   // Set TSEG Memory Base.\r
   //\r
   PciWrite32 (DRAMC_REGISTER_Q35 (MCH_TSEGMB),\r
   // Set TSEG Memory Base.\r
   //\r
   PciWrite32 (DRAMC_REGISTER_Q35 (MCH_TSEGMB),\r
-    (TopOfLowRamMb - FixedPcdGet8 (PcdQ35TsegMbytes)) << MCH_TSEGMB_MB_SHIFT);\r
+    (TopOfLowRamMb - FixedPcdGet16 (PcdQ35TsegMbytes)) << MCH_TSEGMB_MB_SHIFT);\r
 \r
   //\r
   // Set TSEG size, and disable TSEG visibility outside of SMM. Note that the\r
 \r
   //\r
   // Set TSEG size, and disable TSEG visibility outside of SMM. Note that the\r
@@ -327,8 +327,8 @@ SmmAccessPeiEntryPoint (
   // *restricted* to SMM.\r
   //\r
   EsmramcVal &= ~(UINT32)MCH_ESMRAMC_TSEG_MASK;\r
   // *restricted* to SMM.\r
   //\r
   EsmramcVal &= ~(UINT32)MCH_ESMRAMC_TSEG_MASK;\r
-  EsmramcVal |= FixedPcdGet8 (PcdQ35TsegMbytes) == 8 ? MCH_ESMRAMC_TSEG_8MB :\r
-                FixedPcdGet8 (PcdQ35TsegMbytes) == 2 ? MCH_ESMRAMC_TSEG_2MB :\r
+  EsmramcVal |= FixedPcdGet16 (PcdQ35TsegMbytes) == 8 ? MCH_ESMRAMC_TSEG_8MB :\r
+                FixedPcdGet16 (PcdQ35TsegMbytes) == 2 ? MCH_ESMRAMC_TSEG_2MB :\r
                 MCH_ESMRAMC_TSEG_1MB;\r
   EsmramcVal |= MCH_ESMRAMC_T_EN;\r
   PciWrite8 (DRAMC_REGISTER_Q35 (MCH_ESMRAMC), EsmramcVal);\r
                 MCH_ESMRAMC_TSEG_1MB;\r
   EsmramcVal |= MCH_ESMRAMC_T_EN;\r
   PciWrite8 (DRAMC_REGISTER_Q35 (MCH_ESMRAMC), EsmramcVal);\r