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

Subversion Repositories c0or1k

[/] [c0or1k/] [trunk/] [include/] [l4/] [glue/] [arm/] [context.h] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 drasko
#ifndef __ARM_CONTEXT_H__
2
#define __ARM_CONTEXT_H__
3
 
4
#include <l4/types.h>
5
 
6
/*
7
 * This describes the register context of each task. Simply set
8
 * them and they'll be copied onto real registers upon a context
9
 * switch to that task. exchange_registers() system call is
10
 * designed for this, whose input structure is defined further
11
 * below.
12
 */
13
typedef struct arm_context {
14
        u32 spsr;       /* 0x0 */
15
        u32 r0;         /* 0x4 */
16
        u32 r1;         /* 0x8 */
17
        u32 r2;         /* 0xC */
18
        u32 r3;         /* 0x10 */
19
        u32 r4;         /* 0x14 */
20
        u32 r5;         /* 0x18 */
21
        u32 r6;         /* 0x1C */
22
        u32 r7;         /* 0x20 */
23
        u32 r8;         /* 0x24 */
24
        u32 r9;         /* 0x28 */
25
        u32 r10;        /* 0x2C */
26
        u32 r11;        /* 0x30 */
27
        u32 r12;        /* 0x34 */
28
        u32 sp;         /* 0x38 */
29
        u32 lr;         /* 0x3C */
30
        u32 pc;         /* 0x40 */
31
} __attribute__((__packed__)) task_context_t;
32
 
33
 
34
typedef struct arm_exregs_context {
35
        u32 r0;         /* 0x4 */
36
        u32 r1;         /* 0x8 */
37
        u32 r2;         /* 0xC */
38
        u32 r3;         /* 0x10 */
39
        u32 r4;         /* 0x14 */
40
        u32 r5;         /* 0x18 */
41
        u32 r6;         /* 0x1C */
42
        u32 r7;         /* 0x20 */
43
        u32 r8;         /* 0x24 */
44
        u32 r9;         /* 0x28 */
45
        u32 r10;        /* 0x2C */
46
        u32 r11;        /* 0x30 */
47
        u32 r12;        /* 0x34 */
48
        u32 sp;         /* 0x38 */
49
        u32 lr;         /* 0x3C */
50
        u32 pc;         /* 0x40 */
51
} __attribute__((__packed__)) exregs_context_t;
52
 
53
#endif /* __ARM_CONTEXT_H__ */

powered by: WebSVN 2.1.0

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