[PATCH] smccc: Make constants available to assembly
Andrew Scull
ascull at google.com
Mon Jun 29 08:34:37 EDT 2020
On Thu, Jun 18, 2020 at 03:55:11PM +0100, Andrew Scull wrote:
> Move constants out of the C-only section of the header next to the other
> constants that are available to assembly.
>
> Signed-off-by: Andrew Scull <ascull at google.com>
> ---
> include/linux/arm-smccc.h | 44 +++++++++++++++++++--------------------
> 1 file changed, 22 insertions(+), 22 deletions(-)
>
> diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
> index 56d6a5c6e353..efcbde731f03 100644
> --- a/include/linux/arm-smccc.h
> +++ b/include/linux/arm-smccc.h
> @@ -81,6 +81,28 @@
> ARM_SMCCC_SMC_32, \
> 0, 0x7fff)
>
> +/* Paravirtualised time calls (defined by ARM DEN0057A) */
> +#define ARM_SMCCC_HV_PV_TIME_FEATURES \
> + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> + ARM_SMCCC_SMC_64, \
> + ARM_SMCCC_OWNER_STANDARD_HYP, \
> + 0x20)
> +
> +#define ARM_SMCCC_HV_PV_TIME_ST \
> + ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> + ARM_SMCCC_SMC_64, \
> + ARM_SMCCC_OWNER_STANDARD_HYP, \
> + 0x21)
> +
> +/*
> + * Return codes defined in ARM DEN 0070A
> + * ARM DEN 0070A is now merged/consolidated into ARM DEN 0028 C
> + */
> +#define SMCCC_RET_SUCCESS 0
> +#define SMCCC_RET_NOT_SUPPORTED -1
> +#define SMCCC_RET_NOT_REQUIRED -2
> +#define SMCCC_RET_INVALID_PARAMETER -3
> +
> #ifndef __ASSEMBLY__
>
> #include <linux/linkage.h>
> @@ -331,15 +353,6 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, unsigned long a1,
> */
> #define arm_smccc_1_1_hvc(...) __arm_smccc_1_1(SMCCC_HVC_INST, __VA_ARGS__)
>
> -/*
> - * Return codes defined in ARM DEN 0070A
> - * ARM DEN 0070A is now merged/consolidated into ARM DEN 0028 C
> - */
> -#define SMCCC_RET_SUCCESS 0
> -#define SMCCC_RET_NOT_SUPPORTED -1
> -#define SMCCC_RET_NOT_REQUIRED -2
> -#define SMCCC_RET_INVALID_PARAMETER -3
> -
> /*
> * Like arm_smccc_1_1* but always returns SMCCC_RET_NOT_SUPPORTED.
> * Used when the SMCCC conduit is not defined. The empty asm statement
> @@ -385,18 +398,5 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, unsigned long a1,
> method; \
> })
>
> -/* Paravirtualised time calls (defined by ARM DEN0057A) */
> -#define ARM_SMCCC_HV_PV_TIME_FEATURES \
> - ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> - ARM_SMCCC_SMC_64, \
> - ARM_SMCCC_OWNER_STANDARD_HYP, \
> - 0x20)
> -
> -#define ARM_SMCCC_HV_PV_TIME_ST \
> - ARM_SMCCC_CALL_VAL(ARM_SMCCC_FAST_CALL, \
> - ARM_SMCCC_SMC_64, \
> - ARM_SMCCC_OWNER_STANDARD_HYP, \
> - 0x21)
> -
> #endif /*__ASSEMBLY__*/
> #endif /*__LINUX_ARM_SMCCC_H*/
> --
> 2.27.0.290.gba653c62da-goog
>
ping :)
More information about the linux-arm-kernel
mailing list