Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 66060
b: refs/heads/master
c: a7e30b8
h: refs/heads/master
v: v3
  • Loading branch information
Philippe Rétornaz authored and Haavard Skinnemoen committed Oct 11, 2007
1 parent 9baf8ab commit 56ba867
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 2 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: bb7aa6d47fcd4f9ab18b4ade2ba078f7719f74ca
refs/heads/master: a7e30b8d91d3291de4543d97849193ebc3ec4c1c
26 changes: 25 additions & 1 deletion trunk/arch/avr32/kernel/entry-avr32b.S
Original file line number Diff line number Diff line change
Expand Up @@ -159,11 +159,18 @@ handle_vmalloc_miss:

.section .scall.text,"ax",@progbits
system_call:
#ifdef CONFIG_PREEMPT
mask_interrupts
#endif
pushm r12 /* r12_orig */
stmts --sp, r0-lr
zero_fp

mfsr r0, SYSREG_RAR_SUP
mfsr r1, SYSREG_RSR_SUP
#ifdef CONFIG_PREEMPT
unmask_interrupts
#endif
zero_fp
stm --sp, r0-r1

/* check for syscall tracing */
Expand Down Expand Up @@ -638,6 +645,13 @@ irq_level\level:
stmts --sp,r0-lr
mfsr r8, rar_int\level
mfsr r9, rsr_int\level

#ifdef CONFIG_PREEMPT
sub r11, pc, (. - system_call)
cp.w r11, r8
breq 4f
#endif

pushm r8-r9

mov r11, sp
Expand Down Expand Up @@ -668,6 +682,16 @@ irq_level\level:
sub sp, -4 /* ignore r12_orig */
rete

#ifdef CONFIG_PREEMPT
4: mask_interrupts
mfsr r8, rsr_int\level
sbr r8, 16
mtsr rsr_int\level, r8
ldmts sp++, r0-lr
sub sp, -4 /* ignore r12_orig */
rete
#endif

2: get_thread_info r0
ld.w r1, r0[TI_flags]
bld r1, TIF_CPU_GOING_TO_SLEEP
Expand Down

0 comments on commit 56ba867

Please sign in to comment.