Research V7 development
authorKen Thompson <ken@research.uucp>
Fri, 8 Jun 1979 20:51:25 +0000 (15:51 -0500)
committerKen Thompson <ken@research.uucp>
Fri, 8 Jun 1979 20:51:25 +0000 (15:51 -0500)
Work on file usr/sys/conf/c.c
Work on file usr/sys/conf/l.s
Work on file usr/sys/conf/mch0.s

Co-Authored-By: Dennis Ritchie <dmr@research.uucp>
Synthesized-from: v7

usr/sys/conf/c.c [new file with mode: 0644]
usr/sys/conf/l.s [new file with mode: 0644]
usr/sys/conf/mch0.s [new file with mode: 0644]

diff --git a/usr/sys/conf/c.c b/usr/sys/conf/c.c
new file mode 100644 (file)
index 0000000..8b82f1f
--- /dev/null
@@ -0,0 +1,86 @@
+#include "../h/param.h"
+#include "../h/systm.h"
+#include "../h/buf.h"
+#include "../h/tty.h"
+#include "../h/conf.h"
+#include "../h/proc.h"
+#include "../h/text.h"
+#include "../h/dir.h"
+#include "../h/user.h"
+#include "../h/file.h"
+#include "../h/inode.h"
+#include "../h/acct.h"
+
+int    nulldev();
+int    nodev();
+int    rkstrategy();
+struct buf     rktab;
+int    htopen(), htclose(), htstrategy();
+struct buf     httab;
+struct bdevsw  bdevsw[] =
+{
+       nulldev, nulldev, rkstrategy, &rktab,   /* rk = 0 */
+       nodev, nodev, nodev, 0, /* rp = 1 */
+       nodev, nodev, nodev, 0, /* rf = 2 */
+       nodev, nodev, nodev, 0, /* tm = 3 */
+       nodev, nodev, nodev, 0, /* tc = 4 */
+       nodev, nodev, nodev, 0, /* hs = 5 */
+       nodev, nodev, nodev, 0, /* hp = 6 */
+       htopen, htclose, htstrategy, &httab,    /* ht = 7 */
+       nodev, nodev, nodev, 0, /* rl = 8 */
+       0
+};
+
+int    klopen(), klclose(), klread(), klwrite(), klioctl();
+int    mmread(), mmwrite();
+int    rkread(), rkwrite();
+int    htread(), htwrite();
+int    syopen(), syread(), sywrite(), sysioctl();
+
+struct cdevsw  cdevsw[] =
+{
+       klopen, klclose, klread, klwrite, klioctl, nulldev, 0,  /* console = 0 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* pc = 1 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* lp = 2 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dc = 3 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dh = 4 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dp = 5 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dj = 6 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* dn = 7 */
+       nulldev, nulldev, mmread, mmwrite, nodev, nulldev, 0,   /* mem = 8 */
+       nulldev, nulldev, rkread, rkwrite, nodev, nulldev, 0,   /* rk = 9 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rf = 10 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rp = 11 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* tm = 12 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hs = 13 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* hp = 14 */
+       htopen, htclose, htread, htwrite, nodev, nulldev, 0,    /* ht = 15 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* du = 16 */
+       syopen, nulldev, syread, sywrite, sysioctl, nulldev, 0, /* tty = 17 */
+       nodev, nodev, nodev, nodev, nodev, nulldev, 0, /* rl = 18 */
+       0
+};
+
+int    ttyopen(), ttyclose(), ttread(), ttwrite(), ttyinput(), ttstart();
+struct linesw  linesw[] =
+{
+       ttyopen, nulldev, ttread, ttwrite, nodev, ttyinput, ttstart, /* 0 */
+       0
+};
+int    rootdev = makedev(0, 0);
+int    swapdev = makedev(0, 0);
+int    pipedev = makedev(0, 0);
+int    nldisp = 1;
+daddr_t        swplo   = 4000;
+int    nswap   = 872;
+       
+struct buf     buf[NBUF];
+struct file    file[NFILE];
+struct inode   inode[NINODE];
+int    mpxchan();
+int    (*ldmpx)() = mpxchan;
+struct proc    proc[NPROC];
+struct text    text[NTEXT];
+struct buf     bfreelist;
+struct acct    acctbuf;
+struct inode   *acctp;
diff --git a/usr/sys/conf/l.s b/usr/sys/conf/l.s
new file mode 100644 (file)
index 0000000..c555d95
--- /dev/null
@@ -0,0 +1,72 @@
+/ low core
+
+.data
+ZERO:
+
+br4 = 200
+br5 = 240
+br6 = 300
+br7 = 340
+
+. = ZERO+0
+       br      1f
+       4
+
+/ trap vectors
+       trap; br7+0.            / bus error
+       trap; br7+1.            / illegal instruction
+       trap; br7+2.            / bpt-trace trap
+       trap; br7+3.            / iot trap
+       trap; br7+4.            / power fail
+       trap; br7+5.            / emulator trap
+       start;br7+6.            / system  (overlaid by 'trap')
+
+. = ZERO+40
+.globl start, dump
+1:     jmp     start
+       jmp     dump
+
+
+. = ZERO+60
+       klin; br4
+       klou; br4
+
+. = ZERO+100
+       kwlp; br6
+       kwlp; br6
+
+. = ZERO+114
+       trap; br7+7.            / 11/70 parity
+
+. = ZERO+220
+       rkio; br5
+
+. = ZERO+224
+       htio; br5
+
+. = ZERO+240
+       trap; br7+7.            / programmed interrupt
+       trap; br7+8.            / floating point
+       trap; br7+9.            / segmentation violation
+
+//////////////////////////////////////////////////////
+/              interface code to C
+//////////////////////////////////////////////////////
+
+.text
+.globl call, trap
+
+.globl _klrint
+klin:  jsr     r0,call; jmp _klrint
+.globl _klxint
+klou:  jsr     r0,call; jmp _klxint
+
+.globl _clock
+kwlp:  jsr     r0,call; jmp _clock
+
+
+.globl _rkintr
+rkio:  jsr     r0,call; jmp _rkintr
+
+.globl _htintr
+htio:  jsr     r0,call; jmp _htintr
diff --git a/usr/sys/conf/mch0.s b/usr/sys/conf/mch0.s
new file mode 100644 (file)
index 0000000..6734653
--- /dev/null
@@ -0,0 +1,2 @@
+HTDUMP = 1
+TUDUMP = 0