diff options
Diffstat (limited to 'abs/core-testing/grub-gfx/05-grub-0.97-initrdaddr.diff')
-rw-r--r-- | abs/core-testing/grub-gfx/05-grub-0.97-initrdaddr.diff | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/abs/core-testing/grub-gfx/05-grub-0.97-initrdaddr.diff b/abs/core-testing/grub-gfx/05-grub-0.97-initrdaddr.diff new file mode 100644 index 0000000..ccf5f3e --- /dev/null +++ b/abs/core-testing/grub-gfx/05-grub-0.97-initrdaddr.diff @@ -0,0 +1,16 @@ +--- grub-0.96/stage2/boot.c ++++ grub-0.96/stage2/boot.c +@@ -824,8 +824,11 @@ + moveto = (mbi.mem_upper + 0x400) << 10; + + moveto = (moveto - len) & 0xfffff000; +- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203 +- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS); ++ max_addr = LINUX_INITRD_MAX_ADDRESS; ++ if (lh->header == LINUX_MAGIC_SIGNATURE && ++ lh->version >= 0x0203 && ++ lh->initrd_addr_max < max_addr) ++ max_addr = lh->initrd_addr_max; + if (moveto + len >= max_addr) + moveto = (max_addr - len) & 0xfffff000; + |