From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v7 12/32] xen/x86: add bitmap of enabled emulated devices Date: Fri, 2 Oct 2015 17:48:43 +0200 Message-ID: <1443800943-17668-13-git-send-email-roger.pau@citrix.com> References: <1443800943-17668-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Zi2aR-0000BH-Uz for xen-devel@lists.xenproject.org; Fri, 02 Oct 2015 15:49:32 +0000 In-Reply-To: <1443800943-17668-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Wei Liu , Ian Campbell , Stefano Stabellini , George Dunlap , Andrew Cooper , Ian Jackson , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW50cm9kdWNlIGEgYml0bWFwIGluIHg4NiB4ZW5fYXJjaF9kb21haW5jb25maWcgdGhhdCBhbGxv d3MgZW5hYmxpbmcgb3IKZGlzYWJsaW5nIHNwZWNpZmljIGRldmljZXMgZW11bGF0ZWQgaW5zaWRl IG9mIFhlbiBmb3IgSFZNIGd1ZXN0cy4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kg PHJvZ2VyLnBhdUBjaXRyaXguY29tPgpBY2tlZC1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4 LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogU3Rl ZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbT4KQ2M6IElh biBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1 MkBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KLS0tCkNoYW5nZXMgc2luY2UgdjY6CiAtIERl ZmluZSBYRU5fWDg2X0VNVV9BTEwgdG8gY29udGFpbiBhbGwgdGhlIHBvc3NpYmxlIGVtdWxhdGVk IGRldmljZXMuCiAtIFJlbW92ZSBmdWxsIHN0b3BzIGZvcm0gdGhlIHByaW50a3MgYWRkZWQgdG8g YXJjaF9kb21haW5fY3JlYXRlLgogLSBBZGQgV2VpIExpdSBBY2tlZC1ieS4KIC0gQWRkZWQgYSBj aGVjayB0byB4ODYgYXJjaF9kb21haW5fY3JlYXRlIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBhIG5v bi1udWxsCiAgIGNvbmZpZyBpcyBhbHdheXMgcHJvdmlkZWQuCiAtIENoZWNrIHRoYXQgZW11bGF0 aW9uX2ZsYWdzIGlzIGFsd2F5cyAwIGZvciBQViBndWVzdHMuCiAtIEZpeCB4ODYgY2FsbGVycyBv ZiBkb21haW5fY3JlYXRlIGluIG9yZGVyIHRvIG1ha2Ugc3VyZSBhIG5vbi1udWxsIGFyY2gKICAg Y29uZmlnIGlzIGFsd2F5cyBwcm92aWRlZC4KIC0gUmVtb3ZlZCBYRU5fWDg2X0VNVV9QTVUuCiAt IFJlbW92ZWQgQW5kcmV3IENvb3BlcidzIFJldmlld2VkLWJ5LCBzaW5jZSB0aGUgaHlwZXJ2aXNv ciBzaWRlIGNvZGUgaGFzCiAgIGNoYW5nZWQgc3Vic3RhbnRpYWxseS4KCkNoYW5nZXMgc2luY2Ug djQ6CiAtIEFkZCBhIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGUgZW11bGF0aW9uIGJpdG1hcCBpcyBz YW5lICh1bmRlZmluZWQgYml0cyBhcmUKICAgYWxsIDBzKS4KIC0gQWRkIEFuZHJldyBDb29wZXIg UmV2aWV3ZWQtYnkuCgpDaGFuZ2VzIHNpbmNlIHYzOgogLSBSZXR1cm4gRU9QTk9UU1VQUCBpbnN0 ZWFkIG9mIEVOT1BFUk0gaWYgYW4gaW52YWxpZCBlbXVsYXRpb24gbWFzayBpcwogICB1c2VkLgog LSBGaXggZXJyb3IgbWVzc2FnZXMgKHByZWZpeCB0aGVtIHdpdGggZCVkIGFuZCB1c2UgJSN4IGlu c3RlYWQgb2YgMHgleCkuCiAtIENsZWFybHkgc3RhdGUgaW4gdGhlIHB1YmxpYyBoZWFkZXIgdGhh dCBlbXVsYXRpb25fZmxhZ3Mgc2hvdWxkIG9ubHkgYmUKICAgdXNlZCB3aXRoIEhWTSBndWVzdHMu CiAtIEFkZCBhIFhFTl9YODYgcHJlZml4IHRvIHRoZSBlbXVsYXRpb24gZmxhZ3MgZGVmaW5lcy4K IC0gUHJvcGVybHkgcGFyZW50aGVzZSB0aGUgaGFzXyogbWFyY29zLgotLS0KIHRvb2xzL2xpYnhs L2xpYnhsX3g4Ni5jICAgICAgICAgICB8ICA1ICsrKystCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMg ICAgICAgICAgICAgfCAxOSArKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYvbW0uYyAg ICAgICAgICAgICAgICAgfCAgNyArKysrLS0tCiB4ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAg ICAgICAgfCAgMyArKy0KIHhlbi9jb21tb24vc2NoZWR1bGUuYyAgICAgICAgICAgICB8ICA4ICsr KysrKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oICAgICAgfCAxMiArKysrKysrKysr KysKIHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni94ZW4uaCB8IDIzICsrKysrKysrKysrKysr KysrKysrKystCiA3IGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGwvbGlieGxfeDg2LmMgYi90b29scy9saWJ4bC9s aWJ4bF94ODYuYwppbmRleCA5Mjc2MTI2Li5lNzFmODBlIDEwMDY0NAotLS0gYS90b29scy9saWJ4 bC9saWJ4bF94ODYuYworKysgYi90b29scy9saWJ4bC9saWJ4bF94ODYuYwpAQCAtNyw3ICs3LDEw IEBAIGludCBsaWJ4bF9fYXJjaF9kb21haW5fcHJlcGFyZV9jb25maWcobGlieGxfX2djICpnYywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfZG9tYWluX2NvbmZp ZyAqZF9jb25maWcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2Rv bWFpbl9jb25maWd1cmF0aW9uX3QgKnhjX2NvbmZpZykKIHsKLSAgICAvKiBObyBzcGVjaWZpYyBj b25maWd1cmF0aW9uIHJpZ2h0IG5vdyAqLworICAgIGlmIChkX2NvbmZpZy0+Y19pbmZvLnR5cGUg PT0gTElCWExfRE9NQUlOX1RZUEVfSFZNKQorICAgICAgICB4Y19jb25maWctPmVtdWxhdGlvbl9m bGFncyA9IFhFTl9YODZfRU1VX0FMTDsKKyAgICBlbHNlCisgICAgICAgIHhjX2NvbmZpZy0+ZW11 bGF0aW9uX2ZsYWdzID0gMDsKIAogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEveGVuL2Fy Y2gveDg2L2RvbWFpbi5jIGIveGVuL2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IGRjM2JiMDguLjc5 MTgyYTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94 ODYvZG9tYWluLmMKQEAgLTQ5Niw2ICs0OTYsOSBAQCBpbnQgYXJjaF9kb21haW5fY3JlYXRlKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFncywKICAgICBpbnQgaSwgcGFn aW5nX2luaXRpYWxpc2VkID0gMDsKICAgICBpbnQgcmMgPSAtRU5PTUVNOwogCisgICAgaWYgKCBj b25maWcgPT0gTlVMTCApCisgICAgICAgIHJldHVybiAtRUlOVkFMOworCiAgICAgZC0+YXJjaC5z M19pbnRlZ3JpdHkgPSAhIShkb21jcl9mbGFncyAmIERPTUNSRl9zM19pbnRlZ3JpdHkpOwogCiAg ICAgSU5JVF9MSVNUX0hFQUQoJmQtPmFyY2gucGRldl9saXN0KTsKQEAgLTUxNyw2ICs1MjAsMjIg QEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQg ZG9tY3JfZmxhZ3MsCiAgICAgICAgICAgICAgICBkLT5kb21haW5faWQpOwogICAgIH0KIAorICAg IGlmICggKGNvbmZpZy0+ZW11bGF0aW9uX2ZsYWdzICYgflhFTl9YODZfRU1VX0FMTCkgIT0gMCAp CisgICAgeworICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJkJWQ6IEludmFsaWQgZW11bGF0 aW9uIGJpdG1hcDogJSN4XG4iLAorICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBjb25maWct PmVtdWxhdGlvbl9mbGFncyk7CisgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgIH0KKyAgICBp ZiAoIChpc19odm1fZG9tYWluKGQpICYmIGNvbmZpZy0+ZW11bGF0aW9uX2ZsYWdzICE9IFhFTl9Y ODZfRU1VX0FMTCkgfHwKKyAgICAgICAgIChpc19wdl9kb21haW4oZCkgJiYgY29uZmlnLT5lbXVs YXRpb25fZmxhZ3MgIT0gMCkgKQorICAgIHsKKyAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAi ZCVkOiBYZW4gZG9lcyBub3QgYWxsb3cgJXMgZG9tYWluIGNyZWF0aW9uIHdpdGggIgorICAgICAg ICAgICAgICAgInRoZSBjdXJyZW50IHNlbGVjdGlvbiBvZiBlbXVsYXRvcnM6ICUjeFxuIiwgZC0+ ZG9tYWluX2lkLAorICAgICAgICAgICAgICAgaXNfaHZtX2RvbWFpbihkKSA/ICJIVk0iIDogIlBW IiwgY29uZmlnLT5lbXVsYXRpb25fZmxhZ3MpOworICAgICAgICByZXR1cm4gLUVPUE5PVFNVUFA7 CisgICAgfQorICAgIGQtPmFyY2guZW11bGF0aW9uX2ZsYWdzID0gY29uZmlnLT5lbXVsYXRpb25f ZmxhZ3M7CisKICAgICBpZiAoIGhhc19odm1fY29udGFpbmVyX2RvbWFpbihkKSApCiAgICAgewog ICAgICAgICBkLT5hcmNoLmh2bV9kb21haW4uaGFwX2VuYWJsZWQgPQpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L21tLmMgYi94ZW4vYXJjaC94ODYvbW0uYwppbmRleCAzMjdiODM3Li5iMDg3M2Y2 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0uYworKysgYi94ZW4vYXJjaC94ODYvbW0uYwpA QCAtMjU1LDYgKzI1NSw3IEBAIHN0YXRpYyBsNF9wZ2VudHJ5X3QgX19yZWFkX21vc3RseSBzcGxp dF9sNGU7CiB2b2lkIF9faW5pdCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiB7CiAgICAgdW5zaWdu ZWQgbG9uZyBpLCBwZm4sIHJzdGFydF9wZm4sIHJlbmRfcGZuLCBpb3N0YXJ0X3BmbiwgaW9lbmRf cGZuOworICAgIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcgY29uZmlnID0geyAuZW11bGF0 aW9uX2ZsYWdzID0gMCB9OwogCiAgICAgLyogQmFzaWMgZ3Vlc3QtYWNjZXNzaWJsZSBmbGFnczog UFJFU0VOVCwgUi9XLCBVU0VSLCBBL0QsIEFWQUlMWzAsMSwyXSAqLwogICAgIGJhc2VfZGlzYWxs b3dfbWFzayA9IH4oX1BBR0VfUFJFU0VOVHxfUEFHRV9SV3xfUEFHRV9VU0VSfApAQCAtMjcyLDcg KzI3Myw3IEBAIHZvaWQgX19pbml0IGFyY2hfaW5pdF9tZW1vcnkodm9pZCkKICAgICAgKiBIaWRk ZW4gUENJIGRldmljZXMgd2lsbCBhbHNvIGJlIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGRvbWFpbgog ICAgICAqIChidXQgYmUgW3BhcnRseV0gY29udHJvbGxlZCBieSBEb20wIG5ldmVydGhlbGVzcyku CiAgICAgICovCi0gICAgZG9tX3hlbiA9IGRvbWFpbl9jcmVhdGUoRE9NSURfWEVOLCBET01DUkZf ZHVtbXksIDAsIE5VTEwpOworICAgIGRvbV94ZW4gPSBkb21haW5fY3JlYXRlKERPTUlEX1hFTiwg RE9NQ1JGX2R1bW15LCAwLCAmY29uZmlnKTsKICAgICBCVUdfT04oSVNfRVJSKGRvbV94ZW4pKTsK ICAgICBJTklUX0xJU1RfSEVBRCgmZG9tX3hlbi0+YXJjaC5wZGV2X2xpc3QpOwogCkBAIC0yODEs MTQgKzI4MiwxNCBAQCB2b2lkIF9faW5pdCBhcmNoX2luaXRfbWVtb3J5KHZvaWQpCiAgICAgICog VGhpcyBkb21haW4gb3ducyBJL08gcGFnZXMgdGhhdCBhcmUgd2l0aGluIHRoZSByYW5nZSBvZiB0 aGUgcGFnZV9pbmZvCiAgICAgICogYXJyYXkuIE1hcHBpbmdzIG9jY3VyIGF0IHRoZSBwcml2IG9m IHRoZSBjYWxsZXIuCiAgICAgICovCi0gICAgZG9tX2lvID0gZG9tYWluX2NyZWF0ZShET01JRF9J TywgRE9NQ1JGX2R1bW15LCAwLCBOVUxMKTsKKyAgICBkb21faW8gPSBkb21haW5fY3JlYXRlKERP TUlEX0lPLCBET01DUkZfZHVtbXksIDAsICZjb25maWcpOwogICAgIEJVR19PTihJU19FUlIoZG9t X2lvKSk7CiAgICAgCiAgICAgLyoKICAgICAgKiBJbml0aWFsaXNlIG91ciBDT1cgZG9tYWluLgog ICAgICAqIFRoaXMgZG9tYWluIG93bnMgc2hhcmFibGUgcGFnZXMuCiAgICAgICovCi0gICAgZG9t X2NvdyA9IGRvbWFpbl9jcmVhdGUoRE9NSURfQ09XLCBET01DUkZfZHVtbXksIDAsIE5VTEwpOwor ICAgIGRvbV9jb3cgPSBkb21haW5fY3JlYXRlKERPTUlEX0NPVywgRE9NQ1JGX2R1bW15LCAwLCAm Y29uZmlnKTsKICAgICBCVUdfT04oSVNfRVJSKGRvbV9jb3cpKTsKIAogICAgIC8qIEZpcnN0IDFN QiBvZiBSQU0gaXMgaGlzdG9yaWNhbGx5IG1hcmtlZCBhcyBJL08uICovCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IDNmNDg2OGUu LjdlZmNiOWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9hcmNo L3g4Ni9zZXR1cC5jCkBAIC01ODIsNiArNTgyLDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19z dGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKICAgICAgICAgLnBhcml0eSAgICA9ICduJywK ICAgICAgICAgLnN0b3BfYml0cyA9IDEKICAgICB9OworICAgIHN0cnVjdCB4ZW5fYXJjaF9kb21h aW5jb25maWcgY29uZmlnID0geyAuZW11bGF0aW9uX2ZsYWdzID0gMCB9OwogCiAgICAgLyogQ3Jp dGljYWwgcmVnaW9uIHdpdGhvdXQgSURUIG9yIFRTUy4gIEFueSBmYXVsdCBpcyBkZWFkbHkhICov CiAKQEAgLTEzOTQsNyArMTM5NSw3IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVu KHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICogeDg2IGRvZXNuJ3Qgc3VwcG9ydCBhcmNoLWNv bmZpZ3VyYXRpb24uIFNvIGl0J3MgZmluZSB0byBwYXNzCiAgICAgICogTlVMTC4KICAgICAgKi8K LSAgICBkb20wID0gZG9tYWluX2NyZWF0ZSgwLCBkb21jcl9mbGFncywgMCwgTlVMTCk7CisgICAg ZG9tMCA9IGRvbWFpbl9jcmVhdGUoMCwgZG9tY3JfZmxhZ3MsIDAsICZjb25maWcpOwogICAgIGlm ICggSVNfRVJSKGRvbTApIHx8IChhbGxvY19kb20wX3ZjcHUwKGRvbTApID09IE5VTEwpICkKICAg ICAgICAgcGFuaWMoIkVycm9yIGNyZWF0aW5nIGRvbWFpbiAwIik7CiAKZGlmZiAtLWdpdCBhL3hl bi9jb21tb24vc2NoZWR1bGUuYyBiL3hlbi9jb21tb24vc2NoZWR1bGUuYwppbmRleCA1ZmZhMWEx Li5hZWI5MTFlIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL3NjaGVkdWxlLmMKKysrIGIveGVuL2Nv bW1vbi9zY2hlZHVsZS5jCkBAIC0xNDI4LDYgKzE0MjgsOSBAQCBzdGF0aWMgc3RydWN0IG5vdGlm aWVyX2Jsb2NrIGNwdV9zY2hlZHVsZV9uZmIgPSB7CiAvKiBJbml0aWFsaXNlIHRoZSBkYXRhIHN0 cnVjdHVyZXMuICovCiB2b2lkIF9faW5pdCBzY2hlZHVsZXJfaW5pdCh2b2lkKQogeworI2lmZGVm IENPTkZJR19YODYKKyAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnIGNvbmZpZyA9IHsg LmVtdWxhdGlvbl9mbGFncyA9IDAgfTsKKyNlbmRpZgogICAgIHN0cnVjdCBkb21haW4gKmlkbGVf ZG9tYWluOwogICAgIGludCBpOwogCkBAIC0xNDc0LDggKzE0NzcsMTEgQEAgdm9pZCBfX2luaXQg c2NoZWR1bGVyX2luaXQodm9pZCkKICAgICAgICAgc2NoZWRfcmF0ZWxpbWl0X3VzID0gU0NIRURf REVGQVVMVF9SQVRFTElNSVRfVVM7CiAgICAgfQogCi0gICAgLyogVGhlcmUgaXMgbm8gbmVlZCBv ZiBhcmNoLXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIGFuIGlkbGUgZG9tYWluICovCisjaWZk ZWYgQ09ORklHX1g4NgorICAgIGlkbGVfZG9tYWluID0gZG9tYWluX2NyZWF0ZShET01JRF9JRExF LCAwLCAwLCAmY29uZmlnKTsKKyNlbHNlCiAgICAgaWRsZV9kb21haW4gPSBkb21haW5fY3JlYXRl KERPTUlEX0lETEUsIDAsIDAsIE5VTEwpOworI2VuZGlmCiAgICAgQlVHX09OKElTX0VSUihpZGxl X2RvbWFpbikpOwogICAgIGlkbGVfZG9tYWluLT52Y3B1ID0gaWRsZV92Y3B1OwogICAgIGlkbGVf ZG9tYWluLT5tYXhfdmNwdXMgPSBucl9jcHVfaWRzOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggZjFk N2VkNi4uODRhZTRjMSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAor KysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zODcsOCArMzg3LDIwIEBAIHN0 cnVjdCBhcmNoX2RvbWFpbgogICAgIC8qIE1lbV9hY2Nlc3MgZW11bGF0aW9uIGNvbnRyb2wgKi8K ICAgICBib29sX3QgbWVtX2FjY2Vzc19lbXVsYXRlX2VuYWJsZWQ7CiAgICAgYm9vbF90IG1lbV9h Y2Nlc3NfZW11bGF0ZV9lYWNoX3JlcDsKKworICAgIC8qIEVtdWxhdGVkIGRldmljZXMgZW5hYmxl ZCBiaXRtYXAuICovCisgICAgdWludDMyX3QgZW11bGF0aW9uX2ZsYWdzOwogfSBfX2NhY2hlbGlu ZV9hbGlnbmVkOwogCisjZGVmaW5lIGhhc192bGFwaWMoZCkgICAgICAgKChkKS0+YXJjaC5lbXVs YXRpb25fZmxhZ3MgJiBYRU5fWDg2X0VNVV9MQVBJQykKKyNkZWZpbmUgaGFzX3ZocGV0KGQpICAg ICAgICAoKGQpLT5hcmNoLmVtdWxhdGlvbl9mbGFncyAmIFhFTl9YODZfRU1VX0hQRVQpCisjZGVm aW5lIGhhc192cG10aW1lcihkKSAgICAgKChkKS0+YXJjaC5lbXVsYXRpb25fZmxhZ3MgJiBYRU5f WDg2X0VNVV9QTVRJTUVSKQorI2RlZmluZSBoYXNfdnJ0YyhkKSAgICAgICAgICgoZCktPmFyY2gu ZW11bGF0aW9uX2ZsYWdzICYgWEVOX1g4Nl9FTVVfUlRDKQorI2RlZmluZSBoYXNfdmlvYXBpYyhk KSAgICAgICgoZCktPmFyY2guZW11bGF0aW9uX2ZsYWdzICYgWEVOX1g4Nl9FTVVfSU9BUElDKQor I2RlZmluZSBoYXNfdnBpYyhkKSAgICAgICAgICgoZCktPmFyY2guZW11bGF0aW9uX2ZsYWdzICYg WEVOX1g4Nl9FTVVfUElDKQorI2RlZmluZSBoYXNfdnZnYShkKSAgICAgICAgICgoZCktPmFyY2gu ZW11bGF0aW9uX2ZsYWdzICYgWEVOX1g4Nl9FTVVfVkdBKQorI2RlZmluZSBoYXNfdmlvbW11KGQp ICAgICAgICgoZCktPmFyY2guZW11bGF0aW9uX2ZsYWdzICYgWEVOX1g4Nl9FTVVfSU9NTVUpCisK ICNkZWZpbmUgaGFzX2FyY2hfcGRldnMoZCkgICAgKCFsaXN0X2VtcHR5KCYoZCktPmFyY2gucGRl dl9saXN0KSkKIAogI2RlZmluZSBnZHRfbGR0X3B0X2lkeCh2KSBcCmRpZmYgLS1naXQgYS94ZW4v aW5jbHVkZS9wdWJsaWMvYXJjaC14ODYveGVuLmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14 ODYveGVuLmgKaW5kZXggMmVjYzljOS4uYzk3YTliNCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv cHVibGljL2FyY2gteDg2L3hlbi5oCisrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni94 ZW4uaApAQCAtMjY4LDcgKzI2OCwyOCBAQCB0eXBlZGVmIHN0cnVjdCBhcmNoX3NoYXJlZF9pbmZv IGFyY2hfc2hhcmVkX2luZm9fdDsKICAqIFhFTl9ET01DVExfSU5URVJGQUNFX1ZFUlNJT04uCiAg Ki8KIHN0cnVjdCB4ZW5fYXJjaF9kb21haW5jb25maWcgewotICAgIGNoYXIgZHVtbXk7CisjZGVm aW5lIF9YRU5fWDg2X0VNVV9MQVBJQyAgICAgICAgICAwCisjZGVmaW5lIFhFTl9YODZfRU1VX0xB UElDICAgICAgICAgICAoMVU8PF9YRU5fWDg2X0VNVV9MQVBJQykKKyNkZWZpbmUgX1hFTl9YODZf RU1VX0hQRVQgICAgICAgICAgIDEKKyNkZWZpbmUgWEVOX1g4Nl9FTVVfSFBFVCAgICAgICAgICAg ICgxVTw8X1hFTl9YODZfRU1VX0hQRVQpCisjZGVmaW5lIF9YRU5fWDg2X0VNVV9QTVRJTUVSICAg ICAgICAyCisjZGVmaW5lIFhFTl9YODZfRU1VX1BNVElNRVIgICAgICAgICAoMVU8PF9YRU5fWDg2 X0VNVV9QTVRJTUVSKQorI2RlZmluZSBfWEVOX1g4Nl9FTVVfUlRDICAgICAgICAgICAgMworI2Rl ZmluZSBYRU5fWDg2X0VNVV9SVEMgICAgICAgICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfUlRDKQor I2RlZmluZSBfWEVOX1g4Nl9FTVVfSU9BUElDICAgICAgICAgNAorI2RlZmluZSBYRU5fWDg2X0VN VV9JT0FQSUMgICAgICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfSU9BUElDKQorI2RlZmluZSBfWEVO X1g4Nl9FTVVfUElDICAgICAgICAgICAgNQorI2RlZmluZSBYRU5fWDg2X0VNVV9QSUMgICAgICAg ICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfUElDKQorI2RlZmluZSBfWEVOX1g4Nl9FTVVfVkdBICAg ICAgICAgICAgNgorI2RlZmluZSBYRU5fWDg2X0VNVV9WR0EgICAgICAgICAgICAgKDFVPDxfWEVO X1g4Nl9FTVVfVkdBKQorI2RlZmluZSBfWEVOX1g4Nl9FTVVfSU9NTVUgICAgICAgICAgNworI2Rl ZmluZSBYRU5fWDg2X0VNVV9JT01NVSAgICAgICAgICAgKDFVPDxfWEVOX1g4Nl9FTVVfSU9NTVUp CisKKyNkZWZpbmUgWEVOX1g4Nl9FTVVfQUxMICAgICAgICAgICAgIChYRU5fWDg2X0VNVV9MQVBJ QyB8IFhFTl9YODZfRU1VX0hQRVQgfCAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFhFTl9YODZfRU1VX1BNVElNRVIgfCBYRU5fWDg2X0VNVV9SVEMgfCBcCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWEVOX1g4Nl9FTVVfSU9BUElDIHwgWEVOX1g4 Nl9FTVVfUElDIHwgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYRU5f WDg2X0VNVV9WR0EgfCBYRU5fWDg2X0VNVV9JT01NVSkKKyAgICB1aW50MzJfdCBlbXVsYXRpb25f ZmxhZ3M7CiB9OwogI2VuZGlmCiAKLS0gCjEuOS41IChBcHBsZSBHaXQtNTAuMykKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=