tools headers kvm: Sync uapi/{asm/linux} kvm.h headers with the kernel sources
Picking the changes from:e65733b5c5("KVM: x86: Redefine 'longmode' as a flag for KVM_EXIT_HYPERCALL")30ec7997d1("KVM: arm64: timers: Allow userspace to set the global counter offset")821d935c87("KVM: arm64: Introduce support for userspace SMCCC filtering")81dc9504a7("KVM: arm64: nv: timers: Support hyp timer emulation")a8308b3fc9("KVM: arm64: Refactor hvc filtering to support different actions")0e5c9a9d65("KVM: arm64: Expose SMC/HVC width to userspace") Silencing these perf build warnings: 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 Warning: Kernel ABI header at 'tools/arch/x86/include/uapi/asm/kvm.h' differs from latest version at 'arch/x86/include/uapi/asm/kvm.h' diff -u tools/arch/x86/include/uapi/asm/kvm.h arch/x86/include/uapi/asm/kvm.h Warning: Kernel ABI header at 'tools/arch/arm64/include/uapi/asm/kvm.h' differs from latest version at 'arch/arm64/include/uapi/asm/kvm.h' diff -u tools/arch/arm64/include/uapi/asm/kvm.h arch/arm64/include/uapi/asm/kvm.h Signed-off-by: Yanteng Si <siyanteng@loongson.cn> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: loongson-kernel@lists.loongnix.cn Link: https://lore.kernel.org/r/ac5adb58411d23b3360d436a65038fefe91c32a8.1683712945.git.siyanteng@loongson.cn Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
8d6a41c806
commit
705049ca4f
@@ -198,6 +198,15 @@ struct kvm_arm_copy_mte_tags {
|
|||||||
__u64 reserved[2];
|
__u64 reserved[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Counter/Timer offset structure. Describe the virtual/physical offset.
|
||||||
|
* To be used with KVM_ARM_SET_COUNTER_OFFSET.
|
||||||
|
*/
|
||||||
|
struct kvm_arm_counter_offset {
|
||||||
|
__u64 counter_offset;
|
||||||
|
__u64 reserved;
|
||||||
|
};
|
||||||
|
|
||||||
#define KVM_ARM_TAGS_TO_GUEST 0
|
#define KVM_ARM_TAGS_TO_GUEST 0
|
||||||
#define KVM_ARM_TAGS_FROM_GUEST 1
|
#define KVM_ARM_TAGS_FROM_GUEST 1
|
||||||
|
|
||||||
@@ -372,6 +381,10 @@ enum {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Device Control API on vm fd */
|
||||||
|
#define KVM_ARM_VM_SMCCC_CTRL 0
|
||||||
|
#define KVM_ARM_VM_SMCCC_FILTER 0
|
||||||
|
|
||||||
/* Device Control API: ARM VGIC */
|
/* Device Control API: ARM VGIC */
|
||||||
#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
|
#define KVM_DEV_ARM_VGIC_GRP_ADDR 0
|
||||||
#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
|
#define KVM_DEV_ARM_VGIC_GRP_DIST_REGS 1
|
||||||
@@ -411,6 +424,8 @@ enum {
|
|||||||
#define KVM_ARM_VCPU_TIMER_CTRL 1
|
#define KVM_ARM_VCPU_TIMER_CTRL 1
|
||||||
#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
|
#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
|
||||||
#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
|
#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
|
||||||
|
#define KVM_ARM_VCPU_TIMER_IRQ_HVTIMER 2
|
||||||
|
#define KVM_ARM_VCPU_TIMER_IRQ_HPTIMER 3
|
||||||
#define KVM_ARM_VCPU_PVTIME_CTRL 2
|
#define KVM_ARM_VCPU_PVTIME_CTRL 2
|
||||||
#define KVM_ARM_VCPU_PVTIME_IPA 0
|
#define KVM_ARM_VCPU_PVTIME_IPA 0
|
||||||
|
|
||||||
@@ -469,6 +484,27 @@ enum {
|
|||||||
/* run->fail_entry.hardware_entry_failure_reason codes. */
|
/* run->fail_entry.hardware_entry_failure_reason codes. */
|
||||||
#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0)
|
#define KVM_EXIT_FAIL_ENTRY_CPU_UNSUPPORTED (1ULL << 0)
|
||||||
|
|
||||||
|
enum kvm_smccc_filter_action {
|
||||||
|
KVM_SMCCC_FILTER_HANDLE = 0,
|
||||||
|
KVM_SMCCC_FILTER_DENY,
|
||||||
|
KVM_SMCCC_FILTER_FWD_TO_USER,
|
||||||
|
|
||||||
|
#ifdef __KERNEL__
|
||||||
|
NR_SMCCC_FILTER_ACTIONS
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
struct kvm_smccc_filter {
|
||||||
|
__u32 base;
|
||||||
|
__u32 nr_functions;
|
||||||
|
__u8 action;
|
||||||
|
__u8 pad[15];
|
||||||
|
};
|
||||||
|
|
||||||
|
/* arm64-specific KVM_EXIT_HYPERCALL flags */
|
||||||
|
#define KVM_HYPERCALL_EXIT_SMC (1U << 0)
|
||||||
|
#define KVM_HYPERCALL_EXIT_16BIT (1U << 1)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* __ARM_KVM_H__ */
|
#endif /* __ARM_KVM_H__ */
|
||||||
|
|||||||
@@ -559,4 +559,7 @@ struct kvm_pmu_event_filter {
|
|||||||
#define KVM_VCPU_TSC_CTRL 0 /* control group for the timestamp counter (TSC) */
|
#define KVM_VCPU_TSC_CTRL 0 /* control group for the timestamp counter (TSC) */
|
||||||
#define KVM_VCPU_TSC_OFFSET 0 /* attribute for the TSC offset */
|
#define KVM_VCPU_TSC_OFFSET 0 /* attribute for the TSC offset */
|
||||||
|
|
||||||
|
/* x86-specific KVM_EXIT_HYPERCALL flags. */
|
||||||
|
#define KVM_EXIT_HYPERCALL_LONG_MODE BIT(0)
|
||||||
|
|
||||||
#endif /* _ASM_X86_KVM_H */
|
#endif /* _ASM_X86_KVM_H */
|
||||||
|
|||||||
@@ -341,8 +341,13 @@ struct kvm_run {
|
|||||||
__u64 nr;
|
__u64 nr;
|
||||||
__u64 args[6];
|
__u64 args[6];
|
||||||
__u64 ret;
|
__u64 ret;
|
||||||
__u32 longmode;
|
|
||||||
__u32 pad;
|
union {
|
||||||
|
#ifndef __KERNEL__
|
||||||
|
__u32 longmode;
|
||||||
|
#endif
|
||||||
|
__u64 flags;
|
||||||
|
};
|
||||||
} hypercall;
|
} hypercall;
|
||||||
/* KVM_EXIT_TPR_ACCESS */
|
/* KVM_EXIT_TPR_ACCESS */
|
||||||
struct {
|
struct {
|
||||||
@@ -1184,6 +1189,7 @@ struct kvm_ppc_resize_hpt {
|
|||||||
#define KVM_CAP_S390_PROTECTED_ASYNC_DISABLE 224
|
#define KVM_CAP_S390_PROTECTED_ASYNC_DISABLE 224
|
||||||
#define KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP 225
|
#define KVM_CAP_DIRTY_LOG_RING_WITH_BITMAP 225
|
||||||
#define KVM_CAP_PMU_EVENT_MASKED_EVENTS 226
|
#define KVM_CAP_PMU_EVENT_MASKED_EVENTS 226
|
||||||
|
#define KVM_CAP_COUNTER_OFFSET 227
|
||||||
|
|
||||||
#ifdef KVM_CAP_IRQ_ROUTING
|
#ifdef KVM_CAP_IRQ_ROUTING
|
||||||
|
|
||||||
@@ -1543,6 +1549,8 @@ struct kvm_s390_ucas_mapping {
|
|||||||
#define KVM_SET_PMU_EVENT_FILTER _IOW(KVMIO, 0xb2, struct kvm_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_PPC_SVM_OFF _IO(KVMIO, 0xb3)
|
||||||
#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
|
#define KVM_ARM_MTE_COPY_TAGS _IOR(KVMIO, 0xb4, struct kvm_arm_copy_mte_tags)
|
||||||
|
/* Available with KVM_CAP_COUNTER_OFFSET */
|
||||||
|
#define KVM_ARM_SET_COUNTER_OFFSET _IOW(KVMIO, 0xb5, struct kvm_arm_counter_offset)
|
||||||
|
|
||||||
/* ioctl for vm fd */
|
/* ioctl for vm fd */
|
||||||
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
#define KVM_CREATE_DEVICE _IOWR(KVMIO, 0xe0, struct kvm_create_device)
|
||||||
|
|||||||
Reference in New Issue
Block a user