qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/28] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode
@ 2021-03-03 21:46 Philippe Mathieu-Daudé
  2021-03-03 21:46 ` [PATCH v4 01/28] target: Set CPUClass::vmsd instead of DeviceClass::vmsd Philippe Mathieu-Daudé
                   ` (28 more replies)
  0 siblings, 29 replies; 41+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-03 21:46 UTC (permalink / raw)
  To: qemu-devel
  Cc: Peter Maydell, Thomas Huth, Cornelia Huck, Richard Henderson,
	Laurent Vivier, Philippe Mathieu-Daudé,
	qemu-s390x, qemu-arm, qemu-ppc, Claudio Fontana, Paolo Bonzini,
	Alex Bennée

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-26 remove watchpoint code from user emulation
Patches 27-28 remove USER_ONLY #ifdef'ry from "cpu.h"

Since v3:
- SysemuCPUOps const (Richard)
- added missing xtensa #ifdef'ry
- added missing aa64/sve #ifdef'ry
- added Laurent R-b

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

Regards,

Phil.

Philippe Mathieu-Daud=C3=A9 (28):
  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
  target/xtensa: 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/arm/sve_helper.c          |  12 ++
 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/xtensa/helper.c           |   4 +
 target/ppc/translate_init.c.inc  |  20 +--
 60 files changed, 702 insertions(+), 453 deletions(-)
 create mode 100644 include/hw/core/sysemu-cpu-ops.h

--=20
2.26.2



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

end of thread, other threads:[~2021-05-15 19:27 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-03 21:46 [PATCH v4 00/28] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 01/28] target: Set CPUClass::vmsd instead of DeviceClass::vmsd Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 02/28] cpu: Un-inline cpu_get_phys_page_debug and cpu_asidx_from_attrs Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 03/28] cpu: Introduce cpu_virtio_is_big_endian() Philippe Mathieu-Daudé
2021-03-03 22:08   ` Michael S. Tsirkin
2021-03-03 22:15     ` Michael S. Tsirkin
2021-03-03 22:18       ` Richard Henderson
2021-03-03 22:24         ` Richard Henderson
2021-03-04  7:51     ` Greg Kurz
2021-04-22 10:33       ` Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 04/28] cpu: Directly use cpu_write_elf*() fallback handlers in place Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 05/28] cpu: Directly use get_paging_enabled() " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 06/28] cpu: Directly use get_memory_mapping() " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 07/28] cpu: Introduce SysemuCPUOps structure Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 08/28] cpu: Move CPUClass::vmsd to SysemuCPUOps Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 09/28] cpu: Move CPUClass::virtio_is_big_endian " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 10/28] cpu: Move CPUClass::get_crash_info " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 11/28] cpu: Move CPUClass::write_elf* " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 12/28] cpu: Move CPUClass::asidx_from_attrs " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 13/28] cpu: Move CPUClass::get_phys_page_debug " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 14/28] cpu: Move CPUClass::get_memory_mapping " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 15/28] cpu: Move CPUClass::get_paging_enabled " Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 16/28] cpu: Restrict "hw/core/sysemu-cpu-ops.h" to target/cpu.c Philippe Mathieu-Daudé
2021-03-03 22:27   ` Taylor Simpson
2021-03-03 21:46 ` [PATCH v4 17/28] linux-user: Remove dead code Philippe Mathieu-Daudé
2021-05-15 19:25   ` Laurent Vivier
2021-03-03 21:46 ` [PATCH v4 18/28] gdbstub: Remove watchpoint dead code in gdbserver_fork() Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 19/28] target/arm/internals: Fix code style for checkpatch.pl Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 20/28] target/arm: Move code blocks around Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 21/28] target/arm: Refactor some function bodies Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 22/28] target/arm: Restrict watchpoint code to system emulation Philippe Mathieu-Daudé
2021-03-03 22:40   ` Richard Henderson
2021-03-03 21:47 ` [PATCH v4 23/28] target/i386: " Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 24/28] target/xtensa: " Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 25/28] accel/tcg/cpu-exec: " Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 26/28] cpu: Remove watchpoint stubs for user emulation Philippe Mathieu-Daudé
2021-03-03 23:28   ` Richard Henderson
2021-03-03 21:47 ` [PATCH v4 27/28] cpu: Fix code style for checkpatch.pl Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 28/28] cpu: Move sysemu specific declarations to 'sysemu-cpu-ops.h' Philippe Mathieu-Daudé
2021-03-04  1:52 ` [PATCH v4 00/28] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode Richard Henderson
2021-04-22 10:39   ` Philippe Mathieu-Daudé

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).