Re: [edk2-devel] [edk2-platforms PATCH V1 1/6] Platform/Intel: Modifying PCD class for some ACPI related PCDs
Reviewed-by: Isaac Oram -Original Message- From: Sinha, Ankit Sent: Thursday, July 7, 2022 10:33 AM To: devel@edk2.groups.io Cc: Chiu, Chasel ; Desimone, Nathaniel L ; Oram, Isaac W ; Dong, Eric Subject: [edk2-platforms PATCH V1 1/6] Platform/Intel: Modifying PCD class for some ACPI related PCDs From: ankit13s Some PCDs related to FADT entries need to be defined as dynamic for boottime customization and update. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Isaac Oram Cc: Eric Dong Signed-off-by: Ankit Sinha --- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 29 ++- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf | 24 +--- Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec | 30 ++-- 3 files changed, 44 insertions(+), 39 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c index 3c9f79de5c6c..c7e87cbd7d9d 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c @@ -1068,7 +1068,7 @@ InstallMcfgFromScratch ( &McfgTable->Header, EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE, EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION, - 0 + FixedPcdGet32 (PcdAcpiDefaultOemRevision) ); if (EFI_ERROR (Status)) { return Status; @@ -1195,6 +1195,7 @@ PlatformUpdateTables ( FadtHeader->PreferredPmProfile= PcdGet8 (PcdFadtPreferredPmProfile); FadtHeader->IaPcBootArch = PcdGet16 (PcdFadtIaPcBootArch); FadtHeader->Flags = PcdGet32 (PcdFadtFlags); +FadtHeader->SmiCmd= PcdGet32 (PcdFadtSmiCmd); FadtHeader->AcpiEnable= PcdGet8 (PcdAcpiEnableSwSmi); FadtHeader->AcpiDisable = PcdGet8 (PcdAcpiDisableSwSmi); FadtHeader->Pm1aEvtBlk= PcdGet16 (PcdAcpiPm1AEventBlockAddress); @@ -1209,6 +1210,7 @@ PlatformUpdateTables ( FadtHeader->Gpe1Base = PcdGet8 (PcdAcpiGpe1Base); FadtHeader->XPm1aEvtBlk.Address = PcdGet16 (PcdAcpiPm1AEventBlockAddress); +FadtHeader->XPm1bEvtBlk.Address = PcdGet16 (PcdAcpiPm1BEventBlockAddress); FadtHeader->XPm1aCntBlk.Address = PcdGet16 (PcdAcpiPm1AControlBlockAddress); FadtHeader->XPm1bCntBlk.Address = PcdGet16 (PcdAcpiPm1BControlBlockAddress); FadtHeader->XPm2CntBlk.Address= PcdGet16 (PcdAcpiPm2ControlBlockAddress); @@ -1216,7 +1218,7 @@ PlatformUpdateTables ( FadtHeader->XGpe0Blk.Address = PcdGet16 (PcdAcpiGpe0BlockAddress); FadtHeader->XGpe1Blk.Address = PcdGet16 (PcdAcpiGpe1BlockAddress); -FadtHeader->ResetReg.AccessSize = PcdGet8 (PcdAcpiResetRegAccessSize); +FadtHeader->ResetReg.AccessSize = PcdGet8 (PcdAcpiResetRegisterAccessSize); FadtHeader->XPm1aEvtBlk.AccessSize= PcdGet8 (PcdAcpiXPm1aEvtBlkAccessSize); FadtHeader->XPm1bEvtBlk.AccessSize= PcdGet8 (PcdAcpiXPm1bEvtBlkAccessSize); FadtHeader->XPm1aCntBlk.AccessSize= PcdGet8 (PcdAcpiXPm1aCntBlkAccessSize); @@ -1226,22 +1228,23 @@ PlatformUpdateTables ( FadtHeader->XGpe0Blk.AccessSize = PcdGet8 (PcdAcpiXGpe0BlkAccessSize); FadtHeader->XGpe1Blk.AccessSize = PcdGet8 (PcdAcpiXGpe1BlkAccessSize); -FadtHeader->SleepControlReg.AddressSpaceId= PcdGet8 (PcdAcpiSleepControlRegAddressSpaceId); -FadtHeader->SleepControlReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepControlRegRegisterBitOffset); -FadtHeader->SleepControlReg.AccessSize= PcdGet8 (PcdAcpiSleepControlRegAccessSize); -FadtHeader->SleepControlReg.Address = PcdGet64 (PcdAcpiSleepControlRegAddress); -FadtHeader->SleepStatusReg.AddressSpaceId = PcdGet8 (PcdAcpiSleepStatusRegAddressSpaceId); -FadtHeader->SleepStatusReg.RegisterBitWidth = PcdGet8 (PcdAcpiSleepStatusRegRegisterBitWidth); -FadtHeader->SleepStatusReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepStatusRegRegisterBitOffset); -FadtHeader->SleepStatusReg.AccessSize = PcdGet8 (PcdAcpiSleepStatusRegAccessSize); -FadtHeader->SleepStatusReg.Address= PcdGet64 (PcdAcpiSleepStatusRegAddress); +FadtHeader->SleepControlReg.AddressSpaceId= PcdGet8 (PcdAcpiSleepControlRegisterAddressSpaceId); +FadtHeader->SleepControlReg.RegisterBitWidth = PcdGet8 (PcdAcpiSleepControlRegisterBitWidth); +FadtHeader->SleepControlReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepControlRegisterBitOffset); +FadtHeader->SleepContr
[edk2-devel] [edk2-platforms PATCH V1 1/6] Platform/Intel: Modifying PCD class for some ACPI related PCDs
From: ankit13s Some PCDs related to FADT entries need to be defined as dynamic for boottime customization and update. Cc: Chasel Chiu Cc: Nate DeSimone Cc: Isaac Oram Cc: Eric Dong Signed-off-by: Ankit Sinha --- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c | 29 ++- Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.inf | 24 +--- Platform/Intel/MinPlatformPkg/MinPlatformPkg.dec | 30 ++-- 3 files changed, 44 insertions(+), 39 deletions(-) diff --git a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c index 3c9f79de5c6c..c7e87cbd7d9d 100644 --- a/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c +++ b/Platform/Intel/MinPlatformPkg/Acpi/AcpiTables/AcpiPlatform.c @@ -1068,7 +1068,7 @@ InstallMcfgFromScratch ( &McfgTable->Header, EFI_ACPI_3_0_PCI_EXPRESS_MEMORY_MAPPED_CONFIGURATION_SPACE_BASE_ADDRESS_DESCRIPTION_TABLE_SIGNATURE, EFI_ACPI_MEMORY_MAPPED_CONFIGURATION_SPACE_ACCESS_TABLE_REVISION, - 0 + FixedPcdGet32 (PcdAcpiDefaultOemRevision) ); if (EFI_ERROR (Status)) { return Status; @@ -1195,6 +1195,7 @@ PlatformUpdateTables ( FadtHeader->PreferredPmProfile= PcdGet8 (PcdFadtPreferredPmProfile); FadtHeader->IaPcBootArch = PcdGet16 (PcdFadtIaPcBootArch); FadtHeader->Flags = PcdGet32 (PcdFadtFlags); +FadtHeader->SmiCmd= PcdGet32 (PcdFadtSmiCmd); FadtHeader->AcpiEnable= PcdGet8 (PcdAcpiEnableSwSmi); FadtHeader->AcpiDisable = PcdGet8 (PcdAcpiDisableSwSmi); FadtHeader->Pm1aEvtBlk= PcdGet16 (PcdAcpiPm1AEventBlockAddress); @@ -1209,6 +1210,7 @@ PlatformUpdateTables ( FadtHeader->Gpe1Base = PcdGet8 (PcdAcpiGpe1Base); FadtHeader->XPm1aEvtBlk.Address = PcdGet16 (PcdAcpiPm1AEventBlockAddress); +FadtHeader->XPm1bEvtBlk.Address = PcdGet16 (PcdAcpiPm1BEventBlockAddress); FadtHeader->XPm1aCntBlk.Address = PcdGet16 (PcdAcpiPm1AControlBlockAddress); FadtHeader->XPm1bCntBlk.Address = PcdGet16 (PcdAcpiPm1BControlBlockAddress); FadtHeader->XPm2CntBlk.Address= PcdGet16 (PcdAcpiPm2ControlBlockAddress); @@ -1216,7 +1218,7 @@ PlatformUpdateTables ( FadtHeader->XGpe0Blk.Address = PcdGet16 (PcdAcpiGpe0BlockAddress); FadtHeader->XGpe1Blk.Address = PcdGet16 (PcdAcpiGpe1BlockAddress); -FadtHeader->ResetReg.AccessSize = PcdGet8 (PcdAcpiResetRegAccessSize); +FadtHeader->ResetReg.AccessSize = PcdGet8 (PcdAcpiResetRegisterAccessSize); FadtHeader->XPm1aEvtBlk.AccessSize= PcdGet8 (PcdAcpiXPm1aEvtBlkAccessSize); FadtHeader->XPm1bEvtBlk.AccessSize= PcdGet8 (PcdAcpiXPm1bEvtBlkAccessSize); FadtHeader->XPm1aCntBlk.AccessSize= PcdGet8 (PcdAcpiXPm1aCntBlkAccessSize); @@ -1226,22 +1228,23 @@ PlatformUpdateTables ( FadtHeader->XGpe0Blk.AccessSize = PcdGet8 (PcdAcpiXGpe0BlkAccessSize); FadtHeader->XGpe1Blk.AccessSize = PcdGet8 (PcdAcpiXGpe1BlkAccessSize); -FadtHeader->SleepControlReg.AddressSpaceId= PcdGet8 (PcdAcpiSleepControlRegAddressSpaceId); -FadtHeader->SleepControlReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepControlRegRegisterBitOffset); -FadtHeader->SleepControlReg.AccessSize= PcdGet8 (PcdAcpiSleepControlRegAccessSize); -FadtHeader->SleepControlReg.Address = PcdGet64 (PcdAcpiSleepControlRegAddress); -FadtHeader->SleepStatusReg.AddressSpaceId = PcdGet8 (PcdAcpiSleepStatusRegAddressSpaceId); -FadtHeader->SleepStatusReg.RegisterBitWidth = PcdGet8 (PcdAcpiSleepStatusRegRegisterBitWidth); -FadtHeader->SleepStatusReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepStatusRegRegisterBitOffset); -FadtHeader->SleepStatusReg.AccessSize = PcdGet8 (PcdAcpiSleepStatusRegAccessSize); -FadtHeader->SleepStatusReg.Address= PcdGet64 (PcdAcpiSleepStatusRegAddress); +FadtHeader->SleepControlReg.AddressSpaceId= PcdGet8 (PcdAcpiSleepControlRegisterAddressSpaceId); +FadtHeader->SleepControlReg.RegisterBitWidth = PcdGet8 (PcdAcpiSleepControlRegisterBitWidth); +FadtHeader->SleepControlReg.RegisterBitOffset = PcdGet8 (PcdAcpiSleepControlRegisterBitOffset); +FadtHeader->SleepControlReg.AccessSize= PcdGet8 (PcdAcpiSleepControlRegisterAccessSize); +FadtHeader->SleepControlReg.Address = PcdGet64 (PcdAcpiSleepControlRegisterAddress); +FadtHeader->SleepStatusReg.AddressSpaceId = PcdGet8 (PcdAcpiSleepStatusRegisterAddressSpaceId); +FadtHeader->SleepStatusReg.