summaryrefslogtreecommitdiff
path: root/include/asm-alpha/dma-mapping.h
diff options
context:
space:
mode:
authorIvan Kokshaysky <ink@jurassic.park.msu.ru>2008-06-21 03:25:39 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-06-21 03:46:10 +0400
commit9267b4b3880d00dc2dab90f1d817c856939114f7 (patch)
tree9823a76657f257d71aac2a5f4374c56560dd2e6e /include/asm-alpha/dma-mapping.h
parentd70ac829b7f42d7ef4f879635c6a772b0b4ed0a2 (diff)
downloadlinux-9267b4b3880d00dc2dab90f1d817c856939114f7.tar.xz
alpha: fix module load failures on smp (bug #10926)
To calculate addresses of locally defined variables, GCC uses 32-bit displacement from the GP. Which doesn't work for per cpu variables in modules, as an offset to the kernel per cpu area is way above 4G. The workaround is to force allocation of a GOT entry for per cpu variable using ldq instruction with a 'literal' relocation. I had to use custom asm/percpu.h, as a required argument magic doesn't work with asm-generic/percpu.h macros. Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/asm-alpha/dma-mapping.h')
0 files changed, 0 insertions, 0 deletions