From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KauuF-0004fW-S6 for qemu-devel@nongnu.org; Wed, 03 Sep 2008 12:08:31 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KauuC-0004ex-BV for qemu-devel@nongnu.org; Wed, 03 Sep 2008 12:08:31 -0400 Received: from [199.232.76.173] (port=56718 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KauuC-0004er-4s for qemu-devel@nongnu.org; Wed, 03 Sep 2008 12:08:28 -0400 Received: from hs-out-0708.google.com ([64.233.178.241]:12145) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KauuB-0002MI-LT for qemu-devel@nongnu.org; Wed, 03 Sep 2008 12:08:27 -0400 Received: by hs-out-0708.google.com with SMTP id k27so294298hsc.2 for ; Wed, 03 Sep 2008 09:08:27 -0700 (PDT) Message-ID: Date: Wed, 3 Sep 2008 19:08:26 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] checking if linux-user address is mapped (sparc) In-Reply-To: <20080902165557.X88242@stanley.csl.cornell.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_29881_9817294.1220458106166" References: <20080902165557.X88242@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_29881_9817294.1220458106166 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/3/08, Vince Weaver wrote: > Hello > > so now I'm trying to get the vpr spec2k benchmarks going under > sparc32plus-linux-user > > In an optimized memory scanning routine the code is doing: > > ldxa [ %o0 ] #ASI_PNF, %o3 > > Which is a load from the "no fault" address space. > What this means is that even if you are loading from an invalid address, no > fault should occur. > > qemu of course segfaults when the address is invalid. > > Is there some way to check in linux-user if a virtual memory address is > mapped? That way it could be checked before the ldl_raw() is run? > > hopefully I am not misunderstanding the bug here. Could you test this patch? ------=_Part_29881_9817294.1220458106166 Content-Type: plain/text; name=no_fault_accesses.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fko57tcp Content-Disposition: attachment; filename=no_fault_accesses.diff SW5kZXg6IHFlbXUvdGFyZ2V0LXNwYXJjL29wX2hlbHBlci5jCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUu b3JpZy90YXJnZXQtc3BhcmMvb3BfaGVscGVyLmMJMjAwOC0wOS0wMyAxNTowMTo0Ny4wMDAwMDAw MDAgKzAwMDAKKysrIHFlbXUvdGFyZ2V0LXNwYXJjL29wX2hlbHBlci5jCTIwMDgtMDktMDMgMTU6 MjY6NTMuMDAwMDAwMDAwICswMDAwCkBAIC0xNDAyLDEwICsxNDAyLDE3IEBACiAgICAgYWRkcmVz c19tYXNrKGVudiwgJmFkZHIpOwogCiAgICAgc3dpdGNoIChhc2kpIHsKLSAgICBjYXNlIDB4ODA6 IC8vIFByaW1hcnkKICAgICBjYXNlIDB4ODI6IC8vIFByaW1hcnkgbm8tZmF1bHQKLSAgICBjYXNl IDB4ODg6IC8vIFByaW1hcnkgTEUKICAgICBjYXNlIDB4OGE6IC8vIFByaW1hcnkgbm8tZmF1bHQg TEUKKyAgICAgICAgaWYgKHBhZ2VfY2hlY2tfcmFuZ2UoYWRkciwgc2l6ZSwgUEFHRV9SRUFEKSA9 PSAtMSkgeworI2lmZGVmIERFQlVHX0FTSQorICAgICAgICAgICAgZHVtcF9hc2koInJlYWQgIiwg bGFzdF9hZGRyLCBhc2ksIHNpemUsIHJldCk7CisjZW5kaWYKKyAgICAgICAgICAgIHJldHVybiAw OworICAgICAgICB9CisgICAgICAgIC8vIEZhbGwgdGhyb3VnaAorICAgIGNhc2UgMHg4MDogLy8g UHJpbWFyeQorICAgIGNhc2UgMHg4ODogLy8gUHJpbWFyeSBMRQogICAgICAgICB7CiAgICAgICAg ICAgICBzd2l0Y2goc2l6ZSkgewogICAgICAgICAgICAgY2FzZSAxOgpAQCAtMTQyNCwxMCArMTQz MSwxNyBAQAogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwotICAgIGNh c2UgMHg4MTogLy8gU2Vjb25kYXJ5CiAgICAgY2FzZSAweDgzOiAvLyBTZWNvbmRhcnkgbm8tZmF1 bHQKLSAgICBjYXNlIDB4ODk6IC8vIFNlY29uZGFyeSBMRQogICAgIGNhc2UgMHg4YjogLy8gU2Vj b25kYXJ5IG5vLWZhdWx0IExFCisgICAgICAgIGlmIChwYWdlX2NoZWNrX3JhbmdlKGFkZHIsIHNp emUsIFBBR0VfUkVBRCkgPT0gLTEpIHsKKyNpZmRlZiBERUJVR19BU0kKKyAgICAgICAgICAgIGR1 bXBfYXNpKCJyZWFkICIsIGxhc3RfYWRkciwgYXNpLCBzaXplLCByZXQpOworI2VuZGlmCisgICAg ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQorICAgICAgICAvLyBGYWxsIHRocm91Z2gKKyAg ICBjYXNlIDB4ODE6IC8vIFNlY29uZGFyeQorICAgIGNhc2UgMHg4OTogLy8gU2Vjb25kYXJ5IExF CiAgICAgICAgIC8vIFhYWAogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgpAQCAtMTU2NCwx MiArMTU3OCwxOSBAQAogCiAgICAgaGVscGVyX2NoZWNrX2FsaWduKGFkZHIsIHNpemUgLSAxKTsK ICAgICBzd2l0Y2ggKGFzaSkgeworICAgIGNhc2UgMHg4MjogLy8gUHJpbWFyeSBuby1mYXVsdAor ICAgIGNhc2UgMHg4YTogLy8gUHJpbWFyeSBuby1mYXVsdCBMRQorICAgICAgICBpZiAoY3B1X2dl dF9waHlzX3BhZ2VfZGVidWcoZW52LCBhZGRyKSA9PSAtMVVMTCkgeworI2lmZGVmIERFQlVHX0FT SQorICAgICAgICAgICAgZHVtcF9hc2koInJlYWQgIiwgbGFzdF9hZGRyLCBhc2ksIHNpemUsIHJl dCk7CisjZW5kaWYKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICB9CisgICAgICAgIC8v IEZhbGwgdGhyb3VnaAogICAgIGNhc2UgMHgxMDogLy8gQXMgaWYgdXNlciBwcmltYXJ5CiAgICAg Y2FzZSAweDE4OiAvLyBBcyBpZiB1c2VyIHByaW1hcnkgTEUKICAgICBjYXNlIDB4ODA6IC8vIFBy aW1hcnkKLSAgICBjYXNlIDB4ODI6IC8vIFByaW1hcnkgbm8tZmF1bHQKICAgICBjYXNlIDB4ODg6 IC8vIFByaW1hcnkgTEUKLSAgICBjYXNlIDB4OGE6IC8vIFByaW1hcnkgbm8tZmF1bHQgTEUKICAg ICAgICAgaWYgKChhc2kgJiAweDgwKSAmJiAoZW52LT5wc3RhdGUgJiBQU19QUklWKSkgewogICAg ICAgICAgICAgaWYgKChlbnYtPmRlZi0+ZmVhdHVyZXMgJiBDUFVfRkVBVFVSRV9IWVBWKQogICAg ICAgICAgICAgICAgICYmIGVudi0+aHBzdGF0ZSAmIEhTX1BSSVYpIHsKQEAgLTE2NTAsMTUgKzE2 NzEsMjIgQEAKICAgICAgICAgLy8gIE9ubHkgbGRkYSBhbGxvd2VkCiAgICAgICAgIHJhaXNlX2V4 Y2VwdGlvbihUVF9JTExfSU5TTik7CiAgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgMHg4Mzog Ly8gU2Vjb25kYXJ5IG5vLWZhdWx0CisgICAgY2FzZSAweDhiOiAvLyBTZWNvbmRhcnkgbm8tZmF1 bHQgTEUKKyAgICAgICAgaWYgKGNwdV9nZXRfcGh5c19wYWdlX2RlYnVnKGVudiwgYWRkcikgPT0g LTFVTEwpIHsKKyNpZmRlZiBERUJVR19BU0kKKyAgICAgICAgICAgIGR1bXBfYXNpKCJyZWFkICIs IGxhc3RfYWRkciwgYXNpLCBzaXplLCByZXQpOworI2VuZGlmCisgICAgICAgICAgICByZXR1cm4g MDsKKyAgICAgICAgfQorICAgICAgICAvLyBGYWxsIHRocm91Z2gKICAgICBjYXNlIDB4MDQ6IC8v IE51Y2xldXMKICAgICBjYXNlIDB4MGM6IC8vIE51Y2xldXMgTGl0dGxlIEVuZGlhbiAoTEUpCiAg ICAgY2FzZSAweDExOiAvLyBBcyBpZiB1c2VyIHNlY29uZGFyeQogICAgIGNhc2UgMHgxOTogLy8g QXMgaWYgdXNlciBzZWNvbmRhcnkgTEUKICAgICBjYXNlIDB4NGE6IC8vIFVQQSBjb25maWcKICAg ICBjYXNlIDB4ODE6IC8vIFNlY29uZGFyeQotICAgIGNhc2UgMHg4MzogLy8gU2Vjb25kYXJ5IG5v LWZhdWx0CiAgICAgY2FzZSAweDg5OiAvLyBTZWNvbmRhcnkgTEUKLSAgICBjYXNlIDB4OGI6IC8v IFNlY29uZGFyeSBuby1mYXVsdCBMRQogICAgICAgICAvLyBYWFgKICAgICAgICAgYnJlYWs7CiAg ICAgY2FzZSAweDQ1OiAvLyBMU1UK ------=_Part_29881_9817294.1220458106166--