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