[PULL 00/70] Single binary patches for 2026-02-26

Philippe Mathieu-Daudé posted 70 patches 1 month, 2 weeks ago
Failed in applying to current master (apply log)
Maintainers: Pierrick Bouvier <pierrick.bouvier@linaro.org>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Laurent Vivier <laurent@vivier.eu>, Michael Rolnik <mrolnik@gmail.com>, "Alex Bennée" <alex.bennee@linaro.org>, Stafford Horne <shorne@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Artyom Tarasenko <atar4qemu@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, Song Gao <gaosong@loongson.cn>, Bibo Mao <maobibo@loongson.cn>, Jiaxun Yang <jiaxun.yang@flygoat.com>, Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Paolo Bonzini <pbonzini@redhat.com>, Fam Zheng <fam@euphon.net>, Eduardo Habkost <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, "Dr. David Alan Gilbert" <dave@treblig.org>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Brian Cain <brian.cain@oss.qualcomm.com>, Marcelo Tosatti <mtosatti@redhat.com>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Aurelien Jarno <aurelien@aurel32.net>, Aleksandar Rikalo <arikalo@gmail.com>, Nicholas Piggin <npiggin@gmail.com>, Chinmay Rath <rathc@linux.ibm.com>, Yoshinori Sato <yoshinori.sato@nifty.com>, Thomas Huth <thuth@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Bastian Koppelmann <kbastian@rumtueddeln.de>, Max Filippov <jcmvbkbc@gmail.com>
MAINTAINERS                                   |   4 +-
configs/targets/or1k-linux-user.mak           |   1 +
configs/targets/or1k-softmmu.mak              |   1 +
configs/targets/sparc-linux-user.mak          |   1 +
configs/targets/sparc-softmmu.mak             |   1 +
configs/targets/sparc32plus-linux-user.mak    |   1 +
configs/targets/sparc64-linux-user.mak        |   2 +-
configs/targets/sparc64-softmmu.mak           |   2 +-
meson.build                                   |   6 +-
hw/riscv/riscv-iommu.h                        |   1 +
include/exec/cpu-defs.h                       |   3 -
include/exec/page-vary.h                      |  19 +-
include/gdbstub/helpers.h                     |  28 +-
include/hw/core/cpu.h                         |   4 +-
include/hw/loongarch/boot.h                   |   3 +-
include/qemu/target-info-impl.h               |   7 +
include/qemu/target-info.h                    |   7 +
include/system/arch_init.h                    |  30 --
system/arch_init.h                            |  50 +++
target/alpha/cpu-param.h                      |   3 -
target/arm/cpu-param.h                        |   2 -
target/avr/cpu-param.h                        |   1 -
target/hexagon/cpu-param.h                    |   1 -
target/hppa/cpu-param.h                       |   3 -
target/hppa/cpu.h                             |   1 +
target/i386/cpu-param.h                       |   2 -
target/i386/tcg/helper-tcg.h                  |   2 -
target/loongarch/cpu-mmu.h                    |   1 +
target/loongarch/cpu-param.h                  |   1 -
target/loongarch/internals.h                  |   1 -
target/m68k/cpu-param.h                       |   1 -
target/microblaze/cpu-param.h                 |   2 -
target/mips/cpu-param.h                       |   2 -
target/or1k/cpu-param.h                       |   1 -
target/ppc/cpu-param.h                        |   7 -
target/ppc/cpu.h                              |   2 -
target/riscv/cpu-param.h                      |   2 -
target/rx/cpu-param.h                         |   1 -
target/s390x/cpu-param.h                      |   1 -
target/sh4/cpu-param.h                        |   1 -
target/sparc/cpu-param.h                      |   2 -
target/sparc/cpu.h                            |   1 +
target/tricore/cpu-param.h                    |   1 -
target/xtensa/cpu-param.h                     |   1 -
configs/targets/aarch64-softmmu.c             |   3 +
configs/targets/arm-softmmu.c                 |   3 +
gdbstub/gdbstub.c                             |   1 +
hw/hppa/machine.c                             |   2 +-
hw/loongarch/boot.c                           |  28 +-
hw/loongarch/virt.c                           |   5 +-
hw/riscv/riscv-iommu-pci.c                    |   3 +
hw/riscv/riscv-iommu.c                        |   8 +-
hw/riscv/virt.c                               |   7 +
hw/scsi/scsi-disk.c                           |   4 +-
monitor/hmp.c                                 |  49 ++-
page-vary-common.c                            |  44 ++-
page-vary-system.c                            |  33 ++
page-vary-target.c                            |  81 -----
system/arch_init.c                            |   6 +-
target-info-stub.c                            |  15 +
target-info.c                                 |   5 +
target/alpha/cpu.c                            |   1 -
target/alpha/gdbstub.c                        |  27 +-
target/hexagon/gdbstub.c                      |  12 +-
target/hppa/mem_helper.c                      |  32 +-
target/i386/cpu.c                             |   9 +-
target/i386/gdbstub.c                         |  23 +-
target/i386/kvm/kvm.c                         |   3 +-
target/i386/monitor.c                         |  39 ---
target/loongarch/cpu_helper.c                 |  15 +-
target/loongarch/tcg/tlb_helper.c             |  12 +-
target/m68k/cpu.c                             |  13 +-
target/m68k/monitor.c                         |  18 -
target/mips/gdbstub.c                         |  14 +-
target/or1k/cpu.c                             |   2 +-
target/ppc/cpu_init.c                         |  10 -
target/ppc/gdbstub.c                          | 146 +-------
target/ppc/monitor.c                          |  25 ++
target/ppc/ppc-qmp-cmds.c                     | 148 +-------
target/riscv/gdbstub.c                        |  20 +-
target/riscv/monitor.c                        | 135 ++++++++
target/riscv/riscv-qmp-cmds.c                 | 150 ---------
target/rx/gdbstub.c                           |  20 +-
target/sh4/gdbstub.c                          |  32 +-
target/sparc/cpu.c                            |   7 +-
target/sparc/gdbstub.c                        | 317 +++++++++++-------
target/sparc/monitor.c                        | 107 ------
gdb-xml/avr-cpu.xml                           |   2 +-
gdb-xml/or1k-core.xml                         |  65 ++++
gdb-xml/sparc32-cp0.xml                       |  18 +
gdb-xml/sparc32-cpu.xml                       |  42 +++
gdb-xml/sparc32-fpu.xml                       |  42 +++
gdb-xml/sparc64-cp0.xml                       |  16 +
gdb-xml/sparc64-cpu.xml                       |  42 +++
gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} |  44 +--
scripts/feature_to_c.py                       |   7 +-
system/meson.build                            |   5 +-
target/alpha/meson.build                      |  14 +-
target/avr/meson.build                        |   5 +-
target/loongarch/meson.build                  |   9 +-
target/m68k/meson.build                       |   9 +-
target/microblaze/meson.build                 |  11 +-
target/or1k/meson.build                       |  23 +-
target/ppc/meson.build                        |   7 +-
target/rx/meson.build                         |   6 +-
target/s390x/meson.build                      |   3 +-
target/sh4/meson.build                        |  14 +-
target/tricore/meson.build                    |  10 +-
108 files changed, 1110 insertions(+), 1132 deletions(-)
delete mode 100644 include/system/arch_init.h
create mode 100644 system/arch_init.h
create mode 100644 page-vary-system.c
delete mode 100644 page-vary-target.c
create mode 100644 target/ppc/monitor.c
create mode 100644 gdb-xml/or1k-core.xml
create mode 100644 gdb-xml/sparc32-cp0.xml
create mode 100644 gdb-xml/sparc32-cpu.xml
create mode 100644 gdb-xml/sparc32-fpu.xml
create mode 100644 gdb-xml/sparc64-cp0.xml
create mode 100644 gdb-xml/sparc64-cpu.xml
rename gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} (59%)
[PULL 00/70] Single binary patches for 2026-02-26
Posted by Philippe Mathieu-Daudé 1 month, 2 weeks ago
The following changes since commit 6593154e7d65f61d8f9dbeb98224731b7137c53e:

  Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into staging (2026-02-24 18:41:04 +0000)

are available in the Git repository at:

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

for you to fetch changes up to c87bf20b072ebd26f2c4ff68f802ef0d69f72a46:

  page-vary: Build migration_legacy_page_bits as common code (2026-02-26 00:12:12 +0100)

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

- Remove TARGET_PHYS_ADDR_SPACE_BITS definition
- Remove MonitorDef register entries already provided by gdbstub XML
- Remove gdbstub ldtul*() macros
- Build various gdbstub.c files once
- Make qemu_arch_available() and page-vary common code
----------------------------------------------------------------

Alex Bennée (1):
  target/m68k: clean-up includes in cpu.c

Anton Johansson (7):
  target/hppa: Define PA[20|1X] physical address space size
  hw/hppa: Use hppa_abs_to_phys_pa1x()
  target/i386: Drop physical address range checks
  target/loongarch: Introduce loongarch_palen_mask()
  hw/loongarch: Use loongarch_palen_mask()
  hw/riscv: Set IOMMU PAS via property
  exec: Drop TARGET_PHYS_ADDR_SPACE_BITS

Daniel P. Berrangé (1):
  meson: don't access 'cxx' object without checking cpp lang

Philippe Mathieu-Daudé (56):
  target/ppc: Move user_only_helper.c to target_user_arch[] source set
  target/ppc: Remove PPC_DEBUG_SPR left-over comment
  target/i386: Inline GDB_FORCE_64 definition
  target/avr: Fix typo in gdb-xml feature name
  target/alpha: Document gdbstub register indexes
  target/riscv: Extract monitor-related code to monitor.c
  target/ppc: Fix CPUClass::gdb_num_core_regs value
  target/ppc: Remove dead code depending on USE_APPLE_GDB
  gdbstub: Make generated compound literal array size explicit
  gdbstub: Always infer gdb_num_core_regs when using XML file
  target/sparc: Introduce sparc_cpu_register_gdb_regs() stub
  target/sparc: Restore 'gdb-xml/sparc64-cp0.xml'
  target/sparc: Restore 'gdb-xml/sparc64-fpu.xml'
  target/sparc: Restore 'gdb-xml/sparc64-cpu.xml'
  target/sparc: Expose gdbstub registers to sparc32plus target
  target/sparc: Expose gdbstub registers to sparc32 targets
  monitor/hmp: Handle gdb-xml exposed registers via gdb_get_register()
  target/sparc: Remove MonitorDef register entries available via gdbstub
  target/i386: Remove MonitorDef register entries available via gdbstub
  target/m68k: Remove MonitorDef register entries available via gdbstub
  target/ppc: Remove MonitorDef register entries available via gdbstub
  target/ppc: Extract monitor-related code to monitor.c
  target/or1k: Use XML register definitions from GDB
  target/riscv: Remove empty target_monitor_defs() symbol
  target/sparc: Factor sparc_cpu_gdb_write_register() out
  target/ppc: Replace ldtul_p() -> ldn_p()
  target/mips: Replace ldtul_p() -> ldn_p()
  target/riscv: Replace ldtul_p() -> ldn_p()
  target/riscv: Remove unnecessary target_ulong type uses
  target/i386: Replace ldtul_p() -> ldn_p()
  target/i386: Expand 64-bit definitions when TARGET_LONG_BITS == 64
  gdbstub: Remove ldtul*() macros
  target/alpha: Expand gdb_get_regl() -> gdb_get_reg64()
  target/hexagon: Expand gdb_get_regl() -> gdb_get_reg32()
  target/rx: Expand gdb_get_regl() -> gdb_get_reg32()
  target/sh4: Expand gdb_get_regl() -> gdb_get_reg32()
  target/sparc: Expand gdb_get_regl() in gdb_get_rega()
  gdbstub/helpers: Convert gdb_get_regl() macro to inlined helper
  target/microblaze: Build 'gdbstub.c' once for system binaries
  target/sh4: Build 'monitor.c' once for system binaries
  target/sh4: Build 'gdbstub.c' once for system binaries
  target/or1k: Rename 'openrisc' -> 'or1k' in meson.build
  target/or1k: Build 'gdbstub.c' once for system single binary
  target/alpha: Build 'gdbstub.c' once for system single binary
  target/avr: Build 'gdbstub.c' once for system single binary
  target/loongarch: Build 'gdbstub.c' once for system single binary
  target/m68k: Build 'gdbstub.c' once for system single binary
  target/rx: Build 'gdbstub.c' once for system single binary
  target/s390x: Build 'gdbstub.c' once for system single binary
  target/tricore: Build 'gdbstub.c' once for system single binary
  qemu: Document qemu_arch_available() method
  qemu/target_info: Add target_s390x() helper
  hw/scsi/disk: Prefer target_s390x() over qemu_arch_available()
  system: Make qemu_arch_available() common code
  system: Reduce 'arch_init.h' scope
  page-vary: Expose TARGET_PAGE_BITS_MIN definition

Richard Henderson (5):
  target-info: Add page_bits_{init,vary}
  target-info: Move TARGET_PAGE_BITS sanity check
  page-vary: Build set_preferred_target_page_bits as common code
  page-vary: Build finalize_target_page_bits as common code
  page-vary: Build migration_legacy_page_bits as common code

 MAINTAINERS                                   |   4 +-
 configs/targets/or1k-linux-user.mak           |   1 +
 configs/targets/or1k-softmmu.mak              |   1 +
 configs/targets/sparc-linux-user.mak          |   1 +
 configs/targets/sparc-softmmu.mak             |   1 +
 configs/targets/sparc32plus-linux-user.mak    |   1 +
 configs/targets/sparc64-linux-user.mak        |   2 +-
 configs/targets/sparc64-softmmu.mak           |   2 +-
 meson.build                                   |   6 +-
 hw/riscv/riscv-iommu.h                        |   1 +
 include/exec/cpu-defs.h                       |   3 -
 include/exec/page-vary.h                      |  19 +-
 include/gdbstub/helpers.h                     |  28 +-
 include/hw/core/cpu.h                         |   4 +-
 include/hw/loongarch/boot.h                   |   3 +-
 include/qemu/target-info-impl.h               |   7 +
 include/qemu/target-info.h                    |   7 +
 include/system/arch_init.h                    |  30 --
 system/arch_init.h                            |  50 +++
 target/alpha/cpu-param.h                      |   3 -
 target/arm/cpu-param.h                        |   2 -
 target/avr/cpu-param.h                        |   1 -
 target/hexagon/cpu-param.h                    |   1 -
 target/hppa/cpu-param.h                       |   3 -
 target/hppa/cpu.h                             |   1 +
 target/i386/cpu-param.h                       |   2 -
 target/i386/tcg/helper-tcg.h                  |   2 -
 target/loongarch/cpu-mmu.h                    |   1 +
 target/loongarch/cpu-param.h                  |   1 -
 target/loongarch/internals.h                  |   1 -
 target/m68k/cpu-param.h                       |   1 -
 target/microblaze/cpu-param.h                 |   2 -
 target/mips/cpu-param.h                       |   2 -
 target/or1k/cpu-param.h                       |   1 -
 target/ppc/cpu-param.h                        |   7 -
 target/ppc/cpu.h                              |   2 -
 target/riscv/cpu-param.h                      |   2 -
 target/rx/cpu-param.h                         |   1 -
 target/s390x/cpu-param.h                      |   1 -
 target/sh4/cpu-param.h                        |   1 -
 target/sparc/cpu-param.h                      |   2 -
 target/sparc/cpu.h                            |   1 +
 target/tricore/cpu-param.h                    |   1 -
 target/xtensa/cpu-param.h                     |   1 -
 configs/targets/aarch64-softmmu.c             |   3 +
 configs/targets/arm-softmmu.c                 |   3 +
 gdbstub/gdbstub.c                             |   1 +
 hw/hppa/machine.c                             |   2 +-
 hw/loongarch/boot.c                           |  28 +-
 hw/loongarch/virt.c                           |   5 +-
 hw/riscv/riscv-iommu-pci.c                    |   3 +
 hw/riscv/riscv-iommu.c                        |   8 +-
 hw/riscv/virt.c                               |   7 +
 hw/scsi/scsi-disk.c                           |   4 +-
 monitor/hmp.c                                 |  49 ++-
 page-vary-common.c                            |  44 ++-
 page-vary-system.c                            |  33 ++
 page-vary-target.c                            |  81 -----
 system/arch_init.c                            |   6 +-
 target-info-stub.c                            |  15 +
 target-info.c                                 |   5 +
 target/alpha/cpu.c                            |   1 -
 target/alpha/gdbstub.c                        |  27 +-
 target/hexagon/gdbstub.c                      |  12 +-
 target/hppa/mem_helper.c                      |  32 +-
 target/i386/cpu.c                             |   9 +-
 target/i386/gdbstub.c                         |  23 +-
 target/i386/kvm/kvm.c                         |   3 +-
 target/i386/monitor.c                         |  39 ---
 target/loongarch/cpu_helper.c                 |  15 +-
 target/loongarch/tcg/tlb_helper.c             |  12 +-
 target/m68k/cpu.c                             |  13 +-
 target/m68k/monitor.c                         |  18 -
 target/mips/gdbstub.c                         |  14 +-
 target/or1k/cpu.c                             |   2 +-
 target/ppc/cpu_init.c                         |  10 -
 target/ppc/gdbstub.c                          | 146 +-------
 target/ppc/monitor.c                          |  25 ++
 target/ppc/ppc-qmp-cmds.c                     | 148 +-------
 target/riscv/gdbstub.c                        |  20 +-
 target/riscv/monitor.c                        | 135 ++++++++
 target/riscv/riscv-qmp-cmds.c                 | 150 ---------
 target/rx/gdbstub.c                           |  20 +-
 target/sh4/gdbstub.c                          |  32 +-
 target/sparc/cpu.c                            |   7 +-
 target/sparc/gdbstub.c                        | 317 +++++++++++-------
 target/sparc/monitor.c                        | 107 ------
 gdb-xml/avr-cpu.xml                           |   2 +-
 gdb-xml/or1k-core.xml                         |  65 ++++
 gdb-xml/sparc32-cp0.xml                       |  18 +
 gdb-xml/sparc32-cpu.xml                       |  42 +++
 gdb-xml/sparc32-fpu.xml                       |  42 +++
 gdb-xml/sparc64-cp0.xml                       |  16 +
 gdb-xml/sparc64-cpu.xml                       |  42 +++
 gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} |  44 +--
 scripts/feature_to_c.py                       |   7 +-
 system/meson.build                            |   5 +-
 target/alpha/meson.build                      |  14 +-
 target/avr/meson.build                        |   5 +-
 target/loongarch/meson.build                  |   9 +-
 target/m68k/meson.build                       |   9 +-
 target/microblaze/meson.build                 |  11 +-
 target/or1k/meson.build                       |  23 +-
 target/ppc/meson.build                        |   7 +-
 target/rx/meson.build                         |   6 +-
 target/s390x/meson.build                      |   3 +-
 target/sh4/meson.build                        |  14 +-
 target/tricore/meson.build                    |  10 +-
 108 files changed, 1110 insertions(+), 1132 deletions(-)
 delete mode 100644 include/system/arch_init.h
 create mode 100644 system/arch_init.h
 create mode 100644 page-vary-system.c
 delete mode 100644 page-vary-target.c
 create mode 100644 target/ppc/monitor.c
 create mode 100644 gdb-xml/or1k-core.xml
 create mode 100644 gdb-xml/sparc32-cp0.xml
 create mode 100644 gdb-xml/sparc32-cpu.xml
 create mode 100644 gdb-xml/sparc32-fpu.xml
 create mode 100644 gdb-xml/sparc64-cp0.xml
 create mode 100644 gdb-xml/sparc64-cpu.xml
 rename gdb-xml/{sparc64-core.xml => sparc64-fpu.xml} (59%)

-- 
2.52.0


Re: [PULL 00/70] Single binary patches for 2026-02-26
Posted by Peter Maydell 1 month, 2 weeks ago
On Wed, 25 Feb 2026 at 23:14, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> The following changes since commit 6593154e7d65f61d8f9dbeb98224731b7137c53e:
>
>   Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into staging (2026-02-24 18:41:04 +0000)
>
> are available in the Git repository at:
>
>   https://github.com/philmd/qemu.git tags/single-binary-20260226
>
> for you to fetch changes up to c87bf20b072ebd26f2c4ff68f802ef0d69f72a46:
>
>   page-vary: Build migration_legacy_page_bits as common code (2026-02-26 00:12:12 +0100)
>
> ----------------------------------------------------------------
> Various patches related to single binary effort:
>
> - Remove TARGET_PHYS_ADDR_SPACE_BITS definition
> - Remove MonitorDef register entries already provided by gdbstub XML
> - Remove gdbstub ldtul*() macros
> - Build various gdbstub.c files once
> - Make qemu_arch_available() and page-vary common code
> ----------------------------------------------------------------



Applied, thanks.

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

-- PMM