Commit Graph

323 Commits

Author SHA1 Message Date
Berkus Decker 2367376ba5 fix: 🐛 Remove unused text 2023-11-12 01:22:54 +02:00
Berkus Decker 90e9390cbc fix: 🐛 Fix chainboot linker script
Part 2: Add linker dependency.
2023-11-12 01:20:18 +02:00
Berkus Decker 4a22e91d77 fix: 🐛 Fix chainboot linker script 2023-11-12 01:15:32 +02:00
Berkus Decker 89943857af fix: 🐛 Update rpi4 target to use virtual MMIO bases 2023-11-12 01:15:32 +02:00
Berkus Decker 90d5d96098 fix: 🐛 Rename RPi4 imports 2023-11-12 01:15:32 +02:00
Berkus Decker bb38addd83 fix: 🐛 Put BOOT_CORE_ID const in platform config 2023-11-12 01:15:32 +02:00
Berkus Decker 8c3b7d3d0f build(deps): 🛠 Bump dependencies 2023-11-12 01:15:32 +02:00
Berkus Decker 2bbf3d4d45 build(deps): 🛠 Bump dependencies 2023-08-21 01:01:55 +03: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 028866fdbb test: 🚨 Don't spam QEMU console when testing 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 f3b65fa44c fix: 🐛 Fix Ubuntu LTS suddenly not able to install 2023-08-08 00:44:31 +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 7796cfc646 chore: ♻️ Update dividers 2023-08-01 16:59:42 +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 d0e4334afe refactor(cleanup): 📦 Remove unused 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 c3f23108b9 feat: Print more boot info
Temporarily play around with time, loop with
1 second delays.
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 0f435d7152 feat: Add info!/warn! to plain println!
These functions additionally log current time.
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 b1d54d3b44 chore: ♻️ Disable asm output in QEMU runner
But keep it for qemu-gdb.
2023-08-01 16:59:42 +03:00
Berkus Decker 97145d8a8e build(deps): 🛠 Bump dependencies 2023-07-29 04:08:18 +03:00
Berkus Decker 1be3f9e2e0 fix: 🐛 Disable outdated test installers 2023-07-29 04:08:18 +03:00
Berkus Decker ebb73e5cb0 chore: ♻️ Fix rustfmt and clippy complaints 2023-07-29 04:08:18 +03:00
Berkus Decker 7de1af043e fix: 🐛 Add RUST_STD to clippy invocation
Combine both parts of RUST_STD and RUST_STD_FEATURES into a single
option, easier to control, harder to miss.
2023-07-29 04:08:18 +03:00
Berkus Decker ce3b94e86e fix: 🐛 Fix 2/2 for objcopy unaligned sections bug
This one restores rust-objcopy but explicitly aligns
the beginning of each section. This avoids incorrect
binary output (.rodata section was offset 10-12 bytes
because of unaligned section start).
2023-07-29 04:08:18 +03:00
Berkus Decker d2ed7c21ac fix: 🐛 Fix 1/2 for objcopy unaligned sections bug
Due to a bug in llvm-objcopy sections
must be explicitly aligned, see
https://github.com/llvm/llvm-project/issues/58407
and
https://github.com/rust-lang/rust/issues/102983

This fix just replaces rust-objcopy with a GNU
binutils counterpart from `brew install
aarch64-elf-binutils`. Next commit will do a
less intrusive fix.
2023-07-29 04:08:18 +03:00
Berkus Decker 994ea39760 fix: 🐛 Update linker script w/ segment attributes.
Double the size of the kernel (by including all
the necessary sections).
2023-07-29 04:08:18 +03:00
Berkus Decker b8e9617b06 chore: ♻️ Add source dividers template 2023-07-29 04:08:18 +03:00
Berkus Decker 13d6b2a037 chore: ♻️ Add QEMU tracing options for aarch64
Disabled for now, need to try them out.
2023-07-29 04:08:18 +03:00
Berkus Decker 157604d7c9 chore: ♻️ Drop bitcode embedding 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