diff options
author | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2016-02-09 15:10:59 +0200 |
---|---|---|
committer | Samuli Piippo <samuli.piippo@theqtcompany.com> | 2016-02-12 10:14:41 +0000 |
commit | e8a3c3509903716ebacc9e73927f586b94994574 (patch) | |
tree | 9360999cd2c869d13672190850e8c80b5d40aaa3 /meta-toradex-extras | |
parent | 5a886d5f37f22c40ab292cfd35bb625b905902f9 (diff) |
toradex: update to V2.5Beta3_20151215
Change-Id: I8d25f96bd4a2f127acf4f0eba8e8b150ec44ef42
Reviewed-by: Teemu Holappa <teemu.holappa@theqtcompany.com>
Diffstat (limited to 'meta-toradex-extras')
4 files changed, 7 insertions, 311 deletions
diff --git a/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-add-support-for-perf-registers-API.diff b/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-add-support-for-perf-registers-API.diff deleted file mode 100644 index e6f44fda..00000000 --- a/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-add-support-for-perf-registers-API.diff +++ /dev/null @@ -1,126 +0,0 @@ -From 49863894db3ed7bd41541b1c17733273966cea71 Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Thu, 26 Sep 2013 12:36:35 +0100 -Subject: [PATCH] ARM: perf: add support for perf registers API - -This patch implements the functions required for the perf registers API, -allowing the perf tool to interface kernel register dumps with libunwind -in order to provide userspace backtracing. - -Cc: Jean Pihet <jean.pihet@linaro.org> -Signed-off-by: Will Deacon <will.deacon@arm.com> ---- - arch/arm/Kconfig | 2 ++ - arch/arm/include/uapi/asm/Kbuild | 1 + - arch/arm/include/uapi/asm/perf_regs.h | 23 +++++++++++++++++++++++ - arch/arm/kernel/Makefile | 1 + - arch/arm/kernel/perf_regs.c | 30 ++++++++++++++++++++++++++++++ - 5 files changed, 57 insertions(+) - create mode 100644 arch/arm/include/uapi/asm/perf_regs.h - create mode 100644 arch/arm/kernel/perf_regs.c - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index 1ad6fb6..899d0c6 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -51,6 +51,8 @@ config ARM - select HAVE_MOD_ARCH_SPECIFIC if ARM_UNWIND - select HAVE_OPROFILE if (HAVE_PERF_EVENTS) - select HAVE_PERF_EVENTS -+ select HAVE_PERF_REGS -+ select HAVE_PERF_USER_STACK_DUMP - select HAVE_REGS_AND_STACK_ACCESS_API - select HAVE_SYSCALL_TRACEPOINTS - select HAVE_UID16 -diff --git a/arch/arm/include/uapi/asm/Kbuild b/arch/arm/include/uapi/asm/Kbuild -index 18d76fd..70a1c9d 100644 ---- a/arch/arm/include/uapi/asm/Kbuild -+++ b/arch/arm/include/uapi/asm/Kbuild -@@ -7,6 +7,7 @@ header-y += hwcap.h - header-y += ioctls.h - header-y += kvm_para.h - header-y += mman.h -+header-y += perf_regs.h - header-y += posix_types.h - header-y += ptrace.h - header-y += setup.h -diff --git a/arch/arm/include/uapi/asm/perf_regs.h b/arch/arm/include/uapi/asm/perf_regs.h -new file mode 100644 -index 0000000..ce59448 ---- /dev/null -+++ b/arch/arm/include/uapi/asm/perf_regs.h -@@ -0,0 +1,23 @@ -+#ifndef _ASM_ARM_PERF_REGS_H -+#define _ASM_ARM_PERF_REGS_H -+ -+enum perf_event_arm_regs { -+ PERF_REG_ARM_R0, -+ PERF_REG_ARM_R1, -+ PERF_REG_ARM_R2, -+ PERF_REG_ARM_R3, -+ PERF_REG_ARM_R4, -+ PERF_REG_ARM_R5, -+ PERF_REG_ARM_R6, -+ PERF_REG_ARM_R7, -+ PERF_REG_ARM_R8, -+ PERF_REG_ARM_R9, -+ PERF_REG_ARM_R10, -+ PERF_REG_ARM_FP, -+ PERF_REG_ARM_IP, -+ PERF_REG_ARM_SP, -+ PERF_REG_ARM_LR, -+ PERF_REG_ARM_PC, -+ PERF_REG_ARM_MAX, -+}; -+#endif /* _ASM_ARM_PERF_REGS_H */ -diff --git a/arch/arm/kernel/Makefile b/arch/arm/kernel/Makefile -index 5140df5f..9b818ca 100644 ---- a/arch/arm/kernel/Makefile -+++ b/arch/arm/kernel/Makefile -@@ -78,6 +78,7 @@ obj-$(CONFIG_CPU_XSC3) += xscale-cp0.o - obj-$(CONFIG_CPU_MOHAWK) += xscale-cp0.o - obj-$(CONFIG_CPU_PJ4) += pj4-cp0.o - obj-$(CONFIG_IWMMXT) += iwmmxt.o -+obj-$(CONFIG_PERF_EVENTS) += perf_regs.o - obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o perf_event_cpu.o - AFLAGS_iwmmxt.o := -Wa,-mcpu=iwmmxt - obj-$(CONFIG_ARM_CPU_TOPOLOGY) += topology.o -diff --git a/arch/arm/kernel/perf_regs.c b/arch/arm/kernel/perf_regs.c -new file mode 100644 -index 0000000..6e4379c ---- /dev/null -+++ b/arch/arm/kernel/perf_regs.c -@@ -0,0 +1,30 @@ -+ -+#include <linux/errno.h> -+#include <linux/kernel.h> -+#include <linux/perf_event.h> -+#include <linux/bug.h> -+#include <asm/perf_regs.h> -+#include <asm/ptrace.h> -+ -+u64 perf_reg_value(struct pt_regs *regs, int idx) -+{ -+ if (WARN_ON_ONCE((u32)idx >= PERF_REG_ARM_MAX)) -+ return 0; -+ -+ return regs->uregs[idx]; -+} -+ -+#define REG_RESERVED (~((1ULL << PERF_REG_ARM_MAX) - 1)) -+ -+int perf_reg_validate(u64 mask) -+{ -+ if (!mask || mask & REG_RESERVED) -+ return -EINVAL; -+ -+ return 0; -+} -+ -+u64 perf_reg_abi(struct task_struct *task) -+{ -+ return PERF_SAMPLE_REGS_ABI_32; -+} --- -1.9.1 - diff --git a/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch b/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch deleted file mode 100644 index 1e497c6e..00000000 --- a/meta-toradex-extras/recipes/linux/linux-toradex-fsl/ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch +++ /dev/null @@ -1,172 +0,0 @@ -From 8abd7519c1fd2b6ae35eddbb41f93f44d3886000 Mon Sep 17 00:00:00 2001 -From: Will Deacon <will.deacon@arm.com> -Date: Thu, 26 Sep 2013 12:36:36 +0100 -Subject: [PATCH] ARM: perf: wire up perf_regs and unwind support for ARM - -This patch hooks in the perf_regs and libunwind code for ARM. - -B2Qt: Backported for 3.10 kernel - -Cc: Jean Pihet <jean.pihet@linaro.org> -Signed-off-by: Will Deacon <will.deacon@arm.com> ---- - tools/perf/Makefile | 6 +++- - tools/perf/arch/arm/Makefile | 3 ++ - tools/perf/arch/arm/include/perf_regs.h | 54 +++++++++++++++++++++++++++++++++ - tools/perf/arch/arm/util/unwind.c | 48 +++++++++++++++++++++++++++++ - 4 files changed, 110 insertions(+), 1 deletion(-) - create mode 100644 tools/perf/arch/arm/include/perf_regs.h - create mode 100644 tools/perf/arch/arm/util/unwind.c - -diff --git a/tools/perf/Makefile b/tools/perf/Makefile -index b0f164b..f8fdad5 100644 ---- a/tools/perf/Makefile -+++ b/tools/perf/Makefile -@@ -87,6 +87,10 @@ ifeq ($(ARCH),x86_64) - NO_PERF_REGS := 0 - LIBUNWIND_LIBS = -lunwind -lunwind-x86_64 - endif -+ifeq ($(ARCH),arm) -+ NO_PERF_REGS := 0 -+ LIBUNWIND_LIBS = -lunwind -lunwind-arm -+endif - - # Treat warnings as errors unless directed not to - ifneq ($(WERROR),0) -@@ -607,7 +611,7 @@ endif # SOURCE_LIBELF - endif # NO_LIBELF - - # There's only x86 (both 32 and 64) support for CFI unwind so far --ifneq ($(ARCH),x86) -+ifeq ($(LIBUNWIND_LIBS),) - NO_LIBUNWIND := 1 - endif - -diff --git a/tools/perf/arch/arm/Makefile b/tools/perf/arch/arm/Makefile -index 15130b5..fe9b61e 100644 ---- a/tools/perf/arch/arm/Makefile -+++ b/tools/perf/arch/arm/Makefile -@@ -2,3 +2,6 @@ ifndef NO_DWARF - PERF_HAVE_DWARF_REGS := 1 - LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/dwarf-regs.o - endif -+ifndef NO_LIBUNWIND -+LIB_OBJS += $(OUTPUT)arch/$(ARCH)/util/unwind.o -+endif -diff --git a/tools/perf/arch/arm/include/perf_regs.h b/tools/perf/arch/arm/include/perf_regs.h -new file mode 100644 -index 0000000..2a1cfde ---- /dev/null -+++ b/tools/perf/arch/arm/include/perf_regs.h -@@ -0,0 +1,54 @@ -+#ifndef ARCH_PERF_REGS_H -+#define ARCH_PERF_REGS_H -+ -+#include <stdlib.h> -+#include "../../util/types.h" -+#include <asm/perf_regs.h> -+ -+#define PERF_REGS_MASK ((1ULL << PERF_REG_ARM_MAX) - 1) -+#define PERF_REG_IP PERF_REG_ARM_PC -+#define PERF_REG_SP PERF_REG_ARM_SP -+ -+static inline const char *perf_reg_name(int id) -+{ -+ switch (id) { -+ case PERF_REG_ARM_R0: -+ return "r0"; -+ case PERF_REG_ARM_R1: -+ return "r1"; -+ case PERF_REG_ARM_R2: -+ return "r2"; -+ case PERF_REG_ARM_R3: -+ return "r3"; -+ case PERF_REG_ARM_R4: -+ return "r4"; -+ case PERF_REG_ARM_R5: -+ return "r5"; -+ case PERF_REG_ARM_R6: -+ return "r6"; -+ case PERF_REG_ARM_R7: -+ return "r7"; -+ case PERF_REG_ARM_R8: -+ return "r8"; -+ case PERF_REG_ARM_R9: -+ return "r9"; -+ case PERF_REG_ARM_R10: -+ return "r10"; -+ case PERF_REG_ARM_FP: -+ return "fp"; -+ case PERF_REG_ARM_IP: -+ return "ip"; -+ case PERF_REG_ARM_SP: -+ return "sp"; -+ case PERF_REG_ARM_LR: -+ return "lr"; -+ case PERF_REG_ARM_PC: -+ return "pc"; -+ default: -+ return NULL; -+ } -+ -+ return NULL; -+} -+ -+#endif /* ARCH_PERF_REGS_H */ -diff --git a/tools/perf/arch/arm/util/unwind.c b/tools/perf/arch/arm/util/unwind.c -new file mode 100644 -index 0000000..da3dc95 ---- /dev/null -+++ b/tools/perf/arch/arm/util/unwind.c -@@ -0,0 +1,48 @@ -+ -+#include <errno.h> -+#include <libunwind.h> -+#include "perf_regs.h" -+#include "../../util/unwind.h" -+ -+int unwind__arch_reg_id(int regnum) -+{ -+ switch (regnum) { -+ case UNW_ARM_R0: -+ return PERF_REG_ARM_R0; -+ case UNW_ARM_R1: -+ return PERF_REG_ARM_R1; -+ case UNW_ARM_R2: -+ return PERF_REG_ARM_R2; -+ case UNW_ARM_R3: -+ return PERF_REG_ARM_R3; -+ case UNW_ARM_R4: -+ return PERF_REG_ARM_R4; -+ case UNW_ARM_R5: -+ return PERF_REG_ARM_R5; -+ case UNW_ARM_R6: -+ return PERF_REG_ARM_R6; -+ case UNW_ARM_R7: -+ return PERF_REG_ARM_R7; -+ case UNW_ARM_R8: -+ return PERF_REG_ARM_R8; -+ case UNW_ARM_R9: -+ return PERF_REG_ARM_R9; -+ case UNW_ARM_R10: -+ return PERF_REG_ARM_R10; -+ case UNW_ARM_R11: -+ return PERF_REG_ARM_FP; -+ case UNW_ARM_R12: -+ return PERF_REG_ARM_IP; -+ case UNW_ARM_R13: -+ return PERF_REG_ARM_SP; -+ case UNW_ARM_R14: -+ return PERF_REG_ARM_LR; -+ case UNW_ARM_R15: -+ return PERF_REG_ARM_PC; -+ default: -+ pr_err("unwind: invalid reg id %d\n", regnum); -+ return -EINVAL; -+ } -+ -+ return -EINVAL; -+} --- -1.9.1 - diff --git a/meta-toradex-extras/recipes/linux/linux-toradex-fsl_git.bbappend b/meta-toradex-extras/recipes/linux/linux-toradex-fsl_git.bbappend index 25d756f7..977ef47d 100644 --- a/meta-toradex-extras/recipes/linux/linux-toradex-fsl_git.bbappend +++ b/meta-toradex-extras/recipes/linux/linux-toradex-fsl_git.bbappend @@ -19,12 +19,6 @@ ## ############################################################################## -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI += "\ - file://ARM-perf-add-support-for-perf-registers-API.diff \ - file://ARM-perf-wire-up-perf_regs-and-unwind-support-for-AR.patch \ - " - # kernel image files are not needed in the image RDEPENDS_kernel-base = "" diff --git a/meta-toradex-extras/recipes/u-boot/u-boot-toradex-fsl/0001-Update-default-args-for-apalis-imx6.patch b/meta-toradex-extras/recipes/u-boot/u-boot-toradex-fsl/0001-Update-default-args-for-apalis-imx6.patch index 174f3b0c..b7c7d637 100644 --- a/meta-toradex-extras/recipes/u-boot/u-boot-toradex-fsl/0001-Update-default-args-for-apalis-imx6.patch +++ b/meta-toradex-extras/recipes/u-boot/u-boot-toradex-fsl/0001-Update-default-args-for-apalis-imx6.patch @@ -1,4 +1,4 @@ -From 1d5baa56ff177d7858727d1c4428096781e3817c Mon Sep 17 00:00:00 2001 +From 94531a3ecaea073316b9e4c341085ce5e277bd9f Mon Sep 17 00:00:00 2001 From: Samuli Piippo <samuli.piippo@digia.com> Date: Mon, 27 Oct 2014 14:53:25 +0200 Subject: [PATCH] Update default args for apalis imx6 @@ -10,10 +10,10 @@ disable cursor blinking. 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/include/configs/apalis_imx6.h b/include/configs/apalis_imx6.h -index 162be2e..f659384 100644 +index e7d0d20..a1d425d 100644 --- a/include/configs/apalis_imx6.h +++ b/include/configs/apalis_imx6.h -@@ -246,14 +246,14 @@ +@@ -251,14 +251,14 @@ "&& setenv dtbparam \" - ${fdt_addr_r}\" && true\0" #define SD_BOOTCMD \ @@ -24,7 +24,7 @@ index 162be2e..f659384 100644 - "setenv bootargs ${defargs} ${sdargs} ${setupargs} " \ + "setenv bootargs ${defargs} ip=off root=/dev/mmcblk${drive}p2 " \ + "rw,noatime rootfstype=ext3 rootwait ${setupargs} " \ - "${vidargs}; echo Booting from SD card in 8bit slot...; " \ + "${vidargs}; echo Booting from SD card in 8-bit slot...; " \ - "run sddtbload; load mmc 1:1 ${kernel_addr_r} " \ + "run sddtbload; load mmc ${drive}:1 ${kernel_addr_r} " \ "${boot_file} && bootm ${kernel_addr_r} ${dtbparam}\0" \ @@ -33,8 +33,8 @@ index 162be2e..f659384 100644 "${fdt_file} && setenv dtbparam \" - ${fdt_addr_r}\" && true\0" #define USB_BOOTCMD \ -@@ -273,7 +273,8 @@ - #define FDT_FILE "imx6q-apalis-eval_v1_0.dtb" +@@ -278,7 +278,8 @@ + #define FDT_FILE "imx6q-apalis_v1_0-eval.dtb" #endif #define CONFIG_EXTRA_ENV_SETTINGS \ - "bootcmd=run emmcboot ; echo ; echo emmcboot failed ; " \ @@ -43,7 +43,7 @@ index 162be2e..f659384 100644 "run nfsboot ; echo ; echo nfsboot failed ; " \ "usb start ;" \ "setenv stdout serial,vga ; setenv stdin serial,usbkbd\0" \ -@@ -292,7 +293,7 @@ +@@ -299,7 +300,7 @@ "|| setenv drive 2; load ${interface} ${drive}:1 " \ "${kernel_addr_r} flash_blk.img\0" \ "setup=setenv setupargs fec_mac=${ethaddr} " \ |