+2014-04-20 Piotr Krysiuk <piotras@gmail.com>
+
+ * grub-core/lib/i386/relocator.c: Allow loading old kernels by placing
+ GDT in conventional memory.
+
2014-04-10 Colin Watson <cjwatson@ubuntu.com>
* util/grub.d/30_os-prober.in: Tolerate devices with no filesystem
void *relst;
grub_relocator_chunk_t ch;
- err = grub_relocator_alloc_chunk_align (rel, &ch, 0,
- (0xffffffff - RELOCATOR_SIZEOF (32))
- + 1, RELOCATOR_SIZEOF (32), 16,
- GRUB_RELOCATOR_PREFERENCE_NONE,
+ /* Specific memory range due to Global Descriptor Table for use by payload
+ that we will store in returned chunk. The address range and preference
+ are based on "THE LINUX/x86 BOOT PROTOCOL" specification. */
+ err = grub_relocator_alloc_chunk_align (rel, &ch, 0x1000,
+ 0x9a000 - RELOCATOR_SIZEOF (32),
+ RELOCATOR_SIZEOF (32), 16,
+ GRUB_RELOCATOR_PREFERENCE_LOW,
avoid_efi_bootservices);
if (err)
return err;