summaryrefslogtreecommitdiff
path: root/target/linux
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2018-01-13 21:07:10 +0100
committerWaldemar Brodkorb <wbx@uclibc-ng.org>2018-02-03 16:27:56 +0000
commit1f032e95500d0e2ec60381e4ed3a5fde698427c7 (patch)
treefc9c22aaf2036a787f147da40d9bc74e23756f7c /target/linux
parentdaed5353981450089919ebf451e15d7726519644 (diff)
csky: add better qemu support
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/config/Config.in.ethernet17
-rw-r--r--target/linux/config/Config.in.serial9
-rw-r--r--target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch34
3 files changed, 58 insertions, 2 deletions
diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet
index 761bf6192..76656e14e 100644
--- a/target/linux/config/Config.in.ethernet
+++ b/target/linux/config/Config.in.ethernet
@@ -106,6 +106,9 @@ config ADK_KERNEL_NETDEV_1000
config ADK_KERNEL_VIA_RHINE_MMIO
bool
+config ADK_KERNEL_DWMAC_GENERIC
+ bool
+
config ADK_KERNEL_DWMAC_SUNXI
bool
@@ -455,11 +458,21 @@ config ADK_KERNEL_STMMAC_ETH
bool "Stmicro MAC ethernet driver"
select ADK_KERNEL_NET_VENDOR_STMICRO
select ADK_KERNEL_STMMAC_PLATFORM
- select ADK_KERNEL_DWMAC_SUNXI
+ select ADK_KERNEL_DWMAC_SUNXI if ADK_TARGET_SYSTEM_BANANA_PRO \
+ || ADK_TARGET_SYSTEM_ORANGE_PI0
+ select ADK_KERNEL_DWMAC_GENERIC if ADK_TARGET_SYSTEM_QEMU_CSKY_CK610
+ select ADK_KERNEL_DWMAC_GENERIC if ADK_TARGET_SYSTEM_QEMU_CSKY_CK807
+ select ADK_KERNEL_DWMAC_GENERIC if ADK_TARGET_SYSTEM_QEMU_CSKY_CK810
depends on ADK_TARGET_SYSTEM_BANANA_PRO \
- || ADK_TARGET_SYSTEM_ORANGE_PI0
+ || ADK_TARGET_SYSTEM_ORANGE_PI0 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK610 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK807 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK810
default y if ADK_TARGET_SYSTEM_BANANA_PRO
default y if ADK_TARGET_SYSTEM_ORANGE_PI0
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK610
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK807
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK810
default n
config ADK_KERNEL_ETHOC
diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial
index 6511bc5a2..f4326eb52 100644
--- a/target/linux/config/Config.in.serial
+++ b/target/linux/config/Config.in.serial
@@ -89,6 +89,9 @@ config ADK_KERNEL_SERIAL_8250
select ADK_KERNEL_SERIAL_8250_CONSOLE
select ADK_KERNEL_SERIAL_OF_PLATFORM if ADK_TARGET_SYSTEM_XILINX_KINTEX7 \
|| ADK_TARGET_SYSTEM_IMGTEC_CI20 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK610 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK807 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK810 \
|| ADK_TARGET_SYSTEM_QEMU_XTENSA \
|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
|| ADK_TARGET_SYSTEM_QEMU_NIOS2 \
@@ -112,6 +115,9 @@ config ADK_KERNEL_SERIAL_8250
|| ADK_TARGET_SYSTEM_QEMU_MIPS64 \
|| ADK_TARGET_SYSTEM_SGI_O2 \
|| ADK_TARGET_SYSTEM_QEMU_ALPHA \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK610 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK807 \
+ || ADK_TARGET_SYSTEM_QEMU_CSKY_CK810 \
|| ADK_TARGET_SYSTEM_QEMU_NIOS2 \
|| ADK_TARGET_SYSTEM_QEMU_OR1K \
|| ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO \
@@ -140,6 +146,9 @@ config ADK_KERNEL_SERIAL_8250
default y if ADK_TARGET_SYSTEM_QEMU_MIPS64
default y if ADK_TARGET_SYSTEM_SGI_O2
default y if ADK_TARGET_SYSTEM_QEMU_ALPHA
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK610
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK807
+ default y if ADK_TARGET_SYSTEM_QEMU_CSKY_CK810
default y if ADK_TARGET_SYSTEM_QEMU_NIOS2
default y if ADK_TARGET_SYSTEM_QEMU_OR1K
default y if ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO
diff --git a/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch b/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch
new file mode 100644
index 000000000..e54ac19a6
--- /dev/null
+++ b/target/linux/patches/6064a9bdf48cefbccc4f6472dd04251f0dec1931/startup.patch
@@ -0,0 +1,34 @@
+diff -Nur linux-4.4.6.orig/init/initramfs.c linux-4.4.6/init/initramfs.c
+--- linux-4.4.6.orig/init/initramfs.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/initramfs.c 2016-03-27 14:15:43.931044532 +0200
+@@ -653,6 +653,9 @@
+ */
+ load_default_modules();
+ }
++#ifdef CONFIG_DEVTMPFS_MOUNT
++ devtmpfs_mount("dev");
++#endif
+ return 0;
+ }
+ rootfs_initcall(populate_rootfs);
+diff -Nur linux-4.4.6.orig/init/main.c linux-4.4.6/init/main.c
+--- linux-4.4.6.orig/init/main.c 2016-03-16 16:43:17.000000000 +0100
++++ linux-4.4.6/init/main.c 2016-03-27 14:15:43.935044783 +0200
+@@ -1011,6 +1011,8 @@
+ if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
+ pr_err("Warning: unable to open an initial console.\n");
+
++ printk(KERN_WARNING "Starting Linux (built with OpenADK).\n");
++
+ (void) sys_dup(0);
+ (void) sys_dup(0);
+ /*
+@@ -1019,7 +1021,7 @@
+ */
+
+ if (!ramdisk_execute_command)
+- ramdisk_execute_command = "/init";
++ ramdisk_execute_command = "/sbin/init";
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;