From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PULL 4/5] xen: create qdev for each backend device Date: Tue, 22 Nov 2016 10:46:08 -0800 Message-ID: <1479840369-19503-4-git-send-email-sstabellini@kernel.org> References: <1479840369-19503-1-git-send-email-sstabellini@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c9G5J-00026v-HG for xen-devel@lists.xenproject.org; Tue, 22 Nov 2016 18:46:25 +0000 In-Reply-To: <1479840369-19503-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: stefanha@gmail.com Cc: Juergen Gross , peter.maydell@linaro.org, sstabellini@kernel.org, qemu-devel@nongnu.org, stefanha@redhat.com, anthony.perard@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org RnJvbTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgoKQ3JlYXRlIGEgcWRldiBwbHVn Z2VkIHRvIHRoZSB4ZW4tc3lzYnVzIGZvciBlYWNoIG5ldyBiYWNrZW5kIGRldmljZS4KVGhpcyBk ZXZpY2UgY2FuIGJlIHVzZWQgYXMgYSBwYXJlbnQgZm9yIGFsbCBuZWVkZWQgZGV2aWNlcyBvZiB0 aGF0CmJhY2tlbmQuIFRoZSBpZCBvZiB0aGUgbmV3IGRldmljZSB3aWxsIGJlICJ4ZW4tPHR5cGU+ LTxkZXY+IiB3aXRoCjx0eXBlPiBiZWluZyB0aGUgeGVuIGJhY2tlbmQgdHlwZSAoZS5nLiAicWRp c2siKSBhbmQgPGRldj4gdGhlIHhlbgpiYWNrZW5kIG51bWJlciBvZiB0aGUgdHlwZSB1bmRlciB3 aGljaCBpdCBpcyB0byBiZSBmb3VuZCBpbiB4ZW5zdG9yZS4KClNpZ25lZC1vZmYtYnk6IEp1ZXJn ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGlu aSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogU3RlZmFubyBTdGFiZWxs aW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgotLS0KIGh3L3hlbi94ZW5fYmFja2VuZC5jICAg ICAgICAgfCA0NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog aHcveGVuL3hlbl9wdmRldi5jICAgICAgICAgICB8ICA0ICsrKy0KIGluY2x1ZGUvaHcveGVuL3hl bl9iYWNrZW5kLmggfCAgNCArKysrCiBpbmNsdWRlL2h3L3hlbi94ZW5fcHZkZXYuaCAgIHwgIDEg KwogNCBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvaHcveGVuL3hlbl9iYWNrZW5kLmMgYi9ody94ZW4veGVuX2JhY2tlbmQuYwppbmRl eCA1YWQzY2FhLi5kMTE5MDA0IDEwMDY0NAotLS0gYS9ody94ZW4veGVuX2JhY2tlbmQuYworKysg Yi9ody94ZW4veGVuX2JhY2tlbmQuYwpAQCAtMjcsMTEgKzI3LDEzIEBACiAKICNpbmNsdWRlICJo dy9ody5oIgogI2luY2x1ZGUgImh3L3N5c2J1cy5oIgorI2luY2x1ZGUgImh3L2JvYXJkcy5oIgog I2luY2x1ZGUgInN5c2VtdS9jaGFyLmgiCiAjaW5jbHVkZSAicWVtdS9sb2cuaCIKICNpbmNsdWRl ICJxYXBpL2Vycm9yLmgiCiAjaW5jbHVkZSAiaHcveGVuL3hlbl9iYWNrZW5kLmgiCiAjaW5jbHVk ZSAiaHcveGVuL3hlbl9wdmRldi5oIgorI2luY2x1ZGUgIm1vbml0b3IvcWRldi5oIgogCiAjaW5j bHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+CiAKQEAgLTEyMSw2ICsxMjMsMTIgQEAgc3RhdGljIHN0 cnVjdCBYZW5EZXZpY2UgKnhlbl9iZV9nZXRfeGVuZGV2KGNvbnN0IGNoYXIgKnR5cGUsIGludCBk b20sIGludCBkZXYsCiAKICAgICAvKiBpbml0IG5ldyB4ZW5kZXYgKi8KICAgICB4ZW5kZXYgPSBn X21hbGxvYzAob3BzLT5zaXplKTsKKyAgICBvYmplY3RfaW5pdGlhbGl6ZSgmeGVuZGV2LT5xZGV2 LCBvcHMtPnNpemUsIFRZUEVfWEVOQkFDS0VORCk7CisgICAgcWRldl9zZXRfcGFyZW50X2J1cygm eGVuZGV2LT5xZGV2LCB4ZW5fc3lzYnVzKTsKKyAgICBxZGV2X3NldF9pZCgmeGVuZGV2LT5xZGV2 LCBnX3N0cmR1cF9wcmludGYoInhlbi0lcy0lZCIsIHR5cGUsIGRldikpOworICAgIHFkZXZfaW5p dF9ub2ZhaWwoJnhlbmRldi0+cWRldik7CisgICAgb2JqZWN0X3VucmVmKE9CSkVDVCgmeGVuZGV2 LT5xZGV2KSk7CisKICAgICB4ZW5kZXYtPnR5cGUgID0gdHlwZTsKICAgICB4ZW5kZXYtPmRvbSAg ID0gZG9tOwogICAgIHhlbmRldi0+ZGV2ICAgPSBkZXY7CkBAIC01NDEsNiArNTQ5LDE1IEBAIGVy cjoKICAgICByZXR1cm4gLTE7CiB9CiAKK3N0YXRpYyB2b2lkIHhlbl9zZXRfZHluYW1pY19zeXNi dXModm9pZCkKK3sKKyAgICBPYmplY3QgKm1hY2hpbmUgPSBxZGV2X2dldF9tYWNoaW5lKCk7Cisg ICAgT2JqZWN0Q2xhc3MgKm9jID0gb2JqZWN0X2dldF9jbGFzcyhtYWNoaW5lKTsKKyAgICBNYWNo aW5lQ2xhc3MgKm1jID0gTUFDSElORV9DTEFTUyhvYyk7CisKKyAgICBtYy0+aGFzX2R5bmFtaWNf c3lzYnVzID0gdHJ1ZTsKK30KKwogaW50IHhlbl9iZV9yZWdpc3Rlcihjb25zdCBjaGFyICp0eXBl LCBzdHJ1Y3QgWGVuRGV2T3BzICpvcHMpCiB7CiAgICAgY2hhciBwYXRoWzUwXTsKQEAgLTU2Miw2 ICs1NzksOCBAQCBpbnQgeGVuX2JlX3JlZ2lzdGVyKGNvbnN0IGNoYXIgKnR5cGUsIHN0cnVjdCBY ZW5EZXZPcHMgKm9wcykKIAogdm9pZCB4ZW5fYmVfcmVnaXN0ZXJfY29tbW9uKHZvaWQpCiB7Cisg ICAgeGVuX3NldF9keW5hbWljX3N5c2J1cygpOworCiAgICAgeGVuX2JlX3JlZ2lzdGVyKCJjb25z b2xlIiwgJnhlbl9jb25zb2xlX29wcyk7CiAgICAgeGVuX2JlX3JlZ2lzdGVyKCJ2a2JkIiwgJnhl bl9rYmRtb3VzZV9vcHMpOwogICAgIHhlbl9iZV9yZWdpc3RlcigicWRpc2siLCAmeGVuX2Jsa2Rl dl9vcHMpOwpAQCAtNTg4LDkgKzYwNywzNiBAQCBpbnQgeGVuX2JlX2JpbmRfZXZ0Y2huKHN0cnVj dCBYZW5EZXZpY2UgKnhlbmRldikKIH0KIAogCitzdGF0aWMgUHJvcGVydHkgeGVuZGV2X3Byb3Bl cnRpZXNbXSA9IHsKKyAgICBERUZJTkVfUFJPUF9FTkRfT0ZfTElTVCgpLAorfTsKKworc3RhdGlj IHZvaWQgeGVuZGV2X2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNzLCB2b2lkICpkYXRhKQor eworICAgIERldmljZUNsYXNzICpkYyA9IERFVklDRV9DTEFTUyhrbGFzcyk7CisKKyAgICBkYy0+ cHJvcHMgPSB4ZW5kZXZfcHJvcGVydGllczsKKyAgICBzZXRfYml0KERFVklDRV9DQVRFR09SWV9N SVNDLCBkYy0+Y2F0ZWdvcmllcyk7Cit9CisKK3N0YXRpYyBjb25zdCBUeXBlSW5mbyB4ZW5kZXZf dHlwZV9pbmZvID0geworICAgIC5uYW1lICAgICAgICAgID0gVFlQRV9YRU5CQUNLRU5ELAorICAg IC5wYXJlbnQgICAgICAgID0gVFlQRV9YRU5TWVNERVYsCisgICAgLmNsYXNzX2luaXQgICAgPSB4 ZW5kZXZfY2xhc3NfaW5pdCwKKyAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNpemVvZihzdHJ1Y3QgWGVu RGV2aWNlKSwKK307CisKK3N0YXRpYyB2b2lkIHhlbl9zeXNidXNfY2xhc3NfaW5pdChPYmplY3RD bGFzcyAqa2xhc3MsIHZvaWQgKmRhdGEpCit7CisgICAgSG90cGx1Z0hhbmRsZXJDbGFzcyAqaGMg PSBIT1RQTFVHX0hBTkRMRVJfQ0xBU1Moa2xhc3MpOworCisgICAgaGMtPnVucGx1ZyA9IHFkZXZf c2ltcGxlX2RldmljZV91bnBsdWdfY2I7Cit9CisKIHN0YXRpYyBjb25zdCBUeXBlSW5mbyB4ZW5z eXNidXNfaW5mbyA9IHsKICAgICAubmFtZSAgICAgICA9IFRZUEVfWEVOU1lTQlVTLAogICAgIC5w YXJlbnQgICAgID0gVFlQRV9CVVMsCisgICAgLmNsYXNzX2luaXQgPSB4ZW5fc3lzYnVzX2NsYXNz X2luaXQsCiAgICAgLmludGVyZmFjZXMgPSAoSW50ZXJmYWNlSW5mb1tdKSB7CiAgICAgICAgIHsg VFlQRV9IT1RQTFVHX0hBTkRMRVIgfSwKICAgICAgICAgeyB9CkBAIC02MjcsNiArNjczLDcgQEAg c3RhdGljIHZvaWQgeGVuYmVfcmVnaXN0ZXJfdHlwZXModm9pZCkKIHsKICAgICB0eXBlX3JlZ2lz dGVyX3N0YXRpYygmeGVuc3lzYnVzX2luZm8pOwogICAgIHR5cGVfcmVnaXN0ZXJfc3RhdGljKCZ4 ZW5zeXNkZXZfaW5mbyk7CisgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnhlbmRldl90eXBlX2lu Zm8pOwogfQogCiB0eXBlX2luaXQoeGVuYmVfcmVnaXN0ZXJfdHlwZXMpCmRpZmYgLS1naXQgYS9o dy94ZW4veGVuX3B2ZGV2LmMgYi9ody94ZW4veGVuX3B2ZGV2LmMKaW5kZXggNTIxMmJjNi4uYWVk NzgzZSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9wdmRldi5jCisrKyBiL2h3L3hlbi94ZW5fcHZk ZXYuYwpAQCAtMTksNiArMTksNyBAQAogCiAjaW5jbHVkZSAicWVtdS9vc2RlcC5oIgogI2luY2x1 ZGUgInFlbXUvbG9nLmgiCisjaW5jbHVkZSAiaHcvcWRldi1jb3JlLmgiCiAjaW5jbHVkZSAiaHcv eGVuL3hlbl9iYWNrZW5kLmgiCiAjaW5jbHVkZSAiaHcveGVuL3hlbl9wdmRldi5oIgogCkBAIC0z MDcsNyArMzA4LDggQEAgdm9pZCB4ZW5fcHZfZGVsX3hlbmRldihzdHJ1Y3QgWGVuRGV2aWNlICp4 ZW5kZXYpCiAgICAgfQogCiAgICAgUVRBSUxRX1JFTU9WRSgmeGVuZGV2cywgeGVuZGV2LCBuZXh0 KTsKLSAgICBnX2ZyZWUoeGVuZGV2KTsKKworICAgIHFkZXZfdW5wbHVnKCZ4ZW5kZXYtPnFkZXYs IE5VTEwpOwogfQogCiB2b2lkIHhlbl9wdl9pbnNlcnRfeGVuZGV2KHN0cnVjdCBYZW5EZXZpY2Ug KnhlbmRldikKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9iYWNrZW5kLmggYi9pbmNs dWRlL2h3L3hlbi94ZW5fYmFja2VuZC5oCmluZGV4IDM4ZjczMGUuLjRmNDc5OWEgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvaHcveGVuL3hlbl9iYWNrZW5kLmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVu X2JhY2tlbmQuaApAQCAtOCw2ICs4LDEwIEBACiAKICNkZWZpbmUgVFlQRV9YRU5TWVNERVYgInhl bi1zeXNkZXYiCiAjZGVmaW5lIFRZUEVfWEVOU1lTQlVTICJ4ZW4tc3lzYnVzIgorI2RlZmluZSBU WVBFX1hFTkJBQ0tFTkQgInhlbi1iYWNrZW5kIgorCisjZGVmaW5lIFhFTkJBQ0tFTkRfREVWSUNF KG9iaikgXAorICAgIE9CSkVDVF9DSEVDSyhYZW5EZXZpY2UsIChvYmopLCBUWVBFX1hFTkJBQ0tF TkQpCiAKIC8qIHZhcmlhYmxlcyAqLwogZXh0ZXJuIHhjX2ludGVyZmFjZSAqeGVuX3hjOwpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9ody94ZW4veGVuX3B2ZGV2LmggYi9pbmNsdWRlL2h3L3hlbi94ZW5f cHZkZXYuaAppbmRleCAwODNmMGE5Li5kNDczZTliIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hl bi94ZW5fcHZkZXYuaAorKysgYi9pbmNsdWRlL2h3L3hlbi94ZW5fcHZkZXYuaApAQCAtMjksNiAr MjksNyBAQCBzdHJ1Y3QgWGVuRGV2T3BzIHsKIH07CiAKIHN0cnVjdCBYZW5EZXZpY2UgeworICAg IERldmljZVN0YXRlICAgICAgICBxZGV2OwogICAgIGNvbnN0IGNoYXIgICAgICAgICAqdHlwZTsK ICAgICBpbnQgICAgICAgICAgICAgICAgZG9tOwogICAgIGludCAgICAgICAgICAgICAgICBkZXY7 Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=