1118611Snjl%{ 2118611Snjl/****************************************************************************** 3118611Snjl * 4228110Sjkim * Module Name: aslcompiler.l - Flex/lex input file 5118611Snjl * 6118611Snjl *****************************************************************************/ 7118611Snjl 8217365Sjkim/* 9306536Sjkim * Copyright (C) 2000 - 2016, Intel Corp. 10118611Snjl * All rights reserved. 11118611Snjl * 12217365Sjkim * Redistribution and use in source and binary forms, with or without 13217365Sjkim * modification, are permitted provided that the following conditions 14217365Sjkim * are met: 15217365Sjkim * 1. Redistributions of source code must retain the above copyright 16217365Sjkim * notice, this list of conditions, and the following disclaimer, 17217365Sjkim * without modification. 18217365Sjkim * 2. Redistributions in binary form must reproduce at minimum a disclaimer 19217365Sjkim * substantially similar to the "NO WARRANTY" disclaimer below 20217365Sjkim * ("Disclaimer") and any redistribution must be conditioned upon 21217365Sjkim * including a substantially similar Disclaimer requirement for further 22217365Sjkim * binary redistribution. 23217365Sjkim * 3. Neither the names of the above-listed copyright holders nor the names 24217365Sjkim * of any contributors may be used to endorse or promote products derived 25217365Sjkim * from this software without specific prior written permission. 26118611Snjl * 27217365Sjkim * Alternatively, this software may be distributed under the terms of the 28217365Sjkim * GNU General Public License ("GPL") version 2 as published by the Free 29217365Sjkim * Software Foundation. 30118611Snjl * 31217365Sjkim * NO WARRANTY 32217365Sjkim * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 33217365Sjkim * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 34217365Sjkim * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR 35217365Sjkim * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 36217365Sjkim * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 37217365Sjkim * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 38217365Sjkim * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 39217365Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 40217365Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 41217365Sjkim * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 42217365Sjkim * POSSIBILITY OF SUCH DAMAGES. 43217365Sjkim */ 44118611Snjl 45217365Sjkim#include <contrib/dev/acpica/compiler/aslcompiler.h> 46217365Sjkim#include "aslcompiler.y.h" 47118611Snjl 48118611Snjl#include <stdlib.h> 49118611Snjl#include <string.h> 50118611SnjlYYSTYPE AslCompilerlval; 51118611Snjl 52118611Snjl/* 53118611Snjl * Generation: Use the following command line: 54118611Snjl * 55118611Snjl * flex.exe -PAslCompiler -i -o$(InputPath).c $(InputPath) 56118611Snjl * 57118611Snjl * -i: Scanner must be case-insensitive 58118611Snjl */ 59118611Snjl 60118611Snjl#define _COMPONENT ACPI_COMPILER 61234623Sjkim ACPI_MODULE_NAME ("aslscanner") 62228110Sjkim 63234623Sjkim 64228110Sjkim/* Local prototypes */ 65228110Sjkim 66234623Sjkimstatic void 67234623SjkimAslDoLineDirective (void); 68234623Sjkim 69234623Sjkimstatic char 70234623SjkimAslDoComment (void); 71234623Sjkim 72234623Sjkimstatic char 73234623SjkimAslDoCommentType2 (void); 74234623Sjkim 75234623Sjkimstatic char 76234623SjkimAslDoStringLiteral (void); 77234623Sjkim 78234623Sjkimstatic void 79118611Snjlcount (int type); 80118611Snjl 81234623Sjkim 82118611Snjl/*! [Begin] no source code translation */ 83118611Snjl 84118611Snjl%} 85228110Sjkim /* Definitions */ 86118611Snjl 87118611SnjlLeadNameChar [A-Za-z_] 88118611SnjlDigitChar [0-9] 89118611SnjlHexDigitChar [A-Fa-f0-9] 90118611SnjlRootChar [\\] 91118611SnjlNothing [] 92118611Snjl 93118611SnjlNameChar [A-Za-z_0-9] 94118611SnjlNameSeg1 {LeadNameChar}{NameChar} 95118611SnjlNameSeg2 {LeadNameChar}{NameChar}{NameChar} 96118611SnjlNameSeg3 {LeadNameChar}{NameChar}{NameChar}{NameChar} 97118611SnjlNameSeg {LeadNameChar}|{NameSeg1}|{NameSeg2}|{NameSeg3} 98118611Snjl 99118611SnjlNameString {RootChar}|{RootChar}{NamePath}|[\^]+{NamePath}|{NonEmptyNamePath} 100118611SnjlNamePath {NonEmptyNamePath}? 101118611SnjlNonEmptyNamePath {NameSeg}{NamePathTail}* 102118611SnjlNamePathTail [.]{NameSeg} 103118611Snjl 104118611Snjl%% 105228110Sjkim /* Rules */ 106118611Snjl 107118611Snjl[ ] { count (0); } 108193529Sjkim[\n] { count (0); } /* Handle files with both LF and CR/LF */ 109193529Sjkim[\r] { count (0); } /* termination on both Unix and Windows */ 110118611Snjl[ \t] { count (0); } 111118611Snjl 112118611Snjl 113281075Sdim"/*" { if (!AslDoComment ()) {yyterminate ();} } 114281075Sdim"//" { if (!AslDoCommentType2 ()) {yyterminate ();} } 115118611Snjl 116281075Sdim"\"" { if (AslDoStringLiteral ()) {return (PARSEOP_STRING_LITERAL);} 117281075Sdim else {yyterminate ();} } 118228110Sjkim";" { count (0); return(';'); } 119118611Snjl 120281075Sdim /* ASL Extension: Standard C operators */ 121118611Snjl 122281075Sdim"~" { count (3); return (PARSEOP_EXP_NOT); } 123281075Sdim"!" { count (3); return (PARSEOP_EXP_LOGICAL_NOT); } 124281075Sdim"*" { count (3); return (PARSEOP_EXP_MULTIPLY); } 125281075Sdim"/" { count (3); return (PARSEOP_EXP_DIVIDE); } 126281075Sdim"%" { count (3); return (PARSEOP_EXP_MODULO); } 127281075Sdim"+" { count (3); return (PARSEOP_EXP_ADD); } 128281075Sdim"-" { count (3); return (PARSEOP_EXP_SUBTRACT); } 129281075Sdim">>" { count (3); return (PARSEOP_EXP_SHIFT_RIGHT); } 130281075Sdim"<<" { count (3); return (PARSEOP_EXP_SHIFT_LEFT); } 131281075Sdim"<" { count (3); return (PARSEOP_EXP_LESS); } 132281075Sdim">" { count (3); return (PARSEOP_EXP_GREATER); } 133281075Sdim"&" { count (3); return (PARSEOP_EXP_AND); } 134281075Sdim"<=" { count (3); return (PARSEOP_EXP_LESS_EQUAL); } 135281075Sdim">=" { count (3); return (PARSEOP_EXP_GREATER_EQUAL); } 136281075Sdim"==" { count (3); return (PARSEOP_EXP_EQUAL); } 137281075Sdim"!=" { count (3); return (PARSEOP_EXP_NOT_EQUAL); } 138281075Sdim"|" { count (3); return (PARSEOP_EXP_OR); } 139281075Sdim"&&" { count (3); return (PARSEOP_EXP_LOGICAL_AND); } 140281075Sdim"||" { count (3); return (PARSEOP_EXP_LOGICAL_OR); } 141281075Sdim"++" { count (3); return (PARSEOP_EXP_INCREMENT); } 142281075Sdim"--" { count (3); return (PARSEOP_EXP_DECREMENT); } 143281075Sdim"^ " { count (3); return (PARSEOP_EXP_XOR); } 144281075Sdim 145281075Sdim /* ASL Extension: Standard C assignment operators */ 146281075Sdim 147281075Sdim"=" { count (3); return (PARSEOP_EXP_EQUALS); } 148281075Sdim"+=" { count (3); return (PARSEOP_EXP_ADD_EQ); } 149281075Sdim"-=" { count (3); return (PARSEOP_EXP_SUB_EQ); } 150281075Sdim"*=" { count (3); return (PARSEOP_EXP_MUL_EQ); } 151281075Sdim"/=" { count (3); return (PARSEOP_EXP_DIV_EQ); } 152281075Sdim"%=" { count (3); return (PARSEOP_EXP_MOD_EQ); } 153281075Sdim"<<=" { count (3); return (PARSEOP_EXP_SHL_EQ); } 154281075Sdim">>=" { count (3); return (PARSEOP_EXP_SHR_EQ); } 155281075Sdim"&=" { count (3); return (PARSEOP_EXP_AND_EQ); } 156281075Sdim"^=" { count (3); return (PARSEOP_EXP_XOR_EQ); } 157281075Sdim"|=" { count (3); return (PARSEOP_EXP_OR_EQ); } 158281075Sdim 159306536Sjkim"[" { count (3); return(PARSEOP_EXP_INDEX_LEFT); } 160306536Sjkim"]" { count (0); return(PARSEOP_EXP_INDEX_RIGHT); } 161281075Sdim 162306536Sjkim 163281075Sdim /* 164281075Sdim * Begin standard ASL grammar 165281075Sdim */ 166118611Snjl0[xX]{HexDigitChar}+ | 167118611Snjl{DigitChar}+ { AslCompilerlval.i = UtDoConstant ((char *) AslCompilertext); 168118611Snjl count (1); return (PARSEOP_INTEGER); } 169118611Snjl 170118611Snjl"Include" { count (1); return (PARSEOP_INCLUDE); } 171118611Snjl"External" { count (1); return (PARSEOP_EXTERNAL); } 172118611Snjl 173234623Sjkim /* 174234623Sjkim * The #line directive is emitted by the preprocessor and handled 175234623Sjkim * here in the main iASL lexer - simply set the line number and 176234623Sjkim * optionally the current filename. 177234623Sjkim */ 178234623Sjkim"#line" { AslDoLineDirective ();} 179234623Sjkim 180234623Sjkim 181228110Sjkim /**************************************************************************** 182228110Sjkim * 183228110Sjkim * Main ASL operators 184228110Sjkim * 185228110Sjkim ****************************************************************************/ 186118611Snjl 187118611Snjl"AccessAs" { count (1); return (PARSEOP_ACCESSAS); } 188228110Sjkim"Acquire" { count (3); return (PARSEOP_ACQUIRE); } 189228110Sjkim"Add" { count (3); return (PARSEOP_ADD); } 190228110Sjkim"Alias" { count (2); return (PARSEOP_ALIAS); } 191228110Sjkim"And" { count (3); return (PARSEOP_AND); } 192118611Snjl"BankField" { count (2); return (PARSEOP_BANKFIELD); } 193228110Sjkim"Break" { count (3); return (PARSEOP_BREAK); } 194228110Sjkim"BreakPoint" { count (3); return (PARSEOP_BREAKPOINT); } 195228110Sjkim"Buffer" { count (1); return (PARSEOP_BUFFER); } 196228110Sjkim"Case" { count (3); return (PARSEOP_CASE); } 197228110Sjkim"Concatenate" { count (3); return (PARSEOP_CONCATENATE); } 198228110Sjkim"ConcatenateResTemplate" { count (3); return (PARSEOP_CONCATENATERESTEMPLATE); } 199228110Sjkim"CondRefOf" { count (3); return (PARSEOP_CONDREFOF); } 200228110Sjkim"Connection" { count (2); return (PARSEOP_CONNECTION); } 201228110Sjkim"Continue" { count (3); return (PARSEOP_CONTINUE); } 202228110Sjkim"CopyObject" { count (3); return (PARSEOP_COPYOBJECT); } 203118611Snjl"CreateBitField" { count (2); return (PARSEOP_CREATEBITFIELD); } 204118611Snjl"CreateByteField" { count (2); return (PARSEOP_CREATEBYTEFIELD); } 205118611Snjl"CreateDWordField" { count (2); return (PARSEOP_CREATEDWORDFIELD); } 206118611Snjl"CreateField" { count (2); return (PARSEOP_CREATEFIELD); } 207118611Snjl"CreateQWordField" { count (2); return (PARSEOP_CREATEQWORDFIELD); } 208118611Snjl"CreateWordField" { count (2); return (PARSEOP_CREATEWORDFIELD); } 209118611Snjl"DataTableRegion" { count (2); return (PARSEOP_DATATABLEREGION); } 210228110Sjkim"Debug" { count (1); return (PARSEOP_DEBUG); } 211228110Sjkim"Decrement" { count (3); return (PARSEOP_DECREMENT); } 212228110Sjkim"Default" { count (3); return (PARSEOP_DEFAULT); } 213306536Sjkim"DefinitionBlock" { count (1); return (PARSEOP_DEFINITION_BLOCK); } 214228110Sjkim"DeRefOf" { count (3); return (PARSEOP_DEREFOF); } 215118611Snjl"Device" { count (2); return (PARSEOP_DEVICE); } 216228110Sjkim"Divide" { count (3); return (PARSEOP_DIVIDE); } 217228110Sjkim"Eisaid" { count (1); return (PARSEOP_EISAID); } 218228110Sjkim"Else" { count (3); return (PARSEOP_ELSE); } 219228110Sjkim"ElseIf" { count (3); return (PARSEOP_ELSEIF); } 220118611Snjl"Event" { count (2); return (PARSEOP_EVENT); } 221228110Sjkim"Fatal" { count (3); return (PARSEOP_FATAL); } 222118611Snjl"Field" { count (2); return (PARSEOP_FIELD); } 223228110Sjkim"FindSetLeftBit" { count (3); return (PARSEOP_FINDSETLEFTBIT); } 224228110Sjkim"FindSetRightBit" { count (3); return (PARSEOP_FINDSETRIGHTBIT); } 225228110Sjkim"FromBcd" { count (3); return (PARSEOP_FROMBCD); } 226138287Smarks"Function" { count (2); return (PARSEOP_FUNCTION); } 227118611Snjl"If" { count (3); return (PARSEOP_IF); } 228118611Snjl"Increment" { count (3); return (PARSEOP_INCREMENT); } 229118611Snjl"Index" { count (3); return (PARSEOP_INDEX); } 230228110Sjkim"IndexField" { count (2); return (PARSEOP_INDEXFIELD); } 231118611Snjl"LAnd" { count (3); return (PARSEOP_LAND); } 232118611Snjl"LEqual" { count (3); return (PARSEOP_LEQUAL); } 233118611Snjl"LGreater" { count (3); return (PARSEOP_LGREATER); } 234118611Snjl"LGreaterEqual" { count (3); return (PARSEOP_LGREATEREQUAL); } 235118611Snjl"LLess" { count (3); return (PARSEOP_LLESS); } 236118611Snjl"LLessEqual" { count (3); return (PARSEOP_LLESSEQUAL); } 237118611Snjl"LNot" { count (3); return (PARSEOP_LNOT); } 238118611Snjl"LNotEqual" { count (3); return (PARSEOP_LNOTEQUAL); } 239228110Sjkim"Load" { count (3); return (PARSEOP_LOAD); } 240118611Snjl"LoadTable" { count (3); return (PARSEOP_LOADTABLE); } 241118611Snjl"LOr" { count (3); return (PARSEOP_LOR); } 242118611Snjl"Match" { count (3); return (PARSEOP_MATCH); } 243228110Sjkim"Method" { count (2); return (PARSEOP_METHOD); } 244118611Snjl"Mid" { count (3); return (PARSEOP_MID); } 245118611Snjl"Mod" { count (3); return (PARSEOP_MOD); } 246118611Snjl"Multiply" { count (3); return (PARSEOP_MULTIPLY); } 247228110Sjkim"Mutex" { count (2); return (PARSEOP_MUTEX); } 248228110Sjkim"Name" { count (2); return (PARSEOP_NAME); } 249118611Snjl"NAnd" { count (3); return (PARSEOP_NAND); } 250245582Sjkim"Noop" { if (!AcpiGbl_IgnoreNoopOperator) {count (3); return (PARSEOP_NOOP);} } 251118611Snjl"NOr" { count (3); return (PARSEOP_NOR); } 252118611Snjl"Not" { count (3); return (PARSEOP_NOT); } 253228110Sjkim"Notify" { count (3); return (PARSEOP_NOTIFY); } 254118611Snjl"ObjectType" { count (3); return (PARSEOP_OBJECTTYPE); } 255228110Sjkim"Offset" { count (1); return (PARSEOP_OFFSET); } 256228110Sjkim"One" { count (1); return (PARSEOP_ONE); } 257228110Sjkim"Ones" { count (1); return (PARSEOP_ONES); } 258228110Sjkim"OperationRegion" { count (2); return (PARSEOP_OPERATIONREGION); } 259118611Snjl"Or" { count (3); return (PARSEOP_OR); } 260228110Sjkim"Package" { count (1); return (PARSEOP_PACKAGE); } 261228110Sjkim"PowerResource" { count (2); return (PARSEOP_POWERRESOURCE); } 262228110Sjkim"Processor" { count (2); return (PARSEOP_PROCESSOR); } 263118611Snjl"RefOf" { count (3); return (PARSEOP_REFOF); } 264228110Sjkim"Release" { count (3); return (PARSEOP_RELEASE); } 265228110Sjkim"Reset" { count (3); return (PARSEOP_RESET); } 266228110Sjkim"Return" { count (3); return (PARSEOP_RETURN); } 267228110Sjkim"Revision" { count (1); return (PARSEOP_REVISION); } 268228110Sjkim"Scope" { count (2); return (PARSEOP_SCOPE); } 269118611Snjl"ShiftLeft" { count (3); return (PARSEOP_SHIFTLEFT); } 270118611Snjl"ShiftRight" { count (3); return (PARSEOP_SHIFTRIGHT); } 271228110Sjkim"Signal" { count (3); return (PARSEOP_SIGNAL); } 272118611Snjl"SizeOf" { count (3); return (PARSEOP_SIZEOF); } 273228110Sjkim"Sleep" { count (3); return (PARSEOP_SLEEP); } 274228110Sjkim"Stall" { count (3); return (PARSEOP_STALL); } 275118611Snjl"Store" { count (3); return (PARSEOP_STORE); } 276118611Snjl"Subtract" { count (3); return (PARSEOP_SUBTRACT); } 277228110Sjkim"Switch" { count (3); return (PARSEOP_SWITCH); } 278228110Sjkim"ThermalZone" { count (2); return (PARSEOP_THERMALZONE); } 279138287Smarks"Timer" { count (3); return (PARSEOP_TIMER); } 280228110Sjkim"ToBcd" { count (3); return (PARSEOP_TOBCD); } 281118611Snjl"ToBuffer" { count (3); return (PARSEOP_TOBUFFER); } 282118611Snjl"ToDecimalString" { count (3); return (PARSEOP_TODECIMALSTRING); } 283118611Snjl"ToHexString" { count (3); return (PARSEOP_TOHEXSTRING); } 284118611Snjl"ToInteger" { count (3); return (PARSEOP_TOINTEGER); } 285118611Snjl"ToString" { count (3); return (PARSEOP_TOSTRING); } 286228110Sjkim"ToUuid" { count (1); return (PARSEOP_TOUUID); } 287228110Sjkim"Unicode" { count (1); return (PARSEOP_UNICODE); } 288228110Sjkim"Unload" { count (3); return (PARSEOP_UNLOAD); } 289118611Snjl"Wait" { count (3); return (PARSEOP_WAIT); } 290228110Sjkim"While" { count (3); return (PARSEOP_WHILE); } 291118611Snjl"XOr" { count (3); return (PARSEOP_XOR); } 292228110Sjkim"Zero" { count (1); return (PARSEOP_ZERO); } 293118611Snjl 294228110Sjkim /* Control method arguments and locals */ 295228110Sjkim 296118611Snjl"Arg0" { count (1); return (PARSEOP_ARG0); } 297118611Snjl"Arg1" { count (1); return (PARSEOP_ARG1); } 298118611Snjl"Arg2" { count (1); return (PARSEOP_ARG2); } 299118611Snjl"Arg3" { count (1); return (PARSEOP_ARG3); } 300118611Snjl"Arg4" { count (1); return (PARSEOP_ARG4); } 301118611Snjl"Arg5" { count (1); return (PARSEOP_ARG5); } 302118611Snjl"Arg6" { count (1); return (PARSEOP_ARG6); } 303118611Snjl"Local0" { count (1); return (PARSEOP_LOCAL0); } 304118611Snjl"Local1" { count (1); return (PARSEOP_LOCAL1); } 305118611Snjl"Local2" { count (1); return (PARSEOP_LOCAL2); } 306118611Snjl"Local3" { count (1); return (PARSEOP_LOCAL3); } 307118611Snjl"Local4" { count (1); return (PARSEOP_LOCAL4); } 308118611Snjl"Local5" { count (1); return (PARSEOP_LOCAL5); } 309118611Snjl"Local6" { count (1); return (PARSEOP_LOCAL6); } 310118611Snjl"Local7" { count (1); return (PARSEOP_LOCAL7); } 311118611Snjl 312118611Snjl 313228110Sjkim /**************************************************************************** 314228110Sjkim * 315228110Sjkim * Resource Descriptor macros 316228110Sjkim * 317228110Sjkim ****************************************************************************/ 318118611Snjl 319118611Snjl"ResourceTemplate" { count (1); return (PARSEOP_RESOURCETEMPLATE); } 320228110Sjkim"RawDataBuffer" { count (1); return (PARSEOP_DATABUFFER); } 321228110Sjkim 322118611Snjl"DMA" { count (1); return (PARSEOP_DMA); } 323118611Snjl"DWordIO" { count (1); return (PARSEOP_DWORDIO); } 324118611Snjl"DWordMemory" { count (1); return (PARSEOP_DWORDMEMORY); } 325138287Smarks"DWordSpace" { count (1); return (PARSEOP_DWORDSPACE); } 326118611Snjl"EndDependentFn" { count (1); return (PARSEOP_ENDDEPENDENTFN); } 327138287Smarks"ExtendedIO" { count (1); return (PARSEOP_EXTENDEDIO); } 328138287Smarks"ExtendedMemory" { count (1); return (PARSEOP_EXTENDEDMEMORY); } 329138287Smarks"ExtendedSpace" { count (1); return (PARSEOP_EXTENDEDSPACE); } 330228110Sjkim"FixedDma" { count (1); return (PARSEOP_FIXEDDMA); } 331118611Snjl"FixedIO" { count (1); return (PARSEOP_FIXEDIO); } 332228110Sjkim"GpioInt" { count (1); return (PARSEOP_GPIO_INT); } 333228110Sjkim"GpioIo" { count (1); return (PARSEOP_GPIO_IO); } 334228110Sjkim"I2cSerialBus" { count (1); return (PARSEOP_I2C_SERIALBUS); } 335306536Sjkim"I2cSerialBusV2" { count (1); return (PARSEOP_I2C_SERIALBUS_V2); } 336118611Snjl"Interrupt" { count (1); return (PARSEOP_INTERRUPT); } 337118611Snjl"IO" { count (1); return (PARSEOP_IO); } 338228110Sjkim"IRQ" { count (1); return (PARSEOP_IRQ); } 339118611Snjl"IRQNoFlags" { count (1); return (PARSEOP_IRQNOFLAGS); } 340118611Snjl"Memory24" { count (1); return (PARSEOP_MEMORY24); } 341228110Sjkim"Memory32" { count (1); return (PARSEOP_MEMORY32); } 342118611Snjl"Memory32Fixed" { count (1); return (PARSEOP_MEMORY32FIXED); } 343118611Snjl"QWordIO" { count (1); return (PARSEOP_QWORDIO); } 344118611Snjl"QWordMemory" { count (1); return (PARSEOP_QWORDMEMORY); } 345138287Smarks"QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } 346118611Snjl"Register" { count (1); return (PARSEOP_REGISTER); } 347228110Sjkim"SpiSerialBus" { count (1); return (PARSEOP_SPI_SERIALBUS); } 348306536Sjkim"SpiSerialBusV2" { count (1); return (PARSEOP_SPI_SERIALBUS_V2); } 349118611Snjl"StartDependentFn" { count (1); return (PARSEOP_STARTDEPENDENTFN); } 350118611Snjl"StartDependentFnNoPri" { count (1); return (PARSEOP_STARTDEPENDENTFN_NOPRI); } 351228110Sjkim"UartSerialBus" { count (1); return (PARSEOP_UART_SERIALBUS); } 352306536Sjkim"UartSerialBusV2" { count (1); return (PARSEOP_UART_SERIALBUS_V2); } 353118611Snjl"VendorLong" { count (1); return (PARSEOP_VENDORLONG); } 354118611Snjl"VendorShort" { count (1); return (PARSEOP_VENDORSHORT); } 355118611Snjl"WordBusNumber" { count (1); return (PARSEOP_WORDBUSNUMBER); } 356118611Snjl"WordIO" { count (1); return (PARSEOP_WORDIO); } 357138287Smarks"WordSpace" { count (1); return (PARSEOP_WORDSPACE); } 358118611Snjl 359228110Sjkim 360228110Sjkim /**************************************************************************** 361228110Sjkim * 362228110Sjkim * Keywords used as arguments to ASL operators and macros 363228110Sjkim * 364228110Sjkim ****************************************************************************/ 365228110Sjkim 366228110Sjkim /* AccessAttribKeyword: Serial Bus Attributes (ACPI 5.0) */ 367228110Sjkim 368228110Sjkim"AttribQuick" { count (0); return (PARSEOP_ACCESSATTRIB_QUICK); } 369228110Sjkim"AttribSendReceive" { count (0); return (PARSEOP_ACCESSATTRIB_SND_RCV); } 370228110Sjkim"AttribByte" { count (0); return (PARSEOP_ACCESSATTRIB_BYTE); } 371228110Sjkim"AttribWord" { count (0); return (PARSEOP_ACCESSATTRIB_WORD); } 372228110Sjkim"AttribBlock" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK); } 373228110Sjkim"AttribProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_WORD_CALL); } 374228110Sjkim"AttribBlockProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK_CALL); } 375228110Sjkim 376228110Sjkim /* AccessAttribKeyword: Legacy synonyms for above (pre-ACPI 5.0) */ 377228110Sjkim 378228110Sjkim"SMBQuick" { count (0); return (PARSEOP_ACCESSATTRIB_QUICK); } 379228110Sjkim"SMBSendReceive" { count (0); return (PARSEOP_ACCESSATTRIB_SND_RCV); } 380228110Sjkim"SMBByte" { count (0); return (PARSEOP_ACCESSATTRIB_BYTE); } 381228110Sjkim"SMBWord" { count (0); return (PARSEOP_ACCESSATTRIB_WORD); } 382228110Sjkim"SMBBlock" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK); } 383228110Sjkim"SMBProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_WORD_CALL); } 384228110Sjkim"SMBBlockProcessCall" { count (0); return (PARSEOP_ACCESSATTRIB_BLOCK_CALL); } 385228110Sjkim 386228110Sjkim /* AccessTypeKeyword: Field Access Types */ 387228110Sjkim 388228110Sjkim"AnyAcc" { count (0); return (PARSEOP_ACCESSTYPE_ANY); } 389228110Sjkim"ByteAcc" { count (0); return (PARSEOP_ACCESSTYPE_BYTE); } 390228110Sjkim"WordAcc" { count (0); return (PARSEOP_ACCESSTYPE_WORD); } 391228110Sjkim"DWordAcc" { count (0); return (PARSEOP_ACCESSTYPE_DWORD); } 392228110Sjkim"QWordAcc" { count (0); return (PARSEOP_ACCESSTYPE_QWORD); } 393228110Sjkim"BufferAcc" { count (0); return (PARSEOP_ACCESSTYPE_BUF); } 394228110Sjkim 395228110Sjkim /* AddressingModeKeyword: Mode - Resource Descriptors (ACPI 5.0) */ 396228110Sjkim 397228110Sjkim"AddressingMode7Bit" { count (0); return (PARSEOP_ADDRESSINGMODE_7BIT); } 398228110Sjkim"AddressingMode10Bit" { count (0); return (PARSEOP_ADDRESSINGMODE_10BIT); } 399228110Sjkim 400228110Sjkim /* AddressKeyword: ACPI memory range types */ 401228110Sjkim 402228110Sjkim"AddressRangeMemory" { count (0); return (PARSEOP_ADDRESSTYPE_MEMORY); } 403228110Sjkim"AddressRangeReserved" { count (0); return (PARSEOP_ADDRESSTYPE_RESERVED); } 404228110Sjkim"AddressRangeNVS" { count (0); return (PARSEOP_ADDRESSTYPE_NVS); } 405228110Sjkim"AddressRangeACPI" { count (0); return (PARSEOP_ADDRESSTYPE_ACPI); } 406228110Sjkim 407228110Sjkim /* BusMasterKeyword: DMA Bus Mastering */ 408228110Sjkim 409228110Sjkim"BusMaster" { count (0); return (PARSEOP_BUSMASTERTYPE_MASTER); } 410228110Sjkim"NotBusMaster" { count (0); return (PARSEOP_BUSMASTERTYPE_NOTMASTER); } 411228110Sjkim 412228110Sjkim /* ByteLengthKeyword: Bits per Byte - Resource Descriptors (ACPI 5.0) */ 413228110Sjkim 414228110Sjkim"DataBitsFive" { count (0); return (PARSEOP_BITSPERBYTE_FIVE); } 415228110Sjkim"DataBitsSix" { count (0); return (PARSEOP_BITSPERBYTE_SIX); } 416228110Sjkim"DataBitsSeven" { count (0); return (PARSEOP_BITSPERBYTE_SEVEN); } 417228110Sjkim"DataBitsEight" { count (0); return (PARSEOP_BITSPERBYTE_EIGHT); } 418228110Sjkim"DataBitsNine" { count (0); return (PARSEOP_BITSPERBYTE_NINE); } 419228110Sjkim 420228110Sjkim /* ClockPhaseKeyword: Resource Descriptors (ACPI 5.0) */ 421228110Sjkim 422228110Sjkim"ClockPhaseFirst" { count (0); return (PARSEOP_CLOCKPHASE_FIRST); } 423228110Sjkim"ClockPhaseSecond" { count (0); return (PARSEOP_CLOCKPHASE_SECOND); } 424228110Sjkim 425228110Sjkim /* ClockPolarityKeyword: Resource Descriptors (ACPI 5.0) */ 426228110Sjkim 427228110Sjkim"ClockPolarityLow" { count (0); return (PARSEOP_CLOCKPOLARITY_LOW); } 428228110Sjkim"ClockPolarityHigh" { count (0); return (PARSEOP_CLOCKPOLARITY_HIGH); } 429228110Sjkim 430228110Sjkim /* DecodeKeyword: Type of Memory Decoding - Resource Descriptors */ 431228110Sjkim 432228110Sjkim"PosDecode" { count (0); return (PARSEOP_DECODETYPE_POS); } 433228110Sjkim"SubDecode" { count (0); return (PARSEOP_DECODETYPE_SUB); } 434228110Sjkim 435228110Sjkim /* DmaTypeKeyword: DMA Types - DMA Resource Descriptor */ 436228110Sjkim 437228110Sjkim"Compatibility" { count (0); return (PARSEOP_DMATYPE_COMPATIBILITY); } 438228110Sjkim"TypeA" { count (0); return (PARSEOP_DMATYPE_A); } 439228110Sjkim"TypeB" { count (0); return (PARSEOP_DMATYPE_B); } 440228110Sjkim"TypeF" { count (0); return (PARSEOP_DMATYPE_F); } 441228110Sjkim 442228110Sjkim /* EndianKeyword: Endian type - Resource Descriptor (ACPI 5.0) */ 443228110Sjkim 444228110Sjkim"LittleEndian" { count (0); return (PARSEOP_ENDIAN_LITTLE); } 445228110Sjkim"BigEndian" { count (0); return (PARSEOP_ENDIAN_BIG); } 446228110Sjkim 447228110Sjkim /* ExtendedAttribKeyword: Bus attributes, AccessAs operator (ACPI 5.0) */ 448228110Sjkim 449228110Sjkim"AttribBytes" { count (0); return (PARSEOP_ACCESSATTRIB_MULTIBYTE); } 450228110Sjkim"AttribRawBytes" { count (0); return (PARSEOP_ACCESSATTRIB_RAW_BYTES); } 451228110Sjkim"AttribRawProcessBytes" { count (0); return (PARSEOP_ACCESSATTRIB_RAW_PROCESS); } 452228110Sjkim 453228110Sjkim /* FlowControlKeyword: Resource Descriptors (ACPI 5.0) */ 454228110Sjkim 455228110Sjkim"FlowControlHardware" { count (0); return (PARSEOP_FLOWCONTROL_HW); } 456228110Sjkim"FlowControlNone" { count (0); return (PARSEOP_FLOWCONTROL_NONE); } 457228110Sjkim"FlowControlXon" { count (0); return (PARSEOP_FLOWCONTROL_SW); } 458228110Sjkim 459228110Sjkim /* InterruptLevelKeyword: Interrupt Active Types */ 460228110Sjkim 461228110Sjkim"ActiveBoth" { count (0); return (PARSEOP_INTLEVEL_ACTIVEBOTH); } 462228110Sjkim"ActiveHigh" { count (0); return (PARSEOP_INTLEVEL_ACTIVEHIGH); } 463228110Sjkim"ActiveLow" { count (0); return (PARSEOP_INTLEVEL_ACTIVELOW); } 464228110Sjkim 465228110Sjkim /* InterruptTypeKeyword: Interrupt Types */ 466228110Sjkim 467228110Sjkim"Edge" { count (0); return (PARSEOP_INTTYPE_EDGE); } 468228110Sjkim"Level" { count (0); return (PARSEOP_INTTYPE_LEVEL); } 469228110Sjkim 470228110Sjkim /* IoDecodeKeyword: Type of Memory Decoding - Resource Descriptors */ 471228110Sjkim 472228110Sjkim"Decode10" { count (0); return (PARSEOP_IODECODETYPE_10); } 473228110Sjkim"Decode16" { count (0); return (PARSEOP_IODECODETYPE_16); } 474228110Sjkim 475228110Sjkim /* IoRestrictionKeyword: I/O Restriction - GPIO Resource Descriptors (ACPI 5.0) */ 476228110Sjkim 477228110Sjkim"IoRestrictionNone" { count (0); return (PARSEOP_IORESTRICT_NONE); } 478228110Sjkim"IoRestrictionInputOnly" { count (0); return (PARSEOP_IORESTRICT_IN); } 479228110Sjkim"IoRestrictionOutputOnly" { count (0); return (PARSEOP_IORESTRICT_OUT); } 480228110Sjkim"IoRestrictionNoneAndPreserve" { count (0); return (PARSEOP_IORESTRICT_PRESERVE); } 481228110Sjkim 482228110Sjkim /* LockRuleKeyword: Global Lock use for Field Operator */ 483228110Sjkim 484228110Sjkim"Lock" { count (0); return (PARSEOP_LOCKRULE_LOCK); } 485228110Sjkim"NoLock" { count (0); return (PARSEOP_LOCKRULE_NOLOCK); } 486228110Sjkim 487228110Sjkim /* MatchOpKeyword: Types for Match Operator */ 488228110Sjkim 489228110Sjkim"MTR" { count (0); return (PARSEOP_MATCHTYPE_MTR); } 490228110Sjkim"MEQ" { count (0); return (PARSEOP_MATCHTYPE_MEQ); } 491228110Sjkim"MLE" { count (0); return (PARSEOP_MATCHTYPE_MLE); } 492228110Sjkim"MLT" { count (0); return (PARSEOP_MATCHTYPE_MLT); } 493228110Sjkim"MGE" { count (0); return (PARSEOP_MATCHTYPE_MGE); } 494228110Sjkim"MGT" { count (0); return (PARSEOP_MATCHTYPE_MGT); } 495228110Sjkim 496228110Sjkim /* MaxKeyword: Max Range Type - Resource Descriptors */ 497228110Sjkim 498228110Sjkim"MaxFixed" { count (0); return (PARSEOP_MAXTYPE_FIXED); } 499228110Sjkim"MaxNotFixed" { count (0); return (PARSEOP_MAXTYPE_NOTFIXED); } 500228110Sjkim 501228110Sjkim /* MemTypeKeyword: Memory Types - Resource Descriptors */ 502228110Sjkim 503228110Sjkim"Cacheable" { count (0); return (PARSEOP_MEMTYPE_CACHEABLE); } 504228110Sjkim"WriteCombining" { count (0); return (PARSEOP_MEMTYPE_WRITECOMBINING); } 505228110Sjkim"Prefetchable" { count (0); return (PARSEOP_MEMTYPE_PREFETCHABLE); } 506228110Sjkim"NonCacheable" { count (0); return (PARSEOP_MEMTYPE_NONCACHEABLE); } 507228110Sjkim 508228110Sjkim /* MinKeyword: Min Range Type - Resource Descriptors */ 509228110Sjkim 510228110Sjkim"MinFixed" { count (0); return (PARSEOP_MINTYPE_FIXED); } 511228110Sjkim"MinNotFixed" { count (0); return (PARSEOP_MINTYPE_NOTFIXED); } 512228110Sjkim 513228110Sjkim /* ObjectTypeKeyword: ACPI Object Types */ 514228110Sjkim 515118611Snjl"UnknownObj" { count (0); return (PARSEOP_OBJECTTYPE_UNK); } 516118611Snjl"IntObj" { count (0); return (PARSEOP_OBJECTTYPE_INT); } 517118611Snjl"StrObj" { count (0); return (PARSEOP_OBJECTTYPE_STR); } 518118611Snjl"BuffObj" { count (0); return (PARSEOP_OBJECTTYPE_BUF); } 519118611Snjl"PkgObj" { count (0); return (PARSEOP_OBJECTTYPE_PKG); } 520118611Snjl"FieldUnitObj" { count (0); return (PARSEOP_OBJECTTYPE_FLD); } 521118611Snjl"DeviceObj" { count (0); return (PARSEOP_OBJECTTYPE_DEV); } 522118611Snjl"EventObj" { count (0); return (PARSEOP_OBJECTTYPE_EVT); } 523118611Snjl"MethodObj" { count (0); return (PARSEOP_OBJECTTYPE_MTH); } 524118611Snjl"MutexObj" { count (0); return (PARSEOP_OBJECTTYPE_MTX); } 525118611Snjl"OpRegionObj" { count (0); return (PARSEOP_OBJECTTYPE_OPR); } 526118611Snjl"PowerResObj" { count (0); return (PARSEOP_OBJECTTYPE_POW); } 527151937Sjkim"ProcessorObj" { count (0); return (PARSEOP_OBJECTTYPE_PRO); } 528118611Snjl"ThermalZoneObj" { count (0); return (PARSEOP_OBJECTTYPE_THZ); } 529118611Snjl"BuffFieldObj" { count (0); return (PARSEOP_OBJECTTYPE_BFF); } 530118611Snjl"DDBHandleObj" { count (0); return (PARSEOP_OBJECTTYPE_DDB); } 531118611Snjl 532228110Sjkim /* ParityKeyword: Resource Descriptors (ACPI 5.0) */ 533118611Snjl 534228110Sjkim"ParityTypeSpace" { count (0); return (PARSEOP_PARITYTYPE_SPACE); } 535228110Sjkim"ParityTypeMark" { count (0); return (PARSEOP_PARITYTYPE_MARK); } 536228110Sjkim"ParityTypeOdd" { count (0); return (PARSEOP_PARITYTYPE_ODD); } 537228110Sjkim"ParityTypeEven" { count (0); return (PARSEOP_PARITYTYPE_EVEN); } 538228110Sjkim"ParityTypeNone" { count (0); return (PARSEOP_PARITYTYPE_NONE); } 539118611Snjl 540228110Sjkim /* PinConfigKeyword: Pin Configuration - GPIO Resource Descriptors (ACPI 5.0) */ 541118611Snjl 542228110Sjkim"PullDefault" { count (0); return (PARSEOP_PIN_PULLDEFAULT); } 543228110Sjkim"PullUp" { count (0); return (PARSEOP_PIN_PULLUP); } 544228110Sjkim"PullDown" { count (0); return (PARSEOP_PIN_PULLDOWN); } 545228110Sjkim"PullNone" { count (0); return (PARSEOP_PIN_NOPULL); } 546118611Snjl 547228110Sjkim /* PolarityKeyword: Resource Descriptors (ACPI 5.0) */ 548228110Sjkim 549228110Sjkim"PolarityLow" { count (0); return (PARSEOP_DEVICEPOLARITY_LOW); } 550228110Sjkim"PolarityHigh" { count (0); return (PARSEOP_DEVICEPOLARITY_HIGH); } 551228110Sjkim 552228110Sjkim /* RangeTypeKeyword: I/O Range Types - Resource Descriptors */ 553228110Sjkim 554228110Sjkim"ISAOnlyRanges" { count (0); return (PARSEOP_RANGETYPE_ISAONLY); } 555228110Sjkim"NonISAOnlyRanges" { count (0); return (PARSEOP_RANGETYPE_NONISAONLY); } 556228110Sjkim"EntireRange" { count (0); return (PARSEOP_RANGETYPE_ENTIRE); } 557228110Sjkim 558228110Sjkim /* ReadWriteKeyword: Memory Access Types - Resource Descriptors */ 559228110Sjkim 560228110Sjkim"ReadWrite" { count (0); return (PARSEOP_READWRITETYPE_BOTH); } 561228110Sjkim"ReadOnly" { count (0); return (PARSEOP_READWRITETYPE_READONLY); } 562228110Sjkim 563228110Sjkim /* RegionSpaceKeyword: Operation Region Address Space Types */ 564228110Sjkim 565118611Snjl"SystemIO" { count (0); return (PARSEOP_REGIONSPACE_IO); } 566118611Snjl"SystemMemory" { count (0); return (PARSEOP_REGIONSPACE_MEM); } 567118611Snjl"PCI_Config" { count (0); return (PARSEOP_REGIONSPACE_PCI); } 568118611Snjl"EmbeddedControl" { count (0); return (PARSEOP_REGIONSPACE_EC); } 569118611Snjl"SMBus" { count (0); return (PARSEOP_REGIONSPACE_SMBUS); } 570118611Snjl"SystemCMOS" { count (0); return (PARSEOP_REGIONSPACE_CMOS); } 571118611Snjl"PciBarTarget" { count (0); return (PARSEOP_REGIONSPACE_PCIBAR); } 572197104Sjkim"IPMI" { count (0); return (PARSEOP_REGIONSPACE_IPMI); } 573228110Sjkim"GeneralPurposeIo" { count (0); return (PARSEOP_REGIONSPACE_GPIO); } /* ACPI 5.0 */ 574228110Sjkim"GenericSerialBus" { count (0); return (PARSEOP_REGIONSPACE_GSBUS); } /* ACPI 5.0 */ 575235945Sjkim"PCC" { count (0); return (PARSEOP_REGIONSPACE_PCC); } /* ACPI 5.0 */ 576228110Sjkim"FFixedHW" { count (0); return (PARSEOP_REGIONSPACE_FFIXEDHW); } 577118611Snjl 578228110Sjkim /* ResourceTypeKeyword: Resource Usage - Resource Descriptors */ 579118611Snjl 580228110Sjkim"ResourceConsumer" { count (0); return (PARSEOP_RESOURCETYPE_CONSUMER); } 581228110Sjkim"ResourceProducer" { count (0); return (PARSEOP_RESOURCETYPE_PRODUCER); } 582118611Snjl 583228110Sjkim /* SerializeRuleKeyword: Control Method Serialization */ 584118611Snjl 585228110Sjkim"Serialized" { count (0); return (PARSEOP_SERIALIZERULE_SERIAL); } 586228110Sjkim"NotSerialized" { count (0); return (PARSEOP_SERIALIZERULE_NOTSERIAL); } 587118611Snjl 588228110Sjkim /* ShareTypeKeyword: Interrupt Sharing - Resource Descriptors */ 589118611Snjl 590228110Sjkim"Shared" { count (0); return (PARSEOP_SHARETYPE_SHARED); } 591228110Sjkim"Exclusive" { count (0); return (PARSEOP_SHARETYPE_EXCLUSIVE); } 592228110Sjkim"SharedAndWake" { count (0); return (PARSEOP_SHARETYPE_SHAREDWAKE); } /* ACPI 5.0 */ 593228110Sjkim"ExclusiveAndWake" { count (0); return (PARSEOP_SHARETYPE_EXCLUSIVEWAKE); } /* ACPI 5.0 */ 594118611Snjl 595228110Sjkim /* SlaveModeKeyword: Resource Descriptors (ACPI 5.0) */ 596118611Snjl 597228110Sjkim"ControllerInitiated" { count (0); return (PARSEOP_SLAVEMODE_CONTROLLERINIT); } 598228110Sjkim"DeviceInitiated" { count (0); return (PARSEOP_SLAVEMODE_DEVICEINIT); } 599118611Snjl 600228110Sjkim /* StopBitsKeyword: Resource Descriptors (ACPI 5.0) */ 601118611Snjl 602228110Sjkim"StopBitsOne" { count (0); return (PARSEOP_STOPBITS_ONE); } 603228110Sjkim"StopBitsOnePlusHalf" { count (0); return (PARSEOP_STOPBITS_ONEPLUSHALF); } 604228110Sjkim"StopBitsTwo" { count (0); return (PARSEOP_STOPBITS_TWO); } 605228110Sjkim"StopBitsZero" { count (0); return (PARSEOP_STOPBITS_ZERO); } 606118611Snjl 607228110Sjkim /* TransferWidthKeyword: DMA Widths - Fixed DMA Resource Descriptor (ACPI 5.0) */ 608118611Snjl 609228110Sjkim"Width8bit" { count (0); return (PARSEOP_XFERSIZE_8); } 610228110Sjkim"Width16bit" { count (0); return (PARSEOP_XFERSIZE_16); } 611228110Sjkim"Width32bit" { count (0); return (PARSEOP_XFERSIZE_32); } 612228110Sjkim"Width64bit" { count (0); return (PARSEOP_XFERSIZE_64); } 613228110Sjkim"Width128bit" { count (0); return (PARSEOP_XFERSIZE_128); } 614228110Sjkim"Width256bit" { count (0); return (PARSEOP_XFERSIZE_256); } 615118611Snjl 616228110Sjkim /* TranslationKeyword: Translation Density Types - Resource Descriptors */ 617118611Snjl 618228110Sjkim"SparseTranslation" { count (0); return (PARSEOP_TRANSLATIONTYPE_SPARSE); } 619228110Sjkim"DenseTranslation" { count (0); return (PARSEOP_TRANSLATIONTYPE_DENSE); } 620118611Snjl 621228110Sjkim /* TypeKeyword: Translation Types - Resource Descriptors */ 622118611Snjl 623118611Snjl"TypeTranslation" { count (0); return (PARSEOP_TYPE_TRANSLATION); } 624118611Snjl"TypeStatic" { count (0); return (PARSEOP_TYPE_STATIC); } 625118611Snjl 626228110Sjkim /* UpdateRuleKeyword: Field Update Rules */ 627118611Snjl 628228110Sjkim"Preserve" { count (0); return (PARSEOP_UPDATERULE_PRESERVE); } 629228110Sjkim"WriteAsOnes" { count (0); return (PARSEOP_UPDATERULE_ONES); } 630228110Sjkim"WriteAsZeros" { count (0); return (PARSEOP_UPDATERULE_ZEROS); } 631118611Snjl 632228110Sjkim /* WireModeKeyword: SPI Wire Mode - Resource Descriptors (ACPI 5.0) */ 633228110Sjkim 634228110Sjkim"FourWireMode" { count (0); return (PARSEOP_WIREMODE_FOUR); } 635228110Sjkim"ThreeWireMode" { count (0); return (PARSEOP_WIREMODE_THREE); } 636228110Sjkim 637228110Sjkim /* XferTypeKeyword: DMA Transfer Types */ 638228110Sjkim 639228110Sjkim"Transfer8" { count (0); return (PARSEOP_XFERTYPE_8); } 640228110Sjkim"Transfer8_16" { count (0); return (PARSEOP_XFERTYPE_8_16); } 641228110Sjkim"Transfer16" { count (0); return (PARSEOP_XFERTYPE_16); } 642228110Sjkim 643281075Sdim /* ToPld macro */ 644281075Sdim 645281075Sdim"ToPLD" { count (0); return (PARSEOP_TOPLD); } 646281075Sdim 647281075Sdim"PLD_Revision" { count (0); return (PARSEOP_PLD_REVISION); } 648281075Sdim"PLD_IgnoreColor" { count (0); return (PARSEOP_PLD_IGNORECOLOR); } 649281075Sdim"PLD_Red" { count (0); return (PARSEOP_PLD_RED); } 650281075Sdim"PLD_Green" { count (0); return (PARSEOP_PLD_GREEN); } 651281075Sdim"PLD_Blue" { count (0); return (PARSEOP_PLD_BLUE); } 652281075Sdim"PLD_Width" { count (0); return (PARSEOP_PLD_WIDTH); } 653281075Sdim"PLD_Height" { count (0); return (PARSEOP_PLD_HEIGHT); } 654281075Sdim"PLD_UserVisible" { count (0); return (PARSEOP_PLD_USERVISIBLE); } 655281075Sdim"PLD_Dock" { count (0); return (PARSEOP_PLD_DOCK); } 656281075Sdim"PLD_Lid" { count (0); return (PARSEOP_PLD_LID); } 657281075Sdim"PLD_Panel" { count (0); return (PARSEOP_PLD_PANEL); } 658281075Sdim"PLD_VerticalPosition" { count (0); return (PARSEOP_PLD_VERTICALPOSITION); } 659281075Sdim"PLD_HorizontalPosition" { count (0); return (PARSEOP_PLD_HORIZONTALPOSITION); } 660281075Sdim"PLD_Shape" { count (0); return (PARSEOP_PLD_SHAPE); } 661281075Sdim"PLD_GroupOrientation" { count (0); return (PARSEOP_PLD_GROUPORIENTATION); } 662281075Sdim"PLD_GroupToken" { count (0); return (PARSEOP_PLD_GROUPTOKEN); } 663281075Sdim"PLD_GroupPosition" { count (0); return (PARSEOP_PLD_GROUPPOSITION); } 664281075Sdim"PLD_Bay" { count (0); return (PARSEOP_PLD_BAY); } 665281075Sdim"PLD_Ejectable" { count (0); return (PARSEOP_PLD_EJECTABLE); } 666281075Sdim"PLD_EjectRequired" { count (0); return (PARSEOP_PLD_EJECTREQUIRED); } 667281075Sdim"PLD_CabinetNumber" { count (0); return (PARSEOP_PLD_CABINETNUMBER); } 668281075Sdim"PLD_CardCageNumber" { count (0); return (PARSEOP_PLD_CARDCAGENUMBER); } 669281075Sdim"PLD_Reference" { count (0); return (PARSEOP_PLD_REFERENCE); } 670281075Sdim"PLD_Rotation" { count (0); return (PARSEOP_PLD_ROTATION); } 671281075Sdim"PLD_Order" { count (0); return (PARSEOP_PLD_ORDER); } 672281075Sdim"PLD_Reserved" { count (0); return (PARSEOP_PLD_RESERVED); } 673281075Sdim"PLD_VerticalOffset" { count (0); return (PARSEOP_PLD_VERTICALOFFSET); } 674281075Sdim"PLD_HorizontalOffset" { count (0); return (PARSEOP_PLD_HORIZONTALOFFSET); } 675281075Sdim 676281075Sdim 677281075Sdim /* printf debug macros */ 678306536Sjkim 679281075Sdim"printf" { count (0); return (PARSEOP_PRINTF); } 680281075Sdim"fprintf" { count (0); return (PARSEOP_FPRINTF); } 681281075Sdim 682306536Sjkim /* Other macros */ 683306536Sjkim 684306536Sjkim"For" { count (0); return (PARSEOP_FOR); } 685306536Sjkim 686228110Sjkim /* Predefined compiler names */ 687228110Sjkim 688218590Sjkim"__DATE__" { count (0); return (PARSEOP___DATE__); } 689218590Sjkim"__FILE__" { count (0); return (PARSEOP___FILE__); } 690218590Sjkim"__LINE__" { count (0); return (PARSEOP___LINE__); } 691228110Sjkim"__PATH__" { count (0); return (PARSEOP___PATH__); } 692118611Snjl 693228110Sjkim 694118611Snjl"{" { count (0); return('{'); } 695118611Snjl"}" { count (0); return('}'); } 696118611Snjl"," { count (0); return(','); } 697118611Snjl"(" { count (0); return('('); } 698118611Snjl")" { count (0); return(')'); } 699118611Snjl 700118611Snjl{NameSeg} { char *s; 701118611Snjl count (0); 702281075Sdim s=UtStringCacheCalloc (ACPI_NAME_SIZE + 1); 703118611Snjl if (strcmp (AslCompilertext, "\\")) 704118611Snjl { 705118611Snjl strcpy (s, "____"); 706151937Sjkim AcpiUtStrupr (AslCompilertext); 707118611Snjl } 708118611Snjl memcpy (s, AslCompilertext, strlen (AslCompilertext)); 709118611Snjl AslCompilerlval.s = s; 710118611Snjl DbgPrint (ASL_PARSE_OUTPUT, "NameSeg: %s\n", s); 711118611Snjl return (PARSEOP_NAMESEG); } 712118611Snjl 713118611Snjl{NameString} { char *s; 714118611Snjl count (0); 715281075Sdim s=UtStringCacheCalloc (strlen (AslCompilertext)+1); 716151937Sjkim AcpiUtStrupr (AslCompilertext); 717118611Snjl strcpy (s, AslCompilertext); 718118611Snjl AslCompilerlval.s = s; 719118611Snjl DbgPrint (ASL_PARSE_OUTPUT, "NameString: %s\n", s); 720118611Snjl return (PARSEOP_NAMESTRING); } 721118611Snjl 722118611Snjl. { count (1); 723306536Sjkim if (isprint ((int) *AslCompilertext)) 724284460Sjkim { 725284460Sjkim sprintf (MsgBuffer, 726284460Sjkim "Invalid character (%c), expecting ASL keyword or name", 727284460Sjkim *AslCompilertext); 728284460Sjkim } 729284460Sjkim else 730284460Sjkim { 731284460Sjkim sprintf (MsgBuffer, 732284460Sjkim "Invalid character (0x%2.2X), expecting ASL keyword or name", 733284460Sjkim *AslCompilertext); 734284460Sjkim } 735118611Snjl AslCompilererror (MsgBuffer);} 736118611Snjl 737118611Snjl<<EOF>> { if (AslPopInputFileStack ()) 738281075Sdim {yyterminate();} 739118611Snjl else 740281075Sdim {return (PARSEOP_INCLUDE_END);} }; 741118611Snjl 742118611Snjl%% 743118611Snjl 744118611Snjl/*! [End] no source code translation !*/ 745118611Snjl 746234623Sjkim/* 747234623Sjkim * Bring in the scanner support routines 748234623Sjkim */ 749234623Sjkim#include <contrib/dev/acpica/compiler/aslsupport.l> 750