The Linux BootPrompt-HowTo: Boot Arguments to Control PCI Bus Behaviour (`pci=')

Next Previous Contents

## 4. Boot Arguments to Control PCI Bus Behaviour (`pci=')

The `pci=' argument (not avail. in v2.0 kernels) can be used to change the behaviour of PCI bus device probing and device behaviour. Firstly the file `linux/drivers/pci/pci.c` checks for architecture independent `pci=` options. The remaining allowed arguments are handled in `linux/arch/???/kernel/bios32.c` and are listed below for ???=i386.

## 4.1 The `pci=assign-busses' Argument

This tells the kernel to always assign all PCI bus numbers, overriding whatever the firmware may have done.

## 4.2 The `pci=bios' and `pci=nobios' Arguments

These are used to set/clear the flag indicating that the PCI probing is to take place via the PCI BIOS. The default is to use the BIOS.

## 4.3 The `pci=conf1' and `pci=conf2' Arguments

If PCI direct mode is enabled, the use of these enables either configuration Type 1 or Type 2. These implicitly clear the PCI BIOS probe flag (i.e. `pci=nobios') too.

## 4.4 The `pci=irqmask=' Argument

This allows the user to supply an IRQ mask value, which is converted using strtol(). It will set a bit mask of IRQs allowed to be assigned automatically to PCI devices. You can make the kernel exclude IRQs of your ISA cards this way.

## 4.5 The `pci=lastbus=' Argument

This allows the user to supply a lastbus value, which is converted using strtol(). It will scan all buses till bus N. Can be useful if the kernel is unable to find your secondary buses and you want to tell it explicitly which ones they are.

## 4.6 The `pci=noacpi' Argument

This disables the use of ACPI routing information during the PCI configuration stages.

## 4.7 The `pci=nopeer' Argument

This disables the default peer bridge fixup, which according to the source does the following:

``In case there are peer host bridges, scan bus behind each of them. Although several sources claim that the host bridges should have header type 1 and be assigned a bus number as for PCI2PCI bridges, the reality doesn't pass this test and the bus number is usually set by BIOS to the first free value.''

## 4.8 The `pci=nosort' Argument

Using this argument instructs the kernel to not sort the PCI devices during the probing phase.

## 4.9 The `pci=off' Argument

Using this option disables all PCI bus probing. Any device drivers that make use of PCI functions to find and initialize hardware will most likely fail to work.

## 4.10 The `pci=usepirqmask' Argument

This sets the USE_PIRQ_MASK flag during PCI init. The kernel will honour the possible IRQ mask stored in the BIOS PIR table. This is needed on some systems with broken BIOSes, notably some HP Pavilion N5400 and Omnibook XE3 notebooks. This will have no effect if ACPI IRQ routing is enabled.

## 4.11 The `pci=rom' Argument

This sets the ASSIGN_ROM flag during the probing phase. The kernel will assign address space to expansion ROMs. Use with caution as certain devices share address decoders between ROMs and other resources.

Next Previous Contents