From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KYPbw-0005sC-8q for qemu-devel@nongnu.org; Wed, 27 Aug 2008 14:19:16 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KYPbu-0005rg-Od for qemu-devel@nongnu.org; Wed, 27 Aug 2008 14:19:15 -0400 Received: from [199.232.76.173] (port=37690 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KYPbu-0005rc-Jx for qemu-devel@nongnu.org; Wed, 27 Aug 2008 14:19:14 -0400 Received: from wf-out-1314.google.com ([209.85.200.170]:47156) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KYPbu-000467-9d for qemu-devel@nongnu.org; Wed, 27 Aug 2008 14:19:14 -0400 Received: by wf-out-1314.google.com with SMTP id 27so2847465wfd.4 for ; Wed, 27 Aug 2008 11:19:12 -0700 (PDT) Message-ID: Date: Wed, 27 Aug 2008 21:19:12 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] linux-user exception handling In-Reply-To: <20080827132255.U54074@stanley.csl.cornell.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_29039_3035282.1219861152628" References: <20080825162105.T45325@stanley.csl.cornell.edu> <20080827125223.H53558@stanley.csl.cornell.edu> <20080827132255.U54074@stanley.csl.cornell.edu> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org ------=_Part_29039_3035282.1219861152628 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 8/27/08, Vince Weaver wrote: > On Wed, 27 Aug 2008, Blue Swirl wrote: > > > > > How is that possible, because V9 class CPUs do not have "wim"? > > > > I am running v8plus binaries, which are a horrible mix of v8 and v9 code. > > But you are right, "wim" was deleted for v9. The reason I did the code the > way I did was because the restore_window() function was updating the > register (even on sparc64). > > So I guess the real fix is to implement proper save_window() and > restore_window(), and also flush_window(). Then make sure that "ta 3" on v9 > calls the proper flush_window() code. > > As a temporary workaround though the patch I posted seems to work. With this patch I get the sequence AA to MM and then back to AA. Strangely Sparc32 prints AA to MM and then back to BB, never reaches AA. ------=_Part_29039_3035282.1219861152628 Content-Type: plain/text; name=fix_s32p_wim.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fke9sbie Content-Disposition: attachment; filename=fix_s32p_wim.diff SW5kZXg6IHFlbXUvbGludXgtdXNlci9tYWluLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2xp bnV4LXVzZXIvbWFpbi5jCTIwMDgtMDgtMjcgMTc6MjI6MTIuMDAwMDAwMDAwICswMDAwCisrKyBx ZW11L2xpbnV4LXVzZXIvbWFpbi5jCTIwMDgtMDgtMjcgMTg6MTQ6NTguMDAwMDAwMDAwICswMDAw CkBAIC04MDgsMTEgKzgwOCwxNiBAQAogCiBzdGF0aWMgdm9pZCByZXN0b3JlX3dpbmRvdyhDUFVT UEFSQ1N0YXRlICplbnYpCiB7Ci0gICAgdW5zaWduZWQgaW50IG5ld193aW0sIGksIGN3cDE7Cisj aWZuZGVmIFRBUkdFVF9TUEFSQzY0CisgICAgdW5zaWduZWQgaW50IG5ld193aW07CisjZW5kaWYK KyAgICB1bnNpZ25lZCBpbnQgaSwgY3dwMTsKICAgICBhYmlfdWxvbmcgc3BfcHRyOwogCisjaWZu ZGVmIFRBUkdFVF9TUEFSQzY0CiAgICAgbmV3X3dpbSA9ICgoZW52LT53aW0gPDwgMSkgfCAoZW52 LT53aW0gPj4gKGVudi0+bndpbmRvd3MgLSAxKSkpICYKICAgICAgICAgKCgxTEwgPDwgZW52LT5u d2luZG93cykgLSAxKTsKKyNlbmRpZgogCiAgICAgLyogcmVzdG9yZSB0aGUgaW52YWxpZCB3aW5k b3cgKi8KICAgICBjd3AxID0gY3B1X2N3cF9pbmMoZW52LCBlbnYtPmN3cCArIDEpOwpAQCAtODI2 LDEyICs4MzEsMTMgQEAKICAgICAgICAgZ2V0X3VzZXJfdWFsKGVudi0+cmVnYmFzZVtnZXRfcmVn X2luZGV4KGVudiwgY3dwMSwgOCArIGkpXSwgc3BfcHRyKTsKICAgICAgICAgc3BfcHRyICs9IHNp emVvZihhYmlfdWxvbmcpOwogICAgIH0KLSAgICBlbnYtPndpbSA9IG5ld193aW07CiAjaWZkZWYg VEFSR0VUX1NQQVJDNjQKICAgICBlbnYtPmNhbnJlc3RvcmUrKzsKICAgICBpZiAoZW52LT5jbGVh bndpbiA8IGVudi0+bndpbmRvd3MgLSAxKQogICAgICAgICBlbnYtPmNsZWFud2luKys7CiAgICAg ZW52LT5jYW5zYXZlLS07CisjZWxzZQorICAgIGVudi0+d2ltID0gbmV3X3dpbTsKICNlbmRpZgog fQogCkBAIC04NDMsMTQgKzg0OSwyMyBAQAogICAgIGZvcig7OykgewogICAgICAgICAvKiBpZiBy ZXN0b3JlIHdvdWxkIGludm9rZSByZXN0b3JlX3dpbmRvdygpLCB0aGVuIHdlIGNhbiBzdG9wICov CiAgICAgICAgIGN3cDEgPSBjcHVfY3dwX2luYyhlbnYsIGVudi0+Y3dwICsgb2Zmc2V0KTsKKyNp Zm5kZWYgVEFSR0VUX1NQQVJDNjQKICAgICAgICAgaWYgKGVudi0+d2ltICYgKDEgPDwgY3dwMSkp CiAgICAgICAgICAgICBicmVhazsKKyNlbHNlCisgICAgICAgIGlmIChlbnYtPmNhbnJlc3RvcmUg PT0gMCkKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBlbnYtPmNhbnNhdmUrKzsKKyAgICAg ICAgZW52LT5jYW5yZXN0b3JlLS07CisjZW5kaWYKICAgICAgICAgc2F2ZV93aW5kb3dfb2Zmc2V0 KGVudiwgY3dwMSk7CiAgICAgICAgIG9mZnNldCsrOwogICAgIH0KLSAgICAvKiBzZXQgd2ltIHNv IHRoYXQgcmVzdG9yZSB3aWxsIHJlbG9hZCB0aGUgcmVnaXN0ZXJzICovCiAgICAgY3dwMSA9IGNw dV9jd3BfaW5jKGVudiwgZW52LT5jd3AgKyAxKTsKKyNpZm5kZWYgVEFSR0VUX1NQQVJDNjQKKyAg ICAvKiBzZXQgd2ltIHNvIHRoYXQgcmVzdG9yZSB3aWxsIHJlbG9hZCB0aGUgcmVnaXN0ZXJzICov CiAgICAgZW52LT53aW0gPSAxIDw8IGN3cDE7CisjZW5kaWYKICNpZiBkZWZpbmVkKERFQlVHX1dJ TikKICAgICBwcmludGYoImZsdXNoX3dpbmRvd3M6IG5iPSVkXG4iLCBvZmZzZXQgLSAxKTsKICNl bmRpZgo= ------=_Part_29039_3035282.1219861152628--