From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 04/19] libxl: introduce a PVH guest type Date: Tue, 22 Aug 2017 10:49:05 +0100 Message-ID: <20170822094920.70151-5-roger.pau@citrix.com> References: <20170822094920.70151-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dk5oQ-00058u-I0 for xen-devel@lists.xenproject.org; Tue, 22 Aug 2017 09:49:30 +0000 In-Reply-To: <20170822094920.70151-1-roger.pau@citrix.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: Wei Liu , boris.ostrovsky@oracle.com, Roger Pau Monne , Ian Jackson List-Id: xen-devel@lists.xenproject.org VGhlIG5ldyBndWVzdCB0eXBlIGlzIGludHJvZHVjZWQgdG8gdGhlIGxpYnhsIElETC4gbGlieGxf X2RvbWFpbl9tYWtlCmlzIGFsc28gbW9kaWZpZWQgdG8gc2F2ZSB0aGUgZ3Vlc3QgdHlwZSwgYW5k IGxpYnhsX19kb21haW5fdHlwZSBpcwpleHBhbmRlZCB0byBmZXRjaCB0aGF0IGluZm9ybWF0aW9u IHdoZW4gZGV0ZWN0aW5nIGd1ZXN0IHR5cGUuCgpUaGlzIGlzIHJlcXVpcmVkIGJlY2F1c2UgdGhl IGh5cGVydmlzb3Igb25seSBkaWZmZXJlbnRpYXRlcyBiZXR3ZWVuIFBWCmFuZCBIVk0gZ3Vlc3Rz LCBzbyBsaWJ4bCBuZWVkcyBzb21lIGV4dHJhIGluZm9ybWF0aW9uIGluIG9yZGVyIHRvCmRpZmZl cmVudGlhdGUgYmV0d2VlbiBhIEhWTSBhbmQgYSBQVkggZ3Vlc3QuCgpUaGUgbmV3IFBWSCBndWVz dCB0eXBlIGFuZCBpdCdzIG9wdGlvbnMgYXJlIGRvY3VtZW50ZWQgb24gdGhlIHhsLmNmZwptYW4g cGFnZS4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXgu Y29tPgotLS0KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzog V2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiBkb2NzL21hbi94bC5jZmcucG9kLjUu aW4gICAgfCAxMjEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IHRvb2xzL2xpYnhsL2xpYnhsX2NyZWF0ZS5jICB8ICAgNiArKysKIHRvb2xzL2xpYnhsL2xpYnhs X2RvbS5jICAgICB8ICAyOCArKysrKysrKy0tCiB0b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwg fCAgIDIgKwogNCBmaWxlcyBjaGFuZ2VkLCAxNTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC5jZmcucG9kLjUuaW4gYi9kb2NzL21hbi94bC5j ZmcucG9kLjUuaW4KaW5kZXggYTBmM2M4YWIyYS4uZTk1YjllOWNhNSAxMDA2NDQKLS0tIGEvZG9j cy9tYW4veGwuY2ZnLnBvZC41LmluCisrKyBiL2RvY3MvbWFuL3hsLmNmZy5wb2QuNS5pbgpAQCAt ODIsNiArODIsMTIgQEAgc2luZ2xlIGhvc3QgbXVzdCBiZSB1bmlxdWUuCiBTcGVjaWZpZXMgdGhh dCB0aGlzIGlzIHRvIGJlIGEgUFYgZG9tYWluLCBzdWl0YWJsZSBmb3IgaG9zdGluZyBYZW4tYXdh cmUgZ3Vlc3QKIG9wZXJhdGluZyBzeXN0ZW1zLiBUaGlzIGlzIHRoZSBkZWZhdWx0LgogCis9aXRl bSBCPHR5cGU9InB2aCI+CisKK1NwZWNpZmllcyB0aGF0IHRoaXMgaXMgdG8gYmUgYW4gUFZIIGRv bWFpbi4gVGhhdCBpcyBhIGxpZ2h0d2VpZ2h0IEhWTS1saWtlCitndWVzdCB3aXRob3V0IGEgZGV2 aWNlIG1vZGVsIGFuZCB3aXRob3V0IG1hbnkgb2YgdGhlIGVtdWxhdGVkIGRldmljZXMgYXZhaWxh YmxlCit0byBIVk0gZ3Vlc3RzLiBOb3RlIHRoYXQgdGhpcyBtb2RlIHJlcXVpcmVzIGEgUFZIIGF3 YXJlIGtlcm5lbC4KKwogPWl0ZW0gQjx0eXBlPSJodm0iPgogCiBTcGVjaWZpZXMgdGhhdCB0aGlz IGlzIHRvIGJlIGFuIEhWTSBkb21haW4uIFRoYXQgaXMsIGEgZnVsbHkgdmlydHVhbGlzZWQKQEAg LTQ5Niw2ICs1MDIsMTEgQEAgTG9hZCB0aGUgc3BlY2lmaWVkIGZpbGUgYXMgZmlybXdhcmUgZm9y IHRoZSBndWVzdC4KIAogPWJhY2sKIAorPWhlYWQ0IFBWSCBndWVzdCBvcHRpb25zCisKK0N1cnJl bnRseSB0aGVyZSdzIG5vIGZpcm13YXJlIGF2YWlsYWJsZSBmb3IgUFZIIGd1ZXN0cywgdGhleSBz aG91bGQgYmUgYm9vdGVkCit1c2luZyB0aGUgQjxEaXJlY3QgS2VybmVsIEJvb3Q+IG1ldGhvZCBv ciB0aGUgQjxib290bG9hZGVyPiBvcHRpb24uCisKID1oZWFkMyBPdGhlciBPcHRpb25zCiAKID1v dmVyIDQKQEAgLTIxMjEsNiArMjEzMiwxMTYgQEAgU2VlIEI8eGVuLXBjaS1kZXZpY2UtcmVzZXJ2 YXRpb25zKDcpPiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KIAogPWJhY2sKIAorPWhlYWQyIFBWSCBH dWVzdCBTcGVjaWZpYyBPcHRpb25zCisKKz1vdmVyIDQKKworPWl0ZW0gQjxuZXN0ZWRodm09Qk9P TEVBTj4KKworRW5hYmxlIG9yIGRpc2FibGVzIGd1ZXN0IGFjY2VzcyB0byBoYXJkd2FyZSB2aXJ0 dWFsaXNhdGlvbiBmZWF0dXJlcywKK2UuZy4gaXQgYWxsb3dzIGEgZ3Vlc3QgT3BlcmF0aW5nIFN5 c3RlbSB0byBhbHNvIGZ1bmN0aW9uIGFzIGEKK2h5cGVydmlzb3IuIFlvdSBtYXkgd2FudCB0aGlz CitvcHRpb24gaWYgeW91IHdhbnQgdG8gcnVuIGFub3RoZXIgaHlwZXJ2aXNvciAoaW5jbHVkaW5n IGFub3RoZXIgY29weQorb2YgWGVuKSB3aXRoaW4gYSBYZW4gZ3Vlc3Qgb3IgdG8gc3VwcG9ydCBh IGd1ZXN0IE9wZXJhdGluZyBTeXN0ZW0KK3doaWNoIHVzZXMgaGFyZHdhcmUgdmlydHVhbGlzYXRp b24gZXh0ZW5zaW9ucyAoZS5nLiBXaW5kb3dzIFhQCitjb21wYXRpYmlsaXR5IG1vZGUgb24gbW9y ZSBtb2Rlcm4gV2luZG93cyBPUykuCitUaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWZhdWx0 LgorCis9aXRlbSBCPGFwaWM9Qk9PTEVBTj4KKworRW5hYmxlIHRoZSBsb2NhbCBBUElDIGVtdWxh dGlvbiBmb3IgdGhlIGd1ZXN0LiBUaGUgbG9jYWwgQVBJQyBpbmZvcm1hdGlvbiB3aWxsCitiZSBl eHBvc2VkIHRvIHRoZSBndWVzdCBpbiB0aGUgQUNQSSB0YWJsZXMuIFRoaXMgb3B0aW9uIGlzIGVu YWJsZWQgYnkKK2RlZmF1bHQuCisKKz1pdGVtIEI8Ym9vdGxvYWRlcj0iUFJPR1JBTSI+CisKK1J1 biBDPFBST0dSQU0+IHRvIGZpbmQgdGhlIGtlcm5lbCBpbWFnZSBhbmQgcmFtZGlzayB0byB1c2Uu ICBOb3JtYWxseQorQzxQUk9HUkFNPiB3b3VsZCBiZSBDPHB5Z3J1Yj4sIHdoaWNoIGlzIGFuIGVt dWxhdGlvbiBvZgorZ3J1Yi9ncnViMi9zeXNsaW51eC4gRWl0aGVyIEI8a2VybmVsPiBvciBCPGJv b3Rsb2FkZXI+IG11c3QgYmUgc3BlY2lmaWVkCitmb3IgUFYgZ3Vlc3RzLgorCis9aXRlbSBCPGJv b3Rsb2FkZXJfYXJncz1bICJBUkciLCAiQVJHIiwgLi4uXT4KKworQXBwZW5kIEI8QVJHPnMgdG8g dGhlIGFyZ3VtZW50cyB0byB0aGUgQjxib290bG9hZGVyPgorcHJvZ3JhbS4gQWx0ZXJuYXRpdmVs eSBpZiB0aGUgYXJndW1lbnQgaXMgYSBzaW1wbGUgc3RyaW5nIHRoZW4gaXQgd2lsbAorYmUgc3Bs aXQgaW50byB3b3JkcyBhdCB3aGl0ZXNwYWNlIEI8KHRoaXMgc2Vjb25kIG9wdGlvbiBpcyBkZXBy ZWNhdGVkKT4uCisKKz1pdGVtIEI8dGltZXJfbW9kZT0iTU9ERSI+CisKK1NwZWNpZmllcyB0aGUg bW9kZSBmb3IgVmlydHVhbCBUaW1lcnMuIFRoZSB2YWxpZCB2YWx1ZXMgYXJlIGFzIGZvbGxvd3M6 CisKKz1vdmVyIDQKKworPWl0ZW0gQjxkZWxheV9mb3JfbWlzc2VkX3RpY2tzPgorCitEZWxheSBm b3IgbWlzc2VkIHRpY2tzLiBEbyBub3QgYWR2YW5jZSBhIHZDUFUncyB0aW1lIGJleW9uZCB0aGUK K2NvcnJlY3QgZGVsaXZlcnkgdGltZSBmb3IgaW50ZXJydXB0cyB0aGF0IGhhdmUgYmVlbiBtaXNz ZWQgZHVlIHRvCitwcmVlbXB0aW9uLiBEZWxpdmVyIG1pc3NlZCBpbnRlcnJ1cHRzIHdoZW4gdGhl IHZDUFUgaXMgcmVzY2hlZHVsZWQgYW5kCithZHZhbmNlIHRoZSB2Q1BVJ3MgdmlydHVhbCB0aW1l IHN0ZXB3aXNlIGZvciBlYWNoIG9uZS4KKworPWl0ZW0gQjxub19kZWxheV9mb3JfbWlzc2VkX3Rp Y2tzPgorCitObyBkZWxheSBmb3IgbWlzc2VkIHRpY2tzLiBBcyBhYm92ZSwgbWlzc2VkIGludGVy cnVwdHMgYXJlIGRlbGl2ZXJlZCwKK2J1dCBndWVzdCB0aW1lIGFsd2F5cyB0cmFja3Mgd2FsbGNs b2NrIChpLmUuLCByZWFsKSB0aW1lIHdoaWxlIGRvaW5nCitzby4KKworPWl0ZW0gQjxub19taXNz ZWRfdGlja3NfcGVuZGluZz4KKworTm8gbWlzc2VkIGludGVycnVwdHMgYXJlIGhlbGQgcGVuZGlu Zy4gSW5zdGVhZCwgdG8gZW5zdXJlIHRpY2tzIGFyZQorZGVsaXZlcmVkIGF0IHNvbWUgbm9uLXpl cm8gcmF0ZSwgaWYgd2UgZGV0ZWN0IG1pc3NlZCB0aWNrcyB0aGVuIHRoZQoraW50ZXJuYWwgdGlj ayBhbGFybSBpcyBub3QgZGlzYWJsZWQgaWYgdGhlIHZDUFUgaXMgcHJlZW1wdGVkIGR1cmluZwor dGhlIG5leHQgdGljayBwZXJpb2QuCisKKz1pdGVtIEI8b25lX21pc3NlZF90aWNrX3BlbmRpbmc+ CisKK09uZSBtaXNzZWQgdGljayBwZW5kaW5nLiBNaXNzZWQgaW50ZXJydXB0cyBhcmUgY29sbGFw c2VkCit0b2dldGhlciBhbmQgZGVsaXZlcmVkIGFzIG9uZSAnbGF0ZSB0aWNrJy4gIEd1ZXN0IHRp bWUgYWx3YXlzIHRyYWNrcword2FsbGNsb2NrIChpLmUuLCByZWFsKSB0aW1lLgorCis9YmFjawor Cis9YmFjaworCis9aGVhZDMgUGFnaW5nCisKK1RoZSBmb2xsb3dpbmcgb3B0aW9ucyBjb250cm9s IHRoZSBtZWNoYW5pc21zIHVzZWQgdG8gdmlydHVhbGlzZSBndWVzdAorbWVtb3J5LiAgVGhlIGRl ZmF1bHRzIGFyZSBzZWxlY3RlZCB0byBnaXZlIHRoZSBiZXN0IHJlc3VsdHMgZm9yIHRoZQorY29t bW9uIGNhc2VzIHNvIHlvdSBzaG91bGQgbm9ybWFsbHkgbGVhdmUgdGhlc2Ugb3B0aW9ucwordW5z cGVjaWZpZWQuCisKKz1vdmVyIDQKKworPWl0ZW0gQjxoYXA9Qk9PTEVBTj4KKworVHVybnMgImhh cmR3YXJlIGFzc2lzdGVkIHBhZ2luZyIgKHRoZSB1c2Ugb2YgdGhlIGhhcmR3YXJlIG5lc3RlZCBw YWdlCit0YWJsZSBmZWF0dXJlKSBvbiBvciBvZmYuICBUaGlzIGZlYXR1cmUgaXMgY2FsbGVkIEVQ VCAoRXh0ZW5kZWQgUGFnZQorVGFibGVzKSBieSBJbnRlbCBhbmQgTlBUIChOZXN0ZWQgUGFnZSBU YWJsZXMpIG9yIFJWSSAoUmFwaWQKK1ZpcnR1YWxpc2F0aW9uIEluZGV4aW5nKSBieSBBTUQuIElm IHR1cm5lZAorb2ZmLCBYZW4gd2lsbCBydW4gdGhlIGd1ZXN0IGluICJzaGFkb3cgcGFnZSB0YWJs ZSIgbW9kZSB3aGVyZSB0aGUKK2d1ZXN0J3MgcGFnZSB0YWJsZSB1cGRhdGVzIGFuZC9vciBUTEIg Zmx1c2hlcyBldGMuIHdpbGwgYmUgZW11bGF0ZWQuCitVc2Ugb2YgSEFQIGlzIHRoZSBkZWZhdWx0 IHdoZW4gYXZhaWxhYmxlLgorCis9aXRlbSBCPG9vcz1CT09MRUFOPgorCitUdXJucyAib3V0IG9m IHN5bmMgcGFnZXRhYmxlcyIgb24gb3Igb2ZmLiAgV2hlbiBydW5uaW5nIGluIHNoYWRvdyBwYWdl Cit0YWJsZSBtb2RlLCB0aGUgZ3Vlc3QncyBwYWdlIHRhYmxlIHVwZGF0ZXMgbWF5IGJlIGRlZmVy cmVkIGFzCitzcGVjaWZpZWQgaW4gdGhlIEludGVsL0FNRCBhcmNoaXRlY3R1cmUgbWFudWFscy4g IEhvd2V2ZXIsIHRoaXMgbWF5CitleHBvc2UgdW5leHBlY3RlZCBidWdzIGluIHRoZSBndWVzdCwg b3IgZmluZCBidWdzIGluIFhlbiwgc28gaXQgaXMKK3Bvc3NpYmxlIHRvIGRpc2FibGUgdGhpcyBm ZWF0dXJlLiAgVXNlIG9mIG91dCBvZiBzeW5jIHBhZ2UgdGFibGVzLAord2hlbiBYZW4gdGhpbmtz IGl0IGFwcHJvcHJpYXRlLCBpcyB0aGUgZGVmYXVsdC4KKworPWl0ZW0gQjxzaGFkb3dfbWVtb3J5 PU1CWVRFUz4KKworTnVtYmVyIG9mIG1lZ2FieXRlcyB0byBzZXQgYXNpZGUgZm9yIHNoYWRvd2lu ZyBndWVzdCBwYWdldGFibGUgcGFnZXMKKyhlZmZlY3RpdmVseSBhY3RpbmcgYXMgYSBjYWNoZSBv ZiB0cmFuc2xhdGVkIHBhZ2VzKSBvciB0byB1c2UgZm9yIEhBUAorc3RhdGUuIEJ5IGRlZmF1bHQg dGhpcyBpcyAxTUIgcGVyIGd1ZXN0IHZDUFUgcGx1cyA4S0IgcGVyIE1CIG9mIGd1ZXN0CitSQU0u IFlvdSBzaG91bGQgbm90IG5vcm1hbGx5IG5lZWQgdG8gYWRqdXN0IHRoaXMgdmFsdWUuIEhvd2V2 ZXIsIGlmIHlvdQorYXJlIG5vdCB1c2luZyBoYXJkd2FyZSBhc3Npc3RlZCBwYWdpbmcgKGkuZS4g eW91IGFyZSB1c2luZyBzaGFkb3cKK21vZGUpIGFuZCB5b3VyIGd1ZXN0IHdvcmtsb2FkIGNvbnNp c3RzIG9mIGEgdmVyeSBsYXJnZSBudW1iZXIgb2YKK3NpbWlsYXIgcHJvY2Vzc2VzIHRoZW4gaW5j cmVhc2luZyB0aGlzIHZhbHVlIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlLgorCis9YmFjaworCiA9 aGVhZDIgRGV2aWNlLU1vZGVsIE9wdGlvbnMKIAogVGhlIGZvbGxvd2luZyBvcHRpb25zIGNvbnRy b2wgdGhlIHNlbGVjdGlvbiBvZiB0aGUgZGV2aWNlLW1vZGVsLiAgVGhpcwpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGwvbGlieGxfY3JlYXRlLmMgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpp bmRleCAyZjAzZWJlNTg2Li43NWU4NWY4MDg2IDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4 bF9jcmVhdGUuYworKysgYi90b29scy9saWJ4bC9saWJ4bF9jcmVhdGUuYwpAQCAtNTMzLDYgKzUz Myw3IEBAIGludCBsaWJ4bF9fZG9tYWluX21ha2UobGlieGxfX2djICpnYywgbGlieGxfZG9tYWlu X2NvbmZpZyAqZF9jb25maWcsCiB7CiAgICAgbGlieGxfY3R4ICpjdHggPSBsaWJ4bF9fZ2Nfb3du ZXIoZ2MpOwogICAgIGludCBmbGFncywgcmV0LCByYywgbmJfdm07CisgICAgY29uc3QgY2hhciAq ZG9tX3R5cGU7CiAgICAgY2hhciAqdXVpZF9zdHJpbmc7CiAgICAgY2hhciAqZG9tX3BhdGgsICp2 bV9wYXRoLCAqbGlieGxfcGF0aDsKICAgICBzdHJ1Y3QgeHNfcGVybWlzc2lvbnMgcm9wZXJtWzJd OwpAQCAtNzIzLDYgKzcyNCwxMSBAQCByZXRyeV90cmFuc2FjdGlvbjoKIAogICAgIHhzX3dyaXRl KGN0eC0+eHNoLCB0LCBHQ1NQUklOVEYoIiVzL2NvbnRyb2wvcGxhdGZvcm0tZmVhdHVyZS1tdWx0 aXByb2Nlc3Nvci1zdXNwZW5kIiwgZG9tX3BhdGgpLCAiMSIsIDEpOwogICAgIHhzX3dyaXRlKGN0 eC0+eHNoLCB0LCBHQ1NQUklOVEYoIiVzL2NvbnRyb2wvcGxhdGZvcm0tZmVhdHVyZS14c19yZXNl dF93YXRjaGVzIiwgZG9tX3BhdGgpLCAiMSIsIDEpOworCisgICAgZG9tX3R5cGUgPSBsaWJ4bF9k b21haW5fdHlwZV90b19zdHJpbmcoaW5mby0+dHlwZSk7CisgICAgeHNfd3JpdGUoY3R4LT54c2gs IHQsIEdDU1BSSU5URigiJXMvdHlwZSIsIGxpYnhsX3BhdGgpLCBkb21fdHlwZSwKKyAgICAgICAg ICAgICBzdHJsZW4oZG9tX3R5cGUpKTsKKwogICAgIGlmICgheHNfdHJhbnNhY3Rpb25fZW5kKGN0 eC0+eHNoLCB0LCAwKSkgewogICAgICAgICBpZiAoZXJybm8gPT0gRUFHQUlOKSB7CiAgICAgICAg ICAgICB0ID0gMDsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jIGIvdG9vbHMv bGlieGwvbGlieGxfZG9tLmMKaW5kZXggMzMyMTNkYjM4OC4uNWVmMzVlNjZiZiAxMDA2NDQKLS0t IGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMK QEAgLTM4LDkgKzM4LDMxIEBAIGxpYnhsX2RvbWFpbl90eXBlIGxpYnhsX19kb21haW5fdHlwZShs aWJ4bF9fZ2MgKmdjLCB1aW50MzJfdCBkb21pZCkKICAgICAgICAgTE9HKEVSUk9SLCAidW5hYmxl IHRvIGdldCBkb21haW4gdHlwZSBmb3IgZG9taWQ9JSJQUkl1MzIsIGRvbWlkKTsKICAgICAgICAg cmV0dXJuIExJQlhMX0RPTUFJTl9UWVBFX0lOVkFMSUQ7CiAgICAgfQotICAgIGlmIChpbmZvLmZs YWdzICYgWEVOX0RPTUlORl9odm1fZ3Vlc3QpCi0gICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5f VFlQRV9IVk07Ci0gICAgZWxzZQorICAgIGlmIChpbmZvLmZsYWdzICYgWEVOX0RPTUlORl9odm1f Z3Vlc3QpIHsKKyAgICAgICAgY29uc3QgY2hhciAqdHlwZV9wYXRoID0gR0NTUFJJTlRGKCIlcy90 eXBlIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX194 c19saWJ4bF9wYXRoKGdjLCBkb21pZCkpOworICAgICAgICBjb25zdCBjaGFyICp0eXBlOworICAg ICAgICBsaWJ4bF9kb21haW5fdHlwZSB0OworICAgICAgICBpbnQgcmM7CisKKyAgICAgICAgcmMg PSBsaWJ4bF9feHNfcmVhZF9tYW5kYXRvcnkoZ2MsIFhCVF9OVUxMLCB0eXBlX3BhdGgsICZ0eXBl KTsKKyAgICAgICAgaWYgKHJjKSB7CisgICAgICAgICAgICBMT0coV0FSTiwKKyAgICAgICAgICAg ICAgICAidW5hYmxlIHRvIGdldCBkb21haW4gdHlwZSBmb3IgZG9taWQ9JSJQUkl1MzIiLCBhc3N1 bWluZyBIVk0iLAorICAgICAgICAgICAgICAgIGRvbWlkKTsKKyAgICAgICAgICAgIHJldHVybiBM SUJYTF9ET01BSU5fVFlQRV9IVk07CisgICAgICAgIH0KKworICAgICAgICByYyA9IGxpYnhsX2Rv bWFpbl90eXBlX2Zyb21fc3RyaW5nKHR5cGUsICZ0KTsKKyAgICAgICAgaWYgKHJjKSB7CisgICAg ICAgICAgICBMT0coV0FSTiwKKyAgICAgICAgICAgICAgICAidW5hYmxlIHRvIGdldCBkb21haW4g dHlwZSBmb3IgZG9taWQ9JSJQUkl1MzIiLCBhc3N1bWluZyBIVk0iLAorICAgICAgICAgICAgICAg IGRvbWlkKTsKKyAgICAgICAgICAgIHJldHVybiBMSUJYTF9ET01BSU5fVFlQRV9IVk07CisgICAg ICAgIH0KKworICAgICAgICByZXR1cm4gdDsKKyAgICB9IGVsc2UKICAgICAgICAgcmV0dXJuIExJ QlhMX0RPTUFJTl9UWVBFX1BWOwogfQogCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF90 eXBlcy5pZGwgYi90b29scy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKaW5kZXggYmYxNjUyZDM2Ny4u MDQ3NWJkZGM1OSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsCisrKyBi L3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbApAQCAtNzUsNiArNzUsNyBAQCBsaWJ4bF9kb21h aW5fdHlwZSA9IEVudW1lcmF0aW9uKCJkb21haW5fdHlwZSIsIFsKICAgICAoLTEsICJJTlZBTElE IiksCiAgICAgKDEsICJIVk0iKSwKICAgICAoMiwgIlBWIiksCisgICAgKDMsICJQVkgiKSwKICAg ICBdLCBpbml0X3ZhbCA9ICJMSUJYTF9ET01BSU5fVFlQRV9JTlZBTElEIikKIAogbGlieGxfcmRt X3Jlc2VydmVfc3RyYXRlZ3kgPSBFbnVtZXJhdGlvbigicmRtX3Jlc2VydmVfc3RyYXRlZ3kiLCBb CkBAIC01ODksNiArNTkwLDcgQEAgbGlieGxfZG9tYWluX2J1aWxkX2luZm8gPSBTdHJ1Y3QoImRv bWFpbl9idWlsZF9pbmZvIixbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICMgVXNlIGhvc3QncyBFODIwIGZvciBQQ0kgcGFzc3Rocm91Z2guCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgiZTgyMF9ob3N0IiwgbGlieGxfZGVmYm9vbCksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pKSwKKyAgICAgICAgICAgICAgICAg KCJwdmgiLCBOb25lKSwKICAgICAgICAgICAgICAgICAgKCJpbnZhbGlkIiwgTm9uZSksCiAgICAg ICAgICAgICAgICAgIF0sIGtleXZhcl9pbml0X3ZhbCA9ICJMSUJYTF9ET01BSU5fVFlQRV9JTlZB TElEIikpLAogCi0tIAoyLjExLjAgKEFwcGxlIEdpdC04MSkKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK