diff options
| -rw-r--r-- | arch/arm/include/asm/atomic.h | 132 | ||||
| -rw-r--r-- | arch/arm/kernel/entry-armv.S | 16 | ||||
| -rw-r--r-- | arch/arm/kernel/kprobes-decode.c | 5 | ||||
| -rw-r--r-- | arch/arm/kernel/process.c | 23 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/clock.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/cpu-db5500.c | 1 | ||||
| -rw-r--r-- | arch/arm/mm/cache-l2x0.c | 5 | ||||
| -rw-r--r-- | arch/arm/tools/mach-types | 152 | 
8 files changed, 243 insertions, 93 deletions
diff --git a/arch/arm/include/asm/atomic.h b/arch/arm/include/asm/atomic.h index a0162fa9456..7e79503ab89 100644 --- a/arch/arm/include/asm/atomic.h +++ b/arch/arm/include/asm/atomic.h @@ -40,12 +40,12 @@ static inline void atomic_add(int i, atomic_t *v)  	int result;  	__asm__ __volatile__("@ atomic_add\n" -"1:	ldrex	%0, [%2]\n" -"	add	%0, %0, %3\n" -"	strex	%1, %0, [%2]\n" +"1:	ldrex	%0, [%3]\n" +"	add	%0, %0, %4\n" +"	strex	%1, %0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "Ir" (i)  	: "cc");  } @@ -58,12 +58,12 @@ static inline int atomic_add_return(int i, atomic_t *v)  	smp_mb();  	__asm__ __volatile__("@ atomic_add_return\n" -"1:	ldrex	%0, [%2]\n" -"	add	%0, %0, %3\n" -"	strex	%1, %0, [%2]\n" +"1:	ldrex	%0, [%3]\n" +"	add	%0, %0, %4\n" +"	strex	%1, %0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "Ir" (i)  	: "cc"); @@ -78,12 +78,12 @@ static inline void atomic_sub(int i, atomic_t *v)  	int result;  	__asm__ __volatile__("@ atomic_sub\n" -"1:	ldrex	%0, [%2]\n" -"	sub	%0, %0, %3\n" -"	strex	%1, %0, [%2]\n" +"1:	ldrex	%0, [%3]\n" +"	sub	%0, %0, %4\n" +"	strex	%1, %0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "Ir" (i)  	: "cc");  } @@ -96,12 +96,12 @@ static inline int atomic_sub_return(int i, atomic_t *v)  	smp_mb();  	__asm__ __volatile__("@ atomic_sub_return\n" -"1:	ldrex	%0, [%2]\n" -"	sub	%0, %0, %3\n" -"	strex	%1, %0, [%2]\n" +"1:	ldrex	%0, [%3]\n" +"	sub	%0, %0, %4\n" +"	strex	%1, %0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "Ir" (i)  	: "cc"); @@ -118,11 +118,11 @@ static inline int atomic_cmpxchg(atomic_t *ptr, int old, int new)  	do {  		__asm__ __volatile__("@ atomic_cmpxchg\n" -		"ldrex	%1, [%2]\n" +		"ldrex	%1, [%3]\n"  		"mov	%0, #0\n" -		"teq	%1, %3\n" -		"strexeq %0, %4, [%2]\n" -		    : "=&r" (res), "=&r" (oldval) +		"teq	%1, %4\n" +		"strexeq %0, %5, [%3]\n" +		    : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)  		    : "r" (&ptr->counter), "Ir" (old), "r" (new)  		    : "cc");  	} while (res); @@ -137,12 +137,12 @@ static inline void atomic_clear_mask(unsigned long mask, unsigned long *addr)  	unsigned long tmp, tmp2;  	__asm__ __volatile__("@ atomic_clear_mask\n" -"1:	ldrex	%0, [%2]\n" -"	bic	%0, %0, %3\n" -"	strex	%1, %0, [%2]\n" +"1:	ldrex	%0, [%3]\n" +"	bic	%0, %0, %4\n" +"	strex	%1, %0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (tmp), "=&r" (tmp2) +	: "=&r" (tmp), "=&r" (tmp2), "+Qo" (*addr)  	: "r" (addr), "Ir" (mask)  	: "cc");  } @@ -249,7 +249,7 @@ static inline u64 atomic64_read(atomic64_t *v)  	__asm__ __volatile__("@ atomic64_read\n"  "	ldrexd	%0, %H0, [%1]"  	: "=&r" (result) -	: "r" (&v->counter) +	: "r" (&v->counter), "Qo" (v->counter)  	);  	return result; @@ -260,11 +260,11 @@ static inline void atomic64_set(atomic64_t *v, u64 i)  	u64 tmp;  	__asm__ __volatile__("@ atomic64_set\n" -"1:	ldrexd	%0, %H0, [%1]\n" -"	strexd	%0, %2, %H2, [%1]\n" +"1:	ldrexd	%0, %H0, [%2]\n" +"	strexd	%0, %3, %H3, [%2]\n"  "	teq	%0, #0\n"  "	bne	1b" -	: "=&r" (tmp) +	: "=&r" (tmp), "=Qo" (v->counter)  	: "r" (&v->counter), "r" (i)  	: "cc");  } @@ -275,13 +275,13 @@ static inline void atomic64_add(u64 i, atomic64_t *v)  	unsigned long tmp;  	__asm__ __volatile__("@ atomic64_add\n" -"1:	ldrexd	%0, %H0, [%2]\n" -"	adds	%0, %0, %3\n" -"	adc	%H0, %H0, %H3\n" -"	strexd	%1, %0, %H0, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n" +"	adds	%0, %0, %4\n" +"	adc	%H0, %H0, %H4\n" +"	strexd	%1, %0, %H0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "r" (i)  	: "cc");  } @@ -294,13 +294,13 @@ static inline u64 atomic64_add_return(u64 i, atomic64_t *v)  	smp_mb();  	__asm__ __volatile__("@ atomic64_add_return\n" -"1:	ldrexd	%0, %H0, [%2]\n" -"	adds	%0, %0, %3\n" -"	adc	%H0, %H0, %H3\n" -"	strexd	%1, %0, %H0, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n" +"	adds	%0, %0, %4\n" +"	adc	%H0, %H0, %H4\n" +"	strexd	%1, %0, %H0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "r" (i)  	: "cc"); @@ -315,13 +315,13 @@ static inline void atomic64_sub(u64 i, atomic64_t *v)  	unsigned long tmp;  	__asm__ __volatile__("@ atomic64_sub\n" -"1:	ldrexd	%0, %H0, [%2]\n" -"	subs	%0, %0, %3\n" -"	sbc	%H0, %H0, %H3\n" -"	strexd	%1, %0, %H0, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n" +"	subs	%0, %0, %4\n" +"	sbc	%H0, %H0, %H4\n" +"	strexd	%1, %0, %H0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "r" (i)  	: "cc");  } @@ -334,13 +334,13 @@ static inline u64 atomic64_sub_return(u64 i, atomic64_t *v)  	smp_mb();  	__asm__ __volatile__("@ atomic64_sub_return\n" -"1:	ldrexd	%0, %H0, [%2]\n" -"	subs	%0, %0, %3\n" -"	sbc	%H0, %H0, %H3\n" -"	strexd	%1, %0, %H0, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n" +"	subs	%0, %0, %4\n" +"	sbc	%H0, %H0, %H4\n" +"	strexd	%1, %0, %H0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "r" (i)  	: "cc"); @@ -358,12 +358,12 @@ static inline u64 atomic64_cmpxchg(atomic64_t *ptr, u64 old, u64 new)  	do {  		__asm__ __volatile__("@ atomic64_cmpxchg\n" -		"ldrexd		%1, %H1, [%2]\n" +		"ldrexd		%1, %H1, [%3]\n"  		"mov		%0, #0\n" -		"teq		%1, %3\n" -		"teqeq		%H1, %H3\n" -		"strexdeq	%0, %4, %H4, [%2]" -		: "=&r" (res), "=&r" (oldval) +		"teq		%1, %4\n" +		"teqeq		%H1, %H4\n" +		"strexdeq	%0, %5, %H5, [%3]" +		: "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter)  		: "r" (&ptr->counter), "r" (old), "r" (new)  		: "cc");  	} while (res); @@ -381,11 +381,11 @@ static inline u64 atomic64_xchg(atomic64_t *ptr, u64 new)  	smp_mb();  	__asm__ __volatile__("@ atomic64_xchg\n" -"1:	ldrexd	%0, %H0, [%2]\n" -"	strexd	%1, %3, %H3, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n" +"	strexd	%1, %4, %H4, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (ptr->counter)  	: "r" (&ptr->counter), "r" (new)  	: "cc"); @@ -402,16 +402,16 @@ static inline u64 atomic64_dec_if_positive(atomic64_t *v)  	smp_mb();  	__asm__ __volatile__("@ atomic64_dec_if_positive\n" -"1:	ldrexd	%0, %H0, [%2]\n" +"1:	ldrexd	%0, %H0, [%3]\n"  "	subs	%0, %0, #1\n"  "	sbc	%H0, %H0, #0\n"  "	teq	%H0, #0\n"  "	bmi	2f\n" -"	strexd	%1, %0, %H0, [%2]\n" +"	strexd	%1, %0, %H0, [%3]\n"  "	teq	%1, #0\n"  "	bne	1b\n"  "2:" -	: "=&r" (result), "=&r" (tmp) +	: "=&r" (result), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter)  	: "cc"); @@ -429,18 +429,18 @@ static inline int atomic64_add_unless(atomic64_t *v, u64 a, u64 u)  	smp_mb();  	__asm__ __volatile__("@ atomic64_add_unless\n" -"1:	ldrexd	%0, %H0, [%3]\n" -"	teq	%0, %4\n" -"	teqeq	%H0, %H4\n" +"1:	ldrexd	%0, %H0, [%4]\n" +"	teq	%0, %5\n" +"	teqeq	%H0, %H5\n"  "	moveq	%1, #0\n"  "	beq	2f\n" -"	adds	%0, %0, %5\n" -"	adc	%H0, %H0, %H5\n" -"	strexd	%2, %0, %H0, [%3]\n" +"	adds	%0, %0, %6\n" +"	adc	%H0, %H0, %H6\n" +"	strexd	%2, %0, %H0, [%4]\n"  "	teq	%2, #0\n"  "	bne	1b\n"  "2:" -	: "=&r" (val), "=&r" (ret), "=&r" (tmp) +	: "=&r" (val), "+r" (ret), "=&r" (tmp), "+Qo" (v->counter)  	: "r" (&v->counter), "r" (u), "r" (a)  	: "cc"); diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index 7ee48e7f8f3..3fd7861de4d 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S @@ -162,8 +162,6 @@ ENDPROC(__und_invalid)  	@  r4 - orig_r0 (see pt_regs definition in ptrace.h)  	@  	stmia	r5, {r0 - r4} - -	asm_trace_hardirqs_off  	.endm  	.align	5 @@ -204,7 +202,7 @@ __dabt_svc:  	@  	@ IRQs off again before pulling preserved data off the stack  	@ -	disable_irq +	disable_irq_notrace  	@  	@ restore SPSR and restart the instruction @@ -218,6 +216,9 @@ ENDPROC(__dabt_svc)  __irq_svc:  	svc_entry +#ifdef CONFIG_TRACE_IRQFLAGS +	bl	trace_hardirqs_off +#endif  #ifdef CONFIG_PREEMPT  	get_thread_info tsk  	ldr	r8, [tsk, #TI_PREEMPT]		@ get preempt count @@ -291,7 +292,7 @@ __und_svc:  	@  	@ IRQs off again before pulling preserved data off the stack  	@ -1:	disable_irq +1:	disable_irq_notrace  	@  	@ restore SPSR and restart the instruction @@ -327,7 +328,7 @@ __pabt_svc:  	@  	@ IRQs off again before pulling preserved data off the stack  	@ -	disable_irq +	disable_irq_notrace  	@  	@ restore SPSR and restart the instruction @@ -393,8 +394,6 @@ ENDPROC(__pabt_svc)  	@ Clear FP to mark the first stack frame  	@  	zero_fp - -	asm_trace_hardirqs_off  	.endm  	.macro	kuser_cmpxchg_check @@ -465,9 +464,6 @@ __irq_usr:   THUMB(	movne	r0, #0		)   THUMB(	strne	r0, [r0]	)  #endif -#ifdef CONFIG_TRACE_IRQFLAGS -	bl	trace_hardirqs_on -#endif  	mov	why, #0  	b	ret_to_user diff --git a/arch/arm/kernel/kprobes-decode.c b/arch/arm/kernel/kprobes-decode.c index da1f94906a4..8bccbfa693f 100644 --- a/arch/arm/kernel/kprobes-decode.c +++ b/arch/arm/kernel/kprobes-decode.c @@ -583,13 +583,14 @@ static void __kprobes emulate_ldr(struct kprobe *p, struct pt_regs *regs)  {  	insn_llret_3arg_fn_t *i_fn = (insn_llret_3arg_fn_t *)&p->ainsn.insn[0];  	kprobe_opcode_t insn = p->opcode; +	long ppc = (long)p->addr + 8;  	union reg_pair fnr;  	int rd = (insn >> 12) & 0xf;  	int rn = (insn >> 16) & 0xf;  	int rm = insn & 0xf;  	long rdv; -	long rnv  = regs->uregs[rn]; -	long rmv  = regs->uregs[rm]; /* rm/rmv may be invalid, don't care. */ +	long rnv = (rn == 15) ? ppc : regs->uregs[rn]; +	long rmv = (rm == 15) ? ppc : regs->uregs[rm];  	long cpsr = regs->ARM_cpsr;  	fnr.dr = insnslot_llret_3arg_rflags(rnv, 0, rmv, cpsr, i_fn); diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index acf5e6fdb6d..a4a9cc88bec 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -351,17 +351,21 @@ EXPORT_SYMBOL(dump_fpu);  /*   * Shuffle the argument into the correct register before calling the - * thread function.  r1 is the thread argument, r2 is the pointer to - * the thread function, and r3 points to the exit function. + * thread function.  r4 is the thread argument, r5 is the pointer to + * the thread function, and r6 points to the exit function.   */  extern void kernel_thread_helper(void);  asm(	".pushsection .text\n"  "	.align\n"  "	.type	kernel_thread_helper, #function\n"  "kernel_thread_helper:\n" -"	mov	r0, r1\n" -"	mov	lr, r3\n" -"	mov	pc, r2\n" +#ifdef CONFIG_TRACE_IRQFLAGS +"	bl	trace_hardirqs_on\n" +#endif +"	msr	cpsr_c, r7\n" +"	mov	r0, r4\n" +"	mov	lr, r6\n" +"	mov	pc, r5\n"  "	.size	kernel_thread_helper, . - kernel_thread_helper\n"  "	.popsection"); @@ -391,11 +395,12 @@ pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)  	memset(®s, 0, sizeof(regs)); -	regs.ARM_r1 = (unsigned long)arg; -	regs.ARM_r2 = (unsigned long)fn; -	regs.ARM_r3 = (unsigned long)kernel_thread_exit; +	regs.ARM_r4 = (unsigned long)arg; +	regs.ARM_r5 = (unsigned long)fn; +	regs.ARM_r6 = (unsigned long)kernel_thread_exit; +	regs.ARM_r7 = SVC_MODE | PSR_ENDSTATE | PSR_ISETSTATE;  	regs.ARM_pc = (unsigned long)kernel_thread_helper; -	regs.ARM_cpsr = SVC_MODE | PSR_ENDSTATE | PSR_ISETSTATE; +	regs.ARM_cpsr = regs.ARM_r7 | PSR_I_BIT;  	return do_fork(flags|CLONE_VM|CLONE_UNTRACED, 0, ®s, 0, NULL, NULL);  } diff --git a/arch/arm/mach-ux500/clock.c b/arch/arm/mach-ux500/clock.c index fe84b9021c7..0a1318fc8e2 100644 --- a/arch/arm/mach-ux500/clock.c +++ b/arch/arm/mach-ux500/clock.c @@ -131,7 +131,7 @@ EXPORT_SYMBOL(clk_disable);   */  static unsigned long clk_mtu_get_rate(struct clk *clk)  { -	void __iomem *addr = __io_address(U8500_PRCMU_BASE) +	void __iomem *addr = __io_address(UX500_PRCMU_BASE)  		+ PRCM_TCR;  	u32 tcr = readl(addr);  	int mtu = (int) clk->data; diff --git a/arch/arm/mach-ux500/cpu-db5500.c b/arch/arm/mach-ux500/cpu-db5500.c index 6a3ac4539f1..e9278f6d67a 100644 --- a/arch/arm/mach-ux500/cpu-db5500.c +++ b/arch/arm/mach-ux500/cpu-db5500.c @@ -21,6 +21,7 @@ static struct map_desc u5500_io_desc[] __initdata = {  	__IO_DEV_DESC(U5500_GPIO2_BASE, SZ_4K),  	__IO_DEV_DESC(U5500_GPIO3_BASE, SZ_4K),  	__IO_DEV_DESC(U5500_GPIO4_BASE, SZ_4K), +	__IO_DEV_DESC(U5500_PRCMU_BASE, SZ_4K),  };  static struct platform_device *u5500_platform_devs[] __initdata = { diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c index 9819869d2bc..df4955885b2 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c @@ -218,6 +218,9 @@ void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)  	cache_id = readl(l2x0_base + L2X0_CACHE_ID);  	aux = readl(l2x0_base + L2X0_AUX_CTRL); +	aux &= aux_mask; +	aux |= aux_val; +  	/* Determine the number of ways */  	switch (cache_id & L2X0_CACHE_ID_PART_MASK) {  	case L2X0_CACHE_ID_PART_L310: @@ -248,8 +251,6 @@ void __init l2x0_init(void __iomem *base, __u32 aux_val, __u32 aux_mask)  	if (!(readl(l2x0_base + L2X0_CTRL) & 1)) {  		/* l2x0 controller is disabled */ -		aux &= aux_mask; -		aux |= aux_val;  		writel(aux, l2x0_base + L2X0_AUX_CTRL);  		l2x0_inv_all(); diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types index 8f10d24ae62..48cbdcb6bbd 100644 --- a/arch/arm/tools/mach-types +++ b/arch/arm/tools/mach-types @@ -12,7 +12,7 @@  #  #   http://www.arm.linux.org.uk/developer/machines/?action=new  # -# Last update: Sat May 1 10:36:42 2010 +# Last update: Mon Jul 12 21:10:14 2010  #  # machine_is_xxx	CONFIG_xxxx		MACH_TYPE_xxx		number  # @@ -1994,7 +1994,7 @@ spark			MACH_SPARK		SPARK			2002  benzina			MACH_BENZINA		BENZINA			2003  blaze			MACH_BLAZE		BLAZE			2004  linkstation_ls_hgl	MACH_LINKSTATION_LS_HGL	LINKSTATION_LS_HGL	2005 -htckovsky		MACH_HTCVENUS		HTCVENUS		2006 +htckovsky		MACH_HTCKOVSKY		HTCKOVSKY		2006  sony_prs505		MACH_SONY_PRS505	SONY_PRS505		2007  hanlin_v3		MACH_HANLIN_V3		HANLIN_V3		2008  sapphira		MACH_SAPPHIRA		SAPPHIRA		2009 @@ -2609,7 +2609,7 @@ fujitsu_tvstbsoc1	MACH_FUJITSU_TVSTBSOC1	FUJITSU_TVSTBSOC1	2621  lexikon			MACH_LEXIKON		LEXIKON			2622  mini2440v2		MACH_MINI2440V2		MINI2440V2		2623  icontrol		MACH_ICONTROL		ICONTROL		2624 -sheevad			MACH_SHEEVAD		SHEEVAD			2625 +gplugd			MACH_SHEEVAD		SHEEVAD			2625  qsd8x50a_st1_1		MACH_QSD8X50A_ST1_1	QSD8X50A_ST1_1		2626  qsd8x50a_st1_5		MACH_QSD8X50A_ST1_5	QSD8X50A_ST1_5		2627  bee			MACH_BEE		BEE			2628 @@ -2804,3 +2804,149 @@ teton_bga		MACH_TETON_BGA		TETON_BGA		2816  snapper9g45		MACH_SNAPPER9G45	SNAPPER9G45		2817  tam3517			MACH_TAM3517		TAM3517			2818  pdc100			MACH_PDC100		PDC100			2819 +eukrea_cpuimx25sd	MACH_EUKREA_CPUIMX25	EUKREA_CPUIMX25		2820 +eukrea_cpuimx35sd	MACH_EUKREA_CPUIMX35	EUKREA_CPUIMX35		2821 +eukrea_cpuimx51sd	MACH_EUKREA_CPUIMX51SD	EUKREA_CPUIMX51SD	2822 +eukrea_cpuimx51		MACH_EUKREA_CPUIMX51	EUKREA_CPUIMX51		2823 +p565			MACH_P565		P565			2824 +acer_a4			MACH_ACER_A4		ACER_A4			2825 +davinci_dm368_bip	MACH_DAVINCI_DM368_BIP	DAVINCI_DM368_BIP	2826 +eshare			MACH_ESHARE		ESHARE			2827 +hw_omapl138_europa	MACH_HW_OMAPL138_EUROPA	HW_OMAPL138_EUROPA	2828 +wlbargn			MACH_WLBARGN		WLBARGN			2829 +bm170			MACH_BM170		BM170			2830 +netspace_mini_v2	MACH_NETSPACE_MINI_V2	NETSPACE_MINI_V2	2831 +netspace_plug_v2	MACH_NETSPACE_PLUG_V2	NETSPACE_PLUG_V2	2832 +siemens_l1		MACH_SIEMENS_L1		SIEMENS_L1		2833 +elv_lcu1		MACH_ELV_LCU1		ELV_LCU1		2834 +mcu1			MACH_MCU1		MCU1			2835 +omap3_tao3530		MACH_OMAP3_TAO3530	OMAP3_TAO3530		2836 +omap3_pcutouch		MACH_OMAP3_PCUTOUCH	OMAP3_PCUTOUCH		2837 +smdkc210		MACH_SMDKC210		SMDKC210		2838 +omap3_braillo		MACH_OMAP3_BRAILLO	OMAP3_BRAILLO		2839 +spyplug			MACH_SPYPLUG		SPYPLUG			2840 +ginger			MACH_GINGER		GINGER			2841 +tny_t3530		MACH_TNY_T3530		TNY_T3530		2842 +pca102			MACH_PCA102		PCA102			2843 +spade			MACH_SPADE		SPADE			2844 +mxc25_topaz		MACH_MXC25_TOPAZ	MXC25_TOPAZ		2845 +t5325			MACH_T5325		T5325			2846 +gw2361			MACH_GW2361		GW2361			2847 +elog			MACH_ELOG		ELOG			2848 +income			MACH_INCOME		INCOME			2849 +bcm589x			MACH_BCM589X		BCM589X			2850 +etna			MACH_ETNA		ETNA			2851 +hawks			MACH_HAWKS		HAWKS			2852 +meson			MACH_MESON		MESON			2853 +xsbase255		MACH_XSBASE255		XSBASE255		2854 +pvm2030			MACH_PVM2030		PVM2030			2855 +mioa502			MACH_MIOA502		MIOA502			2856 +vvbox_sdorig2		MACH_VVBOX_SDORIG2	VVBOX_SDORIG2		2857 +vvbox_sdlite2		MACH_VVBOX_SDLITE2	VVBOX_SDLITE2		2858 +vvbox_sdpro4		MACH_VVBOX_SDPRO4	VVBOX_SDPRO4		2859 +htc_spv_m700		MACH_HTC_SPV_M700	HTC_SPV_M700		2860 +mx257sx			MACH_MX257SX		MX257SX			2861 +goni			MACH_GONI		GONI			2862 +msm8x55_svlte_ffa	MACH_MSM8X55_SVLTE_FFA	MSM8X55_SVLTE_FFA	2863 +msm8x55_svlte_surf	MACH_MSM8X55_SVLTE_SURF	MSM8X55_SVLTE_SURF	2864 +quickstep		MACH_QUICKSTEP		QUICKSTEP		2865 +dmw96			MACH_DMW96		DMW96			2866 +hammerhead		MACH_HAMMERHEAD		HAMMERHEAD		2867 +trident			MACH_TRIDENT		TRIDENT			2868 +lightning		MACH_LIGHTNING		LIGHTNING		2869 +iconnect		MACH_ICONNECT		ICONNECT		2870 +autobot			MACH_AUTOBOT		AUTOBOT			2871 +coconut			MACH_COCONUT		COCONUT			2872 +durian			MACH_DURIAN		DURIAN			2873 +cayenne			MACH_CAYENNE		CAYENNE			2874 +fuji			MACH_FUJI		FUJI			2875 +synology_6282		MACH_SYNOLOGY_6282	SYNOLOGY_6282		2876 +em1sy			MACH_EM1SY		EM1SY			2877 +m502			MACH_M502		M502			2878 +matrix518		MACH_MATRIX518		MATRIX518		2879 +tiny_gurnard		MACH_TINY_GURNARD	TINY_GURNARD		2880 +spear1310		MACH_SPEAR1310		SPEAR1310		2881 +bv07			MACH_BV07		BV07			2882 +mxt_td61		MACH_MXT_TD61		MXT_TD61		2883 +openrd_ultimate		MACH_OPENRD_ULTIMATE	OPENRD_ULTIMATE		2884 +devixp			MACH_DEVIXP		DEVIXP			2885 +miccpt			MACH_MICCPT		MICCPT			2886 +mic256			MACH_MIC256		MIC256			2887 +as1167			MACH_AS1167		AS1167			2888 +omap3_ibiza		MACH_OMAP3_IBIZA	OMAP3_IBIZA		2889 +u5500			MACH_U5500		U5500			2890 +davinci_picto		MACH_DAVINCI_PICTO	DAVINCI_PICTO		2891 +mecha			MACH_MECHA		MECHA			2892 +bubba3			MACH_BUBBA3		BUBBA3			2893 +pupitre			MACH_PUPITRE		PUPITRE			2894 +tegra_harmony		MACH_TEGRA_HARMONY	TEGRA_HARMONY		2895 +tegra_vogue		MACH_TEGRA_VOGUE	TEGRA_VOGUE		2896 +tegra_e1165		MACH_TEGRA_E1165	TEGRA_E1165		2897 +simplenet		MACH_SIMPLENET		SIMPLENET		2898 +ec4350tbm		MACH_EC4350TBM		EC4350TBM		2899 +pec_tc			MACH_PEC_TC		PEC_TC			2900 +pec_hc2			MACH_PEC_HC2		PEC_HC2			2901 +esl_mobilis_a		MACH_ESL_MOBILIS_A	ESL_MOBILIS_A		2902 +esl_mobilis_b		MACH_ESL_MOBILIS_B	ESL_MOBILIS_B		2903 +esl_wave_a		MACH_ESL_WAVE_A		ESL_WAVE_A		2904 +esl_wave_b		MACH_ESL_WAVE_B		ESL_WAVE_B		2905 +unisense_mmm		MACH_UNISENSE_MMM	UNISENSE_MMM		2906 +blueshark		MACH_BLUESHARK		BLUESHARK		2907 +e10			MACH_E10		E10			2908 +app3k_robin		MACH_APP3K_ROBIN	APP3K_ROBIN		2909 +pov15hd			MACH_POV15HD		POV15HD			2910 +stella			MACH_STELLA		STELLA			2911 +linkstation_lschl	MACH_LINKSTATION_LSCHL	LINKSTATION_LSCHL	2913 +netwalker		MACH_NETWALKER		NETWALKER		2914 +acsx106			MACH_ACSX106		ACSX106			2915 +atlas5_c1		MACH_ATLAS5_C1		ATLAS5_C1		2916 +nsb3ast			MACH_NSB3AST		NSB3AST			2917 +gnet_slc		MACH_GNET_SLC		GNET_SLC		2918 +af4000			MACH_AF4000		AF4000			2919 +ark9431			MACH_ARK9431		ARK9431			2920 +fs_s5pc100		MACH_FS_S5PC100		FS_S5PC100		2921 +omap3505nova8		MACH_OMAP3505NOVA8	OMAP3505NOVA8		2922 +omap3621_edp1		MACH_OMAP3621_EDP1	OMAP3621_EDP1		2923 +oratisaes		MACH_ORATISAES		ORATISAES		2924 +smdkv310		MACH_SMDKV310		SMDKV310		2925 +siemens_l0		MACH_SIEMENS_L0		SIEMENS_L0		2926 +ventana			MACH_VENTANA		VENTANA			2927 +wm8505_7in_netbook	MACH_WM8505_7IN_NETBOOK	WM8505_7IN_NETBOOK	2928 +ec4350sdb		MACH_EC4350SDB		EC4350SDB		2929 +mimas			MACH_MIMAS		MIMAS			2930 +titan			MACH_TITAN		TITAN			2931 +craneboard		MACH_CRANEBOARD		CRANEBOARD		2932 +es2440			MACH_ES2440		ES2440			2933 +najay_a9263		MACH_NAJAY_A9263	NAJAY_A9263		2934 +htctornado		MACH_HTCTORNADO		HTCTORNADO		2935 +dimm_mx257		MACH_DIMM_MX257		DIMM_MX257		2936 +jigen301		MACH_JIGEN		JIGEN			2937 +smdk6450		MACH_SMDK6450		SMDK6450		2938 +meno_qng		MACH_MENO_QNG		MENO_QNG		2939 +ns2416			MACH_NS2416		NS2416			2940 +rpc353			MACH_RPC353		RPC353			2941 +tq6410			MACH_TQ6410		TQ6410			2942 +sky6410			MACH_SKY6410		SKY6410			2943 +dynasty			MACH_DYNASTY		DYNASTY			2944 +vivo			MACH_VIVO		VIVO			2945 +bury_bl7582		MACH_BURY_BL7582	BURY_BL7582		2946 +bury_bps5270		MACH_BURY_BPS5270	BURY_BPS5270		2947 +basi			MACH_BASI		BASI			2948 +tn200			MACH_TN200		TN200			2949 +c2mmi			MACH_C2MMI		C2MMI			2950 +meson_6236m		MACH_MESON_6236M	MESON_6236M		2951 +meson_8626m		MACH_MESON_8626M	MESON_8626M		2952 +tube			MACH_TUBE		TUBE			2953 +messina			MACH_MESSINA		MESSINA			2954 +mx50_arm2		MACH_MX50_ARM2		MX50_ARM2		2955 +cetus9263		MACH_CETUS9263		CETUS9263		2956 +brownstone		MACH_BROWNSTONE		BROWNSTONE		2957 +vmx25			MACH_VMX25		VMX25			2958 +vmx51			MACH_VMX51		VMX51			2959 +abacus			MACH_ABACUS		ABACUS			2960 +cm4745			MACH_CM4745		CM4745			2961 +oratislink		MACH_ORATISLINK		ORATISLINK		2962 +davinci_dm365_dvr	MACH_DAVINCI_DM365_DVR	DAVINCI_DM365_DVR	2963 +netviz			MACH_NETVIZ		NETVIZ			2964 +flexibity		MACH_FLEXIBITY		FLEXIBITY		2965 +wlan_computer		MACH_WLAN_COMPUTER	WLAN_COMPUTER		2966  |