Hi Kastus, Please don't have technical discussions on misc@; some developers, like me, only read it sporadically. The tech@ list is a much better place.
The problem with your approach is that you allocate memory at a fixed address, and we can't be sure that memory is available. We may have to extend the amount of memory we allocate such that larger kernels fit. The diff below bumps it from 32MB to 64MB. Does this work for you? Index: arch/amd64/stand/efiboot/efiboot.c =================================================================== RCS file: /cvs/src/sys/arch/amd64/stand/efiboot/efiboot.c,v retrieving revision 1.35 diff -u -p -r1.35 efiboot.c --- arch/amd64/stand/efiboot/efiboot.c 22 Mar 2020 14:59:11 -0000 1.35 +++ arch/amd64/stand/efiboot/efiboot.c 27 Oct 2020 12:36:45 -0000 @@ -39,7 +39,7 @@ #include "eficall.h" #include "run_i386.h" -#define KERN_LOADSPACE_SIZE (32 * 1024 * 1024) +#define KERN_LOADSPACE_SIZE (64 * 1024 * 1024) EFI_SYSTEM_TABLE *ST; EFI_BOOT_SERVICES *BS;