[xtensa-cvscommit] linux/arch/xtensa/kernel handlers.S,1.5,1.6
Brought to you by:
zankel
|
From: <joe...@us...> - 2002-11-08 21:39:34
|
Update of /cvsroot/xtensa/linux/arch/xtensa/kernel In directory usw-pr-cvs1:/tmp/cvs-serv28520/arch/xtensa/kernel Modified Files: handlers.S Log Message: Two things: (1) bug fix: this handler now correctly registers a TABLE_FIXUP handler *before* accessing any memory in the regmove_table case, and (2) improved layout and use of the offset constants. Index: handlers.S =================================================================== RCS file: /cvsroot/xtensa/linux/arch/xtensa/kernel/handlers.S,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** handlers.S 22 Oct 2002 17:59:43 -0000 1.5 --- handlers.S 8 Nov 2002 21:39:28 -0000 1.6 *************** *** 1,3 **** ! /* * arch/xtensa/kernel/handlers.S * --- 1,3 ---- ! /* * arch/xtensa/kernel/handlers.S * *************** *** 1661,1676 **** .data .align 4 - reg_space: - .space 20, 0 - .text ! /* Define some constants to make the assembly code more robust and ! * improve readability. */ ! #define RSAVE_A0 0 ! #define RSAVE_A2 4 ! #define RSAVE_A3 8 ! #define RSAVE_A4 12 ! #define RSAVE_A5 16 --- 1661,1677 ---- .data .align 4 ! /* Define some offsets for robustness and readability. */ ! #define RSAVE_A0 0 ! #define RSAVE_A2 4 ! #define RSAVE_A3 8 ! #define RSAVE_A4 12 ! #define RSAVE_A5 16 ! #define RSAVE_TOTAL 20 ! ! reg_space: ! .space RSAVE_TOTAL, 0 ! .text *************** *** 1850,1855 **** movi a5, find_handler - l32e a3, a1, -16 s32i a5, a4, TABLE_FIXUP // register a fixup routine l32e a5, a1, -12 s32e a3, a2, -16 --- 1851,1857 ---- movi a5, find_handler s32i a5, a4, TABLE_FIXUP // register a fixup routine + // before accessing memory + l32e a3, a1, -16 l32e a5, a1, -12 s32e a3, a2, -16 *************** *** 1961,1976 **** .data .align 16 - miss_reg_space: - .space 4*5, 0 - .text ! /* Define some offsets into miss_reg_space. They improve assembler ! * readability and reduce potential for coding blunders. */ ! #define MISS_SAVE_A2 0 ! #define MISS_SAVE_A3 4 ! #define MISS_SAVE_A4 8 ! #define MISS_SAVE_A5 12 ! #define MISS_SAVE_A6 16 .align 4 --- 1963,1979 ---- .data .align 16 ! /* Define some offsets for robustness and readability. */ ! #define MISS_SAVE_A2 0 ! #define MISS_SAVE_A3 4 ! #define MISS_SAVE_A4 8 ! #define MISS_SAVE_A5 12 ! #define MISS_SAVE_A6 16 ! #define MISS_SAVE_TOTAL 20 ! ! miss_reg_space: ! .space MISS_SAVE_TOTAL, 0 ! .text .align 4 *************** *** 2207,2217 **** /* Allocate some scratch area in which to save original values of ! * registers. Also define some constants to make the code more ! * readable and less prone to coding blunders. */ ! ! cp_save_area: ! .space 4*14, 0 ! ! .text #define CP_SAVE_A2 0 --- 2210,2215 ---- /* Allocate some scratch area in which to save original values of ! * registers. Also define some offsets for robustness and ! * readability. */ #define CP_SAVE_A2 0 *************** *** 2230,2233 **** --- 2228,2237 ---- #define CP_SAVE_A15 52 #define CP_SAVE_A0 56 + #define CP_SAVE_TOTAL (15*4) + + cp_save_area: + .space CP_SAVE_TOTAL, 0 + + .text |