diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2011-09-05 11:43:44 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2011-09-05 11:43:44 +0200 |
commit | bae9b65aca99c5ae417a714dc3b2aff2b6dcbac5 (patch) | |
tree | f44bd8c26a934527264c329efba755d8aebb144c | |
parent | c98300f10374e5069c473a3a0387e674d939e8e0 (diff) | |
parent | 40c2b2f6a83e9cca14567e855fc75a8d1ef78f28 (diff) |
Merge branch 'master' of git+ssh://openadk.org/git/openadk
28 files changed, 2482 insertions, 9 deletions
@@ -24,6 +24,7 @@ config ADK_CHOOSE_TARGET_SYSTEM default y if ADK_CHOOSE_TARGET_SYSTEM_PPC64 default y if ADK_CHOOSE_TARGET_SYSTEM_SPARC default y if ADK_CHOOSE_TARGET_SYSTEM_SPARC64 + default y if ADK_CHOOSE_TARGET_SYSTEM_SH default y if ADK_CHOOSE_TARGET_SYSTEM_X86 default y if ADK_CHOOSE_TARGET_SYSTEM_X86_64 default n diff --git a/mk/image.mk b/mk/image.mk index 185164c22..78b18e716 100644 --- a/mk/image.mk +++ b/mk/image.mk @@ -95,7 +95,7 @@ ${BIN_DIR}/${INITRAMFS}: ${TARGET_DIR} cd ${TARGET_DIR}; find . | sed -n '/^\.\//s///p' | \ sed "s#\(.*\)#:0:0::::::\1#" | sort | \ ${TOOLS_DIR}/cpio -o -C512 -Hnewc -P | \ - lzma -9 >$@ 2>/dev/null + xz -C crc32 >$@ 2>/dev/null ${BUILD_DIR}/${INITRAMFS_PIGGYBACK}: ${TARGET_DIR} ${SED} 's/.*CONFIG_(BLK_DEV_INITRD|INITRAMFS_SOURCE).*//' \ diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 28fb34348..4cc7e970a 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -64,6 +64,9 @@ endif cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \ cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab +ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y) + $(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab +endif $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab test -z $(ADK_RUNTIME_HOSTNAME) || \ echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \ diff --git a/package/boost/Makefile b/package/boost/Makefile new file mode 100644 index 000000000..45c18e08e --- /dev/null +++ b/package/boost/Makefile @@ -0,0 +1,162 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include ${TOPDIR}/rules.mk + +PKG_NAME:= boost +PKG_VERSION:= 1_47_0 +PKG_RELEASE:= 1 +PKG_MD5SUM:= ff180a5276bec773a7625cac7e2288e8 +PKG_DESCR:= boost C++ library +PKG_SECTION:= libs +PKG_URL:= http://www.boost.org/ +PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=boost/} +DISTFILES:= boost_1_47_0.tar.gz +WRKDIST= ${WRKDIR}/${PKG_NAME}_${PKG_VERSION} + +PKG_SUBPKGS:= BOOST BOOST_DEV +PKGSD_BOOST_DEV:= boost header files +PKGSC_BOOST_DEV:= devel + +PKG_CHOICES_BOOST:= STATIC SHARED BOTH +PKGCD_STATIC:= install static libs +PKGCD_SHARED:= install shared libs +PKGCD_BOTH:= install static and shared libs + +PKG_FLAVOURS_BOOST:= date_time graph graph_parallel iostreams math program_options python regex serialization signals system test thread wave + +PKGFD_date_time:= with date-time +PKGFD_python:= with Python +PKGFB_python:= python +PKGFS_python:= python +PKGFD_iostreams:= with iostreams +PKGFD_graph:= with graph +PKGFD_graph_parallel:= with graph_parallel +PKGFD_math:= with math +PKGFD_program_options:= with program_options +PKGFD_regex:= with regex +PKGFD_serialization:= with serialization +PKGFD_signals:= with signals +PKGFD_system:= with system +PKGFD_test:= with test +PKGFD_thread:= with thread +PKGFD_wave:= with wave + +include ${TOPDIR}/mk/package.mk + +$(eval $(call PKG_template,BOOST,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,BOOST_DEV,boost-dev,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_BOOST_DEV},${PKGSC_BOOST_DEV})) + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual + +CONFIGURE_ARGS += \ + --target=$(GNU_TARGET_NAME) \ + --host=$(GNU_TARGET_NAME) \ + --build=$(GNU_HOST_NAME) \ + --prefix=${WRKINST}/usr \ + +ifneq (${ADK_PACKAGE_BOOST_IOSTREAMS},) + CONFIGURE_ARGS += -sNO_BZIP2=1 -sZLIB_INCLUDE=${STAGING_DIR}/usr/include -sZLIB_LIBPATH=${STAGING_DIR}/usr/lib +else + CONFIGURE_ARGS += --without-iostreams +endif +ifeq (${ADK_PACKAGE_BOOST_DATE_TIME},) + CONFIGURE_ARGS+=--without-date_time +endif +ifeq (${ADK_PACKAGE_BOOST_PYTHON},) + CONFIGURE_ARGS+=--without-python +endif +ifeq (${ADK_PACKAGE_BOOST_GRAPH},) + CONFIGURE_ARGS+=--without-graph +endif +ifeq (${ADK_PACKAGE_BOOST_math},) + CONFIGURE_ARGS+=--without-math +endif +ifeq (${ADK_PACKAGE_BOOST_PROGRAM_OPTIONS},) + CONFIGURE_ARGS+=--without-program_options +endif +ifeq (${ADK_PACKAGE_BOOST_REGEX},) + CONFIGURE_ARGS+=--without-regex +endif +ifeq (${ADK_PACKAGE_BOOST_SERIALIZATION},) + CONFIGURE_ARGS+=--without-serialization +endif +ifeq (${ADK_PACKAGE_BOOST_SIGNALS},) + CONFIGURE_ARGS+=--without-signals +endif +ifeq (${ADK_PACKAGE_BOOST_SYSTEM},) + CONFIGURE_ARGS+=--without-system +endif +ifeq (${ADK_PACKAGE_BOOST_TEST},) + CONFIGURE_ARGS+=--without-test +endif +ifeq (${ADK_PACKAGE_BOOST_THREAD},) + CONFIGURE_ARGS+=--without-thread +endif +ifeq (${ADK_PACKAGE_BOOST_WAVE},) + CONFIGURE_ARGS+=--without-wave +endif + +# some variables for build +GPP_PATH:= ${STAGING_HOST_DIR}/bin/${GNU_TARGET_NAME}-g++ +GPP_VERSION:= "`${GPP_PATH} -v 2>&1 | tail -1 | awk '{print $$3}'`" +BJAM_PATH:= "`find ${WRKBUILD} -type f -name "bjam"`" +PYTHON_PATH:= ${STAGING_TARGET_DIR}/usr/bin/python +PYTHON_INCLUDE:= "`find ${STAGING_TARGET_DIR}/usr/include/ -maxdepth 1 -type d -name "python*" | head -1`" +PYTHON_LIB:= "`find ${STAGING_TARGET_DIR}/usr/lib/ -maxdepth 1 -type d -name "python*" | head -1`" +USER_JAM:= ${WRKBUILD}/tools/build/v2/user-config.jam + +pre-build: + @echo "build bjam..." + cd $(WRKBUILD)/tools/build/v2/engine; ./build.sh gcc + +do-build: + @echo "build boost library..." +# remove exisiting using gcc line from user.jam + ${SED} "/^using gcc/d" ${USER_JAM} +# add using gcc line with determined options to user.jam + echo "using gcc : ${GPP_VERSION} : ${GPP_PATH} ;" >> ${USER_JAM}; + +# remove exisiting using python line from user.jam + ${SED} "/^using python/d" ${USER_JAM} +ifneq (${ADK_PACKAGE_BOOST_PYTHON},) +# add using python line with determined options to user.jam + echo "using python : ${PYTHON_VERSION} : ${PYTHON_PATH} : ${PYTHON_INCLUDE} : ${PYTHON_LIB} ;" >> ${USER_JAM}; +endif + +# run bjam to build boost + ( cd ${WRKBUILD}; \ + ${BJAM_PATH} \ + -sBUILD=release \ + --toolset=gcc-${GPP_VERSION} \ + --build-type=minimal \ + --layout=versioned \ + --disable-long-double \ + --without-mpi \ + ${CONFIGURE_ARGS} \ + install \ + ) + + +boost-install: + ${INSTALL_DIR} ${IDIR_BOOST}/usr/lib +ifneq (${ADK_PACKAGE_BOOST_SHARED},) + ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib +endif +ifneq (${ADK_PACKAGE_BOOST_STATIC},) + ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib +endif +ifneq (${ADK_PACKAGE_BOOST_BOTH},) + ${CP} ${WRKINST}/usr/lib/*.a ${IDIR_BOOST}/usr/lib + ${CP} ${WRKINST}/usr/lib/*.so* ${IDIR_BOOST}/usr/lib +endif + + +boost-dev-install: + ${INSTALL_DIR} ${IDIR_BOOST_DEV}/usr/include + ${CP} ${WRKINST}/usr/include/* ${IDIR_BOOST_DEV}/usr/include + + +include ${TOPDIR}/mk/pkg-bottom.mk diff --git a/package/libgcc/Makefile b/package/libgcc/Makefile index 55f9e5b90..353c5cc32 100644 --- a/package/libgcc/Makefile +++ b/package/libgcc/Makefile @@ -11,6 +11,8 @@ PKG_DFLT_LIBGCC:= y if !ADK_TOOLCHAIN_ONLY NO_DISTFILES:= 1 +PKG_ARCH_DEPENDS:= !sh + include ${TOPDIR}/mk/package.mk $(eval $(call PKG_template,LIBGCC,libgcc,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION},${PKG_OPTS})) diff --git a/scripts/create-image.sh b/scripts/create-image.sh index f3e03eced..2b5b34bc9 100755 --- a/scripts/create-image.sh +++ b/scripts/create-image.sh @@ -79,11 +79,13 @@ printf "Creating filesystem $filesystem\n" printf "Create partition and filesystem\n" $parted -s $1 mklabel msdos -$parted -s $1 mkpart primary ext2 0 98% +$parted -s $1 -- mkpart primary ext2 0 -0 $parted -s $1 set 1 boot on -dd if=$1 of=mbr bs=16384 count=1 2>/dev/null -dd if=$1 skip=16384 of=$1.new 2>/dev/null +offset=$(parted $1 unit b print | tail -2 | head -1 | cut -f 1 --delimit="B" | cut -c 9-) + +dd if=$1 of=mbr bs=$offset count=1 2>/dev/null +dd if=$1 skip=$offset of=$1.new 2>/dev/null if [ "$filesystem" = "ext2" -o "$filesystem" = "ext3" -o "$filesystem" = "ext4" ];then mkfsopts=-F @@ -105,7 +107,7 @@ rm mbr tmp=$(mktemp -d) -mount -o loop,offset=16384 -t $filesystem $1 $tmp +mount -o loop,offset=$offset -t $filesystem $1 $tmp if [ -z $initramfs ];then printf "Extracting install archive\n" diff --git a/target/arch.lst b/target/arch.lst index a5c2da7ec..b4eca2828 100644 --- a/target/arch.lst +++ b/target/arch.lst @@ -5,5 +5,6 @@ ppc ppc64 sparc sparc64 +sh x86 x86_64 diff --git a/target/arm/Makefile b/target/arm/Makefile index dbf955a81..50ea0b85a 100644 --- a/target/arm/Makefile +++ b/target/arm/Makefile @@ -7,9 +7,18 @@ include $(TOPDIR)/mk/modules.mk include $(TOPDIR)/mk/kernel-build.mk include $(TOPDIR)/mk/image.mk +ZKERNEL:=$(LINUX_DIR)/arch/arm/boot/zImage KERNEL:=$(LINUX_DIR)/vmlinux LOADADDR:=0x20008000 +ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_SPITZ),y) +MACH:=spitz +endif +ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y) +MACH:=versatilepb +NET:=-net user,hostfwd=tcp::2222-:22 -net nic,model=smc91c111 +endif + tools-compile: $(MAKE) -C ../tools/uboot-mkimage @@ -38,25 +47,44 @@ imageinstall: kernel-install $(BIN_DIR)/$(ROOTFSTARBALL) endif ifeq ($(ADK_TARGET_FS),archive) imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) @echo "Use following command to create a QEMU Image:" @echo "sudo ./scripts/create-image.sh -f $(ADK_TARGET_ROOTFS) qemu-${CPU_ARCH}.img $(BIN_DIR)/$(ROOTFSTARBALL)" @echo "Start qemu with following options:" - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img -append "root=/dev/hda1"' + @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL) -hda qemu-${CPU_ARCH}.img' +endif endif ifeq ($(ADK_TARGET_FS),initramfs) imageinstall: $(BIN_DIR)/$(INITRAMFS) +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}' - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' +endif endif ifeq ($(ADK_TARGET_FS),initramfs-piggyback) imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) + @cp $(ZKERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +else @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) +endif @echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_ARM),y) @echo "Start qemu with following command line:" - @echo 'qemu-system-arm -nographic -kernel $(BIN_DIR)/$(TARGET_KERNEL)' + @echo 'qemu-system-arm -M $(MACH) -nographic $(NET) -kernel $(BIN_DIR)/$(TARGET_KERNEL)' +endif endif diff --git a/target/arm/sys-available/qemu-arm b/target/arm/sys-available/qemu-arm new file mode 100644 index 000000000..1e62f2abb --- /dev/null +++ b/target/arm/sys-available/qemu-arm @@ -0,0 +1,10 @@ +config ADK_TARGET_SYSTEM_QEMU_ARM + bool "Qemu Emulator" + select ADK_arm + select ADK_qemu_arm + select ADK_little + select ADK_EABI + select ADK_TARGET_NO_FPU + select ADK_HARDWARE_QEMU + help + Support for Qemu Emulator (arm). diff --git a/target/config/Config.in b/target/config/Config.in index 382925436..a6719eb52 100644 --- a/target/config/Config.in +++ b/target/config/Config.in @@ -74,6 +74,29 @@ config ADK_TARGET_ABI_N64 endchoice # submodel support +# +choice +prompt "Qemu ARM Emulation" +depends on ADK_TARGET_SYSTEM_QEMU_ARM + +config ADK_TARGET_QEMU_ARM_MODEL_SPITZ + boolean "Xscale PXA270 Spitz PDA" + select ADK_KERNEL_ARCH_PXA + select ADK_KERNEL_PXA_SHARPSL + select ADK_KERNEL_MACH_SPITZ + select ADK_KERNEL_SPI_PXA2XX + +config ADK_TARGET_QEMU_ARM_MODEL_VERSATILE + boolean "ARM Ltd. Versatile" + select ADK_KERNEL_ARCH_VERSATILE + select ADK_KERNEL_PCI + select ADK_KERNEL_BLOCK + select ADK_KERNEL_SCSI + select ADK_KERNEL_BLK_DEV_SD + select ADK_KERNEL_SCSI_SYM53C8XX_2 + +endchoice + choice prompt "Foxboard LX Model" depends on ADK_TARGET_SYSTEM_FOXBOARD_LX @@ -241,6 +264,9 @@ config ADK_CPU_CRIS_V10 config ADK_CPU_CRIS_V32 boolean +config ADK_CPU_SH4 + boolean + config ADK_CPU_SPARC_V8 boolean @@ -300,6 +326,7 @@ config ADK_TARGET_CPU_ARCH default "arm" if ADK_LINUX_ARM && ADK_little default "armeb" if ADK_LINUX_ARM && ADK_big default "sparc" if ADK_LINUX_SPARC + default "sh" if ADK_LINUX_SH default "cris" if ADK_CPU_CRIS_V10 default "crisv32" if ADK_CPU_CRIS_V32 default "ppc" if ADK_CPU_PPC @@ -343,10 +370,14 @@ config ADK_TARGET_CMDLINE default "console=ttyS0,115200 console=tty0 geodewdt.nowayout=1" if ADK_TARGET_SYSTEM_PCENGINES_ALIX1C default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_IBM_X40 default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_INTEL_ATOM - default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_X86 + default "console=ttyS0,115200 console=tty0" if ADK_TARGET_SYSTEM_QEMU_I686 + default "console=ttyS0,115200 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_SPITZ + default "console=ttyAMA0 console=tty0" if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE + default "console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D13 default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_PCENGINES_ALIX2D2 default "console=ttyS0,115200" if ADK_TARGET_SYSTEM_FOXBOARD_LX + default "console=tty0" if ADK_TARGET_SYSTEM_QEMU_SH default "" # c library @@ -457,6 +488,7 @@ config ADK_TARGET_ROOTFS_INITRAMFS ADK_LINUX_X86_64 || \ ADK_LINUX_NATIVE select ADK_KERNEL_BLK_DEV_INITRD + select ADK_KERNEL_RD_XZ help create an read-only initramfs system. @@ -501,6 +533,7 @@ config ADK_TARGET_ROOTFS_NFSROOT select ADK_KERNEL_NFS_COMMON select ADK_KERNEL_IP_PNP select ADK_KERNEL_IP_PNP_DHCP + depends on !ADK_HARDWARE_QEMU help Root filesystem mounted via NFS. (DHCP) diff --git a/target/config/Config.in.arch.choice b/target/config/Config.in.arch.choice index 092a0297d..380f84b5d 100644 --- a/target/config/Config.in.arch.choice +++ b/target/config/Config.in.arch.choice @@ -56,6 +56,12 @@ config ADK_LINUX_SPARC64 help Support for sparc64 systems. +config ADK_LINUX_SH + bool "superh system" + select ADK_sh + help + Support for superh systems. + config ADK_LINUX_X86 bool "x86 system" select ADK_x86 diff --git a/target/config/Config.in.arch.default b/target/config/Config.in.arch.default index cbe8b6ddc..5590b2bbd 100644 --- a/target/config/Config.in.arch.default +++ b/target/config/Config.in.arch.default @@ -35,6 +35,9 @@ config ADK_sparc config ADK_sparc64 bool +config ADK_sh + bool + config ADK_x86_64 bool @@ -54,6 +57,7 @@ config ADK_TARGET_ARCH default "ppc64" if ADK_ppc64 default "sparc" if ADK_sparc default "sparc64" if ADK_sparc64 + default "sh" if ADK_sh default "x86" if ADK_x86 default "x86_64" if ADK_x86_64 default "native" if ADK_native diff --git a/target/config/Config.in.system.choice b/target/config/Config.in.system.choice index 597d8054a..222b28aba 100644 --- a/target/config/Config.in.system.choice +++ b/target/config/Config.in.system.choice @@ -5,5 +5,6 @@ source "target/ppc/Config.in" source "target/ppc64/Config.in" source "target/sparc/Config.in" source "target/sparc64/Config.in" +source "target/sh/Config.in" source "target/x86/Config.in" source "target/x86_64/Config.in" diff --git a/target/linux/Config.in b/target/linux/Config.in index 7b52a3003..1b78cecb5 100644 --- a/target/linux/Config.in +++ b/target/linux/Config.in @@ -20,6 +20,7 @@ source target/linux/config/Config.in.misc source target/linux/config/Config.in.mips source target/linux/config/Config.in.lib source target/linux/config/Config.in.pm +source target/linux/config/Config.in.serial source target/linux/config/Config.in.spi source target/linux/config/Config.in.kvm source target/linux/config/Config.in.debug diff --git a/target/linux/config/Config.in.block b/target/linux/config/Config.in.block index fdafb06b0..fe4c0a9c8 100644 --- a/target/linux/config/Config.in.block +++ b/target/linux/config/Config.in.block @@ -62,6 +62,9 @@ config ADK_KERNEL_MMC config ADK_KERNEL_MMC_BLOCK boolean +config ADK_KERNEL_SCSI_SYM53C8XX_2 + boolean + config ADK_KERNEL_MMC_AT91 boolean select ADK_KERNEL_BLOCK diff --git a/target/linux/config/Config.in.kernel b/target/linux/config/Config.in.kernel index 696f7afc9..1791a624a 100644 --- a/target/linux/config/Config.in.kernel +++ b/target/linux/config/Config.in.kernel @@ -85,3 +85,6 @@ config ADK_KERNEL_NFS_COMMON config ADK_KERNEL_SUNRPC boolean + +config ADK_KERNEL_PCI + boolean diff --git a/target/linux/config/Config.in.netdevice b/target/linux/config/Config.in.netdevice index 2f9b87200..b615156f9 100644 --- a/target/linux/config/Config.in.netdevice +++ b/target/linux/config/Config.in.netdevice @@ -22,6 +22,16 @@ config ADK_KERNEL_NETDEV_1000 config ADK_KERNEL_VIA_RHINE_MMIO boolean +config ADK_KERNEL_SMC91X + boolean + select ADK_KERNEL_NETDEVICES + select ADK_KERNEL_NET_ETHERNET + select ADK_KERNEL_NET_PCI + select ADK_KERNEL_MII + default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE + default n + help + config ADK_KERNEL_CPMAC boolean select ADK_KERNEL_NETDEVICES diff --git a/target/linux/config/Config.in.serial b/target/linux/config/Config.in.serial new file mode 100644 index 000000000..adc25312d --- /dev/null +++ b/target/linux/config/Config.in.serial @@ -0,0 +1,15 @@ +config ADK_KERNEL_SERIAL_PXA + boolean + default y if ADK_TARGET_QEMU_ARM_MODEL_SPITZ + +config ADK_KERNEL_SERIAL_PXA_CONSOLE + boolean + default y if ADK_TARGET_QEMU_ARM_MODEL_SPITZ + +config ADK_KERNEL_SERIAL_AMBA_PL011 + boolean + default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE + +config ADK_KERNEL_SERIAL_AMBA_PL011_CONSOLE + boolean + default y if ADK_TARGET_QEMU_ARM_MODEL_VERSATILE diff --git a/target/linux/config/Config.in.spi b/target/linux/config/Config.in.spi index a141f8231..73db5e86d 100644 --- a/target/linux/config/Config.in.spi +++ b/target/linux/config/Config.in.spi @@ -12,3 +12,7 @@ config ADK_KERNEL_SPI_RB4XX config ADK_KERNEL_SPI_RB4XX_CPLD select ADK_KERNEL_SPI boolean + +config ADK_KERNEL_SPI_PXA2XX + select ADK_KERNEL_SPI + boolean diff --git a/target/linux/config/Config.in.systems b/target/linux/config/Config.in.systems index 5c420eb2b..3e64caddc 100644 --- a/target/linux/config/Config.in.systems +++ b/target/linux/config/Config.in.systems @@ -35,6 +35,18 @@ config ADK_KERNEL_LEMOTE_MACH2F boolean # arm systems +config ADK_KERNEL_ARCH_VERSATILE + boolean + +config ADK_KERNEL_ARCH_PXA + boolean + +config ADK_KERNEL_PXA_SHARPSL + boolean + +config ADK_KERNEL_MACH_SPITZ + boolean + config ADK_KERNEL_ARCH_AT91 boolean diff --git a/target/sh/Config.in b/target/sh/Config.in new file mode 100644 index 000000000..4dfe7ba09 --- /dev/null +++ b/target/sh/Config.in @@ -0,0 +1,9 @@ +choice +depends on ADK_LINUX_SH && !ADK_CHOOSE_TARGET_ARCH +prompt "Target system" + +config ADK_CHOOSE_TARGET_SYSTEM_SH + boolean "Choose target system" + +source "target/sh/Config.in.systems" +endchoice diff --git a/target/sh/Makefile b/target/sh/Makefile new file mode 100644 index 000000000..63a237839 --- /dev/null +++ b/target/sh/Makefile @@ -0,0 +1,36 @@ +# This file is part of the OpenADK project. OpenADK is copyrighted +# material, please see the LICENCE file in the top-level directory. + +include $(TOPDIR)/rules.mk +include $(TOPDIR)/mk/kernel.mk +include $(TOPDIR)/mk/modules.mk +include $(TOPDIR)/mk/kernel-build.mk +include $(TOPDIR)/mk/image.mk + +KERNEL:=$(LINUX_DIR)/arch/sh/boot/zImage + +ifeq ($(ADK_TARGET_FS),archive) +imageinstall: $(BIN_DIR)/$(ROOTFSTARBALL) + @cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL} + @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' + @echo "The RootFS tarball is: $(BIN_DIR)/$(ROOTFSTARBALL)" +endif +ifeq ($(ADK_TARGET_FS),initramfs) +imageinstall: $(BIN_DIR)/$(INITRAMFS) + @cp $(KERNEL) $(BIN_DIR)/$(TARGET_KERNEL) + @echo 'The kernel file is: $(BIN_DIR)/${TARGET_KERNEL}' + @echo 'The initramfs image is: ${BIN_DIR}/${INITRAMFS}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-sh4 -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL) -initrd ${BIN_DIR}/${INITRAMFS}' +endif +endif +ifeq ($(ADK_TARGET_FS),initramfs-piggyback) +imageinstall: ${BUILD_DIR}/${INITRAMFS_PIGGYBACK} createinitramfs + @cp $(KERNEL) $(BIN_DIR)/${TARGET_KERNEL} + @echo 'The kernel+initramfs file is: $(BIN_DIR)/${TARGET_KERNEL}' +ifeq ($(ADK_TARGET_SYSTEM_QEMU_SH),y) + @echo "Start qemu with following command line:" + @echo 'qemu-system-sh4 -M r2d -kernel $(BIN_DIR)/$(TARGET_KERNEL)' +endif +endif diff --git a/target/sh/kernel.config b/target/sh/kernel.config new file mode 100644 index 000000000..a1578e62b --- /dev/null +++ b/target/sh/kernel.config @@ -0,0 +1,1817 @@ +# +# Automatically generated make config: don't edit +# Linux/sh 2.6.39 Kernel Configuration +# Fri Sep 2 16:00:15 2011 +# +CONFIG_SUPERH=y +CONFIG_SUPERH32=y +# CONFIG_SUPERH64 is not set +CONFIG_ARCH_DEFCONFIG="arch/sh/configs/shx3_defconfig" +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_FIND_BIT_LE=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_IRQ_PER_CPU=y +# CONFIG_GENERIC_GPIO is not set +CONFIG_GENERIC_CLOCKEVENTS=y +# CONFIG_ARCH_SUSPEND_POSSIBLE is not set +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_SYS_SUPPORTS_HUGETLBFS=y +CONFIG_SYS_SUPPORTS_PCI=y +CONFIG_SYS_SUPPORTS_TMU=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_HAVE_LATENCYTOP_SUPPORT=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_ARCH_NO_VIRT_TO_BUS=y +CONFIG_ARCH_HAS_DEFAULT_IDLE=y +CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y +# CONFIG_NO_IOPORT is not set +CONFIG_IO_TRAPPED=y +CONFIG_DMA_NONCOHERENT=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" +CONFIG_CONSTRUCTORS=y +CONFIG_HAVE_IRQ_WORK=y +CONFIG_IRQ_WORK=y + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_CROSS_COMPILE="" +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_KERNEL_GZIP=y +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_XZ is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_FHANDLE is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +CONFIG_HAVE_GENERIC_HARDIRQS=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_HARDIRQS=y +CONFIG_HAVE_SPARSE_IRQ=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_SPARSE_IRQ=y + +# +# RCU Subsystem +# +CONFIG_TINY_RCU=y +# CONFIG_PREEMPT_RCU is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_TREE_RCU_TRACE is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_CGROUPS is not set +# CONFIG_NAMESPACES is not set +# CONFIG_SCHED_AUTOGROUP is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +# CONFIG_RELAY is not set +# CONFIG_BLK_DEV_INITRD is not set +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SYSCTL=y +CONFIG_ANON_INODES=y +CONFIG_EXPERT=y +CONFIG_UID16=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_EMBEDDED=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_PERF_USE_VMALLOC=y + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_PERF_COUNTERS is not set +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_PCI_QUIRKS=y +CONFIG_COMPAT_BRK=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +CONFIG_PROFILING=y +CONFIG_OPROFILE=y +CONFIG_HAVE_OPROFILE=y +# CONFIG_KPROBES is not set +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_ATTRS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_DMA_API_DEBUG=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_HAVE_GENERIC_DMA_COHERENT=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_UNLOAD is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_BLOCK=y +CONFIG_LBDAF=y +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_BLK_DEV_INTEGRITY is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +# CONFIG_INLINE_SPIN_TRYLOCK is not set +# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK is not set +# CONFIG_INLINE_SPIN_LOCK_BH is not set +# CONFIG_INLINE_SPIN_LOCK_IRQ is not set +# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set +CONFIG_INLINE_SPIN_UNLOCK=y +# CONFIG_INLINE_SPIN_UNLOCK_BH is not set +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +# CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set +# CONFIG_INLINE_READ_TRYLOCK is |