STACK_FRAME_MIN_SIZE
#define STACK_USER_INT_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE + 16)
#define STACK_INT_FRAME_REGS (STACK_FRAME_MIN_SIZE + 16)
#define STACK_INT_FRAME_MARKER STACK_FRAME_MIN_SIZE
#define STACK_SWITCH_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE + 16)
#define STACK_SWITCH_FRAME_REGS (STACK_FRAME_MIN_SIZE + 16)
#define STACK_USER_INT_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE)
#define STACK_INT_FRAME_REGS STACK_FRAME_MIN_SIZE
#define STACK_INT_FRAME_MARKER (STACK_FRAME_MIN_SIZE - 16)
#define STACK_SWITCH_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE)
#define STACK_SWITCH_FRAME_REGS STACK_FRAME_MIN_SIZE
#define STACK_USER_INT_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE)
#define STACK_INT_FRAME_REGS STACK_FRAME_MIN_SIZE
#define STACK_INT_FRAME_MARKER (STACK_FRAME_MIN_SIZE - 8)
#define STACK_SWITCH_FRAME_SIZE (sizeof(struct pt_regs) + STACK_FRAME_MIN_SIZE)
#define STACK_SWITCH_FRAME_REGS STACK_FRAME_MIN_SIZE
[sp] "b" (sp), [offset] "i" (THREAD_SIZE - STACK_FRAME_MIN_SIZE),
[sp] "b" (sp), [offset] "i" (THREAD_SIZE - STACK_FRAME_MIN_SIZE),
sp -= STACK_FRAME_MIN_SIZE;
return validate_sp_size(sp, p, STACK_FRAME_MIN_SIZE);
THREAD_SIZE - STACK_FRAME_MIN_SIZE;
newsp > stack_end - STACK_FRAME_MIN_SIZE) {
stack_end -= STACK_FRAME_MIN_SIZE;
sp > stack_end - STACK_FRAME_MIN_SIZE) {
param_save_area_offset += STACK_FRAME_MIN_SIZE; /* param save area is past frame header */
param_save_area_offset += STACK_FRAME_MIN_SIZE; /* param save area is past frame header */
EMIT(PPC_RAW_STL(_R3, _R1, STACK_FRAME_MIN_SIZE + i * SZL));
bpf_frame_size = STACK_FRAME_MIN_SIZE;
STACK_FRAME_MIN_SIZE + ctx->stack_size));
#define BPF_PPC_STACKFRAME(ctx) (STACK_FRAME_MIN_SIZE + BPF_PPC_STACK_SAVE + (ctx)->stack_size)
return STACK_FRAME_MIN_SIZE + ctx->stack_size;
STACK_FRAME_MIN_SIZE + ctx->stack_size));
#define BPF_PPC_STACKFRAME (STACK_FRAME_MIN_SIZE + \
if (sp >= prev_sp + STACK_FRAME_MIN_SIZE)
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_STL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_LL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_STL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_LL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_STL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_LL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
PPC_STLU" 1, -"__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_STL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
PPC_LL" 3, "__stringify(STACK_FRAME_MIN_SIZE)"(1)\n"
" addi 1, 1, "__stringify(STACK_FRAME_MIN_SIZE)"\n"
#define __STACK_FRAME_PARAM(_param) (STACK_FRAME_MIN_SIZE + ((_param)*4))
PPC_STLU %r1, -(((_extra + 15) & ~15) + STACK_FRAME_MIN_SIZE)(%r1);
addi %r1, %r1, (((_extra + 15) & ~15) + STACK_FRAME_MIN_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);
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);
__PUSH_NVREGS(stack_size + STACK_FRAME_MIN_SIZE)
__PUSH_NVREGS(stack_size + STACK_FRAME_MIN_SIZE - (18 * 8))
__POP_NVREGS(stack_size + STACK_FRAME_MIN_SIZE)
__POP_NVREGS(stack_size + STACK_FRAME_MIN_SIZE - (18 * 8))