qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 00/27] cpu: Introduce SysemuCPUOps structure, remove watchpoin


From: Philippe Mathieu-Daudé
Subject: [PATCH v3 00/27] cpu: Introduce SysemuCPUOps structure, remove watchpoints from usermode
Date: Tue, 2 Mar 2021 15:57:51 +0100

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]