[libvirt] [PATCH v2 2/6] bhyve: add bhyveDomainDefNeedsISAController helper

Roman Bogorodskiy bogorodskiy at gmail.com
Sun Feb 24 13:36:14 UTC 2019


  Ján Tomko wrote:

> On Sun, Feb 17, 2019 at 05:04:01PM +0400, Roman Bogorodskiy wrote:
> >Add a bhyveDomainDefNeedsISAController() helper function
> >which by domain configuration determines whether LPC controller is
> >required or not.
> >
> >Signed-off-by: Roman Bogorodskiy <bogorodskiy at gmail.com>
> >---
> > src/bhyve/bhyve_command.c |  5 +----
> > src/bhyve/bhyve_domain.c  | 10 ++++++++++
> > src/bhyve/bhyve_domain.h  |  2 ++
> > 3 files changed, 13 insertions(+), 4 deletions(-)
> >
> >diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
> >index 1f215dac08..f49dc77118 100644
> >--- a/src/bhyve/bhyve_command.c
> >+++ b/src/bhyve/bhyve_command.c
> >@@ -460,7 +460,6 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
> >      *            vm0
> >      */
> >     size_t i;
> >-    bool add_lpc = false;
> >     int nusbcontrollers = 0;
> >     unsigned int nvcpus = virDomainDefGetVcpus(def);
> >
> >@@ -549,7 +548,6 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
> >         if ((bhyveDriverGetCaps(conn) & BHYVE_CAP_LPC_BOOTROM)) {
> >             virCommandAddArg(cmd, "-l");
> >             virCommandAddArgFormat(cmd, "bootrom,%s", def->os.loader->path);
> >-            add_lpc = true;
> >         } else {
> >             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> >                            _("Installed bhyve binary does not support "
> >@@ -613,7 +611,6 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
> >             if (bhyveBuildGraphicsArgStr(def, def->graphics[0], def->videos[0],
> >                                          conn, cmd, dryRun) < 0)
> >                 goto error;
> >-            add_lpc = true;
> >         } else {
> >             virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
> >                            _("Multiple graphics devices are not supported"));
> >@@ -621,7 +618,7 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn,
> >         }
> >     }
> >
> >-    if (add_lpc || def->nserials)
> >+    if (bhyveDomainDefNeedsISAController(def))
> >         bhyveBuildLPCArgStr(def, cmd);
> >
> >     if (bhyveBuildConsoleArgStr(def, cmd) < 0)
> >diff --git a/src/bhyve/bhyve_domain.c b/src/bhyve/bhyve_domain.c
> >index 79cf103d28..e476ef7e7d 100644
> >--- a/src/bhyve/bhyve_domain.c
> >+++ b/src/bhyve/bhyve_domain.c
> >@@ -61,6 +61,16 @@ virDomainXMLPrivateDataCallbacks virBhyveDriverPrivateDataCallbacks = {
> >     .free = bhyveDomainObjPrivateFree,
> > };
> >
> >+bool
> >+bhyveDomainDefNeedsISAController(virDomainDefPtr def)
> >+{
> >+    if ((def->os.bootloader == NULL && def->os.loader) ||
> >+        (def->nconsoles || def->nserials) || (def->ngraphics && def->nvideos))
> >+        return true;
> 
> Where did nconsoles come from?
> 
> Also, since it's a separate function, you can use return more:
>     if (def->os.bootloader == NULL && def->os.loader)
>         return true;
>     if (def->nserials)
>         return true;
> 
> >+    else
> >+        return false;
> >+}
> >+
> > static int
> > bhyveDomainDefPostParse(virDomainDefPtr def,
> >                         virCapsPtr caps ATTRIBUTE_UNUSED,
> 
> With nconsoles removed:
> Reviewed-by: Ján Tomko <jtomko at redhat.com>
> 
> Jano

Thanks, merged this one with suggestions applied, the rest will go into
v3.

Roman Bogorodskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 455 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190224/8449b118/attachment-0001.sig>


More information about the libvir-list mailing list