Browse Source

riscv: try gcc8 + riscv-kernel

Waldemar Brodkorb 6 years ago
parent
commit
8e62ecb60e

+ 10 - 0
target/config/Config.in.compiler

@@ -47,6 +47,16 @@ config ADK_TOOLCHAIN_GCC_GIT
 	depends on !ADK_TARGET_ARCH_OR1K
 	depends on !ADK_TARGET_CPU_SH_J2
 
+config ADK_TOOLCHAIN_GCC_8
+	bool "8.1.0"
+	depends on !ADK_TARGET_ARCH_ARC
+	depends on !ADK_TARGET_ARCH_AVR32
+	depends on !ADK_TARGET_ARCH_CSKY
+	depends on !ADK_TARGET_ARCH_METAG
+	depends on !ADK_TARGET_ARCH_NDS32
+	depends on !ADK_TARGET_ARCH_OR1K
+	depends on !ADK_TARGET_CPU_SH_J2
+
 config ADK_TOOLCHAIN_GCC_7
 	bool "7.3.0"
 	depends on !ADK_TARGET_ARCH_ARC

+ 1 - 0
target/config/Config.in.qemuopts

@@ -151,6 +151,7 @@ config ADK_TARGET_QEMU_WITHOUT_VIRTIO
 config ADK_TARGET_QEMU_WITH_VIRTIO
 	bool "enabled"
 	select ADK_LINUX_KERNEL_VIRTIO
+	select ADK_LINUX_KERNEL_VIRTIO_MENU
 	select ADK_LINUX_KERNEL_VIRTIO_PCI
 	select ADK_LINUX_KERNEL_VIRTIO_NET
 	select ADK_LINUX_KERNEL_VIRTIO_BLK

+ 14 - 2
target/linux/Config.in.kernelversion

@@ -12,11 +12,11 @@ default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_ADSP_BF537
 default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_SYSTEM_PHYTEC_WEGA
 default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_CSKY
 default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_LM32
+default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_RISCV32
+default ADK_TARGET_LINUX_KERNEL_VERSION_GIT if ADK_TARGET_ARCH_RISCV64
 default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_CRIS
 default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_H8300
 default ADK_TARGET_LINUX_KERNEL_VERSION_4_4 if ADK_TARGET_ARCH_METAG
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_16 if ADK_TARGET_ARCH_RISCV32
-default ADK_TARGET_LINUX_KERNEL_VERSION_4_16 if ADK_TARGET_ARCH_RISCV64
 default ADK_TARGET_LINUX_KERNEL_VERSION_4_14
 
 config ADK_TARGET_LINUX_KERNEL_VERSION_GIT
@@ -36,6 +36,8 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_4_16
 	depends on !ADK_TARGET_ARCH_CSKY
 	depends on !ADK_TARGET_ARCH_METAG
 	depends on !ADK_TARGET_ARCH_NDS32
+	depends on !ADK_TARGET_ARCH_RISCV32
+	depends on !ADK_TARGET_ARCH_RISCV64
 
 config ADK_TARGET_LINUX_KERNEL_VERSION_4_14
 	bool "4.14.39"
@@ -181,6 +183,8 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO
 	default "https://git.phytec.de/git/linux-ti.git" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
 	default "https://github.com/m-labs/linux-milkymist.git" if ADK_TARGET_ARCH_LM32
 	default "https://github.com/c-sky/linux-4.9.y.git" if ADK_TARGET_ARCH_CSKY
+	default "https://github.com/riscv/riscv-linux.git" if ADK_TARGET_ARCH_RISCV32
+	default "https://github.com/riscv/riscv-linux.git" if ADK_TARGET_ARCH_RISCV64
 	default "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git"
 	help
 	  GIT repository to use.
@@ -190,6 +194,8 @@ config ADK_TARGET_LINUX_KERNEL_GIT_REPO_NAME
 	depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
 	default "csky" if ADK_TARGET_ARCH_CSKY
 	default "lm32" if ADK_TARGET_ARCH_LM32
+	default "riscv" if ADK_TARGET_ARCH_RISCV32
+	default "riscv" if ADK_TARGET_ARCH_RISCV64
 	default "rpi" if ADK_TARGET_BOARD_BCM28XX
 	default "ad" if ADK_TARGET_SYSTEM_ADSP_BF537
 	default "bb" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
@@ -210,12 +216,16 @@ config ADK_TARGET_LINUX_KERNEL_GIT
 	default "902739f3353150ac9eb69ad995098f3079d862a3" if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
 	default "c85fbc86c61a8c8fd45ab1fe3d1bdd2df12f7962" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6
 	default "8624998967676862843aed1f8ee2141e98987f81" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
+	default "riscv-linux-4.15" if ADK_TARGET_ARCH_RISCV32
+	default "riscv-linux-4.15" if ADK_TARGET_ARCH_RISCV64
 	default "v4.4.52-phy" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
 
 config ADK_TARGET_LINUX_KERNEL_GIT_VER
 	string "kernel version"
 	depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
 	default "4.9.56" if ADK_TARGET_ARCH_CSKY
+	default "4.15.0" if ADK_TARGET_ARCH_RISCV32
+	default "4.15.0" if ADK_TARGET_ARCH_RISCV64
 	default "4.14.37" if ADK_TARGET_BOARD_BCM28XX
 	default "4.4.37" if ADK_TARGET_SYSTEM_BEAGLEBONE_BLACK
 	default "4.4.52" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
@@ -225,6 +235,8 @@ config ADK_TARGET_LINUX_KERNEL_GIT_VER
 config ADK_TARGET_LINUX_KERNEL_GIT_TYPE
 	string
 	depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
+	default "branch" if ADK_TARGET_ARCH_RISCV32
+	default "branch" if ADK_TARGET_ARCH_RISCV64
 	default "branch" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
 	default "hash"
 

+ 5 - 0
target/linux/config/Config.in.virtio

@@ -4,6 +4,9 @@
 menu "Virtio driver support"
 depends on ADK_TARGET_WITH_VIRTIO || ADK_TARGET_QEMU
 
+config ADK_LINUX_KERNEL_VIRTIO_MENU
+	bool
+
 config ADK_LINUX_KERNEL_VIRTIO
 	bool
 
@@ -22,6 +25,7 @@ config ADK_LINUX_KERNEL_VIRTIO_MMIO
 config ADK_LINUX_KERNEL_VIRTIO_NET
 	tristate "Virtio net driver"
 	select ADK_LINUX_KERNEL_VIRTIO
+	select ADK_LINUX_KERNEL_VIRTIO_MENU
 	select ADK_LINUX_KERNEL_VIRTIO_MMIO
 	select ADK_LINUX_KERNEL_VIRTIO_PCI
 	select ADK_LINUX_KERNEL_VIRTIO_PCI_LEGACY
@@ -33,6 +37,7 @@ config ADK_LINUX_KERNEL_VIRTIO_NET
 config ADK_LINUX_KERNEL_VIRTIO_BLK
 	tristate "Virtio block driver"
 	select ADK_LINUX_KERNEL_VIRTIO
+	select ADK_LINUX_KERNEL_VIRTIO_MENU
 	select ADK_LINUX_KERNEL_VIRTIO_PCI
 	select ADK_LINUX_KERNEL_VIRTIO_PCI_LEGACY
 	select ADK_LINUX_KERNEL_VIRTIO_MMIO

+ 2 - 0
target/riscv64/kernel/qemu-riscv64

@@ -1,3 +1,5 @@
 CONFIG_RISCV=y
+CONFIG_RISCV_PLIC=y
+CONFIG_HVC_RISCV_SBI=y
 CONFIG_CMDLINE_BOOL=y
 CONFIG_SECTION_MISMATCH_WARN_ONLY=y

+ 8 - 0
toolchain/gcc/Makefile.inc

@@ -2,6 +2,14 @@
 # material, please see the LICENCE file in the top-level directory.
 
 PKG_NAME:=		gcc
+ifeq ($(ADK_TOOLCHAIN_GCC_8),y)
+PKG_VERSION:=		8.1.0
+PKG_HASH:=		1d1866f992626e61349a1ccd0b8d5253816222cdc13390dcfaa74b093aa2b153
+PKG_SITES:=		${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
+PKG_RELEASE:=		1
+DISTFILES:=		${PKG_NAME}-${PKG_VERSION}.tar.xz
+LIBSTDCXXVER:=		24
+endif
 ifeq ($(ADK_TOOLCHAIN_GCC_7),y)
 PKG_VERSION:=		7.3.0
 PKG_HASH:=		832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c