Lines Matching +full:security +full:- +full:events
1 .\" Copyright (c) 2003-2008 Joseph Koshy
39 .Bd -ragged -offset indent
44 .Bd -ragged -offset indent
49 .Bd -literal -offset indent
54 .Bd -ragged -offset indent
62 .Bd -ragged -offset indent
75 The driver supports multi-processor systems.
89 .Bl -tag -width ".Em Process-scope"
90 .It Em "Process-scope"
93 .It Em "System-scope"
95 measures hardware events for the system as a whole.
99 .Bl -tag -width ".Em Counting"
101 In counting modes, the PMCs count hardware events.
110 hardware events have been observed.
117 .Bl -tag -width indent
118 .It Process-scope, counting
119 These PMCs count hardware events whenever a thread in their attached process is
128 .It Process-scope, sampling
130 have seen the configured number of hardware events.
131 The PMCs only count events when a thread belonging to their attached
139 .It System-scope, counting
140 These PMCs count hardware events seen by them independent of the
149 .It System-scope, sampling
160 System-wide statistical sampling can only be enabled by a process with
161 super-user privileges.
166 Processes may mix allocations of system-wide and process-private
178 Process-private PMCs need to be attached to a target process before
193 .Bl -bullet -compact
195 A non-jailed process with super-user privileges is allowed to attach
213 .Bl -tag -width indent
222 This modifier is valid only for a PMC being allocated in process-private
224 It signifies that the PMC will track hardware events for its
227 This modifier is valid only for a PMC being allocated in process-private
231 will log a record containing the number of hardware events
234 This modifier is valid only for a PMC being allocated in process-private
238 will maintain per-process counts for each target process attached to
241 the accumulated per-process count for that process will be written to the
261 .Bl -tag -width ".Dv SIGBUS"
265 operation was attempted on a process-private PMC that does not have
279 .Bl -tag -width ".Dv PMC_DISP_STANDALONE" -compact
289 Non-disabled hardware counters in such a row may be used
310 .Bl -tag -width indent
387 .Bl -tag -width indent
392 The PMC needs to be in process-private mode and allocated without the
406 .Bl -tag -width indent
411 The PMC needs to be in process-private mode and allocated without the
424 .Bl -tag -width indent
425 .It Va kern.hwpmc.callchaindepth Pq integer, read-only
428 .It Va kern.hwpmc.debugflags Pq string, read-write
436 .It Va kern.hwpmc.hashsize Pq integer, read-only
440 .It Va kern.hwpmc.logbuffersize Pq integer, read-only
445 .It Va kern.hwpmc.mincount Pq integer, read-write
447 The default count is 1000 events.
448 .It Va kern.hwpmc.mtxpoolsize Pq integer, read-only
451 .It Va kern.hwpmc.nbuffers_pcpu Pq integer, read-only
456 .It Va kern.hwpmc.nsamples Pq integer, read-only
457 The number of entries in the per-CPU ring buffer used during sampling.
459 .It Va security.bsd.unprivileged_syspmcs Pq boolean, read-write
460 If set to non-zero, allow unprivileged processes to allocate system-wide
463 .It Va security.bsd.unprivileged_proc_debug Pq boolean, read-write
480 On platforms that sparsely number CPUs and which support hot-plugging
481 of CPUs, requests that specify non-existent or disabled CPUs will fail
483 Applications allocating system-scope PMCs need to be aware of
495 only a subset of hardware events on a per-logical CPU basis.
499 driver will reject allocation requests for process-private PMCs that
500 request counting of hardware events that cannot be counted separately
503 .Bl -diag
544 .Bd -literal -offset indent
554 variable, which provides fine-grained control over which types of events are
558 trace events are grouped by 'major' and 'minor' flag types.
561 .Bl -tag -width "sampling" -compact -offset indent
563 CPU events
565 Context switch events
567 Logging events
569 Machine-dependent/class-dependent events
571 Miscellaneous events
573 PMC owner events
575 PMC management events
577 Process events
579 Sampling events
584 .Bd -ragged -offset indent
622 The string should contain a space-separated list of event specifiers.
624 (=), followed by a comma-separated list of minor event types.
625 To track all events for a major group, an asterisk (*) can be given instead of
628 For example, to trace all allocation and release events, set
631 .Bd -literal -offset indent
635 To trace all events in the process and context switch major flag groups:
636 .Bd -literal -offset indent
640 To disable all trace events, set the variable to an empty string.
641 .Bd -literal -offset indent
645 Trace events are recorded by
647 and can be inspected at run-time using the
656 .Bl -tag -width Er
669 process-private PMCs.
699 operation was requested on a system-wide sampling PMC without a log
723 request to de-configure a log file was issued without a log file
758 request for a process-private PMC.
764 request for a system-wide PMC.
775 request for a process-private PMC was issued for an event that does
776 not support counting on a per-logical CPU basis.
778 A PMC allocated for system-wide operation was specified with a
804 operation was requested for a PMC not in process-virtual mode, or
828 operation specified allocation of a system-wide PMC on an absent or
835 request was issued for a system-wide PMC that was allocated on a CPU
848 request was issued by a process without super-user
849 privilege or by a jailed super-user process.
872 request specified a non-existent process ID.
911 Many single-processor motherboards keep the APIC disabled in BIOS; on
915 .Sh SECURITY CONSIDERATIONS
919 .Bl -enum
924 .Va security.bsd.unprivileged_syspmcs
926 This ensures that unprivileged processes cannot allocate system-wide
940 .Va security.bsd.unprivileged_proc_debug
947 System administrators should note that on IA-32 platforms
949 makes the content of the IA-32 TSC counter available to all processes