mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
linux-headers: update against 5.10-rc1
commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec
Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
[aw: drop pvrdma_ring.h changes to avoid revert of d73415a315
("qemu/atomic.h: rename atomic_ to qatomic_")]
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
84567ea763
commit
53ba2eee52
28 changed files with 294 additions and 16 deletions
|
@ -248,6 +248,8 @@ struct kvm_hyperv_exit {
|
|||
#define KVM_EXIT_IOAPIC_EOI 26
|
||||
#define KVM_EXIT_HYPERV 27
|
||||
#define KVM_EXIT_ARM_NISV 28
|
||||
#define KVM_EXIT_X86_RDMSR 29
|
||||
#define KVM_EXIT_X86_WRMSR 30
|
||||
|
||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||
/* Emulate instruction failed. */
|
||||
|
@ -413,6 +415,17 @@ struct kvm_run {
|
|||
__u64 esr_iss;
|
||||
__u64 fault_ipa;
|
||||
} arm_nisv;
|
||||
/* KVM_EXIT_X86_RDMSR / KVM_EXIT_X86_WRMSR */
|
||||
struct {
|
||||
__u8 error; /* user -> kernel */
|
||||
__u8 pad[7];
|
||||
#define KVM_MSR_EXIT_REASON_INVAL (1 << 0)
|
||||
#define KVM_MSR_EXIT_REASON_UNKNOWN (1 << 1)
|
||||
#define KVM_MSR_EXIT_REASON_FILTER (1 << 2)
|
||||
__u32 reason; /* kernel -> user */
|
||||
__u32 index; /* kernel -> user */
|
||||
__u64 data; /* kernel <-> user */
|
||||
} msr;
|
||||
/* Fix the size of the union. */
|
||||
char padding[256];
|
||||
};
|
||||
|
@ -1037,6 +1050,9 @@ struct kvm_ppc_resize_hpt {
|
|||
#define KVM_CAP_SMALLER_MAXPHYADDR 185
|
||||
#define KVM_CAP_S390_DIAG318 186
|
||||
#define KVM_CAP_STEAL_TIME 187
|
||||
#define KVM_CAP_X86_USER_SPACE_MSR 188
|
||||
#define KVM_CAP_X86_MSR_FILTER 189
|
||||
#define KVM_CAP_ENFORCE_PV_FEATURE_CPUID 190
|
||||
|
||||
#ifdef KVM_CAP_IRQ_ROUTING
|
||||
|
||||
|
@ -1538,6 +1554,9 @@ struct kvm_pv_cmd {
|
|||
/* Available with KVM_CAP_S390_PROTECTED */
|
||||
#define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)
|
||||
|
||||
/* Available with KVM_CAP_X86_MSR_FILTER */
|
||||
#define KVM_X86_SET_MSR_FILTER _IOW(KVMIO, 0xc6, struct kvm_msr_filter)
|
||||
|
||||
/* Secure Encrypted Virtualization command */
|
||||
enum sev_cmd_id {
|
||||
/* Guest initialization commands */
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
|
||||
#define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
|
||||
|
||||
#define MAP_HUGE_16KB HUGETLB_FLAG_ENCODE_16KB
|
||||
#define MAP_HUGE_64KB HUGETLB_FLAG_ENCODE_64KB
|
||||
#define MAP_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB
|
||||
#define MAP_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB
|
||||
|
|
|
@ -201,8 +201,11 @@ struct vfio_device_info {
|
|||
#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
|
||||
#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw device */
|
||||
#define VFIO_DEVICE_FLAGS_AP (1 << 5) /* vfio-ap device */
|
||||
#define VFIO_DEVICE_FLAGS_FSL_MC (1 << 6) /* vfio-fsl-mc device */
|
||||
#define VFIO_DEVICE_FLAGS_CAPS (1 << 7) /* Info supports caps */
|
||||
__u32 num_regions; /* Max region index + 1 */
|
||||
__u32 num_irqs; /* Max IRQ index + 1 */
|
||||
__u32 cap_offset; /* Offset within info struct of first cap */
|
||||
};
|
||||
#define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
|
||||
|
||||
|
@ -218,6 +221,15 @@ struct vfio_device_info {
|
|||
#define VFIO_DEVICE_API_CCW_STRING "vfio-ccw"
|
||||
#define VFIO_DEVICE_API_AP_STRING "vfio-ap"
|
||||
|
||||
/*
|
||||
* The following capabilities are unique to s390 zPCI devices. Their contents
|
||||
* are further-defined in vfio_zdev.h
|
||||
*/
|
||||
#define VFIO_DEVICE_INFO_CAP_ZPCI_BASE 1
|
||||
#define VFIO_DEVICE_INFO_CAP_ZPCI_GROUP 2
|
||||
#define VFIO_DEVICE_INFO_CAP_ZPCI_UTIL 3
|
||||
#define VFIO_DEVICE_INFO_CAP_ZPCI_PFIP 4
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
|
||||
* struct vfio_region_info)
|
||||
|
@ -462,7 +474,7 @@ struct vfio_region_gfx_edid {
|
|||
* 5. Resumed
|
||||
* |--------->|
|
||||
*
|
||||
* 0. Default state of VFIO device is _RUNNNG when the user application starts.
|
||||
* 0. Default state of VFIO device is _RUNNING when the user application starts.
|
||||
* 1. During normal shutdown of the user application, the user application may
|
||||
* optionally change the VFIO device state from _RUNNING to _STOP. This
|
||||
* transition is optional. The vendor driver must support this transition but
|
||||
|
@ -1039,6 +1051,21 @@ struct vfio_iommu_type1_info_cap_migration {
|
|||
__u64 max_dirty_bitmap_size; /* in bytes */
|
||||
};
|
||||
|
||||
/*
|
||||
* The DMA available capability allows to report the current number of
|
||||
* simultaneously outstanding DMA mappings that are allowed.
|
||||
*
|
||||
* The structure below defines version 1 of this capability.
|
||||
*
|
||||
* avail: specifies the current number of outstanding DMA mappings allowed.
|
||||
*/
|
||||
#define VFIO_IOMMU_TYPE1_INFO_DMA_AVAIL 3
|
||||
|
||||
struct vfio_iommu_type1_info_dma_avail {
|
||||
struct vfio_info_cap_header header;
|
||||
__u32 avail;
|
||||
};
|
||||
|
||||
#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
|
||||
|
||||
/**
|
||||
|
|
78
linux-headers/linux/vfio_zdev.h
Normal file
78
linux-headers/linux/vfio_zdev.h
Normal file
|
@ -0,0 +1,78 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/*
|
||||
* VFIO Region definitions for ZPCI devices
|
||||
*
|
||||
* Copyright IBM Corp. 2020
|
||||
*
|
||||
* Author(s): Pierre Morel <pmorel@linux.ibm.com>
|
||||
* Matthew Rosato <mjrosato@linux.ibm.com>
|
||||
*/
|
||||
|
||||
#ifndef _VFIO_ZDEV_H_
|
||||
#define _VFIO_ZDEV_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/vfio.h>
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_INFO_CAP_ZPCI_BASE - Base PCI Function information
|
||||
*
|
||||
* This capability provides a set of descriptive information about the
|
||||
* associated PCI function.
|
||||
*/
|
||||
struct vfio_device_info_cap_zpci_base {
|
||||
struct vfio_info_cap_header header;
|
||||
__u64 start_dma; /* Start of available DMA addresses */
|
||||
__u64 end_dma; /* End of available DMA addresses */
|
||||
__u16 pchid; /* Physical Channel ID */
|
||||
__u16 vfn; /* Virtual function number */
|
||||
__u16 fmb_length; /* Measurement Block Length (in bytes) */
|
||||
__u8 pft; /* PCI Function Type */
|
||||
__u8 gid; /* PCI function group ID */
|
||||
};
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_INFO_CAP_ZPCI_GROUP - Base PCI Function Group information
|
||||
*
|
||||
* This capability provides a set of descriptive information about the group of
|
||||
* PCI functions that the associated device belongs to.
|
||||
*/
|
||||
struct vfio_device_info_cap_zpci_group {
|
||||
struct vfio_info_cap_header header;
|
||||
__u64 dasm; /* DMA Address space mask */
|
||||
__u64 msi_addr; /* MSI address */
|
||||
__u64 flags;
|
||||
#define VFIO_DEVICE_INFO_ZPCI_FLAG_REFRESH 1 /* Program-specified TLB refresh */
|
||||
__u16 mui; /* Measurement Block Update Interval */
|
||||
__u16 noi; /* Maximum number of MSIs */
|
||||
__u16 maxstbl; /* Maximum Store Block Length */
|
||||
__u8 version; /* Supported PCI Version */
|
||||
};
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_INFO_CAP_ZPCI_UTIL - Utility String
|
||||
*
|
||||
* This capability provides the utility string for the associated device, which
|
||||
* is a device identifier string made up of EBCDID characters. 'size' specifies
|
||||
* the length of 'util_str'.
|
||||
*/
|
||||
struct vfio_device_info_cap_zpci_util {
|
||||
struct vfio_info_cap_header header;
|
||||
__u32 size;
|
||||
__u8 util_str[];
|
||||
};
|
||||
|
||||
/**
|
||||
* VFIO_DEVICE_INFO_CAP_ZPCI_PFIP - PCI Function Path
|
||||
*
|
||||
* This capability provides the PCI function path string, which is an identifier
|
||||
* that describes the internal hardware path of the device. 'size' specifies
|
||||
* the length of 'pfip'.
|
||||
*/
|
||||
struct vfio_device_info_cap_zpci_pfip {
|
||||
struct vfio_info_cap_header header;
|
||||
__u32 size;
|
||||
__u8 pfip[];
|
||||
};
|
||||
|
||||
#endif
|
Loading…
Add table
Add a link
Reference in a new issue