E500v2
The E500v2 models the NXP processor core of the same name. This includes the SPE instruction set.
@e500v2 Reference
Properties
| Name | Type | Description |
|---|---|---|
Class |
*void |
Class object |
Component |
*void |
Pointer to component object if part of component |
LocalName |
*char |
Local name (in component, if applicable) |
LogMessageFlags |
uint64_t |
Per-object log message suppression flags |
LoggingFlags |
uint64_t |
Flags for logging info |
Name |
*char |
Object name |
ObjectID |
uint64_t |
Unique ObjectID. |
ReplayLoggingFlags |
uint64_t |
Replay-time category logging flags |
TimeSource |
*void |
Time source object |
e500v2 Reference
Properties
| Name | Type | Description |
|---|---|---|
CPUId |
uint32_t |
|
CPUType |
int32_t |
|
Class |
*void |
Class object |
ClockDivider |
uint64_t |
Current clock divider (relation CPU freq and CCB or TB freq). |
Component |
*void |
Pointer to component object if part of component |
HostFlags |
uint64_t |
|
LocalName |
*char |
Local name (in component, if applicable) |
LogMessageFlags |
uint64_t |
Per-object log message suppression flags |
LoggingFlags |
uint64_t |
Flags for logging info |
Name |
*char |
Object name |
ObjectID |
uint64_t |
Unique ObjectID. |
ReplayLoggingFlags |
uint64_t |
Replay-time category logging flags |
TimeSource |
*void |
Time source object |
acc |
uint64_t |
Accumulator register |
atbl |
uint32_t |
|
atbu |
uint32_t |
|
bbear |
uint32_t |
|
bbtar |
uint32_t |
|
bucsr |
uint32_t |
|
config.CCBFrequency |
uint64_t |
CCB Clock Frequency |
config.TBFrequency |
uint64_t |
Time Base Clock Frequency (same as RTC on e500) |
config.assemblerAliases |
uint8_t |
|
config.exitOnSync |
uint8_t |
|
config.handleEventWithinBlock |
uint8_t |
|
config.measureExecTime |
uint8_t |
|
cpi |
double |
Cycles per instruction |
cr |
uint32_t |
|
csrrs |
[uint32_t; 2] |
|
ctr |
uint32_t |
|
currentContextId |
uint64_t |
|
currentContextValid |
uint8_t |
|
currentThreadContextId |
uint64_t |
|
currentThreadContextValid |
uint8_t |
|
dac1 |
uint32_t |
|
dac2 |
uint32_t |
|
dbcrs |
[uint32_t; 3] |
|
dbsr |
uint32_t |
|
dear |
uint32_t |
|
dec |
uint32_t |
|
decar |
uint32_t |
|
devices |
temu_IfaceRefArray |
|
dvc1 |
uint32_t |
|
dvc2 |
uint32_t |
|
esr |
uint32_t |
|
exitReason |
int32_t |
|
freq |
int64_t |
Frequency in Hz |
gprs |
[uint64_t; 32] |
|
hid0 |
uint32_t |
|
hid1 |
uint32_t |
|
iac1 |
uint32_t |
|
iac2 |
uint32_t |
|
idleSteps |
int64_t |
|
ipc |
double |
Instructions per cycle |
irq |
int8_t |
|
irqClient |
temu_IfaceRef/ <unknown> |
|
ivors |
[uint32_t; 64] |
|
ivpr |
uint32_t |
|
l1cfg0 |
uint32_t |
|
l1cfg1 |
uint32_t |
|
l1csr0 |
uint32_t |
|
l1csr1 |
uint32_t |
|
logTrampolines |
uint8_t |
|
lr |
uint32_t |
|
mass |
[uint32_t; 7] |
|
mcar |
uint32_t |
|
mcsr |
uint32_t |
|
mcsrrs |
[uint32_t; 2] |
|
memAccess |
temu_IfaceRef/ <unknown> |
Level 1 memory access interface (MMU) |
memAccessL2 |
temu_IfaceRef/ <unknown> |
Level 2 memory access interface (physical) |
memReset |
temu_IfaceRef/ <unknown> |
Memory space reset interface |
memSpace |
*void |
Memory space. |
mmucfg |
uint32_t |
|
mmucsr0 |
uint32_t |
|
msr |
uint32_t |
|
nextEvent |
int64_t |
Next event |
parentTimeSource |
*void |
Parent time source |
pc |
uint32_t |
Program counter |
pdcManager |
temu_IfaceRef/ <unknown> |
Pre-decode cache manager (normally memory space) |
pid0 |
uint32_t |
|
pid1 |
uint32_t |
|
pid2 |
uint32_t |
|
pir |
uint32_t |
|
pmc0 |
uint32_t |
|
pmc1 |
uint32_t |
|
pmc2 |
uint32_t |
|
pmc3 |
uint32_t |
|
pmgc0 |
uint32_t |
|
pmlca0 |
uint32_t |
|
pmlca1 |
uint32_t |
|
pmlca2 |
uint32_t |
|
pmlca3 |
uint32_t |
|
pmlcb0 |
uint32_t |
|
pmlcb1 |
uint32_t |
|
pmlcb2 |
uint32_t |
|
pmlcb3 |
uint32_t |
|
powerState |
uint32_t |
Power State property (deprecated) |
pvr |
uint32_t |
|
skipIdleTags |
uint64_t |
|
spefscr |
uint32_t |
|
spr976 |
uint32_t |
|
sprgs |
[uint32_t; 8] |
|
srrs |
[uint32_t; 2] |
|
startSteps |
int64_t |
Start steps of the time source |
state |
int32_t |
|
steps |
int64_t |
Steps of the time source |
stickyFlags |
uint32_t |
Set bit 0 to 1 to not exit CPU on halted mode. |
svr |
uint32_t |
|
targetExec |
temu_IfaceRef/ <unknown> |
Target execution interface |
targetSteps |
int64_t |
Target steps of the time source |
tcr |
uint32_t |
|
tlb0Entries |
[uint32_t; 8192] |
TLB0 Entries |
tlb0Nv |
uint32_t |
TLB0 NV |
tlb0cfg |
uint32_t |
|
tlb1Entries |
[uint32_t; 64] |
TLB1 Entries |
tlb1cfg |
uint32_t |
|
tsr |
uint32_t |
|
upmc0 |
uint32_t |
|
upmc1 |
uint32_t |
|
upmc2 |
uint32_t |
|
upmc3 |
uint32_t |
|
upmgc0 |
uint32_t |
|
upmlca0 |
uint32_t |
|
upmlca1 |
uint32_t |
|
upmlca2 |
uint32_t |
|
upmlca3 |
uint32_t |
|
upmlcb0 |
uint32_t |
|
upmlcb1 |
uint32_t |
|
upmlcb2 |
uint32_t |
|
upmlcb3 |
uint32_t |
|
usrpg0 |
uint32_t |
|
xer |
uint32_t |
Interfaces
| Name | Type | Description |
|---|---|---|
AssemblerIface |
temu::AssemblerIface |
Assembler interface |
BinaryTranslationIface |
temu::BinaryTranslationControlIface |
|
ClockIface |
ClockIface |
|
CodePatternIface |
temu::CodePatternIface |
|
CpuIface |
temu::CpuIface |
|
E500MMUIface |
temu::E500MMUIface |
MMU interface for the E500 |
ExecIface |
temu::TargetExecutionIface |
|
InvalidMemAccessIface |
MemAccessIface |
|
IrqIface |
IrqCtrlIface |
|
MmuMemAccessIface |
MemAccessIface |
MMU access interface |
ObjectIface |
ObjectIface |
|
PhysicalMemAccessIface |
MemAccessIface |
|
PowerIface |
PowerIface |
|
PowerPCIface |
temu::PowerPCIface |
|
RegisterIface |
temu::RegisterIface |
Auto-generated Register Interface Impl. |
ResetIface |
ResetIface |
|
VirtualMemAccessIface |
MemAccessIface |
Registers
| Register support is currently experimental! |
Register Bank gpr
Register r1
- Description
-
General Purpose Register 1
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r2
- Description
-
General Purpose Register 2
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r3
- Description
-
General Purpose Register 3
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r4
- Description
-
General Purpose Register 4
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r5
- Description
-
General Purpose Register 5
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r6
- Description
-
General Purpose Register 6
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r7
- Description
-
General Purpose Register 7
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r8
- Description
-
General Purpose Register 8
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r9
- Description
-
General Purpose Register 9
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r10
- Description
-
General Purpose Register 10
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r11
- Description
-
General Purpose Register 11
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r12
- Description
-
General Purpose Register 12
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r13
- Description
-
General Purpose Register 13
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r14
- Description
-
General Purpose Register 14
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r15
- Description
-
General Purpose Register 15
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r16
- Description
-
General Purpose Register 16
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r17
- Description
-
General Purpose Register 17
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r18
- Description
-
General Purpose Register 18
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r19
- Description
-
General Purpose Register 19
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r20
- Description
-
General Purpose Register 20
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r21
- Description
-
General Purpose Register 21
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r22
- Description
-
General Purpose Register 22
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r23
- Description
-
General Purpose Register 23
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r24
- Description
-
General Purpose Register 24
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r25
- Description
-
General Purpose Register 25
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r26
- Description
-
General Purpose Register 26
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r27
- Description
-
General Purpose Register 27
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r28
- Description
-
General Purpose Register 28
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r29
- Description
-
General Purpose Register 29
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register r30
- Description
-
General Purpose Register 30
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register Bank pmcrs
Register upmc0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmc1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmc2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmc3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmc0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmc1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmc2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmc3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlca0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlca1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlca2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlca3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlca0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlca1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlca2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlca3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlcb0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlcb1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlcb2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register upmlcb3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlcb0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlcb1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlcb2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pmlcb3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register Bank sprs
Register xer
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register lr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ctr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dec
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register srr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register srr1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pid0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register decar
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register csrr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register csrr1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dear
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register esr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivpr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register usrpg0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg3_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg4_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg5_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg6_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg7_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tbl_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tbu_u
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg4
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg5
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg6
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register sprg7
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tbl
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tbu
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pir
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pvr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dbsr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dbcr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dbcr1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dbcr2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register iac1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register iac2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dac1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dac2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dvc1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register dvc2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tsr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tcr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor4
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor5
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor6
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor7
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor8
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor9
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor10
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor11
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor12
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor13
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor14
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor15
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register spefscr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0xff3eff7f
| Field | Mask | Reset | Description |
|---|---|---|---|
sovh |
|
|
|
ovh |
|
|
|
fgh |
|
|
|
fxh |
|
|
|
finvh |
|
|
|
fdbzh |
|
|
|
funfh |
|
|
|
fovfh |
|
|
|
finxs |
|
|
|
finvs |
|
|
|
fdbzs |
|
|
|
funfs |
|
|
|
fovfs |
|
|
|
sov |
|
|
|
ov |
|
|
|
fg |
|
|
|
fx |
|
|
|
finv |
|
|
|
fdbz |
|
|
|
funf |
|
|
|
fovf |
|
|
|
finxe |
|
|
|
finve |
|
|
|
fdbze |
|
|
|
funfe |
|
|
|
fovfe |
|
|
|
frmc |
|
|
Register bbear
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register bbtar
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register l1cfg0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register l1cfg1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register atbl
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register atbu
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor32
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor33
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor34
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register ivor35
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mcsrr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mcsrr1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mcsr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mcar
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mas0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x100f0003
| Field | Mask | Reset | Description |
|---|---|---|---|
tbsel |
|
|
TLB select for access |
esel |
|
|
Entry select (select way in TLB0, select line in TLB1) |
nv |
|
|
Next victim |
Register mas1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0xc0ff1f00
| Field | Mask | Reset | Description |
|---|---|---|---|
|
|
TLB valid bit |
|
iprot |
|
|
Invalidate protect (TLB1 only) |
tid |
|
|
Translation identity (process ID of this TLB entry, compared against three PID registers) |
ts |
|
|
Translation space (IS or DS field for match) |
tsize |
|
|
Translation size for TLB entry |
Register mas2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0xfffff07f
| Field | Mask | Reset | Description |
|---|---|---|---|
epn |
|
|
Effective page number |
x0 |
|
|
Impl dependent |
x1 |
|
|
Impl dependent |
|
|
Write through |
|
|
|
Caching-inhibited |
|
|
|
Memory coherence required |
|
|
|
Guarded |
|
|
|
Endianess (0 = big endian, 1 = little endian) |
Register mas3
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0xfffff3ff
| Field | Mask | Reset | Description |
|---|---|---|---|
rpn |
|
|
Real page number (physical address) |
u0 |
|
|
User 0 |
u1 |
|
|
User 1 |
u2 |
|
|
User 2 |
u3 |
|
|
User 3 |
ux |
|
|
User exec |
sx |
|
|
Supervisor exec |
uw |
|
|
User write |
sw |
|
|
Supervisor write |
ur |
|
|
User read |
sr |
|
|
Supervisor read |
Register mas4
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x30030f7f
| Field | Mask | Reset | Description |
|---|---|---|---|
tbseld |
|
|
TLB select (loaded into mas0[tlbsel] on tlb miss exception) |
tidseld |
|
|
TID selcet (loaded into mas1[tid] on tlb miss exception (pid0, pid1, pid2, tidz…)) |
tsized |
|
|
Default size value (loaded into mas1[tsize] on TLB miss) |
x0d |
|
|
Default x0 value (mas2) |
x1d |
|
|
Default x1 value |
wd |
|
|
Default w value |
id |
|
|
Default i value |
md |
|
|
Default m value |
gd |
|
|
Default g value |
ed |
|
|
Default e value |
Register mas6
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x01ff8001
| Field | Mask | Reset | Description |
|---|---|---|---|
spid0 |
|
|
Search pid0 (used by tlbsx) |
sas |
|
|
Address space for searches |
Register pid1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register pid2
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tlb0cfg
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register tlb1cfg
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mas7
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x0000000f
| Field | Mask | Reset | Description |
|---|---|---|---|
rpn |
|
|
Real page number high order bits (rest of mas3.rpn) |
Register spr976
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register hid0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register hid1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register l1csr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register l1csr1
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Register mmucsr0
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000006
| Field | Mask | Reset | Description |
|---|---|---|---|
l2tlb0_fi |
|
|
Invalidate TLB0 |
l2tlb1_fi |
|
|
Invalidate TLB1 |
Register bucsr
- Description
- Reset value
-
0x00000000
- Warm reset mask
-
0x00000000
| Field | Mask | Reset | Description |
|---|---|---|---|
- |
- |
- |
- |
Commands
| Name | Description |
|---|---|
add-call |
Adds a call at the specific address. The call operation calls a predefined method which logs that it is invoked.It is primarily useful for debugging. |
add-idle |
Adds an explicit idle operation at the specific address. |
add-skip |
Adds a skip operation at the specific address. After this, the given number of instructions will be skipped. |
assemble |
Assemble instruction |
delete |
Dispose instance of e500v2 |
disable-dbt-logging |
Disable logging when translating code. |
disable-dbt-validation |
Disable validation of emitted machine code. |
disable-hard-code-reset |
Disable hard resets of DBT emitter cache. |
disable-stats |
Disable statistics |
disable-translation-logging |
Disable jit-logging. |
disassemble-block |
Disassemble binary translated code block. |
disassemble-block-option |
Set option for disassembler. Switch between AT&T (default) and Intel (alternate) syntax. Enable / disable insruction latency in output. |
enable-dbt-logging |
Enable logging when translating code. |
enable-dbt-validation |
Enable validation of emitted machine code. |
enable-hard-code-reset |
Enable hard resets of DBT emitter cache. |
enable-stats |
Enable statistics |
enable-translation-logging |
Enable jit-logging. |
pfregs |
Print floating point registers for CPU |
pregs |
Print registers for CPU |
printTLB0 |
Print TLB0 |
printTLB1 |
Print TLB1 |
pstat |
Print CPU stats |
raiseCritical |
Raise critical interrupt |
raiseExternal |
Raise external interrupt |
set-reg |
Set register |
setPC |
Set PC |
setTLB0Entry |
Add entry to TLB0 |
setTLB1Entry |
Add entry to TLB1 |
stacktrace |
ABI stack trace |
translate-block |
Translate block. |
translate-func |
Translate function. |
wake-up |
Wakes up the processor. |
Command add-call Arguments
| Name | Type | Required | Description |
|---|---|---|---|
context |
string |
no |
Context |
pa |
int |
no |
Physical Address |
pamask |
int |
no |
Physical Address Mask |
script |
path |
no |
Script to run when reaching address |
va |
int |
no |
Virtual Address |
vamask |
int |
no |
Virtual Address Mask |
Command add-idle Arguments
| Name | Type | Required | Description |
|---|---|---|---|
context |
string |
no |
Context |
pa |
int |
no |
Physical Address |
pamask |
int |
no |
Physical Address Mask |
tag |
int |
no |
Tag of idle operation |
va |
int |
no |
Virtual Address |
vamask |
int |
no |
Virtual Address Mask |
Command add-skip Arguments
| Name | Type | Required | Description |
|---|---|---|---|
context |
string |
no |
Context |
pa |
int |
no |
Physical Address |
pamask |
int |
no |
Physical Address Mask |
steps |
int |
yes |
Steps to skip |
va |
int |
no |
Virtual Address |
vamask |
int |
no |
Virtual Address Mask |
Command assemble Arguments
| Name | Type | Required | Description |
|---|---|---|---|
inst |
string |
yes |
Instruction to assemble. |
pa |
int |
no |
Physical address |
va |
int |
no |
Virtual address |
Command disable-stats Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stat |
string |
yes |
Name of statistics (executed-translated-instructions, executed-translated-blocks) |
Command disassemble-block Arguments
| Name | Type | Required | Description |
|---|---|---|---|
pa |
int |
no |
Physical address of block |
va |
int |
no |
Virtual address of block |
Command disassemble-block-option Arguments
| Name | Type | Required | Description |
|---|---|---|---|
option |
string |
yes |
Option to set: 'default-syntax', 'alternate-syntax', 'latency', 'no-latency'. |
Command enable-stats Arguments
| Name | Type | Required | Description |
|---|---|---|---|
stat |
string |
yes |
Name of statistics (executed-translated-instructions, executed-translated-blocks) |
Command set-reg Arguments
| Name | Type | Required | Description |
|---|---|---|---|
reg |
string |
yes |
Register name |
value |
int |
yes |
Value |
Command setTLB0Entry Arguments
| Name | Type | Required | Description |
|---|---|---|---|
mas1 |
int |
yes |
MAS1 |
mas2 |
int |
yes |
MAS2 |
mas3 |
int |
yes |
MAS3 |
mas7 |
int |
yes |
MAS7 |
set |
int |
yes |
Set [0-127] |
way |
int |
yes |
Way [0-3] |
Command setTLB1Entry Arguments
| Name | Type | Required | Description |
|---|---|---|---|
entry |
int |
yes |
Entry [0-15] |
mas1 |
int |
yes |
MAS1 |
mas2 |
int |
yes |
MAS2 |
mas3 |
int |
yes |
MAS3 |
mas7 |
int |
yes |
MAS7 |
Note on Trap Support
TEMU supports the raising of traps, via either the API or the command line. Some Book-E PowerPC traps are parametarized, and the standard interfaces sets the parameters to zero.
The parameters need to be applied manually after using the interfaces or command line.
| Trap Name | Note |
|---|---|
|
|
|
|
|
|
|
|
|
|
In addition, the e500v2 core does not support all Book-E traps, please consult the hardware documentation for further information.
Limitations
-
No static timing model is defined at this moment. That means that one instruction take one cycle to finish.
-
MMU model is not yet validated against hardware.
-
Cache control interfaces are not implemented or supported, this can be addressed if needed.
-
The errata described in the e500CORERMAD is not correctly simulated. the following instructions deviates from hardware errata and are implemented as documented instead:
-
evmwlssiaaw -
evmwlssianw -
evmwlusiaaw -
evmwlusianw
-