Module Name: src Committed By: mrg Date: Fri Jul 25 01:38:27 UTC 2014
Modified Files: src/distrib/sets/lists/base: ad.arm ad.mips ad.powerpc md.amd64 md.sparc64 shl.mi src/distrib/sets/lists/debug: ad.arm ad.mips ad.powerpc md.amd64 md.sparc64 shl.mi src/lib/libpci: Makefile pci.3 pci.h shlib_version src/sys/dev/pci: pci_usrreq.c pciio.h Added Files: src/lib/libpci: pci_drvname.c Log Message: introduce a new pci_drvname(3) to libpci. implement it in the backend via PCI_IOC_DRVNAME. update manual and set lists (and remove a couple of doubled entries.)o this will be used in libpciaccess() to implement the has_kernel_driver() method. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/distrib/sets/lists/base/ad.arm cvs rdiff -u -r1.45 -r1.46 src/distrib/sets/lists/base/ad.mips cvs rdiff -u -r1.14 -r1.15 src/distrib/sets/lists/base/ad.powerpc cvs rdiff -u -r1.239 -r1.240 src/distrib/sets/lists/base/md.amd64 cvs rdiff -u -r1.226 -r1.227 src/distrib/sets/lists/base/md.sparc64 cvs rdiff -u -r1.709 -r1.710 src/distrib/sets/lists/base/shl.mi cvs rdiff -u -r1.39 -r1.40 src/distrib/sets/lists/debug/ad.arm cvs rdiff -u -r1.35 -r1.36 src/distrib/sets/lists/debug/ad.mips cvs rdiff -u -r1.15 -r1.16 src/distrib/sets/lists/debug/ad.powerpc cvs rdiff -u -r1.60 -r1.61 src/distrib/sets/lists/debug/md.amd64 cvs rdiff -u -r1.58 -r1.59 src/distrib/sets/lists/debug/md.sparc64 cvs rdiff -u -r1.68 -r1.69 src/distrib/sets/lists/debug/shl.mi cvs rdiff -u -r1.3 -r1.4 src/lib/libpci/Makefile src/lib/libpci/shlib_version cvs rdiff -u -r1.7 -r1.8 src/lib/libpci/pci.3 cvs rdiff -u -r1.4 -r1.5 src/lib/libpci/pci.h cvs rdiff -u -r0 -r1.1 src/lib/libpci/pci_drvname.c cvs rdiff -u -r1.26 -r1.27 src/sys/dev/pci/pci_usrreq.c cvs rdiff -u -r1.3 -r1.4 src/sys/dev/pci/pciio.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/distrib/sets/lists/base/ad.arm diff -u src/distrib/sets/lists/base/ad.arm:1.49 src/distrib/sets/lists/base/ad.arm:1.50 --- src/distrib/sets/lists/base/ad.arm:1.49 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/ad.arm Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.arm,v 1.49 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: ad.arm,v 1.50 2014/07/25 01:38:27 mrg Exp $ ./lib/oabi base-compat-shlib compat ./lib/oabi/npf base-npf-shlib compat ./lib/oabi/npf/ext_log.so base-npf-shlib compat,pic @@ -170,8 +170,8 @@ ./usr/lib/oabi/libisccc.so.8 base-compat-shlib compat,pic ./usr/lib/oabi/libisccc.so.8.0 base-compat-shlib compat,pic ./usr/lib/oabi/libisccfg.so.8 base-compat-shlib compat,pic -./usr/lib/oabi/libisccfg.so.8.1 base-compat-shlib compat,pic ./usr/lib/oabi/libisccfg.so.8.0 base-compat-shlib obsolete +./usr/lib/oabi/libisccfg.so.8.1 base-compat-shlib compat,pic ./usr/lib/oabi/libiscsi.so.2 base-compat-shlib compat,pic,iscsi ./usr/lib/oabi/libiscsi.so.2.0 base-compat-shlib compat,pic,iscsi ./usr/lib/oabi/libisns.so.0 base-compat-shlib compat,pic @@ -241,9 +241,7 @@ ./usr/lib/oabi/libpcap.so.5 base-compat-shlib compat,pic ./usr/lib/oabi/libpcap.so.5.0 base-compat-shlib compat,pic ./usr/lib/oabi/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/oabi/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/oabi/libpci.so.2.0 base-compat-shlib compat,pic -./usr/lib/oabi/libpci.so.2.0 base-compat-shlib compat,pic +./usr/lib/oabi/libpci.so.2.1 base-compat-shlib compat,pic ./usr/lib/oabi/libperfuse.so.0 base-compat-shlib compat,pic ./usr/lib/oabi/libperfuse.so.0.0 base-compat-shlib compat,pic ./usr/lib/oabi/libpmc.so.1 base-compat-shlib compat,pic Index: src/distrib/sets/lists/base/ad.mips diff -u src/distrib/sets/lists/base/ad.mips:1.45 src/distrib/sets/lists/base/ad.mips:1.46 --- src/distrib/sets/lists/base/ad.mips:1.45 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/ad.mips Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.mips,v 1.45 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: ad.mips,v 1.46 2014/07/25 01:38:27 mrg Exp $ ./lib/64 base-compat-shlib compat,arch64 ./lib/64/npf base-npf-shlib compat,arch64 ./lib/64/npf/ext_log.so base-npf-shlib compat,pic,arch64 @@ -241,7 +241,7 @@ ./usr/lib/64/libpcap.so.5 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libpcap.so.5.0 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libpci.so.2 base-compat-shlib compat,pic,arch64 -./usr/lib/64/libpci.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/64/libpci.so.2.1 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libperfuse.so.0 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libperfuse.so.0.0 base-compat-shlib compat,pic,arch64 ./usr/lib/64/libposix.so.0 base-compat-shlib compat,pic,arch64 @@ -580,7 +580,7 @@ ./usr/lib/o32/libpcap.so.5 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libpcap.so.5.0 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libpci.so.2 base-compat-shlib compat,pic,arch64 -./usr/lib/o32/libpci.so.2.0 base-compat-shlib compat,pic,arch64 +./usr/lib/o32/libpci.so.2.1 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libperfuse.so.0 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libperfuse.so.0.0 base-compat-shlib compat,pic,arch64 ./usr/lib/o32/libposix.so.0 base-compat-shlib compat,pic,arch64 Index: src/distrib/sets/lists/base/ad.powerpc diff -u src/distrib/sets/lists/base/ad.powerpc:1.14 src/distrib/sets/lists/base/ad.powerpc:1.15 --- src/distrib/sets/lists/base/ad.powerpc:1.14 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/ad.powerpc Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.powerpc,v 1.14 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: ad.powerpc,v 1.15 2014/07/25 01:38:27 mrg Exp $ ./lib/powerpc base-npf-shlib compat,arch64 ./lib/powerpc/npf base-npf-shlib compat,arch64 ./lib/powerpc/npf/ext_log.so base-npf-shlib compat,arch64,pic @@ -220,7 +220,7 @@ ./usr/lib/powerpc/libpcap.so.5 base-compat-shlib compat,arch64,pic ./usr/lib/powerpc/libpcap.so.5.0 base-compat-shlib compat,arch64,pic ./usr/lib/powerpc/libpci.so.2 base-compat-shlib compat,arch64,pic -./usr/lib/powerpc/libpci.so.2.0 base-compat-shlib compat,arch64,pic +./usr/lib/powerpc/libpci.so.2.1 base-compat-shlib compat,arch64,pic ./usr/lib/powerpc/libperfuse.so base-compat-shlib compat,arch64,pic ./usr/lib/powerpc/libperfuse.so.0 base-compat-shlib compat,arch64,pic ./usr/lib/powerpc/libperfuse.so.0.0 base-compat-shlib compat,arch64,pic Index: src/distrib/sets/lists/base/md.amd64 diff -u src/distrib/sets/lists/base/md.amd64:1.239 src/distrib/sets/lists/base/md.amd64:1.240 --- src/distrib/sets/lists/base/md.amd64:1.239 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/md.amd64 Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.239 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: md.amd64,v 1.240 2014/07/25 01:38:27 mrg Exp $ ./dev/lms0 base-obsolete obsolete ./dev/mms0 base-obsolete obsolete ./lib/i386 base-compat-shlib compat @@ -238,7 +238,7 @@ ./usr/lib/i386/libpcap.so.5 base-compat-shlib compat,pic ./usr/lib/i386/libpcap.so.5.0 base-compat-shlib compat,pic ./usr/lib/i386/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/i386/libpci.so.2.0 base-compat-shlib compat,pic +./usr/lib/i386/libpci.so.2.1 base-compat-shlib compat,pic ./usr/lib/i386/libperfuse.so base-compat-shlib compat,pic ./usr/lib/i386/libperfuse.so.0 base-compat-shlib compat,pic ./usr/lib/i386/libperfuse.so.0.0 base-compat-shlib compat,pic Index: src/distrib/sets/lists/base/md.sparc64 diff -u src/distrib/sets/lists/base/md.sparc64:1.226 src/distrib/sets/lists/base/md.sparc64:1.227 --- src/distrib/sets/lists/base/md.sparc64:1.226 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/md.sparc64 Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: md.sparc64,v 1.226 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: md.sparc64,v 1.227 2014/07/25 01:38:27 mrg Exp $ ./lib/sparc base-npf-shlib compat ./lib/sparc/npf base-npf-shlib compat ./lib/sparc/npf/ext_log.so base-npf-shlib compat,pic @@ -233,7 +233,7 @@ ./usr/lib/sparc/libpcap.so.5 base-compat-shlib compat,pic ./usr/lib/sparc/libpcap.so.5.0 base-compat-shlib compat,pic ./usr/lib/sparc/libpci.so.2 base-compat-shlib compat,pic -./usr/lib/sparc/libpci.so.2.0 base-compat-shlib compat,pic +./usr/lib/sparc/libpci.so.2.1 base-compat-shlib compat,pic ./usr/lib/sparc/libperfuse.so base-compat-shlib compat,pic ./usr/lib/sparc/libperfuse.so.0 base-compat-shlib compat,pic ./usr/lib/sparc/libperfuse.so.0.0 base-compat-shlib compat,pic Index: src/distrib/sets/lists/base/shl.mi diff -u src/distrib/sets/lists/base/shl.mi:1.709 src/distrib/sets/lists/base/shl.mi:1.710 --- src/distrib/sets/lists/base/shl.mi:1.709 Wed Jul 23 02:42:56 2014 +++ src/distrib/sets/lists/base/shl.mi Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.709 2014/07/23 02:42:56 lneto Exp $ +# $NetBSD: shl.mi,v 1.710 2014/07/25 01:38:27 mrg Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -421,7 +421,7 @@ ./usr/lib/libpcap.so.5.0 base-net-shlib ./usr/lib/libpci.so base-sys-shlib ./usr/lib/libpci.so.2 base-sys-shlib -./usr/lib/libpci.so.2.0 base-sys-shlib +./usr/lib/libpci.so.2.1 base-sys-shlib ./usr/lib/libperfuse.so base-perfuse-shlib ./usr/lib/libperfuse.so.0 base-perfuse-shlib ./usr/lib/libperfuse.so.0.0 base-perfuse-shlib Index: src/distrib/sets/lists/debug/ad.arm diff -u src/distrib/sets/lists/debug/ad.arm:1.39 src/distrib/sets/lists/debug/ad.arm:1.40 --- src/distrib/sets/lists/debug/ad.arm:1.39 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/ad.arm Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.arm,v 1.39 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: ad.arm,v 1.40 2014/07/25 01:38:27 mrg Exp $ ./usr/lib/libarm_g.a comp-c-debuglib debuglib ./usr/lib/libc_vfp_g.a comp-c-debuglib debuglib,softfloat ./usr/lib/libpmc_g.a comp-c-debuglib debuglib @@ -155,7 +155,7 @@ ./usr/libdata/debug/usr/lib/oabi/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump ./usr/libdata/debug/usr/lib/oabi/libpam.so.4.0.debug comp-sys-debug pam,debug,compat ./usr/libdata/debug/usr/lib/oabi/libpcap.so.5.0.debug comp-net-debug debug,compat -./usr/libdata/debug/usr/lib/oabi/libpci.so.2.0.debug comp-sys-debug debug,compat +./usr/libdata/debug/usr/lib/oabi/libpci.so.2.1.debug comp-sys-debug debug,compat ./usr/libdata/debug/usr/lib/oabi/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/oabi/libpmc.so.1.0.debug comp-sys-debug debug,compat ./usr/libdata/debug/usr/lib/oabi/libposix.so.0.1.debug comp-sys-debug debug,compat Index: src/distrib/sets/lists/debug/ad.mips diff -u src/distrib/sets/lists/debug/ad.mips:1.35 src/distrib/sets/lists/debug/ad.mips:1.36 --- src/distrib/sets/lists/debug/ad.mips:1.35 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/ad.mips Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.mips,v 1.35 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: ad.mips,v 1.36 2014/07/25 01:38:27 mrg Exp $ ./usr/lib/64/libcrypto_g.a comp-c-debuglib compat,crypto,debuglib,arch64 ./usr/lib/64/libcrypto_idea_g.a comp-obsolete obsolete ./usr/lib/64/libcrypto_mdc2_g.a comp-obsolete obsolete @@ -160,7 +160,7 @@ ./usr/libdata/debug/usr/lib/64/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump,arch64 ./usr/libdata/debug/usr/lib/64/libpam.so.4.0.debug comp-sys-debug pam,debug,compat,arch64 ./usr/libdata/debug/usr/lib/64/libpcap.so.5.0.debug comp-net-debug debug,compat,arch64 -./usr/libdata/debug/usr/lib/64/libpci.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/64/libpci.so.2.1.debug comp-sys-debug debug,compat,arch64 ./usr/libdata/debug/usr/lib/64/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug,arch64 ./usr/libdata/debug/usr/lib/64/libposix.so.0.1.debug comp-sys-debug debug,compat,arch64 ./usr/libdata/debug/usr/lib/64/libppath.so.0.0.debug comp-sys-debug debug,compat,arch64 @@ -338,7 +338,7 @@ ./usr/libdata/debug/usr/lib/o32/libp2k.so.2.0.debug comp-puffs-debug debug,compat,rump,arch64 ./usr/libdata/debug/usr/lib/o32/libpam.so.4.0.debug comp-sys-debug pam,debug,compat,arch64 ./usr/libdata/debug/usr/lib/o32/libpcap.so.5.0.debug comp-net-debug debug,compat,arch64 -./usr/libdata/debug/usr/lib/o32/libpci.so.2.0.debug comp-sys-debug debug,compat,arch64 +./usr/libdata/debug/usr/lib/o32/libpci.so.2.1.debug comp-sys-debug debug,compat,arch64 ./usr/libdata/debug/usr/lib/o32/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug,arch64 ./usr/libdata/debug/usr/lib/o32/libposix.so.0.1.debug comp-sys-debug debug,compat,arch64 ./usr/libdata/debug/usr/lib/o32/libppath.so.0.0.debug comp-sys-debug debug,compat,arch64 Index: src/distrib/sets/lists/debug/ad.powerpc diff -u src/distrib/sets/lists/debug/ad.powerpc:1.15 src/distrib/sets/lists/debug/ad.powerpc:1.16 --- src/distrib/sets/lists/debug/ad.powerpc:1.15 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/ad.powerpc Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: ad.powerpc,v 1.15 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: ad.powerpc,v 1.16 2014/07/25 01:38:27 mrg Exp $ ./usr/lib/powerpc/libamu_g.a comp-c-debuglib compat,arch64,debuglib ./usr/lib/powerpc/libarchive_g.a comp-c-debuglib compat,arch64,debuglib ./usr/lib/powerpc/libasn1_g.a comp-c-debuglib compat,arch64,debuglib,kerberos @@ -222,7 +222,7 @@ ./usr/libdata/debug/usr/lib/powerpc/libp2k.so.2.0.debug comp-compat-shlib compat,arch64,debug,pic,rump ./usr/libdata/debug/usr/lib/powerpc/libpam.so.4.0.debug comp-compat-shlib compat,arch64,debug,pic ./usr/libdata/debug/usr/lib/powerpc/libpcap.so.5.0.debug comp-compat-shlib compat,arch64,debug,pic -./usr/libdata/debug/usr/lib/powerpc/libpci.so.2.0.debug comp-compat-shlib compat,arch64,debug,pic +./usr/libdata/debug/usr/lib/powerpc/libpci.so.2.1.debug comp-compat-shlib compat,arch64,debug,pic ./usr/libdata/debug/usr/lib/powerpc/libperfuse.so.0.0.debug comp-compat-shlib compat,arch64,debug,pic ./usr/libdata/debug/usr/lib/powerpc/libposix.so.0.1.debug comp-compat-shlib compat,arch64,debug,pic ./usr/libdata/debug/usr/lib/powerpc/libppath.so.0.0.debug comp-compat-shlib compat,arch64,debug,pic Index: src/distrib/sets/lists/debug/md.amd64 diff -u src/distrib/sets/lists/debug/md.amd64:1.60 src/distrib/sets/lists/debug/md.amd64:1.61 --- src/distrib/sets/lists/debug/md.amd64:1.60 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/md.amd64 Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: md.amd64,v 1.60 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: md.amd64,v 1.61 2014/07/25 01:38:27 mrg Exp $ ./usr/lib/i386/i18n/libBIG5_g.a comp-c-debuglib compat,debuglib ./usr/lib/i386/i18n/libDECHanyu_g.a comp-c-debuglib compat,debuglib ./usr/lib/i386/i18n/libEUCTW_g.a comp-c-debuglib compat,debuglib @@ -285,7 +285,7 @@ ./usr/libdata/debug/usr/lib/i386/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump ./usr/libdata/debug/usr/lib/i386/libpam.so.4.0.debug comp-compat-shlib compat,pic,pam,debug ./usr/libdata/debug/usr/lib/i386/libpcap.so.5.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/i386/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/i386/libpci.so.2.1.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/i386/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/i386/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/i386/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug Index: src/distrib/sets/lists/debug/md.sparc64 diff -u src/distrib/sets/lists/debug/md.sparc64:1.58 src/distrib/sets/lists/debug/md.sparc64:1.59 --- src/distrib/sets/lists/debug/md.sparc64:1.58 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/md.sparc64 Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: md.sparc64,v 1.58 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: md.sparc64,v 1.59 2014/07/25 01:38:27 mrg Exp $ ./usr/lib/sparc/i18n/libBIG5_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libDECHanyu_g.a comp-obsolete obsolete ./usr/lib/sparc/i18n/libEUCTW_g.a comp-obsolete obsolete @@ -278,7 +278,7 @@ ./usr/libdata/debug/usr/lib/sparc/libp2k.so.2.0.debug comp-compat-shlib compat,pic,debug,rump ./usr/libdata/debug/usr/lib/sparc/libpam.so.4.0.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/sparc/libpcap.so.5.0.debug comp-compat-shlib compat,pic,debug -./usr/libdata/debug/usr/lib/sparc/libpci.so.2.0.debug comp-compat-shlib compat,pic,debug +./usr/libdata/debug/usr/lib/sparc/libpci.so.2.1.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/sparc/libperfuse.so.0.0.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/sparc/libposix.so.0.1.debug comp-compat-shlib compat,pic,debug ./usr/libdata/debug/usr/lib/sparc/libppath.so.0.0.debug comp-compat-shlib compat,pic,debug Index: src/distrib/sets/lists/debug/shl.mi diff -u src/distrib/sets/lists/debug/shl.mi:1.68 src/distrib/sets/lists/debug/shl.mi:1.69 --- src/distrib/sets/lists/debug/shl.mi:1.68 Sat Jul 19 18:38:33 2014 +++ src/distrib/sets/lists/debug/shl.mi Fri Jul 25 01:38:27 2014 @@ -1,4 +1,4 @@ -# $NetBSD: shl.mi,v 1.68 2014/07/19 18:38:33 lneto Exp $ +# $NetBSD: shl.mi,v 1.69 2014/07/25 01:38:27 mrg Exp $ ./usr/libdata/debug/lib/libc.so.12.192.debug comp-sys-debug debug ./usr/libdata/debug/lib/libcrypt.so.1.0.debug comp-sys-debug debug ./usr/libdata/debug/lib/libcrypto.so.8.2.debug comp-sys-debug debug @@ -146,7 +146,7 @@ ./usr/libdata/debug/usr/lib/libp2k.so.2.0.debug comp-puffs-debug debug,rump ./usr/libdata/debug/usr/lib/libpam.so.4.0.debug comp-sys-debug pam,debug ./usr/libdata/debug/usr/lib/libpcap.so.5.0.debug comp-net-debug debug -./usr/libdata/debug/usr/lib/libpci.so.2.0.debug comp-sys-debug debug +./usr/libdata/debug/usr/lib/libpci.so.2.1.debug comp-sys-debug debug ./usr/libdata/debug/usr/lib/libperfuse.so.0.0.debug comp-perfuse-debug debug ./usr/libdata/debug/usr/lib/libposix.so.0.1.debug comp-sys-debug debug ./usr/libdata/debug/usr/lib/libppath.so.0.0.debug comp-sys-debug debug Index: src/lib/libpci/Makefile diff -u src/lib/libpci/Makefile:1.3 src/lib/libpci/Makefile:1.4 --- src/lib/libpci/Makefile:1.3 Mon May 24 20:31:17 2010 +++ src/lib/libpci/Makefile Fri Jul 25 01:38:26 2014 @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.3 2010/05/24 20:31:17 pgoyette Exp $ +# $NetBSD: Makefile,v 1.4 2014/07/25 01:38:26 mrg Exp $ .include <bsd.own.mk> LIB= pci -SRCS= pci_bus.c pci_device.c pci_subr.c pci_verbose.c +SRCS= pci_bus.c pci_device.c pci_drvname.c pci_subr.c pci_verbose.c .PATH.c: ${NETBSDSRCDIR}/sys/dev/pci Index: src/lib/libpci/shlib_version diff -u src/lib/libpci/shlib_version:1.3 src/lib/libpci/shlib_version:1.4 --- src/lib/libpci/shlib_version:1.3 Sun Jan 11 03:07:49 2009 +++ src/lib/libpci/shlib_version Fri Jul 25 01:38:26 2014 @@ -1,5 +1,5 @@ -# $NetBSD: shlib_version,v 1.3 2009/01/11 03:07:49 christos Exp $ +# $NetBSD: shlib_version,v 1.4 2014/07/25 01:38:26 mrg Exp $ # Remember to update distrib/sets/lists/base/shl.* when changing # major=2 -minor=0 +minor=1 Index: src/lib/libpci/pci.3 diff -u src/lib/libpci/pci.3:1.7 src/lib/libpci/pci.3:1.8 --- src/lib/libpci/pci.3:1.7 Fri Oct 23 15:41:58 2009 +++ src/lib/libpci/pci.3 Fri Jul 25 01:38:26 2014 @@ -1,4 +1,4 @@ -.\" $NetBSD: pci.3,v 1.7 2009/10/23 15:41:58 cegger Exp $ +.\" $NetBSD: pci.3,v 1.8 2014/07/25 01:38:26 mrg Exp $ .\" .\" Copyright 2001 Wasabi Systems, Inc. .\" All rights reserved. @@ -33,7 +33,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd April 24, 2004 +.Dd July 24, 2014 .Dt PCI 3 .Os .Sh NAME @@ -59,6 +59,8 @@ .Fn pci_devinfo "pcireg_t id_reg" "pcireg_t class_reg" "char *devinfo" "size_t len" .Ft void .Fn pci_conf_print "int pcifd" "u_int bus" "u_int dev" "u_int func" +.Ft int +.Fn pci_drvname "int pcifd" "u_int dev" "u_int func" "char *drvname" "size_t len" .Sh DESCRIPTION The .Nm @@ -134,14 +136,28 @@ at .Fa func . .Fa pcifd must be an open file descriptor to a PCI bus within the target PCI domain. +.It Fn pci_drvname +For the PCI bus opened on +.Fa pcifd , +return the driver name for +.Fa dev +and +.Fa func +into +.Fa drvname +using +.Fa len +as the buffer length. .El .Sh RETURN VALUES The .Fn pcibus_conf_read , .Fn pcibus_conf_write , .Fn pcidev_conf_read , +.Fn pcidev_conf_write , +.Fn pci_devinfo and -.Fn pcidev_conf_write +.Fn pci_drvname functions return 0 on success and -1 on failure. .Pp The @@ -162,3 +178,7 @@ and .Fn pci_conf_print functions first appeared in .Nx 1.6 . +The +.Fn pci_drvname +function first appeared in +.Nx 7.0 . Index: src/lib/libpci/pci.h diff -u src/lib/libpci/pci.h:1.4 src/lib/libpci/pci.h:1.5 --- src/lib/libpci/pci.h:1.4 Tue May 25 08:35:47 2010 +++ src/lib/libpci/pci.h Fri Jul 25 01:38:26 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pci.h,v 1.4 2010/05/25 08:35:47 pgoyette Exp $ */ +/* $NetBSD: pci.h,v 1.5 2014/07/25 01:38:26 mrg Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -52,6 +52,9 @@ int pcibus_conf_write(int, u_int, u_int, int pcidev_conf_read(int, u_int, pcireg_t *); int pcidev_conf_write(int, u_int, pcireg_t); +/* pci_drvname.c */ +int pci_drvname(int, u_int, u_int, char *, size_t); + /* pci_subr.c */ const char *pci_findvendor_real(pcireg_t); const char *pci_findproduct_real(pcireg_t); Index: src/sys/dev/pci/pci_usrreq.c diff -u src/sys/dev/pci/pci_usrreq.c:1.26 src/sys/dev/pci/pci_usrreq.c:1.27 --- src/sys/dev/pci/pci_usrreq.c:1.26 Wed May 28 04:41:52 2014 +++ src/sys/dev/pci/pci_usrreq.c Fri Jul 25 01:38:26 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pci_usrreq.c,v 1.26 2014/05/28 04:41:52 riastradh Exp $ */ +/* $NetBSD: pci_usrreq.c,v 1.27 2014/07/25 01:38:26 mrg Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -40,7 +40,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.26 2014/05/28 04:41:52 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: pci_usrreq.c,v 1.27 2014/07/25 01:38:26 mrg Exp $"); #include <sys/param.h> #include <sys/conf.h> @@ -74,8 +74,10 @@ static int pciioctl(dev_t dev, u_long cmd, void *data, int flag, struct lwp *l) { struct pci_softc *sc = device_lookup_private(&pci_cd, minor(dev)); + struct pci_child *child; struct pciio_bdf_cfgreg *bdfr; struct pciio_businfo *binfo; + struct pciio_drvname *dname; pcitag_t tag; switch (cmd) { @@ -105,6 +107,17 @@ pciioctl(dev_t dev, u_long cmd, void *da binfo->maxdevs = sc->sc_maxndevs; return 0; + case PCI_IOC_DRVNAME: + dname = data; + if (dname->device >= sc->sc_maxndevs || dname->function > 7) + return EINVAL; + child = &sc->PCI_SC_DEVICESC(dname->device, dname->function); + if (!child->c_dev) + return ENXIO; + strlcpy(dname->name, device_xname(child->c_dev), + sizeof dname->name); + return 0; + default: return ENOTTY; } Index: src/sys/dev/pci/pciio.h diff -u src/sys/dev/pci/pciio.h:1.3 src/sys/dev/pci/pciio.h:1.4 --- src/sys/dev/pci/pciio.h:1.3 Sat Jun 6 12:56:43 2009 +++ src/sys/dev/pci/pciio.h Fri Jul 25 01:38:26 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: pciio.h,v 1.3 2009/06/06 12:56:43 cegger Exp $ */ +/* $NetBSD: pciio.h,v 1.4 2014/07/25 01:38:26 mrg Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -93,4 +93,21 @@ struct pciio_businfo { #define PCI_IOC_BUSINFO _IOR('P', 4, struct pciio_businfo) +/* + * pciio_drvname: + * + * Driver info for a PCI device (autoconfiguration node) instance. + * Must be run on the correct bus. + */ + +#define PCI_IO_DRVNAME_LEN 16 +struct pciio_drvname { + u_int device; /* in: device number */ + u_int function; /* in: function number */ + char name[PCI_IO_DRVNAME_LEN]; +}; + +#define PCI_IOC_DRVNAME _IOWR('P', 5, struct pciio_drvname) + + #endif /* _DEV_PCI_PCIIO_H_ */ Added files: Index: src/lib/libpci/pci_drvname.c diff -u /dev/null src/lib/libpci/pci_drvname.c:1.1 --- /dev/null Fri Jul 25 01:38:27 2014 +++ src/lib/libpci/pci_drvname.c Fri Jul 25 01:38:26 2014 @@ -0,0 +1,62 @@ +/* $NetBSD: pci_drvname.c,v 1.1 2014/07/25 01:38:26 mrg Exp $ */ + +/* + * Copyright (c) 2014 Matthew R. Green + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> +__RCSID("$NetBSD: pci_drvname.c,v 1.1 2014/07/25 01:38:26 mrg Exp $"); + +#include <sys/types.h> +#include <sys/ioctl.h> +#include <string.h> + +#include <pci.h> + +#include <dev/pci/pciio.h> + +/* + * pci_drvname: + * + * What's the driver name for a PCI device? + */ +int +pci_drvname(int fd, u_int device, u_int func, char *name, size_t len) +{ + struct pciio_drvname drvname; + int rv; + + drvname.device = device; + drvname.function = func; + + rv = ioctl(fd, PCI_IOC_DRVNAME, &drvname); + if (rv == -1) + return -1; + + strlcpy(name, drvname.name, len); + return 0; +}