frysk.proc.dead
Class LinuxCoreTask

java.lang.Object
  extended by frysk.proc.Task
      extended by frysk.proc.dead.LinuxCoreTask

public class LinuxCoreTask
extends Task


Nested Class Summary
 
Nested classes/interfaces inherited from class frysk.proc.Task
Task.TaskEventObservable
 
Method Summary
 ISA getISA()
          Return's this Task's Instruction Set Architecture; or throw a NullPointerException if the ISA is not available.
 ByteBuffer getMemory()
          Return the Task's memory.
 int getMod()
          Use a counter rather than a boolean because multiple caches may depend on this count and no cache should be able to clear it.
 long getPC()
          Return the address of the instruction that this task will execute next.
 boolean isInstructionObserverAdded(TaskObserver.Instruction o)
          Returns true if the observer has been added to task's instruction observer list.
 void requestAddAttachedObserver(TaskAttachedObserverXXX o)
          Add a TaskAttachedObserverXXX observer.
 void requestAddClonedObserver(TaskObserver.Cloned o)
          Add a TaskObserver.Cloned observer.
 void requestAddCodeObserver(TaskObserver.Code o, long a)
          Add TaskObserver.Code to the TaskObserver pool.
 void requestAddExecedObserver(TaskObserver.Execed o)
          Add TaskObserver.Execed to the TaskObserver pool.
 void requestAddForkedObserver(TaskObserver.Forked o)
          Add a TaskObserver.Forked observer.
 void requestAddInstructionObserver(TaskObserver.Instruction o)
          Request the addition of a Instruction observer that will be notified as soon as the task executes an instruction.
 void requestAddSignaledObserver(TaskObserver.Signaled o)
          Add TaskObserver.Signaled to the TaskObserver pool.
 void requestAddSyscallsObserver(TaskObserver.Syscalls o)
          Add TaskObserver.Syscalls to the TaskObserver pool.
 void requestAddTerminatedObserver(TaskObserver.Terminated o)
          Add a TaskObserver.Terminated observer.
 void requestAddTerminatingObserver(TaskObserver.Terminating o)
          Add TaskObserver.Terminating to the TaskObserver pool.
 void requestAddWatchObserver(TaskObserver.Watch o, long address, int length, boolean writeOnly)
          Add TaskObserver.Watch to the TaskObserver pool.
 void requestDeleteAttachedObserver(TaskAttachedObserverXXX o)
          Delete a TaskAttachedObserverXXX observer.
 void requestDeleteClonedObserver(TaskObserver.Cloned o)
          Delete a TaskObserver.Cloned observer.
 void requestDeleteCodeObserver(TaskObserver.Code o, long a)
          Delete TaskObserver.Code for the TaskObserver pool.
 void requestDeleteExecedObserver(TaskObserver.Execed o)
          Delete TaskObserver.Execed.
 void requestDeleteForkedObserver(TaskObserver.Forked o)
          Delete a TaskObserver.Forked observer.
 void requestDeleteInstructionObserver(TaskObserver.Instruction o)
          Delete TaskObserver.Instruction from the TaskObserver pool.
 void requestDeleteSignaledObserver(TaskObserver.Signaled o)
          Delete TaskObserver.Signaled.
 void requestDeleteSyscallsObserver(TaskObserver.Syscalls o)
          Delete TaskObserver.Syscall.
 void requestDeleteTerminatedObserver(TaskObserver.Terminated o)
          Delete a TaskObserver.Terminated observer.
 void requestDeleteTerminatingObserver(TaskObserver.Terminating o)
          Delete TaskObserver.Terminating.
 void requestDeleteWatchObserver(TaskObserver.Watch o, long address, int length, boolean writeOnly)
          Delete TaskObserver.Watch from the TaskObserver pool.
 void requestUnblock(TaskObserver observerArg)
          Request that the observer be removed from this tasks set of blockers; once there are no blocking observers, this task resumes.
 void setPC(long addr)
          Set the address of the instruction that this task will execute next.
 
Methods inherited from class frysk.proc.Task
access, bogusUseOfInternalBlockersVariableFIXME, compareTo, getName, getProc, getRegister, getRegisterBuffersFIXME, getSignalTable, getSyscallTable, getTid, setRegister, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

getMemory

public ByteBuffer getMemory()
Description copied from class: Task
Return the Task's memory.

Specified by:
getMemory in class Task

getPC

public long getPC()
Description copied from class: Task
Return the address of the instruction that this task will execute next.

Specified by:
getPC in class Task

requestUnblock

public void requestUnblock(TaskObserver observerArg)
Request that the observer be removed from this tasks set of blockers; once there are no blocking observers, this task resumes.

Specified by:
requestUnblock in class Task

requestAddClonedObserver

public void requestAddClonedObserver(TaskObserver.Cloned o)
Add a TaskObserver.Cloned observer.

Specified by:
requestAddClonedObserver in class Task

requestDeleteClonedObserver

public void requestDeleteClonedObserver(TaskObserver.Cloned o)
Delete a TaskObserver.Cloned observer.

Specified by:
requestDeleteClonedObserver in class Task

requestAddAttachedObserver

public void requestAddAttachedObserver(TaskAttachedObserverXXX o)
Add a TaskAttachedObserverXXX observer.

Specified by:
requestAddAttachedObserver in class Task

requestDeleteAttachedObserver

public void requestDeleteAttachedObserver(TaskAttachedObserverXXX o)
Delete a TaskAttachedObserverXXX observer.

Specified by:
requestDeleteAttachedObserver in class Task

requestAddForkedObserver

public void requestAddForkedObserver(TaskObserver.Forked o)
Add a TaskObserver.Forked observer.

Specified by:
requestAddForkedObserver in class Task

requestDeleteForkedObserver

public void requestDeleteForkedObserver(TaskObserver.Forked o)
Delete a TaskObserver.Forked observer.

Specified by:
requestDeleteForkedObserver in class Task

requestAddTerminatedObserver

public void requestAddTerminatedObserver(TaskObserver.Terminated o)
Add a TaskObserver.Terminated observer.

Specified by:
requestAddTerminatedObserver in class Task

requestDeleteTerminatedObserver

public void requestDeleteTerminatedObserver(TaskObserver.Terminated o)
Delete a TaskObserver.Terminated observer.

Specified by:
requestDeleteTerminatedObserver in class Task

requestAddTerminatingObserver

public void requestAddTerminatingObserver(TaskObserver.Terminating o)
Add TaskObserver.Terminating to the TaskObserver pool.

Specified by:
requestAddTerminatingObserver in class Task

requestDeleteTerminatingObserver

public void requestDeleteTerminatingObserver(TaskObserver.Terminating o)
Delete TaskObserver.Terminating.

Specified by:
requestDeleteTerminatingObserver in class Task

requestAddExecedObserver

public void requestAddExecedObserver(TaskObserver.Execed o)
Add TaskObserver.Execed to the TaskObserver pool.

Specified by:
requestAddExecedObserver in class Task

requestDeleteExecedObserver

public void requestDeleteExecedObserver(TaskObserver.Execed o)
Delete TaskObserver.Execed.

Specified by:
requestDeleteExecedObserver in class Task

requestAddSyscallsObserver

public void requestAddSyscallsObserver(TaskObserver.Syscalls o)
Add TaskObserver.Syscalls to the TaskObserver pool.

Specified by:
requestAddSyscallsObserver in class Task

requestDeleteSyscallsObserver

public void requestDeleteSyscallsObserver(TaskObserver.Syscalls o)
Delete TaskObserver.Syscall.

Specified by:
requestDeleteSyscallsObserver in class Task

requestAddSignaledObserver

public void requestAddSignaledObserver(TaskObserver.Signaled o)
Add TaskObserver.Signaled to the TaskObserver pool.

Specified by:
requestAddSignaledObserver in class Task

requestDeleteSignaledObserver

public void requestDeleteSignaledObserver(TaskObserver.Signaled o)
Delete TaskObserver.Signaled.

Specified by:
requestDeleteSignaledObserver in class Task

requestAddWatchObserver

public void requestAddWatchObserver(TaskObserver.Watch o,
                                    long address,
                                    int length,
                                    boolean writeOnly)
Add TaskObserver.Watch to the TaskObserver pool.

Specified by:
requestAddWatchObserver in class Task

requestDeleteWatchObserver

public void requestDeleteWatchObserver(TaskObserver.Watch o,
                                       long address,
                                       int length,
                                       boolean writeOnly)
Delete TaskObserver.Watch from the TaskObserver pool.

Specified by:
requestDeleteWatchObserver in class Task

requestAddCodeObserver

public void requestAddCodeObserver(TaskObserver.Code o,
                                   long a)
Add TaskObserver.Code to the TaskObserver pool.

Specified by:
requestAddCodeObserver in class Task

requestDeleteCodeObserver

public void requestDeleteCodeObserver(TaskObserver.Code o,
                                      long a)
Delete TaskObserver.Code for the TaskObserver pool.

Specified by:
requestDeleteCodeObserver in class Task

requestAddInstructionObserver

public void requestAddInstructionObserver(TaskObserver.Instruction o)
Request the addition of a Instruction observer that will be notified as soon as the task executes an instruction. o.updateExecuted is called as soon as the Task starts running again (is not blocked or stopped) and executes the next instruction.

Specified by:
requestAddInstructionObserver in class Task

requestDeleteInstructionObserver

public void requestDeleteInstructionObserver(TaskObserver.Instruction o)
Delete TaskObserver.Instruction from the TaskObserver pool.

Specified by:
requestDeleteInstructionObserver in class Task

isInstructionObserverAdded

public boolean isInstructionObserverAdded(TaskObserver.Instruction o)
Description copied from class: Task
Returns true if the observer has been added to task's instruction observer list.

Specified by:
isInstructionObserverAdded in class Task

getMod

public int getMod()
Description copied from class: Task
Use a counter rather than a boolean because multiple caches may depend on this count and no cache should be able to clear it.

Specified by:
getMod in class Task

setPC

public void setPC(long addr)
Description copied from class: Task
Set the address of the instruction that this task will execute next.

Specified by:
setPC in class Task

getISA

public ISA getISA()
Description copied from class: Task
Return's this Task's Instruction Set Architecture; or throw a NullPointerException if the ISA is not available. The isa is only available while the task is under observation (attached) as an un-observed task can switch isa's (using exec(2)) undetected.

Specified by:
getISA in class Task