Changeset e84439a in mainline for arch/mips/src/context.S


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/src/context.S

    r39ae77b re84439a  
    2727#
    2828
    29 #include <arch/asm/macro.h>
    30 
     29#define __ASM__
     30#include <arch/asm/regname.h>
     31#include "context_offset.h"
     32       
    3133.text   
    3234
     
    3840.global context_restore
    3941
     42.macro CONTEXT_STORE r
     43        sw $s0,OFFSET_S0(\r)
     44        sw $s1,OFFSET_S1(\r)
     45        sw $s2,OFFSET_S2(\r)
     46        sw $s3,OFFSET_S3(\r)
     47        sw $s4,OFFSET_S4(\r)
     48        sw $s5,OFFSET_S5(\r)
     49        sw $s6,OFFSET_S6(\r)
     50        sw $s7,OFFSET_S7(\r)
     51        sw $s8,OFFSET_S7(\r)
     52        sw $gp,OFFSET_GP(\r)
     53       
     54        sw $ra,OFFSET_PC(\r)
     55        sw $sp,OFFSET_SP(\r)
     56.endm
     57
     58.macro CONTEXT_LOAD r
     59        lw $s0,OFFSET_S0(\r)
     60        lw $s1,OFFSET_S1(\r)
     61        lw $s2,OFFSET_S2(\r)
     62        lw $s3,OFFSET_S3(\r)
     63        lw $s4,OFFSET_S4(\r)
     64        lw $s5,OFFSET_S5(\r)
     65        lw $s6,OFFSET_S6(\r)
     66        lw $s7,OFFSET_S7(\r)
     67        lw $s8,OFFSET_S7(\r)
     68        lw $gp,OFFSET_GP(\r)
     69       
     70        lw $ra,OFFSET_PC(\r)
     71        lw $sp,OFFSET_SP(\r)
     72.endm
     73
     74       
    4075context_save:
    41         REGISTERS_STORE $4
     76        CONTEXT_STORE $a0
    4277
    4378        # context_save returns 1
     
    4681       
    4782context_restore:
    48         REGISTERS_LOAD $4
     83        CONTEXT_LOAD $a0
    4984
    5085        # context_restore returns 0
Note: See TracChangeset for help on using the changeset viewer.