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