qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] update Linux headers to 4.15


From: Christian Borntraeger
Subject: Re: [Qemu-devel] [PATCH] update Linux headers to 4.15
Date: Tue, 13 Mar 2018 12:45:39 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0


On 03/13/2018 11:39 AM, Paolo Bonzini wrote:
> Signed-off-by: Paolo Bonzini <address@hidden>
> ---
>  include/standard-headers/linux/input-event-codes.h |   1 +
>  include/standard-headers/linux/pci_regs.h          |  30 +-
>  include/standard-headers/linux/virtio_gpu.h        |   1 -
>  include/standard-headers/linux/virtio_net.h        |  13 +
>  include/standard-headers/linux/virtio_ring.h       |   2 +-
>  include/standard-headers/rdma/vmw_pvrdma-abi.h     |  13 +-
>  linux-headers/asm-powerpc/kvm.h                    |   2 +
>  linux-headers/asm-powerpc/unistd.h                 |   3 +
>  linux-headers/asm-s390/unistd.h                    | 401 
> +--------------------
>  linux-headers/asm-s390/unistd_32.h                 | 364 +++++++++++++++++++
>  linux-headers/asm-s390/unistd_64.h                 | 331 +++++++++++++++++
>  linux-headers/asm-x86/kvm_para.h                   |   5 +
>  linux-headers/linux/kvm.h                          |  92 +++++
>  linux-headers/linux/psci.h                         |   3 +
>  linux-headers/linux/vfio.h                         |  72 ++++
>  scripts/update-linux-headers.sh                    |   2 +
>  16 files changed, 918 insertions(+), 417 deletions(-)
>  create mode 100644 linux-headers/asm-s390/unistd_32.h
>  create mode 100644 linux-headers/asm-s390/unistd_64.h

s390 part look sane. 

Acked-by: Christian Borntraeger <address@hidden>

> 
> diff --git a/include/standard-headers/linux/input-event-codes.h 
> b/include/standard-headers/linux/input-event-codes.h
> index 79841b5..9e6a8ba 100644
> --- a/include/standard-headers/linux/input-event-codes.h
> +++ b/include/standard-headers/linux/input-event-codes.h
> @@ -594,6 +594,7 @@
>  #define BTN_DPAD_RIGHT               0x223
> 
>  #define KEY_ALS_TOGGLE               0x230   /* Ambient light sensor */
> +#define KEY_ROTATE_LOCK_TOGGLE       0x231   /* Display rotation lock */
> 
>  #define KEY_BUTTONCONFIG             0x240   /* AL Button Configuration */
>  #define KEY_TASKMANAGER              0x241   /* AL Task/Project Manager */
> diff --git a/include/standard-headers/linux/pci_regs.h 
> b/include/standard-headers/linux/pci_regs.h
> index 70c2b2a..0c79eac 100644
> --- a/include/standard-headers/linux/pci_regs.h
> +++ b/include/standard-headers/linux/pci_regs.h
> @@ -622,15 +622,19 @@
>   * safely.
>   */
>  #define PCI_EXP_DEVCAP2              36      /* Device Capabilities 2 */
> +#define  PCI_EXP_DEVCAP2_COMP_TMOUT_DIS      0x00000010 /* Completion 
> Timeout Disable supported */
>  #define  PCI_EXP_DEVCAP2_ARI         0x00000020 /* Alternative Routing-ID */
>  #define  PCI_EXP_DEVCAP2_ATOMIC_ROUTE        0x00000040 /* Atomic Op routing 
> */
> -#define PCI_EXP_DEVCAP2_ATOMIC_COMP64        0x00000100 /* Atomic 64-bit 
> compare */
> +#define  PCI_EXP_DEVCAP2_ATOMIC_COMP32       0x00000080 /* 32b AtomicOp 
> completion */
> +#define  PCI_EXP_DEVCAP2_ATOMIC_COMP64       0x00000100 /* 64b AtomicOp 
> completion */
> +#define  PCI_EXP_DEVCAP2_ATOMIC_COMP128      0x00000200 /* 128b AtomicOp 
> completion */
>  #define  PCI_EXP_DEVCAP2_LTR         0x00000800 /* Latency tolerance 
> reporting */
>  #define  PCI_EXP_DEVCAP2_OBFF_MASK   0x000c0000 /* OBFF support mechanism */
>  #define  PCI_EXP_DEVCAP2_OBFF_MSG    0x00040000 /* New message signaling */
>  #define  PCI_EXP_DEVCAP2_OBFF_WAKE   0x00080000 /* Re-use WAKE# for OBFF */
>  #define PCI_EXP_DEVCTL2              40      /* Device Control 2 */
>  #define  PCI_EXP_DEVCTL2_COMP_TIMEOUT        0x000f  /* Completion Timeout 
> Value */
> +#define  PCI_EXP_DEVCTL2_COMP_TMOUT_DIS      0x0010  /* Completion Timeout 
> Disable */
>  #define  PCI_EXP_DEVCTL2_ARI         0x0020  /* Alternative Routing-ID */
>  #define PCI_EXP_DEVCTL2_ATOMIC_REQ   0x0040  /* Set Atomic requests */
>  #define PCI_EXP_DEVCTL2_ATOMIC_EGRESS_BLOCK 0x0080 /* Block atomic egress */
> @@ -966,26 +970,28 @@
> 
>  /* Downstream Port Containment */
>  #define PCI_EXP_DPC_CAP                      4       /* DPC Capability */
> -#define PCI_EXP_DPC_IRQ                      0x1f    /* DPC Interrupt 
> Message Number */
> -#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_IRQ                      0x001F  /* Interrupt Message 
> Number */
> +#define  PCI_EXP_DPC_CAP_RP_EXT              0x0020  /* Root Port Extensions 
> */
> +#define  PCI_EXP_DPC_CAP_POISONED_TLP        0x0040  /* Poisoned TLP Egress 
> Blocking Supported */
> +#define  PCI_EXP_DPC_CAP_SW_TRIGGER  0x0080  /* Software Triggering 
> Supported */
> +#define  PCI_EXP_DPC_RP_PIO_LOG_SIZE 0x0F00  /* 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 */
> -#define  PCI_EXP_DPC_CTL_EN_NONFATAL         0x02    /* Enable trigger on 
> ERR_NONFATAL message */
> -#define  PCI_EXP_DPC_CTL_INT_EN      0x08    /* DPC Interrupt Enable */
> +#define  PCI_EXP_DPC_CTL_EN_NONFATAL         0x0002  /* Enable trigger on 
> ERR_NONFATAL message */
> +#define  PCI_EXP_DPC_CTL_INT_EN      0x0008  /* DPC Interrupt Enable */
> 
>  #define PCI_EXP_DPC_STATUS           8       /* DPC Status */
> -#define  PCI_EXP_DPC_STATUS_TRIGGER  0x01    /* Trigger Status */
> -#define  PCI_EXP_DPC_STATUS_INTERRUPT        0x08    /* Interrupt Status */
> -#define  PCI_EXP_DPC_RP_BUSY         0x10    /* Root Port Busy */
> +#define  PCI_EXP_DPC_STATUS_TRIGGER      0x0001 /* Trigger Status */
> +#define  PCI_EXP_DPC_STATUS_TRIGGER_RSN          0x0006 /* Trigger Reason */
> +#define  PCI_EXP_DPC_STATUS_INTERRUPT            0x0008 /* Interrupt Status 
> */
> +#define  PCI_EXP_DPC_RP_BUSY             0x0010 /* Root Port Busy */
> +#define  PCI_EXP_DPC_STATUS_TRIGGER_RSN_EXT 0x0060 /* Trig Reason Extension 
> */
> 
>  #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_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 */
> diff --git a/include/standard-headers/linux/virtio_gpu.h 
> b/include/standard-headers/linux/virtio_gpu.h
> index 52a830d..c1c8f07 100644
> --- a/include/standard-headers/linux/virtio_gpu.h
> +++ b/include/standard-headers/linux/virtio_gpu.h
> @@ -260,7 +260,6 @@ struct virtio_gpu_cmd_submit {
>  };
> 
>  #define VIRTIO_GPU_CAPSET_VIRGL 1
> -#define VIRTIO_GPU_CAPSET_VIRGL2 2
> 
>  /* VIRTIO_GPU_CMD_GET_CAPSET_INFO */
>  struct virtio_gpu_get_capset_info {
> diff --git a/include/standard-headers/linux/virtio_net.h 
> b/include/standard-headers/linux/virtio_net.h
> index 30ff249..e9f255e 100644
> --- a/include/standard-headers/linux/virtio_net.h
> +++ b/include/standard-headers/linux/virtio_net.h
> @@ -57,6 +57,8 @@
>                                        * Steering */
>  #define VIRTIO_NET_F_CTRL_MAC_ADDR 23        /* Set MAC address */
> 
> +#define VIRTIO_NET_F_SPEED_DUPLEX 63 /* Device set linkspeed and duplex */
> +
>  #ifndef VIRTIO_NET_NO_LEGACY
>  #define VIRTIO_NET_F_GSO     6       /* Host handles pkts w/ any GSO type */
>  #endif /* VIRTIO_NET_NO_LEGACY */
> @@ -76,6 +78,17 @@ struct virtio_net_config {
>       uint16_t max_virtqueue_pairs;
>       /* Default maximum transmit unit advice */
>       uint16_t mtu;
> +     /*
> +      * speed, in units of 1Mb. All values 0 to INT_MAX are legal.
> +      * Any other value stands for unknown.
> +      */
> +     uint32_t speed;
> +     /*
> +      * 0x00 - half duplex
> +      * 0x01 - full duplex
> +      * Any other value stands for unknown.
> +      */
> +     uint8_t duplex;
>  } QEMU_PACKED;
> 
>  /*
> diff --git a/include/standard-headers/linux/virtio_ring.h 
> b/include/standard-headers/linux/virtio_ring.h
> index f1dc05d..d26e72b 100644
> --- a/include/standard-headers/linux/virtio_ring.h
> +++ b/include/standard-headers/linux/virtio_ring.h
> @@ -78,7 +78,7 @@ struct vring_avail {
>       __virtio16 ring[];
>  };
> 
> -/* u32 is used here for ids for padding reasons. */
> +/* uint32_t is used here for ids for padding reasons. */
>  struct vring_used_elem {
>       /* Index of start of used descriptor chain. */
>       __virtio32 id;
> diff --git a/include/standard-headers/rdma/vmw_pvrdma-abi.h 
> b/include/standard-headers/rdma/vmw_pvrdma-abi.h
> index 0d0f7a8..07a820d 100644
> --- a/include/standard-headers/rdma/vmw_pvrdma-abi.h
> +++ b/include/standard-headers/rdma/vmw_pvrdma-abi.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR 
> BSD-2-Clause) */
>  /*
>   * Copyright (c) 2012-2016 VMware, Inc.  All rights reserved.
>   *
> @@ -51,12 +52,14 @@
>  #define PVRDMA_UVERBS_ABI_VERSION    3               /* ABI Version. */
>  #define PVRDMA_UAR_HANDLE_MASK               0x00FFFFFF      /* Bottom 24 
> bits. */
>  #define PVRDMA_UAR_QP_OFFSET         0               /* QP doorbell. */
> -#define PVRDMA_UAR_QP_SEND           BIT(30)         /* Send bit. */
> -#define PVRDMA_UAR_QP_RECV           BIT(31)         /* Recv bit. */
> +#define PVRDMA_UAR_QP_SEND           (1 << 30)       /* Send bit. */
> +#define PVRDMA_UAR_QP_RECV           (1 << 31)       /* Recv bit. */
>  #define PVRDMA_UAR_CQ_OFFSET         4               /* CQ doorbell. */
> -#define PVRDMA_UAR_CQ_ARM_SOL                BIT(29)         /* Arm 
> solicited bit. */
> -#define PVRDMA_UAR_CQ_ARM            BIT(30)         /* Arm bit. */
> -#define PVRDMA_UAR_CQ_POLL           BIT(31)         /* Poll bit. */
> +#define PVRDMA_UAR_CQ_ARM_SOL                (1 << 29)       /* Arm 
> solicited bit. */
> +#define PVRDMA_UAR_CQ_ARM            (1 << 30)       /* Arm bit. */
> +#define PVRDMA_UAR_CQ_POLL           (1 << 31)       /* Poll bit. */
> +#define PVRDMA_UAR_SRQ_OFFSET                8               /* SRQ 
> doorbell. */
> +#define PVRDMA_UAR_SRQ_RECV          (1 << 30)       /* Recv bit. */
> 
>  enum pvrdma_wr_opcode {
>       PVRDMA_WR_RDMA_WRITE,
> diff --git a/linux-headers/asm-powerpc/kvm.h b/linux-headers/asm-powerpc/kvm.h
> index 637b726..833ed9a 100644
> --- a/linux-headers/asm-powerpc/kvm.h
> +++ b/linux-headers/asm-powerpc/kvm.h
> @@ -632,6 +632,8 @@ struct kvm_ppc_cpu_char {
>  #define KVM_REG_PPC_TIDR     (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbc)
>  #define KVM_REG_PPC_PSSCR    (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbd)
> 
> +#define KVM_REG_PPC_DEC_EXPIRY       (KVM_REG_PPC | KVM_REG_SIZE_U64 | 0xbe)
> +
>  /* Transactional Memory checkpointed state:
>   * This is all GPRs, all VSX regs and a subset of SPRs
>   */
> diff --git a/linux-headers/asm-powerpc/unistd.h 
> b/linux-headers/asm-powerpc/unistd.h
> index 36abf58..0c08edc 100644
> --- a/linux-headers/asm-powerpc/unistd.h
> +++ b/linux-headers/asm-powerpc/unistd.h
> @@ -395,5 +395,8 @@
>  #define __NR_pwritev2                381
>  #define __NR_kexec_file_load 382
>  #define __NR_statx           383
> +#define __NR_pkey_alloc              384
> +#define __NR_pkey_free               385
> +#define __NR_pkey_mprotect   386
> 
>  #endif /* _ASM_POWERPC_UNISTD_H_ */
> diff --git a/linux-headers/asm-s390/unistd.h b/linux-headers/asm-s390/unistd.h
> index 99223b8..27b8b21 100644
> --- a/linux-headers/asm-s390/unistd.h
> +++ b/linux-headers/asm-s390/unistd.h
> @@ -8,405 +8,10 @@
>  #ifndef _ASM_S390_UNISTD_H_
>  #define _ASM_S390_UNISTD_H_
> 
> -/*
> - * This file contains the system call numbers.
> - */
> -
> -#define __NR_exit                 1
> -#define __NR_fork                 2
> -#define __NR_read                 3
> -#define __NR_write                4
> -#define __NR_open                 5
> -#define __NR_close                6
> -#define __NR_restart_syscall   7
> -#define __NR_creat                8
> -#define __NR_link                 9
> -#define __NR_unlink              10
> -#define __NR_execve              11
> -#define __NR_chdir               12
> -#define __NR_mknod               14
> -#define __NR_chmod               15
> -#define __NR_lseek               19
> -#define __NR_getpid              20
> -#define __NR_mount               21
> -#define __NR_umount              22
> -#define __NR_ptrace              26
> -#define __NR_alarm               27
> -#define __NR_pause               29
> -#define __NR_utime               30
> -#define __NR_access              33
> -#define __NR_nice                34
> -#define __NR_sync                36
> -#define __NR_kill                37
> -#define __NR_rename              38
> -#define __NR_mkdir               39
> -#define __NR_rmdir               40
> -#define __NR_dup                 41
> -#define __NR_pipe                42
> -#define __NR_times               43
> -#define __NR_brk                 45
> -#define __NR_signal              48
> -#define __NR_acct                51
> -#define __NR_umount2             52
> -#define __NR_ioctl               54
> -#define __NR_fcntl               55
> -#define __NR_setpgid             57
> -#define __NR_umask               60
> -#define __NR_chroot              61
> -#define __NR_ustat               62
> -#define __NR_dup2                63
> -#define __NR_getppid             64
> -#define __NR_getpgrp             65
> -#define __NR_setsid              66
> -#define __NR_sigaction           67
> -#define __NR_sigsuspend          72
> -#define __NR_sigpending          73
> -#define __NR_sethostname         74
> -#define __NR_setrlimit           75
> -#define __NR_getrusage           77
> -#define __NR_gettimeofday        78
> -#define __NR_settimeofday        79
> -#define __NR_symlink             83
> -#define __NR_readlink            85
> -#define __NR_uselib              86
> -#define __NR_swapon              87
> -#define __NR_reboot              88
> -#define __NR_readdir             89
> -#define __NR_mmap                90
> -#define __NR_munmap              91
> -#define __NR_truncate            92
> -#define __NR_ftruncate           93
> -#define __NR_fchmod              94
> -#define __NR_getpriority         96
> -#define __NR_setpriority         97
> -#define __NR_statfs              99
> -#define __NR_fstatfs            100
> -#define __NR_socketcall         102
> -#define __NR_syslog             103
> -#define __NR_setitimer          104
> -#define __NR_getitimer          105
> -#define __NR_stat               106
> -#define __NR_lstat              107
> -#define __NR_fstat              108
> -#define __NR_lookup_dcookie     110
> -#define __NR_vhangup            111
> -#define __NR_idle               112
> -#define __NR_wait4              114
> -#define __NR_swapoff            115
> -#define __NR_sysinfo            116
> -#define __NR_ipc                117
> -#define __NR_fsync              118
> -#define __NR_sigreturn          119
> -#define __NR_clone              120
> -#define __NR_setdomainname      121
> -#define __NR_uname              122
> -#define __NR_adjtimex           124
> -#define __NR_mprotect           125
> -#define __NR_sigprocmask        126
> -#define __NR_create_module      127
> -#define __NR_init_module        128
> -#define __NR_delete_module      129
> -#define __NR_get_kernel_syms    130
> -#define __NR_quotactl           131
> -#define __NR_getpgid            132
> -#define __NR_fchdir             133
> -#define __NR_bdflush            134
> -#define __NR_sysfs              135
> -#define __NR_personality        136
> -#define __NR_afs_syscall        137 /* Syscall for Andrew File System */
> -#define __NR_getdents           141
> -#define __NR_flock              143
> -#define __NR_msync              144
> -#define __NR_readv              145
> -#define __NR_writev             146
> -#define __NR_getsid             147
> -#define __NR_fdatasync          148
> -#define __NR__sysctl            149
> -#define __NR_mlock              150
> -#define __NR_munlock            151
> -#define __NR_mlockall           152
> -#define __NR_munlockall         153
> -#define __NR_sched_setparam             154
> -#define __NR_sched_getparam             155
> -#define __NR_sched_setscheduler         156
> -#define __NR_sched_getscheduler         157
> -#define __NR_sched_yield                158
> -#define __NR_sched_get_priority_max     159
> -#define __NR_sched_get_priority_min     160
> -#define __NR_sched_rr_get_interval      161
> -#define __NR_nanosleep          162
> -#define __NR_mremap             163
> -#define __NR_query_module       167
> -#define __NR_poll               168
> -#define __NR_nfsservctl         169
> -#define __NR_prctl              172
> -#define __NR_rt_sigreturn       173
> -#define __NR_rt_sigaction       174
> -#define __NR_rt_sigprocmask     175
> -#define __NR_rt_sigpending      176
> -#define __NR_rt_sigtimedwait    177
> -#define __NR_rt_sigqueueinfo    178
> -#define __NR_rt_sigsuspend      179
> -#define __NR_pread64            180
> -#define __NR_pwrite64           181
> -#define __NR_getcwd             183
> -#define __NR_capget             184
> -#define __NR_capset             185
> -#define __NR_sigaltstack        186
> -#define __NR_sendfile           187
> -#define __NR_getpmsg         188
> -#define __NR_putpmsg         189
> -#define __NR_vfork           190
> -#define __NR_pivot_root         217
> -#define __NR_mincore            218
> -#define __NR_madvise            219
> -#define __NR_getdents64              220
> -#define __NR_readahead               222
> -#define __NR_setxattr                224
> -#define __NR_lsetxattr               225
> -#define __NR_fsetxattr               226
> -#define __NR_getxattr                227
> -#define __NR_lgetxattr               228
> -#define __NR_fgetxattr               229
> -#define __NR_listxattr               230
> -#define __NR_llistxattr              231
> -#define __NR_flistxattr              232
> -#define __NR_removexattr     233
> -#define __NR_lremovexattr    234
> -#define __NR_fremovexattr    235
> -#define __NR_gettid          236
> -#define __NR_tkill           237
> -#define __NR_futex           238
> -#define __NR_sched_setaffinity       239
> -#define __NR_sched_getaffinity       240
> -#define __NR_tgkill          241
> -/* Number 242 is reserved for tux */
> -#define __NR_io_setup                243
> -#define __NR_io_destroy              244
> -#define __NR_io_getevents    245
> -#define __NR_io_submit               246
> -#define __NR_io_cancel               247
> -#define __NR_exit_group              248
> -#define __NR_epoll_create    249
> -#define __NR_epoll_ctl               250
> -#define __NR_epoll_wait              251
> -#define __NR_set_tid_address 252
> -#define __NR_fadvise64               253
> -#define __NR_timer_create    254
> -#define __NR_timer_settime   255
> -#define __NR_timer_gettime   256
> -#define __NR_timer_getoverrun        257
> -#define __NR_timer_delete    258
> -#define __NR_clock_settime   259
> -#define __NR_clock_gettime   260
> -#define __NR_clock_getres    261
> -#define __NR_clock_nanosleep 262
> -/* Number 263 is reserved for vserver */
> -#define __NR_statfs64                265
> -#define __NR_fstatfs64               266
> -#define __NR_remap_file_pages        267
> -#define __NR_mbind           268
> -#define __NR_get_mempolicy   269
> -#define __NR_set_mempolicy   270
> -#define __NR_mq_open         271
> -#define __NR_mq_unlink               272
> -#define __NR_mq_timedsend    273
> -#define __NR_mq_timedreceive 274
> -#define __NR_mq_notify               275
> -#define __NR_mq_getsetattr   276
> -#define __NR_kexec_load              277
> -#define __NR_add_key         278
> -#define __NR_request_key     279
> -#define __NR_keyctl          280
> -#define __NR_waitid          281
> -#define __NR_ioprio_set              282
> -#define __NR_ioprio_get              283
> -#define __NR_inotify_init    284
> -#define __NR_inotify_add_watch       285
> -#define __NR_inotify_rm_watch        286
> -#define __NR_migrate_pages   287
> -#define __NR_openat          288
> -#define __NR_mkdirat         289
> -#define __NR_mknodat         290
> -#define __NR_fchownat                291
> -#define __NR_futimesat               292
> -#define __NR_unlinkat                294
> -#define __NR_renameat                295
> -#define __NR_linkat          296
> -#define __NR_symlinkat               297
> -#define __NR_readlinkat              298
> -#define __NR_fchmodat                299
> -#define __NR_faccessat               300
> -#define __NR_pselect6                301
> -#define __NR_ppoll           302
> -#define __NR_unshare         303
> -#define __NR_set_robust_list 304
> -#define __NR_get_robust_list 305
> -#define __NR_splice          306
> -#define __NR_sync_file_range 307
> -#define __NR_tee             308
> -#define __NR_vmsplice                309
> -#define __NR_move_pages              310
> -#define __NR_getcpu          311
> -#define __NR_epoll_pwait     312
> -#define __NR_utimes          313
> -#define __NR_fallocate               314
> -#define __NR_utimensat               315
> -#define __NR_signalfd                316
> -#define __NR_timerfd         317
> -#define __NR_eventfd         318
> -#define __NR_timerfd_create  319
> -#define __NR_timerfd_settime 320
> -#define __NR_timerfd_gettime 321
> -#define __NR_signalfd4               322
> -#define __NR_eventfd2                323
> -#define __NR_inotify_init1   324
> -#define __NR_pipe2           325
> -#define __NR_dup3            326
> -#define __NR_epoll_create1   327
> -#define      __NR_preadv             328
> -#define      __NR_pwritev            329
> -#define __NR_rt_tgsigqueueinfo       330
> -#define __NR_perf_event_open 331
> -#define __NR_fanotify_init   332
> -#define __NR_fanotify_mark   333
> -#define __NR_prlimit64               334
> -#define __NR_name_to_handle_at       335
> -#define __NR_open_by_handle_at       336
> -#define __NR_clock_adjtime   337
> -#define __NR_syncfs          338
> -#define __NR_setns           339
> -#define __NR_process_vm_readv        340
> -#define __NR_process_vm_writev       341
> -#define __NR_s390_runtime_instr 342
> -#define __NR_kcmp            343
> -#define __NR_finit_module    344
> -#define __NR_sched_setattr   345
> -#define __NR_sched_getattr   346
> -#define __NR_renameat2               347
> -#define __NR_seccomp         348
> -#define __NR_getrandom               349
> -#define __NR_memfd_create    350
> -#define __NR_bpf             351
> -#define __NR_s390_pci_mmio_write     352
> -#define __NR_s390_pci_mmio_read              353
> -#define __NR_execveat                354
> -#define __NR_userfaultfd     355
> -#define __NR_membarrier              356
> -#define __NR_recvmmsg                357
> -#define __NR_sendmmsg                358
> -#define __NR_socket          359
> -#define __NR_socketpair              360
> -#define __NR_bind            361
> -#define __NR_connect         362
> -#define __NR_listen          363
> -#define __NR_accept4         364
> -#define __NR_getsockopt              365
> -#define __NR_setsockopt              366
> -#define __NR_getsockname     367
> -#define __NR_getpeername     368
> -#define __NR_sendto          369
> -#define __NR_sendmsg         370
> -#define __NR_recvfrom                371
> -#define __NR_recvmsg         372
> -#define __NR_shutdown                373
> -#define __NR_mlock2          374
> -#define __NR_copy_file_range 375
> -#define __NR_preadv2         376
> -#define __NR_pwritev2                377
> -#define __NR_s390_guarded_storage    378
> -#define __NR_statx           379
> -#define __NR_s390_sthyi              380
> -#define NR_syscalls 381
> -
> -/* 
> - * There are some system calls that are not present on 64 bit, some
> - * have a different name although they do the same (e.g. __NR_chown32
> - * is __NR_chown on 64 bit).
> - */
> -#ifndef __s390x__
> -
> -#define __NR_time             13
> -#define __NR_lchown           16
> -#define __NR_setuid           23
> -#define __NR_getuid           24
> -#define __NR_stime            25
> -#define __NR_setgid           46
> -#define __NR_getgid           47
> -#define __NR_geteuid          49
> -#define __NR_getegid          50
> -#define __NR_setreuid                 70
> -#define __NR_setregid                 71
> -#define __NR_getrlimit                76
> -#define __NR_getgroups                80
> -#define __NR_setgroups                81
> -#define __NR_fchown           95
> -#define __NR_ioperm          101
> -#define __NR_setfsuid                138
> -#define __NR_setfsgid                139
> -#define __NR__llseek         140
> -#define __NR__newselect      142
> -#define __NR_setresuid               164
> -#define __NR_getresuid               165
> -#define __NR_setresgid               170
> -#define __NR_getresgid               171
> -#define __NR_chown           182
> -#define __NR_ugetrlimit              191     /* SuS compliant getrlimit */
> -#define __NR_mmap2           192
> -#define __NR_truncate64              193
> -#define __NR_ftruncate64     194
> -#define __NR_stat64          195
> -#define __NR_lstat64         196
> -#define __NR_fstat64         197
> -#define __NR_lchown32                198
> -#define __NR_getuid32                199
> -#define __NR_getgid32                200
> -#define __NR_geteuid32               201
> -#define __NR_getegid32               202
> -#define __NR_setreuid32              203
> -#define __NR_setregid32              204
> -#define __NR_getgroups32     205
> -#define __NR_setgroups32     206
> -#define __NR_fchown32                207
> -#define __NR_setresuid32     208
> -#define __NR_getresuid32     209
> -#define __NR_setresgid32     210
> -#define __NR_getresgid32     211
> -#define __NR_chown32         212
> -#define __NR_setuid32                213
> -#define __NR_setgid32                214
> -#define __NR_setfsuid32              215
> -#define __NR_setfsgid32              216
> -#define __NR_fcntl64         221
> -#define __NR_sendfile64              223
> -#define __NR_fadvise64_64    264
> -#define __NR_fstatat64               293
> -
> +#ifdef __s390x__
> +#include <asm/unistd_64.h>
>  #else
> -
> -#define __NR_select          142
> -#define __NR_getrlimit               191     /* SuS compliant getrlimit */
> -#define __NR_lchown                  198
> -#define __NR_getuid                  199
> -#define __NR_getgid                  200
> -#define __NR_geteuid                 201
> -#define __NR_getegid                 202
> -#define __NR_setreuid                203
> -#define __NR_setregid                204
> -#define __NR_getgroups       205
> -#define __NR_setgroups       206
> -#define __NR_fchown                  207
> -#define __NR_setresuid       208
> -#define __NR_getresuid       209
> -#define __NR_setresgid       210
> -#define __NR_getresgid       211
> -#define __NR_chown           212
> -#define __NR_setuid                  213
> -#define __NR_setgid                  214
> -#define __NR_setfsuid                215
> -#define __NR_setfsgid                216
> -#define __NR_newfstatat              293
> -
> +#include <asm/unistd_32.h>
>  #endif
> 
>  #endif /* _ASM_S390_UNISTD_H_ */
> diff --git a/linux-headers/asm-s390/unistd_32.h 
> b/linux-headers/asm-s390/unistd_32.h
> new file mode 100644
> index 0000000..1ae66a2
> --- /dev/null
> +++ b/linux-headers/asm-s390/unistd_32.h
> @@ -0,0 +1,364 @@
> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +#ifndef _ASM_S390_UNISTD_32_H
> +#define _ASM_S390_UNISTD_32_H
> +
> +#define __NR_exit 1
> +#define __NR_fork 2
> +#define __NR_read 3
> +#define __NR_write 4
> +#define __NR_open 5
> +#define __NR_close 6
> +#define __NR_restart_syscall 7
> +#define __NR_creat 8
> +#define __NR_link 9
> +#define __NR_unlink 10
> +#define __NR_execve 11
> +#define __NR_chdir 12
> +#define __NR_time 13
> +#define __NR_mknod 14
> +#define __NR_chmod 15
> +#define __NR_lchown 16
> +#define __NR_lseek 19
> +#define __NR_getpid 20
> +#define __NR_mount 21
> +#define __NR_umount 22
> +#define __NR_setuid 23
> +#define __NR_getuid 24
> +#define __NR_stime 25
> +#define __NR_ptrace 26
> +#define __NR_alarm 27
> +#define __NR_pause 29
> +#define __NR_utime 30
> +#define __NR_access 33
> +#define __NR_nice 34
> +#define __NR_sync 36
> +#define __NR_kill 37
> +#define __NR_rename 38
> +#define __NR_mkdir 39
> +#define __NR_rmdir 40
> +#define __NR_dup 41
> +#define __NR_pipe 42
> +#define __NR_times 43
> +#define __NR_brk 45
> +#define __NR_setgid 46
> +#define __NR_getgid 47
> +#define __NR_signal 48
> +#define __NR_geteuid 49
> +#define __NR_getegid 50
> +#define __NR_acct 51
> +#define __NR_umount2 52
> +#define __NR_ioctl 54
> +#define __NR_fcntl 55
> +#define __NR_setpgid 57
> +#define __NR_umask 60
> +#define __NR_chroot 61
> +#define __NR_ustat 62
> +#define __NR_dup2 63
> +#define __NR_getppid 64
> +#define __NR_getpgrp 65
> +#define __NR_setsid 66
> +#define __NR_sigaction 67
> +#define __NR_setreuid 70
> +#define __NR_setregid 71
> +#define __NR_sigsuspend 72
> +#define __NR_sigpending 73
> +#define __NR_sethostname 74
> +#define __NR_setrlimit 75
> +#define __NR_getrlimit 76
> +#define __NR_getrusage 77
> +#define __NR_gettimeofday 78
> +#define __NR_settimeofday 79
> +#define __NR_getgroups 80
> +#define __NR_setgroups 81
> +#define __NR_symlink 83
> +#define __NR_readlink 85
> +#define __NR_uselib 86
> +#define __NR_swapon 87
> +#define __NR_reboot 88
> +#define __NR_readdir 89
> +#define __NR_mmap 90
> +#define __NR_munmap 91
> +#define __NR_truncate 92
> +#define __NR_ftruncate 93
> +#define __NR_fchmod 94
> +#define __NR_fchown 95
> +#define __NR_getpriority 96
> +#define __NR_setpriority 97
> +#define __NR_statfs 99
> +#define __NR_fstatfs 100
> +#define __NR_ioperm 101
> +#define __NR_socketcall 102
> +#define __NR_syslog 103
> +#define __NR_setitimer 104
> +#define __NR_getitimer 105
> +#define __NR_stat 106
> +#define __NR_lstat 107
> +#define __NR_fstat 108
> +#define __NR_lookup_dcookie 110
> +#define __NR_vhangup 111
> +#define __NR_idle 112
> +#define __NR_wait4 114
> +#define __NR_swapoff 115
> +#define __NR_sysinfo 116
> +#define __NR_ipc 117
> +#define __NR_fsync 118
> +#define __NR_sigreturn 119
> +#define __NR_clone 120
> +#define __NR_setdomainname 121
> +#define __NR_uname 122
> +#define __NR_adjtimex 124
> +#define __NR_mprotect 125
> +#define __NR_sigprocmask 126
> +#define __NR_create_module 127
> +#define __NR_init_module 128
> +#define __NR_delete_module 129
> +#define __NR_get_kernel_syms 130
> +#define __NR_quotactl 131
> +#define __NR_getpgid 132
> +#define __NR_fchdir 133
> +#define __NR_bdflush 134
> +#define __NR_sysfs 135
> +#define __NR_personality 136
> +#define __NR_afs_syscall 137
> +#define __NR_setfsuid 138
> +#define __NR_setfsgid 139
> +#define __NR__llseek 140
> +#define __NR_getdents 141
> +#define __NR__newselect 142
> +#define __NR_flock 143
> +#define __NR_msync 144
> +#define __NR_readv 145
> +#define __NR_writev 146
> +#define __NR_getsid 147
> +#define __NR_fdatasync 148
> +#define __NR__sysctl 149
> +#define __NR_mlock 150
> +#define __NR_munlock 151
> +#define __NR_mlockall 152
> +#define __NR_munlockall 153
> +#define __NR_sched_setparam 154
> +#define __NR_sched_getparam 155
> +#define __NR_sched_setscheduler 156
> +#define __NR_sched_getscheduler 157
> +#define __NR_sched_yield 158
> +#define __NR_sched_get_priority_max 159
> +#define __NR_sched_get_priority_min 160
> +#define __NR_sched_rr_get_interval 161
> +#define __NR_nanosleep 162
> +#define __NR_mremap 163
> +#define __NR_setresuid 164
> +#define __NR_getresuid 165
> +#define __NR_query_module 167
> +#define __NR_poll 168
> +#define __NR_nfsservctl 169
> +#define __NR_setresgid 170
> +#define __NR_getresgid 171
> +#define __NR_prctl 172
> +#define __NR_rt_sigreturn 173
> +#define __NR_rt_sigaction 174
> +#define __NR_rt_sigprocmask 175
> +#define __NR_rt_sigpending 176
> +#define __NR_rt_sigtimedwait 177
> +#define __NR_rt_sigqueueinfo 178
> +#define __NR_rt_sigsuspend 179
> +#define __NR_pread64 180
> +#define __NR_pwrite64 181
> +#define __NR_chown 182
> +#define __NR_getcwd 183
> +#define __NR_capget 184
> +#define __NR_capset 185
> +#define __NR_sigaltstack 186
> +#define __NR_sendfile 187
> +#define __NR_getpmsg 188
> +#define __NR_putpmsg 189
> +#define __NR_vfork 190
> +#define __NR_ugetrlimit 191
> +#define __NR_mmap2 192
> +#define __NR_truncate64 193
> +#define __NR_ftruncate64 194
> +#define __NR_stat64 195
> +#define __NR_lstat64 196
> +#define __NR_fstat64 197
> +#define __NR_lchown32 198
> +#define __NR_getuid32 199
> +#define __NR_getgid32 200
> +#define __NR_geteuid32 201
> +#define __NR_getegid32 202
> +#define __NR_setreuid32 203
> +#define __NR_setregid32 204
> +#define __NR_getgroups32 205
> +#define __NR_setgroups32 206
> +#define __NR_fchown32 207
> +#define __NR_setresuid32 208
> +#define __NR_getresuid32 209
> +#define __NR_setresgid32 210
> +#define __NR_getresgid32 211
> +#define __NR_chown32 212
> +#define __NR_setuid32 213
> +#define __NR_setgid32 214
> +#define __NR_setfsuid32 215
> +#define __NR_setfsgid32 216
> +#define __NR_pivot_root 217
> +#define __NR_mincore 218
> +#define __NR_madvise 219
> +#define __NR_getdents64 220
> +#define __NR_fcntl64 221
> +#define __NR_readahead 222
> +#define __NR_sendfile64 223
> +#define __NR_setxattr 224
> +#define __NR_lsetxattr 225
> +#define __NR_fsetxattr 226
> +#define __NR_getxattr 227
> +#define __NR_lgetxattr 228
> +#define __NR_fgetxattr 229
> +#define __NR_listxattr 230
> +#define __NR_llistxattr 231
> +#define __NR_flistxattr 232
> +#define __NR_removexattr 233
> +#define __NR_lremovexattr 234
> +#define __NR_fremovexattr 235
> +#define __NR_gettid 236
> +#define __NR_tkill 237
> +#define __NR_futex 238
> +#define __NR_sched_setaffinity 239
> +#define __NR_sched_getaffinity 240
> +#define __NR_tgkill 241
> +#define __NR_io_setup 243
> +#define __NR_io_destroy 244
> +#define __NR_io_getevents 245
> +#define __NR_io_submit 246
> +#define __NR_io_cancel 247
> +#define __NR_exit_group 248
> +#define __NR_epoll_create 249
> +#define __NR_epoll_ctl 250
> +#define __NR_epoll_wait 251
> +#define __NR_set_tid_address 252
> +#define __NR_fadvise64 253
> +#define __NR_timer_create 254
> +#define __NR_timer_settime 255
> +#define __NR_timer_gettime 256
> +#define __NR_timer_getoverrun 257
> +#define __NR_timer_delete 258
> +#define __NR_clock_settime 259
> +#define __NR_clock_gettime 260
> +#define __NR_clock_getres 261
> +#define __NR_clock_nanosleep 262
> +#define __NR_fadvise64_64 264
> +#define __NR_statfs64 265
> +#define __NR_fstatfs64 266
> +#define __NR_remap_file_pages 267
> +#define __NR_mbind 268
> +#define __NR_get_mempolicy 269
> +#define __NR_set_mempolicy 270
> +#define __NR_mq_open 271
> +#define __NR_mq_unlink 272
> +#define __NR_mq_timedsend 273
> +#define __NR_mq_timedreceive 274
> +#define __NR_mq_notify 275
> +#define __NR_mq_getsetattr 276
> +#define __NR_kexec_load 277
> +#define __NR_add_key 278
> +#define __NR_request_key 279
> +#define __NR_keyctl 280
> +#define __NR_waitid 281
> +#define __NR_ioprio_set 282
> +#define __NR_ioprio_get 283
> +#define __NR_inotify_init 284
> +#define __NR_inotify_add_watch 285
> +#define __NR_inotify_rm_watch 286
> +#define __NR_migrate_pages 287
> +#define __NR_openat 288
> +#define __NR_mkdirat 289
> +#define __NR_mknodat 290
> +#define __NR_fchownat 291
> +#define __NR_futimesat 292
> +#define __NR_fstatat64 293
> +#define __NR_unlinkat 294
> +#define __NR_renameat 295
> +#define __NR_linkat 296
> +#define __NR_symlinkat 297
> +#define __NR_readlinkat 298
> +#define __NR_fchmodat 299
> +#define __NR_faccessat 300
> +#define __NR_pselect6 301
> +#define __NR_ppoll 302
> +#define __NR_unshare 303
> +#define __NR_set_robust_list 304
> +#define __NR_get_robust_list 305
> +#define __NR_splice 306
> +#define __NR_sync_file_range 307
> +#define __NR_tee 308
> +#define __NR_vmsplice 309
> +#define __NR_move_pages 310
> +#define __NR_getcpu 311
> +#define __NR_epoll_pwait 312
> +#define __NR_utimes 313
> +#define __NR_fallocate 314
> +#define __NR_utimensat 315
> +#define __NR_signalfd 316
> +#define __NR_timerfd 317
> +#define __NR_eventfd 318
> +#define __NR_timerfd_create 319
> +#define __NR_timerfd_settime 320
> +#define __NR_timerfd_gettime 321
> +#define __NR_signalfd4 322
> +#define __NR_eventfd2 323
> +#define __NR_inotify_init1 324
> +#define __NR_pipe2 325
> +#define __NR_dup3 326
> +#define __NR_epoll_create1 327
> +#define __NR_preadv 328
> +#define __NR_pwritev 329
> +#define __NR_rt_tgsigqueueinfo 330
> +#define __NR_perf_event_open 331
> +#define __NR_fanotify_init 332
> +#define __NR_fanotify_mark 333
> +#define __NR_prlimit64 334
> +#define __NR_name_to_handle_at 335
> +#define __NR_open_by_handle_at 336
> +#define __NR_clock_adjtime 337
> +#define __NR_syncfs 338
> +#define __NR_setns 339
> +#define __NR_process_vm_readv 340
> +#define __NR_process_vm_writev 341
> +#define __NR_s390_runtime_instr 342
> +#define __NR_kcmp 343
> +#define __NR_finit_module 344
> +#define __NR_sched_setattr 345
> +#define __NR_sched_getattr 346
> +#define __NR_renameat2 347
> +#define __NR_seccomp 348
> +#define __NR_getrandom 349
> +#define __NR_memfd_create 350
> +#define __NR_bpf 351
> +#define __NR_s390_pci_mmio_write 352
> +#define __NR_s390_pci_mmio_read 353
> +#define __NR_execveat 354
> +#define __NR_userfaultfd 355
> +#define __NR_membarrier 356
> +#define __NR_recvmmsg 357
> +#define __NR_sendmmsg 358
> +#define __NR_socket 359
> +#define __NR_socketpair 360
> +#define __NR_bind 361
> +#define __NR_connect 362
> +#define __NR_listen 363
> +#define __NR_accept4 364
> +#define __NR_getsockopt 365
> +#define __NR_setsockopt 366
> +#define __NR_getsockname 367
> +#define __NR_getpeername 368
> +#define __NR_sendto 369
> +#define __NR_sendmsg 370
> +#define __NR_recvfrom 371
> +#define __NR_recvmsg 372
> +#define __NR_shutdown 373
> +#define __NR_mlock2 374
> +#define __NR_copy_file_range 375
> +#define __NR_preadv2 376
> +#define __NR_pwritev2 377
> +#define __NR_s390_guarded_storage 378
> +#define __NR_statx 379
> +#define __NR_s390_sthyi 380
> +
> +#endif /* _ASM_S390_UNISTD_32_H */
> diff --git a/linux-headers/asm-s390/unistd_64.h 
> b/linux-headers/asm-s390/unistd_64.h
> new file mode 100644
> index 0000000..8aa9d04
> --- /dev/null
> +++ b/linux-headers/asm-s390/unistd_64.h
> @@ -0,0 +1,331 @@
> +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
> +#ifndef _ASM_S390_UNISTD_64_H
> +#define _ASM_S390_UNISTD_64_H
> +
> +#define __NR_exit 1
> +#define __NR_fork 2
> +#define __NR_read 3
> +#define __NR_write 4
> +#define __NR_open 5
> +#define __NR_close 6
> +#define __NR_restart_syscall 7
> +#define __NR_creat 8
> +#define __NR_link 9
> +#define __NR_unlink 10
> +#define __NR_execve 11
> +#define __NR_chdir 12
> +#define __NR_mknod 14
> +#define __NR_chmod 15
> +#define __NR_lseek 19
> +#define __NR_getpid 20
> +#define __NR_mount 21
> +#define __NR_umount 22
> +#define __NR_ptrace 26
> +#define __NR_alarm 27
> +#define __NR_pause 29
> +#define __NR_utime 30
> +#define __NR_access 33
> +#define __NR_nice 34
> +#define __NR_sync 36
> +#define __NR_kill 37
> +#define __NR_rename 38
> +#define __NR_mkdir 39
> +#define __NR_rmdir 40
> +#define __NR_dup 41
> +#define __NR_pipe 42
> +#define __NR_times 43
> +#define __NR_brk 45
> +#define __NR_signal 48
> +#define __NR_acct 51
> +#define __NR_umount2 52
> +#define __NR_ioctl 54
> +#define __NR_fcntl 55
> +#define __NR_setpgid 57
> +#define __NR_umask 60
> +#define __NR_chroot 61
> +#define __NR_ustat 62
> +#define __NR_dup2 63
> +#define __NR_getppid 64
> +#define __NR_getpgrp 65
> +#define __NR_setsid 66
> +#define __NR_sigaction 67
> +#define __NR_sigsuspend 72
> +#define __NR_sigpending 73
> +#define __NR_sethostname 74
> +#define __NR_setrlimit 75
> +#define __NR_getrusage 77
> +#define __NR_gettimeofday 78
> +#define __NR_settimeofday 79
> +#define __NR_symlink 83
> +#define __NR_readlink 85
> +#define __NR_uselib 86
> +#define __NR_swapon 87
> +#define __NR_reboot 88
> +#define __NR_readdir 89
> +#define __NR_mmap 90
> +#define __NR_munmap 91
> +#define __NR_truncate 92
> +#define __NR_ftruncate 93
> +#define __NR_fchmod 94
> +#define __NR_getpriority 96
> +#define __NR_setpriority 97
> +#define __NR_statfs 99
> +#define __NR_fstatfs 100
> +#define __NR_socketcall 102
> +#define __NR_syslog 103
> +#define __NR_setitimer 104
> +#define __NR_getitimer 105
> +#define __NR_stat 106
> +#define __NR_lstat 107
> +#define __NR_fstat 108
> +#define __NR_lookup_dcookie 110
> +#define __NR_vhangup 111
> +#define __NR_idle 112
> +#define __NR_wait4 114
> +#define __NR_swapoff 115
> +#define __NR_sysinfo 116
> +#define __NR_ipc 117
> +#define __NR_fsync 118
> +#define __NR_sigreturn 119
> +#define __NR_clone 120
> +#define __NR_setdomainname 121
> +#define __NR_uname 122
> +#define __NR_adjtimex 124
> +#define __NR_mprotect 125
> +#define __NR_sigprocmask 126
> +#define __NR_create_module 127
> +#define __NR_init_module 128
> +#define __NR_delete_module 129
> +#define __NR_get_kernel_syms 130
> +#define __NR_quotactl 131
> +#define __NR_getpgid 132
> +#define __NR_fchdir 133
> +#define __NR_bdflush 134
> +#define __NR_sysfs 135
> +#define __NR_personality 136
> +#define __NR_afs_syscall 137
> +#define __NR_getdents 141
> +#define __NR_select 142
> +#define __NR_flock 143
> +#define __NR_msync 144
> +#define __NR_readv 145
> +#define __NR_writev 146
> +#define __NR_getsid 147
> +#define __NR_fdatasync 148
> +#define __NR__sysctl 149
> +#define __NR_mlock 150
> +#define __NR_munlock 151
> +#define __NR_mlockall 152
> +#define __NR_munlockall 153
> +#define __NR_sched_setparam 154
> +#define __NR_sched_getparam 155
> +#define __NR_sched_setscheduler 156
> +#define __NR_sched_getscheduler 157
> +#define __NR_sched_yield 158
> +#define __NR_sched_get_priority_max 159
> +#define __NR_sched_get_priority_min 160
> +#define __NR_sched_rr_get_interval 161
> +#define __NR_nanosleep 162
> +#define __NR_mremap 163
> +#define __NR_query_module 167
> +#define __NR_poll 168
> +#define __NR_nfsservctl 169
> +#define __NR_prctl 172
> +#define __NR_rt_sigreturn 173
> +#define __NR_rt_sigaction 174
> +#define __NR_rt_sigprocmask 175
> +#define __NR_rt_sigpending 176
> +#define __NR_rt_sigtimedwait 177
> +#define __NR_rt_sigqueueinfo 178
> +#define __NR_rt_sigsuspend 179
> +#define __NR_pread64 180
> +#define __NR_pwrite64 181
> +#define __NR_getcwd 183
> +#define __NR_capget 184
> +#define __NR_capset 185
> +#define __NR_sigaltstack 186
> +#define __NR_sendfile 187
> +#define __NR_getpmsg 188
> +#define __NR_putpmsg 189
> +#define __NR_vfork 190
> +#define __NR_getrlimit 191
> +#define __NR_lchown 198
> +#define __NR_getuid 199
> +#define __NR_getgid 200
> +#define __NR_geteuid 201
> +#define __NR_getegid 202
> +#define __NR_setreuid 203
> +#define __NR_setregid 204
> +#define __NR_getgroups 205
> +#define __NR_setgroups 206
> +#define __NR_fchown 207
> +#define __NR_setresuid 208
> +#define __NR_getresuid 209
> +#define __NR_setresgid 210
> +#define __NR_getresgid 211
> +#define __NR_chown 212
> +#define __NR_setuid 213
> +#define __NR_setgid 214
> +#define __NR_setfsuid 215
> +#define __NR_setfsgid 216
> +#define __NR_pivot_root 217
> +#define __NR_mincore 218
> +#define __NR_madvise 219
> +#define __NR_getdents64 220
> +#define __NR_readahead 222
> +#define __NR_setxattr 224
> +#define __NR_lsetxattr 225
> +#define __NR_fsetxattr 226
> +#define __NR_getxattr 227
> +#define __NR_lgetxattr 228
> +#define __NR_fgetxattr 229
> +#define __NR_listxattr 230
> +#define __NR_llistxattr 231
> +#define __NR_flistxattr 232
> +#define __NR_removexattr 233
> +#define __NR_lremovexattr 234
> +#define __NR_fremovexattr 235
> +#define __NR_gettid 236
> +#define __NR_tkill 237
> +#define __NR_futex 238
> +#define __NR_sched_setaffinity 239
> +#define __NR_sched_getaffinity 240
> +#define __NR_tgkill 241
> +#define __NR_io_setup 243
> +#define __NR_io_destroy 244
> +#define __NR_io_getevents 245
> +#define __NR_io_submit 246
> +#define __NR_io_cancel 247
> +#define __NR_exit_group 248
> +#define __NR_epoll_create 249
> +#define __NR_epoll_ctl 250
> +#define __NR_epoll_wait 251
> +#define __NR_set_tid_address 252
> +#define __NR_fadvise64 253
> +#define __NR_timer_create 254
> +#define __NR_timer_settime 255
> +#define __NR_timer_gettime 256
> +#define __NR_timer_getoverrun 257
> +#define __NR_timer_delete 258
> +#define __NR_clock_settime 259
> +#define __NR_clock_gettime 260
> +#define __NR_clock_getres 261
> +#define __NR_clock_nanosleep 262
> +#define __NR_statfs64 265
> +#define __NR_fstatfs64 266
> +#define __NR_remap_file_pages 267
> +#define __NR_mbind 268
> +#define __NR_get_mempolicy 269
> +#define __NR_set_mempolicy 270
> +#define __NR_mq_open 271
> +#define __NR_mq_unlink 272
> +#define __NR_mq_timedsend 273
> +#define __NR_mq_timedreceive 274
> +#define __NR_mq_notify 275
> +#define __NR_mq_getsetattr 276
> +#define __NR_kexec_load 277
> +#define __NR_add_key 278
> +#define __NR_request_key 279
> +#define __NR_keyctl 280
> +#define __NR_waitid 281
> +#define __NR_ioprio_set 282
> +#define __NR_ioprio_get 283
> +#define __NR_inotify_init 284
> +#define __NR_inotify_add_watch 285
> +#define __NR_inotify_rm_watch 286
> +#define __NR_migrate_pages 287
> +#define __NR_openat 288
> +#define __NR_mkdirat 289
> +#define __NR_mknodat 290
> +#define __NR_fchownat 291
> +#define __NR_futimesat 292
> +#define __NR_newfstatat 293
> +#define __NR_unlinkat 294
> +#define __NR_renameat 295
> +#define __NR_linkat 296
> +#define __NR_symlinkat 297
> +#define __NR_readlinkat 298
> +#define __NR_fchmodat 299
> +#define __NR_faccessat 300
> +#define __NR_pselect6 301
> +#define __NR_ppoll 302
> +#define __NR_unshare 303
> +#define __NR_set_robust_list 304
> +#define __NR_get_robust_list 305
> +#define __NR_splice 306
> +#define __NR_sync_file_range 307
> +#define __NR_tee 308
> +#define __NR_vmsplice 309
> +#define __NR_move_pages 310
> +#define __NR_getcpu 311
> +#define __NR_epoll_pwait 312
> +#define __NR_utimes 313
> +#define __NR_fallocate 314
> +#define __NR_utimensat 315
> +#define __NR_signalfd 316
> +#define __NR_timerfd 317
> +#define __NR_eventfd 318
> +#define __NR_timerfd_create 319
> +#define __NR_timerfd_settime 320
> +#define __NR_timerfd_gettime 321
> +#define __NR_signalfd4 322
> +#define __NR_eventfd2 323
> +#define __NR_inotify_init1 324
> +#define __NR_pipe2 325
> +#define __NR_dup3 326
> +#define __NR_epoll_create1 327
> +#define __NR_preadv 328
> +#define __NR_pwritev 329
> +#define __NR_rt_tgsigqueueinfo 330
> +#define __NR_perf_event_open 331
> +#define __NR_fanotify_init 332
> +#define __NR_fanotify_mark 333
> +#define __NR_prlimit64 334
> +#define __NR_name_to_handle_at 335
> +#define __NR_open_by_handle_at 336
> +#define __NR_clock_adjtime 337
> +#define __NR_syncfs 338
> +#define __NR_setns 339
> +#define __NR_process_vm_readv 340
> +#define __NR_process_vm_writev 341
> +#define __NR_s390_runtime_instr 342
> +#define __NR_kcmp 343
> +#define __NR_finit_module 344
> +#define __NR_sched_setattr 345
> +#define __NR_sched_getattr 346
> +#define __NR_renameat2 347
> +#define __NR_seccomp 348
> +#define __NR_getrandom 349
> +#define __NR_memfd_create 350
> +#define __NR_bpf 351
> +#define __NR_s390_pci_mmio_write 352
> +#define __NR_s390_pci_mmio_read 353
> +#define __NR_execveat 354
> +#define __NR_userfaultfd 355
> +#define __NR_membarrier 356
> +#define __NR_recvmmsg 357
> +#define __NR_sendmmsg 358
> +#define __NR_socket 359
> +#define __NR_socketpair 360
> +#define __NR_bind 361
> +#define __NR_connect 362
> +#define __NR_listen 363
> +#define __NR_accept4 364
> +#define __NR_getsockopt 365
> +#define __NR_setsockopt 366
> +#define __NR_getsockname 367
> +#define __NR_getpeername 368
> +#define __NR_sendto 369
> +#define __NR_sendmsg 370
> +#define __NR_recvfrom 371
> +#define __NR_recvmsg 372
> +#define __NR_shutdown 373
> +#define __NR_mlock2 374
> +#define __NR_copy_file_range 375
> +#define __NR_preadv2 376
> +#define __NR_pwritev2 377
> +#define __NR_s390_guarded_storage 378
> +#define __NR_statx 379
> +#define __NR_s390_sthyi 380
> +
> +#endif /* _ASM_S390_UNISTD_64_H */
> diff --git a/linux-headers/asm-x86/kvm_para.h 
> b/linux-headers/asm-x86/kvm_para.h
> index 4c300f6..4c58184 100644
> --- a/linux-headers/asm-x86/kvm_para.h
> +++ b/linux-headers/asm-x86/kvm_para.h
> @@ -25,6 +25,8 @@
>  #define KVM_FEATURE_STEAL_TIME               5
>  #define KVM_FEATURE_PV_EOI           6
>  #define KVM_FEATURE_PV_UNHALT                7
> +#define KVM_FEATURE_PV_TLB_FLUSH     9
> +#define KVM_FEATURE_ASYNC_PF_VMEXIT  10
> 
>  /* The last 8 bits are used to indicate how to interpret the flags field
>   * in pvclock structure. If no bits are set, all flags are ignored.
> @@ -51,6 +53,9 @@ struct kvm_steal_time {
>       __u32 pad[11];
>  };
> 
> +#define KVM_VCPU_PREEMPTED          (1 << 0)
> +#define KVM_VCPU_FLUSH_TLB          (1 << 1)
> +
>  #define KVM_CLOCK_PAIRING_WALLCLOCK 0
>  struct kvm_clock_pairing {
>       __s64 sec;
> diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h
> index d92c9b2..a167be8 100644
> --- a/linux-headers/linux/kvm.h
> +++ b/linux-headers/linux/kvm.h
> @@ -761,6 +761,7 @@ struct kvm_ppc_resize_hpt {
>  #define KVM_TRACE_PAUSE           __KVM_DEPRECATED_MAIN_0x07
>  #define KVM_TRACE_DISABLE         __KVM_DEPRECATED_MAIN_0x08
>  #define KVM_GET_EMULATED_CPUID         _IOWR(KVMIO, 0x09, struct kvm_cpuid2)
> +#define KVM_GET_MSR_FEATURE_INDEX_LIST    _IOWR(KVMIO, 0x0a, struct 
> kvm_msr_list)
> 
>  /*
>   * Extension capability list.
> @@ -934,6 +935,7 @@ struct kvm_ppc_resize_hpt {
>  #define KVM_CAP_S390_AIS_MIGRATION 150
>  #define KVM_CAP_PPC_GET_CPU_CHAR 151
>  #define KVM_CAP_S390_BPB 152
> +#define KVM_CAP_GET_MSR_FEATURES 153
> 
>  #ifdef KVM_CAP_IRQ_ROUTING
> 
> @@ -1362,6 +1364,96 @@ struct kvm_s390_ucas_mapping {
>  /* Available with KVM_CAP_S390_CMMA_MIGRATION */
>  #define KVM_S390_GET_CMMA_BITS      _IOWR(KVMIO, 0xb8, struct 
> kvm_s390_cmma_log)
>  #define KVM_S390_SET_CMMA_BITS      _IOW(KVMIO, 0xb9, struct 
> kvm_s390_cmma_log)
> +/* Memory Encryption Commands */
> +#define KVM_MEMORY_ENCRYPT_OP      _IOWR(KVMIO, 0xba, unsigned long)
> +
> +struct kvm_enc_region {
> +     __u64 addr;
> +     __u64 size;
> +};
> +
> +#define KVM_MEMORY_ENCRYPT_REG_REGION    _IOR(KVMIO, 0xbb, struct 
> kvm_enc_region)
> +#define KVM_MEMORY_ENCRYPT_UNREG_REGION  _IOR(KVMIO, 0xbc, struct 
> kvm_enc_region)
> +
> +/* Secure Encrypted Virtualization command */
> +enum sev_cmd_id {
> +     /* Guest initialization commands */
> +     KVM_SEV_INIT = 0,
> +     KVM_SEV_ES_INIT,
> +     /* Guest launch commands */
> +     KVM_SEV_LAUNCH_START,
> +     KVM_SEV_LAUNCH_UPDATE_DATA,
> +     KVM_SEV_LAUNCH_UPDATE_VMSA,
> +     KVM_SEV_LAUNCH_SECRET,
> +     KVM_SEV_LAUNCH_MEASURE,
> +     KVM_SEV_LAUNCH_FINISH,
> +     /* Guest migration commands (outgoing) */
> +     KVM_SEV_SEND_START,
> +     KVM_SEV_SEND_UPDATE_DATA,
> +     KVM_SEV_SEND_UPDATE_VMSA,
> +     KVM_SEV_SEND_FINISH,
> +     /* Guest migration commands (incoming) */
> +     KVM_SEV_RECEIVE_START,
> +     KVM_SEV_RECEIVE_UPDATE_DATA,
> +     KVM_SEV_RECEIVE_UPDATE_VMSA,
> +     KVM_SEV_RECEIVE_FINISH,
> +     /* Guest status and debug commands */
> +     KVM_SEV_GUEST_STATUS,
> +     KVM_SEV_DBG_DECRYPT,
> +     KVM_SEV_DBG_ENCRYPT,
> +     /* Guest certificates commands */
> +     KVM_SEV_CERT_EXPORT,
> +
> +     KVM_SEV_NR_MAX,
> +};
> +
> +struct kvm_sev_cmd {
> +     __u32 id;
> +     __u64 data;
> +     __u32 error;
> +     __u32 sev_fd;
> +};
> +
> +struct kvm_sev_launch_start {
> +     __u32 handle;
> +     __u32 policy;
> +     __u64 dh_uaddr;
> +     __u32 dh_len;
> +     __u64 session_uaddr;
> +     __u32 session_len;
> +};
> +
> +struct kvm_sev_launch_update_data {
> +     __u64 uaddr;
> +     __u32 len;
> +};
> +
> +
> +struct kvm_sev_launch_secret {
> +     __u64 hdr_uaddr;
> +     __u32 hdr_len;
> +     __u64 guest_uaddr;
> +     __u32 guest_len;
> +     __u64 trans_uaddr;
> +     __u32 trans_len;
> +};
> +
> +struct kvm_sev_launch_measure {
> +     __u64 uaddr;
> +     __u32 len;
> +};
> +
> +struct kvm_sev_guest_status {
> +     __u32 handle;
> +     __u32 policy;
> +     __u32 state;
> +};
> +
> +struct kvm_sev_dbg {
> +     __u64 src_uaddr;
> +     __u64 dst_uaddr;
> +     __u32 len;
> +};
> 
>  #define KVM_DEV_ASSIGN_ENABLE_IOMMU  (1 << 0)
>  #define KVM_DEV_ASSIGN_PCI_2_3               (1 << 1)
> diff --git a/linux-headers/linux/psci.h b/linux-headers/linux/psci.h
> index ccd1773..3905492 100644
> --- a/linux-headers/linux/psci.h
> +++ b/linux-headers/linux/psci.h
> @@ -88,6 +88,9 @@
>               (((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
>  #define PSCI_VERSION_MINOR(ver)                      \
>               ((ver) & PSCI_VERSION_MINOR_MASK)
> +#define PSCI_VERSION(maj, min)                                               
> \
> +     ((((maj) << PSCI_VERSION_MAJOR_SHIFT) & PSCI_VERSION_MAJOR_MASK) | \
> +      ((min) & PSCI_VERSION_MINOR_MASK))
> 
>  /* PSCI features decoding (>=1.0) */
>  #define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT       1
> diff --git a/linux-headers/linux/vfio.h b/linux-headers/linux/vfio.h
> index 4312e96..3a0a305 100644
> --- a/linux-headers/linux/vfio.h
> +++ b/linux-headers/linux/vfio.h
> @@ -301,6 +301,16 @@ struct vfio_region_info_cap_type {
>  #define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG       (2)
>  #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG        (3)
> 
> +/*
> + * The MSIX mappable capability informs that MSIX data of a BAR can be 
> mmapped
> + * which allows direct access to non-MSIX registers which happened to be 
> within
> + * the same system page.
> + *
> + * Even though the userspace gets direct access to the MSIX data, the 
> existing
> + * VFIO_DEVICE_SET_IRQS interface must still be used for MSIX configuration.
> + */
> +#define VFIO_REGION_INFO_CAP_MSIX_MAPPABLE   3
> +
>  /**
>   * VFIO_DEVICE_GET_IRQ_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 9,
>   *                               struct vfio_irq_info)
> @@ -503,6 +513,68 @@ struct vfio_pci_hot_reset {
> 
>  #define VFIO_DEVICE_PCI_HOT_RESET    _IO(VFIO_TYPE, VFIO_BASE + 13)
> 
> +/**
> + * VFIO_DEVICE_QUERY_GFX_PLANE - _IOW(VFIO_TYPE, VFIO_BASE + 14,
> + *                                    struct vfio_device_query_gfx_plane)
> + *
> + * Set the drm_plane_type and flags, then retrieve the gfx plane info.
> + *
> + * flags supported:
> + * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_DMABUF are set
> + *   to ask if the mdev supports dma-buf. 0 on support, -EINVAL on no
> + *   support for dma-buf.
> + * - VFIO_GFX_PLANE_TYPE_PROBE and VFIO_GFX_PLANE_TYPE_REGION are set
> + *   to ask if the mdev supports region. 0 on support, -EINVAL on no
> + *   support for region.
> + * - VFIO_GFX_PLANE_TYPE_DMABUF or VFIO_GFX_PLANE_TYPE_REGION is set
> + *   with each call to query the plane info.
> + * - Others are invalid and return -EINVAL.
> + *
> + * Note:
> + * 1. Plane could be disabled by guest. In that case, success will be
> + *    returned with zero-initialized drm_format, size, width and height
> + *    fields.
> + * 2. x_hot/y_hot is set to 0xFFFFFFFF if no hotspot information available
> + *
> + * Return: 0 on success, -errno on other failure.
> + */
> +struct vfio_device_gfx_plane_info {
> +     __u32 argsz;
> +     __u32 flags;
> +#define VFIO_GFX_PLANE_TYPE_PROBE (1 << 0)
> +#define VFIO_GFX_PLANE_TYPE_DMABUF (1 << 1)
> +#define VFIO_GFX_PLANE_TYPE_REGION (1 << 2)
> +     /* in */
> +     __u32 drm_plane_type;   /* type of plane: DRM_PLANE_TYPE_* */
> +     /* out */
> +     __u32 drm_format;       /* drm format of plane */
> +     __u64 drm_format_mod;   /* tiled mode */
> +     __u32 width;    /* width of plane */
> +     __u32 height;   /* height of plane */
> +     __u32 stride;   /* stride of plane */
> +     __u32 size;     /* size of plane in bytes, align on page*/
> +     __u32 x_pos;    /* horizontal position of cursor plane */
> +     __u32 y_pos;    /* vertical position of cursor plane*/
> +     __u32 x_hot;    /* horizontal position of cursor hotspot */
> +     __u32 y_hot;    /* vertical position of cursor hotspot */
> +     union {
> +             __u32 region_index;     /* region index */
> +             __u32 dmabuf_id;        /* dma-buf id */
> +     };
> +};
> +
> +#define VFIO_DEVICE_QUERY_GFX_PLANE _IO(VFIO_TYPE, VFIO_BASE + 14)
> +
> +/**
> + * VFIO_DEVICE_GET_GFX_DMABUF - _IOW(VFIO_TYPE, VFIO_BASE + 15, __u32)
> + *
> + * Return a new dma-buf file descriptor for an exposed guest framebuffer
> + * described by the provided dmabuf_id. The dmabuf_id is returned from VFIO_
> + * DEVICE_QUERY_GFX_PLANE as a token of the exposed guest framebuffer.
> + */
> +
> +#define VFIO_DEVICE_GET_GFX_DMABUF _IO(VFIO_TYPE, VFIO_BASE + 15)
> +
>  /* -------- API for Type1 VFIO IOMMU -------- */
> 
>  /**
> diff --git a/scripts/update-linux-headers.sh b/scripts/update-linux-headers.sh
> index be06570..43d6334 100755
> --- a/scripts/update-linux-headers.sh
> +++ b/scripts/update-linux-headers.sh
> @@ -99,6 +99,8 @@ for arch in $ARCHLIST; do
>      mkdir -p "$output/include/standard-headers/asm-$arch"
>      if [ $arch = s390 ]; then
>          cp_portable "$tmpdir/include/asm/virtio-ccw.h" 
> "$output/include/standard-headers/asm-s390/"
> +        cp "$tmpdir/include/asm/unistd_32.h" 
> "$output/linux-headers/asm-s390/"
> +        cp "$tmpdir/include/asm/unistd_64.h" 
> "$output/linux-headers/asm-s390/"
>      fi
>      if [ $arch = arm ]; then
>          cp "$tmpdir/include/asm/unistd-eabi.h" 
> "$output/linux-headers/asm-arm/"
> 




reply via email to

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