Commit Graph

187 Commits

Author SHA1 Message Date
mintsuki
042a6e9554 misc: Backports from trunk 2023-09-16 15:12:14 -05:00
xvanc
e3d65aa628 riscv: refactor smp init 2023-09-16 11:28:15 -05:00
mintsuki
b54c3fc9cc protos/chainload: Fix bug that could result in bogus oom errors. Fixes #302 2023-09-11 17:16:19 -05:00
Kacper Słomiński
916aa370b2 protos: chainload: Allocate memory for the null terminator in cmdline 2023-09-11 17:16:19 -05:00
mintsuki
e6a67c80a6 x86/gdt: Mark accessed flag in descriptors 2023-09-09 10:08:44 -05:00
mintsuki
d66df6b38a limine: Do not return SMBIOS response if not present 2023-08-10 19:26:54 -05:00
Kacper Słomiński
dc68fcaff7 limine: Use a higher-half pointer for the stack on AArch64 2023-07-26 17:05:33 -05:00
mintsuki
9333f1ca8b limine/elf: Optimise not to scan .bss for requests 2023-07-08 23:44:50 +02:00
mintsuki
7882d89b4e limine: Drop 5-level paging request support 2023-06-20 16:10:08 +02:00
mintsuki
1ad6d6013e limine: Drop terminal request support 2023-06-20 15:58:52 +02:00
mintsuki
74a6b8e125 protos/linux: Do not zero EFI memmap size on IA-32 EFI 2023-06-05 23:05:20 +02:00
xvanc
1f01ddfc6d
limine: scale the maximum KASLR offset based on the address space size 2023-06-04 13:50:26 -05: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
Bryce Lanham
e0c3e6bdce multiboot1: also fix elf32 section loading
As with the prior mb2 fix, use the correct size elf section header for
32 bit elf
2023-05-02 20:48:13 -05: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
8dd7973e23 pxe: Add and use constant PXE ACK packet size and fix BIOS PXE ACK struct 2023-04-28 04:59:08 +02:00
Bryce Lanham
2362f1a785 Implement Multiboot2 network tag
Added caching of the dhcp response in the pxe code, and then adding the
tag containing it.
2023-04-24 06:44:56 -05:00
mintsuki
e57050d9c7 multiboot1: Support TEXTMODE config as with Linux/mb2 protocols 2023-04-13 19:21:49 +02:00
ミンツキ
3613997108
Merge pull request #263 from klange/mb2-textmode
multiboot2: Support TEXTMODE config as with linux
2023-04-12 16:24:14 +02:00
K. Lange
2da6225f9e multiboot2: ignore unsupported tags if they are marked optional 2023-04-12 19:53:24 +09:00
K. Lange
a3f84fc4a3 multiboot2: Support TEXTMODE config as with linux 2023-04-12 19:50:01 +09:00
mintsuki
240d9688b0 multiboot2: Fix lack of argument to panic format string 2023-04-12 09:56:28 +02:00
mintsuki
b66184cfbd limine: Clarify ambiguity with response revision and internal modules 2023-03-30 03:51:59 +02:00
mintsuki
012605adf9 limine: Fix issue with internal modules and kernels in root dir 2023-03-30 02:43:52 +02:00
mintsuki
01eeeb6e1d term: Drop in_bootloader for new Flanterm 2023-03-30 01:23:55 +02:00
mintsuki
779571339e misc: Updates for Flanterm rebrand 2023-03-29 22:43:06 +02:00
mintsuki
a2dd3449a8 limine: Fix framebuffer pointer in terminal struct being invalid without a framebuffer request 2023-03-29 11:04:53 +02:00
mintsuki
42027470c7 limine: Fix bug where internal modules are parsed with revision < 1 2023-03-25 00:59:26 +01:00
mintsuki
d0ee1e7d65 limine: Support relative-to-kernel paths for internal modules 2023-03-24 18:24:27 +01:00
mintsuki
698ca1a665 limine: Honour LIMINE_INTERNAL_MODULE_REQUIRED flag 2023-03-24 10:18:18 +01:00
mintsuki
830251e68e limine: Load internal modules before config modules 2023-03-24 09:07:40 +01:00
mintsuki
d4334699e3 limine: Implement internal modules concept 2023-03-24 01:02:31 +01:00
mintsuki
828e3790a4 chainload: LoadOptionsSize should be in bytes. Fixes #254 2023-03-08 15:40:11 +01:00
mintsuki
246276a538 chainload: BIOS: do not rely on 0x7c00 being free 2023-03-07 13:07:28 +01:00
mintsuki
a7721872dd term: Expose support for out-of-band output control 2023-01-20 20:14:38 +01:00
mintsuki
28dd8a1062 file: Fix several bugs to do with handling of path field 2023-01-20 17:27:41 +01:00
mintsuki
ac1c5d1b95 efi/chainload: Support passing of command lines. Addresses #244 2023-01-14 12:49:22 +01:00
Kacper Słomiński
04d22b1e52 limine: Fix caching mode detection for multiple framebuffers on AArch64 2022-11-23 01:03:06 +01: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
7e1d4a9870 linux: Revert 793d0293 2022-10-14 14:28:17 +02:00
mintsuki
e0aec79cb6 limine: Add support for framebuffer modes listing 2022-10-14 05:19:13 +02:00
mintsuki
ce33e9dff3 limine: Fix bug which triggered on no-NX where wrong register was used for rd/wrmsr 2022-10-09 07:31:26 +02:00
mintsuki
4ba1b2fd9d limine/smp: Fix stack offset accidentally added twice 2022-10-06 18:39:55 +02:00
mintsuki
fb994e61c6 limine: Fix NULL term dereference bug if gterm_init fails 2022-10-06 05:41:21 +02:00
mintsuki
ac34ec411f term: Better ensure term is not accessed when NULL 2022-10-05 15:01:01 +02:00
mintsuki
ec9d384bf2 limine: Do not panic if failing to set up terminal or framebuffer 2022-10-05 14:32:54 +02:00
mintsuki
6cbb9c4577 limine: Fix bug where NULL term was accessed. Fixes #227 2022-10-05 14:32:54 +02:00
mintsuki
ffa6d4e0c7 limine: Reimplement proper callback functionality 2022-10-04 21:53:19 +02:00
mintsuki
d3c8a66918 term: Misc fixes and improvements 2022-10-04 08:21:59 +02:00