From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 5/6] x86/msr: Clean up the MSR_APIC_BASE constants Date: Tue, 26 Jun 2018 14:18:17 +0100 Message-ID: <1530019098-7058-6-git-send-email-andrew.cooper3@citrix.com> References: <1530019098-7058-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: <1530019098-7058-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org V2UgY3VycmVudGx5IGhhdmUgTVNSX0lBMzJfQVBJQ0JBU0UgYW5kIE1TUl9JQTMyX0FQSUNCQVNF X01TUiB3aGljaCBhcmUKc3lub255bW91cyBmcm9tIGEgbmFtaW5nIHBvaW50IG9mIHZpZXcsIGJ1 dCByZWZlciB0byB2ZXJ5IGRpZmZlcmVudAp0aGluZ3MuCgpDbGVhdmUgb3V0IHRoZSBoYW5kbGlu ZyBvZiBNU1JfQVBJQ19CQVNFICgweDFiKSwgYW5kIHJlbmFtZQpNU1JfSUEzMl9BUElDQkFTRV9C QVNFIHRvIEFQSUNfQkFTRV9BRERSX01BU0sgdG8gYmV0dGVyIGRlc2NyaWJlIGl0cwpwdXJwb3Nl LgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3 ZWkubGl1MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJp eC5jb20+Ci0tLQogeGVuL2FyY2gveDg2L2FwaWMuYyAgICAgICAgICAgICAgfCA2NiArKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvZ2VuYXBpYy94 MmFwaWMuYyAgICB8ICA0ICstLQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICAgfCAg NCArLS0KIHhlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMgICAgICAgIHwgMTUgKysrKystLS0tCiB4 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bGFwaWMuaCB8ICA2ICsrLS0KIHhlbi9pbmNsdWRlL2Fz bS14ODYvbXNyLWluZGV4LmggIHwgMTEgKysrKy0tLQogNiBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCA1MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYXBp Yy5jIGIveGVuL2FyY2gveDg2L2FwaWMuYwppbmRleCBmZmE1YTY5Li5hYTY3N2UwIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvYXBpYy5jCisrKyBiL3hlbi9hcmNoL3g4Ni9hcGljLmMKQEAgLTMw MiwzMSArMzAyLDMxIEBAIHZvaWQgZGlzYWJsZV9sb2NhbF9BUElDKHZvaWQpCiAKICAgICBpZiAo ZW5hYmxlZF92aWFfYXBpY2Jhc2UpIHsKICAgICAgICAgdWludDY0X3QgbXNyX2NvbnRlbnQ7Ci0g ICAgICAgIHJkbXNybChNU1JfSUEzMl9BUElDQkFTRSwgbXNyX2NvbnRlbnQpOwotICAgICAgICB3 cm1zcmwoTVNSX0lBMzJfQVBJQ0JBU0UsIG1zcl9jb250ZW50ICYKLSAgICAgICAgICAgICAgIH4o TVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFfE1TUl9JQTMyX0FQSUNCQVNFX0VYVEQpKTsKKyAgICAg ICAgcmRtc3JsKE1TUl9BUElDX0JBU0UsIG1zcl9jb250ZW50KTsKKyAgICAgICAgd3Jtc3JsKE1T Ul9BUElDX0JBU0UsIG1zcl9jb250ZW50ICYKKyAgICAgICAgICAgICAgIH4oQVBJQ19CQVNFX0VO QUJMRSB8IEFQSUNfQkFTRV9FWFREKSk7CiAgICAgfQogCiAgICAgaWYgKCBrZXhlY2luZyAmJiAo Y3VycmVudF9sb2NhbF9hcGljX21vZGUoKSAhPSBhcGljX2Jvb3RfbW9kZSkgKQogICAgIHsKICAg ICAgICAgdWludDY0X3QgbXNyX2NvbnRlbnQ7Ci0gICAgICAgIHJkbXNybChNU1JfSUEzMl9BUElD QkFTRSwgbXNyX2NvbnRlbnQpOwotICAgICAgICBtc3JfY29udGVudCAmPSB+KE1TUl9JQTMyX0FQ SUNCQVNFX0VOQUJMRXxNU1JfSUEzMl9BUElDQkFTRV9FWFREKTsKLSAgICAgICAgd3Jtc3JsKE1T Ul9JQTMyX0FQSUNCQVNFLCBtc3JfY29udGVudCk7CisgICAgICAgIHJkbXNybChNU1JfQVBJQ19C QVNFLCBtc3JfY29udGVudCk7CisgICAgICAgIG1zcl9jb250ZW50ICY9IH4oQVBJQ19CQVNFX0VO QUJMRSB8IEFQSUNfQkFTRV9FWFREKTsKKyAgICAgICAgd3Jtc3JsKE1TUl9BUElDX0JBU0UsIG1z cl9jb250ZW50KTsKIAogICAgICAgICBzd2l0Y2ggKCBhcGljX2Jvb3RfbW9kZSApCiAgICAgICAg IHsKICAgICAgICAgY2FzZSBBUElDX01PREVfRElTQUJMRUQ6CiAgICAgICAgICAgICBicmVhazsg LyogTm90aGluZyB0byBkbyAtIHdlIGRpZCB0aGlzIGFib3ZlICovCiAgICAgICAgIGNhc2UgQVBJ Q19NT0RFX1hBUElDOgotICAgICAgICAgICAgbXNyX2NvbnRlbnQgfD0gTVNSX0lBMzJfQVBJQ0JB U0VfRU5BQkxFOwotICAgICAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX0FQSUNCQVNFLCBtc3JfY29u dGVudCk7CisgICAgICAgICAgICBtc3JfY29udGVudCB8PSBBUElDX0JBU0VfRU5BQkxFOworICAg ICAgICAgICAgd3Jtc3JsKE1TUl9BUElDX0JBU0UsIG1zcl9jb250ZW50KTsKICAgICAgICAgICAg IGJyZWFrOwogICAgICAgICBjYXNlIEFQSUNfTU9ERV9YMkFQSUM6Ci0gICAgICAgICAgICBtc3Jf Y29udGVudCB8PSBNU1JfSUEzMl9BUElDQkFTRV9FTkFCTEU7Ci0gICAgICAgICAgICB3cm1zcmwo TVNSX0lBMzJfQVBJQ0JBU0UsIG1zcl9jb250ZW50KTsKLSAgICAgICAgICAgIG1zcl9jb250ZW50 IHw9IE1TUl9JQTMyX0FQSUNCQVNFX0VYVEQ7Ci0gICAgICAgICAgICB3cm1zcmwoTVNSX0lBMzJf QVBJQ0JBU0UsIG1zcl9jb250ZW50KTsKKyAgICAgICAgICAgIG1zcl9jb250ZW50IHw9IEFQSUNf QkFTRV9FTkFCTEU7CisgICAgICAgICAgICB3cm1zcmwoTVNSX0FQSUNfQkFTRSwgbXNyX2NvbnRl bnQpOworICAgICAgICAgICAgbXNyX2NvbnRlbnQgfD0gQVBJQ19CQVNFX0VYVEQ7CisgICAgICAg ICAgICB3cm1zcmwoTVNSX0FQSUNfQkFTRSwgbXNyX2NvbnRlbnQpOwogICAgICAgICAgICAgYnJl YWs7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBwcmludGsoIkRlZmF1bHQgY2FzZSB3 aGVuIHJldmVydGluZyAjJWQgbGFwaWMgdG8gYm9vdCBzdGF0ZVxuIiwKQEAgLTQ3OCwxMiArNDc4 LDEyIEBAIHN0YXRpYyB2b2lkIF9fZW5hYmxlX3gyYXBpYyh2b2lkKQogewogICAgIHVpbnQ2NF90 IG1zcl9jb250ZW50OwogCi0gICAgcmRtc3JsKE1TUl9JQTMyX0FQSUNCQVNFLCBtc3JfY29udGVu dCk7Ci0gICAgaWYgKCAhKG1zcl9jb250ZW50ICYgTVNSX0lBMzJfQVBJQ0JBU0VfRVhURCkgKQor ICAgIHJkbXNybChNU1JfQVBJQ19CQVNFLCBtc3JfY29udGVudCk7CisgICAgaWYgKCAhKG1zcl9j b250ZW50ICYgQVBJQ19CQVNFX0VYVEQpICkKICAgICB7Ci0gICAgICAgIG1zcl9jb250ZW50IHw9 IE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSB8IE1TUl9JQTMyX0FQSUNCQVNFX0VYVEQ7CisgICAg ICAgIG1zcl9jb250ZW50IHw9IEFQSUNfQkFTRV9FTkFCTEUgfCBBUElDX0JBU0VfRVhURDsKICAg ICAgICAgbXNyX2NvbnRlbnQgPSAodWludDMyX3QpbXNyX2NvbnRlbnQ7Ci0gICAgICAgIHdybXNy bChNU1JfSUEzMl9BUElDQkFTRSwgbXNyX2NvbnRlbnQpOworICAgICAgICB3cm1zcmwoTVNSX0FQ SUNfQkFTRSwgbXNyX2NvbnRlbnQpOwogICAgIH0KIH0KIApAQCAtNzQzLDEwICs3NDMsMTAgQEAg aW50IGxhcGljX3Jlc3VtZSh2b2lkKQogICAgICAqLwogICAgIGlmICggIXgyYXBpY19lbmFibGVk ICkKICAgICB7Ci0gICAgICAgIHJkbXNybChNU1JfSUEzMl9BUElDQkFTRSwgbXNyX2NvbnRlbnQp OwotICAgICAgICBtc3JfY29udGVudCAmPSB+TVNSX0lBMzJfQVBJQ0JBU0VfQkFTRTsKLSAgICAg ICAgd3Jtc3JsKE1TUl9JQTMyX0FQSUNCQVNFLAotICAgICAgICAgICAgbXNyX2NvbnRlbnQgfCBN U1JfSUEzMl9BUElDQkFTRV9FTkFCTEUgfCBtcF9sYXBpY19hZGRyKTsKKyAgICAgICAgcmRtc3Js KE1TUl9BUElDX0JBU0UsIG1zcl9jb250ZW50KTsKKyAgICAgICAgbXNyX2NvbnRlbnQgJj0gfkFQ SUNfQkFTRV9BRERSX01BU0s7CisgICAgICAgIHdybXNybChNU1JfQVBJQ19CQVNFLAorICAgICAg ICAgICAgICAgbXNyX2NvbnRlbnQgfCBBUElDX0JBU0VfRU5BQkxFIHwgbXBfbGFwaWNfYWRkcik7 CiAgICAgfQogICAgIGVsc2UKICAgICAgICAgcmVzdW1lX3gyYXBpYygpOwpAQCAtODE3LDcgKzgx Nyw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGRldGVjdF9pbml0X0FQSUMgKHZvaWQpCiAgICAgaWYg KGVuYWJsZV9sb2NhbF9hcGljIDwgMCkKICAgICAgICAgcmV0dXJuIC0xOwogCi0gICAgaWYgKHJk bXNyX3NhZmUoTVNSX0lBMzJfQVBJQ0JBU0UsIG1zcl9jb250ZW50KSkgeworICAgIGlmICggcmRt c3Jfc2FmZShNU1JfQVBJQ19CQVNFLCBtc3JfY29udGVudCkgKQorICAgIHsKICAgICAgICAgcHJp bnRrKCJObyBsb2NhbCBBUElDIHByZXNlbnRcbiIpOwogICAgICAgICByZXR1cm4gLTE7CiAgICAg fQpAQCAtODM4LDExICs4MzksMTIgQEAgc3RhdGljIGludCBfX2luaXQgZGV0ZWN0X2luaXRfQVBJ QyAodm9pZCkKICAgICAgICAgICogc29mdHdhcmUgZm9yIEludGVsIFA2IG9yIGxhdGVyIGFuZCBB TUQgSzcKICAgICAgICAgICogKE1vZGVsID4gMSkgb3IgbGF0ZXIuCiAgICAgICAgICAqLwotICAg ICAgICBpZiAoIShtc3JfY29udGVudCAmIE1TUl9JQTMyX0FQSUNCQVNFX0VOQUJMRSkpIHsKKyAg ICAgICAgaWYgKCAhKG1zcl9jb250ZW50ICYgQVBJQ19CQVNFX0VOQUJMRSkgKQorICAgICAgICB7 CiAgICAgICAgICAgICBwcmludGsoIkxvY2FsIEFQSUMgZGlzYWJsZWQgYnkgQklPUyAtLSByZWVu YWJsaW5nLlxuIik7Ci0gICAgICAgICAgICBtc3JfY29udGVudCAmPSB+TVNSX0lBMzJfQVBJQ0JB U0VfQkFTRTsKLSAgICAgICAgICAgIG1zcl9jb250ZW50IHw9IE1TUl9JQTMyX0FQSUNCQVNFX0VO QUJMRSB8IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7Ci0gICAgICAgICAgICB3cm1zcmwoTVNSX0lB MzJfQVBJQ0JBU0UsIG1zcl9jb250ZW50KTsKKyAgICAgICAgICAgIG1zcl9jb250ZW50ICY9IH5B UElDX0JBU0VfQUREUl9NQVNLOworICAgICAgICAgICAgbXNyX2NvbnRlbnQgfD0gQVBJQ19CQVNF X0VOQUJMRSB8IEFQSUNfREVGQVVMVF9QSFlTX0JBU0U7CisgICAgICAgICAgICB3cm1zcmwoTVNS X0FQSUNfQkFTRSwgbXNyX2NvbnRlbnQpOwogICAgICAgICAgICAgZW5hYmxlZF92aWFfYXBpY2Jh c2UgPSB0cnVlOwogICAgICAgICB9CiAgICAgfQpAQCAtODU5LDggKzg2MSw4IEBAIHN0YXRpYyBp bnQgX19pbml0IGRldGVjdF9pbml0X0FQSUMgKHZvaWQpCiAgICAgbXBfbGFwaWNfYWRkciA9IEFQ SUNfREVGQVVMVF9QSFlTX0JBU0U7CiAKICAgICAvKiBUaGUgQklPUyBtYXkgaGF2ZSBzZXQgdXAg dGhlIEFQSUMgYXQgc29tZSBvdGhlciBhZGRyZXNzICovCi0gICAgaWYgKG1zcl9jb250ZW50ICYg TVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFKQotICAgICAgICBtcF9sYXBpY19hZGRyID0gbXNyX2Nv bnRlbnQgJiBNU1JfSUEzMl9BUElDQkFTRV9CQVNFOworICAgIGlmICggbXNyX2NvbnRlbnQgJiBB UElDX0JBU0VfRU5BQkxFICkKKyAgICAgICAgbXBfbGFwaWNfYWRkciA9IG1zcl9jb250ZW50ICYg QVBJQ19CQVNFX0FERFJfTUFTSzsKIAogICAgIGlmIChubWlfd2F0Y2hkb2cgIT0gTk1JX05PTkUp CiAgICAgICAgIG5taV93YXRjaGRvZyA9IE5NSV9MT0NBTF9BUElDOwpAQCAtMTQ0NiwyMyArMTQ0 OCwyMSBAQCB2b2lkIF9faW5pdCByZWNvcmRfYm9vdF9BUElDX21vZGUodm9pZCkKICAgICAgICAg ICAgICAgICBhcGljX21vZGVfdG9fc3RyKGFwaWNfYm9vdF9tb2RlKSk7CiB9CiAKLS8qIExvb2sg YXQgdGhlIGJpdHMgaW4gTVNSX0lBMzJfQVBJQ0JBU0UgYW5kIHdvcmsgb3V0IHdoaWNoCi0gKiBB UElDIG1vZGUgd2UgYXJlIGluICovCisvKiBMb29rIGF0IHRoZSBiaXRzIGluIE1TUl9BUElDX0JB U0UgYW5kIHdvcmsgb3V0IHdoaWNoIEFQSUMgbW9kZSB3ZSBhcmUgaW4gKi8KIGVudW0gYXBpY19t b2RlIGN1cnJlbnRfbG9jYWxfYXBpY19tb2RlKHZvaWQpCiB7CiAgICAgdTY0IG1zcl9jb250ZW50 czsKIAotICAgIHJkbXNybChNU1JfSUEzMl9BUElDQkFTRSwgbXNyX2NvbnRlbnRzKTsKKyAgICBy ZG1zcmwoTVNSX0FQSUNfQkFTRSwgbXNyX2NvbnRlbnRzKTsKIAogICAgIC8qIFJlYWRpbmcgRVhU RCBiaXQgZnJvbSB0aGUgTVNSIGlzIG9ubHkgdmFsaWQgaWYgQ1BVSUQKICAgICAgKiBzYXlzIHNv LCBlbHNlIHJlc2VydmVkICovCi0gICAgaWYgKCBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWDJB UElDKQotICAgICAgICAgJiYgKG1zcl9jb250ZW50cyAmIE1TUl9JQTMyX0FQSUNCQVNFX0VYVEQp ICkKKyAgICBpZiAoIGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YMkFQSUMpICYmIChtc3JfY29u dGVudHMgJiBBUElDX0JBU0VfRVhURCkgKQogICAgICAgICByZXR1cm4gQVBJQ19NT0RFX1gyQVBJ QzsKIAogICAgIC8qIEVOIGJpdCBzaG91bGQgYWx3YXlzIGJlIHZhbGlkIGFzIGxvbmcgYXMgd2Ug Y2FuIHJlYWQgdGhlIE1TUgogICAgICAqLwotICAgIGlmICggbXNyX2NvbnRlbnRzICYgTVNSX0lB MzJfQVBJQ0JBU0VfRU5BQkxFICkKKyAgICBpZiAoIG1zcl9jb250ZW50cyAmIEFQSUNfQkFTRV9F TkFCTEUgKQogICAgICAgICByZXR1cm4gQVBJQ19NT0RFX1hBUElDOwogCiAgICAgcmV0dXJuIEFQ SUNfTU9ERV9ESVNBQkxFRDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9nZW5hcGljL3gyYXBp Yy5jIGIveGVuL2FyY2gveDg2L2dlbmFwaWMveDJhcGljLmMKaW5kZXggNDc3OWIwZC4uMWNmNjdl YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2dlbmFwaWMveDJhcGljLmMKKysrIGIveGVuL2Fy Y2gveDg2L2dlbmFwaWMveDJhcGljLmMKQEAgLTI1Myw4ICsyNTMsOCBAQCB2b2lkIF9faW5pdCBj aGVja194MmFwaWNfcHJlZW5hYmxlZCh2b2lkKQogICAgICAgICByZXR1cm47CiAKICAgICAvKiBD aGVjayB3aGV0aGVyIHgyYXBpYyBtb2RlIHdhcyBhbHJlYWR5IGVuYWJsZWQgYnkgdGhlIEJJT1Mu ICovCi0gICAgcmRtc3IoTVNSX0lBMzJfQVBJQ0JBU0UsIGxvLCBoaSk7Ci0gICAgaWYgKCBsbyAm IE1TUl9JQTMyX0FQSUNCQVNFX0VYVEQgKQorICAgIHJkbXNyKE1TUl9BUElDX0JBU0UsIGxvLCBo aSk7CisgICAgaWYgKCBsbyAmIEFQSUNfQkFTRV9FWFREICkKICAgICB7CiAgICAgICAgIHByaW50 aygieDJBUElDIG1vZGUgaXMgYWxyZWFkeSBlbmFibGVkIGJ5IEJJT1MuXG4iKTsKICAgICAgICAg eDJhcGljX2VuYWJsZWQgPSAxOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBi L3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggNTgyMzYyMC4uOWZiZGRmYSAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBA IC0zNDQzLDcgKzM0NDMsNyBAQCBpbnQgaHZtX21zcl9yZWFkX2ludGVyY2VwdCh1bnNpZ25lZCBp bnQgbXNyLCB1aW50NjRfdCAqbXNyX2NvbnRlbnQpCiAgICAgICAgICptc3JfY29udGVudCA9IGh2 bV9tc3JfdHNjX2F1eCh2KTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIE1TUl9JQTMyX0FQ SUNCQVNFOgorICAgIGNhc2UgTVNSX0FQSUNfQkFTRToKICAgICAgICAgKm1zcl9jb250ZW50ID0g dmNwdV92bGFwaWModiktPmh3LmFwaWNfYmFzZV9tc3I7CiAgICAgICAgIGJyZWFrOwogCkBAIC0z NTk3LDcgKzM1OTcsNyBAQCBpbnQgaHZtX21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50 IG1zciwgdWludDY0X3QgbXNyX2NvbnRlbnQsCiAgICAgICAgICAgICB3cm1zcl90c2NfYXV4KG1z cl9jb250ZW50KTsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIE1TUl9JQTMyX0FQSUNCQVNF OgorICAgIGNhc2UgTVNSX0FQSUNfQkFTRToKICAgICAgICAgaWYgKCAhdmxhcGljX21zcl9zZXQo dmNwdV92bGFwaWModiksIG1zcl9jb250ZW50KSApCiAgICAgICAgICAgICBnb3RvIGdwX2ZhdWx0 OwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMg Yi94ZW4vYXJjaC94ODYvaHZtL3ZsYXBpYy5jCmluZGV4IDFiOWYwMGEuLmFhMjU5NjcgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmxhcGljLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS92 bGFwaWMuYwpAQCAtMTA5NSwxMSArMTA5NSwxMSBAQCBib29sX3QgdmxhcGljX21zcl9zZXQoc3Ry dWN0IHZsYXBpYyAqdmxhcGljLCB1aW50NjRfdCB2YWx1ZSkKICAgICBpZiAoICFoYXNfdmxhcGlj KHZsYXBpY19kb21haW4odmxhcGljKSkgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGlmICgg KHZsYXBpYy0+aHcuYXBpY19iYXNlX21zciBeIHZhbHVlKSAmIE1TUl9JQTMyX0FQSUNCQVNFX0VO QUJMRSApCisgICAgaWYgKCAodmxhcGljLT5ody5hcGljX2Jhc2VfbXNyIF4gdmFsdWUpICYgQVBJ Q19CQVNFX0VOQUJMRSApCiAgICAgewotICAgICAgICBpZiAoIHVubGlrZWx5KHZhbHVlICYgTVNS X0lBMzJfQVBJQ0JBU0VfRVhURCkgKQorICAgICAgICBpZiAoIHVubGlrZWx5KHZhbHVlICYgQVBJ Q19CQVNFX0VYVEQpICkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBpZiAoIHZhbHVl ICYgTVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFICkKKyAgICAgICAgaWYgKCB2YWx1ZSAmIEFQSUNf QkFTRV9FTkFCTEUgKQogICAgICAgICB7CiAgICAgICAgICAgICB2bGFwaWNfcmVzZXQodmxhcGlj KTsKICAgICAgICAgICAgIHZsYXBpYy0+aHcuZGlzYWJsZWQgJj0gflZMQVBJQ19IV19ESVNBQkxF RDsKQEAgLTExMTEsNyArMTExMSw3IEBAIGJvb2xfdCB2bGFwaWNfbXNyX3NldChzdHJ1Y3Qgdmxh cGljICp2bGFwaWMsIHVpbnQ2NF90IHZhbHVlKQogICAgICAgICAgICAgcHRfbWF5X3VubWFza19p cnEodmxhcGljX2RvbWFpbih2bGFwaWMpLCBOVUxMKTsKICAgICAgICAgfQogICAgIH0KLSAgICBl bHNlIGlmICggKCh2bGFwaWMtPmh3LmFwaWNfYmFzZV9tc3IgXiB2YWx1ZSkgJiBNU1JfSUEzMl9B UElDQkFTRV9FWFREKSAmJgorICAgIGVsc2UgaWYgKCAoKHZsYXBpYy0+aHcuYXBpY19iYXNlX21z ciBeIHZhbHVlKSAmIEFQSUNfQkFTRV9FWFREKSAmJgogICAgICAgICAgICAgICB1bmxpa2VseSgh dmxhcGljX3hhcGljX21vZGUodmxhcGljKSkgKQogICAgICAgICByZXR1cm4gMDsKIApAQCAtMTM5 NiwxMCArMTM5Niw5IEBAIHZvaWQgdmxhcGljX3Jlc2V0KHN0cnVjdCB2bGFwaWMgKnZsYXBpYykK ICAgICBpZiAoICFoYXNfdmxhcGljKHYtPmRvbWFpbikgKQogICAgICAgICByZXR1cm47CiAKLSAg ICB2bGFwaWMtPmh3LmFwaWNfYmFzZV9tc3IgPSAoTVNSX0lBMzJfQVBJQ0JBU0VfRU5BQkxFIHwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBJQ19ERUZBVUxUX1BIWVNfQkFTRSk7 CisgICAgdmxhcGljLT5ody5hcGljX2Jhc2VfbXNyID0gQVBJQ19CQVNFX0VOQUJMRSB8IEFQSUNf REVGQVVMVF9QSFlTX0JBU0U7CiAgICAgaWYgKCB2LT52Y3B1X2lkID09IDAgKQotICAgICAgICB2 bGFwaWMtPmh3LmFwaWNfYmFzZV9tc3IgfD0gTVNSX0lBMzJfQVBJQ0JBU0VfQlNQOworICAgICAg ICB2bGFwaWMtPmh3LmFwaWNfYmFzZV9tc3IgfD0gQVBJQ19CQVNFX0JTUDsKIAogICAgIHZsYXBp Y19zZXRfcmVnKHZsYXBpYywgQVBJQ19JRCwgKHYtPnZjcHVfaWQgKiAyKSA8PCAyNCk7CiAgICAg dmxhcGljX2RvX2luaXQodmxhcGljKTsKQEAgLTE1MzEsNyArMTUzMCw3IEBAIHN0YXRpYyBpbnQg bGFwaWNfbG9hZF9oaWRkZW4oc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3Qg KmgpCiAgICAgaWYgKCBzLT5sb2FkZWQucmVncyApCiAgICAgICAgIGxhcGljX2xvYWRfZml4dXAo cyk7CiAKLSAgICBpZiAoICEocy0+aHcuYXBpY19iYXNlX21zciAmIE1TUl9JQTMyX0FQSUNCQVNF X0VOQUJMRSkgJiYKKyAgICBpZiAoICEocy0+aHcuYXBpY19iYXNlX21zciAmIEFQSUNfQkFTRV9F TkFCTEUpICYmCiAgICAgICAgICB1bmxpa2VseSh2bGFwaWNfeDJhcGljX21vZGUocykpICkKICAg ICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYv aHZtL3ZsYXBpYy5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmxhcGljLmgKaW5kZXggMjEy YzM2Yi4uMDAyOGZhMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmxhcGlj LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdmxhcGljLmgKQEAgLTUwLDEzICs1MCwx MyBAQAogI2RlZmluZSB2bGFwaWNfZW5hYmxlZCh2bGFwaWMpICAgICAoIXZsYXBpY19kaXNhYmxl ZCh2bGFwaWMpKQogCiAjZGVmaW5lIHZsYXBpY19iYXNlX2FkZHJlc3ModmxhcGljKSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAotICAgICgodmxhcGljKS0+aHcuYXBpY19iYXNlX21zciAm IE1TUl9JQTMyX0FQSUNCQVNFX0JBU0UpCisgICAgKCh2bGFwaWMpLT5ody5hcGljX2Jhc2VfbXNy ICYgQVBJQ19CQVNFX0FERFJfTUFTSykKIC8qIE9ubHkgY2hlY2sgRVhURCBiaXQgYXMgRVhURCBj YW4ndCBiZSBzZXQgaWYgaXQgaXMgZGlzYWJsZWQgYnkgaGFyZHdhcmUgKi8KICNkZWZpbmUgdmxh cGljX3gyYXBpY19tb2RlKHZsYXBpYykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g ICAgKCh2bGFwaWMpLT5ody5hcGljX2Jhc2VfbXNyICYgTVNSX0lBMzJfQVBJQ0JBU0VfRVhURCkK KyAgICAoKHZsYXBpYyktPmh3LmFwaWNfYmFzZV9tc3IgJiBBUElDX0JBU0VfRVhURCkKICNkZWZp bmUgdmxhcGljX3hhcGljX21vZGUodmxhcGljKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCiAgICAgKCF2bGFwaWNfaHdfZGlzYWJsZWQodmxhcGljKSAmJiBcCi0gICAgICEoKHZsYXBp YyktPmh3LmFwaWNfYmFzZV9tc3IgJiBNU1JfSUEzMl9BUElDQkFTRV9FWFREKSkKKyAgICAgISgo dmxhcGljKS0+aHcuYXBpY19iYXNlX21zciAmIEFQSUNfQkFTRV9FWFREKSkKIAogLyoKICAqIEdl bmVyaWMgQVBJQyBiaXRtYXAgdmVjdG9yIHVwZGF0ZSAmIHNlYXJjaCByb3V0aW5lcy4KZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmggYi94ZW4vaW5jbHVkZS9hc20t eDg2L21zci1pbmRleC5oCmluZGV4IGI5MDcyYjYuLmNlMmU4NDcgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3It aW5kZXguaApAQCAtMTUsNiArMTUsMTIgQEAKICAqIGFiYnJldmlhdGVkIG5hbWUuCiAgKi8KIAor I2RlZmluZSBNU1JfQVBJQ19CQVNFICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMWIKKyNkZWZp bmUgQVBJQ19CQVNFX0JTUCAgICAgICAgICAgICAgICAgICAoX0FDKDEsIFVMTCkgPDwgIDgpCisj ZGVmaW5lIEFQSUNfQkFTRV9FWFREICAgICAgICAgICAgICAgICAgKF9BQygxLCBVTEwpIDw8IDEw KQorI2RlZmluZSBBUElDX0JBU0VfRU5BQkxFICAgICAgICAgICAgICAgIChfQUMoMSwgVUxMKSA8 PCAxMSkKKyNkZWZpbmUgQVBJQ19CQVNFX0FERFJfTUFTSyAgICAgICAgICAgICAweDAwMGZmZmZm ZmZmZmYwMDBVTEwKKwogI2RlZmluZSBNU1JfRkVBVFVSRV9DT05UUk9MICAgICAgICAgICAgIDB4 MDAwMDAwM2EKICNkZWZpbmUgRkVBVF9DVExfTE9DSyAgICAgICAgICAgICAgICAgICAoX0FDKDEs IFVMTCkgPDwgIDApCiAjZGVmaW5lIEZFQVRfQ1RMX1ZNWF9JTlNJREVfU01YICAgICAgICAgKF9B QygxLCBVTEwpIDw8ICAxKQpAQCAtMzMwLDExICszMzYsNiBAQAogCiAjZGVmaW5lIE1TUl9JQTMy X1RTQ19BREpVU1QJCTB4MDAwMDAwM2IKIAotI2RlZmluZSBNU1JfSUEzMl9BUElDQkFTRQkJMHgw MDAwMDAxYgotI2RlZmluZSBNU1JfSUEzMl9BUElDQkFTRV9CU1AJCSgxPDw4KQotI2RlZmluZSBN U1JfSUEzMl9BUElDQkFTRV9FWFRECQkoMTw8MTApCi0jZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNF X0VOQUJMRQkoMTw8MTEpCi0jZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNFX0JBU0UJCTB4MDAwZmZm ZmZmZmZmZjAwMHVsCiAjZGVmaW5lIE1TUl9JQTMyX0FQSUNCQVNFX01TUiAgICAgICAgICAgMHg4 MDAKICNkZWZpbmUgTVNSX0lBMzJfQVBJQ1RQUl9NU1IgICAgICAgICAgICAweDgwOAogI2RlZmlu ZSBNU1JfSUEzMl9BUElDUFBSX01TUiAgICAgICAgICAgIDB4ODBhCi0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=