Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/start.S

    r33add3a8 r9d58539  
    3030#include <arch/mm/page.h>
    3131#include <arch/asm/boot.h>
     32#include <arch/context_offset.h>
    3233#include <arch/stack.h>
    33 #include <arch/istate_struct.h>
    3434
    3535.text
     
    5151#define REG_SAVE_MASK 0x1f
    5252
     53#define ISTATE_OFFSET_A0        0
     54#define ISTATE_OFFSET_A1        4
     55#define ISTATE_OFFSET_A2        8
     56#define ISTATE_OFFSET_A3        12
     57#define ISTATE_OFFSET_T0        16
     58#define ISTATE_OFFSET_T1        20
     59#define ISTATE_OFFSET_V0        24
     60#define ISTATE_OFFSET_V1        28
     61#define ISTATE_OFFSET_AT        32
     62#define ISTATE_OFFSET_T2        36
     63#define ISTATE_OFFSET_T3        40
     64#define ISTATE_OFFSET_T4        44
     65#define ISTATE_OFFSET_T5        48
     66#define ISTATE_OFFSET_T6        52
     67#define ISTATE_OFFSET_T7        56
     68#define ISTATE_OFFSET_S0        60
     69#define ISTATE_OFFSET_S1        64
     70#define ISTATE_OFFSET_S2        68
     71#define ISTATE_OFFSET_S3        72
     72#define ISTATE_OFFSET_S4        76
     73#define ISTATE_OFFSET_S5        80
     74#define ISTATE_OFFSET_S6        84
     75#define ISTATE_OFFSET_S7        88
     76#define ISTATE_OFFSET_T8        92
     77#define ISTATE_OFFSET_T9        96
     78#define ISTATE_OFFSET_KT0       100
     79#define ISTATE_OFFSET_KT1       104
     80#define ISTATE_OFFSET_GP        108
     81#define ISTATE_OFFSET_SP        112
     82#define ISTATE_OFFSET_S8        116
     83#define ISTATE_OFFSET_RA        120
     84#define ISTATE_OFFSET_LO        124
     85#define ISTATE_OFFSET_HI        128
     86#define ISTATE_OFFSET_STATUS    132
     87#define ISTATE_OFFSET_EPC       136
     88#define ISTATE_OFFSET_ALIGNMENT 140
     89
     90#define ISTATE_SOFT_SIZE        144
     91
    5392/*
    5493 * The fake ABI prologue is never executed and may not be part of the
     
    5897 */
    5998.macro FAKE_ABI_PROLOGUE
    60         sub $sp, ISTATE_SIZE
     99        sub $sp, ISTATE_SOFT_SIZE
    61100        sw $ra, ISTATE_OFFSET_EPC($sp)
    62101.endm
     
    226265        KERNEL_STACK_TO_K0
    227266       
    228         sub $k0, ISTATE_SIZE
     267        sub $k0, ISTATE_SOFT_SIZE
    229268        sw $sp, ISTATE_OFFSET_SP($k0)
    230269        move $sp, $k0
     
    316355tlb_refill_handler:
    317356        KERNEL_STACK_TO_K0
    318         sub $k0, ISTATE_SIZE
     357        sub $k0, ISTATE_SOFT_SIZE
    319358        REGISTERS_STORE_AND_EXC_RESET $k0
    320359        sw $sp, ISTATE_OFFSET_SP($k0)
     
    332371cache_error_handler:
    333372        KERNEL_STACK_TO_K0
    334         sub $k0, ISTATE_SIZE
     373        sub $k0, ISTATE_SOFT_SIZE
    335374        REGISTERS_STORE_AND_EXC_RESET $k0
    336375        sw $sp, ISTATE_OFFSET_SP($k0)
Note: See TracChangeset for help on using the changeset viewer.