[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