Subject: Re: UDB/Multia
To: None <port-alpha@NetBSD.ORG>
From: Eric Sentner <sentner@noc.digex.net>
List: port-alpha
Date: 06/05/1996 18:17:25
Any chance someone could make a snapshot of this? I don't have another
machine I can make diffs to and recompile.. I'd like a gzipped disk image
like the current one on the ftp server (rz25 image is fine).. Chris??
-- Eric
References: <199606051551.PAA09378@whydos.lkg.dec.com>
Any chance someone
On June 5, Matt Thomas wrote:
>
> I finally got my hands on a multia and have hacked NetBSD/alpha
> such that the kernel will boot.
>
> [Before someone asks: I am running a latter console than what is
> generally available.]
>
> The problems (as suspected) are in pci/sio_pic.c.
>
> First the boot log and output of show config for Chris:
>
> CPU 0 booting
>
> *** keyboard not plugged in...
> starting console on CPU 0
> initialized idle PCB
> initializing semaphores
> initializing heap
> initial heap 1c0c0
> memory low limit = 14a000
> heap = 1c0c0, 17fc0
> initializing driver structures
> initializing idle process PID
> XDELTA enabled.
> initializing file system
> initializing 8259s
> initializing timer data structures
> lowering IPL
> CPU 0 speed is 6.00 ns (167MHz)
>
> Powerup process has started
> CPU ID = 0
> Initialize configuration locks etc.
> Configure the memory
> Initialising ISA/PCI interrupts.
> Configure the PCI Bus
> Start tt class, port (graphics, keyboard, then serial) drivers
> entering idle loop
> DEC AXPpci166 MT Common Console X4.5-780, built on Feb 23 1996 at 22:03:13
> change stdin/out/err channels from nl to tt
> CPU = 166 Mhz LCA
> Cache size = 256 K
> Memory size = 32 Meg
> Testing Memory from 8 to 32 meg...
> Start driver phase 4
> Build this processor's slot in the hwrpb
> Init SCSI class driver
> Start driver phase 5
> Network is connected to the AUI port.
>
> dka0.0.0.6.0 DKA0 TOSHIBA MK2326FB A15B
> dva0.0.0.0.1 DVA0
> ewa0.0.0.8.0 EWA0 08-00-2B-E4-0A-89
> pka0.7.0.6.0 PKA0 SCSI Bus ID 7
>
> >>>show config
>
> SRM Console X4.5-780 VMS PALcode V5.53-10, OSF PALcode X1.45-5
> MEMORY - 32 Meg of system memory
> CACHE - 256 K of backup cache
> CPU - 166 Mhz LCA
> PCI
> Slot Device Class Sub-Class
> 6 NCR 53C810 Default 0
> 7 Intel 82378IB Default 0
> 8 DECchip 21040-AA Network 0
> 9
> 10
> 11 DECchip ZLXp 21030 Display 80
> 12
> ISA
> Slot Device Name Type Enabled BaseAddr IRQ DMA
> 0
> 0 MOUSE Embedded Yes 60 12
> 1 KBD Embedded Yes 60 1
> 2 COM1 Embedded Yes 3f8 4
> 3 COM2 Embedded Yes 2f8 3
> 4 LPT1 Embedded Yes 3bc 7
> 5 FLOPPY Embedded Yes 3f0 6 2
>
> [note in fact, multia's don't have any ISA slots. Just one PCI.]
>
> >>> boot -file "netbsd_nfs"
> (boot dka0.0.0.6.0 -file netbsd_nfs -flags a)
> block 0 of dka0.0.0.6.0 is a valid boot block
> reading 16 blocks from dka0.0.0.6.0
> bootstrap code read in
> base = 158000, image_start = 0, image_bytes = 2000
> initializing HWRPB at 2000
> initializing page table at 14a000
> initializing machine state
> setting affinity to the primary CPU
> jumping to bootstrap code
>
> Digital UNIX boot - Sun May 19 23:29:33 EDT 1996
>
> Loading netbsd_nfs ...
> Loading at fffffc0000230000
> Current PAL Revision <0x1000000010535>
> Switching to OSF PALcode Succeeded
> New PAL Revision <0x100000002012d>
>
> Sizes:
> text = 1424528
> data = 136896
> bss = 90704
> Starting at 0xfffffc0000230000
>
> constype = (null)
> ctb->ctb_term_type = 0x2
> ctb->ctb_turboslot = 0x10000
> sCopyright (c) 1982, 1986, 1989, 1991, 1993
> The Regents of the University of California. All rights reserved.
>
> NetBSD 1.1B (GENERIC_NFS) #24: Fri Jun 5 12:24:06 PDT 1970
> thomas@eunics.lkg.dec.com:/usr/src/sys/arch/alpha/compile/GENERIC_NFS
> Alpha PC AXPpci33 ("NoName"), 166MHz
> 8192 byte page size, 1 processor.
> real mem = 33554432 (2367488 reserved for PROM, 31186944 used by NetBSD)
> avail mem = 25001984
> using 203 buffers containing 1662976 bytes of memory
> mainbus0 (root)
> cpu0 at mainbus0: 21066/21068 (LCA4), UNKNOWN MINOR TYPE (2)
> cpu0: VAX FP support, IEEE FP support, Primary Eligible
> lca0 at mainbus0
> pci0 at lca0 bus 0
> ncr0 at pci0 dev 6 function 0: NCR 53c810 SCSI
> ncr0: interrupting at ISA irq 11
> ncr0: restart (scsi reset).
> scsibus0 at ncr0
> sd0 at scsibus0 targ 0 lun 0: <TOSHIBA, MK2326FB, A15B> SCSI1 0/direct fixed
> sd0: 324MB, 969 cyl, 14 head, 49 sec, 512 bytes/sec
> sio0 at pci0 dev 7 function 0: Intel 82378IB PCI-ISA Bridge (System I/O) (rev.
> 0x03)
> isa0 at sio0
> com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
> intr_establish: irq 4: warning: using edge-triggered on level-triggered
> com0: console
> com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
> intr_establish: irq 3: warning: using edge-triggered on level-triggered
> lpt0 at isa0 port 0x3bc-0x3c3 irq 7
> pcprobe: reset error 1
> pckbd0 at isa0 irq 1
> mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible
> de0 at pci0 dev 8 function 0 at ISA irq 10
> de0: DC21040 [10Mb/s] pass 2.3
> de0: address 08:00:2b:e4:0a:89
> de0: enabling BNC/AUI port
> tga0 at pci0 dev 11 function 0: DC21030 step B, board type T8-02
> tga0: 1024 x 768, 8bpp, Bt485 RAMDAC
> tga0: interrupting at ISA irq 15
> wscons0 at tga0
> nfs_boot: using network interface 'de0'
> nfs_boot: client_addr=0x101478ca
> nfs_boot: server_addr=0x101478a0
> nfs_boot: hostname=alphy
> root on grep:/netbsd/clients/alphy/root
> root time: 0x31b5df3e
> swap on grep:/netbsd/clients/alphy/swap
> swap size: 0xfa00 (blocks)
> init: copying out flags `-s' 3
> init: copying out path `/sbin/init' 11
> Enter pathname of shell or RETURN for sh:
> #
>
> I don't claim that the following diffs are the right fix. I just know it
> did allow the multia to boot (the serial console seems to work just fine
> too).
>
> --- sio_pic.c.orig Wed Jun 5 12:40:37 1996
> +++ sio_pic.c.new Wed Jun 5 12:39:26 1996
> @@ -114,6 +114,12 @@
> #define INITIALLY_LEVEL_TRIGGERED(irq) 0
> #endif
>
> +#define isa_intrsharetype_name(n) \
> + (n == IST_EDGE ? "edge-triggered" : \
> + (n == IST_LEVEL ? "level-triggered" : \
> + (n == IST_PULSE ? "pulse-triggered" : \
> + (n == IST_NONE ? "none" : "unknown-type"))))
> +
> void
> sio_setirqstat(irq, enabled, type)
> int irq, enabled;
> @@ -123,8 +129,8 @@
> int icu, bit;
>
> #if 0
> - printf("sio_setirqstat: irq %d, %s, %s\n", irq,
> - enabled ? "enabled" : "disabled", isa_intr_typename(type));
> + printf("sio_setirqstat: irq %d: %s, %s\n", irq,
> + enabled ? "enabled" : "disabled", isa_intrsharetype_name(type));
> #endif
>
> sio_intrsharetype[irq] = type;
> @@ -170,10 +176,10 @@
> (ocw1[1] & ~initial_ocw1[1]) != 0 ||
> (elcr[0] & initial_elcr[0]) != initial_elcr[0] ||
> (elcr[1] & initial_elcr[1]) != initial_elcr[1]) {
> - printf("sio_sis: initial: ocw = (%2x,%2x), elcr = (%2x,%2X)\n",
> + printf("sio_sis: initial: ocw = (%2x,%2x), elcr = (%2x,%2x)\n",
> initial_ocw1[0], initial_ocw1[1],
> initial_elcr[0], initial_elcr[1]);
> - printf(" current: ocw = (%2x,%2x), elcr = (%2x,%2X)\n",
> + printf(" current: ocw = (%2x,%2x), elcr = (%2x,%2x)\n",
> ocw1[0], ocw1[1], elcr[0], elcr[1]);
> panic("sio_setirqstat: hosed");
> }
> @@ -299,10 +305,20 @@
> if (type != IST_NONE)
> #if 0 /* XXX */
> panic("intr_establish: can't share %s with %s",
> - isa_intrsharetype_name(sio_intrsharetype[irq]),
> - isa_intrsharetype_name(type));
> + isa_intrsharetype_name(type),
> + isa_intrsharetype_name(sio_intrsharetype[irq]));
> #else /* XXX */
> -/* XXX */ panic("foo XXX");
> + if (sio_intrhand[irq] == NULL) {
> + printf("intr_establish: irq %d: warning: using %s on %s\n",
> + irq,
> + isa_intrsharetype_name(type),
> + isa_intrsharetype_name(sio_intrsharetype[irq]));
> + type = sio_intrsharetype[irq];
> + } else
> + panic("intr_establish: irq %d: can't share %s with %s",
> + irq,
> + isa_intrsharetype_name(type),
> + isa_intrsharetype_name(sio_intrsharetype[irq]));
> #endif /* XXX */
> break;
> }
>
> --
> Matt Thomas Internet: matt@3am-software.com
> 3am Software Foundry WWW URL: http://www.3am-software.com/bio/matt.html
> Westford, MA Disclaimer: I disavow all knowledge of this message
>