Commit Graph

60 Commits

Author SHA1 Message Date
mintsuki
4ef529b4eb misc: Load BIOS port at 0xf000 instead of 0x8000 2023-03-07 02:21:09 +01:00
mintsuki
11ef3bced2 build: Honour CROSS_CPPFLAGS 2023-02-25 01:38:26 +01:00
mintsuki
9bcad9d258 build: Very minor QOL fixes 2023-02-20 22:24:21 +01:00
mintsuki
c924d7b7e5 build: Misc quality-of-life fixes 2023-02-19 10:07:21 +01:00
mintsuki
71b3ae548b compress: Replace tinf's inflate implementation with stb_image's zlib 2023-02-15 11:21:53 +01:00
mintsuki
45312e66ae term: Add builtin font 2022-10-04 06:04:31 +02:00
mintsuki
b1bfa2d2d8 build: Fix issue introduced in 87e09dba 2022-09-20 10:02:33 +02:00
mintsuki
87e09dba61 build: Plug back limine_stage2only.elf into the BIOS build system 2022-09-19 02:31:23 +02:00
mintsuki
0ae552a25c misc: Misc stage 2 related improvements 2022-09-17 13:53:57 +02:00
mintsuki
7e6aad3113 build: Fix stage2 map 2022-09-14 02:20:12 +02:00
mintsuki
07c446f293 build: Updates for new limine-efi 2022-09-02 11:01:13 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
c34db50cfd build: Small formatting fix 2022-08-31 00:40:59 +02:00
mintsuki
21fa4a9616 build: Update for new cross-detect 2022-08-29 21:52:59 +02:00
mintsuki
44df23c81a build: Update linker and compiler flags 2022-08-28 23:24:47 +02:00
mintsuki
6631b595f2 build: Pretty up find calls 2022-08-27 05:09:42 +02:00
mintsuki
a91abf2c2a build: Handle -no-pie bug with cross-detect 2022-08-26 10:23:35 +02:00
mintsuki
5f7cb5c83f build: Properly set target arch on objcopy to ELF 2022-08-25 22:07:50 +02:00
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