mintsuki
45f65b6b40
ext: Fix abs-path related bug with symlink handling
2022-08-21 01:10:58 +02:00
mintsuki
fe637af458
ext: Properly follow relative symlinks
2022-08-21 00:50:12 +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
664a872dda
editor: Add TERM_CONFIG_OVERRIDE to syntax highlighting
2022-08-15 18:40:52 +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
17e23dd7f6
build: Discard .eh_frame section in linker scripts to fix potential GNU toolchain miscompilation
2022-08-15 16:22:56 +02:00
mintsuki
fb2a6e1f29
limine: Remove stray external symbol declaration
2022-08-14 15:31:53 +02:00
mintsuki
997c787c16
term/limine: Allow overriding terminal config in entry
2022-08-14 15:09:57 +02:00
mintsuki
11b56c39f0
config: Only make keys global if before first entry
2022-08-14 14:45:20 +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
7ade45b230
misc: struct e820_entry_t -> struct memmap_entry
2022-08-13 19:54:49 +02:00
mintsuki
71fd2d2516
pmm: Properly handle memory map entries that cross 4GiB on UEFI
2022-08-13 17:52:01 +02:00
Dmytro Bagrii
b205ff9bd8
misc: Fix GRAPHICS config option recognition
2022-08-13 04:30:58 +03:00
mintsuki
93f8d011ff
multiboot2: Fix bug where old ACPI tag would not get passed if RSDP rev == 0
2022-08-12 23:33:28 +02:00
mintsuki
74a3a1c6b6
pmm: General tyding up of pmm code (2)
2022-08-11 20:20:16 +02:00
mintsuki
fa6f607769
pmm: General tyding up of pmm code
2022-08-11 09:41:07 +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
e3c4fbea25
config: Remove stray include
2022-08-06 20:21:56 +02:00
mintsuki
793d029370
linux: Only make framebuffer EFI and 64-bit if above 4GiB
2022-08-06 19:47:46 +02:00
mintsuki
367bf3e5e9
linux: Find compromise for 32-bit EFI boot
2022-08-04 14:16:42 +02:00
mintsuki
4b55b45382
pmm: Fix a handful of GCC warnings
2022-08-04 13:04:55 +02:00
mintsuki
0ef0c3adc5
linux, pmm: Get a boot with 32-bit UEFI. Addresses #185
2022-08-04 12:56:46 +02:00
mintsuki
c43acd445f
limine: Drop legacy framebuffer and terminal requests
2022-07-29 00:53:59 +02:00
mintsuki
cd1107abe2
limine: Specify that memory between 0 and 0x1000 is never to be marked usable
2022-07-29 00:42:47 +02:00
mintsuki
c23eac8018
mbr: Make detection more lax. Addresses #185
2022-07-28 22:48:04 +02:00
mintsuki
ff7d9502e5
smp: Make smp_trampoline_size variable instead of symbol
2022-07-28 22:30:26 +02:00
mintsuki
ccdd1ca642
smp: Do not calculate trampoline size in C file
2022-07-28 22:23:12 +02:00
mintsuki
77ed67e582
smp/trampoline: Use hand written pos independent code instead of objcopying
2022-07-28 09:35:59 +02:00
mintsuki
0a2c2896b7
Revert "pmm: Fix issue with get_memmap() that could cause page table corruption"
...
This reverts commit 9c180b4008
.
2022-07-26 20:02:57 +02:00
mintsuki
fb5d903ccf
pmm: Reclaim bootservices entries last and disallow allocations after
2022-07-26 19:55:18 +02:00
mintsuki
4c6fba824c
chainload: Add GPT_GUID support and improve documentation. Closes #201
2022-07-26 19:21:47 +02:00
mintsuki
7bfa2cd775
pmm: Fix bugs introduced in 85603ec
2022-07-26 11:01:00 +02:00
mintsuki
85603ec8db
pmm: Simplify handling EFI memory acquisition and release
2022-07-26 08:09:50 +02:00
mintsuki
dcfef93ff6
efi: Handle cases where untouched memmap entries are lower than current base
2022-07-24 22:36:46 +02:00
mintsuki
4859ee9790
Revert "multiboot: Take better care of not having the reloc stub overwritten"
...
This reverts commit 009fb59b69
.
2022-07-24 22:32:25 +02:00
mintsuki
d2b1579668
multiboot: Properly check elsewhere returns
2022-07-24 22:28:16 +02:00
mintsuki
b3ca8ae9a2
Revert "gensyms: Use as instead of nasm"
...
This reverts commit cb9c097bcc
.
2022-07-24 01:03:48 +02:00
mintsuki
a58e66a187
build: Move common/{entry.asm_bios_ia32 -> entry_asm.s2.asm_bios_ia32}
2022-07-18 21:34:26 +02:00
mintsuki
f2d611eb83
build: Remove unnecessary -mno-3dnow flag
2022-07-18 21:34:26 +02:00
mintsuki
f233703167
build: Remove unnecessary symbol overrides for stage2only
2022-07-18 21:34:26 +02:00
mintsuki
86fc022f11
misc: Move 'verbose' declaration to lib/print.h
2022-07-18 21:14:21 +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
ffb4ba6f55
mbr: Relax MBR validation requirements. Closes #195
2022-07-16 17:32:27 +02:00
mintsuki
4dc295c9d8
misc: Fix broken memcmp()
2022-07-14 20:03:21 +02:00
mintsuki
8a8b62fbcf
chainload: Fix bug where PARTITION was ignored if MBR_ID was set. Addresses #197
2022-07-14 19:24:41 +02:00
mintsuki
2a448febb3
protos: Move 'loading kernel' prints where they belong
2022-07-13 08:34:30 +02:00