From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Kuvyrkov Subject: Re: Add private syscalls to support NPTL Date: Thu, 17 Dec 2009 20:53:26 +0300 Message-ID: <4B2A7016.9080708@codesourcery.com> References: <4A89D037.7090807@codesourcery.com> <4B1CBEE8.7000907@codesourcery.com> <10f740e80912110601o2b7f3f19sf0a3ee19fa2dbaad@mail.gmail.com> <4B227214.6060004@codesourcery.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050701010900020605010206" Return-path: Received: from mail.codesourcery.com ([38.113.113.100]:60816 "EHLO mail.codesourcery.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757274AbZLQRxi (ORCPT ); Thu, 17 Dec 2009 12:53:38 -0500 In-Reply-To: <4B227214.6060004@codesourcery.com> Sender: linux-m68k-owner@vger.kernel.org List-Id: linux-m68k@vger.kernel.org To: Geert Uytterhoeven Cc: Andreas Schwab , linux-m68k@vger.kernel.org, uClinux development list This is a multi-part message in MIME format. --------------050701010900020605010206 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 12/11/09 7:23 PM, Maxim Kuvyrkov wrote: > On 12/11/09 5:01 PM, Geert Uytterhoeven wrote: >> On Mon, Dec 7, 2009 at 09:38, Maxim Kuvyrkov >> wrote: ... >> BTW, other architectures seem to call these __NR_[gs]et_thread_area >> instead of __NR_{read,write}_tp? >> Shouldn't we follow for consistency? > > Yes, we may. As long as the syscall numbers stay the same. I'll send the > updated patch once the memory handling issue is resolved. Here is the updated patch. I renamed {read,write}_tp syscalls to [gs]et_thread_area. Regarding the memory access issue in cmpxchg syscall, I looked through the mm/ files and it seems that checking for !pte_write() is the right way to fix the problem; so the patch fixes that too. As I understand, this patch fixes all outstanding issues and is ready for merge. Regards, -- Maxim Kuvyrkov CodeSourcery maxim@codesourcery.com (650) 331-3385 x724 --------------050701010900020605010206 Content-Type: text/plain; x-mac-type="0"; x-mac-creator="0"; name="0001-Add-NPTL-support-for-m68k.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Add-NPTL-support-for-m68k.patch" RnJvbSBmMWUyYmRhYTE5MWYwOGQzMzkzOGJkNDJjZjA5MGYzZDk0NjY4NjZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbSBLdXZ5cmtvdiA8bWF4aW1AY29kZXNvdXJj ZXJ5LmNvbT4KRGF0ZTogTW9uLCA3IERlYyAyMDA5IDAwOjI0OjI3IC0wODAwClN1YmplY3Q6 IFtQQVRDSCAxLzJdIEFkZCBOUFRMIHN1cHBvcnQgZm9yIG02OGsKClRoaXMgcGF0Y2ggYWRk cyBzZXZlcmFsIHN5c2NhbGxzLCB0aGF0IHByb3ZpZGUgbmVjZXNzYXJ5CmZ1bmN0aW9uYWxp dHkgdG8gc3VwcG9ydCBOUFRMIG9uIG02OGsvQ29sZEZpcmUuClRoZSBzeXNjYWxscyBhcmUg Z2V0X3RocmVhZF9hcmVhLCBzZXRfdGhyZWFkX2FyZWEsIGF0b21pY19jbXB4Y2hnXzMyIGFu ZAphdG9taWNfYmFycmllci4KVGhlIGNtcHhjaGcgc3lzY2FsbCBpcyByZXF1aXJlZCBmb3Ig Q29sZEZpcmUgYXMgaXQgZG9lc24ndCBzdXBwb3J0ICdjYXMnCmluc3RydWN0aW9uLgoKQWxz byBhIHB0cmFjZSBjYWxsIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEgaXMgYWRkZWQgdG8gYWxs b3cgZGVidWdnZXIgdG8KaW5zcGVjdCB0aGUgVExTIHN0b3JhZ2UuCgpTaWduZWQtb2ZmLWJ5 OiBNYXhpbSBLdXZ5cmtvdiA8bWF4aW1AY29kZXNvdXJjZXJ5LmNvbT4KLS0tCiBhcmNoL202 OGsvaW5jbHVkZS9hc20vcHRyYWNlLmggICAgICAgICB8ICAgIDIgKwogYXJjaC9tNjhrL2lu Y2x1ZGUvYXNtL3N3YWIuaCAgICAgICAgICAgfCAgICAyICstCiBhcmNoL202OGsvaW5jbHVk ZS9hc20vdGhyZWFkX2luZm9fbW0uaCB8ICAgIDEgKwogYXJjaC9tNjhrL2luY2x1ZGUvYXNt L3VuaXN0ZC5oICAgICAgICAgfCAgICA2ICsrLQogYXJjaC9tNjhrL2tlcm5lbC9lbnRyeS5T ICAgICAgICAgICAgICAgfCAgICA0ICsrCiBhcmNoL202OGsva2VybmVsL3Byb2Nlc3MuYyAg ICAgICAgICAgICB8ICAgIDQgKysKIGFyY2gvbTY4ay9rZXJuZWwvcHRyYWNlLmMgICAgICAg ICAgICAgIHwgICAgNSArKwogYXJjaC9tNjhrL2tlcm5lbC9zeXNfbTY4ay5jICAgICAgICAg ICAgfCAgIDgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA4IGZpbGVzIGNo YW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9wdHJhY2UuaCBiL2FyY2gvbTY4ay9pbmNsdWRlL2Fz bS9wdHJhY2UuaAppbmRleCBhNmFiNjYzLi40M2FiODZhIDEwMDY0NAotLS0gYS9hcmNoL202 OGsvaW5jbHVkZS9hc20vcHRyYWNlLmgKKysrIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL3B0 cmFjZS5oCkBAIC03MSw2ICs3MSw4IEBAIHN0cnVjdCBzd2l0Y2hfc3RhY2sgewogI2RlZmlu ZSBQVFJBQ0VfR0VURlBSRUdTICAgICAgICAgIDE0CiAjZGVmaW5lIFBUUkFDRV9TRVRGUFJF R1MgICAgICAgICAgMTUKIAorI2RlZmluZSBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBICAgIDI1 CisKICNkZWZpbmUgUFRSQUNFX1NJTkdMRUJMT0NLCTMzCS8qIHJlc3VtZSBleGVjdXRpb24g dW50aWwgbmV4dCBicmFuY2ggKi8KIAogI2lmZGVmIF9fS0VSTkVMX18KZGlmZiAtLWdpdCBh L2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9zd2FiLmggYi9hcmNoL202OGsvaW5jbHVkZS9hc20v c3dhYi5oCmluZGV4IDViNzU0YWEuLmI3YjM3YTQgMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9p bmNsdWRlL2FzbS90aHJlYWRfaW5mb19tbS5oCisrKyBiL2FyY2gvbTY4ay9pbmNsdWRlL2Fz bS90aHJlYWRfaW5mb19tbS5oCkBAIC0xNiw2ICsxNiw3IEBAIHN0cnVjdCB0aHJlYWRfaW5m byB7CiAJc3RydWN0IGV4ZWNfZG9tYWluCSpleGVjX2RvbWFpbjsJLyogZXhlY3V0aW9uIGRv bWFpbiAqLwogCWludAkJCXByZWVtcHRfY291bnQ7CS8qIDAgPT4gcHJlZW1wdGFibGUsIDww ID0+IEJVRyAqLwogCV9fdTMyIGNwdTsgLyogc2hvdWxkIGFsd2F5cyBiZSAwIG9uIG02OGsg Ki8KKwl1bnNpZ25lZCBsb25nCQl0cF92YWx1ZTsJLyogdGhyZWFkIHBvaW50ZXIgKi8KIAlz dHJ1Y3QgcmVzdGFydF9ibG9jayAgICByZXN0YXJ0X2Jsb2NrOwogfTsKICNlbmRpZiAvKiBf X0FTU0VNQkxZX18gKi8KZGlmZiAtLWdpdCBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS91bmlz dGQuaCBiL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS91bmlzdGQuaAppbmRleCA0OGI4N2Y1Li5k NzJhNzFkIDEwMDY0NAotLS0gYS9hcmNoL202OGsvaW5jbHVkZS9hc20vdW5pc3RkLmgKKysr IGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL3VuaXN0ZC5oCkBAIC0zMzYsMTAgKzMzNiwxNCBA QAogI2RlZmluZSBfX05SX3B3cml0ZXYJCTMzMAogI2RlZmluZSBfX05SX3J0X3Rnc2lncXVl dWVpbmZvCTMzMQogI2RlZmluZSBfX05SX3BlcmZfZXZlbnRfb3BlbgkzMzIKKyNkZWZpbmUg X19OUl9nZXRfdGhyZWFkX2FyZWEJMzMzCisjZGVmaW5lIF9fTlJfc2V0X3RocmVhZF9hcmVh CTMzNAorI2RlZmluZSBfX05SX2F0b21pY19jbXB4Y2hnXzMyCTMzNQorI2RlZmluZSBfX05S X2F0b21pY19iYXJyaWVyCTMzNgogCiAjaWZkZWYgX19LRVJORUxfXwogCi0jZGVmaW5lIE5S X3N5c2NhbGxzCQkzMzMKKyNkZWZpbmUgTlJfc3lzY2FsbHMJCTMzNwogCiAjZGVmaW5lIF9f QVJDSF9XQU5UX0lQQ19QQVJTRV9WRVJTSU9OCiAjZGVmaW5lIF9fQVJDSF9XQU5UX09MRF9S RUFERElSCmRpZmYgLS1naXQgYS9hcmNoL202OGsva2VybmVsL2VudHJ5LlMgYi9hcmNoL202 OGsva2VybmVsL2VudHJ5LlMKaW5kZXggNzdmYzdjMS4uZTEzNmI4YyAxMDA2NDQKLS0tIGEv YXJjaC9tNjhrL2tlcm5lbC9lbnRyeS5TCisrKyBiL2FyY2gvbTY4ay9rZXJuZWwvZW50cnku UwpAQCAtNzYxLDQgKzc2MSw4IEBAIHN5c19jYWxsX3RhYmxlOgogCS5sb25nIHN5c19wd3Jp dGV2CQkvKiAzMzAgKi8KIAkubG9uZyBzeXNfcnRfdGdzaWdxdWV1ZWluZm8KIAkubG9uZyBz eXNfcGVyZl9ldmVudF9vcGVuCisJLmxvbmcgc3lzX2dldF90aHJlYWRfYXJlYQorCS5sb25n IHN5c19zZXRfdGhyZWFkX2FyZWEKKwkubG9uZyBzeXNfYXRvbWljX2NtcHhjaGdfMzIJLyog MzM1ICovCisJLmxvbmcgc3lzX2F0b21pY19iYXJyaWVyCiAKZGlmZiAtLWdpdCBhL2FyY2gv bTY4ay9rZXJuZWwvcHJvY2Vzcy5jIGIvYXJjaC9tNjhrL2tlcm5lbC9wcm9jZXNzLmMKaW5k ZXggMDUyOTY1OS4uMTdjM2YzMiAxMDA2NDQKLS0tIGEvYXJjaC9tNjhrL2tlcm5lbC9wcm9j ZXNzLmMKKysrIGIvYXJjaC9tNjhrL2tlcm5lbC9wcm9jZXNzLmMKQEAgLTI1MSw2ICsyNTEs MTAgQEAgaW50IGNvcHlfdGhyZWFkKHVuc2lnbmVkIGxvbmcgY2xvbmVfZmxhZ3MsIHVuc2ln bmVkIGxvbmcgdXNwLAogCiAJcC0+dGhyZWFkLnVzcCA9IHVzcDsKIAlwLT50aHJlYWQua3Nw ID0gKHVuc2lnbmVkIGxvbmcpY2hpbGRzdGFjazsKKworCWlmIChjbG9uZV9mbGFncyAmIENM T05FX1NFVFRMUykKKwkJdGFza190aHJlYWRfaW5mbyhwKS0+dHBfdmFsdWUgPSByZWdzLT5k NTsKKwogCS8qCiAJICogTXVzdCBzYXZlIHRoZSBjdXJyZW50IFNGQy9ERkMgdmFsdWUsIE5P VCB0aGUgdmFsdWUgd2hlbgogCSAqIHRoZSBwYXJlbnQgd2FzIGxhc3QgZGVzY2hlZHVsZWQg LSBSR0ggIDEwLTA4LTk2CmRpZmYgLS1naXQgYS9hcmNoL202OGsva2VybmVsL3B0cmFjZS5j IGIvYXJjaC9tNjhrL2tlcm5lbC9wdHJhY2UuYwppbmRleCAxZmMyMTdlLi42MTZlNTk3IDEw MDY0NAotLS0gYS9hcmNoL202OGsva2VybmVsL3B0cmFjZS5jCisrKyBiL2FyY2gvbTY4ay9r ZXJuZWwvcHRyYWNlLmMKQEAgLTI0NSw2ICsyNDUsMTEgQEAgbG9uZyBhcmNoX3B0cmFjZShz dHJ1Y3QgdGFza19zdHJ1Y3QgKmNoaWxkLCBsb25nIHJlcXVlc3QsIGxvbmcgYWRkciwgbG9u ZyBkYXRhKQogCQkJcmV0ID0gLUVGQVVMVDsKIAkJYnJlYWs7CiAKKwljYXNlIFBUUkFDRV9H RVRfVEhSRUFEX0FSRUE6CisJCXJldCA9IHB1dF91c2VyKHRhc2tfdGhyZWFkX2luZm8oY2hp bGQpLT50cF92YWx1ZSwKKwkJCSAgICAgICAodW5zaWduZWQgbG9uZyBfX3VzZXIgKilkYXRh KTsKKwkJYnJlYWs7CisKIAlkZWZhdWx0OgogCQlyZXQgPSBwdHJhY2VfcmVxdWVzdChjaGls ZCwgcmVxdWVzdCwgYWRkciwgZGF0YSk7CiAJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvYXJjaC9t NjhrL2tlcm5lbC9zeXNfbTY4ay5jIGIvYXJjaC9tNjhrL2tlcm5lbC9zeXNfbTY4ay5jCmlu ZGV4IDdkZWI0MDIuLjFmMGRiODggMTAwNjQ0Ci0tLSBhL2FyY2gvbTY4ay9rZXJuZWwvc3lz X202OGsuYworKysgYi9hcmNoL202OGsva2VybmVsL3N5c19tNjhrLmMKQEAgLTI4LDYgKzI4 LDExIEBACiAjaW5jbHVkZSA8YXNtL3RyYXBzLmg+CiAjaW5jbHVkZSA8YXNtL3BhZ2UuaD4K ICNpbmNsdWRlIDxhc20vdW5pc3RkLmg+CisjaW5jbHVkZSA8bGludXgvZWxmLmg+CisjaW5j bHVkZSA8YXNtL3RsYi5oPgorCithc21saW5rYWdlIGludCBkb19wYWdlX2ZhdWx0KHN0cnVj dCBwdF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsCisJCQkgICAgIHVuc2ln bmVkIGxvbmcgZXJyb3JfY29kZSk7CiAKIC8qIGNvbW1vbiBjb2RlIGZvciBvbGQgYW5kIG5l dyBtbWFwcyAqLwogc3RhdGljIGlubGluZSBsb25nIGRvX21tYXAyKApAQCAtNjYyLDMgKzY2 Nyw3OSBAQCBpbnQga2VybmVsX2V4ZWN2ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY2hhciAq Y29uc3QgYXJndltdLCBjaGFyICpjb25zdCBlbnZwW10pCiAJCQk6ICJkIiAoX19hKSwgImQi IChfX2IpLCAiZCIgKF9fYykpOwogCXJldHVybiBfX3JlczsKIH0KKworYXNtbGlua2FnZSB1 bnNpZ25lZCBsb25nIHN5c19nZXRfdGhyZWFkX2FyZWEodm9pZCkKK3sKKwlyZXR1cm4gY3Vy cmVudF90aHJlYWRfaW5mbygpLT50cF92YWx1ZTsKK30KKworYXNtbGlua2FnZSBpbnQgc3lz X3NldF90aHJlYWRfYXJlYSh1bnNpZ25lZCBsb25nIHRwKQoreworCWN1cnJlbnRfdGhyZWFk X2luZm8oKS0+dHBfdmFsdWUgPSB0cDsKKwlyZXR1cm4gMDsKK30KKworLyogVGhpcyBzeXNj YWxsIGdldHMgaXRzIGFyZ3VtZW50cyBpbiBBMCAobWVtKSwgRDIgKG9sZHZhbCkgYW5kCisg ICBEMSAobmV3dmFsKS4gICovCithc21saW5rYWdlIGludAorc3lzX2F0b21pY19jbXB4Y2hn XzMyKHVuc2lnbmVkIGxvbmcgbmV3dmFsLCBpbnQgb2xkdmFsLCBpbnQgZDMsIGludCBkNCwg aW50IGQ1LAorCQkgICAgICB1bnNpZ25lZCBsb25nIF9fdXNlciAqIG1lbSkKK3sKKwkvKiBU aGlzIHdhcyBib3Jyb3dlZCBmcm9tIEFSTSdzIGltcGxlbWVudGF0aW9uLiAgKi8KKwlmb3Ig KDs7KSB7CisJCXN0cnVjdCBtbV9zdHJ1Y3QgKm1tID0gY3VycmVudC0+bW07CisJCXBnZF90 ICpwZ2Q7CisJCXBtZF90ICpwbWQ7CisJCXB0ZV90ICpwdGU7CisJCXNwaW5sb2NrX3QgKnB0 bDsKKwkJdW5zaWduZWQgbG9uZyBtZW1fdmFsdWU7CisKKwkJZG93bl9yZWFkKCZtbS0+bW1h cF9zZW0pOworCQlwZ2QgPSBwZ2Rfb2Zmc2V0KG1tLCAodW5zaWduZWQgbG9uZyltZW0pOwor CQlpZiAoIXBnZF9wcmVzZW50KCpwZ2QpKQorCQkJZ290byBiYWRfYWNjZXNzOworCQlwbWQg PSBwbWRfb2Zmc2V0KHBnZCwgKHVuc2lnbmVkIGxvbmcpbWVtKTsKKwkJaWYgKCFwbWRfcHJl c2VudCgqcG1kKSkKKwkJCWdvdG8gYmFkX2FjY2VzczsKKwkJcHRlID0gcHRlX29mZnNldF9t YXBfbG9jayhtbSwgcG1kLCAodW5zaWduZWQgbG9uZyltZW0sICZwdGwpOworCQlpZiAoIXB0 ZV9wcmVzZW50KCpwdGUpIHx8ICFwdGVfZGlydHkoKnB0ZSkKKwkJICAgIHx8ICFwdGVfd3Jp dGUoKnB0ZSkpIHsKKwkJCXB0ZV91bm1hcF91bmxvY2socHRlLCBwdGwpOworCQkJZ290byBi YWRfYWNjZXNzOworCQl9CisKKwkJbWVtX3ZhbHVlID0gKm1lbTsKKwkJaWYgKG1lbV92YWx1 ZSA9PSBvbGR2YWwpCisJCQkqbWVtID0gbmV3dmFsOworCisJCXB0ZV91bm1hcF91bmxvY2so cHRlLCBwdGwpOworCQl1cF9yZWFkKCZtbS0+bW1hcF9zZW0pOworCQlyZXR1cm4gbWVtX3Zh bHVlOworCisJICAgICAgYmFkX2FjY2VzczoKKwkJdXBfcmVhZCgmbW0tPm1tYXBfc2VtKTsK KwkJLyogVGhpcyBpcyBub3QgbmVjZXNzYXJpbHkgYSBiYWQgYWNjZXNzLCB3ZSBjYW4gZ2V0 IGhlcmUgaWYKKwkJICAgYSBtZW1vcnkgd2UncmUgdHJ5aW5nIHRvIHdyaXRlIHRvIHNob3Vs ZCBiZSBjb3BpZWQtb24td3JpdGUuCisJCSAgIE1ha2UgdGhlIGtlcm5lbCBkbyB0aGUgbmVj ZXNzYXJ5IHBhZ2Ugc3R1ZmYsIHRoZW4gcmUtaXRlcmF0ZS4KKwkJICAgU2ltdWxhdGUgYSB3 cml0ZSBhY2Nlc3MgZmF1bHQgdG8gZG8gdGhhdC4gICovCisJCXsKKwkJCS8qIFRoZSBmaXJz dCBhcmd1bWVudCBvZiB0aGUgZnVuY3Rpb24gY29ycmVzcG9uZHMgdG8KKwkJCSAgIEQxLCB3 aGljaCBpcyB0aGUgZmlyc3QgZmllbGQgb2Ygc3RydWN0IHB0X3JlZ3MuICAqLworCQkJc3Ry dWN0IHB0X3JlZ3MgKmZwID0gKHN0cnVjdCBwdF9yZWdzICopJm5ld3ZhbDsKKworCQkJLyog JzMnIGlzIGFuIFJNVyBmbGFnLiAgKi8KKwkJCWlmIChkb19wYWdlX2ZhdWx0KGZwLCAodW5z aWduZWQgbG9uZyltZW0sIDMpKQorCQkJCS8qIElmIHRoZSBkb19wYWdlX2ZhdWx0KCkgZmFp bGVkLCB3ZSBkb24ndAorCQkJCSAgIGhhdmUgYW55dGhpbmcgbWVhbmluZ2Z1bCB0byByZXR1 cm4uCisJCQkJICAgVGhlcmUgc2hvdWxkIGJlIGEgU0lHU0VHViBwZW5kaW5nIGZvcgorCQkJ CSAgIHRoZSBwcm9jZXNzLiAgKi8KKwkJCQlyZXR1cm4gMHhkZWFkYmVlZjsKKwkJfQorCX0K K30KKworYXNtbGlua2FnZSBpbnQgc3lzX2F0b21pY19iYXJyaWVyKHZvaWQpCit7CisJLyog bm8gY29kZSBuZWVkZWQgZm9yIHVuaXByb2NzICovCisJcmV0dXJuIDA7Cit9Ci0tIAoxLjYu Mi40Cgo= --------------050701010900020605010206--