Berkus Decker
637304bdb3
feat: ✨ Add better nm output
...
Demangle and sort by symbol address.
2022-02-10 02:16:28 +02:00
Berkus Decker
cfe4a230de
feat: ✨ Add chainboot boot loader
2022-02-10 02:15:57 +02:00
Berkus Decker
3c57c6e2df
fix: 🐛 Calculate PL011 divisors, fix PullUp/Down init
...
Rename registers in an attempt to make them more
readable.
2022-02-10 02:15:18 +02:00
Berkus Decker
e5a3ea6998
refactor: 📦 Update Mailbox code
2022-02-10 02:15:18 +02:00
Berkus Decker
8f26c6fa44
refactor: 📦 Clean up code
...
Debugging with jtag.
Explicitly default to no features.
Allow unused allocator code.
Add board selection.
Add RPi4 datasheet.
Add explanation on bss alignment type.
2022-02-10 02:15:18 +02:00
Berkus Decker
f76fab3fff
chore: ♻️ Use different DTB files for rpi3 and rpi4
2022-02-10 02:14:07 +02:00
Berkus Decker
61eb2f9538
feat!: ✨ Update ConsoleOps
...
Split ConsoleOps vs SerialOps, rename console
methods, make them saner. Add docs.
Add clear_rx() fn.
Drop default trait impls for safety.
2022-02-10 02:14:07 +02:00
Berkus Decker
33dbf79041
feat!: ✨ Add shared MMIODerefWrapper instead of per-module ones
2022-02-10 02:14:07 +02:00
Berkus Decker
1e17e03a8d
build: 🛠 Support per-binary linker scripts
2022-02-10 02:14:07 +02:00
Berkus Decker
721af870bf
build: 🛠 Make image prepare steps more verbose
2022-02-10 02:14:07 +02:00
Berkus Decker
40782ea7cc
chore(debug): ♻️ Upgrade gdb version and update run scripts
2022-02-10 02:14:07 +02:00
Berkus Decker
4cdeeb8556
refactor: 📦 Split kernel into machine and nucleus
...
Move openocd task to upper level and remove kernel
build dependency - the qemu runner doesn't really
depend on it.
2022-02-10 02:14:07 +02:00
Berkus Decker
b26d61cb67
build: 🛠 Improve Justfile help output
...
Enter `just` to see a list of available commands
with explanations.
Added `just ci` step.
Added `just fmt-check`.
Removed unnecessary kernel file removals.
Moved sdeject task and added `just device-eject`.
2022-01-23 16:03:03 +02:00
Berkus Decker
af3dc82c76
docs(readme): 📚 Fix kernel type terminology
...
While Vesper strives to be as thin as possible
it's not exactly an exokernel, but it's a very
thin microkernel, dubbed nanokernel here.
2022-01-23 16:03:03 +02:00
Berkus Decker
ca263b33a1
fix: Add missing #[must_use] attributes
...
Clippy was very unhappy.
2021-12-20 21:46:09 +02:00
Berkus Decker
90389705a7
feat: Stabilise asm/global_asm
...
Requires rust 1.59.0 or later.
2021-12-20 21:46:09 +02:00
Berkus Decker
5e1bbf9758
build: Bump Rust edition to 2021
2021-12-20 21:03:55 +02:00
Berkus Decker
503f43d983
build(tools): Enable target board selection
2021-12-20 17:52:14 +02:00
Berkus Decker
5a304557a7
build(tools): Add RasPi4 target configuration for OpenOCD
...
Update and move rpi3 jtag configs.
Add rpi bringup doc - lists romtables for configuring.
2021-12-20 17:51:20 +02:00
Berkus Decker
f6da27062f
build(tools): Update OpenOCD version
...
RTT patch has been merged, so use the latest 0.11.0-rc2+dev-01576-g0d9e8bd52-dirty
2021-12-20 17:51:08 +02:00
Berkus Decker
e6ddbb76e7
feat: Add zellij qemu runner with serial emulation
2021-11-17 17:19:39 +02:00
Berkus Decker
d706b2edac
chore: Bump dependencies
2021-11-17 17:16:58 +02:00
Berkus Decker
36b2d92515
Import interfaces only when used
...
Fixes clippy noserial check deny(unused_imports).
2021-07-11 20:27:41 +03:00
Berkus Decker
7af16897ec
Relax several clippy checks
2021-07-11 19:58:57 +03:00
Berkus Decker
155ae413b4
Replace wildcard imports with specific ones
2021-07-11 17:00:00 +03:00
Berkus Decker
e4b12e2c45
Update to latest versions of dependencies
2021-07-10 03:27:47 +03:00
Berkus Decker
1644f299fe
Make long hex constants readable in align tests
2021-01-27 20:10:32 +02:00
Berkus Decker
82d44a9c62
Add ASID type
2021-01-27 20:10:32 +02:00
Berkus Decker
856c4a9e68
Fix PhysAddr test
2021-01-27 19:55:52 +02:00
Berkus Decker
6281204062
Split addr module
2021-01-27 19:55:52 +02:00
Berkus Decker
d3f561d214
Implement shifts for PhysAddr
2021-01-27 19:55:52 +02:00
Berkus Decker
50e955c6a7
Print test names in test_runner
...
Based on os.phil-opp.com Testing chapter.
2021-01-27 19:22:48 +02:00
Berkus Decker
601cf7a784
Add documentation target
...
Type `just doc` to see documentation in browser.
Improve doc comments in code to support
rustdoc links format.
2021-01-27 19:22:48 +02:00
dependabot-preview[bot]
e6cea882dd
Bump cortex-a from 5.0.0 to 5.1.0
...
Bumps [cortex-a](https://github.com/rust-embedded/cortex-a ) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/rust-embedded/cortex-a/releases )
- [Commits](https://github.com/rust-embedded/cortex-a/commits/v5.1.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 18:36:54 +02:00
Berkus Decker
20363a7e25
Fix wasteful empty loop
...
Thanks, clippy!
2020-12-29 18:12:38 +02:00
Berkus Decker
a53ede11af
Rename nightly allocator API fns
2020-12-29 18:01:07 +02:00
Berkus Decker
74303ac7c1
Bump cortex-a and register-rs dependencies
2020-11-24 22:28:40 +02:00
Berkus Decker
f3103126ab
Add simple serial menu for playing with kernel
2020-11-20 04:35:06 +02:00
Berkus Decker
b4205f5ce6
Revert “Adjust for nightly rustfmt bug”
...
367ad5bbb2
https://github.com/rust-lang/rustfmt/issues/4528
is now fixed.
2020-11-20 03:09:43 +02:00
Berkus Decker
d85d824bfd
Switch on MMU immediately to avoid unaligned access
...
Since enabling armv6 unaligned access bit U in CP15 C1
requires AArch32 assembly and I don't want to introduce
yet another boot stub, I'll just initialize MMU right away
- this causes CPU to treat SCTLR_EL1.A differently and not
cause any alignment faults.
In the future, a small AArch32 boot stub that uses
now commented out fn enable_armv6_unaligned_access()
should be used to set U=1 and A=0 for full unaligned
access even when MMU is off. See ARM documentation
linked from that fn.
2020-11-20 03:09:43 +02:00
Berkus Decker
1de52fa109
Disable stack align checks
...
As with data align checks lets not fault on this yet.
2020-11-20 03:09:00 +02:00
Berkus Decker
696307f30c
Improve traps printing
2020-11-20 03:08:40 +02:00
Berkus Decker
4cb6f29e0d
Clean up boot-order
...
Extract shared code, fix comments.
2020-11-20 03:08:40 +02:00
Berkus Decker
43d5e4ea21
Suppress clippy warning
...
For now, no api change.
2020-11-19 14:50:52 +02:00
Berkus Decker
3147e5327a
Add display demo in main
2020-11-19 04:05:52 +02:00
Berkus Decker
e72fac01b0
Add Display output
2020-11-19 04:05:52 +02:00
Berkus Decker
2ac804793b
Add minimal RPi power management
...
* Turn the board off
* Reboot the board
2020-11-18 02:29:09 +02:00
Berkus Decker
367ad5bbb2
Adjust for nightly rustfmt bug
...
See https://github.com/rust-lang/rustfmt/issues/4528
for the bug description, namely rustfmt removes
this comment completely if it's left in the
extern block.
2020-11-17 22:56:56 +02:00
Berkus Decker
5dffa9eb8e
Add PL011 UART
2020-11-14 22:15:52 +02:00
Berkus Decker
d124b02e7c
Add set_clock_rate mailbox command
2020-11-14 22:15:52 +02:00