*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> pciconfig (1)              
Title
Content
Arch
Section
 

Contents


pciconfig(1M)							 pciconfig(1M)


NAME    [Toc]    [Back]

     pciconfig - hot-plug insert, hot-plug remove, and query PCI devices

SYNOPSIS    [Toc]    [Back]

     pciconfig -b bus_path_name	{-u | -d | -q} [-v] [-o] [-x] [-s slot_number]

DESCRIPTION    [Toc]    [Back]

     pciconfig is used to hot-plug insert a device into	a PCI slot, hot-plug
     remove a device from a PCI	slot, and query	a slot on a PCI	bus controlled
     by	a bridge device.  PCI Hot-Plug operations are executed while the
     system is running.

     A hot-plug	insertion powers-up the	PCI slot, determines the type of card
     installed,	and calls the appropriate device driver	to initialize the card
     and its software.	Typically, after a successful hot-plug insertion, new
     device entries will be found in the hardware graph.  The card can then be
     used as if	it were	in the system at boot time.

     A hot-plug	removal	calls the appropriate device driver to terminate card
     operation and release software resources used by the device.  The PCI
     slot is then powered-down.	 Typically, after a successful hot-plug
     removal, the device entries will be removed from the hardware graph.

     The hot-plug insert operation calls the device driver's attach function
     and the hot-plug removal operation	calls the device driver's detach
     function.	Each function must completely initialize or terminate both
     hardware and software device operation for	the insertion or removal to be
     successful.  If a driver does not completely handle attaching or
     detaching its device, a system failure may	occur.

     Individual	device drivers may support hot-plug insertion, hot-plug
     removal, neither, or both.	 If a driver supports both hot-plug insertion
     and removal, then cards supported by that driver can be replaced in a
     running system.  Only certified device drivers support PCI	Hot-Plug
     operations;  attempts to hot-plug insert or remove	a card that does not
     have a certified driver will fail.

     System critical slots may not be hot-plug removed.

     Unless the	-o option is used, hot-plug inserting a	card into a slot
     automatically executes the	ioconfig command to assign a global
     unit/controller number to the slot's device.

     The options are:

     -b	bus_path_name
	  Specify the hardware graph path name of the target PCI bus in	which
	  the target device is installed.  This	path name will be concatenated
	  with the device name "controller" to form the	full path name of the
	  bridge device	that manages the target	PCI bus.





									Page 1






pciconfig(1M)							 pciconfig(1M)



     -u	  Hot-plug insert a card into the specified slot on the	target bus.
	  An insert operation consists of supplying power to the slot,
	  initializing the bridge hardware and kernel software for the slot,
	  and calling the device driver	attach function	that is	registered to
	  support the device installed in the slot.  Unless the	-o option is
	  also specified, the ioconfig command is then executed	to assign a
	  global unit/controller number	to the device in the slot.  After a
	  successful insertion,	the slot device	status is "start-up complete"
	  and the slot power status is "up".  The slot device status following
	  an unsuccessful insertion is "start-up incomplete".

     -d	  Hot-plug remove a card from the specified slot on the	target bus.  A
	  remove operation consists of calling the device driver detach
	  function that	supports the device installed in the slot, reseting
	  the bridge hardware and kernel software for the slot,	and removing
	  power	from the slot.	After a	successful removal, the	slot device
	  status is "shut-down complete" and the slot power status is "down".
	  The slot device status following an unsuccessful removal is "shutdown
 incomplete".

     -q	  Query	the specified slot, or if no slot is specified,	query all the
	  slots	on the target bus.  The	response includes the slot device
	  status, the slot power status, the speed of the bus, and whether or
	  not the slot is system critical.

     -v	  Use verbose mode;  for a query, additional slot information is
	  displayed.  For hot-plug insertion, displays the ioconfig command
	  that will be executed	to assign a global unit/controller number to
	  the device after it is initialized by	its driver.

     -o	  Used with hot-insertion option (-u) to only initialize the card and
	  its software,	but not	execute	the ioconfig command that assigns a
	  global unit/controller number	to the PCI device.  The	ioconfig
	  command must be manually executed to assign a	global unit/controller
	  number to the	device.

     -x	  Enables ioconfig command debugging by	using the -d option during
	  ioconfig command execution.  The ioconfig command is executed	to
	  assign a global unit/controller number to the	device after it	has
	  been successfully initialized.

     -s	slot_number
	  Specify a slot on the	target PCI bus in which	the target device is
	  installed.  Required for hot-plug insertion and removal operations,
	  and optional for queries.

ERROR MESSAGES    [Toc]    [Back]

     Attempting	to hot-plug insert a card into a slot that is already
     started-up, hot-plug remove a card	from a slot that is already shut-down,
     or	hot-plug remove	a system critical slot is not permitted	and results in
     a message similar to one of these:




									Page 2






pciconfig(1M)							 pciconfig(1M)



	  ./pciconfig: PCI slot	start-up ioctl() failed	for:
	  /hw/module/006c05/Pbrick/xtalk/14/pci/controller[slot	2]
	  : Operation not permitted
	  Slot #2 may already be started-up

	  ./pciconfig: PCI slot	shut-down ioctl() failed for:
	  /hw/module/006c05/Pbrick/xtalk/14/pci/controller[slot	2]
	  : Operation not permitted
	  Slot #2 may already be shut-down or may be system critical

FILES    [Toc]    [Back]

     The -b option specifies the hwgraph path name of the PCI bus in which the
     device is to be hot-plug inserted or removed.  The	bus path name to use
     can be found using	either of these	two procedures.

     Method #1.

     Physically	locate the Pbrick or Ibrick containing the PCI slot that is to
     be	the target of the hot-plug insertion or	removal.   Viewing the Pbrick
     or	Ibrick from the	rear, note the target slot's bus and slot number using
     the label at the top of the slot.

     For a single ported Prick or Ibrick, i.e. a brick that is attached	to
     only one Cbrick, locate the Cbrick	to which the Pbrick or Ibrick is
     attached.	Note that Cbrick's module-ID from its LED display on the front
     of	the brick.

     Search the	hardware graph for all the PCI buses in	the system:

	  find /hw -type d -name bus

	  /hw/module/001c10/Ibrick/bus
	  /hw/module/001c21/Pbrick/bus


     From the list of PCI buses, select	the hardware graph path	name that
     contains the edge label "Pbrick" or "Ibrick" and that matches the
     Cbrick's module-ID.  Assuming that	the target slot	is in a	Pbrick
     attached to a Cbrick with an module-ID of "001c21", the controlling
     Cbrick hardware graph path	name is:

	  /hw/module/001c21/Pbrick/bus


     For a dual	ported Prick or	Ibrick,	i.e. a brick that is attached to two
     Cbricks, locate both Cbricks to which the Prick or	Ibrick is attached.
     Note the module-ID	of each	Cbrick from its	LED display on the front of
     the brick.






									Page 3






pciconfig(1M)							 pciconfig(1M)



     Search the	hardware graph for all the PCI buses in	the system:

	  find /hw -type d -name bus

	  /hw/module/001c10/Ibrick/bus
	  /hw/module/001c13/Pbrick/bus
	  /hw/module/001c21/Pbrick/bus


     From the list of PCI buses, select	the hardware graph path	names that
     contain the edge label "Pbrick" or	"Ibrick" and that match	either of the
     Cbrick module-IDs.	 Assuming that the target slot is in a Pbrick attached
     to	two Cbricks, one  with a module-ID of "001c13" and the other with a
     module-ID of "00c1c21", the hardware graph	path names selected are:

	  /hw/module/001c13/Pbrick/bus
	  /hw/module/001c21/Pbrick/bus


     List the numbers of all the PCI buses controlled by each Cbrick:

	  ls /hw/module/001c13/Pbrick/bus

	  2  4	6

	  ls /hw/module/001c21/Pbrick/bus

	  1  3	5

     Select the	path name that controls	the target PCI bus number.  Assuming
     the target	is bus number 3	the controlling	Cbrick hardware	graph path
     name is:

	  /hw/module/001c21/Pbrick/bus


     Use the controlling Cbrick	path name for either a single or dual ported
     brick to complete the hardware graph name of the PCI bus.	Concatenate
     the bus number and	the edge label "pci" to	the controlling	Cbrick path
     name.  Assuming the target	slot is	in bus 3, the PCI bus path name	to use
     as	the -b option is:

	  /hw/module/001c21/Pbrick/bus/3/pci


     Use the PCI slot number as	the -s option.

     Method #2.

     The full hwgraph path name	for a target PCI device	can be found by
     searching for part	of the device's	path name, e.g.	for a SCSI controller
     device:



									Page 4






pciconfig(1M)							 pciconfig(1M)



	  find /hw -name '*scsi*'

	  /hw/module/001c21/Pbrick/xtalk/15/pci/1/scsi_ctlr
	  /hw/module/001c21/Pbrick/xtalk/15/pci/1/scsi_ctlr/0/target/1/lun/0/scsi
	  /hw/scsi_ctlr
	  /hw/scsi


     Inspect the full device path names	up to and including the	edge labeled
     "pci".  Form the PCI bus path name	by truncating all of the path name to
     the right of the edge labeled "pci".  In this case	for the	SCSI
     controller	device,	the PCI	bus path name to use as	the -b option is:

	  /hw/module/001c21/Pbrick/xtalk/15/pci


     The PCI slot number for the device	is the edge label immediately
     following the edge	labeled	"pci" in the target device's full path name.
     For this SCSI controller device, it is PCI	slot number 1.	This is	the
     value to use with the -s option.

SEE ALSO    [Toc]    [Back]

      
      
     ioconfig(1M).

NOTE    [Toc]    [Back]

     The PCI Hot-Plug feature has some restrictions.  Only 66 MHz cards	can be
     inserted into an empty bus	in a Pbrick or Ibrick, and the last card
     cannot be removed from a bus running at 33	MHz in a Pbrick	or Ibrick.
     Cards inserted into a bus where another card is already installed will
     run at the	bus speed already set for the installed	card.  If inserting
     the new card would	result in a bus	speed mis-match	with the existing
     card, the hot-insertion is	failed.	 Since a Pbrick	has six	buses with two
     slots each, it can	be populated at	boot time to accommodate insertion of
     cards running at 33 and 66	MHz.


									PPPPaaaaggggeeee 5555
[ Back ]
 Similar pages
Name OS Title
pnp FreeBSD support for ``Plug and Play'' (PnP) ISA devices
pnpinfo FreeBSD reports information about Plug-n-Play ISA devices
isapnp NetBSD Plug 'n' Play ISA bus
isapnp_unconfig NetBSD Plug 'n' Play ISA bus
isapnp_config NetBSD Plug 'n' Play ISA bus
isapnp_devmatch NetBSD Plug 'n' Play ISA bus
libxrx IRIX RX Netscape Navigator Plug-in
pnp OpenBSD introduction to ISA Plug-and-Play support
isapnp OpenBSD introduction to ISA Plug-and-Play support
java_plugin IRIX Runtime Plug-in for Irix, Java(tm) Edition
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service