`pci=` 参数(在 v2.0 内核中不可用)可用于更改 PCI 总线设备探测和设备行为。首先,文件 linux/drivers/pci/pci.c
检查与架构无关的 pci=
选项。剩余允许的参数在 linux/arch/???/kernel/bios32.c
中处理,并在下面列出,其中 ???=i386。
这告诉内核始终分配所有 PCI 总线号,覆盖固件可能已完成的操作。
这些参数用于设置/清除标志,该标志指示 PCI 探测将通过 PCI BIOS 进行。默认是使用 BIOS。
如果启用了 PCI 直接模式,则使用这些参数将启用配置类型 1 或类型 2。这些参数也隐式地清除了 PCI BIOS 探测标志(即 `pci=nobios')。
这允许用户提供一个 IRQ 掩码值,该值使用 strtol() 进行转换。它将设置一个位掩码,指示允许自动分配给 PCI 设备的 IRQ。您可以使用这种方式使内核排除 ISA 卡的 IRQ。
这允许用户提供一个 lastbus 值,该值使用 strtol() 进行转换。它将扫描所有总线直到总线 N。如果内核无法找到您的辅助总线,并且您想明确告诉内核它们是什么,这将非常有用。
这将在 PCI 配置阶段禁用 ACPI 路由信息的使用。
这禁用默认的对等桥修复,根据源代码,它执行以下操作
“如果存在对等主机桥,则扫描每个主机桥后面的总线。尽管一些来源声称主机桥应具有标头类型 1,并分配一个总线号,如同 PCI2PCI 桥一样,但实际情况并非如此,总线号通常由 BIOS 设置为第一个可用值。”
使用此参数指示内核在探测阶段不对 PCI 设备进行排序。
使用此选项将禁用所有 PCI 总线探测。任何使用 PCI 功能来查找和初始化硬件的设备驱动程序都极有可能无法工作。
这将在 PCI 初始化期间设置 USE_PIRQ_MASK 标志。内核将遵守存储在 BIOS PIR 表中的可能的 IRQ 掩码。这在某些 BIOS 损坏的系统上是必需的,特别是某些 HP Pavilion N5400 和 Omnibook XE3 笔记本电脑。如果启用了 ACPI IRQ 路由,这将不起作用。
这将在探测阶段设置 ASSIGN_ROM 标志。内核将为扩展 ROM 分配地址空间。请谨慎使用,因为某些设备在 ROM 和其他资源之间共享地址解码器。