forked from theseus-os/Theseus
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support
aarch64
in the main Theseus workspace (theseus-os#817)
Merges the separate `aarch64` workspace into the main workspace. **Note that support for aarch64 is a WIP and does not fully boot yet.** To build: ```bash make ARCH=aarch64 FEATURES= CROSS=aarch64-linux-gnu- run ``` List of notable changes: - renamed `logger` → `logger_x86_64` and aarch64 logger `logger_aarch64`. - changed `theseus-os/pl011_qemu` so that the PL011 address isn't a fixed constant anymore; changed `logger_aarch64` to reflect that. - arch-gated some dependencies of nano_core: dependencies either temporarily incompatible like `captain` or forever incompatible such as `vga_buffer`. - made `context_switch_regular` cross-platform. - modified `panic_entry` so that it builds for aarch64: arch-gated some dependencies and handling code, replaced latter with infinite loop. - introduced an aarch64-specific linker script which is identical to the x86_64 one except for the kernel offset. - Make `kernel_config::memory` arch-agnostic by using arch-specific address canonicalization. - Modified Makefile to support building on aarch64. `boot_spec` = `uefi` is forced for aarch64 builds. - `memory`: some flag changes, arch-gated VGA-specific code, added `tlb_flush_all()` for page table switching. - EFI firmware is downloaded from <https://github.com/retrage/edk2-nightly> automatically - new json target file: `cfg/aarch64-unknown-theseus.json` - removed the aarch64 workspace Co-authored-by: Kevin Boos <[email protected]>
- Loading branch information
1 parent
346a116
commit 89489db
Showing
66 changed files
with
1,253 additions
and
4,114 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.