Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
548 commits
Select commit Hold shift + click to select a range
a610611
coresight-tpdm: Initialize DSB subunit configuration
Sep 28, 2023
17df201
coresight-tpdm: Add reset node to TPDM node
Sep 28, 2023
fbf3e92
coresight-tpdm: Add nodes to set trigger timestamp and type
Sep 28, 2023
18aeefc
coresight-tpdm: Add node to set dsb programming mode
Sep 28, 2023
aafae2f
coresight-tpdm: Add nodes for dsb edge control
Sep 28, 2023
ccc5ce5
coresight-tpdm: Add nodes to configure pattern match output
Sep 28, 2023
de82ea5
coresight-tpdm: Add nodes for timestamp request
Sep 28, 2023
0621941
dt-bindings: arm: Add support for DSB MSR register
Sep 28, 2023
5a0547a
coresight-tpdm: Add nodes for dsb msr support
Sep 28, 2023
7fb3481
coresight: Make language around "activated" sinks consistent
James-A-Clark Jan 29, 2024
5eb08d0
coresight: Remove ops callback checks
James-A-Clark Jan 29, 2024
55603dc
coresight: Move mode to struct coresight_device
James-A-Clark Jan 29, 2024
d913f29
coresight: Remove the 'enable' field.
James-A-Clark Jan 29, 2024
4d82349
coresight: Move all sysfs code to sysfs file
James-A-Clark Jan 29, 2024
88d53b8
coresight: Remove atomic type from refcnt
James-A-Clark Jan 29, 2024
fc45807
coresight: Remove unused stubs
James-A-Clark Jan 29, 2024
f7e8191
coresight: Add explicit member initializers to coresight_dev_type
James-A-Clark Jan 29, 2024
371fed8
coresight: Add helper for atomically taking the device
James-A-Clark Jan 29, 2024
31bcc33
coresight: Add a helper for getting csdev->mode
James-A-Clark Jan 29, 2024
8b4081b
coresight: Add helper for setting csdev->mode
James-A-Clark Jan 29, 2024
185773b
coresight: Remove unused ETM Perf stubs
James-A-Clark Jul 22, 2024
1db4d4c
coresight: Clarify comments around the PID of the sink owner
James-A-Clark Jul 22, 2024
4dd96c2
coresight: Move struct coresight_trace_id_map to common header
James-A-Clark Jul 22, 2024
05d7078
coresight: Expose map arguments in trace ID API
James-A-Clark Jul 22, 2024
e18b678
coresight: Make CPU id map a property of a trace ID map
James-A-Clark Jul 22, 2024
0171260
coresight: Use per-sink trace ID maps for Perf sessions
James-A-Clark Jul 22, 2024
6f8d9f8
coresight: Remove pending trace ID release mechanism
James-A-Clark Jul 22, 2024
5c7a837
coresight: Emit sink ID in the HW_ID packets
James-A-Clark Jul 22, 2024
48f0e6d
coresight: Make trace ID map spinlock local to the map
James-A-Clark Jul 22, 2024
0749520
ACPI: thermal: Simplify initialization of critical and hot trips
rafaeljw Sep 12, 2023
8ee302e
ACPI: thermal: Fold acpi_thermal_get_info() into its caller
rafaeljw Sep 12, 2023
1c3d725
ACPI: thermal: Determine the number of trip points earlier
rafaeljw Sep 12, 2023
4a1c751
ACPI: thermal: Create and populate trip points table earlier
rafaeljw Sep 12, 2023
ffba0d7
ACPI: thermal: Simplify critical and hot trips representation
rafaeljw Sep 12, 2023
c1ddd9b
ACPI: thermal: Untangle initialization and updates of the passive trip
rafaeljw Sep 12, 2023
978cba8
ACPI: thermal: Untangle initialization and updates of active trips
rafaeljw Sep 20, 2023
60aa974
ACPI: thermal: Drop redundant trip point flags
rafaeljw Sep 12, 2023
578002b
ACPI: thermal: Drop valid flag from struct acpi_thermal_trip
rafaeljw Sep 20, 2023
bacf16a
ACPI: thermal: Fix a small leak in acpi_thermal_add()
Sep 27, 2023
934e254
ACPI: thermal: Add device list to struct acpi_thermal_trip
rafaeljw Sep 21, 2023
e02f2a7
ACPI: thermal: Collapse trip devices update functions
rafaeljw Sep 21, 2023
6e543a1
ACPI: thermal: Collapse trip devices update function wrappers
rafaeljw Sep 21, 2023
8634242
ACPI: thermal: Merge trip initialization functions
rafaeljw Sep 21, 2023
4173b4d
ACPI: thermal: Add Thermal fast Sampling Period (_TFP) support
jbrasen Nov 9, 2023
5466672
ACPI: processor: reduce CPUFREQ thermal reduction pctg for Tegra241
sstirumala Nov 23, 2023
bbc9651
ACPI: arm64: export acpi_arch_thermal_cpufreq_pctg()
arndb Dec 12, 2023
50610a5
NVIDIA: SAUCE: ci: add github action
arighi Aug 7, 2025
e55f58e
wqiommu/arm-smmu-v3: Add a type for the STE
jgunthorpe Dec 5, 2023
e8244ab
iommu/arm-smmu-v3: Move ctx_desc out of s1_cfg
shavitmichael Sep 15, 2023
3751e71
iommu/arm-smmu-v3: Replace s1_cfg with cdtab_cfg
shavitmichael Sep 15, 2023
a3244c7
iommu/arm-smmu-v3: Encapsulate ctx_desc_cfg init in alloc_cd_tables
shavitmichael Sep 15, 2023
9c3af3a
iommu/arm-smmu-v3: move stall_enabled to the cd table
shavitmichael Sep 15, 2023
46d0e63
iommu/arm-smmu-v3: Refactor write_ctx_desc
shavitmichael Sep 15, 2023
a4a69c3
iommu/arm-smmu-v3: Move CD table to arm_smmu_master
shavitmichael Sep 15, 2023
8e50838
iommu/arm-smmu-v3: Cleanup arm_smmu_domain_finalise
shavitmichael Sep 15, 2023
0c1de2d
iommu/arm-smmu-v3: Update comment about STE liveness
shavitmichael Sep 15, 2023
3e0f425
iommu/arm-smmu-v3: Rename cdcfg to cd_table
shavitmichael Sep 15, 2023
ed4a457
iommu/arm-smmu-v3: Master cannot be NULL in arm_smmu_write_strtab_ent()
jgunthorpe Dec 5, 2023
772ab80
iommu: Add iommu_ops->identity_domain
jgunthorpe Sep 13, 2023
4999ec9
iommu: Add IOMMU_DOMAIN_PLATFORM
jgunthorpe Sep 13, 2023
d278f9a
iommu: Add new iommu op to create domains owned by userspace
yiliu1765 Sep 28, 2023
f860737
iommufd: Use the domain_alloc_user() op for domain allocation
yiliu1765 Sep 28, 2023
22c14d7
iommufd: Flow user flags for domain allocation to domain_alloc_user()
yiliu1765 Sep 28, 2023
436a94e
iommufd: Support allocating nested parent domain
yiliu1765 Sep 28, 2023
9d2b86c
iommufd/selftest: Add domain_alloc_user() support in iommu mock
yiliu1765 Sep 28, 2023
6d48e21
iommu/vt-d: Add domain_alloc_user op
yiliu1765 Sep 28, 2023
ce439d0
iommu/vt-d: Enhance capability check for nested parent domain allocation
yiliu1765 Oct 24, 2023
67ffdfe
iommufd: Correct IOMMU_HWPT_ALLOC_NEST_PARENT description
nicolinc Oct 17, 2023
545a9b2
vfio/iova_bitmap: Export more API symbols
jpemartins Oct 24, 2023
d1fdc5c
vfio: Move iova_bitmap into iommufd
jpemartins Oct 24, 2023
72d2ea2
iommufd/iova_bitmap: Move symbols to IOMMUFD namespace
jpemartins Oct 24, 2023
629340a
iommu: Add iommu_domain ops for dirty tracking
jpemartins Oct 24, 2023
4297538
iommufd: Add a flag to enforce dirty tracking on attach
jpemartins Oct 24, 2023
70a911e
iommufd: Add IOMMU_HWPT_SET_DIRTY_TRACKING
jpemartins Oct 24, 2023
3cbadb2
iommufd: Add IOMMU_HWPT_GET_DIRTY_BITMAP
jpemartins Oct 24, 2023
af749fe
iommufd: Add capabilities to IOMMU_GET_HW_INFO
jpemartins Oct 24, 2023
01f7aac
iommufd: Add a flag to skip clearing of IOPTE dirty
jpemartins Oct 24, 2023
52076e9
iommu/vt-d: Access/Dirty bit support for SS domains
jpemartins Oct 24, 2023
2f751fa
iommufd/selftest: Expand mock_domain with dev_flags
jpemartins Oct 24, 2023
92b158b
iommufd/selftest: Test IOMMU_HWPT_ALLOC_DIRTY_TRACKING
jpemartins Oct 24, 2023
c62dfd2
iommufd/selftest: Test IOMMU_HWPT_SET_DIRTY_TRACKING
jpemartins Oct 24, 2023
cdf5d5d
iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP
jpemartins Oct 24, 2023
5129ad3
iommufd/selftest: Test out_capabilities in IOMMU_GET_HW_INFO
jpemartins Oct 24, 2023
4cd18ff
iommufd/selftest: Test IOMMU_HWPT_GET_DIRTY_BITMAP_NO_CLEAR flag
jpemartins Oct 24, 2023
24bce8a
iommufd/selftest: Fix page-size check in iommufd_test_dirty()
jpemartins Oct 30, 2023
dedc7fc
iommu/vt-d: Set variable intel_dirty_ops to static
KunWuChan Nov 22, 2023
426e4c8
iommufd/selftest: Fix _test_mock_dirty_bitmaps()
rmurphy-arm Nov 16, 2023
6aa6816
iommufd/selftest: Make dirty_ops static
Aug 19, 2024
e1e5f34
iommufd/iova_bitmap: Handle recording beyond the mapped pages
jpemartins Feb 2, 2024
e812fd2
iommufd/selftest: Add mock IO hugepages tests
jpemartins Feb 2, 2024
2f98f97
iommufd/selftest: Refactor mock_domain_read_and_clear_dirty()
jpemartins Feb 2, 2024
5241efc
iommufd/selftest: Test u64 unaligned bitmaps
jpemartins Feb 2, 2024
e848195
iommufd/selftest: Refactor dirty bitmap tests
jpemartins Feb 2, 2024
41b0768
iommufd/selftest: Fix iommufd_dirty_tracking with large hugepage sizes
nicolinc Jun 24, 2025
5900d4b
iommufd: Only enforce cache coherency in iommufd_hw_pagetable_alloc
nicolinc Oct 24, 2023
711c7ca
iommu: Add IOMMU_DOMAIN_NESTED
LuBaolu Oct 26, 2023
bc2d30f
iommufd: Rename IOMMUFD_OBJ_HW_PAGETABLE to IOMMUFD_OBJ_HWPT_PAGING
jgunthorpe Oct 26, 2023
06e00f3
iommufd/device: Wrap IOMMUFD_OBJ_HWPT_PAGING-only configurations
jgunthorpe Oct 26, 2023
009f7ce
iommufd: Derive iommufd_hwpt_paging from iommufd_hw_pagetable
nicolinc Oct 26, 2023
093ebdc
iommufd: Share iommufd_hwpt_alloc with IOMMUFD_OBJ_HWPT_NESTED
nicolinc Oct 26, 2023
d6dd1fc
iommu: Pass in parent domain with user_data to domain_alloc_user op
yiliu1765 Oct 26, 2023
7562ede
iommufd: Add a nested HW pagetable object
nicolinc Oct 26, 2023
a0e6ab8
iommu: Add iommu_copy_struct_from_user helper
nicolinc Oct 26, 2023
95fee8b
iommufd/selftest: Add nested domain allocation for mock domain
nicolinc Oct 26, 2023
ea0347c
iommufd/selftest: Add coverage for IOMMU_HWPT_ALLOC with nested HWPTs
nicolinc Oct 26, 2023
86e96d3
iommufd: Organize the mock domain alloc functions closer to Joerg's tree
jgunthorpe Oct 30, 2023
6b90a8a
powerpc/iommu: Setup a default domain and remove set_platform_dma_ops
jgunthorpe Sep 13, 2023
c5c64fa
iommu: Add IOMMU_DOMAIN_PLATFORM for S390
jgunthorpe Sep 13, 2023
db92f15
iommu/fsl_pamu: Implement a PLATFORM domain
jgunthorpe Sep 13, 2023
bcee4f4
iommu/tegra-gart: Remove tegra-gart
jgunthorpe Sep 13, 2023
70885da
iommu/mtk_iommu_v1: Implement an IDENTITY domain
jgunthorpe Sep 13, 2023
b3c7228
iommu: Reorganize iommu_get_default_domain_type() to respect def_doma…
jgunthorpe Sep 13, 2023
4fc517c
iommu: Allow an IDENTITY domain as the default_domain in ARM32
jgunthorpe Sep 13, 2023
b49da43
iommu/exynos: Implement an IDENTITY domain
jgunthorpe Sep 13, 2023
ee43699
iommu/tegra-smmu: Implement an IDENTITY domain
jgunthorpe Sep 13, 2023
ba23bb0
iommu/tegra-smmu: Support DMA domains in tegra
jgunthorpe Sep 13, 2023
4107d93
iommu/omap: Implement an IDENTITY domain
jgunthorpe Sep 13, 2023
7a41db1
iommu/msm: Implement an IDENTITY domain
jgunthorpe Sep 13, 2023
8571d70
iommu/qcom_iommu: Add an IOMMU_IDENTITIY_DOMAIN
jgunthorpe Sep 13, 2023
7886178
iommu/ipmmu: Add an IOMMU_IDENTITIY_DOMAIN
jgunthorpe Sep 13, 2023
90168b2
iommu/mtk_iommu: Add an IOMMU_IDENTITIY_DOMAIN
jgunthorpe Sep 13, 2023
1ddc1e0
iommu/sun50i: Add an IOMMU_IDENTITIY_DOMAIN
jgunthorpe Sep 13, 2023
66784ef
iommu: Require a default_domain for all iommu drivers
jgunthorpe Sep 13, 2023
7522b6d
iommu: Add __iommu_group_domain_alloc()
jgunthorpe Sep 13, 2023
ca8cf91
iommu: Add ops->domain_alloc_paging()
jgunthorpe Sep 13, 2023
d4f5690
iommu/arm-smmu-v3: Do not ATC invalidate the entire domain
jgunthorpe Mar 27, 2024
a03aee5
iommu: Convert simple drivers with DOMAIN_DMA to domain_alloc_paging()
jgunthorpe Sep 13, 2023
ba2566a
iommu: Convert remaining simple drivers to domain_alloc_paging()
jgunthorpe Sep 13, 2023
3615c79
powerpc/iommu: Do not do platform domain attach atctions after probe
jgunthorpe Oct 5, 2023
6f7c851
drm/tegra: Do not assume that a NULL domain means no DMA IOMMU
jgunthorpe Jan 30, 2024
025c810
iommu: Do not use IOMMU_DOMAIN_DMA if CONFIG_IOMMU_DMA is not enabled
jgunthorpe Oct 3, 2023
3a4e901
iommu: Allow ops->default_domain to work when !CONFIG_IOMMU_DMA
jgunthorpe Jan 30, 2024
87465fa
iommu/amd: Enhance def_domain_type to handle untrusted device
hegdevasant Apr 23, 2024
8f761b4
iommu/arm-smmu-v3: Make STE programming independent of the callers
jgunthorpe Feb 26, 2024
c0f840f
iommu/arm-smmu-v3: Consolidate the STE generation for abort/bypass
jgunthorpe Feb 26, 2024
715947b
iommu/arm-smmu-v3: Move the STE generation for S1 and S2 domains into…
jgunthorpe Feb 26, 2024
bcec42c
iommu/arm-smmu-v3: Build the whole STE in arm_smmu_make_s2_domain_ste()
jgunthorpe Feb 26, 2024
d10a20b
iommu/arm-smmu-v3: Hold arm_smmu_asid_lock during all of attach_dev
jgunthorpe Feb 26, 2024
03ec58a
iommu/arm-smmu-v3: Compute the STE only once for each master
jgunthorpe Feb 26, 2024
9df6f8d
iommu/arm-smmu-v3: Do not change the STE twice during arm_smmu_attach…
jgunthorpe Feb 26, 2024
10e9b8f
iommu/arm-smmu-v3: Put writing the context descriptor in the right order
jgunthorpe Feb 26, 2024
1e7491f
iommu/arm-smmu-v3: Pass smmu_domain to arm_enable/disable_ats()
jgunthorpe Feb 26, 2024
0b04a1a
iommu/arm-smmu-v3: Remove arm_smmu_master->domain
jgunthorpe Feb 26, 2024
ec6498c
iommu/arm-smmu-v3: Check that the RID domain is S1 in SVA
jgunthorpe Feb 26, 2024
4472d15
iommu/arm-smmu-v3: Add a global static IDENTITY domain
jgunthorpe Feb 26, 2024
113bab4
iommu/arm-smmu-v3: Add a global static BLOCKED domain
jgunthorpe Feb 26, 2024
1d35088
iommu/arm-smmu-v3: Use the identity/blocked domain during release
jgunthorpe Feb 26, 2024
b105ead
iommu/arm-smmu-v3: Pass arm_smmu_domain and arm_smmu_device to finalize
jgunthorpe Feb 26, 2024
cc592ac
iommu/arm-smmu-v3: Convert to domain_alloc_paging()
jgunthorpe Feb 26, 2024
b2b86ea
iommu/arm-smmu-v3-sva: Remove unused iommu_sva handle
shavitmichael Sep 5, 2023
a5eedce
iommu/arm-smmu-v3-sva: Remove bond refcount
shavitmichael Sep 5, 2023
c5c0b93
iommu: Move IOMMU_DOMAIN_BLOCKED global statics to ops->blocked_domain
jgunthorpe Sep 27, 2023
6ade8bc
iommu/arm-smmu-v3: Add cpu_to_le64() around STRTAB_STE_0_V
jgunthorpe Mar 4, 2024
7e1861c
iommu/vt-d: Update the definition of the blocking domain
jgunthorpe Sep 27, 2023
c472110
iommu/vt-d: Use ops->blocked_domain
jgunthorpe Sep 27, 2023
bcbc693
iommufd: Convert to alloc_domain_paging()
jgunthorpe Sep 27, 2023
625cdd1
iommu/dart: Use static global identity domains
jgunthorpe Sep 27, 2023
dd681e7
iommu/dart: Move the blocked domain support to a global static
jgunthorpe Sep 27, 2023
27b8e67
iommu/dart: Convert to domain_alloc_paging()
jgunthorpe Sep 27, 2023
c513cf4
iommu/dart: Call apple_dart_finalize_domain() as part of alloc_paging()
jgunthorpe Sep 27, 2023
fd05d60
iommu/dart: Remove the force_bypass variable
jgunthorpe Sep 27, 2023
bf7239d
iommu: Flow ERR_PTR out from __iommu_domain_alloc()
jgunthorpe Nov 1, 2023
2411c28
iommufd: Add iommufd_ctx to iommufd_put_object()
jgunthorpe Nov 12, 2023
ec503f8
iommufd: Do not UAF during iommufd_put_object()
jgunthorpe Nov 12, 2023
3e615d7
iommu/arm-smmu-v3: Add a type for the CD entry
jgunthorpe Mar 27, 2024
f56c18d
iommu: Add mm_get_enqcmd_pasid() helper function
TinaZhangZW Oct 27, 2023
56e3063
mm: Add structure to keep sva information
TinaZhangZW Oct 27, 2023
affd121
iommu: Change kconfig around IOMMU_SVA
jgunthorpe Oct 27, 2023
4fb7521
iommu/vt-d: Remove mm->pasid in intel_sva_bind_mm()
TinaZhangZW Oct 27, 2023
ab228a6
iommu: Support mm PASID 1:n with sva domains
TinaZhangZW Oct 27, 2023
549f012
mm: Deprecate pasid field
TinaZhangZW Oct 27, 2023
8bd2c61
iommu: Introduce iommu_group_mutex_assert()
hegdevasant Feb 5, 2024
f49f13e
iommu/arm-smmu-v3: Do not use GFP_KERNEL under as spinlock
jgunthorpe Feb 22, 2024
f778f81
iommu: Factor out some helpers
rmurphy-arm Nov 21, 2023
17b7b83
iommu: Decouple iommu_present() from bus ops
rmurphy-arm Nov 21, 2023
9e73f59
iommu: Validate that devices match domains
rmurphy-arm Nov 21, 2023
f50840e
iommu: Decouple iommu_domain_alloc() from bus ops
rmurphy-arm Nov 21, 2023
5704024
iommu/arm-smmu: Don't register fwnode for legacy binding
rmurphy-arm Nov 21, 2023
c1b8856
iommu: Retire bus ops
rmurphy-arm Nov 21, 2023
4d9ad85
iommu: Clean up open-coded ownership checks
rmurphy-arm Nov 21, 2023
d34bb04
iommufd: Register iommufd mock devices with fwspec
guixinliu1995 Sep 25, 2025
ab804df
iommufd/selftest: Check the bus type during probe
jgunthorpe Jan 3, 2024
172225b
iommu/omap: Add minimal fwnode support
rmurphy-arm Oct 28, 2024
fe03d9d
iommufd: Check the domain owner of the parent before creating a nesti…
jgunthorpe Aug 29, 2024
9ee9ac8
iommu: Set owner token to SVA domain
LuBaolu Dec 8, 2023
bbe8658
iommu: Move iommu fault data to linux/iommu.h
LuBaolu Feb 12, 2024
57f9879
iommu/arm-smmu-v3: Remove unrecoverable faults reporting
LuBaolu Feb 12, 2024
073ebc9
iommu: Remove unrecoverable fault data
LuBaolu Feb 12, 2024
bc80b15
iommu: Cleanup iopf data structure definitions
LuBaolu Feb 12, 2024
dba2da5
iommu: Merge iopf_device_param into iommu_fault_param
LuBaolu Feb 12, 2024
7e9914b
iommu: Remove iommu_[un]register_device_fault_handler()
LuBaolu Feb 12, 2024
88ac2fd
iommu: Merge iommu_fault_event and iopf_fault
LuBaolu Feb 12, 2024
f27d1ec
iommu: Prepare for separating SVA and IOPF
LuBaolu Feb 12, 2024
1d00ac2
iommu: Make iommu_queue_iopf() more generic
LuBaolu Feb 12, 2024
5e40500
iommu: Separate SVA and IOPF
LuBaolu Feb 12, 2024
06085b6
iommu: Refine locking for per-device fault data management
LuBaolu Feb 12, 2024
e622607
iommu: Use refcount for fault data access
LuBaolu Feb 12, 2024
4812f24
iommu: Improve iopf_queue_remove_device()
LuBaolu Feb 12, 2024
ab413c5
iommu: Track iopf group instead of last fault
LuBaolu Feb 12, 2024
210e639
iommu: Make iopf_group_response() return void
LuBaolu Feb 12, 2024
f903455
iommu: Make iommu_report_device_fault() return void
LuBaolu Feb 12, 2024
4f2ef92
iommu: Fix potential memory leak in iopf_queue_remove_device()
LuBaolu Jan 17, 2025
dd5240a
iommu/sva: Restore SVA handle sharing
jgunthorpe Feb 22, 2024
b0a0eb2
iommu/arm-smmu-v3: Fix access for STE.SHCFG
misaleh Mar 23, 2024
3b9ab76
iommu: Pass domain to remove_dev_pasid() op
yiliu1765 Mar 28, 2024
40c8a7a
iommu: Add ops->domain_alloc_sva()
jgunthorpe Apr 18, 2024
6fa87a9
iommu: Make iommu_sva_domain_alloc() static
LuBaolu May 28, 2024
285593a
iommu: Introduce domain attachment handle
LuBaolu Jul 2, 2024
bc92077
iommu: Remove sva handle list
LuBaolu Jul 2, 2024
69790d3
iommu: Add attach handle to struct iopf_group
LuBaolu Jul 2, 2024
604cd0e
iommu: Extend domain attach group with handle support
LuBaolu Jul 2, 2024
05cf257
iommufd: Add fault and response message definitions
LuBaolu Jul 2, 2024
77ad3aa
iommufd: Add iommufd fault object
LuBaolu Jul 2, 2024
7f12a15
iommufd: Fault-capable hwpt attach/detach/replace
LuBaolu Jul 2, 2024
61d7abe
iommufd: Associate fault object with iommufd_hw_pgtable
LuBaolu Jul 2, 2024
fd06139
iommufd/selftest: Add IOPF support for mock device
LuBaolu Jul 2, 2024
edb707b
iommufd/selftest: Add coverage for IOPF test
LuBaolu Jul 2, 2024
6dd64f7
iommu: Handle iommu faults for a bad iopf setup
pran005 Aug 16, 2024
452b70a
iommu/arm-smmu-v3: Add an ops indirection to the STE code
jgunthorpe Apr 30, 2024
7a41066
iommu/arm-smmu-v3: Make CD programming use arm_smmu_write_entry()
jgunthorpe Apr 30, 2024
7bd3df5
iommu/arm-smmu-v3: Move the CD generation for S1 domains into a function
jgunthorpe Apr 30, 2024
5f45409
iommu/arm-smmu-v3: Consolidate clearing a CD table entry
jgunthorpe Apr 30, 2024
8e998b0
iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr()
jgunthorpe Apr 30, 2024
8e4f416
iommu/arm-smmu-v3: Allocate the CD table entry in advance
jgunthorpe Apr 30, 2024
91f0a43
iommu/arm-smmu-v3: Move the CD generation for SVA into a function
jgunthorpe Apr 30, 2024
4906485
iommu/arm-smmu-v3: Build the whole CD in arm_smmu_make_s1_cd()
jgunthorpe Apr 30, 2024
1b55708
iommu/arm-smmu-v3: Add unit tests for arm_smmu_write_entry
jgunthorpe Apr 30, 2024
2a717dd
iommu/arm-smmu-v3: Avoid uninitialized asid in case of error
misaleh Jun 4, 2024
fe1120f
iommu/arm-smmu-v3: Convert to domain_alloc_sva()
jgunthorpe Jun 25, 2024
c2e53af
iommu/arm-smmu-v3: Start building a generic PASID layer
jgunthorpe Jun 25, 2024
ded407e
iommu/arm-smmu-v3: Make smmu_domain->devices into an allocated list
jgunthorpe Jun 25, 2024
61b1dd0
iommu/arm-smmu-v3: Make changing domains be hitless for ATS
jgunthorpe Jun 25, 2024
95942d4
iommu/arm-smmu-v3: Add ssid to struct arm_smmu_master_domain
jgunthorpe Jun 25, 2024
d25898e
iommu/arm-smmu-v3: Do not use master->sva_enable to restrict attaches
jgunthorpe Jun 25, 2024
bbc6054
iommu/arm-smmu-v3: Thread SSID through the arm_smmu_attach_*() interface
jgunthorpe Jun 25, 2024
adb54a3
iommu/arm-smmu-v3: Make SVA allocate a normal arm_smmu_domain
jgunthorpe Jun 25, 2024
b601b79
iommu/arm-smmu-v3: Keep track of arm_smmu_master_domain for SVA
jgunthorpe Jun 25, 2024
c2f134b
iommu/arm-smmu-v3: Put the SVA mmu notifier in the smmu_domain
jgunthorpe Jun 25, 2024
ee9adca
iommu/arm-smmu-v3: Allow IDENTITY/BLOCKED to be set while PASID is used
jgunthorpe Jun 25, 2024
6730618
iommu/arm-smmu-v3: Test the STE S1DSS functionality
jgunthorpe Jun 25, 2024
1603c0d
iommu/arm-smmu-v3: Allow a PASID to be set when RID is IDENTITY/BLOCKED
jgunthorpe Jun 25, 2024
e807d26
iommu/arm-smmu-v3: Allow setting a S1 domain to a PASID
jgunthorpe Jun 25, 2024
3eb476d
arm64: configs: Add kernel configuration for 6.6.63 with 64k pages
KobaKoNvidia Aug 28, 2025
e8ae659
iommu: Fix return code in iommu_group_alloc_default_domain()
jgunthorpe Oct 4, 2023
348a37e
iommu: Fix two issues in iommu_copy_struct_from_user()
nicolinc Apr 14, 2025
36186bb
iommu/exynos: Fix suspend/resume with IDENTITY domain
mszyprow Apr 1, 2025
bec6076
iommu/arm-smmu-v3: Make the kunit into a module
jgunthorpe May 7, 2024
6bb8a06
gpu: host1x: Do not assume that a NULL domain means no DMA IOMMU
jgunthorpe Feb 4, 2025
9313563
powerpc: iommu: Bring back table group release_ownership() call
ShivaprasadGBhat Jan 26, 2024
5c5c4ac
iommufd/device: Fix hwpt at err_unresv in iommufd_device_do_replace()
nicolinc Jul 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10,928 changes: 10,928 additions & 0 deletions .github/workflows/config_4k

Large diffs are not rendered by default.

10,925 changes: 10,925 additions & 0 deletions .github/workflows/config_64k

Large diffs are not rendered by default.

77 changes: 77 additions & 0 deletions .github/workflows/kernel-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Kernel Test

on:
push:
pull_request:

jobs:
build:
name: ${{ matrix.runs-on == 'ubuntu-latest' && 'x86_64' || 'ARM64' }} - ${{ matrix.config }}
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
- runs-on: ubuntu-latest
config: defconfig
- runs-on: ubuntu-24.04-arm
config: config_4k
- runs-on: ubuntu-24.04-arm
config: config_64k
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install Dependencies
run: |
sudo apt-get update -y
sudo apt-get install -y build-essential flex bison libssl-dev bc \
busybox-static cmake coreutils virtme-ng cpio elfutils file gcc \
git iproute2 jq kbd kmod libcap-dev libelf-dev libunwind-dev \
libvirt-clients libzstd-dev libasound2-dev libdrm-dev \
linux-headers-generic linux-tools-common linux-tools-generic \
make ninja-build pahole pkg-config python3-dev python3-pip \
python3-requests qemu-kvm qemu-system-arm rsync stress-ng udev zstd \
libseccomp-dev libcap-ng-dev llvm-19 clang-19 python3-full curl \
bpftrace dwarves gcc-aarch64-linux-gnu binutils-aarch64-linux-gnu \
bash-completion ccache debhelper devscripts docbook-utils \
fakeroot gawk kernel-wedge libncurses5-dev makedumpfile python3-git \
python3-requests python3-ruamel.yaml sharutils transfig ubuntu-dev-tools \
libnuma-dev xmlto

- name: Install virtme-ng
run: |
git clone https://github.com/arighi/virtme-ng.git
cd virtme-ng
VNG_PACKAGE=1 BUILD_VIRTME_NG_INIT=1 pip install --break-system-packages .
cd -

- name: Configure Kernel
run: |
if [ "${{ matrix.config }}" = "defconfig" ]; then
vng -vb --kconfig
else
vng -vb --kconfig --config .github/workflows/${{ matrix.config }}
fi
# Ensure WERROR is disabled
./scripts/config --disable CONFIG_WERROR
# Disable certificate verification
./scripts/config --disable SYSTEM_TRUSTED_KEYS
./scripts/config --disable SYSTEM_REVOCATION_KEYS ""

- name: Build Kernel
run: |
vng -vb

- name: Boot test
run: |
vng -v -m 4G -- uname -a

- name: Run kselftests
run: |
make headers_install
make -j$(nproc) -C tools/testing/selftests \
TARGETS="mm dma iommu locking" \
INSTALL_PATH=$(pwd)/tests \
all install
vng -v -m 4G -- ./tests/run_kselftest.sh --summary
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
# Normal rules (sorted alphabetically)
#
.*
!.github/
*.a
*.asn1.[ch]
*.bin
Expand Down
159 changes: 159 additions & 0 deletions Documentation/ABI/testing/sysfs-bus-coresight-devices-tpdm
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,162 @@ Description:
Accepts only one of the 2 values - 1 or 2.
1 : Generate 64 bits data
2 : Generate 32 bits data

What: /sys/bus/coresight/devices/<tpdm-name>/reset_dataset
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(Write) Reset the dataset of the tpdm.

Accepts only one value - 1.
1 : Reset the dataset of the tpdm

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_type
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the trigger type of the DSB for tpdm.

Accepts only one of the 2 values - 0 or 1.
0 : Set the DSB trigger type to false
1 : Set the DSB trigger type to true

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_ts
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the trigger timestamp of the DSB for tpdm.

Accepts only one of the 2 values - 0 or 1.
0 : Set the DSB trigger type to false
1 : Set the DSB trigger type to true

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_mode
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the programming mode of the DSB for tpdm.

Accepts the value needs to be greater than 0. What data
bits do is listed below.
Bit[0:1] : Test mode control bit for choosing the inputs.
Bit[3] : Set to 0 for low performance mode.
Set to 1 for high performance mode.
Bit[4:8] : Select byte lane for high performance mode.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_idx
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the index number of the edge detection for the DSB
subunit TPDM. Since there are at most 256 edge detections, this
value ranges from 0 to 255.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_val
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
Write a data to control the edge detection corresponding to
the index number. Before writing data to this sysfs file,
"ctrl_idx" should be written first to configure the index
number of the edge detection which needs to be controlled.

Accepts only one of the following values.
0 - Rising edge detection
1 - Falling edge detection
2 - Rising and falling edge detection (toggle detection)


What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/ctrl_mask
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
Write a data to mask the edge detection corresponding to the index
number. Before writing data to this sysfs file, "ctrl_idx" should
be written first to configure the index number of the edge detection
which needs to be masked.

Accepts only one of the 2 values - 0 or 1.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcr[0:15]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
Read a set of the edge control value of the DSB in TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_edge/edcmr[0:7]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
Read a set of the edge control mask of the DSB in TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpr[0:7]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the value of the trigger pattern for the DSB
subunit TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_trig_patt/xpmr[0:7]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the mask of the trigger pattern for the DSB
subunit TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpr[0:7]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the value of the pattern for the DSB subunit TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/tpmr[0:7]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the mask of the pattern for the DSB subunit TPDM.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/enable_ts
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(Write) Set the pattern timestamp of DSB tpdm. Read
the pattern timestamp of DSB tpdm.

Accepts only one of the 2 values - 0 or 1.
0 : Disable DSB pattern timestamp.
1 : Enable DSB pattern timestamp.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_patt/set_type
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(Write) Set the pattern type of DSB tpdm. Read
the pattern type of DSB tpdm.

Accepts only one of the 2 values - 0 or 1.
0 : Set the DSB pattern type to value.
1 : Set the DSB pattern type to toggle.

What: /sys/bus/coresight/devices/<tpdm-name>/dsb_msr/msr[0:31]
Date: March 2023
KernelVersion 6.7
Contact: Jinlong Mao (QUIC) <quic_jinlmao@quicinc.com>, Tao Zhang (QUIC) <quic_taozha@quicinc.com>
Description:
(RW) Set/Get the MSR(mux select register) for the DSB subunit
TPDM.
32 changes: 32 additions & 0 deletions Documentation/admin-guide/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4496,6 +4496,38 @@
bridges without forcing it upstream. Note:
this removes isolation between devices and
may put more devices in an IOMMU group.
config_acs=
Format:
<ACS flags>@<pci_dev>[; ...]
Specify one or more PCI devices (in the format
specified above) optionally prepended with flags
and separated by semicolons. The respective
capabilities will be enabled, disabled or
unchanged based on what is specified in
flags.

ACS Flags is defined as follows:
bit-0 : ACS Source Validation
bit-1 : ACS Translation Blocking
bit-2 : ACS P2P Request Redirect
bit-3 : ACS P2P Completion Redirect
bit-4 : ACS Upstream Forwarding
bit-5 : ACS P2P Egress Control
bit-6 : ACS Direct Translated P2P
Each bit can be marked as:
'0' – force disabled
'1' – force enabled
'x' – unchanged
For example,
pci=config_acs=10x
would configure all devices that support
ACS to enable P2P Request Redirect, disable
Translation Blocking, and leave Source
Validation unchanged from whatever power-up
or firmware set it to.

Note: this may remove isolation between devices
and may put more devices in an IOMMU group.
force_floating [S390] Force usage of floating interrupts.
nomio [S390] Do not use MIO instructions.
norid [S390] ignore the RID field and force use of
Expand Down
Loading