Changeset View
Changeset View
Standalone View
Standalone View
head/sys/x86/iommu/intel_utils.c
Show First 20 Lines • Show All 649 Lines • ▼ Show 20 Lines | dmar_timeout_sysctl(SYSCTL_HANDLER_ARGS) | ||||
val = dmar_get_timeout(); | val = dmar_get_timeout(); | ||||
error = sysctl_handle_long(oidp, &val, 0, req); | error = sysctl_handle_long(oidp, &val, 0, req); | ||||
if (error != 0 || req->newptr == NULL) | if (error != 0 || req->newptr == NULL) | ||||
return (error); | return (error); | ||||
dmar_update_timeout(val); | dmar_update_timeout(val); | ||||
return (error); | return (error); | ||||
} | } | ||||
static SYSCTL_NODE(_hw, OID_AUTO, dmar, CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, | static SYSCTL_NODE(_hw_iommu, OID_AUTO, dmar, CTLFLAG_RD | CTLFLAG_MPSAFE, | ||||
""); | NULL, ""); | ||||
SYSCTL_INT(_hw_dmar, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, | SYSCTL_INT(_hw_iommu_dmar, OID_AUTO, tbl_pagecnt, CTLFLAG_RD, | ||||
&dmar_tbl_pagecnt, 0, | &dmar_tbl_pagecnt, 0, | ||||
"Count of pages used for DMAR pagetables"); | "Count of pages used for DMAR pagetables"); | ||||
SYSCTL_INT(_hw_dmar, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, | SYSCTL_INT(_hw_iommu_dmar, OID_AUTO, batch_coalesce, CTLFLAG_RWTUN, | ||||
&dmar_batch_coalesce, 0, | &dmar_batch_coalesce, 0, | ||||
"Number of qi batches between interrupt"); | "Number of qi batches between interrupt"); | ||||
SYSCTL_PROC(_hw_dmar, OID_AUTO, timeout, | SYSCTL_PROC(_hw_iommu_dmar, OID_AUTO, timeout, | ||||
CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0, | CTLTYPE_U64 | CTLFLAG_RW | CTLFLAG_MPSAFE, 0, 0, | ||||
dmar_timeout_sysctl, "QU", | dmar_timeout_sysctl, "QU", | ||||
"Timeout for command wait, in nanoseconds"); | "Timeout for command wait, in nanoseconds"); |