Changeset e84439a in mainline for arch/mips/include/context.h


Ignore:
Timestamp:
2005-09-06T08:51:22Z (20 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e949fd6
Parents:
39ae77b
Message:

Fixed mips boot process.
On interrupt saving registers, save $lo, $hi.
Add interrupt naming to asm files (mips).
Save only necessary registers on context switch (see mips ABI).
Fixed copyright info.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/mips/include/context.h

    r39ae77b re84439a  
    3030#define __mips_CONTEXT_H__
    3131
    32 #include <arch/types.h>
     32#define STACK_ITEM_SIZE 4
    3333
    34 #define STACK_ITEM_SIZE 4
     34/* These are offsets into the register dump saved
     35 * on exception entry
     36 */
     37#define EOFFSET_AT 0
     38#define EOFFSET_V0 4
     39#define EOFFSET_V1 8
     40#define EOFFSET_A0 12
     41#define EOFFSET_A1 16
     42#define EOFFSET_A2 20
     43#define EOFFSET_A3 24
     44#define EOFFSET_A4 28
     45#define EOFFSET_T1 32
     46#define EOFFSET_T2 36
     47#define EOFFSET_T3 40
     48#define EOFFSET_T4 44
     49#define EOFFSET_T5 48
     50#define EOFFSET_T6 52
     51#define EOFFSET_T7 56
     52#define EOFFSET_T8 60
     53#define EOFFSET_T9 64
     54#define EOFFSET_S0 68
     55#define EOFFSET_S1 72
     56#define EOFFSET_S2 76
     57#define EOFFSET_S3 80
     58#define EOFFSET_S4 84
     59#define EOFFSET_S5 88
     60#define EOFFSET_S6 92
     61#define EOFFSET_S7 96
     62#define EOFFSET_S8 100
     63#define EOFFSET_GP 104
     64#define EOFFSET_RA 108
     65#define EOFFSET_LO 112
     66#define EOFFSET_HI 116
     67
     68#define REGISTER_SPACE 120
    3569
    3670/*
     
    4074
    4175
     76#ifndef __ASM__
     77
     78#ifndef __mips_TYPES_H_
     79# include <arch/types.h>
     80#endif
     81
     82/*
     83 * Only save registers that must be preserved across
     84 * function calls.
     85 */
    4286struct context {
    43         __u32 r0;
    44         __u32 r1;
    45         __u32 r2;
    46         __u32 r3;
    47         __u32 r4;
    48         __u32 r5;
    49         __u32 r6;
    50         __u32 r7;
    51         __u32 r8;
    52         __u32 r9;
    53         __u32 r10;
    54         __u32 r11;
    55         __u32 r12;
    56         __u32 r13;
    57         __u32 r14;
    58         __u32 r15;
    59         __u32 r16;
    60         __u32 r17;
    61         __u32 r18;
    62         __u32 r19;
    63         __u32 r20;
    64         __u32 r21;
    65         __u32 r22;
    66         __u32 r23;
    67         __u32 r24;
    68         __u32 r25;
    69         __u32 r26;
    70         __u32 r27;
    71         __u32 r28;
    7287        __u32 sp;
    73         __u32 r30;
    7488        __u32 pc;
     89       
     90        __u32 s0;
     91        __u32 s1;
     92        __u32 s2;
     93        __u32 s3;
     94        __u32 s4;
     95        __u32 s5;
     96        __u32 s6;
     97        __u32 s7;
     98        __u32 s8;
     99        __u32 gp;
     100
    75101        __u32 pri;
    76102};
    77103
     104#endif /* __ASM__ */
     105
    78106#endif
Note: See TracChangeset for help on using the changeset viewer.