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
263 Parameters: struct kvm_memory_alias (in)
298 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */
308 /* out (KVM_GET_REGS) / in (KVM_SET_REGS) */
321 Parameters: struct kvm_regs (in)
362 Parameters: struct kvm_sregs (in)
374 Parameters: struct kvm_translation (in/out)
381 /* in */
398 Parameters: struct kvm_interrupt (in)
402 useful if in-kernel local APIC or equivalent is not used.
406 /* in */
463 Parameters: struct kvm_msrs (in/out)
470 __u32 nmsrs; /* number of msrs in entries */
484 kvm will fill in the 'data' member.
492 Parameters: struct kvm_msrs (in)
508 Parameters: struct kvm_cpuid (in)
537 Parameters: struct kvm_signal_mask (in)
570 __u8 ftwx; /* in fxsave format */
586 Parameters: struct kvm_fpu (in)
596 __u8 ftwx; /* in fxsave format */
615 Creates an interrupt controller model in the kernel.
636 Sets the level of a GSI input to the interrupt controller model in the kernel.
647 to consider the polarity. However, due to bitrot in the handling of
651 capability is present (or unless it is not using the in-kernel irqchip,
656 in-kernel irqchip (GIC), and for in-kernel irqchip can tell the GIC to
665 - irq_type[1]: in-kernel GIC: SPI, irq_id between 32 and 1019 (incl.)
667 - irq_type[2]: in-kernel GIC: PPI, irq_id between 16 and 31 (incl.)
669 (The irq_id field thus corresponds nicely to the IRQ ID in the ARM GIC specs)
687 Parameters: struct kvm_irqchip (in/out)
709 Parameters: struct kvm_irqchip (in)
731 Parameters: struct kvm_xen_hvm_config (in)
736 blobs in userspace. When the guest writes the MSR, kvm copies one
775 Parameters: struct kvm_clock_data (in)
778 Sets the current timestamp of kvmclock to the value specified in its parameter.
825 KVM_VCPUEVENT_VALID_SHADOW may be set in the flags field to signal that
835 Parameters: struct kvm_vcpu_event (in)
845 corresponding bits in the flags field cleared to suppress overwriting the
846 current in-kernel state. The bits are:
851 If KVM_CAP_INTR_SHADOW is available, KVM_VCPUEVENT_VALID_SHADOW can be set in
880 Parameters: struct kvm_debugregs (in)
894 Parameters: struct kvm_userspace_memory_region (in)
910 slot. When changing an existing slot, it may be moved in the guest
912 resized. Slots may not overlap in guest physical address space.
920 be identical. This allows large pages in the guest to be backed by large
921 pages in the host.
930 When the KVM_CAP_SYNC_MMU capability is available, changes in the backing of
945 Parameters: unsigned long tss_address (in)
948 This ioctl defines the physical address of a three-page region in the guest
955 because of a quirk in the virtualization implementation (see the internals
964 Parameters: struct kvm_enable_cap (in)
977 /* in */
1024 - KVM_MP_STATE_CHECK_STOP: the vcpu is in a special error state [s390]
1027 - KVM_MP_STATE_LOAD: the vcpu is in a special load/startup state
1031 in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1044 Parameters: struct kvm_mp_state (in)
1051 in-kernel irqchip, the multiprocessing state must be maintained by userspace on
1064 Parameters: unsigned long identity (in)
1067 This ioctl defines the physical address of a one-page region in the guest
1074 because of a quirk in the virtualization implementation (see the internals
1087 as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default
1111 Parameters: struct kvm_xsave (in)
1150 Parameters: struct kvm_xcrs (in)
1174 Parameters: struct kvm_cpuid2 (in/out)
1206 with the 'nent' field indicating the number of entries in the variable-size
1211 entries in the 'entries' array, which is then filled.
1215 x2apic), may not be present in the host cpu, but are exposed by kvm if it can
1216 emulate them efficiently. The fields in each entry are defined as follows:
1241 feature in userspace, then you can enable the feature for KVM_SET_CPUID2.
1264 additional piece of information will be set in the flags bitmap.
1276 Parameters: struct kvm_assigned_pci_dev (in)
1293 Identification in succeeding service requests is done via assigned_dev_id. The
1326 Parameters: struct kvm_assigned_pci_dev (in)
1332 used in kvm_assigned_pci_dev to identify the device.
1345 Parameters: struct kvm_assigned_irq (in)
1385 Parameters: struct kvm_assigned_irq (in)
1400 Parameters: struct kvm_irq_routing (in)
1459 Parameters: struct kvm_assigned_msix_nr (in)
1481 Parameters: struct kvm_assigned_msix_entry (in)
1490 __u16 entry; /* The index of entry in the MSI-X table */
1540 data format and layout are the same as documented in the architecture manual.
1548 Parameters: struct kvm_lapic_state (in)
1557 and layout are the same as documented in the architecture manual.
1565 Parameters: struct kvm_ioeventfd (in)
1569 within the guest. A guest write in the registered address will signal the
1593 to the registered address is equal to datamatch in struct kvm_ioeventfd.
1604 Parameters: struct kvm_dirty_tlb (in)
1612 This must be called whenever userspace has changed an entry in the shared
1620 Each bit corresponds to one TLB entry, ordered the same as in the shared TLB
1629 be set to the number of set bits in the bitmap.
1637 Parameters: struct kvm_assigned_pci_dev (in)
1647 read value of the INTx disable bit in the guest visible PCI command register.
1657 INTx disable bit are handled lazily in the kernel. It's possible the device
1671 Parameters: struct kvm_create_spapr_tce (in)
1676 logical addresses used in virtual I/O into guest physical addresses,
1692 in real mode, updating the TCE table. H_PUT_TCE calls for other
1698 userspace update the TCE table directly which is useful in some
1713 will be accessed by real-mode (MMU off) accesses in a KVM guest.
1725 RMA for a virtual machine. The size of the RMA in bytes (which is
1726 fixed at host kernel boot time) is returned in the rma_size field of
1757 Some guests configure the LINT1 NMI input to cause a panic, aiding in
1766 Parameters: struct kvm_s390_ucas_mapping (in)
1767 Returns: 0 in case of success
1786 Parameters: struct kvm_s390_ucas_mapping (in)
1787 Returns: 0 in case of success
1796 This ioctl unmaps the memory in the vcpu's address space starting at
1806 Parameters: vcpu absolute address (in)
1807 Returns: 0 in case of success
1814 controlled virtual machines to fault in the virtual cpu's lowcore pages
1823 Parameters: struct kvm_one_reg (in)
1832 defined by user space with the passed in struct kvm_one_reg, where id
2026 value in the kvm_regs structure seen as a 32bit array.
2075 Parameters: struct kvm_one_reg (in and out)
2079 in a vcpu. The register to read is indicated by the "id" field of the
2080 kvm_one_reg struct passed in. On success, the register value can be found
2084 list in 4.68.
2096 userspace. The host will set a flag in the pvclock structure that is checked
2113 Parameters: struct kvm_msi (in)
2116 Directly inject a MSI message. Only valid with in-kernel irqchip that handles
2135 Parameters: struct kvm_pit_config (in)
2138 Creates an in-kernel device model for the i8254 PIT. This call is only valid
2139 after enabling in-kernel irqchip support via KVM_CREATE_IRQCHIP. The following
2170 Retrieves the state of the in-kernel PIT model. Only valid after
2171 KVM_CREATE_PIT2. The state is returned in the following structure:
2181 /* disable PIT in HPET legacy mode */
2192 Parameters: struct kvm_pit_state2 (in)
2195 Sets the state of the in-kernel PIT model. Only valid after KVM_CREATE_PIT2.
2211 This can in turn be used by userspace to generate the appropriate
2228 store page sizes. When not set, any page size in the list can
2232 The emulated MMU supports 1T segments in addition to the
2238 page sizes for a segment in increasing order. Each entry is defined
2248 organized in increasing order, a lookup can stop when encoutering
2251 The "slb_enc" field provides the encoding to use in the SLB for the
2252 page size. The bits are in positions such as the value can directly
2258 corresponding encoding in the hash PTE. Similarly, the array is
2264 __u32 pte_enc; /* Encoding in the HPTE (>>12) */
2276 Parameters: struct kvm_irqfd (in)
2290 additional eventfd in the kvm_irqfd.resamplefd field. When operating
2291 in resample mode, posting of an interrupt through kvm_irq.fd asserts
2292 the specified gsi in the irqchip. When the irqchip is resampled, such
2300 On ARM/ARM64, the gsi field in the kvm_irqfd struct specifies the Shared
2309 Parameters: Pointer to u32 containing hash table order (in/out)
2334 return the hash table order in the parameter. (If the guest is using
2343 Parameters: struct kvm_s390_interrupt (in)
2359 KVM_S390_SIGP_STOP (vcpu) - sigp stop; optional flags in parm
2360 KVM_S390_PROGRAM_INT (vcpu) - program check; code in parm
2361 KVM_S390_SIGP_SET_PREFIX (vcpu) - sigp set prefix; prefix address in parm
2366 parameters in parm and parm64
2367 KVM_S390_INT_SERVICE (vm) - sclp external interrupt; sclp parameter in parm
2368 KVM_S390_INT_EMERGENCY (vcpu) - sigp emergency; source cpu in parm
2369 KVM_S390_INT_EXTERNAL_CALL (vcpu) - sigp external call; source cpu in parm
2372 I/O interruption parameters in parm (subchannel) and parm64 (intparm,
2374 KVM_S390_MCHK (vm, vcpu) - machine check interrupt; cr 14 bits in parm,
2375 machine check interrupt code in parm64 (note that
2386 Parameters: Pointer to struct kvm_get_htab_fd (in)
2390 entries in the guest's hashed page table (HPT), or to write entries to
2392 KVM_GET_HTAB_WRITE bit is set in the flags field of the argument, and
2407 The `start_index' field gives the index in the HPT of the entry at
2422 in the stream. The header format is:
2430 Writes to the fd create HPT entries starting at the index given in the
2439 Parameters: struct kvm_create_device (in/out)
2449 Creates an emulated device in the kernel. The file descriptor returned
2450 in fd can be used with KVM_SET/GET/HAS_DEVICE_ATTR.
2454 in the current vm).
2461 __u32 type; /* in: KVM_DEV_TYPE_xxx */
2463 __u32 flags; /* in: KVM_CREATE_DEVICE_xxx */
2476 sense when the device is in a different state)
2481 semantics are device-specific. See individual device documentation in
2503 indicate that the attribute can be read or written in the device's
2511 Parameters: struct kvm_vcpu_init (in)
2531 - KVM_ARM_VCPU_POWER_OFF: Starts the CPU in a power-off state.
2534 - KVM_ARM_VCPU_EL1_32BIT: Starts the CPU in a 32bit mode.
2560 of struct kvm_vcpu_init for KVM_ARM_VCPU_INIT ioctl which will result in
2561 in VCPU matching underlying host.
2569 Parameters: struct kvm_reg_list (in/out)
2572 E2BIG: the reg index list is too big to fit in the array specified by
2576 __u64 n; /* number of registers in reg[] */
2589 Parameters: struct kvm_arm_device_address (in)
2603 Specify a device address in the guest's physical address space where guests
2614 ARM/arm64 currently only require this when using the in-kernel GIC
2635 service in order to allow it to be handled in the kernel. The
2650 Parameters: struct kvm_guest_debug (in)
2677 are enabled in memory so we need to ensure breakpoint exceptions are
2695 Parameters: struct kvm_cpuid2 (in/out)
2726 structure with the 'nent' field indicating the number of entries in
2731 to the number of valid entries in the 'entries' array, which is then
2738 Features like x2apic, for example, may not be present in the host cpu
2739 but are exposed by kvm in KVM_GET_SUPPORTED_CPUID because they can be
2742 The fields in each entry are defined as follows:
2765 Parameters: struct kvm_s390_mem_op (in)
2779 __u64 buf; /* buffer in userspace */
2784 The type of operation is specified in the "op" field. It is either
2787 KVM_S390_MEMOP_F_CHECK_ONLY flag can be set in the "flags" field to check
2789 (without touching the data in the memory at the destination). In case an
2793 flag KVM_S390_MEMOP_F_INJECT_EXCEPTION is set in the "flags" field.
2795 The start address of the memory region has to be specified in the "gaddr"
2796 field, and the length of the region in the "size" field. "buf" is the buffer
2858 storage keys. Each byte in the buffer will be set as the storage key for a
2861 Note: If any architecturally invalid key value is found in the given data then
2869 Parameters: struct kvm_s390_irq (in)
2906 KVM_S390_SIGP_STOP - sigp stop; parameter in .stop
2907 KVM_S390_PROGRAM_INT - program check; parameters in .pgm
2908 KVM_S390_SIGP_SET_PREFIX - sigp set prefix; parameters in .prefix
2912 KVM_S390_INT_EMERGENCY - sigp emergency; parameters in .emerg
2913 KVM_S390_INT_EXTERNAL_CALL - sigp external call; parameters in .extcall
2914 KVM_S390_MCHK - machine check interrupt; parameters in .mchk
2931 pending interrupts in a single buffer. Use cases include migration
2942 Userspace passes in the above struct and for each pending interrupt a
2953 Parameters: struct kvm_s390_irq_state (in)
2986 execution by changing fields in kvm_run prior to calling the KVM_RUN
2991 /* in */
2995 interrupts into the guest. Useful in conjunction with KVM_INTERRUPT.
3013 The value of the current interrupt flag. Only valid if in-kernel
3018 /* in (pre_kvm_run), out (post_kvm_run) */
3021 The value of the cr8 register. Only valid if in-kernel local APIC is
3026 The value of the APIC BASE msr. Only valid if in-kernel local
3036 reasons. Further architecture-specific information is available in
3046 available in hardware_entry_failure_reason.
3092 The 'data' member contains, in its first 'len' bytes, the value as it would
3157 in the cpu's lowcore are presented here as defined by the z Architecture
3158 Principles of Operation Book in the Chapter for Dynamic Address Translation
3181 in this struct.
3191 e.g. with the 'pseries' machine type in qemu. It occurs when the
3195 return code in 'ret' and any extra returned values in args[].
3196 The possible hypercalls are defined in the Power Architecture Platform
3227 In case the interrupt controller lives in user space, we need to do
3257 to schedule the reset to occur in the future and may call KVM_RUN again.
3287 values in kvm_run even if the corresponding bit in kvm_dirty_regs is not set.
3340 runs in "hypervisor" privilege mode with a few missing features.
3366 safety mechanism, and should be set to the size in bytes of the memory that
3371 contents are undefined, and any modification by userspace results in
3383 - The array consists of all entries in the first TLB, followed by all
3384 entries in the second TLB.
3387 - The hash for determining set number in TLB0 is: (MAS2 >> 12) & (num_sets - 1)
3402 handled in-kernel, while the other I/O instructions are passed to userspace.
3434 This capability connects the vcpu to an in-kernel MPIC device.
3443 This capability connects the vcpu to an in-kernel XICS device.
3451 This capability enables the in-kernel irqchip for s390. Please refer to
3461 allows the Config1.FP bit to be set to enable the FPU in the guest. Once this is
3502 args[1] is 0 to disable, 1 to enable in-kernel handling
3505 get handled by the kernel or not. Enabling or disabling in-kernel
3507 initial set of hcalls are enabled for in-kernel handling, which
3508 consists of those hcalls for which in-kernel handlers were implemented
3515 If the hcall number specified is not one that has an in-kernel
3524 This capability controls which SIGP orders will be handled completely in user
3526 in the kernel:
3533 All other orders will be handled completely in user space.
3535 Only privileged operation exceptions will be checked for in the kernel (or even
3536 in the hardware prior to interception). If this capability is not enabled, the
3537 old way of handling SIGP orders is used (partially in kernel and user space).
3555 initial handling in the kernel, KVM exits to user space with
3558 Before exiting to userspace, kvm handlers should fill in s390_stsi field of