Skip to content

Commit

Permalink
MIPS: R6: Constify r2_decoder_tables
Browse files Browse the repository at this point in the history
The r2_decoder_tables are never modified. They are arrays of constant
values and as such should be declared const.

This change saves 256 bytes of kernel text, and 128 bytes of kernel data
(384 bytes total) on a 32r6el_defconfig (with SMP disabled)
Before:
   text	   data	    bss	    dec	    hex	filename
5576221	1080804	 267040	6924065	 69a721	vmlinux
After:
   text	   data	    bss	    dec	    hex	filename
5575965	1080676	 267040	6923681	 69a5a1	vmlinux

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15289/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
  • Loading branch information
Matt Redfearn authored and Ralf Baechle committed Aug 29, 2017
1 parent ff2c825 commit 114c370
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions arch/mips/kernel/mips-r2-to-r6-emul.c
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ static int ddivu_func(struct pt_regs *regs, u32 ir)
}

/* R6 removed instructions for the SPECIAL opcode */
static struct r2_decoder_table spec_op_table[] = {
static const struct r2_decoder_table spec_op_table[] = {
{ 0xfc1ff83f, 0x00000008, jr_func },
{ 0xfc00ffff, 0x00000018, mult_func },
{ 0xfc00ffff, 0x00000019, multu_func },
Expand Down Expand Up @@ -867,7 +867,7 @@ static int dclo_func(struct pt_regs *regs, u32 ir)
}

/* R6 removed instructions for the SPECIAL2 opcode */
static struct r2_decoder_table spec2_op_table[] = {
static const struct r2_decoder_table spec2_op_table[] = {
{ 0xfc00ffff, 0x70000000, madd_func },
{ 0xfc00ffff, 0x70000001, maddu_func },
{ 0xfc0007ff, 0x70000002, mul_func },
Expand All @@ -881,9 +881,9 @@ static struct r2_decoder_table spec2_op_table[] = {
};

static inline int mipsr2_find_op_func(struct pt_regs *regs, u32 inst,
struct r2_decoder_table *table)
const struct r2_decoder_table *table)
{
struct r2_decoder_table *p;
const struct r2_decoder_table *p;
int err;

for (p = table; p->func; p++) {
Expand Down

0 comments on commit 114c370

Please sign in to comment.