 7b28c61524
			
		
	
	
		7b28c61524
		
	
	
	
	
		
			
			There is no reason for CONFIG_VHOST_NET to be specific to a single target; it is a host feature that can be add to all targets, as long as they support the virtio-net device. Currently CONFIG_VHOST_NET depends on CONFIG_KVM, but ioeventfd support is present in the core memory API and works with other accelerators as well. As a first step, move the vhost-net stubs to a separate file. Later, they will become conditional on CONFIG_VIRTIO_NET, which is not available in .c files. Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <1543851204-41186-2-git-send-email-pbonzini@redhat.com> Message-Id: <1550165756-21617-2-git-send-email-pbonzini@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
		
			
				
	
	
		
			93 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * vhost-net support
 | |
|  *
 | |
|  * Copyright Red Hat, Inc. 2010
 | |
|  *
 | |
|  * Authors:
 | |
|  *  Michael S. Tsirkin <mst@redhat.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  */
 | |
| 
 | |
| #include "qemu/osdep.h"
 | |
| #include "net/net.h"
 | |
| #include "net/tap.h"
 | |
| #include "net/vhost-user.h"
 | |
| 
 | |
| #include "hw/virtio/virtio-net.h"
 | |
| #include "net/vhost_net.h"
 | |
| #include "qemu/error-report.h"
 | |
| 
 | |
| 
 | |
| uint64_t vhost_net_get_max_queues(VHostNetState *net)
 | |
| {
 | |
|     return 1;
 | |
| }
 | |
| 
 | |
| struct vhost_net *vhost_net_init(VhostNetOptions *options)
 | |
| {
 | |
|     error_report("vhost-net support is not compiled in");
 | |
|     return NULL;
 | |
| }
 | |
| 
 | |
| int vhost_net_start(VirtIODevice *dev,
 | |
|                     NetClientState *ncs,
 | |
|                     int total_queues)
 | |
| {
 | |
|     return -ENOSYS;
 | |
| }
 | |
| void vhost_net_stop(VirtIODevice *dev,
 | |
|                     NetClientState *ncs,
 | |
|                     int total_queues)
 | |
| {
 | |
| }
 | |
| 
 | |
| void vhost_net_cleanup(struct vhost_net *net)
 | |
| {
 | |
| }
 | |
| 
 | |
| uint64_t vhost_net_get_features(struct vhost_net *net, uint64_t features)
 | |
| {
 | |
|     return features;
 | |
| }
 | |
| 
 | |
| void vhost_net_ack_features(struct vhost_net *net, uint64_t features)
 | |
| {
 | |
| }
 | |
| 
 | |
| uint64_t vhost_net_get_acked_features(VHostNetState *net)
 | |
| {
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| bool vhost_net_virtqueue_pending(VHostNetState *net, int idx)
 | |
| {
 | |
|     return false;
 | |
| }
 | |
| 
 | |
| void vhost_net_virtqueue_mask(VHostNetState *net, VirtIODevice *dev,
 | |
|                               int idx, bool mask)
 | |
| {
 | |
| }
 | |
| 
 | |
| int vhost_net_notify_migration_done(struct vhost_net *net, char* mac_addr)
 | |
| {
 | |
|     return -1;
 | |
| }
 | |
| 
 | |
| VHostNetState *get_vhost_net(NetClientState *nc)
 | |
| {
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| int vhost_set_vring_enable(NetClientState *nc, int enable)
 | |
| {
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| int vhost_net_set_mtu(struct vhost_net *net, uint16_t mtu)
 | |
| {
 | |
|     return 0;
 | |
| }
 |