Changeset 909c6e3 in mainline for arch/mips/include


Ignore:
Timestamp:
2005-09-07T09:44:30Z (21 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
d246e7e
Parents:
24bd23a
Message:

MIPS exception now saves all necesssary information only on stack.

Location:
arch/mips/include
Files:
4 edited

Legend:

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

    r24bd23a r909c6e3  
    3131
    3232#define STACK_ITEM_SIZE 4
    33 
    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_SP 112
    66 
    67 #define EOFFSET_LO 116
    68 #define EOFFSET_HI 120
    69 #define EOFFSET_STATUS 124
    70 
    71 #define REGISTER_SPACE 128
    7233
    7334/*
  • arch/mips/include/exception.h

    r24bd23a r909c6e3  
    3030#define __EXCEPTION_H__
    3131
     32#ifndef __mips_TYPES_H_
     33#  include <arch/types.h>
     34#endif
     35
    3236#define EXC_Int         0
    3337#define EXC_Mod         1
     
    4953#define EXC_VCED        31
    5054
    51 extern void exception(void);
     55struct exception_regdump {
     56        __u32 at;
     57        __u32 v0;
     58        __u32 v1;
     59        __u32 a0;
     60        __u32 a1;
     61        __u32 a2;
     62        __u32 a3;
     63        __u32 t0;
     64        __u32 t1;
     65        __u32 t2;
     66        __u32 t3;
     67        __u32 t4;
     68        __u32 t5;
     69        __u32 t6;
     70        __u32 t7;
     71        __u32 s0;
     72        __u32 s1;
     73        __u32 s2;
     74        __u32 s3;
     75        __u32 s4;
     76        __u32 s5;
     77        __u32 s6;
     78        __u32 s7;
     79        __u32 t8;
     80        __u32 t9;
     81        __u32 gp;
     82        __u32 sp;
     83        __u32 s8;
     84        __u32 ra;
     85       
     86        __u32 lo;
     87        __u32 hi;
     88
     89        __u32 status; /* cp0_status */
     90        __u32 epc; /* cp0_epc */
     91};
     92
     93extern void exception(struct exception_regdump *pstate);
    5294
    5395#endif
  • arch/mips/include/mm/tlb.h

    r24bd23a r909c6e3  
    2929#ifndef __mips_TLB_H__
    3030#define __mips_TLB_H__
     31
     32#include <arch/exception.h>
    3133
    3234#define PAGE_UNCACHED                   2
     
    6466typedef struct entry_lo pte_t;
    6567
    66 extern void tlb_refill(void);
    67 extern void tlb_invalid(void);
     68extern void tlb_invalid(struct exception_regdump *pstate);
     69extern void tlb_refill(struct exception_regdump *pstate);
    6870
    6971#endif
  • arch/mips/include/thread.h

    r24bd23a r909c6e3  
    3030#define __mips_THREAD_H__
    3131
    32 #define ARCH_THREAD_DATA  __u32 saved_epc;
     32#define ARCH_THREAD_DATA
    3333
    3434#endif
Note: See TracChangeset for help on using the changeset viewer.