projects
/
unix-history
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
tags
|
clone url
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
From Bde:
[unix-history]
/
sys
/
kern
/
subr_mcount.c
diff --git
a/sys/kern/subr_mcount.c
b/sys/kern/subr_mcount.c
index
3c9204c
..
0a67d52
100644
(file)
--- a/
sys/kern/subr_mcount.c
+++ b/
sys/kern/subr_mcount.c
@@
-30,7
+30,8
@@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)subr_mcount.c 7.10 (Berkeley) 5/7/91
+ * from: @(#)subr_mcount.c 7.10 (Berkeley) 5/7/91
+ * $Id: subr_mcount.c,v 1.5 1993/12/20 16:23:51 davidg Exp $
*/
#ifdef GPROF
*/
#ifdef GPROF
@@
-46,14
+47,16
@@
int profiling = 3;
u_short *froms;
struct tostruct *tos = 0;
long tolimit = 0;
u_short *froms;
struct tostruct *tos = 0;
long tolimit = 0;
-char *s_lowpc = (char *)KERNBASE;
-extern char etext;
-char *s_highpc = &etext;
+extern char btext[];
+char *s_lowpc = btext;
+extern char etext[];
+char *s_highpc = etext;
u_long s_textsize = 0;
int ssiz;
u_short *sbuf;
u_short *kcount;
u_long s_textsize = 0;
int ssiz;
u_short *sbuf;
u_short *kcount;
+void
kmstartup()
{
u_long fromssize, tossize;
kmstartup()
{
u_long fromssize, tossize;
@@
-106,6
+109,7
@@
kmstartup()
kcount = (u_short *)(((int)sbuf) + sizeof (struct phdr));
}
kcount = (u_short *)(((int)sbuf) + sizeof (struct phdr));
}
+void
mcount()
{
register char *selfpc; /* r11 => r5 */
mcount()
{
register char *selfpc; /* r11 => r5 */
@@
-166,9
+170,6
@@
mcount()
asm(" movl (sp), r11"); /* selfpc = ... (jsb frame) */
asm(" movl 16(fp), r10"); /* frompcindex = (calls frame) */
#endif
asm(" movl (sp), r11"); /* selfpc = ... (jsb frame) */
asm(" movl 16(fp), r10"); /* frompcindex = (calls frame) */
#endif
-#if defined(i386)
- Fix Me!!
-#endif /* i386 */
#if defined(tahoe)
asm(" movl -8(fp),r12"); /* selfpc = callf frame */
asm(" movl (fp),r11");
#if defined(tahoe)
asm(" movl -8(fp),r12"); /* selfpc = callf frame */
asm(" movl (fp),r11");
@@
-187,8
+188,12
@@
mcount()
#if defined(hp300)
asm("movw sr,%0" : "=g" (s));
asm("movw #0x2700,sr");
#if defined(hp300)
asm("movw sr,%0" : "=g" (s));
asm("movw #0x2700,sr");
+#else
+#if defined(i386)
+ asm("cli");
#else
s = splhigh();
#else
s = splhigh();
+#endif
#endif
/*
* Check that frompcindex is a reasonable pc value.
#endif
/*
* Check that frompcindex is a reasonable pc value.
@@
-269,8
+274,12
@@
mcount()
done:
#if defined(hp300)
asm("movw %0,sr" : : "g" (s));
done:
#if defined(hp300)
asm("movw %0,sr" : : "g" (s));
+#else
+#if defined(i386)
+ asm("sti");
#else
splx(s);
#else
splx(s);
+#endif
#endif
/* and fall through */
out:
#endif
/* and fall through */
out: