From owner-freebsd-virtualization@FreeBSD.ORG Thu Oct 23 19:58:31 2014 Return-Path: Delivered-To: freebsd-virtualization@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B8E435A1 for ; Thu, 23 Oct 2014 19:58:31 +0000 (UTC) Received: from mail-yh0-x22b.google.com (mail-yh0-x22b.google.com [IPv6:2607:f8b0:4002:c01::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 7D2BA909 for ; Thu, 23 Oct 2014 19:58:31 +0000 (UTC) Received: by mail-yh0-f43.google.com with SMTP id z6so315258yhz.2 for ; Thu, 23 Oct 2014 12:58:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=/S55FvopWiTnDemDu2oNImaE8Kx2FDFx0t9Nh9Rm8jY=; b=Tm2F1Z3ygZY7n32bc9HL5LAfslq1uAPXblt5RtkrwOmhqov+3X86MB5sjO/N4ZRW19 0XUduGnJMW9qra6WakQ655DFCAnZz+sYjnDq7yMhoF/76KCGh/IfsC57qy5ALbrhc36s ABzCg85yB/ljFI3/45x4yS/r3tBn2uIkEP/Q52Mi8ZPIiRTTOxqE1wgXqfmrDv6Mw1p4 AmA9ynAxyb9lFT3tHFsMau0SFRsQTFAD2fqDTyVXa0gTH0GjYiPprwlMQDxzDVDK9qP4 PZOnGsirlLiKHPGV+kAhmC6wworGGLSTbxOvatkbWXjcIlwjlQFnqdT8SSaF9BbCdy4q rdqw== X-Received: by 10.170.61.87 with SMTP id d84mr390888ykd.112.1414094310674; Thu, 23 Oct 2014 12:58:30 -0700 (PDT) Received: from m.west.isilon.com (c-98-209-117-232.hsd1.mi.comcast.net. [98.209.117.232]) by mx.google.com with ESMTPSA id x9sm2642586igl.10.2014.10.23.12.58.29 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 23 Oct 2014 12:58:29 -0700 (PDT) From: Conrad Meyer To: libvir-list@redhat.com Subject: [PATCH 0/2] Add non-FreeBSD guest support to Bhyve driver. Date: Thu, 23 Oct 2014 15:58:02 -0400 Message-Id: <1414094284-29055-1-git-send-email-cse.cem@gmail.com> X-Mailer: git-send-email 1.9.3 Cc: freebsd-virtualization@freebsd.org X-BeenThere: freebsd-virtualization@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: "Discussion of various virtualization techniques FreeBSD supports." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Oct 2014 19:58:31 -0000 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 and 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@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