0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef _ASM_ASMMACRO_64_H
0010 #define _ASM_ASMMACRO_64_H
0011
0012 #include <asm/asm-offsets.h>
0013 #include <asm/regdef.h>
0014 #include <asm/fpregdef.h>
0015 #include <asm/mipsregs.h>
0016
0017 .macro cpu_save_nonscratch thread
0018 LONG_S s0, THREAD_REG16(\thread)
0019 LONG_S s1, THREAD_REG17(\thread)
0020 LONG_S s2, THREAD_REG18(\thread)
0021 LONG_S s3, THREAD_REG19(\thread)
0022 LONG_S s4, THREAD_REG20(\thread)
0023 LONG_S s5, THREAD_REG21(\thread)
0024 LONG_S s6, THREAD_REG22(\thread)
0025 LONG_S s7, THREAD_REG23(\thread)
0026 LONG_S sp, THREAD_REG29(\thread)
0027 LONG_S fp, THREAD_REG30(\thread)
0028 .endm
0029
0030 .macro cpu_restore_nonscratch thread
0031 LONG_L s0, THREAD_REG16(\thread)
0032 LONG_L s1, THREAD_REG17(\thread)
0033 LONG_L s2, THREAD_REG18(\thread)
0034 LONG_L s3, THREAD_REG19(\thread)
0035 LONG_L s4, THREAD_REG20(\thread)
0036 LONG_L s5, THREAD_REG21(\thread)
0037 LONG_L s6, THREAD_REG22(\thread)
0038 LONG_L s7, THREAD_REG23(\thread)
0039 LONG_L sp, THREAD_REG29(\thread)
0040 LONG_L fp, THREAD_REG30(\thread)
0041 LONG_L ra, THREAD_REG31(\thread)
0042 .endm
0043
0044 #endif