[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] AArch64: ZCR and ARM_CP_SVE/ARM_CP_FPU flags
From: |
Laurent Desnogues |
Subject: |
[Qemu-devel] AArch64: ZCR and ARM_CP_SVE/ARM_CP_FPU flags |
Date: |
Wed, 23 May 2018 08:49:01 +0200 |
Hi,
ZCR system registers are both flagged as ARM_CP_SVE and ARM_CP_FPU,
which results in an assertion failure in fp_access_check due to the
check of these flags in handle_sys:
if ((ri->type & ARM_CP_SVE) && !sve_access_check(s)) {
return;
}
if ((ri->type & ARM_CP_FPU) && !fp_access_check(s)) {
return;
}
sve_access_check calls fp_access_check so the assert
!s->fp_access_checked in the second call to fp_access_check will fail.
I took a quick look at sve_exception_el and given that it checks that
FPU is enabled, can't we just remove the ARM_CP_FPU flag from ZCR?
Alternatively the second call to fp_access_check when ARM_CP_FPU is
defined could be skipped if ARM_CP_SVE is set.
Thanks,
Laurent
- [Qemu-devel] AArch64: ZCR and ARM_CP_SVE/ARM_CP_FPU flags,
Laurent Desnogues <=