openwrt/target/linux/bcm4908/patches-5.15/301-arm64-don-t-issue-HVC-on-boot.patch
Rafał Miłecki 86cf0f93f1 bcm4908: add HVC workaround for booting kernel 5.15
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
2023-03-16 23:34:56 +01:00

31 lines
956 B
Diff

From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
Date: Thu, 12 Aug 2021 11:52:42 +0200
Subject: [PATCH] arm64: don't issue HVC on boot
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Broadcom's CFE loader seems to miss setting SCR_EL3.HCE which results in
generating an UNDEF and kernel panic on the first HVC.
HVC gets issued by kernels 5.12+ while booting, by kexec and KVM. Until
someone finds a workaround we have to avoid all above.
Workarounds: 0c93df9622d4 ("arm64: Initialise as nVHE before switching to VHE")
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
arch/arm64/kernel/hyp-stub.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/arm64/kernel/hyp-stub.S
+++ b/arch/arm64/kernel/hyp-stub.S
@@ -238,7 +238,7 @@ SYM_FUNC_START(switch_to_vhe)
// Turn the world upside down
mov x0, #HVC_VHE_RESTART
- hvc #0
+// hvc #0
1:
ret
SYM_FUNC_END(switch_to_vhe)