From mboxrd@z Thu Jan 1 00:00:00 1970 From: Corneliu ZUZU Subject: [PATCH v4 7/7] asm/atomic.h: implement missing and add common prototypes Date: Fri, 15 Jul 2016 09:52:13 +0300 Message-ID: <1468565533-385-1-git-send-email-czuzu@bitdefender.com> References: <1468565278-32535-1-git-send-email-czuzu@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468565278-32535-1-git-send-email-czuzu@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , Julien Grall , Stefano Stabellini , Jan Beulich List-Id: xen-devel@lists.xenproject.org QVJNICg8YXNtLWFybS9hdG9taWMuaD4pOgoqIGFkZCBhdG9taWNfYWRkX3VubGVzcygpIHdyYXBw ZXIgb3ZlciBfX2F0b21pY19hZGRfdW5sZXNzKCkKICAoZm9yIGNvbW1vbi1jb2RlIGludGVyZmFj ZSwgaS5lLiA8eGVuL2F0b21pYy5oPikKClg4NiAoPGFzbS14ODYvYXRvbWljLmg+KToKKiBpbXBs ZW1lbnQgbWlzc2luZyBmdW5jdGlvbnMgYXRvbWljX3tzdWIsaW5jLGRlY31fcmV0dXJuKCksIGF0 b21pY19hZGRfdW5sZXNzKCkKKiBpbXBsZW1lbnQgbWlzc2luZyBtYWNybyBhdG9taWNfeGNoZygp CgpDT01NT04gKDx4ZW4vYXRvbWljLmg+KToKKiBhZGQgcHJvdG90eXBlcyBmb3IgdGhlIGFmb3Jl bWVudGlvbmVkIG5ld2x5IGltcGxlbWVudGVkIFg4NiBmdW5jdGlvbnMgaW4KICBjb21tb24gPHhl bi9hdG9taWMuaD4KClNpZ25lZC1vZmYtYnk6IENvcm5lbGl1IFpVWlUgPGN6dXp1QGJpdGRlZmVu ZGVyLmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+Ci0tLQpDaGFuZ2VkIHNpbmNlIHYzOgogICogYWRkIHdyYXBwZXIgb3ZlciBhcm0tc2lk ZSBfX2F0b21pY19hZGRfdW5sZXNzKCkgaW5zdGVhZCBvZiByZW1vdmluZyB0aGUKICAgIGxlYWRp bmcgdW5kZXJzY29yZXMKLS0tCiB4ZW4vaW5jbHVkZS9hc20tYXJtL2F0b21pYy5oIHwgIDUgKysr KysKIHhlbi9pbmNsdWRlL2FzbS14ODYvYXRvbWljLmggfCAyNyArKysrKysrKysrKysrKysrKysr KysrKysrKysKIHhlbi9pbmNsdWRlL3hlbi9hdG9taWMuaCAgICAgfCAzNiArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNjggaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYXRvbWljLmggYi94ZW4vaW5jbHVk ZS9hc20tYXJtL2F0b21pYy5oCmluZGV4IGM2OWFhZTYuLmI2YWFmNTcgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS1hcm0vYXRvbWljLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLWFybS9hdG9t aWMuaApAQCAtMTcwLDYgKzE3MCwxMSBAQCBzdGF0aWMgaW5saW5lIGludCBhdG9taWNfYWRkX25l Z2F0aXZlKGludCBpLCBhdG9taWNfdCAqdikKICAgICByZXR1cm4gYXRvbWljX2FkZF9yZXR1cm4o aSwgdikgPCAwOwogfQogCitzdGF0aWMgaW5saW5lIGludCBhdG9taWNfYWRkX3VubGVzcyhhdG9t aWNfdCAqdiwgaW50IGEsIGludCB1KQoreworICAgIHJldHVybiBfX2F0b21pY19hZGRfdW5sZXNz KHYsIGEsIHUpOworfQorCiAjZGVmaW5lIGF0b21pY194Y2hnKHYsIG5ldykgKHhjaGcoJigodikt PmNvdW50ZXIpLCBuZXcpKQogCiAjZW5kaWYgLyogX19BUkNIX0FSTV9BVE9NSUNfXyAqLwpkaWZm IC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9hdG9taWMuaCBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvYXRvbWljLmgKaW5kZXggMTcyOWUyOS4uMTAxZWRlZCAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9hdG9taWMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2F0b21pYy5oCkBA IC0xMjYsNiArMTI2LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfc3ViKGludCBpLCBh dG9taWNfdCAqdikKICAgICAgICAgOiAiaXIiIChpKSwgIm0iICgqKHZvbGF0aWxlIGludCAqKSZ2 LT5jb3VudGVyKSApOwogfQogCitzdGF0aWMgaW5saW5lIGludCBhdG9taWNfc3ViX3JldHVybihp bnQgaSwgYXRvbWljX3QgKnYpCit7CisgICAgcmV0dXJuIGFyY2hfZmV0Y2hfYW5kX2FkZCgmdi0+ Y291bnRlciwgLWkpIC0gaTsKK30KKwogc3RhdGljIGlubGluZSBpbnQgYXRvbWljX3N1Yl9hbmRf dGVzdChpbnQgaSwgYXRvbWljX3QgKnYpCiB7CiAgICAgdW5zaWduZWQgY2hhciBjOwpAQCAtMTQ1 LDYgKzE1MCwxMSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYXRvbWljX2luYyhhdG9taWNfdCAqdikK ICAgICAgICAgOiAibSIgKCoodm9sYXRpbGUgaW50ICopJnYtPmNvdW50ZXIpICk7CiB9CiAKK3N0 YXRpYyBpbmxpbmUgaW50IGF0b21pY19pbmNfcmV0dXJuKGF0b21pY190ICp2KQoreworICAgIHJl dHVybiBhdG9taWNfYWRkX3JldHVybigxLCB2KTsKK30KKwogc3RhdGljIGlubGluZSBpbnQgYXRv bWljX2luY19hbmRfdGVzdChhdG9taWNfdCAqdikKIHsKICAgICB1bnNpZ25lZCBjaGFyIGM7CkBA IC0xNjQsNiArMTc0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfZGVjKGF0b21pY190 ICp2KQogICAgICAgICA6ICJtIiAoKih2b2xhdGlsZSBpbnQgKikmdi0+Y291bnRlcikgKTsKIH0K IAorc3RhdGljIGlubGluZSBpbnQgYXRvbWljX2RlY19yZXR1cm4oYXRvbWljX3QgKnYpCit7Cisg ICAgcmV0dXJuIGF0b21pY19zdWJfcmV0dXJuKDEsIHYpOworfQorCiBzdGF0aWMgaW5saW5lIGlu dCBhdG9taWNfZGVjX2FuZF90ZXN0KGF0b21pY190ICp2KQogewogICAgIHVuc2lnbmVkIGNoYXIg YzsKQEAgLTE4Niw0ICsyMDEsMTYgQEAgc3RhdGljIGlubGluZSBpbnQgYXRvbWljX2FkZF9uZWdh dGl2ZShpbnQgaSwgYXRvbWljX3QgKnYpCiAgICAgcmV0dXJuIGM7CiB9CiAKK3N0YXRpYyBpbmxp bmUgaW50IGF0b21pY19hZGRfdW5sZXNzKGF0b21pY190ICp2LCBpbnQgYSwgaW50IHUpCit7Cisg ICAgaW50IGMsIG9sZDsKKworICAgIGMgPSBhdG9taWNfcmVhZCh2KTsKKyAgICB3aGlsZSAoYyAh PSB1ICYmIChvbGQgPSBhdG9taWNfY21weGNoZyh2LCBjLCBjICsgYSkpICE9IGMpCisgICAgICAg IGMgPSBvbGQ7CisgICAgcmV0dXJuIGM7Cit9CisKKyNkZWZpbmUgYXRvbWljX3hjaGcodiwgbmV3 KSAoeGNoZygmKCh2KS0+Y291bnRlciksIG5ldykpCisKICNlbmRpZiAvKiBfX0FSQ0hfWDg2X0FU T01JQ19fICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS94ZW4vYXRvbWljLmggYi94ZW4vaW5j bHVkZS94ZW4vYXRvbWljLmgKaW5kZXggNjgyNzQ2OC4uNTI5MjEzZSAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUveGVuL2F0b21pYy5oCisrKyBiL3hlbi9pbmNsdWRlL3hlbi9hdG9taWMuaApAQCAt MTExLDYgKzExMSwxNSBAQCBzdGF0aWMgaW5saW5lIGludCBhdG9taWNfYWRkX3JldHVybihpbnQg aSwgYXRvbWljX3QgKnYpOwogc3RhdGljIGlubGluZSB2b2lkIGF0b21pY19zdWIoaW50IGksIGF0 b21pY190ICp2KTsKIAogLyoqCisgKiBhdG9taWNfc3ViX3JldHVybiAtIHN1YiBpbnRlZ2VyIGFu ZCByZXR1cm4KKyAqIEBpOiBpbnRlZ2VyIHZhbHVlIHRvIHN1YgorICogQHY6IHBvaW50ZXIgb2Yg dHlwZSBhdG9taWNfdAorICoKKyAqIEF0b21pY2FsbHkgc3VidHJhY3RzIEBpIGZyb20gQHYgYW5k IHJldHVybnMgQHYgLSBAaS4KKyAqLworc3RhdGljIGlubGluZSBpbnQgYXRvbWljX3N1Yl9yZXR1 cm4oaW50IGksIGF0b21pY190ICp2KTsKKworLyoqCiAgKiBhdG9taWNfc3ViX2FuZF90ZXN0IC0g c3VidHJhY3QgdmFsdWUgZnJvbSB2YXJpYWJsZSBhbmQgdGVzdCByZXN1bHQKICAqIEBpOiBpbnRl Z2VyIHZhbHVlIHRvIHN1YnRyYWN0CiAgKiBAdjogcG9pbnRlciBvZiB0eXBlIGF0b21pY190CkBA IC0xMzAsNiArMTM5LDE0IEBAIHN0YXRpYyBpbmxpbmUgaW50IGF0b21pY19zdWJfYW5kX3Rlc3Qo aW50IGksIGF0b21pY190ICp2KTsKIHN0YXRpYyBpbmxpbmUgdm9pZCBhdG9taWNfaW5jKGF0b21p Y190ICp2KTsKIAogLyoqCisgKiBhdG9taWNfaW5jX3JldHVybiAtIGluY3JlbWVudCBhdG9taWMg dmFyaWFibGUgYW5kIHJldHVybgorICogQHY6IHBvaW50ZXIgb2YgdHlwZSBhdG9taWNfdAorICoK KyAqIEF0b21pY2FsbHkgaW5jcmVtZW50cyBAdiBieSAxIGFuZCByZXR1cm5zIEB2ICsgMS4KKyAq Lworc3RhdGljIGlubGluZSBpbnQgYXRvbWljX2luY19yZXR1cm4oYXRvbWljX3QgKnYpOworCisv KioKICAqIGF0b21pY19pbmNfYW5kX3Rlc3QgLSBpbmNyZW1lbnQgYW5kIHRlc3QKICAqIEB2OiBw b2ludGVyIG9mIHR5cGUgYXRvbWljX3QKICAqCkBAIC0xNDgsNiArMTY1LDE0IEBAIHN0YXRpYyBp bmxpbmUgaW50IGF0b21pY19pbmNfYW5kX3Rlc3QoYXRvbWljX3QgKnYpOwogc3RhdGljIGlubGlu ZSB2b2lkIGF0b21pY19kZWMoYXRvbWljX3QgKnYpOwogCiAvKioKKyAqIGF0b21pY19kZWNfcmV0 dXJuIC0gZGVjcmVtZW50IGF0b21pYyB2YXJpYWJsZSBhbmQgcmV0dXJuCisgKiBAdjogcG9pbnRl ciBvZiB0eXBlIGF0b21pY190CisgKgorICogQXRvbWljYWxseSBkZWNyZW1lbnRzIEB2IGJ5IDEg YW5kIHJldHVybnMgQHYgLSAxLgorICovCitzdGF0aWMgaW5saW5lIGludCBhdG9taWNfZGVjX3Jl dHVybihhdG9taWNfdCAqdik7CisKKy8qKgogICogYXRvbWljX2RlY19hbmRfdGVzdCAtIGRlY3Jl bWVudCBhbmQgdGVzdAogICogQHY6IHBvaW50ZXIgb2YgdHlwZSBhdG9taWNfdAogICoKQEAgLTE2 OCw0ICsxOTMsMTUgQEAgc3RhdGljIGlubGluZSBpbnQgYXRvbWljX2RlY19hbmRfdGVzdChhdG9t aWNfdCAqdik7CiAgKi8KIHN0YXRpYyBpbmxpbmUgaW50IGF0b21pY19hZGRfbmVnYXRpdmUoaW50 IGksIGF0b21pY190ICp2KTsKIAorLyoqCisgKiBhdG9taWNfYWRkX3VubGVzcyAtIGFkZCB0byBh dG9taWMgdmFyaWFibGUgdW5sZXNzIGl0IGhhcyBhIHNwZWNpZmllZCB2YWx1ZQorICogQHY6IHBv aW50ZXIgb2YgdHlwZSBhdG9taWNfdAorICogQGE6IGludGVnZXIgdmFsdWUgdG8gYWRkCisgKiBA dTogaW50ZWdlciB2YWx1ZSBAdiBtdXN0IC1ub3QtIGJlIGZvciB0aGUgYWRkIHRvIGJlIHBlcmZv cm1lZAorICoKKyAqIElmIEB2ICE9IEB1LCBhZGRzIEBhIHRvIEB2IGFuZCByZXR1cm5zIEB2ICsg QGEuCisgKiBPdGhlcndpc2UgcmV0dXJucyBAdSAoPT0gQHYpLgorICovCitzdGF0aWMgaW5saW5l IGludCBhdG9taWNfYWRkX3VubGVzcyhhdG9taWNfdCAqdiwgaW50IGEsIGludCB1KTsKKwogI2Vu ZGlmIC8qIF9fWEVOX0FUT01JQ19IX18gKi8KLS0gCjIuNS4wCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==