1/* 2 * Copyright (c) 2014 ETH Zurich. 3 * All rights reserved. 4 * 5 * This file is distributed under the terms in the attached LICENSE file. 6 * If you do not find this file, copies can be found by writing to: 7 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10#include <barrelfish/barrelfish.h> 11#include <virtio/virtio_guest.h> 12 13#include "guest/channel.h" 14 15struct virtio_guest_chan_fn *vguest_chan_fn = NULL; 16 17/** 18 * 19 */ 20errval_t virtio_guest_init(enum virtio_guest_channel backend, 21 char *iface) 22{ 23 errval_t err; 24 25 switch (backend) { 26 case VIRTIO_GUEST_CHAN_FLOUNDER: 27 err = virtio_guest_flounder_init(iface); 28 break; 29 30 case VIRTIO_GUEST_CHAN_XEON_PHI: 31 err = virtio_guest_xeon_phi_init(); 32 break; 33 default: 34 err = -1; 35 break; 36 } 37 38 if (err_is_fail(err)) { 39 return err; 40 } 41 42 assert(vguest_chan_fn); 43 44 return SYS_ERR_OK; 45} 46