TEMU  3.0
The Terma Emulator
VTables.h
Go to the documentation of this file.
1 //===------------------------------------------------------------*- C++ -*-===//
2 //
3 // TEMU: The Terma Emulator
4 // (c) Terma 2016
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 
9 // This file contains all the public VTables used. Note that even
10 // though this is a public header, the code here is UNSTABLE. That is,
11 // the structures may change without notice (though not between bug
12 // fix releases).
13 //
14 // For that reason use this with care and only for code where it is
15 // unpractical for you to use interfaces directly.
16 
17 #ifndef TEMU_SUPPORT_VTABLE_H
18 #define TEMU_SUPPORT_VTABLE_H
19 
20 #include "temu-c/Models/Machine.h"
21 #include "temu-c/Support/Events.h"
23 #include "temu-c/Memory/Memory.h"
24 #include "temu-c/Models/Clock.h"
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 // Typically you would call:
31 // temu_setVTable(Cls, &MyVT);
32 // temu_qualifyAsMachine/Cpu/Memory(Cls);
33 // In your machine implementation.
34 
38 typedef struct {
46 
47 
52 typedef struct {
56 
58 typedef struct {
63 
64 #ifdef __cplusplus
65 }
66 #endif
67 
68 #endif /* ! TEMU_SUPPORT_VTABLE_H */
temu_MachineIface * Machine
Machine interface.
Definition: VTables.h:53
temu_MemAccessIface * MemAccess
Memory access interface.
Definition: VTables.h:59
temu_CpuIface * Cpu
CPU interface.
Definition: VTables.h:39
Definition: Events.h:41
Fast memory operations.
Definition: VTables.h:58
temu_MemoryIface * Memory
Memory interface (deprecated)
Definition: VTables.h:60
Definition: IrqController.h:24
Definition: Clock.h:37
Definition: VTables.h:52
temu_BinaryTranslationControlIface * Translation
Binary translator control interface.
Definition: VTables.h:44
temu_EventIface * Event
Event interface.
Definition: VTables.h:41
temu_PDCIface * PDC
Pre-decode cache interface.
Definition: VTables.h:61
Definition: Memory.h:212
Definition: Machine.h:23
Definition: Cpu.h:168
temu_EventIface * Event
Event interface.
Definition: VTables.h:54
Definition: Memory.h:118
temu_ClockIface * Clock
Clock interface.
Definition: VTables.h:43
Definition: Memory.h:261
temu_IrqCtrlIface * Irq
IRQ interface.
Definition: VTables.h:40
temu_MemAccessIface * InvalidAccess
Invalid memory access interface.
Definition: VTables.h:42
Definition: VTables.h:38