21 Commits (5e65a801457dfbd7aece97f5d4723abdfce85274)

Author SHA1 Message Date
Andre Richter 5e65a80145
Rework conditional compilation for lib.rs for tests 3 years ago
Andre Richter dc9b3c0f38
Add isb before timer read 3 years ago
Andre Richter e7cb61b389
Refactoring
- Don't wildcard-import from arch modules. Make it explicit.
- Put translation table code into its own module.
- Put boot code in boot.rs instead of cpu.rs
- Other minor changes, most memory subsystem.
3 years ago
Andre Richter 1d2b5ad022
Memory Mapping: Improve various aspects 4 years ago
Andre Richter 44bb3f8942
Update copyright year 4 years ago
Andre Richter d212348931
Bump compiler version.
We have to remove the `#[naked]` attribute from `_start` for now, since it emits
a warning now when used with non-asm statements in the function body. For now,
just hope for the compiler's mercy to not emit code using the stack pointer
before we've actually set up a stack.
4 years ago
Andre Richter 2c3f705051
Update dependencies
register-rs 1.0.0 now uses UnsafeCell internally, which means we lost the Copy
derive on InMemoryRegister.

Therefore, a small set of changes was needed in the MMU driver to dance around
the static array init depending on a Copy type.
4 years ago
Andre Richter 5c193d5803
Change to a simpler mutex API 4 years ago
Andre Richter 163e2010ab
GPIO: Fix RPi4 driver init
The RPi4 GPIO pull-up/pull down sequence is done differently than on the
RPi3. Switch to using the correct way.

Also, configure pull-ups for both UART pins.

Fixes #81
4 years ago
Andre Richter e7a13e81b8
Upgrade to cortex-a 4.x.x 4 years ago
Andre Richter 208f547f29
Remove needless extern C 4 years ago
Andre Richter 27a1d10cc3
Remove UB in linker script symbol <-> Rust handover 4 years ago
Andre Richter 7b0ae693c7
Switch to qemu-exit 1.0.x 4 years ago
Andre Richter 22faff5229
Various finetunings 4 years ago
Andre Richter e7df5b2982
Use InMemoryRegister in MMU driver 4 years ago
Andre Richter b585f64e30
Shuffle constant to more fitting module 4 years ago
Andre Richter 5a793e5fcb
Wording 4 years ago
Andre Richter cfc3bfc996
Switch to new Rust inline asm! syntax 4 years ago
Andre Richter 82f97c000b
Switch to llvm_asm! to avoid future breakage 4 years ago
Andre Richter 681092829c
Bump to cortex-a 3.0.0 4 years ago
Andre Richter 1d34a4e42e
Add tutorial 14: Peripheral Interrupts 4 years ago