Undo the previous change to the aarch64 sim - exporting aarch64_step() - and instead...
authorNick Clifton <nickc@redhat.com>
Fri, 12 Aug 2016 10:35:32 +0000 (11:35 +0100)
committerNick Clifton <nickc@redhat.com>
Fri, 12 Aug 2016 10:35:32 +0000 (11:35 +0100)
* simulator.c (aarch64_step): Revert pervious delta.
(aarch64_run): Call sim_events_tick after each
instruction is simulated, and if necessary call
sim_events_process.
* simulator.h: Revert previous delta.

sim/aarch64/ChangeLog
sim/aarch64/simulator.c
sim/aarch64/simulator.h

index d32a81bd41c1d778bad3793233fef76c350e2c97..c6d635cda5ac8998d6b97468975965ee8f45cd64 100644 (file)
@@ -1,3 +1,11 @@
+2016-08-12  Nick Clifton  <nickc@redhat.com>
+
+       * simulator.c (aarch64_step): Revert pervious delta.
+       (aarch64_run): Call sim_events_tick after each
+       instruction is simulated, and if necessary call
+       sim_events_process.
+       * simulator.h: Revert previous delta.
+
 2016-08-11  Nick Clifton  <nickc@redhat.com>
 
        * interp.c (sim_create_inferior): Allow for being called with a
@@ -5,6 +13,8 @@
        with that start address.
        * simulator.c (HALT_NYI): Just print out the numeric value of the
        instruction when not tracing.
+       (aarch64_step): Change from static to global.
+       * simulator.h: Add a prototype for aarch64_step().
 
 2016-07-27  Alan Modra  <amodra@gmail.com>
 
index 150bf34e0709db4a459d32bd617a52521e6f8a3b..67e61e71706b1268a3cf0c52cc1ea45facdb074b 100644 (file)
@@ -14072,7 +14072,7 @@ aarch64_decode_and_execute (sim_cpu *cpu, uint64_t pc)
     }
 }
 
-bfd_boolean
+static bfd_boolean
 aarch64_step (sim_cpu *cpu)
 {
   uint64_t pc = aarch64_get_PC (cpu);
@@ -14102,10 +14102,15 @@ aarch64_run (SIM_DESC sd)
   sim_cpu *cpu = STATE_CPU (sd, 0);
 
   while (aarch64_step (cpu))
-    aarch64_update_PC (cpu);
+    {
+      aarch64_update_PC (cpu);
+
+      if (sim_events_tick (sd))
+       sim_events_process (sd);
+    }
 
-  sim_engine_halt (sd, NULL, NULL, aarch64_get_PC (cpu),
-                  sim_exited, aarch64_get_reg_s32 (cpu, R0, SP_OK));
+  sim_engine_halt (sd, cpu, NULL, aarch64_get_PC (cpu),
+                  sim_exited, aarch64_get_reg_s32 (cpu, R0, NO_SP));
 }
 
 void
index a17bd21860b157c52b717a2794758347dc8ce1e7..128d242f22b231209df8b6e513f7d9254f358dc8 100644 (file)
@@ -46,11 +46,6 @@ extern void         aarch64_init (sim_cpu *, uint64_t);
    hit an error.  */
 
 extern void         aarch64_run (SIM_DESC);
-
-/* Call this to execute one instruction at the current PC.  */
-
-extern bfd_boolean  aarch64_step (sim_cpu *);
-
 extern const char * aarch64_get_func (uint64_t);
 extern uint64_t     aarch64_get_sym_value (const char *);
 extern void         aarch64_init_LIT_table (void);