Enumerations

temu_ARMExecMode

Include

#include "temu-c/Target/ARM.h"

Type

enum temu_ARMExecMode {
}

Description

Enumerators

Name Value Description

temu_ARMMode

Include

#include "temu-c/Target/ARM.h"

Type

enum temu_ARMMode {
}

Description

Enumerators

Name Value Description

temu_BTStatID

Include

#include "temu-c/EmulatorManager/BinaryTranslation.h"

Type

enum temu_BTStatID {
}

Description

Enumerators

Name Value Description

temu_ClockStopReason

Include

#include "temu-c/Models/Clock.h"

Type

enum temu_ClockStopReason {
  teCSR_Normal = 0,
  teCSR_Halt = 1,
  teCSR_BreakWatch = 2,
  teCSR_Early = 3,
  teCSR_Panic = 4,
}

Description

Clock stop reason, these are similar to CPU exit reason, but not identical.

Enumerators

Name Value Description

teCSR_Normal

0

Normal exit (cannot be passed to early exit)

teCSR_Halt

1

Exited due to clock halting

teCSR_BreakWatch

2

Exited due to breakpoint or watchpoint hit

teCSR_Early

3

Other early stop reason

teCSR_Panic

4

Clock had a serious internal error

temu_CmdOptionKind

Include

#include "temu-c/Support/CommandLine.h"

Type

enum temu_CmdOptionKind {
  teCOK_Path = 1,
  teCOK_Object = 2,
  teCOK_Int = 3,
}

Description

Enumerators

Name Value Description

teCOK_Path

1

Path is a string, but with auto completion of file names

teCOK_Object

2

Object is a named object

teCOK_Int

3

Any integer number

temu_CpuExitReason

Include

#include "temu-c/Target/Cpu.h"

Type

enum temu_CpuExitReason {
  teCER_Normal = 0,
  teCER_Trap = 2,
  teCER_Halt = 3,
  teCER_Event = 4,
  teCER_Break = 5,
  teCER_WatchR = 6,
  teCER_WatchW = 7,
  teCER_Early = 8,
  teCER_Panic = 9,
}

Description

Enumerators

Name Value Description

teCER_Normal

0

Normal exit (cannot be passed to early exit)

teCER_Trap

2

Exited due to trap (sync trap)

teCER_Halt

3

Exited due to halting (e.g. sparc error mode)

teCER_Event

4

Exited due to synchronised event (internally, returned for any event)

teCER_Break

5

Exited due to breakpoint hit

teCER_WatchR

6

Exited due to watchpoint read hit

teCER_WatchW

7

Exited due to watchpoint write hit

teCER_Early

8

Other early exit reason

teCER_Panic

9

Emulator panic (e.g. illegal mode transition)

temu_CpuState

Include

#include "temu-c/Target/Cpu.h"

Type

enum temu_CpuState {
  teCS_Nominal = 0,
  teCS_Halted = 1,
  teCS_Idling = 2,
}

Description

Enumerators

Name Value Description

teCS_Nominal

0

Normal all ok CPU state

teCS_Halted

1

Halted CPU (e.g. SPARC error mode), the CPU can go to the normal state using a reset

teCS_Idling

2

The CPU is in idle mode. It will not run instructions, only advance the CPUs event queue (until the CPU moves to another mode).

temu_Endian

Include

#include "temu-c/Target/Cpu.h"

Type

enum temu_Endian {
}

Description

Enumerators

Name Value Description

temu_InitiatorType

Include

#include "temu-c/Memory/Memory.h"

Type

enum temu_InitiatorType {
}

Description

Enumerators

Name Value Description

temu_InstructionFlags

Include

#include "temu-c/EmulatorManager/Instrumenter.h"

Type

enum temu_InstructionFlags {
}

Description

Enumerators

Name Value Description

temu_LogLevel

Include

#include "temu-c/Support/Logging.h"

Type

enum temu_LogLevel {
  teLL_Fatal = 0,
  teLL_Error = 1,
  teLL_Warning = 2,
  teLL_Info = 3,
  teLL_Debug = 4,
}

Description

Logging levels corresponds roughly to some of the RFC 5424 severity levels.

Enumerators

Name Value Description

teLL_Fatal

0

Fatal, emulator cannot keep on running

teLL_Error

1

Error happened, in principle critical but up to user

teLL_Warning

2

Warnings

teLL_Info

3

Normal messages

teLL_Debug

4

Debug

temu_MemoryAttr

Include

#include "temu-c/Support/Memory.h"

Type

enum temu_MemoryAttr {
  teMA_Break = 1,
  teMA_WatchRead = 2,
  teMA_WatchWrite = 4,
  teMA_Upset = 8,
  teMA_Faulty = 16,
  teMA_User1 = 32,
  teMA_User2 = 64,
  teMA_User3 = 128,
}

Description

The emulator provides 5 standard attributes, and 3 user defined ones. The attributes are set in the memory space (not the memory models), so it is possible to set a watch point on memory mapped devices. When an attribute is set on a page, that page will get a shadow attribute page (same size as the page), enabling attributes to be set on a per byte level.

Attributes are only checked on the address being accessed, the transaction size is not taken into account.

Enumerators

Name Value Description

teMA_Break

1

Breakpoint set

teMA_WatchRead

2

Read watchpoint set

teMA_WatchWrite

4

Write watchpoint set

teMA_Upset

8

Single event upset

teMA_Faulty

16

Multiple event upset / uncorrectable

teMA_User1

32

User definable

teMA_User2

64

User definable

teMA_User3

128

User definable

temu_MemoryEndianness

Include

#include "temu-c/Memory/Memory.h"

Type

enum temu_MemoryEndianness {
}

Description

Enumerators

Name Value Description

temu_MemoryKind

Include

#include "temu-c/Support/Memory.h"

Type

enum temu_MemoryKind {
}

Description

Enumerators

Name Value Description

temu_Mil1553BusResetType

Include

#include "temu-c/Bus/MilStd1553.h"

Type

enum temu_Mil1553BusResetType {
}

Description

Enumerators

Name Value Description

temu_Mil1553Error

Include

#include "temu-c/Bus/MilStd1553.h"

Type

enum temu_Mil1553Error {
}

Description

Enumerators

Name Value Description

temu_Mil1553MsgType

Include

#include "temu-c/Bus/MilStd1553.h"

Type

enum temu_Mil1553MsgType {
}

Description

Enumerators

Name Value Description

temu_PCIeMessageTypes

Include

#include "temu-c/Bus/PCIExpress.h"

Type

enum temu_PCIeMessageTypes {
}

Description

temu_PCIeMessageTypes: PCI Express Messages name = code

Enumerators

Name Value Description

temu_PowerState

Include

#include "temu-c/Models/Power.h"

Type

enum temu_PowerState {
  tePS_Off = 0,
  tePS_On = 1,
}

Description

Used to indicate whether a model is powered on

Enumerators

Name Value Description

tePS_Off

0

System is powered off

tePS_On

1

System is powered on

temu_SpwLinkState

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwLinkState {
}

Description

Enumerators

Name Value Description

temu_SpwPacketType

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwPacketType {
}

Description

Enumerators

Name Value Description

temu_SpwRmapCommandType

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwRmapCommandType {
}

Description

Enumerators

Name Value Description

temu_SpwRmapDecodedPacketType

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwRmapDecodedPacketType {
}

Description

Enumerators

Name Value Description

temu_SpwRmapDecodingOutcome

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwRmapDecodingOutcome {
}

Description

Enumerators

Name Value Description

temu_SpwRmapPacketType

Include

#include "temu-c/Bus/Spacewire.h"

Type

enum temu_SpwRmapPacketType {
}

Description

Enumerators

Name Value Description

temu_SyncEvent

Include

#include "temu-c/Support/Events.h"

Type

enum temu_SyncEvent {
}

Description

Enumerators

Name Value Description

temu_Type

Include

#include "temu-c/Support/Objsys.h"

Type

enum temu_Type {
  teTY_Invalid = 0,
  teTY_Intptr = 1,
  teTY_Uintptr = 2,
  teTY_Float = 3,
  teTY_Double = 4,
  teTY_U8 = 5,
  teTY_U16 = 6,
  teTY_U32 = 7,
  teTY_U64 = 8,
  teTY_I8 = 9,
  teTY_I16 = 10,
  teTY_I32 = 11,
  teTY_I64 = 12,
  teTY_Obj = 13,
  teTY_InternalPtr = 14,
  teTY_IfaceRef = 15,
  teTY_IfaceRefArray = 16,
  teTY_String = 17,
  teTY_Buffer = 18,
  teTY_Dict = 19,
  teTY_Vector = 20,
  teTY_List = 21,
}

Description

Type tag

The TEMU object system uses type tags to track which type is registered and in use at runtime. Type tags are used in for example the property registration functions.

Enumerators

Name Value Description

teTY_Invalid

0

Invalid value 0

teTY_Intptr

1

Pointer sized signed integer (intptr_t)

teTY_Uintptr

2

Pointer sized unsigned integer (uintptr_t)

teTY_Float

3

Single precision floating point value

teTY_Double

4

Double precision floating point value

teTY_U8

5

8-bit fixed width unsigned integer

teTY_U16

6

16-bit fixed width unsigned integer

teTY_U32

7

32-bit fixed width unsigned integer

teTY_U64

8

64-bit fixed width unsigned integer

teTY_I8

9

8-bit fixed width signed integer

teTY_I16

10

16-bit fixed width signed integer

teTY_I32

11

32-bit fixed width signed integer

teTY_I64

12

64-bit fixed width signed integer

teTY_Obj

13

Pointer to temu_Object

teTY_InternalPtr

14

Internal pointer

teTY_IfaceRef

15

Interface reference

teTY_IfaceRefArray

16

Dynamic object/interface array

teTY_String

17

C-string, useful for serialization

teTY_Buffer

18

Buffer (see Buffer.h)

teTY_Dict

19

Dictionary

teTY_Vector

20

Vector (i.e. dynamic array)

teTY_List

21

List