qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] linux-headers: sync against v4.14-rc1


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH] linux-headers: sync against v4.14-rc1
Date: Thu, 28 Sep 2017 19:02:58 +0100
User-agent: Mutt/1.9.0 (2017-09-02)

* Paolo Bonzini (address@hidden) wrote:
> On 27/09/2017 21:05, Dr. David Alan Gilbert wrote:
> > cc'ing in Paolo who I think knows more about checking this sync.
> 
> It looks good to me.

Fancy turning that into a Reviewed-by and pulling it?

Dave

> Paolo
> 
> > Dave
> > 
> > * Alexey Perevalov (address@hidden) wrote:
> >> Signed-off-by: Alexey Perevalov <address@hidden>
> >> ---
> >>  include/standard-headers/asm-x86/hyperv.h    | 19 ++++++++++---
> >>  include/standard-headers/linux/pci_regs.h    | 42 
> >> ++++++++++++++++------------
> >>  include/standard-headers/linux/virtio_ring.h |  4 +--
> >>  linux-headers/asm-s390/kvm.h                 |  6 ++++
> >>  linux-headers/linux/kvm.h                    |  3 +-
> >>  linux-headers/linux/userfaultfd.h            | 16 ++++++++++-
> >>  6 files changed, 64 insertions(+), 26 deletions(-)
> >>
> >> diff --git a/include/standard-headers/asm-x86/hyperv.h 
> >> b/include/standard-headers/asm-x86/hyperv.h
> >> index fac7651..5f95d5e 100644
> >> --- a/include/standard-headers/asm-x86/hyperv.h
> >> +++ b/include/standard-headers/asm-x86/hyperv.h
> >> @@ -149,12 +149,9 @@
> >>   */
> >>  #define HV_X64_DEPRECATING_AEOI_RECOMMENDED       (1 << 9)
> >>  
> >> -/*
> >> - * HV_VP_SET available
> >> - */
> >> +/* Recommend using the newer ExProcessorMasks interface */
> >>  #define HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED     (1 << 11)
> >>  
> >> -
> >>  /*
> >>   * Crash notification flag.
> >>   */
> >> @@ -242,7 +239,11 @@
> >>            (~((1ull << HV_X64_MSR_HYPERCALL_PAGE_ADDRESS_SHIFT) - 1))
> >>  
> >>  /* Declare the various hypercall operations. */
> >> +#define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE        0x0002
> >> +#define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST 0x0003
> >>  #define HVCALL_NOTIFY_LONG_SPIN_WAIT              0x0008
> >> +#define HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE_EX  0x0013
> >> +#define HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX   0x0014
> >>  #define HVCALL_POST_MESSAGE                       0x005c
> >>  #define HVCALL_SIGNAL_EVENT                       0x005d
> >>  
> >> @@ -259,6 +260,16 @@
> >>  #define HV_PROCESSOR_POWER_STATE_C2               2
> >>  #define HV_PROCESSOR_POWER_STATE_C3               3
> >>  
> >> +#define HV_FLUSH_ALL_PROCESSORS                   BIT(0)
> >> +#define HV_FLUSH_ALL_VIRTUAL_ADDRESS_SPACES       BIT(1)
> >> +#define HV_FLUSH_NON_GLOBAL_MAPPINGS_ONLY BIT(2)
> >> +#define HV_FLUSH_USE_EXTENDED_RANGE_FORMAT        BIT(3)
> >> +
> >> +enum HV_GENERIC_SET_FORMAT {
> >> +  HV_GENERIC_SET_SPARCE_4K,
> >> +  HV_GENERIC_SET_ALL,
> >> +};
> >> +
> >>  /* hypercall status code */
> >>  #define HV_STATUS_SUCCESS                 0
> >>  #define HV_STATUS_INVALID_HYPERCALL_CODE  2
> >> diff --git a/include/standard-headers/linux/pci_regs.h 
> >> b/include/standard-headers/linux/pci_regs.h
> >> index c22d3eb..f8d5804 100644
> >> --- a/include/standard-headers/linux/pci_regs.h
> >> +++ b/include/standard-headers/linux/pci_regs.h
> >> @@ -513,6 +513,7 @@
> >>  #define  PCI_EXP_DEVSTA_URD       0x0008  /* Unsupported Request Detected 
> >> */
> >>  #define  PCI_EXP_DEVSTA_AUXPD     0x0010  /* AUX Power Detected */
> >>  #define  PCI_EXP_DEVSTA_TRPND     0x0020  /* Transactions Pending */
> >> +#define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1 12      /* v1 endpoints without 
> >> link end here */
> >>  #define PCI_EXP_LNKCAP            12      /* Link Capabilities */
> >>  #define  PCI_EXP_LNKCAP_SLS       0x0000000f /* Supported Link Speeds */
> >>  #define  PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 
> >> */
> >> @@ -556,7 +557,7 @@
> >>  #define  PCI_EXP_LNKSTA_DLLLA     0x2000  /* Data Link Layer Link Active 
> >> */
> >>  #define  PCI_EXP_LNKSTA_LBMS      0x4000  /* Link Bandwidth Management 
> >> Status */
> >>  #define  PCI_EXP_LNKSTA_LABS      0x8000  /* Link Autonomous Bandwidth 
> >> Status */
> >> -#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1    20      /* v1 endpoints end 
> >> here */
> >> +#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1    20      /* v1 endpoints with 
> >> link end here */
> >>  #define PCI_EXP_SLTCAP            20      /* Slot Capabilities */
> >>  #define  PCI_EXP_SLTCAP_ABP       0x00000001 /* Attention Button Present 
> >> */
> >>  #define  PCI_EXP_SLTCAP_PCP       0x00000002 /* Power Controller Present 
> >> */
> >> @@ -639,7 +640,7 @@
> >>  #define  PCI_EXP_DEVCTL2_OBFF_MSGB_EN     0x4000  /* Enable OBFF Message 
> >> type B */
> >>  #define  PCI_EXP_DEVCTL2_OBFF_WAKE_EN     0x6000  /* OBFF using WAKE# 
> >> signaling */
> >>  #define PCI_EXP_DEVSTA2           42      /* Device Status 2 */
> >> -#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2    44      /* v2 endpoints end 
> >> here */
> >> +#define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2 44      /* v2 endpoints without 
> >> link end here */
> >>  #define PCI_EXP_LNKCAP2           44      /* Link Capabilities 2 */
> >>  #define  PCI_EXP_LNKCAP2_SLS_2_5GB        0x00000002 /* Supported Speed 
> >> 2.5GT/s */
> >>  #define  PCI_EXP_LNKCAP2_SLS_5_0GB        0x00000004 /* Supported Speed 
> >> 5.0GT/s */
> >> @@ -647,6 +648,7 @@
> >>  #define  PCI_EXP_LNKCAP2_CROSSLINK        0x00000100 /* Crosslink 
> >> supported */
> >>  #define PCI_EXP_LNKCTL2           48      /* Link Control 2 */
> >>  #define PCI_EXP_LNKSTA2           50      /* Link Status 2 */
> >> +#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2    52      /* v2 endpoints with 
> >> link end here */
> >>  #define PCI_EXP_SLTCAP2           52      /* Slot Capabilities 2 */
> >>  #define PCI_EXP_SLTCTL2           56      /* Slot Control 2 */
> >>  #define PCI_EXP_SLTSTA2           58      /* Slot Status 2 */
> >> @@ -733,23 +735,17 @@
> >>  #define  PCI_ERR_CAP_ECRC_CHKE    0x00000100      /* ECRC Check Enable */
> >>  #define PCI_ERR_HEADER_LOG        28      /* Header Log Register (16 
> >> bytes) */
> >>  #define PCI_ERR_ROOT_COMMAND      44      /* Root Error Command */
> >> -/* Correctable Err Reporting Enable */
> >> -#define PCI_ERR_ROOT_CMD_COR_EN           0x00000001
> >> -/* Non-fatal Err Reporting Enable */
> >> -#define PCI_ERR_ROOT_CMD_NONFATAL_EN      0x00000002
> >> -/* Fatal Err Reporting Enable */
> >> -#define PCI_ERR_ROOT_CMD_FATAL_EN 0x00000004
> >> +#define PCI_ERR_ROOT_CMD_COR_EN           0x00000001 /* Correctable Err 
> >> Reporting Enable */
> >> +#define PCI_ERR_ROOT_CMD_NONFATAL_EN      0x00000002 /* Non-Fatal Err 
> >> Reporting Enable */
> >> +#define PCI_ERR_ROOT_CMD_FATAL_EN 0x00000004 /* Fatal Err Reporting 
> >> Enable */
> >>  #define PCI_ERR_ROOT_STATUS       48
> >> -#define PCI_ERR_ROOT_COR_RCV              0x00000001      /* ERR_COR 
> >> Received */
> >> -/* Multi ERR_COR Received */
> >> -#define PCI_ERR_ROOT_MULTI_COR_RCV        0x00000002
> >> -/* ERR_FATAL/NONFATAL Received */
> >> -#define PCI_ERR_ROOT_UNCOR_RCV            0x00000004
> >> -/* Multi ERR_FATAL/NONFATAL Received */
> >> -#define PCI_ERR_ROOT_MULTI_UNCOR_RCV      0x00000008
> >> -#define PCI_ERR_ROOT_FIRST_FATAL  0x00000010      /* First Fatal */
> >> -#define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020      /* Non-Fatal Received */
> >> -#define PCI_ERR_ROOT_FATAL_RCV            0x00000040      /* Fatal 
> >> Received */
> >> +#define PCI_ERR_ROOT_COR_RCV              0x00000001 /* ERR_COR Received 
> >> */
> >> +#define PCI_ERR_ROOT_MULTI_COR_RCV        0x00000002 /* Multiple ERR_COR 
> >> */
> >> +#define PCI_ERR_ROOT_UNCOR_RCV            0x00000004 /* 
> >> ERR_FATAL/NONFATAL */
> >> +#define PCI_ERR_ROOT_MULTI_UNCOR_RCV      0x00000008 /* Multiple 
> >> FATAL/NONFATAL */
> >> +#define PCI_ERR_ROOT_FIRST_FATAL  0x00000010 /* First UNC is Fatal */
> >> +#define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 /* Non-Fatal Received */
> >> +#define PCI_ERR_ROOT_FATAL_RCV            0x00000040 /* Fatal Received */
> >>  #define PCI_ERR_ROOT_ERR_SRC      52      /* Error Source Identification 
> >> */
> >>  
> >>  /* Virtual Channel */
> >> @@ -967,6 +963,7 @@
> >>  #define  PCI_EXP_DPC_CAP_RP_EXT           0x20    /* Root Port Extensions 
> >> for DPC */
> >>  #define  PCI_EXP_DPC_CAP_POISONED_TLP     0x40    /* Poisoned TLP Egress 
> >> Blocking Supported */
> >>  #define  PCI_EXP_DPC_CAP_SW_TRIGGER       0x80    /* Software Triggering 
> >> Supported */
> >> +#define  PCI_EXP_DPC_RP_PIO_LOG_SIZE      0xF00   /* RP PIO log size */
> >>  #define  PCI_EXP_DPC_CAP_DL_ACTIVE        0x1000  /* ERR_COR signal on 
> >> DL_Active supported */
> >>  
> >>  #define PCI_EXP_DPC_CTL                   6       /* DPC control */
> >> @@ -980,6 +977,15 @@
> >>  
> >>  #define PCI_EXP_DPC_SOURCE_ID             10      /* DPC Source 
> >> Identifier */
> >>  
> >> +#define PCI_EXP_DPC_RP_PIO_STATUS  0x0C   /* RP PIO Status */
> >> +#define PCI_EXP_DPC_RP_PIO_MASK            0x10   /* RP PIO MASK */
> >> +#define PCI_EXP_DPC_RP_PIO_SEVERITY        0x14   /* RP PIO Severity */
> >> +#define PCI_EXP_DPC_RP_PIO_SYSERROR        0x18   /* RP PIO SysError */
> >> +#define PCI_EXP_DPC_RP_PIO_EXCEPTION       0x1C   /* RP PIO Exception */
> >> +#define PCI_EXP_DPC_RP_PIO_HEADER_LOG      0x20   /* RP PIO Header Log */
> >> +#define PCI_EXP_DPC_RP_PIO_IMPSPEC_LOG     0x30   /* RP PIO ImpSpec Log */
> >> +#define PCI_EXP_DPC_RP_PIO_TLPPREFIX_LOG 0x34     /* RP PIO TLP Prefix 
> >> Log */
> >> +
> >>  /* Precision Time Measurement */
> >>  #define PCI_PTM_CAP                       0x04        /* PTM Capability */
> >>  #define  PCI_PTM_CAP_REQ          0x00000001  /* Requester capable */
> >> diff --git a/include/standard-headers/linux/virtio_ring.h 
> >> b/include/standard-headers/linux/virtio_ring.h
> >> index 023c6db..f1dc05d 100644
> >> --- a/include/standard-headers/linux/virtio_ring.h
> >> +++ b/include/standard-headers/linux/virtio_ring.h
> >> @@ -1,7 +1,7 @@
> >>  #ifndef _LINUX_VIRTIO_RING_H
> >>  #define _LINUX_VIRTIO_RING_H
> >> -/* An interface for efficient virtio implementation, currently for use by 
> >> KVM
> >> - * and lguest, but hopefully others soon.  Do NOT change this since it 
> >> will
> >> +/* An interface for efficient virtio implementation, currently for use by 
> >> KVM,
> >> + * but hopefully others soon.  Do NOT change this since it will
> >>   * break existing servers and clients.
> >>   *
> >>   * This header is BSD licensed so anyone can use the definitions to 
> >> implement
> >> diff --git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
> >> index 8387d71..7b750ef 100644
> >> --- a/linux-headers/asm-s390/kvm.h
> >> +++ b/linux-headers/asm-s390/kvm.h
> >> @@ -88,6 +88,12 @@ struct kvm_s390_io_adapter_req {
> >>  /* kvm attributes for KVM_S390_VM_TOD */
> >>  #define KVM_S390_VM_TOD_LOW               0
> >>  #define KVM_S390_VM_TOD_HIGH              1
> >> +#define KVM_S390_VM_TOD_EXT               2
> >> +
> >> +struct kvm_s390_vm_tod_clock {
> >> +  __u8  epoch_idx;
> >> +  __u64 tod;
> >> +};
> >>  
> >>  /* kvm attributes for KVM_S390_VM_CPU_MODEL */
> >>  /* processor related attributes are r/w */
> >> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> >> index 7971a4f..dd8a918 100644
> >> --- a/linux-headers/linux/kvm.h
> >> +++ b/linux-headers/linux/kvm.h
> >> @@ -711,7 +711,8 @@ struct kvm_ppc_one_seg_page_size {
> >>  struct kvm_ppc_smmu_info {
> >>    __u64 flags;
> >>    __u32 slb_size;
> >> -  __u32 pad;
> >> +  __u16 data_keys;        /* # storage keys supported for data */
> >> +  __u16 instr_keys;       /* # storage keys supported for instructions */
> >>    struct kvm_ppc_one_seg_page_size sps[KVM_PPC_PAGE_SIZES_MAX_SZ];
> >>  };
> >>  
> >> diff --git a/linux-headers/linux/userfaultfd.h 
> >> b/linux-headers/linux/userfaultfd.h
> >> index 9701772..b43cf0d 100644
> >> --- a/linux-headers/linux/userfaultfd.h
> >> +++ b/linux-headers/linux/userfaultfd.h
> >> @@ -23,7 +23,9 @@
> >>                       UFFD_FEATURE_EVENT_REMOVE |  \
> >>                       UFFD_FEATURE_EVENT_UNMAP |           \
> >>                       UFFD_FEATURE_MISSING_HUGETLBFS |     \
> >> -                     UFFD_FEATURE_MISSING_SHMEM)
> >> +                     UFFD_FEATURE_MISSING_SHMEM |         \
> >> +                     UFFD_FEATURE_SIGBUS |                \
> >> +                     UFFD_FEATURE_THREAD_ID)
> >>  #define UFFD_API_IOCTLS                           \
> >>    ((__u64)1 << _UFFDIO_REGISTER |         \
> >>     (__u64)1 << _UFFDIO_UNREGISTER |       \
> >> @@ -78,6 +80,9 @@ struct uffd_msg {
> >>            struct {
> >>                    __u64   flags;
> >>                    __u64   address;
> >> +                  union {
> >> +                          __u32 ptid;
> >> +                  } feat;
> >>            } pagefault;
> >>  
> >>            struct {
> >> @@ -153,6 +158,13 @@ struct uffdio_api {
> >>     * UFFD_FEATURE_MISSING_SHMEM works the same as
> >>     * UFFD_FEATURE_MISSING_HUGETLBFS, but it applies to shmem
> >>     * (i.e. tmpfs and other shmem based APIs).
> >> +   *
> >> +   * UFFD_FEATURE_SIGBUS feature means no page-fault
> >> +   * (UFFD_EVENT_PAGEFAULT) event will be delivered, instead
> >> +   * a SIGBUS signal will be sent to the faulting process.
> >> +   *
> >> +   * UFFD_FEATURE_THREAD_ID pid of the page faulted task_struct will
> >> +   * be returned, if feature is not requested 0 will be returned.
> >>     */
> >>  #define UFFD_FEATURE_PAGEFAULT_FLAG_WP            (1<<0)
> >>  #define UFFD_FEATURE_EVENT_FORK                   (1<<1)
> >> @@ -161,6 +173,8 @@ struct uffdio_api {
> >>  #define UFFD_FEATURE_MISSING_HUGETLBFS            (1<<4)
> >>  #define UFFD_FEATURE_MISSING_SHMEM                (1<<5)
> >>  #define UFFD_FEATURE_EVENT_UNMAP          (1<<6)
> >> +#define UFFD_FEATURE_SIGBUS                       (1<<7)
> >> +#define UFFD_FEATURE_THREAD_ID                    (1<<8)
> >>    __u64 features;
> >>  
> >>    __u64 ioctls;
> >> -- 
> >> 1.9.1
> >>
> > --
> > Dr. David Alan Gilbert / address@hidden / Manchester, UK
> > 
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]