3
Author: Otavio Salvador
4
Comment: Stolen from SuSE grub package.
5
It fix the max address of initrd image and include a safe
6
default in case of it isn't available
9
===================================================================
13
moveto = (mbi.mem_upper + 0x400) << 10;
15
moveto = (moveto - len) & 0xfffff000;
16
- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203
17
- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS);
18
+ max_addr = LINUX_INITRD_MAX_ADDRESS;
19
+ if (lh->header == LINUX_MAGIC_SIGNATURE &&
20
+ lh->version >= 0x0203 &&
21
+ lh->initrd_addr_max < max_addr)
22
+ max_addr = lh->initrd_addr_max;
23
if (moveto + len >= max_addr)
24
moveto = (max_addr - len) & 0xfffff000;