Commit Graph

40 Commits

Author SHA1 Message Date
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
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 a95d4e3fb0 fix: ๐Ÿ› Use inline(always) to optimize code
This removes additional dummy jumps.
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 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 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