mirror of
https://git.proxmox.com/git/grub2
synced 2026-02-02 02:18:23 +00:00
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 | ||
| macho32.c | ||
| macho64.c | ||
| macho.c | ||
| machoXX.c | ||
| multiboot_elfxx.c | ||
| multiboot_mbi2.c | ||
| multiboot.c | ||
| xnu_resume.c | ||
| xnu.c | ||