Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/macppc/macppc Now we can use symbols in DDB. :-)



details:   https://anonhg.NetBSD.org/src/rev/198527497a58
branches:  trunk
changeset: 472411:198527497a58
user:      tsubai <tsubai%NetBSD.org@localhost>
date:      Thu Apr 29 05:15:30 1999 +0000

description:
Now we can use symbols in DDB. :-)

diffstat:

 sys/arch/macppc/macppc/locore.S  |  12 ++++++++----
 sys/arch/macppc/macppc/machdep.c |  16 +++++++++++++---
 2 files changed, 21 insertions(+), 7 deletions(-)

diffs (77 lines):

diff -r ee39cefa43e4 -r 198527497a58 sys/arch/macppc/macppc/locore.S
--- a/sys/arch/macppc/macppc/locore.S   Thu Apr 29 03:58:27 1999 +0000
+++ b/sys/arch/macppc/macppc/locore.S   Thu Apr 29 05:15:30 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.S,v 1.13 1999/03/25 00:41:47 mrg Exp $  */
+/*     $NetBSD: locore.S,v 1.14 1999/04/29 05:15:30 tsubai Exp $       */
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -133,9 +133,13 @@
        lis     8,_C_LABEL(end)@ha
        addi    8,8,_C_LABEL(end)@l
 #ifdef DDB
-       /*
-        * XXX Account for symbols.
-        */
+       /* skip symbol table */
+       add     9,6,7                   /* r9 = args + l */
+       lwz     9,-8(9)                 /* esym */
+       cmpwi   9,0
+       beq     1f
+       mr      8,9
+1:
 #endif
        li      9,PGOFSET
        add     8,8,9
diff -r ee39cefa43e4 -r 198527497a58 sys/arch/macppc/macppc/machdep.c
--- a/sys/arch/macppc/macppc/machdep.c  Thu Apr 29 03:58:27 1999 +0000
+++ b/sys/arch/macppc/macppc/machdep.c  Thu Apr 29 05:15:30 1999 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: machdep.c,v 1.41 1999/04/17 21:16:46 ws Exp $  */
+/*     $NetBSD: machdep.c,v 1.42 1999/04/29 05:15:30 tsubai Exp $      */
 
 /*
  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -138,6 +138,10 @@
 
 int cold = 1;
 
+#ifdef DDB
+void *startsym, *endsym;
+#endif
+
 void
 initppc(startkernel, endkernel, args)
        u_int startkernel, endkernel;
@@ -152,7 +156,6 @@
        extern tlbdsmiss, tlbdsmsize;
 #ifdef DDB
        extern ddblow, ddbsize;
-       extern void *startsym, *endsym;
 #endif
 #if NIPKDB > 0
        extern ipkdblow, ipkdbsize;
@@ -291,6 +294,13 @@
        /*
         * Parse arg string.
         */
+#ifdef DDB
+       bcopy(args + strlen(args) + 1, &startsym, sizeof(startsym));
+       bcopy(args + strlen(args) + 5, &endsym, sizeof(endsym));
+       if (startsym == NULL || endsym == NULL)
+               startsym = endsym = NULL;
+#endif
+
        bootpath = args;
        while (*++args && *args != ' ');
        if (*args) {
@@ -311,7 +321,7 @@
        }
 
 #ifdef DDB
-       /* ddb_init((int)(endsym - startsym), startsym, endsym); */
+       ddb_init((int)((u_int)endsym - (u_int)startsym), startsym, endsym);
 #endif
 #if NIPKDB > 0
        /*



Home | Main Index | Thread Index | Old Index