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

Commit 31016e99 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
  powerpc: Fix userspace build of ptrace.h
  powerpc: Fix default_machine_crash_shutdown #ifdef botch
  powerpc: Fix logic error in fixup_irqs
  powerpc/iseries: Fix possible null pointer dereference in iSeries_pcibios_fixup_resources
  powerpc: Linux cannot run with 0 cores
  powerpc: Fix feature-fixup tests for gcc 4.5
  powerpc: Disable SPARSE_IRQ by default
  powerpc: Fix compile errors in prom_init_check for gcc 4.5
  powerpc: Fix module building for gcc 4.5 and 64 bit
  powerpc/perf_event: Fix for power_pmu_disable()
parents 67415020 bf23690b
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -400,7 +400,7 @@ config IRQ_ALL_CPUS


config SPARSE_IRQ
config SPARSE_IRQ
	bool "Support sparse irq numbering"
	bool "Support sparse irq numbering"
	default y
	default n
	help
	help
	  This enables support for sparse irqs. This is useful for distro
	  This enables support for sparse irqs. This is useful for distro
	  kernels that want to define a high CONFIG_NR_CPUS value but still
	  kernels that want to define a high CONFIG_NR_CPUS value but still
@@ -409,7 +409,7 @@ config SPARSE_IRQ
	  ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
	  ( Sparse IRQs can also be beneficial on NUMA boxes, as they spread
	    out the irq_desc[] array in a more NUMA-friendly way. )
	    out the irq_desc[] array in a more NUMA-friendly way. )


	  If you don't know what to do here, say Y.
	  If you don't know what to do here, say N.


config NUMA
config NUMA
	bool "NUMA support"
	bool "NUMA support"
+2 −2
Original line number Original line Diff line number Diff line
@@ -92,10 +92,10 @@ endif
else
else
	KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
	KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
endif
endif
else
LDFLAGS_MODULE	+= arch/powerpc/lib/crtsavres.o
endif
endif


LDFLAGS_MODULE	+= arch/powerpc/lib/crtsavres.o

ifeq ($(CONFIG_TUNE_CELL),y)
ifeq ($(CONFIG_TUNE_CELL),y)
	KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
	KBUILD_CFLAGS += $(call cc-option,-mtune=cell)
endif
endif
+14 −18
Original line number Original line Diff line number Diff line
@@ -24,11 +24,7 @@
 * 2 of the License, or (at your option) any later version.
 * 2 of the License, or (at your option) any later version.
 */
 */


#ifdef __KERNEL__
#include <linux/types.h>
#include <linux/types.h>
#else
#include <stdint.h>
#endif


#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__


@@ -364,13 +360,13 @@ static inline unsigned long regs_get_kernel_stack_nth(struct pt_regs *regs,
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__


struct ppc_debug_info {
struct ppc_debug_info {
	uint32_t version;		/* Only version 1 exists to date */
	__u32 version;			/* Only version 1 exists to date */
	uint32_t num_instruction_bps;
	__u32 num_instruction_bps;
	uint32_t num_data_bps;
	__u32 num_data_bps;
	uint32_t num_condition_regs;
	__u32 num_condition_regs;
	uint32_t data_bp_alignment;
	__u32 data_bp_alignment;
	uint32_t sizeof_condition;	/* size of the DVC register */
	__u32 sizeof_condition;		/* size of the DVC register */
	uint64_t features;
	__u64 features;
};
};


#endif /* __ASSEMBLY__ */
#endif /* __ASSEMBLY__ */
@@ -386,13 +382,13 @@ struct ppc_debug_info {
#ifndef __ASSEMBLY__
#ifndef __ASSEMBLY__


struct ppc_hw_breakpoint {
struct ppc_hw_breakpoint {
	uint32_t version;		/* currently, version must be 1 */
	__u32 version;		/* currently, version must be 1 */
	uint32_t trigger_type;		/* only some combinations allowed */
	__u32 trigger_type;	/* only some combinations allowed */
	uint32_t addr_mode;		/* address match mode */
	__u32 addr_mode;	/* address match mode */
	uint32_t condition_mode;	/* break/watchpoint condition flags */
	__u32 condition_mode;	/* break/watchpoint condition flags */
	uint64_t addr;			/* break/watchpoint address */
	__u64 addr;		/* break/watchpoint address */
	uint64_t addr2;			/* range end or mask */
	__u64 addr2;		/* range end or mask */
	uint64_t condition_value;	/* contents of the DVC register */
	__u64 condition_value;	/* contents of the DVC register */
};
};


#endif /* __ASSEMBLY__ */
#endif /* __ASSEMBLY__ */
+1 −1
Original line number Original line Diff line number Diff line
@@ -447,7 +447,7 @@ void default_machine_crash_shutdown(struct pt_regs *regs)
	crash_kexec_prepare_cpus(crashing_cpu);
	crash_kexec_prepare_cpus(crashing_cpu);
	cpu_set(crashing_cpu, cpus_in_crash);
	cpu_set(crashing_cpu, cpus_in_crash);
	crash_kexec_stop_spus();
	crash_kexec_stop_spus();
#ifdef CONFIG_PPC_STD_MMU_64
#if defined(CONFIG_PPC_STD_MMU_64) && defined(CONFIG_SMP)
	crash_kexec_wait_realmode(crashing_cpu);
	crash_kexec_wait_realmode(crashing_cpu);
#endif
#endif
	if (ppc_md.kexec_cpu_down)
	if (ppc_md.kexec_cpu_down)
+4 −1
Original line number Original line Diff line number Diff line
@@ -295,7 +295,10 @@ void fixup_irqs(const struct cpumask *map)


	for_each_irq(irq) {
	for_each_irq(irq) {
		desc = irq_to_desc(irq);
		desc = irq_to_desc(irq);
		if (desc && desc->status & IRQ_PER_CPU)
		if (!desc)
			continue;

		if (desc->status & IRQ_PER_CPU)
			continue;
			continue;


		cpumask_and(mask, desc->affinity, map);
		cpumask_and(mask, desc->affinity, map);
Loading