--- /dev/null
+/*
+ * 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
+};
+
--- /dev/null
+/*
+ * 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
+
+