diff options
-rw-r--r-- | target/config/Config.in.cpu | 76 | ||||
-rw-r--r-- | target/config/Config.in.fpu | 11 | ||||
-rw-r--r-- | target/config/Config.in.libc | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.ethernet | 2 | ||||
-rw-r--r-- | target/linux/config/Config.in.serial | 4 | ||||
-rw-r--r-- | target/ppc/Makefile | 18 | ||||
-rw-r--r-- | target/ppc/kernel/qemu-ppc-mpc8544ds | 11 | ||||
-rw-r--r-- | target/ppc/systems/qemu-ppc-mpc8544ds | 8 |
8 files changed, 118 insertions, 14 deletions
diff --git a/target/config/Config.in.cpu b/target/config/Config.in.cpu index 5e66cdcef..94d65946f 100644 --- a/target/config/Config.in.cpu +++ b/target/config/Config.in.cpu @@ -1060,6 +1060,50 @@ config ADK_TARGET_CPU_PPC_7400 select ADK_TARGET_SUPPORTS_LT select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC + depends on ADK_TARGET_ARCH_PPC + +config ADK_TARGET_CPU_PPC_7450 + bool "7450" + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_LT + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC + depends on ADK_TARGET_ARCH_PPC + +config ADK_TARGET_CPU_PPC_750 + bool "750" + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_LT + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + depends on ADK_TARGET_ARCH_PPC + +config ADK_TARGET_CPU_PPC_8540 + bool "8540" + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_LT + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_SPE + depends on ADK_TARGET_ARCH_PPC + +config ADK_TARGET_CPU_PPC_8548 + bool "8548" + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_LT + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_SPE + depends on ADK_TARGET_ARCH_PPC + +config ADK_TARGET_CPU_PPC_E500MC + bool "e500mc" + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_LT + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU depends on ADK_TARGET_ARCH_PPC config ADK_TARGET_CPU_PPC_970 @@ -1068,6 +1112,7 @@ config ADK_TARGET_CPU_PPC_970 select ADK_TARGET_SUPPORTS_LT select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC depends on ADK_TARGET_ARCH_PPC # ppc64 @@ -1080,12 +1125,31 @@ config ADK_TARGET_CPU_PPC64_POWERPC64 depends on ADK_TARGET_ARCH_PPC64 depends on ADK_TARGET_BIG_ENDIAN +config ADK_TARGET_CPU_PPC64_POWER4 + bool "power4" + select ADK_LINUX_64 + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + depends on ADK_TARGET_ARCH_PPC64 + depends on ADK_TARGET_BIG_ENDIAN + +config ADK_TARGET_CPU_PPC64_POWER5 + bool "power5" + select ADK_LINUX_64 + select ADK_TARGET_SUPPORTS_THREADS + select ADK_TARGET_SUPPORTS_NPTL + select ADK_TARGET_WITH_MMU + depends on ADK_TARGET_ARCH_PPC64 + depends on ADK_TARGET_BIG_ENDIAN + config ADK_TARGET_CPU_PPC64_POWER6 bool "power6" select ADK_LINUX_64 select ADK_TARGET_SUPPORTS_THREADS select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC depends on ADK_TARGET_ARCH_PPC64 depends on ADK_TARGET_BIG_ENDIAN @@ -1095,6 +1159,7 @@ config ADK_TARGET_CPU_PPC64_POWER7 select ADK_TARGET_SUPPORTS_THREADS select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC depends on ADK_TARGET_ARCH_PPC64 depends on ADK_TARGET_BIG_ENDIAN @@ -1104,6 +1169,7 @@ config ADK_TARGET_CPU_PPC64_POWER8 select ADK_TARGET_SUPPORTS_THREADS select ADK_TARGET_SUPPORTS_NPTL select ADK_TARGET_WITH_MMU + select ADK_TARGET_ARCH_PPC_WITH_ALTIVEC depends on ADK_TARGET_ARCH_PPC64 # riscv @@ -1806,6 +1872,9 @@ config ADK_TARGET_CPU_WITH_VT config ADK_TARGET_CPU_WITH_MTRR bool +config ADK_TARGET_CPU_WITH_ALTIVEC + bool + config ADK_TARGET_CPU_WITH_MMX bool @@ -1851,7 +1920,6 @@ config ADK_TARGET_CPU_WITH_3DNOWEXT # for gcc --with-cpu config ADK_TARGET_GCC_CPU string - default "440" if ADK_TARGET_CPU_PPC_440 default "51" if ADK_TARGET_CPU_CF_51 default "5206" if ADK_TARGET_CPU_CF_5206 default "5206e" if ADK_TARGET_CPU_CF_5206E @@ -1907,6 +1975,8 @@ config ADK_TARGET_GCC_CPU default "n13" if ADK_TARGET_CPU_NDS32 default "powerpc" if ADK_TARGET_CPU_PPC default "powerpc64" if ADK_TARGET_CPU_PPC64_POWERPC64 + default "power4" if ADK_TARGET_CPU_PPC64_POWER4 + default "power5" if ADK_TARGET_CPU_PPC64_POWER5 default "power6" if ADK_TARGET_CPU_PPC64_POWER6 default "power7" if ADK_TARGET_CPU_PPC64_POWER7 default "power8" if ADK_TARGET_CPU_PPC64_POWER8 @@ -1915,7 +1985,11 @@ config ADK_TARGET_GCC_CPU default "xscale" if ADK_TARGET_CPU_ARM_XSCALE default "440" if ADK_TARGET_CPU_PPC_440 default "740" if ADK_TARGET_CPU_PPC_740 + default "750" if ADK_TARGET_CPU_PPC_750 default "7400" if ADK_TARGET_CPU_PPC_7400 + default "7450" if ADK_TARGET_CPU_PPC_7450 + default "8540" if ADK_TARGET_CPU_PPC_8540 + default "8548" if ADK_TARGET_CPU_PPC_8548 default "970" if ADK_TARGET_CPU_PPC_970 # for gcc --with-arch diff --git a/target/config/Config.in.fpu b/target/config/Config.in.fpu index 1ea04be3e..0abb5f8e0 100644 --- a/target/config/Config.in.fpu +++ b/target/config/Config.in.fpu @@ -1,6 +1,17 @@ # This file is part of the OpenADK project. OpenADK is copyrighted # material, please see the LICENCE file in the top-level directory. +config ADK_TARGET_ARCH_PPC_WITH_SPE + bool + default n + +config ADK_TARGET_ARCH_PPC_WITH_ALTIVEC + bool "enable AltiVec SIMD support" + depends on ADK_TARGET_ARCH_PPC && ADK_TARGET_CPU_WITH_ALTIVEC + default n + help + Enable support for AltiVec SIMD CPU extensions. + config ADK_TARGET_ARCH_ARM_WITH_NEON bool "enable NEON SIMD support" depends on ADK_TARGET_ARCH_ARM && ADK_TARGET_CPU_WITH_NEON diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc index 086578a54..3a8099b4a 100644 --- a/target/config/Config.in.libc +++ b/target/config/Config.in.libc @@ -243,6 +243,7 @@ config ADK_TARGET_SUFFIX default "gnuabi32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_O64 default "gnu32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_32 && ADK_LINUX_64 default "gnux32" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ABI_X32 && ADK_LINUX_64 + default "gnuspe" if ADK_TARGET_LIB_GLIBC && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE default "gnu" if ADK_TARGET_LIB_GLIBC default "uclibceabihf" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT default "uclibceabi" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_ARM @@ -251,6 +252,7 @@ config ADK_TARGET_SUFFIX default "uclibcabin32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_N32 default "uclibcabi32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_O32 default "uclibc32" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ABI_32 && ADK_LINUX_64 + default "uclibcspe" if ADK_TARGET_LIB_UCLIBC_NG && ADK_TARGET_ARCH_PPC && ADK_TARGET_ARCH_PPC_WITH_SPE default "uclibc" if ADK_TARGET_LIB_UCLIBC_NG default "musleabihf" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM && ADK_TARGET_HARD_FLOAT default "musleabi" if ADK_TARGET_LIB_MUSL && ADK_TARGET_ARCH_ARM diff --git a/target/linux/config/Config.in.ethernet b/target/linux/config/Config.in.ethernet index 3a3f36aa0..787f5d5ef 100644 --- a/target/linux/config/Config.in.ethernet +++ b/target/linux/config/Config.in.ethernet @@ -337,6 +337,7 @@ config ADK_KERNEL_E1000 ADK_TARGET_SYSTEM_QEMU_MIPS64 || \ ADK_TARGET_SYSTEM_QEMU_PPC_MACPPC || \ ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO || \ + ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS || \ ADK_TARGET_SYSTEM_QEMU_ALPHA || \ ADK_TARGET_SYSTEM_QEMU_SPARC64 || \ ADK_TARGET_VBOX || \ @@ -348,6 +349,7 @@ config ADK_KERNEL_E1000 default y if ADK_TARGET_SYSTEM_QEMU_MIPS64 default y if ADK_TARGET_SYSTEM_QEMU_PPC_MACPPC default y if ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO + default y if ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS default y if ADK_TARGET_SYSTEM_QEMU_ALPHA default y if ADK_TARGET_SYSTEM_QEMU_SPARC64 default y if ADK_TARGET_VBOX diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial index d8546b041..987ad5188 100644 --- a/target/linux/config/Config.in.serial +++ b/target/linux/config/Config.in.serial @@ -86,6 +86,7 @@ config ADK_KERNEL_SERIAL_BFIN config ADK_KERNEL_SERIAL_8250 bool "8250 serial driver" + 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_XTENSA \ @@ -99,7 +100,6 @@ config ADK_KERNEL_SERIAL_8250 select ADK_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG select ADK_KERNEL_SERIAL_8250_DW if ADK_TARGET_SYSTEM_ORANGE_PI0 select ADK_KERNEL_SERIAL_8250_DMA if ADK_TARGET_SYSTEM_ORANGE_PI0 - select ADK_KERNEL_SERIAL_8250_CONSOLE select ADK_KERNEL_SERIAL_8250_INGENIC if ADK_TARGET_SYSTEM_IMGTEC_CI20 depends on ADK_TARGET_SYSTEM_XILINX_KINTEX7 \ || ADK_TARGET_SYSTEM_IMGTEC_CI20 \ @@ -115,6 +115,7 @@ config ADK_KERNEL_SERIAL_8250 || ADK_TARGET_SYSTEM_QEMU_NIOS2 \ || ADK_TARGET_SYSTEM_QEMU_OR1K \ || ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO \ + || ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS \ || ADK_TARGET_SYSTEM_QEMU_X86 \ || ADK_TARGET_SYSTEM_QEMU_X86_64 \ || ADK_TARGET_SYSTEM_QEMU_XTENSA \ @@ -141,6 +142,7 @@ config ADK_KERNEL_SERIAL_8250 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 + default y if ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS default y if ADK_TARGET_SYSTEM_QEMU_X86 default y if ADK_TARGET_SYSTEM_QEMU_X86_64 default y if ADK_TARGET_SYSTEM_QEMU_XTENSA diff --git a/target/ppc/Makefile b/target/ppc/Makefile index 64660ef59..2eec72d23 100644 --- a/target/ppc/Makefile +++ b/target/ppc/Makefile @@ -20,6 +20,10 @@ ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_BAMBOO),y) QEMU_ARGS+=-M bamboo QEMU_ARGS+=-device e1000,netdev=adk0 -netdev user,id=adk0 endif +ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS),y) +QEMU_ARGS+=-M mpc8544ds +QEMU_ARGS+=-device e1000,netdev=adk0 -netdev user,id=adk0 +endif # target helper text ifeq ($(ADK_TARGET_FS),archive) @@ -69,35 +73,25 @@ kernel-install: kernel-strip @cp $(BUILD_DIR)/$(TARGET_KERNEL) $(FW_DIR)/${TARGET_KERNEL} dtb-install: +ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_VIRTEX_ML507),y) env $(KERNEL_MAKE_ENV) $(MAKE) -C "${LINUX_DIR}" $(KERNEL_MAKE_OPTS) \ -j${ADK_MAKE_JOBS} virtex440-ml507.dtb $(MAKE_TRACE) $(CP) $(LINUX_DIR)/arch/powerpc/boot/virtex440-ml507.dtb \ $(FW_DIR)/ppc.dtb +endif # filesystem specific targets ifeq ($(ADK_TARGET_FS),archive) -ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_VIRTEX_ML507),y) imageinstall: dtb-install $(FW_DIR)/$(ROOTFSTARBALL) targethelp -else -imageinstall: $(FW_DIR)/$(ROOTFSTARBALL) targethelp -endif endif ifeq ($(ADK_TARGET_FS),initramfs) -ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_VIRTEX_ML507),y) imageinstall: dtb-install kernel-install $(FW_DIR)/$(INITRAMFS) targethelp -else -imageinstall: kernel-install $(FW_DIR)/$(INITRAMFS) targethelp -endif endif ifeq ($(ADK_TARGET_FS),initramfsarchive) imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp endif ifeq ($(ADK_TARGET_FS),initramfspiggyback) -ifeq ($(ADK_TARGET_SYSTEM_QEMU_PPC_VIRTEX_ML507),y) imageinstall: dtb-install createinitramfs targethelp -else -imageinstall: createinitramfs targethelp -endif endif ifeq ($(ADK_TARGET_FS),nfsroot) imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp diff --git a/target/ppc/kernel/qemu-ppc-mpc8544ds b/target/ppc/kernel/qemu-ppc-mpc8544ds new file mode 100644 index 000000000..1e51d4b07 --- /dev/null +++ b/target/ppc/kernel/qemu-ppc-mpc8544ds @@ -0,0 +1,11 @@ +CONFIG_PPC=y +CONFIG_PPC32=y +CONFIG_PPC_85xx=y +CONFIG_E500=y +CONFIG_FSL_SOC_BOOKE=y +CONFIG_MPC8540_ADS=y +CONFIG_MPC85xx_DS=y +CONFIG_PHYS_64BIT=y +CONFIG_SPE=y +CONFIG_PPC_UDBG_16550=y +CONFIG_DEFAULT_UIMAGE=y diff --git a/target/ppc/systems/qemu-ppc-mpc8544ds b/target/ppc/systems/qemu-ppc-mpc8544ds new file mode 100644 index 000000000..a71eb4639 --- /dev/null +++ b/target/ppc/systems/qemu-ppc-mpc8544ds @@ -0,0 +1,8 @@ +config ADK_TARGET_SYSTEM_QEMU_PPC_MPC8544DS + bool "Qemu Emulator (mpc8544ds)" + select ADK_TARGET_QEMU + select ADK_TARGET_CPU_PPC_8548 + select ADK_TARGET_KERNEL_WITH_COMPRESSION + help + Support for Qemu Emulator PPC architecture (mpc8544ds). + |