~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise

« back to all changes in this revision

Viewing changes to arch/arm/kernel/entry-common.S

  • Committer: Bazaar Package Importer
  • Author(s): Paolo Pisati
  • Date: 2011-06-29 15:23:51 UTC
  • mfrom: (26.1.1 natty-proposed)
  • Revision ID: james.westby@ubuntu.com-20110629152351-xs96tm303d95rpbk
Tags: 3.0.0-1200.2
* Rebased against 3.0.0-6.7
* BSP from TI based on 3.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
 * Ok, we need to do extra processing, enter the slow path.
44
44
 */
45
45
fast_work_pending:
46
 
        tst     r1, #_TIF_KERNEL_TRACE          @ flag can be set asynchronously
47
 
        bne     __sys_trace_return
48
46
        str     r0, [sp, #S_R0+S_OFF]!          @ returned r0
49
47
work_pending:
50
48
        tst     r1, #_TIF_NEED_RESCHED
66
64
ENTRY(ret_to_user)
67
65
ret_slow_syscall:
68
66
        disable_irq                             @ disable interrupts
 
67
ENTRY(ret_to_user_from_irq)
69
68
        ldr     r1, [tsk, #TI_FLAGS]
70
69
        tst     r1, #_TIF_WORK_MASK
71
70
        bne     work_pending
77
76
        arch_ret_to_user r1, lr
78
77
 
79
78
        restore_user_regs fast = 0, offset = 0
 
79
ENDPROC(ret_to_user_from_irq)
80
80
ENDPROC(ret_to_user)
81
81
 
82
82
/*
87
87
        get_thread_info tsk
88
88
        ldr     r1, [tsk, #TI_FLAGS]            @ check for syscall tracing
89
89
        mov     why, #1
90
 
        tst     r1, #_TIF_SYSCALL_TRACE | _TIF_KERNEL_TRACE
91
 
        beq     ret_slow_syscall                @ are we tracing syscalls?
 
90
        tst     r1, #_TIF_SYSCALL_TRACE         @ are we tracing syscalls?
 
91
        beq     ret_slow_syscall
92
92
        mov     r1, sp
93
93
        mov     r0, #1                          @ trace exit [IP = 1]
94
94
        bl      syscall_trace
443
443
1:
444
444
#endif
445
445
 
446
 
        tst     r10, #_TIF_SYSCALL_TRACE | _TIF_KERNEL_TRACE
447
 
        bne     __sys_trace                     @ are we tracing syscalls?
 
446
        tst     r10, #_TIF_SYSCALL_TRACE                @ are we tracing syscalls?
 
447
        bne     __sys_trace
448
448
 
449
449
        cmp     scno, #NR_syscalls              @ check upper syscall limit
450
450
        adr     lr, BSYM(ret_fast_syscall)      @ return address