1/** \file
2 *  \brief Xeon Phi Manager 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 xeon_phi_manager "Xeon Phi Manager Interface" {
15    
16    /**
17     * array of irefs to other Xeon Phi Driver services
18     */
19    typedef struct {
20        uint8 num;
21        iref card0;
22        iref card1;
23        iref card2;
24        iref card3;
25        iref card4;
26        iref card5;
27        iref card6;
28        iref card7;
29    } cards;
30        
31    /**
32     * \brief register RPC to initiate the registration protocol of the Xeon Phi
33     *        driver with the Xeon Phi manager.
34     * 
35     * \param svc    own exported Xeon Phi Driver interface
36     * \param id     returned Xeon Phi ID assigned by the manager
37     * \param irefs  array of irefs to other Xeon Phi driver services
38     * \param msgerr error code from Xeon Phi manager
39     */
40    rpc register_driver(in iref svc, out uint8 id, out cards irefs, out errval msgerr);
41    
42    /*
43     * 
44     */
45    rpc terminate();
46    
47    rpc lookup(in uint8 xid, out iref svc, out errval msgerr);
48};