Berkus Decker
b1d54d3b44
chore: ♻️ Disable asm output in QEMU runner
...
But keep it for qemu-gdb.
2023-08-01 16:59:42 +03:00
Berkus Decker
ebb73e5cb0
chore: ♻️ Fix rustfmt and clippy complaints
2023-07-29 04:08:18 +03:00
Berkus Decker
13d6b2a037
chore: ♻️ Add QEMU tracing options for aarch64
...
Disabled for now, need to try them out.
2023-07-29 04:08:18 +03:00
Berkus Decker
d37495bc01
fix: 🐛 Synchronise used features
2023-07-29 04:08:18 +03:00
Berkus Decker
0e1c6669ac
refactor: 📦 Use better code structure
...
As inspired by andre-richter's tutorials.
2023-07-29 04:08:18 +03:00
Berkus Decker
46d0c4cffc
fix: 🐛 Add missing exception vectors start symbol
2023-07-29 04:08:18 +03:00
Berkus Decker
5356de7cbb
fix: 🐛 Disable some make tasks
...
Allows running gdb and hopper tasks.
Enable QEMU task.
2023-07-29 04:08:18 +03:00
Berkus Decker
45e18de842
refactor: 📦 Rearrange kernel_main
2023-07-29 04:08:18 +03:00
Berkus Decker
b1bbdf087a
feat: ✨ Use gdbgui for debug
2023-07-29 04:08:18 +03:00
Berkus Decker
94d23a6a47
refactor: 📦 kernel_main should be the main entry point
2023-07-29 04:08:18 +03:00
Berkus Decker
d6887bccee
refactor(build): 📦 Use single gdb-config command
2023-07-29 04:08:18 +03:00
Berkus Decker
1bcbe3271a
refactor: 📦 Replace cortex-a with aarch64-cpu
2023-07-29 04:08:18 +03:00
Berkus Decker
b1bf9dc09d
fix: 🐛 Restore libmachine tests
...
To make unit tests work we build libmachine as a
binary with test-runner.
2023-07-29 04:08:18 +03:00
Berkus Decker
78a864c433
refactor(linker): 📦 Share exception handlers
2023-07-29 04:08:18 +03:00
Berkus Decker
afbb317403
refactor: 📦 Improve boot code structure
...
Rename sections to not conflict during link.
Update linker script docs to align on PAGE_SIZE.
2023-07-29 04:08:18 +03:00
Berkus Decker
526d9fa46d
build(deps): 🛠 Bump dependencies
2023-07-29 04:08:18 +03:00
Berkus Decker
dae26262bc
feat(boot): ✨ Replace r0 dependency
...
Use pointer provenance to guarantee absence of UBs.
2023-07-29 04:08:18 +03:00
Berkus Decker
568fdcb649
build(deps): 🛠 Bump dependencies
2023-07-29 04:08:18 +03:00
Berkus Decker
886cd0a18d
fix: 🐛 Allow executing gdb from cargo-make
...
It was failing before because no tty was available.
2022-06-11 00:25:21 +03:00
Berkus Decker
fc90fde4f0
feat: ✨ Add qemu-cb-gdb target
2022-06-11 00:25:21 +03:00
Berkus Decker
b52c63796c
fix: 🐛 Set GDB breakpoints by physical address
2022-06-11 00:25:21 +03:00
Berkus Decker
67db178c6f
fix: 🐛 Invoke nm properly
2022-05-08 23:21:33 +03:00
Berkus Decker
07df330b62
feat: ✨ Implement MMU based on Andre Richter's tutorial
...
As per https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials/tree/master/10_virtual_mem_part1_identity_mapping
Bring better separation of abstract, platform and BSP code.
Init MMU and traps after serial output.
2022-05-08 12:15:21 +03:00
Berkus Decker
113b4abbc5
feat: ✨ Add UnsafeCell trick
...
It replaces old "C" style linker symbol references.
2022-05-08 12:11:12 +03:00
Berkus Decker
0b3973f58d
build(deps): 🛠 bump dependencies
2022-03-27 21:33:54 +03:00
Berkus Decker
d22eb31d10
build: 🛠 add `chainofcommand` target
2022-03-01 01:11:58 +02:00
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