OpenCores
URL https://opencores.org/ocsvn/c0or1k/c0or1k/trunk

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [conts/] [libl4/] [include/] [l4lib/] [arch/] [or1k/] [syscalls.h] - Blame information for rev 7

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
/*
2
 * System call prototypes.
3
 *
4
 * Copyright (C) 2007 Bahadir Balban
5
 */
6
#ifndef __ARM_SYSCALLS_H__
7
#define __ARM_SYSCALLS_H__
8
 
9
 
10
#include L4LIB_INC_ARCH(types.h)
11
#include L4LIB_INC_ARCH(utcb.h)
12
#include <l4/generic/space.h>
13
#include <l4/api/space.h>
14
#include <l4/api/kip.h>
15
#include <l4/api/ipc.h>
16
#include <l4/api/thread.h>
17
 
18
struct task_ids {
19
        l4id_t tid;
20
        l4id_t spid;
21
        l4id_t tgid;
22
};
23
 
24
static inline void *
25
l4_kernel_interface(unsigned int *api_version, unsigned int *api_flags,
26
                   unsigned int *kernel_id)
27
{
28
        return (void *)L4_KIP_ADDRESS;
29
}
30
 
31
typedef unsigned int (*__l4_thread_switch_t)(u32);
32
extern __l4_thread_switch_t __l4_thread_switch;
33
unsigned int l4_thread_switch (u32 dest);
34
 
35
typedef int (*__l4_getid_t)(struct task_ids *ids);
36
extern __l4_getid_t __l4_getid;
37
int l4_getid(struct task_ids *ids);
38
 
39
typedef int (*__l4_ipc_t)(l4id_t to, l4id_t from, u32 flags);
40
extern __l4_ipc_t __l4_ipc;
41
int l4_ipc(l4id_t to, l4id_t from, u32 flags);
42
 
43
typedef int (*__l4_capability_control_t)(unsigned int req, unsigned int flags, void *buf);
44
extern __l4_capability_control_t __l4_capability_control;
45
int l4_capability_control(unsigned int req, unsigned int flags, void *buf);
46
 
47
typedef int (*__l4_map_t)(void *phys, void *virt,
48
                          u32 npages, u32 flags, l4id_t tid);
49
extern __l4_map_t __l4_map;
50
int l4_map(void *p, void *v, u32 npages, u32 flags, l4id_t tid);
51
 
52
typedef int (*__l4_unmap_t)(void *virt, unsigned long npages, l4id_t tid);
53
extern __l4_unmap_t __l4_unmap;
54
int l4_unmap(void *virtual, unsigned long numpages, l4id_t tid);
55
 
56
typedef int (*__l4_thread_control_t)(unsigned int action, struct task_ids *ids);
57
extern __l4_thread_control_t __l4_thread_control;
58
int l4_thread_control(unsigned int action, struct task_ids *ids);
59
 
60
typedef int (*__l4_irq_control_t)(unsigned int req, unsigned int flags, l4id_t id);
61
extern __l4_irq_control_t __l4_irq_control;
62
int l4_irq_control(unsigned int req, unsigned int flags, l4id_t id);
63
 
64
typedef int (*__l4_ipc_control_t)(unsigned int action, l4id_t blocked_sender,
65
                                  u32 blocked_tag);
66
extern __l4_ipc_control_t __l4_ipc_control;
67
int l4_ipc_control(unsigned int, l4id_t blocked_sender, u32 blocked_tag);
68
 
69
typedef int (*__l4_exchange_registers_t)(void *exregs_struct, l4id_t tid);
70
extern __l4_exchange_registers_t __l4_exchange_registers;
71
int l4_exchange_registers(void *exregs_struct, l4id_t tid);
72
 
73
typedef int (*__l4_container_control_t)(unsigned int req, unsigned int flags, void *buf);
74
extern __l4_container_control_t __l4_container_control;
75
int l4_container_control(unsigned int req, unsigned int flags, void *buf);
76
 
77
typedef int (*__l4_time_t)(void *timeval, int set);
78
extern __l4_time_t __l4_time;
79
int l4_time(void *timeval, int set);
80
 
81
typedef int (*__l4_mutex_control_t)(void *mutex_word, int op);
82
extern __l4_mutex_control_t __l4_mutex_control;
83
int l4_mutex_control(void *mutex_word, int op);
84
 
85
typedef int (*__l4_cache_control_t)(void *start, void *end, unsigned int flags);
86
extern __l4_cache_control_t __l4_cache_control;
87
int l4_cache_control(void *start, void *end, unsigned int flags);
88
 
89
/* To be supplied by server tasks. */
90
void *virt_to_phys(void *);
91
void *phys_to_virt(void *);
92
 
93
 
94
#endif /* __ARM_SYSCALLS_H__ */
95
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.