]> git.proxmox.com Git - mirror_qemu.git/commit
target/arm: Make FPSCR/FPCR trapped-exception bits RAZ/WI
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 5 Feb 2019 16:52:42 +0000 (16:52 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 5 Feb 2019 16:52:42 +0000 (16:52 +0000)
commita15945d98d3a3390c3da344d1b47218e91e49d8b
tree0c871c030e99e8d219fcbb9d40efeb4d596741d8
parent5614ca800e05dc07e4045b7738351058538c6079
target/arm: Make FPSCR/FPCR trapped-exception bits RAZ/WI

The {IOE, DZE, OFE, UFE, IXE, IDE} bits in the FPSCR/FPCR are for
enabling trapped IEEE floating point exceptions (where IEEE exception
conditions cause a CPU exception rather than updating the FPSR status
bits). QEMU doesn't implement this (and nor does the hardware we're
modelling), but for implementations which don't implement trapped
exception handling these control bits are supposed to be RAZ/WI.
This allows guest code to test for whether the feature is present
by trying to write to the bit and checking whether it sticks.

QEMU is incorrectly making these bits read as written. Make them
RAZ/WI as the architecture requires.

In particular this was causing problems for the NetBSD automatic
test suite.

Reported-by: Martin Husemann <martin@netbsd.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20190131130700.28392-1-peter.maydell@linaro.org
target/arm/cpu.h
target/arm/helper.c