Page MenuHomeFreeBSD

Change DMAR sysctl node
ClosedPublic

Authored by br on Jul 25 2020, 7:59 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Mar 9, 8:20 PM
Unknown Object (File)
Sat, Mar 9, 8:20 PM
Unknown Object (File)
Dec 23 2023, 12:32 PM
Unknown Object (File)
Dec 22 2023, 9:00 PM
Unknown Object (File)
Dec 10 2023, 11:18 PM
Unknown Object (File)
Nov 20 2023, 7:36 PM
Unknown Object (File)
Nov 20 2023, 7:36 PM
Unknown Object (File)
Oct 24 2023, 4:33 AM
Subscribers

Details

Summary

Change all _hw_dmar to _hw_iommu

Test Plan

Boot on amd64

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

br requested review of this revision.Jul 25 2020, 7:59 PM
br created this revision.
sys/dev/iommu/iommu_gas.c
736 ↗(On Diff #74933)

Mmm, I think the node should be declared unconditionally, regardless of the INVARIANTS build. Also I remember that nodes should be RW if any mib below them is rw.

sys/x86/iommu/intel_utils.c
658 ↗(On Diff #74933)

This should not link in non-INVARIANTS kernels.

Also, I asked to put dmar-specific mibs under hw.iommu.dmar.

o _hw_iommu is RW
o _hw_iommu is declared regardless INVARIANTS support
o dmar sysctl options are under _hw_iommu_dmar, not _hw_iommu
o _hw_iommu_dmar are all INVARIANTS only

sys/dev/iommu/iommu_gas.c
736 ↗(On Diff #74933)

All fixed. sorry

sys/dev/iommu/iommu_gas.c
738 ↗(On Diff #74935)

This one should be under INVARIANTS indeed.

sys/x86/iommu/intel_utils.c
671 ↗(On Diff #74935)

None of these sysctls should be under INVARIANTS. They are all either informational or knobs to tune performance.

sysctl knobs present in all kernels, regardless of INVARIANTS

sys/x86/iommu/intel_utils.c
658 ↗(On Diff #74933)

what do you mean that it should not link (in non-invariants kernel) ?

This revision is now accepted and ready to land.Jul 25 2020, 9:28 PM
sys/x86/iommu/intel_utils.c
658 ↗(On Diff #74933)

I mean that for non-INVARIANTS kernels the node (or whatever, I do not remember already) was defined only under INVARIANTS (i.e. nowhere), while declared and used. Then linker should compain about undefined symbol.

This revision was automatically updated to reflect the committed changes.