[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 09/24] accel/tcg: Remove CPUState.icount_decr_ptr
From: |
Richard Henderson |
Subject: |
[PATCH v2 09/24] accel/tcg: Remove CPUState.icount_decr_ptr |
Date: |
Wed, 13 Sep 2023 19:44:20 -0700 |
We can now access icount_decr directly.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/exec/cpu-all.h | 1 -
include/hw/core/cpu.h | 2 --
hw/core/cpu-common.c | 4 ++--
3 files changed, 2 insertions(+), 5 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index c3c78ed8ab..3b01e4ee25 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -434,7 +434,6 @@ void tcg_exec_unrealizefn(CPUState *cpu);
static inline void cpu_set_cpustate_pointers(ArchCPU *cpu)
{
cpu->parent_obj.env_ptr = &cpu->env;
- cpu->parent_obj.icount_decr_ptr = &cpu->parent_obj.neg.icount_decr;
}
/* Validate correct placement of CPUArchState. */
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index 1f289136ec..44955af3bc 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -440,7 +440,6 @@ struct qemu_work_item;
* @as: Pointer to the first AddressSpace, for the convenience of targets which
* only have a single AddressSpace
* @env_ptr: Pointer to subclass-specific CPUArchState field.
- * @icount_decr_ptr: Pointer to IcountDecr field within subclass.
* @gdb_regs: Additional GDB registers.
* @gdb_num_regs: Number of total registers accessible to GDB.
* @gdb_num_g_regs: Number of registers in GDB 'g' packets.
@@ -512,7 +511,6 @@ struct CPUState {
MemoryRegion *memory;
CPUArchState *env_ptr;
- IcountDecr *icount_decr_ptr;
CPUJumpCache *tb_jmp_cache;
diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c
index ced66c2b34..08d5bbc873 100644
--- a/hw/core/cpu-common.c
+++ b/hw/core/cpu-common.c
@@ -86,7 +86,7 @@ void cpu_exit(CPUState *cpu)
qatomic_set(&cpu->exit_request, 1);
/* Ensure cpu_exec will see the exit request after TCG has exited. */
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)
@@ -130,7 +130,7 @@ static void cpu_common_reset_hold(Object *obj)
cpu->halted = cpu->start_powered_off;
cpu->mem_io_pc = 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->exception_index = -1;
cpu->crash_occurred = false;
--
2.34.1
- [PATCH v2 03/24] qom: Propagate alignment through type system, (continued)
- [PATCH v2 03/24] qom: Propagate alignment through type system, Richard Henderson, 2023/09/13
- [PATCH v2 02/24] accel/tcg: Move CPUTLB definitions from cpu-defs.h, Richard Henderson, 2023/09/13
- [PATCH v2 01/24] target/arm: Replace TARGET_PAGE_ENTRY_EXTRA, Richard Henderson, 2023/09/13
- [PATCH v2 05/24] target/arm: Remove size and alignment for cpu subclasses, Richard Henderson, 2023/09/13
- [PATCH v2 04/24] target/*: Use __alignof not __alignof__, Richard Henderson, 2023/09/13
- [PATCH v2 08/24] accel/tcg: Move CPUNegativeOffsetState into CPUState, Richard Henderson, 2023/09/13
- [PATCH v2 09/24] accel/tcg: Remove CPUState.icount_decr_ptr,
Richard Henderson <=
- [PATCH v2 06/24] target/*: Add instance_align to all cpu base classes, Richard Henderson, 2023/09/13
- [PATCH v2 07/24] accel/tcg: Validate placement of CPUNegativeOffsetState, Richard Henderson, 2023/09/13
- [PATCH v2 10/24] accel/tcg: Move can_do_io to CPUNegativeOffsetState, Richard Henderson, 2023/09/13
- [PATCH v2 11/24] accel/tcg: Remove cpu_neg(), Richard Henderson, 2023/09/13
- [PATCH v2 13/24] accel/tcg: Replace CPUState.env_ptr with cpu_env(), Richard Henderson, 2023/09/13