Commit Graph

237 Commits

Author SHA1 Message Date
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 e6cc0e4b93 uefi: Even saner handling of exiting boot services 2021-07-06 08:21:20 +02:00
mintsuki 05bc7c5bda uefi: More sane handling of exiting boot services 2021-07-06 07:42:35 +02:00
mintsuki d966dc083c pmm: Sanitise raw EFI memory map 2021-07-06 05:26:55 +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 36fa6291bd pmm: Optimise get_raw_memmap() 2021-07-06 03:17:28 +02:00
mintsuki 449df1d547 pmm: Implement get_raw_memmap() and use it in mb1 proto 2021-07-06 03:01:07 +02:00
mintsuki 572bcdae3b x86: Invalidate LDT before handoff 2021-07-06 02:13:25 +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
mintsuki aee3d96242 build: Update version detection method not to rely on Git when a version file is available 2021-06-30 23:14:15 +02:00
mintsuki b697b6aec6 build: Build necessary gnu-efi objects in the stage23 Makefile rather than the root one 2021-06-30 21:58:11 +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
mintsuki 7d44e79abc build: which -> command -v 2021-06-30 18:22:50 +02:00
Kacper Słomiński e6adc164bb entry: accept "multiboot" as well as "multiboot1" 2021-06-29 16:58:19 +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 22587856fd elf: adjust entry point address to paddr in elf32_load 2021-06-29 15:19:46 +02:00
Kacper Słomiński 4fb782449f protos: add initial multiboot1 implementation 2021-06-29 15:16:25 +02:00
mintsuki 60e1b43f66 secureboot: Add .sbat section 2021-06-25 01:23:26 +02:00
mintsuki ece3e9c099 iso9660: Fix bug where non rockridge filenames were not actually being loaded 2021-06-22 12:36:45 +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 662b5b7624 iso9660: Fix improper handling of filename casing 2021-06-12 08:03:49 +02:00
mintsuki dc47b83c16 term: Fix various cursor-related issues 2021-06-08 00:06:33 +02:00
mintsuki abf1d90515 stivale32: Fix typo made when converting to AT&T syntax 2021-06-02 16:33:00 +02:00
mintsuki c31073ce63 acpi: Fix wrongly calculated RSDP checksum 2021-06-01 21:59:05 +02:00
mintsuki 6ac24628e8 build: Ensure load addresses of debug and tab sections are 0 2021-05-31 01:52:43 +02:00
mintsuki e69f7429ce build: Use linker directly instead of going thru compiler; ensure we are buildable with an llvm toolchain 2021-05-31 00:32:43 +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 87cc5494c7 build: Remove dependency on GCC-specific -fplan9-extensions flag 2021-05-28 16:05:42 +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 dc3b45a9a9 term: General terminal improvements 2021-05-23 00:19:27 +02:00
mintsuki 4d7a48eca7 term: Add support for tabs 2021-05-22 23:11:18 +02:00