From: Stephen Rothwell Date: Fri, 30 Sep 2011 02:57:23 +0000 (+1000) Subject: Merge remote-tracking branch 'tip/auto-latest' X-Git-Tag: next-20110930~20 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b5e64fd7f35d84370424e1c261e7a123019f3155;p=karo-tx-linux.git Merge remote-tracking branch 'tip/auto-latest' Conflicts: drivers/iommu/Makefile --- b5e64fd7f35d84370424e1c261e7a123019f3155 diff --cc arch/arm/common/gic.c index 666b278e56d7,6fba8bd5689e..bdbb3f74f0fe --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@@ -180,12 -180,12 +180,12 @@@ static int gic_set_affinity(struct irq_ return -EINVAL; mask = 0xff << shift; - bit = 1 << (cpu + shift); + bit = 1 << (cpu_logical_map(cpu) + shift); - spin_lock(&irq_controller_lock); + raw_spin_lock(&irq_controller_lock); val = readl_relaxed(reg) & ~mask; writel_relaxed(val | bit, reg); - spin_unlock(&irq_controller_lock); + raw_spin_unlock(&irq_controller_lock); return IRQ_SET_MASK_OK; } diff --cc arch/arm/kernel/traps.c index 74969248c375,81cc05a0274c..c32ba00e8437 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@@ -268,11 -267,9 +268,11 @@@ void die(const char *str, struct pt_reg oops_enter(); - spin_lock_irq(&die_lock); + raw_spin_lock_irq(&die_lock); console_verbose(); bust_spinlocks(1); + if (!user_mode(regs)) + report_bug(regs->ARM_pc, regs); ret = __die(str, err, thread, regs); if (regs && kexec_should_crash(thread->task)) @@@ -304,26 -301,8 +304,26 @@@ void arm_notify_die(const char *str, st } } +#ifdef CONFIG_GENERIC_BUG + +int is_valid_bugaddr(unsigned long pc) +{ +#ifdef CONFIG_THUMB2_KERNEL + unsigned short bkpt; +#else + unsigned long bkpt; +#endif + + if (probe_kernel_address((unsigned *)pc, bkpt)) + return 0; + + return bkpt == BUG_INSTR_VALUE; +} + +#endif + static LIST_HEAD(undef_hook); - static DEFINE_SPINLOCK(undef_lock); + static DEFINE_RAW_SPINLOCK(undef_lock); void register_undef_hook(struct undef_hook *hook) { diff --cc drivers/iommu/Makefile index f798cdd3699e,6394994a2b9d..2f4448794bc7 --- a/drivers/iommu/Makefile +++ b/drivers/iommu/Makefile @@@ -1,8 -1,6 +1,9 @@@ obj-$(CONFIG_IOMMU_API) += iommu.o obj-$(CONFIG_MSM_IOMMU) += msm_iommu.o msm_iommu_dev.o obj-$(CONFIG_AMD_IOMMU) += amd_iommu.o amd_iommu_init.o - obj-$(CONFIG_DMAR) += dmar.o iova.o intel-iommu.o - obj-$(CONFIG_INTR_REMAP) += dmar.o intr_remapping.o + obj-$(CONFIG_DMAR_TABLE) += dmar.o + obj-$(CONFIG_INTEL_IOMMU) += iova.o intel-iommu.o + obj-$(CONFIG_IRQ_REMAP) += intr_remapping.o +obj-$(CONFIG_OMAP_IOMMU) += omap-iommu.o +obj-$(CONFIG_OMAP_IOVMM) += omap-iovmm.o +obj-$(CONFIG_OMAP_IOMMU_DEBUG) += omap-iommu-debug.o