sim: iq2000: fix some missing prototypes warnings
Turns out some of these were hiding real bugs like not passing the
pc variable down.
diff --git a/sim/iq2000/Makefile.in b/sim/iq2000/Makefile.in
index c98fb78..64068ac 100644
--- a/sim/iq2000/Makefile.in
+++ b/sim/iq2000/Makefile.in
@@ -38,7 +38,7 @@
SIM_EXTRA_CLEAN = iq2000-clean
# Some modules don't build cleanly yet.
-cpu.o iq2000.o mloop.o sem.o: SIM_WERROR_CFLAGS =
+iq2000.o mloop.o: SIM_WERROR_CFLAGS =
## COMMON_POST_CONFIG_FRAG
diff --git a/sim/iq2000/sem-switch.c b/sim/iq2000/sem-switch.c
index fb3f232..4a5c8f9 100644
--- a/sim/iq2000/sem-switch.c
+++ b/sim/iq2000/sem-switch.c
@@ -1809,10 +1809,10 @@
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
#define FLD(f) abuf->fields.sfmt_empty.f
int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
+ IADDR pc = abuf->addr;
vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-do_syscall (current_cpu);
+ do_syscall (current_cpu, pc);
#undef FLD
}
diff --git a/sim/iq2000/sem.c b/sim/iq2000/sem.c
index 53b2753..36bab60 100644
--- a/sim/iq2000/sem.c
+++ b/sim/iq2000/sem.c
@@ -1747,10 +1747,10 @@
#define FLD(f) abuf->fields.sfmt_empty.f
ARGBUF *abuf = SEM_ARGBUF (sem_arg);
int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
+ IADDR pc = abuf->addr;
SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-do_syscall (current_cpu);
+ do_syscall (current_cpu, pc);
return vpc;
#undef FLD
diff --git a/sim/iq2000/sim-main.h b/sim/iq2000/sim-main.h
index 3615a71..bf06082 100644
--- a/sim/iq2000/sim-main.h
+++ b/sim/iq2000/sim-main.h
@@ -59,4 +59,9 @@
#define IQ2000_INSN_MEM_SIZE (CPU2INSN(0x800000) - CPU2INSN(0x0000))
#define IQ2000_DATA_MEM_SIZE (CPU2DATA(0x800000) - CPU2DATA(0x0000))
+PCADDR get_h_pc (SIM_CPU *);
+void set_h_pc (SIM_CPU *, PCADDR);
+void do_syscall (SIM_CPU *, PCADDR);
+void do_break (SIM_CPU *, PCADDR);
+
#endif /* SIM_MAIN_H */