[Midnightbsd-cvs] src: dev/acpica: Remove files from the old version of acpica

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Sep 18 22:02:43 EDT 2008


Log Message:
-----------
Remove files from the old version of acpica

Removed Files:
-------------
    src/sys/contrib/dev/acpica:
        tbconvrt.c
        tbget.c
        tbgetall.c
        tbrsdt.c

-------------- next part --------------
--- sys/contrib/dev/acpica/tbget.c
+++ /dev/null
@@ -1,587 +0,0 @@
-/******************************************************************************
- *
- * Module Name: tbget - ACPI Table get* routines
- *              $Revision: 90 $
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights.  You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code.  No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision.  In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change.  Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee.  Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution.  In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government.  In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-#define __TBGET_C__
-
-#include <contrib/dev/acpica/acpi.h>
-#include <contrib/dev/acpica/actables.h>
-
-
-#define _COMPONENT          ACPI_TABLES
-        ACPI_MODULE_NAME    ("tbget")
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTable
- *
- * PARAMETERS:  Address             - Address of table to retrieve.  Can be
- *                                    Logical or Physical
- *              TableInfo           - Where table info is returned
- *
- * RETURN:      None
- *
- * DESCRIPTION: Get entire table of unknown size.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetTable (
-    ACPI_POINTER            *Address,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_STATUS             Status;
-    ACPI_TABLE_HEADER       Header;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetTable");
-
-
-    /*
-     * Get the header in order to get signature and table size
-     */
-    Status = AcpiTbGetTableHeader (Address, &Header);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Get the entire table */
-
-    Status = AcpiTbGetTableBody (Address, &Header, TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_REPORT_ERROR (("Could not get ACPI table (size %X), %s\n",
-            Header.Length, AcpiFormatException (Status)));
-        return_ACPI_STATUS (Status);
-    }
-
-    return_ACPI_STATUS (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTableHeader
- *
- * PARAMETERS:  Address             - Address of table to retrieve.  Can be
- *                                    Logical or Physical
- *              ReturnHeader        - Where the table header is returned
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Get an ACPI table header.  Works in both physical or virtual
- *              addressing mode.  Works with both physical or logical pointers.
- *              Table is either copied or mapped, depending on the pointer
- *              type and mode of the processor.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetTableHeader (
-    ACPI_POINTER            *Address,
-    ACPI_TABLE_HEADER       *ReturnHeader)
-{
-    ACPI_STATUS             Status = AE_OK;
-    ACPI_TABLE_HEADER       *Header = NULL;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetTableHeader");
-
-
-    /*
-     * Flags contains the current processor mode (Virtual or Physical addressing)
-     * The PointerType is either Logical or Physical
-     */
-    switch (Address->PointerType)
-    {
-    case ACPI_PHYSMODE_PHYSPTR:
-    case ACPI_LOGMODE_LOGPTR:
-
-        /* Pointer matches processor mode, copy the header */
-
-        ACPI_MEMCPY (ReturnHeader, Address->Pointer.Logical, sizeof (ACPI_TABLE_HEADER));
-        break;
-
-
-    case ACPI_LOGMODE_PHYSPTR:
-
-        /* Create a logical address for the physical pointer*/
-
-        Status = AcpiOsMapMemory (Address->Pointer.Physical, sizeof (ACPI_TABLE_HEADER),
-                                    (void *) &Header);
-        if (ACPI_FAILURE (Status))
-        {
-            ACPI_REPORT_ERROR (("Could not map memory at %8.8X%8.8X for length %X\n",
-                ACPI_FORMAT_UINT64 (Address->Pointer.Physical),
-                sizeof (ACPI_TABLE_HEADER)));
-            return_ACPI_STATUS (Status);
-        }
-
-        /* Copy header and delete mapping */
-
-        ACPI_MEMCPY (ReturnHeader, Header, sizeof (ACPI_TABLE_HEADER));
-        AcpiOsUnmapMemory (Header, sizeof (ACPI_TABLE_HEADER));
-        break;
-
-
-    default:
-
-        ACPI_REPORT_ERROR (("Invalid address flags %X\n",
-            Address->PointerType));
-        return_ACPI_STATUS (AE_BAD_PARAMETER);
-    }
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_TABLES, "Table Signature: [%4.4s]\n",
-        ReturnHeader->Signature));
-
-    return_ACPI_STATUS (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTableBody
- *
- * PARAMETERS:  Address             - Address of table to retrieve.  Can be
- *                                    Logical or Physical
- *              Header              - Header of the table to retrieve
- *              TableInfo           - Where the table info is returned
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Get an entire ACPI table with support to allow the host OS to
- *              replace the table with a newer version (table override.)
- *              Works in both physical or virtual
- *              addressing mode.  Works with both physical or logical pointers.
- *              Table is either copied or mapped, depending on the pointer
- *              type and mode of the processor.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetTableBody (
-    ACPI_POINTER            *Address,
-    ACPI_TABLE_HEADER       *Header,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_STATUS             Status;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetTableBody");
-
-
-    if (!TableInfo || !Address)
-    {
-        return_ACPI_STATUS (AE_BAD_PARAMETER);
-    }
-
-    /*
-     * Attempt table override.
-     */
-    Status = AcpiTbTableOverride (Header, TableInfo);
-    if (ACPI_SUCCESS (Status))
-    {
-        /* Table was overridden by the host OS */
-
-        return_ACPI_STATUS (Status);
-    }
-
-    /* No override, get the original table */
-
-    Status = AcpiTbGetThisTable (Address, Header, TableInfo);
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbTableOverride
- *
- * PARAMETERS:  Header              - Pointer to table header
- *              TableInfo           - Return info if table is overridden
- *
- * RETURN:      None
- *
- * DESCRIPTION: Attempts override of current table with a new one if provided
- *              by the host OS.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbTableOverride (
-    ACPI_TABLE_HEADER       *Header,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_TABLE_HEADER       *NewTable;
-    ACPI_STATUS             Status;
-    ACPI_POINTER            Address;
-
-
-    ACPI_FUNCTION_TRACE ("TbTableOverride");
-
-
-    /*
-     * The OSL will examine the header and decide whether to override this
-     * table.  If it decides to override, a table will be returned in NewTable,
-     * which we will then copy.
-     */
-    Status = AcpiOsTableOverride (Header, &NewTable);
-    if (ACPI_FAILURE (Status))
-    {
-        /* Some severe error from the OSL, but we basically ignore it */
-
-        ACPI_REPORT_ERROR (("Could not override ACPI table, %s\n",
-            AcpiFormatException (Status)));
-        return_ACPI_STATUS (Status);
-    }
-
-    if (!NewTable)
-    {
-        /* No table override */
-
-        return_ACPI_STATUS (AE_NO_ACPI_TABLES);
-    }
-
-    /*
-     * We have a new table to override the old one.  Get a copy of
-     * the new one.  We know that the new table has a logical pointer.
-     */
-    Address.PointerType     = ACPI_LOGICAL_POINTER | ACPI_LOGICAL_ADDRESSING;
-    Address.Pointer.Logical = NewTable;
-
-    Status = AcpiTbGetThisTable (&Address, NewTable, TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_REPORT_ERROR (("Could not copy override ACPI table, %s\n",
-            AcpiFormatException (Status)));
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Copy the table info */
-
-    ACPI_REPORT_INFO (("Table [%4.4s] replaced by host OS\n",
-        TableInfo->Pointer->Signature));
-
-    return_ACPI_STATUS (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetThisTable
- *
- * PARAMETERS:  Address             - Address of table to retrieve.  Can be
- *                                    Logical or Physical
- *              Header              - Header of the table to retrieve
- *              TableInfo           - Where the table info is returned
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Get an entire ACPI table.  Works in both physical or virtual
- *              addressing mode.  Works with both physical or logical pointers.
- *              Table is either copied or mapped, depending on the pointer
- *              type and mode of the processor.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetThisTable (
-    ACPI_POINTER            *Address,
-    ACPI_TABLE_HEADER       *Header,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_TABLE_HEADER       *FullTable = NULL;
-    UINT8                   Allocation;
-    ACPI_STATUS             Status = AE_OK;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetThisTable");
-
-
-    /*
-     * Flags contains the current processor mode (Virtual or Physical addressing)
-     * The PointerType is either Logical or Physical
-     */
-    switch (Address->PointerType)
-    {
-    case ACPI_PHYSMODE_PHYSPTR:
-    case ACPI_LOGMODE_LOGPTR:
-
-        /* Pointer matches processor mode, copy the table to a new buffer */
-
-        FullTable = ACPI_MEM_ALLOCATE (Header->Length);
-        if (!FullTable)
-        {
-            ACPI_REPORT_ERROR (("Could not allocate table memory for [%4.4s] length %X\n",
-                Header->Signature, Header->Length));
-            return_ACPI_STATUS (AE_NO_MEMORY);
-        }
-
-        /* Copy the entire table (including header) to the local buffer */
-
-        ACPI_MEMCPY (FullTable, Address->Pointer.Logical, Header->Length);
-
-        /* Save allocation type */
-
-        Allocation = ACPI_MEM_ALLOCATED;
-        break;
-
-
-    case ACPI_LOGMODE_PHYSPTR:
-
-        /*
-         * Just map the table's physical memory
-         * into our address space.
-         */
-        Status = AcpiOsMapMemory (Address->Pointer.Physical, (ACPI_SIZE) Header->Length,
-                                    (void *) &FullTable);
-        if (ACPI_FAILURE (Status))
-        {
-            ACPI_REPORT_ERROR (("Could not map memory for table [%4.4s] at %8.8X%8.8X for length %X\n",
-                Header->Signature,
-                ACPI_FORMAT_UINT64 (Address->Pointer.Physical), Header->Length));
-            return (Status);
-        }
-
-        /* Save allocation type */
-
-        Allocation = ACPI_MEM_MAPPED;
-        break;
-
-
-    default:
-
-        ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Invalid address flags %X\n",
-            Address->PointerType));
-        return_ACPI_STATUS (AE_BAD_PARAMETER);
-    }
-
-    /*
-     * Validate checksum for _most_ tables,
-     * even the ones whose signature we don't recognize
-     */
-    if (TableInfo->Type != ACPI_TABLE_FACS)
-    {
-        Status = AcpiTbVerifyTableChecksum (FullTable);
-
-#if (!ACPI_CHECKSUM_ABORT)
-        if (ACPI_FAILURE (Status))
-        {
-            /* Ignore the error if configuration says so */
-
-            Status = AE_OK;
-        }
-#endif
-    }
-
-    /* Return values */
-
-    TableInfo->Pointer      = FullTable;
-    TableInfo->Length       = (ACPI_SIZE) Header->Length;
-    TableInfo->Allocation   = Allocation;
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
-        "Found table [%4.4s] at %8.8X%8.8X, mapped/copied to %p\n",
-        FullTable->Signature,
-        ACPI_FORMAT_UINT64 (Address->Pointer.Physical), FullTable));
-
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTablePtr
- *
- * PARAMETERS:  TableType       - one of the defined table types
- *              Instance        - Which table of this type
- *              TablePtrLoc     - pointer to location to place the pointer for
- *                                return
- *
- * RETURN:      Status
- *
- * DESCRIPTION: This function is called to get the pointer to an ACPI table.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetTablePtr (
-    ACPI_TABLE_TYPE         TableType,
-    UINT32                  Instance,
-    ACPI_TABLE_HEADER       **TablePtrLoc)
-{
-    ACPI_TABLE_DESC         *TableDesc;
-    UINT32                  i;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetTablePtr");
-
-
-    if (!AcpiGbl_DSDT)
-    {
-        return_ACPI_STATUS (AE_NO_ACPI_TABLES);
-    }
-
-    if (TableType > ACPI_TABLE_MAX)
-    {
-        return_ACPI_STATUS (AE_BAD_PARAMETER);
-    }
-
-    /*
-     * For all table types (Single/Multiple), the first
-     * instance is always in the list head.
-     */
-    if (Instance == 1)
-    {
-        /* Get the first */
-
-        *TablePtrLoc = NULL;
-        if (AcpiGbl_TableLists[TableType].Next)
-        {
-            *TablePtrLoc = AcpiGbl_TableLists[TableType].Next->Pointer;
-        }
-        return_ACPI_STATUS (AE_OK);
-    }
-
-    /*
-     * Check for instance out of range
-     */
-    if (Instance > AcpiGbl_TableLists[TableType].Count)
-    {
-        return_ACPI_STATUS (AE_NOT_EXIST);
-    }
-
-    /* Walk the list to get the desired table
-     * Since the if (Instance == 1) check above checked for the
-     * first table, setting TableDesc equal to the .Next member
-     * is actually pointing to the second table.  Therefore, we
-     * need to walk from the 2nd table until we reach the Instance
-     * that the user is looking for and return its table pointer.
-     */
-    TableDesc = AcpiGbl_TableLists[TableType].Next;
-    for (i = 2; i < Instance; i++)
-    {
-        TableDesc = TableDesc->Next;
-    }
-
-    /* We are now pointing to the requested table's descriptor */
-
-    *TablePtrLoc = TableDesc->Pointer;
-
-    return_ACPI_STATUS (AE_OK);
-}
-
--- sys/contrib/dev/acpica/tbgetall.c
+++ /dev/null
@@ -1,402 +0,0 @@
-/******************************************************************************
- *
- * Module Name: tbgetall - Get all required ACPI tables
- *              $Revision: 9 $
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights.  You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code.  No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision.  In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change.  Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee.  Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution.  In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government.  In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-#define __TBGETALL_C__
-
-#include <contrib/dev/acpica/acpi.h>
-#include <contrib/dev/acpica/actables.h>
-
-
-#define _COMPONENT          ACPI_TABLES
-        ACPI_MODULE_NAME    ("tbgetall")
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetPrimaryTable
- *
- * PARAMETERS:  Address             - Physical address of table to retrieve
- *              *TableInfo          - Where the table info is returned
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Maps the physical address of table into a logical address
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetPrimaryTable (
-    ACPI_POINTER            *Address,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_STATUS             Status;
-    ACPI_TABLE_HEADER       Header;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetPrimaryTable");
-
-
-    /* Ignore a NULL address in the RSDT */
-
-    if (!Address->Pointer.Value)
-    {
-        return_ACPI_STATUS (AE_OK);
-    }
-
-    /*
-     * Get the header in order to get signature and table size
-     */
-    Status = AcpiTbGetTableHeader (Address, &Header);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Clear the TableInfo */
-
-    ACPI_MEMSET (TableInfo, 0, sizeof (ACPI_TABLE_DESC));
-
-    /*
-     * Check the table signature and make sure it is recognized.
-     * Also checks the header checksum
-     */
-    TableInfo->Pointer = &Header;
-    Status = AcpiTbRecognizeTable (TableInfo, ACPI_TABLE_PRIMARY);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Get the entire table */
-
-    Status = AcpiTbGetTableBody (Address, &Header, TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Install the table */
-
-    Status = AcpiTbInstallTable (TableInfo);
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetSecondaryTable
- *
- * PARAMETERS:  Address             - Physical address of table to retrieve
- *              *TableInfo          - Where the table info is returned
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Maps the physical address of table into a logical address
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetSecondaryTable (
-    ACPI_POINTER            *Address,
-    ACPI_STRING             Signature,
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_STATUS             Status;
-    ACPI_TABLE_HEADER       Header;
-
-
-    ACPI_FUNCTION_TRACE_STR ("TbGetSecondaryTable", Signature);
-
-
-    /* Get the header in order to match the signature */
-
-    Status = AcpiTbGetTableHeader (Address, &Header);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Signature must match request */
-
-    if (ACPI_STRNCMP (Header.Signature, Signature, ACPI_NAME_SIZE))
-    {
-        ACPI_REPORT_ERROR (("Incorrect table signature - wanted [%s] found [%4.4s]\n",
-            Signature, Header.Signature));
-        return_ACPI_STATUS (AE_BAD_SIGNATURE);
-    }
-
-    /*
-     * Check the table signature and make sure it is recognized.
-     * Also checks the header checksum
-     */
-    TableInfo->Pointer = &Header;
-    Status = AcpiTbRecognizeTable (TableInfo, ACPI_TABLE_SECONDARY);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Get the entire table */
-
-    Status = AcpiTbGetTableBody (Address, &Header, TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Install the table */
-
-    Status = AcpiTbInstallTable (TableInfo);
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetRequiredTables
- *
- * PARAMETERS:  None
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Load and validate tables other than the RSDT.  The RSDT must
- *              already be loaded and validated.
- *
- *              Get the minimum set of ACPI tables, namely:
- *
- *              1) FADT (via RSDT in loop below)
- *              2) FACS (via FADT)
- *              3) DSDT (via FADT)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetRequiredTables (
-    void)
-{
-    ACPI_STATUS             Status = AE_OK;
-    UINT32                  i;
-    ACPI_TABLE_DESC         TableInfo;
-    ACPI_POINTER            Address;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetRequiredTables");
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "%d ACPI tables in RSDT\n",
-        AcpiGbl_RsdtTableCount));
-
-
-    Address.PointerType   = AcpiGbl_TableFlags | ACPI_LOGICAL_ADDRESSING;
-
-    /*
-     * Loop through all table pointers found in RSDT.
-     * This will NOT include the FACS and DSDT - we must get
-     * them after the loop.
-     *
-     * The only tables we are interested in getting here is the FADT and
-     * any SSDTs.
-     */
-    for (i = 0; i < AcpiGbl_RsdtTableCount; i++)
-    {
-        /* Get the table address from the common internal XSDT */
-
-        Address.Pointer.Value = ACPI_GET_ADDRESS (AcpiGbl_XSDT->TableOffsetEntry[i]);
-
-        /*
-         * Get the tables needed by this subsystem (FADT and any SSDTs).
-         * NOTE: All other tables are completely ignored at this time.
-         */
-        Status = AcpiTbGetPrimaryTable (&Address, &TableInfo);
-        if ((Status != AE_OK) && (Status != AE_TABLE_NOT_SUPPORTED))
-        {
-            ACPI_REPORT_WARNING (("%s, while getting table at %8.8X%8.8X\n",
-                AcpiFormatException (Status),
-                ACPI_FORMAT_UINT64 (Address.Pointer.Value)));
-        }
-    }
-
-    /* We must have a FADT to continue */
-
-    if (!AcpiGbl_FADT)
-    {
-        ACPI_REPORT_ERROR (("No FADT present in RSDT/XSDT\n"));
-        return_ACPI_STATUS (AE_NO_ACPI_TABLES);
-    }
-
-    /*
-     * Convert the FADT to a common format.  This allows earlier revisions of the
-     * table to coexist with newer versions, using common access code.
-     */
-    Status = AcpiTbConvertTableFadt ();
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_REPORT_ERROR (("Could not convert FADT to internal common format\n"));
-        return_ACPI_STATUS (Status);
-    }
-
-    /*
-     * Get the FACS (Pointed to by the FADT)
-     */
-    Address.Pointer.Value = ACPI_GET_ADDRESS (AcpiGbl_FADT->XFirmwareCtrl);
-
-    Status = AcpiTbGetSecondaryTable (&Address, FACS_SIG, &TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_REPORT_ERROR (("Could not get/install the FACS, %s\n",
-            AcpiFormatException (Status)));
-        return_ACPI_STATUS (Status);
-    }
-
-    /*
-     * Create the common FACS pointer table
-     * (Contains pointers to the original table)
-     */
-    Status = AcpiTbBuildCommonFacs (&TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /*
-     * Get/install the DSDT (Pointed to by the FADT)
-     */
-    Address.Pointer.Value = ACPI_GET_ADDRESS (AcpiGbl_FADT->XDsdt);
-
-    Status = AcpiTbGetSecondaryTable (&Address, DSDT_SIG, &TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_REPORT_ERROR (("Could not get/install the DSDT\n"));
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Set Integer Width (32/64) based upon DSDT revision */
-
-    AcpiUtSetIntegerWidth (AcpiGbl_DSDT->Revision);
-
-    /* Dump the entire DSDT */
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_TABLES,
-        "Hex dump of entire DSDT, size %d (0x%X), Integer width = %d\n",
-        AcpiGbl_DSDT->Length, AcpiGbl_DSDT->Length, AcpiGbl_IntegerBitWidth));
-    ACPI_DUMP_BUFFER ((UINT8 *) AcpiGbl_DSDT, AcpiGbl_DSDT->Length);
-
-    /* Always delete the RSDP mapping, we are done with it */
-
-    AcpiTbDeleteTablesByType (ACPI_TABLE_RSDP);
-    return_ACPI_STATUS (Status);
-}
-
-
--- sys/contrib/dev/acpica/tbconvrt.c
+++ /dev/null
@@ -1,660 +0,0 @@
-/******************************************************************************
- *
- * Module Name: tbconvrt - ACPI Table conversion utilities
- *              $Revision: 57 $
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights.  You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code.  No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision.  In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change.  Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee.  Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution.  In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government.  In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-#define __TBCONVRT_C__
-
-#include <contrib/dev/acpica/acpi.h>
-#include <contrib/dev/acpica/actables.h>
-
-
-#define _COMPONENT          ACPI_TABLES
-        ACPI_MODULE_NAME    ("tbconvrt")
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTableCount
- *
- * PARAMETERS:  RSDP            - Pointer to the RSDP
- *              RSDT            - Pointer to the RSDT/XSDT
- *
- * RETURN:      The number of tables pointed to by the RSDT or XSDT.
- *
- * DESCRIPTION: Calculate the number of tables.  Automatically handles either
- *              an RSDT or XSDT.
- *
- ******************************************************************************/
-
-UINT32
-AcpiTbGetTableCount (
-    RSDP_DESCRIPTOR         *RSDP,
-    ACPI_TABLE_HEADER       *RSDT)
-{
-    UINT32                  PointerSize;
-
-
-    ACPI_FUNCTION_ENTRY ();
-
-
-    if (RSDP->Revision < 2)
-    {
-        PointerSize = sizeof (UINT32);
-    }
-    else
-    {
-        PointerSize = sizeof (UINT64);
-    }
-
-    /*
-     * Determine the number of tables pointed to by the RSDT/XSDT.
-     * This is defined by the ACPI Specification to be the number of
-     * pointers contained within the RSDT/XSDT.  The size of the pointers
-     * is architecture-dependent.
-     */
-    return ((RSDT->Length - sizeof (ACPI_TABLE_HEADER)) / PointerSize);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbConvertToXsdt
- *
- * PARAMETERS:  TableInfo       - Info about the RSDT
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Convert an RSDT to an XSDT (internal common format)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbConvertToXsdt (
-    ACPI_TABLE_DESC         *TableInfo)
-{
-    ACPI_SIZE               TableSize;
-    UINT32                  i;
-    XSDT_DESCRIPTOR         *NewTable;
-
-
-    ACPI_FUNCTION_ENTRY ();
-
-
-    /* Compute size of the converted XSDT */
-
-    TableSize = ((ACPI_SIZE) AcpiGbl_RsdtTableCount * sizeof (UINT64)) +
-                    sizeof (ACPI_TABLE_HEADER);
-
-    /* Allocate an XSDT */
-
-    NewTable = ACPI_MEM_CALLOCATE (TableSize);
-    if (!NewTable)
-    {
-        return (AE_NO_MEMORY);
-    }
-
-    /* Copy the header and set the length */
-
-    ACPI_MEMCPY (NewTable, TableInfo->Pointer, sizeof (ACPI_TABLE_HEADER));
-    NewTable->Length = (UINT32) TableSize;
-
-    /* Copy the table pointers */
-
-    for (i = 0; i < AcpiGbl_RsdtTableCount; i++)
-    {
-        if (AcpiGbl_RSDP->Revision < 2)
-        {
-            ACPI_STORE_ADDRESS (NewTable->TableOffsetEntry[i],
-                (ACPI_CAST_PTR (RSDT_DESCRIPTOR_REV1, TableInfo->Pointer))->TableOffsetEntry[i]);
-        }
-        else
-        {
-            NewTable->TableOffsetEntry[i] =
-                (ACPI_CAST_PTR (XSDT_DESCRIPTOR, TableInfo->Pointer))->TableOffsetEntry[i];
-        }
-    }
-
-    /* Delete the original table (either mapped or in a buffer) */
-
-    AcpiTbDeleteSingleTable (TableInfo);
-
-    /* Point the table descriptor to the new table */
-
-    TableInfo->Pointer      = ACPI_CAST_PTR (ACPI_TABLE_HEADER, NewTable);
-    TableInfo->Length       = TableSize;
-    TableInfo->Allocation   = ACPI_MEM_ALLOCATED;
-
-    return (AE_OK);
-}
-
-
-/******************************************************************************
- *
- * FUNCTION:    AcpiTbInitGenericAddress
- *
- * PARAMETERS:  NewGasStruct        - GAS struct to be initialized
- *              RegisterBitWidth    - Width of this register
- *              Address             - Address of the register
- *
- * RETURN:      None
- *
- * DESCRIPTION: Initialize a GAS structure.
- *
- ******************************************************************************/
-
-static void
-AcpiTbInitGenericAddress (
-    ACPI_GENERIC_ADDRESS    *NewGasStruct,
-    UINT8                   RegisterBitWidth,
-    ACPI_PHYSICAL_ADDRESS   Address)
-{
-
-    ACPI_STORE_ADDRESS (NewGasStruct->Address, Address);
-
-    NewGasStruct->AddressSpaceId    = ACPI_ADR_SPACE_SYSTEM_IO;
-    NewGasStruct->RegisterBitWidth  = RegisterBitWidth;
-    NewGasStruct->RegisterBitOffset = 0;
-    NewGasStruct->Reserved          = 0;
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbConvertFadt1
- *
- * PARAMETERS:  LocalFadt       - Pointer to new FADT
- *              OriginalFadt    - Pointer to old FADT
- *
- * RETURN:      Populates LocalFadt
- *
- * DESCRIPTION: Convert an ACPI 1.0 FADT to common internal format
- *
- ******************************************************************************/
-
-static void
-AcpiTbConvertFadt1 (
-    FADT_DESCRIPTOR_REV2   *LocalFadt,
-    FADT_DESCRIPTOR_REV1   *OriginalFadt)
-{
-
-
-    /* ACPI 1.0 FACS */
-    /* The BIOS stored FADT should agree with Revision 1.0 */
-
-    /*
-     * Copy the table header and the common part of the tables.
-     *
-     * The 2.0 table is an extension of the 1.0 table, so the entire 1.0
-     * table can be copied first, then expand some fields to 64 bits.
-     */
-    ACPI_MEMCPY (LocalFadt, OriginalFadt, sizeof (FADT_DESCRIPTOR_REV1));
-
-    /* Convert table pointers to 64-bit fields */
-
-    ACPI_STORE_ADDRESS (LocalFadt->XFirmwareCtrl, LocalFadt->V1_FirmwareCtrl);
-    ACPI_STORE_ADDRESS (LocalFadt->XDsdt, LocalFadt->V1_Dsdt);
-
-    /*
-     * System Interrupt Model isn't used in ACPI 2.0 (LocalFadt->Reserved1 = 0;)
-     */
-
-    /*
-     * This field is set by the OEM to convey the preferred power management
-     * profile to OSPM. It doesn't have any 1.0 equivalence.  Since we don't
-     * know what kind of 32-bit system this is, we will use "unspecified".
-     */
-    LocalFadt->Prefer_PM_Profile = PM_UNSPECIFIED;
-
-    /*
-     * Processor Performance State Control. This is the value OSPM writes to
-     * the SMI_CMD register to assume processor performance state control
-     * responsibility. There isn't any equivalence in 1.0, leave it zeroed.
-     */
-    LocalFadt->PstateCnt = 0;
-
-    /*
-     * Support for the _CST object and C States change notification.
-     * This data item hasn't any 1.0 equivalence so leave it zero.
-     */
-    LocalFadt->CstCnt = 0;
-
-    /*
-     * FADT Rev 2 was an interim FADT released between ACPI 1.0 and ACPI 2.0.
-     * It primarily adds the FADT reset mechanism.
-     */
-    if ((OriginalFadt->Revision == 2) &&
-        (OriginalFadt->Length == sizeof (FADT_DESCRIPTOR_REV2_MINUS)))
-    {
-        /*
-         * Grab the entire generic address struct, plus the 1-byte reset value
-         * that immediately follows.
-         */
-        ACPI_MEMCPY (&LocalFadt->ResetRegister,
-            &((FADT_DESCRIPTOR_REV2_MINUS *) OriginalFadt)->ResetRegister,
-            sizeof (ACPI_GENERIC_ADDRESS) + 1);
-    }
-    else
-    {
-        /*
-         * Since there isn't any equivalence in 1.0 and since it is highly
-         * likely that a 1.0 system has legacy support.
-         */
-        LocalFadt->IapcBootArch = BAF_LEGACY_DEVICES;
-    }
-
-    /*
-     * Convert the V1.0 block addresses to V2.0 GAS structures
-     */
-    AcpiTbInitGenericAddress (&LocalFadt->XPm1aEvtBlk, LocalFadt->Pm1EvtLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Pm1aEvtBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XPm1bEvtBlk, LocalFadt->Pm1EvtLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Pm1bEvtBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XPm1aCntBlk, LocalFadt->Pm1CntLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Pm1aCntBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XPm1bCntBlk, LocalFadt->Pm1CntLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Pm1bCntBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XPm2CntBlk,  LocalFadt->Pm2CntLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Pm2CntBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XPmTmrBlk,   LocalFadt->PmTmLen,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_PmTmrBlk);
-    AcpiTbInitGenericAddress (&LocalFadt->XGpe0Blk,    0,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Gpe0Blk);
-    AcpiTbInitGenericAddress (&LocalFadt->XGpe1Blk,    0,
-                             (ACPI_PHYSICAL_ADDRESS)   LocalFadt->V1_Gpe1Blk);
-
-    /* Create separate GAS structs for the PM1 Enable registers */
-
-    AcpiTbInitGenericAddress (&AcpiGbl_XPm1aEnable,
-         (UINT8) ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen),
-         (ACPI_PHYSICAL_ADDRESS) (ACPI_GET_ADDRESS (LocalFadt->XPm1aEvtBlk.Address) +
-            ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen)));
-
-    /* PM1B is optional; leave null if not present */
-
-    if (ACPI_GET_ADDRESS (LocalFadt->XPm1bEvtBlk.Address))
-    {
-        AcpiTbInitGenericAddress (&AcpiGbl_XPm1bEnable,
-             (UINT8) ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen),
-             (ACPI_PHYSICAL_ADDRESS) (ACPI_GET_ADDRESS (LocalFadt->XPm1bEvtBlk.Address) +
-                ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen)));
-    }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbConvertFadt2
- *
- * PARAMETERS:  LocalFadt       - Pointer to new FADT
- *              OriginalFadt    - Pointer to old FADT
- *
- * RETURN:      Populates LocalFadt
- *
- * DESCRIPTION: Convert an ACPI 2.0 FADT to common internal format.
- *              Handles optional "X" fields.
- *
- ******************************************************************************/
-
-static void
-AcpiTbConvertFadt2 (
-    FADT_DESCRIPTOR_REV2   *LocalFadt,
-    FADT_DESCRIPTOR_REV2   *OriginalFadt)
-{
-
-    /* We have an ACPI 2.0 FADT but we must copy it to our local buffer */
-
-    ACPI_MEMCPY (LocalFadt, OriginalFadt, sizeof (FADT_DESCRIPTOR_REV2));
-
-    /*
-     * "X" fields are optional extensions to the original V1.0 fields, so
-     * we must selectively expand V1.0 fields if the corresponding X field
-     * is zero.
-     */
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XFirmwareCtrl)))
-    {
-        ACPI_STORE_ADDRESS (LocalFadt->XFirmwareCtrl, LocalFadt->V1_FirmwareCtrl);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XDsdt)))
-    {
-        ACPI_STORE_ADDRESS (LocalFadt->XDsdt, LocalFadt->V1_Dsdt);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPm1aEvtBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPm1aEvtBlk,
-            LocalFadt->Pm1EvtLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Pm1aEvtBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPm1bEvtBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPm1bEvtBlk,
-            LocalFadt->Pm1EvtLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Pm1bEvtBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPm1aCntBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPm1aCntBlk,
-            LocalFadt->Pm1CntLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Pm1aCntBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPm1bCntBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPm1bCntBlk,
-            LocalFadt->Pm1CntLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Pm1bCntBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPm2CntBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPm2CntBlk,
-            LocalFadt->Pm2CntLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Pm2CntBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XPmTmrBlk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XPmTmrBlk,
-            LocalFadt->PmTmLen, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_PmTmrBlk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XGpe0Blk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XGpe0Blk,
-            0, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Gpe0Blk);
-    }
-
-    if (!(ACPI_GET_ADDRESS (LocalFadt->XGpe1Blk.Address)))
-    {
-        AcpiTbInitGenericAddress (&LocalFadt->XGpe1Blk,
-            0, (ACPI_PHYSICAL_ADDRESS) LocalFadt->V1_Gpe1Blk);
-    }
-
-    /* Create separate GAS structs for the PM1 Enable registers */
-
-    AcpiTbInitGenericAddress (&AcpiGbl_XPm1aEnable,
-        (UINT8) ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen),
-        (ACPI_PHYSICAL_ADDRESS) (ACPI_GET_ADDRESS (LocalFadt->XPm1aEvtBlk.Address) +
-            ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen)));
-    AcpiGbl_XPm1aEnable.AddressSpaceId  = LocalFadt->XPm1aEvtBlk.AddressSpaceId;
-
-    /* PM1B is optional; leave null if not present */
-
-    if (ACPI_GET_ADDRESS (LocalFadt->XPm1bEvtBlk.Address))
-    {
-        AcpiTbInitGenericAddress (&AcpiGbl_XPm1bEnable,
-            (UINT8) ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen),
-            (ACPI_PHYSICAL_ADDRESS) (ACPI_GET_ADDRESS (LocalFadt->XPm1bEvtBlk.Address) +
-                ACPI_DIV_2 (AcpiGbl_FADT->Pm1EvtLen)));
-        AcpiGbl_XPm1bEnable.AddressSpaceId  = LocalFadt->XPm1bEvtBlk.AddressSpaceId;
-    }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbConvertTableFadt
- *
- * PARAMETERS:  None
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Converts a BIOS supplied ACPI 1.0 FADT to a local
- *              ACPI 2.0 FADT. If the BIOS supplied a 2.0 FADT then it is simply
- *              copied to the local FADT.  The ACPI CA software uses this
- *              local FADT. Thus a significant amount of special #ifdef
- *              type codeing is saved.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbConvertTableFadt (void)
-{
-    FADT_DESCRIPTOR_REV2   *LocalFadt;
-    ACPI_TABLE_DESC        *TableDesc;
-
-
-    ACPI_FUNCTION_TRACE ("TbConvertTableFadt");
-
-
-    /*
-     * AcpiGbl_FADT is valid. Validate the FADT length. The table must be
-     * at least as long as the version 1.0 FADT
-     */
-    if (AcpiGbl_FADT->Length < sizeof (FADT_DESCRIPTOR_REV1))
-    {
-        ACPI_REPORT_ERROR (("FADT is invalid, too short: 0x%X\n", AcpiGbl_FADT->Length));
-        return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH);
-    }
-
-    /* Allocate buffer for the ACPI 2.0(+) FADT */
-
-    LocalFadt = ACPI_MEM_CALLOCATE (sizeof (FADT_DESCRIPTOR_REV2));
-    if (!LocalFadt)
-    {
-        return_ACPI_STATUS (AE_NO_MEMORY);
-    }
-
-    if (AcpiGbl_FADT->Revision >= FADT2_REVISION_ID)
-    {
-        if (AcpiGbl_FADT->Length < sizeof (FADT_DESCRIPTOR_REV2))
-        {
-            /* Length is too short to be a V2.0 table */
-
-            ACPI_REPORT_WARNING (("Inconsistent FADT length (0x%X) and revision (0x%X), using FADT V1.0 portion of table\n",
-                        AcpiGbl_FADT->Length, AcpiGbl_FADT->Revision));
-
-            AcpiTbConvertFadt1 (LocalFadt, (void *) AcpiGbl_FADT);
-        }
-        else
-        {
-            /* Valid V2.0 table */
-
-            AcpiTbConvertFadt2 (LocalFadt, AcpiGbl_FADT);
-        }
-    }
-    else
-    {
-        /* Valid V1.0 table */
-
-        AcpiTbConvertFadt1 (LocalFadt, (void *) AcpiGbl_FADT);
-    }
-
-    /*
-     * Global FADT pointer will point to the new common V2.0 FADT
-     */
-    AcpiGbl_FADT = LocalFadt;
-    AcpiGbl_FADT->Length = sizeof (FADT_DESCRIPTOR);
-
-    /* Free the original table */
-
-    TableDesc = AcpiGbl_TableLists[ACPI_TABLE_FADT].Next;
-    AcpiTbDeleteSingleTable (TableDesc);
-
-    /* Install the new table */
-
-    TableDesc->Pointer      = ACPI_CAST_PTR (ACPI_TABLE_HEADER, AcpiGbl_FADT);
-    TableDesc->Allocation   = ACPI_MEM_ALLOCATED;
-    TableDesc->Length       = sizeof (FADT_DESCRIPTOR_REV2);
-
-    /* Dump the entire FADT */
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_TABLES,
-        "Hex dump of common internal FADT, size %d (%X)\n",
-        AcpiGbl_FADT->Length, AcpiGbl_FADT->Length));
-    ACPI_DUMP_BUFFER ((UINT8 *) (AcpiGbl_FADT), AcpiGbl_FADT->Length);
-
-    return_ACPI_STATUS (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbConvertTableFacs
- *
- * PARAMETERS:  TableInfo       - Info for currently installad FACS
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Convert ACPI 1.0 and ACPI 2.0 FACS to a common internal
- *              table format.
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbBuildCommonFacs (
-    ACPI_TABLE_DESC         *TableInfo)
-{
-
-    ACPI_FUNCTION_TRACE ("TbBuildCommonFacs");
-
-
-    /* Absolute minimum length is 24, but the ACPI spec says 64 */
-
-    if (AcpiGbl_FACS->Length < 24)
-    {
-        ACPI_REPORT_ERROR (("Invalid FACS table length: 0x%X\n", AcpiGbl_FACS->Length));
-        return_ACPI_STATUS (AE_INVALID_TABLE_LENGTH);
-    }
-
-    if (AcpiGbl_FACS->Length < 64)
-    {
-        ACPI_REPORT_WARNING (("FACS is shorter than the ACPI specification allows: 0x%X, using anyway\n",
-            AcpiGbl_FACS->Length));
-    }
-
-    /* Copy fields to the new FACS */
-
-    AcpiGbl_CommonFACS.GlobalLock = &(AcpiGbl_FACS->GlobalLock);
-
-    if ((AcpiGbl_RSDP->Revision < 2) ||
-        (AcpiGbl_FACS->Length < 32)  ||
-        (!(ACPI_GET_ADDRESS (AcpiGbl_FACS->XFirmwareWakingVector))))
-    {
-        /* ACPI 1.0 FACS or short table or optional X_ field is zero */
-
-        AcpiGbl_CommonFACS.FirmwareWakingVector = ACPI_CAST_PTR (UINT64, &(AcpiGbl_FACS->FirmwareWakingVector));
-        AcpiGbl_CommonFACS.VectorWidth = 32;
-    }
-    else
-    {
-        /* ACPI 2.0 FACS with valid X_ field */
-
-        AcpiGbl_CommonFACS.FirmwareWakingVector = &AcpiGbl_FACS->XFirmwareWakingVector;
-        AcpiGbl_CommonFACS.VectorWidth = 64;
-    }
-
-    return_ACPI_STATUS (AE_OK);
-}
-
-
--- sys/contrib/dev/acpica/tbrsdt.c
+++ /dev/null
@@ -1,417 +0,0 @@
-/******************************************************************************
- *
- * Module Name: tbrsdt - ACPI RSDT table utilities
- *              $Revision: 13 $
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999 - 2004, Intel Corp.
- * All rights reserved.
- *
- * 2. License
- *
- * 2.1. This is your license from Intel Corp. under its intellectual property
- * rights.  You may have additional license terms from the party that provided
- * you this software, covering your right to use that party's intellectual
- * property rights.
- *
- * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a
- * copy of the source code appearing in this file ("Covered Code") an
- * irrevocable, perpetual, worldwide license under Intel's copyrights in the
- * base code distributed originally by Intel ("Original Intel Code") to copy,
- * make derivatives, distribute, use and display any portion of the Covered
- * Code in any form, with the right to sublicense such rights; and
- *
- * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent
- * license (with the right to sublicense), under only those claims of Intel
- * patents that are infringed by the Original Intel Code, to make, use, sell,
- * offer to sell, and import the Covered Code and derivative works thereof
- * solely to the minimum extent necessary to exercise the above copyright
- * license, and in no event shall the patent license extend to any additions
- * to or modifications of the Original Intel Code.  No other license or right
- * is granted directly or by implication, estoppel or otherwise;
- *
- * The above copyright and patent license is granted only if the following
- * conditions are met:
- *
- * 3. Conditions
- *
- * 3.1. Redistribution of Source with Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification with rights to further distribute source must include
- * the above Copyright Notice, the above License, this list of Conditions,
- * and the following Disclaimer and Export Compliance provision.  In addition,
- * Licensee must cause all Covered Code to which Licensee contributes to
- * contain a file documenting the changes Licensee made to create that Covered
- * Code and the date of any change.  Licensee must include in that file the
- * documentation of any changes made by any predecessor Licensee.  Licensee
- * must include a prominent statement that the modification is derived,
- * directly or indirectly, from Original Intel Code.
- *
- * 3.2. Redistribution of Source with no Rights to Further Distribute Source.
- * Redistribution of source code of any substantial portion of the Covered
- * Code or modification without rights to further distribute source must
- * include the following Disclaimer and Export Compliance provision in the
- * documentation and/or other materials provided with distribution.  In
- * addition, Licensee may not authorize further sublicense of source of any
- * portion of the Covered Code, and must include terms to the effect that the
- * license from Licensee to its licensee is limited to the intellectual
- * property embodied in the software Licensee provides to its licensee, and
- * not to intellectual property embodied in modifications its licensee may
- * make.
- *
- * 3.3. Redistribution of Executable. Redistribution in executable form of any
- * substantial portion of the Covered Code or modification must reproduce the
- * above Copyright Notice, and the following Disclaimer and Export Compliance
- * provision in the documentation and/or other materials provided with the
- * distribution.
- *
- * 3.4. Intel retains all right, title, and interest in and to the Original
- * Intel Code.
- *
- * 3.5. Neither the name Intel nor any other trademark owned or controlled by
- * Intel shall be used in advertising or otherwise to promote the sale, use or
- * other dealings in products derived from or relating to the Covered Code
- * without prior written authorization from Intel.
- *
- * 4. Disclaimer and Export Compliance
- *
- * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED
- * HERE.  ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE
- * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT,  ASSISTANCE,
- * INSTALLATION, TRAINING OR OTHER SERVICES.  INTEL WILL NOT PROVIDE ANY
- * UPDATES, ENHANCEMENTS OR EXTENSIONS.  INTEL SPECIFICALLY DISCLAIMS ANY
- * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A
- * PARTICULAR PURPOSE.
- *
- * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES
- * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR
- * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT,
- * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY
- * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL
- * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES.  THESE LIMITATIONS
- * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY
- * LIMITED REMEDY.
- *
- * 4.3. Licensee shall not export, either directly or indirectly, any of this
- * software or system incorporating such software without first obtaining any
- * required license or other approval from the U. S. Department of Commerce or
- * any other agency or department of the United States Government.  In the
- * event Licensee exports any such software from the United States or
- * re-exports any such software from a foreign destination, Licensee shall
- * ensure that the distribution and export/re-export of the software is in
- * compliance with all laws, regulations, orders, or other restrictions of the
- * U.S. Export Administration Regulations. Licensee agrees that neither it nor
- * any of its subsidiaries will export/re-export any technical data, process,
- * software, or service, directly or indirectly, to any country for which the
- * United States government or any agency thereof requires an export license,
- * other governmental approval, or letter of assurance, without first obtaining
- * such license, approval or letter.
- *
- *****************************************************************************/
-
-#define __TBRSDT_C__
-
-#include <contrib/dev/acpica/acpi.h>
-#include <contrib/dev/acpica/actables.h>
-
-
-#define _COMPONENT          ACPI_TABLES
-        ACPI_MODULE_NAME    ("tbrsdt")
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbVerifyRsdp
- *
- * PARAMETERS:  Address         - RSDP (Pointer to RSDT)
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Load and validate the RSDP (ptr) and RSDT (table)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbVerifyRsdp (
-    ACPI_POINTER            *Address)
-{
-    ACPI_TABLE_DESC         TableInfo;
-    ACPI_STATUS             Status;
-    RSDP_DESCRIPTOR         *Rsdp;
-
-
-    ACPI_FUNCTION_TRACE ("TbVerifyRsdp");
-
-
-    switch (Address->PointerType)
-    {
-    case ACPI_LOGICAL_POINTER:
-
-        Rsdp = Address->Pointer.Logical;
-        break;
-
-    case ACPI_PHYSICAL_POINTER:
-        /*
-         * Obtain access to the RSDP structure
-         */
-        Status = AcpiOsMapMemory (Address->Pointer.Physical, sizeof (RSDP_DESCRIPTOR),
-                                    (void *) &Rsdp);
-        if (ACPI_FAILURE (Status))
-        {
-            return_ACPI_STATUS (Status);
-        }
-        break;
-
-    default:
-        return_ACPI_STATUS (AE_BAD_PARAMETER);
-    }
-
-    /*
-     *  The signature and checksum must both be correct
-     */
-    if (ACPI_STRNCMP ((char *) Rsdp, RSDP_SIG, sizeof (RSDP_SIG)-1) != 0)
-    {
-        /* Nope, BAD Signature */
-
-        Status = AE_BAD_SIGNATURE;
-        goto Cleanup;
-    }
-
-    /* Check the standard checksum */
-
-    if (AcpiTbChecksum (Rsdp, ACPI_RSDP_CHECKSUM_LENGTH) != 0)
-    {
-        Status = AE_BAD_CHECKSUM;
-        goto Cleanup;
-    }
-
-    /* Check extended checksum if table version >= 2 */
-
-    if (Rsdp->Revision >= 2)
-    {
-        if (AcpiTbChecksum (Rsdp, ACPI_RSDP_XCHECKSUM_LENGTH) != 0)
-        {
-            Status = AE_BAD_CHECKSUM;
-            goto Cleanup;
-        }
-    }
-
-    /* The RSDP supplied is OK */
-
-    TableInfo.Pointer      = ACPI_CAST_PTR (ACPI_TABLE_HEADER, Rsdp);
-    TableInfo.Length       = sizeof (RSDP_DESCRIPTOR);
-    TableInfo.Allocation   = ACPI_MEM_MAPPED;
-
-    /* Save the table pointers and allocation info */
-
-    Status = AcpiTbInitTableDescriptor (ACPI_TABLE_RSDP, &TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        goto Cleanup;
-    }
-
-    /* Save the RSDP in a global for easy access */
-
-    AcpiGbl_RSDP = ACPI_CAST_PTR (RSDP_DESCRIPTOR, TableInfo.Pointer);
-    return_ACPI_STATUS (Status);
-
-
-    /* Error exit */
-Cleanup:
-
-    if (AcpiGbl_TableFlags & ACPI_PHYSICAL_POINTER)
-    {
-        AcpiOsUnmapMemory (Rsdp, sizeof (RSDP_DESCRIPTOR));
-    }
-    return_ACPI_STATUS (Status);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetRsdtAddress
- *
- * PARAMETERS:  None
- *
- * RETURN:      RSDT physical address
- *
- * DESCRIPTION: Extract the address of the RSDT or XSDT, depending on the
- *              version of the RSDP
- *
- ******************************************************************************/
-
-void
-AcpiTbGetRsdtAddress (
-    ACPI_POINTER            *OutAddress)
-{
-
-    ACPI_FUNCTION_ENTRY ();
-
-
-    OutAddress->PointerType = AcpiGbl_TableFlags | ACPI_LOGICAL_ADDRESSING;
-
-    /*
-     * For RSDP revision 0 or 1, we use the RSDT.
-     * For RSDP revision 2 (and above), we use the XSDT
-     */
-    if (AcpiGbl_RSDP->Revision < 2)
-    {
-        OutAddress->Pointer.Value = AcpiGbl_RSDP->RsdtPhysicalAddress;
-    }
-    else
-    {
-        OutAddress->Pointer.Value = ACPI_GET_ADDRESS (AcpiGbl_RSDP->XsdtPhysicalAddress);
-    }
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbValidateRsdt
- *
- * PARAMETERS:  TablePtr        - Addressable pointer to the RSDT.
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Validate signature for the RSDT or XSDT
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbValidateRsdt (
-    ACPI_TABLE_HEADER       *TablePtr)
-{
-    int                     NoMatch;
-
-
-    ACPI_FUNCTION_NAME ("TbValidateRsdt");
-
-
-    /*
-     * For RSDP revision 0 or 1, we use the RSDT.
-     * For RSDP revision 2 and above, we use the XSDT
-     */
-    if (AcpiGbl_RSDP->Revision < 2)
-    {
-        NoMatch = ACPI_STRNCMP ((char *) TablePtr, RSDT_SIG,
-                        sizeof (RSDT_SIG) -1);
-    }
-    else
-    {
-        NoMatch = ACPI_STRNCMP ((char *) TablePtr, XSDT_SIG,
-                        sizeof (XSDT_SIG) -1);
-    }
-
-    if (NoMatch)
-    {
-        /* Invalid RSDT or XSDT signature */
-
-        ACPI_REPORT_ERROR (("Invalid signature where RSDP indicates RSDT/XSDT should be located\n"));
-
-        ACPI_DUMP_BUFFER (AcpiGbl_RSDP, 20);
-
-        ACPI_DEBUG_PRINT_RAW ((ACPI_DB_ERROR,
-            "RSDT/XSDT signature at %X (%p) is invalid\n",
-            AcpiGbl_RSDP->RsdtPhysicalAddress,
-            (void *) (ACPI_NATIVE_UINT) AcpiGbl_RSDP->RsdtPhysicalAddress));
-
-        if (AcpiGbl_RSDP->Revision < 2)
-        {
-            ACPI_REPORT_ERROR (("Looking for RSDT (RSDP->Rev < 2)\n"))
-        }
-        else
-        {
-            ACPI_REPORT_ERROR (("Looking for XSDT (RSDP->Rev >= 2)\n"))
-        }
-
-        ACPI_DUMP_BUFFER ((char *) TablePtr, 48);
-
-        return (AE_BAD_SIGNATURE);
-    }
-
-    return (AE_OK);
-}
-
-
-/*******************************************************************************
- *
- * FUNCTION:    AcpiTbGetTableRsdt
- *
- * PARAMETERS:  None
- *
- * RETURN:      Status
- *
- * DESCRIPTION: Load and validate the RSDP (ptr) and RSDT (table)
- *
- ******************************************************************************/
-
-ACPI_STATUS
-AcpiTbGetTableRsdt (
-    void)
-{
-    ACPI_TABLE_DESC         TableInfo;
-    ACPI_STATUS             Status;
-    ACPI_POINTER            Address;
-
-
-    ACPI_FUNCTION_TRACE ("TbGetTableRsdt");
-
-
-    /* Get the RSDT/XSDT via the RSDP */
-
-    AcpiTbGetRsdtAddress (&Address);
-
-    TableInfo.Type = ACPI_TABLE_XSDT;
-    Status = AcpiTbGetTable (&Address, &TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        ACPI_DEBUG_PRINT ((ACPI_DB_ERROR, "Could not get the RSDT/XSDT, %s\n",
-            AcpiFormatException (Status)));
-        return_ACPI_STATUS (Status);
-    }
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_INFO,
-        "RSDP located at %p, points to RSDT physical=%8.8X%8.8X \n",
-        AcpiGbl_RSDP,
-        ACPI_FORMAT_UINT64 (Address.Pointer.Value)));
-
-    /* Check the RSDT or XSDT signature */
-
-    Status = AcpiTbValidateRsdt (TableInfo.Pointer);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Get the number of tables defined in the RSDT or XSDT */
-
-    AcpiGbl_RsdtTableCount = AcpiTbGetTableCount (AcpiGbl_RSDP, TableInfo.Pointer);
-
-    /* Convert and/or copy to an XSDT structure */
-
-    Status = AcpiTbConvertToXsdt (&TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    /* Save the table pointers and allocation info */
-
-    Status = AcpiTbInitTableDescriptor (ACPI_TABLE_XSDT, &TableInfo);
-    if (ACPI_FAILURE (Status))
-    {
-        return_ACPI_STATUS (Status);
-    }
-
-    AcpiGbl_XSDT = ACPI_CAST_PTR (XSDT_DESCRIPTOR, TableInfo.Pointer);
-
-    ACPI_DEBUG_PRINT ((ACPI_DB_INFO, "XSDT located at %p\n", AcpiGbl_XSDT));
-    return_ACPI_STATUS (Status);
-}
-
-


More information about the Midnightbsd-cvs mailing list