summaryrefslogtreecommitdiff
path: root/sys/arch/mvmeppc/include/profile.h
diff options
context:
space:
mode:
authorSteve Murphree <smurph@cvs.openbsd.org>2001-06-26 21:58:11 +0000
committerSteve Murphree <smurph@cvs.openbsd.org>2001-06-26 21:58:11 +0000
commit416f561c78b0eca90fdb484e72a96080b0825dca (patch)
treed310db0254b85229b90b9d90e79cabfbbcb6101a /sys/arch/mvmeppc/include/profile.h
parent77682e0d8d22531ed2952aaab30aae7c69483b3d (diff)
Initial import of mvmeppc.
Diffstat (limited to 'sys/arch/mvmeppc/include/profile.h')
-rw-r--r--sys/arch/mvmeppc/include/profile.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/sys/arch/mvmeppc/include/profile.h b/sys/arch/mvmeppc/include/profile.h
new file mode 100644
index 00000000000..f961bdbc427
--- /dev/null
+++ b/sys/arch/mvmeppc/include/profile.h
@@ -0,0 +1,73 @@
+/* $OpenBSD: profile.h,v 1.1 2001/06/26 21:57:48 smurph Exp $ */
+
+/*
+ * Copyright (c) 1998 Dale Rahn. All rights reserved.
+ *
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Dale Rahn.
+ * 4. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#define MCOUNT \
+ __asm__(" \
+ .section \".text\" \n\
+ .align 2 \n\
+ .globl _mcount \n\
+ .type _mcount,@function \n\
+ _mcount: \n\
+ lwz 11, 4(1) \n\
+ mflr 0 \n\
+ stw 0, 4(1) \n\
+ stwu 1, -48(1) \n\
+ stw 3, 8(1) \n\
+ stw 4, 12(1) \n\
+ stw 5, 16(1) \n\
+ stw 6, 20(1) \n\
+ stw 7, 24(1) \n\
+ stw 8, 28(1) \n\
+ stw 9, 32(1) \n\
+ stw 10,36(1) \n\
+ stw 11,40(1) \n\
+ mr 4, 0 \n\
+ mr 3, 11 \n\
+ bl __mcount \n\
+ lwz 3, 8(1) \n\
+ lwz 4, 12(1) \n\
+ lwz 5, 16(1) \n\
+ lwz 6, 20(1) \n\
+ lwz 7, 24(1) \n\
+ lwz 8, 28(1) \n\
+ lwz 9, 32(1) \n\
+ lwz 10,36(1) \n\
+ lwz 11,40(1) \n\
+ addi 1, 1, 48 \n\
+ lwz 0, 4(1) \n\
+ mtlr 11 \n\
+ stw 11, 4(1) \n\
+ mtctr 0 \n\
+ bctr \n\
+ .Lfe2: \n\
+ .size _mcount, .Lfe2-_mcount \n\
+ ");
+#define _MCOUNT_DECL static __mcount