]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/arm/hvf: sign extend the data for a load operation when SSE=1
authorJoelle van Dyne <j@getutm.app>
Mon, 24 Feb 2025 18:41:23 +0000 (10:41 -0800)
committerMichael Tokarev <mjt@tls.msk.ru>
Tue, 18 Mar 2025 06:02:47 +0000 (09:02 +0300)
commit16549930bb813c36ddf5b8902239b6920eea7687
tree501a75817fbf41177623af9b19b89f050cf7737c
parent576338eea1fcdae1d41edc6c1b092bca3e8efb62
target/arm/hvf: sign extend the data for a load operation when SSE=1

In the syndrome value for a data abort, bit 21 is SSE, which is
set to indicate that the abort was on a sign-extending load. When
we handle the data abort from the guest via address_space_read(),
we forgot to handle this and so would return the wrong value if
the guest did a sign-extending load to an MMIO region. Add the
sign-extension of the returned data.

Cc: qemu-stable@nongnu.org
Signed-off-by: Joelle van Dyne <j@getutm.app>
Message-id: 20250224184123.50780-1-j@getutm.app
[PMM: Drop an unnecessary check on 'len'; expand commit message]
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
(cherry picked from commit 12c365315ab25d364cff24dfeea8d7ff1e752b9f)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
target/arm/hvf/hvf.c