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

Commit ca49a601 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Merge master.kernel.org:/home/rmk/linux-2.6-arm-smp

parents 5a90fa71 7ac5ae4b
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -176,6 +176,7 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
	cpu_set(cpu, mm->cpu_vm_mask);
	cpu_set(cpu, mm->cpu_vm_mask);
	cpu_switch_mm(mm->pgd, mm);
	cpu_switch_mm(mm->pgd, mm);
	enter_lazy_tlb(mm, current);
	enter_lazy_tlb(mm, current);
	local_flush_tlb_all();


	cpu_init();
	cpu_init();


+1 −1
Original line number Original line Diff line number Diff line
@@ -7,7 +7,7 @@
1:	ldrexb	r2, [r1]
1:	ldrexb	r2, [r1]
	\instr	r2, r2, r3
	\instr	r2, r2, r3
	strexb	r0, r2, [r1]
	strexb	r0, r2, [r1]
	cmpne	r0, #0
	cmp	r0, #0
	bne	1b
	bne	1b
	mov	pc, lr
	mov	pc, lr
	.endm
	.endm
+2 −0
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@
#include <linux/mm.h>
#include <linux/mm.h>


#include <asm/atomic.h>
#include <asm/atomic.h>
#include <asm/cacheflush.h>
#include <asm/delay.h>
#include <asm/delay.h>
#include <asm/mmu_context.h>
#include <asm/mmu_context.h>
#include <asm/procinfo.h>
#include <asm/procinfo.h>
@@ -80,6 +81,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
	 * "cpu" is Linux's internal ID.
	 * "cpu" is Linux's internal ID.
	 */
	 */
	pen_release = cpu;
	pen_release = cpu;
	flush_cache_all();


	/*
	/*
	 * XXX
	 * XXX
+5 −0
Original line number Original line Diff line number Diff line
@@ -229,6 +229,7 @@ extern int _find_next_zero_bit_be(const void * p, int size, int offset);
extern int _find_first_bit_be(const unsigned long *p, unsigned size);
extern int _find_first_bit_be(const unsigned long *p, unsigned size);
extern int _find_next_bit_be(const unsigned long *p, int size, int offset);
extern int _find_next_bit_be(const unsigned long *p, int size, int offset);


#ifndef CONFIG_SMP
/*
/*
 * The __* form of bitops are non-atomic and may be reordered.
 * The __* form of bitops are non-atomic and may be reordered.
 */
 */
@@ -241,6 +242,10 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset);
	(__builtin_constant_p(nr) ?		\
	(__builtin_constant_p(nr) ?		\
	 ____atomic_##name(nr, p) :		\
	 ____atomic_##name(nr, p) :		\
	 _##name##_be(nr,p))
	 _##name##_be(nr,p))
#else
#define ATOMIC_BITOP_LE(name,nr,p)	_##name##_le(nr,p)
#define ATOMIC_BITOP_BE(name,nr,p)	_##name##_be(nr,p)
#endif


#define NONATOMIC_BITOP(name,nr,p)		\
#define NONATOMIC_BITOP(name,nr,p)		\
	(____nonatomic_##name(nr, p))
	(____nonatomic_##name(nr, p))