mirror of
https://github.com/limine-bootloader/limine
synced 2024-12-13 10:07:11 +03:00
misc: Misc bug fixes
This commit is contained in:
parent
8a904b3669
commit
1a83dfcf78
@ -26,6 +26,7 @@ void stage3_common(void);
|
|||||||
EFI_STATUS EFIAPI efi_main(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) {
|
EFI_STATUS EFIAPI efi_main(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) {
|
||||||
// Invalid return address of 0 to end stacktraces here
|
// Invalid return address of 0 to end stacktraces here
|
||||||
asm volatile (
|
asm volatile (
|
||||||
|
"push 0\n\t"
|
||||||
"push 0\n\t"
|
"push 0\n\t"
|
||||||
"xor eax, eax\n\t"
|
"xor eax, eax\n\t"
|
||||||
"jmp uefi_entry\n\t"
|
"jmp uefi_entry\n\t"
|
||||||
@ -73,9 +74,6 @@ void uefi_entry(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable) {
|
|||||||
if (boot_volume != NULL)
|
if (boot_volume != NULL)
|
||||||
stage3_common();
|
stage3_common();
|
||||||
|
|
||||||
if (loaded_image->ParentHandle == 0)
|
|
||||||
panic("Can't determine boot disk");
|
|
||||||
|
|
||||||
current_handle = loaded_image->ParentHandle;
|
current_handle = loaded_image->ParentHandle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,7 @@ void chainload(char *config) {
|
|||||||
if (!uri_open(image, image_path))
|
if (!uri_open(image, image_path))
|
||||||
panic("chainload: Could not open image");
|
panic("chainload: Could not open image");
|
||||||
|
|
||||||
void *ptr = freadall(image, MEMMAP_RESERVED);
|
void *ptr = freadall(image, MEMMAP_EFI_LOADER);
|
||||||
|
|
||||||
term_deinit();
|
term_deinit();
|
||||||
|
|
||||||
|
@ -542,6 +542,8 @@ void linux_load(char *config, char *cmdline) {
|
|||||||
boot_params->efi_info.efi_memdesc_size = efi_desc_size;
|
boot_params->efi_info.efi_memdesc_size = efi_desc_size;
|
||||||
boot_params->efi_info.efi_memdesc_version = efi_desc_ver;
|
boot_params->efi_info.efi_memdesc_version = efi_desc_ver;
|
||||||
|
|
||||||
|
pmm_release_uefi_mem();
|
||||||
|
|
||||||
efi_exit_boot_services();
|
efi_exit_boot_services();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -563,8 +565,6 @@ void linux_load(char *config, char *cmdline) {
|
|||||||
|
|
||||||
switch (e820_table[i].type) {
|
switch (e820_table[i].type) {
|
||||||
case MEMMAP_BOOTLOADER_RECLAIMABLE:
|
case MEMMAP_BOOTLOADER_RECLAIMABLE:
|
||||||
case MEMMAP_EFI_RECLAIMABLE:
|
|
||||||
case MEMMAP_EFI_LOADER:
|
|
||||||
e820_table[i].type = MEMMAP_USABLE;
|
e820_table[i].type = MEMMAP_USABLE;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user