mintsuki
04a6389fd8
build: Improvements and updates for new limine-efi
2022-08-23 01:41:18 +02:00
mintsuki
2460b33f9c
build: Misc build system improvements
2022-08-23 00:21:09 +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
5f1680acc1
build: Misc improvements to makefiles
2022-08-15 17:41:04 +02:00
mintsuki
1e9ac0ac01
build: Update makefiles to not use INTERNAL variables
2022-08-15 16:37:31 +02:00
mintsuki
73f958e92e
Revert "Revert "gensyms: Use as instead of nasm""
...
This reverts commit b3ca8ae9a2
.
2022-08-13 20:32:06 +02:00
mintsuki
7a9a04d72f
build: Always place -fno-pie before -fno-pic
2022-08-09 15:22:15 +02:00
mintsuki
4422ebd61c
build: Get proper mkdir -p from autoconf
2022-08-08 22:00:25 +02:00
mintsuki
77ed67e582
smp/trampoline: Use hand written pos independent code instead of objcopying
2022-07-28 09:35:59 +02:00
mintsuki
b3ca8ae9a2
Revert "gensyms: Use as instead of nasm"
...
This reverts commit cb9c097bcc
.
2022-07-24 01:03:48 +02:00
mintsuki
f2d611eb83
build: Remove unnecessary -mno-3dnow flag
2022-07-18 21:34:26 +02:00
mintsuki
6eafb4fc03
build: BIOS stage2only build improvements
2022-07-18 21:02:44 +02:00
mintsuki
22d45a5428
build: Remove dummy limine-efi rules
2022-07-18 20:48:09 +02:00
mintsuki
37f7275775
build: Update linker scripts and fix minor makefile issue
2022-07-18 20:41:39 +02:00
mintsuki
8e54ea461b
protos: Remove ugly .32.c files and replace them with pure asm files
2022-07-05 18:53:39 +02:00
mintsuki
6106285d35
build: Move to using external cross-detect package
2022-07-05 09:14:48 +02:00
mintsuki
098e8679f3
build: Rename freestanding-headers to match upstream
2022-06-30 07:48:42 +02:00
mintsuki
f62345ee64
build: Add generic x86 asm extension grouping
2022-06-28 08:47:40 +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
ef4e014cb3
build: Use libgcc-binaries
2022-06-21 08:47:48 +02:00
mintsuki
75c3585e58
build: Use binary libgcc from GCC instead of our own stubs. Closes #180
2022-06-20 04:28:59 +02:00
mintsuki
53a2dbefdf
build: Improve toolchain detection
2022-06-20 00:22:02 +02:00
mintsuki
7404cb467e
build: Add toolchain-detect
2022-06-15 07:16:41 +02:00
mintsuki
1fc8247a86
build: Increase portability of Makefile targets
2022-06-15 03:25:36 +02:00
mintsuki
13b9a333ad
build: Update due to limine-efi rebranding
2022-06-14 05:58:34 +02:00
mintsuki
746d0ad529
protos: Drop stivale and stivale2 support
2022-06-14 03:56:30 +02:00
mintsuki
6036679a12
misc: Work around GNU binutils nonsense
2022-05-20 20:02:14 +02:00
mintsuki
4aed1aca9f
misc: Further sanitise BIOS linker script
2022-05-20 05:48:59 +02:00
mintsuki
65c9ddaa6f
misc: BIOS linker script fixes for LLD
2022-05-20 05:17:46 +02:00
mintsuki
cb9c097bcc
gensyms: Use as instead of nasm
2022-05-11 15:49:04 +02:00
mintsuki
b0c59cc0d2
efi: Updates for new reduced-gnu-efi
2022-04-24 23:30:28 +02:00
mintsuki
df7e43df7f
efi: Adjust for new reduced-gnu-efi
2022-04-20 04:00:00 +02:00
mintsuki
3c909c017b
docs: limine: More documentation work
2022-03-26 01:31:38 +01:00
mintsuki
5542dffaa7
build: Pass -undef to preprocessor calls
2022-03-02 15:46:40 +01:00
mintsuki
87bf32bebd
build: Updates for new reduced-gnu-efi commits
2022-02-21 16:27:52 +01:00
mintsuki
09b4a5f383
build: Misc gnu-efi related fixes
2022-02-21 13:08:44 +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
e898ef0425
misc: Make VLAs a warning
2022-02-18 01:09:51 +01:00
mintsuki
27d19e6f11
misc: Use freestanding_headers rather than shipping them
2022-02-15 06:18:57 +01:00
mintsuki
400202d926
misc: stage23 -> common
2022-02-03 10:38:43 +01:00