1/** \file 2 * \brief VirtIO shared memory interface 3 */ 4 5/* 6 * Copyright (c) 2012, ETH Zurich. 7 * All rights reserved. 8 * 9 * This file is distributed under the terms in the attached LICENSE file. 10 * If you do not find this file, copies can be found by writing to: 11 * ETH Zurich D-INFK, Universitaetsstrasse 6, CH-8092 Zurich. Attn: Systems Group. 12 */ 13 14interface virtio "VirtIO Interface" { 15 16 /* open a new VirtIO device */ 17 rpc open(in uint8 backend, out errval err, out cap devframe); 18 19 /* closes a VirtIO Device */ 20 rpc close(); 21 22 /* adds a new vring to the device */ 23 rpc add(in uint16 vq_id, 24 in uint16 ndesc, 25 in uint8 has_buffers, 26 in cap vring, 27 out errval err); 28 29 /* extends the shared memory by a new cap */ 30 rpc extend(in uint16 vq_id, in cap vbuf, out errval err); 31 32 /* requests memory from the host to be used as vring / vbufs */ 33 rpc req(in uint64 size, out errval err, out cap vring); 34};