Subject: Re: [PATCH] arm64: Clear VTCR_EL2 in __init_el2_stage2()

From: Marc Zyngier <[email-masked]>
Date: Fri, 13 Mar 2026 07:25:55 +0000

On Fri, 13 Mar 2026 05:38:57 +0000,
Anshuman Khandual <[email-masked]> 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.