projects
/
linux-drm-fsl-dcu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branches 'fixes' and 'ioremap' into for-linus
[linux-drm-fsl-dcu.git]
/
arch
/
arm
/
kernel
/
smp.c
diff --git
a/arch/arm/kernel/smp.c
b/arch/arm/kernel/smp.c
index cca5b87581855244deba92fc78f2f0ae02b2ad07..3d6b7821cff8c952e73c72cad5a1f8d90cdf1758 100644
(file)
--- a/
arch/arm/kernel/smp.c
+++ b/
arch/arm/kernel/smp.c
@@
-86,9
+86,11
@@
void __init smp_set_ops(struct smp_operations *ops)
static unsigned long get_arch_pgd(pgd_t *pgd)
{
static unsigned long get_arch_pgd(pgd_t *pgd)
{
- phys_addr_t pgdir = virt_to_idmap(pgd);
- BUG_ON(pgdir & ARCH_PGD_MASK);
- return pgdir >> ARCH_PGD_SHIFT;
+#ifdef CONFIG_ARM_LPAE
+ return __phys_to_pfn(virt_to_phys(pgd));
+#else
+ return virt_to_phys(pgd);
+#endif
}
int __cpu_up(unsigned int cpu, struct task_struct *idle)
}
int __cpu_up(unsigned int cpu, struct task_struct *idle)
@@
-108,7
+110,7
@@
int __cpu_up(unsigned int cpu, struct task_struct *idle)
#endif
#ifdef CONFIG_MMU
#endif
#ifdef CONFIG_MMU
- secondary_data.pgdir =
get_arch_pgd
(idmap_pgd);
+ secondary_data.pgdir =
virt_to_phys
(idmap_pgd);
secondary_data.swapper_pg_dir = get_arch_pgd(swapper_pg_dir);
#endif
sync_cache_w(&secondary_data);
secondary_data.swapper_pg_dir = get_arch_pgd(swapper_pg_dir);
#endif
sync_cache_w(&secondary_data);
@@
-576,7
+578,7
@@
void handle_IPI(int ipinr, struct pt_regs *regs)
struct pt_regs *old_regs = set_irq_regs(regs);
if ((unsigned)ipinr < NR_IPI) {
struct pt_regs *old_regs = set_irq_regs(regs);
if ((unsigned)ipinr < NR_IPI) {
- trace_ipi_entry(ipi_types[ipinr]);
+ trace_ipi_entry
_rcuidle
(ipi_types[ipinr]);
__inc_irq_stat(cpu, ipi_irqs[ipinr]);
}
__inc_irq_stat(cpu, ipi_irqs[ipinr]);
}
@@
-635,7
+637,7
@@
void handle_IPI(int ipinr, struct pt_regs *regs)
}
if ((unsigned)ipinr < NR_IPI)
}
if ((unsigned)ipinr < NR_IPI)
- trace_ipi_exit(ipi_types[ipinr]);
+ trace_ipi_exit
_rcuidle
(ipi_types[ipinr]);
set_irq_regs(old_regs);
}
set_irq_regs(old_regs);
}