Port-vax archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: VAXstation 3100/30 KA420 SCSI DMA problem on netboot (and fix)
mcguire@ wrote:
> On 2/17/24 04:19, Anders Magnusson wrote:
> > About the /m76, no idea. We leave it for now until someone with that
> > hardware can test if it is needed.
>
> If anyone is stuck on this, I can try to dig out one of my M76
> machines and get it running. Let me know.
Ok, if you can try netboot (via mopd(8) etc.) on your M76,
http://www.netbsd.org/docs/network/netboot/intro.vax.html
could you try to boot the following debug kernel to check a
region around KA420_STC_MODE?
(This diff is for -current but may work on netbsd-10)
---
Index: ncr.c
===================================================================
RCS file: /cvsroot/src/sys/arch/vax/vsa/ncr.c,v
retrieving revision 1.52
diff -u -p -d -r1.52 ncr.c
--- ncr.c 17 Feb 2024 17:41:43 -0000 1.52
+++ ncr.c 17 Feb 2024 18:07:40 -0000
@@ -185,6 +185,21 @@ si_vsbus_attach(device_t parent, device_
/* ncr_sc->sc_regt = Unused on VAX */
ncr_sc->sc_regh = vax_map_physmem(va->va_paddr, 1);
+#if 1 /* Check regions KA420_SCD_D* and KA420_STC_MODE for DMA control */
+ {
+ int i;
+ volatile uint8_t *ncr_va = (uint8_t *)ncr_sc->sc_regh;
+
+ printf("\nDumping KA420_SCD region\n");
+ for (i = 0x20; i < 0x80; i++) {
+ if (i % 0x10 == 0)
+ printf("0x%08lX:", va->va_paddr + i);
+ printf(" %02X", ncr_va[i]);
+ if (i % 0x10 == 0xf && i != 0x7f)
+ printf("\n");
+ }
+ }
+#endif
/* Register offsets */
ncr_sc->sci_r0 = 0;
ncr_sc->sci_r1 = 4;
---
On my KA420, it shows on netboot (ESA0):
---
>>> boot esa0
-ESA0
>> NetBSD/vax boot [1.12 (Tue Jan 16 08:28:51 UTC 2024)] <<
>> Press any key to abort autoboot 0
Trying BOOTP
Using IP address: 192.168.20.76
myip: (192.168.20.76)
root addr=192.168.20.1 path=/r/export/NetBSD/vax/root
open netbsd.vax: No such file or directory
> boot netbsd
3560596+184596 [250768+237395]=0x409c9c
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[ 1.0000000] 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[ 1.0000000] 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[ 1.0000000] 2024
[ 1.0000000] The NetBSD Foundation, Inc. All rights reserved.
[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.0000000] The Regents of the University of California. All rights reserved.
[ 1.0000000] NetBSD 10.99.10 (GENERIC) #28: Sun Feb 18 03:00:36 JST 2024
[ 1.0000000] tsutsui@mirage:/s/cvs/src/sys/arch/vax/compile/GENERIC
[ 1.0000000] VAXstation 3100/m{30,40}
(snip)
[ 1.0000000] si0 at vsbus0 csr 0x200c0080 vec 770 ipl 17 maskbit 1
[ 1.0000000] Dumping KA420_SCD region
[ 1.0000000] 0x200C00A0: 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00C0: 00 00 00 00 00 00 00 00 FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00E0: 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] si0: NCR5380, SCSI ID 6
[ 1.0000000] scsibus0 at si0: 8 targets, 8 luns per target
---
on SCSI (DKA0) boot
(note a valid bootloader needs to be installed on DKA0):
---
>>> boot dka0
-DKA0
>> NetBSD/vax boot [1.12 (Tue Jan 16 08:28:51 UTC 2024)] <<
>> Press any key to abort autoboot 5
Press '?' for help
> boot le()netbsd
Trying BOOTP
Using IP address: 192.168.20.76
myip: (192.168.20.76)
root addr=192.168.20.1 path=/r/export/NetBSD/vax/root
3560596+184596 [250768+237395]=0x409c9c
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[ 1.0000000] 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[ 1.0000000] 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[ 1.0000000] 2024
[ 1.0000000] The NetBSD Foundation, Inc. All rights reserved.
[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.0000000] The Regents of the University of California. All rights reserved.
[ 1.0000000] NetBSD 10.99.10 (GENERIC) #28: Sun Feb 18 03:00:36 JST 2024
[ 1.0000000] tsutsui@mirage:/s/cvs/src/sys/arch/vax/compile/GENERIC
[ 1.0000000] VAXstation 3100/m{30,40}
(snip)
[ 1.0000000] si0 at vsbus0 csr 0x200c0080 vec 770 ipl 17 maskbit 1
[ 1.0000000] Dumping KA420_SCD region
[ 1.0000000] 0x200C00A0: 00 20 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00B0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00C0: 00 00 00 00 01 00 00 00 FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00D0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00E0: 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] 0x200C00F0: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
[ 1.0000000] si0: NCR5380, SCSI ID 6
[ 1.0000000] scsibus0 at si0: 8 targets, 8 luns per target
---
I'd like to see what value is shown at KA420_STC_MODE (0x200C00E0)
on KA430:
>> [ 1.0000000] 0x200C00E0: 01 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
- if it's FF FF FF FF, it implies no valid register there on KA430
- if it's 01 00 00 00, the "Big DMA" might be enabled as KA420
- if it's 00 00 00 00, the "Big DMA" might be disabled as KA420
- if it's another value, maybe there is a different register from KA420
Thanks,
---
Izumi Tsutsui
Home |
Main Index |
Thread Index |
Old Index