Commit 0d97f206 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM development updates from Russell King:

 - Use string choices helpers

 - Add support for HAVE_FUNCTION_GRAPH_FREGS

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
  ARM: 9457/1: ftrace: Implement HAVE_FUNCTION_GRAPH_FREGS
  ARM: 9456/1: mm: fault: use string choices helper
  ARM: 9454/1: kernel: bios32: use string choices helper
  ARM: 9451/1: mm: l2x0: use string choices helper
parents a8cdf51c 9aa791c8
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ config ARM
	select HAVE_GUP_FAST if ARM_LPAE
	select HAVE_FUNCTION_ERROR_INJECTION
	select HAVE_FUNCTION_GRAPH_TRACER
	select HAVE_FUNCTION_GRAPH_FREGS
	select HAVE_FUNCTION_TRACER if !XIP_KERNEL
	select HAVE_GCC_PLUGINS
	select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
+3 −2
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/string_choices.h>
#include <linux/init.h>
#include <linux/io.h>

@@ -337,8 +338,8 @@ void pcibios_fixup_bus(struct pci_bus *bus)
	/*
	 * Report what we did for this bus
	 */
	pr_info("PCI: bus%d: Fast back to back transfers %sabled\n",
		bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
	pr_info("PCI: bus%d: Fast back to back transfers %s\n",
		bus->number, str_enabled_disabled(features & PCI_COMMAND_FAST_BACK));
}
EXPORT_SYMBOL(pcibios_fixup_bus);

+14 −4
Original line number Diff line number Diff line
@@ -257,11 +257,21 @@ ENDPROC(ftrace_graph_regs_caller)

#ifdef CONFIG_FUNCTION_GRAPH_TRACER
ENTRY(return_to_handler)
	stmdb	sp!, {r0-r3}
	add	r0, sp, #16		@ sp at exit of instrumented routine
	mov	ip, sp				@ sp at exit of instrumented routine
	sub	sp, #PT_REGS_SIZE
	str	r0, [sp, #S_R0]
	str	r1, [sp, #S_R1]
	str	r2, [sp, #S_R2]
	str	r3, [sp, #S_R3]
	str	ip, [sp, #S_FP]
	mov	r0, sp
	bl	ftrace_return_to_handler
	mov	lr, r0				@ r0 has real ret addr
	ldmia	sp!, {r0-r3}
	ldr	r3, [sp, #S_R3]
	ldr	r2, [sp, #S_R2]
	ldr	r1, [sp, #S_R1]
	ldr	r0, [sp, #S_R0]
	add	sp, sp, #PT_REGS_SIZE		@ restore stack pointer
	ret	lr
ENDPROC(return_to_handler)
#endif
+4 −3
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@
#include <linux/io.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/string_choices.h>

#include <asm/cacheflush.h>
#include <asm/cp15.h>
@@ -667,9 +668,9 @@ static void __init l2c310_enable(void __iomem *base, unsigned num_lock)
		u32 power_ctrl;

		power_ctrl = readl_relaxed(base + L310_POWER_CTRL);
		pr_info("L2C-310 dynamic clock gating %sabled, standby mode %sabled\n",
			power_ctrl & L310_DYNAMIC_CLK_GATING_EN ? "en" : "dis",
			power_ctrl & L310_STNDBY_MODE_EN ? "en" : "dis");
		pr_info("L2C-310 dynamic clock gating %s, standby mode %s\n",
			str_enabled_disabled(power_ctrl & L310_DYNAMIC_CLK_GATING_EN),
			str_enabled_disabled(power_ctrl & L310_STNDBY_MODE_EN));
	}

	if (aux & L310_AUX_CTRL_FULL_LINE_ZERO)
+1 −2
Original line number Diff line number Diff line
@@ -135,8 +135,7 @@ static void die_kernel_fault(const char *msg, struct mm_struct *mm,
	bust_spinlocks(1);
	pr_alert("8<--- cut here ---\n");
	pr_alert("Unable to handle kernel %s at virtual address %08lx when %s\n",
		 msg, addr, fsr & FSR_LNX_PF ? "execute" :
		 fsr & FSR_WRITE ? "write" : "read");
		 msg, addr, fsr & FSR_LNX_PF ? "execute" : str_write_read(fsr & FSR_WRITE));

	show_pte(KERN_ALERT, mm, addr);
	die("Oops", regs, fsr);