TEMU  3.0
The Terma Emulator
Simulator.h
Go to the documentation of this file.
1 //===-- temu-c/Simulator.h - Simulator Singleton API ------------*- C++ -*-===//
2 //
3 // TEMU: 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 #include <stdbool.h>
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
48 TEMU_API void temu_simSetQuanta(int64_t Ns);
49 
61 TEMU_API int64_t temu_simGetTime(void);
62 
72 temu_CpuExitReason temu_simRunNanos(int64_t Nanos, bool Detatched);
73 temu_CpuExitReason temu_simRunCycles(int Cpu, int64_t Cycles, bool Detatched);
74 temu_CpuExitReason temu_simRunSecs(double Secs, bool Detatched);
75 
79 int temu_simIsRunning(void);
80 
81 
98 TEMU_API temu_CpuExitReason temu_simStep(int Cpu, uint64_t Steps);
99 
106 
112 TEMU_API int temu_simGetCpuCount(void);
113 
119 void temu_simStop(void);
120 
121 
133 void temu_simRunCallback(void (*Func)(void *), void *Data);
134 
144 
145 
146 #ifdef __cplusplus
147 }
148 #endif
149 
150 #endif // !TEMU_SUPPORT_SIMULATOR_H
int temu_simIsRunning(void)
TEMU_API temu_CpuExitReason temu_simStep(int Cpu, uint64_t Steps)
#define TEMU_API
Definition: Attributes.h:53
void temu_simRunCallback(void(*Func)(void *), void *Data)
TEMU_API int temu_simGetCpuCount(void)
temu_CpuExitReason temu_simRunNanos(int64_t Nanos, bool Detatched)
temu_CpuExitReason temu_simGetExitReason()
temu_CpuExitReason
Definition: Cpu.h:31
TEMU_API int temu_simGetCurrentCpu(void)
temu_CpuExitReason temu_simRunSecs(double Secs, bool Detatched)
void temu_simStop(void)
temu_CpuExitReason temu_simRunCycles(int Cpu, int64_t Cycles, bool Detatched)
TEMU_API void temu_simSetQuanta(int64_t Ns)
TEMU_API int64_t temu_simGetTime(void)