From ec62d09536db91028dcb3d673ce548bedd57541b Mon Sep 17 00:00:00 2001 From: vapier Date: Sat, 14 May 2011 16:00:37 +0000 Subject: [PATCH] sim: bfin: allow pushing of SP The hardware respects this insn, and some code (like the on-chip bootrom) uses it, so allow it. Signed-off-by: Mike Frysinger --- sim/bfin/ChangeLog | 5 +++++ sim/bfin/bfin-sim.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog index a69d6e2f96..b1d4c9bb96 100644 --- a/sim/bfin/ChangeLog +++ b/sim/bfin/ChangeLog @@ -1,5 +1,10 @@ 2011-05-14 Mike Frysinger + * bfin-sim.c (decode_PushPopReg_0): Delete (grp == 1 && reg == 6) + check for SP reg. + +2011-05-14 Mike Frysinger + * dv-bfin_uart.c (bfin_uart_write_byte): Add a mcr arg. Declare a local uart. When LOOP_ENA is set in mcr, write to the saved byte and count fields of the uart. diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c index 13e885033b..1cdfd27a35 100644 --- a/sim/bfin/bfin-sim.c +++ b/sim/bfin/bfin-sim.c @@ -2035,8 +2035,7 @@ decode_PushPopReg_0 (SIM_CPU *cpu, bu16 iw0) else { TRACE_INSN (cpu, "[--SP] = %s;", reg_name); - /* Can't push SP. */ - if (INSN_LEN == 8 || (grp == 1 && reg == 6)) + if (INSN_LEN == 8) illegal_instruction_combination (cpu); sp -= 4; -- 2.11.0