[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 2/5] virtio: add child alias properties for virtio-blk
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [RFC 2/5] virtio: add child alias properties for virtio-blk |
Date: |
Wed, 19 Mar 2014 16:48:55 +0100 |
Now that qdev child alias properties exist, define aliases for
virtio-blk properties. The aliases will replace the duplicated
properties that current live in virtio-blk-pci, virtio-blk-ccw, and
friends.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
include/hw/block/block.h | 14 ++++++++++++++
include/hw/virtio/virtio-blk.h | 17 +++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/include/hw/block/block.h b/include/hw/block/block.h
index 7c3d6c8..702f1eb 100644
--- a/include/hw/block/block.h
+++ b/include/hw/block/block.h
@@ -52,11 +52,25 @@ static inline unsigned int get_physical_block_exp(BlockConf
*conf)
DEFINE_PROP_UINT32("discard_granularity", _state, \
_conf.discard_granularity, -1)
+#define DEFINE_BLOCK_CHILD_ALIASES(_state, _field) \
+ DEFINE_PROP_CHILD_ALIAS("drive", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("logical_block_size", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("physical_block_size", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("min_io_size", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("opt_io_size", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("bootindex", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("discard_granularity", _state, _field)
+
#define DEFINE_BLOCK_CHS_PROPERTIES(_state, _conf) \
DEFINE_PROP_UINT32("cyls", _state, _conf.cyls, 0), \
DEFINE_PROP_UINT32("heads", _state, _conf.heads, 0), \
DEFINE_PROP_UINT32("secs", _state, _conf.secs, 0)
+#define DEFINE_BLOCK_CHS_CHILD_ALIASES(_state, _field) \
+ DEFINE_PROP_CHILD_ALIAS("cyls", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("heads", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("secs", _state, _field)
+
/* Configuration helpers */
void blkconf_serial(BlockConf *conf, char **serial);
diff --git a/include/hw/virtio/virtio-blk.h b/include/hw/virtio/virtio-blk.h
index e4c41ff..5095ff4 100644
--- a/include/hw/virtio/virtio-blk.h
+++ b/include/hw/virtio/virtio-blk.h
@@ -153,6 +153,23 @@ typedef struct VirtIOBlock {
DEFINE_PROP_IOTHREAD("x-iothread", _state, _field.iothread)
#endif /* __linux__ */
+#ifdef __linux__
+#define DEFINE_VIRTIO_BLK_CHILD_ALIASES(_state, _field) \
+ DEFINE_BLOCK_CHILD_ALIASES(_state, _field), \
+ DEFINE_BLOCK_CHS_CHILD_ALIASES(_state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("serial", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("config-wce", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("scsi", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("x-iothread", _state, _field)
+#else
+#define DEFINE_VIRTIO_BLK_CHILD_ALIASES(_state, _field) \
+ DEFINE_BLOCK_CHILD_ALIASES(_state, _field), \
+ DEFINE_BLOCK_CHS_CHILD_ALIASES(_state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("serial", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("config-wce", _state, _field), \
+ DEFINE_PROP_CHILD_ALIAS("x-iothread", _state, _field)
+#endif /* __linux__ */
+
void virtio_blk_set_conf(DeviceState *dev, VirtIOBlkConf *blk);
#endif
--
1.8.5.3