summaryrefslogtreecommitdiff
path: root/source/common/adisasm.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/common/adisasm.c')
-rw-r--r--source/common/adisasm.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/source/common/adisasm.c b/source/common/adisasm.c
index 60bd5fda8395a..015765ff5820c 100644
--- a/source/common/adisasm.c
+++ b/source/common/adisasm.c
@@ -156,6 +156,7 @@
#include "acnamesp.h"
#include "acparser.h"
#include "acapps.h"
+#include "acconvert.h"
#define _COMPONENT ACPI_TOOLS
@@ -379,8 +380,6 @@ AdAmlDisassemble (
Status = AE_ERROR;
goto Cleanup;
}
-
- AcpiOsRedirectOutput (File);
}
*OutFilename = DisasmFilename;
@@ -467,6 +466,11 @@ AdDisassembleOneTable (
if (!AcpiGbl_ForceAmlDisassembly && !AcpiUtIsAmlTable (Table))
{
+ if (File)
+ {
+ AcpiOsRedirectOutput (File);
+ }
+
AdDisassemblerHeader (Filename, ACPI_IS_DATA_TABLE);
/* This is a "Data Table" (non-AML table) */
@@ -489,6 +493,10 @@ AdDisassembleOneTable (
return (AE_OK);
}
+ /* Initialize the converter output file */
+
+ ASL_CV_INIT_FILETREE(Table, File);
+
/*
* This is an AML table (DSDT or SSDT).
* Always parse the tables, only option is what to display
@@ -501,6 +509,13 @@ AdDisassembleOneTable (
return (Status);
}
+ /* Redirect output for code generation and debugging output */
+
+ if (File)
+ {
+ AcpiOsRedirectOutput (File);
+ }
+
/* Debug output, namespace and parse tree */
if (AslCompilerdebug && File)