Subject: CVS commit: [netbsd-4] src
To: None <source-changes@NetBSD.org>
From: Pavel Cahyna <pavel@netbsd.org>
List: source-changes
Date: 08/31/2007 20:09:30
Module Name:	src
Committed By:	pavel
Date:		Fri Aug 31 20:09:30 UTC 2007

Modified Files:
	src/distrib/sets/lists/man [netbsd-4]: mi
	src/doc [netbsd-4]: CHANGES
	src/share/man/man4 [netbsd-4]: Makefile
	src/sys/arch/amd64/conf [netbsd-4]: GENERIC INSTALL
	src/sys/arch/i386/conf [netbsd-4]: GENERIC INSTALL_LARGE XEN2_DOM0
	src/sys/conf [netbsd-4]: files
	src/sys/dev/pci [netbsd-4]: files.pci pcidevs
Added Files:
	src/share/man/man4 [netbsd-4]: jmide.4
	src/sys/dev/ic [netbsd-4]: ahcisata_core.c ahcisatareg.h ahcisatavar.h
	src/sys/dev/pci [netbsd-4]: ahcisata_pci.c jmide.c jmide_reg.h
Removed Files:
	src/sys/dev/pci [netbsd-4]: ahcisata.c ahcisatareg.h

Log Message:
Pull up following revision(s) (requested by bouyer in ticket #678):
	distrib/sets/lists/man/mi: revision 1.1001
	doc/CHANGES: revision 1.853 via patch
	share/man/man4/Makefile: revision 1.428
	share/man/man4/jmide.4: revision 1.1
	sys/arch/amd64/conf/GENERIC: revision 1.143
	sys/arch/amd64/conf/INSTALL: revision 1.69
	sys/arch/i386/conf/GENERIC: revision 1.827
	sys/arch/i386/conf/INSTALL_LARGE: revision 1.2 via patch
	sys/arch/i386/conf/XEN2_DOM0: revision 1.26
	sys/conf/files: revision 1.844 via patch
	sys/dev/ic/ahcisata_core.c: revision 1.1 via patch
	sys/dev/ic/ahcisata_core.c: revision 1.3
	sys/dev/ic/ahcisatareg.h: revision 1.1
	sys/dev/ic/ahcisatavar.h: revision 1.1
	sys/dev/pci/ahcisata.c: delete
	sys/dev/pci/ahcisatareg.h: delete
	sys/dev/pci/ahcisata_pci.c: revision 1.1
	sys/dev/pci/files.pci: revision 1.287-1.288
	sys/dev/pci/jmide.c: revision 1.1-1.2
	sys/dev/pci/jmide_reg.h: revision 1.1
	sys/dev/pci/pcidevs: revision 1.878
Add JMicron Technology vendor ID, and their current PCIe SATA/PATA
controllers.

Split the ahcisata driver in pci front-end and bus-independant back-end.
add jmide(4), a driver for the JMicron Technology JMB36x PCIe to SATA II/PATA
controllers. These controllers can be found on add-on PCIe cards, or
on some motherboards to provide the PATA connectivity (e.g. some intel
ICH8-based motherboards).
Thanks to JMicron Technology for providing me documentation and
different sample boards for this work.

Move mapping of AHCI register so that jmide knows if it fails, and avoids
calling ahci_intr() (which would cause a panic).
Try to use the pciide function for SATA drives if attaching ahci fails (this
doesn't seems to work though, it may be BIOS dependant).
Thanks to Gary Duzan for testing multiple pacthes.

We're not ready to handle ATAPI yet so just claim there's no drive to the
upper layer. This should work around a NULL pointer dereference when
an ATAPI device is detected on a AHCI device.


To generate a diff of this commit:
cvs rdiff -r1.955.2.13 -r1.955.2.14 src/distrib/sets/lists/man/mi
cvs rdiff -r1.764.2.21 -r1.764.2.22 src/doc/CHANGES
cvs rdiff -r1.415.2.6 -r1.415.2.7 src/share/man/man4/Makefile
cvs rdiff -r0 -r1.2.6.2 src/share/man/man4/jmide.4
cvs rdiff -r1.120.2.11 -r1.120.2.12 src/sys/arch/amd64/conf/GENERIC
cvs rdiff -r1.60.2.6 -r1.60.2.7 src/sys/arch/amd64/conf/INSTALL
cvs rdiff -r1.799.2.12 -r1.799.2.13 src/sys/arch/i386/conf/GENERIC
cvs rdiff -r1.1.2.4 -r1.1.2.5 src/sys/arch/i386/conf/INSTALL_LARGE
cvs rdiff -r1.18.2.4 -r1.18.2.5 src/sys/arch/i386/conf/XEN2_DOM0
cvs rdiff -r1.819.2.4 -r1.819.2.5 src/sys/conf/files
cvs rdiff -r0 -r1.4.12.2 src/sys/dev/ic/ahcisata_core.c
cvs rdiff -r0 -r1.1.16.2 src/sys/dev/ic/ahcisatareg.h \
    src/sys/dev/ic/ahcisatavar.h
cvs rdiff -r1.1.2.2 -r0 src/sys/dev/pci/ahcisata.c
cvs rdiff -r0 -r1.1.16.2 src/sys/dev/pci/ahcisata_pci.c \
    src/sys/dev/pci/jmide_reg.h
cvs rdiff -r1.1 -r0 src/sys/dev/pci/ahcisatareg.h
cvs rdiff -r1.273.2.2 -r1.273.2.3 src/sys/dev/pci/files.pci
cvs rdiff -r0 -r1.2.14.2 src/sys/dev/pci/jmide.c
cvs rdiff -r1.855.2.9 -r1.855.2.10 src/sys/dev/pci/pcidevs

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