Commit Graph

180 Commits

Author SHA1 Message Date
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
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 115c93e3f8
Update code of conduct
Extend it with code of ethics, based on Spotify version.
2021-09-26 23:00:46 +03:00
Berkus Decker 062591fb48 Merge pull-request #72 from metta-systems:update/latest-nightly to develop
Update to latest nightly

[close #72]
2021-07-11 20:51:13 +03: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 a9b9aac50d Backtrace macro expansion for better error reporting 2021-07-11 19:58:45 +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
dependabot-preview[bot] 79f7ebcaab Upgrade to GitHub-native Dependabot 2021-05-04 14:14:45 +03:00
Berkus Decker 77e3423273 Bump dependencies
Updating cortex-a v5.1.0 -> v5.1.6
    Updating qemu-exit v1.0.1 -> v1.0.2
    Updating quote v1.0.7 -> v1.0.9
    Updating register v1.0.1 -> v1.0.2
    Updating syn v1.0.48 -> v1.0.64
2021-03-22 01:37:59 +02:00
Berkus Decker 0f4824afd3 Merge pull-request #62 from metta-systems:fix/misc-improvements to develop
Fix/misc improvements
Pull various cleanups from other experimental branches.

[close #62]
2021-01-27 22:09:18 +02: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 01906a02bc Update rust-toolchain file for new rustup
Rustup since version 1.23.0 supports more detailed specification.
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
Berkus Decker 147a88acb4 Ignore IDE project files 2021-01-27 19:22:01 +02:00
Berkus Decker 8a5ef112be Merge pull-request #56 from metta-systems:fix/bump-dependencies to develop
Fix/bump dependencies
Closes #50
Closes #52
Closes #53
Closes #54

[close #56]
2020-12-29 18:55:10 +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
dependabot-preview[bot] ed568f8ca4 Bump register from 1.0.0 to 1.0.1
Bumps [register](https://github.com/rust-embedded/register-rs) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/rust-embedded/register-rs/releases)
- [Changelog](https://github.com/rust-embedded/register-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-embedded/register-rs/commits)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 18:36:47 +02:00
dependabot-preview[bot] a267ad83ad Bump snafu from 0.6.9 to 0.6.10
Bumps [snafu](https://github.com/shepmaster/snafu) from 0.6.9 to 0.6.10.
- [Release notes](https://github.com/shepmaster/snafu/releases)
- [Changelog](https://github.com/shepmaster/snafu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/shepmaster/snafu/compare/0.6.9...0.6.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 18:36:47 +02:00
dependabot-preview[bot] 73bc383e23 Bump qemu-exit from 1.0.0 to 1.0.1
Bumps [qemu-exit](https://github.com/andre-richter/qemu-exit) from 1.0.0 to 1.0.1.
- [Release notes](https://github.com/andre-richter/qemu-exit/releases)
- [Commits](https://github.com/andre-richter/qemu-exit/compare/v1.0.0...v1.0.1)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-12-29 18:36:47 +02:00
Berkus Decker 2c43585286 Merge pull-request #55 from metta-systems:fix/nightly-allocator-api to develop
Rename nightly allocator API fns
See https://github.com/rust-lang/wg-allocators/issues/76

[close #55]
2020-12-29 18:27:55 +02:00