Commit Graph

755 Commits

Author SHA1 Message Date
mintsuki
57389b6ad0 menu: Fix high entry count support that was broken in 98f30bf. Closes #385 2024-07-16 03:46:24 +02:00
Kacper Słomiński
51ca2c44d4 protos/linux_risc: Fix warning in table installation code 2024-07-16 03:46:24 +02:00
Kacper Słomiński
5cc85aa66f protos/linux_risc: Install memory reservation configuration table
This gets rid of some warnings when booting Linux on systems with a GIC v3
interrupt controller.
2024-07-16 03:46:24 +02:00
mintsuki
f3247cb530 drivers/disk: Allocate unique_sector_pool at runtime 2024-07-16 03:46:24 +02:00
mintsuki
78d2907ce9 drivers/disk: Simplify overly convoluted code to invalidate collision unique sector 2024-07-16 03:46:24 +02:00
mintsuki
4e666fd9a9 drivers/disk: Optimise disk_volume_from_efi_handle() 2024-07-16 03:46:24 +02:00
mintsuki
63e5ce70af protos/linux_risc: Minor code reshuffling to get initramfs loading print to show 2024-07-14 09:33:28 +02:00
mintsuki
399f767fa3 protos/linux_risc: Add missing loading prints 2024-07-14 09:22:28 +02:00
mintsuki
f8c2f330b9 drivers/disk: Get rid of logically broken unique sector detection and replace with working one 2024-07-14 09:22:28 +02:00
mintsuki
359742bfc6 menu: Fix bugs relating to returning to editor on blank entry after panic 2024-07-14 09:22:28 +02:00
mintsuki
5714d3ce36 drivers/disk: Ensure disk_volume_from_efi_handle() does not return erroneous results 2024-07-14 09:22:28 +02:00
mintsuki
3759fa111b dtb: Never pass UEFI DTB buffer directly; fix misuse of libfdt API. Closes #384 2024-07-12 22:03:30 +02:00
mintsuki
8ffa8e1a93 protos/limine: Do not uselessly allocate SMP stack for BSP 2024-07-12 07:13:08 +02:00
mintsuki
d65863b274 protos/limine: Do not pass response if 0 framebuffers instead of returning 0 2024-07-12 07:13:08 +02:00
Kacper Słomiński
19fd604232 sys/smp: Add support for SMP on non-ACPI AArch64 systems 2024-07-12 07:13:08 +02:00
Kacper Słomiński
b27e1bcb58 PROTOCOL: Get rid of unreliable gic_iface_no field on AArch64 2024-07-12 07:13:08 +02:00
mintsuki
b56acdb07d protos/limine: Do not pass response if SMBIOS not present instead of returning NULL 2024-07-12 07:13:08 +02:00
mintsuki
88242b8bdd protos/limine: Do not pass response if RSDP not present instead of returning NULL 2024-07-12 07:13:08 +02:00
mintsuki
445715fe55 protos/limine: Remove left over stray line from 50a949dd0a 2024-07-06 20:57:39 +02:00
mintsuki
1e60942ec9 protos/limine: Do not ignore MAX_PAGING_MODE config setting if paging mode request missing. Closes #380 2024-07-06 20:57:39 +02:00
mintsuki
2c09275aab lib/elf: Apply a slide of 0xffffffff80000000 - min_vaddr instead of always 0xffffffff80000000 for relocatable kernels loaded low 2024-07-06 20:57:39 +02:00
mintsuki
ad262c8fbb smp: Return NULL instead of 0 CPU count if no processors were started 2024-07-06 20:57:15 +02:00
mintsuki
693684c0bd lib/elf: Relax ELF file type checks in elf*_load_elsewhere() 2024-06-28 08:03:04 +02:00
Kacper Słomiński
bca7c4a796 protos/linux_risc: Document need for the linux,uefi-secure-boot property 2024-06-28 08:03:04 +02:00
Kacper Słomiński
c936305f37 protos/limine: Find device tree using helper function 2024-06-28 04:30:42 +02:00
Kacper Słomiński
ee5096ed84 protos/linux_risc: Tell Linux about the framebuffer 2024-06-28 04:14:31 +02:00
mintsuki
68ad2db755 dtb: Fix bugs introduced in cc05481b89 2024-06-28 01:01:21 +02:00
mintsuki
cc05481b89 dtb: Fix bugs introduced in 45e036275a 2024-06-28 00:51:45 +02:00
mintsuki
45e036275a dtb: Optionally reallocate and expand DTB memory as needed 2024-06-28 00:43:27 +02:00
mintsuki
2923125d90 lib/elf: Add additional ELF type sanity checks 2024-06-27 13:59:19 +02:00
mintsuki
5df8ca77c1 lib/elf: Only assume relocatable if ELF type is ET_DYN 2024-06-26 20:19:10 +02:00
mintsuki
50b147cbd7 lib/mem: Remove unused memcpy32to64() function 2024-06-26 20:00:26 +02:00
mintsuki
fa11b1f9a8 lib/getchar: Only apply EFI serial backspace workaround if serial == true 2024-06-25 14:34:54 +02:00
mintsuki
b46b896be7 menu: Minor change to multiboot1/2 unsupported messages 2024-06-25 13:50:30 +02:00
Kacper Słomiński
aed3b3348e protos/linux_risc: Properly fill VirtualStart in memory map
This lets Linux use UEFI runtime services.
2024-06-16 20:46:23 +02:00
mintsuki
b3d7688449 misc/flanterm: Remove leftover feature flags 2024-06-16 20:10:20 +02:00
mintsuki
8c75c55a92 misc/uefi: Switch from EfiLoaderData to EfiLoaderCode at 2 more allocation sites 2024-06-16 18:27:55 +02:00
mintsuki
9fb6423002 protos/linux: riscv64: Fix protocol version check 2024-06-16 07:40:50 +02:00
mintsuki
74aa228702 protos/linux: Rename files to avoid unnecessary diffs (2) 2024-06-15 21:30:37 +02:00
mintsuki
2541760b98 protos/linux: Rename files to avoid unnecessary diffs (1) 2024-06-15 21:30:06 +02:00
mintsuki
440ba05e08 protos/linux: Rename files (2) 2024-06-12 02:07:39 +02:00
mintsuki
56b7a32dfc protos/linux: Rename files (1) 2024-06-12 02:07:12 +02:00
mintsuki
2a0913c1f3 lib/panic: efi: Disallow returning to menu after exiting boot services 2024-06-12 02:00:53 +02:00
mintsuki
da52f2317e
Merge pull request #371 from qookei/linux-aa64
Linux boot protocol support for AArch64
2024-06-11 23:43:07 +02:00
Kacper Słomiński
c95ad88004 protos/linux: Add support for AArch64 2024-06-11 21:59:30 +02:00
Kacper Słomiński
f49dbd4ae9 protos/linux: Fill DTB with information about UEFI
Also create a new DTB if one is not available. This replicates what Linux's
EFISTUB does internally before handing control over to the kernel proper.
2024-06-11 21:58:02 +02:00
Kacper Słomiński
2a0de56ea4 pmm: Allocate memory from UEFI with EfiLoaderCode type
On AArch64 EfiLoaderData is remapped as non-executable, which means we couldn't
use it for the kernel in the Linux boot protocol.
2024-06-11 21:54:53 +02:00
Kacper Słomiński
288cb6e17e lib: Add helpers for adding 32-bit /chosen properties 2024-06-11 21:54:22 +02:00
mintsuki
6b3d0e5966 lib/elf: Minor rework of dynamic segment parsing 2024-06-11 17:13:29 +02:00
mintsuki
00b3025fd3 lib/elf: Fix bug where the wrong struct was checked in elf64_load() 2024-06-10 00:25:21 +02:00