Commit 114c3708 authored by Matt Redfearn's avatar Matt Redfearn Committed by Ralf Baechle

MIPS: R6: Constify r2_decoder_tables

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: default avatarMatt Redfearn <matt.redfearn@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/15289/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent ff2c8252
...@@ -600,7 +600,7 @@ static int ddivu_func(struct pt_regs *regs, u32 ir) ...@@ -600,7 +600,7 @@ static int ddivu_func(struct pt_regs *regs, u32 ir)
} }
/* R6 removed instructions for the SPECIAL opcode */ /* 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 }, { 0xfc1ff83f, 0x00000008, jr_func },
{ 0xfc00ffff, 0x00000018, mult_func }, { 0xfc00ffff, 0x00000018, mult_func },
{ 0xfc00ffff, 0x00000019, multu_func }, { 0xfc00ffff, 0x00000019, multu_func },
...@@ -867,7 +867,7 @@ static int dclo_func(struct pt_regs *regs, u32 ir) ...@@ -867,7 +867,7 @@ static int dclo_func(struct pt_regs *regs, u32 ir)
} }
/* R6 removed instructions for the SPECIAL2 opcode */ /* 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, 0x70000000, madd_func },
{ 0xfc00ffff, 0x70000001, maddu_func }, { 0xfc00ffff, 0x70000001, maddu_func },
{ 0xfc0007ff, 0x70000002, mul_func }, { 0xfc0007ff, 0x70000002, mul_func },
...@@ -881,9 +881,9 @@ static struct r2_decoder_table spec2_op_table[] = { ...@@ -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, 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; int err;
for (p = table; p->func; p++) { for (p = table; p->func; p++) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment