From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3B97FC0650E for ; Mon, 1 Jul 2019 12:01:20 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0BFCF214AE for ; Mon, 1 Jul 2019 12:01:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0BFCF214AE Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hhuzZ-00070r-Do; Mon, 01 Jul 2019 12:01:05 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hhuzX-00070b-QX for xen-devel@lists.xenproject.org; Mon, 01 Jul 2019 12:01:03 +0000 X-Inumbo-ID: e479ac12-9bf7-11e9-b69f-67ce4e3fe7bc Received: from m9a0001g.houston.softwaregrp.com (unknown [15.124.64.66]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id e479ac12-9bf7-11e9-b69f-67ce4e3fe7bc; Mon, 01 Jul 2019 12:01:01 +0000 (UTC) Received: FROM m9a0001g.houston.softwaregrp.com (15.121.0.190) BY m9a0001g.houston.softwaregrp.com WITH ESMTP; Mon, 1 Jul 2019 12:00:55 +0000 Received: from M9W0068.microfocus.com (2002:f79:bf::f79:bf) by M9W0067.microfocus.com (2002:f79:be::f79:be) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10; Mon, 1 Jul 2019 11:57:47 +0000 Received: from NAM04-SN1-obe.outbound.protection.outlook.com (15.124.72.12) by M9W0068.microfocus.com (15.121.0.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1591.10 via Frontend Transport; Mon, 1 Jul 2019 11:57:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=testarcselector01; d=microsoft.com; cv=none; b=aT4ATu7TdzOiVvMgshE0Egve1AzHl6XFzWaHBviu4SbsUTerBSI0rpN1pHTm4PuyOe6evp7tETRobLNarHQCwdVRvt+eGNLW/ZByxItZBPgIN5H3Wic15TWUh9lKOjoczRvlHGhCQxjiBoESGPZz606bqX4+vvRFbpD+BbRtL0Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=testarcselector01; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iCZxYTIvj6H4IobfWt85PKbW5jaHwUtQKAWUBb+natI=; b=bRQzZBmG9k7+DtdkZleJwyp3E7yTKVKsM8pOC+XDv+pPoaYgdX3tPAxtHE1apJbmFNBdIeHKWDxtPUJGj8oqmSndY/u3nQ3LoYD9bDqWLMalh3qFdjhIxhpo7AnRgbdP3lA8QNdJ296jW67zI41HJrgfo93/Myl/zzfXC0wJ/Sg= ARC-Authentication-Results: i=1; test.office365.com 1;spf=none;dmarc=none;dkim=none;arc=none Received: from BY5PR18MB3394.namprd18.prod.outlook.com (10.255.139.95) by BY5PR18MB3364.namprd18.prod.outlook.com (10.255.139.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Mon, 1 Jul 2019 11:57:47 +0000 Received: from BY5PR18MB3394.namprd18.prod.outlook.com ([fe80::2005:4b02:1d60:d1bc]) by BY5PR18MB3394.namprd18.prod.outlook.com ([fe80::2005:4b02:1d60:d1bc%3]) with mapi id 15.20.2008.020; Mon, 1 Jul 2019 11:57:47 +0000 From: Jan Beulich To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH 5/6] x86emul: support INVPCID Thread-Index: AQHVMAQyB+GRD/L5H0SfOcT7bsnQsw== Date: Mon, 1 Jul 2019 11:57:47 +0000 Message-ID: <61bcef1a-aa70-067f-b2a4-06580b00fe40@suse.com> References: <2d69ac51-9c4a-96f9-fd37-578658076571@suse.com> In-Reply-To: <2d69ac51-9c4a-96f9-fd37-578658076571@suse.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: DB6PR0301CA0055.eurprd03.prod.outlook.com (2603:10a6:4:54::23) To BY5PR18MB3394.namprd18.prod.outlook.com (2603:10b6:a03:194::31) authentication-results: spf=none (sender IP is ) smtp.mailfrom=JBeulich@suse.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [87.234.252.170] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: d05f7e56-5dcc-48b6-fd39-08d6fe1b554f x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:BY5PR18MB3364; x-ms-traffictypediagnostic: BY5PR18MB3364: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5236; x-forefront-prvs: 00851CA28B x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(346002)(39860400002)(396003)(376002)(366004)(136003)(189003)(199004)(81156014)(76176011)(6916009)(6506007)(26005)(7736002)(8936002)(81166006)(305945005)(80792005)(8676002)(102836004)(99286004)(386003)(72206003)(2906002)(256004)(31686004)(2501003)(25786009)(316002)(52116002)(36756003)(14454004)(66066001)(73956011)(5660300002)(5640700003)(66446008)(3846002)(71190400001)(11346002)(6512007)(486006)(71200400001)(6436002)(66946007)(478600001)(66556008)(6486002)(6116002)(86362001)(53936002)(2351001)(476003)(4326008)(68736007)(31696002)(54906003)(66476007)(64756008)(2616005)(186003)(446003); DIR:OUT; SFP:1102; SCL:1; SRVR:BY5PR18MB3364; H:BY5PR18MB3394.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: suse.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: dE/fhrFbyO1rfhGPNzarQflyq8TA34Vo6EM47RoxkAOQcEeg3Gcf8KXc4xLY+6OUB+/geIWnbO1Lz5Cghg8i1rN3QvFviGGYepripa0HpD+LOBY6AfnFi5/YlrDLV7JlPPZseRko5IJayrLyJTxsELFyi2srkWEBmWM2h3kbdD6u5dwiZMqpbOezP90kCDQzN48gcw7slpB6AN89a7rSyKdbSOXvU99Ov6bmrrEJCEbqUnU8Phs8hrg54P/OdQijpiXasdMZhQu5HZR17xPWmv90KIpvqPh/vh35jzcETK2ZcSh0bYApwpRzJizZkqL47duEkI3+22dsAeTS2eOdOTm3GG27Zyw1D+Z3swjgsx2oeBLSJj+Ggcl4uxYqoptFF1buJhPVqGmsMZPbz1RTSAtFymVl3ncbXv3AEF2uTXs= Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: d05f7e56-5dcc-48b6-fd39-08d6fe1b554f X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jul 2019 11:57:47.0540 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 856b813c-16e5-49a5-85ec-6f081e13b527 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: JBeulich@suse.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR18MB3364 X-OriginatorOrg: suse.com Subject: [Xen-devel] [PATCH 5/6] x86emul: support INVPCID X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Paul Durrant , Wei Liu , RogerPau Monne Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" SnVzdCBsaWtlIGZvciBJTlZMUEdBIHRoZSBIVk0gaG9vayBvbmx5IHN1cHBvcnRzIFBDSUQgMCBm b3IgdGhlIHRpbWUNCmJlaW5nIGZvciBpbmRpdmlkdWFsIGFkZHJlc3MgaW52YWxpZGF0aW9uLiBJ dCBhbHNvIHRyYW5zbGF0ZXMgdGhlIG90aGVyDQp0eXBlcyB0byBhIGZ1bGwgZmx1c2gsIHdoaWNo IGlzIGFyY2hpdGVjdHVyYWxseSBwZXJtaXR0ZWQgYW5kDQpwZXJmb3JtYW5jZS13aXNlIHByZXN1 bWFibHkgbm90IG11Y2ggd29yc2UgYmVjYXVzZSBlbXVsYXRpb24gaXMgc2xvdw0KYW55d2F5Lg0K DQpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQotLS0NCnYy OiBOZXcuDQoNCi0tLSBhL3Rvb2xzL2Z1enoveDg2X2luc3RydWN0aW9uX2VtdWxhdG9yL2Z1enot ZW11bC5jDQorKysgYi90b29scy9mdXp6L3g4Nl9pbnN0cnVjdGlvbl9lbXVsYXRvci9mdXp6LWVt dWwuYw0KQEAgLTM4Miw2ICszODIsNyBAQCBzdGF0aWMgaW50IGZ1enpfdGxiX29wKA0KICAgICAg ICAgIGFzc2VydChpc194ODZfdXNlcl9zZWdtZW50KGF1eCkpOw0KICAgICAgICAgIC8qIGZhbGwg dGhyb3VnaCAqLw0KICAgICAgY2FzZSB4ODZlbXVsX2ludmxwZ2E6DQorICAgIGNhc2UgeDg2ZW11 bF9pbnZwY2lkOg0KICAgICAgICAgIGFzc2VydChjdHh0LT5hZGRyX3NpemUgPT0gNjQgfHwgIShh ZGRyID4+IDMyKSk7DQogICAgICAgICAgYnJlYWs7DQogICAgICB9DQotLS0gYS90b29scy90ZXN0 cy94ODZfZW11bGF0b3IvdGVzdF94ODZfZW11bGF0b3IuYw0KKysrIGIvdG9vbHMvdGVzdHMveDg2 X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMNCkBAIC02ODQsNiArNjg0LDM4IEBAIHN0YXRp YyBpbnQgcmVhZF9tc3IoDQogICAgICByZXR1cm4gWDg2RU1VTF9VTkhBTkRMRUFCTEU7DQogIH0N CiAgDQorI2RlZmluZSBJTlZQQ0lEX0FERFIgMHgxMjM0NTY3OA0KKyNkZWZpbmUgSU5WUENJRF9Q Q0lEIDB4MTIzDQorDQorc3RhdGljIGludCByZWFkX2NyX2ludnBjaWQoDQorICAgIHVuc2lnbmVk IGludCByZWcsDQorICAgIHVuc2lnbmVkIGxvbmcgKnZhbCwNCisgICAgc3RydWN0IHg4Nl9lbXVs YXRlX2N0eHQgKmN0eHQpDQorew0KKyAgICBpbnQgcmMgPSBlbXVsX3Rlc3RfcmVhZF9jcihyZWcs IHZhbCwgY3R4dCk7DQorDQorICAgIGlmICggcmMgPT0gWDg2RU1VTF9PS0FZICYmIHJlZyA9PSA0 ICkNCisgICAgICAgICp2YWwgfD0gWDg2X0NSNF9QQ0lERTsNCisNCisgICAgcmV0dXJuIHJjOw0K K30NCisNCitzdGF0aWMgaW50IHRsYl9vcF9pbnZwY2lkKA0KKyAgICBlbnVtIHg4NmVtdWxfdGxi X29wIG9wLA0KKyAgICB1bnNpZ25lZCBsb25nIGFkZHIsDQorICAgIHVuc2lnbmVkIGxvbmcgYXV4 LA0KKyAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfY3R4dCAqY3R4dCkNCit7DQorICAgIHN0YXRpYyB1 bnNpZ25lZCBpbnQgc2VxOw0KKw0KKyAgICBpZiAoIG9wICE9IHg4NmVtdWxfaW52cGNpZCB8fCBh ZGRyICE9IElOVlBDSURfQUREUiB8fA0KKyAgICAgICAgIHg4NmVtdWxfaW52cGNpZF9wY2lkKGF1 eCkgIT0gKHNlcSA8IDQgPyAwIDogSU5WUENJRF9QQ0lEKSB8fA0KKyAgICAgICAgIHg4NmVtdWxf aW52cGNpZF90eXBlKGF1eCkgIT0gKHNlcSsrICYgMykgKQ0KKyAgICAgICAgcmV0dXJuIFg4NkVN VUxfVU5IQU5ETEVBQkxFOw0KKw0KKyAgICByZXR1cm4gWDg2RU1VTF9PS0FZOw0KK30NCisNCiAg c3RhdGljIHN0cnVjdCB4ODZfZW11bGF0ZV9vcHMgZW11bG9wcyA9IHsNCiAgICAgIC5yZWFkICAg ICAgID0gcmVhZCwNCiAgICAgIC5pbnNuX2ZldGNoID0gZmV0Y2gsDQpAQCAtNDQ4Miw2ICs0NTE0 LDQ2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikNCiAgICAgICAgICBwcmludGYo Im9rYXlcbiIpOw0KICAgICAgfQ0KICAgICAgZWxzZQ0KKyAgICAgICAgcHJpbnRmKCJza2lwcGVk XG4iKTsNCisNCisgICAgcHJpbnRmKCIlLTQwcyIsICJUZXN0aW5nIGludnBjaWQgMTYoJWVjeCks JSVlZHguLi4iKTsNCisgICAgaWYgKCBzdGFja19leGVjICkNCisgICAgew0KKyAgICAgICAgZGVj bF9pbnNuKGludnBjaWQpOw0KKw0KKyAgICAgICAgYXNtIHZvbGF0aWxlICggcHV0X2luc24oaW52 cGNpZCwgImludnBjaWQgMTYoJTApLCAlMSIpDQorICAgICAgICAgICAgICAgICAgICAgICA6OiAi YyIgKE5VTEwpLCAiZCIgKDBMKSApOw0KKw0KKyAgICAgICAgcmVzWzRdID0gMDsNCisgICAgICAg IHJlc1s1XSA9IDA7DQorICAgICAgICByZXNbNl0gPSBJTlZQQ0lEX0FERFI7DQorICAgICAgICBy ZXNbN10gPSAwOw0KKyAgICAgICAgcmVncy5lY3ggPSAodW5zaWduZWQgbG9uZylyZXM7DQorICAg ICAgICBlbXVsb3BzLnRsYl9vcCA9IHRsYl9vcF9pbnZwY2lkOw0KKw0KKyAgICAgICAgZm9yICgg OyA7ICkNCisgICAgICAgIHsNCisgICAgICAgICAgICBmb3IgKCByZWdzLmVkeCA9IDA7IHJlZ3Mu ZWR4IDwgNDsgKytyZWdzLmVkeCApDQorICAgICAgICAgICAgew0KKyAgICAgICAgICAgICAgICBz ZXRfaW5zbihpbnZwY2lkKTsNCisgICAgICAgICAgICAgICAgcmMgPSB4ODZfZW11bGF0ZSgmY3R4 dCwgJmVtdWxvcHMpOw0KKyAgICAgICAgICAgICAgICBpZiAoIHJjICE9IFg4NkVNVUxfT0tBWSB8 fCAhY2hlY2tfZWlwKGludnBjaWQpICkNCisgICAgICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsN CisgICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgaWYgKCBjdHh0LmFkZHJfc2l6ZSA8IDY0 IHx8IHJlc1s0XSA9PSBJTlZQQ0lEX1BDSUQgKQ0KKyAgICAgICAgICAgICAgICBicmVhazsNCisN CisgICAgICAgICAgICBlbXVsb3BzLnJlYWRfY3IgPSByZWFkX2NyX2ludnBjaWQ7DQorICAgICAg ICAgICAgcmVzWzRdID0gSU5WUENJRF9QQ0lEOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZW11 bG9wcy5yZWFkX2NyID0gZW11bF90ZXN0X3JlYWRfY3I7DQorICAgICAgICBlbXVsb3BzLnRsYl9v cCA9IE5VTEw7DQorDQorICAgICAgICBwcmludGYoIm9rYXlcbiIpOw0KKyAgICB9DQorICAgIGVs c2UNCiAgICAgICAgICBwcmludGYoInNraXBwZWRcbiIpOw0KICANCiAgI3VuZGVmIGRlY2xfaW5z bg0KLS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4Ni1lbXVsYXRlLmMNCisrKyBiL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0ZS5jDQpAQCAtNzIsNiArNzIsNyBAQCBi b29sIGVtdWxfdGVzdF9pbml0KHZvaWQpDQogICAgICAgKiB0aGVtLg0KICAgICAgICovDQogICAg ICBjcC5iYXNpYy5tb3ZiZSA9IHRydWU7DQorICAgIGNwLmZlYXQuaW52cGNpZCA9IHRydWU7DQog ICAgICBjcC5mZWF0LmFkeCA9IHRydWU7DQogICAgICBjcC5mZWF0LmF2eDUxMnBmID0gY3AuZmVh dC5hdng1MTJmOw0KICAgICAgY3AuZmVhdC5yZHBpZCA9IHRydWU7DQpAQCAtMTQxLDcgKzE0Miw3 IEBAIGludCBlbXVsX3Rlc3RfY3B1aWQoDQogICAgICAgKi8NCiAgICAgIGlmICggbGVhZiA9PSA3 ICYmIHN1YmxlYWYgPT0gMCApDQogICAgICB7DQotICAgICAgICByZXMtPmIgfD0gMVUgPDwgMTk7 DQorICAgICAgICByZXMtPmIgfD0gKDFVIDw8IDEwKSB8ICgxVSA8PCAxOSk7DQogICAgICAgICAg aWYgKCByZXMtPmIgJiAoMVUgPDwgMTYpICkNCiAgICAgICAgICAgICAgcmVzLT5iIHw9IDFVIDw8 IDI2Ow0KICAgICAgICAgIHJlcy0+YyB8PSAxVSA8PCAyMjsNCi0tLSBhL3hlbi9hcmNoL3g4Ni9o dm0vZW11bGF0ZS5jDQorKysgYi94ZW4vYXJjaC94ODYvaHZtL2VtdWxhdGUuYw0KQEAgLTIzNzQs OCArMjM3NCwxNiBAQCBzdGF0aWMgaW50IGh2bWVtdWxfdGxiX29wKA0KICAgICAgICAgICAgICBw YWdpbmdfaW52bHBnKGN1cnJlbnQsIGFkZHIpOw0KICAgICAgICAgIGJyZWFrOw0KICANCisgICAg Y2FzZSB4ODZlbXVsX2ludnBjaWQ6DQorICAgICAgICBpZiAoIHg4NmVtdWxfaW52cGNpZF90eXBl KGF1eCkgIT0gWDg2X0lOVlBDSURfVFlQRV9JTkRJVl9BRERSICkNCisgICAgICAgIHsNCisgICAg ICAgICAgICBodm1fYXNpZF9mbHVzaF92Y3B1KGN1cnJlbnQpOw0KKyAgICAgICAgICAgIGJyZWFr Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgYXV4ID0geDg2ZW11bF9pbnZwY2lkX3BjaWQoYXV4KTsN CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLw0KICAgICAgY2FzZSB4ODZlbXVsX2ludmxwZ2E6 DQotICAgICAgICAvKiBUT0RPOiBTdXBwb3J0IEFTSURzLiAqLw0KKyAgICAgICAgLyogVE9ETzog U3VwcG9ydCBBU0lEcy9QQ0lEcy4gKi8NCiAgICAgICAgICBpZiAoICFhdXggKQ0KICAgICAgICAg ICAgICBwYWdpbmdfaW52bHBnKGN1cnJlbnQsIGFkZHIpOw0KICAgICAgICAgIGVsc2UNCi0tLSBh L3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5jDQorKysgYi94ZW4vYXJjaC94 ODYveDg2X2VtdWxhdGUveDg2X2VtdWxhdGUuYw0KQEAgLTQ5Niw2ICs0OTYsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUgew0KICAgICAgWzB4N2EgLi4uIDB4N2NdID0geyAu c2ltZF9zaXplID0gc2ltZF9ub25lLCAudHdvX29wID0gMSB9LA0KICAgICAgWzB4N2QgLi4uIDB4 N2VdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sDQog ICAgICBbMHg3Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192 bCB9LA0KKyAgICBbMHg4Ml0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyIH0sDQogICAgICBb MHg4M10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwN CiAgICAgIFsweDg4XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0g MSwgLmQ4cyA9IGQ4c19kcSB9LA0KICAgICAgWzB4ODldID0geyAuc2ltZF9zaXplID0gc2ltZF9w YWNrZWRfaW50LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c19kcSB9LA0KQEAgLTE4NzUsNiArMTg3 Niw3IEBAIGluX3Byb3Rtb2RlKA0KICAjZGVmaW5lIHZjcHVfaGFzX2hsZSgpICAgICAgICAgKGN0 eHQtPmNwdWlkLT5mZWF0LmhsZSkNCiAgI2RlZmluZSB2Y3B1X2hhc19hdngyKCkgICAgICAgIChj dHh0LT5jcHVpZC0+ZmVhdC5hdngyKQ0KICAjZGVmaW5lIHZjcHVfaGFzX2JtaTIoKSAgICAgICAg KGN0eHQtPmNwdWlkLT5mZWF0LmJtaTIpDQorI2RlZmluZSB2Y3B1X2hhc19pbnZwY2lkKCkgICAg IChjdHh0LT5jcHVpZC0+ZmVhdC5pbnZwY2lkKQ0KICAjZGVmaW5lIHZjcHVfaGFzX3J0bSgpICAg ICAgICAgKGN0eHQtPmNwdWlkLT5mZWF0LnJ0bSkNCiAgI2RlZmluZSB2Y3B1X2hhc19tcHgoKSAg ICAgICAgIChjdHh0LT5jcHVpZC0+ZmVhdC5tcHgpDQogICNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEy ZigpICAgICAoY3R4dC0+Y3B1aWQtPmZlYXQuYXZ4NTEyZikNCkBAIC05MTI0LDYgKzkxMjYsNDgg QEAgeDg2X2VtdWxhdGUoDQogICAgICAgICAgQVNTRVJUKCFzdGF0ZS0+c2ltZF9zaXplKTsNCiAg ICAgICAgICBicmVhazsNCiAgDQorICAgIGNhc2UgWDg2RU1VTF9PUENfNjYoMHgwZjM4LCAweDgy KTogLyogaW52cGNpZCByZWcsbTEyOCAqLw0KKyAgICAgICAgdmNwdV9tdXN0X2hhdmUoaW52cGNp ZCk7DQorICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZWEudHlwZSAhPSBPUF9NRU0sIEVY Q19VRCk7DQorICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIW1vZGVfcmluZzAoKSwgRVhD X0dQLCAwKTsNCisNCisgICAgICAgIGlmICggKHJjID0gb3BzLT5yZWFkKGVhLm1lbS5zZWcsIGVh Lm1lbS5vZmYsIG1tdmFscCwgMTYsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0 KSkgIT0gWDg2RU1VTF9PS0FZICkNCisgICAgICAgICAgICBnb3RvIGRvbmU7DQorDQorICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYobW12YWxwLT54bW1bMF0gJiB+MHhmZmYsIEVYQ19HUCwg MCk7DQorICAgICAgICBkc3QudmFsID0gbW9kZV82NGJpdCgpID8gKmRzdC5yZWcgOiAodWludDMy X3QpKmRzdC5yZWc7DQorDQorICAgICAgICBzd2l0Y2ggKCBkc3QudmFsICkNCisgICAgICAgIHsN CisgICAgICAgIGNhc2UgWDg2X0lOVlBDSURfVFlQRV9JTkRJVl9BRERSOg0KKyAgICAgICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIWlzX2Nhbm9uaWNhbF9hZGRyZXNzKG1tdmFscC0+eG1t WzFdKSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYQ19HUCwgMCk7DQor ICAgICAgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLw0KKyAgICAgICAgY2FzZSBYODZfSU5WUENJ RF9UWVBFX1NJTkdMRV9DVFhUOg0KKyAgICAgICAgICAgICBpZiAoICFtb2RlXzY0Yml0KCkgfHwg IW9wcy0+cmVhZF9jciApDQorICAgICAgICAgICAgICAgICBjcjQgPSAwOw0KKyAgICAgICAgICAg ICBlbHNlIGlmICggKHJjID0gb3BzLT5yZWFkX2NyKDQsICZjcjQsIGN0eHQpKSAhPSBYODZFTVVM X09LQVkgKQ0KKyAgICAgICAgICAgICAgICAgZ290byBkb25lOw0KKyAgICAgICAgICAgICBnZW5l cmF0ZV9leGNlcHRpb25faWYoIShjcjQgJiBYODZfQ1I0X1BDSURFKSAmJiBtbXZhbHAtPnhtbVsw XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYQ19HUCwgMCk7DQorICAg ICAgICAgICAgIGJyZWFrOw0KKyAgICAgICAgY2FzZSBYODZfSU5WUENJRF9UWVBFX0FMTF9JTkNM X0dMT0JBTDoNCisgICAgICAgIGNhc2UgWDg2X0lOVlBDSURfVFlQRV9BTExfTk9OX0dMT0JBTDoN CisgICAgICAgICAgICAgYnJlYWs7DQorICAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICBn ZW5lcmF0ZV9leGNlcHRpb24oRVhDX0dQLCAwKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGZh aWxfaWYoIW9wcy0+dGxiX29wKTsNCisgICAgICAgIGlmICggKHJjID0gb3BzLT50bGJfb3AoeDg2 ZW11bF9pbnZwY2lkLCB0cnVuY2F0ZV9lYShtbXZhbHAtPnhtbVsxXSksDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHg4NmVtdWxfaW52cGNpZF9hdXgobW12YWxwLT54bW1bMF0sIGRz dC52YWwpLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHh0KSkgIT0gWDg2RU1V TF9PS0FZICkNCisgICAgICAgICAgICBnb3RvIGRvbmU7DQorDQorICAgICAgICBzdGF0ZS0+c2lt ZF9zaXplID0gc2ltZF9ub25lOw0KKyAgICAgICAgYnJlYWs7DQorDQogICAgICBjYXNlIFg4NkVN VUxfT1BDX0VWRVhfNjYoMHgwZjM4LCAweDgzKTogLyogdnBtdWx0aXNoaWZ0cWIgW3h5el1tbS9t ZW0sW3h5el1tbSxbeHl6XW1te2t9ICovDQogICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lm KCFldmV4LncsIEVYQ19VRCk7DQogICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4 NTEyX3ZibWkpOw0KLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmgN CisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5oDQpAQCAtMTg4LDgg KzE4OCwyNiBAQCBlbnVtIHg4NmVtdWxfY2FjaGVfb3Agew0KICBlbnVtIHg4NmVtdWxfdGxiX29w IHsNCiAgICAgIHg4NmVtdWxfaW52bHBnLA0KICAgICAgeDg2ZW11bF9pbnZscGdhLA0KKyAgICB4 ODZlbXVsX2ludnBjaWQsDQogIH07DQogIA0KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHg4 NmVtdWxfaW52cGNpZF9hdXgodW5zaWduZWQgaW50IHBjaWQsDQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgdHlwZSkNCit7DQorICAgIEFT U0VSVCghKHBjaWQgJiB+MHhmZmYpKTsNCisgICAgcmV0dXJuICh0eXBlIDw8IDEyKSB8IHBjaWQ7 DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHg4NmVtdWxfaW52cGNpZF9wY2lk KHVuc2lnbmVkIGludCBhdXgpDQorew0KKyAgICByZXR1cm4gYXV4ICYgMHhmZmY7DQorfQ0KKw0K K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHg4NmVtdWxfaW52cGNpZF90eXBlKHVuc2lnbmVk IGludCBhdXgpDQorew0KKyAgICByZXR1cm4gYXV4ID4+IDEyOw0KK30NCisNCiAgc3RydWN0IHg4 Nl9lbXVsYXRlX3N0YXRlOw0KICANCiAgLyoNCkBAIC00ODMsNiArNTAxLDggQEAgc3RydWN0IHg4 Nl9lbXVsYXRlX29wcw0KICAgICAgICogQGFkZHIgYW5kIEBhdXggaGF2ZSBAb3Atc3BlY2lmaWMg bWVhbmluZzoNCiAgICAgICAqIC0gSU5WTFBHOiAgQGF1eDpAYWRkciByZXByZXNlbnQgc2VnOm9m ZnNldA0KICAgICAgICogLSBJTlZMUEdBOiBAYWRkciBpcyB0aGUgbGluZWFyIGFkZHJlc3MsIEBh dXggdGhlIEFTSUQNCisgICAgICogLSBJTlZQQ0lEOiBAYWRkciBpcyB0aGUgbGluZWFyIGFkZHJl c3MsIEBhdXggdGhlIGNvbWJpbmF0aW9uIG9mDQorICAgICAqICAgICAgICAgICAgUENJRCBhbmQg dHlwZSAoc2VlIHg4NmVtdWxfaW52cGNpZF8qKCkpLg0KICAgICAgICovDQogICAgICBpbnQgKCp0 bGJfb3ApKA0KICAgICAgICAgIGVudW0geDg2ZW11bF90bGJfb3Agb3AsDQoNCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj dC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=