Commit Graph

44 Commits

Author SHA1 Message Date
mintsuki
240d9688b0 multiboot2: Fix lack of argument to panic format string 2023-04-12 09:56:28 +02:00
mintsuki
d39baeaa80 video: Initial support for multiple framebuffers 2022-11-18 23:59:31 +01:00
mintsuki
7e403e0059 multiboot2: Support load_addr == -1 2022-10-30 11:19:02 +01:00
mintsuki
ac34ec411f term: Better ensure term is not accessed when NULL 2022-10-05 15:01:01 +02:00
mintsuki
b34954bb43 term: Misc fixes and improvements 2022-10-04 07:24:42 +02:00
mintsuki
0f1d86e7e4 term: Tidy up VGA textmode wrapper code 2022-10-04 02:34:11 +02:00
mintsuki
4d855fc17e term: Move to use external, portable terminal 2022-10-04 00:58:00 +02:00
mintsuki
00e9f2ce46 multiboot: Fix warnings when building BIOS port 2022-09-27 05:55:00 +02:00
mintsuki
a2ba71eb1d multiboot: Allow for headless boots 2022-09-27 05:46:39 +02:00
mintsuki
a6189abdc1 misc: Fix bugs introduced in 3181293a 2022-09-20 09:54:35 +02:00
mintsuki
7f14f2f0d0 misc: Improve printing effectively on panics and errors 2022-09-17 10:40:14 +02:00
mintsuki
e76c8d47a9 multiboot2: Fix broken EFI memmap length calculation 2022-09-15 22:31:50 +02:00
czapek1337
71eb143611
print: Specifier for printing URIs 2022-09-12 14:10:36 +02:00
mintsuki
3452e492bb elf: General refactor 2022-09-11 10:05:45 +02:00
mintsuki
c44f514738 misc: Rename UEFI and BIOS define macros 2022-09-02 02:29:12 +02:00
mintsuki
07080dcbc2 misc: blib.h -> misc.h 2022-08-26 23:44:47 +02:00
mintsuki
65671d73c7 misc: Update several macros 2022-08-26 23:30:00 +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
0fac035a34 multiboot2: Add stub support for relocation header tag 2022-06-30 05:50:31 +02:00
mintsuki
b899d1accd multiboot2: Remove useless, broken comparison 2022-06-29 15:20:09 +02:00
mintsuki
a1bf37382d multiboot2: Bring framebuffer tag up to par with mb1 2022-06-29 13:25:09 +02:00
mintsuki
77b405a6b6 multiboot2: Bring a.out kludge up to par with mb1 2022-06-29 13:04:26 +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
fba565b34e elf: Add support for sliding and ELF ranges to ELF32 as well 2022-06-28 10:26:14 +02:00
mintsuki
b92d48e44f multiboot(2): Initial support for arbitrary kernel load addresses 2022-06-27 10:55:57 +02:00
mintsuki
1e47160a62 multiboot: Fix section location calculation 2022-06-19 20:16:37 +02:00
mintsuki
77fa71ae92 multiboot2: Use correct section list copy for section loading 2022-06-19 01:08:17 +02:00
mintsuki
15ab3d7748 multiboot2: Fix broken section list size calculation (3) 2022-06-19 00:35:12 +02:00
mintsuki
ab84448be2 multiboot2: Fix broken section list size calculation (2) 2022-06-19 00:30:01 +02:00
mintsuki
ded43b60a3 multiboot2: Fix broken section list size calculation 2022-06-19 00:01:58 +02:00
mintsuki
7f6ac2d135 multiboot2: Add mb2_alloc() for quirky allocation locations 2022-06-18 23:40:34 +02:00
Nathan Royer
67b75fa059 multiboot2: use config_get_tuple when appropriate 2022-05-28 05:05:11 +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