瀏覽代碼

OvmfPkg: Apply uncrustify changes

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the OvmfPkg package

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Andrew Fish <afish@apple.com>
Michael Kubacki 2 年之前
父節點
當前提交
ac0a286f4d
共有 100 個文件被更改,包括 7967 次插入7029 次删除
  1. 23 21
      OvmfPkg/8254TimerDxe/Timer.c
  2. 7 6
      OvmfPkg/8254TimerDxe/Timer.h
  3. 29 29
      OvmfPkg/8259InterruptControllerDxe/8259.c
  4. 5 5
      OvmfPkg/8259InterruptControllerDxe/8259.h
  5. 17 18
      OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
  6. 61 54
      OvmfPkg/AcpiPlatformDxe/BootScript.c
  7. 33 21
      OvmfPkg/AcpiPlatformDxe/EntryPoint.c
  8. 75 35
      OvmfPkg/AcpiPlatformDxe/PciDecoding.c
  9. 379 249
      OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c
  10. 2 2
      OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c
  11. 78 44
      OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierSevHashes.c
  12. 4 4
      OvmfPkg/AmdSev/SecretDxe/SecretDxe.c
  13. 14 9
      OvmfPkg/AmdSevDxe/AmdSevDxe.c
  14. 41 44
      OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c
  15. 17 17
      OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.h
  16. 36 35
      OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c
  17. 33 21
      OvmfPkg/Bhyve/AcpiPlatformDxe/EntryPoint.c
  18. 75 35
      OvmfPkg/Bhyve/AcpiPlatformDxe/PciDecoding.c
  19. 39 39
      OvmfPkg/Bhyve/AcpiTables/Platform.h
  20. 16 19
      OvmfPkg/Bhyve/BhyveRfbDxe/ComponentName.c
  21. 41 42
      OvmfPkg/Bhyve/BhyveRfbDxe/Gop.h
  22. 134 122
      OvmfPkg/Bhyve/BhyveRfbDxe/GopDriver.c
  23. 114 110
      OvmfPkg/Bhyve/BhyveRfbDxe/GopScreen.c
  24. 80 61
      OvmfPkg/Bhyve/BhyveRfbDxe/VbeShim.c
  25. 906 905
      OvmfPkg/Bhyve/BhyveRfbDxe/VbeShim.h
  26. 6 6
      OvmfPkg/Bhyve/PlatformPei/AmdSev.c
  27. 20 16
      OvmfPkg/Bhyve/PlatformPei/ClearCache.c
  28. 5 8
      OvmfPkg/Bhyve/PlatformPei/Cmos.c
  29. 3 5
      OvmfPkg/Bhyve/PlatformPei/Cmos.h
  30. 3 5
      OvmfPkg/Bhyve/PlatformPei/Fv.c
  31. 95 77
      OvmfPkg/Bhyve/PlatformPei/MemDetect.c
  32. 110 93
      OvmfPkg/Bhyve/PlatformPei/Platform.c
  33. 19 19
      OvmfPkg/Bhyve/PlatformPei/Platform.h
  34. 11 12
      OvmfPkg/Bhyve/SmbiosPlatformDxe/Bhyve.c
  35. 44 47
      OvmfPkg/Bhyve/SmbiosPlatformDxe/SmbiosPlatformDxe.c
  36. 0 2
      OvmfPkg/Bhyve/SmbiosPlatformDxe/SmbiosPlatformDxe.h
  37. 36 31
      OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.c
  38. 1 1
      OvmfPkg/CpuHotplugSmm/ApicId.h
  39. 208 105
      OvmfPkg/CpuHotplugSmm/CpuHotplug.c
  40. 3 3
      OvmfPkg/CpuHotplugSmm/FirstSmiHandlerContext.h
  41. 127 78
      OvmfPkg/CpuHotplugSmm/QemuCpuhp.c
  42. 17 17
      OvmfPkg/CpuHotplugSmm/QemuCpuhp.h
  43. 60 33
      OvmfPkg/CpuHotplugSmm/Smbase.c
  44. 8 8
      OvmfPkg/CpuHotplugSmm/Smbase.h
  45. 40 38
      OvmfPkg/CpuS3DataDxe/CpuS3Data.c
  46. 235 209
      OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c
  47. 78 86
      OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.h
  48. 15 17
      OvmfPkg/Csm/BiosThunk/VideoDxe/ComponentName.c
  49. 132 132
      OvmfPkg/Csm/BiosThunk/VideoDxe/VesaBiosExtensions.h
  50. 0 1
      OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.c
  51. 0 1
      OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.h
  52. 19 21
      OvmfPkg/Csm/CsmSupportLib/LegacyInterrupt.c
  53. 12 14
      OvmfPkg/Csm/CsmSupportLib/LegacyInterrupt.h
  54. 283 256
      OvmfPkg/Csm/CsmSupportLib/LegacyPlatform.c
  55. 25 26
      OvmfPkg/Csm/CsmSupportLib/LegacyPlatform.h
  56. 100 92
      OvmfPkg/Csm/CsmSupportLib/LegacyRegion.c
  57. 15 16
      OvmfPkg/Csm/CsmSupportLib/LegacyRegion.h
  58. 5 6
      OvmfPkg/Csm/Include/Framework/BootScript.h
  59. 57 58
      OvmfPkg/Csm/Include/Framework/DxeCis.h
  60. 28 28
      OvmfPkg/Csm/Include/Framework/FirmwareVolumeHeader.h
  61. 10 10
      OvmfPkg/Csm/Include/Framework/FirmwareVolumeImageFormat.h
  62. 204 205
      OvmfPkg/Csm/Include/Framework/FrameworkInternalFormRepresentation.h
  63. 4 4
      OvmfPkg/Csm/Include/Framework/Hob.h
  64. 30 30
      OvmfPkg/Csm/Include/Framework/StatusCode.h
  65. 1 1
      OvmfPkg/Csm/Include/Guid/LegacyBios.h
  66. 5 5
      OvmfPkg/Csm/Include/Guid/LegacyDevOrder.h
  67. 43 44
      OvmfPkg/Csm/Include/Protocol/FirmwareVolume.h
  68. 27 27
      OvmfPkg/Csm/Include/Protocol/IsaAcpi.h
  69. 14 14
      OvmfPkg/Csm/Include/Protocol/IsaIo.h
  70. 211 213
      OvmfPkg/Csm/Include/Protocol/LegacyBios.h
  71. 96 98
      OvmfPkg/Csm/Include/Protocol/LegacyBiosPlatform.h
  72. 5 6
      OvmfPkg/Csm/Include/Protocol/LegacyInterrupt.h
  73. 10 10
      OvmfPkg/Csm/Include/Protocol/VgaMiniPort.h
  74. 98 92
      OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c
  75. 13 13
      OvmfPkg/Csm/LegacyBiosDxe/LegacyBda.c
  76. 265 253
      OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c
  77. 316 328
      OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h
  78. 297 284
      OvmfPkg/Csm/LegacyBiosDxe/LegacyBootSupport.c
  79. 3 3
      OvmfPkg/Csm/LegacyBiosDxe/LegacyCmos.c
  80. 62 57
      OvmfPkg/Csm/LegacyBiosDxe/LegacyIde.c
  81. 273 260
      OvmfPkg/Csm/LegacyBiosDxe/LegacyPci.c
  82. 160 148
      OvmfPkg/Csm/LegacyBiosDxe/LegacySio.c
  83. 89 86
      OvmfPkg/Csm/LegacyBiosDxe/Thunk.c
  84. 306 311
      OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.c
  85. 54 61
      OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.h
  86. 18 24
      OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiVfr.h
  87. 2 2
      OvmfPkg/Csm/LegacyBootManagerLib/InternalLegacyBm.h
  88. 331 300
      OvmfPkg/Csm/LegacyBootManagerLib/LegacyBm.c
  89. 121 113
      OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c
  90. 18 21
      OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.h
  91. 8 12
      OvmfPkg/EnrollDefaultKeys/AuthData.c
  92. 267 147
      OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
  93. 23 25
      OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
  94. 253 169
      OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c
  95. 64 48
      OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c
  96. 93 40
      OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c
  97. 88 45
      OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.c
  98. 4 4
      OvmfPkg/Include/Guid/ConfidentialComputingSecret.h
  99. 1 1
      OvmfPkg/Include/Guid/MicrosoftVendor.h
  100. 1 1
      OvmfPkg/Include/Guid/OvmfPkKek1AppPrefix.h

+ 23 - 21
OvmfPkg/8254TimerDxe/Timer.c

@@ -11,12 +11,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // The handle onto which the Timer Architectural Protocol will be installed
 //
-EFI_HANDLE                mTimerHandle = NULL;
+EFI_HANDLE  mTimerHandle = NULL;
 
 //
 // The Timer Architectural Protocol that this driver produces
 //
-EFI_TIMER_ARCH_PROTOCOL   mTimer = {
+EFI_TIMER_ARCH_PROTOCOL  mTimer = {
   TimerDriverRegisterHandler,
   TimerDriverSetTimerPeriod,
   TimerDriverGetTimerPeriod,
@@ -26,7 +26,7 @@ EFI_TIMER_ARCH_PROTOCOL   mTimer = {
 //
 // Pointer to the CPU Architectural Protocol instance
 //
-EFI_CPU_ARCH_PROTOCOL     *mCpu;
+EFI_CPU_ARCH_PROTOCOL  *mCpu;
 
 //
 // Pointer to the Legacy 8259 Protocol instance
@@ -37,16 +37,17 @@ EFI_LEGACY_8259_PROTOCOL  *mLegacy8259;
 // The notification function to call on every timer interrupt.
 // A bug in the compiler prevents us from initializing this here.
 //
-EFI_TIMER_NOTIFY mTimerNotifyFunction;
+EFI_TIMER_NOTIFY  mTimerNotifyFunction;
 
 //
 // The current period of the timer interrupt
 //
-volatile UINT64           mTimerPeriod = 0;
+volatile UINT64  mTimerPeriod = 0;
 
 //
 // Worker Functions
 //
+
 /**
   Sets the counter value for Timer #0 in a legacy 8254 timer.
 
@@ -71,11 +72,11 @@ SetPitCount (
 VOID
 EFIAPI
 TimerInterruptHandler (
-  IN EFI_EXCEPTION_TYPE   InterruptType,
-  IN EFI_SYSTEM_CONTEXT   SystemContext
+  IN EFI_EXCEPTION_TYPE  InterruptType,
+  IN EFI_SYSTEM_CONTEXT  SystemContext
   )
 {
-  EFI_TPL OriginalTPL;
+  EFI_TPL  OriginalTPL;
 
   OriginalTPL = gBS->RaiseTPL (TPL_HIGH_LEVEL);
 
@@ -133,11 +134,11 @@ TimerDriverRegisterHandler (
   //
   // Check for invalid parameters
   //
-  if (NotifyFunction == NULL && mTimerNotifyFunction == NULL) {
+  if ((NotifyFunction == NULL) && (mTimerNotifyFunction == NULL)) {
     return EFI_INVALID_PARAMETER;
   }
 
-  if (NotifyFunction != NULL && mTimerNotifyFunction != NULL) {
+  if ((NotifyFunction != NULL) && (mTimerNotifyFunction != NULL)) {
     return EFI_ALREADY_STARTED;
   }
 
@@ -203,29 +204,30 @@ TimerDriverSetTimerPeriod (
     //
     mLegacy8259->DisableIrq (mLegacy8259, Efi8259Irq0);
   } else {
-
     //
     // Convert TimerPeriod into 8254 counts
     //
-    TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32) TimerPeriod) + 500000, 1000000);
+    TimerCount = DivU64x32 (MultU64x32 (119318, (UINT32)TimerPeriod) + 500000, 1000000);
 
     //
     // Check for overflow
     //
     if (TimerCount >= 65536) {
-      TimerCount = 0;
+      TimerCount  = 0;
       TimerPeriod = MAX_TIMER_TICK_DURATION;
     }
+
     //
     // Program the 8254 timer with the new count value
     //
-    SetPitCount ((UINT16) TimerCount);
+    SetPitCount ((UINT16)TimerCount);
 
     //
     // Enable timer interrupt
     //
     mLegacy8259->EnableIrq (mLegacy8259, Efi8259Irq0, FALSE);
   }
+
   //
   // Save the new timer period
   //
@@ -253,8 +255,8 @@ TimerDriverSetTimerPeriod (
 EFI_STATUS
 EFIAPI
 TimerDriverGetTimerPeriod (
-  IN EFI_TIMER_ARCH_PROTOCOL   *This,
-  OUT UINT64                   *TimerPeriod
+  IN EFI_TIMER_ARCH_PROTOCOL  *This,
+  OUT UINT64                  *TimerPeriod
   )
 {
   if (TimerPeriod == NULL) {
@@ -353,13 +355,13 @@ TimerDriverInitialize (
   //
   // Find the CPU architectural protocol.
   //
-  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **) &mCpu);
+  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&mCpu);
   ASSERT_EFI_ERROR (Status);
 
   //
   // Find the Legacy8259 protocol.
   //
-  Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **) &mLegacy8259);
+  Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **)&mLegacy8259);
   ASSERT_EFI_ERROR (Status);
 
   //
@@ -372,7 +374,7 @@ TimerDriverInitialize (
   // Get the interrupt vector number corresponding to IRQ0 from the 8259 driver
   //
   TimerVector = 0;
-  Status      = mLegacy8259->GetVector (mLegacy8259, Efi8259Irq0, (UINT8 *) &TimerVector);
+  Status      = mLegacy8259->GetVector (mLegacy8259, Efi8259Irq0, (UINT8 *)&TimerVector);
   ASSERT_EFI_ERROR (Status);
 
   //
@@ -392,11 +394,11 @@ TimerDriverInitialize (
   //
   Status = gBS->InstallMultipleProtocolInterfaces (
                   &mTimerHandle,
-                  &gEfiTimerArchProtocolGuid, &mTimer,
+                  &gEfiTimerArchProtocolGuid,
+                  &mTimer,
                   NULL
                   );
   ASSERT_EFI_ERROR (Status);
 
   return Status;
 }
-

+ 7 - 6
OvmfPkg/8254TimerDxe/Timer.h

@@ -32,17 +32,18 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // The maximum tick duration for 8254 timer
 //
-#define MAX_TIMER_TICK_DURATION     549254
+#define MAX_TIMER_TICK_DURATION  549254
 //
 // The default timer tick duration is set to 10 ms = 100000 100 ns units
 //
-#define DEFAULT_TIMER_TICK_DURATION 100000
-#define TIMER_CONTROL_PORT          0x43
-#define TIMER0_COUNT_PORT           0x40
+#define DEFAULT_TIMER_TICK_DURATION  100000
+#define TIMER_CONTROL_PORT           0x43
+#define TIMER0_COUNT_PORT            0x40
 
 //
 // Function Prototypes
 //
+
 /**
   Initialize the Timer Architectural Protocol driver
 
@@ -153,8 +154,8 @@ TimerDriverSetTimerPeriod (
 EFI_STATUS
 EFIAPI
 TimerDriverGetTimerPeriod (
-  IN EFI_TIMER_ARCH_PROTOCOL   *This,
-  OUT UINT64                   *TimerPeriod
+  IN EFI_TIMER_ARCH_PROTOCOL  *This,
+  OUT UINT64                  *TimerPeriod
   )
 ;
 

+ 29 - 29
OvmfPkg/8259InterruptControllerDxe/8259.c

@@ -26,15 +26,15 @@ EFI_LEGACY_8259_PROTOCOL  mInterrupt8259 = {
 //
 // Global for the handle that the Legacy 8259 Protocol is installed
 //
-EFI_HANDLE                m8259Handle             = NULL;
+EFI_HANDLE  m8259Handle = NULL;
 
-UINT8                     mMasterBase             = 0xff;
-UINT8                     mSlaveBase              = 0xff;
-EFI_8259_MODE             mMode                   = Efi8259ProtectedMode;
-UINT16                    mProtectedModeMask      = 0xffff;
-UINT16                    mLegacyModeMask;
-UINT16                    mProtectedModeEdgeLevel = 0x0000;
-UINT16                    mLegacyModeEdgeLevel;
+UINT8          mMasterBase        = 0xff;
+UINT8          mSlaveBase         = 0xff;
+EFI_8259_MODE  mMode              = Efi8259ProtectedMode;
+UINT16         mProtectedModeMask = 0xffff;
+UINT16         mLegacyModeMask;
+UINT16         mProtectedModeEdgeLevel = 0x0000;
+UINT16         mLegacyModeEdgeLevel;
 
 //
 // Worker Functions
@@ -55,10 +55,10 @@ Interrupt8259WriteMask (
   IN UINT16  EdgeLevel
   )
 {
-  IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, (UINT8) Mask);
-  IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, (UINT8) (Mask >> 8));
-  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER, (UINT8) EdgeLevel);
-  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE, (UINT8) (EdgeLevel >> 8));
+  IoWrite8 (LEGACY_8259_MASK_REGISTER_MASTER, (UINT8)Mask);
+  IoWrite8 (LEGACY_8259_MASK_REGISTER_SLAVE, (UINT8)(Mask >> 8));
+  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER, (UINT8)EdgeLevel);
+  IoWrite8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE, (UINT8)(EdgeLevel >> 8));
 }
 
 /**
@@ -83,14 +83,14 @@ Interrupt8259ReadMask (
     MasterValue = IoRead8 (LEGACY_8259_MASK_REGISTER_MASTER);
     SlaveValue  = IoRead8 (LEGACY_8259_MASK_REGISTER_SLAVE);
 
-    *Mask = (UINT16) (MasterValue | (SlaveValue << 8));
+    *Mask = (UINT16)(MasterValue | (SlaveValue << 8));
   }
 
   if (EdgeLevel != NULL) {
     MasterValue = IoRead8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER);
     SlaveValue  = IoRead8 (LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE);
 
-    *EdgeLevel = (UINT16) (MasterValue | (SlaveValue << 8));
+    *EdgeLevel = (UINT16)(MasterValue | (SlaveValue << 8));
   }
 }
 
@@ -117,8 +117,8 @@ Interrupt8259SetVectorBase (
   IN UINT8                     SlaveBase
   )
 {
-  UINT8   Mask;
-  EFI_TPL OriginalTpl;
+  UINT8    Mask;
+  EFI_TPL  OriginalTpl;
 
   OriginalTpl = gBS->RaiseTPL (TPL_HIGH_LEVEL);
   //
@@ -416,9 +416,9 @@ Interrupt8259GetVector (
   }
 
   if (Irq <= Efi8259Irq7) {
-    *Vector = (UINT8) (mMasterBase + Irq);
+    *Vector = (UINT8)(mMasterBase + Irq);
   } else {
-    *Vector = (UINT8) (mSlaveBase + (Irq - Efi8259Irq8));
+    *Vector = (UINT8)(mSlaveBase + (Irq - Efi8259Irq8));
   }
 
   return EFI_SUCCESS;
@@ -447,11 +447,11 @@ Interrupt8259EnableIrq (
     return EFI_INVALID_PARAMETER;
   }
 
-  mProtectedModeMask = (UINT16) (mProtectedModeMask & ~(1 << Irq));
+  mProtectedModeMask = (UINT16)(mProtectedModeMask & ~(1 << Irq));
   if (LevelTriggered) {
-    mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel | (1 << Irq));
+    mProtectedModeEdgeLevel = (UINT16)(mProtectedModeEdgeLevel | (1 << Irq));
   } else {
-    mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel & ~(1 << Irq));
+    mProtectedModeEdgeLevel = (UINT16)(mProtectedModeEdgeLevel & ~(1 << Irq));
   }
 
   Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);
@@ -480,9 +480,9 @@ Interrupt8259DisableIrq (
     return EFI_INVALID_PARAMETER;
   }
 
-  mProtectedModeMask = (UINT16) (mProtectedModeMask | (1 << Irq));
+  mProtectedModeMask = (UINT16)(mProtectedModeMask | (1 << Irq));
 
-  mProtectedModeEdgeLevel = (UINT16) (mProtectedModeEdgeLevel & ~(1 << Irq));
+  mProtectedModeEdgeLevel = (UINT16)(mProtectedModeEdgeLevel & ~(1 << Irq));
 
   Interrupt8259WriteMask (mProtectedModeMask, mProtectedModeEdgeLevel);
 
@@ -507,14 +507,14 @@ Interrupt8259GetInterruptLine (
   OUT UINT8                     *Vector
   )
 {
-  EFI_PCI_IO_PROTOCOL *PciIo;
-  UINT8               InterruptLine;
-  EFI_STATUS          Status;
+  EFI_PCI_IO_PROTOCOL  *PciIo;
+  UINT8                InterruptLine;
+  EFI_STATUS           Status;
 
   Status = gBS->HandleProtocol (
                   PciHandle,
                   &gEfiPciIoProtocolGuid,
-                  (VOID **) &PciIo
+                  (VOID **)&PciIo
                   );
   if (EFI_ERROR (Status)) {
     return EFI_INVALID_PARAMETER;
@@ -583,8 +583,8 @@ Install8259 (
   IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS   Status;
-  EFI_8259_IRQ Irq;
+  EFI_STATUS    Status;
+  EFI_8259_IRQ  Irq;
 
   //
   // Initialze mask values from PCDs

+ 5 - 5
OvmfPkg/8259InterruptControllerDxe/8259.h

@@ -22,11 +22,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 // 8259 Hardware definitions
 
-#define LEGACY_MODE_BASE_VECTOR_MASTER                    0x08
-#define LEGACY_MODE_BASE_VECTOR_SLAVE                     0x70
+#define LEGACY_MODE_BASE_VECTOR_MASTER  0x08
+#define LEGACY_MODE_BASE_VECTOR_SLAVE   0x70
 
-#define PROTECTED_MODE_BASE_VECTOR_MASTER                 0x68
-#define PROTECTED_MODE_BASE_VECTOR_SLAVE                  0x70
+#define PROTECTED_MODE_BASE_VECTOR_MASTER  0x68
+#define PROTECTED_MODE_BASE_VECTOR_SLAVE   0x70
 
 #define LEGACY_8259_CONTROL_REGISTER_MASTER               0x20
 #define LEGACY_8259_MASK_REGISTER_MASTER                  0x21
@@ -35,7 +35,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #define LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_MASTER  0x4D0
 #define LEGACY_8259_EDGE_LEVEL_TRIGGERED_REGISTER_SLAVE   0x4D1
 
-#define LEGACY_8259_EOI                                   0x20
+#define LEGACY_8259_EOI  0x20
 
 // Protocol Function Prototypes
 

+ 17 - 18
OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h

@@ -13,8 +13,8 @@
 #include <Protocol/PciIo.h>     // EFI_PCI_IO_PROTOCOL
 
 typedef struct {
-  EFI_PCI_IO_PROTOCOL *PciIo;
-  UINT64              PciAttributes;
+  EFI_PCI_IO_PROTOCOL    *PciIo;
+  UINT64                 PciAttributes;
 } ORIGINAL_ATTRIBUTES;
 
 typedef struct S3_CONTEXT S3_CONTEXT;
@@ -22,51 +22,50 @@ typedef struct S3_CONTEXT S3_CONTEXT;
 EFI_STATUS
 EFIAPI
 InstallQemuFwCfgTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol
   );
 
 EFI_STATUS
 EFIAPI
 InstallAcpiTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiTable
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   );
 
 VOID
 EnablePciDecoding (
-  OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
-  OUT UINTN               *Count
+  OUT ORIGINAL_ATTRIBUTES  **OriginalAttributes,
+  OUT UINTN                *Count
   );
 
 VOID
 RestorePciDecoding (
-  IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
-  IN UINTN               Count
+  IN ORIGINAL_ATTRIBUTES  *OriginalAttributes,
+  IN UINTN                Count
   );
 
 EFI_STATUS
 AllocateS3Context (
-  OUT S3_CONTEXT **S3Context,
-  IN  UINTN      WritePointerCount
+  OUT S3_CONTEXT  **S3Context,
+  IN  UINTN       WritePointerCount
   );
 
 VOID
 ReleaseS3Context (
-  IN S3_CONTEXT *S3Context
+  IN S3_CONTEXT  *S3Context
   );
 
 EFI_STATUS
 SaveCondensedWritePointerToS3Context (
-  IN OUT S3_CONTEXT *S3Context,
-  IN     UINT16     PointerItem,
-  IN     UINT8      PointerSize,
-  IN     UINT32     PointerOffset,
-  IN     UINT64     PointerValue
+  IN OUT S3_CONTEXT  *S3Context,
+  IN     UINT16      PointerItem,
+  IN     UINT8       PointerSize,
+  IN     UINT32      PointerOffset,
+  IN     UINT64      PointerValue
   );
 
 EFI_STATUS
 TransferS3ContextToBootScript (
-  IN S3_CONTEXT *S3Context
+  IN S3_CONTEXT  *S3Context
   );
 
 #endif
-

+ 61 - 54
OvmfPkg/AcpiPlatformDxe/BootScript.c

@@ -14,20 +14,18 @@
 
 #include "AcpiPlatform.h"
 
-
 //
 // Condensed structure for capturing the fw_cfg operations -- select, skip,
 // write -- inherent in executing a QEMU_LOADER_WRITE_POINTER command.
 //
 typedef struct {
-  UINT16 PointerItem;   // resolved from QEMU_LOADER_WRITE_POINTER.PointerFile
-  UINT8  PointerSize;   // copied as-is from QEMU_LOADER_WRITE_POINTER
-  UINT32 PointerOffset; // copied as-is from QEMU_LOADER_WRITE_POINTER
-  UINT64 PointerValue;  // resolved from QEMU_LOADER_WRITE_POINTER.PointeeFile
-                        //   and QEMU_LOADER_WRITE_POINTER.PointeeOffset
+  UINT16    PointerItem;   // resolved from QEMU_LOADER_WRITE_POINTER.PointerFile
+  UINT8     PointerSize;   // copied as-is from QEMU_LOADER_WRITE_POINTER
+  UINT32    PointerOffset; // copied as-is from QEMU_LOADER_WRITE_POINTER
+  UINT64    PointerValue;  // resolved from QEMU_LOADER_WRITE_POINTER.PointeeFile
+                           //   and QEMU_LOADER_WRITE_POINTER.PointeeOffset
 } CONDENSED_WRITE_POINTER;
 
-
 //
 // Context structure to accumulate CONDENSED_WRITE_POINTER objects from
 // QEMU_LOADER_WRITE_POINTER commands.
@@ -36,27 +34,25 @@ typedef struct {
 // context structure is released, all pointed-to objects must be released too.
 //
 struct S3_CONTEXT {
-  CONDENSED_WRITE_POINTER *WritePointers; // one array element per processed
-                                          //   QEMU_LOADER_WRITE_POINTER
-                                          //   command
-  UINTN                   Allocated;      // number of elements allocated for
-                                          //   WritePointers
-  UINTN                   Used;           // number of elements populated in
-                                          //   WritePointers
+  CONDENSED_WRITE_POINTER    *WritePointers; // one array element per processed
+                                             //   QEMU_LOADER_WRITE_POINTER
+                                             //   command
+  UINTN                      Allocated;      // number of elements allocated for
+                                             //   WritePointers
+  UINTN                      Used;           // number of elements populated in
+                                             //   WritePointers
 };
 
-
 //
 // Scratch buffer, allocated in EfiReservedMemoryType type memory, for the ACPI
 // S3 Boot Script opcodes to work on.
 //
 #pragma pack (1)
 typedef union {
-  UINT64 PointerValue; // filled in from CONDENSED_WRITE_POINTER.PointerValue
+  UINT64    PointerValue; // filled in from CONDENSED_WRITE_POINTER.PointerValue
 } SCRATCH_BUFFER;
 #pragma pack ()
 
-
 /**
   Allocate an S3_CONTEXT object.
 
@@ -75,12 +71,12 @@ typedef union {
 **/
 EFI_STATUS
 AllocateS3Context (
-  OUT S3_CONTEXT **S3Context,
-  IN  UINTN      WritePointerCount
+  OUT S3_CONTEXT  **S3Context,
+  IN  UINTN       WritePointerCount
   )
 {
-  EFI_STATUS Status;
-  S3_CONTEXT *Context;
+  EFI_STATUS  Status;
+  S3_CONTEXT  *Context;
 
   if (WritePointerCount == 0) {
     return EFI_INVALID_PARAMETER;
@@ -91,15 +87,17 @@ AllocateS3Context (
     return EFI_OUT_OF_RESOURCES;
   }
 
-  Context->WritePointers = AllocatePool (WritePointerCount *
-                             sizeof *Context->WritePointers);
+  Context->WritePointers = AllocatePool (
+                             WritePointerCount *
+                             sizeof *Context->WritePointers
+                             );
   if (Context->WritePointers == NULL) {
     Status = EFI_OUT_OF_RESOURCES;
     goto FreeContext;
   }
 
   Context->Allocated = WritePointerCount;
-  *S3Context = Context;
+  *S3Context         = Context;
   return EFI_SUCCESS;
 
 FreeContext:
@@ -108,7 +106,6 @@ FreeContext:
   return Status;
 }
 
-
 /**
   Release an S3_CONTEXT object.
 
@@ -116,14 +113,13 @@ FreeContext:
 **/
 VOID
 ReleaseS3Context (
-  IN S3_CONTEXT *S3Context
+  IN S3_CONTEXT  *S3Context
   )
 {
   FreePool (S3Context->WritePointers);
   FreePool (S3Context);
 }
 
-
 /**
   Save the information necessary to replicate a QEMU_LOADER_WRITE_POINTER
   command during S3 resume, in condensed format.
@@ -158,31 +154,38 @@ ReleaseS3Context (
 **/
 EFI_STATUS
 SaveCondensedWritePointerToS3Context (
-  IN OUT S3_CONTEXT *S3Context,
-  IN     UINT16     PointerItem,
-  IN     UINT8      PointerSize,
-  IN     UINT32     PointerOffset,
-  IN     UINT64     PointerValue
+  IN OUT S3_CONTEXT  *S3Context,
+  IN     UINT16      PointerItem,
+  IN     UINT8       PointerSize,
+  IN     UINT32      PointerOffset,
+  IN     UINT64      PointerValue
   )
 {
-  CONDENSED_WRITE_POINTER *Condensed;
+  CONDENSED_WRITE_POINTER  *Condensed;
 
   if (S3Context->Used == S3Context->Allocated) {
     return EFI_OUT_OF_RESOURCES;
   }
-  Condensed = S3Context->WritePointers + S3Context->Used;
+
+  Condensed                = S3Context->WritePointers + S3Context->Used;
   Condensed->PointerItem   = PointerItem;
   Condensed->PointerSize   = PointerSize;
   Condensed->PointerOffset = PointerOffset;
   Condensed->PointerValue  = PointerValue;
-  DEBUG ((DEBUG_VERBOSE, "%a: 0x%04x/[0x%08x+%d] := 0x%Lx (%Lu)\n",
-    __FUNCTION__, PointerItem, PointerOffset, PointerSize, PointerValue,
-    (UINT64)S3Context->Used));
+  DEBUG ((
+    DEBUG_VERBOSE,
+    "%a: 0x%04x/[0x%08x+%d] := 0x%Lx (%Lu)\n",
+    __FUNCTION__,
+    PointerItem,
+    PointerOffset,
+    PointerSize,
+    PointerValue,
+    (UINT64)S3Context->Used
+    ));
   ++S3Context->Used;
   return EFI_SUCCESS;
 }
 
-
 /**
   FW_CFG_BOOT_SCRIPT_CALLBACK_FUNCTION provided to QemuFwCfgS3Lib.
 **/
@@ -190,31 +193,33 @@ STATIC
 VOID
 EFIAPI
 AppendFwCfgBootScript (
-  IN OUT VOID *Context               OPTIONAL,
-  IN OUT VOID *ExternalScratchBuffer
+  IN OUT VOID  *Context               OPTIONAL,
+  IN OUT VOID  *ExternalScratchBuffer
   )
 {
-  S3_CONTEXT     *S3Context;
-  SCRATCH_BUFFER *ScratchBuffer;
-  UINTN          Index;
+  S3_CONTEXT      *S3Context;
+  SCRATCH_BUFFER  *ScratchBuffer;
+  UINTN           Index;
 
-  S3Context = Context;
+  S3Context     = Context;
   ScratchBuffer = ExternalScratchBuffer;
 
   for (Index = 0; Index < S3Context->Used; ++Index) {
-    CONST CONDENSED_WRITE_POINTER *Condensed;
-    RETURN_STATUS                 Status;
+    CONST CONDENSED_WRITE_POINTER  *Condensed;
+    RETURN_STATUS                  Status;
 
     Condensed = &S3Context->WritePointers[Index];
 
-    Status = QemuFwCfgS3ScriptSkipBytes (Condensed->PointerItem,
-               Condensed->PointerOffset);
+    Status = QemuFwCfgS3ScriptSkipBytes (
+               Condensed->PointerItem,
+               Condensed->PointerOffset
+               );
     if (RETURN_ERROR (Status)) {
       goto FatalError;
     }
 
     ScratchBuffer->PointerValue = Condensed->PointerValue;
-    Status = QemuFwCfgS3ScriptWriteBytes (-1, Condensed->PointerSize);
+    Status                      = QemuFwCfgS3ScriptWriteBytes (-1, Condensed->PointerSize);
     if (RETURN_ERROR (Status)) {
       goto FatalError;
     }
@@ -230,7 +235,6 @@ FatalError:
   CpuDeadLoop ();
 }
 
-
 /**
   Translate and append the information from an S3_CONTEXT object to the ACPI S3
   Boot Script.
@@ -253,17 +257,20 @@ FatalError:
 **/
 EFI_STATUS
 TransferS3ContextToBootScript (
-  IN S3_CONTEXT *S3Context
+  IN S3_CONTEXT  *S3Context
   )
 {
-  RETURN_STATUS Status;
+  RETURN_STATUS  Status;
 
   if (S3Context->Used == 0) {
     ReleaseS3Context (S3Context);
     return EFI_SUCCESS;
   }
 
-  Status = QemuFwCfgS3CallWhenBootScriptReady (AppendFwCfgBootScript,
-             S3Context, sizeof (SCRATCH_BUFFER));
+  Status = QemuFwCfgS3CallWhenBootScriptReady (
+             AppendFwCfgBootScript,
+             S3Context,
+             sizeof (SCRATCH_BUFFER)
+             );
   return (EFI_STATUS)Status;
 }

+ 33 - 21
OvmfPkg/AcpiPlatformDxe/EntryPoint.c

@@ -21,49 +21,50 @@ FindAcpiTableProtocol (
   VOID
   )
 {
-  EFI_STATUS              Status;
-  EFI_ACPI_TABLE_PROTOCOL *AcpiTable;
+  EFI_STATUS               Status;
+  EFI_ACPI_TABLE_PROTOCOL  *AcpiTable;
 
   Status = gBS->LocateProtocol (
                   &gEfiAcpiTableProtocolGuid,
                   NULL,
-                  (VOID**)&AcpiTable
+                  (VOID **)&AcpiTable
                   );
   ASSERT_EFI_ERROR (Status);
   return AcpiTable;
 }
 
-
 STATIC
 VOID
 EFIAPI
 OnRootBridgesConnected (
-  IN EFI_EVENT Event,
-  IN VOID      *Context
+  IN EFI_EVENT  Event,
+  IN VOID       *Context
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
-  DEBUG ((DEBUG_INFO,
+  DEBUG ((
+    DEBUG_INFO,
     "%a: root bridges have been connected, installing ACPI tables\n",
-    __FUNCTION__));
+    __FUNCTION__
+    ));
   Status = InstallAcpiTables (FindAcpiTableProtocol ());
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: InstallAcpiTables: %r\n", __FUNCTION__, Status));
   }
+
   gBS->CloseEvent (Event);
 }
 
-
 EFI_STATUS
 EFIAPI
 AcpiPlatformEntryPoint (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS Status;
-  EFI_EVENT  RootBridgesConnected;
+  EFI_STATUS  Status;
+  EFI_EVENT   RootBridgesConnected;
 
   //
   // If the platform doesn't support PCI, or PCI enumeration has been disabled,
@@ -71,8 +72,12 @@ AcpiPlatformEntryPoint (
   // the full functionality.
   //
   if (PcdGetBool (PcdPciDisableBusEnumeration)) {
-    DEBUG ((DEBUG_INFO, "%a: PCI or its enumeration disabled, installing "
-      "ACPI tables\n", __FUNCTION__));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: PCI or its enumeration disabled, installing "
+      "ACPI tables\n",
+      __FUNCTION__
+      ));
     return InstallAcpiTables (FindAcpiTableProtocol ());
   }
 
@@ -82,13 +87,20 @@ AcpiPlatformEntryPoint (
   // setup. (Note that we're a DXE_DRIVER; our entry point function is invoked
   // strictly before BDS is entered and can connect the root bridges.)
   //
-  Status = gBS->CreateEventEx (EVT_NOTIFY_SIGNAL, TPL_CALLBACK,
-                  OnRootBridgesConnected, NULL /* Context */,
-                  &gRootBridgesConnectedEventGroupGuid, &RootBridgesConnected);
+  Status = gBS->CreateEventEx (
+                  EVT_NOTIFY_SIGNAL,
+                  TPL_CALLBACK,
+                  OnRootBridgesConnected,
+                  NULL /* Context */,
+                  &gRootBridgesConnectedEventGroupGuid,
+                  &RootBridgesConnected
+                  );
   if (!EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_INFO,
+    DEBUG ((
+      DEBUG_INFO,
       "%a: waiting for root bridges to be connected, registered callback\n",
-      __FUNCTION__));
+      __FUNCTION__
+      ));
   }
 
   return Status;

+ 75 - 35
OvmfPkg/AcpiPlatformDxe/PciDecoding.c

@@ -13,7 +13,6 @@
 
 #include "AcpiPlatform.h"
 
-
 /**
   Collect all PciIo protocol instances in the system. Save their original
   attributes, and enable IO and MMIO decoding for each.
@@ -40,15 +39,15 @@
 **/
 VOID
 EnablePciDecoding (
-  OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
-  OUT UINTN               *Count
+  OUT ORIGINAL_ATTRIBUTES  **OriginalAttributes,
+  OUT UINTN                *Count
   )
 {
-  EFI_STATUS          Status;
-  UINTN               NoHandles;
-  EFI_HANDLE          *Handles;
-  ORIGINAL_ATTRIBUTES *OrigAttrs;
-  UINTN               Idx;
+  EFI_STATUS           Status;
+  UINTN                NoHandles;
+  EFI_HANDLE           *Handles;
+  ORIGINAL_ATTRIBUTES  *OrigAttrs;
+  UINTN                Idx;
 
   *OriginalAttributes = NULL;
   *Count              = 0;
@@ -61,8 +60,13 @@ EnablePciDecoding (
     return;
   }
 
-  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiPciIoProtocolGuid,
-                  NULL /* SearchKey */, &NoHandles, &Handles);
+  Status = gBS->LocateHandleBuffer (
+                  ByProtocol,
+                  &gEfiPciIoProtocolGuid,
+                  NULL /* SearchKey */,
+                  &NoHandles,
+                  &Handles
+                  );
   if (Status == EFI_NOT_FOUND) {
     //
     // No PCI devices were found on either of the root bridges. We're done.
@@ -71,49 +75,75 @@ EnablePciDecoding (
   }
 
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_WARN, "%a: LocateHandleBuffer(): %r\n", __FUNCTION__,
-      Status));
+    DEBUG ((
+      DEBUG_WARN,
+      "%a: LocateHandleBuffer(): %r\n",
+      __FUNCTION__,
+      Status
+      ));
     return;
   }
 
   OrigAttrs = AllocatePool (NoHandles * sizeof *OrigAttrs);
   if (OrigAttrs == NULL) {
-    DEBUG ((DEBUG_WARN, "%a: AllocatePool(): out of resources\n",
-      __FUNCTION__));
+    DEBUG ((
+      DEBUG_WARN,
+      "%a: AllocatePool(): out of resources\n",
+      __FUNCTION__
+      ));
     goto FreeHandles;
   }
 
   for (Idx = 0; Idx < NoHandles; ++Idx) {
-    EFI_PCI_IO_PROTOCOL *PciIo;
-    UINT64              Attributes;
+    EFI_PCI_IO_PROTOCOL  *PciIo;
+    UINT64               Attributes;
 
     //
     // Look up PciIo on the handle and stash it
     //
-    Status = gBS->HandleProtocol (Handles[Idx], &gEfiPciIoProtocolGuid,
-                    (VOID**)&PciIo);
+    Status = gBS->HandleProtocol (
+                    Handles[Idx],
+                    &gEfiPciIoProtocolGuid,
+                    (VOID **)&PciIo
+                    );
     ASSERT_EFI_ERROR (Status);
     OrigAttrs[Idx].PciIo = PciIo;
 
     //
     // Stash the current attributes
     //
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationGet, 0,
-                      &OrigAttrs[Idx].PciAttributes);
+    Status = PciIo->Attributes (
+                      PciIo,
+                      EfiPciIoAttributeOperationGet,
+                      0,
+                      &OrigAttrs[Idx].PciAttributes
+                      );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationGet: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationGet: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
 
     //
     // Retrieve supported attributes
     //
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationSupported, 0,
-                      &Attributes);
+    Status = PciIo->Attributes (
+                      PciIo,
+                      EfiPciIoAttributeOperationSupported,
+                      0,
+                      &Attributes
+                      );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationSupported: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationSupported: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
 
@@ -121,11 +151,19 @@ EnablePciDecoding (
     // Enable IO and MMIO decoding
     //
     Attributes &= EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY;
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationEnable,
-                      Attributes, NULL);
+    Status      = PciIo->Attributes (
+                           PciIo,
+                           EfiPciIoAttributeOperationEnable,
+                           Attributes,
+                           NULL
+                           );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationEnable: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationEnable: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
   }
@@ -141,19 +179,20 @@ EnablePciDecoding (
 RestoreAttributes:
   while (Idx > 0) {
     --Idx;
-    OrigAttrs[Idx].PciIo->Attributes (OrigAttrs[Idx].PciIo,
+    OrigAttrs[Idx].PciIo->Attributes (
+                            OrigAttrs[Idx].PciIo,
                             EfiPciIoAttributeOperationSet,
                             OrigAttrs[Idx].PciAttributes,
                             NULL
                             );
   }
+
   FreePool (OrigAttrs);
 
 FreeHandles:
   FreePool (Handles);
 }
 
-
 /**
   Restore the original PCI attributes saved with EnablePciDecoding().
 
@@ -171,11 +210,11 @@ FreeHandles:
 **/
 VOID
 RestorePciDecoding (
-  IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
-  IN UINTN               Count
+  IN ORIGINAL_ATTRIBUTES  *OriginalAttributes,
+  IN UINTN                Count
   )
 {
-  UINTN Idx;
+  UINTN  Idx;
 
   ASSERT ((OriginalAttributes == NULL) == (Count == 0));
   if (OriginalAttributes == NULL) {
@@ -190,5 +229,6 @@ RestorePciDecoding (
                                      NULL
                                      );
   }
+
   FreePool (OriginalAttributes);
 }

File diff suppressed because it is too large
+ 379 - 249
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpi.c


+ 2 - 2
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatform.c

@@ -23,10 +23,10 @@
 EFI_STATUS
 EFIAPI
 InstallAcpiTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiTable
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   )
 {
-  EFI_STATUS                         Status;
+  EFI_STATUS  Status;
 
   Status = InstallQemuFwCfgTables (AcpiTable);
   return Status;

+ 78 - 44
OvmfPkg/AmdSev/BlobVerifierLibSevHashes/BlobVerifierSevHashes.c

@@ -42,25 +42,25 @@
 #define SEV_CMDLINE_HASH_GUID \
   (GUID) { 0x97d02dd8, 0xbd20, 0x4c94, { 0xaa, 0x78, 0xe7, 0x71, 0x4d, 0x36, 0xab, 0x2a } }
 
-STATIC CONST EFI_GUID mSevKernelHashGuid = SEV_KERNEL_HASH_GUID;
-STATIC CONST EFI_GUID mSevInitrdHashGuid = SEV_INITRD_HASH_GUID;
-STATIC CONST EFI_GUID mSevCmdlineHashGuid = SEV_CMDLINE_HASH_GUID;
+STATIC CONST EFI_GUID  mSevKernelHashGuid  = SEV_KERNEL_HASH_GUID;
+STATIC CONST EFI_GUID  mSevInitrdHashGuid  = SEV_INITRD_HASH_GUID;
+STATIC CONST EFI_GUID  mSevCmdlineHashGuid = SEV_CMDLINE_HASH_GUID;
 
 #pragma pack (1)
 typedef struct {
-  GUID   Guid;
-  UINT16 Len;
-  UINT8  Data[];
+  GUID      Guid;
+  UINT16    Len;
+  UINT8     Data[];
 } HASH_TABLE;
 #pragma pack ()
 
-STATIC HASH_TABLE *mHashesTable;
-STATIC UINT16 mHashesTableSize;
+STATIC HASH_TABLE  *mHashesTable;
+STATIC UINT16      mHashesTableSize;
 
 STATIC
-CONST GUID*
+CONST GUID *
 FindBlobEntryGuid (
-  IN  CONST CHAR16    *BlobName
+  IN  CONST CHAR16  *BlobName
   )
 {
   if (StrCmp (BlobName, L"kernel") == 0) {
@@ -88,26 +88,32 @@ FindBlobEntryGuid (
 EFI_STATUS
 EFIAPI
 VerifyBlob (
-  IN  CONST CHAR16    *BlobName,
-  IN  CONST VOID      *Buf,
-  IN  UINT32          BufSize
+  IN  CONST CHAR16  *BlobName,
+  IN  CONST VOID    *Buf,
+  IN  UINT32        BufSize
   )
 {
-  CONST GUID *Guid;
-  INT32 Remaining;
-  HASH_TABLE *Entry;
+  CONST GUID  *Guid;
+  INT32       Remaining;
+  HASH_TABLE  *Entry;
 
-  if (mHashesTable == NULL || mHashesTableSize == 0) {
-    DEBUG ((DEBUG_ERROR,
+  if ((mHashesTable == NULL) || (mHashesTableSize == 0)) {
+    DEBUG ((
+      DEBUG_ERROR,
       "%a: Verifier called but no hashes table discoverd in MEMFD\n",
-      __FUNCTION__));
+      __FUNCTION__
+      ));
     return EFI_ACCESS_DENIED;
   }
 
   Guid = FindBlobEntryGuid (BlobName);
   if (Guid == NULL) {
-    DEBUG ((DEBUG_ERROR, "%a: Unknown blob name \"%s\"\n", __FUNCTION__,
-      BlobName));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: Unknown blob name \"%s\"\n",
+      __FUNCTION__,
+      BlobName
+      ));
     return EFI_ACCESS_DENIED;
   }
 
@@ -118,10 +124,11 @@ VerifyBlob (
   for (Entry = mHashesTable, Remaining = mHashesTableSize;
        Remaining >= sizeof *Entry && Remaining >= Entry->Len;
        Remaining -= Entry->Len,
-       Entry = (HASH_TABLE *)((UINT8 *)Entry + Entry->Len)) {
-    UINTN EntrySize;
-    EFI_STATUS Status;
-    UINT8 Hash[SHA256_DIGEST_SIZE];
+       Entry = (HASH_TABLE *)((UINT8 *)Entry + Entry->Len))
+  {
+    UINTN       EntrySize;
+    EFI_STATUS  Status;
+    UINT8       Hash[SHA256_DIGEST_SIZE];
 
     if (!CompareGuid (&Entry->Guid, Guid)) {
       continue;
@@ -131,8 +138,13 @@ VerifyBlob (
 
     EntrySize = Entry->Len - sizeof Entry->Guid - sizeof Entry->Len;
     if (EntrySize != SHA256_DIGEST_SIZE) {
-      DEBUG ((DEBUG_ERROR, "%a: Hash has the wrong size %d != %d\n",
-        __FUNCTION__, EntrySize, SHA256_DIGEST_SIZE));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Hash has the wrong size %d != %d\n",
+        __FUNCTION__,
+        EntrySize,
+        SHA256_DIGEST_SIZE
+        ));
       return EFI_ACCESS_DENIED;
     }
 
@@ -144,18 +156,31 @@ VerifyBlob (
 
     if (CompareMem (Entry->Data, Hash, EntrySize) == 0) {
       Status = EFI_SUCCESS;
-      DEBUG ((DEBUG_INFO, "%a: Hash comparison succeeded for \"%s\"\n",
-        __FUNCTION__, BlobName));
+      DEBUG ((
+        DEBUG_INFO,
+        "%a: Hash comparison succeeded for \"%s\"\n",
+        __FUNCTION__,
+        BlobName
+        ));
     } else {
       Status = EFI_ACCESS_DENIED;
-      DEBUG ((DEBUG_ERROR, "%a: Hash comparison failed for \"%s\"\n",
-        __FUNCTION__, BlobName));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Hash comparison failed for \"%s\"\n",
+        __FUNCTION__,
+        BlobName
+        ));
     }
+
     return Status;
   }
 
-  DEBUG ((DEBUG_ERROR, "%a: Hash GUID %g not found in table\n", __FUNCTION__,
-    Guid));
+  DEBUG ((
+    DEBUG_ERROR,
+    "%a: Hash GUID %g not found in table\n",
+    __FUNCTION__,
+    Guid
+    ));
   return EFI_ACCESS_DENIED;
 }
 
@@ -174,29 +199,38 @@ BlobVerifierLibSevHashesConstructor (
   VOID
   )
 {
-  HASH_TABLE *Ptr;
-  UINT32 Size;
+  HASH_TABLE  *Ptr;
+  UINT32      Size;
 
-  mHashesTable = NULL;
+  mHashesTable     = NULL;
   mHashesTableSize = 0;
 
-  Ptr = (void *)(UINTN)FixedPcdGet64 (PcdQemuHashTableBase);
+  Ptr  = (void *)(UINTN)FixedPcdGet64 (PcdQemuHashTableBase);
   Size = FixedPcdGet32 (PcdQemuHashTableSize);
 
-  if (Ptr == NULL || Size < sizeof *Ptr ||
+  if ((Ptr == NULL) || (Size < sizeof *Ptr) ||
       !CompareGuid (&Ptr->Guid, &SEV_HASH_TABLE_GUID) ||
-      Ptr->Len < sizeof *Ptr || Ptr->Len > Size) {
+      (Ptr->Len < sizeof *Ptr) || (Ptr->Len > Size))
+  {
     return RETURN_SUCCESS;
   }
 
-  DEBUG ((DEBUG_INFO, "%a: Found injected hashes table in secure location\n",
-    __FUNCTION__));
+  DEBUG ((
+    DEBUG_INFO,
+    "%a: Found injected hashes table in secure location\n",
+    __FUNCTION__
+    ));
 
-  mHashesTable = (HASH_TABLE *)Ptr->Data;
+  mHashesTable     = (HASH_TABLE *)Ptr->Data;
   mHashesTableSize = Ptr->Len - sizeof Ptr->Guid - sizeof Ptr->Len;
 
-  DEBUG ((DEBUG_VERBOSE, "%a: mHashesTable=0x%p, Size=%u\n", __FUNCTION__,
-    mHashesTable, mHashesTableSize));
+  DEBUG ((
+    DEBUG_VERBOSE,
+    "%a: mHashesTable=0x%p, Size=%u\n",
+    __FUNCTION__,
+    mHashesTable,
+    mHashesTableSize
+    ));
 
   return RETURN_SUCCESS;
 }

+ 4 - 4
OvmfPkg/AmdSev/SecretDxe/SecretDxe.c

@@ -8,16 +8,16 @@
 #include <Library/UefiBootServicesTableLib.h>
 #include <Guid/ConfidentialComputingSecret.h>
 
-STATIC CONFIDENTIAL_COMPUTING_SECRET_LOCATION mSecretDxeTable = {
+STATIC CONFIDENTIAL_COMPUTING_SECRET_LOCATION  mSecretDxeTable = {
   FixedPcdGet32 (PcdSevLaunchSecretBase),
   FixedPcdGet32 (PcdSevLaunchSecretSize),
 };
 
 EFI_STATUS
 EFIAPI
-InitializeSecretDxe(
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+InitializeSecretDxe (
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
   return gBS->InstallConfigurationTable (

+ 14 - 9
OvmfPkg/AmdSevDxe/AmdSevDxe.c

@@ -22,8 +22,8 @@
 EFI_STATUS
 EFIAPI
 AmdSevDxeEntryPoint (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
   EFI_STATUS                       Status;
@@ -48,11 +48,12 @@ AmdSevDxeEntryPoint (
   Status = gDS->GetMemorySpaceMap (&NumEntries, &AllDescMap);
   if (!EFI_ERROR (Status)) {
     for (Index = 0; Index < NumEntries; Index++) {
-      CONST EFI_GCD_MEMORY_SPACE_DESCRIPTOR *Desc;
+      CONST EFI_GCD_MEMORY_SPACE_DESCRIPTOR  *Desc;
 
       Desc = &AllDescMap[Index];
-      if (Desc->GcdMemoryType == EfiGcdMemoryTypeMemoryMappedIo ||
-          Desc->GcdMemoryType == EfiGcdMemoryTypeNonExistent) {
+      if ((Desc->GcdMemoryType == EfiGcdMemoryTypeMemoryMappedIo) ||
+          (Desc->GcdMemoryType == EfiGcdMemoryTypeNonExistent))
+      {
         Status = MemEncryptSevClearMmioPageEncMask (
                    0,
                    Desc->BaseAddress,
@@ -101,8 +102,8 @@ AmdSevDxeEntryPoint (
   // is completed (See OvmfPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.c).
   //
   if (FeaturePcdGet (PcdSmmSmramRequire)) {
-    UINTN MapPagesBase;
-    UINTN MapPagesCount;
+    UINTN  MapPagesBase;
+    UINTN  MapPagesCount;
 
     Status = MemEncryptSevLocateInitialSmramSaveStateMapPages (
                &MapPagesBase,
@@ -123,8 +124,12 @@ AmdSevDxeEntryPoint (
                MapPagesCount  // NumPages
                );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: MemEncryptSevClearPageEncMask(): %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: MemEncryptSevClearPageEncMask(): %r\n",
+        __FUNCTION__,
+        Status
+        ));
       ASSERT (FALSE);
       CpuDeadLoop ();
     }

+ 41 - 44
OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.c

@@ -13,10 +13,10 @@
 EFI_STATUS
 EFIAPI
 InstallAcpiTable (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,
-  IN   VOID                          *AcpiTableBuffer,
-  IN   UINTN                         AcpiTableBufferSize,
-  OUT  UINTN                         *TableKey
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol,
+  IN   VOID                     *AcpiTableBuffer,
+  IN   UINTN                    AcpiTableBufferSize,
+  OUT  UINTN                    *TableKey
   )
 {
   return AcpiProtocol->InstallAcpiTable (
@@ -27,7 +27,6 @@ InstallAcpiTable (
                          );
 }
 
-
 /**
   Locate the first instance of a protocol.  If the protocol requested is an
   FV protocol, then it will return the first FV that contains the ACPI table
@@ -42,18 +41,18 @@ InstallAcpiTable (
 **/
 EFI_STATUS
 LocateFvInstanceWithTables (
-  OUT EFI_FIRMWARE_VOLUME2_PROTOCOL **Instance
+  OUT EFI_FIRMWARE_VOLUME2_PROTOCOL  **Instance
   )
 {
-  EFI_STATUS                    Status;
-  EFI_HANDLE                    *HandleBuffer;
-  UINTN                         NumberOfHandles;
-  EFI_FV_FILETYPE               FileType;
-  UINT32                        FvStatus;
-  EFI_FV_FILE_ATTRIBUTES        Attributes;
-  UINTN                         Size;
-  UINTN                         Index;
-  EFI_FIRMWARE_VOLUME2_PROTOCOL *FvInstance;
+  EFI_STATUS                     Status;
+  EFI_HANDLE                     *HandleBuffer;
+  UINTN                          NumberOfHandles;
+  EFI_FV_FILETYPE                FileType;
+  UINT32                         FvStatus;
+  EFI_FV_FILE_ATTRIBUTES         Attributes;
+  UINTN                          Size;
+  UINTN                          Index;
+  EFI_FIRMWARE_VOLUME2_PROTOCOL  *FvInstance;
 
   FvStatus = 0;
 
@@ -61,12 +60,12 @@ LocateFvInstanceWithTables (
   // Locate protocol.
   //
   Status = gBS->LocateHandleBuffer (
-                   ByProtocol,
-                   &gEfiFirmwareVolume2ProtocolGuid,
-                   NULL,
-                   &NumberOfHandles,
-                   &HandleBuffer
-                   );
+                  ByProtocol,
+                  &gEfiFirmwareVolume2ProtocolGuid,
+                  NULL,
+                  &NumberOfHandles,
+                  &HandleBuffer
+                  );
   if (EFI_ERROR (Status)) {
     //
     // Defined errors at this time are not found and out of resources.
@@ -83,10 +82,10 @@ LocateFvInstanceWithTables (
     // This should not fail because of LocateHandleBuffer
     //
     Status = gBS->HandleProtocol (
-                     HandleBuffer[Index],
-                     &gEfiFirmwareVolume2ProtocolGuid,
-                     (VOID**) &FvInstance
-                     );
+                    HandleBuffer[Index],
+                    &gEfiFirmwareVolume2ProtocolGuid,
+                    (VOID **)&FvInstance
+                    );
     ASSERT_EFI_ERROR (Status);
 
     //
@@ -94,7 +93,7 @@ LocateFvInstanceWithTables (
     //
     Status = FvInstance->ReadFile (
                            FvInstance,
-                           (EFI_GUID*)PcdGetPtr (PcdAcpiTableStorageFile),
+                           (EFI_GUID *)PcdGetPtr (PcdAcpiTableStorageFile),
                            NULL,
                            &Size,
                            &FileType,
@@ -124,7 +123,6 @@ LocateFvInstanceWithTables (
   return Status;
 }
 
-
 /**
   Find ACPI tables in an FV and install them.
 
@@ -140,18 +138,18 @@ LocateFvInstanceWithTables (
 EFI_STATUS
 EFIAPI
 InstallOvmfFvTables (
-  IN  EFI_ACPI_TABLE_PROTOCOL     *AcpiTable
+  IN  EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   )
 {
-  EFI_STATUS                           Status;
-  EFI_FIRMWARE_VOLUME2_PROTOCOL        *FwVol;
-  INTN                                 Instance;
-  EFI_ACPI_COMMON_HEADER               *CurrentTable;
-  UINTN                                TableHandle;
-  UINT32                               FvStatus;
-  UINTN                                TableSize;
-  UINTN                                Size;
-  EFI_ACPI_TABLE_INSTALL_ACPI_TABLE    TableInstallFunction;
+  EFI_STATUS                         Status;
+  EFI_FIRMWARE_VOLUME2_PROTOCOL      *FwVol;
+  INTN                               Instance;
+  EFI_ACPI_COMMON_HEADER             *CurrentTable;
+  UINTN                              TableHandle;
+  UINT32                             FvStatus;
+  UINTN                              TableSize;
+  UINTN                              Size;
+  EFI_ACPI_TABLE_INSTALL_ACPI_TABLE  TableInstallFunction;
 
   Instance     = 0;
   CurrentTable = NULL;
@@ -171,19 +169,19 @@ InstallOvmfFvTables (
   if (EFI_ERROR (Status)) {
     return EFI_ABORTED;
   }
+
   ASSERT (FwVol != NULL);
 
   //
   // Read tables from the storage file.
   //
   while (Status == EFI_SUCCESS) {
-
     Status = FwVol->ReadSection (
                       FwVol,
-                      (EFI_GUID*)PcdGetPtr (PcdAcpiTableStorageFile),
+                      (EFI_GUID *)PcdGetPtr (PcdAcpiTableStorageFile),
                       EFI_SECTION_RAW,
                       Instance,
-                      (VOID**) &CurrentTable,
+                      (VOID **)&CurrentTable,
                       &Size,
                       &FvStatus
                       );
@@ -193,7 +191,7 @@ InstallOvmfFvTables (
       //
       TableHandle = 0;
 
-      TableSize = ((EFI_ACPI_DESCRIPTION_HEADER *) CurrentTable)->Length;
+      TableSize = ((EFI_ACPI_DESCRIPTION_HEADER *)CurrentTable)->Length;
       ASSERT (Size >= TableSize);
 
       //
@@ -240,13 +238,12 @@ InstallOvmfFvTables (
 EFI_STATUS
 EFIAPI
 InstallAcpiTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiTable
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
   Status = InstallOvmfFvTables (AcpiTable);
 
   return Status;
 }
-

+ 17 - 17
OvmfPkg/Bhyve/AcpiPlatformDxe/AcpiPlatform.h

@@ -22,8 +22,8 @@
 #include <IndustryStandard/Acpi.h>
 
 typedef struct {
-  EFI_PCI_IO_PROTOCOL *PciIo;
-  UINT64              PciAttributes;
+  EFI_PCI_IO_PROTOCOL    *PciIo;
+  UINT64                 PciAttributes;
 } ORIGINAL_ATTRIBUTES;
 
 typedef struct S3_CONTEXT S3_CONTEXT;
@@ -31,43 +31,43 @@ typedef struct S3_CONTEXT S3_CONTEXT;
 EFI_STATUS
 EFIAPI
 InstallAcpiTable (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,
-  IN   VOID                          *AcpiTableBuffer,
-  IN   UINTN                         AcpiTableBufferSize,
-  OUT  UINTN                         *TableKey
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol,
+  IN   VOID                     *AcpiTableBuffer,
+  IN   UINTN                    AcpiTableBufferSize,
+  OUT  UINTN                    *TableKey
   );
 
 EFI_STATUS
 EFIAPI
-BhyveInstallAcpiTable(
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,
-  IN   VOID                          *AcpiTableBuffer,
-  IN   UINTN                         AcpiTableBufferSize,
-  OUT  UINTN                         *TableKey
+BhyveInstallAcpiTable (
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol,
+  IN   VOID                     *AcpiTableBuffer,
+  IN   UINTN                    AcpiTableBufferSize,
+  OUT  UINTN                    *TableKey
   );
 
 EFI_STATUS
 EFIAPI
 InstallXenTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol
   );
 
 EFI_STATUS
 EFIAPI
 InstallAcpiTables (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiTable
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiTable
   );
 
 VOID
 EnablePciDecoding (
-  OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
-  OUT UINTN               *Count
+  OUT ORIGINAL_ATTRIBUTES  **OriginalAttributes,
+  OUT UINTN                *Count
   );
 
 VOID
 RestorePciDecoding (
-  IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
-  IN UINTN               Count
+  IN ORIGINAL_ATTRIBUTES  *OriginalAttributes,
+  IN UINTN                Count
   );
 
 #endif /* _ACPI_PLATFORM_H_INCLUDED_ */

+ 36 - 35
OvmfPkg/Bhyve/AcpiPlatformDxe/Bhyve.c

@@ -16,28 +16,28 @@ STATIC
 EFI_STATUS
 EFIAPI
 BhyveInstallAcpiMadtTable (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,
-  IN   VOID                          *AcpiTableBuffer,
-  IN   UINTN                         AcpiTableBufferSize,
-  OUT  UINTN                         *TableKey
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol,
+  IN   VOID                     *AcpiTableBuffer,
+  IN   UINTN                    AcpiTableBufferSize,
+  OUT  UINTN                    *TableKey
   )
 {
-  UINT32                                              CpuCount;
-  UINTN                                               cSize;
-  UINTN                                               NewBufferSize;
-  EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER *Madt;
-  EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE         *LocalApic;
-  EFI_ACPI_1_0_IO_APIC_STRUCTURE                      *IoApic;
-  EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE    *Iso;
-  VOID                                                *Ptr;
-  UINTN                                               Loop;
-  EFI_STATUS                                          Status;
+  UINT32                                               CpuCount;
+  UINTN                                                cSize;
+  UINTN                                                NewBufferSize;
+  EFI_ACPI_1_0_MULTIPLE_APIC_DESCRIPTION_TABLE_HEADER  *Madt;
+  EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC_STRUCTURE          *LocalApic;
+  EFI_ACPI_1_0_IO_APIC_STRUCTURE                       *IoApic;
+  EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE_STRUCTURE     *Iso;
+  VOID                                                 *Ptr;
+  UINTN                                                Loop;
+  EFI_STATUS                                           Status;
 
   ASSERT (AcpiTableBufferSize >= sizeof (EFI_ACPI_DESCRIPTION_HEADER));
 
   // Query the host for the number of vCPUs
   CpuCount = 0;
-  cSize = sizeof(CpuCount);
+  cSize    = sizeof (CpuCount);
   if (BhyveFwCtlGet ("hw.ncpu", &CpuCount, &cSize) == RETURN_SUCCESS) {
     DEBUG ((DEBUG_INFO, "Retrieved CpuCount %d\n", CpuCount));
     ASSERT (CpuCount >= 1);
@@ -57,44 +57,45 @@ BhyveInstallAcpiMadtTable (
   }
 
   CopyMem (&(Madt->Header), AcpiTableBuffer, sizeof (EFI_ACPI_DESCRIPTION_HEADER));
-  Madt->Header.Length    = (UINT32) NewBufferSize;
+  Madt->Header.Length    = (UINT32)NewBufferSize;
   Madt->LocalApicAddress = 0xFEE00000;
   Madt->Flags            = EFI_ACPI_1_0_PCAT_COMPAT;
-  Ptr = Madt + 1;
+  Ptr                    = Madt + 1;
 
   LocalApic = Ptr;
   for (Loop = 0; Loop < CpuCount; ++Loop) {
     LocalApic->Type            = EFI_ACPI_1_0_PROCESSOR_LOCAL_APIC;
     LocalApic->Length          = sizeof (*LocalApic);
-    LocalApic->AcpiProcessorId = (UINT8) Loop;
-    LocalApic->ApicId          = (UINT8) Loop;
+    LocalApic->AcpiProcessorId = (UINT8)Loop;
+    LocalApic->ApicId          = (UINT8)Loop;
     LocalApic->Flags           = 1; // enabled
     ++LocalApic;
   }
+
   Ptr = LocalApic;
 
-  IoApic = Ptr;
+  IoApic                   = Ptr;
   IoApic->Type             = EFI_ACPI_1_0_IO_APIC;
   IoApic->Length           = sizeof (*IoApic);
-  IoApic->IoApicId         = (UINT8) CpuCount;
+  IoApic->IoApicId         = (UINT8)CpuCount;
   IoApic->Reserved         = EFI_ACPI_RESERVED_BYTE;
   IoApic->IoApicAddress    = 0xFEC00000;
   IoApic->SystemVectorBase = 0x00000000;
-  Ptr = IoApic + 1;
+  Ptr                      = IoApic + 1;
 
   //
   // IRQ0 (8254 Timer) => IRQ2 (PIC) Interrupt Source Override Structure
   //
-  Iso = Ptr;
+  Iso                              = Ptr;
   Iso->Type                        = EFI_ACPI_1_0_INTERRUPT_SOURCE_OVERRIDE;
   Iso->Length                      = sizeof (*Iso);
   Iso->Bus                         = 0x00; // ISA
   Iso->Source                      = 0x00; // IRQ0
   Iso->GlobalSystemInterruptVector = 0x00000002;
   Iso->Flags                       = 0x0000; // Conforms to specs of the bus
-  Ptr = Iso + 1;
+  Ptr                              = Iso + 1;
 
-  ASSERT ((UINTN) ((UINT8 *)Ptr - (UINT8 *)Madt) == NewBufferSize);
+  ASSERT ((UINTN)((UINT8 *)Ptr - (UINT8 *)Madt) == NewBufferSize);
   Status = InstallAcpiTable (AcpiProtocol, Madt, NewBufferSize, TableKey);
 
   FreePool (Madt);
@@ -105,22 +106,22 @@ BhyveInstallAcpiMadtTable (
 EFI_STATUS
 EFIAPI
 BhyveInstallAcpiTable (
-  IN   EFI_ACPI_TABLE_PROTOCOL       *AcpiProtocol,
-  IN   VOID                          *AcpiTableBuffer,
-  IN   UINTN                         AcpiTableBufferSize,
-  OUT  UINTN                         *TableKey
+  IN   EFI_ACPI_TABLE_PROTOCOL  *AcpiProtocol,
+  IN   VOID                     *AcpiTableBuffer,
+  IN   UINTN                    AcpiTableBufferSize,
+  OUT  UINTN                    *TableKey
   )
 {
   EFI_ACPI_DESCRIPTION_HEADER        *Hdr;
   EFI_ACPI_TABLE_INSTALL_ACPI_TABLE  TableInstallFunction;
 
-  Hdr = (EFI_ACPI_DESCRIPTION_HEADER*) AcpiTableBuffer;
+  Hdr = (EFI_ACPI_DESCRIPTION_HEADER *)AcpiTableBuffer;
   switch (Hdr->Signature) {
-  case EFI_ACPI_1_0_APIC_SIGNATURE:
-    TableInstallFunction = BhyveInstallAcpiMadtTable;
-    break;
-  default:
-    TableInstallFunction = InstallAcpiTable;
+    case EFI_ACPI_1_0_APIC_SIGNATURE:
+      TableInstallFunction = BhyveInstallAcpiMadtTable;
+      break;
+    default:
+      TableInstallFunction = InstallAcpiTable;
   }
 
   return TableInstallFunction (

+ 33 - 21
OvmfPkg/Bhyve/AcpiPlatformDxe/EntryPoint.c

@@ -16,49 +16,50 @@ FindAcpiTableProtocol (
   VOID
   )
 {
-  EFI_STATUS              Status;
-  EFI_ACPI_TABLE_PROTOCOL *AcpiTable;
+  EFI_STATUS               Status;
+  EFI_ACPI_TABLE_PROTOCOL  *AcpiTable;
 
   Status = gBS->LocateProtocol (
                   &gEfiAcpiTableProtocolGuid,
                   NULL,
-                  (VOID**)&AcpiTable
+                  (VOID **)&AcpiTable
                   );
   ASSERT_EFI_ERROR (Status);
   return AcpiTable;
 }
 
-
 STATIC
 VOID
 EFIAPI
 OnRootBridgesConnected (
-  IN EFI_EVENT Event,
-  IN VOID      *Context
+  IN EFI_EVENT  Event,
+  IN VOID       *Context
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
-  DEBUG ((DEBUG_INFO,
+  DEBUG ((
+    DEBUG_INFO,
     "%a: root bridges have been connected, installing ACPI tables\n",
-    __FUNCTION__));
+    __FUNCTION__
+    ));
   Status = InstallAcpiTables (FindAcpiTableProtocol ());
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: InstallAcpiTables: %r\n", __FUNCTION__, Status));
   }
+
   gBS->CloseEvent (Event);
 }
 
-
 EFI_STATUS
 EFIAPI
 AcpiPlatformEntryPoint (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS Status;
-  EFI_EVENT  RootBridgesConnected;
+  EFI_STATUS  Status;
+  EFI_EVENT   RootBridgesConnected;
 
   //
   // If the platform doesn't support PCI, or PCI enumeration has been disabled,
@@ -66,8 +67,12 @@ AcpiPlatformEntryPoint (
   // the full functionality.
   //
   if (PcdGetBool (PcdPciDisableBusEnumeration)) {
-    DEBUG ((DEBUG_INFO, "%a: PCI or its enumeration disabled, installing "
-      "ACPI tables\n", __FUNCTION__));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: PCI or its enumeration disabled, installing "
+      "ACPI tables\n",
+      __FUNCTION__
+      ));
     return InstallAcpiTables (FindAcpiTableProtocol ());
   }
 
@@ -77,13 +82,20 @@ AcpiPlatformEntryPoint (
   // setup. (Note that we're a DXE_DRIVER; our entry point function is invoked
   // strictly before BDS is entered and can connect the root bridges.)
   //
-  Status = gBS->CreateEventEx (EVT_NOTIFY_SIGNAL, TPL_CALLBACK,
-                  OnRootBridgesConnected, NULL /* Context */,
-                  &gRootBridgesConnectedEventGroupGuid, &RootBridgesConnected);
+  Status = gBS->CreateEventEx (
+                  EVT_NOTIFY_SIGNAL,
+                  TPL_CALLBACK,
+                  OnRootBridgesConnected,
+                  NULL /* Context */,
+                  &gRootBridgesConnectedEventGroupGuid,
+                  &RootBridgesConnected
+                  );
   if (!EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_INFO,
+    DEBUG ((
+      DEBUG_INFO,
       "%a: waiting for root bridges to be connected, registered callback\n",
-      __FUNCTION__));
+      __FUNCTION__
+      ));
   }
 
   return Status;

+ 75 - 35
OvmfPkg/Bhyve/AcpiPlatformDxe/PciDecoding.c

@@ -11,7 +11,6 @@
 
 #include "AcpiPlatform.h"
 
-
 /**
   Collect all PciIo protocol instances in the system. Save their original
   attributes, and enable IO and MMIO decoding for each.
@@ -38,15 +37,15 @@
 **/
 VOID
 EnablePciDecoding (
-  OUT ORIGINAL_ATTRIBUTES **OriginalAttributes,
-  OUT UINTN               *Count
+  OUT ORIGINAL_ATTRIBUTES  **OriginalAttributes,
+  OUT UINTN                *Count
   )
 {
-  EFI_STATUS          Status;
-  UINTN               NoHandles;
-  EFI_HANDLE          *Handles;
-  ORIGINAL_ATTRIBUTES *OrigAttrs;
-  UINTN               Idx;
+  EFI_STATUS           Status;
+  UINTN                NoHandles;
+  EFI_HANDLE           *Handles;
+  ORIGINAL_ATTRIBUTES  *OrigAttrs;
+  UINTN                Idx;
 
   *OriginalAttributes = NULL;
   *Count              = 0;
@@ -59,8 +58,13 @@ EnablePciDecoding (
     return;
   }
 
-  Status = gBS->LocateHandleBuffer (ByProtocol, &gEfiPciIoProtocolGuid,
-                  NULL /* SearchKey */, &NoHandles, &Handles);
+  Status = gBS->LocateHandleBuffer (
+                  ByProtocol,
+                  &gEfiPciIoProtocolGuid,
+                  NULL /* SearchKey */,
+                  &NoHandles,
+                  &Handles
+                  );
   if (Status == EFI_NOT_FOUND) {
     //
     // No PCI devices were found on either of the root bridges. We're done.
@@ -69,49 +73,75 @@ EnablePciDecoding (
   }
 
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_WARN, "%a: LocateHandleBuffer(): %r\n", __FUNCTION__,
-      Status));
+    DEBUG ((
+      DEBUG_WARN,
+      "%a: LocateHandleBuffer(): %r\n",
+      __FUNCTION__,
+      Status
+      ));
     return;
   }
 
   OrigAttrs = AllocatePool (NoHandles * sizeof *OrigAttrs);
   if (OrigAttrs == NULL) {
-    DEBUG ((DEBUG_WARN, "%a: AllocatePool(): out of resources\n",
-      __FUNCTION__));
+    DEBUG ((
+      DEBUG_WARN,
+      "%a: AllocatePool(): out of resources\n",
+      __FUNCTION__
+      ));
     goto FreeHandles;
   }
 
   for (Idx = 0; Idx < NoHandles; ++Idx) {
-    EFI_PCI_IO_PROTOCOL *PciIo;
-    UINT64              Attributes;
+    EFI_PCI_IO_PROTOCOL  *PciIo;
+    UINT64               Attributes;
 
     //
     // Look up PciIo on the handle and stash it
     //
-    Status = gBS->HandleProtocol (Handles[Idx], &gEfiPciIoProtocolGuid,
-                    (VOID**)&PciIo);
+    Status = gBS->HandleProtocol (
+                    Handles[Idx],
+                    &gEfiPciIoProtocolGuid,
+                    (VOID **)&PciIo
+                    );
     ASSERT_EFI_ERROR (Status);
     OrigAttrs[Idx].PciIo = PciIo;
 
     //
     // Stash the current attributes
     //
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationGet, 0,
-                      &OrigAttrs[Idx].PciAttributes);
+    Status = PciIo->Attributes (
+                      PciIo,
+                      EfiPciIoAttributeOperationGet,
+                      0,
+                      &OrigAttrs[Idx].PciAttributes
+                      );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationGet: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationGet: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
 
     //
     // Retrieve supported attributes
     //
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationSupported, 0,
-                      &Attributes);
+    Status = PciIo->Attributes (
+                      PciIo,
+                      EfiPciIoAttributeOperationSupported,
+                      0,
+                      &Attributes
+                      );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationSupported: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationSupported: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
 
@@ -119,11 +149,19 @@ EnablePciDecoding (
     // Enable IO and MMIO decoding
     //
     Attributes &= EFI_PCI_IO_ATTRIBUTE_IO | EFI_PCI_IO_ATTRIBUTE_MEMORY;
-    Status = PciIo->Attributes (PciIo, EfiPciIoAttributeOperationEnable,
-                      Attributes, NULL);
+    Status      = PciIo->Attributes (
+                           PciIo,
+                           EfiPciIoAttributeOperationEnable,
+                           Attributes,
+                           NULL
+                           );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_WARN, "%a: EfiPciIoAttributeOperationEnable: %r\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_WARN,
+        "%a: EfiPciIoAttributeOperationEnable: %r\n",
+        __FUNCTION__,
+        Status
+        ));
       goto RestoreAttributes;
     }
   }
@@ -139,19 +177,20 @@ EnablePciDecoding (
 RestoreAttributes:
   while (Idx > 0) {
     --Idx;
-    OrigAttrs[Idx].PciIo->Attributes (OrigAttrs[Idx].PciIo,
+    OrigAttrs[Idx].PciIo->Attributes (
+                            OrigAttrs[Idx].PciIo,
                             EfiPciIoAttributeOperationSet,
                             OrigAttrs[Idx].PciAttributes,
                             NULL
                             );
   }
+
   FreePool (OrigAttrs);
 
 FreeHandles:
   FreePool (Handles);
 }
 
-
 /**
   Restore the original PCI attributes saved with EnablePciDecoding().
 
@@ -169,11 +208,11 @@ FreeHandles:
 **/
 VOID
 RestorePciDecoding (
-  IN ORIGINAL_ATTRIBUTES *OriginalAttributes,
-  IN UINTN               Count
+  IN ORIGINAL_ATTRIBUTES  *OriginalAttributes,
+  IN UINTN                Count
   )
 {
-  UINTN Idx;
+  UINTN  Idx;
 
   ASSERT ((OriginalAttributes == NULL) == (Count == 0));
   if (OriginalAttributes == NULL) {
@@ -188,5 +227,6 @@ RestorePciDecoding (
                                      NULL
                                      );
   }
+
   FreePool (OriginalAttributes);
 }

+ 39 - 39
OvmfPkg/Bhyve/AcpiTables/Platform.h

@@ -20,53 +20,53 @@
 //
 // ACPI table information used to initialize tables.
 //
-#define EFI_ACPI_OEM_ID           'B','H','Y','V','E',' '   // OEMID 6 bytes long
-#define EFI_ACPI_OEM_REVISION     0x1
-#define EFI_ACPI_CREATOR_ID       SIGNATURE_32('B','H','Y','V')
-#define EFI_ACPI_CREATOR_REVISION 0x00000001
+#define EFI_ACPI_OEM_ID            'B','H','Y','V','E',' '  // OEMID 6 bytes long
+#define EFI_ACPI_OEM_REVISION      0x1
+#define EFI_ACPI_CREATOR_ID        SIGNATURE_32('B','H','Y','V')
+#define EFI_ACPI_CREATOR_REVISION  0x00000001
 
-#define INT_MODEL       0x01
-#define SCI_INT_VECTOR  0x0009
-#define SMI_CMD_IO_PORT 0xB2
-#define ACPI_ENABLE     0xA0
-#define ACPI_DISABLE    0xA1
-#define S4BIOS_REQ      0x00
-#define PM1a_EVT_BLK    0x00000400      /* TNXXX */
-#define PM1b_EVT_BLK    0x00000000
-#define PM1a_CNT_BLK    0x00000404      /* TNXXX */
-#define PM1b_CNT_BLK    0x00000000
-#define PM2_CNT_BLK     0x00000000
-#define PM_TMR_BLK      0x00000408
-#define GPE0_BLK        0x00000000
-#define GPE1_BLK        0x00000000
-#define PM1_EVT_LEN     0x04
-#define PM1_CNT_LEN     0x02
-#define PM2_CNT_LEN     0x00
-#define PM_TM_LEN       0x04
-#define GPE0_BLK_LEN    0x00
-#define GPE1_BLK_LEN    0x00
-#define GPE1_BASE       0x00
-#define RESERVED        0x00
-#define P_LVL2_LAT      0x0000
-#define P_LVL3_LAT      0x0000
-#define FLUSH_SIZE      0x0000
-#define FLUSH_STRIDE    0x0000
-#define DUTY_OFFSET     0x00
-#define DUTY_WIDTH      0x00
-#define DAY_ALRM        0x00
-#define MON_ALRM        0x00
-#define CENTURY         0x32
-#define IAPC_BOOT_ARCH  0x12    /* 8042 present, disable PCIe ASPM */
-#define FACP_FLAGS      (EFI_ACPI_1_0_WBINVD | EFI_ACPI_1_0_PROC_C1 |         \
+#define INT_MODEL        0x01
+#define SCI_INT_VECTOR   0x0009
+#define SMI_CMD_IO_PORT  0xB2
+#define ACPI_ENABLE      0xA0
+#define ACPI_DISABLE     0xA1
+#define S4BIOS_REQ       0x00
+#define PM1a_EVT_BLK     0x00000400     /* TNXXX */
+#define PM1b_EVT_BLK     0x00000000
+#define PM1a_CNT_BLK     0x00000404     /* TNXXX */
+#define PM1b_CNT_BLK     0x00000000
+#define PM2_CNT_BLK      0x00000000
+#define PM_TMR_BLK       0x00000408
+#define GPE0_BLK         0x00000000
+#define GPE1_BLK         0x00000000
+#define PM1_EVT_LEN      0x04
+#define PM1_CNT_LEN      0x02
+#define PM2_CNT_LEN      0x00
+#define PM_TM_LEN        0x04
+#define GPE0_BLK_LEN     0x00
+#define GPE1_BLK_LEN     0x00
+#define GPE1_BASE        0x00
+#define RESERVED         0x00
+#define P_LVL2_LAT       0x0000
+#define P_LVL3_LAT       0x0000
+#define FLUSH_SIZE       0x0000
+#define FLUSH_STRIDE     0x0000
+#define DUTY_OFFSET      0x00
+#define DUTY_WIDTH       0x00
+#define DAY_ALRM         0x00
+#define MON_ALRM         0x00
+#define CENTURY          0x32
+#define IAPC_BOOT_ARCH   0x12   /* 8042 present, disable PCIe ASPM */
+#define FACP_FLAGS       (EFI_ACPI_1_0_WBINVD | EFI_ACPI_1_0_PROC_C1 |        \
                         EFI_ACPI_1_0_SLP_BUTTON | EFI_ACPI_1_0_TMR_VAL_EXT |  \
                         EFI_ACPI_2_0_RESET_REG_SUP |                          \
                         EFI_ACPI_3_0_FORCE_APIC_PHYSICAL_DESTINATION_MODE)
-#define FACP_RESET_REG  {                                               \
+#define FACP_RESET_REG   {                                              \
         EFI_ACPI_3_0_SYSTEM_IO,         /* Address Space ID */          \
         8,                              /* Bit Width */                 \
         0,                              /* Bit Offset */                \
         EFI_ACPI_3_0_BYTE,              /* Byte Access */               \
         0xCF9                           /* I/O Port */                  \
 }
-#define FACP_RESET_VAL  0x6
+#define FACP_RESET_VAL   0x6
 #endif

+ 16 - 19
OvmfPkg/Bhyve/BhyveRfbDxe/ComponentName.c

@@ -30,17 +30,17 @@ EmuGopComponentNameGetDriverName (
 EFI_STATUS
 EFIAPI
 EmuGopComponentNameGetControllerName (
-  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
-  IN  EFI_HANDLE                                      ControllerHandle,
-  IN  EFI_HANDLE                                      ChildHandle        OPTIONAL,
-  IN  CHAR8                                           *Language,
-  OUT CHAR16                                          **ControllerName
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  EFI_HANDLE                   ControllerHandle,
+  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **ControllerName
   );
 
 //
 // EFI Component Name Protocol
 //
-EFI_COMPONENT_NAME_PROTOCOL     gEmuGopComponentName = {
+EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName = {
   EmuGopComponentNameGetDriverName,
   EmuGopComponentNameGetControllerName,
   "eng"
@@ -49,19 +49,17 @@ EFI_COMPONENT_NAME_PROTOCOL     gEmuGopComponentName = {
 //
 // EFI Component Name 2 Protocol
 //
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gEmuGopComponentName2 = {
-  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) EmuGopComponentNameGetDriverName,
-  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) EmuGopComponentNameGetControllerName,
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL  gEmuGopComponentName2 = {
+  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)EmuGopComponentNameGetDriverName,
+  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)EmuGopComponentNameGetControllerName,
   "en"
 };
 
-
-EFI_UNICODE_STRING_TABLE mEmuGopDriverNameTable[] = {
+EFI_UNICODE_STRING_TABLE  mEmuGopDriverNameTable[] = {
   { "eng", L"Emulator GOP Driver" },
-  { NULL , NULL }
+  { NULL,  NULL                   }
 };
 
-
 /**
   Retrieves a Unicode string that is the user readable name of the driver.
 
@@ -118,7 +116,6 @@ EmuGopComponentNameGetDriverName (
            );
 }
 
-
 /**
   Retrieves a Unicode string that is the user readable name of the controller
   that is being managed by a driver.
@@ -190,11 +187,11 @@ EmuGopComponentNameGetDriverName (
 EFI_STATUS
 EFIAPI
 EmuGopComponentNameGetControllerName (
-  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
-  IN  EFI_HANDLE                                      ControllerHandle,
-  IN  EFI_HANDLE                                      ChildHandle        OPTIONAL,
-  IN  CHAR8                                           *Language,
-  OUT CHAR16                                          **ControllerName
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  EFI_HANDLE                   ControllerHandle,
+  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **ControllerName
   )
 {
   return EFI_UNSUPPORTED;

+ 41 - 42
OvmfPkg/Bhyve/BhyveRfbDxe/Gop.h

@@ -31,27 +31,27 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include <IndustryStandard/Pci.h>
 
-#define GRAPHICS_OUTPUT_INVALID_MODE_NUMBER 0xffff
+#define GRAPHICS_OUTPUT_INVALID_MODE_NUMBER  0xffff
 
 typedef struct {
-  UINT32                     HorizontalResolution;
-  UINT32                     VerticalResolution;
-  UINT32                     ColorDepth;
-  UINT32                     RefreshRate;
+  UINT32    HorizontalResolution;
+  UINT32    VerticalResolution;
+  UINT32    ColorDepth;
+  UINT32    RefreshRate;
 } GOP_MODE_DATA;
 
-#define PIXEL_RED_SHIFT   0
-#define PIXEL_GREEN_SHIFT 3
-#define PIXEL_BLUE_SHIFT  6
+#define PIXEL_RED_SHIFT    0
+#define PIXEL_GREEN_SHIFT  3
+#define PIXEL_BLUE_SHIFT   6
 
 #define PIXEL_RED_MASK    (BIT7 | BIT6 | BIT5)
 #define PIXEL_GREEN_MASK  (BIT4 | BIT3 | BIT2)
 #define PIXEL_BLUE_MASK   (BIT1 | BIT0)
 
-#define PIXEL_TO_COLOR_BYTE(pixel, mask, shift) ((UINT8) ((pixel & mask) << shift))
-#define PIXEL_TO_RED_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_RED_MASK, PIXEL_RED_SHIFT)
-#define PIXEL_TO_GREEN_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_GREEN_MASK, PIXEL_GREEN_SHIFT)
-#define PIXEL_TO_BLUE_BYTE(pixel) PIXEL_TO_COLOR_BYTE(pixel, PIXEL_BLUE_MASK, PIXEL_BLUE_SHIFT)
+#define PIXEL_TO_COLOR_BYTE(pixel, mask, shift)  ((UINT8) ((pixel & mask) << shift))
+#define PIXEL_TO_RED_BYTE(pixel)                 PIXEL_TO_COLOR_BYTE(pixel, PIXEL_RED_MASK, PIXEL_RED_SHIFT)
+#define PIXEL_TO_GREEN_BYTE(pixel)               PIXEL_TO_COLOR_BYTE(pixel, PIXEL_GREEN_MASK, PIXEL_GREEN_SHIFT)
+#define PIXEL_TO_BLUE_BYTE(pixel)                PIXEL_TO_COLOR_BYTE(pixel, PIXEL_BLUE_MASK, PIXEL_BLUE_SHIFT)
 
 #define RGB_BYTES_TO_PIXEL(Red, Green, Blue) \
   (UINT8) ( (((Red) >> PIXEL_RED_SHIFT) & PIXEL_RED_MASK) | \
@@ -62,61 +62,60 @@ typedef struct {
 #define PIXEL24_GREEN_MASK  0x0000ff00
 #define PIXEL24_BLUE_MASK   0x000000ff
 
-extern EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL gEmuGopComponentName;
+extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;
+extern EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
 
-#define EMU_UGA_CLASS_NAME       L"EmuGopWindow"
+#define EMU_UGA_CLASS_NAME  L"EmuGopWindow"
 
 #define GOP_PRIVATE_DATA_SIGNATURE  SIGNATURE_32 ('G', 'o', 'p', 'N')
 typedef struct {
-  UINT64                            Signature;
+  UINT64                          Signature;
 
-  EFI_HANDLE                        Handle;
-  EFI_PCI_IO_PROTOCOL               *PciIo;
-  EFI_GRAPHICS_OUTPUT_PROTOCOL      GraphicsOutput;
-  EFI_DEVICE_PATH_PROTOCOL          *GopDevicePath;
+  EFI_HANDLE                      Handle;
+  EFI_PCI_IO_PROTOCOL             *PciIo;
+  EFI_GRAPHICS_OUTPUT_PROTOCOL    GraphicsOutput;
+  EFI_DEVICE_PATH_PROTOCOL        *GopDevicePath;
 
-  EFI_UNICODE_STRING_TABLE          *ControllerNameTable;
+  EFI_UNICODE_STRING_TABLE        *ControllerNameTable;
 
   //
   // GOP Private Data for QueryMode ()
   //
-  GOP_MODE_DATA                     *ModeData;
+  GOP_MODE_DATA                   *ModeData;
 
-  UINT64                            FbAddr;
-  UINT32                            FbSize;
+  UINT64                          FbAddr;
+  UINT32                          FbSize;
 } GOP_PRIVATE_DATA;
 
-
 #define GOP_PRIVATE_DATA_FROM_THIS(a)  \
          CR(a, GOP_PRIVATE_DATA, GraphicsOutput, GOP_PRIVATE_DATA_SIGNATURE)
 
 typedef struct {
-  UINT32            FbSize;
-  UINT16            Width;
-  UINT16            Height;
-  UINT16            Depth;
-  UINT16            RefreshRate;
+  UINT32    FbSize;
+  UINT16    Width;
+  UINT16    Height;
+  UINT16    Depth;
+  UINT16    RefreshRate;
 } BHYVE_FBUF_MEMREGS;
 
 //
 // Global Protocol Variables
 //
-extern EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL  gEmuGopComponentName;
-extern EFI_COMPONENT_NAME2_PROTOCOL gEmuGopComponentName2;
+extern EFI_DRIVER_BINDING_PROTOCOL   gEmuGopDriverBinding;
+extern EFI_COMPONENT_NAME_PROTOCOL   gEmuGopComponentName;
+extern EFI_COMPONENT_NAME2_PROTOCOL  gEmuGopComponentName2;
 
 //
 // Gop Hardware abstraction internal worker functions
 //
 EFI_STATUS
 EmuGopConstructor (
-  IN  GOP_PRIVATE_DATA    *Private
+  IN  GOP_PRIVATE_DATA  *Private
   );
 
 EFI_STATUS
 EmuGopDestructor (
-  IN  GOP_PRIVATE_DATA    *Private
+  IN  GOP_PRIVATE_DATA  *Private
   );
 
 VOID
@@ -129,21 +128,21 @@ ShutdownGopEvent (
 VOID
 BhyveSetGraphicsMode (
   GOP_PRIVATE_DATA  *Private,
-  UINT16             Width,
-  UINT16             Height,
-  UINT16             Depth
+  UINT16            Width,
+  UINT16            Height,
+  UINT16            Depth
   );
 
 VOID
 BhyveGetMemregs (
-  GOP_PRIVATE_DATA  *Private,
-  BHYVE_FBUF_MEMREGS *Memregs
+  GOP_PRIVATE_DATA    *Private,
+  BHYVE_FBUF_MEMREGS  *Memregs
   );
 
 VOID
 InstallVbeShim (
-  IN CONST CHAR16         *CardName,
-  IN EFI_PHYSICAL_ADDRESS FrameBufferBase
+  IN CONST CHAR16          *CardName,
+  IN EFI_PHYSICAL_ADDRESS  FrameBufferBase
   );
 
 #endif /* _GOP_H_ */

+ 134 - 122
OvmfPkg/Bhyve/BhyveRfbDxe/GopDriver.c

@@ -13,13 +13,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 STATIC VOID
 BhyveGetGraphicsMode (
-  EFI_PCI_IO_PROTOCOL *PciIo,
-  UINT16              *Width,
-  UINT16              *Height,
-  UINT16              *Depth
+  EFI_PCI_IO_PROTOCOL  *PciIo,
+  UINT16               *Width,
+  UINT16               *Height,
+  UINT16               *Depth
   );
 
-
 /**
   Tests to see if this driver supports a given controller. If a child device is provided,
   it further tests to see if this driver supports creating a handle for the specified child device.
@@ -65,15 +64,15 @@ BhyveGetGraphicsMode (
 EFI_STATUS
 EFIAPI
 EmuGopDriverBindingSupported (
-  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
-  IN  EFI_HANDLE                      Handle,
-  IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN  EFI_HANDLE                   Handle,
+  IN  EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
   )
 {
-  EFI_STATUS                Status;
-  EFI_PCI_IO_PROTOCOL       *PciIo;
-  PCI_TYPE00                Pci;
-  UINT16                    Width, Height, Depth;
+  EFI_STATUS           Status;
+  EFI_PCI_IO_PROTOCOL  *PciIo;
+  PCI_TYPE00           Pci;
+  UINT16               Width, Height, Depth;
 
   //
   // Open the IO Abstraction(s) needed to perform the supported test
@@ -81,7 +80,7 @@ EmuGopDriverBindingSupported (
   Status = gBS->OpenProtocol (
                   Handle,
                   &gEfiPciIoProtocolGuid,
-                  (VOID **) &PciIo,
+                  (VOID **)&PciIo,
                   This->DriverBindingHandle,
                   Handle,
                   EFI_OPEN_PROTOCOL_BY_DRIVER
@@ -107,11 +106,11 @@ EmuGopDriverBindingSupported (
   }
 
   Status = EFI_UNSUPPORTED;
-  if (Pci.Hdr.VendorId == 0xFB5D && Pci.Hdr.DeviceId == 0x40FB) {
-    DEBUG((DEBUG_INFO, "BHYVE framebuffer device detected\n"));
+  if ((Pci.Hdr.VendorId == 0xFB5D) && (Pci.Hdr.DeviceId == 0x40FB)) {
+    DEBUG ((DEBUG_INFO, "BHYVE framebuffer device detected\n"));
     Status = EFI_SUCCESS;
 
-    BhyveGetGraphicsMode(PciIo, &Width, &Height, &Depth);
+    BhyveGetGraphicsMode (PciIo, &Width, &Height, &Depth);
     PcdSet32S (PcdVideoHorizontalResolution, Width);
     PcdSet32S (PcdVideoVerticalResolution, Height);
   }
@@ -121,16 +120,15 @@ Done:
   // Close the PCI I/O Protocol
   //
   gBS->CloseProtocol (
-        Handle,
-        &gEfiPciIoProtocolGuid,
-        This->DriverBindingHandle,
-        Handle
-        );
+         Handle,
+         &gEfiPciIoProtocolGuid,
+         This->DriverBindingHandle,
+         Handle
+         );
 
   return Status;
 }
 
-
 /**
   Starts a device controller or a bus controller.
 
@@ -169,25 +167,25 @@ Done:
 EFI_STATUS
 EFIAPI
 EmuGopDriverBindingStart (
-  IN  EFI_DRIVER_BINDING_PROTOCOL     *This,
-  IN  EFI_HANDLE                      Handle,
-  IN  EFI_DEVICE_PATH_PROTOCOL        *RemainingDevicePath
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  IN  EFI_HANDLE                   Handle,
+  IN  EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
   )
 {
-  BHYVE_FBUF_MEMREGS      Memregs;
-  GOP_PRIVATE_DATA        *Private;
-  EFI_STATUS              Status;
-  EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR *MmioDesc;
+  BHYVE_FBUF_MEMREGS                 Memregs;
+  GOP_PRIVATE_DATA                   *Private;
+  EFI_STATUS                         Status;
+  EFI_ACPI_ADDRESS_SPACE_DESCRIPTOR  *MmioDesc;
 
   //
   // Allocate Private context data for SGO inteface.
   //
   Private = NULL;
-  Status = gBS->AllocatePool (
-                  EfiBootServicesData,
-                  sizeof (GOP_PRIVATE_DATA),
-                  (VOID **)&Private
-                  );
+  Status  = gBS->AllocatePool (
+                   EfiBootServicesData,
+                   sizeof (GOP_PRIVATE_DATA),
+                   (VOID **)&Private
+                   );
   if (EFI_ERROR (Status)) {
     goto Done;
   }
@@ -204,7 +202,7 @@ EmuGopDriverBindingStart (
   Status = gBS->OpenProtocol (
                   Handle,
                   &gEfiPciIoProtocolGuid,
-                  (VOID **) &Private->PciIo,
+                  (VOID **)&Private->PciIo,
                   This->DriverBindingHandle,
                   Handle,
                   EFI_OPEN_PROTOCOL_BY_DRIVER
@@ -217,24 +215,30 @@ EmuGopDriverBindingStart (
   // Check if fbuf mmio BAR is present
   //
   MmioDesc = NULL;
-  Status = Private->PciIo->GetBarAttributes (
-                      Private->PciIo,
-                      PCI_BAR_IDX0,
-                      NULL,
-                      (VOID**) &MmioDesc
-                      );
+  Status   = Private->PciIo->GetBarAttributes (
+                               Private->PciIo,
+                               PCI_BAR_IDX0,
+                               NULL,
+                               (VOID **)&MmioDesc
+                               );
   if (EFI_ERROR (Status) ||
-      MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM) {
+      (MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM))
+  {
     DEBUG ((DEBUG_INFO, "BHYVE GOP: No mmio bar\n"));
   } else {
-    DEBUG ((DEBUG_INFO, "BHYVE GOP: Using mmio bar @ 0x%lx\n",
-            MmioDesc->AddrRangeMin));
-    BhyveGetMemregs(Private, &Memregs);
+    DEBUG ((
+      DEBUG_INFO,
+      "BHYVE GOP: Using mmio bar @ 0x%lx\n",
+      MmioDesc->AddrRangeMin
+      ));
+    BhyveGetMemregs (Private, &Memregs);
     Private->FbSize = Memregs.FbSize;
   }
+
   if (MmioDesc != NULL) {
     FreePool (MmioDesc);
   }
+
   if (EFI_ERROR (Status)) {
     goto Done;
   }
@@ -243,18 +247,22 @@ EmuGopDriverBindingStart (
   // Check if fbuf frame-buffer BAR is present
   //
   MmioDesc = NULL;
-  Status = Private->PciIo->GetBarAttributes (
-                      Private->PciIo,
-                      PCI_BAR_IDX1,
-                      NULL,
-                      (VOID**) &MmioDesc
-                      );
+  Status   = Private->PciIo->GetBarAttributes (
+                               Private->PciIo,
+                               PCI_BAR_IDX1,
+                               NULL,
+                               (VOID **)&MmioDesc
+                               );
   if (EFI_ERROR (Status) ||
-      MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM) {
+      (MmioDesc->ResType != ACPI_ADDRESS_SPACE_TYPE_MEM))
+  {
     DEBUG ((DEBUG_INFO, "BHYVE GOP: No frame-buffer bar\n"));
   } else {
-    DEBUG ((DEBUG_INFO, "BHYVE GOP: Using frame-buffer bar @ 0x%lx\n",
-            MmioDesc->AddrRangeMin));
+    DEBUG ((
+      DEBUG_INFO,
+      "BHYVE GOP: Using frame-buffer bar @ 0x%lx\n",
+      MmioDesc->AddrRangeMin
+      ));
     Private->FbAddr = MmioDesc->AddrRangeMin;
     // XXX assert BAR is >= size
   }
@@ -262,12 +270,17 @@ EmuGopDriverBindingStart (
   if (MmioDesc != NULL) {
     FreePool (MmioDesc);
   }
+
   if (EFI_ERROR (Status)) {
     goto Done;
   }
 
-  DEBUG ((DEBUG_INFO, "BHYVE GOP: Framebuf addr 0x%lx, size %x\n",
-         Private->FbAddr, Private->FbSize));
+  DEBUG ((
+    DEBUG_INFO,
+    "BHYVE GOP: Framebuf addr 0x%lx, size %x\n",
+    Private->FbAddr,
+    Private->FbSize
+    ));
 
   Status = EmuGopConstructor (Private);
   if (EFI_ERROR (Status)) {
@@ -279,18 +292,19 @@ EmuGopDriverBindingStart (
   //
   Status = gBS->InstallMultipleProtocolInterfaces (
                   &Private->Handle,
-                  &gEfiGraphicsOutputProtocolGuid,    &Private->GraphicsOutput,
+                  &gEfiGraphicsOutputProtocolGuid,
+                  &Private->GraphicsOutput,
                   NULL
                   );
 
-  DEBUG((DEBUG_INFO, "BHYVE framebuffer device started\n"));
+  DEBUG ((DEBUG_INFO, "BHYVE framebuffer device started\n"));
 
   //
   // Install int10 handler
   //
-#ifndef CSM_ENABLE
+ #ifndef CSM_ENABLE
   InstallVbeShim (L"Framebuffer", Private->FbAddr);
-#endif
+ #endif
 
 Done:
   if (EFI_ERROR (Status)) {
@@ -309,8 +323,6 @@ Done:
   return Status;
 }
 
-
-
 /**
   Stops a device controller or a bus controller.
 
@@ -346,11 +358,11 @@ EmuGopDriverBindingStop (
   IN  EFI_HANDLE                   *ChildHandleBuffer
   )
 {
-  EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;
-  EFI_STATUS                   Status;
-  GOP_PRIVATE_DATA             *Private;
+  EFI_GRAPHICS_OUTPUT_PROTOCOL  *GraphicsOutput;
+  EFI_STATUS                    Status;
+  GOP_PRIVATE_DATA              *Private;
 
-  DEBUG((DEBUG_INFO, "BHYVE framebuffer device stopping\n"));
+  DEBUG ((DEBUG_INFO, "BHYVE framebuffer device stopping\n"));
 
   Status = gBS->OpenProtocol (
                   Handle,
@@ -377,7 +389,8 @@ EmuGopDriverBindingStop (
   //
   Status = gBS->UninstallMultipleProtocolInterfaces (
                   Private->Handle,
-                  &gEfiGraphicsOutputProtocolGuid,    &Private->GraphicsOutput,
+                  &gEfiGraphicsOutputProtocolGuid,
+                  &Private->GraphicsOutput,
                   NULL
                   );
   if (!EFI_ERROR (Status)) {
@@ -390,11 +403,11 @@ EmuGopDriverBindingStop (
     }
 
     gBS->CloseProtocol (
-          Handle,
-          &gEfiPciIoProtocolGuid,
-          This->DriverBindingHandle,
-          Private->Handle
-          );
+           Handle,
+           &gEfiPciIoProtocolGuid,
+           This->DriverBindingHandle,
+           Private->Handle
+           );
 
     //
     // Free our instance data
@@ -402,18 +415,16 @@ EmuGopDriverBindingStop (
     FreeUnicodeStringTable (Private->ControllerNameTable);
 
     gBS->FreePool (Private);
-
   }
 
   return Status;
 }
 
-
 ///
 /// This protocol provides the services required to determine if a driver supports a given controller.
 /// If a controller is supported, then it also provides routines to start and stop the controller.
 ///
-EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding = {
+EFI_DRIVER_BINDING_PROTOCOL  gEmuGopDriverBinding = {
   EmuGopDriverBindingSupported,
   EmuGopDriverBindingStart,
   EmuGopDriverBindingStop,
@@ -422,8 +433,6 @@ EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding = {
   NULL
 };
 
-
-
 /**
   The user Entry Point for module EmuGop. The user code starts with this function.
 
@@ -437,11 +446,11 @@ EFI_DRIVER_BINDING_PROTOCOL gEmuGopDriverBinding = {
 EFI_STATUS
 EFIAPI
 InitializeEmuGop (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS              Status;
+  EFI_STATUS  Status;
 
   Status = EfiLibInstallDriverBindingComponentName2 (
              ImageHandle,
@@ -453,33 +462,31 @@ InitializeEmuGop (
              );
   ASSERT_EFI_ERROR (Status);
 
-
   return Status;
 }
 
 STATIC VOID
 BhyveGetGraphicsMode (
-  EFI_PCI_IO_PROTOCOL *PciIo,
-  UINT16              *Width,
-  UINT16              *Height,
-  UINT16              *Depth
+  EFI_PCI_IO_PROTOCOL  *PciIo,
+  UINT16               *Width,
+  UINT16               *Height,
+  UINT16               *Depth
   )
 {
-  BHYVE_FBUF_MEMREGS BhyveRegs;
-  UINT64       Offset;
-  EFI_STATUS   Status;
-
+  BHYVE_FBUF_MEMREGS  BhyveRegs;
+  UINT64              Offset;
+  EFI_STATUS          Status;
 
   Offset = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;
 
   Status = PciIo->Mem.Read (
-      PciIo,
-      EfiPciIoWidthUint16,
-      PCI_BAR_IDX0,
-      Offset,
-      3,
-      &BhyveRegs.Width
-      );
+                        PciIo,
+                        EfiPciIoWidthUint16,
+                        PCI_BAR_IDX0,
+                        Offset,
+                        3,
+                        &BhyveRegs.Width
+                        );
 
   *Width  = BhyveRegs.Width;
   *Height = BhyveRegs.Height;
@@ -493,51 +500,56 @@ BhyveGetGraphicsMode (
 VOID
 BhyveSetGraphicsMode (
   GOP_PRIVATE_DATA  *Private,
-  UINT16             Width,
-  UINT16             Height,
-  UINT16             Depth
+  UINT16            Width,
+  UINT16            Height,
+  UINT16            Depth
   )
 {
-  BHYVE_FBUF_MEMREGS BhyveRegs;
-  UINT64       Offset;
-  EFI_STATUS   Status;
+  BHYVE_FBUF_MEMREGS  BhyveRegs;
+  UINT64              Offset;
+  EFI_STATUS          Status;
 
   DEBUG ((DEBUG_INFO, "BHYVE Set Graphics Mode: w %d, h %d\n", Width, Height));
 
   BhyveRegs.Width  = Width;
   BhyveRegs.Height = Height;
   BhyveRegs.Depth  = Depth;
-  Offset = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;
+  Offset           = (UINT64)&BhyveRegs.Width - (UINT64)&BhyveRegs;
 
   Status = Private->PciIo->Mem.Write (
-      Private->PciIo,
-      EfiPciIoWidthUint16,
-      PCI_BAR_IDX0,
-      Offset,
-      3,
-      &BhyveRegs.Width
-      );
+                                 Private->PciIo,
+                                 EfiPciIoWidthUint16,
+                                 PCI_BAR_IDX0,
+                                 Offset,
+                                 3,
+                                 &BhyveRegs.Width
+                                 );
   ASSERT_EFI_ERROR (Status);
 }
 
 VOID
 BhyveGetMemregs (
-  GOP_PRIVATE_DATA  *Private,
-  BHYVE_FBUF_MEMREGS *Memregs
+  GOP_PRIVATE_DATA    *Private,
+  BHYVE_FBUF_MEMREGS  *Memregs
   )
 {
-  EFI_STATUS   Status;
+  EFI_STATUS  Status;
 
   Status = Private->PciIo->Mem.Read (
-      Private->PciIo,
-      EfiPciIoWidthUint32,
-      PCI_BAR_IDX0,
-      0,
-      3,
-      Memregs
-      );
+                                 Private->PciIo,
+                                 EfiPciIoWidthUint32,
+                                 PCI_BAR_IDX0,
+                                 0,
+                                 3,
+                                 Memregs
+                                 );
   ASSERT_EFI_ERROR (Status);
 
-  DEBUG ((DEBUG_INFO, "BHYVE Get Memregs, size %d width %d height %d\n",
-         Memregs->FbSize, Memregs->Width, Memregs->Height));
+  DEBUG ((
+    DEBUG_INFO,
+    "BHYVE Get Memregs, size %d width %d height %d\n",
+    Memregs->FbSize,
+    Memregs->Width,
+    Memregs->Height
+    ));
 }

+ 114 - 110
OvmfPkg/Bhyve/BhyveRfbDxe/GopScreen.c

@@ -22,45 +22,48 @@ Abstract:
 #include "Gop.h"
 #include <Library/FrameBufferBltLib.h>
 
+EFI_EVENT  mGopScreenExitBootServicesEvent;
 
-EFI_EVENT               mGopScreenExitBootServicesEvent;
-
-GOP_MODE_DATA mGopModeData[] = {
-    { 0,     0,    32, 0 },    // Filled in with user-spec'd resolution
-    { 1024,  768,  32, 0 },
-    { 800,   600,  32, 0 },
-    { 640,   480,  32, 0 }
-    };
+GOP_MODE_DATA  mGopModeData[] = {
+  { 0,    0,   32, 0 },        // Filled in with user-spec'd resolution
+  { 1024, 768, 32, 0 },
+  { 800,  600, 32, 0 },
+  { 640,  480, 32, 0 }
+};
 
 STATIC
 VOID
 BhyveGopCompleteModeInfo (
-  IN  GOP_MODE_DATA  *ModeData,
+  IN  GOP_MODE_DATA                         *ModeData,
   OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  *Info
   )
 {
   Info->Version = 0;
   if (ModeData->ColorDepth == 8) {
-    Info->PixelFormat = PixelBitMask;
-    Info->PixelInformation.RedMask = PIXEL_RED_MASK;
-    Info->PixelInformation.GreenMask = PIXEL_GREEN_MASK;
-    Info->PixelInformation.BlueMask = PIXEL_BLUE_MASK;
+    Info->PixelFormat                   = PixelBitMask;
+    Info->PixelInformation.RedMask      = PIXEL_RED_MASK;
+    Info->PixelInformation.GreenMask    = PIXEL_GREEN_MASK;
+    Info->PixelInformation.BlueMask     = PIXEL_BLUE_MASK;
     Info->PixelInformation.ReservedMask = 0;
   } else if (ModeData->ColorDepth == 24) {
-    Info->PixelFormat = PixelBitMask;
-    Info->PixelInformation.RedMask = PIXEL24_RED_MASK;
-    Info->PixelInformation.GreenMask = PIXEL24_GREEN_MASK;
-    Info->PixelInformation.BlueMask = PIXEL24_BLUE_MASK;
+    Info->PixelFormat                   = PixelBitMask;
+    Info->PixelInformation.RedMask      = PIXEL24_RED_MASK;
+    Info->PixelInformation.GreenMask    = PIXEL24_GREEN_MASK;
+    Info->PixelInformation.BlueMask     = PIXEL24_BLUE_MASK;
     Info->PixelInformation.ReservedMask = 0;
   } else if (ModeData->ColorDepth == 32) {
-    DEBUG ((DEBUG_INFO, "%dx%d PixelBlueGreenRedReserved8BitPerColor\n",
-     ModeData->HorizontalResolution, ModeData->VerticalResolution));
+    DEBUG ((
+      DEBUG_INFO,
+      "%dx%d PixelBlueGreenRedReserved8BitPerColor\n",
+      ModeData->HorizontalResolution,
+      ModeData->VerticalResolution
+      ));
     Info->PixelFormat = PixelBlueGreenRedReserved8BitPerColor;
   }
+
   Info->PixelsPerScanLine = Info->HorizontalResolution;
 }
 
-
 /**
   Returns information for an available graphics mode that the graphics device
   and the set of active video output devices supports.
@@ -91,7 +94,7 @@ EmuGopQuerytMode (
 
   Private = GOP_PRIVATE_DATA_FROM_THIS (This);
 
-  if (Info == NULL || SizeOfInfo == NULL || (UINTN) ModeNumber >= This->Mode->MaxMode) {
+  if ((Info == NULL) || (SizeOfInfo == NULL) || ((UINTN)ModeNumber >= This->Mode->MaxMode)) {
     return EFI_INVALID_PARAMETER;
   }
 
@@ -102,18 +105,16 @@ EmuGopQuerytMode (
 
   *SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
 
-  ModeData = &Private->ModeData[ModeNumber];
-  (*Info)->Version = 0;
+  ModeData                      = &Private->ModeData[ModeNumber];
+  (*Info)->Version              = 0;
   (*Info)->HorizontalResolution = ModeData->HorizontalResolution;
   (*Info)->VerticalResolution   = ModeData->VerticalResolution;
-  (*Info)->PixelFormat = PixelBitMask;
-  (*Info)->PixelsPerScanLine = (*Info)->HorizontalResolution;
-  BhyveGopCompleteModeInfo(ModeData, *Info);
+  (*Info)->PixelFormat          = PixelBitMask;
+  (*Info)->PixelsPerScanLine    = (*Info)->HorizontalResolution;
+  BhyveGopCompleteModeInfo (ModeData, *Info);
   return EFI_SUCCESS;
 }
 
-
-
 /**
   Set the video device into the specified mode and clears the visible portions of
   the output display to black.
@@ -127,7 +128,7 @@ EmuGopQuerytMode (
 
 **/
 
-FRAME_BUFFER_CONFIGURE *fbconf;
+FRAME_BUFFER_CONFIGURE  *fbconf;
 
 EFI_STATUS
 EFIAPI
@@ -136,37 +137,38 @@ EmuGopSetMode (
   IN  UINT32                        ModeNumber
   )
 {
-  GOP_PRIVATE_DATA                *Private;
-  GOP_MODE_DATA                   *ModeData;
-  EFI_GRAPHICS_OUTPUT_BLT_PIXEL   Fill;
+  GOP_PRIVATE_DATA                      *Private;
+  GOP_MODE_DATA                         *ModeData;
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL         Fill;
   EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  *Info;
 
-  UINTN confsize = 0;
+  UINTN  confsize = 0;
+
   fbconf = NULL;
 
   Private = GOP_PRIVATE_DATA_FROM_THIS (This);
 
   if (ModeNumber >= This->Mode->MaxMode) {
     // Tell bhyve that we are switching out of vesa
-    BhyveSetGraphicsMode(Private, 0, 0, 0);
+    BhyveSetGraphicsMode (Private, 0, 0, 0);
     return EFI_UNSUPPORTED;
   }
 
   DEBUG ((DEBUG_INFO, "BHYVE GopSetMode %d\n", ModeNumber));
 
-  ModeData = &Private->ModeData[ModeNumber];
-  This->Mode->Mode = ModeNumber;
+  ModeData                                                 = &Private->ModeData[ModeNumber];
+  This->Mode->Mode                                         = ModeNumber;
   Private->GraphicsOutput.Mode->Info->HorizontalResolution = ModeData->HorizontalResolution;
-  Private->GraphicsOutput.Mode->Info->VerticalResolution = ModeData->VerticalResolution;
-  Private->GraphicsOutput.Mode->Info->PixelsPerScanLine = ModeData->HorizontalResolution;
+  Private->GraphicsOutput.Mode->Info->VerticalResolution   = ModeData->VerticalResolution;
+  Private->GraphicsOutput.Mode->Info->PixelsPerScanLine    = ModeData->HorizontalResolution;
 
   Info = This->Mode->Info;
-  BhyveGopCompleteModeInfo(ModeData, Info);
+  BhyveGopCompleteModeInfo (ModeData, Info);
 
   This->Mode->Info->HorizontalResolution = ModeData->HorizontalResolution;
-  This->Mode->Info->VerticalResolution = ModeData->VerticalResolution;
-  This->Mode->SizeOfInfo = sizeof(EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
-  This->Mode->FrameBufferBase = Private->GraphicsOutput.Mode->FrameBufferBase;
+  This->Mode->Info->VerticalResolution   = ModeData->VerticalResolution;
+  This->Mode->SizeOfInfo                 = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
+  This->Mode->FrameBufferBase            = Private->GraphicsOutput.Mode->FrameBufferBase;
 
   /*
   This->Mode->FrameBufferSize = Info->HorizontalResolution * Info->VerticalResolution
@@ -175,18 +177,24 @@ EmuGopSetMode (
   This->Mode->FrameBufferSize = Private->FbSize;
   DEBUG ((DEBUG_INFO, "BHYVE GOP FrameBufferBase: 0x%x, FrameBufferSize: 0x%x\n", This->Mode->FrameBufferBase, This->Mode->FrameBufferSize));
 
-  BhyveSetGraphicsMode(Private, (UINT16)ModeData->HorizontalResolution, (UINT16)ModeData->VerticalResolution, (UINT16)ModeData->ColorDepth);
-
-  RETURN_STATUS ret = FrameBufferBltConfigure (
-    (VOID*)(UINTN) This->Mode->FrameBufferBase,
-    This->Mode->Info, fbconf, &confsize
-    );
-  if (ret == EFI_BUFFER_TOO_SMALL || ret == EFI_INVALID_PARAMETER) {
-          fbconf = AllocatePool(confsize);
-          ret = FrameBufferBltConfigure(
-                         (VOID*)(UINTN)This->Mode->FrameBufferBase,
-                         This->Mode->Info, fbconf, &confsize);
-          ASSERT(ret == EFI_SUCCESS);
+  BhyveSetGraphicsMode (Private, (UINT16)ModeData->HorizontalResolution, (UINT16)ModeData->VerticalResolution, (UINT16)ModeData->ColorDepth);
+
+  RETURN_STATUS  ret = FrameBufferBltConfigure (
+                         (VOID *)(UINTN)This->Mode->FrameBufferBase,
+                         This->Mode->Info,
+                         fbconf,
+                         &confsize
+                         );
+
+  if ((ret == EFI_BUFFER_TOO_SMALL) || (ret == EFI_INVALID_PARAMETER)) {
+    fbconf = AllocatePool (confsize);
+    ret    = FrameBufferBltConfigure (
+               (VOID *)(UINTN)This->Mode->FrameBufferBase,
+               This->Mode->Info,
+               fbconf,
+               &confsize
+               );
+    ASSERT (ret == EFI_SUCCESS);
   }
 
   Fill.Red   = 0;
@@ -207,8 +215,6 @@ EmuGopSetMode (
   return EFI_SUCCESS;
 }
 
-
-
 /**
   Blt a rectangle of pixels on the graphics screen. Blt stands for BLock Transfer.
 
@@ -232,26 +238,26 @@ EmuGopSetMode (
 EFI_STATUS
 EFIAPI
 EmuGopBlt (
-  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL            *This,
-  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL           *BltBuffer    OPTIONAL,
-  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION       BltOperation,
-  IN  UINTN                                   SourceX,
-  IN  UINTN                                   SourceY,
-  IN  UINTN                                   DestinationX,
-  IN  UINTN                                   DestinationY,
-  IN  UINTN                                   Width,
-  IN  UINTN                                   Height,
-  IN  UINTN                                   Delta         OPTIONAL
+  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL       *This,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_PIXEL      *BltBuffer    OPTIONAL,
+  IN  EFI_GRAPHICS_OUTPUT_BLT_OPERATION  BltOperation,
+  IN  UINTN                              SourceX,
+  IN  UINTN                              SourceY,
+  IN  UINTN                              DestinationX,
+  IN  UINTN                              DestinationY,
+  IN  UINTN                              Width,
+  IN  UINTN                              Height,
+  IN  UINTN                              Delta         OPTIONAL
   )
 {
-  EFI_TPL           OriginalTPL;
-  EFI_STATUS        Status;
+  EFI_TPL     OriginalTPL;
+  EFI_STATUS  Status;
 
   if ((UINT32)BltOperation >= EfiGraphicsOutputBltOperationMax) {
     return EFI_INVALID_PARAMETER;
   }
 
-  if (Width == 0 || Height == 0) {
+  if ((Width == 0) || (Height == 0)) {
     return EFI_INVALID_PARAMETER;
   }
 
@@ -263,27 +269,27 @@ EmuGopBlt (
   OriginalTPL = gBS->RaiseTPL (TPL_NOTIFY);
 
   switch (BltOperation) {
-  case EfiBltVideoToBltBuffer:
-  case EfiBltBufferToVideo:
-  case EfiBltVideoFill:
-  case EfiBltVideoToVideo:
-    Status = FrameBufferBlt (
-     fbconf,
-      BltBuffer,
-      BltOperation,
-      SourceX,
-      SourceY,
-      DestinationX,
-      DestinationY,
-      Width,
-      Height,
-      Delta
-      );
-    break;
-
-  default:
-    Status = EFI_INVALID_PARAMETER;
-    ASSERT (FALSE);
+    case EfiBltVideoToBltBuffer:
+    case EfiBltBufferToVideo:
+    case EfiBltVideoFill:
+    case EfiBltVideoToVideo:
+      Status = FrameBufferBlt (
+                 fbconf,
+                 BltBuffer,
+                 BltOperation,
+                 SourceX,
+                 SourceY,
+                 DestinationX,
+                 DestinationY,
+                 Width,
+                 Height,
+                 Delta
+                 );
+      break;
+
+    default:
+      Status = EFI_INVALID_PARAMETER;
+      ASSERT (FALSE);
   }
 
   gBS->RestoreTPL (OriginalTPL);
@@ -291,25 +297,24 @@ EmuGopBlt (
   return Status;
 }
 
-
 //
 // Construction and Destruction functions
 //
 
 EFI_STATUS
 EmuGopConstructor (
-  GOP_PRIVATE_DATA    *Private
+  GOP_PRIVATE_DATA  *Private
   )
 {
   // Set mode 0 to be the requested resolution
-  mGopModeData[0].HorizontalResolution = PcdGet32 ( PcdVideoHorizontalResolution);
-  mGopModeData[0].VerticalResolution = PcdGet32 ( PcdVideoVerticalResolution );
+  mGopModeData[0].HorizontalResolution = PcdGet32 (PcdVideoHorizontalResolution);
+  mGopModeData[0].VerticalResolution   = PcdGet32 (PcdVideoVerticalResolution);
 
   Private->ModeData = mGopModeData;
 
-  Private->GraphicsOutput.QueryMode      = EmuGopQuerytMode;
-  Private->GraphicsOutput.SetMode        = EmuGopSetMode;
-  Private->GraphicsOutput.Blt            = EmuGopBlt;
+  Private->GraphicsOutput.QueryMode = EmuGopQuerytMode;
+  Private->GraphicsOutput.SetMode   = EmuGopSetMode;
+  Private->GraphicsOutput.Blt       = EmuGopBlt;
 
   //
   // Allocate buffer for Graphics Output Protocol mode information
@@ -318,35 +323,33 @@ EmuGopConstructor (
   if (Private->GraphicsOutput.Mode == NULL) {
     return EFI_OUT_OF_RESOURCES;
   }
+
   Private->GraphicsOutput.Mode->Info = AllocatePool (sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION));
   if (Private->GraphicsOutput.Mode->Info == NULL) {
     return EFI_OUT_OF_RESOURCES;
   }
 
-
   DEBUG ((DEBUG_INFO, "BHYVE Gop Constructor\n"));
 
-  Private->GraphicsOutput.Mode->MaxMode = sizeof(mGopModeData) / sizeof(GOP_MODE_DATA);
+  Private->GraphicsOutput.Mode->MaxMode = sizeof (mGopModeData) / sizeof (GOP_MODE_DATA);
   //
   // Till now, we have no idea about the window size.
   //
-  Private->GraphicsOutput.Mode->Mode = GRAPHICS_OUTPUT_INVALID_MODE_NUMBER;
-  Private->GraphicsOutput.Mode->Info->Version = 0;
+  Private->GraphicsOutput.Mode->Mode                       = GRAPHICS_OUTPUT_INVALID_MODE_NUMBER;
+  Private->GraphicsOutput.Mode->Info->Version              = 0;
   Private->GraphicsOutput.Mode->Info->HorizontalResolution = 0;
-  Private->GraphicsOutput.Mode->Info->VerticalResolution = 0;
-  Private->GraphicsOutput.Mode->Info->PixelFormat = PixelBitMask;
-  Private->GraphicsOutput.Mode->SizeOfInfo = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
-  Private->GraphicsOutput.Mode->FrameBufferBase = (EFI_PHYSICAL_ADDRESS) Private->FbAddr;
-  Private->GraphicsOutput.Mode->FrameBufferSize = Private->FbSize;
+  Private->GraphicsOutput.Mode->Info->VerticalResolution   = 0;
+  Private->GraphicsOutput.Mode->Info->PixelFormat          = PixelBitMask;
+  Private->GraphicsOutput.Mode->SizeOfInfo                 = sizeof (EFI_GRAPHICS_OUTPUT_MODE_INFORMATION);
+  Private->GraphicsOutput.Mode->FrameBufferBase            = (EFI_PHYSICAL_ADDRESS)Private->FbAddr;
+  Private->GraphicsOutput.Mode->FrameBufferSize            = Private->FbSize;
 
   return EFI_SUCCESS;
 }
 
-
-
 EFI_STATUS
 EmuGopDestructor (
-  GOP_PRIVATE_DATA     *Private
+  GOP_PRIVATE_DATA  *Private
   )
 {
   //
@@ -356,6 +359,7 @@ EmuGopDestructor (
     if (Private->GraphicsOutput.Mode->Info != NULL) {
       FreePool (Private->GraphicsOutput.Mode->Info);
     }
+
     FreePool (Private->GraphicsOutput.Mode);
     Private->GraphicsOutput.Mode = NULL;
   }
@@ -363,13 +367,13 @@ EmuGopDestructor (
   return EFI_SUCCESS;
 }
 
-
 VOID
 EFIAPI
 ShutdownGopEvent (
   IN EFI_EVENT  Event,
   IN VOID       *Context
   )
+
 /*++
 
 Routine Description:

+ 80 - 61
OvmfPkg/Bhyve/BhyveRfbDxe/VbeShim.c

@@ -28,8 +28,8 @@
 
 #pragma pack (1)
 typedef struct {
-  UINT16 Offset;
-  UINT16 Segment;
+  UINT16    Offset;
+  UINT16    Segment;
 } IVT_ENTRY;
 #pragma pack ()
 
@@ -37,52 +37,49 @@ typedef struct {
 // This string is displayed by Windows 2008 R2 SP1 in the Screen Resolution,
 // Advanced Settings dialog. It should be short.
 //
-STATIC CONST CHAR8 mProductRevision[] = "2.0";
+STATIC CONST CHAR8  mProductRevision[] = "2.0";
 
-#define NUM_VBE_MODES 3
-STATIC CONST UINT16 vbeModeIds[] = {
+#define NUM_VBE_MODES  3
+STATIC CONST UINT16  vbeModeIds[] = {
   0x13f,  // 640x480x32
   0x140,  // 800x600x32
   0x141   // 1024x768x32
 };
 
 // Modes can be toggled with bit-0
-#define VBE_MODE_ENABLED  0x00BB
-#define VBE_MODE_DISABLED 0x00BA
+#define VBE_MODE_ENABLED   0x00BB
+#define VBE_MODE_DISABLED  0x00BA
 
-STATIC VBE2_MODE_INFO vbeModes[] = {
+STATIC VBE2_MODE_INFO  vbeModes[] = {
   { // 0x13f 640x480x32
-
     // ModeAttr - BytesPerScanLine
-    VBE_MODE_DISABLED, 0x07, 0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 640*4,
+    VBE_MODE_DISABLED, 0x07,   0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 640*4,
     // Width, Height..., Vbe3
-    640, 480, 16, 8, 1, 32, 1, 0x06, 0, 0, 1,
+    640,               480,    16,   8,    1,    32,     1,    0x06,   0,     0,  1,
     // Masks
-    0x08, 0x10, 0x08, 0x08, 0x08, 0x00, 0x08, 0x18, 0x00,
+    0x08,              0x10,   0x08, 0x08, 0x08, 0x00,   0x08, 0x18,   0x00,
     // Framebuffer
-    0xdeadbeef, 0x0000, 0x0000
+    0xdeadbeef,        0x0000, 0x0000
   },
   { // 0x140 800x600x32
-
     // ModeAttr - BytesPerScanLine
-    VBE_MODE_DISABLED, 0x07, 0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 800*4,
+    VBE_MODE_DISABLED, 0x07,   0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 800*4,
     // Width, Height..., Vbe3
-    800, 600, 16, 8, 1, 32, 1, 0x06, 0, 0, 1,
+    800,               600,    16,   8,    1,    32,     1,    0x06,   0,     0,  1,
     // Masks
-    0x08, 0x10, 0x08, 0x08, 0x08, 0x00, 0x08, 0x18, 0x00,
+    0x08,              0x10,   0x08, 0x08, 0x08, 0x00,   0x08, 0x18,   0x00,
     // Framebuffer
-    0xdeadbeef, 0x0000, 0x0000
+    0xdeadbeef,        0x0000, 0x0000
   },
   { // 0x141 1024x768x32
-
     // ModeAttr - BytesPerScanLine
-    VBE_MODE_ENABLED, 0x07, 0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 1024*4,
+    VBE_MODE_ENABLED,  0x07,   0x00, 0x40, 0x40, 0xA000, 0x00, 0x0000, 1024*4,
     // Width, Height..., Vbe3
-    1024, 768, 16, 8, 1, 32, 1, 0x06, 0, 0, 1,
+    1024,              768,    16,   8,    1,    32,     1,    0x06,   0,     0,  1,
     // Masks
-    0x08, 0x10, 0x08, 0x08, 0x08, 0x00, 0x08, 0x18, 0x00,
+    0x08,              0x10,   0x08, 0x08, 0x08, 0x00,   0x08, 0x18,   0x00,
     // Framebuffer
-    0xdeadbeef, 0x0000, 0x0000
+    0xdeadbeef,        0x0000, 0x0000
   }
 };
 
@@ -98,23 +95,23 @@ STATIC VBE2_MODE_INFO vbeModes[] = {
 **/
 VOID
 InstallVbeShim (
-  IN CONST CHAR16         *CardName,
-  IN EFI_PHYSICAL_ADDRESS FrameBufferBase
+  IN CONST CHAR16          *CardName,
+  IN EFI_PHYSICAL_ADDRESS  FrameBufferBase
   )
 {
-  EFI_PHYSICAL_ADDRESS Segment0, SegmentC, SegmentF;
-  UINTN                Segment0Pages;
-  IVT_ENTRY            *Int0x10;
-  EFI_STATUS           Status;
-  UINTN                Pam1Address;
-  UINT8                Pam1;
-  UINTN                SegmentCPages;
-  VBE_INFO             *VbeInfoFull;
-  VBE_INFO_BASE        *VbeInfo;
-  UINT8                *Ptr;
-  UINTN                Printed;
-  VBE_MODE_INFO        *VbeModeInfo;
-  UINTN                i;
+  EFI_PHYSICAL_ADDRESS  Segment0, SegmentC, SegmentF;
+  UINTN                 Segment0Pages;
+  IVT_ENTRY             *Int0x10;
+  EFI_STATUS            Status;
+  UINTN                 Pam1Address;
+  UINT8                 Pam1;
+  UINTN                 SegmentCPages;
+  VBE_INFO              *VbeInfoFull;
+  VBE_INFO_BASE         *VbeInfo;
+  UINT8                 *Ptr;
+  UINTN                 Printed;
+  VBE_MODE_INFO         *VbeModeInfo;
+  UINTN                 i;
 
   Segment0 = 0x00000;
   SegmentC = 0xC0000;
@@ -130,11 +127,15 @@ InstallVbeShim (
   //
   Segment0Pages = 1;
   Int0x10       = (IVT_ENTRY *)(UINTN)Segment0 + 0x10;
-  Status = gBS->AllocatePages (AllocateAddress, EfiBootServicesCode,
-                  Segment0Pages, &Segment0);
+  Status        = gBS->AllocatePages (
+                         AllocateAddress,
+                         EfiBootServicesCode,
+                         Segment0Pages,
+                         &Segment0
+                         );
 
   if (EFI_ERROR (Status)) {
-    EFI_PHYSICAL_ADDRESS Handler;
+    EFI_PHYSICAL_ADDRESS  Handler;
 
     //
     // Check if a video BIOS handler has been installed previously -- we
@@ -142,9 +143,14 @@ InstallVbeShim (
     // it's already present.
     //
     Handler = (Int0x10->Segment << 4) + Int0x10->Offset;
-    if (Handler >= SegmentC && Handler < SegmentF) {
-      DEBUG ((DEBUG_VERBOSE, "%a: Video BIOS handler found at %04x:%04x\n",
-        __FUNCTION__, Int0x10->Segment, Int0x10->Offset));
+    if ((Handler >= SegmentC) && (Handler < SegmentF)) {
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: Video BIOS handler found at %04x:%04x\n",
+        __FUNCTION__,
+        Int0x10->Segment,
+        Int0x10->Offset
+        ));
       return;
     }
 
@@ -152,8 +158,12 @@ InstallVbeShim (
     // Otherwise we'll overwrite the Int10h vector, even though we may not own
     // the page at zero.
     //
-    DEBUG ((DEBUG_VERBOSE, "%a: failed to allocate page at zero: %r\n",
-      __FUNCTION__, Status));
+    DEBUG ((
+      DEBUG_VERBOSE,
+      "%a: failed to allocate page at zero: %r\n",
+      __FUNCTION__,
+      Status
+      ));
   } else {
     //
     // We managed to allocate the page at zero. SVN r14218 guarantees that it
@@ -203,14 +213,15 @@ InstallVbeShim (
   VbeInfo->Capabilities = BIT1 | BIT0; // DAC can be switched into 8-bit mode
 
   VbeInfo->ModeListAddress = (UINT32)SegmentC << 12 | (UINT16)((UINTN)Ptr-SegmentC);
-  for (i = 0; i < NUM_VBE_MODES; i ++) {
-     *(UINT16*)Ptr = vbeModeIds[i];  // mode number
-     Ptr += 2;
+  for (i = 0; i < NUM_VBE_MODES; i++) {
+    *(UINT16 *)Ptr = vbeModeIds[i];  // mode number
+    Ptr           += 2;
   }
-  *(UINT16*)Ptr = 0xFFFF; // mode list terminator
-  Ptr += 2;
 
-  VbeInfo->VideoMem64K = (UINT16)((1024 * 768 * 4 + 65535) / 65536);
+  *(UINT16 *)Ptr = 0xFFFF; // mode list terminator
+  Ptr           += 2;
+
+  VbeInfo->VideoMem64K        = (UINT16)((1024 * 768 * 4 + 65535) / 65536);
   VbeInfo->OemSoftwareVersion = 0x0200;
 
   VbeInfo->VendorNameAddress = (UINT32)SegmentC << 12 | (UINT16)((UINTN)Ptr-SegmentC);
@@ -218,9 +229,12 @@ InstallVbeShim (
   Ptr += 5;
 
   VbeInfo->ProductNameAddress = (UINT32)SegmentC << 12 | (UINT16)((UINTN)Ptr-SegmentC);
-  Printed = AsciiSPrint ((CHAR8 *)Ptr,
-              sizeof VbeInfoFull->Buffer - (Ptr - VbeInfoFull->Buffer), "%s",
-              CardName);
+  Printed                     = AsciiSPrint (
+                                  (CHAR8 *)Ptr,
+                                  sizeof VbeInfoFull->Buffer - (Ptr - VbeInfoFull->Buffer),
+                                  "%s",
+                                  CardName
+                                  );
   Ptr += Printed + 1;
 
   VbeInfo->ProductRevAddress = (UINT32)SegmentC << 12 | (UINT16)((UINTN)Ptr-SegmentC);
@@ -234,7 +248,7 @@ InstallVbeShim (
   // Fill in the VBE MODE INFO structure list
   //
   VbeModeInfo = (VBE_MODE_INFO *)(VbeInfoFull + 1);
-  Ptr = (UINT8 *)VbeModeInfo;
+  Ptr         = (UINT8 *)VbeModeInfo;
   for (i = 0; i < NUM_VBE_MODES; i++) {
     vbeModes[i].LfbAddress = (UINT32)FrameBufferBase;
     CopyMem (Ptr, &vbeModes[i], 0x32);
@@ -251,9 +265,14 @@ InstallVbeShim (
   //
   // Second, point the Int10h vector at the shim.
   //
-  Int0x10->Segment = (UINT16) ((UINT32)SegmentC >> 4);
-  Int0x10->Offset  = (UINT16) ((UINTN) (VbeModeInfo + 1) - SegmentC);
-
-  DEBUG ((DEBUG_INFO, "%a: VBE shim installed to %x:%x\n",
-         __FUNCTION__, Int0x10->Segment, Int0x10->Offset));
+  Int0x10->Segment = (UINT16)((UINT32)SegmentC >> 4);
+  Int0x10->Offset  = (UINT16)((UINTN)(VbeModeInfo + 1) - SegmentC);
+
+  DEBUG ((
+    DEBUG_INFO,
+    "%a: VBE shim installed to %x:%x\n",
+    __FUNCTION__,
+    Int0x10->Segment,
+    Int0x10->Offset
+    ));
 }

+ 906 - 905
OvmfPkg/Bhyve/BhyveRfbDxe/VbeShim.h

@@ -1,912 +1,913 @@
 //
 // THIS FILE WAS GENERATED BY "VbeShim.sh". DO NOT EDIT.
 //
+
 #ifndef _VBE_SHIM_H_
 #define _VBE_SHIM_H_
-STATIC CONST UINT8 mVbeShim[] = {
-  /* 00000000 nop                            */  0x90,
-  /* 00000001 nop                            */  0x90,
-  /* 00000002 nop                            */  0x90,
-  /* 00000003 nop                            */  0x90,
-  /* 00000004 nop                            */  0x90,
-  /* 00000005 nop                            */  0x90,
-  /* 00000006 nop                            */  0x90,
-  /* 00000007 nop                            */  0x90,
-  /* 00000008 nop                            */  0x90,
-  /* 00000009 nop                            */  0x90,
-  /* 0000000A nop                            */  0x90,
-  /* 0000000B nop                            */  0x90,
-  /* 0000000C nop                            */  0x90,
-  /* 0000000D nop                            */  0x90,
-  /* 0000000E nop                            */  0x90,
-  /* 0000000F nop                            */  0x90,
-  /* 00000010 nop                            */  0x90,
-  /* 00000011 nop                            */  0x90,
-  /* 00000012 nop                            */  0x90,
-  /* 00000013 nop                            */  0x90,
-  /* 00000014 nop                            */  0x90,
-  /* 00000015 nop                            */  0x90,
-  /* 00000016 nop                            */  0x90,
-  /* 00000017 nop                            */  0x90,
-  /* 00000018 nop                            */  0x90,
-  /* 00000019 nop                            */  0x90,
-  /* 0000001A nop                            */  0x90,
-  /* 0000001B nop                            */  0x90,
-  /* 0000001C nop                            */  0x90,
-  /* 0000001D nop                            */  0x90,
-  /* 0000001E nop                            */  0x90,
-  /* 0000001F nop                            */  0x90,
-  /* 00000020 nop                            */  0x90,
-  /* 00000021 nop                            */  0x90,
-  /* 00000022 nop                            */  0x90,
-  /* 00000023 nop                            */  0x90,
-  /* 00000024 nop                            */  0x90,
-  /* 00000025 nop                            */  0x90,
-  /* 00000026 nop                            */  0x90,
-  /* 00000027 nop                            */  0x90,
-  /* 00000028 nop                            */  0x90,
-  /* 00000029 nop                            */  0x90,
-  /* 0000002A nop                            */  0x90,
-  /* 0000002B nop                            */  0x90,
-  /* 0000002C nop                            */  0x90,
-  /* 0000002D nop                            */  0x90,
-  /* 0000002E nop                            */  0x90,
-  /* 0000002F nop                            */  0x90,
-  /* 00000030 nop                            */  0x90,
-  /* 00000031 nop                            */  0x90,
-  /* 00000032 nop                            */  0x90,
-  /* 00000033 nop                            */  0x90,
-  /* 00000034 nop                            */  0x90,
-  /* 00000035 nop                            */  0x90,
-  /* 00000036 nop                            */  0x90,
-  /* 00000037 nop                            */  0x90,
-  /* 00000038 nop                            */  0x90,
-  /* 00000039 nop                            */  0x90,
-  /* 0000003A nop                            */  0x90,
-  /* 0000003B nop                            */  0x90,
-  /* 0000003C nop                            */  0x90,
-  /* 0000003D nop                            */  0x90,
-  /* 0000003E nop                            */  0x90,
-  /* 0000003F nop                            */  0x90,
-  /* 00000040 nop                            */  0x90,
-  /* 00000041 nop                            */  0x90,
-  /* 00000042 nop                            */  0x90,
-  /* 00000043 nop                            */  0x90,
-  /* 00000044 nop                            */  0x90,
-  /* 00000045 nop                            */  0x90,
-  /* 00000046 nop                            */  0x90,
-  /* 00000047 nop                            */  0x90,
-  /* 00000048 nop                            */  0x90,
-  /* 00000049 nop                            */  0x90,
-  /* 0000004A nop                            */  0x90,
-  /* 0000004B nop                            */  0x90,
-  /* 0000004C nop                            */  0x90,
-  /* 0000004D nop                            */  0x90,
-  /* 0000004E nop                            */  0x90,
-  /* 0000004F nop                            */  0x90,
-  /* 00000050 nop                            */  0x90,
-  /* 00000051 nop                            */  0x90,
-  /* 00000052 nop                            */  0x90,
-  /* 00000053 nop                            */  0x90,
-  /* 00000054 nop                            */  0x90,
-  /* 00000055 nop                            */  0x90,
-  /* 00000056 nop                            */  0x90,
-  /* 00000057 nop                            */  0x90,
-  /* 00000058 nop                            */  0x90,
-  /* 00000059 nop                            */  0x90,
-  /* 0000005A nop                            */  0x90,
-  /* 0000005B nop                            */  0x90,
-  /* 0000005C nop                            */  0x90,
-  /* 0000005D nop                            */  0x90,
-  /* 0000005E nop                            */  0x90,
-  /* 0000005F nop                            */  0x90,
-  /* 00000060 nop                            */  0x90,
-  /* 00000061 nop                            */  0x90,
-  /* 00000062 nop                            */  0x90,
-  /* 00000063 nop                            */  0x90,
-  /* 00000064 nop                            */  0x90,
-  /* 00000065 nop                            */  0x90,
-  /* 00000066 nop                            */  0x90,
-  /* 00000067 nop                            */  0x90,
-  /* 00000068 nop                            */  0x90,
-  /* 00000069 nop                            */  0x90,
-  /* 0000006A nop                            */  0x90,
-  /* 0000006B nop                            */  0x90,
-  /* 0000006C nop                            */  0x90,
-  /* 0000006D nop                            */  0x90,
-  /* 0000006E nop                            */  0x90,
-  /* 0000006F nop                            */  0x90,
-  /* 00000070 nop                            */  0x90,
-  /* 00000071 nop                            */  0x90,
-  /* 00000072 nop                            */  0x90,
-  /* 00000073 nop                            */  0x90,
-  /* 00000074 nop                            */  0x90,
-  /* 00000075 nop                            */  0x90,
-  /* 00000076 nop                            */  0x90,
-  /* 00000077 nop                            */  0x90,
-  /* 00000078 nop                            */  0x90,
-  /* 00000079 nop                            */  0x90,
-  /* 0000007A nop                            */  0x90,
-  /* 0000007B nop                            */  0x90,
-  /* 0000007C nop                            */  0x90,
-  /* 0000007D nop                            */  0x90,
-  /* 0000007E nop                            */  0x90,
-  /* 0000007F nop                            */  0x90,
-  /* 00000080 nop                            */  0x90,
-  /* 00000081 nop                            */  0x90,
-  /* 00000082 nop                            */  0x90,
-  /* 00000083 nop                            */  0x90,
-  /* 00000084 nop                            */  0x90,
-  /* 00000085 nop                            */  0x90,
-  /* 00000086 nop                            */  0x90,
-  /* 00000087 nop                            */  0x90,
-  /* 00000088 nop                            */  0x90,
-  /* 00000089 nop                            */  0x90,
-  /* 0000008A nop                            */  0x90,
-  /* 0000008B nop                            */  0x90,
-  /* 0000008C nop                            */  0x90,
-  /* 0000008D nop                            */  0x90,
-  /* 0000008E nop                            */  0x90,
-  /* 0000008F nop                            */  0x90,
-  /* 00000090 nop                            */  0x90,
-  /* 00000091 nop                            */  0x90,
-  /* 00000092 nop                            */  0x90,
-  /* 00000093 nop                            */  0x90,
-  /* 00000094 nop                            */  0x90,
-  /* 00000095 nop                            */  0x90,
-  /* 00000096 nop                            */  0x90,
-  /* 00000097 nop                            */  0x90,
-  /* 00000098 nop                            */  0x90,
-  /* 00000099 nop                            */  0x90,
-  /* 0000009A nop                            */  0x90,
-  /* 0000009B nop                            */  0x90,
-  /* 0000009C nop                            */  0x90,
-  /* 0000009D nop                            */  0x90,
-  /* 0000009E nop                            */  0x90,
-  /* 0000009F nop                            */  0x90,
-  /* 000000A0 nop                            */  0x90,
-  /* 000000A1 nop                            */  0x90,
-  /* 000000A2 nop                            */  0x90,
-  /* 000000A3 nop                            */  0x90,
-  /* 000000A4 nop                            */  0x90,
-  /* 000000A5 nop                            */  0x90,
-  /* 000000A6 nop                            */  0x90,
-  /* 000000A7 nop                            */  0x90,
-  /* 000000A8 nop                            */  0x90,
-  /* 000000A9 nop                            */  0x90,
-  /* 000000AA nop                            */  0x90,
-  /* 000000AB nop                            */  0x90,
-  /* 000000AC nop                            */  0x90,
-  /* 000000AD nop                            */  0x90,
-  /* 000000AE nop                            */  0x90,
-  /* 000000AF nop                            */  0x90,
-  /* 000000B0 nop                            */  0x90,
-  /* 000000B1 nop                            */  0x90,
-  /* 000000B2 nop                            */  0x90,
-  /* 000000B3 nop                            */  0x90,
-  /* 000000B4 nop                            */  0x90,
-  /* 000000B5 nop                            */  0x90,
-  /* 000000B6 nop                            */  0x90,
-  /* 000000B7 nop                            */  0x90,
-  /* 000000B8 nop                            */  0x90,
-  /* 000000B9 nop                            */  0x90,
-  /* 000000BA nop                            */  0x90,
-  /* 000000BB nop                            */  0x90,
-  /* 000000BC nop                            */  0x90,
-  /* 000000BD nop                            */  0x90,
-  /* 000000BE nop                            */  0x90,
-  /* 000000BF nop                            */  0x90,
-  /* 000000C0 nop                            */  0x90,
-  /* 000000C1 nop                            */  0x90,
-  /* 000000C2 nop                            */  0x90,
-  /* 000000C3 nop                            */  0x90,
-  /* 000000C4 nop                            */  0x90,
-  /* 000000C5 nop                            */  0x90,
-  /* 000000C6 nop                            */  0x90,
-  /* 000000C7 nop                            */  0x90,
-  /* 000000C8 nop                            */  0x90,
-  /* 000000C9 nop                            */  0x90,
-  /* 000000CA nop                            */  0x90,
-  /* 000000CB nop                            */  0x90,
-  /* 000000CC nop                            */  0x90,
-  /* 000000CD nop                            */  0x90,
-  /* 000000CE nop                            */  0x90,
-  /* 000000CF nop                            */  0x90,
-  /* 000000D0 nop                            */  0x90,
-  /* 000000D1 nop                            */  0x90,
-  /* 000000D2 nop                            */  0x90,
-  /* 000000D3 nop                            */  0x90,
-  /* 000000D4 nop                            */  0x90,
-  /* 000000D5 nop                            */  0x90,
-  /* 000000D6 nop                            */  0x90,
-  /* 000000D7 nop                            */  0x90,
-  /* 000000D8 nop                            */  0x90,
-  /* 000000D9 nop                            */  0x90,
-  /* 000000DA nop                            */  0x90,
-  /* 000000DB nop                            */  0x90,
-  /* 000000DC nop                            */  0x90,
-  /* 000000DD nop                            */  0x90,
-  /* 000000DE nop                            */  0x90,
-  /* 000000DF nop                            */  0x90,
-  /* 000000E0 nop                            */  0x90,
-  /* 000000E1 nop                            */  0x90,
-  /* 000000E2 nop                            */  0x90,
-  /* 000000E3 nop                            */  0x90,
-  /* 000000E4 nop                            */  0x90,
-  /* 000000E5 nop                            */  0x90,
-  /* 000000E6 nop                            */  0x90,
-  /* 000000E7 nop                            */  0x90,
-  /* 000000E8 nop                            */  0x90,
-  /* 000000E9 nop                            */  0x90,
-  /* 000000EA nop                            */  0x90,
-  /* 000000EB nop                            */  0x90,
-  /* 000000EC nop                            */  0x90,
-  /* 000000ED nop                            */  0x90,
-  /* 000000EE nop                            */  0x90,
-  /* 000000EF nop                            */  0x90,
-  /* 000000F0 nop                            */  0x90,
-  /* 000000F1 nop                            */  0x90,
-  /* 000000F2 nop                            */  0x90,
-  /* 000000F3 nop                            */  0x90,
-  /* 000000F4 nop                            */  0x90,
-  /* 000000F5 nop                            */  0x90,
-  /* 000000F6 nop                            */  0x90,
-  /* 000000F7 nop                            */  0x90,
-  /* 000000F8 nop                            */  0x90,
-  /* 000000F9 nop                            */  0x90,
-  /* 000000FA nop                            */  0x90,
-  /* 000000FB nop                            */  0x90,
-  /* 000000FC nop                            */  0x90,
-  /* 000000FD nop                            */  0x90,
-  /* 000000FE nop                            */  0x90,
-  /* 000000FF nop                            */  0x90,
-  /* 00000100 nop                            */  0x90,
-  /* 00000101 nop                            */  0x90,
-  /* 00000102 nop                            */  0x90,
-  /* 00000103 nop                            */  0x90,
-  /* 00000104 nop                            */  0x90,
-  /* 00000105 nop                            */  0x90,
-  /* 00000106 nop                            */  0x90,
-  /* 00000107 nop                            */  0x90,
-  /* 00000108 nop                            */  0x90,
-  /* 00000109 nop                            */  0x90,
-  /* 0000010A nop                            */  0x90,
-  /* 0000010B nop                            */  0x90,
-  /* 0000010C nop                            */  0x90,
-  /* 0000010D nop                            */  0x90,
-  /* 0000010E nop                            */  0x90,
-  /* 0000010F nop                            */  0x90,
-  /* 00000110 nop                            */  0x90,
-  /* 00000111 nop                            */  0x90,
-  /* 00000112 nop                            */  0x90,
-  /* 00000113 nop                            */  0x90,
-  /* 00000114 nop                            */  0x90,
-  /* 00000115 nop                            */  0x90,
-  /* 00000116 nop                            */  0x90,
-  /* 00000117 nop                            */  0x90,
-  /* 00000118 nop                            */  0x90,
-  /* 00000119 nop                            */  0x90,
-  /* 0000011A nop                            */  0x90,
-  /* 0000011B nop                            */  0x90,
-  /* 0000011C nop                            */  0x90,
-  /* 0000011D nop                            */  0x90,
-  /* 0000011E nop                            */  0x90,
-  /* 0000011F nop                            */  0x90,
-  /* 00000120 nop                            */  0x90,
-  /* 00000121 nop                            */  0x90,
-  /* 00000122 nop                            */  0x90,
-  /* 00000123 nop                            */  0x90,
-  /* 00000124 nop                            */  0x90,
-  /* 00000125 nop                            */  0x90,
-  /* 00000126 nop                            */  0x90,
-  /* 00000127 nop                            */  0x90,
-  /* 00000128 nop                            */  0x90,
-  /* 00000129 nop                            */  0x90,
-  /* 0000012A nop                            */  0x90,
-  /* 0000012B nop                            */  0x90,
-  /* 0000012C nop                            */  0x90,
-  /* 0000012D nop                            */  0x90,
-  /* 0000012E nop                            */  0x90,
-  /* 0000012F nop                            */  0x90,
-  /* 00000130 nop                            */  0x90,
-  /* 00000131 nop                            */  0x90,
-  /* 00000132 nop                            */  0x90,
-  /* 00000133 nop                            */  0x90,
-  /* 00000134 nop                            */  0x90,
-  /* 00000135 nop                            */  0x90,
-  /* 00000136 nop                            */  0x90,
-  /* 00000137 nop                            */  0x90,
-  /* 00000138 nop                            */  0x90,
-  /* 00000139 nop                            */  0x90,
-  /* 0000013A nop                            */  0x90,
-  /* 0000013B nop                            */  0x90,
-  /* 0000013C nop                            */  0x90,
-  /* 0000013D nop                            */  0x90,
-  /* 0000013E nop                            */  0x90,
-  /* 0000013F nop                            */  0x90,
-  /* 00000140 nop                            */  0x90,
-  /* 00000141 nop                            */  0x90,
-  /* 00000142 nop                            */  0x90,
-  /* 00000143 nop                            */  0x90,
-  /* 00000144 nop                            */  0x90,
-  /* 00000145 nop                            */  0x90,
-  /* 00000146 nop                            */  0x90,
-  /* 00000147 nop                            */  0x90,
-  /* 00000148 nop                            */  0x90,
-  /* 00000149 nop                            */  0x90,
-  /* 0000014A nop                            */  0x90,
-  /* 0000014B nop                            */  0x90,
-  /* 0000014C nop                            */  0x90,
-  /* 0000014D nop                            */  0x90,
-  /* 0000014E nop                            */  0x90,
-  /* 0000014F nop                            */  0x90,
-  /* 00000150 nop                            */  0x90,
-  /* 00000151 nop                            */  0x90,
-  /* 00000152 nop                            */  0x90,
-  /* 00000153 nop                            */  0x90,
-  /* 00000154 nop                            */  0x90,
-  /* 00000155 nop                            */  0x90,
-  /* 00000156 nop                            */  0x90,
-  /* 00000157 nop                            */  0x90,
-  /* 00000158 nop                            */  0x90,
-  /* 00000159 nop                            */  0x90,
-  /* 0000015A nop                            */  0x90,
-  /* 0000015B nop                            */  0x90,
-  /* 0000015C nop                            */  0x90,
-  /* 0000015D nop                            */  0x90,
-  /* 0000015E nop                            */  0x90,
-  /* 0000015F nop                            */  0x90,
-  /* 00000160 nop                            */  0x90,
-  /* 00000161 nop                            */  0x90,
-  /* 00000162 nop                            */  0x90,
-  /* 00000163 nop                            */  0x90,
-  /* 00000164 nop                            */  0x90,
-  /* 00000165 nop                            */  0x90,
-  /* 00000166 nop                            */  0x90,
-  /* 00000167 nop                            */  0x90,
-  /* 00000168 nop                            */  0x90,
-  /* 00000169 nop                            */  0x90,
-  /* 0000016A nop                            */  0x90,
-  /* 0000016B nop                            */  0x90,
-  /* 0000016C nop                            */  0x90,
-  /* 0000016D nop                            */  0x90,
-  /* 0000016E nop                            */  0x90,
-  /* 0000016F nop                            */  0x90,
-  /* 00000170 nop                            */  0x90,
-  /* 00000171 nop                            */  0x90,
-  /* 00000172 nop                            */  0x90,
-  /* 00000173 nop                            */  0x90,
-  /* 00000174 nop                            */  0x90,
-  /* 00000175 nop                            */  0x90,
-  /* 00000176 nop                            */  0x90,
-  /* 00000177 nop                            */  0x90,
-  /* 00000178 nop                            */  0x90,
-  /* 00000179 nop                            */  0x90,
-  /* 0000017A nop                            */  0x90,
-  /* 0000017B nop                            */  0x90,
-  /* 0000017C nop                            */  0x90,
-  /* 0000017D nop                            */  0x90,
-  /* 0000017E nop                            */  0x90,
-  /* 0000017F nop                            */  0x90,
-  /* 00000180 nop                            */  0x90,
-  /* 00000181 nop                            */  0x90,
-  /* 00000182 nop                            */  0x90,
-  /* 00000183 nop                            */  0x90,
-  /* 00000184 nop                            */  0x90,
-  /* 00000185 nop                            */  0x90,
-  /* 00000186 nop                            */  0x90,
-  /* 00000187 nop                            */  0x90,
-  /* 00000188 nop                            */  0x90,
-  /* 00000189 nop                            */  0x90,
-  /* 0000018A nop                            */  0x90,
-  /* 0000018B nop                            */  0x90,
-  /* 0000018C nop                            */  0x90,
-  /* 0000018D nop                            */  0x90,
-  /* 0000018E nop                            */  0x90,
-  /* 0000018F nop                            */  0x90,
-  /* 00000190 nop                            */  0x90,
-  /* 00000191 nop                            */  0x90,
-  /* 00000192 nop                            */  0x90,
-  /* 00000193 nop                            */  0x90,
-  /* 00000194 nop                            */  0x90,
-  /* 00000195 nop                            */  0x90,
-  /* 00000196 nop                            */  0x90,
-  /* 00000197 nop                            */  0x90,
-  /* 00000198 nop                            */  0x90,
-  /* 00000199 nop                            */  0x90,
-  /* 0000019A nop                            */  0x90,
-  /* 0000019B nop                            */  0x90,
-  /* 0000019C nop                            */  0x90,
-  /* 0000019D nop                            */  0x90,
-  /* 0000019E nop                            */  0x90,
-  /* 0000019F nop                            */  0x90,
-  /* 000001A0 nop                            */  0x90,
-  /* 000001A1 nop                            */  0x90,
-  /* 000001A2 nop                            */  0x90,
-  /* 000001A3 nop                            */  0x90,
-  /* 000001A4 nop                            */  0x90,
-  /* 000001A5 nop                            */  0x90,
-  /* 000001A6 nop                            */  0x90,
-  /* 000001A7 nop                            */  0x90,
-  /* 000001A8 nop                            */  0x90,
-  /* 000001A9 nop                            */  0x90,
-  /* 000001AA nop                            */  0x90,
-  /* 000001AB nop                            */  0x90,
-  /* 000001AC nop                            */  0x90,
-  /* 000001AD nop                            */  0x90,
-  /* 000001AE nop                            */  0x90,
-  /* 000001AF nop                            */  0x90,
-  /* 000001B0 nop                            */  0x90,
-  /* 000001B1 nop                            */  0x90,
-  /* 000001B2 nop                            */  0x90,
-  /* 000001B3 nop                            */  0x90,
-  /* 000001B4 nop                            */  0x90,
-  /* 000001B5 nop                            */  0x90,
-  /* 000001B6 nop                            */  0x90,
-  /* 000001B7 nop                            */  0x90,
-  /* 000001B8 nop                            */  0x90,
-  /* 000001B9 nop                            */  0x90,
-  /* 000001BA nop                            */  0x90,
-  /* 000001BB nop                            */  0x90,
-  /* 000001BC nop                            */  0x90,
-  /* 000001BD nop                            */  0x90,
-  /* 000001BE nop                            */  0x90,
-  /* 000001BF nop                            */  0x90,
-  /* 000001C0 nop                            */  0x90,
-  /* 000001C1 nop                            */  0x90,
-  /* 000001C2 nop                            */  0x90,
-  /* 000001C3 nop                            */  0x90,
-  /* 000001C4 nop                            */  0x90,
-  /* 000001C5 nop                            */  0x90,
-  /* 000001C6 nop                            */  0x90,
-  /* 000001C7 nop                            */  0x90,
-  /* 000001C8 nop                            */  0x90,
-  /* 000001C9 nop                            */  0x90,
-  /* 000001CA nop                            */  0x90,
-  /* 000001CB nop                            */  0x90,
-  /* 000001CC nop                            */  0x90,
-  /* 000001CD nop                            */  0x90,
-  /* 000001CE nop                            */  0x90,
-  /* 000001CF nop                            */  0x90,
-  /* 000001D0 nop                            */  0x90,
-  /* 000001D1 nop                            */  0x90,
-  /* 000001D2 nop                            */  0x90,
-  /* 000001D3 nop                            */  0x90,
-  /* 000001D4 nop                            */  0x90,
-  /* 000001D5 nop                            */  0x90,
-  /* 000001D6 nop                            */  0x90,
-  /* 000001D7 nop                            */  0x90,
-  /* 000001D8 nop                            */  0x90,
-  /* 000001D9 nop                            */  0x90,
-  /* 000001DA nop                            */  0x90,
-  /* 000001DB nop                            */  0x90,
-  /* 000001DC nop                            */  0x90,
-  /* 000001DD nop                            */  0x90,
-  /* 000001DE nop                            */  0x90,
-  /* 000001DF nop                            */  0x90,
-  /* 000001E0 nop                            */  0x90,
-  /* 000001E1 nop                            */  0x90,
-  /* 000001E2 nop                            */  0x90,
-  /* 000001E3 nop                            */  0x90,
-  /* 000001E4 nop                            */  0x90,
-  /* 000001E5 nop                            */  0x90,
-  /* 000001E6 nop                            */  0x90,
-  /* 000001E7 nop                            */  0x90,
-  /* 000001E8 nop                            */  0x90,
-  /* 000001E9 nop                            */  0x90,
-  /* 000001EA nop                            */  0x90,
-  /* 000001EB nop                            */  0x90,
-  /* 000001EC nop                            */  0x90,
-  /* 000001ED nop                            */  0x90,
-  /* 000001EE nop                            */  0x90,
-  /* 000001EF nop                            */  0x90,
-  /* 000001F0 nop                            */  0x90,
-  /* 000001F1 nop                            */  0x90,
-  /* 000001F2 nop                            */  0x90,
-  /* 000001F3 nop                            */  0x90,
-  /* 000001F4 nop                            */  0x90,
-  /* 000001F5 nop                            */  0x90,
-  /* 000001F6 nop                            */  0x90,
-  /* 000001F7 nop                            */  0x90,
-  /* 000001F8 nop                            */  0x90,
-  /* 000001F9 nop                            */  0x90,
-  /* 000001FA nop                            */  0x90,
-  /* 000001FB nop                            */  0x90,
-  /* 000001FC nop                            */  0x90,
-  /* 000001FD nop                            */  0x90,
-  /* 000001FE nop                            */  0x90,
-  /* 000001FF nop                            */  0x90,
-  /* 00000200 cmp ax,0x4f00                  */  0x3D, 0x00, 0x4F,
-  /* 00000203 jz 0x237                       */  0x74, 0x32,
-  /* 00000205 cmp ax,0x4f01                  */  0x3D, 0x01, 0x4F,
-  /* 00000208 jz 0x257                       */  0x74, 0x4D,
-  /* 0000020A cmp ax,0x4f02                  */  0x3D, 0x02, 0x4F,
-  /* 0000020D jz word 0x2c8                  */  0x0F, 0x84, 0xB7, 0x00,
-  /* 00000211 cmp ax,0x4f03                  */  0x3D, 0x03, 0x4F,
-  /* 00000214 jz word 0x325                  */  0x0F, 0x84, 0x0D, 0x01,
-  /* 00000218 cmp ax,0x4f10                  */  0x3D, 0x10, 0x4F,
-  /* 0000021B jz word 0x337                  */  0x0F, 0x84, 0x18, 0x01,
-  /* 0000021F cmp ax,0x4f15                  */  0x3D, 0x15, 0x4F,
-  /* 00000222 jz word 0x344                  */  0x0F, 0x84, 0x1E, 0x01,
-  /* 00000226 cmp ah,0x0                     */  0x80, 0xFC, 0x00,
-  /* 00000229 jz word 0x363                  */  0x0F, 0x84, 0x36, 0x01,
-  /* 0000022D push si                        */  0x56,
-  /* 0000022E mov si,0x3d7                   */  0xBE, 0xD7, 0x03,
-  /* 00000231 call word 0x3ad                */  0xE8, 0x79, 0x01,
-  /* 00000234 pop si                         */  0x5E,
-  /* 00000235 jmp short 0x235                */  0xEB, 0xFE,
-  /* 00000237 push es                        */  0x06,
-  /* 00000238 push di                        */  0x57,
-  /* 00000239 push ds                        */  0x1E,
-  /* 0000023A push si                        */  0x56,
-  /* 0000023B push cx                        */  0x51,
-  /* 0000023C push si                        */  0x56,
-  /* 0000023D mov si,0x3eb                   */  0xBE, 0xEB, 0x03,
-  /* 00000240 call word 0x3ad                */  0xE8, 0x6A, 0x01,
-  /* 00000243 pop si                         */  0x5E,
-  /* 00000244 push cs                        */  0x0E,
-  /* 00000245 pop ds                         */  0x1F,
-  /* 00000246 mov si,0x0                     */  0xBE, 0x00, 0x00,
-  /* 00000249 mov cx,0x100                   */  0xB9, 0x00, 0x01,
-  /* 0000024C cld                            */  0xFC,
-  /* 0000024D rep movsb                      */  0xF3, 0xA4,
-  /* 0000024F pop cx                         */  0x59,
-  /* 00000250 pop si                         */  0x5E,
-  /* 00000251 pop ds                         */  0x1F,
-  /* 00000252 pop di                         */  0x5F,
-  /* 00000253 pop es                         */  0x07,
-  /* 00000254 jmp word 0x395                 */  0xE9, 0x3E, 0x01,
-  /* 00000257 push es                        */  0x06,
-  /* 00000258 push di                        */  0x57,
-  /* 00000259 push ds                        */  0x1E,
-  /* 0000025A push si                        */  0x56,
-  /* 0000025B push cx                        */  0x51,
-  /* 0000025C push si                        */  0x56,
-  /* 0000025D mov si,0x3f6                   */  0xBE, 0xF6, 0x03,
-  /* 00000260 call word 0x3ad                */  0xE8, 0x4A, 0x01,
-  /* 00000263 pop si                         */  0x5E,
-  /* 00000264 and cx,0xbfff                  */  0x81, 0xE1, 0xFF, 0xBF,
-  /* 00000268 cmp cx,0x13f                   */  0x81, 0xF9, 0x3F, 0x01,
-  /* 0000026C jz 0x284                       */  0x74, 0x16,
-  /* 0000026E cmp cx,0x140                   */  0x81, 0xF9, 0x40, 0x01,
-  /* 00000272 jz 0x291                       */  0x74, 0x1D,
-  /* 00000274 cmp cx,0x141                   */  0x81, 0xF9, 0x41, 0x01,
-  /* 00000278 jz 0x29e                       */  0x74, 0x24,
-  /* 0000027A push si                        */  0x56,
-  /* 0000027B mov si,0x42c                   */  0xBE, 0x2C, 0x04,
-  /* 0000027E call word 0x3ad                */  0xE8, 0x2C, 0x01,
-  /* 00000281 pop si                         */  0x5E,
-  /* 00000282 jmp short 0x235                */  0xEB, 0xB1,
-  /* 00000284 push si                        */  0x56,
-  /* 00000285 mov si,0x46b                   */  0xBE, 0x6B, 0x04,
-  /* 00000288 call word 0x3ad                */  0xE8, 0x22, 0x01,
-  /* 0000028B pop si                         */  0x5E,
-  /* 0000028C mov si,0x100                   */  0xBE, 0x00, 0x01,
-  /* 0000028F jmp short 0x2b8                */  0xEB, 0x27,
-  /* 00000291 push si                        */  0x56,
-  /* 00000292 mov si,0x47d                   */  0xBE, 0x7D, 0x04,
-  /* 00000295 call word 0x3ad                */  0xE8, 0x15, 0x01,
-  /* 00000298 pop si                         */  0x5E,
-  /* 00000299 mov si,0x132                   */  0xBE, 0x32, 0x01,
-  /* 0000029C jmp short 0x2b8                */  0xEB, 0x1A,
-  /* 0000029E push si                        */  0x56,
-  /* 0000029F mov si,0x48f                   */  0xBE, 0x8F, 0x04,
-  /* 000002A2 call word 0x3ad                */  0xE8, 0x08, 0x01,
-  /* 000002A5 pop si                         */  0x5E,
-  /* 000002A6 mov si,0x164                   */  0xBE, 0x64, 0x01,
-  /* 000002A9 jmp short 0x2b8                */  0xEB, 0x0D,
-  /* 000002AB push si                        */  0x56,
-  /* 000002AC mov si,0x4a2                   */  0xBE, 0xA2, 0x04,
-  /* 000002AF call word 0x3ad                */  0xE8, 0xFB, 0x00,
-  /* 000002B2 pop si                         */  0x5E,
-  /* 000002B3 mov si,0x196                   */  0xBE, 0x96, 0x01,
-  /* 000002B6 jmp short 0x2b8                */  0xEB, 0x00,
-  /* 000002B8 push cs                        */  0x0E,
-  /* 000002B9 pop ds                         */  0x1F,
-  /* 000002BA mov cx,0x32                    */  0xB9, 0x32, 0x00,
-  /* 000002BD cld                            */  0xFC,
-  /* 000002BE rep movsb                      */  0xF3, 0xA4,
-  /* 000002C0 pop cx                         */  0x59,
-  /* 000002C1 pop si                         */  0x5E,
-  /* 000002C2 pop ds                         */  0x1F,
-  /* 000002C3 pop di                         */  0x5F,
-  /* 000002C4 pop es                         */  0x07,
-  /* 000002C5 jmp word 0x395                 */  0xE9, 0xCD, 0x00,
-  /* 000002C8 push dx                        */  0x52,
-  /* 000002C9 push ax                        */  0x50,
-  /* 000002CA push si                        */  0x56,
-  /* 000002CB mov si,0x410                   */  0xBE, 0x10, 0x04,
-  /* 000002CE call word 0x3ad                */  0xE8, 0xDC, 0x00,
-  /* 000002D1 pop si                         */  0x5E,
-  /* 000002D2 and bx,0xbfff                  */  0x81, 0xE3, 0xFF, 0xBF,
-  /* 000002D6 cmp bx,0x13f                   */  0x81, 0xFB, 0x3F, 0x01,
-  /* 000002DA jz 0x2f3                       */  0x74, 0x17,
-  /* 000002DC cmp bx,0x140                   */  0x81, 0xFB, 0x40, 0x01,
-  /* 000002E0 jz 0x2fd                       */  0x74, 0x1B,
-  /* 000002E2 cmp bx,0x141                   */  0x81, 0xFB, 0x41, 0x01,
-  /* 000002E6 jz 0x307                       */  0x74, 0x1F,
-  /* 000002E8 push si                        */  0x56,
-  /* 000002E9 mov si,0x42c                   */  0xBE, 0x2C, 0x04,
-  /* 000002EC call word 0x3ad                */  0xE8, 0xBE, 0x00,
-  /* 000002EF pop si                         */  0x5E,
-  /* 000002F0 jmp word 0x235                 */  0xE9, 0x42, 0xFF,
-  /* 000002F3 push si                        */  0x56,
-  /* 000002F4 mov si,0x46b                   */  0xBE, 0x6B, 0x04,
-  /* 000002F7 call word 0x3ad                */  0xE8, 0xB3, 0x00,
-  /* 000002FA pop si                         */  0x5E,
-  /* 000002FB jmp short 0x319                */  0xEB, 0x1C,
-  /* 000002FD push si                        */  0x56,
-  /* 000002FE mov si,0x47d                   */  0xBE, 0x7D, 0x04,
-  /* 00000301 call word 0x3ad                */  0xE8, 0xA9, 0x00,
-  /* 00000304 pop si                         */  0x5E,
-  /* 00000305 jmp short 0x319                */  0xEB, 0x12,
-  /* 00000307 push si                        */  0x56,
-  /* 00000308 mov si,0x48f                   */  0xBE, 0x8F, 0x04,
-  /* 0000030B call word 0x3ad                */  0xE8, 0x9F, 0x00,
-  /* 0000030E pop si                         */  0x5E,
-  /* 0000030F jmp short 0x319                */  0xEB, 0x08,
-  /* 00000311 push si                        */  0x56,
-  /* 00000312 mov si,0x4a2                   */  0xBE, 0xA2, 0x04,
-  /* 00000315 call word 0x3ad                */  0xE8, 0x95, 0x00,
-  /* 00000318 pop si                         */  0x5E,
-  /* 00000319 mov [0x4b0],bl                 */  0x88, 0x1E, 0xB0, 0x04,
-  /* 0000031D mov [0x4b1],bh                 */  0x88, 0x3E, 0xB1, 0x04,
-  /* 00000321 pop ax                         */  0x58,
-  /* 00000322 pop dx                         */  0x5A,
-  /* 00000323 jmp short 0x395                */  0xEB, 0x70,
-  /* 00000325 push si                        */  0x56,
-  /* 00000326 mov si,0x405                   */  0xBE, 0x05, 0x04,
-  /* 00000329 call word 0x3ad                */  0xE8, 0x81, 0x00,
-  /* 0000032C pop si                         */  0x5E,
-  /* 0000032D mov bl,[0x4b0]                 */  0x8A, 0x1E, 0xB0, 0x04,
-  /* 00000331 mov bh,[0x4b1]                 */  0x8A, 0x3E, 0xB1, 0x04,
-  /* 00000335 jmp short 0x395                */  0xEB, 0x5E,
-  /* 00000337 push si                        */  0x56,
-  /* 00000338 mov si,0x43b                   */  0xBE, 0x3B, 0x04,
-  /* 0000033B call word 0x3ad                */  0xE8, 0x6F, 0x00,
-  /* 0000033E pop si                         */  0x5E,
-  /* 0000033F mov bx,0x80                    */  0xBB, 0x80, 0x00,
-  /* 00000342 jmp short 0x395                */  0xEB, 0x51,
-  /* 00000344 push es                        */  0x06,
-  /* 00000345 push di                        */  0x57,
-  /* 00000346 push ds                        */  0x1E,
-  /* 00000347 push si                        */  0x56,
-  /* 00000348 push cx                        */  0x51,
-  /* 00000349 push si                        */  0x56,
-  /* 0000034A mov si,0x450                   */  0xBE, 0x50, 0x04,
-  /* 0000034D call word 0x3ad                */  0xE8, 0x5D, 0x00,
-  /* 00000350 pop si                         */  0x5E,
-  /* 00000351 push cs                        */  0x0E,
-  /* 00000352 pop ds                         */  0x1F,
-  /* 00000353 mov si,0x4b2                   */  0xBE, 0xB2, 0x04,
-  /* 00000356 mov cx,0x80                    */  0xB9, 0x80, 0x00,
-  /* 00000359 cld                            */  0xFC,
-  /* 0000035A rep movsb                      */  0xF3, 0xA4,
-  /* 0000035C pop cx                         */  0x59,
-  /* 0000035D pop si                         */  0x5E,
-  /* 0000035E pop ds                         */  0x1F,
-  /* 0000035F pop di                         */  0x5F,
-  /* 00000360 pop es                         */  0x07,
-  /* 00000361 jmp short 0x395                */  0xEB, 0x32,
-  /* 00000363 push si                        */  0x56,
-  /* 00000364 mov si,0x41b                   */  0xBE, 0x1B, 0x04,
-  /* 00000367 call word 0x3ad                */  0xE8, 0x43, 0x00,
-  /* 0000036A pop si                         */  0x5E,
-  /* 0000036B cmp al,0x3                     */  0x3C, 0x03,
-  /* 0000036D jz 0x37e                       */  0x74, 0x0F,
-  /* 0000036F cmp al,0x12                    */  0x3C, 0x12,
-  /* 00000371 jz 0x38a                       */  0x74, 0x17,
-  /* 00000373 push si                        */  0x56,
-  /* 00000374 mov si,0x42c                   */  0xBE, 0x2C, 0x04,
-  /* 00000377 call word 0x3ad                */  0xE8, 0x33, 0x00,
-  /* 0000037A pop si                         */  0x5E,
-  /* 0000037B jmp word 0x235                 */  0xE9, 0xB7, 0xFE,
-  /* 0000037E push si                        */  0x56,
-  /* 0000037F mov si,0x45c                   */  0xBE, 0x5C, 0x04,
-  /* 00000382 call word 0x3ad                */  0xE8, 0x28, 0x00,
-  /* 00000385 pop si                         */  0x5E,
-  /* 00000386 mov al,0x0                     */  0xB0, 0x00,
-  /* 00000388 jmp short 0x38c                */  0xEB, 0x02,
-  /* 0000038A mov al,0x0                     */  0xB0, 0x00,
-  /* 0000038C push si                        */  0x56,
-  /* 0000038D mov si,0x3c2                   */  0xBE, 0xC2, 0x03,
-  /* 00000390 call word 0x3ad                */  0xE8, 0x1A, 0x00,
-  /* 00000393 pop si                         */  0x5E,
-  /* 00000394 iretw                          */  0xCF,
-  /* 00000395 push si                        */  0x56,
-  /* 00000396 mov si,0x3c2                   */  0xBE, 0xC2, 0x03,
-  /* 00000399 call word 0x3ad                */  0xE8, 0x11, 0x00,
-  /* 0000039C pop si                         */  0x5E,
-  /* 0000039D mov ax,0x4f                    */  0xB8, 0x4F, 0x00,
-  /* 000003A0 iretw                          */  0xCF,
-  /* 000003A1 push si                        */  0x56,
-  /* 000003A2 mov si,0x3c8                   */  0xBE, 0xC8, 0x03,
-  /* 000003A5 call word 0x3ad                */  0xE8, 0x05, 0x00,
-  /* 000003A8 pop si                         */  0x5E,
-  /* 000003A9 mov ax,0x24f                   */  0xB8, 0x4F, 0x02,
-  /* 000003AC iretw                          */  0xCF,
-  /* 000003AD pushaw                         */  0x60,
-  /* 000003AE push ds                        */  0x1E,
-  /* 000003AF push cs                        */  0x0E,
-  /* 000003B0 pop ds                         */  0x1F,
-  /* 000003B1 mov dx,0x220                   */  0xBA, 0x20, 0x02,
-  /* 000003B4 mov ax,0x0                     */  0xB8, 0x00, 0x00,
-  /* 000003B7 lodsb                          */  0xAC,
-  /* 000003B8 cmp al,0x0                     */  0x3C, 0x00,
-  /* 000003BA jz 0x3bf                       */  0x74, 0x03,
-  /* 000003BC out dx,al                      */  0xEE,
-  /* 000003BD jmp short 0x3b7                */  0xEB, 0xF8,
-  /* 000003BF pop ds                         */  0x1F,
-  /* 000003C0 popaw                          */  0x61,
-  /* 000003C1 ret                            */  0xC3,
-  /* 000003C2 jna 0x413                      */  0x76, 0x4F,
-  /* 000003C4 imul cx,[di],byte +0xa         */  0x6B, 0x0D, 0x0A,
-  /* 000003C7 add [bp+0x55],dh               */  0x00, 0x76, 0x55,
-  /* 000003CA outsb                          */  0x6E,
-  /* 000003CB jnc 0x442                      */  0x73, 0x75,
-  /* 000003CD jo 0x43f                       */  0x70, 0x70,
-  /* 000003CF outsw                          */  0x6F,
-  /* 000003D0 jc 0x446                       */  0x72, 0x74,
-  /* 000003D2 fs or ax,0xa                   */  0x65, 0x64, 0x0D, 0x0A, 0x00,
-  /* 000003D7 jna 0x42e                      */  0x76, 0x55,
-  /* 000003D9 outsb                          */  0x6E,
-  /* 000003DA imul bp,[bp+0x6f],byte +0x77   */  0x6B, 0x6E, 0x6F, 0x77,
-  /* 000003DE outsb                          */  0x6E,
-  /* 000003DF and [bp+0x75],al               */  0x20, 0x46, 0x75,
-  /* 000003E2 outsb                          */  0x6E,
-  /* 000003E3 arpl [si+0x69],si              */  0x63, 0x74, 0x69,
-  /* 000003E6 outsw                          */  0x6F,
-  /* 000003E7 outsb                          */  0x6E,
-  /* 000003E8 or ax,0xa                      */  0x0D, 0x0A, 0x00,
-  /* 000003EB jna 0x434                      */  0x76, 0x47,
-  /* 000003ED gs jz 0x439                    */  0x65, 0x74, 0x49,
-  /* 000003F0 outsb                          */  0x6E,
-  /* 000003F1 outsd                          */  0x66, 0x6F,
-  /* 000003F3 or ax,0xa                      */  0x0D, 0x0A, 0x00,
-  /* 000003F6 jna 0x43f                      */  0x76, 0x47,
-  /* 000003F8 gs jz 0x448                    */  0x65, 0x74, 0x4D,
-  /* 000003FB outsw                          */  0x6F,
-  /* 000003FC gs dec cx                      */  0x64, 0x65, 0x49,
-  /* 000003FF outsb                          */  0x6E,
-  /* 00000400 outsd                          */  0x66, 0x6F,
-  /* 00000402 or ax,0xa                      */  0x0D, 0x0A, 0x00,
-  /* 00000405 jna 0x44e                      */  0x76, 0x47,
-  /* 00000407 gs jz 0x457                    */  0x65, 0x74, 0x4D,
-  /* 0000040A outsw                          */  0x6F,
-  /* 0000040B gs or ax,0xa                   */  0x64, 0x65, 0x0D, 0x0A, 0x00,
-  /* 00000410 jna 0x465                      */  0x76, 0x53,
-  /* 00000412 gs jz 0x462                    */  0x65, 0x74, 0x4D,
-  /* 00000415 outsw                          */  0x6F,
-  /* 00000416 gs or ax,0xa                   */  0x64, 0x65, 0x0D, 0x0A, 0x00,
-  /* 0000041B jna 0x470                      */  0x76, 0x53,
-  /* 0000041D gs jz 0x46d                    */  0x65, 0x74, 0x4D,
-  /* 00000420 outsw                          */  0x6F,
-  /* 00000421 gs dec sp                      */  0x64, 0x65, 0x4C,
-  /* 00000424 gs a32 popaw                   */  0x65, 0x67, 0x61,
-  /* 00000427 arpl [bx+di+0xd],di            */  0x63, 0x79, 0x0D,
-  /* 0000042A or al,[bx+si]                  */  0x0A, 0x00,
-  /* 0000042C jna 0x483                      */  0x76, 0x55,
-  /* 0000042E outsb                          */  0x6E,
-  /* 0000042F imul bp,[bx+0x77],byte +0x6e   */  0x6B, 0x6F, 0x77, 0x6E,
-  /* 00000433 and [di+0x6f],cl               */  0x20, 0x4D, 0x6F,
-  /* 00000436 gs or ax,0xa                   */  0x64, 0x65, 0x0D, 0x0A, 0x00,
-  /* 0000043B jna 0x484                      */  0x76, 0x47,
-  /* 0000043D gs jz 0x490                    */  0x65, 0x74, 0x50,
-  /* 00000440 insw                           */  0x6D,
-  /* 00000441 inc bx                         */  0x43,
-  /* 00000442 popaw                          */  0x61,
-  /* 00000443 jo 0x4a6                       */  0x70, 0x61,
-  /* 00000445 bound bp,[bx+di+0x6c]          */  0x62, 0x69, 0x6C,
-  /* 00000448 imul si,[si+0x69],word 0x7365  */  0x69, 0x74, 0x69, 0x65, 0x73,
-  /* 0000044D or ax,0xa                      */  0x0D, 0x0A, 0x00,
-  /* 00000450 jna 0x4a4                      */  0x76, 0x52,
-  /* 00000452 gs popaw                       */  0x65, 0x61,
-  /* 00000454 fs inc bp                      */  0x64, 0x45,
-  /* 00000456 imul sp,[fs:si+0xd],word 0xa   */  0x64, 0x69, 0x64, 0x0D, 0x0A, 0x00,
-  /* 0000045C jna 0x4aa                      */  0x76, 0x4C,
-  /* 0000045E gs a32 popaw                   */  0x65, 0x67, 0x61,
-  /* 00000461 arpl [bx+di+0x4d],di           */  0x63, 0x79, 0x4D,
-  /* 00000464 outsw                          */  0x6F,
-  /* 00000465 xor cx,[gs:di]                 */  0x64, 0x65, 0x33, 0x0D,
-  /* 00000469 or al,[bx+si]                  */  0x0A, 0x00,
-  /* 0000046B insw                           */  0x6D,
-  /* 0000046C outsw                          */  0x6F,
-  /* 0000046D gs pop di                      */  0x64, 0x65, 0x5F,
-  /* 00000470 ss xor al,0x30                 */  0x36, 0x34, 0x30,
-  /* 00000473 js 0x4a9                       */  0x78, 0x34,
-  /* 00000475 cmp [bx+si],dh                 */  0x38, 0x30,
-  /* 00000477 js 0x4ac                       */  0x78, 0x33,
-  /* 00000479 xor cl,[di]                    */  0x32, 0x0D,
-  /* 0000047B or al,[bx+si]                  */  0x0A, 0x00,
-  /* 0000047D insw                           */  0x6D,
-  /* 0000047E outsw                          */  0x6F,
-  /* 0000047F gs pop di                      */  0x64, 0x65, 0x5F,
-  /* 00000482 cmp [bx+si],dh                 */  0x38, 0x30,
-  /* 00000484 xor [bx+si+0x36],bh            */  0x30, 0x78, 0x36,
-  /* 00000487 xor [bx+si],dh                 */  0x30, 0x30,
-  /* 00000489 js 0x4be                       */  0x78, 0x33,
-  /* 0000048B xor cl,[di]                    */  0x32, 0x0D,
-  /* 0000048D or al,[bx+si]                  */  0x0A, 0x00,
-  /* 0000048F insw                           */  0x6D,
-  /* 00000490 outsw                          */  0x6F,
-  /* 00000491 gs pop di                      */  0x64, 0x65, 0x5F,
-  /* 00000494 xor [bx+si],si                 */  0x31, 0x30,
-  /* 00000496 xor dh,[si]                    */  0x32, 0x34,
-  /* 00000498 js 0x4d1                       */  0x78, 0x37,
-  /* 0000049A cmp [ss:bx+si+0x33],bh         */  0x36, 0x38, 0x78, 0x33,
-  /* 0000049E xor cl,[di]                    */  0x32, 0x0D,
-  /* 000004A0 or al,[bx+si]                  */  0x0A, 0x00,
-  /* 000004A2 insw                           */  0x6D,
-  /* 000004A3 outsw                          */  0x6F,
-  /* 000004A4 gs pop di                      */  0x64, 0x65, 0x5F,
-  /* 000004A7 jnz 0x517                      */  0x75, 0x6E,
-  /* 000004A9 jnz 0x51e                      */  0x75, 0x73,
-  /* 000004AB fs or ax,0xa                   */  0x65, 0x64, 0x0D, 0x0A, 0x00,
-  /* 000004B0 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004B2 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004B4 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004B6 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004B8 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004BA add [bx+si],al                 */  0x00, 0x00,
-  /* 000004BC add [bx+si],al                 */  0x00, 0x00,
-  /* 000004BE add [bx+si],al                 */  0x00, 0x00,
-  /* 000004C0 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004C2 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004C4 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004C6 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004C8 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004CA add [bx+si],al                 */  0x00, 0x00,
-  /* 000004CC add [bx+si],al                 */  0x00, 0x00,
-  /* 000004CE add [bx+si],al                 */  0x00, 0x00,
-  /* 000004D0 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004D2 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004D4 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004D6 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004D8 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004DA add [bx+si],al                 */  0x00, 0x00,
-  /* 000004DC add [bx+si],al                 */  0x00, 0x00,
-  /* 000004DE add [bx+si],al                 */  0x00, 0x00,
-  /* 000004E0 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004E2 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004E4 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004E6 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004E8 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004EA add [bx+si],al                 */  0x00, 0x00,
-  /* 000004EC add [bx+si],al                 */  0x00, 0x00,
-  /* 000004EE add [bx+si],al                 */  0x00, 0x00,
-  /* 000004F0 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004F2 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004F4 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004F6 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004F8 add [bx+si],al                 */  0x00, 0x00,
-  /* 000004FA add [bx+si],al                 */  0x00, 0x00,
-  /* 000004FC add [bx+si],al                 */  0x00, 0x00,
-  /* 000004FE add [bx+si],al                 */  0x00, 0x00,
-  /* 00000500 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000502 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000504 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000506 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000508 add [bx+si],al                 */  0x00, 0x00,
-  /* 0000050A add [bx+si],al                 */  0x00, 0x00,
-  /* 0000050C add [bx+si],al                 */  0x00, 0x00,
-  /* 0000050E add [bx+si],al                 */  0x00, 0x00,
-  /* 00000510 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000512 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000514 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000516 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000518 add [bx+si],al                 */  0x00, 0x00,
-  /* 0000051A add [bx+si],al                 */  0x00, 0x00,
-  /* 0000051C add [bx+si],al                 */  0x00, 0x00,
-  /* 0000051E add [bx+si],al                 */  0x00, 0x00,
-  /* 00000520 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000522 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000524 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000526 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000528 add [bx+si],al                 */  0x00, 0x00,
-  /* 0000052A add [bx+si],al                 */  0x00, 0x00,
-  /* 0000052C add [bx+si],al                 */  0x00, 0x00,
-  /* 0000052E add [bx+si],al                 */  0x00, 0x00,
-  /* 00000530 add [bx+si],al                 */  0x00, 0x00,
-  /* 00000532 add [bx+si],al                 */  0x00, 0x00,
+STATIC CONST UINT8  mVbeShim[] = {
+  /* 00000000 nop                            */ 0x90,
+  /* 00000001 nop                            */ 0x90,
+  /* 00000002 nop                            */ 0x90,
+  /* 00000003 nop                            */ 0x90,
+  /* 00000004 nop                            */ 0x90,
+  /* 00000005 nop                            */ 0x90,
+  /* 00000006 nop                            */ 0x90,
+  /* 00000007 nop                            */ 0x90,
+  /* 00000008 nop                            */ 0x90,
+  /* 00000009 nop                            */ 0x90,
+  /* 0000000A nop                            */ 0x90,
+  /* 0000000B nop                            */ 0x90,
+  /* 0000000C nop                            */ 0x90,
+  /* 0000000D nop                            */ 0x90,
+  /* 0000000E nop                            */ 0x90,
+  /* 0000000F nop                            */ 0x90,
+  /* 00000010 nop                            */ 0x90,
+  /* 00000011 nop                            */ 0x90,
+  /* 00000012 nop                            */ 0x90,
+  /* 00000013 nop                            */ 0x90,
+  /* 00000014 nop                            */ 0x90,
+  /* 00000015 nop                            */ 0x90,
+  /* 00000016 nop                            */ 0x90,
+  /* 00000017 nop                            */ 0x90,
+  /* 00000018 nop                            */ 0x90,
+  /* 00000019 nop                            */ 0x90,
+  /* 0000001A nop                            */ 0x90,
+  /* 0000001B nop                            */ 0x90,
+  /* 0000001C nop                            */ 0x90,
+  /* 0000001D nop                            */ 0x90,
+  /* 0000001E nop                            */ 0x90,
+  /* 0000001F nop                            */ 0x90,
+  /* 00000020 nop                            */ 0x90,
+  /* 00000021 nop                            */ 0x90,
+  /* 00000022 nop                            */ 0x90,
+  /* 00000023 nop                            */ 0x90,
+  /* 00000024 nop                            */ 0x90,
+  /* 00000025 nop                            */ 0x90,
+  /* 00000026 nop                            */ 0x90,
+  /* 00000027 nop                            */ 0x90,
+  /* 00000028 nop                            */ 0x90,
+  /* 00000029 nop                            */ 0x90,
+  /* 0000002A nop                            */ 0x90,
+  /* 0000002B nop                            */ 0x90,
+  /* 0000002C nop                            */ 0x90,
+  /* 0000002D nop                            */ 0x90,
+  /* 0000002E nop                            */ 0x90,
+  /* 0000002F nop                            */ 0x90,
+  /* 00000030 nop                            */ 0x90,
+  /* 00000031 nop                            */ 0x90,
+  /* 00000032 nop                            */ 0x90,
+  /* 00000033 nop                            */ 0x90,
+  /* 00000034 nop                            */ 0x90,
+  /* 00000035 nop                            */ 0x90,
+  /* 00000036 nop                            */ 0x90,
+  /* 00000037 nop                            */ 0x90,
+  /* 00000038 nop                            */ 0x90,
+  /* 00000039 nop                            */ 0x90,
+  /* 0000003A nop                            */ 0x90,
+  /* 0000003B nop                            */ 0x90,
+  /* 0000003C nop                            */ 0x90,
+  /* 0000003D nop                            */ 0x90,
+  /* 0000003E nop                            */ 0x90,
+  /* 0000003F nop                            */ 0x90,
+  /* 00000040 nop                            */ 0x90,
+  /* 00000041 nop                            */ 0x90,
+  /* 00000042 nop                            */ 0x90,
+  /* 00000043 nop                            */ 0x90,
+  /* 00000044 nop                            */ 0x90,
+  /* 00000045 nop                            */ 0x90,
+  /* 00000046 nop                            */ 0x90,
+  /* 00000047 nop                            */ 0x90,
+  /* 00000048 nop                            */ 0x90,
+  /* 00000049 nop                            */ 0x90,
+  /* 0000004A nop                            */ 0x90,
+  /* 0000004B nop                            */ 0x90,
+  /* 0000004C nop                            */ 0x90,
+  /* 0000004D nop                            */ 0x90,
+  /* 0000004E nop                            */ 0x90,
+  /* 0000004F nop                            */ 0x90,
+  /* 00000050 nop                            */ 0x90,
+  /* 00000051 nop                            */ 0x90,
+  /* 00000052 nop                            */ 0x90,
+  /* 00000053 nop                            */ 0x90,
+  /* 00000054 nop                            */ 0x90,
+  /* 00000055 nop                            */ 0x90,
+  /* 00000056 nop                            */ 0x90,
+  /* 00000057 nop                            */ 0x90,
+  /* 00000058 nop                            */ 0x90,
+  /* 00000059 nop                            */ 0x90,
+  /* 0000005A nop                            */ 0x90,
+  /* 0000005B nop                            */ 0x90,
+  /* 0000005C nop                            */ 0x90,
+  /* 0000005D nop                            */ 0x90,
+  /* 0000005E nop                            */ 0x90,
+  /* 0000005F nop                            */ 0x90,
+  /* 00000060 nop                            */ 0x90,
+  /* 00000061 nop                            */ 0x90,
+  /* 00000062 nop                            */ 0x90,
+  /* 00000063 nop                            */ 0x90,
+  /* 00000064 nop                            */ 0x90,
+  /* 00000065 nop                            */ 0x90,
+  /* 00000066 nop                            */ 0x90,
+  /* 00000067 nop                            */ 0x90,
+  /* 00000068 nop                            */ 0x90,
+  /* 00000069 nop                            */ 0x90,
+  /* 0000006A nop                            */ 0x90,
+  /* 0000006B nop                            */ 0x90,
+  /* 0000006C nop                            */ 0x90,
+  /* 0000006D nop                            */ 0x90,
+  /* 0000006E nop                            */ 0x90,
+  /* 0000006F nop                            */ 0x90,
+  /* 00000070 nop                            */ 0x90,
+  /* 00000071 nop                            */ 0x90,
+  /* 00000072 nop                            */ 0x90,
+  /* 00000073 nop                            */ 0x90,
+  /* 00000074 nop                            */ 0x90,
+  /* 00000075 nop                            */ 0x90,
+  /* 00000076 nop                            */ 0x90,
+  /* 00000077 nop                            */ 0x90,
+  /* 00000078 nop                            */ 0x90,
+  /* 00000079 nop                            */ 0x90,
+  /* 0000007A nop                            */ 0x90,
+  /* 0000007B nop                            */ 0x90,
+  /* 0000007C nop                            */ 0x90,
+  /* 0000007D nop                            */ 0x90,
+  /* 0000007E nop                            */ 0x90,
+  /* 0000007F nop                            */ 0x90,
+  /* 00000080 nop                            */ 0x90,
+  /* 00000081 nop                            */ 0x90,
+  /* 00000082 nop                            */ 0x90,
+  /* 00000083 nop                            */ 0x90,
+  /* 00000084 nop                            */ 0x90,
+  /* 00000085 nop                            */ 0x90,
+  /* 00000086 nop                            */ 0x90,
+  /* 00000087 nop                            */ 0x90,
+  /* 00000088 nop                            */ 0x90,
+  /* 00000089 nop                            */ 0x90,
+  /* 0000008A nop                            */ 0x90,
+  /* 0000008B nop                            */ 0x90,
+  /* 0000008C nop                            */ 0x90,
+  /* 0000008D nop                            */ 0x90,
+  /* 0000008E nop                            */ 0x90,
+  /* 0000008F nop                            */ 0x90,
+  /* 00000090 nop                            */ 0x90,
+  /* 00000091 nop                            */ 0x90,
+  /* 00000092 nop                            */ 0x90,
+  /* 00000093 nop                            */ 0x90,
+  /* 00000094 nop                            */ 0x90,
+  /* 00000095 nop                            */ 0x90,
+  /* 00000096 nop                            */ 0x90,
+  /* 00000097 nop                            */ 0x90,
+  /* 00000098 nop                            */ 0x90,
+  /* 00000099 nop                            */ 0x90,
+  /* 0000009A nop                            */ 0x90,
+  /* 0000009B nop                            */ 0x90,
+  /* 0000009C nop                            */ 0x90,
+  /* 0000009D nop                            */ 0x90,
+  /* 0000009E nop                            */ 0x90,
+  /* 0000009F nop                            */ 0x90,
+  /* 000000A0 nop                            */ 0x90,
+  /* 000000A1 nop                            */ 0x90,
+  /* 000000A2 nop                            */ 0x90,
+  /* 000000A3 nop                            */ 0x90,
+  /* 000000A4 nop                            */ 0x90,
+  /* 000000A5 nop                            */ 0x90,
+  /* 000000A6 nop                            */ 0x90,
+  /* 000000A7 nop                            */ 0x90,
+  /* 000000A8 nop                            */ 0x90,
+  /* 000000A9 nop                            */ 0x90,
+  /* 000000AA nop                            */ 0x90,
+  /* 000000AB nop                            */ 0x90,
+  /* 000000AC nop                            */ 0x90,
+  /* 000000AD nop                            */ 0x90,
+  /* 000000AE nop                            */ 0x90,
+  /* 000000AF nop                            */ 0x90,
+  /* 000000B0 nop                            */ 0x90,
+  /* 000000B1 nop                            */ 0x90,
+  /* 000000B2 nop                            */ 0x90,
+  /* 000000B3 nop                            */ 0x90,
+  /* 000000B4 nop                            */ 0x90,
+  /* 000000B5 nop                            */ 0x90,
+  /* 000000B6 nop                            */ 0x90,
+  /* 000000B7 nop                            */ 0x90,
+  /* 000000B8 nop                            */ 0x90,
+  /* 000000B9 nop                            */ 0x90,
+  /* 000000BA nop                            */ 0x90,
+  /* 000000BB nop                            */ 0x90,
+  /* 000000BC nop                            */ 0x90,
+  /* 000000BD nop                            */ 0x90,
+  /* 000000BE nop                            */ 0x90,
+  /* 000000BF nop                            */ 0x90,
+  /* 000000C0 nop                            */ 0x90,
+  /* 000000C1 nop                            */ 0x90,
+  /* 000000C2 nop                            */ 0x90,
+  /* 000000C3 nop                            */ 0x90,
+  /* 000000C4 nop                            */ 0x90,
+  /* 000000C5 nop                            */ 0x90,
+  /* 000000C6 nop                            */ 0x90,
+  /* 000000C7 nop                            */ 0x90,
+  /* 000000C8 nop                            */ 0x90,
+  /* 000000C9 nop                            */ 0x90,
+  /* 000000CA nop                            */ 0x90,
+  /* 000000CB nop                            */ 0x90,
+  /* 000000CC nop                            */ 0x90,
+  /* 000000CD nop                            */ 0x90,
+  /* 000000CE nop                            */ 0x90,
+  /* 000000CF nop                            */ 0x90,
+  /* 000000D0 nop                            */ 0x90,
+  /* 000000D1 nop                            */ 0x90,
+  /* 000000D2 nop                            */ 0x90,
+  /* 000000D3 nop                            */ 0x90,
+  /* 000000D4 nop                            */ 0x90,
+  /* 000000D5 nop                            */ 0x90,
+  /* 000000D6 nop                            */ 0x90,
+  /* 000000D7 nop                            */ 0x90,
+  /* 000000D8 nop                            */ 0x90,
+  /* 000000D9 nop                            */ 0x90,
+  /* 000000DA nop                            */ 0x90,
+  /* 000000DB nop                            */ 0x90,
+  /* 000000DC nop                            */ 0x90,
+  /* 000000DD nop                            */ 0x90,
+  /* 000000DE nop                            */ 0x90,
+  /* 000000DF nop                            */ 0x90,
+  /* 000000E0 nop                            */ 0x90,
+  /* 000000E1 nop                            */ 0x90,
+  /* 000000E2 nop                            */ 0x90,
+  /* 000000E3 nop                            */ 0x90,
+  /* 000000E4 nop                            */ 0x90,
+  /* 000000E5 nop                            */ 0x90,
+  /* 000000E6 nop                            */ 0x90,
+  /* 000000E7 nop                            */ 0x90,
+  /* 000000E8 nop                            */ 0x90,
+  /* 000000E9 nop                            */ 0x90,
+  /* 000000EA nop                            */ 0x90,
+  /* 000000EB nop                            */ 0x90,
+  /* 000000EC nop                            */ 0x90,
+  /* 000000ED nop                            */ 0x90,
+  /* 000000EE nop                            */ 0x90,
+  /* 000000EF nop                            */ 0x90,
+  /* 000000F0 nop                            */ 0x90,
+  /* 000000F1 nop                            */ 0x90,
+  /* 000000F2 nop                            */ 0x90,
+  /* 000000F3 nop                            */ 0x90,
+  /* 000000F4 nop                            */ 0x90,
+  /* 000000F5 nop                            */ 0x90,
+  /* 000000F6 nop                            */ 0x90,
+  /* 000000F7 nop                            */ 0x90,
+  /* 000000F8 nop                            */ 0x90,
+  /* 000000F9 nop                            */ 0x90,
+  /* 000000FA nop                            */ 0x90,
+  /* 000000FB nop                            */ 0x90,
+  /* 000000FC nop                            */ 0x90,
+  /* 000000FD nop                            */ 0x90,
+  /* 000000FE nop                            */ 0x90,
+  /* 000000FF nop                            */ 0x90,
+  /* 00000100 nop                            */ 0x90,
+  /* 00000101 nop                            */ 0x90,
+  /* 00000102 nop                            */ 0x90,
+  /* 00000103 nop                            */ 0x90,
+  /* 00000104 nop                            */ 0x90,
+  /* 00000105 nop                            */ 0x90,
+  /* 00000106 nop                            */ 0x90,
+  /* 00000107 nop                            */ 0x90,
+  /* 00000108 nop                            */ 0x90,
+  /* 00000109 nop                            */ 0x90,
+  /* 0000010A nop                            */ 0x90,
+  /* 0000010B nop                            */ 0x90,
+  /* 0000010C nop                            */ 0x90,
+  /* 0000010D nop                            */ 0x90,
+  /* 0000010E nop                            */ 0x90,
+  /* 0000010F nop                            */ 0x90,
+  /* 00000110 nop                            */ 0x90,
+  /* 00000111 nop                            */ 0x90,
+  /* 00000112 nop                            */ 0x90,
+  /* 00000113 nop                            */ 0x90,
+  /* 00000114 nop                            */ 0x90,
+  /* 00000115 nop                            */ 0x90,
+  /* 00000116 nop                            */ 0x90,
+  /* 00000117 nop                            */ 0x90,
+  /* 00000118 nop                            */ 0x90,
+  /* 00000119 nop                            */ 0x90,
+  /* 0000011A nop                            */ 0x90,
+  /* 0000011B nop                            */ 0x90,
+  /* 0000011C nop                            */ 0x90,
+  /* 0000011D nop                            */ 0x90,
+  /* 0000011E nop                            */ 0x90,
+  /* 0000011F nop                            */ 0x90,
+  /* 00000120 nop                            */ 0x90,
+  /* 00000121 nop                            */ 0x90,
+  /* 00000122 nop                            */ 0x90,
+  /* 00000123 nop                            */ 0x90,
+  /* 00000124 nop                            */ 0x90,
+  /* 00000125 nop                            */ 0x90,
+  /* 00000126 nop                            */ 0x90,
+  /* 00000127 nop                            */ 0x90,
+  /* 00000128 nop                            */ 0x90,
+  /* 00000129 nop                            */ 0x90,
+  /* 0000012A nop                            */ 0x90,
+  /* 0000012B nop                            */ 0x90,
+  /* 0000012C nop                            */ 0x90,
+  /* 0000012D nop                            */ 0x90,
+  /* 0000012E nop                            */ 0x90,
+  /* 0000012F nop                            */ 0x90,
+  /* 00000130 nop                            */ 0x90,
+  /* 00000131 nop                            */ 0x90,
+  /* 00000132 nop                            */ 0x90,
+  /* 00000133 nop                            */ 0x90,
+  /* 00000134 nop                            */ 0x90,
+  /* 00000135 nop                            */ 0x90,
+  /* 00000136 nop                            */ 0x90,
+  /* 00000137 nop                            */ 0x90,
+  /* 00000138 nop                            */ 0x90,
+  /* 00000139 nop                            */ 0x90,
+  /* 0000013A nop                            */ 0x90,
+  /* 0000013B nop                            */ 0x90,
+  /* 0000013C nop                            */ 0x90,
+  /* 0000013D nop                            */ 0x90,
+  /* 0000013E nop                            */ 0x90,
+  /* 0000013F nop                            */ 0x90,
+  /* 00000140 nop                            */ 0x90,
+  /* 00000141 nop                            */ 0x90,
+  /* 00000142 nop                            */ 0x90,
+  /* 00000143 nop                            */ 0x90,
+  /* 00000144 nop                            */ 0x90,
+  /* 00000145 nop                            */ 0x90,
+  /* 00000146 nop                            */ 0x90,
+  /* 00000147 nop                            */ 0x90,
+  /* 00000148 nop                            */ 0x90,
+  /* 00000149 nop                            */ 0x90,
+  /* 0000014A nop                            */ 0x90,
+  /* 0000014B nop                            */ 0x90,
+  /* 0000014C nop                            */ 0x90,
+  /* 0000014D nop                            */ 0x90,
+  /* 0000014E nop                            */ 0x90,
+  /* 0000014F nop                            */ 0x90,
+  /* 00000150 nop                            */ 0x90,
+  /* 00000151 nop                            */ 0x90,
+  /* 00000152 nop                            */ 0x90,
+  /* 00000153 nop                            */ 0x90,
+  /* 00000154 nop                            */ 0x90,
+  /* 00000155 nop                            */ 0x90,
+  /* 00000156 nop                            */ 0x90,
+  /* 00000157 nop                            */ 0x90,
+  /* 00000158 nop                            */ 0x90,
+  /* 00000159 nop                            */ 0x90,
+  /* 0000015A nop                            */ 0x90,
+  /* 0000015B nop                            */ 0x90,
+  /* 0000015C nop                            */ 0x90,
+  /* 0000015D nop                            */ 0x90,
+  /* 0000015E nop                            */ 0x90,
+  /* 0000015F nop                            */ 0x90,
+  /* 00000160 nop                            */ 0x90,
+  /* 00000161 nop                            */ 0x90,
+  /* 00000162 nop                            */ 0x90,
+  /* 00000163 nop                            */ 0x90,
+  /* 00000164 nop                            */ 0x90,
+  /* 00000165 nop                            */ 0x90,
+  /* 00000166 nop                            */ 0x90,
+  /* 00000167 nop                            */ 0x90,
+  /* 00000168 nop                            */ 0x90,
+  /* 00000169 nop                            */ 0x90,
+  /* 0000016A nop                            */ 0x90,
+  /* 0000016B nop                            */ 0x90,
+  /* 0000016C nop                            */ 0x90,
+  /* 0000016D nop                            */ 0x90,
+  /* 0000016E nop                            */ 0x90,
+  /* 0000016F nop                            */ 0x90,
+  /* 00000170 nop                            */ 0x90,
+  /* 00000171 nop                            */ 0x90,
+  /* 00000172 nop                            */ 0x90,
+  /* 00000173 nop                            */ 0x90,
+  /* 00000174 nop                            */ 0x90,
+  /* 00000175 nop                            */ 0x90,
+  /* 00000176 nop                            */ 0x90,
+  /* 00000177 nop                            */ 0x90,
+  /* 00000178 nop                            */ 0x90,
+  /* 00000179 nop                            */ 0x90,
+  /* 0000017A nop                            */ 0x90,
+  /* 0000017B nop                            */ 0x90,
+  /* 0000017C nop                            */ 0x90,
+  /* 0000017D nop                            */ 0x90,
+  /* 0000017E nop                            */ 0x90,
+  /* 0000017F nop                            */ 0x90,
+  /* 00000180 nop                            */ 0x90,
+  /* 00000181 nop                            */ 0x90,
+  /* 00000182 nop                            */ 0x90,
+  /* 00000183 nop                            */ 0x90,
+  /* 00000184 nop                            */ 0x90,
+  /* 00000185 nop                            */ 0x90,
+  /* 00000186 nop                            */ 0x90,
+  /* 00000187 nop                            */ 0x90,
+  /* 00000188 nop                            */ 0x90,
+  /* 00000189 nop                            */ 0x90,
+  /* 0000018A nop                            */ 0x90,
+  /* 0000018B nop                            */ 0x90,
+  /* 0000018C nop                            */ 0x90,
+  /* 0000018D nop                            */ 0x90,
+  /* 0000018E nop                            */ 0x90,
+  /* 0000018F nop                            */ 0x90,
+  /* 00000190 nop                            */ 0x90,
+  /* 00000191 nop                            */ 0x90,
+  /* 00000192 nop                            */ 0x90,
+  /* 00000193 nop                            */ 0x90,
+  /* 00000194 nop                            */ 0x90,
+  /* 00000195 nop                            */ 0x90,
+  /* 00000196 nop                            */ 0x90,
+  /* 00000197 nop                            */ 0x90,
+  /* 00000198 nop                            */ 0x90,
+  /* 00000199 nop                            */ 0x90,
+  /* 0000019A nop                            */ 0x90,
+  /* 0000019B nop                            */ 0x90,
+  /* 0000019C nop                            */ 0x90,
+  /* 0000019D nop                            */ 0x90,
+  /* 0000019E nop                            */ 0x90,
+  /* 0000019F nop                            */ 0x90,
+  /* 000001A0 nop                            */ 0x90,
+  /* 000001A1 nop                            */ 0x90,
+  /* 000001A2 nop                            */ 0x90,
+  /* 000001A3 nop                            */ 0x90,
+  /* 000001A4 nop                            */ 0x90,
+  /* 000001A5 nop                            */ 0x90,
+  /* 000001A6 nop                            */ 0x90,
+  /* 000001A7 nop                            */ 0x90,
+  /* 000001A8 nop                            */ 0x90,
+  /* 000001A9 nop                            */ 0x90,
+  /* 000001AA nop                            */ 0x90,
+  /* 000001AB nop                            */ 0x90,
+  /* 000001AC nop                            */ 0x90,
+  /* 000001AD nop                            */ 0x90,
+  /* 000001AE nop                            */ 0x90,
+  /* 000001AF nop                            */ 0x90,
+  /* 000001B0 nop                            */ 0x90,
+  /* 000001B1 nop                            */ 0x90,
+  /* 000001B2 nop                            */ 0x90,
+  /* 000001B3 nop                            */ 0x90,
+  /* 000001B4 nop                            */ 0x90,
+  /* 000001B5 nop                            */ 0x90,
+  /* 000001B6 nop                            */ 0x90,
+  /* 000001B7 nop                            */ 0x90,
+  /* 000001B8 nop                            */ 0x90,
+  /* 000001B9 nop                            */ 0x90,
+  /* 000001BA nop                            */ 0x90,
+  /* 000001BB nop                            */ 0x90,
+  /* 000001BC nop                            */ 0x90,
+  /* 000001BD nop                            */ 0x90,
+  /* 000001BE nop                            */ 0x90,
+  /* 000001BF nop                            */ 0x90,
+  /* 000001C0 nop                            */ 0x90,
+  /* 000001C1 nop                            */ 0x90,
+  /* 000001C2 nop                            */ 0x90,
+  /* 000001C3 nop                            */ 0x90,
+  /* 000001C4 nop                            */ 0x90,
+  /* 000001C5 nop                            */ 0x90,
+  /* 000001C6 nop                            */ 0x90,
+  /* 000001C7 nop                            */ 0x90,
+  /* 000001C8 nop                            */ 0x90,
+  /* 000001C9 nop                            */ 0x90,
+  /* 000001CA nop                            */ 0x90,
+  /* 000001CB nop                            */ 0x90,
+  /* 000001CC nop                            */ 0x90,
+  /* 000001CD nop                            */ 0x90,
+  /* 000001CE nop                            */ 0x90,
+  /* 000001CF nop                            */ 0x90,
+  /* 000001D0 nop                            */ 0x90,
+  /* 000001D1 nop                            */ 0x90,
+  /* 000001D2 nop                            */ 0x90,
+  /* 000001D3 nop                            */ 0x90,
+  /* 000001D4 nop                            */ 0x90,
+  /* 000001D5 nop                            */ 0x90,
+  /* 000001D6 nop                            */ 0x90,
+  /* 000001D7 nop                            */ 0x90,
+  /* 000001D8 nop                            */ 0x90,
+  /* 000001D9 nop                            */ 0x90,
+  /* 000001DA nop                            */ 0x90,
+  /* 000001DB nop                            */ 0x90,
+  /* 000001DC nop                            */ 0x90,
+  /* 000001DD nop                            */ 0x90,
+  /* 000001DE nop                            */ 0x90,
+  /* 000001DF nop                            */ 0x90,
+  /* 000001E0 nop                            */ 0x90,
+  /* 000001E1 nop                            */ 0x90,
+  /* 000001E2 nop                            */ 0x90,
+  /* 000001E3 nop                            */ 0x90,
+  /* 000001E4 nop                            */ 0x90,
+  /* 000001E5 nop                            */ 0x90,
+  /* 000001E6 nop                            */ 0x90,
+  /* 000001E7 nop                            */ 0x90,
+  /* 000001E8 nop                            */ 0x90,
+  /* 000001E9 nop                            */ 0x90,
+  /* 000001EA nop                            */ 0x90,
+  /* 000001EB nop                            */ 0x90,
+  /* 000001EC nop                            */ 0x90,
+  /* 000001ED nop                            */ 0x90,
+  /* 000001EE nop                            */ 0x90,
+  /* 000001EF nop                            */ 0x90,
+  /* 000001F0 nop                            */ 0x90,
+  /* 000001F1 nop                            */ 0x90,
+  /* 000001F2 nop                            */ 0x90,
+  /* 000001F3 nop                            */ 0x90,
+  /* 000001F4 nop                            */ 0x90,
+  /* 000001F5 nop                            */ 0x90,
+  /* 000001F6 nop                            */ 0x90,
+  /* 000001F7 nop                            */ 0x90,
+  /* 000001F8 nop                            */ 0x90,
+  /* 000001F9 nop                            */ 0x90,
+  /* 000001FA nop                            */ 0x90,
+  /* 000001FB nop                            */ 0x90,
+  /* 000001FC nop                            */ 0x90,
+  /* 000001FD nop                            */ 0x90,
+  /* 000001FE nop                            */ 0x90,
+  /* 000001FF nop                            */ 0x90,
+  /* 00000200 cmp ax,0x4f00                  */ 0x3D,0x00,  0x4F,
+  /* 00000203 jz 0x237                       */ 0x74,0x32,
+  /* 00000205 cmp ax,0x4f01                  */ 0x3D,0x01,  0x4F,
+  /* 00000208 jz 0x257                       */ 0x74,0x4D,
+  /* 0000020A cmp ax,0x4f02                  */ 0x3D,0x02,  0x4F,
+  /* 0000020D jz word 0x2c8                  */ 0x0F,0x84,  0xB7,0x00,
+  /* 00000211 cmp ax,0x4f03                  */ 0x3D,0x03,  0x4F,
+  /* 00000214 jz word 0x325                  */ 0x0F,0x84,  0x0D,0x01,
+  /* 00000218 cmp ax,0x4f10                  */ 0x3D,0x10,  0x4F,
+  /* 0000021B jz word 0x337                  */ 0x0F,0x84,  0x18,0x01,
+  /* 0000021F cmp ax,0x4f15                  */ 0x3D,0x15,  0x4F,
+  /* 00000222 jz word 0x344                  */ 0x0F,0x84,  0x1E,0x01,
+  /* 00000226 cmp ah,0x0                     */ 0x80,0xFC,  0x00,
+  /* 00000229 jz word 0x363                  */ 0x0F,0x84,  0x36,0x01,
+  /* 0000022D push si                        */ 0x56,
+  /* 0000022E mov si,0x3d7                   */ 0xBE,0xD7,  0x03,
+  /* 00000231 call word 0x3ad                */ 0xE8,0x79,  0x01,
+  /* 00000234 pop si                         */ 0x5E,
+  /* 00000235 jmp short 0x235                */ 0xEB,0xFE,
+  /* 00000237 push es                        */ 0x06,
+  /* 00000238 push di                        */ 0x57,
+  /* 00000239 push ds                        */ 0x1E,
+  /* 0000023A push si                        */ 0x56,
+  /* 0000023B push cx                        */ 0x51,
+  /* 0000023C push si                        */ 0x56,
+  /* 0000023D mov si,0x3eb                   */ 0xBE,0xEB,  0x03,
+  /* 00000240 call word 0x3ad                */ 0xE8,0x6A,  0x01,
+  /* 00000243 pop si                         */ 0x5E,
+  /* 00000244 push cs                        */ 0x0E,
+  /* 00000245 pop ds                         */ 0x1F,
+  /* 00000246 mov si,0x0                     */ 0xBE,0x00,  0x00,
+  /* 00000249 mov cx,0x100                   */ 0xB9,0x00,  0x01,
+  /* 0000024C cld                            */ 0xFC,
+  /* 0000024D rep movsb                      */ 0xF3,0xA4,
+  /* 0000024F pop cx                         */ 0x59,
+  /* 00000250 pop si                         */ 0x5E,
+  /* 00000251 pop ds                         */ 0x1F,
+  /* 00000252 pop di                         */ 0x5F,
+  /* 00000253 pop es                         */ 0x07,
+  /* 00000254 jmp word 0x395                 */ 0xE9,0x3E,  0x01,
+  /* 00000257 push es                        */ 0x06,
+  /* 00000258 push di                        */ 0x57,
+  /* 00000259 push ds                        */ 0x1E,
+  /* 0000025A push si                        */ 0x56,
+  /* 0000025B push cx                        */ 0x51,
+  /* 0000025C push si                        */ 0x56,
+  /* 0000025D mov si,0x3f6                   */ 0xBE,0xF6,  0x03,
+  /* 00000260 call word 0x3ad                */ 0xE8,0x4A,  0x01,
+  /* 00000263 pop si                         */ 0x5E,
+  /* 00000264 and cx,0xbfff                  */ 0x81,0xE1,  0xFF,0xBF,
+  /* 00000268 cmp cx,0x13f                   */ 0x81,0xF9,  0x3F,0x01,
+  /* 0000026C jz 0x284                       */ 0x74,0x16,
+  /* 0000026E cmp cx,0x140                   */ 0x81,0xF9,  0x40,0x01,
+  /* 00000272 jz 0x291                       */ 0x74,0x1D,
+  /* 00000274 cmp cx,0x141                   */ 0x81,0xF9,  0x41,0x01,
+  /* 00000278 jz 0x29e                       */ 0x74,0x24,
+  /* 0000027A push si                        */ 0x56,
+  /* 0000027B mov si,0x42c                   */ 0xBE,0x2C,  0x04,
+  /* 0000027E call word 0x3ad                */ 0xE8,0x2C,  0x01,
+  /* 00000281 pop si                         */ 0x5E,
+  /* 00000282 jmp short 0x235                */ 0xEB,0xB1,
+  /* 00000284 push si                        */ 0x56,
+  /* 00000285 mov si,0x46b                   */ 0xBE,0x6B,  0x04,
+  /* 00000288 call word 0x3ad                */ 0xE8,0x22,  0x01,
+  /* 0000028B pop si                         */ 0x5E,
+  /* 0000028C mov si,0x100                   */ 0xBE,0x00,  0x01,
+  /* 0000028F jmp short 0x2b8                */ 0xEB,0x27,
+  /* 00000291 push si                        */ 0x56,
+  /* 00000292 mov si,0x47d                   */ 0xBE,0x7D,  0x04,
+  /* 00000295 call word 0x3ad                */ 0xE8,0x15,  0x01,
+  /* 00000298 pop si                         */ 0x5E,
+  /* 00000299 mov si,0x132                   */ 0xBE,0x32,  0x01,
+  /* 0000029C jmp short 0x2b8                */ 0xEB,0x1A,
+  /* 0000029E push si                        */ 0x56,
+  /* 0000029F mov si,0x48f                   */ 0xBE,0x8F,  0x04,
+  /* 000002A2 call word 0x3ad                */ 0xE8,0x08,  0x01,
+  /* 000002A5 pop si                         */ 0x5E,
+  /* 000002A6 mov si,0x164                   */ 0xBE,0x64,  0x01,
+  /* 000002A9 jmp short 0x2b8                */ 0xEB,0x0D,
+  /* 000002AB push si                        */ 0x56,
+  /* 000002AC mov si,0x4a2                   */ 0xBE,0xA2,  0x04,
+  /* 000002AF call word 0x3ad                */ 0xE8,0xFB,  0x00,
+  /* 000002B2 pop si                         */ 0x5E,
+  /* 000002B3 mov si,0x196                   */ 0xBE,0x96,  0x01,
+  /* 000002B6 jmp short 0x2b8                */ 0xEB,0x00,
+  /* 000002B8 push cs                        */ 0x0E,
+  /* 000002B9 pop ds                         */ 0x1F,
+  /* 000002BA mov cx,0x32                    */ 0xB9,0x32,  0x00,
+  /* 000002BD cld                            */ 0xFC,
+  /* 000002BE rep movsb                      */ 0xF3,0xA4,
+  /* 000002C0 pop cx                         */ 0x59,
+  /* 000002C1 pop si                         */ 0x5E,
+  /* 000002C2 pop ds                         */ 0x1F,
+  /* 000002C3 pop di                         */ 0x5F,
+  /* 000002C4 pop es                         */ 0x07,
+  /* 000002C5 jmp word 0x395                 */ 0xE9,0xCD,  0x00,
+  /* 000002C8 push dx                        */ 0x52,
+  /* 000002C9 push ax                        */ 0x50,
+  /* 000002CA push si                        */ 0x56,
+  /* 000002CB mov si,0x410                   */ 0xBE,0x10,  0x04,
+  /* 000002CE call word 0x3ad                */ 0xE8,0xDC,  0x00,
+  /* 000002D1 pop si                         */ 0x5E,
+  /* 000002D2 and bx,0xbfff                  */ 0x81,0xE3,  0xFF,0xBF,
+  /* 000002D6 cmp bx,0x13f                   */ 0x81,0xFB,  0x3F,0x01,
+  /* 000002DA jz 0x2f3                       */ 0x74,0x17,
+  /* 000002DC cmp bx,0x140                   */ 0x81,0xFB,  0x40,0x01,
+  /* 000002E0 jz 0x2fd                       */ 0x74,0x1B,
+  /* 000002E2 cmp bx,0x141                   */ 0x81,0xFB,  0x41,0x01,
+  /* 000002E6 jz 0x307                       */ 0x74,0x1F,
+  /* 000002E8 push si                        */ 0x56,
+  /* 000002E9 mov si,0x42c                   */ 0xBE,0x2C,  0x04,
+  /* 000002EC call word 0x3ad                */ 0xE8,0xBE,  0x00,
+  /* 000002EF pop si                         */ 0x5E,
+  /* 000002F0 jmp word 0x235                 */ 0xE9,0x42,  0xFF,
+  /* 000002F3 push si                        */ 0x56,
+  /* 000002F4 mov si,0x46b                   */ 0xBE,0x6B,  0x04,
+  /* 000002F7 call word 0x3ad                */ 0xE8,0xB3,  0x00,
+  /* 000002FA pop si                         */ 0x5E,
+  /* 000002FB jmp short 0x319                */ 0xEB,0x1C,
+  /* 000002FD push si                        */ 0x56,
+  /* 000002FE mov si,0x47d                   */ 0xBE,0x7D,  0x04,
+  /* 00000301 call word 0x3ad                */ 0xE8,0xA9,  0x00,
+  /* 00000304 pop si                         */ 0x5E,
+  /* 00000305 jmp short 0x319                */ 0xEB,0x12,
+  /* 00000307 push si                        */ 0x56,
+  /* 00000308 mov si,0x48f                   */ 0xBE,0x8F,  0x04,
+  /* 0000030B call word 0x3ad                */ 0xE8,0x9F,  0x00,
+  /* 0000030E pop si                         */ 0x5E,
+  /* 0000030F jmp short 0x319                */ 0xEB,0x08,
+  /* 00000311 push si                        */ 0x56,
+  /* 00000312 mov si,0x4a2                   */ 0xBE,0xA2,  0x04,
+  /* 00000315 call word 0x3ad                */ 0xE8,0x95,  0x00,
+  /* 00000318 pop si                         */ 0x5E,
+  /* 00000319 mov [0x4b0],bl                 */ 0x88,0x1E,  0xB0,0x04,
+  /* 0000031D mov [0x4b1],bh                 */ 0x88,0x3E,  0xB1,0x04,
+  /* 00000321 pop ax                         */ 0x58,
+  /* 00000322 pop dx                         */ 0x5A,
+  /* 00000323 jmp short 0x395                */ 0xEB,0x70,
+  /* 00000325 push si                        */ 0x56,
+  /* 00000326 mov si,0x405                   */ 0xBE,0x05,  0x04,
+  /* 00000329 call word 0x3ad                */ 0xE8,0x81,  0x00,
+  /* 0000032C pop si                         */ 0x5E,
+  /* 0000032D mov bl,[0x4b0]                 */ 0x8A,0x1E,  0xB0,0x04,
+  /* 00000331 mov bh,[0x4b1]                 */ 0x8A,0x3E,  0xB1,0x04,
+  /* 00000335 jmp short 0x395                */ 0xEB,0x5E,
+  /* 00000337 push si                        */ 0x56,
+  /* 00000338 mov si,0x43b                   */ 0xBE,0x3B,  0x04,
+  /* 0000033B call word 0x3ad                */ 0xE8,0x6F,  0x00,
+  /* 0000033E pop si                         */ 0x5E,
+  /* 0000033F mov bx,0x80                    */ 0xBB,0x80,  0x00,
+  /* 00000342 jmp short 0x395                */ 0xEB,0x51,
+  /* 00000344 push es                        */ 0x06,
+  /* 00000345 push di                        */ 0x57,
+  /* 00000346 push ds                        */ 0x1E,
+  /* 00000347 push si                        */ 0x56,
+  /* 00000348 push cx                        */ 0x51,
+  /* 00000349 push si                        */ 0x56,
+  /* 0000034A mov si,0x450                   */ 0xBE,0x50,  0x04,
+  /* 0000034D call word 0x3ad                */ 0xE8,0x5D,  0x00,
+  /* 00000350 pop si                         */ 0x5E,
+  /* 00000351 push cs                        */ 0x0E,
+  /* 00000352 pop ds                         */ 0x1F,
+  /* 00000353 mov si,0x4b2                   */ 0xBE,0xB2,  0x04,
+  /* 00000356 mov cx,0x80                    */ 0xB9,0x80,  0x00,
+  /* 00000359 cld                            */ 0xFC,
+  /* 0000035A rep movsb                      */ 0xF3,0xA4,
+  /* 0000035C pop cx                         */ 0x59,
+  /* 0000035D pop si                         */ 0x5E,
+  /* 0000035E pop ds                         */ 0x1F,
+  /* 0000035F pop di                         */ 0x5F,
+  /* 00000360 pop es                         */ 0x07,
+  /* 00000361 jmp short 0x395                */ 0xEB,0x32,
+  /* 00000363 push si                        */ 0x56,
+  /* 00000364 mov si,0x41b                   */ 0xBE,0x1B,  0x04,
+  /* 00000367 call word 0x3ad                */ 0xE8,0x43,  0x00,
+  /* 0000036A pop si                         */ 0x5E,
+  /* 0000036B cmp al,0x3                     */ 0x3C,0x03,
+  /* 0000036D jz 0x37e                       */ 0x74,0x0F,
+  /* 0000036F cmp al,0x12                    */ 0x3C,0x12,
+  /* 00000371 jz 0x38a                       */ 0x74,0x17,
+  /* 00000373 push si                        */ 0x56,
+  /* 00000374 mov si,0x42c                   */ 0xBE,0x2C,  0x04,
+  /* 00000377 call word 0x3ad                */ 0xE8,0x33,  0x00,
+  /* 0000037A pop si                         */ 0x5E,
+  /* 0000037B jmp word 0x235                 */ 0xE9,0xB7,  0xFE,
+  /* 0000037E push si                        */ 0x56,
+  /* 0000037F mov si,0x45c                   */ 0xBE,0x5C,  0x04,
+  /* 00000382 call word 0x3ad                */ 0xE8,0x28,  0x00,
+  /* 00000385 pop si                         */ 0x5E,
+  /* 00000386 mov al,0x0                     */ 0xB0,0x00,
+  /* 00000388 jmp short 0x38c                */ 0xEB,0x02,
+  /* 0000038A mov al,0x0                     */ 0xB0,0x00,
+  /* 0000038C push si                        */ 0x56,
+  /* 0000038D mov si,0x3c2                   */ 0xBE,0xC2,  0x03,
+  /* 00000390 call word 0x3ad                */ 0xE8,0x1A,  0x00,
+  /* 00000393 pop si                         */ 0x5E,
+  /* 00000394 iretw                          */ 0xCF,
+  /* 00000395 push si                        */ 0x56,
+  /* 00000396 mov si,0x3c2                   */ 0xBE,0xC2,  0x03,
+  /* 00000399 call word 0x3ad                */ 0xE8,0x11,  0x00,
+  /* 0000039C pop si                         */ 0x5E,
+  /* 0000039D mov ax,0x4f                    */ 0xB8,0x4F,  0x00,
+  /* 000003A0 iretw                          */ 0xCF,
+  /* 000003A1 push si                        */ 0x56,
+  /* 000003A2 mov si,0x3c8                   */ 0xBE,0xC8,  0x03,
+  /* 000003A5 call word 0x3ad                */ 0xE8,0x05,  0x00,
+  /* 000003A8 pop si                         */ 0x5E,
+  /* 000003A9 mov ax,0x24f                   */ 0xB8,0x4F,  0x02,
+  /* 000003AC iretw                          */ 0xCF,
+  /* 000003AD pushaw                         */ 0x60,
+  /* 000003AE push ds                        */ 0x1E,
+  /* 000003AF push cs                        */ 0x0E,
+  /* 000003B0 pop ds                         */ 0x1F,
+  /* 000003B1 mov dx,0x220                   */ 0xBA,0x20,  0x02,
+  /* 000003B4 mov ax,0x0                     */ 0xB8,0x00,  0x00,
+  /* 000003B7 lodsb                          */ 0xAC,
+  /* 000003B8 cmp al,0x0                     */ 0x3C,0x00,
+  /* 000003BA jz 0x3bf                       */ 0x74,0x03,
+  /* 000003BC out dx,al                      */ 0xEE,
+  /* 000003BD jmp short 0x3b7                */ 0xEB,0xF8,
+  /* 000003BF pop ds                         */ 0x1F,
+  /* 000003C0 popaw                          */ 0x61,
+  /* 000003C1 ret                            */ 0xC3,
+  /* 000003C2 jna 0x413                      */ 0x76,0x4F,
+  /* 000003C4 imul cx,[di],byte +0xa         */ 0x6B,0x0D,  0x0A,
+  /* 000003C7 add [bp+0x55],dh               */ 0x00,0x76,  0x55,
+  /* 000003CA outsb                          */ 0x6E,
+  /* 000003CB jnc 0x442                      */ 0x73,0x75,
+  /* 000003CD jo 0x43f                       */ 0x70,0x70,
+  /* 000003CF outsw                          */ 0x6F,
+  /* 000003D0 jc 0x446                       */ 0x72,0x74,
+  /* 000003D2 fs or ax,0xa                   */ 0x65,0x64,  0x0D,0x0A, 0x00,
+  /* 000003D7 jna 0x42e                      */ 0x76,0x55,
+  /* 000003D9 outsb                          */ 0x6E,
+  /* 000003DA imul bp,[bp+0x6f],byte +0x77   */ 0x6B,0x6E,  0x6F,0x77,
+  /* 000003DE outsb                          */ 0x6E,
+  /* 000003DF and [bp+0x75],al               */ 0x20,0x46,  0x75,
+  /* 000003E2 outsb                          */ 0x6E,
+  /* 000003E3 arpl [si+0x69],si              */ 0x63,0x74,  0x69,
+  /* 000003E6 outsw                          */ 0x6F,
+  /* 000003E7 outsb                          */ 0x6E,
+  /* 000003E8 or ax,0xa                      */ 0x0D,0x0A,  0x00,
+  /* 000003EB jna 0x434                      */ 0x76,0x47,
+  /* 000003ED gs jz 0x439                    */ 0x65,0x74,  0x49,
+  /* 000003F0 outsb                          */ 0x6E,
+  /* 000003F1 outsd                          */ 0x66,0x6F,
+  /* 000003F3 or ax,0xa                      */ 0x0D,0x0A,  0x00,
+  /* 000003F6 jna 0x43f                      */ 0x76,0x47,
+  /* 000003F8 gs jz 0x448                    */ 0x65,0x74,  0x4D,
+  /* 000003FB outsw                          */ 0x6F,
+  /* 000003FC gs dec cx                      */ 0x64,0x65,  0x49,
+  /* 000003FF outsb                          */ 0x6E,
+  /* 00000400 outsd                          */ 0x66,0x6F,
+  /* 00000402 or ax,0xa                      */ 0x0D,0x0A,  0x00,
+  /* 00000405 jna 0x44e                      */ 0x76,0x47,
+  /* 00000407 gs jz 0x457                    */ 0x65,0x74,  0x4D,
+  /* 0000040A outsw                          */ 0x6F,
+  /* 0000040B gs or ax,0xa                   */ 0x64,0x65,  0x0D,0x0A, 0x00,
+  /* 00000410 jna 0x465                      */ 0x76,0x53,
+  /* 00000412 gs jz 0x462                    */ 0x65,0x74,  0x4D,
+  /* 00000415 outsw                          */ 0x6F,
+  /* 00000416 gs or ax,0xa                   */ 0x64,0x65,  0x0D,0x0A, 0x00,
+  /* 0000041B jna 0x470                      */ 0x76,0x53,
+  /* 0000041D gs jz 0x46d                    */ 0x65,0x74,  0x4D,
+  /* 00000420 outsw                          */ 0x6F,
+  /* 00000421 gs dec sp                      */ 0x64,0x65,  0x4C,
+  /* 00000424 gs a32 popaw                   */ 0x65,0x67,  0x61,
+  /* 00000427 arpl [bx+di+0xd],di            */ 0x63,0x79,  0x0D,
+  /* 0000042A or al,[bx+si]                  */ 0x0A,0x00,
+  /* 0000042C jna 0x483                      */ 0x76,0x55,
+  /* 0000042E outsb                          */ 0x6E,
+  /* 0000042F imul bp,[bx+0x77],byte +0x6e   */ 0x6B,0x6F,  0x77,0x6E,
+  /* 00000433 and [di+0x6f],cl               */ 0x20,0x4D,  0x6F,
+  /* 00000436 gs or ax,0xa                   */ 0x64,0x65,  0x0D,0x0A, 0x00,
+  /* 0000043B jna 0x484                      */ 0x76,0x47,
+  /* 0000043D gs jz 0x490                    */ 0x65,0x74,  0x50,
+  /* 00000440 insw                           */ 0x6D,
+  /* 00000441 inc bx                         */ 0x43,
+  /* 00000442 popaw                          */ 0x61,
+  /* 00000443 jo 0x4a6                       */ 0x70,0x61,
+  /* 00000445 bound bp,[bx+di+0x6c]          */ 0x62,0x69,  0x6C,
+  /* 00000448 imul si,[si+0x69],word 0x7365  */ 0x69,0x74,  0x69,0x65, 0x73,
+  /* 0000044D or ax,0xa                      */ 0x0D,0x0A,  0x00,
+  /* 00000450 jna 0x4a4                      */ 0x76,0x52,
+  /* 00000452 gs popaw                       */ 0x65,0x61,
+  /* 00000454 fs inc bp                      */ 0x64,0x45,
+  /* 00000456 imul sp,[fs:si+0xd],word 0xa   */ 0x64,0x69,  0x64,0x0D, 0x0A, 0x00,
+  /* 0000045C jna 0x4aa                      */ 0x76,0x4C,
+  /* 0000045E gs a32 popaw                   */ 0x65,0x67,  0x61,
+  /* 00000461 arpl [bx+di+0x4d],di           */ 0x63,0x79,  0x4D,
+  /* 00000464 outsw                          */ 0x6F,
+  /* 00000465 xor cx,[gs:di]                 */ 0x64,0x65,  0x33,0x0D,
+  /* 00000469 or al,[bx+si]                  */ 0x0A,0x00,
+  /* 0000046B insw                           */ 0x6D,
+  /* 0000046C outsw                          */ 0x6F,
+  /* 0000046D gs pop di                      */ 0x64,0x65,  0x5F,
+  /* 00000470 ss xor al,0x30                 */ 0x36,0x34,  0x30,
+  /* 00000473 js 0x4a9                       */ 0x78,0x34,
+  /* 00000475 cmp [bx+si],dh                 */ 0x38,0x30,
+  /* 00000477 js 0x4ac                       */ 0x78,0x33,
+  /* 00000479 xor cl,[di]                    */ 0x32,0x0D,
+  /* 0000047B or al,[bx+si]                  */ 0x0A,0x00,
+  /* 0000047D insw                           */ 0x6D,
+  /* 0000047E outsw                          */ 0x6F,
+  /* 0000047F gs pop di                      */ 0x64,0x65,  0x5F,
+  /* 00000482 cmp [bx+si],dh                 */ 0x38,0x30,
+  /* 00000484 xor [bx+si+0x36],bh            */ 0x30,0x78,  0x36,
+  /* 00000487 xor [bx+si],dh                 */ 0x30,0x30,
+  /* 00000489 js 0x4be                       */ 0x78,0x33,
+  /* 0000048B xor cl,[di]                    */ 0x32,0x0D,
+  /* 0000048D or al,[bx+si]                  */ 0x0A,0x00,
+  /* 0000048F insw                           */ 0x6D,
+  /* 00000490 outsw                          */ 0x6F,
+  /* 00000491 gs pop di                      */ 0x64,0x65,  0x5F,
+  /* 00000494 xor [bx+si],si                 */ 0x31,0x30,
+  /* 00000496 xor dh,[si]                    */ 0x32,0x34,
+  /* 00000498 js 0x4d1                       */ 0x78,0x37,
+  /* 0000049A cmp [ss:bx+si+0x33],bh         */ 0x36,0x38,  0x78,0x33,
+  /* 0000049E xor cl,[di]                    */ 0x32,0x0D,
+  /* 000004A0 or al,[bx+si]                  */ 0x0A,0x00,
+  /* 000004A2 insw                           */ 0x6D,
+  /* 000004A3 outsw                          */ 0x6F,
+  /* 000004A4 gs pop di                      */ 0x64,0x65,  0x5F,
+  /* 000004A7 jnz 0x517                      */ 0x75,0x6E,
+  /* 000004A9 jnz 0x51e                      */ 0x75,0x73,
+  /* 000004AB fs or ax,0xa                   */ 0x65,0x64,  0x0D,0x0A, 0x00,
+  /* 000004B0 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004B2 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004B4 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004B6 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004B8 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004BA add [bx+si],al                 */ 0x00,0x00,
+  /* 000004BC add [bx+si],al                 */ 0x00,0x00,
+  /* 000004BE add [bx+si],al                 */ 0x00,0x00,
+  /* 000004C0 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004C2 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004C4 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004C6 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004C8 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004CA add [bx+si],al                 */ 0x00,0x00,
+  /* 000004CC add [bx+si],al                 */ 0x00,0x00,
+  /* 000004CE add [bx+si],al                 */ 0x00,0x00,
+  /* 000004D0 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004D2 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004D4 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004D6 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004D8 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004DA add [bx+si],al                 */ 0x00,0x00,
+  /* 000004DC add [bx+si],al                 */ 0x00,0x00,
+  /* 000004DE add [bx+si],al                 */ 0x00,0x00,
+  /* 000004E0 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004E2 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004E4 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004E6 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004E8 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004EA add [bx+si],al                 */ 0x00,0x00,
+  /* 000004EC add [bx+si],al                 */ 0x00,0x00,
+  /* 000004EE add [bx+si],al                 */ 0x00,0x00,
+  /* 000004F0 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004F2 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004F4 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004F6 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004F8 add [bx+si],al                 */ 0x00,0x00,
+  /* 000004FA add [bx+si],al                 */ 0x00,0x00,
+  /* 000004FC add [bx+si],al                 */ 0x00,0x00,
+  /* 000004FE add [bx+si],al                 */ 0x00,0x00,
+  /* 00000500 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000502 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000504 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000506 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000508 add [bx+si],al                 */ 0x00,0x00,
+  /* 0000050A add [bx+si],al                 */ 0x00,0x00,
+  /* 0000050C add [bx+si],al                 */ 0x00,0x00,
+  /* 0000050E add [bx+si],al                 */ 0x00,0x00,
+  /* 00000510 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000512 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000514 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000516 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000518 add [bx+si],al                 */ 0x00,0x00,
+  /* 0000051A add [bx+si],al                 */ 0x00,0x00,
+  /* 0000051C add [bx+si],al                 */ 0x00,0x00,
+  /* 0000051E add [bx+si],al                 */ 0x00,0x00,
+  /* 00000520 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000522 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000524 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000526 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000528 add [bx+si],al                 */ 0x00,0x00,
+  /* 0000052A add [bx+si],al                 */ 0x00,0x00,
+  /* 0000052C add [bx+si],al                 */ 0x00,0x00,
+  /* 0000052E add [bx+si],al                 */ 0x00,0x00,
+  /* 00000530 add [bx+si],al                 */ 0x00,0x00,
+  /* 00000532 add [bx+si],al                 */ 0x00,0x00,
 };
 #endif

+ 6 - 6
OvmfPkg/Bhyve/PlatformPei/AmdSev.c

@@ -30,8 +30,8 @@ AmdSevInitialize (
   VOID
   )
 {
-  UINT64                            EncryptionMask;
-  RETURN_STATUS                     PcdStatus;
+  UINT64         EncryptionMask;
+  RETURN_STATUS  PcdStatus;
 
   //
   // Check if SEV is enabled
@@ -44,7 +44,7 @@ AmdSevInitialize (
   // Set Memory Encryption Mask PCD
   //
   EncryptionMask = MemEncryptSevGetEncryptionMask ();
-  PcdStatus = PcdSet64S (PcdPteMemoryEncryptionAddressOrMask, EncryptionMask);
+  PcdStatus      = PcdSet64S (PcdPteMemoryEncryptionAddressOrMask, EncryptionMask);
   ASSERT_RETURN_ERROR (PcdStatus);
 
   DEBUG ((DEBUG_INFO, "SEV is enabled (mask 0x%lx)\n", EncryptionMask));
@@ -67,9 +67,9 @@ AmdSevInitialize (
   // hypervisor.
   //
   if (FeaturePcdGet (PcdSmmSmramRequire) && (mBootMode != BOOT_ON_S3_RESUME)) {
-    RETURN_STATUS LocateMapStatus;
-    UINTN         MapPagesBase;
-    UINTN         MapPagesCount;
+    RETURN_STATUS  LocateMapStatus;
+    UINTN          MapPagesBase;
+    UINTN          MapPagesCount;
 
     LocateMapStatus = MemEncryptSevLocateInitialSmramSaveStateMapPages (
                         &MapPagesBase,

+ 20 - 16
OvmfPkg/Bhyve/PlatformPei/ClearCache.c

@@ -29,7 +29,7 @@ STATIC
 VOID
 EFIAPI
 ClearCache (
-  IN OUT VOID *WorkSpace
+  IN OUT VOID  *WorkSpace
   )
 {
   WriteBackInvalidateDataCache ();
@@ -56,8 +56,8 @@ ClearCacheOnMpServicesAvailable (
   IN VOID                       *Ppi
   )
 {
-  EFI_PEI_MP_SERVICES_PPI *MpServices;
-  EFI_STATUS              Status;
+  EFI_PEI_MP_SERVICES_PPI  *MpServices;
+  EFI_STATUS               Status;
 
   DEBUG ((DEBUG_INFO, "%a: %a\n", gEfiCallerBaseName, __FUNCTION__));
 
@@ -65,15 +65,15 @@ ClearCacheOnMpServicesAvailable (
   // Clear cache on all the APs in parallel.
   //
   MpServices = Ppi;
-  Status = MpServices->StartupAllAPs (
-                         (CONST EFI_PEI_SERVICES **)PeiServices,
-                         MpServices,
-                         ClearCache,          // Procedure
-                         FALSE,               // SingleThread
-                         0,                   // TimeoutInMicroSeconds: inf.
-                         NULL                 // ProcedureArgument
-                         );
-  if (EFI_ERROR (Status) && Status != EFI_NOT_STARTED) {
+  Status     = MpServices->StartupAllAPs (
+                             (CONST EFI_PEI_SERVICES **)PeiServices,
+                             MpServices,
+                             ClearCache,      // Procedure
+                             FALSE,           // SingleThread
+                             0,               // TimeoutInMicroSeconds: inf.
+                             NULL             // ProcedureArgument
+                             );
+  if (EFI_ERROR (Status) && (Status != EFI_NOT_STARTED)) {
     DEBUG ((DEBUG_ERROR, "%a: StartupAllAps(): %r\n", __FUNCTION__, Status));
     return Status;
   }
@@ -89,7 +89,7 @@ ClearCacheOnMpServicesAvailable (
 // Notification object for registering the callback, for when
 // EFI_PEI_MP_SERVICES_PPI becomes available.
 //
-STATIC CONST EFI_PEI_NOTIFY_DESCRIPTOR mMpServicesNotify = {
+STATIC CONST EFI_PEI_NOTIFY_DESCRIPTOR  mMpServicesNotify = {
   EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | // Flags
   EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,
   &gEfiPeiMpServicesPpiGuid,               // Guid
@@ -101,11 +101,15 @@ InstallClearCacheCallback (
   VOID
   )
 {
-  EFI_STATUS           Status;
+  EFI_STATUS  Status;
 
   Status = PeiServicesNotifyPpi (&mMpServicesNotify);
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: failed to set up MP Services callback: %r\n",
-      __FUNCTION__, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: failed to set up MP Services callback: %r\n",
+      __FUNCTION__,
+      Status
+      ));
   }
 }

+ 5 - 8
OvmfPkg/Bhyve/PlatformPei/Cmos.c

@@ -6,7 +6,6 @@
 
 **/
 
-
 #include "Cmos.h"
 #include "Library/IoLib.h"
 
@@ -24,14 +23,13 @@
 UINT8
 EFIAPI
 CmosRead8 (
-  IN      UINTN                     Index
+  IN      UINTN  Index
   )
 {
-  IoWrite8 (0x70, (UINT8) Index);
+  IoWrite8 (0x70, (UINT8)Index);
   return IoRead8 (0x71);
 }
 
-
 /**
   Writes 8-bits of CMOS data.
 
@@ -47,12 +45,11 @@ CmosRead8 (
 UINT8
 EFIAPI
 CmosWrite8 (
-  IN      UINTN                     Index,
-  IN      UINT8                     Value
+  IN      UINTN  Index,
+  IN      UINT8  Value
   )
 {
-  IoWrite8 (0x70, (UINT8) Index);
+  IoWrite8 (0x70, (UINT8)Index);
   IoWrite8 (0x71, Value);
   return Value;
 }
-

+ 3 - 5
OvmfPkg/Bhyve/PlatformPei/Cmos.h

@@ -23,7 +23,7 @@
 UINT8
 EFIAPI
 CmosRead8 (
-  IN      UINTN                     Index
+  IN      UINTN  Index
   );
 
 /**
@@ -41,10 +41,8 @@ CmosRead8 (
 UINT8
 EFIAPI
 CmosWrite8 (
-  IN      UINTN                     Index,
-  IN      UINT8                     Value
+  IN      UINTN  Index,
+  IN      UINT8  Value
   );
 
-
 #endif /* _CMOS_H_ */
-

+ 3 - 5
OvmfPkg/Bhyve/PlatformPei/Fv.c

@@ -13,7 +13,6 @@
 #include <Library/PcdLib.h>
 #include <Library/PeiServicesLib.h>
 
-
 /**
   Publish PEI & DXE (Decompressed) Memory based FVs to let PEI
   and DXE know about them.
@@ -26,7 +25,7 @@ PeiFvInitialization (
   VOID
   )
 {
-  BOOLEAN SecureS3Needed;
+  BOOLEAN  SecureS3Needed;
 
   DEBUG ((DEBUG_INFO, "Platform PEI Firmware Volume Initialization\n"));
 
@@ -67,7 +66,7 @@ PeiFvInitialization (
   // of DXEFV, so let's keep away the OS from there too.
   //
   if (SecureS3Needed) {
-    UINT32 DxeMemFvEnd;
+    UINT32  DxeMemFvEnd;
 
     DxeMemFvEnd = PcdGet32 (PcdOvmfDxeMemFvBase) +
                   PcdGet32 (PcdOvmfDxeMemFvSize);
@@ -83,7 +82,7 @@ PeiFvInitialization (
   //
   PeiServicesInstallFvInfoPpi (
     NULL,
-    (VOID *)(UINTN) PcdGet32 (PcdOvmfDxeMemFvBase),
+    (VOID *)(UINTN)PcdGet32 (PcdOvmfDxeMemFvBase),
     PcdGet32 (PcdOvmfDxeMemFvSize),
     NULL,
     NULL
@@ -91,4 +90,3 @@ PeiFvInitialization (
 
   return EFI_SUCCESS;
 }
-

+ 95 - 77
OvmfPkg/Bhyve/PlatformPei/MemDetect.c

@@ -36,22 +36,22 @@ Module Name:
 #include "Platform.h"
 #include "Cmos.h"
 
-UINT8 mPhysMemAddressWidth;
+UINT8  mPhysMemAddressWidth;
 
-STATIC UINT32 mS3AcpiReservedMemoryBase;
-STATIC UINT32 mS3AcpiReservedMemorySize;
+STATIC UINT32  mS3AcpiReservedMemoryBase;
+STATIC UINT32  mS3AcpiReservedMemorySize;
 
-STATIC UINT16 mQ35TsegMbytes;
+STATIC UINT16  mQ35TsegMbytes;
 
-BOOLEAN mQ35SmramAtDefaultSmbase = FALSE;
+BOOLEAN  mQ35SmramAtDefaultSmbase = FALSE;
 
 VOID
 Q35TsegMbytesInitialization (
   VOID
   )
 {
-  UINT16        ExtendedTsegMbytes;
-  RETURN_STATUS PcdStatus;
+  UINT16         ExtendedTsegMbytes;
+  RETURN_STATUS  PcdStatus;
 
   if (mHostBridgeDevId != INTEL_Q35_MCH_DEVICE_ID) {
     DEBUG ((
@@ -100,14 +100,13 @@ Q35TsegMbytesInitialization (
   mQ35TsegMbytes = ExtendedTsegMbytes;
 }
 
-
 UINT32
 GetSystemMemorySizeBelow4gb (
   VOID
   )
 {
-  UINT8 Cmos0x34;
-  UINT8 Cmos0x35;
+  UINT8  Cmos0x34;
+  UINT8  Cmos0x35;
 
   //
   // CMOS 0x34/0x35 specifies the system memory above 16 MB.
@@ -118,20 +117,19 @@ GetSystemMemorySizeBelow4gb (
   //   into the calculation to get the total memory size.
   //
 
-  Cmos0x34 = (UINT8) CmosRead8 (0x34);
-  Cmos0x35 = (UINT8) CmosRead8 (0x35);
+  Cmos0x34 = (UINT8)CmosRead8 (0x34);
+  Cmos0x35 = (UINT8)CmosRead8 (0x35);
 
-  return (UINT32) (((UINTN)((Cmos0x35 << 8) + Cmos0x34) << 16) + SIZE_16MB);
+  return (UINT32)(((UINTN)((Cmos0x35 << 8) + Cmos0x34) << 16) + SIZE_16MB);
 }
 
-
 STATIC
 UINT64
 GetSystemMemorySizeAbove4gb (
   )
 {
-  UINT32 Size;
-  UINTN  CmosIndex;
+  UINT32  Size;
+  UINTN   CmosIndex;
 
   //
   // CMOS 0x5b-0x5d specifies the system memory above 4GB MB.
@@ -143,13 +141,12 @@ GetSystemMemorySizeAbove4gb (
 
   Size = 0;
   for (CmosIndex = 0x5d; CmosIndex >= 0x5b; CmosIndex--) {
-    Size = (UINT32) (Size << 8) + (UINT32) CmosRead8 (CmosIndex);
+    Size = (UINT32)(Size << 8) + (UINT32)CmosRead8 (CmosIndex);
   }
 
   return LShiftU64 (Size, 16);
 }
 
-
 /**
   Return the highest address that DXE could possibly use, plus one.
 **/
@@ -159,9 +156,9 @@ GetFirstNonAddress (
   VOID
   )
 {
-  UINT64               FirstNonAddress;
-  UINT64               Pci64Base, Pci64Size;
-  RETURN_STATUS        PcdStatus;
+  UINT64         FirstNonAddress;
+  UINT64         Pci64Base, Pci64Size;
+  RETURN_STATUS  PcdStatus;
 
   FirstNonAddress = BASE_4GB + GetSystemMemorySizeAbove4gb ();
 
@@ -170,11 +167,12 @@ GetFirstNonAddress (
   // resources to 32-bit anyway. See DegradeResource() in
   // "PciResourceSupport.c".
   //
-#ifdef MDE_CPU_IA32
+ #ifdef MDE_CPU_IA32
   if (!FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
     return FirstNonAddress;
   }
-#endif
+
+ #endif
 
   //
   // Otherwise, in order to calculate the highest address plus one, we must
@@ -184,8 +182,11 @@ GetFirstNonAddress (
 
   if (Pci64Size == 0) {
     if (mBootMode != BOOT_ON_S3_RESUME) {
-      DEBUG ((DEBUG_INFO, "%a: disabling 64-bit PCI host aperture\n",
-        __FUNCTION__));
+      DEBUG ((
+        DEBUG_INFO,
+        "%a: disabling 64-bit PCI host aperture\n",
+        __FUNCTION__
+        ));
       PcdStatus = PcdSet64S (PcdPciMmio64Size, 0);
       ASSERT_RETURN_ERROR (PcdStatus);
     }
@@ -224,8 +225,13 @@ GetFirstNonAddress (
     PcdStatus = PcdSet64S (PcdPciMmio64Size, Pci64Size);
     ASSERT_RETURN_ERROR (PcdStatus);
 
-    DEBUG ((DEBUG_INFO, "%a: Pci64Base=0x%Lx Pci64Size=0x%Lx\n",
-      __FUNCTION__, Pci64Base, Pci64Size));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: Pci64Base=0x%Lx Pci64Size=0x%Lx\n",
+      __FUNCTION__,
+      Pci64Base,
+      Pci64Size
+      ));
   }
 
   //
@@ -235,7 +241,6 @@ GetFirstNonAddress (
   return FirstNonAddress;
 }
 
-
 /**
   Initialize the mPhysMemAddressWidth variable, based on guest RAM size.
 **/
@@ -244,7 +249,7 @@ AddressWidthInitialization (
   VOID
   )
 {
-  UINT64 FirstNonAddress;
+  UINT64  FirstNonAddress;
 
   //
   // As guest-physical memory size grows, the permanent PEI RAM requirements
@@ -272,10 +277,10 @@ AddressWidthInitialization (
   if (mPhysMemAddressWidth <= 36) {
     mPhysMemAddressWidth = 36;
   }
+
   ASSERT (mPhysMemAddressWidth <= 48);
 }
 
-
 /**
   Calculate the cap for the permanent PEI memory.
 **/
@@ -285,21 +290,22 @@ GetPeiMemoryCap (
   VOID
   )
 {
-  BOOLEAN Page1GSupport;
-  UINT32  RegEax;
-  UINT32  RegEdx;
-  UINT32  Pml4Entries;
-  UINT32  PdpEntries;
-  UINTN   TotalPages;
+  BOOLEAN  Page1GSupport;
+  UINT32   RegEax;
+  UINT32   RegEdx;
+  UINT32   Pml4Entries;
+  UINT32   PdpEntries;
+  UINTN    TotalPages;
 
   //
   // If DXE is 32-bit, then just return the traditional 64 MB cap.
   //
-#ifdef MDE_CPU_IA32
+ #ifdef MDE_CPU_IA32
   if (!FeaturePcdGet (PcdDxeIplSwitchToLongMode)) {
     return SIZE_64MB;
   }
-#endif
+
+ #endif
 
   //
   // Dependent on physical address width, PEI memory allocations can be
@@ -320,7 +326,7 @@ GetPeiMemoryCap (
 
   if (mPhysMemAddressWidth <= 39) {
     Pml4Entries = 1;
-    PdpEntries = 1 << (mPhysMemAddressWidth - 30);
+    PdpEntries  = 1 << (mPhysMemAddressWidth - 30);
     ASSERT (PdpEntries <= 0x200);
   } else {
     Pml4Entries = 1 << (mPhysMemAddressWidth - 39);
@@ -329,7 +335,7 @@ GetPeiMemoryCap (
   }
 
   TotalPages = Page1GSupport ? Pml4Entries + 1 :
-                               (PdpEntries + 1) * Pml4Entries + 1;
+               (PdpEntries + 1) * Pml4Entries + 1;
   ASSERT (TotalPages <= 0x40201);
 
   //
@@ -340,7 +346,6 @@ GetPeiMemoryCap (
   return (UINT32)(EFI_PAGES_TO_SIZE (TotalPages) + SIZE_64MB);
 }
 
-
 /**
   Publish PEI core memory
 
@@ -352,11 +357,11 @@ PublishPeiMemory (
   VOID
   )
 {
-  EFI_STATUS                  Status;
-  EFI_PHYSICAL_ADDRESS        MemoryBase;
-  UINT64                      MemorySize;
-  UINT32                      LowerMemorySize;
-  UINT32                      PeiMemoryCap;
+  EFI_STATUS            Status;
+  EFI_PHYSICAL_ADDRESS  MemoryBase;
+  UINT64                MemorySize;
+  UINT32                LowerMemorySize;
+  UINT32                PeiMemoryCap;
 
   LowerMemorySize = GetSystemMemorySizeBelow4gb ();
   if (FeaturePcdGet (PcdSmmSmramRequire)) {
@@ -373,10 +378,10 @@ PublishPeiMemory (
   //
   if (mS3Supported) {
     mS3AcpiReservedMemorySize = SIZE_512KB +
-      mMaxCpuCount *
-      PcdGet32 (PcdCpuApStackSize);
+                                mMaxCpuCount *
+                                PcdGet32 (PcdCpuApStackSize);
     mS3AcpiReservedMemoryBase = LowerMemorySize - mS3AcpiReservedMemorySize;
-    LowerMemorySize = mS3AcpiReservedMemoryBase;
+    LowerMemorySize           = mS3AcpiReservedMemoryBase;
   }
 
   if (mBootMode == BOOT_ON_S3_RESUME) {
@@ -384,8 +389,13 @@ PublishPeiMemory (
     MemorySize = mS3AcpiReservedMemorySize;
   } else {
     PeiMemoryCap = GetPeiMemoryCap ();
-    DEBUG ((DEBUG_INFO, "%a: mPhysMemAddressWidth=%d PeiMemoryCap=%u KB\n",
-      __FUNCTION__, mPhysMemAddressWidth, PeiMemoryCap >> 10));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: mPhysMemAddressWidth=%d PeiMemoryCap=%u KB\n",
+      __FUNCTION__,
+      mPhysMemAddressWidth,
+      PeiMemoryCap >> 10
+      ));
 
     //
     // Determine the range of memory to use during PEI
@@ -398,8 +408,8 @@ PublishPeiMemory (
     // shouldn't overlap with that HOB.
     //
     MemoryBase = mS3Supported && FeaturePcdGet (PcdSmmSmramRequire) ?
-      PcdGet32 (PcdOvmfDecompressionScratchEnd) :
-      PcdGet32 (PcdOvmfDxeMemFvBase) + PcdGet32 (PcdOvmfDxeMemFvSize);
+                 PcdGet32 (PcdOvmfDecompressionScratchEnd) :
+                 PcdGet32 (PcdOvmfDxeMemFvBase) + PcdGet32 (PcdOvmfDxeMemFvSize);
     MemorySize = LowerMemorySize - MemoryBase;
     if (MemorySize > PeiMemoryCap) {
       MemoryBase = LowerMemorySize - PeiMemoryCap;
@@ -410,13 +420,12 @@ PublishPeiMemory (
   //
   // Publish this memory to the PEI Core
   //
-  Status = PublishSystemMemory(MemoryBase, MemorySize);
+  Status = PublishSystemMemory (MemoryBase, MemorySize);
   ASSERT_EFI_ERROR (Status);
 
   return Status;
 }
 
-
 /**
   Peform Memory Detection for QEMU / KVM
 
@@ -427,10 +436,10 @@ QemuInitializeRam (
   VOID
   )
 {
-  UINT64                      LowerMemorySize;
-  UINT64                      UpperMemorySize;
-  MTRR_SETTINGS               MtrrSettings;
-  EFI_STATUS                  Status;
+  UINT64         LowerMemorySize;
+  UINT64         UpperMemorySize;
+  MTRR_SETTINGS  MtrrSettings;
+  EFI_STATUS     Status;
 
   DEBUG ((DEBUG_INFO, "%a called\n", __FUNCTION__));
 
@@ -469,12 +478,15 @@ QemuInitializeRam (
     AddMemoryRangeHob (0, BASE_512KB + BASE_128KB);
 
     if (FeaturePcdGet (PcdSmmSmramRequire)) {
-      UINT32 TsegSize;
+      UINT32  TsegSize;
 
       TsegSize = mQ35TsegMbytes * SIZE_1MB;
       AddMemoryRangeHob (BASE_1MB, LowerMemorySize - TsegSize);
-      AddReservedMemoryBaseSizeHob (LowerMemorySize - TsegSize, TsegSize,
-        TRUE);
+      AddReservedMemoryBaseSizeHob (
+        LowerMemorySize - TsegSize,
+        TsegSize,
+        TRUE
+        );
     } else {
       AddMemoryRangeHob (BASE_1MB, LowerMemorySize);
     }
@@ -516,16 +528,22 @@ QemuInitializeRam (
     //
     // Set memory range from 640KB to 1MB to uncacheable
     //
-    Status = MtrrSetMemoryAttribute (BASE_512KB + BASE_128KB,
-               BASE_1MB - (BASE_512KB + BASE_128KB), CacheUncacheable);
+    Status = MtrrSetMemoryAttribute (
+               BASE_512KB + BASE_128KB,
+               BASE_1MB - (BASE_512KB + BASE_128KB),
+               CacheUncacheable
+               );
     ASSERT_EFI_ERROR (Status);
 
     //
     // Set memory range from the "top of lower RAM" (RAM below 4GB) to 4GB as
     // uncacheable
     //
-    Status = MtrrSetMemoryAttribute (LowerMemorySize,
-               SIZE_4GB - LowerMemorySize, CacheUncacheable);
+    Status = MtrrSetMemoryAttribute (
+               LowerMemorySize,
+               SIZE_4GB - LowerMemorySize,
+               CacheUncacheable
+               );
     ASSERT_EFI_ERROR (Status);
   }
 }
@@ -541,7 +559,7 @@ InitializeRamRegions (
 {
   QemuInitializeRam ();
 
-  if (mS3Supported && mBootMode != BOOT_ON_S3_RESUME) {
+  if (mS3Supported && (mBootMode != BOOT_ON_S3_RESUME)) {
     //
     // This is the memory range that will be used for PEI on S3 resume
     //
@@ -571,7 +589,7 @@ InitializeRamRegions (
       EfiACPIMemoryNVS
       );
 
-#ifdef MDE_CPU_X64
+ #ifdef MDE_CPU_X64
     //
     // Reserve the initial page tables built by the reset vector code.
     //
@@ -579,11 +597,11 @@ InitializeRamRegions (
     // resume, it must be reserved as ACPI NVS.
     //
     BuildMemoryAllocationHob (
-      (EFI_PHYSICAL_ADDRESS)(UINTN) PcdGet32 (PcdOvmfSecPageTablesBase),
-      (UINT64)(UINTN) PcdGet32 (PcdOvmfSecPageTablesSize),
+      (EFI_PHYSICAL_ADDRESS)(UINTN)PcdGet32 (PcdOvmfSecPageTablesBase),
+      (UINT64)(UINTN)PcdGet32 (PcdOvmfSecPageTablesSize),
       EfiACPIMemoryNVS
       );
-#endif
+ #endif
   }
 
   if (mBootMode != BOOT_ON_S3_RESUME) {
@@ -599,18 +617,18 @@ InitializeRamRegions (
       // such that they would overlap the LockBox storage.
       //
       ZeroMem (
-        (VOID*)(UINTN) PcdGet32 (PcdOvmfLockBoxStorageBase),
-        (UINTN) PcdGet32 (PcdOvmfLockBoxStorageSize)
+        (VOID *)(UINTN)PcdGet32 (PcdOvmfLockBoxStorageBase),
+        (UINTN)PcdGet32 (PcdOvmfLockBoxStorageSize)
         );
       BuildMemoryAllocationHob (
-        (EFI_PHYSICAL_ADDRESS)(UINTN) PcdGet32 (PcdOvmfLockBoxStorageBase),
-        (UINT64)(UINTN) PcdGet32 (PcdOvmfLockBoxStorageSize),
+        (EFI_PHYSICAL_ADDRESS)(UINTN)PcdGet32 (PcdOvmfLockBoxStorageBase),
+        (UINT64)(UINTN)PcdGet32 (PcdOvmfLockBoxStorageSize),
         mS3Supported ? EfiACPIMemoryNVS : EfiBootServicesData
         );
     }
 
     if (FeaturePcdGet (PcdSmmSmramRequire)) {
-      UINT32 TsegSize;
+      UINT32  TsegSize;
 
       //
       // Make sure the TSEG area that we reported as a reserved memory resource
@@ -618,7 +636,7 @@ InitializeRamRegions (
       //
       TsegSize = mQ35TsegMbytes * SIZE_1MB;
       BuildMemoryAllocationHob (
-        GetSystemMemorySizeBelow4gb() - TsegSize,
+        GetSystemMemorySizeBelow4gb () - TsegSize,
         TsegSize,
         EfiReservedMemoryType
         );

+ 110 - 93
OvmfPkg/Bhyve/PlatformPei/Platform.c

@@ -36,7 +36,7 @@
 #include "Platform.h"
 #include "Cmos.h"
 
-EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = {
+EFI_MEMORY_TYPE_INFORMATION  mDefaultMemoryTypeInformation[] = {
   { EfiACPIMemoryNVS,       0x004 },
   { EfiACPIReclaimMemory,   0x008 },
   { EfiReservedMemoryType,  0x004 },
@@ -47,8 +47,7 @@ EFI_MEMORY_TYPE_INFORMATION mDefaultMemoryTypeInformation[] = {
   { EfiMaxMemoryType,       0x000 }
 };
 
-
-EFI_PEI_PPI_DESCRIPTOR   mPpiBootMode[] = {
+EFI_PEI_PPI_DESCRIPTOR  mPpiBootMode[] = {
   {
     EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,
     &gEfiPeiMasterBootModePpiGuid,
@@ -56,27 +55,26 @@ EFI_PEI_PPI_DESCRIPTOR   mPpiBootMode[] = {
   }
 };
 
+UINT16  mHostBridgeDevId;
 
-UINT16 mHostBridgeDevId;
-
-EFI_BOOT_MODE mBootMode = BOOT_WITH_FULL_CONFIGURATION;
+EFI_BOOT_MODE  mBootMode = BOOT_WITH_FULL_CONFIGURATION;
 
-BOOLEAN mS3Supported = FALSE;
+BOOLEAN  mS3Supported = FALSE;
 
-UINT32 mMaxCpuCount;
+UINT32  mMaxCpuCount;
 
 VOID
 AddIoMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize
   )
 {
   BuildResourceDescriptorHob (
     EFI_RESOURCE_MEMORY_MAPPED_IO,
-      EFI_RESOURCE_ATTRIBUTE_PRESENT     |
-      EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
-      EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
-      EFI_RESOURCE_ATTRIBUTE_TESTED,
+    EFI_RESOURCE_ATTRIBUTE_PRESENT     |
+    EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
+    EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
+    EFI_RESOURCE_ATTRIBUTE_TESTED,
     MemoryBase,
     MemorySize
     );
@@ -84,23 +82,23 @@ AddIoMemoryBaseSizeHob (
 
 VOID
 AddReservedMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize,
-  BOOLEAN                     Cacheable
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize,
+  BOOLEAN               Cacheable
   )
 {
   BuildResourceDescriptorHob (
     EFI_RESOURCE_MEMORY_RESERVED,
-      EFI_RESOURCE_ATTRIBUTE_PRESENT     |
-      EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
-      EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
-      (Cacheable ?
-       EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
-       EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
-       EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE :
-       0
-       ) |
-      EFI_RESOURCE_ATTRIBUTE_TESTED,
+    EFI_RESOURCE_ATTRIBUTE_PRESENT     |
+    EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
+    EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
+    (Cacheable ?
+     EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
+     EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
+     EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE :
+     0
+    ) |
+    EFI_RESOURCE_ATTRIBUTE_TESTED,
     MemoryBase,
     MemorySize
     );
@@ -108,53 +106,50 @@ AddReservedMemoryBaseSizeHob (
 
 VOID
 AddIoMemoryRangeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  EFI_PHYSICAL_ADDRESS        MemoryLimit
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  EFI_PHYSICAL_ADDRESS  MemoryLimit
   )
 {
   AddIoMemoryBaseSizeHob (MemoryBase, (UINT64)(MemoryLimit - MemoryBase));
 }
 
-
 VOID
 AddMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize
   )
 {
   BuildResourceDescriptorHob (
     EFI_RESOURCE_SYSTEM_MEMORY,
-      EFI_RESOURCE_ATTRIBUTE_PRESENT |
-      EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
-      EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
-      EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
-      EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
-      EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |
-      EFI_RESOURCE_ATTRIBUTE_TESTED,
+    EFI_RESOURCE_ATTRIBUTE_PRESENT |
+    EFI_RESOURCE_ATTRIBUTE_INITIALIZED |
+    EFI_RESOURCE_ATTRIBUTE_UNCACHEABLE |
+    EFI_RESOURCE_ATTRIBUTE_WRITE_COMBINEABLE |
+    EFI_RESOURCE_ATTRIBUTE_WRITE_THROUGH_CACHEABLE |
+    EFI_RESOURCE_ATTRIBUTE_WRITE_BACK_CACHEABLE |
+    EFI_RESOURCE_ATTRIBUTE_TESTED,
     MemoryBase,
     MemorySize
     );
 }
 
-
 VOID
 AddMemoryRangeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  EFI_PHYSICAL_ADDRESS        MemoryLimit
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  EFI_PHYSICAL_ADDRESS  MemoryLimit
   )
 {
   AddMemoryBaseSizeHob (MemoryBase, (UINT64)(MemoryLimit - MemoryBase));
 }
 
-
 VOID
 MemMapInitialization (
   VOID
   )
 {
-  UINT64        PciIoBase;
-  UINT64        PciIoSize;
-  RETURN_STATUS PcdStatus;
+  UINT64         PciIoBase;
+  UINT64         PciIoSize;
+  RETURN_STATUS  PcdStatus;
 
   PciIoBase = 0xC000;
   PciIoSize = 0x4000;
@@ -165,7 +160,7 @@ MemMapInitialization (
   BuildGuidDataHob (
     &gEfiMemoryTypeInformationGuid,
     mDefaultMemoryTypeInformation,
-    sizeof(mDefaultMemoryTypeInformation)
+    sizeof (mDefaultMemoryTypeInformation)
     );
 
   //
@@ -179,7 +174,7 @@ MemMapInitialization (
     UINT32  PciBase;
     UINT32  PciSize;
 
-    TopOfLowRam = GetSystemMemorySizeBelow4gb ();
+    TopOfLowRam  = GetSystemMemorySizeBelow4gb ();
     PciExBarBase = 0;
     if (mHostBridgeDevId == INTEL_Q35_MCH_DEVICE_ID) {
       //
@@ -192,8 +187,9 @@ MemMapInitialization (
       PciBase = (UINT32)(PciExBarBase + SIZE_256MB);
     } else {
       PciBase = (UINT32)PcdGet64 (PcdPciMmio32Base);
-      if (PciBase == 0)
+      if (PciBase == 0) {
         PciBase = (TopOfLowRam < BASE_2GB) ? BASE_2GB : TopOfLowRam;
+      }
     }
 
     //
@@ -242,10 +238,14 @@ MemMapInitialization (
       // uncacheable reserved memory right here.
       //
       AddReservedMemoryBaseSizeHob (PciExBarBase, SIZE_256MB, FALSE);
-      BuildMemoryAllocationHob (PciExBarBase, SIZE_256MB,
-        EfiReservedMemoryType);
+      BuildMemoryAllocationHob (
+        PciExBarBase,
+        SIZE_256MB,
+        EfiReservedMemoryType
+        );
     }
-    AddIoMemoryBaseSizeHob (PcdGet32(PcdCpuLocalApicBaseAddress), SIZE_1MB);
+
+    AddIoMemoryBaseSizeHob (PcdGet32 (PcdCpuLocalApicBaseAddress), SIZE_1MB);
 
     //
     // On Q35, the IO Port space is available for PCI resource allocations from
@@ -287,8 +287,8 @@ PciExBarInitialization (
   )
 {
   union {
-    UINT64 Uint64;
-    UINT32 Uint32[2];
+    UINT64    Uint64;
+    UINT32    Uint32[2];
   } PciExBarBase;
 
   //
@@ -327,13 +327,13 @@ MiscInitialization (
   VOID
   )
 {
-  UINTN         PmCmd;
-  UINTN         Pmba;
-  UINT32        PmbaAndVal;
-  UINT32        PmbaOrVal;
-  UINTN         AcpiCtlReg;
-  UINT8         AcpiEnBit;
-  RETURN_STATUS PcdStatus;
+  UINTN          PmCmd;
+  UINTN          Pmba;
+  UINT32         PmbaAndVal;
+  UINT32         PmbaOrVal;
+  UINTN          AcpiCtlReg;
+  UINT8          AcpiEnBit;
+  RETURN_STATUS  PcdStatus;
 
   //
   // Disable A20 Mask
@@ -370,11 +370,16 @@ MiscInitialization (
       AcpiEnBit  = ICH9_ACPI_CNTL_ACPI_EN;
       break;
     default:
-      DEBUG ((DEBUG_ERROR, "%a: Unknown Host Bridge Device ID: 0x%04x\n",
-        __FUNCTION__, mHostBridgeDevId));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Unknown Host Bridge Device ID: 0x%04x\n",
+        __FUNCTION__,
+        mHostBridgeDevId
+        ));
       ASSERT (FALSE);
       return;
   }
+
   PcdStatus = PcdSet16S (PcdOvmfHostBridgePciDevId, mHostBridgeDevId);
   ASSERT_RETURN_ERROR (PcdStatus);
 
@@ -417,17 +422,17 @@ MiscInitialization (
   }
 }
 
-
 VOID
 BootModeInitialization (
   VOID
   )
 {
-  EFI_STATUS    Status;
+  EFI_STATUS  Status;
 
   if (CmosRead8 (0xF) == 0xFE) {
     mBootMode = BOOT_ON_S3_RESUME;
   }
+
   CmosWrite8 (0xF, 0x00);
 
   Status = PeiServicesSetBootMode (mBootMode);
@@ -437,13 +442,12 @@ BootModeInitialization (
   ASSERT_EFI_ERROR (Status);
 }
 
-
 VOID
 ReserveEmuVariableNvStore (
   )
 {
-  EFI_PHYSICAL_ADDRESS VariableStore;
-  RETURN_STATUS        PcdStatus;
+  EFI_PHYSICAL_ADDRESS  VariableStore;
+  RETURN_STATUS         PcdStatus;
 
   //
   // Allocate storage for NV variables early on so it will be
@@ -453,25 +457,25 @@ ReserveEmuVariableNvStore (
   //
   VariableStore =
     (EFI_PHYSICAL_ADDRESS)(UINTN)
-      AllocateRuntimePages (
-        EFI_SIZE_TO_PAGES (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize))
-        );
-  DEBUG ((DEBUG_INFO,
-          "Reserved variable store memory: 0x%lX; size: %dkb\n",
-          VariableStore,
-          (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)) / 1024
-        ));
+    AllocateRuntimePages (
+      EFI_SIZE_TO_PAGES (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize))
+      );
+  DEBUG ((
+    DEBUG_INFO,
+    "Reserved variable store memory: 0x%lX; size: %dkb\n",
+    VariableStore,
+    (2 * PcdGet32 (PcdFlashNvStorageFtwSpareSize)) / 1024
+    ));
   PcdStatus = PcdSet64S (PcdEmuVariableNvStoreReserved, VariableStore);
   ASSERT_RETURN_ERROR (PcdStatus);
 }
 
-
 VOID
 DebugDumpCmos (
   VOID
   )
 {
-  UINT32 Loop;
+  UINT32  Loop;
 
   DEBUG ((DEBUG_INFO, "CMOS:\n"));
 
@@ -479,6 +483,7 @@ DebugDumpCmos (
     if ((Loop % 0x10) == 0) {
       DEBUG ((DEBUG_INFO, "%02x:", Loop));
     }
+
     DEBUG ((DEBUG_INFO, " %02x", CmosRead8 (Loop)));
     if ((Loop % 0x10) == 0xf) {
       DEBUG ((DEBUG_INFO, "\n"));
@@ -486,27 +491,34 @@ DebugDumpCmos (
   }
 }
 
-
 VOID
 S3Verification (
   VOID
   )
 {
-#if defined (MDE_CPU_X64)
+ #if defined (MDE_CPU_X64)
   if (FeaturePcdGet (PcdSmmSmramRequire) && mS3Supported) {
-    DEBUG ((DEBUG_ERROR,
-      "%a: S3Resume2Pei doesn't support X64 PEI + SMM yet.\n", __FUNCTION__));
-    DEBUG ((DEBUG_ERROR,
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: S3Resume2Pei doesn't support X64 PEI + SMM yet.\n",
+      __FUNCTION__
+      ));
+    DEBUG ((
+      DEBUG_ERROR,
       "%a: Please disable S3 on the QEMU command line (see the README),\n",
-      __FUNCTION__));
-    DEBUG ((DEBUG_ERROR,
-      "%a: or build OVMF with \"OvmfPkgIa32X64.dsc\".\n", __FUNCTION__));
+      __FUNCTION__
+      ));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: or build OVMF with \"OvmfPkgIa32X64.dsc\".\n",
+      __FUNCTION__
+      ));
     ASSERT (FALSE);
     CpuDeadLoop ();
   }
-#endif
-}
 
+ #endif
+}
 
 /**
   Fetch the number of boot CPUs from QEMU and expose it to UefiCpuPkg modules.
@@ -517,8 +529,8 @@ MaxCpuCountInitialization (
   VOID
   )
 {
-  UINT16        ProcessorCount = 0;
-  RETURN_STATUS PcdStatus;
+  UINT16         ProcessorCount = 0;
+  RETURN_STATUS  PcdStatus;
 
   //
   // If the fw_cfg key or fw_cfg entirely is unavailable, load mMaxCpuCount
@@ -528,6 +540,7 @@ MaxCpuCountInitialization (
     mMaxCpuCount = PcdGet32 (PcdCpuMaxLogicalProcessorNumber);
     return;
   }
+
   //
   // Otherwise, set mMaxCpuCount to the value reported by QEMU.
   //
@@ -542,11 +555,14 @@ MaxCpuCountInitialization (
   ASSERT_RETURN_ERROR (PcdStatus);
   PcdStatus = PcdSet32S (PcdCpuApInitTimeOutInMicroSeconds, MAX_UINT32);
   ASSERT_RETURN_ERROR (PcdStatus);
-  DEBUG ((DEBUG_INFO, "%a: QEMU reports %d processor(s)\n", __FUNCTION__,
-    ProcessorCount));
+  DEBUG ((
+    DEBUG_INFO,
+    "%a: QEMU reports %d processor(s)\n",
+    __FUNCTION__,
+    ProcessorCount
+    ));
 }
 
-
 /**
   Perform Platform PEI initialization.
 
@@ -596,6 +612,7 @@ InitializePlatform (
     if (!FeaturePcdGet (PcdSmmSmramRequire)) {
       ReserveEmuVariableNvStore ();
     }
+
     PeiFvInitialization ();
     MemMapInitialization ();
     NoexecDxeInitialization ();

+ 19 - 19
OvmfPkg/Bhyve/PlatformPei/Platform.h

@@ -14,33 +14,33 @@
 
 VOID
 AddIoMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize
   );
 
 VOID
 AddIoMemoryRangeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  EFI_PHYSICAL_ADDRESS        MemoryLimit
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  EFI_PHYSICAL_ADDRESS  MemoryLimit
   );
 
 VOID
 AddMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize
   );
 
 VOID
 AddMemoryRangeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  EFI_PHYSICAL_ADDRESS        MemoryLimit
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  EFI_PHYSICAL_ADDRESS  MemoryLimit
   );
 
 VOID
 AddReservedMemoryBaseSizeHob (
-  EFI_PHYSICAL_ADDRESS        MemoryBase,
-  UINT64                      MemorySize,
-  BOOLEAN                     Cacheable
+  EFI_PHYSICAL_ADDRESS  MemoryBase,
+  UINT64                MemorySize,
+  BOOLEAN               Cacheable
   );
 
 VOID
@@ -113,25 +113,25 @@ AmdSevInitialize (
   VOID
   );
 
-extern BOOLEAN mXen;
+extern BOOLEAN  mXen;
 
 VOID
 XenPublishRamRegions (
   VOID
   );
 
-extern EFI_BOOT_MODE mBootMode;
+extern EFI_BOOT_MODE  mBootMode;
 
-extern BOOLEAN mS3Supported;
+extern BOOLEAN  mS3Supported;
 
-extern UINT8 mPhysMemAddressWidth;
+extern UINT8  mPhysMemAddressWidth;
 
-extern UINT32 mMaxCpuCount;
+extern UINT32  mMaxCpuCount;
 
-extern UINT16 mHostBridgeDevId;
+extern UINT16  mHostBridgeDevId;
 
-extern BOOLEAN mQ35SmramAtDefaultSmbase;
+extern BOOLEAN  mQ35SmramAtDefaultSmbase;
 
-extern UINT32 mQemuUc32Base;
+extern UINT32  mQemuUc32Base;
 
 #endif // _PLATFORM_PEI_H_INCLUDED_

+ 11 - 12
OvmfPkg/Bhyve/SmbiosPlatformDxe/Bhyve.c

@@ -7,8 +7,8 @@
 
 #include "SmbiosPlatformDxe.h"
 
-#define BHYVE_SMBIOS_PHYSICAL_ADDRESS       0x000F0000
-#define BHYVE_SMBIOS_PHYSICAL_END           0x000FFFFF
+#define BHYVE_SMBIOS_PHYSICAL_ADDRESS  0x000F0000
+#define BHYVE_SMBIOS_PHYSICAL_END      0x000FFFFF
 
 /**
   Locates the bhyve SMBIOS data if it exists
@@ -24,18 +24,17 @@ GetBhyveSmbiosTables (
   UINT8                     *BhyveSmbiosPtr;
   SMBIOS_TABLE_ENTRY_POINT  *BhyveSmbiosEntryPointStructure;
 
-  for (BhyveSmbiosPtr = (UINT8*)(UINTN) BHYVE_SMBIOS_PHYSICAL_ADDRESS;
-       BhyveSmbiosPtr < (UINT8*)(UINTN) BHYVE_SMBIOS_PHYSICAL_END;
-       BhyveSmbiosPtr += 0x10) {
-
-    BhyveSmbiosEntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) BhyveSmbiosPtr;
-
-    if (!AsciiStrnCmp ((CHAR8 *) BhyveSmbiosEntryPointStructure->AnchorString, "_SM_", 4) &&
-        !AsciiStrnCmp ((CHAR8 *) BhyveSmbiosEntryPointStructure->IntermediateAnchorString, "_DMI_", 5) &&
-        IsEntryPointStructureValid (BhyveSmbiosEntryPointStructure)) {
+  for (BhyveSmbiosPtr = (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_ADDRESS;
+       BhyveSmbiosPtr < (UINT8 *)(UINTN)BHYVE_SMBIOS_PHYSICAL_END;
+       BhyveSmbiosPtr += 0x10)
+  {
+    BhyveSmbiosEntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)BhyveSmbiosPtr;
 
+    if (!AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->AnchorString, "_SM_", 4) &&
+        !AsciiStrnCmp ((CHAR8 *)BhyveSmbiosEntryPointStructure->IntermediateAnchorString, "_DMI_", 5) &&
+        IsEntryPointStructureValid (BhyveSmbiosEntryPointStructure))
+    {
       return BhyveSmbiosEntryPointStructure;
-
     }
   }
 

+ 44 - 47
OvmfPkg/Bhyve/SmbiosPlatformDxe/SmbiosPlatformDxe.c

@@ -20,34 +20,34 @@
 //
 #pragma pack(1)
 typedef struct {
-  SMBIOS_TABLE_TYPE0 Base;
-  UINT8              Strings[sizeof(TYPE0_STRINGS)];
+  SMBIOS_TABLE_TYPE0    Base;
+  UINT8                 Strings[sizeof (TYPE0_STRINGS)];
 } OVMF_TYPE0;
 #pragma pack()
 
-STATIC CONST OVMF_TYPE0 mOvmfDefaultType0 = {
+STATIC CONST OVMF_TYPE0  mOvmfDefaultType0 = {
   {
     // SMBIOS_STRUCTURE Hdr
     {
       EFI_SMBIOS_TYPE_BIOS_INFORMATION, // UINT8 Type
       sizeof (SMBIOS_TABLE_TYPE0),      // UINT8 Length
     },
-    1,     // SMBIOS_TABLE_STRING       Vendor
-    2,     // SMBIOS_TABLE_STRING       BiosVersion
-    0xE800,// UINT16                    BiosSegment
-    3,     // SMBIOS_TABLE_STRING       BiosReleaseDate
-    0,     // UINT8                     BiosSize
+    1,      // SMBIOS_TABLE_STRING       Vendor
+    2,      // SMBIOS_TABLE_STRING       BiosVersion
+    0xE800, // UINT16                    BiosSegment
+    3,      // SMBIOS_TABLE_STRING       BiosReleaseDate
+    0,      // UINT8                     BiosSize
     {      // MISC_BIOS_CHARACTERISTICS BiosCharacteristics
-      0,     // Reserved                                      :2
-      0,     // Unknown                                       :1
-      1,     // BiosCharacteristicsNotSupported               :1
-             // Remaining BiosCharacteristics bits left unset :60
+      0,   // Reserved                                      :2
+      0,   // Unknown                                       :1
+      1,   // BiosCharacteristicsNotSupported               :1
+           // Remaining BiosCharacteristics bits left unset :60
     },
     {      // BIOSCharacteristicsExtensionBytes[2]
-      0,     // BiosReserved
-      0x1C   // SystemReserved = VirtualMachineSupported |
-             //                  UefiSpecificationSupported |
-             //                  TargetContentDistributionEnabled
+      0,   // BiosReserved
+      0x1C // SystemReserved = VirtualMachineSupported |
+           //                  UefiSpecificationSupported |
+           //                  TargetContentDistributionEnabled
     },
     0,     // UINT8                     SystemBiosMajorRelease
     0,     // UINT8                     SystemBiosMinorRelease
@@ -58,7 +58,6 @@ STATIC CONST OVMF_TYPE0 mOvmfDefaultType0 = {
   TYPE0_STRINGS
 };
 
-
 /**
   Validates the SMBIOS entry point structure
 
@@ -73,17 +72,17 @@ IsEntryPointStructureValid (
   IN SMBIOS_TABLE_ENTRY_POINT  *EntryPointStructure
   )
 {
-  UINTN                     Index;
-  UINT8                     Length;
-  UINT8                     Checksum;
-  UINT8                     *BytePtr;
+  UINTN  Index;
+  UINT8  Length;
+  UINT8  Checksum;
+  UINT8  *BytePtr;
 
-  BytePtr = (UINT8*) EntryPointStructure;
-  Length = EntryPointStructure->EntryPointLength;
+  BytePtr  = (UINT8 *)EntryPointStructure;
+  Length   = EntryPointStructure->EntryPointLength;
   Checksum = 0;
 
   for (Index = 0; Index < Length; Index++) {
-    Checksum = Checksum + (UINT8) BytePtr[Index];
+    Checksum = Checksum + (UINT8)BytePtr[Index];
   }
 
   if (Checksum != 0) {
@@ -93,7 +92,6 @@ IsEntryPointStructureValid (
   }
 }
 
-
 /**
   Get SMBIOS record length.
 
@@ -102,7 +100,7 @@ IsEntryPointStructureValid (
 **/
 UINTN
 SmbiosTableLength (
-  IN SMBIOS_STRUCTURE_POINTER SmbiosTable
+  IN SMBIOS_STRUCTURE_POINTER  SmbiosTable
   )
 {
   CHAR8  *AChar;
@@ -114,14 +112,14 @@ SmbiosTableLength (
   // Each structure shall be terminated by a double-null (SMBIOS spec.7.1)
   //
   while ((*AChar != 0) || (*(AChar + 1) != 0)) {
-    AChar ++;
+    AChar++;
   }
+
   Length = ((UINTN)AChar - (UINTN)SmbiosTable.Raw + 2);
 
   return Length;
 }
 
-
 /**
   Install all structures from the given SMBIOS structures block
 
@@ -131,8 +129,8 @@ SmbiosTableLength (
 **/
 EFI_STATUS
 InstallAllStructures (
-  IN EFI_SMBIOS_PROTOCOL       *Smbios,
-  IN UINT8                     *TableAddress
+  IN EFI_SMBIOS_PROTOCOL  *Smbios,
+  IN UINT8                *TableAddress
   )
 {
   EFI_STATUS                Status;
@@ -152,12 +150,12 @@ InstallAllStructures (
     // Log the SMBIOS data for this structure
     //
     SmbiosHandle = SmbiosTable.Hdr->Handle;
-    Status = Smbios->Add (
-                       Smbios,
-                       NULL,
-                       &SmbiosHandle,
-                       (EFI_SMBIOS_TABLE_HEADER*) SmbiosTable.Raw
-                       );
+    Status       = Smbios->Add (
+                             Smbios,
+                             NULL,
+                             &SmbiosHandle,
+                             (EFI_SMBIOS_TABLE_HEADER *)SmbiosTable.Raw
+                             );
     ASSERT_EFI_ERROR (Status);
 
     if (SmbiosTable.Hdr->Type == 0) {
@@ -175,19 +173,18 @@ InstallAllStructures (
     // Add OVMF default Type 0 (BIOS Information) table
     //
     SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
-    Status = Smbios->Add (
-                       Smbios,
-                       NULL,
-                       &SmbiosHandle,
-                       (EFI_SMBIOS_TABLE_HEADER*) &mOvmfDefaultType0
-                       );
+    Status       = Smbios->Add (
+                             Smbios,
+                             NULL,
+                             &SmbiosHandle,
+                             (EFI_SMBIOS_TABLE_HEADER *)&mOvmfDefaultType0
+                             );
     ASSERT_EFI_ERROR (Status);
   }
 
   return EFI_SUCCESS;
 }
 
-
 /**
   Installs SMBIOS information for OVMF
 
@@ -201,8 +198,8 @@ InstallAllStructures (
 EFI_STATUS
 EFIAPI
 SmbiosTablePublishEntry (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
   EFI_STATUS                Status;
@@ -216,7 +213,7 @@ SmbiosTablePublishEntry (
   Status = gBS->LocateProtocol (
                   &gEfiSmbiosProtocolGuid,
                   NULL,
-                  (VOID**)&Smbios
+                  (VOID **)&Smbios
                   );
   if (EFI_ERROR (Status)) {
     return Status;
@@ -227,7 +224,7 @@ SmbiosTablePublishEntry (
   //
   EntryPointStructure = GetBhyveSmbiosTables ();
   if (EntryPointStructure != NULL) {
-    SmbiosTables = (UINT8*)(UINTN)EntryPointStructure->TableAddress;
+    SmbiosTables = (UINT8 *)(UINTN)EntryPointStructure->TableAddress;
   }
 
   if (SmbiosTables != NULL) {

+ 0 - 2
OvmfPkg/Bhyve/SmbiosPlatformDxe/SmbiosPlatformDxe.h

@@ -21,7 +21,6 @@
 #include <Library/MemoryAllocationLib.h>
 #include <Library/UefiBootServicesTableLib.h>
 
-
 /**
   Locates the bhyve SMBIOS data if it exists
 
@@ -33,7 +32,6 @@ GetBhyveSmbiosTables (
   VOID
   );
 
-
 /**
   Validates the SMBIOS entry point structure
 

+ 36 - 31
OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.c

@@ -19,10 +19,10 @@
 
 #pragma pack (1)
 typedef struct {
-  UINT8   Type;
-  UINT8   Size;
-  UINT16  MachineType;
-  UINT32  EntryPoint;
+  UINT8     Type;
+  UINT8     Size;
+  UINT16    MachineType;
+  UINT32    EntryPoint;
 } PE_COMPAT_TYPE1;
 #pragma pack ()
 
@@ -30,9 +30,9 @@ STATIC
 BOOLEAN
 EFIAPI
 IsImageSupported (
-  IN  EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL    *This,
-  IN  UINT16                                  ImageType,
-  IN  EFI_DEVICE_PATH_PROTOCOL                *DevicePath   OPTIONAL
+  IN  EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL  *This,
+  IN  UINT16                                ImageType,
+  IN  EFI_DEVICE_PATH_PROTOCOL              *DevicePath   OPTIONAL
   )
 {
   return ImageType == EFI_IMAGE_SUBSYSTEM_EFI_APPLICATION;
@@ -42,16 +42,16 @@ STATIC
 EFI_IMAGE_ENTRY_POINT
 EFIAPI
 GetCompatEntryPoint (
-  IN  EFI_PHYSICAL_ADDRESS              ImageBase
+  IN  EFI_PHYSICAL_ADDRESS  ImageBase
   )
 {
-  EFI_IMAGE_DOS_HEADER                  *DosHdr;
-  UINTN                                 PeCoffHeaderOffset;
-  EFI_IMAGE_NT_HEADERS32                *Pe32;
-  EFI_IMAGE_SECTION_HEADER              *Section;
-  UINTN                                 NumberOfSections;
-  PE_COMPAT_TYPE1                       *PeCompat;
-  UINTN                                 PeCompatEnd;
+  EFI_IMAGE_DOS_HEADER      *DosHdr;
+  UINTN                     PeCoffHeaderOffset;
+  EFI_IMAGE_NT_HEADERS32    *Pe32;
+  EFI_IMAGE_SECTION_HEADER  *Section;
+  UINTN                     NumberOfSections;
+  PE_COMPAT_TYPE1           *PeCompat;
+  UINTN                     PeCompatEnd;
 
   DosHdr = (EFI_IMAGE_DOS_HEADER *)(UINTN)ImageBase;
   if (DosHdr->e_magic != EFI_IMAGE_DOS_SIGNATURE) {
@@ -59,7 +59,7 @@ GetCompatEntryPoint (
   }
 
   PeCoffHeaderOffset = DosHdr->e_lfanew;
-  Pe32 = (EFI_IMAGE_NT_HEADERS32 *)((UINTN)ImageBase + PeCoffHeaderOffset);
+  Pe32               = (EFI_IMAGE_NT_HEADERS32 *)((UINTN)ImageBase + PeCoffHeaderOffset);
 
   Section = (EFI_IMAGE_SECTION_HEADER *)((UINTN)&Pe32->OptionalHeader +
                                          Pe32->FileHeader.SizeOfOptionalHeader);
@@ -70,22 +70,25 @@ GetCompatEntryPoint (
       //
       // Dereference the section contents to find the mixed mode entry point
       //
-      PeCompat = (PE_COMPAT_TYPE1 *)((UINTN)ImageBase + Section->VirtualAddress);
+      PeCompat    = (PE_COMPAT_TYPE1 *)((UINTN)ImageBase + Section->VirtualAddress);
       PeCompatEnd = (UINTN)(VOID *)PeCompat + Section->Misc.VirtualSize;
 
       while (PeCompat->Type != 0 && (UINTN)(VOID *)PeCompat < PeCompatEnd) {
-        if (PeCompat->Type == 1 &&
-            PeCompat->Size >= sizeof (PE_COMPAT_TYPE1) &&
-            EFI_IMAGE_MACHINE_TYPE_SUPPORTED (PeCompat->MachineType)) {
-
+        if ((PeCompat->Type == 1) &&
+            (PeCompat->Size >= sizeof (PE_COMPAT_TYPE1)) &&
+            EFI_IMAGE_MACHINE_TYPE_SUPPORTED (PeCompat->MachineType))
+        {
           return (EFI_IMAGE_ENTRY_POINT)((UINTN)ImageBase + PeCompat->EntryPoint);
         }
+
         PeCompat = (PE_COMPAT_TYPE1 *)((UINTN)PeCompat + PeCompat->Size);
         ASSERT ((UINTN)(VOID *)PeCompat < PeCompatEnd);
       }
     }
+
     Section++;
   }
+
   return NULL;
 }
 
@@ -93,13 +96,13 @@ STATIC
 EFI_STATUS
 EFIAPI
 RegisterImage (
-  IN      EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL    *This,
-  IN      EFI_PHYSICAL_ADDRESS                    ImageBase,
-  IN      UINT64                                  ImageSize,
-  IN  OUT EFI_IMAGE_ENTRY_POINT                   *EntryPoint
+  IN      EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL  *This,
+  IN      EFI_PHYSICAL_ADDRESS                  ImageBase,
+  IN      UINT64                                ImageSize,
+  IN  OUT EFI_IMAGE_ENTRY_POINT                 *EntryPoint
   )
 {
-  EFI_IMAGE_ENTRY_POINT                           CompatEntryPoint;
+  EFI_IMAGE_ENTRY_POINT  CompatEntryPoint;
 
   CompatEntryPoint = GetCompatEntryPoint (ImageBase);
   if (CompatEntryPoint == NULL) {
@@ -114,14 +117,14 @@ STATIC
 EFI_STATUS
 EFIAPI
 UnregisterImage (
-  IN  EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL    *This,
-  IN  EFI_PHYSICAL_ADDRESS                    ImageBase
+  IN  EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL  *This,
+  IN  EFI_PHYSICAL_ADDRESS                  ImageBase
   )
 {
   return EFI_SUCCESS;
 }
 
-STATIC EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL mCompatLoaderPeCoffEmuProtocol = {
+STATIC EDKII_PECOFF_IMAGE_EMULATOR_PROTOCOL  mCompatLoaderPeCoffEmuProtocol = {
   IsImageSupported,
   RegisterImage,
   UnregisterImage,
@@ -136,8 +139,10 @@ CompatImageLoaderDxeEntryPoint (
   IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  return gBS->InstallProtocolInterface (&ImageHandle,
+  return gBS->InstallProtocolInterface (
+                &ImageHandle,
                 &gEdkiiPeCoffImageEmulatorProtocolGuid,
                 EFI_NATIVE_INTERFACE,
-                &mCompatLoaderPeCoffEmuProtocol);
+                &mCompatLoaderPeCoffEmuProtocol
+                );
 }

+ 1 - 1
OvmfPkg/CpuHotplugSmm/ApicId.h

@@ -18,6 +18,6 @@ typedef UINT32 APIC_ID;
 //
 // The PrintLib conversion specification for formatting an APIC_ID.
 //
-#define FMT_APIC_ID "0x%08x"
+#define FMT_APIC_ID  "0x%08x"
 
 #endif // APIC_ID_H_

+ 208 - 105
OvmfPkg/CpuHotplugSmm/CpuHotplug.c

@@ -28,19 +28,19 @@
 //
 // We use this protocol for accessing IO Ports.
 //
-STATIC EFI_MM_CPU_IO_PROTOCOL *mMmCpuIo;
+STATIC EFI_MM_CPU_IO_PROTOCOL  *mMmCpuIo;
 //
 // The following protocol is used to report the addition or removal of a CPU to
 // the SMM CPU driver (PiSmmCpuDxeSmm).
 //
-STATIC EFI_SMM_CPU_SERVICE_PROTOCOL *mMmCpuService;
+STATIC EFI_SMM_CPU_SERVICE_PROTOCOL  *mMmCpuService;
 //
 // These structures serve as communication side-channels between the
 // EFI_SMM_CPU_SERVICE_PROTOCOL consumer (i.e., this driver) and provider
 // (i.e., PiSmmCpuDxeSmm).
 //
-STATIC CPU_HOT_PLUG_DATA *mCpuHotPlugData;
-STATIC CPU_HOT_EJECT_DATA *mCpuHotEjectData;
+STATIC CPU_HOT_PLUG_DATA   *mCpuHotPlugData;
+STATIC CPU_HOT_EJECT_DATA  *mCpuHotEjectData;
 //
 // SMRAM arrays for fetching the APIC IDs of processors with pending events (of
 // known event types), for the time of just one MMI.
@@ -56,18 +56,18 @@ STATIC CPU_HOT_EJECT_DATA *mCpuHotEjectData;
 // in a single MMI. The numbers of used (populated) elements in the arrays are
 // determined on every MMI separately.
 //
-STATIC APIC_ID *mPluggedApicIds;
-STATIC APIC_ID *mToUnplugApicIds;
-STATIC UINT32  *mToUnplugSelectors;
+STATIC APIC_ID  *mPluggedApicIds;
+STATIC APIC_ID  *mToUnplugApicIds;
+STATIC UINT32   *mToUnplugSelectors;
 //
 // Address of the non-SMRAM reserved memory page that contains the Post-SMM Pen
 // for hot-added CPUs.
 //
-STATIC UINT32 mPostSmmPenAddress;
+STATIC UINT32  mPostSmmPenAddress;
 //
 // Represents the registration of the CPU Hotplug MMI handler.
 //
-STATIC EFI_HANDLE mDispatchHandle;
+STATIC EFI_HANDLE  mDispatchHandle;
 
 /**
   Process CPUs that have been hot-added, per QemuCpuhpCollectApicIds().
@@ -93,13 +93,13 @@ STATIC EFI_HANDLE mDispatchHandle;
 STATIC
 EFI_STATUS
 ProcessHotAddedCpus (
-  IN APIC_ID                      *PluggedApicIds,
-  IN UINT32                       PluggedCount
+  IN APIC_ID  *PluggedApicIds,
+  IN UINT32   PluggedCount
   )
 {
-  EFI_STATUS Status;
-  UINT32     PluggedIdx;
-  UINT32     NewSlot;
+  EFI_STATUS  Status;
+  UINT32      PluggedIdx;
+  UINT32      NewSlot;
 
   //
   // The Post-SMM Pen need not be reinstalled multiple times within a single
@@ -110,11 +110,11 @@ ProcessHotAddedCpus (
   SmbaseReinstallPostSmmPen (mPostSmmPenAddress);
 
   PluggedIdx = 0;
-  NewSlot = 0;
+  NewSlot    = 0;
   while (PluggedIdx < PluggedCount) {
-    APIC_ID NewApicId;
-    UINT32  CheckSlot;
-    UINTN   NewProcessorNumberByProtocol;
+    APIC_ID  NewApicId;
+    UINT32   CheckSlot;
+    UINTN    NewProcessorNumberByProtocol;
 
     NewApicId = PluggedApicIds[PluggedIdx];
 
@@ -123,14 +123,21 @@ ProcessHotAddedCpus (
     //
     for (CheckSlot = 0;
          CheckSlot < mCpuHotPlugData->ArrayLength;
-         CheckSlot++) {
+         CheckSlot++)
+    {
       if (mCpuHotPlugData->ApicId[CheckSlot] == NewApicId) {
         break;
       }
     }
+
     if (CheckSlot < mCpuHotPlugData->ArrayLength) {
-      DEBUG ((DEBUG_VERBOSE, "%a: APIC ID " FMT_APIC_ID " was hot-plugged "
-        "before; ignoring it\n", __FUNCTION__, NewApicId));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: APIC ID " FMT_APIC_ID " was hot-plugged "
+                                   "before; ignoring it\n",
+        __FUNCTION__,
+        NewApicId
+        ));
       PluggedIdx++;
       continue;
     }
@@ -139,12 +146,18 @@ ProcessHotAddedCpus (
     // Find the first empty slot in CPU_HOT_PLUG_DATA.
     //
     while (NewSlot < mCpuHotPlugData->ArrayLength &&
-           mCpuHotPlugData->ApicId[NewSlot] != MAX_UINT64) {
+           mCpuHotPlugData->ApicId[NewSlot] != MAX_UINT64)
+    {
       NewSlot++;
     }
+
     if (NewSlot == mCpuHotPlugData->ArrayLength) {
-      DEBUG ((DEBUG_ERROR, "%a: no room for APIC ID " FMT_APIC_ID "\n",
-        __FUNCTION__, NewApicId));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: no room for APIC ID " FMT_APIC_ID "\n",
+        __FUNCTION__,
+        NewApicId
+        ));
       return EFI_OUT_OF_RESOURCES;
     }
 
@@ -156,8 +169,11 @@ ProcessHotAddedCpus (
     //
     // Relocate the SMBASE of the new CPU.
     //
-    Status = SmbaseRelocate (NewApicId, mCpuHotPlugData->SmBase[NewSlot],
-               mPostSmmPenAddress);
+    Status = SmbaseRelocate (
+               NewApicId,
+               mCpuHotPlugData->SmBase[NewSlot],
+               mPostSmmPenAddress
+               );
     if (EFI_ERROR (Status)) {
       goto RevokeNewSlot;
     }
@@ -165,18 +181,31 @@ ProcessHotAddedCpus (
     //
     // Add the new CPU with EFI_SMM_CPU_SERVICE_PROTOCOL.
     //
-    Status = mMmCpuService->AddProcessor (mMmCpuService, NewApicId,
-                              &NewProcessorNumberByProtocol);
+    Status = mMmCpuService->AddProcessor (
+                              mMmCpuService,
+                              NewApicId,
+                              &NewProcessorNumberByProtocol
+                              );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: AddProcessor(" FMT_APIC_ID "): %r\n",
-        __FUNCTION__, NewApicId, Status));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: AddProcessor(" FMT_APIC_ID "): %r\n",
+        __FUNCTION__,
+        NewApicId,
+        Status
+        ));
       goto RevokeNewSlot;
     }
 
-    DEBUG ((DEBUG_INFO, "%a: hot-added APIC ID " FMT_APIC_ID ", SMBASE 0x%Lx, "
-      "EFI_SMM_CPU_SERVICE_PROTOCOL assigned number %Lu\n", __FUNCTION__,
-      NewApicId, (UINT64)mCpuHotPlugData->SmBase[NewSlot],
-      (UINT64)NewProcessorNumberByProtocol));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: hot-added APIC ID " FMT_APIC_ID ", SMBASE 0x%Lx, "
+                                           "EFI_SMM_CPU_SERVICE_PROTOCOL assigned number %Lu\n",
+      __FUNCTION__,
+      NewApicId,
+      (UINT64)mCpuHotPlugData->SmBase[NewSlot],
+      (UINT64)NewProcessorNumberByProtocol
+      ));
 
     NewSlot++;
     PluggedIdx++;
@@ -210,11 +239,11 @@ CheckIfBsp (
   VOID
   )
 {
-  MSR_IA32_APIC_BASE_REGISTER ApicBaseMsr;
-  BOOLEAN                     IsBsp;
+  MSR_IA32_APIC_BASE_REGISTER  ApicBaseMsr;
+  BOOLEAN                      IsBsp;
 
   ApicBaseMsr.Uint64 = AsmReadMsr64 (MSR_IA32_APIC_BASE);
-  IsBsp = (BOOLEAN)(ApicBaseMsr.Bits.BSP == 1);
+  IsBsp              = (BOOLEAN)(ApicBaseMsr.Bits.BSP == 1);
   return IsBsp;
 }
 
@@ -238,13 +267,13 @@ CheckIfBsp (
 VOID
 EFIAPI
 EjectCpu (
-  IN UINTN ProcessorNum
+  IN UINTN  ProcessorNum
   )
 {
-  UINT64 QemuSelector;
+  UINT64  QemuSelector;
 
   if (CheckIfBsp ()) {
-    UINT32 Idx;
+    UINT32  Idx;
 
     for (Idx = 0; Idx < mCpuHotEjectData->ArrayLength; Idx++) {
       QemuSelector = mCpuHotEjectData->QemuSelectorMap[Idx];
@@ -258,7 +287,7 @@ EjectCpu (
         //
         // Tell QEMU to context-switch it out.
         //
-        QemuCpuhpWriteCpuSelector (mMmCpuIo, (UINT32) QemuSelector);
+        QemuCpuhpWriteCpuSelector (mMmCpuIo, (UINT32)QemuSelector);
         QemuCpuhpWriteCpuStatus (mMmCpuIo, QEMU_CPUHP_STAT_EJECT);
 
         //
@@ -277,8 +306,14 @@ EjectCpu (
         mCpuHotEjectData->QemuSelectorMap[Idx] =
           CPU_EJECT_QEMU_SELECTOR_INVALID;
 
-        DEBUG ((DEBUG_INFO, "%a: Unplugged ProcessorNum %u, "
-          "QemuSelector %Lu\n", __FUNCTION__, Idx, QemuSelector));
+        DEBUG ((
+          DEBUG_INFO,
+          "%a: Unplugged ProcessorNum %u, "
+          "QemuSelector %Lu\n",
+          __FUNCTION__,
+          Idx,
+          QemuSelector
+          ));
       }
     }
 
@@ -330,7 +365,7 @@ EjectCpu (
   //
   // Keep them penned here until the BSP tells QEMU to eject them.
   //
-  for (;;) {
+  for ( ; ;) {
     DisableInterrupts ();
     CpuSleep ();
   }
@@ -371,21 +406,21 @@ EjectCpu (
 STATIC
 EFI_STATUS
 UnplugCpus (
-  IN APIC_ID                      *ToUnplugApicIds,
-  IN UINT32                       *ToUnplugSelectors,
-  IN UINT32                       ToUnplugCount
+  IN APIC_ID  *ToUnplugApicIds,
+  IN UINT32   *ToUnplugSelectors,
+  IN UINT32   ToUnplugCount
   )
 {
-  EFI_STATUS Status;
-  UINT32     ToUnplugIdx;
-  UINT32     EjectCount;
-  UINTN      ProcessorNum;
+  EFI_STATUS  Status;
+  UINT32      ToUnplugIdx;
+  UINT32      EjectCount;
+  UINTN       ProcessorNum;
 
   ToUnplugIdx = 0;
-  EjectCount = 0;
+  EjectCount  = 0;
   while (ToUnplugIdx < ToUnplugCount) {
-    APIC_ID    RemoveApicId;
-    UINT32     QemuSelector;
+    APIC_ID  RemoveApicId;
+    UINT32   QemuSelector;
 
     RemoveApicId = ToUnplugApicIds[ToUnplugIdx];
     QemuSelector = ToUnplugSelectors[ToUnplugIdx];
@@ -404,7 +439,8 @@ UnplugCpus (
 
     for (ProcessorNum = 0;
          ProcessorNum < mCpuHotPlugData->ArrayLength;
-         ProcessorNum++) {
+         ProcessorNum++)
+    {
       if (mCpuHotPlugData->ApicId[ProcessorNum] == RemoveApicId) {
         break;
       }
@@ -414,8 +450,13 @@ UnplugCpus (
     // Ignore the unplug if APIC ID not found
     //
     if (ProcessorNum == mCpuHotPlugData->ArrayLength) {
-      DEBUG ((DEBUG_VERBOSE, "%a: did not find APIC ID " FMT_APIC_ID
-        " to unplug\n", __FUNCTION__, RemoveApicId));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: did not find APIC ID " FMT_APIC_ID
+        " to unplug\n",
+        __FUNCTION__,
+        RemoveApicId
+        ));
       ToUnplugIdx++;
       continue;
     }
@@ -425,13 +466,19 @@ UnplugCpus (
     //
     Status = mMmCpuService->RemoveProcessor (mMmCpuService, ProcessorNum);
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: RemoveProcessor(" FMT_APIC_ID "): %r\n",
-        __FUNCTION__, RemoveApicId, Status));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: RemoveProcessor(" FMT_APIC_ID "): %r\n",
+        __FUNCTION__,
+        RemoveApicId,
+        Status
+        ));
       return Status;
     }
 
     if (mCpuHotEjectData->QemuSelectorMap[ProcessorNum] !=
-        CPU_EJECT_QEMU_SELECTOR_INVALID) {
+        CPU_EJECT_QEMU_SELECTOR_INVALID)
+    {
       //
       // mCpuHotEjectData->QemuSelectorMap[ProcessorNum] is set to
       // CPU_EJECT_QEMU_SELECTOR_INVALID when mCpuHotEjectData->QemuSelectorMap
@@ -442,9 +489,15 @@ UnplugCpus (
       // never match more than one APIC ID -- nor, by transitivity, designate
       // more than one QemuSelector -- in a single invocation of UnplugCpus().
       //
-      DEBUG ((DEBUG_ERROR, "%a: ProcessorNum %Lu maps to QemuSelector %Lu, "
-        "cannot also map to %u\n", __FUNCTION__, (UINT64)ProcessorNum,
-        mCpuHotEjectData->QemuSelectorMap[ProcessorNum], QemuSelector));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: ProcessorNum %Lu maps to QemuSelector %Lu, "
+        "cannot also map to %u\n",
+        __FUNCTION__,
+        (UINT64)ProcessorNum,
+        mCpuHotEjectData->QemuSelectorMap[ProcessorNum],
+        QemuSelector
+        ));
 
       return EFI_ALREADY_STARTED;
     }
@@ -454,9 +507,15 @@ UnplugCpus (
     //
     mCpuHotEjectData->QemuSelectorMap[ProcessorNum] = (UINT64)QemuSelector;
 
-    DEBUG ((DEBUG_INFO, "%a: Started hot-unplug on ProcessorNum %Lu, APIC ID "
-      FMT_APIC_ID ", QemuSelector %u\n", __FUNCTION__, (UINT64)ProcessorNum,
-      RemoveApicId, QemuSelector));
+    DEBUG ((
+      DEBUG_INFO,
+      "%a: Started hot-unplug on ProcessorNum %Lu, APIC ID "
+      FMT_APIC_ID ", QemuSelector %u\n",
+      __FUNCTION__,
+      (UINT64)ProcessorNum,
+      RemoveApicId,
+      QemuSelector
+      ));
 
     EjectCount++;
     ToUnplugIdx++;
@@ -539,16 +598,16 @@ STATIC
 EFI_STATUS
 EFIAPI
 CpuHotplugMmi (
-  IN EFI_HANDLE DispatchHandle,
-  IN CONST VOID *Context        OPTIONAL,
-  IN OUT VOID   *CommBuffer     OPTIONAL,
-  IN OUT UINTN  *CommBufferSize OPTIONAL
+  IN EFI_HANDLE  DispatchHandle,
+  IN CONST VOID  *Context        OPTIONAL,
+  IN OUT VOID    *CommBuffer     OPTIONAL,
+  IN OUT UINTN   *CommBufferSize OPTIONAL
   )
 {
-  EFI_STATUS Status;
-  UINT8      ApmControl;
-  UINT32     PluggedCount;
-  UINT32     ToUnplugCount;
+  EFI_STATUS  Status;
+  UINT8       ApmControl;
+  UINT32      PluggedCount;
+  UINT32      ToUnplugCount;
 
   //
   // Assert that we are entering this function due to our root MMI handler
@@ -565,11 +624,20 @@ CpuHotplugMmi (
   // Read the MMI command value from the APM Control Port, to see if this is an
   // MMI we should care about.
   //
-  Status = mMmCpuIo->Io.Read (mMmCpuIo, MM_IO_UINT8, ICH9_APM_CNT, 1,
-                          &ApmControl);
+  Status = mMmCpuIo->Io.Read (
+                          mMmCpuIo,
+                          MM_IO_UINT8,
+                          ICH9_APM_CNT,
+                          1,
+                          &ApmControl
+                          );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: failed to read ICH9_APM_CNT: %r\n", __FUNCTION__,
-      Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: failed to read ICH9_APM_CNT: %r\n",
+      __FUNCTION__,
+      Status
+      ));
     //
     // We couldn't even determine if the MMI was for us or not.
     //
@@ -628,21 +696,20 @@ Fatal:
   return EFI_INTERRUPT_PENDING;
 }
 
-
 //
 // Entry point function of this driver.
 //
 EFI_STATUS
 EFIAPI
 CpuHotplugEntry (
-  IN EFI_HANDLE       ImageHandle,
-  IN EFI_SYSTEM_TABLE *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS Status;
-  UINTN      Len;
-  UINTN      Size;
-  UINTN      SizeSel;
+  EFI_STATUS  Status;
+  UINTN       Len;
+  UINTN       Size;
+  UINTN       SizeSel;
 
   //
   // This module should only be included when SMM support is required.
@@ -663,17 +730,28 @@ CpuHotplugEntry (
   // First, collect the protocols needed later. All of these protocols are
   // listed in our module DEPEX.
   //
-  Status = gMmst->MmLocateProtocol (&gEfiMmCpuIoProtocolGuid,
-                    NULL /* Registration */, (VOID **)&mMmCpuIo);
+  Status = gMmst->MmLocateProtocol (
+                    &gEfiMmCpuIoProtocolGuid,
+                    NULL /* Registration */,
+                    (VOID **)&mMmCpuIo
+                    );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: locate MmCpuIo: %r\n", __FUNCTION__, Status));
     goto Fatal;
   }
-  Status = gMmst->MmLocateProtocol (&gEfiSmmCpuServiceProtocolGuid,
-                    NULL /* Registration */, (VOID **)&mMmCpuService);
+
+  Status = gMmst->MmLocateProtocol (
+                    &gEfiSmmCpuServiceProtocolGuid,
+                    NULL /* Registration */,
+                    (VOID **)&mMmCpuService
+                    );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: locate MmCpuService: %r\n", __FUNCTION__,
-      Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: locate MmCpuService: %r\n",
+      __FUNCTION__,
+      Status
+      ));
     goto Fatal;
   }
 
@@ -684,7 +762,7 @@ CpuHotplugEntry (
   // - PcdCpuHotEjectDataAddress to CPU_HOT_EJECT_DATA in SMRAM, if the
   //   possible CPU count is greater than 1.
   //
-  mCpuHotPlugData = (VOID *)(UINTN)PcdGet64 (PcdCpuHotPlugDataAddress);
+  mCpuHotPlugData  = (VOID *)(UINTN)PcdGet64 (PcdCpuHotPlugDataAddress);
   mCpuHotEjectData = (VOID *)(UINTN)PcdGet64 (PcdCpuHotEjectDataAddress);
 
   if (mCpuHotPlugData == NULL) {
@@ -692,6 +770,7 @@ CpuHotplugEntry (
     DEBUG ((DEBUG_ERROR, "%a: CPU_HOT_PLUG_DATA: %r\n", __FUNCTION__, Status));
     goto Fatal;
   }
+
   //
   // If the possible CPU count is 1, there's nothing for this driver to do.
   //
@@ -706,6 +785,7 @@ CpuHotplugEntry (
   } else {
     Status = EFI_SUCCESS;
   }
+
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: CPU_HOT_EJECT_DATA: %r\n", __FUNCTION__, Status));
     goto Fatal;
@@ -716,25 +796,38 @@ CpuHotplugEntry (
   //
   if (RETURN_ERROR (SafeUintnSub (mCpuHotPlugData->ArrayLength, 1, &Len)) ||
       RETURN_ERROR (SafeUintnMult (sizeof (APIC_ID), Len, &Size)) ||
-      RETURN_ERROR (SafeUintnMult (sizeof (UINT32), Len, &SizeSel))) {
+      RETURN_ERROR (SafeUintnMult (sizeof (UINT32), Len, &SizeSel)))
+  {
     Status = EFI_ABORTED;
     DEBUG ((DEBUG_ERROR, "%a: invalid CPU_HOT_PLUG_DATA\n", __FUNCTION__));
     goto Fatal;
   }
-  Status = gMmst->MmAllocatePool (EfiRuntimeServicesData, Size,
-                    (VOID **)&mPluggedApicIds);
+
+  Status = gMmst->MmAllocatePool (
+                    EfiRuntimeServicesData,
+                    Size,
+                    (VOID **)&mPluggedApicIds
+                    );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: MmAllocatePool(): %r\n", __FUNCTION__, Status));
     goto Fatal;
   }
-  Status = gMmst->MmAllocatePool (EfiRuntimeServicesData, Size,
-                    (VOID **)&mToUnplugApicIds);
+
+  Status = gMmst->MmAllocatePool (
+                    EfiRuntimeServicesData,
+                    Size,
+                    (VOID **)&mToUnplugApicIds
+                    );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: MmAllocatePool(): %r\n", __FUNCTION__, Status));
     goto ReleasePluggedApicIds;
   }
-  Status = gMmst->MmAllocatePool (EfiRuntimeServicesData, SizeSel,
-                    (VOID **)&mToUnplugSelectors);
+
+  Status = gMmst->MmAllocatePool (
+                    EfiRuntimeServicesData,
+                    SizeSel,
+                    (VOID **)&mToUnplugSelectors
+                    );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: MmAllocatePool(): %r\n", __FUNCTION__, Status));
     goto ReleaseToUnplugApicIds;
@@ -743,8 +836,10 @@ CpuHotplugEntry (
   //
   // Allocate the Post-SMM Pen for hot-added CPUs.
   //
-  Status = SmbaseAllocatePostSmmPen (&mPostSmmPenAddress,
-             SystemTable->BootServices);
+  Status = SmbaseAllocatePostSmmPen (
+             &mPostSmmPenAddress,
+             SystemTable->BootServices
+             );
   if (EFI_ERROR (Status)) {
     goto ReleaseToUnplugSelectors;
   }
@@ -776,8 +871,12 @@ CpuHotplugEntry (
   QemuCpuhpWriteCommand (mMmCpuIo, QEMU_CPUHP_CMD_GET_PENDING);
   if (QemuCpuhpReadCommandData2 (mMmCpuIo) != 0) {
     Status = EFI_NOT_FOUND;
-    DEBUG ((DEBUG_ERROR, "%a: modern CPU hotplug interface: %r\n",
-      __FUNCTION__, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: modern CPU hotplug interface: %r\n",
+      __FUNCTION__,
+      Status
+      ));
     goto ReleasePostSmmPen;
   }
 
@@ -790,8 +889,12 @@ CpuHotplugEntry (
                     &mDispatchHandle
                     );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: MmiHandlerRegister(): %r\n", __FUNCTION__,
-      Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: MmiHandlerRegister(): %r\n",
+      __FUNCTION__,
+      Status
+      ));
     goto ReleasePostSmmPen;
   }
 

+ 3 - 3
OvmfPkg/CpuHotplugSmm/FirstSmiHandlerContext.h

@@ -29,18 +29,18 @@ typedef struct {
   // This field is intentionally wider than APIC_ID (UINT32) because we need a
   // "gate locked" value that is different from all possible APIC_IDs.
   //
-  UINT64 ApicIdGate;
+  UINT64    ApicIdGate;
   //
   // The new SMBASE value for the hot-added CPU to set in the SMRAM Save State
   // Map, before leaving SMM with the RSM instruction.
   //
-  UINT32 NewSmbase;
+  UINT32    NewSmbase;
   //
   // The hot-added CPU sets this field to 1 right before executing the RSM
   // instruction. This tells the SMM Monarch to proceed to polling the last
   // byte of the normal RAM reserved page (Post-SMM Pen).
   //
-  UINT8 AboutToLeaveSmm;
+  UINT8     AboutToLeaveSmm;
 } FIRST_SMI_HANDLER_CONTEXT;
 #pragma pack ()
 

+ 127 - 78
OvmfPkg/CpuHotplugSmm/QemuCpuhp.c

@@ -21,83 +21,86 @@
 
 UINT32
 QemuCpuhpReadCommandData2 (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   )
 {
-  UINT32     CommandData2;
-  EFI_STATUS Status;
+  UINT32      CommandData2;
+  EFI_STATUS  Status;
 
   CommandData2 = 0;
-  Status = MmCpuIo->Io.Read (
-                         MmCpuIo,
-                         MM_IO_UINT32,
-                         ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_R_CMD_DATA2,
-                         1,
-                         &CommandData2
-                         );
+  Status       = MmCpuIo->Io.Read (
+                               MmCpuIo,
+                               MM_IO_UINT32,
+                               ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_R_CMD_DATA2,
+                               1,
+                               &CommandData2
+                               );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: %r\n", __FUNCTION__, Status));
     ASSERT (FALSE);
     CpuDeadLoop ();
   }
+
   return CommandData2;
 }
 
 UINT8
 QemuCpuhpReadCpuStatus (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   )
 {
-  UINT8      CpuStatus;
-  EFI_STATUS Status;
+  UINT8       CpuStatus;
+  EFI_STATUS  Status;
 
   CpuStatus = 0;
-  Status = MmCpuIo->Io.Read (
-                         MmCpuIo,
-                         MM_IO_UINT8,
-                         ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_R_CPU_STAT,
-                         1,
-                         &CpuStatus
-                         );
+  Status    = MmCpuIo->Io.Read (
+                            MmCpuIo,
+                            MM_IO_UINT8,
+                            ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_R_CPU_STAT,
+                            1,
+                            &CpuStatus
+                            );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: %r\n", __FUNCTION__, Status));
     ASSERT (FALSE);
     CpuDeadLoop ();
   }
+
   return CpuStatus;
 }
 
 UINT32
 QemuCpuhpReadCommandData (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   )
 {
-  UINT32     CommandData;
-  EFI_STATUS Status;
+  UINT32      CommandData;
+  EFI_STATUS  Status;
 
   CommandData = 0;
-  Status = MmCpuIo->Io.Read (
-                         MmCpuIo,
-                         MM_IO_UINT32,
-                         ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_RW_CMD_DATA,
-                         1,
-                         &CommandData
-                         );
+  Status      = MmCpuIo->Io.Read (
+                              MmCpuIo,
+                              MM_IO_UINT32,
+                              ICH9_CPU_HOTPLUG_BASE + QEMU_CPUHP_RW_CMD_DATA,
+                              1,
+                              &CommandData
+                              );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: %r\n", __FUNCTION__, Status));
     ASSERT (FALSE);
     CpuDeadLoop ();
   }
+
   return CommandData;
 }
 
 VOID
 QemuCpuhpWriteCpuSelector (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT32                       Selector
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT32                        Selector
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
   Status = MmCpuIo->Io.Write (
                          MmCpuIo,
@@ -115,11 +118,11 @@ QemuCpuhpWriteCpuSelector (
 
 VOID
 QemuCpuhpWriteCpuStatus (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT8                        CpuStatus
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT8                         CpuStatus
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
   Status = MmCpuIo->Io.Write (
                          MmCpuIo,
@@ -137,11 +140,11 @@ QemuCpuhpWriteCpuStatus (
 
 VOID
 QemuCpuhpWriteCommand (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT8                        Command
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT8                         Command
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
   Status = MmCpuIo->Io.Write (
                          MmCpuIo,
@@ -206,33 +209,33 @@ QemuCpuhpWriteCommand (
 **/
 EFI_STATUS
 QemuCpuhpCollectApicIds (
-  IN  CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN  UINT32                       PossibleCpuCount,
-  IN  UINT32                       ApicIdCount,
-  OUT APIC_ID                      *PluggedApicIds,
-  OUT UINT32                       *PluggedCount,
-  OUT APIC_ID                      *ToUnplugApicIds,
-  OUT UINT32                       *ToUnplugSelectors,
-  OUT UINT32                       *ToUnplugCount
+  IN  CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN  UINT32                        PossibleCpuCount,
+  IN  UINT32                        ApicIdCount,
+  OUT APIC_ID                       *PluggedApicIds,
+  OUT UINT32                        *PluggedCount,
+  OUT APIC_ID                       *ToUnplugApicIds,
+  OUT UINT32                        *ToUnplugSelectors,
+  OUT UINT32                        *ToUnplugCount
   )
 {
-  UINT32 CurrentSelector;
+  UINT32  CurrentSelector;
 
-  if (PossibleCpuCount == 0 || ApicIdCount == 0) {
+  if ((PossibleCpuCount == 0) || (ApicIdCount == 0)) {
     return EFI_INVALID_PARAMETER;
   }
 
-  *PluggedCount = 0;
+  *PluggedCount  = 0;
   *ToUnplugCount = 0;
 
   CurrentSelector = 0;
   do {
-    UINT32  PendingSelector;
-    UINT8   CpuStatus;
-    APIC_ID *ExtendIds;
-    UINT32  *ExtendSels;
-    UINT32  *ExtendCount;
-    APIC_ID NewApicId;
+    UINT32   PendingSelector;
+    UINT8    CpuStatus;
+    APIC_ID  *ExtendIds;
+    UINT32   *ExtendSels;
+    UINT32   *ExtendCount;
+    APIC_ID  NewApicId;
 
     //
     // Write CurrentSelector (which is valid) to the CPU selector register.
@@ -259,10 +262,17 @@ QemuCpuhpCollectApicIds (
     QemuCpuhpWriteCommand (MmCpuIo, QEMU_CPUHP_CMD_GET_PENDING);
     PendingSelector = QemuCpuhpReadCommandData (MmCpuIo);
     if (PendingSelector < CurrentSelector) {
-      DEBUG ((DEBUG_VERBOSE, "%a: CurrentSelector=%u PendingSelector=%u: "
-        "wrap-around\n", __FUNCTION__, CurrentSelector, PendingSelector));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: CurrentSelector=%u PendingSelector=%u: "
+        "wrap-around\n",
+        __FUNCTION__,
+        CurrentSelector,
+        PendingSelector
+        ));
       break;
     }
+
     CurrentSelector = PendingSelector;
 
     //
@@ -274,16 +284,26 @@ QemuCpuhpCollectApicIds (
       // The "insert" event guarantees the "enabled" status; plus it excludes
       // the "fw_remove" event.
       //
-      if ((CpuStatus & QEMU_CPUHP_STAT_ENABLED) == 0 ||
-          (CpuStatus & QEMU_CPUHP_STAT_FW_REMOVE) != 0) {
-        DEBUG ((DEBUG_ERROR, "%a: CurrentSelector=%u CpuStatus=0x%x: "
-          "inconsistent CPU status\n", __FUNCTION__, CurrentSelector,
-          CpuStatus));
+      if (((CpuStatus & QEMU_CPUHP_STAT_ENABLED) == 0) ||
+          ((CpuStatus & QEMU_CPUHP_STAT_FW_REMOVE) != 0))
+      {
+        DEBUG ((
+          DEBUG_ERROR,
+          "%a: CurrentSelector=%u CpuStatus=0x%x: "
+          "inconsistent CPU status\n",
+          __FUNCTION__,
+          CurrentSelector,
+          CpuStatus
+          ));
         return EFI_PROTOCOL_ERROR;
       }
 
-      DEBUG ((DEBUG_VERBOSE, "%a: CurrentSelector=%u: insert\n", __FUNCTION__,
-        CurrentSelector));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: CurrentSelector=%u: insert\n",
+        __FUNCTION__,
+        CurrentSelector
+        ));
 
       ExtendIds   = PluggedApicIds;
       ExtendSels  = NULL;
@@ -293,14 +313,23 @@ QemuCpuhpCollectApicIds (
       // "fw_remove" event guarantees "enabled".
       //
       if ((CpuStatus & QEMU_CPUHP_STAT_ENABLED) == 0) {
-        DEBUG ((DEBUG_ERROR, "%a: CurrentSelector=%u CpuStatus=0x%x: "
-          "inconsistent CPU status\n", __FUNCTION__, CurrentSelector,
-          CpuStatus));
+        DEBUG ((
+          DEBUG_ERROR,
+          "%a: CurrentSelector=%u CpuStatus=0x%x: "
+          "inconsistent CPU status\n",
+          __FUNCTION__,
+          CurrentSelector,
+          CpuStatus
+          ));
         return EFI_PROTOCOL_ERROR;
       }
 
-      DEBUG ((DEBUG_VERBOSE, "%a: CurrentSelector=%u: fw_remove\n",
-        __FUNCTION__, CurrentSelector));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: CurrentSelector=%u: fw_remove\n",
+        __FUNCTION__,
+        CurrentSelector
+        ));
 
       ExtendIds   = ToUnplugApicIds;
       ExtendSels  = ToUnplugSelectors;
@@ -309,15 +338,23 @@ QemuCpuhpCollectApicIds (
       //
       // Let the OSPM deal with the "remove" event.
       //
-      DEBUG ((DEBUG_VERBOSE, "%a: CurrentSelector=%u: remove (ignored)\n",
-        __FUNCTION__, CurrentSelector));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: CurrentSelector=%u: remove (ignored)\n",
+        __FUNCTION__,
+        CurrentSelector
+        ));
 
       ExtendIds   = NULL;
       ExtendSels  = NULL;
       ExtendCount = NULL;
     } else {
-      DEBUG ((DEBUG_VERBOSE, "%a: CurrentSelector=%u: no event\n",
-        __FUNCTION__, CurrentSelector));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: CurrentSelector=%u: no event\n",
+        __FUNCTION__,
+        CurrentSelector
+        ));
       break;
     }
 
@@ -334,15 +371,22 @@ QemuCpuhpCollectApicIds (
         DEBUG ((DEBUG_ERROR, "%a: APIC ID array too small\n", __FUNCTION__));
         return EFI_BUFFER_TOO_SMALL;
       }
+
       QemuCpuhpWriteCommand (MmCpuIo, QEMU_CPUHP_CMD_GET_ARCH_ID);
       NewApicId = QemuCpuhpReadCommandData (MmCpuIo);
-      DEBUG ((DEBUG_VERBOSE, "%a: ApicId=" FMT_APIC_ID "\n", __FUNCTION__,
-        NewApicId));
+      DEBUG ((
+        DEBUG_VERBOSE,
+        "%a: ApicId=" FMT_APIC_ID "\n",
+        __FUNCTION__,
+        NewApicId
+        ));
       if (ExtendSels != NULL) {
         ExtendSels[(*ExtendCount)] = CurrentSelector;
       }
+
       ExtendIds[(*ExtendCount)++] = NewApicId;
     }
+
     //
     // We've processed the CPU with (known) pending events, but we must never
     // clear events. Therefore we need to advance past this CPU manually;
@@ -352,7 +396,12 @@ QemuCpuhpCollectApicIds (
     CurrentSelector++;
   } while (CurrentSelector < PossibleCpuCount);
 
-  DEBUG ((DEBUG_VERBOSE, "%a: PluggedCount=%u ToUnplugCount=%u\n",
-    __FUNCTION__, *PluggedCount, *ToUnplugCount));
+  DEBUG ((
+    DEBUG_VERBOSE,
+    "%a: PluggedCount=%u ToUnplugCount=%u\n",
+    __FUNCTION__,
+    *PluggedCount,
+    *ToUnplugCount
+    ));
   return EFI_SUCCESS;
 }

+ 17 - 17
OvmfPkg/CpuHotplugSmm/QemuCpuhp.h

@@ -22,47 +22,47 @@
 
 UINT32
 QemuCpuhpReadCommandData2 (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   );
 
 UINT8
 QemuCpuhpReadCpuStatus (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   );
 
 UINT32
 QemuCpuhpReadCommandData (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo
   );
 
 VOID
 QemuCpuhpWriteCpuSelector (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT32                       Selector
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT32                        Selector
   );
 
 VOID
 QemuCpuhpWriteCpuStatus (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT8                        CpuStatus
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT8                         CpuStatus
   );
 
 VOID
 QemuCpuhpWriteCommand (
-  IN CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN UINT8                        Command
+  IN CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN UINT8                         Command
   );
 
 EFI_STATUS
 QemuCpuhpCollectApicIds (
-  IN  CONST EFI_MM_CPU_IO_PROTOCOL *MmCpuIo,
-  IN  UINT32                       PossibleCpuCount,
-  IN  UINT32                       ApicIdCount,
-  OUT APIC_ID                      *PluggedApicIds,
-  OUT UINT32                       *PluggedCount,
-  OUT APIC_ID                      *ToUnplugApicIds,
-  OUT UINT32                       *ToUnplugSelectors,
-  OUT UINT32                       *ToUnplugCount
+  IN  CONST EFI_MM_CPU_IO_PROTOCOL  *MmCpuIo,
+  IN  UINT32                        PossibleCpuCount,
+  IN  UINT32                        ApicIdCount,
+  OUT APIC_ID                       *PluggedApicIds,
+  OUT UINT32                        *PluggedCount,
+  OUT APIC_ID                       *ToUnplugApicIds,
+  OUT UINT32                        *ToUnplugSelectors,
+  OUT UINT32                        *ToUnplugCount
   );
 
 #endif // QEMU_CPUHP_H_

+ 60 - 33
OvmfPkg/CpuHotplugSmm/Smbase.c

@@ -18,10 +18,10 @@
 
 #include "Smbase.h"
 
-extern CONST UINT8 mPostSmmPen[];
-extern CONST UINT16 mPostSmmPenSize;
-extern CONST UINT8 mFirstSmiHandler[];
-extern CONST UINT16 mFirstSmiHandlerSize;
+extern CONST UINT8   mPostSmmPen[];
+extern CONST UINT16  mPostSmmPenSize;
+extern CONST UINT8   mFirstSmiHandler[];
+extern CONST UINT16  mFirstSmiHandlerSize;
 
 /**
   Allocate a non-SMRAM reserved memory page for the Post-SMM Pen for hot-added
@@ -46,12 +46,12 @@ extern CONST UINT16 mFirstSmiHandlerSize;
 **/
 EFI_STATUS
 SmbaseAllocatePostSmmPen (
-  OUT UINT32                  *PenAddress,
-  IN  CONST EFI_BOOT_SERVICES *BootServices
+  OUT UINT32                   *PenAddress,
+  IN  CONST EFI_BOOT_SERVICES  *BootServices
   )
 {
-  EFI_STATUS           Status;
-  EFI_PHYSICAL_ADDRESS Address;
+  EFI_STATUS            Status;
+  EFI_PHYSICAL_ADDRESS  Address;
 
   //
   // The pen code must fit in one page, and the last byte must remain free for
@@ -59,14 +59,23 @@ SmbaseAllocatePostSmmPen (
   //
   if (mPostSmmPenSize >= EFI_PAGE_SIZE) {
     Status = EFI_BAD_BUFFER_SIZE;
-    DEBUG ((DEBUG_ERROR, "%a: mPostSmmPenSize=%u: %r\n", __FUNCTION__,
-      mPostSmmPenSize, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: mPostSmmPenSize=%u: %r\n",
+      __FUNCTION__,
+      mPostSmmPenSize,
+      Status
+      ));
     return Status;
   }
 
   Address = BASE_1MB - 1;
-  Status = BootServices->AllocatePages (AllocateMaxAddress,
-                           EfiReservedMemoryType, 1, &Address);
+  Status  = BootServices->AllocatePages (
+                            AllocateMaxAddress,
+                            EfiReservedMemoryType,
+                            1,
+                            &Address
+                            );
   if (EFI_ERROR (Status)) {
     DEBUG ((DEBUG_ERROR, "%a: AllocatePages(): %r\n", __FUNCTION__, Status));
     return Status;
@@ -90,7 +99,7 @@ SmbaseAllocatePostSmmPen (
 **/
 VOID
 SmbaseReinstallPostSmmPen (
-  IN UINT32 PenAddress
+  IN UINT32  PenAddress
   )
 {
   CopyMem ((VOID *)(UINTN)PenAddress, mPostSmmPen, mPostSmmPenSize);
@@ -110,8 +119,8 @@ SmbaseReinstallPostSmmPen (
 **/
 VOID
 SmbaseReleasePostSmmPen (
-  IN UINT32                  PenAddress,
-  IN CONST EFI_BOOT_SERVICES *BootServices
+  IN UINT32                   PenAddress,
+  IN CONST EFI_BOOT_SERVICES  *BootServices
   )
 {
   BootServices->FreePages (PenAddress, 1);
@@ -133,12 +142,15 @@ SmbaseInstallFirstSmiHandler (
   VOID
   )
 {
-  FIRST_SMI_HANDLER_CONTEXT *Context;
+  FIRST_SMI_HANDLER_CONTEXT  *Context;
 
-  CopyMem ((VOID *)(UINTN)(SMM_DEFAULT_SMBASE + SMM_HANDLER_OFFSET),
-    mFirstSmiHandler, mFirstSmiHandlerSize);
+  CopyMem (
+    (VOID *)(UINTN)(SMM_DEFAULT_SMBASE + SMM_HANDLER_OFFSET),
+    mFirstSmiHandler,
+    mFirstSmiHandlerSize
+    );
 
-  Context = (VOID *)(UINTN)SMM_DEFAULT_SMBASE;
+  Context             = (VOID *)(UINTN)SMM_DEFAULT_SMBASE;
   Context->ApicIdGate = MAX_UINT64;
 }
 
@@ -184,25 +196,31 @@ SmbaseInstallFirstSmiHandler (
 **/
 EFI_STATUS
 SmbaseRelocate (
-  IN APIC_ID ApicId,
-  IN UINTN   Smbase,
-  IN UINT32  PenAddress
+  IN APIC_ID  ApicId,
+  IN UINTN    Smbase,
+  IN UINT32   PenAddress
   )
 {
-  EFI_STATUS                         Status;
-  volatile UINT8                     *SmmVacated;
-  volatile FIRST_SMI_HANDLER_CONTEXT *Context;
-  UINT64                             ExchangeResult;
+  EFI_STATUS                          Status;
+  volatile UINT8                      *SmmVacated;
+  volatile FIRST_SMI_HANDLER_CONTEXT  *Context;
+  UINT64                              ExchangeResult;
 
   if (Smbase > MAX_UINT32) {
     Status = EFI_INVALID_PARAMETER;
-    DEBUG ((DEBUG_ERROR, "%a: ApicId=" FMT_APIC_ID " Smbase=0x%Lx: %r\n",
-      __FUNCTION__, ApicId, (UINT64)Smbase, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: ApicId=" FMT_APIC_ID " Smbase=0x%Lx: %r\n",
+      __FUNCTION__,
+      ApicId,
+      (UINT64)Smbase,
+      Status
+      ));
     return Status;
   }
 
   SmmVacated = (UINT8 *)(UINTN)PenAddress + (EFI_PAGE_SIZE - 1);
-  Context = (VOID *)(UINTN)SMM_DEFAULT_SMBASE;
+  Context    = (VOID *)(UINTN)SMM_DEFAULT_SMBASE;
 
   //
   // Clear AboutToLeaveSmm, so we notice when the hot-added CPU is just about
@@ -261,12 +279,21 @@ SmbaseRelocate (
   //
   // Un-gate SMBASE relocation for the hot-added CPU whose APIC ID is ApicId.
   //
-  ExchangeResult = InterlockedCompareExchange64 (&Context->ApicIdGate,
-                     MAX_UINT64, ApicId);
+  ExchangeResult = InterlockedCompareExchange64 (
+                     &Context->ApicIdGate,
+                     MAX_UINT64,
+                     ApicId
+                     );
   if (ExchangeResult != MAX_UINT64) {
     Status = EFI_PROTOCOL_ERROR;
-    DEBUG ((DEBUG_ERROR, "%a: ApicId=" FMT_APIC_ID " ApicIdGate=0x%Lx: %r\n",
-      __FUNCTION__, ApicId, ExchangeResult, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: ApicId=" FMT_APIC_ID " ApicIdGate=0x%Lx: %r\n",
+      __FUNCTION__,
+      ApicId,
+      ExchangeResult,
+      Status
+      ));
     return Status;
   }
 

+ 8 - 8
OvmfPkg/CpuHotplugSmm/Smbase.h

@@ -16,19 +16,19 @@
 
 EFI_STATUS
 SmbaseAllocatePostSmmPen (
-  OUT UINT32                  *PenAddress,
-  IN  CONST EFI_BOOT_SERVICES *BootServices
+  OUT UINT32                   *PenAddress,
+  IN  CONST EFI_BOOT_SERVICES  *BootServices
   );
 
 VOID
 SmbaseReinstallPostSmmPen (
-  IN UINT32 PenAddress
+  IN UINT32  PenAddress
   );
 
 VOID
 SmbaseReleasePostSmmPen (
-  IN UINT32                  PenAddress,
-  IN CONST EFI_BOOT_SERVICES *BootServices
+  IN UINT32                   PenAddress,
+  IN CONST EFI_BOOT_SERVICES  *BootServices
   );
 
 VOID
@@ -38,9 +38,9 @@ SmbaseInstallFirstSmiHandler (
 
 EFI_STATUS
 SmbaseRelocate (
-  IN APIC_ID ApicId,
-  IN UINTN   Smbase,
-  IN UINT32  PenAddress
+  IN APIC_ID  ApicId,
+  IN UINTN    Smbase,
+  IN UINT32   PenAddress
   );
 
 #endif // SMBASE_H_

+ 40 - 38
OvmfPkg/CpuS3DataDxe/CpuS3Data.c

@@ -34,10 +34,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 // Data structure used to allocate ACPI_CPU_DATA and its supporting structures
 //
 typedef struct {
-  ACPI_CPU_DATA             AcpiCpuData;
-  MTRR_SETTINGS             MtrrTable;
-  IA32_DESCRIPTOR           GdtrProfile;
-  IA32_DESCRIPTOR           IdtrProfile;
+  ACPI_CPU_DATA      AcpiCpuData;
+  MTRR_SETTINGS      MtrrTable;
+  IA32_DESCRIPTOR    GdtrProfile;
+  IA32_DESCRIPTOR    IdtrProfile;
 } ACPI_CPU_DATA_EX;
 
 /**
@@ -57,12 +57,12 @@ AllocateAcpiNvsMemory (
   EFI_STATUS            Status;
   VOID                  *Buffer;
 
-  Status  = gBS->AllocatePages (
-                   AllocateAnyPages,
-                   EfiACPIMemoryNVS,
-                   EFI_SIZE_TO_PAGES (Size),
-                   &Address
-                   );
+  Status = gBS->AllocatePages (
+                  AllocateAnyPages,
+                  EfiACPIMemoryNVS,
+                  EFI_SIZE_TO_PAGES (Size),
+                  &Address
+                  );
   if (EFI_ERROR (Status)) {
     return NULL;
   }
@@ -86,7 +86,7 @@ AllocateZeroPages (
   IN UINTN  Size
   )
 {
-  VOID                  *Buffer;
+  VOID  *Buffer;
 
   Buffer = AllocatePages (EFI_SIZE_TO_PAGES (Size));
   if (Buffer != NULL) {
@@ -95,6 +95,7 @@ AllocateZeroPages (
 
   return Buffer;
 }
+
 /**
   Callback function executed when the EndOfDxe event group is signaled.
 
@@ -110,20 +111,20 @@ CpuS3DataOnEndOfDxe (
   OUT VOID       *Context
   )
 {
-  EFI_STATUS         Status;
-  ACPI_CPU_DATA_EX   *AcpiCpuDataEx;
+  EFI_STATUS        Status;
+  ACPI_CPU_DATA_EX  *AcpiCpuDataEx;
 
-  AcpiCpuDataEx = (ACPI_CPU_DATA_EX *) Context;
+  AcpiCpuDataEx = (ACPI_CPU_DATA_EX *)Context;
   //
   // Allocate a 4KB reserved page below 1MB
   //
   AcpiCpuDataEx->AcpiCpuData.StartupVector = BASE_1MB - 1;
-  Status = gBS->AllocatePages (
-                  AllocateMaxAddress,
-                  EfiReservedMemoryType,
-                  1,
-                  &AcpiCpuDataEx->AcpiCpuData.StartupVector
-                  );
+  Status                                   = gBS->AllocatePages (
+                                                    AllocateMaxAddress,
+                                                    EfiReservedMemoryType,
+                                                    1,
+                                                    &AcpiCpuDataEx->AcpiCpuData.StartupVector
+                                                    );
   ASSERT_EFI_ERROR (Status);
 
   DEBUG ((DEBUG_VERBOSE, "%a\n", __FUNCTION__));
@@ -158,18 +159,18 @@ CpuS3DataInitialize (
   IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS                 Status;
-  ACPI_CPU_DATA_EX           *AcpiCpuDataEx;
-  ACPI_CPU_DATA              *AcpiCpuData;
-  EFI_MP_SERVICES_PROTOCOL   *MpServices;
-  UINTN                      NumberOfCpus;
-  VOID                       *Stack;
-  UINTN                      GdtSize;
-  UINTN                      IdtSize;
-  VOID                       *Gdt;
-  VOID                       *Idt;
-  EFI_EVENT                  Event;
-  ACPI_CPU_DATA              *OldAcpiCpuData;
+  EFI_STATUS                Status;
+  ACPI_CPU_DATA_EX          *AcpiCpuDataEx;
+  ACPI_CPU_DATA             *AcpiCpuData;
+  EFI_MP_SERVICES_PROTOCOL  *MpServices;
+  UINTN                     NumberOfCpus;
+  VOID                      *Stack;
+  UINTN                     GdtSize;
+  UINTN                     IdtSize;
+  VOID                      *Gdt;
+  VOID                      *Idt;
+  EFI_EVENT                 Event;
+  ACPI_CPU_DATA             *OldAcpiCpuData;
 
   if (!PcdGetBool (PcdAcpiS3Enable)) {
     return EFI_UNSUPPORTED;
@@ -178,7 +179,7 @@ CpuS3DataInitialize (
   //
   // Set PcdCpuS3DataAddress to the base address of the ACPI_CPU_DATA structure
   //
-  OldAcpiCpuData = (ACPI_CPU_DATA *) (UINTN) PcdGet64 (PcdCpuS3DataAddress);
+  OldAcpiCpuData = (ACPI_CPU_DATA *)(UINTN)PcdGet64 (PcdCpuS3DataAddress);
 
   AcpiCpuDataEx = AllocateZeroPages (sizeof (ACPI_CPU_DATA_EX));
   ASSERT (AcpiCpuDataEx != NULL);
@@ -187,7 +188,7 @@ CpuS3DataInitialize (
   if (PcdGetBool (PcdQ35SmramAtDefaultSmbase)) {
     NumberOfCpus = PcdGet32 (PcdCpuMaxLogicalProcessorNumber);
   } else {
-    UINTN NumberOfEnabledProcessors;
+    UINTN  NumberOfEnabledProcessors;
 
     //
     // Get MP Services Protocol
@@ -209,6 +210,7 @@ CpuS3DataInitialize (
                            );
     ASSERT_EFI_ERROR (Status);
   }
+
   AcpiCpuData->NumberOfCpus = (UINT32)NumberOfCpus;
 
   //
@@ -217,9 +219,9 @@ CpuS3DataInitialize (
   AcpiCpuData->StackSize                 = PcdGet32 (PcdCpuApStackSize);
   AcpiCpuData->ApMachineCheckHandlerBase = 0;
   AcpiCpuData->ApMachineCheckHandlerSize = 0;
-  AcpiCpuData->GdtrProfile  = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->GdtrProfile;
-  AcpiCpuData->IdtrProfile  = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->IdtrProfile;
-  AcpiCpuData->MtrrTable    = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->MtrrTable;
+  AcpiCpuData->GdtrProfile               = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->GdtrProfile;
+  AcpiCpuData->IdtrProfile               = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->IdtrProfile;
+  AcpiCpuData->MtrrTable                 = (EFI_PHYSICAL_ADDRESS)(UINTN)&AcpiCpuDataEx->MtrrTable;
 
   //
   // Allocate stack space for all CPUs.
@@ -243,7 +245,7 @@ CpuS3DataInitialize (
   //
   GdtSize = AcpiCpuDataEx->GdtrProfile.Limit + 1;
   IdtSize = AcpiCpuDataEx->IdtrProfile.Limit + 1;
-  Gdt = AllocateZeroPages (GdtSize + IdtSize);
+  Gdt     = AllocateZeroPages (GdtSize + IdtSize);
   ASSERT (Gdt != NULL);
   Idt = (VOID *)((UINTN)Gdt + GdtSize);
   CopyMem (Gdt, (VOID *)AcpiCpuDataEx->GdtrProfile.Base, GdtSize);

File diff suppressed because it is too large
+ 235 - 209
OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.c


+ 78 - 86
OvmfPkg/Csm/BiosThunk/VideoDxe/BiosVideo.h

@@ -42,88 +42,88 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 // position of RGB in the frame buffer is specified in the VBE Mode information
 //
 typedef struct {
-  UINT8 Position; // Position of the color
-  UINT8 Mask;     // The number of bits expressed as a mask
+  UINT8    Position; // Position of the color
+  UINT8    Mask;     // The number of bits expressed as a mask
 } BIOS_VIDEO_COLOR_PLACEMENT;
 
 //
 // BIOS Graphics Output Graphical Mode Data
 //
 typedef struct {
-  UINT16                      VbeModeNumber;
-  UINT16                      BytesPerScanLine;
-  VOID                        *LinearFrameBuffer;
-  UINTN                       FrameBufferSize;
-  UINT32                      HorizontalResolution;
-  UINT32                      VerticalResolution;
-  UINT32                      ColorDepth;
-  UINT32                      RefreshRate;
-  UINT32                      BitsPerPixel;
-  BIOS_VIDEO_COLOR_PLACEMENT  Red;
-  BIOS_VIDEO_COLOR_PLACEMENT  Green;
-  BIOS_VIDEO_COLOR_PLACEMENT  Blue;
-  BIOS_VIDEO_COLOR_PLACEMENT  Reserved;
-  EFI_GRAPHICS_PIXEL_FORMAT   PixelFormat;
-  EFI_PIXEL_BITMASK           PixelBitMask;
+  UINT16                        VbeModeNumber;
+  UINT16                        BytesPerScanLine;
+  VOID                          *LinearFrameBuffer;
+  UINTN                         FrameBufferSize;
+  UINT32                        HorizontalResolution;
+  UINT32                        VerticalResolution;
+  UINT32                        ColorDepth;
+  UINT32                        RefreshRate;
+  UINT32                        BitsPerPixel;
+  BIOS_VIDEO_COLOR_PLACEMENT    Red;
+  BIOS_VIDEO_COLOR_PLACEMENT    Green;
+  BIOS_VIDEO_COLOR_PLACEMENT    Blue;
+  BIOS_VIDEO_COLOR_PLACEMENT    Reserved;
+  EFI_GRAPHICS_PIXEL_FORMAT     PixelFormat;
+  EFI_PIXEL_BITMASK             PixelBitMask;
 } BIOS_VIDEO_MODE_DATA;
 
 //
 // BIOS video child handle private data Structure
 //
-#define BIOS_VIDEO_DEV_SIGNATURE    SIGNATURE_32 ('B', 'V', 'M', 'p')
+#define BIOS_VIDEO_DEV_SIGNATURE  SIGNATURE_32 ('B', 'V', 'M', 'p')
 
 typedef struct {
-  UINTN                                       Signature;
-  EFI_HANDLE                                  Handle;
+  UINTN                                          Signature;
+  EFI_HANDLE                                     Handle;
 
   //
   // Consumed Protocols
   //
-  EFI_PCI_IO_PROTOCOL                         *PciIo;
-  EFI_LEGACY_BIOS_PROTOCOL                    *LegacyBios;
+  EFI_PCI_IO_PROTOCOL                            *PciIo;
+  EFI_LEGACY_BIOS_PROTOCOL                       *LegacyBios;
 
   //
   // Produced Protocols
   //
-  EFI_GRAPHICS_OUTPUT_PROTOCOL                GraphicsOutput;
-  EFI_EDID_DISCOVERED_PROTOCOL                EdidDiscovered;
-  EFI_EDID_ACTIVE_PROTOCOL                    EdidActive;
-  EFI_VGA_MINI_PORT_PROTOCOL                  VgaMiniPort;
+  EFI_GRAPHICS_OUTPUT_PROTOCOL                   GraphicsOutput;
+  EFI_EDID_DISCOVERED_PROTOCOL                   EdidDiscovered;
+  EFI_EDID_ACTIVE_PROTOCOL                       EdidActive;
+  EFI_VGA_MINI_PORT_PROTOCOL                     VgaMiniPort;
 
   //
   // General fields
   //
-  BOOLEAN                                     VgaCompatible;
-  BOOLEAN                                     ProduceGraphicsOutput;
+  BOOLEAN                                        VgaCompatible;
+  BOOLEAN                                        ProduceGraphicsOutput;
 
   //
   // Graphics Output Protocol related fields
   //
-  BOOLEAN                                     HardwareNeedsStarting;
-  UINTN                                       CurrentMode;
-  UINTN                                       MaxMode;
-  BIOS_VIDEO_MODE_DATA                        *ModeData;
-  UINT8                                       *LineBuffer;
-  EFI_GRAPHICS_OUTPUT_BLT_PIXEL               *VbeFrameBuffer;
-  UINT8                                       *VgaFrameBuffer;
+  BOOLEAN                                        HardwareNeedsStarting;
+  UINTN                                          CurrentMode;
+  UINTN                                          MaxMode;
+  BIOS_VIDEO_MODE_DATA                           *ModeData;
+  UINT8                                          *LineBuffer;
+  EFI_GRAPHICS_OUTPUT_BLT_PIXEL                  *VbeFrameBuffer;
+  UINT8                                          *VgaFrameBuffer;
 
   //
   // VESA Bios Extensions related fields
   //
-  UINTN                                       NumberOfPagesBelow1MB;     // Number of 4KB pages in PagesBelow1MB
-  EFI_PHYSICAL_ADDRESS                        PagesBelow1MB;             // Buffer for all VBE Information Blocks
-  VESA_BIOS_EXTENSIONS_INFORMATION_BLOCK      *VbeInformationBlock;      // 0x200 bytes.  Must be allocated below 1MB
-  VESA_BIOS_EXTENSIONS_MODE_INFORMATION_BLOCK *VbeModeInformationBlock;  // 0x100 bytes.  Must be allocated below 1MB
-  VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK        *VbeEdidDataBlock;         // 0x80  bytes.  Must be allocated below 1MB
-  VESA_BIOS_EXTENSIONS_CRTC_INFORMATION_BLOCK *VbeCrtcInformationBlock;  // 59 bytes.  Must be allocated below 1MB
-  UINTN                                       VbeSaveRestorePages;       // Number of 4KB pages in VbeSaveRestoreBuffer
-  EFI_PHYSICAL_ADDRESS                        VbeSaveRestoreBuffer;      // Must be allocated below 1MB
+  UINTN                                          NumberOfPagesBelow1MB;    // Number of 4KB pages in PagesBelow1MB
+  EFI_PHYSICAL_ADDRESS                           PagesBelow1MB;            // Buffer for all VBE Information Blocks
+  VESA_BIOS_EXTENSIONS_INFORMATION_BLOCK         *VbeInformationBlock;     // 0x200 bytes.  Must be allocated below 1MB
+  VESA_BIOS_EXTENSIONS_MODE_INFORMATION_BLOCK    *VbeModeInformationBlock; // 0x100 bytes.  Must be allocated below 1MB
+  VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK           *VbeEdidDataBlock;        // 0x80  bytes.  Must be allocated below 1MB
+  VESA_BIOS_EXTENSIONS_CRTC_INFORMATION_BLOCK    *VbeCrtcInformationBlock; // 59 bytes.  Must be allocated below 1MB
+  UINTN                                          VbeSaveRestorePages;      // Number of 4KB pages in VbeSaveRestoreBuffer
+  EFI_PHYSICAL_ADDRESS                           VbeSaveRestoreBuffer;     // Must be allocated below 1MB
   //
   // Status code
   //
-  EFI_DEVICE_PATH_PROTOCOL                    *GopDevicePath;
+  EFI_DEVICE_PATH_PROTOCOL                       *GopDevicePath;
 
-  EFI_EVENT                                   ExitBootServicesEvent;
+  EFI_EVENT                                      ExitBootServicesEvent;
 } BIOS_VIDEO_DEV;
 
 #define BIOS_VIDEO_DEV_FROM_PCI_IO_THIS(a)           CR (a, BIOS_VIDEO_DEV, PciIo, BIOS_VIDEO_DEV_SIGNATURE)
@@ -164,7 +164,6 @@ BiosVideoDriverBindingSupported (
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
   );
 
-
 /**
   Install Graphics Output Protocol onto VGA device handles.
 
@@ -184,7 +183,6 @@ BiosVideoDriverBindingStart (
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath
   );
 
-
 /**
   Stop.
 
@@ -223,7 +221,6 @@ BiosVideoCheckForVbe (
   IN OUT BIOS_VIDEO_DEV  *BiosVideoPrivate
   );
 
-
 /**
   Check for VGA device.
 
@@ -237,9 +234,6 @@ BiosVideoCheckForVga (
   IN OUT BIOS_VIDEO_DEV  *BiosVideoPrivate
   );
 
-
-
-
 /**
   Release resource for BIOS video instance.
 
@@ -282,7 +276,6 @@ BiosVideoGraphicsOutputQueryMode (
   OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION  **Info
   );
 
-
 /**
   Graphics Output protocol interface to set video mode.
 
@@ -298,11 +291,10 @@ BiosVideoGraphicsOutputQueryMode (
 EFI_STATUS
 EFIAPI
 BiosVideoGraphicsOutputSetMode (
-  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL * This,
-  IN  UINT32                       ModeNumber
+  IN  EFI_GRAPHICS_OUTPUT_PROTOCOL  *This,
+  IN  UINT32                        ModeNumber
   );
 
-
 /**
   Graphics Output protocol instance to block transfer for VBE device.
 
@@ -345,7 +337,6 @@ BiosVideoGraphicsOutputVbeBlt (
   IN  UINTN                              Delta
   );
 
-
 /**
   Graphics Output protocol instance to block transfer for VGA device.
 
@@ -419,50 +410,50 @@ BiosVideoVgaMiniPortSetMode (
 VOID
 EFIAPI
 BiosVideoNotifyExitBootServices (
-  IN  EFI_EVENT Event,
-  IN  VOID      *Context
+  IN  EFI_EVENT  Event,
+  IN  VOID       *Context
   );
 
 //
 // Standard VGA Definitions
 //
-#define VGA_HORIZONTAL_RESOLUTION                         640
-#define VGA_VERTICAL_RESOLUTION                           480
-#define VGA_NUMBER_OF_BIT_PLANES                          4
-#define VGA_PIXELS_PER_BYTE                               8
-#define VGA_BYTES_PER_SCAN_LINE                           (VGA_HORIZONTAL_RESOLUTION / VGA_PIXELS_PER_BYTE)
-#define VGA_BYTES_PER_BIT_PLANE                           (VGA_VERTICAL_RESOLUTION * VGA_BYTES_PER_SCAN_LINE)
+#define VGA_HORIZONTAL_RESOLUTION  640
+#define VGA_VERTICAL_RESOLUTION    480
+#define VGA_NUMBER_OF_BIT_PLANES   4
+#define VGA_PIXELS_PER_BYTE        8
+#define VGA_BYTES_PER_SCAN_LINE    (VGA_HORIZONTAL_RESOLUTION / VGA_PIXELS_PER_BYTE)
+#define VGA_BYTES_PER_BIT_PLANE    (VGA_VERTICAL_RESOLUTION * VGA_BYTES_PER_SCAN_LINE)
 
-#define VGA_GRAPHICS_CONTROLLER_ADDRESS_REGISTER          0x3ce
-#define VGA_GRAPHICS_CONTROLLER_DATA_REGISTER             0x3cf
+#define VGA_GRAPHICS_CONTROLLER_ADDRESS_REGISTER  0x3ce
+#define VGA_GRAPHICS_CONTROLLER_DATA_REGISTER     0x3cf
 
-#define VGA_GRAPHICS_CONTROLLER_SET_RESET_REGISTER        0x00
+#define VGA_GRAPHICS_CONTROLLER_SET_RESET_REGISTER  0x00
 
-#define VGA_GRAPHICS_CONTROLLER_ENABLE_SET_RESET_REGISTER 0x01
+#define VGA_GRAPHICS_CONTROLLER_ENABLE_SET_RESET_REGISTER  0x01
 
-#define VGA_GRAPHICS_CONTROLLER_COLOR_COMPARE_REGISTER    0x02
+#define VGA_GRAPHICS_CONTROLLER_COLOR_COMPARE_REGISTER  0x02
 
-#define VGA_GRAPHICS_CONTROLLER_DATA_ROTATE_REGISTER      0x03
-#define VGA_GRAPHICS_CONTROLLER_FUNCTION_REPLACE          0x00
-#define VGA_GRAPHICS_CONTROLLER_FUNCTION_AND              0x08
-#define VGA_GRAPHICS_CONTROLLER_FUNCTION_OR               0x10
-#define VGA_GRAPHICS_CONTROLLER_FUNCTION_XOR              0x18
+#define VGA_GRAPHICS_CONTROLLER_DATA_ROTATE_REGISTER  0x03
+#define VGA_GRAPHICS_CONTROLLER_FUNCTION_REPLACE      0x00
+#define VGA_GRAPHICS_CONTROLLER_FUNCTION_AND          0x08
+#define VGA_GRAPHICS_CONTROLLER_FUNCTION_OR           0x10
+#define VGA_GRAPHICS_CONTROLLER_FUNCTION_XOR          0x18
 
 #define VGA_GRAPHICS_CONTROLLER_READ_MAP_SELECT_REGISTER  0x04
 
-#define VGA_GRAPHICS_CONTROLLER_MODE_REGISTER             0x05
-#define VGA_GRAPHICS_CONTROLLER_READ_MODE_0               0x00
-#define VGA_GRAPHICS_CONTROLLER_READ_MODE_1               0x08
-#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_0              0x00
-#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_1              0x01
-#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_2              0x02
-#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_3              0x03
+#define VGA_GRAPHICS_CONTROLLER_MODE_REGISTER  0x05
+#define VGA_GRAPHICS_CONTROLLER_READ_MODE_0    0x00
+#define VGA_GRAPHICS_CONTROLLER_READ_MODE_1    0x08
+#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_0   0x00
+#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_1   0x01
+#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_2   0x02
+#define VGA_GRAPHICS_CONTROLLER_WRITE_MODE_3   0x03
 
-#define VGA_GRAPHICS_CONTROLLER_MISCELLANEOUS_REGISTER    0x06
+#define VGA_GRAPHICS_CONTROLLER_MISCELLANEOUS_REGISTER  0x06
 
 #define VGA_GRAPHICS_CONTROLLER_COLOR_DONT_CARE_REGISTER  0x07
 
-#define VGA_GRAPHICS_CONTROLLER_BIT_MASK_REGISTER         0x08
+#define VGA_GRAPHICS_CONTROLLER_BIT_MASK_REGISTER  0x08
 
 /**
   Install child handles if the Handle supports MBR format.
@@ -500,9 +491,9 @@ BiosVideoChildHandleInstall (
 **/
 EFI_STATUS
 BiosVideoChildHandleUninstall (
-  EFI_DRIVER_BINDING_PROTOCOL    *This,
-  EFI_HANDLE                     Controller,
-  EFI_HANDLE                     Handle
+  EFI_DRIVER_BINDING_PROTOCOL  *This,
+  EFI_HANDLE                   Controller,
+  EFI_HANDLE                   Handle
   );
 
 /**
@@ -529,4 +520,5 @@ BOOLEAN
 HasChildHandle (
   IN EFI_HANDLE  Controller
   );
+
 #endif

+ 15 - 17
OvmfPkg/Csm/BiosThunk/VideoDxe/ComponentName.c

@@ -11,6 +11,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // EFI Component Name Functions
 //
+
 /**
   Retrieves a Unicode string that is the user readable name of the driver.
 
@@ -58,7 +59,6 @@ BiosVideoComponentNameGetDriverName (
   OUT CHAR16                       **DriverName
   );
 
-
 /**
   Retrieves a Unicode string that is the user readable name of the controller
   that is being managed by a driver.
@@ -130,14 +130,13 @@ BiosVideoComponentNameGetDriverName (
 EFI_STATUS
 EFIAPI
 BiosVideoComponentNameGetControllerName (
-  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
-  IN  EFI_HANDLE                                      ControllerHandle,
-  IN  EFI_HANDLE                                      ChildHandle        OPTIONAL,
-  IN  CHAR8                                           *Language,
-  OUT CHAR16                                          **ControllerName
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  EFI_HANDLE                   ControllerHandle,
+  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **ControllerName
   );
 
-
 //
 // EFI Component Name Protocol
 //
@@ -150,14 +149,13 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME_PROTOCOL  gBiosVideoComponentNa
 //
 // EFI Component Name 2 Protocol
 //
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL gBiosVideoComponentName2 = {
-  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME) BiosVideoComponentNameGetDriverName,
-  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME) BiosVideoComponentNameGetControllerName,
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_COMPONENT_NAME2_PROTOCOL  gBiosVideoComponentName2 = {
+  (EFI_COMPONENT_NAME2_GET_DRIVER_NAME)BiosVideoComponentNameGetDriverName,
+  (EFI_COMPONENT_NAME2_GET_CONTROLLER_NAME)BiosVideoComponentNameGetControllerName,
   "en"
 };
 
-
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE mBiosVideoDriverNameTable[] = {
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_STRING_TABLE  mBiosVideoDriverNameTable[] = {
   {
     "eng;en",
     L"BIOS[INT10] Video Driver"
@@ -295,11 +293,11 @@ BiosVideoComponentNameGetDriverName (
 EFI_STATUS
 EFIAPI
 BiosVideoComponentNameGetControllerName (
-  IN  EFI_COMPONENT_NAME_PROTOCOL                     *This,
-  IN  EFI_HANDLE                                      ControllerHandle,
-  IN  EFI_HANDLE                                      ChildHandle        OPTIONAL,
-  IN  CHAR8                                           *Language,
-  OUT CHAR16                                          **ControllerName
+  IN  EFI_COMPONENT_NAME_PROTOCOL  *This,
+  IN  EFI_HANDLE                   ControllerHandle,
+  IN  EFI_HANDLE                   ChildHandle        OPTIONAL,
+  IN  CHAR8                        *Language,
+  OUT CHAR16                       **ControllerName
   )
 {
   return EFI_UNSUPPORTED;

+ 132 - 132
OvmfPkg/Csm/BiosThunk/VideoDxe/VesaBiosExtensions.h

@@ -16,7 +16,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // VESA BIOS Extensions status codes
 //
-#define VESA_BIOS_EXTENSIONS_STATUS_SUCCESS 0x004f
+#define VESA_BIOS_EXTENSIONS_STATUS_SUCCESS  0x004f
 
 //
 // VESA BIOS Extensions Services
@@ -52,7 +52,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
       AX    = Return Status
 
 --*/
-#define VESA_BIOS_EXTENSIONS_SET_MODE 0x4f02
+#define VESA_BIOS_EXTENSIONS_SET_MODE  0x4f02
 
 /*++
 
@@ -97,7 +97,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
                 = 1 - Memory not cleared at last mode set
 
 --*/
-#define VESA_BIOS_EXTENSIONS_SAVE_RESTORE_STATE 0x4f04
+#define VESA_BIOS_EXTENSIONS_SAVE_RESTORE_STATE  0x4f04
 
 /*++
 
@@ -158,89 +158,89 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // Timing data from EDID data block
 //
-#define VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE                    128
-#define VESA_BIOS_EXTENSIONS_EDID_ESTABLISHED_TIMING_MAX_NUMBER 17
+#define VESA_BIOS_EXTENSIONS_EDID_BLOCK_SIZE                     128
+#define VESA_BIOS_EXTENSIONS_EDID_ESTABLISHED_TIMING_MAX_NUMBER  17
 
 //
 // Established Timings: 24 possible resolutions
 // Standard Timings: 8 possible resolutions
 // Detailed Timings: 4 possible resolutions
 //
-#define VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER             36
+#define VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER  36
 
 //
 // Timing data size for Established Timings, Standard Timings and Detailed Timings
 //
-#define VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE                  3
-#define VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE                     16
-#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_EACH_DESCRIPTOR_SIZE     18
-#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE      72
+#define VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE               3
+#define VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE                  16
+#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_EACH_DESCRIPTOR_SIZE  18
+#define VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE   72
 
 typedef struct {
-  UINT16  HorizontalResolution;
-  UINT16  VerticalResolution;
-  UINT16  RefreshRate;
+  UINT16    HorizontalResolution;
+  UINT16    VerticalResolution;
+  UINT16    RefreshRate;
 } VESA_BIOS_EXTENSIONS_EDID_TIMING;
 
 typedef struct {
-  UINT32  ValidNumber;
-  UINT32  Key[VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER];
+  UINT32    ValidNumber;
+  UINT32    Key[VESA_BIOS_EXTENSIONS_EDID_TIMING_MAX_NUMBER];
 } VESA_BIOS_EXTENSIONS_VALID_EDID_TIMING;
 
 typedef struct {
-  UINT8   Header[8];                        //EDID header "00 FF FF FF FF FF FF 00"
-  UINT16  ManufactureName;                  //EISA 3-character ID
-  UINT16  ProductCode;                      //Vendor assigned code
-  UINT32  SerialNumber;                     //32-bit serial number
-  UINT8   WeekOfManufacture;                //Week number
-  UINT8   YearOfManufacture;                //Year
-  UINT8   EdidVersion;                      //EDID Structure Version
-  UINT8   EdidRevision;                     //EDID Structure Revision
-  UINT8   VideoInputDefinition;
-  UINT8   MaxHorizontalImageSize;           //cm
-  UINT8   MaxVerticalImageSize;             //cm
-  UINT8   DisplayTransferCharacteristic;
-  UINT8   FeatureSupport;
-  UINT8   RedGreenLowBits;                  //Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1Gy0
-  UINT8   BlueWhiteLowBits;                 //Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0
-  UINT8   RedX;                             //Red-x Bits 9 - 2
-  UINT8   RedY;                             //Red-y Bits 9 - 2
-  UINT8   GreenX;                           //Green-x Bits 9 - 2
-  UINT8   GreenY;                           //Green-y Bits 9 - 2
-  UINT8   BlueX;                            //Blue-x Bits 9 - 2
-  UINT8   BlueY;                            //Blue-y Bits 9 - 2
-  UINT8   WhiteX;                           //White-x Bits 9 - 2
-  UINT8   WhiteY;                           //White-x Bits 9 - 2
-  UINT8   EstablishedTimings[VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE];
-  UINT8   StandardTimingIdentification[VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE];
-  UINT8   DetailedTimingDescriptions[VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE];
-  UINT8   ExtensionFlag;                    //Number of (optional) 128-byte EDID extension blocks to follow
-  UINT8   Checksum;
+  UINT8     Header[8];                      // EDID header "00 FF FF FF FF FF FF 00"
+  UINT16    ManufactureName;                // EISA 3-character ID
+  UINT16    ProductCode;                    // Vendor assigned code
+  UINT32    SerialNumber;                   // 32-bit serial number
+  UINT8     WeekOfManufacture;              // Week number
+  UINT8     YearOfManufacture;              // Year
+  UINT8     EdidVersion;                    // EDID Structure Version
+  UINT8     EdidRevision;                   // EDID Structure Revision
+  UINT8     VideoInputDefinition;
+  UINT8     MaxHorizontalImageSize;         // cm
+  UINT8     MaxVerticalImageSize;           // cm
+  UINT8     DisplayTransferCharacteristic;
+  UINT8     FeatureSupport;
+  UINT8     RedGreenLowBits;                // Rx1 Rx0 Ry1 Ry0 Gx1 Gx0 Gy1Gy0
+  UINT8     BlueWhiteLowBits;               // Bx1 Bx0 By1 By0 Wx1 Wx0 Wy1 Wy0
+  UINT8     RedX;                           // Red-x Bits 9 - 2
+  UINT8     RedY;                           // Red-y Bits 9 - 2
+  UINT8     GreenX;                         // Green-x Bits 9 - 2
+  UINT8     GreenY;                         // Green-y Bits 9 - 2
+  UINT8     BlueX;                          // Blue-x Bits 9 - 2
+  UINT8     BlueY;                          // Blue-y Bits 9 - 2
+  UINT8     WhiteX;                         // White-x Bits 9 - 2
+  UINT8     WhiteY;                         // White-x Bits 9 - 2
+  UINT8     EstablishedTimings[VESA_BIOS_EXTENSIONS_ESTABLISHED_TIMING_SIZE];
+  UINT8     StandardTimingIdentification[VESA_BIOS_EXTENSIONS_STANDARD_TIMING_SIZE];
+  UINT8     DetailedTimingDescriptions[VESA_BIOS_EXTENSIONS_DETAILED_TIMING_DESCRIPTOR_MAX_SIZE];
+  UINT8     ExtensionFlag;                  // Number of (optional) 128-byte EDID extension blocks to follow
+  UINT8     Checksum;
 } VESA_BIOS_EXTENSIONS_EDID_DATA_BLOCK;
 
 //
 // Super VGA Information Block
 //
 typedef struct {
-  UINT32  VESASignature;      // 'VESA' 4 byte signature
-  UINT16  VESAVersion;        // VBE version number
-  UINT32  OEMStringPtr;      // Pointer to OEM string
-  UINT32  Capabilities;       // Capabilities of video card
-  UINT32  VideoModePtr;      // Pointer to an array of 16-bit supported modes values terminated by 0xFFFF
-  UINT16  TotalMemory;        // Number of 64kb memory blocks
-  UINT16  OemSoftwareRev;     // VBE implementation Software revision
-  UINT32  OemVendorNamePtr;  // VbeFarPtr to Vendor Name String
-  UINT32  OemProductNamePtr; // VbeFarPtr to Product Name String
-  UINT32  OemProductRevPtr;  // VbeFarPtr to Product Revision String
-  UINT8   Reserved[222];      // Reserved for VBE implementation scratch area
-  UINT8   OemData[256];       // Data area for OEM strings.  Pad to 512 byte block size
+  UINT32    VESASignature;     // 'VESA' 4 byte signature
+  UINT16    VESAVersion;       // VBE version number
+  UINT32    OEMStringPtr;      // Pointer to OEM string
+  UINT32    Capabilities;      // Capabilities of video card
+  UINT32    VideoModePtr;      // Pointer to an array of 16-bit supported modes values terminated by 0xFFFF
+  UINT16    TotalMemory;       // Number of 64kb memory blocks
+  UINT16    OemSoftwareRev;    // VBE implementation Software revision
+  UINT32    OemVendorNamePtr;  // VbeFarPtr to Vendor Name String
+  UINT32    OemProductNamePtr; // VbeFarPtr to Product Name String
+  UINT32    OemProductRevPtr;  // VbeFarPtr to Product Revision String
+  UINT8     Reserved[222];     // Reserved for VBE implementation scratch area
+  UINT8     OemData[256];      // Data area for OEM strings.  Pad to 512 byte block size
 } VESA_BIOS_EXTENSIONS_INFORMATION_BLOCK;
 
 //
 // Super VGA Information Block VESASignature values
 //
-#define VESA_BIOS_EXTENSIONS_VESA_SIGNATURE SIGNATURE_32 ('V', 'E', 'S', 'A')
-#define VESA_BIOS_EXTENSIONS_VBE2_SIGNATURE SIGNATURE_32 ('V', 'B', 'E', '2')
+#define VESA_BIOS_EXTENSIONS_VESA_SIGNATURE  SIGNATURE_32 ('V', 'E', 'S', 'A')
+#define VESA_BIOS_EXTENSIONS_VBE2_SIGNATURE  SIGNATURE_32 ('V', 'B', 'E', '2')
 
 //
 // Super VGA Information Block VESAVersion values
@@ -252,13 +252,13 @@ typedef struct {
 //
 // Super VGA Information Block Capabilities field bit definitions
 //
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_8_BIT_DAC 0x01  // 0: DAC width is fixed at 6 bits/color
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_8_BIT_DAC  0x01 // 0: DAC width is fixed at 6 bits/color
 // 1: DAC width switchable to 8 bits/color
 //
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_VGA 0x02  // 0: Controller is VGA compatible
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_VGA  0x02 // 0: Controller is VGA compatible
 // 1: Controller is not VGA compatible
 //
-#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_NORMAL_RAMDAC 0x04  // 0: Normal RAMDAC operation
+#define VESA_BIOS_EXTENSIONS_CAPABILITY_NOT_NORMAL_RAMDAC  0x04 // 0: Normal RAMDAC operation
 // 1: Use blank bit in function 9 to program RAMDAC
 //
 #define VESA_BIOS_EXTENSIONS_CAPABILITY_STEREOSCOPIC  0x08  // 0: No hardware stereoscopic signal support
@@ -269,10 +269,10 @@ typedef struct {
 //
 // Super VGA mode number bite field definitions
 //
-#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_VESA 0x0100  // 0: Not a VESA defined VBE mode
+#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_VESA  0x0100 // 0: Not a VESA defined VBE mode
 // 1: A VESA defined VBE mode
 //
-#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_REFRESH_CONTROL_USER 0x0800  // 0: Use current BIOS default referesh rate
+#define VESA_BIOS_EXTENSIONS_MODE_NUMBER_REFRESH_CONTROL_USER  0x0800 // 0: Use current BIOS default referesh rate
 // 1: Use the user specified CRTC values for refresh rate
 //
 #define VESA_BIOS_EXTENSIONS_MODE_NUMBER_LINEAR_FRAME_BUFFER  0x4000  // 0: Use a banked/windowed frame buffer
@@ -283,7 +283,7 @@ typedef struct {
 //
 // Super VGA Information Block mode list terminator value
 //
-#define VESA_BIOS_EXTENSIONS_END_OF_MODE_LIST 0xffff
+#define VESA_BIOS_EXTENSIONS_END_OF_MODE_LIST  0xffff
 
 //
 // Window Function
@@ -301,60 +301,60 @@ typedef struct {
   //
   // Manadory fields for all VESA Bios Extensions revisions
   //
-  UINT16                                ModeAttributes;   // Mode attributes
-  UINT8                                 WinAAttributes;   // Window A attributes
-  UINT8                                 WinBAttributes;   // Window B attributes
-  UINT16                                WinGranularity;   // Window granularity in k
-  UINT16                                WinSize;          // Window size in k
-  UINT16                                WinASegment;      // Window A segment
-  UINT16                                WinBSegment;      // Window B segment
-  UINT32                                WindowFunction;   // Pointer to window function
-  UINT16                                BytesPerScanLine; // Bytes per scanline
+  UINT16    ModeAttributes;                               // Mode attributes
+  UINT8     WinAAttributes;                               // Window A attributes
+  UINT8     WinBAttributes;                               // Window B attributes
+  UINT16    WinGranularity;                               // Window granularity in k
+  UINT16    WinSize;                                      // Window size in k
+  UINT16    WinASegment;                                  // Window A segment
+  UINT16    WinBSegment;                                  // Window B segment
+  UINT32    WindowFunction;                               // Pointer to window function
+  UINT16    BytesPerScanLine;                             // Bytes per scanline
   //
   // Manadory fields for VESA Bios Extensions 1.2 and above
   //
-  UINT16                                XResolution;          // Horizontal resolution
-  UINT16                                YResolution;          // Vertical resolution
-  UINT8                                 XCharSize;            // Character cell width
-  UINT8                                 YCharSize;            // Character cell height
-  UINT8                                 NumberOfPlanes;       // Number of memory planes
-  UINT8                                 BitsPerPixel;         // Bits per pixel
-  UINT8                                 NumberOfBanks;        // Number of CGA style banks
-  UINT8                                 MemoryModel;          // Memory model type
-  UINT8                                 BankSize;             // Size of CGA style banks
-  UINT8                                 NumberOfImagePages;   // Number of images pages
-  UINT8                                 Reserved1;            // Reserved
-  UINT8                                 RedMaskSize;          // Size of direct color red mask
-  UINT8                                 RedFieldPosition;     // Bit posn of lsb of red mask
-  UINT8                                 GreenMaskSize;        // Size of direct color green mask
-  UINT8                                 GreenFieldPosition;   // Bit posn of lsb of green mask
-  UINT8                                 BlueMaskSize;         // Size of direct color blue mask
-  UINT8                                 BlueFieldPosition;    // Bit posn of lsb of blue mask
-  UINT8                                 RsvdMaskSize;         // Size of direct color res mask
-  UINT8                                 RsvdFieldPosition;    // Bit posn of lsb of res mask
-  UINT8                                 DirectColorModeInfo;  // Direct color mode attributes
+  UINT16    XResolution;                                      // Horizontal resolution
+  UINT16    YResolution;                                      // Vertical resolution
+  UINT8     XCharSize;                                        // Character cell width
+  UINT8     YCharSize;                                        // Character cell height
+  UINT8     NumberOfPlanes;                                   // Number of memory planes
+  UINT8     BitsPerPixel;                                     // Bits per pixel
+  UINT8     NumberOfBanks;                                    // Number of CGA style banks
+  UINT8     MemoryModel;                                      // Memory model type
+  UINT8     BankSize;                                         // Size of CGA style banks
+  UINT8     NumberOfImagePages;                               // Number of images pages
+  UINT8     Reserved1;                                        // Reserved
+  UINT8     RedMaskSize;                                      // Size of direct color red mask
+  UINT8     RedFieldPosition;                                 // Bit posn of lsb of red mask
+  UINT8     GreenMaskSize;                                    // Size of direct color green mask
+  UINT8     GreenFieldPosition;                               // Bit posn of lsb of green mask
+  UINT8     BlueMaskSize;                                     // Size of direct color blue mask
+  UINT8     BlueFieldPosition;                                // Bit posn of lsb of blue mask
+  UINT8     RsvdMaskSize;                                     // Size of direct color res mask
+  UINT8     RsvdFieldPosition;                                // Bit posn of lsb of res mask
+  UINT8     DirectColorModeInfo;                              // Direct color mode attributes
   //
   // Manadory fields for VESA Bios Extensions 2.0 and above
   //
-  UINT32                                PhysBasePtr;  // Physical Address for flat memory frame buffer
-  UINT32                                Reserved2;    // Reserved
-  UINT16                                Reserved3;    // Reserved
+  UINT32    PhysBasePtr;                              // Physical Address for flat memory frame buffer
+  UINT32    Reserved2;                                // Reserved
+  UINT16    Reserved3;                                // Reserved
   //
   // Manadory fields for VESA Bios Extensions 3.0 and above
   //
-  UINT16                                LinBytesPerScanLine;    // Bytes/scan line for linear modes
-  UINT8                                 BnkNumberOfImagePages;  // Number of images for banked modes
-  UINT8                                 LinNumberOfImagePages;  // Number of images for linear modes
-  UINT8                                 LinRedMaskSize;         // Size of direct color red mask (linear mode)
-  UINT8                                 LinRedFieldPosition;    // Bit posiiton of lsb of red mask (linear modes)
-  UINT8                                 LinGreenMaskSize;       // Size of direct color green mask (linear mode)
-  UINT8                                 LinGreenFieldPosition;  // Bit posiiton of lsb of green mask (linear modes)
-  UINT8                                 LinBlueMaskSize;        // Size of direct color blue mask (linear mode)
-  UINT8                                 LinBlueFieldPosition;   // Bit posiiton of lsb of blue mask (linear modes)
-  UINT8                                 LinRsvdMaskSize;        // Size of direct color reserved mask (linear mode)
-  UINT8                                 LinRsvdFieldPosition;   // Bit posiiton of lsb of reserved mask (linear modes)
-  UINT32                                MaxPixelClock;          // Maximum pixel clock (in Hz) for graphics mode
-  UINT8                                 Pad[190];               // Pad to 256 byte block size
+  UINT16    LinBytesPerScanLine;                                // Bytes/scan line for linear modes
+  UINT8     BnkNumberOfImagePages;                              // Number of images for banked modes
+  UINT8     LinNumberOfImagePages;                              // Number of images for linear modes
+  UINT8     LinRedMaskSize;                                     // Size of direct color red mask (linear mode)
+  UINT8     LinRedFieldPosition;                                // Bit posiiton of lsb of red mask (linear modes)
+  UINT8     LinGreenMaskSize;                                   // Size of direct color green mask (linear mode)
+  UINT8     LinGreenFieldPosition;                              // Bit posiiton of lsb of green mask (linear modes)
+  UINT8     LinBlueMaskSize;                                    // Size of direct color blue mask (linear mode)
+  UINT8     LinBlueFieldPosition;                               // Bit posiiton of lsb of blue mask (linear modes)
+  UINT8     LinRsvdMaskSize;                                    // Size of direct color reserved mask (linear mode)
+  UINT8     LinRsvdFieldPosition;                               // Bit posiiton of lsb of reserved mask (linear modes)
+  UINT32    MaxPixelClock;                                      // Maximum pixel clock (in Hz) for graphics mode
+  UINT8     Pad[190];                                           // Pad to 256 byte block size
 } VESA_BIOS_EXTENSIONS_MODE_INFORMATION_BLOCK;
 
 //
@@ -363,31 +363,31 @@ typedef struct {
 #define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_HARDWARE  0x0001  // 0: Mode not supported in handware
 // 1: Mode supported in handware
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_TTY 0x0004  // 0: TTY Output functions not supported by BIOS
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_TTY  0x0004 // 0: TTY Output functions not supported by BIOS
 // 1: TTY Output functions supported by BIOS
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_COLOR 0x0008  // 0: Monochrome mode
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_COLOR  0x0008 // 0: Monochrome mode
 // 1: Color mode
 //
 #define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_GRAPHICS  0x0010  // 0: Text mode
 // 1: Graphics mode
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_VGA 0x0020  // 0: VGA compatible mode
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_VGA  0x0020 // 0: VGA compatible mode
 // 1: Not a VGA compatible mode
 //
 #define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NOT_WINDOWED  0x0040  // 0: VGA compatible windowed memory mode
 // 1: Not a VGA compatible windowed memory mode
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER 0x0080  // 0: No linear fram buffer mode available
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_LINEAR_FRAME_BUFFER  0x0080 // 0: No linear fram buffer mode available
 // 1: Linear frame buffer mode available
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_DOUBLE_SCAN 0x0100  // 0: No double scan mode available
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_DOUBLE_SCAN  0x0100 // 0: No double scan mode available
 // 1: Double scan mode available
 //
 #define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_INTERLACED  0x0200  // 0: No interlaced mode is available
 // 1: Interlaced mode is available
 //
-#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NO_TRIPPLE_BUFFER 0x0400  // 0: No hardware triple buffer mode support available
+#define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_NO_TRIPPLE_BUFFER  0x0400 // 0: No hardware triple buffer mode support available
 // 1: Hardware triple buffer mode support available
 //
 #define VESA_BIOS_EXTENSIONS_MODE_ATTRIBUTE_STEREOSCOPIC  0x0800  // 0: No hardware steroscopic display support
@@ -398,7 +398,7 @@ typedef struct {
 //
 // Super VGA Mode Information Block WinAAttribite/WinBAttributes field bit definitions
 //
-#define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_RELOCATABLE 0x01  // 0: Single non-relocatable window only
+#define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_RELOCATABLE  0x01 // 0: Single non-relocatable window only
 // 1: Relocatable window(s) are supported
 //
 #define VESA_BIOS_EXTENSIONS_WINX_ATTRIBUTE_READABLE  0x02  // 0: Window is not readable
@@ -418,38 +418,38 @@ typedef struct {
 // Super VGA Memory Models
 //
 typedef enum {
-  MemPL = 3,  // Planar memory model
-  MemPK = 4,  // Packed pixel memory model
-  MemRGB= 6,  // Direct color RGB memory model
-  MemYUV= 7   // Direct color YUV memory model
+  MemPL  = 3, // Planar memory model
+  MemPK  = 4, // Packed pixel memory model
+  MemRGB = 6, // Direct color RGB memory model
+  MemYUV = 7  // Direct color YUV memory model
 } VESA_BIOS_EXTENSIONS_MEMORY_MODELS;
 
 //
 // Super VGA CRTC Information Block
 //
 typedef struct {
-  UINT16  HorizontalTotal;      // Horizontal total in pixels
-  UINT16  HorizontalSyncStart;  // Horizontal sync start in pixels
-  UINT16  HorizontalSyncEnd;    // Horizontal sync end in pixels
-  UINT16  VericalTotal;         // Vertical total in pixels
-  UINT16  VericalSyncStart;     // Vertical sync start in pixels
-  UINT16  VericalSyncEnd;       // Vertical sync end in pixels
-  UINT8   Flags;                // Flags (Interlaced/DoubleScan/etc).
-  UINT32  PixelClock;           // Pixel clock in units of Hz
-  UINT16  RefreshRate;          // Refresh rate in units of 0.01 Hz
-  UINT8   Reserved[40];         // Pad
+  UINT16    HorizontalTotal;     // Horizontal total in pixels
+  UINT16    HorizontalSyncStart; // Horizontal sync start in pixels
+  UINT16    HorizontalSyncEnd;   // Horizontal sync end in pixels
+  UINT16    VericalTotal;        // Vertical total in pixels
+  UINT16    VericalSyncStart;    // Vertical sync start in pixels
+  UINT16    VericalSyncEnd;      // Vertical sync end in pixels
+  UINT8     Flags;               // Flags (Interlaced/DoubleScan/etc).
+  UINT32    PixelClock;          // Pixel clock in units of Hz
+  UINT16    RefreshRate;         // Refresh rate in units of 0.01 Hz
+  UINT8     Reserved[40];        // Pad
 } VESA_BIOS_EXTENSIONS_CRTC_INFORMATION_BLOCK;
 
-#define VESA_BIOS_EXTENSIONS_CRTC_FLAGS_DOUBLE_SCAN 0x01  // 0: Graphics mode is not souble scanned
+#define VESA_BIOS_EXTENSIONS_CRTC_FLAGS_DOUBLE_SCAN  0x01 // 0: Graphics mode is not souble scanned
 // 1: Graphics mode is double scanned
 //
-#define VESA_BIOS_EXTENSIONS_CRTC_FLAGSINTERLACED 0x02  // 0: Graphics mode is not interlaced
+#define VESA_BIOS_EXTENSIONS_CRTC_FLAGSINTERLACED  0x02 // 0: Graphics mode is not interlaced
 // 1: Graphics mode is interlaced
 //
 #define VESA_BIOS_EXTENSIONS_CRTC_HORIZONTAL_SYNC_NEGATIVE  0x04  // 0: Horizontal sync polarity is positive(+)
 // 0: Horizontal sync polarity is negative(-)
 //
-#define VESA_BIOS_EXTENSIONS_CRTC_VERITICAL_SYNC_NEGATIVE 0x08  // 0: Verical sync polarity is positive(+)
+#define VESA_BIOS_EXTENSIONS_CRTC_VERITICAL_SYNC_NEGATIVE  0x08 // 0: Verical sync polarity is positive(+)
 // 0: Verical sync polarity is negative(-)
 //
 // Turn off byte packing of data structures

+ 0 - 1
OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.c

@@ -29,4 +29,3 @@ CsmSupportLibConstructor (
 
   return EFI_SUCCESS;
 }
-

+ 0 - 1
OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.h

@@ -46,4 +46,3 @@ LegacyBiosPlatformInstall (
   );
 
 #endif
-

+ 19 - 21
OvmfPkg/Csm/CsmSupportLib/LegacyInterrupt.c

@@ -12,25 +12,24 @@
 //
 // Handle for the Legacy Interrupt Protocol instance produced by this driver
 //
-STATIC EFI_HANDLE mLegacyInterruptHandle = NULL;
+STATIC EFI_HANDLE  mLegacyInterruptHandle = NULL;
 
 //
 // Legacy Interrupt Device number (0x01 on piix4, 0x1f on q35/mch)
 //
-STATIC UINT8      mLegacyInterruptDevice;
+STATIC UINT8  mLegacyInterruptDevice;
 
 //
 // The Legacy Interrupt Protocol instance produced by this driver
 //
-STATIC EFI_LEGACY_INTERRUPT_PROTOCOL mLegacyInterrupt = {
+STATIC EFI_LEGACY_INTERRUPT_PROTOCOL  mLegacyInterrupt = {
   GetNumberPirqs,
   GetLocation,
   ReadPirq,
   WritePirq
 };
 
-STATIC UINT8 PirqReg[MAX_PIRQ_NUMBER] = { PIRQA, PIRQB, PIRQC, PIRQD, PIRQE, PIRQF, PIRQG, PIRQH };
-
+STATIC UINT8  PirqReg[MAX_PIRQ_NUMBER] = { PIRQA, PIRQB, PIRQC, PIRQD, PIRQE, PIRQF, PIRQG, PIRQH };
 
 /**
   Return the number of PIRQs supported by this chipset.
@@ -53,7 +52,6 @@ GetNumberPirqs (
   return EFI_SUCCESS;
 }
 
-
 /**
   Return PCI location of this device.
   $PIR table requires this info.
@@ -82,7 +80,6 @@ GetLocation (
   return EFI_SUCCESS;
 }
 
-
 /**
   Builds the PCI configuration address for the register specified by PirqNumber
 
@@ -95,12 +92,12 @@ GetAddress (
   UINT8  PirqNumber
   )
 {
-  return PCI_LIB_ADDRESS(
-          LEGACY_INT_BUS,
-          mLegacyInterruptDevice,
-          LEGACY_INT_FUNC,
-          PirqReg[PirqNumber]
-          );
+  return PCI_LIB_ADDRESS (
+           LEGACY_INT_BUS,
+           mLegacyInterruptDevice,
+           LEGACY_INT_FUNC,
+           PirqReg[PirqNumber]
+           );
 }
 
 /**
@@ -127,12 +124,11 @@ ReadPirq (
   }
 
   *PirqData = PciRead8 (GetAddress (PirqNumber));
-  *PirqData = (UINT8) (*PirqData & 0x7f);
+  *PirqData = (UINT8)(*PirqData & 0x7f);
 
   return EFI_SUCCESS;
 }
 
-
 /**
   Write the given PIRQ register
 
@@ -160,7 +156,6 @@ WritePirq (
   return EFI_SUCCESS;
 }
 
-
 /**
   Initialize Legacy Interrupt support
 
@@ -178,7 +173,7 @@ LegacyInterruptInstall (
   //
   // Make sure the Legacy Interrupt Protocol is not already installed in the system
   //
-  ASSERT_PROTOCOL_ALREADY_INSTALLED(NULL, &gEfiLegacyInterruptProtocolGuid);
+  ASSERT_PROTOCOL_ALREADY_INSTALLED (NULL, &gEfiLegacyInterruptProtocolGuid);
 
   //
   // Query Host Bridge DID to determine platform type, then set device number
@@ -192,8 +187,12 @@ LegacyInterruptInstall (
       mLegacyInterruptDevice = LEGACY_INT_DEV_Q35;
       break;
     default:
-      DEBUG ((DEBUG_ERROR, "%a: Unknown Host Bridge Device ID: 0x%04x\n",
-        __FUNCTION__, HostBridgeDevId));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Unknown Host Bridge Device ID: 0x%04x\n",
+        __FUNCTION__,
+        HostBridgeDevId
+        ));
       ASSERT (FALSE);
       return EFI_UNSUPPORTED;
   }
@@ -207,8 +206,7 @@ LegacyInterruptInstall (
                   &mLegacyInterrupt,
                   NULL
                   );
-  ASSERT_EFI_ERROR(Status);
+  ASSERT_EFI_ERROR (Status);
 
   return Status;
 }
-

+ 12 - 14
OvmfPkg/Csm/CsmSupportLib/LegacyInterrupt.h

@@ -20,23 +20,22 @@
 #include <Library/UefiBootServicesTableLib.h>
 #include <OvmfPlatforms.h>
 
-
-#define LEGACY_INT_BUS  0
+#define LEGACY_INT_BUS        0
 #define LEGACY_INT_DEV_PIIX4  0x01
 #define LEGACY_INT_DEV_Q35    0x1f
-#define LEGACY_INT_FUNC 0
+#define LEGACY_INT_FUNC       0
 
-#define PIRQN           0x00  // PIRQ Null
-#define PIRQA           0x60
-#define PIRQB           0x61
-#define PIRQC           0x62
-#define PIRQD           0x63
-#define PIRQE           0x68
-#define PIRQF           0x69
-#define PIRQG           0x6A
-#define PIRQH           0x6B
+#define PIRQN  0x00           // PIRQ Null
+#define PIRQA  0x60
+#define PIRQB  0x61
+#define PIRQC  0x62
+#define PIRQD  0x63
+#define PIRQE  0x68
+#define PIRQF  0x69
+#define PIRQG  0x6A
+#define PIRQH  0x6B
 
-#define MAX_PIRQ_NUMBER 8
+#define MAX_PIRQ_NUMBER  8
 
 /**
   Return the number of PIRQs supported by this chipset.
@@ -114,4 +113,3 @@ WritePirq (
   );
 
 #endif
-

File diff suppressed because it is too large
+ 283 - 256
OvmfPkg/Csm/CsmSupportLib/LegacyPlatform.c


+ 25 - 26
OvmfPkg/Csm/CsmSupportLib/LegacyPlatform.h

@@ -38,54 +38,54 @@
 //
 // PIRQ information constants.
 //
-#define MAX_IRQ_ROUTING_ENTRIES     6
-#define MAX_IRQ_PRIORITY_ENTRIES    7
+#define MAX_IRQ_ROUTING_ENTRIES   6
+#define MAX_IRQ_PRIORITY_ENTRIES  7
 
-#define V_INTEL_VENDOR_ID         0x8086
-#define V_PIIX4_IDE_DEVICE_ID     0x7010
+#define V_INTEL_VENDOR_ID      0x8086
+#define V_PIIX4_IDE_DEVICE_ID  0x7010
 
 //
 // Type declarations
 //
 typedef struct {
-  UINT8   SetupValue;
-  UINT16  DeviceType;
-  UINT8   Class;
-  UINT8   SubClass;
+  UINT8     SetupValue;
+  UINT16    DeviceType;
+  UINT8     Class;
+  UINT8     SubClass;
 } EFI_SETUP_BBS_MAP;
 
 typedef struct {
-  UINT8          Class;
-  UINT8          SubClass;
+  UINT8    Class;
+  UINT8    SubClass;
 } PCI_CLASS_RECORD;
 
 typedef struct {
-  EFI_LEGACY_PIRQ_TABLE_HEADER  PirqTable;
-  EFI_LEGACY_IRQ_ROUTING_ENTRY  IrqRoutingEntry[MAX_IRQ_ROUTING_ENTRIES];
+  EFI_LEGACY_PIRQ_TABLE_HEADER    PirqTable;
+  EFI_LEGACY_IRQ_ROUTING_ENTRY    IrqRoutingEntry[MAX_IRQ_ROUTING_ENTRIES];
 } EFI_LEGACY_PIRQ_TABLE;
 
 typedef struct {
-  EFI_HANDLE  Handle;
-  UINT16      Vid;
-  UINT16      Did;
-  UINT16      SvId;
-  UINT16      SysId;
+  EFI_HANDLE    Handle;
+  UINT16        Vid;
+  UINT16        Did;
+  UINT16        SvId;
+  UINT16        SysId;
 } DEVICE_STRUCTURE;
 
 typedef struct {
-  EFI_GUID  FileName;
-  UINTN     Valid;
+  EFI_GUID    FileName;
+  UINTN       Valid;
 } SYSTEM_ROM_TABLE;
 
 typedef struct {
-  UINT32                            Signature;
-  EFI_HANDLE                        Handle;
-  EFI_LEGACY_BIOS_PLATFORM_PROTOCOL LegacyBiosPlatform;
-  EFI_HANDLE                        ImageHandle;
-  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL   *PciRootBridgeIo;
+  UINT32                               Signature;
+  EFI_HANDLE                           Handle;
+  EFI_LEGACY_BIOS_PLATFORM_PROTOCOL    LegacyBiosPlatform;
+  EFI_HANDLE                           ImageHandle;
+  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL      *PciRootBridgeIo;
 } LEGACY_BIOS_PLATFORM_INSTANCE;
 
-#define LEGACY_BIOS_PLATFORM_INSTANCE_SIGNATURE   SIGNATURE_32('P','B','I','O')
+#define LEGACY_BIOS_PLATFORM_INSTANCE_SIGNATURE  SIGNATURE_32('P','B','I','O')
 
 #define LEGACY_BIOS_PLATFORM_INSTANCE_FROM_THIS(this) \
   CR (this, \
@@ -95,4 +95,3 @@ typedef struct {
       )
 
 #endif
-

+ 100 - 92
OvmfPkg/Csm/CsmSupportLib/LegacyRegion.c

@@ -29,55 +29,55 @@
 // 0xEC000-0xEFFFF  0x5f  0x96  5:4   00 = DRAM Disabled, 01= Read Only, 10 = Write Only, 11 = Normal
 // 0xF0000-0xFFFFF  0x59  0x90  5:4   00 = DRAM Disabled, 01= Read Only, 10 = Write Only, 11 = Normal
 //
-STATIC LEGACY_MEMORY_SECTION_INFO   mSectionArray[] = {
-  {0xC0000, SIZE_16KB, FALSE, FALSE},
-  {0xC4000, SIZE_16KB, FALSE, FALSE},
-  {0xC8000, SIZE_16KB, FALSE, FALSE},
-  {0xCC000, SIZE_16KB, FALSE, FALSE},
-  {0xD0000, SIZE_16KB, FALSE, FALSE},
-  {0xD4000, SIZE_16KB, FALSE, FALSE},
-  {0xD8000, SIZE_16KB, FALSE, FALSE},
-  {0xDC000, SIZE_16KB, FALSE, FALSE},
-  {0xE0000, SIZE_16KB, FALSE, FALSE},
-  {0xE4000, SIZE_16KB, FALSE, FALSE},
-  {0xE8000, SIZE_16KB, FALSE, FALSE},
-  {0xEC000, SIZE_16KB, FALSE, FALSE},
-  {0xF0000, SIZE_64KB, FALSE, FALSE}
+STATIC LEGACY_MEMORY_SECTION_INFO  mSectionArray[] = {
+  { 0xC0000, SIZE_16KB, FALSE, FALSE },
+  { 0xC4000, SIZE_16KB, FALSE, FALSE },
+  { 0xC8000, SIZE_16KB, FALSE, FALSE },
+  { 0xCC000, SIZE_16KB, FALSE, FALSE },
+  { 0xD0000, SIZE_16KB, FALSE, FALSE },
+  { 0xD4000, SIZE_16KB, FALSE, FALSE },
+  { 0xD8000, SIZE_16KB, FALSE, FALSE },
+  { 0xDC000, SIZE_16KB, FALSE, FALSE },
+  { 0xE0000, SIZE_16KB, FALSE, FALSE },
+  { 0xE4000, SIZE_16KB, FALSE, FALSE },
+  { 0xE8000, SIZE_16KB, FALSE, FALSE },
+  { 0xEC000, SIZE_16KB, FALSE, FALSE },
+  { 0xF0000, SIZE_64KB, FALSE, FALSE }
 };
 
 STATIC PAM_REGISTER_VALUE  mRegisterValues440[] = {
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM1), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM1), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM2), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM2), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM3), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM3), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM4), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM4), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM5), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM5), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM6), 0x01, 0x02},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM6), 0x10, 0x20},
-  {PMC_REGISTER_PIIX4 (PIIX4_PAM0), 0x10, 0x20}
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM1), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM1), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM2), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM2), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM3), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM3), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM4), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM4), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM5), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM5), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM6), 0x01, 0x02 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM6), 0x10, 0x20 },
+  { PMC_REGISTER_PIIX4 (PIIX4_PAM0), 0x10, 0x20 }
 };
 
 STATIC PAM_REGISTER_VALUE  mRegisterValuesQ35[] = {
-  {DRAMC_REGISTER_Q35 (MCH_PAM1), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM1), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM2), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM2), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM3), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM3), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM4), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM4), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM5), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM5), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM6), 0x01, 0x02},
-  {DRAMC_REGISTER_Q35 (MCH_PAM6), 0x10, 0x20},
-  {DRAMC_REGISTER_Q35 (MCH_PAM0), 0x10, 0x20}
+  { DRAMC_REGISTER_Q35 (MCH_PAM1), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM1), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM2), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM2), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM3), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM3), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM4), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM4), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM5), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM5), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM6), 0x01, 0x02 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM6), 0x10, 0x20 },
+  { DRAMC_REGISTER_Q35 (MCH_PAM0), 0x10, 0x20 }
 };
 
-STATIC PAM_REGISTER_VALUE *mRegisterValues;
+STATIC PAM_REGISTER_VALUE  *mRegisterValues;
 
 //
 // Handle used to install the Legacy Region Protocol
@@ -98,25 +98,26 @@ STATIC EFI_LEGACY_REGION2_PROTOCOL  mLegacyRegion2 = {
 STATIC
 EFI_STATUS
 LegacyRegionManipulationInternal (
-  IN  UINT32                  Start,
-  IN  UINT32                  Length,
-  IN  BOOLEAN                 *ReadEnable,
-  IN  BOOLEAN                 *WriteEnable,
-  OUT UINT32                  *Granularity
+  IN  UINT32   Start,
+  IN  UINT32   Length,
+  IN  BOOLEAN  *ReadEnable,
+  IN  BOOLEAN  *WriteEnable,
+  OUT UINT32   *Granularity
   )
 {
-  UINT32                        EndAddress;
-  UINTN                         Index;
-  UINTN                         StartIndex;
+  UINT32  EndAddress;
+  UINTN   Index;
+  UINTN   StartIndex;
 
   //
   // Validate input parameters.
   //
-  if (Length == 0 || Granularity == NULL) {
+  if ((Length == 0) || (Granularity == NULL)) {
     return EFI_INVALID_PARAMETER;
   }
+
   EndAddress = Start + Length - 1;
-  if ((Start < PAM_BASE_ADDRESS) || EndAddress > PAM_LIMIT_ADDRESS) {
+  if ((Start < PAM_BASE_ADDRESS) || (EndAddress > PAM_LIMIT_ADDRESS)) {
     return EFI_INVALID_PARAMETER;
   }
 
@@ -130,6 +131,7 @@ LegacyRegionManipulationInternal (
       break;
     }
   }
+
   ASSERT (Index < ARRAY_SIZE (mSectionArray));
 
   //
@@ -145,10 +147,11 @@ LegacyRegionManipulationInternal (
       } else {
         PciAnd8 (
           mRegisterValues[Index].PAMRegPciLibAddress,
-          (UINT8) (~mRegisterValues[Index].ReadEnableData)
+          (UINT8)(~mRegisterValues[Index].ReadEnableData)
           );
       }
     }
+
     if (WriteEnable != NULL) {
       if (*WriteEnable) {
         PciOr8 (
@@ -158,7 +161,7 @@ LegacyRegionManipulationInternal (
       } else {
         PciAnd8 (
           mRegisterValues[Index].PAMRegPciLibAddress,
-          (UINT8) (~mRegisterValues[Index].WriteEnableData)
+          (UINT8)(~mRegisterValues[Index].WriteEnableData)
           );
       }
     }
@@ -171,6 +174,7 @@ LegacyRegionManipulationInternal (
       break;
     }
   }
+
   ASSERT (Index < ARRAY_SIZE (mSectionArray));
 
   return EFI_SUCCESS;
@@ -179,30 +183,31 @@ LegacyRegionManipulationInternal (
 STATIC
 EFI_STATUS
 LegacyRegionGetInfoInternal (
-  OUT UINT32                        *DescriptorCount,
-  OUT LEGACY_MEMORY_SECTION_INFO    **Descriptor
+  OUT UINT32                      *DescriptorCount,
+  OUT LEGACY_MEMORY_SECTION_INFO  **Descriptor
   )
 {
-  UINTN    Index;
-  UINT8    PamValue;
+  UINTN  Index;
+  UINT8  PamValue;
 
   //
   // Check input parameters
   //
-  if (DescriptorCount == NULL || Descriptor == NULL) {
+  if ((DescriptorCount == NULL) || (Descriptor == NULL)) {
     return EFI_INVALID_PARAMETER;
   }
 
   //
   // Fill in current status of legacy region.
   //
-  *DescriptorCount = sizeof(mSectionArray) / sizeof (mSectionArray[0]);
+  *DescriptorCount = sizeof (mSectionArray) / sizeof (mSectionArray[0]);
   for (Index = 0; Index < *DescriptorCount; Index++) {
-    PamValue = PciRead8 (mRegisterValues[Index].PAMRegPciLibAddress);
+    PamValue                         = PciRead8 (mRegisterValues[Index].PAMRegPciLibAddress);
     mSectionArray[Index].ReadEnabled = FALSE;
     if ((PamValue & mRegisterValues[Index].ReadEnableData) != 0) {
       mSectionArray[Index].ReadEnabled = TRUE;
     }
+
     mSectionArray[Index].WriteEnabled = FALSE;
     if ((PamValue & mRegisterValues[Index].WriteEnableData) != 0) {
       mSectionArray[Index].WriteEnabled = TRUE;
@@ -250,7 +255,6 @@ LegacyRegion2Decode (
   return LegacyRegionManipulationInternal (Start, Length, On, NULL, Granularity);
 }
 
-
 /**
   Modify the hardware to disallow memory attribute changes in a region.
 
@@ -279,10 +283,10 @@ LegacyRegion2Decode (
 EFI_STATUS
 EFIAPI
 LegacyRegion2BootLock (
-  IN  EFI_LEGACY_REGION2_PROTOCOL         *This,
-  IN  UINT32                              Start,
-  IN  UINT32                              Length,
-  OUT UINT32                              *Granularity
+  IN  EFI_LEGACY_REGION2_PROTOCOL  *This,
+  IN  UINT32                       Start,
+  IN  UINT32                       Length,
+  OUT UINT32                       *Granularity
   )
 {
   if ((Start < 0xC0000) || ((Start + Length - 1) > 0xFFFFF)) {
@@ -292,7 +296,6 @@ LegacyRegion2BootLock (
   return EFI_UNSUPPORTED;
 }
 
-
 /**
   Modify the hardware to disallow memory writes in a region.
 
@@ -316,10 +319,10 @@ LegacyRegion2BootLock (
 EFI_STATUS
 EFIAPI
 LegacyRegion2Lock (
-  IN  EFI_LEGACY_REGION2_PROTOCOL *This,
-  IN  UINT32                      Start,
-  IN  UINT32                      Length,
-  OUT UINT32                      *Granularity
+  IN  EFI_LEGACY_REGION2_PROTOCOL  *This,
+  IN  UINT32                       Start,
+  IN  UINT32                       Length,
+  OUT UINT32                       *Granularity
   )
 {
   BOOLEAN  WriteEnable;
@@ -328,7 +331,6 @@ LegacyRegion2Lock (
   return LegacyRegionManipulationInternal (Start, Length, NULL, &WriteEnable, Granularity);
 }
 
-
 /**
   Modify the hardware to allow memory writes in a region.
 
@@ -391,11 +393,11 @@ LegacyRegionGetInfo (
   OUT EFI_LEGACY_REGION_DESCRIPTOR  **Descriptor
   )
 {
-  LEGACY_MEMORY_SECTION_INFO   *SectionInfo;
-  UINT32                       SectionCount;
-  EFI_LEGACY_REGION_DESCRIPTOR *DescriptorArray;
-  UINTN                        Index;
-  UINTN                        DescriptorIndex;
+  LEGACY_MEMORY_SECTION_INFO    *SectionInfo;
+  UINT32                        SectionCount;
+  EFI_LEGACY_REGION_DESCRIPTOR  *DescriptorArray;
+  UINTN                         Index;
+  UINTN                         DescriptorIndex;
 
   //
   // Get section numbers and information
@@ -416,10 +418,11 @@ LegacyRegionGetInfo (
     DescriptorArray[DescriptorIndex].Length      = SectionInfo[Index].Length;
     DescriptorArray[DescriptorIndex].Granularity = SectionInfo[Index].Length;
     if (SectionInfo[Index].ReadEnabled) {
-      DescriptorArray[DescriptorIndex].Attribute   = LegacyRegionDecoded;
+      DescriptorArray[DescriptorIndex].Attribute = LegacyRegionDecoded;
     } else {
-      DescriptorArray[DescriptorIndex].Attribute   = LegacyRegionNotDecoded;
+      DescriptorArray[DescriptorIndex].Attribute = LegacyRegionNotDecoded;
     }
+
     DescriptorIndex++;
 
     //
@@ -433,6 +436,7 @@ LegacyRegionGetInfo (
     } else {
       DescriptorArray[DescriptorIndex].Attribute = LegacyRegionWriteDisabled;
     }
+
     DescriptorIndex++;
 
     //
@@ -445,7 +449,7 @@ LegacyRegionGetInfo (
     DescriptorIndex++;
   }
 
-  *DescriptorCount = (UINT32) DescriptorIndex;
+  *DescriptorCount = (UINT32)DescriptorIndex;
   *Descriptor      = DescriptorArray;
 
   return EFI_SUCCESS;
@@ -470,17 +474,21 @@ LegacyRegionInit (
   //
   HostBridgeDevId = PcdGet16 (PcdOvmfHostBridgePciDevId);
   switch (HostBridgeDevId) {
-  case INTEL_82441_DEVICE_ID:
-    mRegisterValues = mRegisterValues440;
-    break;
-  case INTEL_Q35_MCH_DEVICE_ID:
-    mRegisterValues = mRegisterValuesQ35;
-    break;
-  default:
-    DEBUG ((DEBUG_ERROR, "%a: Unknown Host Bridge Device ID: 0x%04x\n",
-            __FUNCTION__, HostBridgeDevId));
-    ASSERT (FALSE);
-    return RETURN_UNSUPPORTED;
+    case INTEL_82441_DEVICE_ID:
+      mRegisterValues = mRegisterValues440;
+      break;
+    case INTEL_Q35_MCH_DEVICE_ID:
+      mRegisterValues = mRegisterValuesQ35;
+      break;
+    default:
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Unknown Host Bridge Device ID: 0x%04x\n",
+        __FUNCTION__,
+        HostBridgeDevId
+        ));
+      ASSERT (FALSE);
+      return RETURN_UNSUPPORTED;
   }
 
   //
@@ -488,11 +496,11 @@ LegacyRegionInit (
   //
   Status = gBS->InstallMultipleProtocolInterfaces (
                   &mHandle,
-                  &gEfiLegacyRegion2ProtocolGuid, &mLegacyRegion2,
+                  &gEfiLegacyRegion2ProtocolGuid,
+                  &mLegacyRegion2,
                   NULL
                   );
   ASSERT_EFI_ERROR (Status);
 
   return Status;
 }
-

+ 15 - 16
OvmfPkg/Csm/CsmSupportLib/LegacyRegion.h

@@ -31,19 +31,19 @@
 // Describes Legacy Region blocks and status.
 //
 typedef struct {
-  UINT32  Start;
-  UINT32  Length;
-  BOOLEAN ReadEnabled;
-  BOOLEAN WriteEnabled;
+  UINT32     Start;
+  UINT32     Length;
+  BOOLEAN    ReadEnabled;
+  BOOLEAN    WriteEnabled;
 } LEGACY_MEMORY_SECTION_INFO;
 
 //
 // Provides a map of the PAM registers and bits used to set Read/Write access.
 //
 typedef struct {
-  UINTN   PAMRegPciLibAddress;
-  UINT8   ReadEnableData;
-  UINT8   WriteEnableData;
+  UINTN    PAMRegPciLibAddress;
+  UINT8    ReadEnableData;
+  UINT8    WriteEnableData;
 } PAM_REGISTER_VALUE;
 
 /**
@@ -103,10 +103,10 @@ LegacyRegion2Decode (
 EFI_STATUS
 EFIAPI
 LegacyRegion2Lock (
-  IN  EFI_LEGACY_REGION2_PROTOCOL *This,
-  IN  UINT32                      Start,
-  IN  UINT32                      Length,
-  OUT UINT32                      *Granularity
+  IN  EFI_LEGACY_REGION2_PROTOCOL  *This,
+  IN  UINT32                       Start,
+  IN  UINT32                       Length,
+  OUT UINT32                       *Granularity
   );
 
 /**
@@ -137,10 +137,10 @@ LegacyRegion2Lock (
 EFI_STATUS
 EFIAPI
 LegacyRegion2BootLock (
-  IN EFI_LEGACY_REGION2_PROTOCOL          *This,
-  IN  UINT32                              Start,
-  IN  UINT32                              Length,
-  OUT UINT32                              *Granularity
+  IN EFI_LEGACY_REGION2_PROTOCOL  *This,
+  IN  UINT32                      Start,
+  IN  UINT32                      Length,
+  OUT UINT32                      *Granularity
   );
 
 /**
@@ -200,4 +200,3 @@ LegacyRegionGetInfo (
   );
 
 #endif
-

+ 5 - 6
OvmfPkg/Csm/Include/Framework/BootScript.h

@@ -17,25 +17,24 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 ///
 /// S3 Boot Script Table identifier.
 ///
-#define FRAMEWORK_EFI_ACPI_S3_RESUME_SCRIPT_TABLE               0x00
+#define FRAMEWORK_EFI_ACPI_S3_RESUME_SCRIPT_TABLE  0x00
 ///
 /// The opcode is used to add a record for memory reads of the memory location and continues when the
 /// exit criteria is satisfied, or after a defined duration.
 ///
-#define FRAMEWORK_EFI_BOOT_SCRIPT_MEM_POLL_OPCODE               0x09
+#define FRAMEWORK_EFI_BOOT_SCRIPT_MEM_POLL_OPCODE  0x09
 ///
 /// The opcode is used to add a record for dispatching specified arbitrary code into a specified
 /// boot script table.
 ///
-#define FRAMEWORK_EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE             0x0D
+#define FRAMEWORK_EFI_BOOT_SCRIPT_DISPATCH_2_OPCODE  0x0D
 ///
 /// The opcode indicates the start of the boot script table.
 ///
-#define FRAMEWORK_EFI_BOOT_SCRIPT_TABLE_OPCODE                  0xAA
+#define FRAMEWORK_EFI_BOOT_SCRIPT_TABLE_OPCODE  0xAA
 ///
 /// The opcode indicates the end of the boot script table.
 ///
-#define FRAMEWORK_EFI_BOOT_SCRIPT_TERMINATE_OPCODE              0xFF
-
+#define FRAMEWORK_EFI_BOOT_SCRIPT_TERMINATE_OPCODE  0xFF
 
 #endif

+ 57 - 58
OvmfPkg/Csm/Include/Framework/DxeCis.h

@@ -33,35 +33,35 @@ typedef struct {
   //
   // Table header for the Framework EFI Runtime Services Table
   //
-  EFI_TABLE_HEADER                  Hdr;
+  EFI_TABLE_HEADER                Hdr;
   //
   // Time services
   //
-  EFI_GET_TIME                      GetTime;
-  EFI_SET_TIME                      SetTime;
-  EFI_GET_WAKEUP_TIME               GetWakeupTime;
-  EFI_SET_WAKEUP_TIME               SetWakeupTime;
+  EFI_GET_TIME                    GetTime;
+  EFI_SET_TIME                    SetTime;
+  EFI_GET_WAKEUP_TIME             GetWakeupTime;
+  EFI_SET_WAKEUP_TIME             SetWakeupTime;
   //
   // Virtual memory services
   //
-  EFI_SET_VIRTUAL_ADDRESS_MAP       SetVirtualAddressMap;
-  EFI_CONVERT_POINTER               ConvertPointer;
+  EFI_SET_VIRTUAL_ADDRESS_MAP     SetVirtualAddressMap;
+  EFI_CONVERT_POINTER             ConvertPointer;
   //
   // Variable services
   //
-  EFI_GET_VARIABLE                  GetVariable;
-  EFI_GET_NEXT_VARIABLE_NAME        GetNextVariableName;
-  EFI_SET_VARIABLE                  SetVariable;
+  EFI_GET_VARIABLE                GetVariable;
+  EFI_GET_NEXT_VARIABLE_NAME      GetNextVariableName;
+  EFI_SET_VARIABLE                SetVariable;
   //
   // Misc
   //
-  EFI_GET_NEXT_HIGH_MONO_COUNT      GetNextHighMonotonicCount;
-  EFI_RESET_SYSTEM                  ResetSystem;
+  EFI_GET_NEXT_HIGH_MONO_COUNT    GetNextHighMonotonicCount;
+  EFI_RESET_SYSTEM                ResetSystem;
   ///
   /// A Framework extension to the EFI 1.10 runtime table.
   /// It was moved to a protocol to avoid conflict with UEFI 2.0.
   ///
-  EFI_REPORT_STATUS_CODE            ReportStatusCode;
+  EFI_REPORT_STATUS_CODE          ReportStatusCode;
 } FRAMEWORK_EFI_RUNTIME_SERVICES;
 
 ///
@@ -71,94 +71,94 @@ typedef struct {
   ///
   /// The table header for the EFI Boot Services Table.
   ///
-  EFI_TABLE_HEADER                Hdr;
+  EFI_TABLE_HEADER                              Hdr;
 
   //
   // Task Priority Services
   //
-  EFI_RAISE_TPL                   RaiseTPL;
-  EFI_RESTORE_TPL                 RestoreTPL;
+  EFI_RAISE_TPL                                 RaiseTPL;
+  EFI_RESTORE_TPL                               RestoreTPL;
 
   //
   // Memory Services
   //
-  EFI_ALLOCATE_PAGES              AllocatePages;
-  EFI_FREE_PAGES                  FreePages;
-  EFI_GET_MEMORY_MAP              GetMemoryMap;
-  EFI_ALLOCATE_POOL               AllocatePool;
-  EFI_FREE_POOL                   FreePool;
+  EFI_ALLOCATE_PAGES                            AllocatePages;
+  EFI_FREE_PAGES                                FreePages;
+  EFI_GET_MEMORY_MAP                            GetMemoryMap;
+  EFI_ALLOCATE_POOL                             AllocatePool;
+  EFI_FREE_POOL                                 FreePool;
 
   //
   // Event & Timer Services
   //
-  EFI_CREATE_EVENT                  CreateEvent;
-  EFI_SET_TIMER                     SetTimer;
-  EFI_WAIT_FOR_EVENT                WaitForEvent;
-  EFI_SIGNAL_EVENT                  SignalEvent;
-  EFI_CLOSE_EVENT                   CloseEvent;
-  EFI_CHECK_EVENT                   CheckEvent;
+  EFI_CREATE_EVENT                              CreateEvent;
+  EFI_SET_TIMER                                 SetTimer;
+  EFI_WAIT_FOR_EVENT                            WaitForEvent;
+  EFI_SIGNAL_EVENT                              SignalEvent;
+  EFI_CLOSE_EVENT                               CloseEvent;
+  EFI_CHECK_EVENT                               CheckEvent;
 
   //
   // Protocol Handler Services
   //
-  EFI_INSTALL_PROTOCOL_INTERFACE    InstallProtocolInterface;
-  EFI_REINSTALL_PROTOCOL_INTERFACE  ReinstallProtocolInterface;
-  EFI_UNINSTALL_PROTOCOL_INTERFACE  UninstallProtocolInterface;
-  EFI_HANDLE_PROTOCOL               HandleProtocol;
-  EFI_HANDLE_PROTOCOL               PcHandleProtocol;
-  EFI_REGISTER_PROTOCOL_NOTIFY      RegisterProtocolNotify;
-  EFI_LOCATE_HANDLE                 LocateHandle;
-  EFI_LOCATE_DEVICE_PATH            LocateDevicePath;
-  EFI_INSTALL_CONFIGURATION_TABLE   InstallConfigurationTable;
+  EFI_INSTALL_PROTOCOL_INTERFACE                InstallProtocolInterface;
+  EFI_REINSTALL_PROTOCOL_INTERFACE              ReinstallProtocolInterface;
+  EFI_UNINSTALL_PROTOCOL_INTERFACE              UninstallProtocolInterface;
+  EFI_HANDLE_PROTOCOL                           HandleProtocol;
+  EFI_HANDLE_PROTOCOL                           PcHandleProtocol;
+  EFI_REGISTER_PROTOCOL_NOTIFY                  RegisterProtocolNotify;
+  EFI_LOCATE_HANDLE                             LocateHandle;
+  EFI_LOCATE_DEVICE_PATH                        LocateDevicePath;
+  EFI_INSTALL_CONFIGURATION_TABLE               InstallConfigurationTable;
 
   //
   // Image Services
   //
-  EFI_IMAGE_LOAD                    LoadImage;
-  EFI_IMAGE_START                   StartImage;
-  EFI_EXIT                          Exit;
-  EFI_IMAGE_UNLOAD                  UnloadImage;
-  EFI_EXIT_BOOT_SERVICES            ExitBootServices;
+  EFI_IMAGE_LOAD                                LoadImage;
+  EFI_IMAGE_START                               StartImage;
+  EFI_EXIT                                      Exit;
+  EFI_IMAGE_UNLOAD                              UnloadImage;
+  EFI_EXIT_BOOT_SERVICES                        ExitBootServices;
 
   //
   // Miscellaneous Services
   //
-  EFI_GET_NEXT_MONOTONIC_COUNT      GetNextMonotonicCount;
-  EFI_STALL                         Stall;
-  EFI_SET_WATCHDOG_TIMER            SetWatchdogTimer;
+  EFI_GET_NEXT_MONOTONIC_COUNT                  GetNextMonotonicCount;
+  EFI_STALL                                     Stall;
+  EFI_SET_WATCHDOG_TIMER                        SetWatchdogTimer;
 
   //
   // DriverSupport Services
   //
-  EFI_CONNECT_CONTROLLER            ConnectController;
-  EFI_DISCONNECT_CONTROLLER         DisconnectController;
+  EFI_CONNECT_CONTROLLER                        ConnectController;
+  EFI_DISCONNECT_CONTROLLER                     DisconnectController;
 
   //
   // Open and Close Protocol Services
   //
-  EFI_OPEN_PROTOCOL                 OpenProtocol;
-  EFI_CLOSE_PROTOCOL                CloseProtocol;
-  EFI_OPEN_PROTOCOL_INFORMATION     OpenProtocolInformation;
+  EFI_OPEN_PROTOCOL                             OpenProtocol;
+  EFI_CLOSE_PROTOCOL                            CloseProtocol;
+  EFI_OPEN_PROTOCOL_INFORMATION                 OpenProtocolInformation;
 
   //
   // Library Services
   //
-  EFI_PROTOCOLS_PER_HANDLE          ProtocolsPerHandle;
-  EFI_LOCATE_HANDLE_BUFFER          LocateHandleBuffer;
-  EFI_LOCATE_PROTOCOL               LocateProtocol;
-  EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES    InstallMultipleProtocolInterfaces;
-  EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES  UninstallMultipleProtocolInterfaces;
+  EFI_PROTOCOLS_PER_HANDLE                      ProtocolsPerHandle;
+  EFI_LOCATE_HANDLE_BUFFER                      LocateHandleBuffer;
+  EFI_LOCATE_PROTOCOL                           LocateProtocol;
+  EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES      InstallMultipleProtocolInterfaces;
+  EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES    UninstallMultipleProtocolInterfaces;
 
   //
   // 32-bit CRC Services
   //
-  EFI_CALCULATE_CRC32               CalculateCrc32;
+  EFI_CALCULATE_CRC32                           CalculateCrc32;
 
   //
   // Miscellaneous Services
   //
-  EFI_COPY_MEM                      CopyMem;
-  EFI_SET_MEM                       SetMem;
+  EFI_COPY_MEM                                  CopyMem;
+  EFI_SET_MEM                                   SetMem;
 } FRAMEWORK_EFI_BOOT_SERVICES;
 
 #define EFI_EVENT_RUNTIME_CONTEXT       0x20000000
@@ -167,4 +167,3 @@ typedef struct {
 #define EFI_EVENT_SIGNAL_LEGACY_BOOT    0x00000204
 
 #endif
-

+ 28 - 28
OvmfPkg/Csm/Include/Framework/FirmwareVolumeHeader.h

@@ -17,38 +17,38 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 ///
 /// Firmware Volume Block Attributes bit definitions.
 ///@{
-#define EFI_FVB_READ_DISABLED_CAP   0x00000001
-#define EFI_FVB_READ_ENABLED_CAP    0x00000002
-#define EFI_FVB_READ_STATUS         0x00000004
+#define EFI_FVB_READ_DISABLED_CAP  0x00000001
+#define EFI_FVB_READ_ENABLED_CAP   0x00000002
+#define EFI_FVB_READ_STATUS        0x00000004
 
 #define EFI_FVB_WRITE_DISABLED_CAP  0x00000008
 #define EFI_FVB_WRITE_ENABLED_CAP   0x00000010
 #define EFI_FVB_WRITE_STATUS        0x00000020
 
-#define EFI_FVB_LOCK_CAP            0x00000040
-#define EFI_FVB_LOCK_STATUS         0x00000080
+#define EFI_FVB_LOCK_CAP     0x00000040
+#define EFI_FVB_LOCK_STATUS  0x00000080
 
-#define EFI_FVB_STICKY_WRITE        0x00000200
-#define EFI_FVB_MEMORY_MAPPED       0x00000400
-#define EFI_FVB_ERASE_POLARITY      0x00000800
+#define EFI_FVB_STICKY_WRITE    0x00000200
+#define EFI_FVB_MEMORY_MAPPED   0x00000400
+#define EFI_FVB_ERASE_POLARITY  0x00000800
 
-#define EFI_FVB_ALIGNMENT_CAP       0x00008000
-#define EFI_FVB_ALIGNMENT_2         0x00010000
-#define EFI_FVB_ALIGNMENT_4         0x00020000
-#define EFI_FVB_ALIGNMENT_8         0x00040000
-#define EFI_FVB_ALIGNMENT_16        0x00080000
-#define EFI_FVB_ALIGNMENT_32        0x00100000
-#define EFI_FVB_ALIGNMENT_64        0x00200000
-#define EFI_FVB_ALIGNMENT_128       0x00400000
-#define EFI_FVB_ALIGNMENT_256       0x00800000
-#define EFI_FVB_ALIGNMENT_512       0x01000000
-#define EFI_FVB_ALIGNMENT_1K        0x02000000
-#define EFI_FVB_ALIGNMENT_2K        0x04000000
-#define EFI_FVB_ALIGNMENT_4K        0x08000000
-#define EFI_FVB_ALIGNMENT_8K        0x10000000
-#define EFI_FVB_ALIGNMENT_16K       0x20000000
-#define EFI_FVB_ALIGNMENT_32K       0x40000000
-#define EFI_FVB_ALIGNMENT_64K       0x80000000
+#define EFI_FVB_ALIGNMENT_CAP  0x00008000
+#define EFI_FVB_ALIGNMENT_2    0x00010000
+#define EFI_FVB_ALIGNMENT_4    0x00020000
+#define EFI_FVB_ALIGNMENT_8    0x00040000
+#define EFI_FVB_ALIGNMENT_16   0x00080000
+#define EFI_FVB_ALIGNMENT_32   0x00100000
+#define EFI_FVB_ALIGNMENT_64   0x00200000
+#define EFI_FVB_ALIGNMENT_128  0x00400000
+#define EFI_FVB_ALIGNMENT_256  0x00800000
+#define EFI_FVB_ALIGNMENT_512  0x01000000
+#define EFI_FVB_ALIGNMENT_1K   0x02000000
+#define EFI_FVB_ALIGNMENT_2K   0x04000000
+#define EFI_FVB_ALIGNMENT_4K   0x08000000
+#define EFI_FVB_ALIGNMENT_8K   0x10000000
+#define EFI_FVB_ALIGNMENT_16K  0x20000000
+#define EFI_FVB_ALIGNMENT_32K  0x40000000
+#define EFI_FVB_ALIGNMENT_64K  0x80000000
 ///@}
 
 /// This is a simple macro defined as the set of all FV Block Attributes signifying capabilities.
@@ -68,12 +68,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
   * @param Bit            A value indicating the bit(s) to test.
   *                       If multiple bits are set, the logical OR of their tests is the expression's value.
 **/
-#define EFI_TEST_FFS_ATTRIBUTES_BIT( FvbAttributes, TestAttributes, Bit) \
+#define EFI_TEST_FFS_ATTRIBUTES_BIT(FvbAttributes, TestAttributes, Bit) \
     ((BOOLEAN) \
       ((FvbAttributes & EFI_FVB_ERASE_POLARITY) ? (((~TestAttributes) & Bit) == Bit) : ((TestAttributes & Bit) == Bit)) \
     )
 
 /// A simple macro defined as the set of all FV Block Attribute bits that indicate status.
-#define EFI_FVB_STATUS    (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
+#define EFI_FVB_STATUS  (EFI_FVB_READ_STATUS | EFI_FVB_WRITE_STATUS | EFI_FVB_LOCK_STATUS)
 
-#endif  /* __EFI_FIRMWARE_VOLUME_HEADER_H__ */
+#endif /* __EFI_FIRMWARE_VOLUME_HEADER_H__ */

+ 10 - 10
OvmfPkg/Csm/Include/Framework/FirmwareVolumeImageFormat.h

@@ -17,16 +17,16 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // Bit values for AuthenticationStatus
 //
-#define EFI_AGGREGATE_AUTH_STATUS_PLATFORM_OVERRIDE 0x000001
-#define EFI_AGGREGATE_AUTH_STATUS_IMAGE_SIGNED      0x000002
-#define EFI_AGGREGATE_AUTH_STATUS_NOT_TESTED        0x000004
-#define EFI_AGGREGATE_AUTH_STATUS_TEST_FAILED       0x000008
-#define EFI_AGGREGATE_AUTH_STATUS_ALL               0x00000f
+#define EFI_AGGREGATE_AUTH_STATUS_PLATFORM_OVERRIDE  0x000001
+#define EFI_AGGREGATE_AUTH_STATUS_IMAGE_SIGNED       0x000002
+#define EFI_AGGREGATE_AUTH_STATUS_NOT_TESTED         0x000004
+#define EFI_AGGREGATE_AUTH_STATUS_TEST_FAILED        0x000008
+#define EFI_AGGREGATE_AUTH_STATUS_ALL                0x00000f
 
-#define EFI_LOCAL_AUTH_STATUS_PLATFORM_OVERRIDE     0x010000
-#define EFI_LOCAL_AUTH_STATUS_IMAGE_SIGNED          0x020000
-#define EFI_LOCAL_AUTH_STATUS_NOT_TESTED            0x040000
-#define EFI_LOCAL_AUTH_STATUS_TEST_FAILED           0x080000
-#define EFI_LOCAL_AUTH_STATUS_ALL                   0x0f0000
+#define EFI_LOCAL_AUTH_STATUS_PLATFORM_OVERRIDE  0x010000
+#define EFI_LOCAL_AUTH_STATUS_IMAGE_SIGNED       0x020000
+#define EFI_LOCAL_AUTH_STATUS_NOT_TESTED         0x040000
+#define EFI_LOCAL_AUTH_STATUS_TEST_FAILED        0x080000
+#define EFI_LOCAL_AUTH_STATUS_ALL                0x0f0000
 
 #endif

+ 204 - 205
OvmfPkg/Csm/Include/Framework/FrameworkInternalFormRepresentation.h

@@ -14,72 +14,72 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #ifndef __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__
 #define __FRAMEWORK_INTERNAL_FORMREPRESENTATION_H__
 
-typedef UINT16  STRING_REF;
+typedef UINT16 STRING_REF;
 
 //
 // IFR Op codes
 //
-#define FRAMEWORK_EFI_IFR_FORM_OP                 0x01
-#define FRAMEWORK_EFI_IFR_SUBTITLE_OP             0x02
-#define FRAMEWORK_EFI_IFR_TEXT_OP                 0x03
-#define EFI_IFR_GRAPHIC_OP                        0x04
-#define FRAMEWORK_EFI_IFR_ONE_OF_OP               0x05
-#define FRAMEWORK_EFI_IFR_CHECKBOX_OP             0x06
-#define FRAMEWORK_EFI_IFR_NUMERIC_OP              0x07
-#define FRAMEWORK_EFI_IFR_PASSWORD_OP             0x08
-#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP        0x09  ///< ONEOF OPTION field.
-#define FRAMEWORK_EFI_IFR_SUPPRESS_IF_OP          0x0A
-#define EFI_IFR_END_FORM_OP                       0x0B
-#define EFI_IFR_HIDDEN_OP                         0x0C
-#define EFI_IFR_END_FORM_SET_OP                   0x0D
-#define FRAMEWORK_EFI_IFR_FORM_SET_OP             0x0E
-#define FRAMEWORK_EFI_IFR_REF_OP                  0x0F
-#define EFI_IFR_END_ONE_OF_OP                     0x10
-#define FRAMEWORK_EFI_IFR_END_OP                  EFI_IFR_END_ONE_OF_OP
-#define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP      0x11
-#define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP            0x12
-#define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP             0x13
-#define FRAMEWORK_EFI_IFR_EQ_ID_LIST_OP           0x14
-#define FRAMEWORK_EFI_IFR_AND_OP                  0x15
-#define FRAMEWORK_EFI_IFR_OR_OP                   0x16
-#define FRAMEWORK_EFI_IFR_NOT_OP                  0x17
-#define EFI_IFR_END_IF_OP                         0x18  ///< For endif of inconsistentif, suppressif, grayoutif.
-#define EFI_IFR_GRAYOUT_IF_OP                     0x19
-#define FRAMEWORK_EFI_IFR_DATE_OP                 0x1A
-#define FRAMEWORK_EFI_IFR_TIME_OP                 0x1B
-#define FRAMEWORK_EFI_IFR_STRING_OP               0x1C
-#define EFI_IFR_LABEL_OP                          0x1D
-#define EFI_IFR_SAVE_DEFAULTS_OP                  0x1E
-#define EFI_IFR_RESTORE_DEFAULTS_OP               0x1F
-#define EFI_IFR_BANNER_OP                         0x20
-#define EFI_IFR_INVENTORY_OP                      0x21
-#define EFI_IFR_EQ_VAR_VAL_OP                     0x22
-#define FRAMEWORK_EFI_IFR_ORDERED_LIST_OP         0x23
-#define FRAMEWORK_EFI_IFR_VARSTORE_OP             0x24
-#define EFI_IFR_VARSTORE_SELECT_OP                0x25
-#define EFI_IFR_VARSTORE_SELECT_PAIR_OP           0x26
-#define EFI_IFR_LAST_OPCODE                       EFI_IFR_VARSTORE_SELECT_PAIR_OP
-#define EFI_IFR_OEM_OP                            0xFE
-#define EFI_IFR_NV_ACCESS_COMMAND                 0xFF
+#define FRAMEWORK_EFI_IFR_FORM_OP             0x01
+#define FRAMEWORK_EFI_IFR_SUBTITLE_OP         0x02
+#define FRAMEWORK_EFI_IFR_TEXT_OP             0x03
+#define EFI_IFR_GRAPHIC_OP                    0x04
+#define FRAMEWORK_EFI_IFR_ONE_OF_OP           0x05
+#define FRAMEWORK_EFI_IFR_CHECKBOX_OP         0x06
+#define FRAMEWORK_EFI_IFR_NUMERIC_OP          0x07
+#define FRAMEWORK_EFI_IFR_PASSWORD_OP         0x08
+#define FRAMEWORK_EFI_IFR_ONE_OF_OPTION_OP    0x09      ///< ONEOF OPTION field.
+#define FRAMEWORK_EFI_IFR_SUPPRESS_IF_OP      0x0A
+#define EFI_IFR_END_FORM_OP                   0x0B
+#define EFI_IFR_HIDDEN_OP                     0x0C
+#define EFI_IFR_END_FORM_SET_OP               0x0D
+#define FRAMEWORK_EFI_IFR_FORM_SET_OP         0x0E
+#define FRAMEWORK_EFI_IFR_REF_OP              0x0F
+#define EFI_IFR_END_ONE_OF_OP                 0x10
+#define FRAMEWORK_EFI_IFR_END_OP              EFI_IFR_END_ONE_OF_OP
+#define FRAMEWORK_EFI_IFR_INCONSISTENT_IF_OP  0x11
+#define FRAMEWORK_EFI_IFR_EQ_ID_VAL_OP        0x12
+#define FRAMEWORK_EFI_IFR_EQ_ID_ID_OP         0x13
+#define FRAMEWORK_EFI_IFR_EQ_ID_LIST_OP       0x14
+#define FRAMEWORK_EFI_IFR_AND_OP              0x15
+#define FRAMEWORK_EFI_IFR_OR_OP               0x16
+#define FRAMEWORK_EFI_IFR_NOT_OP              0x17
+#define EFI_IFR_END_IF_OP                     0x18      ///< For endif of inconsistentif, suppressif, grayoutif.
+#define EFI_IFR_GRAYOUT_IF_OP                 0x19
+#define FRAMEWORK_EFI_IFR_DATE_OP             0x1A
+#define FRAMEWORK_EFI_IFR_TIME_OP             0x1B
+#define FRAMEWORK_EFI_IFR_STRING_OP           0x1C
+#define EFI_IFR_LABEL_OP                      0x1D
+#define EFI_IFR_SAVE_DEFAULTS_OP              0x1E
+#define EFI_IFR_RESTORE_DEFAULTS_OP           0x1F
+#define EFI_IFR_BANNER_OP                     0x20
+#define EFI_IFR_INVENTORY_OP                  0x21
+#define EFI_IFR_EQ_VAR_VAL_OP                 0x22
+#define FRAMEWORK_EFI_IFR_ORDERED_LIST_OP     0x23
+#define FRAMEWORK_EFI_IFR_VARSTORE_OP         0x24
+#define EFI_IFR_VARSTORE_SELECT_OP            0x25
+#define EFI_IFR_VARSTORE_SELECT_PAIR_OP       0x26
+#define EFI_IFR_LAST_OPCODE                   EFI_IFR_VARSTORE_SELECT_PAIR_OP
+#define EFI_IFR_OEM_OP                        0xFE
+#define EFI_IFR_NV_ACCESS_COMMAND             0xFF
 
 //
 // Define values for the flags fields in some VFR opcodes. These are
 // bitmasks.
 //
-#define EFI_IFR_FLAG_DEFAULT            0x01
-#define EFI_IFR_FLAG_MANUFACTURING      0x02
-#define EFI_IFR_FLAG_INTERACTIVE        0x04
-#define EFI_IFR_FLAG_NV_ACCESS          0x08
-#define EFI_IFR_FLAG_RESET_REQUIRED     0x10
-#define EFI_IFR_FLAG_LATE_CHECK         0x20
-
-#define EFI_NON_DEVICE_CLASS              0x00  ///< Useful when you do not want something in the Device Manager.
-#define EFI_DISK_DEVICE_CLASS             0x01
-#define EFI_VIDEO_DEVICE_CLASS            0x02
-#define EFI_NETWORK_DEVICE_CLASS          0x04
-#define EFI_INPUT_DEVICE_CLASS            0x08
-#define EFI_ON_BOARD_DEVICE_CLASS         0x10
-#define EFI_OTHER_DEVICE_CLASS            0x20
+#define EFI_IFR_FLAG_DEFAULT         0x01
+#define EFI_IFR_FLAG_MANUFACTURING   0x02
+#define EFI_IFR_FLAG_INTERACTIVE     0x04
+#define EFI_IFR_FLAG_NV_ACCESS       0x08
+#define EFI_IFR_FLAG_RESET_REQUIRED  0x10
+#define EFI_IFR_FLAG_LATE_CHECK      0x20
+
+#define EFI_NON_DEVICE_CLASS       0x00         ///< Useful when you do not want something in the Device Manager.
+#define EFI_DISK_DEVICE_CLASS      0x01
+#define EFI_VIDEO_DEVICE_CLASS     0x02
+#define EFI_NETWORK_DEVICE_CLASS   0x04
+#define EFI_INPUT_DEVICE_CLASS     0x08
+#define EFI_ON_BOARD_DEVICE_CLASS  0x10
+#define EFI_OTHER_DEVICE_CLASS     0x20
 
 #define EFI_SETUP_APPLICATION_SUBCLASS    0x00
 #define EFI_GENERAL_APPLICATION_SUBCLASS  0x01
@@ -96,70 +96,69 @@ typedef UINT16  STRING_REF;
 ///
 #define EFI_IFR_FLAG_CREATED  128
 
-
 #pragma pack(1)
 //
 // IFR Structure definitions
 //
 typedef struct {
-  UINT8                             OpCode;
-  UINT8                             Length;
+  UINT8    OpCode;
+  UINT8    Length;
 } FRAMEWORK_EFI_IFR_OP_HEADER;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  EFI_GUID                          Guid;
-  STRING_REF                        FormSetTitle;
-  STRING_REF                        Help;
-  EFI_PHYSICAL_ADDRESS              CallbackHandle;
-  UINT16                            Class;
-  UINT16                            SubClass;
-  UINT16                            NvDataSize; ///< Set once; the size of the NV data as defined in the script.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  EFI_GUID                       Guid;
+  STRING_REF                     FormSetTitle;
+  STRING_REF                     Help;
+  EFI_PHYSICAL_ADDRESS           CallbackHandle;
+  UINT16                         Class;
+  UINT16                         SubClass;
+  UINT16                         NvDataSize;    ///< Set once; the size of the NV data as defined in the script.
 } FRAMEWORK_EFI_IFR_FORM_SET;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            FormId;
-  STRING_REF                        FormTitle;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         FormId;
+  STRING_REF                     FormTitle;
 } FRAMEWORK_EFI_IFR_FORM;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            LabelId;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         LabelId;
 } EFI_IFR_LABEL;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        SubTitle;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     SubTitle;
 } FRAMEWORK_EFI_IFR_SUBTITLE;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        Help;
-  STRING_REF                        Text;
-  STRING_REF                        TextTwo;
-  UINT8                             Flags;  ///< This is included solely for purposes of interactive/dynamic support.
-  UINT16                            Key;    ///< The value to be passed to the caller to identify this particular op-code.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     Help;
+  STRING_REF                     Text;
+  STRING_REF                     TextTwo;
+  UINT8                          Flags;     ///< This is included solely for purposes of interactive/dynamic support.
+  UINT16                         Key;       ///< The value to be passed to the caller to identify this particular op-code.
 } FRAMEWORK_EFI_IFR_TEXT;
 
 //
 // goto
 //
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            FormId;
-  STRING_REF                        Prompt;
-  STRING_REF                        Help;   ///< The string Token for the context-help.
-  UINT8                             Flags;  ///< This is included solely for purposes of interactive/dynamic support.
-  UINT16                            Key;    ///< The value to be passed to the caller to identify this particular op-code.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         FormId;
+  STRING_REF                     Prompt;
+  STRING_REF                     Help;      ///< The string Token for the context-help.
+  UINT8                          Flags;     ///< This is included solely for purposes of interactive/dynamic support.
+  UINT16                         Key;       ///< The value to be passed to the caller to identify this particular op-code.
 } FRAMEWORK_EFI_IFR_REF;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } EFI_IFR_END_FORM;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } EFI_IFR_END_FORM_SET;
 
 //
@@ -167,51 +166,51 @@ typedef struct {
 // code assumes this to be true, if this ever changes we need to revisit the InitializeTagStructures code
 //
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId; ///< The ID designating what the question is about...
-  UINT8                             Width;      ///< The Size of the Data being saved.
-  STRING_REF                        Prompt;     ///< The String Token for the Prompt.
-  STRING_REF                        Help;       ///< The string Token for the context-help.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;    ///< The ID designating what the question is about...
+  UINT8                          Width;         ///< The Size of the Data being saved.
+  STRING_REF                     Prompt;        ///< The String Token for the Prompt.
+  STRING_REF                     Help;          ///< The string Token for the context-help.
 } FRAMEWORK_EFI_IFR_ONE_OF;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId; ///< The offset in NV for storage of the data.
-  UINT8                             MaxEntries; ///< The maximum number of options in the ordered list (=size of NVStore).
-  STRING_REF                        Prompt;     ///< The string token for the prompt.
-  STRING_REF                        Help;       ///< The string token for the context-help.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;    ///< The offset in NV for storage of the data.
+  UINT8                          MaxEntries;    ///< The maximum number of options in the ordered list (=size of NVStore).
+  STRING_REF                     Prompt;        ///< The string token for the prompt.
+  STRING_REF                     Help;          ///< The string token for the context-help.
 } FRAMEWORK_EFI_IFR_ORDERED_LIST;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId; ///< The ID designating what the question is about...
-  UINT8                             Width;      ///< The Size of the Data being saved.
-  STRING_REF                        Prompt;     ///< The String Token for the Prompt.
-  STRING_REF                        Help;       ///< The string Token for the context-help.
-  UINT8                             Flags;      ///< If non-zero, it means that it is the default option.
-  UINT16                            Key;        ///< Value to be passed to caller to identify this particular op-code.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;    ///< The ID designating what the question is about...
+  UINT8                          Width;         ///< The Size of the Data being saved.
+  STRING_REF                     Prompt;        ///< The String Token for the Prompt.
+  STRING_REF                     Help;          ///< The string Token for the context-help.
+  UINT8                          Flags;         ///< If non-zero, it means that it is the default option.
+  UINT16                         Key;           ///< Value to be passed to caller to identify this particular op-code.
 } FRAMEWORK_EFI_IFR_CHECKBOX, EFI_IFR_CHECK_BOX;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        Option;     ///< The string token describing the option.
-  UINT16                            Value;      ///< The value associated with this option that is stored in the NVRAM.
-  UINT8                             Flags;      ///< If non-zero, it means that it is the default option.
-  UINT16                            Key;        ///< Value to be passed to caller to identify this particular op-code.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     Option;        ///< The string token describing the option.
+  UINT16                         Value;         ///< The value associated with this option that is stored in the NVRAM.
+  UINT8                          Flags;         ///< If non-zero, it means that it is the default option.
+  UINT16                         Key;           ///< Value to be passed to caller to identify this particular op-code.
 } FRAMEWORK_EFI_IFR_ONE_OF_OPTION;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId; ///< The ID designating what the question is about...
-  UINT8                             Width;      ///< The Size of the Data being saved.
-  STRING_REF                        Prompt;     ///< The String Token for the Prompt.
-  STRING_REF                        Help;       ///< The string Token for the context-help.
-  UINT8                             Flags;      ///< This is included solely for purposes of interactive/dynamic support.
-  UINT16                            Key;        ///< The value to be passed to caller to identify this particular op-code.
-  UINT16                            Minimum;
-  UINT16                            Maximum;
-  UINT16                            Step;       ///< Zero means manual input. Otherwise, arrow selection is called for.
-  UINT16                            Default;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;    ///< The ID designating what the question is about...
+  UINT8                          Width;         ///< The Size of the Data being saved.
+  STRING_REF                     Prompt;        ///< The String Token for the Prompt.
+  STRING_REF                     Help;          ///< The string Token for the context-help.
+  UINT8                          Flags;         ///< This is included solely for purposes of interactive/dynamic support.
+  UINT16                         Key;           ///< The value to be passed to caller to identify this particular op-code.
+  UINT16                         Minimum;
+  UINT16                         Maximum;
+  UINT16                         Step;          ///< Zero means manual input. Otherwise, arrow selection is called for.
+  UINT16                         Default;
 } FRAMEWORK_EFI_IFR_NUMERIC;
 
 //
@@ -223,50 +222,50 @@ typedef struct {
 // gRT->GetXXXX series of calls.
 //
 typedef struct {
-  FRAMEWORK_EFI_IFR_NUMERIC         Hour;
-  FRAMEWORK_EFI_IFR_NUMERIC         Minute;
-  FRAMEWORK_EFI_IFR_NUMERIC         Second;
+  FRAMEWORK_EFI_IFR_NUMERIC    Hour;
+  FRAMEWORK_EFI_IFR_NUMERIC    Minute;
+  FRAMEWORK_EFI_IFR_NUMERIC    Second;
 } FRAMEWORK_EFI_IFR_TIME;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_NUMERIC         Year;
-  FRAMEWORK_EFI_IFR_NUMERIC         Month;
-  FRAMEWORK_EFI_IFR_NUMERIC         Day;
+  FRAMEWORK_EFI_IFR_NUMERIC    Year;
+  FRAMEWORK_EFI_IFR_NUMERIC    Month;
+  FRAMEWORK_EFI_IFR_NUMERIC    Day;
 } FRAMEWORK_EFI_IFR_DATE;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId;///< The ID designating what the question is about...
-  UINT8                             Width;     ///< The Size of the Data being saved.
-  STRING_REF                        Prompt;    ///< The String Token for the Prompt.
-  STRING_REF                        Help;      ///< The string Token for the context-help.
-  UINT8                             Flags;     ///< This is included solely for purposes of interactive/dynamic support.
-  UINT16                            Key;       ///< The value to be passed to caller to identify this particular op-code.
-  UINT8                             MinSize;   ///< Minimum allowable sized password.
-  UINT8                             MaxSize;   ///< Maximum allowable sized password.
-  UINT16                            Encoding;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;   ///< The ID designating what the question is about...
+  UINT8                          Width;        ///< The Size of the Data being saved.
+  STRING_REF                     Prompt;       ///< The String Token for the Prompt.
+  STRING_REF                     Help;         ///< The string Token for the context-help.
+  UINT8                          Flags;        ///< This is included solely for purposes of interactive/dynamic support.
+  UINT16                         Key;          ///< The value to be passed to caller to identify this particular op-code.
+  UINT8                          MinSize;      ///< Minimum allowable sized password.
+  UINT8                          MaxSize;      ///< Maximum allowable sized password.
+  UINT16                         Encoding;
 } FRAMEWORK_EFI_IFR_PASSWORD;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId; ///< The ID designating what the question is about...
-  UINT8                             Width;      ///< The Size of the Data being saved.
-  STRING_REF                        Prompt;     ///< The String Token for the Prompt.
-  STRING_REF                        Help;       ///< The string Token for the context-help.
-  UINT8                             Flags;      ///< This is included solely for purposes of interactive/dynamic support.
-  UINT16                            Key;        ///< The value to be passed to caller to identify this particular op-code.
-  UINT8                             MinSize;    ///< Minimum allowable sized password.
-  UINT8                             MaxSize;    ///< Maximum allowable sized password.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;    ///< The ID designating what the question is about...
+  UINT8                          Width;         ///< The Size of the Data being saved.
+  STRING_REF                     Prompt;        ///< The String Token for the Prompt.
+  STRING_REF                     Help;          ///< The string Token for the context-help.
+  UINT8                          Flags;         ///< This is included solely for purposes of interactive/dynamic support.
+  UINT16                         Key;           ///< The value to be passed to caller to identify this particular op-code.
+  UINT8                          MinSize;       ///< Minimum allowable sized password.
+  UINT8                          MaxSize;       ///< Maximum allowable sized password.
 } FRAMEWORK_EFI_IFR_STRING;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } EFI_IFR_END_ONE_OF;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            Value;
-  UINT16                            Key;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         Value;
+  UINT16                         Key;
 } EFI_IFR_HIDDEN;
 
 ///
@@ -275,92 +274,92 @@ typedef struct {
 /// keep the inconsistant is for implementation needed.
 ///@{
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT8                             Flags;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT8                          Flags;
 } EFI_IFR_SUPPRESS;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT8                             Flags;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT8                          Flags;
 } EFI_IFR_GRAY_OUT;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        Popup;
-  UINT8                             Flags;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     Popup;
+  UINT8                          Flags;
 } EFI_IFR_INCONSISTENT;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId;   ///< The offset into variable storage.
-  UINT8                             Width;        ///< The size of variable storage.
-  UINT16                            Value;        ///< The value to compare against.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;      ///< The offset into variable storage.
+  UINT8                          Width;           ///< The size of variable storage.
+  UINT16                         Value;           ///< The value to compare against.
 } FRAMEWORK_EFI_IFR_EQ_ID_VAL;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId;   ///< The offset into variable storage.
-  UINT8                             Width;        ///< The size of variable storage.
-  UINT16                            ListLength;
-  UINT16                            ValueList[1];
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId;      ///< The offset into variable storage.
+  UINT8                          Width;           ///< The size of variable storage.
+  UINT16                         ListLength;
+  UINT16                         ValueList[1];
 } FRAMEWORK_EFI_IFR_EQ_ID_LIST;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            QuestionId1;  ///< The offset into variable storage for first value to compare.
-  UINT8                             Width;        ///< The size of variable storage (must be same for both).
-  UINT16                            QuestionId2;  ///< The offset into variable storage for second value to compare.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         QuestionId1;     ///< The offset into variable storage for first value to compare.
+  UINT8                          Width;           ///< The size of variable storage (must be same for both).
+  UINT16                         QuestionId2;     ///< The offset into variable storage for second value to compare.
 } FRAMEWORK_EFI_IFR_EQ_ID_ID;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            VariableId;   ///< The offset into variable storage.
-  UINT16                            Value;        ///< The value to compare against.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         VariableId;      ///< The offset into variable storage.
+  UINT16                         Value;           ///< The value to compare against.
 } EFI_IFR_EQ_VAR_VAL;
 ///@}
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } FRAMEWORK_EFI_IFR_AND;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } FRAMEWORK_EFI_IFR_OR;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } FRAMEWORK_EFI_IFR_NOT;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
 } EFI_IFR_END_EXPR, EFI_IFR_END_IF;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            FormId;
-  STRING_REF                        Prompt;
-  STRING_REF                        Help;
-  UINT8                             Flags;
-  UINT16                            Key;
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         FormId;
+  STRING_REF                     Prompt;
+  STRING_REF                     Help;
+  UINT8                          Flags;
+  UINT16                         Key;
 } EFI_IFR_SAVE_DEFAULTS;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        Help;
-  STRING_REF                        Text;
-  STRING_REF                        TextTwo;    ///< Optional text.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     Help;
+  STRING_REF                     Text;
+  STRING_REF                     TextTwo;       ///< Optional text.
 } EFI_IFR_INVENTORY;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  EFI_GUID                          Guid;       ///< GUID for the variable.
-  UINT16                            VarId;      ///< The variable store ID, as referenced elsewhere in the form.
-  UINT16                            Size;       ///< The size of the variable storage.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  EFI_GUID                       Guid;          ///< GUID for the variable.
+  UINT16                         VarId;         ///< The variable store ID, as referenced elsewhere in the form.
+  UINT16                         Size;          ///< The size of the variable storage.
 } FRAMEWORK_EFI_IFR_VARSTORE;
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            VarId;      ///< The variable store ID, as referenced elsewhere in the form.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         VarId;         ///< The variable store ID, as referenced elsewhere in the form.
 } EFI_IFR_VARSTORE_SELECT;
 
 ///
@@ -370,9 +369,9 @@ typedef struct {
 /// IFR opcodes use the VarId as defined here.
 ///
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  UINT16                            VarId;          ///< The variable store ID, as referenced elsewhere in the form.
-  UINT16                            SecondaryVarId; ///< The variable store ID, as referenced elsewhere in the form.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  UINT16                         VarId;             ///< The variable store ID, as referenced elsewhere in the form.
+  UINT16                         SecondaryVarId;    ///< The variable store ID, as referenced elsewhere in the form.
 } EFI_IFR_VARSTORE_SELECT_PAIR;
 
 ///
@@ -381,16 +380,16 @@ typedef struct {
 #define EFI_IFR_RESTORE_DEFAULTS  EFI_IFR_SAVE_DEFAULTS
 
 typedef struct {
-  FRAMEWORK_EFI_IFR_OP_HEADER       Header;
-  STRING_REF                        Title;        ///< The string token for the banner title.
-  UINT16                            LineNumber;   ///< 1-based line number.
-  UINT8                             Alignment;    ///< Left, center, or right-aligned.
+  FRAMEWORK_EFI_IFR_OP_HEADER    Header;
+  STRING_REF                     Title;           ///< The string token for the banner title.
+  UINT16                         LineNumber;      ///< 1-based line number.
+  UINT8                          Alignment;       ///< Left, center, or right-aligned.
 } EFI_IFR_BANNER;
 
-#define EFI_IFR_BANNER_ALIGN_LEFT   0
-#define EFI_IFR_BANNER_ALIGN_CENTER 1
-#define EFI_IFR_BANNER_ALIGN_RIGHT  2
-#define EFI_IFR_BANNER_TIMEOUT      0xFF
+#define EFI_IFR_BANNER_ALIGN_LEFT    0
+#define EFI_IFR_BANNER_ALIGN_CENTER  1
+#define EFI_IFR_BANNER_ALIGN_RIGHT   2
+#define EFI_IFR_BANNER_TIMEOUT       0xFF
 
 #pragma pack()
 

+ 4 - 4
OvmfPkg/Csm/Include/Framework/Hob.h

@@ -17,12 +17,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// This macro is defined to comply with the hob Framework Spec. And the marco was
 /// retired in the PI1.0 specification.
 ///
-#define EFI_HOB_TYPE_CV           0x0008
+#define EFI_HOB_TYPE_CV  0x0008
 
 typedef struct {
-  EFI_HOB_GENERIC_HEADER            Header;
-  EFI_PHYSICAL_ADDRESS              BaseAddress;
-  UINT64                            Length;
+  EFI_HOB_GENERIC_HEADER    Header;
+  EFI_PHYSICAL_ADDRESS      BaseAddress;
+  UINT64                    Length;
 } EFI_HOB_CAPSULE_VOLUME;
 
 #endif

+ 30 - 30
OvmfPkg/Csm/Include/Framework/StatusCode.h

@@ -26,8 +26,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
 ///@{
-#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS     (EFI_SUBCLASS_SPECIFIC | 0x00000005)
-#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD           (EFI_SUBCLASS_SPECIFIC | 0x00000006)
+#define EFI_SW_DXE_BS_PC_BEGIN_CONNECTING_DRIVERS  (EFI_SUBCLASS_SPECIFIC | 0x00000005)
+#define EFI_SW_DXE_BS_PC_VERIFYING_PASSWORD        (EFI_SUBCLASS_SPECIFIC | 0x00000006)
 ///@}
 
 ///
@@ -37,12 +37,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
 ///@{
-#define EFI_SW_DXE_RT_PC_S0 (EFI_SUBCLASS_SPECIFIC | 0x00000000)
-#define EFI_SW_DXE_RT_PC_S1 (EFI_SUBCLASS_SPECIFIC | 0x00000001)
-#define EFI_SW_DXE_RT_PC_S2 (EFI_SUBCLASS_SPECIFIC | 0x00000002)
-#define EFI_SW_DXE_RT_PC_S3 (EFI_SUBCLASS_SPECIFIC | 0x00000003)
-#define EFI_SW_DXE_RT_PC_S4 (EFI_SUBCLASS_SPECIFIC | 0x00000004)
-#define EFI_SW_DXE_RT_PC_S5 (EFI_SUBCLASS_SPECIFIC | 0x00000005)
+#define EFI_SW_DXE_RT_PC_S0  (EFI_SUBCLASS_SPECIFIC | 0x00000000)
+#define EFI_SW_DXE_RT_PC_S1  (EFI_SUBCLASS_SPECIFIC | 0x00000001)
+#define EFI_SW_DXE_RT_PC_S2  (EFI_SUBCLASS_SPECIFIC | 0x00000002)
+#define EFI_SW_DXE_RT_PC_S3  (EFI_SUBCLASS_SPECIFIC | 0x00000003)
+#define EFI_SW_DXE_RT_PC_S4  (EFI_SUBCLASS_SPECIFIC | 0x00000004)
+#define EFI_SW_DXE_RT_PC_S5  (EFI_SUBCLASS_SPECIFIC | 0x00000005)
 ///@}
 
 ///
@@ -51,7 +51,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// Inconsistent with specification here:
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
-#define EFI_SOFTWARE_X64_EXCEPTION        (EFI_SOFTWARE | 0x00130000)
+#define EFI_SOFTWARE_X64_EXCEPTION  (EFI_SOFTWARE | 0x00130000)
 
 ///
 /// Software Class X64 Exception Subclass Error Code definitions.
@@ -62,31 +62,31 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
 ///@{
-#define EFI_SW_EC_X64_DIVIDE_ERROR      EXCEPT_X64_DIVIDE_ERROR
-#define EFI_SW_EC_X64_DEBUG             EXCEPT_X64_DEBUG
-#define EFI_SW_EC_X64_NMI               EXCEPT_X64_NMI
-#define EFI_SW_EC_X64_BREAKPOINT        EXCEPT_X64_BREAKPOINT
-#define EFI_SW_EC_X64_OVERFLOW          EXCEPT_X64_OVERFLOW
-#define EFI_SW_EC_X64_BOUND             EXCEPT_X64_BOUND
-#define EFI_SW_EC_X64_INVALID_OPCODE    EXCEPT_X64_INVALID_OPCODE
-#define EFI_SW_EC_X64_DOUBLE_FAULT      EXCEPT_X64_DOUBLE_FAULT
-#define EFI_SW_EC_X64_INVALID_TSS       EXCEPT_X64_INVALID_TSS
-#define EFI_SW_EC_X64_SEG_NOT_PRESENT   EXCEPT_X64_SEG_NOT_PRESENT
-#define EFI_SW_EC_X64_STACK_FAULT       EXCEPT_X64_STACK_FAULT
-#define EFI_SW_EC_X64_GP_FAULT          EXCEPT_X64_GP_FAULT
-#define EFI_SW_EC_X64_PAGE_FAULT        EXCEPT_X64_PAGE_FAULT
-#define EFI_SW_EC_X64_FP_ERROR          EXCEPT_X64_FP_ERROR
-#define EFI_SW_EC_X64_ALIGNMENT_CHECK   EXCEPT_X64_ALIGNMENT_CHECK
-#define EFI_SW_EC_X64_MACHINE_CHECK     EXCEPT_X64_MACHINE_CHECK
-#define EFI_SW_EC_X64_SIMD              EXCEPT_X64_SIMD
+#define EFI_SW_EC_X64_DIVIDE_ERROR     EXCEPT_X64_DIVIDE_ERROR
+#define EFI_SW_EC_X64_DEBUG            EXCEPT_X64_DEBUG
+#define EFI_SW_EC_X64_NMI              EXCEPT_X64_NMI
+#define EFI_SW_EC_X64_BREAKPOINT       EXCEPT_X64_BREAKPOINT
+#define EFI_SW_EC_X64_OVERFLOW         EXCEPT_X64_OVERFLOW
+#define EFI_SW_EC_X64_BOUND            EXCEPT_X64_BOUND
+#define EFI_SW_EC_X64_INVALID_OPCODE   EXCEPT_X64_INVALID_OPCODE
+#define EFI_SW_EC_X64_DOUBLE_FAULT     EXCEPT_X64_DOUBLE_FAULT
+#define EFI_SW_EC_X64_INVALID_TSS      EXCEPT_X64_INVALID_TSS
+#define EFI_SW_EC_X64_SEG_NOT_PRESENT  EXCEPT_X64_SEG_NOT_PRESENT
+#define EFI_SW_EC_X64_STACK_FAULT      EXCEPT_X64_STACK_FAULT
+#define EFI_SW_EC_X64_GP_FAULT         EXCEPT_X64_GP_FAULT
+#define EFI_SW_EC_X64_PAGE_FAULT       EXCEPT_X64_PAGE_FAULT
+#define EFI_SW_EC_X64_FP_ERROR         EXCEPT_X64_FP_ERROR
+#define EFI_SW_EC_X64_ALIGNMENT_CHECK  EXCEPT_X64_ALIGNMENT_CHECK
+#define EFI_SW_EC_X64_MACHINE_CHECK    EXCEPT_X64_MACHINE_CHECK
+#define EFI_SW_EC_X64_SIMD             EXCEPT_X64_SIMD
 ///@}
 
 ///
 /// Software Class EFI After Life Subclass Progress Code definitions.
 ///
 ///@{
-#define EFI_SW_AL_PC_ENTRY_POINT    (EFI_SUBCLASS_SPECIFIC | 0x00000000)
-#define EFI_SW_AL_PC_RETURN_TO_LAST (EFI_SUBCLASS_SPECIFIC | 0x00000001)
+#define EFI_SW_AL_PC_ENTRY_POINT     (EFI_SUBCLASS_SPECIFIC | 0x00000000)
+#define EFI_SW_AL_PC_RETURN_TO_LAST  (EFI_SUBCLASS_SPECIFIC | 0x00000001)
 ///@}
 
 ///
@@ -95,7 +95,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// Inconsistent with specification here:
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
-#define EFI_SW_CSM_LEGACY_ROM_INIT                (EFI_SUBCLASS_SPECIFIC | 0x00000000)
+#define EFI_SW_CSM_LEGACY_ROM_INIT  (EFI_SUBCLASS_SPECIFIC | 0x00000000)
 
 ///
 /// IO Bus Class ATA/ATAPI Subclass Progress Code definitions.
@@ -130,7 +130,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 /// The Framework Specification, StatusCodes 0.92, does not define the macros.
 ///
 ///@{
-#define EFI_CPU_CAUSE_NOT_DISABLED              0x0000
+#define EFI_CPU_CAUSE_NOT_DISABLED  0x0000
 ///@}
 
 ///

+ 1 - 1
OvmfPkg/Csm/Include/Guid/LegacyBios.h

@@ -24,6 +24,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
     0x2e3044ac, 0x879f, 0x490f, {0x97, 0x60, 0xbb, 0xdf, 0xaf, 0x69, 0x5f, 0x50 } \
   }
 
-extern EFI_GUID gEfiLegacyBiosGuid;
+extern EFI_GUID  gEfiLegacyBiosGuid;
 
 #endif

+ 5 - 5
OvmfPkg/Csm/Include/Guid/LegacyDevOrder.h

@@ -23,17 +23,17 @@ typedef UINT8 BBS_TYPE;
 
 #pragma pack(1)
 typedef struct {
-  BBS_TYPE  BbsType;
+  BBS_TYPE    BbsType;
   ///
   /// Length = sizeof (UINT16) + sizeof (Data)
   ///
-  UINT16    Length;
-  UINT16    Data[1];
+  UINT16      Length;
+  UINT16      Data[1];
 } LEGACY_DEV_ORDER_ENTRY;
 #pragma pack()
 
-#define VAR_LEGACY_DEV_ORDER L"LegacyDevOrder"
+#define VAR_LEGACY_DEV_ORDER  L"LegacyDevOrder"
 
-extern EFI_GUID gEfiLegacyDevOrderVariableGuid;
+extern EFI_GUID  gEfiLegacyDevOrderVariableGuid;
 
 #endif

+ 43 - 44
OvmfPkg/Csm/Include/Protocol/FirmwareVolume.h

@@ -19,7 +19,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #ifndef _FIRMWARE_VOLUME_H_
 #define _FIRMWARE_VOLUME_H_
 
-
 //
 // Firmware Volume Protocol GUID definition
 //
@@ -28,49 +27,49 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
     0x389F751F, 0x1838, 0x4388, {0x83, 0x90, 0xCD, 0x81, 0x54, 0xBD, 0x27, 0xF8 } \
   }
 
-#define FV_DEVICE_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', '_')
+#define FV_DEVICE_SIGNATURE  SIGNATURE_32 ('_', 'F', 'V', '_')
 
-typedef struct _EFI_FIRMWARE_VOLUME_PROTOCOL  EFI_FIRMWARE_VOLUME_PROTOCOL;
+typedef struct _EFI_FIRMWARE_VOLUME_PROTOCOL EFI_FIRMWARE_VOLUME_PROTOCOL;
 
 //
 // FRAMEWORK_EFI_FV_ATTRIBUTES bit definitions
 //
-typedef UINT64  FRAMEWORK_EFI_FV_ATTRIBUTES;
+typedef UINT64 FRAMEWORK_EFI_FV_ATTRIBUTES;
 
 //
 // ************************************************************
 // FRAMEWORK_EFI_FV_ATTRIBUTES bit definitions
 // ************************************************************
 //
-#define EFI_FV_READ_DISABLE_CAP       0x0000000000000001ULL
-#define EFI_FV_READ_ENABLE_CAP        0x0000000000000002ULL
-#define EFI_FV_READ_STATUS            0x0000000000000004ULL
+#define EFI_FV_READ_DISABLE_CAP  0x0000000000000001ULL
+#define EFI_FV_READ_ENABLE_CAP   0x0000000000000002ULL
+#define EFI_FV_READ_STATUS       0x0000000000000004ULL
 
-#define EFI_FV_WRITE_DISABLE_CAP      0x0000000000000008ULL
-#define EFI_FV_WRITE_ENABLE_CAP       0x0000000000000010ULL
-#define EFI_FV_WRITE_STATUS           0x0000000000000020ULL
+#define EFI_FV_WRITE_DISABLE_CAP  0x0000000000000008ULL
+#define EFI_FV_WRITE_ENABLE_CAP   0x0000000000000010ULL
+#define EFI_FV_WRITE_STATUS       0x0000000000000020ULL
 
 #define EFI_FV_LOCK_CAP               0x0000000000000040ULL
 #define EFI_FV_LOCK_STATUS            0x0000000000000080ULL
 #define EFI_FV_WRITE_POLICY_RELIABLE  0x0000000000000100ULL
 
-#define EFI_FV_ALIGNMENT_CAP          0x0000000000008000ULL
-#define EFI_FV_ALIGNMENT_2            0x0000000000010000ULL
-#define EFI_FV_ALIGNMENT_4            0x0000000000020000ULL
-#define EFI_FV_ALIGNMENT_8            0x0000000000040000ULL
-#define EFI_FV_ALIGNMENT_16           0x0000000000080000ULL
-#define EFI_FV_ALIGNMENT_32           0x0000000000100000ULL
-#define EFI_FV_ALIGNMENT_64           0x0000000000200000ULL
-#define EFI_FV_ALIGNMENT_128          0x0000000000400000ULL
-#define EFI_FV_ALIGNMENT_256          0x0000000000800000ULL
-#define EFI_FV_ALIGNMENT_512          0x0000000001000000ULL
-#define EFI_FV_ALIGNMENT_1K           0x0000000002000000ULL
-#define EFI_FV_ALIGNMENT_2K           0x0000000004000000ULL
-#define EFI_FV_ALIGNMENT_4K           0x0000000008000000ULL
-#define EFI_FV_ALIGNMENT_8K           0x0000000010000000ULL
-#define EFI_FV_ALIGNMENT_16K          0x0000000020000000ULL
-#define EFI_FV_ALIGNMENT_32K          0x0000000040000000ULL
-#define EFI_FV_ALIGNMENT_64K          0x0000000080000000ULL
+#define EFI_FV_ALIGNMENT_CAP  0x0000000000008000ULL
+#define EFI_FV_ALIGNMENT_2    0x0000000000010000ULL
+#define EFI_FV_ALIGNMENT_4    0x0000000000020000ULL
+#define EFI_FV_ALIGNMENT_8    0x0000000000040000ULL
+#define EFI_FV_ALIGNMENT_16   0x0000000000080000ULL
+#define EFI_FV_ALIGNMENT_32   0x0000000000100000ULL
+#define EFI_FV_ALIGNMENT_64   0x0000000000200000ULL
+#define EFI_FV_ALIGNMENT_128  0x0000000000400000ULL
+#define EFI_FV_ALIGNMENT_256  0x0000000000800000ULL
+#define EFI_FV_ALIGNMENT_512  0x0000000001000000ULL
+#define EFI_FV_ALIGNMENT_1K   0x0000000002000000ULL
+#define EFI_FV_ALIGNMENT_2K   0x0000000004000000ULL
+#define EFI_FV_ALIGNMENT_4K   0x0000000008000000ULL
+#define EFI_FV_ALIGNMENT_8K   0x0000000010000000ULL
+#define EFI_FV_ALIGNMENT_16K  0x0000000020000000ULL
+#define EFI_FV_ALIGNMENT_32K  0x0000000040000000ULL
+#define EFI_FV_ALIGNMENT_64K  0x0000000080000000ULL
 
 //
 // Protocol API definitions
@@ -210,17 +209,17 @@ EFI_STATUS
   OUT UINT32                        *AuthenticationStatus
   );
 
-typedef UINT32  FRAMEWORK_EFI_FV_WRITE_POLICY;
+typedef UINT32 FRAMEWORK_EFI_FV_WRITE_POLICY;
 
-#define FRAMEWORK_EFI_FV_UNRELIABLE_WRITE 0x00000000
-#define FRAMEWORK_EFI_FV_RELIABLE_WRITE   0x00000001
+#define FRAMEWORK_EFI_FV_UNRELIABLE_WRITE  0x00000000
+#define FRAMEWORK_EFI_FV_RELIABLE_WRITE    0x00000001
 
 typedef struct {
-  EFI_GUID                *NameGuid;
-  EFI_FV_FILETYPE         Type;
-  EFI_FV_FILE_ATTRIBUTES  FileAttributes;
-  VOID                    *Buffer;
-  UINT32                  BufferSize;
+  EFI_GUID                  *NameGuid;
+  EFI_FV_FILETYPE           Type;
+  EFI_FV_FILE_ATTRIBUTES    FileAttributes;
+  VOID                      *Buffer;
+  UINT32                    BufferSize;
 } FRAMEWORK_EFI_FV_WRITE_FILE_DATA;
 
 /**
@@ -296,45 +295,45 @@ struct _EFI_FIRMWARE_VOLUME_PROTOCOL {
   ///
   /// Retrieves volume capabilities and current settings.
   ///
-  FRAMEWORK_EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;
+  FRAMEWORK_EFI_FV_GET_ATTRIBUTES    GetVolumeAttributes;
 
   ///
   /// Modifies the current settings of the firmware volume.
   ///
-  FRAMEWORK_EFI_FV_SET_ATTRIBUTES SetVolumeAttributes;
+  FRAMEWORK_EFI_FV_SET_ATTRIBUTES    SetVolumeAttributes;
 
   ///
   /// Reads an entire file from the firmware volume.
   ///
-  FRAMEWORK_EFI_FV_READ_FILE      ReadFile;
+  FRAMEWORK_EFI_FV_READ_FILE         ReadFile;
 
   ///
   /// Reads a single section from a file into a buffer.
   ///
-  FRAMEWORK_EFI_FV_READ_SECTION   ReadSection;
+  FRAMEWORK_EFI_FV_READ_SECTION      ReadSection;
 
   ///
   /// Writes an entire file into the firmware volume.
   ///
-  FRAMEWORK_EFI_FV_WRITE_FILE     WriteFile;
+  FRAMEWORK_EFI_FV_WRITE_FILE        WriteFile;
 
   ///
   /// Provides service to allow searching the firmware volume.
   ///
-  FRAMEWORK_EFI_FV_GET_NEXT_FILE  GetNextFile;
+  FRAMEWORK_EFI_FV_GET_NEXT_FILE     GetNextFile;
 
   ///
   ///  Data field that indicates the size in bytes of the Key input buffer for
   ///  the GetNextFile() API.
   ///
-  UINT32                KeySize;
+  UINT32                             KeySize;
 
   ///
   ///  Handle of the parent firmware volume.
   ///
-  EFI_HANDLE            ParentHandle;
+  EFI_HANDLE                         ParentHandle;
 };
 
-extern EFI_GUID gEfiFirmwareVolumeProtocolGuid;
+extern EFI_GUID  gEfiFirmwareVolumeProtocolGuid;
 
 #endif

+ 27 - 27
OvmfPkg/Csm/Include/Protocol/IsaAcpi.h

@@ -49,20 +49,20 @@ typedef struct _EFI_ISA_ACPI_PROTOCOL EFI_ISA_ACPI_PROTOCOL;
 ///
 /// ISA ACPI Protocol MMIO resource attributes
 ///
-#define EFI_ISA_ACPI_MEMORY_WIDTH_MASK                   0x03   ///< Bit mask of supported ISA memory width attributes.
-#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT                  0x00   ///< ISA MMIO region only supports 8-bit access.
-#define EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT                 0x01   ///< ISA MMIO region only supports 16-bit access.
-#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT       0x02   ///< ISA MMIO region supports both 8-bit and 16-bit access.
-#define EFI_ISA_ACPI_MEMORY_WRITEABLE                    0x04   ///< ISA MMIO region supports write transactions.
-#define EFI_ISA_ACPI_MEMORY_CACHEABLE                    0x08   ///< ISA MMIO region supports being cached.
-#define EFI_ISA_ACPI_MEMORY_SHADOWABLE                   0x10   ///< ISA MMIO region may be shadowed.
-#define EFI_ISA_ACPI_MEMORY_EXPANSION_ROM                0x20   ///< ISA MMIO region is an expansion ROM.
+#define EFI_ISA_ACPI_MEMORY_WIDTH_MASK              0x03        ///< Bit mask of supported ISA memory width attributes.
+#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT             0x00        ///< ISA MMIO region only supports 8-bit access.
+#define EFI_ISA_ACPI_MEMORY_WIDTH_16_BIT            0x01        ///< ISA MMIO region only supports 16-bit access.
+#define EFI_ISA_ACPI_MEMORY_WIDTH_8_BIT_AND_16_BIT  0x02        ///< ISA MMIO region supports both 8-bit and 16-bit access.
+#define EFI_ISA_ACPI_MEMORY_WRITEABLE               0x04        ///< ISA MMIO region supports write transactions.
+#define EFI_ISA_ACPI_MEMORY_CACHEABLE               0x08        ///< ISA MMIO region supports being cached.
+#define EFI_ISA_ACPI_MEMORY_SHADOWABLE              0x10        ///< ISA MMIO region may be shadowed.
+#define EFI_ISA_ACPI_MEMORY_EXPANSION_ROM           0x20        ///< ISA MMIO region is an expansion ROM.
 
 ///
 /// ISA ACPI Protocol I/O resource attributes
 ///
-#define EFI_ISA_ACPI_IO_DECODE_10_BITS                   0x01    ///< ISA controllers uses a 10-bit address decoder for I/O cycles.
-#define EFI_ISA_ACPI_IO_DECODE_16_BITS                   0x02    ///< ISA controllers uses a 16-bit address decoder for I/O cycles.
+#define EFI_ISA_ACPI_IO_DECODE_10_BITS  0x01                     ///< ISA controllers uses a 10-bit address decoder for I/O cycles.
+#define EFI_ISA_ACPI_IO_DECODE_16_BITS  0x02                     ///< ISA controllers uses a 16-bit address decoder for I/O cycles.
 
 ///
 /// EFI ISA ACPI resource type
@@ -79,26 +79,26 @@ typedef enum {
 /// EFI ISA ACPI generic resource structure
 ///
 typedef struct {
-  EFI_ISA_ACPI_RESOURCE_TYPE  Type;         ///< The type of resource (I/O, MMIO, DMA, Interrupt).
-  UINT32                      Attribute;    ///< Bit mask of attributes associated with this resource.  See EFI_ISA_ACPI_xxx macros for valid combinations.
-  UINT32                      StartRange;   ///< The start of the resource range.
-  UINT32                      EndRange;     ///< The end of the resource range.
+  EFI_ISA_ACPI_RESOURCE_TYPE    Type;       ///< The type of resource (I/O, MMIO, DMA, Interrupt).
+  UINT32                        Attribute;  ///< Bit mask of attributes associated with this resource.  See EFI_ISA_ACPI_xxx macros for valid combinations.
+  UINT32                        StartRange; ///< The start of the resource range.
+  UINT32                        EndRange;   ///< The end of the resource range.
 } EFI_ISA_ACPI_RESOURCE;
 
 ///
 /// EFI ISA ACPI resource device identifier
 ///
 typedef struct {
-  UINT32  HID;   ///< The ACPI Hardware Identifier value associated with an ISA controller.  Matchs ACPI DSDT contents.
-  UINT32  UID;   ///< The ACPI Unique Identifier value associated with an ISA controller.  Matches ACPI DSDT contents.
+  UINT32    HID; ///< The ACPI Hardware Identifier value associated with an ISA controller.  Matchs ACPI DSDT contents.
+  UINT32    UID; ///< The ACPI Unique Identifier value associated with an ISA controller.  Matches ACPI DSDT contents.
 } EFI_ISA_ACPI_DEVICE_ID;
 
 ///
 /// EFI ISA ACPI resource list
 ///
 typedef struct {
-  EFI_ISA_ACPI_DEVICE_ID  Device;          ///< The ACPI HID/UID associated with an ISA controller.
-  EFI_ISA_ACPI_RESOURCE   *ResourceItem;   ///< A pointer to the list of resources associated with an ISA controller.
+  EFI_ISA_ACPI_DEVICE_ID    Device;        ///< The ACPI HID/UID associated with an ISA controller.
+  EFI_ISA_ACPI_RESOURCE     *ResourceItem; ///< A pointer to the list of resources associated with an ISA controller.
 } EFI_ISA_ACPI_RESOURCE_LIST;
 
 /**
@@ -283,16 +283,16 @@ EFI_STATUS
 /// and assign resources to an ISA controller.
 ///
 struct _EFI_ISA_ACPI_PROTOCOL {
-  EFI_ISA_ACPI_DEVICE_ENUMERATE  DeviceEnumerate;
-  EFI_ISA_ACPI_SET_DEVICE_POWER  SetPower;
-  EFI_ISA_ACPI_GET_CUR_RESOURCE  GetCurResource;
-  EFI_ISA_ACPI_GET_POS_RESOURCE  GetPosResource;
-  EFI_ISA_ACPI_SET_RESOURCE      SetResource;
-  EFI_ISA_ACPI_ENABLE_DEVICE     EnableDevice;
-  EFI_ISA_ACPI_INIT_DEVICE       InitDevice;
-  EFI_ISA_ACPI_INTERFACE_INIT    InterfaceInit;
+  EFI_ISA_ACPI_DEVICE_ENUMERATE    DeviceEnumerate;
+  EFI_ISA_ACPI_SET_DEVICE_POWER    SetPower;
+  EFI_ISA_ACPI_GET_CUR_RESOURCE    GetCurResource;
+  EFI_ISA_ACPI_GET_POS_RESOURCE    GetPosResource;
+  EFI_ISA_ACPI_SET_RESOURCE        SetResource;
+  EFI_ISA_ACPI_ENABLE_DEVICE       EnableDevice;
+  EFI_ISA_ACPI_INIT_DEVICE         InitDevice;
+  EFI_ISA_ACPI_INTERFACE_INIT      InterfaceInit;
 };
 
-extern EFI_GUID gEfiIsaAcpiProtocolGuid;
+extern EFI_GUID  gEfiIsaAcpiProtocolGuid;
 
 #endif

+ 14 - 14
OvmfPkg/Csm/Include/Protocol/IsaIo.h

@@ -128,11 +128,11 @@ typedef struct {
   ///
   /// Read from ISA I/O or MMIO space.
   ///
-  EFI_ISA_IO_PROTOCOL_IO_MEM  Read;
+  EFI_ISA_IO_PROTOCOL_IO_MEM    Read;
   ///
   /// Write to ISA I/O or MMIO space.
   ///
-  EFI_ISA_IO_PROTOCOL_IO_MEM  Write;
+  EFI_ISA_IO_PROTOCOL_IO_MEM    Write;
 } EFI_ISA_IO_PROTOCOL_ACCESS;
 
 /**
@@ -326,31 +326,31 @@ EFI_STATUS
 /// ISA_PCI_IO_PROTOCOL instance associated with the ISA controller.
 ///
 struct _EFI_ISA_IO_PROTOCOL {
-  EFI_ISA_IO_PROTOCOL_ACCESS           Mem;
-  EFI_ISA_IO_PROTOCOL_ACCESS           Io;
-  EFI_ISA_IO_PROTOCOL_COPY_MEM         CopyMem;
-  EFI_ISA_IO_PROTOCOL_MAP              Map;
-  EFI_ISA_IO_PROTOCOL_UNMAP            Unmap;
-  EFI_ISA_IO_PROTOCOL_ALLOCATE_BUFFER  AllocateBuffer;
-  EFI_ISA_IO_PROTOCOL_FREE_BUFFER      FreeBuffer;
-  EFI_ISA_IO_PROTOCOL_FLUSH            Flush;
+  EFI_ISA_IO_PROTOCOL_ACCESS             Mem;
+  EFI_ISA_IO_PROTOCOL_ACCESS             Io;
+  EFI_ISA_IO_PROTOCOL_COPY_MEM           CopyMem;
+  EFI_ISA_IO_PROTOCOL_MAP                Map;
+  EFI_ISA_IO_PROTOCOL_UNMAP              Unmap;
+  EFI_ISA_IO_PROTOCOL_ALLOCATE_BUFFER    AllocateBuffer;
+  EFI_ISA_IO_PROTOCOL_FREE_BUFFER        FreeBuffer;
+  EFI_ISA_IO_PROTOCOL_FLUSH              Flush;
   ///
   /// The list of I/O , MMIO, DMA, and Interrupt resources associated with the
   /// ISA controller abstracted by this instance of the EFI_ISA_IO_PROTOCOL.
   ///
-  EFI_ISA_ACPI_RESOURCE_LIST           *ResourceList;
+  EFI_ISA_ACPI_RESOURCE_LIST             *ResourceList;
   ///
   /// The size, in bytes, of the ROM image.
   ///
-  UINT32                               RomSize;
+  UINT32                                 RomSize;
   ///
   /// A pointer to the in memory copy of the ROM image. The ISA Bus Driver is responsible
   /// for allocating memory for the ROM image, and copying the contents of the ROM to memory
   /// during ISA Bus initialization.
   ///
-  VOID                                 *RomImage;
+  VOID                                   *RomImage;
 };
 
-extern EFI_GUID gEfiIsaIoProtocolGuid;
+extern EFI_GUID  gEfiIsaIoProtocolGuid;
 
 #endif

File diff suppressed because it is too large
+ 211 - 213
OvmfPkg/Csm/Include/Protocol/LegacyBios.h


+ 96 - 98
OvmfPkg/Csm/Include/Protocol/LegacyBiosPlatform.h

@@ -66,7 +66,7 @@ typedef enum {
   ///
   ///   EFI_UNSUPPORTED The MP table is not supported on this platform.
   ///
-  EfiGetPlatformBinaryMpTable      = 0,
+  EfiGetPlatformBinaryMpTable = 0,
   ///
   /// This mode returns a block of data. The content and usage is IBV or OEM defined.
   /// OEMs or IBVs normally use this function for nonstandard Compatibility16 runtime soft
@@ -104,7 +104,7 @@ typedef enum {
   ///
   ///   EFI_UNSUPPORTED Oem INT is not supported on this platform.
   ///
-  EfiGetPlatformBinaryOemIntData   = 1,
+  EfiGetPlatformBinaryOemIntData = 1,
   ///
   /// This mode returns a block of data. The content and usage is IBV defined. OEMs or
   /// IBVs normally use this mode for nonstandard Compatibility16 runtime 16 bit routines. It
@@ -146,57 +146,57 @@ typedef enum {
   ///
   ///   EFI_UNSUPPORTED Oem16 is not supported on this platform.
   ///
-  EfiGetPlatformBinaryOem16Data    = 2,
-///
-/// This mode returns a block of data. The content and usage are IBV defined. OEMs or
-/// IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It
-/// is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they
-/// exist, into one coherent package that is understandable by the Compatibility16 code.
-///
-/// Example usage: A legacy mobile BIOS that has a pre existing runtime
-/// interface to return the battery status to calling applications.
-///
-/// This mode is invoked twice. The first invocation has LegacySegment and
-/// LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.
-///
-/// The second invocation has LegacySegment and LegacyOffset set to the location
-/// in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second
-/// invocation allows any table address fix ups to occur in the EFI memory copy of the table.
-/// The caller, not EfiGetPlatformBinaryOem32Data, copies the modified table to
-/// the allocated region in 0xF0000 or 0xE0000 block after the second invocation..
-///
-/// Note: There are two generic mechanisms by which this mode can be used.
-/// Mechanism 1: This mode returns the data and the Legacy BIOS Protocol copies
-/// the data into the F0000 or E0000 block in the Compatibility16 code. The
-/// EFI_COMPATIBILITY16_TABLE entries Oem32Segment and Oem32Offset can
-/// be viewed as two UINT16 entries.
-/// Mechanism 2: This mode directly fills in the EFI_COMPATIBILITY16_TABLE with
-/// a pointer to the INT15 E820 region containing the 32 bit code. It returns
-/// EFI_UNSUPPORTED. The EFI_COMPATIBILITY16_TABLE entries,
-/// Oem32Segment and Oem32Offset, can be viewed as two UINT16 entries or
-/// as a single UINT32 entry as determined by the IBV.
-///
-/// The function parameters associated with this mode are:
-///
-///   TableSize Size of data.
-///
-///   Location Location to place the table. 0x00 or 0xE0000 or 0xF0000 64 KB blocks.
-///       Bit 0 = 1 0xF0000 64 KB block.
-///       Bit 1 = 1 0xE0000 64 KB block.
-///       Multiple bits can be set.
-///
-///   Alignment Bit mapped address alignment granularity.
-///       The first nonzero bit from the right is the address granularity.
-///
-///   LegacySegment Segment in which EfiCompatibility code will place the table or data.
-///
-///   LegacyOffset Offset in which EfiCompatibility code will place the table or data.
-///
-/// The return values associated with this mode are:
-///   EFI_SUCCESS The data was returned successfully.
-///   EFI_UNSUPPORTED Oem32 is not supported on this platform.
-///
-EfiGetPlatformBinaryOem32Data    = 3,
+  EfiGetPlatformBinaryOem16Data = 2,
+  ///
+  /// This mode returns a block of data. The content and usage are IBV defined. OEMs or
+  /// IBVs normally use this mode for nonstandard Compatibility16 runtime 32 bit routines. It
+  /// is the responsibility of this routine to coalesce multiple OEM 32 bit functions, if they
+  /// exist, into one coherent package that is understandable by the Compatibility16 code.
+  ///
+  /// Example usage: A legacy mobile BIOS that has a pre existing runtime
+  /// interface to return the battery status to calling applications.
+  ///
+  /// This mode is invoked twice. The first invocation has LegacySegment and
+  /// LegacyOffset set to 0. The mode returns the table address in EFI memory and its size.
+  ///
+  /// The second invocation has LegacySegment and LegacyOffset set to the location
+  /// in the 0xF0000 or 0xE0000 block to which the table is to be copied. The second
+  /// invocation allows any table address fix ups to occur in the EFI memory copy of the table.
+  /// The caller, not EfiGetPlatformBinaryOem32Data, copies the modified table to
+  /// the allocated region in 0xF0000 or 0xE0000 block after the second invocation..
+  ///
+  /// Note: There are two generic mechanisms by which this mode can be used.
+  /// Mechanism 1: This mode returns the data and the Legacy BIOS Protocol copies
+  /// the data into the F0000 or E0000 block in the Compatibility16 code. The
+  /// EFI_COMPATIBILITY16_TABLE entries Oem32Segment and Oem32Offset can
+  /// be viewed as two UINT16 entries.
+  /// Mechanism 2: This mode directly fills in the EFI_COMPATIBILITY16_TABLE with
+  /// a pointer to the INT15 E820 region containing the 32 bit code. It returns
+  /// EFI_UNSUPPORTED. The EFI_COMPATIBILITY16_TABLE entries,
+  /// Oem32Segment and Oem32Offset, can be viewed as two UINT16 entries or
+  /// as a single UINT32 entry as determined by the IBV.
+  ///
+  /// The function parameters associated with this mode are:
+  ///
+  ///   TableSize Size of data.
+  ///
+  ///   Location Location to place the table. 0x00 or 0xE0000 or 0xF0000 64 KB blocks.
+  ///       Bit 0 = 1 0xF0000 64 KB block.
+  ///       Bit 1 = 1 0xE0000 64 KB block.
+  ///       Multiple bits can be set.
+  ///
+  ///   Alignment Bit mapped address alignment granularity.
+  ///       The first nonzero bit from the right is the address granularity.
+  ///
+  ///   LegacySegment Segment in which EfiCompatibility code will place the table or data.
+  ///
+  ///   LegacyOffset Offset in which EfiCompatibility code will place the table or data.
+  ///
+  /// The return values associated with this mode are:
+  ///   EFI_SUCCESS The data was returned successfully.
+  ///   EFI_UNSUPPORTED Oem32 is not supported on this platform.
+  ///
+  EfiGetPlatformBinaryOem32Data = 3,
   ///
   /// This mode returns a TPM binary image for the onboard TPM device.
   ///
@@ -226,7 +226,7 @@ EfiGetPlatformBinaryOem32Data    = 3,
   ///
   ///   EFI_NOT_FOUND No BinaryImage was found.
   ///
-  EfiGetPlatformBinaryTpmBinary    = 4,
+  EfiGetPlatformBinaryTpmBinary = 4,
   ///
   /// The mode finds the Compatibility16 Rom Image.
   ///
@@ -250,7 +250,7 @@ EfiGetPlatformBinaryOem32Data    = 3,
   ///
   ///    EFI_NOT_FOUND ROM not found.
   ///
-  EfiGetPlatformBinarySystemRom    = 5,
+  EfiGetPlatformBinarySystemRom = 5,
   ///
   /// This mode returns the Base address of PciExpress memory mapped configuration
   /// address space.
@@ -275,9 +275,9 @@ EfiGetPlatformBinaryOem32Data    = 3,
   ///
   ///   EFI_UNSUPPORTED System does not PciExpress.
   ///
-  EfiGetPlatformPciExpressBase     = 6,
+  EfiGetPlatformPciExpressBase = 6,
   ///
-  EfiGetPlatformPmmSize            = 7,
+  EfiGetPlatformPmmSize = 7,
   ///
   EfiGetPlatformEndOpromShadowAddr = 8,
   ///
@@ -301,7 +301,7 @@ typedef enum {
   ///
   ///   AdditionalData NULL.
   ///
-  EfiGetPlatformVgaHandle       = 0,
+  EfiGetPlatformVgaHandle = 0,
   ///
   /// This mode returns the Compatibility16 policy for the device that should be the IDE
   /// controller used during a Compatibility16 boot.
@@ -317,7 +317,7 @@ typedef enum {
   ///   AdditionalData Pointer to HddInfo.
   ///     Information about all onboard IDE controllers.
   ///
-  EfiGetPlatformIdeHandle       = 1,
+  EfiGetPlatformIdeHandle = 1,
   ///
   /// This mode returns the Compatibility16 policy for the device that should be the ISA bus
   /// controller used during a Compatibility16 boot.
@@ -332,7 +332,7 @@ typedef enum {
   ///
   ///   AdditionalData NULL.
   ///
-  EfiGetPlatformIsaBusHandle    = 2,
+  EfiGetPlatformIsaBusHandle = 2,
   ///
   /// This mode returns the Compatibility16 policy for the device that should be the USB
   /// device used during a Compatibility16 boot.
@@ -347,7 +347,7 @@ typedef enum {
   ///
   ///   AdditionalData NULL.
   ///
-  EfiGetPlatformUsbHandle       = 3
+  EfiGetPlatformUsbHandle = 3
 } EFI_GET_PLATFORM_HANDLE_MODE;
 
 /**
@@ -387,7 +387,7 @@ typedef enum {
   ///
   ///       AdditionalData NULL.
   ///
-  EfiPlatformHookShadowServiceRoms= 1,
+  EfiPlatformHookShadowServiceRoms = 1,
   ///
   /// This mode allows platform to perform any required operation after an OpROM has
   /// completed its initialization.
@@ -404,21 +404,21 @@ typedef enum {
   ///
   ///       AdditionalData NULL.
   ///
-  EfiPlatformHookAfterRomInit     = 2
+  EfiPlatformHookAfterRomInit = 2
 } EFI_GET_PLATFORM_HOOK_MODE;
 
 ///
 /// This IRQ has not been assigned to PCI.
 ///
-#define PCI_UNUSED        0x00
+#define PCI_UNUSED  0x00
 ///
 /// This IRQ has been assigned to PCI.
 ///
-#define PCI_USED          0xFF
+#define PCI_USED  0xFF
 ///
 /// This IRQ has been used by an SIO legacy device and cannot be used by PCI.
 ///
-#define LEGACY_USED       0xFE
+#define LEGACY_USED  0xFE
 
 #pragma pack(1)
 
@@ -426,7 +426,7 @@ typedef struct {
   ///
   /// IRQ for this entry.
   ///
-  UINT8 Irq;
+  UINT8    Irq;
   ///
   /// Status of this IRQ.
   ///
@@ -437,103 +437,101 @@ typedef struct {
   /// LEGACY_USED 0xFE. This IRQ has been used by an SIO legacy
   /// device and cannot be used by PCI.
   ///
-  UINT8 Used;
+  UINT8    Used;
 } EFI_LEGACY_IRQ_PRIORITY_TABLE_ENTRY;
 
 //
 // Define PIR table structures
 //
-#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE SIGNATURE_32 ('$', 'P', 'I', 'R')
+#define EFI_LEGACY_PIRQ_TABLE_SIGNATURE  SIGNATURE_32 ('$', 'P', 'I', 'R')
 
 typedef struct {
   ///
   /// $PIR.
   ///
-  UINT32  Signature;
+  UINT32    Signature;
   ///
   /// 0x00.
   ///
-  UINT8   MinorVersion;
+  UINT8     MinorVersion;
   ///
   /// 0x01 for table version 1.0.
   ///
-  UINT8   MajorVersion;
+  UINT8     MajorVersion;
   ///
   /// 0x20 + RoutingTableEntries * 0x10.
   ///
-  UINT16  TableSize;
+  UINT16    TableSize;
   ///
   /// PCI interrupt router bus.
   ///
-  UINT8   Bus;
+  UINT8     Bus;
   ///
   /// PCI interrupt router device/function.
   ///
-  UINT8   DevFun;
+  UINT8     DevFun;
   ///
   /// If nonzero, bit map of IRQs reserved for PCI.
   ///
-  UINT16  PciOnlyIrq;
+  UINT16    PciOnlyIrq;
   ///
   /// Vendor ID of a compatible PCI interrupt router.
   ///
-  UINT16  CompatibleVid;
+  UINT16    CompatibleVid;
   ///
   /// Device ID of a compatible PCI interrupt router.
   ///
-  UINT16  CompatibleDid;
+  UINT16    CompatibleDid;
   ///
   /// If nonzero, a value passed directly to the IRQ miniport's Initialize function.
   ///
-  UINT32  Miniport;
+  UINT32    Miniport;
   ///
   /// Reserved for future usage.
   ///
-  UINT8   Reserved[11];
+  UINT8     Reserved[11];
   ///
   /// This byte plus the sum of all other bytes in the LocalPirqTable equal 0x00.
   ///
-  UINT8   Checksum;
+  UINT8     Checksum;
 } EFI_LEGACY_PIRQ_TABLE_HEADER;
 
-
 typedef struct {
   ///
   /// If nonzero, a value assigned by the IBV.
   ///
-  UINT8   Pirq;
+  UINT8     Pirq;
   ///
   /// If nonzero, the IRQs that can be assigned to this device.
   ///
-  UINT16  IrqMask;
+  UINT16    IrqMask;
 } EFI_LEGACY_PIRQ_ENTRY;
 
 typedef struct {
   ///
   /// PCI bus of the entry.
   ///
-  UINT8                 Bus;
+  UINT8                    Bus;
   ///
   /// PCI device of this entry.
   ///
-  UINT8                 Device;
+  UINT8                    Device;
   ///
   /// An IBV value and IRQ mask for PIRQ pins A through D.
   ///
-  EFI_LEGACY_PIRQ_ENTRY PirqEntry[4];
+  EFI_LEGACY_PIRQ_ENTRY    PirqEntry[4];
   ///
   /// If nonzero, the slot number assigned by the board manufacturer.
   ///
-  UINT8                 Slot;
+  UINT8                    Slot;
   ///
   /// Reserved for future use.
   ///
-  UINT8                 Reserved;
+  UINT8                    Reserved;
 } EFI_LEGACY_IRQ_ROUTING_ENTRY;
 
 #pragma pack()
 
-
 /**
   Finds the binary data or other platform information.
 
@@ -725,31 +723,31 @@ struct _EFI_LEGACY_BIOS_PLATFORM_PROTOCOL {
   ///
   ///  Gets binary data or other platform information.
   ///
-  EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO    GetPlatformInfo;
+  EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_INFO      GetPlatformInfo;
   ///
   ///  Returns a buffer of all handles matching the requested subfunction.
   ///
-  EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE  GetPlatformHandle;
+  EFI_LEGACY_BIOS_PLATFORM_GET_PLATFORM_HANDLE    GetPlatformHandle;
   ///
   ///  Loads and initializes the traditional BIOS SMM handler.
-  EFI_LEGACY_BIOS_PLATFORM_SMM_INIT             SmmInit;
+  EFI_LEGACY_BIOS_PLATFORM_SMM_INIT               SmmInit;
   ///
   ///  Allows platform to perform any required actions after a LegacyBios operation.
   ///
-  EFI_LEGACY_BIOS_PLATFORM_HOOKS                PlatformHooks;
+  EFI_LEGACY_BIOS_PLATFORM_HOOKS                  PlatformHooks;
   ///
   ///  Gets $PIR table.
-  EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE    GetRoutingTable;
+  EFI_LEGACY_BIOS_PLATFORM_GET_ROUTING_TABLE      GetRoutingTable;
   ///
   ///  Translates the given PIRQ to the final value after traversing any PCI bridges.
   ///
-  EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ       TranslatePirq;
+  EFI_LEGACY_BIOS_PLATFORM_TRANSLATE_PIRQ         TranslatePirq;
   ///
   ///  Final platform function before the system attempts to boot to a traditional OS.
   ///
-  EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT      PrepareToBoot;
+  EFI_LEGACY_BIOS_PLATFORM_PREPARE_TO_BOOT        PrepareToBoot;
 };
 
-extern EFI_GUID gEfiLegacyBiosPlatformProtocolGuid;
+extern EFI_GUID  gEfiLegacyBiosPlatformProtocolGuid;
 
 #endif

+ 5 - 6
OvmfPkg/Csm/Include/Protocol/LegacyInterrupt.h

@@ -13,7 +13,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #ifndef _EFI_LEGACY_INTERRUPT_H_
 #define _EFI_LEGACY_INTERRUPT_H_
 
-
 #define EFI_LEGACY_INTERRUPT_PROTOCOL_GUID \
   { \
     0x31ce593d, 0x108a, 0x485d, {0xad, 0xb2, 0x78, 0xf2, 0x1f, 0x29, 0x66, 0xbe } \
@@ -99,24 +98,24 @@ struct _EFI_LEGACY_INTERRUPT_PROTOCOL {
   ///
   ///   Gets the number of PIRQs supported.
   ///
-  EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS GetNumberPirqs;
+  EFI_LEGACY_INTERRUPT_GET_NUMBER_PIRQS    GetNumberPirqs;
 
   ///
   /// Gets the PCI bus, device, and function that is associated with this protocol.
   ///
-  EFI_LEGACY_INTERRUPT_GET_LOCATION     GetLocation;
+  EFI_LEGACY_INTERRUPT_GET_LOCATION        GetLocation;
 
   ///
   /// Reads the indicated PIRQ register.
   ///
-  EFI_LEGACY_INTERRUPT_READ_PIRQ        ReadPirq;
+  EFI_LEGACY_INTERRUPT_READ_PIRQ           ReadPirq;
 
   ///
   /// Writes to the indicated PIRQ register.
   ///
-  EFI_LEGACY_INTERRUPT_WRITE_PIRQ       WritePirq;
+  EFI_LEGACY_INTERRUPT_WRITE_PIRQ          WritePirq;
 };
 
-extern EFI_GUID gEfiLegacyInterruptProtocolGuid;
+extern EFI_GUID  gEfiLegacyInterruptProtocolGuid;
 
 #endif

+ 10 - 10
OvmfPkg/Csm/Include/Protocol/VgaMiniPort.h

@@ -20,7 +20,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 ///
 /// Forward declaration for the EFI_VGA_MINI_PORT_PROTOCOL.
 ///
-typedef struct _EFI_VGA_MINI_PORT_PROTOCOL  EFI_VGA_MINI_PORT_PROTOCOL;
+typedef struct _EFI_VGA_MINI_PORT_PROTOCOL EFI_VGA_MINI_PORT_PROTOCOL;
 
 /**
   Sets the text display mode of a VGA controller.
@@ -49,40 +49,40 @@ EFI_STATUS
   );
 
 struct _EFI_VGA_MINI_PORT_PROTOCOL {
-  EFI_VGA_MINI_PORT_SET_MODE  SetMode;
+  EFI_VGA_MINI_PORT_SET_MODE    SetMode;
   ///
   /// MMIO base address of the VGA text mode framebuffer.  Typically set to 0xB8000.
   ///
-  UINT64                      VgaMemoryOffset;
+  UINT64                        VgaMemoryOffset;
   ///
   /// I/O Port address for the VGA CRTC address register. Typically set to 0x3D4.
   ///
-  UINT64                      CrtcAddressRegisterOffset;
+  UINT64                        CrtcAddressRegisterOffset;
   ///
   /// I/O Port address for the VGA CRTC data register.  Typically set to 0x3D5.
   ///
-  UINT64                      CrtcDataRegisterOffset;
+  UINT64                        CrtcDataRegisterOffset;
   ///
   /// PCI Controller MMIO BAR index of the VGA text mode frame buffer.  Typically
   /// set to EFI_PCI_IO_PASS_THROUGH_BAR
   ///
-  UINT8                       VgaMemoryBar;
+  UINT8                         VgaMemoryBar;
   ///
   /// PCI Controller I/O BAR index of the VGA CRTC address register.  Typically
   /// set to EFI_PCI_IO_PASS_THROUGH_BAR
   ///
-  UINT8                       CrtcAddressRegisterBar;
+  UINT8                         CrtcAddressRegisterBar;
   ///
   /// PCI Controller I/O BAR index of the VGA CRTC data register.  Typically set
   /// to EFI_PCI_IO_PASS_THROUGH_BAR
   ///
-  UINT8                       CrtcDataRegisterBar;
+  UINT8                         CrtcDataRegisterBar;
   ///
   /// The maximum number of text modes that this VGA controller supports.
   ///
-  UINT8                       MaxMode;
+  UINT8                         MaxMode;
 };
 
-extern EFI_GUID gEfiVgaMiniPortProtocolGuid;
+extern EFI_GUID  gEfiVgaMiniPortProtocolGuid;
 
 #endif

+ 98 - 92
OvmfPkg/Csm/LegacyBiosDxe/LegacyBbs.c

@@ -14,13 +14,13 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 // FLOPPY_NOT_PRESENT = No floppy controller present
 // FLOPPY_PRESENT_NO_MEDIA = Floppy controller present but no media inserted
 //
-#define FLOPPY_NOT_PRESENT           0
-#define FLOPPY_PRESENT_WITH_MEDIA    1
-#define FLOPPY_PRESENT_NO_MEDIA      2
+#define FLOPPY_NOT_PRESENT         0
+#define FLOPPY_PRESENT_WITH_MEDIA  1
+#define FLOPPY_PRESENT_NO_MEDIA    2
 
-BBS_TABLE           *mBbsTable;
-BOOLEAN             mBbsTableDoneFlag   = FALSE;
-BOOLEAN             IsHaveMediaInFloppy = TRUE;
+BBS_TABLE  *mBbsTable;
+BOOLEAN    mBbsTableDoneFlag   = FALSE;
+BOOLEAN    IsHaveMediaInFloppy = TRUE;
 
 /**
   Checks the state of the floppy and if media is inserted.
@@ -44,23 +44,23 @@ HasMediaInFloppy (
   VOID
   )
 {
-  EFI_STATUS                            Status;
-  UINTN                                 HandleCount;
-  EFI_HANDLE                            *HandleBuffer;
-  UINTN                                 Index;
-  EFI_ISA_IO_PROTOCOL                   *IsaIo;
-  EFI_BLOCK_IO_PROTOCOL                 *BlkIo;
+  EFI_STATUS             Status;
+  UINTN                  HandleCount;
+  EFI_HANDLE             *HandleBuffer;
+  UINTN                  Index;
+  EFI_ISA_IO_PROTOCOL    *IsaIo;
+  EFI_BLOCK_IO_PROTOCOL  *BlkIo;
 
-  HandleBuffer  = NULL;
-  HandleCount   = 0;
+  HandleBuffer = NULL;
+  HandleCount  = 0;
 
   gBS->LocateHandleBuffer (
-        ByProtocol,
-        &gEfiIsaIoProtocolGuid,
-        NULL,
-        &HandleCount,
-        &HandleBuffer
-        );
+         ByProtocol,
+         &gEfiIsaIoProtocolGuid,
+         NULL,
+         &HandleCount,
+         &HandleBuffer
+         );
 
   //
   // If don't find any ISA/IO protocol assume no floppy. Need for floppy
@@ -76,7 +76,7 @@ HasMediaInFloppy (
     Status = gBS->HandleProtocol (
                     HandleBuffer[Index],
                     &gEfiIsaIoProtocolGuid,
-                    (VOID **) &IsaIo
+                    (VOID **)&IsaIo
                     );
     if (EFI_ERROR (Status)) {
       continue;
@@ -85,6 +85,7 @@ HasMediaInFloppy (
     if (IsaIo->ResourceList->Device.HID != EISA_PNP_ID (0x604)) {
       continue;
     }
+
     //
     // Update blockio in case the floppy is inserted in during BdsTimeout
     //
@@ -103,7 +104,7 @@ HasMediaInFloppy (
     Status = gBS->HandleProtocol (
                     HandleBuffer[Index],
                     &gEfiBlockIoProtocolGuid,
-                    (VOID **) &BlkIo
+                    (VOID **)&BlkIo
                     );
     if (EFI_ERROR (Status)) {
       continue;
@@ -121,10 +122,8 @@ HasMediaInFloppy (
   FreePool (HandleBuffer);
 
   return FLOPPY_NOT_PRESENT;
-
 }
 
-
 /**
   Complete build of BBS TABLE.
 
@@ -136,8 +135,8 @@ HasMediaInFloppy (
 **/
 EFI_STATUS
 LegacyBiosBuildBbs (
-  IN  LEGACY_BIOS_INSTANCE      *Private,
-  IN  BBS_TABLE                 *BbsTable
+  IN  LEGACY_BIOS_INSTANCE  *Private,
+  IN  BBS_TABLE             *BbsTable
   )
 {
   UINTN       BbsIndex;
@@ -172,18 +171,18 @@ LegacyBiosBuildBbs (
     }
   }
 
-  BbsTable[0].Bus                       = 0xff;
-  BbsTable[0].Device                    = 0xff;
-  BbsTable[0].Function                  = 0xff;
-  BbsTable[0].DeviceType                = BBS_FLOPPY;
-  BbsTable[0].Class                     = 01;
-  BbsTable[0].SubClass                  = 02;
-  BbsTable[0].StatusFlags.OldPosition   = 0;
-  BbsTable[0].StatusFlags.Reserved1     = 0;
-  BbsTable[0].StatusFlags.Enabled       = 0;
-  BbsTable[0].StatusFlags.Failed        = 0;
-  BbsTable[0].StatusFlags.MediaPresent  = 0;
-  BbsTable[0].StatusFlags.Reserved2     = 0;
+  BbsTable[0].Bus                      = 0xff;
+  BbsTable[0].Device                   = 0xff;
+  BbsTable[0].Function                 = 0xff;
+  BbsTable[0].DeviceType               = BBS_FLOPPY;
+  BbsTable[0].Class                    = 01;
+  BbsTable[0].SubClass                 = 02;
+  BbsTable[0].StatusFlags.OldPosition  = 0;
+  BbsTable[0].StatusFlags.Reserved1    = 0;
+  BbsTable[0].StatusFlags.Enabled      = 0;
+  BbsTable[0].StatusFlags.Failed       = 0;
+  BbsTable[0].StatusFlags.MediaPresent = 0;
+  BbsTable[0].StatusFlags.Reserved2    = 0;
 
   //
   // Onboard HDD - Note Each HDD controller controls 2 drives
@@ -196,10 +195,8 @@ LegacyBiosBuildBbs (
   LegacyBiosBuildIdeData (Private, &HddInfo, 0);
 
   for (HddIndex = 0; HddIndex < MAX_IDE_CONTROLLER; HddIndex++) {
-
     BbsIndex = HddIndex * 2 + 1;
     for (Index = 0; Index < 2; ++Index) {
-
       BbsTable[BbsIndex + Index].Bus                      = HddInfo[HddIndex].Bus;
       BbsTable[BbsIndex + Index].Device                   = HddInfo[HddIndex].Device;
       BbsTable[BbsIndex + Index].Function                 = HddInfo[HddIndex].Function;
@@ -286,7 +283,7 @@ LegacyBiosBuildBbs (
         Status = gBS->HandleProtocol (
                         BlockIoHandles[BlockIndex],
                         &gEfiBlockIoProtocolGuid,
-                        (VOID **) &BlkIo
+                        (VOID **)&BlkIo
                         );
 
         if (EFI_ERROR (Status)) {
@@ -313,7 +310,7 @@ LegacyBiosBuildBbs (
         Status = gBS->HandleProtocol (
                         BlockIoHandles[BlockIndex],
                         &gEfiDevicePathProtocolGuid,
-                        (VOID **) &DevicePath
+                        (VOID **)&DevicePath
                         );
         if (EFI_ERROR (Status)) {
           continue;
@@ -324,14 +321,17 @@ LegacyBiosBuildBbs (
         //
         DevicePathNode = DevicePath;
         while (!IsDevicePathEnd (DevicePathNode)) {
-          if (DevicePathType (DevicePathNode) == MESSAGING_DEVICE_PATH &&
-              DevicePathSubType (DevicePathNode) == MSG_ATAPI_DP) {
+          if ((DevicePathType (DevicePathNode) == MESSAGING_DEVICE_PATH) &&
+              (DevicePathSubType (DevicePathNode) == MSG_ATAPI_DP))
+          {
             break;
           }
+
           DevicePathNode = NextDevicePathNode (DevicePathNode);
         }
+
         if (!IsDevicePathEnd (DevicePathNode)) {
-            continue;
+          continue;
         }
 
         //
@@ -349,7 +349,7 @@ LegacyBiosBuildBbs (
         Status = gBS->HandleProtocol (
                         PciHandle,
                         &gEfiPciIoProtocolGuid,
-                        (VOID **) &PciIo
+                        (VOID **)&PciIo
                         );
         if (EFI_ERROR (Status)) {
           continue;
@@ -367,13 +367,21 @@ LegacyBiosBuildBbs (
         }
 
         if (SegNum != 0) {
-          DEBUG ((DEBUG_WARN, "CSM cannot use PCI devices in segment %Lu\n",
-            (UINT64) SegNum));
+          DEBUG ((
+            DEBUG_WARN,
+            "CSM cannot use PCI devices in segment %Lu\n",
+            (UINT64)SegNum
+            ));
           continue;
         }
 
-        DEBUG ((DEBUG_INFO, "Add Legacy Bbs entry for PCI %d/%d/%d\n",
-          BusNum, DevNum, FuncNum));
+        DEBUG ((
+          DEBUG_INFO,
+          "Add Legacy Bbs entry for PCI %d/%d/%d\n",
+          BusNum,
+          DevNum,
+          FuncNum
+          ));
 
         BbsTable[BbsIndex].Bus                      = BusNum;
         BbsTable[BbsIndex].Device                   = DevNum;
@@ -403,7 +411,6 @@ LegacyBiosBuildBbs (
   return EFI_SUCCESS;
 }
 
-
 /**
   Get all BBS info
 
@@ -421,30 +428,30 @@ LegacyBiosBuildBbs (
 EFI_STATUS
 EFIAPI
 LegacyBiosGetBbsInfo (
-  IN EFI_LEGACY_BIOS_PROTOCOL         *This,
-  OUT UINT16                          *HddCount,
-  OUT HDD_INFO                        **HddInfo,
-  OUT UINT16                          *BbsCount,
-  OUT BBS_TABLE                       **BbsTable
+  IN EFI_LEGACY_BIOS_PROTOCOL  *This,
+  OUT UINT16                   *HddCount,
+  OUT HDD_INFO                 **HddInfo,
+  OUT UINT16                   *BbsCount,
+  OUT BBS_TABLE                **BbsTable
   )
 {
-  LEGACY_BIOS_INSTANCE              *Private;
-  EFI_IA32_REGISTER_SET             Regs;
-  EFI_TO_COMPATIBILITY16_BOOT_TABLE *EfiToLegacy16BootTable;
-//  HDD_INFO                          *LocalHddInfo;
-//  IN BBS_TABLE                      *LocalBbsTable;
-  UINTN                             NumHandles;
-  EFI_HANDLE                        *HandleBuffer;
-  UINTN                             Index;
-  UINTN                             TempData;
-  UINT32                            Granularity;
-
-  HandleBuffer            = NULL;
-
-  Private                 = LEGACY_BIOS_INSTANCE_FROM_THIS (This);
-  EfiToLegacy16BootTable  = &Private->IntThunk->EfiToLegacy16BootTable;
-//  LocalHddInfo            = EfiToLegacy16BootTable->HddInfo;
-//  LocalBbsTable           = (BBS_TABLE*)(UINTN)EfiToLegacy16BootTable->BbsTable;
+  LEGACY_BIOS_INSTANCE               *Private;
+  EFI_IA32_REGISTER_SET              Regs;
+  EFI_TO_COMPATIBILITY16_BOOT_TABLE  *EfiToLegacy16BootTable;
+  //  HDD_INFO                          *LocalHddInfo;
+  //  IN BBS_TABLE                      *LocalBbsTable;
+  UINTN       NumHandles;
+  EFI_HANDLE  *HandleBuffer;
+  UINTN       Index;
+  UINTN       TempData;
+  UINT32      Granularity;
+
+  HandleBuffer = NULL;
+
+  Private                = LEGACY_BIOS_INSTANCE_FROM_THIS (This);
+  EfiToLegacy16BootTable = &Private->IntThunk->EfiToLegacy16BootTable;
+  //  LocalHddInfo            = EfiToLegacy16BootTable->HddInfo;
+  //  LocalBbsTable           = (BBS_TABLE*)(UINTN)EfiToLegacy16BootTable->BbsTable;
 
   if (!mBbsTableDoneFlag) {
     mBbsTable = Private->BbsTablePtr;
@@ -457,12 +464,12 @@ LegacyBiosGetBbsInfo (
     // Get PciRootBridgeIO protocol
     //
     gBS->LocateHandleBuffer (
-          ByProtocol,
-          &gEfiPciRootBridgeIoProtocolGuid,
-          NULL,
-          &NumHandles,
-          &HandleBuffer
-          );
+           ByProtocol,
+           &gEfiPciRootBridgeIoProtocolGuid,
+           NULL,
+           &NumHandles,
+           &HandleBuffer
+           );
 
     if (NumHandles == 0) {
       return EFI_NOT_FOUND;
@@ -475,7 +482,6 @@ LegacyBiosGetBbsInfo (
       // PCI bus driver enumerate all subsequent handles
       //
       gBS->ConnectController (HandleBuffer[Index], NULL, NULL, FALSE);
-
     }
 
     LegacyBiosBuildBbs (Private, mBbsTable);
@@ -491,18 +497,18 @@ LegacyBiosGetBbsInfo (
     //
     // Pass in handoff data
     //
-    TempData  = (UINTN) EfiToLegacy16BootTable;
-    Regs.X.ES = NORMALIZE_EFI_SEGMENT ((UINT32) TempData);
-    Regs.X.BX = NORMALIZE_EFI_OFFSET ((UINT32) TempData);
+    TempData  = (UINTN)EfiToLegacy16BootTable;
+    Regs.X.ES = NORMALIZE_EFI_SEGMENT ((UINT32)TempData);
+    Regs.X.BX = NORMALIZE_EFI_OFFSET ((UINT32)TempData);
 
     Private->LegacyBios.FarCall86 (
-      This,
-      Private->Legacy16CallSegment,
-      Private->Legacy16CallOffset,
-      &Regs,
-      NULL,
-      0
-      );
+                          This,
+                          Private->Legacy16CallSegment,
+                          Private->Legacy16CallOffset,
+                          &Regs,
+                          NULL,
+                          0
+                          );
 
     Private->Cpu->FlushDataCache (Private->Cpu, 0xE0000, 0x20000, EfiCpuFlushTypeWriteBackInvalidate);
     Private->LegacyRegion->Lock (Private->LegacyRegion, 0xe0000, 0x20000, &Granularity);
@@ -518,7 +524,7 @@ LegacyBiosGetBbsInfo (
 
   *HddCount = MAX_IDE_CONTROLLER;
   *HddInfo  = EfiToLegacy16BootTable->HddInfo;
-  *BbsTable = (BBS_TABLE*)(UINTN)EfiToLegacy16BootTable->BbsTable;
-  *BbsCount = (UINT16) (sizeof (Private->IntThunk->BbsTable) / sizeof (BBS_TABLE));
+  *BbsTable = (BBS_TABLE *)(UINTN)EfiToLegacy16BootTable->BbsTable;
+  *BbsCount = (UINT16)(sizeof (Private->IntThunk->BbsTable) / sizeof (BBS_TABLE));
   return EFI_SUCCESS;
 }

+ 13 - 13
OvmfPkg/Csm/LegacyBiosDxe/LegacyBda.c

@@ -21,25 +21,25 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 **/
 EFI_STATUS
 LegacyBiosInitBda (
-  IN  LEGACY_BIOS_INSTANCE    *Private
+  IN  LEGACY_BIOS_INSTANCE  *Private
   )
 {
-  BDA_STRUC *Bda;
-  UINT8     *Ebda;
+  BDA_STRUC  *Bda;
+  UINT8      *Ebda;
 
-  Bda   = (BDA_STRUC *) ((UINTN) 0x400);
-  Ebda  = (UINT8 *) ((UINTN) 0x9fc00);
+  Bda  = (BDA_STRUC *)((UINTN)0x400);
+  Ebda = (UINT8 *)((UINTN)0x9fc00);
 
   ACCESS_PAGE0_CODE (
     ZeroMem (Bda, 0x100);
     //
     // 640k-1k for EBDA
     //
-    Bda->MemSize        = 0x27f;
-    Bda->KeyHead        = 0x1e;
-    Bda->KeyTail        = 0x1e;
-    Bda->FloppyData     = 0x00;
-    Bda->FloppyTimeout  = 0xff;
+    Bda->MemSize       = 0x27f;
+    Bda->KeyHead       = 0x1e;
+    Bda->KeyTail       = 0x1e;
+    Bda->FloppyData    = 0x00;
+    Bda->FloppyTimeout = 0xff;
 
     Bda->KeyStart       = 0x001E;
     Bda->KeyEnd         = 0x003E;
@@ -50,10 +50,10 @@ LegacyBiosInitBda (
     // Move LPT time out here and zero out LPT4 since some SCSI OPROMS
     // use this as scratch pad (LPT4 is Reserved)
     //
-    Bda->Lpt1_2Timeout  = 0x1414;
-    Bda->Lpt3_4Timeout  = 0x1400;
+    Bda->Lpt1_2Timeout = 0x1414;
+    Bda->Lpt3_4Timeout = 0x1400;
 
-  );
+    );
 
   ZeroMem (Ebda, 0x400);
   *Ebda = 0x01;

+ 265 - 253
OvmfPkg/Csm/LegacyBiosDxe/LegacyBios.c

@@ -13,7 +13,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // define maximum number of HDD system supports
 //
-#define MAX_HDD_ENTRIES 0x30
+#define MAX_HDD_ENTRIES  0x30
 
 //
 // Module Global:
@@ -25,7 +25,7 @@ LEGACY_BIOS_INSTANCE  mPrivateData;
 //
 // The SMBIOS table in EfiRuntimeServicesData memory
 //
-VOID                  *mRuntimeSmbiosEntryPoint = NULL;
+VOID  *mRuntimeSmbiosEntryPoint = NULL;
 
 //
 // The SMBIOS table in EfiReservedMemoryType memory
@@ -50,27 +50,27 @@ BOOLEAN               mEndOfDxe                = FALSE;
 **/
 EFI_STATUS
 AllocateLegacyMemory (
-  IN  EFI_ALLOCATE_TYPE         AllocateType,
-  IN  EFI_MEMORY_TYPE           MemoryType,
-  IN  EFI_PHYSICAL_ADDRESS      StartPageAddress,
-  IN  UINTN                     Pages,
-  OUT EFI_PHYSICAL_ADDRESS      *Result
+  IN  EFI_ALLOCATE_TYPE     AllocateType,
+  IN  EFI_MEMORY_TYPE       MemoryType,
+  IN  EFI_PHYSICAL_ADDRESS  StartPageAddress,
+  IN  UINTN                 Pages,
+  OUT EFI_PHYSICAL_ADDRESS  *Result
   )
 {
-  EFI_STATUS                      Status;
-  EFI_PHYSICAL_ADDRESS            MemPage;
-  EFI_GCD_MEMORY_SPACE_DESCRIPTOR MemDesc;
+  EFI_STATUS                       Status;
+  EFI_PHYSICAL_ADDRESS             MemPage;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR  MemDesc;
 
   //
   // Allocate Pages of memory less <= StartPageAddress
   //
-  MemPage = (EFI_PHYSICAL_ADDRESS) (UINTN) StartPageAddress;
-  Status = gBS->AllocatePages (
-                  AllocateType,
-                  MemoryType,
-                  Pages,
-                  &MemPage
-                  );
+  MemPage = (EFI_PHYSICAL_ADDRESS)(UINTN)StartPageAddress;
+  Status  = gBS->AllocatePages (
+                   AllocateType,
+                   MemoryType,
+                   Pages,
+                   &MemPage
+                   );
   //
   // Do not ASSERT on Status error but let caller decide since some cases
   // memory is already taken but that is ok.
@@ -81,13 +81,14 @@ AllocateLegacyMemory (
       // Make sure that the buffer can be used to store code.
       //
       Status = gDS->GetMemorySpaceDescriptor (MemPage, &MemDesc);
-      if (!EFI_ERROR (Status) && (MemDesc.Attributes & EFI_MEMORY_XP) != 0) {
+      if (!EFI_ERROR (Status) && ((MemDesc.Attributes & EFI_MEMORY_XP) != 0)) {
         Status = gDS->SetMemorySpaceAttributes (
                         MemPage,
                         EFI_PAGES_TO_SIZE (Pages),
                         MemDesc.Attributes & (~EFI_MEMORY_XP)
                         );
       }
+
       if (EFI_ERROR (Status)) {
         gBS->FreePages (MemPage, Pages);
       }
@@ -95,13 +96,12 @@ AllocateLegacyMemory (
   }
 
   if (!EFI_ERROR (Status)) {
-    *Result = (EFI_PHYSICAL_ADDRESS) (UINTN) MemPage;
+    *Result = (EFI_PHYSICAL_ADDRESS)(UINTN)MemPage;
   }
 
   return Status;
 }
 
-
 /**
   This function is called when EFI needs to reserve an area in the 0xE0000 or 0xF0000
   64 KB blocks.
@@ -126,39 +126,38 @@ AllocateLegacyMemory (
 EFI_STATUS
 EFIAPI
 LegacyBiosGetLegacyRegion (
-  IN    EFI_LEGACY_BIOS_PROTOCOL *This,
-  IN    UINTN                    LegacyMemorySize,
-  IN    UINTN                    Region,
-  IN    UINTN                    Alignment,
-  OUT   VOID                     **LegacyMemoryAddress
+  IN    EFI_LEGACY_BIOS_PROTOCOL  *This,
+  IN    UINTN                     LegacyMemorySize,
+  IN    UINTN                     Region,
+  IN    UINTN                     Alignment,
+  OUT   VOID                      **LegacyMemoryAddress
   )
 {
-
-  LEGACY_BIOS_INSTANCE  *Private;
-  EFI_IA32_REGISTER_SET Regs;
-  EFI_STATUS            Status;
-  UINT32                Granularity;
+  LEGACY_BIOS_INSTANCE   *Private;
+  EFI_IA32_REGISTER_SET  Regs;
+  EFI_STATUS             Status;
+  UINT32                 Granularity;
 
   Private = LEGACY_BIOS_INSTANCE_FROM_THIS (This);
   Private->LegacyRegion->UnLock (Private->LegacyRegion, 0xE0000, 0x20000, &Granularity);
 
   ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));
   Regs.X.AX = Legacy16GetTableAddress;
-  Regs.X.BX = (UINT16) Region;
-  Regs.X.CX = (UINT16) LegacyMemorySize;
-  Regs.X.DX = (UINT16) Alignment;
+  Regs.X.BX = (UINT16)Region;
+  Regs.X.CX = (UINT16)LegacyMemorySize;
+  Regs.X.DX = (UINT16)Alignment;
   Private->LegacyBios.FarCall86 (
-     &Private->LegacyBios,
-     Private->Legacy16CallSegment,
-     Private->Legacy16CallOffset,
-     &Regs,
-     NULL,
-     0
-     );
+                        &Private->LegacyBios,
+                        Private->Legacy16CallSegment,
+                        Private->Legacy16CallOffset,
+                        &Regs,
+                        NULL,
+                        0
+                        );
 
   if (Regs.X.AX == 0) {
-    *LegacyMemoryAddress  = (VOID *) (((UINTN) Regs.X.DS << 4) + Regs.X.BX);
-    Status = EFI_SUCCESS;
+    *LegacyMemoryAddress = (VOID *)(((UINTN)Regs.X.DS << 4) + Regs.X.BX);
+    Status               = EFI_SUCCESS;
   } else {
     Status = EFI_OUT_OF_RESOURCES;
   }
@@ -169,7 +168,6 @@ LegacyBiosGetLegacyRegion (
   return Status;
 }
 
-
 /**
   This function is called when copying data to the region assigned by
   EFI_LEGACY_BIOS_PROTOCOL.GetLegacyRegion().
@@ -187,21 +185,22 @@ LegacyBiosGetLegacyRegion (
 EFI_STATUS
 EFIAPI
 LegacyBiosCopyLegacyRegion (
-  IN EFI_LEGACY_BIOS_PROTOCOL *This,
-  IN    UINTN                 LegacyMemorySize,
-  IN    VOID                  *LegacyMemoryAddress,
-  IN    VOID                  *LegacyMemorySourceAddress
+  IN EFI_LEGACY_BIOS_PROTOCOL  *This,
+  IN    UINTN                  LegacyMemorySize,
+  IN    VOID                   *LegacyMemoryAddress,
+  IN    VOID                   *LegacyMemorySourceAddress
   )
 {
-
   LEGACY_BIOS_INSTANCE  *Private;
   UINT32                Granularity;
 
-  if ((LegacyMemoryAddress < (VOID *)(UINTN)0xE0000 ) ||
-      ((UINTN) LegacyMemoryAddress + LegacyMemorySize > (UINTN) 0x100000)
-        ) {
+  if ((LegacyMemoryAddress < (VOID *)(UINTN)0xE0000) ||
+      ((UINTN)LegacyMemoryAddress + LegacyMemorySize > (UINTN)0x100000)
+      )
+  {
     return EFI_ACCESS_DENIED;
   }
+
   //
   // There is no protection from writes over lapping if this function is
   // called multiple times.
@@ -216,7 +215,6 @@ LegacyBiosCopyLegacyRegion (
   return EFI_SUCCESS;
 }
 
-
 /**
   Find Legacy16 BIOS image in the FLASH device and shadow it into memory. Find
   the $EFI table in the shadow area. Thunk into the Legacy16 code after it had
@@ -233,33 +231,33 @@ ShadowAndStartLegacy16 (
   IN  LEGACY_BIOS_INSTANCE  *Private
   )
 {
-  EFI_STATUS                        Status;
-  UINT8                             *Ptr;
-  UINT8                             *PtrEnd;
-  BOOLEAN                           Done;
-  EFI_COMPATIBILITY16_TABLE         *Table;
-  UINT8                             CheckSum;
-  EFI_IA32_REGISTER_SET             Regs;
-  EFI_TO_COMPATIBILITY16_INIT_TABLE *EfiToLegacy16InitTable;
-  EFI_TO_COMPATIBILITY16_BOOT_TABLE *EfiToLegacy16BootTable;
-  VOID                              *LegacyBiosImage;
-  UINTN                             LegacyBiosImageSize;
-  UINTN                             E820Size;
-  UINT32                            *ClearPtr;
-  BBS_TABLE                         *BbsTable;
-  LEGACY_EFI_HDD_TABLE              *LegacyEfiHddTable;
-  UINTN                             Index;
-  UINT32                            TpmPointer;
-  VOID                              *TpmBinaryImage;
-  UINTN                             TpmBinaryImageSize;
-  UINTN                             Location;
-  UINTN                             Alignment;
-  UINTN                             TempData;
-  EFI_PHYSICAL_ADDRESS              Address;
-  UINT16                            OldMask;
-  UINT16                            NewMask;
-  UINT32                            Granularity;
-  EFI_GCD_MEMORY_SPACE_DESCRIPTOR   Descriptor;
+  EFI_STATUS                         Status;
+  UINT8                              *Ptr;
+  UINT8                              *PtrEnd;
+  BOOLEAN                            Done;
+  EFI_COMPATIBILITY16_TABLE          *Table;
+  UINT8                              CheckSum;
+  EFI_IA32_REGISTER_SET              Regs;
+  EFI_TO_COMPATIBILITY16_INIT_TABLE  *EfiToLegacy16InitTable;
+  EFI_TO_COMPATIBILITY16_BOOT_TABLE  *EfiToLegacy16BootTable;
+  VOID                               *LegacyBiosImage;
+  UINTN                              LegacyBiosImageSize;
+  UINTN                              E820Size;
+  UINT32                             *ClearPtr;
+  BBS_TABLE                          *BbsTable;
+  LEGACY_EFI_HDD_TABLE               *LegacyEfiHddTable;
+  UINTN                              Index;
+  UINT32                             TpmPointer;
+  VOID                               *TpmBinaryImage;
+  UINTN                              TpmBinaryImageSize;
+  UINTN                              Location;
+  UINTN                              Alignment;
+  UINTN                              TempData;
+  EFI_PHYSICAL_ADDRESS               Address;
+  UINT16                             OldMask;
+  UINT16                             NewMask;
+  UINT32                             Granularity;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR    Descriptor;
 
   Location  = 0;
   Alignment = 0;
@@ -300,23 +298,23 @@ ShadowAndStartLegacy16 (
   // end testtest
   //
   EfiToLegacy16BootTable = &Private->IntThunk->EfiToLegacy16BootTable;
-  Status = Private->LegacyBiosPlatform->GetPlatformInfo (
-                                          Private->LegacyBiosPlatform,
-                                          EfiGetPlatformBinarySystemRom,
-                                          &LegacyBiosImage,
-                                          &LegacyBiosImageSize,
-                                          &Location,
-                                          &Alignment,
-                                          0,
-                                          0
-                                          );
+  Status                 = Private->LegacyBiosPlatform->GetPlatformInfo (
+                                                          Private->LegacyBiosPlatform,
+                                                          EfiGetPlatformBinarySystemRom,
+                                                          &LegacyBiosImage,
+                                                          &LegacyBiosImageSize,
+                                                          &Location,
+                                                          &Alignment,
+                                                          0,
+                                                          0
+                                                          );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Private->BiosStart            = (UINT32) (0x100000 - LegacyBiosImageSize);
-  Private->OptionRom            = 0xc0000;
-  Private->LegacyBiosImageSize  = (UINT32) LegacyBiosImageSize;
+  Private->BiosStart           = (UINT32)(0x100000 - LegacyBiosImageSize);
+  Private->OptionRom           = 0xc0000;
+  Private->LegacyBiosImageSize = (UINT32)LegacyBiosImageSize;
 
   //
   // Can only shadow into memory allocated for legacy usage.
@@ -328,20 +326,20 @@ ShadowAndStartLegacy16 (
   //
   Private->LegacyRegion->UnLock (Private->LegacyRegion, 0xc0000, 0x40000, &Granularity);
 
-  ClearPtr = (VOID *) ((UINTN) 0xc0000);
+  ClearPtr = (VOID *)((UINTN)0xc0000);
 
   //
   // Initialize region from 0xc0000 to start of BIOS to all ffs. This allows unused
   // regions to be used by EMM386 etc.
   //
-  SetMem ((VOID *) ClearPtr, (UINTN) (0x40000 - LegacyBiosImageSize), 0xff);
+  SetMem ((VOID *)ClearPtr, (UINTN)(0x40000 - LegacyBiosImageSize), 0xff);
 
   TempData = Private->BiosStart;
 
   CopyMem (
-    (VOID *) TempData,
+    (VOID *)TempData,
     LegacyBiosImage,
-    (UINTN) LegacyBiosImageSize
+    (UINTN)LegacyBiosImageSize
     );
 
   Private->Cpu->FlushDataCache (Private->Cpu, 0xc0000, 0x40000, EfiCpuFlushTypeWriteBackInvalidate);
@@ -351,12 +349,12 @@ ShadowAndStartLegacy16 (
   //
   Done  = FALSE;
   Table = NULL;
-  for (Ptr = (UINT8 *) TempData; Ptr < (UINT8 *) ((UINTN) 0x100000) && !Done; Ptr += 0x10) {
-    if (*(UINT32 *) Ptr == SIGNATURE_32 ('I', 'F', 'E', '$')) {
-      Table   = (EFI_COMPATIBILITY16_TABLE *) Ptr;
-      PtrEnd  = Ptr + Table->TableLength;
+  for (Ptr = (UINT8 *)TempData; Ptr < (UINT8 *)((UINTN)0x100000) && !Done; Ptr += 0x10) {
+    if (*(UINT32 *)Ptr == SIGNATURE_32 ('I', 'F', 'E', '$')) {
+      Table  = (EFI_COMPATIBILITY16_TABLE *)Ptr;
+      PtrEnd = Ptr + Table->TableLength;
       for (CheckSum = 0; Ptr < PtrEnd; Ptr++) {
-        CheckSum = (UINT8) (CheckSum +*Ptr);
+        CheckSum = (UINT8)(CheckSum +*Ptr);
       }
 
       Done = TRUE;
@@ -378,24 +376,24 @@ ShadowAndStartLegacy16 (
   //
   // Remember location of the Legacy16 table
   //
-  Private->Legacy16Table            = Table;
-  Private->Legacy16CallSegment      = Table->Compatibility16CallSegment;
-  Private->Legacy16CallOffset       = Table->Compatibility16CallOffset;
-  EfiToLegacy16InitTable            = &Private->IntThunk->EfiToLegacy16InitTable;
-  Private->Legacy16InitPtr          = EfiToLegacy16InitTable;
-  Private->Legacy16BootPtr          = &Private->IntThunk->EfiToLegacy16BootTable;
-  Private->InternalIrqRoutingTable  = NULL;
-  Private->NumberIrqRoutingEntries  = 0;
-  Private->BbsTablePtr              = NULL;
-  Private->LegacyEfiHddTable        = NULL;
-  Private->DiskEnd                  = 0;
-  Private->Disk4075                 = 0;
-  Private->HddTablePtr              = &Private->IntThunk->EfiToLegacy16BootTable.HddInfo;
-  Private->NumberHddControllers     = MAX_IDE_CONTROLLER;
-  Private->Dump[0]                  = 'D';
-  Private->Dump[1]                  = 'U';
-  Private->Dump[2]                  = 'M';
-  Private->Dump[3]                  = 'P';
+  Private->Legacy16Table           = Table;
+  Private->Legacy16CallSegment     = Table->Compatibility16CallSegment;
+  Private->Legacy16CallOffset      = Table->Compatibility16CallOffset;
+  EfiToLegacy16InitTable           = &Private->IntThunk->EfiToLegacy16InitTable;
+  Private->Legacy16InitPtr         = EfiToLegacy16InitTable;
+  Private->Legacy16BootPtr         = &Private->IntThunk->EfiToLegacy16BootTable;
+  Private->InternalIrqRoutingTable = NULL;
+  Private->NumberIrqRoutingEntries = 0;
+  Private->BbsTablePtr             = NULL;
+  Private->LegacyEfiHddTable       = NULL;
+  Private->DiskEnd                 = 0;
+  Private->Disk4075                = 0;
+  Private->HddTablePtr             = &Private->IntThunk->EfiToLegacy16BootTable.HddInfo;
+  Private->NumberHddControllers    = MAX_IDE_CONTROLLER;
+  Private->Dump[0]                 = 'D';
+  Private->Dump[1]                 = 'U';
+  Private->Dump[2]                 = 'M';
+  Private->Dump[3]                 = 'P';
 
   ZeroMem (
     Private->Legacy16BootPtr,
@@ -405,7 +403,7 @@ ShadowAndStartLegacy16 (
   //
   // Store away a copy of the EFI System Table
   //
-  Table->EfiSystemTable = (UINT32) (UINTN) gST;
+  Table->EfiSystemTable = (UINT32)(UINTN)gST;
 
   //
   // IPF CSM integration -Bug
@@ -423,31 +421,31 @@ ShadowAndStartLegacy16 (
   //
   // All legacy interrupt should be masked when do initialization work from legacy 16 code.
   //
-  Private->Legacy8259->GetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);
+  Private->Legacy8259->GetMask (Private->Legacy8259, &OldMask, NULL, NULL, NULL);
   NewMask = 0xFFFF;
-  Private->Legacy8259->SetMask(Private->Legacy8259, &NewMask, NULL, NULL, NULL);
+  Private->Legacy8259->SetMask (Private->Legacy8259, &NewMask, NULL, NULL, NULL);
 
   //
   // Call into Legacy16 code to do an INIT
   //
   ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));
   Regs.X.AX = Legacy16InitializeYourself;
-  Regs.X.ES = EFI_SEGMENT (*((UINT32 *) &EfiToLegacy16InitTable));
-  Regs.X.BX = EFI_OFFSET (*((UINT32 *) &EfiToLegacy16InitTable));
+  Regs.X.ES = EFI_SEGMENT (*((UINT32 *)&EfiToLegacy16InitTable));
+  Regs.X.BX = EFI_OFFSET (*((UINT32 *)&EfiToLegacy16InitTable));
 
   Private->LegacyBios.FarCall86 (
-    &Private->LegacyBios,
-    Table->Compatibility16CallSegment,
-    Table->Compatibility16CallOffset,
-    &Regs,
-    NULL,
-    0
-    );
+                        &Private->LegacyBios,
+                        Table->Compatibility16CallSegment,
+                        Table->Compatibility16CallOffset,
+                        &Regs,
+                        NULL,
+                        0
+                        );
 
   //
   // Restore original legacy interrupt mask value
   //
-  Private->Legacy8259->SetMask(Private->Legacy8259, &OldMask, NULL, NULL, NULL);
+  Private->Legacy8259->SetMask (Private->Legacy8259, &OldMask, NULL, NULL, NULL);
 
   if (Regs.X.AX != 0) {
     return EFI_DEVICE_ERROR;
@@ -469,30 +467,31 @@ ShadowAndStartLegacy16 (
   //
   ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));
   Regs.X.AX = Legacy16GetTableAddress;
-  Regs.X.CX = (UINT16) E820Size;
+  Regs.X.CX = (UINT16)E820Size;
   Regs.X.DX = 1;
   Private->LegacyBios.FarCall86 (
-    &Private->LegacyBios,
-    Table->Compatibility16CallSegment,
-    Table->Compatibility16CallOffset,
-    &Regs,
-    NULL,
-    0
-    );
+                        &Private->LegacyBios,
+                        Table->Compatibility16CallSegment,
+                        Table->Compatibility16CallOffset,
+                        &Regs,
+                        NULL,
+                        0
+                        );
 
-  Table->E820Pointer  = (UINT32) (Regs.X.DS * 16 + Regs.X.BX);
-  Table->E820Length   = (UINT32) E820Size;
+  Table->E820Pointer = (UINT32)(Regs.X.DS * 16 + Regs.X.BX);
+  Table->E820Length  = (UINT32)E820Size;
   if (Regs.X.AX != 0) {
     DEBUG ((DEBUG_ERROR, "Legacy16 E820 length insufficient\n"));
   } else {
     TempData = Table->E820Pointer;
-    CopyMem ((VOID *) TempData, Private->E820Table, E820Size);
+    CopyMem ((VOID *)TempData, Private->E820Table, E820Size);
   }
+
   //
   // Get PnPInstallationCheck Info.
   //
-  Private->PnPInstallationCheckSegment  = Table->PnPInstallationCheckSegment;
-  Private->PnPInstallationCheckOffset   = Table->PnPInstallationCheckOffset;
+  Private->PnPInstallationCheckSegment = Table->PnPInstallationCheckSegment;
+  Private->PnPInstallationCheckOffset  = Table->PnPInstallationCheckOffset;
 
   //
   // Check if PCI Express is supported. If yes, Save base address.
@@ -508,9 +507,10 @@ ShadowAndStartLegacy16 (
                                           0
                                           );
   if (!EFI_ERROR (Status)) {
-    Private->Legacy16Table->PciExpressBase  = (UINT32)Location;
-    Location = 0;
+    Private->Legacy16Table->PciExpressBase = (UINT32)Location;
+    Location                               = 0;
   }
+
   //
   // Check if TPM is supported. If yes get a region in E0000,F0000 to copy it
   // into, copy it and update pointer to binary image. This needs to be
@@ -527,35 +527,34 @@ ShadowAndStartLegacy16 (
                                           0
                                           );
   if (!EFI_ERROR (Status)) {
-
     ZeroMem (&Regs, sizeof (EFI_IA32_REGISTER_SET));
     Regs.X.AX = Legacy16GetTableAddress;
-    Regs.X.CX = (UINT16) TpmBinaryImageSize;
+    Regs.X.CX = (UINT16)TpmBinaryImageSize;
     Regs.X.DX = 1;
     Private->LegacyBios.FarCall86 (
-      &Private->LegacyBios,
-      Table->Compatibility16CallSegment,
-      Table->Compatibility16CallOffset,
-      &Regs,
-      NULL,
-      0
-      );
-
-    TpmPointer = (UINT32) (Regs.X.DS * 16 + Regs.X.BX);
+                          &Private->LegacyBios,
+                          Table->Compatibility16CallSegment,
+                          Table->Compatibility16CallOffset,
+                          &Regs,
+                          NULL,
+                          0
+                          );
+
+    TpmPointer = (UINT32)(Regs.X.DS * 16 + Regs.X.BX);
     if (Regs.X.AX != 0) {
       DEBUG ((DEBUG_ERROR, "TPM cannot be loaded\n"));
     } else {
-      CopyMem ((VOID *) (UINTN)TpmPointer, TpmBinaryImage, TpmBinaryImageSize);
+      CopyMem ((VOID *)(UINTN)TpmPointer, TpmBinaryImage, TpmBinaryImageSize);
       Table->TpmSegment = Regs.X.DS;
       Table->TpmOffset  = Regs.X.BX;
-
     }
   }
+
   //
   // Lock the Legacy BIOS region
   //
-  Private->Cpu->FlushDataCache (Private->Cpu, Private->BiosStart, (UINT32) LegacyBiosImageSize, EfiCpuFlushTypeWriteBackInvalidate);
-  Private->LegacyRegion->Lock (Private->LegacyRegion, Private->BiosStart, (UINT32) LegacyBiosImageSize, &Granularity);
+  Private->Cpu->FlushDataCache (Private->Cpu, Private->BiosStart, (UINT32)LegacyBiosImageSize, EfiCpuFlushTypeWriteBackInvalidate);
+  Private->LegacyRegion->Lock (Private->LegacyRegion, Private->BiosStart, (UINT32)LegacyBiosImageSize, &Granularity);
 
   //
   // Get the BbsTable from LOW_MEMORY_THUNK
@@ -563,8 +562,8 @@ ShadowAndStartLegacy16 (
   BbsTable = (BBS_TABLE *)(UINTN)Private->IntThunk->BbsTable;
   ZeroMem ((VOID *)BbsTable, sizeof (Private->IntThunk->BbsTable));
 
-  EfiToLegacy16BootTable->BbsTable  = (UINT32)(UINTN)BbsTable;
-  Private->BbsTablePtr              = (VOID *) BbsTable;
+  EfiToLegacy16BootTable->BbsTable = (UINT32)(UINTN)BbsTable;
+  Private->BbsTablePtr             = (VOID *)BbsTable;
 
   //
   // Populate entire table with BBS_IGNORE_ENTRY
@@ -574,10 +573,11 @@ ShadowAndStartLegacy16 (
   for (Index = 0; Index < MAX_BBS_ENTRIES; Index++) {
     BbsTable[Index].BootPriority = BBS_IGNORE_ENTRY;
   }
+
   //
   // Allocate space for Legacy HDD table
   //
-  LegacyEfiHddTable = (LEGACY_EFI_HDD_TABLE *) AllocateZeroPool ((UINTN) MAX_HDD_ENTRIES * sizeof (LEGACY_EFI_HDD_TABLE));
+  LegacyEfiHddTable = (LEGACY_EFI_HDD_TABLE *)AllocateZeroPool ((UINTN)MAX_HDD_ENTRIES * sizeof (LEGACY_EFI_HDD_TABLE));
   ASSERT (LegacyEfiHddTable);
 
   Private->LegacyEfiHddTable      = LegacyEfiHddTable;
@@ -612,7 +612,7 @@ ShadowAndStartLegacy16 (
 EFI_STATUS
 EFIAPI
 LegacyBiosShadowAllLegacyOproms (
-  IN EFI_LEGACY_BIOS_PROTOCOL *This
+  IN EFI_LEGACY_BIOS_PROTOCOL  *This
   )
 {
   LEGACY_BIOS_INSTANCE  *Private;
@@ -657,16 +657,16 @@ LegacyBiosShadowAllLegacyOproms (
 **/
 UINT16
 GetPciInterfaceVersion (
-  IN LEGACY_BIOS_INSTANCE *Private
+  IN LEGACY_BIOS_INSTANCE  *Private
   )
 {
-  EFI_IA32_REGISTER_SET Reg;
-  BOOLEAN               ThunkFailed;
-  UINT16                PciInterfaceVersion;
+  EFI_IA32_REGISTER_SET  Reg;
+  BOOLEAN                ThunkFailed;
+  UINT16                 PciInterfaceVersion;
 
   PciInterfaceVersion = 0;
 
-  Reg.X.AX = 0xB101;
+  Reg.X.AX  = 0xB101;
   Reg.E.EDI = 0;
 
   ThunkFailed = Private->LegacyBios.Int86 (&Private->LegacyBios, 0x1A, &Reg);
@@ -684,6 +684,7 @@ GetPciInterfaceVersion (
       PciInterfaceVersion = Reg.X.BX;
     }
   }
+
   return PciInterfaceVersion;
 }
 
@@ -699,25 +700,25 @@ GetPciInterfaceVersion (
 VOID
 EFIAPI
 InstallSmbiosEventCallback (
-  IN EFI_EVENT                Event,
-  IN VOID                     *Context
+  IN EFI_EVENT  Event,
+  IN VOID       *Context
   )
 {
-  EFI_STATUS                  Status;
-  SMBIOS_TABLE_ENTRY_POINT    *EntryPointStructure;
+  EFI_STATUS                Status;
+  SMBIOS_TABLE_ENTRY_POINT  *EntryPointStructure;
 
   //
   // Get SMBIOS table from EFI configuration table
   //
   Status = EfiGetSystemConfigurationTable (
-            &gEfiSmbiosTableGuid,
-            &mRuntimeSmbiosEntryPoint
-            );
+             &gEfiSmbiosTableGuid,
+             &mRuntimeSmbiosEntryPoint
+             );
   if ((EFI_ERROR (Status)) || (mRuntimeSmbiosEntryPoint == NULL)) {
     return;
   }
 
-  EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *) mRuntimeSmbiosEntryPoint;
+  EntryPointStructure = (SMBIOS_TABLE_ENTRY_POINT *)mRuntimeSmbiosEntryPoint;
 
   //
   // Allocate memory for SMBIOS Entry Point Structure.
@@ -728,21 +729,23 @@ InstallSmbiosEventCallback (
     // Entrypoint structure with fixed size is allocated only once.
     //
     mReserveSmbiosEntryPoint = SIZE_4GB - 1;
-    Status = gBS->AllocatePages (
-                    AllocateMaxAddress,
-                    EfiReservedMemoryType,
-                    EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength)),
-                    &mReserveSmbiosEntryPoint
-                    );
+    Status                   = gBS->AllocatePages (
+                                      AllocateMaxAddress,
+                                      EfiReservedMemoryType,
+                                      EFI_SIZE_TO_PAGES ((UINTN)(EntryPointStructure->EntryPointLength)),
+                                      &mReserveSmbiosEntryPoint
+                                      );
     if (EFI_ERROR (Status)) {
       mReserveSmbiosEntryPoint = 0;
       return;
     }
+
     DEBUG ((DEBUG_INFO, "Allocate memory for Smbios Entry Point Structure\n"));
   }
 
   if ((mStructureTableAddress != 0) &&
-      (mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength))) {
+      (mStructureTablePages < EFI_SIZE_TO_PAGES ((UINT32)EntryPointStructure->TableLength)))
+  {
     //
     // If original buffer is not enough for the new SMBIOS table, free original buffer and re-allocate
     //
@@ -759,22 +762,23 @@ InstallSmbiosEventCallback (
     //
     mStructureTableAddress = SIZE_4GB - 1;
     mStructureTablePages   = EFI_SIZE_TO_PAGES (EntryPointStructure->TableLength);
-    Status = gBS->AllocatePages (
-                    AllocateMaxAddress,
-                    EfiReservedMemoryType,
-                    mStructureTablePages,
-                    &mStructureTableAddress
-                    );
+    Status                 = gBS->AllocatePages (
+                                    AllocateMaxAddress,
+                                    EfiReservedMemoryType,
+                                    mStructureTablePages,
+                                    &mStructureTableAddress
+                                    );
     if (EFI_ERROR (Status)) {
       gBS->FreePages (
-        mReserveSmbiosEntryPoint,
-        EFI_SIZE_TO_PAGES ((UINTN) (EntryPointStructure->EntryPointLength))
-        );
+             mReserveSmbiosEntryPoint,
+             EFI_SIZE_TO_PAGES ((UINTN)(EntryPointStructure->EntryPointLength))
+             );
       mReserveSmbiosEntryPoint = 0;
       mStructureTableAddress   = 0;
       mStructureTablePages     = 0;
       return;
     }
+
     DEBUG ((DEBUG_INFO, "Allocate memory for Smbios Structure Table\n"));
   }
 }
@@ -791,8 +795,8 @@ InstallSmbiosEventCallback (
 VOID
 EFIAPI
 ToggleEndOfDxeStatus (
-  IN EFI_EVENT                Event,
-  IN VOID                     *Context
+  IN EFI_EVENT  Event,
+  IN VOID       *Context
   )
 {
   mEndOfDxe = TRUE;
@@ -812,8 +816,8 @@ ToggleEndOfDxeStatus (
 EFI_STATUS
 EFIAPI
 LegacyBiosInstall (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
   EFI_STATUS                         Status;
@@ -850,7 +854,7 @@ LegacyBiosInstall (
   // When UEFI Secure Boot is enabled, CSM module will not start any more.
   //
   SecureBoot = NULL;
-  GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, (VOID**)&SecureBoot, NULL);
+  GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, (VOID **)&SecureBoot, NULL);
   if ((SecureBoot != NULL) && (*SecureBoot == SECURE_BOOT_MODE_ENABLE)) {
     FreePool (SecureBoot);
     return EFI_SECURITY_VIOLATION;
@@ -867,22 +871,22 @@ LegacyBiosInstall (
   // Grab a copy of all the protocols we depend on. Any error would
   // be a dispatcher bug!.
   //
-  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **) &Private->Cpu);
+  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL, (VOID **)&Private->Cpu);
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiTimerArchProtocolGuid, NULL, (VOID **) &Private->Timer);
+  Status = gBS->LocateProtocol (&gEfiTimerArchProtocolGuid, NULL, (VOID **)&Private->Timer);
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiLegacyRegion2ProtocolGuid, NULL, (VOID **) &Private->LegacyRegion);
+  Status = gBS->LocateProtocol (&gEfiLegacyRegion2ProtocolGuid, NULL, (VOID **)&Private->LegacyRegion);
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiLegacyBiosPlatformProtocolGuid, NULL, (VOID **) &Private->LegacyBiosPlatform);
+  Status = gBS->LocateProtocol (&gEfiLegacyBiosPlatformProtocolGuid, NULL, (VOID **)&Private->LegacyBiosPlatform);
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **) &Private->Legacy8259);
+  Status = gBS->LocateProtocol (&gEfiLegacy8259ProtocolGuid, NULL, (VOID **)&Private->Legacy8259);
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiLegacyInterruptProtocolGuid, NULL, (VOID **) &Private->LegacyInterrupt);
+  Status = gBS->LocateProtocol (&gEfiLegacyInterruptProtocolGuid, NULL, (VOID **)&Private->LegacyInterrupt);
   ASSERT_EFI_ERROR (Status);
 
   //
@@ -891,7 +895,7 @@ LegacyBiosInstall (
   Status = gBS->LocateProtocol (
                   &gEfiGenericMemTestProtocolGuid,
                   NULL,
-                  (VOID **) &Private->GenericMemoryTest
+                  (VOID **)&Private->GenericMemoryTest
                   );
   ASSERT_EFI_ERROR (Status);
 
@@ -904,6 +908,7 @@ LegacyBiosInstall (
       StartAddress = Descriptor.BaseAddress + Descriptor.Length;
       continue;
     }
+
     Length = MIN (Descriptor.Length, 0xa0000 - StartAddress);
     Private->GenericMemoryTest->CompatibleRangeTest (
                                   Private->GenericMemoryTest,
@@ -912,6 +917,7 @@ LegacyBiosInstall (
                                   );
     StartAddress = StartAddress + Length;
   }
+
   //
   // Make sure all memory from 1MB to 16MB is tested and added to memory map
   //
@@ -921,6 +927,7 @@ LegacyBiosInstall (
       StartAddress = Descriptor.BaseAddress + Descriptor.Length;
       continue;
     }
+
     Length = MIN (Descriptor.Length, BASE_16MB - StartAddress);
     Private->GenericMemoryTest->CompatibleRangeTest (
                                   Private->GenericMemoryTest,
@@ -932,17 +939,17 @@ LegacyBiosInstall (
 
   Private->Signature = LEGACY_BIOS_INSTANCE_SIGNATURE;
 
-  Private->LegacyBios.Int86 = LegacyBiosInt86;
-  Private->LegacyBios.FarCall86 = LegacyBiosFarCall86;
-  Private->LegacyBios.CheckPciRom = LegacyBiosCheckPciRom;
-  Private->LegacyBios.InstallPciRom = LegacyBiosInstallPciRom;
-  Private->LegacyBios.LegacyBoot = LegacyBiosLegacyBoot;
-  Private->LegacyBios.UpdateKeyboardLedStatus = LegacyBiosUpdateKeyboardLedStatus;
-  Private->LegacyBios.GetBbsInfo = LegacyBiosGetBbsInfo;
-  Private->LegacyBios.ShadowAllLegacyOproms = LegacyBiosShadowAllLegacyOproms;
-  Private->LegacyBios.PrepareToBootEfi = LegacyBiosPrepareToBootEfi;
-  Private->LegacyBios.GetLegacyRegion = LegacyBiosGetLegacyRegion;
-  Private->LegacyBios.CopyLegacyRegion = LegacyBiosCopyLegacyRegion;
+  Private->LegacyBios.Int86                    = LegacyBiosInt86;
+  Private->LegacyBios.FarCall86                = LegacyBiosFarCall86;
+  Private->LegacyBios.CheckPciRom              = LegacyBiosCheckPciRom;
+  Private->LegacyBios.InstallPciRom            = LegacyBiosInstallPciRom;
+  Private->LegacyBios.LegacyBoot               = LegacyBiosLegacyBoot;
+  Private->LegacyBios.UpdateKeyboardLedStatus  = LegacyBiosUpdateKeyboardLedStatus;
+  Private->LegacyBios.GetBbsInfo               = LegacyBiosGetBbsInfo;
+  Private->LegacyBios.ShadowAllLegacyOproms    = LegacyBiosShadowAllLegacyOproms;
+  Private->LegacyBios.PrepareToBootEfi         = LegacyBiosPrepareToBootEfi;
+  Private->LegacyBios.GetLegacyRegion          = LegacyBiosGetLegacyRegion;
+  Private->LegacyBios.CopyLegacyRegion         = LegacyBiosCopyLegacyRegion;
   Private->LegacyBios.BootUnconventionalDevice = LegacyBiosBootUnconventionalDevice;
 
   Private->ImageHandle = ImageHandle;
@@ -994,16 +1001,16 @@ LegacyBiosInstall (
     );
   ASSERT (MemoryAddress == 0x000000000);
 
-  ClearPtr = (VOID *) ((UINTN) 0x0000);
+  ClearPtr = (VOID *)((UINTN)0x0000);
 
   //
   // Initialize region from 0x0000 to 4k. This initializes interrupt vector
   // range.
   //
   ACCESS_PAGE0_CODE (
-    gBS->SetMem ((VOID *) ClearPtr, 0x400, INITIAL_VALUE_BELOW_1K);
-    ZeroMem ((VOID *) ((UINTN)ClearPtr + 0x400), 0xC00);
-  );
+    gBS->SetMem ((VOID *)ClearPtr, 0x400, INITIAL_VALUE_BELOW_1K);
+    ZeroMem ((VOID *)((UINTN)ClearPtr + 0x400), 0xC00);
+    );
 
   //
   // Allocate pages for OPROM usage
@@ -1020,7 +1027,7 @@ LegacyBiosInstall (
              );
   ASSERT_EFI_ERROR (Status);
 
-  ZeroMem ((VOID *) ((UINTN) MemoryAddress), MemorySize);
+  ZeroMem ((VOID *)((UINTN)MemoryAddress), MemorySize);
 
   //
   // Allocate all 32k chunks from 0x60000 ~ 0x88000 for Legacy OPROMs that
@@ -1028,8 +1035,8 @@ LegacyBiosInstall (
   // OpROMs expect different areas to be free
   //
   EbdaReservedBaseAddress = MemoryAddress;
-  MemoryAddress = PcdGet32 (PcdOpromReservedMemoryBase);
-  MemorySize    = PcdGet32 (PcdOpromReservedMemorySize);
+  MemoryAddress           = PcdGet32 (PcdOpromReservedMemoryBase);
+  MemorySize              = PcdGet32 (PcdOpromReservedMemorySize);
   //
   // Check if base address and size for reserved memory are 4KB aligned.
   //
@@ -1048,7 +1055,7 @@ LegacyBiosInstall (
                &StartAddress
                );
     if (!EFI_ERROR (Status)) {
-      MemoryPtr = (VOID *) ((UINTN) StartAddress);
+      MemoryPtr = (VOID *)((UINTN)StartAddress);
       ZeroMem (MemoryPtr, 0x1000);
     } else {
       DEBUG ((DEBUG_ERROR, "WARNING: Allocate legacy memory fail for SCSI card - %x\n", MemStart));
@@ -1069,7 +1076,7 @@ LegacyBiosInstall (
              );
   ASSERT_EFI_ERROR (Status);
 
-  ZeroMem ((VOID *) ((UINTN) MemoryAddressUnder1MB), MemorySize);
+  ZeroMem ((VOID *)((UINTN)MemoryAddressUnder1MB), MemorySize);
 
   //
   // Allocate space for thunker and Init Thunker
@@ -1082,10 +1089,10 @@ LegacyBiosInstall (
              &MemoryAddress
              );
   ASSERT_EFI_ERROR (Status);
-  Private->IntThunk                   = (LOW_MEMORY_THUNK *) (UINTN) MemoryAddress;
+  Private->IntThunk                        = (LOW_MEMORY_THUNK *)(UINTN)MemoryAddress;
   EfiToLegacy16InitTable                   = &Private->IntThunk->EfiToLegacy16InitTable;
-  EfiToLegacy16InitTable->ThunkStart       = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress;
-  EfiToLegacy16InitTable->ThunkSizeInBytes = (UINT32) (sizeof (LOW_MEMORY_THUNK));
+  EfiToLegacy16InitTable->ThunkStart       = (UINT32)(EFI_PHYSICAL_ADDRESS)(UINTN)MemoryAddress;
+  EfiToLegacy16InitTable->ThunkSizeInBytes = (UINT32)(sizeof (LOW_MEMORY_THUNK));
 
   Status = LegacyBiosInitializeThunk (Private);
   ASSERT_EFI_ERROR (Status);
@@ -1093,8 +1100,8 @@ LegacyBiosInstall (
   //
   // Init the legacy memory map in memory < 1 MB.
   //
-  EfiToLegacy16InitTable->BiosLessThan1MB         = (UINT32) MemoryAddressUnder1MB;
-  EfiToLegacy16InitTable->LowPmmMemory            = (UINT32) MemoryAddressUnder1MB;
+  EfiToLegacy16InitTable->BiosLessThan1MB         = (UINT32)MemoryAddressUnder1MB;
+  EfiToLegacy16InitTable->LowPmmMemory            = (UINT32)MemoryAddressUnder1MB;
   EfiToLegacy16InitTable->LowPmmMemorySizeInBytes = MemorySize;
 
   MemorySize = PcdGet32 (PcdHighPmmMemorySize);
@@ -1121,8 +1128,9 @@ LegacyBiosInstall (
                &MemoryAddress
                );
   }
+
   if (!EFI_ERROR (Status)) {
-    EfiToLegacy16InitTable->HiPmmMemory            = (UINT32) (EFI_PHYSICAL_ADDRESS) (UINTN) MemoryAddress;
+    EfiToLegacy16InitTable->HiPmmMemory            = (UINT32)(EFI_PHYSICAL_ADDRESS)(UINTN)MemoryAddress;
     EfiToLegacy16InitTable->HiPmmMemorySizeInBytes = MemorySize;
   }
 
@@ -1135,32 +1143,34 @@ LegacyBiosInstall (
   if (EFI_ERROR (Status)) {
     return Status;
   }
+
   //
   // Initialize interrupt redirection code and entries;
   // IDT Vectors 0x68-0x6f must be redirected to IDT Vectors 0x08-0x0f.
   //
   CopyMem (
-         Private->IntThunk->InterruptRedirectionCode,
-         (VOID *) (UINTN) InterruptRedirectionTemplate,
-         sizeof (Private->IntThunk->InterruptRedirectionCode)
-         );
+    Private->IntThunk->InterruptRedirectionCode,
+    (VOID *)(UINTN)InterruptRedirectionTemplate,
+    sizeof (Private->IntThunk->InterruptRedirectionCode)
+    );
 
   //
   // Save Unexpected interrupt vector so can restore it just prior to boot
   //
   ACCESS_PAGE0_CODE (
-    BaseVectorMaster = (UINT32 *) (sizeof (UINT32) * PROTECTED_MODE_BASE_VECTOR_MASTER);
+    BaseVectorMaster           = (UINT32 *)(sizeof (UINT32) * PROTECTED_MODE_BASE_VECTOR_MASTER);
     Private->BiosUnexpectedInt = BaseVectorMaster[0];
-    IntRedirCode = (UINT32) (UINTN) Private->IntThunk->InterruptRedirectionCode;
+    IntRedirCode               = (UINT32)(UINTN)Private->IntThunk->InterruptRedirectionCode;
     for (Index = 0; Index < 8; Index++) {
-      BaseVectorMaster[Index] = (EFI_SEGMENT (IntRedirCode + Index * 4) << 16) | EFI_OFFSET (IntRedirCode + Index * 4);
-    }
-  );
+    BaseVectorMaster[Index] = (EFI_SEGMENT (IntRedirCode + Index * 4) << 16) | EFI_OFFSET (IntRedirCode + Index * 4);
+  }
+
+    );
 
   //
   // Save EFI value
   //
-  Private->ThunkSeg = (UINT16) (EFI_SEGMENT (IntRedirCode));
+  Private->ThunkSeg = (UINT16)(EFI_SEGMENT (IntRedirCode));
 
   //
   // Allocate reserved memory for SMBIOS table used in legacy boot if SMBIOS table exists
@@ -1198,18 +1208,20 @@ LegacyBiosInstall (
   // Make a new handle and install the protocol
   //
   Private->Handle = NULL;
-  Status = gBS->InstallProtocolInterface (
-                  &Private->Handle,
-                  &gEfiLegacyBiosProtocolGuid,
-                  EFI_NATIVE_INTERFACE,
-                  &Private->LegacyBios
-                  );
+  Status          = gBS->InstallProtocolInterface (
+                           &Private->Handle,
+                           &gEfiLegacyBiosProtocolGuid,
+                           EFI_NATIVE_INTERFACE,
+                           &Private->LegacyBios
+                           );
   Private->Csm16PciInterfaceVersion = GetPciInterfaceVersion (Private);
 
-  DEBUG ((DEBUG_INFO, "CSM16 PCI BIOS Interface Version: %02x.%02x\n",
-          (UINT8) (Private->Csm16PciInterfaceVersion >> 8),
-          (UINT8) Private->Csm16PciInterfaceVersion
-        ));
+  DEBUG ((
+    DEBUG_INFO,
+    "CSM16 PCI BIOS Interface Version: %02x.%02x\n",
+    (UINT8)(Private->Csm16PciInterfaceVersion >> 8),
+    (UINT8)Private->Csm16PciInterfaceVersion
+    ));
   ASSERT (Private->Csm16PciInterfaceVersion != 0);
   return Status;
 }

File diff suppressed because it is too large
+ 316 - 328
OvmfPkg/Csm/LegacyBiosDxe/LegacyBiosInterface.h


File diff suppressed because it is too large
+ 297 - 284
OvmfPkg/Csm/LegacyBiosDxe/LegacyBootSupport.c


+ 3 - 3
OvmfPkg/Csm/LegacyBiosDxe/LegacyCmos.c

@@ -66,12 +66,12 @@ LegacyCalculateWriteStandardCmosChecksum (
   for (Checksum = 0, Register = 0x10; Register < 0x2e; Register++) {
     Checksum = (UINT16)(Checksum + LegacyReadStandardCmos (Register));
   }
+
   LegacyWriteStandardCmos (CMOS_2E, (UINT8)(Checksum >> 8));
   LegacyWriteStandardCmos (CMOS_2F, (UINT8)(Checksum & 0xff));
   return EFI_SUCCESS;
 }
 
-
 /**
   Fill in the standard CMOS stuff before Legacy16 load
 
@@ -82,7 +82,7 @@ LegacyCalculateWriteStandardCmosChecksum (
 **/
 EFI_STATUS
 LegacyBiosInitCmos (
-  IN  LEGACY_BIOS_INSTANCE    *Private
+  IN  LEGACY_BIOS_INSTANCE  *Private
   )
 {
   UINT32  Size;
@@ -103,7 +103,7 @@ LegacyBiosInitCmos (
 
   Size = 15 * SIZE_1MB;
   if (Private->IntThunk->EfiToLegacy16InitTable.OsMemoryAbove1Mb < (15 * SIZE_1MB)) {
-    Size  = Private->IntThunk->EfiToLegacy16InitTable.OsMemoryAbove1Mb >> 10;
+    Size = Private->IntThunk->EfiToLegacy16InitTable.OsMemoryAbove1Mb >> 10;
   }
 
   LegacyWriteStandardCmos (CMOS_17, (UINT8)(Size & 0xFF));

+ 62 - 57
OvmfPkg/Csm/LegacyBiosDxe/LegacyIde.c

@@ -9,7 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include "LegacyBiosInterface.h"
 
-BOOLEAN mIdeDataBuiltFlag = FALSE;
+BOOLEAN  mIdeDataBuiltFlag = FALSE;
 
 /**
   Collect IDE Inquiry data from the IDE disks
@@ -23,9 +23,9 @@ BOOLEAN mIdeDataBuiltFlag = FALSE;
 **/
 EFI_STATUS
 LegacyBiosBuildIdeData (
-  IN  LEGACY_BIOS_INSTANCE      *Private,
-  IN  HDD_INFO                  **HddInfo,
-  IN  UINT16                    Flag
+  IN  LEGACY_BIOS_INSTANCE  *Private,
+  IN  HDD_INFO              **HddInfo,
+  IN  UINT16                Flag
   )
 {
   EFI_STATUS                Status;
@@ -60,14 +60,14 @@ LegacyBiosBuildIdeData (
   //
   PciDevicePath = NULL;
   LocalHddInfo  = *HddInfo;
-  Status = Private->LegacyBiosPlatform->GetPlatformHandle (
-                                          Private->LegacyBiosPlatform,
-                                          EfiGetPlatformIdeHandle,
-                                          0,
-                                          &HandleBuffer,
-                                          &HandleCount,
-                                          (VOID *) &LocalHddInfo
-                                          );
+  Status        = Private->LegacyBiosPlatform->GetPlatformHandle (
+                                                 Private->LegacyBiosPlatform,
+                                                 EfiGetPlatformIdeHandle,
+                                                 0,
+                                                 &HandleBuffer,
+                                                 &HandleCount,
+                                                 (VOID *)&LocalHddInfo
+                                                 );
   if (!EFI_ERROR (Status)) {
     IdeController = HandleBuffer[0];
     //
@@ -75,10 +75,10 @@ LegacyBiosBuildIdeData (
     //
     if (Flag != 0) {
       gBS->DisconnectController (
-            IdeController,
-            NULL,
-            NULL
-            );
+             IdeController,
+             NULL,
+             NULL
+             );
     }
 
     gBS->ConnectController (IdeController, NULL, NULL, FALSE);
@@ -88,13 +88,13 @@ LegacyBiosBuildIdeData (
     // And GetIdeHandle will switch to Legacy mode, if required.
     //
     Private->LegacyBiosPlatform->GetPlatformHandle (
-                                  Private->LegacyBiosPlatform,
-                                  EfiGetPlatformIdeHandle,
-                                  0,
-                                  &HandleBuffer,
-                                  &HandleCount,
-                                  (VOID *) &LocalHddInfo
-                                  );
+                                   Private->LegacyBiosPlatform,
+                                   EfiGetPlatformIdeHandle,
+                                   0,
+                                   &HandleBuffer,
+                                   &HandleCount,
+                                   (VOID *)&LocalHddInfo
+                                   );
   }
 
   mIdeDataBuiltFlag = TRUE;
@@ -103,19 +103,19 @@ LegacyBiosBuildIdeData (
   // Get Identity command from all drives
   //
   gBS->LocateHandleBuffer (
-        ByProtocol,
-        &gEfiDiskInfoProtocolGuid,
-        NULL,
-        &HandleCount,
-        &HandleBuffer
-        );
-
-  Private->IdeDriveCount = (UINT8) HandleCount;
+         ByProtocol,
+         &gEfiDiskInfoProtocolGuid,
+         NULL,
+         &HandleCount,
+         &HandleBuffer
+         );
+
+  Private->IdeDriveCount = (UINT8)HandleCount;
   for (Index = 0; Index < HandleCount; Index++) {
     Status = gBS->HandleProtocol (
                     HandleBuffer[Index],
                     &gEfiDiskInfoProtocolGuid,
-                    (VOID **) &DiskInfo
+                    (VOID **)&DiskInfo
                     );
     ASSERT_EFI_ERROR (Status);
 
@@ -126,7 +126,7 @@ LegacyBiosBuildIdeData (
       Status = gBS->HandleProtocol (
                       HandleBuffer[Index],
                       &gEfiDevicePathProtocolGuid,
-                      (VOID *) &DevicePath
+                      (VOID *)&DevicePath
                       );
       ASSERT_EFI_ERROR (Status);
 
@@ -134,12 +134,14 @@ LegacyBiosBuildIdeData (
       while (!IsDevicePathEnd (DevicePathNode)) {
         TempDevicePathNode = NextDevicePathNode (DevicePathNode);
         if ((DevicePathType (DevicePathNode) == HARDWARE_DEVICE_PATH) &&
-              ( DevicePathSubType (DevicePathNode) == HW_PCI_DP) &&
-              ( DevicePathType(TempDevicePathNode) == MESSAGING_DEVICE_PATH) &&
-              ( DevicePathSubType(TempDevicePathNode) == MSG_ATAPI_DP) ) {
-          PciDevicePath = (PCI_DEVICE_PATH *) DevicePathNode;
+            (DevicePathSubType (DevicePathNode) == HW_PCI_DP) &&
+            (DevicePathType (TempDevicePathNode) == MESSAGING_DEVICE_PATH) &&
+            (DevicePathSubType (TempDevicePathNode) == MSG_ATAPI_DP))
+        {
+          PciDevicePath = (PCI_DEVICE_PATH *)DevicePathNode;
           break;
         }
+
         DevicePathNode = NextDevicePathNode (DevicePathNode);
       }
 
@@ -161,7 +163,8 @@ LegacyBiosBuildIdeData (
       for (PciIndex = 0; PciIndex < 8; PciIndex++) {
         if ((PciDevicePath->Device == LocalHddInfo[PciIndex].Device) &&
             (PciDevicePath->Function == LocalHddInfo[PciIndex].Function)
-            ) {
+            )
+        {
           break;
         }
       }
@@ -186,15 +189,15 @@ LegacyBiosBuildIdeData (
 
         InquiryData     = NULL;
         InquiryDataSize = 0;
-        Status = DiskInfo->Inquiry (
-                             DiskInfo,
-                             NULL,
-                             &InquiryDataSize
-                             );
+        Status          = DiskInfo->Inquiry (
+                                      DiskInfo,
+                                      NULL,
+                                      &InquiryDataSize
+                                      );
         if (Status == EFI_BUFFER_TOO_SMALL) {
-          InquiryData = (UINT8 *) AllocatePool (
-                                  InquiryDataSize
-                                  );
+          InquiryData = (UINT8 *)AllocatePool (
+                                   InquiryDataSize
+                                   );
           if (InquiryData != NULL) {
             Status = DiskInfo->Inquiry (
                                  DiskInfo,
@@ -227,6 +230,7 @@ LegacyBiosBuildIdeData (
               LocalHddInfo[PciIndex + IdeChannel].Status |= HDD_SLAVE_ATAPI_ZIPDISK;
             }
           }
+
           FreePool (InquiryData);
         } else {
           if (IdeDevice == 0) {
@@ -246,7 +250,6 @@ LegacyBiosBuildIdeData (
   return EFI_SUCCESS;
 }
 
-
 /**
   If the IDE channel is in compatibility (legacy) mode, remove all
   PCI I/O BAR addresses from the controller.
@@ -257,13 +260,13 @@ LegacyBiosBuildIdeData (
 **/
 VOID
 InitLegacyIdeController (
-  IN EFI_HANDLE                        IdeController
+  IN EFI_HANDLE  IdeController
   )
 {
-  EFI_PCI_IO_PROTOCOL               *PciIo;
-  UINT32                            IOBarClear;
-  EFI_STATUS                        Status;
-  PCI_TYPE00                        PciData;
+  EFI_PCI_IO_PROTOCOL  *PciIo;
+  UINT32               IOBarClear;
+  EFI_STATUS           Status;
+  PCI_TYPE00           PciData;
 
   //
   // If the IDE channel is in compatibility (legacy) mode, remove all
@@ -277,20 +280,21 @@ InitLegacyIdeController (
                   (VOID **)&PciIo
                   );
   if (EFI_ERROR (Status)) {
-    return ;
+    return;
   }
 
   Status = PciIo->Pci.Read (PciIo, EfiPciIoWidthUint8, 0, sizeof (PciData), &PciData);
   if (EFI_ERROR (Status)) {
-    return ;
+    return;
   }
 
   //
   // Check whether this is IDE
   //
   if ((PciData.Hdr.ClassCode[2] != PCI_CLASS_MASS_STORAGE) ||
-      (PciData.Hdr.ClassCode[1] != PCI_CLASS_MASS_STORAGE_IDE)) {
-    return ;
+      (PciData.Hdr.ClassCode[1] != PCI_CLASS_MASS_STORAGE_IDE))
+  {
+    return;
   }
 
   //
@@ -301,10 +305,11 @@ InitLegacyIdeController (
     PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x10, 1, &IOBarClear);
     PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x14, 1, &IOBarClear);
   }
+
   if ((PciData.Hdr.ClassCode[0] & IDE_PI_REGISTER_SNE) == 0) {
     PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x18, 1, &IOBarClear);
     PciIo->Pci.Write (PciIo, EfiPciIoWidthUint32, 0x1C, 1, &IOBarClear);
   }
 
-  return ;
+  return;
 }

File diff suppressed because it is too large
+ 273 - 260
OvmfPkg/Csm/LegacyBiosDxe/LegacyPci.c


+ 160 - 148
OvmfPkg/Csm/LegacyBiosDxe/LegacySio.c

@@ -21,32 +21,32 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 **/
 EFI_STATUS
 LegacyBiosBuildSioDataFromSio (
-  IN DEVICE_PRODUCER_DATA_HEADER             *SioPtr
+  IN DEVICE_PRODUCER_DATA_HEADER  *SioPtr
   )
 {
-  EFI_STATUS                                 Status;
-  DEVICE_PRODUCER_SERIAL                     *SioSerial;
-  DEVICE_PRODUCER_PARALLEL                   *SioParallel;
-  DEVICE_PRODUCER_FLOPPY                     *SioFloppy;
-  UINTN                                      HandleCount;
-  EFI_HANDLE                                 *HandleBuffer;
-  UINTN                                      Index;
-  UINTN                                      ChildIndex;
-  EFI_SIO_PROTOCOL                           *Sio;
-  ACPI_RESOURCE_HEADER_PTR                   Resources;
-  EFI_ACPI_IO_PORT_DESCRIPTOR                *IoResource;
-  EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR *FixedIoResource;
-  EFI_ACPI_DMA_DESCRIPTOR                    *DmaResource;
-  EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR             *IrqResource;
-  UINT16                                     Address;
-  UINT8                                      Dma;
-  UINT8                                      Irq;
-  UINTN                                      EntryCount;
-  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY        *OpenInfoBuffer;
-  EFI_BLOCK_IO_PROTOCOL                      *BlockIo;
-  EFI_SERIAL_IO_PROTOCOL                     *SerialIo;
-  EFI_DEVICE_PATH_PROTOCOL                   *DevicePath;
-  ACPI_HID_DEVICE_PATH                       *Acpi;
+  EFI_STATUS                                  Status;
+  DEVICE_PRODUCER_SERIAL                      *SioSerial;
+  DEVICE_PRODUCER_PARALLEL                    *SioParallel;
+  DEVICE_PRODUCER_FLOPPY                      *SioFloppy;
+  UINTN                                       HandleCount;
+  EFI_HANDLE                                  *HandleBuffer;
+  UINTN                                       Index;
+  UINTN                                       ChildIndex;
+  EFI_SIO_PROTOCOL                            *Sio;
+  ACPI_RESOURCE_HEADER_PTR                    Resources;
+  EFI_ACPI_IO_PORT_DESCRIPTOR                 *IoResource;
+  EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR  *FixedIoResource;
+  EFI_ACPI_DMA_DESCRIPTOR                     *DmaResource;
+  EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR              *IrqResource;
+  UINT16                                      Address;
+  UINT8                                       Dma;
+  UINT8                                       Irq;
+  UINTN                                       EntryCount;
+  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY         *OpenInfoBuffer;
+  EFI_BLOCK_IO_PROTOCOL                       *BlockIo;
+  EFI_SERIAL_IO_PROTOCOL                      *SerialIo;
+  EFI_DEVICE_PATH_PROTOCOL                    *DevicePath;
+  ACPI_HID_DEVICE_PATH                        *Acpi;
 
   //
   // Get the list of ISA controllers in the system
@@ -61,11 +61,12 @@ LegacyBiosBuildSioDataFromSio (
   if (EFI_ERROR (Status)) {
     return EFI_NOT_FOUND;
   }
+
   //
   // Collect legacy information from each of the ISA controllers in the system
   //
   for (Index = 0; Index < HandleCount; Index++) {
-    Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiSioProtocolGuid, (VOID **) &Sio);
+    Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiSioProtocolGuid, (VOID **)&Sio);
     if (EFI_ERROR (Status)) {
       continue;
     }
@@ -73,46 +74,46 @@ LegacyBiosBuildSioDataFromSio (
     Address = MAX_UINT16;
     Dma     = MAX_UINT8;
     Irq     = MAX_UINT8;
-    Status = Sio->GetResources (Sio, &Resources);
+    Status  = Sio->GetResources (Sio, &Resources);
     if (!EFI_ERROR (Status)) {
       //
       // Get the base address information from ACPI resource descriptor.
       //
       while (Resources.SmallHeader->Byte != ACPI_END_TAG_DESCRIPTOR) {
         switch (Resources.SmallHeader->Byte) {
-        case ACPI_IO_PORT_DESCRIPTOR:
-          IoResource = (EFI_ACPI_IO_PORT_DESCRIPTOR *) Resources.SmallHeader;
-          Address = IoResource->BaseAddressMin;
-          break;
-
-        case ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR:
-          FixedIoResource = (EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR *) Resources.SmallHeader;
-          Address = FixedIoResource->BaseAddress;
-          break;
-
-        case ACPI_DMA_DESCRIPTOR:
-          DmaResource = (EFI_ACPI_DMA_DESCRIPTOR *) Resources.SmallHeader;
-          Dma = (UINT8) LowBitSet32 (DmaResource->ChannelMask);
-          break;
-
-        case ACPI_IRQ_DESCRIPTOR:
-        case ACPI_IRQ_NOFLAG_DESCRIPTOR:
-          IrqResource = (EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR *) Resources.SmallHeader;
-          Irq = (UINT8) LowBitSet32 (IrqResource->Mask);
-          break;
-
-        default:
-          break;
+          case ACPI_IO_PORT_DESCRIPTOR:
+            IoResource = (EFI_ACPI_IO_PORT_DESCRIPTOR *)Resources.SmallHeader;
+            Address    = IoResource->BaseAddressMin;
+            break;
+
+          case ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR:
+            FixedIoResource = (EFI_ACPI_FIXED_LOCATION_IO_PORT_DESCRIPTOR *)Resources.SmallHeader;
+            Address         = FixedIoResource->BaseAddress;
+            break;
+
+          case ACPI_DMA_DESCRIPTOR:
+            DmaResource = (EFI_ACPI_DMA_DESCRIPTOR *)Resources.SmallHeader;
+            Dma         = (UINT8)LowBitSet32 (DmaResource->ChannelMask);
+            break;
+
+          case ACPI_IRQ_DESCRIPTOR:
+          case ACPI_IRQ_NOFLAG_DESCRIPTOR:
+            IrqResource = (EFI_ACPI_IRQ_NOFLAG_DESCRIPTOR *)Resources.SmallHeader;
+            Irq         = (UINT8)LowBitSet32 (IrqResource->Mask);
+            break;
+
+          default:
+            break;
         }
 
         if (Resources.SmallHeader->Bits.Type == 0) {
-          Resources.SmallHeader = (ACPI_SMALL_RESOURCE_HEADER *) ((UINT8 *) Resources.SmallHeader
-                                                                  + Resources.SmallHeader->Bits.Length
-                                                                  + sizeof (*Resources.SmallHeader));
+          Resources.SmallHeader = (ACPI_SMALL_RESOURCE_HEADER *)((UINT8 *)Resources.SmallHeader
+                                                                 + Resources.SmallHeader->Bits.Length
+                                                                 + sizeof (*Resources.SmallHeader));
         } else {
-          Resources.LargeHeader = (ACPI_LARGE_RESOURCE_HEADER *) ((UINT8 *) Resources.LargeHeader
-                                                                  + Resources.LargeHeader->Length
-                                                                  + sizeof (*Resources.LargeHeader));
+          Resources.LargeHeader = (ACPI_LARGE_RESOURCE_HEADER *)((UINT8 *)Resources.LargeHeader
+                                                                 + Resources.LargeHeader->Length
+                                                                 + sizeof (*Resources.LargeHeader));
         }
       }
     }
@@ -126,13 +127,14 @@ LegacyBiosBuildSioDataFromSio (
 
     Acpi = NULL;
     while (!IsDevicePathEnd (DevicePath)) {
-      Acpi = (ACPI_HID_DEVICE_PATH *) DevicePath;
+      Acpi       = (ACPI_HID_DEVICE_PATH *)DevicePath;
       DevicePath = NextDevicePathNode (DevicePath);
     }
 
     if ((Acpi == NULL) || (DevicePathType (Acpi) != ACPI_DEVICE_PATH) ||
         ((DevicePathSubType (Acpi) != ACPI_DP) && (DevicePathSubType (Acpi) != ACPI_EXTENDED_DP))
-        ) {
+        )
+    {
       continue;
     }
 
@@ -141,9 +143,8 @@ LegacyBiosBuildSioDataFromSio (
     //
     // Ignore DMA resource since it is always returned NULL
     //
-    if (Acpi->HID == EISA_PNP_ID (0x500) || Acpi->HID == EISA_PNP_ID (0x501)) {
-
-      if (Acpi->UID < 4 && Address != MAX_UINT16 && Irq != MAX_UINT8) {
+    if ((Acpi->HID == EISA_PNP_ID (0x500)) || (Acpi->HID == EISA_PNP_ID (0x501))) {
+      if ((Acpi->UID < 4) && (Address != MAX_UINT16) && (Irq != MAX_UINT8)) {
         //
         // Get the handle of the child device that has opened the Super I/O Protocol
         //
@@ -156,14 +157,15 @@ LegacyBiosBuildSioDataFromSio (
         if (EFI_ERROR (Status)) {
           continue;
         }
+
         for (ChildIndex = 0; ChildIndex < EntryCount; ChildIndex++) {
           if ((OpenInfoBuffer[ChildIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
-            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo);
+            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **)&SerialIo);
             if (!EFI_ERROR (Status)) {
-              SioSerial           = &SioPtr->Serial[Acpi->UID];
-              SioSerial->Address  = Address;
-              SioSerial->Irq      = Irq;
-              SioSerial->Mode     = DEVICE_SERIAL_MODE_NORMAL | DEVICE_SERIAL_MODE_DUPLEX_HALF;
+              SioSerial          = &SioPtr->Serial[Acpi->UID];
+              SioSerial->Address = Address;
+              SioSerial->Irq     = Irq;
+              SioSerial->Mode    = DEVICE_SERIAL_MODE_NORMAL | DEVICE_SERIAL_MODE_DUPLEX_HALF;
               break;
             }
           }
@@ -172,36 +174,39 @@ LegacyBiosBuildSioDataFromSio (
         FreePool (OpenInfoBuffer);
       }
     }
+
     //
     // See if this is an ISA parallel port
     //
     // Ignore DMA resource since it is always returned NULL, port
     // only used in output mode.
     //
-    if (Acpi->HID == EISA_PNP_ID (0x400) || Acpi->HID == EISA_PNP_ID (0x401)) {
-      if (Acpi->UID < 3 && Address != MAX_UINT16 && Irq != MAX_UINT8 && Dma != MAX_UINT8) {
-        SioParallel           = &SioPtr->Parallel[Acpi->UID];
-        SioParallel->Address  = Address;
-        SioParallel->Irq      = Irq;
-        SioParallel->Dma      = Dma;
-        SioParallel->Mode     = DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY;
+    if ((Acpi->HID == EISA_PNP_ID (0x400)) || (Acpi->HID == EISA_PNP_ID (0x401))) {
+      if ((Acpi->UID < 3) && (Address != MAX_UINT16) && (Irq != MAX_UINT8) && (Dma != MAX_UINT8)) {
+        SioParallel          = &SioPtr->Parallel[Acpi->UID];
+        SioParallel->Address = Address;
+        SioParallel->Irq     = Irq;
+        SioParallel->Dma     = Dma;
+        SioParallel->Mode    = DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY;
       }
     }
+
     //
     // See if this is an ISA floppy controller
     //
     if (Acpi->HID == EISA_PNP_ID (0x604)) {
-      if (Address != MAX_UINT16 && Irq != MAX_UINT8 && Dma != MAX_UINT8) {
-        Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiBlockIoProtocolGuid, (VOID **) &BlockIo);
+      if ((Address != MAX_UINT16) && (Irq != MAX_UINT8) && (Dma != MAX_UINT8)) {
+        Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiBlockIoProtocolGuid, (VOID **)&BlockIo);
         if (!EFI_ERROR (Status)) {
-          SioFloppy           = &SioPtr->Floppy;
-          SioFloppy->Address  = Address;
-          SioFloppy->Irq      = Irq;
-          SioFloppy->Dma      = Dma;
+          SioFloppy          = &SioPtr->Floppy;
+          SioFloppy->Address = Address;
+          SioFloppy->Irq     = Irq;
+          SioFloppy->Dma     = Dma;
           SioFloppy->NumberOfFloppy++;
         }
       }
     }
+
     //
     // See if this is a mouse
     // Always set mouse found so USB hot plug will work
@@ -225,7 +230,6 @@ LegacyBiosBuildSioDataFromSio (
 
   FreePool (HandleBuffer);
   return EFI_SUCCESS;
-
 }
 
 /**
@@ -239,27 +243,27 @@ LegacyBiosBuildSioDataFromSio (
 **/
 EFI_STATUS
 LegacyBiosBuildSioDataFromIsaIo (
-  IN DEVICE_PRODUCER_DATA_HEADER      *SioPtr
+  IN DEVICE_PRODUCER_DATA_HEADER  *SioPtr
   )
 {
-  EFI_STATUS                          Status;
-  DEVICE_PRODUCER_SERIAL              *SioSerial;
-  DEVICE_PRODUCER_PARALLEL            *SioParallel;
-  DEVICE_PRODUCER_FLOPPY              *SioFloppy;
-  UINTN                               HandleCount;
-  EFI_HANDLE                          *HandleBuffer;
-  UINTN                               Index;
-  UINTN                               ResourceIndex;
-  UINTN                               ChildIndex;
-  EFI_ISA_IO_PROTOCOL                 *IsaIo;
-  EFI_ISA_ACPI_RESOURCE_LIST          *ResourceList;
-  EFI_ISA_ACPI_RESOURCE               *IoResource;
-  EFI_ISA_ACPI_RESOURCE               *DmaResource;
-  EFI_ISA_ACPI_RESOURCE               *InterruptResource;
-  UINTN                               EntryCount;
-  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY *OpenInfoBuffer;
-  EFI_BLOCK_IO_PROTOCOL               *BlockIo;
-  EFI_SERIAL_IO_PROTOCOL              *SerialIo;
+  EFI_STATUS                           Status;
+  DEVICE_PRODUCER_SERIAL               *SioSerial;
+  DEVICE_PRODUCER_PARALLEL             *SioParallel;
+  DEVICE_PRODUCER_FLOPPY               *SioFloppy;
+  UINTN                                HandleCount;
+  EFI_HANDLE                           *HandleBuffer;
+  UINTN                                Index;
+  UINTN                                ResourceIndex;
+  UINTN                                ChildIndex;
+  EFI_ISA_IO_PROTOCOL                  *IsaIo;
+  EFI_ISA_ACPI_RESOURCE_LIST           *ResourceList;
+  EFI_ISA_ACPI_RESOURCE                *IoResource;
+  EFI_ISA_ACPI_RESOURCE                *DmaResource;
+  EFI_ISA_ACPI_RESOURCE                *InterruptResource;
+  UINTN                                EntryCount;
+  EFI_OPEN_PROTOCOL_INFORMATION_ENTRY  *OpenInfoBuffer;
+  EFI_BLOCK_IO_PROTOCOL                *BlockIo;
+  EFI_SERIAL_IO_PROTOCOL               *SerialIo;
 
   //
   // Get the list of ISA controllers in the system
@@ -274,12 +278,12 @@ LegacyBiosBuildSioDataFromIsaIo (
   if (EFI_ERROR (Status)) {
     return EFI_NOT_FOUND;
   }
+
   //
   // Collect legacy information from each of the ISA controllers in the system
   //
   for (Index = 0; Index < HandleCount; Index++) {
-
-    Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiIsaIoProtocolGuid, (VOID **) &IsaIo);
+    Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiIsaIoProtocolGuid, (VOID **)&IsaIo);
     if (EFI_ERROR (Status)) {
       continue;
     }
@@ -289,6 +293,7 @@ LegacyBiosBuildSioDataFromIsaIo (
     if (ResourceList == NULL) {
       continue;
     }
+
     //
     // Collect the resource types neededto fill in the SIO data structure
     //
@@ -298,38 +303,40 @@ LegacyBiosBuildSioDataFromIsaIo (
     for (ResourceIndex = 0;
          ResourceList->ResourceItem[ResourceIndex].Type != EfiIsaAcpiResourceEndOfList;
          ResourceIndex++
-        ) {
+         )
+    {
       switch (ResourceList->ResourceItem[ResourceIndex].Type) {
-      case EfiIsaAcpiResourceIo:
-        IoResource = &ResourceList->ResourceItem[ResourceIndex];
-        break;
+        case EfiIsaAcpiResourceIo:
+          IoResource = &ResourceList->ResourceItem[ResourceIndex];
+          break;
 
-      case EfiIsaAcpiResourceMemory:
-        break;
+        case EfiIsaAcpiResourceMemory:
+          break;
 
-      case EfiIsaAcpiResourceDma:
-        DmaResource = &ResourceList->ResourceItem[ResourceIndex];
-        break;
+        case EfiIsaAcpiResourceDma:
+          DmaResource = &ResourceList->ResourceItem[ResourceIndex];
+          break;
 
-      case EfiIsaAcpiResourceInterrupt:
-        InterruptResource = &ResourceList->ResourceItem[ResourceIndex];
-        break;
+        case EfiIsaAcpiResourceInterrupt:
+          InterruptResource = &ResourceList->ResourceItem[ResourceIndex];
+          break;
 
-      default:
-        break;
+        default:
+          break;
       }
     }
+
     //
     // See if this is an ISA serial port
     //
     // Ignore DMA resource since it is always returned NULL
     //
-    if (ResourceList->Device.HID == EISA_PNP_ID (0x500) || ResourceList->Device.HID == EISA_PNP_ID (0x501)) {
-
-      if (ResourceList->Device.UID <= 3 &&
-          IoResource != NULL &&
-          InterruptResource != NULL
-          ) {
+    if ((ResourceList->Device.HID == EISA_PNP_ID (0x500)) || (ResourceList->Device.HID == EISA_PNP_ID (0x501))) {
+      if ((ResourceList->Device.UID <= 3) &&
+          (IoResource != NULL) &&
+          (InterruptResource != NULL)
+          )
+      {
         //
         // Get the handle of the child device that has opened the ISA I/O Protocol
         //
@@ -342,17 +349,18 @@ LegacyBiosBuildSioDataFromIsaIo (
         if (EFI_ERROR (Status)) {
           continue;
         }
+
         //
         // We want resource for legacy even if no 32-bit driver installed
         //
         for (ChildIndex = 0; ChildIndex < EntryCount; ChildIndex++) {
           if ((OpenInfoBuffer[ChildIndex].Attributes & EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER) != 0) {
-            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **) &SerialIo);
+            Status = gBS->HandleProtocol (OpenInfoBuffer[ChildIndex].ControllerHandle, &gEfiSerialIoProtocolGuid, (VOID **)&SerialIo);
             if (!EFI_ERROR (Status)) {
-              SioSerial           = &SioPtr->Serial[ResourceList->Device.UID];
-              SioSerial->Address  = (UINT16) IoResource->StartRange;
-              SioSerial->Irq      = (UINT8) InterruptResource->StartRange;
-              SioSerial->Mode     = DEVICE_SERIAL_MODE_NORMAL | DEVICE_SERIAL_MODE_DUPLEX_HALF;
+              SioSerial          = &SioPtr->Serial[ResourceList->Device.UID];
+              SioSerial->Address = (UINT16)IoResource->StartRange;
+              SioSerial->Irq     = (UINT8)InterruptResource->StartRange;
+              SioSerial->Mode    = DEVICE_SERIAL_MODE_NORMAL | DEVICE_SERIAL_MODE_DUPLEX_HALF;
               break;
             }
           }
@@ -361,40 +369,44 @@ LegacyBiosBuildSioDataFromIsaIo (
         FreePool (OpenInfoBuffer);
       }
     }
+
     //
     // See if this is an ISA parallel port
     //
     // Ignore DMA resource since it is always returned NULL, port
     // only used in output mode.
     //
-    if (ResourceList->Device.HID == EISA_PNP_ID (0x400) || ResourceList->Device.HID == EISA_PNP_ID (0x401)) {
-      if (ResourceList->Device.UID <= 2 &&
-          IoResource != NULL &&
-          InterruptResource != NULL &&
-          DmaResource != NULL
-          ) {
-        SioParallel           = &SioPtr->Parallel[ResourceList->Device.UID];
-        SioParallel->Address  = (UINT16) IoResource->StartRange;
-        SioParallel->Irq      = (UINT8) InterruptResource->StartRange;
-        SioParallel->Dma      = (UINT8) DmaResource->StartRange;
-        SioParallel->Mode     = DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY;
+    if ((ResourceList->Device.HID == EISA_PNP_ID (0x400)) || (ResourceList->Device.HID == EISA_PNP_ID (0x401))) {
+      if ((ResourceList->Device.UID <= 2) &&
+          (IoResource != NULL) &&
+          (InterruptResource != NULL) &&
+          (DmaResource != NULL)
+          )
+      {
+        SioParallel          = &SioPtr->Parallel[ResourceList->Device.UID];
+        SioParallel->Address = (UINT16)IoResource->StartRange;
+        SioParallel->Irq     = (UINT8)InterruptResource->StartRange;
+        SioParallel->Dma     = (UINT8)DmaResource->StartRange;
+        SioParallel->Mode    = DEVICE_PARALLEL_MODE_MODE_OUTPUT_ONLY;
       }
     }
+
     //
     // See if this is an ISA floppy controller
     //
     if (ResourceList->Device.HID == EISA_PNP_ID (0x604)) {
-      if (IoResource != NULL && InterruptResource != NULL && DmaResource != NULL) {
-        Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiBlockIoProtocolGuid, (VOID **) &BlockIo);
+      if ((IoResource != NULL) && (InterruptResource != NULL) && (DmaResource != NULL)) {
+        Status = gBS->HandleProtocol (HandleBuffer[Index], &gEfiBlockIoProtocolGuid, (VOID **)&BlockIo);
         if (!EFI_ERROR (Status)) {
-          SioFloppy           = &SioPtr->Floppy;
-          SioFloppy->Address  = (UINT16) IoResource->StartRange;
-          SioFloppy->Irq      = (UINT8) InterruptResource->StartRange;
-          SioFloppy->Dma      = (UINT8) DmaResource->StartRange;
+          SioFloppy          = &SioPtr->Floppy;
+          SioFloppy->Address = (UINT16)IoResource->StartRange;
+          SioFloppy->Irq     = (UINT8)InterruptResource->StartRange;
+          SioFloppy->Dma     = (UINT8)DmaResource->StartRange;
           SioFloppy->NumberOfFloppy++;
         }
       }
     }
+
     //
     // See if this is a mouse
     // Always set mouse found so USB hot plug will work
@@ -430,14 +442,14 @@ LegacyBiosBuildSioDataFromIsaIo (
 **/
 EFI_STATUS
 LegacyBiosBuildSioData (
-  IN  LEGACY_BIOS_INSTANCE      *Private
+  IN  LEGACY_BIOS_INSTANCE  *Private
   )
 {
-  EFI_STATUS                          Status;
-  DEVICE_PRODUCER_DATA_HEADER         *SioPtr;
-  EFI_HANDLE                          IsaBusController;
-  UINTN                               HandleCount;
-  EFI_HANDLE                          *HandleBuffer;
+  EFI_STATUS                   Status;
+  DEVICE_PRODUCER_DATA_HEADER  *SioPtr;
+  EFI_HANDLE                   IsaBusController;
+  UINTN                        HandleCount;
+  EFI_HANDLE                   *HandleBuffer;
 
   //
   // Get the pointer to the SIO data structure

+ 89 - 86
OvmfPkg/Csm/LegacyBiosDxe/Thunk.c

@@ -9,7 +9,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include "LegacyBiosInterface.h"
 
-THUNK_CONTEXT      mThunkContext;
+THUNK_CONTEXT  mThunkContext;
 
 /**
   Sets the counter value for Timer #0 in a legacy 8254 timer.
@@ -23,8 +23,8 @@ SetPitCount (
   )
 {
   IoWrite8 (TIMER_CONTROL_PORT, TIMER0_CONTROL_WORD);
-  IoWrite8 (TIMER0_COUNT_PORT, (UINT8) (Count & 0xFF));
-  IoWrite8 (TIMER0_COUNT_PORT, (UINT8) ((Count>>8) & 0xFF));
+  IoWrite8 (TIMER0_COUNT_PORT, (UINT8)(Count & 0xFF));
+  IoWrite8 (TIMER0_COUNT_PORT, (UINT8)((Count>>8) & 0xFF));
 }
 
 /**
@@ -45,13 +45,13 @@ SetPitCount (
 BOOLEAN
 EFIAPI
 LegacyBiosInt86 (
-  IN  EFI_LEGACY_BIOS_PROTOCOL      *This,
-  IN  UINT8                         BiosInt,
-  IN  EFI_IA32_REGISTER_SET         *Regs
+  IN  EFI_LEGACY_BIOS_PROTOCOL  *This,
+  IN  UINT8                     BiosInt,
+  IN  EFI_IA32_REGISTER_SET     *Regs
   )
 {
-  UINT16                Segment;
-  UINT16                Offset;
+  UINT16  Segment;
+  UINT16  Offset;
 
   Regs->X.Flags.Reserved1 = 1;
   Regs->X.Flags.Reserved2 = 0;
@@ -67,9 +67,9 @@ LegacyBiosInt86 (
   // We use this base address to get the legacy interrupt handler.
   //
   ACCESS_PAGE0_CODE (
-    Segment               = (UINT16)(((UINT32 *)0)[BiosInt] >> 16);
-    Offset                = (UINT16)((UINT32 *)0)[BiosInt];
-  );
+    Segment = (UINT16)(((UINT32 *)0)[BiosInt] >> 16);
+    Offset  = (UINT16)((UINT32 *)0)[BiosInt];
+    );
 
   return InternalLegacyBiosFarCall (
            This,
@@ -102,12 +102,12 @@ LegacyBiosInt86 (
 BOOLEAN
 EFIAPI
 LegacyBiosFarCall86 (
-  IN  EFI_LEGACY_BIOS_PROTOCOL        *This,
-  IN  UINT16                          Segment,
-  IN  UINT16                          Offset,
-  IN  EFI_IA32_REGISTER_SET           *Regs,
-  IN  VOID                            *Stack,
-  IN  UINTN                           StackSize
+  IN  EFI_LEGACY_BIOS_PROTOCOL  *This,
+  IN  UINT16                    Segment,
+  IN  UINT16                    Offset,
+  IN  EFI_IA32_REGISTER_SET     *Regs,
+  IN  VOID                      *Stack,
+  IN  UINTN                     StackSize
   )
 {
   Regs->X.Flags.Reserved1 = 1;
@@ -134,8 +134,8 @@ LegacyBiosFarCall86 (
 VOID
 EFIAPI
 LegacyBiosNullInterruptHandler (
-  IN EFI_EXCEPTION_TYPE   InterruptType,
-  IN EFI_SYSTEM_CONTEXT   SystemContext
+  IN EFI_EXCEPTION_TYPE  InterruptType,
+  IN EFI_SYSTEM_CONTEXT  SystemContext
   )
 {
 }
@@ -161,12 +161,12 @@ LegacyBiosNullInterruptHandler (
 BOOLEAN
 EFIAPI
 InternalLegacyBiosFarCall (
-  IN  EFI_LEGACY_BIOS_PROTOCOL        *This,
-  IN  UINT16                          Segment,
-  IN  UINT16                          Offset,
-  IN  EFI_IA32_REGISTER_SET           *Regs,
-  IN  VOID                            *Stack,
-  IN  UINTN                           StackSize
+  IN  EFI_LEGACY_BIOS_PROTOCOL  *This,
+  IN  UINT16                    Segment,
+  IN  UINT16                    Offset,
+  IN  EFI_IA32_REGISTER_SET     *Regs,
+  IN  VOID                      *Stack,
+  IN  UINTN                     StackSize
   )
 {
   UINTN                 Status;
@@ -180,19 +180,19 @@ InternalLegacyBiosFarCall (
   Private = LEGACY_BIOS_INSTANCE_FROM_THIS (This);
 
   ZeroMem (&ThunkRegSet, sizeof (ThunkRegSet));
-  ThunkRegSet.X.DI   = Regs->X.DI;
-  ThunkRegSet.X.SI   = Regs->X.SI;
-  ThunkRegSet.X.BP   = Regs->X.BP;
-  ThunkRegSet.X.BX   = Regs->X.BX;
-  ThunkRegSet.X.DX   = Regs->X.DX;
+  ThunkRegSet.X.DI = Regs->X.DI;
+  ThunkRegSet.X.SI = Regs->X.SI;
+  ThunkRegSet.X.BP = Regs->X.BP;
+  ThunkRegSet.X.BX = Regs->X.BX;
+  ThunkRegSet.X.DX = Regs->X.DX;
   //
   // Sometimes, ECX is used to pass in 32 bit data. For example, INT 1Ah, AX = B10Dh is
   // "PCI BIOS v2.0c + Write Configuration DWORD" and ECX has the dword to write.
   //
-  ThunkRegSet.E.ECX   = Regs->E.ECX;
-  ThunkRegSet.X.AX   = Regs->X.AX;
-  ThunkRegSet.E.DS   = Regs->X.DS;
-  ThunkRegSet.E.ES   = Regs->X.ES;
+  ThunkRegSet.E.ECX = Regs->E.ECX;
+  ThunkRegSet.X.AX  = Regs->X.AX;
+  ThunkRegSet.E.DS  = Regs->X.DS;
+  ThunkRegSet.E.ES  = Regs->X.ES;
 
   CopyMem (&(ThunkRegSet.E.EFLAGS.UintN), &(Regs->X.Flags), sizeof (Regs->X.Flags));
 
@@ -200,7 +200,7 @@ InternalLegacyBiosFarCall (
   // Clear the error flag; thunk code may set it. Stack16 should be the high address
   // Make Statk16 address the low 16 bit must be not zero.
   //
-  Stack16 = (UINT16 *)((UINT8 *) mThunkContext.RealModeBuffer + mThunkContext.RealModeBufferSize - sizeof (UINT16));
+  Stack16 = (UINT16 *)((UINT8 *)mThunkContext.RealModeBuffer + mThunkContext.RealModeBufferSize - sizeof (UINT16));
 
   //
   // Save current rate of DXE Timer
@@ -229,22 +229,25 @@ InternalLegacyBiosFarCall (
   // handled properly from real mode.
   //
   DEBUG_CODE_BEGIN ();
-    UINTN  Vector;
-    UINTN  Count;
-
-    for (Vector = 0x20, Count = 0; Vector < 0x100; Vector++) {
-      Status = Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, LegacyBiosNullInterruptHandler);
-      if (Status == EFI_ALREADY_STARTED) {
-        Count++;
-      }
-      if (Status == EFI_SUCCESS) {
-        Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, NULL);
-      }
+  UINTN  Vector;
+  UINTN  Count;
+
+  for (Vector = 0x20, Count = 0; Vector < 0x100; Vector++) {
+    Status = Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, LegacyBiosNullInterruptHandler);
+    if (Status == EFI_ALREADY_STARTED) {
+      Count++;
     }
-    if (Count >= 2) {
-      DEBUG ((DEBUG_ERROR, "ERROR: More than one HW interrupt active with CSM enabled\n"));
+
+    if (Status == EFI_SUCCESS) {
+      Private->Cpu->RegisterInterruptHandler (Private->Cpu, Vector, NULL);
     }
-    ASSERT (Count < 2);
+  }
+
+  if (Count >= 2) {
+    DEBUG ((DEBUG_ERROR, "ERROR: More than one HW interrupt active with CSM enabled\n"));
+  }
+
+  ASSERT (Count < 2);
   DEBUG_CODE_END ();
 
   //
@@ -252,11 +255,11 @@ InternalLegacyBiosFarCall (
   // period is less than the CSM required rate of 54.9254, then force the 8254
   // PIT counter to 0, which is the CSM required rate of 54.9254 ms
   //
-  if (Private->TimerUses8254 && TimerPeriod < 549254) {
+  if (Private->TimerUses8254 && (TimerPeriod < 549254)) {
     SetPitCount (0);
   }
 
-  if (Stack != NULL && StackSize != 0) {
+  if ((Stack != NULL) && (StackSize != 0)) {
     //
     // Copy Stack to low memory stack
     //
@@ -264,12 +267,12 @@ InternalLegacyBiosFarCall (
     CopyMem (Stack16, Stack, StackSize);
   }
 
-  ThunkRegSet.E.SS   = (UINT16) (((UINTN) Stack16 >> 16) << 12);
-  ThunkRegSet.E.ESP  = (UINT16) (UINTN) Stack16;
-  ThunkRegSet.E.CS   = Segment;
-  ThunkRegSet.E.Eip  = Offset;
+  ThunkRegSet.E.SS  = (UINT16)(((UINTN)Stack16 >> 16) << 12);
+  ThunkRegSet.E.ESP = (UINT16)(UINTN)Stack16;
+  ThunkRegSet.E.CS  = Segment;
+  ThunkRegSet.E.Eip = Offset;
 
-  mThunkContext.RealModeState      = &ThunkRegSet;
+  mThunkContext.RealModeState = &ThunkRegSet;
 
   //
   // Set Legacy16 state. 0x08, 0x70 is legacy 8259 vector bases.
@@ -279,7 +282,7 @@ InternalLegacyBiosFarCall (
 
   AsmThunk16 (&mThunkContext);
 
-  if (Stack != NULL && StackSize != 0) {
+  if ((Stack != NULL) && (StackSize != 0)) {
     //
     // Copy low memory stack to Stack
     //
@@ -311,17 +314,17 @@ InternalLegacyBiosFarCall (
   // PcdEbdaReservedMemorySize should be adjusted to larger for more OPROMs.
   //
   DEBUG_CODE_BEGIN ();
-    {
-      UINTN                 EbdaBaseAddress;
-      UINTN                 ReservedEbdaBaseAddress;
-
-      ACCESS_PAGE0_CODE (
-        EbdaBaseAddress = (*(UINT16 *) (UINTN) 0x40E) << 4;
-        ReservedEbdaBaseAddress = CONVENTIONAL_MEMORY_TOP
-                                  - PcdGet32 (PcdEbdaReservedMemorySize);
-        ASSERT (ReservedEbdaBaseAddress <= EbdaBaseAddress);
+  {
+    UINTN  EbdaBaseAddress;
+    UINTN  ReservedEbdaBaseAddress;
+
+    ACCESS_PAGE0_CODE (
+      EbdaBaseAddress         = (*(UINT16 *)(UINTN)0x40E) << 4;
+      ReservedEbdaBaseAddress = CONVENTIONAL_MEMORY_TOP
+                                - PcdGet32 (PcdEbdaReservedMemorySize);
+      ASSERT (ReservedEbdaBaseAddress <= EbdaBaseAddress);
       );
-    }
+  }
   DEBUG_CODE_END ();
 
   //
@@ -329,21 +332,21 @@ InternalLegacyBiosFarCall (
   //
   SaveAndSetDebugTimerInterrupt (InterruptState);
 
-  Regs->E.EDI      = ThunkRegSet.E.EDI;
-  Regs->E.ESI      = ThunkRegSet.E.ESI;
-  Regs->E.EBP      = ThunkRegSet.E.EBP;
-  Regs->E.EBX      = ThunkRegSet.E.EBX;
-  Regs->E.EDX      = ThunkRegSet.E.EDX;
-  Regs->E.ECX      = ThunkRegSet.E.ECX;
-  Regs->E.EAX      = ThunkRegSet.E.EAX;
-  Regs->X.SS       = ThunkRegSet.E.SS;
-  Regs->X.CS       = ThunkRegSet.E.CS;
-  Regs->X.DS       = ThunkRegSet.E.DS;
-  Regs->X.ES       = ThunkRegSet.E.ES;
+  Regs->E.EDI = ThunkRegSet.E.EDI;
+  Regs->E.ESI = ThunkRegSet.E.ESI;
+  Regs->E.EBP = ThunkRegSet.E.EBP;
+  Regs->E.EBX = ThunkRegSet.E.EBX;
+  Regs->E.EDX = ThunkRegSet.E.EDX;
+  Regs->E.ECX = ThunkRegSet.E.ECX;
+  Regs->E.EAX = ThunkRegSet.E.EAX;
+  Regs->X.SS  = ThunkRegSet.E.SS;
+  Regs->X.CS  = ThunkRegSet.E.CS;
+  Regs->X.DS  = ThunkRegSet.E.DS;
+  Regs->X.ES  = ThunkRegSet.E.ES;
 
   CopyMem (&(Regs->X.Flags), &(ThunkRegSet.E.EFLAGS.UintN), sizeof (Regs->X.Flags));
 
-  return (BOOLEAN) (Regs->X.Flags.CF == 1);
+  return (BOOLEAN)(Regs->X.Flags.CF == 1);
 }
 
 /**
@@ -357,16 +360,16 @@ InternalLegacyBiosFarCall (
 **/
 EFI_STATUS
 LegacyBiosInitializeThunk (
-  IN  LEGACY_BIOS_INSTANCE    *Private
+  IN  LEGACY_BIOS_INSTANCE  *Private
   )
 {
-  EFI_STATUS              Status;
-  EFI_PHYSICAL_ADDRESS    MemoryAddress;
-  UINT8                   TimerVector;
+  EFI_STATUS            Status;
+  EFI_PHYSICAL_ADDRESS  MemoryAddress;
+  UINT8                 TimerVector;
 
-  MemoryAddress   = (EFI_PHYSICAL_ADDRESS) (UINTN) Private->IntThunk;
+  MemoryAddress = (EFI_PHYSICAL_ADDRESS)(UINTN)Private->IntThunk;
 
-  mThunkContext.RealModeBuffer     = (VOID *) (UINTN) (MemoryAddress + ((sizeof (LOW_MEMORY_THUNK) / EFI_PAGE_SIZE) + 1) * EFI_PAGE_SIZE);
+  mThunkContext.RealModeBuffer     = (VOID *)(UINTN)(MemoryAddress + ((sizeof (LOW_MEMORY_THUNK) / EFI_PAGE_SIZE) + 1) * EFI_PAGE_SIZE);
   mThunkContext.RealModeBufferSize = EFI_PAGE_SIZE;
   mThunkContext.ThunkAttributes    = THUNK_ATTRIBUTE_BIG_REAL_MODE | THUNK_ATTRIBUTE_DISABLE_A20_MASK_INT_15;
 
@@ -376,7 +379,7 @@ LegacyBiosInitializeThunk (
   // Get the interrupt vector number corresponding to IRQ0 from the 8259 driver
   //
   TimerVector = 0;
-  Status = Private->Legacy8259->GetVector (Private->Legacy8259, Efi8259Irq0, &TimerVector);
+  Status      = Private->Legacy8259->GetVector (Private->Legacy8259, Efi8259Irq0, &TimerVector);
   ASSERT_EFI_ERROR (Status);
 
   //

File diff suppressed because it is too large
+ 306 - 311
OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.c


+ 54 - 61
OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUi.h

@@ -6,13 +6,11 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-
 #ifndef _EFI_LEGACY_BOOT_OPTION_H_
 #define _EFI_LEGACY_BOOT_OPTION_H_
 
 #include <PiDxe.h>
 
-
 #include <Guid/GlobalVariable.h>
 #include <Guid/LegacyDevOrder.h>
 #include <Guid/MdeModuleHii.h>
@@ -38,42 +36,40 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #include "LegacyBootMaintUiVfr.h"
 
-#define CONFIG_OPTION_OFFSET    0x1200
+#define CONFIG_OPTION_OFFSET  0x1200
 
 //
 // VarOffset that will be used to create question
 // all these values are computed from the structure
 // defined below
 //
-#define VAR_OFFSET(Field)              ((UINT16) ((UINTN) &(((LEGACY_BOOT_NV_DATA *) 0)->Field)))
+#define VAR_OFFSET(Field)  ((UINT16) ((UINTN) &(((LEGACY_BOOT_NV_DATA *) 0)->Field)))
 
 //
 // Question Id of Zero is invalid, so add an offset to it
 //
-#define QUESTION_ID(Field)             (VAR_OFFSET (Field) + CONFIG_OPTION_OFFSET)
-
-
-#define LEGACY_FD_QUESTION_ID           QUESTION_ID (LegacyFD)
-#define LEGACY_HD_QUESTION_ID           QUESTION_ID (LegacyHD)
-#define LEGACY_CD_QUESTION_ID           QUESTION_ID (LegacyCD)
-#define LEGACY_NET_QUESTION_ID          QUESTION_ID (LegacyNET)
-#define LEGACY_BEV_QUESTION_ID          QUESTION_ID (LegacyBEV)
+#define QUESTION_ID(Field)  (VAR_OFFSET (Field) + CONFIG_OPTION_OFFSET)
 
+#define LEGACY_FD_QUESTION_ID   QUESTION_ID (LegacyFD)
+#define LEGACY_HD_QUESTION_ID   QUESTION_ID (LegacyHD)
+#define LEGACY_CD_QUESTION_ID   QUESTION_ID (LegacyCD)
+#define LEGACY_NET_QUESTION_ID  QUESTION_ID (LegacyNET)
+#define LEGACY_BEV_QUESTION_ID  QUESTION_ID (LegacyBEV)
 
 //
 // String Constant
 //
-#define STR_FLOPPY          L"Floppy Drive #%02x"
-#define STR_HARDDISK        L"HardDisk Drive #%02x"
-#define STR_CDROM           L"ATAPI CDROM Drive #%02x"
-#define STR_NET             L"NET Drive #%02x"
-#define STR_BEV             L"BEV Drive #%02x"
-
-#define STR_FLOPPY_HELP     L"Select Floppy Drive #%02x"
-#define STR_HARDDISK_HELP   L"Select HardDisk Drive #%02x"
-#define STR_CDROM_HELP      L"Select ATAPI CDROM Drive #%02x"
-#define STR_NET_HELP        L"NET Drive #%02x"
-#define STR_BEV_HELP        L"BEV Drive #%02x"
+#define STR_FLOPPY    L"Floppy Drive #%02x"
+#define STR_HARDDISK  L"HardDisk Drive #%02x"
+#define STR_CDROM     L"ATAPI CDROM Drive #%02x"
+#define STR_NET       L"NET Drive #%02x"
+#define STR_BEV       L"BEV Drive #%02x"
+
+#define STR_FLOPPY_HELP    L"Select Floppy Drive #%02x"
+#define STR_HARDDISK_HELP  L"Select HardDisk Drive #%02x"
+#define STR_CDROM_HELP     L"Select ATAPI CDROM Drive #%02x"
+#define STR_NET_HELP       L"NET Drive #%02x"
+#define STR_BEV_HELP       L"BEV Drive #%02x"
 
 #define STR_FLOPPY_TITLE    L"Set Legacy Floppy Drive Order"
 #define STR_HARDDISK_TITLE  L"Set Legacy HardDisk Drive Order"
@@ -84,7 +80,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 //
 // These are the VFR compiler generated data representing our VFR data.
 //
-extern UINT8 LegacyBootMaintUiVfrBin[];
+extern UINT8  LegacyBootMaintUiVfrBin[];
 
 #pragma pack(1)
 
@@ -92,52 +88,49 @@ extern UINT8 LegacyBootMaintUiVfrBin[];
 /// HII specific Vendor Device Path definition.
 ///
 typedef struct {
-  VENDOR_DEVICE_PATH             VendorDevicePath;
-  EFI_DEVICE_PATH_PROTOCOL       End;
+  VENDOR_DEVICE_PATH          VendorDevicePath;
+  EFI_DEVICE_PATH_PROTOCOL    End;
 } HII_VENDOR_DEVICE_PATH;
 
-
-
 //
 // Variable created with this flag will be "Efi:...."
 //
 #define VAR_FLAG  EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE
 
-
 #define LEGACY_BOOT_OPTION_CALLBACK_DATA_SIGNATURE  SIGNATURE_32 ('L', 'G', 'C', 'B')
 
 typedef struct {
-  UINTN                            Signature;
+  UINTN                             Signature;
 
   //
   // HII relative handles
   //
-  EFI_HII_HANDLE                   HiiHandle;
-  EFI_HANDLE                       DriverHandle;
+  EFI_HII_HANDLE                    HiiHandle;
+  EFI_HANDLE                        DriverHandle;
 
   //
   // Produced protocols
   //
-  EFI_HII_CONFIG_ACCESS_PROTOCOL   ConfigAccess;
+  EFI_HII_CONFIG_ACCESS_PROTOCOL    ConfigAccess;
 
   //
   // Maintain the data.
   //
-  LEGACY_BOOT_MAINTAIN_DATA        *MaintainMapData;
+  LEGACY_BOOT_MAINTAIN_DATA         *MaintainMapData;
 } LEGACY_BOOT_OPTION_CALLBACK_DATA;
 
 //
 // All of the signatures that will be used in list structure
 //
-#define LEGACY_MENU_OPTION_SIGNATURE      SIGNATURE_32 ('m', 'e', 'n', 'u')
-#define LEGACY_MENU_ENTRY_SIGNATURE       SIGNATURE_32 ('e', 'n', 't', 'r')
+#define LEGACY_MENU_OPTION_SIGNATURE  SIGNATURE_32 ('m', 'e', 'n', 'u')
+#define LEGACY_MENU_ENTRY_SIGNATURE   SIGNATURE_32 ('e', 'n', 't', 'r')
 
 #define LEGACY_LEGACY_DEV_CONTEXT_SELECT  0x9
 
 typedef struct {
-  UINTN           Signature;
-  LIST_ENTRY      Head;
-  UINTN           MenuNumber;
+  UINTN         Signature;
+  LIST_ENTRY    Head;
+  UINTN         MenuNumber;
 } LEGACY_MENU_OPTION;
 
 typedef struct {
@@ -146,18 +139,18 @@ typedef struct {
 } LEGACY_DEVICE_CONTEXT;
 
 typedef struct {
-  UINTN           Signature;
-  LIST_ENTRY      Link;
-  UINTN           OptionNumber;
-  UINT16          *DisplayString;
-  UINT16          *HelpString;
-  EFI_STRING_ID   DisplayStringToken;
-  EFI_STRING_ID   HelpStringToken;
-  VOID            *VariableContext;
+  UINTN            Signature;
+  LIST_ENTRY       Link;
+  UINTN            OptionNumber;
+  UINT16           *DisplayString;
+  UINT16           *HelpString;
+  EFI_STRING_ID    DisplayStringToken;
+  EFI_STRING_ID    HelpStringToken;
+  VOID             *VariableContext;
 } LEGACY_MENU_ENTRY;
 
 typedef struct {
-  UINT16     BbsIndex;
+  UINT16    BbsIndex;
 } LEGACY_BOOT_OPTION_BBS_DATA;
 
 #pragma pack()
@@ -183,12 +176,12 @@ typedef struct {
 EFI_STATUS
 EFIAPI
 LegacyBootOptionCallback (
-  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,
-  IN  EFI_BROWSER_ACTION                     Action,
-  IN  EFI_QUESTION_ID                        QuestionId,
-  IN  UINT8                                  Type,
-  IN  EFI_IFR_TYPE_VALUE                     *Value,
-  OUT EFI_BROWSER_ACTION_REQUEST             *ActionRequest
+  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL  *This,
+  IN  EFI_BROWSER_ACTION                    Action,
+  IN  EFI_QUESTION_ID                       QuestionId,
+  IN  UINT8                                 Type,
+  IN  EFI_IFR_TYPE_VALUE                    *Value,
+  OUT EFI_BROWSER_ACTION_REQUEST            *ActionRequest
   );
 
 /**
@@ -216,10 +209,10 @@ LegacyBootOptionCallback (
 EFI_STATUS
 EFIAPI
 LegacyBootOptionExtractConfig (
-  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,
-  IN  CONST EFI_STRING                       Request,
-  OUT EFI_STRING                             *Progress,
-  OUT EFI_STRING                             *Results
+  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL  *This,
+  IN  CONST EFI_STRING                      Request,
+  OUT EFI_STRING                            *Progress,
+  OUT EFI_STRING                            *Results
   );
 
 /**
@@ -241,9 +234,9 @@ LegacyBootOptionExtractConfig (
 EFI_STATUS
 EFIAPI
 LegacyBootOptionRouteConfig (
-  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL   *This,
-  IN  CONST EFI_STRING                       Configuration,
-  OUT EFI_STRING                             *Progress
+  IN  CONST EFI_HII_CONFIG_ACCESS_PROTOCOL  *This,
+  IN  CONST EFI_STRING                      Configuration,
+  OUT EFI_STRING                            *Progress
   );
 
 #endif

+ 18 - 24
OvmfPkg/Csm/LegacyBootMaintUiLib/LegacyBootMaintUiVfr.h

@@ -6,34 +6,28 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
 
-
 #ifndef _EFI_LEGACY_BOOT_OPTION_VFR_H_
 #define _EFI_LEGACY_BOOT_OPTION_VFR_H_
 
 #include <Guid/HiiBootMaintenanceFormset.h>
 
-#define MAX_MENU_NUMBER 100
+#define MAX_MENU_NUMBER  100
 
 #define LEGACY_BOOT_OPTION_FORMSET_GUID  { 0x6bc75598, 0x89b4, 0x483d, { 0x91, 0x60, 0x7f, 0x46, 0x9a, 0x96, 0x35, 0x31 } }
 
-#define VARSTORE_ID_LEGACY_BOOT      0x0001
-
+#define VARSTORE_ID_LEGACY_BOOT  0x0001
 
 #define LEGACY_BOOT_FORM_ID          0x1000
 #define LEGACY_ORDER_CHANGE_FORM_ID  0x1001
 
+#define FORM_FLOPPY_BOOT_ID    0x2000
+#define FORM_HARDDISK_BOOT_ID  0x2001
+#define FORM_CDROM_BOOT_ID     0x2002
+#define FORM_NET_BOOT_ID       0x2003
+#define FORM_BEV_BOOT_ID       0x2004
 
-#define FORM_FLOPPY_BOOT_ID          0x2000
-#define FORM_HARDDISK_BOOT_ID        0x2001
-#define FORM_CDROM_BOOT_ID           0x2002
-#define FORM_NET_BOOT_ID             0x2003
-#define FORM_BEV_BOOT_ID             0x2004
-
-
-
-#define FORM_BOOT_LEGACY_DEVICE_ID   0x9000
-#define FORM_BOOT_LEGACY_LABEL_END   0x9001
-
+#define FORM_BOOT_LEGACY_DEVICE_ID  0x9000
+#define FORM_BOOT_LEGACY_LABEL_END  0x9001
 
 #pragma pack(1)
 
@@ -49,11 +43,11 @@ typedef struct {
   //
   // Legacy Device Order Selection Storage
   //
-  UINT16   LegacyFD[MAX_MENU_NUMBER];
-  UINT16   LegacyHD[MAX_MENU_NUMBER];
-  UINT16   LegacyCD[MAX_MENU_NUMBER];
-  UINT16   LegacyNET[MAX_MENU_NUMBER];
-  UINT16   LegacyBEV[MAX_MENU_NUMBER];
+  UINT16    LegacyFD[MAX_MENU_NUMBER];
+  UINT16    LegacyHD[MAX_MENU_NUMBER];
+  UINT16    LegacyCD[MAX_MENU_NUMBER];
+  UINT16    LegacyNET[MAX_MENU_NUMBER];
+  UINT16    LegacyBEV[MAX_MENU_NUMBER];
 } LEGACY_BOOT_NV_DATA;
 
 ///
@@ -68,10 +62,10 @@ typedef struct {
   //
   // Legacy Device Order Selection Storage
   //
-  LEGACY_BOOT_NV_DATA   InitialNvData;
-  LEGACY_BOOT_NV_DATA   CurrentNvData;
-  LEGACY_BOOT_NV_DATA   LastTimeNvData;
-  UINT8                 DisableMap[32];
+  LEGACY_BOOT_NV_DATA    InitialNvData;
+  LEGACY_BOOT_NV_DATA    CurrentNvData;
+  LEGACY_BOOT_NV_DATA    LastTimeNvData;
+  UINT8                  DisableMap[32];
 } LEGACY_BOOT_MAINTAIN_DATA;
 
 #pragma pack()

+ 2 - 2
OvmfPkg/Csm/LegacyBootManagerLib/InternalLegacyBm.h

@@ -28,7 +28,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 
 #pragma pack(1)
 typedef struct {
-  UINT16     BbsIndex;
+  UINT16    BbsIndex;
 } LEGACY_BM_BOOT_OPTION_BBS_DATA;
 #pragma pack()
 
@@ -44,7 +44,7 @@ typedef struct {
 VOID
 EFIAPI
 LegacyBmBoot (
-  IN  EFI_BOOT_MANAGER_LOAD_OPTION           *BootOption
+  IN  EFI_BOOT_MANAGER_LOAD_OPTION  *BootOption
   );
 
 /**

File diff suppressed because it is too large
+ 331 - 300
OvmfPkg/Csm/LegacyBootManagerLib/LegacyBm.c


+ 121 - 113
OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.c

@@ -36,13 +36,13 @@
 //
 // This is needed for runtime variable access.
 //
-EFI_EVENT   mEmuVarsFvbAddrChangeEvent = NULL;
+EFI_EVENT  mEmuVarsFvbAddrChangeEvent = NULL;
 
 //
 // This is the single instance supported by this driver.  It
 // supports the FVB and Device Path protocols.
 //
-EFI_FW_VOL_BLOCK_DEVICE mEmuVarsFvb = {
+EFI_FW_VOL_BLOCK_DEVICE  mEmuVarsFvb = {
   FVB_DEVICE_SIGNATURE,
   {     // DevicePath
     {
@@ -67,9 +67,9 @@ EFI_FW_VOL_BLOCK_DEVICE mEmuVarsFvb = {
       }
     }
   },
-  NULL, // BufferPtr
+  NULL,               // BufferPtr
   EMU_FVB_BLOCK_SIZE, // BlockSize
-  EMU_FVB_SIZE, // Size
+  EMU_FVB_SIZE,       // Size
   {     // FwVolBlockInstance
     FvbProtocolGetAttributes,
     FvbProtocolSetAttributes,
@@ -82,7 +82,6 @@ EFI_FW_VOL_BLOCK_DEVICE mEmuVarsFvb = {
   },
 };
 
-
 /**
   Notification function of EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE.
 
@@ -96,14 +95,13 @@ EFI_FW_VOL_BLOCK_DEVICE mEmuVarsFvb = {
 VOID
 EFIAPI
 FvbVirtualAddressChangeEvent (
-  IN EFI_EVENT        Event,
-  IN VOID             *Context
+  IN EFI_EVENT  Event,
+  IN VOID       *Context
   )
 {
   EfiConvertPointer (0x0, &mEmuVarsFvb.BufferPtr);
 }
 
-
 //
 // FVB protocol APIs
 //
@@ -128,20 +126,19 @@ FvbVirtualAddressChangeEvent (
 EFI_STATUS
 EFIAPI
 FvbProtocolGetPhysicalAddress (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  OUT       EFI_PHYSICAL_ADDRESS                *Address
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  OUT       EFI_PHYSICAL_ADDRESS                 *Address
   )
 {
-  EFI_FW_VOL_BLOCK_DEVICE *FvbDevice;
+  EFI_FW_VOL_BLOCK_DEVICE  *FvbDevice;
 
   FvbDevice = FVB_DEVICE_FROM_THIS (This);
 
-  *Address = (EFI_PHYSICAL_ADDRESS)(UINTN) FvbDevice->BufferPtr;
+  *Address = (EFI_PHYSICAL_ADDRESS)(UINTN)FvbDevice->BufferPtr;
 
   return EFI_SUCCESS;
 }
 
-
 /**
   The GetBlockSize() function retrieves the size of the requested
   block. It also returns the number of additional blocks with
@@ -171,13 +168,13 @@ FvbProtocolGetPhysicalAddress (
 EFI_STATUS
 EFIAPI
 FvbProtocolGetBlockSize (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  IN        EFI_LBA                             Lba,
-  OUT       UINTN                               *BlockSize,
-  OUT       UINTN                               *NumberOfBlocks
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  IN        EFI_LBA                              Lba,
+  OUT       UINTN                                *BlockSize,
+  OUT       UINTN                                *NumberOfBlocks
   )
 {
-  EFI_FW_VOL_BLOCK_DEVICE *FvbDevice;
+  EFI_FW_VOL_BLOCK_DEVICE  *FvbDevice;
 
   if (Lba >= EMU_FVB_NUM_TOTAL_BLOCKS) {
     return EFI_INVALID_PARAMETER;
@@ -185,13 +182,12 @@ FvbProtocolGetBlockSize (
 
   FvbDevice = FVB_DEVICE_FROM_THIS (This);
 
-  *BlockSize = FvbDevice->BlockSize;
+  *BlockSize      = FvbDevice->BlockSize;
   *NumberOfBlocks = (UINTN)(EMU_FVB_NUM_TOTAL_BLOCKS - Lba);
 
   return EFI_SUCCESS;
 }
 
-
 /**
   The GetAttributes() function retrieves the attributes and
   current settings of the block. Status Codes Returned
@@ -210,23 +206,22 @@ FvbProtocolGetBlockSize (
 EFI_STATUS
 EFIAPI
 FvbProtocolGetAttributes (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  OUT       EFI_FVB_ATTRIBUTES_2                *Attributes
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  OUT       EFI_FVB_ATTRIBUTES_2                 *Attributes
   )
 {
   *Attributes =
-    (EFI_FVB_ATTRIBUTES_2) (
-      EFI_FVB2_READ_ENABLED_CAP |
-      EFI_FVB2_READ_STATUS |
-      EFI_FVB2_WRITE_ENABLED_CAP |
-      EFI_FVB2_WRITE_STATUS |
-      EFI_FVB2_ERASE_POLARITY
-      );
+    (EFI_FVB_ATTRIBUTES_2)(
+                           EFI_FVB2_READ_ENABLED_CAP |
+                           EFI_FVB2_READ_STATUS |
+                           EFI_FVB2_WRITE_ENABLED_CAP |
+                           EFI_FVB2_WRITE_STATUS |
+                           EFI_FVB2_ERASE_POLARITY
+                           );
 
   return EFI_SUCCESS;
 }
 
-
 /**
   The SetAttributes() function sets configurable firmware volume
   attributes and returns the new settings of the firmware volume.
@@ -252,14 +247,13 @@ FvbProtocolGetAttributes (
 EFI_STATUS
 EFIAPI
 FvbProtocolSetAttributes (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  IN OUT    EFI_FVB_ATTRIBUTES_2                *Attributes
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  IN OUT    EFI_FVB_ATTRIBUTES_2                 *Attributes
   )
 {
   return EFI_ACCESS_DENIED;
 }
 
-
 /**
   Erases and initializes a firmware volume block.
 
@@ -311,16 +305,16 @@ FvbProtocolSetAttributes (
 EFI_STATUS
 EFIAPI
 FvbProtocolEraseBlocks (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
   ...
   )
 {
-  EFI_FW_VOL_BLOCK_DEVICE *FvbDevice;
-  VA_LIST                 Args;
-  EFI_LBA                 StartingLba;
-  UINTN                   NumOfLba;
-  UINT8                   *ErasePtr;
-  UINTN                   EraseSize;
+  EFI_FW_VOL_BLOCK_DEVICE  *FvbDevice;
+  VA_LIST                  Args;
+  EFI_LBA                  StartingLba;
+  UINTN                    NumOfLba;
+  UINT8                    *ErasePtr;
+  UINTN                    EraseSize;
 
   FvbDevice = FVB_DEVICE_FROM_THIS (This);
 
@@ -333,14 +327,17 @@ FvbProtocolEraseBlocks (
     if (StartingLba == EFI_LBA_LIST_TERMINATOR) {
       break;
     }
+
     NumOfLba = VA_ARG (Args, UINTN);
 
-    if (StartingLba > EMU_FVB_NUM_TOTAL_BLOCKS ||
-        NumOfLba > EMU_FVB_NUM_TOTAL_BLOCKS - StartingLba) {
+    if ((StartingLba > EMU_FVB_NUM_TOTAL_BLOCKS) ||
+        (NumOfLba > EMU_FVB_NUM_TOTAL_BLOCKS - StartingLba))
+    {
       VA_END (Args);
       return EFI_INVALID_PARAMETER;
     }
   } while (1);
+
   VA_END (Args);
 
   //
@@ -352,14 +349,16 @@ FvbProtocolEraseBlocks (
     if (StartingLba == EFI_LBA_LIST_TERMINATOR) {
       break;
     }
+
     NumOfLba = VA_ARG (Args, UINTN);
 
-    ErasePtr = FvbDevice->BufferPtr;
+    ErasePtr  = FvbDevice->BufferPtr;
     ErasePtr += (UINTN)StartingLba * FvbDevice->BlockSize;
     EraseSize = NumOfLba * FvbDevice->BlockSize;
 
     SetMem (ErasePtr, EraseSize, ERASED_UINT8);
   } while (1);
+
   VA_END (Args);
 
   //
@@ -372,7 +371,6 @@ FvbProtocolEraseBlocks (
   return EFI_SUCCESS;
 }
 
-
 /**
   Writes the specified number of bytes from the input buffer to the block.
 
@@ -435,31 +433,32 @@ FvbProtocolEraseBlocks (
 EFI_STATUS
 EFIAPI
 FvbProtocolWrite (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  IN        EFI_LBA                             Lba,
-  IN        UINTN                               Offset,
-  IN OUT    UINTN                               *NumBytes,
-  IN        UINT8                               *Buffer
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  IN        EFI_LBA                              Lba,
+  IN        UINTN                                Offset,
+  IN OUT    UINTN                                *NumBytes,
+  IN        UINT8                                *Buffer
   )
 {
-  EFI_FW_VOL_BLOCK_DEVICE *FvbDevice;
-  UINT8                   *FvbDataPtr;
-  EFI_STATUS              Status;
+  EFI_FW_VOL_BLOCK_DEVICE  *FvbDevice;
+  UINT8                    *FvbDataPtr;
+  EFI_STATUS               Status;
 
   FvbDevice = FVB_DEVICE_FROM_THIS (This);
 
-  if (Lba >= EMU_FVB_NUM_TOTAL_BLOCKS ||
-      Offset > FvbDevice->BlockSize) {
+  if ((Lba >= EMU_FVB_NUM_TOTAL_BLOCKS) ||
+      (Offset > FvbDevice->BlockSize))
+  {
     return EFI_INVALID_PARAMETER;
   }
 
   Status = EFI_SUCCESS;
   if (*NumBytes > FvbDevice->BlockSize - Offset) {
     *NumBytes = FvbDevice->BlockSize - Offset;
-    Status = EFI_BAD_BUFFER_SIZE;
+    Status    = EFI_BAD_BUFFER_SIZE;
   }
 
-  FvbDataPtr = FvbDevice->BufferPtr;
+  FvbDataPtr  = FvbDevice->BufferPtr;
   FvbDataPtr += (UINTN)Lba * FvbDevice->BlockSize;
   FvbDataPtr += Offset;
 
@@ -468,7 +467,6 @@ FvbProtocolWrite (
   return Status;
 }
 
-
 /**
   Reads the specified number of bytes into a buffer from the specified block.
 
@@ -519,31 +517,32 @@ FvbProtocolWrite (
 EFI_STATUS
 EFIAPI
 FvbProtocolRead (
-  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,
-  IN        EFI_LBA                             Lba,
-  IN        UINTN                               Offset,
-  IN OUT    UINTN                               *NumBytes,
-  IN OUT    UINT8                               *Buffer
+  IN CONST  EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL  *This,
+  IN        EFI_LBA                              Lba,
+  IN        UINTN                                Offset,
+  IN OUT    UINTN                                *NumBytes,
+  IN OUT    UINT8                                *Buffer
   )
 {
-  EFI_FW_VOL_BLOCK_DEVICE *FvbDevice;
-  UINT8                   *FvbDataPtr;
-  EFI_STATUS              Status;
+  EFI_FW_VOL_BLOCK_DEVICE  *FvbDevice;
+  UINT8                    *FvbDataPtr;
+  EFI_STATUS               Status;
 
   FvbDevice = FVB_DEVICE_FROM_THIS (This);
 
-  if (Lba >= EMU_FVB_NUM_TOTAL_BLOCKS ||
-      Offset > FvbDevice->BlockSize) {
+  if ((Lba >= EMU_FVB_NUM_TOTAL_BLOCKS) ||
+      (Offset > FvbDevice->BlockSize))
+  {
     return EFI_INVALID_PARAMETER;
   }
 
   Status = EFI_SUCCESS;
   if (*NumBytes > FvbDevice->BlockSize - Offset) {
     *NumBytes = FvbDevice->BlockSize - Offset;
-    Status = EFI_BAD_BUFFER_SIZE;
+    Status    = EFI_BAD_BUFFER_SIZE;
   }
 
-  FvbDataPtr = FvbDevice->BufferPtr;
+  FvbDataPtr  = FvbDevice->BufferPtr;
   FvbDataPtr += (UINTN)Lba * FvbDevice->BlockSize;
   FvbDataPtr += Offset;
 
@@ -552,7 +551,6 @@ FvbProtocolRead (
   return Status;
 }
 
-
 /**
   Check the integrity of firmware volume header.
 
@@ -564,7 +562,7 @@ FvbProtocolRead (
 **/
 EFI_STATUS
 ValidateFvHeader (
-  IN EFI_FIRMWARE_VOLUME_HEADER   *FwVolHeader
+  IN EFI_FIRMWARE_VOLUME_HEADER  *FwVolHeader
   )
 {
   UINT16  Checksum;
@@ -578,14 +576,16 @@ ValidateFvHeader (
       (FwVolHeader->Signature != EFI_FVH_SIGNATURE) ||
       (FwVolHeader->FvLength != EMU_FVB_SIZE) ||
       (FwVolHeader->HeaderLength != EMU_FV_HEADER_LENGTH)
-      ) {
+      )
+  {
     DEBUG ((DEBUG_INFO, "EMU Variable FVB: Basic FV headers were invalid\n"));
     return EFI_NOT_FOUND;
   }
+
   //
   // Verify the header checksum
   //
-  Checksum = CalculateSum16((VOID*) FwVolHeader, FwVolHeader->HeaderLength);
+  Checksum = CalculateSum16 ((VOID *)FwVolHeader, FwVolHeader->HeaderLength);
 
   if (Checksum != 0) {
     DEBUG ((DEBUG_INFO, "EMU Variable FVB: FV checksum was invalid\n"));
@@ -595,7 +595,6 @@ ValidateFvHeader (
   return EFI_SUCCESS;
 }
 
-
 /**
   Initializes the FV Header and Variable Store Header
   to support variable operations.
@@ -605,13 +604,13 @@ ValidateFvHeader (
 **/
 VOID
 InitializeFvAndVariableStoreHeaders (
-  IN  VOID   *Ptr
+  IN  VOID  *Ptr
   )
 {
   //
   // Templates for authenticated variable FV header
   //
-  STATIC FVB_FV_HDR_AND_VARS_TEMPLATE FvAndAuthenticatedVarTemplate = {
+  STATIC FVB_FV_HDR_AND_VARS_TEMPLATE  FvAndAuthenticatedVarTemplate = {
     { // EFI_FIRMWARE_VOLUME_HEADER FvHdr;
       // UINT8                     ZeroVector[16];
       { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
@@ -638,7 +637,7 @@ InitializeFvAndVariableStoreHeaders (
       0,
 
       // UINT8                     Reserved[1];
-      {0},
+      { 0 },
 
       // UINT8                     Revision;
       EFI_FVH_REVISION,
@@ -647,20 +646,20 @@ InitializeFvAndVariableStoreHeaders (
       {
         {
           EMU_FVB_NUM_TOTAL_BLOCKS, // UINT32 NumBlocks;
-          EMU_FVB_BLOCK_SIZE  // UINT32 Length;
+          EMU_FVB_BLOCK_SIZE        // UINT32 Length;
         }
       }
     },
     // EFI_FV_BLOCK_MAP_ENTRY     EndBlockMap;
     { 0, 0 }, // End of block map
     { // VARIABLE_STORE_HEADER      VarHdr;
-        // EFI_GUID  Signature;     // need authenticated variables for secure boot
-        EFI_AUTHENTICATED_VARIABLE_GUID,
+      // EFI_GUID  Signature;     // need authenticated variables for secure boot
+      EFI_AUTHENTICATED_VARIABLE_GUID,
 
       // UINT32  Size;
       (
-        FixedPcdGet32 (PcdFlashNvStorageVariableSize) -
-        OFFSET_OF (FVB_FV_HDR_AND_VARS_TEMPLATE, VarHdr)
+       FixedPcdGet32 (PcdFlashNvStorageVariableSize) -
+       OFFSET_OF (FVB_FV_HDR_AND_VARS_TEMPLATE, VarHdr)
       ),
 
       // UINT8   Format;
@@ -691,7 +690,7 @@ InitializeFvAndVariableStoreHeaders (
   //
   // Update the checksum for the FV header
   //
-  Fv = (EFI_FIRMWARE_VOLUME_HEADER*) Ptr;
+  Fv           = (EFI_FIRMWARE_VOLUME_HEADER *)Ptr;
   Fv->Checksum = CalculateCheckSum16 (Ptr, Fv->HeaderLength);
 }
 
@@ -707,38 +706,44 @@ InitializeFvAndVariableStoreHeaders (
 EFI_STATUS
 EFIAPI
 FvbInitialize (
-  IN EFI_HANDLE         ImageHandle,
-  IN EFI_SYSTEM_TABLE   *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS                          Status;
-  VOID                                *Ptr;
-  VOID                                *SubPtr;
-  BOOLEAN                             Initialize;
-  EFI_HANDLE                          Handle;
-  EFI_PHYSICAL_ADDRESS                Address;
-  RETURN_STATUS                       PcdStatus;
+  EFI_STATUS            Status;
+  VOID                  *Ptr;
+  VOID                  *SubPtr;
+  BOOLEAN               Initialize;
+  EFI_HANDLE            Handle;
+  EFI_PHYSICAL_ADDRESS  Address;
+  RETURN_STATUS         PcdStatus;
 
   DEBUG ((DEBUG_INFO, "EMU Variable FVB Started\n"));
 
   //
   // Verify that the PCD's are set correctly.
   //
-  ASSERT (FixedPcdGet32 (PcdFlashNvStorageFtwSpareSize) %
-          EMU_FVB_BLOCK_SIZE == 0);
+  ASSERT (
+    FixedPcdGet32 (PcdFlashNvStorageFtwSpareSize) %
+    EMU_FVB_BLOCK_SIZE == 0
+    );
   if (
-       (PcdGet32 (PcdFlashNvStorageVariableSize) +
-        PcdGet32 (PcdFlashNvStorageFtwWorkingSize)
-       ) >
-       EMU_FVB_NUM_SPARE_BLOCKS * EMU_FVB_BLOCK_SIZE
-     ) {
+      (PcdGet32 (PcdFlashNvStorageVariableSize) +
+       PcdGet32 (PcdFlashNvStorageFtwWorkingSize)
+      ) >
+      EMU_FVB_NUM_SPARE_BLOCKS * EMU_FVB_BLOCK_SIZE
+      )
+  {
     DEBUG ((DEBUG_ERROR, "EMU Variable invalid PCD sizes\n"));
     return EFI_INVALID_PARAMETER;
   }
 
   if (PcdGet64 (PcdFlashNvStorageVariableBase64) != 0) {
-    DEBUG ((DEBUG_INFO, "Disabling EMU Variable FVB since "
-                        "flash variables appear to be supported.\n"));
+    DEBUG ((
+      DEBUG_INFO,
+      "Disabling EMU Variable FVB since "
+      "flash variables appear to be supported.\n"
+      ));
     return EFI_ABORTED;
   }
 
@@ -752,7 +757,7 @@ FvbInitialize (
   //
   Initialize = TRUE;
   if (PcdGet64 (PcdEmuVariableNvStoreReserved) != 0) {
-    Ptr = (VOID*)(UINTN) PcdGet64 (PcdEmuVariableNvStoreReserved);
+    Ptr = (VOID *)(UINTN)PcdGet64 (PcdEmuVariableNvStoreReserved);
     DEBUG ((
       DEBUG_INFO,
       "EMU Variable FVB: Using pre-reserved block at %p\n",
@@ -776,32 +781,37 @@ FvbInitialize (
     SetMem (Ptr, EMU_FVB_SIZE, ERASED_UINT8);
     InitializeFvAndVariableStoreHeaders (Ptr);
   }
-  PcdStatus = PcdSet64S (PcdFlashNvStorageVariableBase64, (UINT32)(UINTN) Ptr);
+
+  PcdStatus = PcdSet64S (PcdFlashNvStorageVariableBase64, (UINT32)(UINTN)Ptr);
   ASSERT_RETURN_ERROR (PcdStatus);
 
   //
   // Initialize the Fault Tolerant Write data area
   //
-  SubPtr = (VOID*) ((UINT8*) Ptr + PcdGet32 (PcdFlashNvStorageVariableSize));
-  PcdStatus = PcdSet32S (PcdFlashNvStorageFtwWorkingBase,
-                (UINT32)(UINTN) SubPtr);
+  SubPtr    = (VOID *)((UINT8 *)Ptr + PcdGet32 (PcdFlashNvStorageVariableSize));
+  PcdStatus = PcdSet32S (
+                PcdFlashNvStorageFtwWorkingBase,
+                (UINT32)(UINTN)SubPtr
+                );
   ASSERT_RETURN_ERROR (PcdStatus);
 
   //
   // Initialize the Fault Tolerant Write spare block
   //
-  SubPtr = (VOID*) ((UINT8*) Ptr +
+  SubPtr = (VOID *)((UINT8 *)Ptr +
                     EMU_FVB_NUM_SPARE_BLOCKS * EMU_FVB_BLOCK_SIZE);
-  PcdStatus = PcdSet32S (PcdFlashNvStorageFtwSpareBase,
-                (UINT32)(UINTN) SubPtr);
+  PcdStatus = PcdSet32S (
+                PcdFlashNvStorageFtwSpareBase,
+                (UINT32)(UINTN)SubPtr
+                );
   ASSERT_RETURN_ERROR (PcdStatus);
 
   //
   // Setup FVB device path
   //
-  Address = (EFI_PHYSICAL_ADDRESS)(UINTN) Ptr;
+  Address                                              = (EFI_PHYSICAL_ADDRESS)(UINTN)Ptr;
   mEmuVarsFvb.DevicePath.MemMapDevPath.StartingAddress = Address;
-  mEmuVarsFvb.DevicePath.MemMapDevPath.EndingAddress = Address + EMU_FVB_SIZE - 1;
+  mEmuVarsFvb.DevicePath.MemMapDevPath.EndingAddress   = Address + EMU_FVB_SIZE - 1;
 
   //
   // Install the protocols
@@ -833,5 +843,3 @@ FvbInitialize (
 
   return EFI_SUCCESS;
 }
-
-

+ 18 - 21
OvmfPkg/EmuVariableFvbRuntimeDxe/Fvb.h

@@ -19,36 +19,33 @@ Abstract:
 //
 // Fvb Protocol instance data
 //
-#define FVB_DEVICE_FROM_THIS(a)         CR (a, EFI_FW_VOL_BLOCK_DEVICE, FwVolBlockInstance, FVB_DEVICE_SIGNATURE)
-#define FVB_DEVICE_SIGNATURE            SIGNATURE_32 ('F', 'V', 'B', 'N')
+#define FVB_DEVICE_FROM_THIS(a)  CR (a, EFI_FW_VOL_BLOCK_DEVICE, FwVolBlockInstance, FVB_DEVICE_SIGNATURE)
+#define FVB_DEVICE_SIGNATURE  SIGNATURE_32 ('F', 'V', 'B', 'N')
 
 #pragma pack (1)
 
 typedef struct {
-
-  EFI_FIRMWARE_VOLUME_HEADER FvHdr;
-  EFI_FV_BLOCK_MAP_ENTRY     EndBlockMap;
-  VARIABLE_STORE_HEADER      VarHdr;
-
+  EFI_FIRMWARE_VOLUME_HEADER    FvHdr;
+  EFI_FV_BLOCK_MAP_ENTRY        EndBlockMap;
+  VARIABLE_STORE_HEADER         VarHdr;
 } FVB_FV_HDR_AND_VARS_TEMPLATE;
 
 typedef struct {
-  MEMMAP_DEVICE_PATH        MemMapDevPath;
-  EFI_DEVICE_PATH_PROTOCOL  EndDevPath;
+  MEMMAP_DEVICE_PATH          MemMapDevPath;
+  EFI_DEVICE_PATH_PROTOCOL    EndDevPath;
 } FV_DEVICE_PATH;
 
 #pragma pack ()
 
 typedef struct {
-  UINTN                               Signature;
-  FV_DEVICE_PATH                      DevicePath;
-  VOID                                *BufferPtr;
-  UINTN                               BlockSize;
-  UINTN                               Size;
-  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL  FwVolBlockInstance;
+  UINTN                                 Signature;
+  FV_DEVICE_PATH                        DevicePath;
+  VOID                                  *BufferPtr;
+  UINTN                                 BlockSize;
+  UINTN                                 Size;
+  EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL    FwVolBlockInstance;
 } EFI_FW_VOL_BLOCK_DEVICE;
 
-
 //
 // Constants
 //
@@ -63,12 +60,12 @@ typedef struct {
 #define FTW_WRITE_QUEUE_SIZE \
   (FixedPcdGet32 (PcdFlashNvStorageFtwWorkingSize) - \
    sizeof (EFI_FAULT_TOLERANT_WORKING_BLOCK_HEADER))
-#define EMU_FV_HEADER_LENGTH OFFSET_OF (FVB_FV_HDR_AND_VARS_TEMPLATE, VarHdr)
+#define EMU_FV_HEADER_LENGTH  OFFSET_OF (FVB_FV_HDR_AND_VARS_TEMPLATE, VarHdr)
 
-#define NOT_ERASED_BIT 0
-#define ERASED_BIT     1
-#define ERASED_UINT8   0xff
-#define ERASED_UINT32  0xffffffff
+#define NOT_ERASED_BIT  0
+#define ERASED_BIT      1
+#define ERASED_UINT8    0xff
+#define ERASED_UINT32   0xffffffff
 
 //
 // Protocol APIs

+ 8 - 12
OvmfPkg/EnrollDefaultKeys/AuthData.c

@@ -8,14 +8,13 @@
 
 #include "EnrollDefaultKeys.h"
 
-
 //
 // Second KEK: "Microsoft Corporation KEK CA 2011".
 // SHA1: 31:59:0b:fd:89:c9:d7:4e:d0:87:df:ac:66:33:4b:39:31:25:4b:30
 //
 // "dbx" updates in "dbxtool" are signed with a key derived from this KEK.
 //
-CONST UINT8 mMicrosoftKek[] = {
+CONST UINT8  mMicrosoftKek[] = {
   0x30, 0x82, 0x05, 0xe8, 0x30, 0x82, 0x03, 0xd0, 0xa0, 0x03, 0x02, 0x01, 0x02,
   0x02, 0x0a, 0x61, 0x0a, 0xd1, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x30,
   0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
@@ -135,8 +134,7 @@ CONST UINT8 mMicrosoftKek[] = {
   0x57, 0x4e, 0x36, 0xd2, 0x32, 0x84, 0xbf, 0x9e
 };
 
-CONST UINTN mSizeOfMicrosoftKek = sizeof mMicrosoftKek;
-
+CONST UINTN  mSizeOfMicrosoftKek = sizeof mMicrosoftKek;
 
 //
 // First DB entry: "Microsoft Windows Production PCA 2011"
@@ -145,7 +143,7 @@ CONST UINTN mSizeOfMicrosoftKek = sizeof mMicrosoftKek;
 // Windows 8 and Windows Server 2012 R2 boot loaders are signed with a chain
 // rooted in this certificate.
 //
-CONST UINT8 mMicrosoftPca[] = {
+CONST UINT8  mMicrosoftPca[] = {
   0x30, 0x82, 0x05, 0xd7, 0x30, 0x82, 0x03, 0xbf, 0xa0, 0x03, 0x02, 0x01, 0x02,
   0x02, 0x0a, 0x61, 0x07, 0x76, 0x56, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x30,
   0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
@@ -264,8 +262,7 @@ CONST UINT8 mMicrosoftPca[] = {
   0x62, 0x1c, 0x59, 0x7e
 };
 
-CONST UINTN mSizeOfMicrosoftPca = sizeof mMicrosoftPca;
-
+CONST UINTN  mSizeOfMicrosoftPca = sizeof mMicrosoftPca;
 
 //
 // Second DB entry: "Microsoft Corporation UEFI CA 2011"
@@ -273,7 +270,7 @@ CONST UINTN mSizeOfMicrosoftPca = sizeof mMicrosoftPca;
 //
 // To verify the "shim" binary and PCI expansion ROMs with.
 //
-CONST UINT8 mMicrosoftUefiCa[] = {
+CONST UINT8  mMicrosoftUefiCa[] = {
   0x30, 0x82, 0x06, 0x10, 0x30, 0x82, 0x03, 0xf8, 0xa0, 0x03, 0x02, 0x01, 0x02,
   0x02, 0x0a, 0x61, 0x08, 0xd3, 0xc4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x30,
   0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b, 0x05,
@@ -396,8 +393,7 @@ CONST UINT8 mMicrosoftUefiCa[] = {
   0x07, 0x92, 0x9b, 0xf5, 0xa6, 0xbc, 0x59, 0x83, 0x58
 };
 
-CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
-
+CONST UINTN  mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
 
 //
 // The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test case
@@ -431,10 +427,10 @@ CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
 // practice recommended -- in natural English langauge -- in the
 // above-referenced TechNet article.
 //
-CONST UINT8 mSha256OfDevNull[] = {
+CONST UINT8  mSha256OfDevNull[] = {
   0xe3, 0xb0, 0xc4, 0x42, 0x98, 0xfc, 0x1c, 0x14, 0x9a, 0xfb, 0xf4, 0xc8, 0x99,
   0x6f, 0xb9, 0x24, 0x27, 0xae, 0x41, 0xe4, 0x64, 0x9b, 0x93, 0x4c, 0xa4, 0x95,
   0x99, 0x1b, 0x78, 0x52, 0xb8, 0x55
 };
 
-CONST UINTN mSizeOfSha256OfDevNull = sizeof mSha256OfDevNull;
+CONST UINTN  mSizeOfSha256OfDevNull = sizeof mSha256OfDevNull;

+ 267 - 147
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c

@@ -24,7 +24,6 @@
 
 #include "EnrollDefaultKeys.h"
 
-
 /**
   Fetch the X509 certificate (to be used as Platform Key and first Key Exchange
   Key) from SMBIOS.
@@ -54,47 +53,55 @@
 STATIC
 EFI_STATUS
 GetPkKek1 (
-  OUT UINT8 **PkKek1,
-  OUT UINTN *SizeOfPkKek1
+  OUT UINT8  **PkKek1,
+  OUT UINTN  *SizeOfPkKek1
   )
 {
-  CONST CHAR8             *Base64Cert;
-  CHAR8                   OvmfPkKek1AppPrefix[GUID_STRING_LENGTH + 1 + 1];
-  EFI_STATUS              Status;
-  EFI_SMBIOS_PROTOCOL     *Smbios;
-  EFI_SMBIOS_HANDLE       Handle;
-  EFI_SMBIOS_TYPE         Type;
-  EFI_SMBIOS_TABLE_HEADER *Header;
-  SMBIOS_TABLE_TYPE11     *OemStringsTable;
-  UINTN                   Base64CertLen;
-  UINTN                   DecodedCertSize;
-  UINT8                   *DecodedCert;
+  CONST CHAR8              *Base64Cert;
+  CHAR8                    OvmfPkKek1AppPrefix[GUID_STRING_LENGTH + 1 + 1];
+  EFI_STATUS               Status;
+  EFI_SMBIOS_PROTOCOL      *Smbios;
+  EFI_SMBIOS_HANDLE        Handle;
+  EFI_SMBIOS_TYPE          Type;
+  EFI_SMBIOS_TABLE_HEADER  *Header;
+  SMBIOS_TABLE_TYPE11      *OemStringsTable;
+  UINTN                    Base64CertLen;
+  UINTN                    DecodedCertSize;
+  UINT8                    *DecodedCert;
 
   Base64Cert = NULL;
 
   //
   // Format the application prefix, for OEM String matching.
   //
-  AsciiSPrint (OvmfPkKek1AppPrefix, sizeof OvmfPkKek1AppPrefix, "%g:",
-    &gOvmfPkKek1AppPrefixGuid);
+  AsciiSPrint (
+    OvmfPkKek1AppPrefix,
+    sizeof OvmfPkKek1AppPrefix,
+    "%g:",
+    &gOvmfPkKek1AppPrefixGuid
+    );
 
   //
   // Scan all "OEM Strings" tables.
   //
-  Status = gBS->LocateProtocol (&gEfiSmbiosProtocolGuid, NULL,
-                  (VOID **)&Smbios);
+  Status = gBS->LocateProtocol (
+                  &gEfiSmbiosProtocolGuid,
+                  NULL,
+                  (VOID **)&Smbios
+                  );
   if (EFI_ERROR (Status)) {
     AsciiPrint ("error: failed to locate EFI_SMBIOS_PROTOCOL: %r\n", Status);
     return Status;
   }
 
   Handle = SMBIOS_HANDLE_PI_RESERVED;
-  Type = SMBIOS_TYPE_OEM_STRINGS;
+  Type   = SMBIOS_TYPE_OEM_STRINGS;
   for (Status = Smbios->GetNext (Smbios, &Handle, &Type, &Header, NULL);
        !EFI_ERROR (Status);
-       Status = Smbios->GetNext (Smbios, &Handle, &Type, &Header, NULL)) {
-    CONST CHAR8 *OemString;
-    UINTN       Idx;
+       Status = Smbios->GetNext (Smbios, &Handle, &Type, &Header, NULL))
+  {
+    CONST CHAR8  *OemString;
+    UINTN        Idx;
 
     if (Header->Length < sizeof *OemStringsTable) {
       //
@@ -102,6 +109,7 @@ GetPkKek1 (
       //
       continue;
     }
+
     OemStringsTable = (SMBIOS_TABLE_TYPE11 *)Header;
 
     //
@@ -110,13 +118,17 @@ GetPkKek1 (
     //
     OemString = (CONST CHAR8 *)(OemStringsTable + 1);
     for (Idx = 0; Idx < OemStringsTable->StringCount; ++Idx) {
-      CHAR8 CandidatePrefix[sizeof OvmfPkKek1AppPrefix];
+      CHAR8  CandidatePrefix[sizeof OvmfPkKek1AppPrefix];
 
       //
       // NUL-terminate the candidate prefix for case-insensitive comparison.
       //
-      AsciiStrnCpyS (CandidatePrefix, sizeof CandidatePrefix, OemString,
-        GUID_STRING_LENGTH + 1);
+      AsciiStrnCpyS (
+        CandidatePrefix,
+        sizeof CandidatePrefix,
+        OemString,
+        GUID_STRING_LENGTH + 1
+        );
       if (AsciiStriCmp (OvmfPkKek1AppPrefix, CandidatePrefix) == 0) {
         //
         // The current string matches the prefix.
@@ -124,6 +136,7 @@ GetPkKek1 (
         Base64Cert = OemString + GUID_STRING_LENGTH + 1;
         break;
       }
+
       OemString += AsciiStrSize (OemString);
     }
 
@@ -139,8 +152,11 @@ GetPkKek1 (
     //
     // No table with a matching string has been found.
     //
-    AsciiPrint ("error: OEM String with app prefix %g not found: %r\n",
-      &gOvmfPkKek1AppPrefixGuid, Status);
+    AsciiPrint (
+      "error: OEM String with app prefix %g not found: %r\n",
+      &gOvmfPkKek1AppPrefixGuid,
+      Status
+      );
     return EFI_NOT_FOUND;
   }
 
@@ -151,19 +167,23 @@ GetPkKek1 (
   // Verify the base64 encoding, and determine the decoded size.
   //
   DecodedCertSize = 0;
-  Status = Base64Decode (Base64Cert, Base64CertLen, NULL, &DecodedCertSize);
+  Status          = Base64Decode (Base64Cert, Base64CertLen, NULL, &DecodedCertSize);
   switch (Status) {
-  case EFI_BUFFER_TOO_SMALL:
-    ASSERT (DecodedCertSize > 0);
-    break;
-  case EFI_SUCCESS:
-    AsciiPrint ("error: empty certificate after app prefix %g\n",
-      &gOvmfPkKek1AppPrefixGuid);
-    return EFI_PROTOCOL_ERROR;
-  default:
-    AsciiPrint ("error: invalid base64 string after app prefix %g\n",
-      &gOvmfPkKek1AppPrefixGuid);
-    return EFI_PROTOCOL_ERROR;
+    case EFI_BUFFER_TOO_SMALL:
+      ASSERT (DecodedCertSize > 0);
+      break;
+    case EFI_SUCCESS:
+      AsciiPrint (
+        "error: empty certificate after app prefix %g\n",
+        &gOvmfPkKek1AppPrefixGuid
+        );
+      return EFI_PROTOCOL_ERROR;
+    default:
+      AsciiPrint (
+        "error: invalid base64 string after app prefix %g\n",
+        &gOvmfPkKek1AppPrefixGuid
+        );
+      return EFI_PROTOCOL_ERROR;
   }
 
   //
@@ -178,16 +198,19 @@ GetPkKek1 (
   //
   // Decoding will succeed at this point.
   //
-  Status = Base64Decode (Base64Cert, Base64CertLen, DecodedCert,
-             &DecodedCertSize);
+  Status = Base64Decode (
+             Base64Cert,
+             Base64CertLen,
+             DecodedCert,
+             &DecodedCertSize
+             );
   ASSERT_EFI_ERROR (Status);
 
-  *PkKek1 = DecodedCert;
+  *PkKek1       = DecodedCert;
   *SizeOfPkKek1 = DecodedCertSize;
   return EFI_SUCCESS;
 }
 
-
 /**
   Enroll a set of certificates in a global variable, overwriting it.
 
@@ -235,20 +258,20 @@ STATIC
 EFI_STATUS
 EFIAPI
 EnrollListOfCerts (
-  IN CHAR16   *VariableName,
-  IN EFI_GUID *VendorGuid,
-  IN EFI_GUID *CertType,
+  IN CHAR16    *VariableName,
+  IN EFI_GUID  *VendorGuid,
+  IN EFI_GUID  *CertType,
   ...
   )
 {
-  UINTN            DataSize;
-  SINGLE_HEADER    *SingleHeader;
-  REPEATING_HEADER *RepeatingHeader;
-  VA_LIST          Marker;
-  CONST UINT8      *Cert;
-  EFI_STATUS       Status;
-  UINT8            *Data;
-  UINT8            *Position;
+  UINTN             DataSize;
+  SINGLE_HEADER     *SingleHeader;
+  REPEATING_HEADER  *RepeatingHeader;
+  VA_LIST           Marker;
+  CONST UINT8       *Cert;
+  EFI_STATUS        Status;
+  UINT8             *Data;
+  UINT8             *Position;
 
   Status = EFI_SUCCESS;
 
@@ -259,25 +282,30 @@ EnrollListOfCerts (
   VA_START (Marker, CertType);
   for (Cert = VA_ARG (Marker, CONST UINT8 *);
        Cert != NULL;
-       Cert = VA_ARG (Marker, CONST UINT8 *)) {
-    UINTN          CertSize;
+       Cert = VA_ARG (Marker, CONST UINT8 *))
+  {
+    UINTN  CertSize;
 
     CertSize = VA_ARG (Marker, UINTN);
     (VOID)VA_ARG (Marker, CONST EFI_GUID *);
 
-    if (CertSize == 0 ||
-        CertSize > MAX_UINT32 - sizeof *RepeatingHeader ||
-        DataSize > MAX_UINT32 - sizeof *RepeatingHeader - CertSize) {
+    if ((CertSize == 0) ||
+        (CertSize > MAX_UINT32 - sizeof *RepeatingHeader) ||
+        (DataSize > MAX_UINT32 - sizeof *RepeatingHeader - CertSize))
+    {
       Status = EFI_INVALID_PARAMETER;
       break;
     }
+
     DataSize += sizeof *RepeatingHeader + CertSize;
   }
+
   VA_END (Marker);
 
   if (DataSize == sizeof *SingleHeader) {
     Status = EFI_INVALID_PARAMETER;
   }
+
   if (EFI_ERROR (Status)) {
     goto Out;
   }
@@ -291,27 +319,28 @@ EnrollListOfCerts (
   Position = Data;
 
   SingleHeader = (SINGLE_HEADER *)Position;
-  Status = gRT->GetTime (&SingleHeader->TimeStamp, NULL);
+  Status       = gRT->GetTime (&SingleHeader->TimeStamp, NULL);
   if (EFI_ERROR (Status)) {
     goto FreeData;
   }
+
   SingleHeader->TimeStamp.Pad1       = 0;
   SingleHeader->TimeStamp.Nanosecond = 0;
   SingleHeader->TimeStamp.TimeZone   = 0;
   SingleHeader->TimeStamp.Daylight   = 0;
   SingleHeader->TimeStamp.Pad2       = 0;
-#if 0
-  SingleHeader->dwLength         = DataSize - sizeof SingleHeader->TimeStamp;
-#else
+ #if 0
+  SingleHeader->dwLength = DataSize - sizeof SingleHeader->TimeStamp;
+ #else
   //
   // This looks like a bug in edk2. According to the UEFI specification,
   // dwLength is "The length of the entire certificate, including the length of
   // the header, in bytes". That shouldn't stop right after CertType -- it
   // should include everything below it.
   //
-  SingleHeader->dwLength         = sizeof *SingleHeader
-                                     - sizeof SingleHeader->TimeStamp;
-#endif
+  SingleHeader->dwLength = sizeof *SingleHeader
+                           - sizeof SingleHeader->TimeStamp;
+ #endif
   SingleHeader->wRevision        = 0x0200;
   SingleHeader->wCertificateType = WIN_CERT_TYPE_EFI_GUID;
   CopyGuid (&SingleHeader->CertType, &gEfiCertPkcs7Guid);
@@ -320,16 +349,17 @@ EnrollListOfCerts (
   VA_START (Marker, CertType);
   for (Cert = VA_ARG (Marker, CONST UINT8 *);
        Cert != NULL;
-       Cert = VA_ARG (Marker, CONST UINT8 *)) {
-    UINTN            CertSize;
-    CONST EFI_GUID   *OwnerGuid;
+       Cert = VA_ARG (Marker, CONST UINT8 *))
+  {
+    UINTN           CertSize;
+    CONST EFI_GUID  *OwnerGuid;
 
     CertSize  = VA_ARG (Marker, UINTN);
     OwnerGuid = VA_ARG (Marker, CONST EFI_GUID *);
 
     RepeatingHeader = (REPEATING_HEADER *)Position;
     CopyGuid (&RepeatingHeader->SignatureType, CertType);
-    RepeatingHeader->SignatureListSize   =
+    RepeatingHeader->SignatureListSize =
       (UINT32)(sizeof *RepeatingHeader + CertSize);
     RepeatingHeader->SignatureHeaderSize = 0;
     RepeatingHeader->SignatureSize       =
@@ -340,29 +370,39 @@ EnrollListOfCerts (
     CopyMem (Position, Cert, CertSize);
     Position += CertSize;
   }
+
   VA_END (Marker);
 
   ASSERT (Data + DataSize == Position);
 
-  Status = gRT->SetVariable (VariableName, VendorGuid,
+  Status = gRT->SetVariable (
+                  VariableName,
+                  VendorGuid,
                   (EFI_VARIABLE_NON_VOLATILE |
                    EFI_VARIABLE_BOOTSERVICE_ACCESS |
                    EFI_VARIABLE_RUNTIME_ACCESS |
                    EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS),
-                  DataSize, Data);
+                  DataSize,
+                  Data
+                  );
 
 FreeData:
   FreePool (Data);
 
 Out:
   if (EFI_ERROR (Status)) {
-    AsciiPrint ("error: %a(\"%s\", %g): %r\n", __FUNCTION__, VariableName,
-      VendorGuid, Status);
+    AsciiPrint (
+      "error: %a(\"%s\", %g): %r\n",
+      __FUNCTION__,
+      VariableName,
+      VendorGuid,
+      Status
+      );
   }
+
   return Status;
 }
 
-
 /**
   Read a UEFI variable into a caller-allocated buffer, enforcing an exact size.
 
@@ -404,39 +444,48 @@ Out:
 STATIC
 EFI_STATUS
 GetExact (
-  IN CHAR16   *VariableName,
-  IN EFI_GUID *VendorGuid,
-  OUT VOID    *Data,
-  IN UINTN    DataSize,
-  IN BOOLEAN  AllowMissing
+  IN CHAR16    *VariableName,
+  IN EFI_GUID  *VendorGuid,
+  OUT VOID     *Data,
+  IN UINTN     DataSize,
+  IN BOOLEAN   AllowMissing
   )
 {
-  UINTN      Size;
-  EFI_STATUS Status;
+  UINTN       Size;
+  EFI_STATUS  Status;
 
-  Size = DataSize;
+  Size   = DataSize;
   Status = gRT->GetVariable (VariableName, VendorGuid, NULL, &Size, Data);
   if (EFI_ERROR (Status)) {
-    if (Status == EFI_NOT_FOUND && AllowMissing) {
+    if ((Status == EFI_NOT_FOUND) && AllowMissing) {
       ZeroMem (Data, DataSize);
       return EFI_SUCCESS;
     }
 
-    AsciiPrint ("error: GetVariable(\"%s\", %g): %r\n", VariableName,
-      VendorGuid, Status);
+    AsciiPrint (
+      "error: GetVariable(\"%s\", %g): %r\n",
+      VariableName,
+      VendorGuid,
+      Status
+      );
     return Status;
   }
 
   if (Size != DataSize) {
-    AsciiPrint ("error: GetVariable(\"%s\", %g): expected size 0x%Lx, "
-      "got 0x%Lx\n", VariableName, VendorGuid, (UINT64)DataSize, (UINT64)Size);
+    AsciiPrint (
+      "error: GetVariable(\"%s\", %g): expected size 0x%Lx, "
+      "got 0x%Lx\n",
+      VariableName,
+      VendorGuid,
+      (UINT64)DataSize,
+      (UINT64)Size
+      );
     return EFI_PROTOCOL_ERROR;
   }
 
   return EFI_SUCCESS;
 }
 
-
 /**
   Populate a SETTINGS structure from the underlying UEFI variables.
 
@@ -464,42 +513,65 @@ GetExact (
 STATIC
 EFI_STATUS
 GetSettings (
-  OUT SETTINGS *Settings
+  OUT SETTINGS  *Settings
   )
 {
-  EFI_STATUS Status;
+  EFI_STATUS  Status;
 
-  Status = GetExact (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid,
-             &Settings->SetupMode, sizeof Settings->SetupMode, FALSE);
+  Status = GetExact (
+             EFI_SETUP_MODE_NAME,
+             &gEfiGlobalVariableGuid,
+             &Settings->SetupMode,
+             sizeof Settings->SetupMode,
+             FALSE
+             );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Status = GetExact (EFI_SECURE_BOOT_MODE_NAME, &gEfiGlobalVariableGuid,
-             &Settings->SecureBoot, sizeof Settings->SecureBoot, FALSE);
+  Status = GetExact (
+             EFI_SECURE_BOOT_MODE_NAME,
+             &gEfiGlobalVariableGuid,
+             &Settings->SecureBoot,
+             sizeof Settings->SecureBoot,
+             FALSE
+             );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Status = GetExact (EFI_SECURE_BOOT_ENABLE_NAME,
-             &gEfiSecureBootEnableDisableGuid, &Settings->SecureBootEnable,
-             sizeof Settings->SecureBootEnable, TRUE);
+  Status = GetExact (
+             EFI_SECURE_BOOT_ENABLE_NAME,
+             &gEfiSecureBootEnableDisableGuid,
+             &Settings->SecureBootEnable,
+             sizeof Settings->SecureBootEnable,
+             TRUE
+             );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Status = GetExact (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-             &Settings->CustomMode, sizeof Settings->CustomMode, FALSE);
+  Status = GetExact (
+             EFI_CUSTOM_MODE_NAME,
+             &gEfiCustomModeEnableGuid,
+             &Settings->CustomMode,
+             sizeof Settings->CustomMode,
+             FALSE
+             );
   if (EFI_ERROR (Status)) {
     return Status;
   }
 
-  Status = GetExact (EFI_VENDOR_KEYS_VARIABLE_NAME, &gEfiGlobalVariableGuid,
-             &Settings->VendorKeys, sizeof Settings->VendorKeys, FALSE);
+  Status = GetExact (
+             EFI_VENDOR_KEYS_VARIABLE_NAME,
+             &gEfiGlobalVariableGuid,
+             &Settings->VendorKeys,
+             sizeof Settings->VendorKeys,
+             FALSE
+             );
   return Status;
 }
 
-
 /**
   Print the contents of a SETTINGS structure to the UEFI console.
 
@@ -508,33 +580,38 @@ GetSettings (
 STATIC
 VOID
 PrintSettings (
-  IN CONST SETTINGS *Settings
+  IN CONST SETTINGS  *Settings
   )
 {
-  AsciiPrint ("info: SetupMode=%d SecureBoot=%d SecureBootEnable=%d "
-    "CustomMode=%d VendorKeys=%d\n", Settings->SetupMode, Settings->SecureBoot,
-    Settings->SecureBootEnable, Settings->CustomMode, Settings->VendorKeys);
+  AsciiPrint (
+    "info: SetupMode=%d SecureBoot=%d SecureBootEnable=%d "
+    "CustomMode=%d VendorKeys=%d\n",
+    Settings->SetupMode,
+    Settings->SecureBoot,
+    Settings->SecureBootEnable,
+    Settings->CustomMode,
+    Settings->VendorKeys
+    );
 }
 
-
 /**
   Entry point function of this shell application.
 **/
 INTN
 EFIAPI
 ShellAppMain (
-  IN UINTN  Argc,
-  IN CHAR16 **Argv
+  IN UINTN   Argc,
+  IN CHAR16  **Argv
   )
 {
-  INTN       RetVal;
-  EFI_STATUS Status;
-  SETTINGS   Settings;
-  UINT8      *PkKek1;
-  UINTN      SizeOfPkKek1;
-  BOOLEAN    NoDefault;
-
-  if (Argc == 2 && StrCmp (Argv[1], L"--no-default") == 0) {
+  INTN        RetVal;
+  EFI_STATUS  Status;
+  SETTINGS    Settings;
+  UINT8       *PkKek1;
+  UINTN       SizeOfPkKek1;
+  BOOLEAN     NoDefault;
+
+  if ((Argc == 2) && (StrCmp (Argv[1], L"--no-default") == 0)) {
     NoDefault = TRUE;
   } else {
     NoDefault = FALSE;
@@ -552,6 +629,7 @@ ShellAppMain (
   if (EFI_ERROR (Status)) {
     return RetVal;
   }
+
   PrintSettings (&Settings);
 
   if (Settings.SetupMode != 1) {
@@ -563,7 +641,7 @@ ShellAppMain (
   // Set PkKek1 and SizeOfPkKek1 to suppress incorrect compiler/analyzer
   // warnings.
   //
-  PkKek1 = NULL;
+  PkKek1       = NULL;
   SizeOfPkKek1 = 0;
 
   //
@@ -581,13 +659,21 @@ ShellAppMain (
   //
   if (Settings.CustomMode != CUSTOM_SECURE_BOOT_MODE) {
     Settings.CustomMode = CUSTOM_SECURE_BOOT_MODE;
-    Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-                    (EFI_VARIABLE_NON_VOLATILE |
-                     EFI_VARIABLE_BOOTSERVICE_ACCESS),
-                    sizeof Settings.CustomMode, &Settings.CustomMode);
+    Status              = gRT->SetVariable (
+                                 EFI_CUSTOM_MODE_NAME,
+                                 &gEfiCustomModeEnableGuid,
+                                 (EFI_VARIABLE_NON_VOLATILE |
+                                  EFI_VARIABLE_BOOTSERVICE_ACCESS),
+                                 sizeof Settings.CustomMode,
+                                 &Settings.CustomMode
+                                 );
     if (EFI_ERROR (Status)) {
-      AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME,
-        &gEfiCustomModeEnableGuid, Status);
+      AsciiPrint (
+        "error: SetVariable(\"%s\", %g): %r\n",
+        EFI_CUSTOM_MODE_NAME,
+        &gEfiCustomModeEnableGuid,
+        Status
+        );
       goto FreePkKek1;
     }
   }
@@ -600,17 +686,26 @@ ShellAppMain (
                EFI_IMAGE_SECURITY_DATABASE,
                &gEfiImageSecurityDatabaseGuid,
                &gEfiCertX509Guid,
-               PkKek1, SizeOfPkKek1, &gEfiCallerIdGuid,
-               NULL);
+               PkKek1,
+               SizeOfPkKek1,
+               &gEfiCallerIdGuid,
+               NULL
+               );
   } else {
     Status = EnrollListOfCerts (
                EFI_IMAGE_SECURITY_DATABASE,
                &gEfiImageSecurityDatabaseGuid,
                &gEfiCertX509Guid,
-               mMicrosoftPca,    mSizeOfMicrosoftPca,    &gMicrosoftVendorGuid,
-               mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &gMicrosoftVendorGuid,
-               NULL);
+               mMicrosoftPca,
+               mSizeOfMicrosoftPca,
+               &gMicrosoftVendorGuid,
+               mMicrosoftUefiCa,
+               mSizeOfMicrosoftUefiCa,
+               &gMicrosoftVendorGuid,
+               NULL
+               );
   }
+
   if (EFI_ERROR (Status)) {
     goto FreePkKek1;
   }
@@ -622,8 +717,11 @@ ShellAppMain (
              EFI_IMAGE_SECURITY_DATABASE1,
              &gEfiImageSecurityDatabaseGuid,
              &gEfiCertSha256Guid,
-             mSha256OfDevNull, mSizeOfSha256OfDevNull, &gEfiCallerIdGuid,
-             NULL);
+             mSha256OfDevNull,
+             mSizeOfSha256OfDevNull,
+             &gEfiCallerIdGuid,
+             NULL
+             );
   if (EFI_ERROR (Status)) {
     goto FreePkKek1;
   }
@@ -636,17 +734,26 @@ ShellAppMain (
                EFI_KEY_EXCHANGE_KEY_NAME,
                &gEfiGlobalVariableGuid,
                &gEfiCertX509Guid,
-               PkKek1, SizeOfPkKek1, &gEfiCallerIdGuid,
-               NULL);
+               PkKek1,
+               SizeOfPkKek1,
+               &gEfiCallerIdGuid,
+               NULL
+               );
   } else {
     Status = EnrollListOfCerts (
                EFI_KEY_EXCHANGE_KEY_NAME,
                &gEfiGlobalVariableGuid,
                &gEfiCertX509Guid,
-               PkKek1,        SizeOfPkKek1,        &gEfiCallerIdGuid,
-               mMicrosoftKek, mSizeOfMicrosoftKek, &gMicrosoftVendorGuid,
-               NULL);
+               PkKek1,
+               SizeOfPkKek1,
+               &gEfiCallerIdGuid,
+               mMicrosoftKek,
+               mSizeOfMicrosoftKek,
+               &gMicrosoftVendorGuid,
+               NULL
+               );
   }
+
   if (EFI_ERROR (Status)) {
     goto FreePkKek1;
   }
@@ -658,8 +765,11 @@ ShellAppMain (
              EFI_PLATFORM_KEY_NAME,
              &gEfiGlobalVariableGuid,
              &gEfiCertX509Guid,
-             PkKek1, SizeOfPkKek1, &gEfiGlobalVariableGuid,
-             NULL);
+             PkKek1,
+             SizeOfPkKek1,
+             &gEfiGlobalVariableGuid,
+             NULL
+             );
   if (EFI_ERROR (Status)) {
     goto FreePkKek1;
   }
@@ -669,12 +779,20 @@ ShellAppMain (
   // signatures.
   //
   Settings.CustomMode = STANDARD_SECURE_BOOT_MODE;
-  Status = gRT->SetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid,
-                  EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
-                  sizeof Settings.CustomMode, &Settings.CustomMode);
+  Status              = gRT->SetVariable (
+                               EFI_CUSTOM_MODE_NAME,
+                               &gEfiCustomModeEnableGuid,
+                               EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,
+                               sizeof Settings.CustomMode,
+                               &Settings.CustomMode
+                               );
   if (EFI_ERROR (Status)) {
-    AsciiPrint ("error: SetVariable(\"%s\", %g): %r\n", EFI_CUSTOM_MODE_NAME,
-      &gEfiCustomModeEnableGuid, Status);
+    AsciiPrint (
+      "error: SetVariable(\"%s\", %g): %r\n",
+      EFI_CUSTOM_MODE_NAME,
+      &gEfiCustomModeEnableGuid,
+      Status
+      );
     goto FreePkKek1;
   }
 
@@ -713,11 +831,13 @@ ShellAppMain (
   if (EFI_ERROR (Status)) {
     goto FreePkKek1;
   }
+
   PrintSettings (&Settings);
 
-  if (Settings.SetupMode != 0 || Settings.SecureBoot != 1 ||
-      Settings.SecureBootEnable != 1 || Settings.CustomMode != 0 ||
-      Settings.VendorKeys != 0) {
+  if ((Settings.SetupMode != 0) || (Settings.SecureBoot != 1) ||
+      (Settings.SecureBootEnable != 1) || (Settings.CustomMode != 0) ||
+      (Settings.VendorKeys != 0))
+  {
     AsciiPrint ("error: unexpected\n");
     goto FreePkKek1;
   }

+ 23 - 25
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h

@@ -75,30 +75,30 @@
 //
 #pragma pack (1)
 typedef struct {
-  EFI_TIME TimeStamp;
+  EFI_TIME    TimeStamp;
 
   //
   // dwLength covers data below
   //
-  UINT32   dwLength;
-  UINT16   wRevision;
-  UINT16   wCertificateType;
-  EFI_GUID CertType;
+  UINT32      dwLength;
+  UINT16      wRevision;
+  UINT16      wCertificateType;
+  EFI_GUID    CertType;
 } SINGLE_HEADER;
 
 typedef struct {
   //
   // SignatureListSize covers data below
   //
-  EFI_GUID SignatureType;
-  UINT32   SignatureListSize;
-  UINT32   SignatureHeaderSize; // constant 0
-  UINT32   SignatureSize;
+  EFI_GUID    SignatureType;
+  UINT32      SignatureListSize;
+  UINT32      SignatureHeaderSize; // constant 0
+  UINT32      SignatureSize;
 
   //
   // SignatureSize covers data below
   //
-  EFI_GUID SignatureOwner;
+  EFI_GUID    SignatureOwner;
 
   //
   // X.509 certificate follows
@@ -106,33 +106,31 @@ typedef struct {
 } REPEATING_HEADER;
 #pragma pack ()
 
-
 //
 // A structure that collects the values of UEFI variables related to Secure
 // Boot.
 //
 typedef struct {
-  UINT8 SetupMode;
-  UINT8 SecureBoot;
-  UINT8 SecureBootEnable;
-  UINT8 CustomMode;
-  UINT8 VendorKeys;
+  UINT8    SetupMode;
+  UINT8    SecureBoot;
+  UINT8    SecureBootEnable;
+  UINT8    CustomMode;
+  UINT8    VendorKeys;
 } SETTINGS;
 
-
 //
 // Refer to "AuthData.c" for details on the following objects.
 //
-extern CONST UINT8 mMicrosoftKek[];
-extern CONST UINTN mSizeOfMicrosoftKek;
+extern CONST UINT8  mMicrosoftKek[];
+extern CONST UINTN  mSizeOfMicrosoftKek;
 
-extern CONST UINT8 mMicrosoftPca[];
-extern CONST UINTN mSizeOfMicrosoftPca;
+extern CONST UINT8  mMicrosoftPca[];
+extern CONST UINTN  mSizeOfMicrosoftPca;
 
-extern CONST UINT8 mMicrosoftUefiCa[];
-extern CONST UINTN mSizeOfMicrosoftUefiCa;
+extern CONST UINT8  mMicrosoftUefiCa[];
+extern CONST UINTN  mSizeOfMicrosoftUefiCa;
 
-extern CONST UINT8 mSha256OfDevNull[];
-extern CONST UINTN mSizeOfSha256OfDevNull;
+extern CONST UINT8  mSha256OfDevNull[];
+extern CONST UINTN  mSizeOfSha256OfDevNull;
 
 #endif /* ENROLL_DEFAULT_KEYS_H_ */

+ 253 - 169
OvmfPkg/Fdt/FdtPciHostBridgeLib/FdtPciHostBridgeLib.c

@@ -27,103 +27,124 @@
 //
 #pragma pack (1)
 typedef struct {
-  UINT32 Type;
-  UINT64 ChildBase;
-  UINT64 CpuBase;
-  UINT64 Size;
+  UINT32    Type;
+  UINT64    ChildBase;
+  UINT64    CpuBase;
+  UINT64    Size;
 } DTB_PCI_HOST_RANGE_RECORD;
 #pragma pack ()
 
-#define DTB_PCI_HOST_RANGE_RELOCATABLE  BIT31
-#define DTB_PCI_HOST_RANGE_PREFETCHABLE BIT30
-#define DTB_PCI_HOST_RANGE_ALIASED      BIT29
-#define DTB_PCI_HOST_RANGE_MMIO32       BIT25
-#define DTB_PCI_HOST_RANGE_MMIO64       (BIT25 | BIT24)
-#define DTB_PCI_HOST_RANGE_IO           BIT24
-#define DTB_PCI_HOST_RANGE_TYPEMASK     (BIT31 | BIT30 | BIT29 | BIT25 | BIT24)
+#define DTB_PCI_HOST_RANGE_RELOCATABLE   BIT31
+#define DTB_PCI_HOST_RANGE_PREFETCHABLE  BIT30
+#define DTB_PCI_HOST_RANGE_ALIASED       BIT29
+#define DTB_PCI_HOST_RANGE_MMIO32        BIT25
+#define DTB_PCI_HOST_RANGE_MMIO64        (BIT25 | BIT24)
+#define DTB_PCI_HOST_RANGE_IO            BIT24
+#define DTB_PCI_HOST_RANGE_TYPEMASK      (BIT31 | BIT30 | BIT29 | BIT25 | BIT24)
 
 STATIC
 EFI_STATUS
 MapGcdMmioSpace (
-  IN    UINT64    Base,
-  IN    UINT64    Size
+  IN    UINT64  Base,
+  IN    UINT64  Size
   )
 {
-  EFI_STATUS    Status;
-
-  Status = gDS->AddMemorySpace (EfiGcdMemoryTypeMemoryMappedIo, Base, Size,
-                  EFI_MEMORY_UC);
+  EFI_STATUS  Status;
+
+  Status = gDS->AddMemorySpace (
+                  EfiGcdMemoryTypeMemoryMappedIo,
+                  Base,
+                  Size,
+                  EFI_MEMORY_UC
+                  );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR,
+    DEBUG ((
+      DEBUG_ERROR,
       "%a: failed to add GCD memory space for region [0x%Lx+0x%Lx)\n",
-      __FUNCTION__, Base, Size));
+      __FUNCTION__,
+      Base,
+      Size
+      ));
     return Status;
   }
 
   Status = gDS->SetMemorySpaceAttributes (Base, Size, EFI_MEMORY_UC);
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR,
+    DEBUG ((
+      DEBUG_ERROR,
       "%a: failed to set memory space attributes for region [0x%Lx+0x%Lx)\n",
-      __FUNCTION__, Base, Size));
+      __FUNCTION__,
+      Base,
+      Size
+      ));
   }
+
   return Status;
 }
 
 STATIC
 EFI_STATUS
 ProcessPciHost (
-  OUT  UINT64    *IoBase,
-  OUT  UINT64    *IoSize,
-  OUT  UINT64    *Mmio32Base,
-  OUT  UINT64    *Mmio32Size,
-  OUT  UINT64    *Mmio64Base,
-  OUT  UINT64    *Mmio64Size,
-  OUT  UINT32    *BusMin,
-  OUT  UINT32    *BusMax
+  OUT  UINT64  *IoBase,
+  OUT  UINT64  *IoSize,
+  OUT  UINT64  *Mmio32Base,
+  OUT  UINT64  *Mmio32Size,
+  OUT  UINT64  *Mmio64Base,
+  OUT  UINT64  *Mmio64Size,
+  OUT  UINT32  *BusMin,
+  OUT  UINT32  *BusMax
   )
 {
-  FDT_CLIENT_PROTOCOL         *FdtClient;
-  INT32                       Node;
-  UINT64                      ConfigBase, ConfigSize;
-  CONST VOID                  *Prop;
-  UINT32                      Len;
-  UINT32                      RecordIdx;
-  EFI_STATUS                  Status;
-  UINT64                      IoTranslation;
-  UINT64                      Mmio32Translation;
-  UINT64                      Mmio64Translation;
+  FDT_CLIENT_PROTOCOL  *FdtClient;
+  INT32                Node;
+  UINT64               ConfigBase, ConfigSize;
+  CONST VOID           *Prop;
+  UINT32               Len;
+  UINT32               RecordIdx;
+  EFI_STATUS           Status;
+  UINT64               IoTranslation;
+  UINT64               Mmio32Translation;
+  UINT64               Mmio64Translation;
 
   //
   // The following output arguments are initialized only in
   // order to suppress '-Werror=maybe-uninitialized' warnings
   // *incorrectly* emitted by some gcc versions.
   //
-  *IoBase = 0;
+  *IoBase     = 0;
   *Mmio32Base = 0;
   *Mmio64Base = MAX_UINT64;
-  *BusMin = 0;
-  *BusMax = 0;
+  *BusMin     = 0;
+  *BusMax     = 0;
 
   //
   // *IoSize, *Mmio##Size and IoTranslation are initialized to zero because the
   // logic below requires it. However, since they are also affected by the issue
   // reported above, they are initialized early.
   //
-  *IoSize = 0;
-  *Mmio32Size = 0;
-  *Mmio64Size = 0;
+  *IoSize       = 0;
+  *Mmio32Size   = 0;
+  *Mmio64Size   = 0;
   IoTranslation = 0;
 
-  Status = gBS->LocateProtocol (&gFdtClientProtocolGuid, NULL,
-                  (VOID **)&FdtClient);
+  Status = gBS->LocateProtocol (
+                  &gFdtClientProtocolGuid,
+                  NULL,
+                  (VOID **)&FdtClient
+                  );
   ASSERT_EFI_ERROR (Status);
 
-  Status = FdtClient->FindCompatibleNode (FdtClient, "pci-host-ecam-generic",
-                        &Node);
+  Status = FdtClient->FindCompatibleNode (
+                        FdtClient,
+                        "pci-host-ecam-generic",
+                        &Node
+                        );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_INFO,
+    DEBUG ((
+      DEBUG_INFO,
       "%a: No 'pci-host-ecam-generic' compatible DT node found\n",
-      __FUNCTION__));
+      __FUNCTION__
+      ));
     return EFI_NOT_FOUND;
   }
 
@@ -134,15 +155,22 @@ ProcessPciHost (
     // A DT can legally describe multiple PCI host bridges, but we are not
     // equipped to deal with that. So assert that there is only one.
     //
-    Status = FdtClient->FindNextCompatibleNode (FdtClient,
-                          "pci-host-ecam-generic", Node, &Tmp);
+    Status = FdtClient->FindNextCompatibleNode (
+                          FdtClient,
+                          "pci-host-ecam-generic",
+                          Node,
+                          &Tmp
+                          );
     ASSERT (Status == EFI_NOT_FOUND);
-  );
+    );
 
   Status = FdtClient->GetNodeProperty (FdtClient, Node, "reg", &Prop, &Len);
-  if (EFI_ERROR (Status) || Len != 2 * sizeof (UINT64)) {
-    DEBUG ((DEBUG_ERROR, "%a: 'reg' property not found or invalid\n",
-      __FUNCTION__));
+  if (EFI_ERROR (Status) || (Len != 2 * sizeof (UINT64))) {
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: 'reg' property not found or invalid\n",
+      __FUNCTION__
+      ));
     return EFI_PROTOCOL_ERROR;
   }
 
@@ -155,13 +183,22 @@ ProcessPciHost (
   //
   // Fetch the bus range (note: inclusive).
   //
-  Status = FdtClient->GetNodeProperty (FdtClient, Node, "bus-range", &Prop,
-                        &Len);
-  if (EFI_ERROR (Status) || Len != 2 * sizeof (UINT32)) {
-    DEBUG ((DEBUG_ERROR, "%a: 'bus-range' not found or invalid\n",
-      __FUNCTION__));
+  Status = FdtClient->GetNodeProperty (
+                        FdtClient,
+                        Node,
+                        "bus-range",
+                        &Prop,
+                        &Len
+                        );
+  if (EFI_ERROR (Status) || (Len != 2 * sizeof (UINT32))) {
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: 'bus-range' not found or invalid\n",
+      __FUNCTION__
+      ));
     return EFI_PROTOCOL_ERROR;
   }
+
   *BusMin = SwapBytes32 (((CONST UINT32 *)Prop)[0]);
   *BusMax = SwapBytes32 (((CONST UINT32 *)Prop)[1]);
 
@@ -169,10 +206,14 @@ ProcessPciHost (
   // Sanity check: the config space must accommodate all 4K register bytes of
   // all 8 functions of all 32 devices of all buses.
   //
-  if (*BusMax < *BusMin || *BusMax - *BusMin == MAX_UINT32 ||
-      DivU64x32 (ConfigSize, SIZE_4KB * 8 * 32) < *BusMax - *BusMin + 1) {
-    DEBUG ((DEBUG_ERROR, "%a: invalid 'bus-range' and/or 'reg'\n",
-      __FUNCTION__));
+  if ((*BusMax < *BusMin) || (*BusMax - *BusMin == MAX_UINT32) ||
+      (DivU64x32 (ConfigSize, SIZE_4KB * 8 * 32) < *BusMax - *BusMin + 1))
+  {
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: invalid 'bus-range' and/or 'reg'\n",
+      __FUNCTION__
+      ));
     return EFI_PROTOCOL_ERROR;
   }
 
@@ -180,66 +221,84 @@ ProcessPciHost (
   // Iterate over "ranges".
   //
   Status = FdtClient->GetNodeProperty (FdtClient, Node, "ranges", &Prop, &Len);
-  if (EFI_ERROR (Status) || Len == 0 ||
-      Len % sizeof (DTB_PCI_HOST_RANGE_RECORD) != 0) {
+  if (EFI_ERROR (Status) || (Len == 0) ||
+      (Len % sizeof (DTB_PCI_HOST_RANGE_RECORD) != 0))
+  {
     DEBUG ((DEBUG_ERROR, "%a: 'ranges' not found or invalid\n", __FUNCTION__));
     return EFI_PROTOCOL_ERROR;
   }
 
   for (RecordIdx = 0; RecordIdx < Len / sizeof (DTB_PCI_HOST_RANGE_RECORD);
-       ++RecordIdx) {
-    CONST DTB_PCI_HOST_RANGE_RECORD *Record;
+       ++RecordIdx)
+  {
+    CONST DTB_PCI_HOST_RANGE_RECORD  *Record;
 
     Record = (CONST DTB_PCI_HOST_RANGE_RECORD *)Prop + RecordIdx;
     switch (SwapBytes32 (Record->Type) & DTB_PCI_HOST_RANGE_TYPEMASK) {
-    case DTB_PCI_HOST_RANGE_IO:
-      *IoBase = SwapBytes64 (Record->ChildBase);
-      *IoSize = SwapBytes64 (Record->Size);
-      IoTranslation = SwapBytes64 (Record->CpuBase) - *IoBase;
-
-      ASSERT (PcdGet64 (PcdPciIoTranslation) == IoTranslation);
-      break;
-
-    case DTB_PCI_HOST_RANGE_MMIO32:
-      *Mmio32Base = SwapBytes64 (Record->ChildBase);
-      *Mmio32Size = SwapBytes64 (Record->Size);
-      Mmio32Translation = SwapBytes64 (Record->CpuBase) - *Mmio32Base;
-
-      if (*Mmio32Base > MAX_UINT32 || *Mmio32Size > MAX_UINT32 ||
-          *Mmio32Base + *Mmio32Size > SIZE_4GB) {
-        DEBUG ((DEBUG_ERROR, "%a: MMIO32 space invalid\n", __FUNCTION__));
-        return EFI_PROTOCOL_ERROR;
-      }
-
-      ASSERT (PcdGet64 (PcdPciMmio32Translation) == Mmio32Translation);
-
-      if (Mmio32Translation != 0) {
-        DEBUG ((DEBUG_ERROR, "%a: unsupported nonzero MMIO32 translation "
-          "0x%Lx\n", __FUNCTION__, Mmio32Translation));
-        return EFI_UNSUPPORTED;
-      }
-
-      break;
-
-    case DTB_PCI_HOST_RANGE_MMIO64:
-      *Mmio64Base = SwapBytes64 (Record->ChildBase);
-      *Mmio64Size = SwapBytes64 (Record->Size);
-      Mmio64Translation = SwapBytes64 (Record->CpuBase) - *Mmio64Base;
-
-      ASSERT (PcdGet64 (PcdPciMmio64Translation) == Mmio64Translation);
-
-      if (Mmio64Translation != 0) {
-        DEBUG ((DEBUG_ERROR, "%a: unsupported nonzero MMIO64 translation "
-          "0x%Lx\n", __FUNCTION__, Mmio64Translation));
-        return EFI_UNSUPPORTED;
-      }
-
-      break;
+      case DTB_PCI_HOST_RANGE_IO:
+        *IoBase       = SwapBytes64 (Record->ChildBase);
+        *IoSize       = SwapBytes64 (Record->Size);
+        IoTranslation = SwapBytes64 (Record->CpuBase) - *IoBase;
+
+        ASSERT (PcdGet64 (PcdPciIoTranslation) == IoTranslation);
+        break;
+
+      case DTB_PCI_HOST_RANGE_MMIO32:
+        *Mmio32Base       = SwapBytes64 (Record->ChildBase);
+        *Mmio32Size       = SwapBytes64 (Record->Size);
+        Mmio32Translation = SwapBytes64 (Record->CpuBase) - *Mmio32Base;
+
+        if ((*Mmio32Base > MAX_UINT32) || (*Mmio32Size > MAX_UINT32) ||
+            (*Mmio32Base + *Mmio32Size > SIZE_4GB))
+        {
+          DEBUG ((DEBUG_ERROR, "%a: MMIO32 space invalid\n", __FUNCTION__));
+          return EFI_PROTOCOL_ERROR;
+        }
+
+        ASSERT (PcdGet64 (PcdPciMmio32Translation) == Mmio32Translation);
+
+        if (Mmio32Translation != 0) {
+          DEBUG ((
+            DEBUG_ERROR,
+            "%a: unsupported nonzero MMIO32 translation "
+            "0x%Lx\n",
+            __FUNCTION__,
+            Mmio32Translation
+            ));
+          return EFI_UNSUPPORTED;
+        }
+
+        break;
+
+      case DTB_PCI_HOST_RANGE_MMIO64:
+        *Mmio64Base       = SwapBytes64 (Record->ChildBase);
+        *Mmio64Size       = SwapBytes64 (Record->Size);
+        Mmio64Translation = SwapBytes64 (Record->CpuBase) - *Mmio64Base;
+
+        ASSERT (PcdGet64 (PcdPciMmio64Translation) == Mmio64Translation);
+
+        if (Mmio64Translation != 0) {
+          DEBUG ((
+            DEBUG_ERROR,
+            "%a: unsupported nonzero MMIO64 translation "
+            "0x%Lx\n",
+            __FUNCTION__,
+            Mmio64Translation
+            ));
+          return EFI_UNSUPPORTED;
+        }
+
+        break;
     }
   }
-  if (*IoSize == 0 || *Mmio32Size == 0) {
-    DEBUG ((DEBUG_ERROR, "%a: %a space empty\n", __FUNCTION__,
-      (*IoSize == 0) ? "IO" : "MMIO32"));
+
+  if ((*IoSize == 0) || (*Mmio32Size == 0)) {
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: %a space empty\n",
+      __FUNCTION__,
+      (*IoSize == 0) ? "IO" : "MMIO32"
+      ));
     return EFI_PROTOCOL_ERROR;
   }
 
@@ -249,10 +308,23 @@ ProcessPciHost (
   //
   ASSERT (PcdGet64 (PcdPciExpressBaseAddress) == ConfigBase);
 
-  DEBUG ((DEBUG_INFO, "%a: Config[0x%Lx+0x%Lx) Bus[0x%x..0x%x] "
+  DEBUG ((
+    DEBUG_INFO,
+    "%a: Config[0x%Lx+0x%Lx) Bus[0x%x..0x%x] "
     "Io[0x%Lx+0x%Lx)@0x%Lx Mem32[0x%Lx+0x%Lx)@0x0 Mem64[0x%Lx+0x%Lx)@0x0\n",
-    __FUNCTION__, ConfigBase, ConfigSize, *BusMin, *BusMax, *IoBase, *IoSize,
-    IoTranslation, *Mmio32Base, *Mmio32Size, *Mmio64Base, *Mmio64Size));
+    __FUNCTION__,
+    ConfigBase,
+    ConfigSize,
+    *BusMin,
+    *BusMax,
+    *IoBase,
+    *IoSize,
+    IoTranslation,
+    *Mmio32Base,
+    *Mmio32Size,
+    *Mmio64Base,
+    *Mmio64Size
+    ));
 
   // Map the ECAM space in the GCD memory map
   Status = MapGcdMmioSpace (ConfigBase, ConfigSize);
@@ -284,21 +356,21 @@ ProcessPciHost (
 PCI_ROOT_BRIDGE *
 EFIAPI
 PciHostBridgeGetRootBridges (
-  UINTN *Count
+  UINTN  *Count
   )
 {
-  UINT64                   IoBase, IoSize;
-  UINT64                   Mmio32Base, Mmio32Size;
-  UINT64                   Mmio64Base, Mmio64Size;
-  UINT32                   BusMin, BusMax;
-  EFI_STATUS               Status;
-  UINT64                   Attributes;
-  UINT64                   AllocationAttributes;
-  PCI_ROOT_BRIDGE_APERTURE Io;
-  PCI_ROOT_BRIDGE_APERTURE Mem;
-  PCI_ROOT_BRIDGE_APERTURE MemAbove4G;
-  PCI_ROOT_BRIDGE_APERTURE PMem;
-  PCI_ROOT_BRIDGE_APERTURE PMemAbove4G;
+  UINT64                    IoBase, IoSize;
+  UINT64                    Mmio32Base, Mmio32Size;
+  UINT64                    Mmio64Base, Mmio64Size;
+  UINT32                    BusMin, BusMax;
+  EFI_STATUS                Status;
+  UINT64                    Attributes;
+  UINT64                    AllocationAttributes;
+  PCI_ROOT_BRIDGE_APERTURE  Io;
+  PCI_ROOT_BRIDGE_APERTURE  Mem;
+  PCI_ROOT_BRIDGE_APERTURE  MemAbove4G;
+  PCI_ROOT_BRIDGE_APERTURE  PMem;
+  PCI_ROOT_BRIDGE_APERTURE  PMemAbove4G;
 
   if (PcdGet64 (PcdPciExpressBaseAddress) == 0) {
     DEBUG ((DEBUG_INFO, "%a: PCI host bridge not present\n", __FUNCTION__));
@@ -307,11 +379,23 @@ PciHostBridgeGetRootBridges (
     return NULL;
   }
 
-  Status = ProcessPciHost (&IoBase, &IoSize, &Mmio32Base, &Mmio32Size,
-             &Mmio64Base, &Mmio64Size, &BusMin, &BusMax);
+  Status = ProcessPciHost (
+             &IoBase,
+             &IoSize,
+             &Mmio32Base,
+             &Mmio32Size,
+             &Mmio64Base,
+             &Mmio64Size,
+             &BusMin,
+             &BusMax
+             );
   if (EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_ERROR, "%a: failed to discover PCI host bridge: %r\n",
-      __FUNCTION__, Status));
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: failed to discover PCI host bridge: %r\n",
+      __FUNCTION__,
+      Status
+      ));
     *Count = 0;
     return NULL;
   }
@@ -322,21 +406,21 @@ PciHostBridgeGetRootBridges (
   ZeroMem (&PMem, sizeof (PMem));
   ZeroMem (&PMemAbove4G, sizeof (PMemAbove4G));
 
-  Attributes           = EFI_PCI_ATTRIBUTE_ISA_IO_16 |
-                         EFI_PCI_ATTRIBUTE_ISA_MOTHERBOARD_IO |
-                         EFI_PCI_ATTRIBUTE_VGA_IO_16  |
-                         EFI_PCI_ATTRIBUTE_VGA_PALETTE_IO_16;
+  Attributes = EFI_PCI_ATTRIBUTE_ISA_IO_16 |
+               EFI_PCI_ATTRIBUTE_ISA_MOTHERBOARD_IO |
+               EFI_PCI_ATTRIBUTE_VGA_IO_16  |
+               EFI_PCI_ATTRIBUTE_VGA_PALETTE_IO_16;
 
   AllocationAttributes = EFI_PCI_HOST_BRIDGE_COMBINE_MEM_PMEM;
 
-  Io.Base              = IoBase;
-  Io.Limit             = IoBase + IoSize - 1;
-  Mem.Base             = Mmio32Base;
-  Mem.Limit            = Mmio32Base + Mmio32Size - 1;
+  Io.Base   = IoBase;
+  Io.Limit  = IoBase + IoSize - 1;
+  Mem.Base  = Mmio32Base;
+  Mem.Limit = Mmio32Base + Mmio32Size - 1;
 
   if (sizeof (UINTN) == sizeof (UINT64)) {
-    MemAbove4G.Base    = Mmio64Base;
-    MemAbove4G.Limit   = Mmio64Base + Mmio64Size - 1;
+    MemAbove4G.Base  = Mmio64Base;
+    MemAbove4G.Limit = Mmio64Base + Mmio64Size - 1;
     if (Mmio64Size > 0) {
       AllocationAttributes |= EFI_PCI_HOST_BRIDGE_MEM64_DECODE;
     }
@@ -347,32 +431,32 @@ PciHostBridgeGetRootBridges (
     // BARs unless they are allocated below 4 GB. So ignore the range above
     // 4 GB in this case.
     //
-    MemAbove4G.Base    = MAX_UINT64;
-    MemAbove4G.Limit   = 0;
+    MemAbove4G.Base  = MAX_UINT64;
+    MemAbove4G.Limit = 0;
   }
 
   //
   // No separate ranges for prefetchable and non-prefetchable BARs
   //
-  PMem.Base            = MAX_UINT64;
-  PMem.Limit           = 0;
-  PMemAbove4G.Base     = MAX_UINT64;
-  PMemAbove4G.Limit    = 0;
+  PMem.Base         = MAX_UINT64;
+  PMem.Limit        = 0;
+  PMemAbove4G.Base  = MAX_UINT64;
+  PMemAbove4G.Limit = 0;
 
   return PciHostBridgeUtilityGetRootBridges (
-    Count,
-    Attributes,
-    AllocationAttributes,
-    TRUE,
-    FALSE,
-    BusMin,
-    BusMax,
-    &Io,
-    &Mem,
-    &MemAbove4G,
-    &PMem,
-    &PMemAbove4G
-    );
+           Count,
+           Attributes,
+           AllocationAttributes,
+           TRUE,
+           FALSE,
+           BusMin,
+           BusMax,
+           &Io,
+           &Mem,
+           &MemAbove4G,
+           &PMem,
+           &PMemAbove4G
+           );
 }
 
 /**
@@ -385,8 +469,8 @@ PciHostBridgeGetRootBridges (
 VOID
 EFIAPI
 PciHostBridgeFreeRootBridges (
-  PCI_ROOT_BRIDGE *Bridges,
-  UINTN           Count
+  PCI_ROOT_BRIDGE  *Bridges,
+  UINTN            Count
   )
 {
   PciHostBridgeUtilityFreeRootBridges (Bridges, Count);
@@ -409,8 +493,8 @@ PciHostBridgeFreeRootBridges (
 VOID
 EFIAPI
 PciHostBridgeResourceConflict (
-  EFI_HANDLE                        HostBridgeHandle,
-  VOID                              *Configuration
+  EFI_HANDLE  HostBridgeHandle,
+  VOID        *Configuration
   )
 {
   PciHostBridgeUtilityResourceConflict (Configuration);

+ 64 - 48
OvmfPkg/Fdt/FdtPciPcdProducerLib/FdtPciPcdProducerLib.c

@@ -22,59 +22,62 @@
 //
 #pragma pack (1)
 typedef struct {
-  UINT32 Type;
-  UINT64 ChildBase;
-  UINT64 CpuBase;
-  UINT64 Size;
+  UINT32    Type;
+  UINT64    ChildBase;
+  UINT64    CpuBase;
+  UINT64    Size;
 } DTB_PCI_HOST_RANGE_RECORD;
 #pragma pack ()
 
-#define DTB_PCI_HOST_RANGE_RELOCATABLE  BIT31
-#define DTB_PCI_HOST_RANGE_PREFETCHABLE BIT30
-#define DTB_PCI_HOST_RANGE_ALIASED      BIT29
-#define DTB_PCI_HOST_RANGE_MMIO32       BIT25
-#define DTB_PCI_HOST_RANGE_MMIO64       (BIT25 | BIT24)
-#define DTB_PCI_HOST_RANGE_IO           BIT24
-#define DTB_PCI_HOST_RANGE_TYPEMASK     (BIT31 | BIT30 | BIT29 | BIT25 | BIT24)
+#define DTB_PCI_HOST_RANGE_RELOCATABLE   BIT31
+#define DTB_PCI_HOST_RANGE_PREFETCHABLE  BIT30
+#define DTB_PCI_HOST_RANGE_ALIASED       BIT29
+#define DTB_PCI_HOST_RANGE_MMIO32        BIT25
+#define DTB_PCI_HOST_RANGE_MMIO64        (BIT25 | BIT24)
+#define DTB_PCI_HOST_RANGE_IO            BIT24
+#define DTB_PCI_HOST_RANGE_TYPEMASK      (BIT31 | BIT30 | BIT29 | BIT25 | BIT24)
 
 STATIC
 RETURN_STATUS
 GetPciIoTranslation (
-  IN  FDT_CLIENT_PROTOCOL *FdtClient,
-  IN  INT32               Node,
-  OUT UINT64              *IoTranslation
+  IN  FDT_CLIENT_PROTOCOL  *FdtClient,
+  IN  INT32                Node,
+  OUT UINT64               *IoTranslation
   )
 {
-  UINT32        RecordIdx;
-  CONST VOID    *Prop;
-  UINT32        Len;
-  EFI_STATUS    Status;
-  UINT64        IoBase;
+  UINT32      RecordIdx;
+  CONST VOID  *Prop;
+  UINT32      Len;
+  EFI_STATUS  Status;
+  UINT64      IoBase;
 
   //
   // Iterate over "ranges".
   //
   Status = FdtClient->GetNodeProperty (FdtClient, Node, "ranges", &Prop, &Len);
-  if (EFI_ERROR (Status) || Len == 0 ||
-      Len % sizeof (DTB_PCI_HOST_RANGE_RECORD) != 0) {
+  if (EFI_ERROR (Status) || (Len == 0) ||
+      (Len % sizeof (DTB_PCI_HOST_RANGE_RECORD) != 0))
+  {
     DEBUG ((DEBUG_ERROR, "%a: 'ranges' not found or invalid\n", __FUNCTION__));
     return RETURN_PROTOCOL_ERROR;
   }
 
   for (RecordIdx = 0; RecordIdx < Len / sizeof (DTB_PCI_HOST_RANGE_RECORD);
-       ++RecordIdx) {
-    CONST DTB_PCI_HOST_RANGE_RECORD *Record;
-    UINT32                          Type;
+       ++RecordIdx)
+  {
+    CONST DTB_PCI_HOST_RANGE_RECORD  *Record;
+    UINT32                           Type;
 
     Record = (CONST DTB_PCI_HOST_RANGE_RECORD *)Prop + RecordIdx;
-    Type = SwapBytes32 (Record->Type) & DTB_PCI_HOST_RANGE_TYPEMASK;
+    Type   = SwapBytes32 (Record->Type) & DTB_PCI_HOST_RANGE_TYPEMASK;
     if (Type == DTB_PCI_HOST_RANGE_IO) {
-      IoBase = SwapBytes64 (Record->ChildBase);
+      IoBase         = SwapBytes64 (Record->ChildBase);
       *IoTranslation = SwapBytes64 (Record->CpuBase) - IoBase;
 
       return RETURN_SUCCESS;
     }
   }
+
   return RETURN_NOT_FOUND;
 }
 
@@ -84,15 +87,15 @@ FdtPciPcdProducerLibConstructor (
   VOID
   )
 {
-  UINT64              PciExpressBaseAddress;
-  FDT_CLIENT_PROTOCOL *FdtClient;
-  CONST UINT64        *Reg;
-  UINT32              RegSize;
-  EFI_STATUS          Status;
-  INT32               Node;
-  RETURN_STATUS       RetStatus;
-  UINT64              IoTranslation;
-  RETURN_STATUS       PcdStatus;
+  UINT64               PciExpressBaseAddress;
+  FDT_CLIENT_PROTOCOL  *FdtClient;
+  CONST UINT64         *Reg;
+  UINT32               RegSize;
+  EFI_STATUS           Status;
+  INT32                Node;
+  RETURN_STATUS        RetStatus;
+  UINT64               IoTranslation;
+  RETURN_STATUS        PcdStatus;
 
   PciExpressBaseAddress = PcdGet64 (PcdPciExpressBaseAddress);
   if (PciExpressBaseAddress != MAX_UINT64) {
@@ -106,38 +109,51 @@ FdtPciPcdProducerLibConstructor (
     return EFI_SUCCESS;
   }
 
-  Status = gBS->LocateProtocol (&gFdtClientProtocolGuid, NULL,
-                  (VOID **)&FdtClient);
+  Status = gBS->LocateProtocol (
+                  &gFdtClientProtocolGuid,
+                  NULL,
+                  (VOID **)&FdtClient
+                  );
   ASSERT_EFI_ERROR (Status);
 
   PciExpressBaseAddress = 0;
-  Status = FdtClient->FindCompatibleNode (FdtClient, "pci-host-ecam-generic",
-                        &Node);
+  Status                = FdtClient->FindCompatibleNode (
+                                       FdtClient,
+                                       "pci-host-ecam-generic",
+                                       &Node
+                                       );
 
   if (!EFI_ERROR (Status)) {
-    Status = FdtClient->GetNodeProperty (FdtClient, Node, "reg",
-                          (CONST VOID **)&Reg, &RegSize);
-
-    if (!EFI_ERROR (Status) && RegSize == 2 * sizeof (UINT64)) {
+    Status = FdtClient->GetNodeProperty (
+                          FdtClient,
+                          Node,
+                          "reg",
+                          (CONST VOID **)&Reg,
+                          &RegSize
+                          );
+
+    if (!EFI_ERROR (Status) && (RegSize == 2 * sizeof (UINT64))) {
       PciExpressBaseAddress = SwapBytes64 (*Reg);
 
       PcdStatus = PcdSetBoolS (PcdPciDisableBusEnumeration, FALSE);
       ASSERT_RETURN_ERROR (PcdStatus);
 
       IoTranslation = 0;
-      RetStatus = GetPciIoTranslation (FdtClient, Node, &IoTranslation);
+      RetStatus     = GetPciIoTranslation (FdtClient, Node, &IoTranslation);
       if (!RETURN_ERROR (RetStatus)) {
-          PcdStatus = PcdSet64S (PcdPciIoTranslation, IoTranslation);
-          ASSERT_RETURN_ERROR (PcdStatus);
+        PcdStatus = PcdSet64S (PcdPciIoTranslation, IoTranslation);
+        ASSERT_RETURN_ERROR (PcdStatus);
       } else {
         //
         // Support for I/O BARs is not mandatory, and so it does not make sense
         // to abort in the general case. So leave it up to the actual driver to
         // complain about this if it wants to, and just issue a warning here.
         //
-        DEBUG ((DEBUG_WARN,
+        DEBUG ((
+          DEBUG_WARN,
           "%a: 'pci-host-ecam-generic' device encountered with no I/O range\n",
-          __FUNCTION__));
+          __FUNCTION__
+          ));
       }
     }
   }

+ 93 - 40
OvmfPkg/Fdt/HighMemDxe/HighMemDxe.c

@@ -20,40 +20,58 @@
 EFI_STATUS
 EFIAPI
 InitializeHighMemDxe (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  FDT_CLIENT_PROTOCOL               *FdtClient;
-  EFI_CPU_ARCH_PROTOCOL             *Cpu;
-  EFI_STATUS                        Status, FindNodeStatus;
-  INT32                             Node;
-  CONST UINT32                      *Reg;
-  UINT32                            RegSize;
-  UINTN                             AddressCells, SizeCells;
-  UINT64                            CurBase;
-  UINT64                            CurSize;
-  UINT64                            Attributes;
-  EFI_GCD_MEMORY_SPACE_DESCRIPTOR   GcdDescriptor;
-
-  Status = gBS->LocateProtocol (&gFdtClientProtocolGuid, NULL,
-                  (VOID **)&FdtClient);
+  FDT_CLIENT_PROTOCOL              *FdtClient;
+  EFI_CPU_ARCH_PROTOCOL            *Cpu;
+  EFI_STATUS                       Status, FindNodeStatus;
+  INT32                            Node;
+  CONST UINT32                     *Reg;
+  UINT32                           RegSize;
+  UINTN                            AddressCells, SizeCells;
+  UINT64                           CurBase;
+  UINT64                           CurSize;
+  UINT64                           Attributes;
+  EFI_GCD_MEMORY_SPACE_DESCRIPTOR  GcdDescriptor;
+
+  Status = gBS->LocateProtocol (
+                  &gFdtClientProtocolGuid,
+                  NULL,
+                  (VOID **)&FdtClient
+                  );
   ASSERT_EFI_ERROR (Status);
 
-  Status = gBS->LocateProtocol (&gEfiCpuArchProtocolGuid, NULL,
-                  (VOID **)&Cpu);
+  Status = gBS->LocateProtocol (
+                  &gEfiCpuArchProtocolGuid,
+                  NULL,
+                  (VOID **)&Cpu
+                  );
   ASSERT_EFI_ERROR (Status);
 
   //
   // Check for memory node and add the memory spaces except the lowest one
   //
-  for (FindNodeStatus = FdtClient->FindMemoryNodeReg (FdtClient, &Node,
-                                     (CONST VOID **) &Reg, &AddressCells,
-                                     &SizeCells, &RegSize);
+  for (FindNodeStatus = FdtClient->FindMemoryNodeReg (
+                                     FdtClient,
+                                     &Node,
+                                     (CONST VOID **)&Reg,
+                                     &AddressCells,
+                                     &SizeCells,
+                                     &RegSize
+                                     );
        !EFI_ERROR (FindNodeStatus);
-       FindNodeStatus = FdtClient->FindNextMemoryNodeReg (FdtClient, Node,
-                                     &Node, (CONST VOID **) &Reg, &AddressCells,
-                                     &SizeCells, &RegSize)) {
+       FindNodeStatus = FdtClient->FindNextMemoryNodeReg (
+                                     FdtClient,
+                                     Node,
+                                     &Node,
+                                     (CONST VOID **)&Reg,
+                                     &AddressCells,
+                                     &SizeCells,
+                                     &RegSize
+                                     ))
+  {
     ASSERT (AddressCells <= 2);
     ASSERT (SizeCells <= 2);
 
@@ -62,36 +80,60 @@ InitializeHighMemDxe (
       if (AddressCells > 1) {
         CurBase = (CurBase << 32) | SwapBytes32 (*Reg++);
       }
+
       CurSize = SwapBytes32 (*Reg++);
       if (SizeCells > 1) {
         CurSize = (CurSize << 32) | SwapBytes32 (*Reg++);
       }
+
       RegSize -= (AddressCells + SizeCells) * sizeof (UINT32);
 
       Status = gDS->GetMemorySpaceDescriptor (CurBase, &GcdDescriptor);
       if (EFI_ERROR (Status)) {
-        DEBUG ((DEBUG_WARN,
+        DEBUG ((
+          DEBUG_WARN,
           "%a: Region 0x%lx - 0x%lx not found in the GCD memory space map\n",
-          __FUNCTION__, CurBase, CurBase + CurSize - 1));
-          continue;
+          __FUNCTION__,
+          CurBase,
+          CurBase + CurSize - 1
+          ));
+        continue;
       }
+
       if (GcdDescriptor.GcdMemoryType == EfiGcdMemoryTypeNonExistent) {
-        Status = gDS->AddMemorySpace (EfiGcdMemoryTypeSystemMemory, CurBase,
-                        CurSize, EFI_MEMORY_WB);
+        Status = gDS->AddMemorySpace (
+                        EfiGcdMemoryTypeSystemMemory,
+                        CurBase,
+                        CurSize,
+                        EFI_MEMORY_WB
+                        );
 
         if (EFI_ERROR (Status)) {
-          DEBUG ((DEBUG_ERROR,
+          DEBUG ((
+            DEBUG_ERROR,
             "%a: Failed to add System RAM @ 0x%lx - 0x%lx (%r)\n",
-            __FUNCTION__, CurBase, CurBase + CurSize - 1, Status));
+            __FUNCTION__,
+            CurBase,
+            CurBase + CurSize - 1,
+            Status
+            ));
           continue;
         }
 
-        Status = gDS->SetMemorySpaceAttributes (CurBase, CurSize,
-                        EFI_MEMORY_WB);
+        Status = gDS->SetMemorySpaceAttributes (
+                        CurBase,
+                        CurSize,
+                        EFI_MEMORY_WB
+                        );
         if (EFI_ERROR (Status)) {
-          DEBUG ((DEBUG_WARN,
+          DEBUG ((
+            DEBUG_WARN,
             "%a: gDS->SetMemorySpaceAttributes() failed on region 0x%lx - 0x%lx (%r)\n",
-            __FUNCTION__, CurBase, CurBase + CurSize - 1, Status));
+            __FUNCTION__,
+            CurBase,
+            CurBase + CurSize - 1,
+            Status
+            ));
         }
 
         //
@@ -107,19 +149,30 @@ InitializeHighMemDxe (
         //
         Attributes = EFI_MEMORY_WB;
         if ((PcdGet64 (PcdDxeNxMemoryProtectionPolicy) &
-             (1U << (UINT32)EfiConventionalMemory)) != 0) {
+             (1U << (UINT32)EfiConventionalMemory)) != 0)
+        {
           Attributes |= EFI_MEMORY_XP;
         }
 
         Status = Cpu->SetMemoryAttributes (Cpu, CurBase, CurSize, Attributes);
 
         if (EFI_ERROR (Status)) {
-          DEBUG ((DEBUG_ERROR,
+          DEBUG ((
+            DEBUG_ERROR,
             "%a: Failed to set System RAM @ 0x%lx - 0x%lx attribute (%r)\n",
-            __FUNCTION__, CurBase, CurBase + CurSize - 1, Status));
+            __FUNCTION__,
+            CurBase,
+            CurBase + CurSize - 1,
+            Status
+            ));
         } else {
-          DEBUG ((DEBUG_INFO, "%a: Add System RAM @ 0x%lx - 0x%lx\n",
-            __FUNCTION__, CurBase, CurBase + CurSize - 1));
+          DEBUG ((
+            DEBUG_INFO,
+            "%a: Add System RAM @ 0x%lx - 0x%lx\n",
+            __FUNCTION__,
+            CurBase,
+            CurBase + CurSize - 1
+            ));
         }
       }
     }

+ 88 - 45
OvmfPkg/Fdt/VirtioFdtDxe/VirtioFdtDxe.c

@@ -22,43 +22,62 @@
 
 #pragma pack (1)
 typedef struct {
-  VENDOR_DEVICE_PATH                  Vendor;
-  UINT64                              PhysBase;
-  EFI_DEVICE_PATH_PROTOCOL            End;
+  VENDOR_DEVICE_PATH          Vendor;
+  UINT64                      PhysBase;
+  EFI_DEVICE_PATH_PROTOCOL    End;
 } VIRTIO_TRANSPORT_DEVICE_PATH;
 #pragma pack ()
 
 EFI_STATUS
 EFIAPI
 InitializeVirtioFdtDxe (
-  IN EFI_HANDLE           ImageHandle,
-  IN EFI_SYSTEM_TABLE     *SystemTable
+  IN EFI_HANDLE        ImageHandle,
+  IN EFI_SYSTEM_TABLE  *SystemTable
   )
 {
-  EFI_STATUS                     Status, FindNodeStatus;
-  FDT_CLIENT_PROTOCOL            *FdtClient;
-  INT32                          Node;
-  CONST UINT64                   *Reg;
-  UINT32                         RegSize;
-  VIRTIO_TRANSPORT_DEVICE_PATH   *DevicePath;
-  EFI_HANDLE                     Handle;
-  UINT64                         RegBase;
-
-  Status = gBS->LocateProtocol (&gFdtClientProtocolGuid, NULL,
-                  (VOID **)&FdtClient);
+  EFI_STATUS                    Status, FindNodeStatus;
+  FDT_CLIENT_PROTOCOL           *FdtClient;
+  INT32                         Node;
+  CONST UINT64                  *Reg;
+  UINT32                        RegSize;
+  VIRTIO_TRANSPORT_DEVICE_PATH  *DevicePath;
+  EFI_HANDLE                    Handle;
+  UINT64                        RegBase;
+
+  Status = gBS->LocateProtocol (
+                  &gFdtClientProtocolGuid,
+                  NULL,
+                  (VOID **)&FdtClient
+                  );
   ASSERT_EFI_ERROR (Status);
 
-  for (FindNodeStatus = FdtClient->FindCompatibleNode (FdtClient,
-                                     "virtio,mmio", &Node);
+  for (FindNodeStatus = FdtClient->FindCompatibleNode (
+                                     FdtClient,
+                                     "virtio,mmio",
+                                     &Node
+                                     );
        !EFI_ERROR (FindNodeStatus);
-       FindNodeStatus = FdtClient->FindNextCompatibleNode (FdtClient,
-                                     "virtio,mmio", Node, &Node)) {
-
-    Status = FdtClient->GetNodeProperty (FdtClient, Node, "reg",
-                          (CONST VOID **)&Reg, &RegSize);
+       FindNodeStatus = FdtClient->FindNextCompatibleNode (
+                                     FdtClient,
+                                     "virtio,mmio",
+                                     Node,
+                                     &Node
+                                     ))
+  {
+    Status = FdtClient->GetNodeProperty (
+                          FdtClient,
+                          Node,
+                          "reg",
+                          (CONST VOID **)&Reg,
+                          &RegSize
+                          );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: GetNodeProperty () failed (Status == %r)\n",
-        __FUNCTION__, Status));
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: GetNodeProperty () failed (Status == %r)\n",
+        __FUNCTION__,
+        Status
+        ));
       continue;
     }
 
@@ -67,11 +86,12 @@ InitializeVirtioFdtDxe (
     //
     // Create a unique device path for this transport on the fly
     //
-    RegBase = SwapBytes64 (*Reg);
+    RegBase    = SwapBytes64 (*Reg);
     DevicePath = (VIRTIO_TRANSPORT_DEVICE_PATH *)CreateDeviceNode (
-                                  HARDWARE_DEVICE_PATH,
-                                  HW_VENDOR_DP,
-                                  sizeof (VIRTIO_TRANSPORT_DEVICE_PATH));
+                                                   HARDWARE_DEVICE_PATH,
+                                                   HW_VENDOR_DP,
+                                                   sizeof (VIRTIO_TRANSPORT_DEVICE_PATH)
+                                                   );
     if (DevicePath == NULL) {
       DEBUG ((DEBUG_ERROR, "%a: Out of memory\n", __FUNCTION__));
       continue;
@@ -79,39 +99,62 @@ InitializeVirtioFdtDxe (
 
     CopyGuid (&DevicePath->Vendor.Guid, &gVirtioMmioTransportGuid);
     DevicePath->PhysBase = RegBase;
-    SetDevicePathNodeLength (&DevicePath->Vendor,
-      sizeof (*DevicePath) - sizeof (DevicePath->End));
+    SetDevicePathNodeLength (
+      &DevicePath->Vendor,
+      sizeof (*DevicePath) - sizeof (DevicePath->End)
+      );
     SetDevicePathEndNode (&DevicePath->End);
 
     Handle = NULL;
-    Status = gBS->InstallProtocolInterface (&Handle,
-                     &gEfiDevicePathProtocolGuid, EFI_NATIVE_INTERFACE,
-                     DevicePath);
+    Status = gBS->InstallProtocolInterface (
+                    &Handle,
+                    &gEfiDevicePathProtocolGuid,
+                    EFI_NATIVE_INTERFACE,
+                    DevicePath
+                    );
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: Failed to install the EFI_DEVICE_PATH "
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Failed to install the EFI_DEVICE_PATH "
         "protocol on a new handle (Status == %r)\n",
-        __FUNCTION__, Status));
+        __FUNCTION__,
+        Status
+        ));
       FreePool (DevicePath);
       continue;
     }
 
     Status = VirtioMmioInstallDevice (RegBase, Handle);
     if (EFI_ERROR (Status)) {
-      DEBUG ((DEBUG_ERROR, "%a: Failed to install VirtIO transport @ 0x%Lx "
-        "on handle %p (Status == %r)\n", __FUNCTION__, RegBase,
-        Handle, Status));
-
-      Status = gBS->UninstallProtocolInterface (Handle,
-                      &gEfiDevicePathProtocolGuid, DevicePath);
+      DEBUG ((
+        DEBUG_ERROR,
+        "%a: Failed to install VirtIO transport @ 0x%Lx "
+        "on handle %p (Status == %r)\n",
+        __FUNCTION__,
+        RegBase,
+        Handle,
+        Status
+        ));
+
+      Status = gBS->UninstallProtocolInterface (
+                      Handle,
+                      &gEfiDevicePathProtocolGuid,
+                      DevicePath
+                      );
       ASSERT_EFI_ERROR (Status);
       FreePool (DevicePath);
       continue;
     }
   }
 
-  if (EFI_ERROR (FindNodeStatus) && FindNodeStatus != EFI_NOT_FOUND) {
-     DEBUG ((DEBUG_ERROR, "%a: Error occurred while iterating DT nodes "
-       "(FindNodeStatus == %r)\n", __FUNCTION__, FindNodeStatus));
+  if (EFI_ERROR (FindNodeStatus) && (FindNodeStatus != EFI_NOT_FOUND)) {
+    DEBUG ((
+      DEBUG_ERROR,
+      "%a: Error occurred while iterating DT nodes "
+      "(FindNodeStatus == %r)\n",
+      __FUNCTION__,
+      FindNodeStatus
+      ));
   }
 
   return EFI_SUCCESS;

+ 4 - 4
OvmfPkg/Include/Guid/ConfidentialComputingSecret.h

@@ -1,4 +1,4 @@
- /** @file
+/** @file
    UEFI Configuration Table for exposing the SEV Launch Secret location to UEFI
    applications (boot loaders).
 
@@ -19,10 +19,10 @@
   }
 
 typedef struct {
-  UINT64 Base;
-  UINT64 Size;
+  UINT64    Base;
+  UINT64    Size;
 } CONFIDENTIAL_COMPUTING_SECRET_LOCATION;
 
-extern EFI_GUID gConfidentialComputingSecretGuid;
+extern EFI_GUID  gConfidentialComputingSecretGuid;
 
 #endif // SEV_LAUNCH_SECRET_H_

+ 1 - 1
OvmfPkg/Include/Guid/MicrosoftVendor.h

@@ -50,6 +50,6 @@
     { 0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b }, \
   }
 
-extern EFI_GUID gMicrosoftVendorGuid;
+extern EFI_GUID  gMicrosoftVendorGuid;
 
 #endif /* MICROSOFT_VENDOR_H_ */

+ 1 - 1
OvmfPkg/Include/Guid/OvmfPkKek1AppPrefix.h

@@ -40,6 +40,6 @@
     { 0x81, 0xd3, 0x5b, 0xb9, 0x71, 0x5f, 0x97, 0x27 }, \
   }
 
-extern EFI_GUID gOvmfPkKek1AppPrefixGuid;
+extern EFI_GUID  gOvmfPkKek1AppPrefixGuid;
 
 #endif /* OVMF_PK_KEK1_APP_PREFIX_H_ */

Some files were not shown because too many files changed in this diff