From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Dan Magenheimer" Subject: [PATCH] xenballoond (memory overcommit) scripts Date: Mon, 30 Jun 2008 18:01:20 -0600 Message-ID: <20080630180120375.00000003744@djm-pc> Reply-To: "dan.magenheimer@oracle.com" Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=-------790e6e00790e6e00 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" Cc: Keir Fraser List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format ---------790e6e00790e6e00 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 QXR0YWNoZWQgaXMgdGhlIGN1cnJlbnQgeGVuYmFsbG9vbmQgc2NyaXB0LXNldCBJDQp0YWxr ZWQgYWJvdXQgYXQgWGVuIFN1bW1pdCAyMDA4IHRoYXQgc3VwcG9ydHMNCm1lbW9yeSBvdmVy Y29tbWl0Lg0KDQpJJ3ZlIGhhZCBhIG51bWJlciBvZiByZXF1ZXN0cyBmb3IgdGhlIHNjcmlw dHMgYW5kLA0KdGhvdWdoIG1vcmUgcG9saXNoaW5nIHdvdWxkIGJlIG5pY2UsIGl0IG1ha2Vz IHNlbnNlDQp0byBwdXNoIHRoZW0gdXBzdHJlYW0gc28gdGhhdCBvdGhlcnMgaW4gdGhlIGNv bW11bml0eQ0KY2FuIHRyeS90ZXN0IHRoZW0gYW5kIGltcHJvdmUgb24gdGhlbS4NCg0KTm90 ZSB0aGF0IHRoZXJlIGlzIG5vIGltcGFjdCBvbiBhbnkgeGVuIGluc3RhbGxhdGlvbg0Kb3Ig b24gYW55IGd1ZXN0IHVubGVzcyB0aGUgc2NyaXB0cyBhcmUgaW50ZW50aW9uYWxseQ0KaW5z dGFsbGVkIGFuZCBjb25maWd1cmVkIG9uIG9uZSBvciBtb3JlIGd1ZXN0cy4NCg0KU2VlIHRo ZSBSRUFETUUgYW5kIGNvbmYgZmlsZXMgZm9yIG1vcmUgaW5mby4NCg0KQWxsIGZpbGVzIGFy ZSBuZXcgc28sIGluIGFkZGl0aW9uIHRvIHRoZSBwYXRjaCwNCnRoZXNlIGhnIGFkZCBjb21t YW5kcyB3aWxsIG5lZWQgdG8gYmUgZG9uZSBpbg0KdGhlIG1haW4gdHJlZS4NCg0KaGcgYWRk IHRvb2xzL3hlbmJhbGxvb25kDQpoZyBhZGQgdG9vbHMveGVuYmFsbG9vbmQveGVuYmFsbG9v bmQuaW5pdA0KaGcgYWRkIHRvb2xzL3hlbmJhbGxvb25kL3hlbmJhbGxvb25kDQpoZyBhZGQg dG9vbHMveGVuYmFsbG9vbmQveGVuYmFsbG9vbi5jb25mDQpoZyBhZGQgdG9vbHMveGVuYmFs bG9vbmQveGVuYmFsbG9vbi5SRUFETUUNCmhnIGFkZCB0b29scy94ZW5iYWxsb29uZC94ZW5i YWxsb29uLW1vbml0b3INCg0KU2lnbmVkLW9mZi1ieTogRGFuIE1hZ2VuaGVpbWVyIDxkYW4u bWFnZW5oZWltZXJAb3JhY2xlLmNvbT4NCg0KVGhhbmtzLA0KRGFu ---------790e6e00790e6e00 Content-Type: application/octet-stream; name="xenballoon.patch" Content-Disposition: attachment; filename="xenballoon.patch" Content-Transfer-Encoding: base64 ZGlmZiAtciAwOTcyZmMyM2I1MDQgdG9vbHMveGVuYmFsbG9vbi94ZW5iYWxsb29uLW1vbml0 b3IKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIv dG9vbHMveGVuYmFsbG9vbi94ZW5iYWxsb29uLW1vbml0b3IJTW9uIEp1biAzMCAxNzo1ODow NCAyMDA4IC0wNjAwCkBAIC0wLDAgKzEsNDMgQEAKKyMhL2Jpbi9iYXNoCisjCisjIHhlbmJh bGxvb24tbW9uaXRvciAtIG1vbml0b3IgY2VydGFpbiBzdGF0cyBmcm9tIHhlbmJhbGxvb25k CisjICAgKHJ1biBpbiBkb20wIHdpdGggIndhdGNoIC1kIHhlbmJhbGxvb24tbW9uaXRvciIg Zm9yIHhlbnRvcC1saWtlIG91dHB1dCkKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA5IE9yYWNs ZSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuCisjIEFsbCByaWdodHMgcmVz ZXJ2ZWQKKyMgV3JpdHRlbiBieTogRGFuIE1hZ2VuaGVpbWVyIDxkYW4ubWFnZW5oZWltZXJA b3JhY2xlLmNvbT4KKyMKKyMgSGludDogVXNlICJ4bSBzY2hlZC1jcmVkaXQgLWQgMCAtdyAy MDAwIiB0byB3YXRjaCBvbiBoZWF2aWx5IGxvYWRlZCBtYWNoaW5lcworIworZWNobyAiaWQg ICBtZW0ta2IgIHRndC1rYiAgY29tbWl0ICAgc3dhcGluICBzd2Fwb3V0ICAgICAgcGdpbiAg ICAgcGdvdXQgYWN0aXZlKHNlYykiCitmb3IgaSBpbiBgeGVuc3RvcmUtbGlzdCAvbG9jYWwv ZG9tYWluYDsgZG8KKyBpZiBbICIkaSIgLW5lIDAgXTsgdGhlbgorIHRvdD0wOyB0Z3Q9MDsg c2luPTA7IHNvdXQ9MDsgcGdpbj0wOyBwZ291dD0wOyBjbXQ9MDsgdXA9MDsgaWRsZT0wOyBh Y3Q9MDsKKyBpZiB4ZW5zdG9yZS1leGlzdHMgL2xvY2FsL2RvbWFpbi8kaS9tZW1vcnkvbWVt aW5mbzsgdGhlbgorICB0b3Q9YHhlbnN0b3JlLXJlYWQgL2xvY2FsL2RvbWFpbi8kaS9tZW1v cnkvbWVtaW5mbyB8IGdyZXAgTWVtVG90YWwgXAorICAgfCBzZWQgJ3MvW14xLTldKlwoWzEt OV1bMC05XSpcKS4qL1wxLydgCisgIGNtdD1geGVuc3RvcmUtcmVhZCAvbG9jYWwvZG9tYWlu LyRpL21lbW9yeS9tZW1pbmZvIHwgZ3JlcCBDb21taXR0ZWRfQVMgXAorICAgfCBzZWQgJ3Mv W14xLTldKlwoWzEtOV1bMC05XSpcKS4qL1wxLydgCisgZmkKKyBpZiB4ZW5zdG9yZS1leGlz dHMgL2xvY2FsL2RvbWFpbi8kaS9tZW1vcnkvc2VsZnRhcmdldDsgdGhlbgorICB0Z3Q9YHhl bnN0b3JlLXJlYWQgL2xvY2FsL2RvbWFpbi8kaS9tZW1vcnkvc2VsZnRhcmdldGAKKyBmaQor IGlmIHhlbnN0b3JlLWV4aXN0cyAvbG9jYWwvZG9tYWluLyRpL21lbW9yeS92bXN0YXQ7IHRo ZW4KKyAgc2luPWB4ZW5zdG9yZS1yZWFkIC9sb2NhbC9kb21haW4vJGkvbWVtb3J5L3Ztc3Rh dCB8IGdyZXAgcHN3cGluIFwKKyAJfCBjdXQgLWQiICIgLWYyYAorICBzb3V0PWB4ZW5zdG9y ZS1yZWFkIC9sb2NhbC9kb21haW4vJGkvbWVtb3J5L3Ztc3RhdCB8IGdyZXAgcHN3cG91dCBc CisgCXwgY3V0IC1kIiAiIC1mMmAKKyAgcGdpbj1geGVuc3RvcmUtcmVhZCAvbG9jYWwvZG9t YWluLyRpL21lbW9yeS92bXN0YXQgfCBncmVwIHBncGdpbiBcCisgCXwgY3V0IC1kIiAiIC1m MmAKKyAgcGdvdXQ9YHhlbnN0b3JlLXJlYWQgL2xvY2FsL2RvbWFpbi8kaS9tZW1vcnkvdm1z dGF0IHwgZ3JlcCBwZ291dCBcCisgIAl8IGN1dCAtZCIgIiAtZjJgCisgZmkKKyBpZiB4ZW5z dG9yZS1leGlzdHMgL2xvY2FsL2RvbWFpbi8kaS9tZW1vcnkvdXB0aW1lOyB0aGVuCisgIHVw PWB4ZW5zdG9yZS1yZWFkIC9sb2NhbC9kb21haW4vJGkvbWVtb3J5L3VwdGltZSB8IGN1dCAt ZCIgIiAtZjFgCisgIGlkbGU9YHhlbnN0b3JlLXJlYWQgL2xvY2FsL2RvbWFpbi8kaS9tZW1v cnkvdXB0aW1lIHwgY3V0IC1kIiAiIC1mMmAKKyAgYWN0PWBlY2hvICR1cCAtICRpZGxlIHwg YmMgLWlxYAorIGZpCisgcHJpbnRmICIlMmQgJThkJThkJThkJTlkJTlkJTEwZCUxMGQlMTAu MmZcbiIgJGkgJHRvdCAkdGd0ICRjbXQgJHNpbiAkc291dCAkcGdpbiAkcGdvdXQgJGFjdAor IGZpCitkb25lCitlY2hvIEZyZWUgbWVtb3J5OiBgeG0gaW5mbyB8IGdyZXAgZnJlZSB8IHNl ZCAncy9bXjEtOV0qXChbMS05XVswLTldKlwpLiovXDEvJ2AgTUIKZGlmZiAtciAwOTcyZmMy M2I1MDQgdG9vbHMveGVuYmFsbG9vbi94ZW5iYWxsb29uLmNvbmYKLS0tIC9kZXYvbnVsbAlU aHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvdG9vbHMveGVuYmFsbG9vbi94 ZW5iYWxsb29uLmNvbmYJTW9uIEp1biAzMCAxNzo1ODowNCAyMDA4IC0wNjAwCkBAIC0wLDAg KzEsOTEgQEAKKyMjIFBhdGg6IFN5c3RlbS94ZW4KKyMjIERlc2NyaXB0aW9uOiB4ZW4gZG9t YWluIHN0YXJ0L3N0b3Agb24gYm9vdAorIyMgVHlwZTogc3RyaW5nCisjIyBEZWZhdWx0OiAK KworIyBOT1RFOiAieGVuYnVzIGlzIGVuYWJsZWQiIG1lYW5zIG5vdCBvbmx5IHRoYXQgL3By b2MveGVuL3hlbmJ1cyBleGlzdHMKKyMgYnV0IGFsc28gdGhhdCAvdXNyL2Jpbi94ZW5zdG9y ZS0qIHRvb2xzIGFyZSBpbnN0YWxsZWQuCisKKyMjIFR5cGU6IGJvb2xlYW4KKyMjIERlZmF1 bHQ6IGZhbHNlCisjCisjIElmIFhFTkJBTExPT05fU0VMRiBpcyB0cnVlLCBzZWxmYmFsbG9v bmluZyB3aWxsIG9jY3VyLCBtZWFuaW5nIHRoZQorIyBiYWxsb29uIGRyaXZlciB3aWxsIGdy b3cgYW5kIHNocmluayBhY2NvcmRpbmcgdG8gYXZhaWxhYmxlIG1lbW9yeS4KKyMgSWYgeGVu YnVzIGlzIGVuYWJsZWQsIG1heSBiZSBvdmVycmlkZGVuIGJ5IHttZW1vcnkvc2VsZmJhbGxv b259PT0wCisjIElmIGZhbHNlIGJ1dCB4ZW5iYWxsb29uZCBpcyBhYmxlIHRvIGNvbW11bmlj YXRlIHdpdGggZG9tYWluMCB2aWEKKyMgeGVuYnVzLCBiYWxsb29uIHRhcmdldHMgd2lsbCBi ZSBzZXQgYnkgZG9tYWluMAorIyAKK1hFTkJBTExPT05fU0VMRj1mYWxzZQorCisjIyBUeXBl OiBpbnRlZ2VyIChtdXN0IGJlID4gMCkKKyMjIERlZmF1bHQ6IDEKKyMKKyMgSWYgc2VsZi1i YWxsb29uaW5nLCBudW1iZXIgb2Ygc2Vjb25kcyBiZXR3ZWVuIGNoZWNrcy9hZGp1c3RtZW50 cy4KKyMgSWYgeGVuYnVzIGlzIGVuYWJsZWQsIG1heSBiZSBvdmVycmlkZGVuIGJ5IHttZW1v cnkvaW50ZXJ2YWx9CitYRU5CQUxMT09OX1NFTEZfSU5URVJWQUw9MQorCisjIyBUeXBlOiBp bnRlZ2VyIChtdXN0IGJlID4gMCkKKyMjIERlZmF1bHQ6IDEKKyMKKyMgSWYgTk9UIHNlbGYt YmFsbG9vbmluZyBidXQgeGVuYnVzIGlzIGVuYWJsZWQsIG51bWJlciBvZiBzZWNvbmRzIGJl dHdlZW4KKyMgY2hlY2tzL2FkanVzdG1lbnRzLiBNYXkgYmUgb3ZlcnJpZGRlbiBieSB7bWVt b3J5L2ludGVydmFsfQorWEVOQkFMTE9PTl9JTlRFUlZBTD0xCisKKyMjIFR5cGU6IGludGVn ZXIgKG11c3QgYmUgPiAwKQorIyMgRGVmYXVsdDogMTAKKyMKKyMgV2hlbiBjdXJyZW50ID4g dGFyZ2V0LCByZWR1Y2VzIHJhdGUgYXQgd2hpY2ggdGFyZ2V0IG1lbW9yeSBpcyBiYWxsb29u ZWQKKyMgb3V0LiAgRm9yIGEgdmFsdWUgb2YgbiwgMS9uIG9mIHRoZSBkaWZmZXJlbmNlIHdp bGwgYmUgYmFsbG9vbmVkLgorIyBUaGlzIHZhbHVlIGFwcGxpZXMgYm90aCB0byBzZWxmYmFs bG9vbmluZyBhbmQgZGlyZWN0ZWQgYmFsbG9vbmluZy4KKyMgTWF5IGJlIG92ZXJyaWRkZW4g Ynkge21lbW9yeS9kb3duaHlzdGVyZXNpc30KK1hFTkJBTExPT05fQVVUT19ET1dOSFlTVEVS RVNJUz0xMAorCisjIyBUeXBlOiBpbnRlZ2VyIChtdXN0IGJlID4gMCkKKyMjIERlZmF1bHQ6 IDEKKyMKKyMgV2hlbiBjdXJyZW50IDwgdGFyZ2V0LCByZWR1Y2VzIHJhdGUgYXQgd2hpY2gg dGFyZ2V0IG1lbW9yeSBpcyByZWNsYWltZWQKKyMgKGlmIGF2YWlsYWJsZSkuICBGb3IgYSB2 YWx1ZSBvZiBuLCAxL24gb2YgdGhlIGRpZmZlcmVuY2Ugd2lsbCBiZSBiYWxsb29uZWQuCisj IFRoaXMgdmFsdWUgYXBwbGllcyBib3RoIHRvIHNlbGZiYWxsb29uaW5nIGFuZCBkaXJlY3Rl ZCBiYWxsb29uaW5nLgorIyBNYXkgYmUgb3ZlcnJpZGRlbiBieSB7bWVtb3J5L3VwaHlzdGVy ZXNpc30KK1hFTkJBTExPT05fQVVUT19VUEhZU1RFUkVTSVM9MQorCisjIyBUeXBlOiBpbnRl Z2VyIChtdXN0IGJlID49IDApCisjIyBEZWZhdWx0OiAwCisjCisjIEluIG9yZGVyIHRvIGF2 b2lkIGJhbGxvb25pbmcgc28gbXVjaCBtZW1vcnkgdGhhdCBhIGd1ZXN0IGV4cGVyaWVuY2Vz CisjIG91dC1vZi1tZW1vcnkgZXJyb3JzIChPT01zKSwgbWVtb3J5IHdpbGwgbm90IGJlIGJh bGxvb25lZCBvdXQgYmVsb3cKKyMgYSBtaW5pbXVtIHRhcmdldCwgaW4gTUIuICBJZiB0aGlz IHZhbHVlIGlzIDAgKGRlZmF1bHQpLCBhbiBoZXVyaXN0aWMKKyMgYmFzZWQgb24gdGhlIG1h eGltdW0gYW1vdW50IG9mIG1lbW9yeSB3aWxsIGJlIHVzZWQuICAoVGhlIGhldXJpc3RpYwor IyBwcm92aWRlcyB0aGUgc2FtZSBtaW5pbXVtIGFzIHJlY2VudCB2ZXJzaW9ucyBvZiB0aGUg YmFsbG9vbiBkcml2ZXIgYnV0CisjIGVhcmx5IHZlcnNpb25zIG9mIHRoZSBiYWxsb29uIGRy aXZlciBkaWQgbm90IGVuZm9yY2UgYSBtaW5pbXVtLikKK1hFTkJBTExPT05fTUlOTUVNPTAK KworIyMgVHlwZTogc3RyaW5nCisjIyBEZWZhdWx0OiAiL3Zhci9ydW4veGVuYmFsbG9vbi1t YXhtZW0iCisjCisjIExvY2F0aW9uIHdoZXJlIG1lbW9yeSBoaWdoLXdhdGVyIG1hcmsgaXMg c3RvcmVkOyBpZiBhIGd1ZXN0IHN1cHBvcnRzCisjIGhvdC1hZGQgbWVtb3J5LCBtYXhtZW0g bWlnaHQgaW5jcmVhc2UgYWNyb3NzIHRpbWUgYW5kIHRoZSBtaW5pbXVtCisjIHRhcmdldCBo ZXVyaXN0aWMgaXMgYmFzZWQgb24gbWF4IG1lbW9yeS4gTk9URTogUmVib290IGFmdGVyIGNo YW5naW5nCisjIHRoaXMgdmFyaWFibGUsIGVsc2Ugb3ZlcmJhbGxvb25pbmcgbWF5IG9jY3Vy LgorWEVOQkFMTE9PTl9NQVhNRU1GSUxFPS92YXIvcnVuL3hlbmJhbGxvb24tbWF4bWVtCisK KyMjIFR5cGU6IGludGVnZXIgKDAgb3IgMSkKKyMjIERlZmF1bHQ6IDEKKyMKKyMgSWYgeGVu YnVzIGlzIGVuYWJsZWQsIHdoZXRoZXIgc2VsZmJhbGxvb25pbmcgb3IgZGlyZWN0ZWQgYmFs bG9vbmluZywKKyMgcGxhY2UgdGhlIHJlc3VsdCBvZiAnY2F0IC9wcm9jL21lbWluZm8iIG9u IHhlbmJ1cyBhdCBtZW1vcnkvbWVtaW5mbworWEVOQkFMTE9PTl9TRU5EX01FTUlORk89MQor CisjIyBUeXBlOiBpbnRlZ2VyICgwIG9yIDEpCisjIyBEZWZhdWx0OiAxCisjCisjIElmIHhl bmJ1cyBpcyBlbmFibGVkLCB3aGV0aGVyIHNlbGZiYWxsb29uaW5nIG9yIGRpcmVjdGVkIGJh bGxvb25pbmcsCisjIHBsYWNlIHRoZSByZXN1bHQgb2YgJ2NhdCAvcHJvYy92bXN0YXQiIG9u IHhlbmJ1cyBhdCBtZW1vcnkvdm1zdGF0CitYRU5CQUxMT09OX1NFTkRfVk1TVEFUPTEKKwor IyMgVHlwZTogaW50ZWdlciAoMCBvciAxKQorIyMgRGVmYXVsdDogMQorIworIyBJZiB4ZW5i dXMgaXMgZW5hYmxlZCwgd2hldGhlciBzZWxmYmFsbG9vbmluZyBvciBkaXJlY3RlZCBiYWxs b29uaW5nLAorIyBwbGFjZSB0aGUgcmVzdWx0IG9mICdjYXQgL3Byb2MvdXB0aW1lIiBvbiB4 ZW5idXMgYXQgbWVtb3J5L3VwdGltZQorWEVOQkFMTE9PTl9TRU5EX1VQVElNRT0xCmRpZmYg LXIgMDk3MmZjMjNiNTA0IHRvb2xzL3hlbmJhbGxvb24veGVuYmFsbG9vbmQKLS0tIC9kZXYv bnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAgKzAwMDAKKysrIGIvdG9vbHMveGVuYmFs bG9vbi94ZW5iYWxsb29uZAlNb24gSnVuIDMwIDE3OjU4OjA0IDIwMDggLTA2MDAKQEAgLTAs MCArMSwyMDUgQEAKKyMhL2Jpbi9iYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAwOCBPcmFj bGUgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBhZmZpbGlhdGVzLgorIyBBbGwgcmlnaHRzIHJl c2VydmVkLgorIyBXcml0dGVuIGJ5OiBEYW4gTWFnZW5oZWltZXIgPGRhbi5tYWdlbmhlaW1l ckBvcmFjbGUuY29tPgorIworIyB4ZW5iYWxsb29uZCAtIEluLWd1ZXN0IGVuZ2luZSBmb3Ig WGVuIG1lbW9yeSBiYWxsb29uaW5nCisjIFZlcnNpb246IDA4MDYzMAorIworIyBUd28gInBv bGljaWVzIiBhcmUgaW1wbGVtZW50ZWQ6CisjIC0gU2VsZmJhbGxvb25pbmc6IEFkanVzdCBt ZW1vcnkgcGVyaW9kaWNhbGx5LCB3aXRoIG5vIChvciBsaXR0bGUpIGlucHV0CisjICAgICBm cm9tIGRvbWFpbjAuICBUYXJnZXQgbWVtb3J5IGlzIGRldGVybWluZWQgc29sZWx5IGJ5IHRo ZQorIyAgICAgQ29tbWl0dGVkX0FTIGxpbmUgaW4gL3Byb2MvbWVtaW5mbywgYnV0IHBhcmFt ZXRlcnMgbWF5IGFkanVzdAorIyAgICAgdGhlIHJhdGUgYXQgd2hpY2ggdGhlIHRhcmdldCBp cyBhY2hpZXZlZC4KKyMgLSBEaXJlY3RlZCBiYWxsb29uaW5nOiBBZGp1c3QgbWVtb3J5IHNv bGVseSBhcyBkaXJlY3RlZCBieSBkb21haW4wCisjCisjIFVuZGVyIHNvbWUgY2lyY3Vtc3Rh bmNlcywgIm91dHB1dCIgbWF5IGFsc28gYmUgZ2VuZXJhdGVkOyB0aGUgY29udGVudHMKKyMg b2YgL3Byb2MvbWVtaW5mbyBhbmQgL3Byb2Mvdm1zdGF0IG1heSBiZSBwZXJpb2RpY2FsbHkg cGxhY2VkIG9uIHhlbmJ1cy4KKyMKKyMgSWYgeGVuYnVzIGlzIHJ1bm5pbmcgYW5kIHRoZSAv dXNyL2Jpbi94ZW5zdG9yZS0qIHRvb2xzIGFyZSBpbnN0YWxsZWQsCisjICJ4ZW5idXMgaXMg ZW5hYmxlZCIuCisjCisjIFBhcmFtZXRlcnMgYXJlIGRvY3VtZW50ZWQgaW4gL2V0Yy9zeXNj b25maWcveGVuYmFsbG9vbi5jb25mLiBBbHRob3VnaCAKKyMgc29tZSBhcmUgbm90IHVzZWQg d2l0aCBkaXJlY3RlZCBiYWxsb29uaW5nLCBhbGwgbXVzdCBiZSBzZXQgcHJvcGVybHkuCisj IElmIHhlbmJ1cyBpcyBlbmFibGVkLCBzb21lIG9mIHRoZXNlIHBhcmFtZXRlcnMgbWF5IGJl IG92ZXJyaWRkZW4gYnkgdmFsdWVzCisjIHNldCBieSBkb21haW4wIHZpYSB4ZW5idXMuCisK K21pbm1iKCkgeworCVJFVFZBTD0kWEVOQkFMTE9PTl9NSU5NRU0KKwlpZiBbICRSRVRWQUwg LW5lIDAgXTsgdGhlbgorCQlyZXR1cm4gJFJFVFZBTAorCWZpCisJa2I9YGNhdCAkWEVOQkFM TE9PTl9NQVhNRU1GSUxFYAorCWxldCAibWI9JGtiLzEwMjQiCisJbGV0ICJwYWdlcz0ka2Iv NCIKKwkjIHRoaXMgYWxnb3JpdGhtIGZyb20gZHJpdmVycy94ZW4vYmFsbG9vbi9iYWxsb29u LmM6bWluaW11bV90YXJnZXQoKQorCSMgd2hpY2ggd2FzIGFkZGVkIHRvIGJhbGxvb24uYyBp biAyMDA4IHRvIGF2b2lkIGJhbGxvb25pbmcgdG9vIHNtYWxsCisJIyBpdCBpcyB1bm5lY2Vz c2FyeSBoZXJlIGV4Y2VwdCB0byBhY2NvbW9kYXRlIHByZS0yMDA4IGJhbGxvb24gZHJpdmVy cworCSMgbm90ZSB0aGF0IHJhbmdlcyBhcmUgYWRqdXN0ZWQgYmVjYXVzZSBhIFZNIHdpdGgg Im1lbW9yeT0xMDI0IgorCSMgZ2V0cyBzb21ld2hhdCBsZXNzIHRoYW4gMTAyNE1CCisJaWYg WyAkbWIgLWx0IDEyNSBdOyB0aGVuCisJCWxldCBSRVRWQUw9IiQoKCA4ICsgKCRwYWdlcyA+ PiA5KSApKSIKKwllbGlmIFsgJG1iIC1sdCA1MDAgXTsgdGhlbgorCQlsZXQgUkVUVkFMPSIk KCggNDAgKyAoJHBhZ2VzID4+IDEwKSApKSIKKwllbGlmIFsgJG1iIC1sdCAyMDAwIF07IHRo ZW4KKwkJbGV0IFJFVFZBTD0iJCgoIDEwNCArICgkcGFnZXMgPj4gMTEpICkpIgorCWVsc2UK KwkJbGV0IFJFVFZBTD0iJCgoIDI5NiArICgkcGFnZXMgPj4gMTMpICkpIgorCWZpCisJcmV0 dXJuCSMgdmFsdWUgcmV0dXJuZWQgaW4gUkVUVkFMIGluIG1CCit9CisKK2N1cmtiKCkgewor CWtiPWBncmVwIE1lbVRvdGFsIC9wcm9jL21lbWluZm8gfCBzZWQgJ3MvICAqLyAvJyB8IFwK KwkJY3V0IC1mMiAtZCcgJ2AKKwlSRVRWQUw9JGtiCisJcmV0dXJuICAjIHZhbHVlIHJldHVy bmVkIGluIFJFVFZBTCBpbiBrQgorfQorCitkb3duaHlzdGVyZXNpcygpIHsKKwlSRVRWQUw9 JFhFTkJBTExPT05fQVVUT19ET1dOSFlTVEVSRVNJUworCWlmIFsgJHhlbnN0b3JlX2VuYWJs ZWQgPSAidHJ1ZSIgXTsgdGhlbgorCQlpZiB4ZW5zdG9yZS1leGlzdHMgbWVtb3J5L2Rvd25o eXN0ZXJlc2lzIDsgdGhlbgorCQkJUkVUVkFMPWB4ZW5zdG9yZS1yZWFkIG1lbW9yeS9kb3du aHlzdGVyZXNpc2AKKwkJZmkKKwlmaQorCXJldHVybgorfQorCit1cGh5c3RlcmVzaXMoKSB7 CisJUkVUVkFMPSRYRU5CQUxMT09OX0FVVE9fVVBIWVNURVJFU0lTCisJaWYgWyAkeGVuc3Rv cmVfZW5hYmxlZCA9ICJ0cnVlIiBdOyB0aGVuCisJCWlmIHhlbnN0b3JlLWV4aXN0cyBtZW1v cnkvdXBoeXN0ZXJlc2lzIDsgdGhlbgorCQkJUkVUVkFMPWB4ZW5zdG9yZS1yZWFkIG1lbW9y eS91cGh5c3RlcmVzaXNgCisJCWZpCisJZmkKKwlyZXR1cm4KK30KKworc2VsZmJhbGxvb25f ZXZhbCgpIHsKKwlpZiBbICR4ZW5zdG9yZV9lbmFibGVkID0gInRydWUiIF07IHRoZW4KKwkJ aWYgeGVuc3RvcmUtZXhpc3RzIG1lbW9yeS9zZWxmYmFsbG9vbjsgdGhlbgorCQkJUkVUVkFM PWB4ZW5zdG9yZS1yZWFkIG1lbW9yeS9zZWxmYmFsbG9vbmAKKwkJCWlmIFsgJFJFVFZBTCAt ZXEgMSBdOyB0aGVuCisJCQkJc2VsZmJhbGxvb25fZW5hYmxlZD10cnVlCisJCQkJcmV0dXJu CisJCQlmaQorCQlmaQorCWZpCisJc2VsZmJhbGxvb25fZW5hYmxlZD0kWEVOQkFMTE9PTl9T RUxGCisJcmV0dXJuCit9CisKK3NlbGZ0YXJnZXQoKSB7CisJdGd0a2I9YGdyZXAgQ29tbWl0 dGVkX0FTIC9wcm9jL21lbWluZm8gfCBzZWQgJ3MvICAqLyAvJyB8IGN1dCAtZjIgLWQnICdg CisJbWlubWIKKwlsZXQgIm1pbmJ5dGVzPSRSRVRWQUwqMTAyNCoxMDI0IgorCWxldCAidGd0 Ynl0ZXM9JHRndGtiKjEwMjQiCisJaWYgWyAkdGd0Ynl0ZXMgLWx0ICRtaW5ieXRlcyBdOyB0 aGVuCisJCWxldCAidGd0Ynl0ZXM9JG1pbmJ5dGVzIgorCWZpCisJUkVUVkFMPSR0Z3RieXRl cyAgIyB2YWx1ZSByZXR1cm5lZCBpbiBSRVRWQUwgaW4gYnl0ZXMKKwlyZXR1cm4KK30KKwor IyAkMSA9PSAxIG1lYW5zIHVzZSBzZWxmdGFyZ2V0LCBlbHNlIHRhcmdldCBpbiBrQgorYmFs bG9vbl90b190YXJnZXQoKSB7CisJaWYgWyAiJDEiIC1lcSAxIF07IHRoZW4KKwkJc2VsZnRh cmdldAorCQl0Z3RieXRlcz0kUkVUVkFMCisJZWxzZQorCQlsZXQgInRndGJ5dGVzPSQoKCAk MSAqIDEwMjQgKSkiCisJZmkKKwljdXJrYgorCWxldCAiY3VyYnl0ZXM9JFJFVFZBTCoxMDI0 IgorCWlmIFsgJGN1cmJ5dGVzIC1ndCAkdGd0Ynl0ZXMgXTsgdGhlbgorCQlkb3duaHlzdGVy ZXNpcworCQlkb3duaHlzPSRSRVRWQUwKKwkJaWYgWyAkZG93bmh5cyAtbmUgMCBdOyB0aGVu CisJCQlsZXQgInRndGJ5dGVzPSQoKCAkY3VyYnl0ZXMgLSBcCisJCQkJKCAoICRjdXJieXRl cyAtICR0Z3RieXRlcyApIC8gJGRvd25oeXMgKSApKSIKKwkJZmkKKwllbHNlIGlmIFsgJGN1 cmJ5dGVzIC1sdCAkdGd0Ynl0ZXMgXTsgdGhlbgorCQl1cGh5c3RlcmVzaXMKKwkJdXBoeXM9 JFJFVFZBTAorCQlsZXQgInRndGJ5dGVzPSQoKCAkY3VyYnl0ZXMgKyBcCisJCQkJKCAoICR0 Z3RieXRlcyAtICRjdXJieXRlcyApIC8gJHVwaHlzICkgKSkiCisJCWZpCisJZmkKKwllY2hv ICR0Z3RieXRlcyA+IC9wcm9jL3hlbi9iYWxsb29uCisJaWYgWyAkeGVuc3RvcmVfZW5hYmxl ZCA9ICJ0cnVlIiBdOyB0aGVuCisJCWxldCAidGd0a2I9JCgoICR0Z3RieXRlcy8xMDI0ICkp IgorCQl4ZW5zdG9yZS13cml0ZSBtZW1vcnkvc2VsZnRhcmdldCAkdGd0a2IKKwlmaQorfQor CitzZW5kX21lbW9yeV9zdGF0cygpIHsKKwlpZiBbICEgJHhlbnN0b3JlX2VuYWJsZWQgPSAi dHJ1ZSIgXTsgdGhlbgorCQlyZXR1cm4KKwlmaQorCWlmIFsgJFhFTkJBTExPT05fU0VORF9N RU1JTkZPIF07IHRoZW4KKwkJeGVuc3RvcmUtd3JpdGUgbWVtb3J5L21lbWluZm8gImBjYXQg L3Byb2MvbWVtaW5mb2AiCisJZmkKKwlpZiBbICRYRU5CQUxMT09OX1NFTkRfVk1TVEFUIF07 IHRoZW4KKwkJeGVuc3RvcmUtd3JpdGUgbWVtb3J5L3Ztc3RhdCAiYGNhdCAvcHJvYy92bXN0 YXRgIgorCWZpCisJaWYgWyAkWEVOQkFMTE9PTl9TRU5EX1VQVElNRSBdOyB0aGVuCisJCXhl bnN0b3JlLXdyaXRlIG1lbW9yeS91cHRpbWUgImBjYXQgL3Byb2MvdXB0aW1lYCIKKwlmaQor fQorCitpZiBbICEgLWYgL3Byb2MveGVuL2JhbGxvb24gXTsgdGhlbgorCWVjaG8gIiQwOiBu byBiYWxsb29uIGRyaXZlciBpbnN0YWxsZWQiCisJZXhpdCAwCitmaQoraWYgWyAhIC1mIC9w cm9jL21lbWluZm8gXTsgdGhlbgorCWVjaG8gIiQwOiBjYW4ndCByZWFkIC9wcm9jL21lbWlu Zm8iCisJZXhpdCAwCitmaQoreGVuc3RvcmVfZW5hYmxlZD10cnVlCitpZiBbIC1mIC91c3Iv YmluL3hlbnN0b3JlLWV4aXN0cyAtYSAtZiAvdXNyL2Jpbi94ZW5zdG9yZS1yZWFkIC1hIFwK KyAgICAgLWYgL3Vzci9iaW4veGVuc3RvcmUtd3JpdGUgXTsgdGhlbgorCXhlbnN0b3JlX2Vu YWJsZWQ9dHJ1ZQorZWxzZQorCWVjaG8gIiQwOiBtaXNzaW5nIC91c3IvYmluL3hlbnN0b3Jl LSogdG9vbHMsIGRpc2FibGluZyBkaXJlY3RlZCBiYWxsb29uaW5nIgorCXhlbnN0b3JlX2Vu YWJsZWQ9ZmFsc2UKK2ZpCisKKy4gL2V0Yy9zeXNjb25maWcveGVuYmFsbG9vbi5jb25mCisK K3doaWxlIHRydWU7CitkbworCSMgaGFuZGxlIHNwZWNpYWwgY2FzZSBmb3IgUFYgZG9tYWlu cyB3aXRoIGhvdC1hZGQgbWVtb3J5CisJaWYgWyAhIC1mICRYRU5CQUxMT09OX01BWE1FTUZJ TEUgXTsgdGhlbgorCQltYXhrYj0wCisJZWxzZQorCQltYXhrYj1gY2F0ICRYRU5CQUxMT09O X01BWE1FTUZJTEVgCisJZmkKKwljdXJrYj1gZ3JlcCBNZW1Ub3RhbCAvcHJvYy9tZW1pbmZv IHwgc2VkICdzLyAgKi8gLycgfCBjdXQgLWYyIC1kJyAnYAorCWlmIFsgJGN1cmtiIC1ndCAk bWF4a2IgXTsgdGhlbgorCQllY2hvICRjdXJrYiA+ICRYRU5CQUxMT09OX01BWE1FTUZJTEUK KwlmaQorCWludGVydmFsPSRYRU5CQUxMT09OX0lOVEVSVkFMCisJIyBkbyBzZWxmLWJhbGxv b25pbmcKKwlzZWxmYmFsbG9vbl9ldmFsCisJaWYgWyAkc2VsZmJhbGxvb25fZW5hYmxlZCA9 ICJ0cnVlIiBdOyB0aGVuCisJCWJhbGxvb25fdG9fdGFyZ2V0IDEKKwkJaW50ZXJ2YWw9JFhF TkJBTExPT05fU0VMRl9JTlRFUlZBTAorCSMgb3IgZG8gZGlyZWN0ZWQgYmFsbG9vbmluZwor CWVsaWYgWyAkeGVuc3RvcmVfZW5hYmxlZCA9ICJ0cnVlIiBdOyB0aGVuCisJCWlmIHhlbnN0 b3JlLWV4aXN0cyBtZW1vcnkvdGFyZ2V0IDsgdGhlbgorCQkJdGd0a2I9YHhlbnN0b3JlLXJl YWQgbWVtb3J5L3RhcmdldGAKKwkJCWJhbGxvb25fdG9fdGFyZ2V0ICR0Z3RrYgorCQlmaQor CQlpbnRlcnZhbD0kWEVOQkFMTE9PTl9JTlRFUlZBTAorCWZpCisJc2VuZF9tZW1vcnlfc3Rh dHMKKwlpZiBbICR4ZW5zdG9yZV9lbmFibGVkID0gInRydWUiIF07IHRoZW4KKwkJaWYgeGVu c3RvcmUtZXhpc3RzIG1lbW9yeS9pbnRlcnZhbCA7IHRoZW4KKwkJCWludGVydmFsPWB4ZW5z dG9yZS1yZWFkIG1lbW9yeS9pbnRlcnZhbGAKKwkJZmkKKwlmaQorCXNsZWVwICRpbnRlcnZh bAorZG9uZSAmCisKZGlmZiAtciAwOTcyZmMyM2I1MDQgdG9vbHMveGVuYmFsbG9vbi94ZW5i YWxsb29uZC5SRUFETUUKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5NzAg KzAwMDAKKysrIGIvdG9vbHMveGVuYmFsbG9vbi94ZW5iYWxsb29uZC5SRUFETUUJTW9uIEp1 biAzMCAxNzo1ODowNCAyMDA4IC0wNjAwCkBAIC0wLDAgKzEsODIgQEAKK1hlbmJhbGxvb25k LlJFQURNRQorUHJlbGltaW5hcnkgdmVyc2lvbiAwLjEsIDIwMDgvMDYvMzAKKworQ29weXJp Z2h0IChDKSAyMDA4IE9yYWNsZSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMu CitBbGwgcmlnaHRzIHJlc2VydmVkLgorV3JpdHRlbiBieSBEYW4gTWFnZW5oZWltZXIgPGRh bi5tYWdlbmhlaW1lckBvcmFjbGUuY29tPgorCitJTlRST0RVQ1RJT04KKworWGVuYmFsbG9v bmQgcnVucyBpbiBndWVzdCBkb21haW5zIGFuZCBib3RoIGltcGxlbWVudHMgc2VsZmJhbGxv b25pbmcgYW5kCitwcm92aWRlcyBtZXRyaWNzIHRvIGRvbTAgZm9yIChmdXR1cmUpIGRpcmVj dGVkIGJhbGxvb25pbmcuICBCb3RoIGNhcGFiaWxpdGllcworcHJvdmlkZSBhIGZvdW5kYXRp b24gZm9yIGJhc2ljICJtZW1vcnkgb3ZlcmNvbW1pdCIgZnVuY3Rpb25hbGl0eS4KKworV2l0 aCBzZWxmYmFsbG9vbmluZyBlbmFibGVkLCB4ZW5iYWxsb29uZCB1c2VzIHRoZSBDb21taXR0 ZWRfQVMgdmFsdWUgZm91bmQKK2luIC9wcm9jL21lbWluZm8gYXMgYSBmaXJzdCBhcHByb3hp bWF0aW9uIG9mIGhvdyBtdWNoIG1lbW9yeSBpcyByZXF1aXJlZAorYnkgdGhlIGd1ZXN0IGFu ZCBmZWVkcyB0aGlzIHN0YXRpc3RpYyBiYWNrIHRvIHRoZSBiYWxsb29uIGRyaXZlciB0byBp bmZsYXRlCitvciBkZWZsYXRlIHRoZSBiYWxsb29uIGFzIHJlcXVpcmVkIHRvIGFjaGlldmUg dGhlIHRhcmdldCBndWVzdCBtZW1vcnkgc2l6ZS4KK0h5c3RlcmVzaXMgcGFyYW1ldGVycyBt YXkgYmUgYWRqdXN0ZWQgdG8gcmF0ZS1saW1pdCBiYWxsb29uIGluZmxhdGlvbgorYW5kIGRl ZmxhdGlvbi4KKworSWYgY29uZmlndXJlZCwgY2VydGFpbiBzZWxmYmFsbG9vbmluZyBwYXJh bWV0ZXJzIC0tIGluY2x1ZGluZyBub3RhYmx5CitlbmFibGluZy9kaXNhYmxpbmcgb2Ygc2Vs Zi1iYWxsb29uaW5nIC0tIGNhbiBiZSBjb250cm9sbGVkIGZyb20gZG9tYWluMC4KKyhUaGVz ZSBhcmUgZnVsbHkgZG9jdW1lbnRlZCBpbiB4ZW5iYWxsb29uLmNvbmYuKQorCitJZiBjb25m aWd1cmVkLCB0aGUgZm9sbG93aW5nIGd1ZXN0IHN0YXRpc3RpY3MgYXJlIHNlbnQgYmFjayB0 byBkb21haW4wOgorLSAvcHJvYy9tZW1pbmZvCistIC9wcm9jL3Ztc3RhdAorLSAvcHJvYy91 cHRpbWUKK0luIGEgZnV0dXJlIHJlbGVhc2UsIHNvbWUgb2YgdGhlc2UgdmFsdWVzIHdpbGwg YmUgdXNlZCBieSBhIHBvbGljeSBtb2R1bGUKK2luIGRvbWFpbjAgdG8gY29udHJvbCBndWVz dCBiYWxsb29uIHNpemUgYW5kIHByb3ZpZGUgbWVtb3J5IGJhbGFuY2luZworYWNyb3NzIGFs bCBndWVzdHMgb24gYSBnaXZlbiBzeXN0ZW0uCisKK05vdGUgdGhhdCBubyBwYWdlIHNoYXJp bmcgKGNvbnRlbnQtYmFzZWQgb3Igb3RoZXJ3aXNlKSBpcyBpbXBsZW1lbnRlZAorYW5kIG5v IFZNTS1iYXNlZCBzd2FwcGluZyBpcyBuZWNlc3NhcnkuCisKK0ZvciBtb3JlIGluZm9ybWF0 aW9uLCBzZWU6CitodHRwOi8vd3d3Lnhlbi5vcmcvZmlsZXMveGVuc3VtbWl0Ym9zdG9uMDgv TWVtb3J5T3ZlcmNvbW1pdC1YZW5TdW1taXQyMDA4LnBkZgoraHR0cDovL3dpa2kueGVuc291 cmNlLmNvbS94ZW53aWtpL09wZW5fVG9waWNzX0Zvcl9EaXNjdXNzaW9uP2FjdGlvbj1BdHRh Y2hGaWxlJmRvPWdldCZ0YXJnZXQ9TWVtb3J5K092ZXJjb21taXQucGRmCisKK0lOU1RBTExB VElPTiBBTkQgREVQTE9ZTUVOVAorCitJbiB0aGlzIHByZWxpbWluYXJ5IHJlbGVhc2U6Cist IGRpcmVjdGVkIGJhbGxvb25pbmcgaXMgbm90IGltcGxlbWVudGVkLCB0aG91Z2ggYSBtb25p dG9yIGlzIHByb3ZpZGVkCistIG9ubHkgUmVkaGF0LWJhc2VkIGd1ZXN0cyBhcmUgc3VwcG9y dGVkCisKK0d1ZXN0IHByZXJlcXVpc2l0ZXMgdG8gdXNlIHhlbmJhbGxvb25kOgorLSBlYWNo IGd1ZXN0IG11c3QgYmUgY29uZmlndXJlZCB3aXRoIGFkZXF1YXRlWzFdIHN3YXAgc3BhY2UK Ky0gZWFjaCBndWVzdCBtdXN0IGhhdmUgdGhlIGJhbGxvb24gZHJpdmVyIGluc3RhbGxlZCAo L3Byb2MveGVuL2JhbGxvb24gZXhpc3RzKSAKKy0gaWYgZGlyZWN0ZWQgYmFsbG9vbmluZyAo b3IgbW9uaXRvcmluZykgaXMgZGVzaXJlZCwgeGVuc3RvcmUgdG9vbHMgbXVzdCBiZQorICBp bnN0YWxsZWQgaW4gZWFjaCBndWVzdCBpbiAvdXNyL2JpbiBbMl0KKworWzFdIGZvciBiZXN0 IHJlc3VsdHMsIGZvciBhIGd1ZXN0IHRoYXQgaXMgY29uZmlndXJlZCB3aXRoIG1heG1lbT1O IGFuZAorICAgIHJlcXVpcmVzIFogTUIgb2Ygc3dhcCBzcGFjZSB3aXRob3V0IHhlbmJhbGxv b25kLCBhdmFpbGFibGUgc3dhcCBzaG91bGQKKyAgICBiZSBpbmNyZWFzZWQgdG8gTitaIE1C IHdoZW4geGVuYmFsbG9vbmQgaXMgcnVubmluZworWzJdIHNwZWNpZmljYWxseSB4ZW5zdG9y ZS1yZWFkLCB4ZW5zdG9yZS1leGlzdHMsIGFuZCB4ZW5zdG9yZS13cml0ZSBtdXN0CisgICAg YmUgaW5zdGFsbGVkLiAgQmluYXJpZXMgY2FuIGJlIG9idGFpbmVkLCBmb3IgZXhhbXBsZSwg YnkgYnVpbGRpbmcKKyAgICB4ZW4tdnZ2Lmd6L3Rvb2xzIGluIGEgZ3Vlc3QtYmluYXJ5LWNv bXBhdGlibGUgZGV2ZWxvcG1lbnQgdHJlZQorCitJbnN0cnVjdGlvbnMgdG8gaW5zdGFsbC9k ZXBsb3kgeGVuYmFsbG9vbmQgKGluIFJlZGhhdC1iYXNlZCBzeXN0ZW0pOgorLSBpbiBlYWNo IGd1ZXN0OgorICAtIGVuc3VyZSBwcmUtcmVxdWlzaXRlcyBhcmUgbWV0IChzZWUgYWJvdmUp CisgIC0gcGxhY2UgeGVuYmFsbG9vbi5jb25mIGluIC9ldGMvc3lzY29uZmlnCisgIC0gcGxh Y2UgeGVuYmFsbG9vbmQgaW4gL3Vzci9zYmluCisgIC0gY29weSB4ZW5iYWxsb29uZC5pbml0 IHRvIC9ldGMvcmMuZC9pbml0LmQveGVuYmFsbG9vbmQgKG5vdGUgZmlsZSByZW5hbWUpCisg IC0gZWRpdCAvZXRjL3N5c2NvbmZpZy94ZW5iYWxsb29uZC5jb25mIGFzIGRlc2lyZWQgKGVz cGVjaWFsbHkgbm90ZSB0aGF0CisgICAgc2VsZmJhbGxvb25pbmcgZGVmYXVsdHMgYXMgb2Zm KQorICAtIHN0YXJ0IHhlbmJhbGxvb25kIHdpdGggInNlcnZpY2UgeGVuYmFsbG9vbmQgc3Rh cnQiLCBhbmQvb3IgY29uZmlndXJlCisgICAgeGVuYmFsbG9vbmQgdG8gc3RhcnQgYXQgaW5p dCAoZS5nLiAiY2hrY29uZmlnIHhlbmJhbGxvb25kIG9uIikKKy0gaW4gZG9tYWluMDoKKyAg LSBpZiBtb25pdG9yaW5nIGlzIGRlc2lyZWQsIHhlbmJhbGxvb24tbW9uaXRvciBtYXkgYmUg aW5zdGFsbGVkIGluIC91c3Ivc2JpbgorLSBub3RlIHRoYXQgY2VydGFpbiB4ZW5iYWxsb29u ZC5jb25mIHZhcmlhYmxlcyBtYXkgYmUgb3ZlcnJpZGRlbiBieSBkb21haW4wCisgIGlmIHhl bnN0b3JlIGlzIHJ1bm5pbmcgaW4gdGhlIGd1ZXN0OyB0aGVzZSBhcmUgZnVsbHkgZG9jdW1l bnRlZCBpbgorICB4ZW5iYWxsb29uZC5jb25mCisKK1RPRE86CiswODA2MzAgbW9kaWZpY2F0 aW9ucyB0byBzdXBwb3J0IFNVU0UtYmFzZWQgYW5kIGRlYmlhbi1iYXNlZCBndWVzdHMKKzA4 MDYzMCBkb21haW4wIGJhbGxvb25pbmcgcG9saWN5IG1vZHVsZQorMDgwNjMwIGV4cGVyaW1l bnQgd2l0aCBtb3JlIGFnZ3Jlc3NpdmUgKG9wdGlvbmFsbHkpIG1lbW9yeSBtaW5pbXVtIHRh cmdldHMKKzA4MDYzMCBCVUc6IHhlbmJhbGxvb25kIGRvZXNuJ3QgcHJvcGVybHkgcmVjb3Jk IHRoZSBmYWN0IHRoYXQgaXQncyBydW5uaW5nOworICAgICAgIGUuZy4gZmxpcHBpbmcgYmV0 d2VlbiBydW4gbGV2ZWxzIDUgYW5kIDMgbGF1bmNoZXMgYWRkaXRpb25hbCBkYWVtb25zCisw ODA2MzAgQlVHOiByZXBvcnRzIG9mIHBvc3NpYmxlIGluY29tcGF0aWJpbGl0ZXMgYmV0d2Vl biBiYWxsb29uaW5nIGFuZAorICAgICAgIHNhdmUvcmVzdG9yZS9taWdyYXRlIGhhdmUgbm90 IGJlZW4gZHVwbGljYXRlZApkaWZmIC1yIDA5NzJmYzIzYjUwNCB0b29scy94ZW5iYWxsb29u L3hlbmJhbGxvb25kLmluaXQKLS0tIC9kZXYvbnVsbAlUaHUgSmFuIDAxIDAwOjAwOjAwIDE5 NzAgKzAwMDAKKysrIGIvdG9vbHMveGVuYmFsbG9vbi94ZW5iYWxsb29uZC5pbml0CU1vbiBK dW4gMzAgMTc6NTg6MDQgMjAwOCAtMDYwMApAQCAtMCwwICsxLDkxIEBACisjIS9iaW4vYmFz aAorIworIyB4ZW5iYWxsb29uZAlTY3JpcHQgdG8gc3RhcnQgYW5kIHN0b3AgWGVuIGJhbGxv b25pbmcgZGFlbW9uLgorIworIyBDb3B5cmlnaHQgKEMpIDIwMDggT3JhY2xlIENvcnBvcmF0 aW9uIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4KKyMgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMg V3JpdHRlbiBieTogRGFuIE1hZ2VuaGVpbWVyIDxkYW4ubWFnZW5oZWltZXJAb3JhY2xlLmNv bT4KKyMKKyMgY2hrY29uZmlnOiAyMzQ1IDk4IDAxCisjIGRlc2NyaXB0aW9uOiBTdGFydHMg YW5kIHN0b3BzIHRoZSBYZW4gY29udHJvbCBkYWVtb24uCisjIyMgQkVHSU4gSU5JVCBJTkZP CisjIFByb3ZpZGVzOiAgICAgICAgICB4ZW5iYWxsb29uZAorIyBSZXF1aXJlZC1TdGFydDog ICAgJHN5c2xvZyAkcmVtb3RlX2ZzCisjIFNob3VsZC1TdGFydDoKKyMgUmVxdWlyZWQtU3Rv cDogICAgICRzeXNsb2cgJHJlbW90ZV9mcworIyBTaG91bGQtU3RvcDoKKyMgRGVmYXVsdC1T dGFydDogICAgIDMgNCA1CisjIERlZmF1bHQtU3RvcDogICAgICAwIDEgMiA2CisjIERlZmF1 bHQtRW5hYmxlZDogICB5ZXMKKyMgU2hvcnQtRGVzY3JpcHRpb246IFN0YXJ0L3N0b3AgeGVu ZAorIyBEZXNjcmlwdGlvbjogICAgICAgU3RhcnRzIGFuZCBzdG9wcyB0aGUgWGVuIGJhbGxv b25pbmcgZGFlbW9uLgorIyMjIEVORCBJTklUIElORk8KKworIyBTb3VyY2UgZnVuY3Rpb24g bGlicmFyeQorLiAvZXRjL2luaXQuZC9mdW5jdGlvbnMKKworI2Rvbid0IHVzZSBpbiBkb21h aW4wCitbIC1mIC9wcm9jL3hlbi9jYXBhYmlsaXRpZXMgXSAmJiBcCisJZ3JlcCAtcSAiY29u dHJvbF9kIiAvcHJvYy94ZW4vY2FwYWJpbGl0aWVzICYmIGV4aXQgMAorCitpZiBbIC1mIC9l dGMvc3lzY29uZmlnL3hlbmJhbGxvb24uY29uZiBdOyB0aGVuCisJLiAvZXRjL3N5c2NvbmZp Zy94ZW5iYWxsb29uLmNvbmYKK2ZpCisKKyMgQ2hlY2sgdGhhdCBiYWxsb29uIGRyaXZlciBp cyBwcmVzZW50CitbICEgLWYgL3Byb2MveGVuL2JhbGxvb24gXSAmJiBleGl0IDAKKworIyBS ZWNvcmQgb3JpZ2luYWwgbWVtb3J5IChpbiBrQikKK1sgLXogIiRYRU5CQUxMT09OX01BWE1F TUZJTEUiIF0gJiYgZXhpdCAwCitsZXQgbWF4bWVtPWBncmVwIE1lbVRvdGFsIC9wcm9jL21l bWluZm8gfCBzZWQgJ3MvICAqLyAvJyB8IGN1dCAtZjIgLWQnICdgCitpZiBbIC1mICIkWEVO QkFMTE9PTl9NQVhNRU1GSUxFIiBdOyB0aGVuCisJbGV0IG9sZG1heD1gY2F0ICRYRU5CQUxM T09OX01BWE1FTUZJTEVgCisJaWYgWyAkb2xkbWF4IC1ndCAkbWF4bWVtIF07IHRoZW4KKwkJ bGV0IG1heG1lbT1vbGRtYXgKKwlmaQorZmkKK2VjaG8gJG1heG1lbSA+ICRYRU5CQUxMT09O X01BWE1FTUZJTEUKKworUkVUVkFMPTAKK3Byb2c9InhlbmJhbGxvb25kIgorCitzdGFydCgp IHsKKyAgICAgICAgIyBTdGFydCBkYWVtb25zLgorICAgICAgICBlY2hvIC1uICQiU3RhcnRp bmcgJHByb2c6ICIKKyAgICAgICAgZGFlbW9uIHhlbmJhbGxvb25kICRPUFRJT05TCisJUkVU VkFMPSQ/CisgICAgICAgIGVjaG8KKwlyZXR1cm4gJFJFVFZBTAorfQorCitzdG9wKCkgewor ICAgICAgICBlY2hvIC1uICQiU2h1dHRpbmcgZG93biAkcHJvZzogIgorCWtpbGxwcm9jIHhl bmJhbGxvb25kCisJUkVUVkFMPSQ/CisgICAgICAgIGVjaG8KKwlyZXR1cm4gJFJFVFZBTAor fQorCisjIFNlZSBob3cgd2Ugd2VyZSBjYWxsZWQuCitjYXNlICIkMSIgaW4KKyAgc3RhcnQp CisJc3RhcnQKKyAgICAgICAgOzsKKyAgc3RvcCkKKwlzdG9wCisgICAgICAgIDs7CisgIHN0 YXR1cykKKwlzdGF0dXMgeGVuYmFsbG9vbmQKKwlSRVRWQUw9JD8KKwk7OworICByZXN0YXJ0 fHJlbG9hZCkKKwlzdG9wCisJc3RhcnQKKwlSRVRWQUw9JD8KKwk7OworICAqKQorICAgICAg ICBlY2hvICQiVXNhZ2U6ICQwIHtzdGFydHxzdG9wfHJlc3RhcnR8c3RhdHVzfSIKKyAgICAg ICAgZXhpdCAxCitlc2FjCisKK2V4aXQgJFJFVFZBTAo= ---------790e6e00790e6e00 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel ---------790e6e00790e6e00--