From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v2 05/19] x86/emul: Rename HVM_DELIVER_NO_ERROR_CODE to X86_EVENT_NO_EC Date: Mon, 28 Nov 2016 11:13:22 +0000 Message-ID: <1480331616-6165-6-git-send-email-andrew.cooper3@citrix.com> References: <1480331616-6165-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1480331616-6165-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org YW5kIG1vdmUgaXQgdG8gbGl2ZSB3aXRoIHRoZSBvdGhlciB4ODZfZXZlbnQgaW5mcmFzdHJ1Y3R1 cmUgaW4geDg2X2VtdWxhdGUuaC4KU3dpdGNoIGl0IGFuZCB4ODZfZXZlbnQuZXJyb3JfY29kZSB0 byBiZWluZyBzaWduZWQsIG1hdGNoaW5nIHRoZSByZXN0IG9mIHRoZQpjb2RlLgoKU2lnbmVkLW9m Zi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQt Ynk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBC b3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpSZXZpZXdlZC1ieTog S2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGlj aCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQoKdjI6CiAqIFJlYmFzZSBvdmVyIGNvcnJlY3Rpb25z IHRvIHRoZSB1c2Ugb2YgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERQotLS0KIHhlbi9hcmNoL3g4 Ni9odm0vZW11bGF0ZS5jICAgICAgICAgICAgIHwgIDUgKystLS0KIHhlbi9hcmNoL3g4Ni9odm0v aHZtLmMgICAgICAgICAgICAgICAgIHwgIDYgKysrLS0tCiB4ZW4vYXJjaC94ODYvaHZtL25lc3Rl ZGh2bS5jICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9uZXN0ZWRzdm0u YyAgICAgICB8ICA2ICsrKy0tLQogeGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgICAgICAgICAg ICAgfCAyMCArKysrKysrKysrLS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5j ICAgICAgICAgICAgfCAgMiArLQogeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgICAgICAg ICAgfCAyNSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92 dm14LmMgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2Vt dWxhdGUuaCB8ICAzICsrLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oICAgICAg fCAgMiAtLQogMTAgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9lbXVsYXRlLmMgYi94ZW4vYXJjaC94 ODYvaHZtL2VtdWxhdGUuYwppbmRleCBiYjI2ZDQwLi5iYzI1OWVjIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHZtL2VtdWxhdGUuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYwpA QCAtMTYwOSw3ICsxNjA5LDcgQEAgc3RhdGljIGludCBodm1lbXVsX2luamVjdF9zd19pbnRlcnJ1 cHQoCiAKICAgICBodm1lbXVsX2N0eHQtPmV4bl9wZW5kaW5nID0gMTsKICAgICBodm1lbXVsX2N0 eHQtPnRyYXAudmVjdG9yID0gdmVjdG9yOwotICAgIGh2bWVtdWxfY3R4dC0+dHJhcC5lcnJvcl9j b2RlID0gSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERTsKKyAgICBodm1lbXVsX2N0eHQtPnRyYXAu ZXJyb3JfY29kZSA9IFg4Nl9FVkVOVF9OT19FQzsKICAgICBodm1lbXVsX2N0eHQtPnRyYXAuaW5z bl9sZW4gPSBpbnNuX2xlbjsKIAogICAgIHJldHVybiBYODZFTVVMX09LQVk7CkBAIC0xNjk2LDgg KzE2OTYsNyBAQCBzdGF0aWMgaW50IGh2bWVtdWxfdm1mdW5jKAogCiAgICAgcmMgPSBodm1fZnVu Y3MuYWx0cDJtX3ZjcHVfZW11bGF0ZV92bWZ1bmMoY3R4dC0+cmVncyk7CiAgICAgaWYgKCByYyAh PSBYODZFTVVMX09LQVkgKQotICAgICAgICBodm1lbXVsX2luamVjdF9od19leGNlcHRpb24oVFJB UF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3R4dCk7CisgICAgICAgIGh2bWVtdWxfaW5qZWN0X2h3X2V4 Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQywgY3R4dCk7CiAKICAgICBy ZXR1cm4gcmM7CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2Fy Y2gveDg2L2h2bS9odm0uYwppbmRleCA3YjQzNGFhLi5iOTUwODQyIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTUwMiw3 ICs1MDIsNyBAQCB2b2lkIGh2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAg ICAgICAga2luZCA9IEVNVUxfS0lORF9TRVRfQ09OVEVYVF9JTlNOOwogCiAgICAgICAgICAgICBo dm1fZW11bGF0ZV9vbmVfdm1fZXZlbnQoa2luZCwgVFJBUF9pbnZhbGlkX29wLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9FVkVOVF9OT19FQyk7CiAK ICAgICAgICAgICAgIHYtPmFyY2gudm1fZXZlbnQtPmVtdWxhdGVfZmxhZ3MgPSAwOwogICAgICAg ICB9CkBAIC0zMDU0LDcgKzMwNTQsNyBAQCB2b2lkIGh2bV90YXNrX3N3aXRjaCgKICAgICB9CiAK ICAgICBpZiAoICh0c3MudHJhY2UgJiAxKSAmJiAhZXhuX3JhaXNlZCApCi0gICAgICAgIGh2bV9p bmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUp OworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2RlYnVnLCBYODZfRVZFTlRf Tk9fRUMpOwogCiAgb3V0OgogICAgIGh2bV91bm1hcF9lbnRyeShvcHRzc19kZXNjKTsKQEAgLTQw NzMsNyArNDA3Myw3IEBAIHZvaWQgaHZtX3VkX2ludGVyY2VwdChzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncykKICAgICBzd2l0Y2ggKCBodm1fZW11bGF0ZV9vbmUoJmN0eHQpICkKICAgICB7CiAg ICAgY2FzZSBYODZFTVVMX1VOSEFORExFQUJMRToKLSAgICAgICAgaHZtX2luamVjdF9od19leGNl cHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAg ICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9f RUMpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFg4NkVNVUxfRVhDRVBUSU9OOgogICAgICAg ICBpZiAoIGN0eHQuZXhuX3BlbmRpbmcgKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9u ZXN0ZWRodm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vbmVzdGVkaHZtLmMKaW5kZXggY2FhZDUyNS4u YzQ2NzFkOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9uZXN0ZWRodm0uYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL25lc3RlZGh2bS5jCkBAIC0xNyw3ICsxNyw3IEBACiAgKi8KIAogI2lu Y2x1ZGUgPGFzbS9tc3IuaD4KLSNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4JLyogZm9yIEhW TV9ERUxJVkVSX05PX0VSUk9SX0NPREUgKi8KKyNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4K ICNpbmNsdWRlIDxhc20vaHZtL2h2bS5oPgogI2luY2x1ZGUgPGFzbS9wMm0uaD4gICAgLyogZm9y IHN0cnVjdCBwMm1fZG9tYWluICovCiAjaW5jbHVkZSA8YXNtL2h2bS9uZXN0ZWRodm0uaD4KZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL25lc3RlZHN2bS5jIGIveGVuL2FyY2gveDg2 L2h2bS9zdm0vbmVzdGVkc3ZtLmMKaW5kZXggYjZiODUyNi4uOGM5YjA3MyAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9z dm0vbmVzdGVkc3ZtLmMKQEAgLTc1Niw3ICs3NTYsNyBAQCBuc3ZtX3ZjcHVfdm1ydW4oc3RydWN0 IHZjcHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgIGRlZmF1bHQ6CiAgICAg ICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsCiAgICAgICAgICAgICAibnN2bV92Y3B1X3ZtZW50cnkg ZmFpbGVkLCBpbmplY3RpbmcgI1VEXG4iKTsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRp b24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAg aHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMp OwogICAgICAgICAvKiBNdXN0IGhhcHBlbiBhZnRlciBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbiBv ciBpdCBkb2Vzbid0IHdvcmsgcmlnaHQuICovCiAgICAgICAgIG52LT5udl92bXN3aXRjaF9pbl9w cm9ncmVzcyA9IDA7CiAgICAgICAgIHJldHVybiAxOwpAQCAtMTU4MSw3ICsxNTgxLDcgQEAgdm9p ZCBzdm1fdm1leGl0X2RvX3N0Z2koc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHN0cnVjdCB2 Y3B1ICp2KQogICAgIHVuc2lnbmVkIGludCBpbnN0X2xlbjsKIAogICAgIGlmICggIW5lc3RlZGh2 bV9lbmFibGVkKHYtPmRvbWFpbikgKSB7Ci0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9u KFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2 bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsK ICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTYwMSw3ICsxNjAxLDcgQEAgdm9pZCBzdm1f dm1leGl0X2RvX2NsZ2koc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHN0cnVjdCB2Y3B1ICp2 KQogICAgIHZpbnRyX3QgaW50cjsKIAogICAgIGlmICggIW5lc3RlZGh2bV9lbmFibGVkKHYtPmRv bWFpbikgKSB7Ci0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9v cCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhj ZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgcmV0dXJu OwogICAgIH0KIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgYi94ZW4v YXJjaC94ODYvaHZtL3N2bS9zdm0uYwppbmRleCBjYWFiNWNlLi45MTJkODcxIDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9z dm0uYwpAQCAtODksNyArODksNyBAQCBzdGF0aWMgREVGSU5FX1NQSU5MT0NLKG9zdndfbG9jayk7 CiBzdGF0aWMgdm9pZCBzdm1fY3Jhc2hfb3JfZmF1bHQoc3RydWN0IHZjcHUgKnYpCiB7CiAgICAg aWYgKCB2bWNiX2dldF9jcGwodi0+YXJjaC5odm1fc3ZtLnZtY2IpICkKLSAgICAgICAgaHZtX2lu amVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9D T0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBY ODZfRVZFTlRfTk9fRUMpOwogICAgIGVsc2UKICAgICAgICAgZG9tYWluX2NyYXNoKHYtPmRvbWFp bik7CiB9CkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBfX3VwZGF0ZV9ndWVzdF9laXAoc3RydWN0 IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGludCBpbnN0X2xlbikKICAgICBjdXJyLT5h cmNoLmh2bV9zdm0udm1jYi0+aW50ZXJydXB0X3NoYWRvdyA9IDA7CiAKICAgICBpZiAoIHJlZ3Mt PmVmbGFncyAmIFg4Nl9FRkxBR1NfVEYgKQotICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlv bihUUkFQX2RlYnVnLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2lu amVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgWDg2X0VWRU5UX05PX0VDKTsKIH0KIAogc3Rh dGljIHZvaWQgc3ZtX2NwdV9kb3duKHZvaWQpCkBAIC0xMjg1LDcgKzEyODUsNyBAQCBzdGF0aWMg dm9pZCBzdm1faW5qZWN0X2V2ZW50KGNvbnN0IHN0cnVjdCB4ODZfZXZlbnQgKmV2ZW50KQogCiAg ICAgZGVmYXVsdDoKICAgICAgICAgZXZlbnRpbmouZmllbGRzLnR5cGUgPSBYODZfRVZFTlRUWVBF X0hXX0VYQ0VQVElPTjsKLSAgICAgICAgZXZlbnRpbmouZmllbGRzLmV2ID0gKF9ldmVudC5lcnJv cl9jb2RlICE9IEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICBldmVudGluai5m aWVsZHMuZXYgPSAoX2V2ZW50LmVycm9yX2NvZGUgIT0gWDg2X0VWRU5UX05PX0VDKTsKICAgICAg ICAgZXZlbnRpbmouZmllbGRzLmVycm9yY29kZSA9IF9ldmVudC5lcnJvcl9jb2RlOwogICAgICAg ICBicmVhazsKICAgICB9CkBAIC0xNTUzLDcgKzE1NTMsNyBAQCBzdGF0aWMgdm9pZCBzdm1fZnB1 X2RpcnR5X2ludGVyY2VwdCh2b2lkKQogICAgIHsKICAgICAgICAvKiBDaGVjayBpZiBsMSBndWVz dCBtdXN0IG1ha2UgRlBVIHJlYWR5IGZvciB0aGUgbDIgZ3Vlc3QgKi8KICAgICAgICBpZiAoIHYt PmFyY2guaHZtX3ZjcHUuZ3Vlc3RfY3JbMF0gJiBYODZfQ1IwX1RTICkKLSAgICAgICAgICAgaHZt X2luamVjdF9od19leGNlcHRpb24oVFJBUF9ub19kZXZpY2UsIEhWTV9ERUxJVkVSX05PX0VSUk9S X0NPREUpOworICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX25vX2Rldmlj ZSwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICBlbHNlCiAgICAgICAgICAgIHZtY2Jfc2V0X2Ny MChuMXZtY2IsIHZtY2JfZ2V0X2NyMChuMXZtY2IpICYgflg4Nl9DUjBfVFMpOwogICAgICAgIHJl dHVybjsKQEAgLTIwMjIsNyArMjAyMiw3IEBAIHN2bV92bWV4aXRfZG9fdm1ydW4oc3RydWN0IGNw dV91c2VyX3JlZ3MgKnJlZ3MsCiAgICAgaWYgKCAhbnN2bV9lZmVyX3N2bV9lbmFibGVkKHYpICkK ICAgICB7CiAgICAgICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJWTVJVTjogbmVzdGVkaHZtIGRp c2FibGVkLCBpbmplY3RpbmcgI1VEXG4iKTsKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRp b24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICAgICAg aHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBYODZfRVZFTlRfTk9fRUMp OwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0yMDc3LDcgKzIwNzcsNyBAQCBzdm1fdm1l eGl0X2RvX3ZtbG9hZChzdHJ1Y3Qgdm1jYl9zdHJ1Y3QgKnZtY2IsCiAgICAgaWYgKCAhbnN2bV9l ZmVyX3N2bV9lbmFibGVkKHYpICkgCiAgICAgewogICAgICAgICBnZHByaW50ayhYRU5MT0dfRVJS LCAiVk1MT0FEOiBuZXN0ZWRodm0gZGlzYWJsZWQsIGluamVjdGluZyAjVURcbiIpOwotICAgICAg ICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJVkVSX05P X0VSUk9SX0NPREUpOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFs aWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTIx MTMsNyArMjExMyw3IEBAIHN2bV92bWV4aXRfZG9fdm1zYXZlKHN0cnVjdCB2bWNiX3N0cnVjdCAq dm1jYiwKICAgICBpZiAoICFuc3ZtX2VmZXJfc3ZtX2VuYWJsZWQodikgKSAKICAgICB7CiAgICAg ICAgIGdkcHJpbnRrKFhFTkxPR19FUlIsICJWTVNBVkU6IG5lc3RlZGh2bSBkaXNhYmxlZCwgaW5q ZWN0aW5nICNVRFxuIik7Ci0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52 YWxpZF9vcCwgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3Rf aHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAg cmV0dXJuOwogICAgIH0KIApAQCAtMjQxNiw3ICsyNDE2LDcgQEAgdm9pZCBzdm1fdm1leGl0X2hh bmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAKICAgICBjYXNlIFZNRVhJVF9FWENF UFRJT05fREI6CiAgICAgICAgIGlmICggIXYtPmRvbWFpbi0+ZGVidWdnZXJfYXR0YWNoZWQgKQot ICAgICAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9kZWJ1ZywgSFZNX0RFTElW RVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihU UkFQX2RlYnVnLCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBk b21haW5fcGF1c2VfZm9yX2RlYnVnZ2VyKCk7CiAgICAgICAgIGJyZWFrOwpAQCAtMjYwNCw3ICsy NjA0LDcgQEAgdm9pZCBzdm1fdm1leGl0X2hhbmRsZXIoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJl Z3MpCiAKICAgICBjYXNlIFZNRVhJVF9NT05JVE9SOgogICAgIGNhc2UgVk1FWElUX01XQUlUOgot ICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIEhWTV9ERUxJ VkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICBodm1faW5qZWN0X2h3X2V4Y2VwdGlvbihUUkFQ X2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2Fz ZSBWTUVYSVRfVk1SVU46CkBAIC0yNjIzLDcgKzI2MjMsNyBAQCB2b2lkIHN2bV92bWV4aXRfaGFu ZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgc3ZtX3ZtZXhpdF9kb19j bGdpKHJlZ3MsIHYpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIFZNRVhJVF9TS0lOSVQ6Ci0g ICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwgSFZNX0RFTElW RVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBf aW52YWxpZF9vcCwgWDg2X0VWRU5UX05PX0VDKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl IFZNRVhJVF9YU0VUQlY6CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMg Yi94ZW4vYXJjaC94ODYvaHZtL3ZteC9pbnRyLmMKaW5kZXggOGZjYTA4Yy4uNjM5YTcwNSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvaW50ci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9o dm0vdm14L2ludHIuYwpAQCAtMzAyLDcgKzMwMiw3IEBAIHZvaWQgdm14X2ludHJfYXNzaXN0KHZv aWQpCiAgICAgfQogICAgIGVsc2UgaWYgKCBpbnRhY2suc291cmNlID09IGh2bV9pbnRzcmNfbWNl ICkKICAgICB7Ci0gICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9j aGVjaywgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9pbmplY3RfaHdf ZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9jaGVjaywgWDg2X0VWRU5UX05PX0VDKTsKICAgICB9CiAg ICAgZWxzZSBpZiAoIGNwdV9oYXNfdm14X3ZpcnR1YWxfaW50cl9kZWxpdmVyeSAmJgogICAgICAg ICAgICAgICBpbnRhY2suc291cmNlICE9IGh2bV9pbnRzcmNfcGljICYmCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCmlu ZGV4IGVkOWI2OWIuLjMxZjA4ZDIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Zt eC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jCkBAIC0xNjQ2LDcgKzE2NDYsOCBA QCBzdGF0aWMgdm9pZCBfX3ZteF9pbmplY3RfZXhjZXB0aW9uKGludCB0cmFwLCBpbnQgdHlwZSwg aW50IGVycm9yX2NvZGUpCiAgICAgaW50cl9maWVsZHMgPSBJTlRSX0lORk9fVkFMSURfTUFTSyB8 CiAgICAgICAgICAgICAgICAgICBNQVNLX0lOU1IodHlwZSwgSU5UUl9JTkZPX0lOVFJfVFlQRV9N QVNLKSB8CiAgICAgICAgICAgICAgICAgICBNQVNLX0lOU1IodHJhcCwgSU5UUl9JTkZPX1ZFQ1RP Ul9NQVNLKTsKLSAgICBpZiAoIGVycm9yX2NvZGUgIT0gSFZNX0RFTElWRVJfTk9fRVJST1JfQ09E RSApIHsKKyAgICBpZiAoIGVycm9yX2NvZGUgIT0gWDg2X0VWRU5UX05PX0VDICkKKyAgICB7CiAg ICAgICAgIF9fdm13cml0ZShWTV9FTlRSWV9FWENFUFRJT05fRVJST1JfQ09ERSwgZXJyb3JfY29k ZSk7CiAgICAgICAgIGludHJfZmllbGRzIHw9IElOVFJfSU5GT19ERUxJVkVSX0NPREVfTUFTSzsK ICAgICB9CkBAIC0xNjcxLDEyICsxNjcyLDEyIEBAIHZvaWQgdm14X2luamVjdF9leHRpbnQoaW50 IHRyYXAsIHVpbnQ4X3Qgc291cmNlKQogICAgICAgICAgICAgICAgSU5UUl9JTkZPX1ZBTElEX01B U0sgfAogICAgICAgICAgICAgICAgTUFTS19JTlNSKFg4Nl9FVkVOVFRZUEVfRVhUX0lOVFIsIElO VFJfSU5GT19JTlRSX1RZUEVfTUFTSykgfAogICAgICAgICAgICAgICAgTUFTS19JTlNSKHRyYXAs IElOVFJfSU5GT19WRUNUT1JfTUFTSyksCi0gICAgICAgICAgICAgICBIVk1fREVMSVZFUl9OT19F UlJPUl9DT0RFLCBzb3VyY2UpOworICAgICAgICAgICAgICAgWDg2X0VWRU5UX05PX0VDLCBzb3Vy Y2UpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQogICAgIF9fdm14X2lu amVjdF9leGNlcHRpb24odHJhcCwgWDg2X0VWRU5UVFlQRV9FWFRfSU5UUiwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICAgICAg ICAgICAgICAgICAgICAgWDg2X0VWRU5UX05PX0VDKTsKIH0KIAogdm9pZCB2bXhfaW5qZWN0X25t aSh2b2lkKQpAQCAtMTY5MSwxMiArMTY5MiwxMiBAQCB2b2lkIHZteF9pbmplY3Rfbm1pKHZvaWQp CiAgICAgICAgICAgICAgICBJTlRSX0lORk9fVkFMSURfTUFTSyB8CiAgICAgICAgICAgICAgICBN QVNLX0lOU1IoWDg2X0VWRU5UVFlQRV9OTUksIElOVFJfSU5GT19JTlRSX1RZUEVfTUFTSykgfAog ICAgICAgICAgICAgICAgTUFTS19JTlNSKFRSQVBfbm1pLCBJTlRSX0lORk9fVkVDVE9SX01BU0sp LAotICAgICAgICAgICAgICAgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSwgaHZtX2ludHNyY19u bWkpOworICAgICAgICAgICAgICAgWDg2X0VWRU5UX05PX0VDLCBodm1faW50c3JjX25taSk7CiAg ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAgICAgX192bXhfaW5qZWN0X2V4 Y2VwdGlvbigyLCBYODZfRVZFTlRUWVBFX05NSSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg IEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICAgICAgICAgICAgICAgICAgICAg WDg2X0VWRU5UX05PX0VDKTsKIH0KIAogLyoKQEAgLTIxMTEsNyArMjExMiw3IEBAIHN0YXRpYyBi b29sX3Qgdm14X3ZjcHVfZW11bGF0ZV92ZShzdHJ1Y3QgdmNwdSAqdikKICAgICB2bXhfdm1jc19l eGl0KHYpOwogCiAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF92aXJ0dWFsaXNhdGlv biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RF KTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBYODZfRVZFTlRfTk9fRUMpOwogCiAgb3V0 OgogICAgIGh2bV91bm1hcF9ndWVzdF9mcmFtZSh2ZWluZm8sIDApOwpAQCAtMjM4Nyw3ICsyMzg4 LDcgQEAgdm9pZCB1cGRhdGVfZ3Vlc3RfZWlwKHZvaWQpCiAgICAgfQogCiAgICAgaWYgKCByZWdz LT5lZmxhZ3MgJiBYODZfRUZMQUdTX1RGICkKLSAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRp b24oVFJBUF9kZWJ1ZywgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgIGh2bV9p bmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfZGVidWcsIFg4Nl9FVkVOVF9OT19FQyk7CiB9CiAKIHN0 YXRpYyB2b2lkIHZteF9mcHVfZGlydHlfaW50ZXJjZXB0KHZvaWQpCkBAIC0yOTE1LDcgKzI5MTYs NyBAQCBzdGF0aWMgaW50IHZteF9tc3Jfd3JpdGVfaW50ZXJjZXB0KHVuc2lnbmVkIGludCBtc3Is IHVpbnQ2NF90IG1zcl9jb250ZW50KQogCiAgICAgICAgIGlmICggKHJjIDwgMCkgfHwKICAgICAg ICAgICAgICAobXNyX2NvbnRlbnQgJiYgKHZteF9hZGRfaG9zdF9sb2FkX21zcihtc3IpIDwgMCkp ICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfbWFjaGluZV9jaGVj aywgSFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3 X2V4Y2VwdGlvbihUUkFQX21hY2hpbmVfY2hlY2ssIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAg IGVsc2UKICAgICAgICAgICAgIF9fdm13cml0ZShHVUVTVF9JQTMyX0RFQlVHQ1RMLCBtc3JfY29u dGVudCk7CiAKQEAgLTMyMTMsNyArMzIxNCw3IEBAIHN0YXRpYyB2b2lkIHZteF9wcm9wYWdhdGVf aW50cih1bnNpZ25lZCBsb25nIGludHIpCiAgICAgICAgIGV2ZW50LmVycm9yX2NvZGUgPSB0bXA7 CiAgICAgfQogICAgIGVsc2UKLSAgICAgICAgZXZlbnQuZXJyb3JfY29kZSA9IEhWTV9ERUxJVkVS X05PX0VSUk9SX0NPREU7CisgICAgICAgIGV2ZW50LmVycm9yX2NvZGUgPSBYODZfRVZFTlRfTk9f RUM7CiAKICAgICBpZiAoIGV2ZW50LnR5cGUgPj0gWDg2X0VWRU5UVFlQRV9TV19JTlRFUlJVUFQg KQogICAgIHsKQEAgLTM3NzAsNyArMzc3MSw3IEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogCiAgICAgY2FzZSBFWElUX1JFQVNPTl9WTUZVTkM6 CiAgICAgICAgIGlmICggdm14X3ZtZnVuY19pbnRlcmNlcHQocmVncykgIT0gWDg2RU1VTF9PS0FZ ICkKLSAgICAgICAgICAgIGh2bV9pbmplY3RfaHdfZXhjZXB0aW9uKFRSQVBfaW52YWxpZF9vcCwg SFZNX0RFTElWRVJfTk9fRVJST1JfQ09ERSk7CisgICAgICAgICAgICBodm1faW5qZWN0X2h3X2V4 Y2VwdGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgIGVsc2UK ICAgICAgICAgICAgIHVwZGF0ZV9ndWVzdF9laXAoKTsKICAgICAgICAgYnJlYWs7CkBAIC0zNzg0 LDcgKzM3ODUsNyBAQCB2b2lkIHZteF92bWV4aXRfaGFuZGxlcihzdHJ1Y3QgY3B1X3VzZXJfcmVn cyAqcmVncykKICAgICAgICAgICogYXMgZmFyIGFzIHZtZXhpdC4KICAgICAgICAgICovCiAgICAg ICAgIFdBUk5fT04oZXhpdF9yZWFzb24gPT0gRVhJVF9SRUFTT05fR0VUU0VDKTsKLSAgICAgICAg aHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLCBIVk1fREVMSVZFUl9OT19F UlJPUl9DT0RFKTsKKyAgICAgICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlk X29wLCBYODZfRVZFTlRfTk9fRUMpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgRVhJVF9S RUFTT05fVFBSX0JFTE9XX1RIUkVTSE9MRDoKQEAgLTM5MDksNyArMzkxMCw3IEBAIHZvaWQgdm14 X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAg dm14X2dldF9zZWdtZW50X3JlZ2lzdGVyKHYsIHg4Nl9zZWdfc3MsICZzcyk7CiAgICAgICAgICAg ICBpZiAoIHNzLmF0dHIuZmllbGRzLmRwbCApCiAgICAgICAgICAgICAgICAgaHZtX2luamVjdF9o d19leGNlcHRpb24oVFJBUF9pbnZhbGlkX29wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEhWTV9ERUxJVkVSX05PX0VSUk9SX0NPREUpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgICAgICAgICBl bHNlCiAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKHYtPmRvbWFpbik7CiAgICAgICAgIH0K ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3Z2bXguYyBiL3hlbi9hcmNoL3g4Ni9o dm0vdm14L3Z2bXguYwppbmRleCBiNTgzN2Q0Li5lZmFmNTRjIDEwMDY0NAotLS0gYS94ZW4vYXJj aC94ODYvaHZtL3ZteC92dm14LmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdnZteC5jCkBA IC0zODAsNyArMzgwLDcgQEAgc3RhdGljIGludCB2bXhfaW5zdF9jaGVja19wcml2aWxlZ2Uoc3Ry dWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIGludCB2bXhvcF9jaGVjaykKICAgICAKIGludmFsaWRf b3A6CiAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwgInZteF9pbnN0X2NoZWNrX3ByaXZpbGVnZTog aW52YWxpZF9vcFxuIik7Ci0gICAgaHZtX2luamVjdF9od19leGNlcHRpb24oVFJBUF9pbnZhbGlk X29wLCBIVk1fREVMSVZFUl9OT19FUlJPUl9DT0RFKTsKKyAgICBodm1faW5qZWN0X2h3X2V4Y2Vw dGlvbihUUkFQX2ludmFsaWRfb3AsIFg4Nl9FVkVOVF9OT19FQyk7CiAgICAgcmV0dXJuIFg4NkVN VUxfRVhDRVBUSU9OOwogCiBncF9mYXVsdDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZf ZW11bGF0ZS94ODZfZW11bGF0ZS5oIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVs YXRlLmgKaW5kZXggNTRjNTMyYy4uYjBmMDMwNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4 Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmgKKysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4 Nl9lbXVsYXRlLmgKQEAgLTgwLDEyICs4MCwxMyBAQCBlbnVtIHg4Nl9ldmVudF90eXBlIHsKICAg ICBYODZfRVZFTlRUWVBFX1BSSV9TV19FWENFUFRJT04sIC8qIElDRUJQIChGMSkgKi8KICAgICBY ODZfRVZFTlRUWVBFX1NXX0VYQ0VQVElPTiwgICAgIC8qIElOVDMgKENDKSwgSU5UTyAoQ0UpICov CiB9OworI2RlZmluZSBYODZfRVZFTlRfTk9fRUMgKC0xKSAgICAgICAgLyogTm8gZXJyb3IgY29k ZS4gKi8KIAogc3RydWN0IHg4Nl9ldmVudCB7CiAgICAgaW50MTZfdCAgICAgICB2ZWN0b3I7CiAg ICAgdWludDhfdCAgICAgICB0eXBlOyAgICAgICAgIC8qIFg4Nl9FVkVOVFRZUEVfKiAqLwogICAg IHVpbnQ4X3QgICAgICAgaW5zbl9sZW47ICAgICAvKiBJbnN0cnVjdGlvbiBsZW5ndGggKi8KLSAg ICB1aW50MzJfdCAgICAgIGVycm9yX2NvZGU7ICAgLyogSFZNX0RFTElWRVJfTk9fRVJST1JfQ09E RSBpZiBuL2EgKi8KKyAgICBpbnQzMl90ICAgICAgIGVycm9yX2NvZGU7ICAgLyogWDg2X0VWRU5U X05PX0VDIGlmIG4vYSAqLwogICAgIHVuc2lnbmVkIGxvbmcgY3IyOyAgICAgICAgICAvKiBPbmx5 IGZvciBUUkFQX3BhZ2VfZmF1bHQgaC93IGV4Y2VwdGlvbiAqLwogfTsKIApkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3VwcG9ydC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vc3VwcG9ydC5oCmluZGV4IDI5ODRhYmMuLjk5Mzg0NTAgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3N1cHBvcnQuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9z dXBwb3J0LmgKQEAgLTI1LDggKzI1LDYgQEAKICNpbmNsdWRlIDx4ZW4vaHZtL3NhdmUuaD4KICNp bmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CiAKLSNkZWZpbmUgSFZNX0RFTElWRVJfTk9fRVJST1Jf Q09ERSAgKH4wVSkKLQogI2lmbmRlZiBOREVCVUcKICNkZWZpbmUgREJHX0xFVkVMXzAgICAgICAg ICAgICAgICAgICgxIDw8IDApCiAjZGVmaW5lIERCR19MRVZFTF8xICAgICAgICAgICAgICAgICAo MSA8PCAxKQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK