diff options
Diffstat (limited to 'target/loongarch')
-rw-r--r-- | target/loongarch/Makefile | 62 | ||||
-rw-r--r-- | target/loongarch/QEMU_EFI.fd | bin | 0 -> 3801088 bytes | |||
-rw-r--r-- | target/loongarch/kernel/qemu-loongarch | 10 | ||||
-rw-r--r-- | target/loongarch/systems/qemu-loongarch | 8 |
4 files changed, 80 insertions, 0 deletions
diff --git a/target/loongarch/Makefile b/target/loongarch/Makefile new file mode 100644 index 000000000..c238b5e62 --- /dev/null +++ b/target/loongarch/Makefile @@ -0,0 +1,62 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(ADK_TOPDIR)/rules.mk +include $(ADK_TOPDIR)/mk/kernel-build.mk +include $(ADK_TOPDIR)/mk/image.mk + +KERNEL:=$(LINUX_DIR)/arch/loongarch/boot/vmlinux.efi + +QEMU_ARGS:=-M virt -bios target/loongarch/QEMU_EFI.fd -append "console=ttyS0,115200" +QEMU_ARGS+=-nographic +# +# 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 +endif +ifeq ($(ADK_TARGET_FS),initramfsarchive) +imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp +endif +ifeq ($(ADK_TARGET_FS),initramfspiggyback) +imageinstall: createinitramfs targethelp +endif diff --git a/target/loongarch/QEMU_EFI.fd b/target/loongarch/QEMU_EFI.fd Binary files differnew file mode 100644 index 000000000..f1fc9dc4c --- /dev/null +++ b/target/loongarch/QEMU_EFI.fd diff --git a/target/loongarch/kernel/qemu-loongarch b/target/loongarch/kernel/qemu-loongarch new file mode 100644 index 000000000..579c3f26e --- /dev/null +++ b/target/loongarch/kernel/qemu-loongarch @@ -0,0 +1,10 @@ +CONFIG_LOONGARCH=y +CONFIG_64BIT=y +CONFIG_MACH_LOONGSON64=y +CONFIG_ACPI=y +CONFIG_IRQ_DOMAIN=y +CONFIG_EFI=y +CONFIG_EFI_STUB=y +CONFIG_SMP=y +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y diff --git a/target/loongarch/systems/qemu-loongarch b/target/loongarch/systems/qemu-loongarch new file mode 100644 index 000000000..3b5d940de --- /dev/null +++ b/target/loongarch/systems/qemu-loongarch @@ -0,0 +1,8 @@ +config ADK_TARGET_SYSTEM_QEMU_LOONGARCH + bool "Qemu Emulator" + select ADK_TARGET_QEMU + select ADK_TARGET_CPU_LOONGARCH + select ADK_TARGET_KERNEL_VMLINUX_EFI + help + Support for Qemu Emulator Loongarch architecture. + |