You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andre Richter ad2d0d1182
🎉 Update to Rust 2018 🎉
6 years ago
..
.cargo First part of tutorial: 0B_exception_levels 6 years ago
raspi3_boot 🎉 Update to Rust 2018 🎉 6 years ago
src 🎉 Update to Rust 2018 🎉 6 years ago
Cargo.lock 🎉 Update to Rust 2018 🎉 6 years ago
Cargo.toml 🎉 Update to Rust 2018 🎉 6 years ago
Makefile Add nm target 6 years ago
README.md Use SP_EL1 as EL1 stack instead of SP_EL0 6 years ago
kernel8 🎉 Update to Rust 2018 🎉 6 years ago
kernel8.img 🎉 Update to Rust 2018 🎉 6 years ago
link.ld Alignment. Binaries from newer Rust version. 6 years ago

README.md

Tutorial 0B - Exception Levels

This is a stub

This tutorial covers a very exciting and central feature of the Raspberry Pi's Cortex-A53 processor: Exception levels.

TODO: Write rest of tutorial.

raspi3_boot::setup_and_enter_el1_from_el2::hb2c2ac4f6a7ddb7e:
   80954:       e8 03 1f aa     mov     x8, xzr
   80958:       e9 07 00 32     orr     w9, wzr, #0x3
   8095c:       4a 00 80 52     mov     w10, #0x2
   80960:       0a 00 b0 72     movk    w10, #0x8000, lsl #16
   80964:       09 e1 1c d5     msr     CNTHCTL_EL2, x9
   80968:       68 e0 1c d5     msr     CNTVOFF_EL2, x8
   8096c:       08 00 00 90     adrp    x8, #0x0
   80970:       ab 78 80 52     mov     w11, #0x3c5
   80974:       0a 11 1c d5     msr     HCR_EL2, x10
   80978:       ec 03 0d 32     orr     w12, wzr, #0x80000
   8097c:       08 81 24 91     add     x8, x8, #0x920
   80980:       0b 40 1c d5     msr     SPSR_EL2, x11
   80984:       28 40 1c d5     msr     ELR_EL2, x8
   80988:       0c 41 1c d5     msr     SP_EL1, x12
   8098c:       e0 03 9f d6     eret