This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] mips: Do not include hi and lo in __SYSCALL_CLOBBERS for R6


On Tue, 19 Nov 2019, Dragan Mladjenovic wrote:

> > What is the kernel ABI on r6 systems with the DSP extension - does the
> > kernel ABI permit the kernel to clobber those registers on syscall return
> > or not?  This patch looks like it's only safe if the kernel guarantees it
> > will never clobber those registers on r6 (or later), regardless of
> > instruction set extensions present.
> 
> The kernel is not allowed to use DSP ASE. From what I see the DSP state 
> is not restored on syscall exit. Only some vendor specific extension are 
> allowed in the kernel. From what I understand that on "happy path" 
> kernel just saves some registers and relies on C ABI to preserve the 
> rest. The use of hi and lo is result of them not being preserved across 
> the function calls in C.

Thanks.  If this means the kernel always preserves hi and lo for r6, 
regardless of extensions available, then the patch is OK to commit.  Note 
that we no longer include GNU-style ChangeLog entries in commit messages.

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]