Commit Graph

45 Commits

Author SHA1 Message Date
mintsuki 4869c14ce0 build: Fix cross-detect errors detection for aarch64 2022-09-01 04:47:19 +02:00
mintsuki 57194bc15e build: Default to -O2 optimisation instead of -O3 2022-08-28 23:50:25 +02:00
mintsuki a91abf2c2a build: Handle -no-pie bug with cross-detect 2022-08-26 10:23:35 +02:00
mintsuki 2460b33f9c build: Misc build system improvements 2022-08-23 00:21:09 +02:00
mintsuki c626e63b56 build: Fix #208 2022-08-22 18:41:32 +02:00
Kacper Słomiński e1f6ac8860
Initial AArch64 port (#205)
* Initial aarch64 port

* Enable chainload on aarch64

No changes necessary since it's all UEFI anyway.

* Add specification for Limine protocol for aarch64

* PROTOCOL: Specify state of information in DT /chosen node

* common: Add spinup code for aarch64

* common: Port elf and term to aarch64

* common: Port vmm to aarch64

Also prepare to drop VMM_FLAG_PRESENT on x86.

* protos: Port limine boot protocol to aarch64

Also drop VMM_FLAG_PRESENT since we never unmap pages anyway.

* test: Add DTB request

* PROTOCOL: Port SMP request to aarch64

* cpu: Add cache maintenance functions for aarch64

* protos/limine, sys: Port SMP to aarch64

Also move common asm macros into a header file.

* test: Start up APs

* vmm: Unify get_next_level and implement large page splitting

* protos/limine: Map framebuffer using correct caching mode on AArch64

* CI: Fix GCC build for aarch64

* entry, menu: Replace uses of naked attribute with separate asm file

GCC does not understand the naked attribute on aarch64, and didn't
understand it for x86 in older versions.
2022-08-18 17:32:54 +02:00
mintsuki dc3a81cb61 build: Drop support for building GCC toolchain 2022-08-09 13:30:16 +02:00
mintsuki 4422ebd61c build: Get proper mkdir -p from autoconf 2022-08-08 22:00:25 +02:00
mintsuki 6106285d35 build: Move to using external cross-detect package 2022-07-05 09:14:48 +02:00
mintsuki 1843b26078 build: Minor configure.ac adjustments 2022-07-04 09:09:46 +02:00
mintsuki 8f8af188fb build: Make sure autoreconf -fvi is able to reconf tarballs. Fixes #187 2022-07-02 12:34:01 +02:00
mintsuki 4b32083ab6 build: Misc improvements 2022-06-22 21:56:41 +02:00
mintsuki 9f00d613a1 build: Update for newer limine-efi 2022-06-22 21:24:30 +02:00
mintsuki 2590c5ac05 build: Remove useless LIMINE_AS 2022-06-21 22:14:05 +02:00
mintsuki 53a2dbefdf build: Improve toolchain detection 2022-06-20 00:22:02 +02:00
mintsuki 7eac8416e7 build: Run toolchain-detect at configure time 2022-06-18 03:03:06 +02:00
mintsuki 7404cb467e build: Add toolchain-detect 2022-06-15 07:16:41 +02:00
mintsuki 0c084e37d5 build: Remove useless x86-specific test from configure 2022-06-15 05:28:53 +02:00
mintsuki 539ac94563 build: Disable all ports by default 2022-06-15 05:01:22 +02:00
mintsuki 1fc8247a86 build: Increase portability of Makefile targets 2022-06-15 03:25:36 +02:00
mintsuki 3d9737f5e6 build: Configure improvements 2022-05-21 04:23:03 +02:00
mintsuki 64e9c11daa build: No longer hard depend on GNU binutils 2022-04-20 04:38:58 +02:00
mintsuki c052509567 misc: limine-s2deploy -> limine-deploy 2022-04-02 09:31:19 +02:00
mintsuki 6f8474c249 misc: limine-eltorito-efi.bin -> limine-cd-efi.bin 2022-03-30 15:14:02 +02:00
mintsuki 65b5a7f66f misc: limine-install -> limine-s2deploy 2022-03-21 00:56:02 +01:00
mintsuki c5d61e4ec6 build: Unbreak out of tree builds 2022-02-21 00:40:15 +01:00
mintsuki 1984f401a1 build: Use config.h for generated constants 2022-02-20 23:05:53 +01:00
mintsuki 92eef3feec build: Add more granular configure options 2022-02-18 02:23:39 +01:00
mintsuki 5d407dbdf1 build: Minor build system tweaks 2022-02-11 20:46:57 +01:00
mintsuki 459029eedf build: Make build system search for toolchain in source dir too 2022-02-10 22:36:50 +01:00
mintsuki b138b1952e limine-install: Make hgen a shell script 2022-02-10 14:47:38 +01:00
mintsuki bcf01fa39a build: Improve eltorito-efi configure option 2022-02-08 15:43:21 +01:00
mintsuki 23ee0bf491 build: Make eltorito-efi build manually toggleable 2022-02-08 15:35:54 +01:00
mintsuki 7d70e31258 build: Minor portability fixes 2022-02-03 11:35:54 +01:00
mintsuki 8920c89ad5 build: Unify and preprocess linker scripts 2022-02-02 18:18:49 +01:00
mintsuki 9332a9f4e1 build: Misc improvements 2022-02-02 16:24:13 +01:00
mintsuki d7b8c3cf8a build: Misc improvements 2022-02-01 08:04:55 +01:00
mintsuki e4bd2cfdbf build: Move program detection logic to configure script 2022-01-31 11:46:19 +01:00
mintsuki ac865be1a1 build: Minor misc fixes 2022-01-29 17:23:41 +01:00
mintsuki 68faef19be misc: Various fixes 2022-01-28 10:23:26 +01:00
mintsuki 80ae303ba8 misc: Fixes for GCC 12 warnings; add extern prototypes for inline functions 2022-01-26 03:58:28 +01:00
mintsuki a0a8b3c0d6 build: 'install' portability fixes 2022-01-22 03:46:48 +01:00
mintsuki fd09538f48 build: Sanitise variables before building reduced-gnu-efi 2022-01-17 00:20:59 +01:00
mintsuki 26641eb1a8 build: Misc build system improvements 2022-01-16 22:41:37 +01:00
mintsuki 3bb70dcbee build: Move to using autoconf 2022-01-16 06:09:36 +01:00