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.d...@intel.com> --- CorebootModulePkg/CbSupportPei/CbSupportPei.c | 6 +++++- CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h | 4 +++- 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 b3705fa..2fb28d4 100755 --- a/CorebootModulePkg/CbSupportPei/CbSupportPei.c +++ b/CorebootModulePkg/CbSupportPei/CbSupportPei.c @@ -169,10 +169,12 @@ CbPeiEntryPoint ( SYSTEM_TABLE_INFO* pSystemTableInfo; FRAME_BUFFER_INFO FbInfo; FRAME_BUFFER_INFO* pFbInfo; ACPI_BOARD_INFO* pAcpiBoardInfo; UINTN PmCtrlRegBase, PmTimerRegBase, ResetRegAddress, ResetValue; + UINTN PmEvtBase; + UINTN PmGpeEnBase; LowMemorySize = 0; HighMemorySize = 0; Status = CbParseMemoryInfo (&LowMemorySize, &HighMemorySize); @@ -353,19 +355,21 @@ CbPeiEntryPoint ( DEBUG ((EFI_D_ERROR, "Create system table info guid hob\n")); // // 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)); ASSERT (pAcpiBoardInfo != NULL); pAcpiBoardInfo->PmCtrlRegBase = (UINT64)PmCtrlRegBase; 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")); // // Create guid hob for frame buffer information // diff --git a/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h b/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h index 66ebffe..609e989 100644 --- a/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h +++ b/CorebootModulePkg/Include/Guid/AcpiBoardInfoGuid.h @@ -18,11 +18,13 @@ /// /// Board information GUID /// extern EFI_GUID gUefiAcpiBoardInfoGuid; -typedef struct { +typedef struct { + UINT64 PmEvtBase; + UINT64 PmGpeEnBase; UINT64 PmCtrlRegBase; UINT64 PmTimerRegBase; UINT64 ResetRegAddress; UINT8 ResetValue; } ACPI_BOARD_INFO; diff --git a/CorebootModulePkg/Include/Library/CbParseLib.h b/CorebootModulePkg/Include/Library/CbParseLib.h index 36727d3..170375b 100644 --- a/CorebootModulePkg/Include/Library/CbParseLib.h +++ b/CorebootModulePkg/Include/Library/CbParseLib.h @@ -89,21 +89,25 @@ CbParseSmbiosTable ( @param pPmCtrlReg Pointer to the address of power management control register @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. **/ RETURN_STATUS CbParseFadtInfo ( IN UINTN* pPmCtrlReg, IN UINTN* pPmTimerReg, IN UINTN* pResetReg, - IN UINTN* pResetValue + IN UINTN* pResetValue, + IN UINTN* pPmEvtReg, + IN UINTN* pPmGpeEnReg ); /** Find the serial port information -- 1.9.5.msysgit.0 ------------------------------------------------------------------------------ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel