kdb additions
authorSam Leffler <sam@ucbvax.Berkeley.EDU>
Wed, 26 Nov 1986 09:06:28 +0000 (01:06 -0800)
committerSam Leffler <sam@ucbvax.Berkeley.EDU>
Wed, 26 Nov 1986 09:06:28 +0000 (01:06 -0800)
SCCS-vsn: sys/conf/files 7.2
SCCS-vsn: sys/tahoe/conf/Makefile.tahoe 1.7
SCCS-vsn: sys/tahoe/stand/boot.c 1.4

usr/src/sys/conf/files
usr/src/sys/tahoe/conf/Makefile.tahoe
usr/src/sys/tahoe/stand/boot.c

index fd2946d..cd3eb50 100644 (file)
@@ -1,3 +1,16 @@
+kdb/kdb_access.c       optional kdb
+kdb/kdb_command.c      optional kdb
+kdb/kdb_ctype.c                optional kdb
+kdb/kdb_expr.c         optional kdb
+kdb/kdb_format.c       optional kdb
+kdb/kdb_input.c                optional kdb
+kdb/kdb_message.c      optional kdb
+kdb/kdb_output.c       optional kdb
+kdb/kdb_pcs.c          optional kdb
+kdb/kdb_print.c                optional kdb
+kdb/kdb_runpcs.c       optional kdb
+kdb/kdb_sym.c          optional kdb
+kdb/kdb_trap.c         optional kdb
 net/af.c               standard
 net/if.c               standard
 net/if_loop.c          optional loop
 net/af.c               standard
 net/if.c               standard
 net/if_loop.c          optional loop
index 8b082c4..4c5e04c 100644 (file)
@@ -1,4 +1,4 @@
-#      @(#)Makefile.tahoe      1.6 (Berkeley) %G%
+#      @(#)Makefile.tahoe      1.7 (Berkeley) %G%
 #
 # Makefile for 4.3 BSD
 #
 #
 # Makefile for 4.3 BSD
 #
@@ -12,7 +12,7 @@
 #      /sys/conf/Makefile.``machinetype''
 # after which config should be rerun for all machines.
 #
 #      /sys/conf/Makefile.``machinetype''
 # after which config should be rerun for all machines.
 #
-# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE
+# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE INVISIBLE TO MAKEFILE
 #      IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
 #
 # -DTRACE      compile in kernel tracing hooks
 #      IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
 #
 # -DTRACE      compile in kernel tracing hooks
@@ -72,6 +72,9 @@ af.o uipc_proto.o locore.o: Makefile
 # depend on maxusers
 assym.s machdep.o: Makefile
 
 # depend on maxusers
 assym.s machdep.o: Makefile
 
+# depends on KDB (cons.o also depends on GENERIC)
+trap.o cons.o: Makefile
+
 assym.s: ../h/param.h ../tahoe/pte.h ../h/buf.h ../h/vmparam.h \
     ../h/vmmeter.h ../h/dir.h ../h/cmap.h ../h/map.h ../tahoevba/vbavar.h \
     ../h/proc.h ../h/msgbuf.h ../tahoe/scb.h
 assym.s: ../h/param.h ../tahoe/pte.h ../h/buf.h ../h/vmparam.h \
     ../h/vmmeter.h ../h/dir.h ../h/cmap.h ../h/map.h ../tahoevba/vbavar.h \
     ../h/proc.h ../h/msgbuf.h ../tahoe/scb.h
index c0c1b5a..0fbd20b 100644 (file)
@@ -1,4 +1,4 @@
-/*     boot.c  1.3     86/11/25        */
+/*     boot.c  1.4     86/11/25        */
 
 #include "../machine/mtpr.h"
 
 
 #include "../machine/mtpr.h"
 
@@ -118,9 +118,10 @@ main()
 copyunix(howto, devtype, io)
        register io, howto, devtype;    /* NOTE ORDER */
 {
 copyunix(howto, devtype, io)
        register io, howto, devtype;    /* NOTE ORDER */
 {
-       struct exec x;
+       register int esym;              /* must be r9 */
        register int i;
        register char *addr;
        register int i;
        register char *addr;
+       struct exec x;
 
        i = read(io, (char *)&x, sizeof x);
        if (i != sizeof x ||
 
        i = read(io, (char *)&x, sizeof x);
        if (i != sizeof x ||
@@ -140,6 +141,27 @@ copyunix(howto, devtype, io)
                goto shread;
        addr += x.a_data;
        printf("+%d", x.a_bss);
                goto shread;
        addr += x.a_data;
        printf("+%d", x.a_bss);
+       if (howto & RB_KDB && x.a_syms) {
+               for (i = 0; i < x.a_bss; i++)
+                       *addr++ = 0;
+               *(int *)addr = x.a_syms;                /* symbol table size */
+               addr += sizeof (int);
+               printf("[+%d", x.a_syms);
+               if (read(io, addr, x.a_syms) != x.a_syms)
+                       goto shread;
+               addr += x.a_syms;
+               if (read(io, addr, sizeof (int)) != sizeof (int))
+                       goto shread;
+               i = *(int *)addr - sizeof (int);        /* string table size */
+               addr += sizeof (int);
+               printf("+%d]", i);
+               if (read(io, addr, i) != i)
+                       goto shread;
+               addr += i;
+               esym = roundup((int)addr, sizeof (int));
+               x.a_bss = 0;
+       } else
+               howto &= ~RB_KDB;
        x.a_bss += 32*1024;     /* slop */
        for (i = 0; i < x.a_bss; i++)
                *addr++ = 0;
        x.a_bss += 32*1024;     /* slop */
        for (i = 0; i < x.a_bss; i++)
                *addr++ = 0;