I am sponsoring the following case on behalf of Judy Chen and Wesley Shao as a fast-track, with timeout February 5, 2009. The project desires micro/patch binding.
1. Introduction 1.1. Project/Component Working Name: Add -d option for 'prtconf' 1.2. Name of Document Author/Supplier: Author: Judy Chen 1.3. Date of This Document: 29 July, 2008 4. Technical Description: 4.1. Overview This case proposes to provide a '-d' option for prtconf(1M) to print out vendor ID and device ID for PCI/PCI-X/PCIe devices. Release Binding requested is micro/patch. 4.2. Details Prtconf(1M) is often used to identify what devices are available on the system. For PCI/PCI-X/PCIe devices, vendor ID and device ID specify the manufactures of the device and are often checked to identify the device. But currently, prtconf(1M) only prints out PCI/PCI-X/PCIe devices' generic names (e.g. pci, network) as the node name on SPARC, and pci<subsystem-vendor-id>,<subsystem-id> on X86. To print out PCI/PCI-X/PCIe devices' vendor ID or device ID, one must run 'prtconf -pv' on SPARC and 'prtconf -v' on X86, then manually search and match through the device properties. This case proposes to provide a '-d' option for prtconf(1M) to print out below node name for PCI/PCI-X/PCIe device: <device-type><vendor-id>,<device-id> Sample output of prtconf(1M). - Output of prtconf(1M) without '-d' options * Generic name on SPARC: network, instance #0 * Subsystem vendor ID on X86: pci1028,214, instance #0 - Output of 'prtconf -d' * Actual PCI vendor ID and device ID on X86: pci1028,214 (pciex8086,105e), instance #0 * and on SPARC: network (pciex8086,105e), instance #0 4.3. Man Page Changes An updated prtconf(1M) man page included below. 4.4. Exported Interfaces ____________________________________________ | Interface | Classification | |_______________________|__________________| | /usr/sbin/prtconf -d | Committed | |_______________________|__________________| 6. Resources and Schedule: 6.4. Steering Committee requested information 6.4.1. Consolidation C-team Name: ON 6.5. ARC review type: FastTrack prtconf(1M) System Administration Commands prtconf(1M) NAME prtconf - print system configuration SYNOPSIS ! /usr/sbin/prtconf [-V] | [-F] | [-x] | [-bpv] | [-acdDPv] ! [dev_path] DESCRIPTION The prtconf command prints the system configuration information. The output includes the total amount of memory, and the configuration of system peripherals formatted as a device tree. If a device path is specified on the command line for those command options that can take a device path, prtconf will only display informa- tion for that device node. OPTIONS The following options are supported: -a Display all the ancestors device nodes, up to the root node of the device tree, for the device specified on the command line. -b Display the firmware device tree root properties for the purpose of platform identification. These properties are "name", "compat- ible", "banner-name" and "model". -c Display the device subtree rooted at the device node specified on the command line, that is, display all the children of the device node specified on the command line. ! -d Display vendor ID and device ID for PCI and PCI Express devices ! in addition to the nodename. -D For each system peripheral in the device tree, displays the name of the device driver used to manage the peripheral. -F A SPARC-only option. Returns the device path name of the console frame buffer, if one exists. If there is no frame buffer, prtconf returns a non-zero exit code. This flag must be used by itself. It returns only the name of the console, frame buffer device or a non-zero exit code. For example, if the console frame buffer on a SUNW,Ultra-30 is ffb, the command returns: /SUNW,ffb at 1e,0:ffb0. This option could be used to create a symlink for /dev/fb to the actual console device. -p Displays information derived from the device tree provided by the firmware (PROM) on SPARC platforms or the booting system on x86 platforms.The device tree information displayed using this option is a snapshot of the initial configuration and may not accurately reflect reconfiguration events that occur later. -P Includes information about pseudo devices. By default, informa- tion regarding pseudo devices is omitted. -v Specifies verbose mode. -V Displays platform-dependent PROM (on SPARC platforms) or booting system (on x86 platforms) version information. This flag must be used by itself. The output is a string. The format of the string is arbitrary and platform-dependent. -x Reports if the firmware on this system is 64-bit ready. Some existing platforms may need a firmware upgrade in order to run the 64-bit kernel. If the operation is not applicable to this platform or the firmware is already 64-bit ready, it exits silently with a return code of zero. If the operation is applica- ble to this platform and the firmware is not 64-bit ready, it displays a descriptive message on the standard output and exits with a non-zero return code. The hardware platform documentation contains more information about the platforms that may need a firmware upgrade in order to run the 64-bit kernel. This flag overrides all other flags and must be used by itself. OPERANDS The following operands are supported: dev_path The path to a target device minor node, device nexus node, or device link for which device node configuration informa- tion is displayed EXIT STATUS The following exit values are returned: 0 No error occurred. non-zero With the -F option (SPARC only), a non-zero return value means that the output device is not a frame buffer. With the -x option, a non-zero return value means that the firmware is not 64-bit ready. In all other cases, a non- zero return value means that an error occurred. ATTRIBUTES See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWesu | |Interface Stability |Unstable | +-----------------------------+-----------------------------+ SEE ALSO fuser(1M), modinfo(1M), sysdef(1M), attributes(5) Sun Hardware Platform Guide SPARC Only openprom(7D) NOTES The output of the prtconf command is highly dependent on the version of the PROM installed in the system. The output will be affected in poten- tially all circumstances. The driver not attached message means that no driver is currently attached to that instance of the device. In general, drivers are loaded and installed (and attached to hardware instances) on demand, and when needed, and may be uninstalled and unloaded when the device is not in use. On x86 platforms, the use of prtconf -vp provides a subset of informa- tion from prtconf -v. The value of integer properties from prtconf -vp might require byte swapping for correct interpretation.