diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-30 18:04:07 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2024-01-30 18:04:07 +0100 |
| commit | 08eeda990be33db8048031df2a40ec28955e6430 (patch) | |
| tree | 95806a0189c32818b5d2a8a9a4cef0a844a883b9 /Private/acpiSDK/source/include | |
| parent | 1be243700efc9e36060c5fb65c951d5db6b98e94 (diff) | |
Moved ACPI SDK into it's own repository.
Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'Private/acpiSDK/source/include')
63 files changed, 0 insertions, 38176 deletions
diff --git a/Private/acpiSDK/source/include/acapps.h b/Private/acpiSDK/source/include/acapps.h deleted file mode 100644 index 9662e511..00000000 --- a/Private/acpiSDK/source/include/acapps.h +++ /dev/null @@ -1,343 +0,0 @@ -/****************************************************************************** - * - * Module Name: acapps - common include for ACPI applications/tools - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACAPPS -#define _ACAPPS - -#ifdef ACPI_USE_STANDARD_HEADERS -#include <sys/stat.h> -#endif /* ACPI_USE_STANDARD_HEADERS */ - -/* Common info for tool signons */ - -#define ACPICA_NAME "Intel ACPI Component Architecture" -#define ACPICA_COPYRIGHT "Copyright (c) 2000 - 2023 Intel Corporation" - -#if ACPI_MACHINE_WIDTH == 64 -#define ACPI_WIDTH " (64-bit version)" - -#elif ACPI_MACHINE_WIDTH == 32 -#define ACPI_WIDTH " (32-bit version)" - -#else -#error unknown ACPI_MACHINE_WIDTH -#define ACPI_WIDTH " (unknown bit width, not 32 or 64)" - -#endif - -/* Macros for signons and file headers */ - -#define ACPI_COMMON_SIGNON(UtilityName) \ - "\n%s\n%s version %8.8X\n%s\n\n", \ - ACPICA_NAME, \ - UtilityName, ((UINT32) ACPI_CA_VERSION), \ - ACPICA_COPYRIGHT - -#define ACPI_COMMON_HEADER(UtilityName, Prefix) \ - "%s%s\n%s%s version %8.8X%s\n%s%s\n%s\n", \ - Prefix, ACPICA_NAME, \ - Prefix, UtilityName, ((UINT32) ACPI_CA_VERSION), ACPI_WIDTH, \ - Prefix, ACPICA_COPYRIGHT, \ - Prefix - -#define ACPI_COMMON_BUILD_TIME \ - "Build date/time: %s %s\n", __DATE__, __TIME__ - -/* Macros for usage messages */ - -#define ACPI_USAGE_HEADER(Usage) \ - printf ("Usage: %s\nOptions:\n", Usage); - -#define ACPI_USAGE_TEXT(Description) \ - printf (Description); - -#define ACPI_OPTION(Name, Description) \ - printf (" %-20s%s\n", Name, Description); - - -/* Check for unexpected exceptions */ - -#define ACPI_CHECK_STATUS(Name, Status, Expected) \ - if (Status != Expected) \ - { \ - AcpiOsPrintf ("Unexpected %s from %s (%s-%d)\n", \ - AcpiFormatException (Status), #Name, _AcpiModuleName, __LINE__); \ - } - -/* Check for unexpected non-AE_OK errors */ - - -#define ACPI_CHECK_OK(Name, Status) ACPI_CHECK_STATUS (Name, Status, AE_OK); - -#define FILE_SUFFIX_DISASSEMBLY "dsl" -#define FILE_SUFFIX_BINARY_TABLE ".dat" /* Needs the dot */ - - -/* acfileio */ - -ACPI_STATUS -AcGetAllTablesFromFile ( - char *Filename, - UINT8 GetOnlyAmlTables, - ACPI_NEW_TABLE_DESC **ReturnListHead); - -void -AcDeleteTableList ( - ACPI_NEW_TABLE_DESC *ListHead); - -BOOLEAN -AcIsFileBinary ( - FILE *File); - -ACPI_STATUS -AcValidateTableHeader ( - FILE *File, - long TableOffset); - - -/* Values for GetOnlyAmlTables */ - -#define ACPI_GET_ONLY_AML_TABLES TRUE -#define ACPI_GET_ALL_TABLES FALSE - - -/* - * getopt - */ -int -AcpiGetopt( - int argc, - char **argv, - char *opts); - -int -AcpiGetoptArgument ( - int argc, - char **argv); - -extern int AcpiGbl_Optind; -extern int AcpiGbl_Opterr; -extern int AcpiGbl_SubOptChar; -extern char *AcpiGbl_Optarg; - - -/* - * cmfsize - Common get file size function - */ -UINT32 -CmGetFileSize ( - ACPI_FILE File); - - -/* - * adwalk - */ -void -AcpiDmCrossReferenceNamespace ( - ACPI_PARSE_OBJECT *ParseTreeRoot, - ACPI_NAMESPACE_NODE *NamespaceRoot, - ACPI_OWNER_ID OwnerId); - -void -AcpiDmDumpTree ( - ACPI_PARSE_OBJECT *Origin); - -void -AcpiDmFindOrphanMethods ( - ACPI_PARSE_OBJECT *Origin); - -void -AcpiDmFinishNamespaceLoad ( - ACPI_PARSE_OBJECT *ParseTreeRoot, - ACPI_NAMESPACE_NODE *NamespaceRoot, - ACPI_OWNER_ID OwnerId); - -void -AcpiDmConvertParseObjects ( - ACPI_PARSE_OBJECT *ParseTreeRoot, - ACPI_NAMESPACE_NODE *NamespaceRoot); - - -/* - * adfile - */ -ACPI_STATUS -AdInitialize ( - void); - -char * -FlGenerateFilename ( - char *InputFilename, - char *Suffix); - -ACPI_STATUS -FlSplitInputPathname ( - char *InputPath, - char **OutDirectoryPath, - char **OutFilename); - -char * -FlGetFileBasename ( - char *FilePathname); - -char * -AdGenerateFilename ( - char *Prefix, - char *TableId); - -void -AdWriteTable ( - ACPI_TABLE_HEADER *Table, - UINT32 Length, - char *TableName, - char *OemTableId); - -#endif /* _ACAPPS */ diff --git a/Private/acpiSDK/source/include/acbuffer.h b/Private/acpiSDK/source/include/acbuffer.h deleted file mode 100644 index 63225aa7..00000000 --- a/Private/acpiSDK/source/include/acbuffer.h +++ /dev/null @@ -1,372 +0,0 @@ -/****************************************************************************** - * - * Name: acbuffer.h - Support for buffers returned by ACPI predefined names - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACBUFFER_H__ -#define __ACBUFFER_H__ - -/* - * Contains buffer structures for these predefined names: - * _FDE, _GRT, _GTM, _PLD, _SRT - */ - -/* - * Note: C bitfields are not used for this reason: - * - * "Bitfields are great and easy to read, but unfortunately the C language - * does not specify the layout of bitfields in memory, which means they are - * essentially useless for dealing with packed data in on-disk formats or - * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, - * this decision was a design error in C. Ritchie could have picked an order - * and stuck with it." Norman Ramsey. - * See http://stackoverflow.com/a/1053662/41661 - */ - - -/* _FDE return value */ - -typedef struct acpi_fde_info -{ - UINT32 Floppy0; - UINT32 Floppy1; - UINT32 Floppy2; - UINT32 Floppy3; - UINT32 Tape; - -} ACPI_FDE_INFO; - -/* - * _GRT return value - * _SRT input value - */ -typedef struct acpi_grt_info -{ - UINT16 Year; - UINT8 Month; - UINT8 Day; - UINT8 Hour; - UINT8 Minute; - UINT8 Second; - UINT8 Valid; - UINT16 Milliseconds; - UINT16 Timezone; - UINT8 Daylight; - UINT8 Reserved[3]; - -} ACPI_GRT_INFO; - -/* _GTM return value */ - -typedef struct acpi_gtm_info -{ - UINT32 PioSpeed0; - UINT32 DmaSpeed0; - UINT32 PioSpeed1; - UINT32 DmaSpeed1; - UINT32 Flags; - -} ACPI_GTM_INFO; - -/* - * Formatted _PLD return value. The minimum size is a package containing - * one buffer. - * Revision 1: Buffer is 16 bytes (128 bits) - * Revision 2: Buffer is 20 bytes (160 bits) - * - * Note: This structure is returned from the AcpiDecodePldBuffer - * interface. - */ -typedef struct acpi_pld_info -{ - UINT8 Revision; - UINT8 IgnoreColor; - UINT8 Red; - UINT8 Green; - UINT8 Blue; - UINT16 Width; - UINT16 Height; - UINT8 UserVisible; - UINT8 Dock; - UINT8 Lid; - UINT8 Panel; - UINT8 VerticalPosition; - UINT8 HorizontalPosition; - UINT8 Shape; - UINT8 GroupOrientation; - UINT8 GroupToken; - UINT8 GroupPosition; - UINT8 Bay; - UINT8 Ejectable; - UINT8 OspmEjectRequired; - UINT8 CabinetNumber; - UINT8 CardCageNumber; - UINT8 Reference; - UINT8 Rotation; - UINT8 Order; - UINT8 Reserved; - UINT16 VerticalOffset; - UINT16 HorizontalOffset; - -} ACPI_PLD_INFO; - - -/* - * Macros to: - * 1) Convert a _PLD buffer to internal ACPI_PLD_INFO format - ACPI_PLD_GET* - * (Used by AcpiDecodePldBuffer) - * 2) Construct a _PLD buffer - ACPI_PLD_SET* - * (Intended for BIOS use only) - */ -#define ACPI_PLD_REV1_BUFFER_SIZE 16 /* For Revision 1 of the buffer (From ACPI spec) */ -#define ACPI_PLD_REV2_BUFFER_SIZE 20 /* For Revision 2 of the buffer (From ACPI spec) */ -#define ACPI_PLD_BUFFER_SIZE 20 /* For Revision 2 of the buffer (From ACPI spec) */ - -/* First 32-bit dword, bits 0:32 */ - -#define ACPI_PLD_GET_REVISION(dword) ACPI_GET_BITS (dword, 0, ACPI_7BIT_MASK) -#define ACPI_PLD_SET_REVISION(dword,value) ACPI_SET_BITS (dword, 0, ACPI_7BIT_MASK, value) /* Offset 0, Len 7 */ - -#define ACPI_PLD_GET_IGNORE_COLOR(dword) ACPI_GET_BITS (dword, 7, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_IGNORE_COLOR(dword,value) ACPI_SET_BITS (dword, 7, ACPI_1BIT_MASK, value) /* Offset 7, Len 1 */ - -#define ACPI_PLD_GET_RED(dword) ACPI_GET_BITS (dword, 8, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_RED(dword,value) ACPI_SET_BITS (dword, 8, ACPI_8BIT_MASK, value) /* Offset 8, Len 8 */ - -#define ACPI_PLD_GET_GREEN(dword) ACPI_GET_BITS (dword, 16, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_GREEN(dword,value) ACPI_SET_BITS (dword, 16, ACPI_8BIT_MASK, value) /* Offset 16, Len 8 */ - -#define ACPI_PLD_GET_BLUE(dword) ACPI_GET_BITS (dword, 24, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_BLUE(dword,value) ACPI_SET_BITS (dword, 24, ACPI_8BIT_MASK, value) /* Offset 24, Len 8 */ - -/* Second 32-bit dword, bits 33:63 */ - -#define ACPI_PLD_GET_WIDTH(dword) ACPI_GET_BITS (dword, 0, ACPI_16BIT_MASK) -#define ACPI_PLD_SET_WIDTH(dword,value) ACPI_SET_BITS (dword, 0, ACPI_16BIT_MASK, value) /* Offset 32+0=32, Len 16 */ - -#define ACPI_PLD_GET_HEIGHT(dword) ACPI_GET_BITS (dword, 16, ACPI_16BIT_MASK) -#define ACPI_PLD_SET_HEIGHT(dword,value) ACPI_SET_BITS (dword, 16, ACPI_16BIT_MASK, value) /* Offset 32+16=48, Len 16 */ - -/* Third 32-bit dword, bits 64:95 */ - -#define ACPI_PLD_GET_USER_VISIBLE(dword) ACPI_GET_BITS (dword, 0, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_USER_VISIBLE(dword,value) ACPI_SET_BITS (dword, 0, ACPI_1BIT_MASK, value) /* Offset 64+0=64, Len 1 */ - -#define ACPI_PLD_GET_DOCK(dword) ACPI_GET_BITS (dword, 1, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_DOCK(dword,value) ACPI_SET_BITS (dword, 1, ACPI_1BIT_MASK, value) /* Offset 64+1=65, Len 1 */ - -#define ACPI_PLD_GET_LID(dword) ACPI_GET_BITS (dword, 2, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_LID(dword,value) ACPI_SET_BITS (dword, 2, ACPI_1BIT_MASK, value) /* Offset 64+2=66, Len 1 */ - -#define ACPI_PLD_GET_PANEL(dword) ACPI_GET_BITS (dword, 3, ACPI_3BIT_MASK) -#define ACPI_PLD_SET_PANEL(dword,value) ACPI_SET_BITS (dword, 3, ACPI_3BIT_MASK, value) /* Offset 64+3=67, Len 3 */ - -#define ACPI_PLD_GET_VERTICAL(dword) ACPI_GET_BITS (dword, 6, ACPI_2BIT_MASK) -#define ACPI_PLD_SET_VERTICAL(dword,value) ACPI_SET_BITS (dword, 6, ACPI_2BIT_MASK, value) /* Offset 64+6=70, Len 2 */ - -#define ACPI_PLD_GET_HORIZONTAL(dword) ACPI_GET_BITS (dword, 8, ACPI_2BIT_MASK) -#define ACPI_PLD_SET_HORIZONTAL(dword,value) ACPI_SET_BITS (dword, 8, ACPI_2BIT_MASK, value) /* Offset 64+8=72, Len 2 */ - -#define ACPI_PLD_GET_SHAPE(dword) ACPI_GET_BITS (dword, 10, ACPI_4BIT_MASK) -#define ACPI_PLD_SET_SHAPE(dword,value) ACPI_SET_BITS (dword, 10, ACPI_4BIT_MASK, value) /* Offset 64+10=74, Len 4 */ - -#define ACPI_PLD_GET_ORIENTATION(dword) ACPI_GET_BITS (dword, 14, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_ORIENTATION(dword,value) ACPI_SET_BITS (dword, 14, ACPI_1BIT_MASK, value) /* Offset 64+14=78, Len 1 */ - -#define ACPI_PLD_GET_TOKEN(dword) ACPI_GET_BITS (dword, 15, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_TOKEN(dword,value) ACPI_SET_BITS (dword, 15, ACPI_8BIT_MASK, value) /* Offset 64+15=79, Len 8 */ - -#define ACPI_PLD_GET_POSITION(dword) ACPI_GET_BITS (dword, 23, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_POSITION(dword,value) ACPI_SET_BITS (dword, 23, ACPI_8BIT_MASK, value) /* Offset 64+23=87, Len 8 */ - -#define ACPI_PLD_GET_BAY(dword) ACPI_GET_BITS (dword, 31, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_BAY(dword,value) ACPI_SET_BITS (dword, 31, ACPI_1BIT_MASK, value) /* Offset 64+31=95, Len 1 */ - -/* Fourth 32-bit dword, bits 96:127 */ - -#define ACPI_PLD_GET_EJECTABLE(dword) ACPI_GET_BITS (dword, 0, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_EJECTABLE(dword,value) ACPI_SET_BITS (dword, 0, ACPI_1BIT_MASK, value) /* Offset 96+0=96, Len 1 */ - -#define ACPI_PLD_GET_OSPM_EJECT(dword) ACPI_GET_BITS (dword, 1, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_OSPM_EJECT(dword,value) ACPI_SET_BITS (dword, 1, ACPI_1BIT_MASK, value) /* Offset 96+1=97, Len 1 */ - -#define ACPI_PLD_GET_CABINET(dword) ACPI_GET_BITS (dword, 2, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_CABINET(dword,value) ACPI_SET_BITS (dword, 2, ACPI_8BIT_MASK, value) /* Offset 96+2=98, Len 8 */ - -#define ACPI_PLD_GET_CARD_CAGE(dword) ACPI_GET_BITS (dword, 10, ACPI_8BIT_MASK) -#define ACPI_PLD_SET_CARD_CAGE(dword,value) ACPI_SET_BITS (dword, 10, ACPI_8BIT_MASK, value) /* Offset 96+10=106, Len 8 */ - -#define ACPI_PLD_GET_REFERENCE(dword) ACPI_GET_BITS (dword, 18, ACPI_1BIT_MASK) -#define ACPI_PLD_SET_REFERENCE(dword,value) ACPI_SET_BITS (dword, 18, ACPI_1BIT_MASK, value) /* Offset 96+18=114, Len 1 */ - -#define ACPI_PLD_GET_ROTATION(dword) ACPI_GET_BITS (dword, 19, ACPI_4BIT_MASK) -#define ACPI_PLD_SET_ROTATION(dword,value) ACPI_SET_BITS (dword, 19, ACPI_4BIT_MASK, value) /* Offset 96+19=115, Len 4 */ - -#define ACPI_PLD_GET_ORDER(dword) ACPI_GET_BITS (dword, 23, ACPI_5BIT_MASK) -#define ACPI_PLD_SET_ORDER(dword,value) ACPI_SET_BITS (dword, 23, ACPI_5BIT_MASK, value) /* Offset 96+23=119, Len 5 */ - -/* Fifth 32-bit dword, bits 128:159 (Revision 2 of _PLD only) */ - -#define ACPI_PLD_GET_VERT_OFFSET(dword) ACPI_GET_BITS (dword, 0, ACPI_16BIT_MASK) -#define ACPI_PLD_SET_VERT_OFFSET(dword,value) ACPI_SET_BITS (dword, 0, ACPI_16BIT_MASK, value) /* Offset 128+0=128, Len 16 */ - -#define ACPI_PLD_GET_HORIZ_OFFSET(dword) ACPI_GET_BITS (dword, 16, ACPI_16BIT_MASK) -#define ACPI_PLD_SET_HORIZ_OFFSET(dword,value) ACPI_SET_BITS (dword, 16, ACPI_16BIT_MASK, value) /* Offset 128+16=144, Len 16 */ - -/* Panel position defined in _PLD section of ACPI Specification 6.3 */ - -#define ACPI_PLD_PANEL_TOP 0 -#define ACPI_PLD_PANEL_BOTTOM 1 -#define ACPI_PLD_PANEL_LEFT 2 -#define ACPI_PLD_PANEL_RIGHT 3 -#define ACPI_PLD_PANEL_FRONT 4 -#define ACPI_PLD_PANEL_BACK 5 -#define ACPI_PLD_PANEL_UNKNOWN 6 - -#endif /* ACBUFFER_H */ diff --git a/Private/acpiSDK/source/include/acclib.h b/Private/acpiSDK/source/include/acclib.h deleted file mode 100644 index d03652c1..00000000 --- a/Private/acpiSDK/source/include/acclib.h +++ /dev/null @@ -1,431 +0,0 @@ -/****************************************************************************** - * - * Name: acclib.h -- C library support. Prototypes for the (optional) local - * implementations of required C library functions. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACCLIB_H -#define _ACCLIB_H - - -/* - * Prototypes and macros for local implementations of C library functions - */ - -/* is* functions. The AcpiGbl_Ctypes array is defined in utclib.c */ - -extern const UINT8 AcpiGbl_Ctypes[]; - -#define _ACPI_XA 0x00 /* extra alphabetic - not supported */ -#define _ACPI_XS 0x40 /* extra space */ -#define _ACPI_BB 0x00 /* BEL, BS, etc. - not supported */ -#define _ACPI_CN 0x20 /* CR, FF, HT, NL, VT */ -#define _ACPI_DI 0x04 /* '0'-'9' */ -#define _ACPI_LO 0x02 /* 'a'-'z' */ -#define _ACPI_PU 0x10 /* punctuation */ -#define _ACPI_SP 0x08 /* space, tab, CR, LF, VT, FF */ -#define _ACPI_UP 0x01 /* 'A'-'Z' */ -#define _ACPI_XD 0x80 /* '0'-'9', 'A'-'F', 'a'-'f' */ - -#define isdigit(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_DI)) -#define isspace(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_SP)) -#define isxdigit(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_XD)) -#define isupper(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_UP)) -#define islower(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_LO)) -#define isprint(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP | _ACPI_DI | _ACPI_XS | _ACPI_PU)) -#define isalpha(c) (AcpiGbl_Ctypes[(unsigned char)(c)] & (_ACPI_LO | _ACPI_UP)) - -/* Error code */ - -#define EPERM 1 /* Operation not permitted */ -#define ENOENT 2 /* No such file or directory */ -#define EINTR 4 /* Interrupted system call */ -#define EIO 5 /* I/O error */ -#define EBADF 9 /* Bad file number */ -#define EAGAIN 11 /* Try again */ -#define ENOMEM 12 /* Out of memory */ -#define EACCES 13 /* Permission denied */ -#define EFAULT 14 /* Bad address */ -#define EBUSY 16 /* Device or resource busy */ -#define EEXIST 17 /* File exists */ -#define ENODEV 19 /* No such device */ -#define EINVAL 22 /* Invalid argument */ -#define EPIPE 32 /* Broken pipe */ -#define ERANGE 34 /* Math result not representable */ - -/* Strings */ - -char * -strcat ( - char *DstString, - const char *SrcString); - -char * -strchr ( - const char *String, - int ch); - -char * -strpbrk ( - const char *String, - const char *Delimiters); - -char * -strtok ( - char *String, - const char *Delimiters); - -char * -strcpy ( - char *DstString, - const char *SrcString); - -int -strcmp ( - const char *String1, - const char *String2); - -ACPI_SIZE -strlen ( - const char *String); - -char * -strncat ( - char *DstString, - const char *SrcString, - ACPI_SIZE Count); - -int -strncmp ( - const char *String1, - const char *String2, - ACPI_SIZE Count); - -char * -strncpy ( - char *DstString, - const char *SrcString, - ACPI_SIZE Count); - -char * -strstr ( - char *String1, - char *String2); - - -/* Conversion */ - -UINT32 -strtoul ( - const char *String, - char **Terminator, - UINT32 Base); - - -/* Memory */ - -int -memcmp ( - void *Buffer1, - void *Buffer2, - ACPI_SIZE Count); - -void * -memcpy ( - void *Dest, - const void *Src, - ACPI_SIZE Count); - -void * -memmove ( - void *Dest, - const void *Src, - ACPI_SIZE Count); - -void * -memset ( - void *Dest, - int Value, - ACPI_SIZE Count); - - -/* upper/lower case */ - -int -tolower ( - int c); - -int -toupper ( - int c); - -/* - * utprint - printf/vprintf output functions - */ -const char * -AcpiUtScanNumber ( - const char *String, - UINT64 *NumberPtr); - -const char * -AcpiUtPrintNumber ( - char *String, - UINT64 Number); - -int -vsnprintf ( - char *String, - ACPI_SIZE Size, - const char *Format, - va_list Args); - -int -snprintf ( - char *String, - ACPI_SIZE Size, - const char *Format, - ...); - -int -sprintf ( - char *String, - const char *Format, - ...); - -#ifdef ACPI_APPLICATION -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 - -/* - * NOTE: Currently we only need to update errno for file IOs. Other - * Clibrary invocations in ACPICA do not make decisions according to - * the errno. - */ -extern int errno; - -#ifndef EOF -#define EOF (-1) -#endif - -#define putchar(c) fputc(stdout, c) -#define getchar(c) fgetc(stdin) - -int -vprintf ( - const char *Format, - va_list Args); - -int -printf ( - const char *Format, - ...); - -int -vfprintf ( - FILE *File, - const char *Format, - va_list Args); - -int -fprintf ( - FILE *File, - const char *Format, - ...); - -FILE * -fopen ( - const char *Path, - const char *Modes); - -void -fclose ( - FILE *File); - -int -fread ( - void *Buffer, - ACPI_SIZE Size, - ACPI_SIZE Count, - FILE *File); - -int -fwrite ( - void *Buffer, - ACPI_SIZE Size, - ACPI_SIZE Count, - FILE *File); - -int -fseek ( - FILE *File, - long Offset, - int From); - -long -ftell ( - FILE *File); - -int -fgetc ( - FILE *File); - -int -fputc ( - FILE *File, - char c); - -char * -fgets ( - char *s, - ACPI_SIZE Size, - FILE *File); -#endif - -#endif /* _ACCLIB_H */ diff --git a/Private/acpiSDK/source/include/accommon.h b/Private/acpiSDK/source/include/accommon.h deleted file mode 100644 index 219372d3..00000000 --- a/Private/acpiSDK/source/include/accommon.h +++ /dev/null @@ -1,175 +0,0 @@ -/****************************************************************************** - * - * Name: accommon.h - Common include files for generation of ACPICA source - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACCOMMON_H__ -#define __ACCOMMON_H__ - -/* - * Common set of includes for all ACPICA source files. - * We put them here because we don't want to duplicate them - * in the source code again and again. - * - * Note: The order of these include files is important. - */ -#include "acconfig.h" /* Global configuration constants */ -#include "acmacros.h" /* C macros */ -#include "aclocal.h" /* Internal data types */ -#include "acobject.h" /* ACPI internal object */ -#include "acstruct.h" /* Common structures */ -#include "acglobal.h" /* All global variables */ -#include "achware.h" /* Hardware defines and interfaces */ -#include "acutils.h" /* Utility interfaces */ -#ifndef ACPI_USE_SYSTEM_CLIBRARY -#include "acclib.h" /* C library interfaces */ -#endif /* !ACPI_USE_SYSTEM_CLIBRARY */ - - -#endif /* __ACCOMMON_H__ */ diff --git a/Private/acpiSDK/source/include/acconfig.h b/Private/acpiSDK/source/include/acconfig.h deleted file mode 100644 index 5ae00322..00000000 --- a/Private/acpiSDK/source/include/acconfig.h +++ /dev/null @@ -1,378 +0,0 @@ -/****************************************************************************** - * - * Name: acconfig.h - Global configuration constants - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACCONFIG_H -#define _ACCONFIG_H - - -/****************************************************************************** - * - * Configuration options - * - *****************************************************************************/ - -/* - * ACPI_DEBUG_OUTPUT - This switch enables all the debug facilities of the - * ACPI subsystem. This includes the DEBUG_PRINT output - * statements. When disabled, all DEBUG_PRINT - * statements are compiled out. - * - * ACPI_APPLICATION - Use this switch if the subsystem is going to be run - * at the application level. - * - */ - -/* - * OS name, used for the _OS object. The _OS object is essentially obsolete, - * but there is a large base of ASL/AML code in existing machines that check - * for the string below. The use of this string usually guarantees that - * the ASL will execute down the most tested code path. Also, there is some - * code that will not execute the _OSI method unless _OS matches the string - * below. Therefore, change this string at your own risk. - */ -#define ACPI_OS_NAME "Microsoft Windows NT" - -/* Maximum objects in the various object caches */ - -#define ACPI_MAX_STATE_CACHE_DEPTH 96 /* State objects */ -#define ACPI_MAX_PARSE_CACHE_DEPTH 96 /* Parse tree objects */ -#define ACPI_MAX_EXTPARSE_CACHE_DEPTH 96 /* Parse tree objects */ -#define ACPI_MAX_OBJECT_CACHE_DEPTH 96 /* Interpreter operand objects */ -#define ACPI_MAX_NAMESPACE_CACHE_DEPTH 96 /* Namespace objects */ -#define ACPI_MAX_COMMENT_CACHE_DEPTH 96 /* Comments for the -ca option */ - -/* - * Should the subsystem abort the loading of an ACPI table if the - * table checksum is incorrect? - */ -#ifndef ACPI_CHECKSUM_ABORT -#define ACPI_CHECKSUM_ABORT FALSE -#endif - -/* - * Generate a version of ACPICA that only supports "reduced hardware" - * platforms (as defined in ACPI 5.0). Set to TRUE to generate a specialized - * version of ACPICA that ONLY supports the ACPI 5.0 "reduced hardware" - * model. In other words, no ACPI hardware is supported. - * - * If TRUE, this means no support for the following: - * PM Event and Control registers - * SCI interrupt (and handler) - * Fixed Events - * General Purpose Events (GPEs) - * Global Lock - * ACPI PM timer - * FACS table (Waking vectors and Global Lock) - */ -#ifndef ACPI_REDUCED_HARDWARE -#define ACPI_REDUCED_HARDWARE FALSE -#endif - - -/****************************************************************************** - * - * Subsystem Constants - * - *****************************************************************************/ - -/* Version of ACPI supported */ - -#define ACPI_CA_SUPPORT_LEVEL 5 - -/* Maximum count for a semaphore object */ - -#define ACPI_MAX_SEMAPHORE_COUNT 256 - -/* Maximum object reference count (detects object deletion issues) */ - -#define ACPI_MAX_REFERENCE_COUNT 0x4000 - -/* Default page size for use in mapping memory for operation regions */ - -#define ACPI_DEFAULT_PAGE_SIZE 4096 /* Must be power of 2 */ - -/* OwnerId tracking. 128 entries allows for 4095 OwnerIds */ - -#define ACPI_NUM_OWNERID_MASKS 128 - -/* Size of the root table array is increased by this increment */ - -#define ACPI_ROOT_TABLE_SIZE_INCREMENT 4 - -/* Maximum sleep allowed via Sleep() operator */ - -#define ACPI_MAX_SLEEP 2000 /* 2000 millisec == two seconds */ - -/* Address Range lists are per-SpaceId (Memory and I/O only) */ - -#define ACPI_ADDRESS_RANGE_MAX 2 - -/* Maximum time (default 30s) of While() loops before abort */ - -#define ACPI_MAX_LOOP_TIMEOUT 30 - - -/****************************************************************************** - * - * ACPI Specification constants (Do not change unless the specification changes) - * - *****************************************************************************/ - -/* Method info (in WALK_STATE), containing local variables and arguments */ - -#define ACPI_METHOD_NUM_LOCALS 8 -#define ACPI_METHOD_MAX_LOCAL 7 - -#define ACPI_METHOD_NUM_ARGS 7 -#define ACPI_METHOD_MAX_ARG 6 - -/* - * Operand Stack (in WALK_STATE), Must be large enough to contain METHOD_MAX_ARG - */ -#define ACPI_OBJ_NUM_OPERANDS 8 -#define ACPI_OBJ_MAX_OPERAND 7 - -/* Number of elements in the Result Stack frame, can be an arbitrary value */ - -#define ACPI_RESULTS_FRAME_OBJ_NUM 8 - -/* - * Maximal number of elements the Result Stack can contain, - * it may be an arbitrary value not exceeding the types of - * ResultSize and ResultCount (now UINT8). - */ -#define ACPI_RESULTS_OBJ_NUM_MAX 255 - -/* Constants used in searching for the RSDP in low memory */ - -#define ACPI_EBDA_PTR_LOCATION 0x0000040E /* Physical Address */ -#define ACPI_EBDA_PTR_LENGTH 2 -#define ACPI_EBDA_WINDOW_SIZE 1024 -#define ACPI_HI_RSDP_WINDOW_BASE 0x000E0000 /* Physical Address */ -#define ACPI_HI_RSDP_WINDOW_SIZE 0x00020000 -#define ACPI_RSDP_SCAN_STEP 16 - -/* Operation regions */ - -#define ACPI_USER_REGION_BEGIN 0x80 - -/* Maximum SpaceIds for Operation Regions */ - -#define ACPI_MAX_ADDRESS_SPACE 255 -#define ACPI_NUM_DEFAULT_SPACES 4 - -/* Array sizes. Used for range checking also */ - -#define ACPI_MAX_MATCH_OPCODE 5 - -/* RSDP checksums */ - -#define ACPI_RSDP_CHECKSUM_LENGTH 20 -#define ACPI_RSDP_XCHECKSUM_LENGTH 36 - -/* - * SMBus, GSBus and IPMI buffer sizes. All have a 2-byte header, - * containing both Status and Length. - */ -#define ACPI_SERIAL_HEADER_SIZE 2 /* Common for below. Status and Length fields */ - -#define ACPI_SMBUS_DATA_SIZE 32 -#define ACPI_SMBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_SMBUS_DATA_SIZE - -#define ACPI_IPMI_DATA_SIZE 64 -#define ACPI_IPMI_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_IPMI_DATA_SIZE - -#define ACPI_MAX_GSBUS_DATA_SIZE 255 -#define ACPI_MAX_GSBUS_BUFFER_SIZE ACPI_SERIAL_HEADER_SIZE + ACPI_MAX_GSBUS_DATA_SIZE - -#define ACPI_PRM_INPUT_BUFFER_SIZE 26 - -#define ACPI_FFH_INPUT_BUFFER_SIZE 256 - -/* _SxD and _SxW control methods */ - -#define ACPI_NUM_SxD_METHODS 4 -#define ACPI_NUM_SxW_METHODS 5 - - -/****************************************************************************** - * - * Miscellaneous constants - * - *****************************************************************************/ - -/* UUID constants */ - -#define UUID_BUFFER_LENGTH 16 /* Length of UUID in memory */ -#define UUID_STRING_LENGTH 36 /* Total length of a UUID string */ - -/* Positions for required hyphens (dashes) in UUID strings */ - -#define UUID_HYPHEN1_OFFSET 8 -#define UUID_HYPHEN2_OFFSET 13 -#define UUID_HYPHEN3_OFFSET 18 -#define UUID_HYPHEN4_OFFSET 23 - - -/****************************************************************************** - * - * ACPI AML Debugger - * - *****************************************************************************/ - -#define ACPI_DEBUGGER_MAX_ARGS ACPI_METHOD_NUM_ARGS + 4 /* Max command line arguments */ -#define ACPI_DB_LINE_BUFFER_SIZE 512 - -#define ACPI_DEBUGGER_COMMAND_PROMPT '-' -#define ACPI_DEBUGGER_EXECUTE_PROMPT '%' - - -#endif /* _ACCONFIG_H */ diff --git a/Private/acpiSDK/source/include/acconvert.h b/Private/acpiSDK/source/include/acconvert.h deleted file mode 100644 index 3aa36a8b..00000000 --- a/Private/acpiSDK/source/include/acconvert.h +++ /dev/null @@ -1,311 +0,0 @@ -/****************************************************************************** - * - * Module Name: acapps - common include for ACPI applications/tools - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACCONVERT -#define _ACCONVERT - -/* Definitions for comment state */ - -#define ASL_COMMENT_STANDARD 1 -#define ASLCOMMENT_INLINE 2 -#define ASL_COMMENT_OPEN_PAREN 3 -#define ASL_COMMENT_CLOSE_PAREN 4 -#define ASL_COMMENT_CLOSE_BRACE 5 - -/* Definitions for comment print function*/ - -#define AML_COMMENT_STANDARD 1 -#define AMLCOMMENT_INLINE 2 -#define AML_COMMENT_END_NODE 3 -#define AML_NAMECOMMENT 4 -#define AML_COMMENT_CLOSE_BRACE 5 -#define AML_COMMENT_ENDBLK 6 -#define AML_COMMENT_INCLUDE 7 - - -#ifdef ACPI_ASL_COMPILER -/* - * cvcompiler - */ -void -CvProcessComment ( - ASL_COMMENT_STATE CurrentState, - char *StringBuffer, - int c1); - -void -CvProcessCommentType2 ( - ASL_COMMENT_STATE CurrentState, - char *StringBuffer); - -UINT32 -CvCalculateCommentLengths( - ACPI_PARSE_OBJECT *Op); - -void -CvProcessCommentState ( - char input); - -char* -CvAppendInlineComment ( - char *InlineComment, - char *ToAdd); - -void -CvAddToCommentList ( - char* ToAdd); - -void -CvPlaceComment ( - UINT8 Type, - char *CommentString); - -UINT32 -CvParseOpBlockType ( - ACPI_PARSE_OBJECT *Op); - -ACPI_COMMENT_NODE* -CvCommentNodeCalloc ( - void); - -void -CgWriteAmlDefBlockComment ( - ACPI_PARSE_OBJECT *Op); - -void -CgWriteOneAmlComment ( - ACPI_PARSE_OBJECT *Op, - char* CommentToPrint, - UINT8 InputOption); - -void -CgWriteAmlComment ( - ACPI_PARSE_OBJECT *Op); - - -/* - * cvparser - */ -void -CvInitFileTree ( - ACPI_TABLE_HEADER *Table, - FILE *RootFile); - -void -CvClearOpComments ( - ACPI_PARSE_OBJECT *Op); - -ACPI_FILE_NODE* -CvFilenameExists ( - char *Filename, - ACPI_FILE_NODE *Head); - -void -CvLabelFileNode ( - ACPI_PARSE_OBJECT *Op); - -void -CvCaptureListComments ( - ACPI_PARSE_STATE *ParserState, - ACPI_COMMENT_NODE *ListHead, - ACPI_COMMENT_NODE *ListTail); - -void -CvCaptureCommentsOnly ( - ACPI_PARSE_STATE *ParserState); - -void -CvCaptureComments ( - ACPI_WALK_STATE *WalkState); - -void -CvTransferComments ( - ACPI_PARSE_OBJECT *Op); - -/* - * cvdisasm - */ -void -CvSwitchFiles ( - UINT32 level, - ACPI_PARSE_OBJECT *op); - -BOOLEAN -CvFileHasSwitched ( - ACPI_PARSE_OBJECT *Op); - - -void -CvCloseParenWriteComment ( - ACPI_PARSE_OBJECT *Op, - UINT32 Level); - -void -CvCloseBraceWriteComment ( - ACPI_PARSE_OBJECT *Op, - UINT32 Level); - -void -CvPrintOneCommentList ( - ACPI_COMMENT_NODE *CommentList, - UINT32 Level); - -void -CvPrintOneCommentType ( - ACPI_PARSE_OBJECT *Op, - UINT8 CommentType, - char* EndStr, - UINT32 Level); - - -#endif - -#endif /* _ACCONVERT */ diff --git a/Private/acpiSDK/source/include/acdebug.h b/Private/acpiSDK/source/include/acdebug.h deleted file mode 100644 index 054de129..00000000 --- a/Private/acpiSDK/source/include/acdebug.h +++ /dev/null @@ -1,626 +0,0 @@ -/****************************************************************************** - * - * Name: acdebug.h - ACPI/AML debugger - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACDEBUG_H__ -#define __ACDEBUG_H__ - -/* The debugger is used in conjunction with the disassembler most of time */ - -#ifdef ACPI_DISASSEMBLER -#include "acdisasm.h" -#endif - - -#define ACPI_DEBUG_BUFFER_SIZE 0x4000 /* 16K buffer for return objects */ -#define ACPI_DEBUG_LENGTH_FORMAT " (%.4X bits, %.3X bytes)" - -typedef struct acpi_db_command_info -{ - const char *Name; /* Command Name */ - UINT8 MinArgs; /* Minimum arguments required */ - -} ACPI_DB_COMMAND_INFO; - -typedef struct acpi_db_command_help -{ - UINT8 LineCount; /* Number of help lines */ - char *Invocation; /* Command Invocation */ - char *Description; /* Command Description */ - -} ACPI_DB_COMMAND_HELP; - -typedef struct acpi_db_argument_info -{ - const char *Name; /* Argument Name */ - -} ACPI_DB_ARGUMENT_INFO; - -typedef struct acpi_db_execute_walk -{ - UINT32 Count; - UINT32 MaxCount; - char NameSeg[ACPI_NAMESEG_SIZE + 1]; - -} ACPI_DB_EXECUTE_WALK; - - -#define PARAM_LIST(pl) pl - -#define EX_NO_SINGLE_STEP 1 -#define EX_SINGLE_STEP 2 -#define EX_ALL 4 - - -/* - * dbxface - external debugger interfaces - */ -ACPI_DBR_DEPENDENT_RETURN_OK ( -ACPI_STATUS -AcpiDbSingleStep ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - UINT32 OpType)) - -ACPI_DBR_DEPENDENT_RETURN_VOID ( -void -AcpiDbSignalBreakPoint ( - ACPI_WALK_STATE *WalkState)) - - -/* - * dbcmds - debug commands and output routines - */ -ACPI_NAMESPACE_NODE * -AcpiDbConvertToNode ( - char *InString); - -void -AcpiDbDisplayTableInfo ( - char *TableArg); - -void -AcpiDbDisplayTemplate ( - char *BufferArg); - -void -AcpiDbUnloadAcpiTable ( - char *Name); - -void -AcpiDbSendNotify ( - char *Name, - UINT32 Value); - -void -AcpiDbDisplayInterfaces ( - char *ActionArg, - char *InterfaceNameArg); - -ACPI_STATUS -AcpiDbSleep ( - char *ObjectArg); - -void -AcpiDbTrace ( - char *EnableArg, - char *MethodArg, - char *OnceArg); - -void -AcpiDbDisplayLocks ( - void); - -void -AcpiDbDisplayResources ( - char *ObjectArg); - -ACPI_HW_DEPENDENT_RETURN_VOID ( -void -AcpiDbDisplayGpes ( - void)) - -void -AcpiDbDisplayHandlers ( - void); - -ACPI_HW_DEPENDENT_RETURN_VOID ( -void -AcpiDbGenerateGpe ( - char *GpeArg, - char *BlockArg)) - -ACPI_HW_DEPENDENT_RETURN_VOID ( -void -AcpiDbGenerateSci ( - void)) - -void -AcpiDbExecuteTest ( - char *TypeArg); - - -/* - * dbconvert - miscellaneous conversion routines - */ -ACPI_STATUS -AcpiDbHexCharToValue ( - int HexChar, - UINT8 *ReturnValue); - -ACPI_STATUS -AcpiDbConvertToPackage ( - char *String, - ACPI_OBJECT *Object); - -ACPI_STATUS -AcpiDbConvertToObject ( - ACPI_OBJECT_TYPE Type, - char *String, - ACPI_OBJECT *Object); - -UINT8 * -AcpiDbEncodePldBuffer ( - ACPI_PLD_INFO *PldInfo); - -void -AcpiDbDumpPldBuffer ( - ACPI_OBJECT *ObjDesc); - - -/* - * dbmethod - control method commands - */ -void -AcpiDbSetMethodBreakpoint ( - char *Location, - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -void -AcpiDbSetMethodCallBreakpoint ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDbSetMethodData ( - char *TypeArg, - char *IndexArg, - char *ValueArg); - -ACPI_STATUS -AcpiDbDisassembleMethod ( - char *Name); - -void -AcpiDbDisassembleAml ( - char *Statements, - ACPI_PARSE_OBJECT *Op); - -void -AcpiDbEvaluatePredefinedNames ( - void); - -void -AcpiDbEvaluateAll ( - char *NameSeg); - - -/* - * dbnames - namespace commands - */ -void -AcpiDbSetScope ( - char *Name); - -void -AcpiDbDumpNamespace ( - char *StartArg, - char *DepthArg); - -void -AcpiDbDumpNamespacePaths ( - void); - -void -AcpiDbDumpNamespaceByOwner ( - char *OwnerArg, - char *DepthArg); - -ACPI_STATUS -AcpiDbFindNameInNamespace ( - char *NameArg); - -void -AcpiDbCheckPredefinedNames ( - void); - -ACPI_STATUS -AcpiDbDisplayObjects ( - char *ObjTypeArg, - char *DisplayCountArg); - -void -AcpiDbCheckIntegrity ( - void); - -void -AcpiDbFindReferences ( - char *ObjectArg); - -void -AcpiDbGetBusInfo ( - void); - -ACPI_STATUS -AcpiDbDisplayFields ( - UINT32 AddressSpaceId); - - -/* - * dbdisply - debug display commands - */ -void -AcpiDbDisplayMethodInfo ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDbDecodeAndDisplayObject ( - char *Target, - char *OutputType); - -ACPI_DBR_DEPENDENT_RETURN_VOID ( -void -AcpiDbDisplayResultObject ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState)) - -ACPI_STATUS -AcpiDbDisplayAllMethods ( - char *DisplayCountArg); - -void -AcpiDbDisplayArguments ( - void); - -void -AcpiDbDisplayLocals ( - void); - -void -AcpiDbDisplayResults ( - void); - -void -AcpiDbDisplayCallingTree ( - void); - -void -AcpiDbDisplayObjectType ( - char *ObjectArg); - -ACPI_DBR_DEPENDENT_RETURN_VOID ( -void -AcpiDbDisplayArgumentObject ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState)) - - -/* - * dbexec - debugger control method execution - */ -void -AcpiDbExecute ( - char *Name, - char **Args, - ACPI_OBJECT_TYPE *Types, - UINT32 Flags); - -void -AcpiDbCreateExecutionThread ( - char *MethodNameArg, - char **Arguments, - ACPI_OBJECT_TYPE *Types); - -void -AcpiDbCreateExecutionThreads ( - char *NumThreadsArg, - char *NumLoopsArg, - char *MethodNameArg); - -void -AcpiDbDeleteObjects ( - UINT32 Count, - ACPI_OBJECT *Objects); - -#ifdef ACPI_DBG_TRACK_ALLOCATIONS -UINT32 -AcpiDbGetCacheInfo ( - ACPI_MEMORY_LIST *Cache); -#endif - - -/* - * dbfileio - Debugger file I/O commands - */ -ACPI_OBJECT_TYPE -AcpiDbMatchArgument ( - char *UserArgument, - ACPI_DB_ARGUMENT_INFO *Arguments); - -void -AcpiDbCloseDebugFile ( - void); - -void -AcpiDbOpenDebugFile ( - char *Name); - -ACPI_STATUS -AcpiDbLoadAcpiTable ( - char *Filename); - -ACPI_STATUS -AcpiDbLoadTables ( - ACPI_NEW_TABLE_DESC *ListHead); - - -/* - * dbhistry - debugger HISTORY command - */ -void -AcpiDbAddToHistory ( - char *CommandLine); - -void -AcpiDbDisplayHistory ( - void); - -char * -AcpiDbGetFromHistory ( - char *CommandNumArg); - -char * -AcpiDbGetHistoryByIndex ( - UINT32 CommanddNum); - - -/* - * dbinput - user front-end to the AML debugger - */ -ACPI_STATUS -AcpiDbCommandDispatch ( - char *InputBuffer, - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -void ACPI_SYSTEM_XFACE -AcpiDbExecuteThread ( - void *Context); - -ACPI_STATUS -AcpiDbUserCommands ( - void); - -char * -AcpiDbGetNextToken ( - char *String, - char **Next, - ACPI_OBJECT_TYPE *ReturnType); - - -/* - * dbobject - */ -void -AcpiDbDecodeInternalObject ( - ACPI_OPERAND_OBJECT *ObjDesc); - -void -AcpiDbDisplayInternalObject ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -void -AcpiDbDecodeArguments ( - ACPI_WALK_STATE *WalkState); - -void -AcpiDbDecodeLocals ( - ACPI_WALK_STATE *WalkState); - -void -AcpiDbDumpMethodInfo ( - ACPI_STATUS Status, - ACPI_WALK_STATE *WalkState); - - -/* - * dbstats - Generation and display of ACPI table statistics - */ -void -AcpiDbGenerateStatistics ( - ACPI_PARSE_OBJECT *Root, - BOOLEAN IsMethod); - -ACPI_STATUS -AcpiDbDisplayStatistics ( - char *TypeArg); - - -/* - * dbutils - AML debugger utilities - */ -void -AcpiDbSetOutputDestination ( - UINT32 Where); - -void -AcpiDbDumpExternalObject ( - ACPI_OBJECT *ObjDesc, - UINT32 Level); - -void -AcpiDbPrepNamestring ( - char *Name); - -ACPI_NAMESPACE_NODE * -AcpiDbLocalNsLookup ( - char *Name); - -void -AcpiDbUint32ToHexString ( - UINT32 Value, - char *Buffer); - -void -AcpiDbGenerateInterrupt ( - char *GsivArg); - -#endif /* __ACDEBUG_H__ */ diff --git a/Private/acpiSDK/source/include/acdisasm.h b/Private/acpiSDK/source/include/acdisasm.h deleted file mode 100644 index 46720942..00000000 --- a/Private/acpiSDK/source/include/acdisasm.h +++ /dev/null @@ -1,1528 +0,0 @@ -/****************************************************************************** - * - * Name: acdisasm.h - AML disassembler - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACDISASM_H__ -#define __ACDISASM_H__ - -#include "amlresrc.h" - - -#define BLOCK_NONE 0 -#define BLOCK_PAREN 1 -#define BLOCK_BRACE 2 -#define BLOCK_COMMA_LIST 4 -#define ACPI_DEFAULT_RESNAME *(UINT32 *) "__RD" - -/* - * Raw table data header. Used by disassembler and data table compiler. - * Do not change. - */ -#define ACPI_RAW_TABLE_DATA_HEADER "Raw Table Data" - - -typedef struct acpi_dmtable_info -{ - UINT8 Opcode; - UINT16 Offset; - char *Name; - UINT8 Flags; - -} ACPI_DMTABLE_INFO; - -/* Values for Flags field above */ - -#define DT_LENGTH 0x01 /* Field is a subtable length */ -#define DT_FLAG 0x02 /* Field is a flag value */ -#define DT_NON_ZERO 0x04 /* Field must be non-zero */ -#define DT_OPTIONAL 0x08 /* Field is optional */ -#define DT_DESCRIBES_OPTIONAL 0x10 /* Field describes an optional field (length, etc.) */ -#define DT_COUNT 0x20 /* Currently not used */ - -/* - * Values for Opcode above. - * Note: 0-7 must not change, they are used as a flag shift value. Other - * than those, new values can be added wherever appropriate. - */ -typedef enum -{ - /* Simple Data Types */ - - ACPI_DMT_FLAG0 = 0, - ACPI_DMT_FLAG1 = 1, - ACPI_DMT_FLAG2 = 2, - ACPI_DMT_FLAG3 = 3, - ACPI_DMT_FLAG4 = 4, - ACPI_DMT_FLAG5 = 5, - ACPI_DMT_FLAG6 = 6, - ACPI_DMT_FLAG7 = 7, - ACPI_DMT_FLAGS0, - ACPI_DMT_FLAGS1, - ACPI_DMT_FLAGS2, - ACPI_DMT_FLAGS8_2, - ACPI_DMT_FLAGS4, - ACPI_DMT_FLAGS4_0, - ACPI_DMT_FLAGS4_4, - ACPI_DMT_FLAGS4_8, - ACPI_DMT_FLAGS4_12, - ACPI_DMT_FLAGS16_16, - ACPI_DMT_UINT8, - ACPI_DMT_UINT16, - ACPI_DMT_UINT24, - ACPI_DMT_UINT32, - ACPI_DMT_UINT40, - ACPI_DMT_UINT48, - ACPI_DMT_UINT56, - ACPI_DMT_UINT64, - ACPI_DMT_BUF7, - ACPI_DMT_BUF10, - ACPI_DMT_BUF12, - ACPI_DMT_BUF16, - ACPI_DMT_BUF18, - ACPI_DMT_BUF128, - ACPI_DMT_SIG, - ACPI_DMT_STRING, - ACPI_DMT_NAME4, - ACPI_DMT_NAME6, - ACPI_DMT_NAME8, - - /* Types that are decoded to strings and miscellaneous */ - - ACPI_DMT_ACCWIDTH, - ACPI_DMT_CHKSUM, - ACPI_DMT_GAS, - ACPI_DMT_SPACEID, - ACPI_DMT_UNICODE, - ACPI_DMT_UUID, - - /* Types used only for the Data Table Compiler */ - - ACPI_DMT_BUFFER, - ACPI_DMT_RAW_BUFFER, /* Large, multiple line buffer */ - ACPI_DMT_DEVICE_PATH, - ACPI_DMT_LABEL, - ACPI_DMT_PCI_PATH, - - /* Types that are specific to particular ACPI tables */ - - ACPI_DMT_AEST, - ACPI_DMT_AEST_CACHE, - ACPI_DMT_AEST_GIC, - ACPI_DMT_AEST_RES, - ACPI_DMT_AEST_XFACE, - ACPI_DMT_AEST_XRUPT, - ACPI_DMT_AGDI, - ACPI_DMT_ASF, - ACPI_DMT_ASPT, - ACPI_DMT_CDAT, - ACPI_DMT_CEDT, - ACPI_DMT_DMAR, - ACPI_DMT_DMAR_SCOPE, - ACPI_DMT_EINJACT, - ACPI_DMT_EINJINST, - ACPI_DMT_ERSTACT, - ACPI_DMT_ERSTINST, - ACPI_DMT_FADTPM, - ACPI_DMT_GTDT, - ACPI_DMT_HEST, - ACPI_DMT_HESTNTFY, - ACPI_DMT_HESTNTYP, - ACPI_DMT_HMAT, - ACPI_DMT_IORTMEM, - ACPI_DMT_IVRS, - ACPI_DMT_IVRS_DE, - ACPI_DMT_IVRS_UNTERMINATED_STRING, - ACPI_DMT_LPIT, - ACPI_DMT_MADT, - ACPI_DMT_MPAM_LOCATOR, - ACPI_DMT_NFIT, - ACPI_DMT_PCCT, - ACPI_DMT_PHAT, - ACPI_DMT_PMTT, - ACPI_DMT_PMTT_VENDOR, - ACPI_DMT_PPTT, - ACPI_DMT_RGRT, - ACPI_DMT_RHCT, - ACPI_DMT_SDEI, - ACPI_DMT_SDEV, - ACPI_DMT_SLIC, - ACPI_DMT_SRAT, - ACPI_DMT_TPM2, - ACPI_DMT_VIOT, - ACPI_DMT_WPBT_UNICODE, - - /* Special opcodes */ - - ACPI_DMT_EXTRA_TEXT, - ACPI_DMT_EXIT - -} ACPI_ENTRY_TYPES; - -typedef -void (*ACPI_DMTABLE_HANDLER) ( - ACPI_TABLE_HEADER *Table); - -typedef -ACPI_STATUS (*ACPI_CMTABLE_HANDLER) ( - void **PFieldList); - -typedef struct acpi_dmtable_data -{ - char *Signature; - ACPI_DMTABLE_INFO *TableInfo; - ACPI_DMTABLE_HANDLER TableHandler; - ACPI_CMTABLE_HANDLER CmTableHandler; - const unsigned char *Template; - -} ACPI_DMTABLE_DATA; - - -typedef struct acpi_op_walk_info -{ - ACPI_WALK_STATE *WalkState; - ACPI_PARSE_OBJECT *MappingOp; - UINT8 *PreviousAml; - UINT8 *StartAml; - UINT32 Level; - UINT32 LastLevel; - UINT32 Count; - UINT32 BitOffset; - UINT32 Flags; - UINT32 AmlOffset; - -} ACPI_OP_WALK_INFO; - -/* - * TBD - another copy of this is in asltypes.h, fix - */ -#ifndef ASL_WALK_CALLBACK_DEFINED -typedef -ACPI_STATUS (*ASL_WALK_CALLBACK) ( - ACPI_PARSE_OBJECT *Op, - UINT32 Level, - void *Context); -#define ASL_WALK_CALLBACK_DEFINED -#endif - -typedef -void (*ACPI_RESOURCE_HANDLER) ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -typedef struct acpi_resource_tag -{ - UINT32 BitIndex; - char *Tag; - -} ACPI_RESOURCE_TAG; - -/* Strings used for decoding flags to ASL keywords */ - -extern const char *AcpiGbl_WordDecode[]; -extern const char *AcpiGbl_IrqDecode[]; -extern const char *AcpiGbl_LockRule[]; -extern const char *AcpiGbl_AccessTypes[]; -extern const char *AcpiGbl_UpdateRules[]; -extern const char *AcpiGbl_MatchOps[]; - -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestProcError[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestCacheRsrc[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestTlbRsrc[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGenRsrc[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestMemError[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestSmmuError[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestVendorError[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestGicError[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXface[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAestXrupt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAgdi[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoApmtNode[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf2a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsf4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsfHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAsptHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoAspt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoBdat[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoBoot[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoBert[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoBgrt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCcel[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatTableHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatHeader[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdat5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCdatEntries[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedtHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCedt1_te[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCpep0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoCsrt2a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Device[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Addr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Size[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2Name[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbg2OemData[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDbgp[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmarScope[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDmar5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoDrtm2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoEcdt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoEinj0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoErst0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFacs[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFadt6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdtHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoFpdt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGas[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdtEl2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGtdt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHeader[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest7[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest8[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest9[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest10[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHest11[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestNotify[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHestBank[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHpet[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpitHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoLpit1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat1c[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmat2a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoHmatHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort3c[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIort6a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortAcc[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortHdr3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortMap[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIortPad[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHware23[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsMemory[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrs8c[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidString[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsCidInteger[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHid[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidString[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsUidInteger[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidString[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoIvrsHidInteger[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt7[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt8[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt9[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt10[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt11[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt12[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt13[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt14[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt15[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt16[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt17[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt18[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt19[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt20[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt21[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt22[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt23[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt24[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt25[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt26[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt27[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadt128[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMadtHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMcfg0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMchi[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1A[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1B[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1C[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1D[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1E[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1F[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1G[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam1Deps[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpam2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0A[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst0B[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMpst2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoMsct0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfitHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit2a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit3a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit6a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoNfit7[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhatHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPhat1b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmtt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttVendor[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPmttHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcctHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPcct5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPdtt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPptt2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPpttHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtModule[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoPrmtHandler[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRasf[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRas2PccDesc[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRgrt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhct[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctNodeHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsa1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctIsaPad[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctCmo1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctMmu1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRhctHartInfo2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoRsdp2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3ptHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoS3pt1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSbst[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdei[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev0b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompId[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdevSecCompMem[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSdev1b[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlic[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSlit[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpcr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSpmi[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSratHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat5[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSrat6[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoStao[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoStaoStr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoSvkl0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaHdr[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaClient[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTcpaServer[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTdel[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm2a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm211[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoTpm23a[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoUefi[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViotHeader[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot1[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot2[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot3[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoViot4[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWaet[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdat0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWddt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWdrt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWpbt0[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoWsmt[]; -extern ACPI_DMTABLE_INFO AcpiDmTableInfoXenv[]; - -extern ACPI_DMTABLE_INFO AcpiDmTableInfoGeneric[][2]; - -/* - * dmtable and ahtable - */ -extern const ACPI_DMTABLE_DATA AcpiDmTableData[]; -extern const AH_TABLE AcpiGbl_SupportedTables[]; - -UINT8 -AcpiDmGenerateChecksum ( - void *Table, - UINT32 Length, - UINT8 OriginalChecksum); - -const ACPI_DMTABLE_DATA * -AcpiDmGetTableData ( - char *Signature); - -void -AcpiDmDumpDataTable ( - ACPI_TABLE_HEADER *Table); - -ACPI_STATUS -AcpiDmDumpTable ( - UINT32 TableLength, - UINT32 TableOffset, - void *Table, - UINT32 SubtableLength, - ACPI_DMTABLE_INFO *Info); - -void -AcpiDmLineHeader ( - UINT32 Offset, - UINT32 ByteLength, - char *Name); - -void -AcpiDmLineHeader2 ( - UINT32 Offset, - UINT32 ByteLength, - char *Name, - UINT32 Value); - - -/* - * dmtbdump - */ -void -AcpiDmDumpBuffer ( - void *Table, - UINT32 BufferOffset, - UINT32 Length, - UINT32 AbsoluteOffset, - char *Header); - -void -AcpiDmDumpUnicode ( - void *Table, - UINT32 BufferOffset, - UINT32 ByteLength); - -void -AcpiDmDumpAest ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpApmt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpAsf ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpAspt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpCcel ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpCdat ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpCedt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpCpep ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpCsrt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpDbg2 ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpDmar ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpDrtm ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpEinj ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpErst ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpFadt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpFpdt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpGtdt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpHest ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpHmat ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpIort ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpIvrs ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpLpit ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpMadt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpMcfg ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpMpam ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpMpst ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpMsct ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpNfit ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPcct ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPdtt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPhat ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPmtt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPptt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpPrmt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpRas2 ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpRgrt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpRhct ( - ACPI_TABLE_HEADER *Table); - -UINT32 -AcpiDmDumpRsdp ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpRsdt ( - ACPI_TABLE_HEADER *Table); - -UINT32 -AcpiDmDumpS3pt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpSdev ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpSlic ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpSlit ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpSrat ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpStao ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpSvkl ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpTcpa ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpTdel ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpTpm2 ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpViot ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpWdat ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpWpbt ( - ACPI_TABLE_HEADER *Table); - -void -AcpiDmDumpXsdt ( - ACPI_TABLE_HEADER *Table); - - -/* - * dmwalk - */ -void -AcpiDmDisassemble ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Origin, - UINT32 NumOpcodes); - -void -AcpiDmWalkParseTree ( - ACPI_PARSE_OBJECT *Op, - ASL_WALK_CALLBACK DescendingCallback, - ASL_WALK_CALLBACK AscendingCallback, - void *Context); - - -/* - * dmopcode - */ -void -AcpiDmDisassembleOneOp ( - ACPI_WALK_STATE *WalkState, - ACPI_OP_WALK_INFO *Info, - ACPI_PARSE_OBJECT *Op); - -UINT32 -AcpiDmListType ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmMethodFlags ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmDisplayTargetPathname ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmNotifyDescription ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmPredefinedDescription ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmFieldPredefinedDescription ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmFieldFlags ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmAddressSpace ( - UINT8 SpaceId); - -void -AcpiDmRegionFlags ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmMatchOp ( - ACPI_PARSE_OBJECT *Op); - - -/* - * dmnames - */ -UINT32 -AcpiDmDumpName ( - UINT32 Name); - -ACPI_STATUS -AcpiPsDisplayObjectPathname ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmNamestring ( - char *Name); - - -/* - * dmbuffer - */ -void -AcpiDmDisasmByteList ( - UINT32 Level, - UINT8 *ByteData, - UINT32 ByteCount); - -void -AcpiDmByteList ( - ACPI_OP_WALK_INFO *Info, - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmCheckForHardwareId ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmDecompressEisaId ( - UINT32 EncodedId); - -BOOLEAN -AcpiDmIsUuidBuffer ( - ACPI_PARSE_OBJECT *Op); - -BOOLEAN -AcpiDmIsUnicodeBuffer ( - ACPI_PARSE_OBJECT *Op); - -BOOLEAN -AcpiDmIsStringBuffer ( - ACPI_PARSE_OBJECT *Op); - -BOOLEAN -AcpiDmIsPldBuffer ( - ACPI_PARSE_OBJECT *Op); - - -/* - * dmdeferred - */ -ACPI_STATUS -AcpiDmParseDeferredOps ( - ACPI_PARSE_OBJECT *Root); - - -/* - * dmextern - */ -ACPI_STATUS -AcpiDmAddToExternalFileList ( - char *PathList); - -void -AcpiDmClearExternalFileList ( - void); - -void -AcpiDmAddOpToExternalList ( - ACPI_PARSE_OBJECT *Op, - char *Path, - UINT8 Type, - UINT32 Value, - UINT16 Flags); - -void -AcpiDmCreateSubobjectForExternal ( - UINT8 Type, - ACPI_NAMESPACE_NODE **Node, - UINT32 Value); - -void -AcpiDmAddNodeToExternalList ( - ACPI_NAMESPACE_NODE *Node, - UINT8 Type, - UINT32 Value, - UINT16 Flags); - -void -AcpiDmAddExternalListToNamespace ( - void); - -void -AcpiDmAddOneExternalToNamespace ( - char *Path, - UINT8 Type, - UINT32 Value); - -UINT32 -AcpiDmGetUnresolvedExternalMethodCount ( - void); - -void -AcpiDmClearExternalList ( - void); - -void -AcpiDmEmitExternals ( - void); - -void -AcpiDmEmitExternal ( - ACPI_PARSE_OBJECT *NameOp, - ACPI_PARSE_OBJECT *TypeOp); - -void -AcpiDmUnresolvedWarning ( - UINT8 Type); - -void -AcpiDmGetExternalsFromFile ( - void); - -void -AcpiDmMarkExternalConflict ( - ACPI_NAMESPACE_NODE *Node); - - -/* - * dmresrc - */ -void -AcpiDmDumpInteger8 ( - UINT8 Value, - const char *Name); - -void -AcpiDmDumpInteger16 ( - UINT16 Value, - const char *Name); - -void -AcpiDmDumpInteger32 ( - UINT32 Value, - const char *Name); - -void -AcpiDmDumpInteger64 ( - UINT64 Value, - const char *Name); - -void -AcpiDmResourceTemplate ( - ACPI_OP_WALK_INFO *Info, - ACPI_PARSE_OBJECT *Op, - UINT8 *ByteData, - UINT32 ByteCount); - -ACPI_STATUS -AcpiDmIsResourceTemplate ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmBitList ( - UINT16 Mask); - -void -AcpiDmDescriptorName ( - void); - - -/* - * dmresrcl - */ -void -AcpiDmWordDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmDwordDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmExtendedDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmQwordDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmMemory24Descriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmMemory32Descriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmFixedMemory32Descriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmGenericRegisterDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmInterruptDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmVendorLargeDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmGpioDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmPinFunctionDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmPinConfigDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmPinGroupDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmPinGroupFunctionDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmPinGroupConfigDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmSerialBusDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmVendorCommon ( - const char *Name, - UINT8 *ByteData, - UINT32 Length, - UINT32 Level); - -void -AcpiDmClockInputDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -/* - * dmresrcs - */ -void -AcpiDmIrqDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmDmaDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmFixedDmaDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmIoDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmFixedIoDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmStartDependentDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmEndDependentDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - -void -AcpiDmVendorSmallDescriptor ( - ACPI_OP_WALK_INFO *Info, - AML_RESOURCE *Resource, - UINT32 Length, - UINT32 Level); - - -/* - * dmutils - */ -void -AcpiDmDecodeAttribute ( - UINT8 Attribute); - -void -AcpiDmIndent ( - UINT32 Level); - -BOOLEAN -AcpiDmCommaIfListMember ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmCommaIfFieldMember ( - ACPI_PARSE_OBJECT *Op); - - -/* - * dmrestag - */ -void -AcpiDmFindResources ( - ACPI_PARSE_OBJECT *Root); - -void -AcpiDmCheckResourceReference ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - - -/* - * dmcstyle - */ -BOOLEAN -AcpiDmCheckForSymbolicOpcode ( - ACPI_PARSE_OBJECT *Op, - ACPI_OP_WALK_INFO *Info); - -void -AcpiDmCloseOperator ( - ACPI_PARSE_OBJECT *Op); - - -/* - * dmtables - */ -ACPI_STATUS -AcpiDmProcessSwitch ( - ACPI_PARSE_OBJECT *Op); - -void -AcpiDmClearTempList( - void); - -/* - * dmtables - */ -void -AdDisassemblerHeader ( - char *Filename, - UINT8 TableType); - -#define ACPI_IS_AML_TABLE 0 -#define ACPI_IS_DATA_TABLE 1 - - -/* - * adisasm - */ -ACPI_STATUS -AdAmlDisassemble ( - BOOLEAN OutToFile, - char *Filename, - char *Prefix, - char **OutFilename); - -ACPI_STATUS -AdGetLocalTables ( - void); - -ACPI_STATUS -AdParseTable ( - ACPI_TABLE_HEADER *Table, - ACPI_OWNER_ID *OwnerId, - BOOLEAN LoadTable, - BOOLEAN External); - -ACPI_STATUS -AdDisplayTables ( - char *Filename, - ACPI_TABLE_HEADER *Table); - -ACPI_STATUS -AdDisplayStatistics ( - void); - - -/* - * dmwalk - */ -UINT32 -AcpiDmBlockType ( - ACPI_PARSE_OBJECT *Op); - - -#endif /* __ACDISASM_H__ */ diff --git a/Private/acpiSDK/source/include/acdispat.h b/Private/acpiSDK/source/include/acdispat.h deleted file mode 100644 index 3e8ad810..00000000 --- a/Private/acpiSDK/source/include/acdispat.h +++ /dev/null @@ -1,599 +0,0 @@ -/****************************************************************************** - * - * Name: acdispat.h - dispatcher (parser to interpreter interface) - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACDISPAT_H_ -#define _ACDISPAT_H_ - - -#define NAMEOF_LOCAL_NTE "__L0" -#define NAMEOF_ARG_NTE "__A0" - - -/* - * dsargs - execution of dynamic arguments for static objects - */ -ACPI_STATUS -AcpiDsGetBufferFieldArguments ( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsGetBankFieldArguments ( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsGetRegionArguments ( - ACPI_OPERAND_OBJECT *RgnDesc); - -ACPI_STATUS -AcpiDsGetBufferArguments ( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsGetPackageArguments ( - ACPI_OPERAND_OBJECT *ObjDesc); - - -/* - * dscontrol - support for execution control opcodes - */ -ACPI_STATUS -AcpiDsExecBeginControlOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsExecEndControlOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - - -/* - * dsopcode - support for late operand evaluation - */ -ACPI_STATUS -AcpiDsEvalBufferFieldOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsEvalRegionOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsEvalTableRegionOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsEvalDataObjectOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsEvalBankFieldOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsInitializeRegion ( - ACPI_HANDLE ObjHandle); - - -/* - * dsexec - Parser/Interpreter interface, method execution callbacks - */ -ACPI_STATUS -AcpiDsGetPredicateValue ( - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT *ResultObj); - -ACPI_STATUS -AcpiDsExecBeginOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT **OutOp); - -ACPI_STATUS -AcpiDsExecEndOp ( - ACPI_WALK_STATE *State); - - -/* - * dsfield - Parser/Interpreter interface for AML fields - */ -ACPI_STATUS -AcpiDsCreateField ( - ACPI_PARSE_OBJECT *Op, - ACPI_NAMESPACE_NODE *RegionNode, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsCreateBankField ( - ACPI_PARSE_OBJECT *Op, - ACPI_NAMESPACE_NODE *RegionNode, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsCreateIndexField ( - ACPI_PARSE_OBJECT *Op, - ACPI_NAMESPACE_NODE *RegionNode, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsCreateBufferField ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsInitFieldObjects ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - - -/* - * dsload - Parser/Interpreter interface - */ -ACPI_STATUS -AcpiDsInitCallbacks ( - ACPI_WALK_STATE *WalkState, - UINT32 PassNumber); - -/* dsload - pass 1 namespace load callbacks */ - -ACPI_STATUS -AcpiDsLoad1BeginOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT **OutOp); - -ACPI_STATUS -AcpiDsLoad1EndOp ( - ACPI_WALK_STATE *WalkState); - - -/* dsload - pass 2 namespace load callbacks */ - -ACPI_STATUS -AcpiDsLoad2BeginOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT **OutOp); - -ACPI_STATUS -AcpiDsLoad2EndOp ( - ACPI_WALK_STATE *WalkState); - - -/* - * dsmthdat - method data (locals/args) - */ -ACPI_STATUS -AcpiDsStoreObjectToLocal ( - UINT8 Type, - UINT32 Index, - ACPI_OPERAND_OBJECT *SrcDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsMethodDataGetEntry ( - UINT16 Opcode, - UINT32 Index, - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT ***Node); - -void -AcpiDsMethodDataDeleteAll ( - ACPI_WALK_STATE *WalkState); - -BOOLEAN -AcpiDsIsMethodValue ( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsMethodDataGetValue ( - UINT8 Type, - UINT32 Index, - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT **DestDesc); - -ACPI_STATUS -AcpiDsMethodDataInitArgs ( - ACPI_OPERAND_OBJECT **Params, - UINT32 MaxParamCount, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsMethodDataGetNode ( - UINT8 Type, - UINT32 Index, - ACPI_WALK_STATE *WalkState, - ACPI_NAMESPACE_NODE **Node); - -void -AcpiDsMethodDataInit ( - ACPI_WALK_STATE *WalkState); - - -/* - * dsmethod - Parser/Interpreter interface - control method parsing - */ -ACPI_STATUS -AcpiDsAutoSerializeMethod ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiDsCallControlMethod ( - ACPI_THREAD_STATE *Thread, - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiDsRestartControlMethod ( - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT *ReturnDesc); - -void -AcpiDsTerminateControlMethod ( - ACPI_OPERAND_OBJECT *MethodDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsBeginMethodExecution ( - ACPI_NAMESPACE_NODE *MethodNode, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsMethodError ( - ACPI_STATUS Status, - ACPI_WALK_STATE *WalkState); - -/* - * dsinit - */ -ACPI_STATUS -AcpiDsInitializeObjects ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode); - - -/* - * dsobject - Parser/Interpreter interface - object initialization and conversion - */ -ACPI_STATUS -AcpiDsBuildInternalObject ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_OPERAND_OBJECT **ObjDescPtr); - -ACPI_STATUS -AcpiDsBuildInternalBufferObj ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - UINT32 BufferLength, - ACPI_OPERAND_OBJECT **ObjDescPtr); - -ACPI_STATUS -AcpiDsBuildInternalPackageObj ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *op, - UINT32 PackageLength, - ACPI_OPERAND_OBJECT **ObjDesc); - -ACPI_STATUS -AcpiDsInitObjectFromOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - UINT16 Opcode, - ACPI_OPERAND_OBJECT **ObjDesc); - -ACPI_STATUS -AcpiDsCreateNode ( - ACPI_WALK_STATE *WalkState, - ACPI_NAMESPACE_NODE *Node, - ACPI_PARSE_OBJECT *Op); - - -/* - * dspkginit - Package object initialization - */ -ACPI_STATUS -AcpiDsInitPackageElement ( - UINT8 ObjectType, - ACPI_OPERAND_OBJECT *SourceObject, - ACPI_GENERIC_STATE *State, - void *Context); - - -/* - * dsutils - Parser/Interpreter interface utility routines - */ -void -AcpiDsClearImplicitReturn ( - ACPI_WALK_STATE *WalkState); - -BOOLEAN -AcpiDsDoImplicitReturn ( - ACPI_OPERAND_OBJECT *ReturnDesc, - ACPI_WALK_STATE *WalkState, - BOOLEAN AddReference); - -BOOLEAN -AcpiDsIsResultUsed ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - -void -AcpiDsDeleteResultIfNotUsed ( - ACPI_PARSE_OBJECT *Op, - ACPI_OPERAND_OBJECT *ResultObj, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsCreateOperand ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Arg, - UINT32 ArgsRemaining); - -ACPI_STATUS -AcpiDsCreateOperands ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *FirstArg); - -ACPI_STATUS -AcpiDsResolveOperands ( - ACPI_WALK_STATE *WalkState); - -void -AcpiDsClearOperands ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsEvaluateNamePath ( - ACPI_WALK_STATE *WalkState); - - -/* - * dswscope - Scope Stack manipulation - */ -ACPI_STATUS -AcpiDsScopeStackPush ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_TYPE Type, - ACPI_WALK_STATE *WalkState); - - -ACPI_STATUS -AcpiDsScopeStackPop ( - ACPI_WALK_STATE *WalkState); - -void -AcpiDsScopeStackClear ( - ACPI_WALK_STATE *WalkState); - - -/* - * dswstate - parser WALK_STATE management routines - */ -ACPI_STATUS -AcpiDsObjStackPush ( - void *Object, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsObjStackPop ( - UINT32 PopCount, - ACPI_WALK_STATE *WalkState); - -ACPI_WALK_STATE * -AcpiDsCreateWalkState ( - ACPI_OWNER_ID OwnerId, - ACPI_PARSE_OBJECT *Origin, - ACPI_OPERAND_OBJECT *MthDesc, - ACPI_THREAD_STATE *Thread); - -ACPI_STATUS -AcpiDsInitAmlWalk ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_NAMESPACE_NODE *MethodNode, - UINT8 *AmlStart, - UINT32 AmlLength, - ACPI_EVALUATE_INFO *Info, - UINT8 PassNumber); - -void -AcpiDsObjStackPopAndDelete ( - UINT32 PopCount, - ACPI_WALK_STATE *WalkState); - -void -AcpiDsDeleteWalkState ( - ACPI_WALK_STATE *WalkState); - -ACPI_WALK_STATE * -AcpiDsPopWalkState ( - ACPI_THREAD_STATE *Thread); - -void -AcpiDsPushWalkState ( - ACPI_WALK_STATE *WalkState, - ACPI_THREAD_STATE *Thread); - -ACPI_STATUS -AcpiDsResultStackClear ( - ACPI_WALK_STATE *WalkState); - -ACPI_WALK_STATE * -AcpiDsGetCurrentWalkState ( - ACPI_THREAD_STATE *Thread); - -ACPI_STATUS -AcpiDsResultPop ( - ACPI_OPERAND_OBJECT **Object, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiDsResultPush ( - ACPI_OPERAND_OBJECT *Object, - ACPI_WALK_STATE *WalkState); - - -/* - * dsdebug - parser debugging routines - */ -void -AcpiDsDumpMethodStack ( - ACPI_STATUS Status, - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -#endif /* _ACDISPAT_H_ */ diff --git a/Private/acpiSDK/source/include/acevents.h b/Private/acpiSDK/source/include/acevents.h deleted file mode 100644 index f9972d8d..00000000 --- a/Private/acpiSDK/source/include/acevents.h +++ /dev/null @@ -1,507 +0,0 @@ -/****************************************************************************** - * - * Name: acevents.h - Event subcomponent prototypes and defines - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACEVENTS_H__ -#define __ACEVENTS_H__ - - -/* - * Conditions to trigger post enabling GPE polling: - * It is not sufficient to trigger edge-triggered GPE with specific GPE - * chips, software need to poll once after enabling. - */ -#ifdef ACPI_USE_GPE_POLLING -#define ACPI_GPE_IS_POLLING_NEEDED(__gpe__) \ - ((__gpe__)->RuntimeCount == 1 && \ - (__gpe__)->Flags & ACPI_GPE_INITIALIZED && \ - ((__gpe__)->Flags & ACPI_GPE_XRUPT_TYPE_MASK) == ACPI_GPE_EDGE_TRIGGERED) -#else -#define ACPI_GPE_IS_POLLING_NEEDED(__gpe__) FALSE -#endif - - -/* - * evevent - */ -ACPI_STATUS -AcpiEvInitializeEvents ( - void); - -ACPI_STATUS -AcpiEvInstallXruptHandlers ( - void); - -UINT32 -AcpiEvFixedEventDetect ( - void); - - -/* - * evmisc - */ -BOOLEAN -AcpiEvIsNotifyObject ( - ACPI_NAMESPACE_NODE *Node); - -UINT32 -AcpiEvGetGpeNumberIndex ( - UINT32 GpeNumber); - -ACPI_STATUS -AcpiEvQueueNotifyRequest ( - ACPI_NAMESPACE_NODE *Node, - UINT32 NotifyValue); - - -/* - * evglock - Global Lock support - */ -ACPI_STATUS -AcpiEvInitGlobalLockHandler ( - void); - -ACPI_HW_DEPENDENT_RETURN_OK ( -ACPI_STATUS -AcpiEvAcquireGlobalLock( - UINT16 Timeout)) - -ACPI_HW_DEPENDENT_RETURN_OK ( -ACPI_STATUS -AcpiEvReleaseGlobalLock( - void)) - -ACPI_STATUS -AcpiEvRemoveGlobalLockHandler ( - void); - - -/* - * evgpe - Low-level GPE support - */ -UINT32 -AcpiEvGpeDetect ( - ACPI_GPE_XRUPT_INFO *GpeXruptList); - -ACPI_STATUS -AcpiEvUpdateGpeEnableMask ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -ACPI_STATUS -AcpiEvEnableGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -ACPI_STATUS -AcpiEvMaskGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo, - BOOLEAN IsMasked); - -ACPI_STATUS -AcpiEvAddGpeReference ( - ACPI_GPE_EVENT_INFO *GpeEventInfo, - BOOLEAN ClearOnEnable); - -ACPI_STATUS -AcpiEvRemoveGpeReference ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -ACPI_GPE_EVENT_INFO * -AcpiEvGetGpeEventInfo ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber); - -ACPI_GPE_EVENT_INFO * -AcpiEvLowGetGpeInfo ( - UINT32 GpeNumber, - ACPI_GPE_BLOCK_INFO *GpeBlock); - -ACPI_STATUS -AcpiEvFinishGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -UINT32 -AcpiEvDetectGpe ( - ACPI_NAMESPACE_NODE *GpeDevice, - ACPI_GPE_EVENT_INFO *GpeEventInfo, - UINT32 GpeNumber); - - -/* - * evgpeblk - Upper-level GPE block support - */ -ACPI_STATUS -AcpiEvCreateGpeBlock ( - ACPI_NAMESPACE_NODE *GpeDevice, - UINT64 Address, - UINT8 SpaceId, - UINT32 RegisterCount, - UINT16 GpeBlockBaseNumber, - UINT32 InterruptNumber, - ACPI_GPE_BLOCK_INFO **ReturnGpeBlock); - -ACPI_STATUS -AcpiEvInitializeGpeBlock ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - -ACPI_HW_DEPENDENT_RETURN_OK ( -ACPI_STATUS -AcpiEvDeleteGpeBlock ( - ACPI_GPE_BLOCK_INFO *GpeBlock)) - -UINT32 -AcpiEvGpeDispatch ( - ACPI_NAMESPACE_NODE *GpeDevice, - ACPI_GPE_EVENT_INFO *GpeEventInfo, - UINT32 GpeNumber); - - -/* - * evgpeinit - GPE initialization and update - */ -ACPI_STATUS -AcpiEvGpeInitialize ( - void); - -ACPI_HW_DEPENDENT_RETURN_VOID ( -void -AcpiEvUpdateGpes ( - ACPI_OWNER_ID TableOwnerId)) - -ACPI_STATUS -AcpiEvMatchGpeMethod ( - ACPI_HANDLE ObjHandle, - UINT32 Level, - void *Context, - void **ReturnValue); - - -/* - * evgpeutil - GPE utilities - */ -ACPI_STATUS -AcpiEvWalkGpeList ( - ACPI_GPE_CALLBACK GpeWalkCallback, - void *Context); - -ACPI_STATUS -AcpiEvGetGpeDevice ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - -ACPI_STATUS -AcpiEvGetGpeXruptBlock ( - UINT32 InterruptNumber, - ACPI_GPE_XRUPT_INFO **GpeXruptBlock); - -ACPI_STATUS -AcpiEvDeleteGpeXrupt ( - ACPI_GPE_XRUPT_INFO *GpeXrupt); - -ACPI_STATUS -AcpiEvDeleteGpeHandlers ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - - -/* - * evhandler - Address space handling - */ -ACPI_OPERAND_OBJECT * -AcpiEvFindRegionHandler ( - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_OPERAND_OBJECT *HandlerObj); - -BOOLEAN -AcpiEvHasDefaultHandler ( - ACPI_NAMESPACE_NODE *Node, - ACPI_ADR_SPACE_TYPE SpaceId); - -ACPI_STATUS -AcpiEvInstallRegionHandlers ( - void); - -ACPI_STATUS -AcpiEvInstallSpaceHandler ( - ACPI_NAMESPACE_NODE *Node, - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_ADR_SPACE_HANDLER Handler, - ACPI_ADR_SPACE_SETUP Setup, - void *Context); - - -/* - * evregion - Operation region support - */ -ACPI_STATUS -AcpiEvInitializeOpRegions ( - void); - -ACPI_STATUS -AcpiEvAddressSpaceDispatch ( - ACPI_OPERAND_OBJECT *RegionObj, - ACPI_OPERAND_OBJECT *FieldObj, - UINT32 Function, - UINT32 RegionOffset, - UINT32 BitWidth, - UINT64 *Value); - -ACPI_STATUS -AcpiEvAttachRegion ( - ACPI_OPERAND_OBJECT *HandlerObj, - ACPI_OPERAND_OBJECT *RegionObj, - BOOLEAN AcpiNsIsLocked); - -void -AcpiEvDetachRegion ( - ACPI_OPERAND_OBJECT *RegionObj, - BOOLEAN AcpiNsIsLocked); - -void -AcpiEvExecuteRegMethods ( - ACPI_NAMESPACE_NODE *Node, - ACPI_ADR_SPACE_TYPE SpaceId, - UINT32 Function); - -ACPI_STATUS -AcpiEvExecuteRegMethod ( - ACPI_OPERAND_OBJECT *RegionObj, - UINT32 Function); - - -/* - * evregini - Region initialization and setup - */ -ACPI_STATUS -AcpiEvSystemMemoryRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvIoSpaceRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvPciConfigRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvCmosRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvPciBarRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvDataTableRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvDefaultRegionSetup ( - ACPI_HANDLE Handle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -ACPI_STATUS -AcpiEvInitializeRegion ( - ACPI_OPERAND_OBJECT *RegionObj); - -BOOLEAN -AcpiEvIsPciRootBridge ( - ACPI_NAMESPACE_NODE *Node); - - -/* - * evsci - SCI (System Control Interrupt) handling/dispatch - */ -UINT32 ACPI_SYSTEM_XFACE -AcpiEvGpeXruptHandler ( - void *Context); - -UINT32 -AcpiEvSciDispatch ( - void); - -UINT32 -AcpiEvInstallSciHandler ( - void); - -ACPI_STATUS -AcpiEvRemoveAllSciHandlers ( - void); - -ACPI_HW_DEPENDENT_RETURN_VOID ( -void -AcpiEvTerminate ( - void)) - -#endif /* __ACEVENTS_H__ */ diff --git a/Private/acpiSDK/source/include/acexcep.h b/Private/acpiSDK/source/include/acexcep.h deleted file mode 100644 index 9271dc4c..00000000 --- a/Private/acpiSDK/source/include/acexcep.h +++ /dev/null @@ -1,481 +0,0 @@ -/****************************************************************************** - * - * Name: acexcep.h - Exception codes returned by the ACPI subsystem - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACEXCEP_H__ -#define __ACEXCEP_H__ - - -/* This module contains all possible exception codes for ACPI_STATUS */ - -/* - * Exception code classes - */ -#define AE_CODE_ENVIRONMENTAL 0x0000 /* General ACPICA environment */ -#define AE_CODE_PROGRAMMER 0x1000 /* External ACPICA interface caller */ -#define AE_CODE_ACPI_TABLES 0x2000 /* ACPI tables */ -#define AE_CODE_AML 0x3000 /* From executing AML code */ -#define AE_CODE_CONTROL 0x4000 /* Internal control codes */ - -#define AE_CODE_MAX 0x4000 -#define AE_CODE_MASK 0xF000 - -/* - * Macros to insert the exception code classes - */ -#define EXCEP_ENV(code) ((ACPI_STATUS) (code | AE_CODE_ENVIRONMENTAL)) -#define EXCEP_PGM(code) ((ACPI_STATUS) (code | AE_CODE_PROGRAMMER)) -#define EXCEP_TBL(code) ((ACPI_STATUS) (code | AE_CODE_ACPI_TABLES)) -#define EXCEP_AML(code) ((ACPI_STATUS) (code | AE_CODE_AML)) -#define EXCEP_CTL(code) ((ACPI_STATUS) (code | AE_CODE_CONTROL)) - -/* - * Exception info table. The "Description" field is used only by the - * ACPICA help application (acpihelp). - */ -typedef struct acpi_exception_info -{ - char *Name; - -#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) - char *Description; -#endif -} ACPI_EXCEPTION_INFO; - -#if defined (ACPI_HELP_APP) || defined (ACPI_ASL_COMPILER) -#define EXCEP_TXT(Name,Description) {Name, Description} -#else -#define EXCEP_TXT(Name,Description) {Name} -#endif - - -/* - * Success is always zero, failure is non-zero - */ -#define ACPI_SUCCESS(a) (!(a)) -#define ACPI_FAILURE(a) (a) - -#define AE_OK (ACPI_STATUS) 0x0000 - -#define ACPI_ENV_EXCEPTION(Status) (((Status) & AE_CODE_MASK) == AE_CODE_ENVIRONMENTAL) -#define ACPI_AML_EXCEPTION(Status) (((Status) & AE_CODE_MASK) == AE_CODE_AML) -#define ACPI_PROG_EXCEPTION(Status) (((Status) & AE_CODE_MASK) == AE_CODE_PROGRAMMER) -#define ACPI_TABLE_EXCEPTION(Status) (((Status) & AE_CODE_MASK) == AE_CODE_ACPI_TABLES) -#define ACPI_CNTL_EXCEPTION(Status) (((Status) & AE_CODE_MASK) == AE_CODE_CONTROL) - - -/* - * Environmental exceptions - */ -#define AE_ERROR EXCEP_ENV (0x0001) -#define AE_NO_ACPI_TABLES EXCEP_ENV (0x0002) -#define AE_NO_NAMESPACE EXCEP_ENV (0x0003) -#define AE_NO_MEMORY EXCEP_ENV (0x0004) -#define AE_NOT_FOUND EXCEP_ENV (0x0005) -#define AE_NOT_EXIST EXCEP_ENV (0x0006) -#define AE_ALREADY_EXISTS EXCEP_ENV (0x0007) -#define AE_TYPE EXCEP_ENV (0x0008) -#define AE_NULL_OBJECT EXCEP_ENV (0x0009) -#define AE_NULL_ENTRY EXCEP_ENV (0x000A) -#define AE_BUFFER_OVERFLOW EXCEP_ENV (0x000B) -#define AE_STACK_OVERFLOW EXCEP_ENV (0x000C) -#define AE_STACK_UNDERFLOW EXCEP_ENV (0x000D) -#define AE_NOT_IMPLEMENTED EXCEP_ENV (0x000E) -#define AE_SUPPORT EXCEP_ENV (0x000F) -#define AE_LIMIT EXCEP_ENV (0x0010) -#define AE_TIME EXCEP_ENV (0x0011) -#define AE_ACQUIRE_DEADLOCK EXCEP_ENV (0x0012) -#define AE_RELEASE_DEADLOCK EXCEP_ENV (0x0013) -#define AE_NOT_ACQUIRED EXCEP_ENV (0x0014) -#define AE_ALREADY_ACQUIRED EXCEP_ENV (0x0015) -#define AE_NO_HARDWARE_RESPONSE EXCEP_ENV (0x0016) -#define AE_NO_GLOBAL_LOCK EXCEP_ENV (0x0017) -#define AE_ABORT_METHOD EXCEP_ENV (0x0018) -#define AE_SAME_HANDLER EXCEP_ENV (0x0019) -#define AE_NO_HANDLER EXCEP_ENV (0x001A) -#define AE_OWNER_ID_LIMIT EXCEP_ENV (0x001B) -#define AE_NOT_CONFIGURED EXCEP_ENV (0x001C) -#define AE_ACCESS EXCEP_ENV (0x001D) -#define AE_IO_ERROR EXCEP_ENV (0x001E) -#define AE_NUMERIC_OVERFLOW EXCEP_ENV (0x001F) -#define AE_HEX_OVERFLOW EXCEP_ENV (0x0020) -#define AE_DECIMAL_OVERFLOW EXCEP_ENV (0x0021) -#define AE_OCTAL_OVERFLOW EXCEP_ENV (0x0022) -#define AE_END_OF_TABLE EXCEP_ENV (0x0023) - -#define AE_CODE_ENV_MAX 0x0023 - - -/* - * Programmer exceptions - */ -#define AE_BAD_PARAMETER EXCEP_PGM (0x0001) -#define AE_BAD_CHARACTER EXCEP_PGM (0x0002) -#define AE_BAD_PATHNAME EXCEP_PGM (0x0003) -#define AE_BAD_DATA EXCEP_PGM (0x0004) -#define AE_BAD_HEX_CONSTANT EXCEP_PGM (0x0005) -#define AE_BAD_OCTAL_CONSTANT EXCEP_PGM (0x0006) -#define AE_BAD_DECIMAL_CONSTANT EXCEP_PGM (0x0007) -#define AE_MISSING_ARGUMENTS EXCEP_PGM (0x0008) -#define AE_BAD_ADDRESS EXCEP_PGM (0x0009) - -#define AE_CODE_PGM_MAX 0x0009 - - -/* - * Acpi table exceptions - */ -#define AE_BAD_SIGNATURE EXCEP_TBL (0x0001) -#define AE_BAD_HEADER EXCEP_TBL (0x0002) -#define AE_BAD_CHECKSUM EXCEP_TBL (0x0003) -#define AE_BAD_VALUE EXCEP_TBL (0x0004) -#define AE_INVALID_TABLE_LENGTH EXCEP_TBL (0x0005) - -#define AE_CODE_TBL_MAX 0x0005 - - -/* - * AML exceptions. These are caused by problems with - * the actual AML byte stream - */ -#define AE_AML_BAD_OPCODE EXCEP_AML (0x0001) -#define AE_AML_NO_OPERAND EXCEP_AML (0x0002) -#define AE_AML_OPERAND_TYPE EXCEP_AML (0x0003) -#define AE_AML_OPERAND_VALUE EXCEP_AML (0x0004) -#define AE_AML_UNINITIALIZED_LOCAL EXCEP_AML (0x0005) -#define AE_AML_UNINITIALIZED_ARG EXCEP_AML (0x0006) -#define AE_AML_UNINITIALIZED_ELEMENT EXCEP_AML (0x0007) -#define AE_AML_NUMERIC_OVERFLOW EXCEP_AML (0x0008) -#define AE_AML_REGION_LIMIT EXCEP_AML (0x0009) -#define AE_AML_BUFFER_LIMIT EXCEP_AML (0x000A) -#define AE_AML_PACKAGE_LIMIT EXCEP_AML (0x000B) -#define AE_AML_DIVIDE_BY_ZERO EXCEP_AML (0x000C) -#define AE_AML_BAD_NAME EXCEP_AML (0x000D) -#define AE_AML_NAME_NOT_FOUND EXCEP_AML (0x000E) -#define AE_AML_INTERNAL EXCEP_AML (0x000F) -#define AE_AML_INVALID_SPACE_ID EXCEP_AML (0x0010) -#define AE_AML_STRING_LIMIT EXCEP_AML (0x0011) -#define AE_AML_NO_RETURN_VALUE EXCEP_AML (0x0012) -#define AE_AML_METHOD_LIMIT EXCEP_AML (0x0013) -#define AE_AML_NOT_OWNER EXCEP_AML (0x0014) -#define AE_AML_MUTEX_ORDER EXCEP_AML (0x0015) -#define AE_AML_MUTEX_NOT_ACQUIRED EXCEP_AML (0x0016) -#define AE_AML_INVALID_RESOURCE_TYPE EXCEP_AML (0x0017) -#define AE_AML_INVALID_INDEX EXCEP_AML (0x0018) -#define AE_AML_REGISTER_LIMIT EXCEP_AML (0x0019) -#define AE_AML_NO_WHILE EXCEP_AML (0x001A) -#define AE_AML_ALIGNMENT EXCEP_AML (0x001B) -#define AE_AML_NO_RESOURCE_END_TAG EXCEP_AML (0x001C) -#define AE_AML_BAD_RESOURCE_VALUE EXCEP_AML (0x001D) -#define AE_AML_CIRCULAR_REFERENCE EXCEP_AML (0x001E) -#define AE_AML_BAD_RESOURCE_LENGTH EXCEP_AML (0x001F) -#define AE_AML_ILLEGAL_ADDRESS EXCEP_AML (0x0020) -#define AE_AML_LOOP_TIMEOUT EXCEP_AML (0x0021) -#define AE_AML_UNINITIALIZED_NODE EXCEP_AML (0x0022) -#define AE_AML_TARGET_TYPE EXCEP_AML (0x0023) -#define AE_AML_PROTOCOL EXCEP_AML (0x0024) -#define AE_AML_BUFFER_LENGTH EXCEP_AML (0x0025) - -#define AE_CODE_AML_MAX 0x0025 - - -/* - * Internal exceptions used for control - */ -#define AE_CTRL_RETURN_VALUE EXCEP_CTL (0x0001) -#define AE_CTRL_PENDING EXCEP_CTL (0x0002) -#define AE_CTRL_TERMINATE EXCEP_CTL (0x0003) -#define AE_CTRL_TRUE EXCEP_CTL (0x0004) -#define AE_CTRL_FALSE EXCEP_CTL (0x0005) -#define AE_CTRL_DEPTH EXCEP_CTL (0x0006) -#define AE_CTRL_END EXCEP_CTL (0x0007) -#define AE_CTRL_TRANSFER EXCEP_CTL (0x0008) -#define AE_CTRL_BREAK EXCEP_CTL (0x0009) -#define AE_CTRL_CONTINUE EXCEP_CTL (0x000A) -#define AE_CTRL_PARSE_CONTINUE EXCEP_CTL (0x000B) -#define AE_CTRL_PARSE_PENDING EXCEP_CTL (0x000C) - -#define AE_CODE_CTRL_MAX 0x000C - - -/* Exception strings for AcpiFormatException */ - -#ifdef ACPI_DEFINE_EXCEPTION_TABLE - -/* - * String versions of the exception codes above - * These strings must match the corresponding defines exactly - */ -static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Env[] = -{ - EXCEP_TXT ("AE_OK", "No error"), - EXCEP_TXT ("AE_ERROR", "Unspecified error"), - EXCEP_TXT ("AE_NO_ACPI_TABLES", "ACPI tables could not be found"), - EXCEP_TXT ("AE_NO_NAMESPACE", "A namespace has not been loaded"), - EXCEP_TXT ("AE_NO_MEMORY", "Insufficient dynamic memory"), - EXCEP_TXT ("AE_NOT_FOUND", "A requested entity is not found"), - EXCEP_TXT ("AE_NOT_EXIST", "A required entity does not exist"), - EXCEP_TXT ("AE_ALREADY_EXISTS", "An entity already exists"), - EXCEP_TXT ("AE_TYPE", "The object type is incorrect"), - EXCEP_TXT ("AE_NULL_OBJECT", "A required object was missing"), - EXCEP_TXT ("AE_NULL_ENTRY", "The requested object does not exist"), - EXCEP_TXT ("AE_BUFFER_OVERFLOW", "The buffer provided is too small"), - EXCEP_TXT ("AE_STACK_OVERFLOW", "An internal stack overflowed"), - EXCEP_TXT ("AE_STACK_UNDERFLOW", "An internal stack underflowed"), - EXCEP_TXT ("AE_NOT_IMPLEMENTED", "The feature is not implemented"), - EXCEP_TXT ("AE_SUPPORT", "The feature is not supported"), - EXCEP_TXT ("AE_LIMIT", "A predefined limit was exceeded"), - EXCEP_TXT ("AE_TIME", "A time limit or timeout expired"), - EXCEP_TXT ("AE_ACQUIRE_DEADLOCK", "Internal error, attempt was made to acquire a mutex in improper order"), - EXCEP_TXT ("AE_RELEASE_DEADLOCK", "Internal error, attempt was made to release a mutex in improper order"), - EXCEP_TXT ("AE_NOT_ACQUIRED", "An attempt to release a mutex or Global Lock without a previous acquire"), - EXCEP_TXT ("AE_ALREADY_ACQUIRED", "Internal error, attempt was made to acquire a mutex twice"), - EXCEP_TXT ("AE_NO_HARDWARE_RESPONSE", "Hardware did not respond after an I/O operation"), - EXCEP_TXT ("AE_NO_GLOBAL_LOCK", "There is no FACS Global Lock"), - EXCEP_TXT ("AE_ABORT_METHOD", "A control method was aborted"), - EXCEP_TXT ("AE_SAME_HANDLER", "Attempt was made to install the same handler that is already installed"), - EXCEP_TXT ("AE_NO_HANDLER", "A handler for the operation is not installed"), - EXCEP_TXT ("AE_OWNER_ID_LIMIT", "There are no more Owner IDs available for ACPI tables or control methods"), - EXCEP_TXT ("AE_NOT_CONFIGURED", "The interface is not part of the current subsystem configuration"), - EXCEP_TXT ("AE_ACCESS", "Permission denied for the requested operation"), - EXCEP_TXT ("AE_IO_ERROR", "An I/O error occurred"), - EXCEP_TXT ("AE_NUMERIC_OVERFLOW", "Overflow during string-to-integer conversion"), - EXCEP_TXT ("AE_HEX_OVERFLOW", "Overflow during ASCII hex-to-binary conversion"), - EXCEP_TXT ("AE_DECIMAL_OVERFLOW", "Overflow during ASCII decimal-to-binary conversion"), - EXCEP_TXT ("AE_OCTAL_OVERFLOW", "Overflow during ASCII octal-to-binary conversion"), - EXCEP_TXT ("AE_END_OF_TABLE", "Reached the end of table") -}; - -static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Pgm[] = -{ - EXCEP_TXT (NULL, NULL), - EXCEP_TXT ("AE_BAD_PARAMETER", "A parameter is out of range or invalid"), - EXCEP_TXT ("AE_BAD_CHARACTER", "An invalid character was found in a name"), - EXCEP_TXT ("AE_BAD_PATHNAME", "An invalid character was found in a pathname"), - EXCEP_TXT ("AE_BAD_DATA", "A package or buffer contained incorrect data"), - EXCEP_TXT ("AE_BAD_HEX_CONSTANT", "Invalid character in a Hex constant"), - EXCEP_TXT ("AE_BAD_OCTAL_CONSTANT", "Invalid character in an Octal constant"), - EXCEP_TXT ("AE_BAD_DECIMAL_CONSTANT", "Invalid character in a Decimal constant"), - EXCEP_TXT ("AE_MISSING_ARGUMENTS", "Too few arguments were passed to a control method"), - EXCEP_TXT ("AE_BAD_ADDRESS", "An illegal null I/O address") -}; - -static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Tbl[] = -{ - EXCEP_TXT (NULL, NULL), - EXCEP_TXT ("AE_BAD_SIGNATURE", "An ACPI table has an invalid signature"), - EXCEP_TXT ("AE_BAD_HEADER", "Invalid field in an ACPI table header"), - EXCEP_TXT ("AE_BAD_CHECKSUM", "An ACPI table checksum is not correct"), - EXCEP_TXT ("AE_BAD_VALUE", "An invalid value was found in a table"), - EXCEP_TXT ("AE_INVALID_TABLE_LENGTH", "The FADT or FACS has improper length") -}; - -static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Aml[] = -{ - EXCEP_TXT (NULL, NULL), - EXCEP_TXT ("AE_AML_BAD_OPCODE", "Invalid AML opcode encountered"), - EXCEP_TXT ("AE_AML_NO_OPERAND", "A required operand is missing"), - EXCEP_TXT ("AE_AML_OPERAND_TYPE", "An operand of an incorrect type was encountered"), - EXCEP_TXT ("AE_AML_OPERAND_VALUE", "The operand had an inappropriate or invalid value"), - EXCEP_TXT ("AE_AML_UNINITIALIZED_LOCAL", "Method tried to use an uninitialized local variable"), - EXCEP_TXT ("AE_AML_UNINITIALIZED_ARG", "Method tried to use an uninitialized argument"), - EXCEP_TXT ("AE_AML_UNINITIALIZED_ELEMENT", "Method tried to use an empty package element"), - EXCEP_TXT ("AE_AML_NUMERIC_OVERFLOW", "Overflow during BCD conversion or other"), - EXCEP_TXT ("AE_AML_REGION_LIMIT", "Tried to access beyond the end of an Operation Region"), - EXCEP_TXT ("AE_AML_BUFFER_LIMIT", "Tried to access beyond the end of a buffer"), - EXCEP_TXT ("AE_AML_PACKAGE_LIMIT", "Tried to access beyond the end of a package"), - EXCEP_TXT ("AE_AML_DIVIDE_BY_ZERO", "During execution of AML Divide operator"), - EXCEP_TXT ("AE_AML_BAD_NAME", "An ACPI name contains invalid character(s)"), - EXCEP_TXT ("AE_AML_NAME_NOT_FOUND", "Could not resolve a named reference"), - EXCEP_TXT ("AE_AML_INTERNAL", "An internal error within the interpreter"), - EXCEP_TXT ("AE_AML_INVALID_SPACE_ID", "An Operation Region SpaceID is invalid"), - EXCEP_TXT ("AE_AML_STRING_LIMIT", "String is longer than 200 characters"), - EXCEP_TXT ("AE_AML_NO_RETURN_VALUE", "A method did not return a required value"), - EXCEP_TXT ("AE_AML_METHOD_LIMIT", "A control method reached the maximum reentrancy limit of 255"), - EXCEP_TXT ("AE_AML_NOT_OWNER", "A thread tried to release a mutex that it does not own"), - EXCEP_TXT ("AE_AML_MUTEX_ORDER", "Mutex SyncLevel release mismatch"), - EXCEP_TXT ("AE_AML_MUTEX_NOT_ACQUIRED", "Attempt to release a mutex that was not previously acquired"), - EXCEP_TXT ("AE_AML_INVALID_RESOURCE_TYPE", "Invalid resource type in resource list"), - EXCEP_TXT ("AE_AML_INVALID_INDEX", "Invalid Argx or Localx (x too large)"), - EXCEP_TXT ("AE_AML_REGISTER_LIMIT", "Bank value or Index value beyond range of register"), - EXCEP_TXT ("AE_AML_NO_WHILE", "Break or Continue without a While"), - EXCEP_TXT ("AE_AML_ALIGNMENT", "Non-aligned memory transfer on platform that does not support this"), - EXCEP_TXT ("AE_AML_NO_RESOURCE_END_TAG", "No End Tag in a resource list"), - EXCEP_TXT ("AE_AML_BAD_RESOURCE_VALUE", "Invalid value of a resource element"), - EXCEP_TXT ("AE_AML_CIRCULAR_REFERENCE", "Two references refer to each other"), - EXCEP_TXT ("AE_AML_BAD_RESOURCE_LENGTH", "The length of a Resource Descriptor in the AML is incorrect"), - EXCEP_TXT ("AE_AML_ILLEGAL_ADDRESS", "A memory, I/O, or PCI configuration address is invalid"), - EXCEP_TXT ("AE_AML_LOOP_TIMEOUT", "An AML While loop exceeded the maximum execution time"), - EXCEP_TXT ("AE_AML_UNINITIALIZED_NODE", "A namespace node is uninitialized or unresolved"), - EXCEP_TXT ("AE_AML_TARGET_TYPE", "A target operand of an incorrect type was encountered"), - EXCEP_TXT ("AE_AML_PROTOCOL", "Violation of a fixed ACPI protocol"), - EXCEP_TXT ("AE_AML_BUFFER_LENGTH", "The length of the buffer is invalid/incorrect") -}; - -static const ACPI_EXCEPTION_INFO AcpiGbl_ExceptionNames_Ctrl[] = -{ - EXCEP_TXT (NULL, NULL), - EXCEP_TXT ("AE_CTRL_RETURN_VALUE", "A Method returned a value"), - EXCEP_TXT ("AE_CTRL_PENDING", "Method is calling another method"), - EXCEP_TXT ("AE_CTRL_TERMINATE", "Terminate the executing method"), - EXCEP_TXT ("AE_CTRL_TRUE", "An If or While predicate result"), - EXCEP_TXT ("AE_CTRL_FALSE", "An If or While predicate result"), - EXCEP_TXT ("AE_CTRL_DEPTH", "Maximum search depth has been reached"), - EXCEP_TXT ("AE_CTRL_END", "An If or While predicate is false"), - EXCEP_TXT ("AE_CTRL_TRANSFER", "Transfer control to called method"), - EXCEP_TXT ("AE_CTRL_BREAK", "A Break has been executed"), - EXCEP_TXT ("AE_CTRL_CONTINUE", "A Continue has been executed"), - EXCEP_TXT ("AE_CTRL_PARSE_CONTINUE", "Used to skip over bad opcodes"), - EXCEP_TXT ("AE_CTRL_PARSE_PENDING", "Used to implement AML While loops") -}; - -#endif /* EXCEPTION_TABLE */ - -#endif /* __ACEXCEP_H__ */ diff --git a/Private/acpiSDK/source/include/acglobal.h b/Private/acpiSDK/source/include/acglobal.h deleted file mode 100644 index 9df72a57..00000000 --- a/Private/acpiSDK/source/include/acglobal.h +++ /dev/null @@ -1,534 +0,0 @@ -/****************************************************************************** - * - * Name: acglobal.h - Declarations for global variables - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACGLOBAL_H__ -#define __ACGLOBAL_H__ - - -/***************************************************************************** - * - * Globals related to the incoming ACPI tables - * - ****************************************************************************/ - -/* Master list of all ACPI tables that were found in the RSDT/XSDT */ - -ACPI_GLOBAL (ACPI_TABLE_LIST, AcpiGbl_RootTableList); - -/* DSDT information. Used to check for DSDT corruption */ - -ACPI_GLOBAL (ACPI_TABLE_HEADER *, AcpiGbl_DSDT); -ACPI_GLOBAL (ACPI_TABLE_HEADER, AcpiGbl_OriginalDsdtHeader); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CDAT, NULL); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_DsdtIndex, ACPI_INVALID_TABLE_INDEX); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FacsIndex, ACPI_INVALID_TABLE_INDEX); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_XFacsIndex, ACPI_INVALID_TABLE_INDEX); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_FadtIndex, ACPI_INVALID_TABLE_INDEX); - -#if (!ACPI_REDUCED_HARDWARE) -ACPI_GLOBAL (ACPI_TABLE_FACS *, AcpiGbl_FACS); - -#endif /* !ACPI_REDUCED_HARDWARE */ - -/* These addresses are calculated from the FADT Event Block addresses */ - -ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aStatus); -ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1aEnable); - -ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bStatus); -ACPI_GLOBAL (ACPI_GENERIC_ADDRESS, AcpiGbl_XPm1bEnable); - -/* - * Handle both ACPI 1.0 and ACPI 2.0+ Integer widths. The integer width is - * determined by the revision of the DSDT: If the DSDT revision is less than - * 2, use only the lower 32 bits of the internal 64-bit Integer. - */ -ACPI_GLOBAL (UINT8, AcpiGbl_IntegerBitWidth); -ACPI_GLOBAL (UINT8, AcpiGbl_IntegerByteWidth); -ACPI_GLOBAL (UINT8, AcpiGbl_IntegerNybbleWidth); - - -/***************************************************************************** - * - * Mutual exclusion within the ACPICA subsystem - * - ****************************************************************************/ - -/* - * Predefined mutex objects. This array contains the - * actual OS mutex handles, indexed by the local ACPI_MUTEX_HANDLEs. - * (The table maps local handles to the real OS handles) - */ -ACPI_GLOBAL (ACPI_MUTEX_INFO, AcpiGbl_MutexInfo[ACPI_NUM_MUTEX]); - -/* - * Global lock mutex is an actual AML mutex object - * Global lock semaphore works in conjunction with the actual global lock - * Global lock spinlock is used for "pending" handshake - */ -ACPI_GLOBAL (ACPI_OPERAND_OBJECT *, AcpiGbl_GlobalLockMutex); -ACPI_GLOBAL (ACPI_SEMAPHORE, AcpiGbl_GlobalLockSemaphore); -ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GlobalLockPendingLock); -ACPI_GLOBAL (UINT16, AcpiGbl_GlobalLockHandle); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockAcquired); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPresent); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_GlobalLockPending); - -/* - * Spinlocks are used for interfaces that can be possibly called at - * interrupt level - */ -ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_GpeLock); /* For GPE data structs and registers */ -ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_HardwareLock); /* For ACPI H/W except GPE registers */ -ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_ReferenceCountLock); - -/* Mutex for _OSI support */ - -ACPI_GLOBAL (ACPI_MUTEX, AcpiGbl_OsiMutex); - -/* Reader/Writer lock is used for namespace walk and dynamic table unload */ - -ACPI_GLOBAL (ACPI_RW_LOCK, AcpiGbl_NamespaceRwLock); - - -/***************************************************************************** - * - * Miscellaneous globals - * - ****************************************************************************/ - -/* Object caches */ - -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_NamespaceCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_StateCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_PsNodeExtCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_OperandCache); - -/* System */ - -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_StartupFlags, 0); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_Shutdown, TRUE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_EarlyInitialization, TRUE); - -/* Global handlers */ - -ACPI_GLOBAL (ACPI_GLOBAL_NOTIFY_HANDLER,AcpiGbl_GlobalNotify[2]); -ACPI_GLOBAL (ACPI_EXCEPTION_HANDLER, AcpiGbl_ExceptionHandler); -ACPI_GLOBAL (ACPI_INIT_HANDLER, AcpiGbl_InitHandler); -ACPI_GLOBAL (ACPI_TABLE_HANDLER, AcpiGbl_TableHandler); -ACPI_GLOBAL (void *, AcpiGbl_TableHandlerContext); -ACPI_GLOBAL (ACPI_INTERFACE_HANDLER, AcpiGbl_InterfaceHandler); -ACPI_GLOBAL (ACPI_SCI_HANDLER_INFO *, AcpiGbl_SciHandlerList); -ACPI_GLOBAL (ACPI_GED_HANDLER_INFO *, AcpiGbl_GedHandlerList); - -/* Owner ID support */ - -ACPI_GLOBAL (UINT32, AcpiGbl_OwnerIdMask[ACPI_NUM_OWNERID_MASKS]); -ACPI_GLOBAL (UINT8, AcpiGbl_LastOwnerIdIndex); -ACPI_GLOBAL (UINT8, AcpiGbl_NextOwnerIdOffset); - -/* Initialization sequencing */ - -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_NamespaceInitialized, FALSE); - -/* Miscellaneous */ - -ACPI_GLOBAL (UINT32, AcpiGbl_OriginalMode); -ACPI_GLOBAL (UINT32, AcpiGbl_NsLookupCount); -ACPI_GLOBAL (UINT32, AcpiGbl_PsFindCount); -ACPI_GLOBAL (UINT16, AcpiGbl_Pm1EnableRegisterSave); -ACPI_GLOBAL (UINT8, AcpiGbl_DebuggerConfiguration); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_StepToNextCall); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_AcpiHardwarePresent); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_EventsInitialized); -ACPI_GLOBAL (ACPI_INTERFACE_INFO *, AcpiGbl_SupportedInterfaces); -ACPI_GLOBAL (ACPI_ADDRESS_RANGE *, AcpiGbl_AddressRangeList[ACPI_ADDRESS_RANGE_MAX]); - -/* Other miscellaneous, declared and initialized in utglobal */ - -extern const char *AcpiGbl_SleepStateNames[ACPI_S_STATE_COUNT]; -extern const char *AcpiGbl_LowestDstateNames[ACPI_NUM_SxW_METHODS]; -extern const char *AcpiGbl_HighestDstateNames[ACPI_NUM_SxD_METHODS]; -extern const char *AcpiGbl_RegionTypes[ACPI_NUM_PREDEFINED_REGIONS]; -extern const char AcpiGbl_LowerHexDigits[]; -extern const char AcpiGbl_UpperHexDigits[]; -extern const ACPI_OPCODE_INFO AcpiGbl_AmlOpInfo[AML_NUM_OPCODES]; - -/* Lists for tracking memory allocations (debug only) */ - -#ifdef ACPI_DBG_TRACK_ALLOCATIONS -ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_GlobalList); -ACPI_GLOBAL (ACPI_MEMORY_LIST *, AcpiGbl_NsNodeList); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisplayFinalMemStats); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DisableMemTracking); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_VerboseLeakDump); -#endif - - -/***************************************************************************** - * - * ACPI Namespace - * - ****************************************************************************/ - -#define NUM_PREDEFINED_NAMES 10 - -ACPI_GLOBAL (ACPI_NAMESPACE_NODE, AcpiGbl_RootNodeStruct); -ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_RootNode); -ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_FadtGpeDevice); - -extern const UINT8 AcpiGbl_NsProperties [ACPI_NUM_NS_TYPES]; -extern const ACPI_PREDEFINED_NAMES AcpiGbl_PreDefinedNames [NUM_PREDEFINED_NAMES]; - -#ifdef ACPI_DEBUG_OUTPUT -ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeCount); -ACPI_GLOBAL (UINT32, AcpiGbl_CurrentNodeSize); -ACPI_GLOBAL (UINT32, AcpiGbl_MaxConcurrentNodeCount); -ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_EntryStackPointer); -ACPI_GLOBAL (ACPI_SIZE *, AcpiGbl_LowestStackPointer); -ACPI_GLOBAL (UINT32, AcpiGbl_DeepestNesting); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NestingLevel, 0); -#endif - - -/***************************************************************************** - * - * Interpreter/Parser globals - * - ****************************************************************************/ - -/* Control method single step flag */ - -ACPI_GLOBAL (UINT8, AcpiGbl_CmSingleStep); -ACPI_GLOBAL (ACPI_THREAD_STATE *, AcpiGbl_CurrentWalkList); -ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT, *AcpiGbl_CurrentScope, NULL); - -/* ASL/ASL+ converter */ - -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CaptureComments, FALSE); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_LastListHead, NULL); - - -/***************************************************************************** - * - * Hardware globals - * - ****************************************************************************/ - -extern ACPI_BIT_REGISTER_INFO AcpiGbl_BitRegisterInfo[ACPI_NUM_BITREG]; -ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeA); -ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeB); -ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeAS0); -ACPI_GLOBAL (UINT8, AcpiGbl_SleepTypeBS0); - - -/***************************************************************************** - * - * Event and GPE globals - * - ****************************************************************************/ - -#if (!ACPI_REDUCED_HARDWARE) -ACPI_GLOBAL (UINT8, AcpiGbl_AllGpesInitialized); -ACPI_GLOBAL (ACPI_GPE_XRUPT_INFO *, AcpiGbl_GpeXruptListHead); -ACPI_GLOBAL (ACPI_GPE_BLOCK_INFO *, AcpiGbl_GpeFadtBlocks[ACPI_MAX_GPE_BLOCKS]); -ACPI_GLOBAL (ACPI_GBL_EVENT_HANDLER, AcpiGbl_GlobalEventHandler); -ACPI_GLOBAL (void *, AcpiGbl_GlobalEventHandlerContext); -ACPI_GLOBAL (ACPI_FIXED_EVENT_HANDLER, AcpiGbl_FixedEventHandlers[ACPI_NUM_FIXED_EVENTS]); -extern ACPI_FIXED_EVENT_INFO AcpiGbl_FixedEventInfo[ACPI_NUM_FIXED_EVENTS]; -#endif /* !ACPI_REDUCED_HARDWARE */ - - -/***************************************************************************** - * - * Debug support - * - ****************************************************************************/ - -/* Event counters */ - -ACPI_GLOBAL (UINT32, AcpiMethodCount); -ACPI_GLOBAL (UINT32, AcpiGpeCount); -ACPI_GLOBAL (UINT32, AcpiSciCount); -ACPI_GLOBAL (UINT32, AcpiFixedEventCount[ACPI_NUM_FIXED_EVENTS]); - -/* Dynamic control method tracing mechanism */ - -ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLevel); -ACPI_GLOBAL (UINT32, AcpiGbl_OriginalDbgLayer); - - -/***************************************************************************** - * - * Debugger and Disassembler - * - ****************************************************************************/ - -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DbOutputFlags, ACPI_DB_CONSOLE_OUTPUT); - - -#ifdef ACPI_DISASSEMBLER - -/* Do not disassemble buffers to resource descriptors */ - -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_NoResourceDisassembly, FALSE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnoreNoopOperator, FALSE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_CstyleDisassembly, TRUE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ForceAmlDisassembly, FALSE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Verbose, TRUE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DmEmitExternalOpcodes, FALSE); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DoDisassemblerOptimizations, TRUE); -ACPI_INIT_GLOBAL (ACPI_PARSE_OBJECT_LIST, *AcpiGbl_TempListHead, NULL); - -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Disasm); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DmOpt_Listing); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_NumExternalMethods); -ACPI_GLOBAL (UINT32, AcpiGbl_ResolvedExternalMethods); -ACPI_GLOBAL (ACPI_EXTERNAL_LIST *, AcpiGbl_ExternalList); -ACPI_GLOBAL (ACPI_EXTERNAL_FILE *, AcpiGbl_ExternalFileList); -#endif - -#ifdef ACPI_DEBUGGER -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_AbortMethod, FALSE); -ACPI_INIT_GLOBAL (ACPI_THREAD_ID, AcpiGbl_DbThreadId, ACPI_INVALID_THREAD_ID); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_NextCmdNum, 1); - -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoIniMethods); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOpt_NoRegionSupport); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbOutputToFile); -ACPI_GLOBAL (char *, AcpiGbl_DbBuffer); -ACPI_GLOBAL (char *, AcpiGbl_DbFilename); -ACPI_GLOBAL (UINT32, AcpiGbl_DbDebugLevel); -ACPI_GLOBAL (UINT32, AcpiGbl_DbConsoleDebugLevel); -ACPI_GLOBAL (ACPI_NAMESPACE_NODE *, AcpiGbl_DbScopeNode); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbTerminateLoop); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_DbThreadsTerminated); -ACPI_GLOBAL (char *, AcpiGbl_DbArgs[ACPI_DEBUGGER_MAX_ARGS]); -ACPI_GLOBAL (ACPI_OBJECT_TYPE, AcpiGbl_DbArgTypes[ACPI_DEBUGGER_MAX_ARGS]); - -/* These buffers should all be the same size */ - -ACPI_GLOBAL (char, AcpiGbl_DbParsedBuf[ACPI_DB_LINE_BUFFER_SIZE]); -ACPI_GLOBAL (char, AcpiGbl_DbScopeBuf[ACPI_DB_LINE_BUFFER_SIZE]); -ACPI_GLOBAL (char, AcpiGbl_DbDebugFilename[ACPI_DB_LINE_BUFFER_SIZE]); - -/* Statistics globals */ - -ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCount[ACPI_TOTAL_TYPES]); -ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCount[ACPI_TOTAL_TYPES]); -ACPI_GLOBAL (UINT16, AcpiGbl_ObjTypeCountMisc); -ACPI_GLOBAL (UINT16, AcpiGbl_NodeTypeCountMisc); -ACPI_GLOBAL (UINT32, AcpiGbl_NumNodes); -ACPI_GLOBAL (UINT32, AcpiGbl_NumObjects); -#endif /* ACPI_DEBUGGER */ - -#if defined (ACPI_DISASSEMBLER) || defined (ACPI_ASL_COMPILER) -ACPI_GLOBAL (const char, *AcpiGbl_PldPanelList[]); -ACPI_GLOBAL (const char, *AcpiGbl_PldVerticalPositionList[]); -ACPI_GLOBAL (const char, *AcpiGbl_PldHorizontalPositionList[]); -ACPI_GLOBAL (const char, *AcpiGbl_PldShapeList[]); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DisasmFlag, FALSE); -#endif - - -/***************************************************************************** - * - * ACPICA application-specific globals - * - ****************************************************************************/ - -/* ASL-to-ASL+ conversion utility (implemented within the iASL compiler) */ - -#ifdef ACPI_ASL_COMPILER -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentInlineComment, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentEndNodeComment, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentOpenBraceComment, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentCloseBraceComment, NULL); - -ACPI_INIT_GLOBAL (char *, AcpiGbl_RootFilename, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentFilename, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentParentFilename, NULL); -ACPI_INIT_GLOBAL (char *, AcpiGbl_CurrentIncludeFilename, NULL); - -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListHead, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_DefBlkCommentListTail, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListHead, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_RegCommentListTail, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListHead, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_IncCommentListTail, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListHead, NULL); -ACPI_INIT_GLOBAL (ACPI_COMMENT_NODE, *AcpiGbl_EndBlkCommentListTail, NULL); - -ACPI_INIT_GLOBAL (ACPI_COMMENT_ADDR_NODE, *AcpiGbl_CommentAddrListHead, NULL); -ACPI_INIT_GLOBAL (ACPI_FILE_NODE, *AcpiGbl_FileTreeRoot, NULL); - -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_RegCommentCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_CommentAddrCache); -ACPI_GLOBAL (ACPI_CACHE_T *, AcpiGbl_FileCache); - -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugAslConversion, FALSE); -ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_ConvDebugFile, NULL); -ACPI_GLOBAL (char, AcpiGbl_TableSig[4]); -#endif - -#ifdef ACPI_APPLICATION -ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_DebugFile, NULL); -ACPI_INIT_GLOBAL (ACPI_FILE, AcpiGbl_OutputFile, NULL); -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_DebugTimeout, FALSE); - -/* Print buffer */ - -ACPI_GLOBAL (ACPI_SPINLOCK, AcpiGbl_PrintLock); /* For print buffer */ -ACPI_GLOBAL (char, AcpiGbl_PrintBuffer[1024]); -#endif /* ACPI_APPLICATION */ - -#endif /* __ACGLOBAL_H__ */ diff --git a/Private/acpiSDK/source/include/achware.h b/Private/acpiSDK/source/include/achware.h deleted file mode 100644 index 6e0631e0..00000000 --- a/Private/acpiSDK/source/include/achware.h +++ /dev/null @@ -1,339 +0,0 @@ -/****************************************************************************** - * - * Name: achware.h -- hardware specific interfaces - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACHWARE_H__ -#define __ACHWARE_H__ - - -/* Values for the _SST predefined method */ - -#define ACPI_SST_INDICATOR_OFF 0 -#define ACPI_SST_WORKING 1 -#define ACPI_SST_WAKING 2 -#define ACPI_SST_SLEEPING 3 -#define ACPI_SST_SLEEP_CONTEXT 4 - - -/* - * hwacpi - high level functions - */ -ACPI_STATUS -AcpiHwSetMode ( - UINT32 Mode); - -UINT32 -AcpiHwGetMode ( - void); - - -/* - * hwregs - ACPI Register I/O - */ -ACPI_STATUS -AcpiHwValidateRegister ( - ACPI_GENERIC_ADDRESS *Reg, - UINT8 MaxBitWidth, - UINT64 *Address); - -ACPI_STATUS -AcpiHwRead ( - UINT64 *Value, - ACPI_GENERIC_ADDRESS *Reg); - -ACPI_STATUS -AcpiHwWrite ( - UINT64 Value, - ACPI_GENERIC_ADDRESS *Reg); - -ACPI_BIT_REGISTER_INFO * -AcpiHwGetBitRegisterInfo ( - UINT32 RegisterId); - -ACPI_STATUS -AcpiHwWritePm1Control ( - UINT32 Pm1aControl, - UINT32 Pm1bControl); - -ACPI_STATUS -AcpiHwRegisterRead ( - UINT32 RegisterId, - UINT32 *ReturnValue); - -ACPI_STATUS -AcpiHwRegisterWrite ( - UINT32 RegisterId, - UINT32 Value); - -ACPI_STATUS -AcpiHwClearAcpiStatus ( - void); - - -/* - * hwsleep - sleep/wake support (Legacy sleep registers) - */ -ACPI_STATUS -AcpiHwLegacySleep ( - UINT8 SleepState); - -ACPI_STATUS -AcpiHwLegacyWakePrep ( - UINT8 SleepState); - -ACPI_STATUS -AcpiHwLegacyWake ( - UINT8 SleepState); - - -/* - * hwesleep - sleep/wake support (Extended FADT-V5 sleep registers) - */ -void -AcpiHwExecuteSleepMethod ( - char *MethodName, - UINT32 IntegerArgument); - -ACPI_STATUS -AcpiHwExtendedSleep ( - UINT8 SleepState); - -ACPI_STATUS -AcpiHwExtendedWakePrep ( - UINT8 SleepState); - -ACPI_STATUS -AcpiHwExtendedWake ( - UINT8 SleepState); - - -/* - * hwvalid - Port I/O with validation - */ -ACPI_STATUS -AcpiHwReadPort ( - ACPI_IO_ADDRESS Address, - UINT32 *Value, - UINT32 Width); - -ACPI_STATUS -AcpiHwWritePort ( - ACPI_IO_ADDRESS Address, - UINT32 Value, - UINT32 Width); - - -/* - * hwgpe - GPE support - */ -UINT32 -AcpiHwGetGpeRegisterBit ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -ACPI_STATUS -AcpiHwLowSetGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo, - UINT32 Action); - -ACPI_STATUS -AcpiHwDisableGpeBlock ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - -ACPI_STATUS -AcpiHwClearGpe ( - ACPI_GPE_EVENT_INFO *GpeEventInfo); - -ACPI_STATUS -AcpiHwClearGpeBlock ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - -ACPI_STATUS -AcpiHwGetGpeStatus ( - ACPI_GPE_EVENT_INFO *GpeEventInfo, - ACPI_EVENT_STATUS *EventStatus); - -ACPI_STATUS -AcpiHwDisableAllGpes ( - void); - -ACPI_STATUS -AcpiHwEnableAllRuntimeGpes ( - void); - -ACPI_STATUS -AcpiHwEnableAllWakeupGpes ( - void); - -UINT8 -AcpiHwCheckAllGpes ( - void); - -ACPI_STATUS -AcpiHwEnableRuntimeGpeBlock ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - - -/* - * hwpci - PCI configuration support - */ -ACPI_STATUS -AcpiHwDerivePciId ( - ACPI_PCI_ID *PciId, - ACPI_HANDLE RootPciDevice, - ACPI_HANDLE PciRegion); - - -#endif /* __ACHWARE_H__ */ diff --git a/Private/acpiSDK/source/include/acinterp.h b/Private/acpiSDK/source/include/acinterp.h deleted file mode 100644 index 4c36708a..00000000 --- a/Private/acpiSDK/source/include/acinterp.h +++ /dev/null @@ -1,892 +0,0 @@ -/****************************************************************************** - * - * Name: acinterp.h - Interpreter subcomponent prototypes and defines - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACINTERP_H__ -#define __ACINTERP_H__ - - -#define ACPI_WALK_OPERANDS (&(WalkState->Operands [WalkState->NumOperands -1])) - -/* Macros for tables used for debug output */ - -#define ACPI_EXD_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_OPERAND_OBJECT,f) -#define ACPI_EXD_NSOFFSET(f) (UINT8) ACPI_OFFSET (ACPI_NAMESPACE_NODE,f) -#define ACPI_EXD_TABLE_SIZE(name) (sizeof(name) / sizeof (ACPI_EXDUMP_INFO)) - -/* - * If possible, pack the following structures to byte alignment, since we - * don't care about performance for debug output. Two cases where we cannot - * pack the structures: - * - * 1) Hardware does not support misaligned memory transfers - * 2) Compiler does not support pointers within packed structures - */ -#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) -#pragma pack(1) -#endif - -typedef const struct acpi_exdump_info -{ - UINT8 Opcode; - UINT8 Offset; - const char *Name; - -} ACPI_EXDUMP_INFO; - -/* Values for the Opcode field above */ - -#define ACPI_EXD_INIT 0 -#define ACPI_EXD_TYPE 1 -#define ACPI_EXD_UINT8 2 -#define ACPI_EXD_UINT16 3 -#define ACPI_EXD_UINT32 4 -#define ACPI_EXD_UINT64 5 -#define ACPI_EXD_LITERAL 6 -#define ACPI_EXD_POINTER 7 -#define ACPI_EXD_ADDRESS 8 -#define ACPI_EXD_STRING 9 -#define ACPI_EXD_BUFFER 10 -#define ACPI_EXD_PACKAGE 11 -#define ACPI_EXD_FIELD 12 -#define ACPI_EXD_REFERENCE 13 -#define ACPI_EXD_LIST 14 /* Operand object list */ -#define ACPI_EXD_HDLR_LIST 15 /* Address Handler list */ -#define ACPI_EXD_RGN_LIST 16 /* Region list */ -#define ACPI_EXD_NODE 17 /* Namespace Node */ - -/* restore default alignment */ - -#pragma pack() - - -/* - * exconvrt - object conversion - */ -ACPI_STATUS -AcpiExConvertToInteger ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ResultDesc, - UINT32 ImplicitConversion); - -ACPI_STATUS -AcpiExConvertToBuffer ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ResultDesc); - -ACPI_STATUS -AcpiExConvertToString ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ResultDesc, - UINT32 Type); - -/* Types for ->String conversion */ - -#define ACPI_EXPLICIT_BYTE_COPY 0x00000000 -#define ACPI_EXPLICIT_CONVERT_HEX 0x00000001 -#define ACPI_IMPLICIT_CONVERT_HEX 0x00000002 -#define ACPI_EXPLICIT_CONVERT_DECIMAL 0x00000003 - -ACPI_STATUS -AcpiExConvertToTargetType ( - ACPI_OBJECT_TYPE DestinationType, - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT **ResultDesc, - ACPI_WALK_STATE *WalkState); - - -/* - * exdebug - AML debug object - */ -void -AcpiExDoDebugObject ( - ACPI_OPERAND_OBJECT *SourceDesc, - UINT32 Level, - UINT32 Index); - -void -AcpiExStartTraceMethod ( - ACPI_NAMESPACE_NODE *MethodNode, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -void -AcpiExStopTraceMethod ( - ACPI_NAMESPACE_NODE *MethodNode, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -void -AcpiExStartTraceOpcode ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - -void -AcpiExStopTraceOpcode ( - ACPI_PARSE_OBJECT *Op, - ACPI_WALK_STATE *WalkState); - -void -AcpiExTracePoint ( - ACPI_TRACE_EVENT_TYPE Type, - BOOLEAN Begin, - UINT8 *Aml, - char *Pathname); - - -/* - * exfield - ACPI AML (p-code) execution - field manipulation - */ -ACPI_STATUS -AcpiExGetProtocolBufferLength ( - UINT32 ProtocolId, - UINT32 *ReturnLength); - -ACPI_STATUS -AcpiExCommonBufferSetup ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT32 BufferLength, - UINT32 *DatumCount); - -ACPI_STATUS -AcpiExWriteWithUpdateRule ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT64 Mask, - UINT64 FieldValue, - UINT32 FieldDatumByteOffset); - -void -AcpiExGetBufferDatum( - UINT64 *Datum, - void *Buffer, - UINT32 BufferLength, - UINT32 ByteGranularity, - UINT32 BufferOffset); - -void -AcpiExSetBufferDatum ( - UINT64 MergedDatum, - void *Buffer, - UINT32 BufferLength, - UINT32 ByteGranularity, - UINT32 BufferOffset); - -ACPI_STATUS -AcpiExReadDataFromField ( - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **RetBufferDesc); - -ACPI_STATUS -AcpiExWriteDataToField ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ResultDesc); - - -/* - * exfldio - low level field I/O - */ -ACPI_STATUS -AcpiExExtractFromField ( - ACPI_OPERAND_OBJECT *ObjDesc, - void *Buffer, - UINT32 BufferLength); - -ACPI_STATUS -AcpiExInsertIntoField ( - ACPI_OPERAND_OBJECT *ObjDesc, - void *Buffer, - UINT32 BufferLength); - -ACPI_STATUS -AcpiExAccessRegion ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT32 FieldDatumByteOffset, - UINT64 *Value, - UINT32 ReadWrite); - - -/* - * exmisc - misc support routines - */ -ACPI_STATUS -AcpiExGetObjectReference ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ReturnDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExConcatTemplate ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT *ObjDesc2, - ACPI_OPERAND_OBJECT **ActualReturnDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExDoConcatenate ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT *ObjDesc2, - ACPI_OPERAND_OBJECT **ActualReturnDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExDoLogicalNumericOp ( - UINT16 Opcode, - UINT64 Integer0, - UINT64 Integer1, - BOOLEAN *LogicalResult); - -ACPI_STATUS -AcpiExDoLogicalOp ( - UINT16 Opcode, - ACPI_OPERAND_OBJECT *Operand0, - ACPI_OPERAND_OBJECT *Operand1, - BOOLEAN *LogicalResult); - -UINT64 -AcpiExDoMathOp ( - UINT16 Opcode, - UINT64 Operand0, - UINT64 Operand1); - -ACPI_STATUS -AcpiExCreateMutex ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreateProcessor ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreatePowerResource ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreateRegion ( - UINT8 *AmlStart, - UINT32 AmlLength, - UINT8 RegionSpace, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreateEvent ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreateAlias ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExCreateMethod ( - UINT8 *AmlStart, - UINT32 AmlLength, - ACPI_WALK_STATE *WalkState); - - -/* - * exconfig - dynamic table load/unload - */ -ACPI_STATUS -AcpiExLoadOp ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT *Target, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExLoadTableOp ( - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT **ReturnDesc); - -ACPI_STATUS -AcpiExUnloadTable ( - ACPI_OPERAND_OBJECT *DdbHandle); - - -/* - * exmutex - mutex support - */ -ACPI_STATUS -AcpiExAcquireMutex ( - ACPI_OPERAND_OBJECT *TimeDesc, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExAcquireMutexObject ( - UINT16 Timeout, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_THREAD_ID ThreadId); - -ACPI_STATUS -AcpiExReleaseMutex ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExReleaseMutexObject ( - ACPI_OPERAND_OBJECT *ObjDesc); - -void -AcpiExReleaseAllMutexes ( - ACPI_THREAD_STATE *Thread); - -void -AcpiExUnlinkMutex ( - ACPI_OPERAND_OBJECT *ObjDesc); - - -/* - * exprep - ACPI AML execution - prep utilities - */ -ACPI_STATUS -AcpiExPrepCommonFieldObject ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT8 FieldFlags, - UINT8 FieldAttribute, - UINT32 FieldBitPosition, - UINT32 FieldBitLength); - -ACPI_STATUS -AcpiExPrepFieldValue ( - ACPI_CREATE_FIELD_INFO *Info); - - -/* - * exserial - FieldUnit support for serial address spaces - */ -ACPI_STATUS -AcpiExReadSerialBus ( - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ReturnBuffer); - -ACPI_STATUS -AcpiExWriteSerialBus ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ReturnBuffer); - -ACPI_STATUS -AcpiExReadGpio ( - ACPI_OPERAND_OBJECT *ObjDesc, - void *Buffer); - -ACPI_STATUS -AcpiExWriteGpio ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *ObjDesc, - ACPI_OPERAND_OBJECT **ReturnBuffer); - - -/* - * exsystem - Interface to OS services - */ -ACPI_STATUS -AcpiExSystemDoNotifyOp ( - ACPI_OPERAND_OBJECT *Value, - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiExSystemDoSleep( - UINT64 Time); - -ACPI_STATUS -AcpiExSystemDoStall ( - UINT32 Time); - -ACPI_STATUS -AcpiExSystemSignalEvent( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiExSystemWaitEvent( - ACPI_OPERAND_OBJECT *Time, - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiExSystemResetEvent( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiExSystemWaitSemaphore ( - ACPI_SEMAPHORE Semaphore, - UINT16 Timeout); - -ACPI_STATUS -AcpiExSystemWaitMutex ( - ACPI_MUTEX Mutex, - UINT16 Timeout); - -/* - * exoparg1 - ACPI AML execution, 1 operand - */ -ACPI_STATUS -AcpiExOpcode_0A_0T_1R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_1A_0T_0R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_1A_0T_1R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_1A_1T_1R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_1A_1T_0R ( - ACPI_WALK_STATE *WalkState); - -/* - * exoparg2 - ACPI AML execution, 2 operands - */ -ACPI_STATUS -AcpiExOpcode_2A_0T_0R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_2A_0T_1R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_2A_1T_1R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_2A_2T_1R ( - ACPI_WALK_STATE *WalkState); - - -/* - * exoparg3 - ACPI AML execution, 3 operands - */ -ACPI_STATUS -AcpiExOpcode_3A_0T_0R ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExOpcode_3A_1T_1R ( - ACPI_WALK_STATE *WalkState); - - -/* - * exoparg6 - ACPI AML execution, 6 operands - */ -ACPI_STATUS -AcpiExOpcode_6A_0T_1R ( - ACPI_WALK_STATE *WalkState); - - -/* - * exresolv - Object resolution and get value functions - */ -ACPI_STATUS -AcpiExResolveToValue ( - ACPI_OPERAND_OBJECT **StackPtr, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExResolveMultiple ( - ACPI_WALK_STATE *WalkState, - ACPI_OPERAND_OBJECT *Operand, - ACPI_OBJECT_TYPE *ReturnType, - ACPI_OPERAND_OBJECT **ReturnDesc); - - -/* - * exresnte - resolve namespace node - */ -ACPI_STATUS -AcpiExResolveNodeToValue ( - ACPI_NAMESPACE_NODE **StackPtr, - ACPI_WALK_STATE *WalkState); - - -/* - * exresop - resolve operand to value - */ -ACPI_STATUS -AcpiExResolveOperands ( - UINT16 Opcode, - ACPI_OPERAND_OBJECT **StackPtr, - ACPI_WALK_STATE *WalkState); - - -/* - * exdump - Interpreter debug output routines - */ -void -AcpiExDumpOperand ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT32 Depth); - -void -AcpiExDumpOperands ( - ACPI_OPERAND_OBJECT **Operands, - const char *OpcodeName, - UINT32 NumOpcodes); - -void -AcpiExDumpObjectDescriptor ( - ACPI_OPERAND_OBJECT *Object, - UINT32 Flags); - -void -AcpiExDumpNamespaceNode ( - ACPI_NAMESPACE_NODE *Node, - UINT32 Flags); - - -/* - * exnames - AML namestring support - */ -ACPI_STATUS -AcpiExGetNameString ( - ACPI_OBJECT_TYPE DataType, - UINT8 *InAmlAddress, - char **OutNameString, - UINT32 *OutNameLength); - - -/* - * exstore - Object store support - */ -ACPI_STATUS -AcpiExStore ( - ACPI_OPERAND_OBJECT *ValDesc, - ACPI_OPERAND_OBJECT *DestDesc, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExStoreObjectToNode ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_NAMESPACE_NODE *Node, - ACPI_WALK_STATE *WalkState, - UINT8 ImplicitConversion); - - -/* - * exstoren - resolve/store object - */ -ACPI_STATUS -AcpiExResolveObject ( - ACPI_OPERAND_OBJECT **SourceDescPtr, - ACPI_OBJECT_TYPE TargetType, - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiExStoreObjectToObject ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *DestDesc, - ACPI_OPERAND_OBJECT **NewDesc, - ACPI_WALK_STATE *WalkState); - - -/* - * exstorob - store object - buffer/string - */ -ACPI_STATUS -AcpiExStoreBufferToBuffer ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *TargetDesc); - -ACPI_STATUS -AcpiExStoreStringToString ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *TargetDesc); - - -/* - * excopy - object copy - */ -ACPI_STATUS -AcpiExCopyIntegerToIndexField ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *TargetDesc); - -ACPI_STATUS -AcpiExCopyIntegerToBankField ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *TargetDesc); - -ACPI_STATUS -AcpiExCopyDataToNamedField ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_NAMESPACE_NODE *Node); - -ACPI_STATUS -AcpiExCopyIntegerToBufferField ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT *TargetDesc); - - -/* - * exutils - interpreter/scanner utilities - */ -void -AcpiExEnterInterpreter ( - void); - -void -AcpiExExitInterpreter ( - void); - -BOOLEAN -AcpiExTruncateFor32bitTable ( - ACPI_OPERAND_OBJECT *ObjDesc); - -void -AcpiExAcquireGlobalLock ( - UINT32 Rule); - -void -AcpiExReleaseGlobalLock ( - UINT32 Rule); - -void -AcpiExEisaIdToString ( - char *Dest, - UINT64 CompressedId); - -void -AcpiExIntegerToString ( - char *Dest, - UINT64 Value); - -void -AcpiExPciClsToString ( - char *Dest, - UINT8 ClassCode[3]); - -BOOLEAN -AcpiIsValidSpaceId ( - UINT8 SpaceId); - - -/* - * exregion - default OpRegion handlers - */ -ACPI_STATUS -AcpiExSystemMemorySpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExSystemIoSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExPciConfigSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExCmosSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExPciBarSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExEmbeddedControllerSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -ACPI_STATUS -AcpiExSmBusSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - - -ACPI_STATUS -AcpiExDataTableSpaceHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -#endif /* __INTERP_H__ */ diff --git a/Private/acpiSDK/source/include/aclocal.h b/Private/acpiSDK/source/include/aclocal.h deleted file mode 100644 index 99459a8b..00000000 --- a/Private/acpiSDK/source/include/aclocal.h +++ /dev/null @@ -1,1661 +0,0 @@ -/****************************************************************************** - * - * Name: aclocal.h - Internal data types used across the ACPI subsystem - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACLOCAL_H__ -#define __ACLOCAL_H__ - - -/* acpisrc:StructDefs -- for acpisrc conversion */ - -#define ACPI_SERIALIZED 0xFF - -typedef UINT32 ACPI_MUTEX_HANDLE; -#define ACPI_GLOBAL_LOCK (ACPI_SEMAPHORE) (-1) - -/* Total number of aml opcodes defined */ - -#define AML_NUM_OPCODES 0x83 - - -/* Forward declarations */ - -struct acpi_walk_state; -struct acpi_obj_mutex; -union acpi_parse_object; - - -/***************************************************************************** - * - * Mutex typedefs and structs - * - ****************************************************************************/ - - -/* - * Predefined handles for the mutex objects used within the subsystem - * All mutex objects are automatically created by AcpiUtMutexInitialize. - * - * The acquire/release ordering protocol is implied via this list. Mutexes - * with a lower value must be acquired before mutexes with a higher value. - * - * NOTE: any changes here must be reflected in the AcpiGbl_MutexNames - * table below also! - */ -#define ACPI_MTX_INTERPRETER 0 /* AML Interpreter, main lock */ -#define ACPI_MTX_NAMESPACE 1 /* ACPI Namespace */ -#define ACPI_MTX_TABLES 2 /* Data for ACPI tables */ -#define ACPI_MTX_EVENTS 3 /* Data for ACPI events */ -#define ACPI_MTX_CACHES 4 /* Internal caches, general purposes */ -#define ACPI_MTX_MEMORY 5 /* Debug memory tracking lists */ - -#define ACPI_MAX_MUTEX 5 -#define ACPI_NUM_MUTEX (ACPI_MAX_MUTEX+1) - - -/* Lock structure for reader/writer interfaces */ - -typedef struct acpi_rw_lock -{ - ACPI_MUTEX WriterMutex; - ACPI_MUTEX ReaderMutex; - UINT32 NumReaders; - -} ACPI_RW_LOCK; - - -/* - * Predefined handles for spinlocks used within the subsystem. - * These spinlocks are created by AcpiUtMutexInitialize - */ -#define ACPI_LOCK_GPES 0 -#define ACPI_LOCK_HARDWARE 1 - -#define ACPI_MAX_LOCK 1 -#define ACPI_NUM_LOCK (ACPI_MAX_LOCK+1) - - -/* This Thread ID means that the mutex is not in use (unlocked) */ - -#define ACPI_MUTEX_NOT_ACQUIRED ((ACPI_THREAD_ID) -1) - -/* This Thread ID means an invalid thread ID */ - -#ifdef ACPI_OS_INVALID_THREAD_ID -#define ACPI_INVALID_THREAD_ID ACPI_OS_INVALID_THREAD_ID -#else -#define ACPI_INVALID_THREAD_ID ((ACPI_THREAD_ID) 0xFFFFFFFF) -#endif - -/* Table for the global mutexes */ - -typedef struct acpi_mutex_info -{ - ACPI_MUTEX Mutex; - UINT32 UseCount; - ACPI_THREAD_ID ThreadId; - -} ACPI_MUTEX_INFO; - - -/* Lock flag parameter for various interfaces */ - -#define ACPI_MTX_DO_NOT_LOCK 0 -#define ACPI_MTX_LOCK 1 - - -/* Field access granularities */ - -#define ACPI_FIELD_BYTE_GRANULARITY 1 -#define ACPI_FIELD_WORD_GRANULARITY 2 -#define ACPI_FIELD_DWORD_GRANULARITY 4 -#define ACPI_FIELD_QWORD_GRANULARITY 8 - - -#define ACPI_ENTRY_NOT_FOUND NULL - - -/***************************************************************************** - * - * Namespace typedefs and structs - * - ****************************************************************************/ - -/* Operational modes of the AML interpreter/scanner */ - -typedef enum -{ - ACPI_IMODE_LOAD_PASS1 = 0x01, - ACPI_IMODE_LOAD_PASS2 = 0x02, - ACPI_IMODE_EXECUTE = 0x03 - -} ACPI_INTERPRETER_MODE; - - -/* - * The Namespace Node describes a named object that appears in the AML. - * DescriptorType is used to differentiate between internal descriptors. - * - * The node is optimized for both 32-bit and 64-bit platforms: - * 20 bytes for the 32-bit case, 32 bytes for the 64-bit case. - * - * Note: The DescriptorType and Type fields must appear in the identical - * position in both the ACPI_NAMESPACE_NODE and ACPI_OPERAND_OBJECT - * structures. - */ -typedef struct acpi_namespace_node -{ - union acpi_operand_object *Object; /* Interpreter object */ - UINT8 DescriptorType; /* Differentiate object descriptor types */ - UINT8 Type; /* ACPI Type associated with this name */ - UINT16 Flags; /* Miscellaneous flags */ - ACPI_NAME_UNION Name; /* ACPI Name, always 4 chars per ACPI spec */ - struct acpi_namespace_node *Parent; /* Parent node */ - struct acpi_namespace_node *Child; /* First child */ - struct acpi_namespace_node *Peer; /* First peer */ - ACPI_OWNER_ID OwnerId; /* Node creator */ - - /* - * The following fields are used by the ASL compiler and disassembler only - */ -#ifdef ACPI_LARGE_NAMESPACE_NODE - union acpi_parse_object *Op; - void *MethodLocals; - void *MethodArgs; - UINT32 Value; - UINT32 Length; - UINT8 ArgCount; - -#endif - -} ACPI_NAMESPACE_NODE; - - -/* Namespace Node flags */ - -#define ANOBJ_RESERVED 0x01 /* Available for use */ -#define ANOBJ_TEMPORARY 0x02 /* Node is create by a method and is temporary */ -#define ANOBJ_METHOD_ARG 0x04 /* Node is a method argument */ -#define ANOBJ_METHOD_LOCAL 0x08 /* Node is a method local */ -#define ANOBJ_SUBTREE_HAS_INI 0x10 /* Used to optimize device initialization */ -#define ANOBJ_EVALUATED 0x20 /* Set on first evaluation of node */ -#define ANOBJ_ALLOCATED_BUFFER 0x40 /* Method AML buffer is dynamic (InstallMethod) */ -#define ANOBJ_NODE_EARLY_INIT 0x80 /* AcpiExec only: Node was create via init file (-fi) */ - -#define ANOBJ_IS_EXTERNAL 0x08 /* iASL only: This object created via External() */ -#define ANOBJ_METHOD_NO_RETVAL 0x10 /* iASL only: Method has no return value */ -#define ANOBJ_METHOD_SOME_NO_RETVAL 0x20 /* iASL only: Method has at least one return value */ -#define ANOBJ_IS_REFERENCED 0x80 /* iASL only: Object was referenced */ - - -/* Internal ACPI table management - master table list */ - -typedef struct acpi_table_list -{ - ACPI_TABLE_DESC *Tables; /* Table descriptor array */ - UINT32 CurrentTableCount; /* Tables currently in the array */ - UINT32 MaxTableCount; /* Max tables array will hold */ - UINT8 Flags; - -} ACPI_TABLE_LIST; - -/* Flags for above */ - -#define ACPI_ROOT_ORIGIN_UNKNOWN (0) /* ~ORIGIN_ALLOCATED */ -#define ACPI_ROOT_ORIGIN_ALLOCATED (1) -#define ACPI_ROOT_ALLOW_RESIZE (2) - - -/* List to manage incoming ACPI tables */ - -typedef struct acpi_new_table_desc -{ - ACPI_TABLE_HEADER *Table; - struct acpi_new_table_desc *Next; - -} ACPI_NEW_TABLE_DESC; - - -/* Predefined table indexes */ - -#define ACPI_INVALID_TABLE_INDEX (0xFFFFFFFF) - - -typedef struct acpi_find_context -{ - char *SearchFor; - ACPI_HANDLE *List; - UINT32 *Count; - -} ACPI_FIND_CONTEXT; - - -typedef struct acpi_ns_search_data -{ - ACPI_NAMESPACE_NODE *Node; - -} ACPI_NS_SEARCH_DATA; - - -/* Object types used during package copies */ - -#define ACPI_COPY_TYPE_SIMPLE 0 -#define ACPI_COPY_TYPE_PACKAGE 1 - - -/* Info structure used to convert external<->internal namestrings */ - -typedef struct acpi_namestring_info -{ - const char *ExternalName; - const char *NextExternalChar; - char *InternalName; - UINT32 Length; - UINT32 NumSegments; - UINT32 NumCarats; - BOOLEAN FullyQualified; - -} ACPI_NAMESTRING_INFO; - - -/* Field creation info */ - -typedef struct acpi_create_field_info -{ - ACPI_NAMESPACE_NODE *RegionNode; - ACPI_NAMESPACE_NODE *FieldNode; - ACPI_NAMESPACE_NODE *RegisterNode; - ACPI_NAMESPACE_NODE *DataRegisterNode; - ACPI_NAMESPACE_NODE *ConnectionNode; - UINT8 *ResourceBuffer; - UINT32 BankValue; - UINT32 FieldBitPosition; - UINT32 FieldBitLength; - UINT16 ResourceLength; - UINT16 PinNumberIndex; - UINT8 FieldFlags; - UINT8 Attribute; - UINT8 FieldType; - UINT8 AccessLength; - -} ACPI_CREATE_FIELD_INFO; - - -typedef -ACPI_STATUS (*ACPI_INTERNAL_METHOD) ( - struct acpi_walk_state *WalkState); - - -/* - * Bitmapped ACPI types. Used internally only - */ -#define ACPI_BTYPE_ANY 0x00000000 -#define ACPI_BTYPE_INTEGER 0x00000001 -#define ACPI_BTYPE_STRING 0x00000002 -#define ACPI_BTYPE_BUFFER 0x00000004 -#define ACPI_BTYPE_PACKAGE 0x00000008 -#define ACPI_BTYPE_FIELD_UNIT 0x00000010 -#define ACPI_BTYPE_DEVICE 0x00000020 -#define ACPI_BTYPE_EVENT 0x00000040 -#define ACPI_BTYPE_METHOD 0x00000080 -#define ACPI_BTYPE_MUTEX 0x00000100 -#define ACPI_BTYPE_REGION 0x00000200 -#define ACPI_BTYPE_POWER 0x00000400 -#define ACPI_BTYPE_PROCESSOR 0x00000800 -#define ACPI_BTYPE_THERMAL 0x00001000 -#define ACPI_BTYPE_BUFFER_FIELD 0x00002000 -#define ACPI_BTYPE_DDB_HANDLE 0x00004000 -#define ACPI_BTYPE_DEBUG_OBJECT 0x00008000 -#define ACPI_BTYPE_REFERENCE_OBJECT 0x00010000 /* From Index(), RefOf(), etc (Type6Opcodes) */ -#define ACPI_BTYPE_RESOURCE 0x00020000 -#define ACPI_BTYPE_NAMED_REFERENCE 0x00040000 /* Generic unresolved Name or Namepath */ - -#define ACPI_BTYPE_COMPUTE_DATA (ACPI_BTYPE_INTEGER | ACPI_BTYPE_STRING | ACPI_BTYPE_BUFFER) - -#define ACPI_BTYPE_DATA (ACPI_BTYPE_COMPUTE_DATA | ACPI_BTYPE_PACKAGE) - - /* Used by Copy, DeRefOf, Store, Printf, Fprintf */ - -#define ACPI_BTYPE_DATA_REFERENCE (ACPI_BTYPE_DATA | ACPI_BTYPE_REFERENCE_OBJECT | ACPI_BTYPE_DDB_HANDLE) -#define ACPI_BTYPE_DEVICE_OBJECTS (ACPI_BTYPE_DEVICE | ACPI_BTYPE_THERMAL | ACPI_BTYPE_PROCESSOR) -#define ACPI_BTYPE_OBJECTS_AND_REFS 0x0001FFFF /* ARG or LOCAL */ -#define ACPI_BTYPE_ALL_OBJECTS 0x0000FFFF - -#pragma pack(1) - -/* - * Information structure for ACPI predefined names. - * Each entry in the table contains the following items: - * - * Name - The ACPI reserved name - * ParamCount - Number of arguments to the method - * ExpectedReturnBtypes - Allowed type(s) for the return value - */ -typedef struct acpi_name_info -{ - char Name[ACPI_NAMESEG_SIZE]; - UINT16 ArgumentList; - UINT8 ExpectedBtypes; - -} ACPI_NAME_INFO; - -/* - * Secondary information structures for ACPI predefined objects that return - * package objects. This structure appears as the next entry in the table - * after the NAME_INFO structure above. - * - * The reason for this is to minimize the size of the predefined name table. - */ - -/* - * Used for ACPI_PTYPE1_FIXED, ACPI_PTYPE1_VAR, ACPI_PTYPE2, - * ACPI_PTYPE2_MIN, ACPI_PTYPE2_PKG_COUNT, ACPI_PTYPE2_COUNT, - * ACPI_PTYPE2_FIX_VAR - */ -typedef struct acpi_package_info -{ - UINT8 Type; - UINT8 ObjectType1; - UINT8 Count1; - UINT8 ObjectType2; - UINT8 Count2; - UINT16 Reserved; - -} ACPI_PACKAGE_INFO; - -/* Used for ACPI_PTYPE2_FIXED */ - -typedef struct acpi_package_info2 -{ - UINT8 Type; - UINT8 Count; - UINT8 ObjectType[4]; - UINT8 Reserved; - -} ACPI_PACKAGE_INFO2; - -/* Used for ACPI_PTYPE1_OPTION */ - -typedef struct acpi_package_info3 -{ - UINT8 Type; - UINT8 Count; - UINT8 ObjectType[2]; - UINT8 TailObjectType; - UINT16 Reserved; - -} ACPI_PACKAGE_INFO3; - -typedef struct acpi_package_info4 -{ - UINT8 Type; - UINT8 ObjectType1; - UINT8 Count1; - UINT8 SubObjectTypes; - UINT8 PkgCount; - UINT16 Reserved; - -} ACPI_PACKAGE_INFO4; - -typedef union acpi_predefined_info -{ - ACPI_NAME_INFO Info; - ACPI_PACKAGE_INFO RetInfo; - ACPI_PACKAGE_INFO2 RetInfo2; - ACPI_PACKAGE_INFO3 RetInfo3; - ACPI_PACKAGE_INFO4 RetInfo4; - -} ACPI_PREDEFINED_INFO; - -/* Reset to default packing */ - -#pragma pack() - - -/* Return object auto-repair info */ - -typedef ACPI_STATUS (*ACPI_OBJECT_CONVERTER) ( - struct acpi_namespace_node *Scope, - union acpi_operand_object *OriginalObject, - union acpi_operand_object **ConvertedObject); - -typedef struct acpi_simple_repair_info -{ - char Name[ACPI_NAMESEG_SIZE]; - UINT32 UnexpectedBtypes; - UINT32 PackageIndex; - ACPI_OBJECT_CONVERTER ObjectConverter; - -} ACPI_SIMPLE_REPAIR_INFO; - - -/* - * Bitmapped return value types - * Note: the actual data types must be contiguous, a loop in nspredef.c - * depends on this. - */ -#define ACPI_RTYPE_ANY 0x00 -#define ACPI_RTYPE_NONE 0x01 -#define ACPI_RTYPE_INTEGER 0x02 -#define ACPI_RTYPE_STRING 0x04 -#define ACPI_RTYPE_BUFFER 0x08 -#define ACPI_RTYPE_PACKAGE 0x10 -#define ACPI_RTYPE_REFERENCE 0x20 -#define ACPI_RTYPE_ALL 0x3F - -#define ACPI_NUM_RTYPES 5 /* Number of actual object types */ - - -/* Info for running the _REG methods */ - -typedef struct acpi_reg_walk_info -{ - UINT32 Function; - UINT32 RegRunCount; - ACPI_ADR_SPACE_TYPE SpaceId; - -} ACPI_REG_WALK_INFO; - - -/***************************************************************************** - * - * Event typedefs and structs - * - ****************************************************************************/ - -/* Dispatch info for each host-installed SCI handler */ - -typedef struct acpi_sci_handler_info -{ - struct acpi_sci_handler_info *Next; - ACPI_SCI_HANDLER Address; /* Address of handler */ - void *Context; /* Context to be passed to handler */ - -} ACPI_SCI_HANDLER_INFO; - -/* Dispatch info for each GPE -- either a method or handler, cannot be both */ - -typedef struct acpi_gpe_handler_info -{ - ACPI_GPE_HANDLER Address; /* Address of handler, if any */ - void *Context; /* Context to be passed to handler */ - ACPI_NAMESPACE_NODE *MethodNode; /* Method node for this GPE level (saved) */ - UINT8 OriginalFlags; /* Original (pre-handler) GPE info */ - BOOLEAN OriginallyEnabled; /* True if GPE was originally enabled */ - -} ACPI_GPE_HANDLER_INFO; - -/* Notify info for implicit notify, multiple device objects */ - -typedef struct acpi_gpe_notify_info -{ - ACPI_NAMESPACE_NODE *DeviceNode; /* Device to be notified */ - struct acpi_gpe_notify_info *Next; - -} ACPI_GPE_NOTIFY_INFO; - -/* - * GPE dispatch info. At any time, the GPE can have at most one type - * of dispatch - Method, Handler, or Implicit Notify. - */ -typedef union acpi_gpe_dispatch_info -{ - ACPI_NAMESPACE_NODE *MethodNode; /* Method node for this GPE level */ - ACPI_GPE_HANDLER_INFO *Handler; /* Installed GPE handler */ - ACPI_GPE_NOTIFY_INFO *NotifyList; /* List of _PRW devices for implicit notifies */ - -} ACPI_GPE_DISPATCH_INFO; - -/* - * Information about a GPE, one per each GPE in an array. - * NOTE: Important to keep this struct as small as possible. - */ -typedef struct acpi_gpe_event_info -{ - union acpi_gpe_dispatch_info Dispatch; /* Either Method, Handler, or NotifyList */ - struct acpi_gpe_register_info *RegisterInfo; /* Backpointer to register info */ - UINT8 Flags; /* Misc info about this GPE */ - UINT8 GpeNumber; /* This GPE */ - UINT8 RuntimeCount; /* References to a run GPE */ - BOOLEAN DisableForDispatch; /* Masked during dispatching */ - -} ACPI_GPE_EVENT_INFO; - -/* Information about a GPE register pair, one per each status/enable pair in an array */ - -typedef struct acpi_gpe_register_info -{ - ACPI_GENERIC_ADDRESS StatusAddress; /* Address of status reg */ - ACPI_GENERIC_ADDRESS EnableAddress; /* Address of enable reg */ - UINT16 BaseGpeNumber; /* Base GPE number for this register */ - UINT8 EnableForWake; /* GPEs to keep enabled when sleeping */ - UINT8 EnableForRun; /* GPEs to keep enabled when running */ - UINT8 MaskForRun; /* GPEs to keep masked when running */ - UINT8 EnableMask; /* Current mask of enabled GPEs */ - -} ACPI_GPE_REGISTER_INFO; - -/* - * Information about a GPE register block, one per each installed block -- - * GPE0, GPE1, and one per each installed GPE Block Device. - */ -typedef struct acpi_gpe_block_info -{ - ACPI_NAMESPACE_NODE *Node; - struct acpi_gpe_block_info *Previous; - struct acpi_gpe_block_info *Next; - struct acpi_gpe_xrupt_info *XruptBlock; /* Backpointer to interrupt block */ - ACPI_GPE_REGISTER_INFO *RegisterInfo; /* One per GPE register pair */ - ACPI_GPE_EVENT_INFO *EventInfo; /* One for each GPE */ - UINT64 Address; /* Base address of the block */ - UINT32 RegisterCount; /* Number of register pairs in block */ - UINT16 GpeCount; /* Number of individual GPEs in block */ - UINT16 BlockBaseNumber;/* Base GPE number for this block */ - UINT8 SpaceId; - BOOLEAN Initialized; /* TRUE if this block is initialized */ - -} ACPI_GPE_BLOCK_INFO; - -/* Information about GPE interrupt handlers, one per each interrupt level used for GPEs */ - -typedef struct acpi_gpe_xrupt_info -{ - struct acpi_gpe_xrupt_info *Previous; - struct acpi_gpe_xrupt_info *Next; - ACPI_GPE_BLOCK_INFO *GpeBlockListHead; /* List of GPE blocks for this xrupt */ - UINT32 InterruptNumber; /* System interrupt number */ - -} ACPI_GPE_XRUPT_INFO; - -typedef struct acpi_gpe_walk_info -{ - ACPI_NAMESPACE_NODE *GpeDevice; - ACPI_GPE_BLOCK_INFO *GpeBlock; - UINT16 Count; - ACPI_OWNER_ID OwnerId; - BOOLEAN ExecuteByOwnerId; - -} ACPI_GPE_WALK_INFO; - -typedef struct acpi_gpe_device_info -{ - UINT32 Index; - UINT32 NextBlockBaseIndex; - ACPI_STATUS Status; - ACPI_NAMESPACE_NODE *GpeDevice; - -} ACPI_GPE_DEVICE_INFO; - -typedef ACPI_STATUS (*ACPI_GPE_CALLBACK) ( - ACPI_GPE_XRUPT_INFO *GpeXruptInfo, - ACPI_GPE_BLOCK_INFO *GpeBlock, - void *Context); - - -/* Information about each particular fixed event */ - -typedef struct acpi_fixed_event_handler -{ - ACPI_EVENT_HANDLER Handler; /* Address of handler. */ - void *Context; /* Context to be passed to handler */ - -} ACPI_FIXED_EVENT_HANDLER; - -typedef struct acpi_fixed_event_info -{ - UINT8 StatusRegisterId; - UINT8 EnableRegisterId; - UINT16 StatusBitMask; - UINT16 EnableBitMask; - -} ACPI_FIXED_EVENT_INFO; - -/* Information used during field processing */ - -typedef struct acpi_field_info -{ - UINT8 SkipField; - UINT8 FieldFlag; - UINT32 PkgLength; - -} ACPI_FIELD_INFO; - -/* Information about the interrupt ID and _EVT of a GED device */ - -typedef struct acpi_ged_handler_info -{ - struct acpi_ged_handler_info *Next; - UINT32 IntId; /* The interrupt ID that triggers the execution ofthe EvtMethod. */ - ACPI_NAMESPACE_NODE *EvtMethod; /* The _EVT method to be executed when an interrupt with ID = IntID is received */ - -} ACPI_GED_HANDLER_INFO; - -/***************************************************************************** - * - * Generic "state" object for stacks - * - ****************************************************************************/ - -#define ACPI_CONTROL_NORMAL 0xC0 -#define ACPI_CONTROL_CONDITIONAL_EXECUTING 0xC1 -#define ACPI_CONTROL_PREDICATE_EXECUTING 0xC2 -#define ACPI_CONTROL_PREDICATE_FALSE 0xC3 -#define ACPI_CONTROL_PREDICATE_TRUE 0xC4 - - -#define ACPI_STATE_COMMON \ - void *Next; \ - UINT8 DescriptorType; /* To differentiate various internal objs */\ - UINT8 Flags; \ - UINT16 Value; \ - UINT16 State - - /* There are 2 bytes available here until the next natural alignment boundary */ - -typedef struct acpi_common_state -{ - ACPI_STATE_COMMON; -} ACPI_COMMON_STATE; - - -/* - * Update state - used to traverse complex objects such as packages - */ -typedef struct acpi_update_state -{ - ACPI_STATE_COMMON; - union acpi_operand_object *Object; - -} ACPI_UPDATE_STATE; - - -/* - * Pkg state - used to traverse nested package structures - */ -typedef struct acpi_pkg_state -{ - ACPI_STATE_COMMON; - UINT32 Index; - union acpi_operand_object *SourceObject; - union acpi_operand_object *DestObject; - struct acpi_walk_state *WalkState; - void *ThisTargetObj; - UINT32 NumPackages; - -} ACPI_PKG_STATE; - - -/* - * Control state - one per if/else and while constructs. - * Allows nesting of these constructs - */ -typedef struct acpi_control_state -{ - ACPI_STATE_COMMON; - UINT16 Opcode; - union acpi_parse_object *PredicateOp; - UINT8 *AmlPredicateStart; /* Start of if/while predicate */ - UINT8 *PackageEnd; /* End of if/while block */ - UINT64 LoopTimeout; /* While() loop timeout */ - -} ACPI_CONTROL_STATE; - - -/* - * Scope state - current scope during namespace lookups - */ -typedef struct acpi_scope_state -{ - ACPI_STATE_COMMON; - ACPI_NAMESPACE_NODE *Node; - -} ACPI_SCOPE_STATE; - - -typedef struct acpi_pscope_state -{ - ACPI_STATE_COMMON; - UINT32 ArgCount; /* Number of fixed arguments */ - union acpi_parse_object *Op; /* Current op being parsed */ - UINT8 *ArgEnd; /* Current argument end */ - UINT8 *PkgEnd; /* Current package end */ - UINT32 ArgList; /* Next argument to parse */ - -} ACPI_PSCOPE_STATE; - - -/* - * Thread state - one per thread across multiple walk states. Multiple walk - * states are created when there are nested control methods executing. - */ -typedef struct acpi_thread_state -{ - ACPI_STATE_COMMON; - UINT8 CurrentSyncLevel; /* Mutex Sync (nested acquire) level */ - struct acpi_walk_state *WalkStateList; /* Head of list of WalkStates for this thread */ - union acpi_operand_object *AcquiredMutexList; /* List of all currently acquired mutexes */ - ACPI_THREAD_ID ThreadId; /* Running thread ID */ - -} ACPI_THREAD_STATE; - - -/* - * Result values - used to accumulate the results of nested - * AML arguments - */ -typedef struct acpi_result_values -{ - ACPI_STATE_COMMON; - union acpi_operand_object *ObjDesc [ACPI_RESULTS_FRAME_OBJ_NUM]; - -} ACPI_RESULT_VALUES; - - -typedef -ACPI_STATUS (*ACPI_PARSE_DOWNWARDS) ( - struct acpi_walk_state *WalkState, - union acpi_parse_object **OutOp); - -typedef -ACPI_STATUS (*ACPI_PARSE_UPWARDS) ( - struct acpi_walk_state *WalkState); - - -/* Global handlers for AML Notifies */ - -typedef struct acpi_global_notify_handler -{ - ACPI_NOTIFY_HANDLER Handler; - void *Context; - -} ACPI_GLOBAL_NOTIFY_HANDLER; - -/* - * Notify info - used to pass info to the deferred notify - * handler/dispatcher. - */ -typedef struct acpi_notify_info -{ - ACPI_STATE_COMMON; - UINT8 HandlerListId; - ACPI_NAMESPACE_NODE *Node; - union acpi_operand_object *HandlerListHead; - ACPI_GLOBAL_NOTIFY_HANDLER *Global; - -} ACPI_NOTIFY_INFO; - - -/* Generic state is union of structs above */ - -typedef union acpi_generic_state -{ - ACPI_COMMON_STATE Common; - ACPI_CONTROL_STATE Control; - ACPI_UPDATE_STATE Update; - ACPI_SCOPE_STATE Scope; - ACPI_PSCOPE_STATE ParseScope; - ACPI_PKG_STATE Pkg; - ACPI_THREAD_STATE Thread; - ACPI_RESULT_VALUES Results; - ACPI_NOTIFY_INFO Notify; - -} ACPI_GENERIC_STATE; - - -/***************************************************************************** - * - * Interpreter typedefs and structs - * - ****************************************************************************/ - -typedef -ACPI_STATUS (*ACPI_EXECUTE_OP) ( - struct acpi_walk_state *WalkState); - -/* Address Range info block */ - -typedef struct acpi_address_range -{ - struct acpi_address_range *Next; - ACPI_NAMESPACE_NODE *RegionNode; - ACPI_PHYSICAL_ADDRESS StartAddress; - ACPI_PHYSICAL_ADDRESS EndAddress; - -} ACPI_ADDRESS_RANGE; - - -/***************************************************************************** - * - * Parser typedefs and structs - * - ****************************************************************************/ - -/* - * AML opcode, name, and argument layout - */ -typedef struct acpi_opcode_info -{ -#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG_OUTPUT) - char *Name; /* Opcode name (disassembler/debug only) */ -#endif - UINT32 ParseArgs; /* Grammar/Parse time arguments */ - UINT32 RuntimeArgs; /* Interpret time arguments */ - UINT16 Flags; /* Misc flags */ - UINT8 ObjectType; /* Corresponding internal object type */ - UINT8 Class; /* Opcode class */ - UINT8 Type; /* Opcode type */ - -} ACPI_OPCODE_INFO; - -/* Structure for Resource Tag information */ - -typedef struct acpi_tag_info -{ - UINT32 BitOffset; - UINT32 BitLength; - -} ACPI_TAG_INFO; - -/* Value associated with the parse object */ - -typedef union acpi_parse_value -{ - UINT64 Integer; /* Integer constant (Up to 64 bits) */ - UINT32 Size; /* bytelist or field size */ - char *String; /* NULL terminated string */ - UINT8 *Buffer; /* buffer or string */ - char *Name; /* NULL terminated string */ - union acpi_parse_object *Arg; /* arguments and contained ops */ - ACPI_TAG_INFO Tag; /* Resource descriptor tag info */ - -} ACPI_PARSE_VALUE; - - -#if defined(ACPI_DISASSEMBLER) || defined(ACPI_DEBUG_OUTPUT) -#define ACPI_DISASM_ONLY_MEMBERS(a) a; -#else -#define ACPI_DISASM_ONLY_MEMBERS(a) -#endif - -#if defined(ACPI_ASL_COMPILER) -#define ACPI_CONVERTER_ONLY_MEMBERS(a) a; -#else -#define ACPI_CONVERTER_ONLY_MEMBERS(a) -#endif - -#define ACPI_PARSE_COMMON \ - union acpi_parse_object *Parent; /* Parent op */\ - UINT8 DescriptorType; /* To differentiate various internal objs */\ - UINT8 Flags; /* Type of Op */\ - UINT16 AmlOpcode; /* AML opcode */\ - UINT8 *Aml; /* Address of declaration in AML */\ - union acpi_parse_object *Next; /* Next op */\ - ACPI_NAMESPACE_NODE *Node; /* For use by interpreter */\ - ACPI_PARSE_VALUE Value; /* Value or args associated with the opcode */\ - UINT8 ArgListLength; /* Number of elements in the arg list */\ - ACPI_DISASM_ONLY_MEMBERS (\ - UINT16 DisasmFlags; /* Used during AML disassembly */\ - UINT8 DisasmOpcode; /* Subtype used for disassembly */\ - char *OperatorSymbol; /* Used for C-style operator name strings */\ - char AmlOpName[16]) /* Op name (debug only) */\ - ACPI_CONVERTER_ONLY_MEMBERS (\ - char *InlineComment; /* Inline comment */\ - char *EndNodeComment; /* End of node comment */\ - char *NameComment; /* Comment associated with the first parameter of the name node */\ - char *CloseBraceComment; /* Comments that come after } on the same as } */\ - ACPI_COMMENT_NODE *CommentList; /* comments that appears before this node */\ - ACPI_COMMENT_NODE *EndBlkComment; /* comments that at the end of a block but before ) or } */\ - char *CvFilename; /* Filename associated with this node. Used for ASL/ASL+ converter */\ - char *CvParentFilename) /* Parent filename associated with this node. Used for ASL/ASL+ converter */ - - -/* categories of comments */ - -typedef enum -{ - STANDARD_COMMENT = 1, - INLINE_COMMENT, - ENDNODE_COMMENT, - OPENBRACE_COMMENT, - CLOSE_BRACE_COMMENT, - STD_DEFBLK_COMMENT, - END_DEFBLK_COMMENT, - FILENAME_COMMENT, - PARENTFILENAME_COMMENT, - ENDBLK_COMMENT, - INCLUDE_COMMENT - -} ASL_COMMENT_TYPES; - - -/* Internal opcodes for DisasmOpcode field above */ - -#define ACPI_DASM_BUFFER 0x00 /* Buffer is a simple data buffer */ -#define ACPI_DASM_RESOURCE 0x01 /* Buffer is a Resource Descriptor */ -#define ACPI_DASM_STRING 0x02 /* Buffer is a ASCII string */ -#define ACPI_DASM_UNICODE 0x03 /* Buffer is a Unicode string */ -#define ACPI_DASM_PLD_METHOD 0x04 /* Buffer is a _PLD method bit-packed buffer */ -#define ACPI_DASM_UUID 0x05 /* Buffer is a UUID/GUID */ -#define ACPI_DASM_EISAID 0x06 /* Integer is an EISAID */ -#define ACPI_DASM_MATCHOP 0x07 /* Parent opcode is a Match() operator */ -#define ACPI_DASM_LNOT_PREFIX 0x08 /* Start of a LNotEqual (etc.) pair of opcodes */ -#define ACPI_DASM_LNOT_SUFFIX 0x09 /* End of a LNotEqual (etc.) pair of opcodes */ -#define ACPI_DASM_HID_STRING 0x0A /* String is a _HID or _CID */ -#define ACPI_DASM_IGNORE_SINGLE 0x0B /* Ignore the opcode but not it's children */ -#define ACPI_DASM_SWITCH 0x0C /* While is a Switch */ -#define ACPI_DASM_SWITCH_PREDICATE 0x0D /* Object is a predicate for a Switch or Case block */ -#define ACPI_DASM_CASE 0x0E /* If/Else is a Case in a Switch/Case block */ -#define ACPI_DASM_DEFAULT 0x0F /* Else is a Default in a Switch/Case block */ - - -/* - * List struct used in the -ca option - */ -typedef struct acpi_comment_node -{ - char *Comment; - struct acpi_comment_node *Next; - -} ACPI_COMMENT_NODE; - - -typedef struct acpi_comment_addr_node -{ - UINT8 *Addr; - struct acpi_comment_addr_node *Next; -} ACPI_COMMENT_ADDR_NODE; - -/* - * File node - used for "Include" operator file stack and - * dependency tree for the -ca option - */ -typedef struct acpi_file_node -{ - void *File; - char *Filename; - char *FileStart; /* Points to AML and indicates when the AML for this particular file starts. */ - char *FileEnd; /* Points to AML and indicates when the AML for this particular file ends. */ - struct acpi_file_node *Next; - struct acpi_file_node *Parent; - BOOLEAN IncludeWritten; - ACPI_COMMENT_NODE *IncludeComment; - -} ACPI_FILE_NODE; - - -/* - * Generic operation (for example: If, While, Store) - */ -typedef struct acpi_parse_obj_common -{ - ACPI_PARSE_COMMON -} ACPI_PARSE_OBJ_COMMON; - - -/* - * Extended Op for named ops (Scope, Method, etc.), deferred ops (Methods and OpRegions), - * and bytelists. - */ -typedef struct acpi_parse_obj_named -{ - ACPI_PARSE_COMMON - char *Path; - UINT8 *Data; /* AML body or bytelist data */ - UINT32 Length; /* AML length */ - UINT32 Name; /* 4-byte name or zero if no name */ - -} ACPI_PARSE_OBJ_NAMED; - - -/* This version is used by the iASL compiler only */ - -#define ACPI_MAX_PARSEOP_NAME 20 - -typedef struct acpi_parse_obj_asl -{ - ACPI_PARSE_COMMON - union acpi_parse_object *Child; - union acpi_parse_object *ParentMethod; - char *Filename; - BOOLEAN FileChanged; - char *ParentFilename; - char *ExternalName; - char *Namepath; - char NameSeg[4]; - UINT32 ExtraValue; - UINT32 Column; - UINT32 LineNumber; - UINT32 LogicalLineNumber; - UINT32 LogicalByteOffset; - UINT32 EndLine; - UINT32 EndLogicalLine; - UINT32 AcpiBtype; - UINT32 AmlLength; - UINT32 AmlSubtreeLength; - UINT32 FinalAmlLength; - UINT32 FinalAmlOffset; - UINT32 CompileFlags; - UINT16 ParseOpcode; - UINT8 AmlOpcodeLength; - UINT8 AmlPkgLenBytes; - UINT8 Extra; - char ParseOpName[ACPI_MAX_PARSEOP_NAME]; - -} ACPI_PARSE_OBJ_ASL; - -typedef union acpi_parse_object -{ - ACPI_PARSE_OBJ_COMMON Common; - ACPI_PARSE_OBJ_NAMED Named; - ACPI_PARSE_OBJ_ASL Asl; - -} ACPI_PARSE_OBJECT; - -typedef struct asl_comment_state -{ - UINT8 CommentType; - UINT32 SpacesBefore; - ACPI_PARSE_OBJECT *LatestParseOp; - ACPI_PARSE_OBJECT *ParsingParenBraceNode; - BOOLEAN CaptureComments; - -} ASL_COMMENT_STATE; - - -/* - * Parse state - one state per parser invocation and each control - * method. - */ -typedef struct acpi_parse_state -{ - UINT8 *AmlStart; /* First AML byte */ - UINT8 *Aml; /* Next AML byte */ - UINT8 *AmlEnd; /* (last + 1) AML byte */ - UINT8 *PkgStart; /* Current package begin */ - UINT8 *PkgEnd; /* Current package end */ - union acpi_parse_object *StartOp; /* Root of parse tree */ - struct acpi_namespace_node *StartNode; - union acpi_generic_state *Scope; /* Current scope */ - union acpi_parse_object *StartScope; - UINT32 AmlSize; - -} ACPI_PARSE_STATE; - - -/* Parse object flags */ - -#define ACPI_PARSEOP_GENERIC 0x01 -#define ACPI_PARSEOP_NAMED_OBJECT 0x02 -#define ACPI_PARSEOP_DEFERRED 0x04 -#define ACPI_PARSEOP_BYTELIST 0x08 -#define ACPI_PARSEOP_IN_STACK 0x10 -#define ACPI_PARSEOP_TARGET 0x20 -#define ACPI_PARSEOP_IN_CACHE 0x80 - -/* Parse object DisasmFlags */ - -#define ACPI_PARSEOP_IGNORE 0x0001 -#define ACPI_PARSEOP_PARAMETER_LIST 0x0002 -#define ACPI_PARSEOP_EMPTY_TERMLIST 0x0004 -#define ACPI_PARSEOP_PREDEFINED_CHECKED 0x0008 -#define ACPI_PARSEOP_CLOSING_PAREN 0x0010 -#define ACPI_PARSEOP_COMPOUND_ASSIGNMENT 0x0020 -#define ACPI_PARSEOP_ASSIGNMENT 0x0040 -#define ACPI_PARSEOP_ELSEIF 0x0080 -#define ACPI_PARSEOP_LEGACY_ASL_ONLY 0x0100 - - -/***************************************************************************** - * - * Hardware (ACPI registers) and PNP - * - ****************************************************************************/ - -typedef struct acpi_bit_register_info -{ - UINT8 ParentRegister; - UINT8 BitPosition; - UINT16 AccessBitMask; - -} ACPI_BIT_REGISTER_INFO; - - -/* - * Some ACPI registers have bits that must be ignored -- meaning that they - * must be preserved. - */ -#define ACPI_PM1_STATUS_PRESERVED_BITS 0x0800 /* Bit 11 */ - -/* Write-only bits must be zeroed by software */ - -#define ACPI_PM1_CONTROL_WRITEONLY_BITS 0x2004 /* Bits 13, 2 */ - -/* For control registers, both ignored and reserved bits must be preserved */ - -/* - * For PM1 control, the SCI enable bit (bit 0, SCI_EN) is defined by the - * ACPI specification to be a "preserved" bit - "OSPM always preserves this - * bit position", section 4.7.3.2.1. However, on some machines the OS must - * write a one to this bit after resume for the machine to work properly. - * To enable this, we no longer attempt to preserve this bit. No machines - * are known to fail if the bit is not preserved. (May 2009) - */ -#define ACPI_PM1_CONTROL_IGNORED_BITS 0x0200 /* Bit 9 */ -#define ACPI_PM1_CONTROL_RESERVED_BITS 0xC1F8 /* Bits 14-15, 3-8 */ -#define ACPI_PM1_CONTROL_PRESERVED_BITS \ - (ACPI_PM1_CONTROL_IGNORED_BITS | ACPI_PM1_CONTROL_RESERVED_BITS) - -#define ACPI_PM2_CONTROL_PRESERVED_BITS 0xFFFFFFFE /* All except bit 0 */ - -/* - * Register IDs - * These are the full ACPI registers - */ -#define ACPI_REGISTER_PM1_STATUS 0x01 -#define ACPI_REGISTER_PM1_ENABLE 0x02 -#define ACPI_REGISTER_PM1_CONTROL 0x03 -#define ACPI_REGISTER_PM2_CONTROL 0x04 -#define ACPI_REGISTER_PM_TIMER 0x05 -#define ACPI_REGISTER_PROCESSOR_BLOCK 0x06 -#define ACPI_REGISTER_SMI_COMMAND_BLOCK 0x07 - - -/* Masks used to access the BitRegisters */ - -#define ACPI_BITMASK_TIMER_STATUS 0x0001 -#define ACPI_BITMASK_BUS_MASTER_STATUS 0x0010 -#define ACPI_BITMASK_GLOBAL_LOCK_STATUS 0x0020 -#define ACPI_BITMASK_POWER_BUTTON_STATUS 0x0100 -#define ACPI_BITMASK_SLEEP_BUTTON_STATUS 0x0200 -#define ACPI_BITMASK_RT_CLOCK_STATUS 0x0400 -#define ACPI_BITMASK_PCIEXP_WAKE_STATUS 0x4000 /* ACPI 3.0 */ -#define ACPI_BITMASK_WAKE_STATUS 0x8000 - -#define ACPI_BITMASK_ALL_FIXED_STATUS (\ - ACPI_BITMASK_TIMER_STATUS | \ - ACPI_BITMASK_BUS_MASTER_STATUS | \ - ACPI_BITMASK_GLOBAL_LOCK_STATUS | \ - ACPI_BITMASK_POWER_BUTTON_STATUS | \ - ACPI_BITMASK_SLEEP_BUTTON_STATUS | \ - ACPI_BITMASK_RT_CLOCK_STATUS | \ - ACPI_BITMASK_PCIEXP_WAKE_STATUS | \ - ACPI_BITMASK_WAKE_STATUS) - -#define ACPI_BITMASK_TIMER_ENABLE 0x0001 -#define ACPI_BITMASK_GLOBAL_LOCK_ENABLE 0x0020 -#define ACPI_BITMASK_POWER_BUTTON_ENABLE 0x0100 -#define ACPI_BITMASK_SLEEP_BUTTON_ENABLE 0x0200 -#define ACPI_BITMASK_RT_CLOCK_ENABLE 0x0400 -#define ACPI_BITMASK_PCIEXP_WAKE_DISABLE 0x4000 /* ACPI 3.0 */ - -#define ACPI_BITMASK_SCI_ENABLE 0x0001 -#define ACPI_BITMASK_BUS_MASTER_RLD 0x0002 -#define ACPI_BITMASK_GLOBAL_LOCK_RELEASE 0x0004 -#define ACPI_BITMASK_SLEEP_TYPE 0x1C00 -#define ACPI_BITMASK_SLEEP_ENABLE 0x2000 - -#define ACPI_BITMASK_ARB_DISABLE 0x0001 - - -/* Raw bit position of each BitRegister */ - -#define ACPI_BITPOSITION_TIMER_STATUS 0x00 -#define ACPI_BITPOSITION_BUS_MASTER_STATUS 0x04 -#define ACPI_BITPOSITION_GLOBAL_LOCK_STATUS 0x05 -#define ACPI_BITPOSITION_POWER_BUTTON_STATUS 0x08 -#define ACPI_BITPOSITION_SLEEP_BUTTON_STATUS 0x09 -#define ACPI_BITPOSITION_RT_CLOCK_STATUS 0x0A -#define ACPI_BITPOSITION_PCIEXP_WAKE_STATUS 0x0E /* ACPI 3.0 */ -#define ACPI_BITPOSITION_WAKE_STATUS 0x0F - -#define ACPI_BITPOSITION_TIMER_ENABLE 0x00 -#define ACPI_BITPOSITION_GLOBAL_LOCK_ENABLE 0x05 -#define ACPI_BITPOSITION_POWER_BUTTON_ENABLE 0x08 -#define ACPI_BITPOSITION_SLEEP_BUTTON_ENABLE 0x09 -#define ACPI_BITPOSITION_RT_CLOCK_ENABLE 0x0A -#define ACPI_BITPOSITION_PCIEXP_WAKE_DISABLE 0x0E /* ACPI 3.0 */ - -#define ACPI_BITPOSITION_SCI_ENABLE 0x00 -#define ACPI_BITPOSITION_BUS_MASTER_RLD 0x01 -#define ACPI_BITPOSITION_GLOBAL_LOCK_RELEASE 0x02 -#define ACPI_BITPOSITION_SLEEP_TYPE 0x0A -#define ACPI_BITPOSITION_SLEEP_ENABLE 0x0D - -#define ACPI_BITPOSITION_ARB_DISABLE 0x00 - - -/* Structs and definitions for _OSI support and I/O port validation */ - -#define ACPI_ALWAYS_ILLEGAL 0x00 - -typedef struct acpi_interface_info -{ - char *Name; - struct acpi_interface_info *Next; - UINT8 Flags; - UINT8 Value; - -} ACPI_INTERFACE_INFO; - -#define ACPI_OSI_INVALID 0x01 -#define ACPI_OSI_DYNAMIC 0x02 -#define ACPI_OSI_FEATURE 0x04 -#define ACPI_OSI_DEFAULT_INVALID 0x08 -#define ACPI_OSI_OPTIONAL_FEATURE (ACPI_OSI_FEATURE | ACPI_OSI_DEFAULT_INVALID | ACPI_OSI_INVALID) - -typedef struct acpi_port_info -{ - char *Name; - UINT16 Start; - UINT16 End; - UINT8 OsiDependency; - -} ACPI_PORT_INFO; - - -/***************************************************************************** - * - * Resource descriptors - * - ****************************************************************************/ - -/* ResourceType values */ - -#define ACPI_ADDRESS_TYPE_MEMORY_RANGE 0 -#define ACPI_ADDRESS_TYPE_IO_RANGE 1 -#define ACPI_ADDRESS_TYPE_BUS_NUMBER_RANGE 2 - -/* Resource descriptor types and masks */ - -#define ACPI_RESOURCE_NAME_LARGE 0x80 -#define ACPI_RESOURCE_NAME_SMALL 0x00 - -#define ACPI_RESOURCE_NAME_SMALL_MASK 0x78 /* Bits 6:3 contain the type */ -#define ACPI_RESOURCE_NAME_SMALL_LENGTH_MASK 0x07 /* Bits 2:0 contain the length */ -#define ACPI_RESOURCE_NAME_LARGE_MASK 0x7F /* Bits 6:0 contain the type */ - - -/* - * Small resource descriptor "names" as defined by the ACPI specification. - * Note: Bits 2:0 are used for the descriptor length - */ -#define ACPI_RESOURCE_NAME_IRQ 0x20 -#define ACPI_RESOURCE_NAME_DMA 0x28 -#define ACPI_RESOURCE_NAME_START_DEPENDENT 0x30 -#define ACPI_RESOURCE_NAME_END_DEPENDENT 0x38 -#define ACPI_RESOURCE_NAME_IO 0x40 -#define ACPI_RESOURCE_NAME_FIXED_IO 0x48 -#define ACPI_RESOURCE_NAME_FIXED_DMA 0x50 -#define ACPI_RESOURCE_NAME_RESERVED_S2 0x58 -#define ACPI_RESOURCE_NAME_RESERVED_S3 0x60 -#define ACPI_RESOURCE_NAME_RESERVED_S4 0x68 -#define ACPI_RESOURCE_NAME_VENDOR_SMALL 0x70 -#define ACPI_RESOURCE_NAME_END_TAG 0x78 - -/* - * Large resource descriptor "names" as defined by the ACPI specification. - * Note: includes the Large Descriptor bit in bit[7] - */ -#define ACPI_RESOURCE_NAME_MEMORY24 0x81 -#define ACPI_RESOURCE_NAME_GENERIC_REGISTER 0x82 -#define ACPI_RESOURCE_NAME_RESERVED_L1 0x83 -#define ACPI_RESOURCE_NAME_VENDOR_LARGE 0x84 -#define ACPI_RESOURCE_NAME_MEMORY32 0x85 -#define ACPI_RESOURCE_NAME_FIXED_MEMORY32 0x86 -#define ACPI_RESOURCE_NAME_ADDRESS32 0x87 -#define ACPI_RESOURCE_NAME_ADDRESS16 0x88 -#define ACPI_RESOURCE_NAME_EXTENDED_IRQ 0x89 -#define ACPI_RESOURCE_NAME_ADDRESS64 0x8A -#define ACPI_RESOURCE_NAME_EXTENDED_ADDRESS64 0x8B -#define ACPI_RESOURCE_NAME_GPIO 0x8C -#define ACPI_RESOURCE_NAME_PIN_FUNCTION 0x8D -#define ACPI_RESOURCE_NAME_SERIAL_BUS 0x8E -#define ACPI_RESOURCE_NAME_PIN_CONFIG 0x8F -#define ACPI_RESOURCE_NAME_PIN_GROUP 0x90 -#define ACPI_RESOURCE_NAME_PIN_GROUP_FUNCTION 0x91 -#define ACPI_RESOURCE_NAME_PIN_GROUP_CONFIG 0x92 -#define ACPI_RESOURCE_NAME_CLOCK_INPUT 0x93 -#define ACPI_RESOURCE_NAME_LARGE_MAX 0x94 - - -/***************************************************************************** - * - * Miscellaneous - * - ****************************************************************************/ - -#define ACPI_ASCII_ZERO 0x30 - - -/***************************************************************************** - * - * Disassembler - * - ****************************************************************************/ - -typedef struct acpi_external_list -{ - char *Path; - char *InternalPath; - struct acpi_external_list *Next; - UINT32 Value; - UINT16 Length; - UINT16 Flags; - UINT8 Type; - -} ACPI_EXTERNAL_LIST; - -/* Values for Flags field above */ - -#define ACPI_EXT_RESOLVED_REFERENCE 0x01 /* Object was resolved during cross ref */ -#define ACPI_EXT_ORIGIN_FROM_FILE 0x02 /* External came from a file */ -#define ACPI_EXT_INTERNAL_PATH_ALLOCATED 0x04 /* Deallocate internal path on completion */ -#define ACPI_EXT_EXTERNAL_EMITTED 0x08 /* External() statement has been emitted */ -#define ACPI_EXT_ORIGIN_FROM_OPCODE 0x10 /* External came from a External() opcode */ -#define ACPI_EXT_CONFLICTING_DECLARATION 0x20 /* External has a conflicting declaration within AML */ - - -typedef struct acpi_external_file -{ - char *Path; - struct acpi_external_file *Next; - -} ACPI_EXTERNAL_FILE; - - -typedef struct acpi_parse_object_list -{ - ACPI_PARSE_OBJECT *Op; - struct acpi_parse_object_list *Next; - -} ACPI_PARSE_OBJECT_LIST; - -/***************************************************************************** - * - * Debugger - * - ****************************************************************************/ - -typedef struct acpi_db_method_info -{ - ACPI_HANDLE Method; - ACPI_HANDLE MainThreadGate; - ACPI_HANDLE ThreadCompleteGate; - ACPI_HANDLE InfoGate; - ACPI_THREAD_ID *Threads; - UINT32 NumThreads; - UINT32 NumCreated; - UINT32 NumCompleted; - - char *Name; - UINT32 Flags; - UINT32 NumLoops; - char Pathname[ACPI_DB_LINE_BUFFER_SIZE]; - char **Args; - ACPI_OBJECT_TYPE *Types; - - /* - * Arguments to be passed to method for the commands Threads and - * Background. Note, ACPI specifies a maximum of 7 arguments (0 - 6). - * - * For the Threads command, the Number of threads, ID of current - * thread and Index of current thread inside all them created. - */ - char InitArgs; -#ifdef ACPI_DEBUGGER - ACPI_OBJECT_TYPE ArgTypes[ACPI_METHOD_NUM_ARGS]; -#endif - char *Arguments[ACPI_METHOD_NUM_ARGS]; - char NumThreadsStr[11]; - char IdOfThreadStr[11]; - char IndexOfThreadStr[11]; - -} ACPI_DB_METHOD_INFO; - -typedef struct acpi_integrity_info -{ - UINT32 Nodes; - UINT32 Objects; - -} ACPI_INTEGRITY_INFO; - - -#define ACPI_DB_DISABLE_OUTPUT 0x00 -#define ACPI_DB_REDIRECTABLE_OUTPUT 0x01 -#define ACPI_DB_CONSOLE_OUTPUT 0x02 -#define ACPI_DB_DUPLICATE_OUTPUT 0x03 - - -typedef struct acpi_object_info -{ - UINT32 Types[ACPI_TOTAL_TYPES]; - -} ACPI_OBJECT_INFO; - - -/***************************************************************************** - * - * Debug - * - ****************************************************************************/ - -/* Entry for a memory allocation (debug only) */ - -#define ACPI_MEM_MALLOC 0 -#define ACPI_MEM_CALLOC 1 -#define ACPI_MAX_MODULE_NAME 16 - -#define ACPI_COMMON_DEBUG_MEM_HEADER \ - struct acpi_debug_mem_block *Previous; \ - struct acpi_debug_mem_block *Next; \ - UINT32 Size; \ - UINT32 Component; \ - UINT32 Line; \ - char Module[ACPI_MAX_MODULE_NAME]; \ - UINT8 AllocType; - -typedef struct acpi_debug_mem_header -{ - ACPI_COMMON_DEBUG_MEM_HEADER - -} ACPI_DEBUG_MEM_HEADER; - -typedef struct acpi_debug_mem_block -{ - ACPI_COMMON_DEBUG_MEM_HEADER - UINT64 UserSpace; - -} ACPI_DEBUG_MEM_BLOCK; - - -#define ACPI_MEM_LIST_GLOBAL 0 -#define ACPI_MEM_LIST_NSNODE 1 -#define ACPI_MEM_LIST_MAX 1 -#define ACPI_NUM_MEM_LISTS 2 - - -/***************************************************************************** - * - * Info/help support - * - ****************************************************************************/ - -typedef struct ah_predefined_name -{ - char *Name; - char *Description; -#ifndef ACPI_ASL_COMPILER - char *Action; -#endif - -} AH_PREDEFINED_NAME; - -typedef struct ah_device_id -{ - char *Name; - char *Description; - -} AH_DEVICE_ID; - -typedef struct ah_uuid -{ - char *Description; - char *String; - -} AH_UUID; - -typedef struct ah_table -{ - char *Signature; - char *Description; - -} AH_TABLE; - -#endif /* __ACLOCAL_H__ */ diff --git a/Private/acpiSDK/source/include/acmacros.h b/Private/acpiSDK/source/include/acmacros.h deleted file mode 100644 index 66c90b6a..00000000 --- a/Private/acpiSDK/source/include/acmacros.h +++ /dev/null @@ -1,647 +0,0 @@ -/****************************************************************************** - * - * Name: acmacros.h - C macros for the entire subsystem. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACMACROS_H__ -#define __ACMACROS_H__ - - -/* - * Extract data using a pointer. Any more than a byte and we - * get into potential alignment issues -- see the STORE macros below. - * Use with care. - */ -#define ACPI_CAST8(ptr) ACPI_CAST_PTR (UINT8, (ptr)) -#define ACPI_CAST16(ptr) ACPI_CAST_PTR (UINT16, (ptr)) -#define ACPI_CAST32(ptr) ACPI_CAST_PTR (UINT32, (ptr)) -#define ACPI_CAST64(ptr) ACPI_CAST_PTR (UINT64, (ptr)) -#define ACPI_GET8(ptr) (*ACPI_CAST8 (ptr)) -#define ACPI_GET16(ptr) (*ACPI_CAST16 (ptr)) -#define ACPI_GET32(ptr) (*ACPI_CAST32 (ptr)) -#define ACPI_GET64(ptr) (*ACPI_CAST64 (ptr)) -#define ACPI_SET8(ptr, val) (*ACPI_CAST8 (ptr) = (UINT8) (val)) -#define ACPI_SET16(ptr, val) (*ACPI_CAST16 (ptr) = (UINT16) (val)) -#define ACPI_SET32(ptr, val) (*ACPI_CAST32 (ptr) = (UINT32) (val)) -#define ACPI_SET64(ptr, val) (*ACPI_CAST64 (ptr) = (UINT64) (val)) - -/* - * printf() format helper. This macro is a workaround for the difficulties - * with emitting 64-bit integers and 64-bit pointers with the same code - * for both 32-bit and 64-bit hosts. - */ -#define ACPI_FORMAT_UINT64(i) ACPI_HIDWORD(i), ACPI_LODWORD(i) - - -/* - * Macros for moving data around to/from buffers that are possibly unaligned. - * If the hardware supports the transfer of unaligned data, just do the store. - * Otherwise, we have to move one byte at a time. - */ -#ifdef ACPI_BIG_ENDIAN -/* - * Macros for big-endian machines - */ - -/* These macros reverse the bytes during the move, converting little-endian to big endian */ - - /* Big Endian <== Little Endian */ - /* Hi...Lo Lo...Hi */ -/* 16-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_16_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[1];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[0];} - -#define ACPI_MOVE_16_TO_32(d, s) {(*(UINT32 *)(void *)(d))=0;\ - ((UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[1];\ - ((UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[0];} - -#define ACPI_MOVE_16_TO_64(d, s) {(*(UINT64 *)(void *)(d))=0;\ - ((UINT8 *)(void *)(d))[6] = ((UINT8 *)(void *)(s))[1];\ - ((UINT8 *)(void *)(d))[7] = ((UINT8 *)(void *)(s))[0];} - -/* 32-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_32_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ - -#define ACPI_MOVE_32_TO_32(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[3];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[2];\ - (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[1];\ - (( UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[0];} - -#define ACPI_MOVE_32_TO_64(d, s) {(*(UINT64 *)(void *)(d))=0;\ - ((UINT8 *)(void *)(d))[4] = ((UINT8 *)(void *)(s))[3];\ - ((UINT8 *)(void *)(d))[5] = ((UINT8 *)(void *)(s))[2];\ - ((UINT8 *)(void *)(d))[6] = ((UINT8 *)(void *)(s))[1];\ - ((UINT8 *)(void *)(d))[7] = ((UINT8 *)(void *)(s))[0];} - -/* 64-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ - -#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */ - -#define ACPI_MOVE_64_TO_64(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[7];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[6];\ - (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[5];\ - (( UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[4];\ - (( UINT8 *)(void *)(d))[4] = ((UINT8 *)(void *)(s))[3];\ - (( UINT8 *)(void *)(d))[5] = ((UINT8 *)(void *)(s))[2];\ - (( UINT8 *)(void *)(d))[6] = ((UINT8 *)(void *)(s))[1];\ - (( UINT8 *)(void *)(d))[7] = ((UINT8 *)(void *)(s))[0];} -#else -/* - * Macros for little-endian machines - */ - -#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED - -/* The hardware supports unaligned transfers, just do the little-endian move */ - -/* 16-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_16_TO_16(d, s) *(UINT16 *)(void *)(d) = *(UINT16 *)(void *)(s) -#define ACPI_MOVE_16_TO_32(d, s) *(UINT32 *)(void *)(d) = *(UINT16 *)(void *)(s) -#define ACPI_MOVE_16_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT16 *)(void *)(s) - -/* 32-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_32_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ -#define ACPI_MOVE_32_TO_32(d, s) *(UINT32 *)(void *)(d) = *(UINT32 *)(void *)(s) -#define ACPI_MOVE_32_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT32 *)(void *)(s) - -/* 64-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ -#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */ -#define ACPI_MOVE_64_TO_64(d, s) *(UINT64 *)(void *)(d) = *(UINT64 *)(void *)(s) - -#else -/* - * The hardware does not support unaligned transfers. We must move the - * data one byte at a time. These macros work whether the source or - * the destination (or both) is/are unaligned. (Little-endian move) - */ - -/* 16-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_16_TO_16(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];} - -#define ACPI_MOVE_16_TO_32(d, s) {(*(UINT32 *)(void *)(d)) = 0; ACPI_MOVE_16_TO_16(d, s);} -#define ACPI_MOVE_16_TO_64(d, s) {(*(UINT64 *)(void *)(d)) = 0; ACPI_MOVE_16_TO_16(d, s);} - -/* 32-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_32_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ - -#define ACPI_MOVE_32_TO_32(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];\ - (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[2];\ - (( UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[3];} - -#define ACPI_MOVE_32_TO_64(d, s) {(*(UINT64 *)(void *)(d)) = 0; ACPI_MOVE_32_TO_32(d, s);} - -/* 64-bit source, 16/32/64 destination */ - -#define ACPI_MOVE_64_TO_16(d, s) ACPI_MOVE_16_TO_16(d, s) /* Truncate to 16 */ -#define ACPI_MOVE_64_TO_32(d, s) ACPI_MOVE_32_TO_32(d, s) /* Truncate to 32 */ -#define ACPI_MOVE_64_TO_64(d, s) {(( UINT8 *)(void *)(d))[0] = ((UINT8 *)(void *)(s))[0];\ - (( UINT8 *)(void *)(d))[1] = ((UINT8 *)(void *)(s))[1];\ - (( UINT8 *)(void *)(d))[2] = ((UINT8 *)(void *)(s))[2];\ - (( UINT8 *)(void *)(d))[3] = ((UINT8 *)(void *)(s))[3];\ - (( UINT8 *)(void *)(d))[4] = ((UINT8 *)(void *)(s))[4];\ - (( UINT8 *)(void *)(d))[5] = ((UINT8 *)(void *)(s))[5];\ - (( UINT8 *)(void *)(d))[6] = ((UINT8 *)(void *)(s))[6];\ - (( UINT8 *)(void *)(d))[7] = ((UINT8 *)(void *)(s))[7];} -#endif -#endif - - -/* - * Fast power-of-two math macros for non-optimized compilers - */ -#define _ACPI_DIV(value, PowerOf2) ((UINT32) ((value) >> (PowerOf2))) -#define _ACPI_MUL(value, PowerOf2) ((UINT32) ((value) << (PowerOf2))) -#define _ACPI_MOD(value, Divisor) ((UINT32) ((value) & ((Divisor) -1))) - -#define ACPI_DIV_2(a) _ACPI_DIV(a, 1) -#define ACPI_MUL_2(a) _ACPI_MUL(a, 1) -#define ACPI_MOD_2(a) _ACPI_MOD(a, 2) - -#define ACPI_DIV_4(a) _ACPI_DIV(a, 2) -#define ACPI_MUL_4(a) _ACPI_MUL(a, 2) -#define ACPI_MOD_4(a) _ACPI_MOD(a, 4) - -#define ACPI_DIV_8(a) _ACPI_DIV(a, 3) -#define ACPI_MUL_8(a) _ACPI_MUL(a, 3) -#define ACPI_MOD_8(a) _ACPI_MOD(a, 8) - -#define ACPI_DIV_16(a) _ACPI_DIV(a, 4) -#define ACPI_MUL_16(a) _ACPI_MUL(a, 4) -#define ACPI_MOD_16(a) _ACPI_MOD(a, 16) - -#define ACPI_DIV_32(a) _ACPI_DIV(a, 5) -#define ACPI_MUL_32(a) _ACPI_MUL(a, 5) -#define ACPI_MOD_32(a) _ACPI_MOD(a, 32) - -/* Test for ASCII character */ - -#define ACPI_IS_ASCII(c) ((c) < 0x80) - -/* Signed integers */ - -#define ACPI_SIGN_POSITIVE 0 -#define ACPI_SIGN_NEGATIVE 1 - - -/* - * Rounding macros (Power of two boundaries only) - */ -#define ACPI_ROUND_DOWN(value, boundary) (((ACPI_SIZE)(value)) & \ - (~(((ACPI_SIZE) boundary)-1))) - -#define ACPI_ROUND_UP(value, boundary) ((((ACPI_SIZE)(value)) + \ - (((ACPI_SIZE) boundary)-1)) & \ - (~(((ACPI_SIZE) boundary)-1))) - -/* Note: sizeof(ACPI_SIZE) evaluates to either 4 or 8 (32- vs 64-bit mode) */ - -#define ACPI_ROUND_DOWN_TO_32BIT(a) ACPI_ROUND_DOWN(a, 4) -#define ACPI_ROUND_DOWN_TO_64BIT(a) ACPI_ROUND_DOWN(a, 8) -#define ACPI_ROUND_DOWN_TO_NATIVE_WORD(a) ACPI_ROUND_DOWN(a, sizeof(ACPI_SIZE)) - -#define ACPI_ROUND_UP_TO_32BIT(a) ACPI_ROUND_UP(a, 4) -#define ACPI_ROUND_UP_TO_64BIT(a) ACPI_ROUND_UP(a, 8) -#define ACPI_ROUND_UP_TO_NATIVE_WORD(a) ACPI_ROUND_UP(a, sizeof(ACPI_SIZE)) - -#define ACPI_ROUND_BITS_UP_TO_BYTES(a) ACPI_DIV_8((a) + 7) -#define ACPI_ROUND_BITS_DOWN_TO_BYTES(a) ACPI_DIV_8((a)) - -#define ACPI_ROUND_UP_TO_1K(a) (((a) + 1023) >> 10) - -/* Generic (non-power-of-two) rounding */ - -#define ACPI_ROUND_UP_TO(value, boundary) (((value) + ((boundary)-1)) / (boundary)) - -#define ACPI_IS_MISALIGNED(value) (((ACPI_SIZE) value) & (sizeof(ACPI_SIZE)-1)) - -/* Generic bit manipulation */ - -#ifndef ACPI_USE_NATIVE_BIT_FINDER - -#define __ACPI_FIND_LAST_BIT_2(a, r) ((((UINT8) (a)) & 0x02) ? (r)+1 : (r)) -#define __ACPI_FIND_LAST_BIT_4(a, r) ((((UINT8) (a)) & 0x0C) ? \ - __ACPI_FIND_LAST_BIT_2 ((a)>>2, (r)+2) : \ - __ACPI_FIND_LAST_BIT_2 ((a), (r))) -#define __ACPI_FIND_LAST_BIT_8(a, r) ((((UINT8) (a)) & 0xF0) ? \ - __ACPI_FIND_LAST_BIT_4 ((a)>>4, (r)+4) : \ - __ACPI_FIND_LAST_BIT_4 ((a), (r))) -#define __ACPI_FIND_LAST_BIT_16(a, r) ((((UINT16) (a)) & 0xFF00) ? \ - __ACPI_FIND_LAST_BIT_8 ((a)>>8, (r)+8) : \ - __ACPI_FIND_LAST_BIT_8 ((a), (r))) -#define __ACPI_FIND_LAST_BIT_32(a, r) ((((UINT32) (a)) & 0xFFFF0000) ? \ - __ACPI_FIND_LAST_BIT_16 ((a)>>16, (r)+16) : \ - __ACPI_FIND_LAST_BIT_16 ((a), (r))) -#define __ACPI_FIND_LAST_BIT_64(a, r) ((((UINT64) (a)) & 0xFFFFFFFF00000000) ? \ - __ACPI_FIND_LAST_BIT_32 ((a)>>32, (r)+32) : \ - __ACPI_FIND_LAST_BIT_32 ((a), (r))) - -#define ACPI_FIND_LAST_BIT_8(a) ((a) ? __ACPI_FIND_LAST_BIT_8 (a, 1) : 0) -#define ACPI_FIND_LAST_BIT_16(a) ((a) ? __ACPI_FIND_LAST_BIT_16 (a, 1) : 0) -#define ACPI_FIND_LAST_BIT_32(a) ((a) ? __ACPI_FIND_LAST_BIT_32 (a, 1) : 0) -#define ACPI_FIND_LAST_BIT_64(a) ((a) ? __ACPI_FIND_LAST_BIT_64 (a, 1) : 0) - -#define __ACPI_FIND_FIRST_BIT_2(a, r) ((((UINT8) (a)) & 0x01) ? (r) : (r)+1) -#define __ACPI_FIND_FIRST_BIT_4(a, r) ((((UINT8) (a)) & 0x03) ? \ - __ACPI_FIND_FIRST_BIT_2 ((a), (r)) : \ - __ACPI_FIND_FIRST_BIT_2 ((a)>>2, (r)+2)) -#define __ACPI_FIND_FIRST_BIT_8(a, r) ((((UINT8) (a)) & 0x0F) ? \ - __ACPI_FIND_FIRST_BIT_4 ((a), (r)) : \ - __ACPI_FIND_FIRST_BIT_4 ((a)>>4, (r)+4)) -#define __ACPI_FIND_FIRST_BIT_16(a, r) ((((UINT16) (a)) & 0x00FF) ? \ - __ACPI_FIND_FIRST_BIT_8 ((a), (r)) : \ - __ACPI_FIND_FIRST_BIT_8 ((a)>>8, (r)+8)) -#define __ACPI_FIND_FIRST_BIT_32(a, r) ((((UINT32) (a)) & 0x0000FFFF) ? \ - __ACPI_FIND_FIRST_BIT_16 ((a), (r)) : \ - __ACPI_FIND_FIRST_BIT_16 ((a)>>16, (r)+16)) -#define __ACPI_FIND_FIRST_BIT_64(a, r) ((((UINT64) (a)) & 0x00000000FFFFFFFF) ? \ - __ACPI_FIND_FIRST_BIT_32 ((a), (r)) : \ - __ACPI_FIND_FIRST_BIT_32 ((a)>>32, (r)+32)) - -#define ACPI_FIND_FIRST_BIT_8(a) ((a) ? __ACPI_FIND_FIRST_BIT_8 (a, 1) : 0) -#define ACPI_FIND_FIRST_BIT_16(a) ((a) ? __ACPI_FIND_FIRST_BIT_16 (a, 1) : 0) -#define ACPI_FIND_FIRST_BIT_32(a) ((a) ? __ACPI_FIND_FIRST_BIT_32 (a, 1) : 0) -#define ACPI_FIND_FIRST_BIT_64(a) ((a) ? __ACPI_FIND_FIRST_BIT_64 (a, 1) : 0) - -#endif /* ACPI_USE_NATIVE_BIT_FINDER */ - -/* Generic (power-of-two) rounding */ - -#define ACPI_ROUND_UP_POWER_OF_TWO_8(a) ((UINT8) \ - (((UINT16) 1) << ACPI_FIND_LAST_BIT_8 ((a) - 1))) -#define ACPI_ROUND_DOWN_POWER_OF_TWO_8(a) ((UINT8) \ - (((UINT16) 1) << (ACPI_FIND_LAST_BIT_8 ((a)) - 1))) -#define ACPI_ROUND_UP_POWER_OF_TWO_16(a) ((UINT16) \ - (((UINT32) 1) << ACPI_FIND_LAST_BIT_16 ((a) - 1))) -#define ACPI_ROUND_DOWN_POWER_OF_TWO_16(a) ((UINT16) \ - (((UINT32) 1) << (ACPI_FIND_LAST_BIT_16 ((a)) - 1))) -#define ACPI_ROUND_UP_POWER_OF_TWO_32(a) ((UINT32) \ - (((UINT64) 1) << ACPI_FIND_LAST_BIT_32 ((a) - 1))) -#define ACPI_ROUND_DOWN_POWER_OF_TWO_32(a) ((UINT32) \ - (((UINT64) 1) << (ACPI_FIND_LAST_BIT_32 ((a)) - 1))) -#define ACPI_IS_ALIGNED(a, s) (((a) & ((s) - 1)) == 0) -#define ACPI_IS_POWER_OF_TWO(a) ACPI_IS_ALIGNED(a, a) - -/* - * Bitmask creation - * Bit positions start at zero. - * MASK_BITS_ABOVE creates a mask starting AT the position and above - * MASK_BITS_BELOW creates a mask starting one bit BELOW the position - * MASK_BITS_ABOVE/BELOW accepts a bit offset to create a mask - * MASK_BITS_ABOVE/BELOW_32/64 accepts a bit width to create a mask - * Note: The ACPI_INTEGER_BIT_SIZE check is used to bypass compiler - * differences with the shift operator - */ -#define ACPI_MASK_BITS_ABOVE(position) (~((ACPI_UINT64_MAX) << ((UINT32) (position)))) -#define ACPI_MASK_BITS_BELOW(position) ((ACPI_UINT64_MAX) << ((UINT32) (position))) -#define ACPI_MASK_BITS_ABOVE_32(width) ((UINT32) ACPI_MASK_BITS_ABOVE(width)) -#define ACPI_MASK_BITS_BELOW_32(width) ((UINT32) ACPI_MASK_BITS_BELOW(width)) -#define ACPI_MASK_BITS_ABOVE_64(width) ((width) == ACPI_INTEGER_BIT_SIZE ? \ - ACPI_UINT64_MAX : \ - ACPI_MASK_BITS_ABOVE(width)) -#define ACPI_MASK_BITS_BELOW_64(width) ((width) == ACPI_INTEGER_BIT_SIZE ? \ - (UINT64) 0 : \ - ACPI_MASK_BITS_BELOW(width)) - -/* Bitfields within ACPI registers */ - -#define ACPI_REGISTER_PREPARE_BITS(Val, Pos, Mask) \ - ((Val << Pos) & Mask) - -#define ACPI_REGISTER_INSERT_VALUE(Reg, Pos, Mask, Val) \ - Reg = (Reg & (~(Mask))) | ACPI_REGISTER_PREPARE_BITS(Val, Pos, Mask) - -#define ACPI_INSERT_BITS(Target, Mask, Source) \ - Target = ((Target & (~(Mask))) | (Source & Mask)) - -/* Generic bitfield macros and masks */ - -#define ACPI_GET_BITS(SourcePtr, Position, Mask) \ - ((*(SourcePtr) >> (Position)) & (Mask)) - -#define ACPI_SET_BITS(TargetPtr, Position, Mask, Value) \ - (*(TargetPtr) |= (((Value) & (Mask)) << (Position))) - -#define ACPI_1BIT_MASK 0x00000001 -#define ACPI_2BIT_MASK 0x00000003 -#define ACPI_3BIT_MASK 0x00000007 -#define ACPI_4BIT_MASK 0x0000000F -#define ACPI_5BIT_MASK 0x0000001F -#define ACPI_6BIT_MASK 0x0000003F -#define ACPI_7BIT_MASK 0x0000007F -#define ACPI_8BIT_MASK 0x000000FF -#define ACPI_16BIT_MASK 0x0000FFFF -#define ACPI_24BIT_MASK 0x00FFFFFF - -/* Macros to extract flag bits from position zero */ - -#define ACPI_GET_1BIT_FLAG(Value) ((Value) & ACPI_1BIT_MASK) -#define ACPI_GET_2BIT_FLAG(Value) ((Value) & ACPI_2BIT_MASK) -#define ACPI_GET_3BIT_FLAG(Value) ((Value) & ACPI_3BIT_MASK) -#define ACPI_GET_4BIT_FLAG(Value) ((Value) & ACPI_4BIT_MASK) - -/* Macros to extract flag bits from position one and above */ - -#define ACPI_EXTRACT_1BIT_FLAG(Field, Position) (ACPI_GET_1BIT_FLAG ((Field) >> Position)) -#define ACPI_EXTRACT_2BIT_FLAG(Field, Position) (ACPI_GET_2BIT_FLAG ((Field) >> Position)) -#define ACPI_EXTRACT_3BIT_FLAG(Field, Position) (ACPI_GET_3BIT_FLAG ((Field) >> Position)) -#define ACPI_EXTRACT_4BIT_FLAG(Field, Position) (ACPI_GET_4BIT_FLAG ((Field) >> Position)) - -/* ACPI Pathname helpers */ - -#define ACPI_IS_ROOT_PREFIX(c) ((c) == (UINT8) 0x5C) /* Backslash */ -#define ACPI_IS_PARENT_PREFIX(c) ((c) == (UINT8) 0x5E) /* Carat */ -#define ACPI_IS_PATH_SEPARATOR(c) ((c) == (UINT8) 0x2E) /* Period (dot) */ - -/* - * An object of type ACPI_NAMESPACE_NODE can appear in some contexts - * where a pointer to an object of type ACPI_OPERAND_OBJECT can also - * appear. This macro is used to distinguish them. - * - * The "DescriptorType" field is the second field in both structures. - */ -#define ACPI_GET_DESCRIPTOR_PTR(d) (((ACPI_DESCRIPTOR *)(void *)(d))->Common.CommonPointer) -#define ACPI_SET_DESCRIPTOR_PTR(d, p) (((ACPI_DESCRIPTOR *)(void *)(d))->Common.CommonPointer = (p)) -#define ACPI_GET_DESCRIPTOR_TYPE(d) (((ACPI_DESCRIPTOR *)(void *)(d))->Common.DescriptorType) -#define ACPI_SET_DESCRIPTOR_TYPE(d, t) (((ACPI_DESCRIPTOR *)(void *)(d))->Common.DescriptorType = (t)) - -/* - * Macros for the master AML opcode table - */ -#if defined (ACPI_DISASSEMBLER) || defined (ACPI_DEBUG_OUTPUT) -#define ACPI_OP(Name, PArgs, IArgs, ObjType, Class, Type, Flags) \ - {Name, (UINT32)(PArgs), (UINT32)(IArgs), (UINT32)(Flags), ObjType, Class, Type} -#else -#define ACPI_OP(Name, PArgs, IArgs, ObjType, Class, Type, Flags) \ - {(UINT32)(PArgs), (UINT32)(IArgs), (UINT32)(Flags), ObjType, Class, Type} -#endif - -#define ARG_TYPE_WIDTH 5 -#define ARG_1(x) ((UINT32)(x)) -#define ARG_2(x) ((UINT32)(x) << (1 * ARG_TYPE_WIDTH)) -#define ARG_3(x) ((UINT32)(x) << (2 * ARG_TYPE_WIDTH)) -#define ARG_4(x) ((UINT32)(x) << (3 * ARG_TYPE_WIDTH)) -#define ARG_5(x) ((UINT32)(x) << (4 * ARG_TYPE_WIDTH)) -#define ARG_6(x) ((UINT32)(x) << (5 * ARG_TYPE_WIDTH)) - -#define ARGI_LIST1(a) (ARG_1(a)) -#define ARGI_LIST2(a, b) (ARG_1(b)|ARG_2(a)) -#define ARGI_LIST3(a, b, c) (ARG_1(c)|ARG_2(b)|ARG_3(a)) -#define ARGI_LIST4(a, b, c, d) (ARG_1(d)|ARG_2(c)|ARG_3(b)|ARG_4(a)) -#define ARGI_LIST5(a, b, c, d, e) (ARG_1(e)|ARG_2(d)|ARG_3(c)|ARG_4(b)|ARG_5(a)) -#define ARGI_LIST6(a, b, c, d, e, f) (ARG_1(f)|ARG_2(e)|ARG_3(d)|ARG_4(c)|ARG_5(b)|ARG_6(a)) - -#define ARGP_LIST1(a) (ARG_1(a)) -#define ARGP_LIST2(a, b) (ARG_1(a)|ARG_2(b)) -#define ARGP_LIST3(a, b, c) (ARG_1(a)|ARG_2(b)|ARG_3(c)) -#define ARGP_LIST4(a, b, c, d) (ARG_1(a)|ARG_2(b)|ARG_3(c)|ARG_4(d)) -#define ARGP_LIST5(a, b, c, d, e) (ARG_1(a)|ARG_2(b)|ARG_3(c)|ARG_4(d)|ARG_5(e)) -#define ARGP_LIST6(a, b, c, d, e, f) (ARG_1(a)|ARG_2(b)|ARG_3(c)|ARG_4(d)|ARG_5(e)|ARG_6(f)) - -#define GET_CURRENT_ARG_TYPE(List) (List & ((UINT32) 0x1F)) -#define INCREMENT_ARG_LIST(List) (List >>= ((UINT32) ARG_TYPE_WIDTH)) - -/* - * Ascii error messages can be configured out - */ -#ifndef ACPI_NO_ERROR_MESSAGES -/* - * Error reporting. The callers module and line number are inserted by AE_INFO, - * the plist contains a set of parens to allow variable-length lists. - * These macros are used for both the debug and non-debug versions of the code. - */ -#define ACPI_ERROR_NAMESPACE(s, p, e) AcpiUtPrefixedNamespaceError (AE_INFO, s, p, e); -#define ACPI_ERROR_METHOD(s, n, p, e) AcpiUtMethodError (AE_INFO, s, n, p, e); -#define ACPI_WARN_PREDEFINED(plist) AcpiUtPredefinedWarning plist -#define ACPI_INFO_PREDEFINED(plist) AcpiUtPredefinedInfo plist -#define ACPI_BIOS_ERROR_PREDEFINED(plist) AcpiUtPredefinedBiosError plist -#define ACPI_ERROR_ONLY(s) s - -#else - -/* No error messages */ - -#define ACPI_ERROR_NAMESPACE(s, p, e) -#define ACPI_ERROR_METHOD(s, n, p, e) -#define ACPI_WARN_PREDEFINED(plist) -#define ACPI_INFO_PREDEFINED(plist) -#define ACPI_BIOS_ERROR_PREDEFINED(plist) -#define ACPI_ERROR_ONLY(s) - -#endif /* ACPI_NO_ERROR_MESSAGES */ - -#if (!ACPI_REDUCED_HARDWARE) -#define ACPI_HW_OPTIONAL_FUNCTION(addr) addr -#else -#define ACPI_HW_OPTIONAL_FUNCTION(addr) NULL -#endif - - -/* - * Macros used for ACPICA utilities only - */ - -/* Generate a UUID */ - -#define ACPI_INIT_UUID(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \ - (a) & 0xFF, ((a) >> 8) & 0xFF, ((a) >> 16) & 0xFF, ((a) >> 24) & 0xFF, \ - (b) & 0xFF, ((b) >> 8) & 0xFF, \ - (c) & 0xFF, ((c) >> 8) & 0xFF, \ - (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) - -#define ACPI_IS_OCTAL_DIGIT(d) (((char)(d) >= '0') && ((char)(d) <= '7')) - - -/* - * Macros used for the ASL-/ASL+ converter utility - */ -#ifdef ACPI_ASL_COMPILER - -#define ASL_CV_LABEL_FILENODE(a) CvLabelFileNode(a); -#define ASL_CV_CAPTURE_COMMENTS_ONLY(a) CvCaptureCommentsOnly (a); -#define ASL_CV_CAPTURE_COMMENTS(a) CvCaptureComments (a); -#define ASL_CV_TRANSFER_COMMENTS(a) CvTransferComments (a); -#define ASL_CV_CLOSE_PAREN(a,b) CvCloseParenWriteComment(a,b); -#define ASL_CV_CLOSE_BRACE(a,b) CvCloseBraceWriteComment(a,b); -#define ASL_CV_SWITCH_FILES(a,b) CvSwitchFiles(a,b); -#define ASL_CV_CLEAR_OP_COMMENTS(a) CvClearOpComments(a); -#define ASL_CV_PRINT_ONE_COMMENT(a,b,c,d) CvPrintOneCommentType (a,b,c,d); -#define ASL_CV_PRINT_ONE_COMMENT_LIST(a,b) CvPrintOneCommentList (a,b); -#define ASL_CV_FILE_HAS_SWITCHED(a) CvFileHasSwitched(a) -#define ASL_CV_INIT_FILETREE(a,b) CvInitFileTree(a,b); - -#else - -#define ASL_CV_LABEL_FILENODE(a) -#define ASL_CV_CAPTURE_COMMENTS_ONLY(a) -#define ASL_CV_CAPTURE_COMMENTS(a) -#define ASL_CV_TRANSFER_COMMENTS(a) -#define ASL_CV_CLOSE_PAREN(a,b) AcpiOsPrintf (")"); -#define ASL_CV_CLOSE_BRACE(a,b) AcpiOsPrintf ("}"); -#define ASL_CV_SWITCH_FILES(a,b) -#define ASL_CV_CLEAR_OP_COMMENTS(a) -#define ASL_CV_PRINT_ONE_COMMENT(a,b,c,d) -#define ASL_CV_PRINT_ONE_COMMENT_LIST(a,b) -#define ASL_CV_FILE_HAS_SWITCHED(a) 0 -#define ASL_CV_INIT_FILETREE(a,b) - -#endif - -#endif /* ACMACROS_H */ diff --git a/Private/acpiSDK/source/include/acnames.h b/Private/acpiSDK/source/include/acnames.h deleted file mode 100644 index e9f0af8c..00000000 --- a/Private/acpiSDK/source/include/acnames.h +++ /dev/null @@ -1,206 +0,0 @@ -/****************************************************************************** - * - * Name: acnames.h - Global names and strings - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACNAMES_H__ -#define __ACNAMES_H__ - -/* Method names - these methods can appear anywhere in the namespace */ - -#define METHOD_NAME__ADR "_ADR" -#define METHOD_NAME__AEI "_AEI" -#define METHOD_NAME__BBN "_BBN" -#define METHOD_NAME__CBA "_CBA" -#define METHOD_NAME__CID "_CID" -#define METHOD_NAME__CLS "_CLS" -#define METHOD_NAME__CRS "_CRS" -#define METHOD_NAME__DDN "_DDN" -#define METHOD_NAME__DIS "_DIS" -#define METHOD_NAME__DMA "_DMA" -#define METHOD_NAME__EVT "_EVT" -#define METHOD_NAME__HID "_HID" -#define METHOD_NAME__INI "_INI" -#define METHOD_NAME__PLD "_PLD" -#define METHOD_NAME__DSD "_DSD" -#define METHOD_NAME__PRS "_PRS" -#define METHOD_NAME__PRT "_PRT" -#define METHOD_NAME__PRW "_PRW" -#define METHOD_NAME__PS0 "_PS0" -#define METHOD_NAME__PS1 "_PS1" -#define METHOD_NAME__PS2 "_PS2" -#define METHOD_NAME__PS3 "_PS3" -#define METHOD_NAME__REG "_REG" -#define METHOD_NAME__SB_ "_SB_" -#define METHOD_NAME__SEG "_SEG" -#define METHOD_NAME__SRS "_SRS" -#define METHOD_NAME__STA "_STA" -#define METHOD_NAME__SUB "_SUB" -#define METHOD_NAME__UID "_UID" - -/* Method names - these methods must appear at the namespace root */ - -#define METHOD_PATHNAME__PTS "\\_PTS" -#define METHOD_PATHNAME__SST "\\_SI._SST" -#define METHOD_PATHNAME__WAK "\\_WAK" - -/* Definitions of the predefined namespace names */ - -#define ACPI_UNKNOWN_NAME (UINT32) 0x3F3F3F3F /* Unknown name is "????" */ -#define ACPI_PREFIX_MIXED (UINT32) 0x69706341 /* "Acpi" */ -#define ACPI_PREFIX_LOWER (UINT32) 0x69706361 /* "acpi" */ - -/* Root name stuff */ - -#define ACPI_ROOT_NAME (UINT32) 0x5F5F5F5C /* Root name is "\___" */ -#define ACPI_ROOT_PATHNAME "\\___" -#define ACPI_NAMESPACE_ROOT "Namespace Root" -#define ACPI_NS_ROOT_PATH "\\" - -#endif /* __ACNAMES_H__ */ diff --git a/Private/acpiSDK/source/include/acnamesp.h b/Private/acpiSDK/source/include/acnamesp.h deleted file mode 100644 index 432d9d44..00000000 --- a/Private/acpiSDK/source/include/acnamesp.h +++ /dev/null @@ -1,693 +0,0 @@ -/****************************************************************************** - * - * Name: acnamesp.h - Namespace subcomponent prototypes and defines - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACNAMESP_H__ -#define __ACNAMESP_H__ - - -/* To search the entire name space, pass this as SearchBase */ - -#define ACPI_NS_ALL ((ACPI_HANDLE)0) - -/* - * Elements of AcpiNsProperties are bit significant - * and should be one-to-one with values of ACPI_OBJECT_TYPE - */ -#define ACPI_NS_NORMAL 0 -#define ACPI_NS_NEWSCOPE 1 /* a definition of this type opens a name scope */ -#define ACPI_NS_LOCAL 2 /* suppress search of enclosing scopes */ - -/* Flags for AcpiNsLookup, AcpiNsSearchAndEnter */ - -#define ACPI_NS_NO_UPSEARCH 0 -#define ACPI_NS_SEARCH_PARENT 0x0001 -#define ACPI_NS_DONT_OPEN_SCOPE 0x0002 -#define ACPI_NS_NO_PEER_SEARCH 0x0004 -#define ACPI_NS_ERROR_IF_FOUND 0x0008 -#define ACPI_NS_PREFIX_IS_SCOPE 0x0010 -#define ACPI_NS_EXTERNAL 0x0020 -#define ACPI_NS_TEMPORARY 0x0040 -#define ACPI_NS_OVERRIDE_IF_FOUND 0x0080 -#define ACPI_NS_EARLY_INIT 0x0100 -#define ACPI_NS_PREFIX_MUST_EXIST 0x0200 - -/* Flags for AcpiNsWalkNamespace */ - -#define ACPI_NS_WALK_NO_UNLOCK 0 -#define ACPI_NS_WALK_UNLOCK 0x01 -#define ACPI_NS_WALK_TEMP_NODES 0x02 - -/* Object is not a package element */ - -#define ACPI_NOT_PACKAGE_ELEMENT ACPI_UINT32_MAX -#define ACPI_ALL_PACKAGE_ELEMENTS (ACPI_UINT32_MAX-1) - -/* Always emit warning message, not dependent on node flags */ - -#define ACPI_WARN_ALWAYS 0 - - -/* - * nsinit - Namespace initialization - */ -ACPI_STATUS -AcpiNsInitializeObjects ( - void); - -ACPI_STATUS -AcpiNsInitializeDevices ( - UINT32 Flags); - -ACPI_STATUS -AcpiNsInitOnePackage ( - ACPI_HANDLE ObjHandle, - UINT32 Level, - void *Context, - void **ReturnValue); - -/* - * nsload - Namespace loading - */ -ACPI_STATUS -AcpiNsLoadNamespace ( - void); - -ACPI_STATUS -AcpiNsLoadTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *Node); - - -/* - * nswalk - walk the namespace - */ -ACPI_STATUS -AcpiNsWalkNamespace ( - ACPI_OBJECT_TYPE Type, - ACPI_HANDLE StartObject, - UINT32 MaxDepth, - UINT32 Flags, - ACPI_WALK_CALLBACK DescendingCallback, - ACPI_WALK_CALLBACK AscendingCallback, - void *Context, - void **ReturnValue); - -ACPI_NAMESPACE_NODE * -AcpiNsGetNextNode ( - ACPI_NAMESPACE_NODE *Parent, - ACPI_NAMESPACE_NODE *Child); - -ACPI_NAMESPACE_NODE * -AcpiNsGetNextNodeTyped ( - ACPI_OBJECT_TYPE Type, - ACPI_NAMESPACE_NODE *Parent, - ACPI_NAMESPACE_NODE *Child); - -/* - * nsparse - table parsing - */ -ACPI_STATUS -AcpiNsParseTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode); - -ACPI_STATUS -AcpiNsExecuteTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode); - -ACPI_STATUS -AcpiNsOneCompleteParse ( - UINT32 PassNumber, - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *StartNode); - - -/* - * nsaccess - Top-level namespace access - */ -ACPI_STATUS -AcpiNsRootInitialize ( - void); - -ACPI_STATUS -AcpiNsLookup ( - ACPI_GENERIC_STATE *ScopeInfo, - char *Name, - ACPI_OBJECT_TYPE Type, - ACPI_INTERPRETER_MODE InterpreterMode, - UINT32 Flags, - ACPI_WALK_STATE *WalkState, - ACPI_NAMESPACE_NODE **RetNode); - - -/* - * nsalloc - Named object allocation/deallocation - */ -ACPI_NAMESPACE_NODE * -AcpiNsCreateNode ( - UINT32 Name); - -void -AcpiNsDeleteNode ( - ACPI_NAMESPACE_NODE *Node); - -void -AcpiNsRemoveNode ( - ACPI_NAMESPACE_NODE *Node); - -void -AcpiNsDeleteNamespaceSubtree ( - ACPI_NAMESPACE_NODE *ParentHandle); - -void -AcpiNsDeleteNamespaceByOwner ( - ACPI_OWNER_ID OwnerId); - -void -AcpiNsDetachObject ( - ACPI_NAMESPACE_NODE *Node); - -void -AcpiNsDeleteChildren ( - ACPI_NAMESPACE_NODE *Parent); - -int -AcpiNsCompareNames ( - char *Name1, - char *Name2); - - -/* - * nsconvert - Dynamic object conversion routines - */ -ACPI_STATUS -AcpiNsConvertToInteger ( - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsConvertToString ( - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsConvertToBuffer ( - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsConvertToUnicode ( - ACPI_NAMESPACE_NODE *Scope, - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsConvertToResource ( - ACPI_NAMESPACE_NODE *Scope, - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsConvertToReference ( - ACPI_NAMESPACE_NODE *Scope, - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ReturnObject); - - -/* - * nsdump - Namespace dump/print utilities - */ -void -AcpiNsDumpTables ( - ACPI_HANDLE SearchBase, - UINT32 MaxDepth); - -void -AcpiNsDumpEntry ( - ACPI_HANDLE Handle, - UINT32 DebugLevel); - -void -AcpiNsDumpPathname ( - ACPI_HANDLE Handle, - const char *Msg, - UINT32 Level, - UINT32 Component); - -void -AcpiNsPrintPathname ( - UINT32 NumSegments, - const char *Pathname); - -ACPI_STATUS -AcpiNsDumpOneObject ( - ACPI_HANDLE ObjHandle, - UINT32 Level, - void *Context, - void **ReturnValue); - -void -AcpiNsDumpObjects ( - ACPI_OBJECT_TYPE Type, - UINT8 DisplayType, - UINT32 MaxDepth, - ACPI_OWNER_ID OwnerId, - ACPI_HANDLE StartHandle); - -void -AcpiNsDumpObjectPaths ( - ACPI_OBJECT_TYPE Type, - UINT8 DisplayType, - UINT32 MaxDepth, - ACPI_OWNER_ID OwnerId, - ACPI_HANDLE StartHandle); - - -/* - * nseval - Namespace evaluation functions - */ -ACPI_STATUS -AcpiNsEvaluate ( - ACPI_EVALUATE_INFO *Info); - - -/* - * nsarguments - Argument count/type checking for predefined/reserved names - */ -void -AcpiNsCheckArgumentCount ( - char *Pathname, - ACPI_NAMESPACE_NODE *Node, - UINT32 UserParamCount, - const ACPI_PREDEFINED_INFO *Info); - -void -AcpiNsCheckAcpiCompliance ( - char *Pathname, - ACPI_NAMESPACE_NODE *Node, - const ACPI_PREDEFINED_INFO *Predefined); - -void -AcpiNsCheckArgumentTypes ( - ACPI_EVALUATE_INFO *Info); - - -/* - * nspredef - Return value checking for predefined/reserved names - */ -ACPI_STATUS -AcpiNsCheckReturnValue ( - ACPI_NAMESPACE_NODE *Node, - ACPI_EVALUATE_INFO *Info, - UINT32 UserParamCount, - ACPI_STATUS ReturnStatus, - ACPI_OPERAND_OBJECT **ReturnObject); - -ACPI_STATUS -AcpiNsCheckObjectType ( - ACPI_EVALUATE_INFO *Info, - ACPI_OPERAND_OBJECT **ReturnObjectPtr, - UINT32 ExpectedBtypes, - UINT32 PackageIndex); - - -/* - * nsprepkg - Validation of predefined name packages - */ -ACPI_STATUS -AcpiNsCheckPackage ( - ACPI_EVALUATE_INFO *Info, - ACPI_OPERAND_OBJECT **ReturnObjectPtr); - - -/* - * nsnames - Name and Scope manipulation - */ -UINT32 -AcpiNsOpensScope ( - ACPI_OBJECT_TYPE Type); - -char * -AcpiNsGetExternalPathname ( - ACPI_NAMESPACE_NODE *Node); - -UINT32 -AcpiNsBuildNormalizedPath ( - ACPI_NAMESPACE_NODE *Node, - char *FullPath, - UINT32 PathSize, - BOOLEAN NoTrailing); - -void -AcpiNsNormalizePathname ( - char *OriginalPath); - -char * -AcpiNsGetNormalizedPathname ( - ACPI_NAMESPACE_NODE *Node, - BOOLEAN NoTrailing); - -char * -AcpiNsBuildPrefixedPathname ( - ACPI_GENERIC_STATE *PrefixScope, - const char *InternalPath); - -char * -AcpiNsNameOfCurrentScope ( - ACPI_WALK_STATE *WalkState); - -ACPI_STATUS -AcpiNsHandleToName ( - ACPI_HANDLE TargetHandle, - ACPI_BUFFER *Buffer); - -ACPI_STATUS -AcpiNsHandleToPathname ( - ACPI_HANDLE TargetHandle, - ACPI_BUFFER *Buffer, - BOOLEAN NoTrailing); - -BOOLEAN -AcpiNsPatternMatch ( - ACPI_NAMESPACE_NODE *ObjNode, - char *SearchFor); - -ACPI_STATUS -AcpiNsGetNodeUnlocked ( - ACPI_NAMESPACE_NODE *PrefixNode, - const char *ExternalPathname, - UINT32 Flags, - ACPI_NAMESPACE_NODE **OutNode); - -ACPI_STATUS -AcpiNsGetNode ( - ACPI_NAMESPACE_NODE *PrefixNode, - const char *ExternalPathname, - UINT32 Flags, - ACPI_NAMESPACE_NODE **OutNode); - -ACPI_SIZE -AcpiNsGetPathnameLength ( - ACPI_NAMESPACE_NODE *Node); - - -/* - * nsobject - Object management for namespace nodes - */ -ACPI_STATUS -AcpiNsAttachObject ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OPERAND_OBJECT *Object, - ACPI_OBJECT_TYPE Type); - -ACPI_OPERAND_OBJECT * -AcpiNsGetAttachedObject ( - ACPI_NAMESPACE_NODE *Node); - -ACPI_OPERAND_OBJECT * -AcpiNsGetSecondaryObject ( - ACPI_OPERAND_OBJECT *ObjDesc); - -ACPI_STATUS -AcpiNsAttachData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_HANDLER Handler, - void *Data); - -ACPI_STATUS -AcpiNsDetachData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_HANDLER Handler); - -ACPI_STATUS -AcpiNsGetAttachedData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_HANDLER Handler, - void **Data); - - -/* - * nsrepair - General return object repair for all - * predefined methods/objects - */ -ACPI_STATUS -AcpiNsSimpleRepair ( - ACPI_EVALUATE_INFO *Info, - UINT32 ExpectedBtypes, - UINT32 PackageIndex, - ACPI_OPERAND_OBJECT **ReturnObjectPtr); - -ACPI_STATUS -AcpiNsWrapWithPackage ( - ACPI_EVALUATE_INFO *Info, - ACPI_OPERAND_OBJECT *OriginalObject, - ACPI_OPERAND_OBJECT **ObjDescPtr); - -ACPI_STATUS -AcpiNsRepairNullElement ( - ACPI_EVALUATE_INFO *Info, - UINT32 ExpectedBtypes, - UINT32 PackageIndex, - ACPI_OPERAND_OBJECT **ReturnObjectPtr); - -void -AcpiNsRemoveNullElements ( - ACPI_EVALUATE_INFO *Info, - UINT8 PackageType, - ACPI_OPERAND_OBJECT *ObjDesc); - - -/* - * nsrepair2 - Return object repair for specific - * predefined methods/objects - */ -ACPI_STATUS -AcpiNsComplexRepairs ( - ACPI_EVALUATE_INFO *Info, - ACPI_NAMESPACE_NODE *Node, - ACPI_STATUS ValidateStatus, - ACPI_OPERAND_OBJECT **ReturnObjectPtr); - - -/* - * nssearch - Namespace searching and entry - */ -ACPI_STATUS -AcpiNsSearchAndEnter ( - UINT32 EntryName, - ACPI_WALK_STATE *WalkState, - ACPI_NAMESPACE_NODE *Node, - ACPI_INTERPRETER_MODE InterpreterMode, - ACPI_OBJECT_TYPE Type, - UINT32 Flags, - ACPI_NAMESPACE_NODE **RetNode); - -ACPI_STATUS -AcpiNsSearchOneScope ( - UINT32 EntryName, - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_TYPE Type, - ACPI_NAMESPACE_NODE **RetNode); - -void -AcpiNsInstallNode ( - ACPI_WALK_STATE *WalkState, - ACPI_NAMESPACE_NODE *ParentNode, - ACPI_NAMESPACE_NODE *Node, - ACPI_OBJECT_TYPE Type); - - -/* - * nsutils - Utility functions - */ -ACPI_OBJECT_TYPE -AcpiNsGetType ( - ACPI_NAMESPACE_NODE *Node); - -UINT32 -AcpiNsLocal ( - ACPI_OBJECT_TYPE Type); - -void -AcpiNsPrintNodePathname ( - ACPI_NAMESPACE_NODE *Node, - const char *Msg); - -ACPI_STATUS -AcpiNsBuildInternalName ( - ACPI_NAMESTRING_INFO *Info); - -void -AcpiNsGetInternalNameLength ( - ACPI_NAMESTRING_INFO *Info); - -ACPI_STATUS -AcpiNsInternalizeName ( - const char *DottedName, - char **ConvertedName); - -ACPI_STATUS -AcpiNsExternalizeName ( - UINT32 InternalNameLength, - const char *InternalName, - UINT32 *ConvertedNameLength, - char **ConvertedName); - -ACPI_NAMESPACE_NODE * -AcpiNsValidateHandle ( - ACPI_HANDLE Handle); - -void -AcpiNsTerminate ( - void); - -#endif /* __ACNAMESP_H__ */ diff --git a/Private/acpiSDK/source/include/acobject.h b/Private/acpiSDK/source/include/acobject.h deleted file mode 100644 index 4454c572..00000000 --- a/Private/acpiSDK/source/include/acobject.h +++ /dev/null @@ -1,707 +0,0 @@ -/****************************************************************************** - * - * Name: acobject.h - Definition of ACPI_OPERAND_OBJECT (Internal object only) - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACOBJECT_H -#define _ACOBJECT_H - -/* acpisrc:StructDefs -- for acpisrc conversion */ - - -/* - * The ACPI_OPERAND_OBJECT is used to pass AML operands from the dispatcher - * to the interpreter, and to keep track of the various handlers such as - * address space handlers and notify handlers. The object is a constant - * size in order to allow it to be cached and reused. - * - * Note: The object is optimized to be aligned and will not work if it is - * byte-packed. - */ -#if ACPI_MACHINE_WIDTH == 64 -#pragma pack(8) -#else -#pragma pack(4) -#endif - -/******************************************************************************* - * - * Common Descriptors - * - ******************************************************************************/ - -/* - * Common area for all objects. - * - * DescriptorType is used to differentiate between internal descriptors, and - * must be in the same place across all descriptors - * - * Note: The DescriptorType and Type fields must appear in the identical - * position in both the ACPI_NAMESPACE_NODE and ACPI_OPERAND_OBJECT - * structures. - */ -#define ACPI_OBJECT_COMMON_HEADER \ - union acpi_operand_object *NextObject; /* Objects linked to parent NS node */\ - UINT8 DescriptorType; /* To differentiate various internal objs */\ - UINT8 Type; /* ACPI_OBJECT_TYPE */\ - UINT16 ReferenceCount; /* For object deletion management */\ - UINT8 Flags; - /* - * Note: There are 3 bytes available here before the - * next natural alignment boundary (for both 32/64 cases) - */ - -/* Values for Flag byte above */ - -#define AOPOBJ_AML_CONSTANT 0x01 /* Integer is an AML constant */ -#define AOPOBJ_STATIC_POINTER 0x02 /* Data is part of an ACPI table, don't delete */ -#define AOPOBJ_DATA_VALID 0x04 /* Object is initialized and data is valid */ -#define AOPOBJ_OBJECT_INITIALIZED 0x08 /* Region is initialized */ -#define AOPOBJ_REG_CONNECTED 0x10 /* _REG was run */ -#define AOPOBJ_SETUP_COMPLETE 0x20 /* Region setup is complete */ -#define AOPOBJ_INVALID 0x40 /* Host OS won't allow a Region address */ - - -/****************************************************************************** - * - * Basic data types - * - *****************************************************************************/ - -typedef struct acpi_object_common -{ - ACPI_OBJECT_COMMON_HEADER - -} ACPI_OBJECT_COMMON; - - -typedef struct acpi_object_integer -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 Fill[3]; /* Prevent warning on some compilers */ - UINT64 Value; - -} ACPI_OBJECT_INTEGER; - - -/* - * Note: The String and Buffer object must be identical through the - * pointer and length elements. There is code that depends on this. - * - * Fields common to both Strings and Buffers - */ -#define ACPI_COMMON_BUFFER_INFO(_Type) \ - _Type *Pointer; \ - UINT32 Length; - - -/* Null terminated, ASCII characters only */ - -typedef struct acpi_object_string -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_BUFFER_INFO (char) /* String in AML stream or allocated string */ - -} ACPI_OBJECT_STRING; - - -typedef struct acpi_object_buffer -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_BUFFER_INFO (UINT8) /* Buffer in AML stream or allocated buffer */ - UINT32 AmlLength; - UINT8 *AmlStart; - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ - -} ACPI_OBJECT_BUFFER; - - -typedef struct acpi_object_package -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */ - union acpi_operand_object **Elements; /* Array of pointers to AcpiObjects */ - UINT8 *AmlStart; - UINT32 AmlLength; - UINT32 Count; /* # of elements in package */ - -} ACPI_OBJECT_PACKAGE; - - -/****************************************************************************** - * - * Complex data types - * - *****************************************************************************/ - -typedef struct acpi_object_event -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_SEMAPHORE OsSemaphore; /* Actual OS synchronization object */ - -} ACPI_OBJECT_EVENT; - - -typedef struct acpi_object_mutex -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 SyncLevel; /* 0-15, specified in Mutex() call */ - UINT16 AcquisitionDepth; /* Allow multiple Acquires, same thread */ - ACPI_MUTEX OsMutex; /* Actual OS synchronization object */ - ACPI_THREAD_ID ThreadId; /* Current owner of the mutex */ - struct acpi_thread_state *OwnerThread; /* Current owner of the mutex */ - union acpi_operand_object *Prev; /* Link for list of acquired mutexes */ - union acpi_operand_object *Next; /* Link for list of acquired mutexes */ - ACPI_NAMESPACE_NODE *Node; /* Containing namespace node */ - UINT8 OriginalSyncLevel; /* Owner's original sync level (0-15) */ - -} ACPI_OBJECT_MUTEX; - - -typedef struct acpi_object_region -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 SpaceId; - ACPI_NAMESPACE_NODE *Node; /* Containing namespace node */ - union acpi_operand_object *Handler; /* Handler for region access */ - union acpi_operand_object *Next; - ACPI_PHYSICAL_ADDRESS Address; - UINT32 Length; - void *Pointer; /* Only for data table regions */ - -} ACPI_OBJECT_REGION; - - -typedef struct acpi_object_method -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 InfoFlags; - UINT8 ParamCount; - UINT8 SyncLevel; - union acpi_operand_object *Mutex; - union acpi_operand_object *Node; - UINT8 *AmlStart; - union - { - ACPI_INTERNAL_METHOD Implementation; - union acpi_operand_object *Handler; - } Dispatch; - - UINT32 AmlLength; - ACPI_OWNER_ID OwnerId; - UINT8 ThreadCount; - -} ACPI_OBJECT_METHOD; - -/* Flags for InfoFlags field above */ - -#define ACPI_METHOD_MODULE_LEVEL 0x01 /* Method is actually module-level code */ -#define ACPI_METHOD_INTERNAL_ONLY 0x02 /* Method is implemented internally (_OSI) */ -#define ACPI_METHOD_SERIALIZED 0x04 /* Method is serialized */ -#define ACPI_METHOD_SERIALIZED_PENDING 0x08 /* Method is to be marked serialized */ -#define ACPI_METHOD_IGNORE_SYNC_LEVEL 0x10 /* Method was auto-serialized at table load time */ -#define ACPI_METHOD_MODIFIED_NAMESPACE 0x20 /* Method modified the namespace */ - - -/****************************************************************************** - * - * Objects that can be notified. All share a common NotifyInfo area. - * - *****************************************************************************/ - -/* - * Common fields for objects that support ASL notifications - */ -#define ACPI_COMMON_NOTIFY_INFO \ - union acpi_operand_object *NotifyList[2]; /* Handlers for system/device notifies */\ - union acpi_operand_object *Handler; /* Handler for Address space */ - -/* COMMON NOTIFY for POWER, PROCESSOR, DEVICE, and THERMAL */ - -typedef struct acpi_object_notify_common -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_NOTIFY_INFO - -} ACPI_OBJECT_NOTIFY_COMMON; - - -typedef struct acpi_object_device -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_NOTIFY_INFO - ACPI_GPE_BLOCK_INFO *GpeBlock; - -} ACPI_OBJECT_DEVICE; - - -typedef struct acpi_object_power_resource -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_NOTIFY_INFO - UINT32 SystemLevel; - UINT32 ResourceOrder; - -} ACPI_OBJECT_POWER_RESOURCE; - - -typedef struct acpi_object_processor -{ - ACPI_OBJECT_COMMON_HEADER - - /* The next two fields take advantage of the 3-byte space before NOTIFY_INFO */ - - UINT8 ProcId; - UINT8 Length; - ACPI_COMMON_NOTIFY_INFO - ACPI_IO_ADDRESS Address; - -} ACPI_OBJECT_PROCESSOR; - - -typedef struct acpi_object_thermal_zone -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_NOTIFY_INFO - -} ACPI_OBJECT_THERMAL_ZONE; - - -/****************************************************************************** - * - * Fields. All share a common header/info field. - * - *****************************************************************************/ - -/* - * Common bitfield for the field objects - * "Field Datum" -- a datum from the actual field object - * "Buffer Datum" -- a datum from a user buffer, read from or to be written to the field - */ -#define ACPI_COMMON_FIELD_INFO \ - UINT8 FieldFlags; /* Access, update, and lock bits */\ - UINT8 Attribute; /* From AccessAs keyword */\ - UINT8 AccessByteWidth; /* Read/Write size in bytes */\ - ACPI_NAMESPACE_NODE *Node; /* Link back to parent node */\ - UINT32 BitLength; /* Length of field in bits */\ - UINT32 BaseByteOffset; /* Byte offset within containing object */\ - UINT32 Value; /* Value to store into the Bank or Index register */\ - UINT8 StartFieldBitOffset;/* Bit offset within first field datum (0-63) */\ - UINT8 AccessLength; /* For serial regions/fields */ - -/* COMMON FIELD (for BUFFER, REGION, BANK, and INDEX fields) */ - -typedef struct acpi_object_field_common -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_FIELD_INFO - union acpi_operand_object *RegionObj; /* Parent Operation Region object (REGION/BANK fields only) */ - -} ACPI_OBJECT_FIELD_COMMON; - - -typedef struct acpi_object_region_field -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_FIELD_INFO - UINT16 ResourceLength; - union acpi_operand_object *RegionObj; /* Containing OpRegion object */ - UINT8 *ResourceBuffer; /* ResourceTemplate for serial regions/fields */ - UINT16 PinNumberIndex; /* Index relative to previous Connection/Template */ - UINT8 *InternalPccBuffer; /* Internal buffer for fields associated with PCC */ - -} ACPI_OBJECT_REGION_FIELD; - - -typedef struct acpi_object_bank_field -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_FIELD_INFO - union acpi_operand_object *RegionObj; /* Containing OpRegion object */ - union acpi_operand_object *BankObj; /* BankSelect Register object */ - -} ACPI_OBJECT_BANK_FIELD; - - -typedef struct acpi_object_index_field -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_FIELD_INFO - - /* - * No "RegionObj" pointer needed since the Index and Data registers - * are each field definitions unto themselves. - */ - union acpi_operand_object *IndexObj; /* Index register */ - union acpi_operand_object *DataObj; /* Data register */ - -} ACPI_OBJECT_INDEX_FIELD; - - -/* The BufferField is different in that it is part of a Buffer, not an OpRegion */ - -typedef struct acpi_object_buffer_field -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_COMMON_FIELD_INFO - BOOLEAN IsCreateField; /* Special case for objects created by CreateField() */ - union acpi_operand_object *BufferObj; /* Containing Buffer object */ - -} ACPI_OBJECT_BUFFER_FIELD; - - -/****************************************************************************** - * - * Objects for handlers - * - *****************************************************************************/ - -typedef struct acpi_object_notify_handler -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_NAMESPACE_NODE *Node; /* Parent device */ - UINT32 HandlerType; /* Type: Device/System/Both */ - ACPI_NOTIFY_HANDLER Handler; /* Handler address */ - void *Context; - union acpi_operand_object *Next[2]; /* Device and System handler lists */ - -} ACPI_OBJECT_NOTIFY_HANDLER; - - -typedef struct acpi_object_addr_handler -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 SpaceId; - UINT8 HandlerFlags; - ACPI_ADR_SPACE_HANDLER Handler; - ACPI_NAMESPACE_NODE *Node; /* Parent device */ - void *Context; - ACPI_MUTEX ContextMutex; - ACPI_ADR_SPACE_SETUP Setup; - union acpi_operand_object *RegionList; /* Regions using this handler */ - union acpi_operand_object *Next; - -} ACPI_OBJECT_ADDR_HANDLER; - -/* Flags for address handler (HandlerFlags) */ - -#define ACPI_ADDR_HANDLER_DEFAULT_INSTALLED 0x01 - - -/****************************************************************************** - * - * Special internal objects - * - *****************************************************************************/ - -/* - * The Reference object is used for these opcodes: - * Arg[0-6], Local[0-7], IndexOp, NameOp, RefOfOp, LoadOp, LoadTableOp, DebugOp - * The Reference.Class differentiates these types. - */ -typedef struct acpi_object_reference -{ - ACPI_OBJECT_COMMON_HEADER - UINT8 Class; /* Reference Class */ - UINT8 TargetType; /* Used for Index Op */ - UINT8 Resolved; /* Reference has been resolved to a value */ - void *Object; /* NameOp=>HANDLE to obj, IndexOp=>ACPI_OPERAND_OBJECT */ - ACPI_NAMESPACE_NODE *Node; /* RefOf or Namepath */ - union acpi_operand_object **Where; /* Target of Index */ - UINT8 *IndexPointer; /* Used for Buffers and Strings */ - UINT8 *Aml; /* Used for deferred resolution of the ref */ - UINT32 Value; /* Used for Local/Arg/Index/DdbHandle */ - -} ACPI_OBJECT_REFERENCE; - -/* Values for Reference.Class above */ - -typedef enum -{ - ACPI_REFCLASS_LOCAL = 0, /* Method local */ - ACPI_REFCLASS_ARG = 1, /* Method argument */ - ACPI_REFCLASS_REFOF = 2, /* Result of RefOf() TBD: Split to Ref/Node and Ref/OperandObj? */ - ACPI_REFCLASS_INDEX = 3, /* Result of Index() */ - ACPI_REFCLASS_TABLE = 4, /* DdbHandle - Load(), LoadTable() */ - ACPI_REFCLASS_NAME = 5, /* Reference to a named object */ - ACPI_REFCLASS_DEBUG = 6, /* Debug object */ - - ACPI_REFCLASS_MAX = 6 - -} ACPI_REFERENCE_CLASSES; - -/* - * Extra object is used as additional storage for types that - * have AML code in their declarations (TermArgs) that must be - * evaluated at run time. - * - * Currently: Region and FieldUnit types - */ -typedef struct acpi_object_extra -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_NAMESPACE_NODE *Method_REG; /* _REG method for this region (if any) */ - ACPI_NAMESPACE_NODE *ScopeNode; - void *RegionContext; /* Region-specific data */ - UINT8 *AmlStart; - UINT32 AmlLength; - -} ACPI_OBJECT_EXTRA; - - -/* Additional data that can be attached to namespace nodes */ - -typedef struct acpi_object_data -{ - ACPI_OBJECT_COMMON_HEADER - ACPI_OBJECT_HANDLER Handler; - void *Pointer; - -} ACPI_OBJECT_DATA; - - -/* Structure used when objects are cached for reuse */ - -typedef struct acpi_object_cache_list -{ - ACPI_OBJECT_COMMON_HEADER - union acpi_operand_object *Next; /* Link for object cache and internal lists*/ - -} ACPI_OBJECT_CACHE_LIST; - - -/****************************************************************************** - * - * ACPI_OPERAND_OBJECT Descriptor - a giant union of all of the above - * - *****************************************************************************/ - -typedef union acpi_operand_object -{ - ACPI_OBJECT_COMMON Common; - ACPI_OBJECT_INTEGER Integer; - ACPI_OBJECT_STRING String; - ACPI_OBJECT_BUFFER Buffer; - ACPI_OBJECT_PACKAGE Package; - ACPI_OBJECT_EVENT Event; - ACPI_OBJECT_METHOD Method; - ACPI_OBJECT_MUTEX Mutex; - ACPI_OBJECT_REGION Region; - ACPI_OBJECT_NOTIFY_COMMON CommonNotify; - ACPI_OBJECT_DEVICE Device; - ACPI_OBJECT_POWER_RESOURCE PowerResource; - ACPI_OBJECT_PROCESSOR Processor; - ACPI_OBJECT_THERMAL_ZONE ThermalZone; - ACPI_OBJECT_FIELD_COMMON CommonField; - ACPI_OBJECT_REGION_FIELD Field; - ACPI_OBJECT_BUFFER_FIELD BufferField; - ACPI_OBJECT_BANK_FIELD BankField; - ACPI_OBJECT_INDEX_FIELD IndexField; - ACPI_OBJECT_NOTIFY_HANDLER Notify; - ACPI_OBJECT_ADDR_HANDLER AddressSpace; - ACPI_OBJECT_REFERENCE Reference; - ACPI_OBJECT_EXTRA Extra; - ACPI_OBJECT_DATA Data; - ACPI_OBJECT_CACHE_LIST Cache; - - /* - * Add namespace node to union in order to simplify code that accepts both - * ACPI_OPERAND_OBJECTs and ACPI_NAMESPACE_NODEs. The structures share - * a common DescriptorType field in order to differentiate them. - */ - ACPI_NAMESPACE_NODE Node; - -} ACPI_OPERAND_OBJECT; - - -/****************************************************************************** - * - * ACPI_DESCRIPTOR - objects that share a common descriptor identifier - * - *****************************************************************************/ - -/* Object descriptor types */ - -#define ACPI_DESC_TYPE_CACHED 0x01 /* Used only when object is cached */ -#define ACPI_DESC_TYPE_STATE 0x02 -#define ACPI_DESC_TYPE_STATE_UPDATE 0x03 -#define ACPI_DESC_TYPE_STATE_PACKAGE 0x04 -#define ACPI_DESC_TYPE_STATE_CONTROL 0x05 -#define ACPI_DESC_TYPE_STATE_RPSCOPE 0x06 -#define ACPI_DESC_TYPE_STATE_PSCOPE 0x07 -#define ACPI_DESC_TYPE_STATE_WSCOPE 0x08 -#define ACPI_DESC_TYPE_STATE_RESULT 0x09 -#define ACPI_DESC_TYPE_STATE_NOTIFY 0x0A -#define ACPI_DESC_TYPE_STATE_THREAD 0x0B -#define ACPI_DESC_TYPE_WALK 0x0C -#define ACPI_DESC_TYPE_PARSER 0x0D -#define ACPI_DESC_TYPE_OPERAND 0x0E -#define ACPI_DESC_TYPE_NAMED 0x0F -#define ACPI_DESC_TYPE_MAX 0x0F - - -typedef struct acpi_common_descriptor -{ - void *CommonPointer; - UINT8 DescriptorType; /* To differentiate various internal objs */ - -} ACPI_COMMON_DESCRIPTOR; - -typedef union acpi_descriptor -{ - ACPI_COMMON_DESCRIPTOR Common; - ACPI_OPERAND_OBJECT Object; - ACPI_NAMESPACE_NODE Node; - ACPI_PARSE_OBJECT Op; - -} ACPI_DESCRIPTOR; - -#pragma pack() - -#endif /* _ACOBJECT_H */ diff --git a/Private/acpiSDK/source/include/acopcode.h b/Private/acpiSDK/source/include/acopcode.h deleted file mode 100644 index f2ce2cd5..00000000 --- a/Private/acpiSDK/source/include/acopcode.h +++ /dev/null @@ -1,441 +0,0 @@ -/****************************************************************************** - * - * Name: acopcode.h - AML opcode information for the AML parser and interpreter - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACOPCODE_H__ -#define __ACOPCODE_H__ - -#define MAX_EXTENDED_OPCODE 0x88 -#define NUM_EXTENDED_OPCODE (MAX_EXTENDED_OPCODE + 1) -#define MAX_INTERNAL_OPCODE -#define NUM_INTERNAL_OPCODE (MAX_INTERNAL_OPCODE + 1) - -/* Used for non-assigned opcodes */ - -#define _UNK 0x6B - -/* - * Reserved ASCII characters. Do not use any of these for - * internal opcodes, since they are used to differentiate - * name strings from AML opcodes - */ -#define _ASC 0x6C -#define _NAM 0x6C -#define _PFX 0x6D - - -/* - * All AML opcodes and the parse-time arguments for each. Used by the AML - * parser Each list is compressed into a 32-bit number and stored in the - * master opcode table (in psopcode.c). - */ -#define ARGP_ACCESSFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_ACQUIRE_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_WORDDATA) -#define ARGP_ADD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_ALIAS_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_NAME) -#define ARGP_ARG0 ARG_NONE -#define ARGP_ARG1 ARG_NONE -#define ARGP_ARG2 ARG_NONE -#define ARGP_ARG3 ARG_NONE -#define ARGP_ARG4 ARG_NONE -#define ARGP_ARG5 ARG_NONE -#define ARGP_ARG6 ARG_NONE -#define ARGP_BANK_FIELD_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_TERMARG, ARGP_BYTEDATA, ARGP_FIELDLIST) -#define ARGP_BIT_AND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BIT_NAND_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BIT_NOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BIT_NOT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BIT_OR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BIT_XOR_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_BREAK_OP ARG_NONE -#define ARGP_BREAK_POINT_OP ARG_NONE -#define ARGP_BUFFER_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_BYTELIST) -#define ARGP_BYTE_OP ARGP_LIST1 (ARGP_BYTEDATA) -#define ARGP_BYTELIST_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_COMMENT_OP ARGP_LIST2 (ARGP_BYTEDATA, ARGP_COMMENT) -#define ARGP_CONCAT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_CONCAT_RES_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_COND_REF_OF_OP ARGP_LIST2 (ARGP_SIMPLENAME, ARGP_TARGET) -#define ARGP_CONNECTFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_CONTINUE_OP ARG_NONE -#define ARGP_COPY_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SIMPLENAME) -#define ARGP_CREATE_BIT_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_CREATE_BYTE_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_CREATE_DWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_CREATE_FIELD_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_CREATE_QWORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_CREATE_WORD_FIELD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_NAME) -#define ARGP_DATA_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_DEBUG_OP ARG_NONE -#define ARGP_DECREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_DEREF_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_DEVICE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) -#define ARGP_DIVIDE_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET, ARGP_TARGET) -#define ARGP_DWORD_OP ARGP_LIST1 (ARGP_DWORDDATA) -#define ARGP_ELSE_OP ARGP_LIST2 (ARGP_PKGLENGTH, ARGP_TERMLIST) -#define ARGP_EVENT_OP ARGP_LIST1 (ARGP_NAME) -#define ARGP_EXTERNAL_OP ARGP_LIST3 (ARGP_NAME, ARGP_BYTEDATA, ARGP_BYTEDATA) -#define ARGP_FATAL_OP ARGP_LIST3 (ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_TERMARG) -#define ARGP_FIELD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_BYTEDATA, ARGP_FIELDLIST) -#define ARGP_FIND_SET_LEFT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_FIND_SET_RIGHT_BIT_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_FROM_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_IF_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) -#define ARGP_INCREMENT_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_INDEX_FIELD_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAMESTRING, ARGP_NAMESTRING,ARGP_BYTEDATA, ARGP_FIELDLIST) -#define ARGP_INDEX_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_LAND_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LGREATER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LGREATEREQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LLESS_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LLESSEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LNOT_OP ARGP_LIST1 (ARGP_TERMARG) -#define ARGP_LNOTEQUAL_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LOAD_OP ARGP_LIST2 (ARGP_NAMESTRING, ARGP_SUPERNAME) -#define ARGP_LOAD_TABLE_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_LOCAL0 ARG_NONE -#define ARGP_LOCAL1 ARG_NONE -#define ARGP_LOCAL2 ARG_NONE -#define ARGP_LOCAL3 ARG_NONE -#define ARGP_LOCAL4 ARG_NONE -#define ARGP_LOCAL5 ARG_NONE -#define ARGP_LOCAL6 ARG_NONE -#define ARGP_LOCAL7 ARG_NONE -#define ARGP_LOR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_MATCH_OP ARGP_LIST6 (ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_METHOD_OP ARGP_LIST4 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMLIST) -#define ARGP_METHODCALL_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_MID_OP ARGP_LIST4 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_MOD_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_MULTIPLY_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_MUTEX_OP ARGP_LIST2 (ARGP_NAME, ARGP_BYTEDATA) -#define ARGP_NAME_OP ARGP_LIST2 (ARGP_NAME, ARGP_DATAOBJ) -#define ARGP_NAMEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_NAMEPATH_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_NOOP_OP ARG_NONE -#define ARGP_NOTIFY_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) -#define ARGP_OBJECT_TYPE_OP ARGP_LIST1 (ARGP_SIMPLENAME) -#define ARGP_ONE_OP ARG_NONE -#define ARGP_ONES_OP ARG_NONE -#define ARGP_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_BYTEDATA, ARGP_DATAOBJLIST) -#define ARGP_POWER_RES_OP ARGP_LIST5 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_WORDDATA, ARGP_OBJLIST) -#define ARGP_PROCESSOR_OP ARGP_LIST6 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_BYTEDATA, ARGP_DWORDDATA, ARGP_BYTEDATA, ARGP_OBJLIST) -#define ARGP_QWORD_OP ARGP_LIST1 (ARGP_QWORDDATA) -#define ARGP_REF_OF_OP ARGP_LIST1 (ARGP_SIMPLENAME) -#define ARGP_REGION_OP ARGP_LIST4 (ARGP_NAME, ARGP_BYTEDATA, ARGP_TERMARG, ARGP_TERMARG) -#define ARGP_RELEASE_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_RESERVEDFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_RESET_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_RETURN_OP ARGP_LIST1 (ARGP_TERMARG) -#define ARGP_REVISION_OP ARG_NONE -#define ARGP_SCOPE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_TERMLIST) -#define ARGP_SERIALFIELD_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_SHIFT_LEFT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_SHIFT_RIGHT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_SIGNAL_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_SIZE_OF_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_SLEEP_OP ARGP_LIST1 (ARGP_TERMARG) -#define ARGP_STALL_OP ARGP_LIST1 (ARGP_TERMARG) -#define ARGP_STATICSTRING_OP ARGP_LIST1 (ARGP_NAMESTRING) -#define ARGP_STORE_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_SUPERNAME) -#define ARGP_STRING_OP ARGP_LIST1 (ARGP_CHARLIST) -#define ARGP_SUBTRACT_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_THERMAL_ZONE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_NAME, ARGP_OBJLIST) -#define ARGP_TIMER_OP ARG_NONE -#define ARGP_TO_BCD_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_TO_BUFFER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_TO_DEC_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_TO_HEX_STR_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_TO_INTEGER_OP ARGP_LIST2 (ARGP_TERMARG, ARGP_TARGET) -#define ARGP_TO_STRING_OP ARGP_LIST3 (ARGP_TERMARG, ARGP_TERMARG, ARGP_TARGET) -#define ARGP_UNLOAD_OP ARGP_LIST1 (ARGP_SUPERNAME) -#define ARGP_VAR_PACKAGE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_DATAOBJLIST) -#define ARGP_WAIT_OP ARGP_LIST2 (ARGP_SUPERNAME, ARGP_TERMARG) -#define ARGP_WHILE_OP ARGP_LIST3 (ARGP_PKGLENGTH, ARGP_TERMARG, ARGP_TERMLIST) -#define ARGP_WORD_OP ARGP_LIST1 (ARGP_WORDDATA) -#define ARGP_ZERO_OP ARG_NONE - - -/* - * All AML opcodes and the runtime arguments for each. Used by the AML - * interpreter Each list is compressed into a 32-bit number and stored - * in the master opcode table (in psopcode.c). - * - * (Used by PrepOperands procedure and the ASL Compiler) - */ -#define ARGI_ACCESSFIELD_OP ARGI_INVALID_OPCODE -#define ARGI_ACQUIRE_OP ARGI_LIST2 (ARGI_MUTEX, ARGI_INTEGER) -#define ARGI_ADD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_ALIAS_OP ARGI_INVALID_OPCODE -#define ARGI_ARG0 ARG_NONE -#define ARGI_ARG1 ARG_NONE -#define ARGI_ARG2 ARG_NONE -#define ARGI_ARG3 ARG_NONE -#define ARGI_ARG4 ARG_NONE -#define ARGI_ARG5 ARG_NONE -#define ARGI_ARG6 ARG_NONE -#define ARGI_BANK_FIELD_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_BIT_AND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BIT_NAND_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BIT_NOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BIT_NOT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BIT_OR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BIT_XOR_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_BREAK_OP ARG_NONE -#define ARGI_BREAK_POINT_OP ARG_NONE -#define ARGI_BUFFER_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_BYTE_OP ARGI_INVALID_OPCODE -#define ARGI_BYTELIST_OP ARGI_INVALID_OPCODE -#define ARGI_COMMENT_OP ARGI_INVALID_OPCODE -#define ARGI_CONCAT_OP ARGI_LIST3 (ARGI_ANYTYPE, ARGI_ANYTYPE, ARGI_TARGETREF) -#define ARGI_CONCAT_RES_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_BUFFER, ARGI_TARGETREF) -#define ARGI_COND_REF_OF_OP ARGI_LIST2 (ARGI_OBJECT_REF, ARGI_TARGETREF) -#define ARGI_CONNECTFIELD_OP ARGI_INVALID_OPCODE -#define ARGI_CONTINUE_OP ARGI_INVALID_OPCODE -#define ARGI_COPY_OP ARGI_LIST2 (ARGI_ANYTYPE, ARGI_SIMPLE_TARGET) -#define ARGI_CREATE_BIT_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_CREATE_BYTE_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_CREATE_DWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_CREATE_FIELD_OP ARGI_LIST4 (ARGI_BUFFER, ARGI_INTEGER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_CREATE_QWORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_CREATE_WORD_FIELD_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_REFERENCE) -#define ARGI_DATA_REGION_OP ARGI_LIST3 (ARGI_STRING, ARGI_STRING, ARGI_STRING) -#define ARGI_DEBUG_OP ARG_NONE -#define ARGI_DECREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) -#define ARGI_DEREF_OF_OP ARGI_LIST1 (ARGI_REF_OR_STRING) -#define ARGI_DEVICE_OP ARGI_INVALID_OPCODE -#define ARGI_DIVIDE_OP ARGI_LIST4 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF, ARGI_TARGETREF) -#define ARGI_DWORD_OP ARGI_INVALID_OPCODE -#define ARGI_ELSE_OP ARGI_INVALID_OPCODE -#define ARGI_EVENT_OP ARGI_INVALID_OPCODE -#define ARGI_EXTERNAL_OP ARGI_LIST3 (ARGI_STRING, ARGI_INTEGER, ARGI_INTEGER) -#define ARGI_FATAL_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_INTEGER) -#define ARGI_FIELD_OP ARGI_INVALID_OPCODE -#define ARGI_FIND_SET_LEFT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_FIND_SET_RIGHT_BIT_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_FROM_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) -#define ARGI_IF_OP ARGI_INVALID_OPCODE -#define ARGI_INCREMENT_OP ARGI_LIST1 (ARGI_TARGETREF) -#define ARGI_INDEX_FIELD_OP ARGI_INVALID_OPCODE -#define ARGI_INDEX_OP ARGI_LIST3 (ARGI_COMPLEXOBJ, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_LAND_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) -#define ARGI_LEQUAL_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) -#define ARGI_LGREATER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) -#define ARGI_LGREATEREQUAL_OP ARGI_INVALID_OPCODE -#define ARGI_LLESS_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_COMPUTEDATA) -#define ARGI_LLESSEQUAL_OP ARGI_INVALID_OPCODE -#define ARGI_LNOT_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_LNOTEQUAL_OP ARGI_INVALID_OPCODE -#define ARGI_LOAD_OP ARGI_LIST2 (ARGI_REGION_OR_BUFFER,ARGI_TARGETREF) -#define ARGI_LOAD_TABLE_OP ARGI_LIST6 (ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_STRING, ARGI_ANYTYPE) -#define ARGI_LOCAL0 ARG_NONE -#define ARGI_LOCAL1 ARG_NONE -#define ARGI_LOCAL2 ARG_NONE -#define ARGI_LOCAL3 ARG_NONE -#define ARGI_LOCAL4 ARG_NONE -#define ARGI_LOCAL5 ARG_NONE -#define ARGI_LOCAL6 ARG_NONE -#define ARGI_LOCAL7 ARG_NONE -#define ARGI_LOR_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) -#define ARGI_MATCH_OP ARGI_LIST6 (ARGI_PACKAGE, ARGI_INTEGER, ARGI_COMPUTEDATA, ARGI_INTEGER,ARGI_COMPUTEDATA,ARGI_INTEGER) -#define ARGI_METHOD_OP ARGI_INVALID_OPCODE -#define ARGI_METHODCALL_OP ARGI_INVALID_OPCODE -#define ARGI_MID_OP ARGI_LIST4 (ARGI_BUFFER_OR_STRING,ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_MOD_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_MULTIPLY_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_MUTEX_OP ARGI_INVALID_OPCODE -#define ARGI_NAME_OP ARGI_INVALID_OPCODE -#define ARGI_NAMEDFIELD_OP ARGI_INVALID_OPCODE -#define ARGI_NAMEPATH_OP ARGI_INVALID_OPCODE -#define ARGI_NOOP_OP ARG_NONE -#define ARGI_NOTIFY_OP ARGI_LIST2 (ARGI_DEVICE_REF, ARGI_INTEGER) -#define ARGI_OBJECT_TYPE_OP ARGI_LIST1 (ARGI_ANYTYPE) -#define ARGI_ONE_OP ARG_NONE -#define ARGI_ONES_OP ARG_NONE -#define ARGI_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_POWER_RES_OP ARGI_INVALID_OPCODE -#define ARGI_PROCESSOR_OP ARGI_INVALID_OPCODE -#define ARGI_QWORD_OP ARGI_INVALID_OPCODE -#define ARGI_REF_OF_OP ARGI_LIST1 (ARGI_OBJECT_REF) -#define ARGI_REGION_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_INTEGER) -#define ARGI_RELEASE_OP ARGI_LIST1 (ARGI_MUTEX) -#define ARGI_RESERVEDFIELD_OP ARGI_INVALID_OPCODE -#define ARGI_RESET_OP ARGI_LIST1 (ARGI_EVENT) -#define ARGI_RETURN_OP ARGI_INVALID_OPCODE -#define ARGI_REVISION_OP ARG_NONE -#define ARGI_SCOPE_OP ARGI_INVALID_OPCODE -#define ARGI_SERIALFIELD_OP ARGI_INVALID_OPCODE -#define ARGI_SHIFT_LEFT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_SHIFT_RIGHT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_SIGNAL_OP ARGI_LIST1 (ARGI_EVENT) -#define ARGI_SIZE_OF_OP ARGI_LIST1 (ARGI_DATAOBJECT) -#define ARGI_SLEEP_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_STALL_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_STATICSTRING_OP ARGI_INVALID_OPCODE -#define ARGI_STORE_OP ARGI_LIST2 (ARGI_DATAREFOBJ, ARGI_STORE_TARGET) -#define ARGI_STRING_OP ARGI_INVALID_OPCODE -#define ARGI_SUBTRACT_OP ARGI_LIST3 (ARGI_INTEGER, ARGI_INTEGER, ARGI_TARGETREF) -#define ARGI_THERMAL_ZONE_OP ARGI_INVALID_OPCODE -#define ARGI_TIMER_OP ARG_NONE -#define ARGI_TO_BCD_OP ARGI_LIST2 (ARGI_INTEGER, ARGI_FIXED_TARGET) -#define ARGI_TO_BUFFER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) -#define ARGI_TO_DEC_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) -#define ARGI_TO_HEX_STR_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) -#define ARGI_TO_INTEGER_OP ARGI_LIST2 (ARGI_COMPUTEDATA,ARGI_FIXED_TARGET) -#define ARGI_TO_STRING_OP ARGI_LIST3 (ARGI_BUFFER, ARGI_INTEGER, ARGI_FIXED_TARGET) -#define ARGI_UNLOAD_OP ARGI_LIST1 (ARGI_DDBHANDLE) -#define ARGI_VAR_PACKAGE_OP ARGI_LIST1 (ARGI_INTEGER) -#define ARGI_WAIT_OP ARGI_LIST2 (ARGI_EVENT, ARGI_INTEGER) -#define ARGI_WHILE_OP ARGI_INVALID_OPCODE -#define ARGI_WORD_OP ARGI_INVALID_OPCODE -#define ARGI_ZERO_OP ARG_NONE - -#endif /* __ACOPCODE_H__ */ diff --git a/Private/acpiSDK/source/include/acoutput.h b/Private/acpiSDK/source/include/acoutput.h deleted file mode 100644 index 502d9a94..00000000 --- a/Private/acpiSDK/source/include/acoutput.h +++ /dev/null @@ -1,614 +0,0 @@ -/****************************************************************************** - * - * Name: acoutput.h -- debug output - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACOUTPUT_H__ -#define __ACOUTPUT_H__ - -/* - * Debug levels and component IDs. These are used to control the - * granularity of the output of the ACPI_DEBUG_PRINT macro -- on a - * per-component basis and a per-exception-type basis. - */ - -/* Component IDs are used in the global "DebugLayer" */ - -#define ACPI_UTILITIES 0x00000001 -#define ACPI_HARDWARE 0x00000002 -#define ACPI_EVENTS 0x00000004 -#define ACPI_TABLES 0x00000008 -#define ACPI_NAMESPACE 0x00000010 -#define ACPI_PARSER 0x00000020 -#define ACPI_DISPATCHER 0x00000040 -#define ACPI_EXECUTER 0x00000080 -#define ACPI_RESOURCES 0x00000100 -#define ACPI_CA_DEBUGGER 0x00000200 -#define ACPI_OS_SERVICES 0x00000400 -#define ACPI_CA_DISASSEMBLER 0x00000800 - -/* Component IDs for ACPI tools and utilities */ - -#define ACPI_COMPILER 0x00001000 -#define ACPI_TOOLS 0x00002000 -#define ACPI_EXAMPLE 0x00004000 -#define ACPI_DRIVER 0x00008000 -#define DT_COMPILER 0x00010000 -#define ASL_PREPROCESSOR 0x00020000 - -#define ACPI_ALL_COMPONENTS 0x0001FFFF -#define ACPI_COMPONENT_DEFAULT (ACPI_ALL_COMPONENTS) - -/* Component IDs reserved for ACPI drivers */ - -#define ACPI_ALL_DRIVERS 0xFFFF0000 - - -/* - * Raw debug output levels, do not use these in the ACPI_DEBUG_PRINT macros - */ -#define ACPI_LV_INIT 0x00000001 -#define ACPI_LV_DEBUG_OBJECT 0x00000002 -#define ACPI_LV_INFO 0x00000004 -#define ACPI_LV_REPAIR 0x00000008 -#define ACPI_LV_TRACE_POINT 0x00000010 -#define ACPI_LV_ALL_EXCEPTIONS 0x0000001F - -/* Trace verbosity level 1 [Standard Trace Level] */ - -#define ACPI_LV_INIT_NAMES 0x00000020 -#define ACPI_LV_PARSE 0x00000040 -#define ACPI_LV_LOAD 0x00000080 -#define ACPI_LV_DISPATCH 0x00000100 -#define ACPI_LV_EXEC 0x00000200 -#define ACPI_LV_NAMES 0x00000400 -#define ACPI_LV_OPREGION 0x00000800 -#define ACPI_LV_BFIELD 0x00001000 -#define ACPI_LV_TABLES 0x00002000 -#define ACPI_LV_VALUES 0x00004000 -#define ACPI_LV_OBJECTS 0x00008000 -#define ACPI_LV_RESOURCES 0x00010000 -#define ACPI_LV_USER_REQUESTS 0x00020000 -#define ACPI_LV_PACKAGE 0x00040000 -#define ACPI_LV_EVALUATION 0x00080000 -#define ACPI_LV_VERBOSITY1 0x000FFF40 | ACPI_LV_ALL_EXCEPTIONS - -/* Trace verbosity level 2 [Function tracing and memory allocation] */ - -#define ACPI_LV_ALLOCATIONS 0x00100000 -#define ACPI_LV_FUNCTIONS 0x00200000 -#define ACPI_LV_OPTIMIZATIONS 0x00400000 -#define ACPI_LV_PARSE_TREES 0x00800000 -#define ACPI_LV_VERBOSITY2 0x00F00000 | ACPI_LV_VERBOSITY1 -#define ACPI_LV_ALL ACPI_LV_VERBOSITY2 - -/* Trace verbosity level 3 [Threading, I/O, and Interrupts] */ - -#define ACPI_LV_MUTEX 0x01000000 -#define ACPI_LV_THREADS 0x02000000 -#define ACPI_LV_IO 0x04000000 -#define ACPI_LV_INTERRUPTS 0x08000000 -#define ACPI_LV_VERBOSITY3 0x0F000000 | ACPI_LV_VERBOSITY2 - -/* Exceptionally verbose output -- also used in the global "DebugLevel" */ - -#define ACPI_LV_AML_DISASSEMBLE 0x10000000 -#define ACPI_LV_VERBOSE_INFO 0x20000000 -#define ACPI_LV_FULL_TABLES 0x40000000 -#define ACPI_LV_EVENTS 0x80000000 -#define ACPI_LV_VERBOSE 0xF0000000 - - -/* - * Debug level macros that are used in the DEBUG_PRINT macros - */ -#define ACPI_DEBUG_LEVEL(dl) (UINT32) dl,ACPI_DEBUG_PARAMETERS - -/* - * Exception level -- used in the global "DebugLevel" - * - * Note: For errors, use the ACPI_ERROR or ACPI_EXCEPTION interfaces. - * For warnings, use ACPI_WARNING. - */ -#define ACPI_DB_INIT ACPI_DEBUG_LEVEL (ACPI_LV_INIT) -#define ACPI_DB_DEBUG_OBJECT ACPI_DEBUG_LEVEL (ACPI_LV_DEBUG_OBJECT) -#define ACPI_DB_INFO ACPI_DEBUG_LEVEL (ACPI_LV_INFO) -#define ACPI_DB_REPAIR ACPI_DEBUG_LEVEL (ACPI_LV_REPAIR) -#define ACPI_DB_TRACE_POINT ACPI_DEBUG_LEVEL (ACPI_LV_TRACE_POINT) -#define ACPI_DB_ALL_EXCEPTIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALL_EXCEPTIONS) - -/* Trace level -- also used in the global "DebugLevel" */ - -#define ACPI_DB_INIT_NAMES ACPI_DEBUG_LEVEL (ACPI_LV_INIT_NAMES) -#define ACPI_DB_THREADS ACPI_DEBUG_LEVEL (ACPI_LV_THREADS) -#define ACPI_DB_PARSE ACPI_DEBUG_LEVEL (ACPI_LV_PARSE) -#define ACPI_DB_DISPATCH ACPI_DEBUG_LEVEL (ACPI_LV_DISPATCH) -#define ACPI_DB_LOAD ACPI_DEBUG_LEVEL (ACPI_LV_LOAD) -#define ACPI_DB_EXEC ACPI_DEBUG_LEVEL (ACPI_LV_EXEC) -#define ACPI_DB_NAMES ACPI_DEBUG_LEVEL (ACPI_LV_NAMES) -#define ACPI_DB_OPREGION ACPI_DEBUG_LEVEL (ACPI_LV_OPREGION) -#define ACPI_DB_BFIELD ACPI_DEBUG_LEVEL (ACPI_LV_BFIELD) -#define ACPI_DB_TABLES ACPI_DEBUG_LEVEL (ACPI_LV_TABLES) -#define ACPI_DB_FUNCTIONS ACPI_DEBUG_LEVEL (ACPI_LV_FUNCTIONS) -#define ACPI_DB_OPTIMIZATIONS ACPI_DEBUG_LEVEL (ACPI_LV_OPTIMIZATIONS) -#define ACPI_DB_PARSE_TREES ACPI_DEBUG_LEVEL (ACPI_LV_PARSE_TREES) -#define ACPI_DB_VALUES ACPI_DEBUG_LEVEL (ACPI_LV_VALUES) -#define ACPI_DB_OBJECTS ACPI_DEBUG_LEVEL (ACPI_LV_OBJECTS) -#define ACPI_DB_ALLOCATIONS ACPI_DEBUG_LEVEL (ACPI_LV_ALLOCATIONS) -#define ACPI_DB_RESOURCES ACPI_DEBUG_LEVEL (ACPI_LV_RESOURCES) -#define ACPI_DB_IO ACPI_DEBUG_LEVEL (ACPI_LV_IO) -#define ACPI_DB_INTERRUPTS ACPI_DEBUG_LEVEL (ACPI_LV_INTERRUPTS) -#define ACPI_DB_USER_REQUESTS ACPI_DEBUG_LEVEL (ACPI_LV_USER_REQUESTS) -#define ACPI_DB_PACKAGE ACPI_DEBUG_LEVEL (ACPI_LV_PACKAGE) -#define ACPI_DB_EVALUATION ACPI_DEBUG_LEVEL (ACPI_LV_EVALUATION) -#define ACPI_DB_MUTEX ACPI_DEBUG_LEVEL (ACPI_LV_MUTEX) -#define ACPI_DB_EVENTS ACPI_DEBUG_LEVEL (ACPI_LV_EVENTS) - -#define ACPI_DB_ALL ACPI_DEBUG_LEVEL (ACPI_LV_ALL) - -/* Defaults for DebugLevel, debug and normal */ - -#define ACPI_DEBUG_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_EVALUATION | ACPI_LV_REPAIR) -#define ACPI_NORMAL_DEFAULT (ACPI_LV_INIT | ACPI_LV_DEBUG_OBJECT | ACPI_LV_REPAIR) -#define ACPI_DEBUG_ALL (ACPI_LV_AML_DISASSEMBLE | ACPI_LV_ALL_EXCEPTIONS | ACPI_LV_ALL) - - -/* - * Global trace flags - */ -#define ACPI_TRACE_ENABLED ((UINT32) 4) -#define ACPI_TRACE_ONESHOT ((UINT32) 2) -#define ACPI_TRACE_OPCODE ((UINT32) 1) - -/* Defaults for trace debugging level/layer */ - -#define ACPI_TRACE_LEVEL_ALL ACPI_LV_ALL -#define ACPI_TRACE_LAYER_ALL 0x000001FF -#define ACPI_TRACE_LEVEL_DEFAULT ACPI_LV_TRACE_POINT -#define ACPI_TRACE_LAYER_DEFAULT ACPI_EXECUTER - - -#if defined (ACPI_DEBUG_OUTPUT) || !defined (ACPI_NO_ERROR_MESSAGES) -/* - * The module name is used primarily for error and debug messages. - * The __FILE__ macro is not very useful for this, because it - * usually includes the entire pathname to the module making the - * debug output difficult to read. - */ -#define ACPI_MODULE_NAME(Name) static const char ACPI_UNUSED_VAR _AcpiModuleName[] = Name; -#else -/* - * For the no-debug and no-error-msg cases, we must at least define - * a null module name. - */ -#define ACPI_MODULE_NAME(Name) -#define _AcpiModuleName "" -#endif - -/* - * Ascii error messages can be configured out - */ -#ifndef ACPI_NO_ERROR_MESSAGES -#define AE_INFO _AcpiModuleName, __LINE__ - -/* - * Error reporting. Callers module and line number are inserted by AE_INFO, - * the plist contains a set of parens to allow variable-length lists. - * These macros are used for both the debug and non-debug versions of the code. - */ -#define ACPI_INFO(plist) AcpiInfo plist -#define ACPI_WARNING(plist) AcpiWarning plist -#define ACPI_EXCEPTION(plist) AcpiException plist -#define ACPI_ERROR(plist) AcpiError plist -#define ACPI_BIOS_WARNING(plist) AcpiBiosWarning plist -#define ACPI_BIOS_EXCEPTION(plist) AcpiBiosException plist -#define ACPI_BIOS_ERROR(plist) AcpiBiosError plist -#define ACPI_DEBUG_OBJECT(obj,l,i) AcpiExDoDebugObject(obj,l,i) - -#else - -/* No error messages */ - -#define ACPI_INFO(plist) -#define ACPI_WARNING(plist) -#define ACPI_EXCEPTION(plist) -#define ACPI_ERROR(plist) -#define ACPI_BIOS_WARNING(plist) -#define ACPI_BIOS_EXCEPTION(plist) -#define ACPI_BIOS_ERROR(plist) -#define ACPI_DEBUG_OBJECT(obj,l,i) - -#endif /* ACPI_NO_ERROR_MESSAGES */ - - -/* - * Debug macros that are conditionally compiled - */ -#ifdef ACPI_DEBUG_OUTPUT - -/* - * If ACPI_GET_FUNCTION_NAME was not defined in the compiler-dependent header, - * define it now. This is the case where there the compiler does not support - * a __FUNCTION__ macro or equivalent. - */ -#ifndef ACPI_GET_FUNCTION_NAME -#define ACPI_GET_FUNCTION_NAME _AcpiFunctionName - -/* - * The Name parameter should be the procedure name as a non-quoted string. - * The function name is also used by the function exit macros below. - * Note: (const char) is used to be compatible with the debug interfaces - * and macros such as __FUNCTION__. - */ -#define ACPI_FUNCTION_NAME(Name) static const char _AcpiFunctionName[] = #Name; - -#else -/* Compiler supports __FUNCTION__ (or equivalent) -- Ignore this macro */ - -#define ACPI_FUNCTION_NAME(Name) -#endif /* ACPI_GET_FUNCTION_NAME */ - -/* - * Common parameters used for debug output functions: - * line number, function name, module(file) name, component ID - */ -#define ACPI_DEBUG_PARAMETERS \ - __LINE__, ACPI_GET_FUNCTION_NAME, _AcpiModuleName, _COMPONENT - -/* Check if debug output is currently dynamically enabled */ - -#define ACPI_IS_DEBUG_ENABLED(Level, Component) \ - ((Level & AcpiDbgLevel) && (Component & AcpiDbgLayer)) - -/* - * Master debug print macros - * Print message if and only if: - * 1) Debug print for the current component is enabled - * 2) Debug error level or trace level for the print statement is enabled - * - * November 2012: Moved the runtime check for whether to actually emit the - * debug message outside of the print function itself. This improves overall - * performance at a relatively small code cost. Implementation involves the - * use of variadic macros supported by C99. - * - * Note: the ACPI_DO_WHILE0 macro is used to prevent some compilers from - * complaining about these constructs. On other compilers the do...while - * adds some extra code, so this feature is optional. - */ -#ifdef ACPI_USE_DO_WHILE_0 -#define ACPI_DO_WHILE0(a) do a while(0) -#else -#define ACPI_DO_WHILE0(a) a -#endif - -/* DEBUG_PRINT functions */ - -#ifndef COMPILER_VA_MACRO - -#define ACPI_DEBUG_PRINT(plist) AcpiDebugPrint plist -#define ACPI_DEBUG_PRINT_RAW(plist) AcpiDebugPrintRaw plist - -#else - -/* Helper macros for DEBUG_PRINT */ - -#define ACPI_DO_DEBUG_PRINT(Function, Level, Line, Filename, Modulename, Component, ...) \ - ACPI_DO_WHILE0 ({ \ - if (ACPI_IS_DEBUG_ENABLED (Level, Component)) \ - { \ - Function (Level, Line, Filename, Modulename, Component, __VA_ARGS__); \ - } \ - }) - -#define ACPI_ACTUAL_DEBUG(Level, Line, Filename, Modulename, Component, ...) \ - ACPI_DO_DEBUG_PRINT (AcpiDebugPrint, Level, Line, \ - Filename, Modulename, Component, __VA_ARGS__) - -#define ACPI_ACTUAL_DEBUG_RAW(Level, Line, Filename, Modulename, Component, ...) \ - ACPI_DO_DEBUG_PRINT (AcpiDebugPrintRaw, Level, Line, \ - Filename, Modulename, Component, __VA_ARGS__) - -#define ACPI_DEBUG_PRINT(plist) ACPI_ACTUAL_DEBUG plist -#define ACPI_DEBUG_PRINT_RAW(plist) ACPI_ACTUAL_DEBUG_RAW plist - -#endif - - -/* - * Function entry tracing - * - * The name of the function is emitted as a local variable that is - * intended to be used by both the entry trace and the exit trace. - */ - -/* Helper macro */ - -#define ACPI_TRACE_ENTRY(Name, Function, Type, Param) \ - ACPI_FUNCTION_NAME (Name) \ - Function (ACPI_DEBUG_PARAMETERS, (Type) (Param)) - -/* The actual entry trace macros */ - -#define ACPI_FUNCTION_TRACE(Name) \ - ACPI_FUNCTION_NAME(Name) \ - AcpiUtTrace (ACPI_DEBUG_PARAMETERS) - -#define ACPI_FUNCTION_TRACE_PTR(Name, Pointer) \ - ACPI_TRACE_ENTRY (Name, AcpiUtTracePtr, void *, Pointer) - -#define ACPI_FUNCTION_TRACE_U32(Name, Value) \ - ACPI_TRACE_ENTRY (Name, AcpiUtTraceU32, UINT32, Value) - -#define ACPI_FUNCTION_TRACE_STR(Name, String) \ - ACPI_TRACE_ENTRY (Name, AcpiUtTraceStr, const char *, String) - -#define ACPI_FUNCTION_ENTRY() \ - AcpiUtTrackStackPtr() - - -/* - * Function exit tracing - * - * These macros include a return statement. This is usually considered - * bad form, but having a separate exit macro before the actual return - * is very ugly and difficult to maintain. - * - * One of the FUNCTION_TRACE macros above must be used in conjunction - * with these macros so that "_AcpiFunctionName" is defined. - * - * There are two versions of most of the return macros. The default version is - * safer, since it avoids side-effects by guaranteeing that the argument will - * not be evaluated twice. - * - * A less-safe version of the macros is provided for optional use if the - * compiler uses excessive CPU stack (for example, this may happen in the - * debug case if code optimization is disabled.) - */ - -/* Exit trace helper macro */ - -#ifndef ACPI_SIMPLE_RETURN_MACROS - -#define ACPI_TRACE_EXIT(Function, Type, Param) \ - ACPI_DO_WHILE0 ({ \ - register Type _Param = (Type) (Param); \ - Function (ACPI_DEBUG_PARAMETERS, _Param); \ - return (_Param); \ - }) - -#else /* Use original less-safe macros */ - -#define ACPI_TRACE_EXIT(Function, Type, Param) \ - ACPI_DO_WHILE0 ({ \ - Function (ACPI_DEBUG_PARAMETERS, (Type) (Param)); \ - return (Param); \ - }) - -#endif /* ACPI_SIMPLE_RETURN_MACROS */ - -/* The actual exit macros */ - -#define return_VOID \ - ACPI_DO_WHILE0 ({ \ - AcpiUtExit (ACPI_DEBUG_PARAMETERS); \ - return; \ - }) - -#define return_ACPI_STATUS(Status) \ - ACPI_TRACE_EXIT (AcpiUtStatusExit, ACPI_STATUS, Status) - -#define return_PTR(Pointer) \ - ACPI_TRACE_EXIT (AcpiUtPtrExit, void *, Pointer) - -#define return_STR(String) \ - ACPI_TRACE_EXIT (AcpiUtStrExit, const char *, String) - -#define return_VALUE(Value) \ - ACPI_TRACE_EXIT (AcpiUtValueExit, UINT64, Value) - -#define return_UINT32(Value) \ - ACPI_TRACE_EXIT (AcpiUtValueExit, UINT32, Value) - -#define return_UINT8(Value) \ - ACPI_TRACE_EXIT (AcpiUtValueExit, UINT8, Value) - -/* Conditional execution */ - -#define ACPI_DEBUG_EXEC(a) a -#define ACPI_DEBUG_ONLY_MEMBERS(a) a -#define _VERBOSE_STRUCTURES - - -/* Various object display routines for debug */ - -#define ACPI_DUMP_STACK_ENTRY(a) AcpiExDumpOperand((a), 0) -#define ACPI_DUMP_OPERANDS(a, b ,c) AcpiExDumpOperands(a, b, c) -#define ACPI_DUMP_ENTRY(a, b) AcpiNsDumpEntry (a, b) -#define ACPI_DUMP_PATHNAME(a, b, c, d) AcpiNsDumpPathname(a, b, c, d) -#define ACPI_DUMP_BUFFER(a, b) AcpiUtDebugDumpBuffer((UINT8 *) a, b, DB_BYTE_DISPLAY, _COMPONENT) - -#define ACPI_TRACE_POINT(a, b, c, d) AcpiTracePoint (a, b, c, d) - -#else /* ACPI_DEBUG_OUTPUT */ -/* - * This is the non-debug case -- make everything go away, - * leaving no executable debug code! - */ -#define ACPI_DEBUG_PRINT(pl) -#define ACPI_DEBUG_PRINT_RAW(pl) -#define ACPI_DEBUG_EXEC(a) -#define ACPI_DEBUG_ONLY_MEMBERS(a) -#define ACPI_FUNCTION_NAME(a) -#define ACPI_FUNCTION_TRACE(a) -#define ACPI_FUNCTION_TRACE_PTR(a, b) -#define ACPI_FUNCTION_TRACE_U32(a, b) -#define ACPI_FUNCTION_TRACE_STR(a, b) -#define ACPI_FUNCTION_ENTRY() -#define ACPI_DUMP_STACK_ENTRY(a) -#define ACPI_DUMP_OPERANDS(a, b, c) -#define ACPI_DUMP_ENTRY(a, b) -#define ACPI_DUMP_PATHNAME(a, b, c, d) -#define ACPI_DUMP_BUFFER(a, b) -#define ACPI_IS_DEBUG_ENABLED(Level, Component) 0 -#define ACPI_TRACE_POINT(a, b, c, d) - -/* Return macros must have a return statement at the minimum */ - -#define return_VOID return -#define return_ACPI_STATUS(s) return(s) -#define return_PTR(s) return(s) -#define return_STR(s) return(s) -#define return_VALUE(s) return(s) -#define return_UINT8(s) return(s) -#define return_UINT32(s) return(s) - -#endif /* ACPI_DEBUG_OUTPUT */ - - -#endif /* __ACOUTPUT_H__ */ diff --git a/Private/acpiSDK/source/include/acparser.h b/Private/acpiSDK/source/include/acparser.h deleted file mode 100644 index 0dd0e345..00000000 --- a/Private/acpiSDK/source/include/acparser.h +++ /dev/null @@ -1,476 +0,0 @@ -/****************************************************************************** - * - * Module Name: acparser.h - AML Parser subcomponent prototypes and defines - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACPARSER_H__ -#define __ACPARSER_H__ - - -#define OP_HAS_RETURN_VALUE 1 - -/* Variable number of arguments. This field must be 32 bits */ - -#define ACPI_VAR_ARGS ACPI_UINT32_MAX - - -#define ACPI_PARSE_DELETE_TREE 0x0001 -#define ACPI_PARSE_NO_TREE_DELETE 0x0000 -#define ACPI_PARSE_TREE_MASK 0x0001 - -#define ACPI_PARSE_LOAD_PASS1 0x0010 -#define ACPI_PARSE_LOAD_PASS2 0x0020 -#define ACPI_PARSE_EXECUTE 0x0030 -#define ACPI_PARSE_MODE_MASK 0x0030 - -#define ACPI_PARSE_DEFERRED_OP 0x0100 -#define ACPI_PARSE_DISASSEMBLE 0x0200 - -#define ACPI_PARSE_MODULE_LEVEL 0x0400 - -/****************************************************************************** - * - * Parser interfaces - * - *****************************************************************************/ - -extern const UINT8 AcpiGbl_ShortOpIndex[]; -extern const UINT8 AcpiGbl_LongOpIndex[]; - - -/* - * psxface - Parser external interfaces - */ -ACPI_STATUS -AcpiPsExecuteMethod ( - ACPI_EVALUATE_INFO *Info); - -ACPI_STATUS -AcpiPsExecuteTable ( - ACPI_EVALUATE_INFO *Info); - - -/* - * psargs - Parse AML opcode arguments - */ -UINT8 * -AcpiPsGetNextPackageEnd ( - ACPI_PARSE_STATE *ParserState); - -char * -AcpiPsGetNextNamestring ( - ACPI_PARSE_STATE *ParserState); - -void -AcpiPsGetNextSimpleArg ( - ACPI_PARSE_STATE *ParserState, - UINT32 ArgType, - ACPI_PARSE_OBJECT *Arg); - -ACPI_STATUS -AcpiPsGetNextNamepath ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_STATE *ParserState, - ACPI_PARSE_OBJECT *Arg, - BOOLEAN PossibleMethodCall); - -/* Values for BOOLEAN above */ - -#define ACPI_NOT_METHOD_CALL FALSE -#define ACPI_POSSIBLE_METHOD_CALL TRUE - -ACPI_STATUS -AcpiPsGetNextArg ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_STATE *ParserState, - UINT32 ArgType, - ACPI_PARSE_OBJECT **ReturnArg); - - -/* - * psfind - */ -ACPI_PARSE_OBJECT * -AcpiPsFindName ( - ACPI_PARSE_OBJECT *Scope, - UINT32 Name, - UINT32 Opcode); - -ACPI_PARSE_OBJECT* -AcpiPsGetParent ( - ACPI_PARSE_OBJECT *Op); - - -/* - * psobject - support for parse object processing - */ -ACPI_STATUS -AcpiPsBuildNamedOp ( - ACPI_WALK_STATE *WalkState, - UINT8 *AmlOpStart, - ACPI_PARSE_OBJECT *UnnamedOp, - ACPI_PARSE_OBJECT **Op); - -ACPI_STATUS -AcpiPsCreateOp ( - ACPI_WALK_STATE *WalkState, - UINT8 *AmlOpStart, - ACPI_PARSE_OBJECT **NewOp); - -ACPI_STATUS -AcpiPsCompleteOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT **Op, - ACPI_STATUS Status); - -ACPI_STATUS -AcpiPsCompleteFinalOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_STATUS Status); - - -/* - * psopinfo - AML Opcode information - */ -const ACPI_OPCODE_INFO * -AcpiPsGetOpcodeInfo ( - UINT16 Opcode); - -const char * -AcpiPsGetOpcodeName ( - UINT16 Opcode); - -UINT8 -AcpiPsGetArgumentCount ( - UINT32 OpType); - - -/* - * psparse - top level parsing routines - */ -ACPI_STATUS -AcpiPsParseAml ( - ACPI_WALK_STATE *WalkState); - -UINT32 -AcpiPsGetOpcodeSize ( - UINT32 Opcode); - -UINT16 -AcpiPsPeekOpcode ( - ACPI_PARSE_STATE *state); - -ACPI_STATUS -AcpiPsCompleteThisOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op); - -ACPI_STATUS -AcpiPsNextParseState ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_STATUS CallbackStatus); - - -/* - * psloop - main parse loop - */ -ACPI_STATUS -AcpiPsParseLoop ( - ACPI_WALK_STATE *WalkState); - - -/* - * psscope - Scope stack management routines - */ -ACPI_STATUS -AcpiPsInitScope ( - ACPI_PARSE_STATE *ParserState, - ACPI_PARSE_OBJECT *Root); - -ACPI_PARSE_OBJECT * -AcpiPsGetParentScope ( - ACPI_PARSE_STATE *state); - -BOOLEAN -AcpiPsHasCompletedScope ( - ACPI_PARSE_STATE *ParserState); - -void -AcpiPsPopScope ( - ACPI_PARSE_STATE *ParserState, - ACPI_PARSE_OBJECT **Op, - UINT32 *ArgList, - UINT32 *ArgCount); - -ACPI_STATUS -AcpiPsPushScope ( - ACPI_PARSE_STATE *ParserState, - ACPI_PARSE_OBJECT *Op, - UINT32 RemainingArgs, - UINT32 ArgCount); - -void -AcpiPsCleanupScope ( - ACPI_PARSE_STATE *state); - - -/* - * pstree - parse tree manipulation routines - */ -void -AcpiPsAppendArg( - ACPI_PARSE_OBJECT *op, - ACPI_PARSE_OBJECT *arg); - -ACPI_PARSE_OBJECT* -AcpiPsFind ( - ACPI_PARSE_OBJECT *Scope, - char *Path, - UINT16 Opcode, - UINT32 Create); - -ACPI_PARSE_OBJECT * -AcpiPsGetArg( - ACPI_PARSE_OBJECT *op, - UINT32 argn); - -ACPI_PARSE_OBJECT * -AcpiPsGetDepthNext ( - ACPI_PARSE_OBJECT *Origin, - ACPI_PARSE_OBJECT *Op); - - -/* - * pswalk - parse tree walk routines - */ -ACPI_STATUS -AcpiPsWalkParsedAml ( - ACPI_PARSE_OBJECT *StartOp, - ACPI_PARSE_OBJECT *EndOp, - ACPI_OPERAND_OBJECT *MthDesc, - ACPI_NAMESPACE_NODE *StartNode, - ACPI_OPERAND_OBJECT **Params, - ACPI_OPERAND_OBJECT **CallerReturnDesc, - ACPI_OWNER_ID OwnerId, - ACPI_PARSE_DOWNWARDS DescendingCallback, - ACPI_PARSE_UPWARDS AscendingCallback); - -ACPI_STATUS -AcpiPsGetNextWalkOp ( - ACPI_WALK_STATE *WalkState, - ACPI_PARSE_OBJECT *Op, - ACPI_PARSE_UPWARDS AscendingCallback); - -ACPI_STATUS -AcpiPsDeleteCompletedOp ( - ACPI_WALK_STATE *WalkState); - -void -AcpiPsDeleteParseTree ( - ACPI_PARSE_OBJECT *root); - - -/* - * psutils - parser utilities - */ -ACPI_PARSE_OBJECT * -AcpiPsCreateScopeOp ( - UINT8 *Aml); - -void -AcpiPsInitOp ( - ACPI_PARSE_OBJECT *op, - UINT16 opcode); - -ACPI_PARSE_OBJECT * -AcpiPsAllocOp ( - UINT16 Opcode, - UINT8 *Aml); - -void -AcpiPsFreeOp ( - ACPI_PARSE_OBJECT *Op); - -BOOLEAN -AcpiPsIsLeadingChar ( - UINT32 c); - -UINT32 -AcpiPsGetName( - ACPI_PARSE_OBJECT *op); - -void -AcpiPsSetName( - ACPI_PARSE_OBJECT *op, - UINT32 name); - - -/* - * psdump - display parser tree - */ -UINT32 -AcpiPsSprintPath ( - char *BufferStart, - UINT32 BufferSize, - ACPI_PARSE_OBJECT *Op); - -UINT32 -AcpiPsSprintOp ( - char *BufferStart, - UINT32 BufferSize, - ACPI_PARSE_OBJECT *Op); - -void -AcpiPsShow ( - ACPI_PARSE_OBJECT *op); - - -#endif /* __ACPARSER_H__ */ diff --git a/Private/acpiSDK/source/include/acpi.h b/Private/acpiSDK/source/include/acpi.h deleted file mode 100644 index 445e4413..00000000 --- a/Private/acpiSDK/source/include/acpi.h +++ /dev/null @@ -1,175 +0,0 @@ -/****************************************************************************** - * - * Name: acpi.h - Master public include file used to interface to ACPICA - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACPI_H__ -#define __ACPI_H__ - -/* - * Public include files for use by code that will interface to ACPICA. - * - * Information includes the ACPICA data types, names, exceptions, and - * external interface prototypes. Also included are the definitions for - * all ACPI tables (FADT, MADT, etc.) - * - * Note: The order of these include files is important. - */ -#include "platform/acenv.h" /* Environment-specific items */ -#include "actypes.h" /* ACPICA data types and structures */ -#include "platform/acenvex.h" /* Extra environment-specific items */ -#include "acnames.h" /* Common ACPI names and strings */ -#include "acexcep.h" /* ACPICA exceptions */ -#include "actbl.h" /* ACPI table definitions */ -#include "acoutput.h" /* Error output and Debug macros */ -#include "acrestyp.h" /* Resource Descriptor structs */ -#include "acpiosxf.h" /* OSL interfaces (ACPICA-to-OS) */ -#include "acpixf.h" /* ACPI core subsystem external interfaces */ - -#endif /* __ACPI_H__ */ diff --git a/Private/acpiSDK/source/include/acpiosxf.h b/Private/acpiSDK/source/include/acpiosxf.h deleted file mode 100644 index c4857cae..00000000 --- a/Private/acpiSDK/source/include/acpiosxf.h +++ /dev/null @@ -1,705 +0,0 @@ -/****************************************************************************** - * - * Name: acpiosxf.h - All interfaces to the OS Services Layer (OSL). These - * interfaces must be implemented by OSL to interface the - * ACPI components to the host operating system. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACPIOSXF_H__ -#define __ACPIOSXF_H__ - -#include "platform/acenv.h" -#include "actypes.h" - - -/* Types for AcpiOsExecute */ - -typedef enum -{ - OSL_GLOBAL_LOCK_HANDLER, - OSL_NOTIFY_HANDLER, - OSL_GPE_HANDLER, - OSL_DEBUGGER_MAIN_THREAD, - OSL_DEBUGGER_EXEC_THREAD, - OSL_EC_POLL_HANDLER, - OSL_EC_BURST_HANDLER - -} ACPI_EXECUTE_TYPE; - -#define ACPI_NO_UNIT_LIMIT ((UINT32) -1) -#define ACPI_MUTEX_SEM 1 - - -/* Functions for AcpiOsSignal */ - -#define ACPI_SIGNAL_FATAL 0 -#define ACPI_SIGNAL_BREAKPOINT 1 - -typedef struct acpi_signal_fatal_info -{ - UINT32 Type; - UINT32 Code; - UINT32 Argument; - -} ACPI_SIGNAL_FATAL_INFO; - - -/* - * OSL Initialization and shutdown primitives - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitialize -ACPI_STATUS -AcpiOsInitialize ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminate -ACPI_STATUS -AcpiOsTerminate ( - void); -#endif - - -/* - * ACPI Table interfaces - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetRootPointer -ACPI_PHYSICAL_ADDRESS -AcpiOsGetRootPointer ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPredefinedOverride -ACPI_STATUS -AcpiOsPredefinedOverride ( - const ACPI_PREDEFINED_NAMES *InitVal, - ACPI_STRING *NewVal); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTableOverride -ACPI_STATUS -AcpiOsTableOverride ( - ACPI_TABLE_HEADER *ExistingTable, - ACPI_TABLE_HEADER **NewTable); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPhysicalTableOverride -ACPI_STATUS -AcpiOsPhysicalTableOverride ( - ACPI_TABLE_HEADER *ExistingTable, - ACPI_PHYSICAL_ADDRESS *NewAddress, - UINT32 *NewTableLength); -#endif - - -/* - * Spinlock primitives - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateLock -ACPI_STATUS -AcpiOsCreateLock ( - ACPI_SPINLOCK *OutHandle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteLock -void -AcpiOsDeleteLock ( - ACPI_SPINLOCK Handle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireLock -ACPI_CPU_FLAGS -AcpiOsAcquireLock ( - ACPI_SPINLOCK Handle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseLock -void -AcpiOsReleaseLock ( - ACPI_SPINLOCK Handle, - ACPI_CPU_FLAGS Flags); -#endif - - -/* - * Semaphore primitives - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateSemaphore -ACPI_STATUS -AcpiOsCreateSemaphore ( - UINT32 MaxUnits, - UINT32 InitialUnits, - ACPI_SEMAPHORE *OutHandle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteSemaphore -ACPI_STATUS -AcpiOsDeleteSemaphore ( - ACPI_SEMAPHORE Handle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitSemaphore -ACPI_STATUS -AcpiOsWaitSemaphore ( - ACPI_SEMAPHORE Handle, - UINT32 Units, - UINT16 Timeout); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignalSemaphore -ACPI_STATUS -AcpiOsSignalSemaphore ( - ACPI_SEMAPHORE Handle, - UINT32 Units); -#endif - - -/* - * Mutex primitives. May be configured to use semaphores instead via - * ACPI_MUTEX_TYPE (see platform/acenv.h) - */ -#if (ACPI_MUTEX_TYPE != ACPI_BINARY_SEMAPHORE) - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateMutex -ACPI_STATUS -AcpiOsCreateMutex ( - ACPI_MUTEX *OutHandle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteMutex -void -AcpiOsDeleteMutex ( - ACPI_MUTEX Handle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireMutex -ACPI_STATUS -AcpiOsAcquireMutex ( - ACPI_MUTEX Handle, - UINT16 Timeout); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseMutex -void -AcpiOsReleaseMutex ( - ACPI_MUTEX Handle); -#endif - -#endif - - -/* - * Memory allocation and mapping - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocate -void * -AcpiOsAllocate ( - ACPI_SIZE Size); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocateZeroed -void * -AcpiOsAllocateZeroed ( - ACPI_SIZE Size); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsFree -void -AcpiOsFree ( - void * Memory); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsMapMemory -void * -AcpiOsMapMemory ( - ACPI_PHYSICAL_ADDRESS Where, - ACPI_SIZE Length); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsUnmapMemory -void -AcpiOsUnmapMemory ( - void *LogicalAddress, - ACPI_SIZE Size); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetPhysicalAddress -ACPI_STATUS -AcpiOsGetPhysicalAddress ( - void *LogicalAddress, - ACPI_PHYSICAL_ADDRESS *PhysicalAddress); -#endif - - -/* - * Memory/Object Cache - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateCache -ACPI_STATUS -AcpiOsCreateCache ( - char *CacheName, - UINT16 ObjectSize, - UINT16 MaxDepth, - ACPI_CACHE_T **ReturnCache); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsDeleteCache -ACPI_STATUS -AcpiOsDeleteCache ( - ACPI_CACHE_T *Cache); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPurgeCache -ACPI_STATUS -AcpiOsPurgeCache ( - ACPI_CACHE_T *Cache); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireObject -void * -AcpiOsAcquireObject ( - ACPI_CACHE_T *Cache); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseObject -ACPI_STATUS -AcpiOsReleaseObject ( - ACPI_CACHE_T *Cache, - void *Object); -#endif - - -/* - * Interrupt handlers - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInstallInterruptHandler -ACPI_STATUS -AcpiOsInstallInterruptHandler ( - UINT32 InterruptNumber, - ACPI_OSD_HANDLER ServiceRoutine, - void *Context); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRemoveInterruptHandler -ACPI_STATUS -AcpiOsRemoveInterruptHandler ( - UINT32 InterruptNumber, - ACPI_OSD_HANDLER ServiceRoutine); -#endif - - -/* - * Threads and Scheduling - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetThreadId -ACPI_THREAD_ID -AcpiOsGetThreadId ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsExecute -ACPI_STATUS -AcpiOsExecute ( - ACPI_EXECUTE_TYPE Type, - ACPI_OSD_EXEC_CALLBACK Function, - void *Context); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitEventsComplete -void -AcpiOsWaitEventsComplete ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSleep -void -AcpiOsSleep ( - UINT64 Milliseconds); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsStall -void -AcpiOsStall ( - UINT32 Microseconds); -#endif - - -/* - * Platform and hardware-independent I/O interfaces - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPort -ACPI_STATUS -AcpiOsReadPort ( - ACPI_IO_ADDRESS Address, - UINT32 *Value, - UINT32 Width); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePort -ACPI_STATUS -AcpiOsWritePort ( - ACPI_IO_ADDRESS Address, - UINT32 Value, - UINT32 Width); -#endif - - -/* - * Platform and hardware-independent physical memory interfaces - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadMemory -ACPI_STATUS -AcpiOsReadMemory ( - ACPI_PHYSICAL_ADDRESS Address, - UINT64 *Value, - UINT32 Width); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWriteMemory -ACPI_STATUS -AcpiOsWriteMemory ( - ACPI_PHYSICAL_ADDRESS Address, - UINT64 Value, - UINT32 Width); -#endif - - -/* - * Platform and hardware-independent PCI configuration space access - * Note: Can't use "Register" as a parameter, changed to "Reg" -- - * certain compilers complain. - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadPciConfiguration -ACPI_STATUS -AcpiOsReadPciConfiguration ( - ACPI_PCI_ID *PciId, - UINT32 Reg, - UINT64 *Value, - UINT32 Width); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritePciConfiguration -ACPI_STATUS -AcpiOsWritePciConfiguration ( - ACPI_PCI_ID *PciId, - UINT32 Reg, - UINT64 Value, - UINT32 Width); -#endif - - -/* - * Miscellaneous - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadable -BOOLEAN -AcpiOsReadable ( - void *Pointer, - ACPI_SIZE Length); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritable -BOOLEAN -AcpiOsWritable ( - void *Pointer, - ACPI_SIZE Length); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTimer -UINT64 -AcpiOsGetTimer ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsSignal -ACPI_STATUS -AcpiOsSignal ( - UINT32 Function, - void *Info); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsEnterSleep -ACPI_STATUS -AcpiOsEnterSleep ( - UINT8 SleepState, - UINT32 RegaValue, - UINT32 RegbValue); -#endif - - -/* - * Debug print routines - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsPrintf -ACPI_PRINTF_LIKE (1) -void ACPI_INTERNAL_VAR_XFACE -AcpiOsPrintf ( - const char *Format, - ...); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsVprintf -void -AcpiOsVprintf ( - const char *Format, - va_list Args); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRedirectOutput -void -AcpiOsRedirectOutput ( - void *Destination); -#endif - - -/* - * Debug IO - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetLine -ACPI_STATUS -AcpiOsGetLine ( - char *Buffer, - UINT32 BufferLength, - UINT32 *BytesRead); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitializeDebugger -ACPI_STATUS -AcpiOsInitializeDebugger ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminateDebugger -void -AcpiOsTerminateDebugger ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitCommandReady -ACPI_STATUS -AcpiOsWaitCommandReady ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsNotifyCommandComplete -ACPI_STATUS -AcpiOsNotifyCommandComplete ( - void); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTracePoint -void -AcpiOsTracePoint ( - ACPI_TRACE_EVENT_TYPE Type, - BOOLEAN Begin, - UINT8 *Aml, - char *Pathname); -#endif - - -/* - * Obtain ACPI table(s) - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByName -ACPI_STATUS -AcpiOsGetTableByName ( - char *Signature, - UINT32 Instance, - ACPI_TABLE_HEADER **Table, - ACPI_PHYSICAL_ADDRESS *Address); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByIndex -ACPI_STATUS -AcpiOsGetTableByIndex ( - UINT32 Index, - ACPI_TABLE_HEADER **Table, - UINT32 *Instance, - ACPI_PHYSICAL_ADDRESS *Address); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByAddress -ACPI_STATUS -AcpiOsGetTableByAddress ( - ACPI_PHYSICAL_ADDRESS Address, - ACPI_TABLE_HEADER **Table); -#endif - - -/* - * Directory manipulation - */ -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsOpenDirectory -void * -AcpiOsOpenDirectory ( - char *Pathname, - char *WildcardSpec, - char RequestedFileType); -#endif - -/* RequesteFileType values */ - -#define REQUEST_FILE_ONLY 0 -#define REQUEST_DIR_ONLY 1 - - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename -char * -AcpiOsGetNextFilename ( - void *DirHandle); -#endif - -#ifndef ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory -void -AcpiOsCloseDirectory ( - void *DirHandle); -#endif - - -#endif /* __ACPIOSXF_H__ */ diff --git a/Private/acpiSDK/source/include/acpixf.h b/Private/acpiSDK/source/include/acpixf.h deleted file mode 100644 index c8e3b4c4..00000000 --- a/Private/acpiSDK/source/include/acpixf.h +++ /dev/null @@ -1,1444 +0,0 @@ -/****************************************************************************** - * - * Name: acpixf.h - External interfaces to the ACPI subsystem - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACXFACE_H__ -#define __ACXFACE_H__ - -/* Current ACPICA subsystem version in YYYYMMDD format */ - -#define ACPI_CA_VERSION 0x20230628 - -#include "acconfig.h" -#include "actypes.h" -#include "actbl.h" -#include "acbuffer.h" - - -/***************************************************************************** - * - * Macros used for ACPICA globals and configuration - * - ****************************************************************************/ - -/* - * Ensure that global variables are defined and initialized only once. - * - * The use of these macros allows for a single list of globals (here) - * in order to simplify maintenance of the code. - */ -#ifdef DEFINE_ACPI_GLOBALS -#define ACPI_GLOBAL(type,name) \ - extern type name; \ - type name - -#define ACPI_INIT_GLOBAL(type,name,value) \ - type name=value - -#else -#ifndef ACPI_GLOBAL -#define ACPI_GLOBAL(type,name) \ - extern type name -#endif - -#ifndef ACPI_INIT_GLOBAL -#define ACPI_INIT_GLOBAL(type,name,value) \ - extern type name -#endif -#endif - -/* - * These macros configure the various ACPICA interfaces. They are - * useful for generating stub inline functions for features that are - * configured out of the current kernel or ACPICA application. - */ -#ifndef ACPI_EXTERNAL_RETURN_STATUS -#define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \ - Prototype; -#endif - -#ifndef ACPI_EXTERNAL_RETURN_OK -#define ACPI_EXTERNAL_RETURN_OK(Prototype) \ - Prototype; -#endif - -#ifndef ACPI_EXTERNAL_RETURN_VOID -#define ACPI_EXTERNAL_RETURN_VOID(Prototype) \ - Prototype; -#endif - -#ifndef ACPI_EXTERNAL_RETURN_UINT32 -#define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \ - Prototype; -#endif - -#ifndef ACPI_EXTERNAL_RETURN_PTR -#define ACPI_EXTERNAL_RETURN_PTR(Prototype) \ - Prototype; -#endif - - -/***************************************************************************** - * - * Public globals and runtime configuration options - * - ****************************************************************************/ - -/* - * Enable "slack mode" of the AML interpreter? Default is FALSE, and the - * interpreter strictly follows the ACPI specification. Setting to TRUE - * allows the interpreter to ignore certain errors and/or bad AML constructs. - * - * Currently, these features are enabled by this flag: - * - * 1) Allow "implicit return" of last value in a control method - * 2) Allow access beyond the end of an operation region - * 3) Allow access to uninitialized locals/args (auto-init to integer 0) - * 4) Allow ANY object type to be a source operand for the Store() operator - * 5) Allow unresolved references (invalid target name) in package objects - * 6) Enable warning messages for behavior that is not ACPI spec compliant - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableInterpreterSlack, FALSE); - -/* - * Automatically serialize all methods that create named objects? Default - * is TRUE, meaning that all NonSerialized methods are scanned once at - * table load time to determine those that create named objects. Methods - * that create named objects are marked Serialized in order to prevent - * possible run-time problems if they are entered by more than one thread. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_AutoSerializeMethods, TRUE); - -/* - * Create the predefined _OSI method in the namespace? Default is TRUE - * because ACPICA is fully compatible with other ACPI implementations. - * Changing this will revert ACPICA (and machine ASL) to pre-OSI behavior. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CreateOsiMethod, TRUE); - -/* - * Optionally use default values for the ACPI register widths. Set this to - * TRUE to use the defaults, if an FADT contains incorrect widths/lengths. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_UseDefaultRegisterWidths, TRUE); - -/* - * Whether or not to validate (map) an entire table to verify - * checksum/duplication in early stage before install. Set this to TRUE to - * allow early table validation before install it to the table manager. - * Note that enabling this option causes errors to happen in some OSPMs - * during early initialization stages. Default behavior is to allow such - * validation. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableTableValidation, TRUE); - -/* - * Optionally enable output from the AML Debug Object. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_EnableAmlDebugObject, FALSE); - -/* - * Optionally copy the entire DSDT to local memory (instead of simply - * mapping it.) There are some BIOSs that corrupt or replace the original - * DSDT, creating the need for this option. Default is FALSE, do not copy - * the DSDT. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_CopyDsdtLocally, FALSE); - -/* - * Optionally ignore an XSDT if present and use the RSDT instead. - * Although the ACPI specification requires that an XSDT be used instead - * of the RSDT, the XSDT has been found to be corrupt or ill-formed on - * some machines. Default behavior is to use the XSDT if present. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DoNotUseXsdt, FALSE); - -/* - * Optionally use 32-bit FADT addresses if and when there is a conflict - * (address mismatch) between the 32-bit and 64-bit versions of the - * address. Although ACPICA adheres to the ACPI specification which - * requires the use of the corresponding 64-bit address if it is non-zero, - * some machines have been found to have a corrupted non-zero 64-bit - * address. Default is FALSE, do not favor the 32-bit addresses. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFadtAddresses, FALSE); - -/* - * Optionally use 32-bit FACS table addresses. - * It is reported that some platforms fail to resume from system suspending - * if 64-bit FACS table address is selected: - * https://bugzilla.kernel.org/show_bug.cgi?id=74021 - * Default is TRUE, favor the 32-bit addresses. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_Use32BitFacsAddresses, TRUE); - -/* - * Optionally truncate I/O addresses to 16 bits. Provides compatibility - * with other ACPI implementations. NOTE: During ACPICA initialization, - * this value is set to TRUE if any Windows OSI strings have been - * requested by the BIOS. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_TruncateIoAddresses, FALSE); - -/* - * Disable runtime checking and repair of values returned by control methods. - * Use only if the repair is causing a problem on a particular machine. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableAutoRepair, FALSE); - -/* - * Optionally do not install any SSDTs from the RSDT/XSDT during initialization. - * This can be useful for debugging ACPI problems on some machines. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisableSsdtTableInstall, FALSE); - -/* - * Optionally enable runtime namespace override. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_RuntimeNamespaceOverride, TRUE); - -/* - * We keep track of the latest version of Windows that has been requested by - * the BIOS. ACPI 5.0. - */ -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_OsiData, 0); - -/* - * ACPI 5.0 introduces the concept of a "reduced hardware platform", meaning - * that the ACPI hardware is no longer required. A flag in the FADT indicates - * a reduced HW machine, and that flag is duplicated here for convenience. - */ -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_ReducedHardware, FALSE); - -/* - * Maximum timeout for While() loop iterations before forced method abort. - * This mechanism is intended to prevent infinite loops during interpreter - * execution within a host kernel. - */ -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_MaxLoopIterations, ACPI_MAX_LOOP_TIMEOUT); - -/* - * Optionally ignore AE_NOT_FOUND errors from named reference package elements - * during DSDT/SSDT table loading. This reduces error "noise" in platforms - * whose firmware is carrying around a bunch of unused package objects that - * refer to non-existent named objects. However, If the AML actually tries to - * use such a package, the unresolved element(s) will be replaced with NULL - * elements. - */ -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_IgnorePackageResolutionErrors, FALSE); - -/* - * This mechanism is used to trace a specified AML method. The method is - * traced each time it is executed. - */ -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceFlags, 0); -ACPI_INIT_GLOBAL (const char *, AcpiGbl_TraceMethodName, NULL); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLevel, ACPI_TRACE_LEVEL_DEFAULT); -ACPI_INIT_GLOBAL (UINT32, AcpiGbl_TraceDbgLayer, ACPI_TRACE_LAYER_DEFAULT); - -/* - * Runtime configuration of debug output control masks. We want the debug - * switches statically initialized so they are already set when the debugger - * is entered. - */ -#ifdef ACPI_DEBUG_OUTPUT -ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_DEBUG_DEFAULT); -#else -ACPI_INIT_GLOBAL (UINT32, AcpiDbgLevel, ACPI_NORMAL_DEFAULT); -#endif -ACPI_INIT_GLOBAL (UINT32, AcpiDbgLayer, ACPI_COMPONENT_DEFAULT); - -/* Optionally enable timer output with Debug Object output */ - -ACPI_INIT_GLOBAL (UINT8, AcpiGbl_DisplayDebugTimer, FALSE); - -/* - * Debugger command handshake globals. Host OSes need to access these - * variables to implement their own command handshake mechanism. - */ -#ifdef ACPI_DEBUGGER -ACPI_INIT_GLOBAL (BOOLEAN, AcpiGbl_MethodExecuting, FALSE); -ACPI_GLOBAL (char, AcpiGbl_DbLineBuf[ACPI_DB_LINE_BUFFER_SIZE]); -#endif - -/* - * Other miscellaneous globals - */ -ACPI_GLOBAL (ACPI_TABLE_FADT, AcpiGbl_FADT); -ACPI_GLOBAL (UINT32, AcpiCurrentGpeCount); -ACPI_GLOBAL (BOOLEAN, AcpiGbl_SystemAwakeAndRunning); - - -/***************************************************************************** - * - * ACPICA public interface configuration. - * - * Interfaces that are configured out of the ACPICA build are replaced - * by inlined stubs by default. - * - ****************************************************************************/ - -/* - * Hardware-reduced prototypes (default: Not hardware reduced). - * - * All ACPICA hardware-related interfaces that use these macros will be - * configured out of the ACPICA build if the ACPI_REDUCED_HARDWARE flag - * is set to TRUE. - * - * Note: This static build option for reduced hardware is intended to - * reduce ACPICA code size if desired or necessary. However, even if this - * option is not specified, the runtime behavior of ACPICA is dependent - * on the actual FADT reduced hardware flag (HW_REDUCED_ACPI). If set, - * the flag will enable similar behavior -- ACPICA will not attempt - * to access any ACPI-relate hardware (SCI, GPEs, Fixed Events, etc.) - */ -#if (!ACPI_REDUCED_HARDWARE) -#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ - ACPI_EXTERNAL_RETURN_STATUS(Prototype) - -#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ - ACPI_EXTERNAL_RETURN_OK(Prototype) - -#define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \ - ACPI_EXTERNAL_RETURN_UINT32(prototype) - -#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ - ACPI_EXTERNAL_RETURN_VOID(Prototype) - -#else -#define ACPI_HW_DEPENDENT_RETURN_STATUS(Prototype) \ - static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} - -#define ACPI_HW_DEPENDENT_RETURN_OK(Prototype) \ - static ACPI_INLINE Prototype {return(AE_OK);} - -#define ACPI_HW_DEPENDENT_RETURN_UINT32(prototype) \ - static ACPI_INLINE prototype {return(0);} - -#define ACPI_HW_DEPENDENT_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} - -#endif /* !ACPI_REDUCED_HARDWARE */ - - -/* - * Error message prototypes (default: error messages enabled). - * - * All interfaces related to error and warning messages - * will be configured out of the ACPICA build if the - * ACPI_NO_ERROR_MESSAGE flag is defined. - */ -#ifndef ACPI_NO_ERROR_MESSAGES -#define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ - Prototype; - -#else -#define ACPI_MSG_DEPENDENT_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} - -#endif /* ACPI_NO_ERROR_MESSAGES */ - - -/* - * Debugging output prototypes (default: no debug output). - * - * All interfaces related to debug output messages - * will be configured out of the ACPICA build unless the - * ACPI_DEBUG_OUTPUT flag is defined. - */ -#ifdef ACPI_DEBUG_OUTPUT -#define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ - Prototype; - -#else -#define ACPI_DBG_DEPENDENT_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} - -#endif /* ACPI_DEBUG_OUTPUT */ - - -/* - * Application prototypes - * - * All interfaces used by application will be configured - * out of the ACPICA build unless the ACPI_APPLICATION - * flag is defined. - */ -#ifdef ACPI_APPLICATION -#define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ - Prototype; - -#else -#define ACPI_APP_DEPENDENT_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} - -#endif /* ACPI_APPLICATION */ - - -/* - * Debugger prototypes - * - * All interfaces used by debugger will be configured - * out of the ACPICA build unless the ACPI_DEBUGGER - * flag is defined. - */ -#ifdef ACPI_DEBUGGER -#define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ - ACPI_EXTERNAL_RETURN_OK(Prototype) - -#define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ - ACPI_EXTERNAL_RETURN_VOID(Prototype) - -#else -#define ACPI_DBR_DEPENDENT_RETURN_OK(Prototype) \ - static ACPI_INLINE Prototype {return(AE_OK);} - -#define ACPI_DBR_DEPENDENT_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} - -#endif /* ACPI_DEBUGGER */ - - -/***************************************************************************** - * - * ACPICA public interface prototypes - * - ****************************************************************************/ - -/* - * Initialization - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiInitializeTables ( - ACPI_TABLE_DESC *InitialStorage, - UINT32 InitialTableCount, - BOOLEAN AllowResize)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiInitializeSubsystem ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiEnableSubsystem ( - UINT32 Flags)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiInitializeObjects ( - UINT32 Flags)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiTerminate ( - void)) - - -/* - * Miscellaneous global interfaces - */ -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnable ( - void)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiDisable ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiSubsystemStatus ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetSystemInfo ( - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetStatistics ( - ACPI_STATISTICS *Stats)) - -ACPI_EXTERNAL_RETURN_PTR ( -const char * -AcpiFormatException ( - ACPI_STATUS Exception)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiPurgeCachedObjects ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallInterface ( - ACPI_STRING InterfaceName)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveInterface ( - ACPI_STRING InterfaceName)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiUpdateInterfaces ( - UINT8 Action)) - -ACPI_EXTERNAL_RETURN_UINT32 ( -UINT32 -AcpiCheckAddressRange ( - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_PHYSICAL_ADDRESS Address, - ACPI_SIZE Length, - BOOLEAN Warn)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiDecodePldBuffer ( - UINT8 *InBuffer, - ACPI_SIZE Length, - ACPI_PLD_INFO **ReturnBuffer)) - - -/* - * ACPI table load/unload interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiInstallTable ( - ACPI_TABLE_HEADER *Table)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiInstallPhysicalTable ( - ACPI_PHYSICAL_ADDRESS Address)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiLoadTable ( - ACPI_TABLE_HEADER *Table, - UINT32 *TableIdx)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiUnloadTable ( - UINT32 TableIndex)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiUnloadParentTable ( - ACPI_HANDLE Object)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiLoadTables ( - void)) - - -/* - * ACPI table manipulation interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiReallocateRootTable ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS ACPI_INIT_FUNCTION -AcpiFindRootPointer ( - ACPI_PHYSICAL_ADDRESS *RsdpAddress)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTableHeader ( - ACPI_STRING Signature, - UINT32 Instance, - ACPI_TABLE_HEADER *OutTableHeader)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTable ( - ACPI_STRING Signature, - UINT32 Instance, - ACPI_TABLE_HEADER **OutTable)) - -ACPI_EXTERNAL_RETURN_VOID ( -void -AcpiPutTable ( - ACPI_TABLE_HEADER *Table)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTableByIndex ( - UINT32 TableIndex, - ACPI_TABLE_HEADER **OutTable)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallTableHandler ( - ACPI_TABLE_HANDLER Handler, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveTableHandler ( - ACPI_TABLE_HANDLER Handler)) - - -/* - * Namespace and name interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiWalkNamespace ( - ACPI_OBJECT_TYPE Type, - ACPI_HANDLE StartObject, - UINT32 MaxDepth, - ACPI_WALK_CALLBACK DescendingCallback, - ACPI_WALK_CALLBACK AscendingCallback, - void *Context, - void **ReturnValue)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetDevices ( - char *HID, - ACPI_WALK_CALLBACK UserFunction, - void *Context, - void **ReturnValue)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetName ( - ACPI_HANDLE Object, - UINT32 NameType, - ACPI_BUFFER *RetPathPtr)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetHandle ( - ACPI_HANDLE Parent, - const char *Pathname, - ACPI_HANDLE *RetHandle)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiAttachData ( - ACPI_HANDLE Object, - ACPI_OBJECT_HANDLER Handler, - void *Data)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiDetachData ( - ACPI_HANDLE Object, - ACPI_OBJECT_HANDLER Handler)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetData ( - ACPI_HANDLE Object, - ACPI_OBJECT_HANDLER Handler, - void **Data)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiDebugTrace ( - const char *Name, - UINT32 DebugLevel, - UINT32 DebugLayer, - UINT32 Flags)) - - -/* - * Object manipulation and enumeration - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiEvaluateObject ( - ACPI_HANDLE Object, - ACPI_STRING Pathname, - ACPI_OBJECT_LIST *ParameterObjects, - ACPI_BUFFER *ReturnObjectBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiEvaluateObjectTyped ( - ACPI_HANDLE Object, - ACPI_STRING Pathname, - ACPI_OBJECT_LIST *ExternalParams, - ACPI_BUFFER *ReturnBuffer, - ACPI_OBJECT_TYPE ReturnType)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetObjectInfo ( - ACPI_HANDLE Object, - ACPI_DEVICE_INFO **ReturnBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallMethod ( - UINT8 *Buffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetNextObject ( - ACPI_OBJECT_TYPE Type, - ACPI_HANDLE Parent, - ACPI_HANDLE Child, - ACPI_HANDLE *OutHandle)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetType ( - ACPI_HANDLE Object, - ACPI_OBJECT_TYPE *OutType)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetParent ( - ACPI_HANDLE Object, - ACPI_HANDLE *OutHandle)) - - -/* - * Handler interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallInitializationHandler ( - ACPI_INIT_HANDLER Handler, - UINT32 Function)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallSciHandler ( - ACPI_SCI_HANDLER Address, - void *Context)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveSciHandler ( - ACPI_SCI_HANDLER Address)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallGlobalEventHandler ( - ACPI_GBL_EVENT_HANDLER Handler, - void *Context)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallFixedEventHandler ( - UINT32 AcpiEvent, - ACPI_EVENT_HANDLER Handler, - void *Context)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveFixedEventHandler ( - UINT32 AcpiEvent, - ACPI_EVENT_HANDLER Handler)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallGpeHandler ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - UINT32 Type, - ACPI_GPE_HANDLER Address, - void *Context)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallGpeRawHandler ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - UINT32 Type, - ACPI_GPE_HANDLER Address, - void *Context)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveGpeHandler ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - ACPI_GPE_HANDLER Address)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallNotifyHandler ( - ACPI_HANDLE Device, - UINT32 HandlerType, - ACPI_NOTIFY_HANDLER Handler, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveNotifyHandler ( - ACPI_HANDLE Device, - UINT32 HandlerType, - ACPI_NOTIFY_HANDLER Handler)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallAddressSpaceHandler ( - ACPI_HANDLE Device, - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_ADR_SPACE_HANDLER Handler, - ACPI_ADR_SPACE_SETUP Setup, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallAddressSpaceHandlerNo_Reg( - ACPI_HANDLE Device, - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_ADR_SPACE_HANDLER Handler, - ACPI_ADR_SPACE_SETUP Setup, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiExecuteRegMethods ( - ACPI_HANDLE Device, - ACPI_ADR_SPACE_TYPE SpaceId)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveAddressSpaceHandler ( - ACPI_HANDLE Device, - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_ADR_SPACE_HANDLER Handler)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallExceptionHandler ( - ACPI_EXCEPTION_HANDLER Handler)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallInterfaceHandler ( - ACPI_INTERFACE_HANDLER Handler)) - - -/* - * Global Lock interfaces - */ -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiAcquireGlobalLock ( - UINT16 Timeout, - UINT32 *Handle)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiReleaseGlobalLock ( - UINT32 Handle)) - - -/* - * Interfaces to AML mutex objects - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiAcquireMutex ( - ACPI_HANDLE Handle, - ACPI_STRING Pathname, - UINT16 Timeout)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiReleaseMutex ( - ACPI_HANDLE Handle, - ACPI_STRING Pathname)) - - -/* - * Fixed Event interfaces - */ -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnableEvent ( - UINT32 Event, - UINT32 Flags)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiDisableEvent ( - UINT32 Event, - UINT32 Flags)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiClearEvent ( - UINT32 Event)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetEventStatus ( - UINT32 Event, - ACPI_EVENT_STATUS *EventStatus)) - - -/* - * General Purpose Event (GPE) Interfaces - */ -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiUpdateAllGpes ( - void)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnableGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiDisableGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiClearGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiSetGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - UINT8 Action)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiFinishGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiMaskGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - BOOLEAN IsMasked)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiMarkGpeForWake ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiSetupGpeForWake ( - ACPI_HANDLE ParentDevice, - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiSetGpeWakeMask ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - UINT8 Action)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetGpeStatus ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - ACPI_EVENT_STATUS *EventStatus)) - -ACPI_HW_DEPENDENT_RETURN_UINT32 ( -UINT32 -AcpiDispatchGpe ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiDisableAllGpes ( - void)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnableAllRuntimeGpes ( - void)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnableAllWakeupGpes ( - void)) - -ACPI_HW_DEPENDENT_RETURN_UINT32 ( - UINT32 AcpiAnyGpeStatusSet ( - void)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetGpeDevice ( - UINT32 GpeIndex, - ACPI_HANDLE *GpeDevice)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiInstallGpeBlock ( - ACPI_HANDLE GpeDevice, - ACPI_GENERIC_ADDRESS *GpeBlockAddress, - UINT32 RegisterCount, - UINT32 InterruptNumber)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiRemoveGpeBlock ( - ACPI_HANDLE GpeDevice)) - - -/* - * Resource interfaces - */ -typedef -ACPI_STATUS (*ACPI_WALK_RESOURCE_CALLBACK) ( - ACPI_RESOURCE *Resource, - void *Context); - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetVendorResource ( - ACPI_HANDLE Device, - char *Name, - ACPI_VENDOR_UUID *Uuid, - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetCurrentResources ( - ACPI_HANDLE Device, - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetPossibleResources ( - ACPI_HANDLE Device, - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetEventResources ( - ACPI_HANDLE DeviceHandle, - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiWalkResourceBuffer ( - ACPI_BUFFER *Buffer, - ACPI_WALK_RESOURCE_CALLBACK UserFunction, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiWalkResources ( - ACPI_HANDLE Device, - char *Name, - ACPI_WALK_RESOURCE_CALLBACK UserFunction, - void *Context)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiSetCurrentResources ( - ACPI_HANDLE Device, - ACPI_BUFFER *InBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetIrqRoutingTable ( - ACPI_HANDLE Device, - ACPI_BUFFER *RetBuffer)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiResourceToAddress64 ( - ACPI_RESOURCE *Resource, - ACPI_RESOURCE_ADDRESS64 *Out)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiBufferToResource ( - UINT8 *AmlBuffer, - UINT16 AmlBufferLength, - ACPI_RESOURCE **ResourcePtr)) - - -/* - * Hardware (ACPI device) interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiReset ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiRead ( - UINT64 *Value, - ACPI_GENERIC_ADDRESS *Reg)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiWrite ( - UINT64 Value, - ACPI_GENERIC_ADDRESS *Reg)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiReadBitRegister ( - UINT32 RegisterId, - UINT32 *ReturnValue)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiWriteBitRegister ( - UINT32 RegisterId, - UINT32 Value)) - - -/* - * Sleep/Wake interfaces - */ -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiGetSleepTypeData ( - UINT8 SleepState, - UINT8 *Slp_TypA, - UINT8 *Slp_TypB)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiEnterSleepStatePrep ( - UINT8 SleepState)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiEnterSleepState ( - UINT8 SleepState)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiEnterSleepStateS4bios ( - void)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiLeaveSleepStatePrep ( - UINT8 SleepState)) - -ACPI_EXTERNAL_RETURN_STATUS ( -ACPI_STATUS -AcpiLeaveSleepState ( - UINT8 SleepState)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiSetFirmwareWakingVector ( - ACPI_PHYSICAL_ADDRESS PhysicalAddress, - ACPI_PHYSICAL_ADDRESS PhysicalAddress64)) - - -/* - * ACPI Timer interfaces - */ -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTimerResolution ( - UINT32 *Resolution)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTimer ( - UINT32 *Ticks)) - -ACPI_HW_DEPENDENT_RETURN_STATUS ( -ACPI_STATUS -AcpiGetTimerDuration ( - UINT32 StartTicks, - UINT32 EndTicks, - UINT32 *TimeElapsed)) - - -/* - * Error/Warning output - */ -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(3) -void ACPI_INTERNAL_VAR_XFACE -AcpiError ( - const char *ModuleName, - UINT32 LineNumber, - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(4) -void ACPI_INTERNAL_VAR_XFACE -AcpiException ( - const char *ModuleName, - UINT32 LineNumber, - ACPI_STATUS Status, - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(3) -void ACPI_INTERNAL_VAR_XFACE -AcpiWarning ( - const char *ModuleName, - UINT32 LineNumber, - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(1) -void ACPI_INTERNAL_VAR_XFACE -AcpiInfo ( - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(3) -void ACPI_INTERNAL_VAR_XFACE -AcpiBiosError ( - const char *ModuleName, - UINT32 LineNumber, - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(4) -void ACPI_INTERNAL_VAR_XFACE -AcpiBiosException ( - const char *ModuleName, - UINT32 LineNumber, - ACPI_STATUS Status, - const char *Format, - ...)) - -ACPI_MSG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(3) -void ACPI_INTERNAL_VAR_XFACE -AcpiBiosWarning ( - const char *ModuleName, - UINT32 LineNumber, - const char *Format, - ...)) - - -/* - * Debug output - */ -ACPI_DBG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(6) -void ACPI_INTERNAL_VAR_XFACE -AcpiDebugPrint ( - UINT32 RequestedDebugLevel, - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - const char *Format, - ...)) - -ACPI_DBG_DEPENDENT_RETURN_VOID ( -ACPI_PRINTF_LIKE(6) -void ACPI_INTERNAL_VAR_XFACE -AcpiDebugPrintRaw ( - UINT32 RequestedDebugLevel, - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - const char *Format, - ...)) - -ACPI_DBG_DEPENDENT_RETURN_VOID ( -void -AcpiTracePoint ( - ACPI_TRACE_EVENT_TYPE Type, - BOOLEAN Begin, - UINT8 *Aml, - char *Pathname)) - -ACPI_STATUS -AcpiInitializeDebugger ( - void); - -void -AcpiTerminateDebugger ( - void); - -void -AcpiRunDebugger ( - char *BatchBuffer); - -void -AcpiSetDebuggerThreadId ( - ACPI_THREAD_ID ThreadId); - -#endif /* __ACXFACE_H__ */ diff --git a/Private/acpiSDK/source/include/acpredef.h b/Private/acpiSDK/source/include/acpredef.h deleted file mode 100644 index 303dfaec..00000000 --- a/Private/acpiSDK/source/include/acpredef.h +++ /dev/null @@ -1,1305 +0,0 @@ -/****************************************************************************** - * - * Name: acpredef - Information table for ACPI predefined methods and objects - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACPREDEF_H__ -#define __ACPREDEF_H__ - - -/****************************************************************************** - * - * Return Package types - * - * 1) PTYPE1 packages do not contain subpackages. - * - * ACPI_PTYPE1_FIXED: Fixed-length length, 1 or 2 object types: - * object type - * count - * object type - * count - * - * ACPI_PTYPE1_VAR: Variable-length length. Zero-length package is allowed: - * object type (Int/Buf/Ref) - * - * ACPI_PTYPE1_OPTION: Package has some required and some optional elements - * (Used for _PRW) - * - * - * 2) PTYPE2 packages contain a Variable-length number of subpackages. Each - * of the different types describe the contents of each of the subpackages. - * - * ACPI_PTYPE2: Each subpackage contains 1 or 2 object types. Zero-length - * parent package is allowed: - * object type - * count - * object type - * count - * (Used for _ALR,_MLS,_PSS,_TRT,_TSS) - * - * ACPI_PTYPE2_COUNT: Each subpackage has a count as first element. - * Zero-length parent package is allowed: - * object type - * (Used for _CSD,_PSD,_TSD) - * - * ACPI_PTYPE2_PKG_COUNT: Count of subpackages at start, 1 or 2 object types: - * object type - * count - * object type - * count - * (Used for _CST) - * - * ACPI_PTYPE2_FIXED: Each subpackage is of Fixed-length. Zero-length - * parent package is allowed. - * (Used for _PRT) - * - * ACPI_PTYPE2_MIN: Each subpackage has a Variable-length but minimum length. - * Zero-length parent package is allowed: - * (Used for _HPX) - * - * ACPI_PTYPE2_REV_FIXED: Revision at start, each subpackage is Fixed-length - * (Used for _ART, _FPS) - * - * ACPI_PTYPE2_FIX_VAR: Each subpackage consists of some fixed-length elements - * followed by an optional element. Zero-length parent package is allowed. - * object type - * count - * object type - * count = 0 (optional) - * (Used for _DLM) - * - * ACPI_PTYPE2_VAR_VAR: Variable number of subpackages, each of either a - * constant or variable length. The subpackages are preceded by a - * constant number of objects. - * (Used for _LPI, _RDI) - * - * ACPI_PTYPE2_UUID_PAIR: Each subpackage is preceded by a UUID Buffer. The UUID - * defines the format of the package. Zero-length parent package is - * allowed. - * (Used for _DSD) - * - *****************************************************************************/ - -enum AcpiReturnPackageTypes -{ - ACPI_PTYPE1_FIXED = 1, - ACPI_PTYPE1_VAR = 2, - ACPI_PTYPE1_OPTION = 3, - ACPI_PTYPE2 = 4, - ACPI_PTYPE2_COUNT = 5, - ACPI_PTYPE2_PKG_COUNT = 6, - ACPI_PTYPE2_FIXED = 7, - ACPI_PTYPE2_MIN = 8, - ACPI_PTYPE2_REV_FIXED = 9, - ACPI_PTYPE2_FIX_VAR = 10, - ACPI_PTYPE2_VAR_VAR = 11, - ACPI_PTYPE2_UUID_PAIR = 12, - ACPI_PTYPE_CUSTOM = 13 -}; - - -/* Support macros for users of the predefined info table */ - -#define METHOD_PREDEF_ARGS_MAX 5 -#define METHOD_ARG_BIT_WIDTH 3 -#define METHOD_ARG_MASK 0x0007 -#define ARG_COUNT_IS_MINIMUM 0x8000 -#define METHOD_MAX_ARG_TYPE ACPI_TYPE_PACKAGE - -#define METHOD_GET_ARG_COUNT(ArgList) ((ArgList) & METHOD_ARG_MASK) -#define METHOD_GET_NEXT_TYPE(ArgList) (((ArgList) >>= METHOD_ARG_BIT_WIDTH) & METHOD_ARG_MASK) - -/* Macros used to build the predefined info table */ - -#define METHOD_0ARGS 0 -#define METHOD_1ARGS(a1) (1 | (a1 << 3)) -#define METHOD_2ARGS(a1,a2) (2 | (a1 << 3) | (a2 << 6)) -#define METHOD_3ARGS(a1,a2,a3) (3 | (a1 << 3) | (a2 << 6) | (a3 << 9)) -#define METHOD_4ARGS(a1,a2,a3,a4) (4 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12)) -#define METHOD_5ARGS(a1,a2,a3,a4,a5) (5 | (a1 << 3) | (a2 << 6) | (a3 << 9) | (a4 << 12) | (a5 << 15)) - -#define METHOD_RETURNS(type) (type) -#define METHOD_NO_RETURN_VALUE 0 - -#define PACKAGE_INFO(a,b,c,d,e,f) {{{(a),(b),(c),(d)}, ((((UINT16)(f)) << 8) | (e)), 0}} - - -/* Support macros for the resource descriptor info table */ - -#define WIDTH_1 0x0001 -#define WIDTH_2 0x0002 -#define WIDTH_3 0x0004 -#define WIDTH_8 0x0008 -#define WIDTH_16 0x0010 -#define WIDTH_32 0x0020 -#define WIDTH_64 0x0040 -#define VARIABLE_DATA 0x0080 -#define NUM_RESOURCE_WIDTHS 8 - -#define WIDTH_ADDRESS WIDTH_16 | WIDTH_32 | WIDTH_64 - - -#ifdef ACPI_CREATE_PREDEFINED_TABLE -/****************************************************************************** - * - * Predefined method/object information table. - * - * These are the names that can actually be evaluated via AcpiEvaluateObject. - * Not present in this table are the following: - * - * 1) Predefined/Reserved names that are not usually evaluated via - * AcpiEvaluateObject: - * _Lxx and _Exx GPE methods - * _Qxx EC methods - * _T_x compiler temporary variables - * _Wxx wake events - * - * 2) Predefined names that never actually exist within the AML code: - * Predefined resource descriptor field names - * - * 3) Predefined names that are implemented within ACPICA: - * _OSI - * - * The main entries in the table each contain the following items: - * - * Name - The ACPI reserved name - * ArgumentList - Contains (in 16 bits), the number of required - * arguments to the method (3 bits), and a 3-bit type - * field for each argument (up to 4 arguments). The - * METHOD_?ARGS macros generate the correct packed data. - * ExpectedBtypes - Allowed type(s) for the return value. - * 0 means that no return value is expected. - * - * For methods that return packages, the next entry in the table contains - * information about the expected structure of the package. This information - * is saved here (rather than in a separate table) in order to minimize the - * overall size of the stored data. - * - * Note: The additional braces are intended to promote portability. - * - * Note2: Table is used by the kernel-resident subsystem, the iASL compiler, - * and the AcpiHelp utility. - * - * TBD: _PRT - currently ignore reversed entries. Attempt to fix in nsrepair. - * Possibly fixing package elements like _BIF, etc. - * - *****************************************************************************/ - -const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[] = -{ - {{"_AC0", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC1", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC2", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC3", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC4", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC5", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC6", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC7", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC8", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AC9", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ADR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_AEI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_AL0", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL1", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL2", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL3", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL4", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL5", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL6", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL7", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL8", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_AL9", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_ALC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ALI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ALP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ALR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 (Ints) */ - PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 2,0,0,0), - - {{"_ALT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ART", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Ref/11 Int) */ - PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 11,0), - - {{"_BBN", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BCL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0), - - {{"_BCM", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_BCT", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BDN", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BFS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_BIF", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (9 Int),(4 Str) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 9, ACPI_RTYPE_STRING, 4,0), - - {{"_BIX", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int),(4 Str) */ - PACKAGE_INFO (ACPI_PTYPE_CUSTOM, ACPI_RTYPE_INTEGER, 16, ACPI_RTYPE_STRING, 4,0), - - {{"_BLT", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_BMA", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BMC", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_BMD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0), - - {{"_BMS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - {{"_BPS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (5 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 5,0,0,0), - - {{"_BPT", METHOD_1ARGS (ACPI_TYPE_PACKAGE), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BQC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BST", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - {{"_BTH", METHOD_1ARGS (ACPI_TYPE_INTEGER), /* ACPI 6.0 */ - METHOD_NO_RETURN_VALUE}}, - - {{"_BTM", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_BTP", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_CBA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See PCI firmware spec 3.0 */ - - {{"_CBR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0), - - {{"_CCA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 5.1 */ - - {{"_CDM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_CID", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Strs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING, 0,0,0,0), - - {{"_CLS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0), - - {{"_CPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints/Bufs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER, 0,0,0,0), - - {{"_CR3", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_CRS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_CRT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_CSD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n-1 Int) */ - PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0), - - {{"_CST", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(n), n Pkg (1 Buf/3 Int) */ - PACKAGE_INFO (ACPI_PTYPE2_PKG_COUNT,ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_INTEGER, 3,0), - - {{"_CWS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_DCK", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_DCS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_DDC", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER)}}, - - {{"_DDN", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_STRING)}}, - - {{"_DEP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_DGS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_DIS", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_DLM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Ref, 0/1 Optional Buf/Ref) */ - PACKAGE_INFO (ACPI_PTYPE2_FIX_VAR, ACPI_RTYPE_REFERENCE, 1, ACPI_RTYPE_REFERENCE | ACPI_RTYPE_BUFFER, 0,0), - - {{"_DMA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_DOD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0), - - {{"_DOS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - { {"_DSC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_DSD", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: 1 Buf, 1 Pkg */ - PACKAGE_INFO (ACPI_PTYPE2_UUID_PAIR, ACPI_RTYPE_BUFFER, 1, ACPI_RTYPE_PACKAGE, 1,0), - - {{"_DSM", METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_PACKAGE), - METHOD_RETURNS (ACPI_RTYPE_ALL)}}, /* Must return a value, but it can be of any type */ - - {{"_DSS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_DSW", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_DTI", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EC_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_EDL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs)*/ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_EJ0", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EJ1", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EJ2", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EJ3", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EJ4", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_EJD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_STRING)}}, - - {{"_ERR", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_STRING, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* Internal use only, used by ACPICA test suites */ - - {{"_EVT", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_FDE", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_FDI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (16 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 16,0,0,0), - - {{"_FDM", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_FIF", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - {{"_FIT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, /* ACPI 6.0 */ - - {{"_FIX", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Ints) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 0,0,0,0), - - {{"_FPS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (5 Int) */ - PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED,ACPI_RTYPE_INTEGER, 5, 0,0,0), - - {{"_FSL", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_FST", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0), - - {{"_GAI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GCP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GHL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GLK", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GPD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GPE", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* _GPE method, not _GPE scope */ - - {{"_GRT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_GSB", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_GTF", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_GTM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_GTS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_GWS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_HID", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}}, - - {{"_HMA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_HOT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_HPP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - /* - * For _HPX, a single package is returned, containing a variable-length number - * of subpackages. Each subpackage contains a PCI record setting. - * There are several different type of record settings, of different - * lengths, but all elements of all settings are Integers. - */ - {{"_HPX", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (var Ints) */ - PACKAGE_INFO (ACPI_PTYPE2_MIN, ACPI_RTYPE_INTEGER, 5,0,0,0), - - {{"_HRV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_IFT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */ - - {{"_INI", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_IRC", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_LCK", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_LID", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_LPD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int(rev), n Pkg (2 Int) */ - PACKAGE_INFO (ACPI_PTYPE2_REV_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), - - {{"_LPI", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (3 Int, n Pkg (10 Int/Buf) */ - PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 3, - ACPI_RTYPE_INTEGER | ACPI_RTYPE_BUFFER | ACPI_RTYPE_STRING, 10,0), - - {{"_LSI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3,0,0,0), - - {{"_LSR", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER, 1,0), - - {{"_LSW", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_MAT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_MBM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (8 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 8,0,0,0), - - {{"_MLS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (1 Str/1 Buf) */ - PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_STRING, 1, ACPI_RTYPE_BUFFER, 1,0), - - {{"_MSG", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_MSM", METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_MTL", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_NBS", METHOD_0ARGS, /* ACPI 6.3 */ - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_NCH", METHOD_0ARGS, /* ACPI 6.3 */ - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_NIC", METHOD_0ARGS, /* ACPI 6.3 */ - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_NIG", METHOD_0ARGS, /* ACPI 6.3 */ - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_NIH", METHOD_1ARGS (ACPI_TYPE_BUFFER), /* ACPI 6.3 */ - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_NTT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_OFF", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_ON_", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_OS_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_STRING)}}, - - {{"_OSC", METHOD_4ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_OST", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_BUFFER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PAI", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PCL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PCT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0), - - {{"_PDC", METHOD_1ARGS (ACPI_TYPE_BUFFER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PDL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PIC", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PIF", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (3 Int),(3 Str) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 3, ACPI_RTYPE_STRING, 3,0), - - {{"_PLD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Bufs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_BUFFER, 0,0,0,0), - - {{"_PMC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (11 Int),(3 Str) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 11, ACPI_RTYPE_STRING, 3,0), - - {{"_PMD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PMM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PPE", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See dig64 spec */ - - {{"_PR0", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PR1", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PR2", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PR3", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PRE", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PRL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PRR", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Ref) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_REFERENCE, 1,0,0,0), - - {{"_PRS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - /* - * For _PRT, many BIOSs reverse the 3rd and 4th Package elements (Source - * and SourceIndex). This bug is so prevalent that there is code in the - * ACPICA Resource Manager to detect this and switch them back. For now, - * do not allow and issue a warning. To allow this and eliminate the - * warning, add the ACPI_RTYPE_REFERENCE type to the 4th element (index 3) - * in the statement below. - */ - {{"_PRT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (4): Int,Int,Int/Ref,Int */ - PACKAGE_INFO (ACPI_PTYPE2_FIXED, 4, ACPI_RTYPE_INTEGER, ACPI_RTYPE_INTEGER, - ACPI_RTYPE_INTEGER | ACPI_RTYPE_REFERENCE, ACPI_RTYPE_INTEGER), - - {{"_PRW", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each: Pkg/Int,Int,[Variable-length Refs] (Pkg is Ref/Int) */ - PACKAGE_INFO (ACPI_PTYPE1_OPTION, 2, ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE, - ACPI_RTYPE_INTEGER, ACPI_RTYPE_REFERENCE, 0), - - {{"_PS0", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_PS1", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_PS2", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_PS3", METHOD_0ARGS, - METHOD_NO_RETURN_VALUE}}, - - {{"_PSC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PSD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (5 Int) with count */ - PACKAGE_INFO (ACPI_PTYPE2_COUNT, ACPI_RTYPE_INTEGER, 0,0,0,0), - - {{"_PSE", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PSL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_PSR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PSS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each (6 Int) */ - PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 6,0,0,0), - - {{"_PSV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PSW", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PTC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Buf) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER, 2,0,0,0), - - {{"_PTP", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_PTS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_PUR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), - - {{"_PXM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_RDI", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (1 Int, n Pkg (m Ref)) */ - PACKAGE_INFO (ACPI_PTYPE2_VAR_VAR, ACPI_RTYPE_INTEGER, 1, - ACPI_RTYPE_REFERENCE,0,0), - - {{"_REG", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_REV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_RMV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_ROM", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_RST", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_NO_RETURN_VALUE}}, - - {{"_RTV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - /* - * For _S0_ through _S5_, the ACPI spec defines a return Package - * containing 1 Integer, but most DSDTs have it wrong - 2,3, or 4 integers. - * Allow this by making the objects "Variable-length length", but all elements - * must be Integers. - */ - {{"_S0_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S1_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S2_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S3_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S4_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S5_", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_INTEGER, 1,0,0,0), - - {{"_S1D", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S2D", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S3D", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S4D", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S0W", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S1W", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S2W", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S3W", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_S4W", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SBA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - {{"_SBI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (1 Int, 1 Buf) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 1, ACPI_RTYPE_BUFFER,1,0), - - {{"_SBR", METHOD_3ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1,0), - - {{"_SBS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SBT", METHOD_4ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY), - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (2 Int, 1 Buf | Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1,0), - - {{"_SBW", METHOD_5ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER, ACPI_TYPE_ANY), - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_BUFFER | ACPI_RTYPE_INTEGER, 1, 0,0,0), - - {{"_SCP", METHOD_1ARGS (ACPI_TYPE_INTEGER) | ARG_COUNT_IS_MINIMUM, - METHOD_NO_RETURN_VALUE}}, /* Acpi 1.0 allowed 1 integer arg. Acpi 3.0 expanded to 3 args. Allow both. */ - - {{"_SDD", METHOD_1ARGS (ACPI_TYPE_BUFFER), - METHOD_NO_RETURN_VALUE}}, - - {{"_SEG", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SHL", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SLI", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_SPD", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SRS", METHOD_1ARGS (ACPI_TYPE_BUFFER), - METHOD_NO_RETURN_VALUE}}, - - {{"_SRT", METHOD_1ARGS (ACPI_TYPE_BUFFER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SRV", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* See IPMI spec */ - - {{"_SST", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_STA", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_STM", METHOD_3ARGS (ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER, ACPI_TYPE_BUFFER), - METHOD_NO_RETURN_VALUE}}, - - {{"_STP", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_STR", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_STV", METHOD_2ARGS (ACPI_TYPE_INTEGER, ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SUB", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_STRING)}}, - - {{"_SUN", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_SWS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TC1", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TC2", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TDL", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TFP", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TIP", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TIV", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TMP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TPT", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_TRT", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 2 Ref/6 Int */ - PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_REFERENCE, 2, ACPI_RTYPE_INTEGER, 6, 0), - - {{"_TSD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int with count */ - PACKAGE_INFO (ACPI_PTYPE2_COUNT,ACPI_RTYPE_INTEGER, 5,0,0,0), - - {{"_TSN", METHOD_0ARGS, /* ACPI 6.0 */ - METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}}, - - {{"_TSP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TSS", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Pkgs) each 5 Int */ - PACKAGE_INFO (ACPI_PTYPE2, ACPI_RTYPE_INTEGER, 5,0,0,0), - - {{"_TST", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_TTS", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_NO_RETURN_VALUE}}, - - {{"_TZD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Variable-length (Refs) */ - PACKAGE_INFO (ACPI_PTYPE1_VAR, ACPI_RTYPE_REFERENCE, 0,0,0,0), - - {{"_TZM", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_REFERENCE)}}, - - {{"_TZP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_UID", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING)}}, - - {{"_UPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_PACKAGE)}}, /* Fixed-length (4 Int) */ - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 4,0,0,0), - - {{"_UPD", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_UPP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - {{"_VPO", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, - - /* Acpi 1.0 defined _WAK with no return value. Later, it was changed to return a package */ - - {{"_WAK", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_NONE | ACPI_RTYPE_INTEGER | ACPI_RTYPE_PACKAGE)}}, - PACKAGE_INFO (ACPI_PTYPE1_FIXED, ACPI_RTYPE_INTEGER, 2,0,0,0), /* Fixed-length (2 Int), but is optional */ - - /* _WDG/_WED are MS extensions defined by "Windows Instrumentation" */ - - {{"_WDG", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_BUFFER)}}, - - {{"_WED", METHOD_1ARGS (ACPI_TYPE_INTEGER), - METHOD_RETURNS (ACPI_RTYPE_INTEGER | ACPI_RTYPE_STRING | ACPI_RTYPE_BUFFER)}}, - - {{"_WPC", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */ - - {{"_WPP", METHOD_0ARGS, - METHOD_RETURNS (ACPI_RTYPE_INTEGER)}}, /* ACPI 6.1 */ - - PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */ -}; -#else -extern const ACPI_PREDEFINED_INFO AcpiGbl_PredefinedMethods[]; -#endif - - -#if (defined ACPI_CREATE_RESOURCE_TABLE && defined ACPI_APPLICATION) -/****************************************************************************** - * - * Predefined names for use in Resource Descriptors. These names do not - * appear in the global Predefined Name table (since these names never - * appear in actual AML byte code, only in the original ASL) - * - * Note: Used by iASL compiler and AcpiHelp utility only. - * - *****************************************************************************/ - -const ACPI_PREDEFINED_INFO AcpiGbl_ResourceNames[] = -{ - {{"_ADR", WIDTH_16 | WIDTH_64, 0}}, - {{"_ALN", WIDTH_8 | WIDTH_16 | WIDTH_32, 0}}, - {{"_ASI", WIDTH_8, 0}}, - {{"_ASZ", WIDTH_8, 0}}, - {{"_ATT", WIDTH_64, 0}}, - {{"_BAS", WIDTH_16 | WIDTH_32, 0}}, - {{"_BM_", WIDTH_1, 0}}, - {{"_DBT", WIDTH_16, 0}}, /* Acpi 5.0 */ - {{"_DEC", WIDTH_1, 0}}, - {{"_DMA", WIDTH_8, 0}}, - {{"_DPL", WIDTH_1, 0}}, /* Acpi 5.0 */ - {{"_DRS", WIDTH_16, 0}}, /* Acpi 5.0 */ - {{"_END", WIDTH_1, 0}}, /* Acpi 5.0 */ - {{"_FLC", WIDTH_2, 0}}, /* Acpi 5.0 */ - {{"_GRA", WIDTH_ADDRESS, 0}}, - {{"_HE_", WIDTH_1, 0}}, - {{"_INT", WIDTH_16 | WIDTH_32, 0}}, - {{"_IOR", WIDTH_2, 0}}, /* Acpi 5.0 */ - {{"_LEN", WIDTH_8 | WIDTH_ADDRESS, 0}}, - {{"_LIN", WIDTH_8, 0}}, /* Acpi 5.0 */ - {{"_LL_", WIDTH_1, 0}}, - {{"_MAF", WIDTH_1, 0}}, - {{"_MAX", WIDTH_ADDRESS, 0}}, - {{"_MEM", WIDTH_2, 0}}, - {{"_MIF", WIDTH_1, 0}}, - {{"_MIN", WIDTH_ADDRESS, 0}}, - {{"_MOD", WIDTH_1, 0}}, /* Acpi 5.0 */ - {{"_MTP", WIDTH_2, 0}}, - {{"_PAR", WIDTH_8, 0}}, /* Acpi 5.0 */ - {{"_PHA", WIDTH_1, 0}}, /* Acpi 5.0 */ - {{"_PIN", WIDTH_16, 0}}, /* Acpi 5.0 */ - {{"_PPI", WIDTH_8, 0}}, /* Acpi 5.0 */ - {{"_POL", WIDTH_1 | WIDTH_2, 0}}, /* Acpi 5.0 */ - {{"_RBO", WIDTH_8, 0}}, - {{"_RBW", WIDTH_8, 0}}, - {{"_RNG", WIDTH_1, 0}}, - {{"_RT_", WIDTH_8, 0}}, /* Acpi 3.0 */ - {{"_RW_", WIDTH_1, 0}}, - {{"_RXL", WIDTH_16, 0}}, /* Acpi 5.0 */ - {{"_SHR", WIDTH_2, 0}}, - {{"_SIZ", WIDTH_2, 0}}, - {{"_SLV", WIDTH_1, 0}}, /* Acpi 5.0 */ - {{"_SPE", WIDTH_32, 0}}, /* Acpi 5.0 */ - {{"_STB", WIDTH_2, 0}}, /* Acpi 5.0 */ - {{"_TRA", WIDTH_ADDRESS, 0}}, - {{"_TRS", WIDTH_1, 0}}, - {{"_TSF", WIDTH_8, 0}}, /* Acpi 3.0 */ - {{"_TTP", WIDTH_1, 0}}, - {{"_TXL", WIDTH_16, 0}}, /* Acpi 5.0 */ - {{"_TYP", WIDTH_2 | WIDTH_16, 0}}, - {{"_VEN", VARIABLE_DATA, 0}}, /* Acpi 5.0 */ - PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */ -}; - -const ACPI_PREDEFINED_INFO AcpiGbl_ScopeNames[] = { - {{"_GPE", 0, 0}}, - {{"_PR_", 0, 0}}, - {{"_SB_", 0, 0}}, - {{"_SI_", 0, 0}}, - {{"_TZ_", 0, 0}}, - PACKAGE_INFO (0,0,0,0,0,0) /* Table terminator */ -}; -#else -extern const ACPI_PREDEFINED_INFO AcpiGbl_ResourceNames[]; -#endif - -#endif diff --git a/Private/acpiSDK/source/include/acresrc.h b/Private/acpiSDK/source/include/acresrc.h deleted file mode 100644 index 85be65dc..00000000 --- a/Private/acpiSDK/source/include/acresrc.h +++ /dev/null @@ -1,569 +0,0 @@ -/****************************************************************************** - * - * Name: acresrc.h - Resource Manager function prototypes - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACRESRC_H__ -#define __ACRESRC_H__ - -/* Need the AML resource descriptor structs */ - -#include "amlresrc.h" - - -/* - * If possible, pack the following structures to byte alignment, since we - * don't care about performance for debug output. Two cases where we cannot - * pack the structures: - * - * 1) Hardware does not support misaligned memory transfers - * 2) Compiler does not support pointers within packed structures - */ -#if (!defined(ACPI_MISALIGNMENT_NOT_SUPPORTED) && !defined(ACPI_PACKED_POINTERS_NOT_SUPPORTED)) -#pragma pack(1) -#endif - -/* - * Individual entry for the resource conversion tables - */ -typedef const struct acpi_rsconvert_info -{ - UINT8 Opcode; - UINT8 ResourceOffset; - UINT8 AmlOffset; - UINT8 Value; - -} ACPI_RSCONVERT_INFO; - -/* Resource conversion opcodes */ - -typedef enum -{ - ACPI_RSC_INITGET = 0, - ACPI_RSC_INITSET, - ACPI_RSC_FLAGINIT, - ACPI_RSC_1BITFLAG, - ACPI_RSC_2BITFLAG, - ACPI_RSC_3BITFLAG, - ACPI_RSC_6BITFLAG, - ACPI_RSC_ADDRESS, - ACPI_RSC_BITMASK, - ACPI_RSC_BITMASK16, - ACPI_RSC_COUNT, - ACPI_RSC_COUNT16, - ACPI_RSC_COUNT_GPIO_PIN, - ACPI_RSC_COUNT_GPIO_RES, - ACPI_RSC_COUNT_GPIO_VEN, - ACPI_RSC_COUNT_SERIAL_RES, - ACPI_RSC_COUNT_SERIAL_VEN, - ACPI_RSC_DATA8, - ACPI_RSC_EXIT_EQ, - ACPI_RSC_EXIT_LE, - ACPI_RSC_EXIT_NE, - ACPI_RSC_LENGTH, - ACPI_RSC_MOVE_GPIO_PIN, - ACPI_RSC_MOVE_GPIO_RES, - ACPI_RSC_MOVE_SERIAL_RES, - ACPI_RSC_MOVE_SERIAL_VEN, - ACPI_RSC_MOVE8, - ACPI_RSC_MOVE16, - ACPI_RSC_MOVE32, - ACPI_RSC_MOVE64, - ACPI_RSC_SET8, - ACPI_RSC_SOURCE, - ACPI_RSC_SOURCEX - -} ACPI_RSCONVERT_OPCODES; - -/* Resource Conversion sub-opcodes */ - -#define ACPI_RSC_COMPARE_AML_LENGTH 0 -#define ACPI_RSC_COMPARE_VALUE 1 - -#define ACPI_RSC_TABLE_SIZE(d) (sizeof (d) / sizeof (ACPI_RSCONVERT_INFO)) - -#define ACPI_RS_OFFSET(f) (UINT8) ACPI_OFFSET (ACPI_RESOURCE,f) -#define AML_OFFSET(f) (UINT8) ACPI_OFFSET (AML_RESOURCE,f) - - -/* - * Individual entry for the resource dump tables - */ -typedef const struct acpi_rsdump_info -{ - UINT8 Opcode; - UINT8 Offset; - const char *Name; - const char **Pointer; - -} ACPI_RSDUMP_INFO; - -/* Values for the Opcode field above */ - -typedef enum -{ - ACPI_RSD_TITLE = 0, - ACPI_RSD_1BITFLAG, - ACPI_RSD_2BITFLAG, - ACPI_RSD_3BITFLAG, - ACPI_RSD_6BITFLAG, - ACPI_RSD_ADDRESS, - ACPI_RSD_DWORDLIST, - ACPI_RSD_LITERAL, - ACPI_RSD_LONGLIST, - ACPI_RSD_SHORTLIST, - ACPI_RSD_SHORTLISTX, - ACPI_RSD_SOURCE, - ACPI_RSD_STRING, - ACPI_RSD_UINT8, - ACPI_RSD_UINT16, - ACPI_RSD_UINT32, - ACPI_RSD_UINT64, - ACPI_RSD_WORDLIST, - ACPI_RSD_LABEL, - ACPI_RSD_SOURCE_LABEL, - -} ACPI_RSDUMP_OPCODES; - -/* restore default alignment */ - -#pragma pack() - - -/* Resource tables indexed by internal resource type */ - -extern const UINT8 AcpiGbl_AmlResourceSizes[]; -extern const UINT8 AcpiGbl_AmlResourceSerialBusSizes[]; -extern ACPI_RSCONVERT_INFO *AcpiGbl_SetResourceDispatch[]; - -/* Resource tables indexed by raw AML resource descriptor type */ - -extern const UINT8 AcpiGbl_ResourceStructSizes[]; -extern const UINT8 AcpiGbl_ResourceStructSerialBusSizes[]; -extern ACPI_RSCONVERT_INFO *AcpiGbl_GetResourceDispatch[]; - -extern ACPI_RSCONVERT_INFO *AcpiGbl_ConvertResourceSerialBusDispatch[]; - -typedef struct acpi_vendor_walk_info -{ - ACPI_VENDOR_UUID *Uuid; - ACPI_BUFFER *Buffer; - ACPI_STATUS Status; - -} ACPI_VENDOR_WALK_INFO; - - -/* - * rscreate - */ -ACPI_STATUS -AcpiRsCreateResourceList ( - ACPI_OPERAND_OBJECT *AmlBuffer, - ACPI_BUFFER *OutputBuffer); - -ACPI_STATUS -AcpiRsCreateAmlResources ( - ACPI_BUFFER *ResourceList, - ACPI_BUFFER *OutputBuffer); - -ACPI_STATUS -AcpiRsCreatePciRoutingTable ( - ACPI_OPERAND_OBJECT *PackageObject, - ACPI_BUFFER *OutputBuffer); - - -/* - * rsutils - */ -ACPI_STATUS -AcpiRsGetPrtMethodData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiRsGetCrsMethodData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiRsGetPrsMethodData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiRsGetMethodData ( - ACPI_HANDLE Handle, - const char *Path, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiRsSetSrsMethodData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiRsGetAeiMethodData ( - ACPI_NAMESPACE_NODE *Node, - ACPI_BUFFER *RetBuffer); - -/* - * rscalc - */ -ACPI_STATUS -AcpiRsGetListLength ( - UINT8 *AmlBuffer, - UINT32 AmlBufferLength, - ACPI_SIZE *SizeNeeded); - -ACPI_STATUS -AcpiRsGetAmlLength ( - ACPI_RESOURCE *ResourceList, - ACPI_SIZE ResourceListSize, - ACPI_SIZE *SizeNeeded); - -ACPI_STATUS -AcpiRsGetPciRoutingTableLength ( - ACPI_OPERAND_OBJECT *PackageObject, - ACPI_SIZE *BufferSizeNeeded); - -ACPI_STATUS -AcpiRsConvertAmlToResources ( - UINT8 *Aml, - UINT32 Length, - UINT32 Offset, - UINT8 ResourceIndex, - void **Context); - -ACPI_STATUS -AcpiRsConvertResourcesToAml ( - ACPI_RESOURCE *Resource, - ACPI_SIZE AmlSizeNeeded, - UINT8 *OutputBuffer); - - -/* - * rsaddr - */ -void -AcpiRsSetAddressCommon ( - AML_RESOURCE *Aml, - ACPI_RESOURCE *Resource); - -BOOLEAN -AcpiRsGetAddressCommon ( - ACPI_RESOURCE *Resource, - AML_RESOURCE *Aml); - - -/* - * rsmisc - */ -ACPI_STATUS -AcpiRsConvertAmlToResource ( - ACPI_RESOURCE *Resource, - AML_RESOURCE *Aml, - ACPI_RSCONVERT_INFO *Info); - -ACPI_STATUS -AcpiRsConvertResourceToAml ( - ACPI_RESOURCE *Resource, - AML_RESOURCE *Aml, - ACPI_RSCONVERT_INFO *Info); - - -/* - * rsutils - */ -void -AcpiRsMoveData ( - void *Destination, - void *Source, - UINT16 ItemCount, - UINT8 MoveType); - -UINT8 -AcpiRsDecodeBitmask ( - UINT16 Mask, - UINT8 *List); - -UINT16 -AcpiRsEncodeBitmask ( - UINT8 *List, - UINT8 Count); - -ACPI_RS_LENGTH -AcpiRsGetResourceSource ( - ACPI_RS_LENGTH ResourceLength, - ACPI_RS_LENGTH MinimumLength, - ACPI_RESOURCE_SOURCE *ResourceSource, - AML_RESOURCE *Aml, - char *StringPtr); - -ACPI_RSDESC_SIZE -AcpiRsSetResourceSource ( - AML_RESOURCE *Aml, - ACPI_RS_LENGTH MinimumLength, - ACPI_RESOURCE_SOURCE *ResourceSource); - -void -AcpiRsSetResourceHeader ( - UINT8 DescriptorType, - ACPI_RSDESC_SIZE TotalLength, - AML_RESOURCE *Aml); - -void -AcpiRsSetResourceLength ( - ACPI_RSDESC_SIZE TotalLength, - AML_RESOURCE *Aml); - - -/* - * rsdump - Debugger support - */ -#ifdef ACPI_DEBUGGER -void -AcpiRsDumpResourceList ( - ACPI_RESOURCE *Resource); - -void -AcpiRsDumpIrqList ( - UINT8 *RouteTable); -#endif - - -/* - * Resource conversion tables - */ -extern ACPI_RSCONVERT_INFO AcpiRsConvertDma[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertEndDpf[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertIo[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedIo[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertEndTag[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory24[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertGenericReg[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertMemory32[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedMemory32[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress32[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress16[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertExtIrq[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertAddress64[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertExtAddress64[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertGpio[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertFixedDma[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertCsi2SerialBus[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertI2cSerialBus[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertSpiSerialBus[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertUartSerialBus[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertPinFunction[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertPinConfig[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroup[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupFunction[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertPinGroupConfig[]; -extern ACPI_RSCONVERT_INFO AcpiRsConvertClockInput[]; - -/* These resources require separate get/set tables */ - -extern ACPI_RSCONVERT_INFO AcpiRsGetIrq[]; -extern ACPI_RSCONVERT_INFO AcpiRsGetStartDpf[]; -extern ACPI_RSCONVERT_INFO AcpiRsGetVendorSmall[]; -extern ACPI_RSCONVERT_INFO AcpiRsGetVendorLarge[]; - -extern ACPI_RSCONVERT_INFO AcpiRsSetIrq[]; -extern ACPI_RSCONVERT_INFO AcpiRsSetStartDpf[]; -extern ACPI_RSCONVERT_INFO AcpiRsSetVendor[]; - - -#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) -/* - * rsinfo - */ -extern ACPI_RSDUMP_INFO *AcpiGbl_DumpResourceDispatch[]; -extern ACPI_RSDUMP_INFO *AcpiGbl_DumpSerialBusDispatch[]; - -/* - * rsdumpinfo - */ -extern ACPI_RSDUMP_INFO AcpiRsDumpIrq[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPrt[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpDma[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpStartDpf[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpEndDpf[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpIo[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpIoFlags[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpFixedIo[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpVendor[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpEndTag[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpMemory24[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpMemory32[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpMemoryFlags[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpFixedMemory32[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpAddress16[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpAddress32[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpAddress64[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpExtAddress64[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpExtIrq[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpGenericReg[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpGpio[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPinFunction[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpFixedDma[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpCommonSerialBus[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpCsi2SerialBus[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpI2cSerialBus[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpSpiSerialBus[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpUartSerialBus[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpGeneralFlags[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPinConfig[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroup[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupFunction[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpPinGroupConfig[]; -extern ACPI_RSDUMP_INFO AcpiRsDumpClockInput[]; -#endif - -#endif /* __ACRESRC_H__ */ diff --git a/Private/acpiSDK/source/include/acrestyp.h b/Private/acpiSDK/source/include/acrestyp.h deleted file mode 100644 index 0dab6ec7..00000000 --- a/Private/acpiSDK/source/include/acrestyp.h +++ /dev/null @@ -1,957 +0,0 @@ -/****************************************************************************** - * - * Name: acrestyp.h - Defines, types, and structures for resource descriptors - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACRESTYP_H__ -#define __ACRESTYP_H__ - - -/* - * Definitions for Resource Attributes - */ -typedef UINT16 ACPI_RS_LENGTH; /* Resource Length field is fixed at 16 bits */ -typedef UINT32 ACPI_RSDESC_SIZE; /* Max Resource Descriptor size is (Length+3) = (64K-1)+3 */ - -/* - * Memory Attributes - */ -#define ACPI_READ_ONLY_MEMORY (UINT8) 0x00 -#define ACPI_READ_WRITE_MEMORY (UINT8) 0x01 - -#define ACPI_NON_CACHEABLE_MEMORY (UINT8) 0x00 -#define ACPI_CACHABLE_MEMORY (UINT8) 0x01 -#define ACPI_WRITE_COMBINING_MEMORY (UINT8) 0x02 -#define ACPI_PREFETCHABLE_MEMORY (UINT8) 0x03 - -/*! [Begin] no source code translation */ -/* - * IO Attributes - * The ISA IO ranges are: n000-n0FFh, n400-n4FFh, n800-n8FFh, nC00-nCFFh. - * The non-ISA IO ranges are: n100-n3FFh, n500-n7FFh, n900-nBFFh, nCD0-nFFFh. - */ -/*! [End] no source code translation !*/ - -#define ACPI_NON_ISA_ONLY_RANGES (UINT8) 0x01 -#define ACPI_ISA_ONLY_RANGES (UINT8) 0x02 -#define ACPI_ENTIRE_RANGE (ACPI_NON_ISA_ONLY_RANGES | ACPI_ISA_ONLY_RANGES) - -/* Type of translation - 1=Sparse, 0=Dense */ - -#define ACPI_SPARSE_TRANSLATION (UINT8) 0x01 - -/* - * IO Port Descriptor Decode - */ -#define ACPI_DECODE_10 (UINT8) 0x00 /* 10-bit IO address decode */ -#define ACPI_DECODE_16 (UINT8) 0x01 /* 16-bit IO address decode */ - -/* - * Interrupt attributes - used in multiple descriptors - */ - -/* Triggering */ - -#define ACPI_LEVEL_SENSITIVE (UINT8) 0x00 -#define ACPI_EDGE_SENSITIVE (UINT8) 0x01 - -/* Polarity */ - -#define ACPI_ACTIVE_HIGH (UINT8) 0x00 -#define ACPI_ACTIVE_LOW (UINT8) 0x01 -#define ACPI_ACTIVE_BOTH (UINT8) 0x02 - -/* Sharing */ - -#define ACPI_EXCLUSIVE (UINT8) 0x00 -#define ACPI_SHARED (UINT8) 0x01 - -/* Wake */ - -#define ACPI_NOT_WAKE_CAPABLE (UINT8) 0x00 -#define ACPI_WAKE_CAPABLE (UINT8) 0x01 - -/* - * DMA Attributes - */ -#define ACPI_COMPATIBILITY (UINT8) 0x00 -#define ACPI_TYPE_A (UINT8) 0x01 -#define ACPI_TYPE_B (UINT8) 0x02 -#define ACPI_TYPE_F (UINT8) 0x03 - -#define ACPI_NOT_BUS_MASTER (UINT8) 0x00 -#define ACPI_BUS_MASTER (UINT8) 0x01 - -#define ACPI_TRANSFER_8 (UINT8) 0x00 -#define ACPI_TRANSFER_8_16 (UINT8) 0x01 -#define ACPI_TRANSFER_16 (UINT8) 0x02 - -/* - * Start Dependent Functions Priority definitions - */ -#define ACPI_GOOD_CONFIGURATION (UINT8) 0x00 -#define ACPI_ACCEPTABLE_CONFIGURATION (UINT8) 0x01 -#define ACPI_SUB_OPTIMAL_CONFIGURATION (UINT8) 0x02 - -/* - * 16, 32 and 64-bit Address Descriptor resource types - */ -#define ACPI_MEMORY_RANGE (UINT8) 0x00 -#define ACPI_IO_RANGE (UINT8) 0x01 -#define ACPI_BUS_NUMBER_RANGE (UINT8) 0x02 - -#define ACPI_ADDRESS_NOT_FIXED (UINT8) 0x00 -#define ACPI_ADDRESS_FIXED (UINT8) 0x01 - -#define ACPI_POS_DECODE (UINT8) 0x00 -#define ACPI_SUB_DECODE (UINT8) 0x01 - -/* Producer/Consumer */ - -#define ACPI_PRODUCER (UINT8) 0x00 -#define ACPI_CONSUMER (UINT8) 0x01 - - -/* - * If possible, pack the following structures to byte alignment - */ -#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED -#pragma pack(1) -#endif - -/* UUID data structures for use in vendor-defined resource descriptors */ - -typedef struct acpi_uuid -{ - UINT8 Data[ACPI_UUID_LENGTH]; -} ACPI_UUID; - -typedef struct acpi_vendor_uuid -{ - UINT8 Subtype; - UINT8 Data[ACPI_UUID_LENGTH]; - -} ACPI_VENDOR_UUID; - -/* - * Structures used to describe device resources - */ -typedef struct acpi_resource_irq -{ - UINT8 DescriptorLength; - UINT8 Triggering; - UINT8 Polarity; - UINT8 Shareable; - UINT8 WakeCapable; - UINT8 InterruptCount; - union { - UINT8 Interrupt; - ACPI_FLEX_ARRAY(UINT8, Interrupts); - }; - -} ACPI_RESOURCE_IRQ; - -typedef struct acpi_resource_dma -{ - UINT8 Type; - UINT8 BusMaster; - UINT8 Transfer; - UINT8 ChannelCount; - union { - UINT8 Channel; - ACPI_FLEX_ARRAY(UINT8, Channels); - }; - -} ACPI_RESOURCE_DMA; - -typedef struct acpi_resource_start_dependent -{ - UINT8 DescriptorLength; - UINT8 CompatibilityPriority; - UINT8 PerformanceRobustness; - -} ACPI_RESOURCE_START_DEPENDENT; - - -/* - * The END_DEPENDENT_FUNCTIONS_RESOURCE struct is not - * needed because it has no fields - */ - - -typedef struct acpi_resource_io -{ - UINT8 IoDecode; - UINT8 Alignment; - UINT8 AddressLength; - UINT16 Minimum; - UINT16 Maximum; - -} ACPI_RESOURCE_IO; - -typedef struct acpi_resource_fixed_io -{ - UINT16 Address; - UINT8 AddressLength; - -} ACPI_RESOURCE_FIXED_IO; - -typedef struct acpi_resource_fixed_dma -{ - UINT16 RequestLines; - UINT16 Channels; - UINT8 Width; - -} ACPI_RESOURCE_FIXED_DMA; - -/* Values for Width field above */ - -#define ACPI_DMA_WIDTH8 0 -#define ACPI_DMA_WIDTH16 1 -#define ACPI_DMA_WIDTH32 2 -#define ACPI_DMA_WIDTH64 3 -#define ACPI_DMA_WIDTH128 4 -#define ACPI_DMA_WIDTH256 5 - - -typedef struct acpi_resource_vendor -{ - UINT16 ByteLength; - UINT8 ByteData[]; - -} ACPI_RESOURCE_VENDOR; - -/* Vendor resource with UUID info (introduced in ACPI 3.0) */ - -typedef struct acpi_resource_vendor_typed -{ - UINT16 ByteLength; - UINT8 UuidSubtype; - UINT8 Uuid[ACPI_UUID_LENGTH]; - UINT8 ByteData[]; - -} ACPI_RESOURCE_VENDOR_TYPED; - -typedef struct acpi_resource_end_tag -{ - UINT8 Checksum; - -} ACPI_RESOURCE_END_TAG; - -typedef struct acpi_resource_memory24 -{ - UINT8 WriteProtect; - UINT16 Minimum; - UINT16 Maximum; - UINT16 Alignment; - UINT16 AddressLength; - -} ACPI_RESOURCE_MEMORY24; - -typedef struct acpi_resource_memory32 -{ - UINT8 WriteProtect; - UINT32 Minimum; - UINT32 Maximum; - UINT32 Alignment; - UINT32 AddressLength; - -} ACPI_RESOURCE_MEMORY32; - -typedef struct acpi_resource_fixed_memory32 -{ - UINT8 WriteProtect; - UINT32 Address; - UINT32 AddressLength; - -} ACPI_RESOURCE_FIXED_MEMORY32; - -typedef struct acpi_memory_attribute -{ - UINT8 WriteProtect; - UINT8 Caching; - UINT8 RangeType; - UINT8 Translation; - -} ACPI_MEMORY_ATTRIBUTE; - -typedef struct acpi_io_attribute -{ - UINT8 RangeType; - UINT8 Translation; - UINT8 TranslationType; - UINT8 Reserved1; - -} ACPI_IO_ATTRIBUTE; - -typedef union acpi_resource_attribute -{ - ACPI_MEMORY_ATTRIBUTE Mem; - ACPI_IO_ATTRIBUTE Io; - - /* Used for the *WordSpace macros */ - - UINT8 TypeSpecific; - -} ACPI_RESOURCE_ATTRIBUTE; - -typedef struct acpi_resource_label -{ - UINT16 StringLength; - char *StringPtr; - -} ACPI_RESOURCE_LABEL; - -typedef struct acpi_resource_source -{ - UINT8 Index; - UINT16 StringLength; - char *StringPtr; - -} ACPI_RESOURCE_SOURCE; - -/* Fields common to all address descriptors, 16/32/64 bit */ - -#define ACPI_RESOURCE_ADDRESS_COMMON \ - UINT8 ResourceType; \ - UINT8 ProducerConsumer; \ - UINT8 Decode; \ - UINT8 MinAddressFixed; \ - UINT8 MaxAddressFixed; \ - ACPI_RESOURCE_ATTRIBUTE Info; - -typedef struct acpi_address16_attribute -{ - UINT16 Granularity; - UINT16 Minimum; - UINT16 Maximum; - UINT16 TranslationOffset; - UINT16 AddressLength; - -} ACPI_ADDRESS16_ATTRIBUTE; - -typedef struct acpi_address32_attribute -{ - UINT32 Granularity; - UINT32 Minimum; - UINT32 Maximum; - UINT32 TranslationOffset; - UINT32 AddressLength; - -} ACPI_ADDRESS32_ATTRIBUTE; - -typedef struct acpi_address64_attribute -{ - UINT64 Granularity; - UINT64 Minimum; - UINT64 Maximum; - UINT64 TranslationOffset; - UINT64 AddressLength; - -} ACPI_ADDRESS64_ATTRIBUTE; - -typedef struct acpi_resource_address -{ - ACPI_RESOURCE_ADDRESS_COMMON - -} ACPI_RESOURCE_ADDRESS; - -typedef struct acpi_resource_address16 -{ - ACPI_RESOURCE_ADDRESS_COMMON - ACPI_ADDRESS16_ATTRIBUTE Address; - ACPI_RESOURCE_SOURCE ResourceSource; - -} ACPI_RESOURCE_ADDRESS16; - -typedef struct acpi_resource_address32 -{ - ACPI_RESOURCE_ADDRESS_COMMON - ACPI_ADDRESS32_ATTRIBUTE Address; - ACPI_RESOURCE_SOURCE ResourceSource; - -} ACPI_RESOURCE_ADDRESS32; - -typedef struct acpi_resource_address64 -{ - ACPI_RESOURCE_ADDRESS_COMMON - ACPI_ADDRESS64_ATTRIBUTE Address; - ACPI_RESOURCE_SOURCE ResourceSource; - -} ACPI_RESOURCE_ADDRESS64; - -typedef struct acpi_resource_extended_address64 -{ - ACPI_RESOURCE_ADDRESS_COMMON - UINT8 RevisionID; - ACPI_ADDRESS64_ATTRIBUTE Address; - UINT64 TypeSpecific; - -} ACPI_RESOURCE_EXTENDED_ADDRESS64; - -typedef struct acpi_resource_extended_irq -{ - UINT8 ProducerConsumer; - UINT8 Triggering; - UINT8 Polarity; - UINT8 Shareable; - UINT8 WakeCapable; - UINT8 InterruptCount; - ACPI_RESOURCE_SOURCE ResourceSource; - union { - UINT32 Interrupt; - ACPI_FLEX_ARRAY(UINT32, Interrupts); - }; - -} ACPI_RESOURCE_EXTENDED_IRQ; - -typedef struct acpi_resource_generic_register -{ - UINT8 SpaceId; - UINT8 BitWidth; - UINT8 BitOffset; - UINT8 AccessSize; - UINT64 Address; - -} ACPI_RESOURCE_GENERIC_REGISTER; - -typedef struct acpi_resource_gpio -{ - UINT8 RevisionId; - UINT8 ConnectionType; - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */ - UINT8 PinConfig; - UINT8 Shareable; /* For values, see Interrupt Attributes above */ - UINT8 WakeCapable; /* For values, see Interrupt Attributes above */ - UINT8 IoRestriction; - UINT8 Triggering; /* For values, see Interrupt Attributes above */ - UINT8 Polarity; /* For values, see Interrupt Attributes above */ - UINT16 DriveStrength; - UINT16 DebounceTimeout; - UINT16 PinTableLength; - UINT16 VendorLength; - ACPI_RESOURCE_SOURCE ResourceSource; - UINT16 *PinTable; - UINT8 *VendorData; - -} ACPI_RESOURCE_GPIO; - -/* Values for GPIO ConnectionType field above */ - -#define ACPI_RESOURCE_GPIO_TYPE_INT 0 -#define ACPI_RESOURCE_GPIO_TYPE_IO 1 - -/* Values for PinConfig field above */ - -#define ACPI_PIN_CONFIG_DEFAULT 0 -#define ACPI_PIN_CONFIG_PULLUP 1 -#define ACPI_PIN_CONFIG_PULLDOWN 2 -#define ACPI_PIN_CONFIG_NOPULL 3 - -/* Values for IoRestriction field above */ - -#define ACPI_IO_RESTRICT_NONE 0 -#define ACPI_IO_RESTRICT_INPUT 1 -#define ACPI_IO_RESTRICT_OUTPUT 2 -#define ACPI_IO_RESTRICT_NONE_PRESERVE 3 - - -/* Common structure for I2C, SPI, UART, CSI2 serial descriptors */ - -#define ACPI_RESOURCE_SERIAL_COMMON \ - UINT8 RevisionId; \ - UINT8 Type; \ - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */\ - UINT8 SlaveMode; \ - UINT8 ConnectionSharing; \ - UINT8 TypeRevisionId; \ - UINT16 TypeDataLength; \ - UINT16 VendorLength; \ - ACPI_RESOURCE_SOURCE ResourceSource; \ - UINT8 *VendorData; - -typedef struct acpi_resource_common_serialbus -{ - ACPI_RESOURCE_SERIAL_COMMON - -} ACPI_RESOURCE_COMMON_SERIALBUS; - -/* Values for the Type field above */ - -#define ACPI_RESOURCE_SERIAL_TYPE_I2C 1 -#define ACPI_RESOURCE_SERIAL_TYPE_SPI 2 -#define ACPI_RESOURCE_SERIAL_TYPE_UART 3 -#define ACPI_RESOURCE_SERIAL_TYPE_CSI2 4 - -/* Values for SlaveMode field above */ - -#define ACPI_CONTROLLER_INITIATED 0 -#define ACPI_DEVICE_INITIATED 1 - - -typedef struct acpi_resource_i2c_serialbus -{ - ACPI_RESOURCE_SERIAL_COMMON - UINT8 AccessMode; - UINT16 SlaveAddress; - UINT32 ConnectionSpeed; - -} ACPI_RESOURCE_I2C_SERIALBUS; - -/* Values for AccessMode field above */ - -#define ACPI_I2C_7BIT_MODE 0 -#define ACPI_I2C_10BIT_MODE 1 - - -typedef struct acpi_resource_spi_serialbus -{ - ACPI_RESOURCE_SERIAL_COMMON - UINT8 WireMode; - UINT8 DevicePolarity; - UINT8 DataBitLength; - UINT8 ClockPhase; - UINT8 ClockPolarity; - UINT16 DeviceSelection; - UINT32 ConnectionSpeed; - -} ACPI_RESOURCE_SPI_SERIALBUS; - -/* Values for WireMode field above */ - -#define ACPI_SPI_4WIRE_MODE 0 -#define ACPI_SPI_3WIRE_MODE 1 - -/* Values for DevicePolarity field above */ - -#define ACPI_SPI_ACTIVE_LOW 0 -#define ACPI_SPI_ACTIVE_HIGH 1 - -/* Values for ClockPhase field above */ - -#define ACPI_SPI_FIRST_PHASE 0 -#define ACPI_SPI_SECOND_PHASE 1 - -/* Values for ClockPolarity field above */ - -#define ACPI_SPI_START_LOW 0 -#define ACPI_SPI_START_HIGH 1 - - -typedef struct acpi_resource_uart_serialbus -{ - ACPI_RESOURCE_SERIAL_COMMON - UINT8 Endian; - UINT8 DataBits; - UINT8 StopBits; - UINT8 FlowControl; - UINT8 Parity; - UINT8 LinesEnabled; - UINT16 RxFifoSize; - UINT16 TxFifoSize; - UINT32 DefaultBaudRate; - -} ACPI_RESOURCE_UART_SERIALBUS; - -/* Values for Endian field above */ - -#define ACPI_UART_LITTLE_ENDIAN 0 -#define ACPI_UART_BIG_ENDIAN 1 - -/* Values for DataBits field above */ - -#define ACPI_UART_5_DATA_BITS 0 -#define ACPI_UART_6_DATA_BITS 1 -#define ACPI_UART_7_DATA_BITS 2 -#define ACPI_UART_8_DATA_BITS 3 -#define ACPI_UART_9_DATA_BITS 4 - -/* Values for StopBits field above */ - -#define ACPI_UART_NO_STOP_BITS 0 -#define ACPI_UART_1_STOP_BIT 1 -#define ACPI_UART_1P5_STOP_BITS 2 -#define ACPI_UART_2_STOP_BITS 3 - -/* Values for FlowControl field above */ - -#define ACPI_UART_FLOW_CONTROL_NONE 0 -#define ACPI_UART_FLOW_CONTROL_HW 1 -#define ACPI_UART_FLOW_CONTROL_XON_XOFF 2 - -/* Values for Parity field above */ - -#define ACPI_UART_PARITY_NONE 0 -#define ACPI_UART_PARITY_EVEN 1 -#define ACPI_UART_PARITY_ODD 2 -#define ACPI_UART_PARITY_MARK 3 -#define ACPI_UART_PARITY_SPACE 4 - -/* Values for LinesEnabled bitfield above */ - -#define ACPI_UART_CARRIER_DETECT (1<<2) -#define ACPI_UART_RING_INDICATOR (1<<3) -#define ACPI_UART_DATA_SET_READY (1<<4) -#define ACPI_UART_DATA_TERMINAL_READY (1<<5) -#define ACPI_UART_CLEAR_TO_SEND (1<<6) -#define ACPI_UART_REQUEST_TO_SEND (1<<7) - -typedef struct acpi_resource_csi2_serialbus -{ - ACPI_RESOURCE_SERIAL_COMMON - UINT8 LocalPortInstance; - UINT8 PhyType; - -} ACPI_RESOURCE_CSI2_SERIALBUS; - -typedef struct acpi_resource_pin_function -{ - UINT8 RevisionId; - UINT8 PinConfig; - UINT8 Shareable; /* For values, see Interrupt Attributes above */ - UINT16 FunctionNumber; - UINT16 PinTableLength; - UINT16 VendorLength; - ACPI_RESOURCE_SOURCE ResourceSource; - UINT16 *PinTable; - UINT8 *VendorData; - -} ACPI_RESOURCE_PIN_FUNCTION; - -typedef struct acpi_resource_pin_config -{ - UINT8 RevisionId; - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */ - UINT8 Shareable; /* For values, see Interrupt Attributes above */ - UINT8 PinConfigType; - UINT32 PinConfigValue; - UINT16 PinTableLength; - UINT16 VendorLength; - ACPI_RESOURCE_SOURCE ResourceSource; - UINT16 *PinTable; - UINT8 *VendorData; - -} ACPI_RESOURCE_PIN_CONFIG; - -typedef struct acpi_resource_clock_input -{ - UINT8 RevisionId; - UINT8 Mode; - UINT8 Scale; - UINT16 FrequencyDivisor; - UINT32 FrequencyNumerator; - ACPI_RESOURCE_SOURCE ResourceSource; -} ACPI_RESOURCE_CLOCK_INPUT; - -/* Values for PinConfigType field above */ - -#define ACPI_PIN_CONFIG_DEFAULT 0 -#define ACPI_PIN_CONFIG_BIAS_PULL_UP 1 -#define ACPI_PIN_CONFIG_BIAS_PULL_DOWN 2 -#define ACPI_PIN_CONFIG_BIAS_DEFAULT 3 -#define ACPI_PIN_CONFIG_BIAS_DISABLE 4 -#define ACPI_PIN_CONFIG_BIAS_HIGH_IMPEDANCE 5 -#define ACPI_PIN_CONFIG_BIAS_BUS_HOLD 6 -#define ACPI_PIN_CONFIG_DRIVE_OPEN_DRAIN 7 -#define ACPI_PIN_CONFIG_DRIVE_OPEN_SOURCE 8 -#define ACPI_PIN_CONFIG_DRIVE_PUSH_PULL 9 -#define ACPI_PIN_CONFIG_DRIVE_STRENGTH 10 -#define ACPI_PIN_CONFIG_SLEW_RATE 11 -#define ACPI_PIN_CONFIG_INPUT_DEBOUNCE 12 -#define ACPI_PIN_CONFIG_INPUT_SCHMITT_TRIGGER 13 - -typedef struct acpi_resource_pin_group -{ - UINT8 RevisionId; - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */ - UINT16 PinTableLength; - UINT16 VendorLength; - UINT16 *PinTable; - ACPI_RESOURCE_LABEL ResourceLabel; - UINT8 *VendorData; - -} ACPI_RESOURCE_PIN_GROUP; - -typedef struct acpi_resource_pin_group_function -{ - UINT8 RevisionId; - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */ - UINT8 Shareable; /* For values, see Interrupt Attributes above */ - UINT16 FunctionNumber; - UINT16 VendorLength; - ACPI_RESOURCE_SOURCE ResourceSource; - ACPI_RESOURCE_LABEL ResourceSourceLabel; - UINT8 *VendorData; - -} ACPI_RESOURCE_PIN_GROUP_FUNCTION; - -typedef struct acpi_resource_pin_group_config -{ - UINT8 RevisionId; - UINT8 ProducerConsumer; /* For values, see Producer/Consumer above */ - UINT8 Shareable; /* For values, see Interrupt Attributes above */ - UINT8 PinConfigType; /* For values, see PinConfigType above */ - UINT32 PinConfigValue; - UINT16 VendorLength; - ACPI_RESOURCE_SOURCE ResourceSource; - ACPI_RESOURCE_LABEL ResourceSourceLabel; - UINT8 *VendorData; - -} ACPI_RESOURCE_PIN_GROUP_CONFIG; - -/* ACPI_RESOURCE_TYPEs */ - -#define ACPI_RESOURCE_TYPE_IRQ 0 -#define ACPI_RESOURCE_TYPE_DMA 1 -#define ACPI_RESOURCE_TYPE_START_DEPENDENT 2 -#define ACPI_RESOURCE_TYPE_END_DEPENDENT 3 -#define ACPI_RESOURCE_TYPE_IO 4 -#define ACPI_RESOURCE_TYPE_FIXED_IO 5 -#define ACPI_RESOURCE_TYPE_VENDOR 6 -#define ACPI_RESOURCE_TYPE_END_TAG 7 -#define ACPI_RESOURCE_TYPE_MEMORY24 8 -#define ACPI_RESOURCE_TYPE_MEMORY32 9 -#define ACPI_RESOURCE_TYPE_FIXED_MEMORY32 10 -#define ACPI_RESOURCE_TYPE_ADDRESS16 11 -#define ACPI_RESOURCE_TYPE_ADDRESS32 12 -#define ACPI_RESOURCE_TYPE_ADDRESS64 13 -#define ACPI_RESOURCE_TYPE_EXTENDED_ADDRESS64 14 /* ACPI 3.0 */ -#define ACPI_RESOURCE_TYPE_EXTENDED_IRQ 15 -#define ACPI_RESOURCE_TYPE_GENERIC_REGISTER 16 -#define ACPI_RESOURCE_TYPE_GPIO 17 /* ACPI 5.0 */ -#define ACPI_RESOURCE_TYPE_FIXED_DMA 18 /* ACPI 5.0 */ -#define ACPI_RESOURCE_TYPE_SERIAL_BUS 19 /* ACPI 5.0 */ -#define ACPI_RESOURCE_TYPE_PIN_FUNCTION 20 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_PIN_CONFIG 21 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_PIN_GROUP 22 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_PIN_GROUP_FUNCTION 23 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_PIN_GROUP_CONFIG 24 /* ACPI 6.2 */ -#define ACPI_RESOURCE_TYPE_CLOCK_INPUT 25 /* ACPI 6.5 */ -#define ACPI_RESOURCE_TYPE_MAX 25 - -/* Master union for resource descriptors */ - -typedef union acpi_resource_data -{ - ACPI_RESOURCE_IRQ Irq; - ACPI_RESOURCE_DMA Dma; - ACPI_RESOURCE_START_DEPENDENT StartDpf; - ACPI_RESOURCE_IO Io; - ACPI_RESOURCE_FIXED_IO FixedIo; - ACPI_RESOURCE_FIXED_DMA FixedDma; - ACPI_RESOURCE_VENDOR Vendor; - ACPI_RESOURCE_VENDOR_TYPED VendorTyped; - ACPI_RESOURCE_END_TAG EndTag; - ACPI_RESOURCE_MEMORY24 Memory24; - ACPI_RESOURCE_MEMORY32 Memory32; - ACPI_RESOURCE_FIXED_MEMORY32 FixedMemory32; - ACPI_RESOURCE_ADDRESS16 Address16; - ACPI_RESOURCE_ADDRESS32 Address32; - ACPI_RESOURCE_ADDRESS64 Address64; - ACPI_RESOURCE_EXTENDED_ADDRESS64 ExtAddress64; - ACPI_RESOURCE_EXTENDED_IRQ ExtendedIrq; - ACPI_RESOURCE_GENERIC_REGISTER GenericReg; - ACPI_RESOURCE_GPIO Gpio; - ACPI_RESOURCE_I2C_SERIALBUS I2cSerialBus; - ACPI_RESOURCE_SPI_SERIALBUS SpiSerialBus; - ACPI_RESOURCE_UART_SERIALBUS UartSerialBus; - ACPI_RESOURCE_CSI2_SERIALBUS Csi2SerialBus; - ACPI_RESOURCE_COMMON_SERIALBUS CommonSerialBus; - ACPI_RESOURCE_PIN_FUNCTION PinFunction; - ACPI_RESOURCE_PIN_CONFIG PinConfig; - ACPI_RESOURCE_PIN_GROUP PinGroup; - ACPI_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; - ACPI_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; - ACPI_RESOURCE_CLOCK_INPUT ClockInput; - - /* Common fields */ - - ACPI_RESOURCE_ADDRESS Address; /* Common 16/32/64 address fields */ - -} ACPI_RESOURCE_DATA; - - -/* Common resource header */ - -typedef struct acpi_resource -{ - UINT32 Type; - UINT32 Length; - ACPI_RESOURCE_DATA Data; - -} ACPI_RESOURCE; - -/* restore default alignment */ - -#pragma pack() - - -#define ACPI_RS_SIZE_NO_DATA 8 /* Id + Length fields */ -#define ACPI_RS_SIZE_MIN (UINT32) ACPI_ROUND_UP_TO_NATIVE_WORD (12) -#define ACPI_RS_SIZE(Type) (UINT32) (ACPI_RS_SIZE_NO_DATA + sizeof (Type)) - -/* Macro for walking resource templates with multiple descriptors */ - -#define ACPI_NEXT_RESOURCE(Res) \ - ACPI_ADD_PTR (ACPI_RESOURCE, (Res), (Res)->Length) - - -typedef struct acpi_pci_routing_table -{ - UINT32 Length; - UINT32 Pin; - UINT64 Address; /* here for 64-bit alignment */ - UINT32 SourceIndex; - union { - char Pad[4]; /* pad to 64 bits so sizeof() works in all cases */ - ACPI_FLEX_ARRAY(char, Source); - }; -} ACPI_PCI_ROUTING_TABLE; - -#endif /* __ACRESTYP_H__ */ diff --git a/Private/acpiSDK/source/include/acstruct.h b/Private/acpiSDK/source/include/acstruct.h deleted file mode 100644 index fe087179..00000000 --- a/Private/acpiSDK/source/include/acstruct.h +++ /dev/null @@ -1,393 +0,0 @@ -/****************************************************************************** - * - * Name: acstruct.h - Internal structs - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACSTRUCT_H__ -#define __ACSTRUCT_H__ - -/* acpisrc:StructDefs -- for acpisrc conversion */ - -/***************************************************************************** - * - * Tree walking typedefs and structs - * - ****************************************************************************/ - - -/* - * Walk state - current state of a parse tree walk. Used for both a leisurely - * stroll through the tree (for whatever reason), and for control method - * execution. - */ -#define ACPI_NEXT_OP_DOWNWARD 1 -#define ACPI_NEXT_OP_UPWARD 2 - -/* - * Groups of definitions for WalkType used for different implementations of - * walkers (never simultaneously) - flags for interpreter: - */ -#define ACPI_WALK_NON_METHOD 0 -#define ACPI_WALK_METHOD 0x01 -#define ACPI_WALK_METHOD_RESTART 0x02 - - -typedef struct acpi_walk_state -{ - struct acpi_walk_state *Next; /* Next WalkState in list */ - UINT8 DescriptorType; /* To differentiate various internal objs */ - UINT8 WalkType; - UINT16 Opcode; /* Current AML opcode */ - UINT8 NextOpInfo; /* Info about NextOp */ - UINT8 NumOperands; /* Stack pointer for Operands[] array */ - UINT8 OperandIndex; /* Index into operand stack, to be used by AcpiDsObjStackPush */ - ACPI_OWNER_ID OwnerId; /* Owner of objects created during the walk */ - BOOLEAN LastPredicate; /* Result of last predicate */ - UINT8 CurrentResult; - UINT8 ReturnUsed; - UINT8 ScopeDepth; - UINT8 PassNumber; /* Parse pass during table load */ - BOOLEAN NamespaceOverride; /* Override existing objects */ - UINT8 ResultSize; /* Total elements for the result stack */ - UINT8 ResultCount; /* Current number of occupied elements of result stack */ - UINT8 *Aml; - UINT32 ArgTypes; - UINT32 MethodBreakpoint; /* For single stepping */ - UINT32 UserBreakpoint; /* User AML breakpoint */ - UINT32 ParseFlags; - - ACPI_PARSE_STATE ParserState; /* Current state of parser */ - UINT32 PrevArgTypes; - UINT32 ArgCount; /* push for fixed or var args */ - UINT16 MethodNestingDepth; - UINT8 MethodIsNested; - - struct acpi_namespace_node Arguments[ACPI_METHOD_NUM_ARGS]; /* Control method arguments */ - struct acpi_namespace_node LocalVariables[ACPI_METHOD_NUM_LOCALS]; /* Control method locals */ - union acpi_operand_object *Operands[ACPI_OBJ_NUM_OPERANDS + 1]; /* Operands passed to the interpreter (+1 for NULL terminator) */ - union acpi_operand_object **Params; - - UINT8 *AmlLastWhile; - union acpi_operand_object **CallerReturnDesc; - ACPI_GENERIC_STATE *ControlState; /* List of control states (nested IFs) */ - struct acpi_namespace_node *DeferredNode; /* Used when executing deferred opcodes */ - union acpi_operand_object *ImplicitReturnObj; - struct acpi_namespace_node *MethodCallNode; /* Called method Node*/ - ACPI_PARSE_OBJECT *MethodCallOp; /* MethodCall Op if running a method */ - union acpi_operand_object *MethodDesc; /* Method descriptor if running a method */ - struct acpi_namespace_node *MethodNode; /* Method node if running a method */ - char *MethodPathname; /* Full pathname of running method */ - ACPI_PARSE_OBJECT *Op; /* Current parser op */ - const ACPI_OPCODE_INFO *OpInfo; /* Info on current opcode */ - ACPI_PARSE_OBJECT *Origin; /* Start of walk [Obsolete] */ - union acpi_operand_object *ResultObj; - ACPI_GENERIC_STATE *Results; /* Stack of accumulated results */ - union acpi_operand_object *ReturnDesc; /* Return object, if any */ - ACPI_GENERIC_STATE *ScopeInfo; /* Stack of nested scopes */ - ACPI_PARSE_OBJECT *PrevOp; /* Last op that was processed */ - ACPI_PARSE_OBJECT *NextOp; /* next op to be processed */ - ACPI_THREAD_STATE *Thread; - ACPI_PARSE_DOWNWARDS DescendingCallback; - ACPI_PARSE_UPWARDS AscendingCallback; - -} ACPI_WALK_STATE; - - -/* Info used by AcpiNsInitializeObjects and AcpiDsInitializeObjects */ - -typedef struct acpi_init_walk_info -{ - UINT32 TableIndex; - UINT32 ObjectCount; - UINT32 MethodCount; - UINT32 SerialMethodCount; - UINT32 NonSerialMethodCount; - UINT32 SerializedMethodCount; - UINT32 DeviceCount; - UINT32 OpRegionCount; - UINT32 FieldCount; - UINT32 BufferCount; - UINT32 PackageCount; - UINT32 OpRegionInit; - UINT32 FieldInit; - UINT32 BufferInit; - UINT32 PackageInit; - ACPI_OWNER_ID OwnerId; - -} ACPI_INIT_WALK_INFO; - - -typedef struct acpi_get_devices_info -{ - ACPI_WALK_CALLBACK UserFunction; - void *Context; - char *Hid; - -} ACPI_GET_DEVICES_INFO; - - -typedef union acpi_aml_operands -{ - ACPI_OPERAND_OBJECT *Operands[7]; - - struct - { - ACPI_OBJECT_INTEGER *Type; - ACPI_OBJECT_INTEGER *Code; - ACPI_OBJECT_INTEGER *Argument; - - } Fatal; - - struct - { - ACPI_OPERAND_OBJECT *Source; - ACPI_OBJECT_INTEGER *Index; - ACPI_OPERAND_OBJECT *Target; - - } Index; - - struct - { - ACPI_OPERAND_OBJECT *Source; - ACPI_OBJECT_INTEGER *Index; - ACPI_OBJECT_INTEGER *Length; - ACPI_OPERAND_OBJECT *Target; - - } Mid; - -} ACPI_AML_OPERANDS; - - -/* - * Structure used to pass object evaluation information and parameters. - * Purpose is to reduce CPU stack use. - */ -typedef struct acpi_evaluate_info -{ - /* The first 3 elements are passed by the caller to AcpiNsEvaluate */ - - ACPI_NAMESPACE_NODE *PrefixNode; /* Input: starting node */ - const char *RelativePathname; /* Input: path relative to PrefixNode */ - ACPI_OPERAND_OBJECT **Parameters; /* Input: argument list */ - - ACPI_NAMESPACE_NODE *Node; /* Resolved node (PrefixNode:RelativePathname) */ - ACPI_OPERAND_OBJECT *ObjDesc; /* Object attached to the resolved node */ - char *FullPathname; /* Full pathname of the resolved node */ - - const ACPI_PREDEFINED_INFO *Predefined; /* Used if Node is a predefined name */ - ACPI_OPERAND_OBJECT *ReturnObject; /* Object returned from the evaluation */ - union acpi_operand_object *ParentPackage; /* Used if return object is a Package */ - - UINT32 ReturnFlags; /* Used for return value analysis */ - UINT32 ReturnBtype; /* Bitmapped type of the returned object */ - UINT16 ParamCount; /* Count of the input argument list */ - UINT16 NodeFlags; /* Same as Node->Flags */ - UINT8 PassNumber; /* Parser pass number */ - UINT8 ReturnObjectType; /* Object type of the returned object */ - UINT8 Flags; /* General flags */ - -} ACPI_EVALUATE_INFO; - -/* Values for Flags above */ - -#define ACPI_IGNORE_RETURN_VALUE 1 - -/* Defines for ReturnFlags field above */ - -#define ACPI_OBJECT_REPAIRED 1 -#define ACPI_OBJECT_WRAPPED 2 - - -/* Info used by AcpiNsInitializeDevices */ - -typedef struct acpi_device_walk_info -{ - ACPI_TABLE_DESC *TableDesc; - ACPI_EVALUATE_INFO *EvaluateInfo; - UINT32 DeviceCount; - UINT32 Num_STA; - UINT32 Num_INI; - -} ACPI_DEVICE_WALK_INFO; - - -/* Info used by Acpi AcpiDbDisplayFields */ - -typedef struct acpi_region_walk_info -{ - UINT32 DebugLevel; - UINT32 Count; - ACPI_OWNER_ID OwnerId; - UINT8 DisplayType; - UINT32 AddressSpaceId; - -} ACPI_REGION_WALK_INFO; - - -/* TBD: [Restructure] Merge with struct above */ - -typedef struct acpi_walk_info -{ - UINT32 DebugLevel; - UINT32 Count; - ACPI_OWNER_ID OwnerId; - UINT8 DisplayType; - -} ACPI_WALK_INFO; - -/* Display Types */ - -#define ACPI_DISPLAY_SUMMARY (UINT8) 0 -#define ACPI_DISPLAY_OBJECTS (UINT8) 1 -#define ACPI_DISPLAY_MASK (UINT8) 1 - -#define ACPI_DISPLAY_SHORT (UINT8) 2 - - -#endif diff --git a/Private/acpiSDK/source/include/actables.h b/Private/acpiSDK/source/include/actables.h deleted file mode 100644 index 21c34435..00000000 --- a/Private/acpiSDK/source/include/actables.h +++ /dev/null @@ -1,383 +0,0 @@ -/****************************************************************************** - * - * Name: actables.h - ACPI table management - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTABLES_H__ -#define __ACTABLES_H__ - - -ACPI_STATUS -AcpiAllocateRootTable ( - UINT32 InitialTableCount); - -/* - * tbxfroot - Root pointer utilities - */ -UINT32 -AcpiTbGetRsdpLength ( - ACPI_TABLE_RSDP *Rsdp); - -ACPI_STATUS -AcpiTbValidateRsdp ( - ACPI_TABLE_RSDP *Rsdp); - -UINT8 * -AcpiTbScanMemoryForRsdp ( - UINT8 *StartAddress, - UINT32 Length); - - -/* - * tbdata - table data structure management - */ -ACPI_STATUS -AcpiTbGetNextTableDescriptor ( - UINT32 *TableIndex, - ACPI_TABLE_DESC **TableDesc); - -void -AcpiTbInitTableDescriptor ( - ACPI_TABLE_DESC *TableDesc, - ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags, - ACPI_TABLE_HEADER *Table); - -ACPI_STATUS -AcpiTbAcquireTempTable ( - ACPI_TABLE_DESC *TableDesc, - ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags, - ACPI_TABLE_HEADER *Table); - -void -AcpiTbReleaseTempTable ( - ACPI_TABLE_DESC *TableDesc); - -ACPI_STATUS -AcpiTbValidateTempTable ( - ACPI_TABLE_DESC *TableDesc); - -ACPI_STATUS -AcpiTbVerifyTempTable ( - ACPI_TABLE_DESC *TableDesc, - char *Signature, - UINT32 *TableIndex); - -BOOLEAN -AcpiTbIsTableLoaded ( - UINT32 TableIndex); - -void -AcpiTbSetTableLoadedFlag ( - UINT32 TableIndex, - BOOLEAN IsLoaded); - - -/* - * tbfadt - FADT parse/convert/validate - */ -void -AcpiTbParseFadt ( - void); - -void -AcpiTbCreateLocalFadt ( - ACPI_TABLE_HEADER *Table, - UINT32 Length); - - -/* - * tbfind - find ACPI table - */ -ACPI_STATUS -AcpiTbFindTable ( - char *Signature, - char *OemId, - char *OemTableId, - UINT32 *TableIndex); - - -/* - * tbinstal - Table removal and deletion - */ -ACPI_STATUS -AcpiTbResizeRootTableList ( - void); - -ACPI_STATUS -AcpiTbValidateTable ( - ACPI_TABLE_DESC *TableDesc); - -void -AcpiTbInvalidateTable ( - ACPI_TABLE_DESC *TableDesc); - -void -AcpiTbOverrideTable ( - ACPI_TABLE_DESC *OldTableDesc); - -ACPI_STATUS -AcpiTbAcquireTable ( - ACPI_TABLE_DESC *TableDesc, - ACPI_TABLE_HEADER **TablePtr, - UINT32 *TableLength, - UINT8 *TableFlags); - -void -AcpiTbReleaseTable ( - ACPI_TABLE_HEADER *Table, - UINT32 TableLength, - UINT8 TableFlags); - -ACPI_STATUS -AcpiTbInstallStandardTable ( - ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags, - ACPI_TABLE_HEADER *Table, - BOOLEAN Reload, - BOOLEAN Override, - UINT32 *TableIndex); - -void -AcpiTbUninstallTable ( - ACPI_TABLE_DESC *TableDesc); - -ACPI_STATUS -AcpiTbLoadTable ( - UINT32 TableIndex, - ACPI_NAMESPACE_NODE *ParentNode); - -ACPI_STATUS -AcpiTbInstallAndLoadTable ( - ACPI_PHYSICAL_ADDRESS Address, - UINT8 Flags, - ACPI_TABLE_HEADER *Table, - BOOLEAN Override, - UINT32 *TableIndex); - -ACPI_STATUS -AcpiTbUnloadTable ( - UINT32 TableIndex); - -void -AcpiTbNotifyTable ( - UINT32 Event, - void *Table); - -void -AcpiTbTerminate ( - void); - -ACPI_STATUS -AcpiTbDeleteNamespaceByOwner ( - UINT32 TableIndex); - -ACPI_STATUS -AcpiTbAllocateOwnerId ( - UINT32 TableIndex); - -ACPI_STATUS -AcpiTbReleaseOwnerId ( - UINT32 TableIndex); - -ACPI_STATUS -AcpiTbGetOwnerId ( - UINT32 TableIndex, - ACPI_OWNER_ID *OwnerId); - - -/* - * tbutils - table manager utilities - */ -ACPI_STATUS -AcpiTbInitializeFacs ( - void); - -void -AcpiTbPrintTableHeader( - ACPI_PHYSICAL_ADDRESS Address, - ACPI_TABLE_HEADER *Header); - -void -AcpiTbCheckDsdtHeader ( - void); - -ACPI_TABLE_HEADER * -AcpiTbCopyDsdt ( - UINT32 TableIndex); - -void -AcpiTbInstallTableWithOverride ( - ACPI_TABLE_DESC *NewTableDesc, - BOOLEAN Override, - UINT32 *TableIndex); - -ACPI_STATUS -AcpiTbParseRootTable ( - ACPI_PHYSICAL_ADDRESS RsdpAddress); - -ACPI_STATUS -AcpiTbGetTable ( - ACPI_TABLE_DESC *TableDesc, - ACPI_TABLE_HEADER **OutTable); - -void -AcpiTbPutTable ( - ACPI_TABLE_DESC *TableDesc); - - -/* - * tbxfload - */ -ACPI_STATUS -AcpiTbLoadNamespace ( - void); - -#endif /* __ACTABLES_H__ */ diff --git a/Private/acpiSDK/source/include/actbinfo.h b/Private/acpiSDK/source/include/actbinfo.h deleted file mode 100644 index 55e9dd0b..00000000 --- a/Private/acpiSDK/source/include/actbinfo.h +++ /dev/null @@ -1,517 +0,0 @@ -/****************************************************************************** - * - * Module Name: actbinfo - Table disassembly info for non-AML tables - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -/* - * Macros used to generate offsets to specific table fields - */ -#define ACPI_AGDI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_AGDI,f) -#define ACPI_ASPT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ASPT,f) -#define ACPI_FACS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FACS,f) -#define ACPI_GAS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GENERIC_ADDRESS,f) -#define ACPI_HDR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEADER,f) -#define ACPI_RSDP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RSDP,f) -#define ACPI_BDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BDAT,f) -#define ACPI_BERT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BERT,f) -#define ACPI_BGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BGRT,f) -#define ACPI_BOOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_BOOT,f) -#define ACPI_CCEL_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CCEL,f) -#define ACPI_CPEP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CPEP,f) -#define ACPI_DBG2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBG2,f) -#define ACPI_DBGP_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DBGP,f) -#define ACPI_DMAR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DMAR,f) -#define ACPI_DRTM_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_DRTM,f) -#define ACPI_ECDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ECDT,f) -#define ACPI_EINJ_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_EINJ,f) -#define ACPI_ERST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_ERST,f) -#define ACPI_GTDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_GTDT,f) -#define ACPI_HEST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HEST,f) -#define ACPI_HPET_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HPET,f) -#define ACPI_HMAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_HMAT,f) -#define ACPI_IORT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_IORT,f) -#define ACPI_IVRS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_IVRS,f) -#define ACPI_MADT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MADT,f) -#define ACPI_MCFG_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MCFG,f) -#define ACPI_MCHI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MCHI,f) -#define ACPI_MPST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MPST,f) -#define ACPI_MSCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_MSCT,f) -#define ACPI_NFIT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_NFIT,f) -#define ACPI_PCCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PCCT,f) -#define ACPI_PDTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PDTT,f) -#define ACPI_PMTT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PMTT,f) -#define ACPI_RASF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RASF,f) -#define ACPI_RAS2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RAS2,f) -#define ACPI_RGRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RGRT,f) -#define ACPI_RHCT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_RHCT,f) -#define ACPI_S3PT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_S3PT,f) -#define ACPI_SBST_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SBST,f) -#define ACPI_SDEI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEI,f) -#define ACPI_SDEV_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SDEV,f) -#define ACPI_SLIT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SLIT,f) -#define ACPI_SPCR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPCR,f) -#define ACPI_SPMI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SPMI,f) -#define ACPI_SRAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SRAT,f) -#define ACPI_STAO_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_STAO,f) -#define ACPI_SVKL_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SVKL,f) -#define ACPI_TCPA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_HDR,f) -#define ACPI_TDEL_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TDEL,f) -#define ACPI_TPM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM2,f) -#define ACPI_TPM23_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TPM23,f) -#define ACPI_UEFI_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_UEFI,f) -#define ACPI_VIOT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_VIOT,f) -#define ACPI_WAET_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WAET,f) -#define ACPI_WDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDAT,f) -#define ACPI_WDDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDDT,f) -#define ACPI_WDRT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WDRT,f) -#define ACPI_WPBT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WPBT,f) -#define ACPI_WPBT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WPBT_UNICODE,f) -#define ACPI_WSMT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_WSMT,f) -#define ACPI_XENV_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_XENV,f) - -/* Subtables */ - -#define ACPI_AESTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_HEADER,f) -#define ACPI_AEST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR,f) -#define ACPI_AEST0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR_CACHE,f) -#define ACPI_AEST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR_TLB,f) -#define ACPI_AEST0C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_PROCESSOR_GENERIC,f) -#define ACPI_AEST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_MEMORY,f) -#define ACPI_AEST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_SMMU,f) -#define ACPI_AEST3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_VENDOR,f) -#define ACPI_AEST4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_GIC,f) -#define ACPI_AEST0D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERFACE,f) -#define ACPI_AEST0E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_AEST_NODE_INTERRUPT,f) -#define ACPI_APMTN_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_APMT_NODE,f) -#define ACPI_ASF0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_INFO,f) -#define ACPI_ASF1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT,f) -#define ACPI_ASF1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ALERT_DATA,f) -#define ACPI_ASF2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_REMOTE,f) -#define ACPI_ASF2a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_CONTROL_DATA,f) -#define ACPI_ASF3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_RMCP,f) -#define ACPI_ASF4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASF_ADDRESS,f) -#define ACPI_ASPTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_HEADER,f) -#define ACPI_ASPT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_GLOBAL_REGS,f) -#define ACPI_ASPT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_SEV_MBOX_REGS,f) -#define ACPI_ASPT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_ASPT_ACPI_MBOX_REGS,f) -#define ACPI_CDAT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_CDAT,f) -#define ACPI_CDATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_HEADER,f) -#define ACPI_CDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMAS,f) -#define ACPI_CDAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSLBIS,f) -#define ACPI_CDAT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSMSCIS,f) -#define ACPI_CDAT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSIS,f) -#define ACPI_CDAT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_DSEMTS,f) -#define ACPI_CDAT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_SSLBIS,f) -#define ACPI_CDATE_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CDAT_SSLBE,f) -#define ACPI_CEDT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_HEADER, f) -#define ACPI_CEDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CHBS, f) -#define ACPI_CEDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CFMWS, f) -#define ACPI_CEDT1_TE_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CEDT_CFMWS_TARGET_ELEMENT, f) -#define ACPI_CPEP0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CPEP_POLLING,f) -#define ACPI_CSRT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_GROUP,f) -#define ACPI_CSRT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_SHARED_INFO,f) -#define ACPI_CSRT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_CSRT_DESCRIPTOR,f) -#define ACPI_DBG20_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DBG2_DEVICE,f) -#define ACPI_DMARS_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_DEVICE_SCOPE,f) -#define ACPI_DMAR0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_HARDWARE_UNIT,f) -#define ACPI_DMAR1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RESERVED_MEMORY,f) -#define ACPI_DMAR2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ATSR,f) -#define ACPI_DMAR3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_RHSA,f) -#define ACPI_DMAR4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_ANDD,f) -#define ACPI_DMAR5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DMAR_SATC,f) -#define ACPI_DRTM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_VTABLE_LIST,f) -#define ACPI_DRTM1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_RESOURCE_LIST,f) -#define ACPI_DRTM1a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_RESOURCE,f) -#define ACPI_DRTM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_DRTM_DPS_ID,f) -#define ACPI_EINJ0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WHEA_HEADER,f) -#define ACPI_ERST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WHEA_HEADER,f) -#define ACPI_FPDTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) -#define ACPI_FPDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_BOOT_POINTER,f) -#define ACPI_FPDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_S3PT_POINTER,f) -#define ACPI_GTDT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_TIMER_BLOCK,f) -#define ACPI_GTDT0a_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_TIMER_ENTRY,f) -#define ACPI_GTDT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_WATCHDOG,f) -#define ACPI_GTDTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_HEADER,f) -#define ACPI_GTDT_EL2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_GTDT_EL2,f) -#define ACPI_HEST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_MACHINE_CHECK,f) -#define ACPI_HEST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_CORRECTED,f) -#define ACPI_HEST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_NMI,f) -#define ACPI_HEST6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER_ROOT,f) -#define ACPI_HEST7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER,f) -#define ACPI_HEST8_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_AER_BRIDGE,f) -#define ACPI_HEST9_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_GENERIC,f) -#define ACPI_HEST10_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_GENERIC_V2,f) -#define ACPI_HEST11_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_DEFERRED_CHECK,f) -#define ACPI_HESTN_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_NOTIFY,f) -#define ACPI_HESTB_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HEST_IA_ERROR_BANK,f) -#define ACPI_HMAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HMAT_PROXIMITY_DOMAIN,f) -#define ACPI_HMAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HMAT_LOCALITY,f) -#define ACPI_HMAT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HMAT_CACHE,f) -#define ACPI_HMATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_HMAT_STRUCTURE,f) -#define ACPI_IORT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_ITS_GROUP,f) -#define ACPI_IORT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_NAMED_COMPONENT,f) -#define ACPI_IORT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_ROOT_COMPLEX,f) -#define ACPI_IORT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_SMMU,f) -#define ACPI_IORT3A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_SMMU_GSI,f) -#define ACPI_IORT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_SMMU_V3,f) -#define ACPI_IORT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_PMCG,f) -#define ACPI_IORT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_RMR,f) -#define ACPI_IORT6A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_RMR_DESC,f) -#define ACPI_IORTA_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_MEMORY_ACCESS,f) -#define ACPI_IORTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_NODE,f) -#define ACPI_IORTM_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IORT_ID_MAPPING,f) -#define ACPI_IVRSH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HEADER,f) -#define ACPI_IVRS0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE1,f) -#define ACPI_IVRS01_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_HARDWARE2,f) -#define ACPI_IVRS1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_MEMORY,f) -#define ACPI_IVRSD_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DE_HEADER,f) -#define ACPI_IVRS8A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8A,f) -#define ACPI_IVRS8B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8B,f) -#define ACPI_IVRS8C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE8C,f) -#define ACPI_IVRSHID_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_IVRS_DEVICE_HID,f) -#define ACPI_LPITH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_LPIT_HEADER,f) -#define ACPI_LPIT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_LPIT_NATIVE,f) -#define ACPI_MADT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC,f) -#define ACPI_MADT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_IO_APIC,f) -#define ACPI_MADT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_INTERRUPT_OVERRIDE,f) -#define ACPI_MADT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_NMI_SOURCE,f) -#define ACPI_MADT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC_NMI,f) -#define ACPI_MADT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_APIC_OVERRIDE,f) -#define ACPI_MADT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_IO_SAPIC,f) -#define ACPI_MADT7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_SAPIC,f) -#define ACPI_MADT8_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_INTERRUPT_SOURCE,f) -#define ACPI_MADT9_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_X2APIC,f) -#define ACPI_MADT10_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f) -#define ACPI_MADT11_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_INTERRUPT,f) -#define ACPI_MADT12_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_DISTRIBUTOR,f) -#define ACPI_MADT13_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_MSI_FRAME,f) -#define ACPI_MADT14_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_REDISTRIBUTOR,f) -#define ACPI_MADT15_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_GENERIC_TRANSLATOR,f) -#define ACPI_MADT16_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MULTIPROC_WAKEUP,f) -#define ACPI_MADT17_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_CORE_PIC,f) -#define ACPI_MADT18_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LIO_PIC,f) -#define ACPI_MADT19_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_HT_PIC,f) -#define ACPI_MADT20_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_EIO_PIC,f) -#define ACPI_MADT21_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_MSI_PIC,f) -#define ACPI_MADT22_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_BIO_PIC,f) -#define ACPI_MADT23_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_LPC_PIC,f) -#define ACPI_MADT24_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_RINTC,f) -#define ACPI_MADT25_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_IMSIC,f) -#define ACPI_MADT26_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_APLIC,f) -#define ACPI_MADT27_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_PLIC,f) -#define ACPI_MADT128_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MADT_OEM_DATA,f) -#define ACPI_MADTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) -#define ACPI_MCFG0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MCFG_ALLOCATION,f) -#define ACPI_MPAM0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_MSC_NODE,f) -#define ACPI_MPAM1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_NODE,f) -#define ACPI_MPAM1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_CACHE_LOCATOR,f) -#define ACPI_MPAM1B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMORY_LOCATOR,f) -#define ACPI_MPAM1C_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_SMMU_INTERFACE,f) -#define ACPI_MPAM1D_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE,f) -#define ACPI_MPAM1E_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_ACPI_INTERFACE,f) -#define ACPI_MPAM1F_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE,f) -#define ACPI_MPAM1G_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_RESOURCE_GENERIC_LOCATOR,f) -#define ACPI_MPAM2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPAM_FUNC_DEPS,f) -#define ACPI_MPST0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_NODE,f) -#define ACPI_MPST0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_STATE,f) -#define ACPI_MPST0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_COMPONENT,f) -#define ACPI_MPST1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_DATA_HDR,f) -#define ACPI_MPST2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MPST_POWER_DATA,f) -#define ACPI_MSCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_MSCT_PROXIMITY,f) -#define ACPI_NFITH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_HEADER,f) -#define ACPI_NFIT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_SYSTEM_ADDRESS,f) -#define ACPI_NFIT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_MEMORY_MAP,f) -#define ACPI_NFIT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_INTERLEAVE,f) -#define ACPI_NFIT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_SMBIOS,f) -#define ACPI_NFIT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_CONTROL_REGION,f) -#define ACPI_NFIT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_DATA_REGION,f) -#define ACPI_NFIT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_FLUSH_ADDRESS,f) -#define ACPI_NFIT7_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_CAPABILITIES,f) -#define ACPI_PCCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_SUBSPACE,f) -#define ACPI_PCCT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED,f) -#define ACPI_PCCT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f) -#define ACPI_PCCT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_EXT_PCC_MASTER,f) -#define ACPI_PCCT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_EXT_PCC_SLAVE,f) -#define ACPI_PCCT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REG,f) -#define ACPI_PDTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PDTT_CHANNEL,f) -#define ACPI_PHATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PHAT_HEADER,f) -#define ACPI_PHAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PHAT_VERSION_DATA,f) -#define ACPI_PHAT0A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PHAT_VERSION_ELEMENT,f) -#define ACPI_PHAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PHAT_HEALTH_DATA,f) -#define ACPI_PMTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_SOCKET,f) -#define ACPI_PMTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_CONTROLLER,f) -#define ACPI_PMTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_PHYSICAL_COMPONENT,f) -#define ACPI_PMTT_VENDOR_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_VENDOR_SPECIFIC,f) -#define ACPI_PMTTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_HEADER,f) -#define ACPI_PPTTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) -#define ACPI_PPTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_PROCESSOR,f) -#define ACPI_PPTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE,f) -#define ACPI_PPTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_CACHE_V1,f) -#define ACPI_PPTT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PPTT_ID,f) -#define ACPI_PRMTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_PRMT_HEADER,f) -#define ACPI_PRMT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_MODULE_INFO,f) -#define ACPI_PRMT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PRMT_HANDLER_INFO,f) -#define ACPI_RAS2_PCC_DESC_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RAS2_PCC_DESC,f) -#define ACPI_RHCTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_NODE_HEADER,f) -#define ACPI_RHCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_ISA_STRING,f) -#define ACPI_RHCT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_CMO_NODE,f) -#define ACPI_RHCT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_MMU_NODE,f) -#define ACPI_RHCTFFFF_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_RHCT_HART_INFO,f) -#define ACPI_S3PTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_FPDT_HEADER,f) -#define ACPI_S3PT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_RESUME,f) -#define ACPI_S3PT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_S3PT_SUSPEND,f) -#define ACPI_SDEVH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_HEADER,f) -#define ACPI_SDEV0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_NAMESPACE,f) -#define ACPI_SDEV0B_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_SECURE_COMPONENT,f) -#define ACPI_SDEVCH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_HEADER,f) -#define ACPI_SDEVC0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_ID_COMPONENT, f) -#define ACPI_SDEVC1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_MEM_COMPONENT, f) -#define ACPI_SDEV1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_PCIE,f) -#define ACPI_SDEV1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SDEV_PCIE_PATH,f) -#define ACPI_SLIC_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_SLIC,f) -#define ACPI_SRATH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SUBTABLE_HEADER,f) -#define ACPI_SRAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_CPU_AFFINITY,f) -#define ACPI_SRAT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_MEM_AFFINITY,f) -#define ACPI_SRAT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f) -#define ACPI_SRAT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GICC_AFFINITY,f) -#define ACPI_SRAT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GIC_ITS_AFFINITY,f) -#define ACPI_SRAT5_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SRAT_GENERIC_AFFINITY,f) -#define ACPI_SVKL0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_SVKL_KEY,f) -#define ACPI_TCPA_CLIENT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_CLIENT,f) -#define ACPI_TCPA_SERVER_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_TCPA_SERVER,f) -#define ACPI_TPM2A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TPM2_TRAILER,f) -#define ACPI_TPM211_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TPM2_ARM_SMC,f) -#define ACPI_TPM23A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TPM23_TRAILER,f) -#define ACPI_VIOTH_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VIOT_HEADER,f) -#define ACPI_VIOT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VIOT_PCI_RANGE,f) -#define ACPI_VIOT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VIOT_MMIO,f) -#define ACPI_VIOT3_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VIOT_VIRTIO_IOMMU_PCI,f) -#define ACPI_VIOT4_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_VIOT_VIRTIO_IOMMU_MMIO,f) -#define ACPI_WDAT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_WDAT_ENTRY,f) - -/* - * Simplify access to flag fields by breaking them up into bytes - */ -#define ACPI_FLAG_OFFSET(d,f,o) (UINT16) (ACPI_OFFSET (d,f) + o) - -/* Flags */ - -#define ACPI_AEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_PROCESSOR,f,o) -#define ACPI_AEST0D_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERFACE,f,o) -#define ACPI_AEST0E_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_AEST_NODE_INTERRUPT,f,o) -#define ACPI_AGDI_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_AGDI,f,o) -#define ACPI_APMTN_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_APMT_NODE,f,o) -#define ACPI_BGRT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_BGRT,f,o) -#define ACPI_DRTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_DRTM,f,o) -#define ACPI_DRTM1a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_DRTM_RESOURCE,f,o) -#define ACPI_FADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_FADT,f,o) -#define ACPI_FACS_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_FACS,f,o) -#define ACPI_HPET_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_HPET,f,o) -#define ACPI_PPTT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_PROCESSOR,f,o) -#define ACPI_PPTT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_CACHE,f,o) -#define ACPI_PPTT1A_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PPTT_CACHE_V1,f,o) -#define ACPI_SRAT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_CPU_AFFINITY,f,o) -#define ACPI_SRAT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_MEM_AFFINITY,f,o) -#define ACPI_SRAT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_X2APIC_CPU_AFFINITY,f,o) -#define ACPI_SRAT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_GICC_AFFINITY,f,o) -#define ACPI_SRAT5_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SRAT_GENERIC_AFFINITY,f,o) -#define ACPI_GTDT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_GTDT,f,o) -#define ACPI_GTDT0a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_GTDT_TIMER_ENTRY,f,o) -#define ACPI_GTDT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_GTDT_WATCHDOG,f,o) -#define ACPI_HMAT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HMAT_PROXIMITY_DOMAIN,f,o) -#define ACPI_HMAT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HMAT_LOCALITY,f,o) -#define ACPI_HMAT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HMAT_CACHE,f,o) -#define ACPI_IORT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_SMMU,f,o) -#define ACPI_IORT3a_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_SMMU_GSI,f,o) -#define ACPI_IORT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_SMMU_V3,f,o) -#define ACPI_IORT6_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_RMR,f,o) -#define ACPI_IORTA_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_MEMORY_ACCESS,f,o) -#define ACPI_IORTM_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IORT_ID_MAPPING,f,o) -#define ACPI_IVRS_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IVRS_HEADER,f,o) -#define ACPI_IVRSDE_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_IVRS_DE_HEADER,f,o) -#define ACPI_LPITH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_LPIT_HEADER,f,o) -#define ACPI_MADT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_MADT,f,o) -#define ACPI_MADT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC,f,o) -#define ACPI_MADT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_INTERRUPT_OVERRIDE,f,o) -#define ACPI_MADT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_NMI_SOURCE,f,o) -#define ACPI_MADT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_APIC_NMI,f,o) -#define ACPI_MADT7_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_SAPIC,f,o) -#define ACPI_MADT8_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_INTERRUPT_SOURCE,f,o) -#define ACPI_MADT9_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC,f,o) -#define ACPI_MADT10_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_LOCAL_X2APIC_NMI,f,o) -#define ACPI_MADT11_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_GENERIC_INTERRUPT,f,o) -#define ACPI_MADT13_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MADT_GENERIC_MSI_FRAME,f,o) -#define ACPI_MPST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MPST_POWER_NODE,f,o) -#define ACPI_MPST2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_MPST_POWER_DATA,f,o) -#define ACPI_NFIT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_NFIT_SYSTEM_ADDRESS,f,o) -#define ACPI_NFIT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_NFIT_MEMORY_MAP,f,o) -#define ACPI_NFIT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_NFIT_CONTROL_REGION,f,o) -#define ACPI_NFIT7_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_NFIT_CAPABILITIES,f,o) -#define ACPI_PCCT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_PCCT,f,o) -#define ACPI_PCCT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_HW_REDUCED,f,o) -#define ACPI_PCCT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f,o) -#define ACPI_PCCT3_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_EXT_PCC_MASTER,f,o) -#define ACPI_PCCT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_EXT_PCC_SLAVE,f,o) -#define ACPI_PDTT0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PDTT_CHANNEL,f,o) -#define ACPI_PMTTH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PMTT_HEADER,f,o) -#define ACPI_SDEVH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_SDEV_HEADER,f,o) -#define ACPI_WDDT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_WDDT,f,o) -#define ACPI_WSMT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_WSMT,f,o) -#define ACPI_EINJ0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_WHEA_HEADER,f,o) -#define ACPI_ERST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_WHEA_HEADER,f,o) -#define ACPI_HEST0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_IA_MACHINE_CHECK,f,o) -#define ACPI_HEST1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_IA_CORRECTED,f,o) -#define ACPI_HEST6_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_AER_ROOT,f,o) -#define ACPI_HEST11_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_HEST_IA_DEFERRED_CHECK,f,o) - -/* - * Required terminator for all tables below - */ -#define ACPI_DMT_TERMINATOR {ACPI_DMT_EXIT, 0, NULL, 0} -#define ACPI_DMT_NEW_LINE {ACPI_DMT_EXTRA_TEXT, 0, "\n", 0} diff --git a/Private/acpiSDK/source/include/actbl.h b/Private/acpiSDK/source/include/actbl.h deleted file mode 100644 index 2a148491..00000000 --- a/Private/acpiSDK/source/include/actbl.h +++ /dev/null @@ -1,579 +0,0 @@ -/****************************************************************************** - * - * Name: actbl.h - Basic ACPI Table Definitions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTBL_H__ -#define __ACTBL_H__ - - -/******************************************************************************* - * - * Fundamental ACPI tables - * - * This file contains definitions for the ACPI tables that are directly consumed - * by ACPICA. All other tables are consumed by the OS-dependent ACPI-related - * device drivers and other OS support code. - * - * The RSDP and FACS do not use the common ACPI table header. All other ACPI - * tables use the header. - * - ******************************************************************************/ - - -/* - * Values for description table header signatures for tables defined in this - * file. Useful because they make it more difficult to inadvertently type in - * the wrong signature. - */ -#define ACPI_SIG_DSDT "DSDT" /* Differentiated System Description Table */ -#define ACPI_SIG_FADT "FACP" /* Fixed ACPI Description Table */ -#define ACPI_SIG_FACS "FACS" /* Firmware ACPI Control Structure */ -#define ACPI_SIG_OSDT "OSDT" /* Override System Description Table */ -#define ACPI_SIG_PSDT "PSDT" /* Persistent System Description Table */ -#define ACPI_SIG_RSDP "RSD PTR " /* Root System Description Pointer */ -#define ACPI_SIG_RSDT "RSDT" /* Root System Description Table */ -#define ACPI_SIG_XSDT "XSDT" /* Extended System Description Table */ -#define ACPI_SIG_SSDT "SSDT" /* Secondary System Description Table */ -#define ACPI_RSDP_NAME "RSDP" /* Short name for RSDP, not signature */ -#define ACPI_OEM_NAME "OEM" /* Short name for OEM, not signature */ - - -/* - * All tables and structures must be byte-packed to match the ACPI - * specification, since the tables are provided by the system BIOS - */ -#pragma pack(1) - -/* - * Note: C bitfields are not used for this reason: - * - * "Bitfields are great and easy to read, but unfortunately the C language - * does not specify the layout of bitfields in memory, which means they are - * essentially useless for dealing with packed data in on-disk formats or - * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, - * this decision was a design error in C. Ritchie could have picked an order - * and stuck with it." Norman Ramsey. - * See http://stackoverflow.com/a/1053662/41661 - */ - - -/******************************************************************************* - * - * Master ACPI Table Header. This common header is used by all ACPI tables - * except the RSDP and FACS. - * - ******************************************************************************/ - -typedef struct acpi_table_header -{ - char Signature[ACPI_NAMESEG_SIZE]; /* ASCII table signature */ - UINT32 Length; /* Length of table in bytes, including this header */ - UINT8 Revision; /* ACPI Specification minor version number */ - UINT8 Checksum; /* To make sum of entire table == 0 */ - char OemId[ACPI_OEM_ID_SIZE]; /* ASCII OEM identification */ - char OemTableId[ACPI_OEM_TABLE_ID_SIZE]; /* ASCII OEM table identification */ - UINT32 OemRevision; /* OEM revision number */ - char AslCompilerId[ACPI_NAMESEG_SIZE]; /* ASCII ASL compiler vendor ID */ - UINT32 AslCompilerRevision; /* ASL compiler version */ - -} ACPI_TABLE_HEADER; - - -/******************************************************************************* - * - * GAS - Generic Address Structure (ACPI 2.0+) - * - * Note: Since this structure is used in the ACPI tables, it is byte aligned. - * If misaligned access is not supported by the hardware, accesses to the - * 64-bit Address field must be performed with care. - * - ******************************************************************************/ - -typedef struct acpi_generic_address -{ - UINT8 SpaceId; /* Address space where struct or register exists */ - UINT8 BitWidth; /* Size in bits of given register */ - UINT8 BitOffset; /* Bit offset within the register */ - UINT8 AccessWidth; /* Minimum Access size (ACPI 3.0) */ - UINT64 Address; /* 64-bit address of struct or register */ - -} ACPI_GENERIC_ADDRESS; - - -/******************************************************************************* - * - * RSDP - Root System Description Pointer (Signature is "RSD PTR ") - * Version 2 - * - ******************************************************************************/ - -typedef struct acpi_table_rsdp -{ - char Signature[8]; /* ACPI signature, contains "RSD PTR " */ - UINT8 Checksum; /* ACPI 1.0 checksum */ - char OemId[ACPI_OEM_ID_SIZE]; /* OEM identification */ - UINT8 Revision; /* Must be (0) for ACPI 1.0 or (2) for ACPI 2.0+ */ - UINT32 RsdtPhysicalAddress; /* 32-bit physical address of the RSDT */ - UINT32 Length; /* Table length in bytes, including header (ACPI 2.0+) */ - UINT64 XsdtPhysicalAddress; /* 64-bit physical address of the XSDT (ACPI 2.0+) */ - UINT8 ExtendedChecksum; /* Checksum of entire table (ACPI 2.0+) */ - UINT8 Reserved[3]; /* Reserved, must be zero */ - -} ACPI_TABLE_RSDP; - -/* Standalone struct for the ACPI 1.0 RSDP */ - -typedef struct acpi_rsdp_common -{ - char Signature[8]; - UINT8 Checksum; - char OemId[ACPI_OEM_ID_SIZE]; - UINT8 Revision; - UINT32 RsdtPhysicalAddress; - -} ACPI_RSDP_COMMON; - -/* Standalone struct for the extended part of the RSDP (ACPI 2.0+) */ - -typedef struct acpi_rsdp_extension -{ - UINT32 Length; - UINT64 XsdtPhysicalAddress; - UINT8 ExtendedChecksum; - UINT8 Reserved[3]; - -} ACPI_RSDP_EXTENSION; - - -/******************************************************************************* - * - * RSDT/XSDT - Root System Description Tables - * Version 1 (both) - * - ******************************************************************************/ - -typedef struct acpi_table_rsdt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 TableOffsetEntry[1]; /* Array of pointers to ACPI tables */ - -} ACPI_TABLE_RSDT; - -typedef struct acpi_table_xsdt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 TableOffsetEntry[1]; /* Array of pointers to ACPI tables */ - -} ACPI_TABLE_XSDT; - -#define ACPI_RSDT_ENTRY_SIZE (sizeof (UINT32)) -#define ACPI_XSDT_ENTRY_SIZE (sizeof (UINT64)) - - -/******************************************************************************* - * - * FACS - Firmware ACPI Control Structure (FACS) - * - ******************************************************************************/ - -typedef struct acpi_table_facs -{ - char Signature[4]; /* ASCII table signature */ - UINT32 Length; /* Length of structure, in bytes */ - UINT32 HardwareSignature; /* Hardware configuration signature */ - UINT32 FirmwareWakingVector; /* 32-bit physical address of the Firmware Waking Vector */ - UINT32 GlobalLock; /* Global Lock for shared hardware resources */ - UINT32 Flags; - UINT64 XFirmwareWakingVector; /* 64-bit version of the Firmware Waking Vector (ACPI 2.0+) */ - UINT8 Version; /* Version of this table (ACPI 2.0+) */ - UINT8 Reserved[3]; /* Reserved, must be zero */ - UINT32 OspmFlags; /* Flags to be set by OSPM (ACPI 4.0) */ - UINT8 Reserved1[24]; /* Reserved, must be zero */ - -} ACPI_TABLE_FACS; - -/* Masks for GlobalLock flag field above */ - -#define ACPI_GLOCK_PENDING (1) /* 00: Pending global lock ownership */ -#define ACPI_GLOCK_OWNED (1<<1) /* 01: Global lock is owned */ - -/* Masks for Flags field above */ - -#define ACPI_FACS_S4_BIOS_PRESENT (1) /* 00: S4BIOS support is present */ -#define ACPI_FACS_64BIT_WAKE (1<<1) /* 01: 64-bit wake vector supported (ACPI 4.0) */ - -/* Masks for OspmFlags field above */ - -#define ACPI_FACS_64BIT_ENVIRONMENT (1) /* 00: 64-bit wake environment is required (ACPI 4.0) */ - - -/******************************************************************************* - * - * FADT - Fixed ACPI Description Table (Signature "FACP") - * Version 6 - * - ******************************************************************************/ - -/* Fields common to all versions of the FADT */ - -typedef struct acpi_table_fadt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Facs; /* 32-bit physical address of FACS */ - UINT32 Dsdt; /* 32-bit physical address of DSDT */ - UINT8 Model; /* System Interrupt Model (ACPI 1.0) - not used in ACPI 2.0+ */ - UINT8 PreferredProfile; /* Conveys preferred power management profile to OSPM. */ - UINT16 SciInterrupt; /* System vector of SCI interrupt */ - UINT32 SmiCommand; /* 32-bit Port address of SMI command port */ - UINT8 AcpiEnable; /* Value to write to SMI_CMD to enable ACPI */ - UINT8 AcpiDisable; /* Value to write to SMI_CMD to disable ACPI */ - UINT8 S4BiosRequest; /* Value to write to SMI_CMD to enter S4BIOS state */ - UINT8 PstateControl; /* Processor performance state control*/ - UINT32 Pm1aEventBlock; /* 32-bit port address of Power Mgt 1a Event Reg Blk */ - UINT32 Pm1bEventBlock; /* 32-bit port address of Power Mgt 1b Event Reg Blk */ - UINT32 Pm1aControlBlock; /* 32-bit port address of Power Mgt 1a Control Reg Blk */ - UINT32 Pm1bControlBlock; /* 32-bit port address of Power Mgt 1b Control Reg Blk */ - UINT32 Pm2ControlBlock; /* 32-bit port address of Power Mgt 2 Control Reg Blk */ - UINT32 PmTimerBlock; /* 32-bit port address of Power Mgt Timer Ctrl Reg Blk */ - UINT32 Gpe0Block; /* 32-bit port address of General Purpose Event 0 Reg Blk */ - UINT32 Gpe1Block; /* 32-bit port address of General Purpose Event 1 Reg Blk */ - UINT8 Pm1EventLength; /* Byte Length of ports at Pm1xEventBlock */ - UINT8 Pm1ControlLength; /* Byte Length of ports at Pm1xControlBlock */ - UINT8 Pm2ControlLength; /* Byte Length of ports at Pm2ControlBlock */ - UINT8 PmTimerLength; /* Byte Length of ports at PmTimerBlock */ - UINT8 Gpe0BlockLength; /* Byte Length of ports at Gpe0Block */ - UINT8 Gpe1BlockLength; /* Byte Length of ports at Gpe1Block */ - UINT8 Gpe1Base; /* Offset in GPE number space where GPE1 events start */ - UINT8 CstControl; /* Support for the _CST object and C-States change notification */ - UINT16 C2Latency; /* Worst case HW latency to enter/exit C2 state */ - UINT16 C3Latency; /* Worst case HW latency to enter/exit C3 state */ - UINT16 FlushSize; /* Processor memory cache line width, in bytes */ - UINT16 FlushStride; /* Number of flush strides that need to be read */ - UINT8 DutyOffset; /* Processor duty cycle index in processor P_CNT reg */ - UINT8 DutyWidth; /* Processor duty cycle value bit width in P_CNT register */ - UINT8 DayAlarm; /* Index to day-of-month alarm in RTC CMOS RAM */ - UINT8 MonthAlarm; /* Index to month-of-year alarm in RTC CMOS RAM */ - UINT8 Century; /* Index to century in RTC CMOS RAM */ - UINT16 BootFlags; /* IA-PC Boot Architecture Flags (see below for individual flags) */ - UINT8 Reserved; /* Reserved, must be zero */ - UINT32 Flags; /* Miscellaneous flag bits (see below for individual flags) */ - ACPI_GENERIC_ADDRESS ResetRegister; /* 64-bit address of the Reset register */ - UINT8 ResetValue; /* Value to write to the ResetRegister port to reset the system */ - UINT16 ArmBootFlags; /* ARM-Specific Boot Flags (see below for individual flags) (ACPI 5.1) */ - UINT8 MinorRevision; /* FADT Minor Revision (ACPI 5.1) */ - UINT64 XFacs; /* 64-bit physical address of FACS */ - UINT64 XDsdt; /* 64-bit physical address of DSDT */ - ACPI_GENERIC_ADDRESS XPm1aEventBlock; /* 64-bit Extended Power Mgt 1a Event Reg Blk address */ - ACPI_GENERIC_ADDRESS XPm1bEventBlock; /* 64-bit Extended Power Mgt 1b Event Reg Blk address */ - ACPI_GENERIC_ADDRESS XPm1aControlBlock; /* 64-bit Extended Power Mgt 1a Control Reg Blk address */ - ACPI_GENERIC_ADDRESS XPm1bControlBlock; /* 64-bit Extended Power Mgt 1b Control Reg Blk address */ - ACPI_GENERIC_ADDRESS XPm2ControlBlock; /* 64-bit Extended Power Mgt 2 Control Reg Blk address */ - ACPI_GENERIC_ADDRESS XPmTimerBlock; /* 64-bit Extended Power Mgt Timer Ctrl Reg Blk address */ - ACPI_GENERIC_ADDRESS XGpe0Block; /* 64-bit Extended General Purpose Event 0 Reg Blk address */ - ACPI_GENERIC_ADDRESS XGpe1Block; /* 64-bit Extended General Purpose Event 1 Reg Blk address */ - ACPI_GENERIC_ADDRESS SleepControl; /* 64-bit Sleep Control register (ACPI 5.0) */ - ACPI_GENERIC_ADDRESS SleepStatus; /* 64-bit Sleep Status register (ACPI 5.0) */ - UINT64 HypervisorId; /* Hypervisor Vendor ID (ACPI 6.0) */ - -} ACPI_TABLE_FADT; - - -/* Masks for FADT IA-PC Boot Architecture Flags (boot_flags) [Vx]=Introduced in this FADT revision */ - -#define ACPI_FADT_LEGACY_DEVICES (1) /* 00: [V2] System has LPC or ISA bus devices */ -#define ACPI_FADT_8042 (1<<1) /* 01: [V3] System has an 8042 controller on port 60/64 */ -#define ACPI_FADT_NO_VGA (1<<2) /* 02: [V4] It is not safe to probe for VGA hardware */ -#define ACPI_FADT_NO_MSI (1<<3) /* 03: [V4] Message Signaled Interrupts (MSI) must not be enabled */ -#define ACPI_FADT_NO_ASPM (1<<4) /* 04: [V4] PCIe ASPM control must not be enabled */ -#define ACPI_FADT_NO_CMOS_RTC (1<<5) /* 05: [V5] No CMOS real-time clock present */ - -/* Masks for FADT ARM Boot Architecture Flags (arm_boot_flags) ACPI 5.1 */ - -#define ACPI_FADT_PSCI_COMPLIANT (1) /* 00: [V5+] PSCI 0.2+ is implemented */ -#define ACPI_FADT_PSCI_USE_HVC (1<<1) /* 01: [V5+] HVC must be used instead of SMC as the PSCI conduit */ - -/* Masks for FADT flags */ - -#define ACPI_FADT_WBINVD (1) /* 00: [V1] The WBINVD instruction works properly */ -#define ACPI_FADT_WBINVD_FLUSH (1<<1) /* 01: [V1] WBINVD flushes but does not invalidate caches */ -#define ACPI_FADT_C1_SUPPORTED (1<<2) /* 02: [V1] All processors support C1 state */ -#define ACPI_FADT_C2_MP_SUPPORTED (1<<3) /* 03: [V1] C2 state works on MP system */ -#define ACPI_FADT_POWER_BUTTON (1<<4) /* 04: [V1] Power button is handled as a control method device */ -#define ACPI_FADT_SLEEP_BUTTON (1<<5) /* 05: [V1] Sleep button is handled as a control method device */ -#define ACPI_FADT_FIXED_RTC (1<<6) /* 06: [V1] RTC wakeup status is not in fixed register space */ -#define ACPI_FADT_S4_RTC_WAKE (1<<7) /* 07: [V1] RTC alarm can wake system from S4 */ -#define ACPI_FADT_32BIT_TIMER (1<<8) /* 08: [V1] ACPI timer width is 32-bit (0=24-bit) */ -#define ACPI_FADT_DOCKING_SUPPORTED (1<<9) /* 09: [V1] Docking supported */ -#define ACPI_FADT_RESET_REGISTER (1<<10) /* 10: [V2] System reset via the FADT RESET_REG supported */ -#define ACPI_FADT_SEALED_CASE (1<<11) /* 11: [V3] No internal expansion capabilities and case is sealed */ -#define ACPI_FADT_HEADLESS (1<<12) /* 12: [V3] No local video capabilities or local input devices */ -#define ACPI_FADT_SLEEP_TYPE (1<<13) /* 13: [V3] Must execute native instruction after writing SLP_TYPx register */ -#define ACPI_FADT_PCI_EXPRESS_WAKE (1<<14) /* 14: [V4] System supports PCIEXP_WAKE (STS/EN) bits (ACPI 3.0) */ -#define ACPI_FADT_PLATFORM_CLOCK (1<<15) /* 15: [V4] OSPM should use platform-provided timer (ACPI 3.0) */ -#define ACPI_FADT_S4_RTC_VALID (1<<16) /* 16: [V4] Contents of RTC_STS valid after S4 wake (ACPI 3.0) */ -#define ACPI_FADT_REMOTE_POWER_ON (1<<17) /* 17: [V4] System is compatible with remote power on (ACPI 3.0) */ -#define ACPI_FADT_APIC_CLUSTER (1<<18) /* 18: [V4] All local APICs must use cluster model (ACPI 3.0) */ -#define ACPI_FADT_APIC_PHYSICAL (1<<19) /* 19: [V4] All local xAPICs must use physical dest mode (ACPI 3.0) */ -#define ACPI_FADT_HW_REDUCED (1<<20) /* 20: [V5] ACPI hardware is not implemented (ACPI 5.0) */ -#define ACPI_FADT_LOW_POWER_S0 (1<<21) /* 21: [V5] S0 power savings are equal or better than S3 (ACPI 5.0) */ - - -/* Values for PreferredProfile (Preferred Power Management Profiles) */ - -enum AcpiPreferredPmProfiles -{ - PM_UNSPECIFIED = 0, - PM_DESKTOP = 1, - PM_MOBILE = 2, - PM_WORKSTATION = 3, - PM_ENTERPRISE_SERVER = 4, - PM_SOHO_SERVER = 5, - PM_APPLIANCE_PC = 6, - PM_PERFORMANCE_SERVER = 7, - PM_TABLET = 8 -}; - -/* Values for SleepStatus and SleepControl registers (V5+ FADT) */ - -#define ACPI_X_WAKE_STATUS 0x80 -#define ACPI_X_SLEEP_TYPE_MASK 0x1C -#define ACPI_X_SLEEP_TYPE_POSITION 0x02 -#define ACPI_X_SLEEP_ENABLE 0x20 - - -/* Reset to default packing */ - -#pragma pack() - - -/* - * Internal table-related structures - */ -typedef union acpi_name_union -{ - UINT32 Integer; - char Ascii[4]; - -} ACPI_NAME_UNION; - - -/* Internal ACPI Table Descriptor. One per ACPI table. */ - -typedef struct acpi_table_desc -{ - ACPI_PHYSICAL_ADDRESS Address; - ACPI_TABLE_HEADER *Pointer; - UINT32 Length; /* Length fixed at 32 bits (fixed in table header) */ - ACPI_NAME_UNION Signature; - ACPI_OWNER_ID OwnerId; - UINT8 Flags; - UINT16 ValidationCount; - -} ACPI_TABLE_DESC; - -/* - * Maximum value of the ValidationCount field in ACPI_TABLE_DESC. - * When reached, ValidationCount cannot be changed any more and the table will - * be permanently regarded as validated. - * - * This is to prevent situations in which unbalanced table get/put operations - * may cause premature table unmapping in the OS to happen. - * - * The maximum validation count can be defined to any value, but should be - * greater than the maximum number of OS early stage mapping slots to avoid - * leaking early stage table mappings to the late stage. - */ -#define ACPI_MAX_TABLE_VALIDATIONS ACPI_UINT16_MAX - -/* Masks for Flags field above */ - -#define ACPI_TABLE_ORIGIN_EXTERNAL_VIRTUAL (0) /* Virtual address, external maintained */ -#define ACPI_TABLE_ORIGIN_INTERNAL_PHYSICAL (1) /* Physical address, internally mapped */ -#define ACPI_TABLE_ORIGIN_INTERNAL_VIRTUAL (2) /* Virtual address, internallly allocated */ -#define ACPI_TABLE_ORIGIN_MASK (3) -#define ACPI_TABLE_IS_VERIFIED (4) -#define ACPI_TABLE_IS_LOADED (8) - - -/* - * Get the remaining ACPI tables - */ -#include "actbl1.h" -#include "actbl2.h" -#include "actbl3.h" - -/* Macros used to generate offsets to specific table fields */ - -#define ACPI_FADT_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_TABLE_FADT, f) - -/* - * Sizes of the various flavors of FADT. We need to look closely - * at the FADT length because the version number essentially tells - * us nothing because of many BIOS bugs where the version does not - * match the expected length. In other words, the length of the - * FADT is the bottom line as to what the version really is. - * - * For reference, the values below are as follows: - * FADT V1 size: 0x074 - * FADT V2 size: 0x084 - * FADT V3 size: 0x0F4 - * FADT V4 size: 0x0F4 - * FADT V5 size: 0x10C - * FADT V6 size: 0x114 - */ -#define ACPI_FADT_V1_SIZE (UINT32) (ACPI_FADT_OFFSET (Flags) + 4) -#define ACPI_FADT_V2_SIZE (UINT32) (ACPI_FADT_OFFSET (MinorRevision) + 1) -#define ACPI_FADT_V3_SIZE (UINT32) (ACPI_FADT_OFFSET (SleepControl)) -#define ACPI_FADT_V5_SIZE (UINT32) (ACPI_FADT_OFFSET (HypervisorId)) -#define ACPI_FADT_V6_SIZE (UINT32) (sizeof (ACPI_TABLE_FADT)) - -#define ACPI_FADT_CONFORMANCE "ACPI 6.1 (FADT version 6)" - -#endif /* __ACTBL_H__ */ diff --git a/Private/acpiSDK/source/include/actbl1.h b/Private/acpiSDK/source/include/actbl1.h deleted file mode 100644 index 2a54cfa1..00000000 --- a/Private/acpiSDK/source/include/actbl1.h +++ /dev/null @@ -1,2445 +0,0 @@ -/****************************************************************************** - * - * Name: actbl1.h - Additional ACPI table definitions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTBL1_H__ -#define __ACTBL1_H__ - - -/******************************************************************************* - * - * Additional ACPI Tables - * - * These tables are not consumed directly by the ACPICA subsystem, but are - * included here to support device drivers and the AML disassembler. - * - ******************************************************************************/ - - -/* - * Values for description table header signatures for tables defined in this - * file. Useful because they make it more difficult to inadvertently type in - * the wrong signature. - */ -#define ACPI_SIG_AEST "AEST" /* Arm Error Source Table */ -#define ACPI_SIG_ASF "ASF!" /* Alert Standard Format table */ -#define ACPI_SIG_ASPT "ASPT" /* AMD Secure Processor Table */ -#define ACPI_SIG_BERT "BERT" /* Boot Error Record Table */ -#define ACPI_SIG_BGRT "BGRT" /* Boot Graphics Resource Table */ -#define ACPI_SIG_BOOT "BOOT" /* Simple Boot Flag Table */ -#define ACPI_SIG_CEDT "CEDT" /* CXL Early Discovery Table */ -#define ACPI_SIG_CPEP "CPEP" /* Corrected Platform Error Polling table */ -#define ACPI_SIG_CSRT "CSRT" /* Core System Resource Table */ -#define ACPI_SIG_DBG2 "DBG2" /* Debug Port table type 2 */ -#define ACPI_SIG_DBGP "DBGP" /* Debug Port table */ -#define ACPI_SIG_DMAR "DMAR" /* DMA Remapping table */ -#define ACPI_SIG_DRTM "DRTM" /* Dynamic Root of Trust for Measurement table */ -#define ACPI_SIG_ECDT "ECDT" /* Embedded Controller Boot Resources Table */ -#define ACPI_SIG_EINJ "EINJ" /* Error Injection table */ -#define ACPI_SIG_ERST "ERST" /* Error Record Serialization Table */ -#define ACPI_SIG_FPDT "FPDT" /* Firmware Performance Data Table */ -#define ACPI_SIG_GTDT "GTDT" /* Generic Timer Description Table */ -#define ACPI_SIG_HEST "HEST" /* Hardware Error Source Table */ -#define ACPI_SIG_HMAT "HMAT" /* Heterogeneous Memory Attributes Table */ -#define ACPI_SIG_HPET "HPET" /* High Precision Event Timer table */ -#define ACPI_SIG_IBFT "IBFT" /* iSCSI Boot Firmware Table */ -#define ACPI_SIG_MSCT "MSCT" /* Maximum System Characteristics Table*/ - -#define ACPI_SIG_S3PT "S3PT" /* S3 Performance (sub)Table */ -#define ACPI_SIG_PCCS "PCC" /* PCC Shared Memory Region */ - - -/* Reserved table signatures */ - -#define ACPI_SIG_MATR "MATR" /* Memory Address Translation Table */ -#define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ - -/* - * These tables have been seen in the field, but no definition has been found - */ -#ifdef ACPI_UNDEFINED_TABLES -#define ACPI_SIG_ATKG "ATKG" -#define ACPI_SIG_GSCI "GSCI" /* GMCH SCI table */ -#define ACPI_SIG_IEIT "IEIT" -#endif - -/* - * All tables must be byte-packed to match the ACPI specification, since - * the tables are provided by the system BIOS. - */ -#pragma pack(1) - -/* - * Note: C bitfields are not used for this reason: - * - * "Bitfields are great and easy to read, but unfortunately the C language - * does not specify the layout of bitfields in memory, which means they are - * essentially useless for dealing with packed data in on-disk formats or - * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, - * this decision was a design error in C. Ritchie could have picked an order - * and stuck with it." Norman Ramsey. - * See http://stackoverflow.com/a/1053662/41661 - */ - - -/******************************************************************************* - * - * Common subtable headers - * - ******************************************************************************/ - -/* Generic subtable header (used in MADT, SRAT, etc.) */ - -typedef struct acpi_subtable_header -{ - UINT8 Type; - UINT8 Length; - -} ACPI_SUBTABLE_HEADER; - - -/* Subtable header for WHEA tables (EINJ, ERST, WDAT) */ - -typedef struct acpi_whea_header -{ - UINT8 Action; - UINT8 Instruction; - UINT8 Flags; - UINT8 Reserved; - ACPI_GENERIC_ADDRESS RegisterRegion; - UINT64 Value; /* Value used with Read/Write register */ - UINT64 Mask; /* Bitmask required for this register instruction */ - -} ACPI_WHEA_HEADER; - - -/******************************************************************************* - * - * ASF - Alert Standard Format table (Signature "ASF!") - * Revision 0x10 - * - * Conforms to the Alert Standard Format Specification V2.0, 23 April 2003 - * - ******************************************************************************/ - -typedef struct acpi_table_asf -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_ASF; - - -/* ASF subtable header */ - -typedef struct acpi_asf_header -{ - UINT8 Type; - UINT8 Reserved; - UINT16 Length; - -} ACPI_ASF_HEADER; - - -/* Values for Type field above */ - -enum AcpiAsfType -{ - ACPI_ASF_TYPE_INFO = 0, - ACPI_ASF_TYPE_ALERT = 1, - ACPI_ASF_TYPE_CONTROL = 2, - ACPI_ASF_TYPE_BOOT = 3, - ACPI_ASF_TYPE_ADDRESS = 4, - ACPI_ASF_TYPE_RESERVED = 5 -}; - -/* - * ASF subtables - */ - -/* 0: ASF Information */ - -typedef struct acpi_asf_info -{ - ACPI_ASF_HEADER Header; - UINT8 MinResetValue; - UINT8 MinPollInterval; - UINT16 SystemId; - UINT32 MfgId; - UINT8 Flags; - UINT8 Reserved2[3]; - -} ACPI_ASF_INFO; - -/* Masks for Flags field above */ - -#define ACPI_ASF_SMBUS_PROTOCOLS (1) - - -/* 1: ASF Alerts */ - -typedef struct acpi_asf_alert -{ - ACPI_ASF_HEADER Header; - UINT8 AssertMask; - UINT8 DeassertMask; - UINT8 Alerts; - UINT8 DataLength; - -} ACPI_ASF_ALERT; - -typedef struct acpi_asf_alert_data -{ - UINT8 Address; - UINT8 Command; - UINT8 Mask; - UINT8 Value; - UINT8 SensorType; - UINT8 Type; - UINT8 Offset; - UINT8 SourceType; - UINT8 Severity; - UINT8 SensorNumber; - UINT8 Entity; - UINT8 Instance; - -} ACPI_ASF_ALERT_DATA; - - -/* 2: ASF Remote Control */ - -typedef struct acpi_asf_remote -{ - ACPI_ASF_HEADER Header; - UINT8 Controls; - UINT8 DataLength; - UINT16 Reserved2; - -} ACPI_ASF_REMOTE; - -typedef struct acpi_asf_control_data -{ - UINT8 Function; - UINT8 Address; - UINT8 Command; - UINT8 Value; - -} ACPI_ASF_CONTROL_DATA; - - -/* 3: ASF RMCP Boot Options */ - -typedef struct acpi_asf_rmcp -{ - ACPI_ASF_HEADER Header; - UINT8 Capabilities[7]; - UINT8 CompletionCode; - UINT32 EnterpriseId; - UINT8 Command; - UINT16 Parameter; - UINT16 BootOptions; - UINT16 OemParameters; - -} ACPI_ASF_RMCP; - - -/* 4: ASF Address */ - -typedef struct acpi_asf_address -{ - ACPI_ASF_HEADER Header; - UINT8 EpromAddress; - UINT8 Devices; - -} ACPI_ASF_ADDRESS; - -/******************************************************************************* - * - * ASPT - AMD Secure Processor Table (Signature "ASPT") - * Revision 0x1 - * - * Conforms to AMD Socket SP5/SP6 Platform ASPT Rev1 Specification, - * 12 September 2022 - * - ******************************************************************************/ - -typedef struct acpi_table_aspt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 NumEntries; - -} ACPI_TABLE_ASPT; - - -/* ASPT subtable header */ - -typedef struct acpi_aspt_header -{ - UINT16 Type; - UINT16 Length; - -} ACPI_ASPT_HEADER; - - -/* Values for Type field above */ - -enum AcpiAsptType -{ - ACPI_ASPT_TYPE_GLOBAL_REGS = 0, - ACPI_ASPT_TYPE_SEV_MBOX_REGS = 1, - ACPI_ASPT_TYPE_ACPI_MBOX_REGS = 2, - ACPI_ASPT_TYPE_UNKNOWN = 3, -}; - -/* - * ASPT subtables - */ - -/* 0: ASPT Global Registers */ - -typedef struct acpi_aspt_global_regs -{ - ACPI_ASPT_HEADER Header; - UINT32 Reserved; - UINT64 FeatureRegAddr; - UINT64 IrqEnRegAddr; - UINT64 IrqStRegAddr; - -} ACPI_ASPT_GLOBAL_REGS; - - -/* 1: ASPT SEV Mailbox Registers */ - -typedef struct acpi_aspt_sev_mbox_regs -{ - ACPI_ASPT_HEADER Header; - UINT8 MboxIrqId; - UINT8 Reserved[3]; - UINT64 CmdRespRegAddr; - UINT64 CmdBufLoRegAddr; - UINT64 CmdBufHiRegAddr; - -} ACPI_ASPT_SEV_MBOX_REGS; - - -/* 2: ASPT ACPI Mailbox Registers */ - -typedef struct acpi_aspt_acpi_mbox_regs -{ - ACPI_ASPT_HEADER Header; - UINT32 Reserved1; - UINT64 CmdRespRegAddr; - UINT64 Reserved2[2]; - -} ACPI_ASPT_ACPI_MBOX_REGS; - - -/******************************************************************************* - * - * BERT - Boot Error Record Table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_bert -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 RegionLength; /* Length of the boot error region */ - UINT64 Address; /* Physical address of the error region */ - -} ACPI_TABLE_BERT; - - -/* Boot Error Region (not a subtable, pointed to by Address field above) */ - -typedef struct acpi_bert_region -{ - UINT32 BlockStatus; /* Type of error information */ - UINT32 RawDataOffset; /* Offset to raw error data */ - UINT32 RawDataLength; /* Length of raw error data */ - UINT32 DataLength; /* Length of generic error data */ - UINT32 ErrorSeverity; /* Severity code */ - -} ACPI_BERT_REGION; - -/* Values for BlockStatus flags above */ - -#define ACPI_BERT_UNCORRECTABLE (1) -#define ACPI_BERT_CORRECTABLE (1<<1) -#define ACPI_BERT_MULTIPLE_UNCORRECTABLE (1<<2) -#define ACPI_BERT_MULTIPLE_CORRECTABLE (1<<3) -#define ACPI_BERT_ERROR_ENTRY_COUNT (0xFF<<4) /* 8 bits, error count */ - -/* Values for ErrorSeverity above */ - -enum AcpiBertErrorSeverity -{ - ACPI_BERT_ERROR_CORRECTABLE = 0, - ACPI_BERT_ERROR_FATAL = 1, - ACPI_BERT_ERROR_CORRECTED = 2, - ACPI_BERT_ERROR_NONE = 3, - ACPI_BERT_ERROR_RESERVED = 4 /* 4 and greater are reserved */ -}; - -/* - * Note: The generic error data that follows the ErrorSeverity field above - * uses the ACPI_HEST_GENERIC_DATA defined under the HEST table below - */ - - -/******************************************************************************* - * - * BGRT - Boot Graphics Resource Table (ACPI 5.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_bgrt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 Version; - UINT8 Status; - UINT8 ImageType; - UINT64 ImageAddress; - UINT32 ImageOffsetX; - UINT32 ImageOffsetY; - -} ACPI_TABLE_BGRT; - -/* Flags for Status field above */ - -#define ACPI_BGRT_DISPLAYED (1) -#define ACPI_BGRT_ORIENTATION_OFFSET (3 << 1) - - -/******************************************************************************* - * - * BOOT - Simple Boot Flag Table - * Version 1 - * - * Conforms to the "Simple Boot Flag Specification", Version 2.1 - * - ******************************************************************************/ - -typedef struct acpi_table_boot -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 CmosIndex; /* Index in CMOS RAM for the boot register */ - UINT8 Reserved[3]; - -} ACPI_TABLE_BOOT; - - -/******************************************************************************* - * - * CDAT - Coherent Device Attribute Table - * Version 1 - * - * Conforms to the "Coherent Device Attribute Table (CDAT) Specification - " (Revision 1.01, October 2020.) - * - ******************************************************************************/ - -typedef struct acpi_table_cdat -{ - UINT32 Length; /* Length of table in bytes, including this header */ - UINT8 Revision; /* ACPI Specification minor version number */ - UINT8 Checksum; /* To make sum of entire table == 0 */ - UINT8 Reserved[6]; - UINT32 Sequence; /* Used to detect runtime CDAT table changes */ - -} ACPI_TABLE_CDAT; - - -/* CDAT common subtable header */ - -typedef struct acpi_cdat_header -{ - UINT8 Type; - UINT8 Reserved; - UINT16 Length; - -} ACPI_CDAT_HEADER; - -/* Values for Type field above */ - -enum AcpiCdatType -{ - ACPI_CDAT_TYPE_DSMAS = 0, - ACPI_CDAT_TYPE_DSLBIS = 1, - ACPI_CDAT_TYPE_DSMSCIS = 2, - ACPI_CDAT_TYPE_DSIS = 3, - ACPI_CDAT_TYPE_DSEMTS = 4, - ACPI_CDAT_TYPE_SSLBIS = 5, - ACPI_CDAT_TYPE_RESERVED = 6 /* 6 through 0xFF are reserved */ -}; - - -/* Subtable 0: Device Scoped Memory Affinity Structure (DSMAS) */ - -typedef struct acpi_cdat_dsmas -{ - UINT8 DsmadHandle; - UINT8 Flags; - UINT16 Reserved; - UINT64 DpaBaseAddress; - UINT64 DpaLength; - -} ACPI_CDAT_DSMAS; - -/* Flags for subtable above */ - -#define ACPI_CDAT_DSMAS_NON_VOLATILE (1 << 2) - - -/* Subtable 1: Device scoped Latency and Bandwidth Information Structure (DSLBIS) */ - -typedef struct acpi_cdat_dslbis -{ - UINT8 Handle; - UINT8 Flags; /* If Handle matches a DSMAS handle, the definition of this field matches - * Flags field in HMAT System Locality Latency */ - UINT8 DataType; - UINT8 Reserved; - UINT64 EntryBaseUnit; - UINT16 Entry[3]; - UINT16 Reserved2; - -} ACPI_CDAT_DSLBIS; - - -/* Subtable 2: Device Scoped Memory Side Cache Information Structure (DSMSCIS) */ - -typedef struct acpi_cdat_dsmscis -{ - UINT8 DsmasHandle; - UINT8 Reserved[3]; - UINT64 SideCacheSize; - UINT32 CacheAttributes; - -} ACPI_CDAT_DSMSCIS; - - -/* Subtable 3: Device Scoped Initiator Structure (DSIS) */ - -typedef struct acpi_cdat_dsis -{ - UINT8 Flags; - UINT8 Handle; - UINT16 Reserved; - -} ACPI_CDAT_DSIS; - -/* Flags for above subtable */ - -#define ACPI_CDAT_DSIS_MEM_ATTACHED (1 << 0) - - -/* Subtable 4: Device Scoped EFI Memory Type Structure (DSEMTS) */ - -typedef struct acpi_cdat_dsemts -{ - UINT8 DsmasHandle; - UINT8 MemoryType; - UINT16 Reserved; - UINT64 DpaOffset; - UINT64 RangeLength; - -} ACPI_CDAT_DSEMTS; - - -/* Subtable 5: Switch Scoped Latency and Bandwidth Information Structure (SSLBIS) */ - -typedef struct acpi_cdat_sslbis -{ - UINT8 DataType; - UINT8 Reserved[3]; - UINT64 EntryBaseUnit; - -} ACPI_CDAT_SSLBIS; - - -/* Sub-subtable for above, SslbeEntries field */ - -typedef struct acpi_cdat_sslbe -{ - UINT16 PortxId; - UINT16 PortyId; - UINT16 LatencyOrBandwidth; - UINT16 Reserved; - -} ACPI_CDAT_SSLBE; - -#define ACPI_CDAT_SSLBIS_US_PORT 0x0100 -#define ACPI_CDAT_SSLBIS_ANY_PORT 0xffff - -/******************************************************************************* - * - * CEDT - CXL Early Discovery Table - * Version 1 - * - * Conforms to the "CXL Early Discovery Table" (CXL 2.0, October 2020) - * - ******************************************************************************/ - -typedef struct acpi_table_cedt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_CEDT; - -/* CEDT subtable header (Performance Record Structure) */ - -typedef struct acpi_cedt_header -{ - UINT8 Type; - UINT8 Reserved; - UINT16 Length; - -} ACPI_CEDT_HEADER; - -/* Values for Type field above */ - -enum AcpiCedtType -{ - ACPI_CEDT_TYPE_CHBS = 0, - ACPI_CEDT_TYPE_CFMWS = 1, - ACPI_CEDT_TYPE_CXIMS = 2, - ACPI_CEDT_TYPE_RDPAS = 3, - ACPI_CEDT_TYPE_RESERVED = 4, -}; - -/* Values for version field above */ - -#define ACPI_CEDT_CHBS_VERSION_CXL11 (0) -#define ACPI_CEDT_CHBS_VERSION_CXL20 (1) - -/* Values for length field above */ - -#define ACPI_CEDT_CHBS_LENGTH_CXL11 (0x2000) -#define ACPI_CEDT_CHBS_LENGTH_CXL20 (0x10000) - -/* - * CEDT subtables - */ - -/* 0: CXL Host Bridge Structure */ - -typedef struct acpi_cedt_chbs -{ - ACPI_CEDT_HEADER Header; - UINT32 Uid; - UINT32 CxlVersion; - UINT32 Reserved; - UINT64 Base; - UINT64 Length; - -} ACPI_CEDT_CHBS; - - -/* 1: CXL Fixed Memory Window Structure */ - -typedef struct acpi_cedt_cfmws -{ - ACPI_CEDT_HEADER Header; - UINT32 Reserved1; - UINT64 BaseHpa; - UINT64 WindowSize; - UINT8 InterleaveWays; - UINT8 InterleaveArithmetic; - UINT16 Reserved2; - UINT32 Granularity; - UINT16 Restrictions; - UINT16 QtgId; - UINT32 InterleaveTargets[]; - -} ACPI_CEDT_CFMWS; - -typedef struct acpi_cedt_cfmws_target_element -{ - UINT32 InterleaveTarget; - -} ACPI_CEDT_CFMWS_TARGET_ELEMENT; - -/* Values for Interleave Arithmetic field above */ - -#define ACPI_CEDT_CFMWS_ARITHMETIC_MODULO (0) -#define ACPI_CEDT_CFMWS_ARITHMETIC_XOR (1) - -/* Values for Restrictions field above */ - -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE2 (1) -#define ACPI_CEDT_CFMWS_RESTRICT_TYPE3 (1<<1) -#define ACPI_CEDT_CFMWS_RESTRICT_VOLATILE (1<<2) -#define ACPI_CEDT_CFMWS_RESTRICT_PMEM (1<<3) -#define ACPI_CEDT_CFMWS_RESTRICT_FIXED (1<<4) - -/* 2: CXL XOR Interleave Math Structure */ - -struct acpi_cedt_cxims { - ACPI_CEDT_HEADER Header; - UINT16 Reserved1; - UINT8 Hbig; - UINT8 NrXormaps; - UINT64 XormapList[]; -}; - -/* 3: CXL RCEC Downstream Port Association Structure */ - -struct acpi_cedt_rdpas { - ACPI_CEDT_HEADER Header; - UINT8 Reserved1; - UINT16 Length; - UINT16 Segment; - UINT16 Bdf; - UINT8 Protocol; - UINT64 Address; -}; - -/* Masks for bdf field above */ -#define ACPI_CEDT_RDPAS_BUS_MASK 0xff00 -#define ACPI_CEDT_RDPAS_DEVICE_MASK 0x00f8 -#define ACPI_CEDT_RDPAS_FUNCTION_MASK 0x0007 - -#define ACPI_CEDT_RDPAS_PROTOCOL_IO (0) -#define ACPI_CEDT_RDPAS_PROTOCOL_CACHEMEM (1) - -/******************************************************************************* - * - * CPEP - Corrected Platform Error Polling table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_cpep -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 Reserved; - -} ACPI_TABLE_CPEP; - - -/* Subtable */ - -typedef struct acpi_cpep_polling -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Id; /* Processor ID */ - UINT8 Eid; /* Processor EID */ - UINT32 Interval; /* Polling interval (msec) */ - -} ACPI_CPEP_POLLING; - - -/******************************************************************************* - * - * CSRT - Core System Resource Table - * Version 0 - * - * Conforms to the "Core System Resource Table (CSRT)", November 14, 2011 - * - ******************************************************************************/ - -typedef struct acpi_table_csrt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_CSRT; - - -/* Resource Group subtable */ - -typedef struct acpi_csrt_group -{ - UINT32 Length; - UINT32 VendorId; - UINT32 SubvendorId; - UINT16 DeviceId; - UINT16 SubdeviceId; - UINT16 Revision; - UINT16 Reserved; - UINT32 SharedInfoLength; - - /* Shared data immediately follows (Length = SharedInfoLength) */ - -} ACPI_CSRT_GROUP; - -/* Shared Info subtable */ - -typedef struct acpi_csrt_shared_info -{ - UINT16 MajorVersion; - UINT16 MinorVersion; - UINT32 MmioBaseLow; - UINT32 MmioBaseHigh; - UINT32 GsiInterrupt; - UINT8 InterruptPolarity; - UINT8 InterruptMode; - UINT8 NumChannels; - UINT8 DmaAddressWidth; - UINT16 BaseRequestLine; - UINT16 NumHandshakeSignals; - UINT32 MaxBlockSize; - - /* Resource descriptors immediately follow (Length = Group Length - SharedInfoLength) */ - -} ACPI_CSRT_SHARED_INFO; - -/* Resource Descriptor subtable */ - -typedef struct acpi_csrt_descriptor -{ - UINT32 Length; - UINT16 Type; - UINT16 Subtype; - UINT32 Uid; - - /* Resource-specific information immediately follows */ - -} ACPI_CSRT_DESCRIPTOR; - - -/* Resource Types */ - -#define ACPI_CSRT_TYPE_INTERRUPT 0x0001 -#define ACPI_CSRT_TYPE_TIMER 0x0002 -#define ACPI_CSRT_TYPE_DMA 0x0003 - -/* Resource Subtypes */ - -#define ACPI_CSRT_XRUPT_LINE 0x0000 -#define ACPI_CSRT_XRUPT_CONTROLLER 0x0001 -#define ACPI_CSRT_TIMER 0x0000 -#define ACPI_CSRT_DMA_CHANNEL 0x0000 -#define ACPI_CSRT_DMA_CONTROLLER 0x0001 - - -/******************************************************************************* - * - * DBG2 - Debug Port Table 2 - * Version 0 (Both main table and subtables) - * - * Conforms to "Microsoft Debug Port Table 2 (DBG2)", September 21, 2020 - * - ******************************************************************************/ - -typedef struct acpi_table_dbg2 -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 InfoOffset; - UINT32 InfoCount; - -} ACPI_TABLE_DBG2; - - -typedef struct acpi_dbg2_header -{ - UINT32 InfoOffset; - UINT32 InfoCount; - -} ACPI_DBG2_HEADER; - - -/* Debug Device Information Subtable */ - -typedef struct acpi_dbg2_device -{ - UINT8 Revision; - UINT16 Length; - UINT8 RegisterCount; /* Number of BaseAddress registers */ - UINT16 NamepathLength; - UINT16 NamepathOffset; - UINT16 OemDataLength; - UINT16 OemDataOffset; - UINT16 PortType; - UINT16 PortSubtype; - UINT16 Reserved; - UINT16 BaseAddressOffset; - UINT16 AddressSizeOffset; - /* - * Data that follows: - * BaseAddress (required) - Each in 12-byte Generic Address Structure format. - * AddressSize (required) - Array of UINT32 sizes corresponding to each BaseAddress register. - * Namepath (required) - Null terminated string. Single dot if not supported. - * OemData (optional) - Length is OemDataLength. - */ -} ACPI_DBG2_DEVICE; - -/* Types for PortType field above */ - -#define ACPI_DBG2_SERIAL_PORT 0x8000 -#define ACPI_DBG2_1394_PORT 0x8001 -#define ACPI_DBG2_USB_PORT 0x8002 -#define ACPI_DBG2_NET_PORT 0x8003 - -/* Subtypes for PortSubtype field above */ - -#define ACPI_DBG2_16550_COMPATIBLE 0x0000 -#define ACPI_DBG2_16550_SUBSET 0x0001 -#define ACPI_DBG2_MAX311XE_SPI 0x0002 -#define ACPI_DBG2_ARM_PL011 0x0003 -#define ACPI_DBG2_MSM8X60 0x0004 -#define ACPI_DBG2_16550_NVIDIA 0x0005 -#define ACPI_DBG2_TI_OMAP 0x0006 -#define ACPI_DBG2_APM88XXXX 0x0008 -#define ACPI_DBG2_MSM8974 0x0009 -#define ACPI_DBG2_SAM5250 0x000A -#define ACPI_DBG2_INTEL_USIF 0x000B -#define ACPI_DBG2_IMX6 0x000C -#define ACPI_DBG2_ARM_SBSA_32BIT 0x000D -#define ACPI_DBG2_ARM_SBSA_GENERIC 0x000E -#define ACPI_DBG2_ARM_DCC 0x000F -#define ACPI_DBG2_BCM2835 0x0010 -#define ACPI_DBG2_SDM845_1_8432MHZ 0x0011 -#define ACPI_DBG2_16550_WITH_GAS 0x0012 -#define ACPI_DBG2_SDM845_7_372MHZ 0x0013 -#define ACPI_DBG2_INTEL_LPSS 0x0014 - -#define ACPI_DBG2_1394_STANDARD 0x0000 - -#define ACPI_DBG2_USB_XHCI 0x0000 -#define ACPI_DBG2_USB_EHCI 0x0001 - - -/******************************************************************************* - * - * DBGP - Debug Port table - * Version 1 - * - * Conforms to the "Debug Port Specification", Version 1.00, 2/9/2000 - * - ******************************************************************************/ - -typedef struct acpi_table_dbgp -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Type; /* 0=full 16550, 1=subset of 16550 */ - UINT8 Reserved[3]; - ACPI_GENERIC_ADDRESS DebugPort; - -} ACPI_TABLE_DBGP; - - -/******************************************************************************* - * - * DMAR - DMA Remapping table - * Version 1 - * - * Conforms to "Intel Virtualization Technology for Directed I/O", - * Version 2.3, October 2014 - * - ******************************************************************************/ - -typedef struct acpi_table_dmar -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Width; /* Host Address Width */ - UINT8 Flags; - UINT8 Reserved[10]; - -} ACPI_TABLE_DMAR; - -/* Masks for Flags field above */ - -#define ACPI_DMAR_INTR_REMAP (1) -#define ACPI_DMAR_X2APIC_OPT_OUT (1<<1) -#define ACPI_DMAR_X2APIC_MODE (1<<2) - - -/* DMAR subtable header */ - -typedef struct acpi_dmar_header -{ - UINT16 Type; - UINT16 Length; - -} ACPI_DMAR_HEADER; - -/* Values for subtable type in ACPI_DMAR_HEADER */ - -enum AcpiDmarType -{ - ACPI_DMAR_TYPE_HARDWARE_UNIT = 0, - ACPI_DMAR_TYPE_RESERVED_MEMORY = 1, - ACPI_DMAR_TYPE_ROOT_ATS = 2, - ACPI_DMAR_TYPE_HARDWARE_AFFINITY = 3, - ACPI_DMAR_TYPE_NAMESPACE = 4, - ACPI_DMAR_TYPE_SATC = 5, - ACPI_DMAR_TYPE_RESERVED = 6 /* 6 and greater are reserved */ -}; - - -/* DMAR Device Scope structure */ - -typedef struct acpi_dmar_device_scope -{ - UINT8 EntryType; - UINT8 Length; - UINT16 Reserved; - UINT8 EnumerationId; - UINT8 Bus; - -} ACPI_DMAR_DEVICE_SCOPE; - -/* Values for EntryType in ACPI_DMAR_DEVICE_SCOPE - device types */ - -enum AcpiDmarScopeType -{ - ACPI_DMAR_SCOPE_TYPE_NOT_USED = 0, - ACPI_DMAR_SCOPE_TYPE_ENDPOINT = 1, - ACPI_DMAR_SCOPE_TYPE_BRIDGE = 2, - ACPI_DMAR_SCOPE_TYPE_IOAPIC = 3, - ACPI_DMAR_SCOPE_TYPE_HPET = 4, - ACPI_DMAR_SCOPE_TYPE_NAMESPACE = 5, - ACPI_DMAR_SCOPE_TYPE_RESERVED = 6 /* 6 and greater are reserved */ -}; - -typedef struct acpi_dmar_pci_path -{ - UINT8 Device; - UINT8 Function; - -} ACPI_DMAR_PCI_PATH; - - -/* - * DMAR Subtables, correspond to Type in ACPI_DMAR_HEADER - */ - -/* 0: Hardware Unit Definition */ - -typedef struct acpi_dmar_hardware_unit -{ - ACPI_DMAR_HEADER Header; - UINT8 Flags; - UINT8 Reserved; - UINT16 Segment; - UINT64 Address; /* Register Base Address */ - -} ACPI_DMAR_HARDWARE_UNIT; - -/* Masks for Flags field above */ - -#define ACPI_DMAR_INCLUDE_ALL (1) - - -/* 1: Reserved Memory Definition */ - -typedef struct acpi_dmar_reserved_memory -{ - ACPI_DMAR_HEADER Header; - UINT16 Reserved; - UINT16 Segment; - UINT64 BaseAddress; /* 4K aligned base address */ - UINT64 EndAddress; /* 4K aligned limit address */ - -} ACPI_DMAR_RESERVED_MEMORY; - -/* Masks for Flags field above */ - -#define ACPI_DMAR_ALLOW_ALL (1) - - -/* 2: Root Port ATS Capability Reporting Structure */ - -typedef struct acpi_dmar_atsr -{ - ACPI_DMAR_HEADER Header; - UINT8 Flags; - UINT8 Reserved; - UINT16 Segment; - -} ACPI_DMAR_ATSR; - -/* Masks for Flags field above */ - -#define ACPI_DMAR_ALL_PORTS (1) - - -/* 3: Remapping Hardware Static Affinity Structure */ - -typedef struct acpi_dmar_rhsa -{ - ACPI_DMAR_HEADER Header; - UINT32 Reserved; - UINT64 BaseAddress; - UINT32 ProximityDomain; - -} ACPI_DMAR_RHSA; - - -/* 4: ACPI Namespace Device Declaration Structure */ - -typedef struct acpi_dmar_andd -{ - ACPI_DMAR_HEADER Header; - UINT8 Reserved[3]; - UINT8 DeviceNumber; - union { - char __pad; - ACPI_FLEX_ARRAY(char, DeviceName); - }; - -} ACPI_DMAR_ANDD; - - -/* 5: SoC Integrated Address Translation Cache (SATC) */ - -typedef struct acpi_dmar_satc -{ - ACPI_DMAR_HEADER Header; - UINT8 Flags; - UINT8 Reserved; - UINT16 Segment; - -} ACPI_DMAR_SATC - -; -/******************************************************************************* - * - * DRTM - Dynamic Root of Trust for Measurement table - * Conforms to "TCG D-RTM Architecture" June 17 2013, Version 1.0.0 - * Table version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_drtm -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 EntryBaseAddress; - UINT64 EntryLength; - UINT32 EntryAddress32; - UINT64 EntryAddress64; - UINT64 ExitAddress; - UINT64 LogAreaAddress; - UINT32 LogAreaLength; - UINT64 ArchDependentAddress; - UINT32 Flags; - -} ACPI_TABLE_DRTM; - -/* Flag Definitions for above */ - -#define ACPI_DRTM_ACCESS_ALLOWED (1) -#define ACPI_DRTM_ENABLE_GAP_CODE (1<<1) -#define ACPI_DRTM_INCOMPLETE_MEASUREMENTS (1<<2) -#define ACPI_DRTM_AUTHORITY_ORDER (1<<3) - - -/* 1) Validated Tables List (64-bit addresses) */ - -typedef struct acpi_drtm_vtable_list -{ - UINT32 ValidatedTableCount; - UINT64 ValidatedTables[]; - -} ACPI_DRTM_VTABLE_LIST; - -/* 2) Resources List (of Resource Descriptors) */ - -/* Resource Descriptor */ - -typedef struct acpi_drtm_resource -{ - UINT8 Size[7]; - UINT8 Type; - UINT64 Address; - -} ACPI_DRTM_RESOURCE; - -typedef struct acpi_drtm_resource_list -{ - UINT32 ResourceCount; - ACPI_DRTM_RESOURCE Resources[]; - -} ACPI_DRTM_RESOURCE_LIST; - -/* 3) Platform-specific Identifiers List */ - -typedef struct acpi_drtm_dps_id -{ - UINT32 DpsIdLength; - UINT8 DpsId[16]; - -} ACPI_DRTM_DPS_ID; - - -/******************************************************************************* - * - * ECDT - Embedded Controller Boot Resources Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_ecdt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - ACPI_GENERIC_ADDRESS Control; /* Address of EC command/status register */ - ACPI_GENERIC_ADDRESS Data; /* Address of EC data register */ - UINT32 Uid; /* Unique ID - must be same as the EC _UID method */ - UINT8 Gpe; /* The GPE for the EC */ - UINT8 Id[]; /* Full namepath of the EC in the ACPI namespace */ - -} ACPI_TABLE_ECDT; - - -/******************************************************************************* - * - * EINJ - Error Injection Table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_einj -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 HeaderLength; - UINT8 Flags; - UINT8 Reserved[3]; - UINT32 Entries; - -} ACPI_TABLE_EINJ; - - -/* EINJ Injection Instruction Entries (actions) */ - -typedef struct acpi_einj_entry -{ - ACPI_WHEA_HEADER WheaHeader; /* Common header for WHEA tables */ - -} ACPI_EINJ_ENTRY; - -/* Masks for Flags field above */ - -#define ACPI_EINJ_PRESERVE (1) - -/* Values for Action field above */ - -enum AcpiEinjActions -{ - ACPI_EINJ_BEGIN_OPERATION = 0, - ACPI_EINJ_GET_TRIGGER_TABLE = 1, - ACPI_EINJ_SET_ERROR_TYPE = 2, - ACPI_EINJ_GET_ERROR_TYPE = 3, - ACPI_EINJ_END_OPERATION = 4, - ACPI_EINJ_EXECUTE_OPERATION = 5, - ACPI_EINJ_CHECK_BUSY_STATUS = 6, - ACPI_EINJ_GET_COMMAND_STATUS = 7, - ACPI_EINJ_SET_ERROR_TYPE_WITH_ADDRESS = 8, - ACPI_EINJ_GET_EXECUTE_TIMINGS = 9, - ACPI_EINJ_ACTION_RESERVED = 10, /* 10 and greater are reserved */ - ACPI_EINJ_TRIGGER_ERROR = 0xFF /* Except for this value */ -}; - -/* Values for Instruction field above */ - -enum AcpiEinjInstructions -{ - ACPI_EINJ_READ_REGISTER = 0, - ACPI_EINJ_READ_REGISTER_VALUE = 1, - ACPI_EINJ_WRITE_REGISTER = 2, - ACPI_EINJ_WRITE_REGISTER_VALUE = 3, - ACPI_EINJ_NOOP = 4, - ACPI_EINJ_FLUSH_CACHELINE = 5, - ACPI_EINJ_INSTRUCTION_RESERVED = 6 /* 6 and greater are reserved */ -}; - -typedef struct acpi_einj_error_type_with_addr -{ - UINT32 ErrorType; - UINT32 VendorStructOffset; - UINT32 Flags; - UINT32 ApicId; - UINT64 Address; - UINT64 Range; - UINT32 PcieId; - -} ACPI_EINJ_ERROR_TYPE_WITH_ADDR; - -typedef struct acpi_einj_vendor -{ - UINT32 Length; - UINT32 PcieId; - UINT16 VendorId; - UINT16 DeviceId; - UINT8 RevisionId; - UINT8 Reserved[3]; - -} ACPI_EINJ_VENDOR; - - -/* EINJ Trigger Error Action Table */ - -typedef struct acpi_einj_trigger -{ - UINT32 HeaderSize; - UINT32 Revision; - UINT32 TableSize; - UINT32 EntryCount; - -} ACPI_EINJ_TRIGGER; - -/* Command status return values */ - -enum AcpiEinjCommandStatus -{ - ACPI_EINJ_SUCCESS = 0, - ACPI_EINJ_FAILURE = 1, - ACPI_EINJ_INVALID_ACCESS = 2, - ACPI_EINJ_STATUS_RESERVED = 3 /* 3 and greater are reserved */ -}; - - -/* Error types returned from ACPI_EINJ_GET_ERROR_TYPE (bitfield) */ - -#define ACPI_EINJ_PROCESSOR_CORRECTABLE (1) -#define ACPI_EINJ_PROCESSOR_UNCORRECTABLE (1<<1) -#define ACPI_EINJ_PROCESSOR_FATAL (1<<2) -#define ACPI_EINJ_MEMORY_CORRECTABLE (1<<3) -#define ACPI_EINJ_MEMORY_UNCORRECTABLE (1<<4) -#define ACPI_EINJ_MEMORY_FATAL (1<<5) -#define ACPI_EINJ_PCIX_CORRECTABLE (1<<6) -#define ACPI_EINJ_PCIX_UNCORRECTABLE (1<<7) -#define ACPI_EINJ_PCIX_FATAL (1<<8) -#define ACPI_EINJ_PLATFORM_CORRECTABLE (1<<9) -#define ACPI_EINJ_PLATFORM_UNCORRECTABLE (1<<10) -#define ACPI_EINJ_PLATFORM_FATAL (1<<11) -#define ACPI_EINJ_CXL_CACHE_CORRECTABLE (1<<12) -#define ACPI_EINJ_CXL_CACHE_UNCORRECTABLE (1<<13) -#define ACPI_EINJ_CXL_CACHE_FATAL (1<<14) -#define ACPI_EINJ_CXL_MEM_CORRECTABLE (1<<15) -#define ACPI_EINJ_CXL_MEM_UNCORRECTABLE (1<<16) -#define ACPI_EINJ_CXL_MEM_FATAL (1<<17) -#define ACPI_EINJ_VENDOR_DEFINED (1<<31) - - -/******************************************************************************* - * - * ERST - Error Record Serialization Table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_erst -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 HeaderLength; - UINT32 Reserved; - UINT32 Entries; - -} ACPI_TABLE_ERST; - - -/* ERST Serialization Entries (actions) */ - -typedef struct acpi_erst_entry -{ - ACPI_WHEA_HEADER WheaHeader; /* Common header for WHEA tables */ - -} ACPI_ERST_ENTRY; - -/* Masks for Flags field above */ - -#define ACPI_ERST_PRESERVE (1) - -/* Values for Action field above */ - -enum AcpiErstActions -{ - ACPI_ERST_BEGIN_WRITE = 0, - ACPI_ERST_BEGIN_READ = 1, - ACPI_ERST_BEGIN_CLEAR = 2, - ACPI_ERST_END = 3, - ACPI_ERST_SET_RECORD_OFFSET = 4, - ACPI_ERST_EXECUTE_OPERATION = 5, - ACPI_ERST_CHECK_BUSY_STATUS = 6, - ACPI_ERST_GET_COMMAND_STATUS = 7, - ACPI_ERST_GET_RECORD_ID = 8, - ACPI_ERST_SET_RECORD_ID = 9, - ACPI_ERST_GET_RECORD_COUNT = 10, - ACPI_ERST_BEGIN_DUMMY_WRIITE = 11, - ACPI_ERST_NOT_USED = 12, - ACPI_ERST_GET_ERROR_RANGE = 13, - ACPI_ERST_GET_ERROR_LENGTH = 14, - ACPI_ERST_GET_ERROR_ATTRIBUTES = 15, - ACPI_ERST_EXECUTE_TIMINGS = 16, - ACPI_ERST_ACTION_RESERVED = 17 /* 17 and greater are reserved */ -}; - -/* Values for Instruction field above */ - -enum AcpiErstInstructions -{ - ACPI_ERST_READ_REGISTER = 0, - ACPI_ERST_READ_REGISTER_VALUE = 1, - ACPI_ERST_WRITE_REGISTER = 2, - ACPI_ERST_WRITE_REGISTER_VALUE = 3, - ACPI_ERST_NOOP = 4, - ACPI_ERST_LOAD_VAR1 = 5, - ACPI_ERST_LOAD_VAR2 = 6, - ACPI_ERST_STORE_VAR1 = 7, - ACPI_ERST_ADD = 8, - ACPI_ERST_SUBTRACT = 9, - ACPI_ERST_ADD_VALUE = 10, - ACPI_ERST_SUBTRACT_VALUE = 11, - ACPI_ERST_STALL = 12, - ACPI_ERST_STALL_WHILE_TRUE = 13, - ACPI_ERST_SKIP_NEXT_IF_TRUE = 14, - ACPI_ERST_GOTO = 15, - ACPI_ERST_SET_SRC_ADDRESS_BASE = 16, - ACPI_ERST_SET_DST_ADDRESS_BASE = 17, - ACPI_ERST_MOVE_DATA = 18, - ACPI_ERST_INSTRUCTION_RESERVED = 19 /* 19 and greater are reserved */ -}; - -/* Command status return values */ - -enum AcpiErstCommandStatus -{ - ACPI_ERST_SUCCESS = 0, - ACPI_ERST_NO_SPACE = 1, - ACPI_ERST_NOT_AVAILABLE = 2, - ACPI_ERST_FAILURE = 3, - ACPI_ERST_RECORD_EMPTY = 4, - ACPI_ERST_NOT_FOUND = 5, - ACPI_ERST_STATUS_RESERVED = 6 /* 6 and greater are reserved */ -}; - - -/* Error Record Serialization Information */ - -typedef struct acpi_erst_info -{ - UINT16 Signature; /* Should be "ER" */ - UINT8 Data[48]; - -} ACPI_ERST_INFO; - - -/******************************************************************************* - * - * FPDT - Firmware Performance Data Table (ACPI 5.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_fpdt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_FPDT; - - -/* FPDT subtable header (Performance Record Structure) */ - -typedef struct acpi_fpdt_header -{ - UINT16 Type; - UINT8 Length; - UINT8 Revision; - -} ACPI_FPDT_HEADER; - -/* Values for Type field above */ - -enum AcpiFpdtType -{ - ACPI_FPDT_TYPE_BOOT = 0, - ACPI_FPDT_TYPE_S3PERF = 1 -}; - - -/* - * FPDT subtables - */ - -/* 0: Firmware Basic Boot Performance Record */ - -typedef struct acpi_fpdt_boot_pointer -{ - ACPI_FPDT_HEADER Header; - UINT8 Reserved[4]; - UINT64 Address; - -} ACPI_FPDT_BOOT_POINTER; - - -/* 1: S3 Performance Table Pointer Record */ - -typedef struct acpi_fpdt_s3pt_pointer -{ - ACPI_FPDT_HEADER Header; - UINT8 Reserved[4]; - UINT64 Address; - -} ACPI_FPDT_S3PT_POINTER; - - -/* - * S3PT - S3 Performance Table. This table is pointed to by the - * S3 Pointer Record above. - */ -typedef struct acpi_table_s3pt -{ - UINT8 Signature[4]; /* "S3PT" */ - UINT32 Length; - -} ACPI_TABLE_S3PT; - - -/* - * S3PT Subtables (Not part of the actual FPDT) - */ - -/* Values for Type field in S3PT header */ - -enum AcpiS3ptType -{ - ACPI_S3PT_TYPE_RESUME = 0, - ACPI_S3PT_TYPE_SUSPEND = 1, - ACPI_FPDT_BOOT_PERFORMANCE = 2 -}; - -typedef struct acpi_s3pt_resume -{ - ACPI_FPDT_HEADER Header; - UINT32 ResumeCount; - UINT64 FullResume; - UINT64 AverageResume; - -} ACPI_S3PT_RESUME; - -typedef struct acpi_s3pt_suspend -{ - ACPI_FPDT_HEADER Header; - UINT64 SuspendStart; - UINT64 SuspendEnd; - -} ACPI_S3PT_SUSPEND; - - -/* - * FPDT Boot Performance Record (Not part of the actual FPDT) - */ -typedef struct acpi_fpdt_boot -{ - ACPI_FPDT_HEADER Header; - UINT8 Reserved[4]; - UINT64 ResetEnd; - UINT64 LoadStart; - UINT64 StartupStart; - UINT64 ExitServicesEntry; - UINT64 ExitServicesExit; - -} ACPI_FPDT_BOOT; - - -/******************************************************************************* - * - * GTDT - Generic Timer Description Table (ACPI 5.1) - * Version 2 - * - ******************************************************************************/ - -typedef struct acpi_table_gtdt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 CounterBlockAddresss; - UINT32 Reserved; - UINT32 SecureEl1Interrupt; - UINT32 SecureEl1Flags; - UINT32 NonSecureEl1Interrupt; - UINT32 NonSecureEl1Flags; - UINT32 VirtualTimerInterrupt; - UINT32 VirtualTimerFlags; - UINT32 NonSecureEl2Interrupt; - UINT32 NonSecureEl2Flags; - UINT64 CounterReadBlockAddress; - UINT32 PlatformTimerCount; - UINT32 PlatformTimerOffset; - -} ACPI_TABLE_GTDT; - -/* Flag Definitions: Timer Block Physical Timers and Virtual timers */ - -#define ACPI_GTDT_INTERRUPT_MODE (1) -#define ACPI_GTDT_INTERRUPT_POLARITY (1<<1) -#define ACPI_GTDT_ALWAYS_ON (1<<2) - -typedef struct acpi_gtdt_el2 -{ - UINT32 VirtualEL2TimerGsiv; - UINT32 VirtualEL2TimerFlags; -} ACPI_GTDT_EL2; - - -/* Common GTDT subtable header */ - -typedef struct acpi_gtdt_header -{ - UINT8 Type; - UINT16 Length; - -} ACPI_GTDT_HEADER; - -/* Values for GTDT subtable type above */ - -enum AcpiGtdtType -{ - ACPI_GTDT_TYPE_TIMER_BLOCK = 0, - ACPI_GTDT_TYPE_WATCHDOG = 1, - ACPI_GTDT_TYPE_RESERVED = 2 /* 2 and greater are reserved */ -}; - - -/* GTDT Subtables, correspond to Type in acpi_gtdt_header */ - -/* 0: Generic Timer Block */ - -typedef struct acpi_gtdt_timer_block -{ - ACPI_GTDT_HEADER Header; - UINT8 Reserved; - UINT64 BlockAddress; - UINT32 TimerCount; - UINT32 TimerOffset; - -} ACPI_GTDT_TIMER_BLOCK; - -/* Timer Sub-Structure, one per timer */ - -typedef struct acpi_gtdt_timer_entry -{ - UINT8 FrameNumber; - UINT8 Reserved[3]; - UINT64 BaseAddress; - UINT64 El0BaseAddress; - UINT32 TimerInterrupt; - UINT32 TimerFlags; - UINT32 VirtualTimerInterrupt; - UINT32 VirtualTimerFlags; - UINT32 CommonFlags; - -} ACPI_GTDT_TIMER_ENTRY; - -/* Flag Definitions: TimerFlags and VirtualTimerFlags above */ - -#define ACPI_GTDT_GT_IRQ_MODE (1) -#define ACPI_GTDT_GT_IRQ_POLARITY (1<<1) - -/* Flag Definitions: CommonFlags above */ - -#define ACPI_GTDT_GT_IS_SECURE_TIMER (1) -#define ACPI_GTDT_GT_ALWAYS_ON (1<<1) - - -/* 1: SBSA Generic Watchdog Structure */ - -typedef struct acpi_gtdt_watchdog -{ - ACPI_GTDT_HEADER Header; - UINT8 Reserved; - UINT64 RefreshFrameAddress; - UINT64 ControlFrameAddress; - UINT32 TimerInterrupt; - UINT32 TimerFlags; - -} ACPI_GTDT_WATCHDOG; - -/* Flag Definitions: TimerFlags above */ - -#define ACPI_GTDT_WATCHDOG_IRQ_MODE (1) -#define ACPI_GTDT_WATCHDOG_IRQ_POLARITY (1<<1) -#define ACPI_GTDT_WATCHDOG_SECURE (1<<2) - - -/******************************************************************************* - * - * HEST - Hardware Error Source Table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_hest -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 ErrorSourceCount; - -} ACPI_TABLE_HEST; - - -/* HEST subtable header */ - -typedef struct acpi_hest_header -{ - UINT16 Type; - UINT16 SourceId; - -} ACPI_HEST_HEADER; - - -/* Values for Type field above for subtables */ - -enum AcpiHestTypes -{ - ACPI_HEST_TYPE_IA32_CHECK = 0, - ACPI_HEST_TYPE_IA32_CORRECTED_CHECK = 1, - ACPI_HEST_TYPE_IA32_NMI = 2, - ACPI_HEST_TYPE_NOT_USED3 = 3, - ACPI_HEST_TYPE_NOT_USED4 = 4, - ACPI_HEST_TYPE_NOT_USED5 = 5, - ACPI_HEST_TYPE_AER_ROOT_PORT = 6, - ACPI_HEST_TYPE_AER_ENDPOINT = 7, - ACPI_HEST_TYPE_AER_BRIDGE = 8, - ACPI_HEST_TYPE_GENERIC_ERROR = 9, - ACPI_HEST_TYPE_GENERIC_ERROR_V2 = 10, - ACPI_HEST_TYPE_IA32_DEFERRED_CHECK = 11, - ACPI_HEST_TYPE_RESERVED = 12 /* 12 and greater are reserved */ -}; - - -/* - * HEST substructures contained in subtables - */ - -/* - * IA32 Error Bank(s) - Follows the ACPI_HEST_IA_MACHINE_CHECK and - * ACPI_HEST_IA_CORRECTED structures. - */ -typedef struct acpi_hest_ia_error_bank -{ - UINT8 BankNumber; - UINT8 ClearStatusOnInit; - UINT8 StatusFormat; - UINT8 Reserved; - UINT32 ControlRegister; - UINT64 ControlData; - UINT32 StatusRegister; - UINT32 AddressRegister; - UINT32 MiscRegister; - -} ACPI_HEST_IA_ERROR_BANK; - - -/* Common HEST sub-structure for PCI/AER structures below (6,7,8) */ - -typedef struct acpi_hest_aer_common -{ - UINT16 Reserved1; - UINT8 Flags; - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - UINT32 Bus; /* Bus and Segment numbers */ - UINT16 Device; - UINT16 Function; - UINT16 DeviceControl; - UINT16 Reserved2; - UINT32 UncorrectableMask; - UINT32 UncorrectableSeverity; - UINT32 CorrectableMask; - UINT32 AdvancedCapabilities; - -} ACPI_HEST_AER_COMMON; - -/* Masks for HEST Flags fields */ - -#define ACPI_HEST_FIRMWARE_FIRST (1) -#define ACPI_HEST_GLOBAL (1<<1) -#define ACPI_HEST_GHES_ASSIST (1<<2) - -/* - * Macros to access the bus/segment numbers in Bus field above: - * Bus number is encoded in bits 7:0 - * Segment number is encoded in bits 23:8 - */ -#define ACPI_HEST_BUS(Bus) ((Bus) & 0xFF) -#define ACPI_HEST_SEGMENT(Bus) (((Bus) >> 8) & 0xFFFF) - - -/* Hardware Error Notification */ - -typedef struct acpi_hest_notify -{ - UINT8 Type; - UINT8 Length; - UINT16 ConfigWriteEnable; - UINT32 PollInterval; - UINT32 Vector; - UINT32 PollingThresholdValue; - UINT32 PollingThresholdWindow; - UINT32 ErrorThresholdValue; - UINT32 ErrorThresholdWindow; - -} ACPI_HEST_NOTIFY; - -/* Values for Notify Type field above */ - -enum AcpiHestNotifyTypes -{ - ACPI_HEST_NOTIFY_POLLED = 0, - ACPI_HEST_NOTIFY_EXTERNAL = 1, - ACPI_HEST_NOTIFY_LOCAL = 2, - ACPI_HEST_NOTIFY_SCI = 3, - ACPI_HEST_NOTIFY_NMI = 4, - ACPI_HEST_NOTIFY_CMCI = 5, /* ACPI 5.0 */ - ACPI_HEST_NOTIFY_MCE = 6, /* ACPI 5.0 */ - ACPI_HEST_NOTIFY_GPIO = 7, /* ACPI 6.0 */ - ACPI_HEST_NOTIFY_SEA = 8, /* ACPI 6.1 */ - ACPI_HEST_NOTIFY_SEI = 9, /* ACPI 6.1 */ - ACPI_HEST_NOTIFY_GSIV = 10, /* ACPI 6.1 */ - ACPI_HEST_NOTIFY_SOFTWARE_DELEGATED = 11, /* ACPI 6.2 */ - ACPI_HEST_NOTIFY_RESERVED = 12 /* 12 and greater are reserved */ -}; - -/* Values for ConfigWriteEnable bitfield above */ - -#define ACPI_HEST_TYPE (1) -#define ACPI_HEST_POLL_INTERVAL (1<<1) -#define ACPI_HEST_POLL_THRESHOLD_VALUE (1<<2) -#define ACPI_HEST_POLL_THRESHOLD_WINDOW (1<<3) -#define ACPI_HEST_ERR_THRESHOLD_VALUE (1<<4) -#define ACPI_HEST_ERR_THRESHOLD_WINDOW (1<<5) - - -/* - * HEST subtables - */ - -/* 0: IA32 Machine Check Exception */ - -typedef struct acpi_hest_ia_machine_check -{ - ACPI_HEST_HEADER Header; - UINT16 Reserved1; - UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */ - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - UINT64 GlobalCapabilityData; - UINT64 GlobalControlData; - UINT8 NumHardwareBanks; - UINT8 Reserved3[7]; - -} ACPI_HEST_IA_MACHINE_CHECK; - - -/* 1: IA32 Corrected Machine Check */ - -typedef struct acpi_hest_ia_corrected -{ - ACPI_HEST_HEADER Header; - UINT16 Reserved1; - UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */ - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - ACPI_HEST_NOTIFY Notify; - UINT8 NumHardwareBanks; - UINT8 Reserved2[3]; - -} ACPI_HEST_IA_CORRECTED; - - -/* 2: IA32 Non-Maskable Interrupt */ - -typedef struct acpi_hest_ia_nmi -{ - ACPI_HEST_HEADER Header; - UINT32 Reserved; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - UINT32 MaxRawDataLength; - -} ACPI_HEST_IA_NMI; - - -/* 3,4,5: Not used */ - -/* 6: PCI Express Root Port AER */ - -typedef struct acpi_hest_aer_root -{ - ACPI_HEST_HEADER Header; - ACPI_HEST_AER_COMMON Aer; - UINT32 RootErrorCommand; - -} ACPI_HEST_AER_ROOT; - - -/* 7: PCI Express AER (AER Endpoint) */ - -typedef struct acpi_hest_aer -{ - ACPI_HEST_HEADER Header; - ACPI_HEST_AER_COMMON Aer; - -} ACPI_HEST_AER; - - -/* 8: PCI Express/PCI-X Bridge AER */ - -typedef struct acpi_hest_aer_bridge -{ - ACPI_HEST_HEADER Header; - ACPI_HEST_AER_COMMON Aer; - UINT32 UncorrectableMask2; - UINT32 UncorrectableSeverity2; - UINT32 AdvancedCapabilities2; - -} ACPI_HEST_AER_BRIDGE; - - -/* 9: Generic Hardware Error Source */ - -typedef struct acpi_hest_generic -{ - ACPI_HEST_HEADER Header; - UINT16 RelatedSourceId; - UINT8 Reserved; - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - UINT32 MaxRawDataLength; - ACPI_GENERIC_ADDRESS ErrorStatusAddress; - ACPI_HEST_NOTIFY Notify; - UINT32 ErrorBlockLength; - -} ACPI_HEST_GENERIC; - - -/* 10: Generic Hardware Error Source, version 2 */ - -typedef struct acpi_hest_generic_v2 -{ - ACPI_HEST_HEADER Header; - UINT16 RelatedSourceId; - UINT8 Reserved; - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - UINT32 MaxRawDataLength; - ACPI_GENERIC_ADDRESS ErrorStatusAddress; - ACPI_HEST_NOTIFY Notify; - UINT32 ErrorBlockLength; - ACPI_GENERIC_ADDRESS ReadAckRegister; - UINT64 ReadAckPreserve; - UINT64 ReadAckWrite; - -} ACPI_HEST_GENERIC_V2; - - -/* Generic Error Status block */ - -typedef struct acpi_hest_generic_status -{ - UINT32 BlockStatus; - UINT32 RawDataOffset; - UINT32 RawDataLength; - UINT32 DataLength; - UINT32 ErrorSeverity; - -} ACPI_HEST_GENERIC_STATUS; - -/* Values for BlockStatus flags above */ - -#define ACPI_HEST_UNCORRECTABLE (1) -#define ACPI_HEST_CORRECTABLE (1<<1) -#define ACPI_HEST_MULTIPLE_UNCORRECTABLE (1<<2) -#define ACPI_HEST_MULTIPLE_CORRECTABLE (1<<3) -#define ACPI_HEST_ERROR_ENTRY_COUNT (0xFF<<4) /* 8 bits, error count */ - - -/* Generic Error Data entry */ - -typedef struct acpi_hest_generic_data -{ - UINT8 SectionType[16]; - UINT32 ErrorSeverity; - UINT16 Revision; - UINT8 ValidationBits; - UINT8 Flags; - UINT32 ErrorDataLength; - UINT8 FruId[16]; - UINT8 FruText[20]; - -} ACPI_HEST_GENERIC_DATA; - -/* Extension for revision 0x0300 */ - -typedef struct acpi_hest_generic_data_v300 -{ - UINT8 SectionType[16]; - UINT32 ErrorSeverity; - UINT16 Revision; - UINT8 ValidationBits; - UINT8 Flags; - UINT32 ErrorDataLength; - UINT8 FruId[16]; - UINT8 FruText[20]; - UINT64 TimeStamp; - -} ACPI_HEST_GENERIC_DATA_V300; - -/* Values for ErrorSeverity above */ - -#define ACPI_HEST_GEN_ERROR_RECOVERABLE 0 -#define ACPI_HEST_GEN_ERROR_FATAL 1 -#define ACPI_HEST_GEN_ERROR_CORRECTED 2 -#define ACPI_HEST_GEN_ERROR_NONE 3 - -/* Flags for ValidationBits above */ - -#define ACPI_HEST_GEN_VALID_FRU_ID (1) -#define ACPI_HEST_GEN_VALID_FRU_STRING (1<<1) -#define ACPI_HEST_GEN_VALID_TIMESTAMP (1<<2) - - -/* 11: IA32 Deferred Machine Check Exception (ACPI 6.2) */ - -typedef struct acpi_hest_ia_deferred_check -{ - ACPI_HEST_HEADER Header; - UINT16 Reserved1; - UINT8 Flags; /* See flags ACPI_HEST_GLOBAL, etc. above */ - UINT8 Enabled; - UINT32 RecordsToPreallocate; - UINT32 MaxSectionsPerRecord; - ACPI_HEST_NOTIFY Notify; - UINT8 NumHardwareBanks; - UINT8 Reserved2[3]; - -} ACPI_HEST_IA_DEFERRED_CHECK; - - -/******************************************************************************* - * - * HMAT - Heterogeneous Memory Attributes Table (ACPI 6.3) - * - ******************************************************************************/ - -typedef struct acpi_table_hmat -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Reserved; - -} ACPI_TABLE_HMAT; - - -/* Values for HMAT structure types */ - -enum AcpiHmatType -{ - ACPI_HMAT_TYPE_ADDRESS_RANGE = 0, /* Memory subsystem address range */ - ACPI_HMAT_TYPE_LOCALITY = 1, /* System locality latency and bandwidth information */ - ACPI_HMAT_TYPE_CACHE = 2, /* Memory side cache information */ - ACPI_HMAT_TYPE_RESERVED = 3 /* 3 and greater are reserved */ -}; - -typedef struct acpi_hmat_structure -{ - UINT16 Type; - UINT16 Reserved; - UINT32 Length; - -} ACPI_HMAT_STRUCTURE; - - -/* - * HMAT Structures, correspond to Type in ACPI_HMAT_STRUCTURE - */ - -/* 0: Memory proximity domain attributes */ - -typedef struct acpi_hmat_proximity_domain -{ - ACPI_HMAT_STRUCTURE Header; - UINT16 Flags; - UINT16 Reserved1; - UINT32 InitiatorPD; /* Attached Initiator proximity domain */ - UINT32 MemoryPD; /* Memory proximity domain */ - UINT32 Reserved2; - UINT64 Reserved3; - UINT64 Reserved4; - -} ACPI_HMAT_PROXIMITY_DOMAIN; - -/* Masks for Flags field above */ - -#define ACPI_HMAT_INITIATOR_PD_VALID (1) /* 1: InitiatorPD field is valid */ - - -/* 1: System locality latency and bandwidth information */ - -typedef struct acpi_hmat_locality -{ - ACPI_HMAT_STRUCTURE Header; - UINT8 Flags; - UINT8 DataType; - UINT8 MinTransferSize; - UINT8 Reserved1; - UINT32 NumberOfInitiatorPDs; - UINT32 NumberOfTargetPDs; - UINT32 Reserved2; - UINT64 EntryBaseUnit; - -} ACPI_HMAT_LOCALITY; - -/* Masks for Flags field above */ - -#define ACPI_HMAT_MEMORY_HIERARCHY (0x0F) /* Bits 0-3 */ - -/* Values for Memory Hierarchy flags */ - -#define ACPI_HMAT_MEMORY 0 -#define ACPI_HMAT_1ST_LEVEL_CACHE 1 -#define ACPI_HMAT_2ND_LEVEL_CACHE 2 -#define ACPI_HMAT_3RD_LEVEL_CACHE 3 -#define ACPI_HMAT_MINIMUM_XFER_SIZE 0x10 /* Bit 4: ACPI 6.4 */ -#define ACPI_HMAT_NON_SEQUENTIAL_XFERS 0x20 /* Bit 5: ACPI 6.4 */ - - -/* Values for DataType field above */ - -#define ACPI_HMAT_ACCESS_LATENCY 0 -#define ACPI_HMAT_READ_LATENCY 1 -#define ACPI_HMAT_WRITE_LATENCY 2 -#define ACPI_HMAT_ACCESS_BANDWIDTH 3 -#define ACPI_HMAT_READ_BANDWIDTH 4 -#define ACPI_HMAT_WRITE_BANDWIDTH 5 - - -/* 2: Memory side cache information */ - -typedef struct acpi_hmat_cache -{ - ACPI_HMAT_STRUCTURE Header; - UINT32 MemoryPD; - UINT32 Reserved1; - UINT64 CacheSize; - UINT32 CacheAttributes; - UINT16 Reserved2; - UINT16 NumberOfSMBIOSHandles; - -} ACPI_HMAT_CACHE; - -/* Masks for CacheAttributes field above */ - -#define ACPI_HMAT_TOTAL_CACHE_LEVEL (0x0000000F) -#define ACPI_HMAT_CACHE_LEVEL (0x000000F0) -#define ACPI_HMAT_CACHE_ASSOCIATIVITY (0x00000F00) -#define ACPI_HMAT_WRITE_POLICY (0x0000F000) -#define ACPI_HMAT_CACHE_LINE_SIZE (0xFFFF0000) - -/* Values for cache associativity flag */ - -#define ACPI_HMAT_CA_NONE (0) -#define ACPI_HMAT_CA_DIRECT_MAPPED (1) -#define ACPI_HMAT_CA_COMPLEX_CACHE_INDEXING (2) - -/* Values for write policy flag */ - -#define ACPI_HMAT_CP_NONE (0) -#define ACPI_HMAT_CP_WB (1) -#define ACPI_HMAT_CP_WT (2) - - -/******************************************************************************* - * - * HPET - High Precision Event Timer table - * Version 1 - * - * Conforms to "IA-PC HPET (High Precision Event Timers) Specification", - * Version 1.0a, October 2004 - * - ******************************************************************************/ - -typedef struct acpi_table_hpet -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Id; /* Hardware ID of event timer block */ - ACPI_GENERIC_ADDRESS Address; /* Address of event timer block */ - UINT8 Sequence; /* HPET sequence number */ - UINT16 MinimumTick; /* Main counter min tick, periodic mode */ - UINT8 Flags; - -} ACPI_TABLE_HPET; - -/* Masks for Flags field above */ - -#define ACPI_HPET_PAGE_PROTECT_MASK (3) - -/* Values for Page Protect flags */ - -enum AcpiHpetPageProtect -{ - ACPI_HPET_NO_PAGE_PROTECT = 0, - ACPI_HPET_PAGE_PROTECT4 = 1, - ACPI_HPET_PAGE_PROTECT64 = 2 -}; - - -/******************************************************************************* - * - * IBFT - Boot Firmware Table - * Version 1 - * - * Conforms to "iSCSI Boot Firmware Table (iBFT) as Defined in ACPI 3.0b - * Specification", Version 1.01, March 1, 2007 - * - * Note: It appears that this table is not intended to appear in the RSDT/XSDT. - * Therefore, it is not currently supported by the disassembler. - * - ******************************************************************************/ - -typedef struct acpi_table_ibft -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Reserved[12]; - -} ACPI_TABLE_IBFT; - - -/* IBFT common subtable header */ - -typedef struct acpi_ibft_header -{ - UINT8 Type; - UINT8 Version; - UINT16 Length; - UINT8 Index; - UINT8 Flags; - -} ACPI_IBFT_HEADER; - -/* Values for Type field above */ - -enum AcpiIbftType -{ - ACPI_IBFT_TYPE_NOT_USED = 0, - ACPI_IBFT_TYPE_CONTROL = 1, - ACPI_IBFT_TYPE_INITIATOR = 2, - ACPI_IBFT_TYPE_NIC = 3, - ACPI_IBFT_TYPE_TARGET = 4, - ACPI_IBFT_TYPE_EXTENSIONS = 5, - ACPI_IBFT_TYPE_RESERVED = 6 /* 6 and greater are reserved */ -}; - - -/* IBFT subtables */ - -typedef struct acpi_ibft_control -{ - ACPI_IBFT_HEADER Header; - UINT16 Extensions; - UINT16 InitiatorOffset; - UINT16 Nic0Offset; - UINT16 Target0Offset; - UINT16 Nic1Offset; - UINT16 Target1Offset; - -} ACPI_IBFT_CONTROL; - -typedef struct acpi_ibft_initiator -{ - ACPI_IBFT_HEADER Header; - UINT8 SnsServer[16]; - UINT8 SlpServer[16]; - UINT8 PrimaryServer[16]; - UINT8 SecondaryServer[16]; - UINT16 NameLength; - UINT16 NameOffset; - -} ACPI_IBFT_INITIATOR; - -typedef struct acpi_ibft_nic -{ - ACPI_IBFT_HEADER Header; - UINT8 IpAddress[16]; - UINT8 SubnetMaskPrefix; - UINT8 Origin; - UINT8 Gateway[16]; - UINT8 PrimaryDns[16]; - UINT8 SecondaryDns[16]; - UINT8 Dhcp[16]; - UINT16 Vlan; - UINT8 MacAddress[6]; - UINT16 PciAddress; - UINT16 NameLength; - UINT16 NameOffset; - -} ACPI_IBFT_NIC; - -typedef struct acpi_ibft_target -{ - ACPI_IBFT_HEADER Header; - UINT8 TargetIpAddress[16]; - UINT16 TargetIpSocket; - UINT8 TargetBootLun[8]; - UINT8 ChapType; - UINT8 NicAssociation; - UINT16 TargetNameLength; - UINT16 TargetNameOffset; - UINT16 ChapNameLength; - UINT16 ChapNameOffset; - UINT16 ChapSecretLength; - UINT16 ChapSecretOffset; - UINT16 ReverseChapNameLength; - UINT16 ReverseChapNameOffset; - UINT16 ReverseChapSecretLength; - UINT16 ReverseChapSecretOffset; - -} ACPI_IBFT_TARGET; - - -/* Reset to default packing */ - -#pragma pack() - -#endif /* __ACTBL1_H__ */ diff --git a/Private/acpiSDK/source/include/actbl2.h b/Private/acpiSDK/source/include/actbl2.h deleted file mode 100644 index 3d1d91e9..00000000 --- a/Private/acpiSDK/source/include/actbl2.h +++ /dev/null @@ -1,3447 +0,0 @@ -/****************************************************************************** - * - * Name: actbl2.h - ACPI Table Definitions (tables not in ACPI spec) - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTBL2_H__ -#define __ACTBL2_H__ - - -/******************************************************************************* - * - * Additional ACPI Tables (2) - * - * These tables are not consumed directly by the ACPICA subsystem, but are - * included here to support device drivers and the AML disassembler. - * - ******************************************************************************/ - - -/* - * Values for description table header signatures for tables defined in this - * file. Useful because they make it more difficult to inadvertently type in - * the wrong signature. - */ -#define ACPI_SIG_AGDI "AGDI" /* Arm Generic Diagnostic Dump and Reset Device Interface */ -#define ACPI_SIG_APMT "APMT" /* Arm Performance Monitoring Unit table */ -#define ACPI_SIG_BDAT "BDAT" /* BIOS Data ACPI Table */ -#define ACPI_SIG_CCEL "CCEL" /* CC Event Log Table */ -#define ACPI_SIG_CDAT "CDAT" /* Coherent Device Attribute Table */ -#define ACPI_SIG_IORT "IORT" /* IO Remapping Table */ -#define ACPI_SIG_IVRS "IVRS" /* I/O Virtualization Reporting Structure */ -#define ACPI_SIG_LPIT "LPIT" /* Low Power Idle Table */ -#define ACPI_SIG_MADT "APIC" /* Multiple APIC Description Table */ -#define ACPI_SIG_MCFG "MCFG" /* PCI Memory Mapped Configuration table */ -#define ACPI_SIG_MCHI "MCHI" /* Management Controller Host Interface table */ -#define ACPI_SIG_MPAM "MPAM" /* Memory System Resource Partitioning and Monitoring Table */ -#define ACPI_SIG_MPST "MPST" /* Memory Power State Table */ -#define ACPI_SIG_MSDM "MSDM" /* Microsoft Data Management Table */ -#define ACPI_SIG_NFIT "NFIT" /* NVDIMM Firmware Interface Table */ -#define ACPI_SIG_NHLT "NHLT" /* Non HD Audio Link Table */ -#define ACPI_SIG_PCCT "PCCT" /* Platform Communications Channel Table */ -#define ACPI_SIG_PDTT "PDTT" /* Platform Debug Trigger Table */ -#define ACPI_SIG_PHAT "PHAT" /* Platform Health Assessment Table */ -#define ACPI_SIG_PMTT "PMTT" /* Platform Memory Topology Table */ -#define ACPI_SIG_PPTT "PPTT" /* Processor Properties Topology Table */ -#define ACPI_SIG_PRMT "PRMT" /* Platform Runtime Mechanism Table */ -#define ACPI_SIG_RASF "RASF" /* RAS Feature table */ -#define ACPI_SIG_RAS2 "RAS2" /* RAS2 Feature table */ -#define ACPI_SIG_RGRT "RGRT" /* Regulatory Graphics Resource Table */ -#define ACPI_SIG_RHCT "RHCT" /* RISC-V Hart Capabilities Table */ -#define ACPI_SIG_SBST "SBST" /* Smart Battery Specification Table */ -#define ACPI_SIG_SDEI "SDEI" /* Software Delegated Exception Interface Table */ -#define ACPI_SIG_SDEV "SDEV" /* Secure Devices table */ -#define ACPI_SIG_SVKL "SVKL" /* Storage Volume Key Location Table */ -#define ACPI_SIG_TDEL "TDEL" /* TD Event Log Table */ - - -/* - * All tables must be byte-packed to match the ACPI specification, since - * the tables are provided by the system BIOS. - */ -#pragma pack(1) - -/* - * Note: C bitfields are not used for this reason: - * - * "Bitfields are great and easy to read, but unfortunately the C language - * does not specify the layout of bitfields in memory, which means they are - * essentially useless for dealing with packed data in on-disk formats or - * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, - * this decision was a design error in C. Ritchie could have picked an order - * and stuck with it." Norman Ramsey. - * See http://stackoverflow.com/a/1053662/41661 - */ - - -/******************************************************************************* - * - * AEST - Arm Error Source Table - * - * Conforms to: ACPI for the Armv8 RAS Extensions 1.1 Platform Design Document - * September 2020. - * - ******************************************************************************/ - -typedef struct acpi_table_aest -{ - ACPI_TABLE_HEADER Header; - -} ACPI_TABLE_AEST; - -/* Common Subtable header - one per Node Structure (Subtable) */ - -typedef struct acpi_aest_hdr -{ - UINT8 Type; - UINT16 Length; - UINT8 Reserved; - UINT32 NodeSpecificOffset; - UINT32 NodeInterfaceOffset; - UINT32 NodeInterruptOffset; - UINT32 NodeInterruptCount; - UINT64 TimestampRate; - UINT64 Reserved1; - UINT64 ErrorInjectionRate; - -} ACPI_AEST_HEADER; - -/* Values for Type above */ - -#define ACPI_AEST_PROCESSOR_ERROR_NODE 0 -#define ACPI_AEST_MEMORY_ERROR_NODE 1 -#define ACPI_AEST_SMMU_ERROR_NODE 2 -#define ACPI_AEST_VENDOR_ERROR_NODE 3 -#define ACPI_AEST_GIC_ERROR_NODE 4 -#define ACPI_AEST_NODE_TYPE_RESERVED 5 /* 5 and above are reserved */ - - -/* - * AEST subtables (Error nodes) - */ - -/* 0: Processor Error */ - -typedef struct acpi_aest_processor -{ - UINT32 ProcessorId; - UINT8 ResourceType; - UINT8 Reserved; - UINT8 Flags; - UINT8 Revision; - UINT64 ProcessorAffinity; - -} ACPI_AEST_PROCESSOR; - -/* Values for ResourceType above, related structs below */ - -#define ACPI_AEST_CACHE_RESOURCE 0 -#define ACPI_AEST_TLB_RESOURCE 1 -#define ACPI_AEST_GENERIC_RESOURCE 2 -#define ACPI_AEST_RESOURCE_RESERVED 3 /* 3 and above are reserved */ - -/* 0R: Processor Cache Resource Substructure */ - -typedef struct acpi_aest_processor_cache -{ - UINT32 CacheReference; - UINT32 Reserved; - -} ACPI_AEST_PROCESSOR_CACHE; - -/* Values for CacheType above */ - -#define ACPI_AEST_CACHE_DATA 0 -#define ACPI_AEST_CACHE_INSTRUCTION 1 -#define ACPI_AEST_CACHE_UNIFIED 2 -#define ACPI_AEST_CACHE_RESERVED 3 /* 3 and above are reserved */ - -/* 1R: Processor TLB Resource Substructure */ - -typedef struct acpi_aest_processor_tlb -{ - UINT32 TlbLevel; - UINT32 Reserved; - -} ACPI_AEST_PROCESSOR_TLB; - -/* 2R: Processor Generic Resource Substructure */ - -typedef struct acpi_aest_processor_generic -{ - UINT32 Resource; - -} ACPI_AEST_PROCESSOR_GENERIC; - -/* 1: Memory Error */ - -typedef struct acpi_aest_memory -{ - UINT32 SratProximityDomain; - -} ACPI_AEST_MEMORY; - -/* 2: Smmu Error */ - -typedef struct acpi_aest_smmu -{ - UINT32 IortNodeReference; - UINT32 SubcomponentReference; - -} ACPI_AEST_SMMU; - -/* 3: Vendor Defined */ - -typedef struct acpi_aest_vendor -{ - UINT32 AcpiHid; - UINT32 AcpiUid; - UINT8 VendorSpecificData[16]; - -} ACPI_AEST_VENDOR; - -/* 4: Gic Error */ - -typedef struct acpi_aest_gic -{ - UINT32 InterfaceType; - UINT32 InstanceId; - -} ACPI_AEST_GIC; - -/* Values for InterfaceType above */ - -#define ACPI_AEST_GIC_CPU 0 -#define ACPI_AEST_GIC_DISTRIBUTOR 1 -#define ACPI_AEST_GIC_REDISTRIBUTOR 2 -#define ACPI_AEST_GIC_ITS 3 -#define ACPI_AEST_GIC_RESERVED 4 /* 4 and above are reserved */ - - -/* Node Interface Structure */ - -typedef struct acpi_aest_node_interface -{ - UINT8 Type; - UINT8 Reserved[3]; - UINT32 Flags; - UINT64 Address; - UINT32 ErrorRecordIndex; - UINT32 ErrorRecordCount; - UINT64 ErrorRecordImplemented; - UINT64 ErrorStatusReporting; - UINT64 AddressingMode; - -} ACPI_AEST_NODE_INTERFACE; - -/* Values for Type field above */ - -#define ACPI_AEST_NODE_SYSTEM_REGISTER 0 -#define ACPI_AEST_NODE_MEMORY_MAPPED 1 -#define ACPI_AEST_XFACE_RESERVED 2 /* 2 and above are reserved */ - -/* Node Interrupt Structure */ - -typedef struct acpi_aest_node_interrupt -{ - UINT8 Type; - UINT8 Reserved[2]; - UINT8 Flags; - UINT32 Gsiv; - UINT8 IortId; - UINT8 Reserved1[3]; - -} ACPI_AEST_NODE_INTERRUPT; - -/* Values for Type field above */ - -#define ACPI_AEST_NODE_FAULT_HANDLING 0 -#define ACPI_AEST_NODE_ERROR_RECOVERY 1 -#define ACPI_AEST_XRUPT_RESERVED 2 /* 2 and above are reserved */ - - -/******************************************************************************* - * AGDI - Arm Generic Diagnostic Dump and Reset Device Interface - * - * Conforms to "ACPI for Arm Components 1.1, Platform Design Document" - * ARM DEN0093 v1.1 - * - ******************************************************************************/ -typedef struct acpi_table_agdi -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Flags; - UINT8 Reserved[3]; - UINT32 SdeiEvent; - UINT32 Gsiv; - -} ACPI_TABLE_AGDI; - -/* Mask for Flags field above */ - -#define ACPI_AGDI_SIGNALING_MODE (1) - - -/******************************************************************************* - * - * APMT - ARM Performance Monitoring Unit Table - * - * Conforms to: - * ARM Performance Monitoring Unit Architecture 1.0 Platform Design Document - * ARM DEN0117 v1.0 November 25, 2021 - * - ******************************************************************************/ - -typedef struct acpi_table_apmt { - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ -} ACPI_TABLE_APMT; - -#define ACPI_APMT_NODE_ID_LENGTH 4 - -/* - * APMT subtables - */ -typedef struct acpi_apmt_node { - UINT16 Length; - UINT8 Flags; - UINT8 Type; - UINT32 Id; - UINT64 InstPrimary; - UINT32 InstSecondary; - UINT64 BaseAddress0; - UINT64 BaseAddress1; - UINT32 OvflwIrq; - UINT32 Reserved; - UINT32 OvflwIrqFlags; - UINT32 ProcAffinity; - UINT32 ImplId; -} ACPI_APMT_NODE; - -/* Masks for Flags field above */ - -#define ACPI_APMT_FLAGS_DUAL_PAGE (1<<0) -#define ACPI_APMT_FLAGS_AFFINITY (1<<1) -#define ACPI_APMT_FLAGS_ATOMIC (1<<2) - -/* Values for Flags dual page field above */ - -#define ACPI_APMT_FLAGS_DUAL_PAGE_NSUPP (0<<0) -#define ACPI_APMT_FLAGS_DUAL_PAGE_SUPP (1<<0) - -/* Values for Flags processor affinity field above */ -#define ACPI_APMT_FLAGS_AFFINITY_PROC (0<<1) -#define ACPI_APMT_FLAGS_AFFINITY_PROC_CONTAINER (1<<1) - -/* Values for Flags 64-bit atomic field above */ -#define ACPI_APMT_FLAGS_ATOMIC_NSUPP (0<<2) -#define ACPI_APMT_FLAGS_ATOMIC_SUPP (1<<2) - -/* Values for Type field above */ - -enum acpi_apmt_node_type { - ACPI_APMT_NODE_TYPE_MC = 0x00, - ACPI_APMT_NODE_TYPE_SMMU = 0x01, - ACPI_APMT_NODE_TYPE_PCIE_ROOT = 0x02, - ACPI_APMT_NODE_TYPE_ACPI = 0x03, - ACPI_APMT_NODE_TYPE_CACHE = 0x04, - ACPI_APMT_NODE_TYPE_COUNT -}; - -/* Masks for ovflw_irq_flags field above */ - -#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE (1<<0) -#define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE (1<<1) - -/* Values for ovflw_irq_flags mode field above */ - -#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_LEVEL (0<<0) -#define ACPI_APMT_OVFLW_IRQ_FLAGS_MODE_EDGE (1<<0) - -/* Values for ovflw_irq_flags type field above */ - -#define ACPI_APMT_OVFLW_IRQ_FLAGS_TYPE_WIRED (0<<1) - - -/******************************************************************************* - * - * BDAT - BIOS Data ACPI Table - * - * Conforms to "BIOS Data ACPI Table", Interface Specification v4.0 Draft 5 - * Nov 2020 - * - ******************************************************************************/ - -typedef struct acpi_table_bdat -{ - ACPI_TABLE_HEADER Header; - ACPI_GENERIC_ADDRESS Gas; - -} ACPI_TABLE_BDAT; - -/******************************************************************************* - * - * CCEL - CC-Event Log - * From: "Guest-Host-Communication Interface (GHCI) for Intel - * Trust Domain Extensions (Intel TDX)". Feb 2022 - * - ******************************************************************************/ - -typedef struct acpi_table_ccel -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 CCType; - UINT8 CCSubType; - UINT16 Reserved; - UINT64 LogAreaMinimumLength; - UINT64 LogAreaStartAddress; - -} ACPI_TABLE_CCEL; - -/******************************************************************************* - * - * IORT - IO Remapping Table - * - * Conforms to "IO Remapping Table System Software on ARM Platforms", - * Document number: ARM DEN 0049E.e, Sep 2022 - * - ******************************************************************************/ - -typedef struct acpi_table_iort -{ - ACPI_TABLE_HEADER Header; - UINT32 NodeCount; - UINT32 NodeOffset; - UINT32 Reserved; - -} ACPI_TABLE_IORT; - - -/* - * IORT subtables - */ -typedef struct acpi_iort_node -{ - UINT8 Type; - UINT16 Length; - UINT8 Revision; - UINT32 Identifier; - UINT32 MappingCount; - UINT32 MappingOffset; - char NodeData[]; - -} ACPI_IORT_NODE; - -/* Values for subtable Type above */ - -enum AcpiIortNodeType -{ - ACPI_IORT_NODE_ITS_GROUP = 0x00, - ACPI_IORT_NODE_NAMED_COMPONENT = 0x01, - ACPI_IORT_NODE_PCI_ROOT_COMPLEX = 0x02, - ACPI_IORT_NODE_SMMU = 0x03, - ACPI_IORT_NODE_SMMU_V3 = 0x04, - ACPI_IORT_NODE_PMCG = 0x05, - ACPI_IORT_NODE_RMR = 0x06, -}; - - -typedef struct acpi_iort_id_mapping -{ - UINT32 InputBase; /* Lowest value in input range */ - UINT32 IdCount; /* Number of IDs */ - UINT32 OutputBase; /* Lowest value in output range */ - UINT32 OutputReference; /* A reference to the output node */ - UINT32 Flags; - -} ACPI_IORT_ID_MAPPING; - -/* Masks for Flags field above for IORT subtable */ - -#define ACPI_IORT_ID_SINGLE_MAPPING (1) - - -typedef struct acpi_iort_memory_access -{ - UINT32 CacheCoherency; - UINT8 Hints; - UINT16 Reserved; - UINT8 MemoryFlags; - -} ACPI_IORT_MEMORY_ACCESS; - -/* Values for CacheCoherency field above */ - -#define ACPI_IORT_NODE_COHERENT 0x00000001 /* The device node is fully coherent */ -#define ACPI_IORT_NODE_NOT_COHERENT 0x00000000 /* The device node is not coherent */ - -/* Masks for Hints field above */ - -#define ACPI_IORT_HT_TRANSIENT (1) -#define ACPI_IORT_HT_WRITE (1<<1) -#define ACPI_IORT_HT_READ (1<<2) -#define ACPI_IORT_HT_OVERRIDE (1<<3) - -/* Masks for MemoryFlags field above */ - -#define ACPI_IORT_MF_COHERENCY (1) -#define ACPI_IORT_MF_ATTRIBUTES (1<<1) - - -/* - * IORT node specific subtables - */ -typedef struct acpi_iort_its_group -{ - UINT32 ItsCount; - UINT32 Identifiers[]; /* GIC ITS identifier array */ - -} ACPI_IORT_ITS_GROUP; - - -typedef struct acpi_iort_named_component -{ - UINT32 NodeFlags; - UINT64 MemoryProperties; /* Memory access properties */ - UINT8 MemoryAddressLimit; /* Memory address size limit */ - char DeviceName[]; /* Path of namespace object */ - -} ACPI_IORT_NAMED_COMPONENT; - -/* Masks for Flags field above */ - -#define ACPI_IORT_NC_STALL_SUPPORTED (1) -#define ACPI_IORT_NC_PASID_BITS (31<<1) - -typedef struct acpi_iort_root_complex -{ - UINT64 MemoryProperties; /* Memory access properties */ - UINT32 AtsAttribute; - UINT32 PciSegmentNumber; - UINT8 MemoryAddressLimit; /* Memory address size limit */ - UINT16 PasidCapabilities; /* PASID Capabilities */ - UINT8 Reserved[]; /* Reserved, must be zero */ - -} ACPI_IORT_ROOT_COMPLEX; - -/* Masks for AtsAttribute field above */ - -#define ACPI_IORT_ATS_SUPPORTED (1) /* The root complex ATS support */ -#define ACPI_IORT_PRI_SUPPORTED (1<<1) /* The root complex PRI support */ -#define ACPI_IORT_PASID_FWD_SUPPORTED (1<<2) /* The root complex PASID forward support */ - -/* Masks for PasidCapabilities field above */ -#define ACPI_IORT_PASID_MAX_WIDTH (0x1F) /* Bits 0-4 */ - -typedef struct acpi_iort_smmu -{ - UINT64 BaseAddress; /* SMMU base address */ - UINT64 Span; /* Length of memory range */ - UINT32 Model; - UINT32 Flags; - UINT32 GlobalInterruptOffset; - UINT32 ContextInterruptCount; - UINT32 ContextInterruptOffset; - UINT32 PmuInterruptCount; - UINT32 PmuInterruptOffset; - UINT64 Interrupts[]; /* Interrupt array */ - -} ACPI_IORT_SMMU; - -/* Values for Model field above */ - -#define ACPI_IORT_SMMU_V1 0x00000000 /* Generic SMMUv1 */ -#define ACPI_IORT_SMMU_V2 0x00000001 /* Generic SMMUv2 */ -#define ACPI_IORT_SMMU_CORELINK_MMU400 0x00000002 /* ARM Corelink MMU-400 */ -#define ACPI_IORT_SMMU_CORELINK_MMU500 0x00000003 /* ARM Corelink MMU-500 */ -#define ACPI_IORT_SMMU_CORELINK_MMU401 0x00000004 /* ARM Corelink MMU-401 */ -#define ACPI_IORT_SMMU_CAVIUM_THUNDERX 0x00000005 /* Cavium ThunderX SMMUv2 */ - -/* Masks for Flags field above */ - -#define ACPI_IORT_SMMU_DVM_SUPPORTED (1) -#define ACPI_IORT_SMMU_COHERENT_WALK (1<<1) - -/* Global interrupt format */ - -typedef struct acpi_iort_smmu_gsi -{ - UINT32 NSgIrpt; - UINT32 NSgIrptFlags; - UINT32 NSgCfgIrpt; - UINT32 NSgCfgIrptFlags; - -} ACPI_IORT_SMMU_GSI; - - -typedef struct acpi_iort_smmu_v3 -{ - UINT64 BaseAddress; /* SMMUv3 base address */ - UINT32 Flags; - UINT32 Reserved; - UINT64 VatosAddress; - UINT32 Model; - UINT32 EventGsiv; - UINT32 PriGsiv; - UINT32 GerrGsiv; - UINT32 SyncGsiv; - UINT32 Pxm; - UINT32 IdMappingIndex; - -} ACPI_IORT_SMMU_V3; - -/* Values for Model field above */ - -#define ACPI_IORT_SMMU_V3_GENERIC 0x00000000 /* Generic SMMUv3 */ -#define ACPI_IORT_SMMU_V3_HISILICON_HI161X 0x00000001 /* HiSilicon Hi161x SMMUv3 */ -#define ACPI_IORT_SMMU_V3_CAVIUM_CN99XX 0x00000002 /* Cavium CN99xx SMMUv3 */ - -/* Masks for Flags field above */ - -#define ACPI_IORT_SMMU_V3_COHACC_OVERRIDE (1) -#define ACPI_IORT_SMMU_V3_HTTU_OVERRIDE (3<<1) -#define ACPI_IORT_SMMU_V3_PXM_VALID (1<<3) -#define ACPI_IORT_SMMU_V3_DEVICEID_VALID (1<<4) - -typedef struct acpi_iort_pmcg -{ - UINT64 Page0BaseAddress; - UINT32 OverflowGsiv; - UINT32 NodeReference; - UINT64 Page1BaseAddress; - -} ACPI_IORT_PMCG; - -typedef struct acpi_iort_rmr { - UINT32 Flags; - UINT32 RmrCount; - UINT32 RmrOffset; - -} ACPI_IORT_RMR; - -/* Masks for Flags field above */ -#define ACPI_IORT_RMR_REMAP_PERMITTED (1) -#define ACPI_IORT_RMR_ACCESS_PRIVILEGE (1<<1) - -/* - * Macro to access the Access Attributes in flags field above: - * Access Attributes is encoded in bits 9:2 - */ -#define ACPI_IORT_RMR_ACCESS_ATTRIBUTES(flags) (((flags) >> 2) & 0xFF) - -/* Values for above Access Attributes */ - -#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRNE 0x00 -#define ACPI_IORT_RMR_ATTR_DEVICE_NGNRE 0x01 -#define ACPI_IORT_RMR_ATTR_DEVICE_NGRE 0x02 -#define ACPI_IORT_RMR_ATTR_DEVICE_GRE 0x03 -#define ACPI_IORT_RMR_ATTR_NORMAL_NC 0x04 -#define ACPI_IORT_RMR_ATTR_NORMAL_IWB_OWB 0x05 - -typedef struct acpi_iort_rmr_desc { - UINT64 BaseAddress; - UINT64 Length; - UINT32 Reserved; - -} ACPI_IORT_RMR_DESC; - -/******************************************************************************* - * - * IVRS - I/O Virtualization Reporting Structure - * Version 1 - * - * Conforms to "AMD I/O Virtualization Technology (IOMMU) Specification", - * Revision 1.26, February 2009. - * - ******************************************************************************/ - -typedef struct acpi_table_ivrs -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Info; /* Common virtualization info */ - UINT64 Reserved; - -} ACPI_TABLE_IVRS; - -/* Values for Info field above */ - -#define ACPI_IVRS_PHYSICAL_SIZE 0x00007F00 /* 7 bits, physical address size */ -#define ACPI_IVRS_VIRTUAL_SIZE 0x003F8000 /* 7 bits, virtual address size */ -#define ACPI_IVRS_ATS_RESERVED 0x00400000 /* ATS address translation range reserved */ - - -/* IVRS subtable header */ - -typedef struct acpi_ivrs_header -{ - UINT8 Type; /* Subtable type */ - UINT8 Flags; - UINT16 Length; /* Subtable length */ - UINT16 DeviceId; /* ID of IOMMU */ - -} ACPI_IVRS_HEADER; - -/* Values for subtable Type above */ - -enum AcpiIvrsType -{ - ACPI_IVRS_TYPE_HARDWARE1 = 0x10, - ACPI_IVRS_TYPE_HARDWARE2 = 0x11, - ACPI_IVRS_TYPE_HARDWARE3 = 0x40, - ACPI_IVRS_TYPE_MEMORY1 = 0x20, - ACPI_IVRS_TYPE_MEMORY2 = 0x21, - ACPI_IVRS_TYPE_MEMORY3 = 0x22 -}; - -/* Masks for Flags field above for IVHD subtable */ - -#define ACPI_IVHD_TT_ENABLE (1) -#define ACPI_IVHD_PASS_PW (1<<1) -#define ACPI_IVHD_RES_PASS_PW (1<<2) -#define ACPI_IVHD_ISOC (1<<3) -#define ACPI_IVHD_IOTLB (1<<4) - -/* Masks for Flags field above for IVMD subtable */ - -#define ACPI_IVMD_UNITY (1) -#define ACPI_IVMD_READ (1<<1) -#define ACPI_IVMD_WRITE (1<<2) -#define ACPI_IVMD_EXCLUSION_RANGE (1<<3) - - -/* - * IVRS subtables, correspond to Type in ACPI_IVRS_HEADER - */ - -/* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */ - -typedef struct acpi_ivrs_hardware_10 -{ - ACPI_IVRS_HEADER Header; - UINT16 CapabilityOffset; /* Offset for IOMMU control fields */ - UINT64 BaseAddress; /* IOMMU control registers */ - UINT16 PciSegmentGroup; - UINT16 Info; /* MSI number and unit ID */ - UINT32 FeatureReporting; - -} ACPI_IVRS_HARDWARE1; - -/* 0x11: I/O Virtualization Hardware Definition Block (IVHD) */ - -typedef struct acpi_ivrs_hardware_11 -{ - ACPI_IVRS_HEADER Header; - UINT16 CapabilityOffset; /* Offset for IOMMU control fields */ - UINT64 BaseAddress; /* IOMMU control registers */ - UINT16 PciSegmentGroup; - UINT16 Info; /* MSI number and unit ID */ - UINT32 Attributes; - UINT64 EfrRegisterImage; - UINT64 Reserved; -} ACPI_IVRS_HARDWARE2; - -/* Masks for Info field above */ - -#define ACPI_IVHD_MSI_NUMBER_MASK 0x001F /* 5 bits, MSI message number */ -#define ACPI_IVHD_UNIT_ID_MASK 0x1F00 /* 5 bits, UnitID */ - - -/* - * Device Entries for IVHD subtable, appear after ACPI_IVRS_HARDWARE structure. - * Upper two bits of the Type field are the (encoded) length of the structure. - * Currently, only 4 and 8 byte entries are defined. 16 and 32 byte entries - * are reserved for future use but not defined. - */ -typedef struct acpi_ivrs_de_header -{ - UINT8 Type; - UINT16 Id; - UINT8 DataSetting; - -} ACPI_IVRS_DE_HEADER; - -/* Length of device entry is in the top two bits of Type field above */ - -#define ACPI_IVHD_ENTRY_LENGTH 0xC0 - -/* Values for device entry Type field above */ - -enum AcpiIvrsDeviceEntryType -{ - /* 4-byte device entries, all use ACPI_IVRS_DEVICE4 */ - - ACPI_IVRS_TYPE_PAD4 = 0, - ACPI_IVRS_TYPE_ALL = 1, - ACPI_IVRS_TYPE_SELECT = 2, - ACPI_IVRS_TYPE_START = 3, - ACPI_IVRS_TYPE_END = 4, - - /* 8-byte device entries */ - - ACPI_IVRS_TYPE_PAD8 = 64, - ACPI_IVRS_TYPE_NOT_USED = 65, - ACPI_IVRS_TYPE_ALIAS_SELECT = 66, /* Uses ACPI_IVRS_DEVICE8A */ - ACPI_IVRS_TYPE_ALIAS_START = 67, /* Uses ACPI_IVRS_DEVICE8A */ - ACPI_IVRS_TYPE_EXT_SELECT = 70, /* Uses ACPI_IVRS_DEVICE8B */ - ACPI_IVRS_TYPE_EXT_START = 71, /* Uses ACPI_IVRS_DEVICE8B */ - ACPI_IVRS_TYPE_SPECIAL = 72, /* Uses ACPI_IVRS_DEVICE8C */ - - /* Variable-length device entries */ - - ACPI_IVRS_TYPE_HID = 240 /* Uses ACPI_IVRS_DEVICE_HID */ -}; - -/* Values for Data field above */ - -#define ACPI_IVHD_INIT_PASS (1) -#define ACPI_IVHD_EINT_PASS (1<<1) -#define ACPI_IVHD_NMI_PASS (1<<2) -#define ACPI_IVHD_SYSTEM_MGMT (3<<4) -#define ACPI_IVHD_LINT0_PASS (1<<6) -#define ACPI_IVHD_LINT1_PASS (1<<7) - - -/* Types 0-4: 4-byte device entry */ - -typedef struct acpi_ivrs_device4 -{ - ACPI_IVRS_DE_HEADER Header; - -} ACPI_IVRS_DEVICE4; - -/* Types 66-67: 8-byte device entry */ - -typedef struct acpi_ivrs_device8a -{ - ACPI_IVRS_DE_HEADER Header; - UINT8 Reserved1; - UINT16 UsedId; - UINT8 Reserved2; - -} ACPI_IVRS_DEVICE8A; - -/* Types 70-71: 8-byte device entry */ - -typedef struct acpi_ivrs_device8b -{ - ACPI_IVRS_DE_HEADER Header; - UINT32 ExtendedData; - -} ACPI_IVRS_DEVICE8B; - -/* Values for ExtendedData above */ - -#define ACPI_IVHD_ATS_DISABLED (1<<31) - -/* Type 72: 8-byte device entry */ - -typedef struct acpi_ivrs_device8c -{ - ACPI_IVRS_DE_HEADER Header; - UINT8 Handle; - UINT16 UsedId; - UINT8 Variety; - -} ACPI_IVRS_DEVICE8C; - -/* Values for Variety field above */ - -#define ACPI_IVHD_IOAPIC 1 -#define ACPI_IVHD_HPET 2 - -/* Type 240: variable-length device entry */ - -typedef struct acpi_ivrs_device_hid -{ - ACPI_IVRS_DE_HEADER Header; - UINT64 AcpiHid; - UINT64 AcpiCid; - UINT8 UidType; - UINT8 UidLength; - -} ACPI_IVRS_DEVICE_HID; - -/* Values for UidType above */ - -#define ACPI_IVRS_UID_NOT_PRESENT 0 -#define ACPI_IVRS_UID_IS_INTEGER 1 -#define ACPI_IVRS_UID_IS_STRING 2 - -/* 0x20, 0x21, 0x22: I/O Virtualization Memory Definition Block (IVMD) */ - -typedef struct acpi_ivrs_memory -{ - ACPI_IVRS_HEADER Header; - UINT16 AuxData; - UINT64 Reserved; - UINT64 StartAddress; - UINT64 MemoryLength; - -} ACPI_IVRS_MEMORY; - - -/******************************************************************************* - * - * LPIT - Low Power Idle Table - * - * Conforms to "ACPI Low Power Idle Table (LPIT)" July 2014. - * - ******************************************************************************/ - -typedef struct acpi_table_lpit -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_LPIT; - - -/* LPIT subtable header */ - -typedef struct acpi_lpit_header -{ - UINT32 Type; /* Subtable type */ - UINT32 Length; /* Subtable length */ - UINT16 UniqueId; - UINT16 Reserved; - UINT32 Flags; - -} ACPI_LPIT_HEADER; - -/* Values for subtable Type above */ - -enum AcpiLpitType -{ - ACPI_LPIT_TYPE_NATIVE_CSTATE = 0x00, - ACPI_LPIT_TYPE_RESERVED = 0x01 /* 1 and above are reserved */ -}; - -/* Masks for Flags field above */ - -#define ACPI_LPIT_STATE_DISABLED (1) -#define ACPI_LPIT_NO_COUNTER (1<<1) - -/* - * LPIT subtables, correspond to Type in ACPI_LPIT_HEADER - */ - -/* 0x00: Native C-state instruction based LPI structure */ - -typedef struct acpi_lpit_native -{ - ACPI_LPIT_HEADER Header; - ACPI_GENERIC_ADDRESS EntryTrigger; - UINT32 Residency; - UINT32 Latency; - ACPI_GENERIC_ADDRESS ResidencyCounter; - UINT64 CounterFrequency; - -} ACPI_LPIT_NATIVE; - - -/******************************************************************************* - * - * MADT - Multiple APIC Description Table - * Version 3 - * - ******************************************************************************/ - -typedef struct acpi_table_madt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Address; /* Physical address of local APIC */ - UINT32 Flags; - -} ACPI_TABLE_MADT; - -/* Masks for Flags field above */ - -#define ACPI_MADT_PCAT_COMPAT (1) /* 00: System also has dual 8259s */ - -/* Values for PCATCompat flag */ - -#define ACPI_MADT_DUAL_PIC 1 -#define ACPI_MADT_MULTIPLE_APIC 0 - - -/* Values for MADT subtable type in ACPI_SUBTABLE_HEADER */ - -enum AcpiMadtType -{ - ACPI_MADT_TYPE_LOCAL_APIC = 0, - ACPI_MADT_TYPE_IO_APIC = 1, - ACPI_MADT_TYPE_INTERRUPT_OVERRIDE = 2, - ACPI_MADT_TYPE_NMI_SOURCE = 3, - ACPI_MADT_TYPE_LOCAL_APIC_NMI = 4, - ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE = 5, - ACPI_MADT_TYPE_IO_SAPIC = 6, - ACPI_MADT_TYPE_LOCAL_SAPIC = 7, - ACPI_MADT_TYPE_INTERRUPT_SOURCE = 8, - ACPI_MADT_TYPE_LOCAL_X2APIC = 9, - ACPI_MADT_TYPE_LOCAL_X2APIC_NMI = 10, - ACPI_MADT_TYPE_GENERIC_INTERRUPT = 11, - ACPI_MADT_TYPE_GENERIC_DISTRIBUTOR = 12, - ACPI_MADT_TYPE_GENERIC_MSI_FRAME = 13, - ACPI_MADT_TYPE_GENERIC_REDISTRIBUTOR = 14, - ACPI_MADT_TYPE_GENERIC_TRANSLATOR = 15, - ACPI_MADT_TYPE_MULTIPROC_WAKEUP = 16, - ACPI_MADT_TYPE_CORE_PIC = 17, - ACPI_MADT_TYPE_LIO_PIC = 18, - ACPI_MADT_TYPE_HT_PIC = 19, - ACPI_MADT_TYPE_EIO_PIC = 20, - ACPI_MADT_TYPE_MSI_PIC = 21, - ACPI_MADT_TYPE_BIO_PIC = 22, - ACPI_MADT_TYPE_LPC_PIC = 23, - ACPI_MADT_TYPE_RINTC = 24, - ACPI_MADT_TYPE_IMSIC = 25, - ACPI_MADT_TYPE_APLIC = 26, - ACPI_MADT_TYPE_PLIC = 27, - ACPI_MADT_TYPE_RESERVED = 28, /* 28 to 0x7F are reserved */ - ACPI_MADT_TYPE_OEM_RESERVED = 0x80 /* 0x80 to 0xFF are reserved for OEM use */ -}; - - -/* - * MADT Subtables, correspond to Type in ACPI_SUBTABLE_HEADER - */ - -/* 0: Processor Local APIC */ - -typedef struct acpi_madt_local_apic -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 ProcessorId; /* ACPI processor id */ - UINT8 Id; /* Processor's local APIC id */ - UINT32 LapicFlags; - -} ACPI_MADT_LOCAL_APIC; - - -/* 1: IO APIC */ - -typedef struct acpi_madt_io_apic -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Id; /* I/O APIC ID */ - UINT8 Reserved; /* Reserved - must be zero */ - UINT32 Address; /* APIC physical address */ - UINT32 GlobalIrqBase; /* Global system interrupt where INTI lines start */ - -} ACPI_MADT_IO_APIC; - - -/* 2: Interrupt Override */ - -typedef struct acpi_madt_interrupt_override -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Bus; /* 0 - ISA */ - UINT8 SourceIrq; /* Interrupt source (IRQ) */ - UINT32 GlobalIrq; /* Global system interrupt */ - UINT16 IntiFlags; - -} ACPI_MADT_INTERRUPT_OVERRIDE; - - -/* 3: NMI Source */ - -typedef struct acpi_madt_nmi_source -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 IntiFlags; - UINT32 GlobalIrq; /* Global system interrupt */ - -} ACPI_MADT_NMI_SOURCE; - - -/* 4: Local APIC NMI */ - -typedef struct acpi_madt_local_apic_nmi -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 ProcessorId; /* ACPI processor id */ - UINT16 IntiFlags; - UINT8 Lint; /* LINTn to which NMI is connected */ - -} ACPI_MADT_LOCAL_APIC_NMI; - - -/* 5: Address Override */ - -typedef struct acpi_madt_local_apic_override -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved, must be zero */ - UINT64 Address; /* APIC physical address */ - -} ACPI_MADT_LOCAL_APIC_OVERRIDE; - - -/* 6: I/O Sapic */ - -typedef struct acpi_madt_io_sapic -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Id; /* I/O SAPIC ID */ - UINT8 Reserved; /* Reserved, must be zero */ - UINT32 GlobalIrqBase; /* Global interrupt for SAPIC start */ - UINT64 Address; /* SAPIC physical address */ - -} ACPI_MADT_IO_SAPIC; - - -/* 7: Local Sapic */ - -typedef struct acpi_madt_local_sapic -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 ProcessorId; /* ACPI processor id */ - UINT8 Id; /* SAPIC ID */ - UINT8 Eid; /* SAPIC EID */ - UINT8 Reserved[3]; /* Reserved, must be zero */ - UINT32 LapicFlags; - UINT32 Uid; /* Numeric UID - ACPI 3.0 */ - char UidString[]; /* String UID - ACPI 3.0 */ - -} ACPI_MADT_LOCAL_SAPIC; - - -/* 8: Platform Interrupt Source */ - -typedef struct acpi_madt_interrupt_source -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 IntiFlags; - UINT8 Type; /* 1=PMI, 2=INIT, 3=corrected */ - UINT8 Id; /* Processor ID */ - UINT8 Eid; /* Processor EID */ - UINT8 IoSapicVector; /* Vector value for PMI interrupts */ - UINT32 GlobalIrq; /* Global system interrupt */ - UINT32 Flags; /* Interrupt Source Flags */ - -} ACPI_MADT_INTERRUPT_SOURCE; - -/* Masks for Flags field above */ - -#define ACPI_MADT_CPEI_OVERRIDE (1) - - -/* 9: Processor Local X2APIC (ACPI 4.0) */ - -typedef struct acpi_madt_local_x2apic -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved - must be zero */ - UINT32 LocalApicId; /* Processor x2APIC ID */ - UINT32 LapicFlags; - UINT32 Uid; /* ACPI processor UID */ - -} ACPI_MADT_LOCAL_X2APIC; - - -/* 10: Local X2APIC NMI (ACPI 4.0) */ - -typedef struct acpi_madt_local_x2apic_nmi -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 IntiFlags; - UINT32 Uid; /* ACPI processor UID */ - UINT8 Lint; /* LINTn to which NMI is connected */ - UINT8 Reserved[3]; /* Reserved - must be zero */ - -} ACPI_MADT_LOCAL_X2APIC_NMI; - - -/* 11: Generic Interrupt - GICC (ACPI 5.0 + ACPI 6.0 + ACPI 6.3 + ACPI 6.5 changes) */ - -typedef struct acpi_madt_generic_interrupt -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved - must be zero */ - UINT32 CpuInterfaceNumber; - UINT32 Uid; - UINT32 Flags; - UINT32 ParkingVersion; - UINT32 PerformanceInterrupt; - UINT64 ParkedAddress; - UINT64 BaseAddress; - UINT64 GicvBaseAddress; - UINT64 GichBaseAddress; - UINT32 VgicInterrupt; - UINT64 GicrBaseAddress; - UINT64 ArmMpidr; - UINT8 EfficiencyClass; - UINT8 Reserved2[1]; - UINT16 SpeInterrupt; /* ACPI 6.3 */ - UINT16 TrbeInterrupt; /* ACPI 6.5 */ - -} ACPI_MADT_GENERIC_INTERRUPT; - -/* Masks for Flags field above */ - -/* ACPI_MADT_ENABLED (1) Processor is usable if set */ -#define ACPI_MADT_PERFORMANCE_IRQ_MODE (1<<1) /* 01: Performance Interrupt Mode */ -#define ACPI_MADT_VGIC_IRQ_MODE (1<<2) /* 02: VGIC Maintenance Interrupt mode */ - - -/* 12: Generic Distributor (ACPI 5.0 + ACPI 6.0 changes) */ - -typedef struct acpi_madt_generic_distributor -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved - must be zero */ - UINT32 GicId; - UINT64 BaseAddress; - UINT32 GlobalIrqBase; - UINT8 Version; - UINT8 Reserved2[3]; /* Reserved - must be zero */ - -} ACPI_MADT_GENERIC_DISTRIBUTOR; - -/* Values for Version field above */ - -enum AcpiMadtGicVersion -{ - ACPI_MADT_GIC_VERSION_NONE = 0, - ACPI_MADT_GIC_VERSION_V1 = 1, - ACPI_MADT_GIC_VERSION_V2 = 2, - ACPI_MADT_GIC_VERSION_V3 = 3, - ACPI_MADT_GIC_VERSION_V4 = 4, - ACPI_MADT_GIC_VERSION_RESERVED = 5 /* 5 and greater are reserved */ -}; - - -/* 13: Generic MSI Frame (ACPI 5.1) */ - -typedef struct acpi_madt_generic_msi_frame -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved - must be zero */ - UINT32 MsiFrameId; - UINT64 BaseAddress; - UINT32 Flags; - UINT16 SpiCount; - UINT16 SpiBase; - -} ACPI_MADT_GENERIC_MSI_FRAME; - -/* Masks for Flags field above */ - -#define ACPI_MADT_OVERRIDE_SPI_VALUES (1) - - -/* 14: Generic Redistributor (ACPI 5.1) */ - -typedef struct acpi_madt_generic_redistributor -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* reserved - must be zero */ - UINT64 BaseAddress; - UINT32 Length; - -} ACPI_MADT_GENERIC_REDISTRIBUTOR; - - -/* 15: Generic Translator (ACPI 6.0) */ - -typedef struct acpi_madt_generic_translator -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* reserved - must be zero */ - UINT32 TranslationId; - UINT64 BaseAddress; - UINT32 Reserved2; - -} ACPI_MADT_GENERIC_TRANSLATOR; - -/* 16: Multiprocessor wakeup (ACPI 6.4) */ - -typedef struct acpi_madt_multiproc_wakeup -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 MailboxVersion; - UINT32 Reserved; /* reserved - must be zero */ - UINT64 BaseAddress; - -} ACPI_MADT_MULTIPROC_WAKEUP; - -#define ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE 2032 -#define ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE 2048 - -typedef struct acpi_madt_multiproc_wakeup_mailbox -{ - UINT16 Command; - UINT16 Reserved; /* reserved - must be zero */ - UINT32 ApicId; - UINT64 WakeupVector; - UINT8 ReservedOs[ACPI_MULTIPROC_WAKEUP_MB_OS_SIZE]; /* reserved for OS use */ - UINT8 ReservedFirmware[ACPI_MULTIPROC_WAKEUP_MB_FIRMWARE_SIZE]; /* reserved for firmware use */ - -} ACPI_MADT_MULTIPROC_WAKEUP_MAILBOX; - -#define ACPI_MP_WAKE_COMMAND_WAKEUP 1 - -/* 17: CPU Core Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_core_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT32 ProcessorId; - UINT32 CoreId; - UINT32 Flags; -} ACPI_MADT_CORE_PIC; - -/* Values for Version field above */ - -enum AcpiMadtCorePicVersion { - ACPI_MADT_CORE_PIC_VERSION_NONE = 0, - ACPI_MADT_CORE_PIC_VERSION_V1 = 1, - ACPI_MADT_CORE_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 18: Legacy I/O Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_lio_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT64 Address; - UINT16 Size; - UINT8 Cascade[2]; - UINT32 CascadeMap[2]; -} ACPI_MADT_LIO_PIC; - -/* Values for Version field above */ - -enum AcpiMadtLioPicVersion { - ACPI_MADT_LIO_PIC_VERSION_NONE = 0, - ACPI_MADT_LIO_PIC_VERSION_V1 = 1, - ACPI_MADT_LIO_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 19: HT Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_ht_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT64 Address; - UINT16 Size; - UINT8 Cascade[8]; -} ACPI_MADT_HT_PIC; - -/* Values for Version field above */ - -enum AcpiMadtHtPicVersion { - ACPI_MADT_HT_PIC_VERSION_NONE = 0, - ACPI_MADT_HT_PIC_VERSION_V1 = 1, - ACPI_MADT_HT_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 20: Extend I/O Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_eio_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT8 Cascade; - UINT8 Node; - UINT64 NodeMap; -} ACPI_MADT_EIO_PIC; - -/* Values for Version field above */ - -enum AcpiMadtEioPicVersion { - ACPI_MADT_EIO_PIC_VERSION_NONE = 0, - ACPI_MADT_EIO_PIC_VERSION_V1 = 1, - ACPI_MADT_EIO_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 21: MSI Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_msi_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT64 MsgAddress; - UINT32 Start; - UINT32 Count; -} ACPI_MADT_MSI_PIC; - -/* Values for Version field above */ - -enum AcpiMadtMsiPicVersion { - ACPI_MADT_MSI_PIC_VERSION_NONE = 0, - ACPI_MADT_MSI_PIC_VERSION_V1 = 1, - ACPI_MADT_MSI_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 22: Bridge I/O Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_bio_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT64 Address; - UINT16 Size; - UINT16 Id; - UINT16 GsiBase; -} ACPI_MADT_BIO_PIC; - -/* Values for Version field above */ - -enum AcpiMadtBioPicVersion { - ACPI_MADT_BIO_PIC_VERSION_NONE = 0, - ACPI_MADT_BIO_PIC_VERSION_V1 = 1, - ACPI_MADT_BIO_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 23: LPC Interrupt Controller (ACPI 6.5) */ - -typedef struct acpi_madt_lpc_pic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT64 Address; - UINT16 Size; - UINT8 Cascade; -} ACPI_MADT_LPC_PIC; - -/* Values for Version field above */ - -enum AcpiMadtLpcPicVersion { - ACPI_MADT_LPC_PIC_VERSION_NONE = 0, - ACPI_MADT_LPC_PIC_VERSION_V1 = 1, - ACPI_MADT_LPC_PIC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 24: RISC-V INTC */ -typedef struct acpi_madt_rintc { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT8 Reserved; - UINT32 Flags; - UINT64 HartId; - UINT32 Uid; /* ACPI processor UID */ - UINT32 ExtIntcId; /* External INTC Id */ - UINT64 ImsicAddr; /* IMSIC base address */ - UINT32 ImsicSize; /* IMSIC size */ -} ACPI_MADT_RINTC; - -/* Values for RISC-V INTC Version field above */ - -enum AcpiMadtRintcVersion { - ACPI_MADT_RINTC_VERSION_NONE = 0, - ACPI_MADT_RINTC_VERSION_V1 = 1, - ACPI_MADT_RINTC_VERSION_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* 25: RISC-V IMSIC */ -typedef struct acpi_madt_imsic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT8 Reserved; - UINT32 Flags; - UINT16 NumIds; - UINT16 NumGuestIds; - UINT8 GuestIndexBits; - UINT8 HartIndexBits; - UINT8 GroupIndexBits; - UINT8 GroupIndexShift; -} ACPI_MADT_IMSIC; - -/* 26: RISC-V APLIC */ -typedef struct acpi_madt_aplic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT8 Id; - UINT32 Flags; - UINT8 HwId[8]; - UINT16 NumIdcs; - UINT16 NumSources; - UINT32 GsiBase; - UINT64 BaseAddr; - UINT32 Size; -} ACPI_MADT_APLIC; - -/* 27: RISC-V PLIC */ -typedef struct acpi_madt_plic { - ACPI_SUBTABLE_HEADER Header; - UINT8 Version; - UINT8 Id; - UINT8 HwId[8]; - UINT16 NumIrqs; - UINT16 MaxPrio; - UINT32 Flags; - UINT32 Size; - UINT64 BaseAddr; - UINT32 GsiBase; -} ACPI_MADT_PLIC; - - -/* 80: OEM data */ - -typedef struct acpi_madt_oem_data -{ - ACPI_FLEX_ARRAY(UINT8, OemData); -} ACPI_MADT_OEM_DATA; - - -/* - * Common flags fields for MADT subtables - */ - -/* MADT Local APIC flags */ - -#define ACPI_MADT_ENABLED (1) /* 00: Processor is usable if set */ -#define ACPI_MADT_ONLINE_CAPABLE (2) /* 01: System HW supports enabling processor at runtime */ - -/* MADT MPS INTI flags (IntiFlags) */ - -#define ACPI_MADT_POLARITY_MASK (3) /* 00-01: Polarity of APIC I/O input signals */ -#define ACPI_MADT_TRIGGER_MASK (3<<2) /* 02-03: Trigger mode of APIC input signals */ - -/* Values for MPS INTI flags */ - -#define ACPI_MADT_POLARITY_CONFORMS 0 -#define ACPI_MADT_POLARITY_ACTIVE_HIGH 1 -#define ACPI_MADT_POLARITY_RESERVED 2 -#define ACPI_MADT_POLARITY_ACTIVE_LOW 3 - -#define ACPI_MADT_TRIGGER_CONFORMS (0) -#define ACPI_MADT_TRIGGER_EDGE (1<<2) -#define ACPI_MADT_TRIGGER_RESERVED (2<<2) -#define ACPI_MADT_TRIGGER_LEVEL (3<<2) - - -/******************************************************************************* - * - * MCFG - PCI Memory Mapped Configuration table and subtable - * Version 1 - * - * Conforms to "PCI Firmware Specification", Revision 3.0, June 20, 2005 - * - ******************************************************************************/ - -typedef struct acpi_table_mcfg -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Reserved[8]; - -} ACPI_TABLE_MCFG; - - -/* Subtable */ - -typedef struct acpi_mcfg_allocation -{ - UINT64 Address; /* Base address, processor-relative */ - UINT16 PciSegment; /* PCI segment group number */ - UINT8 StartBusNumber; /* Starting PCI Bus number */ - UINT8 EndBusNumber; /* Final PCI Bus number */ - UINT32 Reserved; - -} ACPI_MCFG_ALLOCATION; - - -/******************************************************************************* - * - * MCHI - Management Controller Host Interface Table - * Version 1 - * - * Conforms to "Management Component Transport Protocol (MCTP) Host - * Interface Specification", Revision 1.0.0a, October 13, 2009 - * - ******************************************************************************/ - -typedef struct acpi_table_mchi -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 InterfaceType; - UINT8 Protocol; - UINT64 ProtocolData; - UINT8 InterruptType; - UINT8 Gpe; - UINT8 PciDeviceFlag; - UINT32 GlobalInterrupt; - ACPI_GENERIC_ADDRESS ControlRegister; - UINT8 PciSegment; - UINT8 PciBus; - UINT8 PciDevice; - UINT8 PciFunction; - -} ACPI_TABLE_MCHI; - -/******************************************************************************* - * - * MPAM - Memory System Resource Partitioning and Monitoring - * - * Conforms to "ACPI for Memory System Resource Partitioning and Monitoring 2.0" - * Document number: ARM DEN 0065, December, 2022. - * - ******************************************************************************/ - -/* MPAM RIS locator types. Table 11, Location types */ -enum AcpiMpamLocatorType { - ACPI_MPAM_LOCATION_TYPE_PROCESSOR_CACHE = 0, - ACPI_MPAM_LOCATION_TYPE_MEMORY = 1, - ACPI_MPAM_LOCATION_TYPE_SMMU = 2, - ACPI_MPAM_LOCATION_TYPE_MEMORY_CACHE = 3, - ACPI_MPAM_LOCATION_TYPE_ACPI_DEVICE = 4, - ACPI_MPAM_LOCATION_TYPE_INTERCONNECT = 5, - ACPI_MPAM_LOCATION_TYPE_UNKNOWN = 0xFF -}; - -/* MPAM Functional dependency descriptor. Table 10 */ -typedef struct acpi_mpam_func_deps -{ - UINT32 Producer; - UINT32 Reserved; -} ACPI_MPAM_FUNC_DEPS; - -/* MPAM Processor cache locator descriptor. Table 13 */ -typedef struct acpi_mpam_resource_cache_locator -{ - UINT64 CacheReference; - UINT32 Reserved; -} ACPI_MPAM_RESOURCE_CACHE_LOCATOR; - -/* MPAM Memory locator descriptor. Table 14 */ -typedef struct acpi_mpam_resource_memory_locator -{ - UINT64 ProximityDomain; - UINT32 Reserved; -} ACPI_MPAM_RESOURCE_MEMORY_LOCATOR; - -/* MPAM SMMU locator descriptor. Table 15 */ -typedef struct acpi_mpam_resource_smmu_locator -{ - UINT64 SmmuInterface; - UINT32 Reserved; -} ACPI_MPAM_RESOURCE_SMMU_INTERFACE; - -/* MPAM Memory-side cache locator descriptor. Table 16 */ -typedef struct acpi_mpam_resource_memcache_locator -{ - UINT8 Reserved[7]; - UINT8 Level; - UINT32 Reference; -} ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE; - -/* MPAM ACPI device locator descriptor. Table 17 */ -typedef struct acpi_mpam_resource_acpi_locator -{ - UINT64 AcpiHwId; - UINT32 AcpiUniqueId; -} ACPI_MPAM_RESOURCE_ACPI_INTERFACE; - -/* MPAM Interconnect locator descriptor. Table 18 */ -typedef struct acpi_mpam_resource_interconnect_locator -{ - UINT64 InterConnectDescTblOff; - UINT32 Reserved; -} ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE; - -/* MPAM Locator structure. Table 12 */ -typedef struct acpi_mpam_resource_generic_locator -{ - UINT64 Descriptor1; - UINT32 Descriptor2; -} ACPI_MPAM_RESOURCE_GENERIC_LOCATOR; - -typedef union acpi_mpam_resource_locator -{ - ACPI_MPAM_RESOURCE_CACHE_LOCATOR CacheLocator; - ACPI_MPAM_RESOURCE_MEMORY_LOCATOR MemoryLocator; - ACPI_MPAM_RESOURCE_SMMU_INTERFACE SmmuLocator; - ACPI_MPAM_RESOURCE_MEMCACHE_INTERFACE MemCacheLocator; - ACPI_MPAM_RESOURCE_ACPI_INTERFACE AcpiLocator; - ACPI_MPAM_RESOURCE_INTERCONNECT_INTERFACE InterconnectIfcLocator; - ACPI_MPAM_RESOURCE_GENERIC_LOCATOR GenericLocator; -} ACPI_MPAM_RESOURCE_LOCATOR; - -/* Memory System Component Resource Node Structure Table 9 */ -typedef struct acpi_mpam_resource_node -{ - UINT32 Identifier; - UINT8 RISIndex; - UINT16 Reserved1; - UINT8 LocatorType; - ACPI_MPAM_RESOURCE_LOCATOR Locator; - UINT32 NumFunctionalDeps; -} ACPI_MPAM_RESOURCE_NODE; - -/* Memory System Component (MSC) Node Structure. Table 4 */ -typedef struct acpi_mpam_msc_node -{ - UINT16 Length; - UINT8 InterfaceType; - UINT8 Reserved; - UINT32 Identifier; - UINT64 BaseAddress; - UINT32 MMIOSize; - UINT32 OverflowInterrupt; - UINT32 OverflowInterruptFlags; - UINT32 Reserved1; - UINT32 OverflowInterruptAffinity; - UINT32 ErrorInterrupt; - UINT32 ErrorInterruptFlags; - UINT32 Reserved2; - UINT32 ErrorInterruptAffinity; - UINT32 MaxNrdyUsec; - UINT64 HardwareIdLinkedDevice; - UINT32 InstanceIdLinkedDevice; - UINT32 NumResouceNodes; -} ACPI_MPAM_MSC_NODE; - -typedef struct acpi_table_mpam -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ -} ACPI_TABLE_MPAM; - -/******************************************************************************* - * - * MPST - Memory Power State Table (ACPI 5.0) - * Version 1 - * - ******************************************************************************/ - -#define ACPI_MPST_CHANNEL_INFO \ - UINT8 ChannelId; \ - UINT8 Reserved1[3]; \ - UINT16 PowerNodeCount; \ - UINT16 Reserved2; - -/* Main table */ - -typedef struct acpi_table_mpst -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - ACPI_MPST_CHANNEL_INFO /* Platform Communication Channel */ - -} ACPI_TABLE_MPST; - - -/* Memory Platform Communication Channel Info */ - -typedef struct acpi_mpst_channel -{ - ACPI_MPST_CHANNEL_INFO /* Platform Communication Channel */ - -} ACPI_MPST_CHANNEL; - - -/* Memory Power Node Structure */ - -typedef struct acpi_mpst_power_node -{ - UINT8 Flags; - UINT8 Reserved1; - UINT16 NodeId; - UINT32 Length; - UINT64 RangeAddress; - UINT64 RangeLength; - UINT32 NumPowerStates; - UINT32 NumPhysicalComponents; - -} ACPI_MPST_POWER_NODE; - -/* Values for Flags field above */ - -#define ACPI_MPST_ENABLED 1 -#define ACPI_MPST_POWER_MANAGED 2 -#define ACPI_MPST_HOT_PLUG_CAPABLE 4 - - -/* Memory Power State Structure (follows POWER_NODE above) */ - -typedef struct acpi_mpst_power_state -{ - UINT8 PowerState; - UINT8 InfoIndex; - -} ACPI_MPST_POWER_STATE; - - -/* Physical Component ID Structure (follows POWER_STATE above) */ - -typedef struct acpi_mpst_component -{ - UINT16 ComponentId; - -} ACPI_MPST_COMPONENT; - - -/* Memory Power State Characteristics Structure (follows all POWER_NODEs) */ - -typedef struct acpi_mpst_data_hdr -{ - UINT16 CharacteristicsCount; - UINT16 Reserved; - -} ACPI_MPST_DATA_HDR; - -typedef struct acpi_mpst_power_data -{ - UINT8 StructureId; - UINT8 Flags; - UINT16 Reserved1; - UINT32 AveragePower; - UINT32 PowerSaving; - UINT64 ExitLatency; - UINT64 Reserved2; - -} ACPI_MPST_POWER_DATA; - -/* Values for Flags field above */ - -#define ACPI_MPST_PRESERVE 1 -#define ACPI_MPST_AUTOENTRY 2 -#define ACPI_MPST_AUTOEXIT 4 - - -/* Shared Memory Region (not part of an ACPI table) */ - -typedef struct acpi_mpst_shared -{ - UINT32 Signature; - UINT16 PccCommand; - UINT16 PccStatus; - UINT32 CommandRegister; - UINT32 StatusRegister; - UINT32 PowerStateId; - UINT32 PowerNodeId; - UINT64 EnergyConsumed; - UINT64 AveragePower; - -} ACPI_MPST_SHARED; - - -/******************************************************************************* - * - * MSCT - Maximum System Characteristics Table (ACPI 4.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_msct -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 ProximityOffset; /* Location of proximity info struct(s) */ - UINT32 MaxProximityDomains;/* Max number of proximity domains */ - UINT32 MaxClockDomains; /* Max number of clock domains */ - UINT64 MaxAddress; /* Max physical address in system */ - -} ACPI_TABLE_MSCT; - - -/* Subtable - Maximum Proximity Domain Information. Version 1 */ - -typedef struct acpi_msct_proximity -{ - UINT8 Revision; - UINT8 Length; - UINT32 RangeStart; /* Start of domain range */ - UINT32 RangeEnd; /* End of domain range */ - UINT32 ProcessorCapacity; - UINT64 MemoryCapacity; /* In bytes */ - -} ACPI_MSCT_PROXIMITY; - - -/******************************************************************************* - * - * MSDM - Microsoft Data Management table - * - * Conforms to "Microsoft Software Licensing Tables (SLIC and MSDM)", - * November 29, 2011. Copyright 2011 Microsoft - * - ******************************************************************************/ - -/* Basic MSDM table is only the common ACPI header */ - -typedef struct acpi_table_msdm -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_MSDM; - - -/******************************************************************************* - * - * NFIT - NVDIMM Interface Table (ACPI 6.0+) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_nfit -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Reserved; /* Reserved, must be zero */ - -} ACPI_TABLE_NFIT; - -/* Subtable header for NFIT */ - -typedef struct acpi_nfit_header -{ - UINT16 Type; - UINT16 Length; - -} ACPI_NFIT_HEADER; - - -/* Values for subtable type in ACPI_NFIT_HEADER */ - -enum AcpiNfitType -{ - ACPI_NFIT_TYPE_SYSTEM_ADDRESS = 0, - ACPI_NFIT_TYPE_MEMORY_MAP = 1, - ACPI_NFIT_TYPE_INTERLEAVE = 2, - ACPI_NFIT_TYPE_SMBIOS = 3, - ACPI_NFIT_TYPE_CONTROL_REGION = 4, - ACPI_NFIT_TYPE_DATA_REGION = 5, - ACPI_NFIT_TYPE_FLUSH_ADDRESS = 6, - ACPI_NFIT_TYPE_CAPABILITIES = 7, - ACPI_NFIT_TYPE_RESERVED = 8 /* 8 and greater are reserved */ -}; - -/* - * NFIT Subtables - */ - -/* 0: System Physical Address Range Structure */ - -typedef struct acpi_nfit_system_address -{ - ACPI_NFIT_HEADER Header; - UINT16 RangeIndex; - UINT16 Flags; - UINT32 Reserved; /* Reserved, must be zero */ - UINT32 ProximityDomain; - UINT8 RangeGuid[16]; - UINT64 Address; - UINT64 Length; - UINT64 MemoryMapping; - UINT64 LocationCookie; /* ACPI 6.4 */ - -} ACPI_NFIT_SYSTEM_ADDRESS; - -/* Flags */ - -#define ACPI_NFIT_ADD_ONLINE_ONLY (1) /* 00: Add/Online Operation Only */ -#define ACPI_NFIT_PROXIMITY_VALID (1<<1) /* 01: Proximity Domain Valid */ -#define ACPI_NFIT_LOCATION_COOKIE_VALID (1<<2) /* 02: SPA location cookie valid (ACPI 6.4) */ - -/* Range Type GUIDs appear in the include/acuuid.h file */ - - -/* 1: Memory Device to System Address Range Map Structure */ - -typedef struct acpi_nfit_memory_map -{ - ACPI_NFIT_HEADER Header; - UINT32 DeviceHandle; - UINT16 PhysicalId; - UINT16 RegionId; - UINT16 RangeIndex; - UINT16 RegionIndex; - UINT64 RegionSize; - UINT64 RegionOffset; - UINT64 Address; - UINT16 InterleaveIndex; - UINT16 InterleaveWays; - UINT16 Flags; - UINT16 Reserved; /* Reserved, must be zero */ - -} ACPI_NFIT_MEMORY_MAP; - -/* Flags */ - -#define ACPI_NFIT_MEM_SAVE_FAILED (1) /* 00: Last SAVE to Memory Device failed */ -#define ACPI_NFIT_MEM_RESTORE_FAILED (1<<1) /* 01: Last RESTORE from Memory Device failed */ -#define ACPI_NFIT_MEM_FLUSH_FAILED (1<<2) /* 02: Platform flush failed */ -#define ACPI_NFIT_MEM_NOT_ARMED (1<<3) /* 03: Memory Device is not armed */ -#define ACPI_NFIT_MEM_HEALTH_OBSERVED (1<<4) /* 04: Memory Device observed SMART/health events */ -#define ACPI_NFIT_MEM_HEALTH_ENABLED (1<<5) /* 05: SMART/health events enabled */ -#define ACPI_NFIT_MEM_MAP_FAILED (1<<6) /* 06: Mapping to SPA failed */ - - -/* 2: Interleave Structure */ - -typedef struct acpi_nfit_interleave -{ - ACPI_NFIT_HEADER Header; - UINT16 InterleaveIndex; - UINT16 Reserved; /* Reserved, must be zero */ - UINT32 LineCount; - UINT32 LineSize; - UINT32 LineOffset[]; /* Variable length */ - -} ACPI_NFIT_INTERLEAVE; - - -/* 3: SMBIOS Management Information Structure */ - -typedef struct acpi_nfit_smbios -{ - ACPI_NFIT_HEADER Header; - UINT32 Reserved; /* Reserved, must be zero */ - UINT8 Data[]; /* Variable length */ - -} ACPI_NFIT_SMBIOS; - - -/* 4: NVDIMM Control Region Structure */ - -typedef struct acpi_nfit_control_region -{ - ACPI_NFIT_HEADER Header; - UINT16 RegionIndex; - UINT16 VendorId; - UINT16 DeviceId; - UINT16 RevisionId; - UINT16 SubsystemVendorId; - UINT16 SubsystemDeviceId; - UINT16 SubsystemRevisionId; - UINT8 ValidFields; - UINT8 ManufacturingLocation; - UINT16 ManufacturingDate; - UINT8 Reserved[2]; /* Reserved, must be zero */ - UINT32 SerialNumber; - UINT16 Code; - UINT16 Windows; - UINT64 WindowSize; - UINT64 CommandOffset; - UINT64 CommandSize; - UINT64 StatusOffset; - UINT64 StatusSize; - UINT16 Flags; - UINT8 Reserved1[6]; /* Reserved, must be zero */ - -} ACPI_NFIT_CONTROL_REGION; - -/* Flags */ - -#define ACPI_NFIT_CONTROL_BUFFERED (1) /* Block Data Windows implementation is buffered */ - -/* ValidFields bits */ - -#define ACPI_NFIT_CONTROL_MFG_INFO_VALID (1) /* Manufacturing fields are valid */ - - -/* 5: NVDIMM Block Data Window Region Structure */ - -typedef struct acpi_nfit_data_region -{ - ACPI_NFIT_HEADER Header; - UINT16 RegionIndex; - UINT16 Windows; - UINT64 Offset; - UINT64 Size; - UINT64 Capacity; - UINT64 StartAddress; - -} ACPI_NFIT_DATA_REGION; - - -/* 6: Flush Hint Address Structure */ - -typedef struct acpi_nfit_flush_address -{ - ACPI_NFIT_HEADER Header; - UINT32 DeviceHandle; - UINT16 HintCount; - UINT8 Reserved[6]; /* Reserved, must be zero */ - UINT64 HintAddress[]; /* Variable length */ - -} ACPI_NFIT_FLUSH_ADDRESS; - - -/* 7: Platform Capabilities Structure */ - -typedef struct acpi_nfit_capabilities -{ - ACPI_NFIT_HEADER Header; - UINT8 HighestCapability; - UINT8 Reserved[3]; /* Reserved, must be zero */ - UINT32 Capabilities; - UINT32 Reserved2; - -} ACPI_NFIT_CAPABILITIES; - -/* Capabilities Flags */ - -#define ACPI_NFIT_CAPABILITY_CACHE_FLUSH (1) /* 00: Cache Flush to NVDIMM capable */ -#define ACPI_NFIT_CAPABILITY_MEM_FLUSH (1<<1) /* 01: Memory Flush to NVDIMM capable */ -#define ACPI_NFIT_CAPABILITY_MEM_MIRRORING (1<<2) /* 02: Memory Mirroring capable */ - - -/* - * NFIT/DVDIMM device handle support - used as the _ADR for each NVDIMM - */ -typedef struct nfit_device_handle -{ - UINT32 Handle; - -} NFIT_DEVICE_HANDLE; - -/* Device handle construction and extraction macros */ - -#define ACPI_NFIT_DIMM_NUMBER_MASK 0x0000000F -#define ACPI_NFIT_CHANNEL_NUMBER_MASK 0x000000F0 -#define ACPI_NFIT_MEMORY_ID_MASK 0x00000F00 -#define ACPI_NFIT_SOCKET_ID_MASK 0x0000F000 -#define ACPI_NFIT_NODE_ID_MASK 0x0FFF0000 - -#define ACPI_NFIT_DIMM_NUMBER_OFFSET 0 -#define ACPI_NFIT_CHANNEL_NUMBER_OFFSET 4 -#define ACPI_NFIT_MEMORY_ID_OFFSET 8 -#define ACPI_NFIT_SOCKET_ID_OFFSET 12 -#define ACPI_NFIT_NODE_ID_OFFSET 16 - -/* Macro to construct a NFIT/NVDIMM device handle */ - -#define ACPI_NFIT_BUILD_DEVICE_HANDLE(dimm, channel, memory, socket, node) \ - ((dimm) | \ - ((channel) << ACPI_NFIT_CHANNEL_NUMBER_OFFSET) | \ - ((memory) << ACPI_NFIT_MEMORY_ID_OFFSET) | \ - ((socket) << ACPI_NFIT_SOCKET_ID_OFFSET) | \ - ((node) << ACPI_NFIT_NODE_ID_OFFSET)) - -/* Macros to extract individual fields from a NFIT/NVDIMM device handle */ - -#define ACPI_NFIT_GET_DIMM_NUMBER(handle) \ - ((handle) & ACPI_NFIT_DIMM_NUMBER_MASK) - -#define ACPI_NFIT_GET_CHANNEL_NUMBER(handle) \ - (((handle) & ACPI_NFIT_CHANNEL_NUMBER_MASK) >> ACPI_NFIT_CHANNEL_NUMBER_OFFSET) - -#define ACPI_NFIT_GET_MEMORY_ID(handle) \ - (((handle) & ACPI_NFIT_MEMORY_ID_MASK) >> ACPI_NFIT_MEMORY_ID_OFFSET) - -#define ACPI_NFIT_GET_SOCKET_ID(handle) \ - (((handle) & ACPI_NFIT_SOCKET_ID_MASK) >> ACPI_NFIT_SOCKET_ID_OFFSET) - -#define ACPI_NFIT_GET_NODE_ID(handle) \ - (((handle) & ACPI_NFIT_NODE_ID_MASK) >> ACPI_NFIT_NODE_ID_OFFSET) - - -/******************************************************************************* - * - * PCCT - Platform Communications Channel Table (ACPI 5.0) - * Version 2 (ACPI 6.2) - * - ******************************************************************************/ - -typedef struct acpi_table_pcct -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Flags; - UINT64 Reserved; - -} ACPI_TABLE_PCCT; - -/* Values for Flags field above */ - -#define ACPI_PCCT_DOORBELL 1 - -/* Values for subtable type in ACPI_SUBTABLE_HEADER */ - -enum AcpiPcctType -{ - ACPI_PCCT_TYPE_GENERIC_SUBSPACE = 0, - ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE = 1, - ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 = 2, /* ACPI 6.1 */ - ACPI_PCCT_TYPE_EXT_PCC_MASTER_SUBSPACE = 3, /* ACPI 6.2 */ - ACPI_PCCT_TYPE_EXT_PCC_SLAVE_SUBSPACE = 4, /* ACPI 6.2 */ - ACPI_PCCT_TYPE_HW_REG_COMM_SUBSPACE = 5, /* ACPI 6.4 */ - ACPI_PCCT_TYPE_RESERVED = 6 /* 6 and greater are reserved */ -}; - -/* - * PCCT Subtables, correspond to Type in ACPI_SUBTABLE_HEADER - */ - -/* 0: Generic Communications Subspace */ - -typedef struct acpi_pcct_subspace -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Reserved[6]; - UINT64 BaseAddress; - UINT64 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 PreserveMask; - UINT64 WriteMask; - UINT32 Latency; - UINT32 MaxAccessRate; - UINT16 MinTurnaroundTime; - -} ACPI_PCCT_SUBSPACE; - - -/* 1: HW-reduced Communications Subspace (ACPI 5.1) */ - -typedef struct acpi_pcct_hw_reduced -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 PlatformInterrupt; - UINT8 Flags; - UINT8 Reserved; - UINT64 BaseAddress; - UINT64 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 PreserveMask; - UINT64 WriteMask; - UINT32 Latency; - UINT32 MaxAccessRate; - UINT16 MinTurnaroundTime; - -} ACPI_PCCT_HW_REDUCED; - - -/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */ - -typedef struct acpi_pcct_hw_reduced_type2 -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 PlatformInterrupt; - UINT8 Flags; - UINT8 Reserved; - UINT64 BaseAddress; - UINT64 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 PreserveMask; - UINT64 WriteMask; - UINT32 Latency; - UINT32 MaxAccessRate; - UINT16 MinTurnaroundTime; - ACPI_GENERIC_ADDRESS PlatformAckRegister; - UINT64 AckPreserveMask; - UINT64 AckWriteMask; - -} ACPI_PCCT_HW_REDUCED_TYPE2; - - -/* 3: Extended PCC Master Subspace Type 3 (ACPI 6.2) */ - -typedef struct acpi_pcct_ext_pcc_master -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 PlatformInterrupt; - UINT8 Flags; - UINT8 Reserved1; - UINT64 BaseAddress; - UINT32 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 PreserveMask; - UINT64 WriteMask; - UINT32 Latency; - UINT32 MaxAccessRate; - UINT32 MinTurnaroundTime; - ACPI_GENERIC_ADDRESS PlatformAckRegister; - UINT64 AckPreserveMask; - UINT64 AckSetMask; - UINT64 Reserved2; - ACPI_GENERIC_ADDRESS CmdCompleteRegister; - UINT64 CmdCompleteMask; - ACPI_GENERIC_ADDRESS CmdUpdateRegister; - UINT64 CmdUpdatePreserveMask; - UINT64 CmdUpdateSetMask; - ACPI_GENERIC_ADDRESS ErrorStatusRegister; - UINT64 ErrorStatusMask; - -} ACPI_PCCT_EXT_PCC_MASTER; - - -/* 4: Extended PCC Slave Subspace Type 4 (ACPI 6.2) */ - -typedef struct acpi_pcct_ext_pcc_slave -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 PlatformInterrupt; - UINT8 Flags; - UINT8 Reserved1; - UINT64 BaseAddress; - UINT32 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 PreserveMask; - UINT64 WriteMask; - UINT32 Latency; - UINT32 MaxAccessRate; - UINT32 MinTurnaroundTime; - ACPI_GENERIC_ADDRESS PlatformAckRegister; - UINT64 AckPreserveMask; - UINT64 AckSetMask; - UINT64 Reserved2; - ACPI_GENERIC_ADDRESS CmdCompleteRegister; - UINT64 CmdCompleteMask; - ACPI_GENERIC_ADDRESS CmdUpdateRegister; - UINT64 CmdUpdatePreserveMask; - UINT64 CmdUpdateSetMask; - ACPI_GENERIC_ADDRESS ErrorStatusRegister; - UINT64 ErrorStatusMask; - -} ACPI_PCCT_EXT_PCC_SLAVE; - -/* 5: HW Registers based Communications Subspace */ - -typedef struct acpi_pcct_hw_reg -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Version; - UINT64 BaseAddress; - UINT64 Length; - ACPI_GENERIC_ADDRESS DoorbellRegister; - UINT64 DoorbellPreserve; - UINT64 DoorbellWrite; - ACPI_GENERIC_ADDRESS CmdCompleteRegister; - UINT64 CmdCompleteMask; - ACPI_GENERIC_ADDRESS ErrorStatusRegister; - UINT64 ErrorStatusMask; - UINT32 NominalLatency; - UINT32 MinTurnaroundTime; - -} ACPI_PCCT_HW_REG; - - -/* Values for doorbell flags above */ - -#define ACPI_PCCT_INTERRUPT_POLARITY (1) -#define ACPI_PCCT_INTERRUPT_MODE (1<<1) - - -/* - * PCC memory structures (not part of the ACPI table) - */ - -/* Shared Memory Region */ - -typedef struct acpi_pcct_shared_memory -{ - UINT32 Signature; - UINT16 Command; - UINT16 Status; - -} ACPI_PCCT_SHARED_MEMORY; - - -/* Extended PCC Subspace Shared Memory Region (ACPI 6.2) */ - -typedef struct acpi_pcct_ext_pcc_shared_memory -{ - UINT32 Signature; - UINT32 Flags; - UINT32 Length; - UINT32 Command; - -} ACPI_PCCT_EXT_PCC_SHARED_MEMORY; - - -/******************************************************************************* - * - * PDTT - Platform Debug Trigger Table (ACPI 6.2) - * Version 0 - * - ******************************************************************************/ - -typedef struct acpi_table_pdtt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 TriggerCount; - UINT8 Reserved[3]; - UINT32 ArrayOffset; - -} ACPI_TABLE_PDTT; - - -/* - * PDTT Communication Channel Identifier Structure. - * The number of these structures is defined by TriggerCount above, - * starting at ArrayOffset. - */ -typedef struct acpi_pdtt_channel -{ - UINT8 SubchannelId; - UINT8 Flags; - -} ACPI_PDTT_CHANNEL; - -/* Flags for above */ - -#define ACPI_PDTT_RUNTIME_TRIGGER (1) -#define ACPI_PDTT_WAIT_COMPLETION (1<<1) -#define ACPI_PDTT_TRIGGER_ORDER (1<<2) - - -/******************************************************************************* - * - * PHAT - Platform Health Assessment Table (ACPI 6.4) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_phat -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_PHAT; - -/* Common header for PHAT subtables that follow main table */ - -typedef struct acpi_phat_header -{ - UINT16 Type; - UINT16 Length; - UINT8 Revision; - -} ACPI_PHAT_HEADER; - - -/* Values for Type field above */ - -#define ACPI_PHAT_TYPE_FW_VERSION_DATA 0 -#define ACPI_PHAT_TYPE_FW_HEALTH_DATA 1 -#define ACPI_PHAT_TYPE_RESERVED 2 /* 0x02-0xFFFF are reserved */ - -/* - * PHAT subtables, correspond to Type in ACPI_PHAT_HEADER - */ - -/* 0: Firmware Version Data Record */ - -typedef struct acpi_phat_version_data -{ - ACPI_PHAT_HEADER Header; - UINT8 Reserved[3]; - UINT32 ElementCount; - -} ACPI_PHAT_VERSION_DATA; - -typedef struct acpi_phat_version_element -{ - UINT8 Guid[16]; - UINT64 VersionValue; - UINT32 ProducerId; - -} ACPI_PHAT_VERSION_ELEMENT; - - -/* 1: Firmware Health Data Record */ - -typedef struct acpi_phat_health_data -{ - ACPI_PHAT_HEADER Header; - UINT8 Reserved[2]; - UINT8 Health; - UINT8 DeviceGuid[16]; - UINT32 DeviceSpecificOffset; /* Zero if no Device-specific data */ - -} ACPI_PHAT_HEALTH_DATA; - -/* Values for Health field above */ - -#define ACPI_PHAT_ERRORS_FOUND 0 -#define ACPI_PHAT_NO_ERRORS 1 -#define ACPI_PHAT_UNKNOWN_ERRORS 2 -#define ACPI_PHAT_ADVISORY 3 - - -/******************************************************************************* - * - * PMTT - Platform Memory Topology Table (ACPI 5.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_pmtt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 MemoryDeviceCount; - /* - * Immediately followed by: - * MEMORY_DEVICE MemoryDeviceStruct[MemoryDeviceCount]; - */ - -} ACPI_TABLE_PMTT; - - -/* Common header for PMTT subtables that follow main table */ - -typedef struct acpi_pmtt_header -{ - UINT8 Type; - UINT8 Reserved1; - UINT16 Length; - UINT16 Flags; - UINT16 Reserved2; - UINT32 MemoryDeviceCount; /* Zero means no memory device structs follow */ - /* - * Immediately followed by: - * UINT8 TypeSpecificData[] - * MEMORY_DEVICE MemoryDeviceStruct[MemoryDeviceCount]; - */ - -} ACPI_PMTT_HEADER; - -/* Values for Type field above */ - -#define ACPI_PMTT_TYPE_SOCKET 0 -#define ACPI_PMTT_TYPE_CONTROLLER 1 -#define ACPI_PMTT_TYPE_DIMM 2 -#define ACPI_PMTT_TYPE_RESERVED 3 /* 0x03-0xFE are reserved */ -#define ACPI_PMTT_TYPE_VENDOR 0xFF - -/* Values for Flags field above */ - -#define ACPI_PMTT_TOP_LEVEL 0x0001 -#define ACPI_PMTT_PHYSICAL 0x0002 -#define ACPI_PMTT_MEMORY_TYPE 0x000C - - -/* - * PMTT subtables, correspond to Type in acpi_pmtt_header - */ - - -/* 0: Socket Structure */ - -typedef struct acpi_pmtt_socket -{ - ACPI_PMTT_HEADER Header; - UINT16 SocketId; - UINT16 Reserved; - -} ACPI_PMTT_SOCKET; - /* - * Immediately followed by: - * MEMORY_DEVICE MemoryDeviceStruct[MemoryDeviceCount]; - */ - - -/* 1: Memory Controller subtable */ - -typedef struct acpi_pmtt_controller -{ - ACPI_PMTT_HEADER Header; - UINT16 ControllerId; - UINT16 Reserved; - -} ACPI_PMTT_CONTROLLER; - /* - * Immediately followed by: - * MEMORY_DEVICE MemoryDeviceStruct[MemoryDeviceCount]; - */ - - -/* 2: Physical Component Identifier (DIMM) */ - -typedef struct acpi_pmtt_physical_component -{ - ACPI_PMTT_HEADER Header; - UINT32 BiosHandle; - -} ACPI_PMTT_PHYSICAL_COMPONENT; - - -/* 0xFF: Vendor Specific Data */ - -typedef struct acpi_pmtt_vendor_specific -{ - ACPI_PMTT_HEADER Header; - UINT8 TypeUuid[16]; - UINT8 Specific[]; - /* - * Immediately followed by: - * UINT8 VendorSpecificData[]; - * MEMORY_DEVICE MemoryDeviceStruct[MemoryDeviceCount]; - */ - -} ACPI_PMTT_VENDOR_SPECIFIC; - - -/******************************************************************************* - * - * PPTT - Processor Properties Topology Table (ACPI 6.2) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_pptt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_PPTT; - -/* Values for Type field above */ - -enum AcpiPpttType -{ - ACPI_PPTT_TYPE_PROCESSOR = 0, - ACPI_PPTT_TYPE_CACHE = 1, - ACPI_PPTT_TYPE_ID = 2, - ACPI_PPTT_TYPE_RESERVED = 3 -}; - - -/* 0: Processor Hierarchy Node Structure */ - -typedef struct acpi_pptt_processor -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; - UINT32 Flags; - UINT32 Parent; - UINT32 AcpiProcessorId; - UINT32 NumberOfPrivResources; - -} ACPI_PPTT_PROCESSOR; - -/* Flags */ - -#define ACPI_PPTT_PHYSICAL_PACKAGE (1) -#define ACPI_PPTT_ACPI_PROCESSOR_ID_VALID (1<<1) -#define ACPI_PPTT_ACPI_PROCESSOR_IS_THREAD (1<<2) /* ACPI 6.3 */ -#define ACPI_PPTT_ACPI_LEAF_NODE (1<<3) /* ACPI 6.3 */ -#define ACPI_PPTT_ACPI_IDENTICAL (1<<4) /* ACPI 6.3 */ - - -/* 1: Cache Type Structure */ - -typedef struct acpi_pptt_cache -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; - UINT32 Flags; - UINT32 NextLevelOfCache; - UINT32 Size; - UINT32 NumberOfSets; - UINT8 Associativity; - UINT8 Attributes; - UINT16 LineSize; - -} ACPI_PPTT_CACHE; - -/* 1: Cache Type Structure for PPTT version 3 */ - -typedef struct acpi_pptt_cache_v1 -{ - UINT32 CacheId; - -} ACPI_PPTT_CACHE_V1; - - -/* Flags */ - -#define ACPI_PPTT_SIZE_PROPERTY_VALID (1) /* Physical property valid */ -#define ACPI_PPTT_NUMBER_OF_SETS_VALID (1<<1) /* Number of sets valid */ -#define ACPI_PPTT_ASSOCIATIVITY_VALID (1<<2) /* Associativity valid */ -#define ACPI_PPTT_ALLOCATION_TYPE_VALID (1<<3) /* Allocation type valid */ -#define ACPI_PPTT_CACHE_TYPE_VALID (1<<4) /* Cache type valid */ -#define ACPI_PPTT_WRITE_POLICY_VALID (1<<5) /* Write policy valid */ -#define ACPI_PPTT_LINE_SIZE_VALID (1<<6) /* Line size valid */ -#define ACPI_PPTT_CACHE_ID_VALID (1<<7) /* Cache ID valid */ - -/* Masks for Attributes */ - -#define ACPI_PPTT_MASK_ALLOCATION_TYPE (0x03) /* Allocation type */ -#define ACPI_PPTT_MASK_CACHE_TYPE (0x0C) /* Cache type */ -#define ACPI_PPTT_MASK_WRITE_POLICY (0x10) /* Write policy */ - -/* Attributes describing cache */ -#define ACPI_PPTT_CACHE_READ_ALLOCATE (0x0) /* Cache line is allocated on read */ -#define ACPI_PPTT_CACHE_WRITE_ALLOCATE (0x01) /* Cache line is allocated on write */ -#define ACPI_PPTT_CACHE_RW_ALLOCATE (0x02) /* Cache line is allocated on read and write */ -#define ACPI_PPTT_CACHE_RW_ALLOCATE_ALT (0x03) /* Alternate representation of above */ - -#define ACPI_PPTT_CACHE_TYPE_DATA (0x0) /* Data cache */ -#define ACPI_PPTT_CACHE_TYPE_INSTR (1<<2) /* Instruction cache */ -#define ACPI_PPTT_CACHE_TYPE_UNIFIED (2<<2) /* Unified I & D cache */ -#define ACPI_PPTT_CACHE_TYPE_UNIFIED_ALT (3<<2) /* Alternate representation of above */ - -#define ACPI_PPTT_CACHE_POLICY_WB (0x0) /* Cache is write back */ -#define ACPI_PPTT_CACHE_POLICY_WT (1<<4) /* Cache is write through */ - -/* 2: ID Structure */ - -typedef struct acpi_pptt_id -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; - UINT32 VendorId; - UINT64 Level1Id; - UINT64 Level2Id; - UINT16 MajorRev; - UINT16 MinorRev; - UINT16 SpinRev; - -} ACPI_PPTT_ID; - - -/******************************************************************************* - * - * PRMT - Platform Runtime Mechanism Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_prmt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_PRMT; - -typedef struct acpi_table_prmt_header -{ - UINT8 PlatformGuid[16]; - UINT32 ModuleInfoOffset; - UINT32 ModuleInfoCount; - -} ACPI_TABLE_PRMT_HEADER; - -typedef struct acpi_prmt_module_header -{ - UINT16 Revision; - UINT16 Length; - -} ACPI_PRMT_MODULE_HEADER; - -typedef struct acpi_prmt_module_info -{ - UINT16 Revision; - UINT16 Length; - UINT8 ModuleGuid[16]; - UINT16 MajorRev; - UINT16 MinorRev; - UINT16 HandlerInfoCount; - UINT32 HandlerInfoOffset; - UINT64 MmioListPointer; - -} ACPI_PRMT_MODULE_INFO; - -typedef struct acpi_prmt_handler_info -{ - UINT16 Revision; - UINT16 Length; - UINT8 HandlerGuid[16]; - UINT64 HandlerAddress; - UINT64 StaticDataBufferAddress; - UINT64 AcpiParamBufferAddress; - -} ACPI_PRMT_HANDLER_INFO; - - -/******************************************************************************* - * - * RASF - RAS Feature Table (ACPI 5.0) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_rasf -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 ChannelId[12]; - -} ACPI_TABLE_RASF; - -/* RASF Platform Communication Channel Shared Memory Region */ - -typedef struct acpi_rasf_shared_memory -{ - UINT32 Signature; - UINT16 Command; - UINT16 Status; - UINT16 Version; - UINT8 Capabilities[16]; - UINT8 SetCapabilities[16]; - UINT16 NumParameterBlocks; - UINT32 SetCapabilitiesStatus; - -} ACPI_RASF_SHARED_MEMORY; - -/* RASF Parameter Block Structure Header */ - -typedef struct acpi_rasf_parameter_block -{ - UINT16 Type; - UINT16 Version; - UINT16 Length; - -} ACPI_RASF_PARAMETER_BLOCK; - -/* RASF Parameter Block Structure for PATROL_SCRUB */ - -typedef struct acpi_rasf_patrol_scrub_parameter -{ - ACPI_RASF_PARAMETER_BLOCK Header; - UINT16 PatrolScrubCommand; - UINT64 RequestedAddressRange[2]; - UINT64 ActualAddressRange[2]; - UINT16 Flags; - UINT8 RequestedSpeed; - -} ACPI_RASF_PATROL_SCRUB_PARAMETER; - -/* Masks for Flags and Speed fields above */ - -#define ACPI_RASF_SCRUBBER_RUNNING 1 -#define ACPI_RASF_SPEED (7<<1) -#define ACPI_RASF_SPEED_SLOW (0<<1) -#define ACPI_RASF_SPEED_MEDIUM (4<<1) -#define ACPI_RASF_SPEED_FAST (7<<1) - -/* Channel Commands */ - -enum AcpiRasfCommands -{ - ACPI_RASF_EXECUTE_RASF_COMMAND = 1 -}; - -/* Platform RAS Capabilities */ - -enum AcpiRasfCapabiliities -{ - ACPI_HW_PATROL_SCRUB_SUPPORTED = 0, - ACPI_SW_PATROL_SCRUB_EXPOSED = 1 -}; - -/* Patrol Scrub Commands */ - -enum AcpiRasfPatrolScrubCommands -{ - ACPI_RASF_GET_PATROL_PARAMETERS = 1, - ACPI_RASF_START_PATROL_SCRUBBER = 2, - ACPI_RASF_STOP_PATROL_SCRUBBER = 3 -}; - -/* Channel Command flags */ - -#define ACPI_RASF_GENERATE_SCI (1<<15) - -/* Status values */ - -enum AcpiRasfStatus -{ - ACPI_RASF_SUCCESS = 0, - ACPI_RASF_NOT_VALID = 1, - ACPI_RASF_NOT_SUPPORTED = 2, - ACPI_RASF_BUSY = 3, - ACPI_RASF_FAILED = 4, - ACPI_RASF_ABORTED = 5, - ACPI_RASF_INVALID_DATA = 6 -}; - -/* Status flags */ - -#define ACPI_RASF_COMMAND_COMPLETE (1) -#define ACPI_RASF_SCI_DOORBELL (1<<1) -#define ACPI_RASF_ERROR (1<<2) -#define ACPI_RASF_STATUS (0x1F<<3) - - -/******************************************************************************* - * - * RAS2 - RAS2 Feature Table (ACPI 6.5) - * Version 1 - * - * - ******************************************************************************/ - -typedef struct acpi_table_ras2 { - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 Reserved; - UINT16 NumPccDescs; - -} ACPI_TABLE_RAS2; - -/* RAS2 Platform Communication Channel Descriptor */ - -typedef struct acpi_ras2_pcc_desc { - UINT8 ChannelId; - UINT16 Reserved; - UINT8 FeatureType; - UINT32 Instance; - -} ACPI_RAS2_PCC_DESC; - -/* RAS2 Platform Communication Channel Shared Memory Region */ - -typedef struct acpi_ras2_shared_memory { - UINT32 Signature; - UINT16 Command; - UINT16 Status; - UINT16 Version; - UINT8 Features[16]; - UINT8 SetCapabilities[16]; - UINT16 NumParameterBlocks; - UINT32 SetCapabilitiesStatus; - -} ACPI_RAS2_SHARED_MEMORY; - -/* RAS2 Parameter Block Structure for PATROL_SCRUB */ - -typedef struct acpi_ras2_parameter_block -{ - UINT16 Type; - UINT16 Version; - UINT16 Length; - -} ACPI_RAS2_PARAMETER_BLOCK; - -/* RAS2 Parameter Block Structure for PATROL_SCRUB */ - -typedef struct acpi_ras2_patrol_scrub_parameter { - ACPI_RAS2_PARAMETER_BLOCK Header; - UINT16 PatrolScrubCommand; - UINT64 RequestedAddressRange[2]; - UINT64 ActualAddressRange[2]; - UINT32 Flags; - UINT32 ScrubParamsOut; - UINT32 ScrubParamsIn; - -} ACPI_RAS2_PATROL_SCRUB_PARAMETER; - -/* Masks for Flags field above */ - -#define ACPI_RAS2_SCRUBBER_RUNNING 1 - -/* RAS2 Parameter Block Structure for LA2PA_TRANSLATION */ - -typedef struct acpi_ras2_la2pa_translation_parameter { - ACPI_RAS2_PARAMETER_BLOCK Header; - UINT16 AddrTranslationCommand; - UINT64 SubInstId; - UINT64 LogicalAddress; - UINT64 PhysicalAddress; - UINT32 Status; - -} ACPI_RAS2_LA2PA_TRANSLATION_PARAM; - -/* Channel Commands */ - -enum AcpiRas2Commands -{ - ACPI_RAS2_EXECUTE_RAS2_COMMAND = 1 -}; - -/* Platform RAS2 Features */ - -enum AcpiRas2Features -{ - ACPI_RAS2_PATROL_SCRUB_SUPPORTED = 0, - ACPI_RAS2_LA2PA_TRANSLATION = 1 -}; - -/* RAS2 Patrol Scrub Commands */ - -enum AcpiRas2PatrolScrubCommands -{ - ACPI_RAS2_GET_PATROL_PARAMETERS = 1, - ACPI_RAS2_START_PATROL_SCRUBBER = 2, - ACPI_RAS2_STOP_PATROL_SCRUBBER = 3 -}; - -/* RAS2 LA2PA Translation Commands */ - -enum AcpiRas2La2PaTranslationCommands -{ - ACPI_RAS2_GET_LA2PA_TRANSLATION = 1, -}; - -/* RAS2 LA2PA Translation Status values */ - -enum AcpiRas2La2PaTranslationStatus -{ - ACPI_RAS2_LA2PA_TRANSLATION_SUCCESS = 0, - ACPI_RAS2_LA2PA_TRANSLATION_FAIL = 1, -}; - -/* Channel Command flags */ - -#define ACPI_RAS2_GENERATE_SCI (1<<15) - -/* Status values */ - -enum AcpiRas2Status -{ - ACPI_RAS2_SUCCESS = 0, - ACPI_RAS2_NOT_VALID = 1, - ACPI_RAS2_NOT_SUPPORTED = 2, - ACPI_RAS2_BUSY = 3, - ACPI_RAS2_FAILED = 4, - ACPI_RAS2_ABORTED = 5, - ACPI_RAS2_INVALID_DATA = 6 -}; - -/* Status flags */ - -#define ACPI_RAS2_COMMAND_COMPLETE (1) -#define ACPI_RAS2_SCI_DOORBELL (1<<1) -#define ACPI_RAS2_ERROR (1<<2) -#define ACPI_RAS2_STATUS (0x1F<<3) - - -/******************************************************************************* - * - * RGRT - Regulatory Graphics Resource Table - * Version 1 - * - * Conforms to "ACPI RGRT" available at: - * https://microsoft.github.io/mu/dyn/mu_plus/MsCorePkg/AcpiRGRT/feature_acpi_rgrt/ - * - ******************************************************************************/ - -typedef struct acpi_table_rgrt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 Version; - UINT8 ImageType; - UINT8 Reserved; - UINT8 Image[]; - -} ACPI_TABLE_RGRT; - -/* ImageType values */ - -enum AcpiRgrtImageType -{ - ACPI_RGRT_TYPE_RESERVED0 = 0, - ACPI_RGRT_IMAGE_TYPE_PNG = 1, - ACPI_RGRT_TYPE_RESERVED = 2 /* 2 and greater are reserved */ -}; - - -/******************************************************************************* - * - * RHCT - RISC-V Hart Capabilities Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_rhct { - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Flags; /* RHCT flags */ - UINT64 TimeBaseFreq; - UINT32 NodeCount; - UINT32 NodeOffset; -} ACPI_TABLE_RHCT; - -/* RHCT Flags */ - -#define ACPI_RHCT_TIMER_CANNOT_WAKEUP_CPU (1) -/* - * RHCT subtables - */ -typedef struct acpi_rhct_node_header { - UINT16 Type; - UINT16 Length; - UINT16 Revision; -} ACPI_RHCT_NODE_HEADER; - -/* Values for RHCT subtable Type above */ - -enum acpi_rhct_node_type { - ACPI_RHCT_NODE_TYPE_ISA_STRING = 0x0000, - ACPI_RHCT_NODE_TYPE_CMO = 0x0001, - ACPI_RHCT_NODE_TYPE_MMU = 0x0002, - ACPI_RHCT_NODE_TYPE_RESERVED = 0x0003, - ACPI_RHCT_NODE_TYPE_HART_INFO = 0xFFFF, -}; - -/* - * RHCT node specific subtables - */ - -/* ISA string node structure */ -typedef struct acpi_rhct_isa_string { - UINT16 IsaLength; - char Isa[]; -} ACPI_RHCT_ISA_STRING; - -typedef struct acpi_rhct_cmo_node { - UINT8 Reserved; /* Must be zero */ - UINT8 CbomSize; /* CBOM size in powerof 2 */ - UINT8 CbopSize; /* CBOP size in powerof 2 */ - UINT8 CbozSize; /* CBOZ size in powerof 2 */ -} ACPI_RHCT_CMO_NODE; - -typedef struct acpi_rhct_mmu_node { - UINT8 Reserved; /* Must be zero */ - UINT8 MmuType; /* Virtual Address Scheme */ -} ACPI_RHCT_MMU_NODE; - -enum acpi_rhct_mmu_type { - ACPI_RHCT_MMU_TYPE_SV39 = 0, - ACPI_RHCT_MMU_TYPE_SV48 = 1, - ACPI_RHCT_MMU_TYPE_SV57 = 2 -}; - -/* Hart Info node structure */ -typedef struct acpi_rhct_hart_info { - UINT16 NumOffsets; - UINT32 Uid; /* ACPI processor UID */ -} ACPI_RHCT_HART_INFO; - -/******************************************************************************* - * - * SBST - Smart Battery Specification Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_sbst -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 WarningLevel; - UINT32 LowLevel; - UINT32 CriticalLevel; - -} ACPI_TABLE_SBST; - - -/******************************************************************************* - * - * SDEI - Software Delegated Exception Interface Descriptor Table - * - * Conforms to "Software Delegated Exception Interface (SDEI)" ARM DEN0054A, - * May 8th, 2017. Copyright 2017 ARM Ltd. - * - ******************************************************************************/ - -typedef struct acpi_table_sdei -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_SDEI; - - -/******************************************************************************* - * - * SDEV - Secure Devices Table (ACPI 6.2) - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_sdev -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_SDEV; - - -typedef struct acpi_sdev_header -{ - UINT8 Type; - UINT8 Flags; - UINT16 Length; - -} ACPI_SDEV_HEADER; - - -/* Values for subtable type above */ - -enum AcpiSdevType -{ - ACPI_SDEV_TYPE_NAMESPACE_DEVICE = 0, - ACPI_SDEV_TYPE_PCIE_ENDPOINT_DEVICE = 1, - ACPI_SDEV_TYPE_RESERVED = 2 /* 2 and greater are reserved */ -}; - -/* Values for flags above */ - -#define ACPI_SDEV_HANDOFF_TO_UNSECURE_OS (1) -#define ACPI_SDEV_SECURE_COMPONENTS_PRESENT (1<<1) - -/* - * SDEV subtables - */ - -/* 0: Namespace Device Based Secure Device Structure */ - -typedef struct acpi_sdev_namespace -{ - ACPI_SDEV_HEADER Header; - UINT16 DeviceIdOffset; - UINT16 DeviceIdLength; - UINT16 VendorDataOffset; - UINT16 VendorDataLength; - -} ACPI_SDEV_NAMESPACE; - -typedef struct acpi_sdev_secure_component -{ - UINT16 SecureComponentOffset; - UINT16 SecureComponentLength; - -} ACPI_SDEV_SECURE_COMPONENT; - - -/* - * SDEV sub-subtables ("Components") for above - */ -typedef struct acpi_sdev_component -{ - ACPI_SDEV_HEADER Header; - -} ACPI_SDEV_COMPONENT; - - -/* Values for sub-subtable type above */ - -enum AcpiSacType -{ - ACPI_SDEV_TYPE_ID_COMPONENT = 0, - ACPI_SDEV_TYPE_MEM_COMPONENT = 1 -}; - -typedef struct acpi_sdev_id_component -{ - ACPI_SDEV_HEADER Header; - UINT16 HardwareIdOffset; - UINT16 HardwareIdLength; - UINT16 SubsystemIdOffset; - UINT16 SubsystemIdLength; - UINT16 HardwareRevision; - UINT8 HardwareRevPresent; - UINT8 ClassCodePresent; - UINT8 PciBaseClass; - UINT8 PciSubClass; - UINT8 PciProgrammingXface; - -} ACPI_SDEV_ID_COMPONENT; - -typedef struct acpi_sdev_mem_component -{ - ACPI_SDEV_HEADER Header; - UINT32 Reserved; - UINT64 MemoryBaseAddress; - UINT64 MemoryLength; - -} ACPI_SDEV_MEM_COMPONENT; - - -/* 1: PCIe Endpoint Device Based Device Structure */ - -typedef struct acpi_sdev_pcie -{ - ACPI_SDEV_HEADER Header; - UINT16 Segment; - UINT16 StartBus; - UINT16 PathOffset; - UINT16 PathLength; - UINT16 VendorDataOffset; - UINT16 VendorDataLength; - -} ACPI_SDEV_PCIE; - -/* 1a: PCIe Endpoint path entry */ - -typedef struct acpi_sdev_pcie_path -{ - UINT8 Device; - UINT8 Function; - -} ACPI_SDEV_PCIE_PATH; - - -/******************************************************************************* - * - * SVKL - Storage Volume Key Location Table (ACPI 6.4) - * From: "Guest-Host-Communication Interface (GHCI) for Intel - * Trust Domain Extensions (Intel TDX)". - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_svkl -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Count; - -} ACPI_TABLE_SVKL; - -typedef struct acpi_svkl_key -{ - UINT16 Type; - UINT16 Format; - UINT32 Size; - UINT64 Address; - -} ACPI_SVKL_KEY; - -enum acpi_svkl_type -{ - ACPI_SVKL_TYPE_MAIN_STORAGE = 0, - ACPI_SVKL_TYPE_RESERVED = 1 /* 1 and greater are reserved */ -}; - -enum acpi_svkl_format -{ - ACPI_SVKL_FORMAT_RAW_BINARY = 0, - ACPI_SVKL_FORMAT_RESERVED = 1 /* 1 and greater are reserved */ -}; - - -/******************************************************************************* - * - * TDEL - TD-Event Log - * From: "Guest-Host-Communication Interface (GHCI) for Intel - * Trust Domain Extensions (Intel TDX)". - * September 2020 - * - ******************************************************************************/ - -typedef struct acpi_table_tdel -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Reserved; - UINT64 LogAreaMinimumLength; - UINT64 LogAreaStartAddress; - -} ACPI_TABLE_TDEL; - -/* Reset to default packing */ - -#pragma pack() - -#endif /* __ACTBL2_H__ */ diff --git a/Private/acpiSDK/source/include/actbl3.h b/Private/acpiSDK/source/include/actbl3.h deleted file mode 100644 index 1438c1db..00000000 --- a/Private/acpiSDK/source/include/actbl3.h +++ /dev/null @@ -1,1019 +0,0 @@ -/****************************************************************************** - * - * Name: actbl3.h - ACPI Table Definitions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTBL3_H__ -#define __ACTBL3_H__ - - -/******************************************************************************* - * - * Additional ACPI Tables - * - * These tables are not consumed directly by the ACPICA subsystem, but are - * included here to support device drivers and the AML disassembler. - * - ******************************************************************************/ - - -/* - * Values for description table header signatures for tables defined in this - * file. Useful because they make it more difficult to inadvertently type in - * the wrong signature. - */ -#define ACPI_SIG_SLIC "SLIC" /* Software Licensing Description Table */ -#define ACPI_SIG_SLIT "SLIT" /* System Locality Distance Information Table */ -#define ACPI_SIG_SPCR "SPCR" /* Serial Port Console Redirection table */ -#define ACPI_SIG_SPMI "SPMI" /* Server Platform Management Interface table */ -#define ACPI_SIG_SRAT "SRAT" /* System Resource Affinity Table */ -#define ACPI_SIG_STAO "STAO" /* Status Override table */ -#define ACPI_SIG_TCPA "TCPA" /* Trusted Computing Platform Alliance table */ -#define ACPI_SIG_TPM2 "TPM2" /* Trusted Platform Module 2.0 H/W interface table */ -#define ACPI_SIG_UEFI "UEFI" /* Uefi Boot Optimization Table */ -#define ACPI_SIG_VIOT "VIOT" /* Virtual I/O Translation Table */ -#define ACPI_SIG_WAET "WAET" /* Windows ACPI Emulated devices Table */ -#define ACPI_SIG_WDAT "WDAT" /* Watchdog Action Table */ -#define ACPI_SIG_WDDT "WDDT" /* Watchdog Timer Description Table */ -#define ACPI_SIG_WDRT "WDRT" /* Watchdog Resource Table */ -#define ACPI_SIG_WPBT "WPBT" /* Windows Platform Binary Table */ -#define ACPI_SIG_WSMT "WSMT" /* Windows SMM Security Mitigations Table */ -#define ACPI_SIG_XENV "XENV" /* Xen Environment table */ -#define ACPI_SIG_XXXX "XXXX" /* Intermediate AML header for ASL/ASL+ converter */ - -/* - * All tables must be byte-packed to match the ACPI specification, since - * the tables are provided by the system BIOS. - */ -#pragma pack(1) - -/* - * Note: C bitfields are not used for this reason: - * - * "Bitfields are great and easy to read, but unfortunately the C language - * does not specify the layout of bitfields in memory, which means they are - * essentially useless for dealing with packed data in on-disk formats or - * binary wire protocols." (Or ACPI tables and buffers.) "If you ask me, - * this decision was a design error in C. Ritchie could have picked an order - * and stuck with it." Norman Ramsey. - * See http://stackoverflow.com/a/1053662/41661 - */ - - -/******************************************************************************* - * - * SLIC - Software Licensing Description Table - * - * Conforms to "Microsoft Software Licensing Tables (SLIC and MSDM)", - * November 29, 2011. Copyright 2011 Microsoft - * - ******************************************************************************/ - -/* Basic SLIC table is only the common ACPI header */ - -typedef struct acpi_table_slic -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - -} ACPI_TABLE_SLIC; - - -/******************************************************************************* - * - * SLIT - System Locality Distance Information Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_slit -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 LocalityCount; - UINT8 Entry[1]; /* Real size = localities^2 */ - -} ACPI_TABLE_SLIT; - - -/******************************************************************************* - * - * SPCR - Serial Port Console Redirection table - * Version 2 - * - * Conforms to "Serial Port Console Redirection Table", - * Version 1.03, August 10, 2015 - * - ******************************************************************************/ - -typedef struct acpi_table_spcr -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 InterfaceType; /* 0=full 16550, 1=subset of 16550 */ - UINT8 Reserved[3]; - ACPI_GENERIC_ADDRESS SerialPort; - UINT8 InterruptType; - UINT8 PcInterrupt; - UINT32 Interrupt; - UINT8 BaudRate; - UINT8 Parity; - UINT8 StopBits; - UINT8 FlowControl; - UINT8 TerminalType; - UINT8 Reserved1; - UINT16 PciDeviceId; - UINT16 PciVendorId; - UINT8 PciBus; - UINT8 PciDevice; - UINT8 PciFunction; - UINT32 PciFlags; - UINT8 PciSegment; - UINT32 Reserved2; - -} ACPI_TABLE_SPCR; - -/* Masks for PciFlags field above */ - -#define ACPI_SPCR_DO_NOT_DISABLE (1) - -/* Values for Interface Type: See the definition of the DBG2 table */ - - -/******************************************************************************* - * - * SPMI - Server Platform Management Interface table - * Version 5 - * - * Conforms to "Intelligent Platform Management Interface Specification - * Second Generation v2.0", Document Revision 1.0, February 12, 2004 with - * June 12, 2009 markup. - * - ******************************************************************************/ - -typedef struct acpi_table_spmi -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 InterfaceType; - UINT8 Reserved; /* Must be 1 */ - UINT16 SpecRevision; /* Version of IPMI */ - UINT8 InterruptType; - UINT8 GpeNumber; /* GPE assigned */ - UINT8 Reserved1; - UINT8 PciDeviceFlag; - UINT32 Interrupt; - ACPI_GENERIC_ADDRESS IpmiRegister; - UINT8 PciSegment; - UINT8 PciBus; - UINT8 PciDevice; - UINT8 PciFunction; - UINT8 Reserved2; - -} ACPI_TABLE_SPMI; - -/* Values for InterfaceType above */ - -enum AcpiSpmiInterfaceTypes -{ - ACPI_SPMI_NOT_USED = 0, - ACPI_SPMI_KEYBOARD = 1, - ACPI_SPMI_SMI = 2, - ACPI_SPMI_BLOCK_TRANSFER = 3, - ACPI_SPMI_SMBUS = 4, - ACPI_SPMI_RESERVED = 5 /* 5 and above are reserved */ -}; - - -/******************************************************************************* - * - * SRAT - System Resource Affinity Table - * Version 3 - * - ******************************************************************************/ - -typedef struct acpi_table_srat -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 TableRevision; /* Must be value '1' */ - UINT64 Reserved; /* Reserved, must be zero */ - -} ACPI_TABLE_SRAT; - -/* Values for subtable type in ACPI_SUBTABLE_HEADER */ - -enum AcpiSratType -{ - ACPI_SRAT_TYPE_CPU_AFFINITY = 0, - ACPI_SRAT_TYPE_MEMORY_AFFINITY = 1, - ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY = 2, - ACPI_SRAT_TYPE_GICC_AFFINITY = 3, - ACPI_SRAT_TYPE_GIC_ITS_AFFINITY = 4, /* ACPI 6.2 */ - ACPI_SRAT_TYPE_GENERIC_AFFINITY = 5, /* ACPI 6.3 */ - ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY = 6, /* ACPI 6.4 */ - ACPI_SRAT_TYPE_RESERVED = 7 /* 7 and greater are reserved */ -}; - -/* - * SRAT Subtables, correspond to Type in ACPI_SUBTABLE_HEADER - */ - -/* 0: Processor Local APIC/SAPIC Affinity */ - -typedef struct acpi_srat_cpu_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 ProximityDomainLo; - UINT8 ApicId; - UINT32 Flags; - UINT8 LocalSapicEid; - UINT8 ProximityDomainHi[3]; - UINT32 ClockDomain; - -} ACPI_SRAT_CPU_AFFINITY; - -/* Flags */ - -#define ACPI_SRAT_CPU_USE_AFFINITY (1) /* 00: Use affinity structure */ - - -/* 1: Memory Affinity */ - -typedef struct acpi_srat_mem_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 ProximityDomain; - UINT16 Reserved; /* Reserved, must be zero */ - UINT64 BaseAddress; - UINT64 Length; - UINT32 Reserved1; - UINT32 Flags; - UINT64 Reserved2; /* Reserved, must be zero */ - -} ACPI_SRAT_MEM_AFFINITY; - -/* Flags */ - -#define ACPI_SRAT_MEM_ENABLED (1) /* 00: Use affinity structure */ -#define ACPI_SRAT_MEM_HOT_PLUGGABLE (1<<1) /* 01: Memory region is hot pluggable */ -#define ACPI_SRAT_MEM_NON_VOLATILE (1<<2) /* 02: Memory region is non-volatile */ - - -/* 2: Processor Local X2_APIC Affinity (ACPI 4.0) */ - -typedef struct acpi_srat_x2apic_cpu_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT16 Reserved; /* Reserved, must be zero */ - UINT32 ProximityDomain; - UINT32 ApicId; - UINT32 Flags; - UINT32 ClockDomain; - UINT32 Reserved2; - -} ACPI_SRAT_X2APIC_CPU_AFFINITY; - -/* Flags for ACPI_SRAT_CPU_AFFINITY and ACPI_SRAT_X2APIC_CPU_AFFINITY */ - -#define ACPI_SRAT_CPU_ENABLED (1) /* 00: Use affinity structure */ - - -/* 3: GICC Affinity (ACPI 5.1) */ - -typedef struct acpi_srat_gicc_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 ProximityDomain; - UINT32 AcpiProcessorUid; - UINT32 Flags; - UINT32 ClockDomain; - -} ACPI_SRAT_GICC_AFFINITY; - -/* Flags for ACPI_SRAT_GICC_AFFINITY */ - -#define ACPI_SRAT_GICC_ENABLED (1) /* 00: Use affinity structure */ - - -/* 4: GCC ITS Affinity (ACPI 6.2) */ - -typedef struct acpi_srat_gic_its_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT32 ProximityDomain; - UINT16 Reserved; - UINT32 ItsId; - -} ACPI_SRAT_GIC_ITS_AFFINITY; - -/* - * Common structure for SRAT subtable types: - * 5: ACPI_SRAT_TYPE_GENERIC_AFFINITY - * 6: ACPI_SRAT_TYPE_GENERIC_PORT_AFFINITY - */ - -#define ACPI_SRAT_DEVICE_HANDLE_SIZE 16 - -typedef struct acpi_srat_generic_affinity -{ - ACPI_SUBTABLE_HEADER Header; - UINT8 Reserved; - UINT8 DeviceHandleType; - UINT32 ProximityDomain; - UINT8 DeviceHandle[ACPI_SRAT_DEVICE_HANDLE_SIZE]; - UINT32 Flags; - UINT32 Reserved1; - -} ACPI_SRAT_GENERIC_AFFINITY; - -/* Flags for ACPI_SRAT_GENERIC_AFFINITY */ - -#define ACPI_SRAT_GENERIC_AFFINITY_ENABLED (1) /* 00: Use affinity structure */ -#define ACPI_SRAT_ARCHITECTURAL_TRANSACTIONS (1<<1) /* ACPI 6.4 */ - -/******************************************************************************* - * - * STAO - Status Override Table (_STA override) - ACPI 6.0 - * Version 1 - * - * Conforms to "ACPI Specification for Status Override Table" - * 6 January 2015 - * - ******************************************************************************/ - -typedef struct acpi_table_stao -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 IgnoreUart; - -} ACPI_TABLE_STAO; - - -/******************************************************************************* - * - * TCPA - Trusted Computing Platform Alliance table - * Version 2 - * - * TCG Hardware Interface Table for TPM 1.2 Clients and Servers - * - * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", - * Version 1.2, Revision 8 - * February 27, 2017 - * - * NOTE: There are two versions of the table with the same signature -- - * the client version and the server version. The common PlatformClass - * field is used to differentiate the two types of tables. - * - ******************************************************************************/ - -typedef struct acpi_table_tcpa_hdr -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 PlatformClass; - -} ACPI_TABLE_TCPA_HDR; - -/* - * Values for PlatformClass above. - * This is how the client and server subtables are differentiated - */ -#define ACPI_TCPA_CLIENT_TABLE 0 -#define ACPI_TCPA_SERVER_TABLE 1 - - -typedef struct acpi_table_tcpa_client -{ - UINT32 MinimumLogLength; /* Minimum length for the event log area */ - UINT64 LogAddress; /* Address of the event log area */ - -} ACPI_TABLE_TCPA_CLIENT; - -typedef struct acpi_table_tcpa_server -{ - UINT16 Reserved; - UINT64 MinimumLogLength; /* Minimum length for the event log area */ - UINT64 LogAddress; /* Address of the event log area */ - UINT16 SpecRevision; - UINT8 DeviceFlags; - UINT8 InterruptFlags; - UINT8 GpeNumber; - UINT8 Reserved2[3]; - UINT32 GlobalInterrupt; - ACPI_GENERIC_ADDRESS Address; - UINT32 Reserved3; - ACPI_GENERIC_ADDRESS ConfigAddress; - UINT8 Group; - UINT8 Bus; /* PCI Bus/Segment/Function numbers */ - UINT8 Device; - UINT8 Function; - -} ACPI_TABLE_TCPA_SERVER; - -/* Values for DeviceFlags above */ - -#define ACPI_TCPA_PCI_DEVICE (1) -#define ACPI_TCPA_BUS_PNP (1<<1) -#define ACPI_TCPA_ADDRESS_VALID (1<<2) - -/* Values for InterruptFlags above */ - -#define ACPI_TCPA_INTERRUPT_MODE (1) -#define ACPI_TCPA_INTERRUPT_POLARITY (1<<1) -#define ACPI_TCPA_SCI_VIA_GPE (1<<2) -#define ACPI_TCPA_GLOBAL_INTERRUPT (1<<3) - - -/******************************************************************************* - * - * TPM2 - Trusted Platform Module (TPM) 2.0 Hardware Interface Table - * Version 4 - * - * TCG Hardware Interface Table for TPM 2.0 Clients and Servers - * - * Conforms to "TCG ACPI Specification, Family 1.2 and 2.0", - * Version 1.2, Revision 8 - * February 27, 2017 - * - ******************************************************************************/ - -/* Revision 3 */ - -typedef struct acpi_table_tpm23 -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Reserved; - UINT64 ControlAddress; - UINT32 StartMethod; - -} ACPI_TABLE_TPM23; - -/* Value for StartMethod above */ - -#define ACPI_TPM23_ACPI_START_METHOD 2 - -/* - * Optional trailer for revision 3. If start method is 2, there is a 4 byte - * reserved area of all zeros. - */ -typedef struct acpi_tmp23_trailer -{ - UINT32 Reserved; - -} ACPI_TPM23_TRAILER; - - -/* Revision 4 */ - -typedef struct acpi_table_tpm2 -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 PlatformClass; - UINT16 Reserved; - UINT64 ControlAddress; - UINT32 StartMethod; - - /* Platform-specific data follows */ - -} ACPI_TABLE_TPM2; - -/* Values for StartMethod above */ - -#define ACPI_TPM2_NOT_ALLOWED 0 -#define ACPI_TPM2_RESERVED1 1 -#define ACPI_TPM2_START_METHOD 2 -#define ACPI_TPM2_RESERVED3 3 -#define ACPI_TPM2_RESERVED4 4 -#define ACPI_TPM2_RESERVED5 5 -#define ACPI_TPM2_MEMORY_MAPPED 6 -#define ACPI_TPM2_COMMAND_BUFFER 7 -#define ACPI_TPM2_COMMAND_BUFFER_WITH_START_METHOD 8 -#define ACPI_TPM2_RESERVED9 9 -#define ACPI_TPM2_RESERVED10 10 -#define ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC 11 /* V1.2 Rev 8 */ -#define ACPI_TPM2_RESERVED 12 - - -/* Optional trailer appears after any StartMethod subtables */ - -typedef struct acpi_tpm2_trailer -{ - UINT8 MethodParameters[12]; - UINT32 MinimumLogLength; /* Minimum length for the event log area */ - UINT64 LogAddress; /* Address of the event log area */ - -} ACPI_TPM2_TRAILER; - - -/* - * Subtables (StartMethod-specific) - */ - -/* 11: Start Method for ARM SMC (V1.2 Rev 8) */ - -typedef struct acpi_tpm2_arm_smc -{ - UINT32 GlobalInterrupt; - UINT8 InterruptFlags; - UINT8 OperationFlags; - UINT16 Reserved; - UINT32 FunctionId; - -} ACPI_TPM2_ARM_SMC; - -/* Values for InterruptFlags above */ - -#define ACPI_TPM2_INTERRUPT_SUPPORT (1) - -/* Values for OperationFlags above */ - -#define ACPI_TPM2_IDLE_SUPPORT (1) - - -/******************************************************************************* - * - * UEFI - UEFI Boot optimization Table - * Version 1 - * - * Conforms to "Unified Extensible Firmware Interface Specification", - * Version 2.3, May 8, 2009 - * - ******************************************************************************/ - -typedef struct acpi_table_uefi -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT8 Identifier[16]; /* UUID identifier */ - UINT16 DataOffset; /* Offset of remaining data in table */ - -} ACPI_TABLE_UEFI; - - -/******************************************************************************* - * - * VIOT - Virtual I/O Translation Table - * Version 1 - * - ******************************************************************************/ - -typedef struct acpi_table_viot -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 NodeCount; - UINT16 NodeOffset; - UINT8 Reserved[8]; - -} ACPI_TABLE_VIOT; - -/* VIOT subtable header */ - -typedef struct acpi_viot_header -{ - UINT8 Type; - UINT8 Reserved; - UINT16 Length; - -} ACPI_VIOT_HEADER; - -/* Values for Type field above */ - -enum AcpiViotNodeType -{ - ACPI_VIOT_NODE_PCI_RANGE = 0x01, - ACPI_VIOT_NODE_MMIO = 0x02, - ACPI_VIOT_NODE_VIRTIO_IOMMU_PCI = 0x03, - ACPI_VIOT_NODE_VIRTIO_IOMMU_MMIO = 0x04, - ACPI_VIOT_RESERVED = 0x05 -}; - -/* VIOT subtables */ - -typedef struct acpi_viot_pci_range -{ - ACPI_VIOT_HEADER Header; - UINT32 EndpointStart; - UINT16 SegmentStart; - UINT16 SegmentEnd; - UINT16 BdfStart; - UINT16 BdfEnd; - UINT16 OutputNode; - UINT8 Reserved[6]; - -} ACPI_VIOT_PCI_RANGE; - -typedef struct acpi_viot_mmio -{ - ACPI_VIOT_HEADER Header; - UINT32 Endpoint; - UINT64 BaseAddress; - UINT16 OutputNode; - UINT8 Reserved[6]; - -} ACPI_VIOT_MMIO; - -typedef struct acpi_viot_virtio_iommu_pci -{ - ACPI_VIOT_HEADER Header; - UINT16 Segment; - UINT16 Bdf; - UINT8 Reserved[8]; - -} ACPI_VIOT_VIRTIO_IOMMU_PCI; - -typedef struct acpi_viot_virtio_iommu_mmio -{ - ACPI_VIOT_HEADER Header; - UINT8 Reserved[4]; - UINT64 BaseAddress; - -} ACPI_VIOT_VIRTIO_IOMMU_MMIO; - - -/******************************************************************************* - * - * WAET - Windows ACPI Emulated devices Table - * Version 1 - * - * Conforms to "Windows ACPI Emulated Devices Table", version 1.0, April 6, 2009 - * - ******************************************************************************/ - -typedef struct acpi_table_waet -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 Flags; - -} ACPI_TABLE_WAET; - -/* Masks for Flags field above */ - -#define ACPI_WAET_RTC_NO_ACK (1) /* RTC requires no int acknowledge */ -#define ACPI_WAET_TIMER_ONE_READ (1<<1) /* PM timer requires only one read */ - - -/******************************************************************************* - * - * WDAT - Watchdog Action Table - * Version 1 - * - * Conforms to "Hardware Watchdog Timers Design Specification", - * Copyright 2006 Microsoft Corporation. - * - ******************************************************************************/ - -typedef struct acpi_table_wdat -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 HeaderLength; /* Watchdog Header Length */ - UINT16 PciSegment; /* PCI Segment number */ - UINT8 PciBus; /* PCI Bus number */ - UINT8 PciDevice; /* PCI Device number */ - UINT8 PciFunction; /* PCI Function number */ - UINT8 Reserved[3]; - UINT32 TimerPeriod; /* Period of one timer count (msec) */ - UINT32 MaxCount; /* Maximum counter value supported */ - UINT32 MinCount; /* Minimum counter value */ - UINT8 Flags; - UINT8 Reserved2[3]; - UINT32 Entries; /* Number of watchdog entries that follow */ - -} ACPI_TABLE_WDAT; - -/* Masks for Flags field above */ - -#define ACPI_WDAT_ENABLED (1) -#define ACPI_WDAT_STOPPED 0x80 - - -/* WDAT Instruction Entries (actions) */ - -typedef struct acpi_wdat_entry -{ - UINT8 Action; - UINT8 Instruction; - UINT16 Reserved; - ACPI_GENERIC_ADDRESS RegisterRegion; - UINT32 Value; /* Value used with Read/Write register */ - UINT32 Mask; /* Bitmask required for this register instruction */ - -} ACPI_WDAT_ENTRY; - -/* Values for Action field above */ - -enum AcpiWdatActions -{ - ACPI_WDAT_RESET = 1, - ACPI_WDAT_GET_CURRENT_COUNTDOWN = 4, - ACPI_WDAT_GET_COUNTDOWN = 5, - ACPI_WDAT_SET_COUNTDOWN = 6, - ACPI_WDAT_GET_RUNNING_STATE = 8, - ACPI_WDAT_SET_RUNNING_STATE = 9, - ACPI_WDAT_GET_STOPPED_STATE = 10, - ACPI_WDAT_SET_STOPPED_STATE = 11, - ACPI_WDAT_GET_REBOOT = 16, - ACPI_WDAT_SET_REBOOT = 17, - ACPI_WDAT_GET_SHUTDOWN = 18, - ACPI_WDAT_SET_SHUTDOWN = 19, - ACPI_WDAT_GET_STATUS = 32, - ACPI_WDAT_SET_STATUS = 33, - ACPI_WDAT_ACTION_RESERVED = 34 /* 34 and greater are reserved */ -}; - -/* Values for Instruction field above */ - -enum AcpiWdatInstructions -{ - ACPI_WDAT_READ_VALUE = 0, - ACPI_WDAT_READ_COUNTDOWN = 1, - ACPI_WDAT_WRITE_VALUE = 2, - ACPI_WDAT_WRITE_COUNTDOWN = 3, - ACPI_WDAT_INSTRUCTION_RESERVED = 4, /* 4 and greater are reserved */ - ACPI_WDAT_PRESERVE_REGISTER = 0x80 /* Except for this value */ -}; - - -/******************************************************************************* - * - * WDDT - Watchdog Descriptor Table - * Version 1 - * - * Conforms to "Using the Intel ICH Family Watchdog Timer (WDT)", - * Version 001, September 2002 - * - ******************************************************************************/ - -typedef struct acpi_table_wddt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT16 SpecVersion; - UINT16 TableVersion; - UINT16 PciVendorId; - ACPI_GENERIC_ADDRESS Address; - UINT16 MaxCount; /* Maximum counter value supported */ - UINT16 MinCount; /* Minimum counter value supported */ - UINT16 Period; - UINT16 Status; - UINT16 Capability; - -} ACPI_TABLE_WDDT; - -/* Flags for Status field above */ - -#define ACPI_WDDT_AVAILABLE (1) -#define ACPI_WDDT_ACTIVE (1<<1) -#define ACPI_WDDT_TCO_OS_OWNED (1<<2) -#define ACPI_WDDT_USER_RESET (1<<11) -#define ACPI_WDDT_WDT_RESET (1<<12) -#define ACPI_WDDT_POWER_FAIL (1<<13) -#define ACPI_WDDT_UNKNOWN_RESET (1<<14) - -/* Flags for Capability field above */ - -#define ACPI_WDDT_AUTO_RESET (1) -#define ACPI_WDDT_ALERT_SUPPORT (1<<1) - - -/******************************************************************************* - * - * WDRT - Watchdog Resource Table - * Version 1 - * - * Conforms to "Watchdog Timer Hardware Requirements for Windows Server 2003", - * Version 1.01, August 28, 2006 - * - ******************************************************************************/ - -typedef struct acpi_table_wdrt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - ACPI_GENERIC_ADDRESS ControlRegister; - ACPI_GENERIC_ADDRESS CountRegister; - UINT16 PciDeviceId; - UINT16 PciVendorId; - UINT8 PciBus; /* PCI Bus number */ - UINT8 PciDevice; /* PCI Device number */ - UINT8 PciFunction; /* PCI Function number */ - UINT8 PciSegment; /* PCI Segment number */ - UINT16 MaxCount; /* Maximum counter value supported */ - UINT8 Units; - -} ACPI_TABLE_WDRT; - - -/******************************************************************************* - * - * WPBT - Windows Platform Environment Table (ACPI 6.0) - * Version 1 - * - * Conforms to "Windows Platform Binary Table (WPBT)" 29 November 2011 - * - ******************************************************************************/ - -typedef struct acpi_table_wpbt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 HandoffSize; - UINT64 HandoffAddress; - UINT8 Layout; - UINT8 Type; - UINT16 ArgumentsLength; - -} ACPI_TABLE_WPBT; - -typedef struct acpi_wpbt_unicode -{ - UINT16 *UnicodeString; - -} ACPI_WPBT_UNICODE; - - -/******************************************************************************* - * - * WSMT - Windows SMM Security Mitigations Table - * Version 1 - * - * Conforms to "Windows SMM Security Mitigations Table", - * Version 1.0, April 18, 2016 - * - ******************************************************************************/ - -typedef struct acpi_table_wsmt -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT32 ProtectionFlags; - -} ACPI_TABLE_WSMT; - -/* Flags for ProtectionFlags field above */ - -#define ACPI_WSMT_FIXED_COMM_BUFFERS (1) -#define ACPI_WSMT_COMM_BUFFER_NESTED_PTR_PROTECTION (2) -#define ACPI_WSMT_SYSTEM_RESOURCE_PROTECTION (4) - - -/******************************************************************************* - * - * XENV - Xen Environment Table (ACPI 6.0) - * Version 1 - * - * Conforms to "ACPI Specification for Xen Environment Table" 4 January 2015 - * - ******************************************************************************/ - -typedef struct acpi_table_xenv -{ - ACPI_TABLE_HEADER Header; /* Common ACPI table header */ - UINT64 GrantTableAddress; - UINT64 GrantTableSize; - UINT32 EventInterrupt; - UINT8 EventFlags; - -} ACPI_TABLE_XENV; - - -/* Reset to default packing */ - -#pragma pack() - -#endif /* __ACTBL3_H__ */ diff --git a/Private/acpiSDK/source/include/actypes.h b/Private/acpiSDK/source/include/actypes.h deleted file mode 100644 index 93382052..00000000 --- a/Private/acpiSDK/source/include/actypes.h +++ /dev/null @@ -1,1580 +0,0 @@ -/****************************************************************************** - * - * Name: actypes.h - Common data types for the entire ACPI subsystem - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACTYPES_H__ -#define __ACTYPES_H__ - -/* acpisrc:StructDefs -- for acpisrc conversion */ - -/* - * ACPI_MACHINE_WIDTH must be specified in an OS- or compiler-dependent - * header and must be either 32 or 64. 16-bit ACPICA is no longer - * supported, as of 12/2006. - */ -#ifndef ACPI_MACHINE_WIDTH -#error ACPI_MACHINE_WIDTH not defined -#endif - -/* - * Data type ranges - * Note: These macros are designed to be compiler independent as well as - * working around problems that some 32-bit compilers have with 64-bit - * constants. - */ -#define ACPI_UINT8_MAX (UINT8) (~((UINT8) 0)) /* 0xFF */ -#define ACPI_UINT16_MAX (UINT16)(~((UINT16) 0)) /* 0xFFFF */ -#define ACPI_UINT32_MAX (UINT32)(~((UINT32) 0)) /* 0xFFFFFFFF */ -#define ACPI_UINT64_MAX (UINT64)(~((UINT64) 0)) /* 0xFFFFFFFFFFFFFFFF */ -#define ACPI_ASCII_MAX 0x7F - - -/* - * Architecture-specific ACPICA Subsystem Data Types - * - * The goal of these types is to provide source code portability across - * 16-bit, 32-bit, and 64-bit targets. - * - * 1) The following types are of fixed size for all targets (16/32/64): - * - * BOOLEAN Logical boolean - * - * UINT8 8-bit (1 byte) unsigned value - * UINT16 16-bit (2 byte) unsigned value - * UINT32 32-bit (4 byte) unsigned value - * UINT64 64-bit (8 byte) unsigned value - * - * INT16 16-bit (2 byte) signed value - * INT32 32-bit (4 byte) signed value - * INT64 64-bit (8 byte) signed value - * - * COMPILER_DEPENDENT_UINT64/INT64 - These types are defined in the - * compiler-dependent header(s) and were introduced because there is no - * common 64-bit integer type across the various compilation models, as - * shown in the table below. - * - * Datatype LP64 ILP64 LLP64 ILP32 LP32 16bit - * char 8 8 8 8 8 8 - * short 16 16 16 16 16 16 - * _int32 32 - * int 32 64 32 32 16 16 - * long 64 64 32 32 32 32 - * long long 64 64 - * pointer 64 64 64 32 32 32 - * - * Note: ILP64 and LP32 are currently not supported. - * - * - * 2) These types represent the native word size of the target mode of the - * processor, and may be 16-bit, 32-bit, or 64-bit as required. They are - * usually used for memory allocation, efficient loop counters, and array - * indexes. The types are similar to the size_t type in the C library and - * are required because there is no C type that consistently represents the - * native data width. ACPI_SIZE is needed because there is no guarantee - * that a kernel-level C library is present. - * - * ACPI_SIZE 16/32/64-bit unsigned value - * ACPI_NATIVE_INT 16/32/64-bit signed value - */ - -/******************************************************************************* - * - * Common types for all compilers, all targets - * - ******************************************************************************/ - -#ifndef ACPI_USE_SYSTEM_INTTYPES - -typedef unsigned char BOOLEAN; -typedef unsigned char UINT8; -typedef unsigned short UINT16; -typedef short INT16; -typedef COMPILER_DEPENDENT_UINT64 UINT64; -typedef COMPILER_DEPENDENT_INT64 INT64; - -#endif /* ACPI_USE_SYSTEM_INTTYPES */ - -/* - * Value returned by AcpiOsGetThreadId. There is no standard "thread_id" - * across operating systems or even the various UNIX systems. Since ACPICA - * only needs the thread ID as a unique thread identifier, we use a UINT64 - * as the only common data type - it will accommodate any type of pointer or - * any type of integer. It is up to the host-dependent OSL to cast the - * native thread ID type to a UINT64 (in AcpiOsGetThreadId). - */ -#define ACPI_THREAD_ID UINT64 - - -/******************************************************************************* - * - * Types specific to 64-bit targets - * - ******************************************************************************/ - -#if ACPI_MACHINE_WIDTH == 64 - -#ifndef ACPI_USE_SYSTEM_INTTYPES - -typedef unsigned int UINT32; -typedef int INT32; - -#endif /* ACPI_USE_SYSTEM_INTTYPES */ - - -typedef INT64 ACPI_NATIVE_INT; -typedef UINT64 ACPI_SIZE; -typedef UINT64 ACPI_IO_ADDRESS; -typedef UINT64 ACPI_PHYSICAL_ADDRESS; - -#define ACPI_MAX_PTR ACPI_UINT64_MAX -#define ACPI_SIZE_MAX ACPI_UINT64_MAX -#define ACPI_USE_NATIVE_DIVIDE /* Has native 64-bit integer support */ -#define ACPI_USE_NATIVE_MATH64 /* Has native 64-bit integer support */ - -/* - * In the case of the Itanium Processor Family (IPF), the hardware does not - * support misaligned memory transfers. Set the MISALIGNMENT_NOT_SUPPORTED - * flag to indicate that special precautions must be taken to avoid alignment - * faults. (IA64 or ia64 is currently used by existing compilers to indicate - * IPF.) - * - * Note: EM64T and other X86-64 processors support misaligned transfers, - * so there is no need to define this flag. - */ -#if defined (__IA64__) || defined (__ia64__) -#define ACPI_MISALIGNMENT_NOT_SUPPORTED -#endif - - -/******************************************************************************* - * - * Types specific to 32-bit targets - * - ******************************************************************************/ - -#elif ACPI_MACHINE_WIDTH == 32 - -#ifndef ACPI_USE_SYSTEM_INTTYPES - -typedef unsigned int UINT32; -typedef int INT32; - -#endif /* ACPI_USE_SYSTEM_INTTYPES */ - - -typedef INT32 ACPI_NATIVE_INT; -typedef UINT32 ACPI_SIZE; - -#ifdef ACPI_32BIT_PHYSICAL_ADDRESS - -/* - * OSPMs can define this to shrink the size of the structures for 32-bit - * none PAE environment. ASL compiler may always define this to generate - * 32-bit OSPM compliant tables. - */ -typedef UINT32 ACPI_IO_ADDRESS; -typedef UINT32 ACPI_PHYSICAL_ADDRESS; - -#else /* ACPI_32BIT_PHYSICAL_ADDRESS */ - -/* - * It is reported that, after some calculations, the physical addresses can - * wrap over the 32-bit boundary on 32-bit PAE environment. - * https://bugzilla.kernel.org/show_bug.cgi?id=87971 - */ -typedef UINT64 ACPI_IO_ADDRESS; -typedef UINT64 ACPI_PHYSICAL_ADDRESS; - -#endif /* ACPI_32BIT_PHYSICAL_ADDRESS */ - -#define ACPI_MAX_PTR ACPI_UINT32_MAX -#define ACPI_SIZE_MAX ACPI_UINT32_MAX - -#else - -/* ACPI_MACHINE_WIDTH must be either 64 or 32 */ - -#error unknown ACPI_MACHINE_WIDTH -#endif - - -/******************************************************************************* - * - * OS-dependent types - * - * If the defaults below are not appropriate for the host system, they can - * be defined in the OS-specific header, and this will take precedence. - * - ******************************************************************************/ - -/* Flags for AcpiOsAcquireLock/AcpiOsReleaseLock */ - -#ifndef ACPI_CPU_FLAGS -#define ACPI_CPU_FLAGS ACPI_SIZE -#endif - -/* Object returned from AcpiOsCreateCache */ - -#ifndef ACPI_CACHE_T -#ifdef ACPI_USE_LOCAL_CACHE -#define ACPI_CACHE_T ACPI_MEMORY_LIST -#else -#define ACPI_CACHE_T void * -#endif -#endif - -/* - * Synchronization objects - Mutexes, Semaphores, and SpinLocks - */ -#if (ACPI_MUTEX_TYPE == ACPI_BINARY_SEMAPHORE) -/* - * These macros are used if the host OS does not support a mutex object. - * Map the OSL Mutex interfaces to binary semaphores. - */ -#define ACPI_MUTEX ACPI_SEMAPHORE -#define AcpiOsCreateMutex(OutHandle) AcpiOsCreateSemaphore (1, 1, OutHandle) -#define AcpiOsDeleteMutex(Handle) (void) AcpiOsDeleteSemaphore (Handle) -#define AcpiOsAcquireMutex(Handle,Time) AcpiOsWaitSemaphore (Handle, 1, Time) -#define AcpiOsReleaseMutex(Handle) (void) AcpiOsSignalSemaphore (Handle, 1) -#endif - -/* Configurable types for synchronization objects */ - -#ifndef ACPI_SPINLOCK -#define ACPI_SPINLOCK void * -#endif - -#ifndef ACPI_SEMAPHORE -#define ACPI_SEMAPHORE void * -#endif - -#ifndef ACPI_MUTEX -#define ACPI_MUTEX void * -#endif - - -/******************************************************************************* - * - * Compiler-dependent types - * - * If the defaults below are not appropriate for the host compiler, they can - * be defined in the compiler-specific header, and this will take precedence. - * - ******************************************************************************/ - -/* Use C99 uintptr_t for pointer casting if available, "void *" otherwise */ - -#ifndef ACPI_UINTPTR_T -#define ACPI_UINTPTR_T void * -#endif - -/* - * ACPI_PRINTF_LIKE is used to tag functions as "printf-like" because - * some compilers can catch printf format string problems - */ -#ifndef ACPI_PRINTF_LIKE -#define ACPI_PRINTF_LIKE(c) -#endif - -/* - * Some compilers complain about unused variables. Sometimes we don't want - * to use all the variables (for example, _AcpiModuleName). This allows us - * to tell the compiler in a per-variable manner that a variable - * is unused - */ -#ifndef ACPI_UNUSED_VAR -#define ACPI_UNUSED_VAR -#endif - -/* - * All ACPICA external functions that are available to the rest of the - * kernel are tagged with these macros which can be defined as appropriate - * for the host. - * - * Notes: - * ACPI_EXPORT_SYMBOL_INIT is used for initialization and termination - * interfaces that may need special processing. - * ACPI_EXPORT_SYMBOL is used for all other public external functions. - */ -#ifndef ACPI_EXPORT_SYMBOL_INIT -#define ACPI_EXPORT_SYMBOL_INIT(Symbol) -#endif - -#ifndef ACPI_EXPORT_SYMBOL -#define ACPI_EXPORT_SYMBOL(Symbol) -#endif - -/* - * Compiler/Clibrary-dependent debug initialization. Used for ACPICA - * utilities only. - */ -#ifndef ACPI_DEBUG_INITIALIZE -#define ACPI_DEBUG_INITIALIZE() -#endif - - -/******************************************************************************* - * - * Configuration - * - ******************************************************************************/ - -#ifdef ACPI_NO_MEM_ALLOCATIONS - -#define ACPI_ALLOCATE(a) NULL -#define ACPI_ALLOCATE_ZEROED(a) NULL -#define ACPI_FREE(a) -#define ACPI_MEM_TRACKING(a) - -#else /* ACPI_NO_MEM_ALLOCATIONS */ - -#ifdef ACPI_DBG_TRACK_ALLOCATIONS -/* - * Memory allocation tracking (used by AcpiExec to detect memory leaks) - */ -#define ACPI_MEM_PARAMETERS _COMPONENT, _AcpiModuleName, __LINE__ -#define ACPI_ALLOCATE(a) AcpiUtAllocateAndTrack ((ACPI_SIZE) (a), ACPI_MEM_PARAMETERS) -#define ACPI_ALLOCATE_ZEROED(a) AcpiUtAllocateZeroedAndTrack ((ACPI_SIZE) (a), ACPI_MEM_PARAMETERS) -#define ACPI_FREE(a) AcpiUtFreeAndTrack (a, ACPI_MEM_PARAMETERS) -#define ACPI_MEM_TRACKING(a) a - -#else -/* - * Normal memory allocation directly via the OS services layer - */ -#define ACPI_ALLOCATE(a) AcpiOsAllocate ((ACPI_SIZE) (a)) -#define ACPI_ALLOCATE_ZEROED(a) AcpiOsAllocateZeroed ((ACPI_SIZE) (a)) -#define ACPI_FREE(a) AcpiOsFree (a) -#define ACPI_MEM_TRACKING(a) - -#endif /* ACPI_DBG_TRACK_ALLOCATIONS */ - -#endif /* ACPI_NO_MEM_ALLOCATIONS */ - - -/****************************************************************************** - * - * ACPI Specification constants (Do not change unless the specification - * changes) - * - *****************************************************************************/ - -/* Number of distinct FADT-based GPE register blocks (GPE0 and GPE1) */ - -#define ACPI_MAX_GPE_BLOCKS 2 - -/* Default ACPI register widths */ - -#define ACPI_GPE_REGISTER_WIDTH 8 -#define ACPI_PM1_REGISTER_WIDTH 16 -#define ACPI_PM2_REGISTER_WIDTH 8 -#define ACPI_PM_TIMER_WIDTH 32 -#define ACPI_RESET_REGISTER_WIDTH 8 - -/* Names within the namespace are 4 bytes long */ - -#define ACPI_NAMESEG_SIZE 4 /* Fixed by ACPI spec */ -#define ACPI_PATH_SEGMENT_LENGTH 5 /* 4 chars for name + 1 char for separator */ -#define ACPI_PATH_SEPARATOR '.' - -/* Sizes for ACPI table headers */ - -#define ACPI_OEM_ID_SIZE 6 -#define ACPI_OEM_TABLE_ID_SIZE 8 - -/* ACPI/PNP hardware IDs */ - -#define PCI_ROOT_HID_STRING "PNP0A03" -#define PCI_EXPRESS_ROOT_HID_STRING "PNP0A08" - -/* PM Timer ticks per second (HZ) */ - -#define ACPI_PM_TIMER_FREQUENCY 3579545 - - -/******************************************************************************* - * - * Independent types - * - ******************************************************************************/ - -/* Logical defines and NULL */ - -#ifdef FALSE -#undef FALSE -#endif -#define FALSE (1 == 0) - -#ifdef TRUE -#undef TRUE -#endif -#define TRUE (1 == 1) - -#ifndef NULL -#define NULL (void *) 0 -#endif - - -/* - * Miscellaneous types - */ -typedef UINT32 ACPI_STATUS; /* All ACPI Exceptions */ -typedef UINT32 ACPI_NAME; /* 4-byte ACPI name */ -typedef char * ACPI_STRING; /* Null terminated ASCII string */ -typedef void * ACPI_HANDLE; /* Actually a ptr to a NS Node */ - - -/* Time constants for timer calculations */ - -#define ACPI_MSEC_PER_SEC 1000L - -#define ACPI_USEC_PER_MSEC 1000L -#define ACPI_USEC_PER_SEC 1000000L - -#define ACPI_100NSEC_PER_USEC 10L -#define ACPI_100NSEC_PER_MSEC 10000L -#define ACPI_100NSEC_PER_SEC 10000000L - -#define ACPI_NSEC_PER_USEC 1000L -#define ACPI_NSEC_PER_MSEC 1000000L -#define ACPI_NSEC_PER_SEC 1000000000L - -#define ACPI_TIME_AFTER(a, b) ((INT64)((b) - (a)) < 0) - - -/* Owner IDs are used to track namespace nodes for selective deletion */ - -typedef UINT16 ACPI_OWNER_ID; -#define ACPI_OWNER_ID_MAX 0xFFF /* 4095 possible owner IDs */ - - -#define ACPI_INTEGER_BIT_SIZE 64 -#define ACPI_MAX_DECIMAL_DIGITS 20 /* 2^64 = 18,446,744,073,709,551,616 */ -#define ACPI_MAX64_DECIMAL_DIGITS 20 -#define ACPI_MAX32_DECIMAL_DIGITS 10 -#define ACPI_MAX16_DECIMAL_DIGITS 5 -#define ACPI_MAX8_DECIMAL_DIGITS 3 - -/* - * Constants with special meanings - */ -#define ACPI_ROOT_OBJECT ((ACPI_HANDLE) ACPI_TO_POINTER (ACPI_MAX_PTR)) -#define ACPI_WAIT_FOREVER 0xFFFF /* UINT16, as per ACPI spec */ -#define ACPI_DO_NOT_WAIT 0 - -/* - * Obsolete: Acpi integer width. In ACPI version 1 (1996), integers are - * 32 bits. In ACPI version 2 (2000) and later, integers are max 64 bits. - * Note that this pertains to the ACPI integer type only, not to other - * integers used in the implementation of the ACPICA subsystem. - * - * 01/2010: This type is obsolete and has been removed from the entire ACPICA - * code base. It remains here for compatibility with device drivers that use - * the type. However, it will be removed in the future. - */ -typedef UINT64 ACPI_INTEGER; -#define ACPI_INTEGER_MAX ACPI_UINT64_MAX - - -/******************************************************************************* - * - * Commonly used macros - * - ******************************************************************************/ - -/* Data manipulation */ - -#define ACPI_LOBYTE(Integer) ((UINT8) (UINT16)(Integer)) -#define ACPI_HIBYTE(Integer) ((UINT8) (((UINT16)(Integer)) >> 8)) -#define ACPI_LOWORD(Integer) ((UINT16) (UINT32)(Integer)) -#define ACPI_HIWORD(Integer) ((UINT16)(((UINT32)(Integer)) >> 16)) -#define ACPI_LODWORD(Integer64) ((UINT32) (UINT64)(Integer64)) -#define ACPI_HIDWORD(Integer64) ((UINT32)(((UINT64)(Integer64)) >> 32)) - -#define ACPI_SET_BIT(target,bit) ((target) |= (bit)) -#define ACPI_CLEAR_BIT(target,bit) ((target) &= ~(bit)) -#define ACPI_MIN(a,b) (((a)<(b))?(a):(b)) -#define ACPI_MAX(a,b) (((a)>(b))?(a):(b)) - -/* Size calculation */ - -#define ACPI_ARRAY_LENGTH(x) (sizeof(x) / sizeof((x)[0])) - -/* Pointer manipulation */ - -#define ACPI_CAST_PTR(t, p) ((t *) (ACPI_UINTPTR_T) (p)) -#define ACPI_CAST_INDIRECT_PTR(t, p) ((t **) (ACPI_UINTPTR_T) (p)) -#define ACPI_ADD_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) + (ACPI_SIZE)(b))) -#define ACPI_SUB_PTR(t, a, b) ACPI_CAST_PTR (t, (ACPI_CAST_PTR (UINT8, (a)) - (ACPI_SIZE)(b))) -#define ACPI_PTR_DIFF(a, b) ((ACPI_SIZE) (ACPI_CAST_PTR (UINT8, (a)) - ACPI_CAST_PTR (UINT8, (b)))) - -/* Pointer/Integer type conversions */ - -#define ACPI_TO_POINTER(i) ACPI_CAST_PTR (void, (ACPI_SIZE) (i)) -#ifndef ACPI_TO_INTEGER -#define ACPI_TO_INTEGER(p) ACPI_PTR_DIFF (p, (void *) 0) -#endif -#ifndef ACPI_OFFSET -#define ACPI_OFFSET(d, f) ACPI_PTR_DIFF (&(((d *) 0)->f), (void *) 0) -#endif -#define ACPI_PTR_TO_PHYSADDR(i) ACPI_TO_INTEGER(i) - -/* Optimizations for 4-character (32-bit) ACPI_NAME manipulation */ - -#ifndef ACPI_MISALIGNMENT_NOT_SUPPORTED -#define ACPI_COMPARE_NAMESEG(a,b) (*ACPI_CAST_PTR (UINT32, (a)) == *ACPI_CAST_PTR (UINT32, (b))) -#define ACPI_COPY_NAMESEG(dest,src) (*ACPI_CAST_PTR (UINT32, (dest)) = *ACPI_CAST_PTR (UINT32, (src))) -#else -#define ACPI_COMPARE_NAMESEG(a,b) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_CAST_PTR (char, (b)), ACPI_NAMESEG_SIZE)) -#define ACPI_COPY_NAMESEG(dest,src) (strncpy (ACPI_CAST_PTR (char, (dest)), ACPI_CAST_PTR (char, (src)), ACPI_NAMESEG_SIZE)) -#endif - -/* Support for the special RSDP signature (8 characters) */ - -#define ACPI_VALIDATE_RSDP_SIG(a) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_SIG_RSDP, 8)) -#define ACPI_MAKE_RSDP_SIG(dest) (memcpy (ACPI_CAST_PTR (char, (dest)), ACPI_SIG_RSDP, 8)) - -/* Support for OEMx signature (x can be any character) */ -#define ACPI_IS_OEM_SIG(a) (!strncmp (ACPI_CAST_PTR (char, (a)), ACPI_OEM_NAME, 3) &&\ - strnlen (a, ACPI_NAMESEG_SIZE) == ACPI_NAMESEG_SIZE) - -/* - * Algorithm to obtain access bit or byte width. - * Can be used with AccessSize field of ACPI_GENERIC_ADDRESS and - * ACPI_RESOURCE_GENERIC_REGISTER. - */ -#define ACPI_ACCESS_BIT_SHIFT 2 -#define ACPI_ACCESS_BYTE_SHIFT -1 -#define ACPI_ACCESS_BIT_MAX (31 - ACPI_ACCESS_BIT_SHIFT) -#define ACPI_ACCESS_BYTE_MAX (31 - ACPI_ACCESS_BYTE_SHIFT) -#define ACPI_ACCESS_BIT_DEFAULT (8 - ACPI_ACCESS_BIT_SHIFT) -#define ACPI_ACCESS_BYTE_DEFAULT (8 - ACPI_ACCESS_BYTE_SHIFT) -#define ACPI_ACCESS_BIT_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BIT_SHIFT)) -#define ACPI_ACCESS_BYTE_WIDTH(size) (1 << ((size) + ACPI_ACCESS_BYTE_SHIFT)) - -/******************************************************************************* - * - * Miscellaneous constants - * - ******************************************************************************/ - -/* - * Initialization sequence options - */ -#define ACPI_FULL_INITIALIZATION 0x0000 -#define ACPI_NO_FACS_INIT 0x0001 -#define ACPI_NO_ACPI_ENABLE 0x0002 -#define ACPI_NO_HARDWARE_INIT 0x0004 -#define ACPI_NO_EVENT_INIT 0x0008 -#define ACPI_NO_HANDLER_INIT 0x0010 -#define ACPI_NO_OBJECT_INIT 0x0020 -#define ACPI_NO_DEVICE_INIT 0x0040 -#define ACPI_NO_ADDRESS_SPACE_INIT 0x0080 - -/* - * Initialization state - */ -#define ACPI_SUBSYSTEM_INITIALIZE 0x01 -#define ACPI_INITIALIZED_OK 0x02 - -/* - * Power state values - */ -#define ACPI_STATE_UNKNOWN (UINT8) 0xFF - -#define ACPI_STATE_S0 (UINT8) 0 -#define ACPI_STATE_S1 (UINT8) 1 -#define ACPI_STATE_S2 (UINT8) 2 -#define ACPI_STATE_S3 (UINT8) 3 -#define ACPI_STATE_S4 (UINT8) 4 -#define ACPI_STATE_S5 (UINT8) 5 -#define ACPI_S_STATES_MAX ACPI_STATE_S5 -#define ACPI_S_STATE_COUNT 6 - -#define ACPI_STATE_D0 (UINT8) 0 -#define ACPI_STATE_D1 (UINT8) 1 -#define ACPI_STATE_D2 (UINT8) 2 -#define ACPI_STATE_D3 (UINT8) 3 -#define ACPI_D_STATES_MAX ACPI_STATE_D3 -#define ACPI_D_STATE_COUNT 4 - -#define ACPI_STATE_C0 (UINT8) 0 -#define ACPI_STATE_C1 (UINT8) 1 -#define ACPI_STATE_C2 (UINT8) 2 -#define ACPI_STATE_C3 (UINT8) 3 -#define ACPI_C_STATES_MAX ACPI_STATE_C3 -#define ACPI_C_STATE_COUNT 4 - -/* - * Sleep type invalid value - */ -#define ACPI_SLEEP_TYPE_MAX 0x7 -#define ACPI_SLEEP_TYPE_INVALID 0xFF - -/* - * Standard notify values - */ -#define ACPI_NOTIFY_BUS_CHECK (UINT8) 0x00 -#define ACPI_NOTIFY_DEVICE_CHECK (UINT8) 0x01 -#define ACPI_NOTIFY_DEVICE_WAKE (UINT8) 0x02 -#define ACPI_NOTIFY_EJECT_REQUEST (UINT8) 0x03 -#define ACPI_NOTIFY_DEVICE_CHECK_LIGHT (UINT8) 0x04 -#define ACPI_NOTIFY_FREQUENCY_MISMATCH (UINT8) 0x05 -#define ACPI_NOTIFY_BUS_MODE_MISMATCH (UINT8) 0x06 -#define ACPI_NOTIFY_POWER_FAULT (UINT8) 0x07 -#define ACPI_NOTIFY_CAPABILITIES_CHECK (UINT8) 0x08 -#define ACPI_NOTIFY_DEVICE_PLD_CHECK (UINT8) 0x09 -#define ACPI_NOTIFY_RESERVED (UINT8) 0x0A -#define ACPI_NOTIFY_LOCALITY_UPDATE (UINT8) 0x0B -#define ACPI_NOTIFY_SHUTDOWN_REQUEST (UINT8) 0x0C -#define ACPI_NOTIFY_AFFINITY_UPDATE (UINT8) 0x0D -#define ACPI_NOTIFY_MEMORY_UPDATE (UINT8) 0x0E -#define ACPI_NOTIFY_DISCONNECT_RECOVER (UINT8) 0x0F - -#define ACPI_GENERIC_NOTIFY_MAX 0x0F -#define ACPI_SPECIFIC_NOTIFY_MAX 0x84 - -/* - * Types associated with ACPI names and objects. The first group of - * values (up to ACPI_TYPE_EXTERNAL_MAX) correspond to the definition - * of the ACPI ObjectType() operator (See the ACPI Spec). Therefore, - * only add to the first group if the spec changes. - * - * NOTE: Types must be kept in sync with the global AcpiNsProperties - * and AcpiNsTypeNames arrays. - */ -typedef UINT32 ACPI_OBJECT_TYPE; - -#define ACPI_TYPE_ANY 0x00 -#define ACPI_TYPE_INTEGER 0x01 /* Byte/Word/Dword/Zero/One/Ones */ -#define ACPI_TYPE_STRING 0x02 -#define ACPI_TYPE_BUFFER 0x03 -#define ACPI_TYPE_PACKAGE 0x04 /* ByteConst, multiple DataTerm/Constant/SuperName */ -#define ACPI_TYPE_FIELD_UNIT 0x05 -#define ACPI_TYPE_DEVICE 0x06 /* Name, multiple Node */ -#define ACPI_TYPE_EVENT 0x07 -#define ACPI_TYPE_METHOD 0x08 /* Name, ByteConst, multiple Code */ -#define ACPI_TYPE_MUTEX 0x09 -#define ACPI_TYPE_REGION 0x0A -#define ACPI_TYPE_POWER 0x0B /* Name,ByteConst,WordConst,multi Node */ -#define ACPI_TYPE_PROCESSOR 0x0C /* Name,ByteConst,DWordConst,ByteConst,multi NmO */ -#define ACPI_TYPE_THERMAL 0x0D /* Name, multiple Node */ -#define ACPI_TYPE_BUFFER_FIELD 0x0E -#define ACPI_TYPE_DDB_HANDLE 0x0F -#define ACPI_TYPE_DEBUG_OBJECT 0x10 - -#define ACPI_TYPE_EXTERNAL_MAX 0x10 -#define ACPI_NUM_TYPES (ACPI_TYPE_EXTERNAL_MAX + 1) - -/* - * These are object types that do not map directly to the ACPI - * ObjectType() operator. They are used for various internal purposes - * only. If new predefined ACPI_TYPEs are added (via the ACPI - * specification), these internal types must move upwards. (There - * is code that depends on these values being contiguous with the - * external types above.) - */ -#define ACPI_TYPE_LOCAL_REGION_FIELD 0x11 -#define ACPI_TYPE_LOCAL_BANK_FIELD 0x12 -#define ACPI_TYPE_LOCAL_INDEX_FIELD 0x13 -#define ACPI_TYPE_LOCAL_REFERENCE 0x14 /* Arg#, Local#, Name, Debug, RefOf, Index */ -#define ACPI_TYPE_LOCAL_ALIAS 0x15 -#define ACPI_TYPE_LOCAL_METHOD_ALIAS 0x16 -#define ACPI_TYPE_LOCAL_NOTIFY 0x17 -#define ACPI_TYPE_LOCAL_ADDRESS_HANDLER 0x18 -#define ACPI_TYPE_LOCAL_RESOURCE 0x19 -#define ACPI_TYPE_LOCAL_RESOURCE_FIELD 0x1A -#define ACPI_TYPE_LOCAL_SCOPE 0x1B /* 1 Name, multiple ObjectList Nodes */ - -#define ACPI_TYPE_NS_NODE_MAX 0x1B /* Last typecode used within a NS Node */ -#define ACPI_TOTAL_TYPES (ACPI_TYPE_NS_NODE_MAX + 1) - -/* - * These are special object types that never appear in - * a Namespace node, only in an object of ACPI_OPERAND_OBJECT - */ -#define ACPI_TYPE_LOCAL_EXTRA 0x1C -#define ACPI_TYPE_LOCAL_DATA 0x1D - -#define ACPI_TYPE_LOCAL_MAX 0x1D - -/* All types above here are invalid */ - -#define ACPI_TYPE_INVALID 0x1E -#define ACPI_TYPE_NOT_FOUND 0xFF - -#define ACPI_NUM_NS_TYPES (ACPI_TYPE_INVALID + 1) - - -/* - * All I/O - */ -#define ACPI_READ 0 -#define ACPI_WRITE 1 -#define ACPI_IO_MASK 1 - -/* - * Event Types: Fixed & General Purpose - */ -typedef UINT32 ACPI_EVENT_TYPE; - -/* - * Fixed events - */ -#define ACPI_EVENT_PMTIMER 0 -#define ACPI_EVENT_GLOBAL 1 -#define ACPI_EVENT_POWER_BUTTON 2 -#define ACPI_EVENT_SLEEP_BUTTON 3 -#define ACPI_EVENT_RTC 4 -#define ACPI_EVENT_MAX 4 -#define ACPI_NUM_FIXED_EVENTS ACPI_EVENT_MAX + 1 - -/* - * Event Status - Per event - * ------------- - * The encoding of ACPI_EVENT_STATUS is illustrated below. - * Note that a set bit (1) indicates the property is TRUE - * (e.g. if bit 0 is set then the event is enabled). - * +-------------+-+-+-+-+-+-+ - * | Bits 31:6 |5|4|3|2|1|0| - * +-------------+-+-+-+-+-+-+ - * | | | | | | | - * | | | | | | +- Enabled? - * | | | | | +--- Enabled for wake? - * | | | | +----- Status bit set? - * | | | +------- Enable bit set? - * | | +--------- Has a handler? - * | +----------- Masked? - * +----------------- <Reserved> - */ -typedef UINT32 ACPI_EVENT_STATUS; - -#define ACPI_EVENT_FLAG_DISABLED (ACPI_EVENT_STATUS) 0x00 -#define ACPI_EVENT_FLAG_ENABLED (ACPI_EVENT_STATUS) 0x01 -#define ACPI_EVENT_FLAG_WAKE_ENABLED (ACPI_EVENT_STATUS) 0x02 -#define ACPI_EVENT_FLAG_STATUS_SET (ACPI_EVENT_STATUS) 0x04 -#define ACPI_EVENT_FLAG_ENABLE_SET (ACPI_EVENT_STATUS) 0x08 -#define ACPI_EVENT_FLAG_HAS_HANDLER (ACPI_EVENT_STATUS) 0x10 -#define ACPI_EVENT_FLAG_MASKED (ACPI_EVENT_STATUS) 0x20 -#define ACPI_EVENT_FLAG_SET ACPI_EVENT_FLAG_STATUS_SET - -/* Actions for AcpiSetGpe, AcpiGpeWakeup, AcpiHwLowSetGpe */ - -#define ACPI_GPE_ENABLE 0 -#define ACPI_GPE_DISABLE 1 -#define ACPI_GPE_CONDITIONAL_ENABLE 2 - -/* - * GPE info flags - Per GPE - * +---+-+-+-+---+ - * |7:6|5|4|3|2:0| - * +---+-+-+-+---+ - * | | | | | - * | | | | +-- Type of dispatch:to method, handler, notify, or none - * | | | +----- Interrupt type: edge or level triggered - * | | +------- Is a Wake GPE - * | +--------- Has been enabled automatically at init time - * +------------ <Reserved> - */ -#define ACPI_GPE_DISPATCH_NONE (UINT8) 0x00 -#define ACPI_GPE_DISPATCH_METHOD (UINT8) 0x01 -#define ACPI_GPE_DISPATCH_HANDLER (UINT8) 0x02 -#define ACPI_GPE_DISPATCH_NOTIFY (UINT8) 0x03 -#define ACPI_GPE_DISPATCH_RAW_HANDLER (UINT8) 0x04 -#define ACPI_GPE_DISPATCH_MASK (UINT8) 0x07 -#define ACPI_GPE_DISPATCH_TYPE(flags) ((UINT8) ((flags) & ACPI_GPE_DISPATCH_MASK)) - -#define ACPI_GPE_LEVEL_TRIGGERED (UINT8) 0x08 -#define ACPI_GPE_EDGE_TRIGGERED (UINT8) 0x00 -#define ACPI_GPE_XRUPT_TYPE_MASK (UINT8) 0x08 - -#define ACPI_GPE_CAN_WAKE (UINT8) 0x10 -#define ACPI_GPE_AUTO_ENABLED (UINT8) 0x20 -#define ACPI_GPE_INITIALIZED (UINT8) 0x40 - -/* - * Flags for GPE and Lock interfaces - */ -#define ACPI_NOT_ISR 0x1 -#define ACPI_ISR 0x0 - - -/* Notify types */ - -#define ACPI_SYSTEM_NOTIFY 0x1 -#define ACPI_DEVICE_NOTIFY 0x2 -#define ACPI_ALL_NOTIFY (ACPI_SYSTEM_NOTIFY | ACPI_DEVICE_NOTIFY) -#define ACPI_MAX_NOTIFY_HANDLER_TYPE 0x3 -#define ACPI_NUM_NOTIFY_TYPES 2 - -#define ACPI_MAX_SYS_NOTIFY 0x7F -#define ACPI_MAX_DEVICE_SPECIFIC_NOTIFY 0xBF - -#define ACPI_SYSTEM_HANDLER_LIST 0 /* Used as index, must be SYSTEM_NOTIFY -1 */ -#define ACPI_DEVICE_HANDLER_LIST 1 /* Used as index, must be DEVICE_NOTIFY -1 */ - - -/* Address Space (Operation Region) Types */ - -typedef UINT8 ACPI_ADR_SPACE_TYPE; - -#define ACPI_ADR_SPACE_SYSTEM_MEMORY (ACPI_ADR_SPACE_TYPE) 0 -#define ACPI_ADR_SPACE_SYSTEM_IO (ACPI_ADR_SPACE_TYPE) 1 -#define ACPI_ADR_SPACE_PCI_CONFIG (ACPI_ADR_SPACE_TYPE) 2 -#define ACPI_ADR_SPACE_EC (ACPI_ADR_SPACE_TYPE) 3 -#define ACPI_ADR_SPACE_SMBUS (ACPI_ADR_SPACE_TYPE) 4 -#define ACPI_ADR_SPACE_CMOS (ACPI_ADR_SPACE_TYPE) 5 -#define ACPI_ADR_SPACE_PCI_BAR_TARGET (ACPI_ADR_SPACE_TYPE) 6 -#define ACPI_ADR_SPACE_IPMI (ACPI_ADR_SPACE_TYPE) 7 -#define ACPI_ADR_SPACE_GPIO (ACPI_ADR_SPACE_TYPE) 8 -#define ACPI_ADR_SPACE_GSBUS (ACPI_ADR_SPACE_TYPE) 9 -#define ACPI_ADR_SPACE_PLATFORM_COMM (ACPI_ADR_SPACE_TYPE) 10 -#define ACPI_ADR_SPACE_PLATFORM_RT (ACPI_ADR_SPACE_TYPE) 11 - -#define ACPI_NUM_PREDEFINED_REGIONS 12 - -/* - * Special Address Spaces - * - * Note: A Data Table region is a special type of operation region - * that has its own AML opcode. However, internally, the AML - * interpreter simply creates an operation region with an address - * space type of ACPI_ADR_SPACE_DATA_TABLE. - */ -#define ACPI_ADR_SPACE_DATA_TABLE (ACPI_ADR_SPACE_TYPE) 0x7E /* Internal to ACPICA only */ -#define ACPI_ADR_SPACE_FIXED_HARDWARE (ACPI_ADR_SPACE_TYPE) 0x7F - -/* Values for _REG connection code */ - -#define ACPI_REG_DISCONNECT 0 -#define ACPI_REG_CONNECT 1 - -/* - * BitRegister IDs - * - * These values are intended to be used by the hardware interfaces - * and are mapped to individual bitfields defined within the ACPI - * registers. See the AcpiGbl_BitRegisterInfo global table in utglobal.c - * for this mapping. - */ - -/* PM1 Status register */ - -#define ACPI_BITREG_TIMER_STATUS 0x00 -#define ACPI_BITREG_BUS_MASTER_STATUS 0x01 -#define ACPI_BITREG_GLOBAL_LOCK_STATUS 0x02 -#define ACPI_BITREG_POWER_BUTTON_STATUS 0x03 -#define ACPI_BITREG_SLEEP_BUTTON_STATUS 0x04 -#define ACPI_BITREG_RT_CLOCK_STATUS 0x05 -#define ACPI_BITREG_WAKE_STATUS 0x06 -#define ACPI_BITREG_PCIEXP_WAKE_STATUS 0x07 - -/* PM1 Enable register */ - -#define ACPI_BITREG_TIMER_ENABLE 0x08 -#define ACPI_BITREG_GLOBAL_LOCK_ENABLE 0x09 -#define ACPI_BITREG_POWER_BUTTON_ENABLE 0x0A -#define ACPI_BITREG_SLEEP_BUTTON_ENABLE 0x0B -#define ACPI_BITREG_RT_CLOCK_ENABLE 0x0C -#define ACPI_BITREG_PCIEXP_WAKE_DISABLE 0x0D - -/* PM1 Control register */ - -#define ACPI_BITREG_SCI_ENABLE 0x0E -#define ACPI_BITREG_BUS_MASTER_RLD 0x0F -#define ACPI_BITREG_GLOBAL_LOCK_RELEASE 0x10 -#define ACPI_BITREG_SLEEP_TYPE 0x11 -#define ACPI_BITREG_SLEEP_ENABLE 0x12 - -/* PM2 Control register */ - -#define ACPI_BITREG_ARB_DISABLE 0x13 - -#define ACPI_BITREG_MAX 0x13 -#define ACPI_NUM_BITREG ACPI_BITREG_MAX + 1 - - -/* Status register values. A 1 clears a status bit. 0 = no effect */ - -#define ACPI_CLEAR_STATUS 1 - -/* Enable and Control register values */ - -#define ACPI_ENABLE_EVENT 1 -#define ACPI_DISABLE_EVENT 0 - - -/* Sleep function dispatch */ - -typedef ACPI_STATUS (*ACPI_SLEEP_FUNCTION) ( - UINT8 SleepState); - -typedef struct acpi_sleep_functions -{ - ACPI_SLEEP_FUNCTION LegacyFunction; - ACPI_SLEEP_FUNCTION ExtendedFunction; - -} ACPI_SLEEP_FUNCTIONS; - - -/* - * External ACPI object definition - */ - -/* - * Note: Type == ACPI_TYPE_ANY (0) is used to indicate a NULL package - * element or an unresolved named reference. - */ -typedef union acpi_object -{ - ACPI_OBJECT_TYPE Type; /* See definition of AcpiNsType for values */ - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_INTEGER */ - UINT64 Value; /* The actual number */ - } Integer; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_STRING */ - UINT32 Length; /* # of bytes in string, excluding trailing null */ - char *Pointer; /* points to the string value */ - } String; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_BUFFER */ - UINT32 Length; /* # of bytes in buffer */ - UINT8 *Pointer; /* points to the buffer */ - } Buffer; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_PACKAGE */ - UINT32 Count; /* # of elements in package */ - union acpi_object *Elements; /* Pointer to an array of ACPI_OBJECTs */ - } Package; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_LOCAL_REFERENCE */ - ACPI_OBJECT_TYPE ActualType; /* Type associated with the Handle */ - ACPI_HANDLE Handle; /* object reference */ - } Reference; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_PROCESSOR */ - UINT32 ProcId; - ACPI_IO_ADDRESS PblkAddress; - UINT32 PblkLength; - } Processor; - - struct - { - ACPI_OBJECT_TYPE Type; /* ACPI_TYPE_POWER */ - UINT32 SystemLevel; - UINT32 ResourceOrder; - } PowerResource; - -} ACPI_OBJECT; - - -/* - * List of objects, used as a parameter list for control method evaluation - */ -typedef struct acpi_object_list -{ - UINT32 Count; - ACPI_OBJECT *Pointer; - -} ACPI_OBJECT_LIST; - - -/* - * Miscellaneous common Data Structures used by the interfaces - */ -#define ACPI_NO_BUFFER 0 - -#ifdef ACPI_NO_MEM_ALLOCATIONS - -#define ACPI_ALLOCATE_BUFFER (ACPI_SIZE) (0) -#define ACPI_ALLOCATE_LOCAL_BUFFER (ACPI_SIZE) (0) - -#else /* ACPI_NO_MEM_ALLOCATIONS */ - -#define ACPI_ALLOCATE_BUFFER (ACPI_SIZE) (-1) /* Let ACPICA allocate buffer */ -#define ACPI_ALLOCATE_LOCAL_BUFFER (ACPI_SIZE) (-2) /* For internal use only (enables tracking) */ - -#endif /* ACPI_NO_MEM_ALLOCATIONS */ - -typedef struct acpi_buffer -{ - ACPI_SIZE Length; /* Length in bytes of the buffer */ - void *Pointer; /* pointer to buffer */ - -} ACPI_BUFFER; - - -/* - * NameType for AcpiGetName - */ -#define ACPI_FULL_PATHNAME 0 -#define ACPI_SINGLE_NAME 1 -#define ACPI_FULL_PATHNAME_NO_TRAILING 2 -#define ACPI_NAME_TYPE_MAX 2 - - -/* - * Predefined Namespace items - */ -typedef struct acpi_predefined_names -{ - const char *Name; - UINT8 Type; - char *Val; - -} ACPI_PREDEFINED_NAMES; - - -/* - * Structure and flags for AcpiGetSystemInfo - */ -#define ACPI_SYS_MODE_UNKNOWN 0x0000 -#define ACPI_SYS_MODE_ACPI 0x0001 -#define ACPI_SYS_MODE_LEGACY 0x0002 -#define ACPI_SYS_MODES_MASK 0x0003 - - -/* - * System info returned by AcpiGetSystemInfo() - */ -typedef struct acpi_system_info -{ - UINT32 AcpiCaVersion; - UINT32 Flags; - UINT32 TimerResolution; - UINT32 Reserved1; - UINT32 Reserved2; - UINT32 DebugLevel; - UINT32 DebugLayer; - -} ACPI_SYSTEM_INFO; - - -/* - * System statistics returned by AcpiGetStatistics() - */ -typedef struct acpi_statistics -{ - UINT32 SciCount; - UINT32 GpeCount; - UINT32 FixedEventCount[ACPI_NUM_FIXED_EVENTS]; - UINT32 MethodCount; - -} ACPI_STATISTICS; - - -/* - * Types specific to the OS service interfaces - */ -typedef UINT32 -(ACPI_SYSTEM_XFACE *ACPI_OSD_HANDLER) ( - void *Context); - -typedef void -(ACPI_SYSTEM_XFACE *ACPI_OSD_EXEC_CALLBACK) ( - void *Context); - -/* - * Various handlers and callback procedures - */ -typedef -UINT32 (*ACPI_SCI_HANDLER) ( - void *Context); - -typedef -void (*ACPI_GBL_EVENT_HANDLER) ( - UINT32 EventType, - ACPI_HANDLE Device, - UINT32 EventNumber, - void *Context); - -#define ACPI_EVENT_TYPE_GPE 0 -#define ACPI_EVENT_TYPE_FIXED 1 - -typedef -UINT32 (*ACPI_EVENT_HANDLER) ( - void *Context); - -typedef -UINT32 (*ACPI_GPE_HANDLER) ( - ACPI_HANDLE GpeDevice, - UINT32 GpeNumber, - void *Context); - -typedef -void (*ACPI_NOTIFY_HANDLER) ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context); - -typedef -void (*ACPI_OBJECT_HANDLER) ( - ACPI_HANDLE Object, - void *Data); - -typedef -ACPI_STATUS (*ACPI_INIT_HANDLER) ( - ACPI_HANDLE Object, - UINT32 Function); - -#define ACPI_INIT_DEVICE_INI 1 - -typedef -ACPI_STATUS (*ACPI_EXCEPTION_HANDLER) ( - ACPI_STATUS AmlStatus, - ACPI_NAME Name, - UINT16 Opcode, - UINT32 AmlOffset, - void *Context); - -/* Table Event handler (Load, LoadTable, etc.) and types */ - -typedef -ACPI_STATUS (*ACPI_TABLE_HANDLER) ( - UINT32 Event, - void *Table, - void *Context); - - -/* Table Event Types */ - -#define ACPI_TABLE_EVENT_LOAD 0x0 -#define ACPI_TABLE_EVENT_UNLOAD 0x1 -#define ACPI_TABLE_EVENT_INSTALL 0x2 -#define ACPI_TABLE_EVENT_UNINSTALL 0x3 -#define ACPI_NUM_TABLE_EVENTS 4 - - -/* Address Spaces (For Operation Regions) */ - -typedef -ACPI_STATUS (*ACPI_ADR_SPACE_HANDLER) ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - UINT64 *Value, - void *HandlerContext, - void *RegionContext); - -#define ACPI_DEFAULT_HANDLER NULL - -/* Special Context data for GenericSerialBus/GeneralPurposeIo (ACPI 5.0) */ - -typedef struct acpi_connection_info -{ - UINT8 *Connection; - UINT16 Length; - UINT8 AccessLength; - -} ACPI_CONNECTION_INFO; - -/* Special Context data for PCC Opregion (ACPI 6.3) */ - -typedef struct acpi_pcc_info { - UINT8 SubspaceId; - UINT16 Length; - UINT8 *InternalBuffer; -} ACPI_PCC_INFO; - -/* Special Context data for FFH Opregion (ACPI 6.5) */ - -typedef struct acpi_ffh_info { - UINT64 Offset; - UINT64 Length; -} ACPI_FFH_INFO; - -typedef -ACPI_STATUS (*ACPI_ADR_SPACE_SETUP) ( - ACPI_HANDLE RegionHandle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - -#define ACPI_REGION_ACTIVATE 0 -#define ACPI_REGION_DEACTIVATE 1 - -typedef -ACPI_STATUS (*ACPI_WALK_CALLBACK) ( - ACPI_HANDLE Object, - UINT32 NestingLevel, - void *Context, - void **ReturnValue); - -typedef -UINT32 (*ACPI_INTERFACE_HANDLER) ( - ACPI_STRING InterfaceName, - UINT32 Supported); - - -/* Interrupt handler return values */ - -#define ACPI_INTERRUPT_NOT_HANDLED 0x00 -#define ACPI_INTERRUPT_HANDLED 0x01 - -/* GPE handler return values */ - -#define ACPI_REENABLE_GPE 0x80 - - -/* Length of 32-bit EISAID values when converted back to a string */ - -#define ACPI_EISAID_STRING_SIZE 8 /* Includes null terminator */ - -/* Length of UUID (string) values */ - -#define ACPI_UUID_LENGTH 16 - -/* Length of 3-byte PCI class code values when converted back to a string */ - -#define ACPI_PCICLS_STRING_SIZE 7 /* Includes null terminator */ - - -/* Structures used for device/processor HID, UID, CID */ - -typedef struct acpi_pnp_device_id -{ - UINT32 Length; /* Length of string + null */ - char *String; - -} ACPI_PNP_DEVICE_ID; - -typedef struct acpi_pnp_device_id_list -{ - UINT32 Count; /* Number of IDs in Ids array */ - UINT32 ListSize; /* Size of list, including ID strings */ - ACPI_PNP_DEVICE_ID Ids[]; /* ID array */ - -} ACPI_PNP_DEVICE_ID_LIST; - -/* - * Structure returned from AcpiGetObjectInfo. - * Optimized for both 32-bit and 64-bit builds. - */ -typedef struct acpi_device_info -{ - UINT32 InfoSize; /* Size of info, including ID strings */ - UINT32 Name; /* ACPI object Name */ - ACPI_OBJECT_TYPE Type; /* ACPI object Type */ - UINT8 ParamCount; /* If a method, required parameter count */ - UINT16 Valid; /* Indicates which optional fields are valid */ - UINT8 Flags; /* Miscellaneous info */ - UINT8 HighestDstates[4]; /* _SxD values: 0xFF indicates not valid */ - UINT8 LowestDstates[5]; /* _SxW values: 0xFF indicates not valid */ - UINT64 Address; /* _ADR value */ - ACPI_PNP_DEVICE_ID HardwareId; /* _HID value */ - ACPI_PNP_DEVICE_ID UniqueId; /* _UID value */ - ACPI_PNP_DEVICE_ID ClassCode; /* _CLS value */ - ACPI_PNP_DEVICE_ID_LIST CompatibleIdList; /* _CID list <must be last> */ - -} ACPI_DEVICE_INFO; - -/* Values for Flags field above (AcpiGetObjectInfo) */ - -#define ACPI_PCI_ROOT_BRIDGE 0x01 - -/* Flags for Valid field above (AcpiGetObjectInfo) */ - -#define ACPI_VALID_ADR 0x0002 -#define ACPI_VALID_HID 0x0004 -#define ACPI_VALID_UID 0x0008 -#define ACPI_VALID_CID 0x0020 -#define ACPI_VALID_CLS 0x0040 -#define ACPI_VALID_SXDS 0x0100 -#define ACPI_VALID_SXWS 0x0200 - -/* Flags for _STA method */ - -#define ACPI_STA_DEVICE_PRESENT 0x01 -#define ACPI_STA_DEVICE_ENABLED 0x02 -#define ACPI_STA_DEVICE_UI 0x04 -#define ACPI_STA_DEVICE_FUNCTIONING 0x08 -#define ACPI_STA_DEVICE_OK 0x08 /* Synonym */ -#define ACPI_STA_BATTERY_PRESENT 0x10 - - -/* Context structs for address space handlers */ - -typedef struct acpi_pci_id -{ - UINT16 Segment; - UINT16 Bus; - UINT16 Device; - UINT16 Function; - -} ACPI_PCI_ID; - -typedef struct acpi_mem_mapping -{ - ACPI_PHYSICAL_ADDRESS PhysicalAddress; - UINT8 *LogicalAddress; - ACPI_SIZE Length; - struct acpi_mem_mapping *NextMm; - -} ACPI_MEM_MAPPING; - -typedef struct acpi_mem_space_context -{ - UINT32 Length; - ACPI_PHYSICAL_ADDRESS Address; - ACPI_MEM_MAPPING *CurMm; - ACPI_MEM_MAPPING *FirstMm; - -} ACPI_MEM_SPACE_CONTEXT; - -typedef struct acpi_data_table_mapping -{ - void *Pointer; - -} ACPI_DATA_TABLE_MAPPING; - - -/* - * ACPI_MEMORY_LIST is used only if the ACPICA local cache is enabled - */ -typedef struct acpi_memory_list -{ - const char *ListName; - void *ListHead; - UINT16 ObjectSize; - UINT16 MaxDepth; - UINT16 CurrentDepth; - -#ifdef ACPI_DBG_TRACK_ALLOCATIONS - - /* Statistics for debug memory tracking only */ - - UINT32 TotalAllocated; - UINT32 TotalFreed; - UINT32 MaxOccupied; - UINT32 TotalSize; - UINT32 CurrentTotalSize; - UINT32 Requests; - UINT32 Hits; -#endif - -} ACPI_MEMORY_LIST; - - -/* Definitions of trace event types */ - -typedef enum -{ - ACPI_TRACE_AML_METHOD, - ACPI_TRACE_AML_OPCODE, - ACPI_TRACE_AML_REGION - -} ACPI_TRACE_EVENT_TYPE; - - -/* Definitions of _OSI support */ - -#define ACPI_VENDOR_STRINGS 0x01 -#define ACPI_FEATURE_STRINGS 0x02 -#define ACPI_ENABLE_INTERFACES 0x00 -#define ACPI_DISABLE_INTERFACES 0x04 - -#define ACPI_DISABLE_ALL_VENDOR_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_VENDOR_STRINGS) -#define ACPI_DISABLE_ALL_FEATURE_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_FEATURE_STRINGS) -#define ACPI_DISABLE_ALL_STRINGS (ACPI_DISABLE_INTERFACES | ACPI_VENDOR_STRINGS | ACPI_FEATURE_STRINGS) -#define ACPI_ENABLE_ALL_VENDOR_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_VENDOR_STRINGS) -#define ACPI_ENABLE_ALL_FEATURE_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_FEATURE_STRINGS) -#define ACPI_ENABLE_ALL_STRINGS (ACPI_ENABLE_INTERFACES | ACPI_VENDOR_STRINGS | ACPI_FEATURE_STRINGS) - -#define ACPI_OSI_WIN_2000 0x01 -#define ACPI_OSI_WIN_XP 0x02 -#define ACPI_OSI_WIN_XP_SP1 0x03 -#define ACPI_OSI_WINSRV_2003 0x04 -#define ACPI_OSI_WIN_XP_SP2 0x05 -#define ACPI_OSI_WINSRV_2003_SP1 0x06 -#define ACPI_OSI_WIN_VISTA 0x07 -#define ACPI_OSI_WINSRV_2008 0x08 -#define ACPI_OSI_WIN_VISTA_SP1 0x09 -#define ACPI_OSI_WIN_VISTA_SP2 0x0A -#define ACPI_OSI_WIN_7 0x0B -#define ACPI_OSI_WIN_8 0x0C -#define ACPI_OSI_WIN_8_1 0x0D -#define ACPI_OSI_WIN_10 0x0E -#define ACPI_OSI_WIN_10_RS1 0x0F -#define ACPI_OSI_WIN_10_RS2 0x10 -#define ACPI_OSI_WIN_10_RS3 0x11 -#define ACPI_OSI_WIN_10_RS4 0x12 -#define ACPI_OSI_WIN_10_RS5 0x13 -#define ACPI_OSI_WIN_10_19H1 0x14 -#define ACPI_OSI_WIN_10_20H1 0x15 -#define ACPI_OSI_WIN_11 0x16 - - -/* Definitions of getopt */ - -#define ACPI_OPT_END -1 - -/* Definitions for explicit fallthrough */ - -#ifndef ACPI_FALLTHROUGH -#define ACPI_FALLTHROUGH do {} while(0) -#endif - -#ifndef ACPI_FLEX_ARRAY -#define ACPI_FLEX_ARRAY(TYPE, NAME) TYPE NAME[0] -#endif - -#endif /* __ACTYPES_H__ */ diff --git a/Private/acpiSDK/source/include/acutils.h b/Private/acpiSDK/source/include/acutils.h deleted file mode 100644 index bdca11c9..00000000 --- a/Private/acpiSDK/source/include/acutils.h +++ /dev/null @@ -1,1305 +0,0 @@ -/****************************************************************************** - * - * Name: acutils.h -- prototypes for the common (subsystem-wide) procedures - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef _ACUTILS_H -#define _ACUTILS_H - - -extern const UINT8 AcpiGbl_ResourceAmlSizes[]; -extern const UINT8 AcpiGbl_ResourceAmlSerialBusSizes[]; - -/* Strings used by the disassembler and debugger resource dump routines */ - -#if defined(ACPI_DEBUG_OUTPUT) || defined (ACPI_DISASSEMBLER) || defined (ACPI_DEBUGGER) - -extern const char *AcpiGbl_BmDecode[]; -extern const char *AcpiGbl_ConfigDecode[]; -extern const char *AcpiGbl_ConsumeDecode[]; -extern const char *AcpiGbl_DecDecode[]; -extern const char *AcpiGbl_HeDecode[]; -extern const char *AcpiGbl_IoDecode[]; -extern const char *AcpiGbl_LlDecode[]; -extern const char *AcpiGbl_MaxDecode[]; -extern const char *AcpiGbl_MemDecode[]; -extern const char *AcpiGbl_MinDecode[]; -extern const char *AcpiGbl_MtpDecode[]; -extern const char *AcpiGbl_PhyDecode[]; -extern const char *AcpiGbl_RngDecode[]; -extern const char *AcpiGbl_RwDecode[]; -extern const char *AcpiGbl_ShrDecode[]; -extern const char *AcpiGbl_SizDecode[]; -extern const char *AcpiGbl_TrsDecode[]; -extern const char *AcpiGbl_TtpDecode[]; -extern const char *AcpiGbl_TypDecode[]; -extern const char *AcpiGbl_PpcDecode[]; -extern const char *AcpiGbl_IorDecode[]; -extern const char *AcpiGbl_DtsDecode[]; -extern const char *AcpiGbl_CtDecode[]; -extern const char *AcpiGbl_SbtDecode[]; -extern const char *AcpiGbl_AmDecode[]; -extern const char *AcpiGbl_SmDecode[]; -extern const char *AcpiGbl_WmDecode[]; -extern const char *AcpiGbl_CphDecode[]; -extern const char *AcpiGbl_CpoDecode[]; -extern const char *AcpiGbl_DpDecode[]; -extern const char *AcpiGbl_EdDecode[]; -extern const char *AcpiGbl_BpbDecode[]; -extern const char *AcpiGbl_SbDecode[]; -extern const char *AcpiGbl_FcDecode[]; -extern const char *AcpiGbl_PtDecode[]; -extern const char *AcpiGbl_PtypDecode[]; -extern const char *AcpiGbl_ClockInputMode[]; -extern const char *AcpiGbl_ClockInputScale[]; -#endif - -/* - * For the iASL compiler case, the output is redirected to stderr so that - * any of the various ACPI errors and warnings do not appear in the output - * files, for either the compiler or disassembler portions of the tool. - */ -#ifdef ACPI_ASL_COMPILER - -#include <stdio.h> - -#define ACPI_MSG_REDIRECT_BEGIN \ - FILE *OutputFile = AcpiGbl_OutputFile; \ - AcpiOsRedirectOutput (stderr); - -#define ACPI_MSG_REDIRECT_END \ - AcpiOsRedirectOutput (OutputFile); - -#else -/* - * non-iASL case - no redirection, nothing to do - */ -#define ACPI_MSG_REDIRECT_BEGIN -#define ACPI_MSG_REDIRECT_END -#endif - -/* - * Common error message prefixes - */ -#ifndef ACPI_MSG_ERROR -#define ACPI_MSG_ERROR "ACPI Error: " -#endif -#ifndef ACPI_MSG_WARNING -#define ACPI_MSG_WARNING "ACPI Warning: " -#endif -#ifndef ACPI_MSG_INFO -#define ACPI_MSG_INFO "ACPI: " -#endif - -#ifndef ACPI_MSG_BIOS_ERROR -#define ACPI_MSG_BIOS_ERROR "Firmware Error (ACPI): " -#endif -#ifndef ACPI_MSG_BIOS_WARNING -#define ACPI_MSG_BIOS_WARNING "Firmware Warning (ACPI): " -#endif - -/* - * Common message suffix - */ -#define ACPI_MSG_SUFFIX \ - AcpiOsPrintf (" (%8.8X/%s-%u)\n", ACPI_CA_VERSION, ModuleName, LineNumber) - -/* Flags to indicate implicit or explicit string-to-integer conversion */ - -#define ACPI_IMPLICIT_CONVERSION TRUE -#define ACPI_NO_IMPLICIT_CONVERSION FALSE - -/* Types for Resource descriptor entries */ - -#define ACPI_INVALID_RESOURCE 0 -#define ACPI_FIXED_LENGTH 1 -#define ACPI_VARIABLE_LENGTH 2 -#define ACPI_SMALL_VARIABLE_LENGTH 3 - -typedef -ACPI_STATUS (*ACPI_WALK_AML_CALLBACK) ( - UINT8 *Aml, - UINT32 Length, - UINT32 Offset, - UINT8 ResourceIndex, - void **Context); - -typedef -ACPI_STATUS (*ACPI_PKG_CALLBACK) ( - UINT8 ObjectType, - ACPI_OPERAND_OBJECT *SourceObject, - ACPI_GENERIC_STATE *State, - void *Context); - -typedef struct acpi_pkg_info -{ - UINT8 *FreeSpace; - ACPI_SIZE Length; - UINT32 ObjectSpace; - UINT32 NumPackages; - -} ACPI_PKG_INFO; - -/* Object reference counts */ - -#define REF_INCREMENT (UINT16) 0 -#define REF_DECREMENT (UINT16) 1 - -/* AcpiUtDumpBuffer */ - -#define DB_BYTE_DISPLAY 0x01 -#define DB_WORD_DISPLAY 0x02 -#define DB_DWORD_DISPLAY 0x04 -#define DB_QWORD_DISPLAY 0x08 -#define DB_DISPLAY_DATA_ONLY 0x10 - - -/* - * utascii - ASCII utilities - */ -BOOLEAN -AcpiUtValidNameseg ( - char *Signature); - -BOOLEAN -AcpiUtValidNameChar ( - char Character, - UINT32 Position); - -void -AcpiUtCheckAndRepairAscii ( - UINT8 *Name, - char *RepairedName, - UINT32 Count); - - -/* - * utcksum - Checksum utilities - */ -UINT8 -AcpiUtGenerateChecksum ( - void *Table, - UINT32 Length, - UINT8 OriginalChecksum); - -UINT8 -AcpiUtChecksum ( - UINT8 *Buffer, - UINT32 Length); - -ACPI_STATUS -AcpiUtVerifyCdatChecksum ( - ACPI_TABLE_CDAT *CdatTable, - UINT32 Length); - -ACPI_STATUS -AcpiUtVerifyChecksum ( - ACPI_TABLE_HEADER *Table, - UINT32 Length); - - -/* - * utnonansi - Non-ANSI C library functions - */ -void -AcpiUtStrupr ( - char *SrcString); - -void -AcpiUtStrlwr ( - char *SrcString); - -int -AcpiUtStricmp ( - char *String1, - char *String2); - - -/* - * utstrsuppt - string-to-integer conversion support functions - */ -ACPI_STATUS -AcpiUtConvertOctalString ( - char *String, - UINT64 *ReturnValue); - -ACPI_STATUS -AcpiUtConvertDecimalString ( - char *String, - UINT64 *ReturnValuePtr); - -ACPI_STATUS -AcpiUtConvertHexString ( - char *String, - UINT64 *ReturnValuePtr); - -char -AcpiUtRemoveWhitespace ( - char **String); - -char -AcpiUtRemoveLeadingZeros ( - char **String); - -BOOLEAN -AcpiUtDetectHexPrefix ( - char **String); - -void -AcpiUtRemoveHexPrefix ( - char **String); - -BOOLEAN -AcpiUtDetectOctalPrefix ( - char **String); - - -/* - * utstrtoul64 - string-to-integer conversion functions - */ -ACPI_STATUS -AcpiUtStrtoul64 ( - char *String, - UINT64 *RetInteger); - -UINT64 -AcpiUtExplicitStrtoul64 ( - char *String); - -UINT64 -AcpiUtImplicitStrtoul64 ( - char *String); - - -/* - * utglobal - Global data structures and procedures - */ -ACPI_STATUS -AcpiUtInitGlobals ( - void); - -const char * -AcpiUtGetMutexName ( - UINT32 MutexId); - -#if defined(ACPI_DEBUG_OUTPUT) || defined(ACPI_DEBUGGER) - -const char * -AcpiUtGetNotifyName ( - UINT32 NotifyValue, - ACPI_OBJECT_TYPE Type); -#endif - -const char * -AcpiUtGetTypeName ( - ACPI_OBJECT_TYPE Type); - -const char * -AcpiUtGetNodeName ( - void *Object); - -const char * -AcpiUtGetDescriptorName ( - void *Object); - -const char * -AcpiUtGetReferenceName ( - ACPI_OPERAND_OBJECT *Object); - -const char * -AcpiUtGetObjectTypeName ( - ACPI_OPERAND_OBJECT *ObjDesc); - -const char * -AcpiUtGetRegionName ( - UINT8 SpaceId); - -const char * -AcpiUtGetEventName ( - UINT32 EventId); - -const char * -AcpiUtGetArgumentTypeName ( - UINT32 ArgType); - -char -AcpiUtHexToAsciiChar ( - UINT64 Integer, - UINT32 Position); - -ACPI_STATUS -AcpiUtAsciiToHexByte ( - char *TwoAsciiChars, - UINT8 *ReturnByte); - -UINT8 -AcpiUtAsciiCharToHex ( - int HexChar); - -BOOLEAN -AcpiUtValidObjectType ( - ACPI_OBJECT_TYPE Type); - - -/* - * utinit - miscellaneous initialization and shutdown - */ -ACPI_STATUS -AcpiUtHardwareInitialize ( - void); - -void -AcpiUtSubsystemShutdown ( - void); - - -/* - * utcopy - Object construction and conversion interfaces - */ -ACPI_STATUS -AcpiUtBuildSimpleObject( - ACPI_OPERAND_OBJECT *Obj, - ACPI_OBJECT *UserObj, - UINT8 *DataSpace, - UINT32 *BufferSpaceUsed); - -ACPI_STATUS -AcpiUtBuildPackageObject ( - ACPI_OPERAND_OBJECT *Obj, - UINT8 *Buffer, - UINT32 *SpaceUsed); - -ACPI_STATUS -AcpiUtCopyIobjectToEobject ( - ACPI_OPERAND_OBJECT *Obj, - ACPI_BUFFER *RetBuffer); - -ACPI_STATUS -AcpiUtCopyEobjectToIobject ( - ACPI_OBJECT *Obj, - ACPI_OPERAND_OBJECT **InternalObj); - -ACPI_STATUS -AcpiUtCopyISimpleToIsimple ( - ACPI_OPERAND_OBJECT *SourceObj, - ACPI_OPERAND_OBJECT *DestObj); - -ACPI_STATUS -AcpiUtCopyIobjectToIobject ( - ACPI_OPERAND_OBJECT *SourceDesc, - ACPI_OPERAND_OBJECT **DestDesc, - ACPI_WALK_STATE *WalkState); - - -/* - * utcreate - Object creation - */ -ACPI_STATUS -AcpiUtUpdateObjectReference ( - ACPI_OPERAND_OBJECT *Object, - UINT16 Action); - - -/* - * utdebug - Debug interfaces - */ -void -AcpiUtInitStackPtrTrace ( - void); - -void -AcpiUtTrackStackPtr ( - void); - -void -AcpiUtTrace ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId); - -void -AcpiUtTracePtr ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - const void *Pointer); - -void -AcpiUtTraceU32 ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - UINT32 Integer); - -void -AcpiUtTraceStr ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - const char *String); - -void -AcpiUtExit ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId); - -void -AcpiUtStatusExit ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - ACPI_STATUS Status); - -void -AcpiUtValueExit ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - UINT64 Value); - -void -AcpiUtPtrExit ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - UINT8 *Ptr); - -void -AcpiUtStrExit ( - UINT32 LineNumber, - const char *FunctionName, - const char *ModuleName, - UINT32 ComponentId, - const char *String); - -void -AcpiUtDebugDumpBuffer ( - UINT8 *Buffer, - UINT32 Count, - UINT32 Display, - UINT32 ComponentId); - -void -AcpiUtDumpBuffer ( - UINT8 *Buffer, - UINT32 Count, - UINT32 Display, - UINT32 Offset); - -#ifdef ACPI_APPLICATION -void -AcpiUtDumpBufferToFile ( - ACPI_FILE File, - UINT8 *Buffer, - UINT32 Count, - UINT32 Display, - UINT32 BaseOffset); -#endif - -void -AcpiUtReportError ( - char *ModuleName, - UINT32 LineNumber); - -void -AcpiUtReportInfo ( - char *ModuleName, - UINT32 LineNumber); - -void -AcpiUtReportWarning ( - char *ModuleName, - UINT32 LineNumber); - - -/* - * utdelete - Object deletion and reference counts - */ -void -AcpiUtAddReference ( - ACPI_OPERAND_OBJECT *Object); - -void -AcpiUtRemoveReference ( - ACPI_OPERAND_OBJECT *Object); - -void -AcpiUtDeleteInternalPackageObject ( - ACPI_OPERAND_OBJECT *Object); - -void -AcpiUtDeleteInternalSimpleObject ( - ACPI_OPERAND_OBJECT *Object); - -void -AcpiUtDeleteInternalObjectList ( - ACPI_OPERAND_OBJECT **ObjList); - - -/* - * uteval - object evaluation - */ -ACPI_STATUS -AcpiUtEvaluateObject ( - ACPI_NAMESPACE_NODE *PrefixNode, - const char *Path, - UINT32 ExpectedReturnBtypes, - ACPI_OPERAND_OBJECT **ReturnDesc); - -ACPI_STATUS -AcpiUtEvaluateNumericObject ( - const char *ObjectName, - ACPI_NAMESPACE_NODE *DeviceNode, - UINT64 *Value); - -ACPI_STATUS -AcpiUtExecute_STA ( - ACPI_NAMESPACE_NODE *DeviceNode, - UINT32 *StatusFlags); - -ACPI_STATUS -AcpiUtExecutePowerMethods ( - ACPI_NAMESPACE_NODE *DeviceNode, - const char **MethodNames, - UINT8 MethodCount, - UINT8 *OutValues); - - -/* - * utids - device ID support - */ -ACPI_STATUS -AcpiUtExecute_HID ( - ACPI_NAMESPACE_NODE *DeviceNode, - ACPI_PNP_DEVICE_ID **ReturnId); - -ACPI_STATUS -AcpiUtExecute_UID ( - ACPI_NAMESPACE_NODE *DeviceNode, - ACPI_PNP_DEVICE_ID **ReturnId); - -ACPI_STATUS -AcpiUtExecute_CID ( - ACPI_NAMESPACE_NODE *DeviceNode, - ACPI_PNP_DEVICE_ID_LIST **ReturnCidList); - -ACPI_STATUS -AcpiUtExecute_CLS ( - ACPI_NAMESPACE_NODE *DeviceNode, - ACPI_PNP_DEVICE_ID **ReturnId); - - -/* - * utlock - reader/writer locks - */ -ACPI_STATUS -AcpiUtCreateRwLock ( - ACPI_RW_LOCK *Lock); - -void -AcpiUtDeleteRwLock ( - ACPI_RW_LOCK *Lock); - -ACPI_STATUS -AcpiUtAcquireReadLock ( - ACPI_RW_LOCK *Lock); - -ACPI_STATUS -AcpiUtReleaseReadLock ( - ACPI_RW_LOCK *Lock); - -ACPI_STATUS -AcpiUtAcquireWriteLock ( - ACPI_RW_LOCK *Lock); - -void -AcpiUtReleaseWriteLock ( - ACPI_RW_LOCK *Lock); - - -/* - * utobject - internal object create/delete/cache routines - */ -ACPI_OPERAND_OBJECT * -AcpiUtCreateInternalObjectDbg ( - const char *ModuleName, - UINT32 LineNumber, - UINT32 ComponentId, - ACPI_OBJECT_TYPE Type); - -void * -AcpiUtAllocateObjectDescDbg ( - const char *ModuleName, - UINT32 LineNumber, - UINT32 ComponentId); - -#define AcpiUtCreateInternalObject(t) AcpiUtCreateInternalObjectDbg (_AcpiModuleName,__LINE__,_COMPONENT,t) -#define AcpiUtAllocateObjectDesc() AcpiUtAllocateObjectDescDbg (_AcpiModuleName,__LINE__,_COMPONENT) - -void -AcpiUtDeleteObjectDesc ( - ACPI_OPERAND_OBJECT *Object); - -BOOLEAN -AcpiUtValidInternalObject ( - void *Object); - -ACPI_OPERAND_OBJECT * -AcpiUtCreatePackageObject ( - UINT32 Count); - -ACPI_OPERAND_OBJECT * -AcpiUtCreateIntegerObject ( - UINT64 Value); - -ACPI_OPERAND_OBJECT * -AcpiUtCreateBufferObject ( - ACPI_SIZE BufferSize); - -ACPI_OPERAND_OBJECT * -AcpiUtCreateStringObject ( - ACPI_SIZE StringSize); - -ACPI_STATUS -AcpiUtGetObjectSize( - ACPI_OPERAND_OBJECT *Obj, - ACPI_SIZE *ObjLength); - - -/* - * utosi - Support for the _OSI predefined control method - */ -ACPI_STATUS -AcpiUtInitializeInterfaces ( - void); - -ACPI_STATUS -AcpiUtInterfaceTerminate ( - void); - -ACPI_STATUS -AcpiUtInstallInterface ( - ACPI_STRING InterfaceName); - -ACPI_STATUS -AcpiUtRemoveInterface ( - ACPI_STRING InterfaceName); - -ACPI_STATUS -AcpiUtUpdateInterfaces ( - UINT8 Action); - -ACPI_INTERFACE_INFO * -AcpiUtGetInterface ( - ACPI_STRING InterfaceName); - -ACPI_STATUS -AcpiUtOsiImplementation ( - ACPI_WALK_STATE *WalkState); - - -/* - * utpredef - support for predefined names - */ -const ACPI_PREDEFINED_INFO * -AcpiUtGetNextPredefinedMethod ( - const ACPI_PREDEFINED_INFO *ThisName); - -const ACPI_PREDEFINED_INFO * -AcpiUtMatchPredefinedMethod ( - char *Name); - -void -AcpiUtGetExpectedReturnTypes ( - char *Buffer, - UINT32 ExpectedBtypes); - -#if (defined ACPI_ASL_COMPILER || defined ACPI_HELP_APP) -const ACPI_PREDEFINED_INFO * -AcpiUtMatchResourceName ( - char *Name); - -void -AcpiUtDisplayPredefinedMethod ( - char *Buffer, - const ACPI_PREDEFINED_INFO *ThisName, - BOOLEAN MultiLine); - -UINT32 -AcpiUtGetResourceBitWidth ( - char *Buffer, - UINT16 Types); -#endif - - -/* - * utstate - Generic state creation/cache routines - */ -void -AcpiUtPushGenericState ( - ACPI_GENERIC_STATE **ListHead, - ACPI_GENERIC_STATE *State); - -ACPI_GENERIC_STATE * -AcpiUtPopGenericState ( - ACPI_GENERIC_STATE **ListHead); - - -ACPI_GENERIC_STATE * -AcpiUtCreateGenericState ( - void); - -ACPI_THREAD_STATE * -AcpiUtCreateThreadState ( - void); - -ACPI_GENERIC_STATE * -AcpiUtCreateUpdateState ( - ACPI_OPERAND_OBJECT *Object, - UINT16 Action); - -ACPI_GENERIC_STATE * -AcpiUtCreatePkgState ( - void *InternalObject, - void *ExternalObject, - UINT32 Index); - -ACPI_STATUS -AcpiUtCreateUpdateStateAndPush ( - ACPI_OPERAND_OBJECT *Object, - UINT16 Action, - ACPI_GENERIC_STATE **StateList); - -ACPI_GENERIC_STATE * -AcpiUtCreateControlState ( - void); - -void -AcpiUtDeleteGenericState ( - ACPI_GENERIC_STATE *State); - - -/* - * utmath - */ -ACPI_STATUS -AcpiUtDivide ( - UINT64 InDividend, - UINT64 InDivisor, - UINT64 *OutQuotient, - UINT64 *OutRemainder); - -ACPI_STATUS -AcpiUtShortDivide ( - UINT64 InDividend, - UINT32 Divisor, - UINT64 *OutQuotient, - UINT32 *OutRemainder); - -ACPI_STATUS -AcpiUtShortMultiply ( - UINT64 InMultiplicand, - UINT32 Multiplier, - UINT64 *Outproduct); - -ACPI_STATUS -AcpiUtShortShiftLeft ( - UINT64 Operand, - UINT32 Count, - UINT64 *OutResult); - -ACPI_STATUS -AcpiUtShortShiftRight ( - UINT64 Operand, - UINT32 Count, - UINT64 *OutResult); - - -/* - * utmisc - */ -const ACPI_EXCEPTION_INFO * -AcpiUtValidateException ( - ACPI_STATUS Status); - -BOOLEAN -AcpiUtIsPciRootBridge ( - char *Id); - -#if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_NAMES_APP) -BOOLEAN -AcpiUtIsAmlTable ( - ACPI_TABLE_HEADER *Table); -#endif - -ACPI_STATUS -AcpiUtWalkPackageTree ( - ACPI_OPERAND_OBJECT *SourceObject, - void *TargetObject, - ACPI_PKG_CALLBACK WalkCallback, - void *Context); - -/* Values for Base above (16=Hex, 10=Decimal) */ - -#define ACPI_ANY_BASE 0 - - -UINT32 -AcpiUtDwordByteSwap ( - UINT32 Value); - -void -AcpiUtSetIntegerWidth ( - UINT8 Revision); - -#ifdef ACPI_DEBUG_OUTPUT -void -AcpiUtDisplayInitPathname ( - UINT8 Type, - ACPI_NAMESPACE_NODE *ObjHandle, - const char *Path); -#endif - - -/* - * utownerid - Support for Table/Method Owner IDs - */ -ACPI_STATUS -AcpiUtAllocateOwnerId ( - ACPI_OWNER_ID *OwnerId); - -void -AcpiUtReleaseOwnerId ( - ACPI_OWNER_ID *OwnerId); - - -/* - * utresrc - */ -ACPI_STATUS -AcpiUtWalkAmlResources ( - ACPI_WALK_STATE *WalkState, - UINT8 *Aml, - ACPI_SIZE AmlLength, - ACPI_WALK_AML_CALLBACK UserFunction, - void **Context); - -ACPI_STATUS -AcpiUtValidateResource ( - ACPI_WALK_STATE *WalkState, - void *Aml, - UINT8 *ReturnIndex); - -UINT32 -AcpiUtGetDescriptorLength ( - void *Aml); - -UINT16 -AcpiUtGetResourceLength ( - void *Aml); - -UINT8 -AcpiUtGetResourceHeaderLength ( - void *Aml); - -UINT8 -AcpiUtGetResourceType ( - void *Aml); - -ACPI_STATUS -AcpiUtGetResourceEndTag ( - ACPI_OPERAND_OBJECT *ObjDesc, - UINT8 **EndTag); - - -/* - * utstring - String and character utilities - */ -void -AcpiUtPrintString ( - char *String, - UINT16 MaxLength); - -#if defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP -void -UtConvertBackslashes ( - char *Pathname); -#endif - -void -AcpiUtRepairName ( - char *Name); - -#if defined (ACPI_DEBUGGER) || defined (ACPI_APPLICATION) || defined (ACPI_DEBUG_OUTPUT) -BOOLEAN -AcpiUtSafeStrcpy ( - char *Dest, - ACPI_SIZE DestSize, - char *Source); - -void -AcpiUtSafeStrncpy ( - char *Dest, - char *Source, - ACPI_SIZE DestSize); - -BOOLEAN -AcpiUtSafeStrcat ( - char *Dest, - ACPI_SIZE DestSize, - char *Source); - -BOOLEAN -AcpiUtSafeStrncat ( - char *Dest, - ACPI_SIZE DestSize, - char *Source, - ACPI_SIZE MaxTransferLength); -#endif - - -/* - * utmutex - mutex support - */ -ACPI_STATUS -AcpiUtMutexInitialize ( - void); - -void -AcpiUtMutexTerminate ( - void); - -ACPI_STATUS -AcpiUtAcquireMutex ( - ACPI_MUTEX_HANDLE MutexId); - -ACPI_STATUS -AcpiUtReleaseMutex ( - ACPI_MUTEX_HANDLE MutexId); - - -/* - * utalloc - memory allocation and object caching - */ -ACPI_STATUS -AcpiUtCreateCaches ( - void); - -ACPI_STATUS -AcpiUtDeleteCaches ( - void); - -ACPI_STATUS -AcpiUtValidateBuffer ( - ACPI_BUFFER *Buffer); - -ACPI_STATUS -AcpiUtInitializeBuffer ( - ACPI_BUFFER *Buffer, - ACPI_SIZE RequiredLength); - -#ifdef ACPI_DBG_TRACK_ALLOCATIONS -void * -AcpiUtAllocateAndTrack ( - ACPI_SIZE Size, - UINT32 Component, - const char *Module, - UINT32 Line); - -void * -AcpiUtAllocateZeroedAndTrack ( - ACPI_SIZE Size, - UINT32 Component, - const char *Module, - UINT32 Line); - -void -AcpiUtFreeAndTrack ( - void *Address, - UINT32 Component, - const char *Module, - UINT32 Line); - -void -AcpiUtDumpAllocationInfo ( - void); - -void -AcpiUtDumpAllocations ( - UINT32 Component, - const char *Module); - -ACPI_STATUS -AcpiUtCreateList ( - const char *ListName, - UINT16 ObjectSize, - ACPI_MEMORY_LIST **ReturnCache); - -#endif /* ACPI_DBG_TRACK_ALLOCATIONS */ - - -/* - * utaddress - address range check - */ -ACPI_STATUS -AcpiUtAddAddressRange ( - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 Length, - ACPI_NAMESPACE_NODE *RegionNode); - -void -AcpiUtRemoveAddressRange ( - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_NAMESPACE_NODE *RegionNode); - -UINT32 -AcpiUtCheckAddressRange ( - ACPI_ADR_SPACE_TYPE SpaceId, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 Length, - BOOLEAN Warn); - -void -AcpiUtDeleteAddressLists ( - void); - - -/* - * utxferror - various error/warning output functions - */ -ACPI_PRINTF_LIKE(5) -void ACPI_INTERNAL_VAR_XFACE -AcpiUtPredefinedWarning ( - const char *ModuleName, - UINT32 LineNumber, - char *Pathname, - UINT16 NodeFlags, - const char *Format, - ...); - -ACPI_PRINTF_LIKE(5) -void ACPI_INTERNAL_VAR_XFACE -AcpiUtPredefinedInfo ( - const char *ModuleName, - UINT32 LineNumber, - char *Pathname, - UINT16 NodeFlags, - const char *Format, - ...); - -ACPI_PRINTF_LIKE(5) -void ACPI_INTERNAL_VAR_XFACE -AcpiUtPredefinedBiosError ( - const char *ModuleName, - UINT32 LineNumber, - char *Pathname, - UINT16 NodeFlags, - const char *Format, - ...); - -void -AcpiUtPrefixedNamespaceError ( - const char *ModuleName, - UINT32 LineNumber, - ACPI_GENERIC_STATE *PrefixScope, - const char *InternalName, - ACPI_STATUS LookupStatus); - -void -AcpiUtMethodError ( - const char *ModuleName, - UINT32 LineNumber, - const char *Message, - ACPI_NAMESPACE_NODE *Node, - const char *Path, - ACPI_STATUS LookupStatus); - - -/* - * Utility functions for ACPI names and IDs - */ -const AH_PREDEFINED_NAME * -AcpiAhMatchPredefinedName ( - char *Nameseg); - -const AH_DEVICE_ID * -AcpiAhMatchHardwareId ( - char *Hid); - -const char * -AcpiAhMatchUuid ( - UINT8 *Data); - - -/* - * utuuid -- UUID support functions - */ -#if (defined ACPI_ASL_COMPILER || defined ACPI_EXEC_APP || defined ACPI_HELP_APP) -void -AcpiUtConvertStringToUuid ( - char *InString, - UINT8 *UuidBuffer); - -ACPI_STATUS -AcpiUtConvertUuidToString ( - char *UuidBuffer, - char *OutString); -#endif - -#endif /* _ACUTILS_H */ diff --git a/Private/acpiSDK/source/include/acuuid.h b/Private/acpiSDK/source/include/acuuid.h deleted file mode 100644 index cf3abc0f..00000000 --- a/Private/acpiSDK/source/include/acuuid.h +++ /dev/null @@ -1,216 +0,0 @@ -/****************************************************************************** - * - * Name: acuuid.h - ACPI-related UUID/GUID definitions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACUUID_H__ -#define __ACUUID_H__ - -/* - * Note1: UUIDs and GUIDs are defined to be identical in ACPI. - * - * Note2: This file is standalone and should remain that way. - */ - -/* Controllers */ - -#define UUID_GPIO_CONTROLLER "4f248f40-d5e2-499f-834c-27758ea1cd3f" -#define UUID_USB_CONTROLLER "ce2ee385-00e6-48cb-9f05-2edb927c4899" -#define UUID_SATA_CONTROLLER "e4db149b-fcfe-425b-a6d8-92357d78fc7f" - -/* Devices */ - -#define UUID_PCI_HOST_BRIDGE "33db4d5b-1ff7-401c-9657-7441c03dd766" -#define UUID_I2C_DEVICE "3cdff6f7-4267-4555-ad05-b30a3d8938de" -#define UUID_POWER_BUTTON "dfbcf3c5-e7a5-44e6-9c1f-29c76f6e059c" -#define UUID_MEMORY_DEVICE "03b19910-f473-11dd-87af-0800200c9a66" -#define UUID_GENERIC_BUTTONS_DEVICE "fa6bd625-9ce8-470d-a2c7-b3ca36c4282e" -#define UUID_NVDIMM_ROOT_DEVICE "2f10e7a4-9e91-11e4-89d3-123b93f75cba" -#define UUID_CONTROL_METHOD_BATTERY "f18fc78b-0f15-4978-b793-53f833a1d35b" - -/* Interfaces */ - -#define UUID_DEVICE_LABELING "e5c937d0-3553-4d7a-9117-ea4d19c3434d" -#define UUID_PHYSICAL_PRESENCE "3dddfaa6-361b-4eb4-a424-8d10089d1653" - -/* NVDIMM - NFIT table */ - -#define UUID_NFIT_DIMM "4309ac30-0d11-11e4-9191-0800200c9a66" -#define UUID_VOLATILE_MEMORY "7305944f-fdda-44e3-b16c-3f22d252e5d0" -#define UUID_PERSISTENT_MEMORY "66f0d379-b4f3-4074-ac43-0d3318b78cdb" -#define UUID_CONTROL_REGION "92f701f6-13b4-405d-910b-299367e8234c" -#define UUID_DATA_REGION "91af0530-5d86-470e-a6b0-0a2db9408249" -#define UUID_VOLATILE_VIRTUAL_DISK "77ab535a-45fc-624b-5560-f7b281d1f96e" -#define UUID_VOLATILE_VIRTUAL_CD "3d5abd30-4175-87ce-6d64-d2ade523c4bb" -#define UUID_PERSISTENT_VIRTUAL_DISK "5cea02c9-4d07-69d3-269f-4496fbe096f9" -#define UUID_PERSISTENT_VIRTUAL_CD "08018188-42cd-bb48-100f-5387d53ded3d" -#define UUID_NFIT_DIMM_N_MSFT "1ee68b36-d4bd-4a1a-9a16-4f8e53d46e05" -#define UUID_NFIT_DIMM_N_HPE1 "9002c334-acf3-4c0e-9642-a235f0d53bc6" -#define UUID_NFIT_DIMM_N_HPE2 "5008664b-b758-41a0-a03c-27c2f2d04f7e" -#define UUID_NFIT_DIMM_N_HYPERV "5746c5f2-a9a2-4264-ad0e-e4ddc9e09e80" - -/* Processor Properties (ACPI 6.2) */ - -#define UUID_CACHE_PROPERTIES "6DC63E77-257E-4E78-A973-A21F2796898D" -#define UUID_PHYSICAL_PROPERTY "DDE4D59A-AA42-4349-B407-EA40F57D9FB7" - -/* Miscellaneous */ - -#define UUID_PLATFORM_CAPABILITIES "0811b06e-4a27-44f9-8d60-3cbbc22e7b48" -#define UUID_DYNAMIC_ENUMERATION "d8c1a3a6-be9b-4c9b-91bf-c3cb81fc5daf" -#define UUID_BATTERY_THERMAL_LIMIT "4c2067e3-887d-475c-9720-4af1d3ed602e" -#define UUID_THERMAL_EXTENSIONS "14d399cd-7a27-4b18-8fb4-7cb7b9f4e500" -#define UUID_DEVICE_PROPERTIES "daffd814-6eba-4d8c-8a91-bc9bbf4aa301" -#define UUID_DEVICE_GRAPHS "ab02a46b-74c7-45a2-bd68-f7d344ef2153" -#define UUID_HIERARCHICAL_DATA_EXTENSION "dbb8e3e6-5886-4ba6-8795-1319f52a966b" -#define UUID_CORESIGHT_GRAPH "3ecbc8b6-1d0e-4fb3-8107-e627f805c6cd" -#define UUID_USB4_CAPABILITIES "23a0d13a-26ab-486c-9c5f-0ffa525a575a" -#define UUID_1ST_FUNCTION_ID "893f00a6-660c-494e-bcfd-3043f4fb67c0" -#define UUID_2ND_FUNCTION_ID "107ededd-d381-4fd7-8da9-08e9a6c79644" -#endif /* __ACUUID_H__ */ diff --git a/Private/acpiSDK/source/include/amlcode.h b/Private/acpiSDK/source/include/amlcode.h deleted file mode 100644 index 62cbffad..00000000 --- a/Private/acpiSDK/source/include/amlcode.h +++ /dev/null @@ -1,618 +0,0 @@ -/****************************************************************************** - * - * Name: amlcode.h - Definitions for AML, as included in "definition blocks" - * Declarations and definitions contained herein are derived - * directly from the ACPI specification. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __AMLCODE_H__ -#define __AMLCODE_H__ - -/* primary opcodes */ - -#define AML_ZERO_OP (UINT16) 0x00 -#define AML_ONE_OP (UINT16) 0x01 -#define AML_ALIAS_OP (UINT16) 0x06 -#define AML_NAME_OP (UINT16) 0x08 -#define AML_BYTE_OP (UINT16) 0x0a -#define AML_WORD_OP (UINT16) 0x0b -#define AML_DWORD_OP (UINT16) 0x0c -#define AML_STRING_OP (UINT16) 0x0d -#define AML_QWORD_OP (UINT16) 0x0e /* ACPI 2.0 */ -#define AML_SCOPE_OP (UINT16) 0x10 -#define AML_BUFFER_OP (UINT16) 0x11 -#define AML_PACKAGE_OP (UINT16) 0x12 -#define AML_VARIABLE_PACKAGE_OP (UINT16) 0x13 /* ACPI 2.0 */ -#define AML_METHOD_OP (UINT16) 0x14 -#define AML_EXTERNAL_OP (UINT16) 0x15 /* ACPI 6.0 */ -#define AML_DUAL_NAME_PREFIX (UINT16) 0x2e -#define AML_MULTI_NAME_PREFIX (UINT16) 0x2f -#define AML_EXTENDED_PREFIX (UINT16) 0x5b -#define AML_ROOT_PREFIX (UINT16) 0x5c -#define AML_PARENT_PREFIX (UINT16) 0x5e -#define AML_FIRST_LOCAL_OP (UINT16) 0x60 /* Used for Local op # calculations */ -#define AML_LOCAL0 (UINT16) 0x60 -#define AML_LOCAL1 (UINT16) 0x61 -#define AML_LOCAL2 (UINT16) 0x62 -#define AML_LOCAL3 (UINT16) 0x63 -#define AML_LOCAL4 (UINT16) 0x64 -#define AML_LOCAL5 (UINT16) 0x65 -#define AML_LOCAL6 (UINT16) 0x66 -#define AML_LOCAL7 (UINT16) 0x67 -#define AML_FIRST_ARG_OP (UINT16) 0x68 /* Used for Arg op # calculations */ -#define AML_ARG0 (UINT16) 0x68 -#define AML_ARG1 (UINT16) 0x69 -#define AML_ARG2 (UINT16) 0x6a -#define AML_ARG3 (UINT16) 0x6b -#define AML_ARG4 (UINT16) 0x6c -#define AML_ARG5 (UINT16) 0x6d -#define AML_ARG6 (UINT16) 0x6e -#define AML_STORE_OP (UINT16) 0x70 -#define AML_REF_OF_OP (UINT16) 0x71 -#define AML_ADD_OP (UINT16) 0x72 -#define AML_CONCATENATE_OP (UINT16) 0x73 -#define AML_SUBTRACT_OP (UINT16) 0x74 -#define AML_INCREMENT_OP (UINT16) 0x75 -#define AML_DECREMENT_OP (UINT16) 0x76 -#define AML_MULTIPLY_OP (UINT16) 0x77 -#define AML_DIVIDE_OP (UINT16) 0x78 -#define AML_SHIFT_LEFT_OP (UINT16) 0x79 -#define AML_SHIFT_RIGHT_OP (UINT16) 0x7a -#define AML_BIT_AND_OP (UINT16) 0x7b -#define AML_BIT_NAND_OP (UINT16) 0x7c -#define AML_BIT_OR_OP (UINT16) 0x7d -#define AML_BIT_NOR_OP (UINT16) 0x7e -#define AML_BIT_XOR_OP (UINT16) 0x7f -#define AML_BIT_NOT_OP (UINT16) 0x80 -#define AML_FIND_SET_LEFT_BIT_OP (UINT16) 0x81 -#define AML_FIND_SET_RIGHT_BIT_OP (UINT16) 0x82 -#define AML_DEREF_OF_OP (UINT16) 0x83 -#define AML_CONCATENATE_TEMPLATE_OP (UINT16) 0x84 /* ACPI 2.0 */ -#define AML_MOD_OP (UINT16) 0x85 /* ACPI 2.0 */ -#define AML_NOTIFY_OP (UINT16) 0x86 -#define AML_SIZE_OF_OP (UINT16) 0x87 -#define AML_INDEX_OP (UINT16) 0x88 -#define AML_MATCH_OP (UINT16) 0x89 -#define AML_CREATE_DWORD_FIELD_OP (UINT16) 0x8a -#define AML_CREATE_WORD_FIELD_OP (UINT16) 0x8b -#define AML_CREATE_BYTE_FIELD_OP (UINT16) 0x8c -#define AML_CREATE_BIT_FIELD_OP (UINT16) 0x8d -#define AML_OBJECT_TYPE_OP (UINT16) 0x8e -#define AML_CREATE_QWORD_FIELD_OP (UINT16) 0x8f /* ACPI 2.0 */ -#define AML_LOGICAL_AND_OP (UINT16) 0x90 -#define AML_LOGICAL_OR_OP (UINT16) 0x91 -#define AML_LOGICAL_NOT_OP (UINT16) 0x92 -#define AML_LOGICAL_EQUAL_OP (UINT16) 0x93 -#define AML_LOGICAL_GREATER_OP (UINT16) 0x94 -#define AML_LOGICAL_LESS_OP (UINT16) 0x95 -#define AML_TO_BUFFER_OP (UINT16) 0x96 /* ACPI 2.0 */ -#define AML_TO_DECIMAL_STRING_OP (UINT16) 0x97 /* ACPI 2.0 */ -#define AML_TO_HEX_STRING_OP (UINT16) 0x98 /* ACPI 2.0 */ -#define AML_TO_INTEGER_OP (UINT16) 0x99 /* ACPI 2.0 */ -#define AML_TO_STRING_OP (UINT16) 0x9c /* ACPI 2.0 */ -#define AML_COPY_OBJECT_OP (UINT16) 0x9d /* ACPI 2.0 */ -#define AML_MID_OP (UINT16) 0x9e /* ACPI 2.0 */ -#define AML_CONTINUE_OP (UINT16) 0x9f /* ACPI 2.0 */ -#define AML_IF_OP (UINT16) 0xa0 -#define AML_ELSE_OP (UINT16) 0xa1 -#define AML_WHILE_OP (UINT16) 0xa2 -#define AML_NOOP_OP (UINT16) 0xa3 -#define AML_RETURN_OP (UINT16) 0xa4 -#define AML_BREAK_OP (UINT16) 0xa5 -#define AML_COMMENT_OP (UINT16) 0xa9 -#define AML_BREAKPOINT_OP (UINT16) 0xcc -#define AML_ONES_OP (UINT16) 0xff - - -/* - * Combination opcodes (actually two one-byte opcodes) - * Used by the disassembler and iASL compiler - */ -#define AML_LOGICAL_GREATER_EQUAL_OP (UINT16) 0x9295 /* LNot (LLess) */ -#define AML_LOGICAL_LESS_EQUAL_OP (UINT16) 0x9294 /* LNot (LGreater) */ -#define AML_LOGICAL_NOT_EQUAL_OP (UINT16) 0x9293 /* LNot (LEqual) */ - - -/* Prefixed (2-byte) opcodes (with AML_EXTENDED_PREFIX) */ - -#define AML_EXTENDED_OPCODE (UINT16) 0x5b00 /* Prefix for 2-byte opcodes */ - -#define AML_MUTEX_OP (UINT16) 0x5b01 -#define AML_EVENT_OP (UINT16) 0x5b02 -#define AML_SHIFT_RIGHT_BIT_OP (UINT16) 0x5b10 /* Obsolete, not in ACPI spec */ -#define AML_SHIFT_LEFT_BIT_OP (UINT16) 0x5b11 /* Obsolete, not in ACPI spec */ -#define AML_CONDITIONAL_REF_OF_OP (UINT16) 0x5b12 -#define AML_CREATE_FIELD_OP (UINT16) 0x5b13 -#define AML_LOAD_TABLE_OP (UINT16) 0x5b1f /* ACPI 2.0 */ -#define AML_LOAD_OP (UINT16) 0x5b20 -#define AML_STALL_OP (UINT16) 0x5b21 -#define AML_SLEEP_OP (UINT16) 0x5b22 -#define AML_ACQUIRE_OP (UINT16) 0x5b23 -#define AML_SIGNAL_OP (UINT16) 0x5b24 -#define AML_WAIT_OP (UINT16) 0x5b25 -#define AML_RESET_OP (UINT16) 0x5b26 -#define AML_RELEASE_OP (UINT16) 0x5b27 -#define AML_FROM_BCD_OP (UINT16) 0x5b28 -#define AML_TO_BCD_OP (UINT16) 0x5b29 -#define AML_UNLOAD_OP (UINT16) 0x5b2a -#define AML_REVISION_OP (UINT16) 0x5b30 -#define AML_DEBUG_OP (UINT16) 0x5b31 -#define AML_FATAL_OP (UINT16) 0x5b32 -#define AML_TIMER_OP (UINT16) 0x5b33 /* ACPI 3.0 */ -#define AML_REGION_OP (UINT16) 0x5b80 -#define AML_FIELD_OP (UINT16) 0x5b81 -#define AML_DEVICE_OP (UINT16) 0x5b82 -#define AML_PROCESSOR_OP (UINT16) 0x5b83 -#define AML_POWER_RESOURCE_OP (UINT16) 0x5b84 -#define AML_THERMAL_ZONE_OP (UINT16) 0x5b85 -#define AML_INDEX_FIELD_OP (UINT16) 0x5b86 -#define AML_BANK_FIELD_OP (UINT16) 0x5b87 -#define AML_DATA_REGION_OP (UINT16) 0x5b88 /* ACPI 2.0 */ - - -/* - * Opcodes for "Field" operators - */ -#define AML_FIELD_OFFSET_OP (UINT8) 0x00 -#define AML_FIELD_ACCESS_OP (UINT8) 0x01 -#define AML_FIELD_CONNECTION_OP (UINT8) 0x02 /* ACPI 5.0 */ -#define AML_FIELD_EXT_ACCESS_OP (UINT8) 0x03 /* ACPI 5.0 */ - - -/* - * Internal opcodes - * Use only "Unknown" AML opcodes, don't attempt to use - * any valid ACPI ASCII values (A-Z, 0-9, '-') - */ -#define AML_INT_NAMEPATH_OP (UINT16) 0x002d -#define AML_INT_NAMEDFIELD_OP (UINT16) 0x0030 -#define AML_INT_RESERVEDFIELD_OP (UINT16) 0x0031 -#define AML_INT_ACCESSFIELD_OP (UINT16) 0x0032 -#define AML_INT_BYTELIST_OP (UINT16) 0x0033 -#define AML_INT_METHODCALL_OP (UINT16) 0x0035 -#define AML_INT_RETURN_VALUE_OP (UINT16) 0x0036 -#define AML_INT_EVAL_SUBTREE_OP (UINT16) 0x0037 -#define AML_INT_CONNECTION_OP (UINT16) 0x0038 -#define AML_INT_EXTACCESSFIELD_OP (UINT16) 0x0039 - -#define ARG_NONE 0x0 - -/* - * Argument types for the AML Parser - * Each field in the ArgTypes UINT32 is 5 bits, allowing for a maximum of 6 arguments. - * There can be up to 31 unique argument types - * Zero is reserved as end-of-list indicator - */ -#define ARGP_BYTEDATA 0x01 -#define ARGP_BYTELIST 0x02 -#define ARGP_CHARLIST 0x03 -#define ARGP_DATAOBJ 0x04 -#define ARGP_DATAOBJLIST 0x05 -#define ARGP_DWORDDATA 0x06 -#define ARGP_FIELDLIST 0x07 -#define ARGP_NAME 0x08 -#define ARGP_NAMESTRING 0x09 -#define ARGP_OBJLIST 0x0A -#define ARGP_PKGLENGTH 0x0B -#define ARGP_SUPERNAME 0x0C -#define ARGP_TARGET 0x0D -#define ARGP_TERMARG 0x0E -#define ARGP_TERMLIST 0x0F -#define ARGP_WORDDATA 0x10 -#define ARGP_QWORDDATA 0x11 -#define ARGP_SIMPLENAME 0x12 /* NameString | LocalTerm | ArgTerm */ -#define ARGP_NAME_OR_REF 0x13 /* For ObjectType only */ -#define ARGP_MAX 0x13 -#define ARGP_COMMENT 0x14 - -/* - * Resolved argument types for the AML Interpreter - * Each field in the ArgTypes UINT32 is 5 bits, allowing for a maximum of 6 arguments. - * There can be up to 31 unique argument types (0 is end-of-arg-list indicator) - * - * Note1: These values are completely independent from the ACPI_TYPEs - * i.e., ARGI_INTEGER != ACPI_TYPE_INTEGER - * - * Note2: If and when 5 bits becomes insufficient, it would probably be best - * to convert to a 6-byte array of argument types, allowing 8 bits per argument. - */ - -/* Single, simple types */ - -#define ARGI_ANYTYPE 0x01 /* Don't care */ -#define ARGI_PACKAGE 0x02 -#define ARGI_EVENT 0x03 -#define ARGI_MUTEX 0x04 -#define ARGI_DDBHANDLE 0x05 - -/* Interchangeable types (via implicit conversion) */ - -#define ARGI_INTEGER 0x06 -#define ARGI_STRING 0x07 -#define ARGI_BUFFER 0x08 -#define ARGI_BUFFER_OR_STRING 0x09 /* Used by MID op only */ -#define ARGI_COMPUTEDATA 0x0A /* Buffer, String, or Integer */ - -/* Reference objects */ - -#define ARGI_INTEGER_REF 0x0B -#define ARGI_OBJECT_REF 0x0C -#define ARGI_DEVICE_REF 0x0D -#define ARGI_REFERENCE 0x0E -#define ARGI_TARGETREF 0x0F /* Target, subject to implicit conversion */ -#define ARGI_FIXED_TARGET 0x10 /* Target, no implicit conversion */ -#define ARGI_SIMPLE_TARGET 0x11 /* Name, Local, Arg -- no implicit conversion */ -#define ARGI_STORE_TARGET 0x12 /* Target for store is TARGETREF + package objects */ - -/* Multiple/complex types */ - -#define ARGI_DATAOBJECT 0x13 /* Buffer, String, package or reference to a Node - Used only by SizeOf operator*/ -#define ARGI_COMPLEXOBJ 0x14 /* Buffer, String, or package (Used by INDEX op only) */ -#define ARGI_REF_OR_STRING 0x15 /* Reference or String (Used by DEREFOF op only) */ -#define ARGI_REGION_OR_BUFFER 0x16 /* Used by LOAD op only */ -#define ARGI_DATAREFOBJ 0x17 - -/* Note: types above can expand to 0x1F maximum */ - -#define ARGI_INVALID_OPCODE 0xFFFFFFFF - - -/* - * Some of the flags and types below are of the form: - * - * AML_FLAGS_EXEC_#A_#T,#R, or - * AML_TYPE_EXEC_#A_#T,#R where: - * - * #A is the number of required arguments - * #T is the number of target operands - * #R indicates whether there is a return value - * - * These types are used for the top-level dispatch of the AML - * opcode. They group similar operators that can share common - * front-end code before dispatch to the final code that implements - * the operator. - */ - -/* - * Opcode information flags - */ -#define AML_LOGICAL 0x0001 -#define AML_LOGICAL_NUMERIC 0x0002 -#define AML_MATH 0x0004 -#define AML_CREATE 0x0008 -#define AML_FIELD 0x0010 -#define AML_DEFER 0x0020 -#define AML_NAMED 0x0040 -#define AML_NSNODE 0x0080 -#define AML_NSOPCODE 0x0100 -#define AML_NSOBJECT 0x0200 -#define AML_HAS_RETVAL 0x0400 -#define AML_HAS_TARGET 0x0800 -#define AML_HAS_ARGS 0x1000 -#define AML_CONSTANT 0x2000 -#define AML_NO_OPERAND_RESOLVE 0x4000 - -/* Convenient flag groupings of the flags above */ - -#define AML_FLAGS_EXEC_0A_0T_1R AML_HAS_RETVAL -#define AML_FLAGS_EXEC_1A_0T_0R AML_HAS_ARGS /* Monadic1 */ -#define AML_FLAGS_EXEC_1A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Monadic2 */ -#define AML_FLAGS_EXEC_1A_1T_0R AML_HAS_ARGS | AML_HAS_TARGET -#define AML_FLAGS_EXEC_1A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* Monadic2R */ -#define AML_FLAGS_EXEC_2A_0T_0R AML_HAS_ARGS /* Dyadic1 */ -#define AML_FLAGS_EXEC_2A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL /* Dyadic2 */ -#define AML_FLAGS_EXEC_2A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL /* Dyadic2R */ -#define AML_FLAGS_EXEC_2A_2T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL -#define AML_FLAGS_EXEC_3A_0T_0R AML_HAS_ARGS -#define AML_FLAGS_EXEC_3A_1T_1R AML_HAS_ARGS | AML_HAS_TARGET | AML_HAS_RETVAL -#define AML_FLAGS_EXEC_6A_0T_1R AML_HAS_ARGS | AML_HAS_RETVAL - - -/* - * The opcode Type is used in a dispatch table, do not change - * or add anything new without updating the table. - */ -#define AML_TYPE_EXEC_0A_0T_1R 0x00 /* 0 Args, 0 Target, 1 RetVal */ -#define AML_TYPE_EXEC_1A_0T_0R 0x01 /* 1 Args, 0 Target, 0 RetVal */ -#define AML_TYPE_EXEC_1A_0T_1R 0x02 /* 1 Args, 0 Target, 1 RetVal */ -#define AML_TYPE_EXEC_1A_1T_0R 0x03 /* 1 Args, 1 Target, 0 RetVal */ -#define AML_TYPE_EXEC_1A_1T_1R 0x04 /* 1 Args, 1 Target, 1 RetVal */ -#define AML_TYPE_EXEC_2A_0T_0R 0x05 /* 2 Args, 0 Target, 0 RetVal */ -#define AML_TYPE_EXEC_2A_0T_1R 0x06 /* 2 Args, 0 Target, 1 RetVal */ -#define AML_TYPE_EXEC_2A_1T_1R 0x07 /* 2 Args, 1 Target, 1 RetVal */ -#define AML_TYPE_EXEC_2A_2T_1R 0x08 /* 2 Args, 2 Target, 1 RetVal */ -#define AML_TYPE_EXEC_3A_0T_0R 0x09 /* 3 Args, 0 Target, 0 RetVal */ -#define AML_TYPE_EXEC_3A_1T_1R 0x0A /* 3 Args, 1 Target, 1 RetVal */ -#define AML_TYPE_EXEC_6A_0T_1R 0x0B /* 6 Args, 0 Target, 1 RetVal */ -/* End of types used in dispatch table */ - -#define AML_TYPE_LITERAL 0x0C -#define AML_TYPE_CONSTANT 0x0D -#define AML_TYPE_METHOD_ARGUMENT 0x0E -#define AML_TYPE_LOCAL_VARIABLE 0x0F -#define AML_TYPE_DATA_TERM 0x10 - -/* Generic for an op that returns a value */ - -#define AML_TYPE_METHOD_CALL 0x11 - -/* Miscellaneous types */ - -#define AML_TYPE_CREATE_FIELD 0x12 -#define AML_TYPE_CREATE_OBJECT 0x13 -#define AML_TYPE_CONTROL 0x14 -#define AML_TYPE_NAMED_NO_OBJ 0x15 -#define AML_TYPE_NAMED_FIELD 0x16 -#define AML_TYPE_NAMED_SIMPLE 0x17 -#define AML_TYPE_NAMED_COMPLEX 0x18 -#define AML_TYPE_RETURN 0x19 -#define AML_TYPE_UNDEFINED 0x1A -#define AML_TYPE_BOGUS 0x1B - -/* AML Package Length encodings */ - -#define ACPI_AML_PACKAGE_TYPE1 0x40 -#define ACPI_AML_PACKAGE_TYPE2 0x4000 -#define ACPI_AML_PACKAGE_TYPE3 0x400000 -#define ACPI_AML_PACKAGE_TYPE4 0x40000000 - -/* - * Opcode classes - */ -#define AML_CLASS_EXECUTE 0x00 -#define AML_CLASS_CREATE 0x01 -#define AML_CLASS_ARGUMENT 0x02 -#define AML_CLASS_NAMED_OBJECT 0x03 -#define AML_CLASS_CONTROL 0x04 -#define AML_CLASS_ASCII 0x05 -#define AML_CLASS_PREFIX 0x06 -#define AML_CLASS_INTERNAL 0x07 -#define AML_CLASS_RETURN_VALUE 0x08 -#define AML_CLASS_METHOD_CALL 0x09 -#define AML_CLASS_UNKNOWN 0x0A - - -/* Comparison operation codes for MatchOp operator */ - -typedef enum -{ - MATCH_MTR = 0, - MATCH_MEQ = 1, - MATCH_MLE = 2, - MATCH_MLT = 3, - MATCH_MGE = 4, - MATCH_MGT = 5 - -} AML_MATCH_OPERATOR; - -#define MAX_MATCH_OPERATOR 5 - - -/* - * FieldFlags - * - * This byte is extracted from the AML and includes three separate - * pieces of information about the field: - * 1) The field access type - * 2) The field update rule - * 3) The lock rule for the field - * - * Bits 00 - 03 : AccessType (AnyAcc, ByteAcc, etc.) - * 04 : LockRule (1 == Lock) - * 05 - 06 : UpdateRule - */ -#define AML_FIELD_ACCESS_TYPE_MASK 0x0F -#define AML_FIELD_LOCK_RULE_MASK 0x10 -#define AML_FIELD_UPDATE_RULE_MASK 0x60 - - -/* 1) Field Access Types */ - -typedef enum -{ - AML_FIELD_ACCESS_ANY = 0x00, - AML_FIELD_ACCESS_BYTE = 0x01, - AML_FIELD_ACCESS_WORD = 0x02, - AML_FIELD_ACCESS_DWORD = 0x03, - AML_FIELD_ACCESS_QWORD = 0x04, /* ACPI 2.0 */ - AML_FIELD_ACCESS_BUFFER = 0x05 /* ACPI 2.0 */ - -} AML_ACCESS_TYPE; - - -/* 2) Field Lock Rules */ - -typedef enum -{ - AML_FIELD_LOCK_NEVER = 0x00, - AML_FIELD_LOCK_ALWAYS = 0x10 - -} AML_LOCK_RULE; - - -/* 3) Field Update Rules */ - -typedef enum -{ - AML_FIELD_UPDATE_PRESERVE = 0x00, - AML_FIELD_UPDATE_WRITE_AS_ONES = 0x20, - AML_FIELD_UPDATE_WRITE_AS_ZEROS = 0x40 - -} AML_UPDATE_RULE; - - -/* - * Field Access Attributes. - * This byte is extracted from the AML via the - * AccessAs keyword - */ -typedef enum -{ - AML_FIELD_ATTRIB_QUICK = 0x02, - AML_FIELD_ATTRIB_SEND_RECEIVE = 0x04, - AML_FIELD_ATTRIB_BYTE = 0x06, - AML_FIELD_ATTRIB_WORD = 0x08, - AML_FIELD_ATTRIB_BLOCK = 0x0A, - AML_FIELD_ATTRIB_BYTES = 0x0B, - AML_FIELD_ATTRIB_PROCESS_CALL = 0x0C, - AML_FIELD_ATTRIB_BLOCK_PROCESS_CALL = 0x0D, - AML_FIELD_ATTRIB_RAW_BYTES = 0x0E, - AML_FIELD_ATTRIB_RAW_PROCESS_BYTES = 0x0F - -} AML_ACCESS_ATTRIBUTE; - - -/* Bit fields in the AML MethodFlags byte */ - -#define AML_METHOD_ARG_COUNT 0x07 -#define AML_METHOD_SERIALIZED 0x08 -#define AML_METHOD_SYNC_LEVEL 0xF0 - - -#endif /* __AMLCODE_H__ */ diff --git a/Private/acpiSDK/source/include/amlresrc.h b/Private/acpiSDK/source/include/amlresrc.h deleted file mode 100644 index 05fa1505..00000000 --- a/Private/acpiSDK/source/include/amlresrc.h +++ /dev/null @@ -1,901 +0,0 @@ -/****************************************************************************** - * - * Module Name: amlresrc.h - AML resource descriptors - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -/* acpisrc:StructDefs -- for acpisrc conversion */ - -#ifndef __AMLRESRC_H -#define __AMLRESRC_H - - -/* - * Resource descriptor tags, as defined in the ACPI specification. - * Used to symbolically reference fields within a descriptor. - */ -#define ACPI_RESTAG_ADDRESS "_ADR" -#define ACPI_RESTAG_ALIGNMENT "_ALN" -#define ACPI_RESTAG_ADDRESSSPACE "_ASI" -#define ACPI_RESTAG_ACCESSSIZE "_ASZ" -#define ACPI_RESTAG_TYPESPECIFICATTRIBUTES "_ATT" -#define ACPI_RESTAG_BASEADDRESS "_BAS" -#define ACPI_RESTAG_BUSMASTER "_BM_" /* Master(1), Slave(0) */ -#define ACPI_RESTAG_DEBOUNCETIME "_DBT" -#define ACPI_RESTAG_DECODE "_DEC" -#define ACPI_RESTAG_DEVICEPOLARITY "_DPL" -#define ACPI_RESTAG_DMA "_DMA" -#define ACPI_RESTAG_DMATYPE "_TYP" /* Compatible(0), A(1), B(2), F(3) */ -#define ACPI_RESTAG_DRIVESTRENGTH "_DRS" -#define ACPI_RESTAG_ENDIANNESS "_END" -#define ACPI_RESTAG_FLOWCONTROL "_FLC" -#define ACPI_RESTAG_FUNCTION "_FUN" -#define ACPI_RESTAG_GRANULARITY "_GRA" -#define ACPI_RESTAG_INTERRUPT "_INT" -#define ACPI_RESTAG_INTERRUPTLEVEL "_LL_" /* ActiveLo(1), ActiveHi(0) */ -#define ACPI_RESTAG_INTERRUPTSHARE "_SHR" /* Shareable(1), NoShare(0) */ -#define ACPI_RESTAG_INTERRUPTTYPE "_HE_" /* Edge(1), Level(0) */ -#define ACPI_RESTAG_IORESTRICTION "_IOR" -#define ACPI_RESTAG_LENGTH "_LEN" -#define ACPI_RESTAG_LINE "_LIN" -#define ACPI_RESTAG_LOCALPORT "_PRT" -#define ACPI_RESTAG_MEMATTRIBUTES "_MTP" /* Memory(0), Reserved(1), ACPI(2), NVS(3) */ -#define ACPI_RESTAG_MEMTYPE "_MEM" /* NonCache(0), Cacheable(1) Cache+combine(2), Cache+prefetch(3) */ -#define ACPI_RESTAG_MAXADDR "_MAX" -#define ACPI_RESTAG_MINADDR "_MIN" -#define ACPI_RESTAG_MAXTYPE "_MAF" -#define ACPI_RESTAG_MINTYPE "_MIF" -#define ACPI_RESTAG_MODE "_MOD" -#define ACPI_RESTAG_PARITY "_PAR" -#define ACPI_RESTAG_PHASE "_PHA" -#define ACPI_RESTAG_PHYTYPE "_PHY" -#define ACPI_RESTAG_PIN "_PIN" -#define ACPI_RESTAG_PINCONFIG "_PPI" -#define ACPI_RESTAG_PINCONFIG_TYPE "_TYP" -#define ACPI_RESTAG_PINCONFIG_VALUE "_VAL" -#define ACPI_RESTAG_POLARITY "_POL" -#define ACPI_RESTAG_REGISTERBITOFFSET "_RBO" -#define ACPI_RESTAG_REGISTERBITWIDTH "_RBW" -#define ACPI_RESTAG_RANGETYPE "_RNG" -#define ACPI_RESTAG_READWRITETYPE "_RW_" /* ReadOnly(0), Writeable (1) */ -#define ACPI_RESTAG_LENGTH_RX "_RXL" -#define ACPI_RESTAG_LENGTH_TX "_TXL" -#define ACPI_RESTAG_SLAVEMODE "_SLV" -#define ACPI_RESTAG_SPEED "_SPE" -#define ACPI_RESTAG_STOPBITS "_STB" -#define ACPI_RESTAG_TRANSLATION "_TRA" -#define ACPI_RESTAG_TRANSTYPE "_TRS" /* Sparse(1), Dense(0) */ -#define ACPI_RESTAG_TYPE "_TTP" /* Translation(1), Static (0) */ -#define ACPI_RESTAG_XFERTYPE "_SIZ" /* 8(0), 8And16(1), 16(2) */ -#define ACPI_RESTAG_VENDORDATA "_VEN" -#define ACPI_RESTAG_FQN "_FQN" -#define ACPI_RESTAG_FQD "_FQD" - - -/* Default sizes for "small" resource descriptors */ - -#define ASL_RDESC_IRQ_SIZE 0x02 -#define ASL_RDESC_DMA_SIZE 0x02 -#define ASL_RDESC_ST_DEPEND_SIZE 0x00 -#define ASL_RDESC_END_DEPEND_SIZE 0x00 -#define ASL_RDESC_IO_SIZE 0x07 -#define ASL_RDESC_FIXED_IO_SIZE 0x03 -#define ASL_RDESC_FIXED_DMA_SIZE 0x05 -#define ASL_RDESC_END_TAG_SIZE 0x01 - - -typedef struct asl_resource_node -{ - UINT32 BufferLength; - void *Buffer; - struct asl_resource_node *Next; - -} ASL_RESOURCE_NODE; - -typedef struct asl_resource_info -{ - ACPI_PARSE_OBJECT *DescriptorTypeOp; /* Resource descriptor parse node */ - ACPI_PARSE_OBJECT *MappingOp; /* Used for mapfile support */ - UINT32 CurrentByteOffset; /* Offset in resource template */ - -} ASL_RESOURCE_INFO; - - -/* Macros used to generate AML resource length fields */ - -#define ACPI_AML_SIZE_LARGE(r) (sizeof (r) - sizeof (AML_RESOURCE_LARGE_HEADER)) -#define ACPI_AML_SIZE_SMALL(r) (sizeof (r) - sizeof (AML_RESOURCE_SMALL_HEADER)) - -/* - * Resource descriptors defined in the ACPI specification. - * - * Packing/alignment must be BYTE because these descriptors - * are used to overlay the raw AML byte stream. - */ -#pragma pack(1) - -/* - * SMALL descriptors - */ -#define AML_RESOURCE_SMALL_HEADER_COMMON \ - UINT8 DescriptorType; - -typedef struct aml_resource_small_header -{ - AML_RESOURCE_SMALL_HEADER_COMMON - -} AML_RESOURCE_SMALL_HEADER; - - -typedef struct aml_resource_irq -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT16 IrqMask; - UINT8 Flags; - -} AML_RESOURCE_IRQ; - - -typedef struct aml_resource_irq_noflags -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT16 IrqMask; - -} AML_RESOURCE_IRQ_NOFLAGS; - - -typedef struct aml_resource_dma -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT8 DmaChannelMask; - UINT8 Flags; - -} AML_RESOURCE_DMA; - - -typedef struct aml_resource_start_dependent -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT8 Flags; - -} AML_RESOURCE_START_DEPENDENT; - - -typedef struct aml_resource_start_dependent_noprio -{ - AML_RESOURCE_SMALL_HEADER_COMMON - -} AML_RESOURCE_START_DEPENDENT_NOPRIO; - - -typedef struct aml_resource_end_dependent -{ - AML_RESOURCE_SMALL_HEADER_COMMON - -} AML_RESOURCE_END_DEPENDENT; - - -typedef struct aml_resource_io -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT8 Flags; - UINT16 Minimum; - UINT16 Maximum; - UINT8 Alignment; - UINT8 AddressLength; - -} AML_RESOURCE_IO; - - -typedef struct aml_resource_fixed_io -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT16 Address; - UINT8 AddressLength; - -} AML_RESOURCE_FIXED_IO; - - -typedef struct aml_resource_vendor_small -{ - AML_RESOURCE_SMALL_HEADER_COMMON - -} AML_RESOURCE_VENDOR_SMALL; - - -typedef struct aml_resource_end_tag -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT8 Checksum; - -} AML_RESOURCE_END_TAG; - - -typedef struct aml_resource_fixed_dma -{ - AML_RESOURCE_SMALL_HEADER_COMMON - UINT16 RequestLines; - UINT16 Channels; - UINT8 Width; - -} AML_RESOURCE_FIXED_DMA; - - -/* - * LARGE descriptors - */ -#define AML_RESOURCE_LARGE_HEADER_COMMON \ - UINT8 DescriptorType;\ - UINT16 ResourceLength; - -typedef struct aml_resource_large_header -{ - AML_RESOURCE_LARGE_HEADER_COMMON - -} AML_RESOURCE_LARGE_HEADER; - - -/* General Flags for address space resource descriptors */ - -#define ACPI_RESOURCE_FLAG_DEC 2 -#define ACPI_RESOURCE_FLAG_MIF 4 -#define ACPI_RESOURCE_FLAG_MAF 8 - -typedef struct aml_resource_memory24 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 Flags; - UINT16 Minimum; - UINT16 Maximum; - UINT16 Alignment; - UINT16 AddressLength; - -} AML_RESOURCE_MEMORY24; - - -typedef struct aml_resource_vendor_large -{ - AML_RESOURCE_LARGE_HEADER_COMMON - -} AML_RESOURCE_VENDOR_LARGE; - - -typedef struct aml_resource_memory32 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 Flags; - UINT32 Minimum; - UINT32 Maximum; - UINT32 Alignment; - UINT32 AddressLength; - -} AML_RESOURCE_MEMORY32; - - -typedef struct aml_resource_fixed_memory32 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 Flags; - UINT32 Address; - UINT32 AddressLength; - -} AML_RESOURCE_FIXED_MEMORY32; - - -#define AML_RESOURCE_ADDRESS_COMMON \ - UINT8 ResourceType; \ - UINT8 Flags; \ - UINT8 SpecificFlags; - - -typedef struct aml_resource_address -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_ADDRESS_COMMON - -} AML_RESOURCE_ADDRESS; - - -typedef struct aml_resource_extended_address64 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_ADDRESS_COMMON - UINT8 RevisionID; - UINT8 Reserved; - UINT64 Granularity; - UINT64 Minimum; - UINT64 Maximum; - UINT64 TranslationOffset; - UINT64 AddressLength; - UINT64 TypeSpecific; - -} AML_RESOURCE_EXTENDED_ADDRESS64; - -#define AML_RESOURCE_EXTENDED_ADDRESS_REVISION 1 /* ACPI 3.0 */ - - -typedef struct aml_resource_address64 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_ADDRESS_COMMON - UINT64 Granularity; - UINT64 Minimum; - UINT64 Maximum; - UINT64 TranslationOffset; - UINT64 AddressLength; - -} AML_RESOURCE_ADDRESS64; - - -typedef struct aml_resource_address32 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_ADDRESS_COMMON - UINT32 Granularity; - UINT32 Minimum; - UINT32 Maximum; - UINT32 TranslationOffset; - UINT32 AddressLength; - -} AML_RESOURCE_ADDRESS32; - - -typedef struct aml_resource_address16 -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_ADDRESS_COMMON - UINT16 Granularity; - UINT16 Minimum; - UINT16 Maximum; - UINT16 TranslationOffset; - UINT16 AddressLength; - -} AML_RESOURCE_ADDRESS16; - - -typedef struct aml_resource_extended_irq -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 Flags; - UINT8 InterruptCount; - union { - UINT32 Interrupt; - ACPI_FLEX_ARRAY(UINT32, Interrupts); - }; - /* ResSourceIndex, ResSource optional fields follow */ - -} AML_RESOURCE_EXTENDED_IRQ; - - -typedef struct aml_resource_generic_register -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 AddressSpaceId; - UINT8 BitWidth; - UINT8 BitOffset; - UINT8 AccessSize; /* ACPI 3.0, was previously Reserved */ - UINT64 Address; - -} AML_RESOURCE_GENERIC_REGISTER; - - -/* Common descriptor for GpioInt and GpioIo (ACPI 5.0) */ - -typedef struct aml_resource_gpio -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT8 ConnectionType; - UINT16 Flags; - UINT16 IntFlags; - UINT8 PinConfig; - UINT16 DriveStrength; - UINT16 DebounceTimeout; - UINT16 PinTableOffset; - UINT8 ResSourceIndex; - UINT16 ResSourceOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) PIN list (Words) - * 2) Resource Source String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_GPIO; - -#define AML_RESOURCE_GPIO_REVISION 1 /* ACPI 5.0 */ - -/* Values for ConnectionType above */ - -#define AML_RESOURCE_GPIO_TYPE_INT 0 -#define AML_RESOURCE_GPIO_TYPE_IO 1 -#define AML_RESOURCE_MAX_GPIOTYPE 1 - - -/* Common preamble for all serial descriptors (ACPI 5.0) */ - -#define AML_RESOURCE_SERIAL_COMMON \ - UINT8 RevisionId; \ - UINT8 ResSourceIndex; \ - UINT8 Type; \ - UINT8 Flags; \ - UINT16 TypeSpecificFlags; \ - UINT8 TypeRevisionId; \ - UINT16 TypeDataLength; \ - -/* Values for the type field above */ - -#define AML_RESOURCE_I2C_SERIALBUSTYPE 1 -#define AML_RESOURCE_SPI_SERIALBUSTYPE 2 -#define AML_RESOURCE_UART_SERIALBUSTYPE 3 -#define AML_RESOURCE_CSI2_SERIALBUSTYPE 4 -#define AML_RESOURCE_MAX_SERIALBUSTYPE 4 -#define AML_RESOURCE_VENDOR_SERIALBUSTYPE 192 /* Vendor defined is 0xC0-0xFF (NOT SUPPORTED) */ - -typedef struct aml_resource_common_serialbus -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_SERIAL_COMMON - -} AML_RESOURCE_COMMON_SERIALBUS; - - -typedef struct aml_resource_csi2_serialbus -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_SERIAL_COMMON - - /* - * Optional fields follow immediately: - * 1) Vendor Data bytes - * 2) Resource Source String - */ - -} AML_RESOURCE_CSI2_SERIALBUS; - -#define AML_RESOURCE_CSI2_REVISION 1 /* ACPI 6.4 */ -#define AML_RESOURCE_CSI2_TYPE_REVISION 1 /* ACPI 6.4 */ -#define AML_RESOURCE_CSI2_MIN_DATA_LEN 0 /* ACPI 6.4 */ - -typedef struct aml_resource_i2c_serialbus -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_SERIAL_COMMON - UINT32 ConnectionSpeed; - UINT16 SlaveAddress; - /* - * Optional fields follow immediately: - * 1) Vendor Data bytes - * 2) Resource Source String - */ - -} AML_RESOURCE_I2C_SERIALBUS; - -#define AML_RESOURCE_I2C_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_I2C_TYPE_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_I2C_MIN_DATA_LEN 6 - -typedef struct aml_resource_spi_serialbus -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_SERIAL_COMMON - UINT32 ConnectionSpeed; - UINT8 DataBitLength; - UINT8 ClockPhase; - UINT8 ClockPolarity; - UINT16 DeviceSelection; - /* - * Optional fields follow immediately: - * 1) Vendor Data bytes - * 2) Resource Source String - */ - -} AML_RESOURCE_SPI_SERIALBUS; - -#define AML_RESOURCE_SPI_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_SPI_TYPE_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_SPI_MIN_DATA_LEN 9 - -typedef struct aml_resource_uart_serialbus -{ - AML_RESOURCE_LARGE_HEADER_COMMON - AML_RESOURCE_SERIAL_COMMON - UINT32 DefaultBaudRate; - UINT16 RxFifoSize; - UINT16 TxFifoSize; - UINT8 Parity; - UINT8 LinesEnabled; - /* - * Optional fields follow immediately: - * 1) Vendor Data bytes - * 2) Resource Source String - */ - -} AML_RESOURCE_UART_SERIALBUS; - -#define AML_RESOURCE_UART_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_UART_TYPE_REVISION 1 /* ACPI 5.0 */ -#define AML_RESOURCE_UART_MIN_DATA_LEN 10 - -typedef struct aml_resource_pin_function -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT8 PinConfig; - UINT16 FunctionNumber; - UINT16 PinTableOffset; - UINT8 ResSourceIndex; - UINT16 ResSourceOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) PIN list (Words) - * 2) Resource Source String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_PIN_FUNCTION; - -#define AML_RESOURCE_PIN_FUNCTION_REVISION 1 /* ACPI 6.2 */ - -typedef struct aml_resource_pin_config -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT8 PinConfigType; - UINT32 PinConfigValue; - UINT16 PinTableOffset; - UINT8 ResSourceIndex; - UINT16 ResSourceOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) PIN list (Words) - * 2) Resource Source String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_PIN_CONFIG; - -#define AML_RESOURCE_CLOCK_INPUT_REVISION 1 /* ACPI 6.5 */ - -typedef struct aml_resource_clock_input -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT16 FrequencyDivisor; - UINT32 FrequencyNumerator; - /* - * Optional fields follow immediately: - * 1) Resource Source index - * 2) Resource Source String - */ -} AML_RESOURCE_CLOCK_INPUT; - - -#define AML_RESOURCE_PIN_CONFIG_REVISION 1 /* ACPI 6.2 */ - -typedef struct aml_resource_pin_group -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT16 PinTableOffset; - UINT16 LabelOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) PIN list (Words) - * 2) Resource Label String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_PIN_GROUP; - -#define AML_RESOURCE_PIN_GROUP_REVISION 1 /* ACPI 6.2 */ - -typedef struct aml_resource_pin_group_function -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT16 FunctionNumber; - UINT8 ResSourceIndex; - UINT16 ResSourceOffset; - UINT16 ResSourceLabelOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) Resource Source String - * 2) Resource Source Label String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_PIN_GROUP_FUNCTION; - -#define AML_RESOURCE_PIN_GROUP_FUNCTION_REVISION 1 /* ACPI 6.2 */ - -typedef struct aml_resource_pin_group_config -{ - AML_RESOURCE_LARGE_HEADER_COMMON - UINT8 RevisionId; - UINT16 Flags; - UINT8 PinConfigType; - UINT32 PinConfigValue; - UINT8 ResSourceIndex; - UINT16 ResSourceOffset; - UINT16 ResSourceLabelOffset; - UINT16 VendorOffset; - UINT16 VendorLength; - /* - * Optional fields follow immediately: - * 1) Resource Source String - * 2) Resource Source Label String - * 3) Vendor Data bytes - */ - -} AML_RESOURCE_PIN_GROUP_CONFIG; - -#define AML_RESOURCE_PIN_GROUP_CONFIG_REVISION 1 /* ACPI 6.2 */ - -/* restore default alignment */ - -#pragma pack() - -/* Union of all resource descriptors, so we can allocate the worst case */ - -typedef union aml_resource -{ - /* Descriptor headers */ - - UINT8 DescriptorType; - AML_RESOURCE_SMALL_HEADER SmallHeader; - AML_RESOURCE_LARGE_HEADER LargeHeader; - - /* Small resource descriptors */ - - AML_RESOURCE_IRQ Irq; - AML_RESOURCE_DMA Dma; - AML_RESOURCE_START_DEPENDENT StartDpf; - AML_RESOURCE_END_DEPENDENT EndDpf; - AML_RESOURCE_IO Io; - AML_RESOURCE_FIXED_IO FixedIo; - AML_RESOURCE_FIXED_DMA FixedDma; - AML_RESOURCE_VENDOR_SMALL VendorSmall; - AML_RESOURCE_END_TAG EndTag; - - /* Large resource descriptors */ - - AML_RESOURCE_MEMORY24 Memory24; - AML_RESOURCE_GENERIC_REGISTER GenericReg; - AML_RESOURCE_VENDOR_LARGE VendorLarge; - AML_RESOURCE_MEMORY32 Memory32; - AML_RESOURCE_FIXED_MEMORY32 FixedMemory32; - AML_RESOURCE_ADDRESS16 Address16; - AML_RESOURCE_ADDRESS32 Address32; - AML_RESOURCE_ADDRESS64 Address64; - AML_RESOURCE_EXTENDED_ADDRESS64 ExtAddress64; - AML_RESOURCE_EXTENDED_IRQ ExtendedIrq; - AML_RESOURCE_GPIO Gpio; - AML_RESOURCE_I2C_SERIALBUS I2cSerialBus; - AML_RESOURCE_SPI_SERIALBUS SpiSerialBus; - AML_RESOURCE_UART_SERIALBUS UartSerialBus; - AML_RESOURCE_CSI2_SERIALBUS Csi2SerialBus; - AML_RESOURCE_COMMON_SERIALBUS CommonSerialBus; - AML_RESOURCE_PIN_FUNCTION PinFunction; - AML_RESOURCE_PIN_CONFIG PinConfig; - AML_RESOURCE_PIN_GROUP PinGroup; - AML_RESOURCE_PIN_GROUP_FUNCTION PinGroupFunction; - AML_RESOURCE_PIN_GROUP_CONFIG PinGroupConfig; - AML_RESOURCE_CLOCK_INPUT ClockInput; - - /* Utility overlays */ - - AML_RESOURCE_ADDRESS Address; - UINT32 DwordItem; - UINT16 WordItem; - UINT8 ByteItem; - -} AML_RESOURCE; - - -/* Interfaces used by both the disassembler and compiler */ - -void -MpSaveGpioInfo ( - ACPI_PARSE_OBJECT *Op, - AML_RESOURCE *Resource, - UINT32 PinCount, - UINT16 *PinList, - char *DeviceName); - -void -MpSaveSerialInfo ( - ACPI_PARSE_OBJECT *Op, - AML_RESOURCE *Resource, - char *DeviceName); - -char * -MpGetHidFromParseTree ( - ACPI_NAMESPACE_NODE *HidNode); - -char * -MpGetHidViaNamestring ( - char *DeviceName); - -char * -MpGetConnectionInfo ( - ACPI_PARSE_OBJECT *Op, - UINT32 PinIndex, - ACPI_NAMESPACE_NODE **TargetNode, - char **TargetName); - -char * -MpGetParentDeviceHid ( - ACPI_PARSE_OBJECT *Op, - ACPI_NAMESPACE_NODE **TargetNode, - char **ParentDeviceName); - -char * -MpGetDdnValue ( - char *DeviceName); - -char * -MpGetHidValue ( - ACPI_NAMESPACE_NODE *DeviceNode); - -#endif diff --git a/Private/acpiSDK/source/include/platform/accygwin.h b/Private/acpiSDK/source/include/platform/accygwin.h deleted file mode 100644 index 98782ff8..00000000 --- a/Private/acpiSDK/source/include/platform/accygwin.h +++ /dev/null @@ -1,209 +0,0 @@ -/****************************************************************************** - * - * Name: accygwin.h - OS specific defines, etc. for cygwin environment - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACCYGWIN_H__ -#define __ACCYGWIN_H__ - -/* - * ACPICA configuration - */ -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_DO_WHILE_0 -#define ACPI_FLUSH_CPU_CACHE() - -/* - * This is needed since sem_timedwait does not appear to work properly - * on cygwin (always hangs forever). - */ -#define ACPI_USE_ALTERNATE_TIMEOUT - - -#ifdef ACPI_USE_STANDARD_HEADERS -#include <unistd.h> -#endif - -#if defined(__ia64__) || defined(__x86_64__) -#define ACPI_MACHINE_WIDTH 64 -#define COMPILER_DEPENDENT_INT64 long -#define COMPILER_DEPENDENT_UINT64 unsigned long -#else -#define ACPI_MACHINE_WIDTH 32 -#define COMPILER_DEPENDENT_INT64 long long -#define COMPILER_DEPENDENT_UINT64 unsigned long long -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 -#endif - -#ifndef __cdecl -#define __cdecl -#endif - -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) if (GLptr) Acq=1; else Acq=0; -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pending) Pending = 1 - -/* On Cygwin, pthread_t is a pointer */ - -#define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (pthread)) - - -/* - * The vsnprintf/snprintf functions are defined by c99, but cygwin/gcc - * does not enable this prototype when the -ansi flag is set. Also related - * to __STRICT_ANSI__. So, we just declare the prototype here. - */ -int -vsnprintf (char *s, size_t n, const char *format, va_list ap); - -int -snprintf (char *s, size_t n, const char *format, ...); - -#endif /* __ACCYGWIN_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acdragonfly.h b/Private/acpiSDK/source/include/platform/acdragonfly.h deleted file mode 100644 index c2dc0910..00000000 --- a/Private/acpiSDK/source/include/platform/acdragonfly.h +++ /dev/null @@ -1,236 +0,0 @@ -/****************************************************************************** - * - * Name: acdragonfly.h - OS specific for DragonFly BSD - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2003, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACDRAGONFLY_H_ -#define __ACDRAGONFLY_H_ - -#include <sys/types.h> - -#ifdef __LP64__ -#define ACPI_MACHINE_WIDTH 64 -#else -#define ACPI_MACHINE_WIDTH 32 -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 -#endif - -#define ACPI_UINTPTR_T uintptr_t -#define COMPILER_DEPENDENT_INT64 int64_t -#define COMPILER_DEPENDENT_UINT64 uint64_t - -#define ACPI_USE_DO_WHILE_0 -#define ACPI_USE_SYSTEM_CLIBRARY - -#ifdef _KERNEL - -#include "opt_acpi.h" -#include <sys/ctype.h> -#include <sys/systm.h> -#include <machine/acpica_machdep.h> -#include <stdarg.h> - -#ifdef ACPI_DEBUG -#define ACPI_DEBUG_OUTPUT /* enable debug output */ -#ifdef DEBUGGER_THREADING -#undef DEBUGGER_THREADING -#endif /* DEBUGGER_THREADING */ -#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED /* integrated with DDB */ -#include "opt_ddb.h" -#ifdef DDB -#define ACPI_DEBUGGER -#endif /* DDB */ -#define ACPI_DISASSEMBLER -#endif - -#ifdef ACPI_DEBUG_CACHE -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReleaseObject -#define AcpiOsReleaseObject(Cache, Object) \ - _AcpiOsReleaseObject((Cache), (Object), __func__, __LINE__) -#endif - -#ifdef ACPI_DEBUG_LOCKS -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireLock -#define AcpiOsAcquireLock(Handle) \ - _AcpiOsAcquireLock((Handle), __func__, __LINE__) -#endif - -#ifdef ACPI_DEBUG_MEMMAP -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsMapMemory -#define AcpiOsMapMemory(Where, Length) \ - _AcpiOsMapMemory((Where), (Length), __func__, __LINE__) - -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsUnmapMemory -#define AcpiOsUnmapMemory(LogicalAddress, Size) \ - _AcpiOsUnmapMemory((LogicalAddress), (Size), __func__, __LINE__) -#endif - -/* XXX TBI */ -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWaitEventsComplete -#define AcpiOsWaitEventsComplete() - -#define USE_NATIVE_ALLOCATE_ZEROED - -#define ACPI_SPINLOCK struct acpi_spinlock * -struct acpi_spinlock; - -#define ACPI_CACHE_T struct acpicache -struct acpicache; - -#else /* _KERNEL */ - -#define ACPI_USE_STANDARD_HEADERS - -#define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (pthread)) -#define ACPI_FLUSH_CPU_CACHE() - -#endif /* _KERNEL */ - -#endif /* __ACDRAGONFLY_H_ */ diff --git a/Private/acpiSDK/source/include/platform/acdragonflyex.h b/Private/acpiSDK/source/include/platform/acdragonflyex.h deleted file mode 100644 index bfc3273b..00000000 --- a/Private/acpiSDK/source/include/platform/acdragonflyex.h +++ /dev/null @@ -1,192 +0,0 @@ -/****************************************************************************** - * - * Name: acdragonflyex.h - Extra OS specific defines, etc. for DragonFly BSD - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACDRAGONFLYEX_H__ -#define __ACDRAGONFLYEX_H__ - -#ifdef _KERNEL - -#ifdef ACPI_DEBUG_CACHE -ACPI_STATUS -_AcpiOsReleaseObject ( - ACPI_CACHE_T *Cache, - void *Object, - const char *func, - int line); -#endif - -#ifdef ACPI_DEBUG_LOCKS -ACPI_CPU_FLAGS -_AcpiOsAcquireLock ( - ACPI_SPINLOCK Spin, - const char *func, - int line); -#endif - -#ifdef ACPI_DEBUG_MEMMAP -void * -_AcpiOsMapMemory ( - ACPI_PHYSICAL_ADDRESS Where, - ACPI_SIZE Length, - const char *caller, - int line); - -void -_AcpiOsUnmapMemory ( - void *LogicalAddress, - ACPI_SIZE Length, - const char *caller, - int line); -#endif - -#endif /* _KERNEL */ - -#endif /* __ACDRAGONFLYEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acefi.h b/Private/acpiSDK/source/include/platform/acefi.h deleted file mode 100644 index 71cdf2f9..00000000 --- a/Private/acpiSDK/source/include/platform/acefi.h +++ /dev/null @@ -1,423 +0,0 @@ -/****************************************************************************** - * - * Name: acefi.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACEFI_H__ -#define __ACEFI_H__ - -/* - * Single threaded environment where Mutex/Event/Sleep are fake. This model is - * sufficient for pre-boot AcpiExec. - */ -#ifndef DEBUGGER_THREADING -#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED -#endif /* !DEBUGGER_THREADING */ - -/* EDK2 EFI environment */ - -#if defined(_EDK2_EFI) - -#ifdef USE_STDLIB -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 -#endif - -#endif - -#if defined(__x86_64__) -#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) -#define USE_MS_ABI 1 -#endif -#endif - -#ifdef _MSC_EXTENSIONS -#define ACPI_EFI_API __cdecl -#elif USE_MS_ABI -#define ACPI_EFI_API __attribute__((ms_abi)) -#else -#define ACPI_EFI_API -#endif - -#define VOID void - -#if defined(__ia64__) || defined(__x86_64__) - -#define ACPI_MACHINE_WIDTH 64 - -#if defined(__x86_64__) - -/* for x86_64, EFI_FUNCTION_WRAPPER must be defined */ - -#ifndef USE_MS_ABI -#define USE_EFI_FUNCTION_WRAPPER -#endif - -#ifdef _MSC_EXTENSIONS -#pragma warning ( disable : 4731 ) /* Suppress warnings about modification of EBP */ -#endif - -#endif - -#ifndef USE_STDLIB -#define UINTN uint64_t -#define INTN int64_t -#endif - -#define ACPI_EFI_ERR(a) (0x8000000000000000 | a) - -#else - -#define ACPI_MACHINE_WIDTH 32 - -#ifndef USE_STDLIB -#define UINTN uint32_t -#define INTN int32_t -#endif - -#define ACPI_EFI_ERR(a) (0x80000000 | a) - -#endif - -#define CHAR16 uint16_t - -#ifdef USE_EFI_FUNCTION_WRAPPER -#define __VA_NARG__(...) \ - __VA_NARG_(_0, ## __VA_ARGS__, __RSEQ_N()) -#define __VA_NARG_(...) \ - __VA_ARG_N(__VA_ARGS__) -#define __VA_ARG_N( \ - _0,_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,N,...) N -#define __RSEQ_N() \ - 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 - -#define __VA_ARG_NSUFFIX__(prefix,...) \ - __VA_ARG_NSUFFIX_N(prefix, __VA_NARG__(__VA_ARGS__)) -#define __VA_ARG_NSUFFIX_N(prefix,nargs) \ - __VA_ARG_NSUFFIX_N_(prefix, nargs) -#define __VA_ARG_NSUFFIX_N_(prefix,nargs) \ - prefix ## nargs - -/* Prototypes of EFI cdecl -> stdcall trampolines */ - -UINT64 efi_call0(void *func); -UINT64 efi_call1(void *func, UINT64 arg1); -UINT64 efi_call2(void *func, UINT64 arg1, UINT64 arg2); -UINT64 efi_call3(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3); -UINT64 efi_call4(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4); -UINT64 efi_call5(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5); -UINT64 efi_call6(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5, UINT64 arg6); -UINT64 efi_call7(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5, UINT64 arg6, UINT64 arg7); -UINT64 efi_call8(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5, UINT64 arg6, UINT64 arg7, - UINT64 arg8); -UINT64 efi_call9(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5, UINT64 arg6, UINT64 arg7, - UINT64 arg8, UINT64 arg9); -UINT64 efi_call10(void *func, UINT64 arg1, UINT64 arg2, UINT64 arg3, - UINT64 arg4, UINT64 arg5, UINT64 arg6, UINT64 arg7, - UINT64 arg8, UINT64 arg9, UINT64 arg10); - -/* Front-ends to efi_callX to avoid compiler warnings */ - -#define _cast64_efi_call0(f) \ - efi_call0(f) -#define _cast64_efi_call1(f,a1) \ - efi_call1(f, (UINT64)(a1)) -#define _cast64_efi_call2(f,a1,a2) \ - efi_call2(f, (UINT64)(a1), (UINT64)(a2)) -#define _cast64_efi_call3(f,a1,a2,a3) \ - efi_call3(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3)) -#define _cast64_efi_call4(f,a1,a2,a3,a4) \ - efi_call4(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4)) -#define _cast64_efi_call5(f,a1,a2,a3,a4,a5) \ - efi_call5(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5)) -#define _cast64_efi_call6(f,a1,a2,a3,a4,a5,a6) \ - efi_call6(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5), (UINT64)(a6)) -#define _cast64_efi_call7(f,a1,a2,a3,a4,a5,a6,a7) \ - efi_call7(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5), (UINT64)(a6), (UINT64)(a7)) -#define _cast64_efi_call8(f,a1,a2,a3,a4,a5,a6,a7,a8) \ - efi_call8(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5), (UINT64)(a6), (UINT64)(a7), (UINT64)(a8)) -#define _cast64_efi_call9(f,a1,a2,a3,a4,a5,a6,a7,a8,a9) \ - efi_call9(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5), (UINT64)(a6), (UINT64)(a7), (UINT64)(a8), \ - (UINT64)(a9)) -#define _cast64_efi_call10(f,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) \ - efi_call10(f, (UINT64)(a1), (UINT64)(a2), (UINT64)(a3), (UINT64)(a4), \ - (UINT64)(a5), (UINT64)(a6), (UINT64)(a7), (UINT64)(a8), \ - (UINT64)(a9), (UINT64)(a10)) - -/* main wrapper (va_num ignored) */ - -#define uefi_call_wrapper(func,va_num,...) \ - __VA_ARG_NSUFFIX__(_cast64_efi_call, __VA_ARGS__) (func , ##__VA_ARGS__) - -#else - -#define uefi_call_wrapper(func, va_num, ...) func(__VA_ARGS__) - -#endif - -/* AED EFI definitions */ - -#if defined(_AED_EFI) - -/* _int64 works for both IA32 and IA64 */ - -#define COMPILER_DEPENDENT_INT64 __int64 -#define COMPILER_DEPENDENT_UINT64 unsigned __int64 - -/* - * Calling conventions: - * - * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) - * ACPI_EXTERNAL_XFACE - External ACPI interfaces - * ACPI_INTERNAL_XFACE - Internal ACPI interfaces - * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces - */ -#define ACPI_SYSTEM_XFACE -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE - -/* warn C4142: redefinition of type */ - -#pragma warning(disable:4142) - -#endif - - -/* EFI math64 definitions */ - -#if defined(_GNU_EFI) || defined(_EDK2_EFI) -/* - * Math helpers, GNU EFI provided a platform independent 64-bit math - * support. - */ -#ifndef ACPI_DIV_64_BY_32 -#define ACPI_DIV_64_BY_32(n_hi, n_lo, d32, q32, r32) \ - do { \ - UINT64 __n = ((UINT64) n_hi) << 32 | (n_lo); \ - (q32) = (UINT32) DivU64x32 ((__n), (d32), &(r32)); \ - } while (0) -#endif - -#ifndef ACPI_MUL_64_BY_32 -#define ACPI_MUL_64_BY_32(n_hi, n_lo, m32, p32, c32) \ - do { \ - UINT64 __n = ((UINT64) n_hi) << 32 | (n_lo); \ - UINT64 __p = MultU64x32 (__n, (m32)); \ - (p32) = (UINT32) __p; \ - (c32) = (UINT32) (__p >> 32); \ - } while (0) -#endif - -#ifndef ACPI_SHIFT_LEFT_64_by_32 -#define ACPI_SHIFT_LEFT_64_BY_32(n_hi, n_lo, s32) \ - do { \ - UINT64 __n = ((UINT64) n_hi) << 32 | (n_lo); \ - UINT64 __r = LShiftU64 (__n, (s32)); \ - (n_lo) = (UINT32) __r; \ - (n_hi) = (UINT32) (__r >> 32); \ - } while (0) -#endif - -#ifndef ACPI_SHIFT_RIGHT_64_BY_32 -#define ACPI_SHIFT_RIGHT_64_BY_32(n_hi, n_lo, s32) \ - do { \ - UINT64 __n = ((UINT64) n_hi) << 32 | (n_lo); \ - UINT64 __r = RShiftU64 (__n, (s32)); \ - (n_lo) = (UINT32) __r; \ - (n_hi) = (UINT32) (__r >> 32); \ - } while (0) -#endif - -#ifndef ACPI_SHIFT_RIGHT_64 -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ - do { \ - (n_lo) >>= 1; \ - (n_lo) |= (((n_hi) & 1) << 31); \ - (n_hi) >>= 1; \ - } while (0) -#endif -#endif - -struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE; -struct _ACPI_SIMPLE_INPUT_INTERFACE; -struct _ACPI_EFI_FILE_IO_INTERFACE; -struct _ACPI_EFI_FILE_HANDLE; -struct _ACPI_EFI_BOOT_SERVICES; -struct _ACPI_EFI_RUNTIME_SERVICES; -struct _ACPI_EFI_SYSTEM_TABLE; -struct _ACPI_EFI_PCI_IO; - -extern struct _ACPI_EFI_SYSTEM_TABLE *ST; -extern struct _ACPI_EFI_BOOT_SERVICES *BS; -extern struct _ACPI_EFI_RUNTIME_SERVICES *RT; - -#ifndef USE_STDLIB -typedef union acpi_efi_file ACPI_EFI_FILE; -#define FILE ACPI_EFI_FILE - -extern FILE *stdin; -extern FILE *stdout; -extern FILE *stderr; -#endif - -#endif /* __ACEFI_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acefiex.h b/Private/acpiSDK/source/include/platform/acefiex.h deleted file mode 100644 index 8df422b4..00000000 --- a/Private/acpiSDK/source/include/platform/acefiex.h +++ /dev/null @@ -1,1172 +0,0 @@ -/****************************************************************************** - * - * Name: acefiex.h - Extra OS specific defines, etc. for EFI - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACEFIEX_H__ -#define __ACEFIEX_H__ - - -#ifndef ACPI_USE_SYSTEM_CLIBRARY - -typedef signed char int8_t; -typedef short int int16_t; -typedef int int32_t; -typedef unsigned char uint8_t; -typedef unsigned short int uint16_t; -typedef unsigned int uint32_t; -typedef COMPILER_DEPENDENT_INT64 int64_t; -typedef COMPILER_DEPENDENT_UINT64 uint64_t; - -#endif /* ACPI_USE_SYSTEM_CLIBRARY */ - -#define ACPI_EFI_ERROR(a) (((INTN) a) < 0) -#define ACPI_EFI_SUCCESS 0 -#define ACPI_EFI_LOAD_ERROR ACPI_EFI_ERR(1) -#define ACPI_EFI_INVALID_PARAMETER ACPI_EFI_ERR(2) -#define ACPI_EFI_UNSUPPORTED ACPI_EFI_ERR(3) -#define ACPI_EFI_BAD_BUFFER_SIZE ACPI_EFI_ERR(4) -#define ACPI_EFI_BUFFER_TOO_SMALL ACPI_EFI_ERR(5) -#define ACPI_EFI_NOT_READY ACPI_EFI_ERR(6) -#define ACPI_EFI_DEVICE_ERROR ACPI_EFI_ERR(7) -#define ACPI_EFI_WRITE_PROTECTED ACPI_EFI_ERR(8) -#define ACPI_EFI_OUT_OF_RESOURCES ACPI_EFI_ERR(9) -#define ACPI_EFI_VOLUME_CORRUPTED ACPI_EFI_ERR(10) -#define ACPI_EFI_VOLUME_FULL ACPI_EFI_ERR(11) -#define ACPI_EFI_NO_MEDIA ACPI_EFI_ERR(12) -#define ACPI_EFI_MEDIA_CHANGED ACPI_EFI_ERR(13) -#define ACPI_EFI_NOT_FOUND ACPI_EFI_ERR(14) -#define ACPI_EFI_ACCESS_DENIED ACPI_EFI_ERR(15) -#define ACPI_EFI_NO_RESPONSE ACPI_EFI_ERR(16) -#define ACPI_EFI_NO_MAPPING ACPI_EFI_ERR(17) -#define ACPI_EFI_TIMEOUT ACPI_EFI_ERR(18) -#define ACPI_EFI_NOT_STARTED ACPI_EFI_ERR(19) -#define ACPI_EFI_ALREADY_STARTED ACPI_EFI_ERR(20) -#define ACPI_EFI_ABORTED ACPI_EFI_ERR(21) -#define ACPI_EFI_PROTOCOL_ERROR ACPI_EFI_ERR(24) - - -typedef UINTN ACPI_EFI_STATUS; -typedef VOID *ACPI_EFI_HANDLE; -typedef VOID *ACPI_EFI_EVENT; - -typedef struct { - UINT32 Data1; - UINT16 Data2; - UINT16 Data3; - UINT8 Data4[8]; -} ACPI_EFI_GUID; - -typedef struct { - UINT16 Year; /* 1998 - 20XX */ - UINT8 Month; /* 1 - 12 */ - UINT8 Day; /* 1 - 31 */ - UINT8 Hour; /* 0 - 23 */ - UINT8 Minute; /* 0 - 59 */ - UINT8 Second; /* 0 - 59 */ - UINT8 Pad1; - UINT32 Nanosecond; /* 0 - 999,999,999 */ - INT16 TimeZone; /* -1440 to 1440 or 2047 */ - UINT8 Daylight; - UINT8 Pad2; -} ACPI_EFI_TIME; - -typedef struct _ACPI_EFI_DEVICE_PATH { - UINT8 Type; - UINT8 SubType; - UINT8 Length[2]; -} ACPI_EFI_DEVICE_PATH; - -typedef UINT64 ACPI_EFI_PHYSICAL_ADDRESS; -typedef UINT64 ACPI_EFI_VIRTUAL_ADDRESS; - -typedef enum { - AcpiEfiAllocateAnyPages, - AcpiEfiAllocateMaxAddress, - AcpiEfiAllocateAddress, - AcpiEfiMaxAllocateType -} ACPI_EFI_ALLOCATE_TYPE; - -typedef enum { - AcpiEfiReservedMemoryType, - AcpiEfiLoaderCode, - AcpiEfiLoaderData, - AcpiEfiBootServicesCode, - AcpiEfiBootServicesData, - AcpiEfiRuntimeServicesCode, - AcpiEfiRuntimeServicesData, - AcpiEfiConventionalMemory, - AcpiEfiUnusableMemory, - AcpiEfiACPIReclaimMemory, - AcpiEfiACPIMemoryNVS, - AcpiEfiMemoryMappedIO, - AcpiEfiMemoryMappedIOPortSpace, - AcpiEfiPalCode, - AcpiEfiMaxMemoryType -} ACPI_EFI_MEMORY_TYPE; - -/* possible caching types for the memory range */ -#define ACPI_EFI_MEMORY_UC 0x0000000000000001 -#define ACPI_EFI_MEMORY_WC 0x0000000000000002 -#define ACPI_EFI_MEMORY_WT 0x0000000000000004 -#define ACPI_EFI_MEMORY_WB 0x0000000000000008 -#define ACPI_EFI_MEMORY_UCE 0x0000000000000010 - -/* physical memory protection on range */ -#define ACPI_EFI_MEMORY_WP 0x0000000000001000 -#define ACPI_EFI_MEMORY_RP 0x0000000000002000 -#define ACPI_EFI_MEMORY_XP 0x0000000000004000 - -/* range requires a runtime mapping */ -#define ACPI_EFI_MEMORY_RUNTIME 0x8000000000000000 - -#define ACPI_EFI_MEMORY_DESCRIPTOR_VERSION 1 -typedef struct { - UINT32 Type; - UINT32 Pad; - ACPI_EFI_PHYSICAL_ADDRESS PhysicalStart; - ACPI_EFI_VIRTUAL_ADDRESS VirtualStart; - UINT64 NumberOfPages; - UINT64 Attribute; -} ACPI_EFI_MEMORY_DESCRIPTOR; - -typedef struct _ACPI_EFI_TABLE_HEARDER { - UINT64 Signature; - UINT32 Revision; - UINT32 HeaderSize; - UINT32 CRC32; - UINT32 Reserved; -} ACPI_EFI_TABLE_HEADER; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_UNKNOWN_INTERFACE) ( - void); - - -/* - * Text output protocol - */ -#define ACPI_SIMPLE_TEXT_OUTPUT_PROTOCOL \ - { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_RESET) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - BOOLEAN ExtendedVerification); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_OUTPUT_STRING) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - CHAR16 *String); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_TEST_STRING) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - CHAR16 *String); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_QUERY_MODE) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - UINTN ModeNumber, - UINTN *Columns, - UINTN *Rows); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_SET_MODE) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - UINTN ModeNumber); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_SET_ATTRIBUTE) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - UINTN Attribute); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_CLEAR_SCREEN) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_SET_CURSOR_POSITION) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - UINTN Column, - UINTN Row); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_TEXT_ENABLE_CURSOR) ( - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *This, - BOOLEAN Enable); - -typedef struct { - INT32 MaxMode; - INT32 Mode; - INT32 Attribute; - INT32 CursorColumn; - INT32 CursorRow; - BOOLEAN CursorVisible; -} ACPI_SIMPLE_TEXT_OUTPUT_MODE; - -typedef struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE { - ACPI_EFI_TEXT_RESET Reset; - - ACPI_EFI_TEXT_OUTPUT_STRING OutputString; - ACPI_EFI_TEXT_TEST_STRING TestString; - - ACPI_EFI_TEXT_QUERY_MODE QueryMode; - ACPI_EFI_TEXT_SET_MODE SetMode; - ACPI_EFI_TEXT_SET_ATTRIBUTE SetAttribute; - - ACPI_EFI_TEXT_CLEAR_SCREEN ClearScreen; - ACPI_EFI_TEXT_SET_CURSOR_POSITION SetCursorPosition; - ACPI_EFI_TEXT_ENABLE_CURSOR EnableCursor; - - ACPI_SIMPLE_TEXT_OUTPUT_MODE *Mode; -} ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE; - -/* - * Text input protocol - */ -#define ACPI_SIMPLE_TEXT_INPUT_PROTOCOL \ - { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } - -typedef struct { - UINT16 ScanCode; - CHAR16 UnicodeChar; -} ACPI_EFI_INPUT_KEY; - -/* - * Baseline unicode control chars - */ -#define CHAR_NULL 0x0000 -#define CHAR_BACKSPACE 0x0008 -#define CHAR_TAB 0x0009 -#define CHAR_LINEFEED 0x000A -#define CHAR_CARRIAGE_RETURN 0x000D - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_INPUT_RESET) ( - struct _ACPI_SIMPLE_INPUT_INTERFACE *This, - BOOLEAN ExtendedVerification); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_INPUT_READ_KEY) ( - struct _ACPI_SIMPLE_INPUT_INTERFACE *This, - ACPI_EFI_INPUT_KEY *Key); - -typedef struct _ACPI_SIMPLE_INPUT_INTERFACE { - ACPI_EFI_INPUT_RESET Reset; - ACPI_EFI_INPUT_READ_KEY ReadKeyStroke; - ACPI_EFI_EVENT WaitForKey; -} ACPI_SIMPLE_INPUT_INTERFACE; - - -/* - * Simple file system protocol - */ -#define ACPI_SIMPLE_FILE_SYSTEM_PROTOCOL \ - { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_VOLUME_OPEN) ( - struct _ACPI_EFI_FILE_IO_INTERFACE *This, - struct _ACPI_EFI_FILE_HANDLE **Root); - -#define ACPI_EFI_FILE_IO_INTERFACE_REVISION 0x00010000 - -typedef struct _ACPI_EFI_FILE_IO_INTERFACE { - UINT64 Revision; - ACPI_EFI_VOLUME_OPEN OpenVolume; -} ACPI_EFI_FILE_IO_INTERFACE; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_OPEN) ( - struct _ACPI_EFI_FILE_HANDLE *File, - struct _ACPI_EFI_FILE_HANDLE **NewHandle, - CHAR16 *FileName, - UINT64 OpenMode, - UINT64 Attributes); - -/* Values for OpenMode used above */ - -#define ACPI_EFI_FILE_MODE_READ 0x0000000000000001 -#define ACPI_EFI_FILE_MODE_WRITE 0x0000000000000002 -#define ACPI_EFI_FILE_MODE_CREATE 0x8000000000000000 - -/* Values for Attribute used above */ - -#define ACPI_EFI_FILE_READ_ONLY 0x0000000000000001 -#define ACPI_EFI_FILE_HIDDEN 0x0000000000000002 -#define ACPI_EFI_FILE_SYSTEM 0x0000000000000004 -#define ACPI_EFI_FILE_RESERVIED 0x0000000000000008 -#define ACPI_EFI_FILE_DIRECTORY 0x0000000000000010 -#define ACPI_EFI_FILE_ARCHIVE 0x0000000000000020 -#define ACPI_EFI_FILE_VALID_ATTR 0x0000000000000037 - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_CLOSE) ( - struct _ACPI_EFI_FILE_HANDLE *File); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_DELETE) ( - struct _ACPI_EFI_FILE_HANDLE *File); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_READ) ( - struct _ACPI_EFI_FILE_HANDLE *File, - UINTN *BufferSize, - VOID *Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_WRITE) ( - struct _ACPI_EFI_FILE_HANDLE *File, - UINTN *BufferSize, - VOID *Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_SET_POSITION) ( - struct _ACPI_EFI_FILE_HANDLE *File, - UINT64 Position); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_GET_POSITION) ( - struct _ACPI_EFI_FILE_HANDLE *File, - UINT64 *Position); - -#define ACPI_EFI_FILE_INFO_ID \ - { 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } - -typedef struct { - UINT64 Size; - UINT64 FileSize; - UINT64 PhysicalSize; - ACPI_EFI_TIME CreateTime; - ACPI_EFI_TIME LastAccessTime; - ACPI_EFI_TIME ModificationTime; - UINT64 Attribute; - CHAR16 FileName[]; -} ACPI_EFI_FILE_INFO; - -#define SIZE_OF_ACPI_EFI_FILE_INFO ACPI_OFFSET(ACPI_EFI_FILE_INFO, FileName) - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_GET_INFO) ( - struct _ACPI_EFI_FILE_HANDLE *File, - ACPI_EFI_GUID *InformationType, - UINTN *BufferSize, - VOID *Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_SET_INFO) ( - struct _ACPI_EFI_FILE_HANDLE *File, - ACPI_EFI_GUID *InformationType, - UINTN BufferSize, - VOID *Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FILE_FLUSH) ( - struct _ACPI_EFI_FILE_HANDLE *File); - - -#define ACPI_EFI_FILE_HANDLE_REVISION 0x00010000 - -typedef struct _ACPI_EFI_FILE_HANDLE { - UINT64 Revision; - ACPI_EFI_FILE_OPEN Open; - ACPI_EFI_FILE_CLOSE Close; - ACPI_EFI_FILE_DELETE Delete; - ACPI_EFI_FILE_READ Read; - ACPI_EFI_FILE_WRITE Write; - ACPI_EFI_FILE_GET_POSITION GetPosition; - ACPI_EFI_FILE_SET_POSITION SetPosition; - ACPI_EFI_FILE_GET_INFO GetInfo; - ACPI_EFI_FILE_SET_INFO SetInfo; - ACPI_EFI_FILE_FLUSH Flush; -} ACPI_EFI_FILE_STRUCT, *ACPI_EFI_FILE_HANDLE; - - -/* - * Loaded image protocol - */ -#define ACPI_EFI_LOADED_IMAGE_PROTOCOL \ - { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_IMAGE_ENTRY_POINT) ( - ACPI_EFI_HANDLE ImageHandle, - struct _ACPI_EFI_SYSTEM_TABLE *SystemTable); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_IMAGE_LOAD) ( - BOOLEAN BootPolicy, - ACPI_EFI_HANDLE ParentImageHandle, - ACPI_EFI_DEVICE_PATH *FilePath, - VOID *SourceBuffer, - UINTN SourceSize, - ACPI_EFI_HANDLE *ImageHandle); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_IMAGE_START) ( - ACPI_EFI_HANDLE ImageHandle, - UINTN *ExitDataSize, - CHAR16 **ExitData); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_EXIT) ( - ACPI_EFI_HANDLE ImageHandle, - ACPI_EFI_STATUS ExitStatus, - UINTN ExitDataSize, - CHAR16 *ExitData); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_IMAGE_UNLOAD) ( - ACPI_EFI_HANDLE ImageHandle); - - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_STALL) ( - UINTN Microseconds); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_SET_WATCHDOG_TIMER) ( - UINTN Timeout, - UINT64 WatchdogCode, - UINTN DataSize, - CHAR16 *WatchdogData); - - -#define EFI_IMAGE_INFORMATION_REVISION 0x1000 -typedef struct { - UINT32 Revision; - ACPI_EFI_HANDLE ParentHandle; - struct _ACPI_EFI_SYSTEM_TABLE *SystemTable; - ACPI_EFI_HANDLE DeviceHandle; - ACPI_EFI_DEVICE_PATH *FilePath; - VOID *Reserved; - UINT32 LoadOptionsSize; - VOID *LoadOptions; - VOID *ImageBase; - UINT64 ImageSize; - ACPI_EFI_MEMORY_TYPE ImageCodeType; - ACPI_EFI_MEMORY_TYPE ImageDataType; - ACPI_EFI_IMAGE_UNLOAD Unload; - -} ACPI_EFI_LOADED_IMAGE; - - -/* - * EFI Memory - */ -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_ALLOCATE_PAGES) ( - ACPI_EFI_ALLOCATE_TYPE Type, - ACPI_EFI_MEMORY_TYPE MemoryType, - UINTN NoPages, - ACPI_EFI_PHYSICAL_ADDRESS *Memory); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FREE_PAGES) ( - ACPI_EFI_PHYSICAL_ADDRESS Memory, - UINTN NoPages); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_GET_MEMORY_MAP) ( - UINTN *MemoryMapSize, - ACPI_EFI_MEMORY_DESCRIPTOR *MemoryMap, - UINTN *MapKey, - UINTN *DescriptorSize, - UINT32 *DescriptorVersion); - -#define NextMemoryDescriptor(Ptr,Size) ((ACPI_EFI_MEMORY_DESCRIPTOR *) (((UINT8 *) Ptr) + Size)) - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_ALLOCATE_POOL) ( - ACPI_EFI_MEMORY_TYPE PoolType, - UINTN Size, - VOID **Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_FREE_POOL) ( - VOID *Buffer); - - -/* - * EFI Time - */ -typedef struct { - UINT32 Resolution; - UINT32 Accuracy; - BOOLEAN SetsToZero; -} ACPI_EFI_TIME_CAPABILITIES; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_GET_TIME) ( - ACPI_EFI_TIME *Time, - ACPI_EFI_TIME_CAPABILITIES *Capabilities); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_SET_TIME) ( - ACPI_EFI_TIME *Time); - - -/* - * Protocol handler functions - */ -typedef enum { - ACPI_EFI_NATIVE_INTERFACE, - ACPI_EFI_PCODE_INTERFACE -} ACPI_EFI_INTERFACE_TYPE; - -typedef enum { - AcpiEfiAllHandles, - AcpiEfiByRegisterNotify, - AcpiEfiByProtocol -} ACPI_EFI_LOCATE_SEARCH_TYPE; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_INSTALL_PROTOCOL_INTERFACE) ( - ACPI_EFI_HANDLE *Handle, - ACPI_EFI_GUID *Protocol, - ACPI_EFI_INTERFACE_TYPE InterfaceType, - VOID *Interface); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_REINSTALL_PROTOCOL_INTERFACE) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - VOID *OldInterface, - VOID *NewInterface); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_UNINSTALL_PROTOCOL_INTERFACE) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - VOID *Interface); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_HANDLE_PROTOCOL) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - VOID **Interface); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_REGISTER_PROTOCOL_NOTIFY) ( - ACPI_EFI_GUID *Protocol, - ACPI_EFI_EVENT Event, - VOID **Registration); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_LOCATE_HANDLE) ( - ACPI_EFI_LOCATE_SEARCH_TYPE SearchType, - ACPI_EFI_GUID *Protocol, - VOID *SearchKey, - UINTN *BufferSize, - ACPI_EFI_HANDLE *Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_LOCATE_DEVICE_PATH) ( - ACPI_EFI_GUID *Protocol, - ACPI_EFI_DEVICE_PATH **DevicePath, - ACPI_EFI_HANDLE *Device); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_INSTALL_CONFIGURATION_TABLE) ( - ACPI_EFI_GUID *Guid, - VOID *Table); - -#define ACPI_EFI_OPEN_PROTOCOL_BY_HANDLE_PROTOCOL 0x00000001 -#define ACPI_EFI_OPEN_PROTOCOL_GET_PROTOCOL 0x00000002 -#define ACPI_EFI_OPEN_PROTOCOL_TEST_PROTOCOL 0x00000004 -#define ACPI_EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER 0x00000008 -#define ACPI_EFI_OPEN_PROTOCOL_BY_DRIVER 0x00000010 -#define ACPI_EFI_OPEN_PROTOCOL_EXCLUSIVE 0x00000020 - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_OPEN_PROTOCOL) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - VOID **Interface, - ACPI_EFI_HANDLE AgentHandle, - ACPI_EFI_HANDLE ControllerHandle, - UINT32 Attributes); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_CLOSE_PROTOCOL) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - ACPI_EFI_HANDLE AgentHandle, - ACPI_EFI_HANDLE ControllerHandle); - -typedef struct { - ACPI_EFI_HANDLE AgentHandle; - ACPI_EFI_HANDLE ControllerHandle; - UINT32 Attributes; - UINT32 OpenCount; -} ACPI_EFI_OPEN_PROTOCOL_INFORMATION_ENTRY; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_OPEN_PROTOCOL_INFORMATION) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID *Protocol, - ACPI_EFI_OPEN_PROTOCOL_INFORMATION_ENTRY **EntryBuffer, - UINTN *EntryCount); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_PROTOCOLS_PER_HANDLE) ( - ACPI_EFI_HANDLE Handle, - ACPI_EFI_GUID ***ProtocolBuffer, - UINTN *ProtocolBufferCount); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_LOCATE_HANDLE_BUFFER) ( - ACPI_EFI_LOCATE_SEARCH_TYPE SearchType, - ACPI_EFI_GUID *Protocol, - VOID *SearchKey, - UINTN *NoHandles, - ACPI_EFI_HANDLE **Buffer); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_LOCATE_PROTOCOL) ( - ACPI_EFI_GUID *Protocol, - VOID *Registration, - VOID **Interface); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( - ACPI_EFI_HANDLE *Handle, - ...); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES) ( - ACPI_EFI_HANDLE Handle, - ...); - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_CALCULATE_CRC32) ( - VOID *Data, - UINTN DataSize, - UINT32 *Crc32); - -typedef -VOID -(ACPI_EFI_API *ACPI_EFI_COPY_MEM) ( - VOID *Destination, - VOID *Source, - UINTN Length); - -typedef -VOID -(ACPI_EFI_API *ACPI_EFI_SET_MEM) ( - VOID *Buffer, - UINTN Size, - UINT8 Value); - -/* - * EFI Boot Services Table - */ -#define ACPI_EFI_BOOT_SERVICES_SIGNATURE 0x56524553544f4f42 -#define ACPI_EFI_BOOT_SERVICES_REVISION (ACPI_EFI_SPECIFICATION_MAJOR_REVISION<<16) | (ACPI_EFI_SPECIFICATION_MINOR_REVISION) - -typedef struct _ACPI_EFI_BOOT_SERVICES { - ACPI_EFI_TABLE_HEADER Hdr; - -#if 0 - ACPI_EFI_RAISE_TPL RaiseTPL; - ACPI_EFI_RESTORE_TPL RestoreTPL; -#else - ACPI_EFI_UNKNOWN_INTERFACE RaiseTPL; - ACPI_EFI_UNKNOWN_INTERFACE RestoreTPL; -#endif - - ACPI_EFI_ALLOCATE_PAGES AllocatePages; - ACPI_EFI_FREE_PAGES FreePages; - ACPI_EFI_GET_MEMORY_MAP GetMemoryMap; - ACPI_EFI_ALLOCATE_POOL AllocatePool; - ACPI_EFI_FREE_POOL FreePool; - -#if 0 - ACPI_EFI_CREATE_EVENT CreateEvent; - ACPI_EFI_SET_TIMER SetTimer; - ACPI_EFI_WAIT_FOR_EVENT WaitForEvent; - ACPI_EFI_SIGNAL_EVENT SignalEvent; - ACPI_EFI_CLOSE_EVENT CloseEvent; - ACPI_EFI_CHECK_EVENT CheckEvent; -#else - ACPI_EFI_UNKNOWN_INTERFACE CreateEvent; - ACPI_EFI_UNKNOWN_INTERFACE SetTimer; - ACPI_EFI_UNKNOWN_INTERFACE WaitForEvent; - ACPI_EFI_UNKNOWN_INTERFACE SignalEvent; - ACPI_EFI_UNKNOWN_INTERFACE CloseEvent; - ACPI_EFI_UNKNOWN_INTERFACE CheckEvent; -#endif - - ACPI_EFI_INSTALL_PROTOCOL_INTERFACE InstallProtocolInterface; - ACPI_EFI_REINSTALL_PROTOCOL_INTERFACE ReinstallProtocolInterface; - ACPI_EFI_UNINSTALL_PROTOCOL_INTERFACE UninstallProtocolInterface; - ACPI_EFI_HANDLE_PROTOCOL HandleProtocol; - ACPI_EFI_HANDLE_PROTOCOL PCHandleProtocol; - ACPI_EFI_REGISTER_PROTOCOL_NOTIFY RegisterProtocolNotify; - ACPI_EFI_LOCATE_HANDLE LocateHandle; - ACPI_EFI_LOCATE_DEVICE_PATH LocateDevicePath; - ACPI_EFI_INSTALL_CONFIGURATION_TABLE InstallConfigurationTable; - - ACPI_EFI_IMAGE_LOAD LoadImage; - ACPI_EFI_IMAGE_START StartImage; - ACPI_EFI_EXIT Exit; - ACPI_EFI_IMAGE_UNLOAD UnloadImage; - -#if 0 - ACPI_EFI_EXIT_BOOT_SERVICES ExitBootServices; - ACPI_EFI_GET_NEXT_MONOTONIC_COUNT GetNextMonotonicCount; -#else - ACPI_EFI_UNKNOWN_INTERFACE ExitBootServices; - ACPI_EFI_UNKNOWN_INTERFACE GetNextMonotonicCount; -#endif - ACPI_EFI_STALL Stall; - ACPI_EFI_SET_WATCHDOG_TIMER SetWatchdogTimer; - -#if 0 - ACPI_EFI_CONNECT_CONTROLLER ConnectController; - ACPI_EFI_DISCONNECT_CONTROLLER DisconnectController; -#else - ACPI_EFI_UNKNOWN_INTERFACE ConnectController; - ACPI_EFI_UNKNOWN_INTERFACE DisconnectController; -#endif - - ACPI_EFI_OPEN_PROTOCOL OpenProtocol; - ACPI_EFI_CLOSE_PROTOCOL CloseProtocol; - ACPI_EFI_OPEN_PROTOCOL_INFORMATION OpenProtocolInformation; - ACPI_EFI_PROTOCOLS_PER_HANDLE ProtocolsPerHandle; - ACPI_EFI_LOCATE_HANDLE_BUFFER LocateHandleBuffer; - ACPI_EFI_LOCATE_PROTOCOL LocateProtocol; - ACPI_EFI_INSTALL_MULTIPLE_PROTOCOL_INTERFACES InstallMultipleProtocolInterfaces; - ACPI_EFI_UNINSTALL_MULTIPLE_PROTOCOL_INTERFACES UninstallMultipleProtocolInterfaces; - - ACPI_EFI_CALCULATE_CRC32 CalculateCrc32; - - ACPI_EFI_COPY_MEM CopyMem; - ACPI_EFI_SET_MEM SetMem; - -#if 0 - ACPI_EFI_CREATE_EVENT_EX CreateEventEx; -#else - ACPI_EFI_UNKNOWN_INTERFACE CreateEventEx; -#endif -} ACPI_EFI_BOOT_SERVICES; - - -/* - * EFI Runtime Services Table - */ -#define ACPI_EFI_RUNTIME_SERVICES_SIGNATURE 0x56524553544e5552 -#define ACPI_EFI_RUNTIME_SERVICES_REVISION (EFI_SPECIFICATION_MAJOR_REVISION<<16) | (EFI_SPECIFICATION_MINOR_REVISION) - -typedef struct _ACPI_EFI_RUNTIME_SERVICES { - ACPI_EFI_TABLE_HEADER Hdr; - - ACPI_EFI_GET_TIME GetTime; - ACPI_EFI_SET_TIME SetTime; -#if 0 - ACPI_EFI_GET_WAKEUP_TIME GetWakeupTime; - ACPI_EFI_SET_WAKEUP_TIME SetWakeupTime; -#else - ACPI_EFI_UNKNOWN_INTERFACE GetWakeupTime; - ACPI_EFI_UNKNOWN_INTERFACE SetWakeupTime; -#endif - -#if 0 - ACPI_EFI_SET_VIRTUAL_ADDRESS_MAP SetVirtualAddressMap; - ACPI_EFI_CONVERT_POINTER ConvertPointer; -#else - ACPI_EFI_UNKNOWN_INTERFACE SetVirtualAddressMap; - ACPI_EFI_UNKNOWN_INTERFACE ConvertPointer; -#endif - -#if 0 - ACPI_EFI_GET_VARIABLE GetVariable; - ACPI_EFI_GET_NEXT_VARIABLE_NAME GetNextVariableName; - ACPI_EFI_SET_VARIABLE SetVariable; -#else - ACPI_EFI_UNKNOWN_INTERFACE GetVariable; - ACPI_EFI_UNKNOWN_INTERFACE GetNextVariableName; - ACPI_EFI_UNKNOWN_INTERFACE SetVariable; -#endif - -#if 0 - ACPI_EFI_GET_NEXT_HIGH_MONO_COUNT GetNextHighMonotonicCount; - ACPI_EFI_RESET_SYSTEM ResetSystem; -#else - ACPI_EFI_UNKNOWN_INTERFACE GetNextHighMonotonicCount; - ACPI_EFI_UNKNOWN_INTERFACE ResetSystem; -#endif - -} ACPI_EFI_RUNTIME_SERVICES; - - -/* - * EFI System Table - */ - -/* - * EFI Configuration Table and GUID definitions - */ -#define ACPI_TABLE_GUID \ - { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_20_TABLE_GUID \ - { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } - -typedef struct _ACPI_EFI_CONFIGURATION_TABLE { - ACPI_EFI_GUID VendorGuid; - VOID *VendorTable; -} ACPI_EFI_CONFIGURATION_TABLE; - - -#define ACPI_EFI_SYSTEM_TABLE_SIGNATURE 0x5453595320494249 -#define ACPI_EFI_SYSTEM_TABLE_REVISION (ACPI_EFI_SPECIFICATION_MAJOR_REVISION<<16) | (ACPI_EFI_SPECIFICATION_MINOR_REVISION) - -typedef struct _ACPI_EFI_SYSTEM_TABLE { - ACPI_EFI_TABLE_HEADER Hdr; - - CHAR16 *FirmwareVendor; - UINT32 FirmwareRevision; - - ACPI_EFI_HANDLE ConsoleInHandle; - ACPI_SIMPLE_INPUT_INTERFACE *ConIn; - - ACPI_EFI_HANDLE ConsoleOutHandle; - ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut; - - ACPI_EFI_HANDLE StandardErrorHandle; - ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE *StdErr; - - ACPI_EFI_RUNTIME_SERVICES *RuntimeServices; - ACPI_EFI_BOOT_SERVICES *BootServices; - - UINTN NumberOfTableEntries; - ACPI_EFI_CONFIGURATION_TABLE *ConfigurationTable; - -} ACPI_EFI_SYSTEM_TABLE; - - -/* - * EFI PCI I/O Protocol - */ -#define ACPI_EFI_PCI_IO_PROTOCOL \ - { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} } - -typedef enum { - AcpiEfiPciIoWidthUint8 = 0, - AcpiEfiPciIoWidthUint16, - AcpiEfiPciIoWidthUint32, - AcpiEfiPciIoWidthUint64, - AcpiEfiPciIoWidthFifoUint8, - AcpiEfiPciIoWidthFifoUint16, - AcpiEfiPciIoWidthFifoUint32, - AcpiEfiPciIoWidthFifoUint64, - AcpiEfiPciIoWidthFillUint8, - AcpiEfiPciIoWidthFillUint16, - AcpiEfiPciIoWidthFillUint32, - AcpiEfiPciIoWidthFillUint64, - AcpiEfiPciIoWidthMaximum -} ACPI_EFI_PCI_IO_PROTOCOL_WIDTH; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_PCI_IO_PROTOCOL_CONFIG)( - struct _ACPI_EFI_PCI_IO *This, - ACPI_EFI_PCI_IO_PROTOCOL_WIDTH Width, - UINT32 Offset, - UINTN Count, - VOID *Buffer); - -typedef struct { - ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Read; - ACPI_EFI_PCI_IO_PROTOCOL_CONFIG Write; -} ACPI_EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS; - -typedef -ACPI_EFI_STATUS -(ACPI_EFI_API *ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION)( - struct _ACPI_EFI_PCI_IO *This, - UINTN *SegmentNumber, - UINTN *BusNumber, - UINTN *DeviceNumber, - UINTN *FunctionNumber); - -typedef struct _ACPI_EFI_PCI_IO { - ACPI_EFI_UNKNOWN_INTERFACE PollMem; - ACPI_EFI_UNKNOWN_INTERFACE PollIo; - ACPI_EFI_UNKNOWN_INTERFACE Mem; - ACPI_EFI_UNKNOWN_INTERFACE Io; - ACPI_EFI_PCI_IO_PROTOCOL_CONFIG_ACCESS Pci; - ACPI_EFI_UNKNOWN_INTERFACE CopyMem; - ACPI_EFI_UNKNOWN_INTERFACE Map; - ACPI_EFI_UNKNOWN_INTERFACE Unmap; - ACPI_EFI_UNKNOWN_INTERFACE AllocateBuffer; - ACPI_EFI_UNKNOWN_INTERFACE FreeBuffer; - ACPI_EFI_UNKNOWN_INTERFACE Flush; - ACPI_EFI_PCI_IO_PROTOCOL_GET_LOCATION GetLocation; - ACPI_EFI_UNKNOWN_INTERFACE Attributes; - ACPI_EFI_UNKNOWN_INTERFACE GetBarAttributes; - ACPI_EFI_UNKNOWN_INTERFACE SetBarAttributes; - UINT64 RomSize; - VOID *RomImage; -} ACPI_EFI_PCI_IO; - -/* FILE abstraction */ - -union acpi_efi_file { - struct _ACPI_EFI_FILE_HANDLE File; - struct _ACPI_SIMPLE_TEXT_OUTPUT_INTERFACE ConOut; - struct _ACPI_SIMPLE_INPUT_INTERFACE ConIn; -}; - - -/* EFI definitions */ - -#if defined(_GNU_EFI) || defined(_EDK2_EFI) - -/* - * This is needed to hide platform specific code from ACPICA - */ -UINT64 ACPI_EFI_API -DivU64x32 ( - UINT64 Dividend, - UINTN Divisor, - UINTN *Remainder); - -UINT64 ACPI_EFI_API -MultU64x32 ( - UINT64 Multiplicand, - UINTN Multiplier); - -UINT64 ACPI_EFI_API -LShiftU64 ( - UINT64 Operand, - UINTN Count); - -UINT64 ACPI_EFI_API -RShiftU64 ( - UINT64 Operand, - UINTN Count); - -/* - * EFI specific prototypes - */ -ACPI_EFI_STATUS -efi_main ( - ACPI_EFI_HANDLE Image, - ACPI_EFI_SYSTEM_TABLE *SystemTab); - -int -acpi_main ( - int argc, - char *argv[]); - -#endif - -extern ACPI_EFI_GUID AcpiGbl_LoadedImageProtocol; -extern ACPI_EFI_GUID AcpiGbl_TextInProtocol; -extern ACPI_EFI_GUID AcpiGbl_TextOutProtocol; -extern ACPI_EFI_GUID AcpiGbl_FileSystemProtocol; -extern ACPI_EFI_GUID AcpiGbl_GenericFileInfo; - -#endif /* __ACEFIEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acenv.h b/Private/acpiSDK/source/include/platform/acenv.h deleted file mode 100644 index 1fc692db..00000000 --- a/Private/acpiSDK/source/include/platform/acenv.h +++ /dev/null @@ -1,519 +0,0 @@ -/****************************************************************************** - * - * Name: acenv.h - Host and compiler configuration - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACENV_H__ -#define __ACENV_H__ - -/* - * Environment configuration. The purpose of this file is to interface ACPICA - * to the local environment. This includes compiler-specific, OS-specific, - * and machine-specific configuration. - */ - -/* Types for ACPI_MUTEX_TYPE */ - -#define ACPI_BINARY_SEMAPHORE 0 -#define ACPI_OSL_MUTEX 1 - -/* Types for DEBUGGER_THREADING */ - -#define DEBUGGER_SINGLE_THREADED 0 -#define DEBUGGER_MULTI_THREADED 1 - - -/****************************************************************************** - * - * Configuration for ACPI tools and utilities - * - *****************************************************************************/ - -/* Common application configuration. All single threaded except for AcpiExec. */ - -#if (defined ACPI_ASL_COMPILER) || \ - (defined ACPI_BIN_APP) || \ - (defined ACPI_DUMP_APP) || \ - (defined ACPI_HELP_APP) || \ - (defined ACPI_NAMES_APP) || \ - (defined ACPI_SRC_APP) || \ - (defined ACPI_XTRACT_APP) || \ - (defined ACPI_EXAMPLE_APP) || \ - (defined ACPI_EFI_HELLO) -#define ACPI_APPLICATION -#define ACPI_SINGLE_THREADED -#define USE_NATIVE_ALLOCATE_ZEROED -#endif - -/* iASL configuration */ - -#ifdef ACPI_ASL_COMPILER -#define ACPI_DEBUG_OUTPUT -#define ACPI_CONSTANT_EVAL_ONLY -#define ACPI_LARGE_NAMESPACE_NODE -#define ACPI_DATA_TABLE_DISASSEMBLY -#define ACPI_32BIT_PHYSICAL_ADDRESS -#define ACPI_DISASSEMBLER 1 -#endif - -/* AcpiExec configuration. Multithreaded with full AML debugger */ - -#ifdef ACPI_EXEC_APP -#define ACPI_APPLICATION -#define ACPI_FULL_DEBUG -#define ACPI_MUTEX_DEBUG -#define ACPI_DBG_TRACK_ALLOCATIONS -#endif - -/* AcpiHelp configuration. Error messages disabled. */ - -#ifdef ACPI_HELP_APP -#define ACPI_NO_ERROR_MESSAGES -#endif - -/* AcpiNames configuration. Debug output enabled. */ - -#ifdef ACPI_NAMES_APP -#define ACPI_DEBUG_OUTPUT -#endif - -/* AcpiExec/AcpiNames/Example configuration. Native RSDP used. */ - -#if (defined ACPI_EXEC_APP) || \ - (defined ACPI_EXAMPLE_APP) || \ - (defined ACPI_NAMES_APP) -#define ACPI_USE_NATIVE_RSDP_POINTER -#endif - -/* AcpiDump configuration. Native mapping used if provided by the host */ - -#ifdef ACPI_DUMP_APP -#define ACPI_USE_NATIVE_MEMORY_MAPPING -#endif - -/* AcpiNames/Example configuration. Hardware disabled */ - -#if (defined ACPI_EXAMPLE_APP) || \ - (defined ACPI_NAMES_APP) -#define ACPI_REDUCED_HARDWARE 1 -#endif - -/* Linkable ACPICA library. Two versions, one with full debug. */ - -#ifdef ACPI_LIBRARY -#define ACPI_USE_LOCAL_CACHE -#define ACPI_DEBUGGER 1 -#define ACPI_DISASSEMBLER 1 - -#ifdef _DEBUG -#define ACPI_DEBUG_OUTPUT -#endif -#endif - -/* Common for all ACPICA applications */ - -#ifdef ACPI_APPLICATION -#define ACPI_USE_LOCAL_CACHE -#endif - -/* Common debug/disassembler support */ - -#ifdef ACPI_FULL_DEBUG -#define ACPI_DEBUG_OUTPUT -#define ACPI_DEBUGGER 1 -#define ACPI_DISASSEMBLER 1 -#endif - -/* - * acpisrc CR\LF support - * Unix file line endings do not include the carriage return. - * If the acpisrc utility is being built using a microsoft compiler, it means - * that it will be running on a windows machine which means that the output is - * expected to have CR/LF newlines. If the acpisrc utility is built with - * anything else, it will likely run on a system with LF newlines. This flag - * tells the acpisrc utility that newlines will be in the LF format. - */ -#if defined(ACPI_SRC_APP) && !defined(_MSC_VER) -#define ACPI_SRC_OS_LF_ONLY 1 -#else -#define ACPI_SRC_OS_LF_ONLY 0 -#endif - -/*! [Begin] no source code translation */ - -/****************************************************************************** - * - * Host configuration files. The compiler configuration files are included - * first. - * - *****************************************************************************/ - -#if defined(__GNUC__) && !defined(__INTEL_COMPILER) -#include "acgcc.h" - -#elif defined(_MSC_VER) -#include "acmsvc.h" - -#elif defined(__INTEL_COMPILER) -#include "acintel.h" - -#endif - -#if defined(_LINUX) || defined(__linux__) -#include "aclinux.h" - -#elif defined(_APPLE) || defined(__APPLE__) -#include "acmacosx.h" - -#elif defined(__DragonFly__) -#include "acdragonfly.h" - -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) -#include "acfreebsd.h" - -#elif defined(__NetBSD__) -#include "acnetbsd.h" - -#elif defined(__sun) -#include "acsolaris.h" - -#elif defined(MODESTO) -#include "acmodesto.h" - -#elif defined(NETWARE) -#include "acnetware.h" - -#elif defined(_CYGWIN) -#include "accygwin.h" - -#elif defined(WIN32) -#include "acwin.h" - -#elif defined(WIN64) -#include "acwin64.h" - -#elif defined(_WRS_LIB_BUILD) -#include "acvxworks.h" - -#elif defined(__OS2__) -#include "acos2.h" - -#elif defined(__HAIKU__) -#include "achaiku.h" - -#elif defined(__QNX__) -#include "acqnx.h" - -/* - * EFI applications can be built with -nostdlib, in this case, it must be - * included after including all other host environmental definitions, in - * order to override the definitions. - */ -#elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI) -#include "acefi.h" - -#elif defined(__ZEPHYR__) -#include "aczephyr.h" -#else - -/* Unknown environment */ - -#error Unknown target environment -#endif - -/*! [End] no source code translation !*/ - - -/****************************************************************************** - * - * Setup defaults for the required symbols that were not defined in one of - * the host/compiler files above. - * - *****************************************************************************/ - -/* 64-bit data types */ - -#ifndef COMPILER_DEPENDENT_INT64 -#define COMPILER_DEPENDENT_INT64 long long -#endif - -#ifndef COMPILER_DEPENDENT_UINT64 -#define COMPILER_DEPENDENT_UINT64 unsigned long long -#endif - -/* Type of mutex supported by host. Default is binary semaphores. */ - -#ifndef ACPI_MUTEX_TYPE -#define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE -#endif - -/* Global Lock acquire/release */ - -#ifndef ACPI_ACQUIRE_GLOBAL_LOCK -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acquired) Acquired = 1 -#endif - -#ifndef ACPI_RELEASE_GLOBAL_LOCK -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pending) Pending = 0 -#endif - -/* Flush CPU cache - used when going to sleep. Wbinvd or similar. */ - -#ifndef ACPI_FLUSH_CPU_CACHE -#define ACPI_FLUSH_CPU_CACHE() -#endif - -/* "inline" keywords - configurable since inline is not standardized */ - -#ifndef ACPI_INLINE -#define ACPI_INLINE -#endif - -/* Use ordered initialization if compiler doesn't support designated. */ -#ifndef ACPI_STRUCT_INIT -#define ACPI_STRUCT_INIT(field, value) value -#endif - -/* - * Configurable calling conventions: - * - * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) - * ACPI_EXTERNAL_XFACE - External ACPI interfaces - * ACPI_INTERNAL_XFACE - Internal ACPI interfaces - * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces - */ -#ifndef ACPI_SYSTEM_XFACE -#define ACPI_SYSTEM_XFACE -#endif - -#ifndef ACPI_EXTERNAL_XFACE -#define ACPI_EXTERNAL_XFACE -#endif - -#ifndef ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#endif - -#ifndef ACPI_INTERNAL_VAR_XFACE -#define ACPI_INTERNAL_VAR_XFACE -#endif - - -/* - * Debugger threading model - * Use single threaded if the entire subsystem is contained in an application - * Use multiple threaded when the subsystem is running in the kernel. - * - * By default the model is single threaded if ACPI_APPLICATION is set, - * multi-threaded if ACPI_APPLICATION is not set. - */ -#ifndef DEBUGGER_THREADING -#if !defined (ACPI_APPLICATION) || defined (ACPI_EXEC_APP) -#define DEBUGGER_THREADING DEBUGGER_MULTI_THREADED - -#else -#define DEBUGGER_THREADING DEBUGGER_SINGLE_THREADED -#endif -#endif /* !DEBUGGER_THREADING */ - - -/****************************************************************************** - * - * C library configuration - * - *****************************************************************************/ - -/* - * ACPI_USE_SYSTEM_CLIBRARY - Define this if linking to an actual C library. - * Otherwise, local versions of string/memory functions will be used. - * ACPI_USE_STANDARD_HEADERS - Define this if linking to a C library and - * the standard header files may be used. Defining this implies that - * ACPI_USE_SYSTEM_CLIBRARY has been defined. - * - * The ACPICA subsystem only uses low level C library functions that do not - * call operating system services and may therefore be inlined in the code. - * - * It may be necessary to tailor these include files to the target - * generation environment. - */ - -/* Use the standard C library headers. We want to keep these to a minimum. */ - -#ifdef ACPI_USE_STANDARD_HEADERS - -/* Use the standard headers from the standard locations */ - -#include <stdlib.h> -#include <string.h> -#include <ctype.h> -#if defined (ACPI_APPLICATION) || defined(ACPI_LIBRARY) -#include <stdio.h> -#include <fcntl.h> -#include <errno.h> -#include <time.h> -#include <signal.h> -#endif - -#endif /* ACPI_USE_STANDARD_HEADERS */ - -#ifdef ACPI_APPLICATION -#define ACPI_FILE FILE * -#define ACPI_FILE_OUT stdout -#define ACPI_FILE_ERR stderr -#else -#define ACPI_FILE void * -#define ACPI_FILE_OUT NULL -#define ACPI_FILE_ERR NULL -#endif /* ACPI_APPLICATION */ - -#ifndef ACPI_INIT_FUNCTION -#define ACPI_INIT_FUNCTION -#endif - -#endif /* __ACENV_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acenvex.h b/Private/acpiSDK/source/include/platform/acenvex.h deleted file mode 100644 index 33e19b68..00000000 --- a/Private/acpiSDK/source/include/platform/acenvex.h +++ /dev/null @@ -1,190 +0,0 @@ -/****************************************************************************** - * - * Name: acenvex.h - Extra host and compiler configuration - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACENVEX_H__ -#define __ACENVEX_H__ - -/*! [Begin] no source code translation */ - -/****************************************************************************** - * - * Extra host configuration files. All ACPICA headers are included before - * including these files. - * - *****************************************************************************/ - -#if defined(_LINUX) || defined(__linux__) -#include "aclinuxex.h" - -#elif defined(__DragonFly__) -#include "acdragonflyex.h" - -/* - * EFI applications can be built with -nostdlib, in this case, it must be - * included after including all other host environmental definitions, in - * order to override the definitions. - */ -#elif defined(_AED_EFI) || defined(_GNU_EFI) || defined(_EDK2_EFI) -#include "acefiex.h" - -#endif - -#if defined(__GNUC__) && !defined(__INTEL_COMPILER) -#include "acgccex.h" - -#elif defined(_MSC_VER) -#include "acmsvcex.h" - -#endif - -/*! [End] no source code translation !*/ - -#endif /* __ACENVEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acfreebsd.h b/Private/acpiSDK/source/include/platform/acfreebsd.h deleted file mode 100644 index ffe6a485..00000000 --- a/Private/acpiSDK/source/include/platform/acfreebsd.h +++ /dev/null @@ -1,229 +0,0 @@ -/****************************************************************************** - * - * Name: acfreebsd.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACFREEBSD_H__ -#define __ACFREEBSD_H__ - - -#include <sys/types.h> - -#ifdef __LP64__ -#define ACPI_MACHINE_WIDTH 64 -#else -#define ACPI_MACHINE_WIDTH 32 -#endif - -#define COMPILER_DEPENDENT_INT64 int64_t -#define COMPILER_DEPENDENT_UINT64 uint64_t - -#define ACPI_UINTPTR_T uintptr_t - -#define ACPI_TO_INTEGER(p) ((uintptr_t)(p)) -#define ACPI_OFFSET(d, f) __offsetof(d, f) - -#define ACPI_USE_DO_WHILE_0 -#define ACPI_USE_LOCAL_CACHE -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 -#define ACPI_USE_SYSTEM_CLIBRARY - -#ifdef _KERNEL - -#include <sys/ctype.h> -#include <sys/param.h> -#include <sys/systm.h> -#include <sys/libkern.h> -#include <machine/acpica_machdep.h> -#include <machine/stdarg.h> - -#include "opt_acpi.h" - -#define ACPI_MUTEX_TYPE ACPI_OSL_MUTEX - -#ifdef ACPI_DEBUG -#define ACPI_DEBUG_OUTPUT /* for backward compatibility */ -#define ACPI_DISASSEMBLER -#endif - -#ifdef ACPI_DEBUG_OUTPUT -#include "opt_ddb.h" -#ifdef DDB -#define ACPI_DEBUGGER -#endif /* DDB */ -#endif /* ACPI_DEBUG_OUTPUT */ - -#ifdef DEBUGGER_THREADING -#undef DEBUGGER_THREADING -#endif /* DEBUGGER_THREADING */ - -#define DEBUGGER_THREADING 0 /* integrated with DDB */ - -#ifdef INVARIANTS -#define ACPI_MUTEX_DEBUG -#endif - -#else /* _KERNEL */ - -#if __STDC_HOSTED__ -#include <ctype.h> -#include <unistd.h> -#endif - -#define ACPI_CAST_PTHREAD_T(pthread) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (pthread)) - -#define ACPI_USE_STANDARD_HEADERS - -#define ACPI_FLUSH_CPU_CACHE() -#define __cdecl - -#endif /* _KERNEL */ - -#endif /* __ACFREEBSD_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acgcc.h b/Private/acpiSDK/source/include/platform/acgcc.h deleted file mode 100644 index 55a66c6d..00000000 --- a/Private/acpiSDK/source/include/platform/acgcc.h +++ /dev/null @@ -1,225 +0,0 @@ -/****************************************************************************** - * - * Name: acgcc.h - GCC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACGCC_H__ -#define __ACGCC_H__ - -/* - * Use compiler specific <stdarg.h> is a good practice for even when - * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined. - */ -#ifndef va_arg -#ifdef ACPI_USE_BUILTIN_STDARG -typedef __builtin_va_list va_list; -#define va_start(v, l) __builtin_va_start(v, l) -#define va_end(v) __builtin_va_end(v) -#define va_arg(v, l) __builtin_va_arg(v, l) -#define va_copy(d, s) __builtin_va_copy(d, s) -#else -#include <stdarg.h> -#endif -#endif - -#define ACPI_INLINE __inline__ - -/* Function name is used for debug output. Non-ANSI, compiler-dependent */ - -#define ACPI_GET_FUNCTION_NAME __func__ - -/* - * This macro is used to tag functions as "printf-like" because - * some compilers (like GCC) can catch printf format string problems. - */ -#define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1))) - -/* - * Some compilers complain about unused variables. Sometimes we don't want to - * use all the variables (for example, _AcpiModuleName). This allows us - * to tell the compiler warning in a per-variable manner that a variable - * is unused. - */ -#define ACPI_UNUSED_VAR __attribute__ ((unused)) - -/* GCC supports __VA_ARGS__ in macros */ - -#define COMPILER_VA_MACRO 1 - -/* GCC supports native multiply/shift on 32-bit platforms */ - -#define ACPI_USE_NATIVE_MATH64 - -/* GCC did not support __has_attribute until 5.1. */ - -#ifndef __has_attribute -#define __has_attribute(x) 0 -#endif - -/* - * Explicitly mark intentional explicit fallthrough to silence - * -Wimplicit-fallthrough in GCC 7.1+. - */ - -#if __has_attribute(__fallthrough__) -#define ACPI_FALLTHROUGH __attribute__((__fallthrough__)) -#endif - -/* - * Flexible array members are not allowed to be part of a union under - * C99, but this is not for any technical reason. Work around the - * limitation. - */ -#define ACPI_FLEX_ARRAY(TYPE, NAME) \ - struct { \ - struct { } __Empty_ ## NAME; \ - TYPE NAME[]; \ - } - -#endif /* __ACGCC_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acgccex.h b/Private/acpiSDK/source/include/platform/acgccex.h deleted file mode 100644 index 156bab47..00000000 --- a/Private/acpiSDK/source/include/platform/acgccex.h +++ /dev/null @@ -1,166 +0,0 @@ -/****************************************************************************** - * - * Name: acgccex.h - Extra GCC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACGCCEX_H__ -#define __ACGCCEX_H__ - -/* - * Some versions of gcc implement strchr() with a buggy macro. So, - * undef it here. Prevents error messages of this form (usually from the - * file getopt.c): - * - * error: logical '&&' with non-zero constant will always evaluate as true - */ -#ifdef strchr -#undef strchr -#endif - -#endif /* __ACGCCEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/achaiku.h b/Private/acpiSDK/source/include/platform/achaiku.h deleted file mode 100644 index 505b4139..00000000 --- a/Private/acpiSDK/source/include/platform/achaiku.h +++ /dev/null @@ -1,214 +0,0 @@ -/****************************************************************************** - * - * Name: achaiku.h - OS specific defines, etc. for Haiku (www.haiku-os.org) - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACHAIKU_H__ -#define __ACHAIKU_H__ - -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY - -#include <KernelExport.h> - -struct mutex; - - -/* Host-dependent types and defines for user- and kernel-space ACPICA */ - -#define ACPI_MUTEX_TYPE ACPI_OSL_MUTEX -#define ACPI_MUTEX struct mutex * - -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -/* #define ACPI_THREAD_ID thread_id */ - -#define ACPI_SEMAPHORE sem_id -#define ACPI_SPINLOCK spinlock * -#define ACPI_CPU_FLAGS cpu_status - -#define COMPILER_DEPENDENT_INT64 int64 -#define COMPILER_DEPENDENT_UINT64 uint64 - - -#ifdef B_HAIKU_64_BIT -#define ACPI_MACHINE_WIDTH 64 -#else -#define ACPI_MACHINE_WIDTH 32 -#endif - - -#ifdef _KERNEL_MODE -/* Host-dependent types and defines for in-kernel ACPICA */ - -/* ACPICA cache implementation is adequate. */ -#define ACPI_USE_LOCAL_CACHE - -#define ACPI_FLUSH_CPU_CACHE() __asm __volatile("wbinvd"); - -/* Based on FreeBSD's due to lack of documentation */ -int AcpiOsAcquireGlobalLock(uint32 *lock); -int AcpiOsReleaseGlobalLock(uint32 *lock); - -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) do { \ - (Acq) = AcpiOsAcquireGlobalLock(&((GLptr)->GlobalLock)); \ -} while (0) - -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Acq) do { \ - (Acq) = AcpiOsReleaseGlobalLock(&((GLptr)->GlobalLock)); \ -} while (0) - -#else /* _KERNEL_MODE */ -/* Host-dependent types and defines for user-space ACPICA */ - -#error "We only support kernel mode ACPI atm." - -#endif /* _KERNEL_MODE */ -#endif /* __ACHAIKU_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acintel.h b/Private/acpiSDK/source/include/platform/acintel.h deleted file mode 100644 index bfdc286b..00000000 --- a/Private/acpiSDK/source/include/platform/acintel.h +++ /dev/null @@ -1,198 +0,0 @@ -/****************************************************************************** - * - * Name: acintel.h - VC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACINTEL_H__ -#define __ACINTEL_H__ - -/* - * Use compiler specific <stdarg.h> is a good practice for even when - * -nostdinc is specified (i.e., ACPI_USE_STANDARD_HEADERS undefined. - */ -#ifndef va_arg -#include <stdarg.h> -#endif - -/* Configuration specific to Intel 64-bit C compiler */ - -#define COMPILER_DEPENDENT_INT64 __int64 -#define COMPILER_DEPENDENT_UINT64 unsigned __int64 -#define ACPI_INLINE __inline - -/* - * Calling conventions: - * - * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) - * ACPI_EXTERNAL_XFACE - External ACPI interfaces - * ACPI_INTERNAL_XFACE - Internal ACPI interfaces - * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces - */ -#define ACPI_SYSTEM_XFACE -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE - -/* remark 981 - operands evaluated in no particular order */ -#pragma warning(disable:981) - -/* warn C4100: unreferenced formal parameter */ -#pragma warning(disable:4100) - -/* warn C4127: conditional expression is constant */ -#pragma warning(disable:4127) - -/* warn C4706: assignment within conditional expression */ -#pragma warning(disable:4706) - -/* warn C4214: bit field types other than int */ -#pragma warning(disable:4214) - - -#endif /* __ACINTEL_H__ */ diff --git a/Private/acpiSDK/source/include/platform/aclinux.h b/Private/acpiSDK/source/include/platform/aclinux.h deleted file mode 100644 index f5234b97..00000000 --- a/Private/acpiSDK/source/include/platform/aclinux.h +++ /dev/null @@ -1,355 +0,0 @@ -/****************************************************************************** - * - * Name: aclinux.h - OS specific defines, etc. for Linux - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACLINUX_H__ -#define __ACLINUX_H__ - -#ifdef __KERNEL__ - -/* ACPICA external files should not include ACPICA headers directly. */ - -#if !defined(BUILDING_ACPICA) && !defined(_LINUX_ACPI_H) -#error "Please don't include <acpi/acpi.h> directly, include <linux/acpi.h> instead." -#endif - -#endif - -/* Common (in-kernel/user-space) ACPICA configuration */ - -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_DO_WHILE_0 -#define ACPI_IGNORE_PACKAGE_RESOLUTION_ERRORS - - -#ifdef __KERNEL__ - -#define ACPI_USE_SYSTEM_INTTYPES -#define ACPI_USE_GPE_POLLING - -/* Kernel specific ACPICA configuration */ - -#ifdef CONFIG_ACPI_REDUCED_HARDWARE_ONLY -#define ACPI_REDUCED_HARDWARE 1 -#endif - -#ifdef CONFIG_ACPI_DEBUGGER -#define ACPI_DEBUGGER -#endif - -#ifdef CONFIG_ACPI_DEBUG -#define ACPI_MUTEX_DEBUG -#endif - -#include <linux/string.h> -#include <linux/kernel.h> -#include <linux/ctype.h> -#include <linux/sched.h> -#include <linux/atomic.h> -#include <linux/math64.h> -#include <linux/slab.h> -#include <linux/spinlock_types.h> -#ifdef EXPORT_ACPI_INTERFACES -#include <linux/export.h> -#endif -#ifdef CONFIG_ACPI -#include <asm/acenv.h> -#endif - -#define ACPI_INIT_FUNCTION __init - -/* Use a specific bugging default separate from ACPICA */ - -#undef ACPI_DEBUG_DEFAULT -#define ACPI_DEBUG_DEFAULT (ACPI_LV_INFO | ACPI_LV_REPAIR) - -#ifndef CONFIG_ACPI - -/* External globals for __KERNEL__, stubs is needed */ - -#define ACPI_GLOBAL(t,a) -#define ACPI_INIT_GLOBAL(t,a,b) - -/* Generating stubs for configurable ACPICA macros */ - -#define ACPI_NO_MEM_ALLOCATIONS - -/* Generating stubs for configurable ACPICA functions */ - -#define ACPI_NO_ERROR_MESSAGES -#undef ACPI_DEBUG_OUTPUT - -/* External interface for __KERNEL__, stub is needed */ - -#define ACPI_EXTERNAL_RETURN_STATUS(Prototype) \ - static ACPI_INLINE Prototype {return(AE_NOT_CONFIGURED);} -#define ACPI_EXTERNAL_RETURN_OK(Prototype) \ - static ACPI_INLINE Prototype {return(AE_OK);} -#define ACPI_EXTERNAL_RETURN_VOID(Prototype) \ - static ACPI_INLINE Prototype {return;} -#define ACPI_EXTERNAL_RETURN_UINT32(Prototype) \ - static ACPI_INLINE Prototype {return(0);} -#define ACPI_EXTERNAL_RETURN_PTR(Prototype) \ - static ACPI_INLINE Prototype {return(NULL);} - -#endif /* CONFIG_ACPI */ - -/* Host-dependent types and defines for in-kernel ACPICA */ - -#define ACPI_MACHINE_WIDTH BITS_PER_LONG -#define ACPI_USE_NATIVE_MATH64 -#define ACPI_EXPORT_SYMBOL(symbol) EXPORT_SYMBOL(symbol); -#define strtoul simple_strtoul - -#define ACPI_CACHE_T struct kmem_cache -#define ACPI_SPINLOCK spinlock_t * -#define ACPI_CPU_FLAGS unsigned long - -#define ACPI_UINTPTR_T uintptr_t - -#define ACPI_TO_INTEGER(p) ((uintptr_t)(p)) -#define ACPI_OFFSET(d, f) offsetof(d, f) - -/* Use native linux version of AcpiOsAllocateZeroed */ - -#define USE_NATIVE_ALLOCATE_ZEROED - -/* - * Overrides for in-kernel ACPICA - */ -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitialize -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminate -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocate -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAllocateZeroed -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsFree -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsAcquireObject -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetThreadId -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCreateLock - -/* - * OSL interfaces used by debugger/disassembler - */ -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsReadable -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsWritable -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsInitializeDebugger -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsTerminateDebugger - -/* - * OSL interfaces used by utilities - */ -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsRedirectOutput -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByName -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByIndex -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetTableByAddress -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsOpenDirectory -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsGetNextFilename -#define ACPI_USE_ALTERNATE_PROTOTYPE_AcpiOsCloseDirectory - -#define ACPI_MSG_ERROR KERN_ERR "ACPI Error: " -#define ACPI_MSG_EXCEPTION KERN_ERR "ACPI Exception: " -#define ACPI_MSG_WARNING KERN_WARNING "ACPI Warning: " -#define ACPI_MSG_INFO KERN_INFO "ACPI: " - -#define ACPI_MSG_BIOS_ERROR KERN_ERR "ACPI BIOS Error (bug): " -#define ACPI_MSG_BIOS_WARNING KERN_WARNING "ACPI BIOS Warning (bug): " - -/* - * Linux wants to use designated initializers for function pointer structs. - */ -#define ACPI_STRUCT_INIT(field, value) .field = value - -#else /* !__KERNEL__ */ - -#define ACPI_USE_STANDARD_HEADERS - -#ifdef ACPI_USE_STANDARD_HEADERS -#include <stddef.h> -#include <unistd.h> -#include <stdint.h> - -#define ACPI_OFFSET(d, f) offsetof(d, f) -#endif - -/* Define/disable kernel-specific declarators */ - -#ifndef __init -#define __init -#endif -#ifndef __iomem -#define __iomem -#endif - -/* Host-dependent types and defines for user-space ACPICA */ - -#define ACPI_FLUSH_CPU_CACHE() -#define ACPI_CAST_PTHREAD_T(Pthread) ((ACPI_THREAD_ID) (Pthread)) - -#if defined(__ia64__) || (defined(__x86_64__) && !defined(__ILP32__)) ||\ - defined(__aarch64__) || defined(__PPC64__) ||\ - defined(__s390x__) || defined(__loongarch__) ||\ - (defined(__riscv) && (defined(__LP64__) || defined(_LP64))) -#define ACPI_MACHINE_WIDTH 64 -#define COMPILER_DEPENDENT_INT64 long -#define COMPILER_DEPENDENT_UINT64 unsigned long -#else -#define ACPI_MACHINE_WIDTH 32 -#define COMPILER_DEPENDENT_INT64 long long -#define COMPILER_DEPENDENT_UINT64 unsigned long long -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 -#endif - -#ifndef __cdecl -#define __cdecl -#endif - -#endif /* __KERNEL__ */ - -#endif /* __ACLINUX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/aclinuxex.h b/Private/acpiSDK/source/include/platform/aclinuxex.h deleted file mode 100644 index a10412a7..00000000 --- a/Private/acpiSDK/source/include/platform/aclinuxex.h +++ /dev/null @@ -1,276 +0,0 @@ -/****************************************************************************** - * - * Name: aclinuxex.h - Extra OS specific defines, etc. for Linux - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACLINUXEX_H__ -#define __ACLINUXEX_H__ - -#ifdef __KERNEL__ - -#ifndef ACPI_USE_NATIVE_DIVIDE - -#ifndef ACPI_DIV_64_BY_32 -#define ACPI_DIV_64_BY_32(n_hi, n_lo, d32, q32, r32) \ - do { \ - UINT64 (__n) = ((UINT64) n_hi) << 32 | (n_lo); \ - (r32) = do_div ((__n), (d32)); \ - (q32) = (UINT32) (__n); \ - } while (0) -#endif - -#ifndef ACPI_SHIFT_RIGHT_64 -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ - do { \ - (n_lo) >>= 1; \ - (n_lo) |= (((n_hi) & 1) << 31); \ - (n_hi) >>= 1; \ - } while (0) -#endif - -#endif - -/* - * Overrides for in-kernel ACPICA - */ -ACPI_STATUS ACPI_INIT_FUNCTION AcpiOsInitialize ( - void); - -ACPI_STATUS AcpiOsTerminate ( - void); - -/* - * The irqs_disabled() check is for resume from RAM. - * Interrupts are off during resume, just like they are for boot. - * However, boot has (system_state != SYSTEM_RUNNING) - * to quiet __might_sleep() in kmalloc() and resume does not. - */ -static inline void * -AcpiOsAllocate ( - ACPI_SIZE Size) -{ - return kmalloc (Size, irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL); -} - -static inline void * -AcpiOsAllocateZeroed ( - ACPI_SIZE Size) -{ - return kzalloc (Size, irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL); -} - -static inline void -AcpiOsFree ( - void *Memory) -{ - kfree (Memory); -} - -static inline void * -AcpiOsAcquireObject ( - ACPI_CACHE_T *Cache) -{ - return kmem_cache_zalloc (Cache, - irqs_disabled () ? GFP_ATOMIC : GFP_KERNEL); -} - -static inline ACPI_THREAD_ID -AcpiOsGetThreadId ( - void) -{ - return (ACPI_THREAD_ID) (unsigned long) current; -} - -/* - * When lockdep is enabled, the spin_lock_init() macro stringifies it's - * argument and uses that as a name for the lock in debugging. - * By executing spin_lock_init() in a macro the key changes from "lock" for - * all locks to the name of the argument of acpi_os_create_lock(), which - * prevents lockdep from reporting false positives for ACPICA locks. - */ -#define AcpiOsCreateLock(__Handle) \ - ({ \ - spinlock_t *Lock = ACPI_ALLOCATE(sizeof(*Lock)); \ - if (Lock) { \ - *(__Handle) = Lock; \ - spin_lock_init(*(__Handle)); \ - } \ - Lock ? AE_OK : AE_NO_MEMORY; \ - }) - -static inline BOOLEAN -AcpiOsReadable ( - void *Pointer, - ACPI_SIZE Length) -{ - return TRUE; -} - -static inline ACPI_STATUS -AcpiOsInitializeDebugger ( - void) -{ - return AE_OK; -} - -static inline void -AcpiOsTerminateDebugger ( - void) -{ - return; -} - - -/* - * OSL interfaces added by Linux - */ - -#endif /* __KERNEL__ */ - -#endif /* __ACLINUXEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acmacosx.h b/Private/acpiSDK/source/include/platform/acmacosx.h deleted file mode 100644 index 0166c245..00000000 --- a/Private/acpiSDK/source/include/platform/acmacosx.h +++ /dev/null @@ -1,165 +0,0 @@ -/****************************************************************************** - * - * Name: acmacosx.h - OS specific defines, etc. for Mac OS X - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACMACOSX_H__ -#define __ACMACOSX_H__ - -#include "aclinux.h" - -#ifdef __APPLE__ -#define ACPI_USE_ALTERNATE_TIMEOUT -#endif /* __APPLE__ */ - -#ifdef __clang__ -#pragma clang diagnostic ignored "-Wformat-nonliteral" -#endif - -#endif /* __ACMACOSX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acmsvc.h b/Private/acpiSDK/source/include/platform/acmsvc.h deleted file mode 100644 index d6a265d2..00000000 --- a/Private/acpiSDK/source/include/platform/acmsvc.h +++ /dev/null @@ -1,342 +0,0 @@ -/****************************************************************************** - * - * Name: acmsvc.h - VC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACMSVC_H__ -#define __ACMSVC_H__ - -/* Note: do not include any C library headers here */ - -/* - * Note: MSVC project files should define ACPI_DEBUGGER and ACPI_DISASSEMBLER - * as appropriate to enable editor functions like "Find all references". - * The editor isn't smart enough to dig through the include files to find - * out if these are actually defined. - */ - -/* Eliminate warnings for "old" (non-secure) versions of clib functions */ - -#ifndef _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_WARNINGS -#endif - -/* Eliminate warnings for POSIX clib function names (open, write, etc.) */ - -#ifndef _CRT_NONSTDC_NO_DEPRECATE -#define _CRT_NONSTDC_NO_DEPRECATE -#endif - -#define COMPILER_DEPENDENT_INT64 __int64 -#define COMPILER_DEPENDENT_UINT64 unsigned __int64 -#define ACPI_INLINE __inline - -/* - * Calling conventions: - * - * ACPI_SYSTEM_XFACE - Interfaces to host OS (handlers, threads) - * ACPI_EXTERNAL_XFACE - External ACPI interfaces - * ACPI_INTERNAL_XFACE - Internal ACPI interfaces - * ACPI_INTERNAL_VAR_XFACE - Internal variable-parameter list interfaces - */ -#define ACPI_SYSTEM_XFACE __cdecl -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE __cdecl - - -/* Do not maintain the architecture specific stuffs for the EFI ports */ - -#if defined(__i386__) && !defined(_GNU_EFI) && !defined(_EDK2_EFI) -/* - * Math helper functions - */ -#ifndef ACPI_DIV_64_BY_32 -#define ACPI_DIV_64_BY_32(n_hi, n_lo, d32, q32, r32) \ -{ \ - __asm mov edx, n_hi \ - __asm mov eax, n_lo \ - __asm div d32 \ - __asm mov q32, eax \ - __asm mov r32, edx \ -} -#endif - -#ifndef ACPI_MUL_64_BY_32 -#define ACPI_MUL_64_BY_32(n_hi, n_lo, m32, p32, c32) \ -{ \ - __asm mov edx, n_hi \ - __asm mov eax, n_lo \ - __asm mul m32 \ - __asm mov p32, eax \ - __asm mov c32, edx \ -} -#endif - -#ifndef ACPI_SHIFT_LEFT_64_BY_32 -#define ACPI_SHIFT_LEFT_64_BY_32(n_hi, n_lo, s32) \ -{ \ - __asm mov edx, n_hi \ - __asm mov eax, n_lo \ - __asm mov ecx, s32 \ - __asm and ecx, 31 \ - __asm shld edx, eax, cl \ - __asm shl eax, cl \ - __asm mov n_hi, edx \ - __asm mov n_lo, eax \ -} -#endif - -#ifndef ACPI_SHIFT_RIGHT_64_BY_32 -#define ACPI_SHIFT_RIGHT_64_BY_32(n_hi, n_lo, s32) \ -{ \ - __asm mov edx, n_hi \ - __asm mov eax, n_lo \ - __asm mov ecx, s32 \ - __asm and ecx, 31 \ - __asm shrd eax, edx, cl \ - __asm shr edx, cl \ - __asm mov n_hi, edx \ - __asm mov n_lo, eax \ -} -#endif - -#ifndef ACPI_SHIFT_RIGHT_64 -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ -{ \ - __asm shr n_hi, 1 \ - __asm rcr n_lo, 1 \ -} -#endif -#endif - -/* warn C4001: use of slash-slash comments */ -/* NOTE: MSVC 2015 headers use these extensively */ -#pragma warning(disable:4001) - -/* warn C4100: unreferenced formal parameter */ -#pragma warning(disable:4100) - -/* warn C4127: conditional expression is constant */ -#pragma warning(disable:4127) - -/* warn C4706: assignment within conditional expression */ -#pragma warning(disable:4706) - -/* warn C4131: uses old-style declarator (iASL compiler only) */ -#pragma warning(disable:4131) - -/* warn C4131: uses old-style declarator (iASL compiler only) */ -#pragma warning(disable:4459) - -/* warn c4200: allow flexible arrays (of zero length) */ -#pragma warning(disable:4200) - -#if _MSC_VER > 1200 /* Versions above VC++ 6 */ -#pragma warning( disable : 4295 ) /* needed for acpredef.h array */ -#endif - -/* - * MSVC 2015+ - */ - - /* warn C4459: xxxx (identifier) hides global declaration */ -#pragma warning(disable:4459) - - -/* Debug support. */ - -#ifdef _DEBUG - -/* - * Debugging memory corruption issues with windows: - * Add #include <crtdbg.h> to accommon.h if necessary. - * Add _ASSERTE(_CrtCheckMemory()); where needed to test memory integrity. - * This can quickly localize the memory corruption. - */ -#define ACPI_DEBUG_INITIALIZE() \ - _CrtSetDbgFlag (\ - _CRTDBG_CHECK_ALWAYS_DF | \ - _CRTDBG_ALLOC_MEM_DF | \ - _CRTDBG_DELAY_FREE_MEM_DF | \ - _CRTDBG_LEAK_CHECK_DF | \ - _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)); - -#if 0 -/* - * _CrtSetBreakAlloc can be used to set a breakpoint at a particular - * memory leak, add to the macro above. - */ -Detected memory leaks! -Dumping objects -> -..\..\source\os_specific\service_layers\oswinxf.c(701) : {937} normal block at 0x002E9190, 40 bytes long. - Data: < > 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - -_CrtSetBreakAlloc (937); -#endif - -#endif - -#if _MSC_VER > 1200 /* Versions above VC++ 6 */ -#define COMPILER_VA_MACRO 1 -#else -#endif - -/* Begin standard headers */ - -/* - * warn C4001: nonstandard extension 'single line comment' was used - * - * We need to enable this for ACPICA internal files, but disable it for - * buggy MS runtime headers. - */ -#pragma warning(push) -#pragma warning(disable:4001) - -#endif /* __ACMSVC_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acmsvcex.h b/Private/acpiSDK/source/include/platform/acmsvcex.h deleted file mode 100644 index 306ef619..00000000 --- a/Private/acpiSDK/source/include/platform/acmsvcex.h +++ /dev/null @@ -1,205 +0,0 @@ -/****************************************************************************** - * - * Name: acmsvcex.h - Extra VC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACMSVCEX_H__ -#define __ACMSVCEX_H__ - -/* va_arg implementation can be compiler specific */ - -#ifdef ACPI_USE_STANDARD_HEADERS - -#include <stdarg.h> - -#endif /* ACPI_USE_STANDARD_HEADERS */ - -/* Debug support. */ - -#ifdef _DEBUG -#define _CRTDBG_MAP_ALLOC /* Enables specific file/lineno for leaks */ -#include <crtdbg.h> -#endif - -/* End standard headers */ - -#pragma warning(pop) - -#ifndef ACPI_USE_SYSTEM_CLIBRARY - -/****************************************************************************** - * - * Not using native C library, use local implementations - * - *****************************************************************************/ - -#ifndef va_arg - -#ifndef _VALIST -#define _VALIST -typedef char *va_list; -#endif /* _VALIST */ - -/* Storage alignment properties */ - -#define _AUPBND (sizeof (ACPI_NATIVE_INT) - 1) -#define _ADNBND (sizeof (ACPI_NATIVE_INT) - 1) - -/* Variable argument list macro definitions */ - -#define _Bnd(X, bnd) (((sizeof (X)) + (bnd)) & (~(bnd))) -#define va_arg(ap, T) (*(T *)(((ap) += (_Bnd (T, _AUPBND))) - (_Bnd (T,_ADNBND)))) -#define va_end(ap) (ap = (va_list) NULL) -#define va_start(ap, A) (void) ((ap) = (((char *) &(A)) + (_Bnd (A,_AUPBND)))) - -#endif /* va_arg */ - -#endif /* !ACPI_USE_SYSTEM_CLIBRARY */ - -#endif /* __ACMSVCEX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acnetbsd.h b/Private/acpiSDK/source/include/platform/acnetbsd.h deleted file mode 100644 index b948a5d6..00000000 --- a/Private/acpiSDK/source/include/platform/acnetbsd.h +++ /dev/null @@ -1,221 +0,0 @@ -/****************************************************************************** - * - * Name: acnetbsd.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACNETBSD_H__ -#define __ACNETBSD_H__ - -#define ACPI_UINTPTR_T uintptr_t -#define ACPI_USE_LOCAL_CACHE -#define ACPI_CAST_PTHREAD_T(x) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (x)) - -#ifdef _LP64 -#define ACPI_MACHINE_WIDTH 64 -#else -#define ACPI_MACHINE_WIDTH 32 -#endif - -#define COMPILER_DEPENDENT_INT64 int64_t -#define COMPILER_DEPENDENT_UINT64 uint64_t - -#if defined(_KERNEL) || defined(_STANDALONE) -#ifdef _KERNEL_OPT -#include "opt_acpi.h" /* collect build-time options here */ -#endif /* _KERNEL_OPT */ - -#include <sys/param.h> -#include <sys/systm.h> -#include <machine/stdarg.h> -#include <machine/acpi_func.h> - -#define asm __asm - -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -#define ACPI_SYSTEM_XFACE -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE - -#ifdef ACPI_DEBUG -#define ACPI_DEBUG_OUTPUT -#define ACPI_DBG_TRACK_ALLOCATIONS -#ifdef DEBUGGER_THREADING -#undef DEBUGGER_THREADING -#endif /* DEBUGGER_THREADING */ -#define DEBUGGER_THREADING 0 /* integrated with DDB */ -#include "opt_ddb.h" -#ifdef DDB -#define ACPI_DISASSEMBLER -#define ACPI_DEBUGGER -#endif /* DDB */ -#endif /* ACPI_DEBUG */ - -#else /* defined(_KERNEL) || defined(_STANDALONE) */ - -#include <ctype.h> -#include <stdint.h> - -/* Not building kernel code, so use libc */ -#define ACPI_USE_STANDARD_HEADERS - -#define __cli() -#define __sti() -#define __cdecl - -#endif /* defined(_KERNEL) || defined(_STANDALONE) */ - -/* Always use NetBSD code over our local versions */ -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -#endif /* __ACNETBSD_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acos2.h b/Private/acpiSDK/source/include/platform/acos2.h deleted file mode 100644 index f3b1183d..00000000 --- a/Private/acpiSDK/source/include/platform/acos2.h +++ /dev/null @@ -1,206 +0,0 @@ -/****************************************************************************** - * - * Name: acos2.h - OS/2 specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACOS2_H__ -#define __ACOS2_H__ - -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY - -#define INCL_LONGLONG -#include <os2.h> - - -#define ACPI_MACHINE_WIDTH 32 - -#define COMPILER_DEPENDENT_INT64 long long -#define COMPILER_DEPENDENT_UINT64 unsigned long long -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -#define ACPI_SYSTEM_XFACE APIENTRY -#define ACPI_EXTERNAL_XFACE APIENTRY -#define ACPI_INTERNAL_XFACE APIENTRY -#define ACPI_INTERNAL_VAR_XFACE APIENTRY - -/* - * Some compilers complain about unused variables. Sometimes we don't want to - * use all the variables (most specifically for _THIS_MODULE). This allow us - * to to tell the compiler warning in a per-variable manner that a variable - * is unused. - */ -#define ACPI_UNUSED_VAR - -#include <io.h> - -#define ACPI_FLUSH_CPU_CACHE() Wbinvd() -void Wbinvd(void); - -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) Acq = OSPMAcquireGlobalLock(GLptr) -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pnd) Pnd = OSPMReleaseGlobalLock(GLptr) -unsigned short OSPMAcquireGlobalLock (void *); -unsigned short OSPMReleaseGlobalLock (void *); - -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ -{ \ - unsigned long long val = 0LL; \ - val = n_lo | ( ((unsigned long long)h_hi) << 32 ); \ - __llrotr (val,1); \ - n_hi = (unsigned long)((val >> 32 ) & 0xffffffff ); \ - n_lo = (unsigned long)(val & 0xffffffff); \ -} - -#ifndef ACPI_ASL_COMPILER -#define ACPI_USE_LOCAL_CACHE -#undef ACPI_DEBUGGER -#endif - -#endif /* __ACOS2_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acqnx.h b/Private/acpiSDK/source/include/platform/acqnx.h deleted file mode 100644 index 40b50ceb..00000000 --- a/Private/acpiSDK/source/include/platform/acqnx.h +++ /dev/null @@ -1,179 +0,0 @@ -/****************************************************************************** - * - * Name: acqnx.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACQNX_H__ -#define __ACQNX_H__ - -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY - -#define ACPI_UINTPTR_T uintptr_t -#define ACPI_USE_LOCAL_CACHE -#define ACPI_CAST_PTHREAD_T(x) ((ACPI_THREAD_ID) ACPI_TO_INTEGER (x)) - -/* At present time (QNX 6.6) all supported architectures are 32 bits. */ -#define ACPI_MACHINE_WIDTH 32 - -#define COMPILER_DEPENDENT_INT64 int64_t -#define COMPILER_DEPENDENT_UINT64 uint64_t - -#include <ctype.h> -#include <stdint.h> -#include <sys/neutrino.h> - -#define __cli() InterruptDisable(); -#define __sti() InterruptEnable(); -#define __cdecl - -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -#endif /* __ACQNX_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acwin.h b/Private/acpiSDK/source/include/platform/acwin.h deleted file mode 100644 index 90dc0e3c..00000000 --- a/Private/acpiSDK/source/include/platform/acwin.h +++ /dev/null @@ -1,302 +0,0 @@ -/****************************************************************************** - * - * Name: acwin.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACWIN_H__ -#define __ACWIN_H__ - -#include <io.h> - -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY - - /* Note: do not include any C library headers here */ - - /* - * Note: MSVC project files should define ACPI_DEBUGGER and ACPI_DISASSEMBLER - * as appropriate to enable editor functions like "Find all references". - * The editor isn't smart enough to dig through the include files to find - * out if these are actually defined. - */ - - /* Eliminate warnings for "old" (non-secure) versions of clib functions */ - -#ifndef _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_WARNINGS -#endif - -/* Eliminate warnings for POSIX clib function names (open, write, etc.) */ - -#ifndef _CRT_NONSTDC_NO_DEPRECATE -#define _CRT_NONSTDC_NO_DEPRECATE -#endif - - -#define ACPI_MACHINE_WIDTH 32 -#define ACPI_USE_NATIVE_DIVIDE -#define ACPI_USE_NATIVE_MATH64 - -#ifdef ACPI_DEFINE_ALTERNATE_TYPES -/* - * Types used only in (Linux) translated source, defined here to enable - * cross-platform compilation (i.e., generate the Linux code on Windows, - * for test purposes only) - */ -typedef int s32; -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned int u32; -typedef COMPILER_DEPENDENT_UINT64 u64; -#endif - -/* - * Map low I/O functions for MS. This allows us to disable MS language - * extensions for maximum portability. - */ -#define open _open -#define read _read -#define write _write -#define close _close -#define stat _stat -#define fstat _fstat -#define mkdir _mkdir -#define fileno _fileno -#define isatty _isatty - -#if _MSC_VER <= 1200 /* Versions below VC++ 6 */ -#define vsnprintf _vsnprintf -#endif -#define O_RDONLY _O_RDONLY -#define O_BINARY _O_BINARY -#define O_CREAT _O_CREAT -#define O_WRONLY _O_WRONLY -#define O_TRUNC _O_TRUNC -#define S_IREAD _S_IREAD -#define S_IWRITE _S_IWRITE -#define S_IFDIR _S_IFDIR -#if _MSC_VER < 1900 -#define snprintf _snprintf -#endif - - -/* - * Handle platform- and compiler-specific assembly language differences. - * - * Notes: - * 1) Interrupt 3 is used to break into a debugger - * 2) Interrupts are turned off during ACPI register setup - */ - -/*! [Begin] no source code translation */ - -#ifdef ACPI_APPLICATION -#define ACPI_FLUSH_CPU_CACHE() -#else -#define ACPI_FLUSH_CPU_CACHE() __asm {WBINVD} -#endif - -#ifdef _DEBUG -#define ACPI_SIMPLE_RETURN_MACROS -#endif - -/*! [End] no source code translation !*/ - -/* - * Global Lock acquire/release code - * - * Note: Handles case where the FACS pointer is null - */ -#define ACPI_ACQUIRE_GLOBAL_LOCK(FacsPtr, Acq) __asm \ -{ \ - __asm mov eax, 0xFF \ - __asm mov ecx, FacsPtr \ - __asm or ecx, ecx \ - __asm jz exit_acq \ - __asm lea ecx, [ecx].GlobalLock \ - \ - __asm acq10: \ - __asm mov eax, [ecx] \ - __asm mov edx, eax \ - __asm and edx, 0xFFFFFFFE \ - __asm bts edx, 1 \ - __asm adc edx, 0 \ - __asm lock cmpxchg dword ptr [ecx], edx \ - __asm jnz acq10 \ - \ - __asm cmp dl, 3 \ - __asm sbb eax, eax \ - \ - __asm exit_acq: \ - __asm mov Acq, al \ -} - -#define ACPI_RELEASE_GLOBAL_LOCK(FacsPtr, Pnd) __asm \ -{ \ - __asm xor eax, eax \ - __asm mov ecx, FacsPtr \ - __asm or ecx, ecx \ - __asm jz exit_rel \ - __asm lea ecx, [ecx].GlobalLock \ - \ - __asm Rel10: \ - __asm mov eax, [ecx] \ - __asm mov edx, eax \ - __asm and edx, 0xFFFFFFFC \ - __asm lock cmpxchg dword ptr [ecx], edx \ - __asm jnz Rel10 \ - \ - __asm cmp dl, 3 \ - __asm and eax, 1 \ - \ - __asm exit_rel: \ - __asm mov Pnd, al \ -} - -#endif /* __ACWIN_H__ */ diff --git a/Private/acpiSDK/source/include/platform/acwin64.h b/Private/acpiSDK/source/include/platform/acwin64.h deleted file mode 100644 index f151435a..00000000 --- a/Private/acpiSDK/source/include/platform/acwin64.h +++ /dev/null @@ -1,234 +0,0 @@ -/****************************************************************************** - * - * Name: acwin64.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2023, 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. - * - ***************************************************************************** - * - * Alternatively, you may choose to be licensed under the terms of the - * following license: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions, and the following disclaimer, - * without modification. - * 2. Redistributions in binary form must reproduce at minimum a disclaimer - * substantially similar to the "NO WARRANTY" disclaimer below - * ("Disclaimer") and any redistribution must be conditioned upon - * including a substantially similar Disclaimer requirement for further - * binary redistribution. - * 3. Neither the names of the above-listed copyright holders nor the names - * of any contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * Alternatively, you may choose to be licensed under the terms of the - * GNU General Public License ("GPL") version 2 as published by the Free - * Software Foundation. - * - *****************************************************************************/ - -#ifndef __ACWIN64_H__ -#define __ACWIN64_H__ - -#define ACPI_USE_STANDARD_HEADERS -#define ACPI_USE_SYSTEM_CLIBRARY - - /* Note: do not include any C library headers here */ - - /* - * Note: MSVC project files should define ACPI_DEBUGGER and ACPI_DISASSEMBLER - * as appropriate to enable editor functions like "Find all references". - * The editor isn't smart enough to dig through the include files to find - * out if these are actually defined. - */ - - /* Eliminate warnings for "old" (non-secure) versions of clib functions */ - -#ifndef _CRT_SECURE_NO_WARNINGS -#define _CRT_SECURE_NO_WARNINGS -#endif - -/* Eliminate warnings for POSIX clib function names (open, write, etc.) */ - -#ifndef _CRT_NONSTDC_NO_DEPRECATE -#define _CRT_NONSTDC_NO_DEPRECATE -#endif - - -#define ACPI_MACHINE_WIDTH 64 - -/* - * Map low I/O functions for MS. This allows us to disable MS language - * extensions for maximum portability. - */ -#define open _open -#define read _read -#define write _write -#define close _close -#define stat _stat -#define fstat _fstat -#define mkdir _mkdir -#define snprintf _snprintf -#if _MSC_VER <= 1200 /* Versions below VC++ 6 */ -#define vsnprintf _vsnprintf -#endif -#define O_RDONLY _O_RDONLY -#define O_BINARY _O_BINARY -#define O_CREAT _O_CREAT -#define O_WRONLY _O_WRONLY -#define O_TRUNC _O_TRUNC -#define S_IREAD _S_IREAD -#define S_IWRITE _S_IWRITE -#define S_IFDIR _S_IFDIR - -/* - * Handle platform- and compiler-specific assembly language differences. - * - * Notes: - * 1) Interrupt 3 is used to break into a debugger - * 2) Interrupts are turned off during ACPI register setup - */ - -/*! [Begin] no source code translation */ - -#define ACPI_FLUSH_CPU_CACHE() - -/* - * For Acpi applications, we don't want to try to access the global lock - */ -#ifdef ACPI_APPLICATION -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) if (AcpiGbl_GlobalLockPresent) {Acq = 0xFF;} else {Acq = 0;} -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pnd) if (AcpiGbl_GlobalLockPresent) {Pnd = 0xFF;} else {Pnd = 0;} -#else - -#define ACPI_ACQUIRE_GLOBAL_LOCK(GLptr, Acq) - -#define ACPI_RELEASE_GLOBAL_LOCK(GLptr, Pnd) - -#endif - -/*! [End] no source code translation !*/ - -#endif /* __ACWIN_H__ */ diff --git a/Private/acpiSDK/source/include/platform/aczephyr.h b/Private/acpiSDK/source/include/platform/aczephyr.h deleted file mode 100644 index 7311d696..00000000 --- a/Private/acpiSDK/source/include/platform/aczephyr.h +++ /dev/null @@ -1,199 +0,0 @@ -/******************************************************************************
- *
- * Module Name: aczephyr.h - OS specific defines, etc.
- *
- *****************************************************************************/
-
-/******************************************************************************
- *
- * 1. Copyright Notice
- *
- * Some or all of this work - Copyright (c) 1999 - 2023, 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.
- *
- *****************************************************************************
- *
- * Alternatively, you may choose to be licensed under the terms of the
- * following license:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions, and the following disclaimer,
- * without modification.
- * 2. Redistributions in binary form must reproduce at minimum a disclaimer
- * substantially similar to the "NO WARRANTY" disclaimer below
- * ("Disclaimer") and any redistribution must be conditioned upon
- * including a substantially similar Disclaimer requirement for further
- * binary redistribution.
- * 3. Neither the names of the above-listed copyright holders nor the names
- * of any contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Alternatively, you may choose to be licensed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- *****************************************************************************/
-
-#ifndef __ACZEPHYR_H__
-#define __ACZEPHYR_H__
-
-#if defined(__x86_64__)
-#define ACPI_MACHINE_WIDTH 64
-#else
-#define ACPI_32BIT_PHYSICAL_ADDRESS
-#define ACPI_MACHINE_WIDTH 32
-#define ACPI_USE_NATIVE_DIVIDE
-#define ACPI_USE_NATIVE_MATH64
-#endif
-
-#define COMPILER_DEPENDENT_INT64 long long
-#define COMPILER_DEPENDENT_UINT64 unsigned long long
-
-#define ACPI_NO_ERROR_MESSAGES
-#undef ACPI_DEBUG_OUTPUT
-#define ACPI_USE_SYSTEM_CLIBRARY
-#undef ACPI_DBG_TRACK_ALLOCATIONS
-#define ACPI_SINGLE_THREADED
-#define ACPI_USE_NATIVE_RSDP_POINTER
-
-#include <zephyr/kernel.h>
-#include <zephyr/device.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <zephyr/fs/fs.h>
-#include <zephyr/sys/printk.h>
-#include <zephyr/sys/__assert.h>
-
-
-/******************************************************************************
- *
- * FUNCTION: AcpiEnableDbgPrint
- *
- * PARAMETERS: Enable, - Enable/Disable debug print
- *
- * RETURN: None
- *
- * DESCRIPTION: Enable/disable debug print
- *
- *****************************************************************************/
-
-void AcpiEnableDbgPrint (
- bool Enable);
-#endif
|
