frysk.proc.live
Class IsaPowerPC

java.lang.Object
  extended by frysk.proc.live.IsaPowerPC
All Implemented Interfaces:
Isa
Direct Known Subclasses:
LinuxPPC32, LinuxPPC64

abstract class IsaPowerPC
extends Object
implements Isa


Field Summary
protected static Instruction ppcBreakpoint
           
 
Constructor Summary
protected IsaPowerPC(Register PC)
           
 
Method Summary
 long getBreakpointAddress(Task task)
          Get the true breakpoint address according to PC register after hitting one breakpoint set in task.
 Instruction getBreakpointInstruction()
          Get the breakpoint instruction of the PowerPC platform.
 Instruction getInstruction(ByteBuffer bb, long addr)
          Returns the instruction at the given location in the memory buffer, or null if there is no valid instruction at the given location.
 List getOutOfLineAddresses(Proc proc)
          Returns a non-empty list of addresses that can be used for out of line stepping.
 boolean hasExecutedSpuriousTrap(Task task)
          FIXME.
 boolean isAtSyscallSigReturn(Task task)
          Returns true if the given Task is at an instruction that will invoke the sig return system call.
 boolean isTaskStepped(Task task)
          FIXME.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ppcBreakpoint

protected static final Instruction ppcBreakpoint
Constructor Detail

IsaPowerPC

protected IsaPowerPC(Register PC)
Method Detail

getBreakpointInstruction

public final Instruction getBreakpointInstruction()
Get the breakpoint instruction of the PowerPC platform.

Specified by:
getBreakpointInstruction in interface Isa
Returns:
bytes[] the instruction of the ISA.

getOutOfLineAddresses

public List getOutOfLineAddresses(Proc proc)
Description copied from interface: Isa
Returns a non-empty list of addresses that can be used for out of line stepping. Each address should point to a location at least big enough for the largest instruction of this ISA.

Specified by:
getOutOfLineAddresses in interface Isa

getInstruction

public Instruction getInstruction(ByteBuffer bb,
                                  long addr)
Returns the instruction at the given location in the memory buffer, or null if there is no valid instruction at the given location. FIXME - needs a real InstructionParser!

Specified by:
getInstruction in interface Isa

getBreakpointAddress

public final long getBreakpointAddress(Task task)
Get the true breakpoint address according to PC register after hitting one breakpoint set in task. In PowerPC, the PC register's value will remain unchanged.

Specified by:
getBreakpointAddress in interface Isa

isTaskStepped

public boolean isTaskStepped(Task task)
FIXME. Not yet implemented for PowerPC platform.

Specified by:
isTaskStepped in interface Isa

hasExecutedSpuriousTrap

public boolean hasExecutedSpuriousTrap(Task task)
FIXME. Not checked whether or not spurious trap events are generated on PowerPC.

Specified by:
hasExecutedSpuriousTrap in interface Isa

isAtSyscallSigReturn

public boolean isAtSyscallSigReturn(Task task)
Returns true if the given Task is at an instruction that will invoke the sig return system call. FIXME On powerpc this method is not yet implemented and always return false.

Specified by:
isAtSyscallSigReturn in interface Isa