mirror of
https://github.com/qemu/qemu.git
synced 2024-11-24 03:13:44 +08:00
linux-headers: update from kvm/next
linux-headers/linux/vhost.h is currently out of sync with Linux. Do not touch it in this update. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
5b90612952
commit
3a824b1552
@ -153,6 +153,12 @@
|
||||
/* MSR used to provide vcpu index */
|
||||
#define HV_X64_MSR_VP_INDEX 0x40000002
|
||||
|
||||
/* MSR used to reset the guest OS. */
|
||||
#define HV_X64_MSR_RESET 0x40000003
|
||||
|
||||
/* MSR used to provide vcpu runtime in 100ns units */
|
||||
#define HV_X64_MSR_VP_RUNTIME 0x40000010
|
||||
|
||||
/* MSR used to read the per-partition time reference counter */
|
||||
#define HV_X64_MSR_TIME_REF_COUNT 0x40000020
|
||||
|
||||
|
@ -53,14 +53,20 @@ struct kvm_regs {
|
||||
struct user_fpsimd_state fp_regs;
|
||||
};
|
||||
|
||||
/* Supported Processor Types */
|
||||
/*
|
||||
* Supported CPU Targets - Adding a new target type is not recommended,
|
||||
* unless there are some special registers not supported by the
|
||||
* genericv8 syreg table.
|
||||
*/
|
||||
#define KVM_ARM_TARGET_AEM_V8 0
|
||||
#define KVM_ARM_TARGET_FOUNDATION_V8 1
|
||||
#define KVM_ARM_TARGET_CORTEX_A57 2
|
||||
#define KVM_ARM_TARGET_XGENE_POTENZA 3
|
||||
#define KVM_ARM_TARGET_CORTEX_A53 4
|
||||
/* Generic ARM v8 target */
|
||||
#define KVM_ARM_TARGET_GENERIC_V8 5
|
||||
|
||||
#define KVM_ARM_NUM_TARGETS 5
|
||||
#define KVM_ARM_NUM_TARGETS 6
|
||||
|
||||
/* KVM_ARM_SET_DEVICE_ADDR ioctl id encoding */
|
||||
#define KVM_ARM_DEVICE_TYPE_SHIFT 0
|
||||
@ -100,12 +106,39 @@ struct kvm_sregs {
|
||||
struct kvm_fpu {
|
||||
};
|
||||
|
||||
/*
|
||||
* See v8 ARM ARM D7.3: Debug Registers
|
||||
*
|
||||
* The architectural limit is 16 debug registers of each type although
|
||||
* in practice there are usually less (see ID_AA64DFR0_EL1).
|
||||
*
|
||||
* Although the control registers are architecturally defined as 32
|
||||
* bits wide we use a 64 bit structure here to keep parity with
|
||||
* KVM_GET/SET_ONE_REG behaviour which treats all system registers as
|
||||
* 64 bit values. It also allows for the possibility of the
|
||||
* architecture expanding the control registers without having to
|
||||
* change the userspace ABI.
|
||||
*/
|
||||
#define KVM_ARM_MAX_DBG_REGS 16
|
||||
struct kvm_guest_debug_arch {
|
||||
__u64 dbg_bcr[KVM_ARM_MAX_DBG_REGS];
|
||||
__u64 dbg_bvr[KVM_ARM_MAX_DBG_REGS];
|
||||
__u64 dbg_wcr[KVM_ARM_MAX_DBG_REGS];
|
||||
__u64 dbg_wvr[KVM_ARM_MAX_DBG_REGS];
|
||||
};
|
||||
|
||||
struct kvm_debug_exit_arch {
|
||||
__u32 hsr;
|
||||
__u64 far; /* used for watchpoints */
|
||||
};
|
||||
|
||||
/*
|
||||
* Architecture specific defines for kvm_guest_debug->control
|
||||
*/
|
||||
|
||||
#define KVM_GUESTDBG_USE_SW_BP (1 << 16)
|
||||
#define KVM_GUESTDBG_USE_HW (1 << 17)
|
||||
|
||||
struct kvm_sync_regs {
|
||||
};
|
||||
|
||||
|
@ -183,6 +183,7 @@ struct kvm_s390_skeys {
|
||||
#define KVM_EXIT_EPR 23
|
||||
#define KVM_EXIT_SYSTEM_EVENT 24
|
||||
#define KVM_EXIT_S390_STSI 25
|
||||
#define KVM_EXIT_IOAPIC_EOI 26
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
/* Emulate instruction failed. */
|
||||
@ -237,6 +238,7 @@ struct kvm_run {
|
||||
__u32 count;
|
||||
__u64 data_offset; /* relative to kvm_run start */
|
||||
} io;
|
||||
/* KVM_EXIT_DEBUG */
|
||||
struct {
|
||||
struct kvm_debug_exit_arch arch;
|
||||
} debug;
|
||||
@ -285,6 +287,7 @@ struct kvm_run {
|
||||
__u32 data;
|
||||
__u8 is_write;
|
||||
} dcr;
|
||||
/* KVM_EXIT_INTERNAL_ERROR */
|
||||
struct {
|
||||
__u32 suberror;
|
||||
/* Available with KVM_CAP_INTERNAL_ERROR_DATA: */
|
||||
@ -295,6 +298,7 @@ struct kvm_run {
|
||||
struct {
|
||||
__u64 gprs[32];
|
||||
} osi;
|
||||
/* KVM_EXIT_PAPR_HCALL */
|
||||
struct {
|
||||
__u64 nr;
|
||||
__u64 ret;
|
||||
@ -330,6 +334,10 @@ struct kvm_run {
|
||||
__u8 sel1;
|
||||
__u16 sel2;
|
||||
} s390_stsi;
|
||||
/* KVM_EXIT_IOAPIC_EOI */
|
||||
struct {
|
||||
__u8 vector;
|
||||
} eoi;
|
||||
/* Fix the size of the union. */
|
||||
char padding[256];
|
||||
};
|
||||
@ -819,6 +827,10 @@ struct kvm_ppc_smmu_info {
|
||||
#define KVM_CAP_DISABLE_QUIRKS 116
|
||||
#define KVM_CAP_X86_SMM 117
|
||||
#define KVM_CAP_MULTI_ADDRESS_SPACE 118
|
||||
#define KVM_CAP_GUEST_DEBUG_HW_BPS 119
|
||||
#define KVM_CAP_GUEST_DEBUG_HW_WPS 120
|
||||
#define KVM_CAP_SPLIT_IRQCHIP 121
|
||||
#define KVM_CAP_IOEVENTFD_ANY_LENGTH 122
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user