Lines Matching refs:in
130 Parameters: struct kvm_msr_list (in/out)
133 E2BIG: the msr index list is to be to fit in the array specified by
137 __u32 nmsrs; /* number of msrs in entries */
143 user fills in the size of the indices array in nmsrs, and in return
144 kvm adjusts nmsrs to reflect the actual number of msrs and fills in
148 not returned in the MSR list, as different vcpus can have a different number
164 additional information in the integer return value.
176 Returns: size of vcpu mmap area, in bytes
188 Parameters: struct kvm_memory_region (in)
203 in the range [0, max_vcpus).
216 threads in one or more virtual CPU cores. (This is because the
217 hardware requires all the hardware threads in a CPU core to be in the
220 dividing the vcpu id by the number of vcpus per vcore. The vcpus in a
221 given vcore will always be in the same physical core as each other
230 KVM_S390_SIE_PAGE_OFFSET in order to obtain a memory map of the virtual
239 Parameters: struct kvm_dirty_log (in/out)
253 since the last call to this ioctl. Bit 0 is the first page in the
268 Parameters: struct kvm_memory_alias (in)
303 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */
313 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */
326 Parameters: struct kvm_regs (in)
367 Parameters: struct kvm_sregs (in)
379 Parameters: struct kvm_translation (in/out)
386 /* in */
403 Parameters: struct kvm_interrupt (in)
410 /* in */
419 -ENXIO if the PIC is in the kernel
423 ioctl is useful if the in-kernel PIC is not used.
474 Parameters: struct kvm_msrs (in/out)
481 __u32 nmsrs; /* number of msrs in entries */
495 kvm will fill in the 'data' member.
503 Parameters: struct kvm_msrs (in)
519 Parameters: struct kvm_cpuid (in)
548 Parameters: struct kvm_signal_mask (in)
581 __u8 ftwx; /* in fxsave format */
597 Parameters: struct kvm_fpu (in)
607 __u8 ftwx; /* in fxsave format */
626 Creates an interrupt controller model in the kernel.
647 Sets the level of a GSI input to the interrupt controller model in the kernel.
658 to consider the polarity. However, due to bitrot in the handling of
662 capability is present (or unless it is not using the in-kernel irqchip,
667 in-kernel irqchip (GIC), and for in-kernel irqchip can tell the GIC to
676 - irq_type[1]: in-kernel GIC: SPI, irq_id between 32 and 1019 (incl.)
678 - irq_type[2]: in-kernel GIC: PPI, irq_id between 16 and 31 (incl.)
680 (The irq_id field thus corresponds nicely to the IRQ ID in the ARM GIC specs)
698 Parameters: struct kvm_irqchip (in/out)
720 Parameters: struct kvm_irqchip (in)
742 Parameters: struct kvm_xen_hvm_config (in)
747 blobs in userspace. When the guest writes the MSR, kvm copies one
786 Parameters: struct kvm_clock_data (in)
789 Sets the current timestamp of kvmclock to the value specified in its parameter.
842 Only two fields are defined in the flags field:
844 - KVM_VCPUEVENT_VALID_SHADOW may be set in the flags field to signal that
847 - KVM_VCPUEVENT_VALID_SMM may be set in the flags field to signal that
856 Parameters: struct kvm_vcpu_event (in)
866 smi.pending. Keep the corresponding bits in the flags field cleared to
867 suppress overwriting the current in-kernel state. The bits are:
873 If KVM_CAP_INTR_SHADOW is available, KVM_VCPUEVENT_VALID_SHADOW can be set in
904 Parameters: struct kvm_debugregs (in)
918 Parameters: struct kvm_userspace_memory_region (in)
934 slot. When changing an existing slot, it may be moved in the guest
936 resized. Slots may not overlap in guest physical address space.
941 KVM_CAP_MULTI_ADDRESS_SPACE capability. Slots in separate address spaces
951 be identical. This allows large pages in the guest to be backed by large
952 pages in the host.
961 When the KVM_CAP_SYNC_MMU capability is available, changes in the backing of
976 Parameters: unsigned long tss_address (in)
979 This ioctl defines the physical address of a three-page region in the guest
986 because of a quirk in the virtualization implementation (see the internals
996 Parameters: struct kvm_enable_cap (in)
1009 /* in */
1056 - KVM_MP_STATE_CHECK_STOP: the vcpu is in a special error state [s390]
1059 - KVM_MP_STATE_LOAD: the vcpu is in a special load/startup state
1063 in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1076 Parameters: struct kvm_mp_state (in)
1083 in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1096 Parameters: unsigned long identity (in)
1099 This ioctl defines the physical address of a one-page region in the guest
1106 because of a quirk in the virtualization implementation (see the internals
1119 as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default
1143 Parameters: struct kvm_xsave (in)
1182 Parameters: struct kvm_xcrs (in)
1206 Parameters: struct kvm_cpuid2 (in/out)
1238 with the 'nent' field indicating the number of entries in the variable-size
1243 entries in the 'entries' array, which is then filled.
1247 x2apic), may not be present in the host cpu, but are exposed by kvm if it can
1248 emulate them efficiently. The fields in each entry are defined as follows:
1273 feature in userspace, then you can enable the feature for KVM_SET_CPUID2.
1296 additional piece of information will be set in the flags bitmap.
1308 Parameters: struct kvm_assigned_pci_dev (in)
1325 Identification in succeeding service requests is done via assigned_dev_id. The
1358 Parameters: struct kvm_assigned_pci_dev (in)
1364 used in kvm_assigned_pci_dev to identify the device.
1377 Parameters: struct kvm_assigned_irq (in)
1417 Parameters: struct kvm_assigned_irq (in)
1432 Parameters: struct kvm_irq_routing (in)
1491 Parameters: struct kvm_assigned_msix_nr (in)
1513 Parameters: struct kvm_assigned_msix_entry (in)
1522 __u16 entry; /* The index of entry in the MSI-X table */
1572 data format and layout are the same as documented in the architecture manual.
1580 Parameters: struct kvm_lapic_state (in)
1589 and layout are the same as documented in the architecture manual.
1597 Parameters: struct kvm_ioeventfd (in)
1601 within the guest. A guest write in the registered address will signal the
1625 to the registered address is equal to datamatch in struct kvm_ioeventfd.
1640 Parameters: struct kvm_dirty_tlb (in)
1648 This must be called whenever userspace has changed an entry in the shared
1656 Each bit corresponds to one TLB entry, ordered the same as in the shared TLB
1665 be set to the number of set bits in the bitmap.
1673 Parameters: struct kvm_assigned_pci_dev (in)
1683 read value of the INTx disable bit in the guest visible PCI command register.
1693 INTx disable bit are handled lazily in the kernel. It's possible the device
1707 Parameters: struct kvm_create_spapr_tce (in)
1712 logical addresses used in virtual I/O into guest physical addresses,
1728 in real mode, updating the TCE table. H_PUT_TCE calls for other
1734 userspace update the TCE table directly which is useful in some
1749 will be accessed by real-mode (MMU off) accesses in a KVM guest.
1761 RMA for a virtual machine. The size of the RMA in bytes (which is
1762 fixed at host kernel boot time) is returned in the rma_size field of
1793 Some guests configure the LINT1 NMI input to cause a panic, aiding in
1802 Parameters: struct kvm_s390_ucas_mapping (in)
1803 Returns: 0 in case of success
1822 Parameters: struct kvm_s390_ucas_mapping (in)
1823 Returns: 0 in case of success
1832 This ioctl unmaps the memory in the vcpu's address space starting at
1842 Parameters: vcpu absolute address (in)
1843 Returns: 0 in case of success
1850 controlled virtual machines to fault in the virtual cpu's lowcore pages
1859 Parameters: struct kvm_one_reg (in)
1868 defined by user space with the passed in struct kvm_one_reg, where id
2062 value in the kvm_regs structure seen as a 32bit array.
2111 Parameters: struct kvm_one_reg (in and out)
2115 in a vcpu. The register to read is indicated by the "id" field of the
2116 kvm_one_reg struct passed in. On success, the register value can be found
2120 list in 4.68.
2132 userspace. The host will set a flag in the pvclock structure that is checked
2149 Parameters: struct kvm_msi (in)
2152 Directly inject a MSI message. Only valid with in-kernel irqchip that handles
2171 Parameters: struct kvm_pit_config (in)
2174 Creates an in-kernel device model for the i8254 PIT. This call is only valid
2175 after enabling in-kernel irqchip support via KVM_CREATE_IRQCHIP. The following
2206 Retrieves the state of the in-kernel PIT model. Only valid after
2207 KVM_CREATE_PIT2. The state is returned in the following structure:
2217 /* disable PIT in HPET legacy mode */
2228 Parameters: struct kvm_pit_state2 (in)
2231 Sets the state of the in-kernel PIT model. Only valid after KVM_CREATE_PIT2.
2247 This can in turn be used by userspace to generate the appropriate
2264 store page sizes. When not set, any page size in the list can
2268 The emulated MMU supports 1T segments in addition to the
2274 page sizes for a segment in increasing order. Each entry is defined
2284 organized in increasing order, a lookup can stop when encoutering
2287 The "slb_enc" field provides the encoding to use in the SLB for the
2288 page size. The bits are in positions such as the value can directly
2294 corresponding encoding in the hash PTE. Similarly, the array is
2300 __u32 pte_enc; /* Encoding in the HPTE (>>12) */
2312 Parameters: struct kvm_irqfd (in)
2326 additional eventfd in the kvm_irqfd.resamplefd field. When operating
2327 in resample mode, posting of an interrupt through kvm_irq.fd asserts
2328 the specified gsi in the irqchip. When the irqchip is resampled, such
2336 On ARM/ARM64, the gsi field in the kvm_irqfd struct specifies the Shared
2345 Parameters: Pointer to u32 containing hash table order (in/out)
2370 return the hash table order in the parameter. (If the guest is using
2379 Parameters: struct kvm_s390_interrupt (in)
2395 KVM_S390_SIGP_STOP (vcpu) - sigp stop; optional flags in parm
2396 KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm
2397 KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm
2402 parameters in parm and parm64
2403 KVM_S390_INT_SERVICE (vm) - sclp external interrupt; sclp parameter in parm
2404 KVM_S390_INT_EMERGENCY (vcpu) - sigp emergency; source cpu in parm
2405 KVM_S390_INT_EXTERNAL_CALL (vcpu) - sigp external call; source cpu in parm
2408 I/O interruption parameters in parm (subchannel) and parm64 (intparm,
2410 KVM_S390_MCHK (vm, vcpu) - machine check interrupt; cr 14 bits in parm,
2411 machine check interrupt code in parm64 (note that
2422 Parameters: Pointer to struct kvm_get_htab_fd (in)
2426 entries in the guest's hashed page table (HPT), or to write entries to
2428 KVM_GET_HTAB_WRITE bit is set in the flags field of the argument, and
2443 The `start_index' field gives the index in the HPT of the entry at
2458 in the stream. The header format is:
2466 Writes to the fd create HPT entries starting at the index given in the
2475 Parameters: struct kvm_create_device (in/out)
2485 Creates an emulated device in the kernel. The file descriptor returned
2486 in fd can be used with KVM_SET/GET/HAS_DEVICE_ATTR.
2490 in the current vm).
2497 __u32 type; /* in: KVM_DEV_TYPE_xxx */
2499 __u32 flags; /* in: KVM_CREATE_DEVICE_xxx */
2512 sense when the device is in a different state)
2517 semantics are device-specific. See individual device documentation in
2539 indicate that the attribute can be read or written in the device's
2547 Parameters: struct kvm_vcpu_init (in)
2567 - KVM_ARM_VCPU_POWER_OFF: Starts the CPU in a power-off state.
2570 - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode.
2596 of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result in
2597 in VCPU matching underlying host.
2605 Parameters: struct kvm_reg_list (in/out)
2608 E2BIG: the reg index list is too big to fit in the array specified by
2612 __u64 n; /* number of registers in reg[] */
2625 Parameters: struct kvm_arm_device_address (in)
2639 Specify a device address in the guest's physical address space where guests
2650 ARM/arm64 currently only require this when using the in-kernel GIC
2671 service in order to allow it to be handled in the kernel. The
2686 Parameters: struct kvm_guest_debug (in)
2713 are enabled in memory so we need to ensure breakpoint exceptions are
2736 Parameters: struct kvm_cpuid2 (in/out)
2767 structure with the 'nent' field indicating the number of entries in
2772 to the number of valid entries in the 'entries' array, which is then
2779 Features like x2apic, for example, may not be present in the host cpu
2780 but are exposed by kvm in KVM_GET_SUPPORTED_CPUID because they can be
2783 The fields in each entry are defined as follows:
2806 Parameters: struct kvm_s390_mem_op (in)
2820 __u64 buf; /* buffer in userspace */
2825 The type of operation is specified in the "op" field. It is either
2828 KVM_S390_MEMOP_F_CHECK_ONLY flag can be set in the "flags" field to check
2830 (without touching the data in the memory at the destination). In case an
2834 flag KVM_S390_MEMOP_F_INJECT_EXCEPTION is set in the "flags" field.
2836 The start address of the memory region has to be specified in the "gaddr"
2837 field, and the length of the region in the "size" field. "buf" is the buffer
2899 storage keys. Each byte in the buffer will be set as the storage key for a
2902 Note: If any architecturally invalid key value is found in the given data then
2910 Parameters: struct kvm_s390_irq (in)
2947 KVM_S390_SIGP_STOP - sigp stop; parameter in .stop
2948 KVM_S390_PROGRAM_INT - program check; parameters in .pgm
2949 KVM_S390_SIGP_SET_PREFIX - sigp set prefix; parameters in .prefix
2953 KVM_S390_INT_EMERGENCY - sigp emergency; parameters in .emerg
2954 KVM_S390_INT_EXTERNAL_CALL - sigp external call; parameters in .extcall
2955 KVM_S390_MCHK - machine check interrupt; parameters in .mchk
2972 pending interrupts in a single buffer. Use cases include migration
2983 Userspace passes in the above struct and for each pending interrupt a
2994 Parameters: struct kvm_s390_irq_state (in)
3037 execution by changing fields in kvm_run prior to calling the KVM_RUN
3042 /* in */
3046 interrupts into the guest. Useful in conjunction with KVM_INTERRUPT.
3064 The value of the current interrupt flag. Only valid if in-kernel
3072 VCPU is in system management mode.
3074 /* in (pre_kvm_run), out (post_kvm_run) */
3077 The value of the cr8 register. Only valid if in-kernel local APIC is
3082 The value of the APIC BASE msr. Only valid if in-kernel local
3092 reasons. Further architecture-specific information is available in
3102 available in hardware_entry_failure_reason.
3150 The 'data' member contains, in its first 'len' bytes, the value as it would
3215 in the cpu's lowcore are presented here as defined by the z Architecture
3216 Principles of Operation Book in the Chapter for Dynamic Address Translation
3239 in this struct.
3249 e.g. with the 'pseries' machine type in qemu. It occurs when the
3253 return code in 'ret' and any extra returned values in args[].
3254 The possible hypercalls are defined in the Power Architecture Platform
3285 In case the interrupt controller lives in user space, we need to do
3316 to schedule the reset to occur in the future and may call KVM_RUN again.
3327 Indicates that the VCPU's in-kernel local APIC received an EOI for a
3329 IOAPIC is implemented in userspace (i.e. KVM_CAP_SPLIT_IRQCHIP is enabled);
3362 values in kvm_run even if the corresponding bit in kvm_dirty_regs is not set.
3415 runs in "hypervisor" privilege mode with a few missing features.
3441 safety mechanism, and should be set to the size in bytes of the memory that
3446 contents are undefined, and any modification by userspace results in
3458 - The array consists of all entries in the first TLB, followed by all
3459 entries in the second TLB.
3462 - The hash for determining set number in TLB0 is: (MAS2 >> 12) & (num_sets - 1)
3477 handled in-kernel, while the other I/O instructions are passed to userspace.
3509 This capability connects the vcpu to an in-kernel MPIC device.
3518 This capability connects the vcpu to an in-kernel XICS device.
3526 This capability enables the in-kernel irqchip for s390. Please refer to
3536 allows the Config1.FP bit to be set to enable the FPU in the guest. Once this is
3577 args[1] is 0 to disable, 1 to enable in-kernel handling
3580 get handled by the kernel or not. Enabling or disabling in-kernel
3582 initial set of hcalls are enabled for in-kernel handling, which
3583 consists of those hcalls for which in-kernel handlers were implemented
3590 If the hcall number specified is not one that has an in-kernel
3599 This capability controls which SIGP orders will be handled completely in user
3601 in the kernel:
3608 All other orders will be handled completely in user space.
3610 Only privileged operation exceptions will be checked for in the kernel (or even
3611 in the hardware prior to interception). If this capability is not enabled, the
3612 old way of handling SIGP orders is used (partially in kernel and user space).
3630 initial handling in the kernel, KVM exits to user space with
3633 Before exiting to userspace, kvm handlers should fill in s390_stsi field of
3658 Create a local apic for each processor in the kernel. This can be used
3663 This capability also enables in kernel routing of interrupt requests;
3665 used in the IRQ routing table. The first args[0] MSI routes are reserved
3669 Fails if VCPU has already been created, or if the irqchip is already in the