aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2009-11-02 11:20:28 -0500
committerAvi Kivity <avi@redhat.com>2009-12-03 02:32:24 -0500
commitc54d2aba27f0c505d61700d656c5943e96982e60 (patch)
treecbf5fff26e2a061f9ec8b2bb2e98aa9279e82f29 /include
parent4f926bf291863c237188bd2e27222ed801f12094 (diff)
KVM: Reorder IOCTLs in main kvm.h
Obviously, people tend to extend this header at the bottom - more or less blindly. Ensure that deprecated stuff gets its own corner again by moving things to the top. Also add some comments and reindent IOCTLs to make them more readable and reduce the risk of number collisions. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/kvm.h235
1 files changed, 117 insertions, 118 deletions
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 6ed1a12ed526..ca62b8e056f9 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -14,12 +14,76 @@
14 14
15#define KVM_API_VERSION 12 15#define KVM_API_VERSION 12
16 16
17/* for KVM_TRACE_ENABLE, deprecated */ 17/* *** Deprecated interfaces *** */
18
19#define KVM_TRC_SHIFT 16
20
21#define KVM_TRC_ENTRYEXIT (1 << KVM_TRC_SHIFT)
22#define KVM_TRC_HANDLER (1 << (KVM_TRC_SHIFT + 1))
23
24#define KVM_TRC_VMENTRY (KVM_TRC_ENTRYEXIT + 0x01)
25#define KVM_TRC_VMEXIT (KVM_TRC_ENTRYEXIT + 0x02)
26#define KVM_TRC_PAGE_FAULT (KVM_TRC_HANDLER + 0x01)
27
28#define KVM_TRC_HEAD_SIZE 12
29#define KVM_TRC_CYCLE_SIZE 8
30#define KVM_TRC_EXTRA_MAX 7
31
32#define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02)
33#define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03)
34#define KVM_TRC_PEND_INTR (KVM_TRC_HANDLER + 0x04)
35#define KVM_TRC_IO_READ (KVM_TRC_HANDLER + 0x05)
36#define KVM_TRC_IO_WRITE (KVM_TRC_HANDLER + 0x06)
37#define KVM_TRC_CR_READ (KVM_TRC_HANDLER + 0x07)
38#define KVM_TRC_CR_WRITE (KVM_TRC_HANDLER + 0x08)
39#define KVM_TRC_DR_READ (KVM_TRC_HANDLER + 0x09)
40#define KVM_TRC_DR_WRITE (KVM_TRC_HANDLER + 0x0A)
41#define KVM_TRC_MSR_READ (KVM_TRC_HANDLER + 0x0B)
42#define KVM_TRC_MSR_WRITE (KVM_TRC_HANDLER + 0x0C)
43#define KVM_TRC_CPUID (KVM_TRC_HANDLER + 0x0D)
44#define KVM_TRC_INTR (KVM_TRC_HANDLER + 0x0E)
45#define KVM_TRC_NMI (KVM_TRC_HANDLER + 0x0F)
46#define KVM_TRC_VMMCALL (KVM_TRC_HANDLER + 0x10)
47#define KVM_TRC_HLT (KVM_TRC_HANDLER + 0x11)
48#define KVM_TRC_CLTS (KVM_TRC_HANDLER + 0x12)
49#define KVM_TRC_LMSW (KVM_TRC_HANDLER + 0x13)
50#define KVM_TRC_APIC_ACCESS (KVM_TRC_HANDLER + 0x14)
51#define KVM_TRC_TDP_FAULT (KVM_TRC_HANDLER + 0x15)
52#define KVM_TRC_GTLB_WRITE (KVM_TRC_HANDLER + 0x16)
53#define KVM_TRC_STLB_WRITE (KVM_TRC_HANDLER + 0x17)
54#define KVM_TRC_STLB_INVAL (KVM_TRC_HANDLER + 0x18)
55#define KVM_TRC_PPC_INSTR (KVM_TRC_HANDLER + 0x19)
56
18struct kvm_user_trace_setup { 57struct kvm_user_trace_setup {
19 __u32 buf_size; /* sub_buffer size of each per-cpu */ 58 __u32 buf_size;
20 __u32 buf_nr; /* the number of sub_buffers of each per-cpu */ 59 __u32 buf_nr;
60};
61
62#define __KVM_DEPRECATED_MAIN_W_0x06 \
63 _IOW(KVMIO, 0x06, struct kvm_user_trace_setup)
64#define __KVM_DEPRECATED_MAIN_0x07 _IO(KVMIO, 0x07)
65#define __KVM_DEPRECATED_MAIN_0x08 _IO(KVMIO, 0x08)
66
67#define __KVM_DEPRECATED_VM_R_0x70 _IOR(KVMIO, 0x70, struct kvm_assigned_irq)
68
69struct kvm_breakpoint {
70 __u32 enabled;
71 __u32 padding;
72 __u64 address;
73};
74
75struct kvm_debug_guest {
76 __u32 enabled;
77 __u32 pad;
78 struct kvm_breakpoint breakpoints[4];
79 __u32 singlestep;
21}; 80};
22 81
82#define __KVM_DEPRECATED_VCPU_W_0x87 _IOW(KVMIO, 0x87, struct kvm_debug_guest)
83
84/* *** End of deprecated interfaces *** */
85
86
23/* for KVM_CREATE_MEMORY_REGION */ 87/* for KVM_CREATE_MEMORY_REGION */
24struct kvm_memory_region { 88struct kvm_memory_region {
25 __u32 slot; 89 __u32 slot;
@@ -329,24 +393,6 @@ struct kvm_ioeventfd {
329 __u8 pad[36]; 393 __u8 pad[36];
330}; 394};
331 395
332#define KVM_TRC_SHIFT 16
333/*
334 * kvm trace categories
335 */
336#define KVM_TRC_ENTRYEXIT (1 << KVM_TRC_SHIFT)
337#define KVM_TRC_HANDLER (1 << (KVM_TRC_SHIFT + 1)) /* only 12 bits */
338
339/*
340 * kvm trace action
341 */
342#define KVM_TRC_VMENTRY (KVM_TRC_ENTRYEXIT + 0x01)
343#define KVM_TRC_VMEXIT (KVM_TRC_ENTRYEXIT + 0x02)
344#define KVM_TRC_PAGE_FAULT (KVM_TRC_HANDLER + 0x01)
345
346#define KVM_TRC_HEAD_SIZE 12
347#define KVM_TRC_CYCLE_SIZE 8
348#define KVM_TRC_EXTRA_MAX 7
349
350#define KVMIO 0xAE 396#define KVMIO 0xAE
351 397
352/* 398/*
@@ -367,12 +413,10 @@ struct kvm_ioeventfd {
367 */ 413 */
368#define KVM_GET_VCPU_MMAP_SIZE _IO(KVMIO, 0x04) /* in bytes */ 414#define KVM_GET_VCPU_MMAP_SIZE _IO(KVMIO, 0x04) /* in bytes */
369#define KVM_GET_SUPPORTED_CPUID _IOWR(KVMIO, 0x05, struct kvm_cpuid2) 415#define KVM_GET_SUPPORTED_CPUID _IOWR(KVMIO, 0x05, struct kvm_cpuid2)
370/* 416#define KVM_TRACE_ENABLE __KVM_DEPRECATED_MAIN_W_0x06
371 * ioctls for kvm trace 417#define KVM_TRACE_PAUSE __KVM_DEPRECATED_MAIN_0x07
372 */ 418#define KVM_TRACE_DISABLE __KVM_DEPRECATED_MAIN_0x08
373#define KVM_TRACE_ENABLE _IOW(KVMIO, 0x06, struct kvm_user_trace_setup) 419
374#define KVM_TRACE_PAUSE _IO(KVMIO, 0x07)
375#define KVM_TRACE_DISABLE _IO(KVMIO, 0x08)
376/* 420/*
377 * Extension capability list. 421 * Extension capability list.
378 */ 422 */
@@ -522,56 +566,57 @@ struct kvm_clock_data {
522/* 566/*
523 * ioctls for VM fds 567 * ioctls for VM fds
524 */ 568 */
525#define KVM_SET_MEMORY_REGION _IOW(KVMIO, 0x40, struct kvm_memory_region) 569#define KVM_SET_MEMORY_REGION _IOW(KVMIO, 0x40, struct kvm_memory_region)
526/* 570/*
527 * KVM_CREATE_VCPU receives as a parameter the vcpu slot, and returns 571 * KVM_CREATE_VCPU receives as a parameter the vcpu slot, and returns
528 * a vcpu fd. 572 * a vcpu fd.
529 */ 573 */
530#define KVM_CREATE_VCPU _IO(KVMIO, 0x41) 574#define KVM_CREATE_VCPU _IO(KVMIO, 0x41)
531#define KVM_GET_DIRTY_LOG _IOW(KVMIO, 0x42, struct kvm_dirty_log) 575#define KVM_GET_DIRTY_LOG _IOW(KVMIO, 0x42, struct kvm_dirty_log)
532#define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias) 576#define KVM_SET_MEMORY_ALIAS _IOW(KVMIO, 0x43, struct kvm_memory_alias)
533#define KVM_SET_NR_MMU_PAGES _IO(KVMIO, 0x44) 577#define KVM_SET_NR_MMU_PAGES _IO(KVMIO, 0x44)
534#define KVM_GET_NR_MMU_PAGES _IO(KVMIO, 0x45) 578#define KVM_GET_NR_MMU_PAGES _IO(KVMIO, 0x45)
535#define KVM_SET_USER_MEMORY_REGION _IOW(KVMIO, 0x46,\ 579#define KVM_SET_USER_MEMORY_REGION _IOW(KVMIO, 0x46, \
536 struct kvm_userspace_memory_region) 580 struct kvm_userspace_memory_region)
537#define KVM_SET_TSS_ADDR _IO(KVMIO, 0x47) 581#define KVM_SET_TSS_ADDR _IO(KVMIO, 0x47)
538#define KVM_SET_IDENTITY_MAP_ADDR _IOW(KVMIO, 0x48, __u64) 582#define KVM_SET_IDENTITY_MAP_ADDR _IOW(KVMIO, 0x48, __u64)
539/* Device model IOC */ 583/* Device model IOC */
540#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60) 584#define KVM_CREATE_IRQCHIP _IO(KVMIO, 0x60)
541#define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level) 585#define KVM_IRQ_LINE _IOW(KVMIO, 0x61, struct kvm_irq_level)
542#define KVM_GET_IRQCHIP _IOWR(KVMIO, 0x62, struct kvm_irqchip) 586#define KVM_GET_IRQCHIP _IOWR(KVMIO, 0x62, struct kvm_irqchip)
543#define KVM_SET_IRQCHIP _IOR(KVMIO, 0x63, struct kvm_irqchip) 587#define KVM_SET_IRQCHIP _IOR(KVMIO, 0x63, struct kvm_irqchip)
544#define KVM_CREATE_PIT _IO(KVMIO, 0x64) 588#define KVM_CREATE_PIT _IO(KVMIO, 0x64)
545#define KVM_GET_PIT _IOWR(KVMIO, 0x65, struct kvm_pit_state) 589#define KVM_GET_PIT _IOWR(KVMIO, 0x65, struct kvm_pit_state)
546#define KVM_SET_PIT _IOR(KVMIO, 0x66, struct kvm_pit_state) 590#define KVM_SET_PIT _IOR(KVMIO, 0x66, struct kvm_pit_state)
547#define KVM_IRQ_LINE_STATUS _IOWR(KVMIO, 0x67, struct kvm_irq_level) 591#define KVM_IRQ_LINE_STATUS _IOWR(KVMIO, 0x67, struct kvm_irq_level)
548#define KVM_REGISTER_COALESCED_MMIO \ 592#define KVM_REGISTER_COALESCED_MMIO \
549 _IOW(KVMIO, 0x67, struct kvm_coalesced_mmio_zone) 593 _IOW(KVMIO, 0x67, struct kvm_coalesced_mmio_zone)
550#define KVM_UNREGISTER_COALESCED_MMIO \ 594#define KVM_UNREGISTER_COALESCED_MMIO \
551 _IOW(KVMIO, 0x68, struct kvm_coalesced_mmio_zone) 595 _IOW(KVMIO, 0x68, struct kvm_coalesced_mmio_zone)
552#define KVM_ASSIGN_PCI_DEVICE _IOR(KVMIO, 0x69, \ 596#define KVM_ASSIGN_PCI_DEVICE _IOR(KVMIO, 0x69, \
553 struct kvm_assigned_pci_dev) 597 struct kvm_assigned_pci_dev)
554#define KVM_SET_GSI_ROUTING _IOW(KVMIO, 0x6a, struct kvm_irq_routing) 598#define KVM_SET_GSI_ROUTING _IOW(KVMIO, 0x6a, struct kvm_irq_routing)
555/* deprecated, replaced by KVM_ASSIGN_DEV_IRQ */ 599/* deprecated, replaced by KVM_ASSIGN_DEV_IRQ */
556#define KVM_ASSIGN_IRQ _IOR(KVMIO, 0x70, \ 600#define KVM_ASSIGN_IRQ __KVM_DEPRECATED_VM_R_0x70
557 struct kvm_assigned_irq) 601#define KVM_ASSIGN_DEV_IRQ _IOW(KVMIO, 0x70, struct kvm_assigned_irq)
558#define KVM_ASSIGN_DEV_IRQ _IOW(KVMIO, 0x70, struct kvm_assigned_irq) 602#define KVM_REINJECT_CONTROL _IO(KVMIO, 0x71)
559#define KVM_REINJECT_CONTROL _IO(KVMIO, 0x71) 603#define KVM_DEASSIGN_PCI_DEVICE _IOW(KVMIO, 0x72, \
560#define KVM_DEASSIGN_PCI_DEVICE _IOW(KVMIO, 0x72, \ 604 struct kvm_assigned_pci_dev)
561 struct kvm_assigned_pci_dev) 605#define KVM_ASSIGN_SET_MSIX_NR _IOW(KVMIO, 0x73, \
562#define KVM_ASSIGN_SET_MSIX_NR \ 606 struct kvm_assigned_msix_nr)
563 _IOW(KVMIO, 0x73, struct kvm_assigned_msix_nr) 607#define KVM_ASSIGN_SET_MSIX_ENTRY _IOW(KVMIO, 0x74, \
564#define KVM_ASSIGN_SET_MSIX_ENTRY \ 608 struct kvm_assigned_msix_entry)
565 _IOW(KVMIO, 0x74, struct kvm_assigned_msix_entry) 609#define KVM_DEASSIGN_DEV_IRQ _IOW(KVMIO, 0x75, struct kvm_assigned_irq)
566#define KVM_DEASSIGN_DEV_IRQ _IOW(KVMIO, 0x75, struct kvm_assigned_irq) 610#define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd)
567#define KVM_IRQFD _IOW(KVMIO, 0x76, struct kvm_irqfd) 611#define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config)
568#define KVM_CREATE_PIT2 _IOW(KVMIO, 0x77, struct kvm_pit_config) 612#define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78)
569#define KVM_SET_BOOT_CPU_ID _IO(KVMIO, 0x78) 613#define KVM_IOEVENTFD _IOW(KVMIO, 0x79, struct kvm_ioeventfd)
570#define KVM_IOEVENTFD _IOW(KVMIO, 0x79, struct kvm_ioeventfd) 614#define KVM_XEN_HVM_CONFIG _IOW(KVMIO, 0x7a, struct kvm_xen_hvm_config)
571#define KVM_XEN_HVM_CONFIG _IOW(KVMIO, 0x7a, struct kvm_xen_hvm_config) 615#define KVM_SET_CLOCK _IOW(KVMIO, 0x7b, struct kvm_clock_data)
572#define KVM_SET_CLOCK _IOW(KVMIO, 0x7b, struct kvm_clock_data) 616#define KVM_GET_CLOCK _IOR(KVMIO, 0x7c, struct kvm_clock_data)
573#define KVM_GET_CLOCK _IOR(KVMIO, 0x7c, struct kvm_clock_data) 617/* Available with KVM_CAP_PIT_STATE2 */
574 618#define KVM_GET_PIT2 _IOR(KVMIO, 0x9f, struct kvm_pit_state2)
619#define KVM_SET_PIT2 _IOW(KVMIO, 0xa0, struct kvm_pit_state2)
575 620
576/* 621/*
577 * ioctls for vcpu fds 622 * ioctls for vcpu fds
@@ -584,7 +629,7 @@ struct kvm_clock_data {
584#define KVM_TRANSLATE _IOWR(KVMIO, 0x85, struct kvm_translation) 629#define KVM_TRANSLATE _IOWR(KVMIO, 0x85, struct kvm_translation)
585#define KVM_INTERRUPT _IOW(KVMIO, 0x86, struct kvm_interrupt) 630#define KVM_INTERRUPT _IOW(KVMIO, 0x86, struct kvm_interrupt)
586/* KVM_DEBUG_GUEST is no longer supported, use KVM_SET_GUEST_DEBUG instead */ 631/* KVM_DEBUG_GUEST is no longer supported, use KVM_SET_GUEST_DEBUG instead */
587#define KVM_DEBUG_GUEST __KVM_DEPRECATED_DEBUG_GUEST 632#define KVM_DEBUG_GUEST __KVM_DEPRECATED_VCPU_W_0x87
588#define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs) 633#define KVM_GET_MSRS _IOWR(KVMIO, 0x88, struct kvm_msrs)
589#define KVM_SET_MSRS _IOW(KVMIO, 0x89, struct kvm_msrs) 634#define KVM_SET_MSRS _IOW(KVMIO, 0x89, struct kvm_msrs)
590#define KVM_SET_CPUID _IOW(KVMIO, 0x8a, struct kvm_cpuid) 635#define KVM_SET_CPUID _IOW(KVMIO, 0x8a, struct kvm_cpuid)
@@ -596,7 +641,7 @@ struct kvm_clock_data {
596#define KVM_SET_CPUID2 _IOW(KVMIO, 0x90, struct kvm_cpuid2) 641#define KVM_SET_CPUID2 _IOW(KVMIO, 0x90, struct kvm_cpuid2)
597#define KVM_GET_CPUID2 _IOWR(KVMIO, 0x91, struct kvm_cpuid2) 642#define KVM_GET_CPUID2 _IOWR(KVMIO, 0x91, struct kvm_cpuid2)
598/* Available with KVM_CAP_VAPIC */ 643/* Available with KVM_CAP_VAPIC */
599#define KVM_TPR_ACCESS_REPORTING _IOWR(KVMIO, 0x92, struct kvm_tpr_access_ctl) 644#define KVM_TPR_ACCESS_REPORTING _IOWR(KVMIO, 0x92, struct kvm_tpr_access_ctl)
600/* Available with KVM_CAP_VAPIC */ 645/* Available with KVM_CAP_VAPIC */
601#define KVM_SET_VAPIC_ADDR _IOW(KVMIO, 0x93, struct kvm_vapic_addr) 646#define KVM_SET_VAPIC_ADDR _IOW(KVMIO, 0x93, struct kvm_vapic_addr)
602/* valid for virtual machine (for floating interrupt)_and_ vcpu */ 647/* valid for virtual machine (for floating interrupt)_and_ vcpu */
@@ -608,67 +653,21 @@ struct kvm_clock_data {
608/* initial ipl psw for s390 */ 653/* initial ipl psw for s390 */
609#define KVM_S390_SET_INITIAL_PSW _IOW(KVMIO, 0x96, struct kvm_s390_psw) 654#define KVM_S390_SET_INITIAL_PSW _IOW(KVMIO, 0x96, struct kvm_s390_psw)
610/* initial reset for s390 */ 655/* initial reset for s390 */
611#define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97) 656#define KVM_S390_INITIAL_RESET _IO(KVMIO, 0x97)
612#define KVM_GET_MP_STATE _IOR(KVMIO, 0x98, struct kvm_mp_state) 657#define KVM_GET_MP_STATE _IOR(KVMIO, 0x98, struct kvm_mp_state)
613#define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state) 658#define KVM_SET_MP_STATE _IOW(KVMIO, 0x99, struct kvm_mp_state)
614/* Available with KVM_CAP_NMI */ 659/* Available with KVM_CAP_NMI */
615#define KVM_NMI _IO(KVMIO, 0x9a) 660#define KVM_NMI _IO(KVMIO, 0x9a)
616/* Available with KVM_CAP_SET_GUEST_DEBUG */ 661/* Available with KVM_CAP_SET_GUEST_DEBUG */
617#define KVM_SET_GUEST_DEBUG _IOW(KVMIO, 0x9b, struct kvm_guest_debug) 662#define KVM_SET_GUEST_DEBUG _IOW(KVMIO, 0x9b, struct kvm_guest_debug)
618/* MCE for x86 */ 663/* MCE for x86 */
619#define KVM_X86_SETUP_MCE _IOW(KVMIO, 0x9c, __u64) 664#define KVM_X86_SETUP_MCE _IOW(KVMIO, 0x9c, __u64)
620#define KVM_X86_GET_MCE_CAP_SUPPORTED _IOR(KVMIO, 0x9d, __u64) 665#define KVM_X86_GET_MCE_CAP_SUPPORTED _IOR(KVMIO, 0x9d, __u64)
621#define KVM_X86_SET_MCE _IOW(KVMIO, 0x9e, struct kvm_x86_mce) 666#define KVM_X86_SET_MCE _IOW(KVMIO, 0x9e, struct kvm_x86_mce)
622 667/* IA64 stack access */
623/*
624 * Deprecated interfaces
625 */
626struct kvm_breakpoint {
627 __u32 enabled;
628 __u32 padding;
629 __u64 address;
630};
631
632struct kvm_debug_guest {
633 __u32 enabled;
634 __u32 pad;
635 struct kvm_breakpoint breakpoints[4];
636 __u32 singlestep;
637};
638
639#define __KVM_DEPRECATED_DEBUG_GUEST _IOW(KVMIO, 0x87, struct kvm_debug_guest)
640
641#define KVM_IA64_VCPU_GET_STACK _IOR(KVMIO, 0x9a, void *) 668#define KVM_IA64_VCPU_GET_STACK _IOR(KVMIO, 0x9a, void *)
642#define KVM_IA64_VCPU_SET_STACK _IOW(KVMIO, 0x9b, void *) 669#define KVM_IA64_VCPU_SET_STACK _IOW(KVMIO, 0x9b, void *)
643 670
644#define KVM_GET_PIT2 _IOR(KVMIO, 0x9f, struct kvm_pit_state2)
645#define KVM_SET_PIT2 _IOW(KVMIO, 0xa0, struct kvm_pit_state2)
646
647#define KVM_TRC_INJ_VIRQ (KVM_TRC_HANDLER + 0x02)
648#define KVM_TRC_REDELIVER_EVT (KVM_TRC_HANDLER + 0x03)
649#define KVM_TRC_PEND_INTR (KVM_TRC_HANDLER + 0x04)
650#define KVM_TRC_IO_READ (KVM_TRC_HANDLER + 0x05)
651#define KVM_TRC_IO_WRITE (KVM_TRC_HANDLER + 0x06)
652#define KVM_TRC_CR_READ (KVM_TRC_HANDLER + 0x07)
653#define KVM_TRC_CR_WRITE (KVM_TRC_HANDLER + 0x08)
654#define KVM_TRC_DR_READ (KVM_TRC_HANDLER + 0x09)
655#define KVM_TRC_DR_WRITE (KVM_TRC_HANDLER + 0x0A)
656#define KVM_TRC_MSR_READ (KVM_TRC_HANDLER + 0x0B)
657#define KVM_TRC_MSR_WRITE (KVM_TRC_HANDLER + 0x0C)
658#define KVM_TRC_CPUID (KVM_TRC_HANDLER + 0x0D)
659#define KVM_TRC_INTR (KVM_TRC_HANDLER + 0x0E)
660#define KVM_TRC_NMI (KVM_TRC_HANDLER + 0x0F)
661#define KVM_TRC_VMMCALL (KVM_TRC_HANDLER + 0x10)
662#define KVM_TRC_HLT (KVM_TRC_HANDLER + 0x11)
663#define KVM_TRC_CLTS (KVM_TRC_HANDLER + 0x12)
664#define KVM_TRC_LMSW (KVM_TRC_HANDLER + 0x13)
665#define KVM_TRC_APIC_ACCESS (KVM_TRC_HANDLER + 0x14)
666#define KVM_TRC_TDP_FAULT (KVM_TRC_HANDLER + 0x15)
667#define KVM_TRC_GTLB_WRITE (KVM_TRC_HANDLER + 0x16)
668#define KVM_TRC_STLB_WRITE (KVM_TRC_HANDLER + 0x17)
669#define KVM_TRC_STLB_INVAL (KVM_TRC_HANDLER + 0x18)
670#define KVM_TRC_PPC_INSTR (KVM_TRC_HANDLER + 0x19)
671
672#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) 671#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
673 672
674struct kvm_assigned_pci_dev { 673struct kvm_assigned_pci_dev {
@@ -722,4 +721,4 @@ struct kvm_assigned_msix_entry {
722 __u16 padding[3]; 721 __u16 padding[3];
723}; 722};
724 723
725#endif 724#endif /* __LINUX_KVM_H */