summaryrefslogtreecommitdiff
path: root/libre/grub/05-grub-0.97-initrdaddr.diff
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-09-07 15:26:04 +0000
committerroot <root@rshg054.dnsready.net>2011-09-07 15:26:04 +0000
commit9a1a8d77ee00e49dfeef44d74b1e40a831332383 (patch)
tree8b80a03609eba8a12cbb0c48b1a31266c6bdc540 /libre/grub/05-grub-0.97-initrdaddr.diff
parentfe769389426a6aa5a2878bf7dcfc6144717e1e93 (diff)
Wed Sep 7 15:26:04 UTC 2011
Diffstat (limited to 'libre/grub/05-grub-0.97-initrdaddr.diff')
-rw-r--r--libre/grub/05-grub-0.97-initrdaddr.diff16
1 files changed, 16 insertions, 0 deletions
diff --git a/libre/grub/05-grub-0.97-initrdaddr.diff b/libre/grub/05-grub-0.97-initrdaddr.diff
new file mode 100644
index 000000000..ccf5f3e54
--- /dev/null
+++ b/libre/grub/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;
+