 62d9551247
			
		
	
	
		62d9551247
		
	
	
	
	
		
			
			This patch introduces the amd-xgbe VFIO platform device. It allows the guest to do passthrough on a device exposing an "amd,xgbe-seattle-v1a" compat string. Signed-off-by: Eric Auger <eric.auger@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * VFIO AMD XGBE device
 | |
|  *
 | |
|  * Copyright Linaro Limited, 2015
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Eric Auger <eric.auger@linaro.org>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2.  See
 | |
|  * the COPYING file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef HW_VFIO_VFIO_AMD_XGBE_H
 | |
| #define HW_VFIO_VFIO_AMD_XGBE_H
 | |
| 
 | |
| #include "hw/vfio/vfio-platform.h"
 | |
| 
 | |
| #define TYPE_VFIO_AMD_XGBE "vfio-amd-xgbe"
 | |
| 
 | |
| /**
 | |
|  * This device exposes:
 | |
|  * - 5 MMIO regions: MAC, PCS, SerDes Rx/Tx regs,
 | |
|      SerDes Integration Registers 1/2 & 2/2
 | |
|  * - 2 level sensitive IRQs and optional DMA channel IRQs
 | |
|  */
 | |
| struct VFIOAmdXgbeDevice {
 | |
|     VFIOPlatformDevice vdev;
 | |
| };
 | |
| 
 | |
| typedef struct VFIOAmdXgbeDevice VFIOAmdXgbeDevice;
 | |
| 
 | |
| struct VFIOAmdXgbeDeviceClass {
 | |
|     /*< private >*/
 | |
|     VFIOPlatformDeviceClass parent_class;
 | |
|     /*< public >*/
 | |
|     DeviceRealize parent_realize;
 | |
| };
 | |
| 
 | |
| typedef struct VFIOAmdXgbeDeviceClass VFIOAmdXgbeDeviceClass;
 | |
| 
 | |
| #define VFIO_AMD_XGBE_DEVICE(obj) \
 | |
|      OBJECT_CHECK(VFIOAmdXgbeDevice, (obj), TYPE_VFIO_AMD_XGBE)
 | |
| #define VFIO_AMD_XGBE_DEVICE_CLASS(klass) \
 | |
|      OBJECT_CLASS_CHECK(VFIOAmdXgbeDeviceClass, (klass), \
 | |
|                         TYPE_VFIO_AMD_XGBE)
 | |
| #define VFIO_AMD_XGBE_DEVICE_GET_CLASS(obj) \
 | |
|      OBJECT_GET_CLASS(VFIOAmdXgbeDeviceClass, (obj), \
 | |
|                       TYPE_VFIO_AMD_XGBE)
 | |
| 
 | |
| #endif
 |