Andre Richter
5887503f8a
Fix explanation
4 years ago
Andre Richter
223989adb9
Overhaul linker script
4 years ago
Andre Richter
d09374710d
Some rework on virtual memory code
...
- Mostly more spearation of concerns in 15.
- Cleanups in other parts.
4 years ago
Andre Richter
5e65a80145
Rework conditional compilation for lib.rs for tests
4 years ago
Andre Richter
6db8b2bc72
Update toolchain
4 years ago
Andre Richter
a5884321a7
Fix rustdoc warnings
4 years ago
Andre Richter
dc9b3c0f38
Add isb before timer read
4 years ago
Andre Richter
8324b1fdac
PL011: Use BUSY bit
...
Fixes #100
4 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.
4 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.
5 years ago
Andre Richter
1337092a2a
Format driver includes for better readability
5 years ago
Andre Richter
1d34a4e42e
Add tutorial 14: Peripheral Interrupts
5 years ago