#
661bd70b |
| 21-Oct-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
DMAR: clean up warnings about write-only variables
For some of them, used only when KTR or KMSAN are configured, apply __unused attribute directly.
Sponsored by: The FreeBSD Foundation MFC after: 1
DMAR: clean up warnings about write-only variables
For some of them, used only when KTR or KMSAN are configured, apply __unused attribute directly.
Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
9feff969 |
| 08-Aug-2021 |
Ed Maste <emaste@FreeBSD.org> |
Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights
These ones were unambiguous cases where the Foundation was the only listed copyright holder (in the associated license block).
S
Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights
These ones were unambiguous cases where the Foundation was the only listed copyright holder (in the associated license block).
Sponsored by: The FreeBSD Foundation
show more ...
|
Revision tags: release/13.0.0 |
|
#
ee47a12a |
| 09-Dec-2020 |
Ryan Libby <rlibby@FreeBSD.org> |
dmar: reserve memory windows of PCIe root port
PCI memory address space is shared between memory-mapped devices (MMIO) and host memory (which may be remapped by an IOMMU). Device accesses to an addr
dmar: reserve memory windows of PCIe root port
PCI memory address space is shared between memory-mapped devices (MMIO) and host memory (which may be remapped by an IOMMU). Device accesses to an address within a memory aperture in a PCIe root port will be treated as peer-to-peer and not forwarded to an IOMMU. To avoid this, reserve the address space of the root port's memory apertures in the address space used by the IOMMU for remapping.
Reviewed by: kib, tychon Discussed with: Anton Rang <rang@acm.org> Tested by: tychon Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D27503
show more ...
|
Revision tags: release/12.2.0 |
|
#
94dfb28e |
| 19-Oct-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Assign the reserved apic region (GAS entry) to the iommu domain msi_entry.
Requested by: kib Reviewed by: kib Sponsored by: Innovate DSbD Differential Revision: https://reviews.freebsd.org/D26859
|
#
cb9050dd |
| 10-Sep-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Move the rid variable to the generic iommu context. It could be used in various IOMMU platforms, not only DMAR.
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.free
Move the rid variable to the generic iommu context. It could be used in various IOMMU platforms, not only DMAR.
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D26373
show more ...
|
#
440cec3f |
| 12-Aug-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
e383ec74 |
| 06-Aug-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r363739 through r363986.
|
#
0424f19e |
| 06-Aug-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Move dmar_domain_unload_task to busdma_iommu.c.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25972
|
#
16696f60 |
| 06-Aug-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Add iommu_domain constructor and destructor.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25956
|
#
78b51754 |
| 04-Aug-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Add a few macroses for conversion between DMAR unit, domain, ctx and IOMMU unit, domain, ctx.
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D25926
|
#
0eed04c8 |
| 01-Aug-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Add iommu_domain_map_ops virtual table with map/unmap methods so x86 can support Intel DMAR and AMD IOMMU simultaneously.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://rev
Add iommu_domain_map_ops virtual table with map/unmap methods so x86 can support Intel DMAR and AMD IOMMU simultaneously.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25894
show more ...
|
#
c7aa572c |
| 31-Jul-2020 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: Rubicon Communications, LLC (netgate.com)
|
#
17996960 |
| 31-Jul-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r363583 through r363738.
|
#
c8597a1f |
| 30-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
o Don't include headers from iommu.h, include them from the header consumers instead; o Order includes properly.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.fr
o Don't include headers from iommu.h, include them from the header consumers instead; o Order includes properly.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25878
show more ...
|
#
ea4c0115 |
| 28-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
o Move the buswide_ctxs bitmap to iommu_unit and rename related functions. o Rename bus_dma_dmar_load_ident() as well.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://review
o Move the buswide_ctxs bitmap to iommu_unit and rename related functions. o Rename bus_dma_dmar_load_ident() as well.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25852
show more ...
|
#
15f6baf4 |
| 26-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Rename DMAR flags: o DMAR_DOMAIN_* -> IOMMU_DOMAIN_* o DMAR_PGF_* -> IOMMU_PGF_*
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25812
|
#
62ad310c |
| 25-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Split-out the Intel GAS (Guest Address Space) management component from Intel DMAR support, so it can be used on other IOMMU systems.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision:
Split-out the Intel GAS (Guest Address Space) management component from Intel DMAR support, so it can be used on other IOMMU systems.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25743
show more ...
|
#
f2b2f317 |
| 21-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Move the Intel DMAR busdma backend to a generic place so it can be used on other IOMMU systems.
Reviewed by: kib Sponsored by: DARPA/AFRL Differential Revision: https://reviews.freebsd.org/D25720
|
#
59e37c8a |
| 14-Jul-2020 |
Ruslan Bukin <br@FreeBSD.org> |
Start splitting-out the Intel DMAR busdma backend to a generic place, so it can be used on other IOMMU systems.
Provide MI iommu_unit, iommu_domain and iommu_ctx structs in sys/iommu.h; use them as
Start splitting-out the Intel DMAR busdma backend to a generic place, so it can be used on other IOMMU systems.
Provide MI iommu_unit, iommu_domain and iommu_ctx structs in sys/iommu.h; use them as a first member of MD dmar_unit, dmar_domain and dmar_ctx.
Change the namespace in DMAR backend: use iommu_ prefix instead of dmar_.
Move some macroses and function prototypes to sys/iommu.h.
Reviewed by: kib Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D25574
show more ...
|
Revision tags: release/11.4.0 |
|
#
5c3771d2 |
| 27-Nov-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
bus_dma_dmar_load_ident(9): load identity mapping into the map.
Requested, reviewed and tested by: mav Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.f
bus_dma_dmar_load_ident(9): load identity mapping into the map.
Requested, reviewed and tested by: mav Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D22559
show more ...
|
#
685666aa |
| 18-Nov-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
bus_dma_dmar_set_buswide(9): KPI to indicate that the whole dmar context should share page tables.
Practically it means that dma requests from any device on the bus are translated according to the e
bus_dma_dmar_set_buswide(9): KPI to indicate that the whole dmar context should share page tables.
Practically it means that dma requests from any device on the bus are translated according to the entries loaded for the bus:0:0 device. KPI requires that the slot and function of the device be 0:0, and that no tags for other devices on the bus were used.
The intended use are NTBs which pass TLPs from the downstream to the host with slot:func of the downstream originator.
Reviewed and tested by: mav Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D22434
show more ...
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
7648bc9f |
| 13-May-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @347527
Sponsored by: The FreeBSD Foundation
|
#
96ca24dc |
| 19-Apr-2019 |
Tycho Nightingale <tychon@FreeBSD.org> |
remove the 4GB boundary requirement on PCI DMA segments
Reviewed by: kib Discussed with: jhb Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D19867
|
#
f9feb091 |
| 18-Apr-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Correct handling of RMRR during early enumeration stages.
On some machines, DMAR contexts must be created before all devices under the scope of the corresponding DMAR unit are enumerated. Current co
Correct handling of RMRR during early enumeration stages.
On some machines, DMAR contexts must be created before all devices under the scope of the corresponding DMAR unit are enumerated. Current code has two problems with that: - scope lookup returns NULL device_t, which causes to skip creating a context with RMRR, which is fatal for the affected device. - calculation of the final pci dbsf address fails if any bridge in the scope is not yet enumerated, because code relies on pcib_get_bus().
Make creation of contexts work either with device_t, or with DMAR PCI scope paths. Scope provides enough information to infer context address, and it is directly matched against DMAR tables scopes.
When calculating bus addresses for the scope or device, use direct pci_cfgregread(PCIR_SECBUS_1) to get the secondary bus number, instead of pcib_get_bus().
The issue was observed on HP Gen servers, where iLO PCI devices are located behind south bridge switch. Turning on translation without satisfying RMRR requests caused iLO to mostly hang, up to the level of being unusable to control the server.
While there, remove hw.dmar.dmar_match_verbose tunable, and make the normal logging under bootverbose useful and sufficient to diagnose DRHD and RMRR parsing and matching.
Sponsored by: Mellanox Technologies MFC after: 1 week
show more ...
|
Revision tags: release/12.0.0, release/11.2.0 |
|
#
ebf5747b |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/x86: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error
sys/x86: further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
show more ...
|