Skip to content

Commit f01e342

Browse files
author
Marc Zyngier
committed
KVM: arm64: Simplify handling of HCR_EL2.E2H RESx
Now that we can link the RESx behaviour with the value of HCR_EL2.E2H, we can trivially express the tautological constraint that makes E2H a reserved value at all times. Fun, isn't it? Reviewed-by: Fuad Tabba <tabba@google.com> Tested-by: Fuad Tabba <tabba@google.com> Link: https://patch.msgid.link/20260202184329.2724080-15-maz@kernel.org Signed-off-by: Marc Zyngier <maz@kernel.org>
1 parent d2f629a commit f01e342

1 file changed

Lines changed: 1 addition & 11 deletions

File tree

arch/arm64/kvm/config.c

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -388,16 +388,6 @@ static bool feat_vmid16(struct kvm *kvm)
388388
return kvm_has_feat_enum(kvm, ID_AA64MMFR1_EL1, VMIDBits, 16);
389389
}
390390

391-
static bool compute_hcr_e2h(struct kvm *kvm, struct resx *bits)
392-
{
393-
if (kvm_has_feat(kvm, FEAT_E2H0))
394-
bits->res0 |= HCR_EL2_E2H;
395-
else
396-
bits->res1 |= HCR_EL2_E2H;
397-
398-
return true;
399-
}
400-
401391
static const struct reg_bits_to_feat_map hfgrtr_feat_map[] = {
402392
NEEDS_FEAT(HFGRTR_EL2_nAMAIR2_EL1 |
403393
HFGRTR_EL2_nMAIR2_EL1,
@@ -1017,7 +1007,7 @@ static const struct reg_bits_to_feat_map hcr_feat_map[] = {
10171007
NEEDS_FEAT(HCR_EL2_TWEDEL |
10181008
HCR_EL2_TWEDEn,
10191009
FEAT_TWED),
1020-
NEEDS_FEAT_FIXED(HCR_EL2_E2H, compute_hcr_e2h),
1010+
NEEDS_FEAT_FLAG(HCR_EL2_E2H, RES1_WHEN_E2H1 | FORCE_RESx),
10211011
FORCE_RES0(HCR_EL2_RES0),
10221012
FORCE_RES1(HCR_EL2_RES1),
10231013
};

0 commit comments

Comments
 (0)