153289f6aSNate Lawson %{ 253289f6aSNate Lawson /****************************************************************************** 353289f6aSNate Lawson * 43f0275a0SJung-uk Kim * Module Name: aslcompiler.l - Flex/lex input file 553289f6aSNate Lawson * 653289f6aSNate Lawson *****************************************************************************/ 753289f6aSNate Lawson 80d84335fSJung-uk Kim /****************************************************************************** 90d84335fSJung-uk Kim * 100d84335fSJung-uk Kim * 1. Copyright Notice 110d84335fSJung-uk Kim * 12804fe266SJung-uk Kim * Some or all of this work - Copyright (c) 1999 - 2024, Intel Corp. 1353289f6aSNate Lawson * All rights reserved. 1453289f6aSNate Lawson * 150d84335fSJung-uk Kim * 2. License 160d84335fSJung-uk Kim * 170d84335fSJung-uk Kim * 2.1. This is your license from Intel Corp. under its intellectual property 180d84335fSJung-uk Kim * rights. You may have additional license terms from the party that provided 190d84335fSJung-uk Kim * you this software, covering your right to use that party's intellectual 200d84335fSJung-uk Kim * property rights. 210d84335fSJung-uk Kim * 220d84335fSJung-uk Kim * 2.2. Intel grants, free of charge, to any person ("Licensee") obtaining a 230d84335fSJung-uk Kim * copy of the source code appearing in this file ("Covered Code") an 240d84335fSJung-uk Kim * irrevocable, perpetual, worldwide license under Intel's copyrights in the 250d84335fSJung-uk Kim * base code distributed originally by Intel ("Original Intel Code") to copy, 260d84335fSJung-uk Kim * make derivatives, distribute, use and display any portion of the Covered 270d84335fSJung-uk Kim * Code in any form, with the right to sublicense such rights; and 280d84335fSJung-uk Kim * 290d84335fSJung-uk Kim * 2.3. Intel grants Licensee a non-exclusive and non-transferable patent 300d84335fSJung-uk Kim * license (with the right to sublicense), under only those claims of Intel 310d84335fSJung-uk Kim * patents that are infringed by the Original Intel Code, to make, use, sell, 320d84335fSJung-uk Kim * offer to sell, and import the Covered Code and derivative works thereof 330d84335fSJung-uk Kim * solely to the minimum extent necessary to exercise the above copyright 340d84335fSJung-uk Kim * license, and in no event shall the patent license extend to any additions 350d84335fSJung-uk Kim * to or modifications of the Original Intel Code. No other license or right 360d84335fSJung-uk Kim * is granted directly or by implication, estoppel or otherwise; 370d84335fSJung-uk Kim * 380d84335fSJung-uk Kim * The above copyright and patent license is granted only if the following 390d84335fSJung-uk Kim * conditions are met: 400d84335fSJung-uk Kim * 410d84335fSJung-uk Kim * 3. Conditions 420d84335fSJung-uk Kim * 430d84335fSJung-uk Kim * 3.1. Redistribution of Source with Rights to Further Distribute Source. 440d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 450d84335fSJung-uk Kim * Code or modification with rights to further distribute source must include 460d84335fSJung-uk Kim * the above Copyright Notice, the above License, this list of Conditions, 470d84335fSJung-uk Kim * and the following Disclaimer and Export Compliance provision. In addition, 480d84335fSJung-uk Kim * Licensee must cause all Covered Code to which Licensee contributes to 490d84335fSJung-uk Kim * contain a file documenting the changes Licensee made to create that Covered 500d84335fSJung-uk Kim * Code and the date of any change. Licensee must include in that file the 510d84335fSJung-uk Kim * documentation of any changes made by any predecessor Licensee. Licensee 520d84335fSJung-uk Kim * must include a prominent statement that the modification is derived, 530d84335fSJung-uk Kim * directly or indirectly, from Original Intel Code. 540d84335fSJung-uk Kim * 550d84335fSJung-uk Kim * 3.2. Redistribution of Source with no Rights to Further Distribute Source. 560d84335fSJung-uk Kim * Redistribution of source code of any substantial portion of the Covered 570d84335fSJung-uk Kim * Code or modification without rights to further distribute source must 580d84335fSJung-uk Kim * include the following Disclaimer and Export Compliance provision in the 590d84335fSJung-uk Kim * documentation and/or other materials provided with distribution. In 600d84335fSJung-uk Kim * addition, Licensee may not authorize further sublicense of source of any 610d84335fSJung-uk Kim * portion of the Covered Code, and must include terms to the effect that the 620d84335fSJung-uk Kim * license from Licensee to its licensee is limited to the intellectual 630d84335fSJung-uk Kim * property embodied in the software Licensee provides to its licensee, and 640d84335fSJung-uk Kim * not to intellectual property embodied in modifications its licensee may 650d84335fSJung-uk Kim * make. 660d84335fSJung-uk Kim * 670d84335fSJung-uk Kim * 3.3. Redistribution of Executable. Redistribution in executable form of any 680d84335fSJung-uk Kim * substantial portion of the Covered Code or modification must reproduce the 690d84335fSJung-uk Kim * above Copyright Notice, and the following Disclaimer and Export Compliance 700d84335fSJung-uk Kim * provision in the documentation and/or other materials provided with the 710d84335fSJung-uk Kim * distribution. 720d84335fSJung-uk Kim * 730d84335fSJung-uk Kim * 3.4. Intel retains all right, title, and interest in and to the Original 740d84335fSJung-uk Kim * Intel Code. 750d84335fSJung-uk Kim * 760d84335fSJung-uk Kim * 3.5. Neither the name Intel nor any other trademark owned or controlled by 770d84335fSJung-uk Kim * Intel shall be used in advertising or otherwise to promote the sale, use or 780d84335fSJung-uk Kim * other dealings in products derived from or relating to the Covered Code 790d84335fSJung-uk Kim * without prior written authorization from Intel. 800d84335fSJung-uk Kim * 810d84335fSJung-uk Kim * 4. Disclaimer and Export Compliance 820d84335fSJung-uk Kim * 830d84335fSJung-uk Kim * 4.1. INTEL MAKES NO WARRANTY OF ANY KIND REGARDING ANY SOFTWARE PROVIDED 840d84335fSJung-uk Kim * HERE. ANY SOFTWARE ORIGINATING FROM INTEL OR DERIVED FROM INTEL SOFTWARE 850d84335fSJung-uk Kim * IS PROVIDED "AS IS," AND INTEL WILL NOT PROVIDE ANY SUPPORT, ASSISTANCE, 860d84335fSJung-uk Kim * INSTALLATION, TRAINING OR OTHER SERVICES. INTEL WILL NOT PROVIDE ANY 870d84335fSJung-uk Kim * UPDATES, ENHANCEMENTS OR EXTENSIONS. INTEL SPECIFICALLY DISCLAIMS ANY 880d84335fSJung-uk Kim * IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT AND FITNESS FOR A 890d84335fSJung-uk Kim * PARTICULAR PURPOSE. 900d84335fSJung-uk Kim * 910d84335fSJung-uk Kim * 4.2. IN NO EVENT SHALL INTEL HAVE ANY LIABILITY TO LICENSEE, ITS LICENSEES 920d84335fSJung-uk Kim * OR ANY OTHER THIRD PARTY, FOR ANY LOST PROFITS, LOST DATA, LOSS OF USE OR 930d84335fSJung-uk Kim * COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, OR FOR ANY INDIRECT, 940d84335fSJung-uk Kim * SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THIS AGREEMENT, UNDER ANY 950d84335fSJung-uk Kim * CAUSE OF ACTION OR THEORY OF LIABILITY, AND IRRESPECTIVE OF WHETHER INTEL 960d84335fSJung-uk Kim * HAS ADVANCE NOTICE OF THE POSSIBILITY OF SUCH DAMAGES. THESE LIMITATIONS 970d84335fSJung-uk Kim * SHALL APPLY NOTWITHSTANDING THE FAILURE OF THE ESSENTIAL PURPOSE OF ANY 980d84335fSJung-uk Kim * LIMITED REMEDY. 990d84335fSJung-uk Kim * 1000d84335fSJung-uk Kim * 4.3. Licensee shall not export, either directly or indirectly, any of this 1010d84335fSJung-uk Kim * software or system incorporating such software without first obtaining any 1020d84335fSJung-uk Kim * required license or other approval from the U. S. Department of Commerce or 1030d84335fSJung-uk Kim * any other agency or department of the United States Government. In the 1040d84335fSJung-uk Kim * event Licensee exports any such software from the United States or 1050d84335fSJung-uk Kim * re-exports any such software from a foreign destination, Licensee shall 1060d84335fSJung-uk Kim * ensure that the distribution and export/re-export of the software is in 1070d84335fSJung-uk Kim * compliance with all laws, regulations, orders, or other restrictions of the 1080d84335fSJung-uk Kim * U.S. Export Administration Regulations. Licensee agrees that neither it nor 1090d84335fSJung-uk Kim * any of its subsidiaries will export/re-export any technical data, process, 1100d84335fSJung-uk Kim * software, or service, directly or indirectly, to any country for which the 1110d84335fSJung-uk Kim * United States government or any agency thereof requires an export license, 1120d84335fSJung-uk Kim * other governmental approval, or letter of assurance, without first obtaining 1130d84335fSJung-uk Kim * such license, approval or letter. 1140d84335fSJung-uk Kim * 1150d84335fSJung-uk Kim ***************************************************************************** 1160d84335fSJung-uk Kim * 1170d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 1180d84335fSJung-uk Kim * following license: 1190d84335fSJung-uk Kim * 120d244b227SJung-uk Kim * Redistribution and use in source and binary forms, with or without 121d244b227SJung-uk Kim * modification, are permitted provided that the following conditions 122d244b227SJung-uk Kim * are met: 123d244b227SJung-uk Kim * 1. Redistributions of source code must retain the above copyright 124d244b227SJung-uk Kim * notice, this list of conditions, and the following disclaimer, 125d244b227SJung-uk Kim * without modification. 126d244b227SJung-uk Kim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 127d244b227SJung-uk Kim * substantially similar to the "NO WARRANTY" disclaimer below 128d244b227SJung-uk Kim * ("Disclaimer") and any redistribution must be conditioned upon 129d244b227SJung-uk Kim * including a substantially similar Disclaimer requirement for further 130d244b227SJung-uk Kim * binary redistribution. 131d244b227SJung-uk Kim * 3. Neither the names of the above-listed copyright holders nor the names 132d244b227SJung-uk Kim * of any contributors may be used to endorse or promote products derived 133d244b227SJung-uk Kim * from this software without specific prior written permission. 13453289f6aSNate Lawson * 1350d84335fSJung-uk Kim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1360d84335fSJung-uk Kim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1370d84335fSJung-uk Kim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 1380d84335fSJung-uk Kim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 1390d84335fSJung-uk Kim * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1400d84335fSJung-uk Kim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1410d84335fSJung-uk Kim * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 1420d84335fSJung-uk Kim * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 1430d84335fSJung-uk Kim * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 1440d84335fSJung-uk Kim * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 1450d84335fSJung-uk Kim * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 1460d84335fSJung-uk Kim * 1470d84335fSJung-uk Kim * Alternatively, you may choose to be licensed under the terms of the 148d244b227SJung-uk Kim * GNU General Public License ("GPL") version 2 as published by the Free 149d244b227SJung-uk Kim * Software Foundation. 15053289f6aSNate Lawson * 1510d84335fSJung-uk Kim *****************************************************************************/ 15253289f6aSNate Lawson 153d244b227SJung-uk Kim #include <contrib/dev/acpica/compiler/aslcompiler.h> 154d244b227SJung-uk Kim #include "aslcompiler.y.h" 1550d84335fSJung-uk Kim #include <contrib/dev/acpica/include/acconvert.h> 15653289f6aSNate Lawson 15753289f6aSNate Lawson #include <stdlib.h> 15853289f6aSNate Lawson #include <string.h> 15953289f6aSNate Lawson 16053289f6aSNate Lawson /* 16153289f6aSNate Lawson * Generation: Use the following command line: 16253289f6aSNate Lawson * 16353289f6aSNate Lawson * flex.exe -PAslCompiler -i -o$(InputPath).c $(InputPath) 16453289f6aSNate Lawson * 16553289f6aSNate Lawson * -i: Scanner must be case-insensitive 16653289f6aSNate Lawson */ 16753289f6aSNate Lawson 16853289f6aSNate Lawson #define _COMPONENT ACPI_COMPILER 169eef1b955SJung-uk Kim ACPI_MODULE_NAME ("aslscanner") 170eef1b955SJung-uk Kim 1713f0275a0SJung-uk Kim 1723f0275a0SJung-uk Kim /* Local prototypes */ 1733f0275a0SJung-uk Kim 174eef1b955SJung-uk Kim static void 175eef1b955SJung-uk Kim AslDoLineDirective (void); 176eef1b955SJung-uk Kim 1770d84335fSJung-uk Kim static BOOLEAN 178eef1b955SJung-uk Kim AslDoComment (void); 179eef1b955SJung-uk Kim 1800d84335fSJung-uk Kim static BOOLEAN 181eef1b955SJung-uk Kim AslDoCommentType2 (void); 182eef1b955SJung-uk Kim 183eef1b955SJung-uk Kim static char 184eef1b955SJung-uk Kim AslDoStringLiteral (void); 185eef1b955SJung-uk Kim 186eef1b955SJung-uk Kim static void 18753289f6aSNate Lawson count (int type); 188eef1b955SJung-uk Kim 18953289f6aSNate Lawson 19053289f6aSNate Lawson /*! [Begin] no source code translation */ 19153289f6aSNate Lawson 19253289f6aSNate Lawson %} 1933f0275a0SJung-uk Kim /* Definitions */ 19453289f6aSNate Lawson 19553289f6aSNate Lawson LeadNameChar [A-Za-z_] 19653289f6aSNate Lawson DigitChar [0-9] 1973ee58df5SJung-uk Kim ErrorCode [(][ ]*[1-9][0-9][0-9][0-9][ ]*[)] 1982f6a1a81SJung-uk Kim OctalChar [0-7] 19953289f6aSNate Lawson HexDigitChar [A-Fa-f0-9] 20053289f6aSNate Lawson RootChar [\\] 20153289f6aSNate Lawson Nothing [] 20253289f6aSNate Lawson 20353289f6aSNate Lawson NameChar [A-Za-z_0-9] 20453289f6aSNate Lawson NameSeg1 {LeadNameChar}{NameChar} 20553289f6aSNate Lawson NameSeg2 {LeadNameChar}{NameChar}{NameChar} 20653289f6aSNate Lawson NameSeg3 {LeadNameChar}{NameChar}{NameChar}{NameChar} 20753289f6aSNate Lawson NameSeg {LeadNameChar}|{NameSeg1}|{NameSeg2}|{NameSeg3} 20853289f6aSNate Lawson 20953289f6aSNate Lawson NameString {RootChar}|{RootChar}{NamePath}|[\^]+{NamePath}|{NonEmptyNamePath} 21053289f6aSNate Lawson NamePath {NonEmptyNamePath}? 21153289f6aSNate Lawson NonEmptyNamePath {NameSeg}{NamePathTail}* 21253289f6aSNate Lawson NamePathTail [.]{NameSeg} 21353289f6aSNate Lawson 21453289f6aSNate Lawson %% 2153f0275a0SJung-uk Kim /* Rules */ 21653289f6aSNate Lawson 21753289f6aSNate Lawson [ ] { count (0); } 218a9f12690SJung-uk Kim [\n] { count (0); } /* Handle files with both LF and CR/LF */ 219a9f12690SJung-uk Kim [\r] { count (0); } /* termination on both Unix and Windows */ 22053289f6aSNate Lawson [ \t] { count (0); } 22153289f6aSNate Lawson 22253289f6aSNate Lawson 223313a0c13SJung-uk Kim "/*" { if (!AslDoComment ()) {yyterminate ();} } 224313a0c13SJung-uk Kim "//" { if (!AslDoCommentType2 ()) {yyterminate ();} } 22553289f6aSNate Lawson 226313a0c13SJung-uk Kim "\"" { if (AslDoStringLiteral ()) {return (PARSEOP_STRING_LITERAL);} 227313a0c13SJung-uk Kim else {yyterminate ();} } 2283f0275a0SJung-uk Kim ";" { count (0); return(';'); } 22953289f6aSNate Lawson 2301c0e1b6dSJung-uk Kim /* ASL Extension: Standard C operators */ 23153289f6aSNate Lawson 2321c0e1b6dSJung-uk Kim "~" { count (3); return (PARSEOP_EXP_NOT); } 2331c0e1b6dSJung-uk Kim "!" { count (3); return (PARSEOP_EXP_LOGICAL_NOT); } 2341c0e1b6dSJung-uk Kim "*" { count (3); return (PARSEOP_EXP_MULTIPLY); } 2351c0e1b6dSJung-uk Kim "/" { count (3); return (PARSEOP_EXP_DIVIDE); } 2361c0e1b6dSJung-uk Kim "%" { count (3); return (PARSEOP_EXP_MODULO); } 2371c0e1b6dSJung-uk Kim "+" { count (3); return (PARSEOP_EXP_ADD); } 2381c0e1b6dSJung-uk Kim "-" { count (3); return (PARSEOP_EXP_SUBTRACT); } 2391c0e1b6dSJung-uk Kim ">>" { count (3); return (PARSEOP_EXP_SHIFT_RIGHT); } 2401c0e1b6dSJung-uk Kim "<<" { count (3); return (PARSEOP_EXP_SHIFT_LEFT); } 2411c0e1b6dSJung-uk Kim "<" { count (3); return (PARSEOP_EXP_LESS); } 2421c0e1b6dSJung-uk Kim ">" { count (3); return (PARSEOP_EXP_GREATER); } 2431c0e1b6dSJung-uk Kim "&" { count (3); return (PARSEOP_EXP_AND); } 2441c0e1b6dSJung-uk Kim "<=" { count (3); return (PARSEOP_EXP_LESS_EQUAL); } 2451c0e1b6dSJung-uk Kim ">=" { count (3); return (PARSEOP_EXP_GREATER_EQUAL); } 2461c0e1b6dSJung-uk Kim "==" { count (3); return (PARSEOP_EXP_EQUAL); } 2471c0e1b6dSJung-uk Kim "!=" { count (3); return (PARSEOP_EXP_NOT_EQUAL); } 2481c0e1b6dSJung-uk Kim "|" { count (3); return (PARSEOP_EXP_OR); } 2491c0e1b6dSJung-uk Kim "&&" { count (3); return (PARSEOP_EXP_LOGICAL_AND); } 2501c0e1b6dSJung-uk Kim "||" { count (3); return (PARSEOP_EXP_LOGICAL_OR); } 2511c0e1b6dSJung-uk Kim "++" { count (3); return (PARSEOP_EXP_INCREMENT); } 2521c0e1b6dSJung-uk Kim "--" { count (3); return (PARSEOP_EXP_DECREMENT); } 2531c0e1b6dSJung-uk Kim "^ " { count (3); return (PARSEOP_EXP_XOR); } 2541c0e1b6dSJung-uk Kim 2551c0e1b6dSJung-uk Kim /* ASL Extension: Standard C assignment operators */ 2561c0e1b6dSJung-uk Kim 2571c0e1b6dSJung-uk Kim "=" { count (3); return (PARSEOP_EXP_EQUALS); } 2581c0e1b6dSJung-uk Kim "+=" { count (3); return (PARSEOP_EXP_ADD_EQ); } 2591c0e1b6dSJung-uk Kim "-=" { count (3); return (PARSEOP_EXP_SUB_EQ); } 2601c0e1b6dSJung-uk Kim "*=" { count (3); return (PARSEOP_EXP_MUL_EQ); } 2611c0e1b6dSJung-uk Kim "/=" { count (3); return (PARSEOP_EXP_DIV_EQ); } 2621c0e1b6dSJung-uk Kim "%=" { count (3); return (PARSEOP_EXP_MOD_EQ); } 2631c0e1b6dSJung-uk Kim "<<=" { count (3); return (PARSEOP_EXP_SHL_EQ); } 2641c0e1b6dSJung-uk Kim ">>=" { count (3); return (PARSEOP_EXP_SHR_EQ); } 2651c0e1b6dSJung-uk Kim "&=" { count (3); return (PARSEOP_EXP_AND_EQ); } 2661c0e1b6dSJung-uk Kim "^=" { count (3); return (PARSEOP_EXP_XOR_EQ); } 2671c0e1b6dSJung-uk Kim "|=" { count (3); return (PARSEOP_EXP_OR_EQ); } 2681c0e1b6dSJung-uk Kim 269f8146b88SJung-uk Kim "[" { count (3); return (PARSEOP_EXP_INDEX_LEFT); } 270f8146b88SJung-uk Kim "]" { count (0); return (PARSEOP_EXP_INDEX_RIGHT); } 2711cc50d6bSJung-uk Kim "(" { count (0); return (PARSEOP_OPEN_PAREN); } 2721cc50d6bSJung-uk Kim ")" { count (0); return (PARSEOP_CLOSE_PAREN); } 2731cc50d6bSJung-uk Kim 2741cc50d6bSJung-uk Kim "{" { count (0); return ('{'); } 2751cc50d6bSJung-uk Kim "}" { count (0); return ('}'); } 2761cc50d6bSJung-uk Kim "," { count (0); return (','); } 277f8146b88SJung-uk Kim 2781c0e1b6dSJung-uk Kim 2791c0e1b6dSJung-uk Kim /* 2801c0e1b6dSJung-uk Kim * Begin standard ASL grammar 2811c0e1b6dSJung-uk Kim */ 282f15e9afbSJung-uk Kim [0-9][a-zA-Z0-9]* { count (1); AslCompilerlval.i = UtDoConstant ((char *) AslCompilertext); 283f15e9afbSJung-uk Kim return (PARSEOP_INTEGER); } 28453289f6aSNate Lawson 28553289f6aSNate Lawson "Include" { count (1); return (PARSEOP_INCLUDE); } 28653289f6aSNate Lawson "External" { count (1); return (PARSEOP_EXTERNAL); } 28753289f6aSNate Lawson 288eef1b955SJung-uk Kim /* 289eef1b955SJung-uk Kim * The #line directive is emitted by the preprocessor and handled 290eef1b955SJung-uk Kim * here in the main iASL lexer - simply set the line number and 291eef1b955SJung-uk Kim * optionally the current filename. 292eef1b955SJung-uk Kim */ 293eef1b955SJung-uk Kim "#line" { AslDoLineDirective ();} 294eef1b955SJung-uk Kim 295eef1b955SJung-uk Kim 2963f0275a0SJung-uk Kim /**************************************************************************** 2973f0275a0SJung-uk Kim * 2983f0275a0SJung-uk Kim * Main ASL operators 2993f0275a0SJung-uk Kim * 3003f0275a0SJung-uk Kim ****************************************************************************/ 30153289f6aSNate Lawson 30253289f6aSNate Lawson "AccessAs" { count (1); return (PARSEOP_ACCESSAS); } 3033f0275a0SJung-uk Kim "Acquire" { count (3); return (PARSEOP_ACQUIRE); } 3043f0275a0SJung-uk Kim "Add" { count (3); return (PARSEOP_ADD); } 3053f0275a0SJung-uk Kim "Alias" { count (2); return (PARSEOP_ALIAS); } 3063f0275a0SJung-uk Kim "And" { count (3); return (PARSEOP_AND); } 30753289f6aSNate Lawson "BankField" { count (2); return (PARSEOP_BANKFIELD); } 3083f0275a0SJung-uk Kim "Break" { count (3); return (PARSEOP_BREAK); } 3093f0275a0SJung-uk Kim "BreakPoint" { count (3); return (PARSEOP_BREAKPOINT); } 3103f0275a0SJung-uk Kim "Buffer" { count (1); return (PARSEOP_BUFFER); } 3113f0275a0SJung-uk Kim "Case" { count (3); return (PARSEOP_CASE); } 3123f0275a0SJung-uk Kim "Concatenate" { count (3); return (PARSEOP_CONCATENATE); } 3133f0275a0SJung-uk Kim "ConcatenateResTemplate" { count (3); return (PARSEOP_CONCATENATERESTEMPLATE); } 3143f0275a0SJung-uk Kim "CondRefOf" { count (3); return (PARSEOP_CONDREFOF); } 3153f0275a0SJung-uk Kim "Connection" { count (2); return (PARSEOP_CONNECTION); } 3163f0275a0SJung-uk Kim "Continue" { count (3); return (PARSEOP_CONTINUE); } 3173f0275a0SJung-uk Kim "CopyObject" { count (3); return (PARSEOP_COPYOBJECT); } 31853289f6aSNate Lawson "CreateBitField" { count (2); return (PARSEOP_CREATEBITFIELD); } 31953289f6aSNate Lawson "CreateByteField" { count (2); return (PARSEOP_CREATEBYTEFIELD); } 32053289f6aSNate Lawson "CreateDWordField" { count (2); return (PARSEOP_CREATEDWORDFIELD); } 32153289f6aSNate Lawson "CreateField" { count (2); return (PARSEOP_CREATEFIELD); } 32253289f6aSNate Lawson "CreateQWordField" { count (2); return (PARSEOP_CREATEQWORDFIELD); } 32353289f6aSNate Lawson "CreateWordField" { count (2); return (PARSEOP_CREATEWORDFIELD); } 32453289f6aSNate Lawson "DataTableRegion" { count (2); return (PARSEOP_DATATABLEREGION); } 3253f0275a0SJung-uk Kim "Debug" { count (1); return (PARSEOP_DEBUG); } 3263f0275a0SJung-uk Kim "Decrement" { count (3); return (PARSEOP_DECREMENT); } 3273f0275a0SJung-uk Kim "Default" { count (3); return (PARSEOP_DEFAULT); } 328f8146b88SJung-uk Kim "DefinitionBlock" { count (1); return (PARSEOP_DEFINITION_BLOCK); } 3293f0275a0SJung-uk Kim "DeRefOf" { count (3); return (PARSEOP_DEREFOF); } 33053289f6aSNate Lawson "Device" { count (2); return (PARSEOP_DEVICE); } 3313f0275a0SJung-uk Kim "Divide" { count (3); return (PARSEOP_DIVIDE); } 3323f0275a0SJung-uk Kim "Eisaid" { count (1); return (PARSEOP_EISAID); } 33353289f6aSNate Lawson "Else" { count (3); return (PARSEOP_ELSE); } 33453289f6aSNate Lawson "ElseIf" { count (3); return (PARSEOP_ELSEIF); } 3353f0275a0SJung-uk Kim "Event" { count (2); return (PARSEOP_EVENT); } 3363f0275a0SJung-uk Kim "Fatal" { count (3); return (PARSEOP_FATAL); } 3373f0275a0SJung-uk Kim "Field" { count (2); return (PARSEOP_FIELD); } 33853289f6aSNate Lawson "FindSetLeftBit" { count (3); return (PARSEOP_FINDSETLEFTBIT); } 33953289f6aSNate Lawson "FindSetRightBit" { count (3); return (PARSEOP_FINDSETRIGHTBIT); } 3403f0275a0SJung-uk Kim "FromBcd" { count (3); return (PARSEOP_FROMBCD); } 3413f0275a0SJung-uk Kim "Function" { count (2); return (PARSEOP_FUNCTION); } 3423f0275a0SJung-uk Kim "If" { count (3); return (PARSEOP_IF); } 34353289f6aSNate Lawson "Increment" { count (3); return (PARSEOP_INCREMENT); } 34453289f6aSNate Lawson "Index" { count (3); return (PARSEOP_INDEX); } 3453f0275a0SJung-uk Kim "IndexField" { count (2); return (PARSEOP_INDEXFIELD); } 34653289f6aSNate Lawson "LAnd" { count (3); return (PARSEOP_LAND); } 34753289f6aSNate Lawson "LEqual" { count (3); return (PARSEOP_LEQUAL); } 34853289f6aSNate Lawson "LGreater" { count (3); return (PARSEOP_LGREATER); } 34953289f6aSNate Lawson "LGreaterEqual" { count (3); return (PARSEOP_LGREATEREQUAL); } 35053289f6aSNate Lawson "LLess" { count (3); return (PARSEOP_LLESS); } 35153289f6aSNate Lawson "LLessEqual" { count (3); return (PARSEOP_LLESSEQUAL); } 35253289f6aSNate Lawson "LNot" { count (3); return (PARSEOP_LNOT); } 35353289f6aSNate Lawson "LNotEqual" { count (3); return (PARSEOP_LNOTEQUAL); } 3543f0275a0SJung-uk Kim "Load" { count (3); return (PARSEOP_LOAD); } 35553289f6aSNate Lawson "LoadTable" { count (3); return (PARSEOP_LOADTABLE); } 35653289f6aSNate Lawson "LOr" { count (3); return (PARSEOP_LOR); } 35753289f6aSNate Lawson "Match" { count (3); return (PARSEOP_MATCH); } 3583f0275a0SJung-uk Kim "Method" { count (2); return (PARSEOP_METHOD); } 35953289f6aSNate Lawson "Mid" { count (3); return (PARSEOP_MID); } 36053289f6aSNate Lawson "Mod" { count (3); return (PARSEOP_MOD); } 36153289f6aSNate Lawson "Multiply" { count (3); return (PARSEOP_MULTIPLY); } 3623f0275a0SJung-uk Kim "Mutex" { count (2); return (PARSEOP_MUTEX); } 3633f0275a0SJung-uk Kim "Name" { count (2); return (PARSEOP_NAME); } 36453289f6aSNate Lawson "NAnd" { count (3); return (PARSEOP_NAND); } 365efcc2a30SJung-uk Kim "Noop" { if (!AcpiGbl_IgnoreNoopOperator) {count (3); return (PARSEOP_NOOP);} } 36653289f6aSNate Lawson "NOr" { count (3); return (PARSEOP_NOR); } 36753289f6aSNate Lawson "Not" { count (3); return (PARSEOP_NOT); } 3683f0275a0SJung-uk Kim "Notify" { count (3); return (PARSEOP_NOTIFY); } 36953289f6aSNate Lawson "ObjectType" { count (3); return (PARSEOP_OBJECTTYPE); } 3703f0275a0SJung-uk Kim "Offset" { count (1); return (PARSEOP_OFFSET); } 3713f0275a0SJung-uk Kim "One" { count (1); return (PARSEOP_ONE); } 3723f0275a0SJung-uk Kim "Ones" { count (1); return (PARSEOP_ONES); } 3733f0275a0SJung-uk Kim "OperationRegion" { count (2); return (PARSEOP_OPERATIONREGION); } 37453289f6aSNate Lawson "Or" { count (3); return (PARSEOP_OR); } 3753f0275a0SJung-uk Kim "Package" { count (1); return (PARSEOP_PACKAGE); } 3763f0275a0SJung-uk Kim "PowerResource" { count (2); return (PARSEOP_POWERRESOURCE); } 3773f0275a0SJung-uk Kim "Processor" { count (2); return (PARSEOP_PROCESSOR); } 37853289f6aSNate Lawson "RefOf" { count (3); return (PARSEOP_REFOF); } 3793f0275a0SJung-uk Kim "Release" { count (3); return (PARSEOP_RELEASE); } 3803f0275a0SJung-uk Kim "Reset" { count (3); return (PARSEOP_RESET); } 3813f0275a0SJung-uk Kim "Return" { count (3); return (PARSEOP_RETURN); } 3823f0275a0SJung-uk Kim "Revision" { count (1); return (PARSEOP_REVISION); } 3833f0275a0SJung-uk Kim "Scope" { count (2); return (PARSEOP_SCOPE); } 38453289f6aSNate Lawson "ShiftLeft" { count (3); return (PARSEOP_SHIFTLEFT); } 38553289f6aSNate Lawson "ShiftRight" { count (3); return (PARSEOP_SHIFTRIGHT); } 3863f0275a0SJung-uk Kim "Signal" { count (3); return (PARSEOP_SIGNAL); } 38753289f6aSNate Lawson "SizeOf" { count (3); return (PARSEOP_SIZEOF); } 3883f0275a0SJung-uk Kim "Sleep" { count (3); return (PARSEOP_SLEEP); } 3893f0275a0SJung-uk Kim "Stall" { count (3); return (PARSEOP_STALL); } 39053289f6aSNate Lawson "Store" { count (3); return (PARSEOP_STORE); } 39153289f6aSNate Lawson "Subtract" { count (3); return (PARSEOP_SUBTRACT); } 3923f0275a0SJung-uk Kim "Switch" { count (3); return (PARSEOP_SWITCH); } 3933f0275a0SJung-uk Kim "ThermalZone" { count (2); return (PARSEOP_THERMALZONE); } 394c8466860SMark Santcroos "Timer" { count (3); return (PARSEOP_TIMER); } 3953f0275a0SJung-uk Kim "ToBcd" { count (3); return (PARSEOP_TOBCD); } 39653289f6aSNate Lawson "ToBuffer" { count (3); return (PARSEOP_TOBUFFER); } 39753289f6aSNate Lawson "ToDecimalString" { count (3); return (PARSEOP_TODECIMALSTRING); } 39853289f6aSNate Lawson "ToHexString" { count (3); return (PARSEOP_TOHEXSTRING); } 39953289f6aSNate Lawson "ToInteger" { count (3); return (PARSEOP_TOINTEGER); } 40053289f6aSNate Lawson "ToString" { count (3); return (PARSEOP_TOSTRING); } 4013f0275a0SJung-uk Kim "ToUuid" { count (1); return (PARSEOP_TOUUID); } 4023f0275a0SJung-uk Kim "Unicode" { count (1); return (PARSEOP_UNICODE); } 4033f0275a0SJung-uk Kim "Unload" { count (3); return (PARSEOP_UNLOAD); } 40453289f6aSNate Lawson "Wait" { count (3); return (PARSEOP_WAIT); } 4053f0275a0SJung-uk Kim "While" { count (3); return (PARSEOP_WHILE); } 40653289f6aSNate Lawson "XOr" { count (3); return (PARSEOP_XOR); } 4073f0275a0SJung-uk Kim "Zero" { count (1); return (PARSEOP_ZERO); } 4083f0275a0SJung-uk Kim 4093f0275a0SJung-uk Kim /* Control method arguments and locals */ 41053289f6aSNate Lawson 41153289f6aSNate Lawson "Arg0" { count (1); return (PARSEOP_ARG0); } 41253289f6aSNate Lawson "Arg1" { count (1); return (PARSEOP_ARG1); } 41353289f6aSNate Lawson "Arg2" { count (1); return (PARSEOP_ARG2); } 41453289f6aSNate Lawson "Arg3" { count (1); return (PARSEOP_ARG3); } 41553289f6aSNate Lawson "Arg4" { count (1); return (PARSEOP_ARG4); } 41653289f6aSNate Lawson "Arg5" { count (1); return (PARSEOP_ARG5); } 41753289f6aSNate Lawson "Arg6" { count (1); return (PARSEOP_ARG6); } 41853289f6aSNate Lawson "Local0" { count (1); return (PARSEOP_LOCAL0); } 41953289f6aSNate Lawson "Local1" { count (1); return (PARSEOP_LOCAL1); } 42053289f6aSNate Lawson "Local2" { count (1); return (PARSEOP_LOCAL2); } 42153289f6aSNate Lawson "Local3" { count (1); return (PARSEOP_LOCAL3); } 42253289f6aSNate Lawson "Local4" { count (1); return (PARSEOP_LOCAL4); } 42353289f6aSNate Lawson "Local5" { count (1); return (PARSEOP_LOCAL5); } 42453289f6aSNate Lawson "Local6" { count (1); return (PARSEOP_LOCAL6); } 42553289f6aSNate Lawson "Local7" { count (1); return (PARSEOP_LOCAL7); } 42653289f6aSNate Lawson 42753289f6aSNate Lawson 4283f0275a0SJung-uk Kim /**************************************************************************** 4293f0275a0SJung-uk Kim * 4303f0275a0SJung-uk Kim * Resource Descriptor macros 4313f0275a0SJung-uk Kim * 4323f0275a0SJung-uk Kim ****************************************************************************/ 43353289f6aSNate Lawson 43453289f6aSNate Lawson "ResourceTemplate" { count (1); return (PARSEOP_RESOURCETEMPLATE); } 4353f0275a0SJung-uk Kim "RawDataBuffer" { count (1); return (PARSEOP_DATABUFFER); } 4363f0275a0SJung-uk Kim 437cfd1ed46SJung-uk Kim "Csi2Bus" { count (1); return (PARSEOP_CSI2_SERIALBUS); } 43853289f6aSNate Lawson "DMA" { count (1); return (PARSEOP_DMA); } 43953289f6aSNate Lawson "DWordIO" { count (1); return (PARSEOP_DWORDIO); } 44053289f6aSNate Lawson "DWordMemory" { count (1); return (PARSEOP_DWORDMEMORY); } 441*92f570c3SJung-uk Kim "DWordPcc" { count (1); return (PARSEOP_DWORDPCC); } 442c8466860SMark Santcroos "DWordSpace" { count (1); return (PARSEOP_DWORDSPACE); } 44353289f6aSNate Lawson "EndDependentFn" { count (1); return (PARSEOP_ENDDEPENDENTFN); } 444c8466860SMark Santcroos "ExtendedIO" { count (1); return (PARSEOP_EXTENDEDIO); } 445c8466860SMark Santcroos "ExtendedMemory" { count (1); return (PARSEOP_EXTENDEDMEMORY); } 446c8466860SMark Santcroos "ExtendedSpace" { count (1); return (PARSEOP_EXTENDEDSPACE); } 4473f0275a0SJung-uk Kim "FixedDma" { count (1); return (PARSEOP_FIXEDDMA); } 44853289f6aSNate Lawson "FixedIO" { count (1); return (PARSEOP_FIXEDIO); } 4493f0275a0SJung-uk Kim "GpioInt" { count (1); return (PARSEOP_GPIO_INT); } 4503f0275a0SJung-uk Kim "GpioIo" { count (1); return (PARSEOP_GPIO_IO); } 4513f0275a0SJung-uk Kim "I2cSerialBus" { count (1); return (PARSEOP_I2C_SERIALBUS); } 452f8146b88SJung-uk Kim "I2cSerialBusV2" { count (1); return (PARSEOP_I2C_SERIALBUS_V2); } 45353289f6aSNate Lawson "Interrupt" { count (1); return (PARSEOP_INTERRUPT); } 45453289f6aSNate Lawson "IO" { count (1); return (PARSEOP_IO); } 45553289f6aSNate Lawson "IRQ" { count (1); return (PARSEOP_IRQ); } 4563f0275a0SJung-uk Kim "IRQNoFlags" { count (1); return (PARSEOP_IRQNOFLAGS); } 45753289f6aSNate Lawson "Memory24" { count (1); return (PARSEOP_MEMORY24); } 45853289f6aSNate Lawson "Memory32" { count (1); return (PARSEOP_MEMORY32); } 4593f0275a0SJung-uk Kim "Memory32Fixed" { count (1); return (PARSEOP_MEMORY32FIXED); } 460af051161SJung-uk Kim "PinConfig" { count (1); return (PARSEOP_PINCONFIG); } 461af051161SJung-uk Kim "PinFunction" { count (1); return (PARSEOP_PINFUNCTION); } 462af051161SJung-uk Kim "PinGroup" { count (1); return (PARSEOP_PINGROUP); } 463af051161SJung-uk Kim "PinGroupConfig" { count (1); return (PARSEOP_PINGROUPCONFIG); } 464af051161SJung-uk Kim "PinGroupFunction" { count (1); return (PARSEOP_PINGROUPFUNCTION); } 465722b1667SJung-uk Kim "ClockInput" { count (1); return (PARSEOP_CLOCKINPUT); } 46653289f6aSNate Lawson "QWordIO" { count (1); return (PARSEOP_QWORDIO); } 46753289f6aSNate Lawson "QWordMemory" { count (1); return (PARSEOP_QWORDMEMORY); } 468*92f570c3SJung-uk Kim "QWordPcc" { count (1); return (PARSEOP_DWORDPCC); } 469c8466860SMark Santcroos "QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } 47053289f6aSNate Lawson "Register" { count (1); return (PARSEOP_REGISTER); } 4713f0275a0SJung-uk Kim "SpiSerialBus" { count (1); return (PARSEOP_SPI_SERIALBUS); } 472f8146b88SJung-uk Kim "SpiSerialBusV2" { count (1); return (PARSEOP_SPI_SERIALBUS_V2); } 47353289f6aSNate Lawson "StartDependentFn" { count (1); return (PARSEOP_STARTDEPENDENTFN); } 47453289f6aSNate Lawson "StartDependentFnNoPri" { count (1); return (PARSEOP_STARTDEPENDENTFN_NOPRI); } 4753f0275a0SJung-uk Kim "UartSerialBus" { count (1); return (PARSEOP_UART_SERIALBUS); } 476f8146b88SJung-uk Kim "UartSerialBusV2" { count (1); return (PARSEOP_UART_SERIALBUS_V2); } 47753289f6aSNate Lawson "VendorLong" { count (1); return (PARSEOP_VENDORLONG); } 47853289f6aSNate Lawson "VendorShort" { count (1); return (PARSEOP_VENDORSHORT); } 47953289f6aSNate Lawson "WordBusNumber" { count (1); return (PARSEOP_WORDBUSNUMBER); } 48053289f6aSNate Lawson "WordIO" { count (1); return (PARSEOP_WORDIO); } 481*92f570c3SJung-uk Kim "WordPcc" { count (1); return (PARSEOP_DWORDPCC); } 482c8466860SMark Santcroos "WordSpace" { count (1); return (PARSEOP_WORDSPACE); } 48353289f6aSNate Lawson 4843f0275a0SJung-uk Kim 4853f0275a0SJung-uk Kim /**************************************************************************** 4863f0275a0SJung-uk Kim * 4873f0275a0SJung-uk Kim * Keywords used as arguments to ASL operators and macros 4883f0275a0SJung-uk Kim * 4893f0275a0SJung-uk Kim ****************************************************************************/ 4903f0275a0SJung-uk Kim 4913f0275a0SJung-uk Kim /* AccessAttribKeyword: Serial Bus Attributes (ACPI 5.0) */ 4923f0275a0SJung-uk Kim 4933f0275a0SJung-uk Kim "AttribQuick" { count (0); return (PARSEOP_ACCESSATTRIB_QUICK); } 4943f0275a0SJung-uk Kim "AttribSendReceive" { count (0); return (PARSEOP_ACCESSATTRIB_SND_RCV); } 4953f0275a0SJung-uk Kim "AttribByte" { count (0); return (PARSEOP_ACCESSATTRIB_BYTE); } 4963f0275a0SJung-uk Kim "AttribWord" { count (0); return (PARSEOP_ACCESSATTRIB_WORD); } 4973f0275a0SJung-uk Kim "AttribBlock" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK); } 4983f0275a0SJung-uk Kim "AttribProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_WORD_CALL); } 4993f0275a0SJung-uk Kim "AttribBlockProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK_CALL); } 5003f0275a0SJung-uk Kim 5013f0275a0SJung-uk Kim /* AccessAttribKeyword: Legacy synonyms for above (pre-ACPI 5.0) */ 5023f0275a0SJung-uk Kim 5033f0275a0SJung-uk Kim "SMBQuick" { count (0); return (PARSEOP_ACCESSATTRIB_QUICK); } 5043f0275a0SJung-uk Kim "SMBSendReceive" { count (0); return (PARSEOP_ACCESSATTRIB_SND_RCV); } 5053f0275a0SJung-uk Kim "SMBByte" { count (0); return (PARSEOP_ACCESSATTRIB_BYTE); } 5063f0275a0SJung-uk Kim "SMBWord" { count (0); return (PARSEOP_ACCESSATTRIB_WORD); } 5073f0275a0SJung-uk Kim "SMBBlock" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK); } 5083f0275a0SJung-uk Kim "SMBProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_WORD_CALL); } 5093f0275a0SJung-uk Kim "SMBBlockProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK_CALL); } 5103f0275a0SJung-uk Kim 5113f0275a0SJung-uk Kim /* AccessTypeKeyword: Field Access Types */ 5123f0275a0SJung-uk Kim 5133f0275a0SJung-uk Kim "AnyAcc" { count (0); return (PARSEOP_ACCESSTYPE_ANY); } 5143f0275a0SJung-uk Kim "ByteAcc" { count (0); return (PARSEOP_ACCESSTYPE_BYTE); } 5153f0275a0SJung-uk Kim "WordAcc" { count (0); return (PARSEOP_ACCESSTYPE_WORD); } 5163f0275a0SJung-uk Kim "DWordAcc" { count (0); return (PARSEOP_ACCESSTYPE_DWORD); } 5173f0275a0SJung-uk Kim "QWordAcc" { count (0); return (PARSEOP_ACCESSTYPE_QWORD); } 5183f0275a0SJung-uk Kim "BufferAcc" { count (0); return (PARSEOP_ACCESSTYPE_BUF); } 5193f0275a0SJung-uk Kim 5203f0275a0SJung-uk Kim /* AddressingModeKeyword: Mode - Resource Descriptors (ACPI 5.0) */ 5213f0275a0SJung-uk Kim 5223f0275a0SJung-uk Kim "AddressingMode7Bit" { count (0); return (PARSEOP_ADDRESSINGMODE_7BIT); } 5233f0275a0SJung-uk Kim "AddressingMode10Bit" { count (0); return (PARSEOP_ADDRESSINGMODE_10BIT); } 5243f0275a0SJung-uk Kim 5253f0275a0SJung-uk Kim /* AddressKeyword: ACPI memory range types */ 5263f0275a0SJung-uk Kim 5273f0275a0SJung-uk Kim "AddressRangeMemory" { count (0); return (PARSEOP_ADDRESSTYPE_MEMORY); } 5283f0275a0SJung-uk Kim "AddressRangeReserved" { count (0); return (PARSEOP_ADDRESSTYPE_RESERVED); } 5293f0275a0SJung-uk Kim "AddressRangeNVS" { count (0); return (PARSEOP_ADDRESSTYPE_NVS); } 5303f0275a0SJung-uk Kim "AddressRangeACPI" { count (0); return (PARSEOP_ADDRESSTYPE_ACPI); } 5313f0275a0SJung-uk Kim 5323f0275a0SJung-uk Kim /* BusMasterKeyword: DMA Bus Mastering */ 5333f0275a0SJung-uk Kim 5343f0275a0SJung-uk Kim "BusMaster" { count (0); return (PARSEOP_BUSMASTERTYPE_MASTER); } 5353f0275a0SJung-uk Kim "NotBusMaster" { count (0); return (PARSEOP_BUSMASTERTYPE_NOTMASTER); } 5363f0275a0SJung-uk Kim 5373f0275a0SJung-uk Kim /* ByteLengthKeyword: Bits per Byte - Resource Descriptors (ACPI 5.0) */ 5383f0275a0SJung-uk Kim 5393f0275a0SJung-uk Kim "DataBitsFive" { count (0); return (PARSEOP_BITSPERBYTE_FIVE); } 5403f0275a0SJung-uk Kim "DataBitsSix" { count (0); return (PARSEOP_BITSPERBYTE_SIX); } 5413f0275a0SJung-uk Kim "DataBitsSeven" { count (0); return (PARSEOP_BITSPERBYTE_SEVEN); } 5423f0275a0SJung-uk Kim "DataBitsEight" { count (0); return (PARSEOP_BITSPERBYTE_EIGHT); } 5433f0275a0SJung-uk Kim "DataBitsNine" { count (0); return (PARSEOP_BITSPERBYTE_NINE); } 5443f0275a0SJung-uk Kim 5453f0275a0SJung-uk Kim /* ClockPhaseKeyword: Resource Descriptors (ACPI 5.0) */ 5463f0275a0SJung-uk Kim 5473f0275a0SJung-uk Kim "ClockPhaseFirst" { count (0); return (PARSEOP_CLOCKPHASE_FIRST); } 5483f0275a0SJung-uk Kim "ClockPhaseSecond" { count (0); return (PARSEOP_CLOCKPHASE_SECOND); } 5493f0275a0SJung-uk Kim 5503f0275a0SJung-uk Kim /* ClockPolarityKeyword: Resource Descriptors (ACPI 5.0) */ 5513f0275a0SJung-uk Kim 5523f0275a0SJung-uk Kim "ClockPolarityLow" { count (0); return (PARSEOP_CLOCKPOLARITY_LOW); } 5533f0275a0SJung-uk Kim "ClockPolarityHigh" { count (0); return (PARSEOP_CLOCKPOLARITY_HIGH); } 5543f0275a0SJung-uk Kim 5553f0275a0SJung-uk Kim /* DecodeKeyword: Type of Memory Decoding - Resource Descriptors */ 5563f0275a0SJung-uk Kim 5573f0275a0SJung-uk Kim "PosDecode" { count (0); return (PARSEOP_DECODETYPE_POS); } 5583f0275a0SJung-uk Kim "SubDecode" { count (0); return (PARSEOP_DECODETYPE_SUB); } 5593f0275a0SJung-uk Kim 5603f0275a0SJung-uk Kim /* DmaTypeKeyword: DMA Types - DMA Resource Descriptor */ 5613f0275a0SJung-uk Kim 5623f0275a0SJung-uk Kim "Compatibility" { count (0); return (PARSEOP_DMATYPE_COMPATIBILITY); } 5633f0275a0SJung-uk Kim "TypeA" { count (0); return (PARSEOP_DMATYPE_A); } 5643f0275a0SJung-uk Kim "TypeB" { count (0); return (PARSEOP_DMATYPE_B); } 5653f0275a0SJung-uk Kim "TypeF" { count (0); return (PARSEOP_DMATYPE_F); } 5663f0275a0SJung-uk Kim 5673f0275a0SJung-uk Kim /* EndianKeyword: Endian type - Resource Descriptor (ACPI 5.0) */ 5683f0275a0SJung-uk Kim 5693f0275a0SJung-uk Kim "LittleEndian" { count (0); return (PARSEOP_ENDIAN_LITTLE); } 5703f0275a0SJung-uk Kim "BigEndian" { count (0); return (PARSEOP_ENDIAN_BIG); } 5713f0275a0SJung-uk Kim 5723f0275a0SJung-uk Kim /* ExtendedAttribKeyword: Bus attributes, AccessAs operator (ACPI 5.0) */ 5733f0275a0SJung-uk Kim 5746f1f1a63SJung-uk Kim "AttribBytes" { count (0); return (PARSEOP_ACCESSATTRIB_BYTES); } 5753f0275a0SJung-uk Kim "AttribRawBytes" { count (0); return (PARSEOP_ACCESSATTRIB_RAW_BYTES); } 5763f0275a0SJung-uk Kim "AttribRawProcessBytes" { count (0); return (PARSEOP_ACCESSATTRIB_RAW_PROCESS); } 5773f0275a0SJung-uk Kim 5783f0275a0SJung-uk Kim /* FlowControlKeyword: Resource Descriptors (ACPI 5.0) */ 5793f0275a0SJung-uk Kim 5803f0275a0SJung-uk Kim "FlowControlHardware" { count (0); return (PARSEOP_FLOWCONTROL_HW); } 5813f0275a0SJung-uk Kim "FlowControlNone" { count (0); return (PARSEOP_FLOWCONTROL_NONE); } 5823f0275a0SJung-uk Kim "FlowControlXon" { count (0); return (PARSEOP_FLOWCONTROL_SW); } 5833f0275a0SJung-uk Kim 5843f0275a0SJung-uk Kim /* InterruptLevelKeyword: Interrupt Active Types */ 5853f0275a0SJung-uk Kim 5863f0275a0SJung-uk Kim "ActiveBoth" { count (0); return (PARSEOP_INTLEVEL_ACTIVEBOTH); } 5873f0275a0SJung-uk Kim "ActiveHigh" { count (0); return (PARSEOP_INTLEVEL_ACTIVEHIGH); } 5883f0275a0SJung-uk Kim "ActiveLow" { count (0); return (PARSEOP_INTLEVEL_ACTIVELOW); } 5893f0275a0SJung-uk Kim 5903f0275a0SJung-uk Kim /* InterruptTypeKeyword: Interrupt Types */ 5913f0275a0SJung-uk Kim 5923f0275a0SJung-uk Kim "Edge" { count (0); return (PARSEOP_INTTYPE_EDGE); } 5933f0275a0SJung-uk Kim "Level" { count (0); return (PARSEOP_INTTYPE_LEVEL); } 5943f0275a0SJung-uk Kim 5953f0275a0SJung-uk Kim /* IoDecodeKeyword: Type of Memory Decoding - Resource Descriptors */ 5963f0275a0SJung-uk Kim 5973f0275a0SJung-uk Kim "Decode10" { count (0); return (PARSEOP_IODECODETYPE_10); } 5983f0275a0SJung-uk Kim "Decode16" { count (0); return (PARSEOP_IODECODETYPE_16); } 5993f0275a0SJung-uk Kim 6003f0275a0SJung-uk Kim /* IoRestrictionKeyword: I/O Restriction - GPIO Resource Descriptors (ACPI 5.0) */ 6013f0275a0SJung-uk Kim 6023f0275a0SJung-uk Kim "IoRestrictionNone" { count (0); return (PARSEOP_IORESTRICT_NONE); } 6033f0275a0SJung-uk Kim "IoRestrictionInputOnly" { count (0); return (PARSEOP_IORESTRICT_IN); } 6043f0275a0SJung-uk Kim "IoRestrictionOutputOnly" { count (0); return (PARSEOP_IORESTRICT_OUT); } 6053f0275a0SJung-uk Kim "IoRestrictionNoneAndPreserve" { count (0); return (PARSEOP_IORESTRICT_PRESERVE); } 6063f0275a0SJung-uk Kim 6073f0275a0SJung-uk Kim /* LockRuleKeyword: Global Lock use for Field Operator */ 6083f0275a0SJung-uk Kim 6093f0275a0SJung-uk Kim "Lock" { count (0); return (PARSEOP_LOCKRULE_LOCK); } 6103f0275a0SJung-uk Kim "NoLock" { count (0); return (PARSEOP_LOCKRULE_NOLOCK); } 6113f0275a0SJung-uk Kim 6123f0275a0SJung-uk Kim /* MatchOpKeyword: Types for Match Operator */ 6133f0275a0SJung-uk Kim 6143f0275a0SJung-uk Kim "MTR" { count (0); return (PARSEOP_MATCHTYPE_MTR); } 6153f0275a0SJung-uk Kim "MEQ" { count (0); return (PARSEOP_MATCHTYPE_MEQ); } 6163f0275a0SJung-uk Kim "MLE" { count (0); return (PARSEOP_MATCHTYPE_MLE); } 6173f0275a0SJung-uk Kim "MLT" { count (0); return (PARSEOP_MATCHTYPE_MLT); } 6183f0275a0SJung-uk Kim "MGE" { count (0); return (PARSEOP_MATCHTYPE_MGE); } 6193f0275a0SJung-uk Kim "MGT" { count (0); return (PARSEOP_MATCHTYPE_MGT); } 6203f0275a0SJung-uk Kim 6213f0275a0SJung-uk Kim /* MaxKeyword: Max Range Type - Resource Descriptors */ 6223f0275a0SJung-uk Kim 6233f0275a0SJung-uk Kim "MaxFixed" { count (0); return (PARSEOP_MAXTYPE_FIXED); } 6243f0275a0SJung-uk Kim "MaxNotFixed" { count (0); return (PARSEOP_MAXTYPE_NOTFIXED); } 6253f0275a0SJung-uk Kim 6263f0275a0SJung-uk Kim /* MemTypeKeyword: Memory Types - Resource Descriptors */ 6273f0275a0SJung-uk Kim 6283f0275a0SJung-uk Kim "Cacheable" { count (0); return (PARSEOP_MEMTYPE_CACHEABLE); } 6293f0275a0SJung-uk Kim "WriteCombining" { count (0); return (PARSEOP_MEMTYPE_WRITECOMBINING); } 6303f0275a0SJung-uk Kim "Prefetchable" { count (0); return (PARSEOP_MEMTYPE_PREFETCHABLE); } 6313f0275a0SJung-uk Kim "NonCacheable" { count (0); return (PARSEOP_MEMTYPE_NONCACHEABLE); } 6323f0275a0SJung-uk Kim 6333f0275a0SJung-uk Kim /* MinKeyword: Min Range Type - Resource Descriptors */ 6343f0275a0SJung-uk Kim 6353f0275a0SJung-uk Kim "MinFixed" { count (0); return (PARSEOP_MINTYPE_FIXED); } 6363f0275a0SJung-uk Kim "MinNotFixed" { count (0); return (PARSEOP_MINTYPE_NOTFIXED); } 6373f0275a0SJung-uk Kim 6383f0275a0SJung-uk Kim /* ObjectTypeKeyword: ACPI Object Types */ 6393f0275a0SJung-uk Kim 64053289f6aSNate Lawson "UnknownObj" { count (0); return (PARSEOP_OBJECTTYPE_UNK); } 64153289f6aSNate Lawson "IntObj" { count (0); return (PARSEOP_OBJECTTYPE_INT); } 64253289f6aSNate Lawson "StrObj" { count (0); return (PARSEOP_OBJECTTYPE_STR); } 64353289f6aSNate Lawson "BuffObj" { count (0); return (PARSEOP_OBJECTTYPE_BUF); } 64453289f6aSNate Lawson "PkgObj" { count (0); return (PARSEOP_OBJECTTYPE_PKG); } 64553289f6aSNate Lawson "FieldUnitObj" { count (0); return (PARSEOP_OBJECTTYPE_FLD); } 64653289f6aSNate Lawson "DeviceObj" { count (0); return (PARSEOP_OBJECTTYPE_DEV); } 64753289f6aSNate Lawson "EventObj" { count (0); return (PARSEOP_OBJECTTYPE_EVT); } 64853289f6aSNate Lawson "MethodObj" { count (0); return (PARSEOP_OBJECTTYPE_MTH); } 64953289f6aSNate Lawson "MutexObj" { count (0); return (PARSEOP_OBJECTTYPE_MTX); } 65053289f6aSNate Lawson "OpRegionObj" { count (0); return (PARSEOP_OBJECTTYPE_OPR); } 65153289f6aSNate Lawson "PowerResObj" { count (0); return (PARSEOP_OBJECTTYPE_POW); } 652fba7fc7eSJung-uk Kim "ProcessorObj" { count (0); return (PARSEOP_OBJECTTYPE_PRO); } 65353289f6aSNate Lawson "ThermalZoneObj" { count (0); return (PARSEOP_OBJECTTYPE_THZ); } 65453289f6aSNate Lawson "BuffFieldObj" { count (0); return (PARSEOP_OBJECTTYPE_BFF); } 65553289f6aSNate Lawson "DDBHandleObj" { count (0); return (PARSEOP_OBJECTTYPE_DDB); } 65653289f6aSNate Lawson 6573f0275a0SJung-uk Kim /* ParityKeyword: Resource Descriptors (ACPI 5.0) */ 65853289f6aSNate Lawson 6593f0275a0SJung-uk Kim "ParityTypeSpace" { count (0); return (PARSEOP_PARITYTYPE_SPACE); } 6603f0275a0SJung-uk Kim "ParityTypeMark" { count (0); return (PARSEOP_PARITYTYPE_MARK); } 6613f0275a0SJung-uk Kim "ParityTypeOdd" { count (0); return (PARSEOP_PARITYTYPE_ODD); } 6623f0275a0SJung-uk Kim "ParityTypeEven" { count (0); return (PARSEOP_PARITYTYPE_EVEN); } 6633f0275a0SJung-uk Kim "ParityTypeNone" { count (0); return (PARSEOP_PARITYTYPE_NONE); } 66453289f6aSNate Lawson 6653f0275a0SJung-uk Kim /* PinConfigKeyword: Pin Configuration - GPIO Resource Descriptors (ACPI 5.0) */ 66653289f6aSNate Lawson 6673f0275a0SJung-uk Kim "PullDefault" { count (0); return (PARSEOP_PIN_PULLDEFAULT); } 6683f0275a0SJung-uk Kim "PullUp" { count (0); return (PARSEOP_PIN_PULLUP); } 6693f0275a0SJung-uk Kim "PullDown" { count (0); return (PARSEOP_PIN_PULLDOWN); } 6703f0275a0SJung-uk Kim "PullNone" { count (0); return (PARSEOP_PIN_NOPULL); } 6713f0275a0SJung-uk Kim 672722b1667SJung-uk Kim /* ClockScaleKeyword: Resource Descriptors (ACPI 6.5) */ 673722b1667SJung-uk Kim 674722b1667SJung-uk Kim "Hz" { count (0); return (PARSEOP_CLOCK_HZ); } 675722b1667SJung-uk Kim "KHz" { count (0); return (PARSEOP_CLOCK_KHZ); } 676722b1667SJung-uk Kim "MHz" { count (0); return (PARSEOP_CLOCK_MHZ); } 677722b1667SJung-uk Kim 678722b1667SJung-uk Kim /* ClockModeKeyword: Resource Descriptors (ACPI 6.5) */ 679722b1667SJung-uk Kim 680722b1667SJung-uk Kim "Fixed" { count (0); return (PARSEOP_CLOCK_FIXED); } 681722b1667SJung-uk Kim "Variable" { count (0); return (PARSEOP_CLOCK_VARIABLE); } 682722b1667SJung-uk Kim 6833f0275a0SJung-uk Kim /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */ 6843f0275a0SJung-uk Kim 6853f0275a0SJung-uk Kim "PolarityLow" { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); } 6863f0275a0SJung-uk Kim "PolarityHigh" { count (0); return (PARSEOP_DEVICEPOLARITY_HIGH); } 6873f0275a0SJung-uk Kim 6883f0275a0SJung-uk Kim /* RangeTypeKeyword: I/O Range Types - Resource Descriptors */ 6893f0275a0SJung-uk Kim 6903f0275a0SJung-uk Kim "ISAOnlyRanges" { count (0); return (PARSEOP_RANGETYPE_ISAONLY); } 6913f0275a0SJung-uk Kim "NonISAOnlyRanges" { count (0); return (PARSEOP_RANGETYPE_NONISAONLY); } 6923f0275a0SJung-uk Kim "EntireRange" { count (0); return (PARSEOP_RANGETYPE_ENTIRE); } 6933f0275a0SJung-uk Kim 6943f0275a0SJung-uk Kim /* ReadWriteKeyword: Memory Access Types - Resource Descriptors */ 6953f0275a0SJung-uk Kim 6963f0275a0SJung-uk Kim "ReadWrite" { count (0); return (PARSEOP_READWRITETYPE_BOTH); } 6973f0275a0SJung-uk Kim "ReadOnly" { count (0); return (PARSEOP_READWRITETYPE_READONLY); } 6983f0275a0SJung-uk Kim 6993f0275a0SJung-uk Kim /* RegionSpaceKeyword: Operation Region Address Space Types */ 70053289f6aSNate Lawson 70153289f6aSNate Lawson "SystemIO" { count (0); return (PARSEOP_REGIONSPACE_IO); } 70253289f6aSNate Lawson "SystemMemory" { count (0); return (PARSEOP_REGIONSPACE_MEM); } 70353289f6aSNate Lawson "PCI_Config" { count (0); return (PARSEOP_REGIONSPACE_PCI); } 70453289f6aSNate Lawson "EmbeddedControl" { count (0); return (PARSEOP_REGIONSPACE_EC); } 70553289f6aSNate Lawson "SMBus" { count (0); return (PARSEOP_REGIONSPACE_SMBUS); } 70653289f6aSNate Lawson "SystemCMOS" { count (0); return (PARSEOP_REGIONSPACE_CMOS); } 70753289f6aSNate Lawson "PciBarTarget" { count (0); return (PARSEOP_REGIONSPACE_PCIBAR); } 708d6dd1baeSJung-uk Kim "IPMI" { count (0); return (PARSEOP_REGIONSPACE_IPMI); } 7093f0275a0SJung-uk Kim "GeneralPurposeIo" { count (0); return (PARSEOP_REGIONSPACE_GPIO); } /* ACPI 5.0 */ 7103f0275a0SJung-uk Kim "GenericSerialBus" { count (0); return (PARSEOP_REGIONSPACE_GSBUS); } /* ACPI 5.0 */ 7113ee58df5SJung-uk Kim "PCC" { count (0); return (PARSEOP_REGIONSPACE_PCC); } /* ACPI 5.0 */ 7120b229c80SJung-uk Kim "PlatformRtMechanism" { count (0); return (PARSEOP_REGIONSPACE_PRM); } 7133f0275a0SJung-uk Kim "FFixedHW" { count (0); return (PARSEOP_REGIONSPACE_FFIXEDHW); } 71453289f6aSNate Lawson 7153f0275a0SJung-uk Kim /* ResourceTypeKeyword: Resource Usage - Resource Descriptors */ 71653289f6aSNate Lawson 7173f0275a0SJung-uk Kim "ResourceConsumer" { count (0); return (PARSEOP_RESOURCETYPE_CONSUMER); } 7183f0275a0SJung-uk Kim "ResourceProducer" { count (0); return (PARSEOP_RESOURCETYPE_PRODUCER); } 71953289f6aSNate Lawson 7203f0275a0SJung-uk Kim /* SerializeRuleKeyword: Control Method Serialization */ 72153289f6aSNate Lawson 7223f0275a0SJung-uk Kim "Serialized" { count (0); return (PARSEOP_SERIALIZERULE_SERIAL); } 7233f0275a0SJung-uk Kim "NotSerialized" { count (0); return (PARSEOP_SERIALIZERULE_NOTSERIAL); } 72453289f6aSNate Lawson 7253f0275a0SJung-uk Kim /* ShareTypeKeyword: Interrupt Sharing - Resource Descriptors */ 7263f0275a0SJung-uk Kim 7273f0275a0SJung-uk Kim "Shared" { count (0); return (PARSEOP_SHARETYPE_SHARED); } 7283f0275a0SJung-uk Kim "Exclusive" { count (0); return (PARSEOP_SHARETYPE_EXCLUSIVE); } 7293f0275a0SJung-uk Kim "SharedAndWake" { count (0); return (PARSEOP_SHARETYPE_SHAREDWAKE); } /* ACPI 5.0 */ 7303f0275a0SJung-uk Kim "ExclusiveAndWake" { count (0); return (PARSEOP_SHARETYPE_EXCLUSIVEWAKE); } /* ACPI 5.0 */ 7313f0275a0SJung-uk Kim 7323f0275a0SJung-uk Kim /* SlaveModeKeyword: Resource Descriptors (ACPI 5.0) */ 7333f0275a0SJung-uk Kim 7343f0275a0SJung-uk Kim "ControllerInitiated" { count (0); return (PARSEOP_SLAVEMODE_CONTROLLERINIT); } 7353f0275a0SJung-uk Kim "DeviceInitiated" { count (0); return (PARSEOP_SLAVEMODE_DEVICEINIT); } 7363f0275a0SJung-uk Kim 7373f0275a0SJung-uk Kim /* StopBitsKeyword: Resource Descriptors (ACPI 5.0) */ 7383f0275a0SJung-uk Kim 7393f0275a0SJung-uk Kim "StopBitsOne" { count (0); return (PARSEOP_STOPBITS_ONE); } 7403f0275a0SJung-uk Kim "StopBitsOnePlusHalf" { count (0); return (PARSEOP_STOPBITS_ONEPLUSHALF); } 7413f0275a0SJung-uk Kim "StopBitsTwo" { count (0); return (PARSEOP_STOPBITS_TWO); } 7423f0275a0SJung-uk Kim "StopBitsZero" { count (0); return (PARSEOP_STOPBITS_ZERO); } 7433f0275a0SJung-uk Kim 7443f0275a0SJung-uk Kim /* TransferWidthKeyword: DMA Widths - Fixed DMA Resource Descriptor (ACPI 5.0) */ 7453f0275a0SJung-uk Kim 7463f0275a0SJung-uk Kim "Width8bit" { count (0); return (PARSEOP_XFERSIZE_8); } 7473f0275a0SJung-uk Kim "Width16bit" { count (0); return (PARSEOP_XFERSIZE_16); } 7483f0275a0SJung-uk Kim "Width32bit" { count (0); return (PARSEOP_XFERSIZE_32); } 7493f0275a0SJung-uk Kim "Width64bit" { count (0); return (PARSEOP_XFERSIZE_64); } 7503f0275a0SJung-uk Kim "Width128bit" { count (0); return (PARSEOP_XFERSIZE_128); } 7513f0275a0SJung-uk Kim "Width256bit" { count (0); return (PARSEOP_XFERSIZE_256); } 7523f0275a0SJung-uk Kim 7533f0275a0SJung-uk Kim /* TranslationKeyword: Translation Density Types - Resource Descriptors */ 7543f0275a0SJung-uk Kim 7553f0275a0SJung-uk Kim "SparseTranslation" { count (0); return (PARSEOP_TRANSLATIONTYPE_SPARSE); } 7563f0275a0SJung-uk Kim "DenseTranslation" { count (0); return (PARSEOP_TRANSLATIONTYPE_DENSE); } 7573f0275a0SJung-uk Kim 7583f0275a0SJung-uk Kim /* TypeKeyword: Translation Types - Resource Descriptors */ 7593f0275a0SJung-uk Kim 7603f0275a0SJung-uk Kim "TypeTranslation" { count (0); return (PARSEOP_TYPE_TRANSLATION); } 7613f0275a0SJung-uk Kim "TypeStatic" { count (0); return (PARSEOP_TYPE_STATIC); } 7623f0275a0SJung-uk Kim 7633f0275a0SJung-uk Kim /* UpdateRuleKeyword: Field Update Rules */ 7643f0275a0SJung-uk Kim 7653f0275a0SJung-uk Kim "Preserve" { count (0); return (PARSEOP_UPDATERULE_PRESERVE); } 7663f0275a0SJung-uk Kim "WriteAsOnes" { count (0); return (PARSEOP_UPDATERULE_ONES); } 7673f0275a0SJung-uk Kim "WriteAsZeros" { count (0); return (PARSEOP_UPDATERULE_ZEROS); } 7683f0275a0SJung-uk Kim 7693f0275a0SJung-uk Kim /* WireModeKeyword: SPI Wire Mode - Resource Descriptors (ACPI 5.0) */ 7703f0275a0SJung-uk Kim 7713f0275a0SJung-uk Kim "FourWireMode" { count (0); return (PARSEOP_WIREMODE_FOUR); } 7723f0275a0SJung-uk Kim "ThreeWireMode" { count (0); return (PARSEOP_WIREMODE_THREE); } 7733f0275a0SJung-uk Kim 7743f0275a0SJung-uk Kim /* XferTypeKeyword: DMA Transfer Types */ 77553289f6aSNate Lawson 77653289f6aSNate Lawson "Transfer8" { count (0); return (PARSEOP_XFERTYPE_8); } 77753289f6aSNate Lawson "Transfer8_16" { count (0); return (PARSEOP_XFERTYPE_8_16); } 77853289f6aSNate Lawson "Transfer16" { count (0); return (PARSEOP_XFERTYPE_16); } 77953289f6aSNate Lawson 7801c0e1b6dSJung-uk Kim /* ToPld macro */ 7811c0e1b6dSJung-uk Kim 7821c0e1b6dSJung-uk Kim "ToPLD" { count (0); return (PARSEOP_TOPLD); } 7831c0e1b6dSJung-uk Kim 7841c0e1b6dSJung-uk Kim "PLD_Revision" { count (0); return (PARSEOP_PLD_REVISION); } 7851c0e1b6dSJung-uk Kim "PLD_IgnoreColor" { count (0); return (PARSEOP_PLD_IGNORECOLOR); } 7861c0e1b6dSJung-uk Kim "PLD_Red" { count (0); return (PARSEOP_PLD_RED); } 7871c0e1b6dSJung-uk Kim "PLD_Green" { count (0); return (PARSEOP_PLD_GREEN); } 7881c0e1b6dSJung-uk Kim "PLD_Blue" { count (0); return (PARSEOP_PLD_BLUE); } 7891c0e1b6dSJung-uk Kim "PLD_Width" { count (0); return (PARSEOP_PLD_WIDTH); } 7901c0e1b6dSJung-uk Kim "PLD_Height" { count (0); return (PARSEOP_PLD_HEIGHT); } 7911c0e1b6dSJung-uk Kim "PLD_UserVisible" { count (0); return (PARSEOP_PLD_USERVISIBLE); } 7921c0e1b6dSJung-uk Kim "PLD_Dock" { count (0); return (PARSEOP_PLD_DOCK); } 7931c0e1b6dSJung-uk Kim "PLD_Lid" { count (0); return (PARSEOP_PLD_LID); } 7941c0e1b6dSJung-uk Kim "PLD_Panel" { count (0); return (PARSEOP_PLD_PANEL); } 7951c0e1b6dSJung-uk Kim "PLD_VerticalPosition" { count (0); return (PARSEOP_PLD_VERTICALPOSITION); } 7961c0e1b6dSJung-uk Kim "PLD_HorizontalPosition" { count (0); return (PARSEOP_PLD_HORIZONTALPOSITION); } 7971c0e1b6dSJung-uk Kim "PLD_Shape" { count (0); return (PARSEOP_PLD_SHAPE); } 7981c0e1b6dSJung-uk Kim "PLD_GroupOrientation" { count (0); return (PARSEOP_PLD_GROUPORIENTATION); } 7991c0e1b6dSJung-uk Kim "PLD_GroupToken" { count (0); return (PARSEOP_PLD_GROUPTOKEN); } 8001c0e1b6dSJung-uk Kim "PLD_GroupPosition" { count (0); return (PARSEOP_PLD_GROUPPOSITION); } 8011c0e1b6dSJung-uk Kim "PLD_Bay" { count (0); return (PARSEOP_PLD_BAY); } 8021c0e1b6dSJung-uk Kim "PLD_Ejectable" { count (0); return (PARSEOP_PLD_EJECTABLE); } 8031c0e1b6dSJung-uk Kim "PLD_EjectRequired" { count (0); return (PARSEOP_PLD_EJECTREQUIRED); } 8041c0e1b6dSJung-uk Kim "PLD_CabinetNumber" { count (0); return (PARSEOP_PLD_CABINETNUMBER); } 8051c0e1b6dSJung-uk Kim "PLD_CardCageNumber" { count (0); return (PARSEOP_PLD_CARDCAGENUMBER); } 8061c0e1b6dSJung-uk Kim "PLD_Reference" { count (0); return (PARSEOP_PLD_REFERENCE); } 8071c0e1b6dSJung-uk Kim "PLD_Rotation" { count (0); return (PARSEOP_PLD_ROTATION); } 8081c0e1b6dSJung-uk Kim "PLD_Order" { count (0); return (PARSEOP_PLD_ORDER); } 8091c0e1b6dSJung-uk Kim "PLD_Reserved" { count (0); return (PARSEOP_PLD_RESERVED); } 8101c0e1b6dSJung-uk Kim "PLD_VerticalOffset" { count (0); return (PARSEOP_PLD_VERTICALOFFSET); } 8111c0e1b6dSJung-uk Kim "PLD_HorizontalOffset" { count (0); return (PARSEOP_PLD_HORIZONTALOFFSET); } 8121c0e1b6dSJung-uk Kim 8131c0e1b6dSJung-uk Kim 8141c0e1b6dSJung-uk Kim /* printf debug macros */ 815f8146b88SJung-uk Kim 8161c0e1b6dSJung-uk Kim "printf" { count (0); return (PARSEOP_PRINTF); } 8171c0e1b6dSJung-uk Kim "fprintf" { count (0); return (PARSEOP_FPRINTF); } 8181c0e1b6dSJung-uk Kim 819f8146b88SJung-uk Kim /* Other macros */ 820f8146b88SJung-uk Kim 821f8146b88SJung-uk Kim "For" { count (0); return (PARSEOP_FOR); } 822f8146b88SJung-uk Kim 8233f0275a0SJung-uk Kim /* Predefined compiler names */ 82453289f6aSNate Lawson 8250b94ba42SJung-uk Kim "__DATE__" { count (0); return (PARSEOP___DATE__); } 8260b94ba42SJung-uk Kim "__FILE__" { count (0); return (PARSEOP___FILE__); } 8270b94ba42SJung-uk Kim "__LINE__" { count (0); return (PARSEOP___LINE__); } 8283f0275a0SJung-uk Kim "__PATH__" { count (0); return (PARSEOP___PATH__); } 8295f9b24faSJung-uk Kim "__METHOD__" { count (0); return (PARSEOP___METHOD__); } 8303ee58df5SJung-uk Kim "__EXPECT__"{ErrorCode} { char *s; 831385fb5d9SJung-uk Kim unsigned int index = 0; 8323ee58df5SJung-uk Kim count (0); 833385fb5d9SJung-uk Kim while (!isdigit ((int) AslCompilertext[index])) 8343ee58df5SJung-uk Kim { 8353ee58df5SJung-uk Kim index++; 8363ee58df5SJung-uk Kim } 8373ee58df5SJung-uk Kim 8383ee58df5SJung-uk Kim /* 83908ddfe86SJung-uk Kim * The error code is contained inside the 8403ee58df5SJung-uk Kim * {ErrorCode} pattern. Extract it and log it 8413ee58df5SJung-uk Kim * as the expected error code. 8423ee58df5SJung-uk Kim */ 8433ee58df5SJung-uk Kim s = UtLocalCacheCalloc (ASL_ERROR_CODE_LENGTH + 1); 8443ee58df5SJung-uk Kim memcpy (s, AslCompilertext + index, ASL_ERROR_CODE_LENGTH); 8453ee58df5SJung-uk Kim AslLogExpectedExceptionByLine (s); } 84653289f6aSNate Lawson 84753289f6aSNate Lawson {NameSeg} { char *s; 84853289f6aSNate Lawson count (0); 849278f0de6SJung-uk Kim s=UtLocalCacheCalloc (ACPI_NAMESEG_SIZE + 1); 85053289f6aSNate Lawson if (strcmp (AslCompilertext, "\\")) 85153289f6aSNate Lawson { 852cd6518c7SJung-uk Kim /* 853cd6518c7SJung-uk Kim * According to the ACPI specification, 854cd6518c7SJung-uk Kim * NameSegments must have length of 4. If 855cd6518c7SJung-uk Kim * the NameSegment has length less than 4, 856cd6518c7SJung-uk Kim * they are padded with underscores to meet 857cd6518c7SJung-uk Kim * the required length. 858cd6518c7SJung-uk Kim */ 85953289f6aSNate Lawson strcpy (s, "____"); 86053289f6aSNate Lawson } 86153289f6aSNate Lawson memcpy (s, AslCompilertext, strlen (AslCompilertext)); 86253289f6aSNate Lawson AslCompilerlval.s = s; 86353289f6aSNate Lawson DbgPrint (ASL_PARSE_OUTPUT, "NameSeg: %s\n", s); 86453289f6aSNate Lawson return (PARSEOP_NAMESEG); } 86553289f6aSNate Lawson 86653289f6aSNate Lawson {NameString} { char *s; 86753289f6aSNate Lawson count (0); 86867d9aa44SJung-uk Kim s=UtLocalCacheCalloc (strlen (AslCompilertext)+1); 86953289f6aSNate Lawson strcpy (s, AslCompilertext); 87053289f6aSNate Lawson AslCompilerlval.s = s; 87153289f6aSNate Lawson DbgPrint (ASL_PARSE_OUTPUT, "NameString: %s\n", s); 87253289f6aSNate Lawson return (PARSEOP_NAMESTRING); } 87353289f6aSNate Lawson 87453289f6aSNate Lawson . { count (1); 8755ef50723SJung-uk Kim if (isprint ((int) *AslCompilertext)) 876a371a5fdSJung-uk Kim { 8776f1f1a63SJung-uk Kim sprintf (AslGbl_MsgBuffer, 878a371a5fdSJung-uk Kim "Invalid character (%c), expecting ASL keyword or name", 879a371a5fdSJung-uk Kim *AslCompilertext); 880a371a5fdSJung-uk Kim } 881a371a5fdSJung-uk Kim else 882a371a5fdSJung-uk Kim { 8836f1f1a63SJung-uk Kim sprintf (AslGbl_MsgBuffer, 88453289f6aSNate Lawson "Invalid character (0x%2.2X), expecting ASL keyword or name", 88553289f6aSNate Lawson *AslCompilertext); 886a371a5fdSJung-uk Kim } 8876f1f1a63SJung-uk Kim AslCompilererror (AslGbl_MsgBuffer);} 88853289f6aSNate Lawson 88953289f6aSNate Lawson <<EOF>> { if (AslPopInputFileStack ()) 890313a0c13SJung-uk Kim {yyterminate();} 89153289f6aSNate Lawson else 892313a0c13SJung-uk Kim {return (PARSEOP_INCLUDE_END);} }; 89353289f6aSNate Lawson 89453289f6aSNate Lawson %% 89553289f6aSNate Lawson 89653289f6aSNate Lawson /*! [End] no source code translation !*/ 89753289f6aSNate Lawson 89853289f6aSNate Lawson /* 899eef1b955SJung-uk Kim * Bring in the scanner support routines 90053289f6aSNate Lawson */ 901eef1b955SJung-uk Kim #include <contrib/dev/acpica/compiler/aslsupport.l> 902