Root/arch/sparc/kernel/misctrap.S

Source at commit 0de2b2b3be81048189a32f7a3d3ba0ba9ec817b6 created 11 years 11 months ago.
By Maarten ter Huurne, MIPS: JZ4740: Fixed value for round robin constant.
1#ifdef CONFIG_KGDB
2    .globl arch_kgdb_breakpoint
3    .type arch_kgdb_breakpoint,#function
4arch_kgdb_breakpoint:
5    ta 0x72
6    retl
7     nop
8    .size arch_kgdb_breakpoint,.-arch_kgdb_breakpoint
9#endif
10
11    .type __do_privact,#function
12__do_privact:
13    mov TLB_SFSR, %g3
14    stxa %g0, [%g3] ASI_DMMU ! Clear FaultValid bit
15    membar #Sync
16    sethi %hi(109f), %g7
17    ba,pt %xcc, etrap
18109: or %g7, %lo(109b), %g7
19    call do_privact
20     add %sp, PTREGS_OFF, %o0
21    ba,pt %xcc, rtrap
22     nop
23    .size __do_privact,.-__do_privact
24
25    .type do_mna,#function
26do_mna:
27    rdpr %tl, %g3
28    cmp %g3, 1
29
30    /* Setup %g4/%g5 now as they are used in the
31     * winfixup code.
32     */
33    mov TLB_SFSR, %g3
34    mov DMMU_SFAR, %g4
35    ldxa [%g4] ASI_DMMU, %g4
36    ldxa [%g3] ASI_DMMU, %g5
37    stxa %g0, [%g3] ASI_DMMU ! Clear FaultValid bit
38    membar #Sync
39    bgu,pn %icc, winfix_mna
40     rdpr %tpc, %g3
41
421: sethi %hi(109f), %g7
43    ba,pt %xcc, etrap
44109: or %g7, %lo(109b), %g7
45    mov %l4, %o1
46    mov %l5, %o2
47    call mem_address_unaligned
48     add %sp, PTREGS_OFF, %o0
49    ba,pt %xcc, rtrap
50     nop
51    .size do_mna,.-do_mna
52
53    .type do_lddfmna,#function
54do_lddfmna:
55    sethi %hi(109f), %g7
56    mov TLB_SFSR, %g4
57    ldxa [%g4] ASI_DMMU, %g5
58    stxa %g0, [%g4] ASI_DMMU ! Clear FaultValid bit
59    membar #Sync
60    mov DMMU_SFAR, %g4
61    ldxa [%g4] ASI_DMMU, %g4
62    ba,pt %xcc, etrap
63109: or %g7, %lo(109b), %g7
64    mov %l4, %o1
65    mov %l5, %o2
66    call handle_lddfmna
67     add %sp, PTREGS_OFF, %o0
68    ba,pt %xcc, rtrap
69     nop
70    .size do_lddfmna,.-do_lddfmna
71
72    .type do_stdfmna,#function
73do_stdfmna:
74    sethi %hi(109f), %g7
75    mov TLB_SFSR, %g4
76    ldxa [%g4] ASI_DMMU, %g5
77    stxa %g0, [%g4] ASI_DMMU ! Clear FaultValid bit
78    membar #Sync
79    mov DMMU_SFAR, %g4
80    ldxa [%g4] ASI_DMMU, %g4
81    ba,pt %xcc, etrap
82109: or %g7, %lo(109b), %g7
83    mov %l4, %o1
84    mov %l5, %o2
85    call handle_stdfmna
86     add %sp, PTREGS_OFF, %o0
87    ba,pt %xcc, rtrap
88     nop
89    .size do_stdfmna,.-do_stdfmna
90
91    .type breakpoint_trap,#function
92breakpoint_trap:
93    call sparc_breakpoint
94     add %sp, PTREGS_OFF, %o0
95    ba,pt %xcc, rtrap
96     nop
97    .size breakpoint_trap,.-breakpoint_trap
98

Archive Download this file



interactive