]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmbeddedPkg / Drivers / ConsolePrefDxe / ConsolePrefDxe.c
index 8d0ffbe88d0a404d000a2160dfb7ad4ffc249f1e..07b82892eb0fe2888b16053a9766f27e01da9a3c 100644 (file)
 \r
 #include "ConsolePrefDxe.h"\r
 \r
-#define SPCR_SIG    EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE\r
+#define SPCR_SIG  EFI_ACPI_2_0_SERIAL_PORT_CONSOLE_REDIRECTION_TABLE_SIGNATURE\r
 \r
-extern  UINT8                     ConsolePrefHiiBin[];\r
-extern  UINT8                     ConsolePrefDxeStrings[];\r
+extern  UINT8  ConsolePrefHiiBin[];\r
+extern  UINT8  ConsolePrefDxeStrings[];\r
 \r
 typedef struct {\r
-  VENDOR_DEVICE_PATH              VendorDevicePath;\r
-  EFI_DEVICE_PATH_PROTOCOL        End;\r
+  VENDOR_DEVICE_PATH          VendorDevicePath;\r
+  EFI_DEVICE_PATH_PROTOCOL    End;\r
 } HII_VENDOR_DEVICE_PATH;\r
 \r
-STATIC HII_VENDOR_DEVICE_PATH     mConsolePrefDxeVendorDevicePath = {\r
+STATIC HII_VENDOR_DEVICE_PATH  mConsolePrefDxeVendorDevicePath = {\r
   {\r
     {\r
       HARDWARE_DEVICE_PATH,\r
       HW_VENDOR_DP,\r
       {\r
-        (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
-        (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+        (UINT8)(sizeof (VENDOR_DEVICE_PATH)),\r
+        (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
       }\r
     },\r
     CONSOLE_PREF_FORMSET_GUID\r
@@ -50,13 +50,13 @@ STATIC HII_VENDOR_DEVICE_PATH     mConsolePrefDxeVendorDevicePath = {
     END_DEVICE_PATH_TYPE,\r
     END_ENTIRE_DEVICE_PATH_SUBTYPE,\r
     {\r
-      (UINT8) (END_DEVICE_PATH_LENGTH),\r
-      (UINT8) ((END_DEVICE_PATH_LENGTH) >> 8)\r
+      (UINT8)(END_DEVICE_PATH_LENGTH),\r
+      (UINT8)((END_DEVICE_PATH_LENGTH) >> 8)\r
     }\r
   }\r
 };\r
 \r
-STATIC EFI_EVENT                  mReadyToBootEvent;\r
+STATIC EFI_EVENT  mReadyToBootEvent;\r
 \r
 STATIC\r
 EFI_STATUS\r
@@ -64,32 +64,39 @@ InstallHiiPages (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                      Status;\r
-  EFI_HII_HANDLE                  HiiHandle;\r
-  EFI_HANDLE                      DriverHandle;\r
+  EFI_STATUS      Status;\r
+  EFI_HII_HANDLE  HiiHandle;\r
+  EFI_HANDLE      DriverHandle;\r
 \r
   DriverHandle = NULL;\r
-  Status = gBS->InstallMultipleProtocolInterfaces (&DriverHandle,\r
-                  &gEfiDevicePathProtocolGuid,\r
-                  &mConsolePrefDxeVendorDevicePath,\r
-                  NULL);\r
+  Status       = gBS->InstallMultipleProtocolInterfaces (\r
+                        &DriverHandle,\r
+                        &gEfiDevicePathProtocolGuid,\r
+                        &mConsolePrefDxeVendorDevicePath,\r
+                        NULL\r
+                        );\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r
-  HiiHandle = HiiAddPackages (&gConsolePrefFormSetGuid,\r
-                              DriverHandle,\r
-                              ConsolePrefDxeStrings,\r
-                              ConsolePrefHiiBin,\r
-                              NULL);\r
+  HiiHandle = HiiAddPackages (\r
+                &gConsolePrefFormSetGuid,\r
+                DriverHandle,\r
+                ConsolePrefDxeStrings,\r
+                ConsolePrefHiiBin,\r
+                NULL\r
+                );\r
 \r
   if (HiiHandle == NULL) {\r
-    gBS->UninstallMultipleProtocolInterfaces (DriverHandle,\r
+    gBS->UninstallMultipleProtocolInterfaces (\r
+           DriverHandle,\r
            &gEfiDevicePathProtocolGuid,\r
            &mConsolePrefDxeVendorDevicePath,\r
-           NULL);\r
+           NULL\r
+           );\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   return EFI_SUCCESS;\r
 }\r
 \r
@@ -97,7 +104,7 @@ STATIC
 VOID\r
 RemoveDtStdoutPath (\r
   VOID\r
-)\r
+  )\r
 {\r
   VOID        *Dtb;\r
   INT32       Node;\r
@@ -106,8 +113,12 @@ RemoveDtStdoutPath (
 \r
   Status = EfiGetSystemConfigurationTable (&gFdtTableGuid, &Dtb);\r
   if (EFI_ERROR (Status)) {\r
-    DEBUG ((DEBUG_INFO, "%a: could not retrieve DT blob - %r\n", __FUNCTION__,\r
-      Status));\r
+    DEBUG ((\r
+      DEBUG_INFO,\r
+      "%a: could not retrieve DT blob - %r\n",\r
+      __FUNCTION__,\r
+      Status\r
+      ));\r
     return;\r
   }\r
 \r
@@ -118,8 +129,12 @@ RemoveDtStdoutPath (
 \r
   Error = fdt_delprop (Dtb, Node, "stdout-path");\r
   if (Error) {\r
-    DEBUG ((DEBUG_INFO, "%a: Failed to delete 'stdout-path' property: %a\n",\r
-      __FUNCTION__, fdt_strerror (Error)));\r
+    DEBUG ((\r
+      DEBUG_INFO,\r
+      "%a: Failed to delete 'stdout-path' property: %a\n",\r
+      __FUNCTION__,\r
+      fdt_strerror (Error)\r
+      ));\r
   }\r
 }\r
 \r
@@ -129,16 +144,19 @@ RemoveSpcrTable (
   VOID\r
   )\r
 {\r
-  EFI_ACPI_SDT_PROTOCOL           *Sdt;\r
-  EFI_ACPI_TABLE_PROTOCOL         *AcpiTable;\r
-  EFI_STATUS                      Status;\r
-  UINTN                           TableIndex;\r
-  EFI_ACPI_SDT_HEADER             *TableHeader;\r
-  EFI_ACPI_TABLE_VERSION          TableVersion;\r
-  UINTN                           TableKey;\r
-\r
-  Status = gBS->LocateProtocol (&gEfiAcpiTableProtocolGuid, NULL,\r
-                  (VOID **)&AcpiTable);\r
+  EFI_ACPI_SDT_PROTOCOL    *Sdt;\r
+  EFI_ACPI_TABLE_PROTOCOL  *AcpiTable;\r
+  EFI_STATUS               Status;\r
+  UINTN                    TableIndex;\r
+  EFI_ACPI_SDT_HEADER      *TableHeader;\r
+  EFI_ACPI_TABLE_VERSION   TableVersion;\r
+  UINTN                    TableKey;\r
+\r
+  Status = gBS->LocateProtocol (\r
+                  &gEfiAcpiTableProtocolGuid,\r
+                  NULL,\r
+                  (VOID **)&AcpiTable\r
+                  );\r
   if (EFI_ERROR (Status)) {\r
     return;\r
   }\r
@@ -153,8 +171,12 @@ RemoveSpcrTable (
   TableHeader = NULL;\r
 \r
   do {\r
-    Status = Sdt->GetAcpiTable (TableIndex++, &TableHeader, &TableVersion,\r
-                    &TableKey);\r
+    Status = Sdt->GetAcpiTable (\r
+                    TableIndex++,\r
+                    &TableHeader,\r
+                    &TableVersion,\r
+                    &TableKey\r
+                    );\r
     if (EFI_ERROR (Status)) {\r
       break;\r
     }\r
@@ -165,38 +187,55 @@ RemoveSpcrTable (
 \r
     Status = AcpiTable->UninstallAcpiTable (AcpiTable, TableKey);\r
     if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_WARN, "%a: failed to uninstall SPCR table - %r\n",\r
-        __FUNCTION__, Status));\r
+      DEBUG ((\r
+        DEBUG_WARN,\r
+        "%a: failed to uninstall SPCR table - %r\n",\r
+        __FUNCTION__,\r
+        Status\r
+        ));\r
     }\r
+\r
     break;\r
   } while (TRUE);\r
 }\r
 \r
 STATIC\r
 VOID\r
+EFIAPI\r
 OnReadyToBoot (\r
   IN EFI_EVENT  Event,\r
   IN VOID       *Context\r
   )\r
 {\r
-  CONSOLE_PREF_VARSTORE_DATA      ConsolePref;\r
-  UINTN                           BufferSize;\r
-  EFI_STATUS                      Status;\r
-  VOID                            *Gop;\r
+  CONSOLE_PREF_VARSTORE_DATA  ConsolePref;\r
+  UINTN                       BufferSize;\r
+  EFI_STATUS                  Status;\r
+  VOID                        *Gop;\r
 \r
   BufferSize = sizeof (ConsolePref);\r
-  Status = gRT->GetVariable (CONSOLE_PREF_VARIABLE_NAME,\r
-                  &gConsolePrefFormSetGuid, NULL, &BufferSize, &ConsolePref);\r
+  Status     = gRT->GetVariable (\r
+                      CONSOLE_PREF_VARIABLE_NAME,\r
+                      &gConsolePrefFormSetGuid,\r
+                      NULL,\r
+                      &BufferSize,\r
+                      &ConsolePref\r
+                      );\r
   if (EFI_ERROR (Status)) {\r
-    DEBUG ((DEBUG_ERROR,\r
-      "%a: variable '%s' could not be read - bailing!\n", __FUNCTION__,\r
-      CONSOLE_PREF_VARIABLE_NAME));\r
+    DEBUG ((\r
+      DEBUG_ERROR,\r
+      "%a: variable '%s' could not be read - bailing!\n",\r
+      __FUNCTION__,\r
+      CONSOLE_PREF_VARIABLE_NAME\r
+      ));\r
     return;\r
   }\r
 \r
   if (ConsolePref.Console == CONSOLE_PREF_SERIAL) {\r
-    DEBUG ((DEBUG_INFO,\r
-      "%a: serial console preferred - doing nothing\n", __FUNCTION__));\r
+    DEBUG ((\r
+      DEBUG_INFO,\r
+      "%a: serial console preferred - doing nothing\n",\r
+      __FUNCTION__\r
+      ));\r
     return;\r
   }\r
 \r
@@ -205,9 +244,12 @@ OnReadyToBoot (
   //\r
   Status = gBS->LocateProtocol (&gEfiGraphicsOutputProtocolGuid, NULL, &Gop);\r
   if (EFI_ERROR (Status)) {\r
-    DEBUG ((DEBUG_INFO,\r
-      "%a: no GOP instances found - doing nothing (%r)\n", __FUNCTION__,\r
-      Status));\r
+    DEBUG ((\r
+      DEBUG_INFO,\r
+      "%a: no GOP instances found - doing nothing (%r)\n",\r
+      __FUNCTION__,\r
+      Status\r
+      ));\r
     return;\r
   }\r
 \r
@@ -224,41 +266,53 @@ OnReadyToBoot (
   @retval EFI_ALREADY_STARTED     The driver already exists in system.\r
   @retval EFI_OUT_OF_RESOURCES    Fail to execute entry point due to lack of\r
                                   resources.\r
-  @retval EFI_SUCCES              All the related protocols are installed on\r
+  @retval EFI_SUCCESS             All the related protocols are installed on\r
                                   the driver.\r
 \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
 ConsolePrefDxeEntryPoint (\r
-  IN EFI_HANDLE                   ImageHandle,\r
-  IN EFI_SYSTEM_TABLE             *SystemTable\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS                      Status;\r
-  CONSOLE_PREF_VARSTORE_DATA      ConsolePref;\r
-  UINTN                           BufferSize;\r
+  EFI_STATUS                  Status;\r
+  CONSOLE_PREF_VARSTORE_DATA  ConsolePref;\r
+  UINTN                       BufferSize;\r
 \r
   //\r
   // Get the current console preference from the ConsolePref variable.\r
   //\r
   BufferSize = sizeof (ConsolePref);\r
-  Status = gRT->GetVariable (CONSOLE_PREF_VARIABLE_NAME,\r
-                  &gConsolePrefFormSetGuid, NULL, &BufferSize, &ConsolePref);\r
+  Status     = gRT->GetVariable (\r
+                      CONSOLE_PREF_VARIABLE_NAME,\r
+                      &gConsolePrefFormSetGuid,\r
+                      NULL,\r
+                      &BufferSize,\r
+                      &ConsolePref\r
+                      );\r
   if (EFI_ERROR (Status)) {\r
-    DEBUG ((DEBUG_INFO,\r
+    DEBUG ((\r
+      DEBUG_INFO,\r
       "%a: no console preference found, defaulting to graphical\n",\r
-      __FUNCTION__));\r
+      __FUNCTION__\r
+      ));\r
     ConsolePref.Console = CONSOLE_PREF_GRAPHICAL;\r
   }\r
 \r
   if (!EFI_ERROR (Status) &&\r
-      ConsolePref.Console != CONSOLE_PREF_GRAPHICAL &&\r
-      ConsolePref.Console != CONSOLE_PREF_SERIAL) {\r
-    DEBUG ((DEBUG_WARN, "%a: invalid value for %s, defaulting to graphical\n",\r
-      __FUNCTION__, CONSOLE_PREF_VARIABLE_NAME));\r
+      (ConsolePref.Console != CONSOLE_PREF_GRAPHICAL) &&\r
+      (ConsolePref.Console != CONSOLE_PREF_SERIAL))\r
+  {\r
+    DEBUG ((\r
+      DEBUG_WARN,\r
+      "%a: invalid value for %s, defaulting to graphical\n",\r
+      __FUNCTION__,\r
+      CONSOLE_PREF_VARIABLE_NAME\r
+      ));\r
     ConsolePref.Console = CONSOLE_PREF_GRAPHICAL;\r
-    Status = EFI_INVALID_PARAMETER; // trigger setvar below\r
+    Status              = EFI_INVALID_PARAMETER; // trigger setvar below\r
   }\r
 \r
   //\r
@@ -266,21 +320,33 @@ ConsolePrefDxeEntryPoint (
   //\r
   if (EFI_ERROR (Status)) {\r
     ZeroMem (&ConsolePref.Reserved, sizeof (ConsolePref.Reserved));\r
-    Status = gRT->SetVariable (CONSOLE_PREF_VARIABLE_NAME,\r
+    Status = gRT->SetVariable (\r
+                    CONSOLE_PREF_VARIABLE_NAME,\r
                     &gConsolePrefFormSetGuid,\r
                     EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS,\r
-                    sizeof (ConsolePref), &ConsolePref);\r
+                    sizeof (ConsolePref),\r
+                    &ConsolePref\r
+                    );\r
 \r
     if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_ERROR, "%a: gRT->SetVariable () failed - %r\n",\r
-        __FUNCTION__, Status));\r
+      DEBUG ((\r
+        DEBUG_ERROR,\r
+        "%a: gRT->SetVariable () failed - %r\n",\r
+        __FUNCTION__,\r
+        Status\r
+        ));\r
       return Status;\r
     }\r
   }\r
 \r
-  Status = gBS->CreateEventEx (EVT_NOTIFY_SIGNAL, TPL_CALLBACK,\r
-                  OnReadyToBoot, NULL, &gEfiEventReadyToBootGuid,\r
-                  &mReadyToBootEvent);\r
+  Status = gBS->CreateEventEx (\r
+                  EVT_NOTIFY_SIGNAL,\r
+                  TPL_CALLBACK,\r
+                  OnReadyToBoot,\r
+                  NULL,\r
+                  &gEfiEventReadyToBootGuid,\r
+                  &mReadyToBootEvent\r
+                  );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
   return InstallHiiPages ();\r