From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH] docs/qemu-deprivilege: Revise and update with status and future plans Date: Thu, 22 Mar 2018 18:24:37 +0000 Message-ID: <20180322182437.936-1-george.dunlap@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1ez4tn-0006Xd-MF for xen-devel@lists.xenproject.org; Thu, 22 Mar 2018 18:25:15 +0000 List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Wei Liu , Andrew Cooper , Tim Deegan , George Dunlap , Ross Lagerwall , Julien Grall , Jan Beulich , Anthony Perard , Ian Jackson List-Id: xen-devel@lists.xenproject.org ZG9jcy9xZW11LWRlcHJpdmlsZWdlLnR4dCBoYWQgc29tZSBiYXNpYyBpbnN0cnVjdGlvbnMgZm9y IHVzaW5nCmRtX3Jlc3RyaWN0LCBidXQgaXQgd2FzIGluY29tcGxldGUsIG1pc2xlYWRpbmcsIGFu ZCBzdGFsZS4KClVwZGF0ZSB0aGUgZG9jcyBpbiBhIG51bWJlciBvZiB3YXlzLgoKSW50cm9kdWNl IGEgc2VjdGlvbiBtZW50aW9uaW5nIG1pbmltaW0gdmVyc2lvbnMgb2YgTGludXgsIFhlbiwgYW5k CnFlbXUgcmVxdWlyZWQgKFRCRCkKCkZpeCB0aGUgZGlzY3Vzc2lvbiBvZiBxZW11IHVzZXJpZC4g IE1lbnRpb24geGVuLXFlbXV1c2VyLXJhbmdlLWJhc2UsCmFuZCBwcm92aWRlIGV4YW1wbGUgc2hl bGwgY29kZSB0aGF0IGFjdHVhbGx5IGhhcyBzb21lIGhvcGUgb2Ygd29ya2luZwooaW5zdGVhZCBv ZiBmYWlsaW5nIG91dCBhZnRlciBjcmVhdGluZyA5MDAgdXNlcmlkcy4KCkRlc2NyaWJlIGhvdyB0 byBlbmFibGUgcmVzdHJpY3Rpb25zLCBhcyB3ZWxsIGFzIGZlYXR1cmVzIHdoaWNoCnByb2JhYmx5 IGRvbid0IG9yIGRlZmluaXRlbHkgZG9uJ3Qgd29yay4KCkludHJvZHVjZSBhICJUZWNobmljYWwg RGV0YWlscyIgc2VjdGlvbiB3aGljaCBkZXNjcmliZXMgc3BlY2lmaWNhbGx5CndoYXQgcmVzdHJp Y3Rpb25zIGFyZSBjdXJyZW50bHkgZG9uZSwgYW5kIGFsc28gd2hhdCByZXN0cmljdGlvbnMgd2UK YXJlIGxvb2tpbmcgYXQgZG9pbmcgaW4gdGhlIGZ1dHVyZS4KClRoZSBpZGVhIGhlcmUgaXMgdGhh dCBhcyB3ZSBpbXBsZW1lbnQgdGhlIHZhcmlvdXMgaXRlbXMgZm9yIHRoZQpmdXR1cmUsIHdlIG1v dmUgdGhlbSBmcm9tICJSZXN0cmljdGlvbnMgc3RpbGwgdG8gZG8iIHRvICJSZXN0cmljdGlvbnMK ZG9uZSIuICBUaGlzIGNhbiBhbHNvIGFjdCBhcyBhIGRlc2lnbiBkb2N1bWVudCAtLSBhIHBsYWNl IGZvciBwdWJsaWMKZGlzY3Vzc2lvbiBvZiB3aGF0IGNhbiBvciBzaG91bGQgYmUgZG9uZSBhbmQg aG93LgoKU2lnbmVkLW9mZi1ieTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXgu Y29tPgotLS0KVGhhbmsgeW91IHRvIFJvc3MgTGFnZXJ3YWxsLCB3aG9zZSBkZXNjcmlwdGlvbiBv ZiB3aGF0IFhlblNlcnZlciBpcwpkb2luZyBmb3JtZWQgbXVjaCBvZiB0aGUgYmFzaXMgZm9yIHRo ZSB0ZXh0IGhlcmUuCgpDQzogSWFuIEphY2tzb24gPGlhbi5qYWNrc29uQGNpdHJpeC5jb20+CkND OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KQ0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K Q0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzogS29ucmFkIFdpbGsgPGtvbnJhZC53aWxr QG9yYWNsZS5jb20+CkNDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5v cmc+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgpDQzogQW50aG9ueSBQ ZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+CkNDOiBSb3NzIExhZ2Vyd2FsbCA8cm9z cy5sYWdlcndhbGxAY2l0cml4LmNvbT4KLS0tCiBkb2NzL21pc2MvcWVtdS1kZXByaXZpbGVnZS50 eHQgfCAyNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAyMzMgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZG9jcy9taXNjL3FlbXUtZGVwcml2aWxlZ2UudHh0IGIvZG9jcy9taXNjL3FlbXUtZGVwcml2 aWxlZ2UudHh0CmluZGV4IDU4Yjg2YTM5MDguLjlhNTYyNzM1MGEgMTAwNjQ0Ci0tLSBhL2RvY3Mv bWlzYy9xZW11LWRlcHJpdmlsZWdlLnR4dAorKysgYi9kb2NzL21pc2MvcWVtdS1kZXByaXZpbGVn ZS50eHQKQEAgLTEsMzYgKzEsMjQzIEBACi1Gb3Igc2VjdXJpdHkgcmVhc29ucywgbGlieGwgdHJp ZXMgdG8gcGFzcyBhIG5vbi1yb290IHVzZXJuYW1lIHRvIFFFTVUgYXMKLWFyZ3VtZW50LiBEdXJp bmcgaW5pdGlhbGl6YXRpb24gUUVNVSBjYWxscyBzZXR1aWQgYW5kIHNldGdpZCB3aXRoIHRoZQot dXNlciBJRCBhbmQgdGhlIGdyb3VwIElEIG9mIHRoZSB1c2VyIHBhc3NlZCBhcyBhcmd1bWVudC4K LUxpYnhsIGxvb2tzIGZvciB0aGUgZm9sbG93aW5nIHVzZXJzIGluIHRoaXMgb3JkZXI6Ci0KLTEp IGEgdXNlciBuYW1lZCAieGVuLXFlbXV1c2VyLWRvbWlkJGRvbWlkIiwKLVdoZXJlICRkb21pZCBp cyB0aGUgZG9taWQgb2YgdGhlIGRvbWFpbiBiZWluZyBjcmVhdGVkLgotVGhpcyByZXF1aXJlcyB0 aGUgcmVzZXJ2YXRpb24gb2YgNjU1MzUgdWlkcyBmcm9tIHhlbi1xZW11dXNlci1kb21pZDEKLXRv IHhlbi1xZW11dXNlci1kb21pZDY1NTM1LiBUbyB1c2UgdGhpcyBtZWNoYW5pc20sIHlvdSBtaWdo dCB3YW50IHRvCi1jcmVhdGUgYSBsYXJnZSBudW1iZXIgb2YgdXNlcnMgYXQgaW5zdGFsbGF0aW9u IHRpbWUuIEZvciBleGFtcGxlOgotCi1mb3IgKChpPTE7IGk8NjU1MzY7IGkrKykpCisjIEludHJv ZHVjdGlvbgorCisjIFNldHVwCisKKyMjIEdldHRpbmcgdGhlIHJpZ2h0IHZlcnNpb25zIG9mIHNv ZnR3YXJlCisKK0xpbnV4IDQuWFgKKworWGVuIDQuWFgKKworUWVtdTogUmVxdWlyZXMgcGF0Y2hl cyBub3QgeWV0IGluIGFueSByZWxlYXNlCisKKyMjIFNldHRpbmcgdXAgYSB1c2VyaWQgcmFuZ2UK KworRm9yIG1heGltdW0gc2VjdXJpdHksIGxpYnhsIG5lZWRzIHRvIHJ1biB0aGUgZGV2aWNlbW9k ZWwgZm9yIGVhY2gKK2RvbWFpbiB1bmRlciBhIHVzZXIgaWQgKFVJRCkgY29ycmVzcG9uZGluZyB0 byBpdHMgZG9tYWluIGlkLiAgVGhlcmUKK2FyZSAzMjc1MiBwb3NzaWJsZSBkb21haW4gSURzLCBh bmQgc28gbGlieGwgbmVlZHMgMzI3NTIgdXNlciBpZHMgc2V0Cithc2lkZSBmb3IgaXQuCisKK1Ro ZSBzaW1wbGVzdCBhbmQgbW9zdCBlZmZlY3RpdmUgd2F5IHRvIGRvIHRoaXMgaXMgdG8gYWxsb2Nh dGUgYQorY29udGlndW91cyBibG9jayBvZiBVSURzLCBhbmQgY3JlYXRlIGEgc2luZ2xlIHVzZXIg bmFtZWQKK2B4ZW4tcWVtdXVzZXItcmFuZ2UtYmFzZWAgd2l0aCB0aGUgZmlyc3QgVUlELiAgRm9y IGV4YW1wbGUsIHVuZGVyIERlYmlhbjoKKworICAgIGFkZHVzZXIgLS1uby1jcmVhdGUtaG9tZSAt LXVpZCA2NTUzNiAtLXN5c3RlbSB4ZW4tcWVtdXVzZXItcmFuZ2UtYmFzZQorCitBbiBhbHRlcm5h dGUgd2F5IGlzIHRvIGNyZWF0ZSAzMjc1MiBkaXN0aW5jdCB1c2VycyB3aXRoIHRoZSBuYW1lCitg eGVuLXFlbXV1c2VyLWRvbWlkJGRvbWlkYCwgZG9pbmcgc29tZXRoaW5nIGxpa2UgdGhlIGZvbGxv d2luZzoKKworZm9yICgoaT0xOyBpPD0zMjc1MTsgaSsrKSkKIGRvCi0gICAgYWRkdXNlciAtLW5v LWNyZWF0ZS1ob21lIC0tc3lzdGVtIHhlbi1xZW11dXNlci1kb21pZCRpCisgICAgYWRkdXNlciAt LW5vLWNyZWF0ZS1ob21lIC0tc3lzdGVtIC0tdWlkICQoKCRpLTErNjU1MzYpKSB4ZW4tcWVtdXVz ZXItZG9taWQkaQogZG9uZQogCi1Zb3UgbWlnaHQgd2FudCB0byBjb25zaWRlciBwYXNzaW5nIC0t Z3JvdXAgdG8gYWRkdXNlciB0byBjcmVhdGUgYSBuZXcKLWdyb3VwIGZvciBlYWNoIG5ldyB1c2Vy LgorRklYTUU6IFRlc3QgdGhlIGFib3ZlIHNjcmlwdCB0byBzZWUgaWYgaXQgd29ya3MKKworTk9U RTogTW9zdCBtb2Rlcm4gc3lzdGVtcyBoYXZlIDMyLWJpdCBVSURzLCBhbmQgc28gY2FuIGluIHRo ZW9yeSBnbyB1cAordG8gMl4zMSAob3IgMl4zMiBpZiB1aWRzIGFyZSB1bnNpZ25lZCkuICBQT1NJ WCBvbmx5IGd1YXJhbnRlZXMgMTYtYml0CitVSURzIGhvd2V2ZXIuICBVSUQgNjU1MzUgaXMgcmVz ZXJ2ZWQgZm9yIGFuIGludmFsaWQgdmFsdWUsIGFuZCA2NTUzNAoraXMgbm9ybWFsbHkgYWxsb2Nh dGVkIHRvICJub2JvZHkiLgorCitBbm90aGVyLCBsZXNzLXNlY3VyZSB3YXkgaXMgdG8gcnVuIGFs bCBRRU1VcyBhcyB0aGUgc2FtZSBVSUQuICBUbyBkbwordGhpcywgY3JlYXRlIGEgdXNlciBuYW1l ZCBgeGVuLXFlbXV1c2VyLXNoYXJlZGA7IGZvciBleGFtcGxlOgorCisgICAgYWRkdXNlciAtLW5v LWNyZWF0ZS1ob21lIC0tc3lzdGVtIHhlbi1xZW11dXNlci1zaGFyZWQKKworIyMgRG9tYWluIGNv bmZpZyBjaGFuZ2VzCisKK1RoZSBjb3JlIGRvbWFpbiBjb25maWcgY2hhbmdlIGlzIHRvIGFkZCB0 aGUgZm9sbG93aW5nIGxpbmUgdG8gdGhlCitkb21haW4gY29uZmlndXJhdGlvbjoKKworICAgIGRt X3Jlc3RyaWN0PTEKKworVGhpcyB3aWxsIHBlcmZvcm0gYSBudW1iZXIgb2YgcmVzdHJpY3Rpb25z LCBvdXRsaW5lZCBiZWxvdyBpbiB0aGUKKydUZWNobmljYWwgZGV0YWlscycgc2VjdGlvbi4KKwor UmVtb3ZlIG5vbi1mdW5jdGlvbmluZyBkZWZhdWx0IGZlYXR1cmVzOgorCisgICAgdmdhPSJub25l IgorCitPdGhlciBmZWF0dXJlcyBleHBlY3RlZCBub3QgdG8gd29yayBpbmNsdWRlOgorKiBJbnNl cnRpbmcgYSBuZXcgY2Ryb20gd2hpbGUgdGhlIGd1ZXN0IGlzIHJ1bm5pbmcgKHhsIGNkcm9tLWlu c2VydCkKKyogbWlncmF0aW9uIC8gc2F2ZSAvIHJlc3RvcmUKKyogUENJIHBhc3N0aHJvdWdoCisK KyMgVGVjaG5pY2FsIGRldGFpbHMKKworIyMgUmVzdHJpY3Rpb25zIGRvbmUKKworIyMjIEhhdmlu ZyBxZW11IHN3aXRjaCB1c2VyCisKKycnJ0Rlc2NyaXB0aW9uJycnOiBBcyBtZW50aW9uZWQgYWJv dmUsIGhhdmluZyBxZW11IHN3aXRjaCB0byBhIG5vbi1yb290IHVzZXIsIG9uZSBwZXIKK2RvbWFp biBpZC4KKworJycnSW1wbGVtZW50YXRpb24nJyc6IFRoZSB0b29sc3RhY2sgYWRkcyB0aGUgZm9s bG93aW5nIHRvIHRoZSBxZW11IGNvbW1hbmQtbGluZToKKworICAgIC1ydW5hcyA8dWlkPjo8Z2lk PgorCisnJydUZXN0aW5nIFN0YXR1cycnJzogTm90IHRlc3RlZAorCisjIyMgWGVuIHJlc3RyaWN0 aW9ucworCisnJydEZXNjcmlwdGlvbicnJzogQ2xvc2UgYW5kIHJlc3RyaWN0IFhlbi1yZWxhdGVk IGZpbGUgZGVzY3JpcHRvcnMuCitTcGVjaWZpY2FsbHksIG1ha2Ugc3VyZSB0aGF0IG9ubHkgb25l IGBwcml2Y21kYCBpbnN0YW5jZSBpcyBvcGVuLCBhbmQKK3RoYXQgdGhlIElPQ1RMX0VWVENITl9S RVNUUklDVF9ET01JRCBpb2N0bCBoYXMgYmVlbiBjYWxsZWQuCisKK1hYWCBBbHNvLCBtYWtlIHN1 cmUgdGhhdCBvbmx5IG9uZSBgeGVuc3RvcmVgIGZkIHJlbWFpbnMgb3BlbiwgYW5kIHRoYXQKK2l0 J3MgcmVzdHJpY3RlZC4KKworJycnSW1wbGVtZW50YXRpb24nJyc6IFRvb2xzdGFjayBhZGRzIHRo ZSBmb2xsb3dpbmcgdG8gdGhlIHFlbXUgY29tbWFuZC1saW5lOgorCisteGVuLWRvbWlkLXJlc3Ry aWN0CisKKycnJ1Rlc3Rpbmcgc3RhdHVzJycnOiBOb3QgdGVzdGVkIFhYWAorCisjIyBSZXN0cmlj dGlvbnMgc3RpbGwgdG8gZG8KKworIyMjIENocm9vdAorCisnJydEZXNjcmlwdGlvbicnJzogUWVt dSBydW5zIGluIGl0cyBvd24gY2hyb290LCBzdWNoIHRoYXQgZXZlbiBpZiBpdAorY291bGQgY2Fs bCBhbiAnb3BlbicgY29tbWFuZCBvZiBzb21lIHNvcnQsIHRoZXJlIHdvdWxkIGJlIG5vdGhpbmcg Zm9yCitpdCB0byBzZWUuCisKKycnJ0ltcGxlbWVudGF0aW9uJycnOiBUaGUgdG9vbHN0YWNrIGNy ZWF0ZXMgYSBkaXJlY3Rvcnkgc3VjaCBhczoKK2AvdmFyL3J1bi9xZW11L3Jvb3QtPGRvbWlkPmAK KworVGhlbiBhZGQgdGhlIGZvbGxvd2luZyB0byB0aGUgcWVtdSBjb21tYW5kLWxpbmU6CisKKyAg ICAtY2hyb290IC92YXIvcnVuL3FlbXUvcm9vdC08ZG9taWQ+CisKKyMjIyBOYW1lc3BhY2VzIGZv ciB1bnVzZWQgZnVuY3Rpb25hbGl0eQorCisnJydEZXNjcmlwaXRvbicnJzogRW50ZXIgUUVNVSBp bnRvIGl0cyBvd24gbW91bnQgJiBJUEMgbmFtZXNwYWNlcy4KK1RoaXMgbWVhbnMgdGhhdCBldmVu IGlmIG90aGVyIHJlc3RyaWN0aW9ucyBmYWlsLCB0aGUgcHJvY2VzcyB3b24ndCBiZQorYWJsZSB0 byBldmVuIG5hbWUgc3lzdGVtIG1vdW50IHBvaW50cyBvciBleHN0aW5nIG5vbi1maWxlLWJhc2Vk IElQQworZGVzY3JpcHRvcnMgdG8gYXR0ZW1wdCB0byBhdHRhY2sgdGhlbS4KKworJycnSW1wbGVt ZW50YXRpb24nJyc6CisKK0luIHRoZW9yeSB0aGlzIGNvdWxkIGJlIGRvbmUgaW4gUUVNVSAoc2lt aWxhciB0byAtc2FuZGJveCwgLXJ1bmFzLAorLWNocm9vdCwgYW5kIHNvIG9uKSwgYnV0IGEgcGF0 Y2ggZG9pbmcgdGhpcyBpbiBRRU1VIHdhcyBOQUtlZAordXBzdHJlYW0uIFRoZXkgcHJlZmVycmVk IHRoYXQgdGhpcyB3YXMgZG9uZSBhcyBhIHNldHVwIHN0ZXAgYnkKK3doYXRldmVyIGV4ZWN1dGVz IFFFTVU7IGkuZS4sIGhhdmUgdGhlIHByb2Nlc3Mgd2hpY2ggZXhlYydzIFFFTVUgZmlyc3QKK2Nh bGw6CisKKyAgICB1bnNoYXJlKENMT05FX05FV05TIHwgQ0xPTkVfTkVXSVBDKQorCisjIyMgc2Vj Y29tcCBmaWx0ZXJpbmcKKworJycnRGVzY3JpcHRpb24nJyc6IFR1cm4gb24gc2VjY29tcCBmaWx0 ZXJpbmcgdG8gZGlzYWJsZSBzeXNjYWxscyB3aGljaAorUUVNVSBkb2Vzbid0IG5lZWQ6CisKKycn J0ltcGxlbWVudGF0aW9uJycnOiBFbmFibGUgZnJvbSB0aGUgY29tbWFuZC1saW5lOgorCisgICAg LXNhbmRib3ggb24sb2Jzb2xldGU9ZGVueSxlbGV2YXRlcHJpdmlsZWdlcz1hbGxvdyxzcGF3bj1k ZW55LHJlc291cmNlY29udHJvbD1kZW55CisKK2BlbGV2YXRlcHJpdmlsZWdlc2AgaXMgY3VycmVu dGx5IHJlcXVpcmVkIHRvIGFsbG93IGAtcnVuYXNgIHRvIHdvcmsuCitSZW1vdmluZyB0aGlzIHJl cXVpcmVtZW50IHdvdWxkIG1lYW4gbWFraW5nIHN1cmUgdGhhdCB0aGUgdWlkIGNoYW5nZQoraGFw cGVuZWQgYmVmb3JlIHRoZSBzZWNjb21wMiBjYWxsLCBwZXJoYXBzIGJ5IGNoYW5naW5nIHRoZSB1 aWQgYmVmb3JlCitleGVjdXRpbmcgUUVNVS4gIChCdXQgdGhpcyB3b3VsZCB0aGVuIHJlcXVpcmUg b3RoZXIgY2hhbmdlcyB0byBjcmVhdGUKK3RoZSBRTVAgc29ja2V0LCBWTkMgc29ja2V0LCBhbmQg c28gb24pLgorCisjIyMgQmFzaWMgUkxJTUlUcworCisnJydEZXNjcmlwdGlvbicnJzogQSBudW1i ZXIgb2YgbGltaXRzIG9uIHRoZSByZXNvdXJjZXMgdGhhdCBhIGdpdmVuCitwcm9jZXNzIC8gdXNl cmlkIGlzIGFsbG93ZWQgdG8gY29uc3VtZS4gIFRoZXNlIGNhbiBsaW1pdCB0aGUgYWJpbGl0eQor b2YgYSBjb21wcm9taXNlZCBRRU1VIHByb2Nlc3MgdG8gRG9TIGRvbWFpbiAwIGJ5IGV4aGF1c3Rp bmcgdmFyaW91cworcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBpdC4KKworJycnSW1wbGVtZW50YWl0 b24nJycKKworTGltaXRzIHRoYXQgY2FuIGJlIGltcGxlbWVudGVkIGltbWVkaWF0ZWx5IHdpdGhv dXQgbXVjaCBlZmZvcnQ6CisgLSBSTElNSVRfRlNJWkUgKGZpbGUgc2l6ZSk6IDI1NktpQgorCitQ cm9iYWJseSBub3QgbmVjZXNzYXJ5IGJ1dCB3aHkgbm90OgorIC0gUkxJTUlUX0NPUkU6IDAKKyAt IFJMSU1JVF9NU0dRVUVVRTogMAorIC0gUkxJTUlUX0xPQ0tTOiAwIFhYWCBDaGVjaworIC0gUkxJ TUlUX01FTUxPQ0s6IDAKKyAgIG1sb2NrKCkgaXMgVXNlZCBvbmx5IHdoZW4gYm90aCAicmVhbHRp bWUiIGFuZCAibWxvY2siIGFyZSBzcGVjaWZpZWQuCisKKyMjIyBGdXJ0aGVyIFJMSU1JVHMKKwor UkxJTUlUX0FTIGxpbWl0cyB0aGUgdG90YWwgYW1vdW50IG9mIG1lbW9yeTsgYnV0IHRoaXMgaW5j bHVkZXMgdGhlCit2aXJ0dWFsIG1lbW9yeSB3aGljaCBRRU1VIHVzZXMgYXMgYSBtYXBjYWNoZS4g IHhlbi1tYXBjYWNoZS5jIGFscmVhZHkKK2ZpZGRsZXMgd2l0aCB0aGlzOyBpdCB3b3VsZCBiZSBz dHJhaWdodGZvcndhcmQgdG8gbWFrZSBpdCAqc2V0KiB0aGUKK3JsaW1pdCB0byB3aGF0IGl0IHRo aW5rcyBhIHNlbnNpYmxlIGxpbWl0IGlzLgorCitPdGhlciB0aGluZ3MgdGhhdCB3b3VsZCB0YWtl IHNvbWUgY2xldmVybmVzcyAvIGNoYW5nZXMgdG8gUUVNVSB0bwordXRpbGl6ZSBkdWUgdG8gb3Jk ZXJpbmcgY29uc3RyYW50czoKKyAtIFJMSU1JVF9OUFJPQyAoYWZ0ZXIgdWlkIGNoYW5nZXMgdG8g YSB1bmlxdWUgdWlkKQorIC0gUkxJTUlUX05PRklMRVMgKGFmdGVyIGFsbCBuZWNlc3NhcnkgZmls ZXMgYXJlIG9wZW5lZCkKKworIyMjIGxpYnhsIFVJRCBjbGVhbnVwCisKKycnJ0Rlc2NyaXB0aW9u JycnOiBEb21haW4gSURzIGFyZSByZXVzZWQsIGFuZCB0aHVzIHJlc3RyaWN0ZWQgVUlEcyBhcmUK K3JldXNlZC4gIElmIGEgY29tcHJvbWlzZWQgUUVNVSBjYW4gZm9yayAoZHVlIHRvIHNlY2NvbXAg b3IKK1JMSU1JVF9OUFJPQyBsaW1pdHMgYmVpbmcgaW5lZmZlY3RpdmUgZm9yIHNvbWUgcmVhc29u KSwgaXQgbWF5IGF2b2lkCitiZWluZyBraWxsZWQgd2hlbiBpdHMgZG9tYWluIGRpZXMsIHRoZW4g d2FpdCB1bnRpbCB0aGUgZG9tYWluIElEIGlzCityZXVzZWQgYWdhaW4sIGF0IHdoaWNoIHBvaW50 IGl0IHdpbGwgaGF2ZSBjb250cm9sIG92ZXIgdGhlIGRvbWFpbiBpbgorcXVlc3Rpb24gKHdoaWNo IHByb2JhYmx5IGJlbG9uZ3MgdG8gc29tZW9uZSBlbHNlKS4KKworbGlieGwgc2hvdWxkIGtpbGwg YWxsIFVJRHMgYXNzb2NpYXRlZCB3aXRoIGEgZG9tYWluIGJvdGggd2hlbiB0aGUgVk0KK2lzIGRl c3Ryb3llZCwgYW5kIGJlZm9yZSBzdGFydGluZyBhIFZNIHdpdGggdGhlIHNhbWUgVUlELgorCisn JydJbXBsZW1lbnRhdGlvbicnJzogTmVlZHMgdG8gYmUgcmVzZWFyY2hlZDsgaXQncyBkaWZmaWN1 bHQgdG8gZG8gaW4KK2Egd2F5IHRoYXQncyBub3QgcmFjeSAoZS5nLiwgd2UgY2FuJ3Qgc2ltcGx5 IGxvb2sgYXQgYWxsIHByb2Nlc3NlcywKK2ZpbmQgdGhlIHBpZHMgY29ycmVzcG9uZGluZyB0byB1 aWRzLCBhbmQgdGhlbiBraWxsIHRob3NlLCBhcyBhCitjb250aW51YWxseSBmb3JraW5nIHByb2Nl c3MgY291bGQgKHBvdGVudGlhbGx5KSBlbHVkZSB0aGlzIHByb2Nlc3MuCitSdW1vciBoYXMgaXQg dGhlcmUncyBhICJraWxsIGFsbCBwcm9jZXNzZXMgd2l0aCBteSBVSUQiIHN5c3RlbSBjYWxsLAor b3Igc29tZXRoaW5nIG9mIHRoYXQgbmF0dXJlLgorCitraWxsKC0xLHNpZykgc2VuZHMgYSBzaWdu YWwgdG8gImV2ZXJ5IHByb2Nlc3MgdG8gd2hpY2ggdGhlIGNhbGxpbmcKK3Byb2Nlc3MgaGFzIHBl cm1pc3Npb24gdG8gc2VuZCBhIHNpZ25hbCIuICBTbyBpbiB0aGVvcnk6CisgIHNldHVpZChYKQor ICBraWxsKC0xLEtJTEwpCitzaG91bGQgZG8gdGhlIHRyaWNrLgorCisjIyMgRGlza3MKKworVGhl IGNocm9vdCAoYW5kIHNlY2NvbXA/KSBoYXBwZW5zIGxhdGUgZW5vdWdoIHN1Y2ggdGhhdCBRRU1V IGNhbgoraW5pdGlhbGl6ZSBpdHNlbGYgYW5kIG9wZW4gaXRzIGRpc2tzLiBJZiB5b3Ugd2FudCB0 byBhZGQgYSBkaXNrIGF0IHJ1bgordGltZSB2aWEgb3IgaW5zZXJ0IGEgQ0QsIHlvdSBjYW4ndCBw YXNzIGEgcGF0aCBiZWNhdXNlIFFFTVUgaXMKK2Nocm9vdGVkLiBJbnN0ZWFkIHVzZSB0aGUgYWRk LWZkIFFNUCBjb21tYW5kIGFuZCB1c2UKKy9kZXYvZmRzZXQvPGZkc2V0LWlkPiBhcyB0aGUgcGF0 aC4KKworQSBmdXJ0aGVyIGxheWVyIG9mIHJlc3RyaWN0aW9uIGNvdWxkIGJlIHRvIHNldCBSTElN SVRfTk9GSUxFUyB0byAnMCcsCithbmQgaGFuZCBhbGwgZGlza3Mgb3ZlciBRTVAuCisKKyMjIE1p Z3JhdGlvbgorCitXaGVuIGNhbGxpbmcgeGVuLXNhdmUtZGV2aWNlcy1zdGF0ZSwgc2luY2UgUUVN VSBpcyBydW5uaW5nIGluIGEgY2hyb290CitpdCBpcyBub3QgdXNlZnVsIHRvIHBhc3MgYSBmaWxl bmFtZSAoaXQgZG9lc24ndCBldmVuIGhhdmUgd3JpdGUgYWNjZXNzCitpbnNpZGUgdGhlIGNocm9v dCkuIEluc3RlYWQsIGdpdmUgaXQgYW4gb3BlbiBmZCB1c2luZyB0aGUgYWRkLWZkCittZWNoYW5p c20uCisKKyMjIyBOZXR3b3JrIG5hbWVzcGFjaW5nCisKK0VudGVyIFFFTVUgaW50byBpdHMgb3du IG5ldHdvcmsgbmFtZXNwYWNlIChpbiBhZGRpdGlvbiB0byBtb3VudCAmIElQQworbmFtZXNwYWNl cykuICBCYXNpY2FsbHkgY2hhbmdlIHRoZSAndW5zaGFyZScgY2FsbCB0byBiZSBhcyBmb2xsb3dz OgorCisgICAgdW5zaGFyZShDTE9ORV9ORVdORVQgfCBDTE9ORV9ORVdOUyB8IENMT05FX05FV0lQ QykKKworIyMjIE5ldHdvcmsKIAorSWYgUUVNVSBydW5zIGluIGl0cyBvd24gbmV0d29yayBuYW1l c3BhY2UsIGl0IGNhbid0IG9wZW4gdGhlIHRhcAorZGV2aWNlIGl0c2VsZiBiZWNhdXNlIHRoZSBp bnRlcmZhY2Ugd29uJ3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIGl0cworb3duIG5hbWVzcGFjZS4g U28gaW5zdGVhZCwgaGF2ZSB0aGUgdG9vbHN0YWNrIG9wZW4gdGhlIGRldmljZSBhbmQgcGFzcwor aXQgYXMgYW4gZmQgb24gdGhlIGNvbW1hbmQtbGluZToKIAotMikgYSB1c2VyIG5hbWVkICJ4ZW4t cWVtdXVzZXItc2hhcmVkIgotQXMgYSBmYWxsIGJhY2sgaWYgYm90aCAxKSBmYWlscywgbGlieGwg d2lsbCB1c2UgYSBzaW5nbGUgdXNlciBmb3IKLWFsbCBRRU1VIGluc3RhbmNlcy4gVGhlIHVzZXIg aXMgbmFtZWQgeGVuLXFlbXV1c2VyLXNoYXJlZC4gVGhpcyBpcwotbGVzcyBzZWN1cmUgYnV0IHN0 aWxsIGJldHRlciB0aGFuIHJ1bm5pbmcgUUVNVSBhcyByb290LiBVc2luZyB0aGlzIGlzIGFzCi1z aW1wbGUgYXMgY3JlYXRpbmcganVzdCBvbmUgbW9yZSB1c2VyIG9uIHlvdXIgaG9zdDoKKyAgICAt ZGV2aWNlIHJ0bDgxMzksbmV0ZGV2PXRhcG5ldDAsbWFjPS4uLiAtbmV0ZGV2IHRhcCxpZD10YXBu ZXQwLGZkPTx0YXBmZD4KIAotYWRkdXNlciAtLW5vLWNyZWF0ZS1ob21lIC0tc3lzdGVtIHhlbi1x ZW11dXNlci1zaGFyZWQKKyMjIyBWTkMKIAorSWYgUUVNVSBydW5zIGluIGl0cyBvd24gbmV0d29y ayBuYW1lc3BhY2UsIGl0IGlzIG5vdCBzdHJhaWdodGZvcndhcmQKK3RvIGxpc3RlbiBvbiBhIFRD UCBzb2NrZXQgb3V0c2lkZSBvZiBpdHMgb3duIG5ldHdvcmsgbmFtZXNwYWNlLiBPbmUKK29wdGlv biB3b3VsZCBiZSB0byB1c2UgVk5DIG92ZXIgYSBVTklYIHNvY2tldDoKIAotMykgcm9vdAotQXMg YSBsYXN0IHJlc29ydCwgbGlieGwgd2lsbCBzdGFydCBRRU1VIGFzIHJvb3QuCisgICAgLXZuYyB1 bml4Oi92YXIvcnVuL3hlbi92bmMtPGRvbWlkPgogCitIb3dldmVyLCB0aGlzIHdvdWxkIGJyZWFr IGZ1bmN0aW9uYWxpdHkgaW4gdGhlIGdlbmVyYWwgY2FzZTsgSSB0aGluaword2UgbmVlZCB0byBo YXZlIHRoZSB0b29sc3RhY2sgb3BlbiBhIHNvY2tldCBhbmQgcGFzcyB0aGUgZmQgdG8gUUVNVQor KHdoaWNoIHJlcXVpcmVzIGNoYW5nZXMgdG8gUUVNVSkuCiAKLVBsZWFzZSBub3RlIHRoYXQgcnVu bmluZyBRRU1VIGFzIG5vbi1yb290IGNhdXNlcyBzZXZlcmFsIGZlYXR1cmVzIGxpa2UKLW1pZ3Jh dGlvbiBhbmQgUENJIHBhc3N0aHJvdWdoIHRvIG5vdCB3b3JrIHByb3Blcmx5IGFuZCBtYXkgcHJl dmVudCB0aGUgZ3Vlc3QKLWZyb20gYm9vdGluZy4KLS0gCjIuMTYuMgoKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK WGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v cmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=