On 05-10-24, Andy Polyakov via cfarm-users wrote: > > > > We are happy to announce the addition of cfarm95, a BPI-F3 machine > > > > from BananaPi. This RISC-V machine is based on a SpacemiT K1 SoC > > > > with 8 SpacemiT X60 cores. The most interesting feature of this > > > > hardware is its implementation of the RVV 1.0 vector extension; > > > > > > Cool! There is a problem though. If an asynchronous signal, e.g. SIGALRM, > > > is > > > delivered to a thread that is executing vector instruction the application > > > crashes with SIGILL. I assume that return-from-signal code path doesn't > > > restore some processor state bit. Just in case anybody runs into it... > > > > Interesting! Do you think the issue comes from the compiler, from the > > libc, or from the kernel? Which compiler are you using? > > As implied I blame the kernel. I naturally might be wrong, but I base the > conclusion on the assumption that relevant processor state bits ought to be > privileged(*) and ultimately it's the kernel that reigns over that. It can't > be a compiler issue, because I write in assembly. Just in case for > reference, on a practical note. If I execute under debugger, the crashing > instruction is always different. Well, it has to be a vector one, but other > than that it's just random.
This commit looks like a possible fix: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=c27fa53b858b4ee6552a719aa599c250cf98a586 What do you think? It's been fixed in linux 6.9, so the vendor kernel based on 6.6 probably doesn't have it. I can try rebuilding a kernel with this patch. Baptiste _______________________________________________ cfarm-users mailing list cfarm-users@lists.tetaneutral.net https://lists.tetaneutral.net/listinfo/cfarm-users