## Goal Drop execution to EL0 so that user code runs unprivileged. ## Tasks - [ ] Implement `drop_to_el0(entry_va, user_sp)`: configure `SPSR_EL1`, `ELR_EL1`, `eret` - [ ] Verify EL0 execution (read `CurrentEL` inside user task — must be 0) - [ ] Confirm kernel memory is inaccessible from EL0 (permission fault fires on access)
Goal
Drop execution to EL0 so that user code runs unprivileged.
Tasks
drop_to_el0(entry_va, user_sp): configureSPSR_EL1,ELR_EL1,eretCurrentELinside user task — must be 0)