Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 1d73353f236209e9b5987d7c6b30b2a32b739210
      
https://github.com/qemu/qemu/commit/1d73353f236209e9b5987d7c6b30b2a32b739210
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M include/qemu/bswap.h

  Log Message:
  -----------
  qemu/bswap: Undefine CPU_CONVERT() once done

Better undefined macros once we are done with them,
like we do few lines later with DO_STN_LDN_P().

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


  Commit: 68e05eff508210c712845647ab55d0bfdd3e5e77
      
https://github.com/qemu/qemu/commit/68e05eff508210c712845647ab55d0bfdd3e5e77
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M include/exec/tswap.h

  Log Message:
  -----------
  exec/tswap: Massage target_needs_bswap() definition

Invert target_needs_bswap() comparison to match the
COMPILING_PER_TARGET definition (2 lines upper).

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 5caa0e1b1bf8597ea7277391b0e17e8584fad18f
      
https://github.com/qemu/qemu/commit/5caa0e1b1bf8597ea7277391b0e17e8584fad18f
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M include/exec/memop.h

  Log Message:
  -----------
  exec/memop: Remove unused memop_big_endian() helper

Last use of memop_big_endian() was removed in commit 592134617c9
("accel/tcg: Reorg system mode store helpers").

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


  Commit: 39914ae89410d000b2936fa94c1d72edab8bcf06
      
https://github.com/qemu/qemu/commit/39914ae89410d000b2936fa94c1d72edab8bcf06
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/hexagon/gdbstub.c

  Log Message:
  -----------
  target/hexagon: Replace ldtul_p() -> ldl_p()

The Hexagon target is only built for 32-bit.
Using ldtul_p() is pointless, replace by ldl_p().

Mechanical change doing:

  $ sed -i -e 's/ldtul_p/ldl_p/' \
      $(git grep -wl ldtul_p target/hexagon/)

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: e63b5f64eeb3e1632ceb0df607616c0a3fdf9b63
      
https://github.com/qemu/qemu/commit/e63b5f64eeb3e1632ceb0df607616c0a3fdf9b63
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/alpha/gdbstub.c

  Log Message:
  -----------
  target/alpha: Replace ldtul_p() -> ldq_p()

The Alpha target is only built for 64-bit.
Using ldtul_p() is pointless, replace by ldq_p().

Mechanical change doing:

  $ sed -i -e 's/ldtul_p/ldq_p/' $(git grep -wl ldtul_p target/alpha/)

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: f02657980295869498802c870623490e509ca51d
      
https://github.com/qemu/qemu/commit/f02657980295869498802c870623490e509ca51d
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M include/gdbstub/helpers.h

  Log Message:
  -----------
  gdbstub/helpers: Introduce ldtul_$endian_p() helpers

Introduce ldtul_le_p() and ldtul_be_p() to use directly
in place of ldtul_p() when a target endianness is fixed.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Pierrick Bouvier <[email protected]>
Acked-by: Alex Bennée <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: c9ddc704f90331e42a17d040d8ad287d371cfbb7
      
https://github.com/qemu/qemu/commit/c9ddc704f90331e42a17d040d8ad287d371cfbb7
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/alpha/gdbstub.c

  Log Message:
  -----------
  target/alpha: Use explicit little-endian LD/ST API

The Alpha architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/alpha/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: ae412c021088da9f977f6407fedef652fb4c43db
      
https://github.com/qemu/qemu/commit/ae412c021088da9f977f6407fedef652fb4c43db
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/hexagon/gdbstub.c

  Log Message:
  -----------
  target/hexagon: Use explicit little-endian LD/ST API

The Hexagon architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/hexagon/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: c3fb1fc9267303cb1bba9913927ddb5e06991714
      
https://github.com/qemu/qemu/commit/c3fb1fc9267303cb1bba9913927ddb5e06991714
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M hw/i386/multiboot.c
    M hw/i386/x86-common.c

  Log Message:
  -----------
  hw/i386: Use explicit little-endian LD/ST API

The x86 architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' hw/i386/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 186f19cf46e64d5569aed887cc6eed9665211787
      
https://github.com/qemu/qemu/commit/186f19cf46e64d5569aed887cc6eed9665211787
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/avr/gdbstub.c

  Log Message:
  -----------
  target/avr: Use explicit little-endian LD/ST API

The AVR architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/avr/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: eed4e3d4c62077866c83e8bda531c71e9de77203
      
https://github.com/qemu/qemu/commit/eed4e3d4c62077866c83e8bda531c71e9de77203
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M linux-user/i386/signal.c

  Log Message:
  -----------
  linux-user/i386: Use explicit little-endian LD/ST API

The x86 architecture uses little endianness. Directly use
the little-endian LD/ST API.

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


  Commit: 2a99b2af2c3d3aa3751b005c575b8f0713abb88d
      
https://github.com/qemu/qemu/commit/2a99b2af2c3d3aa3751b005c575b8f0713abb88d
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/loongarch/gdbstub.c

  Log Message:
  -----------
  target/loongarch: Use explicit little-endian LD/ST API

The LoongArch architecture uses little endianness. Directly
use the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/loongarch/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: e01e1c7e2e25fa792ac99e1c790c718d5cbee376
      
https://github.com/qemu/qemu/commit/e01e1c7e2e25fa792ac99e1c790c718d5cbee376
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/tricore/gdbstub.c

  Log Message:
  -----------
  target/tricore: Use explicit little-endian LD/ST API

The TriCore architecture uses little endianness. Directly use
the little-endian LD/ST API.

Mechanical change using:

  $ end=le; \
    for acc in uw w l q tul; do \
      sed -i -e "s/ld${acc}_p(/ld${acc}_${end}_p(/" \
             -e "s/st${acc}_p(/st${acc}_${end}_p(/" \
        $(git grep -wlE '(ld|st)t?u?[wlq]_p' target/tricore/); \
    done

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 96ce24da684454b2f8c86c9b47ee703ecf194cc0
      
https://github.com/qemu/qemu/commit/96ce24da684454b2f8c86c9b47ee703ecf194cc0
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/tricore/translate.c

  Log Message:
  -----------
  target/tricore: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl().

Inspired-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: cebf9b0da264dbde9e3392c48077dd94428439e4
      
https://github.com/qemu/qemu/commit/cebf9b0da264dbde9e3392c48077dd94428439e4
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/ppc/translate.c

  Log Message:
  -----------
  target/ppc: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer,
this save a call to tcg_gen_movi_tl() and a temp register.

Inspired-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: dc696c6c3413282175acb3fbe5d6f9723e3bc891
      
https://github.com/qemu/qemu/commit/dc696c6c3413282175acb3fbe5d6f9723e3bc891
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M hw/xtensa/xtfpga.c

  Log Message:
  -----------
  hw/xtensa/xtfpga: Remove TARGET_BIG_ENDIAN #ifdef'ry

Move code evaluation from preprocessor to compiler so
both if() ladders are processed. Mostly style change.

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


  Commit: 5375bc1674590b19e2c138d06a954420ac9b5c4d
      
https://github.com/qemu/qemu/commit/5375bc1674590b19e2c138d06a954420ac9b5c4d
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/internal.h
    M target/mips/tcg/ldst_helper.c

  Log Message:
  -----------
  target/mips: Declare mips_env_is_bigendian() in 'internal.h'

In order to re-use cpu_is_bigendian(), declare it on "internal.h"
after renaming it as mips_env_is_bigendian().

Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: e99072b6ecd842558c68672f4601b4f6aeecdc2a
      
https://github.com/qemu/qemu/commit/e99072b6ecd842558c68672f4601b4f6aeecdc2a
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h

  Log Message:
  -----------
  target/mips: Rename cpu_is_bigendian() -> disas_is_bigendian()

Methods using the 'cpu_' prefix usually take a (Arch)CPUState
argument. Since this method takes a DisasContext argument,
rename it as disas_is_bigendian().

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 3e10be75790df93ba2cdb10435860de214128da8
      
https://github.com/qemu/qemu/commit/3e10be75790df93ba2cdb10435860de214128da8
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/internal.h

  Log Message:
  -----------
  target/mips: Introduce mo_endian_env() helper

Introduce mo_endian_env() which returns the endian
MemOp corresponding to the vCPU env.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 2cf8226fcd8b19a94539725a39b6c8242bffa79b
      
https://github.com/qemu/qemu/commit/2cf8226fcd8b19a94539725a39b6c8242bffa79b
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/sysemu/tlb_helper.c

  Log Message:
  -----------
  target/mips: Replace MO_TE by  mo_endian_env() in get_pte()

Replace compile-time MO_TE evaluation by runtime mo_endian_env()
one, which expand target endianness from vCPU env.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 54821ff6e909292a66ac66f104ff04e4ecf8f23e
      
https://github.com/qemu/qemu/commit/54821ff6e909292a66ac66f104ff04e4ecf8f23e
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/mips16e_translate.c.inc

  Log Message:
  -----------
  target/mips: Convert mips16e decr_and_load/store() macros to functions

Functions are easier to rework than macros. Besides,
there is no gain here in inlining these.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: e9c26e7740c1ea16e927f2871301ec819f8b8daf
      
https://github.com/qemu/qemu/commit/e9c26e7740c1ea16e927f2871301ec819f8b8daf
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/mxu_translate.c
    M target/mips/tcg/translate.h

  Log Message:
  -----------
  target/mips: Factor mo_endian_rev() out of MXU code

Instead of swapping the reversed target endianness
using MO_BSWAP, directly return the correct endianness.

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 89b59d8699324d33dcd038622120aef12d0b1e0d
      
https://github.com/qemu/qemu/commit/89b59d8699324d33dcd038622120aef12d0b1e0d
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/mips16e_translate.c.inc
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c
    M target/mips/tcg/tx79_translate.c

  Log Message:
  -----------
  target/mips: Explode MO_TExx -> MO_TE | MO_xx

Extract the implicit MO_TE definition in order to replace
it by runtime variable in the next commit.

Mechanical change using:

  $ for n in UW UL UQ UO SW SL SQ; do \
      sed -i -e "s/MO_TE$n/MO_TE | MO_$n/" \
           $(git grep -l MO_TE$n target/mips); \
    done

manually remove superfluous parenthesis in nanoMIPS gen_save().

Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: a6f8e0ae5a5223d421c986165310ef0bd252c3e0
      
https://github.com/qemu/qemu/commit/a6f8e0ae5a5223d421c986165310ef0bd252c3e0
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

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

  Log Message:
  -----------
  target/mips: Rename unused sysemu argument of OP_LD_ATOMIC()

In commit 6d0cad12594 ("target/mips: Finish conversion to
tcg_gen_qemu_{ld,st}_*") we renamed the argument of the user
definition. Rename the system part for coherency. Since the
argument is ignored, prefix with 'ignored_'.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: d74fbe0fbdca05407190fbffb41c1dac795850ea
      
https://github.com/qemu/qemu/commit/d74fbe0fbdca05407190fbffb41c1dac795850ea
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/msa_helper.c

  Log Message:
  -----------
  target/mips: Remove unused MEMOP_IDX() macro

MEMOP_IDX() is unused since commit 948f88661c6 ("target/mips:
Use cpu_*_data_ra for msa load/store"), remove it.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 96ccd8534f8b7d3198621f0aad4690108eb15ff1
      
https://github.com/qemu/qemu/commit/96ccd8534f8b7d3198621f0aad4690108eb15ff1
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/translate.h

  Log Message:
  -----------
  target/mips: Introduce mo_endian() helper

Introduce mo_endian() which returns the endian MemOp
corresponding to the vCPU DisasContext.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 2803e24694c0051ba72bf92ded49a459209537c9
      
https://github.com/qemu/qemu/commit/2803e24694c0051ba72bf92ded49a459209537c9
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/mips16e_translate.c.inc
    M target/mips/tcg/mxu_translate.c
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c
    M target/mips/tcg/tx79_translate.c

  Log Message:
  -----------
  target/mips: Replace MO_TE by mo_endian()

Replace compile-time MO_TE evaluation by runtime mo_endian() one,
which expand target endianness from DisasContext.

Mechanical change using:

  $ sed -i -e 's/MO_TE/mo_endian(ctx)/' \
     $(git grep -l MO_TE target/mips)

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: de0029664f7f57df2c7c9209f7fa31b3929c8a1e
      
https://github.com/qemu/qemu/commit/de0029664f7f57df2c7c9209f7fa31b3929c8a1e
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

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

  Log Message:
  -----------
  target/mips: Have gen_addiupc() expand $pc during translation

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: d0b24b7f50e17ad288dd7647dbaf09c81c30f691
      
https://github.com/qemu/qemu/commit/d0b24b7f50e17ad288dd7647dbaf09c81c30f691
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/mips16e_translate.c.inc
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h

  Log Message:
  -----------
  target/mips: Use gen_op_addr_addi() when possible

Replace tcg_gen_movi_tl() + gen_op_addr_add() by a single
gen_op_addr_addi() call.

gen_op_addr_addi() calls tcg_gen_addi_tl() which might
optimize if the immediate is zero.

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 35845cf8fe8b484dcd5cead7a2b68d7c3099948b
      
https://github.com/qemu/qemu/commit/35845cf8fe8b484dcd5cead7a2b68d7c3099948b
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/translate.c

  Log Message:
  -----------
  target/mips: Use tcg_constant_tl() instead of tcg_gen_movi_tl()

Directly use tcg_constant_tl() for constant integer, this
save a call to tcg_gen_movi_tl(), often saving a temp register.

Most of the places found using the following Coccinelle spatch script:

  @@
  identifier tmp;
  constant val;
  @@
  *    TCGv tmp = tcg_temp_new();
       ...
  *    tcg_gen_movi_tl(tmp, val);

  @@
  identifier tmp;
  int val;
  @@
  *    TCGv tmp = tcg_temp_new();
       ...
  *    tcg_gen_movi_i64(tmp, val);

Suggested-by: Richard Henderson <[email protected]>
Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: d70e58958da3165bb35d33a69c9d1937674dd6ce
      
https://github.com/qemu/qemu/commit/d70e58958da3165bb35d33a69c9d1937674dd6ce
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M target/mips/cpu.c
    M target/mips/cpu.h

  Log Message:
  -----------
  target/mips: Expose MIPSCPU::is_big_endian property

Add the "big-endian" property and set the CP0C0_BE bit in CP0_Config0.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 805659a895b8afeeb50088c44bd60641d60963ff
      
https://github.com/qemu/qemu/commit/805659a895b8afeeb50088c44bd60641d60963ff
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M hw/mips/cps.c
    M hw/mips/malta.c
    M include/hw/mips/cps.h

  Log Message:
  -----------
  hw/mips/cps: Set the vCPU 'cpu-big-endian' property

Have the CPS expose a 'cpu-big-endian' property so it can
set it to the vCPUs it creates.
Note, since the number of vCPUs created is dynamic, we can
not use QOM aliases.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 3e8f019be77d1b648bca0af0121da3bb37766509
      
https://github.com/qemu/qemu/commit/3e8f019be77d1b648bca0af0121da3bb37766509
  Author: Philippe Mathieu-Daudé <[email protected]>
  Date:   2024-10-15 (Tue, 15 Oct 2024)

  Changed paths:
    M hw/mips/fuloong2e.c
    M hw/mips/jazz.c
    M hw/mips/loongson3_virt.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M target/mips/cpu.c
    M target/mips/cpu.h

  Log Message:
  -----------
  hw/mips: Have mips_cpu_create_with_clock() take an endianness argument

mips_cpu_create_with_clock() creates a vCPU. Pass it the vCPU
endianness requested by argument. Update the board call sites.

Signed-off-by: Philippe Mathieu-Daudé <[email protected]>
Reviewed-by: Jiaxun Yang <[email protected]>
Tested-by: Jiaxun Yang <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-Id: <[email protected]>


  Commit: 08ae519ab8eb6c9abbd97156cb3678f372521501
      
https://github.com/qemu/qemu/commit/08ae519ab8eb6c9abbd97156cb3678f372521501
  Author: Peter Maydell <[email protected]>
  Date:   2024-10-16 (Wed, 16 Oct 2024)

  Changed paths:
    M hw/i386/multiboot.c
    M hw/i386/x86-common.c
    M hw/mips/cps.c
    M hw/mips/fuloong2e.c
    M hw/mips/jazz.c
    M hw/mips/loongson3_virt.c
    M hw/mips/malta.c
    M hw/mips/mipssim.c
    M hw/xtensa/xtfpga.c
    M include/exec/memop.h
    M include/exec/tswap.h
    M include/gdbstub/helpers.h
    M include/hw/mips/cps.h
    M include/qemu/bswap.h
    M linux-user/i386/signal.c
    M target/alpha/gdbstub.c
    M target/avr/gdbstub.c
    M target/hexagon/gdbstub.c
    M target/loongarch/gdbstub.c
    M target/mips/cpu.c
    M target/mips/cpu.h
    M target/mips/internal.h
    M target/mips/tcg/ldst_helper.c
    M target/mips/tcg/micromips_translate.c.inc
    M target/mips/tcg/mips16e_translate.c.inc
    M target/mips/tcg/msa_helper.c
    M target/mips/tcg/mxu_translate.c
    M target/mips/tcg/nanomips_translate.c.inc
    M target/mips/tcg/sysemu/tlb_helper.c
    M target/mips/tcg/translate.c
    M target/mips/tcg/translate.h
    M target/mips/tcg/tx79_translate.c
    M target/ppc/translate.c
    M target/tricore/gdbstub.c
    M target/tricore/translate.c

  Log Message:
  -----------
  Merge tag 'single-binary-20241015' of https://github.com/philmd/qemu into 
staging

Remove some target-specific endianness knowledge from target/.

For MIPS, propagate endianness at the board level, using QOM property.

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmcOihcACgkQ4+MsLN6t
# wN4VaRAAor+5gUJiV0OOMQVfP8e1o9ssKcYy9m31zLeii1Iq2M/2oz6YK4OjdQDe
# oJ8VRJvBPKC2Bpi14TfKsSGaP8CGNO/hdxcMi71pjHZC+bjHt5Uv0U/7T4XCBWuV
# N+85juN1PTc4cci4FkGIXaPB1YWL00L56BDCzja0uhLF4+Xe2eYGVrPXeFCkN/3I
# Ky7jHlB/dgzc47kTXvg5snCee2egDFf/x4igwZj6+gWJyo+jubRpwoOqKbK2M0Nd
# VvNpBVFNGZMP3Fn9lh45uDOuRWGu6zSIPBVkjoFc+wdGsFsITIMrZ3h46UffsGTJ
# F1j6Zsq6hoLbaNRRjZ6OsN6u683oo1lknmWauD62LrjXcX0RlRwRFbMD0AjedR8t
# 6+YHg5LlwGg6r/AOtEe28ggXZohB2vjr2V0MJm1x/XgLYhFHoN3//jxn22oOHj4p
# 0z3+eDc3Se8JNRV6jPMHbbuTqZqZjRgVFbYN3aMbdoXYzhpYnrPj6f7WQL2smiAW
# C2vdswrubQWKou1wcn6rbg0nnMRVTh+GxrtZ3mkgaxNzgNFxsrX8YubMsh77XUcr
# mnCGj1tE3hp40xsuSk6yZXY3ZZiTyZasvO1wq4gWOI9le0Zmq+d335F9+IVJ8RlP
# YhA+MY5aeomsixVRdmrPrgOfanQiHXv02lsbperU8QFfGRhf2Y8=
# =Qydb
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 15 Oct 2024 16:28:23 BST
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <[email protected]>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'single-binary-20241015' of https://github.com/philmd/qemu: (33 commits)
  hw/mips: Have mips_cpu_create_with_clock() take an endianness argument
  hw/mips/cps: Set the vCPU 'cpu-big-endian' property
  target/mips: Expose MIPSCPU::is_big_endian property
  target/mips: Use tcg_constant_tl() instead of tcg_gen_movi_tl()
  target/mips: Use gen_op_addr_addi() when possible
  target/mips: Have gen_addiupc() expand $pc during translation
  target/mips: Replace MO_TE by mo_endian()
  target/mips: Introduce mo_endian() helper
  target/mips: Remove unused MEMOP_IDX() macro
  target/mips: Rename unused sysemu argument of OP_LD_ATOMIC()
  target/mips: Explode MO_TExx -> MO_TE | MO_xx
  target/mips: Factor mo_endian_rev() out of MXU code
  target/mips: Convert mips16e decr_and_load/store() macros to functions
  target/mips: Replace MO_TE by  mo_endian_env() in get_pte()
  target/mips: Introduce mo_endian_env() helper
  target/mips: Rename cpu_is_bigendian() -> disas_is_bigendian()
  target/mips: Declare mips_env_is_bigendian() in 'internal.h'
  hw/xtensa/xtfpga: Remove TARGET_BIG_ENDIAN #ifdef'ry
  target/ppc: Use tcg_constant_tl() instead of tcg_gen_movi_tl()
  target/tricore: Use tcg_constant_tl() instead of tcg_gen_movi_tl()
  ...

Signed-off-by: Peter Maydell <[email protected]>


Compare: https://github.com/qemu/qemu/compare/f5b2e850b95e...08ae519ab8eb

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

Reply via email to