ARC: [SMP] Fix build failures for large NR_CPUS
authorVineet Gupta <vgupta@synopsys.com>
Fri, 1 Nov 2013 05:16:40 +0000 (10:46 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Wed, 6 Nov 2013 05:11:46 +0000 (10:41 +0530)
commit57e26e57454fae4f1d15c2e9fa965b7a8046ab34
tree8100ec071f56fbd4cd3a01747ce971235118f6f3
parent3aa4f80e410b3c14d987c42a90c31023c3081b46
ARC: [SMP] Fix build failures for large NR_CPUS

ST.as only takes S9 (255) for offset. This was going out of range when
accessing a task_struct field with 4k NR_CPUS (due to 128b of coumaks
itself in there).

Workaround by using an intermediate register to do the address scaling.

There is some duplication of fix for ctx_sw.c and ctx_sw_asm.S however
given that C version will go away soon I'm not bothering to factor out
the common code.

Reported-by: Noam Camus <noamc@ezchip.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/ctx_sw.c
arch/arc/kernel/ctx_sw_asm.S