diff options
Diffstat (limited to 'source/tools/acpiexec/aemain.c')
-rw-r--r-- | source/tools/acpiexec/aemain.c | 54 |
1 files changed, 40 insertions, 14 deletions
diff --git a/source/tools/acpiexec/aemain.c b/source/tools/acpiexec/aemain.c index bc35036df4b4f..a5f168c237b0f 100644 --- a/source/tools/acpiexec/aemain.c +++ b/source/tools/acpiexec/aemain.c @@ -152,9 +152,11 @@ usage ( ACPI_OPTION ("-dt", "Disable allocation tracking (performance)"); printf ("\n"); + ACPI_OPTION ("-ed", "Enable timer output for Debug Object"); ACPI_OPTION ("-ef", "Enable display of final memory statistics"); ACPI_OPTION ("-ei", "Enable additional tests for ACPICA interfaces"); ACPI_OPTION ("-el", "Enable loading of additional test tables"); + ACPI_OPTION ("-em", "Enable grouping of module-level code"); ACPI_OPTION ("-es", "Enable Interpreter Slack Mode"); ACPI_OPTION ("-et", "Enable debug semaphore timeout"); printf ("\n"); @@ -258,6 +260,11 @@ AeDoOptions ( switch (AcpiGbl_Optarg[0]) { + case 'd': + + AcpiGbl_DisplayDebugTimer = TRUE; + break; + case 'f': #ifdef ACPI_DBG_TRACK_ALLOCATIONS @@ -275,6 +282,11 @@ AeDoOptions ( AcpiGbl_LoadTestTables = TRUE; break; + case 'm': + + AcpiGbl_GroupModuleLevelCode = TRUE; + break; + case 's': AcpiGbl_EnableInterpreterSlack = TRUE; @@ -456,6 +468,7 @@ main ( /* Init ACPICA and start debugger thread */ + AcpiGbl_OverrideDefaultRegionHandlers = TRUE; Status = AcpiInitializeSubsystem (); ACPI_CHECK_OK (AcpiInitializeSubsystem, Status); if (ACPI_FAILURE (Status)) @@ -513,7 +526,7 @@ main ( { /* Get all ACPI AML tables in this file */ - Status = AcpiAcGetAllTablesFromFile (argv[AcpiGbl_Optind], + Status = AcGetAllTablesFromFile (argv[AcpiGbl_Optind], ACPI_GET_ONLY_AML_TABLES, &ListHead); if (ACPI_FAILURE (Status)) { @@ -534,28 +547,21 @@ main ( goto ErrorExit; } - Status = AeInstallTables (); + /* Install all of the ACPI tables */ - /* - * Exit namespace initialization for the "load namespace only" option. - * No control methods will be executed. However, still enter the - * the debugger. - */ - if (AcpiGbl_AeLoadOnly) - { - goto EnterDebugger; - } + Status = AeInstallTables (); if (ACPI_FAILURE (Status)) { - printf ("**** Could not load ACPI tables, %s\n", + printf ("**** Could not install ACPI tables, %s\n", AcpiFormatException (Status)); goto EnterDebugger; } /* - * Install most of the handlers. - * Override some default region handlers, especially SystemMemory + * Install most of the handlers (Regions, Notify, Table, etc.) + * Override the default region handlers, especially SystemMemory, + * which is simulated in this utility. */ Status = AeInstallEarlyHandlers (); if (ACPI_FAILURE (Status)) @@ -583,6 +589,25 @@ main ( goto EnterDebugger; } + Status = AeLoadTables (); + + /* + * Exit namespace initialization for the "load namespace only" option. + * No control methods will be executed. However, still enter the + * the debugger. + */ + if (AcpiGbl_AeLoadOnly) + { + goto EnterDebugger; + } + + if (ACPI_FAILURE (Status)) + { + printf ("**** Could not load ACPI tables, %s\n", + AcpiFormatException (Status)); + goto EnterDebugger; + } + /* * Install handlers for "device driver" space IDs (EC,SMBus, etc.) * and fixed event handlers @@ -637,6 +662,7 @@ EnterDebugger: break; } + (void) AcpiOsTerminate (); return (0); |