aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kvm/api.txt96
1 files changed, 48 insertions, 48 deletions
diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt
index ad85797c1cf..9bef4e4cec5 100644
--- a/Documentation/kvm/api.txt
+++ b/Documentation/kvm/api.txt
@@ -166,7 +166,7 @@ Returns: 0 on success, -1 on error
166 166
167This ioctl is obsolete and has been removed. 167This ioctl is obsolete and has been removed.
168 168
1694.6 KVM_CREATE_VCPU 1694.7 KVM_CREATE_VCPU
170 170
171Capability: basic 171Capability: basic
172Architectures: all 172Architectures: all
@@ -177,7 +177,7 @@ Returns: vcpu fd on success, -1 on error
177This API adds a vcpu to a virtual machine. The vcpu id is a small integer 177This API adds a vcpu to a virtual machine. The vcpu id is a small integer
178in the range [0, max_vcpus). 178in the range [0, max_vcpus).
179 179
1804.7 KVM_GET_DIRTY_LOG (vm ioctl) 1804.8 KVM_GET_DIRTY_LOG (vm ioctl)
181 181
182Capability: basic 182Capability: basic
183Architectures: x86 183Architectures: x86
@@ -200,7 +200,7 @@ since the last call to this ioctl. Bit 0 is the first page in the
200memory slot. Ensure the entire structure is cleared to avoid padding 200memory slot. Ensure the entire structure is cleared to avoid padding
201issues. 201issues.
202 202
2034.8 KVM_SET_MEMORY_ALIAS 2034.9 KVM_SET_MEMORY_ALIAS
204 204
205Capability: basic 205Capability: basic
206Architectures: x86 206Architectures: x86
@@ -210,7 +210,7 @@ Returns: 0 (success), -1 (error)
210 210
211This ioctl is obsolete and has been removed. 211This ioctl is obsolete and has been removed.
212 212
2134.9 KVM_RUN 2134.10 KVM_RUN
214 214
215Capability: basic 215Capability: basic
216Architectures: all 216Architectures: all
@@ -226,7 +226,7 @@ obtained by mmap()ing the vcpu fd at offset 0, with the size given by
226KVM_GET_VCPU_MMAP_SIZE. The parameter block is formatted as a 'struct 226KVM_GET_VCPU_MMAP_SIZE. The parameter block is formatted as a 'struct
227kvm_run' (see below). 227kvm_run' (see below).
228 228
2294.10 KVM_GET_REGS 2294.11 KVM_GET_REGS
230 230
231Capability: basic 231Capability: basic
232Architectures: all 232Architectures: all
@@ -246,7 +246,7 @@ struct kvm_regs {
246 __u64 rip, rflags; 246 __u64 rip, rflags;
247}; 247};
248 248
2494.11 KVM_SET_REGS 2494.12 KVM_SET_REGS
250 250
251Capability: basic 251Capability: basic
252Architectures: all 252Architectures: all
@@ -258,7 +258,7 @@ Writes the general purpose registers into the vcpu.
258 258
259See KVM_GET_REGS for the data structure. 259See KVM_GET_REGS for the data structure.
260 260
2614.12 KVM_GET_SREGS 2614.13 KVM_GET_SREGS
262 262
263Capability: basic 263Capability: basic
264Architectures: x86 264Architectures: x86
@@ -283,7 +283,7 @@ interrupt_bitmap is a bitmap of pending external interrupts. At most
283one bit may be set. This interrupt has been acknowledged by the APIC 283one bit may be set. This interrupt has been acknowledged by the APIC
284but not yet injected into the cpu core. 284but not yet injected into the cpu core.
285 285
2864.13 KVM_SET_SREGS 2864.14 KVM_SET_SREGS
287 287
288Capability: basic 288Capability: basic
289Architectures: x86 289Architectures: x86
@@ -294,7 +294,7 @@ Returns: 0 on success, -1 on error
294Writes special registers into the vcpu. See KVM_GET_SREGS for the 294Writes special registers into the vcpu. See KVM_GET_SREGS for the
295data structures. 295data structures.
296 296
2974.14 KVM_TRANSLATE 2974.15 KVM_TRANSLATE
298 298
299Capability: basic 299Capability: basic
300Architectures: x86 300Architectures: x86
@@ -317,7 +317,7 @@ struct kvm_translation {
317 __u8 pad[5]; 317 __u8 pad[5];
318}; 318};
319 319
3204.15 KVM_INTERRUPT 3204.16 KVM_INTERRUPT
321 321
322Capability: basic 322Capability: basic
323Architectures: x86, ppc 323Architectures: x86, ppc
@@ -365,7 +365,7 @@ c) KVM_INTERRUPT_SET_LEVEL
365Note that any value for 'irq' other than the ones stated above is invalid 365Note that any value for 'irq' other than the ones stated above is invalid
366and incurs unexpected behavior. 366and incurs unexpected behavior.
367 367
3684.16 KVM_DEBUG_GUEST 3684.17 KVM_DEBUG_GUEST
369 369
370Capability: basic 370Capability: basic
371Architectures: none 371Architectures: none
@@ -375,7 +375,7 @@ Returns: -1 on error
375 375
376Support for this has been removed. Use KVM_SET_GUEST_DEBUG instead. 376Support for this has been removed. Use KVM_SET_GUEST_DEBUG instead.
377 377
3784.17 KVM_GET_MSRS 3784.18 KVM_GET_MSRS
379 379
380Capability: basic 380Capability: basic
381Architectures: x86 381Architectures: x86
@@ -403,7 +403,7 @@ Application code should set the 'nmsrs' member (which indicates the
403size of the entries array) and the 'index' member of each array entry. 403size of the entries array) and the 'index' member of each array entry.
404kvm will fill in the 'data' member. 404kvm will fill in the 'data' member.
405 405
4064.18 KVM_SET_MSRS 4064.19 KVM_SET_MSRS
407 407
408Capability: basic 408Capability: basic
409Architectures: x86 409Architectures: x86
@@ -418,7 +418,7 @@ Application code should set the 'nmsrs' member (which indicates the
418size of the entries array), and the 'index' and 'data' members of each 418size of the entries array), and the 'index' and 'data' members of each
419array entry. 419array entry.
420 420
4214.19 KVM_SET_CPUID 4214.20 KVM_SET_CPUID
422 422
423Capability: basic 423Capability: basic
424Architectures: x86 424Architectures: x86
@@ -446,7 +446,7 @@ struct kvm_cpuid {
446 struct kvm_cpuid_entry entries[0]; 446 struct kvm_cpuid_entry entries[0];
447}; 447};
448 448
4494.20 KVM_SET_SIGNAL_MASK 4494.21 KVM_SET_SIGNAL_MASK
450 450
451Capability: basic 451Capability: basic
452Architectures: x86 452Architectures: x86
@@ -468,7 +468,7 @@ struct kvm_signal_mask {
468 __u8 sigset[0]; 468 __u8 sigset[0];
469}; 469};
470 470
4714.21 KVM_GET_FPU 4714.22 KVM_GET_FPU
472 472
473Capability: basic 473Capability: basic
474Architectures: x86 474Architectures: x86
@@ -493,7 +493,7 @@ struct kvm_fpu {
493 __u32 pad2; 493 __u32 pad2;
494}; 494};
495 495
4964.22 KVM_SET_FPU 4964.23 KVM_SET_FPU
497 497
498Capability: basic 498Capability: basic
499Architectures: x86 499Architectures: x86
@@ -518,7 +518,7 @@ struct kvm_fpu {
518 __u32 pad2; 518 __u32 pad2;
519}; 519};
520 520
5214.23 KVM_CREATE_IRQCHIP 5214.24 KVM_CREATE_IRQCHIP
522 522
523Capability: KVM_CAP_IRQCHIP 523Capability: KVM_CAP_IRQCHIP
524Architectures: x86, ia64 524Architectures: x86, ia64
@@ -531,7 +531,7 @@ ioapic, a virtual PIC (two PICs, nested), and sets up future vcpus to have a
531local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23 531local APIC. IRQ routing for GSIs 0-15 is set to both PIC and IOAPIC; GSI 16-23
532only go to the IOAPIC. On ia64, a IOSAPIC is created. 532only go to the IOAPIC. On ia64, a IOSAPIC is created.
533 533
5344.24 KVM_IRQ_LINE 5344.25 KVM_IRQ_LINE
535 535
536Capability: KVM_CAP_IRQCHIP 536Capability: KVM_CAP_IRQCHIP
537Architectures: x86, ia64 537Architectures: x86, ia64
@@ -552,7 +552,7 @@ struct kvm_irq_level {
552 __u32 level; /* 0 or 1 */ 552 __u32 level; /* 0 or 1 */
553}; 553};
554 554
5554.25 KVM_GET_IRQCHIP 5554.26 KVM_GET_IRQCHIP
556 556
557Capability: KVM_CAP_IRQCHIP 557Capability: KVM_CAP_IRQCHIP
558Architectures: x86, ia64 558Architectures: x86, ia64
@@ -573,7 +573,7 @@ struct kvm_irqchip {
573 } chip; 573 } chip;
574}; 574};
575 575
5764.26 KVM_SET_IRQCHIP 5764.27 KVM_SET_IRQCHIP
577 577
578Capability: KVM_CAP_IRQCHIP 578Capability: KVM_CAP_IRQCHIP
579Architectures: x86, ia64 579Architectures: x86, ia64
@@ -594,7 +594,7 @@ struct kvm_irqchip {
594 } chip; 594 } chip;
595}; 595};
596 596
5974.27 KVM_XEN_HVM_CONFIG 5974.28 KVM_XEN_HVM_CONFIG
598 598
599Capability: KVM_CAP_XEN_HVM 599Capability: KVM_CAP_XEN_HVM
600Architectures: x86 600Architectures: x86
@@ -618,7 +618,7 @@ struct kvm_xen_hvm_config {
618 __u8 pad2[30]; 618 __u8 pad2[30];
619}; 619};
620 620
6214.27 KVM_GET_CLOCK 6214.29 KVM_GET_CLOCK
622 622
623Capability: KVM_CAP_ADJUST_CLOCK 623Capability: KVM_CAP_ADJUST_CLOCK
624Architectures: x86 624Architectures: x86
@@ -636,7 +636,7 @@ struct kvm_clock_data {
636 __u32 pad[9]; 636 __u32 pad[9];
637}; 637};
638 638
6394.28 KVM_SET_CLOCK 6394.30 KVM_SET_CLOCK
640 640
641Capability: KVM_CAP_ADJUST_CLOCK 641Capability: KVM_CAP_ADJUST_CLOCK
642Architectures: x86 642Architectures: x86
@@ -654,7 +654,7 @@ struct kvm_clock_data {
654 __u32 pad[9]; 654 __u32 pad[9];
655}; 655};
656 656
6574.29 KVM_GET_VCPU_EVENTS 6574.31 KVM_GET_VCPU_EVENTS
658 658
659Capability: KVM_CAP_VCPU_EVENTS 659Capability: KVM_CAP_VCPU_EVENTS
660Extended by: KVM_CAP_INTR_SHADOW 660Extended by: KVM_CAP_INTR_SHADOW
@@ -693,7 +693,7 @@ struct kvm_vcpu_events {
693KVM_VCPUEVENT_VALID_SHADOW may be set in the flags field to signal that 693KVM_VCPUEVENT_VALID_SHADOW may be set in the flags field to signal that
694interrupt.shadow contains a valid state. Otherwise, this field is undefined. 694interrupt.shadow contains a valid state. Otherwise, this field is undefined.
695 695
6964.30 KVM_SET_VCPU_EVENTS 6964.32 KVM_SET_VCPU_EVENTS
697 697
698Capability: KVM_CAP_VCPU_EVENTS 698Capability: KVM_CAP_VCPU_EVENTS
699Extended by: KVM_CAP_INTR_SHADOW 699Extended by: KVM_CAP_INTR_SHADOW
@@ -719,7 +719,7 @@ If KVM_CAP_INTR_SHADOW is available, KVM_VCPUEVENT_VALID_SHADOW can be set in
719the flags field to signal that interrupt.shadow contains a valid state and 719the flags field to signal that interrupt.shadow contains a valid state and
720shall be written into the VCPU. 720shall be written into the VCPU.
721 721
7224.32 KVM_GET_DEBUGREGS 7224.33 KVM_GET_DEBUGREGS
723 723
724Capability: KVM_CAP_DEBUGREGS 724Capability: KVM_CAP_DEBUGREGS
725Architectures: x86 725Architectures: x86
@@ -737,7 +737,7 @@ struct kvm_debugregs {
737 __u64 reserved[9]; 737 __u64 reserved[9];
738}; 738};
739 739
7404.33 KVM_SET_DEBUGREGS 7404.34 KVM_SET_DEBUGREGS
741 741
742Capability: KVM_CAP_DEBUGREGS 742Capability: KVM_CAP_DEBUGREGS
743Architectures: x86 743Architectures: x86
@@ -750,7 +750,7 @@ Writes debug registers into the vcpu.
750See KVM_GET_DEBUGREGS for the data structure. The flags field is unused 750See KVM_GET_DEBUGREGS for the data structure. The flags field is unused
751yet and must be cleared on entry. 751yet and must be cleared on entry.
752 752
7534.34 KVM_SET_USER_MEMORY_REGION 7534.35 KVM_SET_USER_MEMORY_REGION
754 754
755Capability: KVM_CAP_USER_MEM 755Capability: KVM_CAP_USER_MEM
756Architectures: all 756Architectures: all
@@ -796,7 +796,7 @@ It is recommended to use this API instead of the KVM_SET_MEMORY_REGION ioctl.
796The KVM_SET_MEMORY_REGION does not allow fine grained control over memory 796The KVM_SET_MEMORY_REGION does not allow fine grained control over memory
797allocation and is deprecated. 797allocation and is deprecated.
798 798
7994.35 KVM_SET_TSS_ADDR 7994.36 KVM_SET_TSS_ADDR
800 800
801Capability: KVM_CAP_SET_TSS_ADDR 801Capability: KVM_CAP_SET_TSS_ADDR
802Architectures: x86 802Architectures: x86
@@ -814,7 +814,7 @@ This ioctl is required on Intel-based hosts. This is needed on Intel hardware
814because of a quirk in the virtualization implementation (see the internals 814because of a quirk in the virtualization implementation (see the internals
815documentation when it pops into existence). 815documentation when it pops into existence).
816 816
8174.36 KVM_ENABLE_CAP 8174.37 KVM_ENABLE_CAP
818 818
819Capability: KVM_CAP_ENABLE_CAP 819Capability: KVM_CAP_ENABLE_CAP
820Architectures: ppc 820Architectures: ppc
@@ -849,7 +849,7 @@ function properly, this is the place to put them.
849 __u8 pad[64]; 849 __u8 pad[64];
850}; 850};
851 851
8524.37 KVM_GET_MP_STATE 8524.38 KVM_GET_MP_STATE
853 853
854Capability: KVM_CAP_MP_STATE 854Capability: KVM_CAP_MP_STATE
855Architectures: x86, ia64 855Architectures: x86, ia64
@@ -879,7 +879,7 @@ Possible values are:
879This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel 879This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
880irqchip, the multiprocessing state must be maintained by userspace. 880irqchip, the multiprocessing state must be maintained by userspace.
881 881
8824.38 KVM_SET_MP_STATE 8824.39 KVM_SET_MP_STATE
883 883
884Capability: KVM_CAP_MP_STATE 884Capability: KVM_CAP_MP_STATE
885Architectures: x86, ia64 885Architectures: x86, ia64
@@ -893,7 +893,7 @@ arguments.
893This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel 893This ioctl is only useful after KVM_CREATE_IRQCHIP. Without an in-kernel
894irqchip, the multiprocessing state must be maintained by userspace. 894irqchip, the multiprocessing state must be maintained by userspace.
895 895
8964.39 KVM_SET_IDENTITY_MAP_ADDR 8964.40 KVM_SET_IDENTITY_MAP_ADDR
897 897
898Capability: KVM_CAP_SET_IDENTITY_MAP_ADDR 898Capability: KVM_CAP_SET_IDENTITY_MAP_ADDR
899Architectures: x86 899Architectures: x86
@@ -911,7 +911,7 @@ This ioctl is required on Intel-based hosts. This is needed on Intel hardware
911because of a quirk in the virtualization implementation (see the internals 911because of a quirk in the virtualization implementation (see the internals
912documentation when it pops into existence). 912documentation when it pops into existence).
913 913
9144.40 KVM_SET_BOOT_CPU_ID 9144.41 KVM_SET_BOOT_CPU_ID
915 915
916Capability: KVM_CAP_SET_BOOT_CPU_ID 916Capability: KVM_CAP_SET_BOOT_CPU_ID
917Architectures: x86, ia64 917Architectures: x86, ia64
@@ -923,7 +923,7 @@ Define which vcpu is the Bootstrap Processor (BSP). Values are the same
923as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default 923as the vcpu id in KVM_CREATE_VCPU. If this ioctl is not called, the default
924is vcpu 0. 924is vcpu 0.
925 925
9264.41 KVM_GET_XSAVE 9264.42 KVM_GET_XSAVE
927 927
928Capability: KVM_CAP_XSAVE 928Capability: KVM_CAP_XSAVE
929Architectures: x86 929Architectures: x86
@@ -937,7 +937,7 @@ struct kvm_xsave {
937 937
938This ioctl would copy current vcpu's xsave struct to the userspace. 938This ioctl would copy current vcpu's xsave struct to the userspace.
939 939
9404.42 KVM_SET_XSAVE 9404.43 KVM_SET_XSAVE
941 941
942Capability: KVM_CAP_XSAVE 942Capability: KVM_CAP_XSAVE
943Architectures: x86 943Architectures: x86
@@ -951,7 +951,7 @@ struct kvm_xsave {
951 951
952This ioctl would copy userspace's xsave struct to the kernel. 952This ioctl would copy userspace's xsave struct to the kernel.
953 953
9544.43 KVM_GET_XCRS 9544.44 KVM_GET_XCRS
955 955
956Capability: KVM_CAP_XCRS 956Capability: KVM_CAP_XCRS
957Architectures: x86 957Architectures: x86
@@ -974,7 +974,7 @@ struct kvm_xcrs {
974 974
975This ioctl would copy current vcpu's xcrs to the userspace. 975This ioctl would copy current vcpu's xcrs to the userspace.
976 976
9774.44 KVM_SET_XCRS 9774.45 KVM_SET_XCRS
978 978
979Capability: KVM_CAP_XCRS 979Capability: KVM_CAP_XCRS
980Architectures: x86 980Architectures: x86
@@ -997,7 +997,7 @@ struct kvm_xcrs {
997 997
998This ioctl would set vcpu's xcr to the value userspace specified. 998This ioctl would set vcpu's xcr to the value userspace specified.
999 999
10004.45 KVM_GET_SUPPORTED_CPUID 10004.46 KVM_GET_SUPPORTED_CPUID
1001 1001
1002Capability: KVM_CAP_EXT_CPUID 1002Capability: KVM_CAP_EXT_CPUID
1003Architectures: x86 1003Architectures: x86
@@ -1062,7 +1062,7 @@ emulate them efficiently. The fields in each entry are defined as follows:
1062 eax, ebx, ecx, edx: the values returned by the cpuid instruction for 1062 eax, ebx, ecx, edx: the values returned by the cpuid instruction for
1063 this function/index combination 1063 this function/index combination
1064 1064
10654.46 KVM_PPC_GET_PVINFO 10654.47 KVM_PPC_GET_PVINFO
1066 1066
1067Capability: KVM_CAP_PPC_GET_PVINFO 1067Capability: KVM_CAP_PPC_GET_PVINFO
1068Architectures: ppc 1068Architectures: ppc
@@ -1085,7 +1085,7 @@ of 4 instructions that make up a hypercall.
1085If any additional field gets added to this structure later on, a bit for that 1085If any additional field gets added to this structure later on, a bit for that
1086additional piece of information will be set in the flags bitmap. 1086additional piece of information will be set in the flags bitmap.
1087 1087
10884.47 KVM_ASSIGN_PCI_DEVICE 10884.48 KVM_ASSIGN_PCI_DEVICE
1089 1089
1090Capability: KVM_CAP_DEVICE_ASSIGNMENT 1090Capability: KVM_CAP_DEVICE_ASSIGNMENT
1091Architectures: x86 ia64 1091Architectures: x86 ia64
@@ -1113,7 +1113,7 @@ following flags are specified:
1113/* Depends on KVM_CAP_IOMMU */ 1113/* Depends on KVM_CAP_IOMMU */
1114#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0) 1114#define KVM_DEV_ASSIGN_ENABLE_IOMMU (1 << 0)
1115 1115
11164.48 KVM_DEASSIGN_PCI_DEVICE 11164.49 KVM_DEASSIGN_PCI_DEVICE
1117 1117
1118Capability: KVM_CAP_DEVICE_DEASSIGNMENT 1118Capability: KVM_CAP_DEVICE_DEASSIGNMENT
1119Architectures: x86 ia64 1119Architectures: x86 ia64
@@ -1126,7 +1126,7 @@ Ends PCI device assignment, releasing all associated resources.
1126See KVM_CAP_DEVICE_ASSIGNMENT for the data structure. Only assigned_dev_id is 1126See KVM_CAP_DEVICE_ASSIGNMENT for the data structure. Only assigned_dev_id is
1127used in kvm_assigned_pci_dev to identify the device. 1127used in kvm_assigned_pci_dev to identify the device.
1128 1128
11294.49 KVM_ASSIGN_DEV_IRQ 11294.50 KVM_ASSIGN_DEV_IRQ
1130 1130
1131Capability: KVM_CAP_ASSIGN_DEV_IRQ 1131Capability: KVM_CAP_ASSIGN_DEV_IRQ
1132Architectures: x86 ia64 1132Architectures: x86 ia64
@@ -1164,7 +1164,7 @@ The following flags are defined:
1164It is not valid to specify multiple types per host or guest IRQ. However, the 1164It is not valid to specify multiple types per host or guest IRQ. However, the
1165IRQ type of host and guest can differ or can even be null. 1165IRQ type of host and guest can differ or can even be null.
1166 1166
11674.50 KVM_DEASSIGN_DEV_IRQ 11674.51 KVM_DEASSIGN_DEV_IRQ
1168 1168
1169Capability: KVM_CAP_ASSIGN_DEV_IRQ 1169Capability: KVM_CAP_ASSIGN_DEV_IRQ
1170Architectures: x86 ia64 1170Architectures: x86 ia64
@@ -1178,7 +1178,7 @@ See KVM_ASSIGN_DEV_IRQ for the data structure. The target device is specified
1178by assigned_dev_id, flags must correspond to the IRQ type specified on 1178by assigned_dev_id, flags must correspond to the IRQ type specified on
1179KVM_ASSIGN_DEV_IRQ. Partial deassignment of host or guest IRQ is allowed. 1179KVM_ASSIGN_DEV_IRQ. Partial deassignment of host or guest IRQ is allowed.
1180 1180
11814.51 KVM_SET_GSI_ROUTING 11814.52 KVM_SET_GSI_ROUTING
1182 1182
1183Capability: KVM_CAP_IRQ_ROUTING 1183Capability: KVM_CAP_IRQ_ROUTING
1184Architectures: x86 ia64 1184Architectures: x86 ia64
@@ -1226,7 +1226,7 @@ struct kvm_irq_routing_msi {
1226 __u32 pad; 1226 __u32 pad;
1227}; 1227};
1228 1228
12294.52 KVM_ASSIGN_SET_MSIX_NR 12294.53 KVM_ASSIGN_SET_MSIX_NR
1230 1230
1231Capability: KVM_CAP_DEVICE_MSIX 1231Capability: KVM_CAP_DEVICE_MSIX
1232Architectures: x86 ia64 1232Architectures: x86 ia64
@@ -1245,7 +1245,7 @@ struct kvm_assigned_msix_nr {
1245 1245
1246#define KVM_MAX_MSIX_PER_DEV 256 1246#define KVM_MAX_MSIX_PER_DEV 256
1247 1247
12484.53 KVM_ASSIGN_SET_MSIX_ENTRY 12484.54 KVM_ASSIGN_SET_MSIX_ENTRY
1249 1249
1250Capability: KVM_CAP_DEVICE_MSIX 1250Capability: KVM_CAP_DEVICE_MSIX
1251Architectures: x86 ia64 1251Architectures: x86 ia64