Re: [Qemu-devel] [PATCH qom-cpu-next 0/6] QOM CPUState, part 8: CPU_COMMON continued
Am 01.02.2013 13:38, schrieb Andreas Färber: > 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. The "questionable" patch in this series has been acked by rth, so if nobody objects, I'll queue it on qom-cpu-next tonight, to base further work on. I'm not aware of any conflicting maintainer's queue so far. Andreas > > 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(-) -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Re: [Qemu-devel] [PATCH qom-cpu-next 0/6] QOM CPUState, part 8: CPU_COMMON continued
Am 14.02.2013 18:49, schrieb Andreas Färber: > Am 01.02.2013 13:38, schrieb Andreas Färber: >> 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. > > The "questionable" patch in this series has been acked by rth, so if > nobody objects, I'll queue it on qom-cpu-next tonight, [...] Applied: https://github.com/afaerber/qemu-cpu/commits/qom-cpu-next Andreas >> >> 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(-) > -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg