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;
 | 
						|
}
 |