summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2019-10-09 17:13:05 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2019-10-09 17:13:31 +0200
commit8afcd1092f3dc822aa255685b98c815eb3642819 (patch)
tree410423cf73a0e254e024e9624859ba4b9eb80365 /target
parent23650e556bd8eb37a0094ab7973603a1499ac8de (diff)
lm32: try to build kernel for qemu
Diffstat (limited to 'target')
-rw-r--r--target/config/Config.in.compiler5
-rw-r--r--target/config/Config.in.kernelfmt3
-rw-r--r--target/linux/Config.in.kernelversion2
-rw-r--r--target/linux/config/Config.in.serial12
-rw-r--r--target/lm32/Makefile45
-rw-r--r--target/lm32/systems/qemu-lm321
6 files changed, 67 insertions, 1 deletions
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.