xref: /netbsd-src/sys/arch/powerpc/include/profile.h (revision 89c5a767f8fc7a4633b2d409966e2becbb98ff92)
1 /*	$NetBSD: profile.h,v 1.4 1999/03/05 07:59:14 tsubai Exp $	*/
2 
3 #define	_MCOUNT_DECL	void mcount
4 
5 #ifdef PIC
6 #define _PLT "@plt"
7 #else
8 #define _PLT
9 #endif
10 
11 #define MCOUNT __asm("		\
12 	.globl _mcount;		\
13 _mcount:			\
14 	stwu	1,-64(1);	\
15 	stw	3,16(1);	\
16 	stw	4,20(1);	\
17 	stw	5,24(1);	\
18 	stw	6,28(1);	\
19 	stw	7,32(1);	\
20 	stw	8,36(1);	\
21 	stw	9,40(1);	\
22 	stw	10,44(1);	\
23 				\
24 	mflr	4;		\
25 	stw	4,48(1);	\
26 	lwz	3,68(1);	\
27 	bl	mcount" _PLT ";	\
28 	lwz	3,68(1);	\
29 	mtlr	3;		\
30 	lwz	4,48(1);	\
31 	mtctr	4;		\
32 				\
33 	lwz	3,16(1);	\
34 	lwz	4,20(1);	\
35 	lwz	5,24(1);	\
36 	lwz	6,28(1);	\
37 	lwz	7,32(1);	\
38 	lwz	8,36(1);	\
39 	lwz	9,40(1);	\
40 	lwz	10,44(1);	\
41 	addi	1,1,64;		\
42 	bctr;			");
43 
44 #ifdef _KERNEL
45 #define	MCOUNT_ENTER
46 #define	MCONT_EXIT
47 #endif
48