1/** \file 2 * \brief Inter 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 interphi "Interface between host and card side driver" { 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 in uint64 state, 22 out uint64 domid, 23 out uint64 rstate, 24 out errval msgerr); 25 26 rpc domain_register(in char name[length, 2048], 27 in uint64 domid, 28 out errval msgerr); 29 30 /** 31 * \ 32 */ 33 rpc spawn(in uint8 core, 34 in char cmdline[length, 2048], 35 in uint8 flags, 36 out uint64 domainid, 37 out errval msgerr); 38 39 /** 40 * 41 */ 42 rpc spawn_with_cap(in uint8 core, 43 in char cmdline[length, 2048], 44 in uint8 flags, 45 in uint64 cap_base, 46 in uint8 cap_size_bits, 47 out uint64 domainid, 48 out errval msgerr); 49 50 /** 51 * 52 */ 53 rpc kill(in uint64 domainid, 54 out errval msgerr); 55 56 57 /** 58 * 59 */ 60 rpc bootstrap(in uint64 base, 61 in uint64 offset, 62 in uint8 bits, 63 in uint8 xid, 64 in uint8 is_client, 65 out errval msgerr); 66 67 rpc chan_open(in uint64 source_did, 68 in uint64 target_did, 69 in uint64 usrdata, 70 in uint64 msgbase, 71 in uint8 msgbits, 72 in uint8 type, 73 out errval msgerr); 74 /* 75 * host driver only 76 */ 77 78 79 rpc register_(in uint8 id, 80 in uint64 local_apt_base, 81 in uint64 local_apt_size, 82 out errval msgerr, 83 out uint64 other_apt_base, 84 out uint64 other_apt_size); 85 86 rpc bootstrap_remote(in uint64 base, 87 in uint8 bits, 88 out errval msgerr); 89 90 rpc alloc_mem(in uint64 addr, in uint64 bytes, 91 out uint64 base, out uint64 rbytes, out errval msgerr); 92}; 93