Re: [PATCH bpf-next v7 4/4] bpf, arm64: bpf trampoline for arm64

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> > 
> > .



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux