All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabrice Bellard <fabrice@bellard.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] linux-user sysinfo support & do_sigreturn fix	for i386-user
Date: Sat, 19 Jun 2004 19:01:30 +0200	[thread overview]
Message-ID: <40D4716A.3080402@bellard.org> (raw)
In-Reply-To: <BAY12-F124NLh7tps3W00017591@hotmail.com>

François Guimond wrote:

> First is the fix to signal handling.  When I paid attention to strace's 
> changes in sigprocmask, I realize that masks entering linux-user's 
> signal processing handler would be wrong leaving the handler.  Upon 
> further investigation I noticed that the mask was getting written in the 
> sig frame using __put_user but getting restored by simple assignment, so 
> in this case it would result in the wrong value as qemu-i386 was running 
> on a PowerPC with a different endianess than a x86.   Looking around in 
> the code I saw the 'generic' do_sigreturn used __get_user properly to 
> retrieve it, so I copied over that bit of code into the x86 
> do_sigreturn, and it fixed the deadlock problem I was experiencing 
> (which was caused by wrong sigprocmask).  Here's the related patch:

The code was buggy, but your patch is still not correct. I tried to make 
a correction. Try it !

> The next problem I was running into was the sysinfo not implemented 
> syscall.  The problem would just run in a loop waiting to get a decent 
> result from it, so I had to implement (so far tested by me and two 
> others, all running PowerMac G3s with qemu-i386 as the target).

OK. A small note: it is better now to use __get_user() and __put_user() 
to access to the target memory.

Fabrice.

      reply	other threads:[~2004-06-19 17:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-18 17:27 [Qemu-devel] [PATCH] linux-user sysinfo support & do_sigreturn fix for i386-user François Guimond
2004-06-19 17:01 ` Fabrice Bellard [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=40D4716A.3080402@bellard.org \
    --to=fabrice@bellard.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.