From: Xin Li Subject: [PATCH 3/3] xen/xsm: Add new SILO mode for XSM Date: Mon, 8 Oct 2018 18:59:03 +0800 Message-ID: <20181008105903.766-3-xin.li@citrix.com> References: <20181008105903.766-1-xin.li@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181008105903.766-1-xin.li@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Sergey Dyasli , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Xin Li , Tim Deegan , Jan Beulich , Andrew Cooper , Ming Lu , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org V2hlbiBTSUxPIGlzIGVuYWJsZWQsIHRoZXJlIHdvdWxkIGJlIG5vIHBhZ2Utc2hhcmluZyBvciBl dmVudCBub3RpZmljYXRpb25zCmJldHdlZW4gdW5wcml2aWxlZ2VkIFZNcyAobm8gZ3JhbnQgdGFi bGVzIG9yIGV2ZW50IGNoYW5uZWxzKS4KClNpZ25lZC1vZmYtYnk6IFhpbiBMaSA8eGluLmxpQGNp dHJpeC5jb20+CgotLS0KQ0M6IERhbmllbCBEZSBHcmFhZiA8ZGdkZWdyYUB0eWNoby5uc2EuZ292 PgpDQzogR2VvcmdlIER1bmxhcCA8R2VvcmdlLkR1bmxhcEBldS5jaXRyaXguY29tPgpDQzogSmFu IEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxr b25yYWQud2lsa0BvcmFjbGUuY29tPgpDQzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGlu aUBrZXJuZWwub3JnPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNDOiBXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgpDQzogU2VyZ2V5IER5YXNsaSA8c2VyZ2V5LmR5YXNsaUBjaXRy aXguY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ0M6 IE1pbmcgTHUgPG1pbmcubHVAY2l0cml4LmNvbT4KCnY1OgoxLiB1c2UgX19tYXliZV91bnVzZWQg aW5zdGVhZCBvZiBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSksIGFuZCByZW1vdmUKdW5uZWNlc3Nh cnkgI2lmZGVmIENPTkZJR19YU01fU0lMTy4KMi4gcmVuYW1lIGN1cl9kb20gdG8gY3VycmQuCjMu IG1vdmUgdGhlIHJlbW92YWwgb2YgI2RlZmluZSBpbiBkdW1teS5jIHRvIGEgc2VwZXJhdGUgcGF0 Y2guCjQuIHJlbW92ZSBhIGJsYW5rIGxpbmUgaW4gc2lsby5jLgoKLS0tCiBkb2NzL21pc2MveGVu LWNvbW1hbmQtbGluZS5tYXJrZG93biB8ICAgNSArLQogeGVuL2NvbW1vbi9LY29uZmlnICAgICAg ICAgICAgICAgICAgfCAgMTUgKysrKwogeGVuL2luY2x1ZGUveHNtL2R1bW15LmggICAgICAgICAg ICAgfCAgIDMgKy0KIHhlbi9pbmNsdWRlL3hzbS94c20uaCAgICAgICAgICAgICAgIHwgICA2ICsr CiB4ZW4veHNtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiB4ZW4veHNtL3Np bG8uYyAgICAgICAgICAgICAgICAgICAgICB8IDEwOCArKysrKysrKysrKysrKysrKysrKysrKysr KysrCiB4ZW4veHNtL3hzbV9jb3JlLmMgICAgICAgICAgICAgICAgICB8ICAxMSArKysKIDcgZmls ZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k ZSAxMDA2NDQgeGVuL3hzbS9zaWxvLmMKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1h bmQtbGluZS5tYXJrZG93biBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCmlu ZGV4IDY3ZTA2MmVjZDcuLjJjNzA0NmViODYgMTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94ZW4tY29t bWFuZC1saW5lLm1hcmtkb3duCisrKyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtk b3duCkBAIC05MDAsNyArOTAwLDcgQEAgTm90ZSB0aGF0IHNwZWNpZnlpbmcgemVybyBhcyBkb21V IHZhbHVlIG1lYW5zIHplcm8sIHdoaWxlIGZvciBkb20wIGl0IG1lYW5zCiB0byB1c2UgdGhlIGRl ZmF1bHQuCiAKICMjIyB4c20KLT4gYD0gZHVtbXkgfCBmbGFza2AKKz4gYD0gZHVtbXkgfCBmbGFz ayB8IHNpbG9gCiAKID4gRGVmYXVsdDogYGR1bW15YAogCkBAIC05MTEsNiArOTExLDkgQEAgdGhl IGh5cGVydmlzb3Igd2FzIGNvbXBpbGVkIHdpdGggWFNNIHN1cHBvcnQuCiAgICh0aGUgZHVtbXkg bW9kdWxlKSB3aWxsIGJlIGFwcGxpZWQuICBJdCdzIGFsc28gdXNlZCB3aGVuIFhTTSBpcyBjb21w aWxlZCBvdXQuCiAqIGBmbGFza2A6IHRoaXMgaXMgdGhlIHBvbGljeSBiYXNlZCBhY2Nlc3MgY29u dHJvbC4gIFRvIGNob29zZSB0aGlzLCB0aGUKICAgc2VwYXJhdGVkIG9wdGlvbiBpbiBrY29uZmln IG11c3QgYWxzbyBiZSBlbmFibGVkLgorKiBgc2lsb2A6IHRoaXMgd2lsbCBkZW55IGFueSB1bm1l ZGlhdGVkIGNvbW11bmljYXRpb24gY2hhbm5lbHMgYmV0d2VlbgorICB1bnByaXZpbGVnZWQgVk1z LiAgVG8gY2hvb3NlIHRoaXMsIHRoZSBzZXBhcmF0ZWQgb3B0aW9uIGluIGtjb25maWcgbXVzdCBh bHNvCisgIGJlIGVuYWJsZWQuCiAKICMjIyBmbGFzawogPiBgPSBwZXJtaXNzaXZlIHwgZW5mb3Jj aW5nIHwgbGF0ZSB8IGRpc2FibGVkYApkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9LY29uZmlnIGIv eGVuL2NvbW1vbi9LY29uZmlnCmluZGV4IGY4MDJlZmI2MjUuLmNlOTY1ZmJmMTcgMTAwNjQ0Ci0t LSBhL3hlbi9jb21tb24vS2NvbmZpZworKysgYi94ZW4vY29tbW9uL0tjb25maWcKQEAgLTE1NCwx NSArMTU0LDMwIEBAIGNvbmZpZyBYU01fRkxBU0tfUE9MSUNZCiAKIAkgIElmIHVuc3VyZSwgc2F5 IFkuCiAKK2NvbmZpZyBYU01fU0lMTworCWRlZl9ib29sIHkKKwlwcm9tcHQgIlNJTE8gc3VwcG9y dCIKKwlkZXBlbmRzIG9uIFhTTQorCS0tLWhlbHAtLS0KKwkgIEVuYWJsZXMgU0lMTyBhcyB0aGUg YWNjZXNzIGNvbnRyb2wgbWVjaGFuaXNtIHVzZWQgYnkgdGhlIFhTTSBmcmFtZXdvcmsuCisJICBU aGlzIGlzIG5vdCB0aGUgZGVmYXVsdCBtb2R1bGUsIGFkZCBib290IHBhcmFtZXRlciB4c209c2ls byB0byBjaG9vc2UKKwkgIGl0LiBUaGlzIHdpbGwgZGVueSBhbnkgdW5tZWRpYXRlZCBjb21tdW5p Y2F0aW9uIGNoYW5uZWxzIChncmFudCB0YWJsZXMKKwkgIGFuZCBldmVudCBjaGFubmVscykgYmV0 d2VlbiB1bnByaXZpbGVnZWQgVk1zLgorCisJICBJZiB1bnN1cmUsIHNheSBZLgorCiBjaG9pY2UK IAlwcm9tcHQgIkRlZmF1bHQgWFNNIGltcGxlbWVudGF0aW9uIgogCWRlcGVuZHMgb24gWFNNCiAJ ZGVmYXVsdCBYU01fRkxBU0tfREVGQVVMVCBpZiBYU01fRkxBU0sKKwlkZWZhdWx0IFhTTV9TSUxP X0RFRkFVTFQgaWYgWFNNX1NJTE8KIAlkZWZhdWx0IFhTTV9EVU1NWV9ERUZBVUxUCiAJY29uZmln IFhTTV9EVU1NWV9ERUZBVUxUCiAJCWJvb2wgIk1hdGNoIG5vbi1YU00gYmVoYXZpb3IiCiAJY29u ZmlnIFhTTV9GTEFTS19ERUZBVUxUCiAJCWJvb2wgIkZMdXggQWR2YW5jZWQgU2VjdXJpdHkgS2Vy bmVsIiBpZiBYU01fRkxBU0sKKwljb25maWcgWFNNX1NJTE9fREVGQVVMVAorCQlib29sICJTSUxP IiBpZiBYU01fU0lMTwogZW5kY2hvaWNlCiAKIGNvbmZpZyBMQVRFX0hXRE9NCmRpZmYgLS1naXQg YS94ZW4vaW5jbHVkZS94c20vZHVtbXkuaCBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCmluZGV4 IGIwYWMxZjY2YjMuLmFlOTcxODIyZDUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3hzbS9kdW1t eS5oCisrKyBiL3hlbi9pbmNsdWRlL3hzbS9kdW1teS5oCkBAIC00OCw3ICs0OCw4IEBAIHZvaWQg X194c21fYWN0aW9uX21pc21hdGNoX2RldGVjdGVkKHZvaWQpOwogICogVGhlcmUgaXMgbm8geHNt X2RlZmF1bHRfdCBhcmd1bWVudCBhdmFpbGFibGUsIHNvIHRoZSB2YWx1ZSBmcm9tIHRoZSBhc3Nl cnRpb24KICAqIGlzIHVzZWQgdG8gaW5pdGlhbGl6ZSB0aGUgdmFyaWFibGUuCiAgKi8KLSNkZWZp bmUgWFNNX0lOTElORSAvKiAqLworI2RlZmluZSBYU01fSU5MSU5FIF9fbWF5YmVfdW51c2VkCisK ICNkZWZpbmUgWFNNX0RFRkFVTFRfQVJHIC8qICovCiAjZGVmaW5lIFhTTV9ERUZBVUxUX1ZPSUQg dm9pZAogI2RlZmluZSBYU01fQVNTRVJUX0FDVElPTihkZWYpIHhzbV9kZWZhdWx0X3QgYWN0aW9u ID0gZGVmOyAodm9pZClhY3Rpb24KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hzbS94c20uaCBi L3hlbi9pbmNsdWRlL3hzbS94c20uaAppbmRleCAzZDY3OTYyNDkzLi4zYjE5MmI1YzMxIDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS94c20veHNtLmgKKysrIGIveGVuL2luY2x1ZGUveHNtL3hzbS5o CkBAIC03MzMsNiArNzMzLDEyIEBAIGV4dGVybiBjb25zdCB1bnNpZ25lZCBjaGFyIHhzbV9mbGFz a19pbml0X3BvbGljeVtdOwogZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGludCB4c21fZmxhc2tfaW5p dF9wb2xpY3lfc2l6ZTsKICNlbmRpZgogCisjaWZkZWYgQ09ORklHX1hTTV9TSUxPCitleHRlcm4g dm9pZCBzaWxvX2luaXQodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHNpbG9faW5p dCh2b2lkKSB7fQorI2VuZGlmCisKICNlbHNlIC8qIENPTkZJR19YU00gKi8KIAogI2luY2x1ZGUg PHhzbS9kdW1teS5oPgpkaWZmIC0tZ2l0IGEveGVuL3hzbS9NYWtlZmlsZSBiL3hlbi94c20vTWFr ZWZpbGUKaW5kZXggOGJiNGEyNGYwOS4uZTRkNTgxZTA2NSAxMDA2NDQKLS0tIGEveGVuL3hzbS9N YWtlZmlsZQorKysgYi94ZW4veHNtL01ha2VmaWxlCkBAIC0xLDUgKzEsNiBAQAogb2JqLXkgKz0g eHNtX2NvcmUubwogb2JqLSQoQ09ORklHX1hTTSkgKz0geHNtX3BvbGljeS5vCiBvYmotJChDT05G SUdfWFNNKSArPSBkdW1teS5vCitvYmotJChDT05GSUdfWFNNX1NJTE8pICs9IHNpbG8ubwogCiBz dWJkaXItJChDT05GSUdfWFNNX0ZMQVNLKSArPSBmbGFzawpkaWZmIC0tZ2l0IGEveGVuL3hzbS9z aWxvLmMgYi94ZW4veHNtL3NpbG8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwLi40ODUwNzU2YTNkCi0tLSAvZGV2L251bGwKKysrIGIveGVuL3hzbS9zaWxvLmMKQEAgLTAs MCArMSwxMDggQEAKKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqIHhzbS9zaWxvLmMKKyAqCisg KiBTSUxPIG1vZHVsZSBmb3IgWFNNIChYZW4gU2VjdXJpdHkgTW9kdWxlcykKKyAqCisgKiBDb3B5 cmlnaHQgKGMpIDIwMTggQ2l0cml4IFN5c3RlbXMgTHRkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0 CisgKiB1bmRlciB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlLAorICogdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUCisgKiBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IK KyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IKKyAqIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh bG9uZyB3aXRoCisgKiB0aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKyAqLworI2RlZmluZSBYU01fTk9fV1JBUFBFUlMKKyNpbmNsdWRlIDx4 c20vZHVtbXkuaD4KKworLyoKKyAqIENoZWNrIGlmIGludGVyLWRvbWFpbiBjb21tdW5pY2F0aW9u IGlzIGFsbG93ZWQuCisgKiBSZXR1cm4gdHJ1ZSB3aGVuIHBhc3MgY2hlY2suCisgKi8KK3N0YXRp YyBib29sIHNpbG9fbW9kZV9kb21fY2hlY2soY29uc3Qgc3RydWN0IGRvbWFpbiAqbGRvbSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGRvbWFpbiAqcmRvbSkK K3sKKyAgICBjb25zdCBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnJlbnQtPmRvbWFpbjsKKwor ICAgIHJldHVybiAoaXNfY29udHJvbF9kb21haW4oY3VycmQpIHx8IGlzX2NvbnRyb2xfZG9tYWlu KGxkb20pIHx8CisgICAgICAgICAgICBpc19jb250cm9sX2RvbWFpbihyZG9tKSB8fCBsZG9tID09 IHJkb20pOworfQorCitzdGF0aWMgaW50IHNpbG9fZXZ0Y2huX3VuYm91bmQoc3RydWN0IGRvbWFp biAqZDEsIHN0cnVjdCBldnRjaG4gKmNobiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkb21pZF90IGlkMikKK3sKKyAgICBpbnQgcmMgPSAtRVBFUk07CisgICAgc3RydWN0IGRvbWFp biAqZDIgPSByY3VfbG9ja19kb21haW5fYnlfYW55X2lkKGlkMik7CisKKyAgICBpZiAoIGQyID09 IE5VTEwgKQorICAgICAgICByYyA9IC1FU1JDSDsKKyAgICBlbHNlCisgICAgeworICAgICAgICBp ZiAoIHNpbG9fbW9kZV9kb21fY2hlY2soZDEsIGQyKSApCisgICAgICAgICAgICByYyA9IHhzbV9l dnRjaG5fdW5ib3VuZChkMSwgY2huLCBpZDIpOworICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihk Mik7CisgICAgfQorCisgICAgcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHNpbG9fZXZ0Y2hu X2ludGVyZG9tYWluKHN0cnVjdCBkb21haW4gKmQxLCBzdHJ1Y3QgZXZ0Y2huICpjaGFuMSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRvbWFpbiAqZDIsIHN0cnVj dCBldnRjaG4gKmNoYW4yKQoreworICAgIGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMSwgZDIp ICkKKyAgICAgICAgcmV0dXJuIHhzbV9ldnRjaG5faW50ZXJkb21haW4oZDEsIGNoYW4xLCBkMiwg Y2hhbjIpOworICAgIHJldHVybiAtRVBFUk07Cit9CisKK3N0YXRpYyBpbnQgc2lsb19ncmFudF9t YXByZWYoc3RydWN0IGRvbWFpbiAqZDEsIHN0cnVjdCBkb21haW4gKmQyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1aW50MzJfdCBmbGFncykKK3sKKyAgICBpZiAoIHNpbG9fbW9kZV9k b21fY2hlY2soZDEsIGQyKSApCisgICAgICAgIHJldHVybiB4c21fZ3JhbnRfbWFwcmVmKGQxLCBk MiwgZmxhZ3MpOworICAgIHJldHVybiAtRVBFUk07Cit9CisKK3N0YXRpYyBpbnQgc2lsb19ncmFu dF90cmFuc2ZlcihzdHJ1Y3QgZG9tYWluICpkMSwgc3RydWN0IGRvbWFpbiAqZDIpCit7CisgICAg aWYgKCBzaWxvX21vZGVfZG9tX2NoZWNrKGQxLCBkMikgKQorICAgICAgICByZXR1cm4geHNtX2dy YW50X3RyYW5zZmVyKGQxLCBkMik7CisgICAgcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGljIGlu dCBzaWxvX2dyYW50X2NvcHkoc3RydWN0IGRvbWFpbiAqZDEsIHN0cnVjdCBkb21haW4gKmQyKQor eworICAgIGlmICggc2lsb19tb2RlX2RvbV9jaGVjayhkMSwgZDIpICkKKyAgICAgICAgcmV0dXJu IHhzbV9ncmFudF9jb3B5KGQxLCBkMik7CisgICAgcmV0dXJuIC1FUEVSTTsKK30KKworc3RhdGlj IHN0cnVjdCB4c21fb3BlcmF0aW9ucyBzaWxvX3hzbV9vcHMgPSB7CisgICAgLmV2dGNobl91bmJv dW5kID0gc2lsb19ldnRjaG5fdW5ib3VuZCwKKyAgICAuZXZ0Y2huX2ludGVyZG9tYWluID0gc2ls b19ldnRjaG5faW50ZXJkb21haW4sCisgICAgLmdyYW50X21hcHJlZiA9IHNpbG9fZ3JhbnRfbWFw cmVmLAorICAgIC5ncmFudF90cmFuc2ZlciA9IHNpbG9fZ3JhbnRfdHJhbnNmZXIsCisgICAgLmdy YW50X2NvcHkgPSBzaWxvX2dyYW50X2NvcHksCit9OworCit2b2lkIF9faW5pdCBzaWxvX2luaXQo dm9pZCkKK3sKKyAgICBwcmludGsoIkluaXRpYWxpc2luZyBYU00gU0lMTyBtb2RlXG4iKTsKKwor ICAgIGlmICggcmVnaXN0ZXJfeHNtKCZzaWxvX3hzbV9vcHMpICkKKyAgICAgICAgcGFuaWMoIlNJ TE86IFVuYWJsZSB0byByZWdpc3RlciB3aXRoIFhTTVxuIik7Cit9CisKKy8qCisgKiBMb2NhbCB2 YXJpYWJsZXM6CisgKiBtb2RlOiBDCisgKiBjLWZpbGUtc3R5bGU6ICJCU0QiCisgKiBjLWJhc2lj LW9mZnNldDogNAorICogdGFiLXdpZHRoOiA0CisgKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKKyAq IEVuZDoKKyAqLwpkaWZmIC0tZ2l0IGEveGVuL3hzbS94c21fY29yZS5jIGIveGVuL3hzbS94c21f Y29yZS5jCmluZGV4IDllNWMxYjA3YTIuLjY2ZTU5ODdjMjcgMTAwNjQ0Ci0tLSBhL3hlbi94c20v eHNtX2NvcmUuYworKysgYi94ZW4veHNtL3hzbV9jb3JlLmMKQEAgLTM0LDExICszNCwxNCBAQCBz dHJ1Y3QgeHNtX29wZXJhdGlvbnMgKnhzbV9vcHM7CiBlbnVtIHhzbV9ib290cGFyYW0gewogICAg IFhTTV9CT09UUEFSQU1fRFVNTVksCiAgICAgWFNNX0JPT1RQQVJBTV9GTEFTSywKKyAgICBYU01f Qk9PVFBBUkFNX1NJTE8sCiB9OwogCiBzdGF0aWMgZW51bSB4c21fYm9vdHBhcmFtIF9faW5pdGRh dGEgeHNtX2Jvb3RwYXJhbSA9CiAjaWZkZWYgQ09ORklHX1hTTV9GTEFTS19ERUZBVUxUCiAgICAg WFNNX0JPT1RQQVJBTV9GTEFTSzsKKyNlbGlmIENPTkZJR19YU01fU0lMT19ERUZBVUxUCisgICAg WFNNX0JPT1RQQVJBTV9TSUxPOwogI2Vsc2UKICAgICBYU01fQk9PVFBBUkFNX0RVTU1ZOwogI2Vu ZGlmCkBAIC01Miw2ICs1NSwxMCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV94c21fcGFyYW0o Y29uc3QgY2hhciAqcykKICNpZmRlZiBDT05GSUdfWFNNX0ZMQVNLCiAgICAgZWxzZSBpZiAoICFz dHJjbXAocywgImZsYXNrIikgKQogICAgICAgICB4c21fYm9vdHBhcmFtID0gWFNNX0JPT1RQQVJB TV9GTEFTSzsKKyNlbmRpZgorI2lmZGVmIENPTkZJR19YU01fU0lMTworICAgIGVsc2UgaWYgKCAh c3RyY21wKHMsICJzaWxvIikgKQorICAgICAgICB4c21fYm9vdHBhcmFtID0gWFNNX0JPT1RQQVJB TV9TSUxPOwogI2VuZGlmCiAgICAgZWxzZQogICAgIHsKQEAgLTk5LDYgKzEwNiwxMCBAQCBzdGF0 aWMgaW50IF9faW5pdCB4c21fY29yZV9pbml0KGNvbnN0IHZvaWQgKnBvbGljeV9idWZmZXIsIHNp emVfdCBwb2xpY3lfc2l6ZSkKICAgICAgICAgZmxhc2tfaW5pdChwb2xpY3lfYnVmZmVyLCBwb2xp Y3lfc2l6ZSk7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBYU01fQk9PVFBBUkFNX1NJTE86 CisgICAgICAgIHNpbG9faW5pdCgpOworICAgICAgICBicmVhazsKKwogICAgIGRlZmF1bHQ6CiAg ICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwogICAgICAgICBicmVhazsKLS0gCjIuMTguMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=