From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v2 40/62] xen/x86: make VGA support selectable Date: Fri, 12 Jan 2018 11:28:48 +0000 Message-ID: <20180112112910.16762-41-wei.liu2@citrix.com> References: <20180112112910.16762-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eZy0K-0006Wy-2i for xen-devel@lists.xenproject.org; Fri, 12 Jan 2018 12:00:12 +0000 In-Reply-To: <20180112112910.16762-1-wei.liu2@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: wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org RnJvbTogUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KClRocm91Z2ggYSBL Y29uZmlnIG9wdGlvbi4gRW5hYmxlIGl0IGJ5IGRlZmF1bHQsIGFuZCBkaXNhYmxlIGl0IGZvciB0 aGUKUFYtaW4tUFZIIHNoaW0uCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl ci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KU2lnbmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB0 b29scy9maXJtd2FyZS94ZW4tZGlyL3NoaW0uY29uZmlnIHwgMiAtLQogeGVuL2FyY2gveDg2L0tj b25maWcgICAgICAgICAgICAgICB8IDEgLQogeGVuL2FyY2gveDg2L2Jvb3QvYnVpbGQzMi5tayAg ICAgICB8IDEgKwogeGVuL2FyY2gveDg2L2Jvb3QvY21kbGluZS5jICAgICAgICB8IDUgKysrKy0K IHhlbi9hcmNoL3g4Ni9ib290L3RyYW1wb2xpbmUuUyAgICAgfCA3ICsrKysrKysKIHhlbi9hcmNo L3g4Ni9lZmkvZWZpLWJvb3QuaCAgICAgICAgfCA0ICsrKysKIHhlbi9hcmNoL3g4Ni9wbGF0Zm9y bV9oeXBlcmNhbGwuYyAgfCAyICsrCiB4ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jICAgICAg IHwgMiArKwogeGVuL2FyY2gveDg2L3NldHVwLmMgICAgICAgICAgICAgICB8IDYgKysrKysrCiB4 ZW4vZHJpdmVycy92aWRlby9LY29uZmlnICAgICAgICAgIHwgOCArKysrKysrLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9zZXR1cC5oICAgICAgICB8IDYgKysrKysrCiAxMSBmaWxlcyBjaGFuZ2VkLCAz OSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2Zpcm13 YXJlL3hlbi1kaXIvc2hpbS5jb25maWcgYi90b29scy9maXJtd2FyZS94ZW4tZGlyL3NoaW0uY29u ZmlnCmluZGV4IDIyN2ExMmZiNGMuLmQ1YmQ1MTY2MzIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2Zpcm13 YXJlL3hlbi1kaXIvc2hpbS5jb25maWcKKysrIGIvdG9vbHMvZmlybXdhcmUveGVuLWRpci9zaGlt LmNvbmZpZwpAQCAtNjgsOCArNjgsNiBAQCBDT05GSUdfSEFTX0VIQ0k9eQogQ09ORklHX0hBU19D UFVGUkVRPXkKIENPTkZJR19IQVNfUEFTU1RIUk9VR0g9eQogQ09ORklHX0hBU19QQ0k9eQotQ09O RklHX1ZJREVPPXkKLUNPTkZJR19WR0E9eQogQ09ORklHX0RFRkNPTkZJR19MSVNUPSIkQVJDSF9E RUZDT05GSUciCiBDT05GSUdfQVJDSF9TVVBQT1JUU19JTlQxMjg9eQogCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvS2NvbmZpZyBiL3hlbi9hcmNoL3g4Ni9LY29uZmlnCmluZGV4IDQ5NTM1MzNm MTYuLmY2MjFlNzk5ZWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9LY29uZmlnCisrKyBiL3hl bi9hcmNoL3g4Ni9LY29uZmlnCkBAIC0yNCw3ICsyNCw2IEBAIGNvbmZpZyBYODYKIAlzZWxlY3Qg SEFTX1BEWAogCXNlbGVjdCBIQVNfVUJTQU4KIAlzZWxlY3QgTlVNQQotCXNlbGVjdCBWR0EKIAog Y29uZmlnIEFSQ0hfREVGQ09ORklHCiAJc3RyaW5nCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv Ym9vdC9idWlsZDMyLm1rIGIveGVuL2FyY2gveDg2L2Jvb3QvYnVpbGQzMi5tawppbmRleCBmN2U4 ZWJlNjdkLi40OGM3NDA3YzAwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC9idWlsZDMy Lm1rCisrKyBiL3hlbi9hcmNoL3g4Ni9ib290L2J1aWxkMzIubWsKQEAgLTUsNiArNSw3IEBAIGlu Y2x1ZGUgJChYRU5fUk9PVCkvQ29uZmlnLm1rCiAkKGNhbGwgY2Mtb3B0aW9ucy1hZGQsQ0ZMQUdT LENDLCQoRU1CRURERURfRVhUUkFfQ0ZMQUdTKSkKIAogQ0ZMQUdTICs9IC1XZXJyb3IgLWZuby1h c3luY2hyb25vdXMtdW53aW5kLXRhYmxlcyAtZm5vLWJ1aWx0aW4gLWcwIC1tc29mdC1mbG9hdAor Q0ZMQUdTICs9IC1JJChYRU5fUk9PVCkveGVuL2luY2x1ZGUKIENGTEFHUyA6PSAkKGZpbHRlci1v dXQgLWZsdG8sJChDRkxBR1MpKSAKIAogIyBOQi4gYXdrIGludm9jYXRpb24gaXMgYSBwb3J0YWJs ZSBhbHRlcm5hdGl2ZSB0byAnaGVhZCAtbiAtMScKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9i b290L2NtZGxpbmUuYyBiL3hlbi9hcmNoL3g4Ni9ib290L2NtZGxpbmUuYwppbmRleCAwNmFhMDY0 ZTcyLi41MWIwNjU5YTA0IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvYm9vdC9jbWRsaW5lLmMK KysrIGIveGVuL2FyY2gveDg2L2Jvb3QvY21kbGluZS5jCkBAIC0zMCw2ICszMCw3IEBAIGFzbSAo CiAgICAgIiAgICBqbXAgIGNtZGxpbmVfcGFyc2VfZWFybHkgICAgICBcbiIKICAgICApOwogCisj aW5jbHVkZSA8eGVuL2tjb25maWcuaD4KICNpbmNsdWRlICJkZWZzLmgiCiAjaW5jbHVkZSAidmlk ZW8uaCIKIApAQCAtMzM2LDUgKzMzNyw3IEBAIHZvaWQgX19zdGRjYWxsIGNtZGxpbmVfcGFyc2Vf ZWFybHkoY29uc3QgY2hhciAqY21kbGluZSwgZWFybHlfYm9vdF9vcHRzX3QgKmVibykKICAgICBl Ym8tPnNraXBfcmVhbG1vZGUgPSBza2lwX3JlYWxtb2RlKGNtZGxpbmUpOwogICAgIGViby0+b3B0 X2VkZCA9IGVkZF9wYXJzZShjbWRsaW5lKTsKICAgICBlYm8tPm9wdF9lZGlkID0gZWRpZF9wYXJz ZShjbWRsaW5lKTsKLSAgICB2Z2FfcGFyc2UoY21kbGluZSwgZWJvKTsKKworICAgIGlmICggSVNf RU5BQkxFRChDT05GSUdfVklERU8pICkKKyAgICAgICAgdmdhX3BhcnNlKGNtZGxpbmUsIGVibyk7 CiB9CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvYm9vdC90cmFtcG9saW5lLlMgYi94ZW4vYXJj aC94ODYvYm9vdC90cmFtcG9saW5lLlMKaW5kZXggNGQ2NDBmM2ZjZC4uYTE3YTkwZGY1ZSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L2Jvb3QvdHJhbXBvbGluZS5TCisrKyBiL3hlbi9hcmNoL3g4 Ni9ib290L3RyYW1wb2xpbmUuUwpAQCAtMjE5LDcgKzIxOSw5IEBAIHRyYW1wb2xpbmVfYm9vdF9j cHVfZW50cnk6CiAgICAgICAgICAqLwogICAgICAgICBjYWxsICAgIGdldF9tZW1vcnlfbWFwCiAg ICAgICAgIGNhbGwgICAgZ2V0X2VkZAorI2lmZGVmIENPTkZJR19WSURFTwogICAgICAgICBjYWxs ICAgIHZpZGVvCisjZW5kaWYKIAogICAgICAgICBtb3YgICAgICQweDAyMDAsJWF4CiAgICAgICAg IGludCAgICAgJDB4MTYKQEAgLTI2NywxMCArMjY5LDEzIEBAIG9wdF9lZGlkOgogICAgICAgICAu Ynl0ZSAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRURJRCBwYXJzaW5nIG9w dGlvbiAoZm9yY2Uvbm8vZGVmYXVsdCkuICovCiAvKiBQYWRkaW5nLiAqLwogICAgICAgICAuYnl0 ZSAgIDAKKworI2lmZGVmIENPTkZJR19WSURFTwogR0xPQkFMKGJvb3RfdmlkX21vZGUpCiAgICAg ICAgIC53b3JkICAgVklERU9fODB4MjUgICAgICAgICAgICAgICAgICAgICAvKiBJZiB3ZSBkb24n dCBydW4gYXQgYWxsLCBhc3N1bWUgYmFzaWMgdmlkZW8gbW9kZSAzIGF0IDgweDI1LiAqLwogdmVz YV9zaXplOgogICAgICAgICAud29yZCAgIDAsMCwwICAgICAgICAgICAgICAgICAgICAgICAgICAg Lyogd2lkdGggeCBkZXB0aCB4IGhlaWdodCAqLworI2VuZGlmCiAKIEdMT0JBTChrYmRfc2hpZnRf ZmxhZ3MpCiAgICAgICAgIC5ieXRlICAgMApAQCAtMjc5LDQgKzI4NCw2IEBAIHJtX2lkdDogLndv cmQgICAyNTYqNC0xLCAwLCAwCiAKICNpbmNsdWRlICJtZW0uUyIKICNpbmNsdWRlICJlZGQuUyIK KyNpZmRlZiBDT05GSUdfVklERU8KICNpbmNsdWRlICJ2aWRlby5TIgorI2VuZGlmCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvZWZpL2VmaS1ib290LmggYi94ZW4vYXJjaC94ODYvZWZpL2VmaS1i b290LmgKaW5kZXggZDMwZjY4OGE1YS4uNTc4OWQyY2I3MCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2VmaS9lZmktYm9vdC5oCisrKyBiL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaApAQCAt NDc5LDE2ICs0NzksMTkgQEAgc3RhdGljIHZvaWQgX19pbml0IGVmaV9hcmNoX2VkZCh2b2lkKQog CiBzdGF0aWMgdm9pZCBfX2luaXQgZWZpX2FyY2hfY29uc29sZV9pbml0KFVJTlROIGNvbHMsIFVJ TlROIHJvd3MpCiB7CisjaWZkZWYgQ09ORklHX1ZJREVPCiAgICAgdmdhX2NvbnNvbGVfaW5mby52 aWRlb190eXBlID0gWEVOX1ZHQVRZUEVfVEVYVF9NT0RFXzM7CiAgICAgdmdhX2NvbnNvbGVfaW5m by51LnRleHRfbW9kZV8zLmNvbHVtbnMgPSBjb2xzOwogICAgIHZnYV9jb25zb2xlX2luZm8udS50 ZXh0X21vZGVfMy5yb3dzID0gcm93czsKICAgICB2Z2FfY29uc29sZV9pbmZvLnUudGV4dF9tb2Rl XzMuZm9udF9oZWlnaHQgPSAxNjsKKyNlbmRpZgogfQogCiBzdGF0aWMgdm9pZCBfX2luaXQgZWZp X2FyY2hfdmlkZW9faW5pdChFRklfR1JBUEhJQ1NfT1VUUFVUX1BST1RPQ09MICpnb3AsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSU5UTiBpbmZvX3NpemUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfR1JBUEhJQ1NfT1VUUFVUX01P REVfSU5GT1JNQVRJT04gKm1vZGVfaW5mbykKIHsKKyNpZmRlZiBDT05GSUdfVklERU8KICAgICBp bnQgYnBwID0gMDsKIAogICAgIHN3aXRjaCAoIG1vZGVfaW5mby0+UGl4ZWxGb3JtYXQgKQpAQCAt NTUwLDYgKzU1Myw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBlZmlfYXJjaF92aWRlb19pbml0KEVG SV9HUkFQSElDU19PVVRQVVRfUFJPVE9DT0wgKmdvcCwKICAgICAgICAgdmdhX2NvbnNvbGVfaW5m by51LnZlc2FfbGZiLmxmYl9zaXplID0KICAgICAgICAgICAgIChnb3AtPk1vZGUtPkZyYW1lQnVm ZmVyU2l6ZSArIDB4ZmZmZikgPj4gMTY7CiAgICAgfQorI2VuZGlmCiB9CiAKIHN0YXRpYyB2b2lk IF9faW5pdCBlZmlfYXJjaF9tZW1vcnlfc2V0dXAodm9pZCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9wbGF0Zm9ybV9oeXBlcmNhbGwuYyBiL3hlbi9hcmNoL3g4Ni9wbGF0Zm9ybV9oeXBlcmNh bGwuYwppbmRleCBlYmMyZjM5NGVlLi5lYTE4YzMyMTVhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvcGxhdGZvcm1faHlwZXJjYWxsLmMKKysrIGIveGVuL2FyY2gveDg2L3BsYXRmb3JtX2h5cGVy Y2FsbC5jCkBAIC0zODgsNiArMzg4LDcgQEAgcmV0X3QgZG9fcGxhdGZvcm1fb3AoWEVOX0dVRVNU X0hBTkRMRV9QQVJBTSh4ZW5fcGxhdGZvcm1fb3BfdCkgdV94ZW5wZl9vcCkKICAgICAgICAgfQog ICAgICAgICBjYXNlIFhFTl9GV19WQkVERENfSU5GTzoKICAgICAgICAgICAgIHJldCA9IC1FU1JD SDsKKyNpZmRlZiBDT05GSUdfVklERU8KICAgICAgICAgICAgIGlmICggb3AtPnUuZmlybXdhcmVf aW5mby5pbmRleCAhPSAwICkKICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIGlm ICggKih1MzIgKilib290c3ltKGJvb3RfZWRpZF9pbmZvKSA9PSAweDEzMTMxMzEzICkKQEAgLTQw Niw2ICs0MDcsNyBAQCByZXRfdCBkb19wbGF0Zm9ybV9vcChYRU5fR1VFU1RfSEFORExFX1BBUkFN KHhlbl9wbGF0Zm9ybV9vcF90KSB1X3hlbnBmX29wKQogICAgICAgICAgICAgICAgICBjb3B5X3Rv X2NvbXBhdChvcC0+dS5maXJtd2FyZV9pbmZvLnUudmJlZGRjX2luZm8uZWRpZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYm9vdHN5bShib290X2VkaWRfaW5mbyksIDEyOCkgKQog ICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7CisjZW5kaWYKICAgICAgICAgICAgIGJyZWFr OwogICAgICAgICBjYXNlIFhFTl9GV19FRklfSU5GTzoKICAgICAgICAgICAgIHJldCA9IGVmaV9n ZXRfaW5mbyhvcC0+dS5maXJtd2FyZV9pbmZvLmluZGV4LApkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3B2L2RvbTBfYnVpbGQuYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb20wX2J1aWxkLmMKaW5kZXgg OGZkNDBiNTI1NC4uNTBhNDIzZTM1ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L2RvbTBf YnVpbGQuYworKysgYi94ZW4vYXJjaC94ODYvcHYvZG9tMF9idWlsZC5jCkBAIC04MjcsMTEgKzgy NywxMyBAQCBpbnQgX19pbml0IGRvbTBfY29uc3RydWN0X3B2KHN0cnVjdCBkb21haW4gKmQsCiAg ICAgaWYgKCBjbWRsaW5lICE9IE5VTEwgKQogICAgICAgICBzdHJsY3B5KChjaGFyICopc2ktPmNt ZF9saW5lLCBjbWRsaW5lLCBzaXplb2Yoc2ktPmNtZF9saW5lKSk7CiAKKyNpZmRlZiBDT05GSUdf VklERU8KICAgICBpZiAoIGZpbGxfY29uc29sZV9zdGFydF9pbmZvKCh2b2lkICopKHNpICsgMSkp ICkKICAgICB7CiAgICAgICAgIHNpLT5jb25zb2xlLmRvbTAuaW5mb19vZmYgID0gc2l6ZW9mKHN0 cnVjdCBzdGFydF9pbmZvKTsKICAgICAgICAgc2ktPmNvbnNvbGUuZG9tMC5pbmZvX3NpemUgPSBz aXplb2Yoc3RydWN0IGRvbTBfdmdhX2NvbnNvbGVfaW5mbyk7CiAgICAgfQorI2VuZGlmCiAKICAg ICBpZiAoIGlzX3B2XzMyYml0X2RvbWFpbihkKSApCiAgICAgICAgIHhsYXRfc3RhcnRfaW5mbyhz aSwgWExBVF9zdGFydF9pbmZvX2NvbnNvbGVfZG9tMCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvc2V0dXAuYyBiL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCmluZGV4IDBjOWI1NWZmNzEuLmIyYWJj YWEyNzggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zZXR1cC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9zZXR1cC5jCkBAIC00NTYsNiArNDU2LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHNldHVwX21h eF9wZHgodW5zaWduZWQgbG9uZyB0b3BfcGFnZSkKIC8qIEEgdGVtcG9yYXJ5IGNvcHkgb2YgdGhl IGU4MjAgbWFwIHRoYXQgd2UgY2FuIG1lc3Mgd2l0aCBkdXJpbmcgYm9vdHN0cmFwLiAqLwogc3Rh dGljIHN0cnVjdCBlODIwbWFwIF9faW5pdGRhdGEgYm9vdF9lODIwOwogCisjaWZkZWYgQ09ORklH X1ZJREVPCiBzdHJ1Y3QgYm9vdF92aWRlb19pbmZvIHsKICAgICB1OCAgb3JpZ194OyAgICAgICAg ICAgICAvKiAweDAwICovCiAgICAgdTggIG9yaWdfeTsgICAgICAgICAgICAgLyogMHgwMSAqLwpA QCAtNDg2LDkgKzQ4NywxMSBAQCBzdHJ1Y3QgYm9vdF92aWRlb19pbmZvIHsKICAgICB1MTYgdmVz YV9hdHRyaWI7ICAgICAgICAvKiAweDI4ICovCiB9OwogZXh0ZXJuIHN0cnVjdCBib290X3ZpZGVv X2luZm8gYm9vdF92aWRfaW5mbzsKKyNlbmRpZgogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vf dmlkZW9faW5mbyh2b2lkKQogeworI2lmZGVmIENPTkZJR19WSURFTwogICAgIHN0cnVjdCBib290 X3ZpZGVvX2luZm8gKmJ2aSA9ICZib290c3ltKGJvb3RfdmlkX2luZm8pOwogCiAgICAgLyogdmdh X2NvbnNvbGVfaW5mbyBpcyBmaWxsZWQgZGlyZWN0bHkgb24gRUZJIHBsYXRmb3JtLiAqLwpAQCAt NTI0LDYgKzUyNyw3IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV92aWRlb19pbmZvKHZvaWQp CiAgICAgICAgIHZnYV9jb25zb2xlX2luZm8udS52ZXNhX2xmYi5nYmxfY2FwcyA9IGJ2aS0+Y2Fw YWJpbGl0aWVzOwogICAgICAgICB2Z2FfY29uc29sZV9pbmZvLnUudmVzYV9sZmIubW9kZV9hdHRy cyA9IGJ2aS0+dmVzYV9hdHRyaWI7CiAgICAgfQorI2VuZGlmCiB9CiAKIHN0YXRpYyB2b2lkIF9f aW5pdCBrZXhlY19yZXNlcnZlX2FyZWEoc3RydWN0IGU4MjBtYXAgKmU4MjApCkBAIC03NDEsNiAr NzQ1LDcgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBt YmlfcCkKIAogICAgIHByaW50aygiWGVuIGltYWdlIGxvYWQgYmFzZSBhZGRyZXNzOiAlI2x4XG4i LCB4ZW5fcGh5c19zdGFydCk7CiAKKyNpZmRlZiBDT05GSUdfVklERU8KICAgICBwcmludGsoIlZp ZGVvIGluZm9ybWF0aW9uOlxuIik7CiAKICAgICAvKiBQcmludCBWR0EgZGlzcGxheSBtb2RlIGlu Zm9ybWF0aW9uLiAqLwpAQCAtNzg0LDYgKzc4OSw3IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9f c3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgICAgICAgICAgcHJpbnRrKCJv ZiByZWFzb25zIHVua25vd25cbiIpOwogICAgICAgICB9CiAgICAgfQorI2VuZGlmCiAKICAgICBw cmludGsoIkRpc2MgaW5mb3JtYXRpb246XG4iKTsKICAgICBwcmludGsoIiBGb3VuZCAlZCBNQlIg c2lnbmF0dXJlc1xuIiwKZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZpZGVvL0tjb25maWcgYi94 ZW4vZHJpdmVycy92aWRlby9LY29uZmlnCmluZGV4IDBmZmJiZDlhODguLjUyZThjZTZjMTUgMTAw NjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL0tjb25maWcKKysrIGIveGVuL2RyaXZlcnMvdmlk ZW8vS2NvbmZpZwpAQCAtMyw4ICszLDE0IEBAIGNvbmZpZyBWSURFTwogCWJvb2wKIAogY29uZmln IFZHQQotCWJvb2wKKwlib29sICJWR0Egc3VwcG9ydCIgaWYgIVBWX1NISU1fRVhDTFVTSVZFCiAJ c2VsZWN0IFZJREVPCisJZGVwZW5kcyBvbiBYODYKKwlkZWZhdWx0IHkgaWYgIVBWX1NISU1fRVhD TFVTSVZFCisJLS0taGVscC0tLQorCSAgRW5hYmxlIFZHQSBvdXRwdXQgZm9yIHRoZSBYZW4gaHlw ZXJ2aXNvci4KKworCSAgSWYgdW5zdXJlLCBzYXkgWS4KIAogY29uZmlnIEhBU19BUk1fSERMQ0QK IAlib29sCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3NldHVwLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L3NldHVwLmgKaW5kZXggMDVkNjQ3ZDAyZS4uMTkyMzJhZmEwMSAxMDA2NDQK LS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9zZXR1cC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14 ODYvc2V0dXAuaApAQCAtMzEsOCArMzEsMTQgQEAgdm9pZCBhcmNoX2luaXRfbWVtb3J5KHZvaWQp Owogdm9pZCBzdWJhcmNoX2luaXRfbWVtb3J5KHZvaWQpOwogCiB2b2lkIGluaXRfSVJRKHZvaWQp OworCisjaWZkZWYgQ09ORklHX1ZJREVPCiB2b2lkIHZlc2FfaW5pdCh2b2lkKTsKIHZvaWQgdmVz YV9tdHJyX2luaXQodm9pZCk7CisjZWxzZQorc3RhdGljIGlubGluZSB2b2lkIHZlc2FfaW5pdCh2 b2lkKSB7fTsKK3N0YXRpYyBpbmxpbmUgdm9pZCB2ZXNhX210cnJfaW5pdCh2b2lkKSB7fTsKKyNl bmRpZgogCiBpbnQgY29uc3RydWN0X2RvbTAoCiAgICAgc3RydWN0IGRvbWFpbiAqZCwKLS0gCjIu MTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhl bi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=