+2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
+ beyond 4 GiB.
+ (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
+ images independently of preffered adderss field.
+
2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
{
grub_errno = GRUB_ERR_NONE;
err = grub_relocator_alloc_chunk_align (relocator, &ch,
- 0x1000000, 0xffffffff,
+ 0x1000000,
+ 0xffffffff & ~prot_size,
prot_size, 1 << *align,
GRUB_RELOCATOR_PREFERENCE_LOW,
1);
min_align = lh.min_alignment;
prot_size = grub_le_to_cpu32 (lh.init_size);
prot_init_space = page_align (prot_size);
- preffered_address = grub_le_to_cpu64 (lh.pref_address);
+ if (relocatable)
+ preffered_address = grub_le_to_cpu64 (lh.pref_address);
+ else
+ preffered_address = GRUB_LINUX_BZIMAGE_ADDR;
}
else
{