From 123aa1325c54e1816824e0881061dfc8f9afb434 Mon Sep 17 00:00:00 2001 From: David Karoly Date: Thu, 4 Nov 2021 20:43:59 +0100 Subject: [PATCH] boot/efi/arm: enable FPU before jumping to kernel Change-Id: I37bb2146102a207e97355e099f6b4160d644c326 Reviewed-on: https://review.haiku-os.org/c/haiku/+/4701 Tested-by: Commit checker robot Reviewed-by: Fredrik Holmqvist Reviewed-by: Adrien Destugues --- src/system/boot/platform/efi/arch/arm/entry.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/system/boot/platform/efi/arch/arm/entry.S b/src/system/boot/platform/efi/arch/arm/entry.S index 49930196a6..14aeb65735 100644 --- a/src/system/boot/platform/efi/arch/arm/entry.S +++ b/src/system/boot/platform/efi/arch/arm/entry.S @@ -26,6 +26,20 @@ FUNCTION(arch_enter_kernel): mov r0,r1 // kernelArgs mov r1,#0 // currentCPU=0 + // enable full access for coprocessors P10, P11 + // by setting the required flags in Access Control Register + MRC p15, #0, r9, c1, c0, #2 + orr r9, r9, #0x00f00000 + MCR p15, #0, r9, c1, c0, #2 + + // flush prefetch buffer + mov r9, #0 + MCR p15, #0, r9, c7, c5, #4 + + // enable FPU + mov r9, #0x40000000 + FMXR FPEXC, r9 + // flush TLB MCR p15, 0, r1, c8, c7, 0