Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * asmmacro.h: Assembler macros to make things easier to read.
0004  *
0005  * Copyright (C) 1996 David S. Miller (davem@davemloft.net)
0006  * Copyright (C) 1998, 1999 Ralf Baechle
0007  * Copyright (C) 1999 Silicon Graphics, Inc.
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 /* _ASM_ASMMACRO_64_H */