[PATCH] arm64: Clear VTCR_EL2 in __init_el2_stage2()

Marc Zyngier maz at kernel.org
Fri Mar 13 00:25:55 PDT 2026


On Fri, 13 Mar 2026 05:38:57 +0000,
Anshuman Khandual <anshuman.khandual at arm.com> wrote:
> 
> Clear VTCR_EL2 along with VTTBR_EL2 register in __init_el2_stage2(), which
> ensures that MMU stage-2 translation remain disabled. Although clearing out
> VTTBR_EL2 probably should have been sufficient but adding VTCR_EL2 improves
> overall safety.

This serves no purpose whatsoever. Even the write to VTTBR_EL2 is
pointless, and writing 0 is no better than writing *any* other value.

The only thing that matters at this stage is HCR_EL2.VM, which
actually controls stage-2 translation (contrary to your above
assertion). This of course is not captured by this macro.

So what are you *really* trying to achieve?

Thanks,

	M.

-- 
Jazz isn't dead. It just smells funny.



More information about the linux-arm-kernel mailing list