From owner-svn-src-head@FreeBSD.ORG Fri Apr 15 21:38:24 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C3D6106566B; Fri, 15 Apr 2011 21:38:24 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 78B1F8FC12; Fri, 15 Apr 2011 21:38:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id p3FLcOZx083033; Fri, 15 Apr 2011 21:38:24 GMT (envelope-from jkim@svn.freebsd.org) Received: (from jkim@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id p3FLcOXu083028; Fri, 15 Apr 2011 21:38:24 GMT (envelope-from jkim@svn.freebsd.org) Message-Id: <201104152138.p3FLcOXu083028@svn.freebsd.org> From: Jung-uk Kim Date: Fri, 15 Apr 2011 21:38:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r220681 - head/sys/contrib/dev/acpica/compiler X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Apr 2011 21:38:24 -0000 Author: jkim Date: Fri Apr 15 21:38:24 2011 New Revision: 220681 URL: http://svn.freebsd.org/changeset/base/220681 Log: Re-merge with ACPICA vendor source. Modified: head/sys/contrib/dev/acpica/compiler/aslcompiler.y head/sys/contrib/dev/acpica/compiler/asldefine.h head/sys/contrib/dev/acpica/compiler/aslutils.c head/sys/contrib/dev/acpica/compiler/dtparser.y Directory Properties: head/sys/contrib/dev/acpica/ (props changed) Modified: head/sys/contrib/dev/acpica/compiler/aslcompiler.y ============================================================================== --- head/sys/contrib/dev/acpica/compiler/aslcompiler.y Fri Apr 15 21:33:45 2011 (r220680) +++ head/sys/contrib/dev/acpica/compiler/aslcompiler.y Fri Apr 15 21:38:24 2011 (r220681) @@ -43,14 +43,6 @@ * POSSIBILITY OF SUCH DAMAGES. */ -#define YYDEBUG 1 -#define YYERROR_VERBOSE 1 - -/* - * State stack - compiler will fault if it overflows. (Default was 200) - */ -#define YYINITDEPTH 600 - #include #include #include @@ -74,45 +66,40 @@ * ResourceMacroList, and FieldUnitList */ +void * AslLocalAllocate (unsigned int Size); + +/* Bison/yacc configuration */ -/* - * Next statement is important - this makes everything public so that - * we can access some of the parser tables from other modules - */ #define static #undef alloca -#define alloca AslLocalAllocate -#define YYERROR_VERBOSE 1 +#define alloca AslLocalAllocate +#define yytname AslCompilername -void * -AslLocalAllocate (unsigned int Size); +#define YYINITDEPTH 600 /* State stack depth */ +#define YYDEBUG 1 /* Enable debug output */ +#define YYERROR_VERBOSE 1 /* Verbose error messages */ /* * The windows version of bison defines this incorrectly as "32768" (Not negative). - * Using a custom (edited binary) version of bison that defines YYFLAG as YYFBAD - * instead (#define YYFBAD 32768), so we can define it correctly here. + * We use a custom (edited binary) version of bison that defines YYFLAG as YYFBAD + * instead (#define YYFBAD 32768), so we can define it correctly here. * * The problem is that if YYFLAG is positive, the extended syntax error messages * are disabled. */ - #define YYFLAG -32768 - %} - /* * Declare the type of values in the grammar */ - %union { UINT64 i; char *s; ACPI_PARSE_OBJECT *n; } - /*! [Begin] no source code translation */ /* @@ -121,14 +108,12 @@ AslLocalAllocate (unsigned int Size); */ %expect 60 - /* * Token types: These are returned by the lexer * * NOTE: This list MUST match the AslKeywordMapping table found * in aslmap.c EXACTLY! Double check any changes! */ - %token PARSEOP_ACCESSAS %token PARSEOP_ACCESSATTRIB_BLOCK %token PARSEOP_ACCESSATTRIB_BLOCK_CALL @@ -3138,3 +3123,32 @@ AslDoError (void) return (TrCreateLeafNode (PARSEOP_ERRORNODE)); } + + +/******************************************************************************* + * + * FUNCTION: UtGetOpName + * + * PARAMETERS: ParseOpcode - Parser keyword ID + * + * RETURN: Pointer to the opcode name + * + * DESCRIPTION: Get the ascii name of the parse opcode + * + ******************************************************************************/ + +char * +UtGetOpName ( + UINT32 ParseOpcode) +{ +#ifdef ASL_YYTNAME_START + /* + * First entries (ASL_YYTNAME_START) in yytname are special reserved names. + * Ignore first 8 characters of the name + */ + return ((char *) yytname + [(ParseOpcode - ASL_FIRST_PARSE_OPCODE) + ASL_YYTNAME_START] + 8); +#else + return ("[Unknown parser generator]"); +#endif +} Modified: head/sys/contrib/dev/acpica/compiler/asldefine.h ============================================================================== --- head/sys/contrib/dev/acpica/compiler/asldefine.h Fri Apr 15 21:33:45 2011 (r220680) +++ head/sys/contrib/dev/acpica/compiler/asldefine.h Fri Apr 15 21:38:24 2011 (r220681) @@ -66,12 +66,23 @@ #define ASL_STRING_CACHE_SIZE 32768 #define ASL_FIRST_PARSE_OPCODE PARSEOP_ACCESSAS -#define ASL_YYTNAME_START 3 - #define ASL_PARSE_OPCODE_BASE PARSEOP_ACCESSAS /* First Lex type */ /* + * Per-parser-generator configuration. These values are used to cheat and + * directly access the bison/yacc token name table (yyname or yytname). + * Note: These values are the index in yyname for the first lex token + * (PARSEOP_ACCCESSAS). + */ +#if defined (YYBISON) +#define ASL_YYTNAME_START 3 /* Bison */ +#elif defined (YYBYACC) +#define ASL_YYTNAME_START 257 /* Berkeley yacc */ +#endif + + +/* * Macros */ #define ASL_RESDESC_OFFSET(m) ACPI_OFFSET (AML_RESOURCE, m) @@ -97,6 +108,7 @@ /* filename suffixes for output files */ +#define FILE_SUFFIX_PREPROCESSOR "i" #define FILE_SUFFIX_AML_CODE "aml" #define FILE_SUFFIX_LISTING "lst" #define FILE_SUFFIX_HEX_DUMP "hex" Modified: head/sys/contrib/dev/acpica/compiler/aslutils.c ============================================================================== --- head/sys/contrib/dev/acpica/compiler/aslutils.c Fri Apr 15 21:33:45 2011 (r220680) +++ head/sys/contrib/dev/acpica/compiler/aslutils.c Fri Apr 15 21:38:24 2011 (r220681) @@ -53,13 +53,6 @@ #define _COMPONENT ACPI_COMPILER ACPI_MODULE_NAME ("aslutils") -#ifdef _USE_BERKELEY_YACC -extern const char * const AslCompilername[]; -static const char * const *yytname = &AslCompilername[254]; -#else -extern const char * const yytname[]; -#endif - char AslHexLookup[] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' @@ -444,32 +437,6 @@ UtSetParseOpName ( /******************************************************************************* * - * FUNCTION: UtGetOpName - * - * PARAMETERS: ParseOpcode - Parser keyword ID - * - * RETURN: Pointer to the opcode name - * - * DESCRIPTION: Get the ascii name of the parse opcode - * - ******************************************************************************/ - -char * -UtGetOpName ( - UINT32 ParseOpcode) -{ - - /* - * First entries (ASL_YYTNAME_START) in yytname are special reserved names. - * Ignore first 8 characters of the name - */ - return ((char *) yytname - [(ParseOpcode - ASL_FIRST_PARSE_OPCODE) + ASL_YYTNAME_START] + 8); -} - - -/******************************************************************************* - * * FUNCTION: UtDisplaySummary * * PARAMETERS: FileID - ID of outpout file Modified: head/sys/contrib/dev/acpica/compiler/dtparser.y ============================================================================== --- head/sys/contrib/dev/acpica/compiler/dtparser.y Fri Apr 15 21:33:45 2011 (r220680) +++ head/sys/contrib/dev/acpica/compiler/dtparser.y Fri Apr 15 21:38:24 2011 (r220681) @@ -42,22 +42,26 @@ * POSSIBILITY OF SUCH DAMAGES. */ -#define YYDEBUG 1 -#define YYERROR_VERBOSE 1 - #include #include -#define _COMPONENT ACPI_COMPILER +#define _COMPONENT DT_COMPILER ACPI_MODULE_NAME ("dtparser") -UINT64 DtParserResult; /* Global for expression return value */ - -int DtParserlex (void); -int DtParserparse (void); -extern char* DtParsertext; -extern void DtParsererror (char const * msg); -#define YYFLAG -32768 +int DtParserlex (void); +int DtParserparse (void); +void DtParsererror (char const *msg); +extern char *DtParsertext; +extern DT_FIELD *Gbl_CurrentField; + +UINT64 DtParserResult; /* Expression return value */ + +/* Bison/yacc configuration */ + +#define yytname DtParsername +#define YYDEBUG 1 /* Enable debug output */ +#define YYERROR_VERBOSE 1 /* Verbose error messages */ +#define YYFLAG -32768 %} @@ -67,6 +71,8 @@ extern void DtParsererror (c UINT32 op; } +/*! [Begin] no source code translation */ + %type Expression %token EXPOP_EOF @@ -164,17 +170,14 @@ Expression ; %% +/*! [End] no source code translation !*/ + /* * Local support functions, including parser entry point */ -extern DT_FIELD *Gbl_CurrentField; #define PR_FIRST_PARSE_OPCODE EXPOP_EOF #define PR_YYTNAME_START 3 -#ifdef _USE_BERKELEY_YACC -#define yytname DtParsername -#endif - /****************************************************************************** * @@ -213,13 +216,16 @@ char * DtGetOpName ( UINT32 ParseOpcode) { - +#ifdef ASL_YYTNAME_START /* * First entries (PR_YYTNAME_START) in yytname are special reserved names. * Ignore first 6 characters of name (EXPOP_) */ return ((char *) yytname [(ParseOpcode - PR_FIRST_PARSE_OPCODE) + PR_YYTNAME_START] + 6); +#else + return ("[Unknown parser generator]"); +#endif }