1 /*
2  * VFIO calxeda xgmac device
3  *
4  * Copyright Linaro Limited, 2014
5  *
6  * Authors:
7  *  Eric Auger <eric.auger@linaro.org>
8  *
9  * This work is licensed under the terms of the GNU GPL, version 2.  See
10  * the COPYING file in the top-level directory.
11  *
12  */
13 
14 #ifndef HW_VFIO_VFIO_CALXEDA_XGMAC_H
15 #define HW_VFIO_VFIO_CALXEDA_XGMAC_H
16 
17 #include "hw/vfio/vfio-platform.h"
18 #include "qom/object.h"
19 
20 #define TYPE_VFIO_CALXEDA_XGMAC "vfio-calxeda-xgmac"
21 
22 /**
23  * This device exposes:
24  * - a single MMIO region corresponding to its register space
25  * - 3 IRQS (main and 2 power related IRQs)
26  */
27 struct VFIOCalxedaXgmacDevice {
28     VFIOPlatformDevice vdev;
29 };
30 typedef struct VFIOCalxedaXgmacDevice VFIOCalxedaXgmacDevice;
31 
32 struct VFIOCalxedaXgmacDeviceClass {
33     /*< private >*/
34     VFIOPlatformDeviceClass parent_class;
35     /*< public >*/
36     DeviceRealize parent_realize;
37 };
38 typedef struct VFIOCalxedaXgmacDeviceClass VFIOCalxedaXgmacDeviceClass;
39 
40 DECLARE_OBJ_CHECKERS(VFIOCalxedaXgmacDevice, VFIOCalxedaXgmacDeviceClass,
41                      VFIO_CALXEDA_XGMAC_DEVICE, TYPE_VFIO_CALXEDA_XGMAC)
42 
43 #endif
44