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

Xu Kuohai xukuohai at huawei.com
Mon Jul 11 07:40:42 PDT 2022


On 7/11/2022 10:37 PM, Jean-Philippe Brucker wrote:
> 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)
> 

OK, will send v9 since v8 was just sent

> 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 at linaro.org>
>>>
>>> .
> .




More information about the linux-arm-kernel mailing list