From d1478c91c34287a7c9a94c6027b88b81eb1117f5 Mon Sep 17 00:00:00 2001 From: John Ericson Date: Thu, 25 Jan 2018 16:30:03 -0500 Subject: [PATCH] lib: Allow parsing platform configs with arch of `{riscv,wasm}{32,64}` Also add `isRiscv` and `isWasm` predicates. --- lib/systems/inspect.nix | 7 +++++-- lib/systems/parse.nix | 4 ++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix index a4fa9af4e0a..3f0335a0adf 100644 --- a/lib/systems/inspect.nix +++ b/lib/systems/inspect.nix @@ -5,8 +5,6 @@ with lib.lists; rec { patterns = rec { - "32bit" = { cpu = { bits = 32; }; }; - "64bit" = { cpu = { bits = 64; }; }; i686 = { cpu = cpuTypes.i686; }; x86_64 = { cpu = cpuTypes.x86_64; }; PowerPC = { cpu = cpuTypes.powerpc; }; @@ -14,6 +12,11 @@ rec { Arm = { cpu = { family = "arm"; }; }; Aarch64 = { cpu = { family = "aarch64"; }; }; Mips = { cpu = { family = "mips"; }; }; + RiscV = { cpu = { family = "riscv"; }; }; + Wasm = { cpu = { family = "wasm"; }; }; + + "32bit" = { cpu = { bits = 32; }; }; + "64bit" = { cpu = { bits = 64; }; }; BigEndian = { cpu = { significantByte = significantBytes.bigEndian; }; }; LittleEndian = { cpu = { significantByte = significantBytes.littleEndian; }; }; diff --git a/lib/systems/parse.nix b/lib/systems/parse.nix index d14ca04bfb9..f59549ec2f3 100644 --- a/lib/systems/parse.nix +++ b/lib/systems/parse.nix @@ -44,6 +44,10 @@ rec { x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; }; mips64el = { bits = 32; significantByte = littleEndian; family = "mips"; }; powerpc = { bits = 32; significantByte = bigEndian; family = "power"; }; + riscv32 = { bits = 32; significantByte = littleEndian; family = "riscv"; }; + riscv64 = { bits = 64; significantByte = littleEndian; family = "riscv"; }; + wasm32 = { bits = 32; significantByte = littleEndian; family = "wasm"; }; + wasm64 = { bits = 64; significantByte = littleEndian; family = "wasm"; }; }; isVendor = isType "vendor";