From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Peter Maydell" <peter.maydell@linaro.org>,
"Peter Crosthwaite" <peter.crosthwaite@xilinx.com>,
"Xuebing Wang" <xbing6@gmail.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
"Igor Mammedov" <imammedo@redhat.com>,
"Riku Voipio" <riku.voipio@iki.fi>,
"Blue Swirl" <blauwirbel@gmail.com>,
"Michael Walle" <michael@walle.cc>,
"Anthony Liguori" <anthony@codemonkey.ws>,
"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
pbonzini@redhat.com, "Andreas Färber" <afaerber@suse.de>,
"Aurélien Jarno" <aurelien@aurel32.net>,
"Richard Henderson" <rth@twiddle.net>
Subject: [Qemu-devel] [PATCH qom-cpu v2 00/40] QOM CPUState, part 13: Emptying CPU_COMMON
Date: Mon, 10 Mar 2014 01:15:09 +0100 [thread overview]
Message-ID: <1394410549-13751-1-git-send-email-afaerber@suse.de> (raw)
Hello,
This series aggressively decimizes CPU_COMMON fields and then begins with some
follow-up cleanups in core CPU code.
Paolo has suggested we handle cputlb.c not as "common code" but as code
to be inlined into target code. I have therefore dropped some cputlb.c
changes that seemed mostly relevant for the file itself only.
Available for testing at:
git://github.com/afaerber/qemu-cpu.git qom-cpu-13.v2
https://github.com/afaerber/qemu-cpu/commits/qom-cpu-13.v2
Regards,
Andreas
v1 -> v2:
* Dropped cpu_mmu_index() and cpu_get_tb_cpu_state() changes (Paolo)
* Rebased on LM32 cpu_abort() and dc->env cleanups (Michael)
* cpu_copy() was already moved into linux-user and cpu_model_str dropped
* Rebased on CPU address spaces; added cleanups for ENV_GET_CPU() misuses
* Rebased on LM32 watchpoints and breakpoints
* Rebased on AArch64
* Fixed s/tlb_update_dirty/tlb_unprotect_code_phys/ in commit message
* Leave tlb_flush_{addr,mask} fields in CPU_COMMON_TLB for now
* Dropped tlb_add_large_page() argument change for now
>From qom-cpu-copy preview:
* Instead of moving cpu_copy() to a new linux-user/cpu.c, moved it to main.c,
allowing to drop cpu_model_str field completely
Cc: Anthony Liguori <anthony@codemonkey.ws>
Cc: Blue Swirl <blauwirbel@gmail.com>
Cc: Aurélien Jarno <aurelien@aurel32.net>
Cc: Richard Henderson <rth@twiddle.net> (TCG)
Cc: Xuebing Wang <xbing6@gmail.com>
Cc: Michael Walle <michael@walle.cc> (lm32)
Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com> (cris, microblaze)
Cc: Peter Crosthwaite <peter.crosthwaite@xilinx.com> (microblaze)
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Igor Mammedov <imammedo@redhat.com>
Cc: Riku Voipio <riku.voipio@iki.fi> (linux-user)
Cc: Peter Maydell <peter.maydell@linaro.org> (arm)
Andreas Färber (40):
target-alpha: Clean up ENV_GET_CPU() usage
target-arm: Clean up ENV_GET_CPU() usage
target-i386: Clean up ENV_GET_CPU() usage
target-ppc: Clean up ENV_GET_CPU() usage
target-s390x: Clean up ENV_GET_CPU() usage
target-sparc: Clean up ENV_GET_CPU() usage
target-unicore32: Clean up ENV_GET_CPU() usage
target-xtensa: Clean up ENV_GET_CPU() usage
cpu: Turn cpu_handle_mmu_fault() into a CPUClass hook
cpu: Move mem_io_{pc,vaddr} fields from CPU_COMMON to CPUState
cpu: Move can_do_io field from CPU_COMMON to CPUState
cpu: Move icount_extra field from CPU_COMMON to CPUState
cpu: Move icount_decr field from CPU_COMMON to CPUState
cpu: Move tb_jmp_cache field from CPU_COMMON to CPUState
cpu: Move jmp_env field from CPU_COMMON to CPUState
cpu: Move exception_index field from CPU_COMMON to CPUState
cpu: Move opaque field from CPU_COMMON to CPUState
cpu: Move watchpoint fields from CPU_COMMON to CPUState
cpu: Move breakpoints field from CPU_COMMON to CPUState
exec: Change tlb_fill() argument to CPUState
cpu-exec: Change cpu_loop_exit() argument to CPUState
translate-all: Change cpu_restore_state() argument to CPUState
translate-all: Change cpu_restore_state_from_tb() argument to CPUState
translate-all: Change tb_check_watchpoint() argument to CPUState
translate-all: Change cpu_io_recompile() argument to CPUState
translate-all: Change tb_gen_code() argument to CPUState
translate-all: Change tb_flush_jmp_cache() argument to CPUState
target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook
exec: Change cpu_watchpoint_{insert,remove{,_by_ref,_all}} argument
exec: Change cpu_breakpoint_{insert,remove{,_by_ref,_all}} argument
cpu-exec: Change cpu_resume_from_signal() argument to CPUState
cputlb: Change tlb_unprotect_code_phys() argument to CPUState
exec: Change memory_region_section_get_iotlb() argument to CPUState
exec: Change cpu_abort() argument to CPUState
target-cris: Replace DisasContext::env field with CRISCPU
target-microblaze: Replace DisasContext::env field with MicroBlazeCPU
cputlb: Change tlb_flush_page() argument to CPUState
cputlb: Change tlb_flush() argument to CPUState
cputlb: Change tlb_set_page() argument to CPUState
user-exec: Change exception_action() argument to CPUState
bsd-user/main.c | 2 +-
cpu-exec.c | 101 +++++++++---------
cpus.c | 23 ++--
cputlb.c | 24 ++---
exec.c | 118 ++++++++++-----------
gdbstub.c | 48 ++++-----
hw/i386/kvmvapic.c | 6 +-
hw/ppc/e500.c | 3 +-
hw/ppc/ppc405_uc.c | 2 +-
hw/ppc/ppce500_spin.c | 2 +-
hw/ppc/spapr_hcall.c | 8 +-
hw/s390x/s390-virtio.c | 8 +-
hw/sh4/sh7750.c | 2 +-
include/exec/cpu-all.h | 24 -----
include/exec/cpu-defs.h | 61 -----------
include/exec/cputlb.h | 6 +-
include/exec/exec-all.h | 43 ++++----
include/exec/gen-icount.h | 10 +-
include/exec/softmmu_template.h | 24 ++---
include/qom/cpu.h | 88 ++++++++++++++++
linux-user/elfload.c | 10 +-
linux-user/linuxload.c | 3 +-
linux-user/m68k-sim.c | 3 +-
linux-user/m68k/target_cpu.h | 4 +-
linux-user/main.c | 102 +++++++++---------
linux-user/signal.c | 24 +++--
linux-user/syscall.c | 30 +++---
linux-user/vm86.c | 27 +++--
qom/cpu.c | 6 ++
target-alpha/cpu.c | 6 +-
target-alpha/cpu.h | 5 +-
target-alpha/helper.c | 40 ++++---
target-alpha/mem_helper.c | 32 +++---
target-alpha/sys_helper.c | 4 +-
target-alpha/translate.c | 4 +-
target-arm/arm-semi.c | 9 +-
target-arm/cpu.c | 8 +-
target-arm/cpu.h | 5 +-
target-arm/helper.c | 136 ++++++++++++++++--------
target-arm/op_helper.c | 33 +++---
target-arm/translate-a64.c | 4 +-
target-arm/translate.c | 6 +-
target-cris/cpu.c | 8 +-
target-cris/cpu.h | 7 +-
target-cris/helper.c | 48 +++++----
target-cris/mmu.c | 3 +-
target-cris/op_helper.c | 28 +++--
target-cris/translate.c | 21 ++--
target-cris/translate_v10.c | 16 +--
target-i386/cpu.c | 12 ++-
target-i386/cpu.h | 8 +-
target-i386/excp_helper.c | 6 +-
target-i386/helper.c | 77 ++++++++------
target-i386/kvm.c | 8 +-
target-i386/machine.c | 7 +-
target-i386/mem_helper.c | 16 +--
target-i386/misc_helper.c | 20 ++--
target-i386/seg_helper.c | 20 ++--
target-i386/smm_helper.c | 2 +-
target-i386/svm_helper.c | 41 ++++----
target-i386/translate.c | 4 +-
target-lm32/cpu.c | 8 +-
target-lm32/cpu.h | 8 +-
target-lm32/helper.c | 51 +++++----
target-lm32/op_helper.c | 23 ++--
target-lm32/translate.c | 5 +-
target-m68k/cpu.c | 8 +-
target-m68k/cpu.h | 4 +-
target-m68k/helper.c | 23 ++--
target-m68k/m68k-semi.c | 5 +-
target-m68k/op_helper.c | 34 +++---
target-m68k/qregs.def | 1 -
target-m68k/translate.c | 13 ++-
target-microblaze/cpu.c | 8 +-
target-microblaze/cpu.h | 3 +-
target-microblaze/helper.c | 34 +++---
target-microblaze/mmu.c | 6 +-
target-microblaze/op_helper.c | 19 ++--
target-microblaze/translate.c | 102 +++++++++---------
target-mips/cpu.c | 8 +-
target-mips/cpu.h | 6 +-
target-mips/helper.c | 56 ++++++----
target-mips/machine.c | 3 +-
target-mips/op_helper.c | 34 ++++--
target-mips/translate.c | 8 +-
target-mips/translate_init.c | 4 +-
target-moxie/cpu.c | 8 +-
target-moxie/cpu.h | 2 +-
target-moxie/helper.c | 51 +++++----
target-moxie/translate.c | 4 +-
target-openrisc/cpu.c | 14 ++-
target-openrisc/cpu.h | 5 +-
target-openrisc/exception.c | 6 +-
target-openrisc/interrupt.c | 14 +--
target-openrisc/interrupt_helper.c | 2 +-
target-openrisc/mmu.c | 17 +--
target-openrisc/mmu_helper.c | 8 +-
target-openrisc/sys_helper.c | 6 +-
target-openrisc/translate.c | 5 +-
target-ppc/cpu-qom.h | 8 +-
target-ppc/cpu.h | 6 +-
target-ppc/excp_helper.c | 73 ++++++-------
target-ppc/fpu_helper.c | 26 +++--
target-ppc/helper_regs.h | 2 +-
target-ppc/misc_helper.c | 4 +-
target-ppc/mmu-hash32.c | 35 ++++---
target-ppc/mmu-hash32.h | 14 ++-
target-ppc/mmu-hash64.c | 30 +++---
target-ppc/mmu-hash64.h | 8 +-
target-ppc/mmu_helper.c | 208 +++++++++++++++++++++----------------
target-ppc/translate.c | 4 +-
target-ppc/translate_init.c | 13 ++-
target-ppc/user_only_helper.c | 8 +-
target-s390x/cc_helper.c | 5 +-
target-s390x/cpu.c | 12 ++-
target-s390x/cpu.h | 5 +-
target-s390x/fpu_helper.c | 4 +-
target-s390x/helper.c | 88 +++++++++-------
target-s390x/mem_helper.c | 58 ++++++-----
target-s390x/misc_helper.c | 33 +++---
target-s390x/translate.c | 4 +-
target-sh4/cpu.c | 8 +-
target-sh4/cpu.h | 6 +-
target-sh4/helper.c | 108 ++++++++++---------
target-sh4/op_helper.c | 20 ++--
target-sh4/translate.c | 4 +-
target-sparc/cpu.c | 8 +-
target-sparc/cpu.h | 4 +-
target-sparc/helper.c | 28 ++---
target-sparc/int32_helper.c | 10 +-
target-sparc/int64_helper.c | 8 +-
target-sparc/ldst_helper.c | 52 +++++-----
target-sparc/machine.c | 3 +-
target-sparc/mmu_helper.c | 42 ++++----
target-sparc/translate.c | 4 +-
target-unicore32/cpu.c | 6 +-
target-unicore32/cpu.h | 5 +-
target-unicore32/helper.c | 17 +--
target-unicore32/op_helper.c | 14 +--
target-unicore32/softmmu.c | 29 +++---
target-unicore32/translate.c | 32 +++++-
target-unicore32/ucf64_helper.c | 3 +-
target-xtensa/cpu.h | 6 +-
target-xtensa/helper.c | 32 +++---
target-xtensa/op_helper.c | 50 +++++----
target-xtensa/translate.c | 5 +-
translate-all.c | 98 ++++++++---------
translate-all.h | 2 +-
user-exec.c | 28 +++--
149 files changed, 1893 insertions(+), 1459 deletions(-)
--
1.8.4.5
next reply other threads:[~2014-03-10 0:16 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-10 0:15 Andreas Färber [this message]
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 01/40] target-alpha: Clean up ENV_GET_CPU() usage Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 02/40] target-arm: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 03/40] target-i386: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 04/40] target-ppc: " Andreas Färber
2014-03-12 22:56 ` Stuart Brady
2014-03-12 23:53 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 05/40] target-s390x: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 06/40] target-sparc: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 07/40] target-unicore32: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 08/40] target-xtensa: " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 09/40] cpu: Turn cpu_handle_mmu_fault() into a CPUClass hook Andreas Färber
2014-03-10 7:52 ` Paolo Bonzini
2014-03-11 23:47 ` Andreas Färber
2014-03-12 17:58 ` Paolo Bonzini
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 10/40] cpu: Move mem_io_{pc, vaddr} fields from CPU_COMMON to CPUState Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 11/40] cpu: Move can_do_io field " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 12/40] cpu: Move icount_extra " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 13/40] cpu: Move icount_decr " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 14/40] cpu: Move tb_jmp_cache " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 15/40] cpu: Move jmp_env " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 16/40] cpu: Move exception_index " Andreas Färber
2014-03-11 22:29 ` Andreas Färber
2014-03-13 0:56 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 17/40] cpu: Move opaque " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 18/40] cpu: Move watchpoint fields " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 19/40] cpu: Move breakpoints field " Andreas Färber
2014-03-12 23:08 ` Stuart Brady
2014-03-12 23:59 ` Andreas Färber
2014-03-13 0:40 ` Stuart Brady
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 20/40] exec: Change tlb_fill() argument " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 21/40] cpu-exec: Change cpu_loop_exit() " Andreas Färber
2014-03-11 22:35 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 22/40] translate-all: Change cpu_restore_state() " Andreas Färber
2014-03-11 15:02 ` Max Filippov
2014-03-11 23:23 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 23/40] translate-all: Change cpu_restore_state_from_tb() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 24/40] translate-all: Change tb_check_watchpoint() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 25/40] translate-all: Change cpu_io_recompile() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 26/40] translate-all: Change tb_gen_code() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 27/40] translate-all: Change tb_flush_jmp_cache() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 28/40] target-ppc: Use PowerPCCPU in PowerPCCPUClass::handle_mmu_fault hook Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 29/40] exec: Change cpu_watchpoint_{insert, remove{, _by_ref, _all}} argument Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 30/40] exec: Change cpu_breakpoint_{insert, " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 31/40] cpu-exec: Change cpu_resume_from_signal() argument to CPUState Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 32/40] cputlb: Change tlb_unprotect_code_phys() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 33/40] exec: Change memory_region_section_get_iotlb() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 34/40] exec: Change cpu_abort() " Andreas Färber
2014-03-12 23:28 ` Andreas Färber
2014-03-13 0:59 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 35/40] target-cris: Replace DisasContext::env field with CRISCPU Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 36/40] target-microblaze: Replace DisasContext::env field with MicroBlazeCPU Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 37/40] cputlb: Change tlb_flush_page() argument to CPUState Andreas Färber
2014-03-11 15:05 ` Max Filippov
2014-03-13 0:33 ` Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 38/40] cputlb: Change tlb_flush() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 39/40] cputlb: Change tlb_set_page() " Andreas Färber
2014-03-10 0:15 ` [Qemu-devel] [PATCH qom-cpu v2 40/40] user-exec: Change exception_action() " Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1394410549-13751-1-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=anthony@codemonkey.ws \
--cc=aurelien@aurel32.net \
--cc=blauwirbel@gmail.com \
--cc=edgar.iglesias@gmail.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=michael@walle.cc \
--cc=pbonzini@redhat.com \
--cc=peter.crosthwaite@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
--cc=rth@twiddle.net \
--cc=xbing6@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).