nuttx/drivers/pci/Kconfig

86 lines
2.1 KiB
Plaintext
Raw Normal View History

Various fixes for PCI work Squashed commits: 1. Porting prior PCI work in place of jailhouse code At this point the PCI enumeration works for x86_64 including over pci-pci bridges. Running QEMU with this configuration we see the bridge and the device on the bridge. It also detected the qemu test device qemu-system-x86_64 \ -cpu host,+pcid,+x2apic,+tsc-deadline,+xsave,+rdrand \ --enable-kvm -smp 1 -m 2G -cdrom boot.iso --nographic -no-reboot \ -device pci-testdev \ -device pci-bridge,id=bridge0,chassis_nr=2 \ -device e1000,bus=bridge0,addr=0x3 qemu_pci_init: Initializing PCI Bus pci_probe_device: [00:00.0] Found 8086:1237, class/revision 06000002 pci_probe_device: [00:01.1] Found 8086:7010, class/revision 01018000 pci_probe_device: [00:01.2] Found ffff:ffff, class/revision ffffffff pci_probe_device: [00:01.3] Found 8086:7113, class/revision 06800003 pci_probe_device: [00:01.4] Found ffff:ffff, class/revision ffffffff pci_probe_device: [00:01.5] Found ffff:ffff, class/revision ffffffff pci_probe_device: [00:01.6] Found ffff:ffff, class/revision ffffffff pci_probe_device: [00:01.7] Found ffff:ffff, class/revision ffffffff pci_probe_device: [00:02.0] Found 1234:1111, class/revision 03000002 pci_probe_device: [00:03.0] Found 8086:100e, class/revision 02000003 pci_probe_device: [00:04.0] Found 1b36:0005, class/revision 00ff0000 pci_probe_device: [00:04.0] Probing pci_check_pci_bridge: [00:05.0] Found Bridge pci_probe_device: [01:03.0] Found 8086:100e, class/revision 02000003 pci_probe_device: [00:05.0] Found 1b36:0001, class/revision 06040000 2. Remove unused CONFIG_PCI_MAX_BDF option 3. Add a workaround for Jailhouse pci scanning 4. Extend BAR parsing and handle PIO and MMIO for pci-testdev Signed-off-by: Brennan Ashton <bashton@brennanashton.com> 5. PCI: Add initial support for QEMU 'edu' test device Signed-off-by: Brennan Ashton <bashton@brennanashton.com> 6. Bring up PCI later in boot process Signed-off-by: Brennan Ashton <bashton@brennanashton.com> 7. Add ISR and DMA support to QEMU edu test pci device Signed-off-by: Brennan Ashton <bashton@brennanashton.com> 8. Fix bad function prototype definition in qemu_edu 9. intel64: Add a pci test configuration and instructions Signed-off-by: Brennan Ashton <bashton@brennanashton.com> 10. PCI: Fix issue in identification of 64bit bar Signed-off-by: Brennan Ashton <bashton@brennanashton.com>
2020-05-07 11:59:29 +02:00
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
menuconfig PCI
bool "Support for PCI Bus"
default n
---help---
Enables support for the PCI bus.
Backend must be provided by per-arch or per-board implementation.
if PCI
config PCI_LATE_DRIVERS_REGISTER
bool
default n
---help---
This option disables PCI driver registration in drivers_initialize().
Care must be taken to call pci_register_drivers() in later code, most likely
as board specific code.
config PCI_MSIX
bool "PCI MSI-X support"
default n
---help---
Enables support for PCI MSI-X. When enabled, MSI-X takse priority
over MSI when a device supports it.
config PCI_ASSIGN_ALL_BUSES
bool "Assign resource to all buses"
default !ARCH_X86 && !ARCH_X86_64
---help---
Assign resources to all buses. This is required for some
platforms that have multiple PCI buses.
config PCI_QEMU_TEST
bool "Driver for QEMU PCI test device"
default n
---help---
Driver for QEMU PCI test device
config PCI_QEMU_EDU
bool "Driver for QEMU EDU test device"
default n
---help---
Driver for QEMU EDU test device
config PCI_IVSHMEM
bool "PCI ivshmem driver"
default n
---help---
Enable Inter-VM share memory device driver.
config PCI_UIO_IVSHMEM
bool "Enable uio ivshmem driver support"
default n
depends on PCI_IVSHMEM
---help---
When this option is enabled, char ivshmem driver will register
char device with name: "/dev/uioX" to the VFS, then
application can open this device and use `mmap()` to get the
share memory provided by ivshmem device.
config PCI_UIO_IVSHMEM_IDTABLE
string "The id table of uio ivshmem device"
depends on PCI_UIO_IVSHMEM
---help---
"id0;id1;id2", e.g.: "0;1;2"
config PCI_UIO_IVSHMEM_NPOLLWAITERS
int "PCI uio ivshmem poll waiter number"
default 2
depends on PCI_UIO_IVSHMEM
endif # PCI
menuconfig PCI_ENDPOINT
bool "PCI Endpoint Support"
default n
---help---
Enable this configuration option to support configurable PCI
endpoint. This should be enabled if the platform has a PCI
controller that can operate in endpoint mode.