/* * VFIO calxeda xgmac device * * Copyright Linaro Limited, 2014 * * Authors: * Eric Auger * * 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_CALXEDA_XGMAC_H #define HW_VFIO_VFIO_CALXEDA_XGMAC_H #include "hw/vfio/vfio-platform.h" #define TYPE_VFIO_CALXEDA_XGMAC "vfio-calxeda-xgmac" /** * This device exposes: * - a single MMIO region corresponding to its register space * - 3 IRQS (main and 2 power related IRQs) */ typedef struct VFIOCalxedaXgmacDevice { VFIOPlatformDevice vdev; } VFIOCalxedaXgmacDevice; typedef struct VFIOCalxedaXgmacDeviceClass { /*< private >*/ VFIOPlatformDeviceClass parent_class; /*< public >*/ DeviceRealize parent_realize; } VFIOCalxedaXgmacDeviceClass; #define VFIO_CALXEDA_XGMAC_DEVICE(obj) \ OBJECT_CHECK(VFIOCalxedaXgmacDevice, (obj), TYPE_VFIO_CALXEDA_XGMAC) #define VFIO_CALXEDA_XGMAC_DEVICE_CLASS(klass) \ OBJECT_CLASS_CHECK(VFIOCalxedaXgmacDeviceClass, (klass), \ TYPE_VFIO_CALXEDA_XGMAC) #define VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(obj) \ OBJECT_GET_CLASS(VFIOCalxedaXgmacDeviceClass, (obj), \ TYPE_VFIO_CALXEDA_XGMAC) #endif