Pull KVM updates from Marcelo Tosatti: "Considerable KVM/PPC work, x86 kvmclock vsyscall support, IA32_TSC_ADJUST MSR emulation, amongst others." Fix up trivial conflict in kernel/sched/core.c due to cross-cpu migration notifier added next to rq migration call-back. * tag 'kvm-3.8-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (156 commits) KVM: emulator: fix real mode segment checks in address linearization VMX: remove unneeded enable_unrestricted_guest check KVM: VMX: fix DPL during entry to protected mode x86/kexec: crash_vmclear_local_vmcss needs __rcu kvm: Fix irqfd resampler list walk KVM: VMX: provide the vmclear function and a bitmap to support VMCLEAR in kdump x86/kexec: VMCLEAR VMCSs loaded on all cpus if necessary KVM: MMU: optimize for set_spte KVM: PPC: booke: Get/set guest EPCR register using ONE_REG interface KVM: PPC: bookehv: Add EPCR support in mtspr/mfspr emulation KVM: PPC: bookehv: Add guest computation mode for irq delivery KVM: PPC: Make EPCR a valid field for booke64 and bookehv KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit KVM: PPC: e500: Mask MAS2 EPN high 32-bits in 32/64 tlbwe emulation KVM: PPC: Mask ea's high 32-bits in 32/64 instr emulation KVM: PPC: e500: Add emulation helper for getting instruction ea KVM: PPC: bookehv64: Add support for interrupt handling KVM: PPC: bookehv: Remove GET_VCPU macro from exception handler KVM: PPC: booke: Fix get_tb() compile error on 64-bit KVM: PPC: e500: Silence bogus GCC warning in tlb code ...
Showing the changes to include/uapi/linux (1 of 101 files). Show all
Unified · Split
| @@ -167,10 +167,15 @@ struct kvm_pit_config { · 166 unmodified lines | ||
| 167 | 167 | #define KVM_EXIT_OSI 18 |
| 168 | 168 | #define KVM_EXIT_PAPR_HCALL 19 |
| 169 | 169 | #define KVM_EXIT_S390_UCONTROL 20 |
| 170 | +#define KVM_EXIT_WATCHDOG 21 | |
| 170 | 171 | |
| 171 | 172 | /* For KVM_EXIT_INTERNAL_ERROR */ |
| 172 | −#define KVM_INTERNAL_ERROR_EMULATION 1 | |
| 173 | −#define KVM_INTERNAL_ERROR_SIMUL_EX 2 | |
| 173 | +/* Emulate instruction failed. */ | |
| 174 | +#define KVM_INTERNAL_ERROR_EMULATION 1 | |
| 175 | +/* Encounter unexpected simultaneous exceptions. */ | |
| 176 | +#define KVM_INTERNAL_ERROR_SIMUL_EX 2 | |
| 177 | +/* Encounter unexpected vm-exit due to delivery event. */ | |
| 178 | +#define KVM_INTERNAL_ERROR_DELIVERY_EV 3 | |
| 174 | 179 | |
| 175 | 180 | /* for KVM_RUN, returned by mmap(vcpu_fd, offset=0) */ |
| 176 | 181 | struct kvm_run { |
| @@ -477,6 +482,8 @@ struct kvm_ppc_smmu_info { · 300 unmodified lines | ||
| 477 | 482 | struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ]; |
| 478 | 483 | }; |
| 479 | 484 | |
| 485 | +#define KVM_PPC_PVINFO_FLAGS_EV_IDLE (1<<0) | |
| 486 | + | |
| 480 | 487 | #define KVMIO 0xAE |
| 481 | 488 | |
| 482 | 489 | /* machine type bits, to be used as argument to KVM_CREATE_VM */ |
| @@ -626,6 +633,8 @@ struct kvm_ppc_smmu_info { · 143 unmodified lines | ||
| 626 | 633 | #define KVM_CAP_READONLY_MEM 81 |
| 627 | 634 | #endif |
| 628 | 635 | #define KVM_CAP_IRQFD_RESAMPLE 82 |
| 636 | +#define KVM_CAP_PPC_BOOKE_WATCHDOG 83 | |
| 637 | +#define KVM_CAP_PPC_HTAB_FD 84 | |
| 629 | 638 | |
| 630 | 639 | #ifdef KVM_CAP_IRQ_ROUTING |
| 631 | 640 | |
| @@ -848,6 +857,11 @@ struct kvm_s390_ucas_mapping { · 216 unmodified lines | ||
| 848 | 857 | #define KVM_PPC_GET_SMMU_INFO _IOR(KVMIO, 0xa6, struct kvm_ppc_smmu_info) |
| 849 | 858 | /* Available with KVM_CAP_PPC_ALLOC_HTAB */ |
| 850 | 859 | #define KVM_PPC_ALLOCATE_HTAB _IOWR(KVMIO, 0xa7, __u32) |
| 860 | +#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce) | |
| 861 | +/* Available with KVM_CAP_RMA */ | |
| 862 | +#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) | |
| 863 | +/* Available with KVM_CAP_PPC_HTAB_FD */ | |
| 864 | +#define KVM_PPC_GET_HTAB_FD _IOW(KVMIO, 0xaa, struct kvm_get_htab_fd) | |
| 851 | 865 | |
| 852 | 866 | /* |
| 853 | 867 | * ioctls for vcpu fds |
| @@ -911,9 +925,6 @@ struct kvm_s390_ucas_mapping { · 57 unmodified lines | ||
| 911 | 925 | /* Available with KVM_CAP_XCRS */ |
| 912 | 926 | #define KVM_GET_XCRS _IOR(KVMIO, 0xa6, struct kvm_xcrs) |
| 913 | 927 | #define KVM_SET_XCRS _IOW(KVMIO, 0xa7, struct kvm_xcrs) |
| 914 | −#define KVM_CREATE_SPAPR_TCE _IOW(KVMIO, 0xa8, struct kvm_create_spapr_tce) | |
| 915 | −/* Available with KVM_CAP_RMA */ | |
| 916 | −#define KVM_ALLOCATE_RMA _IOR(KVMIO, 0xa9, struct kvm_allocate_rma) | |
| 917 | 928 | /* Available with KVM_CAP_SW_TLB */ |
| 918 | 929 | #define KVM_DIRTY_TLB _IOW(KVMIO, 0xaa, struct kvm_dirty_tlb) |
| 919 | 930 | /* Available with KVM_CAP_ONE_REG */ |