1/* 2 * Copyright (c) 2007-2011, 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, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group. 8 */ 9 10/* 11 * This interface is used in the sfn5122f driver for the device specific 12 * communication between the device manager and the setup for the devif device 13 * interface. The driver exposes the interface and the devif solarflare device 14 * specific part connects to it 15 */ 16interface sfn5122f_devif "sfn5122f devif communication interface" { 17 18 // create and destroy a queue. Only the device driver itself should 19 // access configuration registers 20 rpc create_queue(in cap frame, in bool user, in bool interrupt, 21 in bool qzero, 22 in uint8 core, in uint8 vector, 23 out uint64 mac, out uint16 qid, 24 out cap filter_ep, out cap regs, out errval err); 25 rpc destroy_queue(in uint16 qid, out errval err); 26 27 // add a memory region to the buffer table 28 rpc register_region(in uint16 qid, in cap reg, out uint64 buftbl_id, out errval err); 29 rpc deregister_region(in uint64 buftbl_id, in uint64 size, out errval err); 30 31 rpc control(in uint64 req, in uint64 arg, out uint64 res, out errval msgerr); 32 33 message interrupt(uint16 qid); 34}; 35