From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 2/4] libxl: refactor domcreate_attach_pci() to use device type framework Date: Wed, 6 Jul 2016 16:55:32 +0200 Message-ID: <1467816934-7183-3-git-send-email-jgross@suse.com> References: <1467816934-7183-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: <1467816934-7183-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: Juergen Gross , wei.liu2@citrix.com, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0KIHRvb2xz L2xpYnhsL2xpYnhsX2NyZWF0ZS5jICAgfCA1NCArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaCB8ICAxICsKIHRv b2xzL2xpYnhsL2xpYnhsX3BjaS5jICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKysr KwogMyBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25zKCspLCA0NyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYyBiL3Rvb2xzL2xpYnhsL2xpYnhs X2NyZWF0ZS5jCmluZGV4IDVlMDVmNmYuLjM1NGM3M2YgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhs L2xpYnhsX2NyZWF0ZS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jCkBAIC03NDIs MTAgKzc0Miw4IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9ib290bG9hZGVyX2RvbmUobGlieGxf X2VnYyAqZWdjLAogc3RhdGljIHZvaWQgZG9tY3JlYXRlX2xhdW5jaF9kbShsaWJ4bF9fZWdjICpl Z2MsIGxpYnhsX19tdWx0aWRldiAqYW9kZXZzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgcmV0KTsKIAotc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0dGFjaF9wY2kobGlieGxf X2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKmFvZGV2cywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCByZXQpOwotc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0dGFjaF9kdGRl dihsaWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp YnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MpOworc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0 dGFjaF9kdGRldihsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXQpOwogCiBzdGF0aWMgdm9p ZCBkb21jcmVhdGVfY29uc29sZV9hdmFpbGFibGUobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRl ICpkY3MpOwpAQCAtMTQwNiw2ICsxNDA0LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBsaWJ4bF9k ZXZpY2VfdHlwZSAqZGV2aWNlX3R5cGVfdGJsW10gPSB7CiAgICAgJmxpYnhsX192dHBtX2RldnR5 cGUsCiAgICAgJmxpYnhsX191c2JjdHJsX2RldnR5cGUsCiAgICAgJmxpYnhsX191c2JkZXZfZGV2 dHlwZSwKKyAgICAmbGlieGxfX3BjaWRldl9kZXZ0eXBlLAogfTsKIAogc3RhdGljIHZvaWQgZG9t Y3JlYXRlX2F0dGFjaF9kZXZpY2VzKGxpYnhsX19lZ2MgKmVnYywKQEAgLTE0NDAsNyArMTQzOSw3 IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNlcyhsaWJ4bF9fZWdjICplZ2Ms CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBkb21jcmVhdGVfYXR0YWNoX3BjaShlZ2Ms IG11bHRpZGV2LCAwKTsKKyAgICBkb21jcmVhdGVfYXR0YWNoX2R0ZGV2KGVnYywgbXVsdGlkZXYs IDApOwogICAgIHJldHVybjsKIAogZXJyb3Jfb3V0OgpAQCAtMTQ4MCw1MiArMTQ3OSwxMyBAQCBl cnJvcl9vdXQ6CiAgICAgZG9tY3JlYXRlX2NvbXBsZXRlKGVnYywgZGNzLCByZXQpOwogfQogCi1z dGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX3BjaShsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19t dWx0aWRldiAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg cmV0KQotewotICAgIGxpYnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBDT05UQUlORVJf T0YobXVsdGlkZXYsICpkY3MsIG11bHRpZGV2KTsKLSAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsK LSAgICBpbnQgaTsKLSAgICBpbnQgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOwotCi0gICAgLyog Y29udmVuaWVuY2UgYWxpYXNlcyAqLwotICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmNvbnN0IGRf Y29uZmlnID0gZGNzLT5ndWVzdF9jb25maWc7Ci0KLSAgICBpZiAocmV0KSB7Ci0gICAgICAgIGdv dG8gZXJyb3Jfb3V0OwotICAgIH0KLQotICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+bnVt X3BjaWRldnM7IGkrKykgewotICAgICAgICByZXQgPSBsaWJ4bF9fZGV2aWNlX3BjaV9hZGQoZ2Ms IGRvbWlkLCAmZF9jb25maWctPnBjaWRldnNbaV0sIDEpOwotICAgICAgICBpZiAocmV0IDwgMCkg ewotICAgICAgICAgICAgTE9HKEVSUk9SLCAibGlieGxfZGV2aWNlX3BjaV9hZGQgZmFpbGVkOiAl ZCIsIHJldCk7Ci0gICAgICAgICAgICBnb3RvIGVycm9yX291dDsKLSAgICAgICAgfQotICAgIH0K LQotICAgIGlmIChkX2NvbmZpZy0+bnVtX3BjaWRldnMgPiAwKSB7Ci0gICAgICAgIHJldCA9IGxp YnhsX19jcmVhdGVfcGNpX2JhY2tlbmQoZ2MsIGRvbWlkLCBkX2NvbmZpZy0+cGNpZGV2cywKLSAg ICAgICAgICAgIGRfY29uZmlnLT5udW1fcGNpZGV2cyk7Ci0gICAgICAgIGlmIChyZXQgPCAwKSB7 Ci0gICAgICAgICAgICBMT0coRVJST1IsICJsaWJ4bF9jcmVhdGVfcGNpX2JhY2tlbmQgZmFpbGVk OiAlZCIsIHJldCk7Ci0gICAgICAgICAgICBnb3RvIGVycm9yX291dDsKLSAgICAgICAgfQotICAg IH0KLQotICAgIGRvbWNyZWF0ZV9hdHRhY2hfZHRkZXYoZWdjLCBkY3MpOwotICAgIHJldHVybjsK LQotZXJyb3Jfb3V0OgotICAgIGFzc2VydChyZXQpOwotICAgIGRvbWNyZWF0ZV9jb21wbGV0ZShl Z2MsIGRjcywgcmV0KTsKLX0KLQogc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0dGFjaF9kdGRldihs aWJ4bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCByZXQpCiB7CisgICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUg KmRjcyA9IENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmRjcywgbXVsdGlkZXYpOwogICAgIFNUQVRF X0FPX0dDKGRjcy0+YW8pOwogICAgIGludCBpOwotICAgIGludCByZXQ7CiAgICAgaW50IGRvbWlk ID0gZGNzLT5ndWVzdF9kb21pZDsKIAogICAgIC8qIGNvbnZlbmllbmNlIGFsaWFzZXMgKi8KZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJ4bC9saWJ4 bF9pbnRlcm5hbC5oCmluZGV4IGQxNjE2MWEuLjc5Y2UzOTIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xp YnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaApA QCAtMzQwOCw2ICszNDA4LDcgQEAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlw ZSBsaWJ4bF9fbmljX2RldnR5cGU7CiBleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90 eXBlIGxpYnhsX192dHBtX2RldnR5cGU7CiBleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhsX2Rldmlj ZV90eXBlIGxpYnhsX191c2JjdHJsX2RldnR5cGU7CiBleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhs X2RldmljZV90eXBlIGxpYnhsX191c2JkZXZfZGV2dHlwZTsKK2V4dGVybiBjb25zdCBzdHJ1Y3Qg bGlieGxfZGV2aWNlX3R5cGUgbGlieGxfX3BjaWRldl9kZXZ0eXBlOwogLyotLS0tLSBEb21haW4g ZGVzdHJ1Y3Rpb24gLS0tLS0qLwogCiAvKiBEb21haW4gZGVzdHJ1Y3Rpb24gaGFzIGJlZW4gc3Bs aXQgaW50byB0d28gZnVuY3Rpb25zOgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfcGNp LmMgYi90b29scy9saWJ4bC9saWJ4bF9wY2kuYwppbmRleCAyMzZiZGQwLi45Njc2Njg3IDEwMDY0 NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9wY2kuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9w Y2kuYwpAQCAtMTI5MSw2ICsxMjkxLDM2IEBAIG91dDoKICAgICByZXR1cm4gcmM7CiB9CiAKK3N0 YXRpYyB2b2lkIGxpYnhsX19hZGRfcGNpZGV2cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19hbyAq YW8sIHVpbnQzMl90IGRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X2RvbWFpbl9jb25maWcgKmRfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYpCit7CisgICAgQU9fR0M7CisgICAgbGlieGxfX2Fv X2RldmljZSAqYW9kZXYgPSBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZShtdWx0aWRldik7CisgICAg aW50IGksIHJjID0gMDsKKworICAgIGZvciAoaSA9IDA7IGkgPCBkX2NvbmZpZy0+bnVtX3BjaWRl dnM7IGkrKykgeworICAgICAgICByYyA9IGxpYnhsX19kZXZpY2VfcGNpX2FkZChnYywgZG9taWQs ICZkX2NvbmZpZy0+cGNpZGV2c1tpXSwgMSk7CisgICAgICAgIGlmIChyYyA8IDApIHsKKyAgICAg ICAgICAgIExPRyhFUlJPUiwgImxpYnhsX2RldmljZV9wY2lfYWRkIGZhaWxlZDogJWQiLCByYyk7 CisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmIChkX2Nv bmZpZy0+bnVtX3BjaWRldnMgPiAwKSB7CisgICAgICAgIHJjID0gbGlieGxfX2NyZWF0ZV9wY2lf YmFja2VuZChnYywgZG9taWQsIGRfY29uZmlnLT5wY2lkZXZzLAorICAgICAgICAgICAgZF9jb25m aWctPm51bV9wY2lkZXZzKTsKKyAgICAgICAgaWYgKHJjIDwgMCkgeworICAgICAgICAgICAgTE9H KEVSUk9SLCAibGlieGxfY3JlYXRlX3BjaV9iYWNrZW5kIGZhaWxlZDogJWQiLCByYyk7CisgICAg ICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgfQorICAgIH0KKworb3V0OgorICAgIGFvZGV2LT5y YyA9IHJjOworICAgIGFvZGV2LT5jYWxsYmFjayhlZ2MsIGFvZGV2KTsKK30KKwogc3RhdGljIGlu dCBxZW11X3BjaV9yZW1vdmVfeGVuc3RvcmUobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZXZpY2VfcGNpICpw Y2lkZXYsIGludCBmb3JjZSkKIHsKQEAgLTE2NjgsNiArMTY5OCw4IEBAIGludCBsaWJ4bF9fZ3Jh bnRfdmdhX2lvbWVtX3Blcm1pc3Npb24obGlieGxfX2djICpnYywgY29uc3QgdWludDMyX3QgZG9t aWQsCiAgICAgcmV0dXJuIDA7CiB9CiAKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QocGNpZGV2 KTsKKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKLS0gCjIuNi42CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==