* cpu.h (reset_decoder): Declare.
authorKevin Buettner <kevinb@redhat.com>
Thu, 23 Sep 2010 23:42:53 +0000 (23:42 +0000)
committerKevin Buettner <kevinb@redhat.com>
Thu, 23 Sep 2010 23:42:53 +0000 (23:42 +0000)
* load.c (rx_load): Call `reset_decoder'.
* rx.c (reset_decoder): New function.

sim/rx/ChangeLog
sim/rx/cpu.h
sim/rx/load.c
sim/rx/rx.c

index 717816fb11d0a9c0e8592b97b26db631c8f2d8c6..b810475e36e25a0b4e7a58bba46e62278369e4df 100644 (file)
@@ -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  <dj@redhat.com>
 
        * rx.c (decode_cache_base): New.
index 37ca7f8cb4076cc00760a5be63bbfd751810bb17..6fc99a9ba8ce6462a709c9a16ba5b3e4fd1945fa 100644 (file)
@@ -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);
index bea9baa738c0a727d1187919120292975f09ca53..bcd8d82cf23a3af83d3c274ab93072a0ecceadfe 100644 (file)
@@ -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,
index fc12948bffa66034ab8750ee0b5efe22b09865ae..19b896bc127c23bc1545916734575b6aba6c659a 100644 (file)
@@ -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)
 {
This page took 0.027079 seconds and 4 git commands to generate.