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

Commands

Name Description

delete

Dispose instance of @e500v2

new

Create new instance of e500v2

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

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

Ports

Prop Iface Description

irqClient

IrqIface

interrupt controller interface

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 r31
Description

General Purpose Register 31

Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register r0
Description

General Purpose Register 0

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 upmgc0
Description
Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register pmgc0
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

Diagram
Field Mask Reset Description

sovh

0x80000000

0x0

ovh

0x40000000

0x0

fgh

0x20000000

0x0

fxh

0x10000000

0x0

finvh

0x08000000

0x0

fdbzh

0x04000000

0x0

funfh

0x02000000

0x0

fovfh

0x01000000

0x0

finxs

0x00200000

0x0

finvs

0x00100000

0x0

fdbzs

0x00080000

0x0

funfs

0x00040000

0x0

fovfs

0x00020000

0x0

sov

0x00008000

0x0

ov

0x00004000

0x0

fg

0x00002000

0x0

fx

0x00001000

0x0

finv

0x00000800

0x0

fdbz

0x00000400

0x0

funf

0x00000200

0x0

fovf

0x00000100

0x0

finxe

0x00000040

0x0

finve

0x00000020

0x0

fdbze

0x00000010

0x0

funfe

0x00000008

0x0

fovfe

0x00000004

0x0

frmc

0x00000003

0x0

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

Diagram
Field Mask Reset Description

tbsel

0x10000000

0x0

TLB select for access

esel

0x000f0000

0x0

Entry select (select way in TLB0, select line in TLB1)

nv

0x00000003

0x0

Next victim

Register mas1
Description
Reset value

0x00000000

Warm reset mask

0xc0ff1f00

Diagram
Field Mask Reset Description

0x80000000

0x0

TLB valid bit

iprot

0x40000000

0x0

Invalidate protect (TLB1 only)

tid

0x00ff0000

0x0

Translation identity (process ID of this TLB entry, compared against three PID registers)

ts

0x00001000

0x0

Translation space (IS or DS field for match)

tsize

0x00000f00

0x0

Translation size for TLB entry

Register mas2
Description
Reset value

0x00000000

Warm reset mask

0xfffff07f

Diagram
Field Mask Reset Description

epn

0xfffff000

0x0

Effective page number

x0

0x00000040

0x0

Impl dependent

x1

0x00000020

0x0

Impl dependent

0x00000010

0x0

Write through

0x00000008

0x0

Caching-inhibited

0x00000004

0x0

Memory coherence required

0x00000002

0x0

Guarded

0x00000001

0x0

Endianess (0 = big endian, 1 = little endian)

Register mas3
Description
Reset value

0x00000000

Warm reset mask

0xfffff3ff

Diagram
Field Mask Reset Description

rpn

0xfffff000

0x0

Real page number (physical address)

u0

0x00000200

0x0

User 0

u1

0x00000100

0x0

User 1

u2

0x00000080

0x0

User 2

u3

0x00000040

0x0

User 3

ux

0x00000020

0x0

User exec

sx

0x00000010

0x0

Supervisor exec

uw

0x00000008

0x0

User write

sw

0x00000004

0x0

Supervisor write

ur

0x00000002

0x0

User read

sr

0x00000001

0x0

Supervisor read

Register mas4
Description
Reset value

0x00000000

Warm reset mask

0x30030f7f

Diagram
Field Mask Reset Description

tbseld

0x30000000

0x0

TLB select (loaded into mas0[tlbsel] on tlb miss exception)

tidseld

0x00030000

0x0

TID selcet (loaded into mas1[tid] on tlb miss exception (pid0, pid1, pid2, tidz…​))

tsized

0x00000f00

0x0

Default size value (loaded into mas1[tsize] on TLB miss)

x0d

0x00000040

0x0

Default x0 value (mas2)

x1d

0x00000020

0x0

Default x1 value

wd

0x00000010

0x0

Default w value

id

0x00000008

0x0

Default i value

md

0x00000004

0x0

Default m value

gd

0x00000002

0x0

Default g value

ed

0x00000001

0x0

Default e value

Register mas6
Description
Reset value

0x00000000

Warm reset mask

0x01ff8001

Diagram
Field Mask Reset Description

spid0

0x01ff8000

0x0

Search pid0 (used by tlbsx)

sas

0x00000001

0x0

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

Diagram
Field Mask Reset Description

rpn

0x0000000f

0x0

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

Diagram
Field Mask Reset Description

l2tlb0_fi

0x00000004

0x0

Invalidate TLB0

l2tlb1_fi

0x00000002

0x0

Invalidate TLB1

Register bucsr
Description
Reset value

0x00000000

Warm reset mask

0x00000000

Field Mask Reset Description

-

-

-

-

Register mmucfg
Description
Reset value

0x000031c4

Warm reset mask

0x00007fcf

Diagram
Field Mask Reset Description

npids

0x00007800

0x6

Number of PID registers

pidsize

0x000007c0

0x7

PID register size

ntlbs

0x0000000c

0x1

Number of TLBs

mavn

0x00000003

0x0

MMU arachitecture version number

Register svr
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 setPC Arguments

Name Type Required Description

pc

int

yes

New pc

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

Command translate-block Arguments

Name Type Required Description

count

int

no

Number of instructions, omit for automatic.

pa

int

no

Physical address of block

va

int

no

Virtual address of block

Command translate-func Arguments

Name Type Required Description

pa

int

no

Physical address of block

va

int

no

Virtual address of block

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.

Table 1. Traps Requiring Manual Setting of Registers Afterwards
Trap Name Note

data_storage

dear and esr registers need to be set.

instruction_storage

esr register needs to be set.

alignment_interrupt

dear and esr registers need to be set.

program_interrupt

esr needs to be set (upper 8 bits).

data_TLB_error

dear and esr registers need to be set.

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