Commit Graph

24 Commits

Author SHA1 Message Date
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
7ade45b230 misc: struct e820_entry_t -> struct memmap_entry 2022-08-13 19:54:49 +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
2a448febb3 protos: Move 'loading kernel' prints where they belong 2022-07-13 08:34:30 +02:00
mintsuki
e5e125887b protos: Remove pointless returns added for autodetection 2022-07-13 07:40:53 +02:00
mintsuki
009fb59b69 multiboot: Take better care of not having the reloc stub overwritten 2022-07-05 20:42:09 +02:00
mintsuki
af2f92210a multiboot: Do not panic if unable to set text mode 2022-06-30 07:25:33 +02:00
mintsuki
a1bf37382d multiboot2: Bring framebuffer tag up to par with mb1 2022-06-29 13:25:09 +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
a2f7d2d314 multiboot1: Add ahead-of-time info size calculation 2022-06-29 07:26:06 +02:00
mintsuki
d7d0a84462 multiboot1: Properly support relocation for a.out kludge kernels and bug fixes 2022-06-28 11:41:15 +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
b9400d2fc9 multiboot: Backport b92d48e to multiboot1 2022-06-27 11:17:47 +02:00
peko
7fb17ce9bc
Update multiboot1.c (#181)
* Update multiboot1.c

* Update multiboot1.c

* Update multiboot1.c

* Update multiboot1.c
2022-06-22 21:11:34 +02:00
mintsuki
1e47160a62 multiboot: Fix section location calculation 2022-06-19 20:16:37 +02:00
mintsuki
3ef8a29933 multiboot1: Add ELF sections load support 2022-06-19 01:46:38 +02:00
mintsuki
9a89e72dc8 multiboot1: use config_get_tuple when appropriate 2022-05-28 05:13:46 +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
1984f401a1 build: Use config.h for generated constants 2022-02-20 23:05:53 +01:00
mintsuki
400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00