Commit f59dc2bb authored by Linus Torvalds's avatar Linus Torvalds

Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
 "A number of smallish fixes scattered around the ARM code.  Probably
  the most serious one is the one from Al addressing the missing locking
  in the swap emulation code."

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7607/1: realview: fix private peripheral memory base for EB rev. B boards
  ARM: 7606/1: cache: flush to LoUU instead of LoUIS on uniprocessor CPUs
  ARM: missing ->mmap_sem around find_vma() in swp_emulate.c
  ARM: 7605/1: vmlinux.lds: Move .notes section next to the rodata
  ARM: 7602/1: Pass real "__machine_arch_type" variable to setup_machine_tags() procedure
  ARM: 7600/1: include CONFIG_DEBUG_LL_INCLUDE rather than mach/debug-macro.S
parents f3dc1294 e6ee4b2b
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
#else #else
#include <mach/debug-macro.S> #include CONFIG_DEBUG_LL_INCLUDE
.macro writeb, ch, rb .macro writeb, ch, rb
senduart \ch, \rb senduart \ch, \rb
......
...@@ -733,7 +733,7 @@ void __init setup_arch(char **cmdline_p) ...@@ -733,7 +733,7 @@ void __init setup_arch(char **cmdline_p)
setup_processor(); setup_processor();
mdesc = setup_machine_fdt(__atags_pointer); mdesc = setup_machine_fdt(__atags_pointer);
if (!mdesc) if (!mdesc)
mdesc = setup_machine_tags(__atags_pointer, machine_arch_type); mdesc = setup_machine_tags(__atags_pointer, __machine_arch_type);
machine_desc = mdesc; machine_desc = mdesc;
machine_name = mdesc->name; machine_name = mdesc->name;
......
...@@ -109,10 +109,12 @@ static void set_segfault(struct pt_regs *regs, unsigned long addr) ...@@ -109,10 +109,12 @@ static void set_segfault(struct pt_regs *regs, unsigned long addr)
{ {
siginfo_t info; siginfo_t info;
down_read(&current->mm->mmap_sem);
if (find_vma(current->mm, addr) == NULL) if (find_vma(current->mm, addr) == NULL)
info.si_code = SEGV_MAPERR; info.si_code = SEGV_MAPERR;
else else
info.si_code = SEGV_ACCERR; info.si_code = SEGV_ACCERR;
up_read(&current->mm->mmap_sem);
info.si_signo = SIGSEGV; info.si_signo = SIGSEGV;
info.si_errno = 0; info.si_errno = 0;
......
...@@ -140,6 +140,8 @@ SECTIONS ...@@ -140,6 +140,8 @@ SECTIONS
} }
#endif #endif
NOTES
_etext = .; /* End of text and rodata section */ _etext = .; /* End of text and rodata section */
#ifndef CONFIG_XIP_KERNEL #ifndef CONFIG_XIP_KERNEL
...@@ -295,8 +297,6 @@ SECTIONS ...@@ -295,8 +297,6 @@ SECTIONS
} }
#endif #endif
NOTES
BSS_SECTION(0, 0, 0) BSS_SECTION(0, 0, 0)
_end = .; _end = .;
......
...@@ -47,7 +47,7 @@ ...@@ -47,7 +47,7 @@
#define REALVIEW_EB_USB_BASE 0x4F000000 /* USB */ #define REALVIEW_EB_USB_BASE 0x4F000000 /* USB */
#ifdef CONFIG_REALVIEW_EB_ARM11MP_REVB #ifdef CONFIG_REALVIEW_EB_ARM11MP_REVB
#define REALVIEW_EB11MP_PRIV_MEM_BASE 0x1F000000 #define REALVIEW_EB11MP_PRIV_MEM_BASE 0x10100000
#define REALVIEW_EB11MP_L220_BASE 0x10102000 /* L220 registers */ #define REALVIEW_EB11MP_L220_BASE 0x10102000 /* L220 registers */
#define REALVIEW_EB11MP_SYS_PLD_CTRL1 0xD8 /* Register offset for MPCore sysctl */ #define REALVIEW_EB11MP_SYS_PLD_CTRL1 0xD8 /* Register offset for MPCore sysctl */
#else #else
......
...@@ -44,8 +44,10 @@ ENDPROC(v7_flush_icache_all) ...@@ -44,8 +44,10 @@ ENDPROC(v7_flush_icache_all)
ENTRY(v7_flush_dcache_louis) ENTRY(v7_flush_dcache_louis)
dmb @ ensure ordering with previous memory accesses dmb @ ensure ordering with previous memory accesses
mrc p15, 1, r0, c0, c0, 1 @ read clidr, r0 = clidr mrc p15, 1, r0, c0, c0, 1 @ read clidr, r0 = clidr
ands r3, r0, #0xe00000 @ extract LoUIS from clidr ALT_SMP(ands r3, r0, #(7 << 21)) @ extract LoUIS from clidr
mov r3, r3, lsr #20 @ r3 = LoUIS * 2 ALT_UP(ands r3, r0, #(7 << 27)) @ extract LoUU from clidr
ALT_SMP(mov r3, r3, lsr #20) @ r3 = LoUIS * 2
ALT_UP(mov r3, r3, lsr #26) @ r3 = LoUU * 2
moveq pc, lr @ return if level == 0 moveq pc, lr @ return if level == 0
mov r10, #0 @ r10 (starting level) = 0 mov r10, #0 @ r10 (starting level) = 0
b flush_levels @ start flushing cache levels b flush_levels @ start flushing cache levels
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment