Added: Xeon Phi Manager
[barrelfish] / include / xeon_phi / xeon_phi_manager_client.h
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 #ifndef XEON_PHI_MANAGER_CLIENT_H
11 #define XEON_PHI_MANAGER_CLIENT_H
12
13 #define XEON_PHI_MANAGER_SERVICE_NAME "xeon_phi_manager"
14
15 #define DEBUG_XPMC(x...) debug_printf(" XPMC | " x)
16
17 /**
18  * \brief   registers the Xeon Phi driver card with the Xeon Phi Manager
19  *          this function blocks until we have a connection to the manager
20  *
21  * \param   svc_iref    the iref of the drivers service
22  * \param   id          the own card id
23  * \param   num         returns the number of returned irefs / number of cards
24  * \param   cards       returns the array of irefs
25  *
26  * \return SYS_ERR_OK on success
27  */
28 errval_t xeon_phi_manager_client_register(iref_t svc_iref,
29                                           uint8_t *id,
30                                           uint8_t *num,
31                                           iref_t **cards);
32
33 /**
34  * \brief   deregisters the Xeon Phi driver with the Xeon Phi Manager
35  *
36  * \return SYS_ERR_OK on success
37  */
38 errval_t xeon_phi_manager_client_deregister(void);
39
40 #endif // XEON_PHI_MANAGER_CLIENT_H