Re: [PATCH] RISC-V: support for vector register accesses via ptrace() in RISC-V Linux native

Maciej W. Rozycki
2023-08-10T13:56:01Z

On Thu, 10 Aug 2023, Maciej W. Rozycki wrote:

> > Does it make sense to you if we encapsulate this with a hwprobe syscall?
> > e.g provide a hwprobe entry to get system's VLENB. We will have to
> > increase and rearrange the buffer for NT_RISCV_VECTOR if we want to use
> > ptrace as the entry point for this purpose. I am not very sure if it'd be
> > too late to do though.
>
> No, how do you expect it to work with a core dump (that can be examined
> on a different system, or with a cross-debugger)? You need to change the
> API I'm afraid; it's unusable anyway. It's a pity the toolchain community
> wasn't consulted if you weren't sure how to design the interface. Better
> yet it would have been to implement the GDB side before the kernel part
> has been committed.

NB since this stuff went in with v6.5-rc1 and v6.5 hasn't been released
you can still back out the problematic change as no one is expected to use
RC stuff in production. Alternatively you can redefine NT_RISCV_VECTOR
for a corrected ABI, but I think it shouldn't be necessary. You just need
to act quickly as I guess there may be 1-2 further v6.5 RCs only and you
have to get with that to Linus right away. We can have a release or two
without NT_RISCV_VECTOR support for the otherwise included vector stuff,
it shouldn't be a big deal. There just won't be support for the debug
API.

CC-ing Linux ptrace/RISC-V maintainers now to bring their attention.

Maciej