History

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Martin Schwidefsky: - three merges for KVM/s390 with changes for vfio-ccw and cpacf. The patches are included in the KVM tree as well, let git sort it out. - add the new 'trng' random number generator - provide the secure key verification API for the pkey interface - introduce the z13 cpu counters to perf - add a new system call to set up the guarded storage facility - simplify TASK_SIZE and arch_get_unmapped_area - export the raw STSI data related to CPU topology to user space - ... and the usual churn of bug-fixes and cleanups. * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (74 commits) s390/crypt: use the correct module alias for paes_s390. s390/cpacf: Introduce kma instruction s390/cpacf: query instructions use unique parameters for compatibility with KMA s390/trng: Introduce s390 TRNG device driver. s390/crypto: Provide s390 specific arch random functionality. s390/crypto: Add new subfunctions to the cpacf PRNO function. s390/crypto: Renaming PPNO to PRNO. s390/pageattr: avoid unnecessary page table splitting s390/mm: simplify arch_get_unmapped_area[_topdown] s390/mm: make TASK_SIZE independent from the number of page table levels s390/gs: add regset for the guarded storage broadcast control block s390/kvm: Add use_cmma field to mm_context_t s390/kvm: Add PGSTE manipulation functions vfio: ccw: improve error handling for vfio_ccw_mdev_remove vfio: ccw: remove unnecessary NULL checks of a pointer s390/spinlock: remove compare and delay instruction s390/spinlock: use atomic primitives for spinlocks s390/cpumf: simplify detection of guest samples s390/pci: remove forward declaration s390/pci: increase the PCI_NR_FUNCTIONS default ...

Linus Torvalds committed 9 years ago

Commit b68e7e92 parents d3b5d35 d0790fb115 files · +4223 −561Browse files

Showing the changes to include/uapi/linux (3 of 115 files). Show all

Unified · Split

3 files
  1. include/uapi/linux/elf.h +2 −0
  2. include/uapi/linux/vfio.h +18 −0
  3. include/uapi/linux/vfio_ccw.h +24 −0
include/uapi/linux/elf.h+2−0
@@ -409,6 +409,8 @@ typedef struct elf64_shdr { · 408 unmodified lines
409#define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */409#define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */
410#define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 upper half */410#define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 upper half */
411#define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */411#define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */
412#define NT_S390_GS_CB 0x30b /* s390 guarded storage registers */
413#define NT_S390_GS_BC 0x30c /* s390 guarded storage broadcast control block */
412#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */414#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */
413#define NT_ARM_TLS 0x401 /* ARM TLS register */415#define NT_ARM_TLS 0x401 /* ARM TLS register */
414#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */416#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */
include/uapi/linux/vfio.h+18−0
@@ -198,6 +198,7 @@ struct vfio_device_info { · 197 unmodified lines
198#define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */198#define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */
199#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */199#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
200#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */200#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
201#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */
201 __u32 num_regions; /* Max region index + 1 */202 __u32 num_regions; /* Max region index + 1 */
202 __u32 num_irqs; /* Max IRQ index + 1 */203 __u32 num_irqs; /* Max IRQ index + 1 */
203};204};
@@ -212,6 +213,7 @@ struct vfio_device_info { · 8 unmodified lines
212#define VFIO_DEVICE_API_PCI_STRING "vfio-pci"213#define VFIO_DEVICE_API_PCI_STRING "vfio-pci"
213#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"214#define VFIO_DEVICE_API_PLATFORM_STRING "vfio-platform"
214#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"215#define VFIO_DEVICE_API_AMBA_STRING "vfio-amba"
216#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"
215 217
216/**218/**
217 * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,219 * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
@@ -446,6 +448,22 @@ enum { · 228 unmodified lines
446 VFIO_PCI_NUM_IRQS448 VFIO_PCI_NUM_IRQS
447};449};
448 450
451/*
452 * The vfio-ccw bus driver makes use of the following fixed region and
453 * IRQ index mapping. Unimplemented regions return a size of zero.
454 * Unimplemented IRQ types return a count of zero.
455 */
456
457enum {
458 VFIO_CCW_CONFIG_REGION_INDEX,
459 VFIO_CCW_NUM_REGIONS
460};
461
462enum {
463 VFIO_CCW_IO_IRQ_INDEX,
464 VFIO_CCW_NUM_IRQS
465};
466
449/**467/**
450 * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,468 * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,
451 * struct vfio_pci_hot_reset_info)469 * struct vfio_pci_hot_reset_info)
include/uapi/linux/vfio_ccw.h+24−0
@@ -0,0 +1,24 @@
1/*
2 * Interfaces for vfio-ccw
3 *
4 * Copyright IBM Corp. 2017
5 *
6 * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
7 */
8
9#ifndef _VFIO_CCW_H_
10#define _VFIO_CCW_H_
11
12#include <linux/types.h>
13
14struct ccw_io_region {
15#define ORB_AREA_SIZE 12
16 __u8 orb_area[ORB_AREA_SIZE];
17#define SCSW_AREA_SIZE 12
18 __u8 scsw_area[SCSW_AREA_SIZE];
19#define IRB_AREA_SIZE 96
20 __u8 irb_area[IRB_AREA_SIZE];
21 __u32 ret_code;
22} __packed;
23
24#endif