sparc64: Split entry.S up into seperate files.
[deliverable/linux.git] / arch / sparc64 / kernel / misctrap.S
1 .type __do_privact,#function
2 __do_privact:
3 mov TLB_SFSR, %g3
4 stxa %g0, [%g3] ASI_DMMU ! Clear FaultValid bit
5 membar #Sync
6 sethi %hi(109f), %g7
7 ba,pt %xcc, etrap
8 109: or %g7, %lo(109b), %g7
9 call do_privact
10 add %sp, PTREGS_OFF, %o0
11 ba,pt %xcc, rtrap
12 nop
13 .size __do_privact,.-__do_privact
14
15 .type do_mna,#function
16 do_mna:
17 rdpr %tl, %g3
18 cmp %g3, 1
19
20 /* Setup %g4/%g5 now as they are used in the
21 * winfixup code.
22 */
23 mov TLB_SFSR, %g3
24 mov DMMU_SFAR, %g4
25 ldxa [%g4] ASI_DMMU, %g4
26 ldxa [%g3] ASI_DMMU, %g5
27 stxa %g0, [%g3] ASI_DMMU ! Clear FaultValid bit
28 membar #Sync
29 bgu,pn %icc, winfix_mna
30 rdpr %tpc, %g3
31
32 1: sethi %hi(109f), %g7
33 ba,pt %xcc, etrap
34 109: or %g7, %lo(109b), %g7
35 mov %l4, %o1
36 mov %l5, %o2
37 call mem_address_unaligned
38 add %sp, PTREGS_OFF, %o0
39 ba,pt %xcc, rtrap
40 nop
41 .size do_mna,.-do_mna
42
43 .type do_lddfmna,#function
44 do_lddfmna:
45 sethi %hi(109f), %g7
46 mov TLB_SFSR, %g4
47 ldxa [%g4] ASI_DMMU, %g5
48 stxa %g0, [%g4] ASI_DMMU ! Clear FaultValid bit
49 membar #Sync
50 mov DMMU_SFAR, %g4
51 ldxa [%g4] ASI_DMMU, %g4
52 ba,pt %xcc, etrap
53 109: or %g7, %lo(109b), %g7
54 mov %l4, %o1
55 mov %l5, %o2
56 call handle_lddfmna
57 add %sp, PTREGS_OFF, %o0
58 ba,pt %xcc, rtrap
59 nop
60 .size do_lddfmna,.-do_lddfmna
61
62 .type do_stdfmna,#function
63 do_stdfmna:
64 sethi %hi(109f), %g7
65 mov TLB_SFSR, %g4
66 ldxa [%g4] ASI_DMMU, %g5
67 stxa %g0, [%g4] ASI_DMMU ! Clear FaultValid bit
68 membar #Sync
69 mov DMMU_SFAR, %g4
70 ldxa [%g4] ASI_DMMU, %g4
71 ba,pt %xcc, etrap
72 109: or %g7, %lo(109b), %g7
73 mov %l4, %o1
74 mov %l5, %o2
75 call handle_stdfmna
76 add %sp, PTREGS_OFF, %o0
77 ba,pt %xcc, rtrap
78 nop
79 .size do_stdfmna,.-do_stdfmna
80
81 .type breakpoint_trap,#function
82 breakpoint_trap:
83 call sparc_breakpoint
84 add %sp, PTREGS_OFF, %o0
85 ba,pt %xcc, rtrap
86 nop
87 .size breakpoint_trap,.-breakpoint_trap
This page took 0.042973 seconds and 5 git commands to generate.