Commit Graph

30 Commits

Author SHA1 Message Date
mintsuki
b72d033510 elf: elf64_load(): Remove accidentally left in debug code 2023-07-09 03:40:06 +02:00
mintsuki
17e26c8c95 elf: Fix potential uninitialised usage of bss_size 2023-07-09 03:09:45 +02:00
mintsuki
9333f1ca8b limine/elf: Optimise not to scan .bss for requests 2023-07-08 23:44:50 +02:00
xvanc
9274ee656e
Initial riscv64 port (#274)
* initial riscv64 port

* enable Paging Mode feature for all architectures

* riscv: add missing protocol docs

* riscv: fix tests

* docs: clarify `LIMINE_PAGING_MODE_DEFAULT` macro

* build: fix whitespace in common/GNUmakefile

* riscv: default to Sv48 paging when supported

* vmm: make `VMM_MAX_LEVEL` 1-indexed

* limine: do not call `reported_addr()` before finaling paging mode

smp/riscv: do not overwrite the argument passed to APs

* limine/riscv: update default paging mode in limine.h

* test/riscv: pad OVMF.fd when downloading it
2023-06-04 01:36:06 +02:00
mintsuki
7989064599 elf: Improve detection of relocatable ELFs 2023-05-13 00:05:50 +02:00
Bryce Lanham
fdcb9a9243 multiboot2: fix 32 bit elf section loading
Existing code was using 64 bit elf section header unconditionally. This
commit fixes that :)
2023-05-02 20:15:43 -05:00
mintsuki
6022f5bf23 elf: Add overlapping PHDR detection 2022-10-10 04:35:28 +02:00
mintsuki
82eb809111 elf: Fix issue where KASLR was applied to non reloc executables 2022-09-11 23:07:13 +02:00
mintsuki
3452e492bb elf: General refactor 2022-09-11 10:05:45 +02:00
mintsuki
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +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
3d65bfb9b9 misc: Misc elsewhere and multiboot-related bug fixes 2022-06-29 12:32:50 +02:00
mintsuki
215bf87993 misc: Bring mb2 up to par to mb1 wrt everywhere ranges and bug fixes 2022-06-29 10:27:04 +02:00
mintsuki
19287d5ca1 misc: Add elsewhere TU and rework mb1 to use it 2022-06-29 09:34:14 +02:00
mintsuki
e436b763c2 elf: Add elf*_load_elsewhere() functions 2022-06-29 08:16:22 +02:00
mintsuki
4e0ec6d544 elf: Undo all the mess caused by multiboot in preparation for separate functions 2022-06-29 07:48:10 +02:00
mintsuki
fba565b34e elf: Add support for sliding and ELF ranges to ELF32 as well 2022-06-28 10:26:14 +02:00
mintsuki
27e2b84e31 elf64: Do not align ELF ranges if using paddr 2022-06-27 15:20:01 +02:00
mintsuki
b92d48e44f multiboot(2): Initial support for arbitrary kernel load addresses 2022-06-27 10:55:57 +02:00
mintsuki
ab84448be2 multiboot2: Fix broken section list size calculation (2) 2022-06-19 00:30:01 +02:00
mintsuki
7f6ac2d135 multiboot2: Add mb2_alloc() for quirky allocation locations 2022-06-18 23:40:34 +02:00
mintsuki
ab79b95632 elf: Load non-load sections in memory for multiboot 2022-05-29 06:03:59 +02:00
mintsuki
c22492976a elf: Do not assume relocatable unless DT_RELA present. Fixes #170 2022-05-07 13:12:28 +02:00
mintsuki
dae8927078 limine: Add support for .limine_reqs ELF section 2022-04-14 20:34:59 +02:00
mintsuki
41ea16e2ff elf: Return is_reloc 2022-03-28 05:13:47 +02:00
mintsuki
8aa1372ce9 elf: Return image size 2022-03-26 05:03:02 +01:00
mintsuki
5dd725dbab elf: Add more sanity checks 2022-03-13 17:46:11 +01:00
mintsuki
ee1b9f19a1 misc: Bug fixes
Co-authored-by: pitust <piotr@stelmaszek.com>
2022-03-13 17:22:04 +01:00
mintsuki
f3ffa8723f elf: Use PHDRs instead of sections for resolving relocations
Co-authored-by: Connor Horman <chorman64@gmail.com>
2022-03-08 21:05:48 +01:00
mintsuki
400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00