]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix ARM cpuid probing
authorFrancesco Lavra <francescolavra.fl@gmail.com>
Fri, 7 Jun 2013 14:56:24 +0000 (16:56 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 7 Jun 2013 14:56:24 +0000 (16:56 +0200)
grub-core/kern/arm/cache.c

index c1fa62ed486a9519a80db55c85a38ce70595af7b..88054f3fce4a37e71d50d3a5115f9b067be78084 100644 (file)
@@ -29,8 +29,7 @@ probe_caches (void)
   /* Read main ID Register */
   asm volatile ("mrc   p15, 0, %0, c0, c0, 0": "=r"(main_id));
 
-  if (((main_id >> 12) & 0xf) == 0x0 || ((main_id >> 12) & 0xf) == 0x7
-      || (((main_id >> 16) & 0x7) != 0x7))
+  if (((main_id >> 16) & 0x7) != 0x7)
     grub_fatal ("Unsupported ARM ID 0x%x", main_id);
 
   /* Read Cache Type Register */
@@ -56,7 +55,7 @@ probe_caches (void)
       grub_arch_cache_ilinesz = 8 << (cache_type & 3);
       type = ARCH_ARMV6;
       break;
-    case 0x80 ... 0x9f:
+    case 0x80 ... 0x8f:
       grub_arch_cache_dlinesz = 4 << ((cache_type >> 16) & 0xf);
       grub_arch_cache_ilinesz = 4 << (cache_type & 0xf);
       type = ARCH_ARMV7;