42 Commits (a5884321a717f0f4f9252cbcc0f7df84b92bc119)

Author SHA1 Message Date
Andre Richter a5884321a7
Fix rustdoc warnings 3 years ago
Andre Richter dc9b3c0f38
Add isb before timer read 3 years ago
Andre Richter 8324b1fdac
PL011: Use BUSY bit
Fixes #100
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 c35a30cd0b Bump UART to 921_600 baud + other bugfixes
Fixes #95
Fixes #98

Co-authored-by: Takumasa Sakao <sakataku7@gmail.com>
4 years ago
Andre Richter f2a891236e
Remove unused feature 4 years ago
Andre Richter ee52e8e288
Bump UART to 576000 baud 4 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 02f9f34af3
More sound Phantom in MMIO deref wrapper 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 098e19ecc4
Fix zero-sized bss handling 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 64658a6ce9
Bump toolchain version 4 years ago
Andre Richter 677b274a1f
Add a panic version of the GPIO to panic!() 4 years ago
Andre Richter 6a5f3758fa
Remove/reshuffle features 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 37b9d1435e
Move anything wrt linker symbols to bsp::memory
Also, some rewording of data types.
4 years ago
Andre Richter af0214f0f6
State: Encapsulate state check into member function 4 years ago
Andre Richter b585f64e30
Shuffle constant to more fitting module 4 years ago
Andre Richter 5a793e5fcb
Wording 4 years ago
Andre Richter 7e14b246d7
Explicitly set exception vectors in link.ld 4 years ago
Carl Fredrik Samson 0afffdeac7 Added short explanation of the BRD calculations for setting up UART re #70 4 years ago
Andre Richter 87e74f62cd
UART: Fix FBRD
Closes #70

Co-authored-by: Carl Fredrik Samson <cfsamson@users.noreply.github.com>
4 years ago
Andre Richter c78568bba1
Update some links 4 years ago
Andre Richter 3a0b676402
Use MMIODerefWrapper everywhere 4 years ago
Andre Richter 87d82ea559
Use MIS instead of RIS 4 years ago
Andre Richter a362a84592
14: Improve pl011 code 4 years ago
Andre Richter 9cc0f4a5ef
Remove now obsolete const_if feature 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 ed5cada47e
Remove attributes ignored by rustfmt. 4 years ago
Andre Richter 1337092a2a
Format driver includes for better readability 4 years ago
Andre Richter 1d34a4e42e
Add tutorial 14: Peripheral Interrupts 4 years ago