Hello, This series moves more fields from CPU_COMMON / CPU*State to CPUState, allowing access from target-independent code.
The final patch in this series will help solve some issues (in particular avoid a dependency on CPU_COMMON TLB refactoring for now) but opens a can of worms: Since it is initialized in derived instance_init functions, functions cannot randomly be changed to operate on CPUState and be called from CPUState's instance_init or they will crash due to NULL env_ptr. For those of you that may have been following the CPU refactorings closely, I have now split off part of former qom-cpu-8 branch into qom-cpu-9. This series thereby applies directly to qom-cpu-next, whereas qom-cpu-9 depends on the pending s390x pull, my m68k cleanups and may be changed for VMState changes cooking elsewhere to keep i386 v5 compat. Available for testing at: git://github.com/afaerber/qemu-cpu.git qom-cpu-8.v1 https://github.com/afaerber/qemu-cpu/commits/qom-cpu-8.v1 Regards, Andreas Changes from previews: * Drop #ifdefs for user-only CPUState fields. * Defer interrupt-related changes to part 9. Andreas Färber (6): cpu: Move host_tid field to CPUState cpu: Move running field to CPUState cpu: Move exit_request field to CPUState cpu: Move current_tb field to CPUState cputlb: Pass CPUState to cpu_unlink_tb() cpu: Add CPUArchState pointer to CPUState cpu-exec.c | 21 ++++++++++++--------- cputlb.c | 6 ++++-- dump.c | 8 ++++++-- exec.c | 6 ++++-- gdbstub.c | 14 +++++++++----- hw/apic_common.c | 2 +- hw/apic_internal.h | 2 +- hw/kvmvapic.c | 13 ++++++++----- hw/spapr_hcall.c | 5 +++-- include/exec/cpu-defs.h | 5 ----- include/exec/exec-all.h | 4 +++- include/exec/gdbstub.h | 5 ++--- include/qom/cpu.h | 11 +++++++++++ kvm-all.c | 6 +++--- linux-user/main.c | 37 ++++++++++++++++++++++--------------- linux-user/syscall.c | 4 +++- qom/cpu.c | 2 ++ target-alpha/cpu.c | 2 ++ target-arm/cpu.c | 2 ++ target-cris/cpu.c | 2 ++ target-i386/cpu.c | 1 + target-i386/kvm.c | 4 ++-- target-lm32/cpu.c | 2 ++ target-m68k/cpu.c | 2 ++ target-microblaze/cpu.c | 2 ++ target-mips/cpu.c | 2 ++ target-openrisc/cpu.c | 2 ++ target-ppc/translate_init.c | 2 ++ target-s390x/cpu.c | 2 ++ target-sh4/cpu.c | 2 ++ target-sparc/cpu.c | 2 ++ target-unicore32/cpu.c | 2 ++ target-xtensa/cpu.c | 2 ++ translate-all.c | 36 +++++++++++++++++++++++------------- translate-all.h | 2 +- 35 Dateien geändert, 149 Zeilen hinzugefügt(+), 73 Zeilen entfernt(-) -- 1.7.10.4