[U-Boot] [PATCH v2] arm: fix hvc call

Alexander Graf agraf at suse.de
Mon Feb 25 13:08:59 UTC 2019



> Am 25.02.2019 um 02:11 schrieb Ibai Erkiaga <ibai.erkiaga-elorza at xilinx.com>:
> 
> HVC call makes use of 6 mandatory arguments rather than 7 in the same way
> as SMC calls. The 7th argument is optional (Client ID) for both HVC and
> SMC but is implemented as 16-bit parameter and register R7 or W7. The aim
> of this patch is just fix compilation error due to an invalid asm code in
> the HVC call so that's why the 7th argument is removed.
> 
> The issue does not report any error in a normal build as hvc_call is not
> used at all and is optimized by the compiler. Using -O0 triggers the
> error so the patch is intended to fix issues on a ongoing effor to build
> U-Boot with -O0.
> 
> Signed-off-by: Ibai Erkiaga <ibai.erkiaga-elorza at xilinx.com>

Reviewed-by: Alexander Graf <agraf at suse.de>

Alex

> ---
> 
> Changes in v2:
> - More comprehensive commit message
> 
> arch/arm/cpu/armv8/fwcall.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/arch/arm/cpu/armv8/fwcall.c b/arch/arm/cpu/armv8/fwcall.c
> index 9957c29..b0aca1b 100644
> --- a/arch/arm/cpu/armv8/fwcall.c
> +++ b/arch/arm/cpu/armv8/fwcall.c
> @@ -28,7 +28,6 @@ static void hvc_call(struct pt_regs *args)
>        "ldr x4, %4\n"
>        "ldr x5, %5\n"
>        "ldr x6, %6\n"
> -        "ldr x7, %7\n"
>        "hvc    #0\n"
>        "str x0, %0\n"
>        "str x1, %1\n"
> @@ -37,7 +36,7 @@ static void hvc_call(struct pt_regs *args)
>        : "+m" (args->regs[0]), "+m" (args->regs[1]),
>          "+m" (args->regs[2]), "+m" (args->regs[3])
>        : "m" (args->regs[4]), "m" (args->regs[5]),
> -          "m" (args->regs[6]), "m" (args->regs[7])
> +          "m" (args->regs[6])
>        : "x0", "x1", "x2", "x3", "x4", "x5", "x6", "x7",
>          "x8", "x9", "x10", "x11", "x12", "x13", "x14", "x15",
>          "x16", "x17");
> -- 
> 1.8.3.1
> 



More information about the U-Boot mailing list