opnsense-src/sys/dev/pci
Ruslan Bukin 667c3fc0f6 Add PCI Express driver for the ARM Neoverse N1 System Development
Platform (N1SDP).

Neoverse N1 is a high-performance ARM microarchitecture designed
by the ARM Holdings for the server market.

The PCI part on N1SDP was shipped untested and suffers from some
integration issues.

For instance accessing to not existing BDFs causes System Error
(SError) exception. To mitigate this, the firmware scans the bus,
catches SErrors and creates a table with valid BDFs. That allows
us to filter-out accesses to invalid BDFs in this driver.

Also the root complex config space (BDF == 0) has an unusual
location in memory map, so remapping accesses to it is required.

Finally, the config space is restricted to 32-bit accesses only.

This was tested on the ARM boxes kindly provided by the ARM Ltd
to the DARPA CHERI Project.

In collaboration with:	andrew
Reviewed by:	andrew
Sponsored by:	DARPA, AFRL
Differential Revision:	https://reviews.freebsd.org/D23349
2020-02-11 15:12:09 +00:00
..
controller Add PCI Express driver for the ARM Neoverse N1 System Development 2020-02-11 15:12:09 +00:00
fixup_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
hostb_pci.c Remove "All rights reserved" phrase from copyright notes. 2019-12-04 08:03:33 +00:00
ignore_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
isa_pci.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pci.c Remove VMware MSI-X from the PCI blacklist. 2019-12-18 23:00:56 +00:00
pci_dw.c Add driver for DesignWare PCIE core, and its Armada 8K specific attachement. 2019-10-20 11:11:32 +00:00
pci_dw.h Add driver for DesignWare PCIE core, and its Armada 8K specific attachement. 2019-10-20 11:11:32 +00:00
pci_dw_if.m Add driver for DesignWare PCIE core, and its Armada 8K specific attachement. 2019-10-20 11:11:32 +00:00
pci_dw_mv.c Add driver for DesignWare PCIE core, and its Armada 8K specific attachement. 2019-10-20 11:11:32 +00:00
pci_host_generic.c Move the ECAM macroses to the header file. 2020-01-24 16:08:06 +00:00
pci_host_generic.h Move the ECAM macroses to the header file. 2020-01-24 16:08:06 +00:00
pci_host_generic_acpi.c Add PCI Express driver for the ARM Neoverse N1 System Development 2020-02-11 15:12:09 +00:00
pci_host_generic_acpi.h Add PCI Express driver for the ARM Neoverse N1 System Development 2020-02-11 15:12:09 +00:00
pci_host_generic_fdt.c Pass pci_base address instead of physical address to rman_manage_region(). 2019-05-29 15:53:33 +00:00
pci_host_generic_fdt.h
pci_if.m Add PCI methods to iterate over the PCI capabilities 2018-02-19 18:41:56 +00:00
pci_iov.c Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
pci_iov.h
pci_iov_if.m
pci_iov_private.h
pci_iov_schema.c
pci_pci.c Abstract the locking for PCIe hotplug. It still uses Giant so there's 2019-12-26 21:00:06 +00:00
pci_private.h Export pci_attach() and pci_detach(). 2019-10-15 18:58:01 +00:00
pci_subr.c sys/dev: further adoption of SPDX licensing ID tags. 2017-11-27 14:52:40 +00:00
pci_user.c Remove "All rights reserved" phrase from copyright notes. 2019-12-04 08:03:33 +00:00
pcib_if.m
pcib_private.h Abstract the locking for PCIe hotplug. It still uses Giant so there's 2019-12-26 21:00:06 +00:00
pcib_support.c
pcireg.h Add accessors for the Vendor Specific Extended Capability (VSEC) 2019-12-13 23:46:59 +00:00
pcivar.h Remove "All rights reserved" phrase from copyright notes. 2019-12-04 08:03:33 +00:00
schema_private.h
vga_pci.c Fix the build after r350570. 2019-08-04 19:47:02 +00:00