Do not use old-style definitions in sim
This changes all the non-generated (hand-written) code in sim to use "new" (post-K&R) style function definitions. 2021-04-08 Tom Tromey <tom@tromey.com> * bpf.c (bpf_def_model_init): Use new-style declaration. sim/common/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * cgen-utils.c (RORQI, ROLQI, RORHI, ROLHI, RORSI, ROLSI): Use new-style declaration. sim/erc32/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * sis.c (run_sim, main): Use new-style declaration. * interf.c (run_sim, sim_open, sim_close, sim_load) (sim_create_inferior, sim_store_register, sim_fetch_register) (sim_info, sim_stop_reason, flush_windows, sim_do_command): Use new-style declaration. * help.c (usage, gen_help): Use new-style declaration. * func.c (batch, set_regi, set_rega, disp_reg, limcalc) (reset_stat, show_stat, init_bpt, int_handler, init_signals) (disp_fpu, disp_regs, disp_ctrl, disp_mem, dis_mem, event) (init_event, set_int, advance_time, now, wait_for_irq, check_bpt) (reset_all, sys_reset, sys_halt): Use new-style declaration. * float.c (get_accex, clear_accex, set_fsr): Use new-style declaration. * exec.c (sub_cc, add_cc, log_cc, dispatch_instruction, fpexec) (chk_asi, execute_trap, check_interrupts, init_regs): Use new-style declaration. * erc32.c (init_sim, reset, decode_ersr, mecparerror) (error_mode, decode_memcfg, decode_wcr, decode_mcr, sim_halt) (close_port, exit_sim, mec_reset, mec_intack, chk_irq, mec_irq) (set_sfsr, mec_read, mec_write, init_stdio, restore_stdio) (port_init, read_uart, write_uart, flush_uart, uarta_tx) (uartb_tx, uart_rx, uart_intr, uart_irq_start, wdog_intr) (wdog_start, rtc_intr, rtc_start, rtc_counter_read) (rtc_scaler_set, rtc_reload_set, gpt_intr, gpt_start) (gpt_counter_read, gpt_scaler_set, gpt_reload_set, timer_ctrl) (memory_read, memory_write, get_mem_ptr, sis_memory_write) (sis_memory_read): Use new-style declaration. sim/frv/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * sim-if.c (sim_open, frv_sim_close, sim_create_inferior): Use new-style declaration. sim/h8300/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * compile.c (cmdline_location): Use new-style declaration. sim/iq2000/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * sim-if.c (sim_open, sim_create_inferior): Use new-style declaration. * iq2000.c (fetch_str): Use new-style declaration. sim/lm32/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * sim-if.c (sim_open, sim_create_inferior): Use new-style declaration. sim/m32r/ChangeLog 2021-04-08 Tom Tromey <tom@tromey.com> * sim-if.c (sim_open, sim_create_inferior): Use new-style declaration.
This commit is contained in:
parent
83a559f7b9
commit
81e6e8ae40
@ -1,3 +1,7 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* bpf.c (bpf_def_model_init): Use new-style declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -205,7 +205,7 @@ bpfbf_breakpoint (SIM_CPU *current_cpu)
|
|||||||
several ISAs. This should be fixed in CGEN. */
|
several ISAs. This should be fixed in CGEN. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
bpf_def_model_init ()
|
bpf_def_model_init (void)
|
||||||
{
|
{
|
||||||
/* Do nothing. */
|
/* Do nothing. */
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* cgen-utils.c (RORQI, ROLQI, RORHI, ROLHI, RORSI, ROLSI): Use
|
||||||
|
new-style declaration.
|
||||||
|
|
||||||
2021-04-03 Mike Frysinger <vapier@gentoo.org>
|
2021-04-03 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* Make-common.in (install-common): Install as run-$arch and
|
* Make-common.in (install-common): Install as run-$arch and
|
||||||
|
@ -319,9 +319,7 @@ CONVDISI (val)
|
|||||||
#endif /* DI_FN_SUPPORT */
|
#endif /* DI_FN_SUPPORT */
|
||||||
|
|
||||||
QI
|
QI
|
||||||
RORQI (val, shift)
|
RORQI (QI val, int shift)
|
||||||
QI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
@ -336,9 +334,7 @@ RORQI (val, shift)
|
|||||||
}
|
}
|
||||||
|
|
||||||
QI
|
QI
|
||||||
ROLQI (val, shift)
|
ROLQI (QI val, int shift)
|
||||||
QI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
@ -353,9 +349,7 @@ ROLQI (val, shift)
|
|||||||
}
|
}
|
||||||
|
|
||||||
HI
|
HI
|
||||||
RORHI (val, shift)
|
RORHI (HI val, int shift)
|
||||||
HI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
@ -370,9 +364,7 @@ RORHI (val, shift)
|
|||||||
}
|
}
|
||||||
|
|
||||||
HI
|
HI
|
||||||
ROLHI (val, shift)
|
ROLHI (HI val, int shift)
|
||||||
HI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
@ -387,9 +379,7 @@ ROLHI (val, shift)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SI
|
SI
|
||||||
RORSI (val, shift)
|
RORSI (SI val, int shift)
|
||||||
SI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
@ -404,9 +394,7 @@ RORSI (val, shift)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SI
|
SI
|
||||||
ROLSI (val, shift)
|
ROLSI (SI val, int shift)
|
||||||
SI val;
|
|
||||||
int shift;
|
|
||||||
{
|
{
|
||||||
if (shift != 0)
|
if (shift != 0)
|
||||||
{
|
{
|
||||||
|
@ -1,3 +1,33 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* sis.c (run_sim, main): Use new-style declaration.
|
||||||
|
* interf.c (run_sim, sim_open, sim_close, sim_load)
|
||||||
|
(sim_create_inferior, sim_store_register, sim_fetch_register)
|
||||||
|
(sim_info, sim_stop_reason, flush_windows, sim_do_command): Use
|
||||||
|
new-style declaration.
|
||||||
|
* help.c (usage, gen_help): Use new-style declaration.
|
||||||
|
* func.c (batch, set_regi, set_rega, disp_reg, limcalc)
|
||||||
|
(reset_stat, show_stat, init_bpt, int_handler, init_signals)
|
||||||
|
(disp_fpu, disp_regs, disp_ctrl, disp_mem, dis_mem, event)
|
||||||
|
(init_event, set_int, advance_time, now, wait_for_irq, check_bpt)
|
||||||
|
(reset_all, sys_reset, sys_halt): Use new-style declaration.
|
||||||
|
* float.c (get_accex, clear_accex, set_fsr): Use new-style
|
||||||
|
declaration.
|
||||||
|
* exec.c (sub_cc, add_cc, log_cc, dispatch_instruction, fpexec)
|
||||||
|
(chk_asi, execute_trap, check_interrupts, init_regs): Use
|
||||||
|
new-style declaration.
|
||||||
|
* erc32.c (init_sim, reset, decode_ersr, mecparerror)
|
||||||
|
(error_mode, decode_memcfg, decode_wcr, decode_mcr, sim_halt)
|
||||||
|
(close_port, exit_sim, mec_reset, mec_intack, chk_irq, mec_irq)
|
||||||
|
(set_sfsr, mec_read, mec_write, init_stdio, restore_stdio)
|
||||||
|
(port_init, read_uart, write_uart, flush_uart, uarta_tx)
|
||||||
|
(uartb_tx, uart_rx, uart_intr, uart_irq_start, wdog_intr)
|
||||||
|
(wdog_start, rtc_intr, rtc_start, rtc_counter_read)
|
||||||
|
(rtc_scaler_set, rtc_reload_set, gpt_intr, gpt_start)
|
||||||
|
(gpt_counter_read, gpt_scaler_set, gpt_reload_set, timer_ctrl)
|
||||||
|
(memory_read, memory_write, get_mem_ptr, sis_memory_write)
|
||||||
|
(sis_memory_read): Use new-style declaration.
|
||||||
|
|
||||||
2021-04-05 Tom Tromey <tromey@adacore.com>
|
2021-04-05 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* configure: Rebuild.
|
* configure: Rebuild.
|
||||||
|
@ -297,7 +297,7 @@ extern int ext_irl;
|
|||||||
/* One-time init */
|
/* One-time init */
|
||||||
|
|
||||||
void
|
void
|
||||||
init_sim()
|
init_sim(void)
|
||||||
{
|
{
|
||||||
port_init();
|
port_init();
|
||||||
}
|
}
|
||||||
@ -305,7 +305,7 @@ init_sim()
|
|||||||
/* Power-on reset init */
|
/* Power-on reset init */
|
||||||
|
|
||||||
void
|
void
|
||||||
reset()
|
reset(void)
|
||||||
{
|
{
|
||||||
mec_reset();
|
mec_reset();
|
||||||
uart_irq_start();
|
uart_irq_start();
|
||||||
@ -313,7 +313,7 @@ reset()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decode_ersr()
|
decode_ersr(void)
|
||||||
{
|
{
|
||||||
if (mec_ersr & 0x01) {
|
if (mec_ersr & 0x01) {
|
||||||
if (!(mec_mcr & 0x20)) {
|
if (!(mec_mcr & 0x20)) {
|
||||||
@ -375,7 +375,7 @@ iucomperr()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mecparerror()
|
mecparerror(void)
|
||||||
{
|
{
|
||||||
mec_ersr |= 0x20;
|
mec_ersr |= 0x20;
|
||||||
decode_ersr();
|
decode_ersr();
|
||||||
@ -385,8 +385,7 @@ mecparerror()
|
|||||||
/* IU error mode manager */
|
/* IU error mode manager */
|
||||||
|
|
||||||
void
|
void
|
||||||
error_mode(pc)
|
error_mode(uint32 pc)
|
||||||
uint32 pc;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
mec_ersr |= 0x1;
|
mec_ersr |= 0x1;
|
||||||
@ -397,7 +396,7 @@ error_mode(pc)
|
|||||||
/* Check memory settings */
|
/* Check memory settings */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decode_memcfg()
|
decode_memcfg(void)
|
||||||
{
|
{
|
||||||
if (rom8) mec_memcfg &= ~0x20000;
|
if (rom8) mec_memcfg &= ~0x20000;
|
||||||
else mec_memcfg |= 0x20000;
|
else mec_memcfg |= 0x20000;
|
||||||
@ -421,7 +420,7 @@ decode_memcfg()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decode_wcr()
|
decode_wcr(void)
|
||||||
{
|
{
|
||||||
mem_ramr_ws = mec_wcr & 3;
|
mem_ramr_ws = mec_wcr & 3;
|
||||||
mem_ramw_ws = (mec_wcr >> 2) & 3;
|
mem_ramw_ws = (mec_wcr >> 2) & 3;
|
||||||
@ -437,7 +436,7 @@ decode_wcr()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
decode_mcr()
|
decode_mcr(void)
|
||||||
{
|
{
|
||||||
mem_accprot = (mec_wpr[0] | mec_wpr[1]);
|
mem_accprot = (mec_wpr[0] | mec_wpr[1]);
|
||||||
mem_blockprot = (mec_mcr >> 3) & 1;
|
mem_blockprot = (mec_mcr >> 3) & 1;
|
||||||
@ -456,7 +455,7 @@ decode_mcr()
|
|||||||
/* Flush ports when simulator stops */
|
/* Flush ports when simulator stops */
|
||||||
|
|
||||||
void
|
void
|
||||||
sim_halt()
|
sim_halt(void)
|
||||||
{
|
{
|
||||||
#ifdef FAST_UART
|
#ifdef FAST_UART
|
||||||
flush_uart();
|
flush_uart();
|
||||||
@ -471,7 +470,7 @@ sim_stop(SIM_DESC sd)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
close_port()
|
close_port(void)
|
||||||
{
|
{
|
||||||
if (f1open && f1in != stdin)
|
if (f1open && f1in != stdin)
|
||||||
fclose(f1in);
|
fclose(f1in);
|
||||||
@ -480,13 +479,13 @@ close_port()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
exit_sim()
|
exit_sim(void)
|
||||||
{
|
{
|
||||||
close_port();
|
close_port();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mec_reset()
|
mec_reset(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -547,8 +546,7 @@ mec_reset()
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mec_intack(level)
|
mec_intack(int32 level)
|
||||||
int32 level;
|
|
||||||
{
|
{
|
||||||
int irq_test;
|
int irq_test;
|
||||||
|
|
||||||
@ -563,7 +561,7 @@ mec_intack(level)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
chk_irq()
|
chk_irq(void)
|
||||||
{
|
{
|
||||||
int32 i;
|
int32 i;
|
||||||
uint32 itmp;
|
uint32 itmp;
|
||||||
@ -588,19 +586,14 @@ chk_irq()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
mec_irq(level)
|
mec_irq(int32 level)
|
||||||
int32 level;
|
|
||||||
{
|
{
|
||||||
mec_ipr |= (1 << level);
|
mec_ipr |= (1 << level);
|
||||||
chk_irq();
|
chk_irq();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_sfsr(fault, addr, asi, read)
|
set_sfsr(uint32 fault, uint32 addr, uint32 asi, uint32 read)
|
||||||
uint32 fault;
|
|
||||||
uint32 addr;
|
|
||||||
uint32 asi;
|
|
||||||
uint32 read;
|
|
||||||
{
|
{
|
||||||
if ((asi == 0xa) || (asi == 0xb)) {
|
if ((asi == 0xa) || (asi == 0xb)) {
|
||||||
mec_ffar = addr;
|
mec_ffar = addr;
|
||||||
@ -618,10 +611,7 @@ set_sfsr(fault, addr, asi, read)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int32
|
static int32
|
||||||
mec_read(addr, asi, data)
|
mec_read(uint32 addr, uint32 asi, uint32 *data)
|
||||||
uint32 addr;
|
|
||||||
uint32 asi;
|
|
||||||
uint32 *data;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (addr & 0x0ff) {
|
switch (addr & 0x0ff) {
|
||||||
@ -748,9 +738,7 @@ mec_read(addr, asi, data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
mec_write(addr, data)
|
mec_write(uint32 addr, uint32 data)
|
||||||
uint32 addr;
|
|
||||||
uint32 data;
|
|
||||||
{
|
{
|
||||||
if (sis_verbose > 1)
|
if (sis_verbose > 1)
|
||||||
printf("MEC write a: %08x, d: %08x\n",addr,data);
|
printf("MEC write a: %08x, d: %08x\n",addr,data);
|
||||||
@ -932,7 +920,7 @@ mec_write(addr, data)
|
|||||||
static int ifd1 = -1, ifd2 = -1, ofd1 = -1, ofd2 = -1;
|
static int ifd1 = -1, ifd2 = -1, ofd1 = -1, ofd2 = -1;
|
||||||
|
|
||||||
void
|
void
|
||||||
init_stdio()
|
init_stdio(void)
|
||||||
{
|
{
|
||||||
if (dumbio)
|
if (dumbio)
|
||||||
return; /* do nothing */
|
return; /* do nothing */
|
||||||
@ -943,7 +931,7 @@ init_stdio()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
restore_stdio()
|
restore_stdio(void)
|
||||||
{
|
{
|
||||||
if (dumbio)
|
if (dumbio)
|
||||||
return; /* do nothing */
|
return; /* do nothing */
|
||||||
@ -960,7 +948,7 @@ restore_stdio()
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
port_init()
|
port_init(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (uben) {
|
if (uben) {
|
||||||
@ -1037,8 +1025,7 @@ port_init()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint32
|
static uint32
|
||||||
read_uart(addr)
|
read_uart(uint32 addr)
|
||||||
uint32 addr;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
unsigned tmp;
|
unsigned tmp;
|
||||||
@ -1159,9 +1146,7 @@ read_uart(addr)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
write_uart(addr, data)
|
write_uart(uint32 addr, uint32 data)
|
||||||
uint32 addr;
|
|
||||||
uint32 data;
|
|
||||||
{
|
{
|
||||||
unsigned char c;
|
unsigned char c;
|
||||||
|
|
||||||
@ -1235,7 +1220,7 @@ write_uart(addr, data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
flush_uart()
|
flush_uart(void)
|
||||||
{
|
{
|
||||||
while (wnuma && f1open)
|
while (wnuma && f1open)
|
||||||
wnuma -= fwrite(wbufa, 1, wnuma, f1out);
|
wnuma -= fwrite(wbufa, 1, wnuma, f1out);
|
||||||
@ -1246,7 +1231,7 @@ flush_uart()
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uarta_tx()
|
uarta_tx(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
while (f1open && fwrite(&uarta_sreg, 1, 1, f1out) != 1);
|
while (f1open && fwrite(&uarta_sreg, 1, 1, f1out) != 1);
|
||||||
@ -1261,7 +1246,7 @@ uarta_tx()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uartb_tx()
|
uartb_tx(void)
|
||||||
{
|
{
|
||||||
while (f2open && fwrite(&uartb_sreg, 1, 1, f2out) != 1);
|
while (f2open && fwrite(&uartb_sreg, 1, 1, f2out) != 1);
|
||||||
if (uart_stat_reg & UARTB_HRE) {
|
if (uart_stat_reg & UARTB_HRE) {
|
||||||
@ -1275,8 +1260,7 @@ uartb_tx()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uart_rx(arg)
|
uart_rx(caddr_t arg)
|
||||||
caddr_t arg;
|
|
||||||
{
|
{
|
||||||
int32 rsize;
|
int32 rsize;
|
||||||
char rxd;
|
char rxd;
|
||||||
@ -1318,8 +1302,7 @@ uart_rx(arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uart_intr(arg)
|
uart_intr(caddr_t arg)
|
||||||
caddr_t arg;
|
|
||||||
{
|
{
|
||||||
read_uart(0xE8); /* Check for UART interrupts every 1000 clk */
|
read_uart(0xE8); /* Check for UART interrupts every 1000 clk */
|
||||||
flush_uart(); /* Flush UART ports */
|
flush_uart(); /* Flush UART ports */
|
||||||
@ -1328,7 +1311,7 @@ uart_intr(arg)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
uart_irq_start()
|
uart_irq_start(void)
|
||||||
{
|
{
|
||||||
#ifdef FAST_UART
|
#ifdef FAST_UART
|
||||||
event(uart_intr, 0, UART_FLUSH_TIME);
|
event(uart_intr, 0, UART_FLUSH_TIME);
|
||||||
@ -1342,8 +1325,7 @@ uart_irq_start()
|
|||||||
/* Watch-dog */
|
/* Watch-dog */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
wdog_intr(arg)
|
wdog_intr(caddr_t arg)
|
||||||
caddr_t arg;
|
|
||||||
{
|
{
|
||||||
if (wdog_status == disabled) {
|
if (wdog_status == disabled) {
|
||||||
wdog_status = stopped;
|
wdog_status = stopped;
|
||||||
@ -1368,7 +1350,7 @@ wdog_intr(arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
wdog_start()
|
wdog_start(void)
|
||||||
{
|
{
|
||||||
event(wdog_intr, 0, wdog_scaler + 1);
|
event(wdog_intr, 0, wdog_scaler + 1);
|
||||||
if (sis_verbose)
|
if (sis_verbose)
|
||||||
@ -1381,8 +1363,7 @@ wdog_start()
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rtc_intr(arg)
|
rtc_intr(caddr_t arg)
|
||||||
caddr_t arg;
|
|
||||||
{
|
{
|
||||||
if (rtc_counter == 0) {
|
if (rtc_counter == 0) {
|
||||||
|
|
||||||
@ -1405,7 +1386,7 @@ rtc_intr(arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rtc_start()
|
rtc_start(void)
|
||||||
{
|
{
|
||||||
if (sis_verbose)
|
if (sis_verbose)
|
||||||
printf("RTC started (period %d)\n\r", rtc_scaler + 1);
|
printf("RTC started (period %d)\n\r", rtc_scaler + 1);
|
||||||
@ -1415,28 +1396,25 @@ rtc_start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint32
|
static uint32
|
||||||
rtc_counter_read()
|
rtc_counter_read(void)
|
||||||
{
|
{
|
||||||
return rtc_counter;
|
return rtc_counter;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rtc_scaler_set(val)
|
rtc_scaler_set(uint32 val)
|
||||||
uint32 val;
|
|
||||||
{
|
{
|
||||||
rtc_scaler = val & 0x0ff; /* eight-bit scaler only */
|
rtc_scaler = val & 0x0ff; /* eight-bit scaler only */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
rtc_reload_set(val)
|
rtc_reload_set(uint32 val)
|
||||||
uint32 val;
|
|
||||||
{
|
{
|
||||||
rtc_reload = val;
|
rtc_reload = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gpt_intr(arg)
|
gpt_intr(caddr_t arg)
|
||||||
caddr_t arg;
|
|
||||||
{
|
{
|
||||||
if (gpt_counter == 0) {
|
if (gpt_counter == 0) {
|
||||||
mec_irq(12);
|
mec_irq(12);
|
||||||
@ -1458,7 +1436,7 @@ gpt_intr(arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gpt_start()
|
gpt_start(void)
|
||||||
{
|
{
|
||||||
if (sis_verbose)
|
if (sis_verbose)
|
||||||
printf("GPT started (period %d)\n\r", gpt_scaler + 1);
|
printf("GPT started (period %d)\n\r", gpt_scaler + 1);
|
||||||
@ -1468,28 +1446,25 @@ gpt_start()
|
|||||||
}
|
}
|
||||||
|
|
||||||
static uint32
|
static uint32
|
||||||
gpt_counter_read()
|
gpt_counter_read(void)
|
||||||
{
|
{
|
||||||
return gpt_counter;
|
return gpt_counter;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gpt_scaler_set(val)
|
gpt_scaler_set(uint32 val)
|
||||||
uint32 val;
|
|
||||||
{
|
{
|
||||||
gpt_scaler = val & 0x0ffff; /* 16-bit scaler */
|
gpt_scaler = val & 0x0ffff; /* 16-bit scaler */
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gpt_reload_set(val)
|
gpt_reload_set(uint32 val)
|
||||||
uint32 val;
|
|
||||||
{
|
{
|
||||||
gpt_reload = val;
|
gpt_reload = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
timer_ctrl(val)
|
timer_ctrl(uint32 val)
|
||||||
uint32 val;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
rtc_cr = ((val & TCR_TCRCR) != 0);
|
rtc_cr = ((val & TCR_TCRCR) != 0);
|
||||||
@ -1577,12 +1552,7 @@ memory_iread (uint32 addr, uint32 *data, int32 *ws)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
memory_read(asi, addr, data, sz, ws)
|
memory_read(int32 asi, uint32 addr, uint32 *data, int32 sz, int32 *ws)
|
||||||
int32 asi;
|
|
||||||
uint32 addr;
|
|
||||||
uint32 *data;
|
|
||||||
int32 sz;
|
|
||||||
int32 *ws;
|
|
||||||
{
|
{
|
||||||
int32 mexc;
|
int32 mexc;
|
||||||
|
|
||||||
@ -1648,12 +1618,7 @@ memory_read(asi, addr, data, sz, ws)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
memory_write(asi, addr, data, sz, ws)
|
memory_write(int32 asi, uint32 addr, uint32 *data, int32 sz, int32 *ws)
|
||||||
int32 asi;
|
|
||||||
uint32 addr;
|
|
||||||
uint32 *data;
|
|
||||||
int32 sz;
|
|
||||||
int32 *ws;
|
|
||||||
{
|
{
|
||||||
uint32 byte_addr;
|
uint32 byte_addr;
|
||||||
uint32 byte_mask;
|
uint32 byte_mask;
|
||||||
@ -1761,9 +1726,7 @@ memory_write(asi, addr, data, sz, ws)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static unsigned char *
|
static unsigned char *
|
||||||
get_mem_ptr(addr, size)
|
get_mem_ptr(uint32 addr, uint32 size)
|
||||||
uint32 addr;
|
|
||||||
uint32 size;
|
|
||||||
{
|
{
|
||||||
if ((addr + size) < ROM_SZ) {
|
if ((addr + size) < ROM_SZ) {
|
||||||
return &romb[addr];
|
return &romb[addr];
|
||||||
@ -1782,10 +1745,7 @@ get_mem_ptr(addr, size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
sis_memory_write(addr, data, length)
|
sis_memory_write(uint32 addr, const unsigned char *data, uint32 length)
|
||||||
uint32 addr;
|
|
||||||
const unsigned char *data;
|
|
||||||
uint32 length;
|
|
||||||
{
|
{
|
||||||
char *mem;
|
char *mem;
|
||||||
|
|
||||||
@ -1797,10 +1757,7 @@ sis_memory_write(addr, data, length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
sis_memory_read(addr, data, length)
|
sis_memory_read(uint32 addr, char *data, uint32 length)
|
||||||
uint32 addr;
|
|
||||||
char *data;
|
|
||||||
uint32 length;
|
|
||||||
{
|
{
|
||||||
char *mem;
|
char *mem;
|
||||||
|
|
||||||
|
@ -234,11 +234,7 @@ extern uint32 errtt, errftt;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uint32
|
static uint32
|
||||||
sub_cc(psr, operand1, operand2, result)
|
sub_cc(uint32 psr, int32 operand1, int32 operand2, int32 result)
|
||||||
uint32 psr;
|
|
||||||
int32 operand1;
|
|
||||||
int32 operand2;
|
|
||||||
int32 result;
|
|
||||||
{
|
{
|
||||||
psr = ((psr & ~PSR_N) | ((result >> 8) & PSR_N));
|
psr = ((psr & ~PSR_N) | ((result >> 8) & PSR_N));
|
||||||
if (result)
|
if (result)
|
||||||
@ -253,11 +249,7 @@ sub_cc(psr, operand1, operand2, result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32
|
uint32
|
||||||
add_cc(psr, operand1, operand2, result)
|
add_cc(uint32 psr, int32 operand1, int32 operand2, int32 result)
|
||||||
uint32 psr;
|
|
||||||
int32 operand1;
|
|
||||||
int32 operand2;
|
|
||||||
int32 result;
|
|
||||||
{
|
{
|
||||||
psr = ((psr & ~PSR_N) | ((result >> 8) & PSR_N));
|
psr = ((psr & ~PSR_N) | ((result >> 8) & PSR_N));
|
||||||
if (result)
|
if (result)
|
||||||
@ -272,9 +264,7 @@ add_cc(psr, operand1, operand2, result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
log_cc(result, sregs)
|
log_cc(int32 result, struct pstate *sregs)
|
||||||
int32 result;
|
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
sregs->psr &= ~(PSR_CC); /* Zero CC bits */
|
sregs->psr &= ~(PSR_CC); /* Zero CC bits */
|
||||||
sregs->psr = (sregs->psr | ((result >> 8) & PSR_N));
|
sregs->psr = (sregs->psr | ((result >> 8) & PSR_N));
|
||||||
@ -398,8 +388,7 @@ extract_byte_signed (uint32 data, uint32 address)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
dispatch_instruction(sregs)
|
dispatch_instruction(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
uint32 cwp, op, op2, op3, asi, rd, cond, rs1,
|
uint32 cwp, op, op2, op3, asi, rd, cond, rs1,
|
||||||
@ -1671,9 +1660,7 @@ dispatch_instruction(sregs)
|
|||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
fpexec(op3, rd, rs1, rs2, sregs)
|
fpexec(uint32 op3, uint32 rd, uint32 rs1, uint32 rs2, struct pstate *sregs)
|
||||||
uint32 op3, rd, rs1, rs2;
|
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
uint32 opf, tem, accex;
|
uint32 opf, tem, accex;
|
||||||
int32 fcc;
|
int32 fcc;
|
||||||
@ -1952,10 +1939,7 @@ fpexec(op3, rd, rs1, rs2, sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
chk_asi(sregs, asi, op3)
|
chk_asi(struct pstate *sregs, uint32 *asi, uint32 op3)
|
||||||
struct pstate *sregs;
|
|
||||||
uint32 *asi, op3;
|
|
||||||
|
|
||||||
{
|
{
|
||||||
if (!(sregs->psr & PSR_S)) {
|
if (!(sregs->psr & PSR_S)) {
|
||||||
sregs->trap = TRAP_PRIVI;
|
sregs->trap = TRAP_PRIVI;
|
||||||
@ -1969,8 +1953,7 @@ chk_asi(sregs, asi, op3)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
execute_trap(sregs)
|
execute_trap(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
int32 cwp;
|
int32 cwp;
|
||||||
|
|
||||||
@ -2017,8 +2000,7 @@ execute_trap(sregs)
|
|||||||
extern struct irqcell irqarr[16];
|
extern struct irqcell irqarr[16];
|
||||||
|
|
||||||
int
|
int
|
||||||
check_interrupts(sregs)
|
check_interrupts(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
#ifdef ERRINJ
|
#ifdef ERRINJ
|
||||||
if (errtt) {
|
if (errtt) {
|
||||||
@ -2040,8 +2022,7 @@ check_interrupts(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
init_regs(sregs)
|
init_regs(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
sregs->pc = 0;
|
sregs->pc = 0;
|
||||||
sregs->npc = 4;
|
sregs->npc = 4;
|
||||||
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
/* This routine should return the accrued exceptions */
|
/* This routine should return the accrued exceptions */
|
||||||
int
|
int
|
||||||
get_accex()
|
get_accex(void)
|
||||||
{
|
{
|
||||||
int fexc, accx;
|
int fexc, accx;
|
||||||
|
|
||||||
@ -53,15 +53,14 @@ get_accex()
|
|||||||
|
|
||||||
/* How to clear the accrued exceptions */
|
/* How to clear the accrued exceptions */
|
||||||
void
|
void
|
||||||
clear_accex()
|
clear_accex(void)
|
||||||
{
|
{
|
||||||
feclearexcept (FE_ALL_EXCEPT);
|
feclearexcept (FE_ALL_EXCEPT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* How to map SPARC FSR onto the host */
|
/* How to map SPARC FSR onto the host */
|
||||||
void
|
void
|
||||||
set_fsr(fsr)
|
set_fsr(uint32 fsr)
|
||||||
uint32 fsr;
|
|
||||||
{
|
{
|
||||||
int fround;
|
int fround;
|
||||||
|
|
||||||
|
@ -70,9 +70,7 @@ static void disp_ctrl (struct pstate *sregs);
|
|||||||
static void disp_mem (uint32 addr, uint32 len);
|
static void disp_mem (uint32 addr, uint32 len);
|
||||||
|
|
||||||
static int
|
static int
|
||||||
batch(sregs, fname)
|
batch(struct pstate *sregs, char *fname)
|
||||||
struct pstate *sregs;
|
|
||||||
char *fname;
|
|
||||||
{
|
{
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
char *lbuf = NULL;
|
char *lbuf = NULL;
|
||||||
@ -97,10 +95,7 @@ batch(sregs, fname)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
set_regi(sregs, reg, rval)
|
set_regi(struct pstate *sregs, int32 reg, uint32 rval)
|
||||||
struct pstate *sregs;
|
|
||||||
int32 reg;
|
|
||||||
uint32 rval;
|
|
||||||
{
|
{
|
||||||
uint32 cwp;
|
uint32 cwp;
|
||||||
|
|
||||||
@ -187,10 +182,7 @@ get_regi(struct pstate * sregs, int32 reg, char *buf)
|
|||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_rega(sregs, reg, rval)
|
set_rega(struct pstate *sregs, char *reg, uint32 rval)
|
||||||
struct pstate *sregs;
|
|
||||||
char *reg;
|
|
||||||
uint32 rval;
|
|
||||||
{
|
{
|
||||||
uint32 cwp;
|
uint32 cwp;
|
||||||
int32 err = 0;
|
int32 err = 0;
|
||||||
@ -294,9 +286,7 @@ set_rega(sregs, reg, rval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disp_reg(sregs, reg)
|
disp_reg(struct pstate *sregs, char *reg)
|
||||||
struct pstate *sregs;
|
|
||||||
char *reg;
|
|
||||||
{
|
{
|
||||||
if (strncmp(reg, "w",1) == 0)
|
if (strncmp(reg, "w",1) == 0)
|
||||||
disp_regs(sregs, VAL(®[1]));
|
disp_regs(sregs, VAL(®[1]));
|
||||||
@ -337,8 +327,7 @@ errinjstart()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
static uint32
|
static uint32
|
||||||
limcalc (freq)
|
limcalc (float32 freq)
|
||||||
float32 freq;
|
|
||||||
{
|
{
|
||||||
uint32 unit, lim;
|
uint32 unit, lim;
|
||||||
double flim;
|
double flim;
|
||||||
@ -603,8 +592,7 @@ exec_cmd(struct pstate *sregs, const char *cmd)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
reset_stat(sregs)
|
reset_stat(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
sregs->tottime = 0.0;
|
sregs->tottime = 0.0;
|
||||||
sregs->pwdtime = 0;
|
sregs->pwdtime = 0;
|
||||||
@ -621,8 +609,7 @@ reset_stat(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
show_stat(sregs)
|
show_stat(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
uint32 iinst;
|
uint32 iinst;
|
||||||
uint32 stime;
|
uint32 stime;
|
||||||
@ -677,8 +664,7 @@ show_stat(sregs)
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
init_bpt(sregs)
|
init_bpt(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
sregs->bptnum = 0;
|
sregs->bptnum = 0;
|
||||||
sregs->histlen = 0;
|
sregs->histlen = 0;
|
||||||
@ -688,8 +674,7 @@ init_bpt(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
int_handler(sig)
|
int_handler(int32 sig)
|
||||||
int32 sig;
|
|
||||||
{
|
{
|
||||||
if (sig != 2)
|
if (sig != 2)
|
||||||
printf("\n\n Signal handler error (%d)\n\n", sig);
|
printf("\n\n Signal handler error (%d)\n\n", sig);
|
||||||
@ -697,7 +682,7 @@ int_handler(sig)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
init_signals()
|
init_signals(void)
|
||||||
{
|
{
|
||||||
typedef void (*PFI) ();
|
typedef void (*PFI) ();
|
||||||
static PFI int_tab[2];
|
static PFI int_tab[2];
|
||||||
@ -714,8 +699,7 @@ struct evcell evbuf[EVENT_MAX];
|
|||||||
struct irqcell irqarr[16];
|
struct irqcell irqarr[16];
|
||||||
|
|
||||||
static int
|
static int
|
||||||
disp_fpu(sregs)
|
disp_fpu(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
@ -741,9 +725,7 @@ disp_fpu(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disp_regs(sregs,cwp)
|
disp_regs(struct pstate *sregs, int cwp)
|
||||||
struct pstate *sregs;
|
|
||||||
int cwp;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
@ -770,8 +752,7 @@ static void print_insn_sparc_sis(uint32 addr, struct disassemble_info *info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disp_ctrl(sregs)
|
disp_ctrl(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
uint32 i;
|
uint32 i;
|
||||||
@ -790,9 +771,7 @@ disp_ctrl(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
disp_mem(addr, len)
|
disp_mem(uint32 addr, uint32 len)
|
||||||
uint32 addr;
|
|
||||||
uint32 len;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
uint32 i;
|
uint32 i;
|
||||||
@ -823,10 +802,7 @@ disp_mem(addr, len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
dis_mem(addr, len, info)
|
dis_mem(uint32 addr, uint32 len, struct disassemble_info *info)
|
||||||
uint32 addr;
|
|
||||||
uint32 len;
|
|
||||||
struct disassemble_info *info;
|
|
||||||
{
|
{
|
||||||
uint32 i;
|
uint32 i;
|
||||||
union {
|
union {
|
||||||
@ -846,10 +822,7 @@ dis_mem(addr, len, info)
|
|||||||
/* Add event to event queue */
|
/* Add event to event queue */
|
||||||
|
|
||||||
void
|
void
|
||||||
event(cfunc, arg, delta)
|
event(void (*cfunc) (), int32 arg, uint64 delta)
|
||||||
void (*cfunc) ();
|
|
||||||
int32 arg;
|
|
||||||
uint64 delta;
|
|
||||||
{
|
{
|
||||||
struct evcell *ev1, *evins;
|
struct evcell *ev1, *evins;
|
||||||
|
|
||||||
@ -885,7 +858,7 @@ stop_event()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
init_event()
|
init_event(void)
|
||||||
{
|
{
|
||||||
int32 i;
|
int32 i;
|
||||||
|
|
||||||
@ -898,10 +871,7 @@ init_event()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
set_int(level, callback, arg)
|
set_int(int32 level, void (*callback) (), int32 arg)
|
||||||
int32 level;
|
|
||||||
void (*callback) ();
|
|
||||||
int32 arg;
|
|
||||||
{
|
{
|
||||||
irqarr[level & 0x0f].callback = callback;
|
irqarr[level & 0x0f].callback = callback;
|
||||||
irqarr[level & 0x0f].arg = arg;
|
irqarr[level & 0x0f].arg = arg;
|
||||||
@ -910,8 +880,7 @@ set_int(level, callback, arg)
|
|||||||
/* Advance simulator time */
|
/* Advance simulator time */
|
||||||
|
|
||||||
void
|
void
|
||||||
advance_time(sregs)
|
advance_time(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
struct evcell *evrem;
|
struct evcell *evrem;
|
||||||
@ -942,7 +911,7 @@ advance_time(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint32
|
uint32
|
||||||
now()
|
now(void)
|
||||||
{
|
{
|
||||||
return ebase.simtime;
|
return ebase.simtime;
|
||||||
}
|
}
|
||||||
@ -951,7 +920,7 @@ now()
|
|||||||
/* Advance time until an external interrupt is seen */
|
/* Advance time until an external interrupt is seen */
|
||||||
|
|
||||||
int
|
int
|
||||||
wait_for_irq()
|
wait_for_irq(void)
|
||||||
{
|
{
|
||||||
struct evcell *evrem;
|
struct evcell *evrem;
|
||||||
void (*cfunc) ();
|
void (*cfunc) ();
|
||||||
@ -980,8 +949,7 @@ wait_for_irq()
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
check_bpt(sregs)
|
check_bpt(struct pstate *sregs)
|
||||||
struct pstate *sregs;
|
|
||||||
{
|
{
|
||||||
int32 i;
|
int32 i;
|
||||||
|
|
||||||
@ -995,7 +963,7 @@ check_bpt(sregs)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
reset_all()
|
reset_all(void)
|
||||||
{
|
{
|
||||||
init_event(); /* Clear event queue */
|
init_event(); /* Clear event queue */
|
||||||
init_regs(&sregs);
|
init_regs(&sregs);
|
||||||
@ -1006,14 +974,14 @@ reset_all()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sys_reset()
|
sys_reset(void)
|
||||||
{
|
{
|
||||||
reset_all();
|
reset_all();
|
||||||
sregs.trap = 256; /* Force fake reset trap */
|
sregs.trap = 256; /* Force fake reset trap */
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sys_halt()
|
sys_halt(void)
|
||||||
{
|
{
|
||||||
sregs.trap = 257; /* Force fake halt trap */
|
sregs.trap = 257; /* Force fake halt trap */
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include "sis.h"
|
#include "sis.h"
|
||||||
|
|
||||||
void
|
void
|
||||||
usage()
|
usage(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
printf("usage: sis [-uart1 uart_device1] [-uart2 uart_device2]\n");
|
printf("usage: sis [-uart1 uart_device1] [-uart2 uart_device2]\n");
|
||||||
@ -30,7 +30,7 @@ usage()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
gen_help()
|
gen_help(void)
|
||||||
{
|
{
|
||||||
|
|
||||||
printf("\n batch <file> execute a batch file of SIS commands\n");
|
printf("\n batch <file> execute a batch file of SIS commands\n");
|
||||||
|
@ -60,10 +60,7 @@ int sis_gdb_break = 1;
|
|||||||
host_callback *sim_callback;
|
host_callback *sim_callback;
|
||||||
|
|
||||||
int
|
int
|
||||||
run_sim(sregs, icount, dis)
|
run_sim(struct pstate *sregs, uint64 icount, int dis)
|
||||||
struct pstate *sregs;
|
|
||||||
uint64 icount;
|
|
||||||
int dis;
|
|
||||||
{
|
{
|
||||||
int mexc, irq;
|
int mexc, irq;
|
||||||
|
|
||||||
@ -158,11 +155,8 @@ run_sim(sregs, icount, dis)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_open (kind, callback, abfd, argv)
|
sim_open (SIM_OPEN_KIND kind, struct host_callback_struct *callback,
|
||||||
SIM_OPEN_KIND kind;
|
struct bfd *abfd, char * const *argv)
|
||||||
struct host_callback_struct *callback;
|
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
@ -263,9 +257,7 @@ sim_open (kind, callback, abfd, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sim_close(sd, quitting)
|
sim_close(SIM_DESC sd, int quitting)
|
||||||
SIM_DESC sd;
|
|
||||||
int quitting;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
exit_sim();
|
exit_sim();
|
||||||
@ -274,22 +266,15 @@ sim_close(sd, quitting)
|
|||||||
};
|
};
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_load(sd, prog, abfd, from_tty)
|
sim_load(SIM_DESC sd, const char *prog, bfd *abfd, int from_tty)
|
||||||
SIM_DESC sd;
|
|
||||||
const char *prog;
|
|
||||||
bfd *abfd;
|
|
||||||
int from_tty;
|
|
||||||
{
|
{
|
||||||
bfd_load (prog);
|
bfd_load (prog);
|
||||||
return SIM_RC_OK;
|
return SIM_RC_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_create_inferior(sd, abfd, argv, env)
|
sim_create_inferior(SIM_DESC sd, bfd *abfd, char * const *argv,
|
||||||
SIM_DESC sd;
|
char * const *env)
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
char * const *env;
|
|
||||||
{
|
{
|
||||||
bfd_vma start_address = 0;
|
bfd_vma start_address = 0;
|
||||||
if (abfd != NULL)
|
if (abfd != NULL)
|
||||||
@ -304,11 +289,7 @@ sim_create_inferior(sd, abfd, argv, env)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
sim_store_register(sd, regno, value, length)
|
sim_store_register(SIM_DESC sd, int regno, unsigned char *value, int length)
|
||||||
SIM_DESC sd;
|
|
||||||
int regno;
|
|
||||||
unsigned char *value;
|
|
||||||
int length;
|
|
||||||
{
|
{
|
||||||
int regval;
|
int regval;
|
||||||
|
|
||||||
@ -320,11 +301,7 @@ sim_store_register(sd, regno, value, length)
|
|||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
sim_fetch_register(sd, regno, buf, length)
|
sim_fetch_register(SIM_DESC sd, int regno, unsigned char *buf, int length)
|
||||||
SIM_DESC sd;
|
|
||||||
int regno;
|
|
||||||
unsigned char *buf;
|
|
||||||
int length;
|
|
||||||
{
|
{
|
||||||
get_regi(&sregs, regno, buf);
|
get_regi(&sregs, regno, buf);
|
||||||
return -1;
|
return -1;
|
||||||
@ -353,9 +330,7 @@ sim_read (SIM_DESC sd, SIM_ADDR mem, unsigned char *buf, int length)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sim_info(sd, verbose)
|
sim_info(SIM_DESC sd, int verbose)
|
||||||
SIM_DESC sd;
|
|
||||||
int verbose;
|
|
||||||
{
|
{
|
||||||
show_stat(&sregs);
|
show_stat(&sregs);
|
||||||
}
|
}
|
||||||
@ -363,10 +338,7 @@ sim_info(sd, verbose)
|
|||||||
int simstat = OK;
|
int simstat = OK;
|
||||||
|
|
||||||
void
|
void
|
||||||
sim_stop_reason(sd, reason, sigrc)
|
sim_stop_reason(SIM_DESC sd, enum sim_stop *reason, int *sigrc)
|
||||||
SIM_DESC sd;
|
|
||||||
enum sim_stop * reason;
|
|
||||||
int *sigrc;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (simstat) {
|
switch (simstat) {
|
||||||
@ -400,7 +372,7 @@ sim_stop_reason(sd, reason, sigrc)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
static void
|
static void
|
||||||
flush_windows ()
|
flush_windows (void)
|
||||||
{
|
{
|
||||||
int invwin;
|
int invwin;
|
||||||
int cwp;
|
int cwp;
|
||||||
@ -452,9 +424,7 @@ sim_resume(SIM_DESC sd, int step, int siggnal)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
sim_do_command(sd, cmd)
|
sim_do_command(SIM_DESC sd, const char *cmd)
|
||||||
SIM_DESC sd;
|
|
||||||
const char *cmd;
|
|
||||||
{
|
{
|
||||||
exec_cmd(&sregs, cmd);
|
exec_cmd(&sregs, cmd);
|
||||||
}
|
}
|
||||||
|
@ -65,10 +65,7 @@ extern int era;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
int
|
int
|
||||||
run_sim(sregs, icount, dis)
|
run_sim(struct pstate *sregs, uint64 icount, int dis)
|
||||||
struct pstate *sregs;
|
|
||||||
uint64 icount;
|
|
||||||
int dis;
|
|
||||||
{
|
{
|
||||||
int irq, mexc, deb;
|
int irq, mexc, deb;
|
||||||
|
|
||||||
@ -140,9 +137,7 @@ run_sim(sregs, icount, dis)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(argc, argv)
|
main(int argc, char **argv)
|
||||||
int argc;
|
|
||||||
char **argv;
|
|
||||||
{
|
{
|
||||||
|
|
||||||
int cont = 1;
|
int cont = 1;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* sim-if.c (sim_open, frv_sim_close, sim_create_inferior): Use
|
||||||
|
new-style declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -43,11 +43,8 @@ free_state (SIM_DESC sd)
|
|||||||
/* Create an instance of the simulator. */
|
/* Create an instance of the simulator. */
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_open (kind, callback, abfd, argv)
|
sim_open (SIM_OPEN_KIND kind, host_callback *callback, bfd *abfd,
|
||||||
SIM_OPEN_KIND kind;
|
char * const *argv)
|
||||||
host_callback *callback;
|
|
||||||
bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
{
|
{
|
||||||
char c;
|
char c;
|
||||||
int i;
|
int i;
|
||||||
@ -162,9 +159,7 @@ sim_open (kind, callback, abfd, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
frv_sim_close (sd, quitting)
|
frv_sim_close (SIM_DESC sd, int quitting)
|
||||||
SIM_DESC sd;
|
|
||||||
int quitting;
|
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
/* Terminate cache support. */
|
/* Terminate cache support. */
|
||||||
@ -177,11 +172,8 @@ frv_sim_close (sd, quitting)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_create_inferior (sd, abfd, argv, envp)
|
sim_create_inferior (SIM_DESC sd, bfd *abfd, char * const *argv,
|
||||||
SIM_DESC sd;
|
char * const *envp)
|
||||||
bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
char * const *envp;
|
|
||||||
{
|
{
|
||||||
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
||||||
SIM_ADDR addr;
|
SIM_ADDR addr;
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* compile.c (cmdline_location): Use new-style declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -465,7 +465,7 @@ lvalue (SIM_DESC sd, int x, int rn, unsigned int *val)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
cmdline_location()
|
cmdline_location(void)
|
||||||
{
|
{
|
||||||
if (h8300smode && !h8300_normal_mode)
|
if (h8300smode && !h8300_normal_mode)
|
||||||
return 0xffff00L;
|
return 0xffff00L;
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* sim-if.c (sim_open, sim_create_inferior): Use new-style
|
||||||
|
declaration.
|
||||||
|
* iq2000.c (fetch_str): Use new-style declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -56,10 +56,7 @@ enum libgloss_syscall
|
|||||||
|
|
||||||
/* Read a null terminated string from memory, return in a buffer */
|
/* Read a null terminated string from memory, return in a buffer */
|
||||||
static char *
|
static char *
|
||||||
fetch_str (current_cpu, pc, addr)
|
fetch_str (SIM_CPU *current_cpu, PCADDR pc, DI addr)
|
||||||
SIM_CPU *current_cpu;
|
|
||||||
PCADDR pc;
|
|
||||||
DI addr;
|
|
||||||
{
|
{
|
||||||
char *buf;
|
char *buf;
|
||||||
int nr = 0;
|
int nr = 0;
|
||||||
|
@ -50,11 +50,8 @@ free_state (SIM_DESC sd)
|
|||||||
/* Create an instance of the simulator. */
|
/* Create an instance of the simulator. */
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_open (kind, callback, abfd, argv)
|
sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
||||||
SIM_OPEN_KIND kind;
|
char * const *argv)
|
||||||
host_callback *callback;
|
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
{
|
{
|
||||||
char c;
|
char c;
|
||||||
int i;
|
int i;
|
||||||
@ -130,11 +127,8 @@ sim_open (kind, callback, abfd, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_create_inferior (sd, abfd, argv, envp)
|
sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
|
||||||
SIM_DESC sd;
|
char * const *envp)
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
char * const *envp;
|
|
||||||
{
|
{
|
||||||
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
||||||
SIM_ADDR addr;
|
SIM_ADDR addr;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* sim-if.c (sim_open, sim_create_inferior): Use new-style
|
||||||
|
declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -80,11 +80,8 @@ find_limit (SIM_DESC sd)
|
|||||||
/* Create an instance of the simulator. */
|
/* Create an instance of the simulator. */
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_open (kind, callback, abfd, argv)
|
sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
||||||
SIM_OPEN_KIND kind;
|
char * const *argv)
|
||||||
host_callback *callback;
|
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
{
|
{
|
||||||
SIM_DESC sd = sim_state_alloc (kind, callback);
|
SIM_DESC sd = sim_state_alloc (kind, callback);
|
||||||
char c;
|
char c;
|
||||||
@ -190,11 +187,8 @@ sim_open (kind, callback, abfd, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_create_inferior (sd, abfd, argv, envp)
|
sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
|
||||||
SIM_DESC sd;
|
char * const *envp)
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
char * const *envp;
|
|
||||||
{
|
{
|
||||||
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
||||||
SIM_ADDR addr;
|
SIM_ADDR addr;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2021-04-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* sim-if.c (sim_open, sim_create_inferior): Use new-style
|
||||||
|
declaration.
|
||||||
|
|
||||||
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
2021-04-02 Mike Frysinger <vapier@gentoo.org>
|
||||||
|
|
||||||
* aclocal.m4, configure: Regenerate.
|
* aclocal.m4, configure: Regenerate.
|
||||||
|
@ -44,11 +44,8 @@ free_state (SIM_DESC sd)
|
|||||||
/* Create an instance of the simulator. */
|
/* Create an instance of the simulator. */
|
||||||
|
|
||||||
SIM_DESC
|
SIM_DESC
|
||||||
sim_open (kind, callback, abfd, argv)
|
sim_open (SIM_OPEN_KIND kind, host_callback *callback, struct bfd *abfd,
|
||||||
SIM_OPEN_KIND kind;
|
char * const *argv)
|
||||||
host_callback *callback;
|
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
{
|
{
|
||||||
SIM_DESC sd = sim_state_alloc (kind, callback);
|
SIM_DESC sd = sim_state_alloc (kind, callback);
|
||||||
char c;
|
char c;
|
||||||
@ -142,11 +139,8 @@ sim_open (kind, callback, abfd, argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
SIM_RC
|
SIM_RC
|
||||||
sim_create_inferior (sd, abfd, argv, envp)
|
sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char * const *argv,
|
||||||
SIM_DESC sd;
|
char * const *envp)
|
||||||
struct bfd *abfd;
|
|
||||||
char * const *argv;
|
|
||||||
char * const *envp;
|
|
||||||
{
|
{
|
||||||
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
SIM_CPU *current_cpu = STATE_CPU (sd, 0);
|
||||||
SIM_ADDR addr;
|
SIM_ADDR addr;
|
||||||
|
Loading…
Reference in New Issue
Block a user