@@ -119,15 +119,18 @@ HYPERVISOR_FC = firecracker
119
119
JAILER_FC = jailer
120
120
HYPERVISOR_NEMU = nemu
121
121
HYPERVISOR_QEMU = qemu
122
+ HYPERVISOR_QEMU_VIRTIOFS = qemu-virtiofs
122
123
123
124
# Determines which hypervisor is specified in $(CONFIG_FILE).
124
125
DEFAULT_HYPERVISOR = $(HYPERVISOR_QEMU )
125
126
126
127
# List of hypervisors this build system can generate configuration for.
127
- HYPERVISORS := $(HYPERVISOR_ACRN ) $(HYPERVISOR_FC ) $(HYPERVISOR_QEMU ) $(HYPERVISOR_NEMU )
128
+ HYPERVISORS := $(HYPERVISOR_ACRN ) $(HYPERVISOR_FC ) $(HYPERVISOR_QEMU ) $(HYPERVISOR_QEMU_VIRTIOFS ) $( HYPERVISOR_NEMU )
128
129
129
130
QEMUPATH := $(QEMUBINDIR ) /$(QEMUCMD )
130
131
132
+ QEMUVIRTIOFSPATH := $(QEMUBINDIR ) /$(QEMUVIRTIOFSCMD )
133
+
131
134
NEMUPATH := $(NEMUBINDIR ) /$(NEMUCMD )
132
135
133
136
FCPATH = $(FCBINDIR ) /$(FCCMD )
@@ -237,6 +240,28 @@ ifneq (,$(QEMUCMD))
237
240
KERNELPATH = $(KERNELDIR ) /$(KERNELNAME )
238
241
endif
239
242
243
+ ifneq (,$(QEMUVIRTIOFSCMD ) )
244
+ KNOWN_HYPERVISORS += $(HYPERVISOR_QEMU_VIRTIOFS)
245
+
246
+ CONFIG_FILE_QEMU_VIRTIOFS = configuration-qemu-virtiofs.toml
247
+ CONFIG_QEMU_VIRTIOFS = $(CLI_DIR)/config/$(CONFIG_FILE_QEMU_VIRTIOFS)
248
+ CONFIG_QEMU_VIRTIOFS_IN = $(CONFIG_QEMU_VIRTIOFS).in
249
+
250
+ CONFIG_PATH_QEMU_VIRTIOFS = $(abspath $(CONFDIR)/$(CONFIG_FILE_QEMU_VIRTIOFS))
251
+ CONFIG_PATHS += $(CONFIG_PATH_QEMU_VIRTIOFS)
252
+
253
+ SYSCONFIG_QEMU_VIRTIOFS = $(abspath $(SYSCONFDIR)/$(CONFIG_FILE_QEMU_VIRTIOFS))
254
+ SYSCONFIG_PATHS += $(SYSCONFIG_QEMU_VIRTIOFS)
255
+
256
+ CONFIGS += $(CONFIG_QEMU_VIRTIOFS)
257
+
258
+ # qemu-specific options (all should be suffixed by "_QEMU")
259
+ DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS := virtio-fs
260
+ DEFNETWORKMODEL_QEMU := tcfilter
261
+ KERNELNAME = $(call MAKE_KERNEL_NAME,$(KERNELTYPE))
262
+ KERNELPATH = $(KERNELDIR)/$(KERNELNAME)
263
+ endif
264
+
240
265
ifneq (,$(NEMUCMD ) )
241
266
KNOWN_HYPERVISORS += $(HYPERVISOR_NEMU )
242
267
@@ -325,6 +350,10 @@ ifeq ($(DEFAULT_HYPERVISOR),$(HYPERVISOR_QEMU))
325
350
DEFAULT_HYPERVISOR_CONFIG = $(CONFIG_FILE_QEMU )
326
351
endif
327
352
353
+ ifeq ($(DEFAULT_HYPERVISOR ) ,$(HYPERVISOR_QEMU_VIRTIOFS ) )
354
+ DEFAULT_HYPERVISOR_CONFIG = $(CONFIG_FILE_QEMU )
355
+ endif
356
+
328
357
ifeq ($(DEFAULT_HYPERVISOR ) ,$(HYPERVISOR_FC ) )
329
358
DEFAULT_HYPERVISOR_CONFIG = $(CONFIG_FILE_FC )
330
359
endif
@@ -394,6 +423,8 @@ USER_VARS += NETMONPATH
394
423
USER_VARS += QEMUBINDIR
395
424
USER_VARS += QEMUCMD
396
425
USER_VARS += QEMUPATH
426
+ USER_VARS += QEMUVIRTIOFSCMD
427
+ USER_VARS += QEMUVIRTIOFSPATH
397
428
USER_VARS += SHAREDIR
398
429
USER_VARS += SHIMPATH
399
430
USER_VARS += SYSCONFDIR
@@ -412,6 +443,7 @@ USER_VARS += DEFDISABLEBLOCK
412
443
USER_VARS += DEFBLOCKSTORAGEDRIVER_ACRN
413
444
USER_VARS += DEFBLOCKSTORAGEDRIVER_FC
414
445
USER_VARS += DEFBLOCKSTORAGEDRIVER_QEMU
446
+ USER_VARS += DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS
415
447
USER_VARS += DEFBLOCKSTORAGEDRIVER_NEMU
416
448
USER_VARS += DEFSHAREDFS
417
449
USER_VARS += DEFSHAREDFS_NEMU
@@ -551,6 +583,7 @@ $(GENERATED_FILES): %: %.in $(MAKEFILE_LIST) VERSION .git-commit
551
583
-e " s|@PROJECT_TAG@|$( PROJECT_TAG) |g" \
552
584
-e " s|@PROJECT_TYPE@|$( PROJECT_TYPE) |g" \
553
585
-e " s|@QEMUPATH@|$( QEMUPATH) |g" \
586
+ -e " s|@QEMUVIRTIOFSPATH@|$( QEMUVIRTIOFSPATH) |g" \
554
587
-e " s|@RUNTIME_NAME@|$( TARGET) |g" \
555
588
-e " s|@MACHINETYPE@|$( MACHINETYPE) |g" \
556
589
-e " s|@SHIMPATH@|$( SHIMPATH) |g" \
@@ -569,6 +602,7 @@ $(GENERATED_FILES): %: %.in $(MAKEFILE_LIST) VERSION .git-commit
569
602
-e " s|@DEFBLOCKSTORAGEDRIVER_ACRN@|$( DEFBLOCKSTORAGEDRIVER_ACRN) |g" \
570
603
-e " s|@DEFBLOCKSTORAGEDRIVER_FC@|$( DEFBLOCKSTORAGEDRIVER_FC) |g" \
571
604
-e " s|@DEFBLOCKSTORAGEDRIVER_QEMU@|$( DEFBLOCKSTORAGEDRIVER_QEMU) |g" \
605
+ -e " s|@DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS@|$( DEFBLOCKSTORAGEDRIVER_QEMU_VIRTIOFS) |g" \
572
606
-e " s|@DEFBLOCKSTORAGEDRIVER_NEMU@|$( DEFBLOCKSTORAGEDRIVER_NEMU) |g" \
573
607
-e " s|@DEFSHAREDFS@|$( DEFSHAREDFS) |g" \
574
608
-e " s|@DEFSHAREDFS_NEMU@|$( DEFSHAREDFS_NEMU) |g" \
@@ -731,6 +765,9 @@ endif
731
765
ifneq (,$(findstring $(HYPERVISOR_QEMU ) ,$(KNOWN_HYPERVISORS ) ) )
732
766
@printf "\t$(HYPERVISOR_QEMU) hypervisor path (QEMUPATH) : %s\n" $(abspath $(QEMUPATH))
733
767
endif
768
+ ifneq (,$(findstring $(HYPERVISOR_QEMU_VIRTIOFS ) ,$(KNOWN_HYPERVISORS ) ) )
769
+ @printf "\t$(HYPERVISOR_QEMU_VIRTIOFS) hypervisor path (QEMUVIRTIOFSPATH) : %s\n" $(abspath $(QEMUVIRTIOFSPATH))
770
+ endif
734
771
ifneq (,$(findstring $(HYPERVISOR_NEMU ) ,$(KNOWN_HYPERVISORS ) ) )
735
772
@printf "\t$(HYPERVISOR_NEMU) hypervisor path (NEMUPATH) : %s\n" $(abspath $(NEMUPATH))
736
773
endif
0 commit comments