Branch: refs/heads/staging Home: https://github.com/qemu/qemu Commit: 24f68139247fd5a265874c743c46f293bd3432fa https://github.com/qemu/qemu/commit/24f68139247fd5a265874c743c46f293bd3432fa Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024)
Changed paths: A target/i386/tcg/access.c A target/i386/tcg/access.h M target/i386/tcg/meson.build Log Message: ----------- target/i386: Add tcg/access.[ch] Provide a method to amortize page lookup across large blocks. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: d3e8b648ab7f94f0e9235ade9977954e426991a0 https://github.com/qemu/qemu/commit/d3e8b648ab7f94f0e9235ade9977954e426991a0 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_fldt, do_fstt to X86Access Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 4526f58a2727a37c829c21c3f095226601099552 https://github.com/qemu/qemu/commit/4526f58a2727a37c829c21c3f095226601099552 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert helper_{fbld,fbst}_ST0 to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: bc13c2dd01288d26bfb38bdc958ad58b58661ac0 https://github.com/qemu/qemu/commit/bc13c2dd01288d26bfb38bdc958ad58b58661ac0 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_fldenv to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 505e2ef744b3ebd0a28a94ed9b00f99595b0cf6a https://github.com/qemu/qemu/commit/505e2ef744b3ebd0a28a94ed9b00f99595b0cf6a Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_fstenv to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 94f60f8f1c07de1449f798141cf13ba93f07d875 https://github.com/qemu/qemu/commit/94f60f8f1c07de1449f798141cf13ba93f07d875 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_fsave, do_frstor to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: b7e6d3ad30b53121ff184e93d33dcf61e354c9bb https://github.com/qemu/qemu/commit/b7e6d3ad30b53121ff184e93d33dcf61e354c9bb Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xsave_{fpu,mxcr,sse} to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: e41d2eaf17f1bcd0b5c085b5c9b6151b592ee620 https://github.com/qemu/qemu/commit/e41d2eaf17f1bcd0b5c085b5c9b6151b592ee620 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xrstor_{fpu,mxcr,sse} to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 6d030aab29f8713776aa2fec31bc94bb98a96e55 https://github.com/qemu/qemu/commit/6d030aab29f8713776aa2fec31bc94bb98a96e55 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- tagret/i386: Convert do_fxsave, do_fxrstor to X86Access Move the alignment fault from do_* to helper_*, as it need not apply to usage from within user-only signal handling. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 6b1b736bae9b89882ed293d0256f2a0de1d03f9c https://github.com/qemu/qemu/commit/6b1b736bae9b89882ed293d0256f2a0de1d03f9c Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xsave_* to X86Access The body of do_xsave is now fully converted. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 58955a96d9ce59ada80af88e4ba7c8ecfb79c87f https://github.com/qemu/qemu/commit/58955a96d9ce59ada80af88e4ba7c8ecfb79c87f Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xrstor_* to X86Access The body of do_xrstor is now fully converted. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: a8f68831c6dfd1903555e4402addd5138f78db97 https://github.com/qemu/qemu/commit/a8f68831c6dfd1903555e4402addd5138f78db97 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Split out do_xsave_chk This path is not required by user-only, and can in fact be shared between xsave and xrstor. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: a2d64d61c1fa1826344fef02e5cc7e331d307e0f https://github.com/qemu/qemu/commit/a2d64d61c1fa1826344fef02e5cc7e331d307e0f Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/cpu.h M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Add rbfm argument to cpu_x86_{xsave,xrstor} For now, continue to pass all 1's from signal.c. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 6dba8b471cb2b40140b672a9ae9b965a7a132409 https://github.com/qemu/qemu/commit/6dba8b471cb2b40140b672a9ae9b965a7a132409 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/cpu.h Log Message: ----------- target/i386: Add {hw,sw}_reserved to X86LegacyXSaveArea This completes the 512 byte structure, allowing the union to be removed. Assert that the structure layout is as expected. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 077c43eb0d30a257ee33f1b48ea5b29eafcf4eb5 https://github.com/qemu/qemu/commit/077c43eb0d30a257ee33f1b48ea5b29eafcf4eb5 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Drop xfeatures_size from sigcontext arithmetic This is subtracting sizeof(target_fpstate_fxsave) in TARGET_FXSAVE_SIZE, then adding it again via &fxsave->xfeatures. Perform the same computation using xstate_size alone. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: fcc9b64d0767563adb03c933a208e7ba5250c6f0 https://github.com/qemu/qemu/commit/fcc9b64d0767563adb03c933a208e7ba5250c6f0 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Remove xfeatures from target_fpstate_fxsave This is easily computed by advancing past the structure. At the same time, replace the magic number "64". Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 3b6e9491e3e8a51e7eb8d25316b75ca4a58b22ff https://github.com/qemu/qemu/commit/3b6e9491e3e8a51e7eb8d25316b75ca4a58b22ff Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Replace target_fpstate_fxsave with X86LegacyXSaveArea Use the structure definition from target/i386/cpu.h. The only minor quirk is re-casting the sw_reserved area to the OS specific struct target_fpx_sw_bytes. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 5cc77ebe9b9e07fcd06011dc23162069ef8c5eff https://github.com/qemu/qemu/commit/5cc77ebe9b9e07fcd06011dc23162069ef8c5eff Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Split out struct target_fregs_state Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: bae0455ce3ded1df80dee4e844194568063ad093 https://github.com/qemu/qemu/commit/bae0455ce3ded1df80dee4e844194568063ad093 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Fix -mregparm=3 for signal delivery Since v2.6.19, the kernel has supported -mregparm=3. Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: c536f9b77ccb771fc480ec8d3c1cefac243eac73 https://github.com/qemu/qemu/commit/c536f9b77ccb771fc480ec8d3c1cefac243eac73 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Return boolean success from restore_sigcontext Invert the sense of the return value and use bool. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 9e9b7d4c15b1cbefc608487a38e10c8f708fb187 https://github.com/qemu/qemu/commit/9e9b7d4c15b1cbefc608487a38e10c8f708fb187 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Return boolean success from xrstor_sigcontext Invert the sense of the return value and use bool. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: a7365e984d27b961f381cf3be46682e4da5ab6f7 https://github.com/qemu/qemu/commit/a7365e984d27b961f381cf3be46682e4da5ab6f7 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M tests/tcg/x86_64/Makefile.target A tests/tcg/x86_64/test-1648.c Log Message: ----------- linux-user/i386: Fix allocation and alignment of fp state For modern cpus, the kernel uses xsave to store all extra cpu state across the signal handler. For xsave/xrstor to work, the pointer must be 64 byte aligned. Moreover, the regular part of the signal frame must be 16 byte aligned. Attempt to mirror the kernel code as much as possible. Use enum FPStateKind instead of use_xsave() and use_fxsr(). Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1648 Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 7973eb943e670ea66a19e04868e01803c7594246 https://github.com/qemu/qemu/commit/7973eb943e670ea66a19e04868e01803c7594246 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c Log Message: ----------- linux-user/i386: Honor xfeatures in xrstor_sigcontext Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: c6e6d1508ac309e39fec827c3719c86c10cd8975 https://github.com/qemu/qemu/commit/c6e6d1508ac309e39fec827c3719c86c10cd8975 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xsave to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: d5dc3a927ae7e64bc998d9aa29020426b4e97f8a https://github.com/qemu/qemu/commit/d5dc3a927ae7e64bc998d9aa29020426b4e97f8a Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Convert do_xrstor to X86Access Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 76d8d0f85caf629b4df314e656d20ad6565bab9b https://github.com/qemu/qemu/commit/76d8d0f85caf629b4df314e656d20ad6565bab9b Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/cpu.h M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Pass host pointer and size to cpu_x86_{fsave,frstor} We have already validated the memory region in the course of validating the signal frame. No need to do it again within the helper function. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 9c2fb9e1d589fbda266d8db611b9d3a38ab96a3c https://github.com/qemu/qemu/commit/9c2fb9e1d589fbda266d8db611b9d3a38ab96a3c Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/cpu.h M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Pass host pointer and size to cpu_x86_{fxsave,fxrstor} We have already validated the memory region in the course of validating the signal frame. No need to do it again within the helper function. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 701890bdd09b289fd9cb852e714e91373088b0f3 https://github.com/qemu/qemu/commit/701890bdd09b289fd9cb852e714e91373088b0f3 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/cpu.h M target/i386/tcg/fpu_helper.c Log Message: ----------- target/i386: Pass host pointer and size to cpu_x86_{xsave,xrstor} We have already validated the memory region in the course of validating the signal frame. No need to do it again within the helper function. In addition, return failure when the header contains invalid xstate_bv. The kernel handles this via exception handling within XSTATE_OP within xrstor_from_user_sigframe. Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Commit: 60b54b67c63d8f076152e0f7dccf39854dfc6a77 https://github.com/qemu/qemu/commit/60b54b67c63d8f076152e0f7dccf39854dfc6a77 Author: Richard Henderson <richard.hender...@linaro.org> Date: 2024-05-26 (Sun, 26 May 2024) Changed paths: M linux-user/i386/signal.c M target/i386/cpu.h A target/i386/tcg/access.c A target/i386/tcg/access.h M target/i386/tcg/fpu_helper.c M target/i386/tcg/meson.build M tests/tcg/x86_64/Makefile.target A tests/tcg/x86_64/test-1648.c Log Message: ----------- Merge tag 'pull-lu-20240526' of https://gitlab.com/rth7680/qemu into staging target/i386: Introduce X86Access and use for xsave and friends linux-user/i386: Fix allocation and alignment of fp state in signal frame # -----BEGIN PGP SIGNATURE----- # # iQFRBAABCgA7FiEEekgeeIaLTbaoWgXAZN846K9+IV8FAmZT2GwdHHJpY2hhcmQu # aGVuZGVyc29uQGxpbmFyby5vcmcACgkQZN846K9+IV87pQf9F/cmrKQG1mVWKmJd # MI7l63lbxejdgAADv1nmro+oapCsJSaQeUSrYp904ydqJjVfBJkaoXfknGsvxrNA # oW7nEuYt0sBKdaBUKhYpMOJ3ivfw7lVVMJmjNv9ngZRhW+WOoJrBHoleUkVLiM7D # rxkMLL+LQ7BR9i0Lv1unorOkqUPGNOnEd45qRn6k1g/Qnqi8SNMzxFwO8+232u8m # EG9un/oh4mKPyb5vSg3Y4JLg+yDKCRScBqBU1wcKFe1u+umBkv2BNcU+k62AJh1q # bv8i1n+X/dFAd1aj0NEupi04EOZIof5m3T4YIWg7M4I94NiFWNZ18vgskkmiO+Mo # 0KPd/A== # =sYrE # -----END PGP SIGNATURE----- # gpg: Signature made Sun 26 May 2024 05:48:44 PM PDT # gpg: using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F # gpg: issuer "richard.hender...@linaro.org" # gpg: Good signature from "Richard Henderson <richard.hender...@linaro.org>" [ultimate] * tag 'pull-lu-20240526' of https://gitlab.com/rth7680/qemu: (28 commits) target/i386: Pass host pointer and size to cpu_x86_{xsave,xrstor} target/i386: Pass host pointer and size to cpu_x86_{fxsave,fxrstor} target/i386: Pass host pointer and size to cpu_x86_{fsave,frstor} target/i386: Convert do_xrstor to X86Access target/i386: Convert do_xsave to X86Access linux-user/i386: Honor xfeatures in xrstor_sigcontext linux-user/i386: Fix allocation and alignment of fp state linux-user/i386: Return boolean success from xrstor_sigcontext linux-user/i386: Return boolean success from restore_sigcontext linux-user/i386: Fix -mregparm=3 for signal delivery linux-user/i386: Split out struct target_fregs_state linux-user/i386: Replace target_fpstate_fxsave with X86LegacyXSaveArea linux-user/i386: Remove xfeatures from target_fpstate_fxsave linux-user/i386: Drop xfeatures_size from sigcontext arithmetic target/i386: Add {hw,sw}_reserved to X86LegacyXSaveArea target/i386: Add rbfm argument to cpu_x86_{xsave,xrstor} target/i386: Split out do_xsave_chk target/i386: Convert do_xrstor_* to X86Access target/i386: Convert do_xsave_* to X86Access tagret/i386: Convert do_fxsave, do_fxrstor to X86Access ... Signed-off-by: Richard Henderson <richard.hender...@linaro.org> Compare: https://github.com/qemu/qemu/compare/78ef97c0aa6c...60b54b67c63d To unsubscribe from these emails, change your notification settings at https://github.com/qemu/qemu/settings/notifications