Skip to content

Commit a0aae0a

Browse files
Marc Zyngieroupton
authored andcommitted
KVM: arm64: Advertise FGT2 registers to userspace
While a guest is able to use the FEAT_FGT2 registers, we're missing them being exposed to userspace. Add them to the (very long) list. Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Oliver Upton <[email protected]>
1 parent 72c6270 commit a0aae0a

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

arch/arm64/kvm/sys_regs.c

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2592,6 +2592,16 @@ static unsigned int tcr2_el2_visibility(const struct kvm_vcpu *vcpu,
25922592
return __el2_visibility(vcpu, rd, tcr2_visibility);
25932593
}
25942594

2595+
static unsigned int fgt2_visibility(const struct kvm_vcpu *vcpu,
2596+
const struct sys_reg_desc *rd)
2597+
{
2598+
if (el2_visibility(vcpu, rd) == 0 &&
2599+
kvm_has_feat(vcpu->kvm, ID_AA64MMFR0_EL1, FGT, FGT2))
2600+
return 0;
2601+
2602+
return REG_HIDDEN;
2603+
}
2604+
25952605
static unsigned int fgt_visibility(const struct kvm_vcpu *vcpu,
25962606
const struct sys_reg_desc *rd)
25972607
{
@@ -3341,9 +3351,14 @@ static const struct sys_reg_desc sys_reg_descs[] = {
33413351
vncr_el2_visibility),
33423352

33433353
{ SYS_DESC(SYS_DACR32_EL2), undef_access, reset_unknown, DACR32_EL2 },
3354+
EL2_REG_VNCR_FILT(HDFGRTR2_EL2, fgt2_visibility),
3355+
EL2_REG_VNCR_FILT(HDFGWTR2_EL2, fgt2_visibility),
3356+
EL2_REG_VNCR_FILT(HFGRTR2_EL2, fgt2_visibility),
3357+
EL2_REG_VNCR_FILT(HFGWTR2_EL2, fgt2_visibility),
33443358
EL2_REG_VNCR_FILT(HDFGRTR_EL2, fgt_visibility),
33453359
EL2_REG_VNCR_FILT(HDFGWTR_EL2, fgt_visibility),
33463360
EL2_REG_VNCR_FILT(HAFGRTR_EL2, fgt_visibility),
3361+
EL2_REG_VNCR_FILT(HFGITR2_EL2, fgt2_visibility),
33473362
EL2_REG_REDIR(SPSR_EL2, reset_val, 0),
33483363
EL2_REG_REDIR(ELR_EL2, reset_val, 0),
33493364
{ SYS_DESC(SYS_SP_EL1), access_sp_el1},

0 commit comments

Comments
 (0)