From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 05/26] xen/x86: Annotate special features Date: Wed, 23 Mar 2016 16:36:08 +0000 Message-ID: <1458750989-28967-6-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-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: <1458750989-28967-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 U29tZSBiaXRzIGluIGEgZmVhdHVyZXNldCBhcmUgbm90IHNpbXBsZSBhIGluZGljYXRpb24gb2Yg bmV3IGZ1bmN0aW9uYWxpdHksCmFuZCByZXF1aXJlIHNwZWNpYWwgaGFuZGxpbmcuCgpBUElDLCBP U1hTQVZFIGFuZCBPU1BLRSBhcmUgZmFzdC1mb3J3YXJkcyBvZiBvdGhlciBwaWVjZXMgb2Ygc3Rh dGU7CklBMzJfQVBJQ19CQVNFLkVOLCBDUjQuT1NYU0FWRSBhbmQgQ1I0Lk9TUEtFLiAgWGVuIHdp bGwgdGFrZSBjYXJlIG9mIGZpbGxpbmcKdGhlc2UgYXBwcm9wcmlhdGVseSBhdCBydW50aW1lLgoK RkRQX0VYQ1BfT05MWSBhbmQgTk9fRlBVX1NFTCBhcmUgYml0cyBpbmRpY2F0aW5nIHJlZHVjZWQg ZnVuY3Rpb25hbGl0eSBpbiB0aGUKeDg3IHBpcGVsaW5lLiAgVGhlIGVmZmVjdHMgb2YgdGhlc2Ug Y2Fubm90IGJlIGhpZGRlbiBmcm9tIHRoZSBndWVzdCwgc28gdGhlCmhvc3QgdmFsdWVzIHdpbGwg YWx3YXlzIGJlIHByb3ZpZGVkLgoKSFRULCBYMkFQSUMgYW5kIENNUF9MRUdBQ1kgaW5kaWNhdGUg aG93IHRvIGludGVycHJldCBvdGhlciBjcHVpZCBsZWF2ZXMuICBJbgptb3N0IGNhc2VzLCB0aGUg dG9vbHN0YWNrIHZhbHVlIHdpbGwgYmUgdXNlZCAod2l0aCB0aGUgZXhwZWN0YXRpb24gdGhhdCB0 aGVzZQpmbGFncyB3aWxsIG1hdGNoIHRoZSBvdGhlciBwcm92aWRlZCB0b3BvbG9neSBpbmZvcm1h dGlvbikuICBIb3dldmVyIHdpdGggY3B1aWQKbWFza2luZywgdGhlIGhvc3QgdmFsdWVzIGFyZSBw cmVzZW50ZWQgYXMgbWFza2luZyBjYW5ub3QgaW5mbHVlbmNlIHdoYXQgdGhlCmd1ZXN0IHNlZXMg aW4gdGhlIGRlcGVuZGVudCBsZWF2ZXMuCgpIWVBFUlZJU09SIGlzIHVuY29uZGl0aW9uYWxseSBz ZXQgaW4gdGhlIFBWIEFCSSwgYnV0IGZvbGxvd3MgdGhlIHRvb2xzdGFjawpzZXR0aW5nIGZvciBI Vk0gZ3Vlc3RzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNA Y2l0cml4LmNvbT4KQWNrZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2 aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4K LS0tCnYzOgogKiBFc3NlbnRpYWxseSBuZXcuICBSZXBsYWNlcyAiU3RvcmUgYW50aWZlYXR1cmVz IGludmVydGVkIGluIGEgZmVhdHVyZXNldCIKdjQ6CiAqIEluY2x1ZGUgWDJBUElDIGFuZCBIWVBF UlZJU09SIGFzIHNwZWNpYWwgYml0cy4KLS0tCiB4ZW4vYXJjaC94ODYvY3B1aWQuYyAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaCAgICAg ICAgICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVy ZXNldC5oIHwgMzAgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHhlbi90b29scy9nZW4t Y3B1aWQucHkgICAgICAgICAgICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKystCiA0IGZp bGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9jcHVpZC5jIGIveGVuL2FyY2gveDg2L2NwdWlkLmMKaW5kZXggMDVj ZDY0Ni4uNzdlMDA4YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKKysrIGIveGVu L2FyY2gveDg2L2NwdWlkLmMKQEAgLTMsMTAgKzMsMTIgQEAKICNpbmNsdWRlIDxhc20vY3B1aWQu aD4KIAogY29uc3QgdWludDMyX3Qga25vd25fZmVhdHVyZXNbXSA9IElOSVRfS05PV05fRkVBVFVS RVM7Citjb25zdCB1aW50MzJfdCBzcGVjaWFsX2ZlYXR1cmVzW10gPSBJTklUX1NQRUNJQUxfRkVB VFVSRVM7CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3VudXNlZCBidWlsZF9hc3NlcnRp b25zKHZvaWQpCiB7CiAgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoa25vd25fZmVhdHVyZXMp ICE9IEZTQ0FQSU5UUyk7CisgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoc3BlY2lhbF9mZWF0 dXJlcykgIT0gRlNDQVBJTlRTKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvY3B1aWQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaAppbmRleCBiNzJkODhm Li4wZWNmMzU3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVpZC5oCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CiAKIGV4dGVybiBjb25zdCB1aW50MzJfdCBrbm93bl9mZWF0dXJlc1tGU0NB UElOVFNdOworZXh0ZXJuIGNvbnN0IHVpbnQzMl90IHNwZWNpYWxfZmVhdHVyZXNbRlNDQVBJTlRT XTsKIAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFfX1g4Nl9DUFVJRF9I X18gKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJl c2V0LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCmluZGV4 IDVkYTM3ZWIuLjgzMDg5NzIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4 Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZl YXR1cmVzZXQuaApAQCAtNzEsNiArNzEsMTggQEAgZW51bSB7CiAgKiBDUFVJRCBpbnN0cnVjdGlv biwgYnV0IHRoaXMgaXMgbm90IHByZWNsdWRlIG90aGVyIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24u CiAgKi8KIAorLyoKKyAqIEF0dHJpYnV0ZSBzeW50YXg6CisgKgorICogQXR0cmlidXRlcyBmb3Ig YSBwYXJ0aWN1bGFyIGZlYXR1cmUgYXJlIHByb3ZpZGVkIGFzIGNoYXJhY3RlcnMgYmVmb3JlIHRo ZQorICogZmlyc3Qgc3BhY2UgaW4gdGhlIGNvbW1lbnQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRo ZSBmZWF0dXJlIHZhbHVlLgorICoKKyAqIFNwZWNpYWw6ICchJworICogICBUaGlzIGJpdCBoYXMg c3BlY2lhbCBwcm9wZXJ0aWVzIGFuZCBpcyBub3QgYSBzdHJhaWdodCBpbmRpY2F0aW9uIG9mIGEK KyAqICAgcGllY2Ugb2YgbmV3IGZ1bmN0aW9uYWxpdHkuICBYZW4gd2lsbCBoYW5kbGUgdGhlc2Ug ZGlmZmVyZW50bHksCisgKiAgIGFuZCBtYXkgb3ZlcnJpZGUgdG9vbHN0YWNrIHNldHRpbmdzIGNv bXBsZXRlbHkuCisgKi8KKwogLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxl dmVsIDB4MDAwMDAwMDEuZWR4LCB3b3JkIDAgKi8KIFhFTl9DUFVGRUFUVVJFKEZQVSwgICAgICAg ICAgIDAqMzIrIDApIC8qICAgT25ib2FyZCBGUFUgKi8KIFhFTl9DUFVGRUFUVVJFKFZNRSwgICAg ICAgICAgIDAqMzIrIDEpIC8qICAgVmlydHVhbCBNb2RlIEV4dGVuc2lvbnMgKi8KQEAgLTgxLDcg KzkzLDcgQEAgWEVOX0NQVUZFQVRVUkUoTVNSLCAgICAgICAgICAgMCozMisgNSkgLyogICBNb2Rl bC1TcGVjaWZpYyBSZWdpc3RlcnMsIFJETVNSLCBXUk0KIFhFTl9DUFVGRUFUVVJFKFBBRSwgICAg ICAgICAgIDAqMzIrIDYpIC8qICAgUGh5c2ljYWwgQWRkcmVzcyBFeHRlbnNpb25zICovCiBYRU5f Q1BVRkVBVFVSRShNQ0UsICAgICAgICAgICAwKjMyKyA3KSAvKiAgIE1hY2hpbmUgQ2hlY2sgQXJj aGl0ZWN0dXJlICovCiBYRU5fQ1BVRkVBVFVSRShDWDgsICAgICAgICAgICAwKjMyKyA4KSAvKiAg IENNUFhDSEc4IGluc3RydWN0aW9uICovCi1YRU5fQ1BVRkVBVFVSRShBUElDLCAgICAgICAgICAw KjMyKyA5KSAvKiAgIE9uYm9hcmQgQVBJQyAqLworWEVOX0NQVUZFQVRVUkUoQVBJQywgICAgICAg ICAgMCozMisgOSkgLyohICBPbmJvYXJkIEFQSUMgKi8KIFhFTl9DUFVGRUFUVVJFKFNFUCwgICAg ICAgICAgIDAqMzIrMTEpIC8qICAgU1lTRU5URVIvU1lTRVhJVCAqLwogWEVOX0NQVUZFQVRVUkUo TVRSUiwgICAgICAgICAgMCozMisxMikgLyogICBNZW1vcnkgVHlwZSBSYW5nZSBSZWdpc3RlcnMg Ki8KIFhFTl9DUFVGRUFUVVJFKFBHRSwgICAgICAgICAgIDAqMzIrMTMpIC8qICAgUGFnZSBHbG9i YWwgRW5hYmxlICovCkBAIC05Niw3ICsxMDgsNyBAQCBYRU5fQ1BVRkVBVFVSRShNTVgsICAgICAg ICAgICAwKjMyKzIzKSAvKiAgIE11bHRpbWVkaWEgRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRV UkUoRlhTUiwgICAgICAgICAgMCozMisyNCkgLyogICBGWFNBVkUgYW5kIEZYUlNUT1IgaW5zdHJ1 Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVSRShTU0UsICAgICAgICAgICAwKjMyKzI1KSAvKiAgIFN0 cmVhbWluZyBTSU1EIEV4dGVuc2lvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKFNTRTIsICAgICAgICAg IDAqMzIrMjYpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucy0yICovCi1YRU5fQ1BVRkVB VFVSRShIVFQsICAgICAgICAgICAwKjMyKzI4KSAvKiAgIEh5cGVyLVRocmVhZGluZyBUZWNobm9s b2d5ICovCitYRU5fQ1BVRkVBVFVSRShIVFQsICAgICAgICAgICAwKjMyKzI4KSAvKiEgIEh5cGVy LVRocmVhZGluZyBUZWNobm9sb2d5ICovCiBYRU5fQ1BVRkVBVFVSRShUTTEsICAgICAgICAgICAw KjMyKzI5KSAvKiAgIFRoZXJtYWwgTW9uaXRvciAxICovCiBYRU5fQ1BVRkVBVFVSRShQQkUsICAg ICAgICAgICAwKjMyKzMxKSAvKiAgIFBlbmRpbmcgQnJlYWsgRW5hYmxlICovCiAKQEAgLTExOSwx NyArMTMxLDE3IEBAIFhFTl9DUFVGRUFUVVJFKFBDSUQsICAgICAgICAgIDEqMzIrMTcpIC8qICAg UHJvY2VzcyBDb250ZXh0IElEICovCiBYRU5fQ1BVRkVBVFVSRShEQ0EsICAgICAgICAgICAxKjMy KzE4KSAvKiAgIERpcmVjdCBDYWNoZSBBY2Nlc3MgKi8KIFhFTl9DUFVGRUFUVVJFKFNTRTRfMSwg ICAgICAgIDEqMzIrMTkpIC8qICAgU3RyZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyA0LjEgKi8KIFhF Tl9DUFVGRUFUVVJFKFNTRTRfMiwgICAgICAgIDEqMzIrMjApIC8qICAgU3RyZWFtaW5nIFNJTUQg RXh0ZW5zaW9ucyA0LjIgKi8KLVhFTl9DUFVGRUFUVVJFKFgyQVBJQywgICAgICAgIDEqMzIrMjEp IC8qICAgRXh0ZW5kZWQgeEFQSUMgKi8KK1hFTl9DUFVGRUFUVVJFKFgyQVBJQywgICAgICAgIDEq MzIrMjEpIC8qISAgRXh0ZW5kZWQgeEFQSUMgKi8KIFhFTl9DUFVGRUFUVVJFKE1PVkJFLCAgICAg ICAgIDEqMzIrMjIpIC8qICAgbW92YmUgaW5zdHJ1Y3Rpb24gKi8KIFhFTl9DUFVGRUFUVVJFKFBP UENOVCwgICAgICAgIDEqMzIrMjMpIC8qICAgUE9QQ05UIGluc3RydWN0aW9uICovCiBYRU5fQ1BV RkVBVFVSRShUU0NfREVBRExJTkUsICAxKjMyKzI0KSAvKiAgIFRTQyBEZWFkbGluZSBUaW1lciAq LwogWEVOX0NQVUZFQVRVUkUoQUVTTkksICAgICAgICAgMSozMisyNSkgLyogICBBRVMgaW5zdHJ1 Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVSRShYU0FWRSwgICAgICAgICAxKjMyKzI2KSAvKiAgIFhT QVZFL1hSU1RPUi9YU0VUQlYvWEdFVEJWICovCi1YRU5fQ1BVRkVBVFVSRShPU1hTQVZFLCAgICAg ICAxKjMyKzI3KSAvKiAgIE9TWFNBVkUgKi8KK1hFTl9DUFVGRUFUVVJFKE9TWFNBVkUsICAgICAg IDEqMzIrMjcpIC8qISAgT1NYU0FWRSAqLwogWEVOX0NQVUZFQVRVUkUoQVZYLCAgICAgICAgICAg MSozMisyOCkgLyogICBBZHZhbmNlZCBWZWN0b3IgRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRV UkUoRjE2QywgICAgICAgICAgMSozMisyOSkgLyogICBIYWxmLXByZWNpc2lvbiBjb252ZXJ0IGlu c3RydWN0aW9uICovCiBYRU5fQ1BVRkVBVFVSRShSRFJBTkQsICAgICAgICAxKjMyKzMwKSAvKiAg IERpZ2l0YWwgUmFuZG9tIE51bWJlciBHZW5lcmF0b3IgKi8KLVhFTl9DUFVGRUFUVVJFKEhZUEVS VklTT1IsICAgIDEqMzIrMzEpIC8qICAgUnVubmluZyB1bmRlciBzb21lIGh5cGVydmlzb3IgKi8K K1hFTl9DUFVGRUFUVVJFKEhZUEVSVklTT1IsICAgIDEqMzIrMzEpIC8qISAgUnVubmluZyB1bmRl ciBzb21lIGh5cGVydmlzb3IgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJ RCBsZXZlbCAweDgwMDAwMDAxLmVkeCwgd29yZCAyICovCiBYRU5fQ1BVRkVBVFVSRShTWVNDQUxM LCAgICAgICAyKjMyKzExKSAvKiAgIFNZU0NBTEwvU1lTUkVUICovCkBAIC0xNDQsNyArMTU2LDcg QEAgWEVOX0NQVUZFQVRVUkUoM0ROT1csICAgICAgICAgMiozMiszMSkgLyogICAzRE5vdyEgKi8K IAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAweDgwMDAwMDAxLmVj eCwgd29yZCAzICovCiBYRU5fQ1BVRkVBVFVSRShMQUhGX0xNLCAgICAgICAzKjMyKyAwKSAvKiAg IExBSEYvU0FIRiBpbiBsb25nIG1vZGUgKi8KLVhFTl9DUFVGRUFUVVJFKENNUF9MRUdBQ1ksICAg IDMqMzIrIDEpIC8qICAgSWYgeWVzIEh5cGVyVGhyZWFkaW5nIG5vdCB2YWxpZCAqLworWEVOX0NQ VUZFQVRVUkUoQ01QX0xFR0FDWSwgICAgMyozMisgMSkgLyohICBJZiB5ZXMgSHlwZXJUaHJlYWRp bmcgbm90IHZhbGlkICovCiBYRU5fQ1BVRkVBVFVSRShTVk0sICAgICAgICAgICAzKjMyKyAyKSAv KiAgIFNlY3VyZSB2aXJ0dWFsIG1hY2hpbmUgKi8KIFhFTl9DUFVGRUFUVVJFKEVYVEFQSUMsICAg ICAgIDMqMzIrIDMpIC8qICAgRXh0ZW5kZWQgQVBJQyBzcGFjZSAqLwogWEVOX0NQVUZFQVRVUkUo Q1I4X0xFR0FDWSwgICAgMyozMisgNCkgLyogICBDUjggaW4gMzItYml0IG1vZGUgKi8KQEAgLTE3 NywxNCArMTg5LDE0IEBAIFhFTl9DUFVGRUFUVVJFKFRTQ19BREpVU1QsICAgIDUqMzIrIDEpIC8q ICAgVFNDX0FESlVTVCBNU1IgYXZhaWxhYmxlICovCiBYRU5fQ1BVRkVBVFVSRShCTUkxLCAgICAg ICAgICA1KjMyKyAzKSAvKiAgIDFzdCBiaXQgbWFuaXB1bGF0aW9uIGV4dGVuc2lvbnMgKi8KIFhF Tl9DUFVGRUFUVVJFKEhMRSwgICAgICAgICAgIDUqMzIrIDQpIC8qICAgSGFyZHdhcmUgTG9jayBF bGlzaW9uICovCiBYRU5fQ1BVRkVBVFVSRShBVlgyLCAgICAgICAgICA1KjMyKyA1KSAvKiAgIEFW WDIgaW5zdHJ1Y3Rpb25zICovCi1YRU5fQ1BVRkVBVFVSRShGRFBfRVhDUF9PTkxZLCA1KjMyKyA2 KSAvKiAgIHg4NyBGRFAgb25seSB1cGRhdGVkIG9uIGV4Y2VwdGlvbi4gKi8KK1hFTl9DUFVGRUFU VVJFKEZEUF9FWENQX09OTFksIDUqMzIrIDYpIC8qISAgeDg3IEZEUCBvbmx5IHVwZGF0ZWQgb24g ZXhjZXB0aW9uLiAqLwogWEVOX0NQVUZFQVRVUkUoU01FUCwgICAgICAgICAgNSozMisgNykgLyog ICBTdXBlcnZpc29yIE1vZGUgRXhlY3V0aW9uIFByb3RlY3Rpb24gKi8KIFhFTl9DUFVGRUFUVVJF KEJNSTIsICAgICAgICAgIDUqMzIrIDgpIC8qICAgMm5kIGJpdCBtYW5pcHVsYXRpb24gZXh0ZW5z aW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoRVJNUywgICAgICAgICAgNSozMisgOSkgLyogICBFbmhh bmNlZCBSRVAgTU9WU0IvU1RPU0IgKi8KIFhFTl9DUFVGRUFUVVJFKElOVlBDSUQsICAgICAgIDUq MzIrMTApIC8qICAgSW52YWxpZGF0ZSBQcm9jZXNzIENvbnRleHQgSUQgKi8KIFhFTl9DUFVGRUFU VVJFKFJUTSwgICAgICAgICAgIDUqMzIrMTEpIC8qICAgUmVzdHJpY3RlZCBUcmFuc2FjdGlvbmFs IE1lbW9yeSAqLwogWEVOX0NQVUZFQVRVUkUoUFFNLCAgICAgICAgICAgNSozMisxMikgLyogICBQ bGF0Zm9ybSBRb1MgTW9uaXRvcmluZyAqLwotWEVOX0NQVUZFQVRVUkUoTk9fRlBVX1NFTCwgICAg NSozMisxMykgLyogICBGUFUgQ1MvRFMgc3RvcmVkIGFzIHplcm8gKi8KK1hFTl9DUFVGRUFUVVJF KE5PX0ZQVV9TRUwsICAgIDUqMzIrMTMpIC8qISAgRlBVIENTL0RTIHN0b3JlZCBhcyB6ZXJvICov CiBYRU5fQ1BVRkVBVFVSRShNUFgsICAgICAgICAgICA1KjMyKzE0KSAvKiAgIE1lbW9yeSBQcm90 ZWN0aW9uIEV4dGVuc2lvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKFBRRSwgICAgICAgICAgIDUqMzIr MTUpIC8qICAgUGxhdGZvcm0gUW9TIEVuZm9yY2VtZW50ICovCiBYRU5fQ1BVRkVBVFVSRShSRFNF RUQsICAgICAgICA1KjMyKzE4KSAvKiAgIFJEU0VFRCBpbnN0cnVjdGlvbiAqLwpAQCAtMTk4LDcg KzIxMCw3IEBAIFhFTl9DUFVGRUFUVVJFKFNIQSwgICAgICAgICAgIDUqMzIrMjkpIC8qICAgU0hB MSAmIFNIQTI1NiBpbnN0cnVjdGlvbnMgKi8KIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVz LCBDUFVJRCBsZXZlbCAweDAwMDAwMDA3OjAuZWN4LCB3b3JkIDYgKi8KIFhFTl9DUFVGRUFUVVJF KFBSRUZFVENIV1QxLCAgIDYqMzIrIDApIC8qICAgUFJFRkVUQ0hXVDEgaW5zdHJ1Y3Rpb24gKi8K IFhFTl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qICAgUHJvdGVjdGlvbiBL ZXlzIGZvciBVc2Vyc3BhY2UgKi8KLVhFTl9DUFVGRUFUVVJFKE9TUEtFLCAgICAgICAgIDYqMzIr IDQpIC8qICAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAqLworWEVOX0NQVUZFQVRVUkUoT1NQ S0UsICAgICAgICAgNiozMisgNCkgLyohICBPUyBQcm90ZWN0aW9uIEtleXMgRW5hYmxlICovCiAK IC8qIEFNRC1kZWZpbmVkIENQVSBmZWF0dXJlcywgQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwNy5lZHgs IHdvcmQgNyAqLwogWEVOX0NQVUZFQVRVUkUoSVRTQywgICAgICAgICAgNyozMisgOCkgLyogICBJ bnZhcmlhbnQgVFNDICovCmRpZmYgLS1naXQgYS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5IGIveGVu L3Rvb2xzL2dlbi1jcHVpZC5weQppbmRleCA0NGI0Yzk4Li41MDc2ZmI5IDEwMDc1NQotLS0gYS94 ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CisrKyBiL3hlbi90b29scy9nZW4tY3B1aWQucHkKQEAgLTE2 LDExICsxNiwxMyBAQCBjbGFzcyBTdGF0ZShvYmplY3QpOgogCiAgICAgICAgICMgU3RhdGUgcGFy c2VkIGZyb20gaW5wdXQKICAgICAgICAgc2VsZi5uYW1lcyA9IHt9ICMgTmFtZSA9PiB2YWx1ZSBt YXBwaW5nCisgICAgICAgIHNlbGYucmF3X3NwZWNpYWwgPSBzZXQoKQogCiAgICAgICAgICMgU3Rh dGUgY2FsY3VsYXRlZAogICAgICAgICBzZWxmLm5yX2VudHJpZXMgPSAwICMgTnVtYmVyIG9mIHdv cmRzIGluIGEgZmVhdHVyZXNldAogICAgICAgICBzZWxmLmNvbW1vbl8xZCA9IDAgIyBDb21tb24g ZmVhdHVyZXMgYmV0d2VlbiAxZCBhbmQgZTFkCiAgICAgICAgIHNlbGYua25vd24gPSBbXSAjIEFs bCBrbm93biBmZWF0dXJlcworICAgICAgICBzZWxmLnNwZWNpYWwgPSBbXSAjIEZlYXR1cmVzIHdp dGggc3BlY2lhbCBzZW1hbnRpY3MKIAogZGVmIHBhcnNlX2RlZmluaXRpb25zKHN0YXRlKToKICAg ICAiIiIKQEAgLTI5LDcgKzMxLDggQEAgZGVmIHBhcnNlX2RlZmluaXRpb25zKHN0YXRlKToKICAg ICAiIiIKICAgICBmZWF0X3JlZ2V4ID0gcmUuY29tcGlsZSgKICAgICAgICAgciJeWEVOX0NQVUZF QVRVUkVcKChbQS1aMC05X10rKSwiCi0gICAgICAgICJccysoW1xzXGRdK1wqW1xzXGRdK1wrW1xz XGRdKylcKS4qJCIpCisgICAgICAgICJccysoW1xzXGRdK1wqW1xzXGRdK1wrW1xzXGRdKylcKSIK KyAgICAgICAgIlxzKy9cKihbIV0qKSAuKiQiKQogCiAgICAgdGhpcyA9IHN5cy5tb2R1bGVzW19f bmFtZV9fXQogCkBAIC00NSw2ICs0OCw3IEBAIGRlZiBwYXJzZV9kZWZpbml0aW9ucyhzdGF0ZSk6 CiAKICAgICAgICAgbmFtZSA9IHJlcy5ncm91cHMoKVswXQogICAgICAgICB2YWwgPSBldmFsKHJl cy5ncm91cHMoKVsxXSkgIyBSZWdleCBjb25maW5lcyB0aGlzIHRvIGEgdmVyeSBzaW1wbGUgZXhw cmVzc2lvbgorICAgICAgICBhdHRyID0gcmVzLmdyb3VwcygpWzJdCiAKICAgICAgICAgaWYgaGFz YXR0cih0aGlzLCBuYW1lKToKICAgICAgICAgICAgIHJhaXNlIEZhaWwoIkR1cGxpY2F0ZSBzeW1i b2wgJXMiICUgKG5hbWUsKSkKQEAgLTY0LDYgKzY4LDEzIEBAIGRlZiBwYXJzZV9kZWZpbml0aW9u cyhzdGF0ZSk6CiAgICAgICAgICMgQ29uc3RydWN0IGEgcmV2ZXJzZSBtYXBwaW5nIG9mIHZhbHVl IHRvIG5hbWUKICAgICAgICAgc3RhdGUubmFtZXNbdmFsXSA9IG5hbWUKIAorICAgICAgICBmb3Ig YSBpbiBhdHRyOgorCisgICAgICAgICAgICBpZiBhID09ICIhIjoKKyAgICAgICAgICAgICAgICBz dGF0ZS5yYXdfc3BlY2lhbC5hZGQodmFsKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg ICAgICByYWlzZSBGYWlsKCJVbnJlY29nbmlzZWQgYXR0cmlidXRlICclcycgZm9yICVzIiAlIChh LCBuYW1lKSkKKwogICAgIGlmIGxlbihzdGF0ZS5uYW1lcykgPT0gMDoKICAgICAgICAgcmFpc2Ug RmFpbCgiTm8gZmVhdHVyZXMgZm91bmQiKQogCkBAIC0xMTIsNiArMTIzLDcgQEAgZGVmIGNydW5j aF9udW1iZXJzKHN0YXRlKToKICAgICAgICAgc3RhdGUubmFtZXNbZTFkX2Jhc2UgKyAoZiAlIDMy KV0gPSAiRTFEXyIgKyBzdGF0ZS5uYW1lc1tmXQogCiAgICAgc3RhdGUuY29tbW9uXzFkID0gZmVh dHVyZXNldF90b191aW50MzJzKGNvbW1vbl8xZCwgMSlbMF0KKyAgICBzdGF0ZS5zcGVjaWFsID0g ZmVhdHVyZXNldF90b191aW50MzJzKHN0YXRlLnJhd19zcGVjaWFsLCBucl9lbnRyaWVzKQogCiAK IGRlZiB3cml0ZV9yZXN1bHRzKHN0YXRlKToKQEAgLTEzMSw5ICsxNDMsMTIgQEAgZGVmIHdyaXRl X3Jlc3VsdHMoc3RhdGUpOgogI2RlZmluZSBDUFVJRF9DT01NT05fMURfRkVBVFVSRVMgJXMKIAog I2RlZmluZSBJTklUX0tOT1dOX0ZFQVRVUkVTIHsgXFxcbiVzXG59CisKKyNkZWZpbmUgSU5JVF9T UEVDSUFMX0ZFQVRVUkVTIHsgXFxcbiVzXG59CiAiIiIgJSAoc3RhdGUubnJfZW50cmllcywKICAg ICAgICBzdGF0ZS5jb21tb25fMWQsCiAgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUua25vd24s IDQpLAorICAgICAgIGZvcm1hdF91aW50MzJzKHN0YXRlLnNwZWNpYWwsIDQpLAogICAgICAgICkp CiAKICAgICBzdGF0ZS5vdXRwdXQud3JpdGUoCi0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==