mirror of https://github.com/acidanthera/audk.git
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
This commit is contained in:
parent
9cd7d3c5ba
commit
cb3e201f02
|
@ -171,6 +171,8 @@ CbPeiEntryPoint (
|
||||||
FRAME_BUFFER_INFO* pFbInfo;
|
FRAME_BUFFER_INFO* pFbInfo;
|
||||||
ACPI_BOARD_INFO* pAcpiBoardInfo;
|
ACPI_BOARD_INFO* pAcpiBoardInfo;
|
||||||
UINTN PmCtrlRegBase, PmTimerRegBase, ResetRegAddress, ResetValue;
|
UINTN PmCtrlRegBase, PmTimerRegBase, ResetRegAddress, ResetValue;
|
||||||
|
UINTN PmEvtBase;
|
||||||
|
UINTN PmGpeEnBase;
|
||||||
|
|
||||||
LowMemorySize = 0;
|
LowMemorySize = 0;
|
||||||
HighMemorySize = 0;
|
HighMemorySize = 0;
|
||||||
|
@ -355,7 +357,7 @@ CbPeiEntryPoint (
|
||||||
//
|
//
|
||||||
// Create guid hob for acpi board information
|
// 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);
|
ASSERT_EFI_ERROR (Status);
|
||||||
pAcpiBoardInfo = NULL;
|
pAcpiBoardInfo = NULL;
|
||||||
pAcpiBoardInfo = BuildGuidHob (&gUefiAcpiBoardInfoGuid, sizeof (ACPI_BOARD_INFO));
|
pAcpiBoardInfo = BuildGuidHob (&gUefiAcpiBoardInfoGuid, sizeof (ACPI_BOARD_INFO));
|
||||||
|
@ -364,6 +366,8 @@ CbPeiEntryPoint (
|
||||||
pAcpiBoardInfo->PmTimerRegBase = (UINT64)PmTimerRegBase;
|
pAcpiBoardInfo->PmTimerRegBase = (UINT64)PmTimerRegBase;
|
||||||
pAcpiBoardInfo->ResetRegAddress = (UINT64)ResetRegAddress;
|
pAcpiBoardInfo->ResetRegAddress = (UINT64)ResetRegAddress;
|
||||||
pAcpiBoardInfo->ResetValue = (UINT8)ResetValue;
|
pAcpiBoardInfo->ResetValue = (UINT8)ResetValue;
|
||||||
|
pAcpiBoardInfo->PmEvtBase = (UINT64)PmEvtBase;
|
||||||
|
pAcpiBoardInfo->PmGpeEnBase = (UINT64)PmGpeEnBase;
|
||||||
DEBUG ((EFI_D_ERROR, "Create acpi board info guid hob\n"));
|
DEBUG ((EFI_D_ERROR, "Create acpi board info guid hob\n"));
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
@ -20,7 +20,9 @@
|
||||||
///
|
///
|
||||||
extern EFI_GUID gUefiAcpiBoardInfoGuid;
|
extern EFI_GUID gUefiAcpiBoardInfoGuid;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
UINT64 PmEvtBase;
|
||||||
|
UINT64 PmGpeEnBase;
|
||||||
UINT64 PmCtrlRegBase;
|
UINT64 PmCtrlRegBase;
|
||||||
UINT64 PmTimerRegBase;
|
UINT64 PmTimerRegBase;
|
||||||
UINT64 ResetRegAddress;
|
UINT64 ResetRegAddress;
|
||||||
|
|
|
@ -91,6 +91,8 @@ CbParseSmbiosTable (
|
||||||
@param pPmTimerReg Pointer to the address of power management timer register
|
@param pPmTimerReg Pointer to the address of power management timer register
|
||||||
@param pResetReg Pointer to the address of system reset 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 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_SUCCESS Successfully find out all the required fadt information.
|
||||||
@retval RETURN_NOT_FOUND Failed to find the fadt table.
|
@retval RETURN_NOT_FOUND Failed to find the fadt table.
|
||||||
|
@ -101,7 +103,9 @@ CbParseFadtInfo (
|
||||||
IN UINTN* pPmCtrlReg,
|
IN UINTN* pPmCtrlReg,
|
||||||
IN UINTN* pPmTimerReg,
|
IN UINTN* pPmTimerReg,
|
||||||
IN UINTN* pResetReg,
|
IN UINTN* pResetReg,
|
||||||
IN UINTN* pResetValue
|
IN UINTN* pResetValue,
|
||||||
|
IN UINTN* pPmEvtReg,
|
||||||
|
IN UINTN* pPmGpeEnReg
|
||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue