Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 868e210ace57b3ae5cf8820023e27d395312bf18
      
https://github.com/qemu/qemu/commit/868e210ace57b3ae5cf8820023e27d395312bf18
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c

  Log Message:
  -----------
  hw/s390x/ccw: Remove deprecated s390-ccw-virtio-5.0 machine

This machine has been supported for a period of more than 6 years.
According to our versioned machine support policy (see commit
ce80c4fa6ff "docs: document special exception for machine type
deprecation & removal") it can now be removed.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 231b4a035b39c81683cb07e0c0a302aabf13ac21
      
https://github.com/qemu/qemu/commit/231b4a035b39c81683cb07e0c0a302aabf13ac21
  Author: Cornelia Huck <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/m68k/virt.c
    M hw/ppc/spapr.c
    M hw/s390x/s390-virtio-ccw.c
    M include/hw/core/boards.h
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw: add compat machines for 11.0

Add 11.0 machine types for arm/i440fx/m68k/q35/s390x/spapr.

Signed-off-by: Cornelia Huck <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 0dcbba66de8e1688dc50348b8932579d654b05bb
      
https://github.com/qemu/qemu/commit/0dcbba66de8e1688dc50348b8932579d654b05bb
  Author: Thomas Huth <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M hw/s390x/s390-virtio-ccw.c
    M target/s390x/cpu.c
    M target/s390x/cpu.h

  Log Message:
  -----------
  hw/s390x: Un-inline the s390_do_cpu_*() functions

These functions are only called via their function pointer by using
the run_on_cpu() function, so it does not make sense to declare these
as "inline" functions. Move the functions from cpu.h to either cpu.c
(when they are still used in multiple places), or to s390-virtio-ccw.c
(when they are only called from that file).

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>


  Commit: 8930b09a49a6bcf4ec40581b68930c457c1858c8
      
https://github.com/qemu/qemu/commit/8930b09a49a6bcf4ec40581b68930c457c1858c8
  Author: Thomas Huth <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add util/s390x_pci_mmio.c to the S390 PCI section

s390x_pci_mmio.c currently shows up as unmaintained. Add it to
the S390 PCI section to make the right people aware of changes
to this file.

Reviewed-by: Matthew Rosato <[email protected]>
Reviewed-by: Farhan Ali <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>


  Commit: f0391eef7f191c32bc26951c3377a50d21ffc40c
      
https://github.com/qemu/qemu/commit/f0391eef7f191c32bc26951c3377a50d21ffc40c
  Author: Thomas Huth <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  MAINTAINERS: Add configs/targets/s390x-softmmu.mak to the S390 general section

Make sure that configs/targets/s390x-softmmu.mak is covered by
MAINTAINERS - the "S390 general architecture support" section seems
to be a good place for this.

Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>
Message-ID: <[email protected]>


  Commit: eb3d793d350722edee5bcd7c2f9f64d253432353
      
https://github.com/qemu/qemu/commit/eb3d793d350722edee5bcd7c2f9f64d253432353
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M hw/s390x/css.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/virtio-ccw.c

  Log Message:
  -----------
  hw/s390x: Use explicit big-endian LD/ST API

The S390x architecture uses big endianness. Directly use
the big-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_be_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' hw/s390x/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Halil Pasic <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 409cbb1a619b41ef5efe4c2046b3b7f64fdae9c8
      
https://github.com/qemu/qemu/commit/409cbb1a619b41ef5efe4c2046b3b7f64fdae9c8
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/cpu-system.c
    M target/s390x/kvm/kvm.c
    M target/s390x/mmu_helper.c
    M target/s390x/tcg/excp_helper.c
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  target/s390x: Use explicit big-endian LD/ST API

The S390x architecture uses big endianness. Directly use
the big-endian LD/ST API.

Mechanical change running:

  $ for a in uw w l q; do \
      sed -i -e "s/ld${a}_p(/ld${a}_be_p(/" \
        $(git grep -wlE '(ld|st)u?[wlq]_p' target/s390x/);
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 0fb6ad781cc4e8866282ab39612d7da6fa77406f
      
https://github.com/qemu/qemu/commit/0fb6ad781cc4e8866282ab39612d7da6fa77406f
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/gdbstub.c

  Log Message:
  -----------
  target/s390x: Replace gdb_get_regl() -> gdb_get_reg64()

We only build s390x targets as 64-bit:

  $ git grep BIT configs/targets/s390x-*
  configs/targets/s390x-linux-user.mak:6:TARGET_LONG_BITS=64
  configs/targets/s390x-softmmu.mak:5:TARGET_LONG_BITS=64

Therefore gdb_get_regl() expands to gdb_get_reg64(). Use
the latter which is more explicit.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 69da23130f21fd67e8857da772c1cfbb60c69da5
      
https://github.com/qemu/qemu/commit/69da23130f21fd67e8857da772c1cfbb60c69da5
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c
    M target/s390x/tcg/translate_vx.c.inc

  Log Message:
  -----------
  target/s390x: Replace MO_TE -> MO_BE

We only build the S390x target using big endianness order,
therefore the MO_TE definitions expand to the big endian
one. Use the latter which is more explicit.

Mechanical change running:

  $ sed -i -e s/MO_TE/MO_BE/ \
        $(git grep -wl MO_TE target/s390x/)

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 381a1fda5bfbe2318357dd3f27c2a7d1bc9a5cad
      
https://github.com/qemu/qemu/commit/381a1fda5bfbe2318357dd3f27c2a7d1bc9a5cad
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/tcg/mem_helper.c

  Log Message:
  -----------
  target/s390x: Inline cpu_ld{uw, l}_code() calls in EX opcode helper

In preparation of removing the cpu_lduw_code() and cpu_ldl_code()
wrappers, inline them.

Since S390x instructions are always stored in big-endian order,
replace MO_TE -> MO_BE.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: ee4dae6a332e773fa4f1f7e5f2a100aba54c8b3c
      
https://github.com/qemu/qemu/commit/ee4dae6a332e773fa4f1f7e5f2a100aba54c8b3c
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/vec_helper.c

  Log Message:
  -----------
  target/s390x: Use big-endian variant of cpu_ld/st_data*()

We only build the S390x target using big endianness order,
therefore the cpu_ld/st_data*() definitions expand to the
big endian declarations. Use the explicit big-endian variants.

Mechanical change running:

  $ tgt=s390x; \
    end=be; \
    for op in data mmuidx_ra; do \
      for ac in uw sw l q; do \
        sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
      for ac in w l q; do \
        sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \
                  $(git grep -l cpu_ target/${tgt}/); \
      done;
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Thomas Huth <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: f0853c25862d3b91584f7b763ead22796c818c28
      
https://github.com/qemu/qemu/commit/f0853c25862d3b91584f7b763ead22796c818c28
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M target/s390x/tcg/translate.c

  Log Message:
  -----------
  target/s390x: Inline translator_lduw() and translator_ldl()

translator_lduw() and translator_ldl() are defined in
"exec/translator.h" as:

  192 static inline uint16_t
  193 translator_lduw(CPUArchState *env, DisasContextBase *db, vaddr pc)
  194 {
  195     return translator_lduw_end(env, db, pc, MO_TE);
  196 }

  198 static inline uint32_t
  199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
  200 {
  201     return translator_ldl_end(env, db, pc, MO_TE);
  202 }

Directly use the inlined form, expanding MO_TE -> MO_BE
since we only build the S390x target as big-endian.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Manos Pitsidianakis <[email protected]>
Reviewed-by: Eric Farman <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 11d99e98fe64c5f7602218a5ee240bfe05b0005a
      
https://github.com/qemu/qemu/commit/11d99e98fe64c5f7602218a5ee240bfe05b0005a
  Author: Fabiano Rosas <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M docs/devel/testing/functional.rst
    M tests/functional/qemu_test/testcase.py

  Log Message:
  -----------
  tests/functional: Allow tests to be run individually

The functional tests currently don't allow a single test to be
selected for execution by dotted name, e.g:

./build/run tests/functional/ppc64/test_pseries.py 
PseriesMachine.test_ppc64_linux_boot
                                          ^
The issue is that the testcase.py main function passes the test
module's name as the second argument to unittest.main(), which makes
it ignore all other positional arguments (presumably because the
module is already the superset of all tests).

After commit cac08383f0 ("tests/functional: expose sys.argv to
unittest.main"), the situation improves by passing the rest of the
argv from the command line invocation into unittest.main(), but it
still doesn't fix the issue. The short form options are now accepted,
so the -k option could be used to filter for a pattern, which is
useful, but not the same as listing the test names.

Fix this by passing the test module name via the "module" argument to
unittest.main() and stop touching argv. The ways of invoking tests are
now as per unittests documentation (-k still works):

  Examples:
    test_pseries.py                           - run default set of tests
    test_pseries.py MyTestSuite               - run suite 'MyTestSuite'
    test_pseries.py MyTestCase.testSomething  - run MyTestCase.testSomething
    test_pseries.py MyTestCase                - run all 'test*' test methods in 
MyTestCase

Note that ever since we've been programatically passing the module
name to unittest.main(), the usage 'test_pseries.py test_pseries' was
never valid. It used to "work" just the same as 'test_pseries.py
foobar' would. After this patch, that usage results in an error.

Also note that testcase.py:main() pertains to running the test module
that invoked it via QemuSystemTest.main(), i.e. module == __main__. So
the 'discover' usage of unittest doesn't apply here, the module is
already discovered because that's where this code was called from to
begin with. This patch could just as well call unittest.main() instead
of unittest.main(test_module), but the latter provides nicer error
messages prefixed with the module name.

Tested-by: Thomas Huth <[email protected]>
Signed-off-by: Fabiano Rosas <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 80802278817770783a07eebc06adc157df89d827
      
https://github.com/qemu/qemu/commit/80802278817770783a07eebc06adc157df89d827
  Author: Yodel Eldar <[email protected]>
  Date:   2026-01-07 (Wed, 07 Jan 2026)

  Changed paths:
    M tests/functional/qemu_test/testcase.py

  Log Message:
  -----------
  tests/functional/qemu_test/testcase: Fix mismatched quotations

A debug string incorrectly mixes single-quotes with double-quotes,
causing the variable within to be treated as a literal. Fix it.

Signed-off-by: Yodel Eldar <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Alex Bennée <[email protected]>
Signed-off-by: Thomas Huth <[email protected]>


  Commit: 63a88166ab160d7d92da60b7fcb562c127e51862
      
https://github.com/qemu/qemu/commit/63a88166ab160d7d92da60b7fcb562c127e51862
  Author: Richard Henderson <[email protected]>
  Date:   2026-01-08 (Thu, 08 Jan 2026)

  Changed paths:
    M MAINTAINERS
    M docs/devel/testing/functional.rst
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/i386/pc.c
    M hw/i386/pc_piix.c
    M hw/i386/pc_q35.c
    M hw/m68k/virt.c
    M hw/ppc/spapr.c
    M hw/s390x/css.c
    M hw/s390x/s390-pci-bus.c
    M hw/s390x/s390-virtio-ccw.c
    M hw/s390x/virtio-ccw.c
    M include/hw/core/boards.h
    M include/hw/i386/pc.h
    M target/s390x/cpu-system.c
    M target/s390x/cpu.c
    M target/s390x/cpu.h
    M target/s390x/gdbstub.c
    M target/s390x/kvm/kvm.c
    M target/s390x/mmu_helper.c
    M target/s390x/tcg/excp_helper.c
    M target/s390x/tcg/insn-data.h.inc
    M target/s390x/tcg/mem_helper.c
    M target/s390x/tcg/translate.c
    M target/s390x/tcg/translate_vx.c.inc
    M target/s390x/tcg/vec_helper.c
    M tests/functional/qemu_test/testcase.py

  Log Message:
  -----------
  Merge tag 'pull-request-2026-01-07' of https://gitlab.com/thuth/qemu into 
staging

* Compat machines for 11.0
* Add some more files to the MAINTAINERS file
* Use explicit big-endian API calls in the s390x code
* Add the possibility to run sub-tests manually in the functional test suite

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCgAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmleSkMRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbVegA//R8zGTnW++Rcb3xFlRGQye08eKNWda4K8
# hqgHg4nEf3zj8dYm91lop8v3CMwVJtlBLiKtv+8GAo5ma/yItM9N/F3AgsUXt6po
# dpAAJISucDyIkHLDEMtlPTfQsEvoegEIaXoM7m1AOktArRaLzynmu430f8oAV8BE
# H3pPGUxaNgjtGlF+6yeUJ/FzrRpI2PXR6o8vtoG8+II5lQZvajOcmix6Znh+u0xj
# QKzYchYeN1u1YCvykQSp7dTUPygaGOgXHKpUvzUFNWyiq9d0eRW75NMLQJ4LSG2q
# nqmmHlSxsay5E0H+AWzDRGAsGNrXDtsxkXuAVE0GitKLcc3a1U5m4RQAl2bCW7Px
# +tx5xjxzg5d38wyKo7mif5WKKIdJs0ljuFlMMMn+FR8MEblCorW/CVCB4qVBdJ2v
# GMSD7hvHoRba2SpT6y0s+pIOZRsXdWW9FhAAVk9gURkm494UxBJZZL37gQEKwC0t
# HMxq8WMFLqZAC4TaoxSMdIRW9CZD5qKjGa4y2N9JU1HO2YDHsItce9DWb/09ep91
# LQg+adtqOFsYs5oGAZ1I17AIl9+ZYUatCeOGxwyYV4Bso5VZ45YH0z2puhA+FSp6
# zT+4trfasVDPQTFOFzBOZXOzhSFBqeVBPeBZAPG3CsTfHBdqu/YNOQuYtWWize94
# 0qmfMrevMxs=
# =oVgR
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 07 Jan 2026 10:57:55 PM AEDT
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "[email protected]"
# gpg: Good signature from "Thomas Huth <[email protected]>" [unknown]
# gpg:                 aka "Thomas Huth <[email protected]>" [unknown]
# gpg:                 aka "Thomas Huth <[email protected]>" [unknown]
# gpg:                 aka "Thomas Huth <[email protected]>" [unknown]
# gpg: WARNING: The key's User ID is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2026-01-07' of https://gitlab.com/thuth/qemu:
  tests/functional/qemu_test/testcase: Fix mismatched quotations
  tests/functional: Allow tests to be run individually
  target/s390x: Inline translator_lduw() and translator_ldl()
  target/s390x: Use big-endian variant of cpu_ld/st_data*()
  target/s390x: Inline cpu_ld{uw, l}_code() calls in EX opcode helper
  target/s390x: Replace MO_TE -> MO_BE
  target/s390x: Replace gdb_get_regl() -> gdb_get_reg64()
  target/s390x: Use explicit big-endian LD/ST API
  hw/s390x: Use explicit big-endian LD/ST API
  MAINTAINERS: Add configs/targets/s390x-softmmu.mak to the S390 general section
  MAINTAINERS: Add util/s390x_pci_mmio.c to the S390 PCI section
  hw/s390x: Un-inline the s390_do_cpu_*() functions
  hw: add compat machines for 11.0
  hw/s390x/ccw: Remove deprecated s390-ccw-virtio-5.0 machine

Signed-off-by: Richard Henderson <[email protected]>


Compare: https://github.com/qemu/qemu/compare/0fc482b73d8e...63a88166ab16

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications

Reply via email to