diff --git a/sys/contrib/dev/acpica/acpica_prep.sh b/sys/contrib/dev/acpica/acpica_prep.sh index efafe951610f..b07f153bfcf7 100755 --- a/sys/contrib/dev/acpica/acpica_prep.sh +++ b/sys/contrib/dev/acpica/acpica_prep.sh @@ -19,18 +19,18 @@ fulldirs="common compiler debugger disassembler dispatcher events \ tools utilities" # files to remove -stripdirs="acpisrc generate os_specific" +stripdirs="acpisrc acpixtract examples generate os_specific" stripfiles="Makefile README acintel.h aclinux.h acmsvc.h acnetbsd.h \ - acos2.h acpixtract.c accygwin.h acefi.h acwin.h acwin64.h \ - aeexec.c aehandlers.c aemain.c aetables.c examples.c \ - osunixdir.c oswindir.c oswintbl.c oswinxf.c readme.txt utclib.c" + acos2.h accygwin.h acefi.h actbl2.h acwin.h acwin64.h aeexec.c \ + aehandlers.c aemain.c aetables.c osunixdir.c readme.txt \ + utclib.c" # include files to canonify src_headers="acapps.h accommon.h acconfig.h acdebug.h acdisasm.h \ acdispat.h acevents.h acexcep.h acglobal.h achware.h acinterp.h \ aclocal.h acmacros.h acnames.h acnamesp.h acobject.h acopcode.h \ acoutput.h acparser.h acpi.h acpiosxf.h acpixf.h acpredef.h \ - acresrc.h acrestyp.h acstruct.h actables.h actbl.h actbl1.h \ + acresrc.h acrestyp.h acstruct.h actables.h actbl.h actbl1.h \ actypes.h acutils.h amlcode.h amlresrc.h platform/acenv.h \ platform/acfreebsd.h platform/acgcc.h" comp_headers="aslcompiler.h asldefine.h aslglobal.h asltypes.h" diff --git a/sys/contrib/dev/acpica/include/actbl2.h b/sys/contrib/dev/acpica/include/actbl2.h deleted file mode 100644 index 6b3a88bcf1e3..000000000000 --- a/sys/contrib/dev/acpica/include/actbl2.h +++ /dev/null @@ -1,122 +0,0 @@ -/****************************************************************************** - * - * Name: actbl2.h - ACPI Specification Revision 2.0 Tables - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACTBL2_H__ -#define __ACTBL2_H__ - -/* Code moved to both actbl.h and actbl1.h */ - -#endif /* __ACTBL2_H__ */ - diff --git a/sys/contrib/dev/acpica/include/platform/accygwin.h b/sys/contrib/dev/acpica/include/platform/accygwin.h deleted file mode 100644 index e9585b44b109..000000000000 --- a/sys/contrib/dev/acpica/include/platform/accygwin.h +++ /dev/null @@ -1,163 +0,0 @@ -/****************************************************************************** - * - * Name: accygwin.h - OS specific defines, etc. for cygwin environment - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACCYGWIN_H__ -#define __ACCYGWIN_H__ - -/* - * ACPICA configuration - */ -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_DO_WHILE_0 -#define ACPI_THREAD_ID pthread_t -#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 - - -#include -#include -#include -#include -#include - -#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 -#endif - -#ifndef __cdecl -#define __cdecl -#endif - -#ifdef _ANSI -#define inline -#endif - - -/* Cygwin uses GCC */ - -#include "acgcc.h" - -#endif /* __ACCYGWIN_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acefi.h b/sys/contrib/dev/acpica/include/platform/acefi.h deleted file mode 100644 index 40afaa401cfa..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acefi.h +++ /dev/null @@ -1,147 +0,0 @@ -/****************************************************************************** - * - * Name: acefi.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACEFI_H__ -#define __ACEFI_H__ - -#include -#include -#include - - -/* _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 /* __ACEFI_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acintel.h b/sys/contrib/dev/acpica/include/platform/acintel.h deleted file mode 100644 index 44197a09946e..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acintel.h +++ /dev/null @@ -1,168 +0,0 @@ -/****************************************************************************** - * - * Name: acintel.h - VC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACINTEL_H__ -#define __ACINTEL_H__ - - -#define COMPILER_DEPENDENT_INT64 __int64 -#define COMPILER_DEPENDENT_UINT64 unsigned __int64 - -#define 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 - -/* - * Math helper functions - */ -#define ACPI_DIV_64_BY_32(n, n_hi, n_lo, d32, q32, r32) \ -{ \ - q32 = n / d32; \ - r32 = n % d32; \ -} - -#define ACPI_SHIFT_RIGHT_64(n, n_hi, n_lo) \ -{ \ - n <<= 1; \ -} - -/* 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/sys/contrib/dev/acpica/include/platform/aclinux.h b/sys/contrib/dev/acpica/include/platform/aclinux.h deleted file mode 100644 index c6f868cdbf95..000000000000 --- a/sys/contrib/dev/acpica/include/platform/aclinux.h +++ /dev/null @@ -1,233 +0,0 @@ -/****************************************************************************** - * - * Name: aclinux.h - OS specific defines, etc. for Linux - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACLINUX_H__ -#define __ACLINUX_H__ - -/* Common (in-kernel/user-space) ACPICA configuration */ - -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_DO_WHILE_0 -#define ACPI_MUTEX_TYPE ACPI_BINARY_SEMAPHORE - - -#ifdef __KERNEL__ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -/* Host-dependent types and defines for in-kernel ACPICA */ - -#define ACPI_MACHINE_WIDTH BITS_PER_LONG -#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_THREAD_ID struct task_struct * - -#else /* !__KERNEL__ */ - -#include -#include -#include -#include -#include - -/* Host-dependent types and defines for user-space ACPICA */ - -#define ACPI_FLUSH_CPU_CACHE() -#define ACPI_THREAD_ID pthread_t - -#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 -#endif - -#ifndef __cdecl -#define __cdecl -#endif - -#endif /* __KERNEL__ */ - -/* Linux uses GCC */ - -#include "acgcc.h" - - -#ifdef __KERNEL__ -/* - * Overrides for in-kernel ACPICA - */ -static inline acpi_thread_id acpi_os_get_thread_id(void) -{ - return current; -} - -/* - * 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. - */ -#include -static inline void *acpi_os_allocate(acpi_size size) -{ - return kmalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); -} - -static inline void *acpi_os_allocate_zeroed(acpi_size size) -{ - return kzalloc(size, irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); -} - -static inline void *acpi_os_acquire_object(acpi_cache_t * cache) -{ - return kmem_cache_zalloc(cache, - irqs_disabled() ? GFP_ATOMIC : GFP_KERNEL); -} - -#define ACPI_ALLOCATE(a) acpi_os_allocate(a) -#define ACPI_ALLOCATE_ZEROED(a) acpi_os_allocate_zeroed(a) -#define ACPI_FREE(a) kfree(a) - -/* Used within ACPICA to show where it is safe to preempt execution */ - -#define ACPI_PREEMPTION_POINT() \ - do { \ - if (!irqs_disabled()) \ - cond_resched(); \ - } while (0) - -#endif /* __KERNEL__ */ - -#endif /* __ACLINUX_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acmsvc.h b/sys/contrib/dev/acpica/include/platform/acmsvc.h deleted file mode 100644 index 0320e74d1e18..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acmsvc.h +++ /dev/null @@ -1,183 +0,0 @@ -/****************************************************************************** - * - * Name: acmsvc.h - VC specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACMSVC_H__ -#define __ACMSVC_H__ - -#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 __cdecl -#define ACPI_EXTERNAL_XFACE -#define ACPI_INTERNAL_XFACE -#define ACPI_INTERNAL_VAR_XFACE __cdecl - -#ifndef _LINT -/* - * Math helper functions - */ -#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 \ -} - -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ -{ \ - __asm shr n_hi, 1 \ - __asm rcr n_lo, 1 \ -} -#else - -/* Fake versions to make lint happy */ - -#define ACPI_DIV_64_BY_32(n_hi, n_lo, d32, q32, r32) \ -{ \ - q32 = n_hi / d32; \ - r32 = n_lo / d32; \ -} - -#define ACPI_SHIFT_RIGHT_64(n_hi, n_lo) \ -{ \ - n_hi >>= 1; \ - n_lo >>= 1; \ -} -#endif - -/* 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) - - -#endif /* __ACMSVC_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acnetbsd.h b/sys/contrib/dev/acpica/include/platform/acnetbsd.h deleted file mode 100644 index c04851b926a2..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acnetbsd.h +++ /dev/null @@ -1,188 +0,0 @@ -/****************************************************************************** - * - * Name: acnetbsd.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACNETBSD_H__ -#define __ACNETBSD_H__ - -/* NetBSD uses GCC */ - -#include "acgcc.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 - -#ifdef _KERNEL -#include "opt_acpi.h" /* collect build-time options here */ - -#include -#include -#include -#include - -#define asm __asm - -#define ACPI_USE_NATIVE_DIVIDE - -#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 */ - -static __inline int -isprint(int ch) -{ - return(isspace(ch) || isascii(ch)); -} - -#else /* _KERNEL */ - -#include - -/* Not building kernel code, so use libc */ -#define ACPI_USE_STANDARD_HEADERS - -#define __cli() -#define __sti() - -/* XXX */ -#define __inline inline - -#endif /* _KERNEL */ - -/* Always use NetBSD code over our local versions */ -#define ACPI_USE_SYSTEM_CLIBRARY -#define ACPI_USE_NATIVE_DIVIDE - -#endif /* __ACNETBSD_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acos2.h b/sys/contrib/dev/acpica/include/platform/acos2.h deleted file mode 100644 index 21e3373c24de..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acos2.h +++ /dev/null @@ -1,172 +0,0 @@ -/****************************************************************************** - * - * Name: acos2.h - OS/2 specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACOS2_H__ -#define __ACOS2_H__ -#define INCL_LONGLONG -#include - - -#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_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 - -#define ACPI_USE_STANDARD_HEADERS -#include - -#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); \ -} - -/* IBM VAC does not have inline */ - -#if __IBMC__ || __IBMCPP__ -#define inline -#endif - -#ifndef ACPI_ASL_COMPILER -#define ACPI_USE_LOCAL_CACHE -#undef ACPI_DEBUGGER -#endif - -#endif /* __ACOS2_H__ */ diff --git a/sys/contrib/dev/acpica/include/platform/acwin.h b/sys/contrib/dev/acpica/include/platform/acwin.h deleted file mode 100644 index d1fa2ee22b94..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acwin.h +++ /dev/null @@ -1,220 +0,0 @@ -/****************************************************************************** - * - * Name: acwin.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACWIN_H__ -#define __ACWIN_H__ - -/*! [Begin] no source code translation (Keep the include) */ - -/* Windows uses VC */ -#ifdef _MSC_VER -#include "acmsvc.h" -#endif -/*! [End] no source code translation !*/ - -#define ACPI_MACHINE_WIDTH 32 - -#define inline __inline - -#define ACPI_USE_STANDARD_HEADERS - -#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 - - -/* - * 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/sys/contrib/dev/acpica/include/platform/acwin64.h b/sys/contrib/dev/acpica/include/platform/acwin64.h deleted file mode 100644 index faec855e22d8..000000000000 --- a/sys/contrib/dev/acpica/include/platform/acwin64.h +++ /dev/null @@ -1,155 +0,0 @@ -/****************************************************************************** - * - * Name: acwin.h - OS specific defines, etc. - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#ifndef __ACWIN64_H__ -#define __ACWIN64_H__ - -/*! [Begin] no source code translation (Keep the include) */ - -#include "acintel.h" -/*! [End] no source code translation !*/ - -#define ACPI_MACHINE_WIDTH 64 - -#define ACPI_USE_STANDARD_HEADERS - -/* - * 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 - - -#endif /* __ACWIN_H__ */ diff --git a/sys/contrib/dev/acpica/tools/acpiexec/Makefile b/sys/contrib/dev/acpica/tools/acpiexec/Makefile deleted file mode 100644 index a8ec4d00f43f..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/Makefile +++ /dev/null @@ -1,146 +0,0 @@ -PROG= acpiexec -SRCS= aetables.c aehandlers.c aeexec.c aemain.c \ - ../../common/getopt.c \ - ../../debugger/dbcmds.c \ - ../../debugger/dbdisply.c \ - ../../debugger/dbexec.c \ - ../../debugger/dbfileio.c \ - ../../debugger/dbhistry.c \ - ../../debugger/dbinput.c \ - ../../debugger/dbstats.c \ - ../../debugger/dbutils.c \ - ../../debugger/dbxface.c \ - ../../disassembler/dmbuffer.c \ - ../../disassembler/dmnames.c \ - ../../disassembler/dmobject.c \ - ../../disassembler/dmopcode.c \ - ../../disassembler/dmresrc.c \ - ../../disassembler/dmresrcl.c \ - ../../disassembler/dmresrcs.c \ - ../../disassembler/dmutils.c \ - ../../disassembler/dmwalk.c \ - ../../events/evevent.c \ - ../../events/evgpeblk.c \ - ../../events/evgpe.c \ - ../../events/evmisc.c \ - ../../events/evregion.c \ - ../../events/evrgnini.c \ - ../../events/evsci.c \ - ../../events/evxface.c \ - ../../events/evxfevnt.c \ - ../../events/evxfregn.c \ - ../../hardware/hwacpi.c \ - ../../hardware/hwgpe.c \ - ../../hardware/hwregs.c \ - ../../hardware/hwsleep.c \ - ../../hardware/hwvalid.c \ - ../../hardware/hwxface.c \ - ../../dispatcher/dsfield.c \ - ../../dispatcher/dsinit.c \ - ../../dispatcher/dsmethod.c \ - ../../dispatcher/dsmthdat.c \ - ../../dispatcher/dsobject.c \ - ../../dispatcher/dsopcode.c \ - ../../dispatcher/dsutils.c \ - ../../dispatcher/dswexec.c \ - ../../dispatcher/dswload.c \ - ../../dispatcher/dswscope.c \ - ../../dispatcher/dswstate.c \ - ../../executer/exconfig.c \ - ../../executer/exconvrt.c \ - ../../executer/excreate.c \ - ../../executer/exdump.c \ - ../../executer/exfield.c \ - ../../executer/exfldio.c \ - ../../executer/exmisc.c \ - ../../executer/exmutex.c \ - ../../executer/exnames.c \ - ../../executer/exoparg1.c \ - ../../executer/exoparg2.c \ - ../../executer/exoparg3.c \ - ../../executer/exoparg6.c \ - ../../executer/exprep.c \ - ../../executer/exregion.c \ - ../../executer/exresnte.c \ - ../../executer/exresolv.c \ - ../../executer/exresop.c \ - ../../executer/exstore.c \ - ../../executer/exstoren.c \ - ../../executer/exstorob.c \ - ../../executer/exsystem.c \ - ../../executer/exutils.c \ - ../../parser/psargs.c \ - ../../parser/psloop.c \ - ../../parser/psopcode.c \ - ../../parser/psparse.c \ - ../../parser/psscope.c \ - ../../parser/pstree.c \ - ../../parser/psutils.c \ - ../../parser/pswalk.c \ - ../../parser/psxface.c \ - ../../namespace/nsaccess.c \ - ../../namespace/nsalloc.c \ - ../../namespace/nsdump.c \ - ../../namespace/nsdumpdv.c \ - ../../namespace/nseval.c \ - ../../namespace/nsinit.c \ - ../../namespace/nsload.c \ - ../../namespace/nsnames.c \ - ../../namespace/nsobject.c \ - ../../namespace/nsparse.c \ - ../../namespace/nspredef.c \ - ../../namespace/nssearch.c \ - ../../namespace/nsutils.c \ - ../../namespace/nswalk.c \ - ../../namespace/nsxfeval.c \ - ../../namespace/nsxfname.c \ - ../../namespace/nsxfobj.c \ - ../../resources/rsaddr.c \ - ../../resources/rscalc.c \ - ../../resources/rscreate.c \ - ../../resources/rsdump.c \ - ../../resources/rsio.c \ - ../../resources/rsinfo.c \ - ../../resources/rsirq.c \ - ../../resources/rslist.c \ - ../../resources/rsmemory.c \ - ../../resources/rsmisc.c \ - ../../resources/rsutils.c \ - ../../resources/rsxface.c \ - ../../tables/tbfadt.c \ - ../../tables/tbfind.c \ - ../../tables/tbinstal.c \ - ../../tables/tbutils.c \ - ../../tables/tbxface.c \ - ../../tables/tbxfroot.c \ - ../../utilities/utalloc.c \ - ../../utilities/utcache.c \ - ../../utilities/utcopy.c \ - ../../utilities/utdebug.c \ - ../../utilities/utdelete.c \ - ../../utilities/uteval.c \ - ../../utilities/utglobal.c \ - ../../utilities/utinit.c \ - ../../utilities/utlock.c \ - ../../utilities/utmath.c \ - ../../utilities/utmisc.c \ - ../../utilities/utmutex.c \ - ../../utilities/utobject.c \ - ../../utilities/utresrc.c \ - ../../utilities/utstate.c \ - ../../utilities/uttrack.c \ - ../../utilities/utxface.c \ - ../../osunixxf.c - - -CFLAGS+= -Wall -g -D_LINUX -DNDEBUG -D_CONSOLE -DACPI_EXEC_APP -D_MULTI_THREADED -Wstrict-prototypes -I../../include - - -acpiexec : $(patsubst %.c,%.o, $(SRCS)) - $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -lrt -lpthread -o $(PROG) - -CLEANFILES= $(PROG) - -clean : - rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) - diff --git a/sys/contrib/dev/acpica/tools/acpiexec/aeexec.c b/sys/contrib/dev/acpica/tools/acpiexec/aeexec.c deleted file mode 100644 index 798e841689af..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/aeexec.c +++ /dev/null @@ -1,589 +0,0 @@ -/****************************************************************************** - * - * Module Name: aeexec - Support routines for AcpiExec utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "aecommon.h" - -#define _COMPONENT ACPI_TOOLS - ACPI_MODULE_NAME ("aeexec") - -/* Local prototypes */ - -ACPI_STATUS -AeSetupConfiguration ( - void *RegionAddr); - -void -AfInstallGpeBlock ( - void); - -void -AeTestBufferArgument ( - void); - -void -AeTestPackageArgument ( - void); - -ACPI_STATUS -AeGetDevices ( - ACPI_HANDLE ObjHandle, - UINT32 NestingLevel, - void *Context, - void **ReturnValue); - -ACPI_STATUS -ExecuteOSI ( - char *OsiString, - UINT32 ExpectedResult); - -void -AeHardwareInterfaces ( - void); - -extern unsigned char Ssdt3Code[]; - - -/****************************************************************************** - * - * FUNCTION: AeSetupConfiguration - * - * PARAMETERS: RegionAddr - Address for an ACPI table to be loaded - * dynamically. Test purposes only. - * - * RETURN: Status - * - * DESCRIPTION: Call AML _CFG configuration control method - * - *****************************************************************************/ - -ACPI_STATUS -AeSetupConfiguration ( - void *RegionAddr) -{ - ACPI_STATUS Status; - ACPI_OBJECT_LIST ArgList; - ACPI_OBJECT Arg[3]; - - - /* - * Invoke _CFG method if present - */ - ArgList.Count = 1; - ArgList.Pointer = Arg; - - Arg[0].Type = ACPI_TYPE_INTEGER; - Arg[0].Integer.Value = ACPI_TO_INTEGER (RegionAddr); - - Status = AcpiEvaluateObject (NULL, "\\_CFG", &ArgList, NULL); - - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: AfInstallGpeBlock - * - * PARAMETERS: None - * - * RETURN: None - * - * DESCRIPTION: Various GPE initialization - * - *****************************************************************************/ - -void -AfInstallGpeBlock ( - void) -{ - ACPI_STATUS Status; - ACPI_HANDLE Handle; - ACPI_HANDLE Handle2 = NULL; - ACPI_HANDLE Handle3 = NULL; - ACPI_GENERIC_ADDRESS BlockAddress; - ACPI_HANDLE GpeDevice; - - - Status = AcpiGetHandle (NULL, "\\_GPE", &Handle); - if (ACPI_FAILURE (Status)) - { - return; - } - - BlockAddress.SpaceId = 0; - BlockAddress.Address = 0x76540000; - -#ifdef _OBSOLETE - Status = AcpiInstallGpeBlock (Handle, &BlockAddress, 4, 8); -#endif - - /* Above should fail, ignore */ - - Status = AcpiGetHandle (NULL, "\\GPE2", &Handle2); - if (ACPI_SUCCESS (Status)) - { - Status = AcpiInstallGpeBlock (Handle2, &BlockAddress, 8, 8); - - AcpiInstallGpeHandler (Handle2, 8, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (Handle2, 8, ACPI_GPE_TYPE_WAKE); - AcpiEnableGpe (Handle2, 8, 0); - - Status = AcpiGetGpeDevice (0x30, &GpeDevice); - Status = AcpiGetGpeDevice (0x42, &GpeDevice); - Status = AcpiGetGpeDevice (AcpiCurrentGpeCount-1, &GpeDevice); - Status = AcpiGetGpeDevice (AcpiCurrentGpeCount, &GpeDevice); - - AcpiRemoveGpeHandler (Handle2, 8, AeGpeHandler); - - Status = AcpiRemoveGpeBlock (Handle2); - } - - Status = AcpiGetHandle (NULL, "\\GPE3", &Handle3); - if (ACPI_SUCCESS (Status)) - { - Status = AcpiInstallGpeBlock (Handle3, &BlockAddress, 8, 11); - } - -#ifdef _OBSOLETE - Status = AcpiRemoveGpeBlock (Handle); - Status = AcpiRemoveGpeBlock (Handle2); - Status = AcpiRemoveGpeBlock (Handle3); -#endif -} - - -/* Test using a Buffer object as a method argument */ - -void -AeTestBufferArgument ( - void) -{ - ACPI_STATUS Status; - ACPI_OBJECT_LIST Params; - ACPI_OBJECT BufArg; - UINT8 Buffer[] = { - 0,0,0,0, - 4,0,0,0, - 1,2,3,4}; - - - BufArg.Type = ACPI_TYPE_BUFFER; - BufArg.Buffer.Length = 12; - BufArg.Buffer.Pointer = Buffer; - - Params.Count = 1; - Params.Pointer = &BufArg; - - - Status = AcpiEvaluateObject (NULL, "\\BUF", &Params, NULL); -} - - -ACPI_OBJECT PkgArg; -ACPI_OBJECT PkgElements[5]; -ACPI_OBJECT Pkg2Elements[5]; -ACPI_OBJECT_LIST Params; - - -/* - * Test using a Package object as an method argument - */ -void -AeTestPackageArgument ( - void) -{ - ACPI_STATUS Status; - - - /* Main package */ - - PkgArg.Type = ACPI_TYPE_PACKAGE; - PkgArg.Package.Count = 4; - PkgArg.Package.Elements = PkgElements; - - /* Main package elements */ - - PkgElements[0].Type = ACPI_TYPE_INTEGER; - PkgElements[0].Integer.Value = 0x22228888; - - PkgElements[1].Type = ACPI_TYPE_STRING; - PkgElements[1].String.Length = sizeof ("Top-level package"); - PkgElements[1].String.Pointer = "Top-level package"; - - PkgElements[2].Type = ACPI_TYPE_BUFFER; - PkgElements[2].Buffer.Length = sizeof ("XXXX"); - PkgElements[2].Buffer.Pointer = (UINT8 *) "XXXX"; - - PkgElements[3].Type = ACPI_TYPE_PACKAGE; - PkgElements[3].Package.Count = 2; - PkgElements[3].Package.Elements = Pkg2Elements; - - /* Sub-package elements */ - - Pkg2Elements[0].Type = ACPI_TYPE_INTEGER; - Pkg2Elements[0].Integer.Value = 0xAAAABBBB; - - Pkg2Elements[1].Type = ACPI_TYPE_STRING; - Pkg2Elements[1].String.Length = sizeof ("Nested Package"); - Pkg2Elements[1].String.Pointer = "Nested Package"; - - /* Parameter object */ - - Params.Count = 1; - Params.Pointer = &PkgArg; - - Status = AcpiEvaluateObject (NULL, "\\_PKG", &Params, NULL); -} - - -ACPI_STATUS -AeGetDevices ( - ACPI_HANDLE ObjHandle, - UINT32 NestingLevel, - void *Context, - void **ReturnValue) -{ - - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: ExecuteOSI - * - * PARAMETERS: OsiString - String passed to _OSI method - * ExpectedResult - 0 (FALSE) or 0xFFFFFFFF (TRUE) - * - * RETURN: Status - * - * DESCRIPTION: Execute the internally implemented (in ACPICA) _OSI method. - * - *****************************************************************************/ - -ACPI_STATUS -ExecuteOSI ( - char *OsiString, - UINT32 ExpectedResult) -{ - ACPI_STATUS Status; - ACPI_OBJECT_LIST ArgList; - ACPI_OBJECT Arg[1]; - ACPI_BUFFER ReturnValue; - ACPI_OBJECT *Obj; - - - /* Setup input argument */ - - ArgList.Count = 1; - ArgList.Pointer = Arg; - - Arg[0].Type = ACPI_TYPE_STRING; - Arg[0].String.Pointer = OsiString; - Arg[0].String.Length = strlen (Arg[0].String.Pointer); - - /* Ask ACPICA to allocate space for the return object */ - - ReturnValue.Length = ACPI_ALLOCATE_BUFFER; - - Status = AcpiEvaluateObject (NULL, "\\_OSI", &ArgList, &ReturnValue); - - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not execute _OSI method, %s\n", - AcpiFormatException (Status)); - return (Status); - } - - if (ReturnValue.Length < sizeof (ACPI_OBJECT)) - { - AcpiOsPrintf ("Return value from _OSI method too small, %.8X\n", - ReturnValue.Length); - return (AE_ERROR); - } - - Obj = ReturnValue.Pointer; - if (Obj->Type != ACPI_TYPE_INTEGER) - { - AcpiOsPrintf ("Invalid return type from _OSI method, %.2X\n", Obj->Type); - return (AE_ERROR); - } - - if (Obj->Integer.Value != ExpectedResult) - { - AcpiOsPrintf ("Invalid return value from _OSI, expected %.8X found %.8X\n", - ExpectedResult, (UINT32) Obj->Integer.Value); - return (AE_ERROR); - } - - /* Reset the OSI data */ - - AcpiGbl_OsiData = 0; - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: AeHardwareInterfaces - * - * DESCRIPTION: Call various hardware support interfaces - * - *****************************************************************************/ - -void -AeHardwareInterfaces ( - void) -{ - ACPI_STATUS Status; - UINT32 Value; - - - - Status = AcpiWriteBitRegister (ACPI_BITREG_WAKE_STATUS, 1); - Status = AcpiWriteBitRegister (ACPI_BITREG_GLOBAL_LOCK_ENABLE, 1); - Status = AcpiWriteBitRegister (ACPI_BITREG_SLEEP_ENABLE, 1); - Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1); - - Status = AcpiReadBitRegister (ACPI_BITREG_WAKE_STATUS, &Value); - Status = AcpiReadBitRegister (ACPI_BITREG_GLOBAL_LOCK_ENABLE, &Value); - Status = AcpiReadBitRegister (ACPI_BITREG_SLEEP_ENABLE, &Value); - Status = AcpiReadBitRegister (ACPI_BITREG_ARB_DISABLE, &Value); -} - - -/****************************************************************************** - * - * FUNCTION: AeMiscellaneousTests - * - * DESCRIPTION: Various ACPICA validation tests. - * - *****************************************************************************/ - -void -AeMiscellaneousTests ( - void) -{ - ACPI_HANDLE Handle; - ACPI_BUFFER ReturnBuf; - char Buffer[32]; - ACPI_VENDOR_UUID Uuid = {0, {ACPI_INIT_UUID (0,0,0,0,0,0,0,0,0,0,0)}}; - ACPI_STATUS Status; - UINT32 LockHandle1; - UINT32 LockHandle2; - ACPI_STATISTICS Stats; - - - AeHardwareInterfaces (); - AeSetupConfiguration (Ssdt3Code); - - AeTestBufferArgument(); - AeTestPackageArgument (); - ExecuteOSI ("Windows 2001", 0xFFFFFFFF); - ExecuteOSI ("MichiganTerminalSystem", 0); - - - ReturnBuf.Length = 32; - ReturnBuf.Pointer = Buffer; - - AcpiGetName (AcpiGbl_RootNode, ACPI_FULL_PATHNAME, &ReturnBuf); - AcpiEnableEvent (ACPI_EVENT_GLOBAL, 0); - - AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 0, ACPI_GPE_TYPE_WAKE_RUN); - AcpiEnableGpe (NULL, 0, ACPI_NOT_ISR); - AcpiRemoveGpeHandler (NULL, 0, AeGpeHandler); - - AcpiInstallGpeHandler (NULL, 0, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 0, ACPI_GPE_TYPE_WAKE_RUN); - AcpiEnableGpe (NULL, 0, ACPI_NOT_ISR); - - AcpiInstallGpeHandler (NULL, 1, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 1, ACPI_GPE_TYPE_RUNTIME); - AcpiEnableGpe (NULL, 1, ACPI_NOT_ISR); - - AcpiInstallGpeHandler (NULL, 2, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 2, ACPI_GPE_TYPE_WAKE); - AcpiEnableGpe (NULL, 2, ACPI_NOT_ISR); - - AcpiInstallGpeHandler (NULL, 3, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 3, ACPI_GPE_TYPE_WAKE_RUN); - - AcpiInstallGpeHandler (NULL, 4, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 4, ACPI_GPE_TYPE_RUNTIME); - - AcpiInstallGpeHandler (NULL, 5, ACPI_GPE_EDGE_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 5, ACPI_GPE_TYPE_WAKE); - - AcpiInstallGpeHandler (NULL, 0x19, ACPI_GPE_LEVEL_TRIGGERED, AeGpeHandler, NULL); - AcpiSetGpeType (NULL, 0x19, ACPI_GPE_TYPE_WAKE_RUN); - AcpiEnableGpe (NULL, 0x19, ACPI_NOT_ISR); - - AfInstallGpeBlock (); - - - Status = AcpiGetHandle (NULL, "RSRC", &Handle); - if (ACPI_SUCCESS (Status)) - { - ReturnBuf.Length = ACPI_ALLOCATE_BUFFER; - - Status = AcpiGetVendorResource (Handle, "_CRS", &Uuid, &ReturnBuf); - if (ACPI_SUCCESS (Status)) - { - AcpiOsFree (ReturnBuf.Pointer); - } - } - - /* Test global lock */ - - Status = AcpiAcquireGlobalLock (0xFFFF, &LockHandle1); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not get GlobalLock, %X\n", Status); - } - - Status = AcpiAcquireGlobalLock (0x5, &LockHandle2); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not get GlobalLock, %X\n", Status); - } - - Status = AcpiReleaseGlobalLock (LockHandle1); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not release GlobalLock, %X\n", Status); - } - - Status = AcpiReleaseGlobalLock (LockHandle2); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not release GlobalLock, %X\n", Status); - } - - /* Get Devices */ - - Status = AcpiGetDevices (NULL, AeGetDevices, NULL, NULL); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not AcpiGetDevices, %X\n", Status); - } - - Status = AcpiGetStatistics (&Stats); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("Could not AcpiGetStatistics, %X\n", Status); - } -} - diff --git a/sys/contrib/dev/acpica/tools/acpiexec/aehandlers.c b/sys/contrib/dev/acpica/tools/acpiexec/aehandlers.c deleted file mode 100644 index 47c95abae91d..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/aehandlers.c +++ /dev/null @@ -1,909 +0,0 @@ -/****************************************************************************** - * - * Module Name: aehandlers - Various handlers for acpiexec - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "aecommon.h" - -#define _COMPONENT ACPI_TOOLS - ACPI_MODULE_NAME ("aehandlers") - -/* Local prototypes */ - -void -AeNotifyHandler ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context); - -void -AeDeviceNotifyHandler ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context); - -ACPI_STATUS -AeExceptionHandler ( - ACPI_STATUS AmlStatus, - ACPI_NAME Name, - UINT16 Opcode, - UINT32 AmlOffset, - void *Context); - -ACPI_STATUS -AeTableHandler ( - UINT32 Event, - void *Table, - void *Context); - -ACPI_STATUS -AeRegionInit ( - ACPI_HANDLE RegionHandle, - UINT32 Function, - void *HandlerContext, - void **RegionContext); - - -UINT32 SigintCount = 0; -AE_DEBUG_REGIONS AeRegions; - - -/****************************************************************************** - * - * FUNCTION: AeCtrlCHandler - * - * PARAMETERS: Sig - * - * RETURN: none - * - * DESCRIPTION: Control-C handler. Abort running control method if any. - * - *****************************************************************************/ - -void __cdecl -AeCtrlCHandler ( - int Sig) -{ - - signal (SIGINT, SIG_IGN); - SigintCount++; - - AcpiOsPrintf ("Caught a ctrl-c (#%d)\n\n", SigintCount); - - if (AcpiGbl_MethodExecuting) - { - AcpiGbl_AbortMethod = TRUE; - signal (SIGINT, AeCtrlCHandler); - - if (SigintCount < 10) - { - return; - } - } - - exit (0); -} - - -/****************************************************************************** - * - * FUNCTION: AeNotifyHandler - * - * PARAMETERS: Standard notify handler parameters - * - * RETURN: Status - * - * DESCRIPTION: System notify handler for AcpiExec utility. Used by the ASL - * test suite(s) to communicate errors and other information to - * this utility via the Notify() operator. - * - *****************************************************************************/ - -void -AeNotifyHandler ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context) -{ - - switch (Value) - { -#if 0 - case 0: - printf ("[AcpiExec] Method Error 0x%X: Results not equal\n", Value); - if (AcpiGbl_DebugFile) - { - AcpiOsPrintf ("[AcpiExec] Method Error: Results not equal\n"); - } - break; - - - case 1: - printf ("[AcpiExec] Method Error: Incorrect numeric result\n"); - if (AcpiGbl_DebugFile) - { - AcpiOsPrintf ("[AcpiExec] Method Error: Incorrect numeric result\n"); - } - break; - - - case 2: - printf ("[AcpiExec] Method Error: An operand was overwritten\n"); - if (AcpiGbl_DebugFile) - { - AcpiOsPrintf ("[AcpiExec] Method Error: An operand was overwritten\n"); - } - break; - -#endif - - default: - printf ("[AcpiExec] Received a System Notify on [%4.4s] %p Value 0x%2.2X (%s)\n", - AcpiUtGetNodeName (Device), Device, Value, - AcpiUtGetNotifyName (Value)); - if (AcpiGbl_DebugFile) - { - AcpiOsPrintf ("[AcpiExec] Received a system notify, Value 0x%2.2X\n", Value); - } - - (void) AcpiEvaluateObject (Device, "_NOT", NULL, NULL); - break; - } - -} - - -/****************************************************************************** - * - * FUNCTION: AeDeviceNotifyHandler - * - * PARAMETERS: Standard notify handler parameters - * - * RETURN: Status - * - * DESCRIPTION: Device notify handler for AcpiExec utility. Used by the ASL - * test suite(s) to communicate errors and other information to - * this utility via the Notify() operator. - * - *****************************************************************************/ - -void -AeDeviceNotifyHandler ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context) -{ - - printf ("[AcpiExec] Received a Device Notify on [%4.4s] %p Value 0x%2.2X (%s)\n", - AcpiUtGetNodeName (Device), Device, Value, - AcpiUtGetNotifyName (Value)); - if (AcpiGbl_DebugFile) - { - AcpiOsPrintf ("[AcpiExec] Received a device notify, Value 0x%2.2X\n", Value); - } - - (void) AcpiEvaluateObject (Device, "_NOT", NULL, NULL); -} - - -/****************************************************************************** - * - * FUNCTION: AeExceptionHandler - * - * PARAMETERS: Standard exception handler parameters - * - * RETURN: Status - * - * DESCRIPTION: System exception handler for AcpiExec utility. - * - *****************************************************************************/ - -ACPI_STATUS -AeExceptionHandler ( - ACPI_STATUS AmlStatus, - ACPI_NAME Name, - UINT16 Opcode, - UINT32 AmlOffset, - void *Context) -{ - ACPI_STATUS NewAmlStatus = AmlStatus; - ACPI_STATUS Status; - ACPI_BUFFER ReturnObj; - ACPI_OBJECT_LIST ArgList; - ACPI_OBJECT Arg[3]; - const char *Exception; - - - Exception = AcpiFormatException (AmlStatus); - AcpiOsPrintf ("[AcpiExec] Exception %s during execution ", Exception); - if (Name) - { - AcpiOsPrintf ("of method [%4.4s]", (char *) &Name); - } - else - { - AcpiOsPrintf ("at module level (table load)"); - } - AcpiOsPrintf (" Opcode [%s] @%X\n", AcpiPsGetOpcodeName (Opcode), AmlOffset); - - /* - * Invoke the _ERR method if present - * - * Setup parameter object - */ - ArgList.Count = 3; - ArgList.Pointer = Arg; - - Arg[0].Type = ACPI_TYPE_INTEGER; - Arg[0].Integer.Value = AmlStatus; - - Arg[1].Type = ACPI_TYPE_STRING; - Arg[1].String.Pointer = ACPI_CAST_PTR (char, Exception); - Arg[1].String.Length = ACPI_STRLEN (Exception); - - Arg[2].Type = ACPI_TYPE_INTEGER; - Arg[2].Integer.Value = ACPI_TO_INTEGER (AcpiOsGetThreadId()); - - /* Setup return buffer */ - - ReturnObj.Pointer = NULL; - ReturnObj.Length = ACPI_ALLOCATE_BUFFER; - - Status = AcpiEvaluateObject (NULL, "\\_ERR", &ArgList, &ReturnObj); - if (ACPI_SUCCESS (Status)) - { - if (ReturnObj.Pointer) - { - /* Override original status */ - - NewAmlStatus = (ACPI_STATUS) - ((ACPI_OBJECT *) ReturnObj.Pointer)->Integer.Value; - - AcpiOsFree (ReturnObj.Pointer); - } - } - else if (Status != AE_NOT_FOUND) - { - AcpiOsPrintf ("[AcpiExec] Could not execute _ERR method, %s\n", - AcpiFormatException (Status)); - } - - /* Global override */ - - if (AcpiGbl_IgnoreErrors) - { - NewAmlStatus = AE_OK; - } - - if (NewAmlStatus != AmlStatus) - { - AcpiOsPrintf ("[AcpiExec] Exception override, new status %s\n", - AcpiFormatException (NewAmlStatus)); - } - - return (NewAmlStatus); -} - - -/****************************************************************************** - * - * FUNCTION: AeTableHandler - * - * PARAMETERS: Table handler - * - * RETURN: Status - * - * DESCRIPTION: System table handler for AcpiExec utility. - * - *****************************************************************************/ - -char *TableEvents[] = -{ - "LOAD", - "UNLOAD", - "UNKNOWN" -}; - -ACPI_STATUS -AeTableHandler ( - UINT32 Event, - void *Table, - void *Context) -{ - - if (Event > ACPI_NUM_TABLE_EVENTS) - { - Event = ACPI_NUM_TABLE_EVENTS; - } - - /* TBD: could dump entire table header, need a header dump routine */ - - printf ("[AcpiExec] Table Event %s, [%4.4s] %p\n", - TableEvents[Event], ((ACPI_TABLE_HEADER *) Table)->Signature, Table); - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: AeGpeHandler - * - * DESCRIPTION: GPE handler for acpiexec - * - *****************************************************************************/ - -UINT32 -AeGpeHandler ( - void *Context) -{ - - - AcpiOsPrintf ("Received a GPE at handler\n"); - return (0); -} - - -/****************************************************************************** - * - * FUNCTION: AeRegionInit - * - * PARAMETERS: None - * - * RETURN: Status - * - * DESCRIPTION: Opregion init function. - * - *****************************************************************************/ - -ACPI_STATUS -AeRegionInit ( - ACPI_HANDLE RegionHandle, - UINT32 Function, - void *HandlerContext, - void **RegionContext) -{ - /* - * Real simple, set the RegionContext to the RegionHandle - */ - *RegionContext = RegionHandle; - - return AE_OK; -} - - -/****************************************************************************** - * - * FUNCTION: AeInstallHandlers - * - * PARAMETERS: None - * - * RETURN: Status - * - * DESCRIPTION: Install handlers for the AcpiExec utility. - * - *****************************************************************************/ - -ACPI_ADR_SPACE_TYPE SpaceId[] = {0, 1, 2, 3, 4, 5, 6, 0x80}; -#define AEXEC_NUM_REGIONS 8 - -ACPI_STATUS -AeInstallHandlers (void) -{ - ACPI_STATUS Status; - UINT32 i; - ACPI_HANDLE Handle; - - - ACPI_FUNCTION_ENTRY (); - - - Status = AcpiInstallTableHandler (AeTableHandler, NULL); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install table handler, %s\n", - AcpiFormatException (Status)); - } - - Status = AcpiInstallExceptionHandler (AeExceptionHandler); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install exception handler, %s\n", - AcpiFormatException (Status)); - } - - /* Install global notify handler */ - - Status = AcpiInstallNotifyHandler (ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY, - AeNotifyHandler, NULL); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install a global notify handler, %s\n", - AcpiFormatException (Status)); - } - - Status = AcpiInstallNotifyHandler (ACPI_ROOT_OBJECT, ACPI_DEVICE_NOTIFY, - AeDeviceNotifyHandler, NULL); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install a global notify handler, %s\n", - AcpiFormatException (Status)); - } - - Status = AcpiGetHandle (NULL, "\\_SB", &Handle); - if (ACPI_SUCCESS (Status)) - { - Status = AcpiInstallNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY, - AeNotifyHandler, NULL); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install a notify handler, %s\n", - AcpiFormatException (Status)); - } - - Status = AcpiRemoveNotifyHandler (Handle, ACPI_SYSTEM_NOTIFY, - AeNotifyHandler); - if (ACPI_FAILURE (Status)) - { - printf ("Could not remove a notify handler, %s\n", - AcpiFormatException (Status)); - } - - Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY, - AeNotifyHandler, NULL); - Status = AcpiRemoveNotifyHandler (Handle, ACPI_ALL_NOTIFY, - AeNotifyHandler); - Status = AcpiInstallNotifyHandler (Handle, ACPI_ALL_NOTIFY, - AeNotifyHandler, NULL); - if (ACPI_FAILURE (Status)) - { - printf ("Could not install a notify handler, %s\n", - AcpiFormatException (Status)); - } - } - else - { - printf ("No _SB_ found, %s\n", AcpiFormatException (Status)); - } - - /* Set a handler for all supported operation regions */ - - for (i = 0; i < AEXEC_NUM_REGIONS; i++) - { - Status = AcpiRemoveAddressSpaceHandler (AcpiGbl_RootNode, - SpaceId[i], AeRegionHandler); - - /* Install handler at the root object. - * TBD: all default handlers should be installed here! - */ - Status = AcpiInstallAddressSpaceHandler (AcpiGbl_RootNode, - SpaceId[i], AeRegionHandler, AeRegionInit, NULL); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, - "Could not install an OpRegion handler for %s space(%d)", - AcpiUtGetRegionName((UINT8) SpaceId[i]), SpaceId[i])); - return (Status); - } - } - - /* - * Initialize the global Region Handler space - * MCW 3/23/00 - */ - AeRegions.NumberOfRegions = 0; - AeRegions.RegionList = NULL; - - return Status; -} - - -/****************************************************************************** - * - * FUNCTION: AeRegionHandler - * - * PARAMETERS: Standard region handler parameters - * - * RETURN: Status - * - * DESCRIPTION: Test handler - Handles some dummy regions via memory that can - * be manipulated in Ring 3. Simulates actual reads and writes. - * - *****************************************************************************/ - -ACPI_STATUS -AeRegionHandler ( - UINT32 Function, - ACPI_PHYSICAL_ADDRESS Address, - UINT32 BitWidth, - ACPI_INTEGER *Value, - void *HandlerContext, - void *RegionContext) -{ - - ACPI_OPERAND_OBJECT *RegionObject = (ACPI_OPERAND_OBJECT*) RegionContext; - ACPI_PHYSICAL_ADDRESS BaseAddress; - ACPI_SIZE Length; - BOOLEAN BufferExists; - AE_REGION *RegionElement; - void *BufferValue; - ACPI_STATUS Status; - UINT32 ByteWidth; - UINT32 i; - UINT8 SpaceId; - - - ACPI_FUNCTION_NAME (AeRegionHandler); - - /* - * If the object is not a region, simply return - */ - if (RegionObject->Region.Type != ACPI_TYPE_REGION) - { - return AE_OK; - } - - /* - * Region support can be disabled with the -r option. - * We use this to support dynamically loaded tables where we pass a valid - * address to the AML. - */ - if (AcpiGbl_DbOpt_NoRegionSupport) - { - BufferValue = ACPI_TO_POINTER (Address); - ByteWidth = (BitWidth / 8); - - if (BitWidth % 8) - { - ByteWidth += 1; - } - goto DoFunction; - } - - /* - * Find the region's address space and length before searching - * the linked list. - */ - BaseAddress = RegionObject->Region.Address; - Length = (ACPI_SIZE) RegionObject->Region.Length; - SpaceId = RegionObject->Region.SpaceId; - - ACPI_DEBUG_PRINT ((ACPI_DB_OPREGION, "Operation Region request on %s at 0x%X\n", - AcpiUtGetRegionName (RegionObject->Region.SpaceId), - (UINT32) Address)); - - if (SpaceId == ACPI_ADR_SPACE_SYSTEM_IO) - { - /* - * For I/O space, exercise the port validation - */ - switch (Function & ACPI_IO_MASK) - { - case ACPI_READ: - Status = AcpiHwReadPort (Address, (UINT32 *) Value, BitWidth); - break; - - case ACPI_WRITE: - Status = AcpiHwWritePort (Address, (UINT32) *Value, BitWidth); - break; - - default: - Status = AE_BAD_PARAMETER; - break; - } - - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Now go ahead and simulate the hardware */ - } - - else if (SpaceId == ACPI_ADR_SPACE_SMBUS) - { - Length = 0; - - switch (Function & ACPI_IO_MASK) - { - case ACPI_READ: - switch (Function >> 16) - { - case AML_FIELD_ATTRIB_SMB_QUICK: - case AML_FIELD_ATTRIB_SMB_SEND_RCV: - case AML_FIELD_ATTRIB_SMB_BYTE: - Length = 1; - break; - - case AML_FIELD_ATTRIB_SMB_WORD: - case AML_FIELD_ATTRIB_SMB_WORD_CALL: - Length = 2; - break; - - case AML_FIELD_ATTRIB_SMB_BLOCK: - case AML_FIELD_ATTRIB_SMB_BLOCK_CALL: - Length = 32; - break; - - default: - break; - } - break; - - case ACPI_WRITE: - switch (Function >> 16) - { - case AML_FIELD_ATTRIB_SMB_QUICK: - case AML_FIELD_ATTRIB_SMB_SEND_RCV: - case AML_FIELD_ATTRIB_SMB_BYTE: - case AML_FIELD_ATTRIB_SMB_WORD: - case AML_FIELD_ATTRIB_SMB_BLOCK: - Length = 0; - break; - - case AML_FIELD_ATTRIB_SMB_WORD_CALL: - Length = 2; - break; - - case AML_FIELD_ATTRIB_SMB_BLOCK_CALL: - Length = 32; - break; - - default: - break; - } - break; - - default: - break; - } - - for (i = 0; i < Length; i++) - { - ((UINT8 *) Value)[i+2] = (UINT8) (0xA0 + i); - } - - ((UINT8 *) Value)[0] = 0x7A; - ((UINT8 *) Value)[1] = (UINT8) Length; - - return AE_OK; - } - - /* - * Search through the linked list for this region's buffer - */ - BufferExists = FALSE; - RegionElement = AeRegions.RegionList; - - if (AeRegions.NumberOfRegions) - { - while (!BufferExists && RegionElement) - { - if (RegionElement->Address == BaseAddress && - RegionElement->Length == Length && - RegionElement->SpaceId == SpaceId) - { - BufferExists = TRUE; - } - else - { - RegionElement = RegionElement->NextRegion; - } - } - } - - /* - * If the Region buffer does not exist, create it now - */ - if (!BufferExists) - { - /* - * Do the memory allocations first - */ - RegionElement = AcpiOsAllocate (sizeof (AE_REGION)); - if (!RegionElement) - { - return AE_NO_MEMORY; - } - - RegionElement->Buffer = AcpiOsAllocate (Length); - if (!RegionElement->Buffer) - { - AcpiOsFree (RegionElement); - return AE_NO_MEMORY; - } - - ACPI_MEMSET (RegionElement->Buffer, 0, Length); - RegionElement->Address = BaseAddress; - RegionElement->Length = Length; - RegionElement->SpaceId = SpaceId; - RegionElement->NextRegion = NULL; - - /* - * Increment the number of regions and put this one - * at the head of the list as it will probably get accessed - * more often anyway. - */ - AeRegions.NumberOfRegions += 1; - - if (AeRegions.RegionList) - { - RegionElement->NextRegion = AeRegions.RegionList; - } - - AeRegions.RegionList = RegionElement; - } - - /* - * Calculate the size of the memory copy - */ - ByteWidth = (BitWidth / 8); - - if (BitWidth % 8) - { - ByteWidth += 1; - } - - /* - * The buffer exists and is pointed to by RegionElement. - * We now need to verify the request is valid and perform the operation. - * - * NOTE: RegionElement->Length is in bytes, therefore it we compare against - * ByteWidth (see above) - */ - if (((ACPI_INTEGER) Address + ByteWidth) > - ((ACPI_INTEGER)(RegionElement->Address) + RegionElement->Length)) - { - ACPI_WARNING ((AE_INFO, - "Request on [%4.4s] is beyond region limit Req-%X+%X, Base=%X, Len-%X", - (RegionObject->Region.Node)->Name.Ascii, (UINT32) Address, - ByteWidth, (UINT32)(RegionElement->Address), - RegionElement->Length)); - - return AE_AML_REGION_LIMIT; - } - - /* - * Get BufferValue to point to the "address" in the buffer - */ - BufferValue = ((UINT8 *) RegionElement->Buffer + - ((ACPI_INTEGER) Address - (ACPI_INTEGER) RegionElement->Address)); - -DoFunction: - - /* - * Perform a read or write to the buffer space - */ - switch (Function) - { - case ACPI_READ: - /* - * Set the pointer Value to whatever is in the buffer - */ - ACPI_MEMCPY (Value, BufferValue, ByteWidth); - break; - - case ACPI_WRITE: - /* - * Write the contents of Value to the buffer - */ - ACPI_MEMCPY (BufferValue, Value, ByteWidth); - break; - - default: - return AE_BAD_PARAMETER; - } - return AE_OK; -} - - - diff --git a/sys/contrib/dev/acpica/tools/acpiexec/aemain.c b/sys/contrib/dev/acpica/tools/acpiexec/aemain.c deleted file mode 100644 index 3aec0740fecf..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/aemain.c +++ /dev/null @@ -1,435 +0,0 @@ -/****************************************************************************** - * - * Module Name: aemain - Main routine for the AcpiExec utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "aecommon.h" - -#ifdef _DEBUG -#include -#endif - -#define _COMPONENT PARSER - ACPI_MODULE_NAME ("aemain") - -UINT8 AcpiGbl_BatchMode = 0; -BOOLEAN AcpiGbl_IgnoreErrors = FALSE; -BOOLEAN AcpiGbl_DbOpt_NoRegionSupport = FALSE; -BOOLEAN AcpiGbl_DebugTimeout = FALSE; -char BatchBuffer[128]; - - -/****************************************************************************** - * - * FUNCTION: usage - * - * PARAMETERS: None - * - * RETURN: None - * - * DESCRIPTION: Print a usage message - * - *****************************************************************************/ - -static void -usage (void) -{ - printf ("Usage: acpiexec [Options] [InputFile]\n\n"); - - printf ("Where:\n"); - printf (" -? Display this message\n"); - printf (" -a Do not abort methods on error\n"); - printf (" -b Batch mode command execution\n"); - printf (" -e [Method] Batch mode method execution\n"); - printf (" -i Do not run STA/INI methods during init\n"); - printf (" -m Display final memory use statistics\n"); - printf (" -o Send output to this file\n"); - printf (" -r Disable OpRegion address simulation\n"); - printf (" -s Enable Interpreter Slack Mode\n"); - printf (" -t Enable Interpreter Serialized Mode\n"); - printf (" -v Verbose init output\n"); - printf (" -x Specify debug output level\n"); - printf (" -z Enable debug semaphore timeout\n"); -} - - -/****************************************************************************** - * - * FUNCTION: AcpiDbRunBatchMode - * - * PARAMETERS: BatchCommandLine - A semicolon separated list of commands - * to be executed. - * Use only commas to separate elements of - * particular command. - * RETURN: Status - * - * DESCRIPTION: For each command of list separated by ';' prepare the command - * buffer and pass it to AcpiDbCommandDispatch. - * - *****************************************************************************/ - -static ACPI_STATUS -AcpiDbRunBatchMode ( - void) -{ - ACPI_STATUS Status; - char *Ptr = BatchBuffer; - char *Cmd = Ptr; - UINT8 Run = 0; - - AcpiGbl_MethodExecuting = FALSE; - AcpiGbl_StepToNextCall = FALSE; - - while (*Ptr) - { - if (*Ptr == ',') - { - /* Convert commas to spaces */ - *Ptr = ' '; - } - else if (*Ptr == ';') - { - *Ptr = '\0'; - Run = 1; - } - - Ptr++; - - if (Run || (*Ptr == '\0')) - { - (void) AcpiDbCommandDispatch (Cmd, NULL, NULL); - Run = 0; - Cmd = Ptr; - } - } - - Status = AcpiTerminate (); - return (Status); -} - - -/****************************************************************************** - * - * FUNCTION: main - * - * PARAMETERS: argc, argv - * - * RETURN: Status - * - * DESCRIPTION: Main routine for AcpiDump utility - * - *****************************************************************************/ - -int ACPI_SYSTEM_XFACE -main ( - int argc, - char **argv) -{ - int j; - ACPI_STATUS Status; - UINT32 InitFlags; - ACPI_TABLE_HEADER *Table; - - -#ifdef _DEBUG - _CrtSetDbgFlag (_CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_LEAK_CHECK_DF | - _CrtSetDbgFlag(_CRTDBG_REPORT_FLAG)); -#endif - - printf ("\nIntel ACPI Component Architecture\nAML Execution/Debug Utility"); - printf (" version %8.8X", ((UINT32) ACPI_CA_VERSION)); - printf (" [%s]\n\n", __DATE__); - - if (argc < 2) - { - usage (); - return 0; - } - - signal (SIGINT, AeCtrlCHandler); - - /* Init globals */ - - AcpiDbgLevel = ACPI_NORMAL_DEFAULT; - AcpiDbgLayer = 0xFFFFFFFF; - - /* Init ACPI and start debugger thread */ - - AcpiInitializeSubsystem (); - - /* Get the command line options */ - - while ((j = AcpiGetopt (argc, argv, "?ab:de^gimo:rstvx:z")) != EOF) switch(j) - { - case 'a': - AcpiGbl_IgnoreErrors = TRUE; - break; - - case 'b': - if (strlen (AcpiGbl_Optarg) > 127) - { - printf ("**** The length of command line (%u) exceeded maximum (127)\n", - (UINT32) strlen (AcpiGbl_Optarg)); - return -1; - } - AcpiGbl_BatchMode = 1; - strcpy (BatchBuffer, AcpiGbl_Optarg); - break; - - case 'd': - AcpiGbl_DbOpt_disasm = TRUE; - AcpiGbl_DbOpt_stats = TRUE; - break; - - case 'e': - AcpiGbl_BatchMode = 2; - switch (AcpiGbl_Optarg[0]) - { - case '^': - strcpy (BatchBuffer, "MAIN"); - break; - default: - strcpy (BatchBuffer, AcpiGbl_Optarg); - break; - } - break; - - case 'g': - AcpiGbl_DbOpt_tables = TRUE; - AcpiGbl_DbFilename = NULL; - break; - - case 'i': - AcpiGbl_DbOpt_ini_methods = FALSE; - break; - - case 'm': -#ifdef ACPI_DBG_TRACK_ALLOCATIONS - AcpiGbl_DisplayFinalMemStats = TRUE; -#endif - break; - - case 'o': - printf ("O option is not implemented\n"); - break; - - case 'r': - AcpiGbl_DbOpt_NoRegionSupport = TRUE; - break; - - case 's': - AcpiGbl_EnableInterpreterSlack = TRUE; - printf ("Enabling AML Interpreter slack mode\n"); - break; - - case 't': - AcpiGbl_AllMethodsSerialized = TRUE; - printf ("Enabling AML Interpreter serialized mode\n"); - break; - - case 'v': - AcpiDbgLevel |= ACPI_LV_INIT_NAMES; - break; - - case 'x': - AcpiDbgLevel = strtoul (AcpiGbl_Optarg, NULL, 0); - AcpiGbl_DbConsoleDebugLevel = AcpiDbgLevel; - printf ("Debug Level: 0x%8.8X\n", AcpiDbgLevel); - break; - - case 'z': - AcpiGbl_DebugTimeout = TRUE; - break; - - case '?': - default: - usage(); - return -1; - } - - - InitFlags = (ACPI_NO_HANDLER_INIT | ACPI_NO_ACPI_ENABLE); - if (!AcpiGbl_DbOpt_ini_methods) - { - InitFlags |= (ACPI_NO_DEVICE_INIT | ACPI_NO_OBJECT_INIT); - } - - /* Standalone filename is the only argument */ - - if (argv[AcpiGbl_Optind]) - { - AcpiGbl_DbOpt_tables = TRUE; - AcpiGbl_DbFilename = argv[AcpiGbl_Optind]; - - Status = AcpiDbReadTableFromFile (AcpiGbl_DbFilename, &Table); - if (ACPI_FAILURE (Status)) - { - printf ("**** Could not get input table, %s\n", AcpiFormatException (Status)); - goto enterloop; - } - - AeBuildLocalTables (Table); - Status = AeInstallTables (); - if (ACPI_FAILURE (Status)) - { - printf ("**** Could not load ACPI tables, %s\n", AcpiFormatException (Status)); - goto enterloop; - } - - Status = AeInstallHandlers (); - if (ACPI_FAILURE (Status)) - { - goto enterloop; - } - - /* - * TBD: - * Need a way to call this after the "LOAD" command - */ - Status = AcpiEnableSubsystem (InitFlags); - if (ACPI_FAILURE (Status)) - { - printf ("**** Could not EnableSubsystem, %s\n", AcpiFormatException (Status)); - goto enterloop; - } - - Status = AcpiInitializeObjects (InitFlags); - if (ACPI_FAILURE (Status)) - { - printf ("**** Could not InitializeObjects, %s\n", AcpiFormatException (Status)); - goto enterloop; - } - - AeMiscellaneousTests (); - } - -enterloop: - - if (AcpiGbl_BatchMode == 1) - { - AcpiDbRunBatchMode (); - } - else if (AcpiGbl_BatchMode == 2) - { - AcpiDbExecute (BatchBuffer, NULL, EX_NO_SINGLE_STEP); - } - else - { - /* Enter the debugger command loop */ - - AcpiDbUserCommands (ACPI_DEBUGGER_COMMAND_PROMPT, NULL); - } - - return 0; -} - diff --git a/sys/contrib/dev/acpica/tools/acpiexec/aetables.c b/sys/contrib/dev/acpica/tools/acpiexec/aetables.c deleted file mode 100644 index 1bf3b1e0d208..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/aetables.c +++ /dev/null @@ -1,505 +0,0 @@ -/****************************************************************************** - * - * Module Name: aetables - Miscellaneous ACPI tables for acpiexec utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "aecommon.h" - -#define _COMPONENT ACPI_TOOLS - ACPI_MODULE_NAME ("aetables") - -/* Local prototypes */ - -void -AeTableOverride ( - ACPI_TABLE_HEADER *ExistingTable, - ACPI_TABLE_HEADER **NewTable); - -ACPI_PHYSICAL_ADDRESS -AeLocalGetRootPointer ( - void); - -/* - * Misc ACPI tables to be installed - */ - -/* Default DSDT. This will be replaced with the input DSDT */ - -unsigned char DsdtCode[] = -{ - 0x44,0x53,0x44,0x54,0x24,0x00,0x00,0x00, /* 00000000 "DSDT$..." */ - 0x02,0x6F,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".oIntel." */ - 0x4E,0x75,0x6C,0x6C,0x44,0x53,0x44,0x54, /* 00000010 "NullDSDT" */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x04,0x12,0x08,0x20, -}; - -/* Several example SSDTs */ - -unsigned char Ssdt1Code[] = /* Has method _T98 */ -{ - 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ - 0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ - 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ - 0x39,0x38,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "98.p..`." */ -}; - -unsigned char Ssdt2Code[] = /* Has method _T99 */ -{ - 0x53,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "SSDT0..." */ - 0x01,0xB7,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ - 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ - 0x39,0x39,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "99.p..`." */ -}; - -unsigned char Ssdt3Code[] = /* Has method _T97 */ -{ - 0x54,0x53,0x44,0x54,0x30,0x00,0x00,0x00, /* 00000000 "TSDT0..." */ - 0x01,0xB8,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ - 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x24,0x04,0x03,0x20,0x14,0x0B,0x5F,0x54, /* 00000020 "$.. .._T" */ - 0x39,0x37,0x00,0x70,0x0A,0x04,0x60,0xA4, /* 00000028 "97.p..`." */ -}; - -/* Example OEM table */ - -unsigned char Oem1Code[] = -{ - 0x4F,0x45,0x4D,0x31,0x38,0x00,0x00,0x00, /* 00000000 "OEM18..." */ - 0x01,0x4B,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 ".KIntel." */ - 0x4D,0x61,0x6E,0x79,0x00,0x00,0x00,0x00, /* 00000010 "Many...." */ - 0x01,0x00,0x00,0x00,0x49,0x4E,0x54,0x4C, /* 00000018 "....INTL" */ - 0x18,0x09,0x03,0x20,0x08,0x5F,0x58,0x54, /* 00000020 "... ._XT" */ - 0x32,0x0A,0x04,0x14,0x0C,0x5F,0x58,0x54, /* 00000028 "2...._XT" */ - 0x31,0x00,0x70,0x01,0x5F,0x58,0x54,0x32, /* 00000030 "1.p._XT2" */ -}; - -/* - * Example installable control method - * - * DefinitionBlock ("", "DSDT", 2, "Intel", "MTHDTEST", 0x20090512) - * { - * Method (\_SI_._T97, 1, Serialized) - * { - * Store ("Example installed method", Debug) - * Store (Arg0, Debug) - * Return () - * } - * } - * - * Compiled byte code below. - */ -unsigned char MethodCode[] = -{ - 0x44,0x53,0x44,0x54,0x53,0x00,0x00,0x00, /* 00000000 "DSDTS..." */ - 0x02,0xF9,0x49,0x6E,0x74,0x65,0x6C,0x00, /* 00000008 "..Intel." */ - 0x4D,0x54,0x48,0x44,0x54,0x45,0x53,0x54, /* 00000010 "MTHDTEST" */ - 0x12,0x05,0x09,0x20,0x49,0x4E,0x54,0x4C, /* 00000018 "... INTL" */ - 0x22,0x04,0x09,0x20,0x14,0x2E,0x2E,0x5F, /* 00000020 "".. ..._" */ - 0x54,0x49,0x5F,0x5F,0x54,0x39,0x37,0x09, /* 00000028 "SI__T97." */ - 0x70,0x0D,0x45,0x78,0x61,0x6D,0x70,0x6C, /* 00000030 "p.Exampl" */ - 0x65,0x20,0x69,0x6E,0x73,0x74,0x61,0x6C, /* 00000038 "e instal" */ - 0x6C,0x65,0x64,0x20,0x6D,0x65,0x74,0x68, /* 00000040 "led meth" */ - 0x6F,0x64,0x00,0x5B,0x31,0x70,0x68,0x5B, /* 00000048 "od.[1ph[" */ - 0x31,0xA4,0x00, -}; - - -/* - * We need a local FADT so that the hardware subcomponent will function, - * even though the underlying OSD HW access functions don't do - * anything. - */ -ACPI_TABLE_HEADER *DsdtToInstallOverride; -ACPI_TABLE_RSDP LocalRSDP; -ACPI_TABLE_FADT LocalFADT; -ACPI_TABLE_FACS LocalFACS; -ACPI_TABLE_HEADER LocalDSDT; -ACPI_TABLE_HEADER LocalTEST; -ACPI_TABLE_HEADER LocalBADTABLE; -ACPI_TABLE_RSDT *LocalRSDT; - -#define RSDT_TABLES 7 -#define RSDT_SIZE (sizeof (ACPI_TABLE_RSDT) + ((RSDT_TABLES -1) * sizeof (UINT32))) - -#define ACPI_MAX_INIT_TABLES (16) -static ACPI_TABLE_DESC Tables[ACPI_MAX_INIT_TABLES]; - - -/****************************************************************************** - * - * FUNCTION: AeTableOverride - * - * DESCRIPTION: Local implementation of AcpiOsTableOverride. - * Exercise the override mechanism - * - *****************************************************************************/ - -void -AeTableOverride ( - ACPI_TABLE_HEADER *ExistingTable, - ACPI_TABLE_HEADER **NewTable) -{ - - /* This code exercises the table override mechanism in the core */ - - if (ACPI_COMPARE_NAME (ExistingTable->Signature, ACPI_SIG_DSDT)) - { - *NewTable = DsdtToInstallOverride; - } - - /* This code tests override of dynamically loaded tables */ - - else if (ACPI_COMPARE_NAME (ExistingTable->Signature, "TSDT")) - { - *NewTable = ACPI_CAST_PTR (ACPI_TABLE_HEADER, Ssdt3Code); - } -} - - -/****************************************************************************** - * - * FUNCTION: AeBuildLocalTables - * - * PARAMETERS: UserTable - pointer to an input table to be loaded. - * a DSDT or SSDT - * - * RETURN: Status - * - * DESCRIPTION: Build a complete ACPI table chain, with a local RSDP, RSDT, - * FADT, and several other test tables. - * - *****************************************************************************/ - -ACPI_STATUS -AeBuildLocalTables ( - ACPI_TABLE_HEADER *UserTable) -{ - ACPI_PHYSICAL_ADDRESS DsdtAddress; - - - /* Build an RSDT */ - - LocalRSDT = AcpiOsAllocate (RSDT_SIZE); - if (!LocalRSDT) - { - return AE_NO_MEMORY; - } - - ACPI_MEMSET (LocalRSDT, 0, RSDT_SIZE); - ACPI_STRNCPY (LocalRSDT->Header.Signature, ACPI_SIG_RSDT, 4); - LocalRSDT->Header.Length = RSDT_SIZE; - - LocalRSDT->TableOffsetEntry[0] = ACPI_PTR_TO_PHYSADDR (&LocalTEST); - LocalRSDT->TableOffsetEntry[1] = ACPI_PTR_TO_PHYSADDR (&LocalBADTABLE); - LocalRSDT->TableOffsetEntry[2] = ACPI_PTR_TO_PHYSADDR (&LocalFADT); - LocalRSDT->TableOffsetEntry[3] = ACPI_PTR_TO_PHYSADDR (&LocalTEST); /* Just a placeholder for a user SSDT */ - - /* Install two SSDTs to test multiple table support */ - - LocalRSDT->TableOffsetEntry[4] = ACPI_PTR_TO_PHYSADDR (&Ssdt1Code); - LocalRSDT->TableOffsetEntry[5] = ACPI_PTR_TO_PHYSADDR (&Ssdt2Code); - - /* Install the OEM1 table to test LoadTable */ - - LocalRSDT->TableOffsetEntry[6] = ACPI_PTR_TO_PHYSADDR (&Oem1Code); - - /* Build an RSDP */ - - ACPI_MEMSET (&LocalRSDP, 0, sizeof (ACPI_TABLE_RSDP)); - ACPI_MEMCPY (LocalRSDP.Signature, ACPI_SIG_RSDP, 8); - LocalRSDP.Revision = 1; - LocalRSDP.RsdtPhysicalAddress = ACPI_PTR_TO_PHYSADDR (LocalRSDT); - LocalRSDP.Length = sizeof (ACPI_TABLE_RSDT); - ACPI_MEMCPY (LocalRSDP.OemId, "I_TEST", 6); - - /* - * Examine the incoming user table. At this point, it has been verified - * to be either a DSDT, SSDT, or a PSDT, but they must be handled differently - */ - if (ACPI_COMPARE_NAME (UserTable->Signature, ACPI_SIG_DSDT)) - { - /* The incoming user table is a DSDT */ - - DsdtAddress = ACPI_PTR_TO_PHYSADDR (&DsdtCode); - DsdtToInstallOverride = UserTable; - } - else - { - /* Build a local DSDT because incoming table is an SSDT or PSDT */ - - ACPI_MEMSET (&LocalDSDT, 0, sizeof (ACPI_TABLE_HEADER)); - ACPI_STRNCPY (LocalDSDT.Signature, ACPI_SIG_DSDT, 4); - LocalDSDT.Revision = 1; - LocalDSDT.Length = sizeof (ACPI_TABLE_HEADER); - LocalDSDT.Checksum = (UINT8) -AcpiTbChecksum ((void *) &LocalDSDT, LocalDSDT.Length); - - /* Install incoming table (SSDT or PSDT) directly into the RSDT */ - - LocalRSDT->TableOffsetEntry[3] = ACPI_PTR_TO_PHYSADDR (UserTable); - DsdtAddress = ACPI_PTR_TO_PHYSADDR (&LocalDSDT); - DsdtToInstallOverride = &LocalDSDT; - } - - /* Set checksums for both RSDT and RSDP */ - - LocalRSDT->Header.Checksum = (UINT8) -AcpiTbChecksum ((void *) LocalRSDT, LocalRSDT->Header.Length); - LocalRSDP.Checksum = (UINT8) -AcpiTbChecksum ((void *) &LocalRSDP, ACPI_RSDP_CHECKSUM_LENGTH); - - /* - * Build a FADT so we can test the hardware/event init - */ - ACPI_MEMSET (&LocalFADT, 0, sizeof (ACPI_TABLE_FADT)); - ACPI_STRNCPY (LocalFADT.Header.Signature, ACPI_SIG_FADT, 4); - - /* Setup FADT header and DSDT/FACS addresses */ - - LocalFADT.Dsdt = DsdtAddress; - LocalFADT.Facs = ACPI_PTR_TO_PHYSADDR (&LocalFACS); - - LocalFADT.XDsdt = DsdtAddress; - LocalFADT.XFacs = ACPI_PTR_TO_PHYSADDR (&LocalFACS); - - LocalFADT.Header.Revision = 3; - LocalFADT.Header.Length = sizeof (ACPI_TABLE_FADT); - - /* Miscellaneous FADT fields */ - - LocalFADT.Gpe0BlockLength = 16; - LocalFADT.Gpe1BlockLength = 6; - LocalFADT.Gpe1Base = 96; - - LocalFADT.Pm1EventLength = 4; - LocalFADT.Pm1ControlLength = 2; - LocalFADT.PmTimerLength = 4; - - LocalFADT.Gpe0Block = 0x00001234; - LocalFADT.Gpe1Block = 0x00005678; - - LocalFADT.Pm1aEventBlock = 0x00001aaa; - LocalFADT.Pm1bEventBlock = 0x00001bbb; - LocalFADT.PmTimerBlock = 0xA0; - LocalFADT.Pm1aControlBlock = 0xB0; - - /* Setup one example X-64 field */ - - LocalFADT.XPm1bEventBlock.SpaceId = ACPI_ADR_SPACE_SYSTEM_IO; - LocalFADT.XPm1bEventBlock.Address = LocalFADT.Pm1bEventBlock; - LocalFADT.XPm1bEventBlock.BitWidth = (UINT8) ACPI_MUL_8 (LocalFADT.Pm1EventLength); - - /* Complete the FADT with the checksum */ - - LocalFADT.Header.Checksum = 0; - LocalFADT.Header.Checksum = (UINT8) -AcpiTbChecksum ((void *) &LocalFADT, LocalFADT.Header.Length); - - /* Build a FACS */ - - ACPI_MEMSET (&LocalFACS, 0, sizeof (ACPI_TABLE_FACS)); - ACPI_STRNCPY (LocalFACS.Signature, ACPI_SIG_FACS, 4); - LocalFACS.Length = sizeof (ACPI_TABLE_FACS); - LocalFACS.GlobalLock = 0x11AA0011; - - /* Build a fake table [TEST] so that we make sure that the CA core ignores it */ - - ACPI_MEMSET (&LocalTEST, 0, sizeof (ACPI_TABLE_HEADER)); - ACPI_STRNCPY (LocalTEST.Signature, "TEST", 4); - - LocalTEST.Revision = 1; - LocalTEST.Length = sizeof (ACPI_TABLE_HEADER); - LocalTEST.Checksum = (UINT8) -AcpiTbChecksum ((void *) &LocalTEST, LocalTEST.Length); - - /* Build a fake table with a bad signature [BAD!] so that we make sure that the CA core ignores it */ - - ACPI_MEMSET (&LocalBADTABLE, 0, sizeof (ACPI_TABLE_HEADER)); - ACPI_STRNCPY (LocalBADTABLE.Signature, "BAD!", 4); - - LocalBADTABLE.Revision = 1; - LocalBADTABLE.Length = sizeof (ACPI_TABLE_HEADER); - LocalBADTABLE.Checksum = (UINT8) -AcpiTbChecksum ((void *) &LocalBADTABLE, LocalBADTABLE.Length); - - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: AeInstallTables - * - * PARAMETERS: None - * - * RETURN: Status - * - * DESCRIPTION: Install the various ACPI tables - * - *****************************************************************************/ - -ACPI_STATUS -AeInstallTables ( - void) -{ - ACPI_STATUS Status; - - Status = AcpiInitializeTables (Tables, ACPI_MAX_INIT_TABLES, TRUE); - Status = AcpiReallocateRootTable (); - Status = AcpiLoadTables (); - - /* - * Test run-time control method installation. Do it twice to test code - * for an existing name. - */ - Status = AcpiInstallMethod (MethodCode); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("%s, Could not install method\n", - AcpiFormatException (Status)); - } - - Status = AcpiInstallMethod (MethodCode); - if (ACPI_FAILURE (Status)) - { - AcpiOsPrintf ("%s, Could not install method\n", - AcpiFormatException (Status)); - } - - return (AE_OK); -} - - -/****************************************************************************** - * - * FUNCTION: AeLocalGetRootPointer - * - * PARAMETERS: Flags - not used - * Address - Where the root pointer is returned - * - * RETURN: Status - * - * DESCRIPTION: Return a local RSDP, used to dynamically load tables via the - * standard ACPI mechanism. - * - *****************************************************************************/ - -ACPI_PHYSICAL_ADDRESS -AeLocalGetRootPointer ( - void) -{ - - return ((ACPI_PHYSICAL_ADDRESS) &LocalRSDP); -} - - diff --git a/sys/contrib/dev/acpica/tools/acpiexec/osunixdir.c b/sys/contrib/dev/acpica/tools/acpiexec/osunixdir.c deleted file mode 100644 index d9c55a1ef84a..000000000000 --- a/sys/contrib/dev/acpica/tools/acpiexec/osunixdir.c +++ /dev/null @@ -1,306 +0,0 @@ - -/****************************************************************************** - * - * Module Name: osunixdir - Unix directory access interfaces - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - - -#include -#include -#include -#include -#include -#include -#include - -#include "acpisrc.h" - -typedef struct ExternalFindInfo -{ - char *DirPathname; - DIR *DirPtr; - char temp_buffer[128]; - char *WildcardSpec; - char RequestedFileType; - -} EXTERNAL_FIND_INFO; - - -/******************************************************************************* - * - * FUNCTION: AcpiOsOpenDirectory - * - * PARAMETERS: DirPathname - Full pathname to the directory - * WildcardSpec - string of the form "*.c", etc. - * - * RETURN: A directory "handle" to be used in subsequent search operations. - * NULL returned on failure. - * - * DESCRIPTION: Open a directory in preparation for a wildcard search - * - ******************************************************************************/ - -void * -AcpiOsOpenDirectory ( - char *DirPathname, - char *WildcardSpec, - char RequestedFileType) -{ - EXTERNAL_FIND_INFO *ExternalInfo; - DIR *dir; - - - /* Allocate the info struct that will be returned to the caller */ - - ExternalInfo = calloc (sizeof (EXTERNAL_FIND_INFO), 1); - if (!ExternalInfo) - { - return (NULL); - } - - /* Get the directory stream */ - - dir = opendir (DirPathname); - if (!dir) - { - free (ExternalInfo); - return (NULL); - } - - /* Save the info in the return structure */ - - ExternalInfo->WildcardSpec = WildcardSpec; - ExternalInfo->RequestedFileType = RequestedFileType; - ExternalInfo->DirPathname = DirPathname; - ExternalInfo->DirPtr = dir; - return (ExternalInfo); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiOsGetNextFilename - * - * PARAMETERS: DirHandle - Created via AcpiOsOpenDirectory - * - * RETURN: Next filename matched. NULL if no more matches. - * - * DESCRIPTION: Get the next file in the directory that matches the wildcard - * specification. - * - ******************************************************************************/ - -char * -AcpiOsGetNextFilename ( - void *DirHandle) -{ - EXTERNAL_FIND_INFO *ExternalInfo = DirHandle; - struct dirent *dir_entry; - char *temp_str; - int str_len; - struct stat temp_stat; - int err; - - - while ((dir_entry = readdir (ExternalInfo->DirPtr))) - { - if (!fnmatch (ExternalInfo->WildcardSpec, dir_entry->d_name, 0)) - { - if (dir_entry->d_name[0] == '.') - continue; - - str_len = strlen (dir_entry->d_name) + - strlen (ExternalInfo->DirPathname) + 2; - - temp_str = calloc (str_len, 1); - if (!temp_str) - { - printf ("Could not allocate buffer for temporary string\n"); - return NULL; - } - - strcpy (temp_str, ExternalInfo->DirPathname); - strcat (temp_str, "/"); - strcat (temp_str, dir_entry->d_name); - - err = stat (temp_str, &temp_stat); - free (temp_str); - if (err == -1) - { - printf ("stat() error - should not happen\n"); - return NULL; - } - - if ((S_ISDIR (temp_stat.st_mode) - && (ExternalInfo->RequestedFileType == REQUEST_DIR_ONLY)) - || - ((!S_ISDIR (temp_stat.st_mode) - && ExternalInfo->RequestedFileType == REQUEST_FILE_ONLY))) - { - /* copy to a temp buffer because dir_entry struct is on the stack */ - - strcpy (ExternalInfo->temp_buffer, dir_entry->d_name); - return (ExternalInfo->temp_buffer); - } - } - } - - return NULL; -} - - -/******************************************************************************* - * - * FUNCTION: AcpiOsCloseDirectory - * - * PARAMETERS: DirHandle - Created via AcpiOsOpenDirectory - * - * RETURN: None. - * - * DESCRIPTION: Close the open directory and cleanup. - * - ******************************************************************************/ - -void -AcpiOsCloseDirectory ( - void *DirHandle) -{ - EXTERNAL_FIND_INFO *ExternalInfo = DirHandle; - - - /* Close the directory and free allocations */ - - closedir (ExternalInfo->DirPtr); - free (DirHandle); -} - -/* Other functions acpisrc uses but that aren't standard on Unix */ - -/* lowercase a string */ -char* -strlwr ( - char *str) -{ - int length; - int i; - - - length = strlen(str); - - for (i = 0; i < length; i++) - { - str[i] = tolower(str[i]); - } - - return (str); -} diff --git a/sys/contrib/dev/acpica/tools/acpisrc/Makefile b/sys/contrib/dev/acpica/tools/acpisrc/Makefile deleted file mode 100644 index 96816ce129c7..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/Makefile +++ /dev/null @@ -1,17 +0,0 @@ - - -PROG= acpisrc -SRCS= ascase.c asconvrt.c asfile.c asmain.c asremove.c astable.c \ - asutils.c osunixdir.c ../../common/getopt.c - -CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include - - -aslmain : $(patsubst %.c,%.o, $(SRCS)) - $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) - -CLEANFILES= $(PROG) - -clean : - rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/acpisrc.h b/sys/contrib/dev/acpica/tools/acpisrc/acpisrc.h deleted file mode 100644 index 651a0553f6f0..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/acpisrc.h +++ /dev/null @@ -1,475 +0,0 @@ - -/****************************************************************************** - * - * Module Name: acpisrc.h - Include file for AcpiSrc utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. - * All rights reserved. - * - * 2. License - * - * 2.1. This is your license from Intel Corp. under its intellectual property - * rights. You may have additional license terms from the party that provided - * you this software, covering your right to use that party's intellectual - * property rights. - * - * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a - * copy of the source code appearing in this file ("Covered Code") an - * irrevocable, perpetual, worldwide license under Intel's copyrights in the - * base code distributed originally by Intel ("Original Intel Code") to copy, - * make derivatives, distribute, use and display any portion of the Covered - * Code in any form, with the right to sublicense such rights; and - * - * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent - * license (with the right to sublicense), under only those claims of Intel - * patents that are infringed by the Original Intel Code, to make, use, sell, - * offer to sell, and import the Covered Code and derivative works thereof - * solely to the minimum extent necessary to exercise the above copyright - * license, and in no event shall the patent license extend to any additions - * to or modifications of the Original Intel Code. No other license or right - * is granted directly or by implication, estoppel or otherwise; - * - * The above copyright and patent license is granted only if the following - * conditions are met: - * - * 3. Conditions - * - * 3.1. Redistribution of Source with Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification with rights to further distribute source must include - * the above Copyright Notice, the above License, this list of Conditions, - * and the following Disclaimer and Export Compliance provision. In addition, - * Licensee must cause all Covered Code to which Licensee contributes to - * contain a file documenting the changes Licensee made to create that Covered - * Code and the date of any change. Licensee must include in that file the - * documentation of any changes made by any predecessor Licensee. Licensee - * must include a prominent statement that the modification is derived, - * directly or indirectly, from Original Intel Code. - * - * 3.2. Redistribution of Source with no Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification without rights to further distribute source must - * include the following Disclaimer and Export Compliance provision in the - * documentation and/or other materials provided with distribution. In - * addition, Licensee may not authorize further sublicense of source of any - * portion of the Covered Code, and must include terms to the effect that the - * license from Licensee to its licensee is limited to the intellectual - * property embodied in the software Licensee provides to its licensee, and - * not to intellectual property embodied in modifications its licensee may - * make. - * - * 3.3. Redistribution of Executable. Redistribution in executable form of any - * substantial portion of the Covered Code or modification must reproduce the - * above Copyright Notice, and the following Disclaimer and Export Compliance - * provision in the documentation and/or other materials provided with the - * distribution. - * - * 3.4. Intel retains all right, title, and interest in and to the Original - * Intel Code. - * - * 3.5. Neither the name Intel nor any other trademark owned or controlled by - * Intel shall be used in advertising or otherwise to promote the sale, use or - * other dealings in products derived from or relating to the Covered Code - * without prior written authorization from Intel. - * - * 4. Disclaimer and Export Compliance - * - * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED - * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE - * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, - * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY - * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY - * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A - * PARTICULAR PURPOSE. - * - * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES - * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR - * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, - * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY - * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL - * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS - * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY - * LIMITED REMEDY. - * - * 4.3. Licensee shall not export, either directly or indirectly, any of this - * software or system incorporating such software without first obtaining any - * required license or other approval from the U. S. Department of Commerce or - * any other agency or department of the United States Government. In the - * event Licensee exports any such software from the United States or - * re-exports any such software from a foreign destination, Licensee shall - * ensure that the distribution and export/re-export of the software is in - * compliance with all laws, regulations, orders, or other restrictions of the - * U.S. Export Administration Regulations. Licensee agrees that neither it nor - * any of its subsidiaries will export/re-export any technical data, process, - * software, or service, directly or indirectly, to any country for which the - * United States government or any agency thereof requires an export license, - * other governmental approval, or letter of assurance, without first obtaining - * such license, approval or letter. - * - *****************************************************************************/ - - -#define LINES_IN_LEGAL_HEADER 105 /* See above */ -#define LEGAL_HEADER_SIGNATURE " * 2.1. This is your license from Intel Corp. under its intellectual property" -#define LINES_IN_LINUX_HEADER 34 -#define LINUX_HEADER_SIGNATURE " * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS" -#define LINES_IN_ASL_HEADER 29 /* Header as output from disassembler */ - -#include -#include -#include -#include -#include -#ifdef WIN32 -#include -#include -#endif -#include - -#include "acpi.h" -#include "accommon.h" - - -/* Fixups for non-Win32 compilation */ -#ifndef WIN32 -#ifndef O_BINARY -#define O_BINARY 0x0 -#endif - -#define mkdir(x) mkdir(x, 0770) -char * strlwr(char* str); -#endif - - -/* Constants */ - -#define ASRC_MAX_FILE_SIZE (1024 * 100) - -#define FILE_TYPE_SOURCE 1 -#define FILE_TYPE_HEADER 2 -#define FILE_TYPE_DIRECTORY 3 - -#define CVT_COUNT_TABS 0x00000001 -#define CVT_COUNT_NON_ANSI_COMMENTS 0x00000002 -#define CVT_TRIM_LINES 0x00000004 -#define CVT_CHECK_BRACES 0x00000008 -#define CVT_COUNT_LINES 0x00000010 -#define CVT_BRACES_ON_SAME_LINE 0x00000020 -#define CVT_MIXED_CASE_TO_UNDERSCORES 0x00000040 -#define CVT_LOWER_CASE_IDENTIFIERS 0x00000080 -#define CVT_REMOVE_DEBUG_MACROS 0x00000100 -#define CVT_TRIM_WHITESPACE 0x00000200 /* Should be after all line removal */ -#define CVT_REMOVE_EMPTY_BLOCKS 0x00000400 /* Should be after trimming lines */ -#define CVT_REDUCE_TYPEDEFS 0x00000800 -#define CVT_COUNT_SHORTMULTILINE_COMMENTS 0x00001000 -#define CVT_SPACES_TO_TABS4 0x40000000 /* Tab conversion should be last */ -#define CVT_SPACES_TO_TABS8 0x80000000 /* Tab conversion should be last */ - -#define FLG_DEFAULT_FLAGS 0x00000000 -#define FLG_NO_CARRIAGE_RETURNS 0x00000001 -#define FLG_NO_FILE_OUTPUT 0x00000002 -#define FLG_LOWERCASE_DIRNAMES 0x00000004 - -#define AS_START_IGNORE "/*!" -#define AS_STOP_IGNORE "!*/" - - -/* Globals */ - -extern UINT32 Gbl_Files; -extern UINT32 Gbl_MissingBraces; -extern UINT32 Gbl_Tabs; -extern UINT32 Gbl_NonAnsiComments; -extern UINT32 Gbl_SourceLines; -extern UINT32 Gbl_WhiteLines; -extern UINT32 Gbl_CommentLines; -extern UINT32 Gbl_LongLines; -extern UINT32 Gbl_TotalLines; -extern UINT32 Gbl_HeaderSize; -extern UINT32 Gbl_HeaderLines; -extern struct stat Gbl_StatBuf; -extern char *Gbl_FileBuffer; -extern UINT32 Gbl_TotalSize; -extern UINT32 Gbl_FileSize; -extern UINT32 Gbl_FileType; -extern BOOLEAN Gbl_VerboseMode; -extern BOOLEAN Gbl_QuietMode; -extern BOOLEAN Gbl_BatchMode; -extern BOOLEAN Gbl_MadeChanges; -extern BOOLEAN Gbl_Overwrite; -extern BOOLEAN Gbl_WidenDeclarations; -extern BOOLEAN Gbl_IgnoreLoneLineFeeds; -extern BOOLEAN Gbl_HasLoneLineFeeds; -extern void *Gbl_StructDefs; - -#define PARAM_LIST(pl) pl -#define TERSE_PRINT(a) if (!Gbl_VerboseMode) printf PARAM_LIST(a) -#define VERBOSE_PRINT(a) if (Gbl_VerboseMode) printf PARAM_LIST(a) - -#define REPLACE_WHOLE_WORD 0x00 -#define REPLACE_SUBSTRINGS 0x01 -#define REPLACE_MASK 0x01 - -#define EXTRA_INDENT_C 0x02 - - -/* Conversion table structs */ - -typedef struct acpi_string_table -{ - char *Target; - char *Replacement; - UINT8 Type; - -} ACPI_STRING_TABLE; - - -typedef struct acpi_typed_identifier_table -{ - char *Identifier; - UINT8 Type; - -} ACPI_TYPED_IDENTIFIER_TABLE; - -#define SRC_TYPE_SIMPLE 0 -#define SRC_TYPE_STRUCT 1 -#define SRC_TYPE_UNION 2 - - -typedef struct acpi_identifier_table -{ - char *Identifier; - -} ACPI_IDENTIFIER_TABLE; - -typedef struct acpi_conversion_table -{ - char *NewHeader; - UINT32 Flags; - - ACPI_TYPED_IDENTIFIER_TABLE *LowerCaseTable; - - ACPI_STRING_TABLE *SourceStringTable; - ACPI_IDENTIFIER_TABLE *SourceLineTable; - ACPI_IDENTIFIER_TABLE *SourceConditionalTable; - ACPI_IDENTIFIER_TABLE *SourceMacroTable; - ACPI_TYPED_IDENTIFIER_TABLE *SourceStructTable; - UINT32 SourceFunctions; - - ACPI_STRING_TABLE *HeaderStringTable; - ACPI_IDENTIFIER_TABLE *HeaderLineTable; - ACPI_IDENTIFIER_TABLE *HeaderConditionalTable; - ACPI_IDENTIFIER_TABLE *HeaderMacroTable; - ACPI_TYPED_IDENTIFIER_TABLE *HeaderStructTable; - UINT32 HeaderFunctions; - -} ACPI_CONVERSION_TABLE; - - -/* Conversion tables */ - -extern ACPI_CONVERSION_TABLE LinuxConversionTable; -extern ACPI_CONVERSION_TABLE CleanupConversionTable; -extern ACPI_CONVERSION_TABLE StatsConversionTable; -extern ACPI_CONVERSION_TABLE CustomConversionTable; - - -/* Prototypes */ - -char * -AsSkipUntilChar ( - char *Buffer, - char Target); - -char * -AsSkipPastChar ( - char *Buffer, - char Target); - -char * -AsReplaceData ( - char *Buffer, - UINT32 LengthToRemove, - char *BufferToAdd, - UINT32 LengthToAdd); - -int -AsReplaceString ( - char *Target, - char *Replacement, - UINT8 Type, - char *Buffer); - -int -AsLowerCaseString ( - char *Target, - char *Buffer); - -void -AsRemoveLine ( - char *Buffer, - char *Keyword); - -void -AsRemoveMacro ( - char *Buffer, - char *Keyword); - -void -AsCheckForBraces ( - char *Buffer, - char *Filename); - -void -AsTrimLines ( - char *Buffer, - char *Filename); - -void -AsMixedCaseToUnderscores ( - char *Buffer); - -void -AsCountTabs ( - char *Buffer, - char *Filename); - -void -AsBracesOnSameLine ( - char *Buffer); - -void -AsLowerCaseIdentifiers ( - char *Buffer); - -void -AsReduceTypedefs ( - char *Buffer, - char *Keyword); - -void -AsRemoveDebugMacros ( - char *Buffer); - -void -AsRemoveEmptyBlocks ( - char *Buffer, - char *Filename); - -void -AsCountSourceLines ( - char *Buffer, - char *Filename); - -void -AsCountNonAnsiComments ( - char *Buffer, - char *Filename); - -void -AsTrimWhitespace ( - char *Buffer); - -void -AsTabify4 ( - char *Buffer); - -void -AsTabify8 ( - char *Buffer); - -void -AsRemoveConditionalCompile ( - char *Buffer, - char *Keyword); - -ACPI_NATIVE_INT -AsProcessTree ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath); - -int -AsGetFile ( - char *FileName, - char **FileBuffer, - UINT32 *FileSize); - -int -AsPutFile ( - char *Pathname, - char *FileBuffer, - UINT32 SystemFlags); - -void -AsReplaceHeader ( - char *Buffer, - char *NewHeader); - -void -AsConvertFile ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *FileBuffer, - char *Filename, - ACPI_NATIVE_INT FileType); - -ACPI_NATIVE_INT -AsProcessOneFile ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath, - int MaxPathLength, - char *Filename, - ACPI_NATIVE_INT FileType); - -ACPI_NATIVE_INT -AsCheckForDirectory ( - char *SourceDirPath, - char *TargetDirPath, - char *Filename, - char **SourcePath, - char **TargetPath); - -BOOLEAN -AsMatchExactWord ( - char *Word, - UINT32 WordLength); - -void -AsPrint ( - char *Message, - UINT32 Count, - char *Filename); - -void -AsInsertPrefix ( - char *Buffer, - char *Keyword, - UINT8 Type); - -char * -AsInsertData ( - char *Buffer, - char *BufferToAdd, - UINT32 LengthToAdd); - -char * -AsRemoveData ( - char *StartPointer, - char *EndPointer); - -void -AsInsertCarriageReturns ( - char *Buffer); - -void -AsConvertToLineFeeds ( - char *Buffer); - - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/ascase.c b/sys/contrib/dev/acpica/tools/acpisrc/ascase.c deleted file mode 100644 index da1112d562de..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/ascase.c +++ /dev/null @@ -1,646 +0,0 @@ - -/****************************************************************************** - * - * Module Name: ascase - Source conversion - lower/upper case utilities - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "acpisrc.h" - -/* Local prototypes */ - -void -AsUppercaseTokens ( - char *Buffer, - char *PrefixString); - - -/****************************************************************************** - * - * FUNCTION: AsLowerCaseString - * - * DESCRIPTION: LowerCase all instances of a target string with a replacement - * string. Returns count of the strings replaced. - * - ******************************************************************************/ - -int -AsLowerCaseString ( - char *Target, - char *Buffer) -{ - char *SubString1; - char *SubString2; - char *SubBuffer; - int TargetLength; - int LowerCaseCount = 0; - int i; - - - TargetLength = strlen (Target); - - SubBuffer = Buffer; - SubString1 = Buffer; - - while (SubString1) - { - /* Find the target string */ - - SubString1 = strstr (SubBuffer, Target); - if (!SubString1) - { - return LowerCaseCount; - } - - /* - * Check for translation escape string -- means to ignore - * blocks of code while replacing - */ - SubString2 = strstr (SubBuffer, AS_START_IGNORE); - - if ((SubString2) && - (SubString2 < SubString1)) - { - /* Find end of the escape block starting at "Substring2" */ - - SubString2 = strstr (SubString2, AS_STOP_IGNORE); - if (!SubString2) - { - /* Didn't find terminator */ - - return LowerCaseCount; - } - - /* Move buffer to end of escape block and continue */ - - SubBuffer = SubString2; - } - - /* Do the actual replace if the target was found */ - - else - { - if (!AsMatchExactWord (SubString1, TargetLength)) - { - SubBuffer = SubString1 + 1; - continue; - } - - for (i = 0; i < TargetLength; i++) - { - SubString1[i] = (char) tolower (SubString1[i]); - } - - SubBuffer = SubString1 + TargetLength; - - if ((Gbl_WidenDeclarations) && (!Gbl_StructDefs)) - { - if ((SubBuffer[0] == ' ') && (SubBuffer[1] == ' ')) - { - AsInsertData (SubBuffer, " ", 8); - } - } - - LowerCaseCount++; - } - } - - return LowerCaseCount; -} - - -/****************************************************************************** - * - * FUNCTION: AsMixedCaseToUnderscores - * - * DESCRIPTION: Converts mixed case identifiers to underscored identifiers. - * for example, - * - * ThisUsefullyNamedIdentifier becomes: - * - * this_usefully_named_identifier - * - ******************************************************************************/ - -void -AsMixedCaseToUnderscores ( - char *Buffer) -{ - UINT32 Length; - char *SubBuffer = Buffer; - char *TokenEnd; - char *TokenStart = NULL; - char *SubString; - BOOLEAN HasLowerCase = FALSE; - - - while (*SubBuffer) - { - /* Ignore whitespace */ - - if (*SubBuffer == ' ') - { - while (*SubBuffer == ' ') - { - SubBuffer++; - } - TokenStart = NULL; - HasLowerCase = FALSE; - continue; - } - - /* Ignore commas */ - - if ((*SubBuffer == ',') || - (*SubBuffer == '>') || - (*SubBuffer == ')')) - { - SubBuffer++; - TokenStart = NULL; - HasLowerCase = FALSE; - continue; - } - - /* Check for quoted string -- ignore */ - - if (*SubBuffer == '"') - { - SubBuffer++; - while (*SubBuffer != '"') - { - if (!*SubBuffer) - { - return; - } - - /* Handle embedded escape sequences */ - - if (*SubBuffer == '\\') - { - SubBuffer++; - } - SubBuffer++; - } - SubBuffer++; - continue; - } - - if (islower (*SubBuffer)) - { - HasLowerCase = TRUE; - } - - /* - * Check for translation escape string -- means to ignore - * blocks of code while replacing - */ - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*') && - (SubBuffer[2] == '!')) - { - SubBuffer = strstr (SubBuffer, "!*/"); - if (!SubBuffer) - { - return; - } - continue; - } - - /* Ignore hex constants */ - - if (SubBuffer[0] == '0') - { - if ((SubBuffer[1] == 'x') || - (SubBuffer[1] == 'X')) - { - SubBuffer += 2; - while (isxdigit (*SubBuffer)) - { - SubBuffer++; - } - continue; - } - } - -/* OBSOLETE CODE, all quoted strings now completely ignored. */ -#if 0 - /* Ignore format specification fields */ - - if (SubBuffer[0] == '%') - { - SubBuffer++; - - while ((isalnum (*SubBuffer)) || (*SubBuffer == '.')) - { - SubBuffer++; - } - - continue; - } -#endif - - /* Ignore standard escape sequences (\n, \r, etc.) Not Hex or Octal escapes */ - - if (SubBuffer[0] == '\\') - { - SubBuffer += 2; - continue; - } - - /* - * Ignore identifiers that already contain embedded underscores - * These are typically C macros or defines (all upper case) - * Note: there are some cases where identifiers have underscores - * AcpiGbl_* for example. HasLowerCase flag handles these. - */ - if ((*SubBuffer == '_') && (!HasLowerCase) && (TokenStart)) - { - /* Check the rest of the identifier for any lower case letters */ - - SubString = SubBuffer; - while ((isalnum (*SubString)) || (*SubString == '_')) - { - if (islower (*SubString)) - { - HasLowerCase = TRUE; - } - SubString++; - } - - /* If no lower case letters, we can safely ignore the entire token */ - - if (!HasLowerCase) - { - SubBuffer = SubString; - continue; - } - } - - /* A capital letter may indicate the start of a token; save it */ - - if (isupper (SubBuffer[0])) - { - TokenStart = SubBuffer; - } - - /* - * Convert each pair of letters that matches the form: - * - * - * to - * - */ - else if ((islower (SubBuffer[0]) || isdigit (SubBuffer[0])) && - (isupper (SubBuffer[1]))) - { - if (isdigit (SubBuffer[0])) - { - /* Ignore */ - /* Ignore */ - - if (isupper (*(SubBuffer-1)) || - *(SubBuffer-1) == '_') - { - SubBuffer++; - continue; - } - } - - /* - * Matched the pattern. - * Find the end of this identifier (token) - */ - TokenEnd = SubBuffer; - while ((isalnum (*TokenEnd)) || (*TokenEnd == '_')) - { - TokenEnd++; - } - - /* Force the UpperCase letter (#2) to lower case */ - - Gbl_MadeChanges = TRUE; - SubBuffer[1] = (char) tolower (SubBuffer[1]); - - SubString = TokenEnd; - Length = 0; - - while (*SubString != '\n') - { - /* - * If we have at least two trailing spaces, we can get rid of - * one to make up for the newly inserted underscore. This will - * help preserve the alignment of the text - */ - if ((SubString[0] == ' ') && - (SubString[1] == ' ')) - { - Length = SubString - SubBuffer - 2; - break; - } - - SubString++; - } - - if (!Length) - { - Length = strlen (&SubBuffer[1]); - } - - memmove (&SubBuffer[2], &SubBuffer[1], Length + 1); - SubBuffer[1] = '_'; - SubBuffer +=2; - - /* Lower case the leading character of the token */ - - if (TokenStart) - { - *TokenStart = (char) tolower (*TokenStart); - TokenStart = NULL; - } - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsLowerCaseIdentifiers - * - * DESCRIPTION: Converts mixed case identifiers to lower case. Leaves comments, - * quoted strings, and all-upper-case macros alone. - * - ******************************************************************************/ - -void -AsLowerCaseIdentifiers ( - char *Buffer) -{ - char *SubBuffer = Buffer; - - - while (*SubBuffer) - { - /* - * Check for translation escape string -- means to ignore - * blocks of code while replacing - */ - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*') && - (SubBuffer[2] == '!')) - { - SubBuffer = strstr (SubBuffer, "!*/"); - if (!SubBuffer) - { - return; - } - } - - /* Ignore comments */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - SubBuffer = strstr (SubBuffer, "*/"); - if (!SubBuffer) - { - return; - } - - SubBuffer += 2; - } - - /* Ignore quoted strings */ - - if ((SubBuffer[0] == '\"') && (SubBuffer[1] != '\'')) - { - SubBuffer++; - - /* Find the closing quote */ - - while (SubBuffer[0]) - { - /* Ignore escaped quote characters */ - - if (SubBuffer[0] == '\\') - { - SubBuffer++; - } - else if (SubBuffer[0] == '\"') - { - SubBuffer++; - break; - } - SubBuffer++; - } - } - - if (!SubBuffer[0]) - { - return; - } - - /* - * Only lower case if we have an upper followed by a lower - * This leaves the all-uppercase things (macros, etc.) intact - */ - if ((isupper (SubBuffer[0])) && - (islower (SubBuffer[1]))) - { - Gbl_MadeChanges = TRUE; - *SubBuffer = (char) tolower (*SubBuffer); - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsUppercaseTokens - * - * DESCRIPTION: Force to uppercase all tokens that begin with the prefix string. - * used to convert mixed-case macros and constants to uppercase. - * - ******************************************************************************/ - -void -AsUppercaseTokens ( - char *Buffer, - char *PrefixString) -{ - char *SubBuffer; - char *TokenEnd; - char *SubString; - int i; - UINT32 Length; - - - SubBuffer = Buffer; - - while (SubBuffer) - { - SubBuffer = strstr (SubBuffer, PrefixString); - if (SubBuffer) - { - TokenEnd = SubBuffer; - while ((isalnum (*TokenEnd)) || (*TokenEnd == '_')) - { - TokenEnd++; - } - - for (i = 0; i < (TokenEnd - SubBuffer); i++) - { - if ((islower (SubBuffer[i])) && - (isupper (SubBuffer[i+1]))) - { - - SubString = TokenEnd; - Length = 0; - - while (*SubString != '\n') - { - if ((SubString[0] == ' ') && - (SubString[1] == ' ')) - { - Length = SubString - &SubBuffer[i] - 2; - break; - } - - SubString++; - } - - if (!Length) - { - Length = strlen (&SubBuffer[i+1]); - } - - memmove (&SubBuffer[i+2], &SubBuffer[i+1], (Length+1)); - SubBuffer[i+1] = '_'; - i +=2; - TokenEnd++; - } - } - - for (i = 0; i < (TokenEnd - SubBuffer); i++) - { - SubBuffer[i] = (char) toupper (SubBuffer[i]); - } - - SubBuffer = TokenEnd; - } - } -} - - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/asconvrt.c b/sys/contrib/dev/acpica/tools/acpisrc/asconvrt.c deleted file mode 100644 index b1c2ca4fe1db..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/asconvrt.c +++ /dev/null @@ -1,1523 +0,0 @@ - -/****************************************************************************** - * - * Module Name: asconvrt - Source conversion code - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "acpisrc.h" - -/* Local prototypes */ - -char * -AsCheckAndSkipLiterals ( - char *Buffer, - UINT32 *TotalLines); - -UINT32 -AsCountLines ( - char *Buffer, - char *Filename); - -/* Opening signature of the Intel legal header */ - -char *HeaderBegin = "/******************************************************************************\n *\n * 1. Copyright Notice"; - - -/****************************************************************************** - * - * FUNCTION: AsMatchExactWord - * - * DESCRIPTION: Check previous and next characters for whitespace - * - ******************************************************************************/ - -BOOLEAN -AsMatchExactWord ( - char *Word, - UINT32 WordLength) -{ - char NextChar; - char PrevChar; - - - NextChar = Word[WordLength]; - PrevChar = * (Word -1); - - if (isalnum (NextChar) || - (NextChar == '_') || - isalnum (PrevChar) || - (PrevChar == '_')) - { - return (FALSE); - } - - return (TRUE); -} - - -/****************************************************************************** - * - * FUNCTION: AsPrint - * - * DESCRIPTION: Common formatted print - * - ******************************************************************************/ - -void -AsPrint ( - char *Message, - UINT32 Count, - char *Filename) -{ - - if (Gbl_QuietMode) - { - return; - } - - printf ("-- %4u %28.28s : %s\n", Count, Message, Filename); -} - - -/****************************************************************************** - * - * FUNCTION: AsCheckAndSkipLiterals - * - * DESCRIPTION: Generic routine to skip comments and quoted string literals. - * Keeps a line count. - * - ******************************************************************************/ - -char * -AsCheckAndSkipLiterals ( - char *Buffer, - UINT32 *TotalLines) -{ - UINT32 NewLines = 0; - char *SubBuffer = Buffer; - char *LiteralEnd; - - - /* Ignore comments */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - LiteralEnd = strstr (SubBuffer, "*/"); - SubBuffer += 2; /* Get past comment opening */ - - if (!LiteralEnd) - { - return SubBuffer; - } - - while (SubBuffer < LiteralEnd) - { - if (*SubBuffer == '\n') - { - NewLines++; - } - - SubBuffer++; - } - - SubBuffer += 2; /* Get past comment close */ - } - - /* Ignore quoted strings */ - - else if (*SubBuffer == '\"') - { - SubBuffer++; - LiteralEnd = AsSkipPastChar (SubBuffer, '\"'); - if (!LiteralEnd) - { - return SubBuffer; - } - } - - if (TotalLines) - { - (*TotalLines) += NewLines; - } - return SubBuffer; -} - - -/****************************************************************************** - * - * FUNCTION: AsAsCheckForBraces - * - * DESCRIPTION: Check for an open brace after each if statement - * - ******************************************************************************/ - -void -AsCheckForBraces ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - char *NextBrace; - char *NextSemicolon; - char *NextIf; - UINT32 TotalLines = 1; - - - while (*SubBuffer) - { - - SubBuffer = AsCheckAndSkipLiterals (SubBuffer, &TotalLines); - - if (*SubBuffer == '\n') - { - TotalLines++; - } - else if (!(strncmp (" if", SubBuffer, 3))) - { - SubBuffer += 2; - NextBrace = strstr (SubBuffer, "{"); - NextSemicolon = strstr (SubBuffer, ";"); - NextIf = strstr (SubBuffer, " if"); - - if ((!NextBrace) || - (NextSemicolon && (NextBrace > NextSemicolon)) || - (NextIf && (NextBrace > NextIf))) - { - Gbl_MissingBraces++; - - if (!Gbl_QuietMode) - { - printf ("Missing braces for , line %d: %s\n", TotalLines, Filename); - } - } - } - else if (!(strncmp (" else if", SubBuffer, 8))) - { - SubBuffer += 7; - NextBrace = strstr (SubBuffer, "{"); - NextSemicolon = strstr (SubBuffer, ";"); - NextIf = strstr (SubBuffer, " if"); - - if ((!NextBrace) || - (NextSemicolon && (NextBrace > NextSemicolon)) || - (NextIf && (NextBrace > NextIf))) - { - Gbl_MissingBraces++; - - if (!Gbl_QuietMode) - { - printf ("Missing braces for , line %d: %s\n", TotalLines, Filename); - } - } - } - else if (!(strncmp (" else", SubBuffer, 5))) - { - SubBuffer += 4; - NextBrace = strstr (SubBuffer, "{"); - NextSemicolon = strstr (SubBuffer, ";"); - NextIf = strstr (SubBuffer, " if"); - - if ((!NextBrace) || - (NextSemicolon && (NextBrace > NextSemicolon)) || - (NextIf && (NextBrace > NextIf))) - { - Gbl_MissingBraces++; - - if (!Gbl_QuietMode) - { - printf ("Missing braces for , line %d: %s\n", TotalLines, Filename); - } - } - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsTrimLines - * - * DESCRIPTION: Remove extra blanks from the end of source lines. Does not - * check for tabs. - * - ******************************************************************************/ - -void -AsTrimLines ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - char *StartWhiteSpace = NULL; - UINT32 SpaceCount = 0; - - - while (*SubBuffer) - { - while (*SubBuffer != '\n') - { - if (!*SubBuffer) - { - goto Exit; - } - - if (*SubBuffer == ' ') - { - if (!StartWhiteSpace) - { - StartWhiteSpace = SubBuffer; - } - } - else - { - StartWhiteSpace = NULL; - } - - SubBuffer++; - } - - if (StartWhiteSpace) - { - SpaceCount += (SubBuffer - StartWhiteSpace); - - /* Remove the spaces */ - - SubBuffer = AsRemoveData (StartWhiteSpace, SubBuffer); - StartWhiteSpace = NULL; - } - - SubBuffer++; - } - - -Exit: - if (SpaceCount) - { - Gbl_MadeChanges = TRUE; - AsPrint ("Extraneous spaces removed", SpaceCount, Filename); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsTrimWhitespace - * - * DESCRIPTION: Remove "excess" blank lines - any more than 2 blank lines. - * this can happen during the translation when lines are removed. - * - ******************************************************************************/ - -void -AsTrimWhitespace ( - char *Buffer) -{ - int ReplaceCount = 1; - - - while (ReplaceCount) - { - ReplaceCount = AsReplaceString ("\n\n\n\n", "\n\n\n", REPLACE_SUBSTRINGS, Buffer); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsReplaceHeader - * - * DESCRIPTION: Replace the default Intel legal header with a new header - * - ******************************************************************************/ - -void -AsReplaceHeader ( - char *Buffer, - char *NewHeader) -{ - char *SubBuffer; - char *TokenEnd; - - - /* Find the original header */ - - SubBuffer = strstr (Buffer, HeaderBegin); - if (!SubBuffer) - { - return; - } - - /* Find the end of the original header */ - - TokenEnd = strstr (SubBuffer, "*/"); - TokenEnd = AsSkipPastChar (TokenEnd, '\n'); - - /* Delete old header, insert new one */ - - AsReplaceData (SubBuffer, TokenEnd - SubBuffer, NewHeader, strlen (NewHeader)); -} - - -/****************************************************************************** - * - * FUNCTION: AsReplaceString - * - * DESCRIPTION: Replace all instances of a target string with a replacement - * string. Returns count of the strings replaced. - * - ******************************************************************************/ - -int -AsReplaceString ( - char *Target, - char *Replacement, - UINT8 Type, - char *Buffer) -{ - char *SubString1; - char *SubString2; - char *SubBuffer; - int TargetLength; - int ReplacementLength; - int ReplaceCount = 0; - - - TargetLength = strlen (Target); - ReplacementLength = strlen (Replacement); - - SubBuffer = Buffer; - SubString1 = Buffer; - - while (SubString1) - { - /* Find the target string */ - - SubString1 = strstr (SubBuffer, Target); - if (!SubString1) - { - return ReplaceCount; - } - - /* - * Check for translation escape string -- means to ignore - * blocks of code while replacing - */ - SubString2 = strstr (SubBuffer, AS_START_IGNORE); - - if ((SubString2) && - (SubString2 < SubString1)) - { - /* Find end of the escape block starting at "Substring2" */ - - SubString2 = strstr (SubString2, AS_STOP_IGNORE); - if (!SubString2) - { - /* Didn't find terminator */ - - return ReplaceCount; - } - - /* Move buffer to end of escape block and continue */ - - SubBuffer = SubString2; - } - - /* Do the actual replace if the target was found */ - - else - { - if ((Type & REPLACE_MASK) == REPLACE_WHOLE_WORD) - { - if (!AsMatchExactWord (SubString1, TargetLength)) - { - SubBuffer = SubString1 + 1; - continue; - } - } - - SubBuffer = AsReplaceData (SubString1, TargetLength, Replacement, ReplacementLength); - - if ((Type & EXTRA_INDENT_C) && - (!Gbl_StructDefs)) - { - SubBuffer = AsInsertData (SubBuffer, " ", 8); - } - - ReplaceCount++; - } - } - - return ReplaceCount; -} - - -/****************************************************************************** - * - * FUNCTION: AsConvertToLineFeeds - * - * DESCRIPTION: - * - ******************************************************************************/ - -void -AsConvertToLineFeeds ( - char *Buffer) -{ - char *SubString; - char *SubBuffer; - - - SubBuffer = Buffer; - SubString = Buffer; - - while (SubString) - { - /* Find the target string */ - - SubString = strstr (SubBuffer, "\r\n"); - if (!SubString) - { - return; - } - - SubBuffer = AsReplaceData (SubString, 1, NULL, 0); - } - return; -} - - -/****************************************************************************** - * - * FUNCTION: AsInsertCarriageReturns - * - * DESCRIPTION: - * - ******************************************************************************/ - -void -AsInsertCarriageReturns ( - char *Buffer) -{ - char *SubString; - char *SubBuffer; - - - SubBuffer = Buffer; - SubString = Buffer; - - while (SubString) - { - /* Find the target string */ - - SubString = strstr (SubBuffer, "\n"); - if (!SubString) - { - return; - } - - SubBuffer = AsInsertData (SubString, "\r", 1); - SubBuffer += 1; - } - return; -} - - -/****************************************************************************** - * - * FUNCTION: AsBracesOnSameLine - * - * DESCRIPTION: Move opening braces up to the same line as an if, for, else, - * or while statement (leave function opening brace on separate - * line). - * - ******************************************************************************/ - -void -AsBracesOnSameLine ( - char *Buffer) -{ - UINT32 Length; - char *SubBuffer = Buffer; - char *Beginning; - char *StartOfThisLine; - char *Next; - BOOLEAN BlockBegin = TRUE; - - - while (*SubBuffer) - { - /* Ignore comments */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - SubBuffer = strstr (SubBuffer, "*/"); - if (!SubBuffer) - { - return; - } - - SubBuffer += 2; - continue; - } - - /* Ignore quoted strings */ - - if (*SubBuffer == '\"') - { - SubBuffer++; - SubBuffer = AsSkipPastChar (SubBuffer, '\"'); - if (!SubBuffer) - { - return; - } - } - - if (!strncmp ("\n}", SubBuffer, 2)) - { - /* - * A newline followed by a closing brace closes a function - * or struct or initializer block - */ - BlockBegin = TRUE; - } - - /* - * Move every standalone brace up to the previous line - * Check for digit will ignore initializer lists surrounded by braces. - * This will work until we we need more complex detection. - */ - if ((*SubBuffer == '{') && !isdigit (SubBuffer[1])) - { - if (BlockBegin) - { - BlockBegin = FALSE; - } - else - { - /* - * Backup to previous non-whitespace - */ - Beginning = SubBuffer - 1; - while ((*Beginning == ' ') || - (*Beginning == '\n')) - { - Beginning--; - } - - StartOfThisLine = Beginning; - while (*StartOfThisLine != '\n') - { - StartOfThisLine--; - } - - /* - * Move the brace up to the previous line, UNLESS: - * - * 1) There is a conditional compile on the line (starts with '#') - * 2) Previous line ends with an '=' (Start of initializer block) - * 3) Previous line ends with a comma (part of an init list) - */ - if ((StartOfThisLine[1] != '#') && - (*Beginning != '/') && - (*Beginning != '{') && - (*Beginning != '=') && - (*Beginning != ',')) - { - Beginning++; - SubBuffer++; - Length = strlen (SubBuffer); - - Gbl_MadeChanges = TRUE; - -#ifdef ADD_EXTRA_WHITESPACE - AsReplaceData (Beginning, SubBuffer - Beginning, " {\n", 3); -#else - /* Find non-whitespace start of next line */ - - Next = SubBuffer + 1; - while ((*Next == ' ') || - (*Next == '\t')) - { - Next++; - } - - /* Find non-whitespace start of this line */ - - StartOfThisLine++; - while ((*StartOfThisLine == ' ') || - (*StartOfThisLine == '\t')) - { - StartOfThisLine++; - } - - /* - * Must be a single-line comment to need more whitespace - * Even then, we don't need more if the previous statement - * is an "else". - */ - if ((Next[0] == '/') && - (Next[1] == '*') && - (Next[2] != '\n') && - - (!strncmp (StartOfThisLine, "else if", 7) || - !strncmp (StartOfThisLine, "else while", 10) || - strncmp (StartOfThisLine, "else", 4))) - { - AsReplaceData (Beginning, SubBuffer - Beginning, " {\n", 3); - } - else - { - AsReplaceData (Beginning, SubBuffer - Beginning, " {", 2); - } -#endif - } - } - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsTabify4 - * - * DESCRIPTION: Convert the text to tabbed text. Alignment of text is - * preserved. - * - ******************************************************************************/ - -void -AsTabify4 ( - char *Buffer) -{ - char *SubBuffer = Buffer; - char *NewSubBuffer; - UINT32 SpaceCount = 0; - UINT32 Column = 0; - - - while (*SubBuffer) - { - if (*SubBuffer == '\n') - { - Column = 0; - } - else - { - Column++; - } - - /* Ignore comments */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - SubBuffer = strstr (SubBuffer, "*/"); - if (!SubBuffer) - { - return; - } - - SubBuffer += 2; - continue; - } - - /* Ignore quoted strings */ - - if (*SubBuffer == '\"') - { - SubBuffer++; - SubBuffer = AsSkipPastChar (SubBuffer, '\"'); - if (!SubBuffer) - { - return; - } - SpaceCount = 0; - } - - if (*SubBuffer == ' ') - { - SpaceCount++; - - if (SpaceCount >= 4) - { - SpaceCount = 0; - - NewSubBuffer = (SubBuffer + 1) - 4; - *NewSubBuffer = '\t'; - NewSubBuffer++; - - /* Remove the spaces */ - - SubBuffer = AsRemoveData (NewSubBuffer, SubBuffer + 1); - } - - if ((Column % 4) == 0) - { - SpaceCount = 0; - } - } - else - { - SpaceCount = 0; - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsTabify8 - * - * DESCRIPTION: Convert the text to tabbed text. Alignment of text is - * preserved. - * - ******************************************************************************/ - -void -AsTabify8 ( - char *Buffer) -{ - char *SubBuffer = Buffer; - char *NewSubBuffer; - char *CommentEnd = NULL; - UINT32 SpaceCount = 0; - UINT32 Column = 0; - UINT32 TabCount = 0; - UINT32 LastLineTabCount = 0; - UINT32 LastLineColumnStart = 0; - UINT32 ThisColumnStart = 0; - UINT32 ThisTabCount = 0; - char *FirstNonBlank = NULL; - - - while (*SubBuffer) - { - if (*SubBuffer == '\n') - { - /* This is a standalone blank line */ - - FirstNonBlank = NULL; - Column = 0; - SpaceCount = 0; - TabCount = 0; - SubBuffer++; - continue; - } - - if (!FirstNonBlank) - { - /* Find the first non-blank character on this line */ - - FirstNonBlank = SubBuffer; - while (*FirstNonBlank == ' ') - { - FirstNonBlank++; - } - - /* - * This mechanism limits the difference in tab counts from - * line to line. It helps avoid the situation where a second - * continuation line (which was indented correctly for tabs=4) would - * get indented off the screen if we just blindly converted to tabs. - */ - ThisColumnStart = FirstNonBlank - SubBuffer; - - if (LastLineTabCount == 0) - { - ThisTabCount = 0; - } - else if (ThisColumnStart == LastLineColumnStart) - { - ThisTabCount = LastLineTabCount -1; - } - else - { - ThisTabCount = LastLineTabCount + 1; - } - } - - Column++; - - /* Check if we are in a comment */ - - if ((SubBuffer[0] == '*') && - (SubBuffer[1] == '/')) - { - SpaceCount = 0; - SubBuffer += 2; - - if (*SubBuffer == '\n') - { - if (TabCount > 0) - { - LastLineTabCount = TabCount; - TabCount = 0; - } - FirstNonBlank = NULL; - LastLineColumnStart = ThisColumnStart; - SubBuffer++; - } - - continue; - } - - /* Check for comment open */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - /* Find the end of the comment, it must exist */ - - CommentEnd = strstr (SubBuffer, "*/"); - if (!CommentEnd) - { - return; - } - - /* Toss the rest of this line or single-line comment */ - - while ((SubBuffer < CommentEnd) && - (*SubBuffer != '\n')) - { - SubBuffer++; - } - - if (*SubBuffer == '\n') - { - if (TabCount > 0) - { - LastLineTabCount = TabCount; - TabCount = 0; - } - FirstNonBlank = NULL; - LastLineColumnStart = ThisColumnStart; - } - - SpaceCount = 0; - continue; - } - - /* Ignore quoted strings */ - - if ((!CommentEnd) && (*SubBuffer == '\"')) - { - SubBuffer++; - SubBuffer = AsSkipPastChar (SubBuffer, '\"'); - if (!SubBuffer) - { - return; - } - SpaceCount = 0; - } - - if (*SubBuffer != ' ') - { - /* Not a space, skip to end of line */ - - SubBuffer = AsSkipUntilChar (SubBuffer, '\n'); - if (!SubBuffer) - { - return; - } - if (TabCount > 0) - { - LastLineTabCount = TabCount; - TabCount = 0; - } - - FirstNonBlank = NULL; - LastLineColumnStart = ThisColumnStart; - Column = 0; - SpaceCount = 0; - } - else - { - /* Another space */ - - SpaceCount++; - - if (SpaceCount >= 4) - { - /* Replace this group of spaces with a tab character */ - - SpaceCount = 0; - - NewSubBuffer = SubBuffer - 3; - - if (TabCount <= ThisTabCount ? (ThisTabCount +1) : 0) - { - *NewSubBuffer = '\t'; - NewSubBuffer++; - SubBuffer++; - TabCount++; - } - - /* Remove the spaces */ - - SubBuffer = AsRemoveData (NewSubBuffer, SubBuffer); - continue; - } - } - - SubBuffer++; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsCountLines - * - * DESCRIPTION: Count the number of lines in the input buffer. Also count - * the number of long lines (lines longer than 80 chars). - * - ******************************************************************************/ - -UINT32 -AsCountLines ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - char *EndOfLine; - UINT32 LineCount = 0; - UINT32 LongLineCount = 0; - - - while (*SubBuffer) - { - EndOfLine = AsSkipUntilChar (SubBuffer, '\n'); - if (!EndOfLine) - { - Gbl_TotalLines += LineCount; - return LineCount; - } - - if ((EndOfLine - SubBuffer) > 80) - { - LongLineCount++; - VERBOSE_PRINT (("long: %.80s\n", SubBuffer)); - } - - LineCount++; - SubBuffer = EndOfLine + 1; - } - - if (LongLineCount) - { - VERBOSE_PRINT (("%d Lines longer than 80 found in %s\n", LongLineCount, Filename)); - Gbl_LongLines += LongLineCount; - } - - Gbl_TotalLines += LineCount; - return LineCount; -} - - -/****************************************************************************** - * - * FUNCTION: AsCountTabs - * - * DESCRIPTION: Simply count the number of tabs in the input file buffer - * - ******************************************************************************/ - -void -AsCountTabs ( - char *Buffer, - char *Filename) -{ - UINT32 i; - UINT32 TabCount = 0; - - - for (i = 0; Buffer[i]; i++) - { - if (Buffer[i] == '\t') - { - TabCount++; - } - } - - if (TabCount) - { - AsPrint ("Tabs found", TabCount, Filename); - Gbl_Tabs += TabCount; - } - - AsCountLines (Buffer, Filename); -} - - -/****************************************************************************** - * - * FUNCTION: AsCountNonAnsiComments - * - * DESCRIPTION: Count the number of "//" comments. This type of comment is - * non-ANSI C. - * - ******************************************************************************/ - -void -AsCountNonAnsiComments ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - UINT32 CommentCount = 0; - - - while (SubBuffer) - { - SubBuffer = strstr (SubBuffer, "//"); - if (SubBuffer) - { - CommentCount++; - SubBuffer += 2; - } - } - - if (CommentCount) - { - AsPrint ("Non-ANSI Comments found", CommentCount, Filename); - Gbl_NonAnsiComments += CommentCount; - } -} - - -/****************************************************************************** - * - * FUNCTION: AsCountSourceLines - * - * DESCRIPTION: Count the number of C source lines. Defined by 1) not a - * comment, and 2) not a blank line. - * - ******************************************************************************/ - -void -AsCountSourceLines ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - UINT32 LineCount = 0; - UINT32 WhiteCount = 0; - UINT32 CommentCount = 0; - - - while (*SubBuffer) - { - /* Detect comments (// comments are not used, non-ansii) */ - - if ((SubBuffer[0] == '/') && - (SubBuffer[1] == '*')) - { - SubBuffer += 2; - - /* First line of multi-line comment is often just whitespace */ - - if (SubBuffer[0] == '\n') - { - WhiteCount++; - SubBuffer++; - } - else - { - CommentCount++; - } - - /* Find end of comment */ - - while (SubBuffer[0] && SubBuffer[1] && - !(((SubBuffer[0] == '*') && - (SubBuffer[1] == '/')))) - { - if (SubBuffer[0] == '\n') - { - CommentCount++; - } - - SubBuffer++; - } - } - - /* A linefeed followed by a non-linefeed is a valid source line */ - - else if ((SubBuffer[0] == '\n') && - (SubBuffer[1] != '\n')) - { - LineCount++; - } - - /* Two back-to-back linefeeds indicate a whitespace line */ - - else if ((SubBuffer[0] == '\n') && - (SubBuffer[1] == '\n')) - { - WhiteCount++; - } - - SubBuffer++; - } - - /* Adjust comment count for legal header */ - - if (Gbl_HeaderSize < CommentCount) - { - CommentCount -= Gbl_HeaderSize; - Gbl_HeaderLines += Gbl_HeaderSize; - } - - Gbl_SourceLines += LineCount; - Gbl_WhiteLines += WhiteCount; - Gbl_CommentLines += CommentCount; - - VERBOSE_PRINT (("%d Comment %d White %d Code %d Lines in %s\n", - CommentCount, WhiteCount, LineCount, LineCount+WhiteCount+CommentCount, Filename)); -} - - -/****************************************************************************** - * - * FUNCTION: AsInsertPrefix - * - * DESCRIPTION: Insert struct or union prefixes - * - ******************************************************************************/ - -void -AsInsertPrefix ( - char *Buffer, - char *Keyword, - UINT8 Type) -{ - char *SubString; - char *SubBuffer; - char *EndKeyword; - int StrLength; - int InsertLength; - char *InsertString; - int TrailingSpaces; - char LowerKeyword[128]; - int KeywordLength; - - - switch (Type) - { - case SRC_TYPE_STRUCT: - InsertString = "struct "; - break; - - case SRC_TYPE_UNION: - InsertString = "union "; - break; - - default: - return; - } - - strcpy (LowerKeyword, Keyword); - strlwr (LowerKeyword); - - SubBuffer = Buffer; - SubString = Buffer; - InsertLength = strlen (InsertString); - KeywordLength = strlen (Keyword); - - - while (SubString) - { - /* Find an instance of the keyword */ - - SubString = strstr (SubBuffer, LowerKeyword); - - if (!SubString) - { - return; - } - - SubBuffer = SubString; - - /* Must be standalone word, not a substring */ - - if (AsMatchExactWord (SubString, KeywordLength)) - { - /* Make sure the keyword isn't already prefixed with the insert */ - - if (!strncmp (SubString - InsertLength, InsertString, InsertLength)) - { - /* Add spaces if not already at the end-of-line */ - - if (*(SubBuffer + KeywordLength) != '\n') - { - /* Already present, add spaces after to align structure members */ - -#if 0 -/* ONLY FOR C FILES */ - AsInsertData (SubBuffer + KeywordLength, " ", 8); -#endif - } - goto Next; - } - - /* Make sure the keyword isn't at the end of a struct/union */ - /* Note: This code depends on a single space after the brace */ - - if (*(SubString - 2) == '}') - { - goto Next; - } - - /* Prefix the keyword with the insert string */ - - Gbl_MadeChanges = TRUE; - StrLength = strlen (SubString); - - /* Is there room for insertion */ - - EndKeyword = SubString + strlen (LowerKeyword); - - TrailingSpaces = 0; - while (EndKeyword[TrailingSpaces] == ' ') - { - TrailingSpaces++; - } - - /* - * Use "if (TrailingSpaces > 1)" if we want to ignore casts - */ - SubBuffer = SubString + InsertLength; - - if (TrailingSpaces > InsertLength) - { - /* Insert the keyword */ - - memmove (SubBuffer, SubString, KeywordLength); - - /* Insert the keyword */ - - memmove (SubString, InsertString, InsertLength); - } - else - { - AsInsertData (SubString, InsertString, InsertLength); - } - } - -Next: - SubBuffer += KeywordLength; - } -} - -#ifdef ACPI_FUTURE_IMPLEMENTATION -/****************************************************************************** - * - * FUNCTION: AsTrimComments - * - * DESCRIPTION: Finds 3-line comments with only a single line of text - * - ******************************************************************************/ - -void -AsTrimComments ( - char *Buffer, - char *Filename) -{ - char *SubBuffer = Buffer; - char *Ptr1; - char *Ptr2; - UINT32 LineCount; - UINT32 ShortCommentCount = 0; - - - while (1) - { - /* Find comment open, within procedure level */ - - SubBuffer = strstr (SubBuffer, " /*"); - if (!SubBuffer) - { - goto Exit; - } - - /* Find comment terminator */ - - Ptr1 = strstr (SubBuffer, "*/"); - if (!Ptr1) - { - goto Exit; - } - - /* Find next EOL (from original buffer) */ - - Ptr2 = strstr (SubBuffer, "\n"); - if (!Ptr2) - { - goto Exit; - } - - /* Ignore one-line comments */ - - if (Ptr1 < Ptr2) - { - /* Normal comment, ignore and continue; */ - - SubBuffer = Ptr2; - continue; - } - - /* Examine multi-line comment */ - - LineCount = 1; - while (Ptr1 > Ptr2) - { - /* Find next EOL */ - - Ptr2++; - Ptr2 = strstr (Ptr2, "\n"); - if (!Ptr2) - { - goto Exit; - } - - LineCount++; - } - - SubBuffer = Ptr1; - - if (LineCount <= 3) - { - ShortCommentCount++; - } - } - - -Exit: - - if (ShortCommentCount) - { - AsPrint ("Short Comments found", ShortCommentCount, Filename); - } -} -#endif - - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/asfile.c b/sys/contrib/dev/acpica/tools/acpisrc/asfile.c deleted file mode 100644 index d6561898095e..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/asfile.c +++ /dev/null @@ -1,886 +0,0 @@ - -/****************************************************************************** - * - * Module Name: asfile - Main module for the acpi source processor utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "acpisrc.h" - -/* Local prototypes */ - -void -AsDoWildcard ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath, - int MaxPathLength, - int FileType, - char *WildcardSpec); - -BOOLEAN -AsDetectLoneLineFeeds ( - char *Filename, - char *Buffer); - -static inline int -AsMaxInt (int a, int b) -{ - return (a > b ? a : b); -} - - -/****************************************************************************** - * - * FUNCTION: AsDoWildcard - * - * DESCRIPTION: Process files via wildcards - * - ******************************************************************************/ - -void -AsDoWildcard ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath, - int MaxPathLength, - int FileType, - char *WildcardSpec) -{ - void *DirInfo; - char *Filename; - char *SourceDirPath; - char *TargetDirPath; - char RequestedFileType; - - - if (FileType == FILE_TYPE_DIRECTORY) - { - RequestedFileType = REQUEST_DIR_ONLY; - } - else - { - RequestedFileType = REQUEST_FILE_ONLY; - } - - VERBOSE_PRINT (("Checking for %s source files in directory \"%s\"\n", - WildcardSpec, SourcePath)); - - /* Open the directory for wildcard search */ - - DirInfo = AcpiOsOpenDirectory (SourcePath, WildcardSpec, RequestedFileType); - if (DirInfo) - { - /* - * Get all of the files that match both the - * wildcard and the requested file type - */ - while ((Filename = AcpiOsGetNextFilename (DirInfo))) - { - /* Looking for directory files, must check file type */ - - switch (RequestedFileType) - { - case REQUEST_DIR_ONLY: - - /* If we actually have a dir, process the subtree */ - - if (!AsCheckForDirectory (SourcePath, TargetPath, Filename, - &SourceDirPath, &TargetDirPath)) - { - VERBOSE_PRINT (("Subdirectory: %s\n", Filename)); - - AsProcessTree (ConversionTable, SourceDirPath, TargetDirPath); - free (SourceDirPath); - free (TargetDirPath); - } - break; - - case REQUEST_FILE_ONLY: - - /* Otherwise, this is a file, not a directory */ - - VERBOSE_PRINT (("File: %s\n", Filename)); - - AsProcessOneFile (ConversionTable, SourcePath, TargetPath, - MaxPathLength, Filename, FileType); - break; - - default: - break; - } - } - - /* Cleanup */ - - AcpiOsCloseDirectory (DirInfo); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsProcessTree - * - * DESCRIPTION: Process the directory tree. Files with the extension ".C" and - * ".H" are processed as the tree is traversed. - * - ******************************************************************************/ - -ACPI_NATIVE_INT -AsProcessTree ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath) -{ - int MaxPathLength; - - - MaxPathLength = AsMaxInt (strlen (SourcePath), strlen (TargetPath)); - - if (!(ConversionTable->Flags & FLG_NO_FILE_OUTPUT)) - { - if (ConversionTable->Flags & FLG_LOWERCASE_DIRNAMES) - { - strlwr (TargetPath); - } - - VERBOSE_PRINT (("Creating Directory \"%s\"\n", TargetPath)); - if (mkdir (TargetPath)) - { - if (errno != EEXIST) - { - printf ("Could not create target directory\n"); - return -1; - } - } - } - - /* Do the C source files */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_SOURCE, "*.c"); - - /* Do the C header files */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_HEADER, "*.h"); - - /* Do the Lex file(s) */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_SOURCE, "*.l"); - - /* Do the yacc file(s) */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_SOURCE, "*.y"); - - /* Do any ASL files */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_HEADER, "*.asl"); - - /* Do any subdirectories */ - - AsDoWildcard (ConversionTable, SourcePath, TargetPath, MaxPathLength, - FILE_TYPE_DIRECTORY, "*"); - - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: AsDetectLoneLineFeeds - * - * DESCRIPTION: Find LF without CR. - * - ******************************************************************************/ - -BOOLEAN -AsDetectLoneLineFeeds ( - char *Filename, - char *Buffer) -{ - UINT32 i = 1; - UINT32 LfCount = 0; - UINT32 LineCount = 0; - - - if (!Buffer[0]) - { - return FALSE; - } - - while (Buffer[i]) - { - if (Buffer[i] == 0x0A) - { - if (Buffer[i-1] != 0x0D) - { - LfCount++; - } - LineCount++; - } - i++; - } - - if (LfCount) - { - if (LineCount == LfCount) - { - if (!Gbl_IgnoreLoneLineFeeds) - { - printf ("%s: ****File has UNIX format**** (LF only, not CR/LF) %d lines\n", - Filename, LfCount); - } - } - else - { - printf ("%s: %d lone linefeeds in file\n", Filename, LfCount); - } - return TRUE; - } - - return (FALSE); -} - - -/****************************************************************************** - * - * FUNCTION: AsConvertFile - * - * DESCRIPTION: Perform the requested transforms on the file buffer (as - * determined by the ConversionTable and the FileType). - * - ******************************************************************************/ - -void -AsConvertFile ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *FileBuffer, - char *Filename, - ACPI_NATIVE_INT FileType) -{ - UINT32 i; - UINT32 Functions; - ACPI_STRING_TABLE *StringTable; - ACPI_IDENTIFIER_TABLE *ConditionalTable; - ACPI_IDENTIFIER_TABLE *LineTable; - ACPI_IDENTIFIER_TABLE *MacroTable; - ACPI_TYPED_IDENTIFIER_TABLE *StructTable; - - - switch (FileType) - { - case FILE_TYPE_SOURCE: - Functions = ConversionTable->SourceFunctions; - StringTable = ConversionTable->SourceStringTable; - LineTable = ConversionTable->SourceLineTable; - ConditionalTable = ConversionTable->SourceConditionalTable; - MacroTable = ConversionTable->SourceMacroTable; - StructTable = ConversionTable->SourceStructTable; - break; - - case FILE_TYPE_HEADER: - Functions = ConversionTable->HeaderFunctions; - StringTable = ConversionTable->HeaderStringTable; - LineTable = ConversionTable->HeaderLineTable; - ConditionalTable = ConversionTable->HeaderConditionalTable; - MacroTable = ConversionTable->HeaderMacroTable; - StructTable = ConversionTable->HeaderStructTable; - break; - - default: - printf ("Unknown file type, cannot process\n"); - return; - } - - - Gbl_StructDefs = strstr (FileBuffer, "/* acpisrc:StructDefs"); - Gbl_Files++; - VERBOSE_PRINT (("Processing %u bytes\n", strlen (FileBuffer))); - - if (ConversionTable->LowerCaseTable) - { - for (i = 0; ConversionTable->LowerCaseTable[i].Identifier; i++) - { - AsLowerCaseString (ConversionTable->LowerCaseTable[i].Identifier, - FileBuffer); - } - } - - /* Process all the string replacements */ - - if (StringTable) - { - for (i = 0; StringTable[i].Target; i++) - { - AsReplaceString (StringTable[i].Target, StringTable[i].Replacement, - StringTable[i].Type, FileBuffer); - } - } - - if (LineTable) - { - for (i = 0; LineTable[i].Identifier; i++) - { - AsRemoveLine (FileBuffer, LineTable[i].Identifier); - } - } - - if (ConditionalTable) - { - for (i = 0; ConditionalTable[i].Identifier; i++) - { - AsRemoveConditionalCompile (FileBuffer, ConditionalTable[i].Identifier); - } - } - - if (MacroTable) - { - for (i = 0; MacroTable[i].Identifier; i++) - { - AsRemoveMacro (FileBuffer, MacroTable[i].Identifier); - } - } - - if (StructTable) - { - for (i = 0; StructTable[i].Identifier; i++) - { - AsInsertPrefix (FileBuffer, StructTable[i].Identifier, StructTable[i].Type); - } - } - - /* Process the function table */ - - for (i = 0; i < 32; i++) - { - /* Decode the function bitmap */ - - switch ((1 << i) & Functions) - { - case 0: - /* This function not configured */ - break; - - - case CVT_COUNT_TABS: - - AsCountTabs (FileBuffer, Filename); - break; - - - case CVT_COUNT_NON_ANSI_COMMENTS: - - AsCountNonAnsiComments (FileBuffer, Filename); - break; - - - case CVT_CHECK_BRACES: - - AsCheckForBraces (FileBuffer, Filename); - break; - - - case CVT_TRIM_LINES: - - AsTrimLines (FileBuffer, Filename); - break; - - - case CVT_COUNT_LINES: - - AsCountSourceLines (FileBuffer, Filename); - break; - - - case CVT_BRACES_ON_SAME_LINE: - - AsBracesOnSameLine (FileBuffer); - break; - - - case CVT_MIXED_CASE_TO_UNDERSCORES: - - AsMixedCaseToUnderscores (FileBuffer); - break; - - - case CVT_LOWER_CASE_IDENTIFIERS: - - AsLowerCaseIdentifiers (FileBuffer); - break; - - - case CVT_REMOVE_DEBUG_MACROS: - - AsRemoveDebugMacros (FileBuffer); - break; - - - case CVT_TRIM_WHITESPACE: - - AsTrimWhitespace (FileBuffer); - break; - - - case CVT_REMOVE_EMPTY_BLOCKS: - - AsRemoveEmptyBlocks (FileBuffer, Filename); - break; - - - case CVT_REDUCE_TYPEDEFS: - - AsReduceTypedefs (FileBuffer, "typedef union"); - AsReduceTypedefs (FileBuffer, "typedef struct"); - break; - - - case CVT_SPACES_TO_TABS4: - - AsTabify4 (FileBuffer); - break; - - - case CVT_SPACES_TO_TABS8: - - AsTabify8 (FileBuffer); - break; - - case CVT_COUNT_SHORTMULTILINE_COMMENTS: - -#ifdef ACPI_FUTURE_IMPLEMENTATION - AsTrimComments (FileBuffer, Filename); -#endif - break; - - default: - - printf ("Unknown conversion subfunction opcode\n"); - break; - } - } - - if (ConversionTable->NewHeader) - { - AsReplaceHeader (FileBuffer, ConversionTable->NewHeader); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsProcessOneFile - * - * DESCRIPTION: Process one source file. The file is opened, read entirely - * into a buffer, converted, then written to a new file. - * - ******************************************************************************/ - -ACPI_NATIVE_INT -AsProcessOneFile ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *SourcePath, - char *TargetPath, - int MaxPathLength, - char *Filename, - ACPI_NATIVE_INT FileType) -{ - char *Pathname; - char *OutPathname = NULL; - - - /* Allocate a file pathname buffer for both source and target */ - - Pathname = calloc (MaxPathLength + strlen (Filename) + 2, 1); - if (!Pathname) - { - printf ("Could not allocate buffer for file pathnames\n"); - return -1; - } - - Gbl_FileType = FileType; - - /* Generate the source pathname and read the file */ - - if (SourcePath) - { - strcpy (Pathname, SourcePath); - strcat (Pathname, "/"); - } - - strcat (Pathname, Filename); - - if (AsGetFile (Pathname, &Gbl_FileBuffer, &Gbl_FileSize)) - { - return -1; - } - - Gbl_HeaderSize = 0; - if (strstr (Filename, ".asl")) - { - Gbl_HeaderSize = LINES_IN_ASL_HEADER; /* Lines in default ASL header */ - } - else if (strstr (Gbl_FileBuffer, LEGAL_HEADER_SIGNATURE)) - { - Gbl_HeaderSize = LINES_IN_LEGAL_HEADER; /* Normal C file and H header */ - } - else if (strstr (Gbl_FileBuffer, LINUX_HEADER_SIGNATURE)) - { - Gbl_HeaderSize = LINES_IN_LINUX_HEADER; /* Linuxized C file and H header */ - } - - /* Process the file in the buffer */ - - Gbl_MadeChanges = FALSE; - if (!Gbl_IgnoreLoneLineFeeds && Gbl_HasLoneLineFeeds) - { - /* - * All lone LFs will be converted to CR/LF - * (when file is written, Windows version only) - */ - printf ("Converting lone linefeeds\n"); - Gbl_MadeChanges = TRUE; - } - - AsConvertFile (ConversionTable, Gbl_FileBuffer, Pathname, FileType); - - if (!(ConversionTable->Flags & FLG_NO_FILE_OUTPUT)) - { - if (!(Gbl_Overwrite && !Gbl_MadeChanges)) - { - /* Generate the target pathname and write the file */ - - OutPathname = calloc (MaxPathLength + strlen (Filename) + 2 + strlen (TargetPath), 1); - if (!OutPathname) - { - printf ("Could not allocate buffer for file pathnames\n"); - return -1; - } - - strcpy (OutPathname, TargetPath); - if (SourcePath) - { - strcat (OutPathname, "/"); - strcat (OutPathname, Filename); - } - - AsPutFile (OutPathname, Gbl_FileBuffer, ConversionTable->Flags); - } - } - - free (Gbl_FileBuffer); - free (Pathname); - if (OutPathname) - { - free (OutPathname); - } - - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: AsCheckForDirectory - * - * DESCRIPTION: Check if the current file is a valid directory. If not, - * construct the full pathname for the source and target paths. - * Checks for the dot and dot-dot files (they are ignored) - * - ******************************************************************************/ - -ACPI_NATIVE_INT -AsCheckForDirectory ( - char *SourceDirPath, - char *TargetDirPath, - char *Filename, - char **SourcePath, - char **TargetPath) -{ - char *SrcPath; - char *TgtPath; - - - if (!(strcmp (Filename, ".")) || - !(strcmp (Filename, ".."))) - { - return -1; - } - - SrcPath = calloc (strlen (SourceDirPath) + strlen (Filename) + 2, 1); - if (!SrcPath) - { - printf ("Could not allocate buffer for directory source pathname\n"); - return -1; - } - - TgtPath = calloc (strlen (TargetDirPath) + strlen (Filename) + 2, 1); - if (!TgtPath) - { - printf ("Could not allocate buffer for directory target pathname\n"); - free (SrcPath); - return -1; - } - - strcpy (SrcPath, SourceDirPath); - strcat (SrcPath, "/"); - strcat (SrcPath, Filename); - - strcpy (TgtPath, TargetDirPath); - strcat (TgtPath, "/"); - strcat (TgtPath, Filename); - - *SourcePath = SrcPath; - *TargetPath = TgtPath; - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: AsGetFile - * - * DESCRIPTION: Open a file and read it entirely into a an allocated buffer - * - ******************************************************************************/ - -int -AsGetFile ( - char *Filename, - char **FileBuffer, - UINT32 *FileSize) -{ - - int FileHandle; - UINT32 Size; - char *Buffer; - - - /* Binary mode leaves CR/LF pairs */ - - FileHandle = open (Filename, O_BINARY | O_RDONLY); - if (!FileHandle) - { - printf ("Could not open %s\n", Filename); - return -1; - } - - if (fstat (FileHandle, &Gbl_StatBuf)) - { - printf ("Could not get file status for %s\n", Filename); - goto ErrorExit; - } - - /* - * Create a buffer for the entire file - * Add plenty extra buffer to accomodate string replacements - */ - Size = Gbl_StatBuf.st_size; - Gbl_TotalSize += Size; - - Buffer = calloc (Size * 2, 1); - if (!Buffer) - { - printf ("Could not allocate buffer of size %d\n", Size * 2); - goto ErrorExit; - } - - /* Read the entire file */ - - Size = read (FileHandle, Buffer, Size); - if (Size == -1) - { - printf ("Could not read the input file %s\n", Filename); - goto ErrorExit; - } - - Buffer [Size] = 0; /* Null terminate the buffer */ - close (FileHandle); - - /* Check for unix contamination */ - - Gbl_HasLoneLineFeeds = AsDetectLoneLineFeeds (Filename, Buffer); - - /* - * Convert all CR/LF pairs to LF only. We do this locally so that - * this code is portable across operating systems. - */ - AsConvertToLineFeeds (Buffer); - - *FileBuffer = Buffer; - *FileSize = Size; - - return 0; - - -ErrorExit: - - close (FileHandle); - return -1; -} - - -/****************************************************************************** - * - * FUNCTION: AsPutFile - * - * DESCRIPTION: Create a new output file and write the entire contents of the - * buffer to the new file. Buffer must be a zero terminated string - * - ******************************************************************************/ - -int -AsPutFile ( - char *Pathname, - char *FileBuffer, - UINT32 SystemFlags) -{ - UINT32 FileSize; - int DestHandle; - int OpenFlags; - - - /* Create the target file */ - - OpenFlags = O_TRUNC | O_CREAT | O_WRONLY | O_BINARY; - - if (!(SystemFlags & FLG_NO_CARRIAGE_RETURNS)) - { - /* Put back the CR before each LF */ - - AsInsertCarriageReturns (FileBuffer); - } - - DestHandle = open (Pathname, OpenFlags, S_IREAD | S_IWRITE); - if (DestHandle == -1) - { - perror ("Could not create destination file"); - printf ("Could not create destination file \"%s\"\n", Pathname); - return -1; - } - - /* Write the buffer to the file */ - - FileSize = strlen (FileBuffer); - write (DestHandle, FileBuffer, FileSize); - - close (DestHandle); - - return 0; -} - - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/asmain.c b/sys/contrib/dev/acpica/tools/acpisrc/asmain.c deleted file mode 100644 index c1fbb0cf133c..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/asmain.c +++ /dev/null @@ -1,512 +0,0 @@ - -/****************************************************************************** - * - * Module Name: asmain - Main module for the acpi source processor utility - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - - -#include "acpisrc.h" -#include "acapps.h" - -/* Local prototypes */ - -int -AsStricmp ( - char *String1, - char *String2); - -int -AsExaminePaths ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *Source, - char *Target, - UINT32 *SourceFileType); - -void -AsDisplayStats ( - void); - -void -AsDisplayUsage ( - void); - -/* Globals */ - -UINT32 Gbl_Tabs = 0; -UINT32 Gbl_MissingBraces = 0; -UINT32 Gbl_NonAnsiComments = 0; -UINT32 Gbl_Files = 0; -UINT32 Gbl_WhiteLines = 0; -UINT32 Gbl_CommentLines = 0; -UINT32 Gbl_SourceLines = 0; -UINT32 Gbl_LongLines = 0; -UINT32 Gbl_TotalLines = 0; -UINT32 Gbl_TotalSize = 0; -UINT32 Gbl_HeaderLines = 0; -UINT32 Gbl_HeaderSize = 0; -void *Gbl_StructDefs = NULL; - -struct stat Gbl_StatBuf; -char *Gbl_FileBuffer; -UINT32 Gbl_FileSize; -UINT32 Gbl_FileType; -BOOLEAN Gbl_VerboseMode = FALSE; -BOOLEAN Gbl_QuietMode = FALSE; -BOOLEAN Gbl_BatchMode = FALSE; -BOOLEAN Gbl_DebugStatementsMode = FALSE; -BOOLEAN Gbl_MadeChanges = FALSE; -BOOLEAN Gbl_Overwrite = FALSE; -BOOLEAN Gbl_WidenDeclarations = FALSE; -BOOLEAN Gbl_IgnoreLoneLineFeeds = FALSE; -BOOLEAN Gbl_HasLoneLineFeeds = FALSE; - - -/****************************************************************************** - * - * FUNCTION: AsStricmp - * - * DESCRIPTION: Implementation of the non-ANSI stricmp function (compare - * strings with no case sensitivity) - * - ******************************************************************************/ - -int -AsStricmp ( - char *String1, - char *String2) -{ - int c1; - int c2; - - - do - { - c1 = tolower (*String1); - c2 = tolower (*String2); - - String1++; - String2++; - } - while ((c1 == c2) && (c1)); - - return (c1 - c2); -} - - -/****************************************************************************** - * - * FUNCTION: AsExaminePaths - * - * DESCRIPTION: Source and Target pathname verification and handling - * - ******************************************************************************/ - -int -AsExaminePaths ( - ACPI_CONVERSION_TABLE *ConversionTable, - char *Source, - char *Target, - UINT32 *SourceFileType) -{ - int Status; - char Response; - - - Status = stat (Source, &Gbl_StatBuf); - if (Status) - { - printf ("Source path \"%s\" does not exist\n", Source); - return -1; - } - - /* Return the filetype -- file or a directory */ - - *SourceFileType = 0; - if (Gbl_StatBuf.st_mode & S_IFDIR) - { - *SourceFileType = S_IFDIR; - } - - /* - * If we are in no-output mode or in batch mode, we are done - */ - if ((ConversionTable->Flags & FLG_NO_FILE_OUTPUT) || - (Gbl_BatchMode)) - { - return 0; - } - - if (!AsStricmp (Source, Target)) - { - printf ("Target path is the same as the source path, overwrite?\n"); - scanf ("%c", &Response); - - /* Check response */ - - if ((char) Response != 'y') - { - return -1; - } - - Gbl_Overwrite = TRUE; - } - else - { - Status = stat (Target, &Gbl_StatBuf); - if (!Status) - { - printf ("Target path already exists, overwrite?\n"); - scanf ("%c", &Response); - - /* Check response */ - - if ((char) Response != 'y') - { - return -1; - } - } - } - - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: AsDisplayStats - * - * DESCRIPTION: Display global statistics gathered during translation - * - ******************************************************************************/ - -void -AsDisplayStats ( - void) -{ - - if (Gbl_QuietMode) - { - return; - } - - printf ("\nAcpiSrc statistics:\n\n"); - printf ("%8u Files processed\n", Gbl_Files); - printf ("%8u Total bytes (%.1fK/file)\n", - Gbl_TotalSize, ((double) Gbl_TotalSize/Gbl_Files)/1024); - printf ("%8u Tabs found\n", Gbl_Tabs); - printf ("%8u Missing if/else braces\n", Gbl_MissingBraces); - printf ("%8u Non-ANSI comments found\n", Gbl_NonAnsiComments); - printf ("%8u Total Lines\n", Gbl_TotalLines); - printf ("%8u Lines of code\n", Gbl_SourceLines); - printf ("%8u Lines of non-comment whitespace\n", Gbl_WhiteLines); - printf ("%8u Lines of comments\n", Gbl_CommentLines); - printf ("%8u Long lines found\n", Gbl_LongLines); - printf ("%8.1f Ratio of code to whitespace\n", - ((float) Gbl_SourceLines / (float) Gbl_WhiteLines)); - printf ("%8.1f Ratio of code to comments\n", - ((float) Gbl_SourceLines / (float) (Gbl_CommentLines + Gbl_NonAnsiComments))); - printf (" %u%% code, %u%% comments, %u%% whitespace, %u%% headers\n", - (Gbl_SourceLines * 100) / Gbl_TotalLines, - (Gbl_CommentLines * 100) / Gbl_TotalLines, - (Gbl_WhiteLines * 100) / Gbl_TotalLines, - (Gbl_HeaderLines * 100) / Gbl_TotalLines); - return; -} - - -/****************************************************************************** - * - * FUNCTION: AsDisplayUsage - * - * DESCRIPTION: Usage message - * - ******************************************************************************/ - -void -AsDisplayUsage ( - void) -{ - - printf ("\n"); - printf ("Usage: acpisrc [-c|l|u] [-dsvy] \n\n"); - printf ("Where: -c Generate cleaned version of the source\n"); - printf (" -l Generate Linux version of the source\n"); - printf (" -u Generate Custom source translation\n"); - printf ("\n"); - printf (" -d Leave debug statements in code\n"); - printf (" -s Generate source statistics only\n"); - printf (" -v Verbose mode\n"); - printf (" -y Suppress file overwrite prompts\n"); - printf ("\n"); - return; -} - - -/****************************************************************************** - * - * FUNCTION: main - * - * DESCRIPTION: C main function - * - ******************************************************************************/ - -int ACPI_SYSTEM_XFACE -main ( - int argc, - char *argv[]) -{ - int j; - ACPI_CONVERSION_TABLE *ConversionTable = NULL; - char *SourcePath; - char *TargetPath; - UINT32 FileType; - - - printf ("ACPI Source Code Conversion Utility"); - printf (" version %8.8X", ((UINT32) ACPI_CA_VERSION)); - printf (" [%s]\n\n", __DATE__); - - if (argc < 2) - { - AsDisplayUsage (); - return 0; - } - - /* Command line options */ - - while ((j = AcpiGetopt (argc, argv, "cdlqsuvy")) != EOF) switch(j) - { - case 'l': - /* Linux code generation */ - - printf ("Creating Linux source code\n"); - ConversionTable = &LinuxConversionTable; - Gbl_WidenDeclarations = TRUE; - Gbl_IgnoreLoneLineFeeds = TRUE; - break; - - case 'c': - /* Cleanup code */ - - printf ("Code cleanup\n"); - ConversionTable = &CleanupConversionTable; - break; - - case 's': - /* Statistics only */ - - break; - - case 'u': - /* custom conversion */ - - printf ("Custom source translation\n"); - ConversionTable = &CustomConversionTable; - break; - - case 'v': - /* Verbose mode */ - - Gbl_VerboseMode = TRUE; - break; - - case 'y': - /* Batch mode */ - - Gbl_BatchMode = TRUE; - break; - - case 'd': - /* Leave debug statements in */ - - Gbl_DebugStatementsMode = TRUE; - break; - - case 'q': - /* Quiet mode */ - - Gbl_QuietMode = TRUE; - break; - - default: - AsDisplayUsage (); - return -1; - } - - - SourcePath = argv[AcpiGbl_Optind]; - if (!SourcePath) - { - printf ("Missing source path\n"); - AsDisplayUsage (); - return -1; - } - - TargetPath = argv[AcpiGbl_Optind+1]; - - if (!ConversionTable) - { - /* Just generate statistics. Ignore target path */ - - TargetPath = SourcePath; - - printf ("Source code statistics only\n"); - ConversionTable = &StatsConversionTable; - } - else if (!TargetPath) - { - TargetPath = SourcePath; - } - - if (Gbl_DebugStatementsMode) - { - ConversionTable->SourceFunctions &= ~CVT_REMOVE_DEBUG_MACROS; - } - - /* Check source and target paths and files */ - - if (AsExaminePaths (ConversionTable, SourcePath, TargetPath, &FileType)) - { - return -1; - } - - /* Source/target can be either directories or a files */ - - if (FileType == S_IFDIR) - { - /* Process the directory tree */ - - AsProcessTree (ConversionTable, SourcePath, TargetPath); - } - else - { - /* Process a single file */ - - /* Differentiate between source and header files */ - - if (strstr (SourcePath, ".h")) - { - AsProcessOneFile (ConversionTable, NULL, TargetPath, 0, SourcePath, FILE_TYPE_HEADER); - } - else - { - AsProcessOneFile (ConversionTable, NULL, TargetPath, 0, SourcePath, FILE_TYPE_SOURCE); - } - } - - /* Always display final summary and stats */ - - AsDisplayStats (); - - return 0; -} diff --git a/sys/contrib/dev/acpica/tools/acpisrc/asremove.c b/sys/contrib/dev/acpica/tools/acpisrc/asremove.c deleted file mode 100644 index 18f72f3c1578..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/asremove.c +++ /dev/null @@ -1,688 +0,0 @@ - -/****************************************************************************** - * - * Module Name: asremove - Source conversion - removal functions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "acpisrc.h" - -/* Local prototypes */ - -void -AsRemoveStatement ( - char *Buffer, - char *Keyword, - UINT32 Type); - - -/****************************************************************************** - * - * FUNCTION: AsRemoveStatement - * - * DESCRIPTION: Remove all statements that contain the given keyword. - * Limitations: Removes text from the start of the line that - * contains the keyword to the next semicolon. Currently - * doesn't ignore comments. - * - ******************************************************************************/ - -void -AsRemoveStatement ( - char *Buffer, - char *Keyword, - UINT32 Type) -{ - char *SubString; - char *SubBuffer; - int KeywordLength; - - - KeywordLength = strlen (Keyword); - SubBuffer = Buffer; - SubString = Buffer; - - - while (SubString) - { - SubString = strstr (SubBuffer, Keyword); - - if (SubString) - { - SubBuffer = SubString; - - if ((Type == REPLACE_WHOLE_WORD) && - (!AsMatchExactWord (SubString, KeywordLength))) - { - SubBuffer++; - continue; - } - - /* Find start of this line */ - - while (*SubString != '\n') - { - SubString--; - } - SubString++; - - /* Find end of this statement */ - - SubBuffer = AsSkipPastChar (SubBuffer, ';'); - if (!SubBuffer) - { - return; - } - - /* Find end of this line */ - - SubBuffer = AsSkipPastChar (SubBuffer, '\n'); - if (!SubBuffer) - { - return; - } - - /* If next line is blank, remove it too */ - - if (*SubBuffer == '\n') - { - SubBuffer++; - } - - /* Remove the lines */ - - SubBuffer = AsRemoveData (SubString, SubBuffer); - } - } -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveConditionalCompile - * - * DESCRIPTION: Remove a "#ifdef" statement, and all text that it encompasses. - * Limitations: cannot handle nested ifdefs. - * - ******************************************************************************/ - -void -AsRemoveConditionalCompile ( - char *Buffer, - char *Keyword) -{ - char *SubString; - char *SubBuffer; - char *IfPtr; - char *EndifPtr; - char *ElsePtr; - char *Comment; - int KeywordLength; - - - KeywordLength = strlen (Keyword); - SubBuffer = Buffer; - SubString = Buffer; - - - while (SubString) - { - SubBuffer = strstr (SubString, Keyword); - if (!SubBuffer) - { - return; - } - - /* - * Check for translation escape string -- means to ignore - * blocks of code while replacing - */ - Comment = strstr (SubString, AS_START_IGNORE); - - if ((Comment) && - (Comment < SubBuffer)) - { - SubString = strstr (Comment, AS_STOP_IGNORE); - if (!SubString) - { - return; - } - - SubString += 3; - continue; - } - - /* Check for ordinary comment */ - - Comment = strstr (SubString, "/*"); - - if ((Comment) && - (Comment < SubBuffer)) - { - SubString = strstr (Comment, "*/"); - if (!SubString) - { - return; - } - - SubString += 2; - continue; - } - - SubString = SubBuffer; - if (!AsMatchExactWord (SubString, KeywordLength)) - { - SubString++; - continue; - } - - /* Find start of this line */ - - while (*SubString != '\n' && (SubString > Buffer)) - { - SubString--; - } - SubString++; - - /* Find the "#ifxxxx" */ - - IfPtr = strstr (SubString, "#if"); - if (!IfPtr) - { - return; - } - - if (IfPtr > SubBuffer) - { - /* Not the right #if */ - - SubString = SubBuffer + strlen (Keyword); - continue; - } - - /* Find closing #endif or #else */ - - EndifPtr = strstr (SubBuffer, "#endif"); - if (!EndifPtr) - { - /* There has to be an #endif */ - - return; - } - - ElsePtr = strstr (SubBuffer, "#else"); - if ((ElsePtr) && - (EndifPtr > ElsePtr)) - { - /* This #ifdef contains an #else clause */ - /* Find end of this line */ - - SubBuffer = AsSkipPastChar (ElsePtr, '\n'); - if (!SubBuffer) - { - return; - } - - /* Remove the #ifdef .... #else code */ - - AsRemoveData (SubString, SubBuffer); - - /* Next, we will remove the #endif statement */ - - EndifPtr = strstr (SubString, "#endif"); - if (!EndifPtr) - { - /* There has to be an #endif */ - - return; - } - - SubString = EndifPtr; - } - - /* Remove the ... #endif part */ - /* Find end of this line */ - - SubBuffer = AsSkipPastChar (EndifPtr, '\n'); - if (!SubBuffer) - { - return; - } - - /* Remove the lines */ - - SubBuffer = AsRemoveData (SubString, SubBuffer); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveMacro - * - * DESCRIPTION: Remove every line that contains the keyword. Does not - * skip comments. - * - ******************************************************************************/ - -void -AsRemoveMacro ( - char *Buffer, - char *Keyword) -{ - char *SubString; - char *SubBuffer; - int NestLevel; - - - SubBuffer = Buffer; - SubString = Buffer; - - - while (SubString) - { - SubString = strstr (SubBuffer, Keyword); - - if (SubString) - { - SubBuffer = SubString; - - /* Find start of the macro parameters */ - - while (*SubString != '(') - { - SubString++; - } - SubString++; - - /* Remove the macro name and opening paren */ - - SubString = AsRemoveData (SubBuffer, SubString); - - NestLevel = 1; - while (*SubString) - { - if (*SubString == '(') - { - NestLevel++; - } - else if (*SubString == ')') - { - NestLevel--; - } - - SubString++; - - if (NestLevel == 0) - { - break; - } - } - - /* Remove the closing paren */ - - SubBuffer = AsRemoveData (SubString-1, SubString); - } - } -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveLine - * - * DESCRIPTION: Remove every line that contains the keyword. Does not - * skip comments. - * - ******************************************************************************/ - -void -AsRemoveLine ( - char *Buffer, - char *Keyword) -{ - char *SubString; - char *SubBuffer; - - - SubBuffer = Buffer; - SubString = Buffer; - - - while (SubString) - { - SubString = strstr (SubBuffer, Keyword); - - if (SubString) - { - SubBuffer = SubString; - - /* Find start of this line */ - - while (*SubString != '\n') - { - SubString--; - } - SubString++; - - /* Find end of this line */ - - SubBuffer = AsSkipPastChar (SubBuffer, '\n'); - if (!SubBuffer) - { - return; - } - - /* Remove the line */ - - SubBuffer = AsRemoveData (SubString, SubBuffer); - } - } -} - - -/****************************************************************************** - * - * FUNCTION: AsReduceTypedefs - * - * DESCRIPTION: Eliminate certain typedefs - * - ******************************************************************************/ - -void -AsReduceTypedefs ( - char *Buffer, - char *Keyword) -{ - char *SubString; - char *SubBuffer; - int NestLevel; - - - SubBuffer = Buffer; - SubString = Buffer; - - - while (SubString) - { - SubString = strstr (SubBuffer, Keyword); - - if (SubString) - { - /* Remove the typedef itself */ - - SubBuffer = SubString + strlen ("typedef") + 1; - SubBuffer = AsRemoveData (SubString, SubBuffer); - - /* Find the opening brace of the struct or union */ - - while (*SubString != '{') - { - SubString++; - } - SubString++; - - /* Find the closing brace. Handles nested braces */ - - NestLevel = 1; - while (*SubString) - { - if (*SubString == '{') - { - NestLevel++; - } - else if (*SubString == '}') - { - NestLevel--; - } - - SubString++; - - if (NestLevel == 0) - { - break; - } - } - - /* Remove an extra line feed if present */ - - if (!strncmp (SubString - 3, "\n\n", 2)) - { - *(SubString -2) = '}'; - SubString--; - } - - /* Find the end of the typedef name */ - - SubBuffer = AsSkipUntilChar (SubString, ';'); - - /* And remove the typedef name */ - - SubBuffer = AsRemoveData (SubString, SubBuffer); - } - } -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveEmptyBlocks - * - * DESCRIPTION: Remove any C blocks (e.g., if {}) that contain no code. This - * can happen as a result of removing lines such as DEBUG_PRINT. - * - ******************************************************************************/ - -void -AsRemoveEmptyBlocks ( - char *Buffer, - char *Filename) -{ - char *SubBuffer; - char *BlockStart; - BOOLEAN EmptyBlock = TRUE; - BOOLEAN AnotherPassRequired = TRUE; - UINT32 BlockCount = 0; - - - while (AnotherPassRequired) - { - SubBuffer = Buffer; - AnotherPassRequired = FALSE; - - while (*SubBuffer) - { - if (*SubBuffer == '{') - { - BlockStart = SubBuffer; - EmptyBlock = TRUE; - - SubBuffer++; - while (*SubBuffer != '}') - { - if ((*SubBuffer != ' ') && - (*SubBuffer != '\n')) - { - EmptyBlock = FALSE; - break; - } - SubBuffer++; - } - - if (EmptyBlock) - { - /* Find start of the first line of the block */ - - while (*BlockStart != '\n') - { - BlockStart--; - } - - /* Find end of the last line of the block */ - - SubBuffer = AsSkipUntilChar (SubBuffer, '\n'); - if (!SubBuffer) - { - break; - } - - /* Remove the block */ - - SubBuffer = AsRemoveData (BlockStart, SubBuffer); - BlockCount++; - AnotherPassRequired = TRUE; - continue; - } - } - - SubBuffer++; - } - } - - if (BlockCount) - { - Gbl_MadeChanges = TRUE; - AsPrint ("Code blocks deleted", BlockCount, Filename); - } -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveDebugMacros - * - * DESCRIPTION: Remove all "Debug" macros -- macros that produce debug output. - * - ******************************************************************************/ - -void -AsRemoveDebugMacros ( - char *Buffer) -{ - AsRemoveConditionalCompile (Buffer, "ACPI_DEBUG_OUTPUT"); - - AsRemoveStatement (Buffer, "ACPI_DEBUG_PRINT", REPLACE_WHOLE_WORD); - AsRemoveStatement (Buffer, "ACPI_DEBUG_PRINT_RAW", REPLACE_WHOLE_WORD); - AsRemoveStatement (Buffer, "DEBUG_EXEC", REPLACE_WHOLE_WORD); - AsRemoveStatement (Buffer, "FUNCTION_ENTRY", REPLACE_WHOLE_WORD); - AsRemoveStatement (Buffer, "PROC_NAME", REPLACE_WHOLE_WORD); - AsRemoveStatement (Buffer, "FUNCTION_TRACE", REPLACE_SUBSTRINGS); - AsRemoveStatement (Buffer, "DUMP_", REPLACE_SUBSTRINGS); - - AsReplaceString ("return_VOID", "return", REPLACE_WHOLE_WORD, Buffer); - AsReplaceString ("return_PTR", "return", REPLACE_WHOLE_WORD, Buffer); - AsReplaceString ("return_ACPI_STATUS", "return", REPLACE_WHOLE_WORD, Buffer); - AsReplaceString ("return_acpi_status", "return", REPLACE_WHOLE_WORD, Buffer); - AsReplaceString ("return_VALUE", "return", REPLACE_WHOLE_WORD, Buffer); -} - - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/astable.c b/sys/contrib/dev/acpica/tools/acpisrc/astable.c deleted file mode 100644 index b8135514694c..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/astable.c +++ /dev/null @@ -1,824 +0,0 @@ - -/****************************************************************************** - * - * Module Name: astable - Tables used for source conversion - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - - -#include "acpisrc.h" -#include "acapps.h" - - -/****************************************************************************** - * - * Standard/Common translation tables - * - ******************************************************************************/ - - -ACPI_STRING_TABLE StandardDataTypes[] = { - - /* Declarations first */ - - {"UINT32 ", "unsigned int", REPLACE_SUBSTRINGS}, - {"UINT16 ", "unsigned short", REPLACE_SUBSTRINGS}, - {"UINT8 ", "unsigned char", REPLACE_SUBSTRINGS}, - {"BOOLEAN ", "unsigned char", REPLACE_SUBSTRINGS}, - - /* Now do embedded typecasts */ - - {"UINT32", "unsigned int", REPLACE_SUBSTRINGS}, - {"UINT16", "unsigned short", REPLACE_SUBSTRINGS}, - {"UINT8", "unsigned char", REPLACE_SUBSTRINGS}, - {"BOOLEAN", "unsigned char", REPLACE_SUBSTRINGS}, - - {"INT32 ", "int ", REPLACE_SUBSTRINGS}, - {"INT32", "int", REPLACE_SUBSTRINGS}, - {"INT16", "short", REPLACE_SUBSTRINGS}, - {"INT8", "char", REPLACE_SUBSTRINGS}, - - /* Put back anything we broke (such as anything with _INT32_ in it) */ - - {"_int_", "_INT32_", REPLACE_SUBSTRINGS}, - {"_unsigned int_", "_UINT32_", REPLACE_SUBSTRINGS}, - {NULL, NULL, 0} -}; - - -/****************************************************************************** - * - * Linux-specific translation tables - * - ******************************************************************************/ - -char LinuxHeader[] = -"/*\n" -" * Copyright (C) 2000 - 2009, Intel Corp.\n" -" * All rights reserved.\n" -" *\n" -" * Redistribution and use in source and binary forms, with or without\n" -" * modification, are permitted provided that the following conditions\n" -" * are met:\n" -" * 1. Redistributions of source code must retain the above copyright\n" -" * notice, this list of conditions, and the following disclaimer,\n" -" * without modification.\n" -" * 2. Redistributions in binary form must reproduce at minimum a disclaimer\n" -" * substantially similar to the \"NO WARRANTY\" disclaimer below\n" -" * (\"Disclaimer\") and any redistribution must be conditioned upon\n" -" * including a substantially similar Disclaimer requirement for further\n" -" * binary redistribution.\n" -" * 3. Neither the names of the above-listed copyright holders nor the names\n" -" * of any contributors may be used to endorse or promote products derived\n" -" * from this software without specific prior written permission.\n" -" *\n" -" * Alternatively, this software may be distributed under the terms of the\n" -" * GNU General Public License (\"GPL\") version 2 as published by the Free\n" -" * Software Foundation.\n" -" *\n" -" * NO WARRANTY\n" -" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n" -" * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n" -" * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR\n" -" * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n" -" * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n" -" * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\n" -" * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n" -" * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n" -" * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING\n" -" * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n" -" * POSSIBILITY OF SUCH DAMAGES.\n" -" */\n"; - -ACPI_STRING_TABLE LinuxDataTypes[] = { - -/* - * Extra space is added after the type so there is room to add "struct", "union", - * etc. when the existing struct typedefs are eliminated. - */ - - /* Declarations first - ACPI types and standard C types */ - - {"INT64 ", "s64 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"UINT64 ", "u64 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"UINT32 ", "u32 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"INT32 ", "s32 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"UINT16 ", "u16 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"INT16 ", "s16 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"UINT8 ", "u8 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"BOOLEAN ", "u8 ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"char ", "char ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"void ", "void ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"char * ", "char * ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"void * ", "void * ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"int ", "int ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"FILE ", "FILE ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - {"size_t ", "size_t ", REPLACE_WHOLE_WORD | EXTRA_INDENT_C}, - - /* Now do embedded typecasts */ - - {"UINT64", "u64", REPLACE_WHOLE_WORD}, - {"UINT32", "u32", REPLACE_WHOLE_WORD}, - {"UINT16", "u16", REPLACE_WHOLE_WORD}, - {"UINT8", "u8", REPLACE_WHOLE_WORD}, - {"BOOLEAN", "u8", REPLACE_WHOLE_WORD}, - - {"INT64 ", "s64 ", REPLACE_WHOLE_WORD}, - {"INT64", "s64", REPLACE_WHOLE_WORD}, - {"INT32 ", "s32 ", REPLACE_WHOLE_WORD}, - {"INT32", "s32", REPLACE_WHOLE_WORD}, - {"INT16 ", "s16 ", REPLACE_WHOLE_WORD}, - {"INT8 ", "s8 ", REPLACE_WHOLE_WORD}, - {"INT16", "s16", REPLACE_WHOLE_WORD}, - {"INT8", "s8", REPLACE_WHOLE_WORD}, - - {NULL, NULL, 0}, -}; - -ACPI_TYPED_IDENTIFIER_TABLE AcpiIdentifiers[] = { - - {"ACPI_ADR_SPACE_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_ADR_SPACE_SETUP", SRC_TYPE_SIMPLE}, - {"ACPI_ADR_SPACE_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_AML_OPERANDS", SRC_TYPE_UNION}, - {"ACPI_BIT_REGISTER_INFO", SRC_TYPE_STRUCT}, - {"ACPI_BUFFER", SRC_TYPE_STRUCT}, - {"ACPI_BUS_ATTRIBUTE", SRC_TYPE_STRUCT}, - {"ACPI_CACHE_T", SRC_TYPE_SIMPLE}, - {"ACPI_COMMON_FACS", SRC_TYPE_STRUCT}, - {"ACPI_COMMON_STATE", SRC_TYPE_STRUCT}, - {"ACPI_COMMON_DESCRIPTOR", SRC_TYPE_STRUCT}, - {"ACPI_COMPATIBLE_ID", SRC_TYPE_STRUCT}, - {"ACPI_COMPATIBLE_ID_LIST", SRC_TYPE_STRUCT}, - {"ACPI_CONTROL_STATE", SRC_TYPE_STRUCT}, - {"ACPI_CONVERSION_TABLE", SRC_TYPE_STRUCT}, - {"ACPI_CPU_FLAGS", SRC_TYPE_SIMPLE}, - {"ACPI_CREATE_FIELD_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DB_METHOD_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DEBUG_MEM_BLOCK", SRC_TYPE_STRUCT}, - {"ACPI_DEBUG_MEM_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_DEBUG_PRINT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DESCRIPTOR", SRC_TYPE_UNION}, - {"ACPI_DEVICE_ID", SRC_TYPE_STRUCT}, - {"ACPI_DEVICE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DEVICE_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DMTABLE_DATA", SRC_TYPE_STRUCT}, - {"ACPI_DMTABLE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_DMTABLE_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_EVALUATE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_EVENT_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_EVENT_STATUS", SRC_TYPE_SIMPLE}, - {"ACPI_EVENT_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_EXCEPTION_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_EXDUMP_INFO", SRC_TYPE_STRUCT}, - {"ACPI_EXECUTE_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_EXTERNAL_LIST", SRC_TYPE_STRUCT}, - {"ACPI_FADT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_FADT_PM_INFO", SRC_TYPE_STRUCT}, - {"ACPI_FIELD_INFO", SRC_TYPE_STRUCT}, - {"ACPI_FIND_CONTEXT", SRC_TYPE_STRUCT}, - {"ACPI_FIXED_EVENT_HANDLER", SRC_TYPE_STRUCT}, - {"ACPI_FIXED_EVENT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GENERIC_ADDRESS", SRC_TYPE_STRUCT}, - {"ACPI_GENERIC_STATE", SRC_TYPE_UNION}, - {"ACPI_GET_DEVICES_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_BLOCK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_GPE_DEVICE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_EVENT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_GPE_INDEX_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_REGISTER_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_GPE_XRUPT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_HANDLE", SRC_TYPE_SIMPLE}, - {"ACPI_HANDLER_INFO", SRC_TYPE_STRUCT}, - {"ACPI_INIT_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_IDENTIFIER_TABLE", SRC_TYPE_STRUCT}, - {"ACPI_INIT_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_INTEGER", SRC_TYPE_SIMPLE}, - {"ACPI_INTEGER_OVERLAY", SRC_TYPE_STRUCT}, - {"ACPI_INTEGRITY_INFO", SRC_TYPE_STRUCT}, - {"ACPI_INTERFACE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_INTERNAL_RSDT", SRC_TYPE_STRUCT}, - {"ACPI_INTERPRETER_MODE", SRC_TYPE_SIMPLE}, - {"ACPI_IO_ADDRESS", SRC_TYPE_SIMPLE}, - {"ACPI_IO_ATTRIBUTE", SRC_TYPE_STRUCT}, - {"ACPI_MEM_SPACE_CONTEXT", SRC_TYPE_STRUCT}, - {"ACPI_MEMORY_ATTRIBUTE", SRC_TYPE_STRUCT}, - {"ACPI_MEMORY_LIST", SRC_TYPE_STRUCT}, - {"ACPI_MUTEX", SRC_TYPE_SIMPLE}, - {"ACPI_MUTEX_HANDLE", SRC_TYPE_SIMPLE}, - {"ACPI_MUTEX_INFO", SRC_TYPE_STRUCT}, - {"ACPI_NAME", SRC_TYPE_SIMPLE}, - {"ACPI_NAME_INFO", SRC_TYPE_STRUCT}, - {"ACPI_NAME_UNION", SRC_TYPE_UNION}, - {"ACPI_NAMESPACE_NODE", SRC_TYPE_STRUCT}, - {"ACPI_NAMESTRING_INFO", SRC_TYPE_STRUCT}, - {"ACPI_NATIVE_INT", SRC_TYPE_SIMPLE}, - {"ACPI_NATIVE_UINT", SRC_TYPE_SIMPLE}, - {"ACPI_NOTIFY_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_NOTIFY_INFO", SRC_TYPE_STRUCT}, - {"ACPI_NS_SEARCH_DATA", SRC_TYPE_STRUCT}, - {"ACPI_OBJ_INFO_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT", SRC_TYPE_UNION}, - {"ACPI_OBJECT_ADDR_HANDLER", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_BANK_FIELD", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_BUFFER", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_BUFFER_FIELD", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_CACHE_LIST", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_COMMON", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_DATA", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_DEVICE", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_EVENT", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_EXTRA", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_FIELD_COMMON", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_OBJECT_INDEX_FIELD", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_INTEGER", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_LIST", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_METHOD", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_MUTEX", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_NOTIFY_COMMON", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_NOTIFY_HANDLER", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_PACKAGE", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_POWER_RESOURCE", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_PROCESSOR", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_REFERENCE", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_REGION", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_REGION_FIELD", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_STRING", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_THERMAL_ZONE", SRC_TYPE_STRUCT}, - {"ACPI_OBJECT_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_OBJECT_TYPE8", SRC_TYPE_SIMPLE}, - {"ACPI_OP_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_OPCODE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_OPERAND_OBJECT", SRC_TYPE_UNION}, - {"ACPI_OSD_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_OSD_EXEC_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_OWNER_ID", SRC_TYPE_SIMPLE}, - {"ACPI_PACKAGE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_PACKAGE_INFO2", SRC_TYPE_STRUCT}, - {"ACPI_PACKAGE_INFO3", SRC_TYPE_STRUCT}, - {"ACPI_PARSE_DOWNWARDS", SRC_TYPE_SIMPLE}, - {"ACPI_PARSE_OBJ_ASL", SRC_TYPE_STRUCT}, - {"ACPI_PARSE_OBJ_COMMON", SRC_TYPE_STRUCT}, - {"ACPI_PARSE_OBJ_NAMED", SRC_TYPE_STRUCT}, - {"ACPI_PARSE_OBJECT", SRC_TYPE_UNION}, - {"ACPI_PARSE_STATE", SRC_TYPE_STRUCT}, - {"ACPI_PARSE_UPWARDS", SRC_TYPE_SIMPLE}, - {"ACPI_PARSE_VALUE", SRC_TYPE_UNION}, - {"ACPI_PCI_ID", SRC_TYPE_STRUCT}, - {"ACPI_PCI_ROUTING_TABLE", SRC_TYPE_STRUCT}, - {"ACPI_PHYSICAL_ADDRESS", SRC_TYPE_SIMPLE}, - {"ACPI_PKG_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_PKG_INFO", SRC_TYPE_STRUCT}, - {"ACPI_PKG_STATE", SRC_TYPE_STRUCT}, - {"ACPI_POINTER", SRC_TYPE_STRUCT}, - {"ACPI_POINTERS", SRC_TYPE_UNION}, - {"ACPI_PORT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_PREDEFINED_INFO", SRC_TYPE_UNION}, - {"ACPI_PREDEFINED_NAMES", SRC_TYPE_STRUCT}, - {"ACPI_PSCOPE_STATE", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_ADDRESS", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_ADDRESS16", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_ADDRESS32", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_ADDRESS64", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_EXTENDED_ADDRESS64", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_ATTRIBUTE", SRC_TYPE_UNION}, - {"ACPI_RESOURCE_DATA", SRC_TYPE_UNION}, - {"ACPI_RESOURCE_DMA", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_END_TAG", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_EXTENDED_IRQ", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_FIXED_IO", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_FIXED_MEMORY32", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_GENERIC_REGISTER", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_IO", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_IRQ", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_MEMORY24", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_MEMORY32", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_SOURCE", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_START_DEPENDENT", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_TAG", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_RESOURCE_VENDOR", SRC_TYPE_STRUCT}, - {"ACPI_RESOURCE_VENDOR_TYPED", SRC_TYPE_STRUCT}, - {"ACPI_RESULT_VALUES", SRC_TYPE_STRUCT}, - {"ACPI_ROUND_UP_TO_32_BIT", SRC_TYPE_SIMPLE}, - {"ACPI_RSCONVERT_INFO", SRC_TYPE_STRUCT}, - {"ACPI_RSDUMP_INFO", SRC_TYPE_STRUCT}, - {"ACPI_RW_LOCK", SRC_TYPE_STRUCT}, - {"ACPI_SCOPE_STATE", SRC_TYPE_STRUCT}, - {"ACPI_SEMAPHORE", SRC_TYPE_SIMPLE}, - {"ACPI_SIGNAL_FATAL_INFO", SRC_TYPE_STRUCT}, - {"ACPI_SIZE", SRC_TYPE_SIMPLE}, - {"ACPI_SPINLOCK", SRC_TYPE_SIMPLE}, - {"ACPI_STATISTICS", SRC_TYPE_STRUCT}, - {"ACPI_STATUS", SRC_TYPE_SIMPLE}, - {"ACPI_STRING", SRC_TYPE_SIMPLE}, - {"ACPI_STRING_TABLE", SRC_TYPE_STRUCT}, - {"ACPI_SUBTABLE_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_SYSTEM_INFO", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_DESC", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_HANDLER", SRC_TYPE_SIMPLE}, - {"ACPI_TABLE_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_INFO", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_LIST", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SUPPORT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_TYPE", SRC_TYPE_SIMPLE}, - {"ACPI_THREAD_ID", SRC_TYPE_SIMPLE}, - {"ACPI_THREAD_STATE", SRC_TYPE_STRUCT}, - {"ACPI_TYPED_IDENTIFIER_TABLE", SRC_TYPE_STRUCT}, - {"ACPI_UINTPTR_T", SRC_TYPE_SIMPLE}, - {"ACPI_UPDATE_STATE", SRC_TYPE_STRUCT}, - {"ACPI_UUID", SRC_TYPE_STRUCT}, - {"ACPI_VENDOR_UUID", SRC_TYPE_STRUCT}, - {"ACPI_VENDOR_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_WALK_AML_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_WALK_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_WALK_RESOURCE_CALLBACK", SRC_TYPE_SIMPLE}, - {"ACPI_WALK_INFO", SRC_TYPE_STRUCT}, - {"ACPI_WALK_STATE", SRC_TYPE_STRUCT}, - {"ACPI_WHEA_HEADER", SRC_TYPE_STRUCT}, - - {"ACPI_RS_LENGTH", SRC_TYPE_SIMPLE}, - {"ACPI_RSDESC_SIZE", SRC_TYPE_SIMPLE}, - - {"AML_RESOURCE", SRC_TYPE_UNION}, - {"AML_RESOURCE_ADDRESS", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_ADDRESS16", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_ADDRESS32", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_ADDRESS64", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_DMA", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_END_DEPENDENT", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_END_TAG", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_EXTENDED_ADDRESS64", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_EXTENDED_IRQ", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_FIXED_IO", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_FIXED_MEMORY32", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_GENERIC_REGISTER", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_IO", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_IRQ", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_IRQ_NOFLAGS", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_LARGE_HEADER", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_MEMORY24", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_MEMORY32", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_SMALL_HEADER", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_START_DEPENDENT", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_START_DEPENDENT_NOPRIO", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_VENDOR_LARGE", SRC_TYPE_STRUCT}, - {"AML_RESOURCE_VENDOR_SMALL", SRC_TYPE_STRUCT}, - - {"APIC_HEADER", SRC_TYPE_STRUCT}, - {"ARGUMENT_INFO", SRC_TYPE_STRUCT}, - {"AE_DEBUG_REGIONS", SRC_TYPE_STRUCT}, - {"AE_REGION", SRC_TYPE_STRUCT}, - {"ASL_ANALYSIS_WALK_INFO", SRC_TYPE_STRUCT}, - {"ASL_ERROR_MSG", SRC_TYPE_STRUCT}, - {"ASL_EVENT_INFO", SRC_TYPE_STRUCT}, - {"ASL_FILE_INFO", SRC_TYPE_STRUCT}, - {"ASL_FILE_STATUS", SRC_TYPE_STRUCT}, - {"ASL_LISTING_NODE", SRC_TYPE_STRUCT}, - {"ASL_MAPPING_ENTRY", SRC_TYPE_STRUCT}, - {"ASL_METHOD_INFO", SRC_TYPE_STRUCT}, - {"ASL_RESERVED_INFO", SRC_TYPE_STRUCT}, - {"ASL_RESOURCE_NODE", SRC_TYPE_STRUCT}, - {"ASL_WALK_CALLBACK", SRC_TYPE_SIMPLE}, - {"COMMAND_INFO", SRC_TYPE_STRUCT}, - {"UINT32_STRUCT", SRC_TYPE_STRUCT}, - {"UINT64_OVERLAY", SRC_TYPE_UNION}, - {"UINT64_STRUCT", SRC_TYPE_STRUCT}, - - /* - * Acpi table definition names. - */ - {"ACPI_TABLE_ASF", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_BERT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_BOOT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_CPEP", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_DBGP", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_DMAR", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_ECDT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_EINJ", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_ERST", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_FACS", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_FADT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_HEST", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_HPET", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_IBFT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_MADT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_MCFG", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_RSDP", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_RSDT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SBST", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SLIT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SPCR", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SPMI", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_SRAT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_TCPA", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_UEFI", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_WDAT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_WDRT", SRC_TYPE_STRUCT}, - {"ACPI_TABLE_XSDT", SRC_TYPE_STRUCT}, - - {"ACPI_ASF_ADDRESS", SRC_TYPE_STRUCT}, - {"ACPI_ASF_ALERT", SRC_TYPE_STRUCT}, - {"ACPI_ASF_ALERT_DATA", SRC_TYPE_STRUCT}, - {"ACPI_ASF_CONTROL_DATA", SRC_TYPE_STRUCT}, - {"ACPI_ASF_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_ASF_INFO", SRC_TYPE_STRUCT}, - {"ACPI_ASF_REMOTE", SRC_TYPE_STRUCT}, - {"ACPI_ASF_RMCP", SRC_TYPE_STRUCT}, - {"ACPI_BERT_REGION", SRC_TYPE_STRUCT}, - {"ACPI_CPEP_POLLING", SRC_TYPE_STRUCT}, - {"ACPI_DMAR_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_DMAR_DEVICE_SCOPE", SRC_TYPE_STRUCT}, - {"ACPI_DMAR_HARDWARE_UNIT", SRC_TYPE_STRUCT}, - {"ACPI_DMAR_RESERVED_MEMORY", SRC_TYPE_STRUCT}, - {"ACPI_EINJ_ENTRY", SRC_TYPE_STRUCT}, - {"ACPI_ERST_ENTRY", SRC_TYPE_STRUCT}, - {"ACPI_HEST_AER_COMMON", SRC_TYPE_STRUCT}, - {"ACPI_HEST_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_HEST_NOTIFY", SRC_TYPE_STRUCT}, - {"ACPI_IBFT_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_IBFT_CONTROL", SRC_TYPE_STRUCT}, - {"ACPI_IBFT_INITIATOR", SRC_TYPE_STRUCT}, - {"ACPI_IBFT_NIC", SRC_TYPE_STRUCT}, - {"ACPI_IBFT_TARGET", SRC_TYPE_STRUCT}, - {"ACPI_MADT_ADDRESS_OVERRIDE", SRC_TYPE_STRUCT}, - {"ACPI_MADT_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_MADT_IO_APIC", SRC_TYPE_STRUCT}, - {"ACPI_MADT_IO_SAPIC", SRC_TYPE_STRUCT}, - {"ACPI_MADT_LOCAL_APIC_NMI", SRC_TYPE_STRUCT}, - {"ACPI_MADT_LOCAL_SAPIC", SRC_TYPE_STRUCT}, - {"ACPI_MADT_NMI_SOURCE", SRC_TYPE_STRUCT}, - {"ACPI_MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT}, - {"ACPI_MADT_XRUPT_OVERRIDE", SRC_TYPE_STRUCT}, - {"ACPI_MADT_XRUPT_SOURCE", SRC_TYPE_STRUCT}, - {"ACPI_MADT_LOCAL_X2APIC", SRC_TYPE_STRUCT}, - {"ACPI_MADT_LOCAL_X2APIC_NMI", SRC_TYPE_STRUCT}, - {"ACPI_MCFG_ALLOCATION", SRC_TYPE_STRUCT}, - {"ACPI_SRAT_CPU_AFFINITY", SRC_TYPE_STRUCT}, - {"ACPI_SRAT_HEADER", SRC_TYPE_STRUCT}, - {"ACPI_SRAT_MEM_AFFINITY", SRC_TYPE_STRUCT}, - {"ACPI_SRAT_X2APIC_CPU_AFFINITY", SRC_TYPE_STRUCT}, - {"ACPI_WDAT_ENTRY", SRC_TYPE_STRUCT}, - - - /* Legacy names, should be removed */ - - {"EC_BOOT_RESOURCES", SRC_TYPE_STRUCT}, - {"HPET_TABLE", SRC_TYPE_STRUCT}, - {"MADT_ADDRESS_OVERRIDE", SRC_TYPE_STRUCT}, - {"MADT_INTERRUPT_OVERRIDE", SRC_TYPE_STRUCT}, - {"MADT_INTERRUPT_SOURCE", SRC_TYPE_STRUCT}, - {"MADT_IO_APIC", SRC_TYPE_STRUCT}, - {"MADT_IO_SAPIC", SRC_TYPE_STRUCT}, - {"MADT_LOCAL_APIC_NMI", SRC_TYPE_STRUCT}, - {"MADT_LOCAL_SAPIC", SRC_TYPE_STRUCT}, - {"MADT_NMI_SOURCE", SRC_TYPE_STRUCT}, - {"MADT_PROCESSOR_APIC", SRC_TYPE_STRUCT}, - {"MEMORY_AFFINITY", SRC_TYPE_STRUCT}, - {"MULTIPLE_APIC_TABLE", SRC_TYPE_STRUCT}, - {"SMART_BATTERY_TABLE", SRC_TYPE_STRUCT}, - {"STATIC_RESOURCE_ALLOC", SRC_TYPE_STRUCT}, - {"SYSTEM_RESOURCE_AFFINITY", SRC_TYPE_STRUCT}, - {"SYSTEM_LOCALITY_INFO", SRC_TYPE_STRUCT}, - {"FACS_DESCRIPTOR", SRC_TYPE_STRUCT}, - {"FADT_DESCRIPTOR_REV1", SRC_TYPE_STRUCT}, - {"FADT_DESCRIPTOR", SRC_TYPE_STRUCT}, - {"FADT_DESCRIPTOR_REV2_MINUS", SRC_TYPE_STRUCT}, - {"RSDP_DESCRIPTOR", SRC_TYPE_STRUCT}, - {"RSDT_DESCRIPTOR", SRC_TYPE_STRUCT}, - {"XSDT_DESCRIPTOR", SRC_TYPE_STRUCT}, - {NULL, 0} -}; - - -ACPI_IDENTIFIER_TABLE LinuxAddStruct[] = { - {"acpi_namespace_node"}, - {"acpi_parse_object"}, - {"acpi_table_desc"}, - {"acpi_walk_state"}, - {NULL} -}; - - -ACPI_IDENTIFIER_TABLE LinuxEliminateMacros[] = { - - {"ACPI_GET_ADDRESS"}, - {"ACPI_VALID_ADDRESS"}, - {NULL} -}; - - -ACPI_IDENTIFIER_TABLE LinuxEliminateLines_C[] = { - - {"#define __"}, - {NULL} -}; - - -ACPI_IDENTIFIER_TABLE LinuxEliminateLines_H[] = { - - {NULL} -}; - - -ACPI_IDENTIFIER_TABLE LinuxConditionalIdentifiers[] = { - -/* {"ACPI_USE_STANDARD_HEADERS"}, */ - {"WIN32"}, - {"_MSC_VER"}, - {NULL} -}; - -ACPI_CONVERSION_TABLE LinuxConversionTable = { - - LinuxHeader, - FLG_NO_CARRIAGE_RETURNS | FLG_LOWERCASE_DIRNAMES, - - AcpiIdentifiers, - - /* C source files */ - - LinuxDataTypes, - LinuxEliminateLines_C, - NULL, - LinuxEliminateMacros, - AcpiIdentifiers, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_CHECK_BRACES | CVT_TRIM_LINES | CVT_BRACES_ON_SAME_LINE | - CVT_MIXED_CASE_TO_UNDERSCORES | CVT_LOWER_CASE_IDENTIFIERS | - CVT_REMOVE_DEBUG_MACROS | CVT_TRIM_WHITESPACE | - CVT_REMOVE_EMPTY_BLOCKS | CVT_SPACES_TO_TABS8), - - /* C header files */ - - LinuxDataTypes, - LinuxEliminateLines_H, - LinuxConditionalIdentifiers, - NULL, - AcpiIdentifiers, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_TRIM_LINES | CVT_MIXED_CASE_TO_UNDERSCORES | - CVT_LOWER_CASE_IDENTIFIERS | CVT_TRIM_WHITESPACE | - CVT_REMOVE_EMPTY_BLOCKS| CVT_REDUCE_TYPEDEFS | CVT_SPACES_TO_TABS8), -}; - - -/****************************************************************************** - * - * Code cleanup translation tables - * - ******************************************************************************/ - - -ACPI_CONVERSION_TABLE CleanupConversionTable = { - - NULL, - FLG_DEFAULT_FLAGS, - NULL, - /* C source files */ - - NULL, - NULL, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_CHECK_BRACES | CVT_TRIM_LINES | CVT_TRIM_WHITESPACE), - - /* C header files */ - - NULL, - NULL, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_TRIM_LINES | CVT_TRIM_WHITESPACE), -}; - - -ACPI_CONVERSION_TABLE StatsConversionTable = { - - NULL, - FLG_NO_FILE_OUTPUT, - NULL, - - /* C source files */ - - NULL, - NULL, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_COUNT_SHORTMULTILINE_COMMENTS), - - /* C header files */ - - NULL, - NULL, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_COUNT_SHORTMULTILINE_COMMENTS), -}; - - -/****************************************************************************** - * - * Customizable translation tables - * - ******************************************************************************/ - -ACPI_STRING_TABLE CustomReplacements[] = { - - - {"(c) 1999 - 2009", "(c) 1999 - 2009", REPLACE_WHOLE_WORD}, - -#if 0 - {"#include \"acpi.h\"", "#include \"acpi.h\"\n#include \"accommon.h\"", REPLACE_SUBSTRINGS}, - {"(c) 1999 - 2009", "(c) 1999 - 2009", REPLACE_WHOLE_WORD}, - {"AcpiTbSumTable", "AcpiTbSumTable", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_BOOT", "ACPI_SIG_BOOT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_DBGP", "ACPI_SIG_DBGP", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_DSDT", "ACPI_SIG_DSDT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_ECDT", "ACPI_SIG_ECDT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_FACS", "ACPI_SIG_FACS", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_FADT", "ACPI_SIG_FADT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_HPET", "ACPI_SIG_HPET", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_MADT", "ACPI_SIG_MADT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_MCFG", "ACPI_SIG_MCFG", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_PSDT", "ACPI_SIG_PSDT", REPLACE_WHOLE_WORD}, - {"ACPI_NAME_RSDP", "ACPI_NAME_RSDP", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_RSDP", "ACPI_SIG_RSDP", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_RSDT", "ACPI_SIG_RSDT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SBST", "ACPI_SIG_SBST", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SLIT", "ACPI_SIG_SLIT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SPCR", "ACPI_SIG_SPCR", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SPIC", "ACPI_SIG_SPIC", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SPMI", "ACPI_SIG_SPMI", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SRAT", "ACPI_SIG_SRAT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_SSDT", "ACPI_SIG_SSDT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_TCPA", "ACPI_SIG_TCPA", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_WDRT", "ACPI_SIG_WDRT", REPLACE_WHOLE_WORD}, - {"ACPI_SIG_XSDT", "ACPI_SIG_XSDT", REPLACE_WHOLE_WORD}, - - {"ACPI_ALLOCATE_ZEROED", "ACPI_ALLOCATE_ZEROED", REPLACE_WHOLE_WORD}, - {"ACPI_ALLOCATE", "ACPI_ALLOCATE", REPLACE_WHOLE_WORD}, - {"ACPI_FREE", "ACPI_FREE", REPLACE_WHOLE_WORD}, - - "ACPI_NATIVE_UINT", "ACPI_NATIVE_UINT", REPLACE_WHOLE_WORD, - "ACPI_NATIVE_UINT *", "ACPI_NATIVE_UINT *", REPLACE_WHOLE_WORD, - "ACPI_NATIVE_UINT", "ACPI_NATIVE_UINT", REPLACE_WHOLE_WORD, - "ACPI_NATIVE_INT", "ACPI_NATIVE_INT", REPLACE_WHOLE_WORD, - "ACPI_NATIVE_INT *", "ACPI_NATIVE_INT *", REPLACE_WHOLE_WORD, - "ACPI_NATIVE_INT", "ACPI_NATIVE_INT", REPLACE_WHOLE_WORD, -#endif - - {NULL, NULL, 0} -}; - - -ACPI_CONVERSION_TABLE CustomConversionTable = { - - NULL, - FLG_DEFAULT_FLAGS, - NULL, - - /* C source files */ - - CustomReplacements, - LinuxEliminateLines_H, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_TRIM_LINES | CVT_TRIM_WHITESPACE), - - /* C header files */ - - CustomReplacements, - LinuxEliminateLines_H, - NULL, - NULL, - NULL, - (CVT_COUNT_TABS | CVT_COUNT_NON_ANSI_COMMENTS | CVT_COUNT_LINES | - CVT_TRIM_LINES | CVT_TRIM_WHITESPACE), -}; - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/asutils.c b/sys/contrib/dev/acpica/tools/acpisrc/asutils.c deleted file mode 100644 index 7b59178a5a1d..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/asutils.c +++ /dev/null @@ -1,306 +0,0 @@ - -/****************************************************************************** - * - * Module Name: asutils - common utilities - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include "acpisrc.h" - - -/****************************************************************************** - * - * FUNCTION: AsSkipUntilChar - * - * DESCRIPTION: Find the next instance of the input character - * - ******************************************************************************/ - -char * -AsSkipUntilChar ( - char *Buffer, - char Target) -{ - - while (*Buffer != Target) - { - if (!*Buffer) - { - return NULL; - } - - Buffer++; - } - - return (Buffer); -} - - -/****************************************************************************** - * - * FUNCTION: AsSkipPastChar - * - * DESCRIPTION: Find the next instance of the input character, return a buffer - * pointer to this character+1. - * - ******************************************************************************/ - -char * -AsSkipPastChar ( - char *Buffer, - char Target) -{ - - while (*Buffer != Target) - { - if (!*Buffer) - { - return NULL; - } - - Buffer++; - } - - Buffer++; - - return (Buffer); -} - - -/****************************************************************************** - * - * FUNCTION: AsReplaceData - * - * DESCRIPTION: This function inserts and removes data from the file buffer. - * if more data is inserted than is removed, the data in the buffer - * is moved to make room. If less data is inserted than is removed, - * the remaining data is moved to close the hole. - * - ******************************************************************************/ - -char * -AsReplaceData ( - char *Buffer, - UINT32 LengthToRemove, - char *BufferToAdd, - UINT32 LengthToAdd) -{ - UINT32 BufferLength; - - - /* - * Buffer is a string, so the length must include the terminating zero - */ - BufferLength = strlen (Buffer) + 1; - - if (LengthToRemove != LengthToAdd) - { - /* - * Move some of the existing data - * 1) If adding more bytes than removing, make room for the new data - * 2) if removing more bytes than adding, delete the extra space - */ - if (LengthToRemove > 0) - { - Gbl_MadeChanges = TRUE; - memmove ((Buffer + LengthToAdd), (Buffer + LengthToRemove), (BufferLength - LengthToRemove)); - } - } - - /* - * Now we can move in the new data - */ - if (LengthToAdd > 0) - { - Gbl_MadeChanges = TRUE; - memmove (Buffer, BufferToAdd, LengthToAdd); - } - - return (Buffer + LengthToAdd); -} - - -/****************************************************************************** - * - * FUNCTION: AsInsertData - * - * DESCRIPTION: This function inserts and removes data from the file buffer. - * if more data is inserted than is removed, the data in the buffer - * is moved to make room. If less data is inserted than is removed, - * the remaining data is moved to close the hole. - * - ******************************************************************************/ - -char * -AsInsertData ( - char *Buffer, - char *BufferToAdd, - UINT32 LengthToAdd) -{ - UINT32 BufferLength; - - - if (LengthToAdd > 0) - { - /* - * Buffer is a string, so the length must include the terminating zero - */ - BufferLength = strlen (Buffer) + 1; - - /* - * Move some of the existing data - * 1) If adding more bytes than removing, make room for the new data - * 2) if removing more bytes than adding, delete the extra space - */ - Gbl_MadeChanges = TRUE; - memmove ((Buffer + LengthToAdd), Buffer, BufferLength); - - /* - * Now we can move in the new data - */ - memmove (Buffer, BufferToAdd, LengthToAdd); - } - - return (Buffer + LengthToAdd); -} - - -/****************************************************************************** - * - * FUNCTION: AsRemoveData - * - * DESCRIPTION: This function inserts and removes data from the file buffer. - * if more data is inserted than is removed, the data in the buffer - * is moved to make room. If less data is inserted than is removed, - * the remaining data is moved to close the hole. - * - ******************************************************************************/ - -char * -AsRemoveData ( - char *StartPointer, - char *EndPointer) -{ - UINT32 BufferLength; - - - /* - * Buffer is a string, so the length must include the terminating zero - */ - BufferLength = strlen (EndPointer) + 1; - - Gbl_MadeChanges = TRUE; - memmove (StartPointer, EndPointer, BufferLength); - - return (StartPointer); -} - diff --git a/sys/contrib/dev/acpica/tools/acpisrc/osunixdir.c b/sys/contrib/dev/acpica/tools/acpisrc/osunixdir.c deleted file mode 100644 index d9c55a1ef84a..000000000000 --- a/sys/contrib/dev/acpica/tools/acpisrc/osunixdir.c +++ /dev/null @@ -1,306 +0,0 @@ - -/****************************************************************************** - * - * Module Name: osunixdir - Unix directory access interfaces - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - - -#include -#include -#include -#include -#include -#include -#include - -#include "acpisrc.h" - -typedef struct ExternalFindInfo -{ - char *DirPathname; - DIR *DirPtr; - char temp_buffer[128]; - char *WildcardSpec; - char RequestedFileType; - -} EXTERNAL_FIND_INFO; - - -/******************************************************************************* - * - * FUNCTION: AcpiOsOpenDirectory - * - * PARAMETERS: DirPathname - Full pathname to the directory - * WildcardSpec - string of the form "*.c", etc. - * - * RETURN: A directory "handle" to be used in subsequent search operations. - * NULL returned on failure. - * - * DESCRIPTION: Open a directory in preparation for a wildcard search - * - ******************************************************************************/ - -void * -AcpiOsOpenDirectory ( - char *DirPathname, - char *WildcardSpec, - char RequestedFileType) -{ - EXTERNAL_FIND_INFO *ExternalInfo; - DIR *dir; - - - /* Allocate the info struct that will be returned to the caller */ - - ExternalInfo = calloc (sizeof (EXTERNAL_FIND_INFO), 1); - if (!ExternalInfo) - { - return (NULL); - } - - /* Get the directory stream */ - - dir = opendir (DirPathname); - if (!dir) - { - free (ExternalInfo); - return (NULL); - } - - /* Save the info in the return structure */ - - ExternalInfo->WildcardSpec = WildcardSpec; - ExternalInfo->RequestedFileType = RequestedFileType; - ExternalInfo->DirPathname = DirPathname; - ExternalInfo->DirPtr = dir; - return (ExternalInfo); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiOsGetNextFilename - * - * PARAMETERS: DirHandle - Created via AcpiOsOpenDirectory - * - * RETURN: Next filename matched. NULL if no more matches. - * - * DESCRIPTION: Get the next file in the directory that matches the wildcard - * specification. - * - ******************************************************************************/ - -char * -AcpiOsGetNextFilename ( - void *DirHandle) -{ - EXTERNAL_FIND_INFO *ExternalInfo = DirHandle; - struct dirent *dir_entry; - char *temp_str; - int str_len; - struct stat temp_stat; - int err; - - - while ((dir_entry = readdir (ExternalInfo->DirPtr))) - { - if (!fnmatch (ExternalInfo->WildcardSpec, dir_entry->d_name, 0)) - { - if (dir_entry->d_name[0] == '.') - continue; - - str_len = strlen (dir_entry->d_name) + - strlen (ExternalInfo->DirPathname) + 2; - - temp_str = calloc (str_len, 1); - if (!temp_str) - { - printf ("Could not allocate buffer for temporary string\n"); - return NULL; - } - - strcpy (temp_str, ExternalInfo->DirPathname); - strcat (temp_str, "/"); - strcat (temp_str, dir_entry->d_name); - - err = stat (temp_str, &temp_stat); - free (temp_str); - if (err == -1) - { - printf ("stat() error - should not happen\n"); - return NULL; - } - - if ((S_ISDIR (temp_stat.st_mode) - && (ExternalInfo->RequestedFileType == REQUEST_DIR_ONLY)) - || - ((!S_ISDIR (temp_stat.st_mode) - && ExternalInfo->RequestedFileType == REQUEST_FILE_ONLY))) - { - /* copy to a temp buffer because dir_entry struct is on the stack */ - - strcpy (ExternalInfo->temp_buffer, dir_entry->d_name); - return (ExternalInfo->temp_buffer); - } - } - } - - return NULL; -} - - -/******************************************************************************* - * - * FUNCTION: AcpiOsCloseDirectory - * - * PARAMETERS: DirHandle - Created via AcpiOsOpenDirectory - * - * RETURN: None. - * - * DESCRIPTION: Close the open directory and cleanup. - * - ******************************************************************************/ - -void -AcpiOsCloseDirectory ( - void *DirHandle) -{ - EXTERNAL_FIND_INFO *ExternalInfo = DirHandle; - - - /* Close the directory and free allocations */ - - closedir (ExternalInfo->DirPtr); - free (DirHandle); -} - -/* Other functions acpisrc uses but that aren't standard on Unix */ - -/* lowercase a string */ -char* -strlwr ( - char *str) -{ - int length; - int i; - - - length = strlen(str); - - for (i = 0; i < length; i++) - { - str[i] = tolower(str[i]); - } - - return (str); -} diff --git a/sys/contrib/dev/acpica/tools/acpixtract/Makefile b/sys/contrib/dev/acpica/tools/acpixtract/Makefile deleted file mode 100644 index be7a73585350..000000000000 --- a/sys/contrib/dev/acpica/tools/acpixtract/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - - -PROG= acpixtract -SRCS= acpixtract.c - -CFLAGS+= -Wall -O2 -D_LINUX -DACPI_APPLICATION -Wstrict-prototypes -I../../include - - -acpixtract : $(patsubst %.c,%.o, $(SRCS)) - $(CC) $(LDFLAGS) $(patsubst %.c,%.o, $(SRCS)) -o $(PROG) - -CLEANFILES= $(PROG) - -clean : - rm -f $(CLEANFILES) $(patsubst %.c,%.o, $(SRCS)) - diff --git a/sys/contrib/dev/acpica/tools/acpixtract/acpixtract.c b/sys/contrib/dev/acpica/tools/acpixtract/acpixtract.c deleted file mode 100644 index 324db12c92fa..000000000000 --- a/sys/contrib/dev/acpica/tools/acpixtract/acpixtract.c +++ /dev/null @@ -1,788 +0,0 @@ - -/****************************************************************************** - * - * Module Name: acpixtract - convert ascii ACPI tables to binary - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - -#include -#include -#include -#include - -#define VERSION 0x20060324 - -#define FIND_HEADER 0 -#define EXTRACT_DATA 1 -#define BUFFER_SIZE 256 - -char Filename[16]; -unsigned char Data[16]; - -/* Local prototypes */ - -void -CheckAscii ( - unsigned char *Name, - int Count); - -void -NormalizeSignature ( - char *Signature); - -unsigned int -GetNextInstance ( - char *InputPathname, - char *Signature); - -int -ExtractTables ( - char *InputPathname, - char *Signature, - unsigned int MinimumInstances); - -size_t -GetTableHeader ( - FILE *InputFile, - unsigned char *OutputData); - -unsigned int -CountTableInstances ( - char *InputPathname, - char *Signature); - -int -ListTables ( - char *InputPathname); - -size_t -ConvertLine ( - char *InputLine, - unsigned char *OutputData); - -void -DisplayUsage ( - void); - - -struct TableInfo -{ - unsigned int Signature; - unsigned int Instances; - unsigned int NextInstance; - struct TableInfo *Next; -}; - -struct TableInfo *ListHead = NULL; - - -/****************************************************************************** - * - * FUNCTION: DisplayUsage - * - * DESCRIPTION: Usage message - * - ******************************************************************************/ - -void -DisplayUsage ( - void) -{ - - printf ("Usage: acpixtract [option] \n"); - printf ("\nExtract binary ACPI tables from text acpidump output\n"); - printf ("Default invocation extracts all DSDTs and SSDTs\n"); - printf ("Version %8.8X\n\n", VERSION); - printf ("Options:\n"); - printf (" -a Extract all tables, not just DSDT/SSDT\n"); - printf (" -l List table summaries, do not extract\n"); - printf (" -s Extract all tables named \n"); - printf ("\n"); -} - - -/******************************************************************************* - * - * FUNCTION: CheckAscii - * - * PARAMETERS: Name - Ascii string, at least as long as Count - * Count - Number of characters to check - * - * RETURN: None - * - * DESCRIPTION: Ensure that the requested number of characters are printable - * Ascii characters. Sets non-printable and null chars to . - * - ******************************************************************************/ - -void -CheckAscii ( - unsigned char *Name, - int Count) -{ - int i; - - - for (i = 0; i < Count; i++) - { - if (!Name[i] || !isprint (Name[i])) - { - Name[i] = ' '; - } - } -} - - -/******************************************************************************* - * - * FUNCTION: NormalizeSignature - * - * PARAMETERS: Name - Ascii string - * - * RETURN: None - * - * DESCRIPTION: Change "RSD PTR" to "RSDP" - * - ******************************************************************************/ - -void -NormalizeSignature ( - char *Signature) -{ - - if (!strncmp (Signature, "RSD ", 4)) - { - Signature[3] = 'P'; - } -} - - -/****************************************************************************** - * - * FUNCTION: ConvertLine - * - * DESCRIPTION: Convert one line of ascii text binary (up to 16 bytes) - * - ******************************************************************************/ - -size_t -ConvertLine ( - char *InputLine, - unsigned char *OutputData) -{ - char *End; - int BytesConverted; - int Converted[16]; - int i; - - - /* Terminate the input line at the end of the actual data (for sscanf) */ - - End = strstr (InputLine + 2, " "); - if (!End) - { - return 0; /* Don't understand the format */ - } - *End = 0; - - /* - * Convert one line of table data, of the form: - * : - * - * Example: - * 02C0: 5F 53 42 5F 4C 4E 4B 44 00 12 13 04 0C FF FF 08 _SB_LNKD........ - */ - BytesConverted = sscanf (InputLine, - "%*s %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x", - &Converted[0], &Converted[1], &Converted[2], &Converted[3], - &Converted[4], &Converted[5], &Converted[6], &Converted[7], - &Converted[8], &Converted[9], &Converted[10], &Converted[11], - &Converted[12], &Converted[13], &Converted[14], &Converted[15]); - - /* Pack converted data into a byte array */ - - for (i = 0; i < BytesConverted; i++) - { - OutputData[i] = (unsigned char) Converted[i]; - } - - return ((size_t) BytesConverted); -} - - -/****************************************************************************** - * - * FUNCTION: GetTableHeader - * - * DESCRIPTION: Extract and convert a table heaader - * - ******************************************************************************/ - -size_t -GetTableHeader ( - FILE *InputFile, - unsigned char *OutputData) -{ - size_t BytesConverted; - size_t TotalConverted = 0; - char Buffer[BUFFER_SIZE]; - int i; - - - /* Get the full 36 byte header, requires 3 lines */ - - for (i = 0; i < 3; i++) - { - if (!fgets (Buffer, BUFFER_SIZE, InputFile)) - { - return TotalConverted; - } - - BytesConverted = ConvertLine (Buffer, OutputData); - TotalConverted += BytesConverted; - OutputData += 16; - - if (BytesConverted != 16) - { - return TotalConverted; - } - } - - return TotalConverted; -} - - -/****************************************************************************** - * - * FUNCTION: CountTableInstances - * - * DESCRIPTION: Count the instances of table within the input file - * - ******************************************************************************/ - -unsigned int -CountTableInstances ( - char *InputPathname, - char *Signature) -{ - char Buffer[BUFFER_SIZE]; - FILE *InputFile; - unsigned int Instances = 0; - - - InputFile = fopen (InputPathname, "rt"); - if (!InputFile) - { - printf ("Could not open %s\n", InputPathname); - return 0; - } - - /* Count the number of instances of this signature */ - - while (fgets (Buffer, BUFFER_SIZE, InputFile)) - { - /* Ignore empty lines and lines that start with a space */ - - if ((Buffer[0] == ' ') || - (Buffer[0] == '\n')) - { - continue; - } - - NormalizeSignature (Buffer); - if (!strncmp (Buffer, Signature, 4)) - { - Instances++; - } - } - - fclose (InputFile); - return Instances; -} - - -/****************************************************************************** - * - * FUNCTION: GetNextInstance - * - * DESCRIPTION: - * - ******************************************************************************/ - -unsigned int -GetNextInstance ( - char *InputPathname, - char *Signature) -{ - struct TableInfo *Info; - - - Info = ListHead; - while (Info) - { - if (*(unsigned int *) Signature == Info->Signature) - { - break; - } - - Info = Info->Next; - } - - if (!Info) - { - Info = malloc (sizeof (struct TableInfo)); - - Info->Signature = *(unsigned int *) Signature; - Info->Instances = CountTableInstances (InputPathname, Signature); - Info->NextInstance = 1; - - Info->Next = ListHead; - ListHead = Info; - } - - if (Info->Instances > 1) - { - return (Info->NextInstance++); - } - - return (0); -} - - -/****************************************************************************** - * - * FUNCTION: ExtractTables - * - * DESCRIPTION: Convert text ACPI tables to binary - * - ******************************************************************************/ - -int -ExtractTables ( - char *InputPathname, - char *Signature, - unsigned int MinimumInstances) -{ - char Buffer[BUFFER_SIZE]; - FILE *InputFile; - FILE *OutputFile = NULL; - size_t BytesWritten; - size_t TotalBytesWritten = 0; - size_t BytesConverted; - unsigned int State = FIND_HEADER; - unsigned int FoundTable = 0; - unsigned int Instances = 0; - unsigned int ThisInstance; - char ThisSignature[4]; - - - /* Open input in text mode, output is in binary mode */ - - InputFile = fopen (InputPathname, "rt"); - if (!InputFile) - { - printf ("Could not open %s\n", InputPathname); - return -1; - } - - if (Signature) - { - /* Are there enough instances of the table to continue? */ - - NormalizeSignature (Signature); - - Instances = CountTableInstances (InputPathname, Signature); - if (Instances < MinimumInstances) - { - printf ("Table %s was not found in %s\n", Signature, InputPathname); - return -1; - } - - if (Instances == 0) - { - return 0; - } - } - - /* Convert all instances of the table to binary */ - - while (fgets (Buffer, BUFFER_SIZE, InputFile)) - { - switch (State) - { - case FIND_HEADER: - - /* Ignore empty lines and lines that start with a space */ - - if ((Buffer[0] == ' ') || - (Buffer[0] == '\n')) - { - continue; - } - - NormalizeSignature (Buffer); - strncpy (ThisSignature, Buffer, 4); - - if (Signature) - { - /* Ignore signatures that don't match */ - - if (strncmp (ThisSignature, Signature, 4)) - { - continue; - } - } - - /* Get the instance # for this signature */ - - ThisInstance = GetNextInstance (InputPathname, ThisSignature); - - /* Build an output filename and create/open the output file */ - - if (ThisInstance > 0) - { - sprintf (Filename, "%4.4s%u.dat", ThisSignature, ThisInstance); - } - else - { - sprintf (Filename, "%4.4s.dat", ThisSignature); - } - - OutputFile = fopen (Filename, "w+b"); - if (!OutputFile) - { - printf ("Could not open %s\n", Filename); - return -1; - } - - State = EXTRACT_DATA; - TotalBytesWritten = 0; - FoundTable = 1; - continue; - - case EXTRACT_DATA: - - /* Empty line or non-data line terminates the data */ - - if ((Buffer[0] == '\n') || - (Buffer[0] != ' ')) - { - fclose (OutputFile); - OutputFile = NULL; - State = FIND_HEADER; - - printf ("Acpi table [%4.4s] - % 6d bytes written to %s\n", - ThisSignature, TotalBytesWritten, Filename); - continue; - } - - /* Convert the ascii data (one line of text) to binary */ - - BytesConverted = ConvertLine (Buffer, Data); - - /* Write the binary data */ - - BytesWritten = fwrite (Data, 1, BytesConverted, OutputFile); - if (BytesWritten != BytesConverted) - { - printf ("Write error on %s\n", Filename); - fclose (OutputFile); - return -1; - } - - TotalBytesWritten += BytesConverted; - continue; - - default: - return -1; - } - } - - if (!FoundTable) - { - printf ("Table %s was not found in %s\n", Signature, InputPathname); - } - - if (OutputFile) - { - fclose (OutputFile); - if (State == EXTRACT_DATA) - { - /* Received an EOF while extracting data */ - - printf ("Acpi table [%4.4s] - % 6d bytes written to %s\n", - ThisSignature, TotalBytesWritten, Filename); - } - } - - fclose (InputFile); - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: ListTables - * - * DESCRIPTION: Display info for all ACPI tables found in input - * - ******************************************************************************/ - -int -ListTables ( - char *InputPathname) -{ - FILE *InputFile; - char Buffer[BUFFER_SIZE]; - size_t HeaderSize; - unsigned char Header[48]; - int TableCount = 0; - - - /* Open input in text mode, output is in binary mode */ - - InputFile = fopen (InputPathname, "rt"); - if (!InputFile) - { - printf ("Could not open %s\n", InputPathname); - return -1; - } - - printf ("\nSignature Length OemId OemTableId OemRevision CompilerId CompilerRevision\n\n"); - - while (fgets (Buffer, BUFFER_SIZE, InputFile)) - { - /* Ignore empty lines and lines that start with a space */ - - if ((Buffer[0] == ' ') || - (Buffer[0] == '\n')) - { - continue; - } - - /* Get the 36 byte header and display the fields */ - - HeaderSize = GetTableHeader (InputFile, Header); - if (HeaderSize < 16) - { - continue; - } - - /* RSDP has an oddball signature and header */ - - if (!strncmp ((char *) Header, "RSD PTR ", 8)) - { - CheckAscii (&Header[9], 6); - printf ("%8.4s \"%6.6s\"\n", "RSDP", &Header[9]); - TableCount++; - continue; - } - - /* Minimum size */ - - if (HeaderSize < 36) - { - continue; - } - - /* Signature and Table length */ - - TableCount++; - printf ("%8.4s % 7d", Header, *(int *) &Header[4]); - - /* FACS has only signature and length */ - - if (!strncmp ((char *) Header, "FACS", 4)) - { - printf ("\n"); - continue; - } - - /* OEM IDs and Compiler IDs */ - - CheckAscii (&Header[10], 6); - CheckAscii (&Header[16], 8); - CheckAscii (&Header[28], 4); - - printf (" \"%6.6s\" \"%8.8s\" %8.8X \"%4.4s\" %8.8X\n", - &Header[10], &Header[16], *(int *) &Header[24], - &Header[28], *(int *) &Header[32]); - } - - printf ("\nFound %d ACPI tables [%8.8X]\n", TableCount, VERSION); - fclose (InputFile); - return 0; -} - - -/****************************************************************************** - * - * FUNCTION: main - * - * DESCRIPTION: C main function - * - ******************************************************************************/ - -int -main ( - int argc, - char *argv[]) -{ - int Status; - - - if (argc < 2) - { - DisplayUsage (); - return 0; - } - - if (argv[1][0] == '-') - { - if (argc < 3) - { - DisplayUsage (); - return 0; - } - - switch (argv[1][1]) - { - case 'a': - return (ExtractTables (argv[2], NULL, 0)); - - case 'l': - return (ListTables (argv[2])); - - case 's': - return (ExtractTables (argv[2], &argv[1][2], 1)); - - default: - DisplayUsage (); - return 0; - } - } - - /* - * Default output is the DSDT and all SSDTs. One DSDT is required, - * any SSDTs are optional. - */ - Status = ExtractTables (argv[1], "DSDT", 1); - if (Status) - { - return Status; - } - - Status = ExtractTables (argv[1], "SSDT", 0); - return (Status); -} - - diff --git a/sys/contrib/dev/acpica/tools/examples/examples.c b/sys/contrib/dev/acpica/tools/examples/examples.c deleted file mode 100644 index e2dfacd20d02..000000000000 --- a/sys/contrib/dev/acpica/tools/examples/examples.c +++ /dev/null @@ -1,506 +0,0 @@ -/****************************************************************************** - * - * Module Name: examples - Example ACPICA code - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, 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. - * - *****************************************************************************/ - - -/* Set the ACPICA application type for use in include/platform/acenv.h */ - -#ifndef WIN32 -#define WIN32 -#endif - -#define ACPI_DEBUG_OUTPUT - -/* ACPICA public headers */ - -#include "acpi.h" - -#define _COMPONENT ACPI_EXAMPLE - ACPI_MODULE_NAME ("examples") - - -/****************************************************************************** - * - * ACPICA Example Code - * - * This module contains examples of how the host OS should interface to the - * ACPICA subsystem. - * - * 1) How to use the platform/acenv.h file and how to set configuration - * options. - * - * 2) main - using the debug output mechanism and the error/warning output - * macros. - * - * 3) Two examples of the ACPICA initialization sequence. The first is a - * initialization with no "early" ACPI table access. The second shows - * how to use ACPICA to obtain the tables very early during kernel - * initialization, even before dynamic memory is available. - * - * 4) How to invoke a control method, including argument setup and how to - * access the return value. - * - *****************************************************************************/ - -/* Standard Clib headers */ - -#include -#include - -/* Local Prototypes */ - -ACPI_STATUS -InitializeFullAcpi (void); - -ACPI_STATUS -InstallHandlers (void); - -void -ExecuteOSI (void); - - -/****************************************************************************** - * - * FUNCTION: main - * - * PARAMETERS: argc, argv - * - * RETURN: Status - * - * DESCRIPTION: Main routine. Shows the use of the various output macros, as - * well as the use of the debug layer/level globals. - * - *****************************************************************************/ - -int ACPI_SYSTEM_XFACE -main ( - int argc, - char **argv) -{ - ACPI_FUNCTION_NAME (Examples-main); - - - InitializeFullAcpi (); - - /* Enable debug output, example debug print */ - - AcpiDbgLayer = ACPI_EXAMPLE; - AcpiDbgLevel = ACPI_LV_INIT; - ACPI_DEBUG_PRINT ((ACPI_DB_INIT, "Example Debug output\n")); - - /* Example warning and error output */ - - ACPI_INFO ((AE_INFO, "ACPICA example info message")); - ACPI_WARNING ((AE_INFO, "ACPICA example warning message")); - ACPI_ERROR ((AE_INFO, "ACPICA example error message")); - ACPI_EXCEPTION ((AE_INFO, AE_AML_OPERAND_TYPE, "Example exception message")); - - ExecuteOSI (); - return (0); -} - - -/****************************************************************************** - * - * Example ACPICA initialization code. This shows a full initialization with - * no early ACPI table access. - * - *****************************************************************************/ - -ACPI_STATUS -InitializeFullAcpi (void) -{ - ACPI_STATUS Status; - - - /* Initialize the ACPICA subsystem */ - - Status = AcpiInitializeSubsystem (); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While initializing ACPICA")); - return (Status); - } - - /* Initialize the ACPICA Table Manager and get all ACPI tables */ - - Status = AcpiInitializeTables (NULL, 16, FALSE); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While initializing Table Manager")); - return (Status); - } - - /* Create the ACPI namespace from ACPI tables */ - - Status = AcpiLoadTables (); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While loading ACPI tables")); - return (Status); - } - - /* Install local handlers */ - - Status = InstallHandlers (); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While installing handlers")); - return (Status); - } - - /* Initialize the ACPI hardware */ - - Status = AcpiEnableSubsystem (ACPI_FULL_INITIALIZATION); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While enabling ACPICA")); - return (Status); - } - - /* Complete the ACPI namespace object initialization */ - - Status = AcpiInitializeObjects (ACPI_FULL_INITIALIZATION); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While initializing ACPICA objects")); - return (Status); - } - - return (AE_OK); -} - - -/****************************************************************************** - * - * Example ACPICA initialization code with early ACPI table access. This shows - * an initialization that requires early access to ACPI tables (before - * kernel dynamic memory is available) - * - *****************************************************************************/ - -/* - * The purpose of this static table array is to avoid the use of kernel - * dynamic memory which may not be available during early ACPI table - * access. - */ -#define ACPI_MAX_INIT_TABLES 16 -static ACPI_TABLE_DESC TableArray[ACPI_MAX_INIT_TABLES]; - - -/* - * This function would be called early in kernel initialization. After this - * is called, all ACPI tables are available to the host. - */ -ACPI_STATUS -InitializeAcpiTables (void) -{ - ACPI_STATUS Status; - - - /* Initialize the ACPICA Table Manager and get all ACPI tables */ - - Status = AcpiInitializeTables (TableArray, ACPI_MAX_INIT_TABLES, TRUE); - return (Status); -} - - -/* - * This function would be called after the kernel is initialized and - * dynamic/virtual memory is available. It completes the initialization of - * the ACPICA subsystem. - */ -ACPI_STATUS -InitializeAcpi (void) -{ - ACPI_STATUS Status; - - - /* Initialize the ACPICA subsystem */ - - Status = AcpiInitializeSubsystem (); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Copy the root table list to dynamic memory */ - - Status = AcpiReallocateRootTable (); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Create the ACPI namespace from ACPI tables */ - - Status = AcpiLoadTables (); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Install local handlers */ - - Status = InstallHandlers (); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While installing handlers")); - return (Status); - } - - /* Initialize the ACPI hardware */ - - Status = AcpiEnableSubsystem (ACPI_FULL_INITIALIZATION); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - /* Complete the ACPI namespace object initialization */ - - Status = AcpiInitializeObjects (ACPI_FULL_INITIALIZATION); - if (ACPI_FAILURE (Status)) - { - return (Status); - } - - return (AE_OK); -} - - -/****************************************************************************** - * - * Example ACPICA handler and handler installation - * - *****************************************************************************/ - -void -NotifyHandler ( - ACPI_HANDLE Device, - UINT32 Value, - void *Context) -{ - - ACPI_INFO ((AE_INFO, "Received a notify %X", Value)); -} - - -ACPI_STATUS -InstallHandlers (void) -{ - ACPI_STATUS Status; - - - /* Install global notify handler */ - - Status = AcpiInstallNotifyHandler (ACPI_ROOT_OBJECT, ACPI_SYSTEM_NOTIFY, - NotifyHandler, NULL); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While installing Notify handler")); - return (Status); - } - - return (AE_OK); -} - - -/****************************************************************************** - * - * Example control method execution. - * - * _OSI is a predefined method that is implemented internally within ACPICA. - * - * Shows the following elements: - * - * 1) How to setup a control method argument and argument list - * 2) How to setup the return value object - * 3) How to invoke AcpiEvaluateObject - * 4) How to check the returned ACPI_STATUS - * 5) How to analyze the return value - * - *****************************************************************************/ - -void -ExecuteOSI (void) -{ - ACPI_STATUS Status; - ACPI_OBJECT_LIST ArgList; - ACPI_OBJECT Arg[1]; - ACPI_BUFFER ReturnValue; - ACPI_OBJECT *Object; - - - ACPI_INFO ((AE_INFO, "Executing OSI method")); - - /* Setup input argument */ - - ArgList.Count = 1; - ArgList.Pointer = Arg; - - Arg[0].Type = ACPI_TYPE_STRING; - Arg[0].String.Pointer = "Windows 2001"; - Arg[0].String.Length = strlen (Arg[0].String.Pointer); - - /* Ask ACPICA to allocate space for the return object */ - - ReturnValue.Length = ACPI_ALLOCATE_BUFFER; - - Status = AcpiEvaluateObject (NULL, "\\_OSI", &ArgList, &ReturnValue); - if (ACPI_FAILURE (Status)) - { - ACPI_EXCEPTION ((AE_INFO, Status, "While executing _OSI")); - return; - } - - /* Ensure that the return object is large enough */ - - if (ReturnValue.Length < sizeof (ACPI_OBJECT)) - { - AcpiOsPrintf ("Return value from _OSI method too small, %.8X\n", - ReturnValue.Length); - return; - } - - /* Expect an integer return value from execution of _OSI */ - - Object = ReturnValue.Pointer; - if (Object->Type != ACPI_TYPE_INTEGER) - { - AcpiOsPrintf ("Invalid return type from _OSI, %.2X\n", Object->Type); - } - - ACPI_INFO ((AE_INFO, "_OSI returned %.8X", (UINT32) Object->Integer.Value)); - AcpiOsFree (Object); - return; -} - - -/****************************************************************************** - * - * OSL support (only needed to link to the windows OSL) - * - *****************************************************************************/ - -FILE *AcpiGbl_DebugFile; - -ACPI_PHYSICAL_ADDRESS -AeLocalGetRootPointer ( - void) -{ - - return (0); -} - diff --git a/sys/contrib/dev/acpica/utilities/utclib.c b/sys/contrib/dev/acpica/utilities/utclib.c deleted file mode 100644 index a9b8122fab86..000000000000 --- a/sys/contrib/dev/acpica/utilities/utclib.c +++ /dev/null @@ -1,961 +0,0 @@ -/****************************************************************************** - * - * Module Name: cmclib - Local implementation of C library functions - * - *****************************************************************************/ - -/****************************************************************************** - * - * 1. Copyright Notice - * - * Some or all of this work - Copyright (c) 1999 - 2009, Intel Corp. - * All rights reserved. - * - * 2. License - * - * 2.1. This is your license from Intel Corp. under its intellectual property - * rights. You may have additional license terms from the party that provided - * you this software, covering your right to use that party's intellectual - * property rights. - * - * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a - * copy of the source code appearing in this file ("Covered Code") an - * irrevocable, perpetual, worldwide license under Intel's copyrights in the - * base code distributed originally by Intel ("Original Intel Code") to copy, - * make derivatives, distribute, use and display any portion of the Covered - * Code in any form, with the right to sublicense such rights; and - * - * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent - * license (with the right to sublicense), under only those claims of Intel - * patents that are infringed by the Original Intel Code, to make, use, sell, - * offer to sell, and import the Covered Code and derivative works thereof - * solely to the minimum extent necessary to exercise the above copyright - * license, and in no event shall the patent license extend to any additions - * to or modifications of the Original Intel Code. No other license or right - * is granted directly or by implication, estoppel or otherwise; - * - * The above copyright and patent license is granted only if the following - * conditions are met: - * - * 3. Conditions - * - * 3.1. Redistribution of Source with Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification with rights to further distribute source must include - * the above Copyright Notice, the above License, this list of Conditions, - * and the following Disclaimer and Export Compliance provision. In addition, - * Licensee must cause all Covered Code to which Licensee contributes to - * contain a file documenting the changes Licensee made to create that Covered - * Code and the date of any change. Licensee must include in that file the - * documentation of any changes made by any predecessor Licensee. Licensee - * must include a prominent statement that the modification is derived, - * directly or indirectly, from Original Intel Code. - * - * 3.2. Redistribution of Source with no Rights to Further Distribute Source. - * Redistribution of source code of any substantial portion of the Covered - * Code or modification without rights to further distribute source must - * include the following Disclaimer and Export Compliance provision in the - * documentation and/or other materials provided with distribution. In - * addition, Licensee may not authorize further sublicense of source of any - * portion of the Covered Code, and must include terms to the effect that the - * license from Licensee to its licensee is limited to the intellectual - * property embodied in the software Licensee provides to its licensee, and - * not to intellectual property embodied in modifications its licensee may - * make. - * - * 3.3. Redistribution of Executable. Redistribution in executable form of any - * substantial portion of the Covered Code or modification must reproduce the - * above Copyright Notice, and the following Disclaimer and Export Compliance - * provision in the documentation and/or other materials provided with the - * distribution. - * - * 3.4. Intel retains all right, title, and interest in and to the Original - * Intel Code. - * - * 3.5. Neither the name Intel nor any other trademark owned or controlled by - * Intel shall be used in advertising or otherwise to promote the sale, use or - * other dealings in products derived from or relating to the Covered Code - * without prior written authorization from Intel. - * - * 4. Disclaimer and Export Compliance - * - * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED - * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE - * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, - * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY - * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY - * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A - * PARTICULAR PURPOSE. - * - * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES - * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR - * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, - * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY - * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL - * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS - * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY - * LIMITED REMEDY. - * - * 4.3. Licensee shall not export, either directly or indirectly, any of this - * software or system incorporating such software without first obtaining any - * required license or other approval from the U. S. Department of Commerce or - * any other agency or department of the United States Government. In the - * event Licensee exports any such software from the United States or - * re-exports any such software from a foreign destination, Licensee shall - * ensure that the distribution and export/re-export of the software is in - * compliance with all laws, regulations, orders, or other restrictions of the - * U.S. Export Administration Regulations. Licensee agrees that neither it nor - * any of its subsidiaries will export/re-export any technical data, process, - * software, or service, directly or indirectly, to any country for which the - * United States government or any agency thereof requires an export license, - * other governmental approval, or letter of assurance, without first obtaining - * such license, approval or letter. - * - *****************************************************************************/ - - -#define __CMCLIB_C__ - -#include "acpi.h" -#include "accommon.h" - -/* - * These implementations of standard C Library routines can optionally be - * used if a C library is not available. In general, they are less efficient - * than an inline or assembly implementation - */ - -#define _COMPONENT ACPI_UTILITIES - ACPI_MODULE_NAME ("cmclib") - - -#ifndef ACPI_USE_SYSTEM_CLIBRARY - -#define NEGATIVE 1 -#define POSITIVE 0 - - -/******************************************************************************* - * - * FUNCTION: AcpiUtMemcmp (memcmp) - * - * PARAMETERS: Buffer1 - First Buffer - * Buffer2 - Second Buffer - * Count - Maximum # of bytes to compare - * - * RETURN: Index where Buffers mismatched, or 0 if Buffers matched - * - * DESCRIPTION: Compare two Buffers, with a maximum length - * - ******************************************************************************/ - -int -AcpiUtMemcmp ( - const char *Buffer1, - const char *Buffer2, - ACPI_SIZE Count) -{ - - for ( ; Count-- && (*Buffer1 == *Buffer2); Buffer1++, Buffer2++) - { - } - - return ((Count == ACPI_SIZE_MAX) ? 0 : ((unsigned char) *Buffer1 - - (unsigned char) *Buffer2)); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtMemcpy (memcpy) - * - * PARAMETERS: Dest - Target of the copy - * Src - Source buffer to copy - * Count - Number of bytes to copy - * - * RETURN: Dest - * - * DESCRIPTION: Copy arbitrary bytes of memory - * - ******************************************************************************/ - -void * -AcpiUtMemcpy ( - void *Dest, - const void *Src, - ACPI_SIZE Count) -{ - char *New = (char *) Dest; - char *Old = (char *) Src; - - - while (Count) - { - *New = *Old; - New++; - Old++; - Count--; - } - - return (Dest); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtMemset (memset) - * - * PARAMETERS: Dest - Buffer to set - * Value - Value to set each byte of memory - * Count - Number of bytes to set - * - * RETURN: Dest - * - * DESCRIPTION: Initialize a buffer to a known value. - * - ******************************************************************************/ - -void * -AcpiUtMemset ( - void *Dest, - UINT8 Value, - ACPI_SIZE Count) -{ - char *New = (char *) Dest; - - - while (Count) - { - *New = (char) Value; - New++; - Count--; - } - - return (Dest); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrlen (strlen) - * - * PARAMETERS: String - Null terminated string - * - * RETURN: Length - * - * DESCRIPTION: Returns the length of the input string - * - ******************************************************************************/ - - -ACPI_SIZE -AcpiUtStrlen ( - const char *String) -{ - UINT32 Length = 0; - - - /* Count the string until a null is encountered */ - - while (*String) - { - Length++; - String++; - } - - return (Length); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrcpy (strcpy) - * - * PARAMETERS: DstString - Target of the copy - * SrcString - The source string to copy - * - * RETURN: DstString - * - * DESCRIPTION: Copy a null terminated string - * - ******************************************************************************/ - -char * -AcpiUtStrcpy ( - char *DstString, - const char *SrcString) -{ - char *String = DstString; - - - /* Move bytes brute force */ - - while (*SrcString) - { - *String = *SrcString; - - String++; - SrcString++; - } - - /* Null terminate */ - - *String = 0; - return (DstString); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrncpy (strncpy) - * - * PARAMETERS: DstString - Target of the copy - * SrcString - The source string to copy - * Count - Maximum # of bytes to copy - * - * RETURN: DstString - * - * DESCRIPTION: Copy a null terminated string, with a maximum length - * - ******************************************************************************/ - -char * -AcpiUtStrncpy ( - char *DstString, - const char *SrcString, - ACPI_SIZE Count) -{ - char *String = DstString; - - - /* Copy the string */ - - for (String = DstString; - Count && (Count--, (*String++ = *SrcString++)); ) - {;} - - /* Pad with nulls if necessary */ - - while (Count--) - { - *String = 0; - String++; - } - - /* Return original pointer */ - - return (DstString); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrcmp (strcmp) - * - * PARAMETERS: String1 - First string - * String2 - Second string - * - * RETURN: Index where strings mismatched, or 0 if strings matched - * - * DESCRIPTION: Compare two null terminated strings - * - ******************************************************************************/ - -int -AcpiUtStrcmp ( - const char *String1, - const char *String2) -{ - - - for ( ; (*String1 == *String2); String2++) - { - if (!*String1++) - { - return (0); - } - } - - return ((unsigned char) *String1 - (unsigned char) *String2); -} - - -#ifdef ACPI_FUTURE_IMPLEMENTATION -/* Not used at this time */ -/******************************************************************************* - * - * FUNCTION: AcpiUtStrchr (strchr) - * - * PARAMETERS: String - Search string - * ch - character to search for - * - * RETURN: Ptr to char or NULL if not found - * - * DESCRIPTION: Search a string for a character - * - ******************************************************************************/ - -char * -AcpiUtStrchr ( - const char *String, - int ch) -{ - - - for ( ; (*String); String++) - { - if ((*String) == (char) ch) - { - return ((char *) String); - } - } - - return (NULL); -} -#endif - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrncmp (strncmp) - * - * PARAMETERS: String1 - First string - * String2 - Second string - * Count - Maximum # of bytes to compare - * - * RETURN: Index where strings mismatched, or 0 if strings matched - * - * DESCRIPTION: Compare two null terminated strings, with a maximum length - * - ******************************************************************************/ - -int -AcpiUtStrncmp ( - const char *String1, - const char *String2, - ACPI_SIZE Count) -{ - - - for ( ; Count-- && (*String1 == *String2); String2++) - { - if (!*String1++) - { - return (0); - } - } - - return ((Count == ACPI_SIZE_MAX) ? 0 : ((unsigned char) *String1 - - (unsigned char) *String2)); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrcat (Strcat) - * - * PARAMETERS: DstString - Target of the copy - * SrcString - The source string to copy - * - * RETURN: DstString - * - * DESCRIPTION: Append a null terminated string to a null terminated string - * - ******************************************************************************/ - -char * -AcpiUtStrcat ( - char *DstString, - const char *SrcString) -{ - char *String; - - - /* Find end of the destination string */ - - for (String = DstString; *String++; ) - { ; } - - /* Concatenate the string */ - - for (--String; (*String++ = *SrcString++); ) - { ; } - - return (DstString); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrncat (strncat) - * - * PARAMETERS: DstString - Target of the copy - * SrcString - The source string to copy - * Count - Maximum # of bytes to copy - * - * RETURN: DstString - * - * DESCRIPTION: Append a null terminated string to a null terminated string, - * with a maximum count. - * - ******************************************************************************/ - -char * -AcpiUtStrncat ( - char *DstString, - const char *SrcString, - ACPI_SIZE Count) -{ - char *String; - - - if (Count) - { - /* Find end of the destination string */ - - for (String = DstString; *String++; ) - { ; } - - /* Concatenate the string */ - - for (--String; (*String++ = *SrcString++) && --Count; ) - { ; } - - /* Null terminate if necessary */ - - if (!Count) - { - *String = 0; - } - } - - return (DstString); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrstr (strstr) - * - * PARAMETERS: String1 - Target string - * String2 - Substring to search for - * - * RETURN: Where substring match starts, Null if no match found - * - * DESCRIPTION: Checks if String2 occurs in String1. This is not really a - * full implementation of strstr, only sufficient for command - * matching - * - ******************************************************************************/ - -char * -AcpiUtStrstr ( - char *String1, - char *String2) -{ - char *String; - - - if (AcpiUtStrlen (String2) > AcpiUtStrlen (String1)) - { - return (NULL); - } - - /* Walk entire string, comparing the letters */ - - for (String = String1; *String2; ) - { - if (*String2 != *String) - { - return (NULL); - } - - String2++; - String++; - } - - return (String1); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtStrtoul (strtoul) - * - * PARAMETERS: String - Null terminated string - * Terminater - Where a pointer to the terminating byte is - * returned - * Base - Radix of the string - * - * RETURN: Converted value - * - * DESCRIPTION: Convert a string into a 32-bit unsigned value. - * Note: use AcpiUtStrtoul64 for 64-bit integers. - * - ******************************************************************************/ - -UINT32 -AcpiUtStrtoul ( - const char *String, - char **Terminator, - UINT32 Base) -{ - UINT32 converted = 0; - UINT32 index; - UINT32 sign; - const char *StringStart; - UINT32 ReturnValue = 0; - ACPI_STATUS Status = AE_OK; - - - /* - * Save the value of the pointer to the buffer's first - * character, save the current errno value, and then - * skip over any white space in the buffer: - */ - StringStart = String; - while (ACPI_IS_SPACE (*String) || *String == '\t') - { - ++String; - } - - /* - * The buffer may contain an optional plus or minus sign. - * If it does, then skip over it but remember what is was: - */ - if (*String == '-') - { - sign = NEGATIVE; - ++String; - } - else if (*String == '+') - { - ++String; - sign = POSITIVE; - } - else - { - sign = POSITIVE; - } - - /* - * If the input parameter Base is zero, then we need to - * determine if it is octal, decimal, or hexadecimal: - */ - if (Base == 0) - { - if (*String == '0') - { - if (AcpiUtToLower (*(++String)) == 'x') - { - Base = 16; - ++String; - } - else - { - Base = 8; - } - } - else - { - Base = 10; - } - } - else if (Base < 2 || Base > 36) - { - /* - * The specified Base parameter is not in the domain of - * this function: - */ - goto done; - } - - /* - * For octal and hexadecimal bases, skip over the leading - * 0 or 0x, if they are present. - */ - if (Base == 8 && *String == '0') - { - String++; - } - - if (Base == 16 && - *String == '0' && - AcpiUtToLower (*(++String)) == 'x') - { - String++; - } - - /* - * Main loop: convert the string to an unsigned long: - */ - while (*String) - { - if (ACPI_IS_DIGIT (*String)) - { - index = (UINT32) ((UINT8) *String - '0'); - } - else - { - index = (UINT32) AcpiUtToUpper (*String); - if (ACPI_IS_UPPER (index)) - { - index = index - 'A' + 10; - } - else - { - goto done; - } - } - - if (index >= Base) - { - goto done; - } - - /* - * Check to see if value is out of range: - */ - - if (ReturnValue > ((ACPI_UINT32_MAX - (UINT32) index) / - (UINT32) Base)) - { - Status = AE_ERROR; - ReturnValue = 0; /* reset */ - } - else - { - ReturnValue *= Base; - ReturnValue += index; - converted = 1; - } - - ++String; - } - -done: - /* - * If appropriate, update the caller's pointer to the next - * unconverted character in the buffer. - */ - if (Terminator) - { - if (converted == 0 && ReturnValue == 0 && String != NULL) - { - *Terminator = (char *) StringStart; - } - else - { - *Terminator = (char *) String; - } - } - - if (Status == AE_ERROR) - { - ReturnValue = ACPI_UINT32_MAX; - } - - /* - * If a minus sign was present, then "the conversion is negated": - */ - if (sign == NEGATIVE) - { - ReturnValue = (ACPI_UINT32_MAX - ReturnValue) + 1; - } - - return (ReturnValue); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtToUpper (TOUPPER) - * - * PARAMETERS: c - Character to convert - * - * RETURN: Converted character as an int - * - * DESCRIPTION: Convert character to uppercase - * - ******************************************************************************/ - -int -AcpiUtToUpper ( - int c) -{ - - return (ACPI_IS_LOWER(c) ? ((c)-0x20) : (c)); -} - - -/******************************************************************************* - * - * FUNCTION: AcpiUtToLower (TOLOWER) - * - * PARAMETERS: c - Character to convert - * - * RETURN: Converted character as an int - * - * DESCRIPTION: Convert character to lowercase - * - ******************************************************************************/ - -int -AcpiUtToLower ( - int c) -{ - - return (ACPI_IS_UPPER(c) ? ((c)+0x20) : (c)); -} - - -/******************************************************************************* - * - * FUNCTION: is* functions - * - * DESCRIPTION: is* functions use the ctype table below - * - ******************************************************************************/ - -const UINT8 _acpi_ctype[257] = { - _ACPI_CN, /* 0x0 0. */ - _ACPI_CN, /* 0x1 1. */ - _ACPI_CN, /* 0x2 2. */ - _ACPI_CN, /* 0x3 3. */ - _ACPI_CN, /* 0x4 4. */ - _ACPI_CN, /* 0x5 5. */ - _ACPI_CN, /* 0x6 6. */ - _ACPI_CN, /* 0x7 7. */ - _ACPI_CN, /* 0x8 8. */ - _ACPI_CN|_ACPI_SP, /* 0x9 9. */ - _ACPI_CN|_ACPI_SP, /* 0xA 10. */ - _ACPI_CN|_ACPI_SP, /* 0xB 11. */ - _ACPI_CN|_ACPI_SP, /* 0xC 12. */ - _ACPI_CN|_ACPI_SP, /* 0xD 13. */ - _ACPI_CN, /* 0xE 14. */ - _ACPI_CN, /* 0xF 15. */ - _ACPI_CN, /* 0x10 16. */ - _ACPI_CN, /* 0x11 17. */ - _ACPI_CN, /* 0x12 18. */ - _ACPI_CN, /* 0x13 19. */ - _ACPI_CN, /* 0x14 20. */ - _ACPI_CN, /* 0x15 21. */ - _ACPI_CN, /* 0x16 22. */ - _ACPI_CN, /* 0x17 23. */ - _ACPI_CN, /* 0x18 24. */ - _ACPI_CN, /* 0x19 25. */ - _ACPI_CN, /* 0x1A 26. */ - _ACPI_CN, /* 0x1B 27. */ - _ACPI_CN, /* 0x1C 28. */ - _ACPI_CN, /* 0x1D 29. */ - _ACPI_CN, /* 0x1E 30. */ - _ACPI_CN, /* 0x1F 31. */ - _ACPI_XS|_ACPI_SP, /* 0x20 32. ' ' */ - _ACPI_PU, /* 0x21 33. '!' */ - _ACPI_PU, /* 0x22 34. '"' */ - _ACPI_PU, /* 0x23 35. '#' */ - _ACPI_PU, /* 0x24 36. '$' */ - _ACPI_PU, /* 0x25 37. '%' */ - _ACPI_PU, /* 0x26 38. '&' */ - _ACPI_PU, /* 0x27 39. ''' */ - _ACPI_PU, /* 0x28 40. '(' */ - _ACPI_PU, /* 0x29 41. ')' */ - _ACPI_PU, /* 0x2A 42. '*' */ - _ACPI_PU, /* 0x2B 43. '+' */ - _ACPI_PU, /* 0x2C 44. ',' */ - _ACPI_PU, /* 0x2D 45. '-' */ - _ACPI_PU, /* 0x2E 46. '.' */ - _ACPI_PU, /* 0x2F 47. '/' */ - _ACPI_XD|_ACPI_DI, /* 0x30 48. '0' */ - _ACPI_XD|_ACPI_DI, /* 0x31 49. '1' */ - _ACPI_XD|_ACPI_DI, /* 0x32 50. '2' */ - _ACPI_XD|_ACPI_DI, /* 0x33 51. '3' */ - _ACPI_XD|_ACPI_DI, /* 0x34 52. '4' */ - _ACPI_XD|_ACPI_DI, /* 0x35 53. '5' */ - _ACPI_XD|_ACPI_DI, /* 0x36 54. '6' */ - _ACPI_XD|_ACPI_DI, /* 0x37 55. '7' */ - _ACPI_XD|_ACPI_DI, /* 0x38 56. '8' */ - _ACPI_XD|_ACPI_DI, /* 0x39 57. '9' */ - _ACPI_PU, /* 0x3A 58. ':' */ - _ACPI_PU, /* 0x3B 59. ';' */ - _ACPI_PU, /* 0x3C 60. '<' */ - _ACPI_PU, /* 0x3D 61. '=' */ - _ACPI_PU, /* 0x3E 62. '>' */ - _ACPI_PU, /* 0x3F 63. '?' */ - _ACPI_PU, /* 0x40 64. '@' */ - _ACPI_XD|_ACPI_UP, /* 0x41 65. 'A' */ - _ACPI_XD|_ACPI_UP, /* 0x42 66. 'B' */ - _ACPI_XD|_ACPI_UP, /* 0x43 67. 'C' */ - _ACPI_XD|_ACPI_UP, /* 0x44 68. 'D' */ - _ACPI_XD|_ACPI_UP, /* 0x45 69. 'E' */ - _ACPI_XD|_ACPI_UP, /* 0x46 70. 'F' */ - _ACPI_UP, /* 0x47 71. 'G' */ - _ACPI_UP, /* 0x48 72. 'H' */ - _ACPI_UP, /* 0x49 73. 'I' */ - _ACPI_UP, /* 0x4A 74. 'J' */ - _ACPI_UP, /* 0x4B 75. 'K' */ - _ACPI_UP, /* 0x4C 76. 'L' */ - _ACPI_UP, /* 0x4D 77. 'M' */ - _ACPI_UP, /* 0x4E 78. 'N' */ - _ACPI_UP, /* 0x4F 79. 'O' */ - _ACPI_UP, /* 0x50 80. 'P' */ - _ACPI_UP, /* 0x51 81. 'Q' */ - _ACPI_UP, /* 0x52 82. 'R' */ - _ACPI_UP, /* 0x53 83. 'S' */ - _ACPI_UP, /* 0x54 84. 'T' */ - _ACPI_UP, /* 0x55 85. 'U' */ - _ACPI_UP, /* 0x56 86. 'V' */ - _ACPI_UP, /* 0x57 87. 'W' */ - _ACPI_UP, /* 0x58 88. 'X' */ - _ACPI_UP, /* 0x59 89. 'Y' */ - _ACPI_UP, /* 0x5A 90. 'Z' */ - _ACPI_PU, /* 0x5B 91. '[' */ - _ACPI_PU, /* 0x5C 92. '\' */ - _ACPI_PU, /* 0x5D 93. ']' */ - _ACPI_PU, /* 0x5E 94. '^' */ - _ACPI_PU, /* 0x5F 95. '_' */ - _ACPI_PU, /* 0x60 96. '`' */ - _ACPI_XD|_ACPI_LO, /* 0x61 97. 'a' */ - _ACPI_XD|_ACPI_LO, /* 0x62 98. 'b' */ - _ACPI_XD|_ACPI_LO, /* 0x63 99. 'c' */ - _ACPI_XD|_ACPI_LO, /* 0x64 100. 'd' */ - _ACPI_XD|_ACPI_LO, /* 0x65 101. 'e' */ - _ACPI_XD|_ACPI_LO, /* 0x66 102. 'f' */ - _ACPI_LO, /* 0x67 103. 'g' */ - _ACPI_LO, /* 0x68 104. 'h' */ - _ACPI_LO, /* 0x69 105. 'i' */ - _ACPI_LO, /* 0x6A 106. 'j' */ - _ACPI_LO, /* 0x6B 107. 'k' */ - _ACPI_LO, /* 0x6C 108. 'l' */ - _ACPI_LO, /* 0x6D 109. 'm' */ - _ACPI_LO, /* 0x6E 110. 'n' */ - _ACPI_LO, /* 0x6F 111. 'o' */ - _ACPI_LO, /* 0x70 112. 'p' */ - _ACPI_LO, /* 0x71 113. 'q' */ - _ACPI_LO, /* 0x72 114. 'r' */ - _ACPI_LO, /* 0x73 115. 's' */ - _ACPI_LO, /* 0x74 116. 't' */ - _ACPI_LO, /* 0x75 117. 'u' */ - _ACPI_LO, /* 0x76 118. 'v' */ - _ACPI_LO, /* 0x77 119. 'w' */ - _ACPI_LO, /* 0x78 120. 'x' */ - _ACPI_LO, /* 0x79 121. 'y' */ - _ACPI_LO, /* 0x7A 122. 'z' */ - _ACPI_PU, /* 0x7B 123. '{' */ - _ACPI_PU, /* 0x7C 124. '|' */ - _ACPI_PU, /* 0x7D 125. '}' */ - _ACPI_PU, /* 0x7E 126. '~' */ - _ACPI_CN, /* 0x7F 127. */ - - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x80 to 0x8F */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0x90 to 0x9F */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xA0 to 0xAF */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xB0 to 0xBF */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xC0 to 0xCF */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xD0 to 0xDF */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 0xE0 to 0xEF */ - 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* 0xF0 to 0x100 */ -}; - - -#endif /* ACPI_USE_SYSTEM_CLIBRARY */ -