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> |
||
---|---|---|
.. | ||
coreboot | ||
pc | ||
bsd.c | ||
bsd32.c | ||
bsd64.c | ||
bsd_pagetable.c | ||
bsdXX.c | ||
linux.c | ||
multiboot_mbi.c | ||
xen.c | ||
xen_file.c | ||
xen_file32.c | ||
xen_file64.c | ||
xen_fileXX.c | ||
xnu.c |