14
#include "qemu/osdep.h"
15
#include "hw/vfio/vfio-calxeda-xgmac.h"
16
#include "migration/vmstate.h"
17
#include "qemu/module.h"
19
static void calxeda_xgmac_realize(DeviceState *dev, Error **errp)
21
VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev);
22
VFIOCalxedaXgmacDeviceClass *k = VFIO_CALXEDA_XGMAC_DEVICE_GET_CLASS(dev);
24
vdev->compat = g_strdup("calxeda,hb-xgmac");
27
k->parent_realize(dev, errp);
30
static const VMStateDescription vfio_platform_calxeda_xgmac_vmstate = {
31
.name = "vfio-calxeda-xgmac",
35
static void vfio_calxeda_xgmac_class_init(ObjectClass *klass, void *data)
37
DeviceClass *dc = DEVICE_CLASS(klass);
38
VFIOCalxedaXgmacDeviceClass *vcxc =
39
VFIO_CALXEDA_XGMAC_DEVICE_CLASS(klass);
40
device_class_set_parent_realize(dc, calxeda_xgmac_realize,
41
&vcxc->parent_realize);
42
dc->desc = "VFIO Calxeda XGMAC";
43
dc->vmsd = &vfio_platform_calxeda_xgmac_vmstate;
45
dc->user_creatable = true;
48
static const TypeInfo vfio_calxeda_xgmac_dev_info = {
49
.name = TYPE_VFIO_CALXEDA_XGMAC,
50
.parent = TYPE_VFIO_PLATFORM,
51
.instance_size = sizeof(VFIOCalxedaXgmacDevice),
52
.class_init = vfio_calxeda_xgmac_class_init,
53
.class_size = sizeof(VFIOCalxedaXgmacDeviceClass),
56
static void register_calxeda_xgmac_dev_type(void)
58
type_register_static(&vfio_calxeda_xgmac_dev_info);
61
type_init(register_calxeda_xgmac_dev_type)