SourcePoint AMD Help

Table of Contents

go

Start program execution and optionally set a breakpoint.

Syntax

[[px]] go [forever | tilswb | til addr-event]

Where:

[px]

is a viewpoint override, including punctuation ( [ ] ), specifying that the viewpoint is temporarily set to processor x of the boundary scan chain. ย The processor can be specified as px (where x is the processor ID), or an alias you have defined for a given processor ID. ALL cannot be used as a viewpoint override.

addr-event

addr [length] [type]

length

{byte | word | dword}

type

{acc | exe | wr | io | rd | smmacc | smmexe | smmwr | smmio}

acc

specifies that the event to be recognized is a data access (read or write) operation at the specified vls-addr. The default segment of vls-addr is DS.

exe

specifies that the event to be recognized is based on the execution of an instruction at vls-addr. The execute option is the default setting if a type is not specified. The specified vls-addr must identify the first byte of an instruction opcode for it to be recognized. The default segment selector of vls-addr is the current CS.

forever

temporarily disables all breakpoints and begins emulation.

io

specifies that the event to be recognized is an I/O access (read or write) operation at the corresponding port address.

ย 

ย 

smmacc

specifies that the event to be recognized is a data access (read or write) operation in the SMM address space at the specified vls-addr. The default segment of vls-addr is DS.

smmexe

specifies that the event to be recognized is based on the execution of an instruction in the SMM address space at vls-addr. The execute option is the default setting if a type is not specified. The specified vls-addr must identify the first byte of an instruction opcode for it to be recognized. The default segment selector of vls-addr is the current CS.

smmio

specifies that the event to be recognized is an I/O access (read or write) operation in the SMM address space at the corresponding port address.

smmwr

specifies that the event to be recognized is a memory write operation in the SMM address space. The default segment selector is the current DS.

til

specifies the following event is to be recognized.

tilswb

specifies that emulation continues until a software break is executed. Other breakpoint types are temporarily disabled.

vls-addr

specifies a virtual, linear, or symbolic address (a physical address cannot be entered). If vls-addr is followed by either a write or an access option, then the default segment selector is the current DS. If vls-addr is followed by either the execute option or nothing, the default segment selector is the current CS.

wr

specifies that the event to be recognized is a memory write operation. The default segment selector is the current DS.

byte,word, dword

specifies the range of the addresses that will cause a break. The byte option is the default setting if a length is not specified.

Discussion

Use the go command to control emulation. The go command uses the processor debug registers for setting address events.

Hardware breaks are implemented using the on-chip debug registers of the processor. Emulation stops before the instruction at addr-event is executed. However, if addr-event is qualified with a write or an access option, the break occurs immediately after the event that caused the match.

When software breakpoints are set, emulation stops before the instruction is executed.

The emulator uses debug registers 0 through 7 and the "Interrupt 1" facilities of the processor . If the target software uses "Interrupt 1" during emulation, an unexpected break occurs. If the target software modifies the processor debug registers while in emulation, the results may be unpredictable.

When the go command is entered without any specifications, any breakpoints specified in the Breakpoints window are in effect.

Example 1

Go til inst @ 1000p is fetched:

Command input:

go til 1000p

Example 2

Go til a byte read @ 12000p occurs:

Command input:

go til 12000p byte rd

Example 3

Temporarily disable all breakpoints and go:

Command input:

go forever

Example 4

Temporarily disable all breakpoints except for softbreaks and go:

Command input:

go tilswb

Example 5

Start processor P1:

Command input:

[p1] go

Related Topics