From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v9 4/5] x86/ioreq server: Asynchronously reset outstanding p2m_ioreq_server entries. Date: Tue, 21 Mar 2017 10:52:52 +0800 Message-ID: <1490064773-26751-5-git-send-email-yu.c.zhang@linux.intel.com> References: <1490064773-26751-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1490064773-26751-1-git-send-email-yu.c.zhang@linux.intel.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: Kevin Tian , Jun Nakajima , George Dunlap , Andrew Cooper , Paul Durrant , zhiyuan.lv@intel.com, Jan Beulich List-Id: xen-devel@lists.xenproject.org QWZ0ZXIgYW4gaW9yZXEgc2VydmVyIGhhcyB1bm1hcHBlZCwgdGhlIHJlbWFpbmluZyBwMm1faW9y ZXFfc2VydmVyCmVudHJpZXMgbmVlZCB0byBiZSByZXNldCBiYWNrIHRvIHAybV9yYW1fcncuIFRo aXMgcGF0Y2ggZG9lcyB0aGlzCmFzeW5jaHJvbm91c2x5IHdpdGggdGhlIGN1cnJlbnQgcDJtX2No YW5nZV9lbnRyeV90eXBlX2dsb2JhbCgpCmludGVyZmFjZS4KClRoaXMgcGF0Y2ggYWxzbyBkaXNh bGxvd3MgbGl2ZSBtaWdyYXRpb24sIHdoZW4gdGhlcmUncyBzdGlsbCBhbnkKb3V0c3RhbmRpbmcg cDJtX2lvcmVxX3NlcnZlciBlbnRyeSBsZWZ0LiBUaGUgY29yZSByZWFzb24gaXMgb3VyCmN1cnJl bnQgaW1wbGVtZW50YXRpb24gb2YgcDJtX2NoYW5nZV9lbnRyeV90eXBlX2dsb2JhbCgpIGNhbiBu b3QKdGVsbCB0aGUgc3RhdGUgb2YgcDJtX2lvcmVxX3NlcnZlciBlbnRyaWVzKGNhbiBub3QgZGVj aWRlIGlmIGFuCmVudHJ5IGlzIHRvIGJlIGVtdWxhdGVkIG9yIHRvIGJlIHJlc3luY2VkKS4KCk5v dGU6IG5ldyBmaWVsZCBlbnRyeV9jb3VudCBpcyBpbnRyb2R1Y2VkIGluIHN0cnVjdCBwMm1fZG9t YWluLAp0byByZWNvcmQgdGhlIG51bWJlciBvZiBwMm1faW9yZXFfc2VydmVyIHAybSBwYWdlIHRh YmxlIGVudHJpZXMuCk9uZSBuYXR1cmUgb2YgdGhlc2UgZW50cmllcyBpcyB0aGF0IHRoZXkgb25s eSBwb2ludCB0byA0SyBzaXplZApwYWdlIGZyYW1lcywgYmVjYXVzZSBhbGwgcDJtX2lvcmVxX3Nl cnZlciBlbnRyaWVzIGFyZSBvcmlnaW5hdGVkCmZyb20gcDJtX3JhbV9ydyBvbmVzIGluIHAybV9j aGFuZ2VfdHlwZV9vbmUoKS4gV2UgZG8gbm90IG5lZWQgdG8Kd29ycnkgYWJvdXQgdGhlIGNvdW50 aW5nIGZvciAyTS8xRyBzaXplZCBwYWdlcy4KClNpZ25lZC1vZmYtYnk6IFl1IFpoYW5nIDx5dS5j LnpoYW5nQGxpbnV4LmludGVsLmNvbT4KLS0tCkNjOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFu dEBjaXRyaXguY29tPgpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDYzogQW5k cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IEp1biBOYWthamltYSA8anVuLm5ha2Fq aW1hQGludGVsLmNvbT4KQ2M6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwuY29tPgoKY2hh bmdlcyBpbiB2NDogCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IHVzZSBBU1NF UlQoKSBpbnN0ZWFkIG9mICdpZicKICAgIGNvbmRpdGlvbiBpbiBwMm1fY2hhbmdlX3R5cGVfb25l KCkuCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMgZnJvbSBKYW46IGNvbW1pdCBtZXNzYWdlIGNo YW5nZXMgdG8gbWVudGlvbgogICAgdGhlIHAybV9pb3JlcV9zZXJ2ZXIgYXJlIGFsbCBiYXNlZCBv biA0SyBzaXplZCBwYWdlcy4KCmNoYW5nZXMgaW4gdjM6IAogIC0gTW92ZSB0aGUgc3luY2hyb25v dXNseSByZXNldHRpbmcgbG9naWMgaW50byBwYXRjaCA1LgogIC0gQWNjb3JkaW5nIHRvIGNvbW1l bnRzIGZyb20gSmFuOiBpbnRyb2R1Y2UgcDJtX2NoZWNrX2NoYW5nZWFibGUoKQogICAgdG8gY2xh cmlmeSB0aGUgcDJtIHR5cGUgY2hhbmdlIGNvZGUuCiAgLSBBY2NvcmRpbmcgdG8gY29tbWVudHMg ZnJvbSBHZW9yZ2U6IHVzZSBsb2NrcyBpbiB0aGUgc2FtZSBvcmRlcgogICAgdG8gYXZvaWQgZGVh ZGxvY2ssIGNhbGwgcDJtX2NoYW5nZV9lbnRyeV90eXBlX2dsb2JhbCgpIGFmdGVyIHVubWFwCiAg ICBvZiB0aGUgaW9yZXEgc2VydmVyIGlzIGZpbmlzaGVkLgoKY2hhbmdlcyBpbiB2MjogCiAgLSBN b3ZlIHRoZSBjYWxjdWxhdGlvbiBvZiBpb3JlcSBzZXJ2ZXIgcGFnZSBlbnRyeV9jb3V0IGludG8g CiAgICBwMm1fY2hhbmdlX3R5cGVfb25lKCkgc28gdGhhdCB3ZSBkbyBub3QgbmVlZCBhIHNlcGVy YXRlIGxvY2suCiAgICBOb3RlOiBlbnRyeV9jb3VudCBpcyBhbHNvIGNhbGN1bGF0ZWQgaW4gcmVz b2x2ZV9taXNjb25maWcoKS8KICAgIGRvX3JlY2FsYygpLCBmb3J0dW5hdGVseSBjYWxsZXJzIG9m IGJvdGggcm91dGluZXMgaGF2ZSBwMm0gCiAgICBsb2NrIHByb3RlY3RlZCBhbHJlYWR5LgogIC0g U2ltcGxpZnkgbG9naWMgaW4gaHZtb3Bfc2V0X21lbV90eXBlKCkuCiAgLSBJbnRyb2R1Y2Ugcm91 dGluZSBwMm1fZmluaXNoX3R5cGVfY2hhbmdlKCkgdG8gd2FsayB0aGUgcDJtIAogICAgdGFibGUg YW5kIGRvIHRoZSBwMm0gcmVzZXQuCi0tLQogeGVuL2FyY2gveDg2L2h2bS9pb3JlcS5jICB8ICA4 ICsrKysrKysrCiB4ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jIHwgIDkgKysrKysrKysrCiB4ZW4v YXJjaC94ODYvbW0vcDJtLWVwdC5jIHwgIDggKysrKysrKy0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0t cHQuYyAgfCAxMyArKysrKysrKysrKy0tCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgIHwgMjAg KysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggfCAgOSArKysr KysrKy0KIDYgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2lvcmVxLmMgYi94ZW4vYXJjaC94ODYvaHZt L2lvcmVxLmMKaW5kZXggNzQ2Nzk5Zi4uMTAyYzZjMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2h2bS9pb3JlcS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaW9yZXEuYwpAQCAtOTQ5LDYgKzk0 OSwxNCBAQCBpbnQgaHZtX21hcF9tZW1fdHlwZV90b19pb3JlcV9zZXJ2ZXIoc3RydWN0IGRvbWFp biAqZCwgaW9zZXJ2aWRfdCBpZCwKIAogICAgIHNwaW5fdW5sb2NrX3JlY3Vyc2l2ZSgmZC0+YXJj aC5odm1fZG9tYWluLmlvcmVxX3NlcnZlci5sb2NrKTsKIAorICAgIGlmICggcmMgPT0gMCAmJiBm bGFncyA9PSAwICkKKyAgICB7CisgICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0gPSBwMm1f Z2V0X2hvc3RwMm0oZCk7CisKKyAgICAgICAgaWYgKCByZWFkX2F0b21pYygmcDJtLT5pb3JlcS5l bnRyeV9jb3VudCkgKQorICAgICAgICAgICAgcDJtX2NoYW5nZV9lbnRyeV90eXBlX2dsb2JhbChk LCBwMm1faW9yZXFfc2VydmVyLCBwMm1fcmFtX3J3KTsKKyAgICB9CisKICAgICByZXR1cm4gcmM7 CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMgYi94ZW4vYXJjaC94 ODYvbW0vaGFwL2hhcC5jCmluZGV4IGE1N2IzODUuLjZlYzk1MGEgMTAwNjQ0Ci0tLSBhL3hlbi9h cmNoL3g4Ni9tbS9oYXAvaGFwLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYwpAQCAt MTg3LDYgKzE4NywxNSBAQCBvdXQ6CiAgKi8KIHN0YXRpYyBpbnQgaGFwX2VuYWJsZV9sb2dfZGly dHkoc3RydWN0IGRvbWFpbiAqZCwgYm9vbF90IGxvZ19nbG9iYWwpCiB7CisgICAgc3RydWN0IHAy bV9kb21haW4gKnAybSA9IHAybV9nZXRfaG9zdHAybShkKTsKKworICAgIC8qCisgICAgICogUmVm dXNlIHRvIHR1cm4gb24gZ2xvYmFsIGxvZy1kaXJ0eSBtb2RlIGlmCisgICAgICogdGhlcmUncyBv dXRzdGFuZGluZyBwMm1faW9yZXFfc2VydmVyIHBhZ2VzLgorICAgICAqLworICAgIGlmICggbG9n X2dsb2JhbCAmJiByZWFkX2F0b21pYygmcDJtLT5pb3JlcS5lbnRyeV9jb3VudCkgKQorICAgICAg ICByZXR1cm4gLUVCVVNZOworCiAgICAgLyogdHVybiBvbiBQR19sb2dfZGlydHkgYml0IGluIHBh Z2luZyBtb2RlICovCiAgICAgcGFnaW5nX2xvY2soZCk7CiAgICAgZC0+YXJjaC5wYWdpbmcubW9k ZSB8PSBQR19sb2dfZGlydHk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5j IGIveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYwppbmRleCBjYzFlYjIxLi4xZGYzZDA5IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9w Mm0tZXB0LmMKQEAgLTU0NCw2ICs1NDQsMTIgQEAgc3RhdGljIGludCByZXNvbHZlX21pc2NvbmZp ZyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25lZCBsb25nIGdmbikKICAgICAgICAgICAg ICAgICAgICAgZS5pcGF0ID0gaXBhdDsKICAgICAgICAgICAgICAgICAgICAgaWYgKCBlLnJlY2Fs YyAmJiBwMm1faXNfY2hhbmdlYWJsZShlLnNhX3AybXQpICkKICAgICAgICAgICAgICAgICAgICAg eworICAgICAgICAgICAgICAgICAgICAgICAgIGlmICggZS5zYV9wMm10ID09IHAybV9pb3JlcV9z ZXJ2ZXIgKQorICAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcDJtLT5pb3JlcS5lbnRyeV9jb3VudC0tOworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBU1NFUlQocDJtLT5pb3JlcS5lbnRyeV9jb3VudCA+PSAwKTsKKyAgICAgICAgICAg ICAgICAgICAgICAgICB9CisKICAgICAgICAgICAgICAgICAgICAgICAgICBlLnNhX3AybXQgPSBw Mm1faXNfbG9nZGlydHlfcmFuZ2UocDJtLCBnZm4gKyBpLCBnZm4gKyBpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgID8gcDJtX3JhbV9sb2dkaXJ0eSA6IHAybV9yYW1fcnc7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgZXB0X3AybV90eXBlX3RvX2ZsYWdzKHAybSwgJmUs IGUuc2FfcDJtdCwgZS5hY2Nlc3MpOwpAQCAtOTY1LDcgKzk3MSw3IEBAIHN0YXRpYyBtZm5fdCBl cHRfZ2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sCiAgICAgaWYgKCBpc19lcHRlX3Zh bGlkKGVwdF9lbnRyeSkgKQogICAgIHsKICAgICAgICAgaWYgKCAocmVjYWxjIHx8IGVwdF9lbnRy eS0+cmVjYWxjKSAmJgotICAgICAgICAgICAgIHAybV9pc19jaGFuZ2VhYmxlKGVwdF9lbnRyeS0+ c2FfcDJtdCkgKQorICAgICAgICAgICAgIHAybV9jaGVja19jaGFuZ2VhYmxlKGVwdF9lbnRyeS0+ c2FfcDJtdCkgKQogICAgICAgICAgICAgKnQgPSBwMm1faXNfbG9nZGlydHlfcmFuZ2UocDJtLCBn Zm4sIGdmbikgPyBwMm1fcmFtX2xvZ2RpcnR5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA6IHAybV9yYW1fcnc7CiAgICAgICAgIGVsc2UKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0t cHQuYwppbmRleCBmNmM0NWVjLi4xNjlkZTc1IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0v cDJtLXB0LmMKKysrIGIveGVuL2FyY2gveDg2L21tL3AybS1wdC5jCkBAIC00MzYsMTEgKzQzNiwx MyBAQCBzdGF0aWMgaW50IGRvX3JlY2FsYyhzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtLCB1bnNpZ25l ZCBsb25nIGdmbikKICAgICAgICAgIG5lZWRzX3JlY2FsYyhsMSwgKnBlbnQpICkKICAgICB7CiAg ICAgICAgIGwxX3BnZW50cnlfdCBlID0gKnBlbnQ7CisgICAgICAgIHAybV90eXBlX3QgcDJtdF9v bGQ7CiAKICAgICAgICAgaWYgKCAhdmFsaWRfcmVjYWxjKGwxLCBlKSApCiAgICAgICAgICAgICBQ Mk1fREVCVUcoImJvZ3VzIHJlY2FsYyBsZWFmIGF0IGQlZDolbHg6JXVcbiIsCiAgICAgICAgICAg ICAgICAgICAgICAgcDJtLT5kb21haW4tPmRvbWFpbl9pZCwgZ2ZuLCBsZXZlbCk7Ci0gICAgICAg IGlmICggcDJtX2lzX2NoYW5nZWFibGUocDJtX2ZsYWdzX3RvX3R5cGUobDFlX2dldF9mbGFncyhl KSkpICkKKyAgICAgICAgcDJtdF9vbGQgPSBwMm1fZmxhZ3NfdG9fdHlwZShsMWVfZ2V0X2ZsYWdz KGUpKTsKKyAgICAgICAgaWYgKCBwMm1faXNfY2hhbmdlYWJsZShwMm10X29sZCkgKQogICAgICAg ICB7CiAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIG1hc2sgPSB+MFVMIDw8IChsZXZlbCAqIFBB R0VUQUJMRV9PUkRFUik7CiAgICAgICAgICAgICBwMm1fdHlwZV90IHAybXQgPSBwMm1faXNfbG9n ZGlydHlfcmFuZ2UocDJtLCBnZm4gJiBtYXNrLCBnZm4gfCB+bWFzaykKQEAgLTQ2MCw2ICs0NjIs MTMgQEAgc3RhdGljIGludCBkb19yZWNhbGMoc3RydWN0IHAybV9kb21haW4gKnAybSwgdW5zaWdu ZWQgbG9uZyBnZm4pCiAgICAgICAgICAgICAgICAgICAgICBtZm4gJj0gfihfUEFHRV9QU0VfUEFU ID4+IFBBR0VfU0hJRlQpOwogICAgICAgICAgICAgICAgIGZsYWdzIHw9IF9QQUdFX1BTRTsKICAg ICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCBwMm10X29sZCA9PSBwMm1faW9yZXFfc2Vy dmVyICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBwMm0tPmlvcmVxLmVudHJ5X2Nv dW50LS07CisgICAgICAgICAgICAgICAgQVNTRVJUKHAybS0+aW9yZXEuZW50cnlfY291bnQgPj0g MCk7CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIGUgPSBsMWVfZnJvbV9wZm4obWZuLCBm bGFncyk7CiAgICAgICAgICAgICBwMm1fYWRkX2lvbW11X2ZsYWdzKCZlLCBsZXZlbCwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHAybXQgPT0gcDJtX3JhbV9ydykKQEAgLTcyOSw3 ICs3MzgsNyBAQCBwMm1fcHRfc2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2ln bmVkIGxvbmcgZ2ZuLCBtZm5fdCBtZm4sCiBzdGF0aWMgaW5saW5lIHAybV90eXBlX3QgcmVjYWxj X3R5cGUoYm9vbF90IHJlY2FsYywgcDJtX3R5cGVfdCB0LAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2Zu KQogewotICAgIGlmICggIXJlY2FsYyB8fCAhcDJtX2lzX2NoYW5nZWFibGUodCkgKQorICAgIGlm ICggIXJlY2FsYyB8fCAhcDJtX2NoZWNrX2NoYW5nZWFibGUodCkgKQogICAgICAgICByZXR1cm4g dDsKICAgICByZXR1cm4gcDJtX2lzX2xvZ2RpcnR5X3JhbmdlKHAybSwgZ2ZuLCBnZm4pID8gcDJt X3JhbV9sb2dkaXJ0eQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOiBwMm1fcmFtX3J3OwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIv eGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IGRkNGU0NzcuLmUzZTU0ZjEgMTAwNjQ0Ci0tLSBh L3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTk1 NCw2ICs5NTQsMjYgQEAgaW50IHAybV9jaGFuZ2VfdHlwZV9vbmUoc3RydWN0IGRvbWFpbiAqZCwg dW5zaWduZWQgbG9uZyBnZm4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtLT5kZWZhdWx0 X2FjY2VzcykKICAgICAgICAgIDogLUVCVVNZOwogCisgICAgaWYgKCAhcmMgKQorICAgIHsKKyAg ICAgICAgc3dpdGNoICggbnQgKQorICAgICAgICB7CisgICAgICAgIGNhc2UgcDJtX3JhbV9ydzoK KyAgICAgICAgICAgIGlmICggb3QgPT0gcDJtX2lvcmVxX3NlcnZlciApCisgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICAgcDJtLT5pb3JlcS5lbnRyeV9jb3VudC0tOworICAgICAgICAgICAg ICAgIEFTU0VSVChwMm0tPmlvcmVxLmVudHJ5X2NvdW50ID49IDApOworICAgICAgICAgICAgfQor ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgcDJtX2lvcmVxX3NlcnZlcjoKKyAgICAg ICAgICAgIEFTU0VSVChvdCA9PSBwMm1fcmFtX3J3KTsKKyAgICAgICAgICAgIHAybS0+aW9yZXEu ZW50cnlfY291bnQrKzsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisKICAgICBnZm5fdW5sb2NrKHAybSwg Z2ZuLCAwKTsKIAogICAgIHJldHVybiByYzsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCmluZGV4IDM3ODY2ODAuLjM5NWYx MjUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMTIwLDcgKzEyMCwxMCBAQCB0eXBlZGVmIHVuc2lnbmVkIGlu dCBwMm1fcXVlcnlfdDsKIAogLyogVHlwZXMgdGhhdCBjYW4gYmUgc3ViamVjdCB0byBidWxrIHRy YW5zaXRpb25zLiAqLwogI2RlZmluZSBQMk1fQ0hBTkdFQUJMRV9UWVBFUyAocDJtX3RvX21hc2so cDJtX3JhbV9ydykgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBwMm1fdG9fbWFz ayhwMm1fcmFtX2xvZ2RpcnR5KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHAy bV90b19tYXNrKHAybV9yYW1fbG9nZGlydHkpIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgcDJtX3RvX21hc2socDJtX2lvcmVxX3NlcnZlcikgKQorCisjZGVmaW5lIFAyTV9JT1JF UV9UWVBFUyAocDJtX3RvX21hc2socDJtX2lvcmVxX3NlcnZlcikpCiAKICNkZWZpbmUgUDJNX1BP RF9UWVBFUyAocDJtX3RvX21hc2socDJtX3BvcHVsYXRlX29uX2RlbWFuZCkpCiAKQEAgLTE1Nyw2 ICsxNjAsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICNkZWZpbmUgcDJt X2lzX3JlYWRvbmx5KF90KSAocDJtX3RvX21hc2soX3QpICYgUDJNX1JPX1RZUEVTKQogI2RlZmlu ZSBwMm1faXNfZGlzY2FyZF93cml0ZShfdCkgKHAybV90b19tYXNrKF90KSAmIFAyTV9ESVNDQVJE X1dSSVRFX1RZUEVTKQogI2RlZmluZSBwMm1faXNfY2hhbmdlYWJsZShfdCkgKHAybV90b19tYXNr KF90KSAmIFAyTV9DSEFOR0VBQkxFX1RZUEVTKQorI2RlZmluZSBwMm1faXNfaW9yZXEoX3QpIChw Mm1fdG9fbWFzayhfdCkgJiBQMk1fSU9SRVFfVFlQRVMpCiAjZGVmaW5lIHAybV9pc19wb2QoX3Qp IChwMm1fdG9fbWFzayhfdCkgJiBQMk1fUE9EX1RZUEVTKQogI2RlZmluZSBwMm1faXNfZ3JhbnQo X3QpIChwMm1fdG9fbWFzayhfdCkgJiBQMk1fR1JBTlRfVFlQRVMpCiAvKiBHcmFudCB0eXBlcyBh cmUgKm5vdCogY29uc2lkZXJlZCB2YWxpZCwgYmVjYXVzZSB0aGV5IGNhbiBiZQpAQCAtMTc4LDYg KzE4Miw4IEBAIHR5cGVkZWYgdW5zaWduZWQgaW50IHAybV9xdWVyeV90OwogCiAjZGVmaW5lIHAy bV9hbGxvd3NfaW52YWxpZF9tZm4odCkgKHAybV90b19tYXNrKHQpICYgUDJNX0lOVkFMSURfTUZO X1RZUEVTKQogCisjZGVmaW5lIHAybV9jaGVja19jaGFuZ2VhYmxlKHQpIChwMm1faXNfY2hhbmdl YWJsZSh0KSAmJiAhcDJtX2lzX2lvcmVxKHQpKQorCiB0eXBlZGVmIGVudW0gewogICAgIHAybV9o b3N0LAogICAgIHAybV9uZXN0ZWQsCkBAIC0zNDksNiArMzU1LDcgQEAgc3RydWN0IHAybV9kb21h aW4gewogICAgICAgICAgICogYXJlIHRvIGJlIGVtdWxhdGVkIGJ5IGFuIGlvcmVxIHNlcnZlci4K ICAgICAgICAgICAqLwogICAgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOworICAgICAgICAgbG9u ZyBlbnRyeV9jb3VudDsKICAgICAgfSBpb3JlcTsKIH07CiAKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==