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)



kwellsch@ wrote:

> >>> boot DKA500
 :
> [   1.0000000] VAXstation 3100/m76
> 
>       ...
> 
> [   1.0000000] si0 at vsbus0 csr 0x200c0080 vec 770 ipl 17 maskbit 1
> [   1.0000000] Dumping KA420_SCD region
> [   1.0000000] 0x200C00A0: 00 08 00 00 FF FF FF FF FF FF FF FF FF FF FF FF
> [   1.0000000] 0x200C00B0: 00 00 00 00 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: FF FF FF FF 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

> >>> boot esa0
 :
> [   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: 00 00 00 00 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: FF FF FF FF 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

Thanks for your reports.  Per these outputs we can assume:
 - no difference at 0x200C00B0 (unknown register)
 - no differnece at 0x200C00E0 (STC_MODE register)
 - 0x200C00A0 (SCD_DADR) and 0x200C00C4 (SCD_DDIR) may have leftover
   values on firmware's SCSI read ops on DKA0 boot

So maybe we don't have to explicitly write STC_MODE (or other registers)
for KA430 to enable "Big DMA" mode and avoid KA410 compatible DMA.

To confirm this, could you try "fsck after newfs" tests on
a SCSI disk drive on your m76?

If you don't have any empty partition, newfs against a swap partition
(/dev/sd0b) is also okay.

NetBSD/vax 10.0_RC4 GENERIC (that doesn't include "Big DMA" fix)
shows the following results on my KA420
(i.e. "ROOT INODE UNALLOCATED" error on netboot due to 16KB DMA):
---


>>> boot esa0


-ESA0
>> NetBSD/vax boot [1.12 (Tue Jan 16 08:28:51 UTC 2024)] <<
>> Press any key to abort autoboot 5
Press '?' for help
> boot -s
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
3557656+185792 [249504+235927]=0x408b20
 :
[   1.0000000] NetBSD 10.0_RC4 (GENERIC) #0: Tue Feb  6 12:38:53 UTC 2024
[   1.0000000] 	mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/vax/compile/GENERIC
[   1.0000000] VAXstation 3100/m{30,40}
[   1.0000000] total memory = 32640 KB
[   1.0000000] avail memory = 27004 KB
 :
[   1.0000000] si0 at vsbus0 csr 0x200c0080 vec 770 ipl 17 maskbit 1
[   1.0000000] si0: NCR5380, SCSI ID 6
[   1.0000000] scsibus0 at si0: 8 targets, 8 luns per target
 :
[   3.8600050] sd0 at scsibus0 target 0 lun 0: <ATA, SanDisk SSD U100, 10.5> disk fixed
[   3.9300050] sd0: 15272 MB, 7757 cyl, 64 head, 63 sec, 512 bytes/sect x 31277232 sectors
[   3.9800050] sd0: async, 8-bit transfers
 :

Enter pathname of shell or RETURN for /bin/sh: 
We recommend that you create a non-root account and use su(1) for root access.
# newfs -I /dev/rsd0b
/dev/rsd0b: 128.3MB (262760 sectors) block size 8192, fragment size 1024
	using 4 cylinder groups of 32.08MB, 4106 blks, 8000 inodes.
super-block backups (for fsck_ffs -b #) at:
32,
65728,
131424,
197120,
cg 0: bad magic number
# fsck_ffs -fn /dev/rsd0b
** /dev/rsd0b (NO WRITE)
BAD SUPER BLOCK: VALUES IN SUPER BLOCK DISAGREE WITH THOSE IN FIRST ALTERNATE
** File system is already clean
** Last Mounted on 
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
ROOT INODE UNALLOCATED
ALLOCATE? no

# halt
halt: halted by root
[ 838.5800050] syncing disks... done
[ 838.6100050] unmounting file systems...
[ 839.1200050] unmounting done

?06 HLT INST
    PC = 80014807
>>> boot dka0


-DKA0
>> NetBSD/vax boot [1.12 (Tue Jan 16 08:28:51 UTC 2024)] <<
>> Press any key to abort autoboot 4
Press '?' for help
> boot le()netbsd -s
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
3557656+185792 [249504+235927]=0x408b20
 :
[   1.0000000] NetBSD 10.0_RC4 (GENERIC) #0: Tue Feb  6 12:38:53 UTC 2024
[   1.0000000] 	mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/vax/compile/GENERIC
[   1.0000000] VAXstation 3100/m{30,40}
[   1.0000000] total memory = 32640 KB
[   1.0000000] avail memory = 27004 KB
 :
[   1.0000000] si0 at vsbus0 csr 0x200c0080 vec 770 ipl 17 maskbit 1
[   1.0000000] si0: NCR5380, SCSI ID 6
[   1.0000000] scsibus0 at si0: 8 targets, 8 luns per target
 :
[   3.8600050] sd0 at scsibus0 target 0 lun 0: <ATA, SanDisk SSD U100, 10.5> disk fixed
[   3.9300050] sd0: 15272 MB, 7757 cyl, 64 head, 63 sec, 512 bytes/sect x 31277232 sectors
[   3.9800050] sd0: async, 8-bit transfers
 :

Enter pathname of shell or RETURN for /bin/sh: 
We recommend that you create a non-root account and use su(1) for root access.
# newfs -I /dev/rsd0b
/dev/rsd0b: 128.3MB (262760 sectors) block size 8192, fragment size 1024
	using 4 cylinder groups of 32.08MB, 4106 blks, 8000 inodes.
super-block backups (for fsck_ffs -b #) at:
32,
65728,
131424,
197120,
# fsck_ffs -fn /dev/rsd0b
** /dev/rsd0b (NO WRITE)
** File system is already clean
** Last Mounted on 
** Phase 1 - Check Blocks and Sizes
** Phase 2 - Check Pathnames
** Phase 3 - Check Connectivity
** Phase 4 - Check Reference Counts
** Phase 5 - Check Cyl groups
1 files, 1 used, 127298 free (18 frags, 15910 blocks, 0.0% fragmentation)
# 

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index