Commit 1cf3e126 authored by Oliver Upton's avatar Oliver Upton
Browse files

arm64: Convert HPFAR_EL2 to sysreg table



Switch over to the typical sysreg table for HPFAR_EL2 as we're about to
start using more fields in the register.

Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20250402201725.2963645-3-oliver.upton@linux.dev


Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
parent fb8a3eba
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -305,7 +305,9 @@ static __always_inline unsigned long kvm_vcpu_get_hfar(const struct kvm_vcpu *vc

static __always_inline phys_addr_t kvm_vcpu_get_fault_ipa(const struct kvm_vcpu *vcpu)
{
	return ((phys_addr_t)vcpu->arch.fault.hpfar_el2 & HPFAR_MASK) << 8;
	u64 hpfar = vcpu->arch.fault.hpfar_el2;

	return FIELD_GET(HPFAR_EL2_FIPA, hpfar) << 12;
}

static inline u64 kvm_vcpu_get_disr(const struct kvm_vcpu *vcpu)
+1 −1
Original line number Diff line number Diff line
@@ -578,7 +578,7 @@ void handle_host_mem_abort(struct kvm_cpu_context *host_ctxt)
		return;
	}

	addr = (fault.hpfar_el2 & HPFAR_MASK) << 8;
	addr = FIELD_GET(HPFAR_EL2_FIPA, fault.hpfar_el2) << 12;
	ret = host_stage2_idmap(addr);
	BUG_ON(ret && ret != -EAGAIN);
}
+7 −0
Original line number Diff line number Diff line
@@ -3433,3 +3433,10 @@ Field 5 F
Field	4	P
Field	3:0	Align
EndSysreg

Sysreg	HPFAR_EL2	3	4	6	0	4
Field	63	NS
Res0	62:48
Field	47:4	FIPA
Res0	3:0
EndSysreg