All of lore.kernel.org
 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é
  0 siblings, 0 replies; 79+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-03-03 21:46 UTC (permalink / raw)
  To: qemu-devel
  Cc: Claudio Fontana, qemu-arm, Peter Maydell, Paolo Bonzini,
	Richard Henderson, qemu-s390x, Thomas Huth, qemu-ppc,
	Laurent Vivier, Cornelia Huck, Alex Bennée,
	Philippe Mathieu-Daudé

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] 79+ messages in thread

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

Thread overview: 79+ 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 ` 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   ` 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   ` 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 21:46   ` Philippe Mathieu-Daudé
2021-03-03 22:08   ` Michael S. Tsirkin
2021-03-03 22:08     ` Michael S. Tsirkin
2021-03-03 22:15     ` Michael S. Tsirkin
2021-03-03 22:15       ` Michael S. Tsirkin
2021-03-03 22:18       ` Richard Henderson
2021-03-03 22:18         ` Richard Henderson
2021-03-03 22:24         ` Richard Henderson
2021-03-03 22:24           ` Richard Henderson
2021-03-04  7:51     ` Greg Kurz
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   ` 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   ` 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   ` Philippe Mathieu-Daudé
2021-03-03 21:46 ` [PATCH v4 07/28] cpu: Introduce SysemuCPUOps structure Philippe Mathieu-Daudé
2021-03-03 21:46   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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   ` 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 21:46   ` Philippe Mathieu-Daudé
2021-03-03 22:27   ` Taylor Simpson
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-03-03 21:46   ` Philippe Mathieu-Daudé
2021-05-15 19:25   ` Laurent Vivier
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   ` 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:46   ` 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   ` 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   ` 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 21:47   ` Philippe Mathieu-Daudé
2021-03-03 22:40   ` Richard Henderson
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   ` Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 24/28] target/xtensa: " Philippe Mathieu-Daudé
2021-03-03 21:47   ` Philippe Mathieu-Daudé
2021-03-03 21:47 ` [PATCH v4 25/28] accel/tcg/cpu-exec: " Philippe Mathieu-Daudé
2021-03-03 21:47   ` 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 21:47   ` Philippe Mathieu-Daudé
2021-03-03 23:28   ` Richard Henderson
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   ` 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-03 21:47   ` 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 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.