L4Re Operating System Framework
Interface and Usage Documentation
Loading...
Searching...
No Matches
ipc-l42-gcc3-nopic.h
1
6/*
7 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
8 * Alexander Warg <warg@os.inf.tu-dresden.de>,
9 * Frank Mehnert <fm3@os.inf.tu-dresden.de>,
10 * Jork Löser <jork@os.inf.tu-dresden.de>
11 * economic rights: Technische Universität Dresden (Germany)
12 *
13 * License: see LICENSE.spdx (in this directory or the directories above)
14 */
15#pragma once
16
17#include <l4/sys/consts.h>
18
21 l4_umword_t flags,
22 l4_umword_t slabel,
23 l4_msgtag_t tag,
24 l4_umword_t *rlabel,
26{
27 l4_umword_t dummy, dummy1, dummy2;
28
29 (void)u;
30
31 __asm__ __volatile__
32 (L4_ENTER_KERNEL
33 :
34 "=d" (dummy2),
35 "=S" (slabel),
36 "=c" (dummy1),
37 "=D" (dummy),
38 "=a" (tag.raw)
39 :
40 "S" (slabel),
41 "c" (timeout),
42 "a" (tag.raw),
43 "d" (dest | flags)
44 L4S_PIC_SYSCALL
45 :
46 "memory", "cc" L4S_PIC_CLOBBER
47 );
48
49 if (rlabel)
50 *rlabel = slabel;
51
52 return tag;
53}
unsigned long l4_umword_t
Unsigned machine word.
Definition l4int.h:40
unsigned long l4_cap_idx_t
Capability selector type.
Definition types.h:335
l4_msgtag_t l4_ipc(l4_cap_idx_t dest, l4_utcb_t *u, l4_umword_t flags, l4_umword_t slabel, l4_msgtag_t tag, l4_umword_t *rlabel, l4_timeout_t timeout) L4_NOTHROW
Generic L4 object invocation.
struct l4_utcb_t l4_utcb_t
Opaque type for the UTCB.
Definition utcb.h:56
#define L4_NOTHROW
Mark a function declaration and definition as never throwing an exception.
Definition compiler.h:159
#define L4_INLINE
L4 Inline function attribute.
Definition compiler.h:51
Message tag data structure.
Definition types.h:153
Timeout pair.
Definition __timeout.h:53