diff options
241 files changed, 4241 insertions, 5988 deletions
@@ -1,3 +1,75 @@ +2016.11, Released November 30th, 2016 + + Minor fixes. + + Updated/fixed packages: bzip2, gcc, jasper, sane-backends, + uboot, uclibc + + Issues resolved (http://bugs.buildroot.org): + + #9451: packages/postgresql/postgresql.mk contains wrong POST... + +2016.11-rc3, Released November 28th, 2016 + + Fixes all over the tree, including a number of security fixes. + + The move from fakeroot to pseudo unfortunately brought a + number of issues. The SELinux issue described in #9386 which + triggered the move to pseudo has been investigated further and + a workaround implemented and the pseudo changes reverted. + + Linux kernel: update default to 4.8.11. + + Defconfigs: Updates/fixes for imx28ek, mx6udoo, imx6ulpico, + olimex a20 olinuxino lime mali, roseapplepi, synopsis aarch64 + vdk, axs101, axs103 and hs38 smd vdk. + + Updated/fixed packages: autossh, chrony, dosfstools, + dtv-scan-tables, e2fsprogs, gcc, gdb, gnuchess, gnuradio, + gpsd, gst1-plugins-bad, gst1-plugins-good, imagemagick, + kvm-unit-tests, libfribi, libuv, mesa3d, mpfr, mplayer, mpv, + ntp, ola, olsr, openblas, openjpeg, openssh, postgresql, + ptpd2python3, qemu, qextserialport, qt5base, quagga, xqwt, + taskd, tiff, tremor, trousers, udisks, uclibc, wireshark, + xapp_xload, xenomai, xmlstarlet + + Issues resolved (http://bugs.buildroot.org): + + #9386: ubinize fails with or without custom config + #9431: A misspelling + #9446: make raspberrypi3_defconfig compilation failure + +2016.11-rc2, Released November 13th, 2016 + + Fixes all over the tree. + + Architecture: add support for MIPS XBurst cores; remove MIPS + support for M5100 cores. + + Updated/fixed packages: mesa3d, lttng-babeltrace, tinyalsa, pseudo, + czmq, libxml2, makedevs, binutils, kvm-unit-tests, libnss, privoxy, + qemu, ser2net, net-tools, ffmpeg, assimp, libmpeg2, ccache, mpv, + libxslt, python, python3, php, valgrind, guile, domoticz, efl, + jasper, kvmtool, go, wget, sane-backends, weston, tinymembench, + strace, openjpeg, lcms2, quota. + + Linux kernel: update default to 4.8.7. + + CMake support: fix cmake wrapper to properly pass NDEBUG flag. + + Filesystems: use a wrapper to pseudo, to better mimick the behaviour + of fakeroot; makedevs no longer breaks of the destination already + exists and is of the correct type/major/minor. + + Defconfigs: a few legacy and broken defconfigs have been removed + because they now fail to build: kb9202_defconfig, mini2440_defconfig, + freescale_p2020ds, qmx6, calao*, atmel_sama5d4ek. Other defconfigs + have been updated: nanopi-neo, olimex_a20_olinuxino_lime_mali, + armadeus_apf51, armadeus_apf28, freescale_imx31_3stack, ci20, + olimex_a20_olinuxino_lime2, atmel_at91sam9260eknf, + atmel_at91sam9rlek, atmel_at91sam9g20dfc, atmel_at91sam9g45m10ek, + atmel_sama5d3xek. + 2016.11-rc1, Released November 3rd, 2016 Fixes all over the tree and new features. diff --git a/DEVELOPERS b/DEVELOPERS index 77e71b0d47..684be4866c 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -338,6 +338,7 @@ N: Cédric Chépied <cedric.chepied@gmail.com> F: package/znc/ N: Cyril Bur <cyrilbur@gmail.com> +F: arch/Config.in.powerpc F: package/kvm-unit-tests N: Dagg Stompler <daggs@gmx.com> @@ -568,14 +569,6 @@ F: package/libsrtp/ F: package/libwebsock/ F: package/sofia-sip/ -N: Gregory Hermant <gregory.hermant@calao-systems.com> -F: package/bcusdk/ -F: package/dfu-util/ -F: package/libpthsem/ -F: package/linknx/ -F: package/snowball-hdmiservice/ -F: package/ux500-firmware/ - N: Guillaume Gardet <guillaume.gardet@oliseo.fr> F: package/c-icap/ F: package/c-icap-modules/ @@ -1651,6 +1644,7 @@ F: package/modem-manager/ F: package/nuttcp/ F: package/parted/ F: package/python* +F: package/ser2net/ F: package/socketcand/ F: package/qt5/qt5serialbus/ F: package/sdparm/ @@ -86,7 +86,7 @@ else # umask / $(CURDIR) / $(O) all: # Set and export the version string -export BR2_VERSION := 2016.11-rc1 +export BR2_VERSION := 2017.02-git # Actual time the release is cut (for reproducible builds) BR2_VERSION_EPOCH = 1478206447 @@ -653,7 +653,7 @@ target-finalize: $(PACKAGES) $(TARGET_DIR)/usr/lib/pkgconfig $(TARGET_DIR)/usr/share/pkgconfig \ $(TARGET_DIR)/usr/lib/cmake $(TARGET_DIR)/usr/share/cmake find $(TARGET_DIR)/usr/{lib,share}/ -name '*.cmake' -print0 | xargs -0 rm -f - find $(TARGET_DIR)/lib $(TARGET_DIR)/usr/lib $(TARGET_DIR)/usr/libexec \ + find $(TARGET_DIR)/lib/ $(TARGET_DIR)/usr/lib/ $(TARGET_DIR)/usr/libexec/ \ \( -name '*.a' -o -name '*.la' \) -print0 | xargs -0 rm -f ifneq ($(BR2_PACKAGE_GDB),y) rm -rf $(TARGET_DIR)/usr/share/gdb @@ -675,13 +675,13 @@ endif # besides the one in which crash occurred; or SIGTRAP kills my program when # I set a breakpoint" ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) - find $(TARGET_DIR)/lib -type f -name 'libpthread*.so*' | \ + find $(TARGET_DIR)/lib/ -type f -name 'libpthread*.so*' | \ xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) endif # Valgrind needs ld.so with enough information, so only strip # debugging symbols. - find $(TARGET_DIR)/lib -type f -name 'ld-*.so*' | \ + find $(TARGET_DIR)/lib/ -type f -name 'ld-*.so*' | \ xargs -r $(STRIPCMD) $(STRIP_STRIP_DEBUG) test -f $(TARGET_DIR)/etc/ld.so.conf && \ { echo "ERROR: we shouldn't have a /etc/ld.so.conf file"; exit 1; } || true @@ -940,7 +940,7 @@ clean: $(LEGAL_INFO_DIR) $(GRAPHS_DIR) distclean: clean -ifeq ($(O),output) +ifeq ($(O),$(CURDIR)/output) rm -rf $(O) endif rm -rf $(TOPDIR)/dl $(BR2_CONFIG) $(CONFIG_DIR)/.config.old $(CONFIG_DIR)/..config.tmp \ diff --git a/arch/Config.in.mips b/arch/Config.in.mips index 3662fedca8..ce41e9e725 100644 --- a/arch/Config.in.mips +++ b/arch/Config.in.mips @@ -47,22 +47,31 @@ config BR2_mips_interaptiv bool "interAptiv" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R2 -config BR2_mips_m5100 - bool "M5100" +config BR2_mips_m5150 + bool "M5150" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 -config BR2_mips_m5101 - bool "M5101" - depends on !BR2_ARCH_IS_64 - select BR2_MIPS_CPU_MIPS32R5 -config BR2_mips_m6201 - bool "M6201" +config BR2_mips_m6250 + bool "M6250" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R6 config BR2_mips_p5600 bool "P5600" depends on !BR2_ARCH_IS_64 select BR2_MIPS_CPU_MIPS32R5 +config BR2_mips_xburst + bool "XBurst" + depends on !BR2_ARCH_IS_64 + select BR2_MIPS_CPU_MIPS32R2 + help + The Ingenic XBurst is a MIPS32R2 microprocessor. It has a + bug in the FPU that can generate incorrect results in + certain cases. The problem shows up when you have several + fused madd instructions in sequence with dependant + operands. This requires the -mno-fused-madd compiler option + to be used in order to prevent emitting these instructions. + + See http://www.ingenic.com/en/?xburst.html config BR2_mips_64 bool "Generic MIPS64" depends on BR2_ARCH_IS_64 @@ -133,10 +142,10 @@ config BR2_GCC_TARGET_ARCH default "mips32r5" if BR2_mips_32r5 default "mips32r6" if BR2_mips_32r6 default "interaptiv" if BR2_mips_interaptiv - default "m5100" if BR2_mips_m5100 - default "m5101" if BR2_mips_m5101 - default "m6201" if BR2_mips_m6201 + default "m5101" if BR2_mips_m5150 + default "m6201" if BR2_mips_m6250 default "p5600" if BR2_mips_p5600 + default "mips32r2" if BR2_mips_xburst default "mips64" if BR2_mips_64 default "mips64r2" if BR2_mips_64r2 default "mips64r5" if BR2_mips_64r5 diff --git a/board/armadeus/apf51/linux-3.12.config b/board/armadeus/apf51/linux-4.4.config index 6c461b6f0d..6957b635a1 100644 --- a/board/armadeus/apf51/linux-3.12.config +++ b/board/armadeus/apf51/linux-4.4.config @@ -20,7 +20,7 @@ CONFIG_BSD_DISKLABEL=y # CONFIG_IOSCHED_CFQ is not set CONFIG_ARCH_MXC=y CONFIG_MXC_IRQ_PRIOR=y -CONFIG_MACH_IMX51_DT=y +CONFIG_SOC_IMX51=y CONFIG_ARM_THUMBEE=y CONFIG_PREEMPT=y CONFIG_AEABI=y @@ -111,7 +111,9 @@ CONFIG_KEYBOARD_GPIO=m CONFIG_KEYBOARD_IMX=m CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_WM831X=y +CONFIG_TOUCHSCREEN_MC13XXX=m CONFIG_INPUT_MISC=y +CONFIG_INPUT_MC13783_PWRBUTTON=m CONFIG_INPUT_UINPUT=m CONFIG_INPUT_WM831X_ON=y # CONFIG_LEGACY_PTYS is not set @@ -127,19 +129,24 @@ CONFIG_SPI_IMX=y CONFIG_SPI_SPIDEV=m CONFIG_GPIO_SYSFS=y CONFIG_GPIO_WM831X=m -CONFIG_POWER_SUPPLY=m +CONFIG_POWER_SUPPLY=y CONFIG_WM831X_BACKUP=m CONFIG_WM831X_POWER=m CONFIG_HWMON=m CONFIG_SENSORS_AS1531=m +CONFIG_SENSORS_MC13783_ADC=m CONFIG_SENSORS_WM831X=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_NOWAYOUT=y CONFIG_WM831X_WATCHDOG=m CONFIG_IMX2_WDT=y +CONFIG_MFD_MC13XXX_I2C=y CONFIG_MFD_WM831X_I2C=y CONFIG_REGULATOR=y CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_MC13892=m +CONFIG_IMX_IPUV3_CORE=y +CONFIG_DRM=y CONFIG_MFD_IMX_IPU_V3=y CONFIG_MEDIA_SUPPORT=m CONFIG_VIDEO_DEV=m @@ -203,12 +210,13 @@ CONFIG_USB_PRINTER=y CONFIG_USB_WDM=y CONFIG_USB_STORAGE=y CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_HOST=y CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=y CONFIG_USB_GPIO_VBUS=y CONFIG_USB_ULPI=y -CONFIG_USB_GADGET=m +CONFIG_USB_GADGET=y CONFIG_USB_GADGET_DEBUG_FILES=y CONFIG_USB_GADGET_DEBUG_FS=y CONFIG_USB_ETH=m @@ -227,12 +235,19 @@ CONFIG_NEW_LEDS=y CONFIG_LEDS_CLASS=y CONFIG_LEDS_GPIO=y CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_MC13783=m CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_HEARTBEAT=y CONFIG_RTC_CLASS=y CONFIG_RTC_MXC=y CONFIG_RTC_DRV_WM831X=y +CONFIG_RTC_DRV_MC13XXX=m CONFIG_STAGING=y +CONFIG_DRM_IMX=y +CONFIG_DRM_IMX_FB_HELPER=y +CONFIG_DRM_IMX_PARALLEL_DISPLAY=y +CONFIG_DRM_IMX_TVE=y +CONFIG_DRM_IMX_IPUV3=y CONFIG_IIO=m CONFIG_EXT2_FS=y CONFIG_EXT2_FS_XATTR=y @@ -242,6 +257,7 @@ CONFIG_EXT2_FS_XIP=y CONFIG_EXT3_FS=y CONFIG_EXT3_FS_POSIX_ACL=y CONFIG_EXT3_FS_SECURITY=y +CONFIG_EXT4_FS=y CONFIG_AUTOFS4_FS=y CONFIG_ISO9660_FS=y CONFIG_JOLIET=y @@ -249,10 +265,6 @@ CONFIG_ZISOFS=y CONFIG_MSDOS_FS=y CONFIG_VFAT_FS=y CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_COMPRESSION_OPTIONS=y -CONFIG_JFFS2_LZO=y -CONFIG_JFFS2_CMODE_NONE=y CONFIG_UBIFS_FS=y CONFIG_NFS_FS=y CONFIG_NFS_V3=y diff --git a/board/atmel/at91sam9260ek/linux-3.9.config b/board/atmel/at91sam9260ek/linux-3.9.config deleted file mode 100644 index 48dc656f4a..0000000000 --- a/board/atmel/at91sam9260ek/linux-3.9.config +++ /dev/null @@ -1,98 +0,0 @@ -CONFIG_EXPERIMENTAL=y -# CONFIG_LOCALVERSION_AUTO is not set -CONFIG_KERNEL_LZO=y -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_BLK_DEV_INITRD=y -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91SAM9260=y -CONFIG_ARCH_AT91SAM9260_SAM9XE=y -CONFIG_MACH_AT91SAM9260EK=y -CONFIG_MACH_CAM60=y -CONFIG_MACH_SAM9_L9260=y -CONFIG_MACH_AFEB9260=y -CONFIG_MACH_USB_A9260=y -CONFIG_MACH_QIL_A9260=y -CONFIG_MACH_CPU9260=y -CONFIG_MACH_FLEXIBITY=y -CONFIG_MACH_SNAPPER_9260=y -CONFIG_MACH_AT91SAM_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y -# CONFIG_ARM_THUMB is not set -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_ARM_APPENDED_DTB=y -CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_CMDLINE="mem=64M console=ttyS0,115200 initrd=0x21100000,3145728 root=/dev/ram0 rw" -CONFIG_FPE_NWFPE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_IPV6 is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_UBI=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_SIZE=8192 -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -# CONFIG_HW_RANDOM is not set -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_GPIO=y -# CONFIG_HWMON is not set -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y -CONFIG_AT91SAM9X_WATCHDOG=y -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_DEVICEFS=y -CONFIG_USB_MON=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_STORAGE_DEBUG=y -CONFIG_USB_GADGET=y -CONFIG_USB_ZERO=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_MASS_STORAGE=m -CONFIG_USB_G_SERIAL=m -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_AT91SAM9=y -CONFIG_EXT2_FS=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_UBIFS_FS=y -CONFIG_CRAMFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_LL=y diff --git a/board/atmel/readme.txt b/board/atmel/readme.txt index 3a79e57c33..0b6634687e 100644 --- a/board/atmel/readme.txt +++ b/board/atmel/readme.txt @@ -13,7 +13,6 @@ This guide covers the following configurations: - atmel_sama5d3_xplained_dev_defconfig - atmel_sama5d3_xplained_mmc_defconfig - atmel_sama5d3_xplained_mmc_dev_defconfig - - atmel_sama5d4ek_defconfig - atmel_sama5d4_xplained_defconfig - atmel_sama5d4_xplained_dev_defconfig - atmel_sama5d4_xplained_mmc_defconfig diff --git a/board/atmel/sama5d2_xplained_mmc/genimage.cfg b/board/atmel/sama5d2_xplained_mmc/genimage.cfg index b0ba22dbb2..d3b7af5b5c 100644 --- a/board/atmel/sama5d2_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d2_xplained_mmc/genimage.cfg @@ -23,6 +23,7 @@ image sdcard.img { partition-type = 0xC bootable = "true" image = "boot.vfat" + offset = 1M } partition rootfs { diff --git a/board/atmel/sama5d3_xplained_mmc/genimage.cfg b/board/atmel/sama5d3_xplained_mmc/genimage.cfg index 32df453b01..277ce5f9c9 100644 --- a/board/atmel/sama5d3_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d3_xplained_mmc/genimage.cfg @@ -23,6 +23,7 @@ image sdcard.img { partition-type = 0xC bootable = "true" image = "boot.vfat" + offset = 1M } partition rootfs { diff --git a/board/atmel/sama5d4_xplained_mmc/genimage.cfg b/board/atmel/sama5d4_xplained_mmc/genimage.cfg index b23ebe470a..70bb3e4ff0 100644 --- a/board/atmel/sama5d4_xplained_mmc/genimage.cfg +++ b/board/atmel/sama5d4_xplained_mmc/genimage.cfg @@ -24,6 +24,7 @@ image sdcard.img { partition-type = 0xC bootable = "true" image = "boot.vfat" + offset = 1M } partition rootfs { diff --git a/board/boundarydevices/common/6x_bootscript.txt b/board/boundarydevices/common/6x_bootscript.txt index e8a08aa8ae..2fc687aff4 100644 --- a/board/boundarydevices/common/6x_bootscript.txt +++ b/board/boundarydevices/common/6x_bootscript.txt @@ -92,14 +92,12 @@ fi setenv bootargs "${bootargs} console=${console},115200 vmalloc=400M consoleblank=0 rootwait fixrtc" -bpart=1 - if test "sata" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bpart}" ; + setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; elif test "usb" = "${dtype}" ; then - setenv bootargs "${bootargs} root=/dev/sda${bpart}" ; + setenv bootargs "${bootargs} root=/dev/sda${bootpart}" ; else - setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bpart}" + setenv bootargs "${bootargs} root=/dev/mmcblk${disk}p${bootpart}" fi if itest.s "x" != "x${disable_giga}" ; then diff --git a/board/calao/qil-a9260/linux-3.4.7.config b/board/calao/qil-a9260/linux-3.4.7.config deleted file mode 100644 index 105d76006a..0000000000 --- a/board/calao/qil-a9260/linux-3.4.7.config +++ /dev/null @@ -1,111 +0,0 @@ -CONFIG_EXPERIMENTAL=y -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91SAM9260=y -CONFIG_MACH_QIL_A9260=y -CONFIG_AT91_SLOW_CLOCK=y -CONFIG_AT91_EARLY_USART0=y -# CONFIG_ARM_THUMB is not set -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="mem=64M console=ttyS1,115200" -CONFIG_FPE_NWFPE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_IP_MROUTE=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -# CONFIG_IPV6 is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y -CONFIG_MTD_UBI=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_EVBUG=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_SPI=y -CONFIG_SPI_ATMEL=y -# CONFIG_HWMON is not set -CONFIG_WATCHDOG=y -CONFIG_WATCHDOG_NOWAYOUT=y -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_DEVICEFS=y -CONFIG_USB_MON=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_MMC=y -CONFIG_MMC_AT91=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_M41T94=y -CONFIG_EXT2_FS=y -CONFIG_FUSE_FS=m -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_XATTR=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_LL=y diff --git a/board/calao/qil-a9260/patches/at91bootstrap/0001-qil-a9260.patch b/board/calao/qil-a9260/patches/at91bootstrap/0001-qil-a9260.patch deleted file mode 100644 index eb9de2a15e..0000000000 --- a/board/calao/qil-a9260/patches/at91bootstrap/0001-qil-a9260.patch +++ /dev/null @@ -1,603 +0,0 @@ -From a3e08beea8bf5e96e1237eef4a82f4a2fdd5286b Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Thu, 19 Jul 2012 14:19:59 +0200 -Subject: [PATCH] Add support for the Calao-systems QIL-A9260 - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - board/qil_a9260/nandflash/Makefile | 122 ++++++++++++++ - board/qil_a9260/nandflash/qil-a9260.h | 109 ++++++++++++ - board/qil_a9260/qil_a9260.c | 298 +++++++++++++++++++++++++++++++++ - crt0_gnu.S | 7 + - include/part.h | 6 +- - 5 files changed, 541 insertions(+), 1 deletions(-) - create mode 100644 board/qil_a9260/nandflash/Makefile - create mode 100644 board/qil_a9260/nandflash/qil-a9260.h - create mode 100644 board/qil_a9260/qil_a9260.c - -diff --git a/board/qil_a9260/nandflash/Makefile b/board/qil_a9260/nandflash/Makefile -new file mode 100644 -index 0000000..209a25f ---- /dev/null -+++ b/board/qil_a9260/nandflash/Makefile -@@ -0,0 +1,122 @@ -+# TODO: set this appropriately for your local toolchain -+ifndef ERASE_FCT -+ERASE_FCT=rm -f -+endif -+ifndef CROSS_COMPILE -+CROSS_COMPILE=arm-elf- -+endif -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# NandFlashBoot Configuration for QIL-A9260 -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9260 -+# Board name (case sensitive!!!) -+BOARD=qil_a9260 -+# Link Address and Top_of_Memory -+LINK_ADDR=0x200000 -+TOP_OF_MEMORY=0x301000 -+# Name of current directory -+PROJECT=nandflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ nandflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ $(ERASE_FCT) *.o *.bin *.elf *.map -diff --git a/board/qil_a9260/nandflash/qil-a9260.h b/board/qil_a9260/nandflash/qil-a9260.h -new file mode 100644 -index 0000000..c87002e ---- /dev/null -+++ b/board/qil_a9260/nandflash/qil-a9260.h -@@ -0,0 +1,109 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : qil-a9260.h -+ * Object : -+ * Creation : GH July 19th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _QIL_A9260_H -+#define _QIL_A9260_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (180000000/2) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+#define PLLA_SETTINGS 0x20593F06 -+#define PLLB_SETTINGS 0x10483F0E -+ -+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */ -+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2) -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* NandFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SMARTMEDIA_BASE 0x40000000 -+ -+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */ -+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */ -+ -+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0) -+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0) -+ -+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13)) -+ -+ -+/* ******************************************************************** */ -+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/ -+/* Please refer to SMC section in AT91SAM datasheet to learn how */ -+/* to generate these values. */ -+/* ******************************************************************** */ -+#define AT91C_SM_NWE_SETUP (1 << 0) -+#define AT91C_SM_NCS_WR_SETUP (0 << 8) -+#define AT91C_SM_NRD_SETUP (1 << 16) -+#define AT91C_SM_NCS_RD_SETUP (0 << 24) -+ -+#define AT91C_SM_NWE_PULSE (3 << 0) -+#define AT91C_SM_NCS_WR_PULSE (3 << 8) -+#define AT91C_SM_NRD_PULSE (3 << 16) -+#define AT91C_SM_NCS_RD_PULSE (3 << 24) -+ -+#define AT91C_SM_NWE_CYCLE (5 << 0) -+#define AT91C_SM_NRD_CYCLE (5 << 16) -+#define AT91C_SM_TDF (2 << 16) -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */ -+ -+#define MACH_TYPE 0x6AF /* QIL-A9260 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#undef CFG_DEBUG -+#undef CFG_DATAFLASH -+ -+#define CFG_NANDFLASH -+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */ -+ -+#define CFG_HW_INIT -+#define CFG_SDRAM -+ -+#endif /* _QIL_A9260_H */ -diff --git a/board/qil_a9260/qil_a9260.c b/board/qil_a9260/qil_a9260.c -new file mode 100644 -index 0000000..ae122e7 ---- /dev/null -+++ b/board/qil_a9260/qil_a9260.c -@@ -0,0 +1,298 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaiimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : qil_a9260.c -+ * Object : -+ * Creation : GH July 19th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#include "../../include/part.h" -+#include "../../include/gpio.h" -+#include "../../include/pmc.h" -+#include "../../include/debug.h" -+#include "../../include/sdramc.h" -+#include "../../include/main.h" -+#ifdef CFG_NANDFLASH -+#include "../../include/nandflash.h" -+#endif -+#ifdef CFG_DATAFLASH -+#include "../../include/dataflash.h" -+#endif -+ -+static inline unsigned int get_cp15(void) -+{ -+ unsigned int value; -+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value)); -+ return value; -+} -+ -+static inline void set_cp15(unsigned int value) -+{ -+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value)); -+} -+ -+#ifdef CFG_HW_INIT -+/*----------------------------------------------------------------------------*/ -+/* \fn hw_init */ -+/* \brief This function performs very low level HW initialization */ -+/* This function is invoked as soon as possible during the c_startup */ -+/* The bss segment must be initialized */ -+/*----------------------------------------------------------------------------*/ -+void hw_init(void) -+{ -+ unsigned int cp15; -+ -+ /* Configure PIOs */ -+ const struct pio_desc hw_pio[] = { -+#ifdef CFG_DEBUG -+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Disable watchdog */ -+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); -+ -+ /* At this stage the main oscillator is supposed to be enabled -+ * PCK = MCK = MOSC */ -+ -+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */ -+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* PCK = PLLA = 2 * MCK */ -+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT); -+ /* Switch MCK on PLLA output */ -+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure PLLB */ -+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure CP15 */ -+ cp15 = get_cp15(); -+ cp15 |= I_CACHE; -+ set_cp15(cp15); -+ -+ /* Configure the PIO controller */ -+ pio_setup(hw_pio); -+ -+ /* Configure the EBI Slave Slot Cycle to 64 */ -+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3)); -+ -+#ifdef CFG_DEBUG -+ /* Enable Debug messages on the DBGU */ -+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200)); -+ -+ dbg_print("Start AT91Bootstrap...\n\r"); -+#endif /* CFG_DEBUG */ -+ -+#ifdef CFG_SDRAM -+ /* Initialize the matrix */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SDRAM Controller */ -+ sdram_init( AT91C_SDRAMC_NC_9 | -+ AT91C_SDRAMC_NR_13 | -+ AT91C_SDRAMC_CAS_2 | -+ AT91C_SDRAMC_NB_4_BANKS | -+ AT91C_SDRAMC_DBW_32_BITS | -+ AT91C_SDRAMC_TWR_2 | -+ AT91C_SDRAMC_TRC_7 | -+ AT91C_SDRAMC_TRP_2 | -+ AT91C_SDRAMC_TRCD_2 | -+ AT91C_SDRAMC_TRAS_5 | -+ AT91C_SDRAMC_TXSR_8, /* Control Register */ -+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */ -+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */ -+ -+ -+#endif /* CFG_SDRAM */ -+} -+#endif /* CFG_HW_INIT */ -+ -+#ifdef CFG_SDRAM -+/*------------------------------------------------------------------------------*/ -+/* \fn sdramc_hw_init */ -+/* \brief This function performs SDRAMC HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void sdramc_hw_init(void) -+{ -+ /* Configure PIOs */ -+/* const struct pio_desc sdramc_pio[] = { -+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+*/ -+ /* Configure the SDRAMC PIO controller to output PCK0 */ -+/* pio_setup(sdramc_pio); */ -+ -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0)); -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0)); -+ -+} -+#endif /* CFG_SDRAM */ -+ -+#ifdef CFG_DATAFLASH -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_recovery */ -+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+void df_recovery(AT91PS_DF pDf) -+{ -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USR PB is pressed during Boot sequence */ -+ /* Erase DataFlash Page 0*/ -+ if ( !pio_get_value(AT91C_PIN_PB(10)) ) -+ df_page_erase(pDf, 0); -+#endif -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_hw_init */ -+/* \brief This function performs DataFlash HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void df_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc df_pio[] = { -+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ pio_setup(df_pio); -+} -+#endif /* CFG_DATAFLASH */ -+ -+ -+ -+#ifdef CFG_NANDFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn nand_recovery */ -+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+static void nand_recovery(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USR PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if (!pio_get_value(AT91C_PIN_PB(10)) ) -+ AT91F_NandEraseBlock0(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_hw_init */ -+/* \brief NandFlash HW init */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc nand_pio[] = { -+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT}, -+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SMC CS3 */ -+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3); -+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3); -+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3); -+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE | -+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3); -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(nand_pio); -+ -+ nand_recovery(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_16bits_dbw_init */ -+/* \brief Configure SMC in 16 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_16bits_dbw_init(void) -+{ -+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_8bits_dbw_init */ -+/* \brief Configure SMC in 8 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_8bits_dbw_init(void) -+{ -+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+ -+#endif /* #ifdef CFG_NANDFLASH */ -diff --git a/crt0_gnu.S b/crt0_gnu.S -index 042b617..002feef 100644 ---- a/crt0_gnu.S -+++ b/crt0_gnu.S -@@ -106,6 +106,13 @@ _relocate_to_sram: - #endif /* CFG_NORFLASH */ - - _setup_clocks: -+/* Test if main osc is bypassed */ -+ ldr r0,=AT91C_PMC_MOR -+ ldr r1, [r0] -+ ldr r2,=AT91C_CKGR_OSCBYPASS -+ ands r1, r1, r2 -+ bne _init_data /* branch if OSCBYPASS=1 */ -+ - /* Test if main oscillator is enabled */ - ldr r0,=AT91C_PMC_SR - ldr r1, [r0] -diff --git a/include/part.h b/include/part.h -index ba5985a..bbd33fe 100644 ---- a/include/part.h -+++ b/include/part.h -@@ -35,7 +35,11 @@ - - #ifdef AT91SAM9260 - #include "AT91SAM9260_inc.h" --#include "at91sam9260ek.h" -+ #ifdef at91sam9260ek -+ #include "at91sam9260ek.h" -+ #elif qil_a9260 -+ #include "qil-a9260.h" -+ #endif - #endif - - #ifdef AT91SAM9XE --- -1.5.6.3 - diff --git a/board/calao/qil-a9260/patches/barebox/0001-qil-a9260.patch b/board/calao/qil-a9260/patches/barebox/0001-qil-a9260.patch deleted file mode 100644 index a74e657066..0000000000 --- a/board/calao/qil-a9260/patches/barebox/0001-qil-a9260.patch +++ /dev/null @@ -1,36 +0,0 @@ -From d076aa6182dc6df6bb311e60bbddb03573b9483b Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Fri, 3 Aug 2012 11:25:49 +0200 -Subject: [PATCH] Enable pull-up on Rx serial ports for the CALAO MB-QIL-A9260 - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - arch/arm/boards/qil-a9260/init.c | 6 ++++++ - 1 files changed, 6 insertions(+), 0 deletions(-) - -diff --git a/arch/arm/boards/qil-a9260/init.c b/arch/arm/boards/qil-a9260/init.c -index 305d733..b43cace 100644 ---- a/arch/arm/boards/qil-a9260/init.c -+++ b/arch/arm/boards/qil-a9260/init.c -@@ -196,11 +196,17 @@ device_initcall(qil_a9260_devices_init); - static int qil_a9260_console_init(void) - { - at91_register_uart(0, 0); -+ at91_set_A_periph(AT91_PIN_PB14, 1); /* Enable pull-up on DRXD */ -+ - at91_register_uart(1, ATMEL_UART_CTS | ATMEL_UART_RTS - | ATMEL_UART_DTR | ATMEL_UART_DSR | ATMEL_UART_DCD - | ATMEL_UART_RI); -+ - at91_register_uart(2, ATMEL_UART_CTS | ATMEL_UART_RTS); -+ at91_set_A_periph(AT91_PIN_PB7, 1); /* Enable pull-up on RXD1 */ -+ - at91_register_uart(3, ATMEL_UART_CTS | ATMEL_UART_RTS); -+ at91_set_A_periph(AT91_PIN_PB9, 1); /* Enable pull-up on RXD2 */ - - return 0; - } --- -1.5.6.3 - diff --git a/board/calao/qil-a9260/patches/linux/0001-qil-a9260.patch b/board/calao/qil-a9260/patches/linux/0001-qil-a9260.patch deleted file mode 100644 index 5d355d23cc..0000000000 --- a/board/calao/qil-a9260/patches/linux/0001-qil-a9260.patch +++ /dev/null @@ -1,27 +0,0 @@ -From fe6432a9728b62bce3db73c5a4efe026018fd495 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Fri, 3 Aug 2012 16:45:37 +0200 -Subject: [PATCH] QIL-A9260: rtc modalias m41t48 renamed to rtc-m41t48 - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - arch/arm/mach-at91/board-qil-a9260.c | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/arch/arm/mach-at91/board-qil-a9260.c b/arch/arm/mach-at91/board-qil-a9260.c -index bf351e2..c0df05c 100644 ---- a/arch/arm/mach-at91/board-qil-a9260.c -+++ b/arch/arm/mach-at91/board-qil-a9260.c -@@ -78,7 +78,7 @@ static struct at91_udc_data __initdata ek_udc_data = { - static struct spi_board_info ek_spi_devices[] = { - #if defined(CONFIG_RTC_DRV_M41T94) - { /* M41T94 RTC */ -- .modalias = "m41t94", -+ .modalias = "rtc-m41t94", - .chip_select = 0, - .max_speed_hz = 1 * 1000 * 1000, - .bus_num = 0, --- -1.5.6.3 - diff --git a/board/calao/tny-a9g20-lpw/at91bootstrap-1.16-tny-a9g20-lpw.patch b/board/calao/tny-a9g20-lpw/at91bootstrap-1.16-tny-a9g20-lpw.patch deleted file mode 100644 index 71746ce5ae..0000000000 --- a/board/calao/tny-a9g20-lpw/at91bootstrap-1.16-tny-a9g20-lpw.patch +++ /dev/null @@ -1,551 +0,0 @@ -From 53bd82b122f4530a98cba45795832820bb1d0b45 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Mon, 13 Aug 2012 11:26:10 +0200 -Subject: [PATCH] Add support for the Calao-systems TNY-A9G20-LPW - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - board/tny_a9g20_lpw/nandflash/Makefile | 121 ++++++++++++ - board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h | 114 ++++++++++++ - board/tny_a9g20_lpw/tny_a9g20_lpw.c | 243 +++++++++++++++++++++++++ - crt0_gnu.S | 6 + - include/part.h | 6 +- - 5 files changed, 489 insertions(+), 1 deletion(-) - create mode 100644 board/tny_a9g20_lpw/nandflash/Makefile - create mode 100644 board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h - create mode 100644 board/tny_a9g20_lpw/tny_a9g20_lpw.c - -diff --git a/board/tny_a9g20_lpw/nandflash/Makefile b/board/tny_a9g20_lpw/nandflash/Makefile -new file mode 100644 -index 0000000..7efbea7 ---- /dev/null -+++ b/board/tny_a9g20_lpw/nandflash/Makefile -@@ -0,0 +1,121 @@ -+# TODO: set this appropriately for your local toolchain -+ifndef ERASE_FCT -+ERASE_FCT=rm -f -+endif -+ifndef CROSS_COMPILE -+CROSS_COMPILE=arm-elf- -+endif -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# NandFlashBoot Configuration for AT91SAM9260EK -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9G20 -+# Board name (case sensitive!!!) -+BOARD=tny_a9g20_lpw -+# Link Address and Top_of_Memory -+LINK_ADDR=0x200000 -+TOP_OF_MEMORY=0x301000 -+# Name of current directory -+PROJECT=nandflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ nandflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ $(ERASE_FCT) *.o *.bin *.elf *.map -diff --git a/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h -new file mode 100644 -index 0000000..b1f8a1d ---- /dev/null -+++ b/board/tny_a9g20_lpw/nandflash/tny-a9g20-lpw.h -@@ -0,0 +1,114 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2008, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : tny-a9g20-lpw.h -+ * Object : -+ * Creation : GH August 13th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _TNY_A9G20_LPW_H -+#define _TNY_A9G20_LPW_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (100000000) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+/* set PLLA to 800Mhz from MAINCK= 12Mhz MULA=199 (0xC7+1= 200), DIVA=0x03 (Fplla=12Mhz x [(199+1)/3]=800Mhz) */ -+#define PLLA_SETTINGS 0x20C73F03 -+#define PLLB_SETTINGS 0x100F3F02 -+ -+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */ -+/* LP-SDRAM (fmax=100Mhz) PDIV=0 => PRESCALER CLK=PCLK; */ -+/* MDIV = 2 => PRESCALER CLK / 4 = MCLK=100Mhz */ -+/* PRESCALER CLK = PLLA (800Mhz) / 2 (PRES=1) = 400Mhz */ -+#define MCKR_SETTINGS 0x0204 -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* NandFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SMARTMEDIA_BASE 0x40000000 -+ -+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */ -+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */ -+ -+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0) -+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0) -+ -+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13)) -+ -+ -+/* ******************************************************************** */ -+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 100000000.*/ -+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */ -+/* to generate these values. */ -+/* ******************************************************************** */ -+#define AT91C_SM_NWE_SETUP (1 << 0) -+#define AT91C_SM_NCS_WR_SETUP (0 << 8) -+#define AT91C_SM_NRD_SETUP (1 << 16) -+#define AT91C_SM_NCS_RD_SETUP (0 << 24) -+ -+#define AT91C_SM_NWE_PULSE (3 << 0) -+#define AT91C_SM_NCS_WR_PULSE (3 << 8) -+#define AT91C_SM_NRD_PULSE (3 << 16) -+#define AT91C_SM_NCS_RD_PULSE (3 << 24) -+ -+#define AT91C_SM_NWE_CYCLE (5 << 0) -+#define AT91C_SM_NRD_CYCLE (5 << 16) -+ -+#define AT91C_SM_TDF (2 << 16) -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */ -+ -+#define MACH_TYPE 0x80B /* TNY-A9G20 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#undef CFG_DEBUG -+#undef CFG_DATAFLASH -+ -+#define CFG_NANDFLASH -+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */ -+ -+#define CFG_SDRAM -+#define CFG_HW_INIT -+ -+#endif /* _TNY_A9G20_LPW_H */ -diff --git a/board/tny_a9g20_lpw/tny_a9g20_lpw.c b/board/tny_a9g20_lpw/tny_a9g20_lpw.c -new file mode 100644 -index 0000000..cef9055 ---- /dev/null -+++ b/board/tny_a9g20_lpw/tny_a9g20_lpw.c -@@ -0,0 +1,243 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2008, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : tny_a9g20_lpw.c -+ * Object : -+ * Creation : GH August 13th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#include "../../include/part.h" -+#include "../../include/gpio.h" -+#include "../../include/pmc.h" -+#include "../../include/debug.h" -+#include "../../include/sdramc.h" -+#include "../../include/main.h" -+#ifdef CFG_NANDFLASH -+#include "../../include/nandflash.h" -+#endif -+ -+static inline unsigned int get_cp15(void) -+{ -+ unsigned int value; -+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value)); -+ return value; -+} -+ -+static inline void set_cp15(unsigned int value) -+{ -+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value)); -+} -+ -+#ifdef CFG_HW_INIT -+/*----------------------------------------------------------------------------*/ -+/* \fn hw_init */ -+/* \brief This function performs very low level HW initialization */ -+/* This function is invoked as soon as possible during the c_startup */ -+/* The bss segment must be initialized */ -+/*----------------------------------------------------------------------------*/ -+void hw_init(void) -+{ -+ unsigned int cp15; -+ -+ /* Configure PIOs */ -+ const struct pio_desc hw_pio[] = { -+#ifdef CFG_DEBUG -+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Disable watchdog */ -+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); -+ -+ /* At this stage the main oscillator is supposed to be enabled -+ * PCK = MCK = MOSC */ -+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR); -+ -+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */ -+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* PCK = PLLA/2 = 3 * MCK */ -+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT); -+ /* Switch MCK on PLLA output */ -+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure PLLB */ -+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure CP15 */ -+ cp15 = get_cp15(); -+ cp15 |= I_CACHE; -+ set_cp15(cp15); -+ -+ /* Configure the PIO controller */ -+ pio_setup(hw_pio); -+ -+ /* Configure the EBI Slave Slot Cycle to 64 */ -+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3)); -+ -+#ifdef CFG_DEBUG -+ /* Enable Debug messages on the DBGU */ -+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200)); -+ -+ dbg_print("Start AT91Bootstrap...\n\r"); -+#endif /* CFG_DEBUG */ -+ -+#ifdef CFG_SDRAM -+ /* Initialize the matrix (slow slew rate enabled and LPSDRAM memory voltage = 1.8V) */ -+ writel(((readl(AT91C_BASE_CCFG + CCFG_EBICSA)) | AT91C_EBI_CS1A_SDRAMC | (1<<17)) & ~0x00010000, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SDRAM Controller */ -+ sdram_init( AT91C_SDRAMC_NC_9 | -+ AT91C_SDRAMC_NR_13 | -+ AT91C_SDRAMC_CAS_3 | -+ AT91C_SDRAMC_NB_4_BANKS | -+ AT91C_SDRAMC_DBW_32_BITS | -+ AT91C_SDRAMC_TWR_2 | -+ AT91C_SDRAMC_TRC_7 | -+ AT91C_SDRAMC_TRP_2 | -+ AT91C_SDRAMC_TRCD_2 | -+ AT91C_SDRAMC_TRAS_5 | -+ AT91C_SDRAMC_TXSR_8, /* Control Register */ -+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */ -+ AT91C_SDRAMC_MD_LOW_POWER_SDRAM); /* SDRAM (low power) */ -+ -+#endif /* CFG_SDRAM */ -+} -+#endif /* CFG_HW_INIT */ -+ -+#ifdef CFG_SDRAM -+/*------------------------------------------------------------------------------*/ -+/* \fn sdramc_hw_init */ -+/* \brief This function performs SDRAMC HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void sdramc_hw_init(void) -+{ -+ /* Configure PIOs */ -+/* const struct pio_desc sdramc_pio[] = { -+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+*/ -+ /* Configure the SDRAMC PIO controller to output PCK0 */ -+/* pio_setup(sdramc_pio); */ -+ -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0)); -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0)); -+ -+} -+#endif /* CFG_SDRAM */ -+ -+#ifdef CFG_NANDFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn nand_recovery */ -+/* \brief This function erases NandFlash Block 0 if BP4 is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+static void nand_recovery(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc bp4_pio[] = { -+ {"BP4", AT91C_PIN_PA(31), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(bp4_pio); -+ -+ /* If BP4 is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if (!pio_get_value(AT91C_PIN_PA(31)) ) -+ AT91F_NandEraseBlock0(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_hw_init */ -+/* \brief NandFlash HW init */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc nand_pio[] = { -+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT}, -+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SMC CS3 */ -+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3); -+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3); -+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3); -+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE | -+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3); -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(nand_pio); -+ -+ nand_recovery(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_16bits_dbw_init */ -+/* \brief Configure SMC in 16 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_16bits_dbw_init(void) -+{ -+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_8bits_dbw_init */ -+/* \brief Configure SMC in 8 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_8bits_dbw_init(void) -+{ -+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+#endif /* #ifdef CFG_NANDFLASH */ -diff --git a/crt0_gnu.S b/crt0_gnu.S -index 042b617..c6cd49d 100644 ---- a/crt0_gnu.S -+++ b/crt0_gnu.S -@@ -106,6 +106,12 @@ _relocate_to_sram: - #endif /* CFG_NORFLASH */ - - _setup_clocks: -+/* Test if main osc is bypassed */ -+ ldr r0,=AT91C_PMC_MOR -+ ldr r1, [r0] -+ ldr r2,=AT91C_CKGR_OSCBYPASS -+ ands r1, r1, r2 -+ bne _init_data /* branch if OSCBYPASS=1 */ - /* Test if main oscillator is enabled */ - ldr r0,=AT91C_PMC_SR - ldr r1, [r0] -diff --git a/include/part.h b/include/part.h -index ba5985a..ab79af1 100644 ---- a/include/part.h -+++ b/include/part.h -@@ -46,7 +46,11 @@ - - #ifdef AT91SAM9G20 - #include "AT91SAM9260_inc.h" --#include "at91sam9g20ek.h" -+ #ifdef at91sam9g20ek -+ #include "at91sam9g20ek.h" -+ #elif tny_a9g20_lpw -+ #include "tny-a9g20-lpw.h" -+ #endif - #endif - - #ifdef AT91SAM9261 --- -1.7.9.5 - diff --git a/board/calao/tny-a9g20-lpw/linux-3.9.config b/board/calao/tny-a9g20-lpw/linux-3.9.config deleted file mode 100644 index 797c15a4dd..0000000000 --- a/board/calao/tny-a9g20-lpw/linux-3.9.config +++ /dev/null @@ -1,187 +0,0 @@ -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_BLK_DEV_INITRD=y -CONFIG_CC_OPTIMIZE_FOR_SIZE=y -CONFIG_KALLSYMS_ALL=y -CONFIG_EMBEDDED=y -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_LBDAF is not set -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_SOC_AT91SAM9260=y -CONFIG_SOC_AT91SAM9263=y -CONFIG_SOC_AT91SAM9G45=y -CONFIG_SOC_AT91SAM9X5=y -CONFIG_SOC_AT91SAM9N12=y -CONFIG_MACH_AT91SAM_DT=y -CONFIG_AT91_PROGRAMMABLE_CLOCKS=y -CONFIG_AT91_TIMER_HZ=128 -CONFIG_AEABI=y -# CONFIG_OABI_COMPAT is not set -CONFIG_UACCESS_WITH_MEMCPY=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_ARM_APPENDED_DTB=y -CONFIG_ARM_ATAG_DTB_COMPAT=y -CONFIG_CMDLINE="console=ttyS0,115200 initrd=0x21100000,25165824 root=/dev/ram0 rw" -CONFIG_KEXEC=y -CONFIG_AUTO_ZRELADDR=y -# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_PNP=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_DIAG is not set -CONFIG_IPV6=y -# CONFIG_INET6_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET6_XFRM_MODE_TUNNEL is not set -# CONFIG_INET6_XFRM_MODE_BEET is not set -CONFIG_IPV6_SIT_6RD=y -# CONFIG_WIRELESS is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_STANDALONE is not set -# CONFIG_PREVENT_FIRMWARE_BUILD is not set -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_UBI=y -CONFIG_MTD_UBI_GLUEBI=y -CONFIG_PROC_DEVICETREE=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_COUNT=4 -CONFIG_BLK_DEV_RAM_SIZE=8192 -CONFIG_ATMEL_PWM=y -CONFIG_ATMEL_TCLIB=y -CONFIG_EEPROM_93CX6=m -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -# CONFIG_SCSI_LOWLEVEL is not set -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_NET_VENDOR_BROADCOM is not set -# CONFIG_NET_VENDOR_FARADAY is not set -# CONFIG_NET_VENDOR_INTEL is not set -# CONFIG_NET_VENDOR_MARVELL is not set -# CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SMSC is not set -# CONFIG_NET_VENDOR_STMICRO is not set -CONFIG_DAVICOM_PHY=y -CONFIG_MICREL_PHY=y -# CONFIG_WLAN is not set -CONFIG_INPUT_POLLDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=480 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=272 -CONFIG_INPUT_JOYDEV=y -CONFIG_INPUT_EVDEV=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=y -# CONFIG_INPUT_MOUSE is not set -CONFIG_INPUT_TOUCHSCREEN=y -# CONFIG_SERIO is not set -CONFIG_LEGACY_PTY_COUNT=4 -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_I2C=y -CONFIG_I2C_GPIO=y -CONFIG_SPI=y -CONFIG_SPI_ATMEL=y -# CONFIG_HWMON is not set -CONFIG_WATCHDOG=y -CONFIG_AT91SAM9X_WATCHDOG=y -CONFIG_SSB=m -CONFIG_FB=y -CONFIG_FB_MODE_HELPERS=y -CONFIG_FB_ATMEL=y -CONFIG_BACKLIGHT_LCD_SUPPORT=y -# CONFIG_LCD_CLASS_DEVICE is not set -CONFIG_BACKLIGHT_CLASS_DEVICE=y -CONFIG_BACKLIGHT_ATMEL_LCDC=y -# CONFIG_BACKLIGHT_GENERIC is not set -CONFIG_FRAMEBUFFER_CONSOLE=y -CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y -CONFIG_FONTS=y -CONFIG_FONT_8x8=y -CONFIG_FONT_ACORN_8x8=y -CONFIG_FONT_MINI_4x6=y -CONFIG_LOGO=y -CONFIG_USB=y -CONFIG_USB_ANNOUNCE_NEW_DEVICES=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_ACM=y -CONFIG_USB_STORAGE=y -CONFIG_USB_SERIAL=y -CONFIG_USB_SERIAL_GENERIC=y -CONFIG_USB_SERIAL_FTDI_SIO=y -CONFIG_USB_SERIAL_PL2303=y -CONFIG_USB_GADGET=y -CONFIG_USB_AT91=m -CONFIG_USB_ETH=m -CONFIG_USB_GADGETFS=m -CONFIG_USB_CDC_COMPOSITE=m -CONFIG_USB_G_ACM_MS=m -CONFIG_USB_G_MULTI=m -CONFIG_USB_G_MULTI_CDC=y -CONFIG_MMC=y -CONFIG_MMC_ATMELMCI=y -CONFIG_MMC_SPI=y -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_TIMER=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_LEDS_TRIGGER_GPIO=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_AT91RM9200=y -CONFIG_RTC_DRV_AT91SAM9=y -CONFIG_DMADEVICES=y -# CONFIG_IOMMU_SUPPORT is not set -CONFIG_EXT2_FS=y -CONFIG_FANOTIFY=y -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_NFS_FS=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_STRIP_ASM_SYMS=y -CONFIG_DEBUG_FS=y -# CONFIG_SCHED_DEBUG is not set -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_FTRACE is not set -CONFIG_DEBUG_USER=y -CONFIG_CRYPTO_ECB=y -CONFIG_CRYPTO_ARC4=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_USER_API_HASH=m -CONFIG_CRYPTO_USER_API_SKCIPHER=m -# CONFIG_CRYPTO_HW is not set -CONFIG_CRC_CCITT=m -CONFIG_AVERAGE=y diff --git a/board/calao/usb-a9260/at91bootstrap-1.16-usb-a9260.patch b/board/calao/usb-a9260/at91bootstrap-1.16-usb-a9260.patch deleted file mode 100644 index 1393677dfc..0000000000 --- a/board/calao/usb-a9260/at91bootstrap-1.16-usb-a9260.patch +++ /dev/null @@ -1,603 +0,0 @@ -From 43e8c90f13806405bde8eaaf3a956d0ddc806f64 Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Tue, 2 Oct 2012 09:19:15 +0200 -Subject: [PATCH] Add support for the USB-A9260 - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - board/usb_a9260/nandflash/Makefile | 122 ++++++++++++++ - board/usb_a9260/nandflash/usb-a9260.h | 109 ++++++++++++ - board/usb_a9260/usb_a9260.c | 298 +++++++++++++++++++++++++++++++++ - crt0_gnu.S | 7 + - include/part.h | 6 +- - 5 files changed, 541 insertions(+), 1 deletion(-) - create mode 100644 board/usb_a9260/nandflash/Makefile - create mode 100644 board/usb_a9260/nandflash/usb-a9260.h - create mode 100644 board/usb_a9260/usb_a9260.c - -diff --git a/board/usb_a9260/nandflash/Makefile b/board/usb_a9260/nandflash/Makefile -new file mode 100644 -index 0000000..02f4b50 ---- /dev/null -+++ b/board/usb_a9260/nandflash/Makefile -@@ -0,0 +1,122 @@ -+# TODO: set this appropriately for your local toolchain -+ifndef ERASE_FCT -+ERASE_FCT=rm -f -+endif -+ifndef CROSS_COMPILE -+CROSS_COMPILE=arm-elf- -+endif -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# NandFlashBoot Configuration for USB-A9260 -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9260 -+# Board name (case sensitive!!!) -+BOARD=usb_a9260 -+# Link Address and Top_of_Memory -+LINK_ADDR=0x200000 -+TOP_OF_MEMORY=0x301000 -+# Name of current directory -+PROJECT=nandflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ nandflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ $(ERASE_FCT) *.o *.bin *.elf *.map -diff --git a/board/usb_a9260/nandflash/usb-a9260.h b/board/usb_a9260/nandflash/usb-a9260.h -new file mode 100644 -index 0000000..2aaf759 ---- /dev/null -+++ b/board/usb_a9260/nandflash/usb-a9260.h -@@ -0,0 +1,109 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb-a9260.h -+ * Object : -+ * Creation : GH Oct 1th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _USB_A9260_H -+#define _USB_A9260_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (180000000/2) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+#define PLLA_SETTINGS 0x20593F06 -+#define PLLB_SETTINGS 0x10483F0E -+ -+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */ -+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2) -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* NandFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SMARTMEDIA_BASE 0x40000000 -+ -+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */ -+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */ -+ -+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0) -+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0) -+ -+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13)) -+ -+ -+/* ******************************************************************** */ -+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000.*/ -+/* Please refer to SMC section in AT91SAM datasheet to learn how */ -+/* to generate these values. */ -+/* ******************************************************************** */ -+#define AT91C_SM_NWE_SETUP (1 << 0) -+#define AT91C_SM_NCS_WR_SETUP (0 << 8) -+#define AT91C_SM_NRD_SETUP (1 << 16) -+#define AT91C_SM_NCS_RD_SETUP (0 << 24) -+ -+#define AT91C_SM_NWE_PULSE (3 << 0) -+#define AT91C_SM_NCS_WR_PULSE (3 << 8) -+#define AT91C_SM_NRD_PULSE (3 << 16) -+#define AT91C_SM_NCS_RD_PULSE (3 << 24) -+ -+#define AT91C_SM_NWE_CYCLE (5 << 0) -+#define AT91C_SM_NRD_CYCLE (5 << 16) -+#define AT91C_SM_TDF (2 << 16) -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */ -+ -+#define MACH_TYPE 0x6AD /* USB-A9260 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#undef CFG_DEBUG -+#undef CFG_DATAFLASH -+ -+#define CFG_NANDFLASH -+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */ -+ -+#define CFG_HW_INIT -+#define CFG_SDRAM -+ -+#endif /* _USB_A9260_H */ -diff --git a/board/usb_a9260/usb_a9260.c b/board/usb_a9260/usb_a9260.c -new file mode 100644 -index 0000000..de30f0b ---- /dev/null -+++ b/board/usb_a9260/usb_a9260.c -@@ -0,0 +1,298 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaiimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb_a9260.c -+ * Object : -+ * Creation : GH Oct 1th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#include "../../include/part.h" -+#include "../../include/gpio.h" -+#include "../../include/pmc.h" -+#include "../../include/debug.h" -+#include "../../include/sdramc.h" -+#include "../../include/main.h" -+#ifdef CFG_NANDFLASH -+#include "../../include/nandflash.h" -+#endif -+#ifdef CFG_DATAFLASH -+#include "../../include/dataflash.h" -+#endif -+ -+static inline unsigned int get_cp15(void) -+{ -+ unsigned int value; -+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value)); -+ return value; -+} -+ -+static inline void set_cp15(unsigned int value) -+{ -+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value)); -+} -+ -+#ifdef CFG_HW_INIT -+/*----------------------------------------------------------------------------*/ -+/* \fn hw_init */ -+/* \brief This function performs very low level HW initialization */ -+/* This function is invoked as soon as possible during the c_startup */ -+/* The bss segment must be initialized */ -+/*----------------------------------------------------------------------------*/ -+void hw_init(void) -+{ -+ unsigned int cp15; -+ -+ /* Configure PIOs */ -+ const struct pio_desc hw_pio[] = { -+#ifdef CFG_DEBUG -+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Disable watchdog */ -+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); -+ -+ /* At this stage the main oscillator is supposed to be enabled -+ * PCK = MCK = MOSC */ -+ -+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */ -+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* PCK = PLLA = 2 * MCK */ -+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT); -+ /* Switch MCK on PLLA output */ -+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure PLLB */ -+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure CP15 */ -+ cp15 = get_cp15(); -+ cp15 |= I_CACHE; -+ set_cp15(cp15); -+ -+ /* Configure the PIO controller */ -+ pio_setup(hw_pio); -+ -+ /* Configure the EBI Slave Slot Cycle to 64 */ -+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3)); -+ -+#ifdef CFG_DEBUG -+ /* Enable Debug messages on the DBGU */ -+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200)); -+ -+ dbg_print("Start AT91Bootstrap...\n\r"); -+#endif /* CFG_DEBUG */ -+ -+#ifdef CFG_SDRAM -+ /* Initialize the matrix */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SDRAM Controller */ -+ sdram_init( AT91C_SDRAMC_NC_9 | -+ AT91C_SDRAMC_NR_13 | -+ AT91C_SDRAMC_CAS_2 | -+ AT91C_SDRAMC_NB_4_BANKS | -+ AT91C_SDRAMC_DBW_32_BITS | -+ AT91C_SDRAMC_TWR_2 | -+ AT91C_SDRAMC_TRC_7 | -+ AT91C_SDRAMC_TRP_2 | -+ AT91C_SDRAMC_TRCD_2 | -+ AT91C_SDRAMC_TRAS_5 | -+ AT91C_SDRAMC_TXSR_8, /* Control Register */ -+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */ -+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */ -+ -+ -+#endif /* CFG_SDRAM */ -+} -+#endif /* CFG_HW_INIT */ -+ -+#ifdef CFG_SDRAM -+/*------------------------------------------------------------------------------*/ -+/* \fn sdramc_hw_init */ -+/* \brief This function performs SDRAMC HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void sdramc_hw_init(void) -+{ -+ /* Configure PIOs */ -+/* const struct pio_desc sdramc_pio[] = { -+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+*/ -+ /* Configure the SDRAMC PIO controller to output PCK0 */ -+/* pio_setup(sdramc_pio); */ -+ -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0)); -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0)); -+ -+} -+#endif /* CFG_SDRAM */ -+ -+#ifdef CFG_DATAFLASH -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_recovery */ -+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+void df_recovery(AT91PS_DF pDf) -+{ -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USR PB is pressed during Boot sequence */ -+ /* Erase DataFlash Page 0*/ -+ if ( !pio_get_value(AT91C_PIN_PB(10)) ) -+ df_page_erase(pDf, 0); -+#endif -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_hw_init */ -+/* \brief This function performs DataFlash HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void df_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc df_pio[] = { -+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ pio_setup(df_pio); -+} -+#endif /* CFG_DATAFLASH */ -+ -+ -+ -+#ifdef CFG_NANDFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn nand_recovery */ -+/* \brief This function erases NandFlash Block 0 if USR PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+static void nand_recovery(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USR PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if (!pio_get_value(AT91C_PIN_PB(10)) ) -+ AT91F_NandEraseBlock0(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_hw_init */ -+/* \brief NandFlash HW init */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc nand_pio[] = { -+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT}, -+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SMC CS3 */ -+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3); -+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3); -+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3); -+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE | -+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3); -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(nand_pio); -+ -+ nand_recovery(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_16bits_dbw_init */ -+/* \brief Configure SMC in 16 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_16bits_dbw_init(void) -+{ -+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_8bits_dbw_init */ -+/* \brief Configure SMC in 8 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_8bits_dbw_init(void) -+{ -+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+ -+#endif /* #ifdef CFG_NANDFLASH */ -diff --git a/crt0_gnu.S b/crt0_gnu.S -index 042b617..002feef 100644 ---- a/crt0_gnu.S -+++ b/crt0_gnu.S -@@ -106,6 +106,13 @@ _relocate_to_sram: - #endif /* CFG_NORFLASH */ - - _setup_clocks: -+/* Test if main osc is bypassed */ -+ ldr r0,=AT91C_PMC_MOR -+ ldr r1, [r0] -+ ldr r2,=AT91C_CKGR_OSCBYPASS -+ ands r1, r1, r2 -+ bne _init_data /* branch if OSCBYPASS=1 */ -+ - /* Test if main oscillator is enabled */ - ldr r0,=AT91C_PMC_SR - ldr r1, [r0] -diff --git a/include/part.h b/include/part.h -index ba5985a..212789f 100644 ---- a/include/part.h -+++ b/include/part.h -@@ -35,7 +35,11 @@ - - #ifdef AT91SAM9260 - #include "AT91SAM9260_inc.h" --#include "at91sam9260ek.h" -+ #ifdef at91sam9260ek -+ #include "at91sam9260ek.h" -+ #elif usb_a9260 -+ #include "usb-a9260.h" -+ #endif - #endif - - #ifdef AT91SAM9XE --- -1.7.9.5 - diff --git a/board/calao/usb-a9260/linux-3.7.4.config b/board/calao/usb-a9260/linux-3.7.4.config deleted file mode 100644 index c466bdc88c..0000000000 --- a/board/calao/usb-a9260/linux-3.7.4.config +++ /dev/null @@ -1,97 +0,0 @@ -CONFIG_EXPERIMENTAL=y -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91SAM9260=y -CONFIG_MACH_USB_A9260=y -CONFIG_AT91_SLOW_CLOCK=y -# CONFIG_ARM_THUMB is not set -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="mem=64M console=ttyS0,115200" -CONFIG_FPE_NWFPE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_IP_MROUTE=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -# CONFIG_IPV6 is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_UBI=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_EVBUG=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_SPI=y -CONFIG_SPI_ATMEL=y -# CONFIG_HWMON is not set -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_MON=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_EXT2_FS=y -CONFIG_FUSE_FS=m -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_LL=y diff --git a/board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch b/board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch deleted file mode 100644 index 579893050f..0000000000 --- a/board/calao/usb-a9263/at91bootstrap-1.16-usb-a9263.patch +++ /dev/null @@ -1,851 +0,0 @@ -From 74796655212d321f50ab89e8c5570245901f4cba Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Thu, 5 Jul 2012 18:44:07 +0200 -Subject: [PATCH] Add support for the Calao-systems USB-A9263 - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - board/usb_a9263/dataflash/Makefile | 115 +++++++++++++ - board/usb_a9263/dataflash/usb-a9263.h | 97 +++++++++++ - board/usb_a9263/nandflash/Makefile | 117 ++++++++++++++ - board/usb_a9263/nandflash/usb-a9263.h | 116 +++++++++++++ - board/usb_a9263/usb_a9263.c | 285 +++++++++++++++++++++++++++++++++ - crt0_gnu.S | 7 + - driver/dataflash.c | 6 +- - include/part.h | 6 +- - 8 files changed, 745 insertions(+), 4 deletions(-) - create mode 100644 board/usb_a9263/dataflash/Makefile - create mode 100644 board/usb_a9263/dataflash/usb-a9263.h - create mode 100644 board/usb_a9263/nandflash/Makefile - create mode 100644 board/usb_a9263/nandflash/usb-a9263.h - create mode 100644 board/usb_a9263/usb_a9263.c - -diff --git a/board/usb_a9263/dataflash/Makefile b/board/usb_a9263/dataflash/Makefile -new file mode 100644 -index 0000000..332685e ---- /dev/null -+++ b/board/usb_a9263/dataflash/Makefile -@@ -0,0 +1,115 @@ -+# TODO: set this appropriately for your local toolchain -+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe -+CROSS_COMPILE=arm-elf- -+#CROSS_COMPILE = arm-softfloat-linux-gnu- -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# DataFlashBoot Configuration for USB-A9263 -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9263 -+# Board name (case sensitive!!!) -+BOARD=usb_a9263 -+# Link Address and Top_of_Memory -+LINK_ADDR=0x300000 -+TOP_OF_MEMORY=0x314000 -+# Name of current directory -+PROJECT=dataflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm9 -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ dataflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ rm -f *.o *.bin *.elf *.map -diff --git a/board/usb_a9263/dataflash/usb-a9263.h b/board/usb_a9263/dataflash/usb-a9263.h -new file mode 100644 -index 0000000..40a3af8 ---- /dev/null -+++ b/board/usb_a9263/dataflash/usb-a9263.h -@@ -0,0 +1,97 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb-a9263.h -+ * Object : -+ * Creation : GH Jun 28th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _USB_A9263_H -+#define _USB_A9263_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (180000000/2) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+#define PLLA_SETTINGS 0x20593F06 -+#define PLLB_SETTINGS 0x10483F0E -+ -+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */ -+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2) -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* DataFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_BASE_SPI AT91C_BASE_SPI0 -+#define AT91C_ID_SPI AT91C_ID_SPI0 -+ -+/* SPI CLOCK */ -+#define AT91C_SPI_CLK 8000000 -+/* AC characteristics */ -+/* DLYBS = tCSS= 250ns min and DLYBCT = tCSH = 250ns */ -+#define DATAFLASH_TCSS (0x1a << 16) /* 250ns min (tCSS) <=> 12/48000000 = 250ns */ -+#define DATAFLASH_TCHS (0x1 << 24) /* 250ns min (tCSH) <=> (64*1+SCBR)/(2*48000000) */ -+ -+#define DF_CS_SETTINGS (AT91C_SPI_NCPHA | (AT91C_SPI_DLYBS & DATAFLASH_TCSS) | (AT91C_SPI_DLYBCT & DATAFLASH_TCHS) | ((MASTER_CLOCK / AT91C_SPI_CLK) << 8)) -+ -+/* ******************************************************************* */ -+/* SDRAMC Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0 -+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SPI_PCS_DATAFLASH AT91C_SPI_PCS0_DATAFLASH /* Boot on SPI NCS0 */ -+ -+#define IMG_ADDRESS 0x4000 /* Image Address in DataFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in DataFlash */ -+ -+#define MACH_TYPE 0x6AE /* USB-A9263 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#define CFG_HW_INIT -+#define CFG_SDRAM -+#undef CFG_DEBUG -+ -+#define CFG_DATAFLASH -+ -+#endif /* _USB_A9263_H */ -diff --git a/board/usb_a9263/nandflash/Makefile b/board/usb_a9263/nandflash/Makefile -new file mode 100644 -index 0000000..c453098 ---- /dev/null -+++ b/board/usb_a9263/nandflash/Makefile -@@ -0,0 +1,117 @@ -+# TODO: set this appropriately for your local toolchain -+#SHELL=C:\CYGWIN_REP\dwn_071004\bin\BASH.exe -+CROSS_COMPILE=arm-elf- -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# NandFlashBoot Configuration for USB-A9263 -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9263 -+# Board name (case sensitive!!!) -+BOARD=usb_a9263 -+# Link Address and Top_of_Memory -+LINK_ADDR=0x300000 -+TOP_OF_MEMORY=0x314000 -+# Name of current directory -+PROJECT=nandflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm9 -O0 -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm9 -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ nandflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ rm -f *.o *.bin *.elf *.map -diff --git a/board/usb_a9263/nandflash/usb-a9263.h b/board/usb_a9263/nandflash/usb-a9263.h -new file mode 100644 -index 0000000..24e2cf1 ---- /dev/null -+++ b/board/usb_a9263/nandflash/usb-a9263.h -@@ -0,0 +1,116 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb-a9263.h -+ * Object : -+ * Creation : GH Jun 28th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _USB_A9263_H -+#define _USB_A9263_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (180000000/2) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+#define PLLA_SETTINGS 0x20593F06 -+#define PLLB_SETTINGS 0x10483F0E -+ -+/* Switch MCK on PLLA output PCK = PLLA = 2 * MCK */ -+#define MCKR_SETTINGS (AT91C_PMC_PRES_CLK | AT91C_PMC_MDIV_2) -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* NandFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SMARTMEDIA_BASE 0x40000000 -+ -+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */ -+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */ -+ -+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_SODR = AT91C_PIO_PD15;} while(0) -+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOD_CODR = AT91C_PIO_PD15;} while(0) -+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOA_PDSR & AT91C_PIO_PA22)) -+ -+/* ******************************************************************* */ -+/* SDRAMC Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_BASE_SDRAMC AT91C_BASE_SDRAMC0 -+#define AT91C_EBI_SDRAM AT91C_EBI0_SDRAM -+ -+/* ******************************************************************** */ -+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 90000000. */ -+/* Please refer to SMC section in AT91SAM9x datasheet to learn how */ -+/* to generate these values. */ -+/* ******************************************************************** */ -+#define AT91C_SM_NWE_SETUP (1 << 0) -+#define AT91C_SM_NCS_WR_SETUP (0 << 8) -+#define AT91C_SM_NRD_SETUP (1 << 16) -+#define AT91C_SM_NCS_RD_SETUP (0 << 24) -+ -+#define AT91C_SM_NWE_PULSE (3 << 0) -+#define AT91C_SM_NCS_WR_PULSE (3 << 8) -+#define AT91C_SM_NRD_PULSE (3 << 16) -+#define AT91C_SM_NCS_RD_PULSE (3 << 24) -+ -+#define AT91C_SM_NWE_CYCLE (5 << 0) -+#define AT91C_SM_NRD_CYCLE (5 << 16) -+ -+#define AT91C_SM_TDF (2 << 16) -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */ -+ -+#define MACH_TYPE 0x6AE /* USB-A9263 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#undef CFG_DEBUG -+#undef CFG_DATAFLASH -+ -+#define CFG_NANDFLASH -+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */ -+ -+#define CFG_HW_INIT -+#define CFG_SDRAM -+ -+ -+#endif /* _USB_A9263_H */ -diff --git a/board/usb_a9263/usb_a9263.c b/board/usb_a9263/usb_a9263.c -new file mode 100644 -index 0000000..5630f99 ---- /dev/null -+++ b/board/usb_a9263/usb_a9263.c -@@ -0,0 +1,285 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2006, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaiimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb_a9263.c -+ * Object : -+ * Creation : GH Jun 28th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#include "../../include/part.h" -+#include "../../include/gpio.h" -+#include "../../include/pmc.h" -+#include "../../include/debug.h" -+#include "../../include/sdramc.h" -+#include "../../include/main.h" -+#ifdef CFG_NANDFLASH -+#include "../../include/nandflash.h" -+#endif -+#ifdef CFG_DATAFLASH -+#include "../../include/dataflash.h" -+#endif -+ -+static inline unsigned int get_cp15(void) -+{ -+ unsigned int value; -+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value)); -+ return value; -+} -+ -+static inline void set_cp15(unsigned int value) -+{ -+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value)); -+} -+ -+ -+#ifdef CFG_HW_INIT -+/*---------------------------------------------------------------------------- */ -+/* \fn hw_init */ -+/* \brief This function performs very low level HW initialization */ -+/* This function is invoked as soon as possible during the c_startup */ -+/* The bss segment must be initialized */ -+/*---------------------------------------------------------------------------- */ -+void hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc hw_pio[] = { -+#ifdef CFG_DEBUG -+ {"RXD", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"TXD", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Disable watchdog */ -+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); -+ -+ /* At this stage the main oscillator is supposed to be enabled -+ * PCK = MCK = MOSC */ -+ -+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */ -+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* PCK = PLLA = 2 * MCK */ -+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT); -+ /* Switch MCK on PLLA output */ -+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ -+ /* Configure PLLB */ -+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure the PIO controller to output PCK0 */ -+ pio_setup(hw_pio); -+ -+ /* Configure the EBI0 Slave Slot Cycle to 64 */ -+ writel( (readl((AT91C_BASE_MATRIX + MATRIX_SCFG4)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG4)); -+ -+#ifdef CFG_DEBUG -+ /* Enable Debug messages on the DBGU */ -+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200)); -+ dbg_print("Start AT91Bootstrap...\n\r"); -+#endif /* CFG_DEBUG */ -+ -+#ifdef CFG_SDRAM -+ /* Initialize the matrix */ -+ /* VDDIOMSEL = 1 -> Memories are 3.3V powered */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | (1 << 16) | AT91C_EBI_CS1A_SDRAMC, AT91C_BASE_CCFG + CCFG_EBI0CSA); -+ -+ /* Configure SDRAM Controller */ -+ sdram_init( AT91C_SDRAMC_NC_9 | -+ AT91C_SDRAMC_NR_13 | -+ AT91C_SDRAMC_CAS_2 | -+ AT91C_SDRAMC_NB_4_BANKS | -+ AT91C_SDRAMC_DBW_32_BITS | -+ AT91C_SDRAMC_TWR_2 | -+ AT91C_SDRAMC_TRC_7 | -+ AT91C_SDRAMC_TRP_2 | -+ AT91C_SDRAMC_TRCD_2 | -+ AT91C_SDRAMC_TRAS_5 | -+ AT91C_SDRAMC_TXSR_8, /* Control Register */ -+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */ -+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */ -+#endif /* CFG_SDRAM */ -+} -+#endif /* CFG_HW_INIT */ -+ -+ -+#ifdef CFG_SDRAM -+//*---------------------------------------------------------------------------- -+//* \fn sdramc_hw_init -+//* \brief This function performs SDRAMC HW initialization -+//*----------------------------------------------------------------------------*/ -+void sdramc_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc sdramc_pio[] = { -+ {"D16", AT91C_PIN_PD(16), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D17", AT91C_PIN_PD(17), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D18", AT91C_PIN_PD(18), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D19", AT91C_PIN_PD(19), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D20", AT91C_PIN_PD(20), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D21", AT91C_PIN_PD(21), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D22", AT91C_PIN_PD(22), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D23", AT91C_PIN_PD(23), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D24", AT91C_PIN_PD(24), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D25", AT91C_PIN_PD(25), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D26", AT91C_PIN_PD(26), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D27", AT91C_PIN_PD(27), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D28", AT91C_PIN_PD(28), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D29", AT91C_PIN_PD(29), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D30", AT91C_PIN_PD(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D31", AT91C_PIN_PD(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the SDRAMC PIO controller */ -+ pio_setup(sdramc_pio); -+} -+#endif -+ -+#ifdef CFG_DATAFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn df_recovery */ -+/* \brief This function erases DataFlash Page 0 if USER PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+void df_recovery(AT91PS_DF pDf) -+{ -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USER PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if ( !pio_get_value(AT91C_PIN_PB(10)) ) -+ df_page_erase(pDf, 0); -+#endif -+} -+/*------------------------------------------------------------------------------*/ -+/* \fn df_hw_init */ -+/* \brief This function performs DataFlash HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void df_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc df_pio[] = { -+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_B}, -+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_B}, -+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_B}, -+ {"NPCS0", AT91C_PIN_PA(5), 0, PIO_DEFAULT, PIO_PERIPH_B}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ pio_setup(df_pio); -+} -+#endif /* CFG_DATAFLASH */ -+ -+ -+#ifdef CFG_NANDFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn nand_recovery */ -+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+static void nand_recovery(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc usrpb_pio[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb_pio); -+ -+ /* If USER PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if (!pio_get_value(AT91C_PIN_PB(10)) ) -+ AT91F_NandEraseBlock0(); -+} -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_hw_init */ -+/* \brief NandFlash HW init */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc nand_pio[] = { -+ {"RDY_BSY", AT91C_PIN_PA(22), 0, PIO_PULLUP, PIO_INPUT}, -+ {"NANDCS", AT91C_PIN_PD(15), 0, PIO_PULLUP, PIO_OUTPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBI0CSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBI0CSA); -+ -+ /* Configure SMC CS3 */ -+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC0 + SMC_SETUP3); -+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC0 + SMC_PULSE3); -+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC0 + SMC_CYCLE3); -+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE | -+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC0 + SMC_CTRL3); -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOA), PMC_PCER + AT91C_BASE_PMC); -+ writel((1 << AT91C_ID_PIOCDE), PMC_PCER + AT91C_BASE_PMC); -+ -+ pio_setup(nand_pio); -+ -+ nand_recovery(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_16bits_dbw_init */ -+/* \brief Configure SMC in 16 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_16bits_dbw_init(void) -+{ -+ writel(readl(AT91C_BASE_SMC0 + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC0 + SMC_CTRL3); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_8bits_dbw_init */ -+/* \brief Configure SMC in 8 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_8bits_dbw_init(void) -+{ -+ writel((readl(AT91C_BASE_SMC0 + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC0 + SMC_CTRL3); -+} -+ -+#endif /* #ifdef CFG_NANDFLASH */ -+ -+ -diff --git a/crt0_gnu.S b/crt0_gnu.S -index 042b617..002feef 100644 ---- a/crt0_gnu.S -+++ b/crt0_gnu.S -@@ -106,6 +106,13 @@ _relocate_to_sram: - #endif /* CFG_NORFLASH */ - - _setup_clocks: -+/* Test if main osc is bypassed */ -+ ldr r0,=AT91C_PMC_MOR -+ ldr r1, [r0] -+ ldr r2,=AT91C_CKGR_OSCBYPASS -+ ands r1, r1, r2 -+ bne _init_data /* branch if OSCBYPASS=1 */ -+ - /* Test if main oscillator is enabled */ - ldr r0,=AT91C_PMC_SR - ldr r1, [r0] -diff --git a/driver/dataflash.c b/driver/dataflash.c -index e28e49e..4de295a 100644 ---- a/driver/dataflash.c -+++ b/driver/dataflash.c -@@ -293,14 +293,14 @@ static int df_init (AT91PS_DF pDf) - pDf->dfDescription.pages_size = 264; - pDf->dfDescription.page_offset = 9; - break; -- -+*/ - case AT45DB021B: - pDf->dfDescription.pages_number = 1024; - pDf->dfDescription.pages_size = 264; - pDf->dfDescription.page_offset = 9; - break; - -- case AT45DB041B: -+/* case AT45DB041B: - pDf->dfDescription.pages_number = 2048; - pDf->dfDescription.pages_size = 264; - pDf->dfDescription.page_offset = 9; -@@ -373,7 +373,7 @@ int load_df(unsigned int pcs, unsigned int img_addr, unsigned int img_size, unsi - if (!df_init(pDf)) - return -1; - --#if defined(AT91SAM9260) || defined(AT91SAM9XE) || defined(AT91SAM9G20) -+#if defined(AT91SAM9260) || defined(AT91SAM9263) || defined(AT91SAM9XE) || defined(AT91SAM9G20) - /* Test if a button has been pressed or not */ - /* Erase Page 0 to avoid infinite loop */ - df_recovery(pDf); -diff --git a/include/part.h b/include/part.h -index ba5985a..a1863d0 100644 ---- a/include/part.h -+++ b/include/part.h -@@ -61,7 +61,11 @@ - - #ifdef AT91SAM9263 - #include "AT91SAM9263_inc.h" --#include "at91sam9263ek.h" -+ #ifdef at91sam9263ek -+ #include "at91sam9263ek.h" -+ #elif usb_a9263 -+ #include "usb-a9263.h" -+ #endif - #endif - - #ifdef AT91CAP9 --- -1.5.6.3 - diff --git a/board/calao/usb-a9263/linux-3.4.4.config b/board/calao/usb-a9263/linux-3.4.4.config deleted file mode 100644 index 8c71231f38..0000000000 --- a/board/calao/usb-a9263/linux-3.4.4.config +++ /dev/null @@ -1,102 +0,0 @@ -CONFIG_EXPERIMENTAL=y -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91SAM9263=y -CONFIG_MACH_USB_A9263=y -CONFIG_AT91_SLOW_CLOCK=y -# CONFIG_ARM_THUMB is not set -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="mem=64M console=ttyS0,115200" -CONFIG_FPE_NWFPE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_IP_MROUTE=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -# CONFIG_IPV6 is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_NAND_ATMEL_ECC_SOFT=y -CONFIG_MTD_UBI=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_EVBUG=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_SPI=y -CONFIG_SPI_ATMEL=y -# CONFIG_HWMON is not set -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_DEVICEFS=y -CONFIG_USB_MON=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_EXT2_FS=y -CONFIG_FUSE_FS=m -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_XATTR=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_LL=y diff --git a/board/calao/usb-a9g20-lpw/linux-3.4.4.config b/board/calao/usb-a9g20-lpw/linux-3.4.4.config deleted file mode 100644 index 56eb04bd73..0000000000 --- a/board/calao/usb-a9g20-lpw/linux-3.4.4.config +++ /dev/null @@ -1,105 +0,0 @@ -CONFIG_EXPERIMENTAL=y -# CONFIG_LOCALVERSION_AUTO is not set -# CONFIG_SWAP is not set -CONFIG_SYSVIPC=y -CONFIG_LOG_BUF_SHIFT=14 -CONFIG_SLAB=y -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -# CONFIG_BLK_DEV_BSG is not set -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_IOSCHED_CFQ is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91SAM9G20=y -CONFIG_MACH_USB_A9G20=y -CONFIG_AT91_SLOW_CLOCK=y -# CONFIG_ARM_THUMB is not set -CONFIG_AEABI=y -CONFIG_ZBOOT_ROM_TEXT=0x0 -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="mem=64M console=ttyS0,115200" -CONFIG_FPE_NWFPE=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_IP_MROUTE=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -# CONFIG_INET_XFRM_MODE_TRANSPORT is not set -# CONFIG_INET_XFRM_MODE_TUNNEL is not set -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -# CONFIG_INET_DIAG is not set -# CONFIG_IPV6 is not set -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_CHAR=y -CONFIG_MTD_BLOCK=y -CONFIG_MTD_DATAFLASH=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_ATMEL=y -CONFIG_MTD_UBI=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_SCSI=y -CONFIG_BLK_DEV_SD=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_NETDEVICES=y -CONFIG_MII=y -CONFIG_MACB=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_EVDEV=y -CONFIG_INPUT_EVBUG=y -# CONFIG_KEYBOARD_ATKBD is not set -CONFIG_KEYBOARD_GPIO=y -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -CONFIG_HW_RANDOM=y -CONFIG_I2C=y -CONFIG_I2C_GPIO=y -CONFIG_SPI=y -CONFIG_SPI_ATMEL=y -# CONFIG_HWMON is not set -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_DEVICEFS=y -CONFIG_USB_MON=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_STORAGE=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETH=m -CONFIG_NEW_LEDS=y -CONFIG_LEDS_CLASS=y -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGERS=y -CONFIG_LEDS_TRIGGER_HEARTBEAT=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_RV3029C2=y -CONFIG_EXT2_FS=y -CONFIG_FUSE_FS=m -CONFIG_VFAT_FS=y -CONFIG_TMPFS=y -CONFIG_JFFS2_FS=y -CONFIG_UBIFS_FS=y -CONFIG_UBIFS_FS_XATTR=y -CONFIG_UBIFS_FS_ADVANCED_COMPR=y -CONFIG_NFS_FS=y -CONFIG_NFS_V3=y -CONFIG_NFS_V3_ACL=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_KERNEL=y -CONFIG_DEBUG_USER=y -CONFIG_DEBUG_LL=y diff --git a/board/calao/usb-a9g20-lpw/patches/at91bootstrap/0001-usb-a9g20-lpw.patch b/board/calao/usb-a9g20-lpw/patches/at91bootstrap/0001-usb-a9g20-lpw.patch deleted file mode 100644 index 06a89edd6b..0000000000 --- a/board/calao/usb-a9g20-lpw/patches/at91bootstrap/0001-usb-a9g20-lpw.patch +++ /dev/null @@ -1,610 +0,0 @@ -From 8d84757d5170969e8bdfebc7951f43c5aa2b05fd Mon Sep 17 00:00:00 2001 -From: Gregory Hermant <gregory.hermant@calao-systems.com> -Date: Fri, 6 Jul 2012 16:32:47 +0200 -Subject: [PATCH] Add support for the Calao-systems USB-A9G20-LPW - - -Signed-off-by: Gregory Hermant <gregory.hermant@calao-systems.com> ---- - board/usb_a9g20_lpw/nandflash/Makefile | 121 ++++++++++ - board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h | 112 +++++++++ - board/usb_a9g20_lpw/usb_a9g20_lpw.c | 303 +++++++++++++++++++++++++ - crt0_gnu.S | 7 + - include/part.h | 6 +- - 5 files changed, 548 insertions(+), 1 deletions(-) - create mode 100644 board/usb_a9g20_lpw/nandflash/Makefile - create mode 100644 board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h - create mode 100644 board/usb_a9g20_lpw/usb_a9g20_lpw.c - -diff --git a/board/usb_a9g20_lpw/nandflash/Makefile b/board/usb_a9g20_lpw/nandflash/Makefile -new file mode 100644 -index 0000000..8c9d99a ---- /dev/null -+++ b/board/usb_a9g20_lpw/nandflash/Makefile -@@ -0,0 +1,121 @@ -+# TODO: set this appropriately for your local toolchain -+ifndef ERASE_FCT -+ERASE_FCT=rm -f -+endif -+ifndef CROSS_COMPILE -+CROSS_COMPILE=arm-elf- -+endif -+ -+TOOLCHAIN=gcc -+ -+BOOTSTRAP_PATH=../../.. -+ -+# NandFlashBoot Configuration for USB-A9G20-LPW -+ -+# Target name (case sensitive!!!) -+TARGET=AT91SAM9G20 -+# Board name (case sensitive!!!) -+BOARD=usb_a9g20_lpw -+# Link Address and Top_of_Memory -+LINK_ADDR=0x200000 -+TOP_OF_MEMORY=0x301000 -+# Name of current directory -+PROJECT=nandflash -+ -+ifndef BOOT_NAME -+BOOT_NAME=$(PROJECT)_$(BOARD) -+endif -+ -+INCL=./$(BOOTSTRAP_PATH)/board/$(BOARD)/$(PROJECT) -+ -+ifeq ($(TOOLCHAIN), gcc) -+ -+AS=$(CROSS_COMPILE)gcc -+CC=$(CROSS_COMPILE)gcc -+LD=$(CROSS_COMPILE)gcc -+NM= $(CROSS_COMPILE)nm -+SIZE=$(CROSS_COMPILE)size -+OBJCOPY=$(CROSS_COMPILE)objcopy -+OBJDUMP=$(CROSS_COMPILE)objdump -+CCFLAGS=-g -mcpu=arm926ej-s -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -+ASFLAGS=-g -mcpu=arm926ej-s -c -Os -Wall -D$(TARGET) -D$(BOARD) -I$(INCL) -DTOP_OF_MEM=$(TOP_OF_MEMORY) -+ -+# Linker flags. -+# -Wl,...: tell GCC to pass this to linker. -+# -Map: create map file -+# --cref: add cross reference to map file -+LDFLAGS+=-nostartfiles -nostdlib -Wl,-Map=$(BOOT_NAME).map,--cref -+LDFLAGS+=-T $(BOOTSTRAP_PATH)/elf32-littlearm.lds -Ttext $(LINK_ADDR) -+OBJS=crt0_gnu.o -+ -+endif -+ -+OBJS+=\ -+ $(BOARD).o \ -+ main.o \ -+ gpio.o \ -+ pmc.o \ -+ debug.o \ -+ sdramc.o \ -+ nandflash.o \ -+ _udivsi3.o \ -+ _umodsi3.o \ -+ div0.o \ -+ udiv.o \ -+ string.o -+ -+rebuild: clean all -+ -+all: $(BOOT_NAME) -+ -+ifeq ($(TOOLCHAIN), gcc) -+$(BOOT_NAME): $(OBJS) -+ $(LD) $(LDFLAGS) -n -o $(BOOT_NAME).elf $(OBJS) -+ $(OBJCOPY) --strip-debug --strip-unneeded $(BOOT_NAME).elf -O binary $(BOOT_NAME).bin -+endif -+ -+ -+$(BOARD).o: $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/board/$(BOARD)/$(BOARD).c -o $(BOARD).o -+ -+main.o: $(BOOTSTRAP_PATH)/main.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/main.c -o main.o -+ -+gpio.o: $(BOOTSTRAP_PATH)/driver/gpio.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/gpio.c -o gpio.o -+ -+pmc.o: $(BOOTSTRAP_PATH)/driver/pmc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/pmc.c -o pmc.o -+ -+debug.o: $(BOOTSTRAP_PATH)/driver/debug.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/debug.c -o debug.o -+ -+sdramc.o: $(BOOTSTRAP_PATH)/driver/sdramc.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/sdramc.c -o sdramc.o -+ -+dataflash.o: $(BOOTSTRAP_PATH)/driver/dataflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/dataflash.c -o dataflash.o -+ -+nandflash.o: $(BOOTSTRAP_PATH)/driver/nandflash.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/driver/nandflash.c -o nandflash.o -+ -+crt0_gnu.o: $(BOOTSTRAP_PATH)/crt0_gnu.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/crt0_gnu.S -o crt0_gnu.o -+ -+div0.o: $(BOOTSTRAP_PATH)/lib/div0.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/div0.c -o div0.o -+ -+string.o: $(BOOTSTRAP_PATH)/lib/string.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/string.c -o string.o -+ -+udiv.o: $(BOOTSTRAP_PATH)/lib/udiv.c -+ $(CC) -c $(CCFLAGS) $(BOOTSTRAP_PATH)/lib/udiv.c -o udiv.o -+ -+_udivsi3.o: $(BOOTSTRAP_PATH)/lib/_udivsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_udivsi3.S -o _udivsi3.o -+ -+_umodsi3.o: $(BOOTSTRAP_PATH)/lib/_umodsi3.S -+ $(AS) $(ASFLAGS) $(BOOTSTRAP_PATH)/lib/_umodsi3.S -o _umodsi3.o -+ -+clean: -+ $(ERASE_FCT) *.o *.bin *.elf *.map -diff --git a/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h -new file mode 100644 -index 0000000..c0bdc6e ---- /dev/null -+++ b/board/usb_a9g20_lpw/nandflash/usb-a9g20-lpw.h -@@ -0,0 +1,112 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2008, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb-a9g20-lpw.h -+ * Object : -+ * Creation : GH July 6th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#ifndef _USB_A9G20_LPW_H -+#define _USB_A9G20_LPW_H -+ -+/* ******************************************************************* */ -+/* PMC Settings */ -+/* */ -+/* The main oscillator is enabled as soon as possible in the c_startup */ -+/* and MCK is switched on the main oscillator. */ -+/* PLL initialization is done later in the hw_init() function */ -+/* ******************************************************************* */ -+#define MASTER_CLOCK (133000000) -+#define PLL_LOCK_TIMEOUT 1000000 -+ -+/* Set PLLA to 798Mhz */ -+#define PLLA_SETTINGS 0x20843F02 -+#define PLLB_SETTINGS 0x100F3F02 -+ -+/* Switch MCK on PLLA output PCK = PLLA/2 = 3 * MCK */ -+#define MCKR_SETTINGS 0x1300 -+#define MCKR_CSS_SETTINGS (AT91C_PMC_CSS_PLLA_CLK | MCKR_SETTINGS) -+ -+/* ******************************************************************* */ -+/* NandFlash Settings */ -+/* */ -+/* ******************************************************************* */ -+#define AT91C_SMARTMEDIA_BASE 0x40000000 -+ -+#define AT91_SMART_MEDIA_ALE (1 << 21) /* our ALE is AD21 */ -+#define AT91_SMART_MEDIA_CLE (1 << 22) /* our CLE is AD22 */ -+ -+#define NAND_DISABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_SODR = AT91C_PIO_PC14;} while(0) -+#define NAND_ENABLE_CE() do { *(volatile unsigned int *)AT91C_PIOC_CODR = AT91C_PIO_PC14;} while(0) -+ -+#define NAND_WAIT_READY() while (!(*(volatile unsigned int *)AT91C_PIOC_PDSR & AT91C_PIO_PC13)) -+ -+ -+/* ******************************************************************** */ -+/* SMC Chip Select 3 Timings for NandFlash for MASTER_CLOCK = 133000000.*/ -+/* Please refer to SMC section in AT91SAM9 datasheet to learn how */ -+/* to generate these values. */ -+/* ******************************************************************** */ -+#define AT91C_SM_NWE_SETUP (2 << 0) -+#define AT91C_SM_NCS_WR_SETUP (0 << 8) -+#define AT91C_SM_NRD_SETUP (2 << 16) -+#define AT91C_SM_NCS_RD_SETUP (0 << 24) -+ -+#define AT91C_SM_NWE_PULSE (4 << 0) -+#define AT91C_SM_NCS_WR_PULSE (4 << 8) -+#define AT91C_SM_NRD_PULSE (4 << 16) -+#define AT91C_SM_NCS_RD_PULSE (4 << 24) -+ -+#define AT91C_SM_NWE_CYCLE (7 << 0) -+#define AT91C_SM_NRD_CYCLE (7 << 16) -+ -+#define AT91C_SM_TDF (3 << 16) -+ -+/* ******************************************************************* */ -+/* BootStrap Settings */ -+/* */ -+/* ******************************************************************* */ -+#define IMG_ADDRESS 0x20000 /* Image Address in NandFlash */ -+#define IMG_SIZE 0x40000 /* Image Size in NandFlash */ -+ -+#define MACH_TYPE 0x731 /* USB-A9G20 */ -+#define JUMP_ADDR 0x23F00000 /* Final Jump Address */ -+ -+/* ******************************************************************* */ -+/* Application Settings */ -+/* ******************************************************************* */ -+#undef CFG_DEBUG -+#undef CFG_DATAFLASH -+ -+#define CFG_NANDFLASH -+#undef NANDFLASH_SMALL_BLOCKS /* NANDFLASH_LARGE_BLOCKS used instead */ -+#undef CFG_NANDFLASH_RECOVERY -+ -+#define CFG_SDRAM -+#define CFG_HW_INIT -+ -+#endif /* _USB_A9G20_LPW_H */ -diff --git a/board/usb_a9g20_lpw/usb_a9g20_lpw.c b/board/usb_a9g20_lpw/usb_a9g20_lpw.c -new file mode 100644 -index 0000000..c372307 ---- /dev/null -+++ b/board/usb_a9g20_lpw/usb_a9g20_lpw.c -@@ -0,0 +1,303 @@ -+/* ---------------------------------------------------------------------------- -+ * ATMEL Microcontroller Software Support - ROUSSET - -+ * ---------------------------------------------------------------------------- -+ * Copyright (c) 2008, Atmel Corporation -+ -+ * All rights reserved. -+ * -+ * Redistribution and use in source and binary forms, with or without -+ * modification, are permitted provided that the following conditions are met: -+ * -+ * - Redistributions of source code must retain the above copyright notice, -+ * this list of conditions and the disclaimer below. -+ * -+ * Atmel's name may not be used to endorse or promote products derived from -+ * this software without specific prior written permission. -+ * -+ * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR -+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE -+ * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, -+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, -+ * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -+ * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -+ * ---------------------------------------------------------------------------- -+ * File Name : usb_a9g20_lpw.c -+ * Object : -+ * Creation : GH July 6th 2012 -+ *----------------------------------------------------------------------------- -+ */ -+#include "../../include/part.h" -+#include "../../include/gpio.h" -+#include "../../include/pmc.h" -+#include "../../include/debug.h" -+#include "../../include/sdramc.h" -+#include "../../include/main.h" -+#ifdef CFG_NANDFLASH -+#include "../../include/nandflash.h" -+#endif -+#ifdef CFG_DATAFLASH -+#include "../../include/dataflash.h" -+#endif -+ -+static inline unsigned int get_cp15(void) -+{ -+ unsigned int value; -+ __asm__("mrc p15, 0, %0, c1, c0, 0" : "=r" (value)); -+ return value; -+} -+ -+static inline void set_cp15(unsigned int value) -+{ -+ __asm__("mcr p15, 0, %0, c1, c0, 0" : : "r" (value)); -+} -+ -+#ifdef CFG_HW_INIT -+/*----------------------------------------------------------------------------*/ -+/* \fn hw_init */ -+/* \brief This function performs very low level HW initialization */ -+/* This function is invoked as soon as possible during the c_startup */ -+/* The bss segment must be initialized */ -+/*----------------------------------------------------------------------------*/ -+void hw_init(void) -+{ -+ unsigned int cp15; -+ -+ /* Configure PIOs */ -+ const struct pio_desc hw_pio[] = { -+#ifdef CFG_DEBUG -+ {"RXD", AT91C_PIN_PB(14), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"TXD", AT91C_PIN_PB(15), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Disable watchdog */ -+ writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); -+ -+ /* At this stage the main oscillator is supposed to be enabled -+ * PCK = MCK = MOSC */ -+ writel(0x00, AT91C_BASE_PMC + PMC_PLLICPR); -+ -+ /* Configure PLLA = MOSC * (PLL_MULA + 1) / PLL_DIVA */ -+ pmc_cfg_plla(PLLA_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* PCK = PLLA/2 = 3 * MCK */ -+ pmc_cfg_mck(MCKR_SETTINGS, PLL_LOCK_TIMEOUT); -+ /* Switch MCK on PLLA output */ -+ pmc_cfg_mck(MCKR_CSS_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure PLLB */ -+ pmc_cfg_pllb(PLLB_SETTINGS, PLL_LOCK_TIMEOUT); -+ -+ /* Configure CP15 */ -+ cp15 = get_cp15(); -+ cp15 |= I_CACHE; -+ set_cp15(cp15); -+ -+ /* Configure the PIO controller */ -+ pio_setup(hw_pio); -+ -+ /* Configure the EBI Slave Slot Cycle to 64 */ -+ writel((readl((AT91C_BASE_MATRIX + MATRIX_SCFG3)) & ~0xFF) | 0x40, (AT91C_BASE_MATRIX + MATRIX_SCFG3)); -+ -+#ifdef CFG_DEBUG -+ /* Enable Debug messages on the DBGU */ -+ dbg_init(BAUDRATE(MASTER_CLOCK, 115200)); -+ -+ dbg_print("Start AT91Bootstrap...\n\r"); -+#endif /* CFG_DEBUG */ -+ -+#ifdef CFG_SDRAM -+ /* Initialize the matrix (VDDIOSEL=0: memory voltage = 1.8V ) */ -+ writel((readl(AT91C_BASE_CCFG + CCFG_EBICSA) & ~0x00010000) | AT91C_EBI_CS1A_SDRAMC , AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SDRAM Controller */ -+ sdram_init( AT91C_SDRAMC_NC_9 | -+ AT91C_SDRAMC_NR_13 | -+ AT91C_SDRAMC_CAS_3 | -+ AT91C_SDRAMC_NB_4_BANKS | -+ AT91C_SDRAMC_DBW_32_BITS | -+ AT91C_SDRAMC_TWR_3 | -+ AT91C_SDRAMC_TRC_9 | -+ AT91C_SDRAMC_TRP_3 | -+ AT91C_SDRAMC_TRCD_3 | -+ AT91C_SDRAMC_TRAS_6 | -+ AT91C_SDRAMC_TXSR_10, /* Control Register */ -+ (MASTER_CLOCK * 7)/1000000, /* Refresh Timer Register */ -+ AT91C_SDRAMC_MD_SDRAM); /* SDRAM (no low power) */ -+ -+#endif /* CFG_SDRAM */ -+} -+#endif /* CFG_HW_INIT */ -+ -+#ifdef CFG_SDRAM -+/*------------------------------------------------------------------------------*/ -+/* \fn sdramc_hw_init */ -+/* \brief This function performs SDRAMC HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void sdramc_hw_init(void) -+{ -+ /* Configure PIOs */ -+/* const struct pio_desc sdramc_pio[] = { -+ {"D16", AT91C_PIN_PC(16), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D17", AT91C_PIN_PC(17), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D18", AT91C_PIN_PC(18), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D19", AT91C_PIN_PC(19), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D20", AT91C_PIN_PC(20), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D21", AT91C_PIN_PC(21), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D22", AT91C_PIN_PC(22), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D23", AT91C_PIN_PC(23), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D24", AT91C_PIN_PC(24), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D25", AT91C_PIN_PC(25), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D26", AT91C_PIN_PC(26), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D27", AT91C_PIN_PC(27), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D28", AT91C_PIN_PC(28), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D29", AT91C_PIN_PC(29), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D30", AT91C_PIN_PC(30), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"D31", AT91C_PIN_PC(31), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+*/ -+ /* Configure the SDRAMC PIO controller to output PCK0 */ -+/* pio_setup(sdramc_pio); */ -+ -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_ASR(0)); -+ writel(0xFFFF0000, AT91C_BASE_PIOC + PIO_PDR(0)); -+ -+} -+#endif /* CFG_SDRAM */ -+ -+#ifdef CFG_DATAFLASH -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_recovery */ -+/* \brief This function erases DataFlash Page 0 if USR PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+void df_recovery(AT91PS_DF pDf) -+{ -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH) -+ /* Configure PIOs */ -+ const struct pio_desc usrpb[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb); -+ -+ /* If USR PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if ( !pio_get_value(AT91C_PIN_PB(10)) ) -+ df_page_erase(pDf, 0); -+#endif -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn df_hw_init */ -+/* \brief This function performs DataFlash HW initialization */ -+/*------------------------------------------------------------------------------*/ -+void df_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc df_pio[] = { -+ {"MISO", AT91C_PIN_PA(0), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"MOSI", AT91C_PIN_PA(1), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ {"SPCK", AT91C_PIN_PA(2), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS0_DATAFLASH) -+ {"NPCS0", AT91C_PIN_PA(3), 0, PIO_DEFAULT, PIO_PERIPH_A}, -+#endif -+#if (AT91C_SPI_PCS_DATAFLASH == AT91C_SPI_PCS1_DATAFLASH) -+ {"NPCS1", AT91C_PIN_PC(11), 0, PIO_DEFAULT, PIO_PERIPH_B}, -+#endif -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ pio_setup(df_pio); -+} -+#endif /* CFG_DATAFLASH */ -+ -+ -+ -+#ifdef CFG_NANDFLASH -+/*------------------------------------------------------------------------------*/ -+/* \fn nand_recovery */ -+/* \brief This function erases NandFlash Block 0 if USER PB is pressed */ -+/* during boot sequence */ -+/*------------------------------------------------------------------------------*/ -+#ifdef CFG_NANDFLASH_RECOVERY -+static void nand_recovery(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc usrpb[] = { -+ {"USRPB", AT91C_PIN_PB(10), 0, PIO_PULLUP, PIO_INPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOB), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(usrpb); -+ -+ /* If USER PB is pressed during Boot sequence */ -+ /* Erase NandFlash block 0*/ -+ if (!pio_get_value(AT91C_PIN_PB(10)) ) -+ AT91F_NandEraseBlock0(); -+} -+#else -+static void nand_recovery(void) {} -+#endif -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_hw_init */ -+/* \brief NandFlash HW init */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_hw_init(void) -+{ -+ /* Configure PIOs */ -+ const struct pio_desc nand_pio[] = { -+ {"RDY_BSY", AT91C_PIN_PC(13), 0, PIO_PULLUP, PIO_INPUT}, -+ {"NANDCS", AT91C_PIN_PC(14), 0, PIO_PULLUP, PIO_OUTPUT}, -+ {(char *) 0, 0, 0, PIO_DEFAULT, PIO_PERIPH_A}, -+ }; -+ -+ /* Setup Smart Media, first enable the address range of CS3 in HMATRIX user interface */ -+ writel(readl(AT91C_BASE_CCFG + CCFG_EBICSA) | AT91C_EBI_CS3A_SM, AT91C_BASE_CCFG + CCFG_EBICSA); -+ -+ /* Configure SMC CS3 */ -+ writel((AT91C_SM_NWE_SETUP | AT91C_SM_NCS_WR_SETUP | AT91C_SM_NRD_SETUP | AT91C_SM_NCS_RD_SETUP), AT91C_BASE_SMC + SMC_SETUP3); -+ writel((AT91C_SM_NWE_PULSE | AT91C_SM_NCS_WR_PULSE | AT91C_SM_NRD_PULSE | AT91C_SM_NCS_RD_PULSE), AT91C_BASE_SMC + SMC_PULSE3); -+ writel((AT91C_SM_NWE_CYCLE | AT91C_SM_NRD_CYCLE) , AT91C_BASE_SMC + SMC_CYCLE3); -+ writel((AT91C_SMC_READMODE | AT91C_SMC_WRITEMODE | AT91C_SMC_NWAITM_NWAIT_DISABLE | -+ AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS | AT91C_SM_TDF) , AT91C_BASE_SMC + SMC_CTRL3); -+ -+ /* Configure the PIO controller */ -+ writel((1 << AT91C_ID_PIOC), PMC_PCER + AT91C_BASE_PMC); -+ pio_setup(nand_pio); -+ -+ nand_recovery(); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_16bits_dbw_init */ -+/* \brief Configure SMC in 16 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_16bits_dbw_init(void) -+{ -+ writel(readl(AT91C_BASE_SMC + SMC_CTRL3) | AT91C_SMC_DBW_WIDTH_SIXTEEN_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+/*------------------------------------------------------------------------------*/ -+/* \fn nandflash_cfg_8bits_dbw_init */ -+/* \brief Configure SMC in 8 bits mode */ -+/*------------------------------------------------------------------------------*/ -+void nandflash_cfg_8bits_dbw_init(void) -+{ -+ writel((readl(AT91C_BASE_SMC + SMC_CTRL3) & ~(AT91C_SMC_DBW)) | AT91C_SMC_DBW_WIDTH_EIGTH_BITS, AT91C_BASE_SMC + SMC_CTRL3); -+} -+ -+#endif /* #ifdef CFG_NANDFLASH */ -diff --git a/crt0_gnu.S b/crt0_gnu.S -index 042b617..002feef 100644 ---- a/crt0_gnu.S -+++ b/crt0_gnu.S -@@ -106,6 +106,13 @@ _relocate_to_sram: - #endif /* CFG_NORFLASH */ - - _setup_clocks: -+/* Test if main osc is bypassed */ -+ ldr r0,=AT91C_PMC_MOR -+ ldr r1, [r0] -+ ldr r2,=AT91C_CKGR_OSCBYPASS -+ ands r1, r1, r2 -+ bne _init_data /* branch if OSCBYPASS=1 */ -+ - /* Test if main oscillator is enabled */ - ldr r0,=AT91C_PMC_SR - ldr r1, [r0] -diff --git a/include/part.h b/include/part.h -index ba5985a..1d7392a 100644 ---- a/include/part.h -+++ b/include/part.h -@@ -46,7 +46,11 @@ - - #ifdef AT91SAM9G20 - #include "AT91SAM9260_inc.h" --#include "at91sam9g20ek.h" -+ #ifdef at91sam9g20ek -+ #include "at91sam9g20ek.h" -+ #elif usb_a9g20_lpw -+ #include "usb-a9g20-lpw.h" -+ #endif - #endif - - #ifdef AT91SAM9261 --- -1.5.6.3 - diff --git a/board/calao/usb-a9g20-lpw/patches/barebox/0001-usb-a9g20-lpw.patch b/board/calao/usb-a9g20-lpw/patches/barebox/0001-usb-a9g20-lpw.patch deleted file mode 100644 index cea8bb8c0a..0000000000 --- a/board/calao/usb-a9g20-lpw/patches/barebox/0001-usb-a9g20-lpw.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/arch/arm/configs/usb_a9g20_defconfig b/arch/arm/configs/usb_a9g20_defconfig -index 30bf380..7716e0e 100644 ---- a/arch/arm/configs/usb_a9g20_defconfig -+++ b/arch/arm/configs/usb_a9g20_defconfig -@@ -15,6 +15,7 @@ CONFIG_HUSH_FANCY_PROMPT=y - CONFIG_CMDLINE_EDITING=y - CONFIG_AUTO_COMPLETE=y - CONFIG_MENU=y -+# CONFIG_ERRNO_MESSAGES is not set - # CONFIG_CONSOLE_ACTIVATE_FIRST is not set - CONFIG_CONSOLE_ACTIVATE_ALL=y - CONFIG_PARTITION=y diff --git a/board/congatec/qmx6/readme.txt b/board/congatec/qmx6/readme.txt deleted file mode 100644 index d2e0dcacbd..0000000000 --- a/board/congatec/qmx6/readme.txt +++ /dev/null @@ -1,36 +0,0 @@ -This is the minimal buildroot support for the Congatec QMX6 Qseven CoM - -conga-QMX6 is based on the freescale iMX6 SoC. For more information please -have a look at http://www.congatec.com/products/qseven/conga-qmx6.html - -The configuration is based on the currently latest kernel release from -Congatec's git repository which is based on 3.0.35. The bootloader u-boot -is preconfigured on the CPU module and does not need to be replaced. - -To build the default configuration you only have to: - - make qmx6_defconfig && make - -You will need a microSD card of sufficient size and the first or only -partition configured as Linux type. - -To transfer the system to the card do: - - $ sudo dd if=output/images/rootfs.ext2 of=/dev/sdX1 - -You can optionally extend the filesystem size to the whole partition: - - $ sudo resize2fs /dev/sdX1 - -You can also update the card image without completely rewriting it: - - $ sudo mount /dev/sdX1 /mnt - $ sudo tar xf output/images/rootfs.tar -C /mnt - $ sudo umount /mnt - -Connect a terminal program to the rs232 connector marked "CONSOLE" -with baudrate set to 115200, insert the microSD card into the socket -on the CPU module and power the board to watch the system boot. - -Booting from the SD card slot on the base board is currently not -supported. diff --git a/board/freescale/imx31_3stack/linux.fragment b/board/freescale/imx31_3stack/linux.fragment new file mode 100644 index 0000000000..beb6b46f2e --- /dev/null +++ b/board/freescale/imx31_3stack/linux.fragment @@ -0,0 +1 @@ +# CONFIG_FB_MXS is not set diff --git a/board/freescale/p2020ds/linux-3.12.config b/board/freescale/p2020ds/linux-3.12.config deleted file mode 100644 index 7181a6dcb1..0000000000 --- a/board/freescale/p2020ds/linux-3.12.config +++ /dev/null @@ -1,374 +0,0 @@ -CONFIG_PPC_85xx=y -CONFIG_PHYS_64BIT=y -CONFIG_SMP=y -CONFIG_NR_CPUS=8 -CONFIG_SYSVIPC=y -CONFIG_POSIX_MQUEUE=y -CONFIG_FHANDLE=y -CONFIG_AUDIT=y -CONFIG_IRQ_DOMAIN_DEBUG=y -CONFIG_NO_HZ_IDLE=y -CONFIG_HIGH_RES_TIMERS=y -CONFIG_BSD_PROCESS_ACCT=y -CONFIG_IKCONFIG=y -CONFIG_IKCONFIG_PROC=y -CONFIG_LOG_BUF_SHIFT=16 -CONFIG_CGROUPS=y -CONFIG_NAMESPACES=y -CONFIG_EXPERT=y -CONFIG_KALLSYMS_ALL=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_COMPAT_BRK is not set -CONFIG_MODULES=y -CONFIG_MODULE_UNLOAD=y -CONFIG_MODVERSIONS=y -# CONFIG_BLK_DEV_BSG is not set -CONFIG_PARTITION_ADVANCED=y -CONFIG_MAC_PARTITION=y -# CONFIG_IOSCHED_DEADLINE is not set -# CONFIG_POWERNV_MSI is not set -CONFIG_MPC85xx_DS=y -CONFIG_HIGHMEM=y -CONFIG_HOTPLUG_CPU=y -CONFIG_IRQ_ALL_CPUS=y -CONFIG_FORCE_MAX_ZONEORDER=12 -# CONFIG_SUSPEND is not set -CONFIG_PCI=y -CONFIG_PCIEPORTBUS=y -CONFIG_PCI_MSI=y -CONFIG_RAPIDIO=y -CONFIG_NET=y -CONFIG_PACKET=y -CONFIG_UNIX=y -CONFIG_XFRM_USER=y -CONFIG_NET_KEY=m -CONFIG_INET=y -CONFIG_IP_MULTICAST=y -CONFIG_IP_ADVANCED_ROUTER=y -CONFIG_IP_MULTIPLE_TABLES=y -CONFIG_IP_ROUTE_MULTIPATH=y -CONFIG_IP_ROUTE_VERBOSE=y -CONFIG_IP_PNP=y -CONFIG_IP_PNP_DHCP=y -CONFIG_IP_PNP_BOOTP=y -CONFIG_IP_PNP_RARP=y -CONFIG_NET_IPIP=y -CONFIG_IP_MROUTE=y -CONFIG_IP_PIMSM_V1=y -CONFIG_IP_PIMSM_V2=y -CONFIG_INET_ESP=m -CONFIG_INET_XFRM_MODE_TRANSPORT=m -CONFIG_INET_XFRM_MODE_TUNNEL=m -# CONFIG_INET_XFRM_MODE_BEET is not set -# CONFIG_INET_LRO is not set -CONFIG_NETWORK_SECMARK=y -CONFIG_NETFILTER=y -CONFIG_NF_CONNTRACK=m -CONFIG_NF_CONNTRACK_SECMARK=y -CONFIG_NF_CONNTRACK_ZONES=y -CONFIG_NF_CONNTRACK_EVENTS=y -CONFIG_NF_CONNTRACK_TIMEOUT=y -CONFIG_NF_CONNTRACK_TIMESTAMP=y -CONFIG_NF_CT_PROTO_DCCP=m -CONFIG_NF_CT_PROTO_UDPLITE=m -CONFIG_NF_CONNTRACK_AMANDA=m -CONFIG_NF_CONNTRACK_FTP=m -CONFIG_NF_CONNTRACK_H323=m -CONFIG_NF_CONNTRACK_IRC=m -CONFIG_NF_CONNTRACK_NETBIOS_NS=m -CONFIG_NF_CONNTRACK_SNMP=m -CONFIG_NF_CONNTRACK_PPTP=m -CONFIG_NF_CONNTRACK_SANE=m -CONFIG_NF_CONNTRACK_SIP=m -CONFIG_NF_CONNTRACK_TFTP=m -CONFIG_NF_CT_NETLINK=m -CONFIG_NF_CT_NETLINK_TIMEOUT=m -CONFIG_NF_CT_NETLINK_HELPER=m -CONFIG_NETFILTER_NETLINK_QUEUE_CT=y -CONFIG_NETFILTER_XT_TARGET_AUDIT=m -CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m -CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m -CONFIG_NETFILTER_XT_TARGET_CONNMARK=m -CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m -CONFIG_NETFILTER_XT_TARGET_DSCP=m -CONFIG_NETFILTER_XT_TARGET_HMARK=m -CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m -CONFIG_NETFILTER_XT_TARGET_LED=m -CONFIG_NETFILTER_XT_TARGET_LOG=m -CONFIG_NETFILTER_XT_TARGET_MARK=m -CONFIG_NETFILTER_XT_TARGET_NFLOG=m -CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m -CONFIG_NETFILTER_XT_TARGET_NOTRACK=m -CONFIG_NETFILTER_XT_TARGET_TEE=m -CONFIG_NETFILTER_XT_TARGET_TPROXY=m -CONFIG_NETFILTER_XT_TARGET_TRACE=m -CONFIG_NETFILTER_XT_TARGET_SECMARK=m -CONFIG_NETFILTER_XT_TARGET_TCPMSS=m -CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m -CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m -CONFIG_NETFILTER_XT_MATCH_BPF=m -CONFIG_NETFILTER_XT_MATCH_CLUSTER=m -CONFIG_NETFILTER_XT_MATCH_COMMENT=m -CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m -CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m -CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m -CONFIG_NETFILTER_XT_MATCH_CONNMARK=m -CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m -CONFIG_NETFILTER_XT_MATCH_CPU=m -CONFIG_NETFILTER_XT_MATCH_DCCP=m -CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m -CONFIG_NETFILTER_XT_MATCH_DSCP=m -CONFIG_NETFILTER_XT_MATCH_ESP=m -CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m -CONFIG_NETFILTER_XT_MATCH_HELPER=m -CONFIG_NETFILTER_XT_MATCH_IPRANGE=m -CONFIG_NETFILTER_XT_MATCH_LENGTH=m -CONFIG_NETFILTER_XT_MATCH_LIMIT=m -CONFIG_NETFILTER_XT_MATCH_MAC=m -CONFIG_NETFILTER_XT_MATCH_MARK=m -CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m -CONFIG_NETFILTER_XT_MATCH_NFACCT=m -CONFIG_NETFILTER_XT_MATCH_OSF=m -CONFIG_NETFILTER_XT_MATCH_OWNER=m -CONFIG_NETFILTER_XT_MATCH_POLICY=m -CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m -CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m -CONFIG_NETFILTER_XT_MATCH_QUOTA=m -CONFIG_NETFILTER_XT_MATCH_RATEEST=m -CONFIG_NETFILTER_XT_MATCH_REALM=m -CONFIG_NETFILTER_XT_MATCH_RECENT=m -CONFIG_NETFILTER_XT_MATCH_SOCKET=m -CONFIG_NETFILTER_XT_MATCH_STATE=m -CONFIG_NETFILTER_XT_MATCH_STATISTIC=m -CONFIG_NETFILTER_XT_MATCH_STRING=m -CONFIG_NETFILTER_XT_MATCH_TCPMSS=m -CONFIG_NETFILTER_XT_MATCH_TIME=m -CONFIG_NETFILTER_XT_MATCH_U32=m -CONFIG_NF_CONNTRACK_IPV4=m -CONFIG_IP_NF_IPTABLES=m -CONFIG_IP_NF_MATCH_AH=m -CONFIG_IP_NF_MATCH_ECN=m -CONFIG_IP_NF_MATCH_RPFILTER=m -CONFIG_IP_NF_MATCH_TTL=m -CONFIG_IP_NF_FILTER=m -CONFIG_IP_NF_TARGET_REJECT=m -CONFIG_IP_NF_TARGET_SYNPROXY=m -CONFIG_IP_NF_TARGET_ULOG=m -CONFIG_NF_NAT_IPV4=m -CONFIG_IP_NF_TARGET_MASQUERADE=m -CONFIG_IP_NF_TARGET_NETMAP=m -CONFIG_IP_NF_TARGET_REDIRECT=m -CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m -CONFIG_IP_NF_TARGET_ECN=m -CONFIG_IP_NF_TARGET_TTL=m -CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPTABLES=m -CONFIG_IP_NF_ARPFILTER=m -CONFIG_IP_NF_ARP_MANGLE=m -CONFIG_NF_CONNTRACK_IPV6=m -CONFIG_IP6_NF_IPTABLES=m -CONFIG_IP6_NF_MATCH_AH=m -CONFIG_IP6_NF_MATCH_EUI64=m -CONFIG_IP6_NF_MATCH_FRAG=m -CONFIG_IP6_NF_MATCH_OPTS=m -CONFIG_IP6_NF_MATCH_HL=m -CONFIG_IP6_NF_MATCH_IPV6HEADER=m -CONFIG_IP6_NF_MATCH_MH=m -CONFIG_IP6_NF_MATCH_RPFILTER=m -CONFIG_IP6_NF_MATCH_RT=m -CONFIG_IP6_NF_TARGET_HL=m -CONFIG_IP6_NF_FILTER=m -CONFIG_IP6_NF_TARGET_REJECT=m -CONFIG_IP6_NF_TARGET_SYNPROXY=m -CONFIG_IP6_NF_MANGLE=m -CONFIG_IP6_NF_RAW=m -CONFIG_NF_NAT_IPV6=m -CONFIG_IP6_NF_TARGET_MASQUERADE=m -CONFIG_IP6_NF_TARGET_NPT=m -CONFIG_IP_SCTP=m -CONFIG_BRIDGE=m -CONFIG_CFG80211=m -CONFIG_MAC80211=m -CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" -CONFIG_DEVTMPFS=y -CONFIG_DEVTMPFS_MOUNT=y -# CONFIG_FW_LOADER_USER_HELPER is not set -CONFIG_MTD=y -CONFIG_MTD_CMDLINE_PARTS=y -CONFIG_MTD_BLOCK=y -CONFIG_FTL=y -CONFIG_MTD_CFI=y -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_PHYSMAP_OF=y -CONFIG_MTD_M25P80=y -CONFIG_MTD_NAND=y -CONFIG_MTD_NAND_FSL_ELBC=y -CONFIG_MTD_NAND_FSL_IFC=y -CONFIG_MTD_UBI=y -CONFIG_PROC_DEVICETREE=y -CONFIG_BLK_DEV_LOOP=y -CONFIG_BLK_DEV_NBD=y -CONFIG_EEPROM_LEGACY=y -CONFIG_BLK_DEV_SD=y -CONFIG_CHR_DEV_ST=y -CONFIG_BLK_DEV_SR=y -CONFIG_CHR_DEV_SG=y -CONFIG_SCSI_MULTI_LUN=y -CONFIG_SCSI_LOGGING=y -CONFIG_ATA=y -CONFIG_SATA_AHCI=y -CONFIG_SATA_FSL=y -CONFIG_SATA_SIL24=y -CONFIG_PATA_ALI=y -CONFIG_MD=y -CONFIG_BLK_DEV_MD=y -CONFIG_MD_LINEAR=y -CONFIG_MD_RAID0=y -CONFIG_MD_RAID1=y -CONFIG_MD_RAID10=y -CONFIG_MD_RAID456=y -CONFIG_MD_MULTIPATH=y -CONFIG_BCACHE=y -CONFIG_BLK_DEV_DM=m -CONFIG_DM_CRYPT=m -CONFIG_DM_SNAPSHOT=m -CONFIG_DM_THIN_PROVISIONING=m -CONFIG_DM_CACHE=m -CONFIG_DM_MIRROR=m -CONFIG_DM_RAID=m -CONFIG_DM_ZERO=m -CONFIG_DM_MULTIPATH=m -CONFIG_NETDEVICES=y -CONFIG_DUMMY=y -CONFIG_TUN=y -CONFIG_NET_TULIP=y -CONFIG_GIANFAR=y -CONFIG_E1000E=y -CONFIG_AT803X_PHY=y -CONFIG_ATHEROS_PHY=y -CONFIG_MARVELL_PHY=y -CONFIG_DAVICOM_PHY=y -CONFIG_CICADA_PHY=y -CONFIG_VITESSE_PHY=y -CONFIG_DP8384x_PHY=y -CONFIG_FIXED_PHY=y -CONFIG_PPP=m -CONFIG_PPP_BSDCOMP=m -CONFIG_PPP_DEFLATE=m -CONFIG_PPP_FILTER=y -CONFIG_PPP_MPPE=m -CONFIG_PPP_MULTILINK=y -CONFIG_PPPOE=m -CONFIG_PPP_ASYNC=m -CONFIG_PPP_SYNC_TTY=m -CONFIG_ATH_CARDS=m -CONFIG_ATH9K=m -CONFIG_ATH9K_HTC=m -CONFIG_RT2X00=m -CONFIG_RT2800PCI=m -CONFIG_RT73USB=m -CONFIG_RT2800USB=m -CONFIG_RT2800USB_RT3573=y -CONFIG_RT2800USB_RT53XX=y -CONFIG_RT2800USB_RT55XX=y -# CONFIG_RTL_CARDS is not set -# CONFIG_INPUT_MOUSEDEV is not set -# CONFIG_INPUT_KEYBOARD is not set -# CONFIG_INPUT_MOUSE is not set -# CONFIG_SERIO is not set -CONFIG_VT_HW_CONSOLE_BINDING=y -CONFIG_SERIAL_8250=y -CONFIG_SERIAL_8250_CONSOLE=y -CONFIG_SERIAL_8250_NR_UARTS=2 -CONFIG_SERIAL_8250_RUNTIME_UARTS=2 -CONFIG_SERIAL_8250_MANY_PORTS=y -CONFIG_SERIAL_8250_DETECT_IRQ=y -CONFIG_SERIAL_8250_RSA=y -CONFIG_NVRAM=y -CONFIG_I2C=y -CONFIG_I2C_CHARDEV=y -CONFIG_I2C_MPC=y -CONFIG_SPI=y -CONFIG_SPI_FSL_SPI=y -CONFIG_SPI_FSL_ESPI=y -CONFIG_GPIOLIB=y -CONFIG_GPIO_MPC8XXX=y -# CONFIG_HWMON is not set -# CONFIG_VGA_ARB is not set -# CONFIG_VGA_CONSOLE is not set -CONFIG_SOUND=m -CONFIG_SND=m -CONFIG_SND_HRTIMER=m -# CONFIG_SND_SUPPORT_OLD_API is not set -# CONFIG_SND_DRIVERS is not set -CONFIG_SND_INTEL8X0=m -# CONFIG_SND_PPC is not set -# CONFIG_SND_SPI is not set -# CONFIG_SND_USB is not set -# CONFIG_HID_GENERIC is not set -# CONFIG_USB_HID is not set -CONFIG_USB=y -CONFIG_USB_EHCI_HCD=y -CONFIG_USB_EHCI_FSL=y -CONFIG_USB_OHCI_HCD=y -CONFIG_USB_OHCI_HCD_PPC_OF_BE=y -CONFIG_USB_OHCI_HCD_PPC_OF_LE=y -CONFIG_USB_STORAGE=y -CONFIG_MMC=y -CONFIG_MMC_SDHCI=y -CONFIG_MMC_SDHCI_PLTFM=y -CONFIG_MMC_SDHCI_OF_ESDHC=y -CONFIG_EDAC=y -CONFIG_EDAC_MM_EDAC=y -CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_CMOS=y -CONFIG_DMADEVICES=y -CONFIG_FSL_DMA=y -CONFIG_EXT4_FS=y -CONFIG_EXT4_FS_POSIX_ACL=y -CONFIG_EXT4_FS_SECURITY=y -CONFIG_FANOTIFY=y -CONFIG_FUSE_FS=m -CONFIG_VFAT_FS=y -CONFIG_PROC_KCORE=y -CONFIG_TMPFS=y -CONFIG_HUGETLBFS=y -CONFIG_JFFS2_FS=y -CONFIG_JFFS2_SUMMARY=y -CONFIG_JFFS2_FS_XATTR=y -CONFIG_UBIFS_FS=y -CONFIG_SQUASHFS=y -CONFIG_SQUASHFS_XATTR=y -CONFIG_SQUASHFS_LZO=y -CONFIG_SQUASHFS_XZ=y -CONFIG_NFS_FS=y -CONFIG_NFS_V4=y -CONFIG_ROOT_NFS=y -CONFIG_NFSD=m -CONFIG_CIFS=m -CONFIG_CIFS_XATTR=y -CONFIG_CIFS_POSIX=y -# CONFIG_CIFS_DEBUG is not set -CONFIG_CIFS_SMB2=y -CONFIG_CIFS_FSCACHE=y -CONFIG_NLS_CODEPAGE_437=y -CONFIG_NLS_CODEPAGE_850=y -CONFIG_NLS_ISO8859_1=y -CONFIG_NLS_UTF8=m -CONFIG_CRC_T10DIF=y -CONFIG_DEBUG_INFO=y -CONFIG_DEBUG_FS=y -CONFIG_MAGIC_SYSRQ=y -CONFIG_DETECT_HUNG_TASK=y -CONFIG_CRYPTO_CBC=y -CONFIG_CRYPTO_PCBC=m -CONFIG_CRYPTO_HMAC=y -CONFIG_CRYPTO_MD5=y -CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_SHA512=y -CONFIG_CRYPTO_DES=y -# CONFIG_CRYPTO_ANSI_CPRNG is not set -CONFIG_CRYPTO_DEV_TALITOS=y diff --git a/board/freescale/p2020ds/linux-fix-c6187597-breakage.patch b/board/freescale/p2020ds/linux-fix-c6187597-breakage.patch deleted file mode 100644 index 598f92d3ce..0000000000 --- a/board/freescale/p2020ds/linux-fix-c6187597-breakage.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru> -Subject: [PATCH] usb: pci-quirks: do not access OHCI_FMINTERVAL register on ULI hw - -This access causes hang on Freescale P2020DS board (that has OHCI -provided by ULI 1533 chip). - -Since preserving OHCI_FMINTERVAL was originally done only for NVIDIA -hardware and only later (in c6187597) was turned unconditional, and -c6187597 commit message again mentions only NVIDIA, I think it should be -safe to disable preserving OHCI_FMINTERVAL if device vendor is ULI. - -Signed-off-by: Nikita Yushchenko <nyushchenko@dev.rtsoft.ru> ---- - drivers/usb/host/pci-quirks.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c -index 00661d3..5acbd5b 100644 ---- a/drivers/usb/host/pci-quirks.c -+++ b/drivers/usb/host/pci-quirks.c -@@ -571,7 +571,7 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev) - { - void __iomem *base; - u32 control; -- u32 fminterval; -+ u32 uninitialized_var(fminterval); - int cnt; - - if (!mmio_resource_enabled(pdev, 0)) -@@ -619,7 +619,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev) - } - - /* software reset of the controller, preserving HcFmInterval */ -- fminterval = readl(base + OHCI_FMINTERVAL); -+ if (pdev->vendor != PCI_VENDOR_ID_AL) -+ fminterval = readl(base + OHCI_FMINTERVAL); - writel(OHCI_HCR, base + OHCI_CMDSTATUS); - - /* reset requires max 10 us delay */ -@@ -628,7 +629,8 @@ static void quirk_usb_handoff_ohci(struct pci_dev *pdev) - break; - udelay(1); - } -- writel(fminterval, base + OHCI_FMINTERVAL); -+ if (pdev->vendor != PCI_VENDOR_ID_AL) -+ writel(fminterval, base + OHCI_FMINTERVAL); - - /* Now the controller is safely in SUSPEND and nothing can wake it up */ - iounmap(base); --- -1.7.10.4 diff --git a/board/freescale/p2020ds/readme.txt b/board/freescale/p2020ds/readme.txt deleted file mode 100644 index a9735b07c5..0000000000 --- a/board/freescale/p2020ds/readme.txt +++ /dev/null @@ -1,40 +0,0 @@ -You'll need to program the files created by buildroot into the flash. -The fast way is to tftp transfer the files via one of the network interfaces. - -Alternatively you can transfer the files via serial console with an Ymodem -file transfer from your terminal program by using a "loady" command -from the u-boot prompt instead of the "tftp ..." commands stated below. -Beware that serial console file transfers are quite slow! - -1. Program the DTB to NOR flash - - => tftp ${loadaddr} p2020ds.dtb - => erase 0xeff00000 0xeff7ffff - => cp.b ${loadaddr} 0xeff00000 ${filesize} - -2. Program the kernel to NOR flash - - => tftp ${loadaddr} uImage - => erase 0xec000000 0xec3fffff - => cp.b ${loadaddr} 0xec000000 ${filesize} - -3. Program the root filesystem to NOR flash - - => tftp ${loadaddr} rootfs.jffs2 - => erase 0xec400000 0xeeffffff - => cp.b ${loadaddr} 0xec400000 ${filesize} - -4. Booting your new system - - => setenv jffs2boot 'setenv bootargs root=/dev/mtdblock4 rootfstype=jffs2 rw console=ttyS0,115200;bootm ec000000 - eff00000' - - If you want to set this boot option as default: - - => setenv bootcmd 'run jffs2boot' - => saveenv - - ...or for a single boot: - - => run jffs2boot - - You can login with user "root". diff --git a/board/qemu/ppc-g3beige/readme.txt b/board/qemu/ppc-g3beige/readme.txt index 070fcbbb32..3bd88a6e39 100644 --- a/board/qemu/ppc-g3beige/readme.txt +++ b/board/qemu/ppc-g3beige/readme.txt @@ -1,6 +1,6 @@ Run the emulation with: - qemu-system-ppc -M g3beige -kernel output/images/vmlinux -hda -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user + qemu-system-ppc -M g3beige -kernel output/images/vmlinux -drive file=output/images/rootfs.ext2,format=raw -append "console=ttyS0 root=/dev/hda" -serial stdio -net nic,model=rtl8139 -net user The login prompt will appear in the terminal that started Qemu. The graphical window is the framebuffer. diff --git a/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch b/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch new file mode 100644 index 0000000000..8d3c703e3a --- /dev/null +++ b/board/roseapplepi/patches/linux/0002-kernel-add-support-for-gcc-5.patch @@ -0,0 +1,99 @@ +From 96b4fb75d15be65edc5494579e4a944534042f99 Mon Sep 17 00:00:00 2001 +From: Sasha Levin <sasha.levin@oracle.com> +Date: Mon, 13 Oct 2014 15:51:05 -0700 +Subject: [PATCH] kernel: add support for gcc 5 + +We're missing include/linux/compiler-gcc5.h which is required now +because gcc branched off to v5 in trunk. + +Just copy the relevant bits out of include/linux/compiler-gcc4.h, +no new code is added as of now. + +This fixes a build error when using gcc 5. + +Signed-off-by: Sasha Levin <sasha.levin@oracle.com> +Cc: <stable@vger.kernel.org> +Signed-off-by: Andrew Morton <akpm@linux-foundation.org> +Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> +(cherry picked from commit 71458cfc782eafe4b27656e078d379a34e472adf) +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + include/linux/compiler-gcc5.h | 66 +++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 66 insertions(+) + create mode 100644 include/linux/compiler-gcc5.h + +diff --git a/include/linux/compiler-gcc5.h b/include/linux/compiler-gcc5.h +new file mode 100644 +index 0000000..cdd1cc2 +--- /dev/null ++++ b/include/linux/compiler-gcc5.h +@@ -0,0 +1,66 @@ ++#ifndef __LINUX_COMPILER_H ++#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead." ++#endif ++ ++#define __used __attribute__((__used__)) ++#define __must_check __attribute__((warn_unused_result)) ++#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) ++ ++/* Mark functions as cold. gcc will assume any path leading to a call ++ to them will be unlikely. This means a lot of manual unlikely()s ++ are unnecessary now for any paths leading to the usual suspects ++ like BUG(), printk(), panic() etc. [but let's keep them for now for ++ older compilers] ++ ++ Early snapshots of gcc 4.3 don't support this and we can't detect this ++ in the preprocessor, but we can live with this because they're unreleased. ++ Maketime probing would be overkill here. ++ ++ gcc also has a __attribute__((__hot__)) to move hot functions into ++ a special section, but I don't see any sense in this right now in ++ the kernel context */ ++#define __cold __attribute__((__cold__)) ++ ++#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) ++ ++#ifndef __CHECKER__ ++# define __compiletime_warning(message) __attribute__((warning(message))) ++# define __compiletime_error(message) __attribute__((error(message))) ++#endif /* __CHECKER__ */ ++ ++/* ++ * Mark a position in code as unreachable. This can be used to ++ * suppress control flow warnings after asm blocks that transfer ++ * control elsewhere. ++ * ++ * Early snapshots of gcc 4.5 don't support this and we can't detect ++ * this in the preprocessor, but we can live with this because they're ++ * unreleased. Really, we need to have autoconf for the kernel. ++ */ ++#define unreachable() __builtin_unreachable() ++ ++/* Mark a function definition as prohibited from being cloned. */ ++#define __noclone __attribute__((__noclone__)) ++ ++/* ++ * Tell the optimizer that something else uses this function or variable. ++ */ ++#define __visible __attribute__((externally_visible)) ++ ++/* ++ * GCC 'asm goto' miscompiles certain code sequences: ++ * ++ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 ++ * ++ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. ++ * Fixed in GCC 4.8.2 and later versions. ++ * ++ * (asm goto is automatically volatile - the naming reflects this.) ++ */ ++#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) ++ ++#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP ++#define __HAVE_BUILTIN_BSWAP32__ ++#define __HAVE_BUILTIN_BSWAP64__ ++#define __HAVE_BUILTIN_BSWAP16__ ++#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ +-- +2.10.2 + diff --git a/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch b/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch new file mode 100644 index 0000000000..da38f26679 --- /dev/null +++ b/board/roseapplepi/patches/linux/0003-ARM-8158-1-LLVMLinux-use-static-inline-in-ARM-ftrace.patch @@ -0,0 +1,54 @@ +From 8ac9a3f6dbf00d861134bea3f2c930defed6311a Mon Sep 17 00:00:00 2001 +From: Behan Webster <behanw@converseincode.com> +Date: Wed, 24 Sep 2014 01:06:46 +0100 +Subject: [PATCH] ARM: 8158/1: LLVMLinux: use static inline in ARM ftrace.h + +With compilers which follow the C99 standard (like modern versions of gcc and +clang), "extern inline" does the wrong thing (emits code for an externally +linkable version of the inline function). In this case using static inline +and removing the NULL version of return_address in return_address.c does +the right thing. + +Signed-off-by: Behan Webster <behanw@converseincode.com> +Reviewed-by: Mark Charlebois <charlebm@gmail.com> +Acked-by: Steven Rostedt <rostedt@goodmis.org> +Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> +(cherry picked from commit aeea3592a13bf12861943e44fc48f1f270941f8d) +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + arch/arm/include/asm/ftrace.h | 2 +- + arch/arm/kernel/return_address.c | 5 ----- + 2 files changed, 1 insertion(+), 6 deletions(-) + +diff --git a/arch/arm/include/asm/ftrace.h b/arch/arm/include/asm/ftrace.h +index f89515a..2bb8cac 100644 +--- a/arch/arm/include/asm/ftrace.h ++++ b/arch/arm/include/asm/ftrace.h +@@ -45,7 +45,7 @@ void *return_address(unsigned int); + + #else + +-extern inline void *return_address(unsigned int level) ++static inline void *return_address(unsigned int level) + { + return NULL; + } +diff --git a/arch/arm/kernel/return_address.c b/arch/arm/kernel/return_address.c +index 2f8f523..a3b587f 100755 +--- a/arch/arm/kernel/return_address.c ++++ b/arch/arm/kernel/return_address.c +@@ -63,11 +63,6 @@ void *return_address(unsigned int level) + //#warning "TODO: return_address should use unwind tables" + //#endif + +-void *return_address(unsigned int level) +-{ +- return NULL; +-} +- + #endif /* if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) / else */ + + EXPORT_SYMBOL_GPL(return_address); +-- +2.10.2 + diff --git a/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch b/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch new file mode 100644 index 0000000000..d76e2851b5 --- /dev/null +++ b/board/roseapplepi/patches/linux/0004-Fix-compile-errors-with-gcc5.patch @@ -0,0 +1,121 @@ +From ef34609395c72a1e777ef9c3fb6ce60aa92976bb Mon Sep 17 00:00:00 2001 +From: Marco Franceschetti <vonfritz1@gmail.com> +Date: Sun, 13 Mar 2016 09:44:54 +0100 +Subject: [PATCH] Fix compile errors with gcc5 + +(cherry picked from commit e824d45043efd49607f66c89c921b07c1523bf9e) +Signed-off-by: Peter Korsgaard <peter@korsgaard.com> +--- + drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h | 6 +++--- + drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h | 6 +++--- + drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h | 6 +++--- + drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h | 6 +++--- + 4 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h +index fc293c4..0898cd4 100755 +--- a/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h ++++ b/drivers/net/wireless/actions/rtl8188etv/include/ieee80211.h +@@ -1314,18 +1314,18 @@ enum ieee80211_state { + (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ + (((Addr[5]) & 0xff) == 0xff)) + #else +-extern __inline int is_multicast_mac_addr(const u8 *addr) ++static __inline int is_multicast_mac_addr(const u8 *addr) + { + return ((addr[0] != 0xff) && (0x01 & addr[0])); + } + +-extern __inline int is_broadcast_mac_addr(const u8 *addr) ++static __inline int is_broadcast_mac_addr(const u8 *addr) + { + return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ + (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); + } + +-extern __inline int is_zero_mac_addr(const u8 *addr) ++static __inline int is_zero_mac_addr(const u8 *addr) + { + return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ + (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); +diff --git a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h +index 09475ef..56e0f5a 100755 +--- a/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h ++++ b/drivers/net/wireless/actions/rtl8723bs/include/ieee80211.h +@@ -1318,18 +1318,18 @@ enum ieee80211_state { + (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ + (((Addr[5]) & 0xff) == 0xff)) + #else +-extern __inline int is_multicast_mac_addr(const u8 *addr) ++static __inline int is_multicast_mac_addr(const u8 *addr) + { + return ((addr[0] != 0xff) && (0x01 & addr[0])); + } + +-extern __inline int is_broadcast_mac_addr(const u8 *addr) ++static __inline int is_broadcast_mac_addr(const u8 *addr) + { + return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ + (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); + } + +-extern __inline int is_zero_mac_addr(const u8 *addr) ++static __inline int is_zero_mac_addr(const u8 *addr) + { + return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ + (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); +diff --git a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h +index 5dfc421..95144b6 100755 +--- a/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h ++++ b/drivers/net/wireless/actions/rtl8723bs_vq0/include/ieee80211.h +@@ -1314,18 +1314,18 @@ enum ieee80211_state { + (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ + (((Addr[5]) & 0xff) == 0xff)) + #else +-extern __inline int is_multicast_mac_addr(const u8 *addr) ++static __inline int is_multicast_mac_addr(const u8 *addr) + { + return ((addr[0] != 0xff) && (0x01 & addr[0])); + } + +-extern __inline int is_broadcast_mac_addr(const u8 *addr) ++static __inline int is_broadcast_mac_addr(const u8 *addr) + { + return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ + (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); + } + +-extern __inline int is_zero_mac_addr(const u8 *addr) ++static __inline int is_zero_mac_addr(const u8 *addr) + { + return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ + (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); +diff --git a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h +index 09475ef..56e0f5a 100755 +--- a/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h ++++ b/drivers/net/wireless/actions/rtl8723bu/include/ieee80211.h +@@ -1318,18 +1318,18 @@ enum ieee80211_state { + (((Addr[2]) & 0xff) == 0xff) && (((Addr[3]) & 0xff) == 0xff) && (((Addr[4]) & 0xff) == 0xff) && \ + (((Addr[5]) & 0xff) == 0xff)) + #else +-extern __inline int is_multicast_mac_addr(const u8 *addr) ++static __inline int is_multicast_mac_addr(const u8 *addr) + { + return ((addr[0] != 0xff) && (0x01 & addr[0])); + } + +-extern __inline int is_broadcast_mac_addr(const u8 *addr) ++static __inline int is_broadcast_mac_addr(const u8 *addr) + { + return ((addr[0] == 0xff) && (addr[1] == 0xff) && (addr[2] == 0xff) && \ + (addr[3] == 0xff) && (addr[4] == 0xff) && (addr[5] == 0xff)); + } + +-extern __inline int is_zero_mac_addr(const u8 *addr) ++static __inline int is_zero_mac_addr(const u8 *addr) + { + return ((addr[0] == 0x00) && (addr[1] == 0x00) && (addr[2] == 0x00) && \ + (addr[3] == 0x00) && (addr[4] == 0x00) && (addr[5] == 0x00)); +-- +2.10.2 + diff --git a/boot/boot-wrapper-aarch64/Config.in b/boot/boot-wrapper-aarch64/Config.in index 73d790fede..efb70dcdf5 100644 --- a/boot/boot-wrapper-aarch64/Config.in +++ b/boot/boot-wrapper-aarch64/Config.in @@ -11,7 +11,7 @@ config BR2_TARGET_BOOT_WRAPPER_AARCH64 possible to start an Aarch64 kernel inside the available software simulators for the Aarch64 architecture. - git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git + git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git if BR2_TARGET_BOOT_WRAPPER_AARCH64 diff --git a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk index a46937538d..601cfab314 100644 --- a/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk +++ b/boot/boot-wrapper-aarch64/boot-wrapper-aarch64.mk @@ -5,7 +5,7 @@ ################################################################################ BOOT_WRAPPER_AARCH64_VERSION = 4266507a84f8c06452109d38e0350d4759740694 -BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/boot-wrapper-aarch64.git +BOOT_WRAPPER_AARCH64_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git BOOT_WRAPPER_AARCH64_LICENSE = BSD3c BOOT_WRAPPER_AARCH64_LICENSE_FILES = LICENSE.txt BOOT_WRAPPER_AARCH64_DEPENDENCIES = linux diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk index 3e347c1084..6b9d544546 100644 --- a/boot/uboot/uboot.mk +++ b/boot/uboot/uboot.mk @@ -223,6 +223,7 @@ define UBOOT_INSTALL_IMAGES_CMDS cat $(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)) | \ $(HOST_DIR)/usr/bin/mkenvimage -s $(BR2_TARGET_UBOOT_ENVIMAGE_SIZE) \ $(if $(BR2_TARGET_UBOOT_ENVIMAGE_REDUNDANT),-r) \ + $(if $(filter BIG,$(BR2_ENDIAN)),-b) \ -o $(BINARIES_DIR)/uboot-env.bin -) endef diff --git a/configs/armadeus_apf28_defconfig b/configs/armadeus_apf28_defconfig index 708f20bea3..31fb52897b 100644 --- a/configs/armadeus_apf28_defconfig +++ b/configs/armadeus_apf28_defconfig @@ -13,7 +13,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.22" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf28/linux-4.4.config" BR2_LINUX_KERNEL_UIMAGE=y diff --git a/configs/armadeus_apf51_defconfig b/configs/armadeus_apf51_defconfig index f70593b05d..e834626713 100644 --- a/configs/armadeus_apf51_defconfig +++ b/configs/armadeus_apf51_defconfig @@ -3,7 +3,7 @@ BR2_arm=y BR2_cortex_a8=y # Linux headers same as kernel, a 3.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y # System BR2_TARGET_GENERIC_HOSTNAME="apf51" @@ -13,9 +13,9 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttymxc2" # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.12.6" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.4.30" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-3.12.config" +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/armadeus/apf51/linux-4.4.config" BR2_LINUX_KERNEL_UIMAGE=y BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x90008000" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/at91sam9260eknf_defconfig b/configs/at91sam9260eknf_defconfig index 92bb07116f..d91fcb0549 100644 --- a/configs/at91sam9260eknf_defconfig +++ b/configs/at91sam9260eknf_defconfig @@ -2,26 +2,32 @@ BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 3.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y -# Packages -BR2_PACKAGE_HOST_SAM_BA=y +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" +BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9260ek" # Filesystem BR2_TARGET_ROOTFS_UBIFS=y BR2_TARGET_ROOTFS_UBI=y # Bootloaders -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9260ek" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="at91sam9260ek" +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9260eknf_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9260ek_nandflash" -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.1" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/atmel/at91sam9260ek/linux-3.9.config" +# Host packages +BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9g20dfc_defconfig b/configs/at91sam9g20dfc_defconfig index 4ed5a9b0b9..15a8d879b7 100644 --- a/configs/at91sam9g20dfc_defconfig +++ b/configs/at91sam9g20dfc_defconfig @@ -2,28 +2,31 @@ BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 3.1 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1=y - -# Host utilities -# -BR2_PACKAGE_HOST_SAM_BA=y - -# First stage bootloader -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_BOARD="at91sam9g20ek" -BR2_TARGET_AT91BOOTSTRAP_DATAFLASHCARD=y - -# Second stage bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9g20ek_nandflash" +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y # Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.1.6" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="at91sam9g20ek" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" +BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9g20ek" # Filesystem BR2_TARGET_ROOTFS_TAR=y + +# Bootloaders +BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" +BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9g20eknf_uboot" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9g20ek_nandflash" + +# Host packages +BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9g45m10ek_defconfig b/configs/at91sam9g45m10ek_defconfig index 35618d5f4c..2bf7179980 100644 --- a/configs/at91sam9g45m10ek_defconfig +++ b/configs/at91sam9g45m10ek_defconfig @@ -1,22 +1,34 @@ +# Architecture BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y + +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y + +# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9m10g45ek" + +# Filesystem BR2_TARGET_ROOTFS_UBIFS=y BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 BR2_TARGET_ROOTFS_UBI=y + +# Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9m10g45eknf_uboot" BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9m10g45ek_nandflash" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9m10g45ek_nandflash" + +# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/at91sam9rlek_defconfig b/configs/at91sam9rlek_defconfig index 66e4a8884e..bc1be16421 100644 --- a/configs/at91sam9rlek_defconfig +++ b/configs/at91sam9rlek_defconfig @@ -1,22 +1,34 @@ +# Architecture BR2_arm=y BR2_arm926t=y -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y + +# Linux headers same as kernel, a 4.8 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8=y + +# Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.6" BR2_LINUX_KERNEL_DEFCONFIG="at91_dt" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91sam9rlek" + +# Filesystem BR2_TARGET_ROOTFS_UBIFS=y BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2047 BR2_TARGET_ROOTFS_UBI=y + +# Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="at91sam9rleknf_uboot" BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="at91sam9rlek_nandflash" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="at91sam9rlek_nandflash" + +# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d3xek_defconfig b/configs/atmel_sama5d3xek_defconfig index 086c18e0d4..c57076c9f9 100644 --- a/configs/atmel_sama5d3xek_defconfig +++ b/configs/atmel_sama5d3xek_defconfig @@ -1,26 +1,40 @@ +# Architecture BR2_arm=y BR2_cortex_a5=y BR2_ARM_ENABLE_VFP=y BR2_ARM_INSTRUCTIONS_THUMB2=y -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y + +# Toolchain +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4=y + +# Kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux4sam_5.5" BR2_LINUX_KERNEL_DEFCONFIG="sama5" BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d31ek_pda4 sama5d31ek_pda7 sama5d31ek_revc sama5d31ek_revc_pda4 sama5d31ek_revc_pda7 sama5d33ek sama5d33ek_pda4 sama5d33ek_pda7 sama5d33ek_revc sama5d33ek_revc_pda4 sama5d33ek_revc_pda7 sama5d34ek sama5d34ek_pda4 sama5d34ek_pda7 sama5d34ek_revc sama5d34ek_revc_pda4 sama5d34ek_revc_pda7 sama5d35ek sama5d35ek_revc sama5d36ek sama5d36ek_pda4 sama5d36ek_pda7 sama5d36ek_revc sama5d36ek_revc_pda4 sama5d36ek_revc_pda7" +BR2_LINUX_KERNEL_INTREE_DTS_NAME="sama5d31ek sama5d33ek sama5d34ek sama5d35ek sama5d36ek" + +# Filesystem BR2_TARGET_ROOTFS_UBIFS=y BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x1f000 BR2_TARGET_ROOTFS_UBI=y BR2_TARGET_ROOTFS_UBI_SUBSIZE=2048 + +# Bootloaders BR2_TARGET_AT91BOOTSTRAP3=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git" +BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.8.7" BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d3xeknf_uboot" BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="sama5d3xek_nandflash" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_GIT=y BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887" +BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="linux4sam_5.5" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d3xek_nandflash" BR2_TARGET_UBOOT_SPL=y + +# Host packages BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/atmel_sama5d4ek_defconfig b/configs/atmel_sama5d4ek_defconfig deleted file mode 100644 index 9d74eeed1d..0000000000 --- a/configs/atmel_sama5d4ek_defconfig +++ /dev/null @@ -1,30 +0,0 @@ -BR2_arm=y -BR2_cortex_a5=y -BR2_ARM_ENABLE_NEON=y -BR2_ARM_ENABLE_VFP=y -BR2_ARM_INSTRUCTIONS_THUMB2=y -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/linux4sam/linux-at91.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="03329ca4cf6b94acc5c65b59b2d1f90fdeee0887" -BR2_LINUX_KERNEL_DEFCONFIG="sama5" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d4ek" -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_ROOTFS_UBIFS_LEBSIZE=0x3e000 -BR2_TARGET_ROOTFS_UBIFS_MINIOSIZE=0x1000 -BR2_TARGET_ROOTFS_UBIFS_MAXLEBCNT=2082 -BR2_TARGET_ROOTFS_UBI=y -BR2_TARGET_ROOTFS_UBI_PEBSIZE=0x40000 -BR2_TARGET_ROOTFS_UBI_SUBSIZE=0 -BR2_TARGET_AT91BOOTSTRAP3=y -BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d4eknf_uboot_secure" -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="sama5d4ek_nandflash" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/linux4sam/u-boot-at91.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="677f3c2340b72131beebace8e96cac17b9569887" -BR2_TARGET_UBOOT_SPL=y -BR2_PACKAGE_HOST_SAM_BA=y diff --git a/configs/calao_qil_a9260_defconfig b/configs/calao_qil_a9260_defconfig deleted file mode 100644 index 8b76a87b15..0000000000 --- a/configs/calao_qil_a9260_defconfig +++ /dev/null @@ -1,20 +0,0 @@ -BR2_arm=y -BR2_arm926t=y -BR2_GLOBAL_PATCH_DIR="board/calao/qil-a9260/patches" -BR2_TARGET_GENERIC_GETTY_PORT="ttyS1" -# Linux headers same as kernel, a 3.4 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4=y -BR2_PACKAGE_HOST_SAM_BA=y -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_BOARD="qil_a9260" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_CUSTOM_VERSION=y -BR2_TARGET_BAREBOX_CUSTOM_VERSION_VALUE="2012.08.0" -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="qil_a9260" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.4.7" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/qil-a9260/linux-3.4.7.config" diff --git a/configs/calao_tny_a9g20_lpw_defconfig b/configs/calao_tny_a9g20_lpw_defconfig deleted file mode 100644 index 5c66d06186..0000000000 --- a/configs/calao_tny_a9g20_lpw_defconfig +++ /dev/null @@ -1,29 +0,0 @@ -# architecture -BR2_arm=y -BR2_arm926t=y - -# system -BR2_PACKAGE_HOST_SAM_BA=y - -# filesystem -BR2_TARGET_ROOTFS_UBIFS=y - -# Linux headers same as kernel, a 3.9 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9=y - -# bootloaders -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/tny-a9g20-lpw" -BR2_TARGET_AT91BOOTSTRAP_BOARD="tny_a9g20_lpw" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="tny_a9g20" - -# linux -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.9.4" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/tny-a9g20-lpw/linux-3.9.config" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="tny_a9g20" diff --git a/configs/calao_usb_a9260_defconfig b/configs/calao_usb_a9260_defconfig deleted file mode 100644 index d8bfd0dabe..0000000000 --- a/configs/calao_usb_a9260_defconfig +++ /dev/null @@ -1,18 +0,0 @@ -BR2_arm=y -BR2_arm926t=y -# Linux headers same as kernel, a 3.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y -BR2_PACKAGE_MTD=y -BR2_PACKAGE_HOST_SAM_BA=y -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/usb-a9260" -BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9260" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9260" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9260/linux-3.7.4.config" diff --git a/configs/calao_usb_a9263_defconfig b/configs/calao_usb_a9263_defconfig deleted file mode 100644 index ed6d3cbd88..0000000000 --- a/configs/calao_usb_a9263_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -BR2_arm=y -BR2_arm926t=y -# Linux headers same as kernel, a 3.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y -BR2_PACKAGE_HOST_SAM_BA=y -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_CUSTOM_PATCH_DIR="board/calao/usb-a9263" -BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9263" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9263" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9263/linux-3.4.4.config" diff --git a/configs/calao_usb_a9g20_lpw_defconfig b/configs/calao_usb_a9g20_lpw_defconfig deleted file mode 100644 index 8a56d060a0..0000000000 --- a/configs/calao_usb_a9g20_lpw_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -BR2_arm=y -BR2_arm926t=y -# Linux headers same as kernel, a 3.10 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10=y -BR2_GLOBAL_PATCH_DIR="board/calao/usb-a9g20-lpw/patches" -BR2_PACKAGE_HOST_SAM_BA=y -BR2_TARGET_ROOTFS_UBIFS=y -BR2_TARGET_AT91BOOTSTRAP=y -BR2_TARGET_AT91BOOTSTRAP_BOARD="usb_a9g20_lpw" -BR2_TARGET_AT91BOOTSTRAP_NANDFLASH=y -BR2_TARGET_BAREBOX=y -BR2_TARGET_BAREBOX_BOARD_DEFCONFIG="usb_a9g20" -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.10.10" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/calao/usb-a9g20-lpw/linux-3.4.4.config" diff --git a/configs/ci20_defconfig b/configs/ci20_defconfig index bd30cbd423..ecf3007a37 100644 --- a/configs/ci20_defconfig +++ b/configs/ci20_defconfig @@ -1,6 +1,6 @@ # architecture BR2_mipsel=y -BR2_mips_32r2=y +BR2_mips_xburst=y # BR2_MIPS_SOFT_FLOAT is not set # Linux headers same as kernel, a 3.18 series diff --git a/configs/freescale_imx28evk_defconfig b/configs/freescale_imx28evk_defconfig index 08d5bd9cc7..b2242e701a 100644 --- a/configs/freescale_imx28evk_defconfig +++ b/configs/freescale_imx28evk_defconfig @@ -11,7 +11,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.4" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.8" BR2_LINUX_KERNEL_DEFCONFIG="mxs" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx28-evk" diff --git a/configs/freescale_imx31_3stack_defconfig b/configs/freescale_imx31_3stack_defconfig index bf1afad13c..0476fc1b59 100644 --- a/configs/freescale_imx31_3stack_defconfig +++ b/configs/freescale_imx31_3stack_defconfig @@ -3,18 +3,18 @@ BR2_arm=y BR2_arm1136jf_s=y BR2_ARM_EABIHF=y -# Linux headers same as kernel, a 3.15 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15=y +# Linux headers same as kernel, a 4.1 series +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1=y # system BR2_TARGET_GENERIC_GETTY_PORT="ttymxc0" # kernel BR2_LINUX_KERNEL=y -# Note: sadly the Linux kernel will not boot on the i.MX31 PDK, starting with -# v3.16 and at least up to v4.0-rc4; this is why we use v3.15.y here. -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.15.10" +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://git.freescale.com/imx/linux-imx.git" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rel_imx_4.1.15_2.0.0_ga" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" +BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/freescale/imx31_3stack/linux.fragment" BR2_TARGET_ROOTFS_CPIO_GZIP=y BR2_TARGET_ROOTFS_INITRAMFS=y diff --git a/configs/freescale_p2020ds_defconfig b/configs/freescale_p2020ds_defconfig deleted file mode 100644 index 6661acbc48..0000000000 --- a/configs/freescale_p2020ds_defconfig +++ /dev/null @@ -1,24 +0,0 @@ -# Architecture -BR2_powerpc=y -BR2_powerpc_8548=y - -# Filesystem -# BR2_TARGET_ROOTFS_TAR is not set -BR2_TARGET_ROOTFS_JFFS2=y - -# Linux headers same as kernel, a 3.12 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="http://git.freescale.com/git/cgit.cgi/ppc/sdk/linux.git/snapshot/fsl-sdk-v1.6.tar.bz2" -BR2_LINUX_KERNEL_PATCH="board/freescale/p2020ds/linux-fix-c6187597-breakage.patch" -BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y -BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/freescale/p2020ds/linux-3.12.config" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="p2020ds" - -# Serial port config -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttyS0" diff --git a/configs/imx6ulpico_defconfig b/configs/imx6ulpico_defconfig index 88604a6627..7b9965497f 100644 --- a/configs/imx6ulpico_defconfig +++ b/configs/imx6ulpico_defconfig @@ -17,7 +17,7 @@ BR2_GLOBAL_PATCH_DIR="board/technexion/imx6ulpico/patches" # kernel BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/technexion/imx6ulpico/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/kb9202_defconfig b/configs/kb9202_defconfig deleted file mode 100644 index 0aea0eba27..0000000000 --- a/configs/kb9202_defconfig +++ /dev/null @@ -1,17 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm920t=y - -# Filesystem -BR2_TARGET_ROOTFS_TAR=y - -# Linux headers same as kernel, a 2.6 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD=y - -# Kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="2.6.38.8" -BR2_LINUX_KERNEL_PATCH="http://maxim.org.za/AT91RM9200/2.6/2.6.38-at91.patch.gz" -BR2_LINUX_KERNEL_USE_DEFCONFIG=y -BR2_LINUX_KERNEL_DEFCONFIG="kb9202" diff --git a/configs/mini2440_defconfig b/configs/mini2440_defconfig deleted file mode 100644 index 2891d10df4..0000000000 --- a/configs/mini2440_defconfig +++ /dev/null @@ -1,34 +0,0 @@ -# Architecture -BR2_arm=y -BR2_arm920t=y - -# Serial port -BR2_TARGET_GENERIC_GETTY=y -BR2_TARGET_GENERIC_GETTY_PORT="ttySAC0" - -# Filesystem -BR2_TARGET_ROOTFS_JFFS2=y -BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y -BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800 -BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000 -BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y -BR2_TARGET_ROOTFS_JFFS2_LE=y -BR2_TARGET_ROOTFS_TAR=y - -# Linux headers same as kernel, a 3.0 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0=y - -# Bootloader -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="mini2440" -BR2_TARGET_UBOOT_CUSTOM_TARBALL=y -BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="http://repo.or.cz/w/u-boot-openmoko/mini2440.git/snapshot/dev-mini2440-stable.tar.gz" - -# -# Kernel -# -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="3.0.4" -BR2_LINUX_KERNEL_DEFCONFIG="mini2440" -BR2_LINUX_KERNEL_UIMAGE=y diff --git a/configs/mx6udoo_defconfig b/configs/mx6udoo_defconfig index 1ca2be4f6a..8c1b28ab5e 100644 --- a/configs/mx6udoo_defconfig +++ b/configs/mx6udoo_defconfig @@ -15,7 +15,7 @@ BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="SPL" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.8.11" BR2_LINUX_KERNEL_DEFCONFIG="imx_v6_v7" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/udoo/linux.fragment" BR2_LINUX_KERNEL_DTS_SUPPORT=y diff --git a/configs/nanopi_neo_defconfig b/configs/nanopi_neo_defconfig index 2f4ea37574..ba4534a1da 100644 --- a/configs/nanopi_neo_defconfig +++ b/configs/nanopi_neo_defconfig @@ -11,11 +11,10 @@ BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot for the NanoPi NEO" BR2_ROOTFS_POST_BUILD_SCRIPT="board/nanopi-neo/post-build.sh" BR2_ROOTFS_POST_IMAGE_SCRIPT="board/nanopi-neo/post-image.sh" -# Use a special kernel tree until all support finally lands upstream +# Use a -rc kernel to get the DTS BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/yann-morin-1998/linux" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="4.9-rc3-sunxi-next-2016-11-02" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.9-rc3" BR2_LINUX_KERNEL_DEFCONFIG="sunxi" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="sun8i-h3-nanopi-neo" diff --git a/configs/olimex_a20_olinuxino_lime2_defconfig b/configs/olimex_a20_olinuxino_lime2_defconfig index 57dda72f29..87fc674b90 100644 --- a/configs/olimex_a20_olinuxino_lime2_defconfig +++ b/configs/olimex_a20_olinuxino_lime2_defconfig @@ -25,7 +25,7 @@ BR2_TARGET_ROOTFS_EXT2_4=y BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime2" BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.05" BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" BR2_PACKAGE_HOST_GENIMAGE=y diff --git a/configs/olimex_a20_olinuxino_lime_defconfig b/configs/olimex_a20_olinuxino_lime_defconfig index 49987fef11..5941550112 100644 --- a/configs/olimex_a20_olinuxino_lime_defconfig +++ b/configs/olimex_a20_olinuxino_lime_defconfig @@ -32,9 +32,10 @@ BR2_TARGET_ROOTFS_EXT2_4=y # Bootloaders BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y diff --git a/configs/olimex_a20_olinuxino_lime_mali_defconfig b/configs/olimex_a20_olinuxino_lime_mali_defconfig index 42c8a7c39d..35af5f9ce1 100644 --- a/configs/olimex_a20_olinuxino_lime_mali_defconfig +++ b/configs/olimex_a20_olinuxino_lime_mali_defconfig @@ -17,8 +17,10 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="board/olimex/a20_olinuxino/boot-mali.cmd $(TARGET_D # Kernel BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL=y -BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux-sunxi,linux-sunxi,sunxi-v3.4.103-r1)/sunxi-v3.4.103-r1.tar.gz" +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/dan-and/linux-sunxi.git" +# based on Linux version 3.4.113 +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="dbabbacbbf8984dea0a8c893b38b376a6ecbb3c1" BR2_LINUX_KERNEL_USE_DEFCONFIG=y BR2_LINUX_KERNEL_DEFCONFIG="sun7i" BR2_LINUX_KERNEL_INSTALL_TARGET=y @@ -37,9 +39,11 @@ BR2_TARGET_ROOTFS_EXT2_4=y # Bootloaders BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="A20-OLinuXino-Lime" +BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.01" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.09.01" +BR2_TARGET_UBOOT_BOARD_DEFCONFIG="A20-OLinuXino-Lime" +BR2_TARGET_UBOOT_NEEDS_DTC=y BR2_TARGET_UBOOT_FORMAT_BIN=y BR2_TARGET_UBOOT_SPL=y BR2_TARGET_UBOOT_SPL_NAME="u-boot-sunxi-with-spl.bin" diff --git a/configs/qmx6_defconfig b/configs/qmx6_defconfig deleted file mode 100644 index cb80cad46d..0000000000 --- a/configs/qmx6_defconfig +++ /dev/null @@ -1,33 +0,0 @@ -BR2_arm=y -BR2_cortex_a9=y -# Linux headers same as kernel, a 3.14 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14=y -BR2_TARGET_GENERIC_GETTY_PORT="ttymxc1" - -# Notice you need a recent version of u-boot (with DT support) to be able -# to boot this kernel -BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.congatec.com/arm/imx6_kernel_3.14.git" -# Last version of branch cgt_qmx6_3.14.28_1.0.0 -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="105820d6bd251deb49c3dd3f71fa0d76adce97c7" -BR2_LINUX_KERNEL_DEFCONFIG="qmx6" -BR2_LINUX_KERNEL_UIMAGE=y -BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x10008000" -BR2_LINUX_KERNEL_DTS_SUPPORT=y -BR2_LINUX_KERNEL_INTREE_DTS_NAME="imx6q-qmx6" -BR2_LINUX_KERNEL_INSTALL_TARGET=y - -# Change boardname depending of your product number -BR2_TARGET_UBOOT=y -BR2_TARGET_UBOOT_BOARDNAME="cgt_qmx6_pn016103" -BR2_TARGET_UBOOT_CUSTOM_GIT=y -BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://git.congatec.com/arm/qmx6_uboot.git" -BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="4d3b64e93064ed3d97ef7d91ff0f61a693a460fc" -BR2_TARGET_UBOOT_FORMAT_CUSTOM=y -BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME="u-boot.pn016103.imx" - -BR2_TARGET_ROOTFS_EXT2=y -BR2_TARGET_ROOTFS_EXT2_3=y - -BR2_PACKAGE_HOST_UBOOT_TOOLS=y diff --git a/configs/snps_aarch64_vdk_defconfig b/configs/snps_aarch64_vdk_defconfig index f165a9a39d..b55dce1ad6 100644 --- a/configs/snps_aarch64_vdk_defconfig +++ b/configs/snps_aarch64_vdk_defconfig @@ -1,12 +1,10 @@ BR2_aarch64=y -# Linux headers same as kernel, a 3.18 series -BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6=y BR2_TARGET_GENERIC_HOSTNAME="vdk-buildroot" BR2_TARGET_GENERIC_ISSUE="Welcome to SNPS VDK by Buildroot" BR2_LINUX_KERNEL=y -BR2_LINUX_KERNEL_CUSTOM_GIT=y -BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://git.linaro.org/kernel/linux-linaro-tracking.git" -BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="linux-linaro-3.18-2014.12" +BR2_LINUX_KERNEL_CUSTOM_VERSION=y +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.6" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/synopsys/vdk/linux-vdk-aarch64-defconfig" BR2_TARGET_ROOTFS_EXT2=y diff --git a/configs/snps_axs101_defconfig b/configs/snps_axs101_defconfig index eea7a50141..07564b41bf 100644 --- a/configs/snps_axs101_defconfig +++ b/configs/snps_axs101_defconfig @@ -21,6 +21,6 @@ BR2_LINUX_KERNEL_DEFCONFIG="axs101" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs101" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/configs/snps_axs103_defconfig b/configs/snps_axs103_defconfig index 08c55de7e7..d2a838e6b3 100644 --- a/configs/snps_axs103_defconfig +++ b/configs/snps_axs103_defconfig @@ -22,6 +22,6 @@ BR2_LINUX_KERNEL_DEFCONFIG="axs103_smp" BR2_TARGET_UBOOT=y BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y BR2_TARGET_UBOOT_CUSTOM_VERSION=y -BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.07" +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.11" BR2_TARGET_UBOOT_BOARD_DEFCONFIG="axs103" BR2_TARGET_UBOOT_NEEDS_DTC=y diff --git a/docs/manual/adding-packages-directory.txt b/docs/manual/adding-packages-directory.txt index a74761cda8..5dba962bd4 100644 --- a/docs/manual/adding-packages-directory.txt +++ b/docs/manual/adding-packages-directory.txt @@ -384,9 +384,6 @@ openGL libraries. See xref:virtual-package-tutorial[] for more on the virtual packages. -See xref:virtual-package-list[] for the symbols to depend on if your package -depends on a feature provided by a virtual package. - === The +.mk+ file [[adding-packages-mk]] diff --git a/docs/manual/customize-outside-br.txt b/docs/manual/customize-outside-br.txt index 70efabe228..ea0e12033e 100644 --- a/docs/manual/customize-outside-br.txt +++ b/docs/manual/customize-outside-br.txt @@ -178,7 +178,7 @@ the br2-external tree. Buildroot will automatically show them in the output of +make list-defconfigs+ and allow them to be loaded with the normal +make <name>_defconfig+ command. They will be visible in the 'make list-defconfigs' output, below an +External configs+ label that -contains the name of the br2-extermnal tree they are defined in. +contains the name of the br2-external tree they are defined in. .Note: If a defconfig file is present in more than one br2-external tree, then @@ -217,8 +217,8 @@ illustration, of course): | `---- | |- Config.in - | |source "$BR2_EXTERNAL_BAR_42_DIR/package/pkg-1/Config.in - | |source "$BR2_EXTERNAL_BAR_42_DIR/package/pkg-2/Config.in + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-1/Config.in" + | |source "$BR2_EXTERNAL_BAR_42_PATH/package/pkg-2/Config.in" | | | |config BAR_42_FLASH_ADDR | | hex "my-board flash address" @@ -229,7 +229,7 @@ illustration, of course): | |include $(sort $(wildcard $(BR2_EXTERNAL_BAR_42_PATH)/package/*/*.mk)) | | | |flash-my-board: - | | $(BR2_EXTERNAL_BAR_42_DIR)/board/my-board/flash-image \ + | | $(BR2_EXTERNAL_BAR_42_PATH)/board/my-board/flash-image \ | | --image $(BINARIES_DIR)/image.bin \ | | --address $(BAR_42_FLASH_ADDR) | `---- diff --git a/docs/website/download.html b/docs/website/download.html index 8824c98a62..d7eef3bbc6 100644 --- a/docs/website/download.html +++ b/docs/website/download.html @@ -8,74 +8,74 @@ <div class="panel-heading">Download</div> <div class="panel-body"> - <h3 style="text-align: center;">Latest stable release: <b>2016.08.1</b></h3> + <h3 style="text-align: center;">Latest stable release: <b>2016.11</b></h3> <div class="row mt centered"> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2016.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2016.08.1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2016.08.1.tar.gz">buildroot-2016.08.1.tar.gz</a></h3> - <p><a href="/downloads/buildroot-2016.08.1.tar.gz.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2016.11.tar.gz">buildroot-2016.11.tar.gz</a></h3> + <p><a href="/downloads/buildroot-2016.11.tar.gz.sign">PGP signature</a></p> </div> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2016.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2016.08.1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2016.08.1.tar.bz2">buildroot-2016.08.1.tar.bz2</a></h3> - <p><a href="/downloads/buildroot-2016.08.1.tar.bz2.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2016.11.tar.bz2">buildroot-2016.11.tar.bz2</a></h3> + <p><a href="/downloads/buildroot-2016.11.tar.bz2.sign">PGP signature</a></p> </div> </div> - - <h3 style="text-align: center;">Latest release candidate: <b>2016.11-rc1</b></h3> +<!-- + <h3 style="text-align: center;">Latest release candidate: <b>2016.11-rc3</b></h3> <div class="row mt centered"> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2016.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2016.11-rc1.tar.gz"><img src="images/zip.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11-rc3.tar.gz"><img src="images/zip.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2016.11-rc1.tar.gz">buildroot-2016.11-rc1.tar.gz</a></h3> - <p><a href="/downloads/buildroot-2016.11-rc1.tar.gz.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2016.11-rc3.tar.gz">buildroot-2016.11-rc3.tar.gz</a></h3> + <p><a href="/downloads/buildroot-2016.11-rc3.tar.gz.sign">PGP signature</a></p> </div> <div class="col-sm-6"> <div class="flip-container center-block" ontouchstart="this.classList.toggle('hover');"> <div class="flipper"> <div class="front"> - <a href="/downloads/buildroot-2016.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> <div class="back"> - <a href="/downloads/buildroot-2016.11-rc1.tar.bz2"><img src="images/package.png" width="180" alt=""></a> + <a href="/downloads/buildroot-2016.11-rc3.tar.bz2"><img src="images/package.png" width="180" alt=""></a> </div> </div> </div> - <h3><a href="/downloads/buildroot-2016.11-rc1.tar.bz2">buildroot-2016.11-rc1.tar.bz2</a></h3> - <p><a href="/downloads/buildroot-2016.11-rc1.tar.bz2.sign">PGP signature</a></p> + <h3><a href="/downloads/buildroot-2016.11-rc3.tar.bz2">buildroot-2016.11-rc3.tar.bz2</a></h3> + <p><a href="/downloads/buildroot-2016.11-rc3.tar.bz2.sign">PGP signature</a></p> </div> </div> - +--> This and earlier releases (and their PGP signatures) can always be downloaded from <a href="/downloads/">http://buildroot.net/downloads/</a>. </div> diff --git a/docs/website/news.html b/docs/website/news.html index 901999be56..f12dfc6393 100644 --- a/docs/website/news.html +++ b/docs/website/news.html @@ -9,6 +9,70 @@ <h2>News</h2> <ul class="timeline"> + <li> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2016.11 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>30 November 2016</small></p> + </div> + <div class="timeline-body"> + <p>The stable 2016.11 release is out - Thanks to everyone + contributing and testing the release candidates. See the + <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11">CHANGES</a> + file for more details + and go to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2016.11.tar.bz2">2016.11 release</a>.</p> + </div> + </div> + </li> + + <li class="timeline-inverted"> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2016.11-rc3 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>28 November 2016</small></p> + </div> + <div class="timeline-body"> + <p>Release candidate 3 is out with more cleanups and security + / build fixes. See + the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11-rc3">CHANGES</a> + file for details.</p> + <p>Head to the <a href="/downloads/">downloads page</a> to + pick up + the <a href="/downloads/buildroot-2016.11-rc3.tar.bz2">2016.11-rc3 + release candidate</a>, and report any problems found to + the <a href="support.html">mailing list</a> + or <a href="https://bugs.uclibc.org">bug tracker</a>.</p> + </div> + </div> + </li> + + <li> + <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> + <div class="timeline-panel"> + <div class="timeline-heading"> + <h4 class="timeline-title">2016.11-rc2 released</h4> + <p><small class="text-muted"><i class="glyphicon glyphicon-time"></i>13 November 2016</small></p> + </div> + <div class="timeline-body"> + <p>We have a new release candidate! Lots of + changes all over the tree, see + the <a href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2016.11-rc2">CHANGES</a> + file for details. + </p> + + <p>Head to the <a href="/downloads/">downloads page</a> to pick up the + <a href="/downloads/buildroot-2016.11-rc2.tar.bz2">2016.11-rc2 + release candidate</a>, and report any + problems found to the + <a href="support.html">mailing list</a> or + <a href="https://bugs.buildroot.org">bug tracker</a>.</p> + </div> + </div> + </li> + <li class="timeline-inverted"> <div class="timeline-badge"><i class="glyphicon glyphicon-thumbs-up"></i></div> <div class="timeline-panel"> diff --git a/fs/common.mk b/fs/common.mk index 981dcb1aa2..7515fdc770 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -43,7 +43,7 @@ ROOTFS_USERS_TABLES = $(call qstrip,$(BR2_ROOTFS_USERS_TABLES)) define ROOTFS_TARGET_INTERNAL # extra deps -ROOTFS_$(2)_DEPENDENCIES += host-pseudo host-makedevs \ +ROOTFS_$(2)_DEPENDENCIES += host-fakeroot host-makedevs \ $$(if $$(PACKAGES_USERS)$$(ROOTFS_USERS_TABLES),host-mkpasswd) ifeq ($$(BR2_TARGET_ROOTFS_$(2)_GZIP),y) @@ -100,7 +100,7 @@ ifeq ($$(BR2_REPRODUCIBLE),y) endif $$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT) chmod a+x $$(FAKEROOT_SCRIPT) - PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/pseudo -- $$(FAKEROOT_SCRIPT) + PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/fakeroot -- $$(FAKEROOT_SCRIPT) $$(INSTALL) -m 0644 support/misc/target-dir-warning.txt $$(TARGET_DIR_WARNING_FILE) -@rm -f $$(FAKEROOT_SCRIPT) $$(FULL_DEVICE_TABLE) ifneq ($$(ROOTFS_$(2)_COMPRESS_CMD),) diff --git a/fs/ext2/ext2.mk b/fs/ext2/ext2.mk index 7417f81cf0..cfb34c4565 100644 --- a/fs/ext2/ext2.mk +++ b/fs/ext2/ext2.mk @@ -20,12 +20,11 @@ ifneq ($(strip $(BR2_TARGET_ROOTFS_EXT2_RESBLKS)),0) EXT2_OPTS += -r $(BR2_TARGET_ROOTFS_EXT2_RESBLKS) endif -# Not qstrip-ing the variable, because it may contain spaces, but we must -# qstrip it when checking. Furthermore, we need to further quote it, so -# that the quotes do not get eaten by the echo statement when creating the -# fakeroot script -ifneq ($(call qstrip,$(BR2_TARGET_ROOTFS_EXT2_LABEL)),) -EXT2_OPTS += -l '$(BR2_TARGET_ROOTFS_EXT2_LABEL)' +# qstrip results in stripping consecutive spaces into a single one. So the +# variable is not qstrip-ed to preserve the integrity of the string value. +EXT2_LABEL := $(subst ",,$(BR2_TARGET_ROOTFS_EXT2_LABEL)) +ifneq ($(EXT2_LABEL),) +EXT2_OPTS += -l "$(EXT2_LABEL)" endif ROOTFS_EXT2_DEPENDENCIES = host-mke2img diff --git a/fs/ubifs/ubi.mk b/fs/ubifs/ubi.mk index cda4bf489e..e488cb5f8a 100644 --- a/fs/ubifs/ubi.mk +++ b/fs/ubifs/ubi.mk @@ -20,9 +20,11 @@ else UBINIZE_CONFIG_FILE_PATH = fs/ubifs/ubinize.cfg endif +# don't use sed -i as it misbehaves on systems with SELinux enabled when this is +# executed through fakeroot (see #9386) define ROOTFS_UBI_CMD - $(INSTALL) -m 0644 $(UBINIZE_CONFIG_FILE_PATH) $(BUILD_DIR)/ubinize.cfg - $(SED) 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' $(BUILD_DIR)/ubinize.cfg + sed 's;BR2_ROOTFS_UBIFS_PATH;$@fs;' \ + $(UBINIZE_CONFIG_FILE_PATH) > $(BUILD_DIR)/ubinize.cfg $(HOST_DIR)/usr/sbin/ubinize -o $@ $(UBI_UBINIZE_OPTS) $(BUILD_DIR)/ubinize.cfg rm $(BUILD_DIR)/ubinize.cfg endef diff --git a/linux/Config.in b/linux/Config.in index 3f4097d93b..6a7838d797 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -26,7 +26,7 @@ choice prompt "Kernel version" config BR2_LINUX_KERNEL_LATEST_VERSION - bool "Latest version (4.8.6)" + bool "Latest version (4.8.11)" config BR2_LINUX_KERNEL_CUSTOM_VERSION bool "Custom version" @@ -97,7 +97,7 @@ endif config BR2_LINUX_KERNEL_VERSION string - default "4.8.6" if BR2_LINUX_KERNEL_LATEST_VERSION + default "4.8.11" if BR2_LINUX_KERNEL_LATEST_VERSION default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ if BR2_LINUX_KERNEL_CUSTOM_VERSION default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL diff --git a/package/assimp/Config.in b/package/assimp/Config.in index 93020f7238..8fa6429da0 100644 --- a/package/assimp/Config.in +++ b/package/assimp/Config.in @@ -4,6 +4,11 @@ config BR2_PACKAGE_ASSIMP # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71124, that # cause an infinite loop in gcc when building this package. depends on !BR2_microblaze + # The ADI Blackfin toolchain does not build assimp properly, + # fails with "internal compiler error: in simplify_subreg, at + # simplify-rtx.c:5001". It builds fine with a mainline gcc for + # Blackfin. + depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_ZLIB help diff --git a/package/autossh/0001-honour-LDFLAGS.patch b/package/autossh/0001-honour-LDFLAGS.patch new file mode 100644 index 0000000000..2e6160b8fd --- /dev/null +++ b/package/autossh/0001-honour-LDFLAGS.patch @@ -0,0 +1,16 @@ +Honour LDFLAGS, especially required when static linking + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur autossh-1.4e.orig/Makefile.in autossh-1.4e/Makefile.in +--- autossh-1.4e.orig/Makefile.in 2015-02-10 05:41:58.000000000 +0100 ++++ autossh-1.4e/Makefile.in 2016-11-25 12:49:06.052122855 +0100 +@@ -31,7 +31,7 @@ + + + $(TARGET): $(OFILES) +- $(CC) $(CPPFLAGS) -o $(TARGET) $(OFILES) $(LIBS) ++ $(CC) $(CPPFLAGS) $(LDFLAGS) -o $(TARGET) $(OFILES) $(LIBS) + + clean: + - /bin/rm -f *.o *.a *.core *~ diff --git a/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch b/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch new file mode 100644 index 0000000000..c6b0e7efe8 --- /dev/null +++ b/package/binutils/2.27/0100-elf32-arm-no-data-fix.patch @@ -0,0 +1,22 @@ +bfd/ChangeLog +2016-08-23 Nick Clifton <address@hidden> + + * elf32-arm.c (elf32_arm_count_additional_relocs): Return zero if + there is no arm data associated with the section. + +[Thomas: taken from https://lists.gnu.org/archive/html/bug-binutils/2016-08/msg00165.html.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c +index 1eba21b..4478238 100644 +--- a/bfd/elf32-arm.c ++++ b/bfd/elf32-arm.c +@@ -18688,7 +18688,7 @@ elf32_arm_count_additional_relocs (asection *sec) + { + struct _arm_elf_section_data *arm_data; + arm_data = get_arm_elf_section_data (sec); +- return arm_data->additional_reloc_count; ++ return arm_data == NULL ? 0 : arm_data->additional_reloc_count; + } + + /* Called to set the sh_flags, sh_link and sh_info fields of OSECTION which diff --git a/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch b/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch new file mode 100644 index 0000000000..f1ec259988 --- /dev/null +++ b/package/binutils/2.27/0900-Revert-part-Set-dynamic-tag-VMA-and-size-from-dynami.patch @@ -0,0 +1,36 @@ +From c646b02fdcae5f37bd88f33a0c4683ef13ad5c82 Mon Sep 17 00:00:00 2001 +From: Alan Modra <amodra@gmail.com> +Date: Mon, 31 Oct 2016 12:46:38 +1030 +Subject: [PATCH] Revert part "Set dynamic tag VMA and size from dynamic + section when possible" + + PR 20748 + * elf32-microblaze.c (microblaze_elf_finish_dynamic_sections): Revert + 2016-05-13 change. + +Signed-off-by: Alan Modra <amodra@gmail.com> +Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> + +diff --git a/bfd/elf32-microblaze.c b/bfd/elf32-microblaze.c +index 477e7b3..5c66808 100644 +--- a/bfd/elf32-microblaze.c ++++ b/bfd/elf32-microblaze.c +@@ -3396,13 +3396,13 @@ microblaze_elf_finish_dynamic_sections (bfd *output_bfd, + { + asection *s; + +- s = bfd_get_linker_section (dynobj, name); ++ s = bfd_get_section_by_name (output_bfd, name); + if (s == NULL) + dyn.d_un.d_val = 0; + else + { + if (! size) +- dyn.d_un.d_ptr = s->output_section->vma + s->output_offset; ++ dyn.d_un.d_ptr = s->vma; + else + dyn.d_un.d_val = s->size; + } +-- +2.1.4 + diff --git a/package/binutils/Config.in.host b/package/binutils/Config.in.host index dce699621d..af9339e11b 100644 --- a/package/binutils/Config.in.host +++ b/package/binutils/Config.in.host @@ -17,15 +17,12 @@ choice config BR2_BINUTILS_VERSION_2_27_X bool "binutils 2.27" - # supported but broken on Microblaze - # see https://sourceware.org/bugzilla/show_bug.cgi?id=20748 - depends on !BR2_microblaze endchoice config BR2_BINUTILS_VERSION string - default "arc-2016.09-eng015" if BR2_arc + default "arc-2016.09-rc1" if BR2_arc default "2.25.1" if BR2_BINUTILS_VERSION_2_25_X default "2.26.1" if BR2_BINUTILS_VERSION_2_26_X default "2.27" if BR2_BINUTILS_VERSION_2_27_X diff --git a/package/binutils/arc-2016.09-eng015/0300-ld-makefile.patch b/package/binutils/arc-2016.09-rc1/0300-ld-makefile.patch index 73cc098024..73cc098024 100644 --- a/package/binutils/arc-2016.09-eng015/0300-ld-makefile.patch +++ b/package/binutils/arc-2016.09-rc1/0300-ld-makefile.patch diff --git a/package/binutils/arc-2016.09-eng015/0301-check-ldrunpath-length.patch b/package/binutils/arc-2016.09-rc1/0301-check-ldrunpath-length.patch index 3b4c204c7f..3b4c204c7f 100644 --- a/package/binutils/arc-2016.09-eng015/0301-check-ldrunpath-length.patch +++ b/package/binutils/arc-2016.09-rc1/0301-check-ldrunpath-length.patch diff --git a/package/binutils/arc-2016.09-eng015/0500-add-sysroot-fix-from-bug-3049.patch b/package/binutils/arc-2016.09-rc1/0500-add-sysroot-fix-from-bug-3049.patch index f67a43efdf..f67a43efdf 100644 --- a/package/binutils/arc-2016.09-eng015/0500-add-sysroot-fix-from-bug-3049.patch +++ b/package/binutils/arc-2016.09-rc1/0500-add-sysroot-fix-from-bug-3049.patch diff --git a/package/binutils/arc-2016.09-eng015/0600-poison-system-directories.patch b/package/binutils/arc-2016.09-rc1/0600-poison-system-directories.patch index d16994ec0c..d16994ec0c 100644 --- a/package/binutils/arc-2016.09-eng015/0600-poison-system-directories.patch +++ b/package/binutils/arc-2016.09-rc1/0600-poison-system-directories.patch diff --git a/package/binutils/binutils.hash b/package/binutils/binutils.hash index f41b39b15a..80ac9ddf2f 100644 --- a/package/binutils/binutils.hash +++ b/package/binutils/binutils.hash @@ -5,4 +5,4 @@ sha512 9d9165609fd3b0f20d616f9891fc8e2b466eb13e2bfce40125e12427f8f201d20e2b8322 sha512 cf276f84935312361a2ca077e04d0b469d23a3aed979d8ba5d92ea590904ffb2c2e7ed12cc842822bfc402836be86f479660cef3791aa62f3753d8a1a6f564cb binutils-2.27.tar.bz2 # Locally calculated (fetched from Github) -sha512 f8cc7529fbe3cb52b666b92e1353063a8a36ea07fa8c5aa8359252f4222feaed15253b6a137033c74dabc0ae784daf8a7978e69ebdb8bf8cd6b8bb61c84bf181 binutils-arc-2016.09-eng015.tar.gz +sha512 d0befdeb0a7b76efd1ad655fc062cde2aa67be7b26210c913ab2709e069d815c4ff2863ce7add1f6434da5a2f4faf1ce5a5bc3d0e64f3e04548a7479f24edcbc binutils-arc-2016.09-rc1.tar.gz diff --git a/package/binutils/binutils.mk b/package/binutils/binutils.mk index ca481d25b1..61486a2f8f 100644 --- a/package/binutils/binutils.mk +++ b/package/binutils/binutils.mk @@ -9,7 +9,7 @@ BINUTILS_VERSION = $(call qstrip,$(BR2_BINUTILS_VERSION)) ifeq ($(BINUTILS_VERSION),) ifeq ($(BR2_arc),y) -BINUTILS_VERSION = arc-2016.09-eng015 +BINUTILS_VERSION = arc-2016.09-rc1 else BINUTILS_VERSION = 2.25.1 endif diff --git a/package/bzip2/Config.in b/package/bzip2/Config.in index e8e03cf08e..dbc82496df 100644 --- a/package/bzip2/Config.in +++ b/package/bzip2/Config.in @@ -6,4 +6,4 @@ config BR2_PACKAGE_BZIP2 available techniques, while being around twice as fast at compression and six times faster at decompression. - http://sources.redhat.com/bzip2/ + http://www.bzip.org diff --git a/package/ccache/ccache.hash b/package/ccache/ccache.hash index fdd0ddfb4f..bde53f794d 100644 --- a/package/ccache/ccache.hash +++ b/package/ccache/ccache.hash @@ -1,2 +1,2 @@ -# Verified key https://samba.org/ftp/ccache/ccache-3.3.2.tar.xz.asc - sha256 computed locally -sha256 907685cb23d8f82074b8d1a9b4ebabb36914d151ac7b96a840c68c08d1a14530 ccache-3.3.2.tar.xz +# Verified key https://samba.org/ftp/ccache/ccache-3.3.3.tar.xz.asc - sha256 computed locally +sha256 3b02a745da1cfa9eb438af7147e0fd3545e2f6163de9e5b07da86f58859f04ec ccache-3.3.3.tar.xz diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk index 63907c25f5..f174a5d01c 100644 --- a/package/ccache/ccache.mk +++ b/package/ccache/ccache.mk @@ -4,7 +4,7 @@ # ################################################################################ -CCACHE_VERSION = 3.3.2 +CCACHE_VERSION = 3.3.3 CCACHE_SITE = https://samba.org/ftp/ccache CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.xz CCACHE_LICENSE = GPLv3+, others diff --git a/package/chrony/chrony.mk b/package/chrony/chrony.mk index adfbd3664b..5f3160e199 100644 --- a/package/chrony/chrony.mk +++ b/package/chrony/chrony.mk @@ -34,6 +34,12 @@ else CHRONY_CONF_OPTS += --disable-readline endif +# If pps-tools is available, build it before so the package can use it +# (HAVE_SYS_TIMEPPS_H). +ifeq ($(BR2_PACKAGE_PPS_TOOLS),y) +CHRONY_DEPENDENCIES += pps-tools +endif + define CHRONY_CONFIGURE_CMDS cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure $(CHRONY_CONF_OPTS) endef diff --git a/package/czmq/0001-configure.ac-remove-Werror.patch b/package/czmq/0001-configure.ac-remove-Werror.patch new file mode 100644 index 0000000000..7f2dae2c2b --- /dev/null +++ b/package/czmq/0001-configure.ac-remove-Werror.patch @@ -0,0 +1,30 @@ +From 9a195dc573f4eed130773e6ef67efd5f71693e97 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Sat, 5 Nov 2016 15:33:57 +0100 +Subject: [PATCH] configure.ac: remove -Werror + +-Werror shouldn't be used in releases, as it can break the build with +newer versions of the compiler or the C library, when new warnings +are introduced. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index e92970a..2fd551a 100755 +--- a/configure.ac ++++ b/configure.ac +@@ -344,7 +344,7 @@ AC_C_BIGENDIAN + + # These options are GNU compiler specific. + if test "x$GCC" = "xyes"; then +- CPPFLAGS="-pedantic -Werror -Wall -Wc++-compat ${CPPFLAGS}" ++ CPPFLAGS="-pedantic -Wall -Wc++-compat ${CPPFLAGS}" + fi + + AM_CONDITIONAL(ENABLE_SHARED, test "x$enable_shared" = "xyes") +-- +2.7.4 + diff --git a/package/domoticz/Config.in b/package/domoticz/Config.in index 3bd7824add..f128e6f88c 100644 --- a/package/domoticz/Config.in +++ b/package/domoticz/Config.in @@ -6,6 +6,8 @@ config BR2_PACKAGE_DOMOTICZ depends on BR2_INSTALL_LIBSTDCPP depends on BR2_USE_WCHAR depends on BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3 + # These result in internal compiler error + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH select BR2_PACKAGE_BOOST select BR2_PACKAGE_BOOST_DATE_TIME select BR2_PACKAGE_BOOST_SYSTEM @@ -26,6 +28,7 @@ config BR2_PACKAGE_DOMOTICZ comment "domoticz needs lua >= 5.2 and a toolchain w/ C++, threads, wchar, dynamic library" depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_USE_WCHAR || BR2_STATIC_LIBS || \ !(BR2_PACKAGE_LUA_5_2 || BR2_PACKAGE_LUA_5_3) diff --git a/package/dosfstools/Config.in.host b/package/dosfstools/Config.in.host index 6156c5a3cf..fc488c0c6f 100644 --- a/package/dosfstools/Config.in.host +++ b/package/dosfstools/Config.in.host @@ -3,4 +3,4 @@ config BR2_PACKAGE_HOST_DOSFSTOOLS help Tools for creating and checking DOS FAT filesystems. - http://www.daniel-baumann.ch/software/dosfstools/ + https://github.com/dosfstools/dosfstools diff --git a/package/dtv-scan-tables/dtv-scan-tables.mk b/package/dtv-scan-tables/dtv-scan-tables.mk index 8ef42b90a2..8a782cb404 100644 --- a/package/dtv-scan-tables/dtv-scan-tables.mk +++ b/package/dtv-scan-tables/dtv-scan-tables.mk @@ -17,6 +17,15 @@ DTV_SCAN_TABLES_SITE_METHOD = git DTV_SCAN_TABLES_LICENSE = GPLv2, LGPLv2.1 DTV_SCAN_TABLES_LICENSE_FILES = COPYING COPYING.LGPL +# In order to avoid issues with file name encodings, we rename the +# only dtv-scan-tables file that has non-ASCII characters to have a +# name using only ASCII characters (pl-Krosno_Sucha_Gora) +define DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES + mv $(@D)/dvb-t/pl-Krosno_Sucha* $(@D)/dvb-t/pl-Krosno_Sucha_Gora +endef + +DTV_SCAN_TABLES_POST_PATCH_HOOKS += DTV_SCAN_TABLES_FIX_NONASCII_FILENAMES + define DTV_SCAN_TABLES_INSTALL_TARGET_CMDS for f in atsc dvb-c dvb-s dvb-t; do \ $(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/share/dvb/$$f; \ diff --git a/package/e2fsprogs/e2fsprogs.mk b/package/e2fsprogs/e2fsprogs.mk index 022ba5283a..b6e79d246b 100644 --- a/package/e2fsprogs/e2fsprogs.mk +++ b/package/e2fsprogs/e2fsprogs.mk @@ -51,6 +51,12 @@ endif # for util/subst.c to build properly. E2FSPROGS_CONF_ENV += BUILD_CFLAGS="-DHAVE_SYS_STAT_H" +# Disable use of the host magic.h, as on older hosts (e.g. RHEL 5) +# it doesn't provide definitions expected by e2fsprogs support lib. +HOST_E2FSPROGS_CONF_ENV += \ + ac_cv_header_magic_h=no \ + ac_cv_lib_magic_magic_file=no + ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y) # util-linux libuuid pulls in libintl if needed, so ensure we also # link against it, otherwise static linking fails diff --git a/package/efl/Config.in b/package/efl/Config.in index f963ade8e5..69b0dcfb39 100644 --- a/package/efl/Config.in +++ b/package/efl/Config.in @@ -14,7 +14,6 @@ config BR2_PACKAGE_EFL select BR2_PACKAGE_FREETYPE select BR2_PACKAGE_JPEG # Emile needs libjpeg select BR2_PACKAGE_LIBCURL # Ecore_con_url, runtime dependency - select BR2_PACKAGE_LIBXKBCOMMON if BR2_PACKAGE_WAYLAND # https://phab.enlightenment.org/T2728 select BR2_PACKAGE_LUAJIT # Lua support broken select BR2_PACKAGE_UTIL_LINUX diff --git a/package/efl/efl.mk b/package/efl/efl.mk index 17d3163c87..bdf304d3c7 100644 --- a/package/efl/efl.mk +++ b/package/efl/efl.mk @@ -42,6 +42,7 @@ EFL_CONF_OPTS = \ --disable-sdl \ --disable-spectre \ --disable-xinput22 \ + --disable-wayland \ --with-doxygen=no # Disable untested configuration warning. @@ -145,13 +146,6 @@ else EFL_CONF_OPTS += --with-crypto=none endif # BR2_PACKAGE_OPENSSL -ifeq ($(BR2_PACKAGE_WAYLAND),y) -EFL_DEPENDENCIES += wayland libxkbcommon -EFL_CONF_OPTS += --enable-wayland -else -EFL_CONF_OPTS += --disable-wayland -endif - ifeq ($(BR2_PACKAGE_EFL_ELPUT),y) EFL_CONF_OPTS += --enable-elput EFL_DEPENDENCIES += libinput libxkbcommon diff --git a/package/fakeroot/0001-hide-dlsym-error.patch b/package/fakeroot/0001-hide-dlsym-error.patch new file mode 100644 index 0000000000..2c61fab248 --- /dev/null +++ b/package/fakeroot/0001-hide-dlsym-error.patch @@ -0,0 +1,34 @@ +Description: Hide error from dlsym() + dlsym(), starting in glibc 2.24 actually reports errors. In our case, + we try to get ACL functions which are not in the glibc. This causes + failures in test suites, so hide those messages for non-debugging + purposes for now. It also makes the build logs annoying to read. +Author: Julian Andres Klode <juliank@ubuntu.com> +Origin: vendor +Bug-Debian: https://bugs.debian.org/830912 +Forwarded: no +Last-Update: 2016-08-12 + +Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> + +--- a/libfakeroot.c ++++ b/libfakeroot.c +@@ -256,10 +256,16 @@ void load_library_symbols(void){ + /* clear dlerror() just in case dlsym() legitimately returns NULL */ + msg = dlerror(); + *(next_wrap[i].doit)=dlsym(get_libc(), next_wrap[i].name); ++ + if ( (msg = dlerror()) != NULL){ +- fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg); +-/* abort ();*/ ++#ifdef LIBFAKEROOT_DEBUGGING ++ if (fakeroot_debug) { ++ fprintf (stderr, "dlsym(%s): %s\n", next_wrap[i].name, msg); ++/* abort ();*/ ++ } ++#endif + } ++ + } + } + diff --git a/package/fakeroot/fakeroot.hash b/package/fakeroot/fakeroot.hash new file mode 100644 index 0000000000..f0d436e5c3 --- /dev/null +++ b/package/fakeroot/fakeroot.hash @@ -0,0 +1,4 @@ +# From http://snapshot.debian.org/package/fakeroot/1.20.2-1/ +sha1 367040df07043edb630942b21939e493f3fad888 fakeroot_1.20.2.orig.tar.bz2 +# Calculated based on the hash above +sha256 7c0a164d19db3efa9e802e0fc7cdfeff70ec6d26cdbdc4338c9c2823c5ea230c fakeroot_1.20.2.orig.tar.bz2 diff --git a/package/fakeroot/fakeroot.mk b/package/fakeroot/fakeroot.mk new file mode 100644 index 0000000000..168cd13a48 --- /dev/null +++ b/package/fakeroot/fakeroot.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# fakeroot +# +################################################################################ + +FAKEROOT_VERSION = 1.20.2 +FAKEROOT_SOURCE = fakeroot_$(FAKEROOT_VERSION).orig.tar.bz2 +FAKEROOT_SITE = http://snapshot.debian.org/archive/debian/20141005T221953Z/pool/main/f/fakeroot +# Force capabilities detection off +# For now these are process capabilities (faked) rather than file +# so they're of no real use +HOST_FAKEROOT_CONF_ENV = \ + ac_cv_header_sys_capability_h=no \ + ac_cv_func_capset=no + +FAKEROOT_LICENSE = GPLv3+ +FAKEROOT_LICENSE_FILES = COPYING + +$(eval $(host-autotools-package)) diff --git a/package/ffmpeg/Config.in b/package/ffmpeg/Config.in index a3ca1054d9..e8135953b2 100644 --- a/package/ffmpeg/Config.in +++ b/package/ffmpeg/Config.in @@ -2,7 +2,8 @@ config BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS bool # fenv.h lacks FE_INVALID, FE_OVERFLOW & FE_UNDERFLOW on nios2 # No support for ARMv7-M in the ARM assembly logic - default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M + # Microblaze build affected by gcc PR71124 (infinite loop) + default y if !BR2_nios2 && !BR2_ARM_CPU_ARMV7M && !BR2_microblaze menuconfig BR2_PACKAGE_FFMPEG bool "ffmpeg" diff --git a/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch b/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch new file mode 100644 index 0000000000..d8c6723ed3 --- /dev/null +++ b/package/gcc/4.8.5/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch @@ -0,0 +1,43 @@ +From edb9057c195c41dd7bcd8603e5fd420359edd520 Mon Sep 17 00:00:00 2001 +From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Mon, 23 Nov 2015 15:17:55 +0000 +Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for + printing fatal error + +libgcc/ + PR target/68059 + * config/arm/linux-atomic-64bit.c (__write): Rename to... + (write): ...this and fix the return type. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4 + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + libgcc/config/arm/linux-atomic-64bit.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c +index 7aa8dfc..570b4ce 100644 +--- a/libgcc/config/arm/linux-atomic-64bit.c ++++ b/libgcc/config/arm/linux-atomic-64bit.c +@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + kernels; we check for that in an init section and bail out rather + unceremoneously. */ + +-extern unsigned int __write (int fd, const void *buf, unsigned int count); ++extern int write (int fd, const void *buf, unsigned int count); + extern void abort (void); + + /* Kernel helper for compare-and-exchange. */ +@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void) + for the user - I'm not sure I can rely on much else being + available at this point, so do the same as generic-morestack.c + write () and abort (). */ +- __write (2 /* stderr. */, err, sizeof (err)); ++ write (2 /* stderr. */, err, sizeof (err)); + abort (); + } + }; +-- +2.10.2 + diff --git a/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch b/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch new file mode 100644 index 0000000000..fd2bc69538 --- /dev/null +++ b/package/gcc/4.9.4/0001-ARM-PR-target-68059-libgcc-should-not-use-__write-fo.patch @@ -0,0 +1,43 @@ +From 80bc14a5249da7054b716229206b453f339b4a5e Mon Sep 17 00:00:00 2001 +From: nsz <nsz@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Mon, 23 Nov 2015 15:17:55 +0000 +Subject: [PATCH] [ARM] PR target/68059 libgcc should not use __write for + printing fatal error + +libgcc/ + PR target/68059 + * config/arm/linux-atomic-64bit.c (__write): Rename to... + (write): ...this and fix the return type. + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230762 138bc75d-0d04-0410-961f-82ee72b054a4 + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + libgcc/config/arm/linux-atomic-64bit.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libgcc/config/arm/linux-atomic-64bit.c b/libgcc/config/arm/linux-atomic-64bit.c +index 5b8c6e2..9078673 100644 +--- a/libgcc/config/arm/linux-atomic-64bit.c ++++ b/libgcc/config/arm/linux-atomic-64bit.c +@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + kernels; we check for that in an init section and bail out rather + unceremoneously. */ + +-extern unsigned int __write (int fd, const void *buf, unsigned int count); ++extern int write (int fd, const void *buf, unsigned int count); + extern void abort (void); + + /* Kernel helper for compare-and-exchange. */ +@@ -56,7 +56,7 @@ static void __check_for_sync8_kernelhelper (void) + for the user - I'm not sure I can rely on much else being + available at this point, so do the same as generic-morestack.c + write () and abort (). */ +- __write (2 /* stderr. */, err, sizeof (err)); ++ write (2 /* stderr. */, err, sizeof (err)); + abort (); + } + }; +-- +2.10.2 + diff --git a/package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch b/package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch new file mode 100644 index 0000000000..870b079e38 --- /dev/null +++ b/package/gcc/5.4.0/875-xtensa-implement-trap-pattern.patch @@ -0,0 +1,67 @@ +From 2b4b5775554c91a63ccae4ee566db696b633652e Mon Sep 17 00:00:00 2001 +From: jcmvbkbc <jcmvbkbc@138bc75d-0d04-0410-961f-82ee72b054a4> +Date: Wed, 10 Jun 2015 15:07:40 +0000 +Subject: [PATCH] xtensa: implement trap pattern + +2015-06-10 Max Filippov <jcmvbkbc@gmail.com> +gcc/ + * config/xtensa/xtensa.h (TARGET_DEBUG): New definition. + * config/xtensa/xtensa.md (define_attr "type"): New type "trap". + (define_insn "trap"): New definition. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> + +git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@224330 138bc75d-0d04-0410-961f-82ee72b054a4 +--- + gcc/config/xtensa/xtensa.h | 1 + + gcc/config/xtensa/xtensa.md | 15 ++++++++++++++- + 2 files changed, 15 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h +index 615f741..fb8702c 100644 +--- a/gcc/config/xtensa/xtensa.h ++++ b/gcc/config/xtensa/xtensa.h +@@ -67,6 +67,7 @@ extern unsigned xtensa_current_frame_size; + #define TARGET_THREADPTR XCHAL_HAVE_THREADPTR + #define TARGET_LOOPS XCHAL_HAVE_LOOPS + #define TARGET_WINDOWED_ABI (XSHAL_ABI == XTHAL_ABI_WINDOWED) ++#define TARGET_DEBUG XCHAL_HAVE_DEBUG + + #define TARGET_DEFAULT \ + ((XCHAL_HAVE_L32R ? 0 : MASK_CONST16) | \ +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index 6d84384..a577aa3 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -86,7 +86,7 @@ + ;; Attributes. + + (define_attr "type" +- "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry" ++ "unknown,jump,call,load,store,move,arith,multi,nop,farith,fmadd,fconv,fload,fstore,mul16,mul32,div32,mac16,rsr,wsr,entry,trap" + (const_string "unknown")) + + (define_attr "mode" +@@ -1764,6 +1764,19 @@ + [(set_attr "length" "0") + (set_attr "type" "nop")]) + ++(define_insn "trap" ++ [(trap_if (const_int 1) (const_int 0))] ++ "" ++{ ++ if (TARGET_DEBUG) ++ return "break\t1, 15"; ++ else ++ return (TARGET_DENSITY ? "ill.n" : "ill"); ++} ++ [(set_attr "type" "trap") ++ (set_attr "mode" "none") ++ (set_attr "length" "3")]) ++ + ;; Setting up a frame pointer is tricky for Xtensa because GCC doesn't + ;; know if a frame pointer is required until the reload pass, and + ;; because there may be an incoming argument value in the hard frame +-- +2.1.4 + diff --git a/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch b/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch new file mode 100644 index 0000000000..628268ada4 --- /dev/null +++ b/package/gcc/5.4.0/876-xtensa-Fix-PR-target-78603.patch @@ -0,0 +1,37 @@ +From e178289a12a829ec47dc5038d91401f65381e71d Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Tue, 29 Nov 2016 13:09:17 -0800 +Subject: [PATCH 8/8] xtensa: Fix PR target/78603 + +2016-11-29 Max Filippov <jcmvbkbc@gmail.com> +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero + overhead loop start between a call and its CALL_ARG_LOCATION + note. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- +Backported from: r242979 + + gcc/config/xtensa/xtensa.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 206ff80..36ab1e3 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4182,7 +4182,10 @@ hwloop_optimize (hwloop_info loop) + entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) +- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) ++ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK ++ /* Make sure we don't split a call and its corresponding ++ CALL_ARG_LOCATION note. */ ++ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) + entry_after = PREV_INSN (entry_after); + + emit_insn_after (seq, entry_after); +-- +2.1.4 + diff --git a/package/gcc/5.4.0/911-ppc-musl-support.patch b/package/gcc/5.4.0/911-ppc-musl-support.patch new file mode 100644 index 0000000000..f4905a4232 --- /dev/null +++ b/package/gcc/5.4.0/911-ppc-musl-support.patch @@ -0,0 +1,75 @@ +Add support for musl on ppc32 + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur gcc-5.4.0.orig/gcc/config/rs6000/sysv4.h gcc-5.4.0/gcc/config/rs6000/sysv4.h +--- gcc-5.4.0.orig/gcc/config/rs6000/sysv4.h 2015-09-24 15:46:45.000000000 +0200 ++++ gcc-5.4.0/gcc/config/rs6000/sysv4.h 2016-11-27 13:12:33.226953738 +0100 +@@ -537,6 +537,9 @@ + #ifndef CC1_SECURE_PLT_DEFAULT_SPEC + #define CC1_SECURE_PLT_DEFAULT_SPEC "" + #endif ++#ifndef LINK_SECURE_PLT_DEFAULT_SPEC ++#define LINK_SECURE_PLT_DEFAULT_SPEC "" ++#endif + + /* Pass -G xxx to the compiler. */ + #undef CC1_SPEC +@@ -757,17 +760,23 @@ + + #define LINK_START_LINUX_SPEC "" + ++#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","") ++ + #define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1" + #define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0" ++#define MUSL_DYNAMIC_LINKER \ ++ "/lib/ld-musl-powerpc" MUSL_DYNAMIC_LINKER_E "%{msoft-float:-sf}.so.1" + #if DEFAULT_LIBC == LIBC_UCLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{mmusl:" M ";:" U "}}" ++#elif DEFAULT_LIBC == LIBC_MUSL ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{mglibc:" G ";:%{muclibc:" U ";:" M "}}" + #elif !defined (DEFAULT_LIBC) || DEFAULT_LIBC == LIBC_GLIBC +-#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:" U ";:" G "}" ++#define CHOOSE_DYNAMIC_LINKER(G, U, M) "%{muclibc:" U ";:%{mmusl:" M ";:" G "}}" + #else + #error "Unsupported DEFAULT_LIBC" + #endif + #define GNU_USER_DYNAMIC_LINKER \ +- CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER) ++ CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER) + + #define LINK_OS_LINUX_SPEC "-m elf32ppclinux %{!shared: %{!static: \ + %{rdynamic:-export-dynamic} \ +@@ -889,6 +898,7 @@ + { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \ + { "link_os_default", LINK_OS_DEFAULT_SPEC }, \ + { "cc1_secure_plt_default", CC1_SECURE_PLT_DEFAULT_SPEC }, \ ++ { "link_secure_plt_default", LINK_SECURE_PLT_DEFAULT_SPEC }, \ + { "cpp_os_ads", CPP_OS_ADS_SPEC }, \ + { "cpp_os_yellowknife", CPP_OS_YELLOWKNIFE_SPEC }, \ + { "cpp_os_mvme", CPP_OS_MVME_SPEC }, \ +diff -Nur gcc-5.4.0.orig/gcc/config/rs6000/sysv4le.h gcc-5.4.0/gcc/config/rs6000/sysv4le.h +--- gcc-5.4.0.orig/gcc/config/rs6000/sysv4le.h 2015-09-24 15:46:45.000000000 +0200 ++++ gcc-5.4.0/gcc/config/rs6000/sysv4le.h 2016-11-27 13:12:33.226953738 +0100 +@@ -31,3 +31,5 @@ + /* Little-endian PowerPC64 Linux uses the ELF v2 ABI by default. */ + #define LINUX64_DEFAULT_ABI_ELFv2 + ++#undef MUSL_DYNAMIC_LINKER_E ++#define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","le") +diff -Nur gcc-5.4.0.orig/gcc/config.gcc gcc-5.4.0/gcc/config.gcc +--- gcc-5.4.0.orig/gcc/config.gcc 2015-09-10 16:17:53.000000000 +0200 ++++ gcc-5.4.0/gcc/config.gcc 2016-11-27 13:14:17.149638148 +0100 +@@ -2413,6 +2413,10 @@ + powerpc*-*-linux*paired*) + tm_file="${tm_file} rs6000/750cl.h" ;; + esac ++ case ${target} in ++ powerpc*-*-linux*-musl*) ++ enable_secureplt=yes ;; ++ esac + if test x${enable_secureplt} = xyes; then + tm_file="rs6000/secureplt.h ${tm_file}" + fi diff --git a/package/gcc/6.2.0/870-xtensa-Fix-PR-target-78118.patch b/package/gcc/6.2.0/870-xtensa-Fix-PR-target-78118.patch new file mode 100644 index 0000000000..0598c76c2f --- /dev/null +++ b/package/gcc/6.2.0/870-xtensa-Fix-PR-target-78118.patch @@ -0,0 +1,320 @@ +From 0d2556fa652cc85b3d042e862a38dd07d454175a Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Wed, 26 Oct 2016 08:02:51 +0000 +Subject: [PATCH 1/2] xtensa: Fix PR target/78118 + +It started failing after the following commit: 32e90dc6a0cda45 ("PR +rtl-optimization/61047"). + +The change that made xtensa backend go ICE looks completely unrelated, +and indeed, the issue is caused by the side effect of +compute_frame_size() function call hidden in the +INITIAL_ELIMINATION_OFFSET macro. This call updates the value of the +xtensa_current_frame_size static variable, used in "return" instruction +predicate. Prior to the change the value of xtensa_current_frame_size was +set to 0 after the end of epilogue generation, which enabled the "return" +instruction for the CALL0 ABI, but after the change the additional +INITIAL_ELIMINATION_OFFSET calls make xtensa_current_frame_size non-zero +and "return" pattern unavailable. + +Get rid of the global xtensa_current_frame_size and +xtensa_callee_save_size variables by moving them into the +machine_function structure. Implement predicate for the "return" pattern +as a function. Don't communicate completion of epilogue generation +through zeroing of xtensa_current_frame_size, add explicit epilogue_done +variable to the machine_function structure. Don't update stack frame +layout after the completion of reload. + +2016-10-26 Max Filippov <jcmvbkbc@gmail.com> +gcc/ + * config/xtensa/xtensa-protos.h + (xtensa_use_return_instruction_p): New prototype. + * config/xtensa/xtensa.c (xtensa_current_frame_size, + xtensa_callee_save_size): Remove. + (struct machine_function): Add new fields: current_frame_size, + callee_save_size, frame_laid_out and epilogue_done. + (compute_frame_size, xtensa_expand_prologue, + xtensa_expand_epilogue): Replace xtensa_callee_save_size with + cfun->machine->callee_save_size and xtensa_current_frame_size + with cfun->machine->current_frame_size. + (compute_frame_size): Update cfun->machine->frame_laid_out and + don't update frame layout after reload completion. + (xtensa_expand_epilogue): Set cfun->machine->epilogue_done + instead of zeroing xtensa_current_frame_size. + (xtensa_use_return_instruction_p): New function. + * config/xtensa/xtensa.h (xtensa_current_frame_size): Remove + declaration. + (INITIAL_ELIMINATION_OFFSET): Use return value of + compute_frame_size instead of xtensa_current_frame_size value. + * config/xtensa/xtensa.md ("return" pattern): Use new predicate + function xtensa_use_return_instruction_p instead of inline code. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- +Backported from: r241748 + + gcc/config/xtensa/xtensa-protos.h | 1 + + gcc/config/xtensa/xtensa.c | 82 ++++++++++++++++++++++++--------------- + gcc/config/xtensa/xtensa.h | 6 +-- + gcc/config/xtensa/xtensa.md | 2 +- + 4 files changed, 55 insertions(+), 36 deletions(-) + +diff --git a/gcc/config/xtensa/xtensa-protos.h b/gcc/config/xtensa/xtensa-protos.h +index f2ca526..873557f 100644 +--- a/gcc/config/xtensa/xtensa-protos.h ++++ b/gcc/config/xtensa/xtensa-protos.h +@@ -68,6 +68,7 @@ extern rtx xtensa_return_addr (int, rtx); + extern void xtensa_setup_frame_addresses (void); + extern int xtensa_dbx_register_number (int); + extern long compute_frame_size (int); ++extern bool xtensa_use_return_instruction_p (void); + extern void xtensa_expand_prologue (void); + extern void xtensa_expand_epilogue (void); + extern void order_regs_for_local_alloc (void); +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index 64d089b..e49f784 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -78,11 +78,6 @@ enum internal_test + can support a given mode. */ + char xtensa_hard_regno_mode_ok[(int) MAX_MACHINE_MODE][FIRST_PSEUDO_REGISTER]; + +-/* Current frame size calculated by compute_frame_size. */ +-unsigned xtensa_current_frame_size; +-/* Callee-save area size in the current frame calculated by compute_frame_size. */ +-int xtensa_callee_save_size; +- + /* Largest block move to handle in-line. */ + #define LARGEST_MOVE_RATIO 15 + +@@ -94,6 +89,13 @@ struct GTY(()) machine_function + bool vararg_a7; + rtx vararg_a7_copy; + rtx_insn *set_frame_ptr_insn; ++ /* Current frame size calculated by compute_frame_size. */ ++ unsigned current_frame_size; ++ /* Callee-save area size in the current frame calculated by ++ compute_frame_size. */ ++ int callee_save_size; ++ bool frame_laid_out; ++ bool epilogue_done; + }; + + /* Vector, indexed by hard register number, which contains 1 for a +@@ -2628,24 +2630,29 @@ compute_frame_size (int size) + { + int regno; + ++ if (reload_completed && cfun->machine->frame_laid_out) ++ return cfun->machine->current_frame_size; ++ + /* Add space for the incoming static chain value. */ + if (cfun->static_chain_decl != NULL) + size += (1 * UNITS_PER_WORD); + +- xtensa_callee_save_size = 0; ++ cfun->machine->callee_save_size = 0; + for (regno = 0; regno < FIRST_PSEUDO_REGISTER; ++regno) + { + if (xtensa_call_save_reg(regno)) +- xtensa_callee_save_size += UNITS_PER_WORD; ++ cfun->machine->callee_save_size += UNITS_PER_WORD; + } + +- xtensa_current_frame_size = ++ cfun->machine->current_frame_size = + XTENSA_STACK_ALIGN (size +- + xtensa_callee_save_size ++ + cfun->machine->callee_save_size + + crtl->outgoing_args_size + + (WINDOW_SIZE * UNITS_PER_WORD)); +- xtensa_callee_save_size = XTENSA_STACK_ALIGN (xtensa_callee_save_size); +- return xtensa_current_frame_size; ++ cfun->machine->callee_save_size = ++ XTENSA_STACK_ALIGN (cfun->machine->callee_save_size); ++ cfun->machine->frame_laid_out = true; ++ return cfun->machine->current_frame_size; + } + + +@@ -2696,6 +2703,7 @@ xtensa_expand_prologue (void) + { + int regno; + HOST_WIDE_INT offset = 0; ++ int callee_save_size = cfun->machine->callee_save_size; + + /* -128 is a limit of single addi instruction. */ + if (total_size > 0 && total_size <= 128) +@@ -2709,7 +2717,7 @@ xtensa_expand_prologue (void) + add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); + offset = total_size - UNITS_PER_WORD; + } +- else if (xtensa_callee_save_size) ++ else if (callee_save_size) + { + /* 1020 is maximal s32i offset, if the frame is bigger than that + * we move sp to the end of callee-saved save area, save and then +@@ -2717,13 +2725,13 @@ xtensa_expand_prologue (void) + if (total_size > 1024) + { + insn = emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, +- GEN_INT (-xtensa_callee_save_size))); ++ GEN_INT (-callee_save_size))); + RTX_FRAME_RELATED_P (insn) = 1; + note_rtx = gen_rtx_SET (stack_pointer_rtx, + plus_constant (Pmode, stack_pointer_rtx, +- -xtensa_callee_save_size)); ++ -callee_save_size)); + add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); +- offset = xtensa_callee_save_size - UNITS_PER_WORD; ++ offset = callee_save_size - UNITS_PER_WORD; + } + else + { +@@ -2759,13 +2767,13 @@ xtensa_expand_prologue (void) + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); + emit_move_insn (tmp_reg, GEN_INT (total_size - +- xtensa_callee_save_size)); ++ callee_save_size)); + insn = emit_insn (gen_subsi3 (stack_pointer_rtx, + stack_pointer_rtx, tmp_reg)); + RTX_FRAME_RELATED_P (insn) = 1; + note_rtx = gen_rtx_SET (stack_pointer_rtx, + plus_constant (Pmode, stack_pointer_rtx, +- xtensa_callee_save_size - ++ callee_save_size - + total_size)); + add_reg_note (insn, REG_FRAME_RELATED_EXPR, note_rtx); + } +@@ -2833,21 +2841,21 @@ xtensa_expand_epilogue (void) + int regno; + HOST_WIDE_INT offset; + +- if (xtensa_current_frame_size > (frame_pointer_needed ? 127 : 1024)) ++ if (cfun->machine->current_frame_size > (frame_pointer_needed ? 127 : 1024)) + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); +- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size - +- xtensa_callee_save_size)); ++ emit_move_insn (tmp_reg, GEN_INT (cfun->machine->current_frame_size - ++ cfun->machine->callee_save_size)); + emit_insn (gen_addsi3 (stack_pointer_rtx, frame_pointer_needed ? + hard_frame_pointer_rtx : stack_pointer_rtx, + tmp_reg)); +- offset = xtensa_callee_save_size - UNITS_PER_WORD; ++ offset = cfun->machine->callee_save_size - UNITS_PER_WORD; + } + else + { + if (frame_pointer_needed) + emit_move_insn (stack_pointer_rtx, hard_frame_pointer_rtx); +- offset = xtensa_current_frame_size - UNITS_PER_WORD; ++ offset = cfun->machine->current_frame_size - UNITS_PER_WORD; + } + + /* Prevent reordering of saved a0 update and loading it back from +@@ -2867,16 +2875,16 @@ xtensa_expand_epilogue (void) + } + } + +- if (xtensa_current_frame_size > 0) ++ if (cfun->machine->current_frame_size > 0) + { + if (frame_pointer_needed || /* always reachable with addi */ +- xtensa_current_frame_size > 1024 || +- xtensa_current_frame_size <= 127) ++ cfun->machine->current_frame_size > 1024 || ++ cfun->machine->current_frame_size <= 127) + { +- if (xtensa_current_frame_size <= 127) +- offset = xtensa_current_frame_size; ++ if (cfun->machine->current_frame_size <= 127) ++ offset = cfun->machine->current_frame_size; + else +- offset = xtensa_callee_save_size; ++ offset = cfun->machine->callee_save_size; + + emit_insn (gen_addsi3 (stack_pointer_rtx, + stack_pointer_rtx, +@@ -2885,7 +2893,8 @@ xtensa_expand_epilogue (void) + else + { + rtx tmp_reg = gen_rtx_REG (Pmode, A9_REG); +- emit_move_insn (tmp_reg, GEN_INT (xtensa_current_frame_size)); ++ emit_move_insn (tmp_reg, ++ GEN_INT (cfun->machine->current_frame_size)); + emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, + tmp_reg)); + } +@@ -2896,11 +2905,22 @@ xtensa_expand_epilogue (void) + stack_pointer_rtx, + EH_RETURN_STACKADJ_RTX)); + } +- xtensa_current_frame_size = 0; +- xtensa_callee_save_size = 0; ++ cfun->machine->epilogue_done = true; + emit_jump_insn (gen_return ()); + } + ++bool ++xtensa_use_return_instruction_p (void) ++{ ++ if (!reload_completed) ++ return false; ++ if (TARGET_WINDOWED_ABI) ++ return true; ++ if (compute_frame_size (get_frame_size ()) == 0) ++ return true; ++ return cfun->machine->epilogue_done; ++} ++ + void + xtensa_set_return_address (rtx address, rtx scratch) + { +diff --git a/gcc/config/xtensa/xtensa.h b/gcc/config/xtensa/xtensa.h +index 82e9900..58eb1b2 100644 +--- a/gcc/config/xtensa/xtensa.h ++++ b/gcc/config/xtensa/xtensa.h +@@ -23,8 +23,6 @@ along with GCC; see the file COPYING3. If not see + + /* External variables defined in xtensa.c. */ + +-extern unsigned xtensa_current_frame_size; +- + /* Macros used in the machine description to select various Xtensa + configuration options. */ + #ifndef XCHAL_HAVE_MUL32_HIGH +@@ -477,14 +475,14 @@ enum reg_class + /* Specify the initial difference between the specified pair of registers. */ + #define INITIAL_ELIMINATION_OFFSET(FROM, TO, OFFSET) \ + do { \ +- compute_frame_size (get_frame_size ()); \ ++ long frame_size = compute_frame_size (get_frame_size ()); \ + switch (FROM) \ + { \ + case FRAME_POINTER_REGNUM: \ + (OFFSET) = 0; \ + break; \ + case ARG_POINTER_REGNUM: \ +- (OFFSET) = xtensa_current_frame_size; \ ++ (OFFSET) = frame_size; \ + break; \ + default: \ + gcc_unreachable (); \ +diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md +index db54a12..fcdb6c8 100644 +--- a/gcc/config/xtensa/xtensa.md ++++ b/gcc/config/xtensa/xtensa.md +@@ -1663,7 +1663,7 @@ + (define_insn "return" + [(return) + (use (reg:SI A0_REG))] +- "(TARGET_WINDOWED_ABI || !xtensa_current_frame_size) && reload_completed" ++ "xtensa_use_return_instruction_p ()" + { + return TARGET_WINDOWED_ABI ? + (TARGET_DENSITY ? "retw.n" : "retw") : +-- +2.1.4 + diff --git a/package/gcc/6.2.0/871-xtensa-Fix-PR-target-78603.patch b/package/gcc/6.2.0/871-xtensa-Fix-PR-target-78603.patch new file mode 100644 index 0000000000..0331814398 --- /dev/null +++ b/package/gcc/6.2.0/871-xtensa-Fix-PR-target-78603.patch @@ -0,0 +1,37 @@ +From 59cce7b304a8cbbb508ba21ab2f9052d3ee9a9e3 Mon Sep 17 00:00:00 2001 +From: Max Filippov <jcmvbkbc@gmail.com> +Date: Tue, 29 Nov 2016 13:09:17 -0800 +Subject: [PATCH 2/2] xtensa: Fix PR target/78603 + +2016-11-29 Max Filippov <jcmvbkbc@gmail.com> +gcc/ + * config/xtensa/xtensa.c (hwloop_optimize): Don't emit zero + overhead loop start between a call and its CALL_ARG_LOCATION + note. + +Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> +--- +Backported from: r242979 + + gcc/config/xtensa/xtensa.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c +index e49f784..70f698a 100644 +--- a/gcc/config/xtensa/xtensa.c ++++ b/gcc/config/xtensa/xtensa.c +@@ -4158,7 +4158,10 @@ hwloop_optimize (hwloop_info loop) + entry_after = BB_END (entry_bb); + while (DEBUG_INSN_P (entry_after) + || (NOTE_P (entry_after) +- && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK)) ++ && NOTE_KIND (entry_after) != NOTE_INSN_BASIC_BLOCK ++ /* Make sure we don't split a call and its corresponding ++ CALL_ARG_LOCATION note. */ ++ && NOTE_KIND (entry_after) != NOTE_INSN_CALL_ARG_LOCATION)) + entry_after = PREV_INSN (entry_after); + + emit_insn_after (seq, entry_after); +-- +2.1.4 + diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host index 446df4dc78..d10798b10d 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -64,9 +64,8 @@ choice # musl ppc64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el)) # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && \ - !BR2_mips_m5101 && !BR2_mips_m6201 && !BR2_mips_i6400 && \ - !BR2_mips_p6600 + depends on !BR2_mips_interaptiv && !BR2_mips_m5150 && \ + !BR2_mips_m6250 && !BR2_mips_i6400 && !BR2_mips_p6600 # musl mips64 unsupported depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_mips64 || BR2_mips64el)) select BR2_TOOLCHAIN_GCC_AT_LEAST_5 @@ -77,7 +76,7 @@ choice depends on !BR2_arc depends on !BR2_microblaze # Unsupported MIPS cores - depends on !BR2_mips_m6201 && !BR2_mips_p6600 + depends on !BR2_mips_m6250 && !BR2_mips_p6600 select BR2_TOOLCHAIN_GCC_AT_LEAST_6 endchoice @@ -99,7 +98,7 @@ config BR2_GCC_VERSION default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.4.0" if BR2_GCC_VERSION_5_X default "6.2.0" if BR2_GCC_VERSION_6_X - default "arc-2016.09-eng015" if BR2_GCC_VERSION_ARC + default "arc-2016.09-rc1" if BR2_GCC_VERSION_ARC config BR2_EXTRA_GCC_CONFIG_OPTIONS string "Additional gcc options" diff --git a/package/gcc/arc-2016.09-eng015/301-missing-execinfo_h.patch b/package/gcc/arc-2016.09-rc1/301-missing-execinfo_h.patch index 2d0e7baa44..2d0e7baa44 100644 --- a/package/gcc/arc-2016.09-eng015/301-missing-execinfo_h.patch +++ b/package/gcc/arc-2016.09-rc1/301-missing-execinfo_h.patch diff --git a/package/gcc/arc-2016.09-eng015/860-cilk-wchar.patch b/package/gcc/arc-2016.09-rc1/860-cilk-wchar.patch index 1d9916f554..1d9916f554 100644 --- a/package/gcc/arc-2016.09-eng015/860-cilk-wchar.patch +++ b/package/gcc/arc-2016.09-rc1/860-cilk-wchar.patch diff --git a/package/gcc/arc-2016.09-eng015/940-uclinux-enable-threads.patch b/package/gcc/arc-2016.09-rc1/940-uclinux-enable-threads.patch index 5532656725..5532656725 100644 --- a/package/gcc/arc-2016.09-eng015/940-uclinux-enable-threads.patch +++ b/package/gcc/arc-2016.09-rc1/940-uclinux-enable-threads.patch diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index ce738ef531..e5d96f44ad 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -12,4 +12,4 @@ sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d sha512 1e8b826a3d44b9d5899309894e20c03abeb352bf3d273b8ad63af814c0ee2911f1a83ce1cd4cdd2d1cb0b3e3c34e9b7ae1b2ab83dfc649ee817ab05247c76198 gcc-6.2.0.tar.bz2 # Locally calculated (fetched from Github) -sha512 9f365452f746ae91875d935c2ec5ed16cd11a2973f69bd23193fec9fc6b557e0dd66bb169e7efb7ec63fd78af36139005abcf5a5a1d89d6f49788b2ed7b334fb gcc-arc-2016.09-eng015.tar.gz +sha512 7029d7ae1316b9385880f32283aa6c4979b1257500bb21e3fb234475ecb20082f46b114d8b7022c75a8dcf0c0c7b6b02e9384b49dd3189adc3d454502b8b0c26 gcc-arc-2016.09-rc1.tar.gz diff --git a/package/gdb/Config.in.host b/package/gdb/Config.in.host index a36dc0f0f0..da6b30ecf4 100644 --- a/package/gdb/Config.in.host +++ b/package/gdb/Config.in.host @@ -27,7 +27,7 @@ config BR2_PACKAGE_HOST_GDB_PYTHON config BR2_PACKAGE_HOST_GDB_SIM bool "Simulator support" - depends on !BR2_arc + depends on !BR2_arc && !BR2_microblaze help This option enables the simulator support in the cross gdb. @@ -56,7 +56,7 @@ endif config BR2_GDB_VERSION string depends on BR2_PACKAGE_GDB || BR2_PACKAGE_HOST_GDB - default "arc-2016.03-gdb" if BR2_arc + default "arc-2016.09-rc1-gdb" if BR2_arc default "6be65fb56ea6694a9260733a536a023a1e2d4d57" if BR2_microblaze default "7.9.1" if BR2_GDB_VERSION_7_9 default "7.10.1" if BR2_GDB_VERSION_7_10 || !BR2_PACKAGE_HOST_GDB diff --git a/package/gdb/gdb.hash b/package/gdb/gdb.hash index 611a75ca27..8c0d51bc82 100644 --- a/package/gdb/gdb.hash +++ b/package/gdb/gdb.hash @@ -5,4 +5,4 @@ sha512 f80ec6c8a0f0b54c8b945666e875809174402b7e121efb378ebac931a91f9a1cc0048568 # Locally calculated (fetched from Github) sha512 0a467091d4b01fbecabb4b8da1cb743025c70e7f4874a0b5c8fa2ec623569a39bde6762b91806de0be6e63711aeb6909715cfbe43860de73d8aec6159a9f10a7 gdb-6be65fb56ea6694a9260733a536a023a1e2d4d57.tar.gz -sha512 1abef1357896c2b57cfa7f7414eedc49d0de26b54321c680c2d027b1a27ec453d421e7f89a5281336047542379fd4820685802059efbd32b87c5ccffbaf2bd16 gdb-arc-2016.03-gdb.tar.gz +sha512 e6019ac0d6b1354943d3c06c84f353ba49fef105b07c1a04ad90cc5b65f91e38fe6c671e0c34a9541ee282d0f42cf24579c011a0469d19faaa4d00d64a17afe2 gdb-arc-2016.09-rc1-gdb.tar.gz diff --git a/package/gdb/gdb.mk b/package/gdb/gdb.mk index ccf9e4968d..ea27d0c6eb 100644 --- a/package/gdb/gdb.mk +++ b/package/gdb/gdb.mk @@ -100,6 +100,13 @@ GDB_CONF_OPTS = \ --disable-werror \ --enable-static +# When gdb is built as C++ application for ARC it segfaults at runtime +# So we pass --disable-build-with-cxx config option to force gdb not to +# be built as C++ app. +ifeq ($(BR2_arc),y) +GDB_CONF_OPTS += --disable-build-with-cxx +endif + ifeq ($(BR2_PACKAGE_GDB_TUI),y) GDB_CONF_OPTS += --enable-tui else diff --git a/package/gnuchess/gnuchess.hash b/package/gnuchess/gnuchess.hash index 26342bccd3..064a845eda 100644 --- a/package/gnuchess/gnuchess.hash +++ b/package/gnuchess/gnuchess.hash @@ -1,2 +1,2 @@ # sha256 locally computed -sha256 17caab725539447bcb17a14b17905242cbf287087e53a6777524feb7bbaeed06 gnuchess-6.2.1.tar.gz +sha256 3c425c0264f253fc5cc2ba969abe667d77703c728770bd4b23c456cbe5e082ef gnuchess-6.2.4.tar.gz diff --git a/package/gnuchess/gnuchess.mk b/package/gnuchess/gnuchess.mk index 0555cb17b4..e066b01fe5 100644 --- a/package/gnuchess/gnuchess.mk +++ b/package/gnuchess/gnuchess.mk @@ -4,7 +4,7 @@ # ################################################################################ -GNUCHESS_VERSION = 6.2.1 +GNUCHESS_VERSION = 6.2.4 GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess GNUCHESS_LICENSE = GPLv2+ GNUCHESS_LICENSE_FILES = COPYING diff --git a/package/gnuradio/Config.in b/package/gnuradio/Config.in index 50f5e7fa19..8301afe8f2 100644 --- a/package/gnuradio/Config.in +++ b/package/gnuradio/Config.in @@ -49,6 +49,7 @@ config BR2_PACKAGE_GNURADIO_CTRLPORT config BR2_PACKAGE_GNURADIO_FEC bool "gr-fec support" select BR2_PACKAGE_GNURADIO_BLOCKS + select BR2_PACKAGE_GSL help FEC signal processing blocks diff --git a/package/gnuradio/gnuradio.mk b/package/gnuradio/gnuradio.mk index 5cb00d2416..f1817f61c2 100644 --- a/package/gnuradio/gnuradio.mk +++ b/package/gnuradio/gnuradio.mk @@ -89,6 +89,7 @@ GNURADIO_CONF_OPTS += -DENABLE_GR_DIGITAL=OFF endif ifeq ($(BR2_PACKAGE_GNURADIO_FEC),y) +GNURADIO_DEPENDENCIES += gsl GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=ON else GNURADIO_CONF_OPTS += -DENABLE_GR_FEC=OFF diff --git a/package/go/Config.in.host b/package/go/Config.in.host index 8d4d346bf3..a210033efd 100644 --- a/package/go/Config.in.host +++ b/package/go/Config.in.host @@ -2,7 +2,7 @@ config BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS bool default y depends on (BR2_arm && BR2_TOOLCHAIN_SUPPORTS_PIE) || BR2_aarch64 \ - || BR2_i386 || BR2_x86_64 || BR2_powerpc64 || BR2_powerpc64le \ + || BR2_i386 || BR2_x86_64 || BR2_powerpc64le \ || BR2_mips64 || BR2_mips64el depends on !BR2_ARM_CPU_ARMV4 # MIPS R6 support in Go has not yet been developed. diff --git a/package/gpsd/gpsd.mk b/package/gpsd/gpsd.mk index 4fe5d18b1a..73067d3b15 100644 --- a/package/gpsd/gpsd.mk +++ b/package/gpsd/gpsd.mk @@ -33,6 +33,8 @@ endif # Build libgpsmm if we've got C++ ifeq ($(BR2_INSTALL_LIBSTDCPP),y) GPSD_LDFLAGS += -lstdc++ +GPSD_CFLAGS += -std=gnu++98 +GPSD_CXXFLAGS += -std=gnu++98 GPSD_SCONS_OPTS += libgpsmm=yes else GPSD_SCONS_OPTS += libgpsmm=no diff --git a/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch b/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch deleted file mode 100644 index 67ac055a6b..0000000000 --- a/package/gstreamer1/gst1-imx/0001-v4l2src-Add-V4L2_PIX_FMT_XRGB555X-check.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 1ca05ebb7cb63607d14983948105dd1483ea6b65 Mon Sep 17 00:00:00 2001 -From: Gary Bisson <gary.bisson@boundarydevices.com> -Date: Tue, 9 Aug 2016 10:26:15 +0200 -Subject: [PATCH] v4l2src: Add V4L2_PIX_FMT_XRGB555X check - -Since this format was added in kernel 3.18, any prior version will -fail to compile. - -Issue reported by Buildroot autobuilder with 3.10 kernel headers: -http://autobuild.buildroot.net/results/b46/b460a770c8f4e992d29dde8fe37fc23a949937f2/ - -Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com> ---- - src/v4l2src/v4l2src.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/v4l2src/v4l2src.c b/src/v4l2src/v4l2src.c -index c77ae49..12b392a 100644 ---- a/src/v4l2src/v4l2src.c -+++ b/src/v4l2src/v4l2src.c -@@ -447,7 +447,9 @@ static GstCaps *gst_imx_v4l2src_caps_for_current_setup(GstImxV4l2VideoSrc *v4l2s - case V4L2_PIX_FMT_RGB555: - gst_fmt = GST_VIDEO_FORMAT_RGB15; - break; -+#ifdef V4L2_PIX_FMT_XRGB555X - case V4L2_PIX_FMT_XRGB555X: -+#endif - case V4L2_PIX_FMT_RGB555X: - gst_fmt = GST_VIDEO_FORMAT_BGR15; - break; --- -2.8.1 - diff --git a/package/gstreamer1/gst1-imx/gst1-imx.hash b/package/gstreamer1/gst1-imx/gst1-imx.hash index b0124aae25..e2e3971a2a 100644 --- a/package/gstreamer1/gst1-imx/gst1-imx.hash +++ b/package/gstreamer1/gst1-imx/gst1-imx.hash @@ -1,2 +1,2 @@ # locally computed hash -sha256 a75f8bc3219fa3c62637f443cef0196c9eafb90aaa5af094847d007124895822 gst1-imx-0.12.3.tar.gz +sha256 999c093e38768e51d14abbe7836c09b666bcb89f03f34dd3697a6e5b5e4a4086 gst1-imx-0.12.3.tar.gz diff --git a/package/guile/guile.mk b/package/guile/guile.mk index ca54a4d77f..88c74143bf 100644 --- a/package/guile/guile.mk +++ b/package/guile/guile.mk @@ -32,6 +32,11 @@ ifeq ($(BR2_STATIC_LIBS),y) GUILE_CFLAGS += -DGC_NO_DLOPEN endif +# Triggers assembler error with -Os +ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM)$(BR2_OPTIMIZE_S),yy) +GUILE_CFLAGS += -O2 +endif + # It can use readline, but on the condition that it was build against # ncurses. If both aren't present disable readline support since the # host readline/ncurses support can poison the build. diff --git a/package/imagemagick/imagemagick.hash b/package/imagemagick/imagemagick.hash index 8ad340dd19..9eb3a9e860 100644 --- a/package/imagemagick/imagemagick.hash +++ b/package/imagemagick/imagemagick.hash @@ -1,2 +1,2 @@ # From http://www.imagemagick.org/download/releases/digest.rdf -sha256 86a1f04077de2b1486a93088030b010780067b25ab0284560435e2f458e247ca ImageMagick-7.0.3-4.tar.xz +sha256 dc128b281c255d71d754934408d278b3ca314253103ca2501cd0b8d5ec98db74 ImageMagick-7.0.3-8.tar.xz diff --git a/package/imagemagick/imagemagick.mk b/package/imagemagick/imagemagick.mk index 2cae064bec..f384fc38dc 100644 --- a/package/imagemagick/imagemagick.mk +++ b/package/imagemagick/imagemagick.mk @@ -4,7 +4,7 @@ # ################################################################################ -IMAGEMAGICK_VERSION = 7.0.3-4 +IMAGEMAGICK_VERSION = 7.0.3-8 IMAGEMAGICK_SOURCE = ImageMagick-$(IMAGEMAGICK_VERSION).tar.xz IMAGEMAGICK_SITE = http://www.imagemagick.org/download/releases IMAGEMAGICK_LICENSE = Apache-2.0 diff --git a/package/jamvm/0001-Use-fenv.h-instead-of-fpu_control.h.patch b/package/jamvm/0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch index 50f95cde57..78ee9b7e18 100644 --- a/package/jamvm/0001-Use-fenv.h-instead-of-fpu_control.h.patch +++ b/package/jamvm/0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch @@ -1,86 +1,108 @@ -From 7152ded5219453c9ff1cd062cecbeaf4d77e4cab Mon Sep 17 00:00:00 2001 +From ecd4eceae98cfb1c83133bdeaa9095546ca8b7c6 Mon Sep 17 00:00:00 2001 From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Date: Thu, 26 May 2016 15:05:48 +0200 -Subject: [PATCH] Use <fenv.h> instead of <fpu_control.h> +Subject: [PATCH] Use <fenv.h> when available instead of <fpu_control.h> musl libc (http://musl-libc.org lack the non-standard <fpu_control.h> header, which is used in src/os/linux/{i386,x86_64}/init.c files to setup the floating point precision. This patch makes it use the -standard C <fenv.h> header instead. +standard C <fenv.h> header instead when available. Original patch at Felix Janda at -https://sourceforge.net/p/jamvm/patches/6/. +https://sourceforge.net/p/jamvm/patches/6/, adapted to still use +<fpu_control.h> if <fenv.h> is not provided. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- - src/os/linux/i386/init.c | 12 ++++++------ - src/os/linux/x86_64/init.c | 16 ++++++---------- - 2 files changed, 12 insertions(+), 16 deletions(-) + configure.ac | 2 +- + src/os/linux/i386/init.c | 15 +++++++++++++++ + src/os/linux/x86_64/init.c | 15 +++++++++++++-- + 3 files changed, 29 insertions(+), 3 deletions(-) +diff --git a/configure.ac b/configure.ac +index 19f77e6..ce59a3e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -279,7 +279,7 @@ fi + + dnl Checks for header files. + AC_HEADER_STDC +-AC_CHECK_HEADERS(sys/time.h unistd.h endian.h sys/param.h locale.h alloca.h) ++AC_CHECK_HEADERS(sys/time.h unistd.h endian.h sys/param.h locale.h alloca.h fenv.h) + + if test "$enable_zip" != no; then + AC_CHECK_HEADER(zlib.h,,AC_MSG_ERROR(zlib.h is missing)) diff --git a/src/os/linux/i386/init.c b/src/os/linux/i386/init.c -index d9c6648..94a733e 100644 +index d9c6648..8fefe7d 100644 --- a/src/os/linux/i386/init.c +++ b/src/os/linux/i386/init.c -@@ -19,18 +19,18 @@ +@@ -19,18 +19,33 @@ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ --#include <fpu_control.h> ++#include "config.h" ++ ++#if defined(HAVE_FENV_H) +#include <fenv.h> ++#else + #include <fpu_control.h> ++#endif /* Change floating point precision to double (64-bit) from * the extended (80-bit) Linux default. */ void setDoublePrecision() { -- fpu_control_t cw; ++#if defined(HAVE_FENV_H) + fenv_t fenv; - -- _FPU_GETCW(cw); -- cw &= ~_FPU_EXTENDED; -- cw |= _FPU_DOUBLE; -- _FPU_SETCW(cw); ++ + fegetenv(&fenv); + fenv.__control_word &= ~0x300; /* _FPU_EXTENDED */ + fenv.__control_word |= 0x200; /* _FPU_DOUBLE */ + fesetenv(&fenv); ++#else + fpu_control_t cw; + + _FPU_GETCW(cw); + cw &= ~_FPU_EXTENDED; + cw |= _FPU_DOUBLE; + _FPU_SETCW(cw); ++#endif } void initialisePlatform() { diff --git a/src/os/linux/x86_64/init.c b/src/os/linux/x86_64/init.c -index 9d55229..a76a923 100644 +index 9d55229..b42b14e 100644 --- a/src/os/linux/x86_64/init.c +++ b/src/os/linux/x86_64/init.c -@@ -19,9 +19,7 @@ +@@ -19,7 +19,11 @@ * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ -#ifdef __linux__ --#include <fpu_control.h> --#endif ++#include "config.h" ++ ++#if defined(HAVE_FENV_H) +#include <fenv.h> ++#else + #include <fpu_control.h> + #endif - /* Change the x87 FPU precision to double (64-bit) from the extended - (80-bit) Linux default. Note, unlike on i386, my testcases pass -@@ -30,14 +28,12 @@ +@@ -30,7 +34,14 @@ */ void setDoublePrecision() { -#ifdef __linux__ -- fpu_control_t cw; ++#if defined(HAVE_FENV_H) + fenv_t fenv; - -- _FPU_GETCW(cw); -- cw &= ~_FPU_EXTENDED; -- cw |= _FPU_DOUBLE; -- _FPU_SETCW(cw); --#endif ++ + fegetenv(&fenv); + fenv.__control_word &= ~0x300; /*_FPU_EXTENDED */ + fenv.__control_word |= 0x200; /*_FPU_DOUBLE */ + fesetenv(&fenv); - } ++#else + fpu_control_t cw; - void initialisePlatform() { + _FPU_GETCW(cw); -- 2.7.4 diff --git a/package/jamvm/jamvm.mk b/package/jamvm/jamvm.mk index b1520ada49..ee80c80b2f 100644 --- a/package/jamvm/jamvm.mk +++ b/package/jamvm/jamvm.mk @@ -9,6 +9,8 @@ JAMVM_SITE = http://downloads.sourceforge.net/project/jamvm/jamvm/JamVM%20$(JAMV JAMVM_LICENSE = GPLv2+ JAMVM_LICENSE_FILES = COPYING JAMVM_DEPENDENCIES = zlib classpath +# For 0001-Use-fenv.h-when-available-instead-of-fpu_control.h.patch +JAMVM_AUTORECONF = YES # int inlining seems to crash jamvm, don't build shared version of internal lib JAMVM_CONF_OPTS = \ --with-classpath-install-dir=/usr \ @@ -22,4 +24,11 @@ ifeq ($(BR2_arm),y) JAMVM_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm" endif +# Needed for autoreconf +define JAMVM_CREATE_M4_DIR + mkdir -p $(@D)/m4 +endef + +JAMVM_POST_PATCH_HOOKS += JAMVM_CREATE_M4_DIR + $(eval $(autotools-package)) diff --git a/package/jasper/0001-fix-CVE-2014-9029.patch b/package/jasper/0001-fix-CVE-2014-9029.patch deleted file mode 100644 index c2e95a8d14..0000000000 --- a/package/jasper/0001-fix-CVE-2014-9029.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fix CVE-2014-9029 - -Patch taken from https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2014-9029 - -Signed-off-by: Baruch Siach <baruch@tkos.co.il> ---- - ---- jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:45:44.000000000 +0100 -+++ jasper-1.900.1.orig/src/libjasper/jpc/jpc_dec.c 2014-11-27 12:44:58.000000000 +0100 -@@ -1281,7 +1281,7 @@ static int jpc_dec_process_coc(jpc_dec_t - jpc_coc_t *coc = &ms->parms.coc; - jpc_dec_tile_t *tile; - -- if (JAS_CAST(int, coc->compno) > dec->numcomps) { -+ if (JAS_CAST(int, coc->compno) >= dec->numcomps) { - jas_eprintf("invalid component number in COC marker segment\n"); - return -1; - } -@@ -1307,7 +1307,7 @@ static int jpc_dec_process_rgn(jpc_dec_t - jpc_rgn_t *rgn = &ms->parms.rgn; - jpc_dec_tile_t *tile; - -- if (JAS_CAST(int, rgn->compno) > dec->numcomps) { -+ if (JAS_CAST(int, rgn->compno) >= dec->numcomps) { - jas_eprintf("invalid component number in RGN marker segment\n"); - return -1; - } -@@ -1356,7 +1356,7 @@ static int jpc_dec_process_qcc(jpc_dec_t - jpc_qcc_t *qcc = &ms->parms.qcc; - jpc_dec_tile_t *tile; - -- if (JAS_CAST(int, qcc->compno) > dec->numcomps) { -+ if (JAS_CAST(int, qcc->compno) >= dec->numcomps) { - jas_eprintf("invalid component number in QCC marker segment\n"); - return -1; - } diff --git a/package/jasper/0002-fix-CVE-2014-8138.patch b/package/jasper/0002-fix-CVE-2014-8138.patch deleted file mode 100644 index e107123ce8..0000000000 --- a/package/jasper/0002-fix-CVE-2014-8138.patch +++ /dev/null @@ -1,18 +0,0 @@ -See https://bugzilla.redhat.com/show_bug.cgi?id=1173162 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:44.000000000 +0100 -+++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:06:26.000000000 +0100 -@@ -386,6 +386,11 @@ jas_image_t *jp2_decode(jas_stream_t *in - /* Determine the type of each component. */ - if (dec->cdef) { - for (i = 0; i < dec->numchans; ++i) { -+ /* Is the channel number reasonable? */ -+ if (dec->cdef->data.cdef.ents[i].channo >= dec->numchans) { -+ jas_eprintf("error: invalid channel number in CDEF box\n"); -+ goto error; -+ } - jas_image_setcmpttype(dec->image, - dec->chantocmptlut[dec->cdef->data.cdef.ents[i].channo], - jp2_getct(jas_image_clrspc(dec->image), diff --git a/package/jasper/0003-fix-CVE-2014-8137-1.patch b/package/jasper/0003-fix-CVE-2014-8137-1.patch deleted file mode 100644 index 0253c62839..0000000000 --- a/package/jasper/0003-fix-CVE-2014-8137-1.patch +++ /dev/null @@ -1,47 +0,0 @@ -See https://bugzilla.redhat.com/show_bug.cgi?id=1173157 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- jasper-1.900.1.orig/src/libjasper/base/jas_icc.c 2014-12-11 14:06:44.000000000 +0100 -+++ jasper-1.900.1/src/libjasper/base/jas_icc.c 2014-12-11 15:16:37.971272386 +0100 -@@ -1009,7 +1009,6 @@ static int jas_icccurv_input(jas_iccattr - return 0; - - error: -- jas_icccurv_destroy(attrval); - return -1; - } - -@@ -1127,7 +1126,6 @@ static int jas_icctxtdesc_input(jas_icca - #endif - return 0; - error: -- jas_icctxtdesc_destroy(attrval); - return -1; - } - -@@ -1206,8 +1204,6 @@ static int jas_icctxt_input(jas_iccattrv - goto error; - return 0; - error: -- if (txt->string) -- jas_free(txt->string); - return -1; - } - -@@ -1328,7 +1324,6 @@ static int jas_icclut8_input(jas_iccattr - goto error; - return 0; - error: -- jas_icclut8_destroy(attrval); - return -1; - } - -@@ -1497,7 +1492,6 @@ static int jas_icclut16_input(jas_iccatt - goto error; - return 0; - error: -- jas_icclut16_destroy(attrval); - return -1; - } - diff --git a/package/jasper/0004-fix-CVE-2014-8137-2.patch b/package/jasper/0004-fix-CVE-2014-8137-2.patch deleted file mode 100644 index e052709d55..0000000000 --- a/package/jasper/0004-fix-CVE-2014-8137-2.patch +++ /dev/null @@ -1,18 +0,0 @@ -See https://bugzilla.redhat.com/show_bug.cgi?id=1173157 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- jasper-1.900.1.orig/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:30:54.193209780 +0100 -+++ jasper-1.900.1/src/libjasper/jp2/jp2_dec.c 2014-12-11 14:36:46.313217814 +0100 -@@ -291,7 +291,10 @@ jas_image_t *jp2_decode(jas_stream_t *in - case JP2_COLR_ICC: - iccprof = jas_iccprof_createfrombuf(dec->colr->data.colr.iccp, - dec->colr->data.colr.iccplen); -- assert(iccprof); -+ if (!iccprof) { -+ jas_eprintf("error: failed to parse ICC profile\n"); -+ goto error; -+ } - jas_iccprof_gethdr(iccprof, &icchdr); - jas_eprintf("ICC Profile CS %08x\n", icchdr.colorspc); - jas_image_setclrspc(dec->image, fromiccpcs(icchdr.colorspc)); diff --git a/package/jasper/0005-fix-CVE-2014-8157.patch b/package/jasper/0005-fix-CVE-2014-8157.patch deleted file mode 100644 index ab81674f93..0000000000 --- a/package/jasper/0005-fix-CVE-2014-8157.patch +++ /dev/null @@ -1,17 +0,0 @@ -Fix CVE-2014-8157 - dec->numtiles off-by-one check in jpc_dec_process_sot() -From https://bugzilla.redhat.com/show_bug.cgi?id=1179282 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -up jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 jasper-1.900.1/src/libjasper/jpc/jpc_dec.c ---- jasper-1.900.1/src/libjasper/jpc/jpc_dec.c.CVE-2014-8157 2015-01-19 16:59:36.000000000 +0100 -+++ jasper-1.900.1/src/libjasper/jpc/jpc_dec.c 2015-01-19 17:07:41.609863268 +0100 -@@ -489,7 +489,7 @@ static int jpc_dec_process_sot(jpc_dec_t - dec->curtileendoff = 0; - } - -- if (JAS_CAST(int, sot->tileno) > dec->numtiles) { -+ if (JAS_CAST(int, sot->tileno) >= dec->numtiles) { - jas_eprintf("invalid tile number in SOT marker segment\n"); - return -1; - } diff --git a/package/jasper/0006-fix-CVE-2014-8158.patch b/package/jasper/0006-fix-CVE-2014-8158.patch deleted file mode 100644 index 8413d2ef93..0000000000 --- a/package/jasper/0006-fix-CVE-2014-8158.patch +++ /dev/null @@ -1,334 +0,0 @@ -Fix CVE-2014-8158 - unrestricted stack memory use in jpc_qmfb.c -From https://bugzilla.redhat.com/show_bug.cgi?id=1179298 - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -up jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c ---- jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c.CVE-2014-8158 2015-01-19 17:25:28.730195502 +0100 -+++ jasper-1.900.1/src/libjasper/jpc/jpc_qmfb.c 2015-01-19 17:27:20.214663127 +0100 -@@ -306,11 +306,7 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in - { - - int bufsize = JPC_CEILDIVPOW2(numcols, 1); --#if !defined(HAVE_VLA) - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; --#else -- jpc_fix_t splitbuf[bufsize]; --#endif - jpc_fix_t *buf = splitbuf; - register jpc_fix_t *srcptr; - register jpc_fix_t *dstptr; -@@ -318,7 +314,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in - register int m; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Get a buffer. */ - if (bufsize > QMFB_SPLITBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -326,7 +321,6 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in - abort(); - } - } --#endif - - if (numcols >= 2) { - hstartcol = (numcols + 1 - parity) >> 1; -@@ -360,12 +354,10 @@ void jpc_qmfb_split_row(jpc_fix_t *a, in - } - } - --#if !defined(HAVE_VLA) - /* If the split buffer was allocated on the heap, free this memory. */ - if (buf != splitbuf) { - jas_free(buf); - } --#endif - - } - -@@ -374,11 +366,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; --#else -- jpc_fix_t splitbuf[bufsize]; --#endif - jpc_fix_t *buf = splitbuf; - register jpc_fix_t *srcptr; - register jpc_fix_t *dstptr; -@@ -386,7 +374,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in - register int m; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Get a buffer. */ - if (bufsize > QMFB_SPLITBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -394,7 +381,6 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in - abort(); - } - } --#endif - - if (numrows >= 2) { - hstartcol = (numrows + 1 - parity) >> 1; -@@ -428,12 +414,10 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in - } - } - --#if !defined(HAVE_VLA) - /* If the split buffer was allocated on the heap, free this memory. */ - if (buf != splitbuf) { - jas_free(buf); - } --#endif - - } - -@@ -442,11 +426,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; --#else -- jpc_fix_t splitbuf[bufsize * JPC_QMFB_COLGRPSIZE]; --#endif - jpc_fix_t *buf = splitbuf; - jpc_fix_t *srcptr; - jpc_fix_t *dstptr; -@@ -457,7 +437,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, - int m; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Get a buffer. */ - if (bufsize > QMFB_SPLITBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -465,7 +444,6 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, - abort(); - } - } --#endif - - if (numrows >= 2) { - hstartcol = (numrows + 1 - parity) >> 1; -@@ -517,12 +495,10 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, - } - } - --#if !defined(HAVE_VLA) - /* If the split buffer was allocated on the heap, free this memory. */ - if (buf != splitbuf) { - jas_free(buf); - } --#endif - - } - -@@ -531,11 +507,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; --#else -- jpc_fix_t splitbuf[bufsize * numcols]; --#endif - jpc_fix_t *buf = splitbuf; - jpc_fix_t *srcptr; - jpc_fix_t *dstptr; -@@ -546,7 +518,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - int m; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Get a buffer. */ - if (bufsize > QMFB_SPLITBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -554,7 +525,6 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - abort(); - } - } --#endif - - if (numrows >= 2) { - hstartcol = (numrows + 1 - parity) >> 1; -@@ -606,12 +576,10 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - } - } - --#if !defined(HAVE_VLA) - /* If the split buffer was allocated on the heap, free this memory. */ - if (buf != splitbuf) { - jas_free(buf); - } --#endif - - } - -@@ -619,18 +587,13 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int - { - - int bufsize = JPC_CEILDIVPOW2(numcols, 1); --#if !defined(HAVE_VLA) - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; --#else -- jpc_fix_t joinbuf[bufsize]; --#endif - jpc_fix_t *buf = joinbuf; - register jpc_fix_t *srcptr; - register jpc_fix_t *dstptr; - register int n; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Allocate memory for the join buffer from the heap. */ - if (bufsize > QMFB_JOINBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -638,7 +601,6 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int - abort(); - } - } --#endif - - hstartcol = (numcols + 1 - parity) >> 1; - -@@ -670,12 +632,10 @@ void jpc_qmfb_join_row(jpc_fix_t *a, int - ++srcptr; - } - --#if !defined(HAVE_VLA) - /* If the join buffer was allocated on the heap, free this memory. */ - if (buf != joinbuf) { - jas_free(buf); - } --#endif - - } - -@@ -684,18 +644,13 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; --#else -- jpc_fix_t joinbuf[bufsize]; --#endif - jpc_fix_t *buf = joinbuf; - register jpc_fix_t *srcptr; - register jpc_fix_t *dstptr; - register int n; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Allocate memory for the join buffer from the heap. */ - if (bufsize > QMFB_JOINBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, sizeof(jpc_fix_t)))) { -@@ -703,7 +658,6 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int - abort(); - } - } --#endif - - hstartcol = (numrows + 1 - parity) >> 1; - -@@ -735,12 +689,10 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int - ++srcptr; - } - --#if !defined(HAVE_VLA) - /* If the join buffer was allocated on the heap, free this memory. */ - if (buf != joinbuf) { - jas_free(buf); - } --#endif - - } - -@@ -749,11 +701,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; --#else -- jpc_fix_t joinbuf[bufsize * JPC_QMFB_COLGRPSIZE]; --#endif - jpc_fix_t *buf = joinbuf; - jpc_fix_t *srcptr; - jpc_fix_t *dstptr; -@@ -763,7 +711,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, - register int i; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Allocate memory for the join buffer from the heap. */ - if (bufsize > QMFB_JOINBUFSIZE) { - if (!(buf = jas_alloc2(bufsize, JPC_QMFB_COLGRPSIZE * sizeof(jpc_fix_t)))) { -@@ -771,7 +718,6 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, - abort(); - } - } --#endif - - hstartcol = (numrows + 1 - parity) >> 1; - -@@ -821,12 +767,10 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, - srcptr += JPC_QMFB_COLGRPSIZE; - } - --#if !defined(HAVE_VLA) - /* If the join buffer was allocated on the heap, free this memory. */ - if (buf != joinbuf) { - jas_free(buf); - } --#endif - - } - -@@ -835,11 +779,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, - { - - int bufsize = JPC_CEILDIVPOW2(numrows, 1); --#if !defined(HAVE_VLA) - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; --#else -- jpc_fix_t joinbuf[bufsize * numcols]; --#endif - jpc_fix_t *buf = joinbuf; - jpc_fix_t *srcptr; - jpc_fix_t *dstptr; -@@ -849,7 +789,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, - register int i; - int hstartcol; - --#if !defined(HAVE_VLA) - /* Allocate memory for the join buffer from the heap. */ - if (bufsize > QMFB_JOINBUFSIZE) { - if (!(buf = jas_alloc3(bufsize, numcols, sizeof(jpc_fix_t)))) { -@@ -857,7 +796,6 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, - abort(); - } - } --#endif - - hstartcol = (numrows + 1 - parity) >> 1; - -@@ -907,12 +845,10 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, - srcptr += numcols; - } - --#if !defined(HAVE_VLA) - /* If the join buffer was allocated on the heap, free this memory. */ - if (buf != joinbuf) { - jas_free(buf); - } --#endif - - } - diff --git a/package/jasper/0007-preserve-cflags.patch b/package/jasper/0007-preserve-cflags.patch deleted file mode 100644 index 7e4c4a26f0..0000000000 --- a/package/jasper/0007-preserve-cflags.patch +++ /dev/null @@ -1,27 +0,0 @@ -From: Max Filippov <jcmvbkbc@gmail.com> -Subject: Don't overwrite CFLAGS when configured with --enable-debug - -This drops architecture-specific ABI flags, which may be important. - -Signded-off-by: Max Filippov <jcmvbkbc@gmail.com> - ---- jasper-1.900.1/configure.ac.orig 2015-05-18 22:27:53.057512760 +0300 -+++ jasper-1.900.1/configure.ac 2015-05-18 22:28:36.090415422 +0300 -@@ -327,7 +327,7 @@ - AC_DEFINE(DEBUG) - AC_DEFINE(DEBUG_OVERFLOW) - if test "$GCC" = yes; then -- CFLAGS="-g -O0" -+ CFLAGS="$CFLAGS -g -O0" - fi - ;; - no) -@@ -357,7 +357,7 @@ - case "${enableval}" in - yes) - if test "$GCC" = yes; then -- CFLAGS="-g -O0" -+ CFLAGS="$CFLAGS -g -O0" - fi - ;; - no) diff --git a/package/jasper/0008-fix-CVE-2016-2116.patch b/package/jasper/0008-fix-CVE-2016-2116.patch deleted file mode 100644 index 1ceb3952c7..0000000000 --- a/package/jasper/0008-fix-CVE-2016-2116.patch +++ /dev/null @@ -1,18 +0,0 @@ -Description: Prevent jas_stream_t memory leak in jas_iccprof_createfrombuf() -Author: Tyler Hicks <tyhicks () canonical com> - -From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-2116.patch - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c -+++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c -@@ -1693,6 +1693,8 @@ jas_iccprof_t *jas_iccprof_createfrombuf - jas_stream_close(in); - return prof; - error: -+ if (in) -+ jas_stream_close(in); - return 0; - } - diff --git a/package/jasper/0009-fix-CVE-2016-1577.patch b/package/jasper/0009-fix-CVE-2016-1577.patch deleted file mode 100644 index cfe8b45e30..0000000000 --- a/package/jasper/0009-fix-CVE-2016-1577.patch +++ /dev/null @@ -1,18 +0,0 @@ -Description: CVE-2016-1577: Prevent double-free in jas_iccattrval_destroy() -Author: Tyler Hicks <tyhicks () canonical com> -Bug-Ubuntu: https://launchpad.net/bugs/1547865 - -From: http://seclists.org/oss-sec/2016/q1/att-507/CVE-2016-1577.patch - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - ---- jasper-1.900.1-debian1.orig/src/libjasper/base/jas_icc.c -+++ jasper-1.900.1-debian1/src/libjasper/base/jas_icc.c -@@ -300,6 +300,7 @@ jas_iccprof_t *jas_iccprof_load(jas_stre - if (jas_iccprof_setattr(prof, tagtabent->tag, attrval)) - goto error; - jas_iccattrval_destroy(attrval); -+ attrval = 0; - } else { - #if 0 - jas_eprintf("warning: skipping unknown tag type\n"); diff --git a/package/jasper/0010-fix-CVE-2016-1867.patch b/package/jasper/0010-fix-CVE-2016-1867.patch deleted file mode 100644 index 33f34c356a..0000000000 --- a/package/jasper/0010-fix-CVE-2016-1867.patch +++ /dev/null @@ -1,16 +0,0 @@ -From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2016-1867.patch - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -urNp jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c ---- jasper-1.900.1.orig/src/libjasper/jpc/jpc_t2cod.c 2016-08-11 14:34:31.795661973 +0200 -+++ jasper-1.900.1.new/src/libjasper/jpc/jpc_t2cod.c 2016-08-12 07:02:40.044860209 +0200 -@@ -429,7 +429,7 @@ static int jpc_pi_nextcprl(register jpc_ - } - - for (pi->compno = pchg->compnostart, pi->picomp = -- &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend); ++pi->compno, -+ &pi->picomps[pi->compno]; pi->compno < JAS_CAST(int, pchg->compnoend) && pi->compno < pi->numcomps; ++pi->compno, - ++pi->picomp) { - pirlvl = pi->picomp->pirlvls; - pi->xstep = pi->picomp->hsamp * (1 << (pirlvl->prcwidthexpn + diff --git a/package/jasper/0011-fix-CVE-2015-5221.patch b/package/jasper/0011-fix-CVE-2015-5221.patch deleted file mode 100644 index 7dcbdddd7b..0000000000 --- a/package/jasper/0011-fix-CVE-2015-5221.patch +++ /dev/null @@ -1,23 +0,0 @@ -From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2015-5221.patch - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -urNp jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1.new/src/libjasper/mif/mif_cod.c ---- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2016-08-11 13:46:26.166415464 +0200 -+++ jasper-1.900.1.new/src/libjasper/mif/mif_cod.c 2016-08-11 14:17:20.507144931 +0200 -@@ -569,13 +569,13 @@ static int mif_process_cmpt(mif_hdr_t *h - break; - } - } -- jas_tvparser_destroy(tvp); - if (!cmpt->sampperx || !cmpt->samppery) { - goto error; - } - if (mif_hdr_addcmpt(hdr, hdr->numcmpts, cmpt)) { - goto error; - } -+ jas_tvparser_destroy(tvp); - return 0; - - error: - diff --git a/package/jasper/0012-fix-CVE-2015-5203.patch b/package/jasper/0012-fix-CVE-2015-5203.patch deleted file mode 100644 index 50f0613cd8..0000000000 --- a/package/jasper/0012-fix-CVE-2015-5203.patch +++ /dev/null @@ -1,187 +0,0 @@ -From: http://pkgs.fedoraproject.org/cgit/rpms/jasper.git/plain/jasper-CVE-2015-5203.patch - -Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> - -diff -urNp jasper-1.900.1.orig/src/libjasper/base/jas_stream.c jasper-1.900.1.new/src/libjasper/base/jas_stream.c ---- jasper-1.900.1.orig/src/libjasper/base/jas_stream.c 2016-08-11 13:35:09.160895769 +0200 -+++ jasper-1.900.1.new/src/libjasper/base/jas_stream.c 2016-08-11 13:39:33.800843489 +0200 -@@ -99,7 +99,7 @@ static int jas_strtoopenmode(const char - static void jas_stream_destroy(jas_stream_t *stream); - static jas_stream_t *jas_stream_create(void); - static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf, -- int bufsize); -+ size_t bufsize); - - static int mem_read(jas_stream_obj_t *obj, char *buf, int cnt); - static int mem_write(jas_stream_obj_t *obj, char *buf, int cnt); -@@ -168,7 +168,7 @@ static jas_stream_t *jas_stream_create() - return stream; - } - --jas_stream_t *jas_stream_memopen(char *buf, int bufsize) -+jas_stream_t *jas_stream_memopen(char *buf, size_t bufsize) - { - jas_stream_t *stream; - jas_stream_memobj_t *obj; -@@ -570,7 +570,7 @@ int jas_stream_puts(jas_stream_t *stream - return 0; - } - --char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize) -+char *jas_stream_gets(jas_stream_t *stream, char *buf, size_t bufsize) - { - int c; - char *bufptr; -@@ -694,7 +694,7 @@ long jas_stream_tell(jas_stream_t *strea - \******************************************************************************/ - - static void jas_stream_initbuf(jas_stream_t *stream, int bufmode, char *buf, -- int bufsize) -+ size_t bufsize) - { - /* If this function is being called, the buffer should not have been - initialized yet. */ -@@ -987,7 +987,7 @@ static int mem_read(jas_stream_obj_t *ob - return cnt; - } - --static int mem_resize(jas_stream_memobj_t *m, int bufsize) -+static int mem_resize(jas_stream_memobj_t *m, size_t bufsize) - { - unsigned char *buf; - -diff -urNp jasper-1.900.1.orig/src/libjasper/include/jasper/jas_stream.h jasper-1.900.1.new/src/libjasper/include/jasper/jas_stream.h ---- jasper-1.900.1.orig/src/libjasper/include/jasper/jas_stream.h 2007-01-19 22:43:04.000000000 +0100 -+++ jasper-1.900.1.new/src/libjasper/include/jasper/jas_stream.h 2016-08-11 13:41:27.841153595 +0200 -@@ -215,7 +215,7 @@ typedef struct { - uchar *bufstart_; - - /* The buffer size. */ -- int bufsize_; -+ size_t bufsize_; - - /* The current position in the buffer. */ - uchar *ptr_; -@@ -267,7 +267,7 @@ typedef struct { - uchar *buf_; - - /* The allocated size of the buffer for holding file data. */ -- int bufsize_; -+ size_t bufsize_; - - /* The length of the file. */ - int_fast32_t len_; -@@ -291,7 +291,7 @@ typedef struct { - jas_stream_t *jas_stream_fopen(const char *filename, const char *mode); - - /* Open a memory buffer as a stream. */ --jas_stream_t *jas_stream_memopen(char *buf, int bufsize); -+jas_stream_t *jas_stream_memopen(char *buf, size_t bufsize); - - /* Open a file descriptor as a stream. */ - jas_stream_t *jas_stream_fdopen(int fd, const char *mode); -@@ -366,7 +366,7 @@ int jas_stream_printf(jas_stream_t *stre - int jas_stream_puts(jas_stream_t *stream, const char *s); - - /* Read a line of input from a stream. */ --char *jas_stream_gets(jas_stream_t *stream, char *buf, int bufsize); -+char *jas_stream_gets(jas_stream_t *stream, char *buf, size_t bufsize); - - /* Look at the next character to be read from a stream without actually - removing it from the stream. */ -diff -urNp jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c jasper-1.900.1.new/src/libjasper/jpc/jpc_qmfb.c ---- jasper-1.900.1.orig/src/libjasper/jpc/jpc_qmfb.c 2016-08-11 13:35:09.170895681 +0200 -+++ jasper-1.900.1.new/src/libjasper/jpc/jpc_qmfb.c 2016-08-11 13:45:20.847809678 +0200 -@@ -305,7 +305,7 @@ jpc_qmfb2d_t jpc_ns_qmfb2d = { - void jpc_qmfb_split_row(jpc_fix_t *a, int numcols, int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numcols, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numcols, 1); - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; - jpc_fix_t *buf = splitbuf; - register jpc_fix_t *srcptr; -@@ -365,7 +365,7 @@ void jpc_qmfb_split_col(jpc_fix_t *a, in - int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE]; - jpc_fix_t *buf = splitbuf; - register jpc_fix_t *srcptr; -@@ -425,7 +425,7 @@ void jpc_qmfb_split_colgrp(jpc_fix_t *a, - int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; - jpc_fix_t *buf = splitbuf; - jpc_fix_t *srcptr; -@@ -506,7 +506,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - int stride, int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t splitbuf[QMFB_SPLITBUFSIZE * JPC_QMFB_COLGRPSIZE]; - jpc_fix_t *buf = splitbuf; - jpc_fix_t *srcptr; -@@ -586,7 +586,7 @@ void jpc_qmfb_split_colres(jpc_fix_t *a, - void jpc_qmfb_join_row(jpc_fix_t *a, int numcols, int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numcols, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numcols, 1); - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; - jpc_fix_t *buf = joinbuf; - register jpc_fix_t *srcptr; -@@ -643,7 +643,7 @@ void jpc_qmfb_join_col(jpc_fix_t *a, int - int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE]; - jpc_fix_t *buf = joinbuf; - register jpc_fix_t *srcptr; -@@ -700,7 +700,7 @@ void jpc_qmfb_join_colgrp(jpc_fix_t *a, - int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; - jpc_fix_t *buf = joinbuf; - jpc_fix_t *srcptr; -@@ -778,7 +778,7 @@ void jpc_qmfb_join_colres(jpc_fix_t *a, - int stride, int parity) - { - -- int bufsize = JPC_CEILDIVPOW2(numrows, 1); -+ size_t bufsize = JPC_CEILDIVPOW2(numrows, 1); - jpc_fix_t joinbuf[QMFB_JOINBUFSIZE * JPC_QMFB_COLGRPSIZE]; - jpc_fix_t *buf = joinbuf; - jpc_fix_t *srcptr; -diff -urNp jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c jasper-1.900.1.new/src/libjasper/mif/mif_cod.c ---- jasper-1.900.1.orig/src/libjasper/mif/mif_cod.c 2016-08-11 13:35:09.179895601 +0200 -+++ jasper-1.900.1.new/src/libjasper/mif/mif_cod.c 2016-08-11 13:46:26.166415464 +0200 -@@ -107,7 +107,7 @@ static int mif_hdr_put(mif_hdr_t *hdr, j - static int mif_hdr_addcmpt(mif_hdr_t *hdr, int cmptno, mif_cmpt_t *cmpt); - static mif_cmpt_t *mif_cmpt_create(void); - static void mif_cmpt_destroy(mif_cmpt_t *cmpt); --static char *mif_getline(jas_stream_t *jas_stream, char *buf, int bufsize); -+static char *mif_getline(jas_stream_t *jas_stream, char *buf, size_t bufsize); - static int mif_getc(jas_stream_t *in); - static mif_hdr_t *mif_makehdrfromimage(jas_image_t *image); - -@@ -657,7 +657,7 @@ static void mif_cmpt_destroy(mif_cmpt_t - * MIF parsing code. - \******************************************************************************/ - --static char *mif_getline(jas_stream_t *stream, char *buf, int bufsize) -+static char *mif_getline(jas_stream_t *stream, char *buf, size_t bufsize) - { - int c; - char *bufptr; diff --git a/package/jasper/jasper.hash b/package/jasper/jasper.hash index 4d9ed7432a..64ddfa4841 100644 --- a/package/jasper/jasper.hash +++ b/package/jasper/jasper.hash @@ -1,2 +1,2 @@ # Locally calculated -sha256 6e9a959bf4f8cb02f77f42d1b9880b8e85d021ac51f43d8787b5438fd2b7a1c5 jasper-1.900.1.tar.bz2 +sha256 0099084dce9fa0a318b48a5ed2a12ac7cff3324f3fd4459833e6fe2ff583fb2c jasper-version-1.900.31.tar.gz diff --git a/package/jasper/jasper.mk b/package/jasper/jasper.mk index b2da07d763..32aa618292 100644 --- a/package/jasper/jasper.mk +++ b/package/jasper/jasper.mk @@ -4,14 +4,16 @@ # ################################################################################ -JASPER_VERSION = 1.900.1 -JASPER_SITE = http://sources.openelec.tv/devel -JASPER_SOURCE = jasper-$(JASPER_VERSION).tar.bz2 +JASPER_VERSION = version-1.900.31 +JASPER_SITE = $(call github,mdadams,jasper,$(JASPER_VERSION)) JASPER_INSTALL_STAGING = YES JASPER_DEPENDENCIES = jpeg -JASPER_LICENSE = MIT +JASPER_LICENSE = JasPer License Version 2.0 JASPER_LICENSE_FILES = LICENSE -# needed to fix rpath issue (http://autobuild.buildroot.net/results/307/307cac65287420252a5bb64715d9a1edd90e72fa/) + +# No configure script included. We need to generate it. JASPER_AUTORECONF = YES +JASPER_CONF_OPTS = --disable-strict + $(eval $(autotools-package)) diff --git a/package/kvm-unit-tests/0001-remove-werror.patch b/package/kvm-unit-tests/0001-remove-werror.patch new file mode 100644 index 0000000000..058a640d76 --- /dev/null +++ b/package/kvm-unit-tests/0001-remove-werror.patch @@ -0,0 +1,17 @@ +Remove -Werror to avoid build failures + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/Makefile +=================================================================== +--- a/Makefile ++++ b/Makefile +@@ -45,7 +45,7 @@ + > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) + + CFLAGS += -g +-CFLAGS += $(autodepend-flags) -Wall -Werror -Wno-frame-address ++CFLAGS += $(autodepend-flags) -Wall -Wno-frame-address + frame-pointer-flag=-f$(if $(KEEP_FRAME_POINTER),no-,)omit-frame-pointer + fomit_frame_pointer := $(call cc-option, $(frame-pointer-flag), "") + fnostack_protector := $(call cc-option, -fno-stack-protector, "") diff --git a/package/kvm-unit-tests/Config.in b/package/kvm-unit-tests/Config.in index f704a8e0c3..72656462e1 100644 --- a/package/kvm-unit-tests/Config.in +++ b/package/kvm-unit-tests/Config.in @@ -4,7 +4,9 @@ config BR2_PACKAGE_KVM_UNIT_TESTS # on i386 and x86-64, __builtin_reachable is used, so we need # gcc 4.5 at least. on i386, we use the target gcc, while on # x86-64 we use the host gcc (see .mk file for details) - depends on BR2_arm || \ + # On ARM, it uses virtualization extensions + depends on BR2_cortex_a7 || BR2_cortex_a12 || \ + BR2_cortex_a15 || BR2_cortex_a17 || \ (BR2_i386 && BR2_TOOLCHAIN_GCC_AT_LEAST_4_5) || \ BR2_powerpc64 || \ BR2_powerpc64le || \ diff --git a/package/kvm-unit-tests/kvm-unit-tests.mk b/package/kvm-unit-tests/kvm-unit-tests.mk index 1b5ce787ef..0ddb017802 100644 --- a/package/kvm-unit-tests/kvm-unit-tests.mk +++ b/package/kvm-unit-tests/kvm-unit-tests.mk @@ -17,7 +17,7 @@ KVM_UNIT_TESTS_ARCH = i386 else ifeq ($(BR2_powerpc64)$(BR2_powerpc64le),y) KVM_UNIT_TESTS_ARCH = ppc64 else ifeq ($(BR2_x86_64),y) -KVM_UNIT_TESTS_ARCH = x86_84 +KVM_UNIT_TESTS_ARCH = x86_64 endif ifeq ($(BR2_ENDIAN),"LITTLE") @@ -27,7 +27,8 @@ KVM_UNIT_TESTS_ENDIAN = big endif KVM_UNIT_TESTS_CONF_OPTS =\ - --arch="$(KERNEL_ARCH)" \ + --arch="$(KVM_UNIT_TESTS_ARCH)" \ + --processor="$(call qstrip,$(BR2_GCC_TARGET_CPU))" \ --endian="$(KVM_UNIT_TESTS_ENDIAN)" # For all architectures but x86-64, we use the target diff --git a/package/kvmtool/kvmtool.mk b/package/kvmtool/kvmtool.mk index 7f682db625..12454e1bfd 100644 --- a/package/kvmtool/kvmtool.mk +++ b/package/kvmtool/kvmtool.mk @@ -4,7 +4,7 @@ # ################################################################################ -KVMTOOL_VERSION = 372f583d359a5bdcbbe7268809c8d1dc179c64d2 +KVMTOOL_VERSION = bed2bd9e1fbef5819090feeada7b86eed97ca5e2 KVMTOOL_SITE = $(BR2_KERNEL_MIRROR)/scm/linux/kernel/git/will/kvmtool.git KVMTOOL_SITE_METHOD = git KVMTOOL_DEPENDENCIES = \ diff --git a/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch b/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch new file mode 100644 index 0000000000..f8c0d00d30 --- /dev/null +++ b/package/lcms2/0001-Fix-lcms2.pc.in-thread-library-dependency.patch @@ -0,0 +1,26 @@ +From 0b55fd4e0935a0231ca258fde631a95215df2f72 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <ps.report@gmx.net> +Date: Fri, 11 Nov 2016 23:29:56 +0100 +Subject: [PATCH] Fix lcms2.pc.in thread library dependency. + +Needed (sometimes) for static linking. + +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + lcms2.pc.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lcms2.pc.in b/lcms2.pc.in +index b715f59..5b4213c 100644 +--- a/lcms2.pc.in ++++ b/lcms2.pc.in +@@ -7,5 +7,5 @@ Name: @PACKAGE@ + Description: LCMS Color Management Library + Version: @VERSION@ + Libs: -L${libdir} -llcms2 +-Libs.private: @LIB_MATH@ ++Libs.private: @LIB_MATH@ @LIB_THREAD@ + Cflags: -I${includedir} +-- +2.8.1 + diff --git a/package/libfribidi/libfribidi.mk b/package/libfribidi/libfribidi.mk index 86e722a211..751a1b6066 100644 --- a/package/libfribidi/libfribidi.mk +++ b/package/libfribidi/libfribidi.mk @@ -15,7 +15,7 @@ LIBFRIBIDI_INSTALL_STAGING = YES LIBFRIBIDI_AUTORECONF = YES LIBFRIBIDI_DEPENDENCIES = host-pkgconf # libglib2 dependency causes a build failure, and this optional -# dependency is going to be removed usptream, see +# dependency is going to be removed upstream, see # https://github.com/behdad/fribidi/pull/14 LIBFRIBIDI_CONF_OPTS = --with-glib=no diff --git a/package/libmpeg2/0003-fix-arm-detection.patch b/package/libmpeg2/0003-fix-arm-detection.patch new file mode 100644 index 0000000000..69ec4547de --- /dev/null +++ b/package/libmpeg2/0003-fix-arm-detection.patch @@ -0,0 +1,39 @@ +Improve the ARM detection to work on Thumb-only architecture + +The ARM-specific assembly code doesn't build on Thumb-only +architectures such as ARMv7-M, but the configure script assumes that +if the host tuple is arm*, then it can build and use the ARM optimized +code. + +This patch improves the configure.ac detection logic, by building one +of the instruction of the optimized assembly code, and using this to +decide whether or not the optimizations should be enabled. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/configure.ac +=================================================================== +--- a/configure.ac ++++ b/configure.ac +@@ -101,8 +101,10 @@ + alpha*) + AC_DEFINE([ARCH_ALPHA],,[alpha architecture]);; + arm*) +- arm_conditional=: +- AC_DEFINE([ARCH_ARM],,[ARM architecture]);; ++ AC_TRY_LINK([], [asm(".syntax divided\nstmfd sp!,{r4-r11,lr}")], ++ [AC_DEFINE([ARCH_ARM],,[ARM architecture]) ++ use_arm_optimization=yes], ++ [use_arm_optimization=no]) + esac + elif test x"$CC" = x"tendracc"; then + dnl TenDRA portability checking compiler +@@ -122,7 +124,7 @@ + esac + fi + +-AM_CONDITIONAL(ARCH_ARM, ${arm_conditional}) ++AM_CONDITIONAL(ARCH_ARM, test "${use_arm_optimization}" = "yes") + + dnl Checks for libtool - this must be done after we set cflags + AC_LIBTOOL_WIN32_DLL diff --git a/package/libnss/0003-it-uninitialized-fix.patch b/package/libnss/0003-it-uninitialized-fix.patch new file mode 100644 index 0000000000..7736c6a939 --- /dev/null +++ b/package/libnss/0003-it-uninitialized-fix.patch @@ -0,0 +1,24 @@ +# HG changeset patch +# User catdesk <catdesk@tuta.io> +# Date 1477710600 -7200 +# Sat Oct 29 05:10:00 2016 +0200 +# Node ID b9ef971b94ab110302d49255339077bc1b4aed7f +# Parent eb8c96563cd70aa69d48b01516085f7d2fb46178 +Bug 1313846 - Declare 'it = NULL' earlier. r=franziskus + +[Thomas: patch taken from upstream mercurial repository, revision +12791.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +diff -r eb8c96563cd7 -r b9ef971b94ab lib/jar/jarfile.c +--- a/nss/lib/jar/jarfile.c Mon Oct 31 17:31:20 2016 +0100 ++++ b/nss/lib/jar/jarfile.c Sat Oct 29 05:10:00 2016 +0200 +@@ -657,7 +657,7 @@ + jar_listzip(JAR *jar, JAR_FILE fp) + { + ZZLink *ent; +- JAR_Item *it; ++ JAR_Item *it = NULL; + JAR_Physical *phy = NULL; + struct ZipLocal *Local = PORT_ZNew(struct ZipLocal); + struct ZipCentral *Central = PORT_ZNew(struct ZipCentral); diff --git a/package/libuv/Config.in b/package/libuv/Config.in index 26cb97eecf..93fbd56557 100644 --- a/package/libuv/Config.in +++ b/package/libuv/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LIBUV bool "libuv" - depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # pthread_barrier_* depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS help @@ -9,6 +9,6 @@ config BR2_PACKAGE_LIBUV https://github.com/libuv/libuv -comment "libuv needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "libuv needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU diff --git a/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch b/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch new file mode 100644 index 0000000000..42570c6350 --- /dev/null +++ b/package/libxml2/0001-Fix-XPointer-paths-beginning-with-range-to.patch @@ -0,0 +1,178 @@ +From 9ab01a277d71f54d3143c2cf333c5c2e9aaedd9e Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Tue, 28 Jun 2016 14:22:23 +0200 +Subject: [PATCH] Fix XPointer paths beginning with range-to + +The old code would invoke the broken xmlXPtrRangeToFunction. range-to +isn't really a function but a special kind of location step. Remove +this function and always handle range-to in the XPath code. + +The old xmlXPtrRangeToFunction could also be abused to trigger a +use-after-free error with the potential for remote code execution. + +Found with afl-fuzz. + +Fixes CVE-2016-5131. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: upstream commit 9ab01a277d7 + + result/XPath/xptr/vidbase | 13 ++++++++ + test/XPath/xptr/vidbase | 1 + + xpath.c | 7 ++++- + xpointer.c | 76 ++++------------------------------------------- + 4 files changed, 26 insertions(+), 71 deletions(-) + +diff --git a/result/XPath/xptr/vidbase b/result/XPath/xptr/vidbase +index 8b9e92d66d97..f19193e70edb 100644 +--- a/result/XPath/xptr/vidbase ++++ b/result/XPath/xptr/vidbase +@@ -17,3 +17,16 @@ Object is a Location Set: + To node + ELEMENT p + ++ ++======================== ++Expression: xpointer(range-to(id('chapter2'))) ++Object is a Location Set: ++1 : Object is a range : ++ From node ++ / ++ To node ++ ELEMENT chapter ++ ATTRIBUTE id ++ TEXT ++ content=chapter2 ++ +diff --git a/test/XPath/xptr/vidbase b/test/XPath/xptr/vidbase +index b1463830570a..884b1065d7fd 100644 +--- a/test/XPath/xptr/vidbase ++++ b/test/XPath/xptr/vidbase +@@ -1,2 +1,3 @@ + xpointer(id('chapter1')/p) + xpointer(id('chapter1')/p[1]/range-to(following-sibling::p[2])) ++xpointer(range-to(id('chapter2'))) +diff --git a/xpath.c b/xpath.c +index d992841ef0c2..5a01b1b399a2 100644 +--- a/xpath.c ++++ b/xpath.c +@@ -10691,13 +10691,18 @@ xmlXPathCompPathExpr(xmlXPathParserContextPtr ctxt) { + lc = 1; + break; + } else if ((NXT(len) == '(')) { +- /* Note Type or Function */ ++ /* Node Type or Function */ + if (xmlXPathIsNodeType(name)) { + #ifdef DEBUG_STEP + xmlGenericError(xmlGenericErrorContext, + "PathExpr: Type search\n"); + #endif + lc = 1; ++#ifdef LIBXML_XPTR_ENABLED ++ } else if (ctxt->xptr && ++ xmlStrEqual(name, BAD_CAST "range-to")) { ++ lc = 1; ++#endif + } else { + #ifdef DEBUG_STEP + xmlGenericError(xmlGenericErrorContext, +diff --git a/xpointer.c b/xpointer.c +index 676c5105837a..d74174a318f1 100644 +--- a/xpointer.c ++++ b/xpointer.c +@@ -1332,8 +1332,6 @@ xmlXPtrNewContext(xmlDocPtr doc, xmlNodePtr here, xmlNodePtr origin) { + ret->here = here; + ret->origin = origin; + +- xmlXPathRegisterFunc(ret, (xmlChar *)"range-to", +- xmlXPtrRangeToFunction); + xmlXPathRegisterFunc(ret, (xmlChar *)"range", + xmlXPtrRangeFunction); + xmlXPathRegisterFunc(ret, (xmlChar *)"range-inside", +@@ -2243,76 +2241,14 @@ xmlXPtrRangeInsideFunction(xmlXPathParserContextPtr ctxt, int nargs) { + * @nargs: the number of args + * + * Implement the range-to() XPointer function ++ * ++ * Obsolete. range-to is not a real function but a special type of location ++ * step which is handled in xpath.c. + */ + void +-xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, int nargs) { +- xmlXPathObjectPtr range; +- const xmlChar *cur; +- xmlXPathObjectPtr res, obj; +- xmlXPathObjectPtr tmp; +- xmlLocationSetPtr newset = NULL; +- xmlNodeSetPtr oldset; +- int i; +- +- if (ctxt == NULL) return; +- CHECK_ARITY(1); +- /* +- * Save the expression pointer since we will have to evaluate +- * it multiple times. Initialize the new set. +- */ +- CHECK_TYPE(XPATH_NODESET); +- obj = valuePop(ctxt); +- oldset = obj->nodesetval; +- ctxt->context->node = NULL; +- +- cur = ctxt->cur; +- newset = xmlXPtrLocationSetCreate(NULL); +- +- for (i = 0; i < oldset->nodeNr; i++) { +- ctxt->cur = cur; +- +- /* +- * Run the evaluation with a node list made of a single item +- * in the nodeset. +- */ +- ctxt->context->node = oldset->nodeTab[i]; +- tmp = xmlXPathNewNodeSet(ctxt->context->node); +- valuePush(ctxt, tmp); +- +- xmlXPathEvalExpr(ctxt); +- CHECK_ERROR; +- +- /* +- * The result of the evaluation need to be tested to +- * decided whether the filter succeeded or not +- */ +- res = valuePop(ctxt); +- range = xmlXPtrNewRangeNodeObject(oldset->nodeTab[i], res); +- if (range != NULL) { +- xmlXPtrLocationSetAdd(newset, range); +- } +- +- /* +- * Cleanup +- */ +- if (res != NULL) +- xmlXPathFreeObject(res); +- if (ctxt->value == tmp) { +- res = valuePop(ctxt); +- xmlXPathFreeObject(res); +- } +- +- ctxt->context->node = NULL; +- } +- +- /* +- * The result is used as the new evaluation set. +- */ +- xmlXPathFreeObject(obj); +- ctxt->context->node = NULL; +- ctxt->context->contextSize = -1; +- ctxt->context->proximityPosition = -1; +- valuePush(ctxt, xmlXPtrWrapLocationSet(newset)); ++xmlXPtrRangeToFunction(xmlXPathParserContextPtr ctxt, ++ int nargs ATTRIBUTE_UNUSED) { ++ XP_ERROR(XPATH_EXPR_ERROR); + } + + /** +-- +2.10.2 + diff --git a/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch b/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch new file mode 100644 index 0000000000..45c1a07ca4 --- /dev/null +++ b/package/libxml2/0002-Disallow-namespace-nodes-in-XPointer-ranges.patch @@ -0,0 +1,253 @@ +From c1d1f7121194036608bf555f08d3062a36fd344b Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Tue, 28 Jun 2016 18:34:52 +0200 +Subject: [PATCH] Disallow namespace nodes in XPointer ranges + +Namespace nodes must be copied to avoid use-after-free errors. +But they don't necessarily have a physical representation in a +document, so simply disallow them in XPointer ranges. + +Found with afl-fuzz. + +Fixes CVE-2016-4658. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: upstream commit c1d1f712119403 + + xpointer.c | 149 +++++++++++++++++++++++-------------------------------------- + 1 file changed, 56 insertions(+), 93 deletions(-) + +diff --git a/xpointer.c b/xpointer.c +index a7b03fbdae16..694d120e2e0b 100644 +--- a/xpointer.c ++++ b/xpointer.c +@@ -320,6 +320,45 @@ xmlXPtrRangesEqual(xmlXPathObjectPtr range1, xmlXPathObjectPtr range2) { + } + + /** ++ * xmlXPtrNewRangeInternal: ++ * @start: the starting node ++ * @startindex: the start index ++ * @end: the ending point ++ * @endindex: the ending index ++ * ++ * Internal function to create a new xmlXPathObjectPtr of type range ++ * ++ * Returns the newly created object. ++ */ ++static xmlXPathObjectPtr ++xmlXPtrNewRangeInternal(xmlNodePtr start, int startindex, ++ xmlNodePtr end, int endindex) { ++ xmlXPathObjectPtr ret; ++ ++ /* ++ * Namespace nodes must be copied (see xmlXPathNodeSetDupNs). ++ * Disallow them for now. ++ */ ++ if ((start != NULL) && (start->type == XML_NAMESPACE_DECL)) ++ return(NULL); ++ if ((end != NULL) && (end->type == XML_NAMESPACE_DECL)) ++ return(NULL); ++ ++ ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); ++ if (ret == NULL) { ++ xmlXPtrErrMemory("allocating range"); ++ return(NULL); ++ } ++ memset(ret, 0, sizeof(xmlXPathObject)); ++ ret->type = XPATH_RANGE; ++ ret->user = start; ++ ret->index = startindex; ++ ret->user2 = end; ++ ret->index2 = endindex; ++ return(ret); ++} ++ ++/** + * xmlXPtrNewRange: + * @start: the starting node + * @startindex: the start index +@@ -344,17 +383,7 @@ xmlXPtrNewRange(xmlNodePtr start, int startindex, + if (endindex < 0) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start; +- ret->index = startindex; +- ret->user2 = end; +- ret->index2 = endindex; ++ ret = xmlXPtrNewRangeInternal(start, startindex, end, endindex); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +@@ -381,17 +410,8 @@ xmlXPtrNewRangePoints(xmlXPathObjectPtr start, xmlXPathObjectPtr end) { + if (end->type != XPATH_POINT) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start->user; +- ret->index = start->index; +- ret->user2 = end->user; +- ret->index2 = end->index; ++ ret = xmlXPtrNewRangeInternal(start->user, start->index, end->user, ++ end->index); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +@@ -416,17 +436,7 @@ xmlXPtrNewRangePointNode(xmlXPathObjectPtr start, xmlNodePtr end) { + if (start->type != XPATH_POINT) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start->user; +- ret->index = start->index; +- ret->user2 = end; +- ret->index2 = -1; ++ ret = xmlXPtrNewRangeInternal(start->user, start->index, end, -1); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +@@ -453,17 +463,7 @@ xmlXPtrNewRangeNodePoint(xmlNodePtr start, xmlXPathObjectPtr end) { + if (end->type != XPATH_POINT) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start; +- ret->index = -1; +- ret->user2 = end->user; +- ret->index2 = end->index; ++ ret = xmlXPtrNewRangeInternal(start, -1, end->user, end->index); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +@@ -486,17 +486,7 @@ xmlXPtrNewRangeNodes(xmlNodePtr start, xmlNodePtr end) { + if (end == NULL) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start; +- ret->index = -1; +- ret->user2 = end; +- ret->index2 = -1; ++ ret = xmlXPtrNewRangeInternal(start, -1, end, -1); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +@@ -516,17 +506,7 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) { + if (start == NULL) + return(NULL); + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start; +- ret->index = -1; +- ret->user2 = NULL; +- ret->index2 = -1; ++ ret = xmlXPtrNewRangeInternal(start, -1, NULL, -1); + return(ret); + } + +@@ -541,6 +521,8 @@ xmlXPtrNewCollapsedRange(xmlNodePtr start) { + */ + xmlXPathObjectPtr + xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { ++ xmlNodePtr endNode; ++ int endIndex; + xmlXPathObjectPtr ret; + + if (start == NULL) +@@ -549,7 +531,12 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { + return(NULL); + switch (end->type) { + case XPATH_POINT: ++ endNode = end->user; ++ endIndex = end->index; ++ break; + case XPATH_RANGE: ++ endNode = end->user2; ++ endIndex = end->index2; + break; + case XPATH_NODESET: + /* +@@ -557,39 +544,15 @@ xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) { + */ + if (end->nodesetval->nodeNr <= 0) + return(NULL); ++ endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1]; ++ endIndex = -1; + break; + default: + /* TODO */ + return(NULL); + } + +- ret = (xmlXPathObjectPtr) xmlMalloc(sizeof(xmlXPathObject)); +- if (ret == NULL) { +- xmlXPtrErrMemory("allocating range"); +- return(NULL); +- } +- memset(ret, 0 , (size_t) sizeof(xmlXPathObject)); +- ret->type = XPATH_RANGE; +- ret->user = start; +- ret->index = -1; +- switch (end->type) { +- case XPATH_POINT: +- ret->user2 = end->user; +- ret->index2 = end->index; +- break; +- case XPATH_RANGE: +- ret->user2 = end->user2; +- ret->index2 = end->index2; +- break; +- case XPATH_NODESET: { +- ret->user2 = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1]; +- ret->index2 = -1; +- break; +- } +- default: +- STRANGE +- return(NULL); +- } ++ ret = xmlXPtrNewRangeInternal(start, -1, endNode, endIndex); + xmlXPtrRangeCheckOrder(ret); + return(ret); + } +-- +2.10.2 + diff --git a/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch b/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch new file mode 100644 index 0000000000..1ad494a6c0 --- /dev/null +++ b/package/libxslt/0001-Fix-heap-overread-in-xsltFormatNumberConversion.patch @@ -0,0 +1,35 @@ +From eb1030de31165b68487f288308f9d1810fed6880 Mon Sep 17 00:00:00 2001 +From: Nick Wellnhofer <wellnhofer@aevum.de> +Date: Fri, 10 Jun 2016 14:23:58 +0200 +Subject: [PATCH] Fix heap overread in xsltFormatNumberConversion + +An empty decimal-separator could cause a heap overread. This can be +exploited to leak a couple of bytes after the buffer that holds the +pattern string. + +Found with afl-fuzz and ASan. + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: upstream commit eb1030de311 + + libxslt/numbers.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/libxslt/numbers.c b/libxslt/numbers.c +index d1549b46ca26..e78c46b6357b 100644 +--- a/libxslt/numbers.c ++++ b/libxslt/numbers.c +@@ -1090,7 +1090,8 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, + } + + /* We have finished the integer part, now work on fraction */ +- if (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) { ++ if ( (*the_format != 0) && ++ (xsltUTF8Charcmp(the_format, self->decimalPoint) == 0) ) { + format_info.add_decimal = TRUE; + the_format += xsltUTF8Size(the_format); /* Skip over the decimal */ + } +-- +2.10.2 + diff --git a/package/libxslt/Config.in b/package/libxslt/Config.in index ee2f66c36e..dfe5b99f04 100644 --- a/package/libxslt/Config.in +++ b/package/libxslt/Config.in @@ -13,4 +13,4 @@ config BR2_PACKAGE_LIBXSLT to describe how the document is transformed into another XML document that uses the formatting vocabulary. - http://www.w3.org/TR/xslt + http://xmlsoft.org/xslt/ diff --git a/package/linux-headers/Config.in.host b/package/linux-headers/Config.in.host index 71d3f60c03..6d616c3fbc 100644 --- a/package/linux-headers/Config.in.host +++ b/package/linux-headers/Config.in.host @@ -223,18 +223,18 @@ endchoice config BR2_DEFAULT_KERNEL_HEADERS string - default "3.2.83" if BR2_KERNEL_HEADERS_3_2 + default "3.2.84" if BR2_KERNEL_HEADERS_3_2 default "3.4.113" if BR2_KERNEL_HEADERS_3_4 default "3.10.104" if BR2_KERNEL_HEADERS_3_10 - default "3.12.66" if BR2_KERNEL_HEADERS_3_12 + default "3.12.67" if BR2_KERNEL_HEADERS_3_12 default "3.14.79" if BR2_KERNEL_HEADERS_3_14 default "3.18.44" if BR2_KERNEL_HEADERS_3_18 default "3.19.8" if BR2_KERNEL_HEADERS_3_19 default "4.0.9" if BR2_KERNEL_HEADERS_4_0 default "4.1.35" if BR2_KERNEL_HEADERS_4_1 - default "4.4.29" if BR2_KERNEL_HEADERS_4_4 + default "4.4.35" if BR2_KERNEL_HEADERS_4_4 default "4.5.7" if BR2_KERNEL_HEADERS_4_5 default "4.6.7" if BR2_KERNEL_HEADERS_4_6 default "4.7.10" if BR2_KERNEL_HEADERS_4_7 - default "4.8.6" if BR2_KERNEL_HEADERS_4_8 + default "4.8.11" if BR2_KERNEL_HEADERS_4_8 default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION diff --git a/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch b/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch new file mode 100644 index 0000000000..875aa88f6e --- /dev/null +++ b/package/lttng-babeltrace/0003-fix-uuid-support-detection-on-static-build.patch @@ -0,0 +1,86 @@ +From 2741f55be80ae8af169ae795ea28d2a39c18fa60 Mon Sep 17 00:00:00 2001 +From: Samuel Martin <s.martin49@gmail.com> +Date: Wed, 1 Jun 2016 21:56:32 +0200 +Subject: [PATCH] configure: fix uuid support detection on static build +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This change adds uuid detection using pkg-config helper before falling +back on the standard AC_CHECK_LIB detection for platforms missing +pkg-config. + +AC_CHECK_LIB function achieves its test by trying to link against the +requested library, without taking care of its dependency +requirements/flags that may differ between different targets. +Therefore, in case of static build, it can fail on the uuid detection +like [1], because the uuid's dependency flags (regarding gettext) are +missing. + +Instead, using pkg-config to do the check will take care of getting and +setting all required flags. + +This issue [1] has been triggered on Buildroot farms. + +[1] http://autobuild.buildroot.net/results/43b/43b98ddf9eb44152ed9ac4a98d887af14831d8da/build-end.log + +Signed-off-by: Samuel Martin <s.martin49@gmail.com> +Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com> +[Philippe: grabbed from this upstream patch: + https://github.com/efficios/babeltrace/commit/2741f55be80ae8af169ae795ea28d2a39c18fa60.patch +] +Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com> +--- + configure.ac | 31 +++++++++++++++++++++---------- + 1 file changed, 21 insertions(+), 10 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 84f9000..2f5e3f8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -163,24 +163,35 @@ AC_CHECK_FUNCS([uuid_generate], + link_with_libuuid=no + ], + [ +- # Check for libuuid +- AC_CHECK_LIB([uuid], [uuid_generate], ++ # First, check the pkg-config module is available, otherwise explicitly check ++ # for libuuid, or uuid support in the C-library. ++ PKG_CHECK_MODULES([UUID], [uuid], + [ ++ LIBS="${UUID_LIBS} ${LIBS}" ++ CFLAGS="${CFLAGS} ${UUID_CFLAGS}" + AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) + link_with_libuuid=yes + ], + [ +- # libuuid not found, check for uuid_create in libc. +- AC_CHECK_LIB([c], [uuid_create], ++ # Check for libuuid ++ AC_CHECK_LIB([uuid], [uuid_generate], + [ +- AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) +- link_with_libc_uuid=yes ++ AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBUUID], 1, [Has libuuid support.]) ++ link_with_libuuid=yes + ], + [ +- # for MinGW32 we have our own internal implemenation of uuid using Windows functions. +- if test "x$MINGW32" = xno; then +- AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.]) +- fi ++ # libuuid not found, check for uuid_create in libc. ++ AC_CHECK_LIB([c], [uuid_create], ++ [ ++ AC_DEFINE_UNQUOTED([BABELTRACE_HAVE_LIBC_UUID], 1, [Has libc uuid support.]) ++ link_with_libc_uuid=yes ++ ], ++ [ ++ # for MinGW32 we have our own internal implemenation of uuid using Windows functions. ++ if test "x$MINGW32" = xno; then ++ AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify their location.]) ++ fi ++ ]) + ]) + ]) + ]) diff --git a/package/lttng-babeltrace/lttng-babeltrace.mk b/package/lttng-babeltrace/lttng-babeltrace.mk index 7d4b520db0..10f96ab2d6 100644 --- a/package/lttng-babeltrace/lttng-babeltrace.mk +++ b/package/lttng-babeltrace/lttng-babeltrace.mk @@ -14,7 +14,9 @@ HOST_LTTNG_BABELTRACE_DEPENDENCIES = \ host-popt host-util-linux host-libglib2 host-pkgconf HOST_LTTNG_BABELTRACE_CONF_OPTS += --disable-debug-info -# For 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch +# For: +# 0002-m4-ax_lib_elfutils.m4-add-cache-variable.patch +# 0003-fix-uuid-support-detection-on-static-build.patch LTTNG_BABELTRACE_AUTORECONF = YES ifeq ($(BR2_PACKAGE_ELFUTILS),y) diff --git a/package/luv/Config.in b/package/luv/Config.in index 787d16269b..b085baf546 100644 --- a/package/luv/Config.in +++ b/package/luv/Config.in @@ -1,7 +1,7 @@ config BR2_PACKAGE_LUV bool "luv" select BR2_PACKAGE_LIBUV - depends on BR2_TOOLCHAIN_HAS_THREADS # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv help @@ -9,6 +9,6 @@ config BR2_PACKAGE_LUV https://github.com/luvit/luv -comment "luv needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "luv needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU diff --git a/package/luvi/Config.in b/package/luvi/Config.in index 2f01f5c2fa..18317f401e 100644 --- a/package/luvi/Config.in +++ b/package/luvi/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_LUVI bool "luvi" - depends on BR2_TOOLCHAIN_HAS_THREADS # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on BR2_USE_MMU # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_PACKAGE_LUAJIT @@ -22,8 +22,8 @@ config BR2_PACKAGE_LUVI https://github.com/luvit/luvi -comment "luvi needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "luvi needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU comment "luvi needs LuaJIT" diff --git a/package/makedevs/makedevs.c b/package/makedevs/makedevs.c index cacb144e21..7092b1475e 100644 --- a/package/makedevs/makedevs.c +++ b/package/makedevs/makedevs.c @@ -599,6 +599,8 @@ int main(int argc, char **argv) } else { dev_t rdev; + unsigned i; + char *full_name_inc; if (type == 'p') { mode |= S_IFIFO; @@ -614,43 +616,24 @@ int main(int argc, char **argv) goto loop; } - if (count > 0) { - int i; - char *full_name_inc; - - full_name_inc = xmalloc(strlen(full_name) + 8); - for (i = 0; i < count; i++) { - sprintf(full_name_inc, "%s%d", full_name, start + i); - rdev = makedev(major, minor + i * increment); - if (mknod(full_name_inc, mode, rdev) == -1) { - bb_perror_msg("line %d: Couldnt create node %s", linenum, full_name_inc); - ret = EXIT_FAILURE; - } - else if (chown(full_name_inc, uid, gid) == -1) { - bb_perror_msg("line %d: chown failed for %s", linenum, full_name_inc); - ret = EXIT_FAILURE; - } - if ((mode != -1) && (chmod(full_name_inc, mode) < 0)){ - bb_perror_msg("line %d: chmod failed for %s", linenum, full_name_inc); - ret = EXIT_FAILURE; - } - } - free(full_name_inc); - } else { - rdev = makedev(major, minor); - if (mknod(full_name, mode, rdev) == -1) { - bb_perror_msg("line %d: Couldnt create node %s", linenum, full_name); + full_name_inc = xmalloc(strlen(full_name) + sizeof(int)*3 + 2); + if (count) + count--; + for (i = start; i <= start + count; i++) { + sprintf(full_name_inc, count ? "%s%u" : "%s", full_name, i); + rdev = makedev(major, minor + (i - start) * increment); + if (mknod(full_name_inc, mode, rdev) < 0) { + bb_perror_msg("line %d: can't create node %s", linenum, full_name_inc); ret = EXIT_FAILURE; - } - else if (chown(full_name, uid, gid) == -1) { - bb_perror_msg("line %d: chown failed for %s", linenum, full_name); + } else if (chown(full_name_inc, uid, gid) < 0) { + bb_perror_msg("line %d: can't chown %s", linenum, full_name_inc); ret = EXIT_FAILURE; - } - if ((mode != -1) && (chmod(full_name, mode) < 0)){ - bb_perror_msg("line %d: chmod failed for %s", linenum, full_name); + } else if (chmod(full_name_inc, mode) < 0) { + bb_perror_msg("line %d: can't chmod %s", linenum, full_name_inc); ret = EXIT_FAILURE; } } + free(full_name_inc); } loop: free(line); diff --git a/package/mesa3d/0004-Fix-endianess-detection-with-musl-based-toolchains.patch b/package/mesa3d/0004-Fix-endianess-detection-with-musl-based-toolchains.patch new file mode 100644 index 0000000000..656705b434 --- /dev/null +++ b/package/mesa3d/0004-Fix-endianess-detection-with-musl-based-toolchains.patch @@ -0,0 +1,65 @@ +From 61b076689b6308b1c9d0d84ee8654a47e65e67ae Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls <bernd.kuhls@t-online.de> +Date: Fri, 4 Nov 2016 19:44:37 +0100 +Subject: [PATCH 1/1] Fix endianess detection with musl-based toolchains + +Musl does not define __GLIBC__ and will not provide a __MUSL__ macro: +http://wiki.musl-libc.org/wiki/FAQ#Q:_why_is_there_no_MUSL_macro_.3F + +This patch checks for the presence of endian.h and promotes the result +to src/amd/Makefile.addrlib.am which executes the broken build command. +Fixes compile errors detected by the autobuilder infrastructure of the +buildroot project: + +http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/ +http://autobuild.buildroot.net/results/e27/e27a9a95f72dba3076549beb2a2ccfdbea2fcfee/ + +Patch sent upstream: https://patchwork.freedesktop.org/patch/119961/ + +Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de> +--- + configure.ac | 1 + + src/amd/Makefile.addrlib.am | 1 + + src/util/u_endian.h | 2 +- + 3 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4761c59..7991b52 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -786,6 +786,7 @@ fi + AC_HEADER_MAJOR + AC_CHECK_HEADER([xlocale.h], [DEFINES="$DEFINES -DHAVE_XLOCALE_H"]) + AC_CHECK_HEADER([sys/sysctl.h], [DEFINES="$DEFINES -DHAVE_SYS_SYSCTL_H"]) ++AC_CHECK_HEADER([endian.h], [DEFINES="$DEFINES -DHAVE_ENDIAN_H"]) + AC_CHECK_FUNC([strtof], [DEFINES="$DEFINES -DHAVE_STRTOF"]) + AC_CHECK_FUNC([mkostemp], [DEFINES="$DEFINES -DHAVE_MKOSTEMP"]) + +diff --git a/src/amd/Makefile.addrlib.am b/src/amd/Makefile.addrlib.am +index 64823fc..4e2fb1d 100644 +--- a/src/amd/Makefile.addrlib.am ++++ b/src/amd/Makefile.addrlib.am +@@ -28,6 +28,7 @@ addrlib_libamdgpu_addrlib_la_CPPFLAGS = \ + -I$(srcdir)/addrlib/core \ + -I$(srcdir)/addrlib/inc/chip/r800 \ + -I$(srcdir)/addrlib/r800/chip \ ++ $(DEFINES) \ + -DBRAHMA_BUILD=1 + + addrlib_libamdgpu_addrlib_la_CXXFLAGS = \ +diff --git a/src/util/u_endian.h b/src/util/u_endian.h +index b9d563d..266fb4a 100644 +--- a/src/util/u_endian.h ++++ b/src/util/u_endian.h +@@ -27,7 +27,7 @@ + #ifndef U_ENDIAN_H + #define U_ENDIAN_H + +-#if defined(__GLIBC__) || defined(ANDROID) ++#if defined(__GLIBC__) || defined(ANDROID) || defined(HAVE_ENDIAN_H) + #include <endian.h> + + #if __BYTE_ORDER == __LITTLE_ENDIAN +-- +2.10.1 + diff --git a/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch b/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch new file mode 100644 index 0000000000..e32031eca1 --- /dev/null +++ b/package/mesa3d/0005-configure.ac-invert-order-for-wayland-scanner-check.patch @@ -0,0 +1,39 @@ +From 60ee5191a0c074251862a15b12afdc9db0b2df38 Mon Sep 17 00:00:00 2001 +From: Gustavo Zacarias <gustavo@zacarias.com.ar> +Date: Thu, 17 Nov 2016 15:36:54 -0300 +Subject: [PATCH] configure.ac: invert order for wayland-scanner check + +When cross-compiling the .pc file might point to the wrong +wayland-scanner binary (target rather than host) resulting in a +non-executable and wrong scanner. +Try searching the PATH first, and if that fails fall back into +pkg-config. + +Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> +--- + configure.ac | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 5f30ae8..461792e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2025,11 +2025,11 @@ if test "x$with_egl_platforms" != "x" -a "x$enable_egl" != xyes; then + AC_MSG_ERROR([cannot build egl state tracker without EGL library]) + fi + +-PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], +- WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, +- WAYLAND_SCANNER='') ++AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) + if test "x$WAYLAND_SCANNER" = x; then +- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner]) ++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner], ++ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`, ++ WAYLAND_SCANNER='') + fi + + # Do per-EGL platform setups and checks +-- +2.7.3 + diff --git a/package/mesa3d/mesa3d.mk b/package/mesa3d/mesa3d.mk index a0186587fd..ed50371feb 100644 --- a/package/mesa3d/mesa3d.mk +++ b/package/mesa3d/mesa3d.mk @@ -137,6 +137,12 @@ MESA3D_CONF_OPTS += --disable-va # libGL is only provided for a full xorg stack ifeq ($(BR2_PACKAGE_XORG7),y) MESA3D_PROVIDES += libgl +else +define MESA3D_REMOVE_OPENGL_HEADERS + rm -rf $(STAGING_DIR)/usr/include/GL/ +endef + +MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_HEADERS endif ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) diff --git a/package/moarvm/Config.in b/package/moarvm/Config.in index 76343d1199..c6e1efa39d 100644 --- a/package/moarvm/Config.in +++ b/package/moarvm/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_MOARVM bool "moarvm" - depends on BR2_TOOLCHAIN_HAS_THREADS # libuv + depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL # libuv depends on !BR2_STATIC_LIBS # libuv depends on BR2_USE_MMU # libuv depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS # libatomic_ops @@ -18,8 +18,8 @@ config BR2_PACKAGE_MOARVM http://moarvm.com -comment "moarvm needs a toolchain w/ threads, dynamic library" - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS +comment "moarvm needs a toolchain w/ NPTL, dynamic library" + depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS depends on BR2_USE_MMU depends on BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS depends on !BR2_sparc64 && !BR2_sparc diff --git a/package/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch b/package/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch new file mode 100644 index 0000000000..12590cfd30 --- /dev/null +++ b/package/mpfr/0001-Fix-obsolete-ARC-asm-constraints.patch @@ -0,0 +1,37 @@ +mpfr-longlong.h: Fix obsolete ARC asm constraints + +This patch replaces obsolete ARC "J" asm constraint with +up-to-date "Cal" constraint. +The patch should be applied to upstream "mpfr" library and +after that it should be removed from buildroot as soon as +mpfr version with current fix will come up. + +Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com> +Signed-off-by: Claudiu Zissulescu <claziss@synopsys.com> +--- +Index: /src/mpfr-longlong.h +=================================================================== +--- /src/mpfr-longlong.h (revision 10963) ++++ /src/mpfr-longlong.h (working copy) +@@ -416,17 +416,17 @@ + : "=r" (sh), \ + "=&r" (sl) \ + : "r" ((USItype) (ah)), \ +- "rIJ" ((USItype) (bh)), \ ++ "rICal" ((USItype) (bh)), \ + "%r" ((USItype) (al)), \ +- "rIJ" ((USItype) (bl))) ++ "rICal" ((USItype) (bl))) + #define sub_ddmmss(sh, sl, ah, al, bh, bl) \ + __asm__ ("sub.f\t%1, %4, %5\n\tsbc\t%0, %2, %3" \ + : "=r" (sh), \ + "=&r" (sl) \ + : "r" ((USItype) (ah)), \ +- "rIJ" ((USItype) (bh)), \ ++ "rICal" ((USItype) (bh)), \ + "r" ((USItype) (al)), \ +- "rIJ" ((USItype) (bl))) ++ "rICal" ((USItype) (bl))) + #endif + + #if defined (__arm__) && (defined (__thumb2__) || !defined (__thumb__)) \ diff --git a/package/mplayer/Config.in b/package/mplayer/Config.in index 76bb6f077c..8474b0ec48 100644 --- a/package/mplayer/Config.in +++ b/package/mplayer/Config.in @@ -6,6 +6,9 @@ config BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS || BR2_m68k || BR2_microblaze || BR2_nios2) # Broken support for <ARMv5 depends on !BR2_ARM_CPU_ARMV4 + # configure script barfs on the -Wl,-elf2flt we add in the toolchain + # wrapper, so just disable completely for FLAT + depends on !BR2_BINFMT_FLAT config BR2_PACKAGE_MPLAYER bool "mplayer" diff --git a/package/mpv/0002-Fix-build-on-powerpc64-altivec.patch b/package/mpv/0002-Fix-build-on-powerpc64-altivec.patch new file mode 100644 index 0000000000..6db911d7cb --- /dev/null +++ b/package/mpv/0002-Fix-build-on-powerpc64-altivec.patch @@ -0,0 +1,28 @@ +Subject: [PATCH] Work around bool type redefinition by altivec + +On powerpc64le, the SDL header from SDL2 may include altivec.h and this +(combined with -std=c99) will cause a compile failure due to bool being +redefined as a vector type. + +Re-include stdbool.h after SDL.h to restore the normal bool type. + +Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com> +--- + audio/out/ao_sdl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/audio/out/ao_sdl.c b/audio/out/ao_sdl.c +index d9d0062..0cb80d6 100644 +--- a/audio/out/ao_sdl.c ++++ b/audio/out/ao_sdl.c +@@ -29,6 +29,7 @@ + #include "osdep/timer.h" + + #include <SDL.h> ++#include <stdbool.h> + + struct priv + { +-- +2.10.0.297.gf6727b0 + diff --git a/package/mpv/Config.in b/package/mpv/Config.in index 25288a43d4..2719981467 100644 --- a/package/mpv/Config.in +++ b/package/mpv/Config.in @@ -3,6 +3,7 @@ config BR2_PACKAGE_MPV depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE select BR2_PACKAGE_FFMPEG select BR2_PACKAGE_FFMPEG_SWSCALE @@ -17,5 +18,6 @@ config BR2_PACKAGE_MPV comment "mpv needs a toolchain w/ threads, gcc >= 4.5" depends on BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_HAS_ATOMIC || BR2_TOOLCHAIN_HAS_SYNC_8 depends on !BR2_TOOLCHAIN_HAS_THREADS || \ !BR2_TOOLCHAIN_GCC_AT_LEAST_4_5 diff --git a/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch b/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch index 002c9da639..a8658c4fec 100644 --- a/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch +++ b/package/net-tools/0002-iptunnel.c-do-not-include-netinet-ip.h.patch @@ -1,4 +1,4 @@ -From 7a9a369d9de784791a2ab384877aab5ff3801d4e Mon Sep 17 00:00:00 2001 +From eec38a200357b195efbb23bb645ab721c040f246 Mon Sep 17 00:00:00 2001 From: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Date: Thu, 3 Nov 2016 12:59:39 +0000 Subject: [PATCH] iptunnel.c: do not include netinet/ip.h @@ -29,19 +29,32 @@ of that the compilation fails due to a struct redefinition. The problem can be solved by just not including netinet/ip.h. +However, some Linux headers included in certain toolchains may not have +an updated linux/if_tunnel.h which includes linux/ip.h, so we need to +include it unconditionally otherwise linux/if_tunnel.h will use the +struct iphdr before being defined and the compilation will also fail in +this way: + +================================ +In file included from iptunnel.c:33:0: +/usr/include/linux/if_tunnel.h:37:16: error: field 'iph' has incomplete type + struct iphdr iph; + ^ +================================ + Upstream status: merge request sent -https://sourceforge.net/p/net-tools/code/merge-requests/3/ +https://sourceforge.net/p/net-tools/code/merge-requests/4/ Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> --- - iptunnel.c | 1 - - 1 file changed, 1 deletion(-) + iptunnel.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/iptunnel.c b/iptunnel.c -index 3fe1b84..247ae10 100644 +index 3fe1b84..e2ec2d8 100644 --- a/iptunnel.c +++ b/iptunnel.c -@@ -26,7 +26,6 @@ +@@ -26,11 +26,11 @@ #include <sys/socket.h> #include <sys/ioctl.h> #include <netinet/in.h> @@ -49,6 +62,11 @@ index 3fe1b84..247ae10 100644 #include <arpa/inet.h> #include <net/if.h> #include <net/if_arp.h> + #include <linux/types.h> ++#include <linux/ip.h> + #include <linux/if_tunnel.h> + + #include "config.h" -- 2.10.1 diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 0b6304b109..7f9e0d6785 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -28,6 +28,20 @@ else NTP_CONF_OPTS += --without-crypto --disable-openssl-random endif +ifeq ($(BR2_PACKAGE_LIBCAP),y) +NTP_CONF_OPTS += --enable-linuxcaps +NTP_DEPENDENCIES += libcap +else +NTP_CONF_OPTS += --disable-linuxcaps +endif + +ifeq ($(BR2_PACKAGE_LIBEDIT),y) +NTP_CONF_OPTS += --with-lineeditlibs=edit +NTP_DEPENDENCIES += libedit +else +NTP_CONF_OPTS += --without-lineeditlibs +endif + ifeq ($(BR2_PACKAGE_NTP_NTPSNMPD),y) NTP_CONF_OPTS += \ --with-net-snmp-config=$(STAGING_DIR)/usr/bin/net-snmp-config diff --git a/package/ola/Config.in b/package/ola/Config.in index 7b56f5ca9d..2f1d33ef28 100644 --- a/package/ola/Config.in +++ b/package/ola/Config.in @@ -54,6 +54,8 @@ config BR2_PACKAGE_OLA_EXAMPLES config BR2_PACKAGE_OLA_RDM_TESTS bool "rdm tests" depends on BR2_PACKAGE_OLA_PYTHON_BINDINGS + depends on BR2_PACKAGE_PYTHON_NUMPY_ARCH_SUPPORTS + select BR2_PACKAGE_PYTHON_NUMPY help Build OLA RDM tests. diff --git a/package/ola/ola.mk b/package/ola/ola.mk index 75ab25e164..93e84a6838 100644 --- a/package/ola/ola.mk +++ b/package/ola/ola.mk @@ -87,6 +87,11 @@ endif ifeq ($(BR2_PACKAGE_OLA_RDM_TESTS),y) OLA_CONF_OPTS += --enable-rdm-tests +OLA_DEPENDENCIES += python-numpy +# needed as numpy builds some shared libraries and ola checks for +# numpy using a host python test program which fails with 'wrong ELF +# class'. +OLA_CONF_ENV = ac_cv_have_pymod_numpy=yes else OLA_CONF_OPTS += --disable-rdm-tests endif diff --git a/package/olsr/Config.in b/package/olsr/Config.in index 2f3d024bd6..85c5b4da1f 100644 --- a/package/olsr/Config.in +++ b/package/olsr/Config.in @@ -1,5 +1,5 @@ config BR2_PACKAGE_OLSR - bool "olsrd" + bool "olsr" depends on BR2_USE_MMU # fork() depends on BR2_TOOLCHAIN_HAS_THREADS depends on !BR2_STATIC_LIBS diff --git a/package/openblas/openblas.mk b/package/openblas/openblas.mk index 9583e0ea29..a26e10a43c 100644 --- a/package/openblas/openblas.mk +++ b/package/openblas/openblas.mk @@ -31,6 +31,9 @@ else OPENBLAS_MAKE_OPTS += USE_THREAD=0 endif +# We don't know if OpenMP is available or not, so disable +OPENBLAS_MAKE_OPTS += USE_OPENMP=0 + # Static-only/Shared-only toggle ifeq ($(BR2_STATIC_LIBS),y) OPENBLAS_MAKE_OPTS += NO_SHARED=1 diff --git a/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch b/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch new file mode 100644 index 0000000000..bce790a478 --- /dev/null +++ b/package/openjpeg/0001-thirdparty-tiff-append-flags-found-by-pkg-config-if-.patch @@ -0,0 +1,72 @@ +From 38f50c7d9ad3ba06b64583045665203afb53cbd9 Mon Sep 17 00:00:00 2001 +From: Samuel Martin <s.martin49@gmail.com> +Date: Sun, 6 Nov 2016 16:29:08 +0100 +Subject: [PATCH] thirdparty: tiff: append flags found by pkg-config if + available + +This change allows to get all required CFLAGS/LDFLAGS in case of static only +build. + +This build issue [1] was triggered by the Buildroot farms. + +[1] http://autobuild.buildroot.net/results/d0d/d0d22727311d6300e0e400728126170407bfd699/build-end.log + +Signed-off-by: Samuel Martin <s.martin49@gmail.com> +--- + thirdparty/CMakeLists.txt | 23 +++++++++++++++++++++-- + 1 file changed, 21 insertions(+), 2 deletions(-) + +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index cb24b43b58e2..cd6a5e1391b0 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -1,5 +1,9 @@ + # 3rd party libs + ++if(NOT BUILD_THIRDPARTY) ++ include(FindPkgConfig) ++endif(NOT BUILD_THIRDPARTY) ++ + #------------ + # Try to find lib Z + if(BUILD_THIRDPARTY) +@@ -36,6 +40,9 @@ if(BUILD_THIRDPARTY) + else(BUILD_THIRDPARTY) + if(ZLIB_FOUND) + find_package(PNG) ++ # Static only build: ++ # it is not necessary to invoke pkg_check_module on libpng, because libpng ++ # only depends on zlib, which is already checked. + if(PNG_FOUND) + message(STATUS "Your system seems to have a PNG lib available, we will use it") + set(OPJ_HAVE_PNG_H 1 PARENT_SCOPE) +@@ -66,12 +73,24 @@ if(BUILD_THIRDPARTY) + set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) + else(BUILD_THIRDPARTY) + find_package(TIFF) ++ # Static only build: ++ # it is necessary to invoke pkg_check_module on libtiff since it may have ++ # several other dependencies not declared by its cmake module, but they are ++ # in the its pkgconfig module. ++ if(PKG_CONFIG_FOUND) ++ foreach(pc_tiff_module tiff tiff3 tiff4 tiff-3 tiff-4 libtiff libtiff3 libtiff4 libtiff-3 libtiff-4) ++ pkg_check_modules(PC_TIFF QUIET ${pc_tiff_module}) ++ if(PC_TIFF_FOUND) ++ break() ++ endif(PC_TIFF_FOUND) ++ endforeach() ++ endif(PKG_CONFIG_FOUND) + if(TIFF_FOUND) + message(STATUS "Your system seems to have a TIFF lib available, we will use it") + set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE) + set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE) +- set(TIFF_LIBNAME ${TIFF_LIBRARIES} PARENT_SCOPE) +- set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} PARENT_SCOPE) ++ set(TIFF_LIBNAME ${TIFF_LIBRARIES} ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE) ++ set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE) + else(TIFF_FOUND) # not found + set(OPJ_HAVE_TIFF_H 0 PARENT_SCOPE) + set(OPJ_HAVE_LIBTIFF 0 PARENT_SCOPE) +-- +2.10.2 + diff --git a/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch b/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch new file mode 100644 index 0000000000..5697b82de2 --- /dev/null +++ b/package/openjpeg/0002-thirdparty-lcms2-append-flags-found-by-pkg-config-if.patch @@ -0,0 +1,49 @@ +From 226daa77ea5a35da306f9af2548f3e2c9e79f577 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <ps.report@gmx.net> +Date: Fri, 11 Nov 2016 23:35:13 +0100 +Subject: [PATCH] thirdparty: lcms2: append flags found by pkg-config if + available + +This change allows to get all required CFLAGS/LDFLAGS in case of static only +build. + +Fixes a buildroot build failure (see [1], [2] and [3]). + +[1] http://autobuild.buildroot.net/results/5ce/5cee20afd8bef5268832cddcb3a5270746be7a57 +[2] http://lists.busybox.net/pipermail/buildroot/2016-November/177187.html +[3] http://lists.busybox.net/pipermail/buildroot/2016-November/177188.html + +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + thirdparty/CMakeLists.txt | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt +index cd6a5e1391b0..a3a8494d89b1 100644 +--- a/thirdparty/CMakeLists.txt ++++ b/thirdparty/CMakeLists.txt +@@ -113,12 +113,19 @@ if( BUILD_THIRDPARTY) + set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) + else(BUILD_THIRDPARTY) + find_package(LCMS2) ++ # Static only build: ++ # it is necessary to invoke pkg_check_module on lcms2 since it may have ++ # several other dependencies not declared by its cmake module, but they are ++ # in the its pkgconfig module. ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(PC_LCMS2 QUIET lcms2) ++ endif(PKG_CONFIG_FOUND) + if(LCMS2_FOUND) + message(STATUS "Your system seems to have a LCMS2 lib available, we will use it") + set(OPJ_HAVE_LCMS2_H 1 PARENT_SCOPE) + set(OPJ_HAVE_LIBLCMS2 1 PARENT_SCOPE) +- set(LCMS_LIBNAME ${LCMS2_LIBRARIES} PARENT_SCOPE) +- set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} PARENT_SCOPE) ++ set(LCMS_LIBNAME ${LCMS2_LIBRARIES} ${PC_LCMS2_STATIC_LIBRARIES} PARENT_SCOPE) ++ set(LCMS_INCLUDE_DIRNAME ${LCMS2_INCLUDE_DIRS} ${PC_LCMS2_STATIC_INCLUDE_DIRS} PARENT_SCOPE) + else(LCMS2_FOUND) # not found lcms2 + # try to find LCMS + find_package(LCMS) +-- +2.10.2 + diff --git a/package/openjpeg/openjpeg.hash b/package/openjpeg/openjpeg.hash index 35d4fbd535..c0abd0c54d 100644 --- a/package/openjpeg/openjpeg.hash +++ b/package/openjpeg/openjpeg.hash @@ -1,2 +1,2 @@ # Locally computed: -sha256 4afc996cd5e0d16360d71c58216950bcb4ce29a3272360eb29cadb1c8bce4efc openjpeg-2.1.tar.gz +sha256 4ce77b6ef538ef090d9bde1d5eeff8b3069ab56c4906f083475517c2c023dfa7 openjpeg-2.1.2.tar.gz diff --git a/package/openjpeg/openjpeg.mk b/package/openjpeg/openjpeg.mk index bf125261a7..ca22068113 100644 --- a/package/openjpeg/openjpeg.mk +++ b/package/openjpeg/openjpeg.mk @@ -4,8 +4,8 @@ # ################################################################################ -OPENJPEG_VERSION = 2.1 -OPENJPEG_SITE = $(call github,uclouvain,openjpeg,version.$(OPENJPEG_VERSION)) +OPENJPEG_VERSION = 2.1.2 +OPENJPEG_SITE = $(call github,uclouvain,openjpeg,v$(OPENJPEG_VERSION)) OPENJPEG_LICENSE = BSD-2c OPENJPEG_LICENSE_FILES = LICENSE OPENJPEG_INSTALL_STAGING = YES diff --git a/package/openssh/0003-fix-CVE-2016-8858.patch b/package/openssh/0003-fix-CVE-2016-8858.patch new file mode 100644 index 0000000000..4ba1cfdc01 --- /dev/null +++ b/package/openssh/0003-fix-CVE-2016-8858.patch @@ -0,0 +1,31 @@ +From ec165c392ca54317dbe3064a8c200de6531e89ad Mon Sep 17 00:00:00 2001 +From: "markus@openbsd.org" <markus@openbsd.org> +Date: Mon, 10 Oct 2016 19:28:48 +0000 +Subject: [PATCH] upstream commit + +Unregister the KEXINIT handler after message has been +received. Otherwise an unauthenticated peer can repeat the KEXINIT and cause +allocation of up to 128MB -- until the connection is closed. Reported by +shilei-c at 360.cn + +Upstream-ID: 43649ae12a27ef94290db16d1a98294588b75c05 + +Signed-off-by: Baruch Siach <baruch@tkos.co.il> +--- +Patch status: upstream + + kex.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/kex.c b/kex.c +index 3f97f8c..6a94bc5 100644 +--- a/kex.c ++++ b/kex.c +@@ -481,6 +481,7 @@ kex_input_kexinit(int type, u_int32_t seq, void *ctxt) + if (kex == NULL) + return SSH_ERR_INVALID_ARGUMENT; + ++ ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL); + ptr = sshpkt_ptr(ssh, &dlen); + if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0) + return r; diff --git a/package/php/0007-avoid-bfin-gcc-segfault.patch b/package/php/0007-avoid-bfin-gcc-segfault.patch new file mode 100644 index 0000000000..4dccb25f1f --- /dev/null +++ b/package/php/0007-avoid-bfin-gcc-segfault.patch @@ -0,0 +1,16 @@ +Avoid gcc segmentation fault + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> + +diff -Nur php-7.0.12.orig/Zend/zend_portability.h php-7.0.12/Zend/zend_portability.h +--- php-7.0.12.orig/Zend/zend_portability.h 2016-10-13 16:04:17.000000000 +0200 ++++ php-7.0.12/Zend/zend_portability.h 2016-11-08 02:49:39.118388999 +0100 +@@ -97,7 +97,7 @@ + + #if defined(ZEND_WIN32) && !defined(__clang__) + # define ZEND_ASSUME(c) __assume(c) +-#elif ((defined(__GNUC__) && ZEND_GCC_VERSION >= 4005) || __has_builtin(__builtin_unreachable)) && PHP_HAVE_BUILTIN_EXPECT ++#elif ((defined(__GNUC__) && ZEND_GCC_VERSION >= 4005) || __has_builtin(__builtin_unreachable)) && PHP_HAVE_BUILTIN_EXPECT && !defined(__bfin__) + # define ZEND_ASSUME(c) do { \ + if (__builtin_expect(!(c), 0)) __builtin_unreachable(); \ + } while (0) diff --git a/package/php/php-fpm.conf b/package/php/php-fpm.conf index b75a58fefc..88014b8c80 100644 --- a/package/php/php-fpm.conf +++ b/package/php/php-fpm.conf @@ -1,9 +1,6 @@ [www] -# Only start children when there are requests to be processed pm = ondemand -# Terminate them again after there haven't been any for 2 minutes pm.process_idle_timeout = 120s -# Maximum number of children processing PHP requests concurrently pm.max_children = 5 listen = /var/run/php-fpm.sock diff --git a/package/postgresql/postgresql.mk b/package/postgresql/postgresql.mk index d46e8c0ec8..786ef4876a 100644 --- a/package/postgresql/postgresql.mk +++ b/package/postgresql/postgresql.mk @@ -13,7 +13,7 @@ POSTGRESQL_INSTALL_STAGING = YES POSTGRESQL_CONFIG_SCRIPTS = pg_config POSTGRESQL_CONF_ENV = \ ac_cv_type_struct_sockaddr_in6=yes \ - pgac_cv_snprintf_long_long_int_modifier="%lld" \ + pgac_cv_snprintf_long_long_int_modifier="ll" \ pgac_cv_snprintf_size_t_support=yes POSTGRESQL_CONF_OPTS = --disable-rpath diff --git a/package/privoxy/Config.in b/package/privoxy/Config.in index 8d8d01a73f..accb48dfc2 100644 --- a/package/privoxy/Config.in +++ b/package/privoxy/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PRIVOXY bool "privoxy" depends on BR2_USE_MMU # fork() + depends on BR2_TOOLCHAIN_HAS_THREADS select BR2_PACKAGE_PCRE select BR2_PACKAGE_ZLIB help @@ -10,3 +11,7 @@ config BR2_PACKAGE_PRIVOXY obnoxious Internet junk. http://www.privoxy.org/ + +comment "privoxy needs a toolchain w/ threads" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/pseudo/0001-Fix-mixed-tab-space-indentation.patch b/package/pseudo/0001-Fix-mixed-tab-space-indentation.patch new file mode 100644 index 0000000000..6b62c1af94 --- /dev/null +++ b/package/pseudo/0001-Fix-mixed-tab-space-indentation.patch @@ -0,0 +1,105 @@ +From bf4e5310547603bf36e67dc4cba027963f16508e Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com> +Date: Fri, 4 Nov 2016 11:53:48 -0400 +Subject: [PATCH 1/3] Fix mixed tab/space indentation +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +CC="cc -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -DPSEUDO_PREFIX='"/usr/local"' -DPSEUDO_SUFFIX='""' -DPSEUDO_BINDIR='"bin"' -DPSEUDO_LIBDIR='"lib64"' -DPSEUDO_LOCALSTATEDIR='"var/pseudo"' -DPSEUDO_VERSION='"1.8.1"' -DUSE_MEMORY_DB -DPSEUDO_PASSWD_FALLBACK='""' -DPSEUDO_XATTR_SUPPORT -O2 -g " ./makewrappers "xattr=true" + File "./makewrappers", line 327 + return """/* This function is not called if pseudo is configured --enable-force-async */ + ^ +TabError: inconsistent use of tabs and spaces in indentation + +Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> +--- + makewrappers | 26 +++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/makewrappers b/makewrappers +index e9191ed..303e2cc 100755 +--- a/makewrappers ++++ b/makewrappers +@@ -324,7 +324,7 @@ class Function: + + def maybe_async_skip(self): + if self.async_skip: +- return """/* This function is not called if pseudo is configured --enable-force-async */ ++ return """/* This function is not called if pseudo is configured --enable-force-async */ + #ifdef PSEUDO_FORCE_ASYNC + if (!pseudo_allow_fsync) { + PROFILE_DONE; +@@ -333,7 +333,7 @@ class Function: + #endif + """ % self.async_skip + else: +- return "" ++ return "" + + def comment(self): + """declare self (in a comment)""" +@@ -393,11 +393,11 @@ class Function: + + def rc_format(self): + """the format string to use for the return value""" +- return typedata.get(self.type, { 'format': '[%s]', 'value': '"' + self.type + '"' })['format'] ++ return typedata.get(self.type, { 'format': '[%s]', 'value': '"' + self.type + '"' })['format'] + + def rc_value(self): + """the value to pass for the format string for the return value""" +- return typedata.get(self.type, { 'format': '[%s]', 'value': '"' + self.type + '"' })['value'] ++ return typedata.get(self.type, { 'format': '[%s]', 'value': '"' + self.type + '"' })['value'] + + def rc_decl(self): + """declare rc (if needed)""" +@@ -456,7 +456,7 @@ additional ports to include. + self.name = port + self.subports = [] + self.preports = [] +- print port ++ print port + + if os.path.exists(self.portfile("pseudo_wrappers.c")): + self.wrappers = self.portfile("pseudo_wrappers.c") +@@ -522,11 +522,11 @@ additional ports to include. + return '#define PSEUDO_PORT_%s 1' % string.upper(self.name).replace('/', '_') + + def portdeps(self): +- deps = [] +- if self.wrappers: +- deps.append(self.wrappers) +- if self.portdef_file: +- deps.append(self.portdef_file) ++ deps = [] ++ if self.wrappers: ++ deps.append(self.wrappers) ++ if self.portdef_file: ++ deps.append(self.portdef_file) + if deps: + return 'pseudo_wrappers.o: %s' % ' '.join(deps) + else: +@@ -590,7 +590,7 @@ def main(argv): + + for arg in argv: + name, value = arg.split('=') +- os.environ["port_" + name] = value ++ os.environ["port_" + name] = value + + # error checking helpfully provided by the exception handler + copyright_file = open('guts/COPYRIGHT') +@@ -599,9 +599,9 @@ def main(argv): + + for path in glob.glob('templates/*'): + try: +- print "Considering template: " + path ++ print "Considering template: " + path + source = TemplateFile(path) +- if source.name.endswith('.c') or source.name.endswith('.h'): ++ if source.name.endswith('.c') or source.name.endswith('.h'): + source.emit('copyright') + source.emit('header') + sources.append(source) +-- +2.10.1 + diff --git a/package/pseudo/0002-Fix-missing-parentheses-at-print.patch b/package/pseudo/0002-Fix-missing-parentheses-at-print.patch new file mode 100644 index 0000000000..b023fcf831 --- /dev/null +++ b/package/pseudo/0002-Fix-missing-parentheses-at-print.patch @@ -0,0 +1,190 @@ +From 6488a68ca715d8e18f899e536effceb548ed136e Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com> +Date: Fri, 4 Nov 2016 12:23:25 -0400 +Subject: [PATCH 2/3] Fix missing parentheses at print +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +CC="cc -pipe -std=gnu99 -Wall -W -Wextra -fPIC -D_LARGEFILE64_SOURCE -D_ATFILE_SOURCE -DPSEUDO_PREFIX='"/usr/local"' -DPSEUDO_SUFFIX='""' -DPSEUDO_BINDIR='"bin"' -DPSEUDO_LIBDIR='"lib64"' -DPSEUDO_LOCALSTATEDIR='"var/pseudo"' -DPSEUDO_VERSION='"1.8.1"' -DUSE_MEMORY_DB -DPSEUDO_PASSWD_FALLBACK='""' -DPSEUDO_XATTR_SUPPORT -O2 -g " ./makewrappers "xattr=true" + File "./makewrappers", line 459 + print port + ^ +SyntaxError: Missing parentheses in call to 'print' + +Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> +--- + maketables | 12 ++++++------ + makewrappers | 32 ++++++++++++++++---------------- + templatefile.py | 8 ++++---- + 3 files changed, 26 insertions(+), 26 deletions(-) + +diff --git a/maketables b/maketables +index b32312e..0726485 100755 +--- a/maketables ++++ b/maketables +@@ -73,7 +73,7 @@ class DataType: + for col in columns: + indexed = False + if col.startswith("FLAGS"): +- print "Flags: set for %s" % self.name ++ print("Flags: set for %s" % self.name) + self.flags = True + continue + if col.startswith("INDEXED "): +@@ -248,7 +248,7 @@ def main(): + template_file.emit('header') + templates.append(template_file) + except IOError: +- print "Invalid or malformed template %s. Aborting." % path ++ print("Invalid or malformed template %s. Aborting." % path) + exit(1) + + for filename in sys.argv[1:]: +@@ -256,15 +256,15 @@ def main(): + sys.stdout.write("%s: " % filename) + datatype = DataType(filename) + datatypes.append(datatype) +- print datatype.__repr__() +- print "" ++ print(datatype.__repr__()) ++ print("") + +- print "Writing datatypes...", ++ print("Writing datatypes...") + for datatype in datatypes: + # populate various tables and files with each datatype + for template_file in templates: + template_file.emit('body', datatype) +- print "done. Cleaning up." ++ print("done. Cleaning up.") + + for template_file in templates: + # clean up files +diff --git a/makewrappers b/makewrappers +index 303e2cc..bac856b 100755 +--- a/makewrappers ++++ b/makewrappers +@@ -456,7 +456,7 @@ additional ports to include. + self.name = port + self.subports = [] + self.preports = [] +- print port ++ print(port) + + if os.path.exists(self.portfile("pseudo_wrappers.c")): + self.wrappers = self.portfile("pseudo_wrappers.c") +@@ -504,17 +504,17 @@ additional ports to include. + prefuncs = pre.functions() + for name in prefuncs.keys(): + if name in mergedfuncs: +- print "Warning: %s from %s overriding %s" % (name, pre.name, mergedfuncs[name].port) ++ print("Warning: %s from %s overriding %s" % (name, pre.name, mergedfuncs[name].port)) + mergedfuncs[name] = prefuncs[name] + for name in self.funcs.keys(): + if name in mergedfuncs: +- print "Warning: %s from %s overriding %s" % (name, self.name, mergedfuncs[name].port) ++ print("Warning: %s from %s overriding %s" % (name, self.name, mergedfuncs[name].port)) + mergedfuncs[name] = self.funcs[name] + for sub in self.subports: + subfuncs = sub.functions() + for name in subfuncs.keys(): + if name in mergedfuncs: +- print "Warning: %s from %s overriding %s" % (name, sub.name, mergedfuncs[name].port) ++ print("Warning: %s from %s overriding %s" % (name, sub.name, mergedfuncs[name].port)) + mergedfuncs[name] = subfuncs[name] + return mergedfuncs + +@@ -576,11 +576,11 @@ def process_wrapfuncs(port): + func.directory = directory + funcs[func.name] = func + sys.stdout.write(".") +- except Exception, e: +- print "Parsing failed:", e ++ except Exception(e): ++ print("Parsing failed:", e) + exit(1) + funclist.close() +- print "" ++ print("") + return funcs + + def main(argv): +@@ -599,35 +599,35 @@ def main(argv): + + for path in glob.glob('templates/*'): + try: +- print "Considering template: " + path ++ print("Considering template: " + path) + source = TemplateFile(path) + if source.name.endswith('.c') or source.name.endswith('.h'): + source.emit('copyright') + source.emit('header') + sources.append(source) + except IOError: +- print "Invalid or malformed template %s. Aborting." % path ++ print("Invalid or malformed template %s. Aborting." % path) + exit(1) + + try: + port = Port('common', sources) + + except KeyError: +- print "Unknown uname -s result: '%s'." % uname_s +- print "Known system types are:" +- print "%-20s %-10s %s" % ("uname -s", "port name", "description") ++ print("Unknown uname -s result: '%s'." % uname_s) ++ print("Known system types are:") ++ print("%-20s %-10s %s" % ("uname -s", "port name", "description")) + for key in host_ports: +- print "%-20s %-10s %s" % (key, host_ports[key], +- host_descrs[host_ports[key]]) ++ print("%-20s %-10s %s" % (key, host_ports[key], ++ host_descrs[host_ports[key]])) + + # the per-function stuff +- print "Writing functions...", ++ print("Writing functions...") + all_funcs = port.functions() + for name in sorted(all_funcs.keys()): + # populate various tables and files with each function + for source in sources: + source.emit('body', all_funcs[name]) +- print "done. Cleaning up." ++ print("done. Cleaning up.") + + for source in sources: + # clean up files +diff --git a/templatefile.py b/templatefile.py +index 2789b22..abf9a2c 100644 +--- a/templatefile.py ++++ b/templatefile.py +@@ -79,13 +79,13 @@ class TemplateFile: + return + path = Template(self.path).safe_substitute(item) + if os.path.exists(path): +- # print "We don't overwrite existing files." ++ # print("We don't overwrite existing files.") + return + self.file = open(path, 'w') + if not self.file: +- print "Couldn't open '%s' (expanded from %s), " \ ++ print("Couldn't open '%s' (expanded from %s), " \ + "not emitting '%s'." % \ +- (path, self.path, template) ++ (path, self.path, template)) + return + + def emit(self, template, item=None): +@@ -103,7 +103,7 @@ class TemplateFile: + self.file.write(templ.safe_substitute(item)) + self.file.write("\n") + else: +- print "Warning: Unknown template '%s'." % template ++ print("Warning: Unknown template '%s'." % template) + + if self.file_per_item: + if self.file: +-- +2.10.1 + diff --git a/package/pseudo/0003-Make-it-compatible-with-python3.patch b/package/pseudo/0003-Make-it-compatible-with-python3.patch new file mode 100644 index 0000000000..3bb74deacf --- /dev/null +++ b/package/pseudo/0003-Make-it-compatible-with-python3.patch @@ -0,0 +1,215 @@ +From fcc10b1f4a9968af5cda1adb9e449df92939d5f2 Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Ga=C3=ABl=20PORTAY?= <gael.portay@savoirfairelinux.com> +Date: Fri, 4 Nov 2016 15:58:46 -0400 +Subject: [PATCH 3/3] Make it compatible with python3 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +Python scripts are now compatible with both version of python, 2 and 3. + +Helped-by: Damien Riegel <damien.riegel@savoirfairelinux.com> +Helped-by: Alexandre Leblanc <alexandre.leblanc@savoirfairelinux.com> +Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> +--- + maketables | 135 ++++++++++++++++++++++++++++++----------------------------- + makewrappers | 8 ++-- + 2 files changed, 73 insertions(+), 70 deletions(-) + +diff --git a/maketables b/maketables +index 0726485..f74f2b1 100755 +--- a/maketables ++++ b/maketables +@@ -51,6 +51,7 @@ value. (This is for consistency with C array bounds.) + import glob + import sys + import string ++import os + from templatefile import TemplateFile + + class DataType: +@@ -58,74 +59,74 @@ class DataType: + + def __init__(self, path): + """read the first line of path, then make tuples of the rest""" +- source = file(path) +- definition = source.readline().rstrip() +- self.name, qualifiers = string.split(definition, ': ', 2) +- if '; ' in qualifiers: +- self.prefix, columns = string.split(qualifiers, '; ') +- else: +- self.prefix = qualifiers +- columns = [] +- self.flags = False +- if len(columns): +- self.columns = [] +- columns = string.split(columns, ', ') +- for col in columns: +- indexed = False +- if col.startswith("FLAGS"): +- print("Flags: set for %s" % self.name) +- self.flags = True ++ with open(path,'r') as source: ++ definition = source.readline().rstrip() ++ self.name, qualifiers = definition.split(': ', 2) ++ if '; ' in qualifiers: ++ self.prefix, columns = qualifiers.split('; ') ++ else: ++ self.prefix = qualifiers ++ columns = [] ++ self.flags = False ++ if len(columns): ++ self.columns = [] ++ columns = columns.split(', ') ++ for col in columns: ++ indexed = False ++ if col.startswith("FLAGS"): ++ print("Flags: set for %s" % self.name) ++ self.flags = True ++ continue ++ if col.startswith("INDEXED "): ++ col = col[8:] ++ indexed = True ++ if "=" in col: ++ name, default = col.split(' = ') ++ else: ++ name, default = col, "" ++ if " " in name: ++ words = name.split(' ') ++ name = words[-1] ++ del words[-1] ++ type = ' '.join(words) ++ else: ++ type = "char *" ++ self.columns.append({"indexed":indexed, "type":type, "name":name, "value":default}) ++ else: ++ self.columns = [] ++ self.data = [] ++ self.comments = [] ++ index = 1 ++ for line in source.readlines(): ++ item = {} ++ if line.startswith('#'): ++ self.comments.append(line.rstrip().replace('#', '')) + continue +- if col.startswith("INDEXED "): +- col = col[8:] +- indexed = True +- if "=" in col: +- name, default = string.split(col, ' = ') +- else: +- name, default = col, "" +- if " " in name: +- words = string.split(name, ' ') +- name = words[-1] +- del words[-1] +- type = ' '.join(words) +- else: +- type = "char *" +- self.columns.append({"indexed":indexed, "type":type, "name":name, "value":default}) +- else: +- self.columns = [] +- self.data = [] +- self.comments = [] +- index = 1 +- for line in source.readlines(): +- item = {} +- if line.startswith('#'): +- self.comments.append(line.rstrip().replace('#', '')) +- continue +- # first entry on the line is the "real" name/id, following hunks +- # are additional columns +- cols = string.split(line.rstrip(), ', ') +- item["name"] = cols.pop(0) +- item["upper"] = item["name"].replace('-', '_').upper() +- column_list = [] +- for col in self.columns: +- if len(cols) > 0: +- value = cols.pop(0) +- if col["indexed"]: +- if not "max" in col: +- col["max"] = value +- if value > col["max"]: +- col["max"] = value +- if not "min" in col: +- col["min"] = value +- if value < col["min"]: +- col["min"] = value +- column_list.append({"name":col["name"], "value":value}) +- else: +- column_list.append({"name":col["name"], "value":col["value"]}) +- item["cols"] = column_list +- item["index"] = index +- index = index + 1 +- self.data.append(item) ++ # first entry on the line is the "real" name/id, following hunks ++ # are additional columns ++ cols = line.rstrip().split(', ') ++ item["name"] = cols.pop(0) ++ item["upper"] = item["name"].replace('-', '_').upper() ++ column_list = [] ++ for col in self.columns: ++ if len(cols) > 0: ++ value = cols.pop(0) ++ if col["indexed"]: ++ if not "max" in col: ++ col["max"] = value ++ if value > col["max"]: ++ col["max"] = value ++ if not "min" in col: ++ col["min"] = value ++ if value < col["min"]: ++ col["min"] = value ++ column_list.append({"name":col["name"], "value":value}) ++ else: ++ column_list.append({"name":col["name"], "value":col["value"]}) ++ item["cols"] = column_list ++ item["index"] = index ++ index = index + 1 ++ self.data.append(item) + + def __getitem__(self, key): + """Make this object look like a dict for Templates to use""" +diff --git a/makewrappers b/makewrappers +index bac856b..ff08ba0 100755 +--- a/makewrappers ++++ b/makewrappers +@@ -453,6 +453,8 @@ additional ports to include. + """ + + def __init__(self, port, sources): ++ if type(port) is not str: ++ port = str(port, encoding="ascii") + self.name = port + self.subports = [] + self.preports = [] +@@ -483,7 +485,7 @@ additional ports to include. + if retcode: + raise Exception("preports script failed for port %s" % self.name) + +- for preport in string.split(portlist): ++ for preport in portlist.split(): + next = Port(preport, sources) + self.preports.append(next) + +@@ -494,7 +496,7 @@ additional ports to include. + if retcode: + raise Exception("subports script failed for port %s" % self.name) + +- for subport in string.split(portlist): ++ for subport in portlist.split(): + next = Port(subport, sources) + self.subports.append(next) + +@@ -519,7 +521,7 @@ additional ports to include. + return mergedfuncs + + def define(self): +- return '#define PSEUDO_PORT_%s 1' % string.upper(self.name).replace('/', '_') ++ return '#define PSEUDO_PORT_%s 1' % self.name.upper().replace('/', '_') + + def portdeps(self): + deps = [] +-- +2.10.1 + diff --git a/package/pseudo/pseudo.hash b/package/pseudo/pseudo.hash index 5822d0e6f3..1553a293fd 100644 --- a/package/pseudo/pseudo.hash +++ b/package/pseudo/pseudo.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 d7767c9a73b0df4f1f26952cf5eca4c6ff6fc4bc5ef15a904ea3839c70161936 pseudo-7abc9396731149df5eaf43c84fed4f3053b64de6.tar.gz +sha256 7d4b767302f118fa1c3f89b551cf3f3f2aa92721dab86ff62f0600a394b8a81a pseudo-45eca34c754d416a38bee90fb2d3c110a0b6cc5f.tar.gz diff --git a/package/pseudo/pseudo.mk b/package/pseudo/pseudo.mk index e2c56fff06..8144cca825 100644 --- a/package/pseudo/pseudo.mk +++ b/package/pseudo/pseudo.mk @@ -4,7 +4,7 @@ # ################################################################################ -PSEUDO_VERSION = 7abc9396731149df5eaf43c84fed4f3053b64de6 +PSEUDO_VERSION = 45eca34c754d416a38bee90fb2d3c110a0b6cc5f PSEUDO_SITE = https://git.yoctoproject.org/git/pseudo PSEUDO_SITE_METHOD = git @@ -12,17 +12,18 @@ PSEUDO_SITE_METHOD = git PSEUDO_LICENSE = LGPLv2.1 PSEUDO_LICENSE_FILES = COPYING -HOST_PSEUDO_DEPENDENCIES = host-sqlite +HOST_PSEUDO_DEPENDENCIES = host-attr host-sqlite # configure script is not generated by autoconf, so passing --libdir # is necessary, even if the infrastructure passes --prefix already. +# It also does not use CFLAGS from the environment, they need to be +# specified with a custom --cflags option. Also force rpath to avoid +# a warning at configure time. HOST_PSEUDO_CONF_OPTS = \ + --cflags="$(HOSTCFLAGS)" \ + --with-rpath=$(HOST_DIR)/usr/lib \ + --bits=$(if $(filter %64,$(HOSTARCH)),64,32) \ --libdir=$(HOST_DIR)/usr/lib \ --with-sqlite=$(HOST_DIR)/usr -define HOST_PSEUDO_FAKEROOT_SYMLINK - ln -sf pseudo $(HOST_DIR)/usr/bin/fakeroot -endef -HOST_PSEUDO_POST_INSTALL_HOOKS += HOST_PSEUDO_FAKEROOT_SYMLINK - $(eval $(host-autotools-package)) diff --git a/package/ptpd2/ptpd2.mk b/package/ptpd2/ptpd2.mk index da6a10684b..d53b13534c 100644 --- a/package/ptpd2/ptpd2.mk +++ b/package/ptpd2/ptpd2.mk @@ -24,6 +24,12 @@ else PTPD2_CONF_OPTS += --disable-snmp endif +# GCC bug with Os/O1/O2/O3 +# internal compiler error: in gen_add2_insn, at optabs.c:4454 +ifeq ($(BR2_bfin),y) +PTPD2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -O0" +endif + define PTPD2_INSTALL_INIT_SYSV $(INSTALL) -m 755 -D package/ptpd2/S65ptpd2 \ $(TARGET_DIR)/etc/init.d/S65ptpd2 diff --git a/package/python/python.mk b/package/python/python.mk index cc65376837..cfd5a0af12 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -140,6 +140,13 @@ PYTHON_CONF_ENV += \ ac_cv_prog_HAS_HG=/bin/false \ ac_cv_prog_SVNVERSION=/bin/false +# GCC is always compliant with IEEE754 +ifeq ($(BR2_ENDIAN),"LITTLE") +PYTHON_CONF_ENV += ac_cv_little_endian_double=yes +else +PYTHON_CONF_ENV += ac_cv_big_endian_double=yes +endif + PYTHON_CONF_OPTS += \ --without-cxx-main \ --without-doc-strings \ diff --git a/package/python3/0031-Add-an-option-to-disable-openssl.patch b/package/python3/0031-Add-an-option-to-disable-openssl.patch new file mode 100644 index 0000000000..d4375203b4 --- /dev/null +++ b/package/python3/0031-Add-an-option-to-disable-openssl.patch @@ -0,0 +1,23 @@ +From: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> +Subject: [PATCH] Add an option to disable openssl support. + +Signed-off-by: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> +--- + configure.ac | 6 ++++++ + 1 file changed, 6 insertions(+) + +--- a/configure.ac ++++ b/configure.ac +@@ -3027,6 +3027,12 @@ + DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} unicodedata" + fi]) + ++AC_ARG_ENABLE(openssl, ++ AS_HELP_STRING([--disable-openssl], [disable openssl support]), ++ [ if test "$enableval" = "no"; then ++ DISABLED_EXTENSIONS="${DISABLED_EXTENSIONS} ssl _ssl _hashlib" ++ fi]) ++ + AC_SUBST(TK) + AC_ARG_ENABLE(tk, + AS_HELP_STRING([--disable-tk], [disable tk]), diff --git a/package/python3/python3.mk b/package/python3/python3.mk index b3f31c0aa0..8bfae79f58 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -36,7 +36,8 @@ HOST_PYTHON3_CONF_OPTS += \ --enable-unicodedata \ --disable-test-modules \ --disable-idle3 \ - --disable-ossaudiodev + --disable-ossaudiodev \ + --disable-openssl # Make sure that LD_LIBRARY_PATH overrides -rpath. # This is needed because libpython may be installed at the same time that @@ -126,6 +127,13 @@ PYTHON3_CONF_ENV += \ ac_cv_working_tzset=yes \ ac_cv_prog_HAS_HG=/bin/false +# GCC is always compliant with IEEE754 +ifeq ($(BR2_ENDIAN),"LITTLE") +PYTHON3_CONF_ENV += ac_cv_little_endian_double=yes +else +PYTHON3_CONF_ENV += ac_cv_big_endian_double=yes +endif + # uClibc is known to have a broken wcsftime() implementation, so tell # Python 3 to fall back to strftime() instead. ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y) diff --git a/package/qemu/Config.in b/package/qemu/Config.in index b9c1ca1816..f4a75fc269 100644 --- a/package/qemu/Config.in +++ b/package/qemu/Config.in @@ -70,11 +70,16 @@ comment "systems emulation needs a toolchain w/ dynamic library" config BR2_PACKAGE_QEMU_LINUX_USER bool "Enable all Linux user-land emulation" + # Incompatible "struct sigevent" definition on musl + depends on !BR2_TOOLCHAIN_USES_MUSL help Say 'y' to build all Linux user-land emulators that QEMU supports. # Note: bsd-user can not be build on Linux +comment "Linux user-land emulation needs a glibc or uClibc toolchain" + depends on BR2_TOOLCHAIN_USES_MUSL + endif # BR2_PACKAGE_QEMU_CUSTOM_TARGETS == "" config BR2_PACKAGE_QEMU_HAS_EMULS diff --git a/package/qextserialport/0002-Create-a-main-include-file-QExtSerialPort.patch b/package/qextserialport/0002-Create-a-main-include-file-QExtSerialPort.patch new file mode 100644 index 0000000000..e1d99f0fcb --- /dev/null +++ b/package/qextserialport/0002-Create-a-main-include-file-QExtSerialPort.patch @@ -0,0 +1,40 @@ +From 62fbe9c3539945df6204501b7e3ae0d51db075a3 Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Thu, 24 Nov 2016 22:30:40 +0100 +Subject: [PATCH] Create a main include file QExtSerialPort + +This main include file will be installed in +<QtExtSerialPort/QExtSerialPort> so that Qt applications can use this +library by including header files in a Qt-like style. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +[Arnout: add it to qextserialport.pri so it is installed] +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + src/QExtSerialPort | 2 ++ + src/qextserialport.pri | 3 ++- + 2 files changed, 4 insertions(+), 1 deletion(-) + create mode 100644 src/QExtSerialPort + +diff --git a/src/QExtSerialPort b/src/QExtSerialPort +new file mode 100644 +index 0000000..a48aeea +--- /dev/null ++++ b/src/QExtSerialPort +@@ -0,0 +1,2 @@ ++#include "qextserialport.h" ++#include "qextserialenumerator.h" +diff --git a/src/qextserialport.pri b/src/qextserialport.pri +index 461d56f..f8a678d 100644 +--- a/src/qextserialport.pri ++++ b/src/qextserialport.pri +@@ -3,7 +3,8 @@ +
+ PUBLIC_HEADERS += $$PWD/qextserialport.h \
+ $$PWD/qextserialenumerator.h \
+- $$PWD/qextserialport_global.h
++ $$PWD/qextserialport_global.h \
++ $$PWD/QExtSerialPort
+
+ HEADERS += $$PUBLIC_HEADERS \
+ $$PWD/qextserialport_p.h \
diff --git a/package/qextserialport/0002-main-include.patch b/package/qextserialport/0002-main-include.patch deleted file mode 100644 index 858f3354d5..0000000000 --- a/package/qextserialport/0002-main-include.patch +++ /dev/null @@ -1,15 +0,0 @@ -Create a main include file QExtSerialPort - -This main include file will be installed in -<QExtSerialPort/QExtSerialPort> so that Qt applications can use this -library by including header files in a Qt-like style. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -Index: qextserialport-ef4af2a2ee3f/src/QExtSerialPort -=================================================================== ---- /dev/null -+++ qextserialport-ef4af2a2ee3f/src/QExtSerialPort -@@ -0,0 +1,2 @@ -+#include "qextserialport.h" -+#include "qextserialenumerator.h" diff --git a/package/qextserialport/0003-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch b/package/qextserialport/0003-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch new file mode 100644 index 0000000000..09e26a961c --- /dev/null +++ b/package/qextserialport/0003-Tell-qmake-to-add-a-pkgconfig-file-to-ease-usage-wit.patch @@ -0,0 +1,28 @@ +From 14d4d3e7b5c748118acffddd397fb67b37fd5054 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> +Date: Thu, 24 Nov 2016 22:44:02 +0100 +Subject: [PATCH] Tell qmake to add a pkgconfig file to ease usage with + applications + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + qextserialport.pro | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/qextserialport.pro b/qextserialport.pro +index 8d2c03a..2fcb39c 100644 +--- a/qextserialport.pro ++++ b/qextserialport.pro +@@ -42,7 +42,8 @@ TEMPLATE=lib + include(src/qextserialport.pri) + + #create_prl is needed, otherwise, MinGW can't found libqextserialport1.a +-CONFIG += create_prl ++CONFIG += create_prl create_pc ++QMAKE_PKGCONFIG_DESTDIR = pkgconfig + + #mac framework is designed for shared library + macx:qesp_mac_framework:qesp_static: CONFIG -= qesp_static +-- +2.10.2 + diff --git a/package/qextserialport/0003-pkgconfig.patch b/package/qextserialport/0003-pkgconfig.patch deleted file mode 100644 index d67f3fcbb3..0000000000 --- a/package/qextserialport/0003-pkgconfig.patch +++ /dev/null @@ -1,19 +0,0 @@ -Add a pkgconfig file to ease usage with applications - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> - -Index: qextserialport-ef4af2a2ee3f/qextserialport.pc -=================================================================== ---- /dev/null -+++ qextserialport-ef4af2a2ee3f/qextserialport.pc -@@ -0,0 +1,10 @@ -+prefix=/usr -+exec_prefix=${prefix} -+libdir=${prefix}/lib -+includedir=${prefix}/include/QExtSerialPort -+ -+Name: QtExtSerialPort -+Description: QtExtSerialPort library -+Version: 1.2.0 -+Libs: -L${libdir} -lqextserialport -+Cflags: -I${includedir} diff --git a/package/qextserialport/qextserialport.mk b/package/qextserialport/qextserialport.mk index 39e04075b7..11009467eb 100644 --- a/package/qextserialport/qextserialport.mk +++ b/package/qextserialport/qextserialport.mk @@ -10,32 +10,36 @@ QEXTSERIALPORT_LICENSE = MIT QEXTSERIALPORT_LICENSE_FILES = LICENSE.md QEXTSERIALPORT_INSTALL_STAGING = YES +ifeq ($(BR2_STATIC_LIBS),y) +QEXTSERIALPORT_CONF_OPTS += CONFIG+=qesp_static +endif + ifeq ($(BR2_PACKAGE_QT),y) QEXTSERIALPORT_DEPENDENCIES += qt -define QEXTSERIALPORT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT_QMAKE)) -endef +QEXTSERIALPORT_QMAKE = $(QT_QMAKE) else ifeq ($(BR2_PACKAGE_QT5),y) QEXTSERIALPORT_DEPENDENCIES += qt5base +QEXTSERIALPORT_QMAKE = $(QT5_QMAKE) +endif + define QEXTSERIALPORT_CONFIGURE_CMDS - (cd $(@D); $(TARGET_MAKE_ENV) $(QT5_QMAKE)) + cd $(@D); $(TARGET_MAKE_ENV) $(QEXTSERIALPORT_QMAKE) $(QEXTSERIALPORT_CONF_OPTS) endef -endif define QEXTSERIALPORT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) endef define QEXTSERIALPORT_INSTALL_STAGING_CMDS - mkdir -p $(STAGING_DIR)/usr/include/QExtSerialPort - cp $(@D)/src/*.h $(STAGING_DIR)/usr/include/QExtSerialPort/ - cp $(@D)/src/QExtSerialPort $(STAGING_DIR)/usr/include/QExtSerialPort/ - cp -a $(@D)/*.so* $(STAGING_DIR)/usr/lib/ - cp $(@D)/qextserialport.pc $(STAGING_DIR)/usr/lib/pkgconfig/ + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install endef +ifeq ($(BR2_STATIC_LIBS),y) +QEXTSERIALPORT_INSTALL_STAGING = NO +else define QEXTSERIALPORT_INSTALL_TARGET_CMDS cp -a $(@D)/*.so.* $(TARGET_DIR)/usr/lib endef +endif $(eval $(generic-package)) diff --git a/package/qt5/qt5base/0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch b/package/qt5/qt5base/0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch new file mode 100644 index 0000000000..cbafb397bb --- /dev/null +++ b/package/qt5/qt5base/0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch @@ -0,0 +1,53 @@ +From b6c602e4264021f98ec2c72316e2a2000bf35e82 Mon Sep 17 00:00:00 2001 +From: Peter Seiderer <ps.report@gmx.net> +Date: Mon, 14 Nov 2016 23:42:25 +0100 +Subject: [PATCH] eglfs: fix eglfs_mali compile for odroid-mali + +Avoid duplicated struct fbdev_window definition (introduced by [1]) by +renaming struct fbdev_window to shadow_fbdev_window. + +Fixes the following buildroot compile failure ([2]): + +qeglfsmaliintegration.cpp:45:8: error: redefinition of 'struct fbdev_window' + struct fbdev_window { + ^ +In file included from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:28:0, + from /accts/mlweber1/rc-buildroot-test/scripts/instance-0/output/host/usr/aarch64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36, + from ../../../eglfs/qeglfsglobal.h:45, + from ../../../eglfs/qeglfsdeviceintegration.h:48, + from qeglfsmaliintegration.h:37, + from qeglfsmaliintegration.cpp:34: + +[1] https://code.qt.io/cgit/qt/qtbase.git/commit/?h=dev&id=58bed4cda98e8e25db8adc61c7db73b6853077dc +[2] http://autobuild.buildroot.net/results/48c/48c458c035162169e8ca7c34ae65e9064822f25a + +Signed-off-by: Peter Seiderer <ps.report@gmx.net> +--- + .../eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp +index 43decdf..aeba83f 100644 +--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp ++++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_mali/qeglfsmaliintegration.cpp +@@ -42,7 +42,7 @@ + + QT_BEGIN_NAMESPACE + +-struct fbdev_window { ++struct shadow_fbdev_window { + unsigned short width; + unsigned short height; + }; +@@ -85,7 +85,7 @@ EGLNativeWindowType QEglFSMaliIntegration::createNativeWindow(QPlatformWindow *w + Q_UNUSED(window); + Q_UNUSED(format); + +- fbdev_window *fbwin = reinterpret_cast<fbdev_window *>(malloc(sizeof(fbdev_window))); ++ shadow_fbdev_window *fbwin = reinterpret_cast<shadow_fbdev_window *>(malloc(sizeof(shadow_fbdev_window))); + if (NULL == fbwin) + return 0; + +-- +2.8.1 + diff --git a/package/quagga/Config.in b/package/quagga/Config.in index 56b8cad93c..4eacaf047a 100644 --- a/package/quagga/Config.in +++ b/package/quagga/Config.in @@ -25,9 +25,9 @@ config BR2_PACKAGE_QUAGGA_TCP_ZEBRA on different hosts. config BR2_PACKAGE_QUAGGA_BGPD - bool "BPGv4+ protocol" + bool "BGPv4+ protocol" help - Build bpgd daemon. + Build bgpd daemon. config BR2_PACKAGE_QUAGGA_BGP_ANNOUNCE bool "BGP route announcement" diff --git a/package/quota/0003-remove-non-posix-types.patch b/package/quota/0003-remove-non-posix-types.patch new file mode 100644 index 0000000000..869c85f23e --- /dev/null +++ b/package/quota/0003-remove-non-posix-types.patch @@ -0,0 +1,200 @@ +Use proper C99 integer types + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +[Thomas: borrowed from OpenEmbedded.] +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: quota-tools/bylabel.c +=================================================================== +--- quota-tools.orig/bylabel.c ++++ quota-tools/bylabel.c +@@ -20,6 +20,7 @@ + #include <ctype.h> + #include <fcntl.h> + #include <unistd.h> ++#include <stdint.h> + + #include "bylabel.h" + #include "common.h" +@@ -37,32 +38,32 @@ static struct uuidCache_s { + + #define EXT2_SUPER_MAGIC 0xEF53 + struct ext2_super_block { +- u_char s_dummy1[56]; +- u_char s_magic[2]; +- u_char s_dummy2[46]; +- u_char s_uuid[16]; +- u_char s_volume_name[16]; ++ uint8_t s_dummy1[56]; ++ uint8_t s_magic[2]; ++ uint8_t s_dummy2[46]; ++ uint8_t s_uuid[16]; ++ uint8_t s_volume_name[16]; + }; + +-#define ext2magic(s) ((uint) s.s_magic[0] + (((uint) s.s_magic[1]) << 8)) ++#define ext2magic(s) ((uint32_t) s.s_magic[0] + (((uint32_t) s.s_magic[1]) << 8)) + + #define XFS_SUPER_MAGIC "XFSB" + #define XFS_SUPER_MAGIC2 "BSFX" + struct xfs_super_block { +- u_char s_magic[4]; +- u_char s_dummy[28]; +- u_char s_uuid[16]; +- u_char s_dummy2[60]; +- u_char s_fsname[12]; ++ uint8_t s_magic[4]; ++ uint8_t s_dummy[28]; ++ uint8_t s_uuid[16]; ++ uint8_t s_dummy2[60]; ++ uint8_t s_fsname[12]; + }; + + #define REISER_SUPER_MAGIC "ReIsEr2Fs" + struct reiserfs_super_block { +- u_char s_dummy1[52]; +- u_char s_magic[10]; +- u_char s_dummy2[22]; +- u_char s_uuid[16]; +- u_char s_volume_name[16]; ++ uint8_t s_dummy1[52]; ++ uint8_t s_magic[10]; ++ uint8_t s_dummy2[22]; ++ uint8_t s_uuid[16]; ++ uint8_t s_volume_name[16]; + }; + + static inline unsigned short swapped(unsigned short a) +@@ -222,7 +223,7 @@ static char *get_spec_by_x(int n, const + return NULL; + } + +-static u_char fromhex(char c) ++static uint8_t fromhex(char c) + { + if (isdigit(c)) + return (c - '0'); +@@ -234,7 +235,7 @@ static u_char fromhex(char c) + + static char *get_spec_by_uuid(const char *s) + { +- u_char uuid[16]; ++ uint8_t uuid[16]; + int i; + + if (strlen(s) != 36 || s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-') +Index: quota-tools/quot.c +=================================================================== +--- quota-tools.orig/quot.c ++++ quota-tools/quot.c +@@ -47,6 +47,7 @@ + #include <utmp.h> + #include <pwd.h> + #include <grp.h> ++#include <stdint.h> + + #include "pot.h" + #include "quot.h" +@@ -56,8 +57,8 @@ + #include "quotasys.h" + + #define TSIZE 500 +-static __uint64_t sizes[TSIZE]; +-static __uint64_t overflow; ++static uint64_t sizes[TSIZE]; ++static uint64_t overflow; + + static int aflag; + static int cflag; +@@ -72,7 +73,7 @@ static time_t now; + char *progname; + + static void mounttable(void); +-static char *idname(__uint32_t, int); ++static char *idname(uint32_t, int); + static void report(const char *, const char *, int); + static void creport(const char *, const char *); + +@@ -173,7 +174,7 @@ static int qcmp(du_t * p1, du_t * p2) + static void creport(const char *file, const char *fsdir) + { + int i; +- __uint64_t t = 0; ++ uint64_t t = 0; + + printf(_("%s (%s):\n"), file, fsdir); + for (i = 0; i < TSIZE - 1; i++) +@@ -219,7 +220,7 @@ static void report(const char *file, con + } + } + +-static idcache_t *getnextent(int type, __uint32_t id, int byid) ++static idcache_t *getnextent(int type, uint32_t id, int byid) + { + struct passwd *pw; + struct group *gr; +@@ -240,7 +241,7 @@ static idcache_t *getnextent(int type, _ + return &idc; + } + +-static char *idname(__uint32_t id, int type) ++static char *idname(uint32_t id, int type) + { + idcache_t *ncp, *idp; + static idcache_t nc[2][NID]; +@@ -286,8 +287,8 @@ static void acctXFS(xfs_bstat_t *p) + { + register du_t *dp; + du_t **hp; +- __uint64_t size; +- __uint32_t i, id; ++ uint64_t size; ++ uint32_t i, id; + + if ((p->bs_mode & S_IFMT) == 0) + return; +Index: quota-tools/quot.h +=================================================================== +--- quota-tools.orig/quot.h ++++ quota-tools/quot.h +@@ -35,18 +35,18 @@ + #define SEC24HR (60*60*24) /* seconds per day */ + + typedef struct { +- __uint32_t id; ++ uint32_t id; + char name[UT_NAMESIZE + 1]; + } idcache_t; + + typedef struct du { + struct du *next; +- __uint64_t blocks; +- __uint64_t blocks30; +- __uint64_t blocks60; +- __uint64_t blocks90; +- __uint64_t nfiles; +- __uint32_t id; ++ uint64_t blocks; ++ uint64_t blocks30; ++ uint64_t blocks60; ++ uint64_t blocks90; ++ uint64_t nfiles; ++ uint32_t id; + } du_t; + + #define NDU 60000 +Index: quota-tools/rquota_server.c +=================================================================== +--- quota-tools.orig/rquota_server.c ++++ quota-tools/rquota_server.c +@@ -60,7 +60,7 @@ extern char nfs_pseudoroot[PATH_MAX]; + */ + extern struct authunix_parms *unix_cred; + +-int in_group(gid_t * gids, u_int len, gid_t gid) ++int in_group(gid_t * gids, uint32_t len, gid_t gid) + { + gid_t *gidsp = gids + len; + diff --git a/package/quota/0004-import-sys-cdefs.patch b/package/quota/0004-import-sys-cdefs.patch new file mode 100644 index 0000000000..9acd1fe4f9 --- /dev/null +++ b/package/quota/0004-import-sys-cdefs.patch @@ -0,0 +1,18 @@ +Add missing <sys/cdefs.h> include + +quota.h uses the __P definition, so it must include <sys/cdefs.h>. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/quota.h +=================================================================== +--- a/quota.h ++++ b/quota.h +@@ -2,6 +2,7 @@ + #define GUARD_QUOTA_H + + #include <sys/types.h> ++#include <sys/cdefs.h> + + typedef u_int32_t qid_t; /* Type in which we store ids in memory */ + typedef int64_t qsize_t; /* Type in which we store size limitations */ diff --git a/package/quota/0005-include-fcntl.patch b/package/quota/0005-include-fcntl.patch new file mode 100644 index 0000000000..fe7ea98831 --- /dev/null +++ b/package/quota/0005-include-fcntl.patch @@ -0,0 +1,20 @@ +Include <fcntl.h> to get loff_t definition + +Fixes the following build issue with musl: + +dqblk_v2.h:32:2: error: unknown type name ‘loff_t’ + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/dqblk_v2.h +=================================================================== +--- a/dqblk_v2.h ++++ b/dqblk_v2.h +@@ -8,6 +8,7 @@ + #define GUARD_DQBLK_V2_H + + #include <sys/types.h> ++#include <fcntl.h> + #include "quota_tree.h" + + #define Q_V2_GETQUOTA 0x0D00 /* Get limits and usage */ diff --git a/package/qwt/Config.in b/package/qwt/Config.in index dabbda2775..a678637b6c 100644 --- a/package/qwt/Config.in +++ b/package/qwt/Config.in @@ -30,6 +30,7 @@ config BR2_PACKAGE_QWT_OPENGL depends on (BR2_PACKAGE_HAS_LIBGLES && BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_QT) || \ (BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_PACKAGE_QT5) select BR2_PACKAGE_QT_OPENGL if BR2_PACKAGE_QT + select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5 select BR2_PACKAGE_QT5BASE_OPENGL_LIB if BR2_PACKAGE_QT5 endif diff --git a/package/sane-backends/0003-sane_backend-add-missing-config.h.patch b/package/sane-backends/0003-sane_backend-add-missing-config.h.patch new file mode 100644 index 0000000000..8e56b0284b --- /dev/null +++ b/package/sane-backends/0003-sane_backend-add-missing-config.h.patch @@ -0,0 +1,49 @@ +From 13aadf79659dd238b618c8be7c1de44960bd5d50 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Fri, 11 Nov 2016 22:20:03 +0100 +Subject: [PATCH] sane_backend: add missing config.h + +We should include config.h from sanei_backend.h in order to use the +correct if/else HAVE_FOO. + +For some reason with Glibc or uClibc there is no problem but with musl +we have the following weird issue: + +In file included from epsonds.h:41:0, + from epsonds-jpeg.c:18: +../include/sane/sanei_backend.h:99:33: error: expected ';', identifier or '(' before 'int' + # define sigset_t int + ^ +../include/sane/sanei_backend.h:99:33: warning: useless type name in empty declaration + +That's because HAVE_SIGPROCMASK is not defined although it's correctly +detected by the configure script. + +$ grep config.log +config.log:#define HAVE_SIGPROCMASK 1 + +So, include config.h to avoid to redefine sigset_t. + +Fixes: +http://autobuild.buildroot.net/results/9f1/9f1f1cb727b5c5407e69172280a3dee880e55cdf + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + include/sane/sanei_backend.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/sane/sanei_backend.h b/include/sane/sanei_backend.h +index 1b5afe2..2a96532 100644 +--- a/include/sane/sanei_backend.h ++++ b/include/sane/sanei_backend.h +@@ -8,6 +8,7 @@ + * @sa sanei.h sanei_thread.h + */ + ++#include "../include/sane/config.h" + + /* + * Compiler related options +-- +2.5.5 + diff --git a/package/sane-backends/Config.in b/package/sane-backends/Config.in index 8156e858dc..3e5a27ffe0 100644 --- a/package/sane-backends/Config.in +++ b/package/sane-backends/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_SANE_BACKENDS bool "sane-backends" depends on BR2_USE_MMU # fork() + depends on !BR2_STATIC_LIBS help SANE - Scanner Access Now Easy @@ -9,3 +10,7 @@ config BR2_PACKAGE_SANE_BACKENDS Backends are included automatically based on the libraries that have been selected: libusb, jpeg, tiff, avahi (with dbus and libglib2), and netsnmp. + +comment "sane-backends needs a toolchain w/ dynamic library" + depends on BR2_USE_MMU + depends on BR2_STATIC_LIBS diff --git a/package/ser2net/ser2net.mk b/package/ser2net/ser2net.mk index 8090c067bb..b33512edcb 100644 --- a/package/ser2net/ser2net.mk +++ b/package/ser2net/ser2net.mk @@ -9,6 +9,12 @@ SER2NET_SITE = http://downloads.sourceforge.net/project/ser2net/ser2net SER2NET_LICENSE = GPLv2+ SER2NET_LICENSE_FILES = COPYING +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +SER2NET_CONF_OPTS += --with-pthreads +else +SER2NET_CONF_OPTS += --without-pthreads +endif + define SER2NET_INSTALL_INIT_SYSV $(INSTALL) -D -m 755 package/ser2net/S50ser2net \ $(TARGET_DIR)/etc/init.d/S50ser2net diff --git a/package/strace/strace.mk b/package/strace/strace.mk index 385c0029cc..59418af855 100644 --- a/package/strace/strace.mk +++ b/package/strace/strace.mk @@ -10,6 +10,14 @@ STRACE_SITE = http://downloads.sourceforge.net/project/strace/strace/$(STRACE_VE STRACE_LICENSE = BSD-3c STRACE_LICENSE_FILES = COPYING +# strace bundle some kernel headers to build libmpers, this mixes userspace +# headers and kernel headers which break the build with musl. +# The stddef.h from gcc is used instead of the one from musl. +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +STRACE_CONF_OPTS += st_cv_m32_mpers=no \ + st_cv_mx32_mpers=no +endif + define STRACE_REMOVE_STRACE_GRAPH rm -f $(TARGET_DIR)/usr/bin/strace-graph endef diff --git a/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch new file mode 100644 index 0000000000..f2365ea298 --- /dev/null +++ b/package/taskd/0002-Use-correct-variables-for-GnuTLS-detection.patch @@ -0,0 +1,32 @@ +From 88fee5c6eb2271d3de6b9878cd29a0494999aa18 Mon Sep 17 00:00:00 2001 +From: "Arnout Vandecappelle (Essensium/Mind)" <arnout@mind.be> +Date: Sun, 20 Nov 2016 23:46:45 +0100 +Subject: [PATCH] Use correct variables for GnuTLS detection + +At least with recent CMake, it seems the variables created by +find_package (GnuTLS) are called PC_GNUTLS_INCLUDE_DIRS and +PC_GNUTLS_LIBRARIES. + +Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> +--- + CMakeLists.txt | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d8125d9..ccf827b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -110,8 +110,8 @@ message ("-- Looking for GnuTLS") + find_package (GnuTLS REQUIRED) + if (GNUTLS_FOUND) + set (HAVE_LIBGNUTLS true) +- set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${GNUTLS_INCLUDE_DIR}) +- set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${GNUTLS_LIBRARIES}) ++ set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${PC_GNUTLS_INCLUDE_DIRS}) ++ set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${PC_GNUTLS_LIBRARIES}) + endif (GNUTLS_FOUND) + + message ("-- Looking for libuuid") +-- +2.10.2 + diff --git a/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch b/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch new file mode 100644 index 0000000000..34139fef74 --- /dev/null +++ b/package/taskd/0003-CMakeLists-use-pkg-config-uuid-detection.patch @@ -0,0 +1,40 @@ +CMakeLists.txt: use pkg-config to detect uuid when possible + +In order to take into account the libraries used by libuuid when +building statically, using pkg-config is recommended. This patch +therefore improves the CMakeLists.txt to use pkg-config to detect +libuuid when pkg-config is available. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> + +Index: b/CMakeLists.txt +=================================================================== +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -6,6 +6,7 @@ + + include (CheckFunctionExists) + include (CheckStructHasMember) ++include (FindPkgConfig) + + set (HAVE_CMAKE true) + +@@ -119,8 +120,16 @@ + # Apple and FreeBSD include the uuid functions in their libc, rather than libuuid + check_function_exists (uuid_unparse_lower HAVE_UUID_UNPARSE_LOWER) + else (DARWIN OR FREEBSD) +- find_path (UUID_INCLUDE_DIR uuid/uuid.h) +- find_library (UUID_LIBRARY NAMES uuid) ++ if(PKG_CONFIG_FOUND) ++ pkg_check_modules(PC_UUID uuid) ++ if(PC_UUID_FOUND) ++ set (UUID_INCLUDE_DIR ${PC_UUID_INCLUDE_DIRS}) ++ set (UUID_LIBRARY ${PC_UUID_LIBRARIES}) ++ endif(PC_UUID_FOUND) ++ else(PKG_CONFIG_FOUND) ++ find_path (UUID_INCLUDE_DIR uuid/uuid.h) ++ find_library (UUID_LIBRARY NAMES uuid) ++ endif(PKG_CONFIG_FOUND) + if (UUID_INCLUDE_DIR AND UUID_LIBRARY) + set (TASKD_INCLUDE_DIRS ${TASKD_INCLUDE_DIRS} ${UUID_INCLUDE_DIR}) + set (TASKD_LIBRARIES ${TASKD_LIBRARIES} ${UUID_LIBRARY}) diff --git a/package/taskd/taskd.mk b/package/taskd/taskd.mk index 34a260ea0e..b19be68912 100644 --- a/package/taskd/taskd.mk +++ b/package/taskd/taskd.mk @@ -8,6 +8,6 @@ TASKD_VERSION = 1.1.0 TASKD_SITE = http://taskwarrior.org/download TASKD_LICENSE = MIT TASKD_LICENSE_FILES = COPYING -TASKD_DEPENDENCIES = gnutls util-linux +TASKD_DEPENDENCIES = gnutls util-linux host-pkgconf $(eval $(cmake-package)) diff --git a/package/tiff/Config.in b/package/tiff/Config.in index 6e5c176588..092a7f3fca 100644 --- a/package/tiff/Config.in +++ b/package/tiff/Config.in @@ -3,7 +3,7 @@ menuconfig BR2_PACKAGE_TIFF help Library for handling TIFF (Tag Image File Format) images. - http://www.remotesensing.org/libtiff/ + http://simplesystems.org/libtiff/ if BR2_PACKAGE_TIFF diff --git a/package/tiff/tiff.hash b/package/tiff/tiff.hash index 7ff746f6c9..4439a35f39 100644 --- a/package/tiff/tiff.hash +++ b/package/tiff/tiff.hash @@ -1,2 +1,2 @@ # Locally computed -sha256 4d57a50907b510e3049a4bba0d7888930fdfc16ce49f1bf693e5b6247370d68c tiff-4.0.6.tar.gz +sha256 9f43a2cfb9589e5cecaa66e16bf87f814c945f22df7ba600d63aac4632c4f019 tiff-4.0.7.tar.gz diff --git a/package/tiff/tiff.mk b/package/tiff/tiff.mk index a53d7bb3b8..ffb1a425cb 100644 --- a/package/tiff/tiff.mk +++ b/package/tiff/tiff.mk @@ -4,7 +4,7 @@ # ################################################################################ -TIFF_VERSION = 4.0.6 +TIFF_VERSION = 4.0.7 TIFF_SITE = http://download.osgeo.org/libtiff TIFF_LICENSE = tiff license TIFF_LICENSE_FILES = COPYRIGHT diff --git a/package/tinyalsa/tinyalsa.mk b/package/tinyalsa/tinyalsa.mk index 4cd01d5d44..87753d6f4e 100644 --- a/package/tinyalsa/tinyalsa.mk +++ b/package/tinyalsa/tinyalsa.mk @@ -16,6 +16,7 @@ endef define TINYALSA_INSTALL_STAGING_CMDS $(TARGET_MAKE_ENV) $(MAKE) \ -C $(@D) \ + PREFIX="/usr" \ CROSS_COMPILE="$(TARGET_CROSS)" \ DESTDIR="$(STAGING_DIR)" install endef @@ -23,6 +24,7 @@ endef define TINYALSA_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) \ -C $(@D) \ + PREFIX="/usr" \ CROSS_COMPILE="$(TARGET_CROSS)" \ DESTDIR="$(TARGET_DIR)" install endef diff --git a/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch b/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch new file mode 100644 index 0000000000..88559ec012 --- /dev/null +++ b/package/tinymembench/0001-arm-fix-build-on-Thumb-only-architectures.patch @@ -0,0 +1,47 @@ +From 034a3552e9700c6d424bd706db106f5bce1f5a5e Mon Sep 17 00:00:00 2001 +From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +Date: Fri, 11 Nov 2016 21:49:39 +0100 +Subject: [PATCH] arm: fix build on Thumb-only architectures + +Building tinymembench for ARM Cortex-M currently fails, because the +arm-neon.S file contains ARM code that doesn't build on Thumb-only +architectures. To account for this and fix the build for Cortex-M, +this patch adjusts the compile time condition to also verify that the +architecture supports the ARM instruction set, by testing the +__ARM_ARCH_ISA_ARM compiler define. + +Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> +--- + arm-neon.S | 2 +- + asm-opt.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arm-neon.S b/arm-neon.S +index 4db78ce..19c30ad 100644 +--- a/arm-neon.S ++++ b/arm-neon.S +@@ -21,7 +21,7 @@ + * DEALINGS IN THE SOFTWARE. + */ + +-#ifdef __arm__ ++#if defined(__arm__) && defined(__ARM_ARCH_ISA_ARM) + + .text + .fpu neon +diff --git a/asm-opt.c b/asm-opt.c +index 9da4596..eba1183 100644 +--- a/asm-opt.c ++++ b/asm-opt.c +@@ -202,7 +202,7 @@ bench_info *get_asm_framebuffer_benchmarks(void) + return empty; + } + +-#elif defined(__arm__) ++#elif defined(__arm__) && defined(__ARM_ARCH_ISA_ARM) + + #include "arm-neon.h" + +-- +2.7.4 + diff --git a/package/tremor/tremor.mk b/package/tremor/tremor.mk index 97b0ce36e4..2a791b6729 100644 --- a/package/tremor/tremor.mk +++ b/package/tremor/tremor.mk @@ -16,9 +16,17 @@ TREMOR_DEPENDENCIES = libogg # tremor has ARM assembly code that cannot be compiled in Thumb2 mode, # so we must force the traditional ARM mode. +# However, some ARM architectures like ARNv7-M only supports Thumb +# instructions, but the tremor build configuration enables ARM assembly +# code unconditionally for all arm triplets by defining _ARM_ASSEM_. +# We are overriding this by undefining this macro for the ARM +# architectures not supporting ARM instructions. ifeq ($(BR2_arm),y) -TREMOR_CONF_ENV = \ - CFLAGS="$(TARGET_CFLAGS) -marm" +ifeq ($(BR2_ARM_CPU_HAS_ARM),y) +TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -marm" +else +TREMOR_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -U_ARM_ASSEM_" +endif endif $(eval $(autotools-package)) diff --git a/package/trousers/trousers.mk b/package/trousers/trousers.mk index 3d9e0badc2..4fc949909e 100644 --- a/package/trousers/trousers.mk +++ b/package/trousers/trousers.mk @@ -18,6 +18,10 @@ ifeq ($(BR2_PACKAGE_LIBICONV),y) TROUSERS_DEPENDENCIES += libiconv endif +ifeq ($(BR2_arc770d)$(BR2_arc750d),y) +TROUSERS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mno-compact-casesi" +endif + # The TrouSerS build system attempts to create the tss user and group # on the host system. Disable the user checking feature as a # workaround. diff --git a/package/uclibc/0002-do-not-define-madvise-related-macros-for-noMMU-targe.patch b/package/uclibc/0002-do-not-define-madvise-related-macros-for-noMMU-targe.patch new file mode 100644 index 0000000000..31e763a4d6 --- /dev/null +++ b/package/uclibc/0002-do-not-define-madvise-related-macros-for-noMMU-targe.patch @@ -0,0 +1,66 @@ +From 2ca4e8dcbd35e5c6da41a195550d741ccb2f7978 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@uclibc-ng.org> +Date: Sat, 26 Nov 2016 19:47:41 +0100 +Subject: [PATCH] do not define madvise related macros for noMMU targets + +Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org> +--- + libc/sysdeps/linux/common/bits/mman-common.h | 41 +++++++++++++++------------- + 1 file changed, 22 insertions(+), 19 deletions(-) + +diff --git a/libc/sysdeps/linux/common/bits/mman-common.h b/libc/sysdeps/linux/common/bits/mman-common.h +index 6cde5da..5b20da4 100644 +--- a/libc/sysdeps/linux/common/bits/mman-common.h ++++ b/libc/sysdeps/linux/common/bits/mman-common.h +@@ -83,26 +83,29 @@ + # define MREMAP_FIXED 2 + #endif + ++/* only define for MMU targets, no-MMU does not support madvise. */ ++#ifdef __ARCH_USE_MMU__ + /* Advice to `madvise'. */ +-#ifdef __USE_BSD +-# define MADV_NORMAL 0 /* No further special treatment. */ +-# define MADV_RANDOM 1 /* Expect random page references. */ +-# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +-# define MADV_WILLNEED 3 /* Will need these pages. */ +-# define MADV_DONTNEED 4 /* Don't need these pages. */ +-# define MADV_REMOVE 9 /* Remove these pages and resources. */ +-# define MADV_DONTFORK 10 /* Do not inherit across fork. */ +-# define MADV_DOFORK 11 /* Do inherit across fork. */ +-# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */ +-# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */ +-# define MADV_HWPOISON 100 /* Poison a page for testing. */ +-#endif ++# ifdef __USE_BSD ++# define MADV_NORMAL 0 /* No further special treatment. */ ++# define MADV_RANDOM 1 /* Expect random page references. */ ++# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ ++# define MADV_WILLNEED 3 /* Will need these pages. */ ++# define MADV_DONTNEED 4 /* Don't need these pages. */ ++# define MADV_REMOVE 9 /* Remove these pages and resources. */ ++# define MADV_DONTFORK 10 /* Do not inherit across fork. */ ++# define MADV_DOFORK 11 /* Do inherit across fork. */ ++# define MADV_MERGEABLE 12 /* KSM may merge identical pages. */ ++# define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages. */ ++# define MADV_HWPOISON 100 /* Poison a page for testing. */ ++# endif + + /* The POSIX people had to invent similar names for the same things. */ +-#ifdef __USE_XOPEN2K +-# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ +-# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ +-# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ +-# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ +-# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ ++# ifdef __USE_XOPEN2K ++# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ ++# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ ++# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ ++# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ ++# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ ++# endif + #endif +-- +2.1.4 + diff --git a/package/uclibc/0003-posix_madvise-not-available-for-noMMU.patch b/package/uclibc/0003-posix_madvise-not-available-for-noMMU.patch new file mode 100644 index 0000000000..008aac75e8 --- /dev/null +++ b/package/uclibc/0003-posix_madvise-not-available-for-noMMU.patch @@ -0,0 +1,30 @@ +From 9945c6d21797553e78cbef8034f6dd16b3824df5 Mon Sep 17 00:00:00 2001 +From: Waldemar Brodkorb <wbx@openadk.org> +Date: Mon, 28 Nov 2016 07:31:00 +0100 +Subject: [PATCH] posix_madvise not available for noMMU + +Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> +--- + libc/sysdeps/linux/common/posix_madvise.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libc/sysdeps/linux/common/posix_madvise.c b/libc/sysdeps/linux/common/posix_madvise.c +index 2f95bcb..541dabe 100644 +--- a/libc/sysdeps/linux/common/posix_madvise.c ++++ b/libc/sysdeps/linux/common/posix_madvise.c +@@ -4,6 +4,7 @@ + #include <sys/mman.h> + #include <sys/syscall.h> + ++#ifdef __ARCH_USE_MMU__ + #if defined __NR_madvise && defined __USE_XOPEN2K && defined __UCLIBC_HAS_ADVANCED_REALTIME__ + int posix_madvise(void *addr, size_t len, int advice) + { +@@ -23,3 +24,4 @@ int posix_madvise(void *addr, size_t len, int advice) + return INTERNAL_SYSCALL_ERRNO (result, err); + } + #endif ++#endif +-- +2.1.4 + diff --git a/package/udisks/0002-Fix-systemd-service-file.patch b/package/udisks/0002-Fix-systemd-service-file.patch new file mode 100644 index 0000000000..ea347aef73 --- /dev/null +++ b/package/udisks/0002-Fix-systemd-service-file.patch @@ -0,0 +1,33 @@ +From bf8b4362cef24a6f747e4329305a4939c8f585d1 Mon Sep 17 00:00:00 2001 +From: David King <amigadave@amigadave.com> +Date: Thu, 2 Jul 2015 13:49:22 +0100 +Subject: [PATCH] Fix systemd service file + +udisks-daemon is installed to $(libexecdir), not $(prefix)/lib/udisks. + +https://bugzilla.redhat.com/show_bug.cgi?id=1238664 +https://bugs.freedesktop.org/show_bug.cgi?id=91191 + +[This patch has been backported from upstream: +https://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=bf8b4362cef24a6f747e4329305a4939c8f585d1] +Signed-off-by: Pieterjan Camerlynck <pieterjan.camerlynck@gmail.com> +--- + data/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 411ea0f..08af5f4 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -31,7 +31,7 @@ systemdservicedir = $(systemdsystemunitdir) + systemdservice_DATA = $(systemdservice_in_files:.service.in=.service) + + $(systemdservice_DATA): $(systemdservice_in_files) Makefile +- @sed -e "s|\@libexecdir\@|$(prefix)/lib/udisks|" $< > $@ ++ @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ + endif + + udevrulesdir = $(slashlibdir)/udev/rules.d +-- +2.7.4 + diff --git a/package/udisks/udisks.mk b/package/udisks/udisks.mk index eea79e5659..4d3ede71b1 100644 --- a/package/udisks/udisks.mk +++ b/package/udisks/udisks.mk @@ -8,6 +8,8 @@ UDISKS_VERSION = 1.0.5 UDISKS_SITE = http://hal.freedesktop.org/releases UDISKS_LICENSE = GPLv2+ UDISKS_LICENSE_FILES = COPYING +# For 0002-Fix-systemd-service-file.patch +UDISKS_AUTORECONF = YES UDISKS_DEPENDENCIES = \ sg3_utils \ diff --git a/package/valgrind/valgrind.mk b/package/valgrind/valgrind.mk index 09f711662b..087a3813af 100644 --- a/package/valgrind/valgrind.mk +++ b/package/valgrind/valgrind.mk @@ -9,7 +9,9 @@ VALGRIND_SITE = http://valgrind.org/downloads VALGRIND_SOURCE = valgrind-$(VALGRIND_VERSION).tar.bz2 VALGRIND_LICENSE = GPLv2 GFDLv1.2 VALGRIND_LICENSE_FILES = COPYING COPYING.DOCS -VALGRIND_CONF_OPTS = --disable-ubsan +VALGRIND_CONF_OPTS = \ + --disable-ubsan \ + --without-mpicc VALGRIND_INSTALL_STAGING = YES # patch 0004-Fixes-for-musl-libc.patch touching configure.ac diff --git a/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch b/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch new file mode 100644 index 0000000000..baa3a4fc84 --- /dev/null +++ b/package/weston/0002-shared-platform-include-weston-egl-ext.h-only-if-ENA.patch @@ -0,0 +1,38 @@ +From e338ced1e04bf4b97322d5eed2b5bdf5b052095a Mon Sep 17 00:00:00 2001 +From: Krzysztof Konopko <kris@youview.com> +Date: Thu, 15 Sep 2016 13:01:49 +0200 +Subject: [PATCH] shared/platform: include weston-egl-ext.h only if ENABLE_EGL + is defined + +Including `weston-egl-ext.h` causes compilation failure for configurations +with EGL disabled. + +Verified with `--disable-egl`, `--disable-x11-compositor` +and `--disable-drm-compositor`. + +Signed-off-by: Krzysztof Konopko <kris@youview.com> +Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> +[yann.morin.1998@free.fr: backported from upstream] +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> +--- + shared/platform.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/shared/platform.h b/shared/platform.h +index 1eb96fd..30db1a6 100644 +--- a/shared/platform.h ++++ b/shared/platform.h +@@ -33,9 +33,9 @@ + #include <wayland-egl.h> + #include <EGL/egl.h> + #include <EGL/eglext.h> +-#endif + + #include "weston-egl-ext.h" ++#endif + + #ifdef __cplusplus + extern "C" { +-- +2.7.4 + diff --git a/package/wget/0001-utils-rename-base64_-encode-decode.patch b/package/wget/0001-utils-rename-base64_-encode-decode.patch new file mode 100644 index 0000000000..f219afa4e2 --- /dev/null +++ b/package/wget/0001-utils-rename-base64_-encode-decode.patch @@ -0,0 +1,134 @@ +From 9e68787576fec304da23af26dca963a4cdea7765 Mon Sep 17 00:00:00 2001 +From: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +Date: Tue, 8 Nov 2016 23:42:53 +0530 +Subject: [PATCH] utils: rename base64_{encode,decode} + +When statically linking with gnutls, we get definition clash error for +base64_encode which is also defined by gnutls. + +/home/rahul.bedarkar/buildroot/output/host/usr/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgnutls.a(base64.o): In function `base64_encode': +base64.c:(.text+0x148): multiple definition of `base64_encode' +utils.o:utils.c:(.text+0x4378): first defined here +collect2: error: ld returned 1 exit status + +To prevent definition clash, rename base64_{encode,decode} + +Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com> +--- + src/http-ntlm.c | 6 +++--- + src/http.c | 4 ++-- + src/utils.c | 8 ++++---- + src/utils.h | 4 ++-- + 4 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/src/http-ntlm.c b/src/http-ntlm.c +index 56c40ae..87f5a37 100644 +--- a/src/http-ntlm.c ++++ b/src/http-ntlm.c +@@ -122,7 +122,7 @@ ntlm_input (struct ntlmdata *ntlm, const char *header) + + DEBUGP (("Received a type-2 NTLM message.\n")); + +- size = base64_decode (header, buffer); ++ size = wget_base64_decode (header, buffer); + if (size < 0) + return false; /* malformed base64 from server */ + +@@ -411,7 +411,7 @@ ntlm_output (struct ntlmdata *ntlm, const char *user, const char *passwd, + size = 32 + hostlen + domlen; + + base64 = (char *) alloca (BASE64_LENGTH (size) + 1); +- base64_encode (ntlmbuf, size, base64); ++ wget_base64_encode (ntlmbuf, size, base64); + + output = concat_strings ("NTLM ", base64, (char *) 0); + break; +@@ -584,7 +584,7 @@ ntlm_output (struct ntlmdata *ntlm, const char *user, const char *passwd, + + /* convert the binary blob into base64 */ + base64 = (char *) alloca (BASE64_LENGTH (size) + 1); +- base64_encode (ntlmbuf, size, base64); ++ wget_base64_encode (ntlmbuf, size, base64); + + output = concat_strings ("NTLM ", base64, (char *) 0); + +diff --git a/src/http.c b/src/http.c +index 7e60a07..368d30d 100644 +--- a/src/http.c ++++ b/src/http.c +@@ -2818,7 +2818,7 @@ metalink_from_http (const struct response *resp, const struct http_stat *hs, + char *bin_hash = alloca (dig_hash_str_len * 3 / 4 + 1); + size_t hash_bin_len; + +- hash_bin_len = base64_decode (dig_hash, bin_hash); ++ hash_bin_len = wget_base64_decode (dig_hash, bin_hash); + + /* One slot for me, one for zero-termination. */ + mfile->checksums = +@@ -4546,7 +4546,7 @@ basic_authentication_encode (const char *user, const char *passwd) + sprintf (t1, "%s:%s", user, passwd); + + t2 = (char *)alloca (BASE64_LENGTH (len1) + 1); +- base64_encode (t1, len1, t2); ++ wget_base64_encode (t1, len1, t2); + + return concat_strings ("Basic ", t2, (char *) 0); + } +diff --git a/src/utils.c b/src/utils.c +index b07da9f..355f0ce 100644 +--- a/src/utils.c ++++ b/src/utils.c +@@ -2140,7 +2140,7 @@ xsleep (double seconds) + base64 data. */ + + size_t +-base64_encode (const void *data, size_t length, char *dest) ++wget_base64_encode (const void *data, size_t length, char *dest) + { + /* Conversion table. */ + static const char tbl[64] = { +@@ -2208,7 +2208,7 @@ base64_encode (const void *data, size_t length, char *dest) + This function originates from Free Recode. */ + + ssize_t +-base64_decode (const char *base64, void *dest) ++wget_base64_decode (const char *base64, void *dest) + { + /* Table of base64 values for first 128 characters. Note that this + assumes ASCII (but so does Wget in other places). */ +@@ -2588,7 +2588,7 @@ wg_pubkey_pem_to_der (const char *pem, unsigned char **der, size_t *der_len) + + base64data = xmalloc (BASE64_LENGTH(stripped_pem_count)); + +- size = base64_decode (stripped_pem, base64data); ++ size = wget_base64_decode (stripped_pem, base64data); + + if (size < 0) { + xfree (base64data); /* malformed base64 from server */ +@@ -2651,7 +2651,7 @@ wg_pin_peer_pubkey (const char *pinnedpubkey, const char *pubkey, size_t pubkeyl + end_pos[0] = '\0'; + + /* decode base64 pinnedpubkey, 8 is length of "sha256//" */ +- decoded_hash_length = base64_decode (begin_pos + 8, expectedsha256sumdigest); ++ decoded_hash_length = wget_base64_decode (begin_pos + 8, expectedsha256sumdigest); + /* if valid base64, compare sha256 digests directly */ + if (SHA256_DIGEST_SIZE == decoded_hash_length && + !memcmp (sha256sumdigest, expectedsha256sumdigest, SHA256_DIGEST_SIZE)) { +diff --git a/src/utils.h b/src/utils.h +index f224b73..aaac730 100644 +--- a/src/utils.h ++++ b/src/utils.h +@@ -140,8 +140,8 @@ void xsleep (double); + /* How many bytes it will take to store LEN bytes in base64. */ + #define BASE64_LENGTH(len) (4 * (((len) + 2) / 3)) + +-size_t base64_encode (const void *, size_t, char *); +-ssize_t base64_decode (const char *, void *); ++size_t wget_base64_encode (const void *, size_t, char *); ++ssize_t wget_base64_decode (const char *, void *); + + #ifdef HAVE_LIBPCRE + void *compile_pcre_regex (const char *); +-- +2.6.2 + diff --git a/package/wget/wget.mk b/package/wget/wget.mk index 9cda76b6a2..c9efc03302 100644 --- a/package/wget/wget.mk +++ b/package/wget/wget.mk @@ -17,26 +17,17 @@ WGET_DEPENDENCIES += busybox endif ifeq ($(BR2_PACKAGE_GNUTLS),y) -WGET_CONF_OPTS += \ - --with-ssl=gnutls \ - --with-libgnutls-prefix=$(STAGING_DIR) +WGET_CONF_OPTS += --with-ssl=gnutls WGET_DEPENDENCIES += gnutls -endif - -ifeq ($(BR2_PACKAGE_OPENSSL),y) -WGET_CONF_OPTS += --with-ssl=openssl --with-libssl-prefix=$(STAGING_DIR) +else ifeq ($(BR2_PACKAGE_OPENSSL),y) +WGET_CONF_OPTS += --with-ssl=openssl WGET_DEPENDENCIES += openssl +else +WGET_CONF_OPTS += --without-ssl endif ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y) WGET_DEPENDENCIES += util-linux endif -# --with-ssl is default -ifneq ($(BR2_PACKAGE_GNUTLS),y) -ifneq ($(BR2_PACKAGE_OPENSSL),y) -WGET_CONF_OPTS += --without-ssl -endif -endif - $(eval $(autotools-package)) diff --git a/package/wireshark/wireshark.hash b/package/wireshark/wireshark.hash index 21c003ffc2..c90f5bbe0c 100644 --- a/package/wireshark/wireshark.hash +++ b/package/wireshark/wireshark.hash @@ -1,2 +1,2 @@ -# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.1.txt -sha256 900e22af04c8b35e0d02a25a360ab1fb7cfe5ac18fc48a9afd75a7103e569149 wireshark-2.2.1.tar.bz2 +# From: https://www.wireshark.org/download/src/all-versions/SIGNATURES-2.2.2.txt +sha256 f9acef5e9a9021a400b4244fafc06969f41ec594ec57fd7f0ff63bafca0055b3 wireshark-2.2.2.tar.bz2 diff --git a/package/wireshark/wireshark.mk b/package/wireshark/wireshark.mk index 227ead6a92..6a40b8e640 100644 --- a/package/wireshark/wireshark.mk +++ b/package/wireshark/wireshark.mk @@ -4,7 +4,7 @@ # ################################################################################ -WIRESHARK_VERSION = 2.2.1 +WIRESHARK_VERSION = 2.2.2 WIRESHARK_SOURCE = wireshark-$(WIRESHARK_VERSION).tar.bz2 WIRESHARK_SITE = https://www.wireshark.org/download/src/all-versions WIRESHARK_LICENSE = wireshark license diff --git a/package/x11r7/xapp_xload/xapp_xload.mk b/package/x11r7/xapp_xload/xapp_xload.mk index 1db0db5717..364d247a95 100644 --- a/package/x11r7/xapp_xload/xapp_xload.mk +++ b/package/x11r7/xapp_xload/xapp_xload.mk @@ -11,4 +11,9 @@ XAPP_XLOAD_LICENSE = MIT XAPP_XLOAD_LICENSE_FILES = COPYING XAPP_XLOAD_DEPENDENCIES = xlib_libXaw +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +# musl doesn't have rwhod.h, but xload can replace it with stubs +XAPP_XLOAD_CONF_OPTS += CFLAGS="$(TARGET_CFLAGS) -DRLOADSTUB" +endif + $(eval $(autotools-package)) diff --git a/package/x265/x265.hash b/package/x265/x265.hash index d6dec122da..92b5beaa9d 100644 --- a/package/x265/x265.hash +++ b/package/x265/x265.hash @@ -1,2 +1,2 @@ # Locally generated -sha256 88fcb9af4ba52c0757ac9c0d8cd5ec79951a22905ae886897e06954353d6a643 x265_2.1.tar.gz +sha256 3e4654133ed957a98708fdb4cb9a154d9e80922b84e26e43fc462a101c5b15c8 x265_1.9.tar.gz diff --git a/package/x265/x265.mk b/package/x265/x265.mk index ba284dacf9..e737c31375 100644 --- a/package/x265/x265.mk +++ b/package/x265/x265.mk @@ -4,7 +4,7 @@ # ################################################################################ -X265_VERSION = 2.1 +X265_VERSION = 1.9 X265_SOURCE = x265_$(X265_VERSION).tar.gz X265_SITE = https://bitbucket.org/multicoreware/x265/downloads X265_LICENSE = GPLv2+ diff --git a/package/xenomai/0001-bfin-remove-inline-keyword.patch b/package/xenomai/0001-bfin-remove-inline-keyword.patch new file mode 100644 index 0000000000..376bd21c37 --- /dev/null +++ b/package/xenomai/0001-bfin-remove-inline-keyword.patch @@ -0,0 +1,62 @@ +From 2a96c8bbe19a193d9ae6d0780fc274abc4df03e3 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@gmail.com> +Date: Sat, 5 Nov 2016 19:09:00 +0100 +Subject: [PATCH] bfin: remove inline keyword + +Xenomai user space tools fail to build for bfin target since it's +provide it's own pthread_atfork(), shm_open() and shm_unlink() +definition using the inline keyword and weak attribute. + +With gcc 5+ the weak attribute is discarded by the inline keyword, +so each symbol are global and are redefined several time while +linking. + +Fixes: +http://autobuild.buildroot.net/results/0c2/0c2e5eb4edd4f9427f61d3c9b67a12a7a0e24140 + +Patch status: upstream, +https://git.xenomai.org/xenomai-2.6.git/commit/?id=917dcebb26ec492f276cdc3b55867aa90e01fa12 + +Signed-off-by: Romain Naour <romain.naour@gmail.com> +--- + include/asm-blackfin/syscall.h | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/include/asm-blackfin/syscall.h b/include/asm-blackfin/syscall.h +index 9eda8b9..b5728b5 100644 +--- a/include/asm-blackfin/syscall.h ++++ b/include/asm-blackfin/syscall.h +@@ -132,9 +132,9 @@ static inline int __xn_interrupted_p(struct pt_regs *regs) + #define XENOMAI_SKINCALL5(id,op,a1,a2,a3,a4,a5) XENOMAI_DO_SYSCALL(5,id,op,a1,a2,a3,a4,a5) + + /* uClibc does not provide pthread_atfork() for this arch; provide it +- here. Note: let the compiler decides whether it wants to actually +- inline this routine, i.e. do not force always_inline. */ +-inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void), ++ here. ++*/ ++__attribute__((weak)) int pthread_atfork(void (*prepare)(void), + void (*parent)(void), + void (*child)(void)) + { +@@ -143,7 +143,7 @@ inline __attribute__((weak)) int pthread_atfork(void (*prepare)(void), + + #include <errno.h> + +-inline __attribute__((weak)) int shm_open(const char *name, ++__attribute__((weak)) int shm_open(const char *name, + int oflag, + mode_t mode) + { +@@ -151,7 +151,7 @@ inline __attribute__((weak)) int shm_open(const char *name, + return -1; + } + +-inline __attribute__((weak)) int shm_unlink(const char *name) ++__attribute__((weak)) int shm_unlink(const char *name) + { + errno = ENOSYS; + return -1; +-- +2.5.5 + diff --git a/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch b/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch deleted file mode 100644 index ea54c983a2..0000000000 --- a/package/xmlstarlet/0001-Fix-static-linking-problem-with-libgcrypt.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 8cee09b59a8c1ff2ebfc8c46097825d2eafdc4dd Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> -Date: Sat, 16 May 2015 17:32:13 +0200 -Subject: [PATCH] Fix static linking problem with libgcrypt - -When libgcrypt is used, it is linked with libgpg-error, so we should -also test that libgpg-error is available, and include -lgpg-error in -the LIBS variable. - -This fixes build issues like: - - CCLD xml -/home/thomas/projets/buildroot/output/host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libexslt.a(crypto.o): In function `_exsltCryptoGcryptInit': -crypto.c:(.text+0x112): undefined reference to `_gcry_check_version' -/home/thomas/projets/buildroot/output/host/usr/bfin-buildroot-uclinux-uclibc/sysroot/usr/lib/libexslt.a(crypto.o): In function `_exsltCryptoRc4DecryptFunction': -crypto.c:(.text+0x316): undefined reference to `_gcry_cipher_open' -crypto.c:(.text+0x32a): undefined reference to `_gcry_strerror' -crypto.c:(.text+0x34c): undefined reference to `_gcry_cipher_setkey' - -Which are caused by the AC_SEARCH_LIBS() test for libgcrypt to fail -due to -lgpg-error not been present in the LIBS variable. - -Note that using PKG_CHECK_MODULES() would be a much much better -replacement than this complicated handling of static libraries, but -it's a much more significant effort. - -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> ---- - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/configure.ac b/configure.ac -index 4db0129..e378996 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -125,6 +125,7 @@ AS_IF([test "x$STATIC_LIBS" != xno], - [AC_SEARCH_LIBS([libiconv_open], [iconv], [], [], "$USER_LIBS")], "$USER_LIBS") - AC_SEARCH_LIBS([clock_gettime], [rt], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([deflate], [z], [], [], "$USER_LIBS") -+ AC_SEARCH_LIBS([gpg_strerror], [gpg-error], [], [], "$USER_LIBS") - AC_SEARCH_LIBS([gcry_cipher_encrypt], [gcrypt], [], [], "$USER_LIBS") - - # Checks for inet libraries: --- -2.1.0 - diff --git a/package/xmlstarlet/xmlstarlet.mk b/package/xmlstarlet/xmlstarlet.mk index 98efd07730..61d38f29ff 100644 --- a/package/xmlstarlet/xmlstarlet.mk +++ b/package/xmlstarlet/xmlstarlet.mk @@ -8,8 +8,6 @@ XMLSTARLET_VERSION = 1.6.1 XMLSTARLET_SITE = http://downloads.sourceforge.net/project/xmlstar/xmlstarlet/$(XMLSTARLET_VERSION) XMLSTARLET_LICENSE = MIT XMLSTARLET_LICENSE_FILES = COPYING -# We're patching configure.ac -XMLSTARLET_AUTORECONF = YES XMLSTARLET_DEPENDENCIES += libxml2 libxslt \ $(if $(BR2_PACKAGE_LIBICONV),libiconv) @@ -21,7 +19,7 @@ XMLSTARLET_CONF_OPTS += \ ifeq ($(BR2_STATIC_LIBS),y) XMLSTARLET_CONF_OPTS += --enable-static-libs -XMLSTARLET_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libxml-2.0`" +XMLSTARLET_CONF_ENV = LIBS="`$(PKG_CONFIG_HOST_BINARY) --libs libxml-2.0 libexslt` $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),-lintl)" else XMLSTARLET_CONF_OPTS += --disable-static-libs endif diff --git a/support/misc/Vagrantfile b/support/misc/Vagrantfile index 5e56d5d8a1..66d9505b0f 100644 --- a/support/misc/Vagrantfile +++ b/support/misc/Vagrantfile @@ -5,7 +5,7 @@ ################################################################################ # Buildroot version to use -RELEASE='2016.08' +RELEASE='2016.11' ### Change here for more memory/cores ### VM_MEMORY=2048 diff --git a/support/misc/toolchainfile.cmake.in b/support/misc/toolchainfile.cmake.in index e095356b79..d4252dd9e7 100644 --- a/support/misc/toolchainfile.cmake.in +++ b/support/misc/toolchainfile.cmake.in @@ -25,8 +25,8 @@ set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@) # screwed up and there is nothing Buildroot can do about that :( set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "Debug CFLAGS") set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS") -set(CMAKE_C_FLAGS_RELEASE " -DNEBUG" CACHE STRING "Release CFLAGS") -set(CMAKE_CXX_FLAGS_RELEASE " -DNEBUG" CACHE STRING "Release CXXFLAGS") +set(CMAKE_C_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CFLAGS") +set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS") # Build type from the Buildroot configuration set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configuration") @@ -36,7 +36,7 @@ set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configur # want to customize the compiler/linker flags, then: # * set them all on the cmake command line, e.g.: # cmake -DCMAKE_C_FLAGS="@@TARGET_CFLAGS@@ -Dsome_custom_flag" ... -# * and make sure the project's CMake code extendsthem like this if needed: +# * and make sure the project's CMake code extends them like this if needed: # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dsome_definitions") set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@" CACHE STRING "Buildroot CFLAGS") set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "Buildroot CXXFLAGS") @@ -58,7 +58,7 @@ set(CMAKE_C_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CC@@") set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CXX@@") if(@@TOOLCHAIN_HAS_FORTRAN@@) set(CMAKE_Fortran_FLAGS_DEBUG "" CACHE STRING "Debug Fortran FLAGS") - set(CMAKE_Fortran_FLAGS_RELEASE " -DNEBUG" CACHE STRING "Release Fortran FLAGS") + set(CMAKE_Fortran_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release Fortran FLAGS") set(CMAKE_Fortran_FLAGS "@@TARGET_FCFLAGS@@" CACHE STRING "Buildroot FCFLAGS") set(CMAKE_Fortran_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_FC@@") endif() diff --git a/support/scripts/br2-external b/support/scripts/br2-external index 055dc08555..84bc334f77 100755 --- a/support/scripts/br2-external +++ b/support/scripts/br2-external @@ -1,10 +1,12 @@ #!/bin/bash set -e -# The names and locations of the br2-external trees, once validated. +# This script must be able to run with bash-3.1, so it can't use +# associative arrays. Instead, it emulates them using 'eval'. It +# can however use indexed arrays, supported since at least bash-3.0. + +# The names of the br2-external trees, once validated. declare -a BR2_EXT_NAMES -declare -A BR2_EXT_PATHS -declare -A BR2_EXT_DESCS # URL to manual for help in converting old br2-external trees. # Escape '#' so that make does not consider it a comment. @@ -68,7 +70,7 @@ do_validate() { do_validate_one() { local br2_ext="${1}" - local br2_name br2_desc n + local br2_name br2_desc n d if [ ! -d "${br2_ext}" ]; then error "'%s': no such file or directory\n" "${br2_ext}" @@ -91,9 +93,10 @@ do_validate_one() { error "'%s': name '%s' contains invalid chars: '%s'\n" \ "${br2_ext}" "${br2_name//\$/\$\$}" "${n//\$/\$\$}" fi - if [ -n "${BR2_EXT_PATHS["${br2_name}"]}" ]; then + eval d="\"\${BR2_EXT_PATHS_${br2_name}}\"" + if [ -n "${d}" ]; then error "'%s': name '%s' is already used in '%s'\n" \ - "${br2_ext}" "${br2_name}" "${BR2_EXT_PATHS["${br2_name}"]}" + "${br2_ext}" "${br2_name}" "${d}" fi br2_desc="$(sed -r -e '/^desc: +(.*)$/!d; s//\1/' "${br2_ext}/external.desc")" if [ ! -f "${br2_ext}/external.mk" ]; then @@ -105,8 +108,8 @@ do_validate_one() { # Register this br2-external tree BR2_EXT_NAMES+=( "${br2_name}" ) - BR2_EXT_PATHS["${br2_name}"]="${br2_ext}" - BR2_EXT_DESCS["${br2_name}"]="${br2_desc:-${br2_name}}" + eval BR2_EXT_PATHS_${br2_name}="\"\${br2_ext}\"" + eval BR2_EXT_DESCS_${br2_name}="\"\${br2_desc:-\${br2_name}}\"" } # Generate the .mk snippet that defines makefile variables @@ -117,13 +120,10 @@ do_mk() { printf '#\n# Automatically generated file; DO NOT EDIT.\n#\n' printf '\n' - # We can't use ${BR2_EXT_NAMES[@]} directly: it is not guaranteed - # to be in the order paths were added (because it is an associative - # array). So we need to iterate on BR2_EXT_NAMES, which is sorted - # in the order names were added (because it is an indexed array). printf 'BR2_EXTERNAL ?=' for br2_name in "${BR2_EXT_NAMES[@]}"; do - printf ' %s' "${BR2_EXT_PATHS["${br2_name}"]}" + eval br2_ext="\"\${BR2_EXT_PATHS_${br2_name}}\"" + printf ' %s' "${br2_ext}" done printf '\n' @@ -138,8 +138,8 @@ do_mk() { fi for br2_name in "${BR2_EXT_NAMES[@]}"; do - br2_desc="${BR2_EXT_DESCS["${br2_name}"]}" - br2_ext="${BR2_EXT_PATHS["${br2_name}"]}" + eval br2_desc="\"\${BR2_EXT_DESCS_${br2_name}}\"" + eval br2_ext="\"\${BR2_EXT_PATHS_${br2_name}}\"" printf '\n' printf 'BR2_EXTERNAL_NAMES += %s\n' "${br2_name}" printf 'BR2_EXTERNAL_DIRS += %s\n' "${br2_ext}" @@ -165,8 +165,8 @@ do_kconfig() { printf '\n' for br2_name in "${BR2_EXT_NAMES[@]}"; do - br2_desc="${BR2_EXT_DESCS["${br2_name}"]}" - br2_ext="${BR2_EXT_PATHS["${br2_name}"]}" + eval br2_desc="\"\${BR2_EXT_DESCS_${br2_name}}\"" + eval br2_ext="\"\${BR2_EXT_PATHS_${br2_name}}\"" if [ ${#BR2_EXT_NAMES[@]} -gt 1 ]; then printf 'menu "%s"\n' "${br2_desc}" fi diff --git a/support/scripts/get-developers b/support/scripts/get-developers index 83f1e5b9b2..40ed08ffe1 100755 --- a/support/scripts/get-developers +++ b/support/scripts/get-developers @@ -42,7 +42,7 @@ def __main__(): if args.check: files = getdeveloperlib.check_developers(devs) for f in files: - print f + print(f) # Handle the architecture action if args.architecture is not None: diff --git a/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in index 5cffa2dad3..c72f9d73ca 100644 --- a/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in +++ b/toolchain/toolchain-external/toolchain-external-musl-cross/Config.in @@ -9,7 +9,7 @@ config BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS BR2_x86_64 depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86" # Unsupported MIPS cores - depends on !BR2_mips_interaptiv && !BR2_mips_m5100 && !BR2_mips_m5101 + depends on !BR2_mips_interaptiv && !BR2_mips_m5150 # Unsupported for MIPS R6 depends on !BR2_MIPS_CPU_MIPS32R6 && !BR2_MIPS_CPU_MIPS64R6 select BR2_TOOLCHAIN_EXTERNAL_MUSL diff --git a/toolchain/toolchain-wrapper.c b/toolchain/toolchain-wrapper.c index 925d01394c..d59629b048 100644 --- a/toolchain/toolchain-wrapper.c +++ b/toolchain/toolchain-wrapper.c @@ -66,6 +66,9 @@ static char *predef_args[] = { #ifdef BR_OMIT_LOCK_PREFIX "-Wa,-momit-lock-prefix=yes", #endif +#ifdef BR_NO_FUSED_MADD + "-mno-fused-madd", +#endif #ifdef BR_BINFMT_FLAT "-Wl,-elf2flt", #endif diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index e7aa5fb829..c7b50195d3 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/toolchain/toolchain-wrapper.mk @@ -26,6 +26,11 @@ ifeq ($(BR2_x86_x1000),y) TOOLCHAIN_WRAPPER_ARGS += -DBR_OMIT_LOCK_PREFIX endif +# Avoid FPU bug on XBurst CPUs +ifeq ($(BR2_mips_xburst),y) +TOOLCHAIN_WRAPPER_ARGS += -DBR_NO_FUSED_MADD +endif + ifeq ($(BR2_CCACHE_USE_BASEDIR),y) TOOLCHAIN_WRAPPER_ARGS += -DBR_CCACHE_BASEDIR='"$(BASE_DIR)"' endif |

