Linux Audio

Check our new training course

Yocto / OpenEmbedded training

Feb 10-13, 2025
Register
Loading...
v4.17
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifdef CONFIG_KGDB
 3	.globl		arch_kgdb_breakpoint
 4	.type		arch_kgdb_breakpoint,#function
 5arch_kgdb_breakpoint:
 6	ta		0x72
 7	retl
 8	 nop
 9	.size		arch_kgdb_breakpoint,.-arch_kgdb_breakpoint
10#endif
11
12	.type		__do_privact,#function
13__do_privact:
14	mov		TLB_SFSR, %g3
15	stxa		%g0, [%g3] ASI_DMMU	! Clear FaultValid bit
16	membar		#Sync
17	sethi		%hi(109f), %g7
18	ba,pt		%xcc, etrap
19109:	or		%g7, %lo(109b), %g7
20	call		do_privact
21	 add		%sp, PTREGS_OFF, %o0
22	ba,a,pt		%xcc, rtrap
 
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,a,pt		%xcc, rtrap
 
50	.size		do_mna,.-do_mna
51
52	.type		do_lddfmna,#function
53do_lddfmna:
54	sethi		%hi(109f), %g7
55	mov		TLB_SFSR, %g4
56	ldxa		[%g4] ASI_DMMU, %g5
57	stxa		%g0, [%g4] ASI_DMMU	! Clear FaultValid bit
58	membar		#Sync
59	mov		DMMU_SFAR, %g4
60	ldxa		[%g4] ASI_DMMU, %g4
61	ba,pt		%xcc, etrap
62109:	 or		%g7, %lo(109b), %g7
63	mov		%l4, %o1
64	mov		%l5, %o2
65	call		handle_lddfmna
66	 add		%sp, PTREGS_OFF, %o0
67	ba,a,pt		%xcc, rtrap
 
68	.size		do_lddfmna,.-do_lddfmna
69
70	.type		do_stdfmna,#function
71do_stdfmna:
72	sethi		%hi(109f), %g7
73	mov		TLB_SFSR, %g4
74	ldxa		[%g4] ASI_DMMU, %g5
75	stxa		%g0, [%g4] ASI_DMMU	! Clear FaultValid bit
76	membar		#Sync
77	mov		DMMU_SFAR, %g4
78	ldxa		[%g4] ASI_DMMU, %g4
79	ba,pt		%xcc, etrap
80109:	 or		%g7, %lo(109b), %g7
81	mov		%l4, %o1
82	mov		%l5, %o2
83	call		handle_stdfmna
84	 add		%sp, PTREGS_OFF, %o0
85	ba,a,pt		%xcc, rtrap
86	 nop
87	.size		do_stdfmna,.-do_stdfmna
88
89	.type		breakpoint_trap,#function
90breakpoint_trap:
91	call		sparc_breakpoint
92	 add		%sp, PTREGS_OFF, %o0
93	ba,pt		%xcc, rtrap
94	 nop
95	.size		breakpoint_trap,.-breakpoint_trap
v3.1
 
 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