#
ff84f8b5 |
| 04-Nov-2024 |
Mark Johnston <markj@FreeBSD.org> |
iommu: Clean up a lingering function prototype
Reported by: clang Fixes: d97838b7c2a6 ("iommu: eliminate iommu_free_ctx()")
|
#
d97838b7 |
| 03-Nov-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
iommu: eliminate iommu_free_ctx()
iommu_free_ctx_locked() alone is enough
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
e9d948cf |
| 12-Oct-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
iommu: move context link and ref count into device-independent parts
This also allows to move some bits of ddb print routines into iommu_utils.c common for x86 iommu drivers.
Sponsored by: Advanced
iommu: move context link and ref count into device-independent parts
This also allows to move some bits of ddb print routines into iommu_utils.c common for x86 iommu drivers.
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
show more ...
|
#
bdd5eb33 |
| 25-Sep-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
iommu: change iommu_domain_map_ops to take iommu_map_entry
instead of base/size.
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
10ebd230 |
| 25-Sep-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
intel_idpgtbl.c: rename domain_* functions to dmar_*
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
Revision tags: release/13.4.0 |
|
#
0386b245 |
| 23-Aug-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
DMAR: move hw.iommu.dmar.{tbl_pagecnt,batch_coalesce} sysctls up one level
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
b3042e3a |
| 07-Jul-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
x86 dmar: generalize dmar_domain_free_entry() into iommu_domain_free_entry()
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
ff54674b |
| 30-Jun-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
x86 iommu: move device_tag_init() to utils
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
23145534 |
| 30-Jun-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
DMAR: rename domain_{alloc,free}_pgtbl to domain_domain_$1_pgtbl
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
ad794e6d |
| 06-Jun-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
x86 iommu: move DMAR-independent parts of the qi code into common
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
Revision tags: release/14.1.0 |
|
#
65b133e5 |
| 29-May-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
x86: allow to have more than one kind of IOMMU
Sponsored by: Advanced Micro Devices (AMD) Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
40d951bc |
| 25-May-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
x86/iommu: extract useful utilities into x86_iommu.c
related to the page tables page allocation and mapping.
Sponsored by: The FreeBSD Foundation Sponsored by: Advanced Micro Devices (AMD) MFC afte
x86/iommu: extract useful utilities into x86_iommu.c
related to the page tables page allocation and mapping.
Sponsored by: The FreeBSD Foundation Sponsored by: Advanced Micro Devices (AMD) MFC after: 1 week
show more ...
|
Revision tags: release/13.3.0 |
|
#
24e38af6 |
| 23-Dec-2023 |
Konstantin Belousov <kib@FreeBSD.org> |
DMAR: add knob to disable RMRR entries installation into domains
Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
#
1228b93b |
| 07-Dec-2023 |
Mitchell Horne <mhorne@FreeBSD.org> |
busdma: remove parent tag tracking
Without filter functions, we do not need to keep track of tag ancestry. All inheritance of the parent tag's parameters occurs when creating the new child tag.
Rev
busdma: remove parent tag tracking
Without filter functions, we do not need to keep track of tag ancestry. All inheritance of the parent tag's parameters occurs when creating the new child tag.
Reviewed by: jhb Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D42895
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
4670f908 |
| 29-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
iommu_gas: Eliminate redundant parameters and push down lock acquisition
Since IOMMU map entries store a reference to the domain in which they reside, there is no need to pass the domain to iommu_ga
iommu_gas: Eliminate redundant parameters and push down lock acquisition
Since IOMMU map entries store a reference to the domain in which they reside, there is no need to pass the domain to iommu_gas_free_entry(), iommu_gas_free_space(), and iommu_gas_free_region().
Push down the acquisition and release of the IOMMU domain lock into iommu_gas_free_space() and iommu_gas_free_region().
Both of these changes allow for simplifications in the callers of the functions without really complicating the functions themselves. Moreover, the latter change eliminates the direct use of the IOMMU domain lock from the x86-specific DMAR code.
Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35995
show more ...
|
#
42736dc4 |
| 26-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
x86/iommu: Reduce DMAR lock contention
Replace the DMAR unit's tlb_flush TAILQ by a custom list implementation that enables dmar_qi_task() to dequeue entries without holding the DMAR lock.
Reviewed
x86/iommu: Reduce DMAR lock contention
Replace the DMAR unit's tlb_flush TAILQ by a custom list implementation that enables dmar_qi_task() to dequeue entries without holding the DMAR lock.
Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35951
show more ...
|
#
c2515634 |
| 26-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
x86/iommu: Correct a recent change to iommu_domain_unload_entry()
Correct 8bc367384745. When iommu_domain_unload_entry() performs a synchronous IOTLB invalidation, it must call dmar_domain_free_ent
x86/iommu: Correct a recent change to iommu_domain_unload_entry()
Correct 8bc367384745. When iommu_domain_unload_entry() performs a synchronous IOTLB invalidation, it must call dmar_domain_free_entry() to remove the entry from the domain's RB_TREE.
Push down the acquisition and release of the DMAR lock into the recently introduced function dmar_qi_invalidate_sync_locked() and remove the _locked suffix.
MFC with: 8bc367384745
show more ...
|
#
8bc36738 |
| 22-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
iommu_gas: Eliminate a possible case of use-after-free
Eliminate a possible case of use-after-free in an error handling path after a mapping failure. Specifically, eliminate IOMMU_MAP_ENTRY_QI_NF a
iommu_gas: Eliminate a possible case of use-after-free
Eliminate a possible case of use-after-free in an error handling path after a mapping failure. Specifically, eliminate IOMMU_MAP_ENTRY_QI_NF and instead perform the IOTLB invalidation synchronously. Otherwise, when iommu_domain_unload_entry() is called and told not to free the IOMMU map entry, the caller could free the entry before dmar_qi_task() is finished with it.
Reviewed by: kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35878
show more ...
|
#
da55f86c |
| 16-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
x86/iommu: Eliminate redundant wrappers
Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35832
|
#
db0110a5 |
| 11-Jul-2022 |
Alan Cox <alc@FreeBSD.org> |
iommu: Shrink the iommu map entry structure
Eliminate the unroll_entry field from struct iommu_map_entry, shrinking the struct by 16 bytes on 64-bit architectures.
Reviewed by: kib MFC after: 2 wee
iommu: Shrink the iommu map entry structure
Eliminate the unroll_entry field from struct iommu_map_entry, shrinking the struct by 16 bytes on 64-bit architectures.
Reviewed by: kib MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35769
show more ...
|
Revision tags: release/13.1.0, release/12.3.0 |
|
#
06e6ca6d |
| 21-Oct-2021 |
Kornel Duleba <mindal@semihalf.com> |
dmar: Disable protected memory regions after initialization
Some BIOSes protect memory region they reside in by using DMAR to prevent devices from doing any DMA transactions to that part of RAM. AMI
dmar: Disable protected memory regions after initialization
Some BIOSes protect memory region they reside in by using DMAR to prevent devices from doing any DMA transactions to that part of RAM. AMI refers to this as "DMA Control Guarantee". Disable the protection when address translation is enabled. I stumbled upon this while investigation a failing coredump on a device which has this feature enabled.
Sponsored by: Stormshield Obtained from: Semihalf Reviewed by: kib Differential revision: https://reviews.freebsd.org/D32591
show more ...
|
#
3c02da80 |
| 21-Oct-2021 |
Kornel Duleba <mindal@semihalf.com> |
dmar: Don't try to reserve PCI regions for non-existing devices
In some cases we might have to create DMAR context before the corresponding device has been enumerated by the PCI bus. In that case we
dmar: Don't try to reserve PCI regions for non-existing devices
In some cases we might have to create DMAR context before the corresponding device has been enumerated by the PCI bus. In that case we get called with NULL dev, because of that trying to reserve PCI regions causes a NULL pointer dereference in pci_find_pcie_root_port.
Sponsored by: Stormshield Obtained from: Semihalf MFC after: 2 weeks Reviewed by: kib, rlibby Differential revision: https://reviews.freebsd.org/D32589
show more ...
|