e683cfb0cf
Previously the setup_header length was just assumed to be the size of the linux_kernel_params struct. The linux x86 32-bit boot protocol says that the end of the linux_i386_kernel_header is at 0x202 + the byte value at 0x201 in the linux_i386_kernel_header. So, calculate the size of the header using the end of the linux_i386_kernel_header, rather than assume it is the size of the linux_kernel_params struct. Additionally, add some required members to the linux_kernel_params struct and align the content of linux_i386_kernel_header struct with it. New members naming was taken directly from Linux kernel source. linux_kernel_params and linux_i386_kernel_header structs require more cleanup. However, this is not urgent, so, let's do this after release. Just in case... Signed-off-by: Andrew Jeddeloh <andrew.jeddeloh@coreos.com> Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com> Reviewed-by: Vladimir Serbinenko <phcoder@google.com> Reviewed-by: Ross Philipson <ross.philipson@oracle.com> |
||
---|---|---|
.. | ||
arm | ||
arm64 | ||
efi | ||
i386 | ||
ia64/efi | ||
mips | ||
powerpc/ieee1275 | ||
riscv | ||
sparc64/ieee1275 | ||
aout.c | ||
linux.c | ||
lzss.c | ||
macho.c | ||
macho32.c | ||
macho64.c | ||
machoXX.c | ||
multiboot.c | ||
multiboot_elfxx.c | ||
multiboot_mbi2.c | ||
xnu.c | ||
xnu_resume.c |