From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 2/4] libxl: add basic support for devices without backend Date: Mon, 19 Sep 2016 14:40:08 +0200 Message-ID: <1474288810-1986-3-git-send-email-jgross@suse.com> References: <1474288810-1986-1-git-send-email-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474288810-1986-1-git-send-email-jgross@suse.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: George.Dunlap@eu.citrix.com, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, Juergen Gross List-Id: xen-devel@lists.xenproject.org V2l0aCB0aGUgcGxhbm5lZCBzdXBwb3J0IG9mIEhWTSBVU0IgcGFzc3Rocm91Z2ggdmlhIHRoZSBV U0IgZW11bGF0aW9uCmNhcGFiaWxpdGllcyBvZiBxZW11IGxpYnhsIGhhcyB0byBzdXBwb3J0IGd1 ZXN0IGRldmljZXMgd2hpY2ggaGF2ZSBubwpiYWNrLSBhbmQgZnJvbnRlbmQuIEluZm9ybWF0aW9u IGFib3V0IHRob3NlIGRldmljZXMgd2lsbCBsaXZlIGluIHRoZQpsaWJ4bCBwYXJ0IG9mIFhlbnN0 b3JlIG9ubHkuCgpBZGQgc29tZSBiYXNpYyBzdXBwb3J0IHRvIGxpYnhsIHRvIGJlIGFibGUgdG8g Y29wZSB3aXRoIHRoaXMgc2NlbmFyaW8uCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq Z3Jvc3NAc3VzZS5jb20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgot LS0KIHRvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jICAgICAgICAgICB8IDU5ICsrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfdHlwZXNfaW50ZXJu YWwuaWRsIHwgIDEgKwogdG9vbHMvbGlieGwvbGlieGxfeHNoZWxwLmMgICAgICAgICAgIHwgIDYg KysrLQogMyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kZXZpY2UuYyBiL3Rvb2xzL2xpYnhsL2xp YnhsX2RldmljZS5jCmluZGV4IGRiZjE1N2QuLmY1M2Y3NzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2RldmljZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RldmljZS5jCkBAIC0x MTQsMTUgKzExNCwyMSBAQCBpbnQgbGlieGxfX2RldmljZV9nZW5lcmljX2FkZChsaWJ4bF9fZ2Mg KmdjLCB4c190cmFuc2FjdGlvbl90IHQsCiAgICAgICAgIGxpYnhsX19kZXZpY2UgKmRldmljZSwg Y2hhciAqKmJlbnRzLCBjaGFyICoqZmVudHMsIGNoYXIgKipyb19mZW50cykKIHsKICAgICBsaWJ4 bF9jdHggKmN0eCA9IGxpYnhsX19nY19vd25lcihnYyk7Ci0gICAgY2hhciAqZnJvbnRlbmRfcGF0 aCwgKmJhY2tlbmRfcGF0aCwgKmxpYnhsX3BhdGg7CisgICAgY2hhciAqZnJvbnRlbmRfcGF0aCA9 IE5VTEwsICpiYWNrZW5kX3BhdGggPSBOVUxMLCAqbGlieGxfcGF0aDsKICAgICBzdHJ1Y3QgeHNf cGVybWlzc2lvbnMgZnJvbnRlbmRfcGVybXNbMl07CiAgICAgc3RydWN0IHhzX3Blcm1pc3Npb25z IHJvX2Zyb250ZW5kX3Blcm1zWzJdOwogICAgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyBiYWNrZW5k X3Blcm1zWzJdOwogICAgIGludCBjcmVhdGVfdHJhbnNhY3Rpb24gPSB0ID09IFhCVF9OVUxMOwor ICAgIGludCBsaWJ4bF9vbmx5ID0gZGV2aWNlLT5iYWNrZW5kX2tpbmQgPT0gTElCWExfX0RFVklD RV9LSU5EX05PTkU7CiAgICAgaW50IHJjOwogCi0gICAgZnJvbnRlbmRfcGF0aCA9IGxpYnhsX19k ZXZpY2VfZnJvbnRlbmRfcGF0aChnYywgZGV2aWNlKTsKLSAgICBiYWNrZW5kX3BhdGggPSBsaWJ4 bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgZGV2aWNlKTsKKyAgICBpZiAobGlieGxfb25seSkg eworICAgICAgICAvKiBiZW50cyBzaG91bGQgYmUgc2V0IGFzIHRoaXMgaXMgdXNlZCB0byBzZXR1 cCBsaWJ4bF9wYXRoIGNvbnRlbnQuICovCisgICAgICAgIGFzc2VydCghZmVudHMgJiYgIXJvX2Zl bnRzKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmcm9udGVuZF9wYXRoID0gbGlieGxfX2Rldmlj ZV9mcm9udGVuZF9wYXRoKGdjLCBkZXZpY2UpOworICAgICAgICBiYWNrZW5kX3BhdGggPSBsaWJ4 bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgZGV2aWNlKTsKKyAgICB9CiAgICAgbGlieGxfcGF0 aCA9IGxpYnhsX19kZXZpY2VfbGlieGxfcGF0aChnYywgZGV2aWNlKTsKIAogICAgIGZyb250ZW5k X3Blcm1zWzBdLmlkID0gZGV2aWNlLT5kb21pZDsKQEAgLTE0NCwxMyArMTUwLDE1IEBAIHJldHJ5 X3RyYW5zYWN0aW9uOgogICAgIHJjID0gbGlieGxfX3hzX3JtX2NoZWNrZWQoZ2MsIHQsIGxpYnhs X3BhdGgpOwogICAgIGlmIChyYykgZ290byBvdXQ7CiAKLSAgICByYyA9IGxpYnhsX194c193cml0 ZV9jaGVja2VkKGdjLCB0LCBHQ1NQUklOVEYoIiVzL2Zyb250ZW5kIixsaWJ4bF9wYXRoKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb250ZW5kX3BhdGgpOwotICAgIGlmIChy YykgZ290byBvdXQ7CisgICAgaWYgKCFsaWJ4bF9vbmx5KSB7CisgICAgICAgIHJjID0gbGlieGxf X3hzX3dyaXRlX2NoZWNrZWQoZ2MsIHQsIEdDU1BSSU5URigiJXMvZnJvbnRlbmQiLGxpYnhsX3Bh dGgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyb250ZW5kX3BhdGgp OworICAgICAgICBpZiAocmMpIGdvdG8gb3V0OwogCi0gICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVf Y2hlY2tlZChnYywgdCwgR0NTUFJJTlRGKCIlcy9iYWNrZW5kIixsaWJ4bF9wYXRoKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tlbmRfcGF0aCk7Ci0gICAgaWYgKHJjKSBn b3RvIG91dDsKKyAgICAgICAgcmMgPSBsaWJ4bF9feHNfd3JpdGVfY2hlY2tlZChnYywgdCwgR0NT UFJJTlRGKCIlcy9iYWNrZW5kIixsaWJ4bF9wYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiYWNrZW5kX3BhdGgpOworICAgICAgICBpZiAocmMpIGdvdG8gb3V0Owor ICAgIH0KIAogICAgIC8qIHh4eCBtdWNoIG9mIHRoaXMgZnVuY3Rpb24gbGFja3MgZXJyb3IgY2hl Y2tzISAqLwogCkBAIC0xNzksMTIgKzE4NywxNSBAQCByZXRyeV90cmFuc2FjdGlvbjoKICAgICB9 CiAKICAgICBpZiAoYmVudHMpIHsKLSAgICAgICAgeHNfcm0oY3R4LT54c2gsIHQsIGJhY2tlbmRf cGF0aCk7Ci0gICAgICAgIHhzX21rZGlyKGN0eC0+eHNoLCB0LCBiYWNrZW5kX3BhdGgpOwotICAg ICAgICB4c19zZXRfcGVybWlzc2lvbnMoY3R4LT54c2gsIHQsIGJhY2tlbmRfcGF0aCwgYmFja2Vu ZF9wZXJtcywgQVJSQVlfU0laRShiYWNrZW5kX3Blcm1zKSk7Ci0gICAgICAgIHhzX3dyaXRlKGN0 eC0+eHNoLCB0LCBHQ1NQUklOVEYoIiVzL2Zyb250ZW5kIiwgYmFja2VuZF9wYXRoKSwKLSAgICAg ICAgICAgICAgICAgZnJvbnRlbmRfcGF0aCwgc3RybGVuKGZyb250ZW5kX3BhdGgpKTsKLSAgICAg ICAgbGlieGxfX3hzX3dyaXRldihnYywgdCwgYmFja2VuZF9wYXRoLCBiZW50cyk7CisgICAgICAg IGlmICghbGlieGxfb25seSkgeworICAgICAgICAgICAgeHNfcm0oY3R4LT54c2gsIHQsIGJhY2tl bmRfcGF0aCk7CisgICAgICAgICAgICB4c19ta2RpcihjdHgtPnhzaCwgdCwgYmFja2VuZF9wYXRo KTsKKyAgICAgICAgICAgIHhzX3NldF9wZXJtaXNzaW9ucyhjdHgtPnhzaCwgdCwgYmFja2VuZF9w YXRoLCBiYWNrZW5kX3Blcm1zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSUkFZ X1NJWkUoYmFja2VuZF9wZXJtcykpOworICAgICAgICAgICAgeHNfd3JpdGUoY3R4LT54c2gsIHQs IEdDU1BSSU5URigiJXMvZnJvbnRlbmQiLCBiYWNrZW5kX3BhdGgpLAorICAgICAgICAgICAgICAg ICAgICAgZnJvbnRlbmRfcGF0aCwgc3RybGVuKGZyb250ZW5kX3BhdGgpKTsKKyAgICAgICAgICAg IGxpYnhsX194c193cml0ZXYoZ2MsIHQsIGJhY2tlbmRfcGF0aCwgYmVudHMpOworICAgICAgICB9 CiAKICAgICAgICAgLyoKICAgICAgICAgICogV2UgbWFrZSBhIGNvcHkgb2YgZXZlcnl0aGluZyBm b3IgdGhlIGJhY2tlbmQgaW4gdGhlIGxpYnhsCkBAIC0xOTQsNiArMjA1LDkgQEAgcmV0cnlfdHJh bnNhY3Rpb246CiAgICAgICAgICAqIGluc3RlYWQuICBCdXQgdGhlcmUgYXJlIHN0aWxsIHBsYWNl cyBpbiBsaWJ4bCB0aGF0IHRyeSB0bwogICAgICAgICAgKiByZWNvbnN0cnVjdCBhIGNvbmZpZyBm cm9tIHhlbnN0b3JlLgogICAgICAgICAgKgorICAgICAgICAgKiBGb3IgZGV2aWNlcyB3aXRob3V0 IFBWIGJhY2tlbmQgKGUuZy4gVVNCIGRldmljZXMgZW11bGF0ZWQgdmlhIHFlbXUpCisgICAgICAg ICAqIG9ubHkgdGhlIGxpYnhsIHBhdGggaXMgd3JpdHRlbi4KKyAgICAgICAgICoKICAgICAgICAg ICogVGhpcyBkdXBsaWNhdGlvbiB3aWxsIHR5cGljYWxseSBwcm9kdWNlcyBkdXBsaWNhdGUga2V5 cwogICAgICAgICAgKiB3aGljaCB3aWxsIGdvIG91dCBvZiBkYXRlLCBidXQgdGhhdCdzIE9LIGJl Y2F1c2Ugbm90aGluZwogICAgICAgICAgKiByZWFkcyB0aG9zZS4gIEZvciBleGFtcGxlLCB0aGVy ZSBpcyB1c3VhbGx5CkBAIC02NzksMTQgKzY5MywyMCBAQCB2b2lkIGxpYnhsX19tdWx0aWRldl9w cmVwYXJlZChsaWJ4bF9fZWdjICplZ2MsCiAKIGludCBsaWJ4bF9fZGV2aWNlX2Rlc3Ryb3kobGli eGxfX2djICpnYywgbGlieGxfX2RldmljZSAqZGV2KQogewotICAgIGNvbnN0IGNoYXIgKmJlX3Bh dGggPSBsaWJ4bF9fZGV2aWNlX2JhY2tlbmRfcGF0aChnYywgZGV2KTsKLSAgICBjb25zdCBjaGFy ICpmZV9wYXRoID0gbGlieGxfX2RldmljZV9mcm9udGVuZF9wYXRoKGdjLCBkZXYpOworICAgIGNv bnN0IGNoYXIgKmJlX3BhdGggPSBOVUxMOworICAgIGNvbnN0IGNoYXIgKmZlX3BhdGggPSBOVUxM OwogICAgIGNvbnN0IGNoYXIgKmxpYnhsX3BhdGggPSBsaWJ4bF9fZGV2aWNlX2xpYnhsX3BhdGgo Z2MsIGRldik7CiAgICAgY29uc3QgY2hhciAqdGFwZGlza19wYXRoID0gR0NTUFJJTlRGKCIlcy8l cyIsIGJlX3BhdGgsICJ0YXBkaXNrLXBhcmFtcyIpOwogICAgIGNvbnN0IGNoYXIgKnRhcGRpc2tf cGFyYW1zOwogICAgIHhzX3RyYW5zYWN0aW9uX3QgdCA9IDA7CiAgICAgaW50IHJjOwogICAgIHVp bnQzMl90IGRvbWlkOworICAgIGludCBsaWJ4bF9vbmx5ID0gZGV2LT5iYWNrZW5kX2tpbmQgPT0g TElCWExfX0RFVklDRV9LSU5EX05PTkU7CisKKyAgICBpZiAoIWxpYnhsX29ubHkpIHsKKyAgICAg ICAgYmVfcGF0aCA9IGxpYnhsX19kZXZpY2VfYmFja2VuZF9wYXRoKGdjLCBkZXYpOworICAgICAg ICBmZV9wYXRoID0gbGlieGxfX2RldmljZV9mcm9udGVuZF9wYXRoKGdjLCBkZXYpOworICAgIH0K IAogICAgIHJjID0gbGlieGxfX2dldF9kb21pZChnYywgJmRvbWlkKTsKICAgICBpZiAocmMpIGdv dG8gb3V0OwpAQCAtNzA0LDEwICs3MjQsMTEgQEAgaW50IGxpYnhsX19kZXZpY2VfZGVzdHJveShs aWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fZGV2aWNlICpkZXYpCiAgICAgICAgICAgICAgKiBUaGUgdG9v bHN0YWNrIGRvbWFpbiBpcyBpbiBjaGFyZ2Ugb2YgcmVtb3ZpbmcgdGhlCiAgICAgICAgICAgICAg KiBmcm9udGVuZCBhbmQgbGlieGwgcGF0aHMuCiAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAg IGxpYnhsX194c19wYXRoX2NsZWFudXAoZ2MsIHQsIGZlX3BhdGgpOworICAgICAgICAgICAgaWYg KCFsaWJ4bF9vbmx5KQorICAgICAgICAgICAgICAgIGxpYnhsX194c19wYXRoX2NsZWFudXAoZ2Ms IHQsIGZlX3BhdGgpOwogICAgICAgICAgICAgbGlieGxfX3hzX3BhdGhfY2xlYW51cChnYywgdCwg bGlieGxfcGF0aCk7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGRldi0+YmFja2VuZF9kb21pZCA9 PSBkb21pZCkgeworICAgICAgICBpZiAoZGV2LT5iYWNrZW5kX2RvbWlkID09IGRvbWlkICYmICFs aWJ4bF9vbmx5KSB7CiAgICAgICAgICAgICAvKgogICAgICAgICAgICAgICogVGhlIGRyaXZlciBk b21haW4gaXMgaW4gY2hhcmdlIG9mIHJlbW92aW5nIHdoYXQgaXQgY2FuCiAgICAgICAgICAgICAg KiBmcm9tIHRoZSBiYWNrZW5kIHBhdGguCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90 eXBlc19pbnRlcm5hbC5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlc19pbnRlcm5hbC5pZGwK aW5kZXggMTc3ZjliNy4uODJlNWMwNyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlw ZXNfaW50ZXJuYWwuaWRsCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzX2ludGVybmFsLmlk bApAQCAtMTQsNiArMTQsNyBAQCBsaWJ4bF9fcW1wX21lc3NhZ2VfdHlwZSA9IEVudW1lcmF0aW9u KCJxbXBfbWVzc2FnZV90eXBlIiwgWwogICAgIF0pCiAKIGxpYnhsX19kZXZpY2Vfa2luZCA9IEVu dW1lcmF0aW9uKCJkZXZpY2Vfa2luZCIsIFsKKyAgICAoMCwgIk5PTkUiKSwKICAgICAoMSwgIlZJ RiIpLAogICAgICgyLCAiVkJEIiksCiAgICAgKDMsICJRRElTSyIpLApkaWZmIC0tZ2l0IGEvdG9v bHMvbGlieGwvbGlieGxfeHNoZWxwLmMgYi90b29scy9saWJ4bC9saWJ4bF94c2hlbHAuYwppbmRl eCA0OTgyYjUyLi5iM2JhYzZkIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF94c2hlbHAu YworKysgYi90b29scy9saWJ4bC9saWJ4bF94c2hlbHAuYwpAQCAtMjAsOCArMjAsMTIgQEAKIGNo YXIgKipsaWJ4bF9feHNfa3ZzX29mX2ZsZXhhcnJheShsaWJ4bF9fZ2MgKmdjLCBmbGV4YXJyYXlf dCAqYXJyYXkpCiB7CiAgICAgY2hhciAqKmt2czsKLSAgICBpbnQgaSwgbGVuZ3RoID0gYXJyYXkt PmNvdW50OworICAgIGludCBpLCBsZW5ndGg7CiAKKyAgICBpZiAoIWFycmF5KQorICAgICAgICBy ZXR1cm4gTlVMTDsKKworICAgIGxlbmd0aCA9IGFycmF5LT5jb3VudDsKICAgICBpZiAoIWxlbmd0 aCkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKLS0gCjIuNi42CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==