]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Vlv2TbltDevicePkg/PlatformInitPei/PchInitPeim.c
SourceLevelDebugPkg DebugAgentLib: Rename IsBsp to DebugAgentIsBsp
[mirror_edk2.git] / Vlv2TbltDevicePkg / PlatformInitPei / PchInitPeim.c
index 18ecda4a134c05b302ffb3a5e9b32c413d1238e6..670fefc1c36901f5351e73fd4910f99ca6f52f37 100644 (file)
@@ -53,6 +53,11 @@ PchInitInterrupt (
   IN SYSTEM_CONFIGURATION  *SystemConfiguration\r
   );\r
 \r
+EFI_STATUS\r
+InstallPeiPchUsbPolicy (\r
+  IN CONST  EFI_PEI_SERVICES  **PeiServices\r
+  );\r
+\r
 #ifndef __GNUC__\r
 #pragma warning (push)\r
 #pragma warning (disable : 4245)\r
@@ -541,8 +546,18 @@ PlatformPchInit (
   IN UINT16                      PlatformType\r
   )\r
 {\r
+  EFI_STATUS     Status;\r
+  EFI_BOOT_MODE  BootMode;\r
+\r
+  Status = PeiServicesGetBootMode (&BootMode);\r
+  ASSERT_EFI_ERROR (Status);\r
+\r
   IchRcrbInit (PeiServices, SystemConfiguration);\r
 \r
+  if (BootMode == BOOT_IN_RECOVERY_MODE) {\r
+    InstallPeiPchUsbPolicy(PeiServices);\r
+  }\r
+\r
   //\r
   // PCH Policy Initialization based on Setup variable.\r
   //\r
@@ -721,7 +736,8 @@ InstallPeiPchUsbPolicy (
   EFI_PEI_PPI_DESCRIPTOR  *PeiPchUsbPolicyPpiDesc;\r
   PCH_USB_POLICY_PPI      *PeiPchUsbPolicyPpi;\r
   PCH_USB_CONFIG          *UsbConfig;\r
-  EFI_PLATFORM_INFO_HOB   PlatformInfo;\r
+\r
+  DEBUG ((EFI_D_INFO, "InstallPeiPchUsbPolicy...\n"));\r
 \r
   //\r
   // Allocate descriptor and PPI structures.  Since these are dynamically updated\r
@@ -745,12 +761,6 @@ InstallPeiPchUsbPolicy (
   UsbConfig->UsbPerPortCtl            = PCH_DEVICE_DISABLE;\r
   UsbConfig->Ehci1Usbr                = PCH_DEVICE_DISABLE;\r
 \r
-  //\r
-  // Initialize PlatformInfo HOB\r
-  //\r
-  ZeroMem (&PlatformInfo, sizeof(PlatformInfo));\r
-  MultiPlatformInfoInit(PeiServices, &PlatformInfo);\r
-\r
   UsbConfig->Usb20OverCurrentPins[0] = PchUsbOverCurrentPin0;\r
 \r
   UsbConfig->Usb20OverCurrentPins[1] = PchUsbOverCurrentPin0;\r
@@ -784,6 +794,8 @@ InstallPeiPchUsbPolicy (
 \r
   PeiPchUsbPolicyPpi->EhciMemLength   = (UINT32) 0x400 * PchEhciControllerMax;\r
 \r
+  PeiPchUsbPolicyPpi->XhciMemBaseAddr = 0;\r
+\r
   PeiPchUsbPolicyPpi->UsbConfig       = UsbConfig;\r
 \r
   PeiPchUsbPolicyPpiDesc->Flags       = EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST;\r