From mboxrd@z Thu Jan 1 00:00:00 1970 From: marc.zyngier@arm.com (Marc Zyngier) Date: Sat, 09 Dec 2017 17:24:38 +0000 Subject: [PATCH v2 02/36] KVM: arm64: Rework hyp_panic for VHE and non-VHE In-Reply-To: <20171207170630.592-3-christoffer.dall@linaro.org> References: <20171207170630.592-1-christoffer.dall@linaro.org> <20171207170630.592-3-christoffer.dall@linaro.org> Message-ID: <867etvstk9.wl-marc.zyngier@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 07 Dec 2017 17:05:56 +0000, Christoffer Dall wrote: > > VHE actually doesn't rely on clearing the VTTBR when returning to the > host kernel, and that is the current key mechanism of hyp_panic to > figure out how to attempt to return to a state good enough to print a > panic statement. > > Therefore, we split the hyp_panic function into two functions, a VHE and > a non-VHE, keeping the non-VHE version intact, but changing the VHE > behavior. > > The vttbr_el2 check on VHE doesn't really make that much sense, because > the only situation where we can get here on VHE is when the hypervisor > assembly code actually called into hyp_panic, which only happens when > VBAR_EL2 has been set to the KVM exception vectors. On VHE, we can > always safely disable the traps and restore the host registers at this > point, so we simply do that unconditionally and call into the panic > function directly. > > Signed-off-by: Christoffer Dall Acked-by: Marc Zyngier M. -- Jazz is not dead, it just smell funny.