Skip to content

Commit 5d20605

Browse files
broonieMarc Zyngier
authored andcommitted
KVM: arm64: Expose FEAT_LSFE to guests
FEAT_LSFE (Large System Float Extension), providing atomic floating point memory operations, is optional from v9.5. This feature adds no new architectural state, expose the relevant ID register field to guests so they can discover it. Signed-off-by: Mark Brown <broonie@kernel.org> Reviewed-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Marc Zyngier <maz@kernel.org>
1 parent 557c82a commit 5d20605

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

arch/arm64/kvm/sys_regs.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1642,7 +1642,8 @@ static u64 __kvm_read_sanitised_id_reg(const struct kvm_vcpu *vcpu,
16421642
val &= ~ARM64_FEATURE_MASK(ID_AA64ISAR2_EL1_WFxT);
16431643
break;
16441644
case SYS_ID_AA64ISAR3_EL1:
1645-
val &= ID_AA64ISAR3_EL1_FPRCVT | ID_AA64ISAR3_EL1_FAMINMAX;
1645+
val &= ID_AA64ISAR3_EL1_FPRCVT | ID_AA64ISAR3_EL1_LSFE |
1646+
ID_AA64ISAR3_EL1_FAMINMAX;
16461647
break;
16471648
case SYS_ID_AA64MMFR2_EL1:
16481649
val &= ~ID_AA64MMFR2_EL1_CCIDX_MASK;
@@ -2991,6 +2992,7 @@ static const struct sys_reg_desc sys_reg_descs[] = {
29912992
ID_AA64ISAR2_EL1_APA3 |
29922993
ID_AA64ISAR2_EL1_GPA3)),
29932994
ID_WRITABLE(ID_AA64ISAR3_EL1, (ID_AA64ISAR3_EL1_FPRCVT |
2995+
ID_AA64ISAR3_EL1_LSFE |
29942996
ID_AA64ISAR3_EL1_FAMINMAX)),
29952997
ID_UNALLOCATED(6,4),
29962998
ID_UNALLOCATED(6,5),

0 commit comments

Comments
 (0)