From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH 2/6] libxl: add "pv device mode needed" support to device type framework Date: Tue, 12 Jul 2016 17:30:40 +0200 Message-ID: <1468337444-24108-3-git-send-email-jgross@suse.com> References: <1468337444-24108-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: <1468337444-24108-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 QWRkIGFub3RoZXIgY2FsbGJhY2sgdG8gdGhlIGRldmljZSB0eXBlIGZyYW1ld29yayBpbiBvcmRl ciB0byBhaWQKZGVjaXNpb24gd2hldGhlciBhIHB2IGRvbWFpbiBuZWVkcyBhIGRldmljZSBtb2Rl bC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KLS0tCiB0 b29scy9saWJ4bC9saWJ4bC5jICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKy0KIHRvb2xzL2xp YnhsL2xpYnhsX2NyZWF0ZS5jICAgfCAgOCArKy0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfZG0u YyAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhs L2xpYnhsX2ludGVybmFsLmggfCAgMiArKwogdG9vbHMvbGlieGwvbGlieGxfcHZ1c2IuYyAgICB8 IDEyICsrKysrKysrKysrLQogNSBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCAyMiBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bC5jIGIvdG9vbHMvbGli eGwvbGlieGwuYwppbmRleCAwN2I5NmM3Li4xMmJjMGUxIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKQEAgLTc0NzgsNiArNzQ3OCwxNCBA QCBzdGF0aWMgdm9pZCBsaWJ4bF9kZXZpY2VfZGlza19tZXJnZShsaWJ4bF9jdHggKmN0eCwgdm9p ZCAqZDEsIHZvaWQgKmQyKQogICAgIH0KIH0KIAorc3RhdGljIGludCBsaWJ4bF9kZXZpY2VfZGlz a19kbV9uZWVkZWQodm9pZCAqZSwgdW5zaWduZWQgZG9taWQpCit7CisgICAgbGlieGxfZGV2aWNl X2Rpc2sgKmVsZW0gPSBlOworCisgICAgcmV0dXJuIGVsZW0tPmJhY2tlbmQgPT0gTElCWExfRElT S19CQUNLRU5EX1FESVNLICYmCisgICAgICAgICAgIGVsZW0tPmJhY2tlbmRfZG9taWQgPT0gZG9t aWQ7Cit9CisKIHN0YXRpYyBpbnQgbGlieGxfZGV2aWNlX25pY19jb21wYXJlKGxpYnhsX2Rldmlj ZV9uaWMgKmQxLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZGV2 aWNlX25pYyAqZDIpCiB7CkBAIC03NDkwLDcgKzc0OTgsMTEgQEAgc3RhdGljIGludCBsaWJ4bF9k ZXZpY2VfdnRwbV9jb21wYXJlKGxpYnhsX2RldmljZV92dHBtICpkMSwKICAgICByZXR1cm4gQ09N UEFSRV9ERVZJRChkMSwgZDIpOwogfQogCi1ERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKGRpc2ss IC5tZXJnZSA9IGxpYnhsX2RldmljZV9kaXNrX21lcmdlKTsKK0RFRklORV9ERVZJQ0VfVFlQRV9T VFJVQ1QoZGlzaywKKyAgICAubWVyZ2UgICAgICAgPSBsaWJ4bF9kZXZpY2VfZGlza19tZXJnZSwK KyAgICAuZG1fbmVlZGVkICAgPSBsaWJ4bF9kZXZpY2VfZGlza19kbV9uZWVkZWQsCisgICAgLnNr aXBfYXR0YWNoID0gMQorKTsKIERFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QobmljKTsKIERFRklO RV9ERVZJQ0VfVFlQRV9TVFJVQ1QodnRwbSk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xp YnhsX2NyZWF0ZS5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKaW5kZXggNDBkYWMxYS4u MjNiODJlOSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9v bHMvbGlieGwvbGlieGxfY3JlYXRlLmMKQEAgLTE0NTQsNyArMTQ1NCw3IEBAIHN0YXRpYyB2b2lk IGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNlcyhsaWJ4bF9fZWdjICplZ2MsCiAgICAgZGNzLT5kZXZp Y2VfdHlwZV9pZHgrKzsKICAgICBkdCA9IGRldmljZV90eXBlX3RibFtkY3MtPmRldmljZV90eXBl X2lkeF07CiAgICAgaWYgKGR0KSB7Ci0gICAgICAgIGlmICgqbGlieGxfX2RldmljZV90eXBlX2dl dF9udW0oZHQsIGRfY29uZmlnKSA+IDApIHsKKyAgICAgICAgaWYgKCpsaWJ4bF9fZGV2aWNlX3R5 cGVfZ2V0X251bShkdCwgZF9jb25maWcpID4gMCAmJiAhZHQtPnNraXBfYXR0YWNoKSB7CiAgICAg ICAgICAgICAvKiBBdHRhY2ggZGV2aWNlcyAqLwogICAgICAgICAgICAgbGlieGxfX211bHRpZGV2 X2JlZ2luKGFvLCAmZGNzLT5tdWx0aWRldik7CiAgICAgICAgICAgICBkY3MtPm11bHRpZGV2LmNh bGxiYWNrID0gZG9tY3JlYXRlX2F0dGFjaF9kZXZpY2VzOwpAQCAtMTUwMSwxMSArMTUwMSw3IEBA IHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVkKGxpYnhsX19lZ2MgKmVnYywK ICAgICAgICAgfQogICAgIH0KIAotICAgIC8qCi0gICAgICogU2V0dGluZyBkY3MtPmRldmljZV90 eXBlX2lkeCB0byAwIHdpbGwgc2tpcCBkaXNrcywgdGhvc2UgaGF2ZSBiZWVuCi0gICAgICogYWxy ZWFkeSBhZGRlZC4KLSAgICAgKi8KLSAgICBkY3MtPmRldmljZV90eXBlX2lkeCA9IDA7CisgICAg ZGNzLT5kZXZpY2VfdHlwZV9pZHggPSAtMTsKICAgICBkb21jcmVhdGVfYXR0YWNoX2RldmljZXMo ZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7CiAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS90b29s cy9saWJ4bC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlieGwvbGlieGxfZG0uYwppbmRleCBkZTE2YTU5 Li5lM2JmMjhmIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2RtLmMKQEAgLTIzNDgsOCArMjM0OCw5IEBAIGludCBsaWJ4bF9fZGVzdHJv eV9kZXZpY2VfbW9kZWwobGlieGxfX2djICpnYywgdWludDMyX3QgZG9taWQpCiAvKiBSZXR1cm4g MCBpZiBubyBkbSBuZWVkZWQsIDEgaWYgbmVlZGVkIGFuZCA8MCBpZiBlcnJvci4gKi8KIGludCBs aWJ4bF9fbmVlZF94ZW5wdl9xZW11KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcg KmRfY29uZmlnKQogewotICAgIGludCBpLCByZXQ7CisgICAgaW50IGlkeCwgaSwgcmV0LCBudW07 CiAgICAgdWludDMyX3QgZG9taWQ7CisgICAgY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBl ICpkdDsKIAogICAgIHJldCA9IGxpYnhsX19nZXRfZG9taWQoZ2MsICZkb21pZCk7CiAgICAgaWYg KHJldCkgewpAQCAtMjM2MiwxMSArMjM2MywyMSBAQCBpbnQgbGlieGxfX25lZWRfeGVucHZfcWVt dShsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9kb21haW5fY29uZmlnICpkX2NvbmZpZykKICAgICAgICAg Z290byBvdXQ7CiAgICAgfQogCi0gICAgZm9yIChpID0gMDsgaSA8IGRfY29uZmlnLT5udW1fZGlz a3M7IGkrKykgewotICAgICAgICBpZiAoZF9jb25maWctPmRpc2tzW2ldLmJhY2tlbmQgPT0gTElC WExfRElTS19CQUNLRU5EX1FESVNLICYmCi0gICAgICAgICAgICBkX2NvbmZpZy0+ZGlza3NbaV0u YmFja2VuZF9kb21pZCA9PSBkb21pZCkgewotICAgICAgICAgICAgcmV0ID0gMTsKLSAgICAgICAg ICAgIGdvdG8gb3V0OworICAgIGZvciAoaWR4ID0gMDs7IGlkeCsrKSB7CisgICAgICAgIGR0ID0g ZGV2aWNlX3R5cGVfdGJsW2lkeF07CisgICAgICAgIGlmICghZHQpCisgICAgICAgICAgICBicmVh azsKKworICAgICAgICBudW0gPSAqbGlieGxfX2RldmljZV90eXBlX2dldF9udW0oZHQsIGRfY29u ZmlnKTsKKyAgICAgICAgaWYgKCFkdC0+ZG1fbmVlZGVkIHx8ICFudW0pCisgICAgICAgICAgICBj b250aW51ZTsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtOyBpKyspIHsKKyAgICAgICAg ICAgIGlmIChkdC0+ZG1fbmVlZGVkKGxpYnhsX19kZXZpY2VfdHlwZV9nZXRfZWxlbShkdCwgZF9j b25maWcsIGkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9taWQpKSB7CisgICAg ICAgICAgICAgICAgcmV0ID0gMTsKKyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAg ICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtMjM4MCwxNCArMjM5MSw2IEBAIGludCBsaWJ4 bF9fbmVlZF94ZW5wdl9xZW11KGxpYnhsX19nYyAqZ2MsIGxpYnhsX2RvbWFpbl9jb25maWcgKmRf Y29uZmlnKQogICAgICAgICB9CiAgICAgfQogCi0gICAgZm9yIChpID0gMDsgaSA8IGRfY29uZmln LT5udW1fdXNiY3RybHM7IGkrKykgewotICAgICAgIGlmIChkX2NvbmZpZy0+dXNiY3RybHNbaV0u dHlwZSA9PSBMSUJYTF9VU0JDVFJMX1RZUEVfUVVTQiAmJgotICAgICAgICAgICBkX2NvbmZpZy0+ dXNiY3RybHNbaV0uYmFja2VuZF9kb21pZCA9PSBkb21pZCkgewotICAgICAgICAgICAgcmV0ID0g MTsKLSAgICAgICAgICAgIGdvdG8gb3V0OwotICAgICAgICB9Ci0gICAgfQotCiBvdXQ6CiAgICAg cmV0dXJuIHJldDsKIH0KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgg Yi90b29scy9saWJ4bC9saWJ4bF9pbnRlcm5hbC5oCmluZGV4IDFhNjJkNmYuLmFlYTE0ZWEgMTAw NjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKKysrIGIvdG9vbHMvbGlieGwv bGlieGxfaW50ZXJuYWwuaApAQCAtMzQ0MSw2ICszNDQxLDcgQEAgX2hpZGRlbiB2b2lkIGxpYnhs X19ib290bG9hZGVyX3J1bihsaWJ4bF9fZWdjKiwgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKnN0 KTsKIAogc3RydWN0IGxpYnhsX2RldmljZV90eXBlIHsKICAgICBjaGFyICp0eXBlOworICAgIGlu dCBza2lwX2F0dGFjaDsgICAvKiBTa2lwIGVudHJ5IGluIGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNl cygpIGlmIDEgKi8KICAgICBpbnQgcHRyX29mZnNldDsgICAgLyogT2Zmc2V0IG9mIGRldmljZSBh cnJheSBwdHIgaW4gbGlieGxfZG9tYWluX2NvbmZpZyAqLwogICAgIGludCBudW1fb2Zmc2V0OyAg ICAvKiBPZmZzZXQgb2YgIyBvZiBkZXZpY2VzIGluIGxpYnhsX2RvbWFpbl9jb25maWcgKi8KICAg ICBpbnQgZGV2X2VsZW1fc2l6ZTsgLyogU2l6ZSBvZiBvbmUgZGV2aWNlIGVsZW1lbnQgaW4gYXJy YXkgKi8KQEAgLTM0NTAsNiArMzQ1MSw3IEBAIHN0cnVjdCBsaWJ4bF9kZXZpY2VfdHlwZSB7CiAg ICAgdm9pZCAoKmRpc3Bvc2UpKHZvaWQgKik7CiAgICAgaW50ICgqY29tcGFyZSkodm9pZCAqLCB2 b2lkICopOwogICAgIHZvaWQgKCptZXJnZSkobGlieGxfY3R4ICosIHZvaWQgKiwgdm9pZCAqKTsK KyAgICBpbnQgKCpkbV9uZWVkZWQpKHZvaWQgKiwgdW5zaWduZWQpOwogfTsKIAogI2RlZmluZSBE RUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUX1gobmFtZSwgc25hbWUsIC4uLikgICAgICAgICAgICAg ICAgICAgICAgICAgIFwKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3B2dXNiLmMgYi90 b29scy9saWJ4bC9saWJ4bF9wdnVzYi5jCmluZGV4IDQ4YTRjZWMuLmM4NmQwYjYgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3B2dXNiLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfcHZ1 c2IuYwpAQCAtMTY4MSwxMyArMTY4MSwyMyBAQCBzdGF0aWMgaW50IGxpYnhsX2RldmljZV91c2Jj dHJsX2NvbXBhcmUobGlieGxfZGV2aWNlX3VzYmN0cmwgKmQxLAogICAgIHJldHVybiBDT01QQVJF X1VTQkNUUkwoZDEsIGQyKTsKIH0KIAorc3RhdGljIGludCBsaWJ4bF9kZXZpY2VfdXNiY3RybF9k bV9uZWVkZWQodm9pZCAqZSwgdW5zaWduZWQgZG9taWQpCit7CisgICAgbGlieGxfZGV2aWNlX3Vz YmN0cmwgKmVsZW0gPSBlOworCisgICAgcmV0dXJuIGVsZW0tPnR5cGUgPT0gTElCWExfVVNCQ1RS TF9UWVBFX1FVU0IgJiYKKyAgICAgICAgICAgZWxlbS0+YmFja2VuZF9kb21pZCA9PSBkb21pZDsK K30KKwogc3RhdGljIGludCBsaWJ4bF9kZXZpY2VfdXNiZGV2X2NvbXBhcmUobGlieGxfZGV2aWNl X3VzYmRldiAqZDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4 bF9kZXZpY2VfdXNiZGV2ICpkMikKIHsKICAgICByZXR1cm4gQ09NUEFSRV9VU0IoZDEsIGQyKTsK IH0KIAotREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh1c2JjdHJsKTsKK0RFRklORV9ERVZJQ0Vf VFlQRV9TVFJVQ1QodXNiY3RybCwKKyAgICAuZG1fbmVlZGVkID0gbGlieGxfZGV2aWNlX3VzYmN0 cmxfZG1fbmVlZGVkCispOwogREVGSU5FX0RFVklDRV9UWVBFX1NUUlVDVCh1c2JkZXYpOwogCiAv KgotLSAKMi42LjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK