Commit Graph

64 Commits

Author SHA1 Message Date
Berkus Decker 8c3b7d3d0f build(deps): 🛠 Bump dependencies 2023-11-12 01:15:32 +02:00
Berkus Decker 84b596b2db refactor: 📦 Prepare for future Mailbox mod
Mailbox mod is disabled for now.
Needs to become a driver.
2023-08-12 03:29:02 +03:00
Berkus Decker c40797ed19 refactor: 📦 Prepare for future Power mod
Power mod is disabled for now.
Needs to become a driver.
2023-08-12 03:29:02 +03:00
Berkus Decker cfa9b61429 feat: Improve GPIO implementation
* Add locking
* Implement Pin control via locked GPIO
2023-08-12 03:29:02 +03:00
Berkus Decker 134d7c530f feat: Update linker script
* Add MMIO remap region
* Move script to appropriate place
2023-08-12 03:29:02 +03:00
Berkus Decker e8a587ea7b fix: 🐛 Don't overflow calculations in align_up 2023-08-12 03:29:02 +03:00
Berkus Decker a656a9bdd7 feat: Add kernel and MMIO mapping support
Not all the memory is mapped now, only kernel
sections and MMIO remap space
are mapped on the go.
2023-08-12 03:29:02 +03:00
Berkus Decker 287d04ea11 chore: ♻️ Improve scope usage 2023-08-12 03:29:02 +03:00
Berkus Decker 0d70caa271 feat: Enable interrupts for PL011 UART 2023-08-08 00:44:31 +03:00
Berkus Decker 0ef9ca0dc6 refactor: 📦 Disable MiniUART driver 2023-08-08 00:44:31 +03:00
Berkus Decker decdd0c56d refactor: 📦 Prepare exception handling code 2023-08-08 00:44:31 +03:00
Berkus Decker 0f30bf00aa refactor: 📦 Restructure code
All modules are modified to unified model
(mod.rs file in module directory).
Arch imports use modules from arch/ namespace
explicitly as arch_xxx.
2023-08-08 00:44:31 +03:00
Berkus Decker 577b0b74ee build(deps): 🛠 Bump dependencies 2023-08-08 00:44:31 +03:00
Berkus Decker f4e13be125 chore: ♻️ Update snafu features 2023-08-01 16:59:42 +03:00
Berkus Decker 77d04d3d67 refactor(cleanup): 📦 Clean up MiniUART code 2023-08-01 16:59:42 +03:00
Berkus Decker 2cf5e1dea8 refactor: 📦 Update PL011 UART 2023-08-01 16:59:42 +03:00
Berkus Decker 625fc496ce refactor: 📦 Share ConsoleOps implementation 2023-08-01 16:59:42 +03:00
Berkus Decker 4733c012ad feat: Print panic message with details 2023-08-01 16:59:42 +03:00
Berkus Decker 9b715f6927 feat: Use actual time for delays in GPIO init 2023-08-01 16:59:42 +03:00
Berkus Decker fe97a116df refactor: 📦 Rename GPIO registers 2023-08-01 16:59:42 +03:00
Berkus Decker fc01f03714 fix: 🐛 Read actual timer frequency 2023-08-01 16:59:42 +03:00
Berkus Decker 84fbdcc707 feat: Add time support 2023-08-01 16:59:42 +03:00
Berkus Decker 33418e79ab refactor: 📦 Refactor command_prompt 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 d37495bc01 fix: 🐛 Synchronise used features 2023-07-29 04:08:18 +03:00
Berkus Decker 9710866524 feat: Update panics, exit QEMU on exceptions 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 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 d78bc67d8f fix(build): 🐛 Allow building qemu-gdb target 2023-07-29 04:08:18 +03:00
Berkus Decker 1ca54d9ed6 fix(console): 🐛 Fix unicode character output
(At the expense of about 3kb code size.)
2023-07-29 04:08:18 +03:00
Berkus Decker df135952e9 build(deps): 🛠 Bump dependencies 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 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 0cc683a50f refactor: 📦 Fix new clippy errors 2023-07-29 04:08:18 +03:00
Berkus Decker e95b01104a refactor(console): 📦 Improve console code 2023-07-29 04:08:18 +03:00
Berkus Decker e228a1cff4 chore: ♻️ Fix typos 2023-07-29 04:08:18 +03:00
Berkus Decker 4d8048f3d0 refactor(gpio): 📦 Refactor gpio code
Introduce changes to support new tock-registers
and rename the fields finally.
2023-07-29 04:08:18 +03:00
Berkus Decker f964fea4c3 docs: 📚 Update safety docs 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 9ac097c3cf fix: 🐛 Fix warnings on newer rust toolchain 2022-06-11 01:44:58 +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 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