pci-bios, pci-bios-v2

Provide support for the PCI BIOS


Note: You must be root to start this server.

Syntax:

For pci-bios:

pci-bios [-b buses] [-B] [-c] [-m] [-v] [-x] [-dbios bios_options]

You must run pci-bios-v2 as pci-bios:

pci-bios [-b buses] [-B] [-c] [-D] [-M] [-m] [-P addr:size]
         [-v] [-x] [-dbios bios_options]

Runs on:

Neutrino

Targets:

x86

Options:

-b buses
The number of PCI buses to scan. The default is 10.
-B
Force enumeration of bridges of type “OTHER”.
-c
Ignore class code check.
-D
(pci-bios-v2 only) Enable Message Signaled Interrupts (MSI) and Extended MSI (MSI-X) for video.
-dbios bios_options
BIOS options, which include:
irqlist=irq1,irq2,…
Pass a list of IRQs to the BIOS. For example:
irqlist=5,7,9
    
-M
(pci-bios-v2 only) Disable MSI and MSI-X (they're enabled by default).
-m
Don't map IRQs; some BIOSs don't support IRQ mapping.
-P addr:size
(pci-bios-v2 only) Specify the address and size of the extended PCIe configuration space.
-v
Verbose output; display detailed information on the console.
-x
Don't remove devices from the PCI bus while enumerating them.

Description:

The pci-bios server provides PCI BIOS support. You'll have to provide it in your boot image for systems with a PCI BIOS. Invoke seedres before starting pci-bios.

This server creates the /dev/pci device. Wait for it to appear by specifying the following in the buildfile used by mkifs:

pci-bios
waitfor /dev/pci

The pci-bios-v2 server is similar to pci-bios, but supports Message Signaled Interrupts (MSI). You must use pci-bios-v2 if you're using startup-apic.


Note: If you're using pci-bios-v2, you must name it pci-bios in order for the enumerators to work correctly. In your buildfile, add pci-bios-v2 like this:
pci-bios=pci-bios-v2

To assign MSI or MSI-X interrupts in a driver, use the PCI_USE_MSI or PCI_USE_MSIX flag when you call pci_attach_device(). For more information, see its entry in the QNX Neutrino Library Reference.

See also:

seedres

pci_attach(), pci_attach_device(), pci_detach(), pci_detach_device(), pci_find_class(), pci_find_device(), pci_present(), pci_read_config(), pci_read_config8(), pci_read_config16(), pci_read_config32(), pci_write_config(), pci_write_config8(), pci_write_config16(), pci_write_config32() in the Library Reference

Controlling How Neutrino Starts in the Neutrino User's Guide