arm/arm64: smccc: Make function identifiers an unsigned quantity
Function identifiers are a 32bit, unsigned quantity. But we never tell so to the compiler, resulting in the following: 4ac: b26187e0 mov x0, #0xffffffff80000001 We thus rely on the firmware narrowing it for us, which is not always a reasonable expectation. Cc: stable@vger.kernel.org Reported-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Robin Murphy <robin.murphy@arm.com> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:

committed by
Catalin Marinas

parent
e78eef554a
commit
ded4c39e93
@@ -14,14 +14,16 @@
|
|||||||
#ifndef __LINUX_ARM_SMCCC_H
|
#ifndef __LINUX_ARM_SMCCC_H
|
||||||
#define __LINUX_ARM_SMCCC_H
|
#define __LINUX_ARM_SMCCC_H
|
||||||
|
|
||||||
|
#include <uapi/linux/const.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file provides common defines for ARM SMC Calling Convention as
|
* This file provides common defines for ARM SMC Calling Convention as
|
||||||
* specified in
|
* specified in
|
||||||
* http://infocenter.arm.com/help/topic/com.arm.doc.den0028a/index.html
|
* http://infocenter.arm.com/help/topic/com.arm.doc.den0028a/index.html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ARM_SMCCC_STD_CALL 0
|
#define ARM_SMCCC_STD_CALL _AC(0,U)
|
||||||
#define ARM_SMCCC_FAST_CALL 1
|
#define ARM_SMCCC_FAST_CALL _AC(1,U)
|
||||||
#define ARM_SMCCC_TYPE_SHIFT 31
|
#define ARM_SMCCC_TYPE_SHIFT 31
|
||||||
|
|
||||||
#define ARM_SMCCC_SMC_32 0
|
#define ARM_SMCCC_SMC_32 0
|
||||||
|
Reference in New Issue
Block a user