From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.20) id 19OyHp-0004ns-19 for qemu-devel@nongnu.org; Sun, 08 Jun 2003 07:24:33 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.20) id 19OyH1-0004Y6-Lu for qemu-devel@nongnu.org; Sun, 08 Jun 2003 07:23:44 -0400 Received: from pizda.ninka.net ([216.101.162.242]) by monty-python.gnu.org with esmtp (Exim 4.20) id 19OyFS-0004FI-Jn for qemu-devel@nongnu.org; Sun, 08 Jun 2003 07:22:06 -0400 Date: Sun, 08 Jun 2003 04:19:17 -0700 (PDT) Message-Id: <20030608.041917.21922788.davem@redhat.com> Subject: Re: [Qemu-devel] Sparc port From: "David S. Miller" In-Reply-To: <3EE3158B.5090901@free.fr> References: <3EE30B8E.5070600@free.fr> <20030608.032040.08328976.davem@redhat.com> <3EE3158B.5090901@free.fr> Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , To: qemu-devel@nongnu.org, fabrice.bellard@free.fr From: Fabrice Bellard Date: Sun, 08 Jun 2003 12:52:59 +0200 David S. Miller wrote: > It is the only clean way to deal with this sparc issue in the long > term. I still have a problem: if a helper function modifies an x86 register which is in a sparc register (say EAX in %l0), then it cannot work because save/restore are done at the beginning of the helper. Then we probably should, as you seem to suggest, generate the helper functions just like we generate code to execute x86 instructions. BTW, another question: how can we know on Sparc if a SIGSEGV or SIGBUS was generated because of a read or a write ? The Linux kernel has the info but it does not seem to be copied to user space. It may be interesting to find a standard way to indicate if it is a read or write which caused the fault (using a field in siginfo_t would be nice). "si_info" is passed into the thread, but unfortunately only when an rt signal frame is used. I can't change the existing non-rt signal frame layout else I'll break a ton of applications, and in particular GCC exception handling.