1a9f12690SJung-uk Kim /****************************************************************************** 2a9f12690SJung-uk Kim * 3a9f12690SJung-uk Kim * Name: actables.h - ACPI table management 4a9f12690SJung-uk Kim * 5a9f12690SJung-uk Kim *****************************************************************************/ 6a9f12690SJung-uk Kim 7*d244b227SJung-uk Kim /* 8*d244b227SJung-uk Kim * Copyright (C) 2000 - 2011, Intel Corp. 9a9f12690SJung-uk Kim * All rights reserved. 10a9f12690SJung-uk Kim * 11*d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 12*d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 13*d244b227SJung-uk Kim * are met: 14*d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 15*d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 16*d244b227SJung-uk Kim * without modification. 17*d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 18*d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 19*d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 20*d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 21*d244b227SJung-uk Kim * binary redistribution. 22*d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 23*d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 24*d244b227SJung-uk Kim * from this software without specific prior written permission. 25a9f12690SJung-uk Kim * 26*d244b227SJung-uk Kim * Alternatively, this software may be distributed under the terms of the 27*d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 28*d244b227SJung-uk Kim * Software Foundation. 29a9f12690SJung-uk Kim * 30*d244b227SJung-uk Kim * NO WARRANTY 31*d244b227SJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 32*d244b227SJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 33*d244b227SJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 34*d244b227SJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 35*d244b227SJung-uk Kim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36*d244b227SJung-uk Kim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 37*d244b227SJung-uk Kim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 38*d244b227SJung-uk Kim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 39*d244b227SJung-uk Kim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 40*d244b227SJung-uk Kim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 41*d244b227SJung-uk Kim * POSSIBILITY OF SUCH DAMAGES. 42*d244b227SJung-uk Kim */ 43a9f12690SJung-uk Kim 44a9f12690SJung-uk Kim #ifndef __ACTABLES_H__ 45a9f12690SJung-uk Kim #define __ACTABLES_H__ 46a9f12690SJung-uk Kim 47a9f12690SJung-uk Kim 48a9f12690SJung-uk Kim ACPI_STATUS 49a9f12690SJung-uk Kim AcpiAllocateRootTable ( 50a9f12690SJung-uk Kim UINT32 InitialTableCount); 51a9f12690SJung-uk Kim 52a9f12690SJung-uk Kim /* 53a9f12690SJung-uk Kim * tbfadt - FADT parse/convert/validate 54a9f12690SJung-uk Kim */ 55a9f12690SJung-uk Kim void 56a9f12690SJung-uk Kim AcpiTbParseFadt ( 57a9f12690SJung-uk Kim UINT32 TableIndex); 58a9f12690SJung-uk Kim 59a9f12690SJung-uk Kim void 60a9f12690SJung-uk Kim AcpiTbCreateLocalFadt ( 61a9f12690SJung-uk Kim ACPI_TABLE_HEADER *Table, 62a9f12690SJung-uk Kim UINT32 Length); 63a9f12690SJung-uk Kim 64a9f12690SJung-uk Kim 65a9f12690SJung-uk Kim /* 66a9f12690SJung-uk Kim * tbfind - find ACPI table 67a9f12690SJung-uk Kim */ 68a9f12690SJung-uk Kim ACPI_STATUS 69a9f12690SJung-uk Kim AcpiTbFindTable ( 70a9f12690SJung-uk Kim char *Signature, 71a9f12690SJung-uk Kim char *OemId, 72a9f12690SJung-uk Kim char *OemTableId, 73a9f12690SJung-uk Kim UINT32 *TableIndex); 74a9f12690SJung-uk Kim 75a9f12690SJung-uk Kim 76a9f12690SJung-uk Kim /* 77a9f12690SJung-uk Kim * tbinstal - Table removal and deletion 78a9f12690SJung-uk Kim */ 79a9f12690SJung-uk Kim ACPI_STATUS 80a9f12690SJung-uk Kim AcpiTbResizeRootTableList ( 81a9f12690SJung-uk Kim void); 82a9f12690SJung-uk Kim 83a9f12690SJung-uk Kim ACPI_STATUS 84a9f12690SJung-uk Kim AcpiTbVerifyTable ( 85a9f12690SJung-uk Kim ACPI_TABLE_DESC *TableDesc); 86a9f12690SJung-uk Kim 87a9f12690SJung-uk Kim ACPI_STATUS 88a9f12690SJung-uk Kim AcpiTbAddTable ( 89a9f12690SJung-uk Kim ACPI_TABLE_DESC *TableDesc, 90a9f12690SJung-uk Kim UINT32 *TableIndex); 91a9f12690SJung-uk Kim 92a9f12690SJung-uk Kim ACPI_STATUS 93a9f12690SJung-uk Kim AcpiTbStoreTable ( 94a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 95a9f12690SJung-uk Kim ACPI_TABLE_HEADER *Table, 96a9f12690SJung-uk Kim UINT32 Length, 97a9f12690SJung-uk Kim UINT8 Flags, 98a9f12690SJung-uk Kim UINT32 *TableIndex); 99a9f12690SJung-uk Kim 100a9f12690SJung-uk Kim void 101a9f12690SJung-uk Kim AcpiTbDeleteTable ( 102a9f12690SJung-uk Kim ACPI_TABLE_DESC *TableDesc); 103a9f12690SJung-uk Kim 104a9f12690SJung-uk Kim void 105a9f12690SJung-uk Kim AcpiTbTerminate ( 106a9f12690SJung-uk Kim void); 107a9f12690SJung-uk Kim 108a9f12690SJung-uk Kim ACPI_STATUS 109a9f12690SJung-uk Kim AcpiTbDeleteNamespaceByOwner ( 110a9f12690SJung-uk Kim UINT32 TableIndex); 111a9f12690SJung-uk Kim 112a9f12690SJung-uk Kim ACPI_STATUS 113a9f12690SJung-uk Kim AcpiTbAllocateOwnerId ( 114a9f12690SJung-uk Kim UINT32 TableIndex); 115a9f12690SJung-uk Kim 116a9f12690SJung-uk Kim ACPI_STATUS 117a9f12690SJung-uk Kim AcpiTbReleaseOwnerId ( 118a9f12690SJung-uk Kim UINT32 TableIndex); 119a9f12690SJung-uk Kim 120a9f12690SJung-uk Kim ACPI_STATUS 121a9f12690SJung-uk Kim AcpiTbGetOwnerId ( 122a9f12690SJung-uk Kim UINT32 TableIndex, 123a9f12690SJung-uk Kim ACPI_OWNER_ID *OwnerId); 124a9f12690SJung-uk Kim 125a9f12690SJung-uk Kim BOOLEAN 126a9f12690SJung-uk Kim AcpiTbIsTableLoaded ( 127a9f12690SJung-uk Kim UINT32 TableIndex); 128a9f12690SJung-uk Kim 129a9f12690SJung-uk Kim void 130a9f12690SJung-uk Kim AcpiTbSetTableLoadedFlag ( 131a9f12690SJung-uk Kim UINT32 TableIndex, 132a9f12690SJung-uk Kim BOOLEAN IsLoaded); 133a9f12690SJung-uk Kim 134a9f12690SJung-uk Kim 135a9f12690SJung-uk Kim /* 136a9f12690SJung-uk Kim * tbutils - table manager utilities 137a9f12690SJung-uk Kim */ 138a9f12690SJung-uk Kim ACPI_STATUS 139a9f12690SJung-uk Kim AcpiTbInitializeFacs ( 140a9f12690SJung-uk Kim void); 141a9f12690SJung-uk Kim 142a9f12690SJung-uk Kim BOOLEAN 143a9f12690SJung-uk Kim AcpiTbTablesLoaded ( 144a9f12690SJung-uk Kim void); 145a9f12690SJung-uk Kim 146a9f12690SJung-uk Kim void 147a9f12690SJung-uk Kim AcpiTbPrintTableHeader( 148a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 149a9f12690SJung-uk Kim ACPI_TABLE_HEADER *Header); 150a9f12690SJung-uk Kim 151a9f12690SJung-uk Kim UINT8 152a9f12690SJung-uk Kim AcpiTbChecksum ( 153a9f12690SJung-uk Kim UINT8 *Buffer, 154a9f12690SJung-uk Kim UINT32 Length); 155a9f12690SJung-uk Kim 156a9f12690SJung-uk Kim ACPI_STATUS 157a9f12690SJung-uk Kim AcpiTbVerifyChecksum ( 158a9f12690SJung-uk Kim ACPI_TABLE_HEADER *Table, 159a9f12690SJung-uk Kim UINT32 Length); 160a9f12690SJung-uk Kim 161a9f12690SJung-uk Kim void 1628c8be05fSJung-uk Kim AcpiTbCheckDsdtHeader ( 1638c8be05fSJung-uk Kim void); 1648c8be05fSJung-uk Kim 1658c8be05fSJung-uk Kim ACPI_TABLE_HEADER * 1668c8be05fSJung-uk Kim AcpiTbCopyDsdt ( 1678c8be05fSJung-uk Kim UINT32 TableIndex); 1688c8be05fSJung-uk Kim 1698c8be05fSJung-uk Kim void 170a9f12690SJung-uk Kim AcpiTbInstallTable ( 171a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS Address, 172a9f12690SJung-uk Kim char *Signature, 173a9f12690SJung-uk Kim UINT32 TableIndex); 174a9f12690SJung-uk Kim 175a9f12690SJung-uk Kim ACPI_STATUS 176a9f12690SJung-uk Kim AcpiTbParseRootTable ( 177a9f12690SJung-uk Kim ACPI_PHYSICAL_ADDRESS RsdpAddress); 178a9f12690SJung-uk Kim 179a9f12690SJung-uk Kim #endif /* __ACTABLES_H__ */ 180