History

tools headers UAPI: Sync linux/kvm.h with the kernel sources

To pick the changes in: bfbab44568779e16 ("KVM: arm64: Implement PSCI SYSTEM_SUSPEND") 7b33a09d036ffd9a ("KVM: arm64: Add support for userspace to suspend a vCPU") ffbb61d09fc56c85 ("KVM: x86: Accept KVM_[GS]ET_TSC_KHZ as a VM ioctl.") 661a20fab7d156cf ("KVM: x86/xen: Advertise and document KVM_XEN_HVM_CONFIG_EVTCHN_SEND") fde0451be8fb3208 ("KVM: x86/xen: Support per-vCPU event channel upcall via local APIC") 28d1629f751c4a5f ("KVM: x86/xen: Kernel acceleration for XENVER_version") 536395260582be74 ("KVM: x86/xen: handle PV timers oneshot mode") 942c2490c23f2800 ("KVM: x86/xen: Add KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID") 2fd6df2f2b47d430 ("KVM: x86/xen: intercept EVTCHNOP_send from guests") 35025735a79eaa89 ("KVM: x86/xen: Support direct injection of event channel events") That automatically adds support for this new ioctl: $ tools/perf/trace/beauty/kvm_ioctl.sh > before $ cp include/uapi/linux/kvm.h tools/include/uapi/linux/kvm.h $ tools/perf/trace/beauty/kvm_ioctl.sh > after $ diff -u before after --- before 2022-06-28 12:13:07.281150509 -0300 +++ after 2022-06-28 12:13:16.423392896 -0300 @@ -98,6 +98,7 @@ [0xcc] = "GET_SREGS2", [0xcd] = "SET_SREGS2", [0xce] = "GET_STATS_FD", + [0xd0] = "XEN_HVM_EVTCHN_SEND", [0xe0] = "CREATE_DEVICE", [0xe1] = "SET_DEVICE_ATTR", [0xe2] = "GET_DEVICE_ATTR", $ This silences these perf build warning: Warning: Kernel ABI header at 'tools/include/uapi/linux/kvm.h' differs from latest version at 'include/uapi/linux/kvm.h' diff -u tools/include/uapi/linux/kvm.h include/uapi/linux/kvm.h

Arnaldo Carvalho de Melo committed 5 years ago

Commit 7fe718f1 parent 579d6c61 file · +52 −2Browse files

Showing the changes to tools/include/uapi/linux (1 of 1 file). Show all

Unified · Split

tools/include/uapi/linux/kvm.h+52−2
@@ -444,6 +444,9 @@ struct kvm_run { · 443 unmodified lines
444#define KVM_SYSTEM_EVENT_SHUTDOWN 1444#define KVM_SYSTEM_EVENT_SHUTDOWN 1
445#define KVM_SYSTEM_EVENT_RESET 2445#define KVM_SYSTEM_EVENT_RESET 2
446#define KVM_SYSTEM_EVENT_CRASH 3446#define KVM_SYSTEM_EVENT_CRASH 3
447#define KVM_SYSTEM_EVENT_WAKEUP 4
448#define KVM_SYSTEM_EVENT_SUSPEND 5
449#define KVM_SYSTEM_EVENT_SEV_TERM 6
447 __u32 type;450 __u32 type;
448 __u32 ndata;451 __u32 ndata;
449 union {452 union {
@@ -646,6 +649,7 @@ struct kvm_vapic_addr { · 196 unmodified lines
646#define KVM_MP_STATE_OPERATING 7649#define KVM_MP_STATE_OPERATING 7
647#define KVM_MP_STATE_LOAD 8650#define KVM_MP_STATE_LOAD 8
648#define KVM_MP_STATE_AP_RESET_HOLD 9651#define KVM_MP_STATE_AP_RESET_HOLD 9
652#define KVM_MP_STATE_SUSPENDED 10
649 653
650struct kvm_mp_state {654struct kvm_mp_state {
651 __u32 mp_state;655 __u32 mp_state;
@@ -1150,8 +1154,9 @@ struct kvm_ppc_resize_hpt { · 498 unmodified lines
1150#define KVM_CAP_S390_MEM_OP_EXTENSION 2111154#define KVM_CAP_S390_MEM_OP_EXTENSION 211
1151#define KVM_CAP_PMU_CAPABILITY 2121155#define KVM_CAP_PMU_CAPABILITY 212
1152#define KVM_CAP_DISABLE_QUIRKS2 2131156#define KVM_CAP_DISABLE_QUIRKS2 213
1153/* #define KVM_CAP_VM_TSC_CONTROL 214 */1157#define KVM_CAP_VM_TSC_CONTROL 214
1154#define KVM_CAP_SYSTEM_EVENT_DATA 2151158#define KVM_CAP_SYSTEM_EVENT_DATA 215
1159#define KVM_CAP_ARM_SYSTEM_SUSPEND 216
1155 1160
1156#ifdef KVM_CAP_IRQ_ROUTING1161#ifdef KVM_CAP_IRQ_ROUTING
1157 1162
@@ -1240,6 +1245,7 @@ struct kvm_x86_mce { · 82 unmodified lines
1240#define KVM_XEN_HVM_CONFIG_SHARED_INFO (1 << 2)1245#define KVM_XEN_HVM_CONFIG_SHARED_INFO (1 << 2)
1241#define KVM_XEN_HVM_CONFIG_RUNSTATE (1 << 3)1246#define KVM_XEN_HVM_CONFIG_RUNSTATE (1 << 3)
1242#define KVM_XEN_HVM_CONFIG_EVTCHN_2LEVEL (1 << 4)1247#define KVM_XEN_HVM_CONFIG_EVTCHN_2LEVEL (1 << 4)
1248#define KVM_XEN_HVM_CONFIG_EVTCHN_SEND (1 << 5)
1243 1249
1244struct kvm_xen_hvm_config {1250struct kvm_xen_hvm_config {
1245 __u32 flags;1251 __u32 flags;
@@ -1478,7 +1484,8 @@ struct kvm_s390_ucas_mapping { · 232 unmodified lines
1478#define KVM_SET_PIT2 _IOW(KVMIO, 0xa0, struct kvm_pit_state2)1484#define KVM_SET_PIT2 _IOW(KVMIO, 0xa0, struct kvm_pit_state2)
1479/* Available with KVM_CAP_PPC_GET_PVINFO */1485/* Available with KVM_CAP_PPC_GET_PVINFO */
1480#define KVM_PPC_GET_PVINFO _IOW(KVMIO, 0xa1, struct kvm_ppc_pvinfo)1486#define KVM_PPC_GET_PVINFO _IOW(KVMIO, 0xa1, struct kvm_ppc_pvinfo)
1481/* Available with KVM_CAP_TSC_CONTROL */1487/* Available with KVM_CAP_TSC_CONTROL for a vCPU, or with
1488* KVM_CAP_VM_TSC_CONTROL to set defaults for a VM */
1482#define KVM_SET_TSC_KHZ _IO(KVMIO, 0xa2)1489#define KVM_SET_TSC_KHZ _IO(KVMIO, 0xa2)
1483#define KVM_GET_TSC_KHZ _IO(KVMIO, 0xa3)1490#define KVM_GET_TSC_KHZ _IO(KVMIO, 0xa3)
1484/* Available with KVM_CAP_PCI_2_3 */1491/* Available with KVM_CAP_PCI_2_3 */
@@ -1694,6 +1701,32 @@ struct kvm_xen_hvm_attr { · 209 unmodified lines
1694 struct {1701 struct {
1695 __u64 gfn;1702 __u64 gfn;
1696 } shared_info;1703 } shared_info;
1704 struct {
1705 __u32 send_port;
1706 __u32 type; /* EVTCHNSTAT_ipi / EVTCHNSTAT_interdomain */
1707 __u32 flags;
1708#define KVM_XEN_EVTCHN_DEASSIGN (1 << 0)
1709#define KVM_XEN_EVTCHN_UPDATE (1 << 1)
1710#define KVM_XEN_EVTCHN_RESET (1 << 2)
1711 /*
1712 * Events sent by the guest are either looped back to
1713 * the guest itself (potentially on a different port#)
1714 * or signalled via an eventfd.
1715 */
1716 union {
1717 struct {
1718 __u32 port;
1719 __u32 vcpu;
1720 __u32 priority;
1721 } port;
1722 struct {
1723 __u32 port; /* Zero for eventfd */
1724 __s32 fd;
1725 } eventfd;
1726 __u32 padding[4];
1727 } deliver;
1728 } evtchn;
1729 __u32 xen_version;
1697 __u64 pad[8];1730 __u64 pad[8];
1698 } u;1731 } u;
1699};1732};
@@ -1702,11 +1735,17 @@ struct kvm_xen_hvm_attr { · 2 unmodified lines
1702#define KVM_XEN_ATTR_TYPE_LONG_MODE 0x01735#define KVM_XEN_ATTR_TYPE_LONG_MODE 0x0
1703#define KVM_XEN_ATTR_TYPE_SHARED_INFO 0x11736#define KVM_XEN_ATTR_TYPE_SHARED_INFO 0x1
1704#define KVM_XEN_ATTR_TYPE_UPCALL_VECTOR 0x21737#define KVM_XEN_ATTR_TYPE_UPCALL_VECTOR 0x2
1738/* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */
1739#define KVM_XEN_ATTR_TYPE_EVTCHN 0x3
1740#define KVM_XEN_ATTR_TYPE_XEN_VERSION 0x4
1705 1741
1706/* Per-vCPU Xen attributes */1742/* Per-vCPU Xen attributes */
1707#define KVM_XEN_VCPU_GET_ATTR _IOWR(KVMIO, 0xca, struct kvm_xen_vcpu_attr)1743#define KVM_XEN_VCPU_GET_ATTR _IOWR(KVMIO, 0xca, struct kvm_xen_vcpu_attr)
1708#define KVM_XEN_VCPU_SET_ATTR _IOW(KVMIO, 0xcb, struct kvm_xen_vcpu_attr)1744#define KVM_XEN_VCPU_SET_ATTR _IOW(KVMIO, 0xcb, struct kvm_xen_vcpu_attr)
1709 1745
1746/* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */
1747#define KVM_XEN_HVM_EVTCHN_SEND _IOW(KVMIO, 0xd0, struct kvm_irq_routing_xen_evtchn)
1748
1710#define KVM_GET_SREGS2 _IOR(KVMIO, 0xcc, struct kvm_sregs2)1749#define KVM_GET_SREGS2 _IOR(KVMIO, 0xcc, struct kvm_sregs2)
1711#define KVM_SET_SREGS2 _IOW(KVMIO, 0xcd, struct kvm_sregs2)1750#define KVM_SET_SREGS2 _IOW(KVMIO, 0xcd, struct kvm_sregs2)
1712 1751
@@ -1724,6 +1763,13 @@ struct kvm_xen_vcpu_attr { · 11 unmodified lines
1724 __u64 time_blocked;1763 __u64 time_blocked;
1725 __u64 time_offline;1764 __u64 time_offline;
1726 } runstate;1765 } runstate;
1766 __u32 vcpu_id;
1767 struct {
1768 __u32 port;
1769 __u32 priority;
1770 __u64 expires_ns;
1771 } timer;
1772 __u8 vector;
1727 } u;1773 } u;
1728};1774};
1729 1775
@@ -1734,6 +1780,10 @@ struct kvm_xen_vcpu_attr { · 4 unmodified lines
1734#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT 0x31780#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT 0x3
1735#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA 0x41781#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_DATA 0x4
1736#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST 0x51782#define KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_ADJUST 0x5
1783/* Available with KVM_CAP_XEN_HVM / KVM_XEN_HVM_CONFIG_EVTCHN_SEND */
1784#define KVM_XEN_VCPU_ATTR_TYPE_VCPU_ID 0x6
1785#define KVM_XEN_VCPU_ATTR_TYPE_TIMER 0x7
1786#define KVM_XEN_VCPU_ATTR_TYPE_UPCALL_VECTOR 0x8
1737 1787
1738/* Secure Encrypted Virtualization command */1788/* Secure Encrypted Virtualization command */
1739enum sev_cmd_id {1789enum sev_cmd_id {