]> xenbits.xensource.com Git - people/aperard/ovmf.git/commitdiff
Set PcdSerialClockRate from SerialPortInfo in UefiPayloadEntry
authorMatt DeVillier <matt.devillier@gmail.com>
Mon, 31 Jul 2023 16:40:32 +0000 (11:40 -0500)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Fri, 20 Sep 2024 03:13:11 +0000 (03:13 +0000)
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.c
UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf

index 030a5baed91461fc144ed16645251f55b00f3eb4..abda59312d5e162200431f0b1ab6b6760547f0ef 100644 (file)
@@ -432,6 +432,14 @@ _ModuleEntryPoint (
     UniversalSerialPort->RegisterBase    = SerialPortInfo.BaseAddr;\r
     UniversalSerialPort->BaudRate        = SerialPortInfo.Baud;\r
     UniversalSerialPort->RegisterStride  = (UINT8)SerialPortInfo.RegWidth;\r
+    // Set PCD here (vs in PlatformHookLib.c) to avoid adding a new field to UniversalSerialPort struct\r
+    if (SerialPortInfo.InputHertz > 0) {\r
+      Status = PcdSet32S (PcdSerialClockRate, SerialPortInfo.InputHertz);\r
+      if (RETURN_ERROR (Status)) {\r
+        DEBUG ((DEBUG_ERROR, "Failed to set PcdSerialClockRate; Status = %r\n", Status));\r
+        return Status;\r
+      }\r
+    }\r
   }\r
 \r
   // The library constructors might depend on serial port, so call it after serial port hob\r
index a3ff4b86eaf6dcf6f6111adacc68106389a1bc25..e84ef664d3d5004cfde9dd4dce305ff6420fd468 100644 (file)
@@ -96,3 +96,4 @@
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy       ## SOMETIMES_CONSUMES\r
 \r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate             ## PRODUCES\r