234489ac56
vfio-cdx driver enables IOCTLs for user space to query MMIO regions for CDX devices and mmap them. This change also adds support for reset of CDX devices. With VFIO enabled on CDX devices, user-space applications can also exercise DMA securely via IOMMU on these devices. This change adds the VFIO CDX driver and enables the following ioctls for CDX devices: - VFIO_DEVICE_GET_INFO: - VFIO_DEVICE_GET_REGION_INFO - VFIO_DEVICE_RESET Signed-off-by: Nipun Gupta <nipun.gupta@amd.com> Reviewed-by: Pieter Jansen van Vuuren <pieter.jansen-van-vuuren@amd.com> Tested-by: Nikhil Agarwal <nikhil.agarwal@amd.com> Link: https://lore.kernel.org/r/20230531124557.11009-1-nipun.gupta@amd.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
29 lines
518 B
C
29 lines
518 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (C) 2022-2023, Advanced Micro Devices, Inc.
|
|
*/
|
|
|
|
#ifndef VFIO_CDX_PRIVATE_H
|
|
#define VFIO_CDX_PRIVATE_H
|
|
|
|
#define VFIO_CDX_OFFSET_SHIFT 40
|
|
|
|
static inline u64 vfio_cdx_index_to_offset(u32 index)
|
|
{
|
|
return ((u64)(index) << VFIO_CDX_OFFSET_SHIFT);
|
|
}
|
|
|
|
struct vfio_cdx_region {
|
|
u32 flags;
|
|
u32 type;
|
|
u64 addr;
|
|
resource_size_t size;
|
|
};
|
|
|
|
struct vfio_cdx_device {
|
|
struct vfio_device vdev;
|
|
struct vfio_cdx_region *regions;
|
|
};
|
|
|
|
#endif /* VFIO_CDX_PRIVATE_H */
|