accel/tcg: Remove CPUState.icount_decr_ptr
We can now access icount_decr directly. Reviewed-by: Anton Johansson <anjo@rev.ng> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
3b3d7df545
commit
e62de98111
@ -86,7 +86,7 @@ void cpu_exit(CPUState *cpu)
|
|||||||
qatomic_set(&cpu->exit_request, 1);
|
qatomic_set(&cpu->exit_request, 1);
|
||||||
/* Ensure cpu_exec will see the exit request after TCG has exited. */
|
/* Ensure cpu_exec will see the exit request after TCG has exited. */
|
||||||
smp_wmb();
|
smp_wmb();
|
||||||
qatomic_set(&cpu->icount_decr_ptr->u16.high, -1);
|
qatomic_set(&cpu->neg.icount_decr.u16.high, -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int cpu_common_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg)
|
static int cpu_common_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg)
|
||||||
@ -130,7 +130,7 @@ static void cpu_common_reset_hold(Object *obj)
|
|||||||
cpu->halted = cpu->start_powered_off;
|
cpu->halted = cpu->start_powered_off;
|
||||||
cpu->mem_io_pc = 0;
|
cpu->mem_io_pc = 0;
|
||||||
cpu->icount_extra = 0;
|
cpu->icount_extra = 0;
|
||||||
qatomic_set(&cpu->icount_decr_ptr->u32, 0);
|
qatomic_set(&cpu->neg.icount_decr.u32, 0);
|
||||||
cpu->can_do_io = 1;
|
cpu->can_do_io = 1;
|
||||||
cpu->exception_index = -1;
|
cpu->exception_index = -1;
|
||||||
cpu->crash_occurred = false;
|
cpu->crash_occurred = false;
|
||||||
|
@ -432,7 +432,6 @@ int cpu_exec(CPUState *cpu);
|
|||||||
static inline void cpu_set_cpustate_pointers(ArchCPU *cpu)
|
static inline void cpu_set_cpustate_pointers(ArchCPU *cpu)
|
||||||
{
|
{
|
||||||
cpu->parent_obj.env_ptr = &cpu->env;
|
cpu->parent_obj.env_ptr = &cpu->env;
|
||||||
cpu->parent_obj.icount_decr_ptr = &cpu->parent_obj.neg.icount_decr;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Validate correct placement of CPUArchState. */
|
/* Validate correct placement of CPUArchState. */
|
||||||
|
@ -429,7 +429,6 @@ struct qemu_work_item;
|
|||||||
* @as: Pointer to the first AddressSpace, for the convenience of targets which
|
* @as: Pointer to the first AddressSpace, for the convenience of targets which
|
||||||
* only have a single AddressSpace
|
* only have a single AddressSpace
|
||||||
* @env_ptr: Pointer to subclass-specific CPUArchState field.
|
* @env_ptr: Pointer to subclass-specific CPUArchState field.
|
||||||
* @icount_decr_ptr: Pointer to IcountDecr field within subclass.
|
|
||||||
* @gdb_regs: Additional GDB registers.
|
* @gdb_regs: Additional GDB registers.
|
||||||
* @gdb_num_regs: Number of total registers accessible to GDB.
|
* @gdb_num_regs: Number of total registers accessible to GDB.
|
||||||
* @gdb_num_g_regs: Number of registers in GDB 'g' packets.
|
* @gdb_num_g_regs: Number of registers in GDB 'g' packets.
|
||||||
@ -504,7 +503,6 @@ struct CPUState {
|
|||||||
MemoryRegion *memory;
|
MemoryRegion *memory;
|
||||||
|
|
||||||
CPUArchState *env_ptr;
|
CPUArchState *env_ptr;
|
||||||
IcountDecr *icount_decr_ptr;
|
|
||||||
|
|
||||||
CPUJumpCache *tb_jmp_cache;
|
CPUJumpCache *tb_jmp_cache;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user