|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object frysk.isa.watchpoints.WatchpointFunctions
public abstract class WatchpointFunctions
Field Summary | |
---|---|
protected int |
noOfWatchpoints
|
protected int |
watchpointMaxLength
|
protected int |
watchpointMinLength
|
Constructor Summary | |
---|---|
WatchpointFunctions()
|
Method Summary | |
---|---|
abstract void |
deleteWatchpoint(Task task,
int index)
Deletes a watchpoint. |
List |
getAllWatchpoints(Task task)
Returns all the watchpoints know in the debug control registers |
int |
getWatchpointCount()
Returns number of watchpoints for this architecture |
int |
getWatchpointMaxLength()
Returns maximum length of a single watchpoint in a single hardware register |
int |
getWatchpointMinLength()
Returns minimum length of a single watchpoint in a single hardware register |
abstract boolean |
hasWatchpointTriggered(Task task,
int index)
Reads the Debug Status Register and checks if the breakpoint specified has fired. |
protected abstract long |
readControlRegister(Task task)
Reads the Debug control register. |
protected abstract long |
readStatusRegister(Task task)
Reads the Debug status register. |
abstract Watchpoint |
readWatchpoint(Task task,
int index)
Reads a watchpoint. |
abstract void |
resetWatchpoint(Task task,
int index)
Resets the appropriate bit in the debug status register after a watchpoint has triggered, thereby reseting it. |
abstract void |
setWatchpoint(Task task,
int index,
long addr,
int range,
boolean writeOnly)
Builds and sets a hardware watchpoint on a task. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected int noOfWatchpoints
protected int watchpointMaxLength
protected int watchpointMinLength
Constructor Detail |
---|
public WatchpointFunctions()
Method Detail |
---|
public abstract void setWatchpoint(Task task, int index, long addr, int range, boolean writeOnly)
task
- - task to set a watchpoint on.index
- - watchpoint number to write. Architecture
dependent.addr
- - linear virtual address to watch.range
- - length of range to watch. Normally
1,2 or 4 bytes. 8 on 64 bit systems. Architecture dependent.writeOnly
- - When true, only trigger when address is
written. False, trigger when address is read or written to.public abstract Watchpoint readWatchpoint(Task task, int index)
task
- - task to read a watchpoint from.index
- - watchpoint number to read.
public abstract void deleteWatchpoint(Task task, int index)
task
- - task on which to delete a watchpoint.index
- - watchpoint number to delete.public List getAllWatchpoints(Task task)
task
- - task on which to delete a watchpoint.
protected abstract long readControlRegister(Task task)
task
- - task to read the debug control
register from.protected abstract long readStatusRegister(Task task)
task
- - task to read the debug status
register from.public abstract boolean hasWatchpointTriggered(Task task, int index)
task
- - task to read the debug control
register from.index
- - Debug register to checkpublic abstract void resetWatchpoint(Task task, int index)
task
- - task to read the debug control
register from.index
- - Debug register to reset.public final int getWatchpointCount()
public final int getWatchpointMaxLength()
public final int getWatchpointMinLength()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |