Branch: refs/heads/master Home: https://github.com/qemu/qemu Commit: cf9b5790db77e5efdae589acff8a98165d2543e0 https://github.com/qemu/qemu/commit/cf9b5790db77e5efdae589acff8a98165d2543e0 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2023-11-14 (Tue, 14 Nov 2023)
Changed paths: M accel/tcg/cpu-exec.c M accel/tcg/tb-maint.c M accel/tcg/translate-all.c M accel/tcg/translator.c M docs/devel/tcg-icount.rst M include/exec/translation-block.h M system/watchpoint.c Log Message: ----------- accel/tcg: Remove CF_LAST_IO In cpu_exec_step_atomic, we did not set CF_LAST_IO, which lead to a loop with cpu_io_recompile. But since 18a536f1f8 ("Always require can_do_io") we no longer need a flag to indicate when the last insn should have can_do_io set, so remove the flag entirely. Reported-by: Clément Chigot <chi...@adacore.com> Tested-by: Clément Chigot <chi...@adacore.com> Reviewed-by: Claudio Fontana <cfont...@suse.de> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1961 Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: e2faabee78ff127848f59892747d4c07c56de033 https://github.com/qemu/qemu/commit/e2faabee78ff127848f59892747d4c07c56de033 Author: Jessica Clarke <jrt...@jrtc27.com> Date: 2023-11-14 (Tue, 14 Nov 2023) Changed paths: M accel/tcg/cputlb.c Log Message: ----------- accel/tcg: Forward probe size on to notdirty_write Without this, we just dirty a single byte, and so if the caller writes more than one byte to the host memory then we won't have invalidated any translation blocks that start after the first byte and overlap those writes. In particular, AArch64's DC ZVA implementation uses probe_access (via probe_write), and so we don't invalidate the entire block, only the TB overlapping the first byte (and, in the unusual case an unaligned VA is given to the instruction, we also probe that specific address in order to get the right VA reported on an exception, so will invalidate a TB overlapping that address too). Since our IC IVAU implementation is a no-op for system emulation that relies on the softmmu already having detected self-modifying code via this mechanism, this means we have observably wrong behaviour when jumping to code that has been DC ZVA'ed. In practice this is an unusual thing for software to do, as in reality the OS will DC ZVA the page and the application will go and write actual instructions to it that aren't UDF #0, but you can write a test that clearly shows the faulty behaviour. For functions other than probe_access it's not clear what size to use when 0 is passed in. Arguably a size of 0 shouldn't dirty at all, since if you want to actually write then you should pass in a real size, but I have conservatively kept the implementation as dirtying the first byte in that case so as to avoid breaking any assumptions about that behaviour. Signed-off-by: Jessica Clarke <jrt...@jrtc27.com> Message-Id: <20231104031232.3246614-1-jrt...@jrtc27.com> [rth: Move the dirtysize computation next to notdirty_write.] Reviewed-by: Richard Henderson <richard.hender...@linaro.org> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 0dfae4f94813995c365bfabac22cba1cea8758bd https://github.com/qemu/qemu/commit/0dfae4f94813995c365bfabac22cba1cea8758bd Author: Richard Henderson <richard.hender...@linaro.org> Date: 2023-11-14 (Tue, 14 Nov 2023) Changed paths: M target/sparc/translate.c Log Message: ----------- target/sparc: Fix RETURN Perform window restore before pc update. Required in order to recognize any window underflow trap with the current pc. Fixes: 86b82fe021f4 ("target/sparc: Move JMPL, RETT, RETURN to decodetree") Reported-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org> Tested-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Acked-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 34a5cb6d8434303c170230644b2a7c1d5781d197 https://github.com/qemu/qemu/commit/34a5cb6d8434303c170230644b2a7c1d5781d197 Author: Stefan Hajnoczi <stefa...@redhat.com> Date: 2023-11-15 (Wed, 15 Nov 2023) Changed paths: M accel/tcg/cpu-exec.c M accel/tcg/cputlb.c M accel/tcg/tb-maint.c M accel/tcg/translate-all.c M accel/tcg/translator.c M docs/devel/tcg-icount.rst M include/exec/translation-block.h M system/watchpoint.c M target/sparc/translate.c Log Message: ----------- Merge tag 'pull-tcg-20231114' of https://gitlab.com/rth7680/qemu into staging accel/tcg: Forward probe size on to notdirty_write accel/tcg: Remove CF_LAST_IO target/sparc: Fix RETURN # -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmVTyVodHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV91UAf/Sf304RJutaNX+85s # 2HP31heScIsrrziDvPhZJG+gD3/Xeq9aDRCNqw7C/MhIHadarJcghTVqPuTMZ8Eg # j3FqvSr6e+6A6VGNdg2d5CKasIYhRMHqCy94g/0fVWtnV9n/2cJPS6zIWGlxl2dT # tJ9AK9IbkLo9b7jifUztTsllhzU8rMvxYznxr6dynJ/3V10gtcAIsc41BeHoLzob # e8wZtuwNUtgiHBGhfEnpspK+oJaPKo2Qy1zPdBiuLadUhl066JdXeOKN9XgCuRyR # 024dOqVwZ+UBQhcmUdJuOjAnsnJJUx29TKtmOOoTugrq+mE1xybSBiiih6EELQlj # AYq6jg== # =D4Wj # -----END PGP SIGNATURE----- # gpg: Signature made Tue 14 Nov 2023 14:24:10 EST # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.hender...@linaro.org" # gpg: Good signature from "Richard Henderson <richard.hender...@linaro.org>" [full] # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A 05C0 64DF 38E8 AF7E 215F * tag 'pull-tcg-20231114' of https://gitlab.com/rth7680/qemu: target/sparc: Fix RETURN accel/tcg: Forward probe size on to notdirty_write accel/tcg: Remove CF_LAST_IO Signed-off-by: Stefan Hajnoczi <stefa...@redhat.com> Compare: https://github.com/qemu/qemu/compare/9c673a41eefc...34a5cb6d8434