Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44d2d371 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  sparc64: Add some more commentary to __raw_local_irq_save()
  sparc64: Fix memory leak in pci_register_iommu_region().
  sparc64: Add kmemleak annotation to sun4v_build_virq()
  sparc64: Support kmemleak.
  sparc64: Add function graph tracer support.
  sparc64: Give a stack frame to the ftrace call sites.
  sparc64: Use a seperate counter for timer interrupts and NMI checks, like x86.
  sparc64: Remove profiling from some low-level bits.
  sparc64: Kill unnecessary static on local var in ftrace_call_replace().
  sparc64: Kill CONFIG_STACK_DEBUG code.
  sparc64: Add HAVE_FUNCTION_TRACE_MCOUNT_TEST and tidy up.
  sparc64: Adjust __raw_local_irq_save() to cooperate in NMIs.
  sparc64: Use kstack_valid() in die_if_kernel().
parents 465de2ba c011f80b
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -37,6 +37,9 @@ config SPARC64
	def_bool 64BIT
	select ARCH_SUPPORTS_MSI
	select HAVE_FUNCTION_TRACER
	select HAVE_FUNCTION_GRAPH_TRACER
	select HAVE_FUNCTION_GRAPH_FP_TEST
	select HAVE_FUNCTION_TRACE_MCOUNT_TEST
	select HAVE_KRETPROBES
	select HAVE_KPROBES
	select HAVE_LMB
+1 −4
Original line number Diff line number Diff line
@@ -19,13 +19,10 @@ config DEBUG_DCFLUSH
	bool "D-cache flush debugging"
	depends on SPARC64 && DEBUG_KERNEL

config STACK_DEBUG
	bool "Stack Overflow Detection Support"

config MCOUNT
	bool
	depends on SPARC64
	depends on STACK_DEBUG || FUNCTION_TRACER
	depends on FUNCTION_TRACER
	default y

config FRAME_POINTER
+1 −1
Original line number Diff line number Diff line
@@ -17,7 +17,7 @@ typedef struct {
	unsigned int	__nmi_count;
	unsigned long	clock_tick;	/* %tick's per second */
	unsigned long	__pad;
	unsigned int	__pad1;
	unsigned int	irq0_irqs;
	unsigned int	__pad2;

	/* Dcache line 2, rarely used */
+20 −3
Original line number Diff line number Diff line
@@ -76,9 +76,26 @@ static inline int raw_irqs_disabled(void)
 */
static inline unsigned long __raw_local_irq_save(void)
{
	unsigned long flags = __raw_local_save_flags();
	unsigned long flags, tmp;

	raw_local_irq_disable();
	/* Disable interrupts to PIL_NORMAL_MAX unless we already
	 * are using PIL_NMI, in which case PIL_NMI is retained.
	 *
	 * The only values we ever program into the %pil are 0,
	 * PIL_NORMAL_MAX and PIL_NMI.
	 *
	 * Since PIL_NMI is the largest %pil value and all bits are
	 * set in it (0xf), it doesn't matter what PIL_NORMAL_MAX
	 * actually is.
	 */
	__asm__ __volatile__(
		"rdpr	%%pil, %0\n\t"
		"or	%0, %2, %1\n\t"
		"wrpr	%1, 0x0, %%pil"
		: "=r" (flags), "=r" (tmp)
		: "i" (PIL_NORMAL_MAX)
		: "memory"
	);

	return flags;
}
+9 −1
Original line number Diff line number Diff line
@@ -13,6 +13,14 @@ extra-y += init_task.o
CPPFLAGS_vmlinux.lds := -Usparc -m$(BITS)
extra-y              += vmlinux.lds

ifdef CONFIG_FUNCTION_TRACER
# Do not profile debug and lowlevel utilities
CFLAGS_REMOVE_ftrace.o := -pg
CFLAGS_REMOVE_time_$(BITS).o := -pg
CFLAGS_REMOVE_perf_event.o := -pg
CFLAGS_REMOVE_pcr.o := -pg
endif

obj-$(CONFIG_SPARC32)   += entry.o wof.o wuf.o
obj-$(CONFIG_SPARC32)   += etrap_32.o
obj-$(CONFIG_SPARC32)   += rtrap_32.o
@@ -85,7 +93,7 @@ obj-$(CONFIG_KGDB) += kgdb_$(BITS).o


obj-$(CONFIG_DYNAMIC_FTRACE) += ftrace.o
CFLAGS_REMOVE_ftrace.o := -pg
obj-$(CONFIG_FUNCTION_GRAPH_TRACER) += ftrace.o

obj-$(CONFIG_EARLYFB) += btext.o
obj-$(CONFIG_STACKTRACE)     += stacktrace.o
Loading