Commit dfeb9168 authored by Marc Zyngier's avatar Marc Zyngier Committed by Oliver Upton
Browse files

KVM: arm64: nv: Add missing EL2->EL1 mappings in get_el2_to_el1_mapping()



As KVM has grown a bunch of new system register for NV, it appears
that we are missing them in the get_el2_to_el1_mapping() list.

Most of them are not crucial as they don't tend to be accessed via
vcpu_read_sys_reg() and vcpu_write_sys_reg().

Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20241023145345.1613824-6-maz@kernel.org


Signed-off-by: default avatarOliver Upton <oliver.upton@linux.dev>
parent a5c870d0
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -110,6 +110,14 @@ static bool get_el2_to_el1_mapping(unsigned int reg,
		PURE_EL2_SYSREG(  RVBAR_EL2	);
		PURE_EL2_SYSREG(  TPIDR_EL2	);
		PURE_EL2_SYSREG(  HPFAR_EL2	);
		PURE_EL2_SYSREG(  HCRX_EL2	);
		PURE_EL2_SYSREG(  HFGRTR_EL2	);
		PURE_EL2_SYSREG(  HFGWTR_EL2	);
		PURE_EL2_SYSREG(  HFGITR_EL2	);
		PURE_EL2_SYSREG(  HDFGRTR_EL2	);
		PURE_EL2_SYSREG(  HDFGWTR_EL2	);
		PURE_EL2_SYSREG(  HAFGRTR_EL2	);
		PURE_EL2_SYSREG(  CNTVOFF_EL2	);
		PURE_EL2_SYSREG(  CNTHCTL_EL2	);
		MAPPED_EL2_SYSREG(SCTLR_EL2,   SCTLR_EL1,
				  translate_sctlr_el2_to_sctlr_el1	     );
@@ -130,6 +138,7 @@ static bool get_el2_to_el1_mapping(unsigned int reg,
		MAPPED_EL2_SYSREG(ELR_EL2,     ELR_EL1,	    NULL	     );
		MAPPED_EL2_SYSREG(SPSR_EL2,    SPSR_EL1,    NULL	     );
		MAPPED_EL2_SYSREG(ZCR_EL2,     ZCR_EL1,     NULL	     );
		MAPPED_EL2_SYSREG(CONTEXTIDR_EL2, CONTEXTIDR_EL1, NULL	     );
	default:
		return false;
	}