ChangeLog | 108 +++++++++++ aclocal.m4 | 2 configure | 92 ++++++--- configure.ac | 8 debian/changelog | 7 debian/control | 1 debian/libpciaccess0.shlibs | 2 debian/libpciaccess0.symbols | 2 include/pciaccess.h | 12 + ltmain.sh | 2 src/Makefile.am | 8 src/Makefile.in | 13 - src/common_init.c | 13 + src/common_interface.c | 21 ++ src/common_iterator.c | 3 src/common_map.c | 1 src/linux_devmem.c | 2 src/linux_sysfs.c | 66 +++++- src/openbsd_pci.c | 406 +++++++++++++++++++++++++++++++++++++++++++ src/pciaccess_private.h | 4 src/solx_devfs.c | 14 - 21 files changed, 712 insertions(+), 75 deletions(-)
New commits: commit 52e1cdd78466d0ce2262a8804b8ba40b351167ba Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jul 13 14:58:53 2008 +0200 Prepare changelog for upload diff --git a/debian/changelog b/debian/changelog index 8bc7d75..0a72f6e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -libpciaccess (0.10.3-1) UNRELEASED; urgency=low +libpciaccess (0.10.3-1) unstable; urgency=low [ Julien Cristau ] * Add watch file. @@ -10,7 +10,7 @@ libpciaccess (0.10.3-1) UNRELEASED; urgency=low * Update upstream URL in debian/copyright. * Drop the XS- prefix from Vcs-Git and Vcs-Browser fields in debian/control. - -- Brice Goglin <[EMAIL PROTECTED]> Fri, 13 Jun 2008 11:14:01 +0200 + -- Julien Cristau <[EMAIL PROTECTED]> Sun, 13 Jul 2008 14:58:51 +0200 libpciaccess (0.10-1) unstable; urgency=low commit fa2e10eb1f62c8040cfe8e0d48748cce6a8bd4a7 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jul 13 14:58:34 2008 +0200 Suggest pciutils, which provides the pci.ids list. diff --git a/debian/changelog b/debian/changelog index 9ef7341..8bc7d75 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,7 @@ libpciaccess (0.10.3-1) UNRELEASED; urgency=low * Add watch file. * New upstream release. * Bump shlibs and update symbols file. + * Suggest pciutils, which provides the pci.ids list. [ Brice Goglin ] * Update upstream URL in debian/copyright. diff --git a/debian/control b/debian/control index faf449a..3d9a38d 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,7 @@ Package: libpciaccess0 Section: libs Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: pciutils Description: Generic PCI access library for X Provides functionality for X to access the PCI bus and devices in a platform-independant way. commit 1b80d0b24c9ec113eb3c3f08f77f38a429440eaf Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jul 13 14:09:10 2008 +0200 Bump shlibs and update symbols file. diff --git a/debian/changelog b/debian/changelog index 2103e32..9ef7341 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ libpciaccess (0.10.3-1) UNRELEASED; urgency=low [ Julien Cristau ] * Add watch file. * New upstream release. + * Bump shlibs and update symbols file. [ Brice Goglin ] * Update upstream URL in debian/copyright. diff --git a/debian/libpciaccess0.shlibs b/debian/libpciaccess0.shlibs index 5b74236..213a640 100644 --- a/debian/libpciaccess0.shlibs +++ b/debian/libpciaccess0.shlibs @@ -1 +1 @@ -libpciaccess 0 libpciaccess0 (>= 0.8.0+git20071002) +libpciaccess 0 libpciaccess0 (>= 0.10.2) diff --git a/debian/libpciaccess0.symbols b/debian/libpciaccess0.symbols index 9243507..f36b279 100644 --- a/debian/libpciaccess0.symbols +++ b/debian/libpciaccess0.symbols @@ -3,7 +3,9 @@ libpciaccess.so.0 libpciaccess0 #MINVER# [EMAIL PROTECTED] 0 [EMAIL PROTECTED] 0 [EMAIL PROTECTED] 0 + [EMAIL PROTECTED] 0.10.2 [EMAIL PROTECTED] 0 + [EMAIL PROTECTED] 0.10.2 [EMAIL PROTECTED] 0 [EMAIL PROTECTED] 0 [EMAIL PROTECTED] 0 commit 8a7e9b1c3ad5ca688441092b8d87a5fbb0649785 Author: Julien Cristau <[EMAIL PROTECTED]> Date: Sun Jul 13 13:59:16 2008 +0200 autoreconf and update changelogs for new upstream diff --git a/ChangeLog b/ChangeLog index 28340f8..a85995b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,111 @@ +commit ed0555e4225aec26aaaa40f4f3c15fd914390817 +Author: Adam Jackson <[EMAIL PROTECTED]> +Date: Tue Jun 10 15:24:56 2008 -0400 + + libpciaccess 0.10.3 + +commit 07577a875bc9996437cfe30e5a87ca6b1a0f7e4a +Author: Adam Jackson <[EMAIL PROTECTED]> +Date: Tue Jun 10 15:23:06 2008 -0400 + + libpciaccess 0.10.2 + +commit e3adc06b8b8214478aa1d3e85fd5f83b79d039b4 +Author: Eric Anholt <[EMAIL PROTECTED]> +Date: Thu Jun 5 11:39:06 2008 -0700 + + Catch and recover from yet another linux kernel bug in mprotect. + +commit 4586bb6766983d040bff38b43dc458c47e0ca21f +Author: Adam Jackson <[EMAIL PROTECTED]> +Date: Wed May 21 13:44:38 2008 -0400 + + Linux: Fail gracefully on machines without PCI. + +commit 26400575a2a2d10b1014eaf0bfca6cfbf5d9b93b +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Wed May 21 16:10:37 2008 +1000 + + pciaccess: bump to 0.10.1 + +commit 4bc9292ff9338e759eb9a73f12edfa5ca87353e0 +Author: Dave Airlie <[EMAIL PROTECTED]> +Date: Wed May 21 16:10:24 2008 +1000 + + linux: add pci_device_enable entrypoint and sysfs support for it + +commit ded8326f2adadc773b34889474a0d4fc20ef387a +Author: Alan Coopersmith <[EMAIL PROTECTED]> +Date: Fri May 9 15:15:42 2008 -0700 + + Fix lint warnings in solx_devfs.c + +commit 74c976a7bcee3102993cf788850d0b803cf15afd +Author: Alan Coopersmith <[EMAIL PROTECTED]> +Date: Fri May 9 15:05:46 2008 -0700 + + Add pci_system_solx_devfs_create prototype to pciaccess_private.h + +commit 2ac461b2eca788fa0559312d45efd3caf6eea9bb +Author: Alan Coopersmith <[EMAIL PROTECTED]> +Date: Fri May 9 14:49:32 2008 -0700 + + Initialize err to 0 in pci_device_solx_devfs_map_range + + Prevents returning errors when mapping actually succeeds + +commit b30d458202bc0304c705eb081b12ead860584bea +Author: Keith Packard <[EMAIL PROTECTED]> +Date: Wed Apr 16 12:10:52 2008 -0700 + + Kludge around linux bug and turn off write-through and cache-disable bits + + When mmaping the PCI device, the kernel turns on the write-through and + cache-disable bits in the allocated PTEs. This disables write-combining mode + and dramatically reduces write bandwidth to the frame buffer. While that + should be fixed in the kernel, we'll kludge around it here by using mprotect + to rewrite the PTEs and get those bits turned off. + +commit a3b63c43b960e3b37e1b303214e63c5155192a5d +Author: Hasso Tepper <[EMAIL PROTECTED]> +Date: Mon Apr 7 15:28:44 2008 +0300 + + Add DragonFly BSD support + + DragonFly behaves exactly like FreeBSD, so no problem here. + +commit ec53d6ef2bdf0e7a087ffd45fe112290f2181656 +Author: Danny van Dyk <[EMAIL PROTECTED]> +Date: Fri Mar 28 17:01:29 2008 -0700 + + Fix function prototypes for C++ + +commit a5c862029846ddd5cecf44819f2a967e2a1672a9 +Author: Stuart Bennett <[EMAIL PROTECTED]> +Date: Fri Mar 14 11:58:33 2008 -0400 + + Bug #13988: Fix reads from "0"-sized ROMs. + +commit d898072e28ac35f5b3569f48f2e90a9ef8eee2ca +Author: Mark Kettenis <[EMAIL PROTECTED]> +Date: Wed Mar 12 21:29:58 2008 +0100 + + OpenBSD support for libpciaccess. + + xserver and libpciaccess both need to open /dev/xf86, which can only + be opened once. I implemented pci_system_init_dev_mem() like Ian + suggested. This requires some minor changes to the BSD-specific + os-support code. Since pci_system_init_dev_mem() is a no-op on + FreeBSD this should be no problem. + +commit 4224ff23794500e1455f28fd5689bd0549b72367 +Author: Julien Cristau <[EMAIL PROTECTED]> +Date: Fri Mar 7 14:41:47 2008 +0100 + + solaris: add pci_tools.h to OS_SUPPORT + + pci_tools.h was missing from the tarball, but is needed by solx_devfs.c + commit ac119e0b1d5fdbb6bd447b6cef1ddca59840fe40 Author: Adam Jackson <[EMAIL PROTECTED]> Date: Thu Mar 6 15:31:51 2008 -0500 diff --git a/aclocal.m4 b/aclocal.m4 index 037bb83..408b04d 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -21,7 +21,7 @@ To do so, use the procedure documented by the package, typically `autoreconf'.]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# serial 52 Debian 1.5.26-1 AC_PROG_LIBTOOL +# serial 52 Debian 1.5.26-4 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) diff --git a/configure b/configure index afc7d3e..7407230 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.61 for libpciaccess 0.10. +# Generated by GNU Autoconf 2.61 for libpciaccess 0.10.3. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess>. # @@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='libpciaccess' PACKAGE_TARNAME='libpciaccess' -PACKAGE_VERSION='0.10' -PACKAGE_STRING='libpciaccess 0.10' +PACKAGE_VERSION='0.10.3' +PACKAGE_STRING='libpciaccess 0.10.3' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess' # Factoring default headers for most tests. @@ -880,6 +880,8 @@ LINUX_TRUE LINUX_FALSE FREEBSD_TRUE FREEBSD_FALSE +OPENBSD_TRUE +OPENBSD_FALSE SOLARIS_TRUE SOLARIS_FALSE PCIACCESS_CFLAGS @@ -1404,7 +1406,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libpciaccess 0.10 to adapt to many kinds of systems. +\`configure' configures libpciaccess 0.10.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1474,7 +1476,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libpciaccess 0.10:";; + short | recursive ) echo "Configuration of libpciaccess 0.10.3:";; esac cat <<\_ACEOF @@ -1582,7 +1584,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libpciaccess configure 0.10 +libpciaccess configure 0.10.3 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1596,7 +1598,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libpciaccess $as_me 0.10, which was +It was created by libpciaccess $as_me 0.10.3, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ @@ -2286,7 +2288,7 @@ fi # Define the identity of the package. PACKAGE='libpciaccess' - VERSION='0.10' + VERSION='0.10.3' cat >>confdefs.h <<_ACEOF @@ -4356,7 +4358,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 4359 "configure"' > conftest.$ac_ext + echo '#line 4361 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7413,11 +7415,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7416: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7418: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7420: \$? = $ac_status" >&5 + echo "$as_me:7422: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7703,11 +7705,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7706: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7708: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7710: \$? = $ac_status" >&5 + echo "$as_me:7712: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7807,11 +7809,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7810: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7812: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7814: \$? = $ac_status" >&5 + echo "$as_me:7816: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10184,7 +10186,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10187 "configure" +#line 10189 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10284,7 +10286,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 10287 "configure" +#line 10289 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12685,11 +12687,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12688: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12690: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:12692: \$? = $ac_status" >&5 + echo "$as_me:12694: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -12789,11 +12791,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:12792: $lt_compile\"" >&5) + (eval echo "\"\$as_me:12794: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:12796: \$? = $ac_status" >&5 + echo "$as_me:12798: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14387,11 +14389,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14390: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14392: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:14394: \$? = $ac_status" >&5 + echo "$as_me:14396: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14491,11 +14493,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14494: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14496: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14498: \$? = $ac_status" >&5 + echo "$as_me:14500: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -16711,11 +16713,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:16714: $lt_compile\"" >&5) + (eval echo "\"\$as_me:16716: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:16718: \$? = $ac_status" >&5 + echo "$as_me:16720: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17001,11 +17003,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17004: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17006: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:17008: \$? = $ac_status" >&5 + echo "$as_me:17010: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -17105,11 +17107,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:17108: $lt_compile\"" >&5) + (eval echo "\"\$as_me:17110: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:17112: \$? = $ac_status" >&5 + echo "$as_me:17114: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -19837,12 +19839,15 @@ if test "x$GCC" = "xyes"; then fi case $host_os in - *freebsd*) + *freebsd* | *dragonfly*) freebsd=yes ;; *linux*) linux=yes ;; + *openbsd*) + openbsd=yes + ;; *solaris*) solaris=yes PCIACCESS_LIBS="$PCIACCESS_LIBS -ldevinfo" @@ -19865,6 +19870,14 @@ else FREEBSD_FALSE= fi + if test "x$openbsd" = xyes; then + OPENBSD_TRUE= + OPENBSD_FALSE='#' +else + OPENBSD_TRUE='#' + OPENBSD_FALSE= +fi + if test "x$solaris" = xyes; then SOLARIS_TRUE= SOLARIS_FALSE='#' @@ -20088,6 +20101,13 @@ echo "$as_me: error: conditional \"FREEBSD\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${OPENBSD_TRUE}" && test -z "${OPENBSD_FALSE}"; then + { { echo "$as_me:$LINENO: error: conditional \"OPENBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +echo "$as_me: error: conditional \"OPENBSD\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${SOLARIS_TRUE}" && test -z "${SOLARIS_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"SOLARIS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -20395,7 +20415,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libpciaccess $as_me 0.10, which was +This file was extended by libpciaccess $as_me 0.10.3, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -20448,7 +20468,7 @@ Report bugs to <[EMAIL PROTECTED]>." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -libpciaccess config.status 0.10 +libpciaccess config.status 0.10.3 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" @@ -20782,6 +20802,8 @@ LINUX_TRUE!$LINUX_TRUE$ac_delim LINUX_FALSE!$LINUX_FALSE$ac_delim FREEBSD_TRUE!$FREEBSD_TRUE$ac_delim FREEBSD_FALSE!$FREEBSD_FALSE$ac_delim +OPENBSD_TRUE!$OPENBSD_TRUE$ac_delim +OPENBSD_FALSE!$OPENBSD_FALSE$ac_delim SOLARIS_TRUE!$SOLARIS_TRUE$ac_delim SOLARIS_FALSE!$SOLARIS_FALSE$ac_delim PCIACCESS_CFLAGS!$PCIACCESS_CFLAGS$ac_delim @@ -20790,7 +20812,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 21; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 23; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/debian/changelog b/debian/changelog index 64e26e9..2103e32 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,8 @@ -libpciaccess (0.10-2) UNRELEASED; urgency=low +libpciaccess (0.10.3-1) UNRELEASED; urgency=low [ Julien Cristau ] * Add watch file. + * New upstream release. [ Brice Goglin ] * Update upstream URL in debian/copyright. diff --git a/ltmain.sh b/ltmain.sh index 5def351..0bf3848 100644 --- a/ltmain.sh +++ b/ltmain.sh @@ -43,7 +43,7 @@ EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool -VERSION="1.5.26 Debian 1.5.26-1" +VERSION="1.5.26 Debian 1.5.26-4" TIMESTAMP=" (1.1220.2.493 2008/02/01 16:58:18)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). diff --git a/src/Makefile.in b/src/Makefile.in index 1675c54..1086d4a 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -83,9 +83,10 @@ am__libpciaccess_la_SOURCES_DIST = common_bridge.c common_iterator.c \ common_init.c common_interface.c common_capability.c \ common_device_name.c common_map.c pciaccess_private.h \ freebsd_pci.c linux_sysfs.c linux_devmem.c linux_devmem.h \ - solx_devfs.c [EMAIL PROTECTED]@@LINUX_FALSE@@[EMAIL PROTECTED] = \ [EMAIL PROTECTED]@@LINUX_FALSE@@SOLARIS_TRUE@ solx_devfs.lo + openbsd_pci.c solx_devfs.c pci_tools.h [EMAIL PROTECTED]@@LINUX_FALSE@@OPENBSD_FALSE@@[EMAIL PROTECTED] = solx_devfs.lo [EMAIL PROTECTED]@@LINUX_FALSE@@[EMAIL PROTECTED] = \ [EMAIL PROTECTED]@@LINUX_FALSE@@OPENBSD_TRUE@ openbsd_pci.lo @FREEBSD_FALSE@@[EMAIL PROTECTED] = linux_sysfs.lo \ @FREEBSD_FALSE@@LINUX_TRUE@ linux_devmem.lo @[EMAIL PROTECTED] = freebsd_pci.lo @@ -236,7 +237,8 @@ AM_CFLAGS = @PCIACCESS_CFLAGS@ lib_LTLIBRARIES = libpciaccess.la @[EMAIL PROTECTED] = freebsd_pci.c @[EMAIL PROTECTED] = linux_sysfs.c linux_devmem.c linux_devmem.h [EMAIL PROTECTED]@OS_SUPPORT = solx_devfs.c [EMAIL PROTECTED]@OS_SUPPORT = openbsd_pci.c [EMAIL PROTECTED]@OS_SUPPORT = solx_devfs.c pci_tools.h libpciaccess_la_SOURCES = common_bridge.c \ common_iterator.c \ common_init.c \ @@ -249,7 +251,7 @@ libpciaccess_la_SOURCES = common_bridge.c \ INCLUDES = -I$(top_srcdir)/include libpciaccess_la_LIBADD = @PCIACCESS_LIBS@ -libpciaccess_la_LDFLAGS = -version-number 0:10:0 -no-undefined +libpciaccess_la_LDFLAGS = -version-number 0:10:2 -no-undefined libpciaccessincludedir = $(includedir) libpciaccessinclude_HEADERS = \ $(top_srcdir)/include/pciaccess.h @@ -346,6 +348,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ [EMAIL PROTECTED]@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/$(DEPDIR)/[EMAIL PROTECTED]@ commit ed0555e4225aec26aaaa40f4f3c15fd914390817 Author: Adam Jackson <[EMAIL PROTECTED]> Date: Tue Jun 10 15:24:56 2008 -0400 libpciaccess 0.10.3 diff --git a/configure.ac b/configure.ac index 48f33c2..9293b4a 100644 --- a/configure.ac +++ b/configure.ac @@ -40,7 +40,7 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice. AC_PREREQ([2.57]) -AC_INIT(libpciaccess, 0.10.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) +AC_INIT(libpciaccess, 0.10.3, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE commit 07577a875bc9996437cfe30e5a87ca6b1a0f7e4a Author: Adam Jackson <[EMAIL PROTECTED]> Date: Tue Jun 10 15:23:06 2008 -0400 libpciaccess 0.10.2 diff --git a/configure.ac b/configure.ac index ed81dc4..48f33c2 100644 --- a/configure.ac +++ b/configure.ac @@ -40,7 +40,7 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice. AC_PREREQ([2.57]) -AC_INIT(libpciaccess, 0.10.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) +AC_INIT(libpciaccess, 0.10.2, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE diff --git a/src/Makefile.am b/src/Makefile.am index 8bec117..8c53de5 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,7 +55,7 @@ INCLUDES = -I$(top_srcdir)/include libpciaccess_la_LIBADD = @PCIACCESS_LIBS@ -libpciaccess_la_LDFLAGS = -version-number 0:10:1 -no-undefined +libpciaccess_la_LDFLAGS = -version-number 0:10:2 -no-undefined libpciaccessincludedir = $(includedir) libpciaccessinclude_HEADERS = \ commit e3adc06b8b8214478aa1d3e85fd5f83b79d039b4 Author: Eric Anholt <[EMAIL PROTECTED]> Date: Thu Jun 5 11:39:06 2008 -0700 Catch and recover from yet another linux kernel bug in mprotect. diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c index 9e53fac..b1d196c 100644 --- a/src/linux_sysfs.c +++ b/src/linux_sysfs.c @@ -537,12 +537,11 @@ pci_device_linux_sysfs_map_range(struct pci_device *dev, map->memory = mmap(NULL, map->size, prot, MAP_SHARED, fd, offset); if (map->memory == MAP_FAILED) { - err = errno; map->memory = NULL; + close(fd); + return errno; } - close(fd); - #ifdef HAVE_MTRR if ((map->flags & PCI_DEV_MAP_FLAG_CACHABLE) != 0) { sentry.type = MTRR_TYPE_WRBACK; @@ -562,11 +561,27 @@ pci_device_linux_sysfs_map_range(struct pci_device *dev, } /* KLUDGE ALERT -- rewrite the PTEs to turn off the CD and WT bits */ mprotect (map->memory, map->size, PROT_NONE); - mprotect (map->memory, map->size, PROT_READ|PROT_WRITE); + err = mprotect (map->memory, map->size, PROT_READ|PROT_WRITE); + + if (err != 0) { + fprintf(stderr, "mprotect(PROT_READ | PROT_WRITE) failed: %s\n", + strerror(errno)); + fprintf(stderr, "remapping without mprotect performace kludge.\n"); + + munmap(map->memory, map->size); + map->memory = mmap(NULL, map->size, prot, MAP_SHARED, fd, offset); + if (map->memory == MAP_FAILED) { + map->memory = NULL; + close(fd); + return errno; + } + } } #endif - return err; + close(fd); + + return 0; } /** commit 4586bb6766983d040bff38b43dc458c47e0ca21f Author: Adam Jackson <[EMAIL PROTECTED]> Date: Wed May 21 13:44:38 2008 -0400 Linux: Fail gracefully on machines without PCI. diff --git a/src/common_iterator.c b/src/common_iterator.c index 73d2755..83cade3 100644 --- a/src/common_iterator.c +++ b/src/common_iterator.c @@ -158,6 +158,9 @@ pci_device_next( struct pci_device_iterator * iter ) { struct pci_device_private * d = NULL; + if (!iter) + return NULL; + switch( iter->mode ) { case match_any: if ( iter->next_index < pci_sys->num_devices ) { diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c index 5fa0ea1..9e53fac 100644 --- a/src/linux_sysfs.c +++ b/src/linux_sysfs.c @@ -114,6 +114,9 @@ pci_system_linux_sysfs_create( void ) pci_sys = calloc( 1, sizeof( struct pci_system ) ); if ( pci_sys != NULL ) { pci_sys->methods = & linux_sysfs_methods; +#ifdef HAVE_MTRR + pci_sys->mtrr_fd = open("/proc/mtrr", O_WRONLY); +#endif err = populate_entries(pci_sys); } else { @@ -124,10 +127,6 @@ pci_system_linux_sysfs_create( void ) err = errno; } -#ifdef HAVE_MTRR - pci_sys->mtrr_fd = open("/proc/mtrr", O_WRONLY); -#endif - return err; } commit 26400575a2a2d10b1014eaf0bfca6cfbf5d9b93b Author: Dave Airlie <[EMAIL PROTECTED]> Date: Wed May 21 16:10:37 2008 +1000 pciaccess: bump to 0.10.1 diff --git a/configure.ac b/configure.ac index a5b9814..ed81dc4 100644 --- a/configure.ac +++ b/configure.ac @@ -40,7 +40,7 @@ dnl refers to ${prefix}. Thus we have to use `eval' twice. AC_PREREQ([2.57]) -AC_INIT(libpciaccess, 0.10, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) +AC_INIT(libpciaccess, 0.10.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg&component=libpciaccess], libpciaccess) AM_INIT_AUTOMAKE([dist-bzip2]) AM_MAINTAINER_MODE diff --git a/src/Makefile.am b/src/Makefile.am index f60ccbd..8bec117 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -55,7 +55,7 @@ INCLUDES = -I$(top_srcdir)/include libpciaccess_la_LIBADD = @PCIACCESS_LIBS@ -libpciaccess_la_LDFLAGS = -version-number 0:10:0 -no-undefined +libpciaccess_la_LDFLAGS = -version-number 0:10:1 -no-undefined libpciaccessincludedir = $(includedir) libpciaccessinclude_HEADERS = \ commit 4bc9292ff9338e759eb9a73f12edfa5ca87353e0 Author: Dave Airlie <[EMAIL PROTECTED]> Date: Wed May 21 16:10:24 2008 +1000 linux: add pci_device_enable entrypoint and sysfs support for it diff --git a/include/pciaccess.h b/include/pciaccess.h index de8b4b3..cf32876 100644 --- a/include/pciaccess.h +++ b/include/pciaccess.h @@ -110,6 +110,8 @@ const char *pci_device_get_subdevice_name(const struct pci_device *dev); const char *pci_device_get_vendor_name(const struct pci_device *dev); const char *pci_device_get_subvendor_name(const struct pci_device *dev); +void pci_device_enable(struct pci_device *dev); + int pci_device_cfg_read (struct pci_device *dev, void *data, pciaddr_t offset, pciaddr_t size, pciaddr_t *bytes_read); int pci_device_cfg_read_u8 (struct pci_device *dev, uint8_t *data, diff --git a/src/common_interface.c b/src/common_interface.c index aee2754..663ab44 100644 --- a/src/common_interface.c +++ b/src/common_interface.c @@ -604,3 +604,14 @@ pci_device_cfg_write_bits( struct pci_device * dev, uint32_t mask, return err; } + +void +pci_device_enable(struct pci_device *dev) +{ + if (dev == NULL) { + return; + } + + if (pci_sys->methods->enable) + pci_sys->methods->enable(dev); +} diff --git a/src/linux_sysfs.c b/src/linux_sysfs.c index 78584d6..5fa0ea1 100644 --- a/src/linux_sysfs.c +++ b/src/linux_sysfs.c @@ -55,6 +55,8 @@ #include "pciaccess_private.h" #include "linux_devmem.h" +static void pci_device_linux_sysfs_enable(struct pci_device *dev); + static int pci_device_linux_sysfs_read_rom( struct pci_device * dev, void * buffer ); @@ -84,7 +86,8 @@ static const struct pci_system_methods linux_sysfs_methods = { .read = pci_device_linux_sysfs_read, .write = pci_device_linux_sysfs_write, - .fill_capabilities = pci_fill_capabilities_generic + .fill_capabilities = pci_fill_capabilities_generic, + .enable = pci_device_linux_sysfs_enable, }; #define SYS_BUS_PCI "/sys/bus/pci/devices" @@ -622,3 +625,23 @@ pci_device_linux_sysfs_unmap_range(struct pci_device *dev, return err; } + +static void pci_device_linux_sysfs_enable(struct pci_device *dev) +{ + char name[256]; + int fd; + + snprintf( name, 255, "%s/%04x:%02x:%02x.%1u/enable", + SYS_BUS_PCI, + dev->domain, + dev->bus, + dev->dev, + dev->func ); + + fd = open( name, O_RDWR ); + if (fd == -1) + return; + + write( fd, "1", 1 ); + close(fd); +} diff --git a/src/pciaccess_private.h b/src/pciaccess_private.h index 494f577..6048af1 100644 --- a/src/pciaccess_private.h +++ b/src/pciaccess_private.h @@ -59,6 +59,7 @@ struct pci_system_methods { pciaddr_t size, pciaddr_t * bytes_written ); int (*fill_capabilities)( struct pci_device * dev ); + void (*enable)( struct pci_device *dev ); }; struct pci_device_mapping { commit ded8326f2adadc773b34889474a0d4fc20ef387a Author: Alan Coopersmith <[EMAIL PROTECTED]> Date: Fri May 9 15:15:42 2008 -0700 Fix lint warnings in solx_devfs.c diff --git a/src/solx_devfs.c b/src/solx_devfs.c index eceb9af..a2daec1 100644 --- a/src/solx_devfs.c +++ b/src/solx_devfs.c @@ -108,12 +108,6 @@ static int pci_device_solx_devfs_read_rom( struct pci_device * dev, static int pci_device_solx_devfs_probe( struct pci_device * dev ); -static int pci_device_solx_devfs_map_region( struct pci_device * dev, - unsigned region, int write_enable ); - -static int pci_device_solx_devfs_unmap_region( struct pci_device * dev, - unsigned region ); - static int pci_device_solx_devfs_read( struct pci_device * dev, void * data, pciaddr_t offset, pciaddr_t size, pciaddr_t * bytes_read ); @@ -600,7 +594,7 @@ pci_device_solx_devfs_probe( struct pci_device * dev ) * using libdevinfo */ if ((rnode = di_init("/", DINFOCPYALL)) == DI_NODE_NIL) { - (void) fprintf(stderr, "di_init failed: $s\n", + (void) fprintf(stderr, "di_init failed: %s\n", strerror(errno)); err = errno; } else { @@ -759,7 +753,7 @@ pci_device_solx_devfs_read( struct pci_device * dev, void * data, cfg_prg.offset = offset + i; if ((err = ioctl(root_fd, PCITOOL_DEVICE_GET_REG, &cfg_prg)) != 0) { - fprintf(stderr, "read bdf<%x,%x,%x,%x> config space failure\n", + fprintf(stderr, "read bdf<%x,%x,%x,%llx> config space failure\n", cfg_prg.bus_no, cfg_prg.dev_no, cfg_prg.func_no, @@ -867,7 +861,7 @@ pci_device_solx_devfs_map_range(struct pci_device *dev, if (map->memory == MAP_FAILED) { err = errno; - (void) fprintf(stderr, "map rom region =%x failed", + (void) fprintf(stderr, "map rom region =%llx failed", map->base); } commit 74c976a7bcee3102993cf788850d0b803cf15afd Author: Alan Coopersmith <[EMAIL PROTECTED]> Date: Fri May 9 15:05:46 2008 -0700 Add pci_system_solx_devfs_create prototype to pciaccess_private.h diff --git a/src/pciaccess_private.h b/src/pciaccess_private.h index 94b12bd..494f577 100644 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]