]> git.hungrycats.org Git - linux/commit
parisc: fix out-of-register compiler error in ldcw inline assembler function
authorJohn David Anglin <dave.anglin@bell.net>
Sun, 14 Dec 2014 15:49:11 +0000 (10:49 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 Jan 2015 16:29:39 +0000 (08:29 -0800)
commit52925954eb7d35287c51afd152ad4e237758f4f4
treefa0beb5d0e15db16514c7e2d71e11d7e212e1fa2
parent31b6929b577d0f4594967029944ca95ef256312f
parisc: fix out-of-register compiler error in ldcw inline assembler function

commit 45db07382a5c78b0c43b3b0002b63757fb60e873 upstream.

The __ldcw macro has a problem when its argument needs to be reloaded from
memory. The output memory operand and the input register operand both need to
be reloaded using a register in class R1_REGS when generating 64-bit code.
This fails because there's only a single register in the class. Instead, use a
memory clobber. This also makes the __ldcw macro a compiler memory barrier.

Signed-off-by: John David Anglin <dave.anglin@bell.net>
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/parisc/include/asm/ldcw.h