From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F4127A04A4; Mon, 25 May 2020 01:09:03 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id B191D1D5C4; Mon, 25 May 2020 01:09:03 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id D088A1D5C1 for ; Mon, 25 May 2020 01:09:01 +0200 (CEST) IronPort-SDR: goC3mgil5aE83zrsODLqrYvppwkQQOUHd5CRVFeScIx07EXaCiqenaqEe6Nr/os7iMdXit8uZ5 I5Qqe9yk92UQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 May 2020 16:09:00 -0700 IronPort-SDR: ptBJ7eyQlRDBBr17I4MoBwMlTp3h/C22znF32zK/6f9g+Laz/wME1EYlgkRH1WKPvXt0JdqUda 3ibJ0I/nDfGQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,431,1583222400"; d="scan'208";a="309869524" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by FMSMGA003.fm.intel.com with ESMTP; 24 May 2020 16:09:00 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 24 May 2020 16:09:00 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 24 May 2020 16:09:00 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 24 May 2020 16:09:00 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 24 May 2020 16:08:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MzNn6e2CpAX+7rq/uk+sPXvpqIWwR1GZsCsypAAIsrrdoAaajNXcJrzew4Wo2L3lhlZfxy3Wd27lF9kYTIiVGisblOR+XzfZu71vaIVaspOtCQ+KwQcMK8fkFLe0ZUHqkDkRTC3iePKzGr+easPudJJL5ONjYdWUTuA3VSXas2JfdzlYWrUdJ8ILKgJucHqLL6boJ29oNZh8POKzPpDJBe8LyXNhnVIUXPnOtVuKokhngoB88EJ4Dq17PLvWZrqAM3b0o0Xcr7vuTZZDGs5vCGFyKN3WX8M74JW1b23uomsxO7PBJcnc/2NWmL5sNTByJTWsRZ56nYVrxMWv4uTbBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VJcG5A98qh6WjPw1WmSOGL7/wCozgTrJ4xFbwPHZO7c=; b=Sxit4awh/kz2AHOUhpAr+AAJYzZeKCg9S1gLsrBKRnnBk7UoWakAgBmnHYPDmZA910JD0GrtvDMgwlBxLtG/nGBBaexDYsaAwF9mxO2AUgj1srSdMHF96vFQZE8hrRVWMDo3lxznPSS3+0A1VvjsMhmRr7h7lV7Xrd1dj9xcs/59itV4UiKnT4ZwGy0x3ztcqEVVXQMHIsZ2oFA+piehHdme08j2T79L+IIlP71X+0xM1f12AFDs6Hwarlw23itLe2noV5Tpz3ECxs9B2f/T/JBXrpNF4VNW4OhgeP1UldeGY6DzGbh2gYW7umFg++Wx5+ZLc55YfyyuxjfP7WAj5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VJcG5A98qh6WjPw1WmSOGL7/wCozgTrJ4xFbwPHZO7c=; b=lYZCNiGBdJIJLspmGACVC5289BCiQV8YxMNoyYkNvowVRtqrvt7b1AnapN4M4I6KVcnrZVzoiNgD9cmiwU35ULguB8yZOW06z59IHr44v4YhqWD7+5aZPKB4g4MXQMj+6bplb8LHoi7takLkW5YxpLzN8iM6dC2dQZmqwOVbFUQ= Received: from BYAPR11MB3301.namprd11.prod.outlook.com (2603:10b6:a03:7f::26) by BYAPR11MB2871.namprd11.prod.outlook.com (2603:10b6:a02:c5::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3021.27; Sun, 24 May 2020 23:08:57 +0000 Received: from BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f160:29ab:b8f9:4189]) by BYAPR11MB3301.namprd11.prod.outlook.com ([fe80::f160:29ab:b8f9:4189%6]) with mapi id 15.20.3021.029; Sun, 24 May 2020 23:08:57 +0000 From: "Ananyev, Konstantin" To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" CC: "stephen@networkplumber.org" , "jerinj@marvell.com" Thread-Topic: [dpdk-dev] [PATCH 5/5] bpf: x86 JIT support for packet data loadinstructions Thread-Index: AQHWMdDPLaCoXLcsq0mbc/HIpN8g5Ki33Fmw Date: Sun, 24 May 2020 23:08:57 +0000 Message-ID: References: <20200518155245.11380-1-konstantin.ananyev@intel.com> <20200518155245.11380-6-konstantin.ananyev@intel.com> <98CBD80474FA8B44BF855DF32C47DC35C60FE6@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35C60FE6@smartserver.smartshare.dk> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: smartsharesystems.com; dkim=none (message not signed) header.d=none; smartsharesystems.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.151.181] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 006e3d00-014a-4744-7c47-08d800376feb x-ms-traffictypediagnostic: BYAPR11MB2871: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:7691; x-forefront-prvs: 0413C9F1ED x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: wgwiuA8+yWncIPEjrZnamZWNowzXO/t4OPygT9A77i5ny2YfbfHbDFblsabJnqCZeZTApJxK7RahAexAnQY7HT+9XkjEtNg9K2h9ZuPRUlTDwXy5I7eXAZI/FmhDAeKOMjeHYPN9Lj1LvZL6bm7/gRop1wrBnXlI61nSULqP83Fy7LT1hPwEDgQGS4FVYxRYBUKXDflSQyr3BXu38J96ZTeD/l2ThFVtputD2PKzMxTY092OSnPKHHr5vs35WXPvfEDiQ8iV5iMdL2kfNGjCI0LG8T7k4tD7Eouuf6U8Xhcw4Pny/hKG49pxL2eSztAfbzTNCj1/QYoMT4A5P1i9Uw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR11MB3301.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(39860400002)(396003)(346002)(376002)(366004)(136003)(4326008)(66476007)(64756008)(66556008)(66446008)(8936002)(110136005)(52536014)(55016002)(76116006)(66946007)(54906003)(33656002)(8676002)(71200400001)(316002)(9686003)(6506007)(5660300002)(2906002)(7696005)(186003)(26005)(478600001)(86362001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: CFPilhpWI2sFCsROcAGuQO6RXsYFRW9LJ/j7g7uHafbJlNq/qCtc7D9ue6apFFypcc2+4gTB3z2MHXwZqj2RcbxAKJbUpUUCwxMWJ47WFTiDZ+bANZojW9ptpwuobfE/bvbnCw7CyyxXSVwI4dSFmHAnrLcM4J79/4mJoPYrRvs7Tr/wAzqqgBB73JJyAd/IMDlyNFiN5r1wXvi1sNon2flP9yydNSnvZeaHHdgt6ZmERoJ/YnDqnXcXZFjueKN3pHXAs+bKBUYul2/nnWmBKT0fGxUu0OBKhGyTFmAwYROtzEVGP+t3CgIOIeYeAurV7l1tSE3hIBbQvj4vSSwNTYR+PEBdJj2anR446yGSJ88mO23If4Vv4ubsR4YFQrvQiLporYNOPeGapd2Vk0Suuvo6E96CUBfet3SPOuw2LOTZ+acrGb4VyudoYh18N0lqNekawPFB6VYSJotnxaNeLUbg4GQC+X2arti9/IoS7kLgk4dUNsPQVHPtfJGAeq8W x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 006e3d00-014a-4744-7c47-08d800376feb X-MS-Exchange-CrossTenant-originalarrivaltime: 24 May 2020 23:08:57.2720 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 9bStqtYMkiJr7CgkFmdNgjqeHrcBPIMsBjxtr/12aTzFY7LvEzo4li7KMDu2ciabLlVPmvKsFnToHd62gFhbRSZobe4CsuewQor+Kb/ptCY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR11MB2871 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 5/5] bpf: x86 JIT support for packet data loadinstructions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" PiA+DQo+ID4gKy8qDQo+ID4gKyAqIGhlbHBlciBmdW5jdGlvbiwgdXNlZCBieSBlbWl0X2xkX21i dWYoKS4NCj4gPiArICogZ2VuZXJhdGVzIGNvZGUgZm9yICdmYXN0X3BhdGgnOg0KPiA+ICsgKiBj YWxjdWxhdGUgbG9hZCBvZmZzZXQgYW5kIGNoZWNrIGlzIGl0IGluc2lkZSBmaXJzdCBwYWNrZXQg c2VnbWVudC4NCj4gPiArICovDQo+ID4gK3N0YXRpYyB2b2lkDQo+ID4gK2VtaXRfbGRtYl9mYXN0 X3BhdGgoc3RydWN0IGJwZl9qaXRfc3RhdGUgKnN0LCBjb25zdCB1aW50MzJfdA0KPiA+IHJnW0VC UEZfUkVHXzddLA0KPiA+ICsJdWludDMyX3Qgc3JlZywgdWludDMyX3QgbW9kZSwgdWludDMyX3Qg c3osIHVpbnQzMl90IGltbSwNCj4gPiArCWNvbnN0IGludDMyX3Qgb2ZzW0xETUJfT0ZTX05VTV0p DQo+ID4gK3sNCj4gPiArCS8qIG1ha2UgUjIgY29udGFpbiAqb2ZmKiB2YWx1ZSAqLw0KPiA+ICsN Cj4gPiArCWlmIChzcmVnICE9IHJnW0VCUEZfUkVHXzJdKSB7DQo+ID4gKwkJZW1pdF9tb3ZfaW1t KHN0LCBFQlBGX0FMVTY0IHwgRUJQRl9NT1YgfCBCUEZfSywNCj4gPiArCQkJcmdbRUJQRl9SRUdf Ml0sIGltbSk7DQo+ID4gKwkJaWYgKG1vZGUgPT0gQlBGX0lORCkNCj4gPiArCQkJZW1pdF9hbHVf cmVnKHN0LCBFQlBGX0FMVTY0IHwgQlBGX0FERCB8IEJQRl9YLA0KPiA+ICsJCQkJc3JlZywgcmdb RUJQRl9SRUdfMl0pOw0KPiA+ICsJfSBlbHNlDQo+ID4gKwkJLyogQlBGX0lORCB3aXRoIHNyZWcg PT0gUjIgKi8NCj4gPiArCQllbWl0X2FsdV9pbW0oc3QsIEVCUEZfQUxVNjQgfCBCUEZfQUREIHwg QlBGX0ssDQo+ID4gKwkJCXJnW0VCUEZfUkVHXzJdLCBpbW0pOw0KPiA+ICsNCj4gPiArCS8qIFIz ID0gbWJ1Zi0+ZGF0YV9sZW4gKi8NCj4gPiArCWVtaXRfbGRfcmVnKHN0LCBCUEZfTERYIHwgQlBG X01FTSB8IEJQRl9ILA0KPiA+ICsJCXJnW0VCUEZfUkVHXzZdLCByZ1tFQlBGX1JFR18zXSwNCj4g PiArCQlvZmZzZXRvZihzdHJ1Y3QgcnRlX21idWYsIGRhdGFfbGVuKSk7DQo+ID4gKw0KPiA+ICsJ LyogUjMgPSBSMyAtIFIyICovDQo+ID4gKwllbWl0X2FsdV9yZWcoc3QsIEVCUEZfQUxVNjQgfCBC UEZfU1VCIHwgQlBGX1gsDQo+ID4gKwkJcmdbRUJQRl9SRUdfMl0sIHJnW0VCUEZfUkVHXzNdKTsN Cj4gPiArDQo+ID4gKwkvKiBKU0xFIFIzLCA8c3o+IDxzbG93X3BhdGg+ICovDQo+ID4gKwllbWl0 X2NtcF9pbW0oc3QsIEVCUEZfQUxVNjQsIHJnW0VCUEZfUkVHXzNdLCBzeik7DQo+ID4gKwllbWl0 X2Fic19qY2Moc3QsIEJQRl9KTVAgfCBFQlBGX0pTTEUgfCBCUEZfSywgb2ZzW0xETUJfU0xQX09G U10pOw0KPiA+ICsNCj4gPiArCS8qIFIzID0gbWJ1Zi0+ZGF0YV9vZmYgKi8NCj4gPiArCWVtaXRf bGRfcmVnKHN0LCBCUEZfTERYIHwgQlBGX01FTSB8IEJQRl9ILA0KPiA+ICsJCXJnW0VCUEZfUkVH XzZdLCByZ1tFQlBGX1JFR18zXSwNCj4gPiArCQlvZmZzZXRvZihzdHJ1Y3QgcnRlX21idWYsIGRh dGFfb2ZmKSk7DQo+ID4gKw0KPiA+ICsJLyogUjAgPSBtYnVmLT5idWZfYWRkciAqLw0KPiA+ICsJ ZW1pdF9sZF9yZWcoc3QsIEJQRl9MRFggfCBCUEZfTUVNIHwgRUJQRl9EVywNCj4gPiArCQlyZ1tF QlBGX1JFR182XSwgcmdbRUJQRl9SRUdfMF0sDQo+ID4gKwkJb2Zmc2V0b2Yoc3RydWN0IHJ0ZV9t YnVmLCBidWZfYWRkcikpOw0KPiA+ICsNCj4gPiArCS8qIFIwID0gUjAgKyBSMyAqLw0KPiA+ICsJ ZW1pdF9hbHVfcmVnKHN0LCBFQlBGX0FMVTY0IHwgQlBGX0FERCB8IEJQRl9YLA0KPiA+ICsJCXJn W0VCUEZfUkVHXzNdLCByZ1tFQlBGX1JFR18wXSk7DQo+ID4gKw0KPiA+ICsJLyogUjAgPSBSMCAr IFIyICovDQo+ID4gKwllbWl0X2FsdV9yZWcoc3QsIEVCUEZfQUxVNjQgfCBCUEZfQUREIHwgQlBG X1gsDQo+ID4gKwkJcmdbRUJQRl9SRUdfMl0sIHJnW0VCUEZfUkVHXzBdKTsNCj4gPiArDQo+ID4g KwkvKiBKTVAgPGZpbl9wYXJ0PiAqLw0KPiA+ICsJZW1pdF9hYnNfam1wKHN0LCBvZnNbTERNQl9G SU5fT0ZTXSk7DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qDQo+ID4gKyAqIGhlbHBlciBmdW5jdGlv biwgdXNlZCBieSBlbWl0X2xkX21idWYoKS4NCj4gPiArICogZ2VuZXJhdGVzIGNvZGUgZm9yICdz bG93X3BhdGgnOg0KPiA+ICsgKiBjYWxsIF9fcnRlX3BrdG1idWZfcmVhZCgpIGFuZCBjaGVjayBy ZXR1cm4gdmFsdWUuDQo+ID4gKyAqLw0KPiA+ICtzdGF0aWMgdm9pZA0KPiA+ICtlbWl0X2xkbWJf c2xvd19wYXRoKHN0cnVjdCBicGZfaml0X3N0YXRlICpzdCwgY29uc3QgdWludDMyX3QNCj4gPiBy Z1tFQlBGX1JFR183XSwNCj4gPiArCXVpbnQzMl90IHN6KQ0KPiA+ICt7DQo+ID4gKwkvKiBtYWtl IFIzIGNvbnRhaW4gKmxlbiogdmFsdWUgKDEvMi80KSAqLw0KPiA+ICsNCj4gPiArCWVtaXRfbW92 X2ltbShzdCwgRUJQRl9BTFU2NCB8IEVCUEZfTU9WIHwgQlBGX0ssIHJnW0VCUEZfUkVHXzNdLCBz eik7DQo+ID4gKw0KPiA+ICsJLyogbWFrZSBSNCBjb250YWluIChSQlAgLSBsZG1iLnN0YWNrX29m cykgKi8NCj4gPiArDQo+ID4gKwllbWl0X21vdl9yZWcoc3QsIEVCUEZfQUxVNjQgfCBFQlBGX01P ViB8IEJQRl9YLCBSQlAsIHJnW0VCUEZfUkVHXzRdKTsNCj4gPiArCWVtaXRfYWx1X2ltbShzdCwg RUJQRl9BTFU2NCB8IEJQRl9TVUIgfCBCUEZfSywgcmdbRUJQRl9SRUdfNF0sDQo+ID4gKwkJc3Qt PmxkbWIuc3RhY2tfb2ZzKTsNCj4gPiArDQo+ID4gKwkvKiBtYWtlIFIxIGNvbnRhaW4gbWJ1ZiBw dHIgKi8NCj4gPiArDQo+ID4gKwllbWl0X21vdl9yZWcoc3QsIEVCUEZfQUxVNjQgfCBFQlBGX01P ViB8IEJQRl9YLA0KPiA+ICsJCXJnW0VCUEZfUkVHXzZdLCByZ1tFQlBGX1JFR18xXSk7DQo+ID4g Kw0KPiA+ICsJLyogY2FsbCBydGVfcGt0bWJ1Zl9yZWFkICovDQo+ID4gKwllbWl0X2NhbGwoc3Qs ICh1aW50cHRyX3QpX19ydGVfcGt0bWJ1Zl9yZWFkKTsNCj4gPiArDQo+ID4gKwkvKiBjaGVjayB0 aGF0IHJldHVybiB2YWx1ZSAoUjApIGlzIG5vdCB6ZXJvICovDQo+ID4gKwllbWl0X3RzdF9yZWco c3QsIEVCUEZfQUxVNjQsIHJnW0VCUEZfUkVHXzBdLCByZ1tFQlBGX1JFR18wXSk7DQo+ID4gKwll bWl0X2Fic19qY2Moc3QsIEJQRl9KTVAgfCBCUEZfSkVRIHwgQlBGX0ssIHN0LT5leGl0Lm9mZik7 DQo+ID4gK30NCj4gPiArDQo+ID4gKy8qDQo+ID4gKyAqIGhlbHBlciBmdW5jdGlvbiwgdXNlZCBi eSBlbWl0X2xkX21idWYoKS4NCj4gPiArICogZ2VuZXJhdGVzIGZpbmFsIHBhcnQgb2YgY29kZSBm b3IgQlBGX0FCUy9CUEZfSU5EIGxvYWQ6DQo+ID4gKyAqIHBlcmZvcm0gZGF0YSBsb2FkIGFuZCBl bmRpYW5uZXNzIGNvbnZlcnNpb24uDQo+ID4gKyAqIGV4cGVjdHMgZHJlZyB0byBjb250YWluIHZh bGlkIGRhdGEgcG9pbnRlci4NCj4gPiArICovDQo+ID4gK3N0YXRpYyB2b2lkDQo+ID4gK2VtaXRf bGRtYl9maW4oc3RydWN0IGJwZl9qaXRfc3RhdGUgKnN0LCB1aW50MzJfdCBkcmVnLCB1aW50MzJf dCBvcHN6LA0KPiA+ICsJdWludDMyX3Qgc3opDQo+ID4gK3sNCj4gPiArCWVtaXRfbGRfcmVnKHN0 LCBCUEZfTERYIHwgQlBGX01FTSB8IG9wc3osIGRyZWcsIGRyZWcsIDApOw0KPiA+ICsJaWYgKHN6 ICE9IHNpemVvZih1aW50OF90KSkNCj4gPiArCQllbWl0X2JlMmxlKHN0LCBkcmVnLCBzeiAqIENI QVJfQklUKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyoNCj4gPiArICogZW1pdCBjb2RlIGZvciBC UEZfQUJTL0JQRl9JTkQgbG9hZC4NCj4gPiArICogZ2VuZXJhdGVzIHRoZSBmb2xsb3dpbmcgY29u c3RydWN0aW9uOg0KPiA+ICsgKiBmYXN0X3BhdGg6DQo+ID4gKyAqICAgb2ZmID0gaW5zLT5zcmVn ICsgaW5zLT5pbW0NCj4gPiArICogICBpZiAob2ZmICsgaW5zLT5vcHN6IDwgbWJ1Zi0+ZGF0YV9s ZW4pDQo+ID4gKyAqICAgICAgZ290byBzbG93X3BhdGg7DQo+IA0KPiBJIGFtIG5vdCBhbiBlQlBG IGV4cGVydCwgYnV0IEkgYW0gbm90IHN1cmUgdGhpcyBpcyBjb3JyZWN0Lg0KPiANCj4gSSB0aGlu ayBpdCBzaG91bGQgYmUgPiBpbnN0ZWFkIG9mIDwuIEFsc28sIGl0IGxvb2tzIGxpa2UgeW91IGFj dHVhbGx5IGVtaXQ6DQo+IGlmIChtYnVmLT5kYXRhX2xlbiAtIG9mZiA8PSBpbnMtPm9wc3opDQo+ ICAgIGdvdG8gc2xvd19wYXRoOw0KPiANCj4gQ291bGQgeW91IHBsZWFzZSBkb3VibGUgY2hlY2sg dGhhdCBib3RoIHRoZSBjb21tZW50IGFuZCB0aGUgZW1pdHRlZCBjb2RlIGhhcyB0aGUgY29tcGFy aXNvbiB0dXJuaW5nIHRoZSBjb3JyZWN0IHdheS4NCg0KQWNrLCBzaG91bGQgYmU6DQppZiAobWJ1 Zi0+ZGF0YV9sZW4gLSBvZmYgPCBpbnMtPm9wc3opDQpXaWxsIHNlbmQgdjIuDQoNCg0K