]> git.proxmox.com Git - mirror_edk2.git/blobdiff - DuetPkg/Library/DuetBdsLib/BdsPlatform.c
Fix VS2013 build failure.
[mirror_edk2.git] / DuetPkg / Library / DuetBdsLib / BdsPlatform.c
index acf6abb0737a916277a4e253d0cf5d9634c8d8ad..1875dc963680c0fff3e397a16e9004a9008f6197 100644 (file)
@@ -1,7 +1,7 @@
 /*++\r
 \r
-Copyright (c) 2006 - 2008, Intel Corporation                                                         \r
-All rights reserved. This program and the accompanying materials                          \r
+Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials                          \r
 are licensed and made available under the terms and conditions of the BSD License         \r
 which accompanies this distribution.  The full text of the license may be found at        \r
 http://opensource.org/licenses/bsd-license.php                                            \r
@@ -83,21 +83,6 @@ Returns:
   return ;\r
 }\r
 \r
-#define EFI_LDR_MEMORY_DESCRIPTOR_GUID \\r
-  { 0x7701d7e5, 0x7d1d, 0x4432, {0xa4, 0x68, 0x67, 0x3d, 0xab, 0x8a, 0xde, 0x60 }}\r
-\r
-EFI_GUID gEfiLdrMemoryDescriptorGuid = EFI_LDR_MEMORY_DESCRIPTOR_GUID;\r
-\r
-#pragma pack(1)\r
-\r
-typedef struct {\r
-  EFI_HOB_GUID_TYPE             Hob;\r
-  UINTN                         MemDescCount;\r
-  EFI_MEMORY_DESCRIPTOR         *MemDesc;\r
-} MEMORY_DESC_HOB;\r
-\r
-#pragma pack()\r
-\r
 #if 0\r
 VOID\r
 PrintMemoryMap (\r
@@ -153,12 +138,8 @@ UpdateMemoryMap (
   UINTN                           Index;\r
   EFI_PHYSICAL_ADDRESS            Memory;\r
   EFI_GCD_MEMORY_SPACE_DESCRIPTOR Descriptor;\r
-  //\r
-  // Get Hob List\r
-  //\r
-  GuidHob.Raw = GetHobList();\r
   \r
-  GuidHob.Raw = GetNextGuidHob (&gEfiLdrMemoryDescriptorGuid, GuidHob.Raw);\r
+  GuidHob.Raw = GetFirstGuidHob (&gLdrMemoryDescriptorGuid);\r
   if (GuidHob.Raw == NULL) {\r
     DEBUG ((EFI_D_ERROR, "Fail to get gEfiLdrMemoryDescriptorGuid from GUID HOB LIST!\n"));\r
     return;\r
@@ -336,13 +317,13 @@ Returns:
         if (!EFI_ERROR (Status)) {\r
           if ((PCI_CLASS_SERIAL == Class[2]) &&\r
               (PCI_CLASS_SERIAL_USB == Class[1])) {\r
-            if (PCI_CLASSC_PI_UHCI == Class[0]) {\r
+            if (PCI_IF_UHCI == Class[0]) {\r
               //\r
               // Found the UHCI, then disable the legacy support\r
               //\r
               Command = 0;\r
               Status = PciIo->Pci.Write (PciIo, EfiPciIoWidthUint16, 0xC0, 1, &Command);\r
-            } else if (PCI_CLASSC_PI_EHCI == Class[0]) {\r
+            } else if (PCI_IF_EHCI == Class[0]) {\r
               //\r
               // Found the EHCI, then disable the legacy support\r
               //\r
@@ -740,7 +721,8 @@ Returns:
   EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
   EFI_DEVICE_PATH_PROTOCOL  *GopDevicePath;\r
 \r
-  DevicePath = NULL;\r
+  DevicePath    = NULL;\r
+  GopDevicePath = NULL;\r
   Status = gBS->HandleProtocol (\r
                   DeviceHandle,\r
                   &gEfiDevicePathProtocolGuid,\r
@@ -1092,7 +1074,8 @@ Returns:
 VOID\r
 PlatformBdsDiagnostics (\r
   IN EXTENDMEM_COVERAGE_LEVEL    MemoryTestLevel,\r
-  IN BOOLEAN                     QuietBoot\r
+  IN BOOLEAN                     QuietBoot,\r
+  IN BASEM_MEMORY_TEST           BaseMemoryTest\r
   )\r
 /*++\r
 \r
@@ -1106,6 +1089,8 @@ Arguments:
   MemoryTestLevel  - The memory test intensive level\r
   \r
   QuietBoot        - Indicate if need to enable the quiet boot\r
+\r
+  BaseMemoryTest   - A pointer to BdsMemoryTest()\r
  \r
 Returns:\r
 \r
@@ -1131,7 +1116,7 @@ Returns:
     //\r
     // Perform system diagnostic\r
     //\r
-    Status = BdsMemoryTest (MemoryTestLevel);\r
+    Status = BaseMemoryTest (MemoryTestLevel);\r
     if (EFI_ERROR (Status)) {\r
       DisableQuietBoot ();\r
     }\r
@@ -1141,14 +1126,16 @@ Returns:
   //\r
   // Perform system diagnostic\r
   //\r
-  Status = BdsMemoryTest (MemoryTestLevel);\r
+  Status = BaseMemoryTest (MemoryTestLevel);\r
 }\r
 \r
 VOID\r
 EFIAPI\r
 PlatformBdsPolicyBehavior (\r
   IN OUT LIST_ENTRY              *DriverOptionList,\r
-  IN OUT LIST_ENTRY              *BootOptionList\r
+  IN OUT LIST_ENTRY              *BootOptionList,\r
+  IN PROCESS_CAPSULES            ProcessCapsules,\r
+  IN BASEM_MEMORY_TEST           BaseMemoryTest\r
   )\r
 /*++\r
 \r
@@ -1173,11 +1160,8 @@ Returns:
   EFI_STATUS                         Status;\r
   UINT16                             Timeout;\r
   EFI_EVENT                          UserInputDurationTime;\r
-  LIST_ENTRY                     *Link;\r
-  BDS_COMMON_OPTION                  *BootOption;\r
   UINTN                              Index;\r
   EFI_INPUT_KEY                      Key;\r
-  EFI_TPL                            OldTpl;\r
   EFI_BOOT_MODE                      BootMode;\r
 \r
   //\r
@@ -1227,7 +1211,7 @@ Returns:
   //\r
   // Memory test and Logo show\r
   //\r
-  PlatformBdsDiagnostics (IGNORE, TRUE);\r
+  PlatformBdsDiagnostics (IGNORE, TRUE, BaseMemoryTest);\r
 \r
   //\r
   // Perform some platform specific connect sequence\r
@@ -1270,36 +1254,11 @@ Returns:
   //\r
   // To give the User a chance to enter Setup here, if user set TimeOut is 0.\r
   // BDS should still give user a chance to enter Setup\r
-  //\r
-  // Connect first boot option, and then check user input before exit \r
-  //\r
-  for (Link = BootOptionList->ForwardLink; Link != BootOptionList;Link = Link->ForwardLink) {\r
-    BootOption = CR (Link, BDS_COMMON_OPTION, Link, BDS_LOAD_OPTION_SIGNATURE);\r
-    if (!IS_LOAD_OPTION_TYPE (BootOption->Attribute, LOAD_OPTION_ACTIVE)) {\r
-      //\r
-      // skip the header of the link list, becuase it has no boot option\r
-      //\r
-      continue;\r
-    } else {\r
-      //\r
-      // Make sure the boot option device path connected, but ignore the BBS device path\r
-      //\r
-      if (DevicePathType (BootOption->DevicePath) != BBS_DEVICE_PATH) {\r
-        BdsLibConnectDevicePath (BootOption->DevicePath);\r
-      }     \r
-      break;           \r
-    }\r
-  }       \r
-\r
-  //\r
   // Check whether the user input after the duration time has expired \r
   //\r
-  OldTpl = EfiGetCurrentTpl();\r
-  gBS->RestoreTPL (TPL_APPLICATION); \r
   gBS->WaitForEvent (1, &UserInputDurationTime, &Index);\r
   gBS->CloseEvent (UserInputDurationTime);\r
   Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
-  gBS->RaiseTPL (OldTpl);  \r
   \r
   if (!EFI_ERROR (Status)) {\r
     //\r
@@ -1736,3 +1695,37 @@ Returns:
   \r
   return EFI_SUCCESS;  \r
 } \r
+  \r
+/**\r
+  Lock the ConsoleIn device in system table. All key\r
+  presses will be ignored until the Password is typed in. The only way to\r
+  disable the password is to type it in to a ConIn device.\r
+\r
+  @param  Password        Password used to lock ConIn device.\r
+\r
+  @retval EFI_SUCCESS     lock the Console In Spliter virtual handle successfully.\r
+  @retval EFI_UNSUPPORTED Password not found\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+LockKeyboards (\r
+  IN  CHAR16    *Password\r
+  )\r
+{\r
+    return EFI_UNSUPPORTED;\r
+}\r
+\r
+/**\r
+  This function locks platform flash that is not allowed to be updated during normal boot path.\r
+  The flash layout is platform specific.\r
+\r
+  **/\r
+VOID\r
+EFIAPI\r
+PlatformBdsLockNonUpdatableFlash (\r
+  VOID\r
+  )\r
+{\r
+  return;\r
+}\r