diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2025-07-31 14:43:38 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2025-08-01 16:48:50 +0100 |
commit | 4f2b82f60431e4792ecfd86a4d6b824248ee4c21 (patch) | |
tree | ba2cae5e5ae54572a797f2c8dc30e7976296f3e9 /hw/avr/arduino.c | |
parent | e7b77e681f8ecf7d9360e47243f7c1a0fb88f51c (diff) | |
download | qemu-4f2b82f60431e4792ecfd86a4d6b824248ee4c21.zip qemu-4f2b82f60431e4792ecfd86a4d6b824248ee4c21.tar.gz qemu-4f2b82f60431e4792ecfd86a4d6b824248ee4c21.tar.bz2 |
target/arm: Reinstate bogus AArch32 DBGDTRTX register for migration compat
In commit 655659a74a we fixed some bugs in the encoding of the
Debug Communications Channel registers, including that we were
incorrectly exposing an AArch32 register at p14, 3, c0, c5, 0.
Unfortunately removing a register is a break of forwards migration
compatibility for TCG, because we will fail the migration if the
source QEMU passes us a cpreg which the destination QEMU does not
have. We don't have a mechanism for saying "it's OK to ignore this
sysreg in the inbound data", so for the 10.1 release reinstate the
incorrect AArch32 register.
(We probably have had other cases in the past of breaking migration
compatibility like this, but we didn't notice because we didn't test
and in any case not that many people care about TCG migration
compatibility. KVM migration compat is not affected because for KVM
we treat the kernel as the source of truth for what system registers
are present.)
Fixes: 655659a74a36b ("target/arm: Correct encoding of Debug Communications Channel registers")
Reported-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20250731134338.250203-1-peter.maydell@linaro.org
Diffstat (limited to 'hw/avr/arduino.c')
0 files changed, 0 insertions, 0 deletions