]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Recognize raspberry pi kernel in grub-file.
authorVladimir Serbinenko <phcoder@gmail.com>
Mon, 23 Dec 2013 04:19:42 +0000 (05:19 +0100)
committerVladimir Serbinenko <phcoder@gmail.com>
Mon, 23 Dec 2013 04:19:42 +0000 (05:19 +0100)
ChangeLog
grub-core/commands/file.c

index 30a752b5ba7df04a3b91d388ef2c4c63aeedaafc..6acd5e4cb9106b41edf653b092284e995ad8eaa8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       Recognize raspberry pi kernel in grub-file.
+
 2013-12-23  Vladimir Serbinenko  <phcoder@gmail.com>
 
        Enable cache on ARM U-Boot port.
index 3b88525bc26a3fd142370daf0c8fcf942a2c8417..9f2c38dfa959de73eb6dec6ef4458a3e88cb9e9c 100644 (file)
@@ -377,14 +377,25 @@ grub_cmd_file (grub_extcmd_context_t ctxt, int argc, char **args)
       }
     case IS_ARM_LINUX:
       {
-       grub_uint32_t sig;
+       grub_uint32_t sig, sig_pi;
+       if (grub_file_read (file, &sig_pi, 4) != 4)
+         break;
+       /* Raspberry pi.  */
+       if (sig_pi == grub_cpu_to_le32_compile_time (0xea000006))
+         {
+           ret = 1;
+           break;
+         }
+
        if (grub_file_seek (file, 0x24) == (grub_size_t) -1)
          break;
        if (grub_file_read (file, &sig, 4) != 4)
          break;
-       if (sig != grub_cpu_to_le32_compile_time (0x016f2818))
-         break;
-       ret = 1;
+       if (sig == grub_cpu_to_le32_compile_time (0x016f2818))
+         {
+           ret = 1;
+           break;
+         }
        break;
       }
     case IS_PAE_DOMU ... IS_DOM0: