TEMU  2
The Terma Emulator
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Simulator.h
Go to the documentation of this file.
1 //===-- temu-c/Simulator.h - Simulator Singleton API ------------*- C++ -*-===//
2 //
3 // T-EMU: The Terma Emulator
4 // (c) Terma 2016
5 // Authors: Mattias Holm <maho (at) terma.com>
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef TEMU_SUPPORT_SIMULATOR_H
10 #define TEMU_SUPPORT_SIMULATOR_H
11 
12 //------------------------------------------------------------------------------
13 // WARNING!!! WARNING!!! EXPERIMENTAL API WARNING!!! WARNING!!! WARNING!!!
14 //
15 // BE WARNED THAT THIS API IS EXPERIMENTAL, UNSTABLE AND NOT WELL
16 // TESTED. IN PARTICULAR, ASSUME THAT DOCUMENTATION FOR THE API IS
17 // NOT UP TO DATE AND IT MAY CRASH, CAUSE DEADLOCKS OR BEHAVE BADLY IN
18 // OTHER WAYS ON OCCASIONS. FURTHER THE API IS SUBJECT TO CHANGE
19 // WITHOUT NOTICE.
20 //------------------------------------------------------------------------------
21 
23 #include "temu-c/Target/Cpu.h"
24 
25 #include <stdint.h>
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
47 TEMU_API void temu_simSetQuanta(int64_t Ns);
48 
60 TEMU_API int64_t temu_simGetTime(void);
61 
71 temu_CpuExitReason temu_simRunNanos(int64_t Nanos, bool Detatched);
72 temu_CpuExitReason temu_simRunCycles(int Cpu, int64_t Cycles, bool Detatched);
73 temu_CpuExitReason temu_simRunSecs(double Secs, bool Detatched);
74 
78 int temu_simIsRunning(void);
79 
80 
97 TEMU_API temu_CpuExitReason temu_simStep(int Cpu, uint64_t Steps);
98 
105 
111 TEMU_API int temu_simGetCpuCount(void);
112 
118 void temu_simStop(void);
119 
120 
132 void temu_simRunCallback(void (*Func)(void *), void *Data);
133 
143 
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #endif // !TEMU_SUPPORT_SIMULATOR_H
int temu_simIsRunning(void)
temu_CpuExitReason temu_simRunSecs(double Secs, bool Detatched)
void temu_simStop(void)
TEMU_API int64_t temu_simGetTime(void)
temu_CpuExitReason
Definition: Cpu.h:30
void temu_simRunCallback(void(*Func)(void *), void *Data)
TEMU_API int temu_simGetCpuCount(void)
temu_CpuExitReason temu_simGetExitReason()
temu_CpuExitReason temu_simRunNanos(int64_t Nanos, bool Detatched)
TEMU_API int temu_simGetCurrentCpu(void)
TEMU_API void temu_simSetQuanta(int64_t Ns)
temu_CpuExitReason temu_simRunCycles(int Cpu, int64_t Cycles, bool Detatched)
TEMU_API temu_CpuExitReason temu_simStep(int Cpu, uint64_t Steps)
#define TEMU_API
Definition: Attributes.h:53