31 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 c8e9b9713f
update deps 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 9b89f297d7
Update dependencies 4 years ago
Andre Richter 44bb3f8942
Update copyright year 4 years ago
Andre Richter cf34736f55
update deps 4 years ago
Andre Richter 18c7259c60
Default to externally powered RPis
Addresses issues in #86
4 years ago
Andre Richter dad68abdc6
Update dependencies 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 6eafd7c81e
Bump rubocop version; Fix issues 4 years ago
Andre Richter e8d30392d0
Add LTO 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 bd16dfe4b3
Demangle++: Pipe through rustfilt 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 b30bc518c4
Switch to GCC objdump and nm
The GCC versions of `objdump` and `nm` seem to have better out-of-the-box
support (for AArch64). Demangling works better, and instructions in objdump are
presented as 4 bytes instead of 4 * 1 bytes, which helps a lot.

Hence, switch to the GCC versions for now until LLVM has caught up.
4 years ago
Andre Richter 9e6ef76aeb
Make cortex-a platform specific dep 4 years ago
Andre Richter e7a13e81b8
Upgrade to cortex-a 4.x.x 4 years ago
Andre Richter 690716e4af
add toml extension to .cargo/config file 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 8fc250fc08
Streamline READMEs 4 years ago
Andre Richter 72215fcdb5
Shorten tutorial names 4 years ago