1/*
2 * Copyright 2017, Data61
3 * Commonwealth Scientific and Industrial Research Organisation (CSIRO)
4 * ABN 41 687 119 230.
5 *
6 * This software may be distributed and modified according to the terms of
7 * the BSD 2-Clause license. Note that NO WARRANTY is provided.
8 * See "LICENSE_BSD2.txt" for details.
9 *
10 * @TAG(DATA61_BSD)
11 */
12
13#include <assert.h>
14#include <camkes/tls.h>
15#include <sel4/sel4.h>
16#include <stdlib.h>
17
18/*# This value is completely arbitrary as long as it matches the one in the
19 *# template for the other side of this connector.
20 #*/
21/*- set badge_magic = int('0xbad1dea', 16) -*/
22
23/*? macros.show_includes(me.instance.type.includes) ?*/
24
25/*- set notification = alloc('notification', seL4_NotificationObject, read=True) -*/
26/*- do cap_space.cnode[notification].set_badge(badge_magic) -*/
27
28int /*? me.interface.name ?*/__run(void) {
29    return 0;
30}
31
32int /*? me.interface.name ?*/_poll(void) {
33    seL4_Word badge = 0;
34    seL4_Poll(/*? notification ?*/, &badge);
35    return badge == /*? badge_magic ?*/;
36}
37
38void /*? me.interface.name ?*/_wait(void) {
39    seL4_Wait(/*? notification ?*/, NULL);
40}
41