From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 3/4] x86/pv: Drop {compat_, }create_bounce_frame() and use the C version instead Date: Mon, 8 May 2017 16:48:07 +0100 Message-ID: <1494258488-30714-4-git-send-email-andrew.cooper3@citrix.com> References: <1494258488-30714-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: <1494258488-30714-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 , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIGNsb2JiZXJpbmcgb2YgVFJBUEJPVU5DRV9mbGFncyBpbiAuTHtjb21wYXRffWJvdW5jZV9l eGNlcHRpb24gaXMgc3Vic3VtZWQKYnkgdGhlIGxvZ2ljIGF0IHRoZSBlbmQgb2YgcHZfY3JlYXRl X2JvdW5jZV9mcmFtZSgpLgoKVGhpcyBjbGVhbnVwIHJlbW92ZXMgYWxsIGNhbGxlcnMgb2YgYXNt X2RvbWFpbl9jcmFzaF9zeW5jaHJvbm91cygpLCB3aGljaCBpcwp0aGVyZWZvcmUgZHJvcHBlZCBh cyB3ZWxsLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0 cml4LmNvbT4KLS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Ci0tLQogeGVu L2FyY2gveDg2L3RyYXBzLmMgICAgICAgICAgICAgICB8ICAyMyAtLS0tLS0KIHhlbi9hcmNoL3g4 Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMgfCAxMTYgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCiB4ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMgICAgICAgIHwgMTQxICsrLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL3hlbi9zY2hlZC5oICAgICAg ICAgICAgfCAgIDcgLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMjc3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jIGIveGVuL2FyY2gv eDg2L3RyYXBzLmMKaW5kZXggZWNlMmMxMy4uNzNhOWM3YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3RyYXBzLmMKKysrIGIveGVuL2FyY2gveDg2L3RyYXBzLmMKQEAgLTQxOTUsMjkgKzQxOTUs NiBAQCB1bnNpZ25lZCBsb25nIGRvX2dldF9kZWJ1Z3JlZyhpbnQgcmVnKQogICAgIHJldHVybiAt RUlOVkFMOwogfQogCi12b2lkIGFzbV9kb21haW5fY3Jhc2hfc3luY2hyb25vdXModW5zaWduZWQg bG9uZyBhZGRyKQotewotICAgIC8qCi0gICAgICogV2UgbmVlZCBjbGVhciBBQyBiaXQgaGVyZSBi ZWNhdXNlIGluIGVudHJ5LlMgQUMgaXMgc2V0Ci0gICAgICogYnkgQVNNX1NUQUMgdG8gdGVtcG9y YXJpbHkgYWxsb3cgYWNjZXNzZXMgdG8gdXNlciBwYWdlcwotICAgICAqIHdoaWNoIGlzIHByZXZl bnRlZCBieSBTTUFQIGJ5IGRlZmF1bHQuCi0gICAgICoKLSAgICAgKiBGb3Igc29tZSBjb2RlIHBh dGhzLCB3aGVyZSB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCwgY2xhYygpCi0gICAgICogaXMgbm90 IG5lZWRlZCwgYnV0IGFkZGluZyBjbGFjKCkgaGVyZSBpbnN0ZWFkIG9mIGVhY2ggcGxhY2UKLSAg ICAgKiBhc21fZG9tYWluX2NyYXNoX3N5bmNocm9ub3VzKCkgaXMgY2FsbGVkIGNhbiByZWR1Y2Ug dGhlIGNvZGUKLSAgICAgKiByZWR1bmRhbmN5LCBhbmQgaXQgaXMgaGFybWxlc3MgYXMgd2VsbC4K LSAgICAgKi8KLSAgICBjbGFjKCk7Ci0KLSAgICBpZiAoIGFkZHIgPT0gMCApCi0gICAgICAgIGFk ZHIgPSB0aGlzX2NwdShsYXN0X2V4dGFibGVfYWRkcik7Ci0KLSAgICBwcmludGsoImRvbWFpbl9j cmFzaF9zeW5jIGNhbGxlZCBmcm9tIGVudHJ5LlM6IGZhdWx0IGF0ICVwICVwU1xuIiwKLSAgICAg ICAgICAgX3AoYWRkciksIF9wKGFkZHIpKTsKLQotICAgIF9fZG9tYWluX2NyYXNoX3N5bmNocm9u b3VzKCk7Ci19Ci0KIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4 Nl82NC9jb21wYXQvZW50cnkuUwppbmRleCA5MGJkYTA5Li4xY2Q0NjcyIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZf NjQvY29tcGF0L2VudHJ5LlMKQEAgLTUxLDcgKzUxLDcgQEAgY29tcGF0X3Rlc3RfZ3Vlc3RfZXZl bnRzOgogICAgICAgICBtb3ZsICBWQ1BVX2V2ZW50X3NlbCglcmJ4KSwlZWF4CiAgICAgICAgIG1v dncgICVheCxUUkFQQk9VTkNFX2NzKCVyZHgpCiAgICAgICAgIG1vdmIgICRUQkZfSU5URVJSVVBU LFRSQVBCT1VOQ0VfZmxhZ3MoJXJkeCkKLSAgICAgICAgY2FsbCAgY29tcGF0X2NyZWF0ZV9ib3Vu Y2VfZnJhbWUKKyAgICAgICAgY2FsbCAgcHZfY3JlYXRlX2V4Y2VwdGlvbl9mcmFtZQogICAgICAg ICBqbXAgICBjb21wYXRfdGVzdF9hbGxfZXZlbnRzCiAKICAgICAgICAgQUxJR04KQEAgLTk1LDcg Kzk1LDcgQEAgY29tcGF0X3Byb2Nlc3Nfbm1pOgogICAgICAgICAvKiBGQUxMVEhST1VHSCAqLwog Y29tcGF0X3Byb2Nlc3NfdHJhcDoKICAgICAgICAgbGVhcSAgVkNQVV90cmFwX2JvdW5jZSglcmJ4 KSwlcmR4Ci0gICAgICAgIGNhbGwgIGNvbXBhdF9jcmVhdGVfYm91bmNlX2ZyYW1lCisgICAgICAg IGNhbGwgIHB2X2NyZWF0ZV9leGNlcHRpb25fZnJhbWUKICAgICAgICAgam1wICAgY29tcGF0X3Rl c3RfYWxsX2V2ZW50cwogCiAvKiAlcmJ4OiBzdHJ1Y3QgdmNwdSwgaW50ZXJydXB0cyBkaXNhYmxl ZCAqLwpAQCAtMTgxLDggKzE4MSw3IEBAIEVOVFJZKGNvbXBhdF9wb3N0X2hhbmRsZV9leGNlcHRp b24pCiAgICAgICAgIHRlc3RiICRUQkZfRVhDRVBUSU9OLFRSQVBCT1VOQ0VfZmxhZ3MoJXJkeCkK ICAgICAgICAganogICAgY29tcGF0X3Rlc3RfYWxsX2V2ZW50cwogLkxjb21wYXRfYm91bmNlX2V4 Y2VwdGlvbjoKLSAgICAgICAgY2FsbCAgY29tcGF0X2NyZWF0ZV9ib3VuY2VfZnJhbWUKLSAgICAg ICAgbW92YiAgJDAsVFJBUEJPVU5DRV9mbGFncyglcmR4KQorICAgICAgICBjYWxsICBwdl9jcmVh dGVfZXhjZXB0aW9uX2ZyYW1lCiAgICAgICAgIGptcCAgIGNvbXBhdF90ZXN0X2FsbF9ldmVudHMK IAogLyogU2VlIGxzdGFyX2VudGVyIGZvciBlbnRyeSByZWdpc3RlciBzdGF0ZS4gKi8KQEAgLTIz NCwxMTUgKzIzMywxMCBAQCBFTlRSWShjb21wYXRfc3lzZW50ZXIpCiAgICAgICAgIG1vdmwgICRG TEFUX0NPTVBBVF9VU0VSX1NTLFVSRUdTX3NzKCVyc3ApCiAgICAgICAgIGNtb3Z6bCAlZWN4LCVl YXgKICAgICAgICAgbW92dyAgJWF4LFRSQVBCT1VOQ0VfY3MoJXJkeCkKLSAgICAgICAgY2FsbCAg Y29tcGF0X2NyZWF0ZV9ib3VuY2VfZnJhbWUKKyAgICAgICAgY2FsbCAgcHZfY3JlYXRlX2V4Y2Vw dGlvbl9mcmFtZQogICAgICAgICBqbXAgICBjb21wYXRfdGVzdF9hbGxfZXZlbnRzCiAKIEVOVFJZ KGNvbXBhdF9pbnQ4MF9kaXJlY3RfdHJhcCkKICAgICAgICAgQ1I0X1BWMzJfUkVTVE9SRQotICAg ICAgICBjYWxsICBjb21wYXRfY3JlYXRlX2JvdW5jZV9mcmFtZQorICAgICAgICBjYWxsICBwdl9j cmVhdGVfZXhjZXB0aW9uX2ZyYW1lCiAgICAgICAgIGptcCAgIGNvbXBhdF90ZXN0X2FsbF9ldmVu dHMKLQotLyogQ1JFQVRFIEEgQkFTSUMgRVhDRVBUSU9OIEZSQU1FIE9OIEdVRVNUIE9TIChSSU5H LTEpIFNUQUNLOiAgICAgICAgICAgICovCi0vKiAgIHtbRVJSQ09ERSxdIEVJUCwgQ1MsIEVGTEFH UywgW0VTUCwgU1NdfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLS8qICVyZHg6IHRy YXBfYm91bmNlLCAlcmJ4OiBzdHJ1Y3QgdmNwdSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLwotLyogT24gcmV0dXJuIG9ubHkgJXJieCBhbmQgJXJkeCBhcmUgZ3VhcmFudGVlZCBu b24tY2xvYmJlcmVkLiAgICAgICAgICAgICovCi1jb21wYXRfY3JlYXRlX2JvdW5jZV9mcmFtZToK LSAgICAgICAgQVNTRVJUX0lOVEVSUlVQVFNfRU5BQkxFRAotICAgICAgICBtb3YgICAlZnMsJWVk aQotICAgICAgICBBU01fU1RBQwotICAgICAgICB0ZXN0YiAkMixVUkVHU19jcys4KCVyc3ApCi0g ICAgICAgIGp6ICAgIDFmCi0gICAgICAgIC8qIFB1c2ggbmV3IGZyYW1lIGF0IHJlZ2lzdGVyZWQg Z3Vlc3QtT1Mgc3RhY2sgYmFzZS4gKi8KLSAgICAgICAgbW92bCAgVkNQVV9rZXJuZWxfc3AoJXJi eCksJWVzaQotLkxmdDE6ICBtb3YgICBWQ1BVX2tlcm5lbF9zcyglcmJ4KSwlZnMKLSAgICAgICAg c3VibCAgJDIqNCwlZXNpCi0gICAgICAgIG1vdmwgIFVSRUdTX3JzcCs4KCVyc3ApLCVlYXgKLS5M ZnQyOiAgbW92bCAgJWVheCwlZnM6KCVyc2kpCi0gICAgICAgIG1vdmwgIFVSRUdTX3NzKzgoJXJz cCksJWVheAotLkxmdDM6ICBtb3ZsICAlZWF4LCVmczo0KCVyc2kpCi0gICAgICAgIGptcCAgIDJm Ci0xOiAgICAgIC8qIEluIGtlcm5lbCBjb250ZXh0IGFscmVhZHk6IHB1c2ggbmV3IGZyYW1lIGF0 IGV4aXN0aW5nICVyc3AuICovCi0gICAgICAgIG1vdmwgIFVSRUdTX3JzcCs4KCVyc3ApLCVlc2kK LS5MZnQ0OiAgbW92ICAgVVJFR1Nfc3MrOCglcnNwKSwlZnMKLTI6Ci0gICAgICAgIG1vdnEgIFZD UFVfZG9tYWluKCVyYngpLCVyOAotICAgICAgICBzdWJsICAkMyo0LCVlc2kKLSAgICAgICAgbW92 cSAgVkNQVV92Y3B1X2luZm8oJXJieCksJXJheAotICAgICAgICBwdXNocSBDT01QQVRfVkNQVUlO Rk9fdXBjYWxsX21hc2soJXJheCkKLSAgICAgICAgdGVzdGIgJFRCRl9JTlRFUlJVUFQsVFJBUEJP VU5DRV9mbGFncyglcmR4KQotICAgICAgICBzZXRueiAlY2ggICAgICAgICAgICAgICAgICAgICAg ICMgVEJGX0lOVEVSUlVQVCAtPiBzZXQgdXBjYWxsIG1hc2sKLSAgICAgICAgb3JiICAgJWNoLENP TVBBVF9WQ1BVSU5GT191cGNhbGxfbWFzayglcmF4KQotICAgICAgICBwb3BxICAlcmF4Ci0gICAg ICAgIHNobGwgICQxNiwlZWF4ICAgICAgICAgICAgICAgICAgIyBCaXRzIDE2LTIzOiBzYXZlZF91 cGNhbGxfbWFzawotICAgICAgICBtb3Z3ICBVUkVHU19jcys4KCVyc3ApLCVheCAgICAgICMgQml0 cyAgMC0xNTogQ1MKLS5MZnQ1OiAgbW92bCAgJWVheCwlZnM6NCglcnNpKSAgICAgICAgICAjIENT IC8gc2F2ZWRfdXBjYWxsX21hc2sKLSAgICAgICAgc2hybCAgJDE2LCVlYXgKLSAgICAgICAgdGVz dGIgJWFsLCVhbCAgICAgICAgICAgICAgICAgICAjIEJpdHMgMC03OiBzYXZlZF91cGNhbGxfbWFz awotICAgICAgICBzZXR6ICAlY2ggICAgICAgICAgICAgICAgICAgICAgICMgJWNoID09ICFzYXZl ZF91cGNhbGxfbWFzawotICAgICAgICBtb3ZsICBVUkVHU19lZmxhZ3MrOCglcnNwKSwlZWF4Ci0g ICAgICAgIGFuZGwgICR+KFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19JT1BMKSwlZWF4Ci0gICAg ICAgIGFkZGIgICVjaCwlY2ggICAgICAgICAgICAgICAgICAgIyBCaXQgOSAoRUZMQUdTLklGKQot ICAgICAgICBvcmIgICAlY2gsJWFoICAgICAgICAgICAgICAgICAgICMgRm9sZCBFRkxBR1MuSUYg aW50byAlZWF4Ci0gICAgICAgIHhvcmwgICVlY3gsJWVjeCAgICAgICAgICAgICAgICAgIyBpZiAo IFZNX0FTU0lTVCh2LT5kb21haW4sIGFyY2hpdGVjdHVyYWxfaW9wbCkgKQotICAgICAgICB0ZXN0 YiAkMSA8PCBWTUFTU1RfVFlQRV9hcmNoaXRlY3R1cmFsX2lvcGwsRE9NQUlOX3ZtX2Fzc2lzdCgl cjgpCi0gICAgICAgIGNtb3ZuemwgVkNQVV9pb3BsKCVyYngpLCVlY3ggICAgIyBCaXRzIDEzOjEy IChFRkxBR1MuSU9QTCkKLSAgICAgICAgb3JsICAgJWVjeCwlZWF4ICAgICAgICAgICAgICAgICAj IEZvbGQgRUZMQUdTLklPUEwgaW50byAlZWF4Ci0uTGZ0NjogIG1vdmwgICVlYXgsJWZzOjIqNCgl cnNpKSAgICAgICAgIyBFRkxBR1MKLSAgICAgICAgbW92bCAgVVJFR1NfcmlwKzgoJXJzcCksJWVh eAotLkxmdDc6ICBtb3ZsICAlZWF4LCVmczooJXJzaSkgICAgICAgICAgICMgRUlQCi0gICAgICAg IHRlc3RiICRUQkZfRVhDRVBUSU9OX0VSUkNPREUsVFJBUEJPVU5DRV9mbGFncyglcmR4KQotICAg ICAgICBqeiAgICAxZgotICAgICAgICBzdWJsICAkNCwlZXNpCi0gICAgICAgIG1vdmwgIFRSQVBC T1VOQ0VfZXJyb3JfY29kZSglcmR4KSwlZWF4Ci0uTGZ0ODogIG1vdmwgICVlYXgsJWZzOiglcnNp KSAgICAgICAgICAgIyBFUlJPUiBDT0RFCi0xOgotICAgICAgICBBU01fQ0xBQwotICAgICAgICAv KiBSZXdyaXRlIG91ciBzdGFjayBmcmFtZSBhbmQgcmV0dXJuIHRvIGd1ZXN0LU9TIG1vZGUuICov Ci0gICAgICAgIC8qIElBMzIgUmVmLiBWb2wuIDM6IFRGLCBWTSwgUkYgYW5kIE5UIGZsYWdzIGFy ZSBjbGVhcmVkIG9uIHRyYXAuICovCi0gICAgICAgIGFuZGwgICR+KFg4Nl9FRkxBR1NfVk18WDg2 X0VGTEFHU19SRnxcCi0gICAgICAgICAgICAgICAgIFg4Nl9FRkxBR1NfTlR8WDg2X0VGTEFHU19U RiksVVJFR1NfZWZsYWdzKzgoJXJzcCkKLSAgICAgICAgbW92ICAgJWZzLFVSRUdTX3NzKzgoJXJz cCkKLSAgICAgICAgbW92bCAgJWVzaSxVUkVHU19yc3ArOCglcnNwKQotLkxmdDEzOiBtb3YgICAl ZWRpLCVmcwotICAgICAgICBtb3Z6d2wgVFJBUEJPVU5DRV9jcyglcmR4KSwlZWF4Ci0gICAgICAg IC8qIE51bGwgc2VsZWN0b3JzICgwLTMpIGFyZSBub3QgYWxsb3dlZC4gKi8KLSAgICAgICAgdGVz dGwgJH4zLCVlYXgKLVVOTElLRUxZX1NUQVJUKHosIGNvbXBhdF9ib3VuY2VfbnVsbF9zZWxlY3Rv cikKLSAgICAgICAgbGVhICAgVU5MSUtFTFlfRElTUEFUQ0hfTEFCRUwoY29tcGF0X2JvdW5jZV9u dWxsX3NlbGVjdG9yKSglcmlwKSwgJXJkaQotICAgICAgICBqbXAgICBhc21fZG9tYWluX2NyYXNo X3N5bmNocm9ub3VzICAvKiBEb2VzIG5vdCByZXR1cm4gKi8KLV9fVU5MSUtFTFlfRU5EKGNvbXBh dF9ib3VuY2VfbnVsbF9zZWxlY3RvcikKLSAgICAgICAgbW92bCAgJWVheCxVUkVHU19jcys4KCVy c3ApCi0gICAgICAgIG1vdmwgIFRSQVBCT1VOQ0VfZWlwKCVyZHgpLCVlYXgKLSAgICAgICAgbW92 bCAgJWVheCxVUkVHU19yaXArOCglcnNwKQotICAgICAgICByZXQKLS5zZWN0aW9uIC5maXh1cCwi YXgiCi0uTGZ4MTM6Ci0gICAgICAgIHhvcmwgICVlZGksJWVkaQotICAgICAgICBqbXAgICAuTGZ0 MTMKLS5wcmV2aW91cwotICAgICAgICBfQVNNX0VYVEFCTEUoLkxmdDEsICBkb21fY3Jhc2hfc3lu Y19leHRhYmxlKQotICAgICAgICBfQVNNX0VYVEFCTEUoLkxmdDIsICBjb21wYXRfY3Jhc2hfcGFn ZV9mYXVsdCkKLSAgICAgICAgX0FTTV9FWFRBQkxFKC5MZnQzLCAgY29tcGF0X2NyYXNoX3BhZ2Vf ZmF1bHRfNCkKLSAgICAgICAgX0FTTV9FWFRBQkxFKC5MZnQ0LCAgZG9tX2NyYXNoX3N5bmNfZXh0 YWJsZSkKLSAgICAgICAgX0FTTV9FWFRBQkxFKC5MZnQ1LCAgY29tcGF0X2NyYXNoX3BhZ2VfZmF1 bHRfNCkKLSAgICAgICAgX0FTTV9FWFRBQkxFKC5MZnQ2LCAgY29tcGF0X2NyYXNoX3BhZ2VfZmF1 bHRfOCkKLSAgICAgICAgX0FTTV9FWFRBQkxFKC5MZnQ3LCAgY29tcGF0X2NyYXNoX3BhZ2VfZmF1 bHQpCi0gICAgICAgIF9BU01fRVhUQUJMRSguTGZ0OCwgIGNvbXBhdF9jcmFzaF9wYWdlX2ZhdWx0 KQotICAgICAgICBfQVNNX0VYVEFCTEUoLkxmdDEzLCAuTGZ4MTMpCi0KLWNvbXBhdF9jcmFzaF9w YWdlX2ZhdWx0Xzg6Ci0gICAgICAgIGFkZGwgICQ0LCVlc2kKLWNvbXBhdF9jcmFzaF9wYWdlX2Zh dWx0XzQ6Ci0gICAgICAgIGFkZGwgICQ0LCVlc2kKLWNvbXBhdF9jcmFzaF9wYWdlX2ZhdWx0Ogot LkxmdDE0OiBtb3YgICAlZWRpLCVmcwotICAgICAgICBBU01fQ0xBQwotICAgICAgICBtb3ZsICAl ZXNpLCVlZGkKLSAgICAgICAgY2FsbCAgc2hvd19wYWdlX3dhbGsKLSAgICAgICAgam1wICAgZG9t X2NyYXNoX3N5bmNfZXh0YWJsZQotLnNlY3Rpb24gLmZpeHVwLCJheCIKLS5MZngxNDoKLSAgICAg ICAgeG9ybCAgJWVkaSwlZWRpCi0gICAgICAgIGptcCAgIC5MZnQxNAotLnByZXZpb3VzCi0gICAg ICAgIF9BU01fRVhUQUJMRSguTGZ0MTQsIC5MZngxNCkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni94ODZfNjQvZW50cnkuUyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwppbmRleCA1Nzk1 MmQwLi43ZDU5MDUxIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKKysr IGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCkBAIC0yOCw3ICsyOCw3IEBAIEVOVFJZKHN3 aXRjaF90b19rZXJuZWwpCiAgICAgICAgIHNldGMgICVjbAogICAgICAgICBsZWFsICAoLCVyY3gs VEJGX0lOVEVSUlVQVCksJWVjeAogICAgICAgICBtb3ZiICAlY2wsVFJBUEJPVU5DRV9mbGFncygl cmR4KQotICAgICAgICBjYWxsICBjcmVhdGVfYm91bmNlX2ZyYW1lCisgICAgICAgIGNhbGwgIHB2 X2NyZWF0ZV9leGNlcHRpb25fZnJhbWUKICAgICAgICAgYW5kbCAgJH5YODZfRUZMQUdTX0RGLFVS RUdTX2VmbGFncyglcnNwKQogICAgICAgICBqbXAgICB0ZXN0X2FsbF9ldmVudHMKIApAQCAtMTMx LDcgKzEzMSw3IEBAIHRlc3RfZ3Vlc3RfZXZlbnRzOgogICAgICAgICBtb3ZxICBWQ1BVX2V2ZW50 X2FkZHIoJXJieCksJXJheAogICAgICAgICBtb3ZxICAlcmF4LFRSQVBCT1VOQ0VfZWlwKCVyZHgp CiAgICAgICAgIG1vdmIgICRUQkZfSU5URVJSVVBULFRSQVBCT1VOQ0VfZmxhZ3MoJXJkeCkKLSAg ICAgICAgY2FsbCAgY3JlYXRlX2JvdW5jZV9mcmFtZQorICAgICAgICBjYWxsICBwdl9jcmVhdGVf ZXhjZXB0aW9uX2ZyYW1lCiAgICAgICAgIGptcCAgIHRlc3RfYWxsX2V2ZW50cwogCiAgICAgICAg IEFMSUdOCkBAIC0xNzUsNyArMTc1LDcgQEAgcHJvY2Vzc19ubWk6CiAgICAgICAgIC8qIEZBTExU SFJPVUdIICovCiBwcm9jZXNzX3RyYXA6CiAgICAgICAgIGxlYXEgVkNQVV90cmFwX2JvdW5jZSgl cmJ4KSwlcmR4Ci0gICAgICAgIGNhbGwgY3JlYXRlX2JvdW5jZV9mcmFtZQorICAgICAgICBjYWxs IHB2X2NyZWF0ZV9leGNlcHRpb25fZnJhbWUKICAgICAgICAgam1wICB0ZXN0X2FsbF9ldmVudHMK IAogRU5UUlkoc3lzZW50ZXJfZW50cnkpCkBAIC0yNjYsNyArMjY2LDcgQEAgVU5MSUtFTFlfRU5E KG1zaV9jaGVjaykKICAgICAgICAgdGVzdGIgJDEsRE9NQUlOX2lzXzMyYml0X3B2KCVyYXgpCiAg ICAgICAgIGpueiAgIGNvbXBhdF9pbnQ4MF9kaXJlY3RfdHJhcAogCi0gICAgICAgIGNhbGwgIGNy ZWF0ZV9ib3VuY2VfZnJhbWUKKyAgICAgICAgY2FsbCAgcHZfY3JlYXRlX2V4Y2VwdGlvbl9mcmFt ZQogICAgICAgICBqbXAgICB0ZXN0X2FsbF9ldmVudHMKIAogaW50ODBfc2xvd19wYXRoOgpAQCAt MjgxLDEzNiArMjgxLDYgQEAgaW50ODBfc2xvd19wYXRoOgogICAgICAgICBzdWJxICAkMixVUkVH U19yaXAoJXJzcCkKICAgICAgICAgam1wICAgaGFuZGxlX2V4Y2VwdGlvbl9zYXZlZAogCi0vKiBD UkVBVEUgQSBCQVNJQyBFWENFUFRJT04gRlJBTUUgT04gR1VFU1QgT1MgU1RBQ0s6ICAgICAgICAg ICAgICAgICAgICAgKi8KLS8qICAgeyBSQ1gsIFIxMSwgW0VSUkNPREUsXSBSSVAsIENTLCBSRkxB R1MsIFJTUCwgU1MgfSAgICAgICAgICAgICAgICAgICAqLwotLyogJXJkeDogdHJhcF9ib3VuY2Us ICVyYng6IHN0cnVjdCB2Y3B1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi0v KiBPbiByZXR1cm4gb25seSAlcmJ4IGFuZCAlcmR4IGFyZSBndWFyYW50ZWVkIG5vbi1jbG9iYmVy ZWQuICAgICAgICAgICAgKi8KLWNyZWF0ZV9ib3VuY2VfZnJhbWU6Ci0gICAgICAgIEFTU0VSVF9J TlRFUlJVUFRTX0VOQUJMRUQKLSAgICAgICAgdGVzdGIgJFRGX2tlcm5lbF9tb2RlLFZDUFVfdGhy ZWFkX2ZsYWdzKCVyYngpCi0gICAgICAgIGpueiAgIDFmCi0gICAgICAgIC8qIFB1c2ggbmV3IGZy YW1lIGF0IHJlZ2lzdGVyZWQgZ3Vlc3QtT1Mgc3RhY2sgYmFzZS4gKi8KLSAgICAgICAgcHVzaHEg JXJkeAotICAgICAgICBtb3ZxICAlcmJ4LCVyZGkKLSAgICAgICAgY2FsbCAgdG9nZ2xlX2d1ZXN0 X21vZGUKLSAgICAgICAgcG9wcSAgJXJkeAotICAgICAgICBtb3ZxICBWQ1BVX2tlcm5lbF9zcCgl cmJ4KSwlcnNpCi0gICAgICAgIGptcCAgIDJmCi0xOiAgICAgIC8qIEluIGtlcm5lbCBjb250ZXh0 IGFscmVhZHk6IHB1c2ggbmV3IGZyYW1lIGF0IGV4aXN0aW5nICVyc3AuICovCi0gICAgICAgIG1v dnEgIFVSRUdTX3JzcCs4KCVyc3ApLCVyc2kKLSAgICAgICAgYW5kYiAgJDB4ZmMsVVJFR1NfY3Mr OCglcnNwKSAgICAjIEluZGljYXRlIGtlcm5lbCBjb250ZXh0IHRvIGd1ZXN0LgotMjogICAgICBh bmRxICAkfjB4ZiwlcnNpICAgICAgICAgICAgICAgICMgU3RhY2sgZnJhbWVzIGFyZSAxNi1ieXRl IGFsaWduZWQuCi0gICAgICAgIG1vdnEgICRIWVBFUlZJU09SX1ZJUlRfU1RBUlQrMSwlcmF4Ci0g ICAgICAgIGNtcHEgICVyYXgsJXJzaQotICAgICAgICBtb3ZxICAkSFlQRVJWSVNPUl9WSVJUX0VO RCs4KjgsJXJheAotICAgICAgICBzYmIgICAlZWN4LCVlY3ggICAgICAgICAgICAgICAgICMgSW4g K3ZlIGFkZHJlc3Mgc3BhY2U/IFRoZW4gb2theS4KLSAgICAgICAgY21wcSAgJXJheCwlcnNpCi0g ICAgICAgIGFkYyAgICVlY3gsJWVjeCAgICAgICAgICAgICAgICAgIyBBYm92ZSBYZW4gcHJpdmF0 ZSBhcmVhPyBUaGVuIG9rYXkuCi1VTkxJS0VMWV9TVEFSVChnLCBjcmVhdGVfYm91bmNlX2ZyYW1l X2JhZF9zcCkKLSAgICAgICAgbGVhICAgVU5MSUtFTFlfRElTUEFUQ0hfTEFCRUwoY3JlYXRlX2Jv dW5jZV9mcmFtZV9iYWRfc3ApKCVyaXApLCAlcmRpCi0gICAgICAgIGptcCAgIGFzbV9kb21haW5f Y3Jhc2hfc3luY2hyb25vdXMgIC8qIERvZXMgbm90IHJldHVybiAqLwotX19VTkxJS0VMWV9FTkQo Y3JlYXRlX2JvdW5jZV9mcmFtZV9iYWRfc3ApCi0KLSNkZWZpbmUgU1RPUkVfR1VFU1RfU1RBQ0so cmVnLCBuKSBcCi0wOiAgICAgIG1vdnEgICVyZWcsKG4pKjgoJXJzaSk7IFwKLSAgICAgICAgX0FT TV9FWFRBQkxFKDBiLCBkb21haW5fY3Jhc2hfcGFnZV9mYXVsdF8gIyMgbiAjIyB4OCkKLQotICAg ICAgICBzdWJxICAkNyo4LCVyc2kKLSAgICAgICAgbW92cSAgVVJFR1Nfc3MrOCglcnNwKSwlcmF4 Ci0gICAgICAgIEFTTV9TVEFDCi0gICAgICAgIG1vdnEgIFZDUFVfZG9tYWluKCVyYngpLCVyZGkK LSAgICAgICAgU1RPUkVfR1VFU1RfU1RBQ0socmF4LDYpICAgICAgICAjIFNTCi0gICAgICAgIG1v dnEgIFVSRUdTX3JzcCs4KCVyc3ApLCVyYXgKLSAgICAgICAgU1RPUkVfR1VFU1RfU1RBQ0socmF4 LDUpICAgICAgICAjIFJTUAotICAgICAgICBtb3ZxICBWQ1BVX3ZjcHVfaW5mbyglcmJ4KSwlcmF4 Ci0gICAgICAgIHB1c2hxIFZDUFVJTkZPX3VwY2FsbF9tYXNrKCVyYXgpCi0gICAgICAgIHRlc3Ri ICRUQkZfSU5URVJSVVBULFRSQVBCT1VOQ0VfZmxhZ3MoJXJkeCkKLSAgICAgICAgc2V0bnogJWNo ICAgICAgICAgICAgICAgICAgICAgICAjIFRCRl9JTlRFUlJVUFQgLT4gc2V0IHVwY2FsbCBtYXNr Ci0gICAgICAgIG9yYiAgICVjaCxWQ1BVSU5GT191cGNhbGxfbWFzayglcmF4KQotICAgICAgICBw b3BxICAlcmF4Ci0gICAgICAgIHNobHEgICQzMiwlcmF4ICAgICAgICAgICAgICAgICAgIyBCaXRz IDMyLTM5OiBzYXZlZF91cGNhbGxfbWFzawotICAgICAgICBtb3Z3ICBVUkVHU19jcys4KCVyc3Ap LCVheCAgICAgICMgQml0cyAgMC0xNTogQ1MKLSAgICAgICAgU1RPUkVfR1VFU1RfU1RBQ0socmF4 LDMpICAgICAgICAjIENTIC8gc2F2ZWRfdXBjYWxsX21hc2sKLSAgICAgICAgc2hycSAgJDMyLCVy YXgKLSAgICAgICAgdGVzdGIgJDB4RkYsJWFsICAgICAgICAgICAgICAgICAjIEJpdHMgMC03OiBz YXZlZF91cGNhbGxfbWFzawotICAgICAgICBzZXR6ICAlY2ggICAgICAgICAgICAgICAgICAgICAg ICMgJWNoID09ICFzYXZlZF91cGNhbGxfbWFzawotICAgICAgICBtb3ZsICBVUkVHU19lZmxhZ3Mr OCglcnNwKSwlZWF4Ci0gICAgICAgIGFuZGwgICR+KFg4Nl9FRkxBR1NfSUZ8WDg2X0VGTEFHU19J T1BMKSwlZWF4Ci0gICAgICAgIGFkZGIgICVjaCwlY2ggICAgICAgICAgICAgICAgICAgIyBCaXQg OSAoRUZMQUdTLklGKQotICAgICAgICBvcmIgICAlY2gsJWFoICAgICAgICAgICAgICAgICAgICMg Rm9sZCBFRkxBR1MuSUYgaW50byAlZWF4Ci0gICAgICAgIHhvcmwgICVlY3gsJWVjeCAgICAgICAg ICAgICAgICAgIyBpZiAoIFZNX0FTU0lTVCh2LT5kb21haW4sIGFyY2hpdGVjdHVyYWxfaW9wbCkg KQotICAgICAgICB0ZXN0YiAkMSA8PCBWTUFTU1RfVFlQRV9hcmNoaXRlY3R1cmFsX2lvcGwsRE9N QUlOX3ZtX2Fzc2lzdCglcmRpKQotICAgICAgICBjbW92bnpsIFZDUFVfaW9wbCglcmJ4KSwlZWN4 ICAgICMgQml0cyAxMzoxMiAoRUZMQUdTLklPUEwpCi0gICAgICAgIG9ybCAgICVlY3gsJWVheCAg ICAgICAgICAgICAgICAgIyBGb2xkIEVGTEFHUy5JT1BMIGludG8gJWVheAotICAgICAgICBTVE9S RV9HVUVTVF9TVEFDSyhyYXgsNCkgICAgICAgICMgUkZMQUdTCi0gICAgICAgIG1vdnEgIFVSRUdT X3JpcCs4KCVyc3ApLCVyYXgKLSAgICAgICAgU1RPUkVfR1VFU1RfU1RBQ0socmF4LDIpICAgICAg ICAjIFJJUAotICAgICAgICB0ZXN0YiAkVEJGX0VYQ0VQVElPTl9FUlJDT0RFLFRSQVBCT1VOQ0Vf ZmxhZ3MoJXJkeCkKLSAgICAgICAganogICAgMWYKLSAgICAgICAgc3VicSAgJDgsJXJzaQotICAg ICAgICBtb3ZsICBUUkFQQk9VTkNFX2Vycm9yX2NvZGUoJXJkeCksJWVheAotICAgICAgICBTVE9S RV9HVUVTVF9TVEFDSyhyYXgsMikgICAgICAgICMgRVJST1IgQ09ERQotMToKLSAgICAgICAgbW92 cSAgVVJFR1NfcjExKzgoJXJzcCksJXJheAotICAgICAgICBTVE9SRV9HVUVTVF9TVEFDSyhyYXgs MSkgICAgICAgICMgUjExCi0gICAgICAgIG1vdnEgIFVSRUdTX3JjeCs4KCVyc3ApLCVyYXgKLSAg ICAgICAgU1RPUkVfR1VFU1RfU1RBQ0socmF4LDApICAgICAgICAjIFJDWAotICAgICAgICBBU01f Q0xBQwotCi0jdW5kZWYgU1RPUkVfR1VFU1RfU1RBQ0sKLQotICAgICAgICAvKiBSZXdyaXRlIG91 ciBzdGFjayBmcmFtZSBhbmQgcmV0dXJuIHRvIGd1ZXN0LU9TIG1vZGUuICovCi0gICAgICAgIC8q IElBMzIgUmVmLiBWb2wuIDM6IFRGLCBWTSwgUkYgYW5kIE5UIGZsYWdzIGFyZSBjbGVhcmVkIG9u IHRyYXAuICovCi0gICAgICAgIC8qIEFsc28gY2xlYXIgQUM6IGFsaWdubWVudCBjaGVja3Mgc2hv dWxkbid0IHRyaWdnZXIgaW4ga2VybmVsIG1vZGUuICovCi0gICAgICAgIG9ybCAgICRUUkFQX3N5 c2NhbGwsVVJFR1NfZW50cnlfdmVjdG9yKzgoJXJzcCkKLSAgICAgICAgYW5kbCAgJH4oWDg2X0VG TEFHU19BQ3xYODZfRUZMQUdTX1ZNfFg4Nl9FRkxBR1NfUkZ8XAotICAgICAgICAgICAgICAgICBY ODZfRUZMQUdTX05UfFg4Nl9FRkxBR1NfVEYpLFVSRUdTX2VmbGFncys4KCVyc3ApCi0gICAgICAg IG1vdnEgICRGTEFUX0tFUk5FTF9TUyxVUkVHU19zcys4KCVyc3ApCi0gICAgICAgIG1vdnEgICVy c2ksVVJFR1NfcnNwKzgoJXJzcCkKLSAgICAgICAgbW92cSAgJEZMQVRfS0VSTkVMX0NTLFVSRUdT X2NzKzgoJXJzcCkKLSAgICAgICAgbW92cSAgVFJBUEJPVU5DRV9laXAoJXJkeCksJXJheAotICAg ICAgICB0ZXN0cSAlcmF4LCVyYXgKLVVOTElLRUxZX1NUQVJUKHosIGNyZWF0ZV9ib3VuY2VfZnJh bWVfYmFkX2JvdW5jZV9pcCkKLSAgICAgICAgbGVhICAgVU5MSUtFTFlfRElTUEFUQ0hfTEFCRUwo Y3JlYXRlX2JvdW5jZV9mcmFtZV9iYWRfYm91bmNlX2lwKSglcmlwKSwgJXJkaQotICAgICAgICBq bXAgICBhc21fZG9tYWluX2NyYXNoX3N5bmNocm9ub3VzICAvKiBEb2VzIG5vdCByZXR1cm4gKi8K LV9fVU5MSUtFTFlfRU5EKGNyZWF0ZV9ib3VuY2VfZnJhbWVfYmFkX2JvdW5jZV9pcCkKLSAgICAg ICAgbW92cSAgJXJheCxVUkVHU19yaXArOCglcnNwKQotICAgICAgICByZXQKLQotICAgICAgICAu cHVzaHNlY3Rpb24gLmZpeHVwLCAiYXgiLCBAcHJvZ2JpdHMKLSAgICAgICAgIyBOdW1lcmljIHRh Z3MgYmVsb3cgcmVwcmVzZW50IHRoZSBpbnRlbmRlZCBvdmVyYWxsICVyc2kgYWRqdXN0bWVudC4K LWRvbWFpbl9jcmFzaF9wYWdlX2ZhdWx0XzZ4ODoKLSAgICAgICAgYWRkcSAgJDgsJXJzaQotZG9t YWluX2NyYXNoX3BhZ2VfZmF1bHRfNXg4OgotICAgICAgICBhZGRxICAkOCwlcnNpCi1kb21haW5f Y3Jhc2hfcGFnZV9mYXVsdF80eDg6Ci0gICAgICAgIGFkZHEgICQ4LCVyc2kKLWRvbWFpbl9jcmFz aF9wYWdlX2ZhdWx0XzN4ODoKLSAgICAgICAgYWRkcSAgJDgsJXJzaQotZG9tYWluX2NyYXNoX3Bh Z2VfZmF1bHRfMng4OgotICAgICAgICBhZGRxICAkOCwlcnNpCi1kb21haW5fY3Jhc2hfcGFnZV9m YXVsdF8xeDg6Ci0gICAgICAgIGFkZHEgICQ4LCVyc2kKLWRvbWFpbl9jcmFzaF9wYWdlX2ZhdWx0 XzB4ODoKLSAgICAgICAgQVNNX0NMQUMKLSAgICAgICAgbW92cSAgJXJzaSwlcmRpCi0gICAgICAg IGNhbGwgIHNob3dfcGFnZV93YWxrCi1FTlRSWShkb21fY3Jhc2hfc3luY19leHRhYmxlKQotICAg ICAgICBBU01fQ0xBQwotICAgICAgICAjIEdldCBvdXQgb2YgdGhlIGd1ZXN0LXNhdmUgYXJlYSBv ZiB0aGUgc3RhY2suCi0gICAgICAgIEdFVF9TVEFDS19FTkQoYXgpCi0gICAgICAgIGxlYXEgIFNU QUNLX0NQVUlORk9fRklFTEQoZ3Vlc3RfY3B1X3VzZXJfcmVncykoJXJheCksJXJzcAotICAgICAg ICAjIGNyZWF0ZV9ib3VuY2VfZnJhbWUoKSB0ZW1wb3JhcmlseSBjbG9iYmVycyBDUy5SUEwuIEZp eCB1cC4KLSAgICAgICAgX19HRVRfQ1VSUkVOVChheCkKLSAgICAgICAgbW92cSAgVkNQVV9kb21h aW4oJXJheCksJXJheAotICAgICAgICB0ZXN0YiAkMSxET01BSU5faXNfMzJiaXRfcHYoJXJheCkK LSAgICAgICAgc2V0eiAgJWFsCi0gICAgICAgIGxlYWwgICglcmF4LCVyYXgsMiksJWVheAotICAg ICAgICBvcmIgICAlYWwsVVJFR1NfY3MoJXJzcCkKLSAgICAgICAgeG9ybCAgJWVkaSwlZWRpCi0g ICAgICAgIGptcCAgIGFzbV9kb21haW5fY3Jhc2hfc3luY2hyb25vdXMgLyogRG9lcyBub3QgcmV0 dXJuICovCi0gICAgICAgIC5wb3BzZWN0aW9uCi0KIEVOVFJZKGNvbW1vbl9pbnRlcnJ1cHQpCiAg ICAgICAgIFNBVkVfQUxMIENMQUMKICAgICAgICAgQ1I0X1BWMzJfUkVTVE9SRQpAQCAtNTA2LDgg KzM3Niw3IEBAIGhhbmRsZV9leGNlcHRpb25fc2F2ZWQ6CiAgICAgICAgIHRlc3RiICRUQkZfRVhD RVBUSU9OLFRSQVBCT1VOQ0VfZmxhZ3MoJXJkeCkKICAgICAgICAganogICAgdGVzdF9hbGxfZXZl bnRzCiAuTGJvdW5jZV9leGNlcHRpb246Ci0gICAgICAgIGNhbGwgIGNyZWF0ZV9ib3VuY2VfZnJh bWUKLSAgICAgICAgbW92YiAgJDAsVFJBUEJPVU5DRV9mbGFncyglcmR4KQorICAgICAgICBjYWxs ICBwdl9jcmVhdGVfZXhjZXB0aW9uX2ZyYW1lCiAgICAgICAgIGptcCAgIHRlc3RfYWxsX2V2ZW50 cwogCiAvKiBObyBzcGVjaWFsIHJlZ2lzdGVyIGFzc3VtcHRpb25zLiAqLwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUveGVuL3NjaGVkLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAppbmRleCAx MTI3Y2E5Li5hMGVmNjNhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaApAQCAtNjMyLDEzICs2MzIsNiBAQCB2b2lkIG5vcmV0 dXJuIF9fZG9tYWluX2NyYXNoX3N5bmNocm9ub3VzKHZvaWQpOwogICAgIF9fZG9tYWluX2NyYXNo X3N5bmNocm9ub3VzKCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CiB9IHdoaWxlICgwKQogCi0vKgotICogQ2FsbGVkIGZyb20gYXNzZW1ibHkgY29kZSwgd2l0aCBh biBvcHRpb25hbCBhZGRyZXNzIHRvIGhlbHAgaW5kaWNhdGUgd2h5Ci0gKiB0aGUgY3Jhc2ggb2Nj dXJlZC4gIElmIGFkZHIgaXMgMCwgbG9vayB1cCBhZGRyZXNzIGZyb20gbGFzdCBleHRhYmxlCi0g KiByZWRpcmVjdGlvbi4KLSAqLwotdm9pZCBub3JldHVybiBhc21fZG9tYWluX2NyYXNoX3N5bmNo cm9ub3VzKHVuc2lnbmVkIGxvbmcgYWRkcik7Ci0KICNkZWZpbmUgc2V0X2N1cnJlbnRfc3RhdGUo X3MpIGRvIHsgY3VycmVudC0+c3RhdGUgPSAoX3MpOyB9IHdoaWxlICgwKQogdm9pZCBzY2hlZHVs ZXJfaW5pdCh2b2lkKTsKIGludCAgc2NoZWRfaW5pdF92Y3B1KHN0cnVjdCB2Y3B1ICp2LCB1bnNp Z25lZCBpbnQgcHJvY2Vzc29yKTsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==