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: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH] linux-headers: sync against v4.14-rc1
Date: Fri, 29 Sep 2017 10:59:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0

On 28/09/2017 20:02, Dr. David Alan Gilbert wrote:
> * 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?

Sure.

Paolo

> 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]