1/*
2 * Copyright (c) 2013, University of Washington.
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
10interface e10k_vf "e10k VF/PF interface" {
11	  rpc init_done(in uint8 vfn);
12      
13    /*****************************************************
14     * For devif interface
15     *****************************************************/
16      rpc request_vf_number(out uint8 vfn, out uint64 mac, 
17                            out cap regs, out cap irq, out cap iommu_ep,
18                            out cap pci_ep, out errval err);
19
20      // XXX: technically should not be in the VF interface
21      // since it is only used withouth VFs
22      rpc create_queue(in cap    tx,
23                       in cap    txhwb,
24                       in cap    rx,
25                       in uint32 rxbufsz,
26                       in coreid core,
27                       in bool   use_irq,
28                       in bool   msix,
29                       in bool   use_rsc,
30                       in bool   qzero,
31                       out uint64 mac,
32                       out int qid,
33                       out cap regs,
34                       out cap filter_ep,
35                       out errval err);
36
37      rpc create_queue_vf(out uint8 vfn,
38                          out cap regs,
39                          out cap interrupt,
40                          out cap device,
41                          out uint64 mac);
42
43      rpc destroy_queue(in int qid, out errval err);
44
45      message interrupt(uint16 qid);
46};
47