qemu with hax to log dma reads & writes jcs.org/2018/11/12/vfio

linux-headers: update to 3.17-rc7

Sync headers with 3.17-rc7

Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>

authored by

Jens Freimann and committed by
Cornelia Huck
a9fd1654 fcb2cd92

+58 -5
+5 -1
linux-headers/asm-mips/kvm_para.h
··· 1 - #include <asm-generic/kvm_para.h> 1 + #ifndef _ASM_MIPS_KVM_PARA_H 2 + #define _ASM_MIPS_KVM_PARA_H 3 + 4 + 5 + #endif /* _ASM_MIPS_KVM_PARA_H */
+2
linux-headers/asm-powerpc/kvm.h
··· 548 548 549 549 #define KVM_REG_PPC_VRSAVE (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb4) 550 550 #define KVM_REG_PPC_LPCR (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb5) 551 + #define KVM_REG_PPC_LPCR_64 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb5) 551 552 #define KVM_REG_PPC_PPR (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb6) 552 553 553 554 /* Architecture compatibility level */ ··· 555 556 556 557 #define KVM_REG_PPC_DABRX (KVM_REG_PPC | KVM_REG_SIZE_U32 | 0xb8) 557 558 #define KVM_REG_PPC_WORT (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xb9) 559 + #define KVM_REG_PPC_SPRG9 (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xba) 558 560 559 561 /* Transactional Memory checkpointed state: 560 562 * This is all GPRs, all VSX regs and a subset of SPRs
+3
linux-headers/asm-x86/kvm.h
··· 23 23 #define GP_VECTOR 13 24 24 #define PF_VECTOR 14 25 25 #define MF_VECTOR 16 26 + #define AC_VECTOR 17 26 27 #define MC_VECTOR 18 28 + #define XM_VECTOR 19 29 + #define VE_VECTOR 20 27 30 28 31 /* Select x86 specific features in <linux/kvm.h> */ 29 32 #define __KVM_HAVE_PIT
+10 -3
linux-headers/linux/kvm.h
··· 162 162 #define KVM_EXIT_TPR_ACCESS 12 163 163 #define KVM_EXIT_S390_SIEIC 13 164 164 #define KVM_EXIT_S390_RESET 14 165 - #define KVM_EXIT_DCR 15 165 + #define KVM_EXIT_DCR 15 /* deprecated */ 166 166 #define KVM_EXIT_NMI 16 167 167 #define KVM_EXIT_INTERNAL_ERROR 17 168 168 #define KVM_EXIT_OSI 18 ··· 268 268 __u64 trans_exc_code; 269 269 __u32 pgm_code; 270 270 } s390_ucontrol; 271 - /* KVM_EXIT_DCR */ 271 + /* KVM_EXIT_DCR (deprecated) */ 272 272 struct { 273 273 __u32 dcrn; 274 274 __u32 data; ··· 399 399 __u64 vapic_addr; 400 400 }; 401 401 402 - /* for KVM_SET_MPSTATE */ 402 + /* for KVM_SET_MP_STATE */ 403 403 404 + /* not all states are valid on all architectures */ 404 405 #define KVM_MP_STATE_RUNNABLE 0 405 406 #define KVM_MP_STATE_UNINITIALIZED 1 406 407 #define KVM_MP_STATE_INIT_RECEIVED 2 407 408 #define KVM_MP_STATE_HALTED 3 408 409 #define KVM_MP_STATE_SIPI_RECEIVED 4 410 + #define KVM_MP_STATE_STOPPED 5 411 + #define KVM_MP_STATE_CHECK_STOP 6 412 + #define KVM_MP_STATE_OPERATING 7 413 + #define KVM_MP_STATE_LOAD 8 409 414 410 415 struct kvm_mp_state { 411 416 __u32 mp_state; ··· 758 763 #define KVM_CAP_VM_ATTRIBUTES 101 759 764 #define KVM_CAP_ARM_PSCI_0_2 102 760 765 #define KVM_CAP_PPC_FIXUP_HCALL 103 766 + #define KVM_CAP_PPC_ENABLE_HCALL 104 767 + #define KVM_CAP_CHECK_EXTENSION_VM 105 761 768 762 769 #ifdef KVM_CAP_IRQ_ROUTING 763 770
+3
linux-headers/linux/kvm_para.h
··· 20 20 #define KVM_HC_FEATURES 3 21 21 #define KVM_HC_PPC_MAP_MAGIC_PAGE 4 22 22 #define KVM_HC_KICK_CPU 5 23 + #define KVM_HC_MIPS_GET_CLOCK_FREQ 6 24 + #define KVM_HC_MIPS_EXIT_VM 7 25 + #define KVM_HC_MIPS_CONSOLE_OUTPUT 8 23 26 24 27 /* 25 28 * hypercalls use architecture specific
+34
linux-headers/linux/vfio.h
··· 30 30 */ 31 31 #define VFIO_DMA_CC_IOMMU 4 32 32 33 + /* Check if EEH is supported */ 34 + #define VFIO_EEH 5 35 + 33 36 /* 34 37 * The IOCTL interface is designed for extensibility by embedding the 35 38 * structure length (argsz) and flags into structures passed between ··· 454 457 }; 455 458 456 459 #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) 460 + 461 + /* 462 + * EEH PE operation struct provides ways to: 463 + * - enable/disable EEH functionality; 464 + * - unfreeze IO/DMA for frozen PE; 465 + * - read PE state; 466 + * - reset PE; 467 + * - configure PE. 468 + */ 469 + struct vfio_eeh_pe_op { 470 + __u32 argsz; 471 + __u32 flags; 472 + __u32 op; 473 + }; 474 + 475 + #define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */ 476 + #define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */ 477 + #define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */ 478 + #define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */ 479 + #define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */ 480 + #define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */ 481 + #define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */ 482 + #define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */ 483 + #define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */ 484 + #define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */ 485 + #define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */ 486 + #define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */ 487 + #define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */ 488 + #define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */ 489 + 490 + #define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21) 457 491 458 492 /* ***************************************************************** */ 459 493
+1 -1
linux-headers/linux/vhost.h
··· 14 14 15 15 #include <linux/ioctl.h> 16 16 #include <linux/virtio_config.h> 17 - #include "hw/virtio/virtio_ring.h" 17 + #include <linux/virtio_ring.h> 18 18 19 19 struct vhost_vring_state { 20 20 unsigned int index;