ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
_
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Functions
_
a
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Variables
_
a
c
d
e
f
h
m
n
p
r
s
t
w
x
Typedefs
Enumerations
Enumerator
_
a
e
f
i
l
n
r
s
v
w
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
x
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Typedefs
_
a
c
d
i
m
o
p
r
s
t
u
v
w
Enumerations
Enumerator
a
b
c
e
i
l
m
n
o
p
r
t
u
v
w
Related Symbols
c
e
h
i
l
p
r
s
t
v
x
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
Typedefs
_
a
b
c
d
e
f
i
k
m
o
p
r
s
u
v
w
x
Enumerations
_
a
c
k
l
m
n
o
x
Enumerator
_
a
c
e
f
k
l
m
n
o
s
t
x
Macros
_
a
b
c
d
e
f
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
etiss
include_c
etiss
jit
System.h
Go to the documentation of this file.
1
56
#ifndef ETISS_INCLUDE_JIT_SYSTEM_H_
57
#define ETISS_INCLUDE_JIT_SYSTEM_H_
58
59
#include "etiss/jit/CPU.h"
60
#include "etiss/jit/types.h"
61
62
#ifdef __cplusplus
63
extern
"C"
64
{
65
#endif
66
67
#pragma pack(push, 1)
// NEVER ALLOW ALIGNMENT OF STRUCTURE MEMBERS
77
struct ETISS_System
78
{
79
84
etiss_int32
(*iread)(
void
*handle,
ETISS_CPU
*cpu,
etiss_uint64
addr,
etiss_uint32
length
);
88
etiss_int32
(*iwrite)(
void
*handle,
ETISS_CPU
*cpu,
etiss_uint64
addr,
etiss_uint8
*buffer,
89
etiss_uint32
length
);
93
etiss_int32
(*dread)(
void
*handle,
ETISS_CPU
*cpu,
etiss_uint64
addr,
etiss_uint8
*buffer,
etiss_uint32
length
);
97
etiss_int32
(*dwrite)(
void
*handle,
ETISS_CPU
*cpu,
etiss_uint64
addr,
etiss_uint8
*buffer,
98
etiss_uint32
length
);
99
100
// debug access functions
104
etiss_int32
(*dbg_read)(
void
*handle,
etiss_uint64
addr,
etiss_uint8
*buffer,
etiss_uint32
length
);
108
etiss_int32
(*dbg_write)(
void
*handle,
etiss_uint64
addr,
etiss_uint8
*buffer,
etiss_uint32
length
);
109
110
// etiss_int32 (*dbg_print) (etiss_uint32 reg);
114
void (*syncTime)(
void
*handle,
ETISS_CPU
*cpu);
115
116
void
*handle;
117
};
118
#pragma pack(pop)
119
120
typedef
struct
ETISS_System
ETISS_System
;
121
122
extern
int
ETISS_System_isvalid
(
ETISS_System
*sys);
123
124
#ifdef __cplusplus
125
}
126
#endif
127
128
#endif
ETISS_System_isvalid
int ETISS_System_isvalid(ETISS_System *sys)
Definition
System.cpp:120
etiss_uint64
uint64_t etiss_uint64
Definition
types.h:96
etiss_uint32
uint32_t etiss_uint32
Definition
types.h:93
etiss_uint8
uint8_t etiss_uint8
Definition
types.h:87
etiss_int32
int32_t etiss_int32
Definition
types.h:92
length
float __ovld __cnfn length(float p)
Return the length of vector p, i.e., sqrt(p.x2 + p.y 2 + ...)
ETISS_CPU
basic cpu state structure needed for execution of any cpu architecture.
Definition
CPU.h:89
ETISS_System
memory access and time synchronization functions.
Definition
System.h:78
Generated on Mon Feb 17 2025 13:12:28 for ETISS 0.8.0 by
1.9.8