Commit Graph

225 Commits

Author SHA1 Message Date
Berkus Decker 2d5ea676cd Merge pull-request #124 from metta-systems:fix/enable-mmu to develop
Fix MMU enable code
Refactor MMU code structure, add some improvements.

- [x] Build and test on real RPi4.

[close #124]
2022-05-08 21:45:54 +03:00
Berkus Decker bc0cc2d93d fix: 🐛 Allow clippy warning 2022-05-08 21:08:29 +03:00
Berkus Decker ab95de393b fix: 🐛 Map VC memory to make `disp` command work 2022-05-08 12:15:21 +03:00
Berkus Decker ddf6d09136 feat: Switch mailboxes to correct DMA-backed storage by default
Allocate DmaBackedMailboxStorage out of DMA_ALLOCATOR.
Replace DMA bump_allocator with buddy_alloc.
2022-05-08 12:15:21 +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 4a02f5fd2c feat: Upgrade exception trap handler output 2022-05-08 12:11:12 +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 29d61f4bdb refactor: 📦 Rename access flag values 2022-05-08 12:11:12 +03:00
Berkus Decker bb40980419 refactor: 📦 Add formatter for memory::AttributeFields 2022-05-08 11:39:55 +03:00
Berkus Decker 248b17ff54 Merge pull-request #131 from metta-systems:fix/update-deps to develop
build(deps): 🛠 bump dependencies
None

[close #131]
2022-05-05 22:32:14 +03:00
Berkus Decker cbd6242470 build(deps): 🛠 bump dependencies 2022-05-05 22:04:24 +03:00
Berkus Decker 023ab89a43 Merge pull-request #123 from metta-systems:fix/add-chainboot-emoji to develop
Fix codegen and add chainboot emojis
None

[close #123]
2022-04-25 00:00:45 +03:00
Berkus Decker 92feb2d982 feat: Add emojis to the chainboot protocol 2022-04-24 22:10:59 +03:00
Berkus Decker 9dcc5b192a fix(codegen): 🐛 Disable FP/NEON features in the target file
This fixes the build warnings for the
new rustc nightly.
2022-04-24 22:10:23 +03:00
Berkus Decker ffc6e50dcf Merge pull-request #114 from metta-systems:feat/ci-deps to develop
Depend all CI steps on check_formatting
None

[close #114]
2022-03-27 23:00:13 +03:00
Berkus Decker 0464f7d95b build(ci): 🛠 depend all CI steps on check_formatting 2022-03-27 22:25:06 +03:00
Berkus Decker 4c3001ba50 Merge pull-request #113 from metta-systems:fix/update-deps to develop
Bump dependencies
None

[close #113]
2022-03-27 22:15:56 +03:00
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