From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 07/28] xen/x86: Annotate special features Date: Tue, 15 Mar 2016 15:35:03 +0000 Message-ID: <1458056124-8024-8-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-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: <1458056124-8024-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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org U29tZSBiaXRzIGluIGEgZmVhdHVyZXNldCBhcmUgbm90IHNpbXBsZSBhIGluZGljYXRpb24gb2Yg bmV3IGZ1bmN0aW9uYWxpdHksCmFuZCByZXF1aXJlIHNwZWNpYWwgaGFuZGxpbmcuCgpBUElDLCBP U1hTQVZFIGFuZCBPU1BLRSBhcmUgZmFzdC1mb3J3YXJkcyBvZiBvdGhlciBwaWVjZXMgb2Ygc3Rh dGU7CklBMzJfQVBJQ19CQVNFLkVOLCBDUjQuT1NYU0FWRSBhbmQgQ1I0Lk9TUEtFLiAgWGVuIHdp bGwgdGFrZSBjYXJlIG9mIGZpbGxpbmcKdGhlc2UgYXBwcm9wcmlhdGVseSBhdCBydW50aW1lLgoK RkRQX0VYQ1BfT05MWSBhbmQgTk9fRlBVX1NFTCBhcmUgYml0cyBpbmRpY2F0aW5nIHJlZHVjZWQg ZnVuY3Rpb25hbGl0eSBpbiB0aGUKeDg3IHBpcGVsaW5lLiAgVGhlIGVmZmVjdHMgb2YgdGhlc2Ug Y2Fubm90IGJlIGhpZGRlbiBmcm9tIHRoZSBndWVzdCwgc28gdGhlCmhvc3QgdmFsdWVzIHdpbGwg YWx3YXlzIGJlIHByb3ZpZGVkLgoKSFRUIGFuZCBDTVBfTEVHQUNZIGluZGljYXRlIGhvdyB0byBp bnRlcnByZXQgb3RoZXIgY3B1aWQgbGVhdmVzLiAgSW4gbW9zdApjYXNlcywgdGhlIHRvb2xzdGFj ayB2YWx1ZSB3aWxsIGJlIHVzZWQgKHdpdGggdGhlIGV4cGVjdGF0aW9uIHRoYXQgdGhlc2UgZmxh Z3MKd2lsbCBtYXRjaCB0aGUgb3RoZXIgcHJvdmlkZWQgdG9wb2xvZ3kgaW5mb3JtYXRpb24pLiAg SG93ZXZlciB3aXRoIGNwdWlkCm1hc2tpbmcsIHRoZSBob3N0IHZhbHVlcyBhcmUgcHJlc2VudGVk IGFzIG1hc2tpbmcgY2Fubm90IGluZmx1ZW5jZSB3aGF0IHRoZQpndWVzdCBzZWVzIGluIHRoZSBk ZXBlbmRlbnQgbGVhdmVzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv b3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+ CgpFc3NlbnRpYWxseSBuZXcgaW4gdjMuICBSZXBsYWNlcyAiU3RvcmUgYW50aWZlYXR1cmVzIGlu dmVydGVkIGluIGEgZmVhdHVyZXNldCIKLS0tCiB4ZW4vYXJjaC94ODYvY3B1aWQuYyAgICAgICAg ICAgICAgICAgICAgICAgIHwgIDIgKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaCAgICAg ICAgICAgICAgICAgfCAgMSArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVy ZXNldC5oIHwgMjYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIHhlbi90b29scy9nZW4tY3B1 aWQucHkgICAgICAgICAgICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysrLQogNCBmaWxl cyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9jcHVpZC5jIGIveGVuL2FyY2gveDg2L2NwdWlkLmMKaW5kZXggMDVjZDY0 Ni4uNzdlMDA4YSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKKysrIGIveGVuL2Fy Y2gveDg2L2NwdWlkLmMKQEAgLTMsMTAgKzMsMTIgQEAKICNpbmNsdWRlIDxhc20vY3B1aWQuaD4K IAogY29uc3QgdWludDMyX3Qga25vd25fZmVhdHVyZXNbXSA9IElOSVRfS05PV05fRkVBVFVSRVM7 Citjb25zdCB1aW50MzJfdCBzcGVjaWFsX2ZlYXR1cmVzW10gPSBJTklUX1NQRUNJQUxfRkVBVFVS RVM7CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBfX21heWJlX3VudXNlZCBidWlsZF9hc3NlcnRpb25z KHZvaWQpCiB7CiAgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoa25vd25fZmVhdHVyZXMpICE9 IEZTQ0FQSU5UUyk7CisgICAgQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoc3BlY2lhbF9mZWF0dXJl cykgIT0gRlNDQVBJTlRTKTsKIH0KIAogLyoKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvY3B1aWQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaAppbmRleCBiNzJkODhmLi4w ZWNmMzU3IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9jcHVpZC5oCkBAIC0xMCw2ICsxMCw3IEBACiAjaW5jbHVkZSA8eGVu L3R5cGVzLmg+CiAKIGV4dGVybiBjb25zdCB1aW50MzJfdCBrbm93bl9mZWF0dXJlc1tGU0NBUElO VFNdOworZXh0ZXJuIGNvbnN0IHVpbnQzMl90IHNwZWNpYWxfZmVhdHVyZXNbRlNDQVBJTlRTXTsK IAogI2VuZGlmIC8qIF9fQVNTRU1CTFlfXyAqLwogI2VuZGlmIC8qICFfX1g4Nl9DUFVJRF9IX18g Ki8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0 LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCmluZGV4IDIx OWZmMWMuLjkzODllZDkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9j cHVmZWF0dXJlc2V0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2NwdWZlYXR1 cmVzZXQuaApAQCAtODEsNiArODEsMTggQEAgZW51bSB7CiAgKiBDUFVJRCBpbnN0cnVjdGlvbiwg YnV0IHRoaXMgaXMgbm90IHByZWNsdWRlIG90aGVyIHNvdXJjZXMgb2YgaW5mb3JtYXRpb24uCiAg Ki8KIAorLyoKKyAqIEF0dHJpYnV0ZSBzeW50YXg6CisgKgorICogQXR0cmlidXRlcyBmb3IgYSBw YXJ0aWN1bGFyIGZlYXR1cmUgYXJlIHByb3ZpZGVkIGFzIGNoYXJhY3RlcnMgYmVmb3JlIHRoZQor ICogZmlyc3Qgc3BhY2UgaW4gdGhlIGNvbW1lbnQgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBm ZWF0dXJlIHZhbHVlLgorICoKKyAqIFNwZWNpYWw6ICchJworICogICBUaGlzIGJpdCBoYXMgc3Bl Y2lhbCBwcm9wZXJ0aWVzIGFuZCBpcyBub3QgYSBzdHJhaWdodCBpbmRpY2F0aW9uIG9mIGEKKyAq ICAgcGllY2Ugb2YgbmV3IGZ1bmN0aW9uYWxpdHkuICBYZW4gd2lsbCBoYW5kbGUgdGhlc2UgZGlm ZmVyZW50bHksCisgKiAgIGFuZCBtYXkgb3ZlcnJpZGUgdG9vbHN0YWNrIHNldHRpbmdzIGNvbXBs ZXRlbHkuCisgKi8KKwogLyogSW50ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVs IDB4MDAwMDAwMDEuZWR4LCB3b3JkIDAgKi8KIFhFTl9DUFVGRUFUVVJFKEZQVSwgICAgICAgICAg IDAqMzIrIDApIC8qICAgT25ib2FyZCBGUFUgKi8KIFhFTl9DUFVGRUFUVVJFKFZNRSwgICAgICAg ICAgIDAqMzIrIDEpIC8qICAgVmlydHVhbCBNb2RlIEV4dGVuc2lvbnMgKi8KQEAgLTkxLDcgKzEw Myw3IEBAIFhFTl9DUFVGRUFUVVJFKE1TUiwgICAgICAgICAgIDAqMzIrIDUpIC8qICAgTW9kZWwt U3BlY2lmaWMgUmVnaXN0ZXJzLCBSRE1TUiwgV1JNCiBYRU5fQ1BVRkVBVFVSRShQQUUsICAgICAg ICAgICAwKjMyKyA2KSAvKiAgIFBoeXNpY2FsIEFkZHJlc3MgRXh0ZW5zaW9ucyAqLwogWEVOX0NQ VUZFQVRVUkUoTUNFLCAgICAgICAgICAgMCozMisgNykgLyogICBNYWNoaW5lIENoZWNrIEFyY2hp dGVjdHVyZSAqLwogWEVOX0NQVUZFQVRVUkUoQ1g4LCAgICAgICAgICAgMCozMisgOCkgLyogICBD TVBYQ0hHOCBpbnN0cnVjdGlvbiAqLwotWEVOX0NQVUZFQVRVUkUoQVBJQywgICAgICAgICAgMCoz MisgOSkgLyogICBPbmJvYXJkIEFQSUMgKi8KK1hFTl9DUFVGRUFUVVJFKEFQSUMsICAgICAgICAg IDAqMzIrIDkpIC8qISAgT25ib2FyZCBBUElDICovCiBYRU5fQ1BVRkVBVFVSRShTRVAsICAgICAg ICAgICAwKjMyKzExKSAvKiAgIFNZU0VOVEVSL1NZU0VYSVQgKi8KIFhFTl9DUFVGRUFUVVJFKE1U UlIsICAgICAgICAgIDAqMzIrMTIpIC8qICAgTWVtb3J5IFR5cGUgUmFuZ2UgUmVnaXN0ZXJzICov CiBYRU5fQ1BVRkVBVFVSRShQR0UsICAgICAgICAgICAwKjMyKzEzKSAvKiAgIFBhZ2UgR2xvYmFs IEVuYWJsZSAqLwpAQCAtMTA2LDcgKzExOCw3IEBAIFhFTl9DUFVGRUFUVVJFKE1NWCwgICAgICAg ICAgIDAqMzIrMjMpIC8qICAgTXVsdGltZWRpYSBFeHRlbnNpb25zICovCiBYRU5fQ1BVRkVBVFVS RShGWFNSLCAgICAgICAgICAwKjMyKzI0KSAvKiAgIEZYU0FWRSBhbmQgRlhSU1RPUiBpbnN0cnVj dGlvbnMgKi8KIFhFTl9DUFVGRUFUVVJFKFNTRSwgICAgICAgICAgIDAqMzIrMjUpIC8qICAgU3Ry ZWFtaW5nIFNJTUQgRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoU1NFMiwgICAgICAgICAg MCozMisyNikgLyogICBTdHJlYW1pbmcgU0lNRCBFeHRlbnNpb25zLTIgKi8KLVhFTl9DUFVGRUFU VVJFKEhUVCwgICAgICAgICAgIDAqMzIrMjgpIC8qICAgSHlwZXItVGhyZWFkaW5nIFRlY2hub2xv Z3kgKi8KK1hFTl9DUFVGRUFUVVJFKEhUVCwgICAgICAgICAgIDAqMzIrMjgpIC8qISAgSHlwZXIt VGhyZWFkaW5nIFRlY2hub2xvZ3kgKi8KIFhFTl9DUFVGRUFUVVJFKFRNMSwgICAgICAgICAgIDAq MzIrMjkpIC8qICAgVGhlcm1hbCBNb25pdG9yIDEgKi8KIFhFTl9DUFVGRUFUVVJFKFBCRSwgICAg ICAgICAgIDAqMzIrMzEpIC8qICAgUGVuZGluZyBCcmVhayBFbmFibGUgKi8KIApAQCAtMTM1LDcg KzE0Nyw3IEBAIFhFTl9DUFVGRUFUVVJFKFBPUENOVCwgICAgICAgIDEqMzIrMjMpIC8qICAgUE9Q Q05UIGluc3RydWN0aW9uICovCiBYRU5fQ1BVRkVBVFVSRShUU0NfREVBRExJTkUsICAxKjMyKzI0 KSAvKiAgIFRTQyBEZWFkbGluZSBUaW1lciAqLwogWEVOX0NQVUZFQVRVUkUoQUVTTkksICAgICAg ICAgMSozMisyNSkgLyogICBBRVMgaW5zdHJ1Y3Rpb25zICovCiBYRU5fQ1BVRkVBVFVSRShYU0FW RSwgICAgICAgICAxKjMyKzI2KSAvKiAgIFhTQVZFL1hSU1RPUi9YU0VUQlYvWEdFVEJWICovCi1Y RU5fQ1BVRkVBVFVSRShPU1hTQVZFLCAgICAgICAxKjMyKzI3KSAvKiAgIE9TWFNBVkUgKi8KK1hF Tl9DUFVGRUFUVVJFKE9TWFNBVkUsICAgICAgIDEqMzIrMjcpIC8qISAgT1NYU0FWRSAqLwogWEVO X0NQVUZFQVRVUkUoQVZYLCAgICAgICAgICAgMSozMisyOCkgLyogICBBZHZhbmNlZCBWZWN0b3Ig RXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoRjE2QywgICAgICAgICAgMSozMisyOSkgLyog ICBIYWxmLXByZWNpc2lvbiBjb252ZXJ0IGluc3RydWN0aW9uICovCiBYRU5fQ1BVRkVBVFVSRShS RFJBTkQsICAgICAgICAxKjMyKzMwKSAvKiAgIERpZ2l0YWwgUmFuZG9tIE51bWJlciBHZW5lcmF0 b3IgKi8KQEAgLTE1NCw3ICsxNjYsNyBAQCBYRU5fQ1BVRkVBVFVSRSgzRE5PVywgICAgICAgICAy KjMyKzMxKSAvKiAgIDNETm93ISAqLwogCiAvKiBBTUQtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQ VUlEIGxldmVsIDB4ODAwMDAwMDEuZWN4LCB3b3JkIDMgKi8KIFhFTl9DUFVGRUFUVVJFKExBSEZf TE0sICAgICAgIDMqMzIrIDApIC8qICAgTEFIRi9TQUhGIGluIGxvbmcgbW9kZSAqLwotWEVOX0NQ VUZFQVRVUkUoQ01QX0xFR0FDWSwgICAgMyozMisgMSkgLyogICBJZiB5ZXMgSHlwZXJUaHJlYWRp bmcgbm90IHZhbGlkICovCitYRU5fQ1BVRkVBVFVSRShDTVBfTEVHQUNZLCAgICAzKjMyKyAxKSAv KiEgIElmIHllcyBIeXBlclRocmVhZGluZyBub3QgdmFsaWQgKi8KIFhFTl9DUFVGRUFUVVJFKFNW TSwgICAgICAgICAgIDMqMzIrIDIpIC8qICAgU2VjdXJlIHZpcnR1YWwgbWFjaGluZSAqLwogWEVO X0NQVUZFQVRVUkUoRVhUQVBJQywgICAgICAgMyozMisgMykgLyogICBFeHRlbmRlZCBBUElDIHNw YWNlICovCiBYRU5fQ1BVRkVBVFVSRShDUjhfTEVHQUNZLCAgICAzKjMyKyA0KSAvKiAgIENSOCBp biAzMi1iaXQgbW9kZSAqLwpAQCAtMTg3LDE0ICsxOTksMTQgQEAgWEVOX0NQVUZFQVRVUkUoVFND X0FESlVTVCwgICAgNSozMisgMSkgLyogICBUU0NfQURKVVNUIE1TUiBhdmFpbGFibGUgKi8KIFhF Tl9DUFVGRUFUVVJFKEJNSTEsICAgICAgICAgIDUqMzIrIDMpIC8qICAgMXN0IGJpdCBtYW5pcHVs YXRpb24gZXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRVUkUoSExFLCAgICAgICAgICAgNSozMisg NCkgLyogICBIYXJkd2FyZSBMb2NrIEVsaXNpb24gKi8KIFhFTl9DUFVGRUFUVVJFKEFWWDIsICAg ICAgICAgIDUqMzIrIDUpIC8qICAgQVZYMiBpbnN0cnVjdGlvbnMgKi8KLVhFTl9DUFVGRUFUVVJF KEZEUF9FWENQX09OTFksIDUqMzIrIDYpIC8qICAgeDg3IEZEUCBvbmx5IHVwZGF0ZWQgb24gZXhj ZXB0aW9uLiAqLworWEVOX0NQVUZFQVRVUkUoRkRQX0VYQ1BfT05MWSwgNSozMisgNikgLyohICB4 ODcgRkRQIG9ubHkgdXBkYXRlZCBvbiBleGNlcHRpb24uICovCiBYRU5fQ1BVRkVBVFVSRShTTUVQ LCAgICAgICAgICA1KjMyKyA3KSAvKiAgIFN1cGVydmlzb3IgTW9kZSBFeGVjdXRpb24gUHJvdGVj dGlvbiAqLwogWEVOX0NQVUZFQVRVUkUoQk1JMiwgICAgICAgICAgNSozMisgOCkgLyogICAybmQg Yml0IG1hbmlwdWxhdGlvbiBleHRlbnNpb25zICovCiBYRU5fQ1BVRkVBVFVSRShFUk1TLCAgICAg ICAgICA1KjMyKyA5KSAvKiAgIEVuaGFuY2VkIFJFUCBNT1ZTQi9TVE9TQiAqLwogWEVOX0NQVUZF QVRVUkUoSU5WUENJRCwgICAgICAgNSozMisxMCkgLyogICBJbnZhbGlkYXRlIFByb2Nlc3MgQ29u dGV4dCBJRCAqLwogWEVOX0NQVUZFQVRVUkUoUlRNLCAgICAgICAgICAgNSozMisxMSkgLyogICBS ZXN0cmljdGVkIFRyYW5zYWN0aW9uYWwgTWVtb3J5ICovCiBYRU5fQ1BVRkVBVFVSRShQUU0sICAg ICAgICAgICA1KjMyKzEyKSAvKiAgIFBsYXRmb3JtIFFvUyBNb25pdG9yaW5nICovCi1YRU5fQ1BV RkVBVFVSRShOT19GUFVfU0VMLCAgICA1KjMyKzEzKSAvKiAgIEZQVSBDUy9EUyBzdG9yZWQgYXMg emVybyAqLworWEVOX0NQVUZFQVRVUkUoTk9fRlBVX1NFTCwgICAgNSozMisxMykgLyohICBGUFUg Q1MvRFMgc3RvcmVkIGFzIHplcm8gKi8KIFhFTl9DUFVGRUFUVVJFKE1QWCwgICAgICAgICAgIDUq MzIrMTQpIC8qICAgTWVtb3J5IFByb3RlY3Rpb24gRXh0ZW5zaW9ucyAqLwogWEVOX0NQVUZFQVRV UkUoUFFFLCAgICAgICAgICAgNSozMisxNSkgLyogICBQbGF0Zm9ybSBRb1MgRW5mb3JjZW1lbnQg Ki8KIFhFTl9DUFVGRUFUVVJFKFJEU0VFRCwgICAgICAgIDUqMzIrMTgpIC8qICAgUkRTRUVEIGlu c3RydWN0aW9uICovCkBAIC0yMDgsNyArMjIwLDcgQEAgWEVOX0NQVUZFQVRVUkUoU0hBLCAgICAg ICAgICAgNSozMisyOSkgLyogICBTSEExICYgU0hBMjU2IGluc3RydWN0aW9ucyAqLwogLyogSW50 ZWwtZGVmaW5lZCBDUFUgZmVhdHVyZXMsIENQVUlEIGxldmVsIDB4MDAwMDAwMDc6MC5lY3gsIHdv cmQgNiAqLwogWEVOX0NQVUZFQVRVUkUoUFJFRkVUQ0hXVDEsICAgNiozMisgMCkgLyogICBQUkVG RVRDSFdUMSBpbnN0cnVjdGlvbiAqLwogWEVOX0NQVUZFQVRVUkUoUEtVLCAgICAgICAgICAgNioz MisgMykgLyogICBQcm90ZWN0aW9uIEtleXMgZm9yIFVzZXJzcGFjZSAqLwotWEVOX0NQVUZFQVRV UkUoT1NQS0UsICAgICAgICAgNiozMisgNCkgLyogICBPUyBQcm90ZWN0aW9uIEtleXMgRW5hYmxl ICovCitYRU5fQ1BVRkVBVFVSRShPU1BLRSwgICAgICAgICA2KjMyKyA0KSAvKiEgIE9TIFByb3Rl Y3Rpb24gS2V5cyBFbmFibGUgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJ RCBsZXZlbCAweDgwMDAwMDA3LmVkeCwgd29yZCA3ICovCiBYRU5fQ1BVRkVBVFVSRShJVFNDLCAg ICAgICAgICA3KjMyKyA4KSAvKiAgIEludmFyaWFudCBUU0MgKi8KZGlmZiAtLWdpdCBhL3hlbi90 b29scy9nZW4tY3B1aWQucHkgYi94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CmluZGV4IGNhNDEzZjgu LjUxNzFjNmUgMTAwNzU1Ci0tLSBhL3hlbi90b29scy9nZW4tY3B1aWQucHkKKysrIGIveGVuL3Rv b2xzL2dlbi1jcHVpZC5weQpAQCAtMTYsMTEgKzE2LDEzIEBAIGNsYXNzIFN0YXRlKG9iamVjdCk6 CiAKICAgICAgICAgIyBTdGF0ZSBwYXJzZWQgZnJvbSBpbnB1dAogICAgICAgICBzZWxmLm5hbWVz ID0ge30gIyBOYW1lID0+IHZhbHVlIG1hcHBpbmcKKyAgICAgICAgc2VsZi5yYXdfc3BlY2lhbCA9 IHNldCgpCiAKICAgICAgICAgIyBTdGF0ZSBjYWxjdWxhdGVkCiAgICAgICAgIHNlbGYubnJfZW50 cmllcyA9IDAgIyBOdW1iZXIgb2Ygd29yZHMgaW4gYSBmZWF0dXJlc2V0CiAgICAgICAgIHNlbGYu Y29tbW9uXzFkID0gMCAjIENvbW1vbiBmZWF0dXJlcyBiZXR3ZWVuIDFkIGFuZCBlMWQKICAgICAg ICAgc2VsZi5rbm93biA9IFtdICMgQWxsIGtub3duIGZlYXR1cmVzCisgICAgICAgIHNlbGYuc3Bl Y2lhbCA9IFtdICMgRmVhdHVyZXMgd2l0aCBzcGVjaWFsIHNlbWFudGljcwogCiBkZWYgcGFyc2Vf ZGVmaW5pdGlvbnMoc3RhdGUpOgogICAgICIiIgpAQCAtMjksNyArMzEsOCBAQCBkZWYgcGFyc2Vf ZGVmaW5pdGlvbnMoc3RhdGUpOgogICAgICIiIgogICAgIGZlYXRfcmVnZXggPSByZS5jb21waWxl KAogICAgICAgICByIl5YRU5fQ1BVRkVBVFVSRVwoKFtBLVowLTlfXSspLCIKLSAgICAgICAgIlxz KyhbXHNcZF0rXCpbXHNcZF0rXCtbXHNcZF0rKVwpLiokIikKKyAgICAgICAgIlxzKyhbXHNcZF0r XCpbXHNcZF0rXCtbXHNcZF0rKVwpIgorICAgICAgICAiXHMrL1wqKFshXSopIC4qJCIpCiAKICAg ICB0aGlzID0gc3lzLm1vZHVsZXNbX19uYW1lX19dCiAKQEAgLTQ1LDYgKzQ4LDcgQEAgZGVmIHBh cnNlX2RlZmluaXRpb25zKHN0YXRlKToKIAogICAgICAgICBuYW1lID0gcmVzLmdyb3VwcygpWzBd CiAgICAgICAgIHZhbCA9IGV2YWwocmVzLmdyb3VwcygpWzFdKSAjIFJlZ2V4IGNvbmZpbmVzIHRo aXMgdG8gYSB2ZXJ5IHNpbXBsZSBleHByZXNzaW9uCisgICAgICAgIGF0dHIgPSByZXMuZ3JvdXBz KClbMl0KIAogICAgICAgICBpZiBoYXNhdHRyKHRoaXMsIG5hbWUpOgogICAgICAgICAgICAgcmFp c2UgRmFpbCgiRHVwbGljYXRlIHN5bWJvbCAlcyIgJSAobmFtZSwpKQpAQCAtNjQsNiArNjgsMTMg QEAgZGVmIHBhcnNlX2RlZmluaXRpb25zKHN0YXRlKToKICAgICAgICAgIyBDb25zdHJ1Y3QgYSBy ZXZlcnNlIG1hcHBpbmcgb2YgdmFsdWUgdG8gbmFtZQogICAgICAgICBzdGF0ZS5uYW1lc1t2YWxd ID0gbmFtZQogCisgICAgICAgIGZvciBhIGluIGF0dHI6CisKKyAgICAgICAgICAgIGlmIGEgPT0g IiEiOgorICAgICAgICAgICAgICAgIHN0YXRlLnJhd19zcGVjaWFsLmFkZCh2YWwpCisgICAgICAg ICAgICBlbHNlOgorICAgICAgICAgICAgICAgIHJhaXNlIEZhaWwoIlVucmVjb2duaXNlZCBhdHRy aWJ1dGUgJyVzJyBmb3IgJXMiICUgKGEsIG5hbWUpKQorCiAgICAgaWYgbGVuKHN0YXRlLm5hbWVz KSA9PSAwOgogICAgICAgICByYWlzZSBGYWlsKCJObyBmZWF0dXJlcyBmb3VuZCIpCiAKQEAgLTEx Miw2ICsxMjMsNyBAQCBkZWYgY3J1bmNoX251bWJlcnMoc3RhdGUpOgogICAgICAgICBzdGF0ZS5u YW1lc1tlMWRfYmFzZSArIChmICUgMzIpXSA9ICJFMURfIiArIHN0YXRlLm5hbWVzW2ZdCiAKICAg ICBzdGF0ZS5jb21tb25fMWQgPSBmZWF0dXJlc2V0X3RvX3VpbnQzMnMoY29tbW9uXzFkLCAxKVsw XQorICAgIHN0YXRlLnNwZWNpYWwgPSBmZWF0dXJlc2V0X3RvX3VpbnQzMnMoc3RhdGUucmF3X3Nw ZWNpYWwsIG5yX2VudHJpZXMpCiAKIAogZGVmIHdyaXRlX3Jlc3VsdHMoc3RhdGUpOgpAQCAtMTMx LDkgKzE0MywxMiBAQCBkZWYgd3JpdGVfcmVzdWx0cyhzdGF0ZSk6CiAjZGVmaW5lIENQVUlEX0NP TU1PTl8xRF9GRUFUVVJFUyAlcwogCiAjZGVmaW5lIElOSVRfS05PV05fRkVBVFVSRVMgeyBcXFxu JXNcbn0KKworI2RlZmluZSBJTklUX1NQRUNJQUxfRkVBVFVSRVMgeyBcXFxuJXNcbn0KICIiIiAl IChzdGF0ZS5ucl9lbnRyaWVzLAogICAgICAgIHN0YXRlLmNvbW1vbl8xZCwKICAgICAgICBmb3Jt YXRfdWludDMycyhzdGF0ZS5rbm93biwgNCksCisgICAgICAgZm9ybWF0X3VpbnQzMnMoc3RhdGUu c3BlY2lhbCwgNCksCiAgICAgICAgKSkKIAogICAgIHN0YXRlLm91dHB1dC53cml0ZSgKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK