Auto-enabling V unit and/or use of elf attributes (was Re: Adding V-ext regs to signal context w/o expanding kernel struct sigcontext to avoid glibc ABI break)
Richard Henderson
richard.henderson at linaro.org
Tue Jan 10 20:57:35 PST 2023
On 1/10/23 20:28, Jeff Law wrote:
>
>
> On 1/10/23 18:22, Richard Henderson wrote:
>> On 1/10/23 10:07, Vineet Gupta wrote:
>>> Yes bulk of glibc might not have vector code, but those V ifunc routines do and IMO
>>> this information needs to be recorded somewhere in the elf. Case in point being the
>>> current issue with how to enable V unit. Community wants a per-process enable, using an
>>> explicit prctl from userspace (since RV doesn't have fault-on-first use hardware
>>> mechanism unlike some of the other arches). But how does the glibc loader know to
>>> invoke prctl. We can't just rely on user env GLIBC_TUNABLE etc since that might not be
>>> accurate. It needs somethign concrete which IMO can come from elf attributes. If not,
>>> do you have suggestions on how to solve this issue ?
>>
>> Why not just fault on first use to enable? That's vastly less complicated than trying
>> to plumb anything through elf resulting in a prctl.
> Well, the answer is in Vineet's paragraph -- the hardware apparently doesn't have
> fault-on-first-use which is mighty unfortunate.
Nonsense -- sstatus.vs stores {off, initial, clean, dirty} state, just like fpu.
Now treat the vector unit just like fpu lazy migration.
r~
More information about the linux-riscv
mailing list