aboutsummaryrefslogtreecommitdiff
path: root/sim/erc32/sis.h
diff options
context:
space:
mode:
Diffstat (limited to 'sim/erc32/sis.h')
-rw-r--r--sim/erc32/sis.h161
1 files changed, 77 insertions, 84 deletions
diff --git a/sim/erc32/sis.h b/sim/erc32/sis.h
index b230a03..33f16c7 100644
--- a/sim/erc32/sis.h
+++ b/sim/erc32/sis.h
@@ -45,16 +45,9 @@ struct histype {
/* type definitions */
-typedef short int int16; /* 16-bit signed int */
-typedef unsigned short int uint16; /* 16-bit unsigned int */
-typedef int int32; /* 32-bit signed int */
-typedef unsigned int uint32; /* 32-bit unsigned int */
typedef float float32; /* 32-bit float */
typedef double float64; /* 64-bit float */
-typedef uint64_t uint64; /* 64-bit unsigned int */
-typedef int64_t int64; /* 64-bit signed int */
-
struct pstate {
float64 fd[16]; /* FPU registers */
@@ -64,66 +57,66 @@ struct pstate {
#else
float32 *fs;
#endif
- int32 *fsi;
- uint32 fsr;
- int32 fpstate;
- uint32 fpq[FPUQN * 2];
- uint32 fpqn;
- uint32 ftime;
- uint32 flrd;
- uint32 frd;
- uint32 frs1;
- uint32 frs2;
- uint32 fpu_pres; /* FPU present (0 = No, 1 = Yes) */
-
- uint32 psr; /* IU registers */
- uint32 tbr;
- uint32 wim;
- uint32 g[8];
- uint32 r[128];
- uint32 y;
- uint32 asr17; /* Single vector trapping */
- uint32 pc, npc;
-
-
- uint32 trap; /* Current trap type */
- uint32 annul; /* Instruction annul */
- uint32 data; /* Loaded data */
- uint32 inst; /* Current instruction */
- uint32 asi; /* Current ASI */
- uint32 err_mode; /* IU error mode */
- uint32 breakpoint;
- uint32 bptnum;
- uint32 bphit;
- uint32 bpts[BPT_MAX]; /* Breakpoints */
-
- uint32 ltime; /* Load interlock time */
- uint32 hold; /* IU hold cycles in current inst */
- uint32 fhold; /* FPU hold cycles in current inst */
- uint32 icnt; /* Instruction cycles in curr inst */
-
- uint32 histlen; /* Trace history management */
- uint32 histind;
+ int32_t *fsi;
+ uint32_t fsr;
+ int32_t fpstate;
+ uint32_t fpq[FPUQN * 2];
+ uint32_t fpqn;
+ uint32_t ftime;
+ uint32_t flrd;
+ uint32_t frd;
+ uint32_t frs1;
+ uint32_t frs2;
+ uint32_t fpu_pres; /* FPU present (0 = No, 1 = Yes) */
+
+ uint32_t psr; /* IU registers */
+ uint32_t tbr;
+ uint32_t wim;
+ uint32_t g[8];
+ uint32_t r[128];
+ uint32_t y;
+ uint32_t asr17; /* Single vector trapping */
+ uint32_t pc, npc;
+
+
+ uint32_t trap; /* Current trap type */
+ uint32_t annul; /* Instruction annul */
+ uint32_t data; /* Loaded data */
+ uint32_t inst; /* Current instruction */
+ uint32_t asi; /* Current ASI */
+ uint32_t err_mode; /* IU error mode */
+ uint32_t breakpoint;
+ uint32_t bptnum;
+ uint32_t bphit;
+ uint32_t bpts[BPT_MAX]; /* Breakpoints */
+
+ uint32_t ltime; /* Load interlock time */
+ uint32_t hold; /* IU hold cycles in current inst */
+ uint32_t fhold; /* FPU hold cycles in current inst */
+ uint32_t icnt; /* Instruction cycles in curr inst */
+
+ uint32_t histlen; /* Trace history management */
+ uint32_t histind;
struct histype *histbuf;
float32 freq; /* Simulated processor frequency */
double tottime;
- uint64 ninst;
- uint64 fholdt;
- uint64 holdt;
- uint64 icntt;
- uint64 finst;
- uint64 simstart;
+ uint64_t ninst;
+ uint64_t fholdt;
+ uint64_t holdt;
+ uint64_t icntt;
+ uint64_t finst;
+ uint64_t simstart;
double starttime;
- uint64 tlimit; /* Simulation time limit */
- uint64 pwdtime; /* Cycles in power-down mode */
- uint64 nstore; /* Number of load instructions */
- uint64 nload; /* Number of store instructions */
- uint64 nannul; /* Number of annuled instructions */
- uint64 nbranch; /* Number of branch instructions */
- uint32 ildreg; /* Destination of last load instruction */
- uint64 ildtime; /* Last time point for load dependency */
+ uint64_t tlimit; /* Simulation time limit */
+ uint64_t pwdtime; /* Cycles in power-down mode */
+ uint64_t nstore; /* Number of load instructions */
+ uint64_t nload; /* Number of store instructions */
+ uint64_t nannul; /* Number of annuled instructions */
+ uint64_t nbranch; /* Number of branch instructions */
+ uint32_t ildreg; /* Destination of last load instruction */
+ uint64_t ildtime; /* Last time point for load dependency */
int rett_err; /* IU in jmpl/restore error state (Rev.0) */
int jmpltime;
@@ -131,20 +124,20 @@ struct pstate {
struct evcell {
void (*cfunc) ();
- int32 arg;
- uint64 time;
+ int32_t arg;
+ uint64_t time;
struct evcell *nxt;
};
struct estate {
struct evcell eq;
struct evcell *freeq;
- uint64 simtime;
+ uint64_t simtime;
};
struct irqcell {
void (*callback) ();
- int32 arg;
+ int32_t arg;
};
@@ -159,27 +152,27 @@ struct irqcell {
/* erc32.c */
extern void init_sim (void);
extern void reset (void);
-extern void error_mode (uint32 pc);
+extern void error_mode (uint32_t pc);
extern void sim_halt (void);
extern void exit_sim (void);
extern void init_stdio (void);
extern void restore_stdio (void);
-extern int memory_iread (uint32 addr, uint32 *data, uint32 *ws);
-extern int memory_read (int32 asi, uint32 addr, void *data,
- int32 sz, int32 *ws);
-extern int memory_write (int32 asi, uint32 addr, uint32 *data,
- int32 sz, int32 *ws);
-extern int sis_memory_write (uint32 addr,
- const void *data, uint32 length);
-extern int sis_memory_read (uint32 addr, void *data,
- uint32 length);
+extern int memory_iread (uint32_t addr, uint32_t *data, uint32_t *ws);
+extern int memory_read (int32_t asi, uint32_t addr, void *data,
+ int32_t sz, int32_t *ws);
+extern int memory_write (int32_t asi, uint32_t addr, uint32_t *data,
+ int32_t sz, int32_t *ws);
+extern int sis_memory_write (uint32_t addr,
+ const void *data, uint32_t length);
+extern int sis_memory_read (uint32_t addr, void *data,
+ uint32_t length);
extern void boot_init (void);
/* func.c */
extern struct pstate sregs;
-extern void set_regi (struct pstate *sregs, int32 reg,
- uint32 rval);
-extern void get_regi (struct pstate *sregs, int32 reg, unsigned char *buf);
+extern void set_regi (struct pstate *sregs, int32_t reg,
+ uint32_t rval);
+extern void get_regi (struct pstate *sregs, int32_t reg, unsigned char *buf);
extern int exec_cmd (struct pstate *sregs, const char *cmd);
extern void reset_stat (struct pstate *sregs);
extern void show_stat (struct pstate *sregs);
@@ -187,12 +180,12 @@ extern void init_bpt (struct pstate *sregs);
extern void init_signals (void);
struct disassemble_info;
-extern void dis_mem (uint32 addr, uint32 len,
+extern void dis_mem (uint32_t addr, uint32_t len,
struct disassemble_info *info);
-extern void event (void (*cfunc) (), int32 arg, uint64 delta);
-extern void set_int (int32 level, void (*callback) (), int32 arg);
+extern void event (void (*cfunc) (), int32_t arg, uint64_t delta);
+extern void set_int (int32_t level, void (*callback) (), int32_t arg);
extern void advance_time (struct pstate *sregs);
-extern uint32 now (void);
+extern uint32_t now (void);
extern int wait_for_irq (void);
extern int check_bpt (struct pstate *sregs);
extern void reset_all (void);
@@ -209,12 +202,12 @@ extern void init_regs (struct pstate *sregs);
/* interf.c */
extern int run_sim (struct pstate *sregs,
- uint64 icount, int dis);
+ uint64_t icount, int dis);
/* float.c */
extern int get_accex (void);
extern void clear_accex (void);
-extern void set_fsr (uint32 fsr);
+extern void set_fsr (uint32_t fsr);
/* help.c */
extern void usage (void);