Branch: refs/heads/staging-9.2 Home: https://github.com/qemu/qemu Commit: 1cc062970e49e8387ae14b120bc94b1009b634c1 https://github.com/qemu/qemu/commit/1cc062970e49e8387ae14b120bc94b1009b634c1 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-04-24 (Thu, 24 Apr 2025)
Changed paths: M target/i386/hvf/x86_flags.c Log Message: ----------- target/i386/hvf: fix lflags_to_rflags Clear the flags before adding in the ones computed from lflags. Cc: Wei Liu <li...@linux.microsoft.com> Cc: qemu-sta...@nongnu.org Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit 94a159f3dc737d00749cc930adaec112abe07b3c) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 9f8bb7edacd4f5833740fe6d81509d5396f8b7cc https://github.com/qemu/qemu/commit/9f8bb7edacd4f5833740fe6d81509d5396f8b7cc Author: Richard Henderson <richard.hender...@linaro.org> Date: 2025-04-24 (Thu, 24 Apr 2025) Changed paths: M target/avr/insn.decode M target/avr/translate.c Log Message: ----------- target/avr: Improve decode of LDS, STS The comment about not being able to define a field with zero bits is out of date since 94597b6146f3 ("decodetree: Allow !function with no input bits"). This fixes the missing load of imm in the disassembler. Cc: qemu-sta...@nongnu.org Fixes: 9d8caa67a24 ("target/avr: Add support for disassembling via option '-d in_asm'") Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> (cherry picked from commit 6b661b7ed7cd02c54a78426d5eb7dd8543b030ed) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: e6e49667ae966037e3c4c682ec6275dc3128d459 https://github.com/qemu/qemu/commit/e6e49667ae966037e3c4c682ec6275dc3128d459 Author: Philippe Mathieu-Daudé <phi...@linaro.org> Date: 2025-04-29 (Tue, 29 Apr 2025) Changed paths: M hw/core/machine-qmp-cmds.c M target/ppc/cpu_init.c Log Message: ----------- hw/core: Get default_cpu_type calling machine_class_default_cpu_type() Since commit 62b4a227a33 the default cpu type can come from the valid_cpu_types[] array. Call the machine_class_default_cpu_type() instead of accessing MachineClass::default_cpu_type field. Cc: qemu-sta...@nongnu.org Fixes: 62b4a227a33 ("hw/core: Add machine_class_default_cpu_type()") Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Zhao Liu <zhao1....@intel.com> Message-Id: <20250422084114.39499-1-phi...@linaro.org> (cherry picked from commit d5f241834be1b323ea697a469ff0f1335a1823fe) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: c7e01899822a8780136656004ddba4e756dc59d6 https://github.com/qemu/qemu/commit/c7e01899822a8780136656004ddba4e756dc59d6 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-04-29 (Tue, 29 Apr 2025) Changed paths: M include/hw/core/cpu.h Log Message: ----------- hw/core/cpu: gdb_arch_name string should not be freed The documentation for the CPUClass::gdb_arch_name method claims that the returned string should be freed with g_free(). This is not correct: in commit a650683871ba728 we changed this method to instead return a simple constant string, but forgot to update the documentation. Make the documentation match the new semantics. Fixes: a650683871ba728 ("hw/core/cpu: Return static value with gdb_arch_name()") Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Alex Bennée <alex.ben...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250317142819.900029-2-peter.mayd...@linaro.org> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> (cherry picked from commit 56a9f0d4c4a483ce217e5290db69cb1788586787) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 639cee5ed76c21201fc0e7321e11dbb7974f093d https://github.com/qemu/qemu/commit/639cee5ed76c21201fc0e7321e11dbb7974f093d Author: Hauke Mehrtens <ha...@hauke-m.de> Date: 2025-04-29 (Tue, 29 Apr 2025) Changed paths: M target/mips/tcg/mips16e_translate.c.inc Log Message: ----------- target/mips: Fix MIPS16e translation Fix a wrong conversion to gen_op_addr_addi(). The framesize should be added like it was done before. This bug broke booting OpenWrt MIPS32 BE malta Linux system images generated by OpenWrt. Cc: qemu-sta...@nongnu.org Fixes: d0b24b7f50e1 ("target/mips: Use gen_op_addr_addi() when possible") Signed-off-by: Hauke Mehrtens <ha...@hauke-m.de> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250412194003.181411-1-ha...@hauke-m.de> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> (cherry picked from commit d4a785ba30ce6d8acf0206f049fb4a7494e0898a) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: dc13fed5f0d4c0d07bf3af865e6f67a52d2783e3 https://github.com/qemu/qemu/commit/dc13fed5f0d4c0d07bf3af865e6f67a52d2783e3 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-04-29 (Tue, 29 Apr 2025) Changed paths: M meson.build Log Message: ----------- meson: Use has_header_symbol() to check getcpu() The use of gnu_source_prefix in the detection of getcpu() was ineffective because the header file that declares getcpu() when _GNU_SOURCE is defined was not included. Pass sched.h to has_header_symbol() so that the existence of the declaration will be properly checked. Cc: qemu-sta...@nongnu.org Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Tested-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250424-buildsys-v1-1-97655e3b2...@daynix.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> (cherry picked from commit 563cd698dffb977eea0ccfef3b95f6f9786766f3) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 8696da0495624cfc3ce8d5cb105c24d8bf796cd0 https://github.com/qemu/qemu/commit/8696da0495624cfc3ce8d5cb105c24d8bf796cd0 Author: Akihiko Odaki <akihiko.od...@daynix.com> Date: 2025-04-29 (Tue, 29 Apr 2025) Changed paths: M meson.build Log Message: ----------- meson: Remove CONFIG_STATX and CONFIG_STATX_MNT_ID CONFIG_STATX and CONFIG_STATX_MNT_ID are not used since commit e0dc2631ec4 ("virtiofsd: Remove source"). Cc: qemu-sta...@nongnu.org Signed-off-by: Akihiko Odaki <akihiko.od...@daynix.com> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Tested-by: Philippe Mathieu-Daudé <phi...@linaro.org> Message-ID: <20250424-buildsys-v1-2-97655e3b2...@daynix.com> Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> (cherry picked from commit 6804b89fb531f5dd49c1e038214c89272383e220) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 83c926daf87b02e95f4d69327883db6d2c5379ed https://github.com/qemu/qemu/commit/83c926daf87b02e95f4d69327883db6d2c5379ed Author: Richard Henderson <richard.hender...@linaro.org> Date: 2025-05-07 (Wed, 07 May 2025) Changed paths: M accel/tcg/translate-all.c Log Message: ----------- accel/tcg: Don't use TARGET_LONG_BITS in decode_sleb128 When we changed decode_sleb128 from target_long to int64_t, we failed to adjust the shift limit. Cc: qemu-sta...@nongnu.org Fixes: c9ad8d27caa ("tcg: Widen gen_insn_data to uint64_t") Reviewed-by: Pierrick Bouvier <pierrick.bouv...@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> (cherry picked from commit 9401f91b9b0c46886388735b3f2033a9c254895a) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 7407d2319d405b4d67b2c107a31f9a59c8196c70 https://github.com/qemu/qemu/commit/7407d2319d405b4d67b2c107a31f9a59c8196c70 Author: Peter Maydell <peter.mayd...@linaro.org> Date: 2025-05-08 (Thu, 08 May 2025) Changed paths: M target/arm/tcg/translate.c Log Message: ----------- target/arm: Don't assert() for ISB/SB inside IT block If the guest code has an ISB or SB insn inside an IT block, we generate incorrect code which trips a TCG assertion: qemu-system-arm: ../tcg/tcg-op.c:3343: void tcg_gen_goto_tb(unsigned int): Assertion `(tcg_ctx->goto_tb_issue_mask & (1 << idx)) == 0' failed. This is because we call gen_goto_tb(dc, 1, ...) twice: brcond_i32 ZF,$0x0,ne,$L1 add_i32 pc,pc,$0x4 goto_tb $0x1 exit_tb $0x73d948001b81 set_label $L1 add_i32 pc,pc,$0x4 goto_tb $0x1 exit_tb $0x73d948001b81 Both calls are in arm_tr_tb_stop(), one for the DISAS_NEXT/DISAS_TOO_MANY handling, and one for the dc->condjump condition-failed codepath. The DISAS_NEXT handling doesn't have this problem because arm_post_translate_insn() does the handling of "emit the label for the condition-failed conditional execution" and so arm_tr_tb_stop() doesn't have dc->condjump set. But for DISAS_TOO_MANY we don't do that. Fix the bug by making arm_post_translate_insn() handle the DISAS_TOO_MANY case. This only affects the SB and ISB insns when used in Thumb mode inside an IT block: only these insns specifically set is_jmp to TOO_MANY, and their A32 encodings are unconditional. For the major TOO_MANY case (breaking the TB because it would cross a page boundary) we do that check and set is_jmp to TOO_MANY only after the call to arm_post_translate_insn(); so arm_post_translate_insn() sees is_jmp == DISAS_NEXT, and we emit the correct code for that situation. With this fix we generate the somewhat more sensible set of TCG ops: brcond_i32 ZF,$0x0,ne,$L1 set_label $L1 add_i32 pc,pc,$0x4 goto_tb $0x1 exit_tb $0x7c5434001b81 (NB: the TCG optimizer doesn't optimize out the jump-to-next, but we can't really avoid emitting it because we don't know at the point we're emitting the handling for the condexec check whether this insn is going to happen to be a nop for us or not.) Cc: qemu-sta...@nongnu.org Fixes: https://gitlab.com/qemu-project/qemu/-/issues/2942 Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Message-id: 20250501125544.727038-1-peter.mayd...@linaro.org (cherry picked from commit 8ed7c0b6488a7f20318d6ba414f1cbcd0ed92afe) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 9e13cd7232c1e528962acf8c17c664da5e80d548 https://github.com/qemu/qemu/commit/9e13cd7232c1e528962acf8c17c664da5e80d548 Author: Bernhard Beschow <shen...@gmail.com> Date: 2025-05-08 (Thu, 08 May 2025) Changed paths: M hw/gpio/imx_gpio.c Log Message: ----------- hw/gpio/imx_gpio: Fix interpretation of GDIR polarity According to the i.MX 8M Plus reference manual, a GPIO pin is configured as an output when the corresponding bit in the GDIR register is set. The function imx_gpio_set_int_line() is intended to be a no-op if the pin is configured as an output, returning early in such cases. However, it inverts the condition. Fix this by returning early when the bit is set. cc: qemu-sta...@nongnu.org Fixes: f44272809779 ("i.MX: Add GPIO device") Signed-off-by: Bernhard Beschow <shen...@gmail.com> Message-id: 20250501183445.2389-4-shen...@gmail.com Reviewed-by: Peter Maydell <peter.mayd...@linaro.org> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> (cherry picked from commit eba837a31b9579e30cc6d7ecb4b5c2662a6ffaba) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 4ba45dffdebc2018ab85e4385cb5155e97ebb742 https://github.com/qemu/qemu/commit/4ba45dffdebc2018ab85e4385cb5155e97ebb742 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-08 (Thu, 08 May 2025) Changed paths: M target/i386/tcg/emit.c.inc M target/i386/tcg/translate.c Log Message: ----------- target/i386: do not trigger IRQ shadow for LSS Because LSS need not trigger an IRQ shadow, gen_movl_seg can't just use the destination register to decide whether to inhibit IRQs. Add an argument. Cc: qemu-sta...@nongnu.org Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit e54ef98c8a80d16158bab4341d9a898701270528) (back-ported to 10.0) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Commit: 5dd4660f5f4d12166018e1d6dc122149264a8832 https://github.com/qemu/qemu/commit/5dd4660f5f4d12166018e1d6dc122149264a8832 Author: Paolo Bonzini <pbonz...@redhat.com> Date: 2025-05-08 (Thu, 08 May 2025) Changed paths: M target/i386/tcg/translate.c Log Message: ----------- target/i386: do not block singlestep for STI STI will trigger a singlestep exception even if it has inhibit-IRQ behavior. Do not suppress single-step for all IRQ-inhibiting instructions, instead special case MOV SS and POP SS. Cc: qemu-sta...@nongnu.org Fixes: f0f0136abba ("target/i386: no single-step exception after MOV or POP SS", 2024-05-25) Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> (cherry picked from commit 1e94ddc6854431064c94a7d8f2f2886def285829) Signed-off-by: Michael Tokarev <m...@tls.msk.ru> Compare: https://github.com/qemu/qemu/compare/af01cf195ba1...5dd4660f5f4d To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications