Skip to content

Commit

Permalink
MIPS: net: BPF: Replace RSIZE with SZREG
Browse files Browse the repository at this point in the history
The RSZIE was used to determine the register width but MIPS
already defines SZREG so use that instead.

Cc: netdev@vger.kernel.org
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Alexei Starovoitov <ast@plumgrid.com>
Cc: Daniel Borkmann <dborkman@redhat.com>
Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: linux-kernel@vger.kernel.org
Cc: linux-mips@linux-mips.org
Cc: netdev@vger.kernel.org
Patchwork: http://patchwork.linux-mips.org/patch/10526/
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Markos Chandras authored and Ralf Baechle committed Jun 21, 2015
1 parent ad152bd commit 5e0c561
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions arch/mips/net/bpf_jit.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
#include <linux/string.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <asm/asm.h>
#include <asm/bitops.h>
#include <asm/cacheflush.h>
#include <asm/cpu-features.h>
Expand Down Expand Up @@ -60,7 +61,6 @@
* ----------------------------------------------------
*/

#define RSIZE (sizeof(unsigned long))
#define ptr typeof(unsigned long)

/* ABI specific return values */
Expand Down Expand Up @@ -576,12 +576,12 @@ static void save_bpf_jit_regs(struct jit_ctx *ctx, unsigned offset)
/* Argument save area */
if (config_enabled(CONFIG_64BIT))
/* Bottom of current frame */
real_off = align_sp(offset) - RSIZE;
real_off = align_sp(offset) - SZREG;
else
/* Top of previous frame */
real_off = align_sp(offset) + RSIZE;
real_off = align_sp(offset) + SZREG;
emit_store_stack_reg(MIPS_R_A0, r_sp, real_off, ctx);
emit_store_stack_reg(MIPS_R_A1, r_sp, real_off + RSIZE, ctx);
emit_store_stack_reg(MIPS_R_A1, r_sp, real_off + SZREG, ctx);

real_off = 0;
}
Expand All @@ -592,7 +592,7 @@ static void save_bpf_jit_regs(struct jit_ctx *ctx, unsigned offset)
if ((sflags >> i) & 0x1) {
emit_store_stack_reg(MIPS_R_S0 + i, r_sp, real_off,
ctx);
real_off += RSIZE;
real_off += SZREG;
}
i++;
tmp_flags >>= 1;
Expand All @@ -601,13 +601,13 @@ static void save_bpf_jit_regs(struct jit_ctx *ctx, unsigned offset)
/* save return address */
if (ctx->flags & SEEN_CALL) {
emit_store_stack_reg(r_ra, r_sp, real_off, ctx);
real_off += RSIZE;
real_off += SZREG;
}

/* Setup r_M leaving the alignment gap if necessary */
if (ctx->flags & SEEN_MEM) {
if (real_off % (RSIZE * 2))
real_off += RSIZE;
if (real_off % (SZREG * 2))
real_off += SZREG;
emit_long_instr(ctx, ADDIU, r_M, r_sp, real_off);
}
}
Expand All @@ -621,12 +621,12 @@ static void restore_bpf_jit_regs(struct jit_ctx *ctx,
if (ctx->flags & SEEN_CALL) {
if (config_enabled(CONFIG_64BIT))
/* Bottom of current frame */
real_off = align_sp(offset) - RSIZE;
real_off = align_sp(offset) - SZREG;
else
/* Top of previous frame */
real_off = align_sp(offset) + RSIZE;
real_off = align_sp(offset) + SZREG;
emit_load_stack_reg(MIPS_R_A0, r_sp, real_off, ctx);
emit_load_stack_reg(MIPS_R_A1, r_sp, real_off + RSIZE, ctx);
emit_load_stack_reg(MIPS_R_A1, r_sp, real_off + SZREG, ctx);

real_off = 0;
}
Expand All @@ -638,7 +638,7 @@ static void restore_bpf_jit_regs(struct jit_ctx *ctx,
if ((sflags >> i) & 0x1) {
emit_load_stack_reg(MIPS_R_S0 + i, r_sp, real_off,
ctx);
real_off += RSIZE;
real_off += SZREG;
}
i++;
tmp_flags >>= 1;
Expand All @@ -658,7 +658,7 @@ static unsigned int get_stack_depth(struct jit_ctx *ctx)


/* How may s* regs do we need to preserved? */
sp_off += hweight32(ctx->flags >> SEEN_SREG_SFT) * RSIZE;
sp_off += hweight32(ctx->flags >> SEEN_SREG_SFT) * SZREG;

if (ctx->flags & SEEN_MEM)
sp_off += 4 * BPF_MEMWORDS; /* BPF_MEMWORDS are 32-bit */
Expand All @@ -674,7 +674,7 @@ static unsigned int get_stack_depth(struct jit_ctx *ctx)
* this space ourselves. We need to preserve $ra as well.
*/
sp_off += config_enabled(CONFIG_64BIT) ?
(ARGS_USED_BY_JIT + 1) * RSIZE : RSIZE;
(ARGS_USED_BY_JIT + 1) * SZREG : SZREG;

return sp_off;
}
Expand Down

0 comments on commit 5e0c561

Please sign in to comment.