qemu/hw/vfio/amd-xgbe.c
<<
>>
Prefs
   1/*
   2 * AMD XGBE VFIO device
   3 *
   4 * Copyright Linaro Limited, 2015
   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#include "qemu/osdep.h"
  15#include "hw/vfio/vfio-amd-xgbe.h"
  16
  17static void amd_xgbe_realize(DeviceState *dev, Error **errp)
  18{
  19    VFIOPlatformDevice *vdev = VFIO_PLATFORM_DEVICE(dev);
  20    VFIOAmdXgbeDeviceClass *k = VFIO_AMD_XGBE_DEVICE_GET_CLASS(dev);
  21
  22    vdev->compat = g_strdup("amd,xgbe-seattle-v1a");
  23
  24    k->parent_realize(dev, errp);
  25}
  26
  27static const VMStateDescription vfio_platform_amd_xgbe_vmstate = {
  28    .name = TYPE_VFIO_AMD_XGBE,
  29    .unmigratable = 1,
  30};
  31
  32static void vfio_amd_xgbe_class_init(ObjectClass *klass, void *data)
  33{
  34    DeviceClass *dc = DEVICE_CLASS(klass);
  35    VFIOAmdXgbeDeviceClass *vcxc =
  36        VFIO_AMD_XGBE_DEVICE_CLASS(klass);
  37    vcxc->parent_realize = dc->realize;
  38    dc->realize = amd_xgbe_realize;
  39    dc->desc = "VFIO AMD XGBE";
  40    dc->vmsd = &vfio_platform_amd_xgbe_vmstate;
  41}
  42
  43static const TypeInfo vfio_amd_xgbe_dev_info = {
  44    .name = TYPE_VFIO_AMD_XGBE,
  45    .parent = TYPE_VFIO_PLATFORM,
  46    .instance_size = sizeof(VFIOAmdXgbeDevice),
  47    .class_init = vfio_amd_xgbe_class_init,
  48    .class_size = sizeof(VFIOAmdXgbeDeviceClass),
  49};
  50
  51static void register_amd_xgbe_dev_type(void)
  52{
  53    type_register_static(&vfio_amd_xgbe_dev_info);
  54}
  55
  56type_init(register_amd_xgbe_dev_type)
  57