libpciaccess & scanpci [PSARC/2008/638 FastTrack timeout 10/22/2008]

Alan Coopersmith alan.coopersmith at sun.com
Wed Oct 15 16:40:01 PDT 2008


I am sponsoring this case for Stuart Kreitman & myself of the X team.
Edward Shu, who wrote the Solaris backend of the pciaccess code and
contributed it upstream, is also cc'ed.

The timeout is set for a week from today, Wednesday, October 15.
The requested release binding is patch/micro, though there are 
no plans to backport to such a release at this time.

        -Alan Coopersmith-           alan.coopersmith at sun.com
         Sun Microsystems, Inc. - X Window System Engineering

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2008 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
	 libpciaccess & scanpci
    1.2. Name of Document Author/Supplier:
	 Author:  Stuart Kreitman & Alan Coopersmith
    1.3  Date of This Document:
	15 October, 2008
4. Technical Description

pciaccess is a set of methods for generic access to the PCI bus and devices
that X.Org has created to replace the internal code it previously used to
access PCI bus configuration data directly via drivers like /dev/xsvc.

The upcoming X.Org 1.5 case will depend on this project.

This project delivers the pciaccess API and scanpci CLI.
The API is unmodified from the upstream X.Org community sources.

This library is still under active development and refinement, and the
community has not yet committed to keeping it compatible, so we are
integrating with a stability level of Volatile at this time.

We don't expect most user applications to consume this library - the
expected consumers are the Xorg server & graphics drivers and the
included /usr/bin/scanpci CLI so Volatile stability does not appear to
pose a hardship to a significant number of consumers.

Since scanpci has been split out of the X server, and to make it easier to
find & use for users without /usr/X11/bin in their SUPATH for root, the
command is moved by this case to /usr/bin/scanpci.   A symbolic link will
be left in the old location for binary compatibility.

Several options supported by the old scanpci implementation are no longer
present in the new scanpci, these are:

     -1      Use PCI config type 1.

     -2      Use PCI config type 2.

     -f      Used in conjunction with the above two options, this
             forces  the  specified configuration type to be used
             for config space access.

     -O      Use the OS's PCI config space  access  mechanism  to
             access the PCI config space (when available).

     -V n    Set the verbosity level to n for  the  internal  PCI
             scanner.  This is primarily for debugging use.

scanpci continues to require extra privileges to run.   The exec_attr
RBAC entry to grant these privileges to users with the 
"Desktop Configuration" role will be updated to add the new scanpci path.

Unlike the Xorg code this replaces, this code does not have a builtin
database to map PCI vendor and device ids to human readable names, but
gets those names from the pci.ids file at runtime.   (This is the same
community data source as the previous scanpci, just read from a text
file at runtime instead of converting the text file into compiled tables
at build time.)

Imported Interfaces:
--------------------
/usr/X11/bin/scanpci & previous options	External 		PSARC 2004/187
/usr/share/hwdata/pci.ids		Volatile		PSARC 2005/399
/devices/pci at 0,0:reg			Unknown - ARC case not found
/dev/xsvc				Contract Private 	PSARC 2000/415
libdevinfo				Evolving		PSARC 1997/127
PCITOOL_DEVICE_GET_REG			Consolidation Private	PSARC 2005/232
PCITOOL_DEVICE_SET_REG			Consolidation Private	PSARC 2005/232

Exported Interfaces:
--------------------
SUNWpciaccess					Uncommitted
/usr/bin/scanpci				Volatile
/usr/include/pciaccess.h			Volatile
/usr/lib/libpciaccess.so.0			Volatile
/usr/lib/{sparcv9,amd64}/libpciaccess.so.0	Volatile
pciaccess.pc (for pkg-config)			Volatile
scanpci output format				Not An Interface

/usr/X11/bin/scanpci				Obsolete
scanpci options listed above			Removed

6. Resources and Schedule
    6.4. Steering Committee requested information
   	6.4.1. Consolidation C-team Name:
		X
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open




More information about the opensolaris-arc mailing list