LEON5
@Leon5 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) | 
| LoggingFlags | uint64_t | Flags for logging info | 
| Name | *char | Object name | 
| ObjectID | uint64_t | Unique ObjectID. | 
| TimeSource | *void | Time source object | 
Leon5 Reference
Properties
| Name | Type | Description | 
|---|---|---|
| CPUId | uint32_t | |
| CPUType | int32_t | |
| Class | *void | Class object | 
| Component | *void | Pointer to component object if part of component | 
| LocalName | *char | Local name (in component, if applicable) | 
| LoggingFlags | uint64_t | Flags for logging info | 
| Name | *char | Object name | 
| ObjectID | uint64_t | Unique ObjectID. | 
| TimeSource | *void | Time source object | 
| asr | [uint32_t; 32] | |
| config.exitOnSync | uint8_t | |
| config.logCallAndJump | uint32_t | |
| config.measureExecTime | uint8_t | |
| cpi | double | Cycles per instruction | 
| cpuToCpu | temu_IfaceRef/ <unknown> | CPU to CPU Interface | 
| cwp | *void | |
| dCache | temu_IfaceRef/ <unknown> | L1 data cache (optional) | 
| devices | temu_IfaceRefArray | |
| exitReason | int32_t | |
| extraRegs | [uint32_t; 32] | |
| fprs | [uint32_t; 32] | |
| freq | int64_t | Frequency in Hz | 
| fsr | uint32_t | |
| fsrInit | uint32_t | |
| fsrSpill | uint32_t | |
| g | [uint32_t; 8] | |
| gprs | [uint32_t; 128] | |
| iCache | temu_IfaceRef/ <unknown> | L1 instruction cache (optional) | 
| i_npc | uintptr_t | Intermediate code nPC | 
| i_pc | uintptr_t | Intermediate code PC | 
| idleSteps | int64_t | |
| ipc | double | Instructions per cycle | 
| irqClient | temu_IfaceRef/ <unknown> | Interrupt controller (for ACKs) | 
| logTrampolines | uint8_t | |
| 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. | 
| mmuCtrl | uint32_t | |
| mmuCtxt | uint32_t | |
| mmuCtxtCount | uint32_t | |
| mmuCtxtPtr | uint32_t | |
| mmuFaultAddr | uint32_t | |
| mmuFaultStat | uint32_t | |
| nextEvent | int64_t | Next event | 
| npc | uint32_t | Next program counter register (%npc) | 
| parentTimeSource | *void | Parent time source | 
| pc | uint32_t | Program counter register (%pc) | 
| pdcManager | temu_IfaceRef/ <unknown> | Pre-decode cache manager (normally memory space) | 
| pendingInterrupts | uint16_t | |
| powerState | uint32_t | |
| psr | uint32_t | Processor state register | 
| resetNpc | uint32_t | Reset nPC (for LEON5) | 
| resetPc | uint32_t | Reset PC (for LEON5) | 
| skipIdleTags | uint64_t | |
| startSteps | int64_t | Start steps of the time source | 
| state | int32_t | |
| stats.mmuCtrlWrites | uint64_t | |
| stats.mmuCtxtPtrWrites | uint64_t | |
| stats.mmuCtxtWrites | uint64_t | |
| stats.raisedTraps | uint64_t | |
| stats.takenInterrupts | uint64_t | |
| steps | int64_t | Steps of the time source | 
| stickyFlags | uint32_t | Set bit 0 to 1 to not exit CPU on halted mode. | 
| targetExec | temu_IfaceRef/ <unknown> | Target execution interface | 
| targetSteps | int64_t | Target steps of the time source | 
| tbr | uint32_t | |
| wim | uint32_t | 
Interfaces
| Name | Type | Description | 
|---|---|---|
| AhbIface | AhbIface | |
| AssemblerIface | temu::AssemblerIface | Assembler interface | 
| BinaryTranslationIface | temu::BinaryTranslationControlIface | |
| ClockIface | ClockIface | |
| CodePatternIface | temu::CodePatternIface | |
| CpuIface | temu::CpuIface | |
| DCacheCtrlIface | temu::CacheCtrlIface | |
| DynamicResetAddressIface | temu::DynamicResetAddressIface | |
| ExecIface | temu::TargetExecutionIface | |
| ICacheCtrlIface | temu::CacheCtrlIface | |
| InvalidMemAccessIface | MemAccessIface | |
| IrqIface | IrqCtrlIface | |
| Leon5Iface | temu::Leon5Iface | |
| MmuMemAccessIface | MemAccessIface | |
| ObjectIface | ObjectIface | |
| PhysicalMemAccessIface | MemAccessIface | |
| PowerIface | PowerIface | |
| RegisterIface | temu::RegisterIface | |
| ResetIface | ResetIface | |
| SparcIface | SparcIface | |
| VirtualMemAccessIface | MemAccessIface | 
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 | 
| auto-log-block | Log translation of block when translating for address | 
| auto-log-instructions | Log instructions in block with the given address | 
| break-on-trap | Break on trap | 
| chainBlocks | Manually chain blocks | 
| delete | Dispose instance of Leon5 | 
| disable-block-entry-logging | Disable logging on block entries. | 
| disable-call-target-profiling | Disable call target profiling for triggering DBT. | 
| disable-dbt-logging | Disable logging when translating code. | 
| disable-dbt-validation | Disable validation of emitted machine code. | 
| disable-fallthrough-profiling | Dis profiling of fallthroughs for triggering DBT. | 
| disable-floating-point-translation | Disable binary translation of floating point instructions. | 
| disable-hard-code-reset | Disable hard resets of DBT emitter cache. | 
| disable-indirect-jump-profiling | Disable profiling of indirect jump targets for triggering DBT. | 
| disable-jit-timing | Disable jit-timing. | 
| disable-off-page-branch-profiling | Disable profiling of off-page branch targets for triggering DBT. | 
| disable-on-page-branch-profiling | Disable profiling of on-page branch targets for triggering DBT. | 
| disable-translation-logging | Disable jit-logging. | 
| disableAutoChain | Disable binary translation block chaining. | 
| disableProfiling | Disable profiling mode | 
| disableStats | Disable statistics | 
| disableTranslation | Disable binary translation. | 
| disableTraps | Disable traps. | 
| disassemble | Disassemble code | 
| disassembleBlock | Disassemble binary translated code block. | 
| disassembleBlockIR | Disassemble LLVM IR of translated code block | 
| disassembleBlockOption | Set option for disassembler. Switch between AT&T (default) and Intel (alternate) syntax. Enable / disable insruction latency in output. | 
| enable-block-entry-logging | Enable logging on block entries. | 
| enable-call-target-profiling | Enable call target profiling for triggering DBT. | 
| enable-cfm-crc | Enable Code Fragment Manger CRCs | 
| enable-dbt-logging | Enable logging when translating code. | 
| enable-dbt-validation | Enable validation of emitted machine code. | 
| enable-fallthrough-profiling | Enable profiling of fallthroughs for triggering DBT. | 
| enable-floating-point-translation | Enable binary translation of floating point instructions. | 
| enable-hard-code-reset | Enable hard resets of DBT emitter cache. | 
| enable-indirect-jump-profiling | Enable profiling of indirect jump targets for triggering DBT. | 
| enable-jit-timing | Enable jit-timing. | 
| enable-off-page-branch-profiling | Enable profiling of off-page branch targets for triggering DBT. | 
| enable-on-page-branch-profiling | Enable profiling of on-page branch targets for triggering DBT. | 
| enable-translation-logging | Enable jit-logging. | 
| enableAutoChain | Enable binary translation block chaining. | 
| enableProfiling | Enable profiling mode | 
| enableStats | Enable statistics | 
| enableTranslation | Enable binary translation. | 
| enableTraps | Enable traps. | 
| find-page-table-root | Scan through the page tables starting with context zero and determine which page table roots can generate the translation. | 
| flushProfile | Flush profile data | 
| pfregs | Print floating point registers for CPU | 
| pregs | Print registers for CPU | 
| print-atc | Print ATC for CPU | 
| print-blocks | Show block connectivity | 
| pstat | Print CPU stats | 
| pwin | Print register window. | 
| resetStats | Reset statistics counters | 
| set-binary-translation-threshold | Set number of times a call target must be executed to trigger translation. | 
| setPC | Set PC (and nPC) | 
| setReg | Set register | 
| stacktrace | Print a stacktrace starting at the current PC. The trace follows firstly the register windows if %i7 points at a call or jmpl addr, %o7 instruction. After register windows have been followed, the stacktrace walks through the in memory stack. Note that leaf functions are detected if %i7 < %o7 ⇐ %pc. | 
| translateBlock | Translate block. | 
| translateFunc | Translate function. | 
| validate | Validates constant data. | 
| wake-up | Wakes up the processor. | 
Command add-call Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | yes | Physical Address | 
| script | path | no | Script to run when reaching address | 
Command add-idle Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | yes | Physical Address | 
| tag | int | no | Tag of idle operation | 
Command add-skip Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | yes | Physical Address | 
| steps | int | yes | Steps to skip | 
Command assemble Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| inst | string | yes | Instruction to assemble. | 
| pa | int | no | Physical address | 
| va | int | no | Virtual address | 
Command chainBlocks Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| arm | string | no | Name of arm in source block (nt/not-taken or t/taken). Defaults to fall through arm (not-taken) | 
| source | int | yes | Physical start address of source block. | 
| target | int | yes | Physical start address of target block. | 
Command disableStats Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| stat | string | yes | Name of statistics (executed-translated-instructions, executed-translated-blocks) | 
Command disassemble Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| count | int | no | Number of instructions | 
| pa | int | no | Physical address | 
| va | int | no | Virtual address | 
Command disassembleBlock Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | no | Physical address of block | 
| va | int | no | Virtual address of block | 
Command disassembleBlockIR Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | no | Physical address of block | 
| va | int | no | Virtual address of block | 
Command disassembleBlockOption Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| option | string | yes | Option to set: 'default-syntax', 'alternate-syntax', 'latency', 'no-latency'. | 
Command enableStats Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| stat | string | yes | Name of statistics (executed-translated-instructions, executed-translated-blocks) | 
Command find-page-table-root Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| pa | int | no | Physical Address | 
| va | int | yes | Virtual Address | 
Command pwin Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| win | int | no | Window ID (-1 = default == current window). | 
Command set-binary-translation-threshold Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| threshold | int | yes | Threshold | 
Command setPC Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| npc | int | no | New %npc (note if omitted %npc = %pc + 4) | 
| pc | int | yes | New %pc | 
Command setReg Arguments
| Name | Type | Required | Description | 
|---|---|---|---|
| reg | string | yes | Register name | 
| value | int | yes | Value |