Commit Graph

101 Commits

Author SHA1 Message Date
mintsuki
ffac9b1c68 stivale2: Prevent buffer overflows when writing to stivale2 terminal 2021-07-11 01:31:16 +02:00
mintsuki
b5f35d6091 multiboot1: Make sure all info is passed to kernel in conventional memory 2021-07-07 10:01:08 +02:00
mintsuki
3b18864e6f efi: Misc bug fixes 2021-07-07 05:54:40 +02:00
mintsuki
0c46de53d8 Revert "pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap"
This reverts commit eadee3e6cb.
2021-07-07 05:37:47 +02:00
mintsuki
ae2d924c14 efi: Properly propagate exits after loading an image using chainloading; do not try to return from panics if boot services were exited 2021-07-06 09:59:49 +02:00
mintsuki
eadee3e6cb pmm: Use our custom EFI memory entry type to release EFI memory back instead of relying on our memmap 2021-07-06 08:55:32 +02:00
mintsuki
e63931f0dd linux: Exit bootservices *before* saving the memory map in the zero page 2021-07-06 08:41:48 +02:00
mintsuki
05bc7c5bda uefi: More sane handling of exiting boot services 2021-07-06 07:42:35 +02:00
mintsuki
4a87babe4a misc: Forbid variable shadowing 2021-07-06 05:17:18 +02:00
mintsuki
04d713a45b linux: Use get_raw_memmap() 2021-07-06 03:23:36 +02:00
mintsuki
449df1d547 pmm: Implement get_raw_memmap() and use it in mb1 proto 2021-07-06 03:01:07 +02:00
mintsuki
fa2a2d77bb protos: Remove dead code 2021-07-06 00:48:29 +02:00
mintsuki
81f4b86916 build: Unify do_32() and direct calls under a single common_spinup() 2021-07-05 23:28:04 +02:00
mintsuki
08423fb646 stivale: Slight change in how anchors work 2021-07-05 22:51:03 +02:00
mintsuki
591f601299 stivale: Use anchor struct definitions from public stivale headers 2021-07-05 12:20:47 +02:00
mintsuki
84e540ee48 stivale2: Implement kernel loading by anchor for non-ELF kernels 2021-07-05 10:20:35 +02:00
mintsuki
d62c4f67d5 stivale: Implement kernel loading by anchor for non-ELF kernels 2021-07-05 08:04:17 +02:00
mintsuki
85a500a668 multiboot1: Fix broken cast 2021-07-03 01:45:46 +02:00
mintsuki
05e7c27f01 multiboot1: Make sure to load modules at a valid address even when using a.out kludge 2021-07-03 01:02:32 +02:00
mintsuki
d53facc731 multiboot: Load modules right after kernel to emulate GRUB behaviour 2021-07-02 23:58:22 +02:00
mintsuki
652a6d2575 multiboot1: Reset textmode even if kernel does not request fb info 2021-07-02 04:34:00 +02:00
Kacper Słomiński
6d47bf9d81 multiboot1: account for memory that crosses 1MB when summing up sizes 2021-06-30 20:59:59 +02:00
Kacper Słomiński
78ec547086 multiboot1: don't mask the PIC when entering kernel
The spec states the PIC must left in the state the BIOS left it in.
2021-06-30 20:44:24 +02:00
Kacper Słomiński
7002918c91 multiboot1: add a.out kludge support 2021-06-30 20:16:30 +02:00
Kacper Słomiński
f84b33650e multiboot1: allocate kernel and modules using proper type
This prevents the code from allocating over the kernel and modules when
allocating memory.
The type is changed to usable when preparing the memory map.
2021-06-30 20:16:30 +02:00
mintsuki
2f08116acb misc: Fix potentially misleading strings 2021-06-30 18:44:31 +02:00
Kacper Słomiński
6bb204bbd9 multiboot1: add support for 64-bit ELFs 2021-06-29 16:58:15 +02:00
Kacper Słomiński
9115bc7b50 elf: allow elf64_load to use paddrs instead of vaddrs 2021-06-29 16:57:51 +02:00
Kacper Słomiński
4fb782449f protos: add initial multiboot1 implementation 2021-06-29 15:16:25 +02:00
mintsuki
7bf53f1406 pmm: Do not reclaim EfiLoader sections as usable 2021-06-15 03:10:59 +02:00
mintsuki
eb83d013ca disk: Misc bug fixes and improvements 2021-06-12 13:13:19 +02:00
mintsuki
abf1d90515 stivale32: Fix typo made when converting to AT&T syntax 2021-06-02 16:33:00 +02:00
mintsuki
1e935e10d3 linux: Fix wrong jmp instruction 2021-05-30 15:45:31 +02:00
mintsuki
6e78e33989 misc: Replace Intel-syntax inline assembly with GAS-syntax inline assembly; ensure we can build with clang 2021-05-29 18:07:28 +02:00
mintsuki
977b00f0b3 stivale2: Fix bug where when requesting higher half pointers the stivale2 struct pointer was still passed in the lower half 2021-05-23 03:34:36 +02:00
mintsuki
a6a88109d7 stivale2: Unbreak listing tags due to higher half pointers and verbose mode 2021-05-22 22:20:26 +02:00
mintsuki
0602e40cce stivale2: Actually pass tag pointers in linked list in the higher half if requested 2021-05-22 10:13:06 +02:00
mintsuki
110d2dc7d4 misc: Misc EFI-related adjustments 2021-05-20 01:16:39 +02:00
mintsuki
9676a3d09c stivale: Load up invalid IDT before jumping to kernel instead of leaking internal one 2021-05-19 08:29:21 +02:00
mintsuki
12ec203f46 chainload: EFI workarounds 2021-05-12 12:53:06 +02:00
mintsuki
f650e4b41b misc: Add verbose config option 2021-05-11 06:46:42 +02:00
mintsuki
0eb5af44aa Revert "stivale2: Reduce verbosity"
This reverts commit 2526b92ab3.
2021-05-11 06:12:47 +02:00
mintsuki
b73890cce5 Revert "stivale: Reduce verbosity"
This reverts commit 8b38bc55cb.
2021-05-11 06:12:33 +02:00
mintsuki
0687bd2760 Revert "linux: Reduce verbosity"
This reverts commit e228745e5c.
2021-05-11 06:12:22 +02:00
mintsuki
e228745e5c linux: Reduce verbosity 2021-05-11 02:15:44 +02:00
mintsuki
8b38bc55cb stivale: Reduce verbosity 2021-05-11 02:11:37 +02:00
mintsuki
2526b92ab3 stivale2: Reduce verbosity 2021-05-11 02:09:59 +02:00
mintsuki
1a83dfcf78 misc: Misc bug fixes 2021-05-07 00:27:49 +02:00
mintsuki
db3a41bc4c uefi: Implement chainloading support 2021-05-06 04:31:05 +02:00
mintsuki
fdfa0207e6 stivale: Panic if higher half addresses header flag is set for 32-bit kernels 2021-05-05 00:53:18 +02:00