summary refs log tree commit diff
path: root/lib/systems
diff options
context:
space:
mode:
authorAtemu <atemu.main@gmail.com>2023-01-21 16:03:35 +0100
committerAtemu <atemu.main@gmail.com>2023-01-21 16:28:49 +0100
commit44e5b41871ed5afdaa927e4bbf7c00362ebf54cb (patch)
treea5aecb071f67cdd89a1aca0fe6296fe7b20c8565 /lib/systems
parentfb95bbd0b9f0cb3426f66ea4a319cac1544e4d0d (diff)
lib/systems/parse: stop considering armv8a able to execute armv7l
In the past, most (if not all) armv8 CPUs could also execute armv7. However,
with the advent of Apple Silicon, aarch64 CPUs without any aarch32 capabilities
are now wide-spread among users.
Diffstat (limited to 'lib/systems')
-rw-r--r--lib/systems/parse.nix15
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix
index 8fb13af1f530f..5987cf1b5d245 100644
--- a/lib/systems/parse.nix
+++ b/lib/systems/parse.nix
@@ -182,23 +182,12 @@ rec {
     (b == armv7l && isCompatible a armv7a)
     (b == armv7l && isCompatible a armv7r)
     (b == armv7l && isCompatible a armv7m)
-    (b == armv7a && isCompatible a armv8a)
-    (b == armv7r && isCompatible a armv8a)
-    (b == armv7m && isCompatible a armv8a)
-    (b == armv7a && isCompatible a armv8r)
-    (b == armv7r && isCompatible a armv8r)
-    (b == armv7m && isCompatible a armv8r)
-    (b == armv7a && isCompatible a armv8m)
-    (b == armv7r && isCompatible a armv8m)
-    (b == armv7m && isCompatible a armv8m)
 
     # ARMv8
-    (b == armv8r && isCompatible a armv8a)
-    (b == armv8m && isCompatible a armv8a)
-
-    # XXX: not always true! Some arm64 cpus don’t support arm32 mode.
     (b == aarch64 && a == armv8a)
     (b == armv8a && isCompatible a aarch64)
+    (b == armv8r && isCompatible a armv8a)
+    (b == armv8m && isCompatible a armv8a)
 
     # PowerPC
     (b == powerpc && isCompatible a powerpc64)