Lines Matching +full:fixed +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0 */
196 /* Counters Sub-Leaf */
198 /* Auto Counter Reload Sub-Leaf */
200 /* Events Sub-Leaf */
211 /* EQ-bit Supported */
226 /* Deep C-state Reset */
240 /* Call-stack Mode Supported */
291 * Fixed-purpose performance events:
294 /* RDPMC offset for Fixed PMCs */
299 * All the fixed-mode PMCs are configured via this single MSR:
304 * There is no event-code assigned to the fixed-mode PMCs.
306 * For a fixed-mode PMC, which has an equivalent event on a general-purpose
307 * PMC, the event-code of the equivalent event is used for the fixed-mode PMC,
310 * For a fixed-mode PMC, which doesn't have an equivalent event, a
311 * pseudo-encoding is used, e.g., CPU_CLK_Unhalted.Ref and TOPDOWN.SLOTS.
312 * The pseudo event-code for a fixed-mode PMC must be 0x00.
313 * The pseudo umask-code is 0xX. The X equals the index of the fixed
314 * counter + 1, e.g., the fixed counter 2 has the pseudo-encoding 0x0300.
327 /* CPU_CLK_Unhalted.Ref: event=0x00,umask=0x3 (pseudo-encoding) */
332 /* TOPDOWN.SLOTS: event=0x00,umask=0x4 (pseudo-encoding) */
337 /* TOPDOWN_BAD_SPECULATION.ALL: fixed counter 4 (Atom only) */
338 /* TOPDOWN_FE_BOUND.ALL: fixed counter 5 (Atom only) */
339 /* TOPDOWN_RETIRING.ALL: fixed counter 6 (Atom only) */
347 * We model BTS tracing as another fixed-mode PMC.
349 * We choose the value 47 for the fixed index of BTS, since lower
350 * values are used by actual fixed events and higher values are used
356 * The PERF_METRICS MSR is modeled as several magic fixed-mode PMCs, one for
375 * There is no event-code assigned to the TopDown events.
377 * For the slots event, use the pseudo code of the fixed counter 3.
379 * For the metric events, the pseudo event-code is 0x00.
380 * The pseudo umask-code starts from the middle of the pseudo event
403 return (unsigned)(idx - INTEL_PMC_IDX_METRIC_BASE) < INTEL_TD_METRIC_NUM; in is_metric_idx()
428 * We model guest LBR event tracing as another fixed-mode PMC like BTS.
441 * Pseudo-encoding the guest LBR event as event=0x00,umask=0x1b,
553 static inline int forward_event_to_ibs(struct perf_event *event) { return -ENOENT; } in forward_event_to_ibs()
564 * EXACT - the IP points to the exact instruction that triggered the
566 * VM - original X86_VM_MASK; see set_linear_ip().
590 (regs)->ip = (__ip); \
591 (regs)->sp = (unsigned long)__builtin_frame_address(0); \
592 (regs)->cs = __KERNEL_CS; \
593 regs->flags = 0; \