mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
linux-headers: Update
Update to mainline commit: 79160a603bdb ("Merge tag 'usb-5.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb" Signed-off-by: Bharata B Rao <bharata@linux.ibm.com> Message-Id: <20210706112440.1449562-2-bharata@linux.ibm.com> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
21bde1ecb6
commit
327d4b7f3f
23 changed files with 197 additions and 17 deletions
|
@ -280,6 +280,9 @@ struct kvm_xen_exit {
|
|||
/* Encounter unexpected vm-exit reason */
|
||||
#define KVM_INTERNAL_ERROR_UNEXPECTED_EXIT_REASON 4
|
||||
|
||||
/* Flags that describe what fields in emulation_failure hold valid data. */
|
||||
#define KVM_INTERNAL_ERROR_EMULATION_FLAG_INSTRUCTION_BYTES (1ULL << 0)
|
||||
|
||||
/* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */
|
||||
struct kvm_run {
|
||||
/* in */
|
||||
|
@ -383,6 +386,25 @@ struct kvm_run {
|
|||
__u32 ndata;
|
||||
__u64 data[16];
|
||||
} internal;
|
||||
/*
|
||||
* KVM_INTERNAL_ERROR_EMULATION
|
||||
*
|
||||
* "struct emulation_failure" is an overlay of "struct internal"
|
||||
* that is used for the KVM_INTERNAL_ERROR_EMULATION sub-type of
|
||||
* KVM_EXIT_INTERNAL_ERROR. Note, unlike other internal error
|
||||
* sub-types, this struct is ABI! It also needs to be backwards
|
||||
* compatible with "struct internal". Take special care that
|
||||
* "ndata" is correct, that new fields are enumerated in "flags",
|
||||
* and that each flag enumerates fields that are 64-bit aligned
|
||||
* and sized (so that ndata+internal.data[] is valid/accurate).
|
||||
*/
|
||||
struct {
|
||||
__u32 suberror;
|
||||
__u32 ndata;
|
||||
__u64 flags;
|
||||
__u8 insn_size;
|
||||
__u8 insn_bytes[15];
|
||||
} emulation_failure;
|
||||
/* KVM_EXIT_OSI */
|
||||
struct {
|
||||
__u64 gprs[32];
|
||||
|
@ -1083,6 +1105,13 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_SGX_ATTRIBUTE 196
|
||||
#define KVM_CAP_VM_COPY_ENC_CONTEXT_FROM 197
|
||||
#define KVM_CAP_PTP_KVM 198
|
||||
#define KVM_CAP_HYPERV_ENFORCE_CPUID 199
|
||||
#define KVM_CAP_SREGS2 200
|
||||
#define KVM_CAP_EXIT_HYPERCALL 201
|
||||
#define KVM_CAP_PPC_RPT_INVALIDATE 202
|
||||
#define KVM_CAP_BINARY_STATS_FD 203
|
||||
#define KVM_CAP_EXIT_ON_EMULATION_FAILURE 204
|
||||
#define KVM_CAP_ARM_MTE 205
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@ -1428,6 +1457,7 @@ struct kvm_s390_ucas_mapping {
|
|||
/* Available with KVM_CAP_PMU_EVENT_FILTER */
|
||||
#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_pmu_event_filter)
|
||||
#define KVM_PPC_SVM_OFF _IO(KVMIO, 0xb3)
|
||||
#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
|
||||
|
||||
/* ioctl for vm fd */
|
||||
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
||||
|
@ -1621,6 +1651,9 @@ struct kvm_xen_hvm_attr {
|
|||
#define KVM_XEN_VCPU_GET_ATTR _IOWR(KVMIO, 0xca, struct kvm_xen_vcpu_attr)
|
||||
#define KVM_XEN_VCPU_SET_ATTR _IOW(KVMIO, 0xcb, struct kvm_xen_vcpu_attr)
|
||||
|
||||
#define KVM_GET_SREGS2 _IOR(KVMIO, 0xcc, struct kvm_sregs2)
|
||||
#define KVM_SET_SREGS2 _IOW(KVMIO, 0xcd, struct kvm_sregs2)
|
||||
|
||||
struct kvm_xen_vcpu_attr {
|
||||
__u16 type;
|
||||
__u16 pad[3];
|
||||
|
@ -1899,4 +1932,76 @@ struct kvm_dirty_gfn {
|
|||
#define KVM_BUS_LOCK_DETECTION_OFF (1 << 0)
|
||||
#define KVM_BUS_LOCK_DETECTION_EXIT (1 << 1)
|
||||
|
||||
/**
|
||||
* struct kvm_stats_header - Header of per vm/vcpu binary statistics data.
|
||||
* @flags: Some extra information for header, always 0 for now.
|
||||
* @name_size: The size in bytes of the memory which contains statistics
|
||||
* name string including trailing '\0'. The memory is allocated
|
||||
* at the send of statistics descriptor.
|
||||
* @num_desc: The number of statistics the vm or vcpu has.
|
||||
* @id_offset: The offset of the vm/vcpu stats' id string in the file pointed
|
||||
* by vm/vcpu stats fd.
|
||||
* @desc_offset: The offset of the vm/vcpu stats' descriptor block in the file
|
||||
* pointd by vm/vcpu stats fd.
|
||||
* @data_offset: The offset of the vm/vcpu stats' data block in the file
|
||||
* pointed by vm/vcpu stats fd.
|
||||
*
|
||||
* This is the header userspace needs to read from stats fd before any other
|
||||
* readings. It is used by userspace to discover all the information about the
|
||||
* vm/vcpu's binary statistics.
|
||||
* Userspace reads this header from the start of the vm/vcpu's stats fd.
|
||||
*/
|
||||
struct kvm_stats_header {
|
||||
__u32 flags;
|
||||
__u32 name_size;
|
||||
__u32 num_desc;
|
||||
__u32 id_offset;
|
||||
__u32 desc_offset;
|
||||
__u32 data_offset;
|
||||
};
|
||||
|
||||
#define KVM_STATS_TYPE_SHIFT 0
|
||||
#define KVM_STATS_TYPE_MASK (0xF << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_CUMULATIVE (0x0 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_INSTANT (0x1 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_PEAK (0x2 << KVM_STATS_TYPE_SHIFT)
|
||||
#define KVM_STATS_TYPE_MAX KVM_STATS_TYPE_PEAK
|
||||
|
||||
#define KVM_STATS_UNIT_SHIFT 4
|
||||
#define KVM_STATS_UNIT_MASK (0xF << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_NONE (0x0 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_BYTES (0x1 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_SECONDS (0x2 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_CYCLES (0x3 << KVM_STATS_UNIT_SHIFT)
|
||||
#define KVM_STATS_UNIT_MAX KVM_STATS_UNIT_CYCLES
|
||||
|
||||
#define KVM_STATS_BASE_SHIFT 8
|
||||
#define KVM_STATS_BASE_MASK (0xF << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_POW10 (0x0 << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_POW2 (0x1 << KVM_STATS_BASE_SHIFT)
|
||||
#define KVM_STATS_BASE_MAX KVM_STATS_BASE_POW2
|
||||
|
||||
/**
|
||||
* struct kvm_stats_desc - Descriptor of a KVM statistics.
|
||||
* @flags: Annotations of the stats, like type, unit, etc.
|
||||
* @exponent: Used together with @flags to determine the unit.
|
||||
* @size: The number of data items for this stats.
|
||||
* Every data item is of type __u64.
|
||||
* @offset: The offset of the stats to the start of stat structure in
|
||||
* struture kvm or kvm_vcpu.
|
||||
* @unused: Unused field for future usage. Always 0 for now.
|
||||
* @name: The name string for the stats. Its size is indicated by the
|
||||
* &kvm_stats_header->name_size.
|
||||
*/
|
||||
struct kvm_stats_desc {
|
||||
__u32 flags;
|
||||
__s16 exponent;
|
||||
__u16 size;
|
||||
__u32 offset;
|
||||
__u32 unused;
|
||||
char name[];
|
||||
};
|
||||
|
||||
#define KVM_GET_STATS_FD _IO(KVMIO, 0xce)
|
||||
|
||||
#endif /* __LINUX_KVM_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue