From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH RFC 16/23] libxl: add FreeBSD OS support Date: Wed, 16 Apr 2014 16:13:25 +0200 Message-ID: <1397657612-57277-17-git-send-email-roger.pau@citrix.com> References: <1397657612-57277-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WaQkd-0000n0-43 for xen-devel@lists.xenproject.org; Wed, 16 Apr 2014 14:23:47 +0000 In-Reply-To: <1397657612-57277-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Ian Jackson , Ian Campbell , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org Q3JlYXRlIGEgbmV3IGxpYnhsX2ZyZWVic2QuYyBmaWxlIHRoYXQgY29udGFpbnMgT1Mtc3BlY2lm aWMgYml0cyB1c2VkCmJ5IGxpYnhsLgoKVGhpcyBjdXJyZW50bHkgZGVmaW5lcyB3aGljaCBiYWNr ZW5kIHRvIHVzZSB0byBoYW5kbGUgZGlza3MsIGFuZAp3aGljaCBob3RwbHVnIHNjcmlwdHMgdG8g ZXhlY3V0ZS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy aXguY29tPgpDYzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CkNjOiBJ YW4gQ2FtcGJlbGwgPGlhbi5jYW1wYmVsbEBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhsL01h a2VmaWxlICAgICAgICB8ICAgIDQgKwogdG9vbHMvbGlieGwvbGlieGxfZnJlZWJzZC5jIHwgIDEz MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJ4 bC9saWJ4bF9vc2RlcHMuaCAgfCAgICA1ICsrCiAzIGZpbGVzIGNoYW5nZWQsIDE0MiBpbnNlcnRp b25zKCspLCAwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRvb2xzL2xpYnhsL2xp YnhsX2ZyZWVic2QuYwoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL01ha2VmaWxlIGIvdG9vbHMv bGlieGwvTWFrZWZpbGUKaW5kZXggNzU1YjY2Ni4uZWU4Y2YwMCAxMDA2NDQKLS0tIGEvdG9vbHMv bGlieGwvTWFrZWZpbGUKKysrIGIvdG9vbHMvbGlieGwvTWFrZWZpbGUKQEAgLTUyLDEwICs1Miwx NCBAQCBlbHNlCiBpZmVxICgkKENPTkZJR19MaW51eCkseSkKIExJQlhMX09CSlMteSArPSBsaWJ4 bF9saW51eC5vCiBlbHNlCitpZmVxICgkKENPTkZJR19GcmVlQlNEKSx5KQorTElCWExfT0JKUy15 ICs9IGxpYnhsX2ZyZWVic2QubworZWxzZQogJChlcnJvciBZb3VyIE9wZXJhdGluZyBTeXN0ZW0g aXMgbm90IHN1cHBvcnRlZCBieSBsaWJ4ZW5saWdodCwgXAogcGxlYXNlIGNoZWNrIGxpYnhsX2xp bnV4LmMgYW5kIGxpYnhsX25ldGJzZC5jIHRvIHNlZSBob3cgdG8gZ2V0IGl0IHBvcnRlZCkKIGVu ZGlmCiBlbmRpZgorZW5kaWYKIAogaWZlcSAoJChGTEVYKSwpCiAlLmMgJS5oOjogJS5sCmRpZmYg LS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9mcmVlYnNkLmMgYi90b29scy9saWJ4bC9saWJ4bF9m cmVlYnNkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzEzMWU3YQotLS0g L2Rldi9udWxsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ZyZWVic2QuYwpAQCAtMCwwICsxLDEz MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNAorICogQXV0aG9yIFJvZ2VyIFBhdSBNb25u ZSA8cm9nZXIucGF1QGVudGVsLnVwYy5lZHU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZAorICogYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAy LjEgb25seS4gd2l0aCB0aGUgc3BlY2lhbAorICogZXhjZXB0aW9uIG9uIGxpbmtpbmcgZGVzY3Jp YmVkIGluIGZpbGUgTElDRU5TRS4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisg KiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAq LworIAorI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAvKiBtdXN0IGNvbWUgYmVmb3JlIGFueSBv dGhlciBoZWFkZXJzICovCisKKyNpbmNsdWRlICJsaWJ4bF9pbnRlcm5hbC5oIgorCitpbnQgbGli eGxfX3RyeV9waHlfYmFja2VuZChtb2RlX3Qgc3RfbW9kZSkKK3sKKyAgICBpZiAoU19JU1JFRyhz dF9tb2RlKSB8fCBTX0lTQkxLKHN0X21vZGUpIHx8IFNfSVNDSFIoc3RfbW9kZSkpCisgICAgICAg IHJldHVybiAxOworCisgICAgcmV0dXJuIDA7Cit9CisKK2NoYXIgKmxpYnhsX19kZXZpZF90b19s b2NhbGRldihsaWJ4bF9fZ2MgKmdjLCBpbnQgZGV2aWQpCit7CisgICAgLyogVE9ETyAqLworICAg IHJldHVybiBOVUxMOworfQorCisvKiBIb3RwbHVnIHNjcmlwdHMgY2FsbGVyIGZ1bmN0aW9ucyAq Lworc3RhdGljIGludCBsaWJ4bF9faG90cGx1Z19lbnZfbmljKGxpYnhsX19nYyAqZ2MsIGxpYnhs X19kZXZpY2UgKmRldiwgY2hhciAqKiplbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IG51bV9leGVjKQoreworICAgIGludCBuciA9IDA7CisgICAgY29uc3QgaW50IGFy cmF5c2l6ZSA9IDU7CisgICAgbGlieGxfbmljX3R5cGUgdHlwZTsKKworICAgIGFzc2VydChkZXYt PmJhY2tlbmRfa2luZCA9PSBMSUJYTF9fREVWSUNFX0tJTkRfVklGKTsKKworICAgIC8qCisgICAg ICogT24gdGhlIGZpcnN0IHBhc3MgdGhlIFBWIGludGVyZmFjZSBpcyBhZGRlZCB0byB0aGUgYnJp ZGdlLAorICAgICAqIG9uIHRoZSBzZWNvbmQgcGFzcyB0aGUgdGFwIGludGVyZmFjZSB3aWxsIGFs c28gYmUgYWRkZWQuCisgICAgICovCisgICAgdHlwZSA9IG51bV9leGVjID09IDAgPyBMSUJYTF9O SUNfVFlQRV9WSUYgOiBMSUJYTF9OSUNfVFlQRV9WSUZfSU9FTVU7CisKKyAgICBHQ05FV19BUlJB WSgqZW52LCBhcnJheXNpemUpOworICAgICgqZW52KVtucisrXSA9ICJpZmFjZV9kZXYiOworICAg ICgqZW52KVtucisrXSA9IChjaGFyICopIGxpYnhsX19kZXZpY2VfbmljX2Rldm5hbWUoZ2MsIGRl di0+ZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXYtPmRldmlkLCB0eXBlKTsKKyAgICAoKmVudilbbnIrK10gPSAiZW11bGF0ZWQi OworICAgICgqZW52KVtucisrXSA9IHR5cGUgPT0gTElCWExfTklDX1RZUEVfVklGX0lPRU1VID8g IjEiIDogIjAiOworICAgICgqZW52KVtucisrXSA9IE5VTEw7CisgICAgYXNzZXJ0KG5yID09IGFy cmF5c2l6ZSk7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBsaWJ4bF9faG90cGx1 Z19uaWMobGlieGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2LCBjaGFyICoqKmFyZ3MsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZGV2aWNlX2FjdGlvbiBhY3Rpb24p Cit7CisgICAgY2hhciAqYmVfcGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBk ZXYpOworICAgIGNoYXIgKnNjcmlwdDsKKyAgICBpbnQgbnIgPSAwLCByYyA9IDAsIGFycmF5c2l6 ZSA9IDQ7CisKKyAgICBhc3NlcnQoZGV2LT5iYWNrZW5kX2tpbmQgPT0gTElCWExfX0RFVklDRV9L SU5EX1ZJRik7CisKKyAgICBzY3JpcHQgPSBsaWJ4bF9feHNfcmVhZChnYywgWEJUX05VTEwsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0NTUFJJTlRGKCIlcy8lcyIsIGJlX3BhdGgsICJz Y3JpcHQiKSk7CisgICAgaWYgKCFzY3JpcHQpIHsKKyAgICAgICAgTE9HRVYoRVJST1IsIGVycm5v LCAidW5hYmxlIHRvIHJlYWQgc2NyaXB0IGZyb20gJXMiLCBiZV9wYXRoKTsKKyAgICAgICAgcmMg PSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBHQ05FV19BUlJB WSgqYXJncywgYXJyYXlzaXplKTsKKyAgICAoKmFyZ3MpW25yKytdID0gc2NyaXB0OworICAgICgq YXJncylbbnIrK10gPSBiZV9wYXRoOworICAgICgqYXJncylbbnIrK10gPSBHQ1NQUklOVEYoIiVz IiwgYWN0aW9uID09IExJQlhMX19ERVZJQ0VfQUNUSU9OX0FERCA/CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiYWRkIiA6ICJyZW1vdmUiKTsKKyAgICAoKmFyZ3MpW25yKytd ID0gTlVMTDsKKyAgICBhc3NlcnQobnIgPT0gYXJyYXlzaXplKTsKKworb3V0OgorICAgIHJldHVy biByYzsKK30KKworaW50IGxpYnhsX19nZXRfaG90cGx1Z19zY3JpcHRfaW5mbyhsaWJ4bF9fZ2Mg KmdjLCBsaWJ4bF9fZGV2aWNlICpkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNoYXIgKioqYXJncywgY2hhciAqKiplbnYsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxpYnhsX19kZXZpY2VfYWN0aW9uIGFjdGlvbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50IG51bV9leGVjKQoreworICAgIGxpYnhsX25pY190eXBlIG5p Y3R5cGU7CisgICAgaW50IHJjOworCisgICAgaWYgKGRldi0+YmFja2VuZF9raW5kICE9IExJQlhM X19ERVZJQ0VfS0lORF9WSUYgfHwgbnVtX2V4ZWMgPT0gMikKKyAgICAgICAgcmV0dXJuIDA7CisK KyAgICByYyA9IGxpYnhsX19uaWNfdHlwZShnYywgZGV2LCAmbmljdHlwZSk7CisgICAgaWYgKHJj KSB7CisgICAgICAgIExPRyhFUlJPUiwgImVycm9yIHdoZW4gZmV0Y2hpbmcgbmljIHR5cGUiKTsK KyAgICAgICAgcmMgPSBFUlJPUl9GQUlMOworICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAg ICAvKgorICAgICAqIEZvciBQViBkb21haW5zIG9ubHkgb25lIHBhc3MgaXMgbmVlZGVkIChiZWNh dXNlIHRoZXJlJ3Mgbm8gZW11bGF0ZWQKKyAgICAgKiBpbnRlcmZhY2UpLiBGb3IgSFZNIGRvbWFp bnMgdHdvIHBhc3NlcyBhcmUgbmVlZGVkIGluIG9yZGVyIHRvIGFkZAorICAgICAqIGJvdGggdGhl IFBWIGFuZCB0aGUgdGFwIGludGVyZmFjZXMgdG8gdGhlIGJyaWRnZS4KKyAgICAgKi8KKyAgICBp ZiAobmljdHlwZSA9PSBMSUJYTF9OSUNfVFlQRV9WSUYgJiYgbnVtX2V4ZWMgIT0gMCkgeworICAg ICAgICByYyA9IDA7CisgICAgICAgIGdvdG8gb3V0OworICAgIH0KKworICAgIHJjID0gbGlieGxf X2hvdHBsdWdfZW52X25pYyhnYywgZGV2LCBlbnYsIG51bV9leGVjKTsKKyAgICBpZiAocmMpCisg ICAgICAgIGdvdG8gb3V0OworCisgICAgcmMgPSBsaWJ4bF9faG90cGx1Z19uaWMoZ2MsIGRldiwg YXJncywgYWN0aW9uKTsKKyAgICBpZiAoIXJjKSByYyA9IDE7CisKK291dDoKKyAgICByZXR1cm4g cmM7Cit9CisKK2xpYnhsX2RldmljZV9tb2RlbF92ZXJzaW9uIGxpYnhsX19kZWZhdWx0X2Rldmlj ZV9tb2RlbChsaWJ4bF9fZ2MgKmdjKQoreworICAgIHJldHVybiBMSUJYTF9ERVZJQ0VfTU9ERUxf VkVSU0lPTl9RRU1VX1hFTjsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX29zZGVw cy5oIGIvdG9vbHMvbGlieGwvbGlieGxfb3NkZXBzLmgKaW5kZXggYWVhODNlZS4uMDhlYWYwYyAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfb3NkZXBzLmgKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfb3NkZXBzLmgKQEAgLTM3LDYgKzM3LDExIEBACiAjaW5jbHVkZSA8cHR5Lmg+CiAjZWxp ZiBkZWZpbmVkKF9fc3VuX18pCiAjaW5jbHVkZSA8c3Ryb3B0cy5oPgorI2VsaWYgZGVmaW5lZChf X0ZyZWVCU0RfXykKKyNkZWZpbmUgU1lTRlNfUENJX0RFViAgICAgICAgICAiL2Rldi9udWxsIgor I2RlZmluZSBTWVNGU19QQ0lCQUNLX0RSSVZFUiAgICIvZGV2L251bGwiCisjZGVmaW5lIE5FVEJB Q0tfTklDX05BTUUgICAgICAgInhuYiV1LiVkIgorI2luY2x1ZGUgPGxpYnV0aWwuaD4KICNlbmRp ZgogCiAjaWZuZGVmIFNZU0ZTX1BDSUJBQ0tfRFJJVkVSCi0tIAoxLjcuNy41IChBcHBsZSBHaXQt MjYpCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK