audk/MdeModulePkg/Universal/Acpi/AcpiTableDxe
Star Zeng 01267e224b MdeModulePkg AcpiTableDxe: Install config table at ACPI data change
UEFI spec has clear description below:

Configuration Table Groups
The GUID for a configuration table also defines a corresponding event group GUID with the same value.
If the data represented by a configuration table is changed,
InstallConfigurationTable() should be called.
When InstallConfigurationTable() is called, the corresponding event is signaled.
When this event is signaled,
any components that cache information from the configuration table can optionally update their cached state.
For example, EFI_ACPI_TABLE_GUID defines a configuration table for ACPI data.
When ACPI data is changed, InstallConfigurationTable() is called.
During the execution of InstallConfigurationTable(),
a corresponding event group with EFI_ACPI_TABLE_GUID is signaled,
allowing an application to invalidate any cached ACPI data.

But current implementation only InstallConfigurationTable() at first time ACPI data change.
  if (((Version & EFI_ACPI_TABLE_VERSION_1_0B) != 0) &&
      !AcpiTableInstance->TablesInstalled1) {
    Status = gBS->InstallConfigurationTable (&gEfiAcpi10TableGuid, AcpiTableInstance->Rsdp1);
    if (EFI_ERROR (Status)) {
      return EFI_ABORTED;
    }

    AcpiTableInstance->TablesInstalled1 = TRUE;
  }

  if (((Version & ACPI_TABLE_VERSION_GTE_2_0) != 0) &&
      !AcpiTableInstance->TablesInstalled3) {
    Status = gBS->InstallConfigurationTable (&gEfiAcpiTableGuid, AcpiTableInstance->Rsdp3);
    if (EFI_ERROR (Status)) {
      return EFI_ABORTED;
    }

    AcpiTableInstance->TablesInstalled3= TRUE;
  }

The AcpiTableInstance->TablesInstalled1 and AcpiTableInstance->TablesInstalled3 conditional judgment need to be removed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17885 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-08 09:44:46 +00:00
..
AcpiSdt.c MdeModulePkg AcpiTableDxe: Cover EFI_ACPI_TABLE_VERSION_5_0. 2015-06-17 02:51:47 +00:00
AcpiSdt.h MdeModulePkg AcpiTableDxe: Cover EFI_ACPI_TABLE_VERSION_5_0. 2015-06-17 02:51:47 +00:00
AcpiTable.c Fix VS2003 build error 2010-05-19 06:02:17 +00:00
AcpiTable.h MdeModulePkg AcpiTableDxe: Install config table at ACPI data change 2015-07-08 09:44:46 +00:00
AcpiTableDxe.inf MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:34:06 +00:00
AcpiTableDxe.uni MdeModulePkg: Convert non DOS format files to DOS format and remove unused module UNI files. 2014-09-03 08:39:12 +00:00
AcpiTableDxeExtra.uni MdeModulePkg: INF/DEC file updates to EDK II packages 2014-08-28 06:53:43 +00:00
AcpiTableProtocol.c MdeModulePkg AcpiTableDxe: Install config table at ACPI data change 2015-07-08 09:44:46 +00:00
Aml.c 1) Add type cast for better coding style. 2014-08-07 08:54:34 +00:00
AmlChild.c Update code to support VS2013 tool chain. 2014-07-28 07:52:57 +00:00
AmlNamespace.c Update code to support VS2013 tool chain. 2014-07-28 07:52:57 +00:00
AmlOption.c MdeModulePkg: 2010-05-18 02:26:49 +00:00
AmlString.c MdeModulePkg: Remove variables that are set, but not used 2011-10-31 15:58:05 +00:00