build: move vhost-scsi configuration to Kconfig
vhost-scsi and vhost-user-scsi are two devices of their own; it should be possible to enable/disable them with --without-default-devices, not --without-default-features. Compute their default value in Kconfig to obtain the more intuitive behavior. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									9972ae314f
								
							
						
					
					
						commit
						d13b200253
					
				
							
								
								
									
										15
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@ -285,7 +285,6 @@ EXTRA_LDFLAGS=""
 | 
				
			|||||||
vhost_kernel="$default_feature"
 | 
					vhost_kernel="$default_feature"
 | 
				
			||||||
vhost_net="$default_feature"
 | 
					vhost_net="$default_feature"
 | 
				
			||||||
vhost_crypto="$default_feature"
 | 
					vhost_crypto="$default_feature"
 | 
				
			||||||
vhost_scsi="$default_feature"
 | 
					 | 
				
			||||||
vhost_user="no"
 | 
					vhost_user="no"
 | 
				
			||||||
vhost_user_fs="$default_feature"
 | 
					vhost_user_fs="$default_feature"
 | 
				
			||||||
vhost_vdpa="$default_feature"
 | 
					vhost_vdpa="$default_feature"
 | 
				
			||||||
@ -874,10 +873,6 @@ for opt do
 | 
				
			|||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
  --enable-vhost-crypto) vhost_crypto="yes"
 | 
					  --enable-vhost-crypto) vhost_crypto="yes"
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
  --disable-vhost-scsi) vhost_scsi="no"
 | 
					 | 
				
			||||||
  ;;
 | 
					 | 
				
			||||||
  --enable-vhost-scsi) vhost_scsi="yes"
 | 
					 | 
				
			||||||
  ;;
 | 
					 | 
				
			||||||
  --disable-vhost-user-fs) vhost_user_fs="no"
 | 
					  --disable-vhost-user-fs) vhost_user_fs="no"
 | 
				
			||||||
  ;;
 | 
					  ;;
 | 
				
			||||||
  --enable-vhost-user-fs) vhost_user_fs="yes"
 | 
					  --enable-vhost-user-fs) vhost_user_fs="yes"
 | 
				
			||||||
@ -1104,7 +1099,6 @@ cat << EOF
 | 
				
			|||||||
  safe-stack      SafeStack Stack Smash Protection. Depends on
 | 
					  safe-stack      SafeStack Stack Smash Protection. Depends on
 | 
				
			||||||
                  clang/llvm >= 3.7 and requires coroutine backend ucontext.
 | 
					                  clang/llvm >= 3.7 and requires coroutine backend ucontext.
 | 
				
			||||||
  vhost-net       vhost-net kernel acceleration support
 | 
					  vhost-net       vhost-net kernel acceleration support
 | 
				
			||||||
  vhost-scsi      vhost-scsi kernel target support
 | 
					 | 
				
			||||||
  vhost-crypto    vhost-user-crypto backend support
 | 
					  vhost-crypto    vhost-user-crypto backend support
 | 
				
			||||||
  vhost-kernel    vhost kernel backend support
 | 
					  vhost-kernel    vhost kernel backend support
 | 
				
			||||||
  vhost-user      vhost-user backend support
 | 
					  vhost-user      vhost-user backend support
 | 
				
			||||||
@ -1538,12 +1532,6 @@ if test "$vhost_kernel" = "yes" && test "$linux" != "yes"; then
 | 
				
			|||||||
  error_exit "vhost-kernel is only available on Linux"
 | 
					  error_exit "vhost-kernel is only available on Linux"
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# vhost-kernel devices
 | 
					 | 
				
			||||||
test "$vhost_scsi" = "" && vhost_scsi=$vhost_kernel
 | 
					 | 
				
			||||||
if test "$vhost_scsi" = "yes" && test "$vhost_kernel" != "yes"; then
 | 
					 | 
				
			||||||
  error_exit "--enable-vhost-scsi requires --enable-vhost-kernel"
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# vhost-user backends
 | 
					# vhost-user backends
 | 
				
			||||||
test "$vhost_crypto" = "" && vhost_crypto=$vhost_user
 | 
					test "$vhost_crypto" = "" && vhost_crypto=$vhost_user
 | 
				
			||||||
if test "$vhost_crypto" = "yes" && test "$vhost_user" = "no"; then
 | 
					if test "$vhost_crypto" = "yes" && test "$vhost_user" = "no"; then
 | 
				
			||||||
@ -2080,9 +2068,6 @@ if test "$modules" = "yes"; then
 | 
				
			|||||||
  echo "CONFIG_MODULES=y" >> $config_host_mak
 | 
					  echo "CONFIG_MODULES=y" >> $config_host_mak
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if test "$vhost_scsi" = "yes" ; then
 | 
					 | 
				
			||||||
  echo "CONFIG_VHOST_SCSI=y" >> $config_host_mak
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
if test "$vhost_net" = "yes" ; then
 | 
					if test "$vhost_net" = "yes" ; then
 | 
				
			||||||
  echo "CONFIG_VHOST_NET=y" >> $config_host_mak
 | 
					  echo "CONFIG_VHOST_NET=y" >> $config_host_mak
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
				
			|||||||
@ -48,6 +48,11 @@ config VIRTIO_SCSI
 | 
				
			|||||||
    depends on VIRTIO
 | 
					    depends on VIRTIO
 | 
				
			||||||
    select SCSI
 | 
					    select SCSI
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config VHOST_SCSI
 | 
				
			||||||
 | 
					    bool
 | 
				
			||||||
 | 
					    default y
 | 
				
			||||||
 | 
					    depends on VIRTIO && VHOST_KERNEL
 | 
				
			||||||
 | 
					
 | 
				
			||||||
config VHOST_USER_SCSI
 | 
					config VHOST_USER_SCSI
 | 
				
			||||||
    bool
 | 
					    bool
 | 
				
			||||||
    # Only PCI devices are provided for now
 | 
					    # Only PCI devices are provided for now
 | 
				
			||||||
 | 
				
			|||||||
@ -55,10 +55,8 @@ struct VirtIOSCSIConf {
 | 
				
			|||||||
    bool seg_max_adjust;
 | 
					    bool seg_max_adjust;
 | 
				
			||||||
    uint32_t max_sectors;
 | 
					    uint32_t max_sectors;
 | 
				
			||||||
    uint32_t cmd_per_lun;
 | 
					    uint32_t cmd_per_lun;
 | 
				
			||||||
#ifdef CONFIG_VHOST_SCSI
 | 
					 | 
				
			||||||
    char *vhostfd;
 | 
					    char *vhostfd;
 | 
				
			||||||
    char *wwpn;
 | 
					    char *wwpn;
 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
    CharBackend chardev;
 | 
					    CharBackend chardev;
 | 
				
			||||||
    uint32_t boot_tpgt;
 | 
					    uint32_t boot_tpgt;
 | 
				
			||||||
    IOThread *iothread;
 | 
					    IOThread *iothread;
 | 
				
			||||||
 | 
				
			|||||||
@ -3691,7 +3691,6 @@ summary_info += {'QOM debugging':     get_option('qom_cast_debug')}
 | 
				
			|||||||
summary_info += {'vhost-kernel support': config_host.has_key('CONFIG_VHOST_KERNEL')}
 | 
					summary_info += {'vhost-kernel support': config_host.has_key('CONFIG_VHOST_KERNEL')}
 | 
				
			||||||
summary_info += {'vhost-net support': config_host.has_key('CONFIG_VHOST_NET')}
 | 
					summary_info += {'vhost-net support': config_host.has_key('CONFIG_VHOST_NET')}
 | 
				
			||||||
summary_info += {'vhost-crypto support': config_host.has_key('CONFIG_VHOST_CRYPTO')}
 | 
					summary_info += {'vhost-crypto support': config_host.has_key('CONFIG_VHOST_CRYPTO')}
 | 
				
			||||||
summary_info += {'vhost-scsi support': config_host.has_key('CONFIG_VHOST_SCSI')}
 | 
					 | 
				
			||||||
summary_info += {'vhost-user support': config_host.has_key('CONFIG_VHOST_USER')}
 | 
					summary_info += {'vhost-user support': config_host.has_key('CONFIG_VHOST_USER')}
 | 
				
			||||||
summary_info += {'vhost-user-blk server support': have_vhost_user_blk_server}
 | 
					summary_info += {'vhost-user-blk server support': have_vhost_user_blk_server}
 | 
				
			||||||
summary_info += {'vhost-user-fs support': config_host.has_key('CONFIG_VHOST_USER_FS')}
 | 
					summary_info += {'vhost-user-fs support': config_host.has_key('CONFIG_VHOST_USER_FS')}
 | 
				
			||||||
 | 
				
			|||||||
@ -132,7 +132,6 @@
 | 
				
			|||||||
--disable-vhost-crypto \
 | 
					--disable-vhost-crypto \
 | 
				
			||||||
--disable-vhost-kernel \
 | 
					--disable-vhost-kernel \
 | 
				
			||||||
--disable-vhost-net \
 | 
					--disable-vhost-net \
 | 
				
			||||||
--disable-vhost-scsi \
 | 
					 | 
				
			||||||
--disable-vhost-user \
 | 
					--disable-vhost-user \
 | 
				
			||||||
--disable-vhost-user-blk-server \
 | 
					--disable-vhost-user-blk-server \
 | 
				
			||||||
--disable-vhost-vdpa \
 | 
					--disable-vhost-vdpa \
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user