Initial support for OpenRISC 1000 (or1k)
This commit is contained in:
parent
32fdf2118c
commit
6d8327ea96
@ -35,6 +35,7 @@ let
|
|||||||
"msp430-none"
|
"msp430-none"
|
||||||
"riscv64-none" "riscv32-none"
|
"riscv64-none" "riscv32-none"
|
||||||
"vc4-none"
|
"vc4-none"
|
||||||
|
"or1k-none"
|
||||||
|
|
||||||
"js-ghcjs"
|
"js-ghcjs"
|
||||||
|
|
||||||
@ -58,6 +59,7 @@ in {
|
|||||||
mips = filterDoubles predicates.isMips;
|
mips = filterDoubles predicates.isMips;
|
||||||
riscv = filterDoubles predicates.isRiscV;
|
riscv = filterDoubles predicates.isRiscV;
|
||||||
vc4 = filterDoubles predicates.isVc4;
|
vc4 = filterDoubles predicates.isVc4;
|
||||||
|
or1k = filterDoubles predicates.isOr1k;
|
||||||
js = filterDoubles predicates.isJavaScript;
|
js = filterDoubles predicates.isJavaScript;
|
||||||
|
|
||||||
bigEndian = filterDoubles predicates.isBigEndian;
|
bigEndian = filterDoubles predicates.isBigEndian;
|
||||||
|
@ -124,6 +124,12 @@ rec {
|
|||||||
platform = {};
|
platform = {};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
or1k = {
|
||||||
|
config = "or1k-elf";
|
||||||
|
libc = "newlib";
|
||||||
|
platform = {};
|
||||||
|
};
|
||||||
|
|
||||||
arm-embedded = {
|
arm-embedded = {
|
||||||
config = "arm-none-eabi";
|
config = "arm-none-eabi";
|
||||||
libc = "newlib";
|
libc = "newlib";
|
||||||
|
@ -24,6 +24,7 @@ rec {
|
|||||||
isVc4 = { cpu = { family = "vc4"; }; };
|
isVc4 = { cpu = { family = "vc4"; }; };
|
||||||
isAvr = { cpu = { family = "avr"; }; };
|
isAvr = { cpu = { family = "avr"; }; };
|
||||||
isAlpha = { cpu = { family = "alpha"; }; };
|
isAlpha = { cpu = { family = "alpha"; }; };
|
||||||
|
isOr1k = { cpu = { family = "or1k"; }; };
|
||||||
isJavaScript = { cpu = cpuTypes.js; };
|
isJavaScript = { cpu = cpuTypes.js; };
|
||||||
|
|
||||||
is32bit = { cpu = { bits = 32; }; };
|
is32bit = { cpu = { bits = 32; }; };
|
||||||
|
@ -114,6 +114,8 @@ rec {
|
|||||||
|
|
||||||
vc4 = { bits = 32; significantByte = littleEndian; family = "vc4"; };
|
vc4 = { bits = 32; significantByte = littleEndian; family = "vc4"; };
|
||||||
|
|
||||||
|
or1k = { bits = 32; significantByte = bigEndian; family = "or1k"; };
|
||||||
|
|
||||||
js = { bits = 32; significantByte = littleEndian; family = "js"; };
|
js = { bits = 32; significantByte = littleEndian; family = "js"; };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -185,6 +185,7 @@ stdenv.mkDerivation {
|
|||||||
else if targetPlatform.isAvr then "avr"
|
else if targetPlatform.isAvr then "avr"
|
||||||
else if targetPlatform.isAlpha then "alpha"
|
else if targetPlatform.isAlpha then "alpha"
|
||||||
else if targetPlatform.isVc4 then "vc4"
|
else if targetPlatform.isVc4 then "vc4"
|
||||||
|
else if targetPlatform.isOr1k then "or1k"
|
||||||
else throw "unknown emulation for platform: ${targetPlatform.config}";
|
else throw "unknown emulation for platform: ${targetPlatform.config}";
|
||||||
in if targetPlatform.useLLVM or false then ""
|
in if targetPlatform.useLLVM or false then ""
|
||||||
else targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
else targetPlatform.platform.bfdEmulation or (fmt + sep + arch);
|
||||||
|
Loading…
Reference in New Issue
Block a user