]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
respect GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 5 May 2010 19:42:39 +0000 (21:42 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Wed, 5 May 2010 19:42:39 +0000 (21:42 +0200)
lib/ieee1275/relocator.c

index bf7f4a821aace6c8a1e8d9d401512099b04b8c5b..947346d46a72e8b94c24441c6b9ee28114bce1fa 100644 (file)
@@ -54,6 +54,18 @@ grub_relocator_firmware_fill_events (struct grub_relocator_mmap_event *events)
     if (type != GRUB_MACHINE_MEMORY_AVAILABLE)
       return 0;
 
+    if (grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM))
+      {
+       if (addr + len <= 0x180000)
+         return 0;
+
+       if (addr < 0x180000)
+         {
+           len = addr + len - 0x180000;
+           addr = 0x180000;
+         }
+      }
+
     events[counter].type = REG_FIRMWARE_START;
     events[counter].pos = addr;
     counter++;