Commit Graph

208 Commits

Author SHA1 Message Date
Berkus Decker 7eae2069b6 fix(windows): 🐛 allow scoop installation on CI 2022-03-27 21:34:01 +03:00
Berkus Decker eb4411bc97 fix(rustc): 🐛 stabilise const_fn_fn_ptr_basics
Stable since Rust 1.61.0
2022-03-27 21:34:01 +03:00
Berkus Decker 0b3973f58d build(deps): 🛠 bump dependencies 2022-03-27 21:33:54 +03:00
Berkus Decker c37b44a6f7 Merge pull-request #102 from metta-systems:fix/chainofcommand-corrupted-console to develop
Fix chainofcommand corrupted console
None

[close #102]
2022-03-01 01:38:30 +02:00
Berkus Decker b4ff5541a8 fix: 🐛 improve chainofcommand expect() fn 2022-03-01 01:14:00 +02:00
Berkus Decker 072a06e7bb fix: 🐛 update serialport-rs
Use version with fixed setup on macos.
2022-03-01 01:13:45 +02:00
Berkus Decker c9f3d68e81 build: 🛠 bump dependencies 2022-03-01 01:12:48 +02:00
Berkus Decker 7ab44c7d15 build: 🛠 allow deprecated code in clippy 2022-03-01 01:12:34 +02:00
Berkus Decker d22eb31d10 build: 🛠 add `chainofcommand` target 2022-03-01 01:11:58 +02:00
Berkus Decker 463ce25bd7 Merge pull-request #101 from metta-systems:fix/update-deps to develop
build: 🛠 Bump anyhow version
None

[close #101]
2022-02-23 16:23:48 +02:00
Berkus Decker 19d9de4ac2 build: 🛠 Bump anyhow version 2022-02-23 14:25:17 +02:00
Berkus Decker 64ded6652d Merge pull-request #100 from metta-systems:fix/update-deps to develop
Bump dependencies versions
Upgrade clap to new API.

[close #100]
2022-02-23 14:22:29 +02:00
Berkus Decker b40530ea46 build: 🛠 Bump dependencies versions
Upgrade clap to new API.
2022-02-23 12:05:56 +02:00
Berkus Decker fb6be33983 Merge pull-request #93 from metta-systems:fix/license-update to develop
Add a non-military license constraint
None

[close #93]
2022-02-12 02:01:30 +02:00
Berkus Decker 0746382d06 docs(license): 📚 Add a non-military license constraint 2022-02-12 01:59:18 +02:00
Berkus Decker da9f2940ba Merge pull-request #92 from metta-systems:fix/update-deps to develop
build: Bump dependencies versions
Upgrade clap, crossterm, tokio.

[close #92]
2022-02-12 01:13:13 +02:00
Berkus Decker 30db2405ef build: Bump dependencies versions
Upgrade clap, crossterm, tokio.
2022-02-12 00:44:36 +02:00
Berkus Decker a9a97d132d Merge pull-request #85 from metta-systems:feature/chainboot to develop
Add chain boot loader
Closes #14

[close #85]
2022-02-10 02:39:46 +02:00
Berkus Decker f4418c3164 feat: Add `just boot` command
Due to just or cargo-make taking over the
controlling PTY we cannot launch an interactive
command from a cargo-make file, so just print
the command line to launch.
2022-02-10 02:16:28 +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 a95d4e3fb0 fix: 🐛 Use inline(always) to optimize code
This removes additional dummy jumps.
2022-02-10 02:16:28 +02:00
Berkus Decker 162592beaa feat: Add chainofcommand
Works fine with a caveat that you need
to press ENTER after Ctrl+C, investigate.

Multiplex QEMU output for serial access.
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 2d9da8c5db fix: 🐛 Fix MiniUart PullUp/Down init
Use STAT reg, init GPIO before AUX_MU.
2022-02-10 02:15:18 +02:00
Berkus Decker 0234f2136e feat: Add rpi4 support to GPIO 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 7f4e9de6d5 feat: Update BcmHost for rpi4 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 9cbc6ce80f build: 🛠 Extract QEMU_DISASM_OPTS 2022-02-10 02:14:07 +02:00
Berkus Decker 8b6a585250 build: 🛠 Set machine ID for QEMU versions after 6.2.0
Work around ancient QEMU versions on CI boxes.
2022-02-10 02:14:07 +02:00
Berkus Decker ea97d29c3c build: 🛠 Generate binary files as part of build step 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 16ec45b97c feat: Add loop_while() fn 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 cc4170200f chore(rustfmt): ♻️ Enable merging imports in rustfmt 2022-01-23 16:03:03 +02:00
Berkus Decker e3f199f89f docs(emulation): 📚 Fix typos in the banner 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 7d03ea85a2 Merge pull-request #80 from metta-systems:feature/update-openocd to develop
Update openocd version and scripts
Allow board selection via env var. Bump rust version to 1.59.0 and stabilise asm!/global_asm! directives plus adopt more strict clippy checks.

[close #80]
2021-12-20 22:16:31 +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