This patch includes support for conditional compilation of a specific target machine (e.g, QEMU's aarch64 virt target). Among other things we implement:
support for invoking QEMU in an arch-specific way
conditional compilation flag for machine on xtask cli
reorganization of existing machine/arm code specific to virt
stubs for to keep up with changes to the memory management system
inclusion of TLS section in aarch64 binary
The only things we need to make this change functional for the remote server to host Limine efi and firmware binaries for aarch64. And then we would have to change the bootstrap phase. The OVMF.fd and BOOTX64.EFI files downloaded do not work. I have been using EDK II's ArmVirt platform and Limine's 4.x release of BOOTAA64.EFI. The firmware can be obtained from the qemu-efi-aarch64 package on Ubuntu machines. Installed at /usr/share/qemu-efi-aarch64/QEMU_EFI.fd I believe. And Limine has a convenient releases branch. Or both can be compiled/installed from source.
This patch includes support for conditional compilation of a specific target machine (e.g, QEMU's aarch64 virt target). Among other things we implement:
machine/arm
code specific tovirt
The only things we need to make this change functional for the remote server to host Limine efi and firmware binaries for aarch64. And then we would have to change the bootstrap phase. The
OVMF.fd
andBOOTX64.EFI
files downloaded do not work. I have been using EDK II's ArmVirt platform and Limine's 4.x release ofBOOTAA64.EFI
. The firmware can be obtained from theqemu-efi-aarch64
package on Ubuntu machines. Installed at/usr/share/qemu-efi-aarch64/QEMU_EFI.fd
I believe. And Limine has a convenient releases branch. Or both can be compiled/installed from source.