Commit Graph

33 Commits

Author SHA1 Message Date
Andre Richter
d09374710d
Some rework on virtual memory code
- Mostly more spearation of concerns in 15.
- Cleanups in other parts.
2021-03-15 22:07:01 +01:00
Andre Richter
2f90304149
Add color and verbosity to Makefile 2021-03-12 23:44:10 +01:00
Andre Richter
aeadda4b7e
Bump dependencies 2021-03-07 21:06:48 +01:00
Andre Richter
6db8b2bc72
Update toolchain 2021-03-07 21:01:44 +01:00
Andre Richter
a5884321a7
Fix rustdoc warnings 2021-01-29 22:30:02 +01:00
Andre Richter
dc9b3c0f38
Add isb before timer read 2021-01-29 22:26:45 +01:00
Andre Richter
8324b1fdac
PL011: Use BUSY bit
Fixes #100
2021-01-28 23:25:57 +01:00
Andre Richter
c8e9b9713f
update deps 2021-01-23 22:53:26 +01:00
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.
2021-01-23 22:43:59 +01:00
Andre Richter
c35a30cd0b Bump UART to 921_600 baud + other bugfixes
Fixes #95
Fixes #98

Co-authored-by: Takumasa Sakao <sakataku7@gmail.com>
2021-01-04 17:11:48 +01:00
Andre Richter
f2a891236e
Remove unused feature 2021-01-02 16:00:16 +01:00
Andre Richter
ee52e8e288
Bump UART to 576000 baud 2021-01-01 23:12:42 +01:00
Andre Richter
1d2b5ad022
Memory Mapping: Improve various aspects 2021-01-01 21:03:18 +01:00
Andre Richter
9b89f297d7
Update dependencies 2021-01-01 12:04:01 +01:00
Andre Richter
44bb3f8942
Update copyright year 2021-01-01 11:28:32 +01:00
Andre Richter
18c7259c60
Default to externally powered RPis
Addresses issues in #86
2020-12-27 00:06:43 +01:00
Andre Richter
dad68abdc6
Update dependencies 2020-12-23 22:41:10 +01:00
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.
2020-12-09 22:27:30 +01:00
Andre Richter
e8d30392d0
Add LTO 2020-11-23 22:44:31 +01:00
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.
2020-11-23 22:34:20 +01:00
Andre Richter
537f8b0386
readme updates 2020-11-20 22:34:04 +01:00
Andre Richter
bd16dfe4b3
Demangle++: Pipe through rustfilt 2020-11-20 22:27:21 +01:00
Andre Richter
5c193d5803
Change to a simpler mutex API 2020-11-20 22:05:14 +01:00
Andre Richter
02f9f34af3
More sound Phantom in MMIO deref wrapper 2020-11-19 22:53:43 +01:00
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
2020-11-14 10:18:29 +01:00
Andre Richter
098e19ecc4
Fix zero-sized bss handling 2020-11-01 21:32:53 +01:00
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.
2020-11-01 15:58:05 +01:00
Andre Richter
9e6ef76aeb
Make cortex-a platform specific dep 2020-10-28 11:45:28 +01:00
Andre Richter
e7a13e81b8
Upgrade to cortex-a 4.x.x 2020-10-28 11:27:43 +01:00
Andre Richter
208f547f29
Remove needless extern C 2020-10-06 00:01:50 +02:00
Andre Richter
27a1d10cc3
Remove UB in linker script symbol <-> Rust handover 2020-10-05 23:47:18 +02:00
Andre Richter
8fc250fc08
Streamline READMEs 2020-10-04 22:30:07 +02:00
Andre Richter
72215fcdb5
Shorten tutorial names 2020-10-04 22:17:02 +02:00