mirror of
https://github.com/linux-sunxi/meta-sunxi.git
synced 2025-07-17 14:29:46 +02:00
Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
a61116a8dd | |||
88b2d34302 | |||
d1593cf467 | |||
39e6a2e6fa | |||
28aedd32a1 | |||
6e3cc4b886 | |||
be22a388db | |||
a158405aa2 | |||
ad69a52cca | |||
bb1abc02f8 | |||
ee2f6a26c1 |
@ -31,7 +31,13 @@ If you want to switch back to sunxi versions for some reasons (no device tree av
|
|||||||
|
|
||||||
If you already have built the mainline versions it might be necessary to reset the build directories with:
|
If you already have built the mainline versions it might be necessary to reset the build directories with:
|
||||||
|
|
||||||
bitbake -c clean linux u-boot
|
bitbake -c clean linux
|
||||||
|
bitbake -c clean u-boot
|
||||||
|
|
||||||
|
Also, older kernel versions such as this don't build successfully with any gcc version 5.0 or newer. Since gcc-5.2 is the current
|
||||||
|
default compiler on master, if you wish to build this kernel with master you'll need to add the following to your conf/local.conf:
|
||||||
|
|
||||||
|
GCCVERSION = "4.9%"
|
||||||
|
|
||||||
Performance
|
Performance
|
||||||
===========
|
===========
|
||||||
|
@ -27,18 +27,22 @@ IMAGE_ROOTFS_ALIGNMENT = "2048"
|
|||||||
|
|
||||||
# Use an uncompressed ext3 by default as rootfs
|
# Use an uncompressed ext3 by default as rootfs
|
||||||
SDIMG_ROOTFS_TYPE ?= "ext4"
|
SDIMG_ROOTFS_TYPE ?= "ext4"
|
||||||
SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
SDIMG_ROOTFS = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.${SDIMG_ROOTFS_TYPE}"
|
||||||
|
|
||||||
IMAGE_DEPENDS_sunxi-sdimg += " \
|
IMAGE_DEPENDS_sunxi-sdimg += " \
|
||||||
parted-native \
|
parted-native \
|
||||||
mtools-native \
|
mtools-native \
|
||||||
dosfstools-native \
|
dosfstools-native \
|
||||||
virtual/kernel:do_deploy \
|
virtual/kernel \
|
||||||
virtual/bootloader:do_deploy \
|
virtual/bootloader \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
rootfs[depends] += "virtual/kernel:do_deploy"
|
||||||
|
|
||||||
# SD card image name
|
# SD card image name
|
||||||
SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.sunxi-sdimg"
|
||||||
|
|
||||||
|
IMAGEDATESTAMP = "${@time.strftime('%Y.%m.%d',time.gmtime())}"
|
||||||
|
|
||||||
IMAGE_CMD_sunxi-sdimg () {
|
IMAGE_CMD_sunxi-sdimg () {
|
||||||
|
|
||||||
@ -70,7 +74,7 @@ IMAGE_CMD_sunxi-sdimg () {
|
|||||||
if test -n "${KERNEL_DEVICETREE}"; then
|
if test -n "${KERNEL_DEVICETREE}"; then
|
||||||
for DTS_FILE in ${KERNEL_DEVICETREE}; do
|
for DTS_FILE in ${KERNEL_DEVICETREE}; do
|
||||||
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
|
DTS_BASE_NAME=`basename ${DTS_FILE} | awk -F "." '{print $1}'`
|
||||||
if [ -e ${DEPLOY_DIR_IMAGE}/"${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
if [ -e "${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb" ]; then
|
||||||
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
kernel_bin="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin`"
|
||||||
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
|
kernel_bin_for_dtb="`readlink ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTS_BASE_NAME}.dtb | sed "s,$DTS_BASE_NAME,${MACHINE},g;s,\.dtb$,.bin,g"`"
|
||||||
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
|
if [ $kernel_bin = $kernel_bin_for_dtb ]; then
|
||||||
@ -91,8 +95,8 @@ IMAGE_CMD_sunxi-sdimg () {
|
|||||||
|
|
||||||
|
|
||||||
# Add stamp file
|
# Add stamp file
|
||||||
echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
|
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info
|
||||||
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
|
mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}//image-version-info ::
|
||||||
|
|
||||||
# Burn Partitions
|
# Burn Partitions
|
||||||
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
require conf/machine/include/sunxi.inc
|
|
||||||
require conf/machine/include/sunxi-mali.inc
|
|
||||||
require conf/machine/include/tune-cortexa7.inc
|
|
||||||
|
|
||||||
SOC_FAMILY = "sun8i"
|
|
@ -1,13 +0,0 @@
|
|||||||
#@TYPE: Machine
|
|
||||||
#@NAME: nanopi-neo
|
|
||||||
#@DESCRIPTION: Machine configuration for the FriendlyARM NanoPi Neo, based on the Allwinner H3 CPU
|
|
||||||
|
|
||||||
require conf/machine/include/sun8i.inc
|
|
||||||
|
|
||||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
|
||||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
|
||||||
|
|
||||||
KERNEL_DEVICETREE = "sun8i-h3-nanopi-neo.dtb"
|
|
||||||
UBOOT_MACHINE = "nanopi_neo_defconfig"
|
|
||||||
|
|
||||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
|
@ -5,5 +5,6 @@
|
|||||||
|
|
||||||
require conf/machine/include/sun5i.inc
|
require conf/machine/include/sun5i.inc
|
||||||
|
|
||||||
UBOOT_MACHINE = "OLIMEX-A13-SOM_config"
|
KERNEL_DEVICETREE = "sun5i-a13-olinuxino-micro.dtb"
|
||||||
SUNXI_FEX_FILE = "sys_config/a13/olimex_a13_som.fex"
|
UBOOT_MACHINE = "A13-OLinuXinoM_defconfig"
|
||||||
|
SUNXI_FEX_FILE = "sys_config/a13/a13-olinuxinom.fex"
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
#@TYPE: Machine
|
|
||||||
#@NAME: orange-pi-one
|
|
||||||
#@DESCRIPTION: Machine configuration for the orange-pi-one, base on allwinner H3 CPU
|
|
||||||
|
|
||||||
require conf/machine/include/sun8i.inc
|
|
||||||
|
|
||||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
|
||||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
|
||||||
|
|
||||||
KERNEL_DEVICETREE = "sun8i-h3-orangepi-one.dtb"
|
|
||||||
UBOOT_MACHINE = "orangepi_one_defconfig"
|
|
||||||
|
|
||||||
DEFAULTTUNE = "cortexa7hf-neon-vfpv4"
|
|
@ -4,9 +4,6 @@
|
|||||||
|
|
||||||
require conf/machine/include/sun4i.inc
|
require conf/machine/include/sun4i.inc
|
||||||
|
|
||||||
PREFERRED_VERSION_linux = "4.9.0+git%"
|
|
||||||
PREFERRED_VERSION_u-boot = "v2016.11%"
|
|
||||||
|
|
||||||
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
|
KERNEL_DEVICETREE = "sun4i-a10-pcduino.dtb"
|
||||||
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
|
UBOOT_MACHINE = "Linksprite_pcDuino_defconfig"
|
||||||
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"
|
SUNXI_FEX_FILE = "sys_config/a10/pcduino.fex"
|
||||||
|
@ -21,7 +21,6 @@ UBOOT_MACHINE_meleg = "Mele_A1000G_config"
|
|||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
|
git://github.com/linux-sunxi/u-boot-sunxi.git;protocol=git;branch=sunxi \
|
||||||
file://0002-gcc5-fixes.patch \
|
file://0002-gcc5-fixes.patch \
|
||||||
file://0003-gcc6-fixes.patch \
|
|
||||||
"
|
"
|
||||||
|
|
||||||
PE = "1"
|
PE = "1"
|
||||||
|
@ -19,23 +19,20 @@ file://Licenses/lgpl-2.1.txt;md5=4fbd65380cdd255951079008b364516c \
|
|||||||
file://Licenses/x11.txt;md5=b46f176c847b8742db02126fb8af92e2 \
|
file://Licenses/x11.txt;md5=b46f176c847b8742db02126fb8af92e2 \
|
||||||
"
|
"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||||
|
|
||||||
DEFAULT_PREFERENCE_sun4i="1"
|
DEFAULT_PREFERENCE_sun4i="1"
|
||||||
DEFAULT_PREFERENCE_sun5i="1"
|
DEFAULT_PREFERENCE_sun5i="1"
|
||||||
DEFAULT_PREFERENCE_sun7i="1"
|
DEFAULT_PREFERENCE_sun7i="1"
|
||||||
DEFAULT_PREFERENCE_sun8i="1"
|
|
||||||
|
|
||||||
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
|
SRC_URI = "git://git.denx.de/u-boot.git;branch=master \
|
||||||
file://boot.cmd"
|
file://boot.cmd"
|
||||||
|
|
||||||
SRCREV = "29e0cfb4f77f7aa369136302cee14a91e22dca71"
|
SRCREV = "df61a74e6845ec9bdcdd48d2aff5e9c2c6debeaa"
|
||||||
|
|
||||||
PV = "v2016.11+git${SRCPV}"
|
PV = "v2016.03${SRCPV}"
|
||||||
|
|
||||||
PE = "2"
|
PE = "1"
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
|
||||||
|
|
||||||
SPL_BINARY="u-boot-sunxi-with-spl.bin"
|
SPL_BINARY="u-boot-sunxi-with-spl.bin"
|
||||||
|
|
||||||
@ -43,5 +40,5 @@ UBOOT_ENV_SUFFIX = "scr"
|
|||||||
UBOOT_ENV = "boot"
|
UBOOT_ENV = "boot"
|
||||||
|
|
||||||
do_compile_append() {
|
do_compile_append() {
|
||||||
${B}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
${S}/tools/mkimage -C none -A arm -T script -d ${WORKDIR}/boot.cmd ${WORKDIR}/${UBOOT_ENV_BINARY}
|
||||||
}
|
}
|
@ -3,23 +3,13 @@ DESCRIPTION = "libGLES for the A10/A13 Allwinner processor with Mali 400 (X11)"
|
|||||||
LICENSE = "Proprietary"
|
LICENSE = "Proprietary"
|
||||||
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
|
LIC_FILES_CHKSUM = "file://README;md5=1b81a178e80ee888ee4571772699ab2c"
|
||||||
|
|
||||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||||
|
|
||||||
# These libraries shouldn't get installed in world builds unless something
|
# These libraries shouldn't get installed in world builds unless something
|
||||||
# explicitly depends upon them.
|
# explicitly depends upon them.
|
||||||
EXCLUDE_FROM_WORLD = "1"
|
EXCLUDE_FROM_WORLD = "1"
|
||||||
PROVIDES = "virtual/libgles1 virtual/libgles2 virtual/egl"
|
PROVIDES = "virtual/libgles1 virtual/libgles2 virtual/egl"
|
||||||
|
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
||||||
# There's only hardfp version available
|
|
||||||
python __anonymous() {
|
|
||||||
tunes = d.getVar("TUNE_FEATURES", True)
|
|
||||||
if not tunes:
|
|
||||||
return
|
|
||||||
if "callconvention-hard" not in tunes:
|
|
||||||
pkgn = d.getVar("PN", True)
|
|
||||||
pkgv = d.getVar("PV", True)
|
|
||||||
raise bb.parse.SkipPackage("%s-%s ONLY supports hardfp mode for now" % (pkgn, pkgv))
|
|
||||||
}
|
|
||||||
|
|
||||||
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
|
SRCREV_pn-${PN} = "d343311efc8db166d8371b28494f0f27b6a58724"
|
||||||
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
|
SRC_URI = "gitsm://github.com/linux-sunxi/sunxi-mali.git \
|
||||||
@ -89,14 +79,8 @@ do_install() {
|
|||||||
|
|
||||||
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
|
# Packages like xf86-video-fbturbo dlopen() libUMP.so, so we do need to ship the .so files in ${PN}
|
||||||
PACKAGES =+ "${PN}-test"
|
PACKAGES =+ "${PN}-test"
|
||||||
|
|
||||||
RPROVIDES_${PN} += "libGLESv2.so libEGL.so libGLESv2.so libGLESv1_CM.so libMali.so"
|
|
||||||
RDEPENDS_${PN}-test = "${PN}"
|
|
||||||
|
|
||||||
FILES_${PN} += "${libdir}/lib*.so"
|
FILES_${PN} += "${libdir}/lib*.so"
|
||||||
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
|
FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig/*"
|
||||||
FILES_${PN}-test = "${bindir}/sunximali-test"
|
FILES_${PN}-test = "${bindir}/sunximali-test"
|
||||||
|
|
||||||
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
|
# These are closed binaries generated elsewhere so don't check ldflags & text relocations
|
||||||
INSANE_SKIP_${PN} = "dev-so ldflags textrel"
|
INSANE_SKIP_${PN} = "dev-so ldflags textrel"
|
||||||
INSANE_SKIP_${PN}-test = "dev-so ldflags textrel"
|
|
||||||
|
@ -0,0 +1,79 @@
|
|||||||
|
From c525c0b5d8eada982c99442454fcf7b8364e10b3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Florian Boor <florian@kernelconcepts.de>
|
||||||
|
Date: Fri, 1 Apr 2011 23:30:21 +0200
|
||||||
|
Subject: [PATCH] Support reading coordinates from multitouch devices.
|
||||||
|
|
||||||
|
Signed-off-by: Florian Boor <florian@kernelconcepts.de>
|
||||||
|
Signed-off-by: Christopher Larson <kergoth@gmail.com>
|
||||||
|
---
|
||||||
|
plugins/input-raw.c | 33 +++++++++++++++++++++++----------
|
||||||
|
1 file changed, 23 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/plugins/input-raw.c b/plugins/input-raw.c
|
||||||
|
index 4396eab..1e48505 100644
|
||||||
|
--- a/plugins/input-raw.c
|
||||||
|
+++ b/plugins/input-raw.c
|
||||||
|
@@ -40,6 +40,11 @@
|
||||||
|
# define KEY_CNT (KEY_MAX+1)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef ABS_MT_POSITION_X
|
||||||
|
+# define ABS_MT_POSITION_X 0x35 /* Center X ellipse position */
|
||||||
|
+# define ABS_MT_POSITION_Y 0x36 /* Center Y ellipse position */
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "tslib-private.h"
|
||||||
|
|
||||||
|
#define GRAB_EVENTS_WANTED 1
|
||||||
|
@@ -160,16 +165,17 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case EV_SYN:
|
||||||
|
- /* Fill out a new complete event */
|
||||||
|
- if (pen_up) {
|
||||||
|
- samp->x = 0;
|
||||||
|
- samp->y = 0;
|
||||||
|
- samp->pressure = 0;
|
||||||
|
- pen_up = 0;
|
||||||
|
- } else {
|
||||||
|
- samp->x = i->current_x;
|
||||||
|
- samp->y = i->current_y;
|
||||||
|
- samp->pressure = i->current_p;
|
||||||
|
+ if (ev.code == SYN_REPORT) {
|
||||||
|
+ /* Fill out a new complete event */
|
||||||
|
+ if (pen_up) {
|
||||||
|
+ samp->x = 0;
|
||||||
|
+ samp->y = 0;
|
||||||
|
+ samp->pressure = 0;
|
||||||
|
+ pen_up = 0;
|
||||||
|
+ } else {
|
||||||
|
+ samp->x = i->current_x;
|
||||||
|
+ samp->y = i->current_y;
|
||||||
|
+ samp->pressure = i->current_p;
|
||||||
|
}
|
||||||
|
samp->tv = ev.time;
|
||||||
|
#ifdef DEBUG
|
||||||
|
@@ -179,6 +185,7 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||||
|
#endif /* DEBUG */
|
||||||
|
samp++;
|
||||||
|
total++;
|
||||||
|
+ }
|
||||||
|
break;
|
||||||
|
case EV_ABS:
|
||||||
|
switch (ev.code) {
|
||||||
|
@@ -188,6 +195,12 @@ static int ts_input_read(struct tslib_module_info *inf,
|
||||||
|
case ABS_Y:
|
||||||
|
i->current_y = ev.value;
|
||||||
|
break;
|
||||||
|
+ case ABS_MT_POSITION_X:
|
||||||
|
+ i->current_x = ev.value;
|
||||||
|
+ break;
|
||||||
|
+ case ABS_MT_POSITION_Y:
|
||||||
|
+ i->current_y = ev.value;
|
||||||
|
+ break;
|
||||||
|
case ABS_PRESSURE:
|
||||||
|
i->current_p = ev.value;
|
||||||
|
break;
|
||||||
|
--
|
||||||
|
1.8.1.4
|
||||||
|
|
@ -1,276 +0,0 @@
|
|||||||
From a66aaac889f09425ff0f3ddb27aca46ae02d6eea Mon Sep 17 00:00:00 2001
|
|
||||||
From: Joe Perches <joe@perches.com>
|
|
||||||
Date: Thu, 25 Jun 2015 15:01:02 -0700
|
|
||||||
Subject: [PATCH] compiler-gcc: integrate the various compiler-gcc[345].h files
|
|
||||||
|
|
||||||
As gcc major version numbers are going to advance rather rapidly in the
|
|
||||||
future, there's no real value in separate files for each compiler
|
|
||||||
version.
|
|
||||||
|
|
||||||
Deduplicate some of the macros #defined in each file too.
|
|
||||||
|
|
||||||
Neaten comments using normal kernel commenting style.
|
|
||||||
|
|
||||||
Upstream-Status: Backport
|
|
||||||
|
|
||||||
Signed-off-by: Joe Perches <joe@perches.com>
|
|
||||||
Cc: Andi Kleen <andi@firstfloor.org>
|
|
||||||
Cc: Michal Marek <mmarek@suse.cz>
|
|
||||||
Cc: Segher Boessenkool <segher@kernel.crashing.org>
|
|
||||||
Cc: Sasha Levin <levinsasha928@gmail.com>
|
|
||||||
Cc: Anton Blanchard <anton@samba.org>
|
|
||||||
Cc: Alan Modra <amodra@gmail.com>
|
|
||||||
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|
||||||
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
||||||
Signed-off-by: Jonathan Liu <net147@gmail.com>
|
|
||||||
---
|
|
||||||
include/linux/compiler-gcc.h | 120 ++++++++++++++++++++++++++++++++++++++++--
|
|
||||||
include/linux/compiler-gcc3.h | 23 --------
|
|
||||||
include/linux/compiler-gcc4.h | 74 --------------------------
|
|
||||||
3 files changed, 116 insertions(+), 101 deletions(-)
|
|
||||||
delete mode 100644 include/linux/compiler-gcc3.h
|
|
||||||
delete mode 100644 include/linux/compiler-gcc4.h
|
|
||||||
|
|
||||||
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h
|
|
||||||
index 7970e31..727add9 100644
|
|
||||||
--- a/include/linux/compiler-gcc.h
|
|
||||||
+++ b/include/linux/compiler-gcc.h
|
|
||||||
@@ -97,10 +97,122 @@
|
|
||||||
#define __maybe_unused __attribute__((unused))
|
|
||||||
#define __always_unused __attribute__((unused))
|
|
||||||
|
|
||||||
-#define __gcc_header(x) #x
|
|
||||||
-#define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
|
|
||||||
-#define gcc_header(x) _gcc_header(x)
|
|
||||||
-#include gcc_header(__GNUC__)
|
|
||||||
+/* gcc version specific checks */
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION < 30200
|
|
||||||
+# error Sorry, your compiler is too old - please upgrade it.
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION < 30300
|
|
||||||
+# define __used __attribute__((__unused__))
|
|
||||||
+#else
|
|
||||||
+# define __used __attribute__((__used__))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#ifdef CONFIG_GCOV_KERNEL
|
|
||||||
+# if GCC_VERSION < 30400
|
|
||||||
+# error "GCOV profiling support for gcc versions below 3.4 not included"
|
|
||||||
+# endif /* __GNUC_MINOR__ */
|
|
||||||
+#endif /* CONFIG_GCOV_KERNEL */
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 30400
|
|
||||||
+#define __must_check __attribute__((warn_unused_result))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 40000
|
|
||||||
+
|
|
||||||
+/* GCC 4.1.[01] miscompiles __weak */
|
|
||||||
+#ifdef __KERNEL__
|
|
||||||
+# if GCC_VERSION >= 40100 && GCC_VERSION <= 40101
|
|
||||||
+# error Your version of gcc miscompiles the __weak directive
|
|
||||||
+# endif
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#define __used __attribute__((__used__))
|
|
||||||
+#define __compiler_offsetof(a, b) \
|
|
||||||
+ __builtin_offsetof(a, b)
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 40100 && GCC_VERSION < 40600
|
|
||||||
+# define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 40300
|
|
||||||
+/* 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__ */
|
|
||||||
+#endif /* GCC_VERSION >= 40300 */
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 40500
|
|
||||||
+/*
|
|
||||||
+ * 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__))
|
|
||||||
+
|
|
||||||
+#endif /* GCC_VERSION >= 40500 */
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 40600
|
|
||||||
+/*
|
|
||||||
+ * Tell the optimizer that something else uses this function or variable.
|
|
||||||
+ */
|
|
||||||
+#define __visible __attribute__((externally_visible))
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+/*
|
|
||||||
+ * 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.
|
|
||||||
+ *
|
|
||||||
+ * (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
|
|
||||||
+#if GCC_VERSION >= 40400
|
|
||||||
+#define __HAVE_BUILTIN_BSWAP32__
|
|
||||||
+#define __HAVE_BUILTIN_BSWAP64__
|
|
||||||
+#endif
|
|
||||||
+#if GCC_VERSION >= 40800 || (defined(__powerpc__) && GCC_VERSION >= 40600)
|
|
||||||
+#define __HAVE_BUILTIN_BSWAP16__
|
|
||||||
+#endif
|
|
||||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
|
||||||
+
|
|
||||||
+#if GCC_VERSION >= 50000
|
|
||||||
+#define KASAN_ABI_VERSION 4
|
|
||||||
+#elif GCC_VERSION >= 40902
|
|
||||||
+#define KASAN_ABI_VERSION 3
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
+#endif /* gcc version >= 40000 specific checks */
|
|
||||||
|
|
||||||
#if !defined(__noclone)
|
|
||||||
#define __noclone /* not needed */
|
|
||||||
diff --git a/include/linux/compiler-gcc3.h b/include/linux/compiler-gcc3.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index 37d4124..0000000
|
|
||||||
--- a/include/linux/compiler-gcc3.h
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,23 +0,0 @@
|
|
||||||
-#ifndef __LINUX_COMPILER_H
|
|
||||||
-#error "Please don't include <linux/compiler-gcc3.h> directly, include <linux/compiler.h> instead."
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ < 2
|
|
||||||
-# error Sorry, your compiler is too old - please upgrade it.
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ >= 3
|
|
||||||
-# define __used __attribute__((__used__))
|
|
||||||
-#else
|
|
||||||
-# define __used __attribute__((__unused__))
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ >= 4
|
|
||||||
-#define __must_check __attribute__((warn_unused_result))
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#ifdef CONFIG_GCOV_KERNEL
|
|
||||||
-# if __GNUC_MINOR__ < 4
|
|
||||||
-# error "GCOV profiling support for gcc versions below 3.4 not included"
|
|
||||||
-# endif /* __GNUC_MINOR__ */
|
|
||||||
-#endif /* CONFIG_GCOV_KERNEL */
|
|
||||||
diff --git a/include/linux/compiler-gcc4.h b/include/linux/compiler-gcc4.h
|
|
||||||
deleted file mode 100644
|
|
||||||
index 91b1aa8..0000000
|
|
||||||
--- a/include/linux/compiler-gcc4.h
|
|
||||||
+++ /dev/null
|
|
||||||
@@ -1,74 +0,0 @@
|
|
||||||
-#ifndef __LINUX_COMPILER_H
|
|
||||||
-#error "Please don't include <linux/compiler-gcc4.h> directly, include <linux/compiler.h> instead."
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-/* GCC 4.1.[01] miscompiles __weak */
|
|
||||||
-#ifdef __KERNEL__
|
|
||||||
-# if __GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ <= 1
|
|
||||||
-# error Your version of gcc miscompiles the __weak directive
|
|
||||||
-# endif
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#define __used __attribute__((__used__))
|
|
||||||
-#define __must_check __attribute__((warn_unused_result))
|
|
||||||
-#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ >= 3
|
|
||||||
-/* 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 __linktime_error(message) __attribute__((__error__(message)))
|
|
||||||
-
|
|
||||||
-/*
|
|
||||||
- * 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.)
|
|
||||||
- */
|
|
||||||
-#if GCC_VERSION <= 40801
|
|
||||||
-# define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
|
||||||
-#else
|
|
||||||
-# define asm_volatile_goto(x...) do { asm goto(x); } while (0)
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ >= 5
|
|
||||||
-/*
|
|
||||||
- * 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__))
|
|
||||||
-
|
|
||||||
-#endif
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
-#if __GNUC_MINOR__ > 0
|
|
||||||
-#define __compiletime_object_size(obj) __builtin_object_size(obj, 0)
|
|
||||||
-#endif
|
|
||||||
-#if __GNUC_MINOR__ >= 4 && !defined(__CHECKER__)
|
|
||||||
-#define __compiletime_warning(message) __attribute__((warning(message)))
|
|
||||||
-#define __compiletime_error(message) __attribute__((error(message)))
|
|
||||||
-#endif
|
|
||||||
--
|
|
||||||
2.10.0
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
|||||||
diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6.h
|
Index: git/include/linux/compiler-gcc5.h
|
||||||
--- git-ORIG/include/linux/compiler-gcc6.h 1969-12-31 19:00:00.000000000 -0500
|
===================================================================
|
||||||
+++ git/include/linux/compiler-gcc6.h 2017-04-09 19:50:16.920945874 -0400
|
--- git/include/linux/compiler-gcc5.h 2015-09-19 20:11:27.999423338 +0200
|
||||||
@@ -0,0 +1,65 @@
|
+++ git/include/linux/compiler-gcc5.h 2015-09-23 10:26:05.000000000 +0200
|
||||||
|
@@ -0,0 +1,66 @@
|
||||||
+#ifndef __LINUX_COMPILER_H
|
+#ifndef __LINUX_COMPILER_H
|
||||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||||
+#endif
|
+#endif
|
||||||
@ -57,6 +58,7 @@ diff -urN git-ORIG/include/linux/compiler-gcc6.h git/include/linux/compiler-gcc6
|
|||||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||||
+ *
|
+ *
|
||||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
+ * 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.)
|
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||||
+ */
|
+ */
|
@ -12,7 +12,7 @@ SRCREV_pn-${PN} = "d47d367036be38c5180632ec8a3ad169a4593a88"
|
|||||||
MACHINE_KERNEL_PR_append = "a"
|
MACHINE_KERNEL_PR_append = "a"
|
||||||
|
|
||||||
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
|
SRC_URI += "git://github.com/linux-sunxi/linux-sunxi.git;branch=sunxi-3.4;protocol=git \
|
||||||
file://0001-compiler-gcc-integrate-the-various-compiler-gcc-345-.patch \
|
file://0001-compiler-gcc5.patch \
|
||||||
file://0002-use-static-inline-in-ARM-ftrace.patch \
|
file://0002-use-static-inline-in-ARM-ftrace.patch \
|
||||||
file://0001-gcc5-fixes.patch \
|
file://0001-gcc5-fixes.patch \
|
||||||
file://defconfig \
|
file://defconfig \
|
||||||
|
@ -2,7 +2,7 @@ SECTION = "kernel"
|
|||||||
DESCRIPTION = "Mainline Linux kernel"
|
DESCRIPTION = "Mainline Linux kernel"
|
||||||
LICENSE = "GPLv2"
|
LICENSE = "GPLv2"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||||
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i|sun8i)"
|
COMPATIBLE_MACHINE = "(sun4i|sun5i|sun7i)"
|
||||||
|
|
||||||
inherit kernel
|
inherit kernel
|
||||||
|
|
||||||
@ -18,9 +18,9 @@ DEFAULT_PREFERENCE = "-1"
|
|||||||
|
|
||||||
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
|
||||||
|
|
||||||
# 4.9.0
|
# 4.5.0
|
||||||
PV = "4.9.0+git${SRCPV}"
|
PV = "4.4+4.5.0.git${SRCPV}"
|
||||||
SRCREV_pn-${PN} = "69973b830859bc6529a7a0468ba0d80ee5117826"
|
SRCREV_pn-${PN} = "b562e44f507e863c6792946e4e1b1449fbbac85d"
|
||||||
|
|
||||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
|
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git;protocol=git;branch=master \
|
||||||
file://defconfig \
|
file://defconfig \
|
||||||
|
@ -1,14 +1,16 @@
|
|||||||
DESCRIPTION = "Tools to help hacking Allwinner A10 and A20"
|
DESCRIPTION = "Tools to help hacking Allwinner A10 and A20"
|
||||||
|
|
||||||
LICENSE = "GPLv2+"
|
LICENSE = "GPLv2+"
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=97bd67b5d0309e452b637f76e1c9a23c"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
|
||||||
|
|
||||||
PR = "r0"
|
PV = "1.0+git${SRCPV}"
|
||||||
|
PKGV = "1.0+git${GITPKGV}"
|
||||||
|
PR = "r3"
|
||||||
|
SRCREV = "568c7a0e81fc5d52189710c6d832677aa8770b16"
|
||||||
|
|
||||||
DEPENDS += "libusb"
|
DEPENDS += "libusb"
|
||||||
|
|
||||||
SRC_URI = "git://github.com/linux-sunxi/sunxi-tools;protocol=git"
|
SRC_URI = "git://github.com/linux-sunxi/sunxi-tools;protocol=git"
|
||||||
SRCREV = "9a3d62aa0c820b3dd42ba3409b2043f4143683cd"
|
|
||||||
|
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
@ -21,12 +23,12 @@ CFLAGS_class-native = "-std=c99 -D_POSIX_C_SOURCE=200112L -I./include"
|
|||||||
|
|
||||||
do_install() {
|
do_install() {
|
||||||
install -d ${D}/${bindir}
|
install -d ${D}/${bindir}
|
||||||
install -m 755 ${S}/sunxi-bootinfo ${D}/${bindir}
|
install -m 755 ${S}/bootinfo ${D}/${bindir}
|
||||||
install -m 755 ${S}/bin2fex ${D}/${bindir}
|
install -m 755 ${S}/bin2fex ${D}/${bindir}
|
||||||
install -m 755 ${S}/sunxi-fel ${D}/${bindir}
|
install -m 755 ${S}/fel ${D}/${bindir}
|
||||||
install -m 755 ${S}/fel-gpio ${D}/${bindir}
|
install -m 755 ${S}/fel-gpio ${D}/${bindir}
|
||||||
install -m 755 ${S}/fex2bin ${D}/${bindir}
|
install -m 755 ${S}/fex2bin ${D}/${bindir}
|
||||||
install -m 755 ${S}/sunxi-fexc ${D}/${bindir}
|
install -m 755 ${S}/fexc ${D}/${bindir}
|
||||||
install -m 755 ${S}/sunxi-nand-part ${D}/${bindir}
|
install -m 755 ${S}/nand-part ${D}/${bindir}
|
||||||
install -m 755 ${S}/sunxi-pio ${D}/${bindir}
|
install -m 755 ${S}/pio ${D}/${bindir}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user