1/** \file 2 * \brief Xeon Phi Driver 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 "Xeon Phi Messaging Interface" { 15 16 rpc domain_lookup(in char name[length, 2048], 17 out uint64 domid, 18 out errval msgerr); 19 20 rpc domain_wait(in char name[length, 2048], 21 out uint64 domid, 22 out errval msgerr); 23 24 rpc domain_register(in char name[length, 2048], 25 in uint64 domid, 26 out errval msgerr); 27 28 rpc domain_init(in domainid domain, 29 in coreid core, 30 in char name[length, 2048], 31 out errval msgerr); 32 33 /* 34 * Spawning of Domains 35 */ 36 37 /** 38 * \ 39 */ 40 rpc spawn(in uint8 xid, 41 in uint8 core, 42 in char cmdline[length, 2048], 43 in uint8 flags, 44 out uint64 domainid, 45 out errval msgerr); 46 47 rpc spawn_with_cap(in uint8 xid, 48 in uint8 core, 49 in char cmdline[length, 2048], 50 in uint8 flags, 51 in cap capability, 52 out uint64 domainid, 53 out errval msgerr); 54 55 rpc kill(in uint8 xid, 56 in uint64 domainid, 57 out errval msgerr); 58 59 60 rpc chan_open_request(in uint8 xphi, 61 in cap msgframe, 62 in uint8 type, 63 in uint64 domain, 64 in uint64 usrdata, 65 out errval msgerr); 66 67 68 69 rpc chan_open(in uint64 domain, 70 in uint64 usrdata, 71 in cap msgframe, 72 in uint8 type, 73 out errval msgerr); 74 75 76 rpc dma_register(in cap mem, out uint64 devaddr, out errval msgerr); 77 rpc dma_memcpy(in uint64 to, in uint64 from, in uint64 bytes, out errval msgerr); 78 rpc get_nodeid(in uint64 arg, out int32 nodeid); 79 rpc alloc_mem(in uint64 bytes, out cap mem, out errval msgerr); 80}; 81