Skip to content

Commit

Permalink
Namespace: Add support of OSDT table.
Browse files Browse the repository at this point in the history
This patch adds OSDT (Override System Definition Table) support.
When OSDT is loaded, conflict namespace objects will be overridden
by the AML interpreter. Robert Moore, Lv Zheng.

Signed-off-by: Robert Moore <robert.moore@intel.com>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
  • Loading branch information
acpibob authored and Lv Zheng committed Jun 1, 2015
1 parent 6084e34 commit 27415c8
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 2 deletions.
8 changes: 8 additions & 0 deletions source/components/namespace/nsparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,14 @@ AcpiNsOneCompleteParse (
AmlStart, AmlLength, NULL, (UINT8) PassNumber);
}

/* Found OSDT table, enable the namespace override feature */

if (ACPI_COMPARE_NAME(Table->Signature, ACPI_SIG_OSDT) &&
PassNumber == ACPI_IMODE_LOAD_PASS1)
{
WalkState->NamespaceOverride = TRUE;
}

if (ACPI_FAILURE (Status))
{
AcpiDsDeleteWalkState (WalkState);
Expand Down
4 changes: 3 additions & 1 deletion source/components/tables/tbxfload.c
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,9 @@ AcpiTbLoadNamespace (
if ((!ACPI_COMPARE_NAME (&(AcpiGbl_RootTableList.Tables[i].Signature),
ACPI_SIG_SSDT) &&
!ACPI_COMPARE_NAME (&(AcpiGbl_RootTableList.Tables[i].Signature),
ACPI_SIG_PSDT)) ||
ACPI_SIG_PSDT) &&
!ACPI_COMPARE_NAME (&(AcpiGbl_RootTableList.Tables[i].Signature),
ACPI_SIG_OSDT)) ||
ACPI_FAILURE (AcpiTbValidateTable (
&AcpiGbl_RootTableList.Tables[i])))
{
Expand Down
3 changes: 2 additions & 1 deletion source/components/utilities/utmisc.c
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ AcpiUtIsAmlTable (

if (ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_DSDT) ||
ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_PSDT) ||
ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_SSDT))
ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_SSDT) ||
ACPI_COMPARE_NAME (Table->Signature, ACPI_SIG_OSDT))
{
return (TRUE);
}
Expand Down
1 change: 1 addition & 0 deletions source/include/actbl.h
Original file line number Diff line number Diff line change
Expand Up @@ -139,6 +139,7 @@
#define ACPI_SIG_DSDT "DSDT" /* Differentiated System Description Table */
#define ACPI_SIG_FADT "FACP" /* Fixed ACPI Description Table */
#define ACPI_SIG_FACS "FACS" /* Firmware ACPI Control Structure */
#define ACPI_SIG_OSDT "OSDT" /* Override System Description Table */
#define ACPI_SIG_PSDT "PSDT" /* Persistent System Description Table */
#define ACPI_SIG_RSDP "RSD PTR " /* Root System Description Pointer */
#define ACPI_SIG_RSDT "RSDT" /* Root System Description Table */
Expand Down

0 comments on commit 27415c8

Please sign in to comment.