As a preparation for NVRAM support, introduce nvramDir configuration
item.

Signed-off-by: Roman Bogorodskiy <bogorods...@gmail.com>
---
 src/bhyve/bhyve_conf.c  | 4 ++++
 src/bhyve/bhyve_utils.h | 2 ++
 src/bhyve/meson.build   | 5 +++++
 3 files changed, 11 insertions(+)

diff --git a/src/bhyve/bhyve_conf.c b/src/bhyve/bhyve_conf.c
index 28981c90b7..f18b24f91d 100644
--- a/src/bhyve/bhyve_conf.c
+++ b/src/bhyve/bhyve_conf.c
@@ -57,6 +57,8 @@ virBhyveDriverConfigNew(void)
         return NULL;
 
     cfg->firmwareDir = g_strdup(DATADIR "/uefi-firmware");
+    cfg->libDir = g_strdup_printf("%s/lib/libvirt/bhyve", LOCALSTATEDIR);
+    cfg->nvramDir = g_strdup_printf("%s/nvram", cfg->libDir);
 
     return cfg;
 }
@@ -95,6 +97,8 @@ virBhyveDriverConfigDispose(void *obj)
     struct _virBhyveDriverConfig *cfg = obj;
 
     g_free(cfg->firmwareDir);
+    g_free(cfg->libDir);
+    g_free(cfg->nvramDir);
 }
 
 void
diff --git a/src/bhyve/bhyve_utils.h b/src/bhyve/bhyve_utils.h
index 6c6fd12dbe..9c9ea0a01a 100644
--- a/src/bhyve/bhyve_utils.h
+++ b/src/bhyve/bhyve_utils.h
@@ -39,6 +39,8 @@ struct _virBhyveDriverConfig {
     virObject parent;
 
     char *firmwareDir;
+    char *libDir;
+    char *nvramDir;
 };
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virBhyveDriverConfig, virObjectUnref);
diff --git a/src/bhyve/meson.build b/src/bhyve/meson.build
index b3551477b7..11920d9c3e 100644
--- a/src/bhyve/meson.build
+++ b/src/bhyve/meson.build
@@ -64,4 +64,9 @@ if conf.has('WITH_BHYVE')
   virt_daemon_confs += {
     'name': 'virtbhyved',
   }
+
+  virt_install_dirs += [
+    localstatedir / 'lib' / 'libvirt' / 'bhyve',
+    localstatedir / 'lib' / 'libvirt' / 'bhyve' / 'nvram',
+  ]
 endif
-- 
2.49.0

Reply via email to