Commit Graph

580 Commits

Author SHA1 Message Date
mintsuki
c528068ac7 misc: Fix improper panic() calls 2022-08-28 20:16:27 +02:00
mintsuki
6631b595f2 build: Pretty up find calls 2022-08-27 05:09:42 +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
mintsuki
16c5e98120 misc: Update ALIGN macros 2022-08-26 21:34:40 +02:00
mintsuki
a91abf2c2a build: Handle -no-pie bug with cross-detect 2022-08-26 10:23:35 +02:00
mintsuki
fde0447802 fs: Drop NTFS support 2022-08-26 00:20:27 +02:00
mintsuki
5f7cb5c83f build: Properly set target arch on objcopy to ELF 2022-08-25 22:07:50 +02:00
mintsuki
94eb0e2ae2 entry/uefi: Only perform 4GiB check if on x86_64 2022-08-25 21:53:48 +02:00
mintsuki
ed0c32f20a entry/uefi: Abort if loaded above 4GiB. Fix #206 2022-08-25 21:50:37 +02:00
mintsuki
a89b843673 Revert "bios: Get rid of self-modifying interrupt call code"
This reverts commit 5e0f85727a.
2022-08-25 20:13:42 +02:00
Kacper Słomiński
489450d602 common: fix alignment of variable in AArch64 menu thunk
Fixes a problem that sometimes occured due to a specific relocation
being used for the misaligned variable.
2022-08-24 21:15:37 +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
mintsuki
a17edef7bc ext: Fix next_cwd_len calculation 2022-08-21 07:15:48 +02:00
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
mintsuki
e5e125887b protos: Remove pointless returns added for autodetection 2022-07-13 07:40:53 +02:00
mintsuki
0af37b7cf0 fwcfg: Drop support 2022-07-13 06:23:20 +02:00
mintsuki
62c029c218 chainload: Implement MBR_ID config option. Closes #190 2022-07-11 01:30:54 +02:00
mintsuki
fb75a6876e chainload_next: Fix some UEFI bugs 2022-07-11 00:53:33 +02:00
mintsuki
4511827780 chainload_next: Pass config through to chainload on UEFI 2022-07-11 00:27:22 +02:00
mintsuki
abd641bba0 protos: Fix typo in chainload_next.c 2022-07-11 00:19:32 +02:00
mintsuki
95272c5f1d protos: Add chainload_next protocol. Closes #191 2022-07-11 00:15:56 +02:00
mintsuki
1ac1343059 mbr: Add extra FAT32 and NTFS signatures to validity check 2022-07-10 22:46:08 +02:00
mintsuki
abf86a561a fat: Make signature checking even more lax 2022-07-10 19:50:19 +02:00
mintsuki
5e0f85727a bios: Get rid of self-modifying interrupt call code 2022-07-10 18:58:17 +02:00
mintsuki
b1672e4ab9 fat: Loosen up check more and lower its priority in file.s2.c 2022-07-09 12:42:34 +02:00
mintsuki
afedae6d08 fat32: Swallow 0x28 and 0xd0 extended boot signatures 2022-07-09 12:25:47 +02:00
mintsuki
71adb6b307 console: Set config_ready to true after successfully running editor 2022-07-09 11:58:03 +02:00
mintsuki
7d78cf4e17 part: Also print fslabel in lsvol 2022-07-07 11:22:43 +02:00
mintsuki
7895c6827c ext: Return NULL from get_label() when no label is present 2022-07-07 11:22:43 +02:00
mintsuki
eafff620d7 uri: Fix call to panic() 2022-07-07 11:18:09 +02:00
mintsuki
ff5d74511a fat: Fix volume label detection 2022-07-07 11:13:45 +02:00
mintsuki
00b9f44255 limine: Fix assignment of paths broken in 0431623 2022-07-07 10:08:55 +02:00
mintsuki
7db783f080 edid: Undo comparison change from 29d63d6 2022-07-06 04:47:42 +02:00
mintsuki
180eb8490a part: Misc EBR-related bug fixes. Fixes #189 2022-07-06 03:17:11 +02:00
mintsuki
009fb59b69 multiboot: Take better care of not having the reloc stub overwritten 2022-07-05 20:42:09 +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
1dd81d4534 build: Add DWARF debugging sections to linker scripts 2022-07-05 16:41:27 +02:00
mintsuki
6106285d35 build: Move to using external cross-detect package 2022-07-05 09:14:48 +02:00
mintsuki
0431623381 fs: Improve layering in how the filesystem API works 2022-07-04 20:16:33 +02:00
mintsuki
48318c25eb limine: Fix bug where HHDM would be randomised even with KASLR disabled 2022-07-04 08:58:44 +02:00
mintsuki
51b36a79c4 config: Fix macro parsing and expansion bugs 2022-07-02 13:29:18 +02:00
mintsuki
effb82320e config: Fix issue with configs without trailing newline 2022-07-02 12:05:56 +02:00
mintsuki
0f5a467a78 uri: Add fslabel:// URI scheme as mentioned in #188 2022-07-02 10:43:10 +02:00
mintsuki
857dcbbfe7 part: Fix broken sector count normalisation calculation 2022-07-01 18:32:18 +02:00
mintsuki
0a7c1be0bb part: Fix implicit declaration warning 2022-07-01 17:33:59 +02:00
mintsuki
20640083d8 part: Fix long standing issue with GPT logical block sizes and implement lsvol console command 2022-07-01 17:30:53 +02:00
mintsuki
f3621c7bcc acpi: Add EBDA address sanity checks and work around bogus GCC warning 2022-07-01 15:04:57 +02:00
mintsuki
29d63d6b3e gop: Use LocateHandle/HandleProtocol to get GOP instance 2022-07-01 13:08:08 +02:00
mintsuki
55199478db efi: Fix broken assignments of handles_size 2022-07-01 09:07:45 +02:00
mintsuki
f9e90da2c2 efi: Fix potential issues with LocateHandle invocations 2022-07-01 08:03:21 +02:00
mintsuki
098e8679f3 build: Rename freestanding-headers to match upstream 2022-06-30 07:48:42 +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
94a20e649b multiboot: Fix relocator assembly issues 2022-06-29 12:41:42 +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
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
f62345ee64 build: Add generic x86 asm extension grouping 2022-06-28 08:47:40 +02:00
mintsuki
27e2b84e31 elf64: Do not align ELF ranges if using paddr 2022-06-27 15:20:01 +02:00
mintsuki
b9400d2fc9 multiboot: Backport b92d48e to multiboot1 2022-06-27 11:17:47 +02:00
mintsuki
b92d48e44f multiboot(2): Initial support for arbitrary kernel load addresses 2022-06-27 10:55:57 +02:00
mintsuki
0836a62fbd pmm: Minor overhaul to try and fix #185 2022-06-26 04:23:13 +02:00
mintsuki
9c180b4008 pmm: Fix issue with get_memmap() that could cause page table corruption 2022-06-22 22:28:43 +02:00
mintsuki
7415137a1b misc: Update default font 2022-06-22 22:08:01 +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
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
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
mint
dc3de36c7e
Merge pull request #178 from lightning-speed/patch-2
Replaced Multiple strlen(buffer) call with one call
2022-06-19 20:29:59 +02:00
mintsuki
9ba7ba47f7 ext: Turn presence of encryption feature to a warning. Closes #179 2022-06-19 20:23:45 +02:00
mintsuki
1e47160a62 multiboot: Fix section location calculation 2022-06-19 20:16:37 +02:00
peko
2f07cb36ac
Update menu.c 2022-06-19 16:27:05 +05:30
mintsuki
3ef8a29933 multiboot1: Add ELF sections load support 2022-06-19 01:46:38 +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
mintsuki
5b181e10a3 term: Move notready and fallback backends to stage 2 2022-06-17 20:29:23 +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
8981575db6 protos: Drop autodetection support 2022-06-15 02:12:27 +02:00
mintsuki
ee69dacb08 fs: Drop echfs support 2022-06-14 23:48:29 +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
57f384eed5 gop: Ensure QueryMode() is called properly 2022-06-02 09:52:32 +02:00
mintsuki
3b60c7bb80 Revert "gop: Force 32 bpp for preset mode fallback"
This reverts commit 3dbed1dc59.
2022-06-02 09:51:03 +02:00
mintsuki
571374fdd7 Revert "gop: Potential workarounds for modesetting issue"
This reverts commit cf8f4f86a8.
2022-06-02 09:50:13 +02:00
mintsuki
cf8f4f86a8 gop: Potential workarounds for modesetting issue 2022-06-01 19:50:27 +02:00
mintsuki
ab79b95632 elf: Load non-load sections in memory for multiboot 2022-05-29 06:03:59 +02:00
mintsuki
9a89e72dc8 multiboot1: use config_get_tuple when appropriate 2022-05-28 05:13:46 +02:00
Nathan Royer
67b75fa059 multiboot2: use config_get_tuple when appropriate 2022-05-28 05:05:11 +02:00
mintsuki
3dbed1dc59 gop: Force 32 bpp for preset mode fallback 2022-05-22 08:32:31 +02:00
mintsuki
c9f4f6bee7 fb: Change reactions of protocols to high fb sizes 2022-05-22 08:19:41 +02:00
mintsuki
f77b1f803b gop: Use EDID only if of better resolution than preset 2022-05-22 07:17:26 +02:00
mintsuki
b11b21dfb0 fb: Expand width and height to 64-bit 2022-05-22 06:38:34 +02:00
mintsuki
9585dcbd5c limine: Add new requests for terminal and framebuffer 2022-05-22 03:44:04 +02:00
mintsuki
4205f7cd5f gensyms: Add exit traps 2022-05-21 03:19:57 +02:00
mintsuki
6036679a12 misc: Work around GNU binutils nonsense 2022-05-20 20:02:14 +02:00
mintsuki
7c7dd0d2b4 misc: Sanitise EFI linker scripts 2022-05-20 06:02:30 +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
6051fdf564 misc: Make BIOS port PHDRs explicit 2022-05-19 20:19:29 +02:00
mintsuki
688c118caa limine: Ensure framebuffer pointer of terminal is always valid 2022-05-13 19:14:10 +02:00
mintsuki
cb9c097bcc gensyms: Use as instead of nasm 2022-05-11 15:49:04 +02:00
mintsuki
e836fb44de limine: Only acknowledge stack size req if new stack > default 2022-05-07 17:11:11 +02:00
mintsuki
0c46c16a71 fat: Add missing semicolon 2022-05-07 16:33:40 +02:00
mintsuki
c8973ed681 fat: Improve detection code 2022-05-07 16:24:04 +02:00
mintsuki
c22492976a elf: Do not assume relocatable unless DT_RELA present. Fixes #170 2022-05-07 13:12:28 +02:00
ilobilo
ce7c561eb0
Stack size
If stack size == 0 use default size
2022-05-05 15:51:31 +04:00
mintsuki
b0c59cc0d2 efi: Updates for new reduced-gnu-efi 2022-04-24 23:30:28 +02:00
mintsuki
cf7d9e7360 readline: Fix 1 uncaught NULL deref 2022-04-22 16:48:17 +02:00
mintsuki
cac57ced41 menu: Fix 2 uncaught NULL derefs 2022-04-22 16:42:30 +02:00
mintsuki
d454935ec6 efi: Update linker scripts for new reduced-gnu-efi 2022-04-21 15:44:26 +02:00
mintsuki
64e9c11daa build: No longer hard depend on GNU binutils 2022-04-20 04:38:58 +02:00
mintsuki
df7e43df7f efi: Adjust for new reduced-gnu-efi 2022-04-20 04:00:00 +02:00
mintsuki
1af09d0749 mm/efi: Fix issue where in-use bootloader memory may be erroneously allocated 2022-04-19 22:28:21 +02:00
mintsuki
e22d5eff39 limine: Increment default stack size to 64KiB 2022-04-17 07:56:41 +02:00
mintsuki
fbf1e1584e term/protos: Do not call callback if NULL 2022-04-17 07:51:28 +02:00
mintsuki
d8180342f0 efi: Do not panic if GetMemoryMap() fails after first ExitBootServices() 2022-04-15 18:37:17 +02:00
mintsuki
4202402bf0 limine: Ensure framebuffer memmap entry is always generated 2022-04-15 15:13:40 +02:00
mintsuki
dae8927078 limine: Add support for .limine_reqs ELF section 2022-04-14 20:34:59 +02:00
mintsuki
5c7578c54a limine: Add media type to limine_file structure 2022-04-02 10:28:07 +02:00
mintsuki
012e7b0b67 misc: Fix minor things accidentally reverted in 790a130 2022-04-02 10:14:52 +02:00
mintsuki
790a1303f8 Revert "limine: Initial support for non-ELF executables"
This reverts commit 4240256074.
2022-04-02 10:10:38 +02:00
mintsuki
5f525a1052 limine: Change terminal write contract 2022-04-02 10:05:14 +02:00
mintsuki
fb175747df limine: Add support for multiple terminals and properly document it 2022-04-01 10:00:36 +02:00
mintsuki
15f111f5c3 limine: Make WP flag enabled as per spec 2022-03-31 13:33:18 +02:00
mintsuki
6caaada636 limine: Rename 2 limine_file members 2022-03-31 09:03:06 +02:00
mintsuki
e1f3d223a7 smp: Make RDI pointer higher half aware 2022-03-30 22:18:55 +02:00
mintsuki
4240256074 limine: Initial support for non-ELF executables 2022-03-30 14:04:04 +02:00
mintsuki
abc3b309a4 gterm: Default to transparent bg if wallpaper is set 2022-03-30 03:19:05 +02:00
mintsuki
a688a1dd4f limine: Add stack size feature 2022-03-28 08:00:40 +02:00
mintsuki
2917932d69 misc: Initialise terminal before randomising memory 2022-03-28 07:18:09 +02:00
mintsuki
41ea16e2ff elf: Return is_reloc 2022-03-28 05:13:47 +02:00
mintsuki
6c7e5f87dd uri: Assign volume to compressed file handles 2022-03-27 23:43:05 +02:00
mintsuki
c2a21f9b29 misc: Readd missing RANDOMISE_MEMORY implementation 2022-03-27 23:33:34 +02:00
mintsuki
8b2cafc875 misc: Bug fixes 2022-03-26 11:59:27 +01:00
mintsuki
8b19de71e6 editor: Remove useless VALID_KEYS 2022-03-26 09:49:59 +01:00
mintsuki
e8fcc85b03 limine: Rework modules/file/kernel_file 2022-03-26 09:27:09 +01:00
mintsuki
652b5447fe limine: Make module paths better defined 2022-03-26 08:36:53 +01:00
mintsuki
8aa1372ce9 elf: Return image size 2022-03-26 05:03:02 +01:00
mintsuki
3c909c017b docs: limine: More documentation work 2022-03-26 01:31:38 +01:00
mintsuki
21f8640510 docs: limine: Document SMP request 2022-03-24 02:18:33 +01:00
mintsuki
c4f04dab95 docs: Continue work on Limine protocol spec 2022-03-22 10:26:41 +01:00
mintsuki
49a8dfe4b2 config: Misc improvements 2022-03-22 04:39:51 +01:00
mintsuki
99a4eaac23 config: Sanitise names of terminal keys 2022-03-22 04:09:29 +01:00
mintsuki
c78e47dbcf limine: Change type of entry point pointer 2022-03-21 06:46:52 +01:00
mintsuki
733865c9a6 limine: Add terminal request 2022-03-21 05:15:10 +01:00
Benji Dial
1dd3885bb6
and for tabs 2022-03-20 21:38:50 -04:00
Benji Dial
66e3c5ef5c
also do it on the first line 2022-03-20 20:38:37 -04:00
Benji Dial
4df856f3dc
skip spaces at the start of lines in config files 2022-03-20 20:32:00 -04:00
mintsuki
01fd8257e3 limine: Header cleanup 2022-03-20 21:23:47 +01:00
mintsuki
80ba39503d limine: Use arrays of pointers over arrays of structs 2022-03-20 20:28:44 +01:00
mintsuki
414fb38492 limine: Fix wrong variable name 2022-03-20 19:22:38 +01:00
mintsuki
fb19f6bc97 Revert "limine: Move module request to using SoA"
This reverts commit f39578f4e3.
2022-03-20 19:13:18 +01:00
mintsuki
40e0f3fd77 Revert "limine: Move memmap request to using SoA"
This reverts commit 82627d8693.
2022-03-20 19:13:18 +01:00
mintsuki
2ba3770766 Revert "limine: Move SMP request to using SoA"
This reverts commit 03700dea96.
2022-03-20 19:12:55 +01:00
mintsuki
b2211a7e13 Revert "limine: Move framebuffer request to using SoA"
This reverts commit 76b9312d72.
2022-03-20 19:11:22 +01:00
mintsuki
2d048ecfde limine: Add kernel address request 2022-03-20 19:01:24 +01:00
mintsuki
f487061f40 limine: Add boot time request 2022-03-20 08:19:32 +01:00
mintsuki
38233a2405 limine: Add EFI system table request 2022-03-20 08:05:12 +01:00
mintsuki
a65e6ca9d8 limine: flags -> revision 2022-03-20 00:57:10 +01:00
mintsuki
f39578f4e3 limine: Move module request to using SoA 2022-03-18 08:48:48 +01:00
mintsuki
82627d8693 limine: Move memmap request to using SoA 2022-03-18 08:32:19 +01:00
mintsuki
03700dea96 limine: Move SMP request to using SoA 2022-03-18 07:26:56 +01:00
mintsuki
76b9312d72 limine: Move framebuffer request to using SoA 2022-03-18 05:09:19 +01:00
mintsuki
021bf509bd limine: Separate bootloader info and HHDM requests 2022-03-18 03:08:47 +01:00
mintsuki
5b6c4ffc34 limine: Add EDID to framebuffer response 2022-03-18 02:45:37 +01:00
mintsuki
9f44fe6c4e smp: Make it higher half aware 2022-03-18 01:47:04 +01:00
mintsuki
3f5b29c3c9 limine: Add SMP request 2022-03-18 01:17:56 +01:00
mintsuki
fb54571b34 limine: PXE and HHDM work 2022-03-17 23:46:48 +01:00
mintsuki
50076656f4 limine: Add SMBIOS request 2022-03-17 19:59:03 +01:00
mintsuki
4f90e0c723 limine: Add RSDP request 2022-03-17 19:21:35 +01:00
mintsuki
a3d3e2bb13 limine: Exit boot services before memmap logic 2022-03-16 23:23:04 +01:00
mintsuki
30aed730b6 limine: Add kernel to modules request 2022-03-16 20:33:59 +01:00
mintsuki
a51f8a39c0 limine: Add modules request 2022-03-16 06:49:41 +01:00
mintsuki
1e62d99374 limine: Add reserved space to size-sensitive structs 2022-03-15 21:34:47 +01:00
mintsuki
c180b59f96 limine: Add cmdline request 2022-03-15 02:46:39 +01:00
mintsuki
fd2b3d696d limine: Add framebuffer request 2022-03-14 12:05:59 +01:00
mintsuki
ea6475885d misc: Panic improvements 2022-03-14 12:03:12 +01:00
mintsuki
80f8f434f2 limine: Add request conflict detection 2022-03-13 21:20:24 +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
f9c9ec84d5 limine: Rework request-response system 2022-03-13 05:35:29 +01:00
mintsuki
e33a76bd99 limine: Add memmap feature 2022-03-12 21:41:36 +01:00
mintsuki
b2e614e7c2 limine: Introduce basic Limine protocol concept 2022-03-12 19:40:49 +01:00
mintsuki
c2b1be81dc serial: Ensure DLAB off before initiatialisation 2022-03-11 05:11:09 +01:00
mintsuki
d6be41921f misc: New example background 2022-03-11 04:57:47 +01:00
mintsuki
b6d0a63a3c term: Fix deinitialisation issues 2022-03-10 18:21:49 +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
08547c0d8f time: Work around potential issue with day wraparound 2022-03-08 14:26:08 +01:00
mintsuki
f59a1eac0b readline: Support odd backspace behaviour from serial
This addresses the problem with QEMU's serial input from terminal mentioned in issue #155
2022-03-07 22:09:33 +01:00
mintsuki
af092292ea term: Change default settings to prefer video to text mode 2022-03-07 21:11:17 +01:00
mintsuki
be2b099ba5 gterm: Fix crash if margin==0 with a background 2022-03-07 11:46:25 +01:00
mintsuki
7db81efbb0 stivale2: Ensure serial off before starting runtime term 2022-03-02 18:51:32 +01:00
mintsuki
5542dffaa7 build: Pass -undef to preprocessor calls 2022-03-02 15:46:40 +01:00
mintsuki
b718310205 readline: Unify getchar() impl for UEFI and BIOS 2022-03-02 15:15:22 +01:00
mintsuki
4b5780ddb4 menu: Use reverse video to highlight selected entry 2022-03-02 14:38:27 +01:00
mintsuki
9964c922e6 docs: Document serial support better 2022-03-02 14:32:22 +01:00
mintsuki
23ff2b0d2b misc: Ensure editor is not accessible from console if disabled 2022-03-02 13:31:09 +01:00
mintsuki
8812216481 io: Complete serial support. Closes #155 2022-03-01 17:53:46 +01:00
mintsuki
1d2cb8e400 pmm: Fix alignment issue introduced in 3fe8217 2022-02-28 08:24:44 +01:00
mintsuki
c9c437971f efi: Do not fail on first ExitBootServices() attempt 2022-02-27 05:47:03 +01:00
mintsuki
87bf32bebd build: Updates for new reduced-gnu-efi commits 2022-02-21 16:27:52 +01:00
mintsuki
09b4a5f383 build: Misc gnu-efi related fixes 2022-02-21 13:08:44 +01:00
mintsuki
c5d61e4ec6 build: Unbreak out of tree builds 2022-02-21 00:40:15 +01:00
mintsuki
c6619ba10d build: Include config.h in sbat.c 2022-02-20 23:14:14 +01:00
mintsuki
1984f401a1 build: Use config.h for generated constants 2022-02-20 23:05:53 +01:00
mintsuki
34f075516d readline: Use .scan instead of .ascii to test timeout 2022-02-20 22:55:52 +01:00
mintsuki
225f1911c2 readline: Fix argument handling in sleep.asmb 2022-02-19 17:19:25 +01:00
mintsuki
e898ef0425 misc: Make VLAs a warning 2022-02-18 01:09:51 +01:00
mintsuki
27d19e6f11 misc: Use freestanding_headers rather than shipping them 2022-02-15 06:18:57 +01:00
mintsuki
b80fb36744 misc: Misc Hyper-V related fixes. Closes #150 2022-02-09 12:45:55 +01:00
mintsuki
319326a7f5 misc: Misc output fixes for serial support 2022-02-07 02:10:57 +01:00
mintsuki
b51f2528d1 readline: Support C-[ae] for HOME and END 2022-02-04 22:54:11 +01:00
mintsuki
6e0fde5cfb menu: Support HOME and END shortcuts 2022-02-04 22:30:53 +01:00
mintsuki
aae5e6f779 menu: Support using 1-9 to boot menu entries 2022-02-04 22:25:34 +01:00
mintsuki
400202d926 misc: stage23 -> common 2022-02-03 10:38:43 +01:00