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