Subject: CVS commit: src/sys/arch/alpha/alpha
To: None <source-changes@NetBSD.org>
From: Charles M. Hannum <mycroft@netbsd.org>
List: source-changes
Date: 06/28/2004 03:53:41
Module Name:	src
Committed By:	mycroft
Date:		Mon Jun 28 03:53:40 UTC 2004

Modified Files:
	src/sys/arch/alpha/alpha: api_up1000.c avalon_a12.c dec_1000a.c
	    dec_2100_a50.c dec_2100_a500.c dec_550.c dec_6600.c
	    dec_alphabook1.c dec_axppci_33.c dec_eb164.c dec_eb64plus.c
	    dec_eb66.c dec_kn20aa.c dec_kn300.c dec_kn8ae.c

Log Message:
Significant cleanup and bug fix of root device detection:
* On systems where it's relevant (6600, kn300, kn8ae), check which PCI bus
  hierarchy we're looking at.
* Consistently check PCI function numbers (important for quad-channel ATA
  controllers).
* Check the channel number (important for ATA and multi-channel SCSI
  controllers).
* Check logical unit numbers.
* Use strcasecmp() to check b->protocol; the case is different depending on
  the firmware revision.
* Remove b->boot_dev_type check; it's unneeded.
* Remove extraneous unneeded variables.

Not only does this fix a few PRs and multiple long-standing bugs, but the
code is smaller too.

PR 9432
PR 12225
PR 25830


To generate a diff of this commit:
cvs rdiff -r1.16 -r1.17 src/sys/arch/alpha/alpha/api_up1000.c \
    src/sys/arch/alpha/alpha/dec_eb66.c
cvs rdiff -r1.9 -r1.10 src/sys/arch/alpha/alpha/avalon_a12.c
cvs rdiff -r1.19 -r1.20 src/sys/arch/alpha/alpha/dec_1000a.c
cvs rdiff -r1.55 -r1.56 src/sys/arch/alpha/alpha/dec_2100_a50.c \
    src/sys/arch/alpha/alpha/dec_axppci_33.c
cvs rdiff -r1.10 -r1.11 src/sys/arch/alpha/alpha/dec_2100_a500.c
cvs rdiff -r1.24 -r1.25 src/sys/arch/alpha/alpha/dec_550.c
cvs rdiff -r1.20 -r1.21 src/sys/arch/alpha/alpha/dec_6600.c
cvs rdiff -r1.15 -r1.16 src/sys/arch/alpha/alpha/dec_alphabook1.c
cvs rdiff -r1.49 -r1.50 src/sys/arch/alpha/alpha/dec_eb164.c
cvs rdiff -r1.30 -r1.31 src/sys/arch/alpha/alpha/dec_eb64plus.c
cvs rdiff -r1.53 -r1.54 src/sys/arch/alpha/alpha/dec_kn20aa.c
cvs rdiff -r1.28 -r1.29 src/sys/arch/alpha/alpha/dec_kn300.c
cvs rdiff -r1.31 -r1.32 src/sys/arch/alpha/alpha/dec_kn8ae.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.