PoC for https://lists.freebsd.org/pipermail/freebsd-virtualization/2018-June/006536.html
JSON:
```
bhyve -f --libxo json,pretty
{
"bhyve": {
"schema_version": "1.0",
"features": {
"feature": {
"rtc_utc": {
"description": "RTC keeps UTC time",
"cmd": {
"switch": "-u"
}
}
},
"feature": {
"wire_guest_memory": {
"description": "Wire guest memory",
"cmd": {
"switch": "-S"
}
}
},
"feature": {
"devices": {
"description": "Devices support",
"cmd": {
"switch": "-s",
"arguments": [
{
"options": "virtio-net,tapN,mac=xx:xx:xx:xx:xx:xx",
"description": "Virtio network device"
},
{
"options": "virtio-blk,path,nocache,direct,ro,sectorsize=logical/physical",
"description": "Virtio block device"
},
{
"options": "fbuf,rfb,rfb=IP:port,w=width,h=heigh,vga=vgaconf,wait,password=password",
"description": "Framebuffer device"
}
]
}
}
}
}
}
}
```
XML:
```
<bhyve>
<schema_version>1.0</schema_version>
<features>
<feature>
<rtc_utc>
<description>RTC keeps UTC time</description>
<cmd>
<switch>-u</switch>
</cmd>
</rtc_utc>
</feature>
<feature>
<wire_guest_memory>
<description>Wire guest memory</description>
<cmd>
<switch>-S</switch>
</cmd>
</wire_guest_memory>
</feature>
<feature>
<devices>
<description>Devices support</description>
<cmd>
<switch>-s</switch>
<arguments>
<options>virtio-net,tapN,mac=xx:xx:xx:xx:xx:xx</options>
<description>Virtio network device</description>
</arguments>
<arguments>
<options>virtio-blk,path,nocache,direct,ro,sectorsize=logical/physical</options>
<description>Virtio block device</description>
</arguments>
<arguments>
<options>fbuf,rfb,rfb=IP:port,w=width,h=heigh,vga=vgaconf,wait,password=password</options>
<description>Framebuffer device</description>
</arguments>
</cmd>
</devices>
</feature>
</features>
</bhyve>
```
Plain text:
```
Schema version: 1.0
rtc_utc
Description: RTC keeps UTC time
Command line switch: -u
wire_guest_memory
Description: Wire guest memory
Command line switch: -S
devices
Description: Devices support
Command line switch: -s
Arguments: virtio-net,tapN,mac=xx:xx:xx:xx:xx:xx Description: Virtio network device
Arguments: virtio-blk,path,nocache,direct,ro,sectorsize=logical/physical Description: Virtio block device
Arguments: 'fbuf,rfb,rfb=IP:port,w=width,h=heigh,vga=vgaconf,wait,password=password' Description: Framebuffer device
```