From: William F. Jolitz Date: Sun, 5 Jul 1992 18:07:07 +0000 (-0800) Subject: 386BSD 0.1 development X-Git-Tag: 386BSD-0.1~88 X-Git-Url: https://git.subgeniuskitty.com/unix-history/.git/commitdiff_plain/7c6d863706f1dade8eba78648ed0007d7b73e95c 386BSD 0.1 development Work on file usr/src/sys.386bsd/compile/GENERICISA/vector.s Work on file usr/src/sys.386bsd/compile/GENERICISA/ioconf.c Work on file usr/src/sys.386bsd/compile/GENERICISA/as.h Work on file usr/src/sys.386bsd/compile/GENERICISA/com.h Co-Authored-By: Lynne Greer Jolitz Synthesized-from: 386BSD-0.1 --- diff --git a/usr/src/sys.386bsd/compile/GENERICISA/as.h b/usr/src/sys.386bsd/compile/GENERICISA/as.h new file mode 100644 index 0000000000..87d748effb --- /dev/null +++ b/usr/src/sys.386bsd/compile/GENERICISA/as.h @@ -0,0 +1 @@ +#define NAS 3 diff --git a/usr/src/sys.386bsd/compile/GENERICISA/com.h b/usr/src/sys.386bsd/compile/GENERICISA/com.h new file mode 100644 index 0000000000..d5a3ae1cd0 --- /dev/null +++ b/usr/src/sys.386bsd/compile/GENERICISA/com.h @@ -0,0 +1 @@ +#define NCOM 3 diff --git a/usr/src/sys.386bsd/compile/GENERICISA/ioconf.c b/usr/src/sys.386bsd/compile/GENERICISA/ioconf.c new file mode 100644 index 0000000000..ca1d359446 --- /dev/null +++ b/usr/src/sys.386bsd/compile/GENERICISA/ioconf.c @@ -0,0 +1,64 @@ +/* + * ioconf.c + * Generated by config program + */ + +#include "machine/pte.h" +#include "sys/param.h" +#include "sys/buf.h" + +#define V(s) V##s +#define C (caddr_t) + +/* + * ISA devices + */ + +#include "i386/isa/isa_device.h" +#include "i386/isa/isa.h" +#include "i386/isa/icu.h" + +extern struct isa_driver wddriver; extern V(wd0)(); +extern struct isa_driver fddriver; extern V(fd0)(); +extern struct isa_driver asdriver; extern V(as0)(); +extern struct isa_driver pcdriver; extern V(pc0)(); +extern struct isa_driver npxdriver; extern V(npx0)(); +extern struct isa_driver comdriver; extern V(com1)(); +extern struct isa_driver comdriver; extern V(com2)(); +extern struct isa_driver wedriver; extern V(we0)(); +extern struct isa_driver nedriver; extern V(ne0)(); +extern struct isa_driver ecdriver; extern V(ec0)(); +extern struct isa_driver isdriver; extern V(is0)(); +extern struct isa_driver wtdriver; extern V(wt0)(); + +struct isa_device isa_devtab_bio[] = { +/* driver iobase irq drq maddr msiz intr unit */ +{ &wddriver, IO_WD1, IRQ14, -1, C 0x00000, 0, V(wd0), 0 }, +{ &fddriver, IO_FD1, IRQ6, 2, C 0x00000, 0, V(fd0), 0 }, +{ &asdriver, 0x330, IRQ11, 5, C 0x00000, 0, V(as0), 0 }, +{ &wtdriver, 0x300, IRQ5, 1, C 0x00000, 0, V(wt0), 0 }, +0 +}; +struct isa_device isa_devtab_tty[] = { +/* driver iobase irq drq maddr msiz intr unit */ +{ &pcdriver, IO_KBD, IRQ1, -1, C 0x00000, 0, V(pc0), 0 }, +{ &comdriver, IO_COM1, IRQ4, -1, C 0x00000, 0, V(com1), 1 }, +{ &comdriver, IO_COM2, IRQ3, -1, C 0x00000, 0, V(com2), 2 }, +0 +}; + +struct isa_device isa_devtab_net[] = { +/* driver iobase irq drq maddr msiz intr unit */ +{ &wedriver, 0x280, IRQ2, -1, C 0xD0000, 8192, V(we0), 0 }, +{ &nedriver, 0x300, IRQ2, -1, C 0x00000, 0, V(ne0), 0 }, +{ &ecdriver, 0x250, IRQ2, -1, C 0xD8000, 8192, V(ec0), 0 }, +{ &isdriver, 0x280, IRQ10, 7, C 0x00000, 0, V(is0), 0 }, +0 +}; + +struct isa_device isa_devtab_null[] = { +/* driver iobase irq drq maddr msiz intr unit */ +{ &npxdriver, IO_NPX, IRQ13, -1, C 0x00000, 0, V(npx0), 0 }, +0 +}; + diff --git a/usr/src/sys.386bsd/compile/GENERICISA/vector.s b/usr/src/sys.386bsd/compile/GENERICISA/vector.s new file mode 100644 index 0000000000..b0befd8995 --- /dev/null +++ b/usr/src/sys.386bsd/compile/GENERICISA/vector.s @@ -0,0 +1,138 @@ +/* + * AT/386 + * Interrupt vector routines + * Generated by config program + */ + +#include "i386/isa/isa.h" +#include "i386/isa/icu.h" + +#define VEC(name) .align 4; .globl _V/**/name; _V/**/name: + + .globl _hardclock +VEC(clk) + INTR(0, _highmask, 0) + call _hardclock + INTREXIT1 + + + .globl _wdintr, _wd0mask + .data +_wd0mask: .long 0 + .text +VEC(wd0) + INTR(0, _biomask, 1) + call _wdintr + INTREXIT2 + + + .globl _fdintr, _fd0mask + .data +_fd0mask: .long 0 + .text +VEC(fd0) + INTR(0, _biomask, 2) + call _fdintr + INTREXIT1 + + + .globl _asintr, _as0mask + .data +_as0mask: .long 0 + .text +VEC(as0) + INTR(0, _biomask, 3) + call _asintr + INTREXIT2 + + + .globl _pcrint, _pc0mask + .data +_pc0mask: .long 0 + .text +VEC(pc0) + INTR(0, _ttymask, 4) + call _pcrint + INTREXIT1 + + + .globl _npxintr, _npx0mask + .data +_npx0mask: .long 0 + .text +VEC(npx0) + INTR(0, _npx0mask, 5) + call _npxintr + INTREXIT2 + + + .globl _comintr, _com1mask + .data +_com1mask: .long 0 + .text +VEC(com1) + INTR(1, _ttymask, 6) + call _comintr + INTREXIT1 + + + .globl _comintr, _com2mask + .data +_com2mask: .long 0 + .text +VEC(com2) + INTR(2, _ttymask, 7) + call _comintr + INTREXIT1 + + + .globl _weintr, _we0mask + .data +_we0mask: .long 0 + .text +VEC(we0) + INTR(0, _netmask, 8) + call _weintr + INTREXIT1 + + + .globl _neintr, _ne0mask + .data +_ne0mask: .long 0 + .text +VEC(ne0) + INTR(0, _netmask, 9) + call _neintr + INTREXIT1 + + + .globl _ecintr, _ec0mask + .data +_ec0mask: .long 0 + .text +VEC(ec0) + INTR(0, _netmask, 10) + call _ecintr + INTREXIT1 + + + .globl _isintr, _is0mask + .data +_is0mask: .long 0 + .text +VEC(is0) + INTR(0, _netmask, 11) + call _isintr + INTREXIT2 + + + .globl _wtintr, _wt0mask + .data +_wt0mask: .long 0 + .text +VEC(wt0) + INTR(0, _biomask, 12) + call _wtintr + INTREXIT1 + +