summaryrefslogtreecommitdiff
path: root/source/components/debugger/dbxface.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/components/debugger/dbxface.c')
-rw-r--r--source/components/debugger/dbxface.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/source/components/debugger/dbxface.c b/source/components/debugger/dbxface.c
index 33d5e363b6498..6dcf1e54c8d0c 100644
--- a/source/components/debugger/dbxface.c
+++ b/source/components/debugger/dbxface.c
@@ -45,7 +45,9 @@
#include "accommon.h"
#include "amlcode.h"
#include "acdebug.h"
+#ifdef ACPI_DISASSEMBLER
#include "acdisasm.h"
+#endif
#ifdef ACPI_DEBUGGER
@@ -179,6 +181,7 @@ AcpiDbSingleStep (
UINT32 OriginalDebugLevel;
ACPI_PARSE_OBJECT *DisplayOp;
ACPI_PARSE_OBJECT *ParentOp;
+ UINT32 AmlOffset;
ACPI_FUNCTION_ENTRY ();
@@ -192,15 +195,18 @@ AcpiDbSingleStep (
return (AE_ABORT_METHOD);
}
+ AmlOffset = (UINT32) ACPI_PTR_DIFF (Op->Common.Aml,
+ WalkState->ParserState.AmlStart);
+
/* Check for single-step breakpoint */
if (WalkState->MethodBreakpoint &&
- (WalkState->MethodBreakpoint <= Op->Common.AmlOffset))
+ (WalkState->MethodBreakpoint <= AmlOffset))
{
/* Check if the breakpoint has been reached or passed */
/* Hit the breakpoint, resume single step, reset breakpoint */
- AcpiOsPrintf ("***Break*** at AML offset %X\n", Op->Common.AmlOffset);
+ AcpiOsPrintf ("***Break*** at AML offset %X\n", AmlOffset);
AcpiGbl_CmSingleStep = TRUE;
AcpiGbl_StepToNextCall = FALSE;
WalkState->MethodBreakpoint = 0;
@@ -209,10 +215,10 @@ AcpiDbSingleStep (
/* Check for user breakpoint (Must be on exact Aml offset) */
else if (WalkState->UserBreakpoint &&
- (WalkState->UserBreakpoint == Op->Common.AmlOffset))
+ (WalkState->UserBreakpoint == AmlOffset))
{
AcpiOsPrintf ("***UserBreakpoint*** at AML offset %X\n",
- Op->Common.AmlOffset);
+ AmlOffset);
AcpiGbl_CmSingleStep = TRUE;
AcpiGbl_StepToNextCall = FALSE;
WalkState->MethodBreakpoint = 0;
@@ -308,7 +314,9 @@ AcpiDbSingleStep (
/* Now we can display it */
+#ifdef ACPI_DISASSEMBLER
AcpiDmDisassemble (WalkState, DisplayOp, ACPI_UINT32_MAX);
+#endif
if ((Op->Common.AmlOpcode == AML_IF_OP) ||
(Op->Common.AmlOpcode == AML_WHILE_OP))