hades.models.mips.core
Class Copro0

java.lang.Object
  extended byhades.models.mips.core.Coprocessor
      extended byhades.models.mips.core.Copro0
All Implemented Interfaces:
Memory, Resetable

public class Copro0
extends Coprocessor

Copro0 handles exceptions and some basic configuration


Field Summary
static int BADVADDR
           
static int BEVMASK
           
static int CAUSE
           
static int CMMASK
           
static int CONTEXT
           
static int EPC
           
static int IEcMASK
           
static int IEoMASK
           
static int IEpMASK
           
static int IsCMASK
           
static int KUcMASK
           
static int KUoMASK
           
static int KUpMASK
           
static int PEMASK
           
static int PRID
           
static int PZMASK
           
static int REMASK
           
static int STATUS
           
static int SwCMASK
           
static int TSMASK
           
 
Fields inherited from class hades.models.mips.core.Coprocessor
condition, coreReg, debug, number, partHandler, reg
 
Constructor Summary
Copro0(PartHandler newPartHandler, int coprocNumber)
           
 
Method Summary
 void generateInterrupt(int intNum)
           
 boolean isKernelMode()
           
 boolean isUserMode()
           
 void por()
          Power on reset or hardware reset
 int readBadVAddr()
           
 int readCause()
           
 int readContext()
           
 int readEPC()
           
 int readPrId()
           
 int readStatus()
           
 void reset()
          software reset
 void writeBadVAddr(int word)
           
 void writeCause(int word)
           
 void writeContext(int word)
           
 void writeEPC(int word)
           
 void writeMemory(int address, int word)
          Write a word into the memory
 void writePrId(int word)
           
 void writeRegister(int address, int word)
          Some registers are not completely writeable
 void writeStatus(int word)
           
 
Methods inherited from class hades.models.mips.core.Coprocessor
decodeAndExecute, getCondition, getCoproNumber, getLog, getMemorySize, getWordWidth, installEntryHandler, readControlRegister, readMemory, readRegister, setCondition, setEntry, setLog, writeControlRegister
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

REMASK

public static final int REMASK
See Also:
Constant Field Values

BEVMASK

public static final int BEVMASK
See Also:
Constant Field Values

TSMASK

public static final int TSMASK
See Also:
Constant Field Values

PEMASK

public static final int PEMASK
See Also:
Constant Field Values

CMMASK

public static final int CMMASK
See Also:
Constant Field Values

PZMASK

public static final int PZMASK
See Also:
Constant Field Values

SwCMASK

public static final int SwCMASK
See Also:
Constant Field Values

IsCMASK

public static final int IsCMASK
See Also:
Constant Field Values

KUoMASK

public static final int KUoMASK
See Also:
Constant Field Values

IEoMASK

public static final int IEoMASK
See Also:
Constant Field Values

KUpMASK

public static final int KUpMASK
See Also:
Constant Field Values

IEpMASK

public static final int IEpMASK
See Also:
Constant Field Values

KUcMASK

public static final int KUcMASK
See Also:
Constant Field Values

IEcMASK

public static final int IEcMASK
See Also:
Constant Field Values

CONTEXT

public static final int CONTEXT
See Also:
Constant Field Values

BADVADDR

public static final int BADVADDR
See Also:
Constant Field Values

STATUS

public static final int STATUS
See Also:
Constant Field Values

CAUSE

public static final int CAUSE
See Also:
Constant Field Values

EPC

public static final int EPC
See Also:
Constant Field Values

PRID

public static final int PRID
See Also:
Constant Field Values
Constructor Detail

Copro0

public Copro0(PartHandler newPartHandler,
              int coprocNumber)
Method Detail

por

public void por()
Description copied from class: Coprocessor
Power on reset or hardware reset

Specified by:
por in interface Resetable
Overrides:
por in class Coprocessor

reset

public void reset()
Description copied from class: Coprocessor
software reset

Specified by:
reset in interface Resetable
Overrides:
reset in class Coprocessor

generateInterrupt

public void generateInterrupt(int intNum)

writeEPC

public void writeEPC(int word)

readEPC

public int readEPC()

writeCause

public void writeCause(int word)

readCause

public int readCause()

writeStatus

public void writeStatus(int word)

readStatus

public int readStatus()

writeBadVAddr

public void writeBadVAddr(int word)

readBadVAddr

public int readBadVAddr()

writeContext

public void writeContext(int word)

readContext

public int readContext()

writePrId

public void writePrId(int word)

readPrId

public int readPrId()

isKernelMode

public boolean isKernelMode()

isUserMode

public boolean isUserMode()

writeRegister

public void writeRegister(int address,
                          int word)
Some registers are not completely writeable

Overrides:
writeRegister in class Coprocessor

writeMemory

public void writeMemory(int address,
                        int word)
Description copied from interface: Memory
Write a word into the memory

Specified by:
writeMemory in interface Memory
Overrides:
writeMemory in class Coprocessor