baremetal: all examples working, all failures accounted for!

SIMD&FP is now enabled in arm from bootloader.
This commit is contained in:
Ciro Santilli 六四事件 法轮功
2019-05-25 00:00:01 +00:00
parent 8825222579
commit add6eedb76
21 changed files with 181 additions and 90 deletions

View File

@@ -2,15 +2,15 @@
.global lkmc_start
lkmc_start:
/* = NEON setup */
mov x1, #(0x3 << 20)
msr cpacr_el1, x1
isb
/* Load the vector table. */
ldr x0, =lkmc_vector_table
msr vbar_el1, x0
/* https://github.com/cirosantilli/linux-kernel-module-cheat#aarch64-baremetal-neon-setup */
mov x1, 0x3 << 20
msr cpacr_el1, x1
isb
/* Prepare the stack for main, mandatory for C code. */
ldr x0, =stack_top
mov sp, x0
@@ -30,8 +30,8 @@ LKMC_VECTOR_TABLE
/* Default trap handler. */
LKMC_WEAK(lkmc_vector_trap_handler)
ldr x0, =lkmc_vector_trap_handler_error
ldr x0, =lkmc_vector_trap_handler_error_message
bl puts
bl abort
lkmc_vector_trap_handler_error:
lkmc_vector_trap_handler_error_message:
.asciz "error: unexpected interrupt"