mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
Update linux headers to 5.11-rc2
Signed-off-by: Eric Farman <farman@linux.ibm.com> Message-Id: <20210104202057.48048-3-farman@linux.ibm.com> [CH: dropped qatomic->atomic changes in pvrdma_ring.h] Signed-off-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
parent
ab5ec23f9c
commit
b3c818a47f
27 changed files with 454 additions and 41 deletions
|
@ -250,6 +250,7 @@ struct kvm_hyperv_exit {
|
|||
#define KVM_EXIT_ARM_NISV 28
|
||||
#define KVM_EXIT_X86_RDMSR 29
|
||||
#define KVM_EXIT_X86_WRMSR 30
|
||||
#define KVM_EXIT_DIRTY_RING_FULL 31
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
/* Emulate instruction failed. */
|
||||
|
@ -1053,6 +1054,8 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_X86_USER_SPACE_MSR 188
|
||||
#define KVM_CAP_X86_MSR_FILTER 189
|
||||
#define KVM_CAP_ENFORCE_PV_FEATURE_CPUID 190
|
||||
#define KVM_CAP_SYS_HYPERV_CPUID 191
|
||||
#define KVM_CAP_DIRTY_LOG_RING 192
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@ -1511,7 +1514,7 @@ struct kvm_enc_region {
|
|||
/* Available with KVM_CAP_MANUAL_DIRTY_LOG_PROTECT_2 */
|
||||
#define KVM_CLEAR_DIRTY_LOG _IOWR(KVMIO, 0xc0, struct kvm_clear_dirty_log)
|
||||
|
||||
/* Available with KVM_CAP_HYPERV_CPUID */
|
||||
/* Available with KVM_CAP_HYPERV_CPUID (vcpu) / KVM_CAP_SYS_HYPERV_CPUID (system) */
|
||||
#define KVM_GET_SUPPORTED_HV_CPUID _IOWR(KVMIO, 0xc1, struct kvm_cpuid2)
|
||||
|
||||
/* Available with KVM_CAP_ARM_SVE */
|
||||
|
@ -1557,6 +1560,9 @@ struct kvm_pv_cmd {
|
|||
/* Available with KVM_CAP_X86_MSR_FILTER */
|
||||
#define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter)
|
||||
|
||||
/* Available with KVM_CAP_DIRTY_LOG_RING */
|
||||
#define KVM_RESET_DIRTY_RINGS _IO(KVMIO, 0xc7)
|
||||
|
||||
/* Secure Encrypted Virtualization command */
|
||||
enum sev_cmd_id {
|
||||
/* Guest initialization commands */
|
||||
|
@ -1710,4 +1716,52 @@ struct kvm_hyperv_eventfd {
|
|||
#define KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE (1 << 0)
|
||||
#define KVM_DIRTY_LOG_INITIALLY_SET (1 << 1)
|
||||
|
||||
/*
|
||||
* Arch needs to define the macro after implementing the dirty ring
|
||||
* feature. KVM_DIRTY_LOG_PAGE_OFFSET should be defined as the
|
||||
* starting page offset of the dirty ring structures.
|
||||
*/
|
||||
#ifndef KVM_DIRTY_LOG_PAGE_OFFSET
|
||||
#define KVM_DIRTY_LOG_PAGE_OFFSET 0
|
||||
#endif
|
||||
|
||||
/*
|
||||
* KVM dirty GFN flags, defined as:
|
||||
*
|
||||
* |---------------+---------------+--------------|
|
||||
* | bit 1 (reset) | bit 0 (dirty) | Status |
|
||||
* |---------------+---------------+--------------|
|
||||
* | 0 | 0 | Invalid GFN |
|
||||
* | 0 | 1 | Dirty GFN |
|
||||
* | 1 | X | GFN to reset |
|
||||
* |---------------+---------------+--------------|
|
||||
*
|
||||
* Lifecycle of a dirty GFN goes like:
|
||||
*
|
||||
* dirtied harvested reset
|
||||
* 00 -----------> 01 -------------> 1X -------+
|
||||
* ^ |
|
||||
* | |
|
||||
* +------------------------------------------+
|
||||
*
|
||||
* The userspace program is only responsible for the 01->1X state
|
||||
* conversion after harvesting an entry. Also, it must not skip any
|
||||
* dirty bits, so that dirty bits are always harvested in sequence.
|
||||
*/
|
||||
#define KVM_DIRTY_GFN_F_DIRTY BIT(0)
|
||||
#define KVM_DIRTY_GFN_F_RESET BIT(1)
|
||||
#define KVM_DIRTY_GFN_F_MASK 0x3
|
||||
|
||||
/*
|
||||
* KVM dirty rings should be mapped at KVM_DIRTY_LOG_PAGE_OFFSET of
|
||||
* per-vcpu mmaped regions as an array of struct kvm_dirty_gfn. The
|
||||
* size of the gfn buffer is decided by the first argument when
|
||||
* enabling KVM_CAP_DIRTY_LOG_RING.
|
||||
*/
|
||||
struct kvm_dirty_gfn {
|
||||
__u32 flags;
|
||||
__u32 slot;
|
||||
__u64 offset;
|
||||
};
|
||||
|
||||
#endif /* __LINUX_KVM_H */
|
||||
|
|
|
@ -257,4 +257,13 @@ struct uffdio_writeprotect {
|
|||
__u64 mode;
|
||||
};
|
||||
|
||||
/*
|
||||
* Flags for the userfaultfd(2) system call itself.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Create a userfaultfd that can handle page faults only in user mode.
|
||||
*/
|
||||
#define UFFD_USER_MODE_ONLY 1
|
||||
|
||||
#endif /* _LINUX_USERFAULTFD_H */
|
||||
|
|
|
@ -820,6 +820,7 @@ enum {
|
|||
enum {
|
||||
VFIO_CCW_IO_IRQ_INDEX,
|
||||
VFIO_CCW_CRW_IRQ_INDEX,
|
||||
VFIO_CCW_REQ_IRQ_INDEX,
|
||||
VFIO_CCW_NUM_IRQS
|
||||
};
|
||||
|
||||
|
|
|
@ -146,4 +146,8 @@
|
|||
|
||||
/* Set event fd for config interrupt*/
|
||||
#define VHOST_VDPA_SET_CONFIG_CALL _IOW(VHOST_VIRTIO, 0x77, int)
|
||||
|
||||
/* Get the valid iova range */
|
||||
#define VHOST_VDPA_GET_IOVA_RANGE _IOR(VHOST_VIRTIO, 0x78, \
|
||||
struct vhost_vdpa_iova_range)
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue