summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuo Dong <guo.dong@intel.com>2015-06-25 16:00:29 +0000
committergdong1 <gdong1@Edk2>2015-06-25 16:00:29 +0000
commitcb3e201f023e5b8002967f1813d7b15052bcdb81 (patch)
tree2cfa8db766dfb72086ce03b16f5f22e63760216d
parent9cd7d3c5ba447b440ea189aad70665373099429d (diff)
downloadedk2-cb3e201f023e5b8002967f1813d7b15052bcdb81.tar.gz
edk2-cb3e201f023e5b8002967f1813d7b15052bcdb81.tar.bz2
edk2-cb3e201f023e5b8002967f1813d7b15052bcdb81.zip
CorebootModulePkg: Get power management register addresses.
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
-rwxr-xr-xCorebootModulePkg/CbSupportPei/CbSupportPei.c6
-rw-r--r--CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h4
-rw-r--r--CorebootModulePkg/Include/Library/CbParseLib.h6
3 files changed, 13 insertions, 3 deletions
diff --git a/CorebootModulePkg/CbSupportPei/CbSupportPei.c b/CorebootModulePkg/CbSupportPei/CbSupportPei.c
index b3705fa4cd..46b08d2f08 100755
--- a/CorebootModulePkg/CbSupportPei/CbSupportPei.c
+++ b/CorebootModulePkg/CbSupportPei/CbSupportPei.c
@@ -171,6 +171,8 @@ CbPeiEntryPoint (
FRAME_BUFFER_INFO* pFbInfo;
ACPI_BOARD_INFO* pAcpiBoardInfo;
UINTN PmCtrlRegBase, PmTimerRegBase, ResetRegAddress, ResetValue;
+ UINTN PmEvtBase;
+ UINTN PmGpeEnBase;
LowMemorySize = 0;
HighMemorySize = 0;
@@ -355,7 +357,7 @@ CbPeiEntryPoint (
//
// Create guid hob for acpi board information
//
- Status = CbParseFadtInfo (&PmCtrlRegBase, &PmTimerRegBase, &ResetRegAddress, &ResetValue);
+ Status = CbParseFadtInfo (&PmCtrlRegBase, &PmTimerRegBase, &ResetRegAddress, &ResetValue, &PmEvtBase, &PmGpeEnBase);
ASSERT_EFI_ERROR (Status);
pAcpiBoardInfo = NULL;
pAcpiBoardInfo = BuildGuidHob (&gUefiAcpiBoardInfoGuid, sizeof (ACPI_BOARD_INFO));
@@ -364,6 +366,8 @@ CbPeiEntryPoint (
pAcpiBoardInfo->PmTimerRegBase = (UINT64)PmTimerRegBase;
pAcpiBoardInfo->ResetRegAddress = (UINT64)ResetRegAddress;
pAcpiBoardInfo->ResetValue = (UINT8)ResetValue;
+ pAcpiBoardInfo->PmEvtBase = (UINT64)PmEvtBase;
+ pAcpiBoardInfo->PmGpeEnBase = (UINT64)PmGpeEnBase;
DEBUG ((EFI_D_ERROR, "Create acpi board info guid hob\n"));
//
diff --git a/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h b/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h
index 66ebffef2d..609e989186 100644
--- a/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h
+++ b/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h
@@ -20,7 +20,9 @@
///
extern EFI_GUID gUefiAcpiBoardInfoGuid;
-typedef struct {
+typedef struct {
+ UINT64 PmEvtBase;
+ UINT64 PmGpeEnBase;
UINT64 PmCtrlRegBase;
UINT64 PmTimerRegBase;
UINT64 ResetRegAddress;
diff --git a/CorebootModulePkg/Include/Library/CbParseLib.h b/CorebootModulePkg/Include/Library/CbParseLib.h
index 36727d3f58..170375b365 100644
--- a/CorebootModulePkg/Include/Library/CbParseLib.h
+++ b/CorebootModulePkg/Include/Library/CbParseLib.h
@@ -91,6 +91,8 @@ CbParseSmbiosTable (
@param pPmTimerReg Pointer to the address of power management timer register
@param pResetReg Pointer to the address of system reset register
@param pResetValue Pointer to the value to be writen to the system reset register
+ @param pPmEvtReg Pointer to the address of power management event register
+ @param pPmGpeEnReg Pointer to the address of power management GPE enable register
@retval RETURN_SUCCESS Successfully find out all the required fadt information.
@retval RETURN_NOT_FOUND Failed to find the fadt table.
@@ -101,7 +103,9 @@ CbParseFadtInfo (
IN UINTN* pPmCtrlReg,
IN UINTN* pPmTimerReg,
IN UINTN* pResetReg,
- IN UINTN* pResetValue
+ IN UINTN* pResetValue,
+ IN UINTN* pPmEvtReg,
+ IN UINTN* pPmGpeEnReg
);
/**