From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: [PATCH v3 1/2] xen/kbdif: update protocol documentation Date: Wed, 8 Feb 2017 09:38:17 +0200 Message-ID: <1486539498-381-2-git-send-email-andr2000@gmail.com> References: <1486539498-381-1-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbMpj-0001yX-UL for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 07:38:32 +0000 Received: by mail-wr0-f195.google.com with SMTP id 89so7894539wrr.1 for ; Tue, 07 Feb 2017 23:38:30 -0800 (PST) In-Reply-To: <1486539498-381-1-git-send-email-andr2000@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: sstabellini@kernel.org, vlad.babchuk@gmail.com, Oleksandr Andrushchenko , andrii.anisov@gmail.com, olekstysh@gmail.com, andr2000@gmail.com, al1img@gmail.com, joculator@gmail.com List-Id: xen-devel@lists.xenproject.org RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw YW0uY29tPgoKVXBkYXRlIHByb3RvY29sIGRvY3VtZW50YXRpb24gd2l0aCBiZXR0ZXIgZGVzY3Jp cHRpb24KYW5kIEFTQ0lJIGJveCBub3RhdGlvbiBvZiB0aGUgc3RydWN0dXJlcy4gQWRkIGRlc2Ny aXB0aW9uCmZvciBYZW4gc3RvcmUgZW50cmllcywgaW50cm9kdWNlIGhlbHBlciBzdHJpbmcgY29u c3RhbnRzLgoKUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz4KUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtA b3JhY2xlLmNvbT4KU2lnbmVkLW9mZi1ieTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtz YW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPgotLS0KIHhlbi9pbmNsdWRlL3B1YmxpYy9pby9r YmRpZi5oIHwgMjQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQog MSBmaWxlIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8va2JkaWYuaCBiL3hlbi9pbmNsdWRlL3B1Ymxp Yy9pby9rYmRpZi5oCmluZGV4IDJkMmFlYmRkM2YyOC4uNDQ2YWVkMjQ3OGI1IDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8va2JkaWYuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMv aW8va2JkaWYuaApAQCAtMjYsNDYgKzI2LDIyNiBAQAogI2lmbmRlZiBfX1hFTl9QVUJMSUNfSU9f S0JESUZfSF9fCiAjZGVmaW5lIF9fWEVOX1BVQkxJQ19JT19LQkRJRl9IX18KIAotLyogSW4gZXZl bnRzIChiYWNrZW5kIC0+IGZyb250ZW5kKSAqLworLyoKKyAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgor ICogICAgICAgICAgICAgICAgICAgICBGZWF0dXJlIGFuZCBQYXJhbWV0ZXIgTmVnb3RpYXRpb24K KyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIFRoZSB0d28gaGFsdmVzIG9mIGEgcGFyYS12 aXJ0dWFsIGRyaXZlciB1dGlsaXplIG5vZGVzIHdpdGhpbgorICogWGVuU3RvcmUgdG8gY29tbXVu aWNhdGUgY2FwYWJpbGl0aWVzIGFuZCB0byBuZWdvdGlhdGUgb3BlcmF0aW5nIHBhcmFtZXRlcnMu CisgKiBUaGlzIHNlY3Rpb24gZW51bWVyYXRlcyB0aGVzZSBub2RlcyB3aGljaCByZXNpZGUgaW4g dGhlIHJlc3BlY3RpdmUgZnJvbnQgYW5kCisgKiBiYWNrZW5kIHBvcnRpb25zIG9mIFhlblN0b3Jl LCBmb2xsb3dpbmcgWGVuQnVzIGNvbnZlbnRpb24uCisgKgorICogQWxsIGRhdGEgaW4gWGVuU3Rv cmUgaXMgc3RvcmVkIGFzIHN0cmluZ3MuICBOb2RlcyBzcGVjaWZ5aW5nIG51bWVyaWMKKyAqIHZh bHVlcyBhcmUgZW5jb2RlZCBpbiBkZWNpbWFsLiBJbnRlZ2VyIHZhbHVlIHJhbmdlcyBsaXN0ZWQg YmVsb3cgYXJlCisgKiBleHByZXNzZWQgYXMgZml4ZWQgc2l6ZWQgaW50ZWdlciB0eXBlcyBjYXBh YmxlIG9mIHN0b3JpbmcgdGhlIGNvbnZlcnNpb24KKyAqIG9mIGEgcHJvcGVybHkgZm9ybWF0ZWQg bm9kZSBzdHJpbmcsIHdpdGhvdXQgbG9zcyBvZiBpbmZvcm1hdGlvbi4KKyAqCisgKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhY2tlbmQgWGVuQnVz IE5vZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0gRmVhdHVyZXMgc3VwcG9ydGVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K KyAqCisgKiBDYXBhYmxlIGJhY2tlbmQgYWR2ZXJ0aXNlcyBzdXBwb3J0ZWQgZmVhdHVyZXMgYnkg cHVibGlzaGluZworICogY29ycmVzcG9uZGluZyBlbnRyaWVzIGluIFhlblN0b3JlIGFuZCBwdXRz IDEgYXMgdGhlIHZhbHVlIG9mIHRoZSBlbnRyeS4KKyAqIElmIGEgZmVhdHVyZSBpcyBub3Qgc3Vw cG9ydGVkIHRoZW4gMCBtdXN0IGJlIHNldCBvciBmZWF0dXJlIGVudHJ5IG9taXR0ZWQuCisgKgor ICogZmVhdHVyZS1hYnMtcG9pbnRlcgorICogICAgICBWYWx1ZXM6ICAgICAgICAgPHVpbnQ+Cisg KgorICogICAgICBCYWNrZW5kcywgd2hpY2ggc3VwcG9ydCByZXBvcnRpbmcgb2YgYWJzb2x1dGUg Y29vcmRpbmF0ZXMgZm9yIHBvaW50ZXIKKyAqICAgICAgZGV2aWNlIHNob3VsZCBzZXQgdGhpcyB0 byAxLgorICoKKyAqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQb2ludGVyIERldmljZSBQYXJh bWV0ZXJzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICoKKyAqIHdpZHRoCisgKiAgICAgIFZh bHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE1heGltdW0gWCBjb29yZGluYXRlICh3 aWR0aCkgdG8gYmUgdXNlZCBieSB0aGUgZnJvbnRlbmQKKyAqICAgICAgd2hpbGUgcmVwb3J0aW5n IGlucHV0IGV2ZW50cywgcGl4ZWxzLCBbMDsgVUlOVDMyX01BWF0uCisgKgorICogaGVpZ2h0Cisg KiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE1heGltdW0gWSBjb29y ZGluYXRlIChoZWlnaHQpIHRvIGJlIHVzZWQgYnkgdGhlIGZyb250ZW5kCisgKiAgICAgIHdoaWxl IHJlcG9ydGluZyBpbnB1dCBldmVudHMsIHBpeGVscywgWzA7IFVJTlQzMl9NQVhdLgorICoKKyAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgRnJvbnRl bmQgWGVuQnVzIE5vZGVzCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqCisgKi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSBGZWF0dXJlIHJlcXVlc3QgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAqCisgKiBDYXBhYmxlIGZyb250ZW5kIHJlcXVlc3RzIGZlYXR1cmVzIGZyb20g YmFja2VuZCB2aWEgc2V0dGluZyBjb3JyZXNwb25kaW5nCisgKiBlbnRyaWVzIHRvIDEgaW4gWGVu U3RvcmUuIFJlcXVlc3RzIGZvciBmZWF0dXJlcyBub3QgYWR2ZXJ0aXNlZCBhcyBzdXBwb3J0ZWQK KyAqIGJ5IHRoZSBiYWNrZW5kIGhhdmUgbm8gZWZmZWN0LgorICoKKyAqIHJlcXVlc3QtYWJzLXBv aW50ZXIKKyAqICAgICAgVmFsdWVzOiAgICAgICAgIDx1aW50PgorICoKKyAqICAgICAgUmVxdWVz dCBiYWNrZW5kIHRvIHJlcG9ydCBhYnNvbHV0ZSBwb2ludGVyIGNvb3JkaW5hdGVzCisgKiAgICAg IChYRU5LQkRfVFlQRV9QT1MpIGluc3RlYWQgb2YgcmVsYXRpdmUgb25lcyAoWEVOS0JEX1RZUEVf TU9USU9OKS4KKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFJlcXVlc3QgVHJhbnNwb3J0 IFBhcmFtZXRlcnMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqCisgKiBldmVudC1jaGFubmVs CisgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFRoZSBpZGVudGlm aWVyIG9mIHRoZSBYZW4gZXZlbnQgY2hhbm5lbCB1c2VkIHRvIHNpZ25hbCBhY3Rpdml0eQorICog ICAgICBpbiB0aGUgcmluZyBidWZmZXIuCisgKgorICogcGFnZS1ncmVmCisgKiAgICAgIFZhbHVl czogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIFRoZSBYZW4gZ3JhbnQgcmVmZXJlbmNlIGdy YW50aW5nIHBlcm1pc3Npb24gZm9yIHRoZSBiYWNrZW5kIHRvIG1hcAorICogICAgICBhIHNvbGUg cGFnZSBpbiBhIHNpbmdsZSBwYWdlIHNpemVkIGV2ZW50IHJpbmcgYnVmZmVyLgorICoKKyAqIHBh Z2UtcmVmCisgKiAgICAgIFZhbHVlczogICAgICAgICA8dWludD4KKyAqCisgKiAgICAgIE9CU09M RVRFLCBub3QgcmVjb21tZW5kZWQgZm9yIHVzZS4KKyAqICAgICAgUEZOIG9mIHRoZSBzaGFyZWQg cGFnZS4KKyAqLwogCiAvKgotICogRnJvbnRlbmRzIHNob3VsZCBpZ25vcmUgdW5rbm93biBpbiBl dmVudHMuCisgKiBFVkVOVCBDT0RFUy4KICAqLwogCi0vKiBQb2ludGVyIG1vdmVtZW50IGV2ZW50 ICovCi0jZGVmaW5lIFhFTktCRF9UWVBFX01PVElPTiAgMQotLyogRXZlbnQgdHlwZSAyIGN1cnJl bnRseSBub3QgdXNlZCAqLwotLyogS2V5IGV2ZW50IChpbmNsdWRlcyBwb2ludGVyIGJ1dHRvbnMp ICovCi0jZGVmaW5lIFhFTktCRF9UWVBFX0tFWSAgICAgMworI2RlZmluZSBYRU5LQkRfVFlQRV9N T1RJT04gICAgICAgICAgICAgMQorI2RlZmluZSBYRU5LQkRfVFlQRV9SRVNFUlZFRCAgICAgICAg ICAgMgorI2RlZmluZSBYRU5LQkRfVFlQRV9LRVkgICAgICAgICAgICAgICAgMworI2RlZmluZSBY RU5LQkRfVFlQRV9QT1MgICAgICAgICAgICAgICAgNAorCiAvKgotICogUG9pbnRlciBwb3NpdGlv biBldmVudAotICogQ2FwYWJsZSBiYWNrZW5kIHNldHMgZmVhdHVyZS1hYnMtcG9pbnRlciBpbiB4 ZW5zdG9yZS4KLSAqIEZyb250ZW5kIHJlcXVlc3RzIG90IGluc3RlYWQgb2YgWEVOS0JEX1RZUEVf TU9USU9OIGJ5IHNldHRpbmcKLSAqIHJlcXVlc3QtYWJzLXVwZGF0ZSBpbiB4ZW5zdG9yZS4KKyAq IENPTlNUQU5UUywgWEVOU1RPUkUgRklFTEQgQU5EIFBBVEggTkFNRSBTVFJJTkdTLCBIRUxQRVJT LgorICovCisKKyNkZWZpbmUgWEVOS0JEX0RSSVZFUl9OQU1FICAgICAgICAgICAgICJ2a2JkIgor CisjZGVmaW5lIFhFTktCRF9GSUVMRF9GRUFUX0FCU19QT0lOVEVSICAiZmVhdHVyZS1hYnMtcG9p bnRlciIKKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX1JFUV9BQlNfUE9JTlRFUiAgICJyZXF1ZXN0LWFi cy1wb2ludGVyIgorI2RlZmluZSBYRU5LQkRfRklFTERfUklOR19HUkVGICAgICAgICAgInBhZ2Ut Z3JlZiIKKyNkZWZpbmUgWEVOS0JEX0ZJRUxEX0VWVF9DSEFOTkVMICAgICAgICJldmVudC1jaGFu bmVsIgorI2RlZmluZSBYRU5LQkRfRklFTERfV0lEVEggICAgICAgICAgICAgIndpZHRoIgorI2Rl ZmluZSBYRU5LQkRfRklFTERfSEVJR0hUICAgICAgICAgICAgImhlaWdodCIKKworLyogT0JTT0xF VEUsIG5vdCByZWNvbW1lbmRlZCBmb3IgdXNlICovCisjZGVmaW5lIFhFTktCRF9GSUVMRF9SSU5H X1JFRiAgICAgICAgICAicGFnZS1yZWYiCisKKy8qCisgKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAq IERlc2NyaXB0aW9uIG9mIHRoZSBwcm90b2NvbCBiZXR3ZWVuIGZyb250ZW5kIGFuZCBiYWNrZW5k IGRyaXZlci4KKyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICoKKyAqIFRoZSB0d28gaGFsdmVzIG9m IGEgUGFyYS12aXJ0dWFsIGRyaXZlciBjb21tdW5pY2F0ZSB3aXRoCisgKiBlYWNoIG90aGVyIHVz aW5nIGEgc2hhcmVkIHBhZ2UgYW5kIGFuIGV2ZW50IGNoYW5uZWwuCisgKiBTaGFyZWQgcGFnZSBj b250YWlucyBhIHJpbmcgd2l0aCBldmVudCBzdHJ1Y3R1cmVzLgorICoKKyAqIEFsbCByZXNlcnZl ZCBmaWVsZHMgaW4gdGhlIHN0cnVjdHVyZXMgYmVsb3cgbXVzdCBiZSAwLgorICoKKyAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICBCYWNrZW5kIHRvIGZy b250ZW5kIGV2ZW50cworICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICogRnJvbnRlbmRzIHNo b3VsZCBpZ25vcmUgdW5rbm93biBpbiBldmVudHMuCisgKiBBbGwgZXZlbnQgcGFja2V0cyBoYXZl IHRoZSBzYW1lIGxlbmd0aCAoNDAgb2N0ZXRzKQorICogQWxsIGV2ZW50IHBhY2tldHMgaGF2ZSBj b21tb24gaGVhZGVyOgorICoKKyAqICAgICAgICAgIDAgICAgICAgICBvY3RldAorICogKy0tLS0t LS0tLS0tLS0tLS0tKworICogfCAgICAgICB0eXBlICAgICAgfAorICogKy0tLS0tLS0tLS0tLS0t LS0tKworICogdHlwZSAtIHVpbnQ4X3QsIGV2ZW50IGNvZGUsIFhFTktCRF9UWVBFXz8/PworICoK KyAqCisgKiBQb2ludGVyIHJlbGF0aXZlIG1vdmVtZW50IGV2ZW50CisgKiAgICAgICAgIDAgICAg ICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgMiAgICAgICAgICAgICAgIDMgICAgICAgIG9j dGV0CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgIF9UWVBFX01PVElPTiAgfCAgICAgICAgICAgICAg ICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgfCA0CisgKiArLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsK KyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsX3ggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCA4CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVsX3kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxMgor ICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbF96 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTYKKyAqICstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICog fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8IDIwCisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvfAorICogKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDAKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIHJl bF94IC0gaW50MzJfdCwgcmVsYXRpdmUgWCBtb3Rpb24KKyAqIHJlbF95IC0gaW50MzJfdCwgcmVs YXRpdmUgWSBtb3Rpb24KKyAqIHJlbF96IC0gaW50MzJfdCwgcmVsYXRpdmUgWiBtb3Rpb24gKHdo ZWVsKQogICovCi0jZGVmaW5lIFhFTktCRF9UWVBFX1BPUyAgICAgNAogCiBzdHJ1Y3QgeGVua2Jk X21vdGlvbgogewotICAgIHVpbnQ4X3QgdHlwZTsgICAgICAgIC8qIFhFTktCRF9UWVBFX01PVElP TiAqLwotICAgIGludDMyX3QgcmVsX3g7ICAgICAgIC8qIHJlbGF0aXZlIFggbW90aW9uICovCi0g ICAgaW50MzJfdCByZWxfeTsgICAgICAgLyogcmVsYXRpdmUgWSBtb3Rpb24gKi8KLSAgICBpbnQz Ml90IHJlbF96OyAgICAgICAvKiByZWxhdGl2ZSBaIG1vdGlvbiAod2hlZWwpICovCisgICAgdWlu dDhfdCB0eXBlOworICAgIGludDMyX3QgcmVsX3g7CisgICAgaW50MzJfdCByZWxfeTsKKyAgICBp bnQzMl90IHJlbF96OwogfTsKIAorLyoKKyAqIEtleSBldmVudCAoaW5jbHVkZXMgcG9pbnRlciBi dXR0b25zKQorICogICAgICAgICAwICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAgICAgIDIg ICAgICAgICAgICAgICAzICAgICAgICBvY3RldAorICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICBfVFlQ RV9LRVkgICAgIHwgICAgIHByZXNzZWQgICAgfCAgICAgICAgICAgIHJlc2VydmVkICAgICAgICAg ICAgIHwgNAorICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAga2V5Y29kZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOAorICogKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNlcnZlZCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgMTIKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC98 CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2Vy dmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAorICogKy0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCisg KgorICogcHJlc3NlZCAtIHVpbnQ4X3QsIDEgaWYgcHJlc3NlZDsgMCBvdGhlcndpc2UKKyAqIGtl eWNvZGUgLSB1aW50MzJfdCwgS0VZXyogZnJvbSBsaW51eC9pbnB1dC5oCisgKi8KKwogc3RydWN0 IHhlbmtiZF9rZXkKIHsKLSAgICB1aW50OF90IHR5cGU7ICAgICAgICAgLyogWEVOS0JEX1RZUEVf S0VZICovCi0gICAgdWludDhfdCBwcmVzc2VkOyAgICAgIC8qIDEgaWYgcHJlc3NlZDsgMCBvdGhl cndpc2UgKi8KLSAgICB1aW50MzJfdCBrZXljb2RlOyAgICAgLyogS0VZXyogZnJvbSBsaW51eC9p bnB1dC5oICovCisgICAgdWludDhfdCB0eXBlOworICAgIHVpbnQ4X3QgcHJlc3NlZDsKKyAgICB1 aW50MzJfdCBrZXljb2RlOwogfTsKIAorLyoKKyAqIFBvaW50ZXIgYWJzb2x1dGUgcG9zaXRpb24g ZXZlbnQKKyAqICAgICAgICAgMCAgICAgICAgICAgICAgICAxICAgICAgICAgICAgICAgICAyICAg ICAgICAgICAgICAgMyAgICAgICAgb2N0ZXQKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfCAgX1RZUEVf UE9TICAgICB8ICAgICAgICAgICAgICAgICAgICAgcmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAg ICB8IDQKKyAqICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhYnNfeCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDgKKyAqICstLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t KworICogfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYnNfeSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDEyCisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmVsX3ogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAx NgorICogKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNl cnZlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjAKKyAqICstLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwor ICogfC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wv XC9cL1wvXC9cL1wvXC98CisgKiArLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsKKyAqIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJlc2VydmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCA0MAorICog Ky0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0rCisgKgorICogYWJzX3ggLSBpbnQzMl90LCBhYnNvbHV0ZSBYIHBvc2l0aW9u IChpbiBGQiBwaXhlbHMpCisgKiBhYnNfeSAtIGludDMyX3QsIGFic29sdXRlIFkgcG9zaXRpb24g KGluIEZCIHBpeGVscykKKyAqIHJlbF96IC0gaW50MzJfdCwgcmVsYXRpdmUgWiBtb3Rpb24gKHdo ZWVsKQorICovCisKIHN0cnVjdCB4ZW5rYmRfcG9zaXRpb24KIHsKLSAgICB1aW50OF90IHR5cGU7 ICAgICAgICAvKiBYRU5LQkRfVFlQRV9QT1MgKi8KLSAgICBpbnQzMl90IGFic194OyAgICAgICAv KiBhYnNvbHV0ZSBYIHBvc2l0aW9uIChpbiBGQiBwaXhlbHMpICovCi0gICAgaW50MzJfdCBhYnNf eTsgICAgICAgLyogYWJzb2x1dGUgWSBwb3NpdGlvbiAoaW4gRkIgcGl4ZWxzKSAqLwotICAgIGlu dDMyX3QgcmVsX3o7ICAgICAgIC8qIHJlbGF0aXZlIFogbW90aW9uICh3aGVlbCkgKi8KKyAgICB1 aW50OF90IHR5cGU7CisgICAgaW50MzJfdCBhYnNfeDsKKyAgICBpbnQzMl90IGFic195OworICAg IGludDMyX3QgcmVsX3o7CiB9OwogCiAjZGVmaW5lIFhFTktCRF9JTl9FVkVOVF9TSVpFIDQwCkBA IC03OSwxMiArMjU5LDIyIEBAIHVuaW9uIHhlbmtiZF9pbl9ldmVudAogICAgIGNoYXIgcGFkW1hF TktCRF9JTl9FVkVOVF9TSVpFXTsKIH07CiAKLS8qIE91dCBldmVudHMgKGZyb250ZW5kIC0+IGJh Y2tlbmQpICovCi0KIC8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZyb250ZW5kIHRvIGJhY2tlbmQgZXZlbnRzCisgKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAqCiAgKiBPdXQgZXZlbnRzIG1heSBiZSBzZW50IG9ubHkgd2hlbiByZXF1ZXN0ZWQg YnkgYmFja2VuZCwgYW5kIHJlY2VpcHQKICAqIG9mIGFuIHVua25vd24gb3V0IGV2ZW50IGlzIGFu IGVycm9yLgogICogTm8gb3V0IGV2ZW50cyBjdXJyZW50bHkgZGVmaW5lZC4KKworICogQWxsIGV2 ZW50IHBhY2tldHMgaGF2ZSB0aGUgc2FtZSBsZW5ndGggKDQwIG9jdGV0cykKKyAqIEFsbCBldmVu dCBwYWNrZXRzIGhhdmUgY29tbW9uIGhlYWRlcjoKKyAqICAgICAgICAgIDAgICAgICAgICBvY3Rl dAorICogKy0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICB0eXBlICAgICAgfAorICogKy0t LS0tLS0tLS0tLS0tLS0tKworICogdHlwZSAtIHVpbnQ4X3QsIGV2ZW50IGNvZGUKICAqLwogCiAj ZGVmaW5lIFhFTktCRF9PVVRfRVZFTlRfU0laRSA0MApAQCAtOTUsNyArMjg1LDExIEBAIHVuaW9u IHhlbmtiZF9vdXRfZXZlbnQKICAgICBjaGFyIHBhZFtYRU5LQkRfT1VUX0VWRU5UX1NJWkVdOwog fTsKIAotLyogc2hhcmVkIHBhZ2UgKi8KKy8qCisgKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyAqICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNoYXJlZCBwYWdlCisgKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioKKyAqLwogCiAjZGVmaW5lIFhFTktCRF9JTl9SSU5HX1NJWkUgMjA0OAogI2RlZmluZSBYRU5L QkRfSU5fUklOR19MRU4gKFhFTktCRF9JTl9SSU5HX1NJWkUgLyBYRU5LQkRfSU5fRVZFTlRfU0la RSkKQEAgLTExOSw3ICszMTMsNyBAQCBzdHJ1Y3QgeGVua2JkX3BhZ2UKICAgICB1aW50MzJfdCBv dXRfY29ucywgb3V0X3Byb2Q7CiB9OwogCi0jZW5kaWYKKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNf SU9fS0JESUZfSF9fICovCiAKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjcuNAoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3Jn L3hlbi1kZXZlbAo=