From 29110e390dfa78cb1c825049d81402f8c7b09f85 Mon Sep 17 00:00:00 2001 From: aystarik Date: Wed, 29 Jun 2005 20:01:06 +0000 Subject: [PATCH] Support for Logical RSDP and subtables date 2002.03.20.21.47.00; author rmoore1; state Exp; --- source/include/acpiosxf.h | 2 +- source/include/actables.h | 68 ++++++++++++++++++++++++++++++--------- 2 files changed, 54 insertions(+), 16 deletions(-) diff --git a/source/include/acpiosxf.h b/source/include/acpiosxf.h index bbd8a86bc..c9da8b8c5 100644 --- a/source/include/acpiosxf.h +++ b/source/include/acpiosxf.h @@ -178,7 +178,7 @@ AcpiOsTerminate ( ACPI_STATUS AcpiOsGetRootPointer ( UINT32 Flags, - ACPI_PHYSICAL_ADDRESS *RsdpPhysicalAddress); + ACPI_POINTER *Address); /* diff --git a/source/include/actables.h b/source/include/actables.h index f97efae55..b49eb66c0 100644 --- a/source/include/actables.h +++ b/source/include/actables.h @@ -1,7 +1,7 @@ /****************************************************************************** * * Name: actables.h - ACPI table management - * $Revision: 1.23 $ + * $Revision: 1.36 $ * *****************************************************************************/ @@ -9,8 +9,8 @@ * * 1. Copyright Notice * - * Some or all of this work - Copyright (c) 1999, Intel Corp. All rights - * reserved. + * Some or all of this work - Copyright (c) 1999 - 2002, Intel Corp. + * All rights reserved. * * 2. License * @@ -128,6 +128,27 @@ AcpiTbHandleToObject ( UINT16 TableId, ACPI_TABLE_DESC **TableDesc); +/* + * tbconvrt - Table conversion routines + */ + +ACPI_STATUS +AcpiTbConvertToXsdt ( + ACPI_TABLE_DESC *TableInfo, + UINT32 *NumberOfTables); + +ACPI_STATUS +AcpiTbConvertTableFadt ( + void); + +ACPI_STATUS +AcpiTbBuildCommonFacs ( + ACPI_TABLE_DESC *TableInfo); + +UINT32 +AcpiTbGetTableCount ( + RSDP_DESCRIPTOR *RSDP, + ACPI_TABLE_HEADER *RSDT); /* * tbget - Table "get" routines @@ -141,19 +162,27 @@ AcpiTbGetTablePtr ( ACPI_STATUS AcpiTbGetTable ( - UINT64 PhysicalAddress, - ACPI_TABLE_HEADER *BufferPtr, + ACPI_POINTER *Address, ACPI_TABLE_DESC *TableInfo); ACPI_STATUS AcpiTbVerifyRsdp ( - UINT64 RSDP_PhysicalAddress); + ACPI_POINTER *Address); + +void +AcpiTbGetRsdtAddress ( + ACPI_POINTER *OutAddress); ACPI_STATUS -AcpiTbGetTableFacs ( - ACPI_TABLE_HEADER *BufferPtr, - ACPI_TABLE_DESC *TableInfo); +AcpiTbValidateRsdt ( + ACPI_TABLE_HEADER *TablePtr); +ACPI_STATUS +AcpiTbGetTablePointer ( + ACPI_POINTER *Address, + UINT32 Flags, + UINT32 *Size, + ACPI_TABLE_HEADER **TablePtr); /* * tbgetall - Get all firmware ACPI tables @@ -174,6 +203,11 @@ AcpiTbInstallTable ( ACPI_TABLE_HEADER *TablePtr, ACPI_TABLE_DESC *TableInfo); +ACPI_STATUS +AcpiTbMatchSignature ( + NATIVE_CHAR *Signature, + ACPI_TABLE_DESC *TableInfo); + ACPI_STATUS AcpiTbRecognizeTable ( ACPI_TABLE_HEADER *TablePtr, @@ -225,22 +259,26 @@ AcpiTbScanMemoryForRsdp ( ACPI_STATUS AcpiTbFindRsdp ( - ACPI_TABLE_DESC *TableInfo); + ACPI_TABLE_DESC *TableInfo, + UINT32 Flags); /* * tbutils - common table utilities */ -BOOLEAN -AcpiTbSystemTablePointer ( - void *Where); +ACPI_STATUS +AcpiTbFindTable ( + NATIVE_CHAR *Signature, + NATIVE_CHAR *OemId, + NATIVE_CHAR *OemTableId, + ACPI_TABLE_HEADER **TablePtr); ACPI_STATUS AcpiTbMapAcpiTable ( - UINT64 PhysicalAddress, + ACPI_PHYSICAL_ADDRESS PhysicalAddress, UINT32 *Size, - void **LogicalAddress); + ACPI_TABLE_HEADER **LogicalAddress); ACPI_STATUS AcpiTbVerifyTableChecksum (