All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/27] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode
@ 2021-03-02 14:57 ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 56+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-02 14:57 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Sarah Harris, Chris Wulff, Sagar Karandikar,
	David Hildenbrand, Anthony Green, Mark Cave-Ayland,
	Aleksandar Rikalo, Philippe Mathieu-Daudé,
	Max Filippov, Taylor Simpson, Alistair Francis,
	Edgar E. Iglesias, Guan Xuetao, Marek Vasut, Yoshinori Sato,
	Michael S. Tsirkin, Claudio Fontana, Palmer Dabbelt,
	Philippe Mathieu-Daudé,
	Artyom Tarasenko, Thomas Huth, Eduardo Habkost,
	Richard Henderson, Greg Kurz, qemu-s390x, qemu-arm,
	Michael Rolnik, Stafford Horne, Alex Bennée, David Gibson,
	qemu-riscv, Bastian Koppelmann, Cornelia Huck, Laurent Vivier,
	Michael Walle, qemu-ppc, Paolo Bonzini, Aurelien Jarno

Hi,

This series is inspired on Claudio TCG work.

Instead of separate TCG from other accelerators, here we
separate sysemu operations (system VS user).

Patches 1-6 are generic cleanups.
Patches 7-15 move from CPUClass to SysemuCPUOps
Patch   16 restricts SysemuCPUOps to sysemu
Patches 17-25 remove watchpoint code from user emulation
Patches 26-27 remove USER_ONLY #ifdef'ry from "cpu.h"

Since v2:
- fixed lm32/unicore32
- remove USER_ONLY ifdef'ry from "cpu.h" (Claudio)

Since v1:
- Name 'sysemu' (Claudio)
- change each field progressively (Richard)

$ git backport-diff -u v2
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respective=
ly

001/27:[----] [--] 'target: Set CPUClass::vmsd instead of DeviceClass::vmsd'
002/27:[----] [--] 'cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from=
_attrs'
003/27:[----] [--] 'cpu: Introduce cpu_virtio_is_big_endian()'
004/27:[----] [--] 'cpu: Directly use cpu_write_elf*() fallback handlers in p=
lace'
005/27:[----] [--] 'cpu: Directly use get_paging_enabled() fallback handlers =
in place'
006/27:[----] [--] 'cpu: Directly use get_memory_mapping() fallback handlers =
in place'
007/27:[----] [--] 'cpu: Introduce SysemuCPUOps structure'
008/27:[----] [--] 'cpu: Move CPUClass::vmsd to SysemuCPUOps'
009/27:[----] [--] 'cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps'
010/27:[----] [--] 'cpu: Move CPUClass::get_crash_info to SysemuCPUOps'
011/27:[----] [--] 'cpu: Move CPUClass::write_elf* to SysemuCPUOps'
012/27:[----] [--] 'cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps'
013/27:[----] [--] 'cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps'
014/27:[----] [--] 'cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps'
015/27:[----] [--] 'cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps'
016/27:[0084] [FC] 'cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c'
017/27:[down] 'linux-user: Remove dead code'
018/27:[down] 'gdbstub: Remove watchpoint dead code in gdbserver_fork()'
019/27:[down] 'target/arm/internals: Fix code style for checkpatch.pl'
020/27:[down] 'target/arm: Move code blocks around'
021/27:[down] 'target/arm: Refactor some function bodies'
022/27:[down] 'target/arm: Restrict watchpoint code to system emulation'
023/27:[down] 'target/i386: Restrict watchpoint code to system emulation'
024/27:[down] 'accel/tcg/cpu-exec: Restrict watchpoint code to system emulati=
on'
025/27:[down] 'cpu: Remove watchpoint stubs for user emulation'
026/27:[down] 'cpu: Fix code style for checkpatch.pl'
027/27:[down] 'cpu: Move sysemu specific declarations to 'sysemu-cpu-ops.h''

Regards,

Phil.

Supersedes: <20210301215110.772346-1-f4bug@amsat.org>

Philippe Mathieu-Daud=C3=A9 (27):
  target: Set CPUClass::vmsd instead of DeviceClass::vmsd
  cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs
  cpu: Introduce cpu_virtio_is_big_endian()
  cpu: Directly use cpu_write_elf*() fallback handlers in place
  cpu: Directly use get_paging_enabled() fallback handlers in place
  cpu: Directly use get_memory_mapping() fallback handlers in place
  cpu: Introduce SysemuCPUOps structure
  cpu: Move CPUClass::vmsd to SysemuCPUOps
  cpu: Move CPUClass::virtio_is_big_endian to SysemuCPUOps
  cpu: Move CPUClass::get_crash_info to SysemuCPUOps
  cpu: Move CPUClass::write_elf* to SysemuCPUOps
  cpu: Move CPUClass::asidx_from_attrs to SysemuCPUOps
  cpu: Move CPUClass::get_phys_page_debug to SysemuCPUOps
  cpu: Move CPUClass::get_memory_mapping to SysemuCPUOps
  cpu: Move CPUClass::get_paging_enabled to SysemuCPUOps
  cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c
  linux-user: Remove dead code
  gdbstub: Remove watchpoint dead code in gdbserver_fork()
  target/arm/internals: Fix code style for checkpatch.pl
  target/arm: Move code blocks around
  target/arm: Refactor some function bodies
  target/arm: Restrict watchpoint code to system emulation
  target/i386: Restrict watchpoint code to system emulation
  accel/tcg/cpu-exec: Restrict watchpoint code to system emulation
  cpu: Remove watchpoint stubs for user emulation
  cpu: Fix code style for checkpatch.pl
  cpu: Move sysemu specific declarations to 'sysemu-cpu-ops.h'

 include/hw/core/cpu.h            | 258 +------------------------------
 include/hw/core/sysemu-cpu-ops.h | 244 +++++++++++++++++++++++++++++
 target/alpha/cpu.h               |   3 +
 target/arm/cpu.h                 |   3 +
 target/arm/internals.h           |  34 ++--
 target/avr/cpu.h                 |   1 +
 target/cris/cpu.h                |   3 +
 target/hexagon/cpu.h             |   3 +
 target/hppa/cpu.h                |   3 +
 target/i386/cpu.h                |   3 +
 target/lm32/cpu.h                |   3 +
 target/m68k/cpu.h                |   3 +
 target/microblaze/cpu.h          |   1 +
 target/mips/cpu.h                |   3 +
 target/moxie/cpu.h               |   3 +
 target/nios2/cpu.h               |   1 +
 target/openrisc/cpu.h            |   3 +
 target/ppc/cpu.h                 |   3 +
 target/riscv/cpu.h               |   3 +
 target/rx/cpu.h                  |   1 +
 target/s390x/cpu.h               |   3 +
 target/sh4/cpu.h                 |   3 +
 target/sparc/cpu.h               |   3 +
 target/tilegx/cpu.h              |   3 +
 target/tricore/cpu.h             |   3 +
 target/unicore32/cpu.h           |   3 +
 target/xtensa/cpu.h              |   3 +
 accel/tcg/cpu-exec.c             |   5 +-
 cpu.c                            |  19 ++-
 gdbstub.c                        |   2 +-
 hw/core/cpu.c                    | 113 ++++++++------
 hw/virtio/virtio.c               |   4 +-
 linux-user/main.c                |   5 -
 softmmu/physmem.c                |   1 +
 target/alpha/cpu.c               |  10 +-
 target/arm/cpu.c                 |  22 ++-
 target/arm/debug_helper.c        | 102 ++++++------
 target/arm/helper.c              |   9 +-
 target/avr/cpu.c                 |   8 +-
 target/cris/cpu.c                |  10 +-
 target/hppa/cpu.c                |  10 +-
 target/i386/cpu.c                |  31 ++--
 target/lm32/cpu.c                |  10 +-
 target/m68k/cpu.c                |  10 +-
 target/microblaze/cpu.c          |  10 +-
 target/mips/cpu.c                |  10 +-
 target/moxie/cpu.c               |  10 +-
 target/nios2/cpu.c               |  15 +-
 target/openrisc/cpu.c            |  10 +-
 target/riscv/cpu.c               |  12 +-
 target/rx/cpu.c                  |  16 +-
 target/s390x/cpu.c               |  14 +-
 target/sh4/cpu.c                 |  10 +-
 target/sparc/cpu.c               |  10 +-
 target/tricore/cpu.c             |  13 +-
 target/unicore32/cpu.c           |   8 +-
 target/xtensa/cpu.c              |  10 +-
 target/ppc/translate_init.c.inc  |  20 +--
 58 files changed, 686 insertions(+), 453 deletions(-)
 create mode 100644 include/hw/core/sysemu-cpu-ops.h

--=20
2.26.2



^ permalink raw reply	[flat|nested] 56+ messages in thread

end of thread, other threads:[~2021-04-22 16:09 UTC | newest]

Thread overview: 56+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-02 14:57 [PATCH v3 00/27] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode Philippe Mathieu-Daudé
2021-03-02 14:57 ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 01/27] target: Set CPUClass::vmsd instead of DeviceClass::vmsd Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-04-21 22:03   ` Eduardo Habkost
2021-04-21 22:03     ` Eduardo Habkost
2021-04-22  9:55     ` Philippe Mathieu-Daudé
2021-04-22  9:55       ` Philippe Mathieu-Daudé
2021-04-22 10:28       ` Peter Maydell
2021-04-22 10:28         ` Peter Maydell
2021-04-22 11:01         ` Philippe Mathieu-Daudé
2021-04-22 11:01           ` Philippe Mathieu-Daudé
2021-04-22 15:41           ` Philippe Mathieu-Daudé
2021-04-22 15:41             ` Philippe Mathieu-Daudé
2021-04-22 15:53             ` Peter Maydell
2021-04-22 15:53               ` Peter Maydell
2021-04-22 16:05               ` Philippe Mathieu-Daudé
2021-04-22 16:05                 ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 02/27] cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 03/27] cpu: Introduce cpu_virtio_is_big_endian() Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 04/27] cpu: Directly use cpu_write_elf*() fallback handlers in place Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 05/27] cpu: Directly use get_paging_enabled() " Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 06/27] cpu: Directly use get_memory_mapping() " Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:57 ` [PATCH v3 07/27] cpu: Introduce SysemuCPUOps structure Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-03  5:18   ` Richard Henderson
2021-03-03  5:18     ` Richard Henderson
2021-03-02 14:57 ` [PATCH v3 08/27] cpu: Move CPUClass::vmsd to SysemuCPUOps Philippe Mathieu-Daudé
2021-03-02 14:57   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 09/27] cpu: Move CPUClass::virtio_is_big_endian " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 10/27] cpu: Move CPUClass::get_crash_info " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 11/27] cpu: Move CPUClass::write_elf* " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 12/27] cpu: Move CPUClass::asidx_from_attrs " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 13/27] cpu: Move CPUClass::get_phys_page_debug " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 14/27] cpu: Move CPUClass::get_memory_mapping " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 15/27] cpu: Move CPUClass::get_paging_enabled " Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 16/27] cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-02 14:58 ` [PATCH v3 17/27] linux-user: Remove dead code Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé
2021-03-03 15:17   ` Laurent Vivier
2021-03-03 15:17     ` Laurent Vivier
2021-03-02 14:58 ` [PATCH v3 18/27] gdbstub: Remove watchpoint dead code in gdbserver_fork() Philippe Mathieu-Daudé
2021-03-02 14:58   ` Philippe Mathieu-Daudé

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.