[PATCH 0/2] Add non-FreeBSD guest support to Bhyve driver.

Conrad Meyer cse.cem at gmail.com
Thu Oct 23 19:58:31 UTC 2014


First-time libvirt contributor here. Apologies if I've made beginner mistakes,
etc. If something needs fixing, please let me know and I'll try and take care
of it expediently.

First, the bhyve driver expected and assumed an OS type of 'hvm'. I think this
was incorrect. Bhyve does not provide a BIOS API and instead uses a host
bootloader to paravirtualize guests.

This patch changes the OS type Bhyve expects to 'xen' and updates tests to
match.

Second, drvbhyve hardcodes bhyveload(8) as the host bootloader for guests.
bhyveload(8) loader only supports FreeBSD guests.

This patch adds <bootloader> and <bootloader_args> handling to bhyve_command,
so libvirt can boot non-FreeBSD guests in Bhyve.

See patch logs for further details.

Thanks,
Conrad


Conrad Meyer (2):
  bhyve: Support /domain/bootloader configuration for non-FreeBSD
    guests.
  Generated PO files for 'bhyve: Support /domain/bootloader'

 docs/drvbhyve.html.in                              |  30 +++++-
 docs/formatdomain.html.in                          |   4 +-
 po/af.po                                           |   4 +
 po/am.po                                           |   4 +
 po/ar.po                                           |   4 +
 po/as.po                                           |   4 +
 po/be.po                                           |   4 +
 po/bg.po                                           |   4 +
 po/bn.po                                           |   4 +
 po/bn_IN.po                                        |   4 +
 po/bo.po                                           |   4 +
 po/bs.po                                           |   4 +
 po/ca.po                                           |   4 +
 po/cs.po                                           |   4 +
 po/cy.po                                           |   4 +
 po/da.po                                           |   4 +
 po/de.po                                           |   4 +
 po/el.po                                           |   4 +
 po/en_GB.po                                        |   4 +
 po/es.po                                           |   4 +
 po/et.po                                           |   4 +
 po/eu_ES.po                                        |   4 +
 po/fa.po                                           |   4 +
 po/fi.po                                           |   4 +
 po/fr.po                                           |   4 +
 po/gl.po                                           |   4 +
 po/gu.po                                           |   4 +
 po/he.po                                           |   4 +
 po/hi.po                                           |   4 +
 po/hr.po                                           |   4 +
 po/hu.po                                           |   4 +
 po/hy.po                                           |   4 +
 po/id.po                                           |   4 +
 po/is.po                                           |   4 +
 po/it.po                                           |   4 +
 po/ja.po                                           |   4 +
 po/ka.po                                           |   4 +
 po/kn.po                                           |   4 +
 po/ko.po                                           |   4 +
 po/ku.po                                           |   4 +
 po/libvirt.pot                                     |   4 +
 po/lo.po                                           |   4 +
 po/lt.po                                           |   4 +
 po/lv.po                                           |   4 +
 po/mk.po                                           |   4 +
 po/ml.po                                           |   4 +
 po/mr.po                                           |   4 +
 po/ms.po                                           |   4 +
 po/my.po                                           |   4 +
 po/nb.po                                           |   4 +
 po/nl.po                                           |   4 +
 po/nn.po                                           |   4 +
 po/nso.po                                          |   4 +
 po/or.po                                           |   4 +
 po/pa.po                                           |   4 +
 po/pl.po                                           |   4 +
 po/pt.po                                           |   4 +
 po/pt_BR.po                                        |   4 +
 po/ro.po                                           |   4 +
 po/ru.po                                           |   4 +
 po/si.po                                           |   4 +
 po/sk.po                                           |   4 +
 po/sl.po                                           |   4 +
 po/sq.po                                           |   4 +
 po/sr.po                                           |   4 +
 po/sr at latin.po                                     |   4 +
 po/sv.po                                           |   4 +
 po/ta.po                                           |   4 +
 po/te.po                                           |   4 +
 po/th.po                                           |   4 +
 po/tr.po                                           |   4 +
 po/uk.po                                           |   4 +
 po/ur.po                                           |   4 +
 po/vi.po                                           |   4 +
 po/vi_VN.po                                        |   4 +
 po/zh_CN.po                                        |   4 +
 po/zh_TW.po                                        |   4 +
 po/zu.po                                           |   4 +
 src/bhyve/bhyve_capabilities.c                     |   2 +-
 src/bhyve/bhyve_command.c                          | 107 +++++++++++++++++++--
 tests/bhyvexml2argvdata/bhyvexml2argv-acpiapic.xml |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-base.xml     |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-console.xml  |   2 +-
 .../bhyvexml2argvdata/bhyvexml2argv-disk-cdrom.xml |   2 +-
 .../bhyvexml2argv-disk-virtio.xml                  |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-macaddr.xml  |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-metadata.xml |   2 +-
 tests/bhyvexml2argvdata/bhyvexml2argv-serial.xml   |   2 +-
 .../bhyvexml2xmlout-metadata.xml                   |   2 +-
 89 files changed, 439 insertions(+), 26 deletions(-)

-- 
1.9.3



More information about the freebsd-virtualization mailing list