From 8afcd1092f3dc822aa255685b98c815eb3642819 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Wed, 9 Oct 2019 17:13:05 +0200 Subject: lm32: try to build kernel for qemu --- target/config/Config.in.compiler | 5 ++++ target/config/Config.in.kernelfmt | 3 +++ target/linux/Config.in.kernelversion | 2 +- target/linux/config/Config.in.serial | 12 ++++++++++ target/lm32/Makefile | 45 ++++++++++++++++++++++++++++++++++++ target/lm32/systems/qemu-lm32 | 1 + 6 files changed, 67 insertions(+), 1 deletion(-) (limited to 'target') diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler index bfd6138e1..0020e6b92 100644 --- a/target/config/Config.in.compiler +++ b/target/config/Config.in.compiler @@ -31,6 +31,7 @@ prompt "GCC version" depends on ADK_BUILD_COMPILER_GCC default ADK_TOOLCHAIN_GCC_ARC if ADK_TARGET_ARCH_ARC default ADK_TOOLCHAIN_GCC_AVR32 if ADK_TARGET_ARCH_AVR32 +default ADK_TOOLCHAIN_GCC_LM32 if ADK_TARGET_ARCH_LM32 default ADK_TOOLCHAIN_GCC_METAG if ADK_TARGET_ARCH_METAG default ADK_TOOLCHAIN_GCC_NDS32 if ADK_TARGET_ARCH_NDS32 default ADK_TOOLCHAIN_GCC_7 if ADK_TARGET_CPU_ARM_ARM11MPCORE @@ -84,6 +85,10 @@ config ADK_TOOLCHAIN_GCC_METAG bool "4.2.4-metag" depends on ADK_TARGET_ARCH_METAG +config ADK_TOOLCHAIN_GCC_LM32 + bool "4.5.2" + depends on ADK_TARGET_ARCH_LM32 + config ADK_TOOLCHAIN_GCC_NDS32 bool "nds32-6.3.0-open" depends on ADK_TARGET_ARCH_NDS32 diff --git a/target/config/Config.in.kernelfmt b/target/config/Config.in.kernelfmt index e2fc675c3..f1d503e23 100644 --- a/target/config/Config.in.kernelfmt +++ b/target/config/Config.in.kernelfmt @@ -40,6 +40,9 @@ config ADK_TARGET_KERNEL_VMLINUX_SREC config ADK_TARGET_KERNEL_XIPIMAGE bool +config ADK_TARGET_KERNEL_SIMPLEIMAGE + bool + config ADK_TARGET_KERNEL string default "uImage" if ADK_TARGET_KERNEL_UIMAGE diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion index 50805862f..6bb812b40 100644 --- a/target/linux/Config.in.kernelversion +++ b/target/linux/Config.in.kernelversion @@ -27,7 +27,6 @@ default ADK_TARGET_LINUX_KERNEL_VERSION_4_19 config ADK_TARGET_LINUX_KERNEL_VERSION_GIT bool "git" - select ADK_TARGET_LINUX_KERNEL_NEW depends on !ADK_TARGET_ARCH_AVR32 depends on !ADK_TARGET_ARCH_BFIN depends on !ADK_TARGET_ARCH_FRV @@ -256,6 +255,7 @@ config ADK_TARGET_LINUX_KERNEL_GIT_VER default "4.4.52" if ADK_TARGET_SYSTEM_PHYTEC_WEGA default "2.6.33" if ADK_TARGET_SYSTEM_KINETIS_K70 default "3.14.79" if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 + default "3.1.0" if ADK_TARGET_SYSTEM_QEMU_LM32 config ADK_TARGET_LINUX_KERNEL_GIT_TYPE string diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial index d4273607f..c6fa0c6e1 100644 --- a/target/linux/config/Config.in.serial +++ b/target/linux/config/Config.in.serial @@ -76,6 +76,9 @@ config ADK_LINUX_KERNEL_SERIAL_BFIN_UART1 config ADK_LINUX_KERNEL_SERIAL_8250_INGENIC bool +config ADK_LINUX_KERNEL_SERIAL_MILKYMIST_CONSOLE + bool + config ADK_LINUX_KERNEL_SERIAL_BFIN bool "BFIN serial driver" select ADK_LINUX_KERNEL_SERIAL_BFIN_CONSOLE @@ -328,4 +331,13 @@ config ADK_LINUX_KERNEL_BOARD_GRASSHOPPER_USART0 help Enable second USART on Grasshoper boards +config ADK_LINUX_KERNEL_SERIAL_MILKYMIST + bool "Enable UART0 on Milkymist" + select ADK_LINUX_KERNEL_SERIAL_MILKYMIST_CONSOLE + depends on ADK_TARGET_SYSTEM_QEMU_LM32 + default y if ADK_TARGET_SYSTEM_QEMU_LM32 + default n + help + Enable second USART on Grasshoper boards + endmenu diff --git a/target/lm32/Makefile b/target/lm32/Makefile index ba872b7d7..d79009445 100644 --- a/target/lm32/Makefile +++ b/target/lm32/Makefile @@ -5,6 +5,51 @@ include $(ADK_TOPDIR)/rules.mk include $(ADK_TOPDIR)/mk/kernel-build.mk include $(ADK_TOPDIR)/mk/image.mk +KERNEL:=$(LINUX_DIR)/arch/lm32/boot/simpleImage.milkymist_one + +QEMU_ARGS:=-M milkymist +QEMU_ARGS+=-nographic -nodefaults -monitor pty -serial stdio -append "console=ttyS0" +# +# target helper text +ifeq ($(ADK_TARGET_FS),archive) +targethelp: + @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSTARBALL)" +ifeq ($(ADK_TARGET_QEMU),y) + @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' + @echo "Use following command to create a QEMU Image:" + @echo "./scripts/create.sh qemu-${ADK_TARGET_CPU_ARCH}.img $(FW_DIR)/$(ROOTFSUSERTARBALL)" + @echo "Start qemu with following options:" + @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) qemu-${ADK_TARGET_CPU_ARCH}.img' +endif +endif +ifeq ($(ADK_TARGET_FS),initramfs) +targethelp: + @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' + @echo 'The initramfs image is: ${FW_DIR}/${INITRAMFS}' +ifeq ($(ADK_TARGET_QEMU),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL) -initrd ${FW_DIR}/${INITRAMFS}' +endif +endif +ifeq ($(ADK_TARGET_FS),initramfsarchive) +targethelp: + @echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}' + @echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)" +endif +ifeq ($(ADK_TARGET_FS),initramfspiggyback) +targethelp: + @echo 'The kernel+initramfs file is: $(FW_DIR)/${TARGET_KERNEL}' +ifeq ($(ADK_TARGET_QEMU),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-${ADK_TARGET_CPU_ARCH} ${QEMU_ARGS} -kernel $(FW_DIR)/$(TARGET_KERNEL)' +endif +endif + +kernel-strip: + +kernel-install: kernel-strip + @cp $(KERNEL) $(FW_DIR)/$(TARGET_KERNEL) + # filesystem specific targets ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp diff --git a/target/lm32/systems/qemu-lm32 b/target/lm32/systems/qemu-lm32 index f729902d8..901e1665f 100644 --- a/target/lm32/systems/qemu-lm32 +++ b/target/lm32/systems/qemu-lm32 @@ -3,6 +3,7 @@ config ADK_TARGET_SYSTEM_QEMU_LM32 select ADK_TARGET_QEMU select ADK_TARGET_CPU_LM32 select ADK_TARGET_UCLINUX + select ADK_TARGET_KERNEL_SIMPLEIMAGE help Support for Qemu Emulator LM32 architecture. -- cgit v1.2.3