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

Commit 61a9dc26 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/hskinnemoen/avr32-2.6:
  avr32: remove duplicated #include
  avr32: fix out-of-range rjmp instruction on large kernels
  avr32: Fix out-of-range rcalls in large kernels
parents 50201253 5201b0a4
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -15,7 +15,6 @@
#include <linux/mtd/physmap.h>
#include <linux/usb/isp116x.h>
#include <linux/dma-mapping.h>
#include <linux/platform_device.h>
#include <linux/delay.h>

#include <mach/portmux.h>
+4 −4
Original line number Diff line number Diff line
@@ -230,10 +230,10 @@ extern int __put_user_bad(void);
	asm volatile(							\
		"1:	ld." suffix "	%1, %3			\n"	\
		"2:						\n"	\
		"	.section .fixup, \"ax\"			\n"	\
		"	.subsection 1				\n"	\
		"3:	mov	%0, %4				\n"	\
		"	rjmp	2b				\n"	\
		"	.previous				\n"	\
		"	.subsection 0				\n"	\
		"	.section __ex_table, \"a\"		\n"	\
		"	.long	1b, 3b				\n"	\
		"	.previous				\n"	\
@@ -295,10 +295,10 @@ extern int __put_user_bad(void);
	asm volatile(							\
		"1:	st." suffix "	%1, %3			\n"	\
		"2:						\n"	\
		"	.section .fixup, \"ax\"			\n"	\
		"	.subsection 1				\n"	\
		"3:	mov	%0, %4				\n"	\
		"	rjmp	2b				\n"	\
		"	.previous				\n"	\
		"	.subsection 0				\n"	\
		"	.section __ex_table, \"a\"		\n"	\
		"	.long	1b, 3b				\n"	\
		"	.previous				\n"	\
+30 −30
Original line number Diff line number Diff line
@@ -150,10 +150,10 @@ page_not_present:
	tlbmiss_restore
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_page_fault
	call	do_page_fault
	rjmp	ret_from_exception

	.align	2
@@ -250,7 +250,7 @@ syscall_badsys:

	.global ret_from_fork
ret_from_fork:
	rcall   schedule_tail
	call   schedule_tail

	/* check for syscall tracing */
	get_thread_info r0
@@ -261,7 +261,7 @@ ret_from_fork:

syscall_trace_enter:
	pushm	r8-r12
	rcall	syscall_trace
	call	syscall_trace
	popm	r8-r12
	rjmp	syscall_trace_cont

@@ -269,14 +269,14 @@ syscall_exit_work:
	bld	r1, TIF_SYSCALL_TRACE
	brcc	1f
	unmask_interrupts
	rcall	syscall_trace
	call	syscall_trace
	mask_interrupts
	ld.w	r1, r0[TI_flags]

1:	bld	r1, TIF_NEED_RESCHED
	brcc	2f
	unmask_interrupts
	rcall	schedule
	call	schedule
	mask_interrupts
	ld.w	r1, r0[TI_flags]
	rjmp	1b
@@ -287,7 +287,7 @@ syscall_exit_work:
	unmask_interrupts
	mov	r12, sp
	mov	r11, r0
	rcall	do_notify_resume
	call	do_notify_resume
	mask_interrupts
	ld.w	r1, r0[TI_flags]
	rjmp	1b
@@ -394,7 +394,7 @@ handle_critical:

	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_critical_exception
	call	do_critical_exception

	/* We should never get here... */
bad_return:
@@ -407,18 +407,18 @@ bad_return:
do_bus_error_write:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mov	r11, 1
	rjmp	1f

do_bus_error_read:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mov	r11, 0
1:	mfsr	r12, SYSREG_BEAR
	mov	r10, sp
	rcall	do_bus_error
	call	do_bus_error
	rjmp	ret_from_exception

	.align	1
@@ -433,7 +433,7 @@ do_nmi_ll:
1:	pushm	r8, r9	/* PC and SR */
	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_nmi
	call	do_nmi
	popm	r8-r9
	mtsr	SYSREG_RAR_NMI, r8
	tst	r0, r0
@@ -457,29 +457,29 @@ do_nmi_ll:
handle_address_fault:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_address_exception
	call	do_address_exception
	rjmp	ret_from_exception

handle_protection_fault:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_page_fault
	call	do_page_fault
	rjmp	ret_from_exception

	.align	1
do_illegal_opcode_ll:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	mfsr	r12, SYSREG_ECR
	mov	r11, sp
	rcall	do_illegal_opcode
	call	do_illegal_opcode
	rjmp	ret_from_exception

do_dtlb_modified:
@@ -513,11 +513,11 @@ do_dtlb_modified:
do_fpe_ll:
	sub	sp, 4
	stmts	--sp, r0-lr
	rcall	save_full_context_ex
	call	save_full_context_ex
	unmask_interrupts
	mov	r12, 26
	mov	r11, sp
	rcall	do_fpe
	call	do_fpe
	rjmp	ret_from_exception

ret_from_exception:
@@ -553,7 +553,7 @@ fault_resume_kernel:
	lddsp	r4, sp[REG_SR]
	bld	r4, SYSREG_GM_OFFSET
	brcs	1f
	rcall	preempt_schedule_irq
	call	preempt_schedule_irq
1:
#endif

@@ -582,7 +582,7 @@ fault_exit_work:
	bld	r1, TIF_NEED_RESCHED
	brcc	1f
	unmask_interrupts
	rcall	schedule
	call	schedule
	mask_interrupts
	ld.w	r1, r0[TI_flags]
	rjmp	fault_exit_work
@@ -593,7 +593,7 @@ fault_exit_work:
	unmask_interrupts
	mov	r12, sp
	mov	r11, r0
	rcall	do_notify_resume
	call	do_notify_resume
	mask_interrupts
	ld.w	r1, r0[TI_flags]
	rjmp	fault_exit_work
@@ -616,10 +616,10 @@ handle_debug:

.Ldebug_fixup_cont:
#ifdef CONFIG_TRACE_IRQFLAGS
	rcall	trace_hardirqs_off
	call	trace_hardirqs_off
#endif
	mov	r12, sp
	rcall	do_debug
	call	do_debug
	mov	sp, r12

	lddsp	r2, sp[REG_SR]
@@ -643,7 +643,7 @@ handle_debug:
	mtsr	SYSREG_RSR_DBG, r11
	mtsr	SYSREG_RAR_DBG, r10
#ifdef CONFIG_TRACE_IRQFLAGS
	rcall	trace_hardirqs_on
	call	trace_hardirqs_on
1:
#endif
	ldmts	sp++, r0-lr
@@ -676,7 +676,7 @@ debug_resume_kernel:
#ifdef CONFIG_TRACE_IRQFLAGS
	bld	r11, SYSREG_GM_OFFSET
	brcc	1f
	rcall	trace_hardirqs_on
	call	trace_hardirqs_on
1:
#endif
	mfsr	r2, SYSREG_SR
@@ -747,7 +747,7 @@ irq_level\level:
	mov	r11, sp
	mov	r12, \level

	rcall	do_IRQ
	call	do_IRQ

	lddsp	r4, sp[REG_SR]
	bfextu	r4, r4, SYSREG_M0_OFFSET, 3
@@ -767,7 +767,7 @@ irq_level\level:

1:
#ifdef CONFIG_TRACE_IRQFLAGS
	rcall	trace_hardirqs_on
	call	trace_hardirqs_on
#endif
	popm	r8-r9
	mtsr	rar_int\level, r8
@@ -807,7 +807,7 @@ irq_level\level:
	lddsp	r4, sp[REG_SR]
	bld	r4, SYSREG_GM_OFFSET
	brcs	1b
	rcall	preempt_schedule_irq
	call	preempt_schedule_irq
#endif
	rjmp	1b
	.endm
+7 −7
Original line number Diff line number Diff line
@@ -61,7 +61,7 @@ __sys_execve:
__sys_mmap2:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_mmap2
	call	sys_mmap2
	sub	sp, -4
	popm	pc

@@ -70,7 +70,7 @@ __sys_mmap2:
__sys_sendto:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_sendto
	call	sys_sendto
	sub	sp, -4
	popm	pc

@@ -79,7 +79,7 @@ __sys_sendto:
__sys_recvfrom:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_recvfrom
	call	sys_recvfrom
	sub	sp, -4
	popm	pc

@@ -88,7 +88,7 @@ __sys_recvfrom:
__sys_pselect6:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_pselect6
	call	sys_pselect6
	sub	sp, -4
	popm	pc

@@ -97,7 +97,7 @@ __sys_pselect6:
__sys_splice:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_splice
	call	sys_splice
	sub	sp, -4
	popm	pc

@@ -106,7 +106,7 @@ __sys_splice:
__sys_epoll_pwait:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_epoll_pwait
	call	sys_epoll_pwait
	sub	sp, -4
	popm	pc

@@ -115,6 +115,6 @@ __sys_epoll_pwait:
__sys_sync_file_range:
	pushm	lr
	st.w	--sp, ARG6
	rcall	sys_sync_file_range
	call	sys_sync_file_range
	sub	sp, -4
	popm	pc
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ adjust_length:
	lddpc	lr, _task_size
	sub	r11, lr, r12
	mov	r9, r11
	rcall	__strnlen_user
	call	__strnlen_user
	cp.w	r12, r9
	brgt	1f
	popm	pc