Using AMLI Debugger Commands

The following commands can be issued from the AMLI Debugger prompt.

General CategorySpecific ActionAMLI Debugger Commands

Controlling the Debugger

Continue Execution
Break to Kernel Debugger

g
q

Controlling AML Execution

Run Method
Step Over AML Code
Trace Into AML Code

run
p
t

Controlling Trace Mode Settings

Configure Trace Mode

trace

Notifying a Namespace Object

Notify Namespace Object

notify

Displaying the Object Count Table

Display Object Count Table

dc

Accessing Memory

Display Data
Display Data Bytes
Display Data Words
Display Data DWORDs
Display Data String
Edit Memory

d
db
dw
dd
da
e

Accessing Ports

Read Byte from Port
Read Word from Port
Read DWORD from Port
Write Byte to Port
Write Word to Port
Write DWORD to Port

i
iw
id
o
ow
od

Displaying Help

Display Help

?

 

Controlling the Debugger

These commands exit the AMLI Debugger. The g command will resume normal execution of the target computer, and the q command will freeze the target computer and break into the kernel debugger.

g
q

Controlling AML Execution

These commands allow you to run or step through AML methods. The run command begins execution at a specified point. The p and t commands allow you to step through one instruction at a time. If a function call is encountered, the p command treats the function as a single step, while the t command traces into the new function one instruction at a time.

run MethodName [ArgumentList]
run CodeAddress [ArgumentList]
p
t

MethodName

Specifies the full path and name of a method. Execution will start at the beginning of this method's memory location.

CodeAddress

Specifies the address where execution is to begin.

ArgumentList

Specifies a list of arguments to be passed to the method. Each argument must be an integer. Multiple arguments should be separated with spaces.

Controlling Trace Mode Settings

The trace command controls the AML interpreter's trace mode settings. If this command is used with no parameters, the current trace mode settings are displayed.

trace [trigon|trigoff] [level=Level] [add=TPStrings] [zap=TPNumbers]

trigon

Activates trace trigger mode.

trigoff

Deactivates trace trigger mode.

Level

Specifies the new setting for the trace level.

TPStrings

Specifies one or more trigger points to be added. Each trigger point is specified by name. Multiple trigger point strings should be separated by commas.

TPNumbers

Specifies one or more trigger points to be deleted. Each trigger point is specified by number. Multiple trigger point numbers should be separated by commas. To see a list of trigger point numbers, use the trace command with no parameters.

Notifying a Namespace Object

The notify command sends a notification to an ACPI namespace object. The notification will be placed in the specified object's queue.

notify ObjectName Value

notify ObjectAddress Value

ObjectName

Specifies the full namespace path of the object to be notified.

ObjectAddress

Specifies the address of the object to be notified.

Value

Specifies the notification value.

Displaying the Object Count Table

The dc command displays the memory object count table.

dc

Accessing Memory

The memory access commands allow you to read and write to memory. When reading memory, you can choose the size of the memory units with the db, dw, dd or da command. A simple d command displays memory in the most recently-chosen units. If this is the first display command used, byte units are used.

If no address or method is specified, display will begin where the previous display command ended.

These commands have the same effect as the standard kernel debugger memory commands; they are duplicated within the AMLI Debugger for easy access.

d[b|w|d|a] [ [l=Length] [ Method | [%%]Address ] ]

e [%%]Address Datalist

b

Specifies that the data should be displayed in byte units.

w

Specifies that the data should be displayed in word (16-bit) units.

d

Specifies that the data should be displayed in DWORD (32-bit) units.

a

Specifies that the data should be displayed as a string. The data is displayed as ASCII characters. The display terminates when a NULL character is read, or when Length characters have been displayed.

Length

Specifies the number of bytes to be displayed. Length must be a hexadecimal number (without an 0x prefix). If Length is omitted, the default display size is 0x80 bytes.

Method

Specifies the full path and name of a method. The display will start at the beginning of this method's memory location.

Address

Specifies the memory address where reading or writing will begin. If the address is prefixed with two percent signs (%%), it is interpreted as a physical address. Otherwise, it is interpreted as a virtual address.

DataList

Specifies the data to be written to memory. Each item in the list can be either a hexadecimal byte or a string. When a string is used, it must be enclosed in quotation marks. Multiple items should be separated by spaces.

Accessing Ports

The port commands allow you to send output or receive input from a data port. The i and o commands transfer single bytes, the iw and ow commands transfer words (16 bits), and the id and od commands transfer DWORDS (32 bits).

These commands have the same effect as the standard kernel debugger port commands; they are duplicated within the AMLI Debugger for easy access.

i Port
iw Port
id Port
o Port DataForPort
ow Port DataForPort
od Port DataForPort

Port

Specifies the address of the port to be accessed. The port size must match the command chosen.

DataForPort

Specifies the data to be written to the port. The size of this data must match the command chosen.

Displaying Help

This command displays help text for the AMLI Debugger commands.

? [Command]

Command

Specifies the command for which to display help. If this is omitted, a list of all AMLI Debugger commands and AMLI Debugger extensions is displayed.

 

 

Send comments about this topic to Microsoft

Show: