summaryrefslogtreecommitdiff
path: root/source/tools/acpiexec/aemain.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/tools/acpiexec/aemain.c')
-rw-r--r--source/tools/acpiexec/aemain.c54
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);