[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ysw1nSxQUghvY/eY@myrica>
Date: Mon, 11 Jul 2022 15:37:17 +0100
From: Jean-Philippe Brucker <jean-philippe@...aro.org>
To: Xu Kuohai <xukuohai@...wei.com>
Cc: bpf@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
Will Deacon <will@...nel.org>, KP Singh <kpsingh@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Catalin Marinas <catalin.marinas@....com>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>,
Andrii Nakryiko <andrii@...nel.org>,
Zi Shen Lim <zlim.lnx@...il.com>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
John Fastabend <john.fastabend@...il.com>,
"David S . Miller" <davem@...emloft.net>,
Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>,
David Ahern <dsahern@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, x86@...nel.org,
"H . Peter Anvin" <hpa@...or.com>,
Jakub Kicinski <kuba@...nel.org>,
Jesper Dangaard Brouer <hawk@...nel.org>,
Russell King <rmk+kernel@...linux.org.uk>,
James Morse <james.morse@....com>,
Hou Tao <houtao1@...wei.com>,
Jason Wang <wangborong@...rlc.com>
Subject: Re: [PATCH bpf-next v7 4/4] bpf, arm64: bpf trampoline for arm64
On Mon, Jul 11, 2022 at 10:16:00PM +0800, Xu Kuohai wrote:
> >> + if (save_ret)
> >> + emit(A64_STR64I(p->jited ? r0 : A64_R(0), A64_SP, retval_off),
> >> + ctx);
> >
> > This should be only A64_R(0), not r0. r0 happens to equal A64_R(0) when
> > jitted due to the way build_epilogue() builds the function at the moment,
> > but we shouldn't rely on that.
> >
>
> looks like I misunderstood something, will change it to:
>
> /* store return value, which is held in x0 for interpreter and in
> * bpf register r0 for JIT,
It's simpler than that: in both cases the return value is in x0 because
the function follows the procedure call standard. You could drop the
comment to avoid confusion and only do the change to A64_R(0)
Thanks,
Jean
>
>
> but r0 happens to equal x0 due to the
> * way build_epilogue() builds the JIT image.
> */
> if (save_ret)
> emit(A64_STR64I(A64_R(0), A64_SP, retval_off), ctx);
>
> > Apart from that, for the series
> >
> > Reviewed-by: Jean-Philippe Brucker <jean-philippe@...aro.org>
> >
> > .
Powered by blists - more mailing lists