From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51783) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgzUU-000218-Ce for qemu-devel@nongnu.org; Mon, 05 Sep 2016 15:23:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bgzUQ-0005Wi-3C for qemu-devel@nongnu.org; Mon, 05 Sep 2016 15:23:33 -0400 Resent-Message-Id: Received: from sender163-mail.zoho.com ([74.201.84.163]:24600) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bgzUP-0005WS-N4 for qemu-devel@nongnu.org; Mon, 05 Sep 2016 15:23:30 -0400 Reply-To: In-Reply-To: <147310178240.10840.14758930096407696981.stgit@fimbulvetr.bsc.es> Message-ID: <20160905192304.373180.22164@ex-std-node742.prod.rhcloud.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 From: no-reply@patchew.org Date: Mon, 5 Sep 2016 12:23:20 -0700 (PDT) Subject: Re: [Qemu-devel] [PATCH v2 0/6] hypertrace: Lightweight guest-to-QEMU trace channel List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: vilanova@ac.upc.edu Cc: famz@redhat.com, qemu-devel@nongnu.org, stefanha@redhat.com, lcapitulino@redhat.com SGksCgpZb3VyIHNlcmllcyBzZWVtcyB0byBoYXZlIHNvbWUgY29kaW5nIHN0eWxlIHByb2JsZW1z LiBTZWUgb3V0cHV0IGJlbG93IGZvcgptb3JlIGluZm9ybWF0aW9uOgoKU3ViamVjdDogW1FlbXUt ZGV2ZWxdIFtQQVRDSCB2MiAwLzZdIGh5cGVydHJhY2U6IExpZ2h0d2VpZ2h0IGd1ZXN0LXRvLVFF TVUgdHJhY2UgY2hhbm5lbApUeXBlOiBzZXJpZXMKTWVzc2FnZS1pZDogMTQ3MzEwMTc4MjQwLjEw ODQwLjE0NzU4OTMwMDk2NDA3Njk2OTgxLnN0Z2l0QGZpbWJ1bHZldHIuYnNjLmVzCgo9PT0gVEVT VCBTQ1JJUFQgQkVHSU4gPT09CiMhL2Jpbi9iYXNoCgpCQVNFPWJhc2UKbj0xCnRvdGFsPSQoZ2l0 IGxvZyAtLW9uZWxpbmUgJEJBU0UuLiB8IHdjIC1sKQpmYWlsZWQ9MAoKIyBVc2VmdWwgZ2l0IG9w dGlvbnMKZ2l0IGNvbmZpZyAtLWxvY2FsIGRpZmYucmVuYW1lbGltaXQgMApnaXQgY29uZmlnIC0t bG9jYWwgZGlmZi5yZW5hbWVzIFRydWUKCmNvbW1pdHM9IiQoZ2l0IGxvZyAtLWZvcm1hdD0lSCAt LXJldmVyc2UgJEJBU0UuLikiCmZvciBjIGluICRjb21taXRzOyBkbwogICAgZWNobyAiQ2hlY2tp bmcgUEFUQ0ggJG4vJHRvdGFsOiAkKGdpdCBzaG93IC0tbm8tcGF0Y2ggLS1mb3JtYXQ9JXMgJGMp Li4uIgogICAgaWYgISBnaXQgc2hvdyAkYyAtLWZvcm1hdD1lbWFpbCB8IC4vc2NyaXB0cy9jaGVj a3BhdGNoLnBsIC0tbWFpbGJhY2sgLTsgdGhlbgogICAgICAgIGZhaWxlZD0xCiAgICAgICAgZWNo bwogICAgZmkKICAgIG49JCgobisxKSkKZG9uZQoKZXhpdCAkZmFpbGVkCj09PSBURVNUIFNDUklQ VCBFTkQgPT09CgpVcGRhdGluZyAzYzhjZjVhOWMyMWZmODc4MjE2NGQxZGVmN2Y0NGJkODg4NzEz Mzg0CkZyb20gaHR0cHM6Ly9naXRodWIuY29tL3BhdGNoZXctcHJvamVjdC9xZW11CiAqIFtuZXcg dGFnXSAgICAgICAgIHBhdGNoZXcvMTQ3MzA5OTIzNC0xMDg4Mi0xLWdpdC1zZW5kLWVtYWlsLWt3 b2xmQHJlZGhhdC5jb20gLT4gcGF0Y2hldy8xNDczMDk5MjM0LTEwODgyLTEtZ2l0LXNlbmQtZW1h aWwta3dvbGZAcmVkaGF0LmNvbQogKiBbbmV3IHRhZ10gICAgICAgICBwYXRjaGV3LzE0NzMxMDE3 ODI0MC4xMDg0MC4xNDc1ODkzMDA5NjQwNzY5Njk4MS5zdGdpdEBmaW1idWx2ZXRyLmJzYy5lcyAt PiBwYXRjaGV3LzE0NzMxMDE3ODI0MC4xMDg0MC4xNDc1ODkzMDA5NjQwNzY5Njk4MS5zdGdpdEBm aW1idWx2ZXRyLmJzYy5lcwogKiBbbmV3IHRhZ10gICAgICAgICBwYXRjaGV3L2FscGluZS5ERUIu Mi4xMC4xNjA5MDUxMTU5MTUwLjQxMDVAc3N0YWJlbGxpbmktVGhpbmtQYWQtWDI2MCAtPiBwYXRj aGV3L2FscGluZS5ERUIuMi4xMC4xNjA5MDUxMTU5MTUwLjQxMDVAc3N0YWJlbGxpbmktVGhpbmtQ YWQtWDI2MApTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJ3Rlc3QnCjBiN2VmMTggaHlwZXJ0cmFj ZTogQWRkIGd1ZXN0LXNpZGUgTGludXggbW9kdWxlCjFjNjZjYmQgaHlwZXJ0cmFjZTogQWRkIGd1 ZXN0LXNpZGUgdXNlci1sZXZlbCBsaWJyYXJ5CmI2N2VmMzEgaHlwZXJ0cmFjZTogW3NvZnRtbXVd IEFkZCBRRU1VLXNpZGUgcHJveHkgdG8gImd1ZXN0X2h5cGVydHJhY2UiIGV2ZW50CjUzNmM2NmMg aHlwZXJ0cmFjZTogWyotdXNlcl0gQWRkIFFFTVUtc2lkZSBwcm94eSB0byAiZ3Vlc3RfaHlwZXJ0 cmFjZSIgZXZlbnQKODg2MWNlMiBoeXBlcnRyYWNlOiBBZGQgdHJhY2luZyBldmVudCAiZ3Vlc3Rf aHlwZXJ0cmFjZSIKYmM2OGUwYiBoeXBlcnRyYWNlOiBBZGQgZG9jdW1lbnRhdGlvbgoKPT09IE9V VFBVVCBCRUdJTiA9PT0KQ2hlY2tpbmcgUEFUQ0ggMS82OiBoeXBlcnRyYWNlOiBBZGQgZG9jdW1l bnRhdGlvbi4uLgpFUlJPUjogdHJhaWxpbmcgd2hpdGVzcGFjZQojMTA5OiBGSUxFOiBkb2NzL2h5 cGVydHJhY2UudHh0OjkyOgorICAgICQKCkVSUk9SOiB0cmFpbGluZyB3aGl0ZXNwYWNlCiMxMTA6 IEZJTEU6IGRvY3MvaHlwZXJ0cmFjZS50eHQ6OTM6CisgICAgJAoKRVJST1I6IHRyYWlsaW5nIHdo aXRlc3BhY2UKIzExNzogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4dDoxMDA6CisgICAgJAoKRVJS T1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzEyMzogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4dDox MDY6CisgICAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzEzMDogRklMRTogZG9jcy9o eXBlcnRyYWNlLnR4dDoxMTM6CisgICAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzE1 NDogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4dDoxMzc6CisgICAgJAoKRVJST1I6IHRyYWlsaW5n IHdoaXRlc3BhY2UKIzE1NjogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4dDoxMzk6CisgICAgJAoK RVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzE2MDogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4 dDoxNDM6CisgICAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UKIzE3MTogRklMRTogZG9j cy9oeXBlcnRyYWNlLnR4dDoxNTQ6CisgICAgJAoKRVJST1I6IHRyYWlsaW5nIHdoaXRlc3BhY2UK IzE4MTogRklMRTogZG9jcy9oeXBlcnRyYWNlLnR4dDoxNjQ6CisgICAgJAoKdG90YWw6IDEwIGVy cm9ycywgMCB3YXJuaW5ncywgMjM2IGxpbmVzIGNoZWNrZWQKCllvdXIgcGF0Y2ggaGFzIHN0eWxl IHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFs c2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRD SCBpbiBNQUlOVEFJTkVSUy4KCkNoZWNraW5nIFBBVENIIDIvNjogaHlwZXJ0cmFjZTogQWRkIHRy YWNpbmcgZXZlbnQgImd1ZXN0X2h5cGVydHJhY2UiLi4uCkNoZWNraW5nIFBBVENIIDMvNjogaHlw ZXJ0cmFjZTogWyotdXNlcl0gQWRkIFFFTVUtc2lkZSBwcm94eSB0byAiZ3Vlc3RfaHlwZXJ0cmFj ZSIgZXZlbnQuLi4KV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzgxOiBGSUxFOiBi c2QtdXNlci9tYWluLmM6ODY2OgorICAgICAgICAgICAgaHlwZXJ0cmFjZV9vcHRfcGFyc2Uob3B0 YXJnLCAmaHlwZXJ0cmFjZV9iYXNlLCAmaHlwZXJ0cmFjZV9tYXhfY2xpZW50cyk7CgpXQVJOSU5H OiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojMTc2OiBGSUxFOiBic2QtdXNlci9zeXNjYWxsLmM6 Mzc1OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldF90b19o b3N0X2JpdG1hc2soYXJnNCwgbW1hcF9mbGFnc190YmwpLAoKV0FSTklORzogbGluZSBvdmVyIDgw IGNoYXJhY3RlcnMKIzIwMDogRklMRTogYnNkLXVzZXIvc3lzY2FsbC5jOjQ2MzoKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRfdG9faG9zdF9iaXRtYXNrKGFy ZzQsIG1tYXBfZmxhZ3NfdGJsKSwKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMy MjQ6IEZJTEU6IGJzZC11c2VyL3N5c2NhbGwuYzo1NDA6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFyZ2V0X3RvX2hvc3RfYml0bWFzayhhcmc0LCBtbWFwX2ZsYWdz X3RibCksCgpFUlJPUjogYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2 b2lkZWQKIzMwMjogRklMRTogaHlwZXJ0cmFjZS9jb21tb24uaDoxMDoKKyNpZiAhZGVmaW5lZChf X0tFUk5FTF9fKQoKRVJST1I6IG9wZW4gYnJhY2UgJ3snIGZvbGxvd2luZyBzdHJ1Y3QgZ28gb24g dGhlIHNhbWUgbGluZQojMzA3OiBGSUxFOiBoeXBlcnRyYWNlL2NvbW1vbi5oOjE1Ogorc3RydWN0 IGh5cGVydHJhY2VfY29uZmlnCit7CgpFUlJPUjogZG8gbm90IGluaXRpYWxpc2Ugc3RhdGljcyB0 byAwIG9yIE5VTEwKIzM3MDogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6NDg6CitzdGF0aWMgY2hh ciAqY29uZmlnX3BhdGggPSBOVUxMOwoKRVJST1I6IGRvIG5vdCBpbml0aWFsaXNlIHN0YXRpY3Mg dG8gMCBvciBOVUxMCiMzNzI6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5jOjUwOgorc3RhdGljIHVp bnQ2NF90ICpxZW11X2NvbmZpZyA9IE5VTEw7CgpFUlJPUjogZG8gbm90IGluaXRpYWxpc2Ugc3Rh dGljcyB0byAwIG9yIE5VTEwKIzM3NDogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6NTI6CitzdGF0 aWMgY2hhciAqZGF0YV9wYXRoID0gTlVMTDsKCkVSUk9SOiBkbyBub3QgaW5pdGlhbGlzZSBzdGF0 aWNzIHRvIDAgb3IgTlVMTAojMzc2OiBGSUxFOiBoeXBlcnRyYWNlL3VzZXIuYzo1NDoKK3N0YXRp YyB1aW50NjRfdCAqcWVtdV9kYXRhID0gTlVMTDsKCkVSUk9SOiBkbyBub3QgaW5pdGlhbGlzZSBz dGF0aWNzIHRvIDAgb3IgTlVMTAojMzc4OiBGSUxFOiBoeXBlcnRyYWNlL3VzZXIuYzo1NjoKK3N0 YXRpYyBjaGFyICpjb250cm9sX3BhdGggPSBOVUxMOwoKRVJST1I6IGRvIG5vdCBpbml0aWFsaXNl IHN0YXRpY3MgdG8gMCBvciBOVUxMCiMzODA6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5jOjU4Ogor c3RhdGljIHVpbnQ2NF90ICpxZW11X2NvbnRyb2wgPSBOVUxMOwoKV0FSTklORzogbGluZSBvdmVy IDgwIGNoYXJhY3RlcnMKIzQwNTogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6ODM6Cit2b2lkIGh5 cGVydHJhY2Vfb3B0X3BhcnNlKGNvbnN0IGNoYXIgKm9wdGFyZywgY2hhciAqKmJhc2UsIHVuc2ln bmVkIGludCAqbWF4X2NsaWVudHNfKQoKRVJST1I6ICJmb28gKiogYmFyIiBzaG91bGQgYmUgImZv byAqKmJhciIKIzQyNzogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6MTA1OgorICAgICAgICAgICAg ICAgICAgICAgICAgIGNoYXIgKiogcGF0aCwgaW50ICpmZCwgdWludDY0X3QgKiphZGRyKQoKRVJS T1I6IGxpbmUgb3ZlciA5MCBjaGFyYWN0ZXJzCiM0OTA6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5j OjE2ODoKKyAgICBpbml0X2NoYW5uZWwoYmFzZSwgIi1jb25maWciLCBUQVJHRVRfUEFHRV9TSVpF LCAmY29uZmlnX3BhdGgsICZjb25maWdfZmQsICZxZW11X2NvbmZpZyk7CgpFUlJPUjogIihmb28q KSIgc2hvdWxkIGJlICIoZm9vICopIgojNDkxOiBGSUxFOiBoeXBlcnRyYWNlL3VzZXIuYzoxNjk6 CisgICAgcGNvbmZpZyA9IChzdHJ1Y3QgaHlwZXJ0cmFjZV9jb25maWcqKXFlbXVfY29uZmlnOwoK V0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMKIzQ5ODogRklMRTogaHlwZXJ0cmFjZS91 c2VyLmM6MTc2OgorICAgIGluaXRfY2hhbm5lbChiYXNlLCAiLWRhdGEiLCBjb25maWcuZGF0YV9z aXplLCAmZGF0YV9wYXRoLCAmZGF0YV9mZCwgJnFlbXVfZGF0YSk7CgpFUlJPUjogbGluZSBvdmVy IDkwIGNoYXJhY3RlcnMKIzUwNjogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6MTg0OgorICAgIGlu aXRfY2hhbm5lbChiYXNlLCAiLWNvbnRyb2wiLCBjb25maWcuY29udHJvbF9zaXplLCAmY29udHJv bF9wYXRoLCAmY29udHJvbF9mZCwgJnFlbXVfY29udHJvbCk7CgpFUlJPUjogZG8gbm90IGluaXRp YWxpc2Ugc3RhdGljcyB0byAwIG9yIE5VTEwKIzU0OTogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6 MjI3OgorICAgIHN0YXRpYyBib29sIGF0ZXhpdF9pbiA9IGZhbHNlOwoKV0FSTklORzogbGluZSBv dmVyIDgwIGNoYXJhY3RlcnMKIzU2NTogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6MjQzOgorYm9v bCBoeXBlcnRyYWNlX2d1ZXN0X21tYXBfY2hlY2soaW50IGZkLCB1bnNpZ25lZCBsb25nIGxlbiwg dW5zaWduZWQgbG9uZyBvZmZzZXQpCgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwoj NjAwOiBGSUxFOiBoeXBlcnRyYWNlL3VzZXIuYzoyNzg6CisgICAgcHJpbnRmKCJjcHUtPmh5cGVy dHJhY2VfY29udHJvbD0lcCAlbHUgJWx1XG4iLCBxZW11X2FkZHIsIHMuc3RfZGV2LCBzLnN0X2lu byk7CgpXQVJOSU5HOiBsaW5lIG92ZXIgODAgY2hhcmFjdGVycwojNjAyOiBGSUxFOiBoeXBlcnRy YWNlL3VzZXIuYzoyODA6CisgICAgaWYgKG1wcm90ZWN0KHZjcHUtPmh5cGVydHJhY2VfY29udHJv bCwgY29uZmlnLmNvbnRyb2xfc2l6ZSAvIDIsIFBST1RfUkVBRCkgPT0gLTEpIHsKCldBUk5JTkc6 IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiM2MDM6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5jOjI4 MToKKyAgICAgICAgZXJyb3JfcmVwb3J0KCJlcnJvcjogbXByb3RlY3QoaHlwZXJ0cmFjZV9jb250 cm9sKTogJXMiLCBzdHJlcnJvcihlcnJubykpOwoKRVJST1I6ICIoZm9vKikiIHNob3VsZCBiZSAi KGZvbyAqKSIKIzY0MTogRklMRTogaHlwZXJ0cmFjZS91c2VyLmM6MzE5OgorICAgICAgICB1aW50 NjRfdCB2Y29udHJvbCA9ICgodWludDY0X3QqKWNvbnRyb2xfMClbY2xpZW50XTsKCldBUk5JTkc6 IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiM2OTQ6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5oOjI3 Ogordm9pZCBoeXBlcnRyYWNlX29wdF9wYXJzZShjb25zdCBjaGFyICpvcHRhcmcsIGNoYXIgKipi YXNlLCB1bnNpZ25lZCBpbnQgKm1heF9jbGllbnRzKTsKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBj aGFyYWN0ZXJzCiM3MTI6IEZJTEU6IGh5cGVydHJhY2UvdXNlci5oOjQ1OgorYm9vbCBoeXBlcnRy YWNlX2d1ZXN0X21tYXBfY2hlY2soaW50IGZkLCB1bnNpZ25lZCBsb25nIGxlbiwgdW5zaWduZWQg bG9uZyBvZmZzZXQpOwoKdG90YWw6IDE0IGVycm9ycywgMTIgd2FybmluZ3MsIDgzMyBsaW5lcyBj aGVja2VkCgpZb3VyIHBhdGNoIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElm IGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0 aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgpDaGVja2luZyBQ QVRDSCA0LzY6IGh5cGVydHJhY2U6IFtzb2Z0bW11XSBBZGQgUUVNVS1zaWRlIHByb3h5IHRvICJn dWVzdF9oeXBlcnRyYWNlIiBldmVudC4uLgpFUlJPUjogb3BlbiBicmFjZSAneycgZm9sbG93aW5n IHN0cnVjdCBnbyBvbiB0aGUgc2FtZSBsaW5lCiM4MTogRklMRTogaHlwZXJ0cmFjZS9zb2Z0bW11 LmM6NDM6Cit0eXBlZGVmIHN0cnVjdCBIeXBlcnRyYWNlU3RhdGUKK3sKCkVSUk9SOiAiKGZvbyop IiBzaG91bGQgYmUgIihmb28gKikiCiMxMDM6IEZJTEU6IGh5cGVydHJhY2Uvc29mdG1tdS5jOjY1 OgorICAgIGNoYXIgKm1lbSA9ICYoKGNoYXIqKXMtPmNvbnRyb2xfcHRyKVthZGRyXTsKCkVSUk9S OiAiKGZvbyopIiBzaG91bGQgYmUgIihmb28gKikiCiMxMDg6IEZJTEU6IGh5cGVydHJhY2Uvc29m dG1tdS5jOjcwOgorICAgICAgICByZXMgPSAoKHVpbnQ4X3QqKW1lbSlbMF07CgpFUlJPUjogIihm b28qKSIgc2hvdWxkIGJlICIoZm9vICopIgojMTEzOiBGSUxFOiBoeXBlcnRyYWNlL3NvZnRtbXUu Yzo3NToKKyAgICAgICAgcmVzID0gKCh1aW50MTZfdCopbWVtKVswXTsKCkVSUk9SOiAiKGZvbyop IiBzaG91bGQgYmUgIihmb28gKikiCiMxMTg6IEZJTEU6IGh5cGVydHJhY2Uvc29mdG1tdS5jOjgw OgorICAgICAgICByZXMgPSAoKHVpbnQzMl90KiltZW0pWzBdOwoKRVJST1I6ICIoZm9vKikiIHNo b3VsZCBiZSAiKGZvbyAqKSIKIzEyMzogRklMRTogaHlwZXJ0cmFjZS9zb2Z0bW11LmM6ODU6Cisg ICAgICAgIHJlcyA9ICgodWludDY0X3QqKW1lbSlbMF07CgpFUlJPUjogRXJyb3IgbWVzc2FnZXMg c2hvdWxkIG5vdCBjb250YWluIG5ld2xpbmVzCiMxMjc6IEZJTEU6IGh5cGVydHJhY2Uvc29mdG1t dS5jOjg5OgorICAgICAgICBlcnJvcl9yZXBvcnQoImVycm9yOiBoeXBlcnRyYWNlOiBVbmV4cGVj dGVkIHJlYWQgb2Ygc2l6ZSAlZFxuIiwgc2l6ZSk7CgpFUlJPUjogIihmb28qKSIgc2hvdWxkIGJl ICIoZm9vICopIgojMTM5OiBGSUxFOiBoeXBlcnRyYWNlL3NvZnRtbXUuYzoxMDE6CisgICAgY2hh ciAqbWVtID0gJigoY2hhciopcy0+Y29udHJvbF9wdHIpW2FkZHJdOwoKRVJST1I6ICIoZm9vKiki IHNob3VsZCBiZSAiKGZvbyAqKSIKIzE0NDogRklMRTogaHlwZXJ0cmFjZS9zb2Z0bW11LmM6MTA2 OgorICAgICAgICB1aW50OF90ICpyZXMgPSAodWludDhfdCopbWVtOwoKRVJST1I6ICIoZm9vKiki IHNob3VsZCBiZSAiKGZvbyAqKSIKIzE1MDogRklMRTogaHlwZXJ0cmFjZS9zb2Z0bW11LmM6MTEy OgorICAgICAgICB1aW50MTZfdCAqcmVzID0gKHVpbnQxNl90KiltZW07CgpFUlJPUjogIihmb28q KSIgc2hvdWxkIGJlICIoZm9vICopIgojMTU2OiBGSUxFOiBoeXBlcnRyYWNlL3NvZnRtbXUuYzox MTg6CisgICAgICAgIHVpbnQzMl90ICpyZXMgPSAodWludDMyX3QqKW1lbTsKCkVSUk9SOiAiKGZv byopIiBzaG91bGQgYmUgIihmb28gKikiCiMxNjI6IEZJTEU6IGh5cGVydHJhY2Uvc29mdG1tdS5j OjEyNDoKKyAgICAgICAgdWludDY0X3QgKnJlcyA9ICh1aW50NjRfdCopbWVtOwoKRVJST1I6IEVy cm9yIG1lc3NhZ2VzIHNob3VsZCBub3QgY29udGFpbiBuZXdsaW5lcwojMTY3OiBGSUxFOiBoeXBl cnRyYWNlL3NvZnRtbXUuYzoxMjk6CisgICAgICAgIGVycm9yX3JlcG9ydCgiZXJyb3I6IGh5cGVy dHJhY2U6IFVuZXhwZWN0ZWQgd3JpdGUgb2Ygc2l6ZSAlZFxuIiwgc2l6ZSk7CgpFUlJPUjogIihm b28qKSIgc2hvdWxkIGJlICIoZm9vICopIgojMTcyOiBGSUxFOiBoeXBlcnRyYWNlL3NvZnRtbXUu YzoxMzQ6CisgICAgICAgIHVpbnQ2NF90IHZjb250cm9sID0gKCh1aW50NjRfdCopcy0+Y29udHJv bF9wdHIpW2NsaWVudF07CgpFUlJPUjogIihmb28qKSIgc2hvdWxkIGJlICIoZm9vICopIgojMTcz OiBGSUxFOiBoeXBlcnRyYWNlL3NvZnRtbXUuYzoxMzU6CisgICAgICAgIHVpbnQ2NF90ICpkYXRh X3B0ciA9ICh1aW50NjRfdCopcy0+ZGF0YV9wdHI7CgpFUlJPUjogRXJyb3IgbWVzc2FnZXMgc2hv dWxkIG5vdCBjb250YWluIG5ld2xpbmVzCiMxOTc6IEZJTEU6IGh5cGVydHJhY2Uvc29mdG1tdS5j OjE1OToKKyAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiaHlwZXJ0cmFjZTogbXVzdCBoYXZlIGF0 IGxlYXN0IG9uZSBjbGllbnRcbiIpOwoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJhY3RlcnMK IzIwMzogRklMRTogaHlwZXJ0cmFjZS9zb2Z0bW11LmM6MTY1OgorICAgIGVycm9yX3NldGcoJnMt Pm1pZ3JhdGlvbl9ibG9ja2VyLCAiVGhlICdoeXBlcnRyYWNlJyBkZXZpY2UgY2Fubm90IGJlIG1p Z3JhdGVkIik7Cgp0b3RhbDogMTYgZXJyb3JzLCAxIHdhcm5pbmdzLCAyNTYgbGluZXMgY2hlY2tl ZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkg b2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1h aW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKQ2hlY2tpbmcgUEFUQ0gg NS82OiBoeXBlcnRyYWNlOiBBZGQgZ3Vlc3Qtc2lkZSB1c2VyLWxldmVsIGxpYnJhcnkuLi4KRVJS T1I6IGRvIG5vdCBpbml0aWFsaXNlIHN0YXRpY3MgdG8gMCBvciBOVUxMCiMxMjM6IEZJTEU6IGh5 cGVydHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzozNToKK3N0YXRpYyBjaGFyICpjb25maWdfcGF0 aCA9IE5VTEw7CgpFUlJPUjogZG8gbm90IGluaXRpYWxpc2Ugc3RhdGljcyB0byAwIG9yIE5VTEwK IzEyNTogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC91c2VyL2NvbW1vbi5jOjM3Ogorc3RhdGljIHVp bnQ2NF90ICpjb25maWdfYWRkciA9IE5VTEw7CgpFUlJPUjogZG8gbm90IGluaXRpYWxpc2Ugc3Rh dGljcyB0byAwIG9yIE5VTEwKIzEyNjogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC91c2VyL2NvbW1v bi5jOjM4Ogorc3RhdGljIHN0cnVjdCBoeXBlcnRyYWNlX2NvbmZpZyAqY29uZmlnID0gTlVMTDsK CkVSUk9SOiBkbyBub3QgaW5pdGlhbGlzZSBzdGF0aWNzIHRvIDAgb3IgTlVMTAojMTI5OiBGSUxF OiBoeXBlcnRyYWNlL2d1ZXN0L3VzZXIvY29tbW9uLmM6NDE6CitzdGF0aWMgY2hhciAqZGF0YV9w YXRoID0gTlVMTDsKCkVSUk9SOiBkbyBub3QgaW5pdGlhbGlzZSBzdGF0aWNzIHRvIDAgb3IgTlVM TAojMTMxOiBGSUxFOiBoeXBlcnRyYWNlL2d1ZXN0L3VzZXIvY29tbW9uLmM6NDM6CitzdGF0aWMg dWludDY0X3QgKmRhdGFfYWRkciA9IE5VTEw7CgpFUlJPUjogZG8gbm90IGluaXRpYWxpc2Ugc3Rh dGljcyB0byAwIG9yIE5VTEwKIzEzMzogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC91c2VyL2NvbW1v bi5jOjQ1Ogorc3RhdGljIGNoYXIgKmNvbnRyb2xfcGF0aCA9IE5VTEw7CgpFUlJPUjogZG8gbm90 IGluaXRpYWxpc2Ugc3RhdGljcyB0byAwIG9yIE5VTEwKIzEzNjogRklMRTogaHlwZXJ0cmFjZS9n dWVzdC91c2VyL2NvbW1vbi5jOjQ4Ogorc3RhdGljIF9fdGhyZWFkIHVpbnQ2NF90ICpjb250cm9s X2FkZHIgPSBOVUxMOwoKRVJST1I6IGRvIG5vdCBpbml0aWFsaXNlIHN0YXRpY3MgdG8gMCBvciBO VUxMCiMxMzc6IEZJTEU6IGh5cGVydHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzo0OToKK3N0YXRp YyBfX3RocmVhZCB1aW50NjRfdCAqY29udHJvbF9hZGRyXzEgPSBOVUxMOwoKRVJST1I6IGRvIG5v dCBpbml0aWFsaXNlIHN0YXRpY3MgdG8gMCBvciBOVUxMCiMxMzk6IEZJTEU6IGh5cGVydHJhY2Uv Z3Vlc3QvdXNlci9jb21tb24uYzo1MToKK3N0YXRpYyB1aW50NjRfdCAqY29udHJvbF9hZGRyID0g TlVMTDsKCkVSUk9SOiAiZm9vICoqIGJhciIgc2hvdWxkIGJlICJmb28gKipiYXIiCiMxNDQ6IEZJ TEU6IGh5cGVydHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzo1NjoKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2hhciAqKiBwYXRoLCBpbnQgKmZkLCB1aW50NjRfdCAqKmFkZHIsIGJvb2wg d3JpdGUpCgpFUlJPUjogYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGRlZmluZXMgc2hvdWxkIGJlIGF2 b2lkZWQKIzE3MjogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC91c2VyL2NvbW1vbi5jOjg0OgorI2lm ICFkZWZpbmVkKENPTkZJR19VU0VSX09OTFkpICYmIGRlZmluZWQoX19saW51eF9fKQoKRVJST1I6 IHNwYWNlIHByb2hpYml0ZWQgYmV0d2VlbiBmdW5jdGlvbiBuYW1lIGFuZCBvcGVuIHBhcmVudGhl c2lzICcoJwojMTczOiBGSUxFOiBoeXBlcnRyYWNlL2d1ZXN0L3VzZXIvY29tbW9uLmM6ODU6Citz dGF0aWMgaW50IGNoZWNrX2RldmljZV9pZCAoY29uc3QgY2hhciAqYmFzZSwgY29uc3QgY2hhciAq bmFtZSwgdWludDY0X3QgdmFsdWUpCgpFUlJPUjogY29uc2lkZXIgdXNpbmcgcWVtdV9zdHJ0b3Vs bCBpbiBwcmVmZXJlbmNlIHRvIHN0cnRvdWxsCiMxOTI6IEZJTEU6IGh5cGVydHJhY2UvZ3Vlc3Qv dXNlci9jb21tb24uYzoxMDQ6CisgICAgdWludDY0X3QgdnYgPSBzdHJ0b3VsbCh2LCAmZW5kLCAx Nik7CgpFUlJPUjogZWxzZSBzaG91bGQgZm9sbG93IGNsb3NlIGJyYWNlICd9JwojMTk2OiBGSUxF OiBoeXBlcnRyYWNlL2d1ZXN0L3VzZXIvY29tbW9uLmM6MTA4OgorICAgIH0KKyAgICBlbHNlIHsK CkVSUk9SOiAiZm9vKiBiYXIiIHNob3VsZCBiZSAiZm9vICpiYXIiCiMyMDE6IEZJTEU6IGh5cGVy dHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzoxMTM6CitzdGF0aWMgY2hhciogZmluZF9kZXZpY2Uo dm9pZCkKCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJzCiMyMTY6IEZJTEU6IGh5cGVy dHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzoxMjg6CisgICAgICAgIGlmIChjaGVja19kZXZpY2Vf aWQocGF0aCwgInZlbmRvciIsIFBDSV9WRU5ET1JfSURfUkVESEFUX1FVTVJBTkVUKSA8IDApIHsK CkVSUk9SOiAiKGZvbyopIiBzaG91bGQgYmUgIihmb28gKikiCiMyNzk6IEZJTEU6IGh5cGVydHJh Y2UvZ3Vlc3QvdXNlci9jb21tb24uYzoxOTE6CisgICAgICAgIGNvbmZpZyA9IChzdHJ1Y3QgaHlw ZXJ0cmFjZV9jb25maWcqKWNvbmZpZ19hZGRyOwoKV0FSTklORzogbGluZSBvdmVyIDgwIGNoYXJh Y3RlcnMKIzMyMzogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC91c2VyL2NvbW1vbi5jOjIzNToKKyAg ICAgICAgY29udHJvbF9hZGRyXzEgPSAodWludDY0X3QqKSgoY2hhciopY29udHJvbF9hZGRyICsg Y29uZmlnLT5jb250cm9sX3NpemUgLyAyKTsKCkVSUk9SOiAiKGZvbyopIiBzaG91bGQgYmUgIihm b28gKikiCiMzMjM6IEZJTEU6IGh5cGVydHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzoyMzU6Cisg ICAgICAgIGNvbnRyb2xfYWRkcl8xID0gKHVpbnQ2NF90KikoKGNoYXIqKWNvbnRyb2xfYWRkciAr IGNvbmZpZy0+Y29udHJvbF9zaXplIC8gMik7CgpFUlJPUjogc3BhY2UgcHJvaGliaXRlZCBiZXR3 ZWVuIGZ1bmN0aW9uIG5hbWUgYW5kIG9wZW4gcGFyZW50aGVzaXMgJygnCiMzODA6IEZJTEU6IGh5 cGVydHJhY2UvZ3Vlc3QvdXNlci9jb21tb24uYzoyOTI6Cit2b2lkIHFlbXVfaHlwZXJ0cmFjZSAo dWludDY0X3QgY2xpZW50LCB1aW50NjRfdCBhcmcxKQoKdG90YWw6IDE4IGVycm9ycywgMiB3YXJu aW5ncywgNDMzIGxpbmVzIGNoZWNrZWQKCllvdXIgcGF0Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBw bGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVz IHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJ TkVSUy4KCkNoZWNraW5nIFBBVENIIDYvNjogaHlwZXJ0cmFjZTogQWRkIGd1ZXN0LXNpZGUgTGlu dXggbW9kdWxlLi4uCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJldHdlZW4gZnVuY3Rpb24gbmFt ZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcKIzEzNTogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC9s aW51eC1tb2R1bGUvaW5jbHVkZS9saW51eC9xZW11LWh5cGVydHJhY2UtaW50ZXJuYWwuaDo0MjoK K3N0YXRpYyBpbmxpbmUgdm9pZCBxZW11X2h5cGVydHJhY2UgKHVpbnQ2NF90IGNsaWVudCwgdWlu dDY0X3QgYXJnMSkKCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMjY2OiBGSUxF OiBoeXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo0MjoKKy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8KCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMjY3OiBGSUxF OiBoeXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo0MzoKKy8v IEtlcm5lbCBpbnRlcmZhY2UKCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMjgx OiBGSUxFOiBoeXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo1 NzoKKy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8KCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMjgy OiBGSUxFOiBoeXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo1 ODoKKy8vIENoYW5uZWwgaW5pdGlhbGl6YXRpb24KCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGJl dHdlZW4gZnVuY3Rpb24gbmFtZSBhbmQgb3BlbiBwYXJlbnRoZXNpcyAnKCcKIzI4NjogRklMRTog aHlwZXJ0cmFjZS9ndWVzdC9saW51eC1tb2R1bGUvcWVtdS1oeXBlcnRyYWNlLmM6NjI6Citpbml0 X2NoYW5uZWwgKHVpbnQ2NF90ICoqdmFkZHIsIHN0cnVjdCBwY2lfZGV2ICpkZXYsIGludCBiYXIp CgpFUlJPUjogImZvbyAqIGJhciIgc2hvdWxkIGJlICJmb28gKmJhciIKIzI4ODogRklMRTogaHlw ZXJ0cmFjZS9ndWVzdC9saW51eC1tb2R1bGUvcWVtdS1oeXBlcnRyYWNlLmM6NjQ6CisgICAgdm9p ZCAqIHJlczsKCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMzA3OiBGSUxFOiBo eXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo4MzoKKy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8KCkVSUk9SOiBkbyBub3QgdXNlIEM5OSAvLyBjb21tZW50cwojMzA4OiBGSUxFOiBo eXBlcnRyYWNlL2d1ZXN0L2xpbnV4LW1vZHVsZS9xZW11LWh5cGVydHJhY2UuYzo4NDoKKy8vIE1v ZHVsZSAoZGUpaW5pdGlhbGl6YXRpb24KCldBUk5JTkc6IGxpbmUgb3ZlciA4MCBjaGFyYWN0ZXJz CiMzMTk6IEZJTEU6IGh5cGVydHJhY2UvZ3Vlc3QvbGludXgtbW9kdWxlL3FlbXUtaHlwZXJ0cmFj ZS5jOjk1OgorICAgIGRldiA9IHBjaV9nZXRfZGV2aWNlKFBDSV9WRU5ET1JfSURfUkVESEFUX1FV TVJBTkVULCBQQ0lfREVWSUNFX0lEX0hZUEVSVFJBQ0UsIE5VTEwpOwoKRVJST1I6ICIoZm9vKiki IHNob3VsZCBiZSAiKGZvbyAqKSIKIzMzMjogRklMRTogaHlwZXJ0cmFjZS9ndWVzdC9saW51eC1t b2R1bGUvcWVtdS1oeXBlcnRyYWNlLmM6MTA4OgorICAgIGNvbmZpZyA9IChzdHJ1Y3QgaHlwZXJ0 cmFjZV9jb25maWcqKV9xZW11X2h5cGVydHJhY2VfY2hhbm5lbF9jb25maWc7Cgp0b3RhbDogMTAg ZXJyb3JzLCAxIHdhcm5pbmdzLCAzMTYgbGluZXMgY2hlY2tlZAoKWW91ciBwYXRjaCBoYXMgc3R5 bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBm YWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BB VENIIGluIE1BSU5UQUlORVJTLgoKPT09IE9VVFBVVCBFTkQgPT09CgpUZXN0IGNvbW1hbmQgZXhp dGVkIHdpdGggY29kZTogMQoKCi0tLQpFbWFpbCBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBQ YXRjaGV3IFtodHRwOi8vcGF0Y2hldy5vcmcvXS4KUGxlYXNlIHNlbmQgeW91ciBmZWVkYmFjayB0 byBwYXRjaGV3LWRldmVsQGZyZWVsaXN0cy5vcmc=