From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Message-ID: <17269.14127.936147.778781@cargo.ozlabs.ibm.com> Date: Sat, 12 Nov 2005 11:28:31 +1100 From: Paul Mackerras To: David Woodhouse In-Reply-To: <1131745047.21212.194.camel@hades.cambridge.redhat.com> References: <1131745047.21212.194.camel@hades.cambridge.redhat.com> Cc: linuxppc-dev@ozlabs.org Subject: Re: [RFC] Attempt to clean up sigsuspend et al List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , David Woodhouse writes: > This is an attempt to get rid of it all, motivated mostly because I want > to add two _new_ functions which would need such treatment (pselect, > ppoll). > > We define a new thread flag TIF_RESTOREALL which is set by the syscall > which needs this treatment, and make the syscall return path honour it. > This seems to work as far as I've tested it (i.e. the system boots) for > ppc64, but I haven't even attempted to compile the 32-bit version yet. Ummm, I don't see where you save the non-volatile GPRs to the exception frame _before_ do_signal (called from within *_sigsuspend) copies them to the user stack... Paul.