* [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices
@ 2010-11-25 17:31 Amit Shah
0 siblings, 0 replies; 11+ messages in thread
From: Amit Shah @ 2010-11-25 17:31 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, qemu list
Hello,
This is a rebase of the patchset I'd sent earlier.
The usual notes apply: this is just the start, just getting the
framework in place and a few examples so that people can then pick up
and start documenting their devices and options. We want to see all
of the devices covered, and hopefully turn on build_bug_on() on an
empty doc string.
Maintainers should perhaps also look for patches that introduce
options without documentation.
That's the long-term goal (over 0.14). For short-term, I'll be
preparing follow-on patches that add doc strings for a few more
options and perhaps bug people based on git history as to what
documentation is to be added for some options.
The earlier this patchset goes in the better since it'll reduce
conflicts and rebases needed.
If this looks acceptable, please apply!
Amit
Amit Shah (4):
qdev: Add a description field for qdev properties for documentation
virtio-serial: Add description fields for qdev properties
net.h: Add description fields for qdev properites
block_int.h: Provide documentation for common block qdev properties
block_int.h | 14 +++++----
hw/a9mpcore.c | 2 +-
hw/acpi_piix4.c | 2 +-
hw/apic.c | 4 +-
hw/applesmc.c | 4 +-
hw/arm11mpcore.c | 4 +-
hw/arm_sysctl.c | 4 +-
hw/armv7m.c | 2 +-
hw/cs4231a.c | 6 ++--
hw/debugcon.c | 6 ++--
hw/eccmemctl.c | 2 +-
hw/escc.c | 16 +++++-----
hw/etraxfs_pic.c | 3 +-
hw/fdc.c | 10 +++---
hw/fw_cfg.c | 4 +-
hw/gus.c | 8 ++--
hw/hda-audio.c | 2 +-
hw/hpet.c | 4 +-
hw/i2c.c | 2 +-
hw/ide/cmd646.c | 2 +-
hw/ide/isa.c | 6 ++--
hw/ide/qdev.c | 6 ++--
hw/integratorcp.c | 2 +-
hw/intel-hda.c | 6 ++--
hw/ioh3420.c | 6 ++--
hw/ivshmem.c | 15 +++++----
hw/lance.c | 2 +-
hw/m48t59.c | 12 ++++----
hw/mc146818rtc.c | 2 +-
hw/ne2000-isa.c | 4 +-
hw/parallel.c | 8 ++--
hw/pci.c | 8 ++--
hw/qdev-addr.h | 4 +-
hw/qdev.c | 3 +-
hw/qdev.h | 75 +++++++++++++++++++++++++----------------------
hw/s390-virtio-bus.c | 2 +-
hw/sb16.c | 10 +++---
hw/scsi-bus.c | 2 +-
hw/scsi-disk.c | 4 +-
hw/serial.c | 8 ++--
hw/slavio_timer.c | 2 +-
hw/smbus_eeprom.c | 2 +-
hw/sparc32_dma.c | 2 +-
hw/sun4m.c | 2 +-
hw/sun4m_iommu.c | 2 +-
hw/sun4u.c | 2 +-
hw/syborg_fb.c | 4 +-
hw/syborg_interrupt.c | 2 +-
hw/syborg_keyboard.c | 2 +-
hw/syborg_pointer.c | 4 +-
hw/syborg_serial.c | 2 +-
hw/syborg_timer.c | 2 +-
hw/syborg_virtio.c | 6 ++--
hw/tcx.c | 10 +++---
hw/usb-ohci.c | 4 +-
hw/usb-serial.c | 12 ++++----
hw/virtio-blk.h | 4 +-
hw/virtio-console.c | 19 +++++++----
hw/virtio-net.h | 51 ++++++++++++++++++++-----------
hw/virtio-pci.c | 22 +++++++-------
hw/virtio-serial.h | 13 ++++++++
hw/virtio.h | 2 +-
hw/vt82c686.c | 2 +-
hw/xilinx_ethlite.c | 6 ++-
hw/xilinx_intc.c | 3 +-
hw/xilinx_timer.c | 4 +-
hw/xio3130_downstream.c | 6 ++--
hw/xio3130_upstream.c | 2 +-
net.h | 9 ++++--
usb-linux.c | 8 ++--
70 files changed, 273 insertions(+), 224 deletions(-)
--
1.7.3.2
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices
@ 2011-01-04 12:22 Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation Amit Shah
` (4 more replies)
0 siblings, 5 replies; 11+ messages in thread
From: Amit Shah @ 2011-01-04 12:22 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, qemu list
Hello,
This is yet another rebase of the patchset I'd sent earlier.
Changes:
- fixups and new strings for the bootorder patches
- new string for the discard property for block devices.
The usual notes apply: this is just the start, just getting the
framework in place and a few examples so that people can then pick up
and start documenting their devices and options. We want to see all
of the devices covered, and hopefully turn on build_bug_on() on an
empty doc string.
Maintainers should perhaps also look for patches that introduce
options without documentation.
That's the long-term goal (over 0.14). For short-term, I'll be
preparing follow-on patches that add doc strings for a few more
options and perhaps bug people based on git history as to what
documentation is to be added for some options.
The earlier this patchset goes in the better since it'll reduce
conflicts and rebases needed.
If this looks acceptable, please apply!
Amit Shah (4):
qdev: Add a description field for qdev properties for documentation
virtio-serial: Add description fields for qdev properties
net.h: Add description fields for qdev properites
block_int.h: Provide documentation for common block qdev properties
block_int.h | 20 +++++++-----
hw/a9mpcore.c | 2 +-
hw/acpi_piix4.c | 2 +-
hw/apic.c | 4 +-
hw/applesmc.c | 4 +-
hw/arm11mpcore.c | 4 +-
hw/arm_sysctl.c | 4 +-
hw/armv7m.c | 2 +-
hw/cs4231a.c | 6 ++--
hw/debugcon.c | 6 ++--
hw/eccmemctl.c | 2 +-
hw/escc.c | 16 +++++-----
hw/etraxfs_pic.c | 3 +-
hw/fdc.c | 14 ++++----
hw/fw_cfg.c | 4 +-
hw/gus.c | 8 ++--
hw/hda-audio.c | 2 +-
hw/hpet.c | 4 +-
hw/i2c.c | 2 +-
hw/ide/cmd646.c | 2 +-
hw/ide/isa.c | 6 ++--
hw/ide/qdev.c | 6 ++--
hw/integratorcp.c | 2 +-
hw/intel-hda.c | 6 ++--
hw/ioh3420.c | 8 ++--
hw/ivshmem.c | 15 +++++----
hw/lance.c | 2 +-
hw/m48t59.c | 12 ++++----
hw/mc146818rtc.c | 2 +-
hw/ne2000-isa.c | 4 +-
hw/parallel.c | 8 ++--
hw/pci.c | 10 +++---
hw/qdev-addr.h | 4 +-
hw/qdev.c | 3 +-
hw/qdev.h | 75 +++++++++++++++++++++++++----------------------
hw/s390-virtio-bus.c | 2 +-
hw/sb16.c | 10 +++---
hw/scsi-bus.c | 2 +-
hw/scsi-disk.c | 4 +-
hw/serial.c | 8 ++--
hw/slavio_timer.c | 2 +-
hw/smbus_eeprom.c | 2 +-
hw/sparc32_dma.c | 4 +-
hw/sun4m.c | 2 +-
hw/sun4m_iommu.c | 2 +-
hw/sun4u.c | 2 +-
hw/syborg_fb.c | 4 +-
hw/syborg_interrupt.c | 2 +-
hw/syborg_keyboard.c | 2 +-
hw/syborg_pointer.c | 4 +-
hw/syborg_serial.c | 2 +-
hw/syborg_timer.c | 2 +-
hw/syborg_virtio.c | 6 ++--
hw/tcx.c | 10 +++---
hw/usb-ohci.c | 4 +-
hw/usb-serial.c | 12 ++++----
hw/virtio-blk.h | 4 +-
hw/virtio-console.c | 19 +++++++----
hw/virtio-net.h | 51 ++++++++++++++++++++-----------
hw/virtio-pci.c | 22 +++++++-------
hw/virtio-serial.h | 13 ++++++++
hw/virtio.h | 2 +-
hw/vt82c686.c | 2 +-
hw/xilinx_ethlite.c | 6 ++-
hw/xilinx_intc.c | 3 +-
hw/xilinx_timer.c | 4 +-
hw/xio3130_downstream.c | 8 ++--
hw/xio3130_upstream.c | 4 +-
net.h | 12 +++++--
usb-linux.c | 8 ++--
70 files changed, 286 insertions(+), 234 deletions(-)
--
1.7.3.4
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
@ 2011-01-04 12:22 ` Amit Shah
2011-01-10 14:31 ` Markus Armbruster
2011-01-04 12:22 ` [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties Amit Shah
` (3 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Amit Shah @ 2011-01-04 12:22 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, qemu list
Add a 'description' along with each qdev property to document the input
each qdev property takes.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
block_int.h | 14 ++++----
hw/a9mpcore.c | 2 +-
hw/acpi_piix4.c | 2 +-
hw/apic.c | 4 +-
hw/applesmc.c | 4 +-
hw/arm11mpcore.c | 4 +-
hw/arm_sysctl.c | 4 +-
hw/armv7m.c | 2 +-
hw/cs4231a.c | 6 ++--
hw/debugcon.c | 6 ++--
hw/eccmemctl.c | 2 +-
hw/escc.c | 16 +++++-----
hw/etraxfs_pic.c | 3 +-
hw/fdc.c | 14 ++++----
hw/fw_cfg.c | 4 +-
hw/gus.c | 8 ++--
hw/hda-audio.c | 2 +-
hw/hpet.c | 4 +-
hw/i2c.c | 2 +-
hw/ide/cmd646.c | 2 +-
hw/ide/isa.c | 6 ++--
hw/ide/qdev.c | 6 ++--
hw/integratorcp.c | 2 +-
hw/intel-hda.c | 6 ++--
hw/ioh3420.c | 8 ++--
hw/ivshmem.c | 15 +++++----
hw/lance.c | 2 +-
hw/m48t59.c | 12 ++++----
hw/mc146818rtc.c | 2 +-
hw/ne2000-isa.c | 4 +-
hw/parallel.c | 8 ++--
hw/pci.c | 10 +++---
hw/qdev-addr.h | 4 +-
hw/qdev.c | 3 +-
hw/qdev.h | 75 +++++++++++++++++++++++++----------------------
hw/s390-virtio-bus.c | 2 +-
hw/sb16.c | 10 +++---
hw/scsi-bus.c | 2 +-
hw/scsi-disk.c | 4 +-
hw/serial.c | 8 ++--
hw/slavio_timer.c | 2 +-
hw/smbus_eeprom.c | 2 +-
hw/sparc32_dma.c | 4 +-
hw/sun4m.c | 2 +-
hw/sun4m_iommu.c | 2 +-
hw/sun4u.c | 2 +-
hw/syborg_fb.c | 4 +-
hw/syborg_interrupt.c | 2 +-
hw/syborg_keyboard.c | 2 +-
hw/syborg_pointer.c | 4 +-
hw/syborg_serial.c | 2 +-
hw/syborg_timer.c | 2 +-
hw/syborg_virtio.c | 6 ++--
hw/tcx.c | 10 +++---
hw/usb-ohci.c | 4 +-
hw/usb-serial.c | 12 ++++----
hw/virtio-blk.h | 4 +-
hw/virtio-console.c | 16 +++++----
hw/virtio-net.h | 51 ++++++++++++++++++++-----------
hw/virtio-pci.c | 22 +++++++-------
hw/virtio.h | 2 +-
hw/vt82c686.c | 2 +-
hw/xilinx_ethlite.c | 6 ++-
hw/xilinx_intc.c | 3 +-
hw/xilinx_timer.c | 4 +-
hw/xio3130_downstream.c | 8 ++--
hw/xio3130_upstream.c | 4 +-
net.h | 8 ++--
usb-linux.c | 8 ++--
69 files changed, 261 insertions(+), 233 deletions(-)
diff --git a/block_int.h b/block_int.h
index 12663e8..8b0341c 100644
--- a/block_int.h
+++ b/block_int.h
@@ -247,15 +247,15 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)
}
#define DEFINE_BLOCK_PROPERTIES(_state, _conf) \
- DEFINE_PROP_DRIVE("drive", _state, _conf.bs), \
+ DEFINE_PROP_DRIVE("drive", _state, _conf.bs, ""), \
DEFINE_PROP_UINT16("logical_block_size", _state, \
- _conf.logical_block_size, 512), \
+ _conf.logical_block_size, 512, ""), \
DEFINE_PROP_UINT16("physical_block_size", _state, \
- _conf.physical_block_size, 512), \
- DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0), \
- DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0), \
- DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1), \
+ _conf.physical_block_size, 512, ""), \
+ DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0, ""), \
+ DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0, ""), \
+ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, ""), \
DEFINE_PROP_UINT32("discard_granularity", _state, \
- _conf.discard_granularity, 0)
+ _conf.discard_granularity, 0, "")
#endif /* BLOCK_INT_H */
diff --git a/hw/a9mpcore.c b/hw/a9mpcore.c
index b5e5328..174f5d5 100644
--- a/hw/a9mpcore.c
+++ b/hw/a9mpcore.c
@@ -16,7 +16,7 @@ static SysBusDeviceInfo mpcore_priv_info = {
.qdev.name = "a9mpcore_priv",
.qdev.size = sizeof(mpcore_priv_state),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num-cpu", mpcore_priv_state, num_cpu, 1),
+ DEFINE_PROP_UINT32("num-cpu", mpcore_priv_state, num_cpu, 1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/acpi_piix4.c b/hw/acpi_piix4.c
index 173d781..a5252f9 100644
--- a/hw/acpi_piix4.c
+++ b/hw/acpi_piix4.c
@@ -431,7 +431,7 @@ static PCIDeviceInfo piix4_pm_info = {
.init = piix4_pm_initfn,
.config_write = pm_write_config,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("smb_io_base", PIIX4PMState, smb_io_base, 0),
+ DEFINE_PROP_UINT32("smb_io_base", PIIX4PMState, smb_io_base, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/apic.c b/hw/apic.c
index ff581f0..c43e98a 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -998,8 +998,8 @@ static SysBusDeviceInfo apic_info = {
.qdev.reset = apic_reset,
.qdev.no_user = 1,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("id", APICState, id, -1),
- DEFINE_PROP_PTR("cpu_env", APICState, cpu_env),
+ DEFINE_PROP_UINT8("id", APICState, id, -1, ""),
+ DEFINE_PROP_PTR("cpu_env", APICState, cpu_env, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/applesmc.c b/hw/applesmc.c
index 29b9330..9803be6 100644
--- a/hw/applesmc.c
+++ b/hw/applesmc.c
@@ -227,8 +227,8 @@ static ISADeviceInfo applesmc_isa_info = {
.init = applesmc_isa_init,
.qdev.props = (Property[]) {
DEFINE_PROP_HEX32("iobase", struct AppleSMCStatus, iobase,
- APPLESMC_DEFAULT_IOBASE),
- DEFINE_PROP_STRING("osk", struct AppleSMCStatus, osk),
+ APPLESMC_DEFAULT_IOBASE, ""),
+ DEFINE_PROP_STRING("osk", struct AppleSMCStatus, osk, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/arm11mpcore.c b/hw/arm11mpcore.c
index 3bbd885..a3a7a9d 100644
--- a/hw/arm11mpcore.c
+++ b/hw/arm11mpcore.c
@@ -88,7 +88,7 @@ static SysBusDeviceInfo mpcore_rirq_info = {
.qdev.name = "realview_mpcore",
.qdev.size = sizeof(mpcore_rirq_state),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num-cpu", mpcore_rirq_state, num_cpu, 1),
+ DEFINE_PROP_UINT32("num-cpu", mpcore_rirq_state, num_cpu, 1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
@@ -98,7 +98,7 @@ static SysBusDeviceInfo mpcore_priv_info = {
.qdev.name = "arm11mpcore_priv",
.qdev.size = sizeof(mpcore_priv_state),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num-cpu", mpcore_priv_state, num_cpu, 1),
+ DEFINE_PROP_UINT32("num-cpu", mpcore_priv_state, num_cpu, 1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/arm_sysctl.c b/hw/arm_sysctl.c
index bd0664f..5e826ad 100644
--- a/hw/arm_sysctl.c
+++ b/hw/arm_sysctl.c
@@ -233,8 +233,8 @@ static SysBusDeviceInfo arm_sysctl_info = {
.qdev.size = sizeof(arm_sysctl_state),
.qdev.reset = arm_sysctl_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("sys_id", arm_sysctl_state, sys_id, 0),
- DEFINE_PROP_UINT32("proc_id", arm_sysctl_state, proc_id, 0),
+ DEFINE_PROP_UINT32("sys_id", arm_sysctl_state, sys_id, 0, ""),
+ DEFINE_PROP_UINT32("proc_id", arm_sysctl_state, proc_id, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/armv7m.c b/hw/armv7m.c
index 304cd34..680ee57 100644
--- a/hw/armv7m.c
+++ b/hw/armv7m.c
@@ -250,7 +250,7 @@ static SysBusDeviceInfo bitband_info = {
.qdev.name = "ARM,bitband-memory",
.qdev.size = sizeof(BitBandState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("base", BitBandState, base, 0),
+ DEFINE_PROP_UINT32("base", BitBandState, base, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/cs4231a.c b/hw/cs4231a.c
index 598f032..090aabc 100644
--- a/hw/cs4231a.c
+++ b/hw/cs4231a.c
@@ -672,9 +672,9 @@ static ISADeviceInfo cs4231a_info = {
.qdev.vmsd = &vmstate_cs4231a,
.init = cs4231a_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32 ("iobase", CSState, port, 0x534),
- DEFINE_PROP_UINT32 ("irq", CSState, irq, 9),
- DEFINE_PROP_UINT32 ("dma", CSState, dma, 3),
+ DEFINE_PROP_HEX32 ("iobase", CSState, port, 0x534, ""),
+ DEFINE_PROP_UINT32 ("irq", CSState, irq, 9, ""),
+ DEFINE_PROP_UINT32 ("dma", CSState, dma, 3, ""),
DEFINE_PROP_END_OF_LIST (),
},
};
diff --git a/hw/debugcon.c b/hw/debugcon.c
index 5ee6821..a1e06ee 100644
--- a/hw/debugcon.c
+++ b/hw/debugcon.c
@@ -92,9 +92,9 @@ static ISADeviceInfo debugcon_isa_info = {
.qdev.size = sizeof(ISADebugconState),
.init = debugcon_isa_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("iobase", ISADebugconState, iobase, 0xe9),
- DEFINE_PROP_CHR("chardev", ISADebugconState, state.chr),
- DEFINE_PROP_HEX32("readback", ISADebugconState, state.readback, 0xe9),
+ DEFINE_PROP_HEX32("iobase", ISADebugconState, iobase, 0xe9, ""),
+ DEFINE_PROP_CHR("chardev", ISADebugconState, state.chr, ""),
+ DEFINE_PROP_HEX32("readback", ISADebugconState, state.readback, 0xe9, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/eccmemctl.c b/hw/eccmemctl.c
index 2bda87b..5994262 100644
--- a/hw/eccmemctl.c
+++ b/hw/eccmemctl.c
@@ -318,7 +318,7 @@ static SysBusDeviceInfo ecc_info = {
.qdev.vmsd = &vmstate_ecc,
.qdev.reset = ecc_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("version", ECCState, version, -1),
+ DEFINE_PROP_HEX32("version", ECCState, version, -1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/escc.c b/hw/escc.c
index ba60636..0b98a39 100644
--- a/hw/escc.c
+++ b/hw/escc.c
@@ -937,14 +937,14 @@ static SysBusDeviceInfo escc_info = {
.qdev.vmsd = &vmstate_escc,
.qdev.reset = escc_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("frequency", SerialState, frequency, 0),
- DEFINE_PROP_UINT32("it_shift", SerialState, it_shift, 0),
- DEFINE_PROP_UINT32("disabled", SerialState, disabled, 0),
- DEFINE_PROP_UINT32("disabled", SerialState, disabled, 0),
- DEFINE_PROP_UINT32("chnBtype", SerialState, chn[0].type, 0),
- DEFINE_PROP_UINT32("chnAtype", SerialState, chn[1].type, 0),
- DEFINE_PROP_CHR("chrB", SerialState, chn[0].chr),
- DEFINE_PROP_CHR("chrA", SerialState, chn[1].chr),
+ DEFINE_PROP_UINT32("frequency", SerialState, frequency, 0, ""),
+ DEFINE_PROP_UINT32("it_shift", SerialState, it_shift, 0, ""),
+ DEFINE_PROP_UINT32("disabled", SerialState, disabled, 0, ""),
+ DEFINE_PROP_UINT32("disabled", SerialState, disabled, 0, ""),
+ DEFINE_PROP_UINT32("chnBtype", SerialState, chn[0].type, 0, ""),
+ DEFINE_PROP_UINT32("chnAtype", SerialState, chn[1].type, 0, ""),
+ DEFINE_PROP_CHR("chrB", SerialState, chn[0].chr, ""),
+ DEFINE_PROP_CHR("chrA", SerialState, chn[1].chr, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/etraxfs_pic.c b/hw/etraxfs_pic.c
index 4feffda..f3f9abf 100644
--- a/hw/etraxfs_pic.c
+++ b/hw/etraxfs_pic.c
@@ -156,7 +156,8 @@ static SysBusDeviceInfo etraxfs_pic_info = {
.qdev.name = "etraxfs,pic",
.qdev.size = sizeof(struct etrax_pic),
.qdev.props = (Property[]) {
- DEFINE_PROP_PTR("interrupt_vector", struct etrax_pic, interrupt_vector),
+ DEFINE_PROP_PTR("interrupt_vector", struct etrax_pic, interrupt_vector,
+ ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/fdc.c b/hw/fdc.c
index 4bbcc47..c3c2f1a 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -2057,10 +2057,10 @@ static ISADeviceInfo isa_fdc_info = {
.qdev.vmsd = &vmstate_isa_fdc,
.qdev.reset = fdctrl_external_reset_isa,
.qdev.props = (Property[]) {
- DEFINE_PROP_DRIVE("driveA", FDCtrlISABus, state.drives[0].bs),
- DEFINE_PROP_DRIVE("driveB", FDCtrlISABus, state.drives[1].bs),
- DEFINE_PROP_INT32("bootindexA", FDCtrlISABus, bootindexA, -1),
- DEFINE_PROP_INT32("bootindexB", FDCtrlISABus, bootindexB, -1),
+ DEFINE_PROP_DRIVE("driveA", FDCtrlISABus, state.drives[0].bs, ""),
+ DEFINE_PROP_DRIVE("driveB", FDCtrlISABus, state.drives[1].bs, ""),
+ DEFINE_PROP_INT32("bootindexA", FDCtrlISABus, bootindexA, -1, ""),
+ DEFINE_PROP_INT32("bootindexB", FDCtrlISABus, bootindexB, -1, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
@@ -2082,8 +2082,8 @@ static SysBusDeviceInfo sysbus_fdc_info = {
.qdev.vmsd = &vmstate_sysbus_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
- DEFINE_PROP_DRIVE("driveA", FDCtrlSysBus, state.drives[0].bs),
- DEFINE_PROP_DRIVE("driveB", FDCtrlSysBus, state.drives[1].bs),
+ DEFINE_PROP_DRIVE("driveA", FDCtrlSysBus, state.drives[0].bs, ""),
+ DEFINE_PROP_DRIVE("driveB", FDCtrlSysBus, state.drives[1].bs, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
@@ -2095,7 +2095,7 @@ static SysBusDeviceInfo sun4m_fdc_info = {
.qdev.vmsd = &vmstate_sysbus_fdc,
.qdev.reset = fdctrl_external_reset_sysbus,
.qdev.props = (Property[]) {
- DEFINE_PROP_DRIVE("drive", FDCtrlSysBus, state.drives[0].bs),
+ DEFINE_PROP_DRIVE("drive", FDCtrlSysBus, state.drives[0].bs, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/fw_cfg.c b/hw/fw_cfg.c
index 85c8c3c..c250dec 100644
--- a/hw/fw_cfg.c
+++ b/hw/fw_cfg.c
@@ -393,8 +393,8 @@ static SysBusDeviceInfo fw_cfg_info = {
.qdev.reset = fw_cfg_reset,
.qdev.no_user = 1,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("ctl_iobase", FWCfgState, ctl_iobase, -1),
- DEFINE_PROP_HEX32("data_iobase", FWCfgState, data_iobase, -1),
+ DEFINE_PROP_HEX32("ctl_iobase", FWCfgState, ctl_iobase, -1, ""),
+ DEFINE_PROP_HEX32("data_iobase", FWCfgState, data_iobase, -1, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/gus.c b/hw/gus.c
index ff9e7c7..2e21ecd 100644
--- a/hw/gus.c
+++ b/hw/gus.c
@@ -307,10 +307,10 @@ static ISADeviceInfo gus_info = {
.qdev.vmsd = &vmstate_gus,
.init = gus_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32 ("freq", GUSState, freq, 44100),
- DEFINE_PROP_HEX32 ("iobase", GUSState, port, 0x240),
- DEFINE_PROP_UINT32 ("irq", GUSState, emu.gusirq, 7),
- DEFINE_PROP_UINT32 ("dma", GUSState, emu.gusdma, 3),
+ DEFINE_PROP_UINT32 ("freq", GUSState, freq, 44100, ""),
+ DEFINE_PROP_HEX32 ("iobase", GUSState, port, 0x240, ""),
+ DEFINE_PROP_UINT32 ("irq", GUSState, emu.gusirq, 7, ""),
+ DEFINE_PROP_UINT32 ("dma", GUSState, emu.gusdma, 3, ""),
DEFINE_PROP_END_OF_LIST (),
},
};
diff --git a/hw/hda-audio.c b/hw/hda-audio.c
index c699d6f..89e0e34 100644
--- a/hw/hda-audio.c
+++ b/hw/hda-audio.c
@@ -880,7 +880,7 @@ static const VMStateDescription vmstate_hda_audio = {
};
static Property hda_audio_properties[] = {
- DEFINE_PROP_UINT32("debug", HDAAudioState, debug, 0),
+ DEFINE_PROP_UINT32("debug", HDAAudioState, debug, 0, ""),
DEFINE_PROP_END_OF_LIST(),
};
diff --git a/hw/hpet.c b/hw/hpet.c
index 8fb6811..fe2c5de 100644
--- a/hw/hpet.c
+++ b/hw/hpet.c
@@ -734,8 +734,8 @@ static SysBusDeviceInfo hpet_device_info = {
.qdev.reset = hpet_reset,
.init = hpet_init,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("timers", HPETState, num_timers, HPET_MIN_TIMERS),
- DEFINE_PROP_BIT("msi", HPETState, flags, HPET_MSI_SUPPORT, false),
+ DEFINE_PROP_UINT8("timers", HPETState, num_timers, HPET_MIN_TIMERS, ""),
+ DEFINE_PROP_BIT("msi", HPETState, flags, HPET_MSI_SUPPORT, false, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/i2c.c b/hw/i2c.c
index f80d12d..f648732 100644
--- a/hw/i2c.c
+++ b/hw/i2c.c
@@ -21,7 +21,7 @@ static struct BusInfo i2c_bus_info = {
.name = "I2C",
.size = sizeof(i2c_bus),
.props = (Property[]) {
- DEFINE_PROP_UINT8("address", struct i2c_slave, address, 0),
+ DEFINE_PROP_UINT8("address", struct i2c_slave, address, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/ide/cmd646.c b/hw/ide/cmd646.c
index 5d5464a..3ec3000 100644
--- a/hw/ide/cmd646.c
+++ b/hw/ide/cmd646.c
@@ -283,7 +283,7 @@ static PCIDeviceInfo cmd646_ide_info[] = {
.qdev.size = sizeof(PCIIDEState),
.init = pci_cmd646_ide_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("secondary", PCIIDEState, secondary, 0),
+ DEFINE_PROP_UINT32("secondary", PCIIDEState, secondary, 0, ""),
DEFINE_PROP_END_OF_LIST(),
},
},{
diff --git a/hw/ide/isa.c b/hw/ide/isa.c
index 8c59c5a..6740eb3 100644
--- a/hw/ide/isa.c
+++ b/hw/ide/isa.c
@@ -105,9 +105,9 @@ static ISADeviceInfo isa_ide_info = {
.init = isa_ide_initfn,
.qdev.reset = isa_ide_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("iobase", ISAIDEState, iobase, 0x1f0),
- DEFINE_PROP_HEX32("iobase2", ISAIDEState, iobase2, 0x3f6),
- DEFINE_PROP_UINT32("irq", ISAIDEState, isairq, 14),
+ DEFINE_PROP_HEX32("iobase", ISAIDEState, iobase, 0x1f0, ""),
+ DEFINE_PROP_HEX32("iobase2", ISAIDEState, iobase2, 0x3f6, ""),
+ DEFINE_PROP_UINT32("irq", ISAIDEState, isairq, 14, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/ide/qdev.c b/hw/ide/qdev.c
index 2bb5c27..0ee272d 100644
--- a/hw/ide/qdev.c
+++ b/hw/ide/qdev.c
@@ -157,10 +157,10 @@ static IDEDeviceInfo ide_drive_info = {
.qdev.size = sizeof(IDEDrive),
.init = ide_drive_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("unit", IDEDrive, dev.unit, -1),
+ DEFINE_PROP_UINT32("unit", IDEDrive, dev.unit, -1, ""),
DEFINE_BLOCK_PROPERTIES(IDEDrive, dev.conf),
- DEFINE_PROP_STRING("ver", IDEDrive, dev.version),
- DEFINE_PROP_STRING("serial", IDEDrive, dev.serial),
+ DEFINE_PROP_STRING("ver", IDEDrive, dev.version, ""),
+ DEFINE_PROP_STRING("serial", IDEDrive, dev.serial, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/integratorcp.c b/hw/integratorcp.c
index b049940..95aa97a 100644
--- a/hw/integratorcp.c
+++ b/hw/integratorcp.c
@@ -531,7 +531,7 @@ static SysBusDeviceInfo core_info = {
.qdev.name = "integrator_core",
.qdev.size = sizeof(integratorcm_state),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("memsz", integratorcm_state, memsz, 0),
+ DEFINE_PROP_UINT32("memsz", integratorcm_state, memsz, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/intel-hda.c b/hw/intel-hda.c
index b2b6708..9c1034b 100644
--- a/hw/intel-hda.c
+++ b/hw/intel-hda.c
@@ -32,7 +32,7 @@ static struct BusInfo hda_codec_bus_info = {
.name = "HDA",
.size = sizeof(HDACodecBus),
.props = (Property[]) {
- DEFINE_PROP_UINT32("cad", HDACodecDevice, cad, -1),
+ DEFINE_PROP_UINT32("cad", HDACodecDevice, cad, -1, ""),
DEFINE_PROP_END_OF_LIST()
}
};
@@ -1277,8 +1277,8 @@ static PCIDeviceInfo intel_hda_info = {
.exit = intel_hda_exit,
.config_write = intel_hda_write_config,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("debug", IntelHDAState, debug, 0),
- DEFINE_PROP_UINT32("msi", IntelHDAState, msi, 1),
+ DEFINE_PROP_UINT32("debug", IntelHDAState, debug, 0, ""),
+ DEFINE_PROP_UINT32("msi", IntelHDAState, msi, 1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/ioh3420.c b/hw/ioh3420.c
index 95adf09..a9a2e42 100644
--- a/hw/ioh3420.c
+++ b/hw/ioh3420.c
@@ -219,12 +219,12 @@ static PCIDeviceInfo ioh3420_info = {
.exit = ioh3420_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("port", PCIESlot, port.port, 0),
- DEFINE_PROP_UINT8("chassis", PCIESlot, chassis, 0),
- DEFINE_PROP_UINT16("slot", PCIESlot, slot, 0),
+ DEFINE_PROP_UINT8("port", PCIESlot, port.port, 0, ""),
+ DEFINE_PROP_UINT8("chassis", PCIESlot, chassis, 0, ""),
+ DEFINE_PROP_UINT16("slot", PCIESlot, slot, 0, ""),
DEFINE_PROP_UINT16("aer_log_max", PCIESlot,
port.br.dev.exp.aer_log.log_max,
- PCIE_AER_LOG_MAX_DEFAULT),
+ PCIE_AER_LOG_MAX_DEFAULT, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
index 7b19a81..c27b2cb 100644
--- a/hw/ivshmem.c
+++ b/hw/ivshmem.c
@@ -810,13 +810,14 @@ static PCIDeviceInfo ivshmem_info = {
.init = pci_ivshmem_init,
.exit = pci_ivshmem_uninit,
.qdev.props = (Property[]) {
- DEFINE_PROP_CHR("chardev", IVShmemState, server_chr),
- DEFINE_PROP_STRING("size", IVShmemState, sizearg),
- DEFINE_PROP_UINT32("vectors", IVShmemState, vectors, 1),
- DEFINE_PROP_BIT("ioeventfd", IVShmemState, features, IVSHMEM_IOEVENTFD, false),
- DEFINE_PROP_BIT("msi", IVShmemState, features, IVSHMEM_MSI, true),
- DEFINE_PROP_STRING("shm", IVShmemState, shmobj),
- DEFINE_PROP_STRING("role", IVShmemState, role),
+ DEFINE_PROP_CHR("chardev", IVShmemState, server_chr, ""),
+ DEFINE_PROP_STRING("size", IVShmemState, sizearg, ""),
+ DEFINE_PROP_UINT32("vectors", IVShmemState, vectors, 1, ""),
+ DEFINE_PROP_BIT("ioeventfd", IVShmemState, features, IVSHMEM_IOEVENTFD,
+ false, ""),
+ DEFINE_PROP_BIT("msi", IVShmemState, features, IVSHMEM_MSI, true, ""),
+ DEFINE_PROP_STRING("shm", IVShmemState, shmobj, ""),
+ DEFINE_PROP_STRING("role", IVShmemState, role, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/lance.c b/hw/lance.c
index ddb1cbb..03d7c31 100644
--- a/hw/lance.c
+++ b/hw/lance.c
@@ -147,7 +147,7 @@ static SysBusDeviceInfo lance_info = {
.qdev.reset = lance_reset,
.qdev.vmsd = &vmstate_lance,
.qdev.props = (Property[]) {
- DEFINE_PROP_PTR("dma", SysBusPCNetState, state.dma_opaque),
+ DEFINE_PROP_PTR("dma", SysBusPCNetState, state.dma_opaque, ""),
DEFINE_NIC_PROPERTIES(SysBusPCNetState, state.conf),
DEFINE_PROP_END_OF_LIST(),
}
diff --git a/hw/m48t59.c b/hw/m48t59.c
index 6991e2e..2818601 100644
--- a/hw/m48t59.c
+++ b/hw/m48t59.c
@@ -732,9 +732,9 @@ static ISADeviceInfo m48t59_isa_info = {
.qdev.reset = m48t59_reset_isa,
.qdev.no_user = 1,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("size", M48t59ISAState, state.size, -1),
- DEFINE_PROP_UINT32("type", M48t59ISAState, state.type, -1),
- DEFINE_PROP_HEX32( "io_base", M48t59ISAState, state.io_base, 0),
+ DEFINE_PROP_UINT32("size", M48t59ISAState, state.size, -1, ""),
+ DEFINE_PROP_UINT32("type", M48t59ISAState, state.type, -1, ""),
+ DEFINE_PROP_HEX32( "io_base", M48t59ISAState, state.io_base, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
@@ -745,9 +745,9 @@ static SysBusDeviceInfo m48t59_info = {
.qdev.size = sizeof(M48t59SysBusState),
.qdev.reset = m48t59_reset_sysbus,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("size", M48t59SysBusState, state.size, -1),
- DEFINE_PROP_UINT32("type", M48t59SysBusState, state.type, -1),
- DEFINE_PROP_HEX32( "io_base", M48t59SysBusState, state.io_base, 0),
+ DEFINE_PROP_UINT32("size", M48t59SysBusState, state.size, -1, ""),
+ DEFINE_PROP_UINT32("type", M48t59SysBusState, state.type, -1, ""),
+ DEFINE_PROP_HEX32( "io_base", M48t59SysBusState, state.io_base, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c
index 6466aff..70a6277 100644
--- a/hw/mc146818rtc.c
+++ b/hw/mc146818rtc.c
@@ -636,7 +636,7 @@ static ISADeviceInfo mc146818rtc_info = {
.qdev.vmsd = &vmstate_rtc,
.init = rtc_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980),
+ DEFINE_PROP_INT32("base_year", RTCState, base_year, 1980, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/ne2000-isa.c b/hw/ne2000-isa.c
index 3ff0d89..34d21c3 100644
--- a/hw/ne2000-isa.c
+++ b/hw/ne2000-isa.c
@@ -110,8 +110,8 @@ static ISADeviceInfo ne2000_isa_info = {
.qdev.size = sizeof(ISANE2000State),
.init = isa_ne2000_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300),
- DEFINE_PROP_UINT32("irq", ISANE2000State, isairq, 9),
+ DEFINE_PROP_HEX32("iobase", ISANE2000State, iobase, 0x300, ""),
+ DEFINE_PROP_UINT32("irq", ISANE2000State, isairq, 9, ""),
DEFINE_NIC_PROPERTIES(ISANE2000State, ne2000.c),
DEFINE_PROP_END_OF_LIST(),
},
diff --git a/hw/parallel.c b/hw/parallel.c
index ce311aa..e1220bd 100644
--- a/hw/parallel.c
+++ b/hw/parallel.c
@@ -593,10 +593,10 @@ static ISADeviceInfo parallel_isa_info = {
.qdev.size = sizeof(ISAParallelState),
.init = parallel_isa_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("index", ISAParallelState, index, -1),
- DEFINE_PROP_HEX32("iobase", ISAParallelState, iobase, -1),
- DEFINE_PROP_UINT32("irq", ISAParallelState, isairq, 7),
- DEFINE_PROP_CHR("chardev", ISAParallelState, state.chr),
+ DEFINE_PROP_UINT32("index", ISAParallelState, index, -1, ""),
+ DEFINE_PROP_HEX32("iobase", ISAParallelState, iobase, -1, ""),
+ DEFINE_PROP_UINT32("irq", ISAParallelState, isairq, 7, ""),
+ DEFINE_PROP_CHR("chardev", ISAParallelState, state.chr, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/pci.c b/hw/pci.c
index ef00d20..500f236 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -52,13 +52,13 @@ struct BusInfo pci_bus_info = {
.get_fw_dev_path = pcibus_get_fw_dev_path,
.reset = pcibus_reset,
.props = (Property[]) {
- DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1),
- DEFINE_PROP_STRING("romfile", PCIDevice, romfile),
- DEFINE_PROP_UINT32("rombar", PCIDevice, rom_bar, 1),
+ DEFINE_PROP_PCI_DEVFN("addr", PCIDevice, devfn, -1, ""),
+ DEFINE_PROP_STRING("romfile", PCIDevice, romfile, ""),
+ DEFINE_PROP_UINT32("rombar", PCIDevice, rom_bar, 1, ""),
DEFINE_PROP_BIT("multifunction", PCIDevice, cap_present,
- QEMU_PCI_CAP_MULTIFUNCTION_BITNR, false),
+ QEMU_PCI_CAP_MULTIFUNCTION_BITNR, false, ""),
DEFINE_PROP_BIT("command_serr_enable", PCIDevice, cap_present,
- QEMU_PCI_CAP_SERR_BITNR, true),
+ QEMU_PCI_CAP_SERR_BITNR, true, ""),
DEFINE_PROP_END_OF_LIST()
}
};
diff --git a/hw/qdev-addr.h b/hw/qdev-addr.h
index a0ddf38..515a887 100644
--- a/hw/qdev-addr.h
+++ b/hw/qdev-addr.h
@@ -1,5 +1,5 @@
-#define DEFINE_PROP_TADDR(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_taddr, target_phys_addr_t)
+#define DEFINE_PROP_TADDR(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_taddr, target_phys_addr_t, _c)
extern PropertyInfo qdev_prop_taddr;
void qdev_prop_set_taddr(DeviceState *dev, const char *name, target_phys_addr_t value);
diff --git a/hw/qdev.c b/hw/qdev.c
index 6fc9b02..168d0f6 100644
--- a/hw/qdev.c
+++ b/hw/qdev.c
@@ -185,7 +185,8 @@ int qdev_device_help(QemuOpts *opts)
if (!prop->info->parse) {
continue; /* no way to set it, don't show */
}
- error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
+ error_printf("%s.%s=%s, %s\n", info->name, prop->name,
+ prop->info->name, prop->desc ?: "");
}
return 1;
}
diff --git a/hw/qdev.h b/hw/qdev.h
index aaaf55a..9a9eefd 100644
--- a/hw/qdev.h
+++ b/hw/qdev.h
@@ -80,6 +80,7 @@ struct BusState {
struct Property {
const char *name;
PropertyInfo *info;
+ const char *desc;
int offset;
int bitnr;
void *defval;
@@ -232,59 +233,63 @@ extern PropertyInfo qdev_prop_netdev;
extern PropertyInfo qdev_prop_vlan;
extern PropertyInfo qdev_prop_pci_devfn;
-#define DEFINE_PROP(_name, _state, _field, _prop, _type) { \
+#define DEFINE_PROP(_name, _state, _field, _prop, _type, _desc) { \
.name = (_name), \
.info = &(_prop), \
+ .desc = (_desc), \
.offset = offsetof(_state, _field) \
+ type_check(_type,typeof_field(_state, _field)), \
}
-#define DEFINE_PROP_DEFAULT(_name, _state, _field, _defval, _prop, _type) { \
+#define DEFINE_PROP_DEFAULT(_name, _state, _field, _defval, _prop, _type, \
+ _desc) { \
.name = (_name), \
.info = &(_prop), \
+ .desc = (_desc), \
.offset = offsetof(_state, _field) \
+ type_check(_type,typeof_field(_state, _field)), \
.defval = (_type[]) { _defval }, \
}
-#define DEFINE_PROP_BIT(_name, _state, _field, _bit, _defval) { \
+#define DEFINE_PROP_BIT(_name, _state, _field, _bit, _defval, _desc) { \
.name = (_name), \
.info = &(qdev_prop_bit), \
- .bitnr = (_bit), \
+ .desc = (_desc), \
+ .bitnr = (_bit), \
.offset = offsetof(_state, _field) \
+ type_check(uint32_t,typeof_field(_state, _field)), \
.defval = (bool[]) { (_defval) }, \
}
-#define DEFINE_PROP_UINT8(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint8, uint8_t)
-#define DEFINE_PROP_UINT16(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint16, uint16_t)
-#define DEFINE_PROP_UINT32(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint32, uint32_t)
-#define DEFINE_PROP_INT32(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_int32, int32_t)
-#define DEFINE_PROP_UINT64(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint64, uint64_t)
-#define DEFINE_PROP_HEX32(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex32, uint32_t)
-#define DEFINE_PROP_HEX64(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex64, uint64_t)
-#define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d) \
- DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_pci_devfn, uint32_t)
-
-#define DEFINE_PROP_PTR(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_ptr, void*)
-#define DEFINE_PROP_CHR(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharDriverState*)
-#define DEFINE_PROP_STRING(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_string, char*)
-#define DEFINE_PROP_NETDEV(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, VLANClientState*)
-#define DEFINE_PROP_VLAN(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_vlan, VLANState*)
-#define DEFINE_PROP_DRIVE(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *)
-#define DEFINE_PROP_MACADDR(_n, _s, _f) \
- DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr)
+#define DEFINE_PROP_UINT8(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint8, uint8_t, _c)
+#define DEFINE_PROP_UINT16(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint16, uint16_t, _c)
+#define DEFINE_PROP_UINT32(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint32, uint32_t, _c)
+#define DEFINE_PROP_INT32(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_int32, int32_t, _c)
+#define DEFINE_PROP_UINT64(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_uint64, uint64_t, _c)
+#define DEFINE_PROP_HEX32(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex32, uint32_t, _c)
+#define DEFINE_PROP_HEX64(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_hex64, uint64_t, _c)
+#define DEFINE_PROP_PCI_DEVFN(_n, _s, _f, _d, _c) \
+ DEFINE_PROP_DEFAULT(_n, _s, _f, _d, qdev_prop_pci_devfn, uint32_t, _c)
+
+#define DEFINE_PROP_PTR(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_ptr, void*, _c)
+#define DEFINE_PROP_CHR(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_chr, CharDriverState*, _c)
+#define DEFINE_PROP_STRING(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_string, char*, _c)
+#define DEFINE_PROP_NETDEV(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_netdev, VLANClientState*, _c)
+#define DEFINE_PROP_VLAN(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_vlan, VLANState*, _c)
+#define DEFINE_PROP_DRIVE(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_drive, BlockDriverState *, _c)
+#define DEFINE_PROP_MACADDR(_n, _s, _f, _c) \
+ DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr, _c)
#define DEFINE_PROP_END_OF_LIST() \
{}
diff --git a/hw/s390-virtio-bus.c b/hw/s390-virtio-bus.c
index 784dc01..ba0f377 100644
--- a/hw/s390-virtio-bus.c
+++ b/hw/s390-virtio-bus.c
@@ -354,7 +354,7 @@ static VirtIOS390DeviceInfo s390_virtio_serial = {
.qdev.size = sizeof(VirtIOS390Device),
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("max_ports", VirtIOS390Device, max_virtserial_ports,
- 31),
+ 31, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/sb16.c b/hw/sb16.c
index c9d37ad..cd4a602 100644
--- a/hw/sb16.c
+++ b/hw/sb16.c
@@ -1404,11 +1404,11 @@ static ISADeviceInfo sb16_info = {
.qdev.vmsd = &vmstate_sb16,
.init = sb16_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32 ("version", SB16State, ver, 0x0405), /* 4.5 */
- DEFINE_PROP_HEX32 ("iobase", SB16State, port, 0x220),
- DEFINE_PROP_UINT32 ("irq", SB16State, irq, 5),
- DEFINE_PROP_UINT32 ("dma", SB16State, dma, 1),
- DEFINE_PROP_UINT32 ("dma16", SB16State, hdma, 5),
+ DEFINE_PROP_HEX32 ("version", SB16State, ver, 0x0405, ""), /* 4.5 */
+ DEFINE_PROP_HEX32 ("iobase", SB16State, port, 0x220, ""),
+ DEFINE_PROP_UINT32 ("irq", SB16State, irq, 5, ""),
+ DEFINE_PROP_UINT32 ("dma", SB16State, dma, 1, ""),
+ DEFINE_PROP_UINT32 ("dma16", SB16State, hdma, 5, ""),
DEFINE_PROP_END_OF_LIST (),
},
};
diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index 7febb86..d08441c 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi-bus.c
@@ -12,7 +12,7 @@ static struct BusInfo scsi_bus_info = {
.size = sizeof(SCSIBus),
.get_fw_dev_path = scsibus_get_fw_dev_path,
.props = (Property[]) {
- DEFINE_PROP_UINT32("scsi-id", SCSIDevice, id, -1),
+ DEFINE_PROP_UINT32("scsi-id", SCSIDevice, id, -1, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index 6cb317c..20562f7 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -1293,8 +1293,8 @@ static SCSIDeviceInfo scsi_disk_info = {
.get_buf = scsi_get_buf,
.qdev.props = (Property[]) {
DEFINE_BLOCK_PROPERTIES(SCSIDiskState, qdev.conf),
- DEFINE_PROP_STRING("ver", SCSIDiskState, version),
- DEFINE_PROP_STRING("serial", SCSIDiskState, serial),
+ DEFINE_PROP_STRING("ver", SCSIDiskState, version, ""),
+ DEFINE_PROP_STRING("serial", SCSIDiskState, serial, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/serial.c b/hw/serial.c
index 2c4af61..f6d8c28 100644
--- a/hw/serial.c
+++ b/hw/serial.c
@@ -975,10 +975,10 @@ static ISADeviceInfo serial_isa_info = {
.qdev.vmsd = &vmstate_isa_serial,
.init = serial_isa_initfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("index", ISASerialState, index, -1),
- DEFINE_PROP_HEX32("iobase", ISASerialState, iobase, -1),
- DEFINE_PROP_UINT32("irq", ISASerialState, isairq, -1),
- DEFINE_PROP_CHR("chardev", ISASerialState, state.chr),
+ DEFINE_PROP_UINT32("index", ISASerialState, index, -1, ""),
+ DEFINE_PROP_HEX32("iobase", ISASerialState, iobase, -1, ""),
+ DEFINE_PROP_UINT32("irq", ISASerialState, isairq, -1, ""),
+ DEFINE_PROP_CHR("chardev", ISASerialState, state.chr, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/slavio_timer.c b/hw/slavio_timer.c
index 5511313..e17ad29 100644
--- a/hw/slavio_timer.c
+++ b/hw/slavio_timer.c
@@ -411,7 +411,7 @@ static SysBusDeviceInfo slavio_timer_info = {
.qdev.vmsd = &vmstate_slavio_timer,
.qdev.reset = slavio_timer_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num_cpus", SLAVIO_TIMERState, num_cpus, 0),
+ DEFINE_PROP_UINT32("num_cpus", SLAVIO_TIMERState, num_cpus, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/smbus_eeprom.c b/hw/smbus_eeprom.c
index 52463e0..9ee8f54 100644
--- a/hw/smbus_eeprom.c
+++ b/hw/smbus_eeprom.c
@@ -108,7 +108,7 @@ static SMBusDeviceInfo smbus_eeprom_info = {
.i2c.qdev.name = "smbus-eeprom",
.i2c.qdev.size = sizeof(SMBusEEPROMDevice),
.i2c.qdev.props = (Property[]) {
- DEFINE_PROP_PTR("data", SMBusEEPROMDevice, data),
+ DEFINE_PROP_PTR("data", SMBusEEPROMDevice, data, ""),
DEFINE_PROP_END_OF_LIST(),
},
.init = smbus_eeprom_init,
diff --git a/hw/sparc32_dma.c b/hw/sparc32_dma.c
index e75694b..a471a6e 100644
--- a/hw/sparc32_dma.c
+++ b/hw/sparc32_dma.c
@@ -291,8 +291,8 @@ static SysBusDeviceInfo sparc32_dma_info = {
.qdev.vmsd = &vmstate_dma,
.qdev.reset = dma_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_PTR("iommu_opaque", DMAState, iommu),
- DEFINE_PROP_UINT32("is_ledma", DMAState, is_ledma, 0),
+ DEFINE_PROP_PTR("iommu_opaque", DMAState, iommu, ""),
+ DEFINE_PROP_UINT32("is_ledma", DMAState, is_ledma, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/sun4m.c b/hw/sun4m.c
index 30e8a21..cbf27d1 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -759,7 +759,7 @@ static SysBusDeviceInfo ram_info = {
.qdev.name = "memory",
.qdev.size = sizeof(RamDevice),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT64("size", RamDevice, size, 0),
+ DEFINE_PROP_UINT64("size", RamDevice, size, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/sun4m_iommu.c b/hw/sun4m_iommu.c
index bba69ee..e103499 100644
--- a/hw/sun4m_iommu.c
+++ b/hw/sun4m_iommu.c
@@ -365,7 +365,7 @@ static SysBusDeviceInfo iommu_info = {
.qdev.vmsd = &vmstate_iommu,
.qdev.reset = iommu_reset,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("version", IOMMUState, version, 0),
+ DEFINE_PROP_HEX32("version", IOMMUState, version, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 90b1ce2..ab420bd 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -692,7 +692,7 @@ static SysBusDeviceInfo ram_info = {
.qdev.name = "memory",
.qdev.size = sizeof(RamDevice),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT64("size", RamDevice, size, 0),
+ DEFINE_PROP_UINT64("size", RamDevice, size, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_fb.c b/hw/syborg_fb.c
index 7e37364..ef09440 100644
--- a/hw/syborg_fb.c
+++ b/hw/syborg_fb.c
@@ -537,8 +537,8 @@ static SysBusDeviceInfo syborg_fb_info = {
.qdev.name = "syborg,framebuffer",
.qdev.size = sizeof(SyborgFBState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("width", SyborgFBState, cols, 0),
- DEFINE_PROP_UINT32("height", SyborgFBState, rows, 0),
+ DEFINE_PROP_UINT32("width", SyborgFBState, cols, 0, ""),
+ DEFINE_PROP_UINT32("height", SyborgFBState, rows, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_interrupt.c b/hw/syborg_interrupt.c
index 5217983..d1b8b05 100644
--- a/hw/syborg_interrupt.c
+++ b/hw/syborg_interrupt.c
@@ -225,7 +225,7 @@ static SysBusDeviceInfo syborg_int_info = {
.qdev.name = "syborg,interrupt",
.qdev.size = sizeof(SyborgIntState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num-interrupts", SyborgIntState, num_irqs, 64),
+ DEFINE_PROP_UINT32("num-interrupts", SyborgIntState, num_irqs, 64, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_keyboard.c b/hw/syborg_keyboard.c
index d295e99..02b33ca 100644
--- a/hw/syborg_keyboard.c
+++ b/hw/syborg_keyboard.c
@@ -231,7 +231,7 @@ static SysBusDeviceInfo syborg_keyboard_info = {
.qdev.name = "syborg,keyboard",
.qdev.size = sizeof(SyborgKeyboardState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("fifo-size", SyborgKeyboardState, fifo_size, 16),
+ DEFINE_PROP_UINT32("fifo-size", SyborgKeyboardState, fifo_size, 16, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_pointer.c b/hw/syborg_pointer.c
index a886888..5c1fb0b 100644
--- a/hw/syborg_pointer.c
+++ b/hw/syborg_pointer.c
@@ -229,8 +229,8 @@ static SysBusDeviceInfo syborg_pointer_info = {
.qdev.name = "syborg,pointer",
.qdev.size = sizeof(SyborgPointerState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("fifo-size", SyborgPointerState, fifo_size, 16),
- DEFINE_PROP_UINT32("absolute", SyborgPointerState, absolute, 1),
+ DEFINE_PROP_UINT32("fifo-size", SyborgPointerState, fifo_size, 16, ""),
+ DEFINE_PROP_UINT32("absolute", SyborgPointerState, absolute, 1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_serial.c b/hw/syborg_serial.c
index 34ce076..87474e0 100644
--- a/hw/syborg_serial.c
+++ b/hw/syborg_serial.c
@@ -346,7 +346,7 @@ static SysBusDeviceInfo syborg_serial_info = {
.qdev.name = "syborg,serial",
.qdev.size = sizeof(SyborgSerialState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("fifo-size", SyborgSerialState, fifo_size, 16),
+ DEFINE_PROP_UINT32("fifo-size", SyborgSerialState, fifo_size, 16, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_timer.c b/hw/syborg_timer.c
index cedcd8e..add8a9a 100644
--- a/hw/syborg_timer.c
+++ b/hw/syborg_timer.c
@@ -232,7 +232,7 @@ static SysBusDeviceInfo syborg_timer_info = {
.qdev.name = "syborg,timer",
.qdev.size = sizeof(SyborgTimerState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("frequency",SyborgTimerState, freq, 0),
+ DEFINE_PROP_UINT32("frequency",SyborgTimerState, freq, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/syborg_virtio.c b/hw/syborg_virtio.c
index ee08c49..e9d54a2 100644
--- a/hw/syborg_virtio.c
+++ b/hw/syborg_virtio.c
@@ -298,10 +298,10 @@ static SysBusDeviceInfo syborg_virtio_net_info = {
DEFINE_NIC_PROPERTIES(SyborgVirtIOProxy, nic),
DEFINE_VIRTIO_NET_FEATURES(SyborgVirtIOProxy, host_features),
DEFINE_PROP_UINT32("x-txtimer", SyborgVirtIOProxy,
- net.txtimer, TX_TIMER_INTERVAL),
+ net.txtimer, TX_TIMER_INTERVAL, ""),
DEFINE_PROP_INT32("x-txburst", SyborgVirtIOProxy,
- net.txburst, TX_BURST),
- DEFINE_PROP_STRING("tx", SyborgVirtIOProxy, net.tx),
+ net.txburst, TX_BURST, ""),
+ DEFINE_PROP_STRING("tx", SyborgVirtIOProxy, net.tx, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/tcx.c b/hw/tcx.c
index 0e32830..7bed136 100644
--- a/hw/tcx.c
+++ b/hw/tcx.c
@@ -634,11 +634,11 @@ static SysBusDeviceInfo tcx_info = {
.qdev.reset = tcx_reset,
.qdev.vmsd = &vmstate_tcx,
.qdev.props = (Property[]) {
- DEFINE_PROP_TADDR("addr", TCXState, addr, -1),
- DEFINE_PROP_HEX32("vram_size", TCXState, vram_size, -1),
- DEFINE_PROP_UINT16("width", TCXState, width, -1),
- DEFINE_PROP_UINT16("height", TCXState, height, -1),
- DEFINE_PROP_UINT16("depth", TCXState, depth, -1),
+ DEFINE_PROP_TADDR("addr", TCXState, addr, -1, ""),
+ DEFINE_PROP_HEX32("vram_size", TCXState, vram_size, -1, ""),
+ DEFINE_PROP_UINT16("width", TCXState, width, -1, ""),
+ DEFINE_PROP_UINT16("height", TCXState, height, -1, ""),
+ DEFINE_PROP_UINT16("depth", TCXState, depth, -1, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/usb-ohci.c b/hw/usb-ohci.c
index 240e840..47c929c 100644
--- a/hw/usb-ohci.c
+++ b/hw/usb-ohci.c
@@ -1776,8 +1776,8 @@ static SysBusDeviceInfo ohci_sysbus_info = {
.qdev.desc = "OHCI USB Controller",
.qdev.size = sizeof(OHCISysBusState),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("num-ports", OHCISysBusState, num_ports, 3),
- DEFINE_PROP_TADDR("dma-offset", OHCISysBusState, dma_offset, 3),
+ DEFINE_PROP_UINT32("num-ports", OHCISysBusState, num_ports, 3, ""),
+ DEFINE_PROP_TADDR("dma-offset", OHCISysBusState, dma_offset, 3, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/usb-serial.c b/hw/usb-serial.c
index c19580f..f0fb340 100644
--- a/hw/usb-serial.c
+++ b/hw/usb-serial.c
@@ -642,9 +642,9 @@ static struct USBDeviceInfo serial_info = {
.usbdevice_name = "serial",
.usbdevice_init = usb_serial_init,
.qdev.props = (Property[]) {
- DEFINE_PROP_CHR("chardev", USBSerialState, cs),
- DEFINE_PROP_HEX32("vendorid", USBSerialState, vendorid, 0x0403),
- DEFINE_PROP_HEX32("productid", USBSerialState, productid, 0x6001),
+ DEFINE_PROP_CHR("chardev", USBSerialState, cs, ""),
+ DEFINE_PROP_HEX32("vendorid", USBSerialState, vendorid, 0x0403, ""),
+ DEFINE_PROP_HEX32("productid", USBSerialState, productid, 0x6001, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
@@ -662,9 +662,9 @@ static struct USBDeviceInfo braille_info = {
.usbdevice_name = "braille",
.usbdevice_init = usb_braille_init,
.qdev.props = (Property[]) {
- DEFINE_PROP_CHR("chardev", USBSerialState, cs),
- DEFINE_PROP_HEX32("vendorid", USBSerialState, vendorid, 0x0403),
- DEFINE_PROP_HEX32("productid", USBSerialState, productid, 0xfe72),
+ DEFINE_PROP_CHR("chardev", USBSerialState, cs, ""),
+ DEFINE_PROP_HEX32("vendorid", USBSerialState, vendorid, 0x0403, ""),
+ DEFINE_PROP_HEX32("productid", USBSerialState, productid, 0xfe72, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/virtio-blk.h b/hw/virtio-blk.h
index fff46da..d587c5b 100644
--- a/hw/virtio-blk.h
+++ b/hw/virtio-blk.h
@@ -97,8 +97,8 @@ struct virtio_scsi_inhdr
#ifdef __linux__
#define DEFINE_VIRTIO_BLK_FEATURES(_state, _field) \
- DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
- DEFINE_PROP_BIT("scsi", _state, _field, VIRTIO_BLK_F_SCSI, true)
+ DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
+ DEFINE_PROP_BIT("scsi", _state, _field, VIRTIO_BLK_F_SCSI, true, "")
#else
#define DEFINE_VIRTIO_BLK_FEATURES(_state, _field) \
DEFINE_VIRTIO_COMMON_FEATURES(_state, _field)
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
index caea11f..ccd277a 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
@@ -95,10 +95,11 @@ static VirtIOSerialPortInfo virtconsole_info = {
.init = virtconsole_initfn,
.exit = virtconsole_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1),
- DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID),
- DEFINE_PROP_CHR("chardev", VirtConsole, chr),
- DEFINE_PROP_STRING("name", VirtConsole, port.name),
+ DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1, ""),
+ DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
+ ""),
+ DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
+ DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
@@ -131,9 +132,10 @@ static VirtIOSerialPortInfo virtserialport_info = {
.init = virtserialport_initfn,
.exit = virtconsole_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID),
- DEFINE_PROP_CHR("chardev", VirtConsole, chr),
- DEFINE_PROP_STRING("name", VirtConsole, port.name),
+ DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
+ ""),
+ DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
+ DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/virtio-net.h b/hw/virtio-net.h
index 8af9a1c..8fde1a3 100644
--- a/hw/virtio-net.h
+++ b/hw/virtio-net.h
@@ -168,22 +168,37 @@ struct virtio_net_ctrl_mac {
#define VIRTIO_NET_CTRL_VLAN_DEL 1
#define DEFINE_VIRTIO_NET_FEATURES(_state, _field) \
- DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
- DEFINE_PROP_BIT("csum", _state, _field, VIRTIO_NET_F_CSUM, true), \
- DEFINE_PROP_BIT("guest_csum", _state, _field, VIRTIO_NET_F_GUEST_CSUM, true), \
- DEFINE_PROP_BIT("gso", _state, _field, VIRTIO_NET_F_GSO, true), \
- DEFINE_PROP_BIT("guest_tso4", _state, _field, VIRTIO_NET_F_GUEST_TSO4, true), \
- DEFINE_PROP_BIT("guest_tso6", _state, _field, VIRTIO_NET_F_GUEST_TSO6, true), \
- DEFINE_PROP_BIT("guest_ecn", _state, _field, VIRTIO_NET_F_GUEST_ECN, true), \
- DEFINE_PROP_BIT("guest_ufo", _state, _field, VIRTIO_NET_F_GUEST_UFO, true), \
- DEFINE_PROP_BIT("host_tso4", _state, _field, VIRTIO_NET_F_HOST_TSO4, true), \
- DEFINE_PROP_BIT("host_tso6", _state, _field, VIRTIO_NET_F_HOST_TSO6, true), \
- DEFINE_PROP_BIT("host_ecn", _state, _field, VIRTIO_NET_F_HOST_ECN, true), \
- DEFINE_PROP_BIT("host_ufo", _state, _field, VIRTIO_NET_F_HOST_UFO, true), \
- DEFINE_PROP_BIT("mrg_rxbuf", _state, _field, VIRTIO_NET_F_MRG_RXBUF, true), \
- DEFINE_PROP_BIT("status", _state, _field, VIRTIO_NET_F_STATUS, true), \
- DEFINE_PROP_BIT("ctrl_vq", _state, _field, VIRTIO_NET_F_CTRL_VQ, true), \
- DEFINE_PROP_BIT("ctrl_rx", _state, _field, VIRTIO_NET_F_CTRL_RX, true), \
- DEFINE_PROP_BIT("ctrl_vlan", _state, _field, VIRTIO_NET_F_CTRL_VLAN, true), \
- DEFINE_PROP_BIT("ctrl_rx_extra", _state, _field, VIRTIO_NET_F_CTRL_RX_EXTRA, true)
+ DEFINE_VIRTIO_COMMON_FEATURES(_state, _field), \
+ DEFINE_PROP_BIT("csum", _state, _field, VIRTIO_NET_F_CSUM, true, ""), \
+ DEFINE_PROP_BIT("guest_csum", _state, _field, VIRTIO_NET_F_GUEST_CSUM, \
+ true, ""), \
+ DEFINE_PROP_BIT("gso", _state, _field, VIRTIO_NET_F_GSO, true, ""), \
+ DEFINE_PROP_BIT("guest_tso4", _state, _field, VIRTIO_NET_F_GUEST_TSO4, \
+ true, ""), \
+ DEFINE_PROP_BIT("guest_tso6", _state, _field, VIRTIO_NET_F_GUEST_TSO6, \
+ true, ""), \
+ DEFINE_PROP_BIT("guest_ecn", _state, _field, VIRTIO_NET_F_GUEST_ECN, \
+ true, ""), \
+ DEFINE_PROP_BIT("guest_ufo", _state, _field, VIRTIO_NET_F_GUEST_UFO, \
+ true, ""), \
+ DEFINE_PROP_BIT("host_tso4", _state, _field, VIRTIO_NET_F_HOST_TSO4, \
+ true, ""), \
+ DEFINE_PROP_BIT("host_tso6", _state, _field, VIRTIO_NET_F_HOST_TSO6, \
+ true, ""), \
+ DEFINE_PROP_BIT("host_ecn", _state, _field, VIRTIO_NET_F_HOST_ECN, \
+ true, ""), \
+ DEFINE_PROP_BIT("host_ufo", _state, _field, VIRTIO_NET_F_HOST_UFO, \
+ true, ""), \
+ DEFINE_PROP_BIT("mrg_rxbuf", _state, _field, VIRTIO_NET_F_MRG_RXBUF, \
+ true, ""), \
+ DEFINE_PROP_BIT("status", _state, _field, VIRTIO_NET_F_STATUS, true, \
+ ""), \
+ DEFINE_PROP_BIT("ctrl_vq", _state, _field, VIRTIO_NET_F_CTRL_VQ, true, \
+ ""), \
+ DEFINE_PROP_BIT("ctrl_rx", _state, _field, VIRTIO_NET_F_CTRL_RX, true, \
+ ""), \
+ DEFINE_PROP_BIT("ctrl_vlan", _state, _field, VIRTIO_NET_F_CTRL_VLAN, \
+ true, ""), \
+ DEFINE_PROP_BIT("ctrl_rx_extra", _state, _field, \
+ VIRTIO_NET_F_CTRL_RX_EXTRA, true, "")
#endif
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 6186142..16ef166 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -704,9 +704,9 @@ static PCIDeviceInfo virtio_info[] = {
.init = virtio_blk_init_pci,
.exit = virtio_blk_exit_pci,
.qdev.props = (Property[]) {
- DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0),
+ DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0, ""),
DEFINE_BLOCK_PROPERTIES(VirtIOPCIProxy, block),
- DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
+ DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2, ""),
DEFINE_VIRTIO_BLK_FEATURES(VirtIOPCIProxy, host_features),
DEFINE_PROP_END_OF_LIST(),
},
@@ -718,14 +718,14 @@ static PCIDeviceInfo virtio_info[] = {
.exit = virtio_net_exit_pci,
.romfile = "pxe-virtio.bin",
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 3),
+ DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 3, ""),
DEFINE_VIRTIO_NET_FEATURES(VirtIOPCIProxy, host_features),
DEFINE_NIC_PROPERTIES(VirtIOPCIProxy, nic),
DEFINE_PROP_UINT32("x-txtimer", VirtIOPCIProxy,
- net.txtimer, TX_TIMER_INTERVAL),
+ net.txtimer, TX_TIMER_INTERVAL, ""),
DEFINE_PROP_INT32("x-txburst", VirtIOPCIProxy,
- net.txburst, TX_BURST),
- DEFINE_PROP_STRING("tx", VirtIOPCIProxy, net.tx),
+ net.txburst, TX_BURST, ""),
+ DEFINE_PROP_STRING("tx", VirtIOPCIProxy, net.tx, ""),
DEFINE_PROP_END_OF_LIST(),
},
.qdev.reset = virtio_pci_reset,
@@ -737,11 +737,11 @@ static PCIDeviceInfo virtio_info[] = {
.exit = virtio_serial_exit_pci,
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors,
- DEV_NVECTORS_UNSPECIFIED),
- DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0),
+ DEV_NVECTORS_UNSPECIFIED, ""),
+ DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0, ""),
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
DEFINE_PROP_UINT32("max_ports", VirtIOPCIProxy, max_virtserial_ports,
- 31),
+ 31, ""),
DEFINE_PROP_END_OF_LIST(),
},
.qdev.reset = virtio_pci_reset,
@@ -763,8 +763,8 @@ static PCIDeviceInfo virtio_info[] = {
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 2),
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
- DEFINE_PROP_STRING("mount_tag", VirtIOPCIProxy, fsconf.tag),
- DEFINE_PROP_STRING("fsdev", VirtIOPCIProxy, fsconf.fsdev_id),
+ DEFINE_PROP_STRING("mount_tag", VirtIOPCIProxy, fsconf.tag, ""),
+ DEFINE_PROP_STRING("fsdev", VirtIOPCIProxy, fsconf.fsdev_id, ""),
DEFINE_PROP_END_OF_LIST(),
},
}, {
diff --git a/hw/virtio.h b/hw/virtio.h
index 02fa312..2b098b0 100644
--- a/hw/virtio.h
+++ b/hw/virtio.h
@@ -204,7 +204,7 @@ void virtio_serial_exit(VirtIODevice *vdev);
#define DEFINE_VIRTIO_COMMON_FEATURES(_state, _field) \
DEFINE_PROP_BIT("indirect_desc", _state, _field, \
- VIRTIO_RING_F_INDIRECT_DESC, true)
+ VIRTIO_RING_F_INDIRECT_DESC, true, "")
target_phys_addr_t virtio_queue_get_desc_addr(VirtIODevice *vdev, int n);
target_phys_addr_t virtio_queue_get_avail_addr(VirtIODevice *vdev, int n);
diff --git a/hw/vt82c686.c b/hw/vt82c686.c
index cacc217..502cdd2 100644
--- a/hw/vt82c686.c
+++ b/hw/vt82c686.c
@@ -517,7 +517,7 @@ static PCIDeviceInfo via_pm_info = {
.init = vt82c686b_pm_initfn,
.config_write = pm_write_config,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("smb_io_base", VT686PMState, smb_io_base, 0),
+ DEFINE_PROP_UINT32("smb_io_base", VT686PMState, smb_io_base, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/xilinx_ethlite.c b/hw/xilinx_ethlite.c
index 54b57d7..061d44b 100644
--- a/hw/xilinx_ethlite.c
+++ b/hw/xilinx_ethlite.c
@@ -239,8 +239,10 @@ static SysBusDeviceInfo xilinx_ethlite_info = {
.qdev.name = "xilinx,ethlite",
.qdev.size = sizeof(struct xlx_ethlite),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("txpingpong", struct xlx_ethlite, c_tx_pingpong, 1),
- DEFINE_PROP_UINT32("rxpingpong", struct xlx_ethlite, c_rx_pingpong, 1),
+ DEFINE_PROP_UINT32("txpingpong", struct xlx_ethlite, c_tx_pingpong, 1,
+ ""),
+ DEFINE_PROP_UINT32("rxpingpong", struct xlx_ethlite, c_rx_pingpong, 1,
+ ""),
DEFINE_NIC_PROPERTIES(struct xlx_ethlite, conf),
DEFINE_PROP_END_OF_LIST(),
}
diff --git a/hw/xilinx_intc.c b/hw/xilinx_intc.c
index cb72d5a..4fceab8 100644
--- a/hw/xilinx_intc.c
+++ b/hw/xilinx_intc.c
@@ -163,7 +163,8 @@ static SysBusDeviceInfo xilinx_intc_info = {
.qdev.name = "xilinx,intc",
.qdev.size = sizeof(struct xlx_pic),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("kind-of-intr", struct xlx_pic, c_kind_of_intr, 0),
+ DEFINE_PROP_UINT32("kind-of-intr", struct xlx_pic, c_kind_of_intr, 0,
+ ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/xilinx_timer.c b/hw/xilinx_timer.c
index 30827b0..d1bf1af 100644
--- a/hw/xilinx_timer.c
+++ b/hw/xilinx_timer.c
@@ -221,8 +221,8 @@ static SysBusDeviceInfo xilinx_timer_info = {
.qdev.name = "xilinx,timer",
.qdev.size = sizeof(struct timerblock),
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("frequency", struct timerblock, freq_hz, 0),
- DEFINE_PROP_UINT32("nr-timers", struct timerblock, nr_timers, 0),
+ DEFINE_PROP_UINT32("frequency", struct timerblock, freq_hz, 0, ""),
+ DEFINE_PROP_UINT32("nr-timers", struct timerblock, nr_timers, 0, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/xio3130_downstream.c b/hw/xio3130_downstream.c
index 1a2d258..816f70c 100644
--- a/hw/xio3130_downstream.c
+++ b/hw/xio3130_downstream.c
@@ -184,12 +184,12 @@ static PCIDeviceInfo xio3130_downstream_info = {
.exit = xio3130_downstream_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("port", PCIESlot, port.port, 0),
- DEFINE_PROP_UINT8("chassis", PCIESlot, chassis, 0),
- DEFINE_PROP_UINT16("slot", PCIESlot, slot, 0),
+ DEFINE_PROP_UINT8("port", PCIESlot, port.port, 0, ""),
+ DEFINE_PROP_UINT8("chassis", PCIESlot, chassis, 0, ""),
+ DEFINE_PROP_UINT16("slot", PCIESlot, slot, 0, ""),
DEFINE_PROP_UINT16("aer_log_max", PCIESlot,
port.br.dev.exp.aer_log.log_max,
- PCIE_AER_LOG_MAX_DEFAULT),
+ PCIE_AER_LOG_MAX_DEFAULT, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/hw/xio3130_upstream.c b/hw/xio3130_upstream.c
index 387bf6c..c655d1c 100644
--- a/hw/xio3130_upstream.c
+++ b/hw/xio3130_upstream.c
@@ -164,9 +164,9 @@ static PCIDeviceInfo xio3130_upstream_info = {
.exit = xio3130_upstream_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("port", PCIEPort, port, 0),
+ DEFINE_PROP_UINT8("port", PCIEPort, port, 0, ""),
DEFINE_PROP_UINT16("aer_log_max", PCIEPort, br.dev.exp.aer_log.log_max,
- PCIE_AER_LOG_MAX_DEFAULT),
+ PCIE_AER_LOG_MAX_DEFAULT, ""),
DEFINE_PROP_END_OF_LIST(),
}
};
diff --git a/net.h b/net.h
index 6ceca50..aa4454b 100644
--- a/net.h
+++ b/net.h
@@ -21,10 +21,10 @@ typedef struct NICConf {
} NICConf;
#define DEFINE_NIC_PROPERTIES(_state, _conf) \
- DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr), \
- DEFINE_PROP_VLAN("vlan", _state, _conf.vlan), \
- DEFINE_PROP_NETDEV("netdev", _state, _conf.peer), \
- DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1)
+ DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr, ""), \
+ DEFINE_PROP_VLAN("vlan", _state, _conf.vlan, ""), \
+ DEFINE_PROP_NETDEV("netdev", _state, _conf.peer, ""), \
+ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, "")
/* VLANs support */
diff --git a/usb-linux.c b/usb-linux.c
index ccf7073..0f59a69 100644
--- a/usb-linux.c
+++ b/usb-linux.c
@@ -1068,10 +1068,10 @@ static struct USBDeviceInfo usb_host_dev_info = {
.usbdevice_name = "host",
.usbdevice_init = usb_host_device_open,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("hostbus", USBHostDevice, match.bus_num, 0),
- DEFINE_PROP_UINT32("hostaddr", USBHostDevice, match.addr, 0),
- DEFINE_PROP_HEX32("vendorid", USBHostDevice, match.vendor_id, 0),
- DEFINE_PROP_HEX32("productid", USBHostDevice, match.product_id, 0),
+ DEFINE_PROP_UINT32("hostbus", USBHostDevice, match.bus_num, 0, ""),
+ DEFINE_PROP_UINT32("hostaddr", USBHostDevice, match.addr, 0, ""),
+ DEFINE_PROP_HEX32("vendorid", USBHostDevice, match.vendor_id, 0, ""),
+ DEFINE_PROP_HEX32("productid", USBHostDevice, match.product_id, 0, ""),
DEFINE_PROP_END_OF_LIST(),
},
};
--
1.7.3.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation Amit Shah
@ 2011-01-04 12:22 ` Amit Shah
2011-01-10 14:47 ` Markus Armbruster
2011-01-04 12:22 ` [Qemu-devel] [PATCH 3/4] net.h: Add description fields for qdev properites Amit Shah
` (2 subsequent siblings)
4 siblings, 1 reply; 11+ messages in thread
From: Amit Shah @ 2011-01-04 12:22 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, qemu list
Document the parameters for the virtserialport and virtioconsole
devices.
Example:
$ ./x86_64-softmmu/qemu-system-x86_64 -device virtserialport,?
virtserialport.nr=uint32, The 'number' for the port for \
predictable port numbers. Use this to spawn ports if you \
plan to migrate the guest.
virtserialport.chardev=chr, The chardev to associate this port with.
virtserialport.name=string, Name for the port that's exposed to \
the guest for port discovery.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
hw/virtio-console.c | 17 ++++++++++-------
hw/virtio-serial.h | 13 +++++++++++++
2 files changed, 23 insertions(+), 7 deletions(-)
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
index ccd277a..8a99a99 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
@@ -95,11 +95,13 @@ static VirtIOSerialPortInfo virtconsole_info = {
.init = virtconsole_initfn,
.exit = virtconsole_exitfn,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1, ""),
+ DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1,
+ PROP_VIRTSERIAL_IS_CONSOLE_DESC),
DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
- ""),
- DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
- DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
+ PROP_VIRTSERIAL_NR_DESC),
+ DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
+ DEFINE_PROP_STRING("name", VirtConsole, port.name,
+ PROP_VIRTSERIAL_NAME_DESC),
DEFINE_PROP_END_OF_LIST(),
},
};
@@ -133,9 +135,10 @@ static VirtIOSerialPortInfo virtserialport_info = {
.exit = virtconsole_exitfn,
.qdev.props = (Property[]) {
DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
- ""),
- DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
- DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
+ PROP_VIRTSERIAL_NR_DESC),
+ DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
+ DEFINE_PROP_STRING("name", VirtConsole, port.name,
+ PROP_VIRTSERIAL_NAME_DESC),
DEFINE_PROP_END_OF_LIST(),
},
};
diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h
index ff08c40..187d5e4 100644
--- a/hw/virtio-serial.h
+++ b/hw/virtio-serial.h
@@ -57,6 +57,19 @@ struct virtio_console_control {
/* == In-qemu interface == */
+#define PROP_VIRTSERIAL_IS_CONSOLE_DESC \
+ "An hvc console will be spawned in the guest if this is set."
+
+#define PROP_VIRTSERIAL_NR_DESC \
+ "The 'number' for the port for predictable port numbers. Use this to " \
+ "spawn ports if you plan to migrate the guest."
+
+#define PROP_VIRTSERIAL_CHR_DESC \
+ "The chardev to associate this port with."
+
+#define PROP_VIRTSERIAL_NAME_DESC \
+ "Name for the port that's exposed to the guest for port discovery."
+
typedef struct VirtIOSerial VirtIOSerial;
typedef struct VirtIOSerialBus VirtIOSerialBus;
typedef struct VirtIOSerialPort VirtIOSerialPort;
--
1.7.3.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 3/4] net.h: Add description fields for qdev properites
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties Amit Shah
@ 2011-01-04 12:22 ` Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 4/4] block_int.h: Provide documentation for common block qdev properties Amit Shah
2011-01-10 14:50 ` [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Markus Armbruster
4 siblings, 0 replies; 11+ messages in thread
From: Amit Shah @ 2011-01-04 12:22 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, qemu list
This results in an output like:
$ ./x86_64-softmmu/qemu-system-x86_64 -device virtio-net-pci,?
...
virtio-net-pci.mac=macaddr, The MAC address for the NIC.
virtio-net-pci.vlan=vlan, The VLAN to associate the NIC with.
virtio-net-pci.netdev=netdev, The peer net device to associate with this virtual NIC.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
net.h | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/net.h b/net.h
index aa4454b..9cfd2ed 100644
--- a/net.h
+++ b/net.h
@@ -21,10 +21,14 @@ typedef struct NICConf {
} NICConf;
#define DEFINE_NIC_PROPERTIES(_state, _conf) \
- DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr, ""), \
- DEFINE_PROP_VLAN("vlan", _state, _conf.vlan, ""), \
- DEFINE_PROP_NETDEV("netdev", _state, _conf.peer, ""), \
- DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, "")
+ DEFINE_PROP_MACADDR("mac", _state, _conf.macaddr, \
+ "The MAC address for the NIC."), \
+ DEFINE_PROP_VLAN("vlan", _state, _conf.vlan, \
+ "The VLAN to associate the NIC with."), \
+ DEFINE_PROP_NETDEV("netdev", _state, _conf.peer, \
+ "The peer net device to associate with this virtual NIC."), \
+ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, \
+ "The index this NIC will be tried to boot from")
/* VLANs support */
--
1.7.3.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Qemu-devel] [PATCH 4/4] block_int.h: Provide documentation for common block qdev properties
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
` (2 preceding siblings ...)
2011-01-04 12:22 ` [Qemu-devel] [PATCH 3/4] net.h: Add description fields for qdev properites Amit Shah
@ 2011-01-04 12:22 ` Amit Shah
2011-01-10 14:50 ` [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Markus Armbruster
4 siblings, 0 replies; 11+ messages in thread
From: Amit Shah @ 2011-01-04 12:22 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Amit Shah, Kevin Wolf, qemu list
Document the options common to all block devices.
This comes from Kevin.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
CC: Kevin Wolf <kwolf@redhat.com>
---
block_int.h | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/block_int.h b/block_int.h
index 8b0341c..2488eeb 100644
--- a/block_int.h
+++ b/block_int.h
@@ -247,15 +247,19 @@ static inline unsigned int get_physical_block_exp(BlockConf *conf)
}
#define DEFINE_BLOCK_PROPERTIES(_state, _conf) \
- DEFINE_PROP_DRIVE("drive", _state, _conf.bs, ""), \
- DEFINE_PROP_UINT16("logical_block_size", _state, \
- _conf.logical_block_size, 512, ""), \
+ DEFINE_PROP_DRIVE("drive", _state, _conf.bs, "The host drive details, specified by the -drive parameter"), \
+ DEFINE_PROP_UINT16("logical_block_size", _state, _conf.logical_block_size, \
+ 512, "Logical sector size of the disk"), \
DEFINE_PROP_UINT16("physical_block_size", _state, \
- _conf.physical_block_size, 512, ""), \
- DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0, ""), \
- DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0, ""), \
- DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, ""), \
+ _conf.physical_block_size, 512, "Physical sector size of the disk"), \
+ DEFINE_PROP_UINT16("min_io_size", _state, _conf.min_io_size, 0, \
+ "Minimal size for IO requests in bytes. Must be a power of two that is 512 or greater."), \
+ DEFINE_PROP_UINT32("opt_io_size", _state, _conf.opt_io_size, 0, \
+ "Size for IO requests that provides optimal performance (in bytes). Must be a power of two that is 512 or greater."), \
+ DEFINE_PROP_INT32("bootindex", _state, _conf.bootindex, -1, \
+ "The index this device will be tried to boot from"), \
DEFINE_PROP_UINT32("discard_granularity", _state, \
- _conf.discard_granularity, 0, "")
+ _conf.discard_granularity, 0, \
+ "Number of free sectors needed to discard free blocks in a mapping image")
#endif /* BLOCK_INT_H */
--
1.7.3.4
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation
2011-01-04 12:22 ` [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation Amit Shah
@ 2011-01-10 14:31 ` Markus Armbruster
2011-01-11 0:01 ` Chris Krumme
0 siblings, 1 reply; 11+ messages in thread
From: Markus Armbruster @ 2011-01-10 14:31 UTC (permalink / raw)
To: Amit Shah; +Cc: qemu list
Amit Shah <amit.shah@redhat.com> writes:
[...]
> diff --git a/hw/qdev.c b/hw/qdev.c
> index 6fc9b02..168d0f6 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -185,7 +185,8 @@ int qdev_device_help(QemuOpts *opts)
> if (!prop->info->parse) {
> continue; /* no way to set it, don't show */
> }
> - error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
> + error_printf("%s.%s=%s, %s\n", info->name, prop->name,
> + prop->info->name, prop->desc ?: "");
> }
> return 1;
> }
Output could be made prettier (align the help texts). Preferrably in a
follow-up commit, because this one's seen enough respins already.
[...]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties
2011-01-04 12:22 ` [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties Amit Shah
@ 2011-01-10 14:47 ` Markus Armbruster
0 siblings, 0 replies; 11+ messages in thread
From: Markus Armbruster @ 2011-01-10 14:47 UTC (permalink / raw)
To: Amit Shah; +Cc: qemu list
Amit Shah <amit.shah@redhat.com> writes:
> Document the parameters for the virtserialport and virtioconsole
> devices.
>
> Example:
>
> $ ./x86_64-softmmu/qemu-system-x86_64 -device virtserialport,?
> virtserialport.nr=uint32, The 'number' for the port for \
> predictable port numbers. Use this to spawn ports if you \
> plan to migrate the guest.
>
> virtserialport.chardev=chr, The chardev to associate this port with.
>
> virtserialport.name=string, Name for the port that's exposed to \
> the guest for port discovery.
>
> Signed-off-by: Amit Shah <amit.shah@redhat.com>
> ---
> hw/virtio-console.c | 17 ++++++++++-------
> hw/virtio-serial.h | 13 +++++++++++++
> 2 files changed, 23 insertions(+), 7 deletions(-)
>
> diff --git a/hw/virtio-console.c b/hw/virtio-console.c
> index ccd277a..8a99a99 100644
> --- a/hw/virtio-console.c
> +++ b/hw/virtio-console.c
> @@ -95,11 +95,13 @@ static VirtIOSerialPortInfo virtconsole_info = {
> .init = virtconsole_initfn,
> .exit = virtconsole_exitfn,
> .qdev.props = (Property[]) {
> - DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1, ""),
> + DEFINE_PROP_UINT8("is_console", VirtConsole, port.is_console, 1,
> + PROP_VIRTSERIAL_IS_CONSOLE_DESC),
> DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
> - ""),
> - DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
> - DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
> + PROP_VIRTSERIAL_NR_DESC),
> + DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
> + DEFINE_PROP_STRING("name", VirtConsole, port.name,
> + PROP_VIRTSERIAL_NAME_DESC),
> DEFINE_PROP_END_OF_LIST(),
> },
> };
> @@ -133,9 +135,10 @@ static VirtIOSerialPortInfo virtserialport_info = {
> .exit = virtconsole_exitfn,
> .qdev.props = (Property[]) {
> DEFINE_PROP_UINT32("nr", VirtConsole, port.id, VIRTIO_CONSOLE_BAD_ID,
> - ""),
> - DEFINE_PROP_CHR("chardev", VirtConsole, chr, ""),
> - DEFINE_PROP_STRING("name", VirtConsole, port.name, ""),
> + PROP_VIRTSERIAL_NR_DESC),
> + DEFINE_PROP_CHR("chardev", VirtConsole, chr, PROP_VIRTSERIAL_CHR_DESC),
> + DEFINE_PROP_STRING("name", VirtConsole, port.name,
> + PROP_VIRTSERIAL_NAME_DESC),
> DEFINE_PROP_END_OF_LIST(),
> },
> };
> diff --git a/hw/virtio-serial.h b/hw/virtio-serial.h
> index ff08c40..187d5e4 100644
> --- a/hw/virtio-serial.h
> +++ b/hw/virtio-serial.h
> @@ -57,6 +57,19 @@ struct virtio_console_control {
>
> /* == In-qemu interface == */
>
> +#define PROP_VIRTSERIAL_IS_CONSOLE_DESC \
> + "An hvc console will be spawned in the guest if this is set."
> +
> +#define PROP_VIRTSERIAL_NR_DESC \
> + "The 'number' for the port for predictable port numbers. Use this to " \
> + "spawn ports if you plan to migrate the guest."
> +
> +#define PROP_VIRTSERIAL_CHR_DESC \
> + "The chardev to associate this port with."
> +
> +#define PROP_VIRTSERIAL_NAME_DESC \
> + "Name for the port that's exposed to the guest for port discovery."
> +
> typedef struct VirtIOSerial VirtIOSerial;
> typedef struct VirtIOSerialBus VirtIOSerialBus;
> typedef struct VirtIOSerialPort VirtIOSerialPort;
Let me elaborate on my comment asking for prettier output. Here's how I
expect -virtconsole,\? look like with your code:
virtconsole.is_console=uint8, An hvc console will be spawned in the guest if this is set.
virtconsole.nr=uint32, The 'number' for the port for predictable port numbers. Use this to spawn ports if you plan to migrate the guest.
virtconsole.chardev=chr, The chardev to associate this port with.
virtconsole.name=string, Name for the port that's exposed to the guest for port discovery.
Long lines, hard to read.
By the way, properties without a description are printed with a trailing
", ". I find that irritating.
We can do better by adopting suitable conventions for the help text, say
"first line is a brief description (50 characters max), like a headline
(no sentence-ending period), following lines (if any) are 70 characters
max."
Then we print it like this:
virtconsole.nr=uint32 First line, 50 characters max., just like this one
More lines (if any)
When the X=Y part is long, we can break like this:
virtconsole.is_console=uint8
First line, 50 characters max., just like this one
More lines (if any)
or maybe
virtconsole.is_console=uint8
First line, 50 characters max., just like this one
More lines (if any)
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
` (3 preceding siblings ...)
2011-01-04 12:22 ` [Qemu-devel] [PATCH 4/4] block_int.h: Provide documentation for common block qdev properties Amit Shah
@ 2011-01-10 14:50 ` Markus Armbruster
4 siblings, 0 replies; 11+ messages in thread
From: Markus Armbruster @ 2011-01-10 14:50 UTC (permalink / raw)
To: Amit Shah; +Cc: qemu list
Amit Shah <amit.shah@redhat.com> writes:
> Hello,
>
> This is yet another rebase of the patchset I'd sent earlier.
>
> Changes:
> - fixups and new strings for the bootorder patches
> - new string for the discard property for block devices.
>
> The usual notes apply: this is just the start, just getting the
> framework in place and a few examples so that people can then pick up
> and start documenting their devices and options. We want to see all
> of the devices covered, and hopefully turn on build_bug_on() on an
> empty doc string.
>
> Maintainers should perhaps also look for patches that introduce
> options without documentation.
>
> That's the long-term goal (over 0.14). For short-term, I'll be
> preparing follow-on patches that add doc strings for a few more
> options and perhaps bug people based on git history as to what
> documentation is to be added for some options.
>
> The earlier this patchset goes in the better since it'll reduce
> conflicts and rebases needed.
>
> If this looks acceptable, please apply!
This has been stuck since forever. No idea why, it's neither hairy nor
controversial.
Quoting from my review of v2(?) last September:
For QMP, we'll need to cover more than just device properties, and
in more detail than just a help text, but this looks like a sensible
step forward.
I'm fine with committing it as is. We can polish in follow-up commits.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation
2011-01-10 14:31 ` Markus Armbruster
@ 2011-01-11 0:01 ` Chris Krumme
2011-01-11 5:16 ` Amit Shah
0 siblings, 1 reply; 11+ messages in thread
From: Chris Krumme @ 2011-01-11 0:01 UTC (permalink / raw)
To: qemu-devel, amit.shah
On 01/10/2011 08:31 AM, Markus Armbruster wrote:
> Amit Shah<amit.shah@redhat.com> writes:
>
> [...]
>> diff --git a/hw/qdev.c b/hw/qdev.c
>> index 6fc9b02..168d0f6 100644
>> --- a/hw/qdev.c
>> +++ b/hw/qdev.c
>> @@ -185,7 +185,8 @@ int qdev_device_help(QemuOpts *opts)
>> if (!prop->info->parse) {
>> continue; /* no way to set it, don't show */
>> }
>> - error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
>> + error_printf("%s.%s=%s, %s\n", info->name, prop->name,
>> + prop->info->name, prop->desc ?: "");
Hello Amit,
Do we want to add the GCCism here of ?:?
Thanks
Chris
>> }
>> return 1;
>> }
> Output could be made prettier (align the help texts). Preferrably in a
> follow-up commit, because this one's seen enough respins already.
>
> [...]
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation
2011-01-11 0:01 ` Chris Krumme
@ 2011-01-11 5:16 ` Amit Shah
0 siblings, 0 replies; 11+ messages in thread
From: Amit Shah @ 2011-01-11 5:16 UTC (permalink / raw)
To: Chris Krumme; +Cc: qemu-devel
On (Mon) Jan 10 2011 [18:01:58], Chris Krumme wrote:
> On 01/10/2011 08:31 AM, Markus Armbruster wrote:
> >Amit Shah<amit.shah@redhat.com> writes:
> >
> >[...]
> >>diff --git a/hw/qdev.c b/hw/qdev.c
> >>index 6fc9b02..168d0f6 100644
> >>--- a/hw/qdev.c
> >>+++ b/hw/qdev.c
> >>@@ -185,7 +185,8 @@ int qdev_device_help(QemuOpts *opts)
> >> if (!prop->info->parse) {
> >> continue; /* no way to set it, don't show */
> >> }
> >>- error_printf("%s.%s=%s\n", info->name, prop->name, prop->info->name);
> >>+ error_printf("%s.%s=%s, %s\n", info->name, prop->name,
> >>+ prop->info->name, prop->desc ?: "");
> Hello Amit,
>
> Do we want to add the GCCism here of ?:?
We already depend on a lot of gcc-specific things, and I believe we have
?: elsewhere as well.
Amit
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-01-11 5:16 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-04 12:22 [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 1/4] qdev: Add a description field for qdev properties for documentation Amit Shah
2011-01-10 14:31 ` Markus Armbruster
2011-01-11 0:01 ` Chris Krumme
2011-01-11 5:16 ` Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 2/4] virtio-serial: Add description fields for qdev properties Amit Shah
2011-01-10 14:47 ` Markus Armbruster
2011-01-04 12:22 ` [Qemu-devel] [PATCH 3/4] net.h: Add description fields for qdev properites Amit Shah
2011-01-04 12:22 ` [Qemu-devel] [PATCH 4/4] block_int.h: Provide documentation for common block qdev properties Amit Shah
2011-01-10 14:50 ` [Qemu-devel] [PATCH 0/4] [RESEND] [REBASE] Auto-document qdev devices Markus Armbruster
-- strict thread matches above, loose matches on Subject: below --
2010-11-25 17:31 Amit Shah
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).