From: Kevin Buettner Date: Thu, 23 Sep 2010 23:42:53 +0000 (+0000) Subject: * cpu.h (reset_decoder): Declare. X-Git-Tag: sid-snapshot-20101001~70 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be380a3ea061110105f734192593b3e5472f3941;p=thirdparty%2Fbinutils-gdb.git * cpu.h (reset_decoder): Declare. * load.c (rx_load): Call `reset_decoder'. * rx.c (reset_decoder): New function. --- diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog index 717816fb11d..b810475e36e 100644 --- a/sim/rx/ChangeLog +++ b/sim/rx/ChangeLog @@ -4,6 +4,10 @@ * rx.c (decode_opcode): Declare `rx' as unsigned. + * cpu.h (reset_decoder): Declare. + * load.c (rx_load): Call `reset_decoder'. + * rx.c (reset_decoder): New function. + 2010-07-29 DJ Delorie * rx.c (decode_cache_base): New. diff --git a/sim/rx/cpu.h b/sim/rx/cpu.h index 37ca7f8cb40..6fc99a9ba8c 100644 --- a/sim/rx/cpu.h +++ b/sim/rx/cpu.h @@ -235,6 +235,7 @@ extern unsigned int heaptop; extern unsigned int heapbottom; extern int decode_opcode (void); +extern void reset_decoder (void); extern void reset_pipeline_stats (void); extern void halt_pipeline_stats (void); extern void pipeline_stats (void); diff --git a/sim/rx/load.c b/sim/rx/load.c index bea9baa738c..bcd8d82cf23 100644 --- a/sim/rx/load.c +++ b/sim/rx/load.c @@ -142,6 +142,8 @@ rx_load (bfd *prog) heaptop = heapbottom = 0; } + reset_decoder (); + if (verbose > 1) fprintf (stderr, "[start pc=%08x %s]\n", (unsigned int) regs.r_pc, diff --git a/sim/rx/rx.c b/sim/rx/rx.c index fc12948bffa..19b896bc127 100644 --- a/sim/rx/rx.c +++ b/sim/rx/rx.c @@ -298,6 +298,14 @@ static unsigned char *get_byte_base; static RX_Opcode_Decoded **decode_cache_base; static SI get_byte_page; +void +reset_decoder (void) +{ + get_byte_base = 0; + decode_cache_base = 0; + get_byte_page = 0; +} + static inline void maybe_get_mem_page (SI tpc) {