Lines Matching +full:pm +full:- +full:api

1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
14 * Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
100 * Contains EPCR, plus the upper half of 64-bit registers
101 * that are 32-bit on 32-bit implementations.
109 * IVORs are used -- contains IVOR0-15, plus additional IVORs
115 * Contains MAS0-4, MAS6-7, TLBnCFG, MMUCFG.
123 /* Enhanced debug -- DSRR0/1, SPRG9 */
126 /* Embedded Floating Point (SPE) -- IVOR32-34 if KVM_SREGS_E_IVOR */
131 * External Proxy (EXP) -- EPR
135 /* External PID (E.PD) -- EPSC/EPLC */
138 /* Processor Control (E.PC) -- IVOR36-37 if KVM_SREGS_E_IVOR */
141 /* Page table (E.PT) -- EPTCFG */
144 /* Embedded Performance Monitor (E.PM) -- IVOR35 if KVM_SREGS_E_IVOR */
172 * as write-one-to-clear. Calling KVM_SET_SREGS on an unmodified struct
173 * just received from KVM_GET_SREGS is always a no-op.
209 __u32 pir; /* read-only */
233 * Read-only.
240 * iac/dac registers are 64bit wide, while this API
248 __u8 num_iac; /* read-only */
249 __u8 num_dac; /* read-only */
250 __u8 num_dvc; /* read-only */
264 __u32 ivor_low[16]; /* IVOR0-15 */
267 __u32 mmucfg; /* read-only */
268 __u32 eptcfg; /* E.PT, read-only */
269 __u32 tlbcfg[4];/* read-only */
270 __u32 tlbps[4]; /* read-only */
318 * kvm_guest_debug->control is a 32 bit field. The lower 16 bits are generic
329 #define KVM_INTERRUPT_SET -1U
330 #define KVM_INTERRUPT_UNSET -2U
331 #define KVM_INTERRUPT_SET_LEVEL -3U
376 * - The number of ways of TLB0 must be a power of two between 2 and
378 * - TLB1 must be fully associative.
379 * - The size of TLB0 must be a multiple of the number of ways, and
381 * - The size of TLB1 may not exceed 64 entries.
382 * - TLB0 supports 4 KiB pages.
383 * - The page sizes supported by TLB1 are as indicated by
386 * - TLB2 and TLB3 are reserved, and their entries in tlb_sizes[]
472 /* Per-vcpu XICS interrupt controller state */
486 /* Device control API: PPC-specific devices */
488 #define KVM_DEV_MPIC_BASE_ADDR 0 /* 64-bit */
490 #define KVM_DEV_MPIC_GRP_REGISTER 2 /* 32-bit */
491 #define KVM_DEV_MPIC_GRP_IRQ_ACTIVE 3 /* 32-bit */
493 /* One-Reg API: PPC-specific registers */
528 /* 32 floating-point registers */
538 /* 32 double-width FP registers for VSX */
539 /* High-order halves overlap with FP regs */
547 * VSCR register is documented as a 32-bit register in the ISA, but it can
548 * only be accesses via a vector register. Expose VSCR as a 32-bit register
549 * even though the kernel represents it as a 128-bit vector.
678 #define KVM_DEV_XICS_GRP_SOURCES 1 /* 64-bit source attributes */
682 /* Layout of 64-bit source attribute values */
698 #define KVM_DEV_XIVE_GRP_SOURCE 2 /* 64-bit source identifier */
699 #define KVM_DEV_XIVE_GRP_SOURCE_CONFIG 3 /* 64-bit source identifier */
700 #define KVM_DEV_XIVE_GRP_EQ_CONFIG 4 /* 64-bit EQ identifier */
701 #define KVM_DEV_XIVE_GRP_SOURCE_SYNC 5 /* 64-bit source identifier */
703 /* Layout of 64-bit XIVE source attribute values */
707 /* Layout of 64-bit XIVE source configuration attribute values */
717 /* Layout of 64-bit EQ identifier */