From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: tools/libxc/xc_cpuid_x86.c:cpuid()'s inline asm Date: Fri, 02 Dec 2011 06:02:59 +0000 Message-ID: References: <4ED8A05A0200007800065020@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="B_3405650588_8908001" Return-path: In-Reply-To: <4ED8A05A0200007800065020@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich Cc: Olaf Hering , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org > This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --B_3405650588_8908001 Content-type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit On 02/12/2011 08:54, "Jan Beulich" wrote: > Keir, > > do you recall what it was that 20976:f8692cc67d67 was supposed to fix? > The code is clearly wrong now on x86-64 - inline asm that uses push/pop > (or other stack pointer manipulation instructions) and memory accesses > that may reference the stack (even if not through %rsp) can't be > expected to work without -mno-red-zone. I totally missed the red-zone constraint. :-( > The question is whether to use that command line option, or whether to > correct the inline assembly (besides the purpose of your change, I also > wonder why this isn't coded the obvious way, with rBX and rDX explicitly > named in the constraints - on 32-bit this may be to reduce register > pressure, but on 64-bit it's entirely unclear). I think reg constraint failures had only been reported on 32-bit. So how about the attached patch? -- Keir > Thanks, Jan > --B_3405650588_8908001 Content-type: application/octet-stream; name="00-cpuid-asm" Content-disposition: attachment; filename="00-cpuid-asm" Content-transfer-encoding: base64 ZGlmZiAtciA3NzFlMmEzMDM3NTMgdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMKLS0tIGEv dG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMJRnJpIERlYyAwMiAxNDoyMjo0NyAyMDExICsw MTAwCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jCUZyaSBEZWMgMDIgMDU6NTk6 NDQgMjAxMSAtMDgwMApAQCAtNDMsMjMgKzQzLDIzIEBAIHN0YXRpYyBpbnQgaHlwZXJ2aXNv cl9pc182NGJpdCh4Y19pbnRlcmYKIHN0YXRpYyB2b2lkIGNwdWlkKGNvbnN0IHVuc2lnbmVk IGludCAqaW5wdXQsIHVuc2lnbmVkIGludCAqcmVncykKIHsKICAgICB1bnNpZ25lZCBpbnQg Y291bnQgPSAoaW5wdXRbMV0gPT0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRCkgPyAwIDogaW5w dXRbMV07CisjaWZkZWYgX19pMzg2X18KKyAgICAvKiBVc2UgdGhlIHN0YWNrIHRvIGF2b2lk IHJlZyBjb25zdHJhaW50IGZhaWx1cmVzIHdpdGggc29tZSBnY2MgZmxhZ3MgKi8KICAgICBh c20gKAotI2lmZGVmIF9faTM4Nl9fCiAgICAgICAgICJwdXNoICUlZWJ4OyBwdXNoICUlZWR4 XG5cdCIKLSNlbHNlCi0gICAgICAgICJwdXNoICUlcmJ4OyBwdXNoICUlcmR4XG5cdCIKLSNl bmRpZgogICAgICAgICAiY3B1aWRcblx0IgogICAgICAgICAibW92ICUlZWJ4LDQoJTQpXG5c dCIKICAgICAgICAgIm1vdiAlJWVkeCwxMiglNClcblx0IgotI2lmZGVmIF9faTM4Nl9fCiAg ICAgICAgICJwb3AgJSVlZHg7IHBvcCAlJWVieFxuXHQiCisgICAgICAgIDogIj1hIiAocmVn c1swXSksICI9YyIgKHJlZ3NbMl0pCisgICAgICAgIDogIjAiIChpbnB1dFswXSksICIxIiAo Y291bnQpLCAiUyIgKF9yZWdzKQorICAgICAgICA6ICJtZW1vcnkiICk7CiAjZWxzZQotICAg ICAgICAicG9wICUlcmR4OyBwb3AgJSVyYnhcblx0IgorICAgIGFzbSAoCisgICAgICAgICJj cHVpZCIKKyAgICAgICAgOiAiPWEiIChyZWdzWzBdKSwgIj1iIiAocmVnc1sxXSksICI9YyIg KHJlZ3NbMl0pLCAiPWQiIChyZWdzWzNdKQorICAgICAgICA6ICIwIiAoaW5wdXRbMF0pLCAi MiIgKGNvdW50KSApOwogI2VuZGlmCi0gICAgICAgIDogIj1hIiAocmVnc1swXSksICI9YyIg KHJlZ3NbMl0pCi0gICAgICAgIDogIjAiIChpbnB1dFswXSksICIxIiAoY291bnQpLCAiUyIg KHJlZ3MpCi0gICAgICAgIDogIm1lbW9yeSIgKTsKIH0KIAogLyogR2V0IHRoZSBtYW51ZmFj dHVyZXIgYnJhbmQgbmFtZSBvZiB0aGUgaG9zdCBwcm9jZXNzb3IuICovCmRpZmYgLXIgNzcx ZTJhMzAzNzUzIHRvb2xzL21pc2MveGVuLWRldGVjdC5jCi0tLSBhL3Rvb2xzL21pc2MveGVu LWRldGVjdC5jCUZyaSBEZWMgMDIgMTQ6MjI6NDcgMjAxMSArMDEwMAorKysgYi90b29scy9t aXNjL3hlbi1kZXRlY3QuYwlGcmkgRGVjIDAyIDA1OjU5OjQ0IDIwMTEgLTA4MDAKQEAgLTM1 LDE4ICszNSwyMSBAQAogCiBzdGF0aWMgdm9pZCBjcHVpZCh1aW50MzJfdCBpZHgsIHVpbnQz Ml90ICpyZWdzLCBpbnQgcHZfY29udGV4dCkKIHsKKyNpZmRlZiBfX2kzODZfXworICAgIC8q IFVzZSB0aGUgc3RhY2sgdG8gYXZvaWQgcmVnIGNvbnN0cmFpbnQgZmFpbHVyZXMgd2l0aCBz b21lIGdjYyBmbGFncyAqLwogICAgIGFzbSB2b2xhdGlsZSAoCi0jaWZkZWYgX19pMzg2X18K LSNkZWZpbmUgUih4KSAiJSVlIiN4IngiCi0jZWxzZQotI2RlZmluZSBSKHgpICIlJXIiI3gi eCIKLSNlbmRpZgotICAgICAgICAicHVzaCAiUihhKSI7IHB1c2ggIlIoYikiOyBwdXNoICJS KGMpIjsgcHVzaCAiUihkKSJcblx0IgorICAgICAgICAicHVzaCAlJWVheDsgcHVzaCAlJWVi eDsgcHVzaCAlJWVjeDsgcHVzaCAlJWVkeFxuXHQiCiAgICAgICAgICJ0ZXN0ICUxLCUxIDsg anogMWYgOyB1ZDJhIDsgLmFzY2lpIFwieGVuXCIgOyAxOiBjcHVpZFxuXHQiCiAgICAgICAg ICJtb3YgJSVlYXgsKCUyKTsgbW92ICUlZWJ4LDQoJTIpXG5cdCIKICAgICAgICAgIm1vdiAl JWVjeCw4KCUyKTsgbW92ICUlZWR4LDEyKCUyKVxuXHQiCi0gICAgICAgICJwb3AgIlIoZCki OyBwb3AgIlIoYykiOyBwb3AgIlIoYikiOyBwb3AgIlIoYSkiXG5cdCIKKyAgICAgICAgInBv cCAlJWVkeDsgcG9wICUlZWN4OyBwb3AgJSVlYng7IHBvcCAlJWVheFxuXHQiCiAgICAgICAg IDogOiAiYSIgKGlkeCksICJjIiAocHZfY29udGV4dCksICJTIiAocmVncykgOiAibWVtb3J5 IiApOworI2Vsc2UKKyAgICBhc20gdm9sYXRpbGUgKAorICAgICAgICAidGVzdCAlNSwlNSA7 IGp6IDFmIDsgdWQyYSA7IC5hc2NpaSBcInhlblwiIDsgMTogY3B1aWRcblx0IgorICAgICAg ICA6ICI9YSIgKHJlZ3NbMF0pLCAiPWIiIChyZWdzWzFdKSwgIj1jIiAocmVnc1syXSksICI9 ZCIgKHJlZ3NbM10pCisgICAgICAgIDogIjAiIChpZHgpLCAiMSIgKHB2X2NvbnRleHQpLCAi MiIgKDApICk7CisjZW5kaWYKIH0KIAogc3RhdGljIGludCBjaGVja19mb3JfeGVuKGludCBw dl9jb250ZXh0KQo= --B_3405650588_8908001 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --B_3405650588_8908001--