Revision 24a6e7f4 hw/virtio/virtio-pci.c
b/hw/virtio/virtio-pci.c | ||
---|---|---|
33 | 33 |
#include "virtio-pci.h" |
34 | 34 |
#include "qemu/range.h" |
35 | 35 |
#include "hw/virtio/virtio-bus.h" |
36 |
#include "qapi/visitor.h" |
|
36 | 37 |
|
37 | 38 |
/* from Linux's linux/virtio_pci.h */ |
38 | 39 |
|
... | ... | |
1344 | 1345 |
|
1345 | 1346 |
/* virtio-balloon-pci */ |
1346 | 1347 |
|
1348 |
static void balloon_pci_stats_get_all(Object *obj, struct Visitor *v, |
|
1349 |
void *opaque, const char *name, |
|
1350 |
Error **errp) |
|
1351 |
{ |
|
1352 |
VirtIOBalloonPCI *dev = opaque; |
|
1353 |
object_property_get(OBJECT(&dev->vdev), v, "guest-stats", errp); |
|
1354 |
} |
|
1355 |
|
|
1356 |
static void balloon_pci_stats_get_poll_interval(Object *obj, struct Visitor *v, |
|
1357 |
void *opaque, const char *name, |
|
1358 |
Error **errp) |
|
1359 |
{ |
|
1360 |
VirtIOBalloonPCI *dev = opaque; |
|
1361 |
object_property_get(OBJECT(&dev->vdev), v, "guest-stats-polling-interval", |
|
1362 |
errp); |
|
1363 |
} |
|
1364 |
|
|
1365 |
static void balloon_pci_stats_set_poll_interval(Object *obj, struct Visitor *v, |
|
1366 |
void *opaque, const char *name, |
|
1367 |
Error **errp) |
|
1368 |
{ |
|
1369 |
VirtIOBalloonPCI *dev = opaque; |
|
1370 |
object_property_set(OBJECT(&dev->vdev), v, "guest-stats-polling-interval", |
|
1371 |
errp); |
|
1372 |
} |
|
1373 |
|
|
1347 | 1374 |
static Property virtio_balloon_pci_properties[] = { |
1348 | 1375 |
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features), |
1349 | 1376 |
DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0), |
... | ... | |
1385 | 1412 |
VirtIOBalloonPCI *dev = VIRTIO_BALLOON_PCI(obj); |
1386 | 1413 |
object_initialize(OBJECT(&dev->vdev), TYPE_VIRTIO_BALLOON); |
1387 | 1414 |
object_property_add_child(obj, "virtio-backend", OBJECT(&dev->vdev), NULL); |
1415 |
|
|
1416 |
object_property_add(obj, "guest-stats", "guest statistics", |
|
1417 |
balloon_pci_stats_get_all, NULL, NULL, dev, |
|
1418 |
NULL); |
|
1419 |
|
|
1420 |
object_property_add(obj, "guest-stats-polling-interval", "int", |
|
1421 |
balloon_pci_stats_get_poll_interval, |
|
1422 |
balloon_pci_stats_set_poll_interval, |
|
1423 |
NULL, dev, NULL); |
|
1388 | 1424 |
} |
1389 | 1425 |
|
1390 | 1426 |
static const TypeInfo virtio_balloon_pci_info = { |
Also available in: Unified diff