mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-20 09:58:19 +08:00
Undo the previous change to the aarch64 sim - exporting aarch64_step() - and instead make aarch64_run correctly process sim events.
* 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.
This commit is contained in:
@ -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>
|
2016-08-11 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* interp.c (sim_create_inferior): Allow for being called with a
|
* interp.c (sim_create_inferior): Allow for being called with a
|
||||||
@ -5,6 +13,8 @@
|
|||||||
with that start address.
|
with that start address.
|
||||||
* simulator.c (HALT_NYI): Just print out the numeric value of the
|
* simulator.c (HALT_NYI): Just print out the numeric value of the
|
||||||
instruction when not tracing.
|
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>
|
2016-07-27 Alan Modra <amodra@gmail.com>
|
||||||
|
|
||||||
|
@ -14072,7 +14072,7 @@ aarch64_decode_and_execute (sim_cpu *cpu, uint64_t pc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bfd_boolean
|
static bfd_boolean
|
||||||
aarch64_step (sim_cpu *cpu)
|
aarch64_step (sim_cpu *cpu)
|
||||||
{
|
{
|
||||||
uint64_t pc = aarch64_get_PC (cpu);
|
uint64_t pc = aarch64_get_PC (cpu);
|
||||||
@ -14102,10 +14102,15 @@ aarch64_run (SIM_DESC sd)
|
|||||||
sim_cpu *cpu = STATE_CPU (sd, 0);
|
sim_cpu *cpu = STATE_CPU (sd, 0);
|
||||||
|
|
||||||
while (aarch64_step (cpu))
|
while (aarch64_step (cpu))
|
||||||
|
{
|
||||||
aarch64_update_PC (cpu);
|
aarch64_update_PC (cpu);
|
||||||
|
|
||||||
sim_engine_halt (sd, NULL, NULL, aarch64_get_PC (cpu),
|
if (sim_events_tick (sd))
|
||||||
sim_exited, aarch64_get_reg_s32 (cpu, R0, SP_OK));
|
sim_events_process (sd);
|
||||||
|
}
|
||||||
|
|
||||||
|
sim_engine_halt (sd, cpu, NULL, aarch64_get_PC (cpu),
|
||||||
|
sim_exited, aarch64_get_reg_s32 (cpu, R0, NO_SP));
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -46,11 +46,6 @@ extern void aarch64_init (sim_cpu *, uint64_t);
|
|||||||
hit an error. */
|
hit an error. */
|
||||||
|
|
||||||
extern void aarch64_run (SIM_DESC);
|
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 const char * aarch64_get_func (uint64_t);
|
||||||
extern uint64_t aarch64_get_sym_value (const char *);
|
extern uint64_t aarch64_get_sym_value (const char *);
|
||||||
extern void aarch64_init_LIT_table (void);
|
extern void aarch64_init_LIT_table (void);
|
||||||
|
Reference in New Issue
Block a user