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

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [include/] [l4/] [api/] [exregs.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
/*
2
 * Exchange registers system call data.
3
 *
4
 * Copyright (C) 2008 Bahadir Balban
5
 */
6
#ifndef __EXREGS_H__
7
#define __EXREGS_H__
8
 
9
#include <l4/macros.h>
10
#include INC_GLUE(syscall.h)
11
#include INC_GLUE(context.h)
12
#include <l4/types.h>
13
 
14
#define EXREGS_SET_PAGER                1
15
#define EXREGS_SET_UTCB                 2
16
#define EXREGS_READ                     4
17
 
18
#define EXREGS_VALID_REGULAR_REGS                       \
19
        (FIELD_TO_BIT(exregs_context_t, r0) |           \
20
         FIELD_TO_BIT(exregs_context_t, r1) |           \
21
         FIELD_TO_BIT(exregs_context_t, r2) |           \
22
         FIELD_TO_BIT(exregs_context_t, r3) |           \
23
         FIELD_TO_BIT(exregs_context_t, r4) |           \
24
         FIELD_TO_BIT(exregs_context_t, r5) |           \
25
         FIELD_TO_BIT(exregs_context_t, r6) |           \
26
         FIELD_TO_BIT(exregs_context_t, r7) |           \
27
         FIELD_TO_BIT(exregs_context_t, r8) |           \
28
         FIELD_TO_BIT(exregs_context_t, r9) |           \
29
         FIELD_TO_BIT(exregs_context_t, r10) |          \
30
         FIELD_TO_BIT(exregs_context_t, r11) |          \
31
         FIELD_TO_BIT(exregs_context_t, r12) |          \
32
         FIELD_TO_BIT(exregs_context_t, lr))            \
33
 
34
#define EXREGS_VALID_SP                                 \
35
        FIELD_TO_BIT(exregs_context_t, sp)              \
36
 
37
#define EXREGS_VALID_PC                                 \
38
        FIELD_TO_BIT(exregs_context_t, pc)              \
39
 
40
/* Structure passed by userspace pagers for exchanging registers */
41
struct exregs_data {
42
        exregs_context_t context;
43
        u32 valid_vect;
44
        u32 flags;
45
        l4id_t pagerid;
46
        unsigned long utcb_address;
47
};
48
 
49
 
50
 
51
#endif /* __EXREGS_H__ */

powered by: WebSVN 2.1.0

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