soc/cores/cpu: add riscv64-linux toolchain support for risc-v cpus.
authorFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 10 Jan 2020 07:49:23 +0000 (08:49 +0100)
committerFlorent Kermarrec <florent@enjoy-digital.fr>
Fri, 10 Jan 2020 07:49:34 +0000 (08:49 +0100)
Toolchain can be downloaded from https://toolchains.bootlin.com/

litex/soc/cores/cpu/minerva/core.py
litex/soc/cores/cpu/picorv32/core.py
litex/soc/cores/cpu/rocket/core.py
litex/soc/cores/cpu/vexriscv/core.py

index b592e34ca88f5ab8e30840a46dd471917ed99605..9bc970895949faba23d2728507485f730ba9a3ff 100644 (file)
@@ -17,7 +17,8 @@ class Minerva(CPU):
     name                 = "minerva"
     data_width           = 32
     endianness           = "little"
-    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed")
+    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed",
+                            "riscv64-linux")
     linker_output_format = "elf32-littleriscv"
     io_regions           = {0x80000000: 0x80000000} # origin, length
 
index cc03cdb89b7077ceac1a7a0a4a1bd75743c26bf2..c2122677c971ca3585f8c8e1b747a415b025b402 100644 (file)
@@ -34,7 +34,8 @@ class PicoRV32(CPU):
     name                 = "picorv32"
     data_width           = 32
     endianness           = "little"
-    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed")
+    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed",
+                            "riscv64-linux")
     linker_output_format = "elf32-littleriscv"
     io_regions           = {0x80000000: 0x80000000} # origin, length
 
index 899043bda4ac002ae6b172d702027595a548351d..108a49678d8428bf22d8ed6cf68bb9bac2bbff0c 100644 (file)
@@ -67,7 +67,7 @@ class RocketRV64(CPU):
     name                 = "rocket"
     data_width           = 64
     endianness           = "little"
-    gcc_triple           = ("riscv64-unknown-elf")
+    gcc_triple           = ("riscv64-unknown-elf", "riscv64-linux")
     linker_output_format = "elf64-littleriscv"
     io_regions           = {0x10000000: 0x70000000} # origin, length
 
index c281943e2a6ab16fe1fcb96ec52ce949439c477d..100ce4be79009565339b0b6fdd7f77e0720c7d27 100644 (file)
@@ -78,7 +78,8 @@ class VexRiscv(CPU, AutoCSR):
     name                 = "vexriscv"
     data_width           = 32
     endianness           = "little"
-    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed")
+    gcc_triple           = ("riscv64-unknown-elf", "riscv32-unknown-elf", "riscv-none-embed",
+                            "riscv64-linux")
     linker_output_format = "elf32-littleriscv"
     io_regions           = {0x80000000: 0x80000000} # origin, length