Home | History | Annotate | Line # | Download | only in include
actables.h revision 1.3.20.2
      1       1.1    jruoho /******************************************************************************
      2       1.1    jruoho  *
      3       1.1    jruoho  * Name: actables.h - ACPI table management
      4       1.1    jruoho  *
      5       1.1    jruoho  *****************************************************************************/
      6       1.1    jruoho 
      7       1.3    jruoho /*
      8  1.3.20.2  jdolecek  * Copyright (C) 2000 - 2017, Intel Corp.
      9       1.1    jruoho  * All rights reserved.
     10       1.1    jruoho  *
     11       1.3    jruoho  * Redistribution and use in source and binary forms, with or without
     12       1.3    jruoho  * modification, are permitted provided that the following conditions
     13       1.3    jruoho  * are met:
     14       1.3    jruoho  * 1. Redistributions of source code must retain the above copyright
     15       1.3    jruoho  *    notice, this list of conditions, and the following disclaimer,
     16       1.3    jruoho  *    without modification.
     17       1.3    jruoho  * 2. Redistributions in binary form must reproduce at minimum a disclaimer
     18       1.3    jruoho  *    substantially similar to the "NO WARRANTY" disclaimer below
     19       1.3    jruoho  *    ("Disclaimer") and any redistribution must be conditioned upon
     20       1.3    jruoho  *    including a substantially similar Disclaimer requirement for further
     21       1.3    jruoho  *    binary redistribution.
     22       1.3    jruoho  * 3. Neither the names of the above-listed copyright holders nor the names
     23       1.3    jruoho  *    of any contributors may be used to endorse or promote products derived
     24       1.3    jruoho  *    from this software without specific prior written permission.
     25       1.3    jruoho  *
     26       1.3    jruoho  * Alternatively, this software may be distributed under the terms of the
     27       1.3    jruoho  * GNU General Public License ("GPL") version 2 as published by the Free
     28       1.3    jruoho  * Software Foundation.
     29       1.3    jruoho  *
     30       1.3    jruoho  * NO WARRANTY
     31       1.3    jruoho  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     32       1.3    jruoho  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     33       1.3    jruoho  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
     34       1.3    jruoho  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     35       1.3    jruoho  * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     36       1.3    jruoho  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     37       1.3    jruoho  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     38       1.3    jruoho  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
     39       1.3    jruoho  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
     40       1.3    jruoho  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     41       1.3    jruoho  * POSSIBILITY OF SUCH DAMAGES.
     42       1.3    jruoho  */
     43       1.1    jruoho 
     44       1.1    jruoho #ifndef __ACTABLES_H__
     45       1.1    jruoho #define __ACTABLES_H__
     46       1.1    jruoho 
     47       1.1    jruoho 
     48       1.1    jruoho ACPI_STATUS
     49       1.1    jruoho AcpiAllocateRootTable (
     50       1.1    jruoho     UINT32                  InitialTableCount);
     51       1.1    jruoho 
     52       1.1    jruoho /*
     53  1.3.20.1       tls  * tbxfroot - Root pointer utilities
     54  1.3.20.1       tls  */
     55  1.3.20.2  jdolecek UINT32
     56  1.3.20.2  jdolecek AcpiTbGetRsdpLength (
     57  1.3.20.2  jdolecek     ACPI_TABLE_RSDP         *Rsdp);
     58  1.3.20.2  jdolecek 
     59  1.3.20.1       tls ACPI_STATUS
     60  1.3.20.1       tls AcpiTbValidateRsdp (
     61  1.3.20.1       tls     ACPI_TABLE_RSDP         *Rsdp);
     62  1.3.20.1       tls 
     63  1.3.20.1       tls UINT8 *
     64  1.3.20.1       tls AcpiTbScanMemoryForRsdp (
     65  1.3.20.1       tls     UINT8                   *StartAddress,
     66  1.3.20.1       tls     UINT32                  Length);
     67  1.3.20.1       tls 
     68  1.3.20.1       tls 
     69  1.3.20.1       tls /*
     70  1.3.20.2  jdolecek  * tbdata - table data structure management
     71  1.3.20.2  jdolecek  */
     72  1.3.20.2  jdolecek ACPI_STATUS
     73  1.3.20.2  jdolecek AcpiTbGetNextTableDescriptor (
     74  1.3.20.2  jdolecek     UINT32                  *TableIndex,
     75  1.3.20.2  jdolecek     ACPI_TABLE_DESC         **TableDesc);
     76  1.3.20.2  jdolecek 
     77  1.3.20.2  jdolecek void
     78  1.3.20.2  jdolecek AcpiTbInitTableDescriptor (
     79  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *TableDesc,
     80  1.3.20.2  jdolecek     ACPI_PHYSICAL_ADDRESS   Address,
     81  1.3.20.2  jdolecek     UINT8                   Flags,
     82  1.3.20.2  jdolecek     ACPI_TABLE_HEADER       *Table);
     83  1.3.20.2  jdolecek 
     84  1.3.20.2  jdolecek ACPI_STATUS
     85  1.3.20.2  jdolecek AcpiTbAcquireTempTable (
     86  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *TableDesc,
     87  1.3.20.2  jdolecek     ACPI_PHYSICAL_ADDRESS   Address,
     88  1.3.20.2  jdolecek     UINT8                   Flags);
     89  1.3.20.2  jdolecek 
     90  1.3.20.2  jdolecek void
     91  1.3.20.2  jdolecek AcpiTbReleaseTempTable (
     92  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *TableDesc);
     93  1.3.20.2  jdolecek 
     94  1.3.20.2  jdolecek ACPI_STATUS
     95  1.3.20.2  jdolecek AcpiTbValidateTempTable (
     96  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *TableDesc);
     97  1.3.20.2  jdolecek 
     98  1.3.20.2  jdolecek ACPI_STATUS
     99  1.3.20.2  jdolecek AcpiTbVerifyTempTable (
    100  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *TableDesc,
    101  1.3.20.2  jdolecek     const char              *Signature,
    102  1.3.20.2  jdolecek     UINT32                  *TableIndex);
    103  1.3.20.2  jdolecek 
    104  1.3.20.2  jdolecek BOOLEAN
    105  1.3.20.2  jdolecek AcpiTbIsTableLoaded (
    106  1.3.20.2  jdolecek     UINT32                  TableIndex);
    107  1.3.20.2  jdolecek 
    108  1.3.20.2  jdolecek void
    109  1.3.20.2  jdolecek AcpiTbSetTableLoadedFlag (
    110  1.3.20.2  jdolecek     UINT32                  TableIndex,
    111  1.3.20.2  jdolecek     BOOLEAN                 IsLoaded);
    112  1.3.20.2  jdolecek 
    113  1.3.20.2  jdolecek 
    114  1.3.20.2  jdolecek /*
    115       1.1    jruoho  * tbfadt - FADT parse/convert/validate
    116       1.1    jruoho  */
    117       1.1    jruoho void
    118       1.1    jruoho AcpiTbParseFadt (
    119  1.3.20.2  jdolecek     void);
    120       1.1    jruoho 
    121       1.1    jruoho void
    122       1.1    jruoho AcpiTbCreateLocalFadt (
    123       1.1    jruoho     ACPI_TABLE_HEADER       *Table,
    124       1.1    jruoho     UINT32                  Length);
    125       1.1    jruoho 
    126       1.1    jruoho 
    127       1.1    jruoho /*
    128       1.1    jruoho  * tbfind - find ACPI table
    129       1.1    jruoho  */
    130       1.1    jruoho ACPI_STATUS
    131       1.1    jruoho AcpiTbFindTable (
    132       1.1    jruoho     char                    *Signature,
    133       1.1    jruoho     char                    *OemId,
    134       1.1    jruoho     char                    *OemTableId,
    135       1.1    jruoho     UINT32                  *TableIndex);
    136       1.1    jruoho 
    137       1.1    jruoho 
    138       1.1    jruoho /*
    139       1.1    jruoho  * tbinstal - Table removal and deletion
    140       1.1    jruoho  */
    141       1.1    jruoho ACPI_STATUS
    142       1.1    jruoho AcpiTbResizeRootTableList (
    143       1.1    jruoho     void);
    144       1.1    jruoho 
    145       1.1    jruoho ACPI_STATUS
    146  1.3.20.2  jdolecek AcpiTbValidateTable (
    147       1.1    jruoho     ACPI_TABLE_DESC         *TableDesc);
    148       1.1    jruoho 
    149  1.3.20.2  jdolecek void
    150  1.3.20.2  jdolecek AcpiTbInvalidateTable (
    151  1.3.20.1       tls     ACPI_TABLE_DESC         *TableDesc);
    152  1.3.20.1       tls 
    153  1.3.20.2  jdolecek void
    154  1.3.20.2  jdolecek AcpiTbOverrideTable (
    155  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *OldTableDesc);
    156  1.3.20.2  jdolecek 
    157       1.1    jruoho ACPI_STATUS
    158  1.3.20.2  jdolecek AcpiTbAcquireTable (
    159       1.1    jruoho     ACPI_TABLE_DESC         *TableDesc,
    160  1.3.20.2  jdolecek     ACPI_TABLE_HEADER       **TablePtr,
    161  1.3.20.2  jdolecek     UINT32                  *TableLength,
    162  1.3.20.2  jdolecek     UINT8                   *TableFlags);
    163  1.3.20.2  jdolecek 
    164  1.3.20.2  jdolecek void
    165  1.3.20.2  jdolecek AcpiTbReleaseTable (
    166  1.3.20.2  jdolecek     ACPI_TABLE_HEADER       *Table,
    167  1.3.20.2  jdolecek     UINT32                  TableLength,
    168  1.3.20.2  jdolecek     UINT8                   TableFlags);
    169       1.1    jruoho 
    170       1.1    jruoho ACPI_STATUS
    171  1.3.20.2  jdolecek AcpiTbInstallStandardTable (
    172       1.1    jruoho     ACPI_PHYSICAL_ADDRESS   Address,
    173       1.1    jruoho     UINT8                   Flags,
    174  1.3.20.2  jdolecek     BOOLEAN                 Reload,
    175  1.3.20.2  jdolecek     BOOLEAN                 Override,
    176       1.1    jruoho     UINT32                  *TableIndex);
    177       1.1    jruoho 
    178       1.1    jruoho void
    179  1.3.20.2  jdolecek AcpiTbUninstallTable (
    180       1.1    jruoho     ACPI_TABLE_DESC        *TableDesc);
    181       1.1    jruoho 
    182  1.3.20.2  jdolecek ACPI_STATUS
    183  1.3.20.2  jdolecek AcpiTbLoadTable (
    184  1.3.20.2  jdolecek     UINT32                  TableIndex,
    185  1.3.20.2  jdolecek     ACPI_NAMESPACE_NODE     *ParentNode);
    186  1.3.20.2  jdolecek 
    187  1.3.20.2  jdolecek ACPI_STATUS
    188  1.3.20.2  jdolecek AcpiTbInstallAndLoadTable (
    189  1.3.20.2  jdolecek     ACPI_PHYSICAL_ADDRESS   Address,
    190  1.3.20.2  jdolecek     UINT8                   Flags,
    191  1.3.20.2  jdolecek     BOOLEAN                 Override,
    192  1.3.20.2  jdolecek     UINT32                  *TableIndex);
    193  1.3.20.2  jdolecek 
    194  1.3.20.2  jdolecek ACPI_STATUS
    195  1.3.20.2  jdolecek AcpiTbUnloadTable (
    196  1.3.20.2  jdolecek     UINT32                  TableIndex);
    197  1.3.20.2  jdolecek 
    198  1.3.20.2  jdolecek void
    199  1.3.20.2  jdolecek AcpiTbNotifyTable (
    200  1.3.20.2  jdolecek     UINT32                          Event,
    201  1.3.20.2  jdolecek     void                            *Table);
    202  1.3.20.2  jdolecek 
    203       1.1    jruoho void
    204       1.1    jruoho AcpiTbTerminate (
    205       1.1    jruoho     void);
    206       1.1    jruoho 
    207       1.1    jruoho ACPI_STATUS
    208       1.1    jruoho AcpiTbDeleteNamespaceByOwner (
    209       1.1    jruoho     UINT32                  TableIndex);
    210       1.1    jruoho 
    211       1.1    jruoho ACPI_STATUS
    212       1.1    jruoho AcpiTbAllocateOwnerId (
    213       1.1    jruoho     UINT32                  TableIndex);
    214       1.1    jruoho 
    215       1.1    jruoho ACPI_STATUS
    216       1.1    jruoho AcpiTbReleaseOwnerId (
    217       1.1    jruoho     UINT32                  TableIndex);
    218       1.1    jruoho 
    219       1.1    jruoho ACPI_STATUS
    220       1.1    jruoho AcpiTbGetOwnerId (
    221       1.1    jruoho     UINT32                  TableIndex,
    222       1.1    jruoho     ACPI_OWNER_ID           *OwnerId);
    223       1.1    jruoho 
    224       1.1    jruoho 
    225       1.1    jruoho /*
    226       1.1    jruoho  * tbutils - table manager utilities
    227       1.1    jruoho  */
    228       1.1    jruoho ACPI_STATUS
    229       1.1    jruoho AcpiTbInitializeFacs (
    230       1.1    jruoho     void);
    231       1.1    jruoho 
    232       1.1    jruoho void
    233       1.1    jruoho AcpiTbPrintTableHeader(
    234       1.1    jruoho     ACPI_PHYSICAL_ADDRESS   Address,
    235       1.1    jruoho     ACPI_TABLE_HEADER       *Header);
    236       1.1    jruoho 
    237       1.1    jruoho UINT8
    238       1.1    jruoho AcpiTbChecksum (
    239       1.1    jruoho     UINT8                   *Buffer,
    240       1.1    jruoho     UINT32                  Length);
    241       1.1    jruoho 
    242       1.1    jruoho ACPI_STATUS
    243       1.1    jruoho AcpiTbVerifyChecksum (
    244       1.1    jruoho     ACPI_TABLE_HEADER       *Table,
    245       1.1    jruoho     UINT32                  Length);
    246       1.1    jruoho 
    247       1.1    jruoho void
    248       1.1    jruoho AcpiTbCheckDsdtHeader (
    249       1.1    jruoho     void);
    250       1.1    jruoho 
    251       1.1    jruoho ACPI_TABLE_HEADER *
    252       1.1    jruoho AcpiTbCopyDsdt (
    253       1.1    jruoho     UINT32                  TableIndex);
    254       1.1    jruoho 
    255       1.1    jruoho void
    256  1.3.20.2  jdolecek AcpiTbInstallTableWithOverride (
    257  1.3.20.2  jdolecek     ACPI_TABLE_DESC         *NewTableDesc,
    258  1.3.20.2  jdolecek     BOOLEAN                 Override,
    259  1.3.20.2  jdolecek     UINT32                  *TableIndex);
    260       1.1    jruoho 
    261       1.1    jruoho ACPI_STATUS
    262       1.1    jruoho AcpiTbParseRootTable (
    263       1.1    jruoho     ACPI_PHYSICAL_ADDRESS   RsdpAddress);
    264       1.1    jruoho 
    265  1.3.20.2  jdolecek ACPI_STATUS
    266  1.3.20.2  jdolecek AcpiTbGetTable (
    267  1.3.20.2  jdolecek     ACPI_TABLE_DESC        *TableDesc,
    268  1.3.20.2  jdolecek     ACPI_TABLE_HEADER      **OutTable);
    269  1.3.20.2  jdolecek 
    270  1.3.20.2  jdolecek void
    271  1.3.20.2  jdolecek AcpiTbPutTable (
    272  1.3.20.2  jdolecek     ACPI_TABLE_DESC        *TableDesc);
    273  1.3.20.2  jdolecek 
    274  1.3.20.2  jdolecek 
    275  1.3.20.2  jdolecek /*
    276  1.3.20.2  jdolecek  * tbxfload
    277  1.3.20.2  jdolecek  */
    278  1.3.20.2  jdolecek ACPI_STATUS
    279  1.3.20.2  jdolecek AcpiTbLoadNamespace (
    280  1.3.20.2  jdolecek     void);
    281  1.3.20.2  jdolecek 
    282       1.1    jruoho #endif /* __ACTABLES_H__ */
    283