ARM development for 6.18-rc1
ARM Development changes for 6.18-rc1: - Use string choices helpers - Add support for HAVE_FUNCTION_GRAPH_FREGS -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEuNNh8scc2k/wOAE+9OeQG+StrGQFAmjlInoACgkQ9OeQG+St rGRrIg/+Iy2o/dCMV5mj++6KE5ZAxLGqbqFzbQqMhSXk57kQM0A+AGVz4rcxv3bf ygharyVkx0Po2VP5ghKwhfgskrNmkhPjIKgm3jdO1yLHRwYuyXgCThXu8djNPtwY 6b3A+tFDxBW14CUmTsAXJnwlCMTpToW7fl/jwsYZFb8qYtAZRygd+k9Pr2EcSj8f H/IMUfsmZqoqGTvZCQUy9Em6WDcSZrqz6kIzOToYibhEZdAXHITpOyNofkBqGsSG hMG4yCfWSJ1+dI4p3RjQfNlTvZmQxhVb0HGT63CbWw2+DZux1uj7HGezIDib7J6M jTTzx0ajtdTGbp4ep9XVCvr2L1qHGoFggN0yZ/UpQJCmCL28HHvZ2bE55CofEP59 0YbVTWxR74KlmmTZO/RGY+vZEjoXZ0+nNjLAUYiSy9xWPExX2i/KcnjI+eYUfAOj ISLWP7+gQ9cH86Uvj+RED57+ZT8Y1xYuY6srSvbUMIAaLVFk1ir7vELY8waKtegk zRXhebMK+1n6CikwWRvxFdC6+1jMEh3OyZvOmoaumkYLNJqU+EYXj2nwC80DZI4Q RxAiWFL3fS23N/4YDDZsOTZ8WibrmuEHlnoc3sh7qDDZEOxccTU6d1vSxFCas9La R6onhAAjXTeRAavNf+4S8SHg6KMHFuAplSpDsjxi+8t0kqRwFT4= =cy0V -----END PGP SIGNATURE----- Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux 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 helperpull/1354/merge
commit
0d97f2067c
|
|
@ -108,6 +108,7 @@ config ARM
|
||||||
select HAVE_GUP_FAST if ARM_LPAE
|
select HAVE_GUP_FAST if ARM_LPAE
|
||||||
select HAVE_FUNCTION_ERROR_INJECTION
|
select HAVE_FUNCTION_ERROR_INJECTION
|
||||||
select HAVE_FUNCTION_GRAPH_TRACER
|
select HAVE_FUNCTION_GRAPH_TRACER
|
||||||
|
select HAVE_FUNCTION_GRAPH_FREGS
|
||||||
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
|
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
|
||||||
select HAVE_GCC_PLUGINS
|
select HAVE_GCC_PLUGINS
|
||||||
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
|
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
|
#include <linux/string_choices.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
|
@ -337,8 +338,8 @@ void pcibios_fixup_bus(struct pci_bus *bus)
|
||||||
/*
|
/*
|
||||||
* Report what we did for this bus
|
* Report what we did for this bus
|
||||||
*/
|
*/
|
||||||
pr_info("PCI: bus%d: Fast back to back transfers %sabled\n",
|
pr_info("PCI: bus%d: Fast back to back transfers %s\n",
|
||||||
bus->number, (features & PCI_COMMAND_FAST_BACK) ? "en" : "dis");
|
bus->number, str_enabled_disabled(features & PCI_COMMAND_FAST_BACK));
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(pcibios_fixup_bus);
|
EXPORT_SYMBOL(pcibios_fixup_bus);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -257,11 +257,21 @@ ENDPROC(ftrace_graph_regs_caller)
|
||||||
|
|
||||||
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
|
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
|
||||||
ENTRY(return_to_handler)
|
ENTRY(return_to_handler)
|
||||||
stmdb sp!, {r0-r3}
|
mov ip, sp @ sp at exit of instrumented routine
|
||||||
add r0, sp, #16 @ 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
|
bl ftrace_return_to_handler
|
||||||
mov lr, r0 @ r0 has real ret addr
|
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
|
ret lr
|
||||||
ENDPROC(return_to_handler)
|
ENDPROC(return_to_handler)
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
#include <linux/of_address.h>
|
#include <linux/of_address.h>
|
||||||
|
#include <linux/string_choices.h>
|
||||||
|
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
#include <asm/cp15.h>
|
#include <asm/cp15.h>
|
||||||
|
|
@ -667,9 +668,9 @@ static void __init l2c310_enable(void __iomem *base, unsigned num_lock)
|
||||||
u32 power_ctrl;
|
u32 power_ctrl;
|
||||||
|
|
||||||
power_ctrl = readl_relaxed(base + L310_POWER_CTRL);
|
power_ctrl = readl_relaxed(base + L310_POWER_CTRL);
|
||||||
pr_info("L2C-310 dynamic clock gating %sabled, standby mode %sabled\n",
|
pr_info("L2C-310 dynamic clock gating %s, standby mode %s\n",
|
||||||
power_ctrl & L310_DYNAMIC_CLK_GATING_EN ? "en" : "dis",
|
str_enabled_disabled(power_ctrl & L310_DYNAMIC_CLK_GATING_EN),
|
||||||
power_ctrl & L310_STNDBY_MODE_EN ? "en" : "dis");
|
str_enabled_disabled(power_ctrl & L310_STNDBY_MODE_EN));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (aux & L310_AUX_CTRL_FULL_LINE_ZERO)
|
if (aux & L310_AUX_CTRL_FULL_LINE_ZERO)
|
||||||
|
|
|
||||||
|
|
@ -135,8 +135,7 @@ static void die_kernel_fault(const char *msg, struct mm_struct *mm,
|
||||||
bust_spinlocks(1);
|
bust_spinlocks(1);
|
||||||
pr_alert("8<--- cut here ---\n");
|
pr_alert("8<--- cut here ---\n");
|
||||||
pr_alert("Unable to handle kernel %s at virtual address %08lx when %s\n",
|
pr_alert("Unable to handle kernel %s at virtual address %08lx when %s\n",
|
||||||
msg, addr, fsr & FSR_LNX_PF ? "execute" :
|
msg, addr, fsr & FSR_LNX_PF ? "execute" : str_write_read(fsr & FSR_WRITE));
|
||||||
fsr & FSR_WRITE ? "write" : "read");
|
|
||||||
|
|
||||||
show_pte(KERN_ALERT, mm, addr);
|
show_pte(KERN_ALERT, mm, addr);
|
||||||
die("Oops", regs, fsr);
|
die("Oops", regs, fsr);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue