From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 1/4] libxl: add framework for device types Date: Wed, 6 Jul 2016 16:55:31 +0200 Message-ID: <1467816934-7183-2-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 SW5zdGVhZCBvZiBkdXBsaWNhdGUgY29kaW5nIGZvciBlYWNoIGRldmljZSB0eXBlICh2dHBtcywg dXNiY3RybHMsIC4uLikKZXNwZWNpYWxseSBvbiBkb21haW4gY3JlYXRpb24gaW50cm9kdWNlIGEg ZnJhbWV3b3JrIGZvciB0aGF0IHB1cnBvc2UuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3Nz IDxqZ3Jvc3NAc3VzZS5jb20+Ci0tLQpWMjogLSBhZGQgbWFjcm8gdG8gZmlsbCBzdHJ1Y3QgbGli eGxfX2RldmljZV90eXBlIGFzIHN1Z2dlc3RlZCBieQogICAgICBJYW4gSmFja3NvbgogICAgLSBt YWtlIHN0cnVjdCBsaWJ4bF9fZGV2aWNlX3R5cGUgdmFyaWFibGVzIGNvbnN0IGFzIHJlcXVlc3Rl ZCBieQogICAgICBJYW4gSmFja3NvbgotLS0KIHRvb2xzL2xpYnhsL2xpYnhsLmMgICAgICAgICAg fCAgIDMgKwogdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgICB8IDE2MyArKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9pbnRlcm5h bC5oIHwgIDIwICsrKysrKwogdG9vbHMvbGlieGwvbGlieGxfcHZ1c2IuYyAgICB8ICAgNCArKwog NCBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAxMTQgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGwuYyBiL3Rvb2xzL2xpYnhsL2xpYnhsLmMKaW5kZXgg MWM4MTIzOS4uYjNkZWVmMCAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGwuYworKysgYi90 b29scy9saWJ4bC9saWJ4bC5jCkBAIC03NDM0LDYgKzc0MzQsOSBAQCBvdXQ6CiAgICAgcmV0dXJu IHJjOwogfQogCitERUZJTkVfREVWSUNFX1RZUEVfU1RSVUNUKG5pYyk7CitERUZJTkVfREVWSUNF X1RZUEVfU1RSVUNUKHZ0cG0pOworCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTog QwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9s aWJ4bF9jcmVhdGUuYwppbmRleCAxYjk5NDcyLi41ZTA1ZjZmIDEwMDY0NAotLS0gYS90b29scy9s aWJ4bC9saWJ4bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAt NzQyLDEyICs3NDIsNiBAQCBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYm9vdGxvYWRlcl9kb25lKGxp YnhsX19lZ2MgKmVnYywKIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9sYXVuY2hfZG0obGlieGxfX2Vn YyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKmFvZGV2cywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50IHJldCk7CiAKLXN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdnRwbXMo bGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0KTsKLXN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9h dHRhY2hfdXNiY3RybHMobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LCBpbnQgcmV0KTsKLXN0YXRp YyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdXNiZGV2cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19t dWx0aWRldiAqbXVsdGlkZXYsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aW50IHJldCk7CiBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX3BjaShsaWJ4bF9fZWdjICpl Z2MsIGxpYnhsX19tdWx0aWRldiAqYW9kZXZzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW50IHJldCk7CiBzdGF0aWMgdm9pZCBkb21jcmVhdGVfYXR0YWNoX2R0ZGV2KGxpYnhs X19lZ2MgKmVnYywKQEAgLTE0MDcsNiArMTQwMSw1MyBAQCBzdGF0aWMgdm9pZCBkb21jcmVhdGVf bGF1bmNoX2RtKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKICAg ICBkb21jcmVhdGVfY29tcGxldGUoZWdjLCBkY3MsIHJldCk7CiB9CiAKK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgKmRldmljZV90eXBlX3RibFtdID0geworICAgICZsaWJ4 bF9fbmljX2RldnR5cGUsCisgICAgJmxpYnhsX192dHBtX2RldnR5cGUsCisgICAgJmxpYnhsX191 c2JjdHJsX2RldnR5cGUsCisgICAgJmxpYnhsX191c2JkZXZfZGV2dHlwZSwKK307CisKK3N0YXRp YyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNlcyhsaWJ4bF9fZWdjICplZ2MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfX211bHRpZGV2ICptdWx0aWRldiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgcmV0KQoreworICAgIGxp YnhsX19kb21haW5fY3JlYXRlX3N0YXRlICpkY3MgPSBDT05UQUlORVJfT0YobXVsdGlkZXYsICpk Y3MsIG11bHRpZGV2KTsKKyAgICBTVEFURV9BT19HQyhkY3MtPmFvKTsKKyAgICBpbnQgZG9taWQg PSBkY3MtPmd1ZXN0X2RvbWlkOworICAgIGxpYnhsX2RvbWFpbl9jb25maWcgKmNvbnN0IGRfY29u ZmlnID0gZGNzLT5ndWVzdF9jb25maWc7CisgICAgY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90 eXBlICpkdDsKKworICAgIGlmIChyZXQpIHsKKyAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxlIHRv IGFkZCAlcyBkZXZpY2VzIiwKKyAgICAgICAgICAgIGRldmljZV90eXBlX3RibFtkY3MtPmRldmlj ZV90eXBlX2lkeF0tPnR5cGUpOworICAgICAgICBnb3RvIGVycm9yX291dDsKKyAgICB9CisKKyAg ICBkY3MtPmRldmljZV90eXBlX2lkeCsrOworICAgIGlmIChkY3MtPmRldmljZV90eXBlX2lkeCA8 IEFSUkFZX1NJWkUoZGV2aWNlX3R5cGVfdGJsKSkgeworICAgICAgICBkdCA9IGRldmljZV90eXBl X3RibFtkY3MtPmRldmljZV90eXBlX2lkeF07CisgICAgICAgIGlmICgqKGludCAqKSgodm9pZCAq KWRfY29uZmlnICsgZHQtPm51bV9vZmZzZXQpID4gMCkgeworICAgICAgICAgICAgLyogQXR0YWNo IGRldmljZXMgKi8KKyAgICAgICAgICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJmRjcy0+ bXVsdGlkZXYpOworICAgICAgICAgICAgZGNzLT5tdWx0aWRldi5jYWxsYmFjayA9IGRvbWNyZWF0 ZV9hdHRhY2hfZGV2aWNlczsKKyAgICAgICAgICAgIGR0LT5hZGQoZWdjLCBhbywgZG9taWQsIGRf Y29uZmlnLCAmZGNzLT5tdWx0aWRldik7CisgICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJl cGFyZWQoZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7CisgICAgICAgICAgICByZXR1cm47CisgICAg ICAgIH0KKworICAgICAgICBkb21jcmVhdGVfYXR0YWNoX2RldmljZXMoZWdjLCAmZGNzLT5tdWx0 aWRldiwgMCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBkb21jcmVhdGVfYXR0YWNo X3BjaShlZ2MsIG11bHRpZGV2LCAwKTsKKyAgICByZXR1cm47CisKK2Vycm9yX291dDoKKyAgICBh c3NlcnQocmV0KTsKKyAgICBkb21jcmVhdGVfY29tcGxldGUoZWdjLCBkY3MsIHJldCk7Cit9CisK IHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9kZXZtb2RlbF9zdGFydGVkKGxpYnhsX19lZ2MgKmVnYywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX19kbV9zcGF3bl9z dGF0ZSAqZG1zcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBy ZXQpCkBAIC0xNDMwLDExMyArMTQ3MSw4IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9kZXZtb2Rl bF9zdGFydGVkKGxpYnhsX19lZ2MgKmVnYywKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIFBs dWcgbmljIGludGVyZmFjZXMgKi8KLSAgICBpZiAoZF9jb25maWctPm51bV9uaWNzID4gMCkgewot ICAgICAgICAvKiBBdHRhY2ggbmljcyAqLwotICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfYmVnaW4o YW8sICZkY3MtPm11bHRpZGV2KTsKLSAgICAgICAgZGNzLT5tdWx0aWRldi5jYWxsYmFjayA9IGRv bWNyZWF0ZV9hdHRhY2hfdnRwbXM7Ci0gICAgICAgIGxpYnhsX19hZGRfbmljcyhlZ2MsIGFvLCBk b21pZCwgZF9jb25maWcsICZkY3MtPm11bHRpZGV2KTsKLSAgICAgICAgbGlieGxfX211bHRpZGV2 X3ByZXBhcmVkKGVnYywgJmRjcy0+bXVsdGlkZXYsIDApOwotICAgICAgICByZXR1cm47Ci0gICAg fQotCi0gICAgZG9tY3JlYXRlX2F0dGFjaF92dHBtcyhlZ2MsICZkY3MtPm11bHRpZGV2LCAwKTsK LSAgICByZXR1cm47Ci0KLWVycm9yX291dDoKLSAgICBhc3NlcnQocmV0KTsKLSAgICBkb21jcmVh dGVfY29tcGxldGUoZWdjLCBkY3MsIHJldCk7Ci19Ci0KLXN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9h dHRhY2hfdnRwbXMobGlieGxfX2VnYyAqZWdjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKm11bHRpZGV2LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgcmV0KQotewotICAgbGlieGxfX2RvbWFpbl9jcmVhdGVfc3RhdGUg KmRjcyA9IENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmRjcywgbXVsdGlkZXYpOwotICAgU1RBVEVf QU9fR0MoZGNzLT5hbyk7Ci0gICBpbnQgZG9taWQgPSBkY3MtPmd1ZXN0X2RvbWlkOwotCi0gICBs aWJ4bF9kb21haW5fY29uZmlnKiBjb25zdCBkX2NvbmZpZyA9IGRjcy0+Z3Vlc3RfY29uZmlnOwot Ci0gICBpZihyZXQpIHsKLSAgICAgICBMT0coRVJST1IsICJ1bmFibGUgdG8gYWRkIG5pYyBkZXZp Y2VzIik7Ci0gICAgICAgZ290byBlcnJvcl9vdXQ7Ci0gICB9Ci0KLSAgICAvKiBQbHVnIHZ0cG0g ZGV2aWNlcyAqLwotICAgaWYgKGRfY29uZmlnLT5udW1fdnRwbXMgPiAwKSB7Ci0gICAgICAgLyog QXR0YWNoIHZ0cG1zICovCi0gICAgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmZGNzLT5t dWx0aWRldik7Ci0gICAgICAgZGNzLT5tdWx0aWRldi5jYWxsYmFjayA9IGRvbWNyZWF0ZV9hdHRh Y2hfdXNiY3RybHM7Ci0gICAgICAgbGlieGxfX2FkZF92dHBtcyhlZ2MsIGFvLCBkb21pZCwgZF9j b25maWcsICZkY3MtPm11bHRpZGV2KTsKLSAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFyZWQo ZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7Ci0gICAgICAgcmV0dXJuOwotICAgfQotCi0gICBkb21j cmVhdGVfYXR0YWNoX3VzYmN0cmxzKGVnYywgbXVsdGlkZXYsIDApOwotICAgcmV0dXJuOwotCi1l cnJvcl9vdXQ6Ci0gICBhc3NlcnQocmV0KTsKLSAgIGRvbWNyZWF0ZV9jb21wbGV0ZShlZ2MsIGRj cywgcmV0KTsKLX0KLQotc3RhdGljIHZvaWQgZG9tY3JlYXRlX2F0dGFjaF91c2JjdHJscyhsaWJ4 bF9fZWdjICplZ2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhs X19tdWx0aWRldiAqbXVsdGlkZXYsIGludCByZXQpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9jcmVh dGVfc3RhdGUgKmRjcyA9IENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmRjcywgbXVsdGlkZXYpOwot ICAgIFNUQVRFX0FPX0dDKGRjcy0+YW8pOwotICAgIGludCBkb21pZCA9IGRjcy0+Z3Vlc3RfZG9t aWQ7Ci0KLSAgICBsaWJ4bF9kb21haW5fY29uZmlnICpjb25zdCBkX2NvbmZpZyA9IGRjcy0+Z3Vl c3RfY29uZmlnOwotCi0gICAgaWYgKHJldCkgewotICAgICAgICBMT0coRVJST1IsICJ1bmFibGUg dG8gYWRkIHZ0cG0gZGV2aWNlcyIpOwotICAgICAgICBnb3RvIGVycm9yX291dDsKLSAgICB9Ci0K LSAgICBpZiAoZF9jb25maWctPm51bV91c2JjdHJscyA+IDApIHsKLSAgICAgICAgLyogQXR0YWNo IHVzYmN0cmxzICovCi0gICAgICAgIGxpYnhsX19tdWx0aWRldl9iZWdpbihhbywgJmRjcy0+bXVs dGlkZXYpOwotICAgICAgICBkY3MtPm11bHRpZGV2LmNhbGxiYWNrID0gZG9tY3JlYXRlX2F0dGFj aF91c2JkZXZzOwotICAgICAgICBsaWJ4bF9fYWRkX3VzYmN0cmxzKGVnYywgYW8sIGRvbWlkLCBk X2NvbmZpZywgJmRjcy0+bXVsdGlkZXYpOwotICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFy ZWQoZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg ICBkb21jcmVhdGVfYXR0YWNoX3VzYmRldnMoZWdjLCBtdWx0aWRldiwgMCk7Ci0gICAgcmV0dXJu OwotCi1lcnJvcl9vdXQ6Ci0gICAgYXNzZXJ0KHJldCk7Ci0gICAgZG9tY3JlYXRlX2NvbXBsZXRl KGVnYywgZGNzLCByZXQpOwotfQotCi0KLXN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfdXNi ZGV2cyhsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19tdWx0aWRldiAqbXVsdGlkZXYsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCByZXQpCi17Ci0gICAgbGlieGxfX2RvbWFpbl9j cmVhdGVfc3RhdGUgKmRjcyA9IENPTlRBSU5FUl9PRihtdWx0aWRldiwgKmRjcywgbXVsdGlkZXYp OwotICAgIFNUQVRFX0FPX0dDKGRjcy0+YW8pOwotICAgIGludCBkb21pZCA9IGRjcy0+Z3Vlc3Rf ZG9taWQ7Ci0KLSAgICBsaWJ4bF9kb21haW5fY29uZmlnICpjb25zdCBkX2NvbmZpZyA9IGRjcy0+ Z3Vlc3RfY29uZmlnOwotCi0gICAgaWYgKHJldCkgewotICAgICAgICBMT0coRVJST1IsICJ1bmFi bGUgdG8gYWRkIHVzYmN0cmwgZGV2aWNlcyIpOwotICAgICAgICBnb3RvIGVycm9yX291dDsKLSAg ICB9Ci0KLSAgICBpZiAoZF9jb25maWctPm51bV91c2JkZXZzID4gMCkgewotICAgICAgICAvKiBB dHRhY2ggdXNiY3RybHMgKi8KLSAgICAgICAgbGlieGxfX211bHRpZGV2X2JlZ2luKGFvLCAmZGNz LT5tdWx0aWRldik7Ci0gICAgICAgIGRjcy0+bXVsdGlkZXYuY2FsbGJhY2sgPSBkb21jcmVhdGVf YXR0YWNoX3BjaTsKLSAgICAgICAgbGlieGxfX2FkZF91c2JkZXZzKGVnYywgYW8sIGRvbWlkLCBk X2NvbmZpZywgJmRjcy0+bXVsdGlkZXYpOwotICAgICAgICBsaWJ4bF9fbXVsdGlkZXZfcHJlcGFy ZWQoZWdjLCAmZGNzLT5tdWx0aWRldiwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg ICBkb21jcmVhdGVfYXR0YWNoX3BjaShlZ2MsIG11bHRpZGV2LCAwKTsKKyAgICBkY3MtPmRldmlj ZV90eXBlX2lkeCA9IC0xOworICAgIGRvbWNyZWF0ZV9hdHRhY2hfZGV2aWNlcyhlZ2MsICZkY3Mt Pm11bHRpZGV2LCAwKTsKICAgICByZXR1cm47CiAKIGVycm9yX291dDoKQEAgLTE1NTYsNyArMTQ5 Miw2IEBAIHN0YXRpYyB2b2lkIGRvbWNyZWF0ZV9hdHRhY2hfcGNpKGxpYnhsX19lZ2MgKmVnYywg bGlieGxfX211bHRpZGV2ICptdWx0aWRldiwKICAgICBsaWJ4bF9kb21haW5fY29uZmlnICpjb25z dCBkX2NvbmZpZyA9IGRjcy0+Z3Vlc3RfY29uZmlnOwogCiAgICAgaWYgKHJldCkgewotICAgICAg ICBMT0coRVJST1IsICJ1bmFibGUgdG8gYWRkIHVzYiBkZXZpY2VzIik7CiAgICAgICAgIGdvdG8g ZXJyb3Jfb3V0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJu YWwuaCBiL3Rvb2xzL2xpYnhsL2xpYnhsX2ludGVybmFsLmgKaW5kZXggZTdhYjg1ZC4uZDE2MTYx YSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfaW50ZXJuYWwuaAorKysgYi90b29scy9s aWJ4bC9saWJ4bF9pbnRlcm5hbC5oCkBAIC0zMzg5LDYgKzMzODksMjUgQEAgX2hpZGRlbiB2b2lk IGxpYnhsX19ib290bG9hZGVyX2luaXQobGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsKTsKICAq IElmIGNhbGxiYWNrIGlzIHBhc3NlZCByYz09MCwgd2lsbCBoYXZlIHVwZGF0ZWQgc3QtPmluZm8g YXBwcm9wcmlhdGVseSAqLwogX2hpZGRlbiB2b2lkIGxpYnhsX19ib290bG9hZGVyX3J1bihsaWJ4 bF9fZWdjKiwgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKnN0KTsKIAorLyotLS0tLSBHZW5lcmlj IERldmljZSBIYW5kbGluZyAtLS0tLSovCitzdHJ1Y3QgbGlieGxfZGV2aWNlX3R5cGUgeworICAg IGNoYXIgKnR5cGU7CisgICAgaW50IG51bV9vZmZzZXQ7ICAgLyogT2Zmc2V0IG9mICMgb2YgZGV2 aWNlcyBpbiBsaWJ4bF9kb21haW5fY29uZmlnICovCisgICAgdm9pZCAoKmFkZCkobGlieGxfX2Vn YyAqLCBsaWJ4bF9fYW8gKiwgdWludDMyX3QsIGxpYnhsX2RvbWFpbl9jb25maWcgKiwKKyAgICAg ICAgICAgICAgICBsaWJ4bF9fbXVsdGlkZXYgKik7Cit9OworCisjZGVmaW5lIERFRklORV9ERVZJ Q0VfVFlQRV9TVFJVQ1QobmFtZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisg ICAgY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90eXBlIGxpYnhsX18gIyMgbmFtZSAjIyBfZGV2 dHlwZSA9IHsgICAgICBcCisgICAgICAgIC50eXBlICAgICAgID0gI25hbWUsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIC5udW1fb2Zmc2V0ID0g b2Zmc2V0b2YobGlieGxfZG9tYWluX2NvbmZpZywgbnVtXyAjIyBuYW1lICMjIHMpLCBcCisgICAg ICAgIC5hZGQgICAgICAgID0gbGlieGxfX2FkZF8gIyMgbmFtZSAjIyBzLCAgICAgICAgICAgICAg ICAgICAgICAgICBcCisgICAgfQorCitleHRlcm4gY29uc3Qgc3RydWN0IGxpYnhsX2RldmljZV90 eXBlIGxpYnhsX19uaWNfZGV2dHlwZTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2aWNl X3R5cGUgbGlieGxfX3Z0cG1fZGV2dHlwZTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbGlieGxfZGV2 aWNlX3R5cGUgbGlieGxfX3VzYmN0cmxfZGV2dHlwZTsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgbGli eGxfZGV2aWNlX3R5cGUgbGlieGxfX3VzYmRldl9kZXZ0eXBlOwogLyotLS0tLSBEb21haW4gZGVz dHJ1Y3Rpb24gLS0tLS0qLwogCiAvKiBEb21haW4gZGVzdHJ1Y3Rpb24gaGFzIGJlZW4gc3BsaXQg aW50byB0d28gZnVuY3Rpb25zOgpAQCAtMzU2NSw2ICszNTg0LDcgQEAgc3RydWN0IGxpYnhsX19k b21haW5fY3JlYXRlX3N0YXRlIHsKICAgICBsaWJ4bF9hc3luY3Byb2dyZXNzX2hvdyBhb3BfY29u c29sZV9ob3c7CiAgICAgLyogcHJpdmF0ZSB0byBkb21haW5fY3JlYXRlICovCiAgICAgaW50IGd1 ZXN0X2RvbWlkOworICAgIGludCBkZXZpY2VfdHlwZV9pZHg7CiAgICAgY29uc3QgY2hhciAqY29s b19wcm94eV9zY3JpcHQ7CiAgICAgbGlieGxfX2RvbWFpbl9idWlsZF9zdGF0ZSBidWlsZF9zdGF0 ZTsKICAgICBsaWJ4bF9fY29sb19yZXN0b3JlX3N0YXRlIGNyczsKZGlmZiAtLWdpdCBhL3Rvb2xz L2xpYnhsL2xpYnhsX3B2dXNiLmMgYi90b29scy9saWJ4bC9saWJ4bF9wdnVzYi5jCmluZGV4IDg4 NWYwZDQuLjVlZGQyMDYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xpYnhsX3B2dXNiLmMKKysr IGIvdG9vbHMvbGlieGwvbGlieGxfcHZ1c2IuYwpAQCAtMTY2Nyw2ICsxNjY3LDEwIEBAIG91dDoK ICAgICBHQ19GUkVFOwogICAgIHJldHVybiByYzsKIH0KKworREVGSU5FX0RFVklDRV9UWVBFX1NU UlVDVCh1c2JjdHJsKTsKK0RFRklORV9ERVZJQ0VfVFlQRV9TVFJVQ1QodXNiZGV2KTsKKwogLyoK ICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKLS0gCjIuNi42CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==