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
@ -176,7 +176,7 @@ struct pvrdma_port_attr {
|
|||||||
uint8_t subnet_timeout;
|
uint8_t subnet_timeout;
|
||||||
uint8_t init_type_reply;
|
uint8_t init_type_reply;
|
||||||
uint8_t active_width;
|
uint8_t active_width;
|
||||||
uint8_t active_speed;
|
uint16_t active_speed;
|
||||||
uint8_t phys_state;
|
uint8_t phys_state;
|
||||||
uint8_t reserved[2];
|
uint8_t reserved[2];
|
||||||
};
|
};
|
||||||
|
@ -1617,6 +1617,8 @@ enum ethtool_link_mode_bit_indices {
|
|||||||
ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,
|
ETHTOOL_LINK_MODE_400000baseLR4_ER4_FR4_Full_BIT = 87,
|
||||||
ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,
|
ETHTOOL_LINK_MODE_400000baseDR4_Full_BIT = 88,
|
||||||
ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,
|
ETHTOOL_LINK_MODE_400000baseCR4_Full_BIT = 89,
|
||||||
|
ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,
|
||||||
|
ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,
|
||||||
/* must be last entry */
|
/* must be last entry */
|
||||||
__ETHTOOL_LINK_MODE_MASK_NBITS
|
__ETHTOOL_LINK_MODE_MASK_NBITS
|
||||||
};
|
};
|
||||||
|
@ -172,6 +172,9 @@
|
|||||||
* - add FUSE_WRITE_KILL_PRIV flag
|
* - add FUSE_WRITE_KILL_PRIV flag
|
||||||
* - add FUSE_SETUPMAPPING and FUSE_REMOVEMAPPING
|
* - add FUSE_SETUPMAPPING and FUSE_REMOVEMAPPING
|
||||||
* - add map_alignment to fuse_init_out, add FUSE_MAP_ALIGNMENT flag
|
* - add map_alignment to fuse_init_out, add FUSE_MAP_ALIGNMENT flag
|
||||||
|
*
|
||||||
|
* 7.32
|
||||||
|
* - add flags to fuse_attr, add FUSE_ATTR_SUBMOUNT, add FUSE_SUBMOUNTS
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef _LINUX_FUSE_H
|
#ifndef _LINUX_FUSE_H
|
||||||
@ -203,7 +206,7 @@
|
|||||||
#define FUSE_KERNEL_VERSION 7
|
#define FUSE_KERNEL_VERSION 7
|
||||||
|
|
||||||
/** Minor version number of this interface */
|
/** Minor version number of this interface */
|
||||||
#define FUSE_KERNEL_MINOR_VERSION 31
|
#define FUSE_KERNEL_MINOR_VERSION 32
|
||||||
|
|
||||||
/** The node ID of the root inode */
|
/** The node ID of the root inode */
|
||||||
#define FUSE_ROOT_ID 1
|
#define FUSE_ROOT_ID 1
|
||||||
@ -227,7 +230,7 @@ struct fuse_attr {
|
|||||||
uint32_t gid;
|
uint32_t gid;
|
||||||
uint32_t rdev;
|
uint32_t rdev;
|
||||||
uint32_t blksize;
|
uint32_t blksize;
|
||||||
uint32_t padding;
|
uint32_t flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct fuse_kstatfs {
|
struct fuse_kstatfs {
|
||||||
@ -309,7 +312,10 @@ struct fuse_file_lock {
|
|||||||
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
* FUSE_CACHE_SYMLINKS: cache READLINK responses
|
||||||
* FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
|
* FUSE_NO_OPENDIR_SUPPORT: kernel supports zero-message opendir
|
||||||
* FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request
|
* FUSE_EXPLICIT_INVAL_DATA: only invalidate cached pages on explicit request
|
||||||
* FUSE_MAP_ALIGNMENT: map_alignment field is valid
|
* FUSE_MAP_ALIGNMENT: init_out.map_alignment contains log2(byte alignment) for
|
||||||
|
* foffset and moffset fields in struct
|
||||||
|
* fuse_setupmapping_out and fuse_removemapping_one.
|
||||||
|
* FUSE_SUBMOUNTS: kernel supports auto-mounting directory submounts
|
||||||
*/
|
*/
|
||||||
#define FUSE_ASYNC_READ (1 << 0)
|
#define FUSE_ASYNC_READ (1 << 0)
|
||||||
#define FUSE_POSIX_LOCKS (1 << 1)
|
#define FUSE_POSIX_LOCKS (1 << 1)
|
||||||
@ -338,6 +344,7 @@ struct fuse_file_lock {
|
|||||||
#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
|
#define FUSE_NO_OPENDIR_SUPPORT (1 << 24)
|
||||||
#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)
|
#define FUSE_EXPLICIT_INVAL_DATA (1 << 25)
|
||||||
#define FUSE_MAP_ALIGNMENT (1 << 26)
|
#define FUSE_MAP_ALIGNMENT (1 << 26)
|
||||||
|
#define FUSE_SUBMOUNTS (1 << 27)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CUSE INIT request/reply flags
|
* CUSE INIT request/reply flags
|
||||||
@ -413,6 +420,13 @@ struct fuse_file_lock {
|
|||||||
*/
|
*/
|
||||||
#define FUSE_FSYNC_FDATASYNC (1 << 0)
|
#define FUSE_FSYNC_FDATASYNC (1 << 0)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fuse_attr flags
|
||||||
|
*
|
||||||
|
* FUSE_ATTR_SUBMOUNT: Object is a submount root
|
||||||
|
*/
|
||||||
|
#define FUSE_ATTR_SUBMOUNT (1 << 0)
|
||||||
|
|
||||||
enum fuse_opcode {
|
enum fuse_opcode {
|
||||||
FUSE_LOOKUP = 1,
|
FUSE_LOOKUP = 1,
|
||||||
FUSE_FORGET = 2, /* no reply */
|
FUSE_FORGET = 2, /* no reply */
|
||||||
@ -888,4 +902,34 @@ struct fuse_copy_file_range_in {
|
|||||||
uint64_t flags;
|
uint64_t flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define FUSE_SETUPMAPPING_FLAG_WRITE (1ull << 0)
|
||||||
|
#define FUSE_SETUPMAPPING_FLAG_READ (1ull << 1)
|
||||||
|
struct fuse_setupmapping_in {
|
||||||
|
/* An already open handle */
|
||||||
|
uint64_t fh;
|
||||||
|
/* Offset into the file to start the mapping */
|
||||||
|
uint64_t foffset;
|
||||||
|
/* Length of mapping required */
|
||||||
|
uint64_t len;
|
||||||
|
/* Flags, FUSE_SETUPMAPPING_FLAG_* */
|
||||||
|
uint64_t flags;
|
||||||
|
/* Offset in Memory Window */
|
||||||
|
uint64_t moffset;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fuse_removemapping_in {
|
||||||
|
/* number of fuse_removemapping_one follows */
|
||||||
|
uint32_t count;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct fuse_removemapping_one {
|
||||||
|
/* Offset into the dax window start the unmapping */
|
||||||
|
uint64_t moffset;
|
||||||
|
/* Length of mapping required */
|
||||||
|
uint64_t len;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define FUSE_REMOVEMAPPING_MAX_ENTRY \
|
||||||
|
(PAGE_SIZE / sizeof(struct fuse_removemapping_one))
|
||||||
|
|
||||||
#endif /* _LINUX_FUSE_H */
|
#endif /* _LINUX_FUSE_H */
|
||||||
|
@ -515,6 +515,9 @@
|
|||||||
#define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */
|
#define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */
|
||||||
#define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */
|
#define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */
|
||||||
#define KEY_IMAGES 0x1ba /* AL Image Browser */
|
#define KEY_IMAGES 0x1ba /* AL Image Browser */
|
||||||
|
#define KEY_NOTIFICATION_CENTER 0x1bc /* Show/hide the notification center */
|
||||||
|
#define KEY_PICKUP_PHONE 0x1bd /* Answer incoming call */
|
||||||
|
#define KEY_HANGUP_PHONE 0x1be /* Decline incoming call */
|
||||||
|
|
||||||
#define KEY_DEL_EOL 0x1c0
|
#define KEY_DEL_EOL 0x1c0
|
||||||
#define KEY_DEL_EOS 0x1c1
|
#define KEY_DEL_EOS 0x1c1
|
||||||
@ -542,6 +545,7 @@
|
|||||||
#define KEY_FN_F 0x1e2
|
#define KEY_FN_F 0x1e2
|
||||||
#define KEY_FN_S 0x1e3
|
#define KEY_FN_S 0x1e3
|
||||||
#define KEY_FN_B 0x1e4
|
#define KEY_FN_B 0x1e4
|
||||||
|
#define KEY_FN_RIGHT_SHIFT 0x1e5
|
||||||
|
|
||||||
#define KEY_BRL_DOT1 0x1f1
|
#define KEY_BRL_DOT1 0x1f1
|
||||||
#define KEY_BRL_DOT2 0x1f2
|
#define KEY_BRL_DOT2 0x1f2
|
||||||
|
@ -76,6 +76,7 @@
|
|||||||
#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */
|
#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */
|
||||||
#define PCI_LATENCY_TIMER 0x0d /* 8 bits */
|
#define PCI_LATENCY_TIMER 0x0d /* 8 bits */
|
||||||
#define PCI_HEADER_TYPE 0x0e /* 8 bits */
|
#define PCI_HEADER_TYPE 0x0e /* 8 bits */
|
||||||
|
#define PCI_HEADER_TYPE_MASK 0x7f
|
||||||
#define PCI_HEADER_TYPE_NORMAL 0
|
#define PCI_HEADER_TYPE_NORMAL 0
|
||||||
#define PCI_HEADER_TYPE_BRIDGE 1
|
#define PCI_HEADER_TYPE_BRIDGE 1
|
||||||
#define PCI_HEADER_TYPE_CARDBUS 2
|
#define PCI_HEADER_TYPE_CARDBUS 2
|
||||||
@ -246,7 +247,7 @@
|
|||||||
#define PCI_PM_CAP_PME_D0 0x0800 /* PME# from D0 */
|
#define PCI_PM_CAP_PME_D0 0x0800 /* PME# from D0 */
|
||||||
#define PCI_PM_CAP_PME_D1 0x1000 /* PME# from D1 */
|
#define PCI_PM_CAP_PME_D1 0x1000 /* PME# from D1 */
|
||||||
#define PCI_PM_CAP_PME_D2 0x2000 /* PME# from D2 */
|
#define PCI_PM_CAP_PME_D2 0x2000 /* PME# from D2 */
|
||||||
#define PCI_PM_CAP_PME_D3 0x4000 /* PME# from D3 (hot) */
|
#define PCI_PM_CAP_PME_D3hot 0x4000 /* PME# from D3 (hot) */
|
||||||
#define PCI_PM_CAP_PME_D3cold 0x8000 /* PME# from D3 (cold) */
|
#define PCI_PM_CAP_PME_D3cold 0x8000 /* PME# from D3 (cold) */
|
||||||
#define PCI_PM_CAP_PME_SHIFT 11 /* Start of the PME Mask in PMC */
|
#define PCI_PM_CAP_PME_SHIFT 11 /* Start of the PME Mask in PMC */
|
||||||
#define PCI_PM_CTRL 4 /* PM control and status register */
|
#define PCI_PM_CTRL 4 /* PM control and status register */
|
||||||
@ -532,6 +533,8 @@
|
|||||||
#define PCI_EXP_LNKCAP_SLS_32_0GB 0x00000005 /* LNKCAP2 SLS Vector bit 4 */
|
#define PCI_EXP_LNKCAP_SLS_32_0GB 0x00000005 /* LNKCAP2 SLS Vector bit 4 */
|
||||||
#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
|
#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
|
||||||
#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
|
#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
|
||||||
|
#define PCI_EXP_LNKCAP_ASPM_L0S 0x00000400 /* ASPM L0s Support */
|
||||||
|
#define PCI_EXP_LNKCAP_ASPM_L1 0x00000800 /* ASPM L1 Support */
|
||||||
#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
|
#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
|
||||||
#define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */
|
#define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */
|
||||||
#define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* Clock Power Management */
|
#define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* Clock Power Management */
|
||||||
@ -1056,6 +1059,7 @@
|
|||||||
#define PCI_L1SS_CTL1_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Enable */
|
#define PCI_L1SS_CTL1_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Enable */
|
||||||
#define PCI_L1SS_CTL1_ASPM_L1_2 0x00000004 /* ASPM L1.2 Enable */
|
#define PCI_L1SS_CTL1_ASPM_L1_2 0x00000004 /* ASPM L1.2 Enable */
|
||||||
#define PCI_L1SS_CTL1_ASPM_L1_1 0x00000008 /* ASPM L1.1 Enable */
|
#define PCI_L1SS_CTL1_ASPM_L1_1 0x00000008 /* ASPM L1.1 Enable */
|
||||||
|
#define PCI_L1SS_CTL1_L1_2_MASK 0x00000005
|
||||||
#define PCI_L1SS_CTL1_L1SS_MASK 0x0000000f
|
#define PCI_L1SS_CTL1_L1SS_MASK 0x0000000f
|
||||||
#define PCI_L1SS_CTL1_CM_RESTORE_TIME 0x0000ff00 /* Common_Mode_Restore_Time */
|
#define PCI_L1SS_CTL1_CM_RESTORE_TIME 0x0000ff00 /* Common_Mode_Restore_Time */
|
||||||
#define PCI_L1SS_CTL1_LTR_L12_TH_VALUE 0x03ff0000 /* LTR_L1.2_THRESHOLD_Value */
|
#define PCI_L1SS_CTL1_LTR_L12_TH_VALUE 0x03ff0000 /* LTR_L1.2_THRESHOLD_Value */
|
||||||
|
@ -16,4 +16,7 @@ struct virtio_fs_config {
|
|||||||
uint32_t num_request_queues;
|
uint32_t num_request_queues;
|
||||||
} QEMU_PACKED;
|
} QEMU_PACKED;
|
||||||
|
|
||||||
|
/* For the id field in virtio_pci_shm_cap */
|
||||||
|
#define VIRTIO_FS_SHMCAP_ID_CACHE 0
|
||||||
|
|
||||||
#endif /* _LINUX_VIRTIO_FS_H */
|
#endif /* _LINUX_VIRTIO_FS_H */
|
||||||
|
@ -50,6 +50,10 @@
|
|||||||
* VIRTIO_GPU_CMD_GET_EDID
|
* VIRTIO_GPU_CMD_GET_EDID
|
||||||
*/
|
*/
|
||||||
#define VIRTIO_GPU_F_EDID 1
|
#define VIRTIO_GPU_F_EDID 1
|
||||||
|
/*
|
||||||
|
* VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID
|
||||||
|
*/
|
||||||
|
#define VIRTIO_GPU_F_RESOURCE_UUID 2
|
||||||
|
|
||||||
enum virtio_gpu_ctrl_type {
|
enum virtio_gpu_ctrl_type {
|
||||||
VIRTIO_GPU_UNDEFINED = 0,
|
VIRTIO_GPU_UNDEFINED = 0,
|
||||||
@ -66,6 +70,7 @@ enum virtio_gpu_ctrl_type {
|
|||||||
VIRTIO_GPU_CMD_GET_CAPSET_INFO,
|
VIRTIO_GPU_CMD_GET_CAPSET_INFO,
|
||||||
VIRTIO_GPU_CMD_GET_CAPSET,
|
VIRTIO_GPU_CMD_GET_CAPSET,
|
||||||
VIRTIO_GPU_CMD_GET_EDID,
|
VIRTIO_GPU_CMD_GET_EDID,
|
||||||
|
VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID,
|
||||||
|
|
||||||
/* 3d commands */
|
/* 3d commands */
|
||||||
VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
|
VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
|
||||||
@ -87,6 +92,7 @@ enum virtio_gpu_ctrl_type {
|
|||||||
VIRTIO_GPU_RESP_OK_CAPSET_INFO,
|
VIRTIO_GPU_RESP_OK_CAPSET_INFO,
|
||||||
VIRTIO_GPU_RESP_OK_CAPSET,
|
VIRTIO_GPU_RESP_OK_CAPSET,
|
||||||
VIRTIO_GPU_RESP_OK_EDID,
|
VIRTIO_GPU_RESP_OK_EDID,
|
||||||
|
VIRTIO_GPU_RESP_OK_RESOURCE_UUID,
|
||||||
|
|
||||||
/* error responses */
|
/* error responses */
|
||||||
VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
|
VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
|
||||||
@ -340,4 +346,17 @@ enum virtio_gpu_formats {
|
|||||||
VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM = 134,
|
VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM = 134,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID */
|
||||||
|
struct virtio_gpu_resource_assign_uuid {
|
||||||
|
struct virtio_gpu_ctrl_hdr hdr;
|
||||||
|
uint32_t resource_id;
|
||||||
|
uint32_t padding;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* VIRTIO_GPU_RESP_OK_RESOURCE_UUID */
|
||||||
|
struct virtio_gpu_resp_resource_uuid {
|
||||||
|
struct virtio_gpu_ctrl_hdr hdr;
|
||||||
|
uint8_t uuid[16];
|
||||||
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -122,6 +122,17 @@
|
|||||||
#define VIRTIO_MMIO_QUEUE_USED_LOW 0x0a0
|
#define VIRTIO_MMIO_QUEUE_USED_LOW 0x0a0
|
||||||
#define VIRTIO_MMIO_QUEUE_USED_HIGH 0x0a4
|
#define VIRTIO_MMIO_QUEUE_USED_HIGH 0x0a4
|
||||||
|
|
||||||
|
/* Shared memory region id */
|
||||||
|
#define VIRTIO_MMIO_SHM_SEL 0x0ac
|
||||||
|
|
||||||
|
/* Shared memory region length, 64 bits in two halves */
|
||||||
|
#define VIRTIO_MMIO_SHM_LEN_LOW 0x0b0
|
||||||
|
#define VIRTIO_MMIO_SHM_LEN_HIGH 0x0b4
|
||||||
|
|
||||||
|
/* Shared memory region base address, 64 bits in two halves */
|
||||||
|
#define VIRTIO_MMIO_SHM_BASE_LOW 0x0b8
|
||||||
|
#define VIRTIO_MMIO_SHM_BASE_HIGH 0x0bc
|
||||||
|
|
||||||
/* Configuration atomicity value */
|
/* Configuration atomicity value */
|
||||||
#define VIRTIO_MMIO_CONFIG_GENERATION 0x0fc
|
#define VIRTIO_MMIO_CONFIG_GENERATION 0x0fc
|
||||||
|
|
||||||
|
@ -113,6 +113,8 @@
|
|||||||
#define VIRTIO_PCI_CAP_DEVICE_CFG 4
|
#define VIRTIO_PCI_CAP_DEVICE_CFG 4
|
||||||
/* PCI configuration access */
|
/* PCI configuration access */
|
||||||
#define VIRTIO_PCI_CAP_PCI_CFG 5
|
#define VIRTIO_PCI_CAP_PCI_CFG 5
|
||||||
|
/* Additional shared memory capability */
|
||||||
|
#define VIRTIO_PCI_CAP_SHARED_MEMORY_CFG 8
|
||||||
|
|
||||||
/* This is the PCI capability header: */
|
/* This is the PCI capability header: */
|
||||||
struct virtio_pci_cap {
|
struct virtio_pci_cap {
|
||||||
@ -121,11 +123,18 @@ struct virtio_pci_cap {
|
|||||||
uint8_t cap_len; /* Generic PCI field: capability length */
|
uint8_t cap_len; /* Generic PCI field: capability length */
|
||||||
uint8_t cfg_type; /* Identifies the structure. */
|
uint8_t cfg_type; /* Identifies the structure. */
|
||||||
uint8_t bar; /* Where to find it. */
|
uint8_t bar; /* Where to find it. */
|
||||||
uint8_t padding[3]; /* Pad to full dword. */
|
uint8_t id; /* Multiple capabilities of the same type */
|
||||||
|
uint8_t padding[2]; /* Pad to full dword. */
|
||||||
uint32_t offset; /* Offset within bar. */
|
uint32_t offset; /* Offset within bar. */
|
||||||
uint32_t length; /* Length of the structure, in bytes. */
|
uint32_t length; /* Length of the structure, in bytes. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct virtio_pci_cap64 {
|
||||||
|
struct virtio_pci_cap cap;
|
||||||
|
uint32_t offset_hi; /* Most sig 32 bits of offset */
|
||||||
|
uint32_t length_hi; /* Most sig 32 bits of length */
|
||||||
|
};
|
||||||
|
|
||||||
struct virtio_pci_notify_cap {
|
struct virtio_pci_notify_cap {
|
||||||
struct virtio_pci_cap cap;
|
struct virtio_pci_cap cap;
|
||||||
uint32_t notify_off_multiplier; /* Multiplier for queue_notify_off. */
|
uint32_t notify_off_multiplier; /* Multiplier for queue_notify_off. */
|
||||||
|
@ -159,6 +159,21 @@ struct kvm_sync_regs {
|
|||||||
struct kvm_arch_memory_slot {
|
struct kvm_arch_memory_slot {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* PMU filter structure. Describe a range of events with a particular
|
||||||
|
* action. To be used with KVM_ARM_VCPU_PMU_V3_FILTER.
|
||||||
|
*/
|
||||||
|
struct kvm_pmu_event_filter {
|
||||||
|
__u16 base_event;
|
||||||
|
__u16 nevents;
|
||||||
|
|
||||||
|
#define KVM_PMU_EVENT_ALLOW 0
|
||||||
|
#define KVM_PMU_EVENT_DENY 1
|
||||||
|
|
||||||
|
__u8 action;
|
||||||
|
__u8 pad[3];
|
||||||
|
};
|
||||||
|
|
||||||
/* for KVM_GET/SET_VCPU_EVENTS */
|
/* for KVM_GET/SET_VCPU_EVENTS */
|
||||||
struct kvm_vcpu_events {
|
struct kvm_vcpu_events {
|
||||||
struct {
|
struct {
|
||||||
@ -242,6 +257,15 @@ struct kvm_vcpu_events {
|
|||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL 0
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_AVAIL 0
|
||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL 1
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_AVAIL 1
|
||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED 2
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_1_NOT_REQUIRED 2
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Only two states can be presented by the host kernel:
|
||||||
|
* - NOT_REQUIRED: the guest doesn't need to do anything
|
||||||
|
* - NOT_AVAIL: the guest isn't mitigated (it can still use SSBS if available)
|
||||||
|
*
|
||||||
|
* All the other values are deprecated. The host still accepts all
|
||||||
|
* values (they are ABI), but will narrow them to the above two.
|
||||||
|
*/
|
||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2 KVM_REG_ARM_FW_REG(2)
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2 KVM_REG_ARM_FW_REG(2)
|
||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL 0
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_NOT_AVAIL 0
|
||||||
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN 1
|
#define KVM_REG_ARM_SMCCC_ARCH_WORKAROUND_2_UNKNOWN 1
|
||||||
@ -329,6 +353,7 @@ struct kvm_vcpu_events {
|
|||||||
#define KVM_ARM_VCPU_PMU_V3_CTRL 0
|
#define KVM_ARM_VCPU_PMU_V3_CTRL 0
|
||||||
#define KVM_ARM_VCPU_PMU_V3_IRQ 0
|
#define KVM_ARM_VCPU_PMU_V3_IRQ 0
|
||||||
#define KVM_ARM_VCPU_PMU_V3_INIT 1
|
#define KVM_ARM_VCPU_PMU_V3_INIT 1
|
||||||
|
#define KVM_ARM_VCPU_PMU_V3_FILTER 2
|
||||||
#define KVM_ARM_VCPU_TIMER_CTRL 1
|
#define KVM_ARM_VCPU_TIMER_CTRL 1
|
||||||
#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
|
#define KVM_ARM_VCPU_TIMER_IRQ_VTIMER 0
|
||||||
#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
|
#define KVM_ARM_VCPU_TIMER_IRQ_PTIMER 1
|
||||||
|
@ -5,5 +5,6 @@
|
|||||||
#include <asm-generic/mman.h>
|
#include <asm-generic/mman.h>
|
||||||
|
|
||||||
#define PROT_BTI 0x10 /* BTI guarded page */
|
#define PROT_BTI 0x10 /* BTI guarded page */
|
||||||
|
#define PROT_MTE 0x20 /* Normal Tagged mapping */
|
||||||
|
|
||||||
#endif /* ! _UAPI__ASM_MMAN_H */
|
#endif /* ! _UAPI__ASM_MMAN_H */
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#define HUGETLB_FLAG_ENCODE_SHIFT 26
|
#define HUGETLB_FLAG_ENCODE_SHIFT 26
|
||||||
#define HUGETLB_FLAG_ENCODE_MASK 0x3f
|
#define HUGETLB_FLAG_ENCODE_MASK 0x3f
|
||||||
|
|
||||||
|
#define HUGETLB_FLAG_ENCODE_16KB (14 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||||
#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)
|
#define HUGETLB_FLAG_ENCODE_64KB (16 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||||
#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)
|
#define HUGETLB_FLAG_ENCODE_512KB (19 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||||
#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)
|
#define HUGETLB_FLAG_ENCODE_1MB (20 << HUGETLB_FLAG_ENCODE_SHIFT)
|
||||||
|
@ -140,7 +140,7 @@ __SYSCALL(__NR_renameat, sys_renameat)
|
|||||||
#define __NR_umount2 39
|
#define __NR_umount2 39
|
||||||
__SYSCALL(__NR_umount2, sys_umount)
|
__SYSCALL(__NR_umount2, sys_umount)
|
||||||
#define __NR_mount 40
|
#define __NR_mount 40
|
||||||
__SC_COMP(__NR_mount, sys_mount, compat_sys_mount)
|
__SYSCALL(__NR_mount, sys_mount)
|
||||||
#define __NR_pivot_root 41
|
#define __NR_pivot_root 41
|
||||||
__SYSCALL(__NR_pivot_root, sys_pivot_root)
|
__SYSCALL(__NR_pivot_root, sys_pivot_root)
|
||||||
|
|
||||||
@ -207,9 +207,9 @@ __SYSCALL(__NR_read, sys_read)
|
|||||||
#define __NR_write 64
|
#define __NR_write 64
|
||||||
__SYSCALL(__NR_write, sys_write)
|
__SYSCALL(__NR_write, sys_write)
|
||||||
#define __NR_readv 65
|
#define __NR_readv 65
|
||||||
__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
|
__SC_COMP(__NR_readv, sys_readv, sys_readv)
|
||||||
#define __NR_writev 66
|
#define __NR_writev 66
|
||||||
__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
|
__SC_COMP(__NR_writev, sys_writev, sys_writev)
|
||||||
#define __NR_pread64 67
|
#define __NR_pread64 67
|
||||||
__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
|
__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
|
||||||
#define __NR_pwrite64 68
|
#define __NR_pwrite64 68
|
||||||
@ -237,7 +237,7 @@ __SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4)
|
|||||||
|
|
||||||
/* fs/splice.c */
|
/* fs/splice.c */
|
||||||
#define __NR_vmsplice 75
|
#define __NR_vmsplice 75
|
||||||
__SC_COMP(__NR_vmsplice, sys_vmsplice, compat_sys_vmsplice)
|
__SYSCALL(__NR_vmsplice, sys_vmsplice)
|
||||||
#define __NR_splice 76
|
#define __NR_splice 76
|
||||||
__SYSCALL(__NR_splice, sys_splice)
|
__SYSCALL(__NR_splice, sys_splice)
|
||||||
#define __NR_tee 77
|
#define __NR_tee 77
|
||||||
@ -727,11 +727,9 @@ __SYSCALL(__NR_setns, sys_setns)
|
|||||||
#define __NR_sendmmsg 269
|
#define __NR_sendmmsg 269
|
||||||
__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg)
|
__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg)
|
||||||
#define __NR_process_vm_readv 270
|
#define __NR_process_vm_readv 270
|
||||||
__SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \
|
__SYSCALL(__NR_process_vm_readv, sys_process_vm_readv)
|
||||||
compat_sys_process_vm_readv)
|
|
||||||
#define __NR_process_vm_writev 271
|
#define __NR_process_vm_writev 271
|
||||||
__SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \
|
__SYSCALL(__NR_process_vm_writev, sys_process_vm_writev)
|
||||||
compat_sys_process_vm_writev)
|
|
||||||
#define __NR_kcmp 272
|
#define __NR_kcmp 272
|
||||||
__SYSCALL(__NR_kcmp, sys_kcmp)
|
__SYSCALL(__NR_kcmp, sys_kcmp)
|
||||||
#define __NR_finit_module 273
|
#define __NR_finit_module 273
|
||||||
@ -859,9 +857,11 @@ __SYSCALL(__NR_openat2, sys_openat2)
|
|||||||
__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
|
__SYSCALL(__NR_pidfd_getfd, sys_pidfd_getfd)
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
__SYSCALL(__NR_faccessat2, sys_faccessat2)
|
__SYSCALL(__NR_faccessat2, sys_faccessat2)
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
__SYSCALL(__NR_process_madvise, sys_process_madvise)
|
||||||
|
|
||||||
#undef __NR_syscalls
|
#undef __NR_syscalls
|
||||||
#define __NR_syscalls 440
|
#define __NR_syscalls 441
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 32 bit systems traditionally used different
|
* 32 bit systems traditionally used different
|
||||||
|
@ -369,6 +369,7 @@
|
|||||||
#define __NR_openat2 (__NR_Linux + 437)
|
#define __NR_openat2 (__NR_Linux + 437)
|
||||||
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
||||||
#define __NR_faccessat2 (__NR_Linux + 439)
|
#define __NR_faccessat2 (__NR_Linux + 439)
|
||||||
|
#define __NR_process_madvise (__NR_Linux + 440)
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_MIPS_UNISTD_N32_H */
|
#endif /* _ASM_MIPS_UNISTD_N32_H */
|
||||||
|
@ -345,6 +345,7 @@
|
|||||||
#define __NR_openat2 (__NR_Linux + 437)
|
#define __NR_openat2 (__NR_Linux + 437)
|
||||||
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
||||||
#define __NR_faccessat2 (__NR_Linux + 439)
|
#define __NR_faccessat2 (__NR_Linux + 439)
|
||||||
|
#define __NR_process_madvise (__NR_Linux + 440)
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_MIPS_UNISTD_N64_H */
|
#endif /* _ASM_MIPS_UNISTD_N64_H */
|
||||||
|
@ -415,6 +415,7 @@
|
|||||||
#define __NR_openat2 (__NR_Linux + 437)
|
#define __NR_openat2 (__NR_Linux + 437)
|
||||||
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
#define __NR_pidfd_getfd (__NR_Linux + 438)
|
||||||
#define __NR_faccessat2 (__NR_Linux + 439)
|
#define __NR_faccessat2 (__NR_Linux + 439)
|
||||||
|
#define __NR_process_madvise (__NR_Linux + 440)
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_MIPS_UNISTD_O32_H */
|
#endif /* _ASM_MIPS_UNISTD_O32_H */
|
||||||
|
@ -422,6 +422,7 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_POWERPC_UNISTD_32_H */
|
#endif /* _ASM_POWERPC_UNISTD_32_H */
|
||||||
|
@ -394,6 +394,7 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_POWERPC_UNISTD_64_H */
|
#endif /* _ASM_POWERPC_UNISTD_64_H */
|
||||||
|
@ -412,5 +412,6 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
#endif /* _ASM_S390_UNISTD_32_H */
|
#endif /* _ASM_S390_UNISTD_32_H */
|
||||||
|
@ -360,5 +360,6 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
#endif /* _ASM_S390_UNISTD_64_H */
|
#endif /* _ASM_S390_UNISTD_64_H */
|
||||||
|
@ -192,6 +192,26 @@ struct kvm_msr_list {
|
|||||||
__u32 indices[0];
|
__u32 indices[0];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* Maximum size of any access bitmap in bytes */
|
||||||
|
#define KVM_MSR_FILTER_MAX_BITMAP_SIZE 0x600
|
||||||
|
|
||||||
|
/* for KVM_X86_SET_MSR_FILTER */
|
||||||
|
struct kvm_msr_filter_range {
|
||||||
|
#define KVM_MSR_FILTER_READ (1 << 0)
|
||||||
|
#define KVM_MSR_FILTER_WRITE (1 << 1)
|
||||||
|
__u32 flags;
|
||||||
|
__u32 nmsrs; /* number of msrs in bitmap */
|
||||||
|
__u32 base; /* MSR index the bitmap starts at */
|
||||||
|
__u8 *bitmap; /* a 1 bit allows the operations in flags, 0 denies */
|
||||||
|
};
|
||||||
|
|
||||||
|
#define KVM_MSR_FILTER_MAX_RANGES 16
|
||||||
|
struct kvm_msr_filter {
|
||||||
|
#define KVM_MSR_FILTER_DEFAULT_ALLOW (0 << 0)
|
||||||
|
#define KVM_MSR_FILTER_DEFAULT_DENY (1 << 0)
|
||||||
|
__u32 flags;
|
||||||
|
struct kvm_msr_filter_range ranges[KVM_MSR_FILTER_MAX_RANGES];
|
||||||
|
};
|
||||||
|
|
||||||
struct kvm_cpuid_entry {
|
struct kvm_cpuid_entry {
|
||||||
__u32 function;
|
__u32 function;
|
||||||
|
@ -430,6 +430,7 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_UNISTD_32_H */
|
#endif /* _ASM_X86_UNISTD_32_H */
|
||||||
|
@ -352,6 +352,7 @@
|
|||||||
#define __NR_openat2 437
|
#define __NR_openat2 437
|
||||||
#define __NR_pidfd_getfd 438
|
#define __NR_pidfd_getfd 438
|
||||||
#define __NR_faccessat2 439
|
#define __NR_faccessat2 439
|
||||||
|
#define __NR_process_madvise 440
|
||||||
|
|
||||||
|
|
||||||
#endif /* _ASM_X86_UNISTD_64_H */
|
#endif /* _ASM_X86_UNISTD_64_H */
|
||||||
|
@ -305,6 +305,7 @@
|
|||||||
#define __NR_openat2 (__X32_SYSCALL_BIT + 437)
|
#define __NR_openat2 (__X32_SYSCALL_BIT + 437)
|
||||||
#define __NR_pidfd_getfd (__X32_SYSCALL_BIT + 438)
|
#define __NR_pidfd_getfd (__X32_SYSCALL_BIT + 438)
|
||||||
#define __NR_faccessat2 (__X32_SYSCALL_BIT + 439)
|
#define __NR_faccessat2 (__X32_SYSCALL_BIT + 439)
|
||||||
|
#define __NR_process_madvise (__X32_SYSCALL_BIT + 440)
|
||||||
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
|
#define __NR_rt_sigaction (__X32_SYSCALL_BIT + 512)
|
||||||
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
|
#define __NR_rt_sigreturn (__X32_SYSCALL_BIT + 513)
|
||||||
#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
|
#define __NR_ioctl (__X32_SYSCALL_BIT + 514)
|
||||||
|
@ -248,6 +248,8 @@ struct kvm_hyperv_exit {
|
|||||||
#define KVM_EXIT_IOAPIC_EOI 26
|
#define KVM_EXIT_IOAPIC_EOI 26
|
||||||
#define KVM_EXIT_HYPERV 27
|
#define KVM_EXIT_HYPERV 27
|
||||||
#define KVM_EXIT_ARM_NISV 28
|
#define KVM_EXIT_ARM_NISV 28
|
||||||
|
#define KVM_EXIT_X86_RDMSR 29
|
||||||
|
#define KVM_EXIT_X86_WRMSR 30
|
||||||
|
|
||||||
/* For KVM_EXIT_INTERNAL_ERROR */
|
/* For KVM_EXIT_INTERNAL_ERROR */
|
||||||
/* Emulate instruction failed. */
|
/* Emulate instruction failed. */
|
||||||
@ -413,6 +415,17 @@ struct kvm_run {
|
|||||||
__u64 esr_iss;
|
__u64 esr_iss;
|
||||||
__u64 fault_ipa;
|
__u64 fault_ipa;
|
||||||
} arm_nisv;
|
} 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. */
|
/* Fix the size of the union. */
|
||||||
char padding[256];
|
char padding[256];
|
||||||
};
|
};
|
||||||
@ -1037,6 +1050,9 @@ struct kvm_ppc_resize_hpt {
|
|||||||
#define KVM_CAP_SMALLER_MAXPHYADDR 185
|
#define KVM_CAP_SMALLER_MAXPHYADDR 185
|
||||||
#define KVM_CAP_S390_DIAG318 186
|
#define KVM_CAP_S390_DIAG318 186
|
||||||
#define KVM_CAP_STEAL_TIME 187
|
#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
|
#ifdef KVM_CAP_IRQ_ROUTING
|
||||||
|
|
||||||
@ -1538,6 +1554,9 @@ struct kvm_pv_cmd {
|
|||||||
/* Available with KVM_CAP_S390_PROTECTED */
|
/* Available with KVM_CAP_S390_PROTECTED */
|
||||||
#define KVM_S390_PV_COMMAND _IOWR(KVMIO, 0xc5, struct kvm_pv_cmd)
|
#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 */
|
/* Secure Encrypted Virtualization command */
|
||||||
enum sev_cmd_id {
|
enum sev_cmd_id {
|
||||||
/* Guest initialization commands */
|
/* Guest initialization commands */
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
|
#define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
|
||||||
#define MAP_HUGE_MASK HUGETLB_FLAG_ENCODE_MASK
|
#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_64KB HUGETLB_FLAG_ENCODE_64KB
|
||||||
#define MAP_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB
|
#define MAP_HUGE_512KB HUGETLB_FLAG_ENCODE_512KB
|
||||||
#define MAP_HUGE_1MB HUGETLB_FLAG_ENCODE_1MB
|
#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_AMBA (1 << 3) /* vfio-amba device */
|
||||||
#define VFIO_DEVICE_FLAGS_CCW (1 << 4) /* vfio-ccw 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_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_regions; /* Max region index + 1 */
|
||||||
__u32 num_irqs; /* Max IRQ 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)
|
#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_CCW_STRING "vfio-ccw"
|
||||||
#define VFIO_DEVICE_API_AP_STRING "vfio-ap"
|
#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,
|
* VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
|
||||||
* struct vfio_region_info)
|
* struct vfio_region_info)
|
||||||
@ -462,7 +474,7 @@ struct vfio_region_gfx_edid {
|
|||||||
* 5. Resumed
|
* 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
|
* 1. During normal shutdown of the user application, the user application may
|
||||||
* optionally change the VFIO device state from _RUNNING to _STOP. This
|
* optionally change the VFIO device state from _RUNNING to _STOP. This
|
||||||
* transition is optional. The vendor driver must support this transition but
|
* 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 */
|
__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)
|
#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…
Reference in New Issue
Block a user