Memory Space

The Memory Space manages the physical memory map of the processors. In addition, it manages code caches for both the interpreter and the translator.

@MemorySpace Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

Commands

Name Description

delete

Dispose instance of @MemorySpace

new

Create new instance of MemorySpace

Command new Arguments

Name Type Required Description

name

string

yes

Name of object to create

processor-count

int

no

Number of processors supported by memory space (default = 4)

MemorySpace Reference

Properties

Name Type Description

Class

*void

Class object

Component

*void

Pointer to component object if part of component

LoggingFlags

uint64_t

Flags for logging info

Name

*char

Object name

TimeSource

*void

Time source object

absentHandlers

temu_IfaceRef/ <unknown>

Absent handlers invoked on accesses to unmapped memory.

breakWatchHandlers

temu_IfaceRef/ <unknown>

Break- and watchpoint handlers invoked on break-/watchpoint hits.

config.noRemapping

uint8_t

config.processorCount

uint32_t

Max number of processors.

config.processorHasSync

uint8_t

cpus

temu_IfaceRefArray

faultyHandlers

temu_IfaceRef/ <unknown>

Faulty handlers invoked on faulty (uncorrectable error) memory access.

invalidaccess

temu_IfaceRef/ <unknown>

Invalid memory access interface.

postTransaction

temu_IfaceRef/ <unknown>

Post transaction interface invoked after transaction has effect.

preTransaction

temu_IfaceRef/ <unknown>

Pre transaction interface invoked before transaction has effect.

target

temu_IfaceRef/ <unknown>

Target execution interface.

upsetHandlers

temu_IfaceRef/ <unknown>

Upset handlers invoked on upset (correctable error) memory access.

user1Handlers

temu_IfaceRef/ <unknown>

User handlers invoked on User1 flagged memory access.

user2Handlers

temu_IfaceRef/ <unknown>

User handlers invoked on User2 flagged memory access.

user3Handlers

temu_IfaceRef/ <unknown>

User handlers invoked on User3 flagged memory access.

Interfaces

Name Type Description

DebuggerAttachIface

temu::DebuggerAttachIface

MemAccessIface

MemAccessIface

MemMapEntryIface

MemMapEntryIface

MemoryIface

MemoryIface

MemorySpaceIface

temu::MemorySpaceIface

ObjectIface

ObjectIface

PDCIface

PDCIface

Commands

Name Description

clear-attr

Clear attribute

delete

Dispose instance of MemorySpace

disable-io-perf

Enable performance collection for I/Os.

disable-remapping-support

Disable support for remapped pages

disable-spinlocks

Disable spinlocks for I/O locks instead of normal mutexes.

dump

Dump memory

enable-experimental-io-perf

Enable performance collection for I/Os.

enable-experimental-spinlocks

Enable spinlocks for I/O locks instead of normal mutexes.

enable-io-perf

Enable performance collection for I/Os.

enable-remapping-support

Enable support for remapped pages (default)

enable-spinlocks

Enable spinlocks for I/O locks instead of normal mutexes.

inject-read

Inject read transaction

inject-write

Inject transaction

io-break

Break on I/O model device accesses

map

Map in device

pstat

Print memory space statistics

set-attr

Set attribute

trace-accesses

Trace I/O model device accesses

unmap

Unmap devices

write

Write memory

Command clear-attr Arguments

Name Type Required Description

addr

int

yes

Address to write device.

attr

string

yes

Attribute to set

length

int

yes

Length of item to write in bytes (default = 4).

Command dump Arguments

Name Type Required Description

addr

int

yes

Address to map device.

length

int

no

Length of address mapping in bytes (default = 16).

swap

int

no

Swap bytes value is log size of swap unit (0-3), default = 0

Command inject-read Arguments

Name Type Required Description

pa

int

no

Physical address of transaction.

size

int

no

Transaction unit size (default = 2 (4 bytes)).

va

int

yes

Virtual address of transaction.

Command inject-write Arguments

Name Type Required Description

pa

int

no

Physical address of transaction.

size

int

no

Transaction unit size (default = 2 (4 bytes)).

va

int

yes

Virtual address of transaction.

value

int

no

Value to write (default = 0)

Command io-break Arguments

Name Type Required Description

device

object

yes

Device to break on accesses to.

Command map Arguments

Name Type Required Description

addr

int

yes

Address to map device.

iface

interface

yes

Memory access interface.

length

int

yes

Length of address mapping in bytes.

Command set-attr Arguments

Name Type Required Description

addr

int

yes

Address to write device.

attr

string

yes

Attribute to set

length

int

yes

Length of item to write in bytes (default = 4).

Command trace-accesses Arguments

Name Type Required Description

device

object

yes

Device to trace accesses to.

Command unmap Arguments

Name Type Required Description

addr

int

yes

Address to unmap.

length

int

yes

Length of address mapping to unmap in bytes.

Command write Arguments

Name Type Required Description

addr

int

yes

Address to write device.

length

int

no

Length of item to write in bytes (default = 4).

swap

int

no

Swap bytes value is log size of swap unit (0-3), default = 0

value

int

yes

Value to write