From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 5/6] x86/emul: Don't use the ->cpuid() hook for feature checks Date: Mon, 5 Nov 2018 11:21:06 +0000 Message-ID: <1541416867-30253-6-git-send-email-andrew.cooper3@citrix.com> References: <1541416867-30253-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: <1541416867-30253-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 List-Id: xen-devel@lists.xenproject.org Rm9yIGEgcmVsZWFzZSBidWlsZCBvZiB4ZW4sIHRoaXMgcmVtb3ZlcyBhbG1vc3QgNGsgb2YgY29k ZSB2b2x1bWUsIGFuZCByZW1vdmVzCmEgZnVuY3Rpb24gcG9pbnRlciBjYWxsIGZyb20gZXZlcnkg aW5zdGFudGlhdGlvbi4KCiAgYWRkL3JlbW92ZTogMC8xIGdyb3cvc2hyaW5rOiAwLzMgdXAvZG93 bjogMC8tMzg3NyAoLTM4NzcpCiAgRnVuY3Rpb24gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb2xkICAgICBuZXcgICBkZWx0YQogIGFkanVzdF9ibmQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDIyNyAgICAgMjA1ICAgICAtMjIKICB4ODZfZGVjb2RlICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDgxMzYgICAgODA5NiAgICAgLTQwCiAgdmNwdV9o YXMuaXNyYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMzICAgICAgIC0gICAgLTEz MwogIHg4Nl9lbXVsYXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExODY4NyAgMTE1 MDA1ICAgLTM2ODIKICBUb3RhbDogQmVmb3JlPTMzMDkyMDAsIEFmdGVyPTMzMDUzMjMsIGNoZyAt MC4xMiUKClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExp dSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2 X2VtdWxhdGUuYyB8IDE0MCArKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCA4OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYyBiL3hlbi9hcmNoL3g4Ni94 ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCmluZGV4IDhiZmYwMmEuLjM5NjBjOGUgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNo L3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jCkBAIC0xNjk0LDkxICsxNjk0LDU4IEBAIGlu X3Byb3Rtb2RlKAogICAgIHJldHVybiAhKGluX3JlYWxtb2RlKGN0eHQsIG9wcykgfHwgKGN0eHQt PnJlZ3MtPmVmbGFncyAmIFg4Nl9FRkxBR1NfVk0pKTsKIH0KIAotI2RlZmluZSBFQVggMAotI2Rl ZmluZSBFQ1ggMQotI2RlZmluZSBFRFggMgotI2RlZmluZSBFQlggMwotCi1zdGF0aWMgYm9vbCB2 Y3B1X2hhcygKLSAgICB1bnNpZ25lZCBpbnQgZWF4LAotICAgIHVuc2lnbmVkIGludCByZWcsCi0g ICAgdW5zaWduZWQgaW50IGJpdCwKLSAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCwK LSAgICBjb25zdCBzdHJ1Y3QgeDg2X2VtdWxhdGVfb3BzICpvcHMpCi17Ci0gICAgc3RydWN0IGNw dWlkX2xlYWYgcmVzOwotICAgIGludCByYyA9IFg4NkVNVUxfT0tBWTsKLQotICAgIGZhaWxfaWYo IW9wcy0+Y3B1aWQpOwotICAgIHJjID0gb3BzLT5jcHVpZChlYXgsIDAsICZyZXMsIGN0eHQpOwot ICAgIGlmICggcmMgPT0gWDg2RU1VTF9PS0FZICkKLSAgICB7Ci0gICAgICAgIHN3aXRjaCAoIHJl ZyApCi0gICAgICAgIHsKLSAgICAgICAgY2FzZSBFQVg6IHJlZyA9IHJlcy5hOyBicmVhazsKLSAg ICAgICAgY2FzZSBFQlg6IHJlZyA9IHJlcy5iOyBicmVhazsKLSAgICAgICAgY2FzZSBFQ1g6IHJl ZyA9IHJlcy5jOyBicmVhazsKLSAgICAgICAgY2FzZSBFRFg6IHJlZyA9IHJlcy5kOyBicmVhazsK LSAgICAgICAgZGVmYXVsdDogQlVHKCk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKCAhKHJlZyAm ICgxVSA8PCBiaXQpKSApCi0gICAgICAgICAgICByYyA9IH5YODZFTVVMX09LQVk7Ci0gICAgfQot Ci0gZG9uZToKLSAgICByZXR1cm4gcmMgPT0gWDg2RU1VTF9PS0FZOwotfQotCi0jZGVmaW5lIHZj cHVfaGFzX2ZwdSgpICAgICAgICAgdmNwdV9oYXMoICAgICAgICAgMSwgRURYLCAgMCwgY3R4dCwg b3BzKQotI2RlZmluZSB2Y3B1X2hhc19zZXAoKSAgICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDEs IEVEWCwgMTEsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfY3g4KCkgICAgICAgICB2Y3B1 X2hhcyggICAgICAgICAxLCBFRFgsICA4LCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX2Nt b3YoKSAgICAgICAgdmNwdV9oYXMoICAgICAgICAgMSwgRURYLCAxNSwgY3R4dCwgb3BzKQotI2Rl ZmluZSB2Y3B1X2hhc19jbGZsdXNoKCkgICAgIHZjcHVfaGFzKCAgICAgICAgIDEsIEVEWCwgMTks IGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfbW14KCkgICAgICAgICB2Y3B1X2hhcyggICAg ICAgICAxLCBFRFgsIDIzLCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX3NzZSgpICAgICAg ICAgdmNwdV9oYXMoICAgICAgICAgMSwgRURYLCAyNSwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1 X2hhc19zc2UyKCkgICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDEsIEVEWCwgMjYsIGN0eHQsIG9w cykKLSNkZWZpbmUgdmNwdV9oYXNfc3NlMygpICAgICAgICB2Y3B1X2hhcyggICAgICAgICAxLCBF Q1gsICAwLCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX3BjbG11bHFkcSgpICAgdmNwdV9o YXMoICAgICAgICAgMSwgRUNYLCAgMSwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19zc3Nl MygpICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDEsIEVDWCwgIDksIGN0eHQsIG9wcykKLSNkZWZp bmUgdmNwdV9oYXNfZm1hKCkgICAgICAgICB2Y3B1X2hhcyggICAgICAgICAxLCBFQ1gsIDEyLCBj dHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX2N4MTYoKSAgICAgICAgdmNwdV9oYXMoICAgICAg ICAgMSwgRUNYLCAxMywgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19zc2U0XzEoKSAgICAg IHZjcHVfaGFzKCAgICAgICAgIDEsIEVDWCwgMTksIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9o YXNfc3NlNF8yKCkgICAgICB2Y3B1X2hhcyggICAgICAgICAxLCBFQ1gsIDIwLCBjdHh0LCBvcHMp Ci0jZGVmaW5lIHZjcHVfaGFzX21vdmJlKCkgICAgICAgdmNwdV9oYXMoICAgICAgICAgMSwgRUNY LCAyMiwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19wb3BjbnQoKSAgICAgIHZjcHVfaGFz KCAgICAgICAgIDEsIEVDWCwgMjMsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfYWVzbmko KSAgICAgICB2Y3B1X2hhcyggICAgICAgICAxLCBFQ1gsIDI1LCBjdHh0LCBvcHMpCi0jZGVmaW5l IHZjcHVfaGFzX2F2eCgpICAgICAgICAgdmNwdV9oYXMoICAgICAgICAgMSwgRUNYLCAyOCwgY3R4 dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19mMTZjKCkgICAgICAgIHZjcHVfaGFzKCAgICAgICAg IDEsIEVDWCwgMjksIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfcmRyYW5kKCkgICAgICB2 Y3B1X2hhcyggICAgICAgICAxLCBFQ1gsIDMwLCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFz X21teGV4dCgpICAgICAodmNwdV9oYXMoMHg4MDAwMDAwMSwgRURYLCAyMiwgY3R4dCwgb3BzKSB8 fCBcCisjZGVmaW5lIHZjcHVfaGFzX2ZwdSgpICAgICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5m cHUpCisjZGVmaW5lIHZjcHVfaGFzX3NlcCgpICAgICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5z ZXApCisjZGVmaW5lIHZjcHVfaGFzX2N4OCgpICAgICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5j eDgpCisjZGVmaW5lIHZjcHVfaGFzX2Ntb3YoKSAgICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5j bW92KQorI2RlZmluZSB2Y3B1X2hhc19jbGZsdXNoKCkgICAgIChjdHh0LT5jcHVpZC0+YmFzaWMu Y2xmbHVzaCkKKyNkZWZpbmUgdmNwdV9oYXNfbW14KCkgICAgICAgICAoY3R4dC0+Y3B1aWQtPmJh c2ljLm1teCkKKyNkZWZpbmUgdmNwdV9oYXNfc3NlKCkgICAgICAgICAoY3R4dC0+Y3B1aWQtPmJh c2ljLnNzZSkKKyNkZWZpbmUgdmNwdV9oYXNfc3NlMigpICAgICAgICAoY3R4dC0+Y3B1aWQtPmJh c2ljLnNzZTIpCisjZGVmaW5lIHZjcHVfaGFzX3NzZTMoKSAgICAgICAgKGN0eHQtPmNwdWlkLT5i YXNpYy5zc2UzKQorI2RlZmluZSB2Y3B1X2hhc19wY2xtdWxxZHEoKSAgIChjdHh0LT5jcHVpZC0+ YmFzaWMucGNsbXVscWRxKQorI2RlZmluZSB2Y3B1X2hhc19zc3NlMygpICAgICAgIChjdHh0LT5j cHVpZC0+YmFzaWMuc3NzZTMpCisjZGVmaW5lIHZjcHVfaGFzX2ZtYSgpICAgICAgICAgKGN0eHQt PmNwdWlkLT5iYXNpYy5mbWEpCisjZGVmaW5lIHZjcHVfaGFzX2N4MTYoKSAgICAgICAgKGN0eHQt PmNwdWlkLT5iYXNpYy5jeDE2KQorI2RlZmluZSB2Y3B1X2hhc19zc2U0XzEoKSAgICAgIChjdHh0 LT5jcHVpZC0+YmFzaWMuc3NlNF8xKQorI2RlZmluZSB2Y3B1X2hhc19zc2U0XzIoKSAgICAgIChj dHh0LT5jcHVpZC0+YmFzaWMuc3NlNF8yKQorI2RlZmluZSB2Y3B1X2hhc19tb3ZiZSgpICAgICAg IChjdHh0LT5jcHVpZC0+YmFzaWMubW92YmUpCisjZGVmaW5lIHZjcHVfaGFzX3BvcGNudCgpICAg ICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5wb3BjbnQpCisjZGVmaW5lIHZjcHVfaGFzX2Flc25pKCkg ICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5hZXNuaSkKKyNkZWZpbmUgdmNwdV9oYXNfYXZ4KCkg ICAgICAgICAoY3R4dC0+Y3B1aWQtPmJhc2ljLmF2eCkKKyNkZWZpbmUgdmNwdV9oYXNfZjE2Yygp ICAgICAgICAoY3R4dC0+Y3B1aWQtPmJhc2ljLmYxNmMpCisjZGVmaW5lIHZjcHVfaGFzX3JkcmFu ZCgpICAgICAgKGN0eHQtPmNwdWlkLT5iYXNpYy5yZHJhbmQpCisKKyNkZWZpbmUgdmNwdV9oYXNf bW14ZXh0KCkgICAgIChjdHh0LT5jcHVpZC0+ZXh0ZC5tbXhleHQgfHwgXAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZjcHVfaGFzX3NzZSgpKQotI2RlZmluZSB2Y3B1X2hhc18zZG5v d19leHQoKSAgIHZjcHVfaGFzKDB4ODAwMDAwMDEsIEVEWCwgMzAsIGN0eHQsIG9wcykKLSNkZWZp bmUgdmNwdV9oYXNfM2Rub3coKSAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFRFgsIDMxLCBj dHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX2xhaGZfbG0oKSAgICAgdmNwdV9oYXMoMHg4MDAw MDAwMSwgRUNYLCAgMCwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19jcjhfbGVnYWN5KCkg IHZjcHVfaGFzKDB4ODAwMDAwMDEsIEVDWCwgIDQsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9o YXNfbHpjbnQoKSAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFQ1gsICA1LCBjdHh0LCBvcHMp Ci0jZGVmaW5lIHZjcHVfaGFzX3NzZTRhKCkgICAgICAgdmNwdV9oYXMoMHg4MDAwMDAwMSwgRUNY LCAgNiwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19taXNhbGlnbnNzZSgpIHZjcHVfaGFz KDB4ODAwMDAwMDEsIEVDWCwgIDcsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfeG9wKCkg ICAgICAgICB2Y3B1X2hhcygweDgwMDAwMDAxLCBFQ1gsIDEyLCBjdHh0LCBvcHMpCi0jZGVmaW5l IHZjcHVfaGFzX2ZtYTQoKSAgICAgICAgdmNwdV9oYXMoMHg4MDAwMDAwMSwgRUNYLCAxNiwgY3R4 dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc190Ym0oKSAgICAgICAgIHZjcHVfaGFzKDB4ODAwMDAw MDEsIEVDWCwgMjEsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfYm1pMSgpICAgICAgICB2 Y3B1X2hhcyggICAgICAgICA3LCBFQlgsICAzLCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFz X2hsZSgpICAgICAgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUJYLCAgNCwgY3R4dCwgb3BzKQot I2RlZmluZSB2Y3B1X2hhc19hdngyKCkgICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwg IDUsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfYm1pMigpICAgICAgICB2Y3B1X2hhcygg ICAgICAgICA3LCBFQlgsICA4LCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX3J0bSgpICAg ICAgICAgdmNwdV9oYXMoICAgICAgICAgNywgRUJYLCAxMSwgY3R4dCwgb3BzKQotI2RlZmluZSB2 Y3B1X2hhc19tcHgoKSAgICAgICAgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwgMTQsIGN0eHQs IG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEyZigpICAgICB2Y3B1X2hhcyggICAgICAgICA3 LCBFQlgsIDE2LCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX2F2eDUxMmRxKCkgICAgdmNw dV9oYXMoICAgICAgICAgNywgRUJYLCAxNywgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19y ZHNlZWQoKSAgICAgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwgMTgsIGN0eHQsIG9wcykKLSNk ZWZpbmUgdmNwdV9oYXNfYWR4KCkgICAgICAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQlgsIDE5 LCBjdHh0LCBvcHMpCi0jZGVmaW5lIHZjcHVfaGFzX3NtYXAoKSAgICAgICAgdmNwdV9oYXMoICAg ICAgICAgNywgRUJYLCAyMCwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19jbGZsdXNob3B0 KCkgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwgMjMsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNw dV9oYXNfY2x3YigpICAgICAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQlgsIDI0LCBjdHh0LCBv cHMpCi0jZGVmaW5lIHZjcHVfaGFzX3NoYSgpICAgICAgICAgdmNwdV9oYXMoICAgICAgICAgNywg RUJYLCAyOSwgY3R4dCwgb3BzKQotI2RlZmluZSB2Y3B1X2hhc19hdng1MTJidygpICAgIHZjcHVf aGFzKCAgICAgICAgIDcsIEVCWCwgMzAsIGN0eHQsIG9wcykKLSNkZWZpbmUgdmNwdV9oYXNfcmRw aWQoKSAgICAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQ1gsIDIyLCBjdHh0LCBvcHMpCi0jZGVm aW5lIHZjcHVfaGFzX2NsemVybygpICAgICAgdmNwdV9oYXMoMHg4MDAwMDAwOCwgRUJYLCAgMCwg Y3R4dCwgb3BzKQorI2RlZmluZSB2Y3B1X2hhc18zZG5vd19leHQoKSAgIChjdHh0LT5jcHVpZC0+ ZXh0ZC5fM2Rub3dleHQpCisjZGVmaW5lIHZjcHVfaGFzXzNkbm93KCkgICAgICAgKGN0eHQtPmNw dWlkLT5leHRkLl8zZG5vdykKKyNkZWZpbmUgdmNwdV9oYXNfbGFoZl9sbSgpICAgICAoY3R4dC0+ Y3B1aWQtPmV4dGQubGFoZl9sbSkKKyNkZWZpbmUgdmNwdV9oYXNfY3I4X2xlZ2FjeSgpICAoY3R4 dC0+Y3B1aWQtPmV4dGQuY3I4X2xlZ2FjeSkKKyNkZWZpbmUgdmNwdV9oYXNfbHpjbnQoKSAgICAg ICAoY3R4dC0+Y3B1aWQtPmV4dGQuYWJtKQorI2RlZmluZSB2Y3B1X2hhc19zc2U0YSgpICAgICAg IChjdHh0LT5jcHVpZC0+ZXh0ZC5zc2U0YSkKKyNkZWZpbmUgdmNwdV9oYXNfbWlzYWxpZ25zc2Uo KSAoY3R4dC0+Y3B1aWQtPmV4dGQubWlzYWxpZ25zc2UpCisjZGVmaW5lIHZjcHVfaGFzX3hvcCgp ICAgICAgICAgKGN0eHQtPmNwdWlkLT5leHRkLnhvcCkKKyNkZWZpbmUgdmNwdV9oYXNfZm1hNCgp ICAgICAgICAoY3R4dC0+Y3B1aWQtPmV4dGQuZm1hNCkKKyNkZWZpbmUgdmNwdV9oYXNfdGJtKCkg ICAgICAgICAoY3R4dC0+Y3B1aWQtPmV4dGQudGJtKQorI2RlZmluZSB2Y3B1X2hhc19jbHplcm8o KSAgICAgIChjdHh0LT5jcHVpZC0+ZXh0ZC5jbHplcm8pCisKKyNkZWZpbmUgdmNwdV9oYXNfYm1p MSgpICAgICAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuYm1pMSkKKyNkZWZpbmUgdmNwdV9oYXNfaGxl KCkgICAgICAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuaGxlKQorI2RlZmluZSB2Y3B1X2hhc19hdngy KCkgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5hdngyKQorI2RlZmluZSB2Y3B1X2hhc19ibWky KCkgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5ibWkyKQorI2RlZmluZSB2Y3B1X2hhc19ydG0o KSAgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5ydG0pCisjZGVmaW5lIHZjcHVfaGFzX21weCgp ICAgICAgICAgKGN0eHQtPmNwdWlkLT5mZWF0Lm1weCkKKyNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEy ZigpICAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuYXZ4NTEyZikKKyNkZWZpbmUgdmNwdV9oYXNfYXZ4 NTEyZHEoKSAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuYXZ4NTEyZHEpCisjZGVmaW5lIHZjcHVfaGFz X3Jkc2VlZCgpICAgICAgKGN0eHQtPmNwdWlkLT5mZWF0LnJkc2VlZCkKKyNkZWZpbmUgdmNwdV9o YXNfYWR4KCkgICAgICAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuYWR4KQorI2RlZmluZSB2Y3B1X2hh c19zbWFwKCkgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5zbWFwKQorI2RlZmluZSB2Y3B1X2hh c19jbGZsdXNob3B0KCkgIChjdHh0LT5jcHVpZC0+ZmVhdC5jbGZsdXNob3B0KQorI2RlZmluZSB2 Y3B1X2hhc19jbHdiKCkgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5jbHdiKQorI2RlZmluZSB2 Y3B1X2hhc19zaGEoKSAgICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5zaGEpCisjZGVmaW5lIHZj cHVfaGFzX2F2eDUxMmJ3KCkgICAgKGN0eHQtPmNwdWlkLT5mZWF0LmF2eDUxMmJ3KQorI2RlZmlu ZSB2Y3B1X2hhc19yZHBpZCgpICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5yZHBpZCkKIAogI2Rl ZmluZSB2Y3B1X211c3RfaGF2ZShmZWF0KSBcCiAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKCF2 Y3B1X2hhc18jI2ZlYXQoKSwgRVhDX1VEKQpAQCAtNTI2OCwxMCArNTIzNSw3IEBAIHg4Nl9lbXVs YXRlKAogCiAgICAgICAgICAgICBiYXNlID0gYWRfYnl0ZXMgPT0gOCA/IF9yZWdzLnIoYXgpIDoK ICAgICAgICAgICAgICAgICAgICBhZF9ieXRlcyA9PSA0ID8gX3JlZ3MuZWF4IDogX3JlZ3MuYXg7 Ci0gICAgICAgICAgICBsaW1pdCA9IDA7Ci0gICAgICAgICAgICBpZiAoIHZjcHVfaGFzX2NsZmx1 c2goKSAmJgotICAgICAgICAgICAgICAgICBvcHMtPmNwdWlkKDEsIDAsICZjcHVpZF9sZWFmLCBj dHh0KSA9PSBYODZFTVVMX09LQVkgKQotICAgICAgICAgICAgICAgIGxpbWl0ID0gKChjcHVpZF9s ZWFmLmIgPj4gOCkgJiAweGZmKSAqIDg7CisgICAgICAgICAgICBsaW1pdCA9IGN0eHQtPmNwdWlk LT5iYXNpYy5jbGZsdXNoX3NpemUgKiA4OwogICAgICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKGxpbWl0IDwgc2l6ZW9mKGxvbmcpIHx8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKGxpbWl0ICYgKGxpbWl0IC0gMSkpLCBFWENfVUQpOwogICAgICAgICAgICAgYmFzZSAm PSB+KGxpbWl0IC0gMSk7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0 aW5mby94ZW4tZGV2ZWw=