OSDN Git Service

arm/arm64: smccc-1.1: Make return values unsigned long
authorMarc Zyngier <marc.zyngier@arm.com>
Fri, 24 Aug 2018 14:08:29 +0000 (15:08 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Oct 2018 23:59:26 +0000 (16:59 -0700)
commitc1baf3699d84af8dc242010263c91f6e2a0ce701
treebb590f777eaabed60d0cad7f46aadebb35fe354b
parent8ad1f551f802d7441938fca54a9459abdd169ab6
arm/arm64: smccc-1.1: Make return values unsigned long

[ Upstream commit 1d8f574708a3fb6f18c85486d0c5217df893c0cf ]

An unfortunate consequence of having a strong typing for the input
values to the SMC call is that it also affects the type of the
return values, limiting r0 to 32 bits and r{1,2,3} to whatever
was passed as an input.

Let's turn everything into "unsigned long", which satisfies the
requirements of both architectures, and allows for the full
range of return values.

Reported-by: Julien Grall <julien.grall@arm.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/arm-smccc.h