Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6
[linux-2.6] / arch / sh / include / asm / entry-macros.S
1 ! entry.S macro define
2         
3         .macro  cli
4         stc     sr, r0
5         or      #0xf0, r0
6         ldc     r0, sr
7         .endm
8
9         .macro  sti
10         mov     #0xf0, r11
11         extu.b  r11, r11
12         not     r11, r11
13         stc     sr, r10
14         and     r11, r10
15 #ifdef CONFIG_CPU_HAS_SR_RB
16         stc     k_g_imask, r11
17         or      r11, r10
18 #endif
19         ldc     r10, sr
20         .endm
21
22         .macro  get_current_thread_info, ti, tmp
23 #ifdef CONFIG_CPU_HAS_SR_RB
24         stc     r7_bank, \ti
25 #else
26         mov     #((THREAD_SIZE - 1) >> 10) ^ 0xff, \tmp
27         shll8   \tmp
28         shll2   \tmp
29         mov     r15, \ti
30         and     \tmp, \ti
31 #endif  
32         .endm
33
34 #if defined(CONFIG_CPU_SH2A) || defined(CONFIG_CPU_SH4)
35 # define PREF(x)        pref    @x
36 #else
37 # define PREF(x)        nop
38 #endif