/* * Copyright 2016, Cyril Bur, IBM Corp. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version * 2 of the License, or (at your option) any later version. */ #ifndef _SELFTESTS_POWERPC_FPU_ASM_H #define _SELFTESTS_POWERPC_FPU_ASM_H #include "basic_asm.h" #define PUSH_FPU(stack_size) \ stfd f31,(stack_size + STACK_FRAME_MIN_SIZE)(%r1); \ stfd f30,(stack_size + STACK_FRAME_MIN_SIZE - 8)(%r1); \ stfd f29,(stack_size + STACK_FRAME_MIN_SIZE - 16)(%r1); \ stfd f28,(stack_size + STACK_FRAME_MIN_SIZE - 24)(%r1); \ stfd f27,(stack_size + STACK_FRAME_MIN_SIZE - 32)(%r1); \ stfd f26,(stack_size + STACK_FRAME_MIN_SIZE - 40)(%r1); \ stfd f25,(stack_size + STACK_FRAME_MIN_SIZE - 48)(%r1); \ stfd f24,(stack_size + STACK_FRAME_MIN_SIZE - 56)(%r1); \ stfd f23,(stack_size + STACK_FRAME_MIN_SIZE - 64)(%r1); \ stfd f22,(stack_size + STACK_FRAME_MIN_SIZE - 72)(%r1); \ stfd f21,(stack_size + STACK_FRAME_MIN_SIZE - 80)(%r1); \ stfd f20,(stack_size + STACK_FRAME_MIN_SIZE - 88)(%r1); \ stfd f19,(stack_size + STACK_FRAME_MIN_SIZE - 96)(%r1); \ stfd f18,(stack_size + STACK_FRAME_MIN_SIZE - 104)(%r1); \ stfd f17,(stack_size + STACK_FRAME_MIN_SIZE - 112)(%r1); \ stfd f16,(stack_size + STACK_FRAME_MIN_SIZE - 120)(%r1); \ stfd f15,(stack_size + STACK_FRAME_MIN_SIZE - 128)(%r1); \ stfd f14,(stack_size + STACK_FRAME_MIN_SIZE - 136)(%r1); #define POP_FPU(stack_size) \ lfd f31,(stack_size + STACK_FRAME_MIN_SIZE)(%r1); \ lfd f30,(stack_size + STACK_FRAME_MIN_SIZE - 8)(%r1); \ lfd f29,(stack_size + STACK_FRAME_MIN_SIZE - 16)(%r1); \ lfd f28,(stack_size + STACK_FRAME_MIN_SIZE - 24)(%r1); \ lfd f27,(stack_size + STACK_FRAME_MIN_SIZE - 32)(%r1); \ lfd f26,(stack_size + STACK_FRAME_MIN_SIZE - 40)(%r1); \ lfd f25,(stack_size + STACK_FRAME_MIN_SIZE - 48)(%r1); \ lfd f24,(stack_size + STACK_FRAME_MIN_SIZE - 56)(%r1); \ lfd f23,(stack_size + STACK_FRAME_MIN_SIZE - 64)(%r1); \ lfd f22,(stack_size + STACK_FRAME_MIN_SIZE - 72)(%r1); \ lfd f21,(stack_size + STACK_FRAME_MIN_SIZE - 80)(%r1); \ lfd f20,(stack_size + STACK_FRAME_MIN_SIZE - 88)(%r1); \ lfd f19,(stack_size + STACK_FRAME_MIN_SIZE - 96)(%r1); \ lfd f18,(stack_size + STACK_FRAME_MIN_SIZE - 104)(%r1); \ lfd f17,(stack_size + STACK_FRAME_MIN_SIZE - 112)(%r1); \ lfd f16,(stack_size + STACK_FRAME_MIN_SIZE - 120)(%r1); \ lfd f15,(stack_size + STACK_FRAME_MIN_SIZE - 128)(%r1); \ lfd f14,(stack_size + STACK_FRAME_MIN_SIZE - 136)(%r1); /* * Careful calling this, it will 'clobber' fpu (by design) * Don't call this from C */ FUNC_START(load_fpu) lfd f14,0(r3) lfd f15,8(r3) lfd f16,16(r3) lfd f17,24(r3) lfd f18,32(r3) lfd f19,40(r3) lfd f20,48(r3) lfd f21,56(r3) lfd f22,64(r3) lfd f23,72(r3) lfd f24,80(r3) lfd f25,88(r3) lfd f26,96(r3) lfd f27,104(r3) lfd f28,112(r3) lfd f29,120(r3) lfd f30,128(r3) lfd f31,136(r3) blr FUNC_END(load_fpu) #endif /* _SELFTESTS_POWERPC_FPU_ASM_H */ elect name='context' onchange='this.form.submit();'>space:mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-02-03 09:54:07 +0000
committerLinus Torvalds <torvalds@linux-foundation.org>2017-02-03 08:28:25 -0800
commit4b9eee96fcb361a5e16a8d2619825e8a048f81f7 (patch)
tree1347fe88fba35018e2d9f14be79a7feb29e75151
parent71810db27c1c853b335675bee335d893bc3d324b (diff)
module: unify absolute krctab definitions for 32-bit and 64-bit
The previous patch introduced a separate inline asm version of the krcrctab declaration template for use with 64-bit architectures, which cannot refer to ELF symbols using 32-bit quantities. This declaration should be equivalent to the C one for 32-bit architectures, but just in case - unify them in a separate patch, which can simply be dropped if it turns out to break anything. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat
-rw-r--r--include/linux/export.h7
1 files changed, 0 insertions, 7 deletions
diff --git a/include/linux/export.h b/include/linux/export.h