ANDROID: arm-smccc: fix clang build

The SMCCC 1.1 helpers rely on a gcc extension to accept obsolete AArch32
register names in AArch64 mode, changing rN to xN or wN based on

Unfortunately, as of April 2018, current clang releases don't support this
extension.  Support for this syntax has landed in LLVM SVN
( and is queued up for LLVM 6.0.1.

In the meantime, to keep from breaking clang kernel builds, we'll
temporarily switch to using xN instead of rN on ARM64.  These helpers
were backported to linux-stable for two specific callers, and both cases
should use the full 64-bit register width.

Fixes: ac63fdb4a2b2 ("arm/arm64: smccc: Implement SMCCC v1.1 inline primitive")
Change-Id: I1eb14f7b6674f7dffcad9572e409f6bcdba69610
Signed-off-by: Greg Hackmann <>
1 file changed