diff options
author | Guo Dong <guo.dong@intel.com> | 2015-06-25 16:00:29 +0000 |
---|---|---|
committer | gdong1 <gdong1@Edk2> | 2015-06-25 16:00:29 +0000 |
commit | cb3e201f023e5b8002967f1813d7b15052bcdb81 (patch) | |
tree | 2cfa8db766dfb72086ce03b16f5f22e63760216d | |
parent | 9cd7d3c5ba447b440ea189aad70665373099429d (diff) | |
download | edk2-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-x | CorebootModulePkg/CbSupportPei/CbSupportPei.c | 6 | ||||
-rw-r--r-- | CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h | 4 | ||||
-rw-r--r-- | CorebootModulePkg/Include/Library/CbParseLib.h | 6 |
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
);
/**
|