diff options
author | Christian Cunningham <cc@localhost> | 2022-01-19 12:00:26 -0700 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-01-19 12:00:26 -0700 |
commit | d22b1c3cde432ea96408c329fe78fbf0a9da9a8e (patch) | |
tree | 0a0913819d7486ad31ca73111a4eef966f91fd3d | |
parent | 17bf7c7f1805fa70bf5a768c535df8f1ca9c0321 (diff) |
Added info
-rw-r--r-- | README.md | 34 |
1 files changed, 34 insertions, 0 deletions
@@ -12,6 +12,40 @@ https://elinux.org/RPi_Framebuffer https://github.com/bztsrc/raspi3-tutorial https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials +// PRIV LEVL: https://developer.arm.com/documentation/den0013/d/ARM-Processor-Modes-and-Registers +// MODES: https://developer.arm.com/documentation/ddi0406/c/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-processor-modes?lang=en +// EXCEPTION HANDLING: https://developer.arm.com/documentation/ddi0406/c/System-Level-Architecture/The-System-Level-Programmers--Model/Exception-handling?lang=en +// MODE REGISTERS: https://developer.arm.com/documentation/ddi0406/c/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-core-registers?lang=en + ## Todo Implement Scheduler for IRQ Fix mutex with scheduler +Implement handlers +Put threads in user mode + + +Note: SYS and USER share registers but differ in privlige + + +# Modes +From https://developer.arm.com/documentation/den0013/d/ARM-Processor-Modes-and-Registers +User: 10000 PL0 +FIQ : 10001 PL1 +IRQ : 10010 PL1 +SVC : 10011 PL1 +ABT : 10111 PL1 +UND : 11011 PL1 +SYS : 11111 PL1 + +# Registers +From https://developer.arm.com/documentation/ddi0406/c/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/ARM-core-registers?lang=en +User: r0-12_usr,sp_usr,lr_usr,CPSR +FIQ: r8-r12_fiq,sp_fiq,lr_fiq,SPSR_fiq +IRQ: sp_irq,lr_irq,SPSR_irq +SVC: sp_svc,lr_svc,SPSR_svc +ABT: sp_abt,lr_abt,SPSR_abt +UND: sp_und,lr_und,SPSR_und +SYS: Same as user + +# Program Status Registers +https://developer.arm.com/documentation/ddi0406/c/System-Level-Architecture/The-System-Level-Programmers--Model/ARM-processor-modes-and-ARM-core-registers/Program-Status-Registers--PSRs-?lang=en#CIHJBHJA |