[PULL 000/110] Single binary patches

Philippe Mathieu-Daudé posted 110 patches 1 week, 6 days ago
Failed in applying to current master (apply log)
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Paolo Bonzini <pbonzini@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefan Hajnoczi <stefanha@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, Song Gao <gaosong@loongson.cn>, Bibo Mao <maobibo@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Jason Wang <jasowang@redhat.com>, Andrew Melnychenko <andrew@daynix.com>, Yuri Benditovich <yuri.benditovich@daynix.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, Peter Maydell <peter.maydell@linaro.org>, "Michael S. Tsirkin" <mst@redhat.com>, Igor Mammedov <imammedo@redhat.com>, Ani Sinha <anisinha@redhat.com>, Joel Stanley <joel@jms.id.au>, Samuel Tardieu <sam@rfc1149.net>, Cornelia Huck <cohuck@redhat.com>, Eric Farman <farman@linux.ibm.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, "Collin L. Walling" <walling@linux.ibm.com>, Laurent Vivier <lvivier@redhat.com>, Amit Shah <amit@kernel.org>, David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.org>, Marcelo Tosatti <mtosatti@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Aurelien Jarno <aurelien@aurel32.net>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Chao Liu <chao.liu.zevorn@gmail.com>, Jason Herne <jjherne@linux.ibm.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Mark Kanda <mark.kanda@oracle.com>, Ben Chaney <bchaney@akamai.com>, Alex Williamson <alex@shazbot.org>, "Cédric Le Goater" <clg@redhat.com>, Zhao Liu <zhao1.liu@intel.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Eric Blake <eblake@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, John Snow <jsnow@redhat.com>, Hyman Huang <yong.huang@smartx.com>, Markus Armbruster <armbru@redhat.com>, Zhang Chen <zhangckid@gmail.com>, Li Zhijian <lizhijian@fujitsu.com>, Stefano Garzarella <sgarzare@redhat.com>, Michael Rolnik <mrolnik@gmail.com>, Brian Cain <brian.cain@oss.qualcomm.com>, Helge Deller <deller@gmx.de>, Aleksandar Rikalo <arikalo@gmail.com>, Huacai Chen <chenhuacai@kernel.org>, Stafford Horne <shorne@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Gautam Gala <ggala@linux.ibm.com>, Artyom Tarasenko <atar4qemu@gmail.com>, Max Filippov <jcmvbkbc@gmail.com>
MAINTAINERS                                   |   16 +-
docs/devel/loads-stores.rst                   |   21 +-
configs/targets/loongarch64-softmmu.mak       |    1 +
meson.build                                   |   30 +-
include/accel/tcg/cpu-ldst.h                  |   33 +-
include/hw/core/cpu.h                         |    6 -
include/hw/core/sysemu-cpu-ops.h              |   14 +
include/hw/ppc/spapr_ovec.h                   |    2 +-
include/hw/s390x/storage-attributes.h         |    4 -
include/hw/s390x/storage-keys.h               |    3 -
include/migration/cpu.h                       |   32 -
include/monitor/hmp-completion.h              |   40 +
include/monitor/hmp-target.h                  |   50 -
include/monitor/hmp.h                         |   43 +-
include/monitor/monitor.h                     |    1 -
.../qemu/base-arch-defs.h                     |   10 +-
include/qemu/typedefs.h                       |    1 +
include/system/kvm_xen.h                      |    2 +
include/tcg/tcg-op-mem.h                      |    2 +
monitor/monitor-internal.h                    |   13 +-
target/alpha/cpu.h                            |    1 -
target/arm/cpu.h                              |    1 -
target/avr/cpu.h                              |    1 -
target/hexagon/cpu.h                          |    3 +-
target/hexagon/mmvec/mmvec.h                  |    3 +
target/hppa/cpu.h                             |    2 +-
target/i386/cpu.h                             |   10 +-
target/loongarch/cpu.h                        |    1 -
target/m68k/cpu.h                             |    1 -
target/microblaze/cpu.h                       |    8 -
target/mips/cpu.h                             |    8 +-
target/mips/helper.h                          |    4 +-
target/mips/internal.h                        |   14 +-
target/or1k/cpu.h                             |    1 -
target/ppc/cpu.h                              |    2 +-
target/ppc/mmu-hash32.h                       |   32 -
target/riscv/cpu.h                            |    2 +-
target/riscv/debug.h                          |    1 +
target/riscv/internals.h                      |    3 +
target/riscv/pmp.h                            |    1 +
target/rx/cpu.h                               |    1 -
target/s390x/cpu.h                            |    1 -
target/s390x/tcg/tcg_s390x.h                  |    3 +
target/sh4/cpu.h                              |    1 -
target/sparc/cpu.h                            |    2 +-
target/tricore/cpu.h                          |    1 -
target/xtensa/cpu.h                           |    1 -
target/xtensa/overlay_tool.h                  |    5 +-
include/exec/helper-head.h.inc                |   15 +-
accel/accel-common.c                          |   13 -
block/blkdebug.c                              |    2 +-
block/blkio.c                                 |    2 +-
block/gluster.c                               |    4 +-
chardev/char-hmp-cmds.c                       |    1 +
ebpf/ebpf.c                                   |    2 +-
hw/arm/virt-acpi-build.c                      |    2 +-
hw/char/cmsdk-apb-uart.c                      |    5 +-
hw/char/nrf51_uart.c                          |    5 +-
hw/char/serial.c                              |    6 +-
hw/char/stm32l4x5_usart.c                     |    5 +-
hw/char/terminal3270.c                        |    5 +-
hw/char/virtio-console.c                      |   10 +-
hw/i386/kvm/xen-stubs.c                       |   12 +
hw/i386/sgx-hmp-stub.c                        |   16 +
hw/i386/sgx-stub.c                            |    6 -
hw/i386/sgx.c                                 |    1 -
hw/i386/xen/xen-hvm.c                         |    4 +-
hw/mips/malta.c                               |    4 +-
hw/misc/mips_cpc.c                            |    4 +-
hw/misc/mos6522-stub.c                        |   16 +
hw/misc/riscv_cmgcr.c                         |    1 +
hw/pci/pci.c                                  |    2 +-
hw/ppc/spapr.c                                |    2 +-
hw/ppc/spapr_events.c                         |    4 +-
hw/riscv/boot.c                               |    9 +-
hw/riscv/riscv-iommu.c                        |    2 +-
hw/s390x/s390-skeys.c                         |    2 +
hw/s390x/s390-stattrib.c                      |    2 +
hw/usb/redirect.c                             |    9 +-
hw/vfio/cpr-legacy.c                          |    2 +-
hw/vfio/listener.c                            |    4 +-
hw/xen/xen_pt_config_init.c                   |    4 +-
io/channel-websock.c                          |   21 +-
migration/block-dirty-bitmap.c                |    2 +-
migration/dirtyrate.c                         |    4 +-
migration/migration-hmp-cmds.c                |    1 +
monitor/hmp-cmds.c                            |   41 +-
monitor/hmp-target.c                          |  124 --
monitor/hmp.c                                 |   45 +-
net/colo-compare.c                            |    4 +-
net/net-hmp-cmds.c                            |    1 +
net/net.c                                     |    2 +-
net/passt.c                                   |    8 +-
net/stream.c                                  |   15 +-
net/stream_data.c                             |    5 +-
net/vhost-user.c                              |    8 +-
qom/qom-hmp-cmds.c                            |    1 +
stubs/hmp-cmd-info_mem.c                      |   12 +
stubs/hmp-cmd-info_sev.c                      |   16 +
stubs/hmp-cmd-info_tlb.c                      |   12 +
stubs/hmp-cmds-hw-s390x.c                     |   15 +
stubs/hmp-cmds-target-i386.c                  |   13 +
stubs/{monitor-arm-gic.c => qmp-arm-gic.c}    |    0
...or-cpu-s390x-kvm.c => qmp-cpu-s390x-kvm.c} |    0
.../{monitor-cpu-s390x.c => qmp-cpu-s390x.c}  |    0
stubs/{monitor-cpu.c => qmp-cpu.c}            |    0
stubs/{monitor-i386-rtc.c => qmp-i386-rtc.c}  |    0
stubs/{monitor-i386-sev.c => qmp-i386-sev.c}  |    0
stubs/{monitor-i386-sgx.c => qmp-i386-sgx.c}  |    0
stubs/{monitor-i386-xen.c => qmp-i386-xen.c}  |    0
stubs/target-get-monitor-def.c                |   29 -
stubs/target-monitor-defs.c                   |    7 -
system/arch_init.c                            |    2 +-
system/qdev-monitor.c                         |    3 +-
system/runstate-hmp-cmds.c                    |    1 +
system/vl.c                                   |   41 +-
target-info-stub.c                            |    1 +
target/avr/machine.c                          |    3 +-
target/i386/cpu-apic.c                        |    1 -
target/i386/cpu.c                             |   29 +
target/i386/kvm/tdx-quote-generator.c         |    5 +-
target/i386/machine.c                         |    2 +-
target/i386/monitor.c                         |   26 -
target/i386/sev-system-stub.c                 |    6 -
target/i386/sev.c                             |    1 -
target/loongarch/cpu_helper.c                 |   13 +-
target/loongarch/machine.c                    |    2 +-
target/loongarch/tcg/tlb_helper.c             |   10 +-
target/m68k/cpu.c                             |   18 +
target/m68k/m68k-semi.c                       |    2 +-
target/m68k/monitor.c                         |   22 -
target/microblaze/cpu.c                       |    6 +-
target/microblaze/op_helper.c                 |    2 +-
target/microblaze/translate.c                 |   11 +-
target/mips/cpu.c                             |   18 +-
target/mips/system/cp0_timer.c                |   12 +-
target/mips/system/machine.c                  |   16 +-
target/mips/tcg/lcsr_translate.c              |   16 +-
target/mips/tcg/ldst_helper.c                 |  101 +-
target/mips/tcg/loong_translate.c             |   92 +-
target/mips/tcg/mxu_translate.c               | 1954 ++++++++---------
target/mips/tcg/octeon_translate.c            |   60 +-
target/mips/tcg/system/cp0_helper.c           |   63 +-
target/mips/tcg/system/tlb_helper.c           |   25 +-
target/mips/tcg/translate.c                   |   25 +-
target/mips/tcg/tx79_translate.c              |   14 +-
target/ppc/machine.c                          |    1 +
target/ppc/mmu-hash32.c                       |   14 +
target/ppc/monitor.c                          |    2 -
target/riscv/cpu.c                            |    1 +
target/riscv/monitor.c                        |   12 +-
target/s390x/kvm/stsi-topology.c              |    2 +-
target/s390x/tcg/crypto_helper.c              |   80 +-
target/s390x/tcg/misc_helper.c                |    7 +-
target/s390x/tcg/translate.c                  |    6 +-
target/s390x/tcg/vec_helper.c                 |   34 +-
target/sh4/monitor.c                          |    1 -
target/sparc/cpu.c                            |   19 +
target/sparc/machine.c                        |   24 +-
target/sparc/monitor.c                        |   19 -
target/xtensa/cpu.c                           |    1 +
target/xtensa/monitor.c                       |    1 -
trace/trace-hmp-cmds.c                        |    1 +
ui/dbus-clipboard.c                           |    6 +-
ui/input-barrier.c                            |    6 +-
ui/ui-hmp-cmds.c                              |    1 +
ui/vnc-auth-vencrypt.c                        |    6 +-
ui/vnc-ws.c                                   |   12 +-
target/mips/cpu-defs.c.inc                    |   10 +-
target/mips/tcg/micromips_translate.c.inc     |   20 +-
target/mips/tcg/mips16e_translate.c.inc       |    8 +-
target/mips/tcg/nanomips_translate.c.inc      |    5 +-
hmp-commands-info.hx                          |   26 +-
hmp-commands.hx                               |   13 +-
hw/i386/meson.build                           |    1 +
hw/misc/meson.build                           |    3 +-
migration/meson.build                         |    2 +-
monitor/meson.build                           |    5 +-
scripts/checkpatch.pl                         |    4 +-
stubs/meson.build                             |   23 +-
target/arm/meson.build                        |    8 +-
target/arm/tcg/meson.build                    |    2 +-
target/avr/meson.build                        |    3 +-
target/loongarch/meson.build                  |    2 +-
target/microblaze/meson.build                 |   12 +-
target/s390x/kvm/meson.build                  |    2 +-
target/s390x/meson.build                      |   25 +-
target/s390x/tcg/meson.build                  |    8 +-
188 files changed, 2018 insertions(+), 2030 deletions(-)
create mode 100644 include/monitor/hmp-completion.h
delete mode 100644 include/monitor/hmp-target.h
rename system/arch_init.h => include/qemu/base-arch-defs.h (92%)
create mode 100644 hw/i386/sgx-hmp-stub.c
create mode 100644 hw/misc/mos6522-stub.c
delete mode 100644 monitor/hmp-target.c
create mode 100644 stubs/hmp-cmd-info_mem.c
create mode 100644 stubs/hmp-cmd-info_sev.c
create mode 100644 stubs/hmp-cmd-info_tlb.c
create mode 100644 stubs/hmp-cmds-hw-s390x.c
create mode 100644 stubs/hmp-cmds-target-i386.c
rename stubs/{monitor-arm-gic.c => qmp-arm-gic.c} (100%)
rename stubs/{monitor-cpu-s390x-kvm.c => qmp-cpu-s390x-kvm.c} (100%)
rename stubs/{monitor-cpu-s390x.c => qmp-cpu-s390x.c} (100%)
rename stubs/{monitor-cpu.c => qmp-cpu.c} (100%)
rename stubs/{monitor-i386-rtc.c => qmp-i386-rtc.c} (100%)
rename stubs/{monitor-i386-sev.c => qmp-i386-sev.c} (100%)
rename stubs/{monitor-i386-sgx.c => qmp-i386-sgx.c} (100%)
rename stubs/{monitor-i386-xen.c => qmp-i386-xen.c} (100%)
delete mode 100644 stubs/target-get-monitor-def.c
delete mode 100644 stubs/target-monitor-defs.c
[PULL 000/110] Single binary patches
Posted by Philippe Mathieu-Daudé 1 week, 6 days ago
The following changes since commit a85c588d07f8d3345ccad38b22026569a04571d1:

  Merge tag 'pull-monitor-2026-05-05' of https://repo.or.cz/qemu/armbru into staging (2026-05-05 10:11:49 -0400)

are available in the Git repository at:

  https://github.com/philmd/qemu.git tags/single-binary-20260506

for you to fetch changes up to 1927b5ec6ef486b3dfaecb885c5f093f85f6a65f:

  system/vl: inline qemu_opts_parse_noisily() result checks (2026-05-06 15:52:32 +0200)

----------------------------------------------------------------
Various patches related to single binary effort:

- Reduce "exec/cpu-defs.h" inclusions
- Build various target specific files once
- Remove need of per-target monitor handlers
- Reduce target_ulong uses in migration code
- Reduce uses of legacy native endianness & ld/st_phys APIs
- Removed MIPSCPU::mvp memory leak
- Clear dangling GLib event source tag
- Remove pointless variable initialization in *FOREACH*() macro uses
- Few checkpatch.pl updates

The following spurious checkpatch.pl error being deliberately ignored:

  Checking "target/mips: Reduce CPUState scope when used with CPU_FOREACH()"
  ERROR: space prohibited after that '&' (ctx:WxW)
  #44: FILE: target/mips/internal.h:294:
  +            ((other_env->CP0_VPControl >> CP0VPCtl_DIS) & 1)) {
                                                           ^
----------------------------------------------------------------

Akihiko Odaki (1):
  scripts/checkpatch: Avoid false positive on empty blocks

Bernhard Beschow (1):
  scripts/checkpatch: Reject another license boilerplate pattern

Bin Guo (1):
  system/vl: inline qemu_opts_parse_noisily() result checks

Peter Maydell (3):
  target/mips: Move 'mvp' field from CPUMIPSState to MIPSCPU
  target/mips: Free mvp in unrealize
  target/mips: Move count_clock to MIPSCPU struct

Philippe Mathieu-Daudé (100):
  monitor/hmp: : Include missing 'exec/target_long.h' header
  target-info: Include 'exec/cpu-defs.h' explicitly
  target/xtensa: Restrict inclusion of 'exec/cpu-defs.h' header
  target/hexagon: Include missing 'exec/target_long.h' header
  target/hppa: Include missing 'exec/target_long.h' header
  target/i386: Include missing 'exec/target_long.h' header
  target/m68k: Include missing 'exec/target_long.h' header
  target/mips: Include missing 'exec/target_long.h' header
  target/ppc: Include missing 'exec/target_long.h' header
  target/riscv: Include missing 'exec/target_long.h' header
  target/sparc: Include missing 'exec/target_long.h' header
  system/kvm_xen: Include missing 'exec/target_page.h' header
  target/s390x/tcg: Include missing '*cpu.h' headers
  exec/helper-head: Include missing 'exec/target_long.h' header
  target/cpu: Do not include 'exec/cpu-defs.h' anymore
  target/ppc/mmu: Remove unused hash32_store_hpte() helpers
  target/ppc/mmu: Restrict hash32_load_hpte() helpers scope
  target/sparc/monitor: Dump all registers as 32-bit
  monitor: Remove MonitorDef::type field and MD_TLONG / MD_I32
  monitor: Extract completion declarations to 'monitor/hmp-completion.h'
  target/loongarch: Replace legacy ldq_le_phys() ->
    address_space_ldq_le()
  configs/targets: Restrict the legacy ldst_phys() API on LoongArch64
  target/loongarch: Avoid target-specific migration headers in machine.c
  target/avr: Avoid target-specific migration headers in machine.c
  migration: Revert "Add VMSTATE_UINTTL_2DARRAY()"
  migration: Remove unused target-specific macros
  target/sparc: Inline qemu_get/put_betl()
  target/mips: Inline qemu_get/put_betls()
  target/i386: Expand VMSTATE_UINTTL_SUB_ARRAY for APX registers
  target/sparc: Replace VMSTATE_VARRAY_MULTIPLY -> VMSTATE_UINTTL_ARRAY
  cpus: Remove CPUClass::init_accel_cpu() left-over hook
  target/i386: Replace target_ulong -> uint64_t for TARGET_X86_64
  target/mips: Pass MemOpIdx argument to Load/Store Multiple helpers
  target/mips: Remove unnecessary target_ulong uses in LD/ST Multiple
  target/mips: Inline cpu_ld/st_mmuidx_ra() calls in LD/ST Multiple
  target/mips: Check alignment for microMIPS pre-R6 LD/ST multiple
  stubs: Rename monitor* -> qmp* files
  monitor/meson: Use SPICE with migration HMP commands
  monitor: Restrict monitor_set_cpu() method scope
  monitor: Make 'info via' a generic command
  monitor: Make Xen emulation commands generic ones
  system: Expose 'arch_init.h' as 'qemu/base-arch-defs.h'
  monitor: Introduce HMPCommand::arch_bitmask field
  hw/s390x: Reduce 'monitor/monitor.h' inclusions
  monitor: Do not check TARGET_S390X to build s390x commands
  monitor: Do not check TARGET_I386 to build target/i386/ commands
  monitor: Do not check TARGET_I386 to build 'info sgx' command
  monitor: Do not check TARGET_I386 to build 'info sev' command
  monitor: Do not check TARGET_I386/RISCV to build 'info mem' command
  monitor: Do not check multiple TARGET_* to build 'info tlb' command
  cpus: Introduce SysemuCPUOps::monitor_get_register() hook
  target/riscv: Register target_get_monitor_def in SysemuCPUOps
  monitor: Remove target_get_monitor_def()
  monitor: Have MonitorDef::get_value() always return int64_t type
  monitor: Reduce target-specific methods further
  monitor: Remove 'monitor/hmp-target.h' header
  monitor: Forward-declare the MonitorDef type
  cpus: Introduce SysemuCPUOps::monitor_defs hook
  target/i386: Replace target_monitor_defs -> SysemuCPUOps::monitor_defs
  target/m68k: Replace target_monitor_defs -> SysemuCPUOps::monitor_defs
  target/sparc: Replace target_monitor_defs ->
    SysemuCPUOps::monitor_defs
  monitor: Remove target_monitor_defs()
  monitor: Merge hmp-target.c code within hmp-cmds.c
  monitor: Remove hmp_info_pic() left-over declaration
  target/mips: Inline cpu_ld{uw,l}_code() calls in
    set_badinstr_registers
  accel/tcg: Remove non-explicit endian cpu_ld*_code() wrappers
  target/mips: Expand TCGv type as 32-bit for XBurst MXU
  target/mips: Expand TCGv type for 64-bit extensions
  target/mips: Pass MemOpIdx argument to Linked Load/Store helpers
  target/mips: Inline cpu_ld/st_mmuidx_ra() calls in Atomic LD/ST
    helpers
  target/mips: Inline translator_ld[uw,l,q]() calls
  target/mips: Remove last MO_TE use
  meson: Allow building with empty target_arch[] source set
  tcg: Include missing 'tcg/tcg-op-common.h' header in 'tcg-op-mem.h'
  target/microblaze: Fix endianness used to disassemble
  target/microblaze: Replace translator_ldl_swap() ->
    translator_ldl_end()
  target/microblaze: Introduce common system/user meson source set
  target/microblaze: Compile helper.c as common unit
  target/microblaze: Compile op_helper.c as common unit
  target/microblaze: Compile cpu.c as common unit
  target/microblaze: Include missing cpu-mmu-index.h header in
    translate.c
  target/microblaze: Compile translate.c as common unit
  target/s390x: Introduce common system/user meson source set
  target/s390x: Compile few files as common unit
  target/s390x: Compile translate.c as common unit
  target/s390x: Compile vec_helper.c as common unit
  target/s390x: Have MSA helper pass a mmu_idx argument
  target/s390x: Compile crypto_helper.c as common unit
  target/s390x: Replace cpu_stb_data_ra -> cpu_stb_mmu in STFLE opcode
  target/riscv: Iterate vCPUs using CPU_FOREACH() macro
  target/mips: Reduce CPUState scope when used with CPU_FOREACH()
  target/mips: Do not initialize variable used by CPU_FOREACH macro
  target/s390x: Do not compile KVM stubs for linux-user binary
  io: Clear dangling GLib event source tag
  io: use g_clear_handle_id() for GSource cleanup
  cocci: Do not initialize variable used by QLIST_FOREACH macro
  cocci: Do not initialize variable used by QSLIST_FOREACH macro
  cocci: Do not initialize variable used by QSIMPLEQ_FOREACH macro
  cocci: Do not initialize variable used by QTAILQ_FOREACH macro
  cocci: Do not initialize variable used by RAMBLOCK_FOREACH* macro

Pierrick Bouvier (4):
  hw/misc/allwinner-cpucfg.c: make compilation unit common
  meson.build: define stubs library per target base architecture
  target/arm: define stub library
  target/xtensa/core: register types using type_init

 MAINTAINERS                                   |   16 +-
 docs/devel/loads-stores.rst                   |   21 +-
 configs/targets/loongarch64-softmmu.mak       |    1 +
 meson.build                                   |   30 +-
 include/accel/tcg/cpu-ldst.h                  |   33 +-
 include/hw/core/cpu.h                         |    6 -
 include/hw/core/sysemu-cpu-ops.h              |   14 +
 include/hw/ppc/spapr_ovec.h                   |    2 +-
 include/hw/s390x/storage-attributes.h         |    4 -
 include/hw/s390x/storage-keys.h               |    3 -
 include/migration/cpu.h                       |   32 -
 include/monitor/hmp-completion.h              |   40 +
 include/monitor/hmp-target.h                  |   50 -
 include/monitor/hmp.h                         |   43 +-
 include/monitor/monitor.h                     |    1 -
 .../qemu/base-arch-defs.h                     |   10 +-
 include/qemu/typedefs.h                       |    1 +
 include/system/kvm_xen.h                      |    2 +
 include/tcg/tcg-op-mem.h                      |    2 +
 monitor/monitor-internal.h                    |   13 +-
 target/alpha/cpu.h                            |    1 -
 target/arm/cpu.h                              |    1 -
 target/avr/cpu.h                              |    1 -
 target/hexagon/cpu.h                          |    3 +-
 target/hexagon/mmvec/mmvec.h                  |    3 +
 target/hppa/cpu.h                             |    2 +-
 target/i386/cpu.h                             |   10 +-
 target/loongarch/cpu.h                        |    1 -
 target/m68k/cpu.h                             |    1 -
 target/microblaze/cpu.h                       |    8 -
 target/mips/cpu.h                             |    8 +-
 target/mips/helper.h                          |    4 +-
 target/mips/internal.h                        |   14 +-
 target/or1k/cpu.h                             |    1 -
 target/ppc/cpu.h                              |    2 +-
 target/ppc/mmu-hash32.h                       |   32 -
 target/riscv/cpu.h                            |    2 +-
 target/riscv/debug.h                          |    1 +
 target/riscv/internals.h                      |    3 +
 target/riscv/pmp.h                            |    1 +
 target/rx/cpu.h                               |    1 -
 target/s390x/cpu.h                            |    1 -
 target/s390x/tcg/tcg_s390x.h                  |    3 +
 target/sh4/cpu.h                              |    1 -
 target/sparc/cpu.h                            |    2 +-
 target/tricore/cpu.h                          |    1 -
 target/xtensa/cpu.h                           |    1 -
 target/xtensa/overlay_tool.h                  |    5 +-
 include/exec/helper-head.h.inc                |   15 +-
 accel/accel-common.c                          |   13 -
 block/blkdebug.c                              |    2 +-
 block/blkio.c                                 |    2 +-
 block/gluster.c                               |    4 +-
 chardev/char-hmp-cmds.c                       |    1 +
 ebpf/ebpf.c                                   |    2 +-
 hw/arm/virt-acpi-build.c                      |    2 +-
 hw/char/cmsdk-apb-uart.c                      |    5 +-
 hw/char/nrf51_uart.c                          |    5 +-
 hw/char/serial.c                              |    6 +-
 hw/char/stm32l4x5_usart.c                     |    5 +-
 hw/char/terminal3270.c                        |    5 +-
 hw/char/virtio-console.c                      |   10 +-
 hw/i386/kvm/xen-stubs.c                       |   12 +
 hw/i386/sgx-hmp-stub.c                        |   16 +
 hw/i386/sgx-stub.c                            |    6 -
 hw/i386/sgx.c                                 |    1 -
 hw/i386/xen/xen-hvm.c                         |    4 +-
 hw/mips/malta.c                               |    4 +-
 hw/misc/mips_cpc.c                            |    4 +-
 hw/misc/mos6522-stub.c                        |   16 +
 hw/misc/riscv_cmgcr.c                         |    1 +
 hw/pci/pci.c                                  |    2 +-
 hw/ppc/spapr.c                                |    2 +-
 hw/ppc/spapr_events.c                         |    4 +-
 hw/riscv/boot.c                               |    9 +-
 hw/riscv/riscv-iommu.c                        |    2 +-
 hw/s390x/s390-skeys.c                         |    2 +
 hw/s390x/s390-stattrib.c                      |    2 +
 hw/usb/redirect.c                             |    9 +-
 hw/vfio/cpr-legacy.c                          |    2 +-
 hw/vfio/listener.c                            |    4 +-
 hw/xen/xen_pt_config_init.c                   |    4 +-
 io/channel-websock.c                          |   21 +-
 migration/block-dirty-bitmap.c                |    2 +-
 migration/dirtyrate.c                         |    4 +-
 migration/migration-hmp-cmds.c                |    1 +
 monitor/hmp-cmds.c                            |   41 +-
 monitor/hmp-target.c                          |  124 --
 monitor/hmp.c                                 |   45 +-
 net/colo-compare.c                            |    4 +-
 net/net-hmp-cmds.c                            |    1 +
 net/net.c                                     |    2 +-
 net/passt.c                                   |    8 +-
 net/stream.c                                  |   15 +-
 net/stream_data.c                             |    5 +-
 net/vhost-user.c                              |    8 +-
 qom/qom-hmp-cmds.c                            |    1 +
 stubs/hmp-cmd-info_mem.c                      |   12 +
 stubs/hmp-cmd-info_sev.c                      |   16 +
 stubs/hmp-cmd-info_tlb.c                      |   12 +
 stubs/hmp-cmds-hw-s390x.c                     |   15 +
 stubs/hmp-cmds-target-i386.c                  |   13 +
 stubs/{monitor-arm-gic.c => qmp-arm-gic.c}    |    0
 ...or-cpu-s390x-kvm.c => qmp-cpu-s390x-kvm.c} |    0
 .../{monitor-cpu-s390x.c => qmp-cpu-s390x.c}  |    0
 stubs/{monitor-cpu.c => qmp-cpu.c}            |    0
 stubs/{monitor-i386-rtc.c => qmp-i386-rtc.c}  |    0
 stubs/{monitor-i386-sev.c => qmp-i386-sev.c}  |    0
 stubs/{monitor-i386-sgx.c => qmp-i386-sgx.c}  |    0
 stubs/{monitor-i386-xen.c => qmp-i386-xen.c}  |    0
 stubs/target-get-monitor-def.c                |   29 -
 stubs/target-monitor-defs.c                   |    7 -
 system/arch_init.c                            |    2 +-
 system/qdev-monitor.c                         |    3 +-
 system/runstate-hmp-cmds.c                    |    1 +
 system/vl.c                                   |   41 +-
 target-info-stub.c                            |    1 +
 target/avr/machine.c                          |    3 +-
 target/i386/cpu-apic.c                        |    1 -
 target/i386/cpu.c                             |   29 +
 target/i386/kvm/tdx-quote-generator.c         |    5 +-
 target/i386/machine.c                         |    2 +-
 target/i386/monitor.c                         |   26 -
 target/i386/sev-system-stub.c                 |    6 -
 target/i386/sev.c                             |    1 -
 target/loongarch/cpu_helper.c                 |   13 +-
 target/loongarch/machine.c                    |    2 +-
 target/loongarch/tcg/tlb_helper.c             |   10 +-
 target/m68k/cpu.c                             |   18 +
 target/m68k/m68k-semi.c                       |    2 +-
 target/m68k/monitor.c                         |   22 -
 target/microblaze/cpu.c                       |    6 +-
 target/microblaze/op_helper.c                 |    2 +-
 target/microblaze/translate.c                 |   11 +-
 target/mips/cpu.c                             |   18 +-
 target/mips/system/cp0_timer.c                |   12 +-
 target/mips/system/machine.c                  |   16 +-
 target/mips/tcg/lcsr_translate.c              |   16 +-
 target/mips/tcg/ldst_helper.c                 |  101 +-
 target/mips/tcg/loong_translate.c             |   92 +-
 target/mips/tcg/mxu_translate.c               | 1954 ++++++++---------
 target/mips/tcg/octeon_translate.c            |   60 +-
 target/mips/tcg/system/cp0_helper.c           |   63 +-
 target/mips/tcg/system/tlb_helper.c           |   25 +-
 target/mips/tcg/translate.c                   |   25 +-
 target/mips/tcg/tx79_translate.c              |   14 +-
 target/ppc/machine.c                          |    1 +
 target/ppc/mmu-hash32.c                       |   14 +
 target/ppc/monitor.c                          |    2 -
 target/riscv/cpu.c                            |    1 +
 target/riscv/monitor.c                        |   12 +-
 target/s390x/kvm/stsi-topology.c              |    2 +-
 target/s390x/tcg/crypto_helper.c              |   80 +-
 target/s390x/tcg/misc_helper.c                |    7 +-
 target/s390x/tcg/translate.c                  |    6 +-
 target/s390x/tcg/vec_helper.c                 |   34 +-
 target/sh4/monitor.c                          |    1 -
 target/sparc/cpu.c                            |   19 +
 target/sparc/machine.c                        |   24 +-
 target/sparc/monitor.c                        |   19 -
 target/xtensa/cpu.c                           |    1 +
 target/xtensa/monitor.c                       |    1 -
 trace/trace-hmp-cmds.c                        |    1 +
 ui/dbus-clipboard.c                           |    6 +-
 ui/input-barrier.c                            |    6 +-
 ui/ui-hmp-cmds.c                              |    1 +
 ui/vnc-auth-vencrypt.c                        |    6 +-
 ui/vnc-ws.c                                   |   12 +-
 target/mips/cpu-defs.c.inc                    |   10 +-
 target/mips/tcg/micromips_translate.c.inc     |   20 +-
 target/mips/tcg/mips16e_translate.c.inc       |    8 +-
 target/mips/tcg/nanomips_translate.c.inc      |    5 +-
 hmp-commands-info.hx                          |   26 +-
 hmp-commands.hx                               |   13 +-
 hw/i386/meson.build                           |    1 +
 hw/misc/meson.build                           |    3 +-
 migration/meson.build                         |    2 +-
 monitor/meson.build                           |    5 +-
 scripts/checkpatch.pl                         |    4 +-
 stubs/meson.build                             |   23 +-
 target/arm/meson.build                        |    8 +-
 target/arm/tcg/meson.build                    |    2 +-
 target/avr/meson.build                        |    3 +-
 target/loongarch/meson.build                  |    2 +-
 target/microblaze/meson.build                 |   12 +-
 target/s390x/kvm/meson.build                  |    2 +-
 target/s390x/meson.build                      |   25 +-
 target/s390x/tcg/meson.build                  |    8 +-
 188 files changed, 2018 insertions(+), 2030 deletions(-)
 create mode 100644 include/monitor/hmp-completion.h
 delete mode 100644 include/monitor/hmp-target.h
 rename system/arch_init.h => include/qemu/base-arch-defs.h (92%)
 create mode 100644 hw/i386/sgx-hmp-stub.c
 create mode 100644 hw/misc/mos6522-stub.c
 delete mode 100644 monitor/hmp-target.c
 create mode 100644 stubs/hmp-cmd-info_mem.c
 create mode 100644 stubs/hmp-cmd-info_sev.c
 create mode 100644 stubs/hmp-cmd-info_tlb.c
 create mode 100644 stubs/hmp-cmds-hw-s390x.c
 create mode 100644 stubs/hmp-cmds-target-i386.c
 rename stubs/{monitor-arm-gic.c => qmp-arm-gic.c} (100%)
 rename stubs/{monitor-cpu-s390x-kvm.c => qmp-cpu-s390x-kvm.c} (100%)
 rename stubs/{monitor-cpu-s390x.c => qmp-cpu-s390x.c} (100%)
 rename stubs/{monitor-cpu.c => qmp-cpu.c} (100%)
 rename stubs/{monitor-i386-rtc.c => qmp-i386-rtc.c} (100%)
 rename stubs/{monitor-i386-sev.c => qmp-i386-sev.c} (100%)
 rename stubs/{monitor-i386-sgx.c => qmp-i386-sgx.c} (100%)
 rename stubs/{monitor-i386-xen.c => qmp-i386-xen.c} (100%)
 delete mode 100644 stubs/target-get-monitor-def.c
 delete mode 100644 stubs/target-monitor-defs.c

-- 
2.53.0


Re: [PULL 000/110] Single binary patches
Posted by Stefan Hajnoczi 1 week, 6 days ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/11.1 for any user-visible changes.