Path: blob/master/arch/score/include/asm/asmmacro.h
10819 views
#ifndef _ASM_SCORE_ASMMACRO_H1#define _ASM_SCORE_ASMMACRO_H23#include <asm/asm-offsets.h>45#ifdef __ASSEMBLY__67.macro SAVE_ALL8mfcr r30, cr09mv r31, r010nop11/* if UMs == 1, change stack. */12slli.c r30, r30, 2813bpl 1f14la r31, kernelsp15lw r31, [r31]161:17mv r30, r018addri r0, r31, -PT_SIZE1920sw r30, [r0, PT_R0]21.set r122sw r1, [r0, PT_R1]23.set nor124sw r2, [r0, PT_R2]25sw r3, [r0, PT_R3]26sw r4, [r0, PT_R4]27sw r5, [r0, PT_R5]28sw r6, [r0, PT_R6]29sw r7, [r0, PT_R7]3031sw r8, [r0, PT_R8]32sw r9, [r0, PT_R9]33sw r10, [r0, PT_R10]34sw r11, [r0, PT_R11]35sw r12, [r0, PT_R12]36sw r13, [r0, PT_R13]37sw r14, [r0, PT_R14]38sw r15, [r0, PT_R15]3940sw r16, [r0, PT_R16]41sw r17, [r0, PT_R17]42sw r18, [r0, PT_R18]43sw r19, [r0, PT_R19]44sw r20, [r0, PT_R20]45sw r21, [r0, PT_R21]46sw r22, [r0, PT_R22]47sw r23, [r0, PT_R23]4849sw r24, [r0, PT_R24]50sw r25, [r0, PT_R25]51sw r25, [r0, PT_R25]52sw r26, [r0, PT_R26]53sw r27, [r0, PT_R27]5455sw r28, [r0, PT_R28]56sw r29, [r0, PT_R29]57orri r28, r0, 0x1fff58li r31, 0x00001fff59xor r28, r28, r316061mfcehl r30, r3162sw r30, [r0, PT_CEH]63sw r31, [r0, PT_CEL]6465mfcr r31, cr066sw r31, [r0, PT_PSR]6768mfcr r31, cr169sw r31, [r0, PT_CONDITION]7071mfcr r31, cr272sw r31, [r0, PT_ECR]7374mfcr r31, cr575srli r31, r31, 176slli r31, r31, 177sw r31, [r0, PT_EPC]78.endm7980.macro RESTORE_ALL_AND_RET81mfcr r30, cr082srli r30, r30, 183slli r30, r30, 184mtcr r30, cr085nop86nop87nop88nop89nop9091.set r192ldis r1, 0x00ff93and r30, r30, r194not r1, r195lw r31, [r0, PT_PSR]96and r31, r31, r197.set nor198or r31, r31, r3099mtcr r31, cr0100nop101nop102nop103nop104nop105106lw r30, [r0, PT_CONDITION]107mtcr r30, cr1108nop109nop110nop111nop112nop113114lw r30, [r0, PT_CEH]115lw r31, [r0, PT_CEL]116mtcehl r30, r31117118.set r1119lw r1, [r0, PT_R1]120.set nor1121lw r2, [r0, PT_R2]122lw r3, [r0, PT_R3]123lw r4, [r0, PT_R4]124lw r5, [r0, PT_R5]125lw r6, [r0, PT_R6]126lw r7, [r0, PT_R7]127128lw r8, [r0, PT_R8]129lw r9, [r0, PT_R9]130lw r10, [r0, PT_R10]131lw r11, [r0, PT_R11]132lw r12, [r0, PT_R12]133lw r13, [r0, PT_R13]134lw r14, [r0, PT_R14]135lw r15, [r0, PT_R15]136137lw r16, [r0, PT_R16]138lw r17, [r0, PT_R17]139lw r18, [r0, PT_R18]140lw r19, [r0, PT_R19]141lw r20, [r0, PT_R20]142lw r21, [r0, PT_R21]143lw r22, [r0, PT_R22]144lw r23, [r0, PT_R23]145146lw r24, [r0, PT_R24]147lw r25, [r0, PT_R25]148lw r26, [r0, PT_R26]149lw r27, [r0, PT_R27]150lw r28, [r0, PT_R28]151lw r29, [r0, PT_R29]152153lw r30, [r0, PT_EPC]154lw r0, [r0, PT_R0]155mtcr r30, cr5156rte157.endm158159#endif /* __ASSEMBLY__ */160#endif /* _ASM_SCORE_ASMMACRO_H */161162163