Auto-document qdev devices
cover Auto-document qdev devices
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(-)
Signature · 1 line
1.7.3.2
PATCH 1/4 qdev: Add a description field for qdev properties for documentation
Add a 'description' along with each qdev property to document the input each qdev property takes.
--- block_int.h | 10 +++--- 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 | 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 | 6 ++-- hw/xio3130_upstream.c | 2 +- net.h | 6 ++-- usb-linux.c | 8 ++-- 69 files changed, 251 insertions(+), 223 deletions(-)
block_int.h +5 -5
@@ -243,12 +243,12 @@ 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) + _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, "")#endif /* BLOCK_INT_H */
hw/a9mpcore.c +1 -1
@@ -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 (), } };
hw/acpi_piix4.c +1 -1
@@ -442,7 +442,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 (), } };
hw/apic.c +2 -2
@@ -997,8 +997,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 (), } };
hw/applesmc.c +2 -2
@@ -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 (), }, };
hw/arm11mpcore.c +2 -2
@@ -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 (), } };
hw/arm_sysctl.c +2 -2
@@ -232,8 +232,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 (), } };
hw/armv7m.c +1 -1
@@ -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 (), } };
hw/cs4231a.c +3 -3
@@ -671,9 +671,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 (), }, };
hw/debugcon.c +3 -3
@@ -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 (), }, };
hw/eccmemctl.c +1 -1
@@ -316,7 +316,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 (), } };
hw/escc.c +8 -8
@@ -936,14 +936,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 (), } };
hw/etraxfs_pic.c +2 -1
@@ -155,7 +155,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 (), } };
hw/fdc.c +5 -5
@@ -2045,8 +2045,8 @@ 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_DRIVE ("driveA" , FDCtrlISABus, state.drives[0 ].bs,"" ), +DEFINE_PROP_DRIVE ("driveB" , FDCtrlISABus, state.drives[1 ].bs,"" ),DEFINE_PROP_END_OF_LIST (), }, };
@@ -2068,8 +2068,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 (), }, };
@@ -2081,7 +2081,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 (), }, };
hw/fw_cfg.c +2 -2
@@ -385,8 +385,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 (), }, };
hw/gus.c +4 -4
@@ -303,10 +303,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 (), }, };
hw/hda-audio.c +1 -1
@@ -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 (), };
hw/hpet.c +2 -2
@@ -733,8 +733,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 (), }, };
hw/i2c.c +1 -1
@@ -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 (), } };
hw/ide/cmd646.c +1 -1
@@ -285,7 +285,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 (), }, },{
hw/ide/isa.c +3 -3
@@ -102,9 +102,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 (), }, };
hw/ide/qdev.c +3 -3
@@ -137,10 +137,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 (), } };
hw/integratorcp.c +1 -1
@@ -528,7 +528,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 (), } };
hw/intel-hda.c +3 -3
@@ -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 () } };
@@ -1276,8 +1276,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 (), } };
hw/ioh3420.c +3 -3
@@ -161,9 +161,9 @@ 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 ,"" ),/* TODO: AER */ DEFINE_PROP_END_OF_LIST (), }
hw/ivshmem.c +8 -7
@@ -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 (), } };
hw/lance.c +1 -1
@@ -145,7 +145,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 (), }
hw/m48t59.c +6 -6
@@ -730,9 +730,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 (), } };
@@ -743,9 +743,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 (), } };
hw/mc146818rtc.c +1 -1
@@ -635,7 +635,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 (), } };
hw/ne2000-isa.c +2 -2
@@ -107,8 +107,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 (), },
hw/parallel.c +4 -4
@@ -587,10 +587,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 (), }, };
hw/pci.c +4 -4
@@ -50,11 +50,11 @@ struct BusInfo pci_bus_info = { .print_dev = pcibus_dev_print, .get_dev_path = pcibus_get_dev_path, .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_END_OF_LIST () } };
hw/qdev-addr.h +2 -2
@@ -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);
hw/qdev.c +2 -1
@@ -188,7 +188,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 ; }
hw/qdev.h +40 -35
105 lines not on this page · raw message
hw/s390-virtio-bus.c +1 -1
@@ -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 (), }, };
hw/sb16.c +5 -5
@@ -1400,11 +1400,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 (), }, };
hw/scsi-bus.c +1 -1
@@ -9,7 +9,7 @@ static struct BusInfo scsi_bus_info = { .name = "SCSI", .size = sizeof(SCSIBus), .props = (Property []) { -DEFINE_PROP_UINT32 ("scsi-id" , SCSIDevice, id,-1 ), +DEFINE_PROP_UINT32 ("scsi-id" , SCSIDevice, id,-1 ,"" ),DEFINE_PROP_END_OF_LIST (), }, };
hw/scsi-disk.c +2 -2
@@ -1247,8 +1247,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 (), }, };
hw/serial.c +4 -4
@@ -972,10 +972,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 (), }, };
hw/slavio_timer.c +1 -1
@@ -410,7 +410,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 (), } };
hw/smbus_eeprom.c +1 -1
@@ -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,
hw/sparc32_dma.c +1 -1
@@ -273,7 +273,7 @@ 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_PTR ("iommu_opaque" , DMAState, iommu,"" ),DEFINE_PROP_END_OF_LIST (), } };
hw/sun4m.c +1 -1
@@ -758,7 +758,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 (), } };
hw/sun4m_iommu.c +1 -1
@@ -364,7 +364,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 (), } };
hw/sun4u.c +1 -1
@@ -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 (), } };
hw/syborg_fb.c +2 -2
@@ -536,8 +536,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 (), } };
hw/syborg_interrupt.c +1 -1
@@ -224,7 +224,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 (), } };
hw/syborg_keyboard.c +1 -1
@@ -230,7 +230,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 (), } };
hw/syborg_pointer.c +2 -2
@@ -228,8 +228,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 (), } };
hw/syborg_serial.c +1 -1
@@ -345,7 +345,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 (), } };
hw/syborg_timer.c +1 -1
@@ -231,7 +231,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 (), } };
hw/syborg_virtio.c +3 -3
@@ -297,10 +297,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(), } };
hw/tcx.c +5 -5
@@ -633,11 +633,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 (), } };
hw/usb-ohci.c +2 -2
@@ -1782,8 +1782,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 (), } };
hw/usb-serial.c +6 -6
@@ -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 (), }, };
hw/virtio-blk.h +2 -2
@@ -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)
hw/virtio-console.c +9 -7
@@ -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 (), }, };
hw/virtio-net.h +33 -18
55 lines not on this page · raw message
hw/virtio-pci.c +11 -11
@@ -701,9 +701,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 (), },
@@ -715,14 +715,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,
@@ -734,11 +734,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,
@@ -759,8 +759,8 @@ static PCIDeviceInfo virtio_info[] = { .init = virtio_9p_init_pci, .qdev.props = (Property []) {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 (), }, }, {
hw/virtio.h +1 -1
@@ -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);
hw/vt82c686.c +1 -1
@@ -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 (), } };
hw/xilinx_ethlite.c +4 -2
@@ -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 (), }
hw/xilinx_intc.c +2 -1
@@ -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 (), } };
hw/xilinx_timer.c +2 -2
@@ -220,8 +220,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 (), } };
hw/xio3130_downstream.c +3 -3
@@ -163,9 +163,9 @@ 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 ,"" ),/* TODO: AER */ DEFINE_PROP_END_OF_LIST (), }
hw/xio3130_upstream.c +1 -1
@@ -150,7 +150,7 @@ 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 ,"" ),/* TODO: AER */ DEFINE_PROP_END_OF_LIST (), }
net.h +3 -3
@@ -20,9 +20,9 @@ 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_MACADDR("mac", _state, _conf.macaddr, ""), \ + DEFINE_PROP_VLAN("vlan", _state, _conf.vlan, ""), \ + DEFINE_PROP_NETDEV("netdev", _state, _conf.peer, "")/* VLANs support */
usb-linux.c +4 -4
@@ -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 (), }, };
Signature · 1 line
1.7.3.2
PATCH 2/4 virtio-serial: Add description fields for qdev properties
In reply to Amit ShahDocument 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.
--- hw/virtio-console.c | 17 ++++++++++------- hw/virtio-serial.h | 13 +++++++++++++ 2 files changed, 23 insertions(+), 7 deletions(-)
hw/virtio-console.c +10 -7
@@ -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 (), }, };
hw/virtio-serial.h +13 -0
@@ -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 ;
Signature · 1 line
1.7.3.2
PATCH 3/4 net.h: Add description fields for qdev properites
In reply to Amit ShahThis 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.
--- net.h | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)
net.h +6 -3
@@ -20,9 +20,12 @@ 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_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.")/* VLANs support */
Signature · 1 line
1.7.3.2
PATCH 4/4 block_int.h: Provide documentation for common block qdev properties
In reply to Amit ShahDocument the options common to all block devices.
This comes from Kevin.
--- block_int.h | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-)
block_int.h +8 -6
@@ -243,12 +243,14 @@ 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, "") + _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.")#endif /* BLOCK_INT_H */
Signature · 1 line
1.7.3.2