summaryrefslogtreecommitdiffstats
path: root/sis.h
diff options
context:
space:
mode:
authorJiri Gaisler <jiri@gaisler.se>2019-11-05 17:45:01 +0100
committerJiri Gaisler <jiri@gaisler.se>2019-11-08 22:33:22 +0100
commit8828fb20a0df7f0747d5c6678328d261f310fc64 (patch)
tree1402f18a68786214439b2ef772905e5ff9746527 /sis.h
parentImprove gdb watchpoint handling (diff)
downloadsis-8828fb20a0df7f0747d5c6678328d261f310fc64.tar.bz2
Replaced windows flushing with reg cache
Diffstat (limited to 'sis.h')
-rw-r--r--sis.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/sis.h b/sis.h
index 4e12686..04f0a6b 100644
--- a/sis.h
+++ b/sis.h
@@ -23,6 +23,7 @@
#define VAL(x) strtoul(x,(char **)NULL,0)
#define I_ACC_EXC 1
+#define NWIN 8
/* Maximum events in event queue */
#define EVENT_MAX 256
@@ -164,6 +165,8 @@ struct pstate
uint64 l1imiss;
uint32 l1dtags[L1DTAGS];
uint64 l1dmiss;
+
+ uint32 sp[NWIN];
};
struct evcell
@@ -307,7 +310,7 @@ extern int delta; /* time slice for MP simulation */
extern void pwd_enter (struct pstate *sregs);
extern void remove_event (void (*cfunc) (), int32 arg);
extern int run_sim (uint64 icount, int dis);
-void flush_windows (struct pstate *sregs);
+void save_sp (struct pstate *sregs);
void cov_start (int address);
void cov_exec (int address);
void cov_bt (int address1, int address2);
@@ -379,6 +382,9 @@ extern int sim_remove_swbreakpoint (uint32 addr, int len);
extern int sim_set_watchpoint (uint32 mem, int length, int type);
extern int sim_clear_watchpoint (uint32 mem, int length, int type);
+/* sparc.c */
+extern int gdb_sp_read (uint32 mem, char *buf, int length);
+
/* FPU timing based on Meiko */
#define T_FABSs 2