mirror of
https://github.com/acpica/acpica/
synced 2025-02-24 17:34:43 +03:00
New command line options
date 2002.04.25.17.44.00; author rmoore1; state Exp;
This commit is contained in:
parent
bb82a6f1c9
commit
67eaf6225d
@ -2,7 +2,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslmain - compiler main and utilities
|
||||
* $Revision: 1.47 $
|
||||
* $Revision: 1.49 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -119,6 +119,7 @@
|
||||
#define _DECLARE_GLOBALS
|
||||
|
||||
#include "aslcompiler.h"
|
||||
#include "acparser.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#include <crtdbg.h>
|
||||
@ -127,10 +128,12 @@
|
||||
#define _COMPONENT ACPI_COMPILER
|
||||
ACPI_MODULE_NAME ("aslmain")
|
||||
|
||||
int optind;
|
||||
NATIVE_CHAR *optarg;
|
||||
|
||||
UINT32 Gbl_ExceptionCount[2] = {0,0};
|
||||
char hex[] = {'0','1','2','3','4','5','6','7',
|
||||
'8','9','A','B','C','D','E','F'};
|
||||
UINT32 Gbl_ExceptionCount[2] = {0,0};
|
||||
char hex[] = {'0','1','2','3','4','5','6','7',
|
||||
'8','9','A','B','C','D','E','F'};
|
||||
|
||||
|
||||
/*******************************************************************************
|
||||
@ -154,11 +157,15 @@ Options (
|
||||
printf (" -a Create AML in a assembler source code file (*.asm)\n");
|
||||
printf (" -c Create AML in a C source code file (*.c)\n");
|
||||
printf (" -d Disassemble AML file\n");
|
||||
printf (" -e Less verbose errors and warnings for IDE\n");
|
||||
printf (" -f Disable constant folding\n");
|
||||
printf (" -h Additional help and compiler debug options\n");
|
||||
printf (" -l Create listing file (mixed ASL source and AML) (*.lst)\n");
|
||||
printf (" -n Create namespace file (*.nsp)\n");
|
||||
printf (" -o <name> Specify filename prefix for all output files\n");
|
||||
printf (" (including the .aml file)\n");
|
||||
printf (" -qc Display operators allowed in constant expressions\n");
|
||||
printf (" -qr Display ACPI reserved method names\n");
|
||||
printf (" -s Create combined (w/includes) ASL file (*.src)\n");
|
||||
printf (" -t <a|c> Create AML hex table in assembler or C (*.hex)\n");
|
||||
}
|
||||
@ -298,7 +305,7 @@ main (
|
||||
|
||||
/* Get the command line options */
|
||||
|
||||
while ((j = getopt (argc, argv, "ab:cdhilno:pst:vx")) != EOF) switch (j)
|
||||
while ((j = getopt (argc, argv, "ab:cdefhilno:pq:st:vx")) != EOF) switch (j)
|
||||
{
|
||||
case 'a':
|
||||
|
||||
@ -344,6 +351,19 @@ main (
|
||||
return (0);
|
||||
break;
|
||||
|
||||
case 'e':
|
||||
|
||||
/* Less verbose error messages */
|
||||
|
||||
Gbl_VerboseErrors = FALSE;
|
||||
break;
|
||||
|
||||
case 'f':
|
||||
|
||||
/* Disable folding on "normal" expressions */
|
||||
|
||||
Gbl_FoldConstants = FALSE;
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
|
||||
@ -386,6 +406,25 @@ main (
|
||||
Gbl_ParseOnlyFlag = TRUE;
|
||||
break;
|
||||
|
||||
case 'q':
|
||||
|
||||
switch (optarg[0])
|
||||
{
|
||||
case 'c':
|
||||
UtDisplayConstantOpcodes ();
|
||||
return (0);
|
||||
|
||||
case 'r':
|
||||
/* reserved names */
|
||||
|
||||
MpDisplayReservedNames ();
|
||||
return (0);
|
||||
|
||||
default:
|
||||
printf ("Unknown option: -q%s\n", optarg);
|
||||
BadCommandLine = TRUE;
|
||||
}
|
||||
|
||||
case 's':
|
||||
|
||||
/* Produce combined source file */
|
||||
|
@ -2,7 +2,7 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Module Name: aslmap - parser to AML opcode mapping table
|
||||
* $Revision: 1.63 $
|
||||
* $Revision: 1.59 $
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
@ -197,16 +197,12 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_AL1", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_AL2", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_AL3", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_ALN", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_ASI", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_BAS", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_BBN", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_BCL", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_BCM", 1, 0},
|
||||
{"_BDN", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_BFS", 1, 0},
|
||||
{"_BIF", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_BM_", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_BST", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_BTP", 1, 0},
|
||||
{"_CID", 0, ASL_RSVD_RETURN_VALUE},
|
||||
@ -216,8 +212,7 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_DCK", 1, ASL_RSVD_RETURN_VALUE},
|
||||
{"_DCS", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_DDC", 1, ASL_RSVD_RETURN_VALUE},
|
||||
{"_DDN", 0, 0},
|
||||
{"_DEC", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_DDN", 1, 0}, /* Spec is ambiguous about this */
|
||||
{"_DGS", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_DIS", 0, 0},
|
||||
{"_DMA", 0, ASL_RSVD_RETURN_VALUE},
|
||||
@ -236,36 +231,23 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_FDI", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_FDM", 1, 0},
|
||||
{"_FIX", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GL_", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GLK", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GPD", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GPE", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GRA", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_GTF", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GTM", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_GTS", 1, 0},
|
||||
{"_HE_", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_HID", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_HOT", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_HPP", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_INI", 0, 0},
|
||||
{"_INT", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_IRC", 0, 0},
|
||||
{"_LCK", 1, 0},
|
||||
{"_LEN", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_LID", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_LL_", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MAF", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MAT", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_MAX", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MEM", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MIF", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MIN", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_MSG", 1, 0},
|
||||
{"_OFF", 0, 0},
|
||||
{"_ON_", 0, 0},
|
||||
{"_OS_", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_OSI", 1, ASL_RSVD_RETURN_VALUE},
|
||||
{"_PCL", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_PCT", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_PIC", 1, 0},
|
||||
@ -289,14 +271,9 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_PTC", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_PTS", 1, 0},
|
||||
{"_PXM", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_RBO", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_RBW", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_REG", 2, 0},
|
||||
{"_REV", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_RMV", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_RNG", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_ROM", 2, ASL_RSVD_RETURN_VALUE},
|
||||
{"_RW_", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_S0_", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_S1_", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_S2_", 0, ASL_RSVD_RETURN_VALUE},
|
||||
@ -307,13 +284,9 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_S2D", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_S3D", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_S4D", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_SB_", 0, ASL_RSVD_SCOPE},
|
||||
{"_SBS", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_SCP", 1, 0},
|
||||
{"_SEG", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_SHR", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_SI_", 0, ASL_RSVD_SCOPE},
|
||||
{"_SIZ", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_SPD", 1, ASL_RSVD_RETURN_VALUE},
|
||||
{"_SRS", 1, 0},
|
||||
{"_SST", 1, 0},
|
||||
@ -324,12 +297,7 @@ const ASL_RESERVED_INFO ReservedMethods[] = {
|
||||
{"_TC1", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_TC2", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_TMP", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_TRA", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_TRS", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_TSP", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_TTP", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_TYP", 0, ASL_RSVD_RESOURCE_NAME},
|
||||
{"_TZ_", 0, ASL_RSVD_SCOPE},
|
||||
{"_TZD", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_TZP", 0, ASL_RSVD_RETURN_VALUE},
|
||||
{"_UID", 0, ASL_RSVD_RETURN_VALUE},
|
||||
@ -362,27 +330,15 @@ MpDisplayReservedNames (
|
||||
|
||||
for (i = 0; ReservedMethods[i].Name; i++)
|
||||
{
|
||||
printf ("%s ", ReservedMethods[i].Name);
|
||||
|
||||
if (ReservedMethods[i].Flags & ASL_RSVD_SCOPE)
|
||||
printf ("%s %d arguments, ", ReservedMethods[i].Name,
|
||||
ReservedMethods[i].NumArguments);
|
||||
if (ReservedMethods[i].Flags & ASL_RSVD_RETURN_VALUE)
|
||||
{
|
||||
printf ("Reserved scope name\n");
|
||||
}
|
||||
else if (ReservedMethods[i].Flags & ASL_RSVD_RESOURCE_NAME)
|
||||
{
|
||||
printf ("Resource data type reserved field name\n");
|
||||
printf ("must return a value\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf ("Method with %d arguments, ", ReservedMethods[i].NumArguments);
|
||||
if (ReservedMethods[i].Flags & ASL_RSVD_RETURN_VALUE)
|
||||
{
|
||||
printf ("must return a value\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
printf ("no return value\n");
|
||||
}
|
||||
printf ("no return value\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -646,7 +602,7 @@ const ASL_MAPPING_ENTRY AslKeywordMapping [] =
|
||||
/* TRANSLATIONTYPE_SPARSE */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0),
|
||||
/* TYPE_STATIC */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0),
|
||||
/* TYPE_TRANSLATION */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0),
|
||||
/* UNICODE */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, NODE_AML_PACKAGE, 0),
|
||||
/* UNICODE */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, 0, 0),
|
||||
/* UNLOAD */ OP_TABLE_ENTRY (AML_UNLOAD_OP, 0, 0, 0),
|
||||
/* UPDATERULE_ONES */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_WRITE_AS_ONES, 0, 0),
|
||||
/* UPDATERULE_PRESERVE */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_PRESERVE, 0, 0),
|
||||
|
Loading…
x
Reference in New Issue
Block a user