We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
The CPU succesfully switches to EL1h, non-secure. But the el1_entry is never called. I don't know why. If using secure el1, the el1_entry gets called. Compiled using clang -c boot.S -o boot.o, and linked with ld. Any help would be appreciated.
global _Entry
_Entry:
mrs x0, scr_el3
orr x0, x0, #(1 << 10)
orr x0, x0, #(1 << 0)
msr scr_el3, x0
mov x0, #0b00101
msr spsr_el3, x0
adr x1, el1_entry
msr elr_el3, x1
eret
el1_entry:
ldr x15, =0xdeadbeef
b .