Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 11dac41f2e830bcd7ba74969dc50f5740e3ce7e7
https://github.com/qemu/qemu/commit/11dac41f2e830bcd7ba74969dc50f5740e3ce7e7
Author: Laurent Vivier <[email protected]>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M target/m68k/op_helper.c
Log Message:
-----------
m68k: fix CAS2 writeback when Dc1==Dc2
According to Programmer's Reference Manual, if Dc1 and Dc2 specify the
same data register and the comparison fails, memory operand 1 is stored
in the data register.
The current helpers wrote Dc1 then Dc2, leaving operand 2 in the shared
register.
Swap the writeback order for cas2w/cas2l so memory operand 1 wins.
Signed-off-by: Laurent Vivier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Message-ID: <[email protected]>
Commit: c8f7fdd1228269387d1821df2b43ce5df0412423
https://github.com/qemu/qemu/commit/c8f7fdd1228269387d1821df2b43ce5df0412423
Author: Laurent Vivier <[email protected]>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M target/m68k/cpu.c
M target/m68k/cpu.h
M target/m68k/translate.c
Log Message:
-----------
m68k: link.l is only available with 68020+
Base 68000 only supports word size.
Signed-off-by: Laurent Vivier <[email protected]>
Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: William Hooper <[email protected]>
Message-ID: <[email protected]>
Commit: cad529260a8503b79d76589f1427ee592e31a801
https://github.com/qemu/qemu/commit/cad529260a8503b79d76589f1427ee592e31a801
Author: William Hooper <[email protected]>
Date: 2026-01-12 (Mon, 12 Jan 2026)
Changed paths:
M target/m68k/helper.h
M target/m68k/op_helper.c
M target/m68k/translate.c
M tests/tcg/m68k/trap.c
Log Message:
-----------
target/m68k: Improve CHK and CHK2; implement CMP2
Some CHK2 (Check Register Against Bounds) instructions, such as opcode
02FA, cause spurious illegal instruction exceptions, despite being valid
on Motorola MC68020 and later processors and used in existing software.
With this patch, QEMU:
- Translates CHK2 and CMP2 (Compare Register Against Bounds)
instructions [1] having any valid size or effective address. CHK2 and
CMP2 use the same opcodes but differ in bit 11 of the extension word.
(BITREV or BYTEREV instructions for ColdFire family processors [2],
which use similar opcodes, are not captured, however.)
- Implements CMP2, which "is identical to CHK2 except that it sets
condition codes rather than taking an exception" [1].
- Populates the correct "logical address of the instruction following
the instruction that caused the trap" [3] in the exception stack frame
for CHK and CHK2 exceptions, according to the number of words in the
instruction, including extension words, rather than default lengths.
An existing test for CHK2 is enabled, and tests are added for CHK, CHK2,
and CMP2.
References:
[1] Motorola M68000 Family Programmer's Reference Manual (M68000PM/AD),
Rev. 1, 1992, pages 4-72 to 4-73 and 4-82 to 4-83.
[2] Freescale Semiconductor, ColdFire Family Programmer's Reference Manual
(CFPRM), Rev. 3, 2005, pages 4-19 and 4-26.
[3] Motorola M68040 User's Manual (M68040UM/AD), 1993, page 8-8.
Signed-off-by: William Hooper <[email protected]>
Reviewed-by: Laurent Vivier <[email protected]>
Message-ID: <[email protected]>
Signed-off-by: Laurent Vivier <[email protected]>
Commit: fe12f7c8a88c097134c9a885270154a52582f887
https://github.com/qemu/qemu/commit/fe12f7c8a88c097134c9a885270154a52582f887
Author: Paolo Bonzini <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M target/i386/tcg/cc_helper.c
M target/i386/tcg/emit.c.inc
Log Message:
-----------
target/i386/tcg: do not leave non-arithmetic flags in CC_SRC after PUSHF
The value that is pushed by PUSHF is the full EFLAGS, while CC_OP_EFLAGS
only wants arithmetic flags in CC_SRC. To avoid this, follow what other
helpers do and set CC_SRC/CC_OP directly in helper_read_eflags. This
is basically free and fixes an issue booting Windows 3.11.
Reported-by: Mark Cave-Ayland <[email protected]>
Fixes: e661e2d7a37 ("target/i386/tcg: update cc_op after PUSHF", 2025-12-27)
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: df5c2ef7cd3ee3817c86b952e380dd56f563a6a1
https://github.com/qemu/qemu/commit/df5c2ef7cd3ee3817c86b952e380dd56f563a6a1
Author: Paolo Bonzini <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M target/i386/tcg/translate.c
Log Message:
-----------
target/i386/tcg: remove dead code
Remove dead code; it arose when I noticed that, because 0x3? opcodes do
have a pop, case 0x32 works just fine as fcomp (even though 0x?2 is fcom):
there is no need to hack the op to 0x03.
Reported by Coverity as CID 1643922.
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 73dd6e4a36dd8d85548292f382a4d479e2810371
https://github.com/qemu/qemu/commit/73dd6e4a36dd8d85548292f382a4d479e2810371
Author: Paolo Bonzini <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
Log Message:
-----------
target/i386/tcg: do not mark all SSE instructions as unaligned
If the vex_special field was not initialized, it was considered to be
X86_VEX_SSEUnaligned (whose value was zero). Add a new value to
fix that.
Cc: [email protected]
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 5e3572ef2e94608568b1a73eab9d382b250936eb
https://github.com/qemu/qemu/commit/5e3572ef2e94608568b1a73eab9d382b250936eb
Author: Paolo Bonzini <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M target/i386/ops_sse.h
M target/i386/tcg/emit.c.inc
M target/i386/tcg/ops_sse_header.h.inc
Log Message:
-----------
target/i386/tcg: mask addresses for VSIB
VSIB can have either 32-bit or 64-bit addresses, pass a constant mask to
the helper and apply it before the load.
Cc: [email protected]
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: ed88bdcfbdcf9d411607cd690f93f915feff6a5b
https://github.com/qemu/qemu/commit/ed88bdcfbdcf9d411607cd690f93f915feff6a5b
Author: Paolo Bonzini <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M target/i386/tcg/decode-new.c.inc
Log Message:
-----------
target/i386/tcg: allow VEX in 16-bit protected mode
VEX is only forbidden in real and vm86 mode; 16-bit protected mode supports
it for some unfathomable reason.
Cc: [email protected]
Reviewed-by: Richard Henderson <[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: c7504ba2a560fd884557f6e5142f03b491aad0c7
https://github.com/qemu/qemu/commit/c7504ba2a560fd884557f6e5142f03b491aad0c7
Author: Vulnerability Report <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M hw/i386/kvm/xen_evtchn.c
Log Message:
-----------
hw/i386/kvm: fix PIRQ bounds check in xen_physdev_map_pirq()
Reject pirq == s->nr_pirqs in xen_physdev_map_pirq().
Fixes: aa98ee38a5 ("hw/xen: Implement emulated PIRQ hypercall support")
Fixes: CVE-2026-0665
Reported-by: DARKNAVY (@DarkNavyOrg) <[email protected]>
Reviewed-by: David Woodhouse <[email protected]>
Signed-off-by: Vulnerability Report <[email protected]>
Link:
https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: a24f045228271391b5c5064ebf049e1f50b6d712
https://github.com/qemu/qemu/commit/a24f045228271391b5c5064ebf049e1f50b6d712
Author: Zhao Liu <[email protected]>
Date: 2026-01-13 (Tue, 13 Jan 2026)
Changed paths:
M rust/Cargo.lock
Log Message:
-----------
rust: Update Cargo.lock
`cargo +nightly build` updates Cargo.lock file.
Reported-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Zhao Liu <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Paolo Bonzini <[email protected]>
Commit: 9ac1aa8b79c7d88926731971f6e608ba6e023f70
https://github.com/qemu/qemu/commit/9ac1aa8b79c7d88926731971f6e608ba6e023f70
Author: Richard Henderson <[email protected]>
Date: 2026-01-15 (Thu, 15 Jan 2026)
Changed paths:
M target/m68k/cpu.c
M target/m68k/cpu.h
M target/m68k/helper.h
M target/m68k/op_helper.c
M target/m68k/translate.c
M tests/tcg/m68k/trap.c
Log Message:
-----------
Merge tag 'm68k-for-11.0-pull-request' of https://github.com/vivier/qemu-m68k
into staging
Pull request for M68K emulation (20250113)
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCgAwFiEEzS913cjjpNwuT1Fz8ww4vT8vvjwFAmlmGEASHGxhdXJlbnRA
# dml2aWVyLmV1AAoJEPMMOL0/L748b/QP/19OY8lzZtUazK5RVTNCZVXkRrr2vQBV
# Geey+OywZiCkREbgS5CniQ8mNUMgajY0RCyrDO5Eb7xLffBdXxGBRBpocnAbsQtj
# HJbgPS7Fg8GJKCecgzwHOhkyb6Yy9A9sleijXGq9CUoJaJAwDQGGO1MPm4jUsMVt
# GVjJG8vm3KbVNXCzgLUfHh72wSoE4S8Fn94DNJxCAEb2FC0C5T24+Yf80JA55hgT
# FRnTIbEbrJyOTVvxwZim3Ye3o2/hk3oQcaFd3ugSKXdJh58/DQi1FSAPyVM26DQu
# qXFK5Zaj9VCMpXG8vjd0SUhJWauJ9WXIRGh+S8HHcWBIxqhRxULBCvjTrPzAN2eJ
# VftrYHQe2ruqocSxWMKAIaX8RY/Og58bMwqWDkWj9r9GT3gttFRLISYdry5KS/mS
# NAlEeLNNazatCgldOrdpfvSm7rMLausuqdNgDLG6tRHwxCDR5SQMnj1hHNE+sn2O
# /Ek7gQ+JfzR5nKw1oBlWyv8ZG9DXJXLgjxX/bxR4FC+xp/QOo+ono59Ma9SjHt/2
# zpWXoIm2YgrfzRJbm7NUHnKkbd8titA1EYO9JZ0/EzPAL+pCwx6WQx+/GnxMKjA8
# 42vaRmi9lGcukXQ3gQeHR+wt/s0SOYNGTgK8tcMuDt28yn9iODijmcQSDyLLAVx4
# FNkp9jL4U+fc
# =LQA5
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 13 Jan 2026 09:02:40 PM AEDT
# gpg: using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg: issuer "[email protected]"
# gpg: Good signature from "Laurent Vivier <[email protected]>" [unknown]
# gpg: aka "Laurent Vivier <[email protected]>" [unknown]
# gpg: aka "Laurent Vivier (Red Hat) <[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: CD2F 75DD C8E3 A4DC 2E4F 5173 F30C 38BD 3F2F BE3C
* tag 'm68k-for-11.0-pull-request' of https://github.com/vivier/qemu-m68k:
target/m68k: Improve CHK and CHK2; implement CMP2
m68k: link.l is only available with 68020+
m68k: fix CAS2 writeback when Dc1==Dc2
Signed-off-by: Richard Henderson <[email protected]>
Commit: 4cfa1ce0365f56832f46ed8a82d8bd954d16be11
https://github.com/qemu/qemu/commit/4cfa1ce0365f56832f46ed8a82d8bd954d16be11
Author: Richard Henderson <[email protected]>
Date: 2026-01-15 (Thu, 15 Jan 2026)
Changed paths:
M hw/i386/kvm/xen_evtchn.c
M rust/Cargo.lock
M target/i386/ops_sse.h
M target/i386/tcg/cc_helper.c
M target/i386/tcg/decode-new.c.inc
M target/i386/tcg/decode-new.h
M target/i386/tcg/emit.c.inc
M target/i386/tcg/ops_sse_header.h.inc
M target/i386/tcg/translate.c
Log Message:
-----------
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* target/i386/tcg fixes
* hw/i386/kvm: fix PIRQ bounds check in xen_physdev_map_pirq()
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCgAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmlmFmIUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroOyDAgAiDTglXIUzvbM1AGRcufyjKMzFeaH
# /aI1UrVno0XT0BsxGqOyR2d8EhtDiBXZe0nS0WBc0KtdUFjVDbnzPT4YF9PPDYwY
# 6KOp7dbfCLuK9gmvSPji3rlEsRrGkawy/WwI7HSzpMT2r/yMUBN/mWUqK359NgUI
# mHZkHyyf78wqSYiSsuKs8SRLfEXa2p3u9kH6F7yZ/CWSUO9o8yanu83nVvF2b12K
# m87SBKGJutuJrp266Id5DyArkbn+vIfpT1wTgsRIAWpRSAZFm/t2xSX/6UTQhmtg
# 5kAL7OCkKh/iHePx5JxtVrkFGGffhZeoSToo8amroyZ1SEXCnk/U1Ksiyg==
# =0p8Y
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 13 Jan 2026 08:54:42 PM AEDT
# gpg: using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg: issuer "[email protected]"
# gpg: Good signature from "Paolo Bonzini <[email protected]>" [unknown]
# gpg: aka "Paolo Bonzini <[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: 46F5 9FBD 57D6 12E7 BFD4 E2F7 7E15 100C CD36 69B1
# Subkey fingerprint: F133 3857 4B66 2389 866C 7682 BFFB D25F 78C7 AE83
* tag 'for-upstream' of https://gitlab.com/bonzini/qemu:
rust: Update Cargo.lock
hw/i386/kvm: fix PIRQ bounds check in xen_physdev_map_pirq()
target/i386/tcg: allow VEX in 16-bit protected mode
target/i386/tcg: mask addresses for VSIB
target/i386/tcg: do not mark all SSE instructions as unaligned
target/i386/tcg: remove dead code
target/i386/tcg: do not leave non-arithmetic flags in CC_SRC after PUSHF
Signed-off-by: Richard Henderson <[email protected]>
Compare: https://github.com/qemu/qemu/compare/d03c3e522eb0...4cfa1ce0365f
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications