]> git.proxmox.com Git - mirror_edk2.git/commitdiff
CorebootModulePkg: Get power management register addresses.
authorGuo Dong <guo.dong@intel.com>
Thu, 25 Jun 2015 16:00:29 +0000 (16:00 +0000)
committergdong1 <gdong1@Edk2>
Thu, 25 Jun 2015 16:00:29 +0000 (16:00 +0000)
This patch will get power management event register address and power management GPE enable register address.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Guo Dong <guo.dong@intel.com>
Reviewed-by: Maurice Ma <maurice.ma@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17714 6f19259b-4bc3-4df7-8a09-765794883524

CorebootModulePkg/CbSupportPei/CbSupportPei.c
CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h
CorebootModulePkg/Include/Library/CbParseLib.h

index b3705fa4cdcfb6c7d6d374bf2e55f60b6daea6e6..46b08d2f084653dd64b7f96b76a04bfd53123835 100755 (executable)
@@ -171,6 +171,8 @@ CbPeiEntryPoint (
   FRAME_BUFFER_INFO*   pFbInfo;\r
   ACPI_BOARD_INFO*     pAcpiBoardInfo;\r
   UINTN                PmCtrlRegBase, PmTimerRegBase, ResetRegAddress, ResetValue;\r
+  UINTN                PmEvtBase;\r
+  UINTN                PmGpeEnBase;\r
 \r
   LowMemorySize = 0;\r
   HighMemorySize = 0;\r
@@ -355,7 +357,7 @@ CbPeiEntryPoint (
   //\r
   // Create guid hob for acpi board information\r
   //\r
-  Status = CbParseFadtInfo (&PmCtrlRegBase, &PmTimerRegBase, &ResetRegAddress, &ResetValue);\r
+  Status = CbParseFadtInfo (&PmCtrlRegBase, &PmTimerRegBase, &ResetRegAddress, &ResetValue, &PmEvtBase, &PmGpeEnBase);\r
   ASSERT_EFI_ERROR (Status);\r
   pAcpiBoardInfo = NULL;\r
   pAcpiBoardInfo = BuildGuidHob (&gUefiAcpiBoardInfoGuid, sizeof (ACPI_BOARD_INFO));\r
@@ -364,6 +366,8 @@ CbPeiEntryPoint (
   pAcpiBoardInfo->PmTimerRegBase = (UINT64)PmTimerRegBase;\r
   pAcpiBoardInfo->ResetRegAddress = (UINT64)ResetRegAddress;\r
   pAcpiBoardInfo->ResetValue = (UINT8)ResetValue;\r
+  pAcpiBoardInfo->PmEvtBase = (UINT64)PmEvtBase;\r
+  pAcpiBoardInfo->PmGpeEnBase = (UINT64)PmGpeEnBase;\r
   DEBUG ((EFI_D_ERROR, "Create acpi board info guid hob\n"));\r
 \r
   //\r
index 66ebffef2d5825d59f0177467fbf2f4c1ba90166..609e98918693b1092fb45bcfd2136d8a56c24416 100644 (file)
@@ -20,7 +20,9 @@
 ///\r
 extern EFI_GUID gUefiAcpiBoardInfoGuid;\r
 \r
-typedef struct {  \r
+typedef struct {\r
+  UINT64             PmEvtBase;\r
+  UINT64             PmGpeEnBase;\r
   UINT64             PmCtrlRegBase;\r
   UINT64             PmTimerRegBase;\r
   UINT64             ResetRegAddress;\r
index 36727d3f5855c79c6a49a4356803e6b490256fed..170375b365b0ccd85817ddf3bb9928f1a4f9fdb0 100644 (file)
@@ -91,6 +91,8 @@ CbParseSmbiosTable (
   @param  pPmTimerReg        Pointer to the address of power management timer register\r
   @param  pResetReg          Pointer to the address of system reset register\r
   @param  pResetValue        Pointer to the value to be writen to the system reset register\r
+  @param  pPmEvtReg          Pointer to the address of power management event register\r
+  @param  pPmGpeEnReg        Pointer to the address of power management GPE enable register\r
 \r
   @retval RETURN_SUCCESS     Successfully find out all the required fadt information.\r
   @retval RETURN_NOT_FOUND   Failed to find the fadt table.\r
@@ -101,7 +103,9 @@ CbParseFadtInfo (
   IN UINTN*     pPmCtrlReg,\r
   IN UINTN*     pPmTimerReg,\r
   IN UINTN*     pResetReg,\r
-  IN UINTN*     pResetValue\r
+  IN UINTN*     pResetValue,\r
+  IN UINTN*     pPmEvtReg,\r
+  IN UINTN*     pPmGpeEnReg\r
   );\r
   \r
 /**\r