1/* 2 * Copyright 2018, Data61, CSIRO (ABN 41 687 119 230) 3 * 4 * SPDX-License-Identifier: BSD-2-Clause 5 */ 6 7#include <string.h> 8#include <sel4/sel4.h> 9#include <utils/util.h> 10 11#define FFI_SUCCESS 0 12#define FFI_FAILURE 1 13 14seL4_CPtr virtqueue_wait_notification(void); 15 16// Return the global endpoint for our CakeML filter component 17void ffiget_global_endpoint(char * c, unsigned long clen, char * a, unsigned long alen) { 18 assert(alen >= 1 + sizeof(seL4_CPtr)); 19 seL4_CPtr src = virtqueue_wait_notification(); 20 memcpy(a + 1, &src, sizeof(seL4_CPtr)); 21 a[0] = FFI_SUCCESS; 22} 23