From minios-devel-bounces@lists.xenproject.org Mon Oct 01 14:18:58 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 01 Oct 2018 14:18:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g6z2D-0000ta-M1; Mon, 01 Oct 2018 14:18:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=0ijk=mn=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1g6z2C-0000tV-So
 for minios-devel@lists.xen.org; Mon, 01 Oct 2018 14:18:52 +0000
X-Inumbo-ID: 1562a1de-c585-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 1562a1de-c585-11e8-a6a9-d7ebe60f679a;
 Mon, 01 Oct 2018 14:20:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 028DEF204E;
 Mon,  1 Oct 2018 16:18:50 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id zqkbPbjJ8C1n; Mon,  1 Oct 2018 16:18:49 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id D2D0FF204B
 for <minios-devel@lists.xen.org>; Mon,  1 Oct 2018 16:18:47 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 1 Oct
 2018 16:18:47 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Mon, 1 Oct 2018 16:18:34 +0200
Message-ID: <1538403514-24550-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH] plat/common: PCI bus probes the
 device identifier
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2hpbGUgcHJvYmluZyB0aGUgZGV2aWNlcyBvbiB0aGUgcGNpIGJ1cywgdGhlIGRldmljZSBpZGVu
dGlmaWVyIGFyZQpyZWFkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UuIFRoZSBwY2kgZGV2
aWNlIGlzIGlkZW50aWZpZWQgd2l0aAoqIGNsYXNzX2lkCiogdmVuZG9yX2lkCiogZGV2aWNlX2lk
Ciogc3Vic3lzdGVtX2lkCiogc3Vic3lzdGVtdmVuZG9yX2lkCgpTaWduZWQtb2ZmLWJ5OiBTaGFy
YW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2NvbW1v
bi9wY2lfYnVzLmMgfCAzMCArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDEgZmlsZSBj
aGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Bs
YXQvY29tbW9uL3BjaV9idXMuYyBiL3BsYXQvY29tbW9uL3BjaV9idXMuYwppbmRleCBjNjUzZTgx
Li43MTcxM2M5IDEwMDY0NAotLS0gYS9wbGF0L2NvbW1vbi9wY2lfYnVzLmMKKysrIGIvcGxhdC9j
b21tb24vcGNpX2J1cy5jCkBAIC04MCw2ICs4MCwyMiBAQCBzdGF0aWMgc3RydWN0IHBjaV9idXNf
aGFuZGxlciBwaDsKICNkZWZpbmUgUENJX0RFVklDRV9TSElGVCAgICAgICAgICAgICgxMSkKICNk
ZWZpbmUgUENJX0VOQUJMRV9CSVQgICAgICAgICAgICAgICgxIDw8IDMxKQogCisjZGVmaW5lIFBD
SV9DT05GX0NMQVNTX0lEICAgICAgICAgICgweDA4KQorI2RlZmluZSBQQ0lfQ09ORl9DTEFTU19J
RF9TSEZUICAgICAoOCkKKyNkZWZpbmUgUENJX0NPTkZfQ0xBU1NfSURfTUFTSyAgICAgKDB4MDBG
RkZGRkYpCisKKyNkZWZpbmUgUENJX0NPTkZfVkVORE9SX0lEICAgICAgICAgICgweDAwKQorI2Rl
ZmluZSBQQ0lfQ09ORl9WRU5ET1JfSURfU0hGVCAgICAgKDApCisjZGVmaW5lIFBDSV9DT05GX1ZF
TkRPUl9JRF9NQVNLICAgICAoMHgwMDAwRkZGRikKKworI2RlZmluZSBQQ0lfQ09ORl9ERVZJQ0Vf
SUQgICAgICAgICAgKDB4MDApCisjZGVmaW5lIFBDSV9DT05GX0RFVklDRV9JRF9TSEZUICAgICAo
MTYpCisjZGVmaW5lIFBDSV9DT05GX0RFVklDRV9JRF9NQVNLICAgICAoMHgwMDAwRkZGRikKKwor
I2RlZmluZSBQQ0lfQ09ORl9TVUJTWVNWRU5fSUQgICAgICAgICAgKDB4MmMpCisjZGVmaW5lIFBD
SV9DT05GX1NVQlNZU1ZFTl9JRF9TSEZUICAgICAoMCkKKyNkZWZpbmUgUENJX0NPTkZfU1VCU1lT
VkVOX0lEX01BU0sgICAgICgweEZGRkYpCisKICNkZWZpbmUgUENJX0NPTkZfU1VCU1lTX0lEICAg
ICAgICAgICgweDJjKQogI2RlZmluZSBQQ0lfQ09ORl9TVUJTWVNfSURfU0hGVCAgICAgKDE2KQog
I2RlZmluZSBQQ0lfQ09ORl9TVUJTWVNfSURfTUFTSyAgICAgKDB4RkZGRikKQEAgLTIzNiwxNCAr
MjUyLDE2IEBAIHN0YXRpYyBpbnQgcGNpX3Byb2JlKHZvaWQpCiAJCQkJY29udGludWU7CiAJCQl9
CiAKLQkJCS8qIFRPRE86IEltcGxlbWVudCBmZXRjaCBtb3JlIGluZm9ybWF0aW9uIGZyb20gUENJ
ICovCi0JCQlkZXZpZC5jbGFzc19pZCAgICAgICAgICAgID0gUENJX0NMQVNTX0FOWV9JRDsKLQkJ
CS8qIFRPRE86IEltcGxlbWVudCBmZXRjaCBtb3JlIGluZm9ybWF0aW9uIGZyb20gUENJICovCi0J
CQlkZXZpZC5kZXZpY2VfaWQgICAgICAgICAgID0gUENJX0FOWV9JRDsKLQkJCS8qIFRPRE86IElt
cGxlbWVudCBmZXRjaCBtb3JlIGluZm9ybWF0aW9uIGZyb20gUENJICovCi0JCQlkZXZpZC5zdWJz
eXN0ZW1fdmVuZG9yX2lkID0gUENJX0FOWV9JRDsKKwkJCVBDSV9DT05GX1JFQUQodWludDMyX3Qs
ICZkZXZpZC5jbGFzc19pZCwKKwkJCQkJY29uZmlnX2FkZHIsIENMQVNTX0lEKTsKKwkJCVBDSV9D
T05GX1JFQUQodWludDE2X3QsICZkZXZpZC52ZW5kb3JfaWQsCisJCQkJCWNvbmZpZ19hZGRyLCBW
RU5ET1JfSUQpOworCQkJUENJX0NPTkZfUkVBRCh1aW50MTZfdCwgJmRldmlkLmRldmljZV9pZCwK
KwkJCQkJY29uZmlnX2FkZHIsIERFVklDRV9JRCk7CiAJCQlQQ0lfQ09ORl9SRUFEKHVpbnQxNl90
LCAmZGV2aWQuc3Vic3lzdGVtX2RldmljZV9pZCwKIAkJCQkJY29uZmlnX2FkZHIsIFNVQlNZU19J
RCk7CisJCQlQQ0lfQ09ORl9SRUFEKHVpbnQxNl90LCAmZGV2aWQuc3Vic3lzdGVtX3ZlbmRvcl9p
ZCwKKwkJCQkJY29uZmlnX2FkZHIsIFNVQlNZU1ZFTl9JRCk7CiAKIAkJCXVrX3ByX2luZm8oIlBD
SSAlMDJ4OiUwMnguJTAyeCAoJTA0eCAlMDR4OiUwNHgpOiAiLAogCQkJCSAgIChpbnQpIGFkZHIu
YnVzLAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 01 21:16:26 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 01 Oct 2018 21:16:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g75YG-0004yX-Lk; Mon, 01 Oct 2018 21:16:24 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=l05s=mn=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g75YF-0004xi-Pw
 for minios-devel@lists.xen.org; Mon, 01 Oct 2018 21:16:23 +0000
X-Inumbo-ID: e9639bb9-c5be-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id e9639bb9-c5be-11e8-a8a5-bc764e045a96;
 Mon, 01 Oct 2018 23:13:59 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id AEA1B1049D4;
 Mon,  1 Oct 2018 23:16:18 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id D7poppOezdiU; Mon,  1 Oct 2018 23:16:18 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 898DE1049CB
 for <minios-devel@lists.xen.org>; Mon,  1 Oct 2018 23:16:16 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 1 Oct
 2018 23:16:16 +0200
To: Yuri Volchkov <yuri.volchkov@neclab.eu>, <minios-devel@lists.xen.org>
References: <20180921151115.19805-1-yuri.volchkov@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <cd6dc483-edaa-b2cf-6350-47ddee77997c@neclab.eu>
Date: Mon, 1 Oct 2018 23:16:15 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20180921151115.19805-1-yuri.volchkov@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] build: choose arch-includes at
 makefile level
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZ29vZC4gVGhhbmtzIQoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1
ZW56ZXJAbmVjbGFiLmV1PgoKT24gMjEuMDkuMjAxOCAxNzoxMSwgWXVyaSBWb2xjaGtvdiB3cm90
ZToKPiBJbnN0ZWFkIG9mIGFkZGluZyBtdWx0aXBsZSBpZmRlZnMgaW4gdGhlIGhlYWRlcnMgaW4g
b3JkZXIgdG8gY2hvb3NlIGEKPiBoZWFkZXIgc3BlY2lmaWMgdG8gY3VycmVudCBhcmNoaXRlY3R1
cmUsIGluY2x1ZGUKPiA8dWsvYXNtL2FyY2hfc3BlY2lmaWNfaGVhZGVyLmg+LiBUaGlzIHdpbGwg
YXV0b21hdGljYWxseSByZXNvbHZlIHRvCj4gdGhlIGNvcnJlY3QgaGVhZGVyLCB2aWEgLUkgZmxh
Z3MgcHJvdmlkZWQgdG8gY29tcGlsZXIuCj4gCj4gVGhpcyBhbHNvIG1vdmVzIHRoZSBhcmNoIGhl
YWRlcnMgaW4KPiBhcmNoLzxhcmNoX2ZhbWlseT4vPGFyY2hfbmFtZT4vdWsvYXNtCj4gCj4gU2ln
bmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Cj4gLS0t
Cj4gICBhcmNoL2FybS9hcm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICAgfCAgNCAr
KysKPiAgIC4uLi9hcm0vYXJtL2luY2x1ZGUvdWsvYXNtfS9hdG9taWMuaCAgICAgICAgICB8ICAw
Cj4gICAuLi4vYXJtL2FybS9pbmNsdWRlL3VrL2FzbX0vaW50c2l6ZXMuaCAgICAgICAgfCAgMAo+
ICAgLi4uL2FybS9hcm0vaW5jbHVkZS91ay9hc219L2xjcHUuaCAgICAgICAgICAgIHwgIDAKPiAg
IC4uLi9hcm0vYXJtL2luY2x1ZGUvdWsvYXNtfS9saW1pdHMuaCAgICAgICAgICB8ICAwCj4gICAu
Li4vYXJtL2FybS9pbmNsdWRlL3VrL2FzbX0vdHlwZXMuaCAgICAgICAgICAgfCAgMAo+ICAgYXJj
aC9hcm0vYXJtNjQvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrCj4gICAu
Li4vYXJtL2FybTY0L2luY2x1ZGUvdWsvYXNtfS9hdG9taWMuaCAgICAgICAgfCAgMAo+ICAgLi4u
L2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbX0vaW50c2l6ZXMuaCAgICAgIHwgIDAKPiAgIC4uLi9h
cm0vYXJtNjQvaW5jbHVkZS91ay9hc219L2xjcHUuaCAgICAgICAgICB8ICAwCj4gICAuLi4vYXJt
L2FybTY0L2luY2x1ZGUvdWsvYXNtfS9saW1pdHMuaCAgICAgICAgfCAgMAo+ICAgLi4uL2FybS9h
cm02NC9pbmNsdWRlL3VrL2FzbX0vdHlwZXMuaCAgICAgICAgIHwgIDAKPiAgIGFyY2gveDg2L3g4
Nl82NC9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICB8ICA1ICsrKysKPiAgIC4uLi94ODYv
eDg2XzY0L2luY2x1ZGUvdWsvYXNtfS9hdG9taWMuaCAgICAgICB8ICAwCj4gICAuLi4veDg2L3g4
Nl82NC9pbmNsdWRlL3VrL2FzbX0vaW50c2l6ZXMuaCAgICAgfCAgMAo+ICAgLi4uL3g4Ni94ODZf
NjQvaW5jbHVkZS91ay9hc219L2xjcHUuaCAgICAgICAgIHwgIDAKPiAgIC4uLi94ODYveDg2XzY0
L2luY2x1ZGUvdWsvYXNtfS9saW1pdHMuaCAgICAgICB8ICAwCj4gICAuLi4veDg2L3g4Nl82NC9p
bmNsdWRlL3VrL2FzbX0vdHlwZXMuaCAgICAgICAgfCAgMAo+ICAgaW5jbHVkZS91ay9hcmNoL2F0
b21pYy5oICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKy0tLS0tLS0tLQo+ICAgaW5jbHVkZS91
ay9hcmNoL2xjcHUuaCAgICAgICAgICAgICAgICAgICAgICAgIHwgMTMgKy0tLS0tLS0tLQo+ICAg
aW5jbHVkZS91ay9hcmNoL2xpbWl0cy5oICAgICAgICAgICAgICAgICAgICAgIHwgMjYgKystLS0t
LS0tLS0tLS0tLS0tLQo+ICAgaW5jbHVkZS91ay9hcmNoL3R5cGVzLmggICAgICAgICAgICAgICAg
ICAgICAgIHwgMTggKystLS0tLS0tLS0tLQo+ICAgMjIgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0
aW9ucygrKSwgNjQgZGVsZXRpb25zKC0pCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0v
YXJtID0+IGFyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2FzbX0vYXRvbWljLmggKDEwMCUpCj4gICBy
ZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtID0+IGFyY2gvYXJtL2FybS9pbmNsdWRlL3Vr
L2FzbX0vaW50c2l6ZXMuaCAoMTAwJSkKPiAgIHJlbmFtZSB7aW5jbHVkZS91ay9hcmNoL2FybS9h
cm0gPT4gYXJjaC9hcm0vYXJtL2luY2x1ZGUvdWsvYXNtfS9sY3B1LmggKDEwMCUpCj4gICByZW5h
bWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtID0+IGFyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2Fz
bX0vbGltaXRzLmggKDEwMCUpCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtID0+
IGFyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2FzbX0vdHlwZXMuaCAoMTAwJSkKPiAgIHJlbmFtZSB7
aW5jbHVkZS91ay9hcmNoL2FybS9hcm02NCA9PiBhcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2Fz
bX0vYXRvbWljLmggKDEwMCUpCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtNjQg
PT4gYXJjaC9hcm0vYXJtNjQvaW5jbHVkZS91ay9hc219L2ludHNpemVzLmggKDEwMCUpCj4gICBy
ZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtNjQgPT4gYXJjaC9hcm0vYXJtNjQvaW5jbHVk
ZS91ay9hc219L2xjcHUuaCAoMTAwJSkKPiAgIHJlbmFtZSB7aW5jbHVkZS91ay9hcmNoL2FybS9h
cm02NCA9PiBhcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbX0vbGltaXRzLmggKDEwMCUpCj4g
ICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC9hcm0vYXJtNjQgPT4gYXJjaC9hcm0vYXJtNjQvaW5j
bHVkZS91ay9hc219L3R5cGVzLmggKDEwMCUpCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC94
ODYveDg2XzY0ID0+IGFyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbX0vYXRvbWljLmggKDEw
MCUpCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC94ODYveDg2XzY0ID0+IGFyY2gveDg2L3g4
Nl82NC9pbmNsdWRlL3VrL2FzbX0vaW50c2l6ZXMuaCAoMTAwJSkKPiAgIHJlbmFtZSB7aW5jbHVk
ZS91ay9hcmNoL3g4Ni94ODZfNjQgPT4gYXJjaC94ODYveDg2XzY0L2luY2x1ZGUvdWsvYXNtfS9s
Y3B1LmggKDEwMCUpCj4gICByZW5hbWUge2luY2x1ZGUvdWsvYXJjaC94ODYveDg2XzY0ID0+IGFy
Y2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbX0vbGltaXRzLmggKDEwMCUpCj4gICByZW5hbWUg
e2luY2x1ZGUvdWsvYXJjaC94ODYveDg2XzY0ID0+IGFyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3Vr
L2FzbX0vdHlwZXMuaCAoMTAwJSkKPiAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYXJtL01ha2Vm
aWxlLnVrIGIvYXJjaC9hcm0vYXJtL01ha2VmaWxlLnVrCj4gaW5kZXggOWFlZjg0OS4uM2M1ZGQx
ZiAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9hcm0vTWFrZWZpbGUudWsKPiArKysgYi9hcmNoL2Fy
bS9hcm0vTWFrZWZpbGUudWsKPiBAQCAtNSw2ICs1LDEwIEBAIENGTEFHUyAgICs9IC1tYXJtIC1m
bXMtZXh0ZW5zaW9ucwo+ICAgQ1hYRkxBR1MgKz0gLURfX0FSTV8zMl9fCj4gICBDWFhGTEFHUyAr
PSAtbWFybSAtZm1zLWV4dGVuc2lvbnMKPiAgIAo+ICtDSU5DTFVERVMgICArPSAtSSQoQ09ORklH
X1VLX0JBU0UpL2FyY2gvYXJtL2FybS9pbmNsdWRlCj4gK0FTSU5DTFVERVMgICs9IC1JJChDT05G
SUdfVUtfQkFTRSkvYXJjaC9hcm0vYXJtL2luY2x1ZGUKPiArQ1hYSU5DTFVERVMgKz0gLUkkKENP
TkZJR19VS19CQVNFKS9hcmNoL2FybS9hcm0vaW5jbHVkZQo+ICsKPiAgICMgU2V0IEdDQyBmbGFn
cyBmb3IgTUFSQ0hfQVJNMzJfR0VORVJJQ1Y3LiBHQ0Mgc3VwcG9ydHMgLW10dW5lPWdlbmVyaWMt
YXJtdjctYSBmcm9tIDQuNwo+ICAgaWZlcSAoJChDT05GSUdfTUFSQ0hfQVJNMzJfR0VORVJJQ1Y3
KSx5KQo+ICAgJChjYWxsIGVycm9yX2lmX2djY192ZXJzaW9uX2x0LDQsNykKPiBkaWZmIC0tZ2l0
IGEvaW5jbHVkZS91ay9hcmNoL2FybS9hcm0vYXRvbWljLmggYi9hcmNoL2FybS9hcm0vaW5jbHVk
ZS91ay9hc20vYXRvbWljLmgKPiBzaW1pbGFyaXR5IGluZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBp
bmNsdWRlL3VrL2FyY2gvYXJtL2FybS9hdG9taWMuaAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm0v
aW5jbHVkZS91ay9hc20vYXRvbWljLmgKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2Fy
bS9hcm0vaW50c2l6ZXMuaCBiL2FyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2FzbS9pbnRzaXplcy5o
Cj4gc2ltaWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2Fy
bS9hcm0vaW50c2l6ZXMuaAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm0vaW5jbHVkZS91ay9hc20v
aW50c2l6ZXMuaAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2FyY2gvYXJtL2FybS9sY3B1Lmgg
Yi9hcmNoL2FybS9hcm0vaW5jbHVkZS91ay9hc20vbGNwdS5oCj4gc2ltaWxhcml0eSBpbmRleCAx
MDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm0vbGNwdS5oCj4gcmVuYW1l
IHRvIGFyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2FzbS9sY3B1LmgKPiBkaWZmIC0tZ2l0IGEvaW5j
bHVkZS91ay9hcmNoL2FybS9hcm0vbGltaXRzLmggYi9hcmNoL2FybS9hcm0vaW5jbHVkZS91ay9h
c20vbGltaXRzLmgKPiBzaW1pbGFyaXR5IGluZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBpbmNsdWRl
L3VrL2FyY2gvYXJtL2FybS9saW1pdHMuaAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm0vaW5jbHVk
ZS91ay9hc20vbGltaXRzLmgKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2FybS9hcm0v
dHlwZXMuaCBiL2FyY2gvYXJtL2FybS9pbmNsdWRlL3VrL2FzbS90eXBlcy5oCj4gc2ltaWxhcml0
eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm0vdHlwZXMu
aAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm0vaW5jbHVkZS91ay9hc20vdHlwZXMuaAo+IGRpZmYg
LS1naXQgYS9hcmNoL2FybS9hcm02NC9NYWtlZmlsZS51ayBiL2FyY2gvYXJtL2FybTY0L01ha2Vm
aWxlLnVrCj4gaW5kZXggNTRiMWIwMS4uZWI3M2NhYyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9h
cm02NC9NYWtlZmlsZS51awo+ICsrKyBiL2FyY2gvYXJtL2FybTY0L01ha2VmaWxlLnVrCj4gQEAg
LTcsNiArNywxMCBAQCBBU0ZMQUdTICArPSAtRF9fQVJNXzY0X18gLW1nZW5lcmFsLXJlZ3Mtb25s
eQo+ICAgQ0ZMQUdTICAgKz0gLURfX0FSTV82NF9fIC1mbXMtZXh0ZW5zaW9ucyAtbWdlbmVyYWwt
cmVncy1vbmx5Cj4gICBDWFhGTEFHUyArPSAtRF9fQVJNXzY0X18gLWZtcy1leHRlbnNpb25zIC1t
Z2VuZXJhbC1yZWdzLW9ubHkKPiAgIAo+ICtDSU5DTFVERVMgICArPSAtSSQoQ09ORklHX1VLX0JB
U0UpL2FyY2gvYXJtL2FybTY0L2luY2x1ZGUKPiArQVNJTkNMVURFUyAgKz0gLUkkKENPTkZJR19V
S19CQVNFKS9hcmNoL2FybS9hcm02NC9pbmNsdWRlCj4gK0NYWElOQ0xVREVTICs9IC1JJChDT05G
SUdfVUtfQkFTRSkvYXJjaC9hcm0vYXJtNjQvaW5jbHVkZQo+ICsKPiAgICMgR0NDIHN1cHBvcnQg
LW1jcHU9bmF0aXZlIGZvciBhcm02NCBmcm9tIDYuMAo+ICAgaWZlcSAoJChDT05GSUdfTUFSQ0hf
QVJNNjRfTkFUSVZFKSx5KQo+ICAgJChjYWxsIGVycm9yX2lmX2djY192ZXJzaW9uX2x0LDYsMCkK
PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2FybS9hcm02NC9hdG9taWMuaCBiL2FyY2gv
YXJtL2FybTY0L2luY2x1ZGUvdWsvYXNtL2F0b21pYy5oCj4gc2ltaWxhcml0eSBpbmRleCAxMDAl
Cj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm02NC9hdG9taWMuaAo+IHJlbmFt
ZSB0byBhcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbS9hdG9taWMuaAo+IGRpZmYgLS1naXQg
YS9pbmNsdWRlL3VrL2FyY2gvYXJtL2FybTY0L2ludHNpemVzLmggYi9hcmNoL2FybS9hcm02NC9p
bmNsdWRlL3VrL2FzbS9pbnRzaXplcy5oCj4gc2ltaWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1l
IGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm02NC9pbnRzaXplcy5oCj4gcmVuYW1lIHRvIGFy
Y2gvYXJtL2FybTY0L2luY2x1ZGUvdWsvYXNtL2ludHNpemVzLmgKPiBkaWZmIC0tZ2l0IGEvaW5j
bHVkZS91ay9hcmNoL2FybS9hcm02NC9sY3B1LmggYi9hcmNoL2FybS9hcm02NC9pbmNsdWRlL3Vr
L2FzbS9sY3B1LmgKPiBzaW1pbGFyaXR5IGluZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBpbmNsdWRl
L3VrL2FyY2gvYXJtL2FybTY0L2xjcHUuaAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm02NC9pbmNs
dWRlL3VrL2FzbS9sY3B1LmgKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2FybS9hcm02
NC9saW1pdHMuaCBiL2FyY2gvYXJtL2FybTY0L2luY2x1ZGUvdWsvYXNtL2xpbWl0cy5oCj4gc2lt
aWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm02
NC9saW1pdHMuaAo+IHJlbmFtZSB0byBhcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbS9saW1p
dHMuaAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2FyY2gvYXJtL2FybTY0L3R5cGVzLmggYi9h
cmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbS90eXBlcy5oCj4gc2ltaWxhcml0eSBpbmRleCAx
MDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL2FybS9hcm02NC90eXBlcy5oCj4gcmVu
YW1lIHRvIGFyY2gvYXJtL2FybTY0L2luY2x1ZGUvdWsvYXNtL3R5cGVzLmgKPiBkaWZmIC0tZ2l0
IGEvYXJjaC94ODYveDg2XzY0L01ha2VmaWxlLnVrIGIvYXJjaC94ODYveDg2XzY0L01ha2VmaWxl
LnVrCj4gaW5kZXggNmIwM2Y3YS4uOWQ1NDBjMCAxMDA2NDQKPiAtLS0gYS9hcmNoL3g4Ni94ODZf
NjQvTWFrZWZpbGUudWsKPiArKysgYi9hcmNoL3g4Ni94ODZfNjQvTWFrZWZpbGUudWsKPiBAQCAt
NSw2ICs1LDExIEBAIENGTEFHUyAgICs9IC1tNjQgLW1uby1yZWQtem9uZSAtZm5vLXJlb3JkZXIt
YmxvY2tzIC1mbm8tYXN5bmNocm9ub3VzLXVud2luZC10YWJsCj4gICBDWFhGTEFHUyArPSAtRF9f
WDg2XzY0X18KPiAgIENYWEZMQUdTICs9IC1tNjQgLW1uby1yZWQtem9uZSAtZm5vLXJlb3JkZXIt
YmxvY2tzIC1mbm8tYXN5bmNocm9ub3VzLXVud2luZC10YWJsZXMKPiAgIAo+ICtDSU5DTFVERVMg
ICArPSAtSSQoQ09ORklHX1VLX0JBU0UpL2FyY2gveDg2L3g4Nl82NC9pbmNsdWRlCj4gK0FTSU5D
TFVERVMgICs9IC1JJChDT05GSUdfVUtfQkFTRSkvYXJjaC94ODYveDg2XzY0L2luY2x1ZGUKPiAr
Q1hYSU5DTFVERVMgKz0gLUkkKENPTkZJR19VS19CQVNFKS9hcmNoL3g4Ni94ODZfNjQvaW5jbHVk
ZQo+ICsKPiArCj4gICBDRkxBR1MtJChDT05GSUdfTUFSQ0hfWDg2XzY0X0dFTkVSSUMpICAgICAg
Kz0gLW10dW5lPWdlbmVyaWMKPiAgIENYWEZMQUdTLSQoQ09ORklHX01BUkNIX1g4Nl82NF9HRU5F
UklDKSAgICArPSAtbXR1bmU9Z2VuZXJpYwo+ICAgQ0ZMQUdTLSQoQ09ORklHX01BUkNIX1g4Nl82
NF9OT0NPTkEpICAgICAgICs9IC1tYXJjaD1ub2NvbmEKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91
ay9hcmNoL3g4Ni94ODZfNjQvYXRvbWljLmggYi9hcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9h
c20vYXRvbWljLmgKPiBzaW1pbGFyaXR5IGluZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBpbmNsdWRl
L3VrL2FyY2gveDg2L3g4Nl82NC9hdG9taWMuaAo+IHJlbmFtZSB0byBhcmNoL3g4Ni94ODZfNjQv
aW5jbHVkZS91ay9hc20vYXRvbWljLmgKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL3g4
Ni94ODZfNjQvaW50c2l6ZXMuaCBiL2FyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS9pbnRz
aXplcy5oCj4gc2ltaWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9h
cmNoL3g4Ni94ODZfNjQvaW50c2l6ZXMuaAo+IHJlbmFtZSB0byBhcmNoL3g4Ni94ODZfNjQvaW5j
bHVkZS91ay9hc20vaW50c2l6ZXMuaAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2FyY2gveDg2
L3g4Nl82NC9sY3B1LmggYi9hcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20vbGNwdS5oCj4g
c2ltaWxhcml0eSBpbmRleCAxMDAlCj4gcmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL3g4Ni94
ODZfNjQvbGNwdS5oCj4gcmVuYW1lIHRvIGFyY2gveDg2L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS9s
Y3B1LmgKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL3g4Ni94ODZfNjQvbGltaXRzLmgg
Yi9hcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20vbGltaXRzLmgKPiBzaW1pbGFyaXR5IGlu
ZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBpbmNsdWRlL3VrL2FyY2gveDg2L3g4Nl82NC9saW1pdHMu
aAo+IHJlbmFtZSB0byBhcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20vbGltaXRzLmgKPiBk
aWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL3g4Ni94ODZfNjQvdHlwZXMuaCBiL2FyY2gveDg2
L3g4Nl82NC9pbmNsdWRlL3VrL2FzbS90eXBlcy5oCj4gc2ltaWxhcml0eSBpbmRleCAxMDAlCj4g
cmVuYW1lIGZyb20gaW5jbHVkZS91ay9hcmNoL3g4Ni94ODZfNjQvdHlwZXMuaAo+IHJlbmFtZSB0
byBhcmNoL3g4Ni94ODZfNjQvaW5jbHVkZS91ay9hc20vdHlwZXMuaAo+IGRpZmYgLS1naXQgYS9p
bmNsdWRlL3VrL2FyY2gvYXRvbWljLmggYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmgKPiBpbmRl
eCA3Y2QzNGI4Li5kNGFiZWI3IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMu
aAo+ICsrKyBiL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAo+IEBAIC0zNiwxOCArMzYsNyBAQAo+
ICAgZXh0ZXJuICJDIiB7Cj4gICAjZW5kaWYKPiAgIAo+IC0jaWZkZWYgX19YODZfMzJfXwo+IC0j
aW5jbHVkZSA8dWsvYXJjaC94ODYveDg2L2F0b21pYy5oPgo+IC0jZW5kaWYKPiAtI2lmZGVmIF9f
WDg2XzY0X18KPiAtI2luY2x1ZGUgPHVrL2FyY2gveDg2L3g4Nl82NC9hdG9taWMuaD4KPiAtI2Vu
ZGlmCj4gLSNpZmRlZiBfX0FSTV8zMl9fCj4gLSNpbmNsdWRlIDx1ay9hcmNoL2FybS9hcm0vYXRv
bWljLmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19BUk1fNjRfXwo+IC0jaW5jbHVkZSA8dWsvYXJj
aC9hcm0vYXJtNjQvYXRvbWljLmg+Cj4gLSNlbmRpZgo+ICsjaW5jbHVkZSA8dWsvYXNtL2F0b21p
Yy5oPgo+ICAgCj4gICAvKioKPiAgICAqIFBlcmZvcm0gYSBhdG9taWMgbG9hZCBvcGVyYXRpb24u
Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC9sY3B1LmggYi9pbmNsdWRlL3VrL2FyY2gv
bGNwdS5oCj4gaW5kZXggYTllMTBkMi4uODNlYTZlYyAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL3Vr
L2FyY2gvbGNwdS5oCj4gKysrIGIvaW5jbHVkZS91ay9hcmNoL2xjcHUuaAo+IEBAIC00MiwxOCAr
NDIsNyBAQAo+ICAgZXh0ZXJuICJDIiB7Cj4gICAjZW5kaWYKPiAgIAo+IC0jaWZkZWYgX19YODZf
MzJfXwo+IC0jaW5jbHVkZSA8dWsvYXJjaC94ODYveDg2L2xjcHUuaD4KPiAtI2VuZGlmCj4gLSNp
ZmRlZiBfX1g4Nl82NF9fCj4gLSNpbmNsdWRlIDx1ay9hcmNoL3g4Ni94ODZfNjQvbGNwdS5oPgo+
IC0jZW5kaWYKPiAtI2lmZGVmIF9fQVJNXzMyX18KPiAtI2luY2x1ZGUgPHVrL2FyY2gvYXJtL2Fy
bS9sY3B1Lmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19BUk1fNjRfXwo+IC0jaW5jbHVkZSA8dWsv
YXJjaC9hcm0vYXJtNjQvbGNwdS5oPgo+IC0jZW5kaWYKPiArI2luY2x1ZGUgPHVrL2FzbS9sY3B1
Lmg+Cj4gICAKPiAgICNpZm5kZWYgbGlrZWx5Cj4gICAjZGVmaW5lIGxpa2VseSh4KSAgIChfX2J1
aWx0aW5fZXhwZWN0KCghISh4KSksIDEpKQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2FyY2gv
bGltaXRzLmggYi9pbmNsdWRlL3VrL2FyY2gvbGltaXRzLmgKPiBpbmRleCBhMDY4M2FkLi5mMWI1
ODMxIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWsvYXJjaC9saW1pdHMuaAo+ICsrKyBiL2luY2x1
ZGUvdWsvYXJjaC9saW1pdHMuaAo+IEBAIC0zNiwzMyArMzYsMTEgQEAKPiAgICNpZm5kZWYgX19V
S0FSQ0hfTElNSVRTX0hfXwo+ICAgI2RlZmluZSBfX1VLQVJDSF9MSU1JVFNfSF9fCj4gICAKPiAt
I2lmZGVmIF9fWDg2XzMyX18KPiAtI2luY2x1ZGUgPHVrL2FyY2gveDg2L3g4Ni9saW1pdHMuaD4K
PiAtI2VuZGlmCj4gLSNpZmRlZiBfX1g4Nl82NF9fCj4gLSNpbmNsdWRlIDx1ay9hcmNoL3g4Ni94
ODZfNjQvbGltaXRzLmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19BUk1fMzJfXwo+IC0jaW5jbHVk
ZSA8dWsvYXJjaC9hcm0vYXJtL2xpbWl0cy5oPgo+IC0jZW5kaWYKPiAtI2lmZGVmIF9fQVJNXzY0
X18KPiAtI2luY2x1ZGUgPHVrL2FyY2gvYXJtL2FybTY0L2xpbWl0cy5oPgo+IC0jZW5kaWYKPiAr
I2luY2x1ZGUgPHVrL2FzbS9saW1pdHMuaD4KPiAgIAo+ICAgI2lmbmRlZiBfX0FTU0VNQkxZX18K
PiAgIAo+IC0jaWZkZWYgX19YODZfMzJfXwo+IC0jaW5jbHVkZSA8dWsvYXJjaC94ODYveDg2L2lu
dHNpemVzLmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19YODZfNjRfXwo+IC0jaW5jbHVkZSA8dWsv
YXJjaC94ODYveDg2XzY0L2ludHNpemVzLmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19BUk1fMzJf
Xwo+IC0jaW5jbHVkZSA8dWsvYXJjaC9hcm0vYXJtL2ludHNpemVzLmg+Cj4gLSNlbmRpZgo+IC0j
aWZkZWYgX19BUk1fNjRfXwo+IC0jaW5jbHVkZSA8dWsvYXJjaC9hcm0vYXJtNjQvaW50c2l6ZXMu
aD4KPiAtI2VuZGlmCj4gKyNpbmNsdWRlIDx1ay9hc20vaW50c2l6ZXMuaD4KPiAgIAo+ICAgI2lm
IChkZWZpbmVkIF9fQ19JU184KQo+ICAgI2RlZmluZSBfX0NfTUFYICAgICAgICAgICAgICgxMjcp
Cj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC90eXBlcy5oIGIvaW5jbHVkZS91ay9hcmNo
L3R5cGVzLmgKPiBpbmRleCA4Yjk3YmFmLi5hZjZjM2UzIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUv
dWsvYXJjaC90eXBlcy5oCj4gKysrIGIvaW5jbHVkZS91ay9hcmNoL3R5cGVzLmgKPiBAQCAtNDAs
MjIgKzQwLDggQEAKPiAgIGV4dGVybiAiQyIgewo+ICAgI2VuZGlmCj4gICAKPiAtI2lmZGVmIF9f
WDg2XzMyX18KPiAtI2luY2x1ZGUgPHVrL2FyY2gveDg2L3g4Ni9pbnRzaXplcy5oPgo+IC0jaW5j
bHVkZSA8dWsvYXJjaC94ODYveDg2L3R5cGVzLmg+Cj4gLSNlbmRpZgo+IC0jaWZkZWYgX19YODZf
NjRfXwo+IC0jaW5jbHVkZSA8dWsvYXJjaC94ODYveDg2XzY0L2ludHNpemVzLmg+Cj4gLSNpbmNs
dWRlIDx1ay9hcmNoL3g4Ni94ODZfNjQvdHlwZXMuaD4KPiAtI2VuZGlmCj4gLSNpZmRlZiBfX0FS
TV8zMl9fCj4gLSNpbmNsdWRlIDx1ay9hcmNoL2FybS9hcm0vaW50c2l6ZXMuaD4KPiAtI2luY2x1
ZGUgPHVrL2FyY2gvYXJtL2FybS90eXBlcy5oPgo+IC0jZW5kaWYKPiAtI2lmZGVmIF9fQVJNXzY0
X18KPiAtI2luY2x1ZGUgPHVrL2FyY2gvYXJtL2FybTY0L2ludHNpemVzLmg+Cj4gLSNpbmNsdWRl
IDx1ay9hcmNoL2FybS9hcm02NC90eXBlcy5oPgo+IC0jZW5kaWYKPiArI2luY2x1ZGUgPHVrL2Fz
bS9pbnRzaXplcy5oPgo+ICsjaW5jbHVkZSA8dWsvYXNtL3R5cGVzLmg+Cj4gICAKPiAgICNpZm5k
ZWYgX19BU1NFTUJMWV9fCj4gICAKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 01 21:27:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 01 Oct 2018 21:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g75jB-0005gw-NC; Mon, 01 Oct 2018 21:27:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=l05s=mn=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g75jA-0005gr-5w
 for minios-devel@lists.xen.org; Mon, 01 Oct 2018 21:27:40 +0000
X-Inumbo-ID: fbbfe498-c5c0-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id fbbfe498-c5c0-11e8-a6a9-d7ebe60f679a;
 Mon, 01 Oct 2018 21:28:48 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id ACF8EF203D;
 Mon,  1 Oct 2018 23:27:36 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KJbas5ceAgSc; Mon,  1 Oct 2018 23:27:36 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 7DD50F2038
 for <minios-devel@lists.xen.org>; Mon,  1 Oct 2018 23:27:34 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 1 Oct
 2018 23:27:34 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1538151633-27625-1-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <778977a1-665d-3188-d0d0-08fc273e2f73@neclab.eu>
Date: Mon, 1 Oct 2018 23:27:33 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1538151633-27625-1-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/1] plat/io: Access
 ukplat_virt_to_phys from uk lib
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZ29vZC4gSSB3aWxsIG1vZGlmeSB0aGUgY29tbWl0IG1lc3NhZ2Ugc2xpZ2h0bHkuCgpS
ZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CgpPbiAy
OC4wOS4yMDE4IDE4OjIwLCBTaGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRoZSB1a3BsYXRfdmly
dF90b19waHlzIGlzIHByb21vdGVkIGFzIGEgc3RhbmRhcmQgcGxhdGZvcm0gQVBJIGFuZCBlYWNo
Cj4gcGxhdGZvcm0gcHJvdmlkZXMgaXQncyBvd24gZnVuY3Rpb24gdG8gY29udmVydCB0aGUgdmly
dHVhbCBhZGRyZXNzIHRvCj4gcGh5c2ljYWwgYWRkcmVzcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBT
aGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiAtLS0KPiAgIGlu
Y2x1ZGUvdWsvcGxhdC9pby5oICAgICAgICAgICAgICB8IDQxICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCj4gICBwbGF0L2NvbW1vbi9pbmNsdWRlL2lvLmggICAgICAgICAgfCA0MSAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fcmluZy5jIHwgIDIgKy0KPiAgIHBsYXQva3ZtL2lvLmMgICAgICAgICAgICAgICAgICAg
ICB8ICA3ICsrKysrLQo+ICAgcGxhdC9saW51eHUvTWFrZWZpbGUudWsgICAgICAgICAgIHwgIDEg
Kwo+ICAgcGxhdC9saW51eHUvaW8uYyAgICAgICAgICAgICAgICAgIHwgNDMgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L3hlbi9NYWtlZmlsZS51ayAgICAgICAgICAg
ICAgfCAgMSArCj4gICBwbGF0L3hlbi9pby5jICAgICAgICAgICAgICAgICAgICAgfCA1MCArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDggZmlsZXMgY2hhbmdlZCwg
MTQzIGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGluY2x1ZGUvdWsvcGxhdC9pby5oCj4gICBkZWxldGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24v
aW5jbHVkZS9pby5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9saW51eHUvaW8uYwo+ICAg
Y3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQveGVuL2lvLmMKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVk
ZS91ay9wbGF0L2lvLmggYi9pbmNsdWRlL3VrL3BsYXQvaW8uaAo+IG5ldyBmaWxlIG1vZGUgMTAw
NjQ0Cj4gaW5kZXggMDAwMDAwMC4uNmE5MjE4Ngo+IC0tLSAvZGV2L251bGwKPiArKysgYi9pbmNs
dWRlL3VrL3BsYXQvaW8uaAo+IEBAIC0wLDAgKzEsNDEgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlk
ZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKgo+ICsgKgo+ICsgKiBDb3B5cmln
aHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFy
ZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0
aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRz
Cj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAq
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElG
SUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsjaWZuZGVmIF9fVUtQTEFUX0lPX0hfXwo+ICsjZGVm
aW5lIF9fVUtQTEFUX0lPX0hfXwo+ICsKPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAr
Cj4gK19fcGh5c19hZGRyIHVrcGxhdF92aXJ0X3RvX3BoeXMoY29uc3Qgdm9sYXRpbGUgdm9pZCAq
YWRkcmVzcyk7Cj4gKwo+ICsjZW5kaWYgLyogX19VS1BMQVRfSU9fSF9fICovCj4gZGlmZiAtLWdp
dCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvaW8uaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUvaW8uaAo+
IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDZhOTIxODYuLjAwMDAwMDAKPiAtLS0g
YS9wbGF0L2NvbW1vbi9pbmNsdWRlL2lvLmgKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsNDEgKzAs
MCBAQAo+IC0vKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gLS8q
Cj4gLSAqCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBO
RUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gLSAqCj4gLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAo+IC0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKPiAtICogYXJlIG1ldDoKPiAtICoKPiAtICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiAt
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgo+IC0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+IC0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCj4gLSAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBo
b2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiAtICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiAtICogICAg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
PiAtICoKPiAtICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiAt
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UKPiAtICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+IC0gKiBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCj4gLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+IC0gKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgo+IC0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+IC0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+IC0g
KiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiAtICoKPiAtICogVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiAtICovCj4gLSNpZm5k
ZWYgX19VS1BMQVRfSU9fSF9fCj4gLSNkZWZpbmUgX19VS1BMQVRfSU9fSF9fCj4gLQo+IC0jaW5j
bHVkZSA8dWsvYXJjaC90eXBlcy5oPgo+IC0KPiAtX19waHlzX2FkZHIgdWtwbGF0X3ZpcnRfdG9f
cGh5cyhjb25zdCB2b2xhdGlsZSB2b2lkICphZGRyZXNzKTsKPiAtCj4gLSNlbmRpZiAvKiBfX1VL
UExBVF9JT19IX18gKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
cmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gaW5kZXggNzkwZjBi
Yi4uYzkxODI0OCAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5n
LmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKPiBAQCAtMjgsNyAr
MjgsNyBAQAo+ICAgI2luY2x1ZGUgPHN0cmluZy5oPgo+ICAgI2luY2x1ZGUgPHVrL3ByaW50Lmg+
Cj4gICAjaW5jbHVkZSA8Y3B1Lmg+Cj4gLSNpbmNsdWRlIDxpby5oPgo+ICsjaW5jbHVkZSA8dWsv
cGxhdC9pby5oPgo+ICAgI2luY2x1ZGUgPHBjaS92aXJ0aW8vdmlydGlvX3BjaS5oPgo+ICAgI2lu
Y2x1ZGUgPHBjaS92aXJ0aW8vdmlydGlvX3JpbmcuaD4KPiAgICNpbmNsdWRlIDx1ay9hcmNoL2F0
b21pYy5oPgo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9pby5jIGIvcGxhdC9rdm0vaW8uYwo+IGlu
ZGV4IGNhODNlNDQuLmZjYTU1ZmIgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vaW8uYwo+ICsrKyBi
L3BsYXQva3ZtL2lvLmMKPiBAQCAtMzIsOCArMzIsMTMgQEAKPiAgICAqIFRISVMgSEVBREVSIE1B
WSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4gICAgKi8KPiAgIAo+
IC0jaW5jbHVkZSA8aW8uaD4KPiArI2luY2x1ZGUgPHVrL3BsYXQvaW8uaD4KPiAgIAo+ICsvKioK
PiArICogVE9ETzoKPiArICogRm9yIG91ciBrdm0gcGxhdGZvcm0sIHRoZSBndWVzdCB2aXJ0dWFs
IGFkZHJlc3MgPT0gZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcy4KPiArICogV2UgbWF5IGhhdmUgdG8g
cmVjb25zaWRlciB0aGlzIGltcGxlbWVudGF0aW9uIHdoZW4gY29uZGl0aW9uIGNoYW5nZXMuCj4g
KyAqLwo+ICAgX19waHlzX2FkZHIgdWtwbGF0X3ZpcnRfdG9fcGh5cyhjb25zdCB2b2xhdGlsZSB2
b2lkICphZGRyZXNzKQo+ICAgewo+ICAgCXJldHVybiAoX19waHlzX2FkZHIpYWRkcmVzczsKPiBk
aWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvTWFrZWZpbGUudWsgYi9wbGF0L2xpbnV4dS9NYWtlZmls
ZS51awo+IGluZGV4IGIwMDU0MGMuLmY0NjZkOGEgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9saW51eHUv
TWFrZWZpbGUudWsKPiArKysgYi9wbGF0L2xpbnV4dS9NYWtlZmlsZS51awo+IEBAIC0zNCwzICsz
NCw0IEBAIExJQkxJTlVYVVBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJQkxJTlVYVVBM
QVRfQkFTRSkvaXJxLmMKPiAgIExJQkxJTlVYVVBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAk
KExJQkxJTlVYVVBMQVRfQkFTRSkvdGltZS5jCj4gICBMSUJMSU5VWFVQTEFUX1NSQ1MteSAgICAg
ICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9sY3B1LmN8Y29tbW9uCj4gICBMSUJM
SU5VWFVQTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9t
ZW1vcnkuY3xjb21tb24KPiArTElCTElOVVhVUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQo
TElCTElOVVhVUExBVF9CQVNFKS9pby5jCj4gZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L2lvLmMg
Yi9wbGF0L2xpbnV4dS9pby5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAw
Li45NzhhYWNiCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BsYXQvbGludXh1L2lvLmMKPiBAQCAt
MCwwICsxLDQzIEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KPiArLyoKPiArICogQXV0aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5h
bUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBM
dGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4g
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHly
aWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiAr
ICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFE
RVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCj4g
Kwo+ICsjaW5jbHVkZSA8dWsvcGxhdC9pby5oPgo+ICsvKioKPiArICogVE9ETzoKPiArICogUmVw
bGFjZSB0aGUgc3R1YiB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGZvciB0aGUgbGludXh1IHBsYXRm
b3JtLgo+ICsgKi8KPiArX19waHlzX2FkZHIgdWtwbGF0X3ZpcnRfdG9fcGh5cyhjb25zdCB2b2xh
dGlsZSB2b2lkICphZGRyZXNzKQo+ICt7Cj4gKwlyZXR1cm4gKF9fcGh5c19hZGRyKWFkZHJlc3M7
Cj4gK30KPiBkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vTWFrZWZpbGUudWsgYi9wbGF0L3hlbi9NYWtl
ZmlsZS51awo+IGluZGV4IDc2YTMyNjQuLjVkNzc3YjIgMTAwNjQ0Cj4gLS0tIGEvcGxhdC94ZW4v
TWFrZWZpbGUudWsKPiArKysgYi9wbGF0L3hlbi9NYWtlZmlsZS51awo+IEBAIC0yNyw2ICsyNyw3
IEBAIExJQlhFTlBMQVRfQ0lOQ0xVREVTLXkgICAgICAgICArPSAtSSQoTElCWEVOUExBVF9CQVNF
KS9pbmNsdWRlCj4gICBMSUJYRU5QTEFUX0NJTkNMVURFUy15ICAgICAgICAgKz0gLUkkKFVLX1BM
QVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKPiAgIExJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAg
ICArPSAkKExJQlhFTlBMQVRfQkFTRSkvaHlwZXJ2aXNvci5jCj4gICBMSUJYRU5QTEFUX1NSQ1Mt
eSAgICAgICAgICAgICAgKz0gJChMSUJYRU5QTEFUX0JBU0UpL21lbW9yeS5jCj4gK0xJQlhFTlBM
QVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJQlhFTlBMQVRfQkFTRSkvaW8uYwo+ICAgTElC
WEVOUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvbGNw
dS5jfGNvbW1vbgo+ICAgTElCWEVOUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoVUtfUExB
VF9DT01NT05fQkFTRSkvbWVtb3J5LmN8Y29tbW9uCj4gICAKPiBkaWZmIC0tZ2l0IGEvcGxhdC94
ZW4vaW8uYyBiL3BsYXQveGVuL2lvLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAw
MDAwMDAuLjNmZDFiZTIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC94ZW4vaW8uYwo+IEBA
IC0wLDAgKzEsNTAgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVz
ZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhh
bmFtQG5lY2xhYi5ldT4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3Bl
IEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoKPiArICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
PiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29w
eXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+
ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAq
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhF
QURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8K
PiArCj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2lmIChkZWZpbmVkIF9fWDg2XzMyX18pIHx8
IChkZWZpbmVkIF9fWDg2XzY0X18pCj4gKyNpbmNsdWRlIDx4ZW4teDg2L21tLmg+Cj4gKyNlbGlm
IChkZWZpbmVkIF9fQVJNXzMyX18pIHx8IChkZWZpbmVkIF9fQVJNXzY0X18pCj4gKyNpbmNsdWRl
IDx4ZW4tYXJtL21tLmg+Cj4gKyNlbmRpZgo+ICsjaW5jbHVkZSA8dWsvcGxhdC9pby5oPgo+ICsK
PiArLyoqCj4gKyAqIEltcGxlbWVudGF0aW9uIHN1cHBvcnQgZm9yIHRoZSBndWVzdCBwaHlzaWNh
bCBhZGRyZXNzIGNvbnZlcnNpb24uCj4gKyAqIFRoZSBmdW5jdGlvbiBzdXBwb3J0IG9ubHkgUGFy
YS1WaXJ0dWFsaXplZCBndWVzdC4KPiArICovCj4gK19fcGh5c19hZGRyIHVrcGxhdF92aXJ0X3Rv
X3BoeXMoY29uc3Qgdm9sYXRpbGUgdm9pZCAqYWRkcmVzcykKPiArewo+ICsJcmV0dXJuIChfX3Bo
eXNfYWRkcil2aXJ0X3RvX21mbihhZGRyZXNzKTsKPiArfQo+IAoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Oct 02 06:59:50 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Oct 2018 06:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g7Eep-0008G0-Lo; Tue, 02 Oct 2018 06:59:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ajsk=mo=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1g7Eeo-0008Fu-Dn
 for minios-devel@lists.xen.org; Tue, 02 Oct 2018 06:59:46 +0000
X-Inumbo-ID: e7eff3cd-c610-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e7eff3cd-c610-11e8-a6a9-d7ebe60f679a;
 Tue, 02 Oct 2018 07:00:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D36FA1049CB;
 Tue,  2 Oct 2018 08:59:42 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id awMyfRpPR-Gy; Tue,  2 Oct 2018 08:59:42 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id AB36110410D;
 Tue,  2 Oct 2018 08:59:38 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 2 Oct 2018 08:59:38
 +0200
To: Costin Lupu <costin.lupu@cs.pub.ro>, <minios-devel@lists.xen.org>
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
Date: Tue, 2 Oct 2018 08:59:38 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, yuri.volchkov@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKdGhhbmtzIGZvciB0aGUgcGF0Y2guIEkgaGF2ZSBhIGZldyBjb21tZW50cyBp
bmxpbmUuCgpPbiAwOS8xOC8yMDE4IDA1OjE5IFBNLCBDb3N0aW4gTHVwdSB3cm90ZToKPiBBZGQg
bmV3IGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgY2hvb3NpbmcgYSB0aW1lciBpbnRlcnJ1cHQg
ZnJlcXVlbmN5Lgo+IFRoaXMgcGF0Y2ggYWRkcyBvbmx5IDEwMCBIeiBhbmQgMTAwMCBIeiBhcyBj
dXJyZW50bHkgc3VwcG9ydGVkIHZhbHVlcy4KCldoeSBjaG9vc2Ugb25seSB0aG9zZSB0d28/IFdv
dWxkbid0IGl0IG1ha2UgbW9yZSBzZW5zZSB0byBqdXN0IG1ha2UgdGhpcyAKYW4gaW50ZWdlciBm
aWVsZCBhbmQgbGV0IHdob2V2ZXIgYnVpbGRzIHVuaWtyYWZ0IGNob29zZSB0aGVpciBwcmVmZXJy
ZWQgCmZyZXF1ZW5jeT8gV2hpbGUgSSBsaWtlIHRoZSBwYXRjaCBpZGVhIHRvIGFsbG93IHRoZSBk
ZXZlbG9wZXIgZnJlZWRvbSBpbiAKc2V0dGluZyB0aGUgdGljaywgSSdtIG5vdCBzdXJlIEkgbGlr
ZSBzdG9wcGluZyBoYWxmd2F5IGFuZCBvbmx5IGdpdmluZyAKdHdvIGNob2ljZXMuCgo+IFRoZSBj
b25maWd1cmVkIGZyZXF1ZW5jeSBpcyBjb252ZXJ0ZWQgdG8gdGhlIHRpbWVyIHRpY2sgbGVuZ3Ro
IHdoaWNoIGNhbgo+IGJlIG9mIHVzZSBmb3Igb3RoZXIgbW9kdWxlcyAoZS5nLiBwcmVlbXB0aXZl
IHNjaGVkdWxlcnMpLgo+IAo+IFNpbmNlIHRoZSBmcmVxdWVuY3kgY29uZmlndXJhdGlvbiBpcyBj
b21tb24gdG8gYWxsIHBsYXRmb3Jtcywgd2UKPiBpbnRyb2R1Y2UgdGhlIHBsYXQvY29tbW9uL3Rp
bWUuYyBmb3Iga2VlcGluZyB0aW1lIHJlbGF0ZWQgZnVuY3Rpb25hbGl0eQo+IHdoaWNoIGlzIGNv
bW1vbiB0byBhbGwgcGxhdGZvcm1zLgo+IAo+IFNpZ25lZC1vZmYtYnk6IENvc3RpbiBMdXB1IDxj
b3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLS0tCj4gICBpbmNsdWRlL3VrL3BsYXQvdGltZS5oICAg
ICAgICAgICAgfCAgNCArKysrCj4gICBwbGF0L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAg
fCAxNyArKysrKysrKysrKysrKysKPiAgIHBsYXQvY29tbW9uL3RpbWUuYyAgICAgICAgICAgICAg
ICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgcGxhdC9r
dm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgIHwgIDEgKwo+ICAgcGxhdC9rdm0veDg2L3RpbWUu
YyAgICAgICAgICAgICAgIHwgIDIgKysKPiAgIHBsYXQva3ZtL3g4Ni90c2NjbG9jay5jICAgICAg
ICAgICB8ICA4ICsrKy0tLS0KPiAgIHBsYXQvbGludXh1L01ha2VmaWxlLnVrICAgICAgICAgICB8
ICAxICsKPiAgIHBsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUuaCB8ICAzICsrLQo+ICAg
cGxhdC9saW51eHUvdGltZS5jICAgICAgICAgICAgICAgIHwgIDEgKwo+ICAgcGxhdC94ZW4vTWFr
ZWZpbGUudWsgICAgICAgICAgICAgIHwgIDEgKwo+ICAgcGxhdC94ZW4veDg2L2FyY2hfdGltZS5j
ICAgICAgICAgIHwgIDMgKystCj4gICAxMSBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCsp
LCA2IGRlbGV0aW9ucygtKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL3RpbWUu
Ywo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL3BsYXQvdGltZS5oIGIvaW5jbHVkZS91ay9w
bGF0L3RpbWUuaAo+IGluZGV4IDIwMmUwZjkuLjBmZGUxYzYgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVk
ZS91ay9wbGF0L3RpbWUuaAo+ICsrKyBiL2luY2x1ZGUvdWsvcGxhdC90aW1lLmgKPiBAQCAtNDQs
OSArNDQsMTMgQEAgZXh0ZXJuICJDIiB7Cj4gICAKPiAgIHZvaWQgdWtwbGF0X3RpbWVfaW5pdCh2
b2lkKTsKPiAgIHZvaWQgdWtwbGF0X3RpbWVfZmluaSh2b2lkKTsKPiArdm9pZCB1a3BsYXRfdGlt
ZV9mcmVxdWVuY3lfaW5pdCh2b2lkKTsKPiAgIAo+ICAgX19uc2VjIHVrcGxhdF9tb25vdG9uaWNf
Y2xvY2sodm9pZCk7Cj4gICAKPiArLyogVGltZSB0aWNrIGxlbmd0aCAqLwo+ICtleHRlcm4gX19u
c2VjIHVrcGxhdF90aW1lX3RpY2tfbnNlYzsKPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAg
IH0KPiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9wbGF0L0NvbmZpZy51ayBiL3BsYXQvQ29uZmln
LnVrCj4gaW5kZXggYjc3NmM0NS4uODQ5ZDdjMiAxMDA2NDQKPiAtLS0gYS9wbGF0L0NvbmZpZy51
awo+ICsrKyBiL3BsYXQvQ29uZmlnLnVrCj4gQEAgLTE3LDMgKzE3LDIwIEBAIGNvbmZpZyBFQVJM
WV9QUklOVF9QTDAxMV9VQVJUX0FERFIKPiAgIAkJUGwwMTEgc2VyaWFsIGFkZHJlc3MgdXNlZCBi
eSBlYXJseSBkZWJ1ZyBjb25zb2xlLgo+ICAgCj4gICBlbmRtZW51Cj4gKwo+ICtjaG9pY2UKPiAr
CXByb21wdCAiVGltZXIgZnJlcXVlbmN5Igo+ICsJZGVmYXVsdCBIWl8xMDAKPiArCWhlbHAKPiAr
CQlDb25maWd1cmUgdGhlIHRpbWVyIGludGVycnVwdCBmcmVxdWVuY3kuCj4gKwo+ICsJY29uZmln
IEhaXzEwMAo+ICsJCWJvb2wgIjEwMCBIWiIKPiArCWNvbmZpZyBIWl8xMDAwCj4gKwkJYm9vbCAi
MTAwMCBIWiIKPiArZW5kY2hvaWNlCj4gKwo+ICtjb25maWcgSFoKPiArCWludAo+ICsJZGVmYXVs
dCAxMDAgIGlmIEhaXzEwMAo+ICsJZGVmYXVsdCAxMDAwIGlmIEhaXzEwMDAKPiBkaWZmIC0tZ2l0
IGEvcGxhdC9jb21tb24vdGltZS5jIGIvcGxhdC9jb21tb24vdGltZS5jCj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4wYzQ5MmEwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi
L3BsYXQvY29tbW9uL3RpbWUuYwo+IEBAIC0wLDAgKzEsNDUgQEAKPiArLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBDb3N0aW4g
THVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIw
MTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
Lgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4g
KyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBu
YW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAg
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAq
Cj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFO
WSBXQVkuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICsjaW5jbHVkZSA8
dWsvcHJpbnQuaD4KPiArI2luY2x1ZGUgPHVrL3BsYXQvdGltZS5oPgo+ICsKPiArX19uc2VjIHVr
cGxhdF90aW1lX3RpY2tfbnNlYzsKPiArCj4gK3ZvaWQgdWtwbGF0X3RpbWVfZnJlcXVlbmN5X2lu
aXQodm9pZCkKPiArewo+ICsJdWtfcHJpbnRkKERMVkxfSU5GTywgIlRpbWVyIGludGVycnVwdCBm
cmVxdWVuY3kgaXMgJXUgSHpcbiIsIENPTkZJR19IWik7Cj4gKwl1a3BsYXRfdGltZV90aWNrX25z
ZWMgPSB1a2FyY2hfdGltZV9tc2VjX3RvX25zZWMoMTAwMCAvIENPTkZJR19IWik7Cj4gK30KPiBk
aWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awoK
SSdtIG5vdCBzdXJlIEkgc2VlIHRoZSBwb2ludCBpbiB0aGlzIGZpbGUgYXQgdGhpcyBwb2ludCBp
biB0aW1lLiBBbGwgaXQgCmRvZXMgaXMgaGF2ZSBhIGZ1bmN0aW9uICh0aGF0IGlzIG9ubHkgY2Fs
bGVkIGZyb20gb25jZSwgZnJvbSBvbmUgcGxhY2UgCmluIHRoZSBjb2RlKSB0aGF0IHNldHMgYSBn
bG9iYWwgdmFyaWFibGUgdG8gYSB2YWx1ZSBrbm93biBhdCBjb21waWxlIAp0aW1lLCB3aGljaCBp
cyBhbHNvIG9ubHkgdXNlZCBvbmNlLiBJJ2Qgc2NyYXAgYWxsIHRoaXMgYW5kIHVzZSAoMTAwMCAv
IApDT05GSUdfSFopIGluIHBsYXQveGVuL3g4Ni9hcmNoX3RpbWUuYyBkaXJlY3RseS4KCj4gaW5k
ZXggYjQ5M2JiYS4uYzU3YTQxOSAxMDA2NDQKPiAtLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51awo+
ICsrKyBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4gQEAgLTczLDYgKzczLDcgQEAgTElCS1ZNUExB
VF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoTElCS1ZNUExBVF9CQVNFKS9pcnEuYwo+ICAgTElC
S1ZNUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoTElCS1ZNUExBVF9CQVNFKS9pby5jCj4g
ICBMSUJLVk1QTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNF
KS9sY3B1LmN8Y29tbW9uCj4gICBMSUJLVk1QTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChV
S19QTEFUX0NPTU1PTl9CQVNFKS9tZW1vcnkuY3xjb21tb24KPiArTElCS1ZNUExBVF9TUkNTLXkg
ICAgICAgICAgICAgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvdGltZS5jfGNvbW1vbgo+ICAg
Cj4gICAjIwo+ICAgIyMgUENJIGxpYnJhcnkgZGVmaW5pdGlvbnMKPiBkaWZmIC0tZ2l0IGEvcGxh
dC9rdm0veDg2L3RpbWUuYyBiL3BsYXQva3ZtL3g4Ni90aW1lLmMKPiBpbmRleCAzZDhhODQyLi41
MGNlNDcwIDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL3g4Ni90aW1lLmMKPiArKysgYi9wbGF0L2t2
bS94ODYvdGltZS5jCj4gQEAgLTY5LDYgKzY5LDggQEAgdm9pZCB1a3BsYXRfdGltZV9pbml0KHZv
aWQpCj4gICB7Cj4gICAJaW50IHJjOwo+ICAgCj4gKwl1a3BsYXRfdGltZV9mcmVxdWVuY3lfaW5p
dCgpOwo+ICsKPiAgIAlyYyA9IHVrcGxhdF9pcnFfcmVnaXN0ZXIoMCwgdGltZXJfaGFuZGxlciwg
TlVMTCk7Cj4gICAJaWYgKHJjIDwgMCkKPiAgIAkJVUtfQ1JBU0goIkZhaWxlZCB0byByZWdpc3Rl
ciB0aW1lciBpbnRlcnJ1cHQgaGFuZGxlclxuIik7Cj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4
Ni90c2NjbG9jay5jIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKPiBpbmRleCA4OTYxNjU5Li4z
MmRlOWQ2IDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL3g4Ni90c2NjbG9jay5jCj4gKysrIGIvcGxh
dC9rdm0veDg2L3RzY2Nsb2NrLmMKPiBAQCAtMTMxLDcgKzEzMSw3IEBAIHN0YXRpYyB2b2lkIGk4
MjU0X2RlbGF5KHVuc2lnbmVkIGludCBuKQo+ICAgewo+ICAgCXVuc2lnbmVkIGludCBjdXJfdGlj
aywgaW5pdGlhbF90aWNrOwo+ICAgCWludCByZW1haW5pbmc7Cj4gLQljb25zdCB1bnNpZ25lZCBs
b25nIHRpbWVyX3J2YWwgPSBUSU1FUl9IWiAvIDEwMDsKPiArCWNvbnN0IHVuc2lnbmVkIGxvbmcg
dGltZXJfcnZhbCA9IFRJTUVSX0haIC8gQ09ORklHX0haOwo+ICAgCj4gICAJaW5pdGlhbF90aWNr
ID0gaTgyNTRfZ2V0dGljaygpOwo+ICAgCj4gQEAgLTIxMSwxMCArMjExLDEwIEBAIGludCB0c2Nj
bG9ja19pbml0KHZvaWQpCj4gICB7Cj4gICAJX191NjQgdHNjX2ZyZXEsIHJ0Y19ib290Owo+ICAg
Cj4gLQkvKiBJbml0aWFsaXNlIGk4MjU0IHRpbWVyIGNoYW5uZWwgMCB0byBtb2RlIDIgYXQgMTAw
IEh6ICovCj4gKwkvKiBJbml0aWFsaXNlIGk4MjU0IHRpbWVyIGNoYW5uZWwgMCB0byBtb2RlIDIg
YXQgQ09ORklHX0haIGZyZXF1ZW5jeSAqLwo+ICAgCW91dGIoVElNRVJfTU9ERSwgVElNRVJfU0VM
MCB8IFRJTUVSX1JBVEVHRU4gfCBUSU1FUl8xNkJJVCk7Cj4gLQlvdXRiKFRJTUVSX0NOVFIsIChU
SU1FUl9IWiAvIDEwMCkgJiAweGZmKTsKPiAtCW91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8g
MTAwKSA+PiA4KTsKPiArCW91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8gQ09ORklHX0haKSAm
IDB4ZmYpOwo+ICsJb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFogLyBDT05GSUdfSFopID4+IDgp
Owo+ICAgCj4gICAJLyoKPiAgIAkgKiBSZWFkIFJUQyAidGltZSBhdCBib290Ii4gVGhpcyBtdXN0
IGJlIGRvbmUganVzdCBiZWZvcmUgdHNjX2Jhc2UgaXMKPiBkaWZmIC0tZ2l0IGEvcGxhdC9saW51
eHUvTWFrZWZpbGUudWsgYi9wbGF0L2xpbnV4dS9NYWtlZmlsZS51awo+IGluZGV4IGIwMDU0MGMu
LmQzN2E5NjAgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9saW51eHUvTWFrZWZpbGUudWsKPiArKysgYi9w
bGF0L2xpbnV4dS9NYWtlZmlsZS51awo+IEBAIC0zNCwzICszNCw0IEBAIExJQkxJTlVYVVBMQVRf
U1JDUy15ICAgICAgICAgICAgICArPSAkKExJQkxJTlVYVVBMQVRfQkFTRSkvaXJxLmMKPiAgIExJ
QkxJTlVYVVBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJQkxJTlVYVVBMQVRfQkFTRSkv
dGltZS5jCj4gICBMSUJMSU5VWFVQTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFU
X0NPTU1PTl9CQVNFKS9sY3B1LmN8Y29tbW9uCj4gICBMSUJMSU5VWFVQTEFUX1NSQ1MteSAgICAg
ICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9tZW1vcnkuY3xjb21tb24KPiArTElC
TElOVVhVUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkv
dGltZS5jfGNvbW1vbgo+IGRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90
aW1lLmggYi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmgKPiBpbmRleCAyZGY4ODFl
Li5jNWU4MDRlIDEwMDY0NAo+IC0tLSBhL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUu
aAo+ICsrKyBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUuaAo+IEBAIC0zNSw5ICsz
NSwxMCBAQAo+ICAgI2lmbmRlZiBfX0xJTlVYVV9USU1FX0hfXwo+ICAgI2RlZmluZSBfX0xJTlVY
VV9USU1FX0hfXwo+ICAgCj4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiAgICNpbmNsdWRlIDxs
aW51eHUvc2lnbmFsLmg+Cj4gICAKPiAtI2RlZmluZSBUSU1FUl9JTlRWQUxfTVNFQyAgICAxMAo+
ICsjZGVmaW5lIFRJTUVSX0lOVFZBTF9NU0VDICAgICgxMDAwIC8gQ09ORklHX0haKQo+ICAgI2Rl
ZmluZSBUSU1FUl9TSUdOVU0gICAgICAgICBTSUdBTFJNCj4gICAKPiAgIAo+IGRpZmYgLS1naXQg
YS9wbGF0L2xpbnV4dS90aW1lLmMgYi9wbGF0L2xpbnV4dS90aW1lLmMKPiBpbmRleCBlYWQwN2Y1
Li5iNWIxMjk1IDEwMDY0NAo+IC0tLSBhL3BsYXQvbGludXh1L3RpbWUuYwo+ICsrKyBiL3BsYXQv
bGludXh1L3RpbWUuYwo+IEBAIC03Niw2ICs3Niw3IEBAIHZvaWQgdWtwbGF0X3RpbWVfaW5pdCh2
b2lkKQo+ICAgCXN0cnVjdCBrX2l0aW1lcnNwZWMgaXRzOwo+ICAgCWludCByYzsKPiAgIAo+ICsJ
dWtwbGF0X3RpbWVfZnJlcXVlbmN5X2luaXQoKTsKPiAgIAl1a3BsYXRfaXJxX3JlZ2lzdGVyKFRJ
TUVSX1NJR05VTSwgdGltZXJfaGFuZGxlciwgTlVMTCk7Cj4gICAKPiAgIAltZW1zZXQoJnNpZ2V2
LCAwLCBzaXplb2Yoc2lnZXYpKTsKPiBkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vTWFrZWZpbGUudWsg
Yi9wbGF0L3hlbi9NYWtlZmlsZS51awo+IGluZGV4IDc2YTMyNjQuLmUwMDExMzMgMTAwNjQ0Cj4g
LS0tIGEvcGxhdC94ZW4vTWFrZWZpbGUudWsKPiArKysgYi9wbGF0L3hlbi9NYWtlZmlsZS51awo+
IEBAIC0yOSw2ICsyOSw3IEBAIExJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJ
QlhFTlBMQVRfQkFTRSkvaHlwZXJ2aXNvci5jCj4gICBMSUJYRU5QTEFUX1NSQ1MteSAgICAgICAg
ICAgICAgKz0gJChMSUJYRU5QTEFUX0JBU0UpL21lbW9yeS5jCj4gICBMSUJYRU5QTEFUX1NSQ1Mt
eSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9sY3B1LmN8Y29tbW9uCj4g
ICBMSUJYRU5QTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNF
KS9tZW1vcnkuY3xjb21tb24KPiArTElCWEVOUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQo
VUtfUExBVF9DT01NT05fQkFTRSkvdGltZS5jfGNvbW1vbgo+ICAgCj4gICBpZm5lcSAoLCQoZmls
dGVyIHg4Nl8zMiB4ODZfNjQsJChDT05GSUdfVUtfQVJDSCkpKQo+ICAgTElCWEVOUExBVF9TUkNT
LSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL3g4Ni90cmFj
ZS5jfGNvbW1vbgo+IGRpZmYgLS1naXQgYS9wbGF0L3hlbi94ODYvYXJjaF90aW1lLmMgYi9wbGF0
L3hlbi94ODYvYXJjaF90aW1lLmMKPiBpbmRleCBmOTY0MjZmLi44OWI1MDQ1IDEwMDY0NAo+IC0t
LSBhL3BsYXQveGVuL3g4Ni9hcmNoX3RpbWUuYwo+ICsrKyBiL3BsYXQveGVuL3g4Ni9hcmNoX3Rp
bWUuYwo+IEBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25zZWMg
dW50aWwpCj4gICBzdGF0aWMgdm9pZCB0aW1lcl9oYW5kbGVyKGV2dGNobl9wb3J0X3QgZXYgX191
bnVzZWQsCj4gICAJCXN0cnVjdCBfX3JlZ3MgKnJlZ3MgX191bnVzZWQsIHZvaWQgKmlnbiBfX3Vu
dXNlZCkKPiAgIHsKPiAtCV9fbnNlYyB1bnRpbCA9IHVrcGxhdF9tb25vdG9uaWNfY2xvY2soKSAr
IHVrYXJjaF90aW1lX21zZWNfdG9fbnNlYygxKTsKPiArCV9fbnNlYyB1bnRpbCA9IHVrcGxhdF9t
b25vdG9uaWNfY2xvY2soKSArIHVrcGxhdF90aW1lX3RpY2tfbnNlYzsKClRoaXMgY2hhbmdlcyB0
aGUgY3VycmVudCBiZWhhdmlvciwgcmlnaHQ/IGF0IHRoZSBtb21lbnQsIHRoaXMgc2V0cyBhIAp0
aW1lIG9uZSBtc2VjIGludG8gdGhlIGZ1dHVyZSwgYnV0IGFmdGVyd2FyZHMsIGl0J3Mgb25lIHRp
Y2sgaW50byB0aGUgCmZ1dHVyZSwgd2hpY2ggY2FuIGhhcHBlbiB0byBiZSAxbXNlYywgYnV0IGxp
a2VseSAoYW5kIGJ5IGRlZmF1bHQgd2l0aCAKQ09ORklHX0haID0gMTAwKSBpc24ndC4gSXMgdGhl
cmUgYXJlIGFuIHVuZGVybHlpbmcgcmVhc29uIGZvciB0aGlzIApjaGFuZ2U/IEFuZCBpZiBzbywg
SSdkIGZlZWwgbW9yZSBjb21mb3J0YWJsZSB3aXRoIHRoaXMgYXMgYSBzZXBhcmF0ZSAKcGF0Y2gg
KGJlY2F1c2UgaXQgY2hhbmdlcyBmdW5jdGlvbmFsaXR5KSBvciBhdCBsZWFzdCBhIG1lbnRpb24g
aW4gdGhlIApjb21taXQgZGVzY3JpcHRpb24uCj4gICAKPiAgIAlIWVBFUlZJU09SX3NldF90aW1l
cl9vcCh1bnRpbCk7Cj4gICB9Cj4gQEAgLTI0NCw2ICsyNDQsNyBAQCBzdGF0aWMgZXZ0Y2huX3Bv
cnRfdCBwb3J0Owo+ICAgdm9pZCB1a3BsYXRfdGltZV9pbml0KHZvaWQpCj4gICB7Cj4gICAJdWtf
cHJpbnRkKERMVkxfRVhUUkEsICJJbml0aWFsaXppbmcgdGltZXIgaW50ZXJmYWNlXG4iKTsKPiAr
CXVrcGxhdF90aW1lX2ZyZXF1ZW5jeV9pbml0KCk7Cj4gICAJcG9ydCA9IGJpbmRfdmlycShWSVJR
X1RJTUVSLCAmdGltZXJfaGFuZGxlciwgTlVMTCk7Cj4gICAJdW5tYXNrX2V2dGNobihwb3J0KTsK
PiAgIH0KPiAKCkNoZWVycywKRmxvcmlhbgoKLS0gCkRyLiBGbG9yaWFuIFNjaG1pZHQK44OV44Ot
44O844Oq44Ki44Oz44O744K344Ol44Of44OD44OIClJlc2VhcmNoIFNjaWVudGlzdCwKU3lzdGVt
cyBhbmQgTWFjaGluZSBMZWFybmluZyBHcm91cApORUMgTGFib3JhdG9yaWVzIEV1cm9wZQpLdXJm
w7xyc3Rlbi1BbmxhZ2UgMzYsIEQtNjkxMTUgSGVpZGVsYmVyZwpUZWwuICAgICArNDkgKDApNjIy
MSA0MzQyLTI2NQpGYXg6ICAgICArNDkgKDApNjIyMSA0MzQyLTE1NQplLW1haWw6ICBmbG9yaWFu
LnNjaG1pZHRAbmVjbGFiLmV1Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQpSZWdpc3RlcmVkIGF0IEFtdHNnZXJpY2h0IE1hbm5oZWlt
LCBHZXJtYW55LCBIUkI3Mjg1NTgKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Oct 02 07:16:44 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Oct 2018 07:16:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g7EvD-0001Fh-Dp; Tue, 02 Oct 2018 07:16:43 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=e098=mo=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1g7EvC-0001Fc-Bj
 for minios-devel@lists.xen.org; Tue, 02 Oct 2018 07:16:42 +0000
X-Inumbo-ID: c67b35f1-c612-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id c67b35f1-c612-11e8-a8a5-bc764e045a96;
 Tue, 02 Oct 2018 09:14:18 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id o18-v6so1066341wmc.0
 for <minios-devel@lists.xen.org>; Tue, 02 Oct 2018 00:16:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=QiTnkpOYwWrK2VyAujCqs+/ZT/nccW8EsYEdbGjAJhQ=;
 b=kgKZ2SR3rbmQjnbVqEfctP/j5UWDUEJ3HM801nCYPwR9KmfYqcGdMad7JAXjFAbSUr
 yStJby0JgDIDM+MJ2ZnG12C35/A9XGMlS3sXWQiS3rNfi2OPFAAOpowxDipI/4XYMr2a
 FGUhNKQbpMYMsKnCc0I5Eyf1ypZhDn+iOLrqxjd8Oyk8vL6AVukK+392sOu7uvj4dQr1
 OgZT3nTQR4hSvGNPDXTIJMtmhXZMN4YHmBQR4lL/cROFzWkRB0VcmegDZW9JnnrpU/2e
 HUgZDOFr6CgX7O9kS/7ROxTu3t/g5SFPTWfzNg1+pHfY/iTgCPRIRJy3d6dJlb7PXOgD
 s5zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=QiTnkpOYwWrK2VyAujCqs+/ZT/nccW8EsYEdbGjAJhQ=;
 b=YvE4UTWe8TA558cCLpkYPLO/dAP+q5QuxujKxgzHCc9iRtM5xU2iphQtmxqmUZ5frN
 hIbzDnkoUQYaflUYQRUzAAZBDtWHgySiHWplfbsUflnX0yuVGgJqaXJcC4gzzYIl5HoT
 NvzENrjX/Xni2DgwzLg+Y/8Ds+rOd1BAOvnunTsLz9gsdbJYJohgKaqdL3CSfVK56Vk7
 O1quA6rMDkZETrrkxIIT/o23MksdNg2BYa6sVpkKv2LHn+5bppgSi2hkkgjLKh+y9hTJ
 uyle6My+b+EYHMxJWCPjKIHQabTxrYWxMYQg3O2Tw4bpgInE+8HERAosGDh9vEAeeSVv
 WAQA==
X-Gm-Message-State: ABuFfoj6326KfM7abFJBydhggCgbf5oaXSuZ5tEPxI8230wgyhx7hxBe
 +OhGbUctAr4MxJRhrMpNBBE=
X-Google-Smtp-Source: ACcGV605Hd4la9xKF63m1uvq7ES7SlSCFw0WHgFfqXc92ECEz3zvjGSEjo+fctZ8yPktCW+iaoeoWg==
X-Received: by 2002:a1c:1783:: with SMTP id 125-v6mr916413wmx.75.1538464598230; 
 Tue, 02 Oct 2018 00:16:38 -0700 (PDT)
Received: from [172.19.2.117] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id q16-v6sm13081235wrn.41.2018.10.02.00.16.37
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Tue, 02 Oct 2018 00:16:37 -0700 (PDT)
To: Florian Schmidt <Florian.Schmidt@neclab.eu>, minios-devel@lists.xen.org
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
 <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
Date: Tue, 2 Oct 2018 10:16:36 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, yuri.volchkov@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRmxvcmlhbiwKClRoYW5rcyBmb3IgdGhlIHJldmlldy4gUGxlYXNlIHNlZSBtZSBhbnN3ZXJz
IGlubGluZS4KCk9uIDEwLzIvMTggOTo1OSBBTSwgRmxvcmlhbiBTY2htaWR0IHdyb3RlOgo+IEhp
IENvc3RpbiwKPiAKPiB0aGFua3MgZm9yIHRoZSBwYXRjaC4gSSBoYXZlIGEgZmV3IGNvbW1lbnRz
IGlubGluZS4KPiAKPiBPbiAwOS8xOC8yMDE4IDA1OjE5IFBNLCBDb3N0aW4gTHVwdSB3cm90ZToK
Pj4gQWRkIG5ldyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGNob29zaW5nIGEgdGltZXIgaW50
ZXJydXB0IGZyZXF1ZW5jeS4KPj4gVGhpcyBwYXRjaCBhZGRzIG9ubHkgMTAwIEh6IGFuZCAxMDAw
IEh6IGFzIGN1cnJlbnRseSBzdXBwb3J0ZWQgdmFsdWVzLgo+IAo+IFdoeSBjaG9vc2Ugb25seSB0
aG9zZSB0d28/IFdvdWxkbid0IGl0IG1ha2UgbW9yZSBzZW5zZSB0byBqdXN0IG1ha2UgdGhpcwo+
IGFuIGludGVnZXIgZmllbGQgYW5kIGxldCB3aG9ldmVyIGJ1aWxkcyB1bmlrcmFmdCBjaG9vc2Ug
dGhlaXIgcHJlZmVycmVkCj4gZnJlcXVlbmN5PyBXaGlsZSBJIGxpa2UgdGhlIHBhdGNoIGlkZWEg
dG8gYWxsb3cgdGhlIGRldmVsb3BlciBmcmVlZG9tIGluCj4gc2V0dGluZyB0aGUgdGljaywgSSdt
IG5vdCBzdXJlIEkgbGlrZSBzdG9wcGluZyBoYWxmd2F5IGFuZCBvbmx5IGdpdmluZwo+IHR3byBj
aG9pY2VzLgo+IAoKSSBmaW5kIGFsbG93aW5nIHVzZXJzIHRoZSBmcmVlZG9tIHRvIHNldCBhbnkg
ZnJlcXVlbmN5IHRoZXkgbGlrZSB0byBoYXZlCjIgZGlzYWR2YW50YWdlczoKCjEuIFRoZSB0aWNr
IGZyZXF1ZW5jeSBzaG91bGQgYmUgY2hvc2VuIGJhc2VkIG9uIGEgcHJpb3IgYW5hbHlzaXMKZGVw
ZW5kaW5nIG9uIHRoZSBhcHBsaWNhdGlvbi4gQW4gaW50ZWdlciBmaWVsZCB3b3VsZCBhbGxvdyB1
c2VycyB0byBzZXQKYW55IGZyZXF1ZW5jeSB0aGV5IHdhbnQgd2hldGhlciB0aGV5IGtub3cgd2hh
dCB0aGV5J3JlIGRvaW5nIG9yIG5vdC4gSQpmaW5kIHRoaXMgbGV2ZWwgb2YgZnJlZWRvbSBkYW5n
ZXJvdXMgaGVyZS4KCjIuIEEgZ2l2ZW4gZnJlcXVlbmN5IHZhbHVlIG1heSBub3QgYmUgc3VwcG9y
dGVkIGJ5IHRoZSB1bmRlcmx5aW5nIHRpbWVycwphbmQgdGhlcmVmb3JlIGl0IHdvdWxkIGVpdGhl
ciBoYXZlIG5vIGVmZmVjdCAoZS5nLiBiZWluZyBpZ25vcmVkKSBvcgpnZW5lcmF0ZSBhbiBpbmNv
cnJlY3QgYmVoYXZpb3IuCgpOb3cgcmVnYXJkaW5nIHRoZSBudW1iZXIgb2Ygb3B0aW9ucywgdHdv
IHNob3VsZCBiZSBlbm91Z2ggZm9yIG1ha2luZyB0aGUKY2FzZSBmb3IgaG93IHdlIGNhbiBjb25m
aWd1cmUgdGhlIHRpbWVyLiBQbGVhc2UgZmVlbCBmcmVlIHRvIGFtZW5kIHRoaXMKcGF0Y2ggb3Ig
dG8gc3VibWl0IGFub3RoZXIgb25lIGZvciBleHRlbmRpbmcgdGhlIG51bWJlciBvZiBvcHRpb25z
LgoKPj4gVGhlIGNvbmZpZ3VyZWQgZnJlcXVlbmN5IGlzIGNvbnZlcnRlZCB0byB0aGUgdGltZXIg
dGljayBsZW5ndGggd2hpY2ggY2FuCj4+IGJlIG9mIHVzZSBmb3Igb3RoZXIgbW9kdWxlcyAoZS5n
LiBwcmVlbXB0aXZlIHNjaGVkdWxlcnMpLgo+Pgo+PiBTaW5jZSB0aGUgZnJlcXVlbmN5IGNvbmZp
Z3VyYXRpb24gaXMgY29tbW9uIHRvIGFsbCBwbGF0Zm9ybXMsIHdlCj4+IGludHJvZHVjZSB0aGUg
cGxhdC9jb21tb24vdGltZS5jIGZvciBrZWVwaW5nIHRpbWUgcmVsYXRlZCBmdW5jdGlvbmFsaXR5
Cj4+IHdoaWNoIGlzIGNvbW1vbiB0byBhbGwgcGxhdGZvcm1zLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5
OiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+PiAtLS0KPj4gwqAgaW5jbHVk
ZS91ay9wbGF0L3RpbWUuaMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDQgKysrKwo+PiDCoCBw
bGF0L0NvbmZpZy51a8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHwgMTcg
KysrKysrKysrKysrKysrCj4+IMKgIHBsYXQvY29tbW9uL3RpbWUuY8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8IDQ1Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKwo+PiDCoCBwbGF0L2t2bS9NYWtlZmlsZS51a8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHzCoCAxICsKPj4gwqAgcGxhdC9rdm0veDg2L3RpbWUuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgfMKgIDIgKysKPj4gwqAgcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmPCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8wqAgOCArKystLS0tCj4+IMKgIHBsYXQvbGludXh1L01ha2VmaWxlLnVrwqDCoMKg
wqDCoMKgwqDCoMKgwqAgfMKgIDEgKwo+PiDCoCBwbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90
aW1lLmggfMKgIDMgKystCj4+IMKgIHBsYXQvbGludXh1L3RpbWUuY8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCB8wqAgMSArCj4+IMKgIHBsYXQveGVuL01ha2VmaWxlLnVrwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgfMKgIDEgKwo+PiDCoCBwbGF0L3hlbi94ODYvYXJjaF90aW1lLmPC
oMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMgKystCj4+IMKgIDExIGZpbGVzIGNoYW5nZWQsIDgwIGlu
c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+IMKgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0
L2NvbW1vbi90aW1lLmMKPj4KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvcGxhdC90aW1lLmgg
Yi9pbmNsdWRlL3VrL3BsYXQvdGltZS5oCj4+IGluZGV4IDIwMmUwZjkuLjBmZGUxYzYgMTAwNjQ0
Cj4+IC0tLSBhL2luY2x1ZGUvdWsvcGxhdC90aW1lLmgKPj4gKysrIGIvaW5jbHVkZS91ay9wbGF0
L3RpbWUuaAo+PiBAQCAtNDQsOSArNDQsMTMgQEAgZXh0ZXJuICJDIiB7Cj4+IMKgIMKgIHZvaWQg
dWtwbGF0X3RpbWVfaW5pdCh2b2lkKTsKPj4gwqAgdm9pZCB1a3BsYXRfdGltZV9maW5pKHZvaWQp
Owo+PiArdm9pZCB1a3BsYXRfdGltZV9mcmVxdWVuY3lfaW5pdCh2b2lkKTsKPj4gwqAgwqAgX19u
c2VjIHVrcGxhdF9tb25vdG9uaWNfY2xvY2sodm9pZCk7Cj4+IMKgICsvKiBUaW1lIHRpY2sgbGVu
Z3RoICovCj4+ICtleHRlcm4gX19uc2VjIHVrcGxhdF90aW1lX3RpY2tfbnNlYzsKPj4gKwo+PiDC
oCAjaWZkZWYgX19jcGx1c3BsdXMKPj4gwqAgfQo+PiDCoCAjZW5kaWYKPj4gZGlmZiAtLWdpdCBh
L3BsYXQvQ29uZmlnLnVrIGIvcGxhdC9Db25maWcudWsKPj4gaW5kZXggYjc3NmM0NS4uODQ5ZDdj
MiAxMDA2NDQKPj4gLS0tIGEvcGxhdC9Db25maWcudWsKPj4gKysrIGIvcGxhdC9Db25maWcudWsK
Pj4gQEAgLTE3LDMgKzE3LDIwIEBAIGNvbmZpZyBFQVJMWV9QUklOVF9QTDAxMV9VQVJUX0FERFIK
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIFBsMDExIHNlcmlhbCBhZGRyZXNzIHVzZWQgYnkgZWFybHkg
ZGVidWcgY29uc29sZS4KPj4gwqAgwqAgZW5kbWVudQo+PiArCj4+ICtjaG9pY2UKPj4gK8KgwqDC
oCBwcm9tcHQgIlRpbWVyIGZyZXF1ZW5jeSIKPj4gK8KgwqDCoCBkZWZhdWx0IEhaXzEwMAo+PiAr
wqDCoMKgIGhlbHAKPj4gK8KgwqDCoMKgwqDCoMKgIENvbmZpZ3VyZSB0aGUgdGltZXIgaW50ZXJy
dXB0IGZyZXF1ZW5jeS4KPj4gKwo+PiArwqDCoMKgIGNvbmZpZyBIWl8xMDAKPj4gK8KgwqDCoMKg
wqDCoMKgIGJvb2wgIjEwMCBIWiIKPj4gK8KgwqDCoCBjb25maWcgSFpfMTAwMAo+PiArwqDCoMKg
wqDCoMKgwqAgYm9vbCAiMTAwMCBIWiIKPj4gK2VuZGNob2ljZQo+PiArCj4+ICtjb25maWcgSFoK
Pj4gK8KgwqDCoCBpbnQKPj4gK8KgwqDCoCBkZWZhdWx0IDEwMMKgIGlmIEhaXzEwMAo+PiArwqDC
oMKgIGRlZmF1bHQgMTAwMCBpZiBIWl8xMDAwCj4+IGRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi90
aW1lLmMgYi9wbGF0L2NvbW1vbi90aW1lLmMKPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPj4gaW5k
ZXggMDAwMDAwMC4uMGM0OTJhMAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL3BsYXQvY29tbW9u
L3RpbWUuYwo+PiBAQCAtMCwwICsxLDQ1IEBACj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll
cjogQlNELTMtQ2xhdXNlICovCj4+ICsvKgo+PiArICogQXV0aG9yczogQ29zdGluIEx1cHUgPGNv
c3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPj4gKyAqCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5F
QyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzCj4+IHJlc2VydmVkLgo+
PiArICoKPj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAo+PiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4+ICsgKiBhcmUgbWV0Ogo+
PiArICoKPj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Cj4+ICsgKsKgwqDCoCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4+ICsgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAo+PiArICrCoMKgwqAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluCj4+IHRoZQo+PiArICrCoMKgwqAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCj4+IGRpc3RyaWJ1dGlvbi4K
Pj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRo
ZSBuYW1lcyBvZiBpdHMKPj4gKyAqwqDCoMKgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAo+PiBmcm9tCj4+ICsgKsKgwqDCoCB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+
PiArICoKPj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORAo+PiBDT05UUklCVVRPUlMgIkFTIElTIgo+PiArICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQKPj4gVE8s
IFRIRQo+PiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCj4+IFBVUlBPU0UKPj4gKyAqIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUgo+PiBDT05UUklCVVRPUlMg
QkUKPj4gKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKPj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4+ICsgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKPj4g
QlVTSU5FU1MKPj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLAo+PiBXSEVUSEVSIElOCj4+ICsgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKPj4gT1RIRVJXSVNF
KQo+PiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYKPj4gQURWSVNFRCBPRiBUSEUKPj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgo+PiArICoKPj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9S
IE1PRElGSUVEIElOIEFOWSBXQVkuCj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgPHVrL2NvbmZp
Zy5oPgo+PiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4+ICsjaW5jbHVkZSA8dWsvcGxhdC90aW1l
Lmg+Cj4+ICsKPj4gK19fbnNlYyB1a3BsYXRfdGltZV90aWNrX25zZWM7Cj4+ICsKPj4gK3ZvaWQg
dWtwbGF0X3RpbWVfZnJlcXVlbmN5X2luaXQodm9pZCkKPj4gK3sKPj4gK8KgwqDCoCB1a19wcmlu
dGQoRExWTF9JTkZPLCAiVGltZXIgaW50ZXJydXB0IGZyZXF1ZW5jeSBpcyAldSBIelxuIiwKPj4g
Q09ORklHX0haKTsKPj4gK8KgwqDCoCB1a3BsYXRfdGltZV90aWNrX25zZWMgPSB1a2FyY2hfdGlt
ZV9tc2VjX3RvX25zZWMoMTAwMCAvIENPTkZJR19IWik7Cj4+ICt9Cj4+IGRpZmYgLS1naXQgYS9w
bGF0L2t2bS9NYWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4gCj4gSSdtIG5vdCBz
dXJlIEkgc2VlIHRoZSBwb2ludCBpbiB0aGlzIGZpbGUgYXQgdGhpcyBwb2ludCBpbiB0aW1lLiBB
bGwgaXQKPiBkb2VzIGlzIGhhdmUgYSBmdW5jdGlvbiAodGhhdCBpcyBvbmx5IGNhbGxlZCBmcm9t
IG9uY2UsIGZyb20gb25lIHBsYWNlCj4gaW4gdGhlIGNvZGUpIHRoYXQgc2V0cyBhIGdsb2JhbCB2
YXJpYWJsZSB0byBhIHZhbHVlIGtub3duIGF0IGNvbXBpbGUKPiB0aW1lLCB3aGljaCBpcyBhbHNv
IG9ubHkgdXNlZCBvbmNlLiBJJ2Qgc2NyYXAgYWxsIHRoaXMgYW5kIHVzZSAoMTAwMCAvCj4gQ09O
RklHX0haKSBpbiBwbGF0L3hlbi94ODYvYXJjaF90aW1lLmMgZGlyZWN0bHkuCj4gCgpBbHJpZ2h0
LiBJIHdpbGwgaW50cm9kdWNlIGEgbWFjcm8gZGVmaW5pdGlvbiBpbnN0ZWFkIGZvciB0aGUgdGlt
ZSB0aWNrCmluIG5hbm9zZWNvbmRzIGluIHYyLgoKPj4gaW5kZXggYjQ5M2JiYS4uYzU3YTQxOSAx
MDA2NDQKPj4gLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUudWsKPj4gKysrIGIvcGxhdC9rdm0vTWFr
ZWZpbGUudWsKPj4gQEAgLTczLDYgKzczLDcgQEAgTElCS1ZNUExBVF9TUkNTLXnCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCArPQo+PiAkKExJQktWTVBMQVRfQkFTRSkvaXJxLmMKPj4gwqAgTElC
S1ZNUExBVF9TUkNTLXnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArPSAkKExJQktWTVBMQVRf
QkFTRSkvaW8uYwo+PiDCoCBMSUJLVk1QTEFUX1NSQ1MtecKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvbGNwdS5jfGNvbW1vbgo+PiDCoCBMSUJLVk1Q
TEFUX1NSQ1MtecKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICs9Cj4+ICQoVUtfUExBVF9DT01N
T05fQkFTRSkvbWVtb3J5LmN8Y29tbW9uCj4+ICtMSUJLVk1QTEFUX1NSQ1MtecKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvdGltZS5jfGNvbW1vbgo+
PiDCoCDCoCAjIwo+PiDCoCAjIyBQQ0kgbGlicmFyeSBkZWZpbml0aW9ucwo+PiBkaWZmIC0tZ2l0
IGEvcGxhdC9rdm0veDg2L3RpbWUuYyBiL3BsYXQva3ZtL3g4Ni90aW1lLmMKPj4gaW5kZXggM2Q4
YTg0Mi4uNTBjZTQ3MCAxMDA2NDQKPj4gLS0tIGEvcGxhdC9rdm0veDg2L3RpbWUuYwo+PiArKysg
Yi9wbGF0L2t2bS94ODYvdGltZS5jCj4+IEBAIC02OSw2ICs2OSw4IEBAIHZvaWQgdWtwbGF0X3Rp
bWVfaW5pdCh2b2lkKQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgaW50IHJjOwo+PiDCoCArwqDCoMKg
IHVrcGxhdF90aW1lX2ZyZXF1ZW5jeV9pbml0KCk7Cj4+ICsKPj4gwqDCoMKgwqDCoCByYyA9IHVr
cGxhdF9pcnFfcmVnaXN0ZXIoMCwgdGltZXJfaGFuZGxlciwgTlVMTCk7Cj4+IMKgwqDCoMKgwqAg
aWYgKHJjIDwgMCkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIFVLX0NSQVNIKCJGYWlsZWQgdG8gcmVn
aXN0ZXIgdGltZXIgaW50ZXJydXB0IGhhbmRsZXJcbiIpOwo+PiBkaWZmIC0tZ2l0IGEvcGxhdC9r
dm0veDg2L3RzY2Nsb2NrLmMgYi9wbGF0L2t2bS94ODYvdHNjY2xvY2suYwo+PiBpbmRleCA4OTYx
NjU5Li4zMmRlOWQ2IDEwMDY0NAo+PiAtLS0gYS9wbGF0L2t2bS94ODYvdHNjY2xvY2suYwo+PiAr
KysgYi9wbGF0L2t2bS94ODYvdHNjY2xvY2suYwo+PiBAQCAtMTMxLDcgKzEzMSw3IEBAIHN0YXRp
YyB2b2lkIGk4MjU0X2RlbGF5KHVuc2lnbmVkIGludCBuKQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAg
dW5zaWduZWQgaW50IGN1cl90aWNrLCBpbml0aWFsX3RpY2s7Cj4+IMKgwqDCoMKgwqAgaW50IHJl
bWFpbmluZzsKPj4gLcKgwqDCoCBjb25zdCB1bnNpZ25lZCBsb25nIHRpbWVyX3J2YWwgPSBUSU1F
Ul9IWiAvIDEwMDsKPj4gK8KgwqDCoCBjb25zdCB1bnNpZ25lZCBsb25nIHRpbWVyX3J2YWwgPSBU
SU1FUl9IWiAvIENPTkZJR19IWjsKPj4gwqAgwqDCoMKgwqDCoCBpbml0aWFsX3RpY2sgPSBpODI1
NF9nZXR0aWNrKCk7Cj4+IMKgIEBAIC0yMTEsMTAgKzIxMSwxMCBAQCBpbnQgdHNjY2xvY2tfaW5p
dCh2b2lkKQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgX191NjQgdHNjX2ZyZXEsIHJ0Y19ib290Owo+
PiDCoCAtwqDCoMKgIC8qIEluaXRpYWxpc2UgaTgyNTQgdGltZXIgY2hhbm5lbCAwIHRvIG1vZGUg
MiBhdCAxMDAgSHogKi8KPj4gK8KgwqDCoCAvKiBJbml0aWFsaXNlIGk4MjU0IHRpbWVyIGNoYW5u
ZWwgMCB0byBtb2RlIDIgYXQgQ09ORklHX0haCj4+IGZyZXF1ZW5jeSAqLwo+PiDCoMKgwqDCoMKg
IG91dGIoVElNRVJfTU9ERSwgVElNRVJfU0VMMCB8IFRJTUVSX1JBVEVHRU4gfCBUSU1FUl8xNkJJ
VCk7Cj4+IC3CoMKgwqAgb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFogLyAxMDApICYgMHhmZik7
Cj4+IC3CoMKgwqAgb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFogLyAxMDApID4+IDgpOwo+PiAr
wqDCoMKgIG91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8gQ09ORklHX0haKSAmIDB4ZmYpOwo+
PiArwqDCoMKgIG91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8gQ09ORklHX0haKSA+PiA4KTsK
Pj4gwqAgwqDCoMKgwqDCoCAvKgo+PiDCoMKgwqDCoMKgwqAgKiBSZWFkIFJUQyAidGltZSBhdCBi
b290Ii4gVGhpcyBtdXN0IGJlIGRvbmUganVzdCBiZWZvcmUKPj4gdHNjX2Jhc2UgaXMKPj4gZGlm
ZiAtLWdpdCBhL3BsYXQvbGludXh1L01ha2VmaWxlLnVrIGIvcGxhdC9saW51eHUvTWFrZWZpbGUu
dWsKPj4gaW5kZXggYjAwNTQwYy4uZDM3YTk2MCAxMDA2NDQKPj4gLS0tIGEvcGxhdC9saW51eHUv
TWFrZWZpbGUudWsKPj4gKysrIGIvcGxhdC9saW51eHUvTWFrZWZpbGUudWsKPj4gQEAgLTM0LDMg
KzM0LDQgQEAgTElCTElOVVhVUExBVF9TUkNTLXnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAr
PQo+PiAkKExJQkxJTlVYVVBMQVRfQkFTRSkvaXJxLmMKPj4gwqAgTElCTElOVVhVUExBVF9TUkNT
LXnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArPSAkKExJQkxJTlVYVVBMQVRfQkFTRSkvdGlt
ZS5jCj4+IMKgIExJQkxJTlVYVVBMQVRfU1JDUy15wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
Kz0KPj4gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9sY3B1LmN8Y29tbW9uCj4+IMKgIExJQkxJTlVY
VVBMQVRfU1JDUy15wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKz0KPj4gJChVS19QTEFUX0NP
TU1PTl9CQVNFKS9tZW1vcnkuY3xjb21tb24KPj4gK0xJQkxJTlVYVVBMQVRfU1JDUy15wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgKz0KPj4gJChVS19QTEFUX0NPTU1PTl9CQVNFKS90aW1lLmN8
Y29tbW9uCj4+IGRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmgK
Pj4gYi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmgKPj4gaW5kZXggMmRmODgxZS4u
YzVlODA0ZSAxMDA2NDQKPj4gLS0tIGEvcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvdGltZS5o
Cj4+ICsrKyBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUuaAo+PiBAQCAtMzUsOSAr
MzUsMTAgQEAKPj4gwqAgI2lmbmRlZiBfX0xJTlVYVV9USU1FX0hfXwo+PiDCoCAjZGVmaW5lIF9f
TElOVVhVX1RJTUVfSF9fCj4+IMKgICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4+IMKgICNpbmNs
dWRlIDxsaW51eHUvc2lnbmFsLmg+Cj4+IMKgIC0jZGVmaW5lIFRJTUVSX0lOVFZBTF9NU0VDwqDC
oMKgIDEwCj4+ICsjZGVmaW5lIFRJTUVSX0lOVFZBTF9NU0VDwqDCoMKgICgxMDAwIC8gQ09ORklH
X0haKQo+PiDCoCAjZGVmaW5lIFRJTUVSX1NJR05VTcKgwqDCoMKgwqDCoMKgwqAgU0lHQUxSTQo+
PiDCoCDCoCBkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvdGltZS5jIGIvcGxhdC9saW51eHUvdGlt
ZS5jCj4+IGluZGV4IGVhZDA3ZjUuLmI1YjEyOTUgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQvbGludXh1
L3RpbWUuYwo+PiArKysgYi9wbGF0L2xpbnV4dS90aW1lLmMKPj4gQEAgLTc2LDYgKzc2LDcgQEAg
dm9pZCB1a3BsYXRfdGltZV9pbml0KHZvaWQpCj4+IMKgwqDCoMKgwqAgc3RydWN0IGtfaXRpbWVy
c3BlYyBpdHM7Cj4+IMKgwqDCoMKgwqAgaW50IHJjOwo+PiDCoCArwqDCoMKgIHVrcGxhdF90aW1l
X2ZyZXF1ZW5jeV9pbml0KCk7Cj4+IMKgwqDCoMKgwqAgdWtwbGF0X2lycV9yZWdpc3RlcihUSU1F
Ul9TSUdOVU0sIHRpbWVyX2hhbmRsZXIsIE5VTEwpOwo+PiDCoCDCoMKgwqDCoMKgIG1lbXNldCgm
c2lnZXYsIDAsIHNpemVvZihzaWdldikpOwo+PiBkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vTWFrZWZp
bGUudWsgYi9wbGF0L3hlbi9NYWtlZmlsZS51awo+PiBpbmRleCA3NmEzMjY0Li5lMDAxMTMzIDEw
MDY0NAo+PiAtLS0gYS9wbGF0L3hlbi9NYWtlZmlsZS51awo+PiArKysgYi9wbGF0L3hlbi9NYWtl
ZmlsZS51awo+PiBAQCAtMjksNiArMjksNyBAQCBMSUJYRU5QTEFUX1NSQ1MtecKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgICs9Cj4+ICQoTElCWEVOUExBVF9CQVNFKS9oeXBlcnZpc29yLmMKPj4g
wqAgTElCWEVOUExBVF9TUkNTLXnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArPSAkKExJQlhF
TlBMQVRfQkFTRSkvbWVtb3J5LmMKPj4gwqAgTElCWEVOUExBVF9TUkNTLXnCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2xjcHUuY3xjb21tb24KPj4g
wqAgTElCWEVOUExBVF9TUkNTLXnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArPQo+PiAkKFVL
X1BMQVRfQ09NTU9OX0JBU0UpL21lbW9yeS5jfGNvbW1vbgo+PiArTElCWEVOUExBVF9TUkNTLXnC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL3RpbWUu
Y3xjb21tb24KPj4gwqAgwqAgaWZuZXEgKCwkKGZpbHRlciB4ODZfMzIgeDg2XzY0LCQoQ09ORklH
X1VLX0FSQ0gpKSkKPj4gwqAgTElCWEVOUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAr
PQo+PiAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL3g4Ni90cmFjZS5jfGNvbW1vbgo+PiBkaWZmIC0t
Z2l0IGEvcGxhdC94ZW4veDg2L2FyY2hfdGltZS5jIGIvcGxhdC94ZW4veDg2L2FyY2hfdGltZS5j
Cj4+IGluZGV4IGY5NjQyNmYuLjg5YjUwNDUgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQveGVuL3g4Ni9h
cmNoX3RpbWUuYwo+PiArKysgYi9wbGF0L3hlbi94ODYvYXJjaF90aW1lLmMKPj4gQEAgLTIzMyw3
ICsyMzMsNyBAQCB2b2lkIHRpbWVfYmxvY2tfdW50aWwoX19zbnNlYyB1bnRpbCkKPj4gwqAgc3Rh
dGljIHZvaWQgdGltZXJfaGFuZGxlcihldnRjaG5fcG9ydF90IGV2IF9fdW51c2VkLAo+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgc3RydWN0IF9fcmVncyAqcmVncyBfX3VudXNlZCwgdm9pZCAqaWduIF9f
dW51c2VkKQo+PiDCoCB7Cj4+IC3CoMKgwqAgX19uc2VjIHVudGlsID0gdWtwbGF0X21vbm90b25p
Y19jbG9jaygpICsKPj4gdWthcmNoX3RpbWVfbXNlY190b19uc2VjKDEpOwo+PiArwqDCoMKgIF9f
bnNlYyB1bnRpbCA9IHVrcGxhdF9tb25vdG9uaWNfY2xvY2soKSArIHVrcGxhdF90aW1lX3RpY2tf
bnNlYzsKPiAKPiBUaGlzIGNoYW5nZXMgdGhlIGN1cnJlbnQgYmVoYXZpb3IsIHJpZ2h0PyBhdCB0
aGUgbW9tZW50LCB0aGlzIHNldHMgYQo+IHRpbWUgb25lIG1zZWMgaW50byB0aGUgZnV0dXJlLCBi
dXQgYWZ0ZXJ3YXJkcywgaXQncyBvbmUgdGljayBpbnRvIHRoZQo+IGZ1dHVyZSwgd2hpY2ggY2Fu
IGhhcHBlbiB0byBiZSAxbXNlYywgYnV0IGxpa2VseSAoYW5kIGJ5IGRlZmF1bHQgd2l0aAo+IENP
TkZJR19IWiA9IDEwMCkgaXNuJ3QuIElzIHRoZXJlIGFyZSBhbiB1bmRlcmx5aW5nIHJlYXNvbiBm
b3IgdGhpcwo+IGNoYW5nZT8gQW5kIGlmIHNvLCBJJ2QgZmVlbCBtb3JlIGNvbWZvcnRhYmxlIHdp
dGggdGhpcyBhcyBhIHNlcGFyYXRlCj4gcGF0Y2ggKGJlY2F1c2UgaXQgY2hhbmdlcyBmdW5jdGlv
bmFsaXR5KSBvciBhdCBsZWFzdCBhIG1lbnRpb24gaW4gdGhlCj4gY29tbWl0IGRlc2NyaXB0aW9u
LgoKWW91J3JlIHJpZ2h0IHdlIHNob3VsZCBvdXRsaW5lIHRoaXMgY2hhbmdlLiBJJ2xsIG1lbnRp
b24gaXQgaW4gdGhlCmNvbW1pdCBtZXNzYWdlIGZvciB2Mi4KCj4+IMKgIMKgwqDCoMKgwqAgSFlQ
RVJWSVNPUl9zZXRfdGltZXJfb3AodW50aWwpOwo+PiDCoCB9Cj4+IEBAIC0yNDQsNiArMjQ0LDcg
QEAgc3RhdGljIGV2dGNobl9wb3J0X3QgcG9ydDsKPj4gwqAgdm9pZCB1a3BsYXRfdGltZV9pbml0
KHZvaWQpCj4+IMKgIHsKPj4gwqDCoMKgwqDCoCB1a19wcmludGQoRExWTF9FWFRSQSwgIkluaXRp
YWxpemluZyB0aW1lciBpbnRlcmZhY2VcbiIpOwo+PiArwqDCoMKgIHVrcGxhdF90aW1lX2ZyZXF1
ZW5jeV9pbml0KCk7Cj4+IMKgwqDCoMKgwqAgcG9ydCA9IGJpbmRfdmlycShWSVJRX1RJTUVSLCAm
dGltZXJfaGFuZGxlciwgTlVMTCk7Cj4+IMKgwqDCoMKgwqAgdW5tYXNrX2V2dGNobihwb3J0KTsK
Pj4gwqAgfQo+Pgo+IAo+IENoZWVycywKPiBGbG9yaWFuCj4gCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Oct 02 07:39:49 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 02 Oct 2018 07:39:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g7FHY-0002k3-Ca; Tue, 02 Oct 2018 07:39:48 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ppyj=mo=cs.pub.ro=costin.lupu@srs-us1.protection.inumbo.net>)
 id 1g7FHX-0002jw-Ek
 for minios-devel@lists.xen.org; Tue, 02 Oct 2018 07:39:47 +0000
X-Inumbo-ID: 7f16880a-c616-11e8-a6a9-d7ebe60f679a
Received: from vesa.cs.pub.ro (unknown [141.85.227.187])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTP
 id 7f16880a-c616-11e8-a6a9-d7ebe60f679a;
 Tue, 02 Oct 2018 07:40:56 +0000 (UTC)
IronPort-PHdr: =?us-ascii?q?9a23=3Ap4B8tRxH4dScTLjXCy+O+j09IxM/srCxBDY+r6?=
 =?us-ascii?q?Qd2+oQIJqq85mqBkHD//Il1AaPAd2Eraocw8Pt8InYEVQa5piAtH1QOLdtbD?=
 =?us-ascii?q?Qizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBB?=
 =?us-ascii?q?r/KRB1JuPoEYLOksi7ze+/94HRbglSmDaxfa55IQmrownWqsQYm5ZpJLwryh?=
 =?us-ascii?q?vOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3?=
 =?us-ascii?q?o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wy?=
 =?us-ascii?q?mt771zRRHolikJKjA3/mLQhMFrkK5XvAisqwBlzoLIfI2YMud1cKPHfdMdQG?=
 =?us-ascii?q?pMRthcVytaAoOgbosPCfcKM+BFr4nlulsFsByzChWrBOP01j9Ih3n20bc+0+?=
 =?us-ascii?q?Q8CQHGwRctEM4VsHjOtNX1KbwdXfqvzKnP1DjOae5d1zTl6IXQbxwsruyAUa?=
 =?us-ascii?q?hzfMfR00UjCR3Jg1eKpYHrJz+Zy+sAv3WB4+djVe+jkXArpg9/rzS128shhZ?=
 =?us-ascii?q?fFi4QIwV7e7yp52pw6JdigRU5+Zt6rDYVfujmBN4tzXsMiW2ZouDsmyrEeuZ?=
 =?us-ascii?q?60YiwKyJM/yh7BbvyIaYmI4hb5WOmNOjd0nmpleK+kiBqo60igzfXwVsiy0F?=
 =?us-ascii?q?lUsipIisTAu38Q2xDJ6cWKSuFx8lm/1TuNzQze5PlIIUUumqraL54hzKQwlp?=
 =?us-ascii?q?0WsUnbAiD2n172jLOXdkUi4OSo7/nnYq37ppKHK4B0kRvyMrwzmsOkG+g4KA?=
 =?us-ascii?q?8OU3CB+eugzL3j4VH5QLJSg/0zk6nZtpHaJcMApqKgHgBazJgj5Ai7Dzq91N?=
 =?us-ascii?q?QYnGIHLE5eeB6dgInmJVfOLOr/DfeljFSmiC1ryOzePr39HpXNKWDOnrflfb?=
 =?us-ascii?q?Z68U5cyRA8zdZF65xJFr4BIPfzWk7su9zEFRI5NRK7zPrjCNpnzYwSQ3yAAr?=
 =?us-ascii?q?LKeJ/V5FqJ4OMoOKyAaZEYvB75KuM5/Lj+gHl/nkUSLoez2p5CQ3ejAvVga2?=
 =?us-ascii?q?GEeWek1twGCnsLuEw6UfT3oFaZFyZObTCoWPRvtXkAFIu6ANKbFciWi7ub0X?=
 =?us-ascii?q?LjEw=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2BvAADhH7NbjAPjVY1bHQEBBQEHBQG?=
 =?us-ascii?q?BU4JybRIojGikJIF6JhABhECEOzYWAQMBAQIBAQIBEwEBASZMDII1IoNhT4E?=
 =?us-ascii?q?CgyEBggWmVYR3hSeGbIVtP456Ao8AjjwHAoIIBIQ8iWUigUlLhx+GJ5ZkJQE?=
 =?us-ascii?q?vgVYzGoNfCYFlATYOCYtAgltsewEBjGgBAQ?=
X-IPAS-Result: =?us-ascii?q?A2BvAADhH7NbjAPjVY1bHQEBBQEHBQGBU4JybRIojGikJ?=
 =?us-ascii?q?IF6JhABhECEOzYWAQMBAQIBAQIBEwEBASZMDII1IoNhT4ECgyEBggWmVYR3h?=
 =?us-ascii?q?SeGbIVtP456Ao8AjjwHAoIIBIQ8iWUigUlLhx+GJ5ZkJQEvgVYzGoNfCYFlA?=
 =?us-ascii?q?TYOCYtAgltsewEBjGgBAQ?=
X-IronPort-AV: E=Sophos;i="5.54,331,1534798800"; 
   d="scan'208";a="2874653"
Received: from mail.cs.pub.ro (HELO vmail.cs.pub.ro) ([141.85.227.3])
 by vesa.cs.pub.ro with ESMTP; 02 Oct 2018 10:39:42 +0300
Received: from localhost (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTP id 933EB1A6005A;
 Tue,  2 Oct 2018 10:39:42 +0300 (EEST)
Received: from vmail.cs.pub.ro ([127.0.0.1])
 by localhost (vmail.cs.pub.ro [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 9dcyrG73z0Tf; Tue,  2 Oct 2018 10:39:42 +0300 (EEST)
Received: from vmail.cs.pub.ro (localhost [127.0.0.1])
 by vmail.cs.pub.ro (Postfix) with ESMTPS id 72FD41A600B4;
 Tue,  2 Oct 2018 10:39:42 +0300 (EEST)
Received: from wolfprec.precis.pub.ro (unknown [141.85.233.142])
 by vmail.cs.pub.ro (Postfix) with ESMTPSA id 6226F1A6005A;
 Tue,  2 Oct 2018 10:39:42 +0300 (EEST)
From: Costin Lupu <costin.lupu@cs.pub.ro>
To: minios-devel@lists.xen.org
Date: Tue,  2 Oct 2018 10:39:38 +0300
Message-Id: <20181002073938.27981-1-costin.lupu@cs.pub.ro>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH v3] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian.Schmidt@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIG5ldyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGNob29zaW5nIGEgdGltZXIgaW50ZXJy
dXB0IGZyZXF1ZW5jeS4KVGhpcyBwYXRjaCBhZGRzIG9ubHkgMTAwIEh6IGFuZCAxMDAwIEh6IGFz
IGN1cnJlbnRseSBzdXBwb3J0ZWQgdmFsdWVzLgpUaGUgY29uZmlndXJlZCBmcmVxdWVuY3kgaXMg
Y29udmVydGVkIHRvIHRoZSB0aW1lciB0aWNrIGxlbmd0aCB3aGljaCBjYW4KYmUgb2YgdXNlIGZv
ciBvdGhlciBtb2R1bGVzIChlLmcuIHByZWVtcHRpdmUgc2NoZWR1bGVycykuCgpXZSBjaG9vc2Ug
MTAwIEh6IGFzIHRoZSBkZWZhdWx0IHZhbHVlICh0aW1lciB0aWNrIHZhbHVlIGJlaW5nIDEwIG1z
KSB3aGljaAprZWVwcyB0aGUgc2FtZSBiZWhhdmlvciBvbiBLVk0gcGxhdGZvcm0sIGJ1dCBpdCBj
aGFuZ2VzIGZyb20gMTAwMCBIeiBvbgpYZW4gcGxhdGZvcm0uCgpTaWduZWQtb2ZmLWJ5OiBDb3N0
aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotLS0KIGluY2x1ZGUvdWsvcGxhdC90aW1l
LmggICAgICAgICAgICB8ICA0ICsrKysKIHBsYXQvQ29uZmlnLnVrICAgICAgICAgICAgICAgICAg
ICB8IDE3ICsrKysrKysrKysrKysrKysrCiBwbGF0L2t2bS94ODYvdHNjY2xvY2suYyAgICAgICAg
ICAgfCAgOCArKysrLS0tLQogcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvdGltZS5oIHwgIDMg
KystCiBwbGF0L3hlbi94ODYvYXJjaF90aW1lLmMgICAgICAgICAgfCAgMiArLQogNSBmaWxlcyBj
aGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2lu
Y2x1ZGUvdWsvcGxhdC90aW1lLmggYi9pbmNsdWRlL3VrL3BsYXQvdGltZS5oCmluZGV4IDIwMmUw
ZjkuLmNhMjlhYWYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsvcGxhdC90aW1lLmgKKysrIGIvaW5j
bHVkZS91ay9wbGF0L3RpbWUuaApAQCAtNDcsNiArNDcsMTAgQEAgdm9pZCB1a3BsYXRfdGltZV9m
aW5pKHZvaWQpOwogCiBfX25zZWMgdWtwbGF0X21vbm90b25pY19jbG9jayh2b2lkKTsKIAorLyog
VGltZSB0aWNrIGxlbmd0aCAqLworI2RlZmluZSBVS1BMQVRfVElNRV9USUNLX01TRUMgICgxMDAw
IC8gQ09ORklHX0haKQorI2RlZmluZSBVS1BMQVRfVElNRV9USUNLX05TRUMgIHVrYXJjaF90aW1l
X21zZWNfdG9fbnNlYyhVS1BMQVRfVElNRV9USUNLX01TRUMpCisKICNpZmRlZiBfX2NwbHVzcGx1
cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9wbGF0L0NvbmZpZy51ayBiL3BsYXQvQ29uZmlnLnVr
CmluZGV4IGI3NzZjNDUuLjg0OWQ3YzIgMTAwNjQ0Ci0tLSBhL3BsYXQvQ29uZmlnLnVrCisrKyBi
L3BsYXQvQ29uZmlnLnVrCkBAIC0xNywzICsxNywyMCBAQCBjb25maWcgRUFSTFlfUFJJTlRfUEww
MTFfVUFSVF9BRERSCiAJCVBsMDExIHNlcmlhbCBhZGRyZXNzIHVzZWQgYnkgZWFybHkgZGVidWcg
Y29uc29sZS4KIAogZW5kbWVudQorCitjaG9pY2UKKwlwcm9tcHQgIlRpbWVyIGZyZXF1ZW5jeSIK
KwlkZWZhdWx0IEhaXzEwMAorCWhlbHAKKwkJQ29uZmlndXJlIHRoZSB0aW1lciBpbnRlcnJ1cHQg
ZnJlcXVlbmN5LgorCisJY29uZmlnIEhaXzEwMAorCQlib29sICIxMDAgSFoiCisJY29uZmlnIEha
XzEwMDAKKwkJYm9vbCAiMTAwMCBIWiIKK2VuZGNob2ljZQorCitjb25maWcgSFoKKwlpbnQKKwlk
ZWZhdWx0IDEwMCAgaWYgSFpfMTAwCisJZGVmYXVsdCAxMDAwIGlmIEhaXzEwMDAKZGlmZiAtLWdp
dCBhL3BsYXQva3ZtL3g4Ni90c2NjbG9jay5jIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKaW5k
ZXggNGVmMjE3OS4uMzQ4OGUzNCAxMDA2NDQKLS0tIGEvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMK
KysrIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKQEAgLTEzMSw3ICsxMzEsNyBAQCBzdGF0aWMg
dm9pZCBpODI1NF9kZWxheSh1bnNpZ25lZCBpbnQgbikKIHsKIAl1bnNpZ25lZCBpbnQgY3VyX3Rp
Y2ssIGluaXRpYWxfdGljazsKIAlpbnQgcmVtYWluaW5nOwotCWNvbnN0IHVuc2lnbmVkIGxvbmcg
dGltZXJfcnZhbCA9IFRJTUVSX0haIC8gMTAwOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgdGltZXJf
cnZhbCA9IFRJTUVSX0haIC8gQ09ORklHX0haOwogCiAJaW5pdGlhbF90aWNrID0gaTgyNTRfZ2V0
dGljaygpOwogCkBAIC0yMTEsMTAgKzIxMSwxMCBAQCBpbnQgdHNjY2xvY2tfaW5pdCh2b2lkKQog
ewogCV9fdTY0IHRzY19mcmVxLCBydGNfYm9vdDsKIAotCS8qIEluaXRpYWxpc2UgaTgyNTQgdGlt
ZXIgY2hhbm5lbCAwIHRvIG1vZGUgMiBhdCAxMDAgSHogKi8KKwkvKiBJbml0aWFsaXNlIGk4MjU0
IHRpbWVyIGNoYW5uZWwgMCB0byBtb2RlIDIgYXQgQ09ORklHX0haIGZyZXF1ZW5jeSAqLwogCW91
dGIoVElNRVJfTU9ERSwgVElNRVJfU0VMMCB8IFRJTUVSX1JBVEVHRU4gfCBUSU1FUl8xNkJJVCk7
Ci0Jb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFogLyAxMDApICYgMHhmZik7Ci0Jb3V0YihUSU1F
Ul9DTlRSLCAoVElNRVJfSFogLyAxMDApID4+IDgpOworCW91dGIoVElNRVJfQ05UUiwgKFRJTUVS
X0haIC8gQ09ORklHX0haKSAmIDB4ZmYpOworCW91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8g
Q09ORklHX0haKSA+PiA4KTsKIAogCS8qCiAJICogUmVhZCBSVEMgInRpbWUgYXQgYm9vdCIuIFRo
aXMgbXVzdCBiZSBkb25lIGp1c3QgYmVmb3JlIHRzY19iYXNlIGlzCmRpZmYgLS1naXQgYS9wbGF0
L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmggYi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4
dS90aW1lLmgKaW5kZXggMmRmODgxZS4uMDk1MThhNCAxMDA2NDQKLS0tIGEvcGxhdC9saW51eHUv
aW5jbHVkZS9saW51eHUvdGltZS5oCisrKyBiL3BsYXQvbGludXh1L2luY2x1ZGUvbGludXh1L3Rp
bWUuaApAQCAtMzUsOSArMzUsMTAgQEAKICNpZm5kZWYgX19MSU5VWFVfVElNRV9IX18KICNkZWZp
bmUgX19MSU5VWFVfVElNRV9IX18KIAorI2luY2x1ZGUgPHVrL3BsYXQvdGltZS5oPgogI2luY2x1
ZGUgPGxpbnV4dS9zaWduYWwuaD4KIAotI2RlZmluZSBUSU1FUl9JTlRWQUxfTVNFQyAgICAxMAor
I2RlZmluZSBUSU1FUl9JTlRWQUxfTVNFQyAgICBVS1BMQVRfVElNRV9USUNLX01TRUMKICNkZWZp
bmUgVElNRVJfU0lHTlVNICAgICAgICAgU0lHQUxSTQogCiAKZGlmZiAtLWdpdCBhL3BsYXQveGVu
L3g4Ni9hcmNoX3RpbWUuYyBiL3BsYXQveGVuL3g4Ni9hcmNoX3RpbWUuYwppbmRleCA5NWQ3YjEw
Li5hNGI3N2I5IDEwMDY0NAotLS0gYS9wbGF0L3hlbi94ODYvYXJjaF90aW1lLmMKKysrIGIvcGxh
dC94ZW4veDg2L2FyY2hfdGltZS5jCkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCB0aW1lX2Jsb2Nr
X3VudGlsKF9fc25zZWMgdW50aWwpCiBzdGF0aWMgdm9pZCB0aW1lcl9oYW5kbGVyKGV2dGNobl9w
b3J0X3QgZXYgX191bnVzZWQsCiAJCXN0cnVjdCBfX3JlZ3MgKnJlZ3MgX191bnVzZWQsIHZvaWQg
KmlnbiBfX3VudXNlZCkKIHsKLQlfX25zZWMgdW50aWwgPSB1a3BsYXRfbW9ub3RvbmljX2Nsb2Nr
KCkgKyB1a2FyY2hfdGltZV9tc2VjX3RvX25zZWMoMSk7CisJX19uc2VjIHVudGlsID0gdWtwbGF0
X21vbm90b25pY19jbG9jaygpICsgVUtQTEFUX1RJTUVfVElDS19OU0VDOwogCiAJSFlQRVJWSVNP
Ul9zZXRfdGltZXJfb3AodW50aWwpOwogfQotLSAKMi4xMS4wCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 04 07:56:41 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 04 Oct 2018 07:56:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g7yUy-0005Wz-6y; Thu, 04 Oct 2018 07:56:40 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=qdnq=mq=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g7yUw-0005Wu-RY
 for minios-devel@lists.xen.org; Thu, 04 Oct 2018 07:56:38 +0000
X-Inumbo-ID: ad0820bc-c7aa-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id ad0820bc-c7aa-11e8-a8a5-bc764e045a96;
 Thu, 04 Oct 2018 09:54:10 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C12141049A3;
 Thu,  4 Oct 2018 09:56:33 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id JH-0ISZCXJPe; Thu,  4 Oct 2018 09:56:33 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 9EBA9104772
 for <minios-devel@lists.xen.org>; Thu,  4 Oct 2018 09:56:31 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Oct
 2018 09:56:31 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1538403514-24550-1-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <41f26526-3e5c-0b8e-bf5a-0bc53ef338c6@neclab.eu>
Date: Thu, 4 Oct 2018 09:56:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1538403514-24550-1-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] plat/common: PCI bus probes the
 device identifier
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZ29vZC4gVGhhbmtzIQoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1
ZW56ZXJAbmVjbGFiLmV1PgoKT24gMDEuMTAuMjAxOCAxNjoxOCwgU2hhcmFuIFNhbnRoYW5hbSB3
cm90ZToKPiBXaGlsZSBwcm9iaW5nIHRoZSBkZXZpY2VzIG9uIHRoZSBwY2kgYnVzLCB0aGUgZGV2
aWNlIGlkZW50aWZpZXIgYXJlCj4gcmVhZCBmcm9tIHRoZSBjb25maWd1cmF0aW9uIHNwYWNlLiBU
aGUgcGNpIGRldmljZSBpcyBpZGVudGlmaWVkIHdpdGgKPiAqIGNsYXNzX2lkCj4gKiB2ZW5kb3Jf
aWQKPiAqIGRldmljZV9pZAo+ICogc3Vic3lzdGVtX2lkCj4gKiBzdWJzeXN0ZW12ZW5kb3JfaWQK
PiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KPiAtLS0KPiAgIHBsYXQvY29tbW9uL3BjaV9idXMuYyB8IDMwICsrKysrKysrKysr
KysrKysrKysrKysrKy0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyks
IDYgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL3BjaV9idXMuYyBi
L3BsYXQvY29tbW9uL3BjaV9idXMuYwo+IGluZGV4IGM2NTNlODEuLjcxNzEzYzkgMTAwNjQ0Cj4g
LS0tIGEvcGxhdC9jb21tb24vcGNpX2J1cy5jCj4gKysrIGIvcGxhdC9jb21tb24vcGNpX2J1cy5j
Cj4gQEAgLTgwLDYgKzgwLDIyIEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2J1c19oYW5kbGVyIHBoOwo+
ICAgI2RlZmluZSBQQ0lfREVWSUNFX1NISUZUICAgICAgICAgICAgKDExKQo+ICAgI2RlZmluZSBQ
Q0lfRU5BQkxFX0JJVCAgICAgICAgICAgICAgKDEgPDwgMzEpCj4gICAKPiArI2RlZmluZSBQQ0lf
Q09ORl9DTEFTU19JRCAgICAgICAgICAoMHgwOCkKPiArI2RlZmluZSBQQ0lfQ09ORl9DTEFTU19J
RF9TSEZUICAgICAoOCkKPiArI2RlZmluZSBQQ0lfQ09ORl9DTEFTU19JRF9NQVNLICAgICAoMHgw
MEZGRkZGRikKPiArCj4gKyNkZWZpbmUgUENJX0NPTkZfVkVORE9SX0lEICAgICAgICAgICgweDAw
KQo+ICsjZGVmaW5lIFBDSV9DT05GX1ZFTkRPUl9JRF9TSEZUICAgICAoMCkKPiArI2RlZmluZSBQ
Q0lfQ09ORl9WRU5ET1JfSURfTUFTSyAgICAgKDB4MDAwMEZGRkYpCj4gKwo+ICsjZGVmaW5lIFBD
SV9DT05GX0RFVklDRV9JRCAgICAgICAgICAoMHgwMCkKPiArI2RlZmluZSBQQ0lfQ09ORl9ERVZJ
Q0VfSURfU0hGVCAgICAgKDE2KQo+ICsjZGVmaW5lIFBDSV9DT05GX0RFVklDRV9JRF9NQVNLICAg
ICAoMHgwMDAwRkZGRikKPiArCj4gKyNkZWZpbmUgUENJX0NPTkZfU1VCU1lTVkVOX0lEICAgICAg
ICAgICgweDJjKQo+ICsjZGVmaW5lIFBDSV9DT05GX1NVQlNZU1ZFTl9JRF9TSEZUICAgICAoMCkK
PiArI2RlZmluZSBQQ0lfQ09ORl9TVUJTWVNWRU5fSURfTUFTSyAgICAgKDB4RkZGRikKPiArCj4g
ICAjZGVmaW5lIFBDSV9DT05GX1NVQlNZU19JRCAgICAgICAgICAoMHgyYykKPiAgICNkZWZpbmUg
UENJX0NPTkZfU1VCU1lTX0lEX1NIRlQgICAgICgxNikKPiAgICNkZWZpbmUgUENJX0NPTkZfU1VC
U1lTX0lEX01BU0sgICAgICgweEZGRkYpCj4gQEAgLTIzNiwxNCArMjUyLDE2IEBAIHN0YXRpYyBp
bnQgcGNpX3Byb2JlKHZvaWQpCj4gICAJCQkJY29udGludWU7Cj4gICAJCQl9Cj4gICAKPiAtCQkJ
LyogVE9ETzogSW1wbGVtZW50IGZldGNoIG1vcmUgaW5mb3JtYXRpb24gZnJvbSBQQ0kgKi8KPiAt
CQkJZGV2aWQuY2xhc3NfaWQgICAgICAgICAgICA9IFBDSV9DTEFTU19BTllfSUQ7Cj4gLQkJCS8q
IFRPRE86IEltcGxlbWVudCBmZXRjaCBtb3JlIGluZm9ybWF0aW9uIGZyb20gUENJICovCj4gLQkJ
CWRldmlkLmRldmljZV9pZCAgICAgICAgICAgPSBQQ0lfQU5ZX0lEOwo+IC0JCQkvKiBUT0RPOiBJ
bXBsZW1lbnQgZmV0Y2ggbW9yZSBpbmZvcm1hdGlvbiBmcm9tIFBDSSAqLwo+IC0JCQlkZXZpZC5z
dWJzeXN0ZW1fdmVuZG9yX2lkID0gUENJX0FOWV9JRDsKPiArCQkJUENJX0NPTkZfUkVBRCh1aW50
MzJfdCwgJmRldmlkLmNsYXNzX2lkLAo+ICsJCQkJCWNvbmZpZ19hZGRyLCBDTEFTU19JRCk7Cj4g
KwkJCVBDSV9DT05GX1JFQUQodWludDE2X3QsICZkZXZpZC52ZW5kb3JfaWQsCj4gKwkJCQkJY29u
ZmlnX2FkZHIsIFZFTkRPUl9JRCk7Cj4gKwkJCVBDSV9DT05GX1JFQUQodWludDE2X3QsICZkZXZp
ZC5kZXZpY2VfaWQsCj4gKwkJCQkJY29uZmlnX2FkZHIsIERFVklDRV9JRCk7Cj4gICAJCQlQQ0lf
Q09ORl9SRUFEKHVpbnQxNl90LCAmZGV2aWQuc3Vic3lzdGVtX2RldmljZV9pZCwKPiAgIAkJCQkJ
Y29uZmlnX2FkZHIsIFNVQlNZU19JRCk7Cj4gKwkJCVBDSV9DT05GX1JFQUQodWludDE2X3QsICZk
ZXZpZC5zdWJzeXN0ZW1fdmVuZG9yX2lkLAo+ICsJCQkJCWNvbmZpZ19hZGRyLCBTVUJTWVNWRU5f
SUQpOwo+ICAgCj4gICAJCQl1a19wcl9pbmZvKCJQQ0kgJTAyeDolMDJ4LiUwMnggKCUwNHggJTA0
eDolMDR4KTogIiwKPiAgIAkJCQkgICAoaW50KSBhZGRyLmJ1cywKPiAKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 04 07:58:59 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 04 Oct 2018 07:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g7yXD-0005ah-Dx; Thu, 04 Oct 2018 07:58:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=qdnq=mq=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g7yXB-0005ac-V7
 for minios-devel@lists.xen.org; Thu, 04 Oct 2018 07:58:58 +0000
X-Inumbo-ID: 8264780e-c7ab-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8264780e-c7ab-11e8-a6a9-d7ebe60f679a;
 Thu, 04 Oct 2018 08:00:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id D2033F201A;
 Thu,  4 Oct 2018 09:58:53 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ApsGheCzmYbt; Thu,  4 Oct 2018 09:58:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 94967F200C
 for <minios-devel@lists.xen.org>; Thu,  4 Oct 2018 09:58:51 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 4 Oct
 2018 09:58:51 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1538158502-15993-1-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <dbf6c45f-fc15-b667-deb7-ae308f37ffa9@neclab.eu>
Date: Thu, 4 Oct 2018 09:58:50 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1538158502-15993-1-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/1] lib/uksglist: A
 scatter/gather list data structure
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZmluZS4gSSB3aWxsIGFkZCBhIGNvbW1lbnQgdGhhdCB0aGlzIGlzIGFib3V0IGEgbGlz
dCBvZiBjb250aWd1b3VzIApwaHlzaWNhbCBtZW1vcnkgcmVnaW9ucy4KClJldmlld2VkLWJ5OiBT
aW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KCk9uIDI4LjA5LjIwMTggMjA6
MTUsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gQSBzY2F0dGVyL2dhdGhlciBsaXN0IGlzIGEg
bGlzdCBvZiB2ZWN0b3JzLCBlYWNoIG9mIHdoaWNoIGdpdmVzIHRoZQo+IGxvY2F0aW9uIGFuZCBs
ZW5ndGggb2Ygb25lIHNlZ21lbnQgaW4gdGhlIG92ZXJhbGwgcmVhZCBvciB3cml0ZQo+IHJlcXVl
c3QuIFRoZSBzZyBsaXN0IHByb3ZpZGVzIHN1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgb3BlcmF0
aW9uczoKPiB1a19zZ2xpc3RfaW5pdAo+IHVrX3NnbGlzdF9yZXNldAo+IHVrX3NnbGlzdF9jb3Vu
dAo+IHVrX3NnbGlzdF9hbGxvYwo+IHVrX3NnbGlzdF9mcmVlCj4gdWtfc2dsaXN0X2FwcGVuZAo+
IHVrX3NnbGlzdF9hcHBlbmRfc2dsaXN0Cj4gdWtfc2dsaXN0X2J1aWxkCj4gdWtfc2dsaXN0X2Ns
b25lCj4gdWtfc2dsaXN0X2xlbmd0aAo+IHVrX3NnbGlzdF9zcGxpdAo+IHVrX3NnbGlzdF9qb2lu
Cj4gdWtfc2dsaXN0X3NsaWNlCj4gCj4gVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gZnJlZWJzZCBz
b3VyY2UgY29tbWl0LWlkOiA0NzM2Y2NmZDljMwo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBT
YW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IAo+IE5PVEU6Cj4gUGxlYXNl
IGJlIGF3YXJlIHRoYXQgdGhpcyBwYXRjaCB1c2VzIHRoZSB1cGRhdGUgdWtfcHJfKiBtYWNyb3Mu
Cj4gUGxlYXNlIG1ha2Ugc3VyZSB0aGUgcGF0Y2ggc2VyaWVzICJVcGRhdGUgbGlidWtkZWJ1ZyBw
cmludGluZyIgaXMgcmV2aWV3ZWQgYmVmb3JlIHRoaXMgcGF0Y2guCj4gLS0tCj4gICBpbmNsdWRl
L3VrL2FyY2gvdHlwZXMuaCAgICAgICAgICB8ICAgMyArCj4gICBsaWIvQ29uZmlnLnVrICAgICAg
ICAgICAgICAgICAgICB8ICAgMSArCj4gICBsaWIvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAg
ICB8ICAgMSArCj4gICBsaWIvdWtzZ2xpc3QvQ29uZmlnLnVrICAgICAgICAgICB8ICAgOCArCj4g
ICBsaWIvdWtzZ2xpc3QvTWFrZWZpbGUudWsgICAgICAgICB8ICAgNyArCj4gICBsaWIvdWtzZ2xp
c3QvZXhwb3J0c3ltcy51ayAgICAgICB8ICAxMSArCj4gICBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91
ay9zZ2xpc3QuaCB8IDI3MiArKysrKysrKysrKysrKysrKysrKwo+ICAgbGliL3Vrc2dsaXN0L3Nn
bGlzdC5jICAgICAgICAgICAgfCA1MzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCj4gICA4IGZpbGVzIGNoYW5nZWQsIDgzNiBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUg
bW9kZSAxMDA2NDQgbGliL3Vrc2dsaXN0L0NvbmZpZy51awo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0
IGxpYi91a3NnbGlzdC9NYWtlZmlsZS51awo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a3Nn
bGlzdC9leHBvcnRzeW1zLnVrCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vrc2dsaXN0L2lu
Y2x1ZGUvdWsvc2dsaXN0LmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtzZ2xpc3Qvc2ds
aXN0LmMKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL3R5cGVzLmggYi9pbmNsdWRl
L3VrL2FyY2gvdHlwZXMuaAo+IGluZGV4IDhiOTdiYWYuLmIxMDhjOGIgMTAwNjQ0Cj4gLS0tIGEv
aW5jbHVkZS91ay9hcmNoL3R5cGVzLmgKPiArKysgYi9pbmNsdWRlL3VrL2FyY2gvdHlwZXMuaAo+
IEBAIC0yMTIsMTQgKzIxMiwxNyBAQCB0eXBlZGVmIF9fc3B0ciBfX3NzejsgLyogc3NpemVfdCBl
cXVpdmFsZW50ICovCj4gICB0eXBlZGVmIF9fc3B0ciBfX29mZjsgLyogb2ZmX3QgZXF1aXZhbGVu
dCAqLwo+ICAgCj4gICAjaWYgKGRlZmluZWQgX19QSFlfQUREUl9JU18xNikKPiArdHlwZWRlZiBf
X3UxNiBfX3ZtX29mZnNldDsKPiAgIHR5cGVkZWYgX191MTYgX19waHlzX2FkZHI7Cj4gICAjZGVm
aW5lIF9fUFJJcGFkZHIgX19QUkl4MTYKPiAgICNkZWZpbmUgX19IQVZFX1BIWVNfQUREUl9fCj4g
ICAjZWxpZiAoZGVmaW5lZCBfX1BIWV9BRERSX0lTXzMyKQo+ICt0eXBlZGVmIF9fdTMyIF9fdm1f
b2Zmc2V0Owo+ICAgdHlwZWRlZiBfX3UzMiBfX3BoeXNfYWRkcjsKPiAgICNkZWZpbmUgX19QUklw
YWRkciBfX1BSSXgzMgo+ICAgI2RlZmluZSBfX0hBVkVfUEhZU19BRERSX18KPiAgICNlbGlmIChk
ZWZpbmVkIF9fUEhZX0FERFJfSVNfNjQpCj4gK3R5cGVkZWYgX191NjQgX192bV9vZmZzZXQ7Cj4g
ICB0eXBlZGVmIF9fdTY0IF9fcGh5c19hZGRyOwo+ICAgI2RlZmluZSBfX1BSSXBhZGRyIF9fUFJJ
eDY0Cj4gICAjZGVmaW5lIF9fSEFWRV9QSFlTX0FERFJfXwo+IGRpZmYgLS1naXQgYS9saWIvQ29u
ZmlnLnVrIGIvbGliL0NvbmZpZy51awo+IGluZGV4IGQwZTYxNGEuLjQ4MWQ3YWIgMTAwNjQ0Cj4g
LS0tIGEvbGliL0NvbmZpZy51awo+ICsrKyBiL2xpYi9Db25maWcudWsKPiBAQCAtMzgsMyArMzgs
NCBAQCBzb3VyY2UgImxpYi91a2xvY2svQ29uZmlnLnVrIgo+ICAgc291cmNlICJsaWIvdWttcGkv
Q29uZmlnLnVrIgo+ICAgc291cmNlICJsaWIvdWtzd3JhbmQvQ29uZmlnLnVrIgo+ICAgc291cmNl
ICJsaWIvdWtidXMvQ29uZmlnLnVrIgo+ICtzb3VyY2UgImxpYi91a3NnbGlzdC9Db25maWcudWsi
Cj4gZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZS51ayBiL2xpYi9NYWtlZmlsZS51awo+IGluZGV4
IDQwYzY1ZDAuLmM3ZGI4NDggMTAwNjQ0Cj4gLS0tIGEvbGliL01ha2VmaWxlLnVrCj4gKysrIGIv
bGliL01ha2VmaWxlLnVrCj4gQEAgLTE5LDMgKzE5LDQgQEAgJChldmFsICQoY2FsbCBfaW1wb3J0
X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdmZzY29yZSkpCj4gICAkKGV2YWwgJChjYWxsIF9p
bXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a2xvY2spKQo+ICAgJChldmFsICQoY2Fs
bCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWttcGkpKQo+ICAgJChldmFsICQo
Y2FsbCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWtidXMpKQo+ICskKGV2YWwg
JChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a3NnbGlzdCkpCj4gZGlm
ZiAtLWdpdCBhL2xpYi91a3NnbGlzdC9Db25maWcudWsgYi9saWIvdWtzZ2xpc3QvQ29uZmlnLnVr
Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5lZTk2N2U0Cj4gLS0tIC9k
ZXYvbnVsbAo+ICsrKyBiL2xpYi91a3NnbGlzdC9Db25maWcudWsKPiBAQCAtMCwwICsxLDggQEAK
PiArbWVudWNvbmZpZyBMSUJVS1NHTElTVAo+ICsgICAgYm9vbCAidWtzZ2xpc3Q6IFNjYXR0ZXIg
R2F0aGVyIExpc3QiCj4gKwlkZWZhdWx0IG4KPiArCXNlbGVjdCBMSUJVS0RFQlVHCj4gKwloZWxw
Cj4gKwkJQSBzY2F0dGVyL2dhdGhlciBsaXN0IGlzIGEgbGlzdCBvZiB2ZWN0b3JzLCBlYWNoIG9m
IHdoaWNoIGdpdmVzIHRoZQo+ICsJCQkgbG9jYXRpb24gYW5kIGxlbmd0aCBvZiBvbmUgc2VnbWVu
dCBpbiB0aGUgb3ZlcmFsbAo+ICsJCQkgcmVhZCBvciB3cml0ZSByZXF1ZXN0Lgo+IGRpZmYgLS1n
aXQgYS9saWIvdWtzZ2xpc3QvTWFrZWZpbGUudWsgYi9saWIvdWtzZ2xpc3QvTWFrZWZpbGUudWsK
PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjNkN2MyMWIKPiAtLS0gL2Rl
di9udWxsCj4gKysrIGIvbGliL3Vrc2dsaXN0L01ha2VmaWxlLnVrCj4gQEAgLTAsMCArMSw3IEBA
Cj4gKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlidWtzZ2xpc3QsJChDT05GSUdfTElCVUtTR0xJ
U1QpKSkKPiArCj4gK0NJTkNMVURFUy0kKENPTkZJR19MSUJVS1NHTElTVCkgKz0gLUkkKExJQlVL
U0dMSVNUX0JBU0UpL2luY2x1ZGUKPiArQ1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtTR0xJU1Qp
ICs9IC1JJChMSUJVS1NHTElTVF9CQVNFKS9pbmNsdWRlCj4gKwo+ICtMSUJVS1NHTElTVF9TUkNT
LXkgKz0gJChMSUJVS1NHTElTVF9CQVNFKS9zZ2xpc3QuYwo+ICsKPiBkaWZmIC0tZ2l0IGEvbGli
L3Vrc2dsaXN0L2V4cG9ydHN5bXMudWsgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IG5l
dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uYTFlOWIzNwo+IC0tLSAvZGV2L251
bGwKPiArKysgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IEBAIC0wLDAgKzEsMTEgQEAK
PiArdWtfc2dsaXN0X2NvdW50Cj4gK3VrX3NnbGlzdF9hbGxvYwo+ICt1a19zZ2xpc3RfZnJlZQo+
ICt1a19zZ2xpc3RfYXBwZW5kCj4gK3VrX3NnbGlzdF9hcHBlbmRfc2dsaXN0Cj4gK3VrX3NnbGlz
dF9idWlsZAo+ICt1a19zZ2xpc3RfY2xvbmUKPiArdWtfc2dsaXN0X2xlbmd0aAo+ICt1a19zZ2xp
c3Rfc3BsaXQKPiArdWtfc2dsaXN0X2pvaW4KPiArdWtfc2dsaXN0X3NsaWNlCj4gZGlmZiAtLWdp
dCBhL2xpYi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oIGIvbGliL3Vrc2dsaXN0L2luY2x1
ZGUvdWsvc2dsaXN0LmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmE4
OWIxMGQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliL3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2ds
aXN0LmgKPiBAQCAtMCwwICsxLDI3MiBAQAo+ICsvKi0KPiArICogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEJTRC0zLUNsYXVzZQo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMDggWWFob28h
LCBJbmMuCj4gKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqIFdyaXR0ZW4gYnk6IEpvaG4g
QmFsZHdpbiA8amhiQEZyZWVCU0Qub3JnPgo+ICsgKgkJCSAgIFNoYXJhbiBTYW50aGFuYW0gPHNo
YXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsg
KiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBhdXRob3Igbm9yIHRoZSBuYW1lcyBvZiBhbnkg
Y28tY29udHJpYnV0b3JzCj4gKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQo+ICsgKiAgICB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQVVUSE9SIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFO
RAo+ICsgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUKPiArICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKPiArICogREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKPiAr
ICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pCj4gKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCj4gKyAqIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkKPiArICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgo+ICsgKiBTVUNIIERBTUFHRS4KPiArICoKPiArICog
JEZyZWVCU0QkCj4gKyAqLwo+ICsvKioKPiArICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gRnJl
ZUJTRAo+ICsgKiBDb21taXQgaWQ6IDQ3MzZjY2ZkOWMzNAo+ICsgKi8KPiArCj4gKyNpZm5kZWYg
VUtfX1NHTElTVF9IX18KPiArI2RlZmluZSBVS19fU0dMSVNUX0hfXwo+ICsKPiArI2lmZGVmIF9f
Y3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KPiAr
Cj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAr
I2luY2x1ZGUgPHVrL3JlZmNvdW50Lmg+Cj4gKyNpZmRlZiBDT05GSUdfTElCVUtBTExPQwo+ICsj
aW5jbHVkZSA8dWsvYWxsb2MuaD4KPiArI2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICovCj4g
Kwo+ICtzdHJ1Y3QgdWtfc2dsaXN0X3NlZyB7Cj4gKwlfX3BoeXNfYWRkciAgc3NfcGFkZHI7IC8q
IFBoeXNpY2FsIGFkZHJlc3MgKi8KPiArCXNpemVfdCAgICAgIHNzX2xlbjsgICAvKiBMZW5ndGgg
b2YgdGhlIGJ1ZmZlciAqLwo+ICt9Owo+ICsKPiArc3RydWN0IHVrX3NnbGlzdCB7Cj4gKwlzdHJ1
Y3QgdWtfc2dsaXN0X3NlZyAqc2dfc2VnczsgLyogU2VnbWVudCBtYW5hZ2VtZW50ICovCj4gKwlf
X2F0b21pYyAgICBzZ19yZWZzOyAvKiBSZWZlcmVuY2UgY291bnQgZm9yIHRoZSBzZyBsaXN0ICov
Cj4gKwl1aW50MTZfdCAgICBzZ19uc2VnOyAvKiBOdW1iZXIgb2Ygc2VnbWVudCBpbiB0aGUgc2cg
bGlzdCAqLwo+ICsJdWludDE2X3QgICAgc2dfbWF4c2VnOyAvKiBNYXhpbXVtIG51bWJlciBvZiBz
ZWdtZW50IGluIHRoZSBzZyBsaXN0ICovCj4gK307Cj4gKwo+ICsvKioKPiArICogSW5pdGlhbGl6
ZSB0aGUgc2cgbGlzdC4KPiArICogQHBhcmFtIHNnCj4gKyAqCUEgcmVmZXJlbmNlIHRvIHNnIGxp
c3QuCj4gKyAqIEBwYXJhbSBtYXhzZWdzCj4gKyAqCVRoZSBtYXggbnIgb2Ygc2VnbWVudHMuCj4g
KyAqIEBwYXJhbSBzZWdzCj4gKyAqCUFuIGFycmF5IG9mIHNlZ21lbnRzLgo+ICsgKi8KPiArc3Rh
dGljIGlubGluZSB2b2lkIHVrX3NnbGlzdF9pbml0KHN0cnVjdCB1a19zZ2xpc3QgKnNnLAo+ICsJ
CQkJdWludDE2X3QgbWF4c2Vncywgc3RydWN0IHVrX3NnbGlzdF9zZWcgKnNlZ3MpCj4gK3sKPiAr
CXNnLT5zZ19zZWdzID0gc2VnczsKPiArCXNnLT5zZ19uc2VnID0gMDsKPiArCXNnLT5zZ19tYXhz
ZWcgPSBtYXhzZWdzOwo+ICsJdWtfcmVmY291bnRfaW5pdCgmc2ctPnNnX3JlZnMsIDEpOwo+ICt9
Cj4gKwo+ICsvKioKPiArICogUmVzZXQgdGhlIHNnIGxpc3QuCj4gKyAqIEBwYXJhbSBzZwo+ICsg
KglBIHJlZmVyZW5jZSB0byB0aGUgc2cgbGlzdC4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgdm9p
ZCB1a19zZ2xpc3RfcmVzZXQoc3RydWN0IHVrX3NnbGlzdCAqc2cpCj4gK3sKPiArCXNnLT5zZ19u
c2VnID0gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIERldGVybWluZSB0aGUgbnVtYmVyIG9mIHNj
YXR0ZXIvZ2F0aGVyIGxpc3QgZWxlbWVudHMgbmVlZGVkIHRvIGRlc2NyaWJlIGEKPiArICoga2Vy
bmVsIHZpcnR1YWwgYWRkcmVzcyByYW5nZS4KPiArICogQHBhcmFtIGJ1Zgo+ICsgKglUaGUgdmly
dHVhbCBhZGRyZXNzIG9mIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0Lgo+ICsgKiBAcGFyYW0gbGVu
Cj4gKyAqCVRoZSBzaXplIG9mIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0Lgo+ICsgKgo+ICsgKiBA
cmV0dXJuCj4gKyAqICAgICAgLSAwOiBUaGUgbGVuZ3RoIHdhcyB6ZXJvLgo+ICsgKiAgICAgIC0g
aW50OiBUaGUgbnVtYmVyIG9mIHNlZ21lbnRzCj4gKyAqLwo+ICtpbnQgdWtfc2dsaXN0X2NvdW50
KHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbik7Cj4gKwo+ICsvKioKPiArICogQXBwZW5kIHRoZSBzZWdt
ZW50cyB0byBkZXNjcmliZSBhIHNpbmdsZSBrZXJuZWwgdmlydHVhbCBhZGRyZXNzIHJhbmdlIHRv
IGEKPiArICogc2NhdHRlciBnYXRoZXIgbGlzdC4KPiArICoKPiArICogQHBhcmFtIHNnCj4gKyAq
CUEgcmVmZXJlbmNlIHRvIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0Lgo+ICsgKiBAcGFyYW0gYnVm
Cj4gKyAqCUEgcmVmZXJlbmNlIHRvIGRhdGEgYnVmZmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2Nh
dHRlciBnYXRoZXIgbGlzdC4KPiArICogQHJldHVybgo+ICsgKgktIEVJTlZBTDogSW52YWxpZCBz
ZyBsaXN0Lgo+ICsgKgktIEVGQklHIDogSW5zdWZmaWNpZW50IHNlZ21lbnRzLgo+ICsgKgktIDA6
ICAgICAgQnVmZmVyIHdhcyBhcHBlbmRlZCB0byB0aGUgbGlzdC4KPiArICovCj4gK2ludCB1a19z
Z2xpc3RfYXBwZW5kKHN0cnVjdCB1a19zZ2xpc3QgKnNnLCB2b2lkICpidWYsIHNpemVfdCBsZW4p
Owo+ICsKPiArLyoqCj4gKyAqIEFwcGVuZCB0aGUgc3Vic2V0IG9mIHRoZSBzZyBsaXN0ICdzb3Vy
Y2UnIHRvIHNnIGxpc3QgJ3NnJy4KPiArICoKPiArICogQHBhcmFtIHNnCj4gKyAqCUEgcmVmZXJl
bmNlIHRvIHRoZSB1cGRhdGUgc2cgbGlzdC4KPiArICogQHBhcmFtIHNvdXJjZQo+ICsgKglBIHJl
ZmVyZW5jZSB0byB0aGUgc291cmNlIHNnIGxpc3QuCj4gKyAqIEBwYXJhbSBvZmZzZXQKPiArICoJ
VGhlIG9mZnNldCBpbiB0aGUgc291cmNlIGZyb20gd2hpY2ggdGggc2VnbWVudCBoYXZlIHRvIGJl
IGNvcGllZC4KPiArICogQHBhcmFtIGxlbmd0aAo+ICsgKglUaGUgbGVuZ3RoIHRvIGJlIGNvcGll
ZC4KPiArICogQHJldHVybgo+ICsgKglFSU5WQUw6IEludmFsaWQgc2cgbGlzdCBvciBsZW5ndGgg
cGFyYW1ldGVyLgo+ICsgKglFRkJJRzogSW5zdWZmaWNpZW50IHNlZ21lbnRzLgo+ICsgKgkwIDog
U3VjY2Vzc2Z1bCBpbiBhcHBlbmRpbmcgc3Vic2V0IG9mIHRoZSBsaXN0Lgo+ICsgKi8KPiAraW50
IHVrX3NnbGlzdF9hcHBlbmRfc2dsaXN0KHN0cnVjdCB1a19zZ2xpc3QgKnNnLAo+ICsJCQkJY29u
c3Qgc3RydWN0IHVrX3NnbGlzdCAqc291cmNlLAo+ICsJCQkJc2l6ZV90IG9mZnNldCwgc2l6ZV90
IGxlbmd0aCk7Cj4gKwo+ICsvKioKPiArICogQ2FsY3VsYXRlIHRoZSB0b3RhbCBsZW5ndGggb2Yg
dGhlIHNlZ21lbnRzIGRlc2NyaWJlZCBpbiBhIHNnIGxpc3QuCj4gKyAqIEBwYXJhbSBzZwo+ICsg
KglBIHJlZmVyZW5jZSB0byB0aGUgc2cgbGlzdC4KPiArICogQHJldHVybgo+ICsgKglzaXplX3Qg
OiBUaGUgdG90YWwgbGVuZ3RoIGluIHRoZSBzZWdtZW50cy4KPiArICovCj4gK3NpemVfdCB1a19z
Z2xpc3RfbGVuZ3RoKHN0cnVjdCB1a19zZ2xpc3QgKnNnKTsKPiArCj4gKy8qKgo+ICsgKiBBcHBl
bmQgdGhlIHNjYXR0ZXIvZ2F0aGVyIGxpc3QgZWxlbWVudHMgaW4gJ3NlY29uZCcgdG8gdGhlCj4g
KyAqIHNjYXR0ZXIvZ2F0aGVyIGxpc3QgJ2ZpcnN0Jy4KPiArICogQHBhcmFtIGZpcnN0Cj4gKyAq
CVRoZSBmaXJzdCBzZyBsaXN0Cj4gKyAqIEBwYXJhbSBzZWNvbmQKPiArICoJVGhlIHNlY29uZCBz
ZyBsaXN0Lgo+ICsgKiBAcmV0dXJuCj4gKyAqCUVGQklHOiBJbnN1ZmZpY2llbnQgc3BhY2UuCj4g
KyAqCTAgOiBTdWNjZXNzZnVsIGpvaW5pbmcgb2YgdGhlIGxpc3QuCj4gKyAqLwo+ICtpbnQgdWtf
c2dsaXN0X2pvaW4oc3RydWN0IHVrX3NnbGlzdCAqZmlyc3QsIHN0cnVjdCB1a19zZ2xpc3QgKnNl
Y29uZCk7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0xJQlVLQUxMT0MKPiArLyoqCj4gKyAqIEFsbG9j
YXRlIGEgc2NhdHRlci9nYXRoZXIgbGlzdCBhbG9uZyB3aXRoICduc2Vncycgc2VnbWVudHMuCj4g
KyAqCj4gKyAqIEBwYXJhbSBhCj4gKyAqCVRoZSBhbGxvY2F0b3IgdG8gYWxsb2NhdGUgbWVtb3J5
IGZvciB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdC4KPiArICogQHBhcmFtIG5zZWdzCj4gKyAqCVRo
ZSBtYXggbnVtYmVyIG9mIHNlZ21lbnRzLgo+ICsgKiBAcmV0dXJuCj4gKyAqCS0gTlVMTDogIEFs
bG9jYXRpb24gZmFpbGVkLgo+ICsgKgktIChzdHJ1Y3QgdWtfc2dsaXN0ICopOiByZWZlcmVuY2Ug
dG8gc2NhdHRlci9nYXRoZXIgbGlzdC4KPiArICovCj4gK3N0cnVjdCB1a19zZ2xpc3QgKnVrX3Nn
bGlzdF9hbGxvYyhzdHJ1Y3QgdWtfYWxsb2MgKmEsIGludCBuc2Vncyk7Cj4gKwo+ICsvKioKPiAr
ICogRnJlZSB0aGUgc2NhdHRlci9nYXRoZXIgbGlzdC4KPiArICogQHBhcmFtIHNnCj4gKyAqCUEg
cmVmZXJlbmNlIHRvIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0Lgo+ICsgKiBAcGFyYW0gYQo+ICsg
KglUaGUgYWxsb2NhdG9yIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHNjYXR0ZXIgZ2F0aGVy
IGxpc3QuCj4gKyAqLwo+ICt2b2lkIHVrX3NnbGlzdF9mcmVlKHN0cnVjdCB1a19zZ2xpc3QgKnNn
LCBzdHJ1Y3QgdWtfYWxsb2MgKmEpOwo+ICsKPiArLyoqCj4gKyAqIEFsbG9jYXRlIGFuZCBwb3B1
bGF0ZSBhIHNjYXR0ZXIvZ2F0aGVyIGxpc3QgdG8gZGVzY3JpYmUgYSBzaW5nbGUga2VybmVsCj4g
KyAqIHZpcnR1YWwgYWRkcmVzcyByYW5nZS4KPiArICogQHBhcmFtIGEKPiArICoJVGhlIGFsbG9j
YXRvciB0byB1c2VkIGFsbG9jYXRlIHRoZSBzZyBsaXN0Lgo+ICsgKiBAcGFyYW0gYnVmCj4gKyAq
CVRoZSB2aXJ0dWFsIGFkZHJlc3Mgb2YgdGhlIGJ1ZmZlci4KPiArICogQHBhcmFtIGxlbgo+ICsg
KglUaGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIuCj4gKyAqIEByZXR1cm4KPiArICoJLSBOVUxMOiBG
YWlsZWQgdG8gY3JlYXRlIHRoZSBzZyBsaXN0Lgo+ICsgKgktIChzdHJ1Y3QgdWtfc2dsaXN0ICop
IHJlZmVyZW5jZSB0byBzY2F0dGVyL2dhdGhlciBsaXN0Lgo+ICsgKi8KPiArc3RydWN0IHVrX3Nn
bGlzdCAqdWtfc2dsaXN0X2J1aWxkKHN0cnVjdCB1a19hbGxvYyAqYSwgdm9pZCAqYnVmLAo+ICsJ
CQkJCXNpemVfdCBsZW4pOwo+ICsKPiArLyoqCj4gKyAqIENsb25lIGEgbmV3IGNvcHkgb2YgYSBz
Y2F0dGVyL2dhdGhlciBsaXN0Lgo+ICsgKiBAcGFyYW0gc2cKPiArICoJQSByZWZlcmVuY2UgdG8g
dGhlIHNnIGxpc3QgdG8gYmUgY2xvbmVkLgo+ICsgKiBAcGFyYW0gYQo+ICsgKglUaGUgYWxsb2Nh
dG9yIHRvIHVzZSB0byBhbGxvY2F0ZSB0aGUgc2cgbGlzdC4KPiArICogQHJldHVybgo+ICsgKglO
VUxMOiBGYWlsZWQgdG8gY2xvbmUgdGhlIGxpc3QuCj4gKyAqCShzdHJ1Y3QgdWtfc2dsaXN0ICop
OiByZWZlcmVuY2UgdG8gdGhlIHNnIGxpc3QuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfc2dsaXN0ICp1
a19zZ2xpc3RfY2xvbmUoc3RydWN0IHVrX3NnbGlzdCAqc2csCj4gKwkJCQlzdHJ1Y3QgdWtfYWxs
b2MgKmEpOwo+ICsKPiArLyoqCj4gKyAqIFNwbGl0IGEgc2NhdHRlci9nYXRoZXIgbGlzdCBpbnRv
IHR3byBsaXN0cy4gIFRoZSBzY2F0dGVyL2dhdGhlcgo+ICsgKiBlbnRyaWVzIGZvciB0aGUgZmly
c3QgJ2xlbmd0aCcgYnl0ZXMgb2YgdGhlICdvcmlnaW5hbCcgbGlzdCBhcmUKPiArICogc3RvcmVk
IGluIHRoZSAnKmhlYWQnIGxpc3QgYW5kIGFyZSByZW1vdmVkIGZyb20gJ29yaWdpbmFsJy4KPiAr
ICoKPiArICogQHBhcmFtIG9yaWdpbmFsCj4gKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSBzZyBsaXN0
Lgo+ICsgKiBAcGFyYW0gaGVhZAo+ICsgKglBIHJlZmVyZW5jZSB0byB0aGUgaGVhZCBvZiB0aGUg
c2cgbGlzdC4gSWYgTlVMTCBhIG5ldyBsaXN0IHdpbGwgYmUKPiArICoJYWxsb2NhdGVkLiAgSWYg
JypoZWFkJyBpcyBub3QgTlVMTCwgaXQgc2hvdWxkIHBvaW50IHRvIGFuIGVtcHR5IHNnbGlzdC4K
PiArICogQHBhcmFtIGEKPiArICoJQSByZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvciBmb3IgbWFp
bnRhaW5pbmcgdGhlIGxpc3QuCj4gKyAqIEBwYXJhbSBsZW5ndGgKPiArICoJVGhlIGxlbmd0aCBv
ZiB0aGUgbGlzdC4KPiArICoKPiArICogQHJldHVybgo+ICsgKglFSU5WQUw6IEludmFsaWQgIHNn
IGxpc3QuCj4gKyAqCUVOT01FTTogQWxsb2NhdGlvbiBmYWlscy4KPiArICoJRUZCSUc6IEluc3Vm
ZmljaWVudCBzcGFjZS4KPiArICoJMDogU3VjY2Vzc2Z1bCBzcGxpdCBvZiB0aGUgbGlzdC4KPiAr
ICovCj4gK2ludCB1a19zZ2xpc3Rfc3BsaXQoc3RydWN0IHVrX3NnbGlzdCAqb3JpZ2luYWwsIHN0
cnVjdCB1a19zZ2xpc3QgKipoZWFkLAo+ICsJCQkJc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3Qg
bGVuZ3RoKTsKPiArCj4gKy8qKgo+ICsgKiBHZW5lcmF0ZSBhIG5ldyBzY2F0dGVyL2dhdGhlciBs
aXN0IGZyb20gYSByYW5nZSBvZiBhbiBleGlzdGluZwo+ICsgKiBzY2F0dGVyL2dhdGhlciBsaXN0
LiAgVGhlICdvZmZzZXQnIGFuZCAnbGVuZ3RoJyBwYXJhbWV0ZXJzIHNwZWNpZnkKPiArICogdGhl
IGxvZ2ljYWwgcmFuZ2Ugb2YgdGhlICdvcmlnaW5hbCcgbGlzdCB0byBleHRyYWN0Lgo+ICsgKgo+
ICsgKiBAcGFyYW0gb3JpZ2luYWwKPiArICoJVGhlIHJlZmVyZW5jZSB0byBhIHNnIGxpc3QgdG8g
YmUgZXh0cmFjdGVkLgo+ICsgKiBAcGFyYW0gc2xpY2UKPiArICoJSWYgJypzbGljZScgaXMgTlVM
TCwgdGhlbiBhIG5ldyBsaXN0IHdpbGwgYmUgYWxsb2NhdGVkLgo+ICsgKglJZiAnKnNsaWNlJyBp
cyBub3QgTlVMTCwgaXQgc2hvdWxkIHBvaW50IHRvIGFuIGVtcHR5IHNnbGlzdC4gIElmIGl0Cj4g
KyAqCWRvZXMgbm90IGhhdmUgZW5vdWdoIHJvb20gZm9yIHRoZSByZW1haW5pbmcgc3BhY2UKPiAr
ICogQHBhcmFtIGEKPiArICoJVGhlIGFsbG9jYXRvciB0byBiZSB1c2VkLgo+ICsgKiBAcGFyYW0g
b2Zmc2V0Cj4gKyAqCVRoZSBvZmZzZXQgZnJvbSB3aGljaCB0aGUgc2dsaXN0IGhhZCB0byBiZSBz
cGxpY2VkLgo+ICsgKiBAcGFyYW0gbGVuZ3RoCj4gKyAqCVRoZSBsZW5ndGggb2YgYnVmZmVyIGlu
IHRoZSBvcmlnaW5hbCBsaXN0Lgo+ICsgKiBAcmV0dXJuCj4gKyAqCUVJTlZBTDogSW52YWxpZCBz
ZyBsaXN0Lgo+ICsgKglFTk9NRU06IE5vIG1lbW9yeQo+ICsgKglFRkJJRzogSW5zdWZmaWNpZW50
IHNwYWNlCj4gKyAqCTA6IFN1Y2Nlc3NmdWwgaW4gc3BsaWNpbmcgdGhlIGxpc3QuCj4gKyAqLwo+
ICtpbnQgdWtfc2dsaXN0X3NsaWNlKHN0cnVjdCB1a19zZ2xpc3QgKm9yaWdpbmFsLCBzdHJ1Y3Qg
dWtfc2dsaXN0ICoqc2xpY2UsCj4gKwkJCXN0cnVjdCB1a19hbGxvYyAqYSwgc2l6ZV90IG9mZnNl
dCwgc2l6ZV90IGxlbmd0aCk7Cj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICsK
PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCj4g
Kwo+ICsjZW5kaWYgLyogVUtfX1NHTElTVF9IX18gKi8KPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc2ds
aXN0L3NnbGlzdC5jIGIvbGliL3Vrc2dsaXN0L3NnbGlzdC5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi4wZWMyMTA1Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi91
a3NnbGlzdC9zZ2xpc3QuYwo+IEBAIC0wLDAgKzEsNTMzIEBACj4gKy8qLQo+ICsgKiBTUERYLUxp
Y2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCj4gKyAqCj4gKyAqIENvcHlyaWdodCAoYykg
MjAwOCBZYWhvbyEsIEluYy4KPiArICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICogV3JpdHRl
biBieTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJTRC5vcmc+Cj4gKyAqCSAgICAgICBTaGFyYW4g
U2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiArICoKPiArICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgYXV0aG9yIG5vciB0aGUg
bmFtZXMgb2YgYW55IGNvLWNvbnRyaWJ1dG9ycwo+ICsgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKPiArICog
ICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJyBBTkQKPiArICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
Cj4gKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFCj4gKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCj4gKyAqIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTCj4gKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQo+ICsgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAo+ICsg
KiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZCj4gKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKPiArICogU1VDSCBEQU1BR0Uu
Cj4gKyAqLwo+ICsvKioKPiArICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gRnJlZUJTRAo+ICsg
KiBDb21taXQgaWQ6IDQ3MzZjY2ZkOWMzNAo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxlcnJuby5o
Pgo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDx1ay9wbGF0L2lvLmg+Cj4gKyNp
bmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL2xpbWl0cy5oPgo+
ICsjaW5jbHVkZSA8dWsvcmVmY291bnQuaD4KPiArI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+ICsj
aWZkZWYgQ09ORklHX0xJQlVLQUxMT0MKPiArI2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gKyNlbmRp
ZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICsjaW5jbHVkZSA8dWsvc2dsaXN0Lmg+Cj4gKwo+
ICsvKgo+ICsgKiBDb252ZW5pZW5jZSBtYWNyb3MgdG8gc2F2ZSB0aGUgc3RhdGUgb2YgYW4gc2ds
aXN0IHNvIGl0IGNhbiBiZSByZXN0b3JlZAo+ICsgKiBpZiBhbiBhcHBlbmQgYXR0ZW1wdCBmYWls
cy4gIFNpbmNlIHNnbGlzdCdzIG9ubHkgZ3JvdyB3ZSBvbmx5IG5lZWQgdG8KPiArICogc2F2ZSB0
aGUgY3VycmVudCBjb3VudCBvZiBzZWdtZW50cyBhbmQgdGhlIGxlbmd0aCBvZiB0aGUgZW5kaW5n
IHNlZ21lbnQuCj4gKyAqIEVhcmxpZXIgc2VnbWVudHMgd2lsbCBub3QgYmUgY2hhbmdlZCBieSBh
biBhcHBlbmQsIGFuZCB0aGUgb25seSBjaGFuZ2UKPiArICogdGhhdCBjYW4gb2NjdXIgdG8gdGhl
IGVuZGluZyBzZWdtZW50IGlzIHRoYXQgaXQgY2FuIGJlIGV4dGVuZGVkLgo+ICsgKi8KPiArc3Ry
dWN0IHNnc2F2ZSB7Cj4gKwlfX3UxNiBzZ19uc2VnOwo+ICsJc2l6ZV90IHNzX2xlbjsKPiArfTsK
PiArCj4gKyNkZWZpbmUgcGFnZV9vZmYoeCkgICAgKCh1bnNpZ25lZCBsb25nKSh4KSAmIChfX1BB
R0VfU0laRSAtIDEpKQo+ICsjZGVmaW5lIHRydW5jX3BhZ2UoeCkgICAgKCh1bnNpZ25lZCBsb25n
KSh4KSAmIChfX1BBR0VfTUFTSykpCj4gKwo+ICsjZGVmaW5lCVNHTElTVF9TQVZFKHNnLCBzZ3Nh
dmUpIGRvIHsJCQkJCVwKPiArCShzZ3NhdmUpLnNnX25zZWcgPSAoc2cpLT5zZ19uc2VnOwkJCQlc
Cj4gKwlpZiAoKHNnc2F2ZSkuc2dfbnNlZyA+IDApCQkJCQlcCj4gKwkJKHNnc2F2ZSkuc3NfbGVu
ID0gKHNnKS0+c2dfc2Vnc1soc2dzYXZlKS5zZ19uc2VnIC0gMV0uc3NfbGVuOyBcCj4gKwllbHNl
CQkJCQkJCQlcCj4gKwkJKHNnc2F2ZSkuc3NfbGVuID0gMDsJCQkJCVwKPiArfSB3aGlsZSAoMCkK
PiArCj4gKyNkZWZpbmUJU0dMSVNUX1JFU1RPUkUoc2csIHNnc2F2ZSkgZG8gewkJCQkJXAo+ICsJ
KHNnKS0+c2dfbnNlZyA9IChzZ3NhdmUpLnNnX25zZWc7CQkJCVwKPiArCWlmICgoc2dzYXZlKS5z
Z19uc2VnID4gMCkJCQkJCVwKPiArCQkoc2cpLT5zZ19zZWdzWyhzZ3NhdmUpLnNnX25zZWcgLSAx
XS5zc19sZW4gPSAoc2dzYXZlKS5zc19sZW47IFwKPiArfSB3aGlsZSAoMCkKPiArCj4gK3N0YXRp
YyBpbmxpbmUgaW50IF9zZ2xpc3RfYXBwZW5kX3JhbmdlKHN0cnVjdCB1a19zZ2xpc3QgKnNnLAo+
ICsJCQlzdHJ1Y3QgdWtfc2dsaXN0X3NlZyAqKnNzcCwgX19waHlzX2FkZHIgcGFkZHIsCj4gKwkJ
CXNpemVfdCBsZW4pOwo+ICtzdGF0aWMgaW5saW5lIGludCBfc2dsaXN0X2FwcGVuZF9idWYoc3Ry
dWN0IHVrX3NnbGlzdCAqc2csIHZvaWQgKmJ1ZiwKPiArCQkJCXNpemVfdCBsZW4sIHNpemVfdCAq
ZG9uZXApOwo+ICsvKioKPiArICogQXBwZW5kIGEgc2luZ2xlIChwYWRkciwgbGVuKSB0byBhIHNn
bGlzdC4gIHNnIGlzIHRoZSBsaXN0IGFuZCBzcyBpcwo+ICsgKiB0aGUgY3VycmVudCBzZWdtZW50
IGluIHRoZSBsaXN0LiAgSWYgd2UgcnVuIG91dCBvZiBzZWdtZW50cyB0aGVuCj4gKyAqIEVGQklH
IHdpbGwgYmUgcmV0dXJuZWQuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIGludCBfc2dsaXN0X2Fw
cGVuZF9yYW5nZShzdHJ1Y3QgdWtfc2dsaXN0ICpzZywKPiArCQkJc3RydWN0IHVrX3NnbGlzdF9z
ZWcgKipzc3AsIF9fcGh5c19hZGRyIHBhZGRyLAo+ICsJCQlzaXplX3QgbGVuKQo+ICt7Cj4gKwlz
dHJ1Y3QgdWtfc2dsaXN0X3NlZyAqc3M7Cj4gKwo+ICsJc3MgPSAqc3NwOwo+ICsJaWYgKHNzLT5z
c19wYWRkciArIHNzLT5zc19sZW4gPT0gcGFkZHIpCj4gKwkJc3MtPnNzX2xlbiArPSBsZW47Cj4g
KwllbHNlIHsKPiArCQlpZiAoc2ctPnNnX25zZWcgPT0gc2ctPnNnX21heHNlZykKPiArCQkJcmV0
dXJuIC1FRkJJRzsKPiArCQlzcysrOwo+ICsJCXNzLT5zc19wYWRkciA9IHBhZGRyOwo+ICsJCXNz
LT5zc19sZW4gPSBsZW47Cj4gKwkJc2ctPnNnX25zZWcrKzsKPiArCQkqc3NwID0gc3M7Cj4gKwl9
Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArLyoqCj4gKyAqIFdvcmtlciByb3V0aW5lIHRvIGFw
cGVuZCBhIHZpcnR1YWwgYWRkcmVzcyByYW5nZSAoZWl0aGVyIGtlcm5lbCBvcgo+ICsgKiB1c2Vy
KSB0byBhIHNjYXR0ZXIvZ2F0aGVyIGxpc3QuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIGludCBf
c2dsaXN0X2FwcGVuZF9idWYoc3RydWN0IHVrX3NnbGlzdCAqc2csIHZvaWQgKmJ1ZiwKPiArCQkJ
CXNpemVfdCBsZW4sIHNpemVfdCAqZG9uZXApCj4gK3sKPiArCXN0cnVjdCB1a19zZ2xpc3Rfc2Vn
ICpzczsKPiArCV9fdm1fb2Zmc2V0IHZhZGRyLCBvZmZzZXQ7Cj4gKwlfX3BoeXNfYWRkciBwYWRk
cjsKPiArCXNpemVfdCBzZWdsZW47Cj4gKwlpbnQgZXJyb3I7Cj4gKwo+ICsJaWYgKGRvbmVwKQo+
ICsJCSpkb25lcCA9IDA7Cj4gKwlpZiAobGVuID09IDApCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJ
LyogRG8gdGhlIGZpcnN0IHBhZ2UuICBJdCBtYXkgaGF2ZSBhbiBvZmZzZXQuICovCj4gKwl2YWRk
ciA9IChfX3ZtX29mZnNldClidWY7Cj4gKwlvZmZzZXQgPSBwYWdlX29mZih2YWRkcik7Cj4gKwlw
YWRkciA9IHVrcGxhdF92aXJ0X3RvX3BoeXMoKHZvaWQgKil2YWRkcik7Cj4gKwlzZWdsZW4gPSBN
SU4obGVuLCBfX1BBR0VfU0laRSAtIG9mZnNldCk7Cj4gKwlpZiAoc2ctPnNnX25zZWcgPT0gMCkg
ewo+ICsJCXNzID0gc2ctPnNnX3NlZ3M7Cj4gKwkJc3MtPnNzX3BhZGRyID0gcGFkZHI7Cj4gKwkJ
c3MtPnNzX2xlbiA9IHNlZ2xlbjsKPiArCQlzZy0+c2dfbnNlZyA9IDE7Cj4gKwl9IGVsc2Ugewo+
ICsJCXNzID0gJnNnLT5zZ19zZWdzW3NnLT5zZ19uc2VnIC0gMV07Cj4gKwkJZXJyb3IgPSBfc2ds
aXN0X2FwcGVuZF9yYW5nZShzZywgJnNzLCBwYWRkciwgc2VnbGVuKTsKPiArCQlpZiAoZXJyb3Ip
Cj4gKwkJCXJldHVybiBlcnJvcjsKPiArCX0KPiArCXZhZGRyICs9IHNlZ2xlbjsKPiArCWxlbiAt
PSBzZWdsZW47Cj4gKwlpZiAoZG9uZXApCj4gKwkJKmRvbmVwICs9IHNlZ2xlbjsKPiArCj4gKwl3
aGlsZSAobGVuID4gMCkgewo+ICsJCXNlZ2xlbiA9IE1JTihsZW4sIF9fUEFHRV9TSVpFKTsKPiAr
CQlwYWRkciA9IHVrcGxhdF92aXJ0X3RvX3BoeXMoKHZvaWQgKil2YWRkcik7Cj4gKwkJZXJyb3Ig
PSBfc2dsaXN0X2FwcGVuZF9yYW5nZShzZywgJnNzLCBwYWRkciwgc2VnbGVuKTsKPiArCQlpZiAo
ZXJyb3IpCj4gKwkJCXJldHVybiBlcnJvcjsKPiArCQl2YWRkciArPSBzZWdsZW47Cj4gKwkJbGVu
IC09IHNlZ2xlbjsKPiArCQlpZiAoZG9uZXApCj4gKwkJCSpkb25lcCArPSBzZWdsZW47Cj4gKwl9
Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK2ludCB1a19zZ2xpc3RfY291bnQodm9pZCAq
YnVmLCBzaXplX3QgbGVuKQo+ICt7Cj4gKwlfX3ZtX29mZnNldCB2YWRkciwgdmVuZGFkZHI7Cj4g
KwlfX3BoeXNfYWRkciBsYXN0YWRkciwgcGFkZHI7Cj4gKwlpbnQgbnNlZ3M7Cj4gKwo+ICsJaWYg
KGxlbiA9PSAwKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXZhZGRyID0gdHJ1bmNfcGFnZSgoX192
bV9vZmZzZXQpYnVmKTsKPiArCXZlbmRhZGRyID0gKF9fdm1fb2Zmc2V0KWJ1ZiArIGxlbjsKPiAr
CW5zZWdzID0gMTsKPiArCWxhc3RhZGRyID0gdWtwbGF0X3ZpcnRfdG9fcGh5cygodm9pZCAqKXZh
ZGRyKTsKPiArCXZhZGRyICs9IF9fUEFHRV9TSVpFOwo+ICsJd2hpbGUgKHZhZGRyIDwgdmVuZGFk
ZHIpIHsKPiArCQlwYWRkciA9IHVrcGxhdF92aXJ0X3RvX3BoeXMoKHZvaWQgKil2YWRkcik7Cj4g
KwkJaWYgKGxhc3RhZGRyICsgX19QQUdFX1NJWkUgIT0gcGFkZHIpCj4gKwkJCW5zZWdzKys7Cj4g
KwkJbGFzdGFkZHIgPSBwYWRkcjsKPiArCQl2YWRkciArPSBfX1BBR0VfU0laRTsKPiArCX0KPiAr
CXJldHVybiBuc2VnczsKPiArfQo+ICsKPiAraW50IHVrX3NnbGlzdF9hcHBlbmQoc3RydWN0IHVr
X3NnbGlzdCAqc2csIHZvaWQgKmJ1Ziwgc2l6ZV90IGxlbikKPiArewo+ICsJc3RydWN0IHNnc2F2
ZSBzYXZlOwo+ICsJaW50IGVycm9yOwo+ICsKPiArCVVLX0FTU0VSVChzZyk7Cj4gKwo+ICsJaWYg
KHNnLT5zZ19tYXhzZWcgPT0gMCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlTR0xJU1Rf
U0FWRShzZywgc2F2ZSk7Cj4gKwllcnJvciA9IF9zZ2xpc3RfYXBwZW5kX2J1ZihzZywgYnVmLCBs
ZW4sICBOVUxMKTsKPiArCWlmIChlcnJvcikKPiArCQlTR0xJU1RfUkVTVE9SRShzZywgc2F2ZSk7
Cj4gKwo+ICsJcmV0dXJuIGVycm9yOwo+ICt9Cj4gKwo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9z
Z2xpc3Qoc3RydWN0IHVrX3NnbGlzdCAqc2csCj4gKwkJCWNvbnN0IHN0cnVjdCB1a19zZ2xpc3Qg
KnNvdXJjZSwKPiArCQkJc2l6ZV90IG9mZnNldCwgc2l6ZV90IGxlbmd0aCkKPiArewo+ICsJc3Ry
dWN0IHNnc2F2ZSBzYXZlOwo+ICsJc3RydWN0IHVrX3NnbGlzdF9zZWcgKnNzOwo+ICsJc2l6ZV90
IHNlZ2xlbjsKPiArCWludCBlcnJvciwgaTsKPiArCj4gKwlVS19BU1NFUlQoc2cpOwo+ICsKPiAr
CWlmIChzZy0+c2dfbWF4c2VnID09IDAgfHwgbGVuZ3RoID09IDApCj4gKwkJcmV0dXJuIC1FSU5W
QUw7Cj4gKwlTR0xJU1RfU0FWRShzZywgc2F2ZSk7Cj4gKwllcnJvciA9IC1FSU5WQUw7Cj4gKwlz
cyA9ICZzZy0+c2dfc2Vnc1tzZy0+c2dfbnNlZyAtIDFdOwo+ICsJZm9yIChpID0gMDsgaSA8IHNv
dXJjZS0+c2dfbnNlZzsgaSsrKSB7Cj4gKwkJaWYgKG9mZnNldCA+PSBzb3VyY2UtPnNnX3NlZ3Nb
aV0uc3NfbGVuKSB7Cj4gKwkJCW9mZnNldCAtPSBzb3VyY2UtPnNnX3NlZ3NbaV0uc3NfbGVuOwo+
ICsJCQljb250aW51ZTsKPiArCQl9Cj4gKwkJc2VnbGVuID0gc291cmNlLT5zZ19zZWdzW2ldLnNz
X2xlbiAtIG9mZnNldDsKPiArCQlpZiAoc2VnbGVuID4gbGVuZ3RoKQo+ICsJCQlzZWdsZW4gPSBs
ZW5ndGg7Cj4gKwkJZXJyb3IgPSBfc2dsaXN0X2FwcGVuZF9yYW5nZShzZywgJnNzLAo+ICsJCSAg
ICBzb3VyY2UtPnNnX3NlZ3NbaV0uc3NfcGFkZHIgKyBvZmZzZXQsIHNlZ2xlbik7Cj4gKwkJaWYg
KGVycm9yKQo+ICsJCQlicmVhazsKPiArCQlvZmZzZXQgPSAwOwo+ICsJCWxlbmd0aCAtPSBzZWds
ZW47Cj4gKwkJaWYgKGxlbmd0aCA9PSAwKQo+ICsJCQlicmVhazsKPiArCX0KPiArCWlmIChsZW5n
dGggIT0gMCkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFkZCBidWZmZXIgdG8gdGhlIHNn
IGxpc3RcbiIpOwo+ICsJCWVycm9yID0gLUVJTlZBTDsKPiArCX0KPiArCWlmIChlcnJvcikKPiAr
CQlTR0xJU1RfUkVTVE9SRShzZywgc2F2ZSk7Cj4gKwlyZXR1cm4gZXJyb3I7Cj4gK30KPiArCj4g
K3NpemVfdCB1a19zZ2xpc3RfbGVuZ3RoKHN0cnVjdCB1a19zZ2xpc3QgKnNnKQo+ICt7Cj4gKwlz
aXplX3Qgc3BhY2U7Cj4gKwlpbnQgaTsKPiArCj4gKwlVS19BU1NFUlQoc2cpOwo+ICsKPiArCXNw
YWNlID0gMDsKPiArCWZvciAoaSA9IDA7IGkgPCBzZy0+c2dfbnNlZzsgaSsrKQo+ICsJCXNwYWNl
ICs9IHNnLT5zZ19zZWdzW2ldLnNzX2xlbjsKPiArCXJldHVybiBzcGFjZTsKPiArfQo+ICsKPiAr
aW50IHVrX3NnbGlzdF9qb2luKHN0cnVjdCB1a19zZ2xpc3QgKmZpcnN0LCBzdHJ1Y3QgdWtfc2ds
aXN0ICpzZWNvbmQpCj4gK3sKPiArCXN0cnVjdCB1a19zZ2xpc3Rfc2VnICpmbGFzdCwgKnNmaXJz
dDsKPiArCWludCBhcHBlbmQ7Cj4gKwo+ICsJLyogSWYgJ3NlY29uZCcgaXMgZW1wdHksIHRoZXJl
IGlzIG5vdGhpbmcgdG8gZG8uICovCj4gKwlpZiAoc2Vjb25kLT5zZ19uc2VnID09IDApCj4gKwkJ
cmV0dXJuIDA7Cj4gKwo+ICsJLyoKPiArCSAqIElmIHRoZSBmaXJzdCBlbnRyeSBpbiAnc2Vjb25k
JyBjYW4gYmUgYXBwZW5kZWQgdG8gdGhlIGxhc3QgZW50cnkKPiArCSAqIGluICdmaXJzdCcgdGhl
biBzZXQgYXBwZW5kIHRvICcxJy4KPiArCSAqLwo+ICsJYXBwZW5kID0gMDsKPiArCWZsYXN0ID0g
JmZpcnN0LT5zZ19zZWdzW2ZpcnN0LT5zZ19uc2VnIC0gMV07Cj4gKwlzZmlyc3QgPSAmc2Vjb25k
LT5zZ19zZWdzWzBdOwo+ICsJaWYgKGZpcnN0LT5zZ19uc2VnICE9IDAgJiYKPiArCSAgICBmbGFz
dC0+c3NfcGFkZHIgKyBmbGFzdC0+c3NfbGVuID09IHNmaXJzdC0+c3NfcGFkZHIpCj4gKwkJYXBw
ZW5kID0gMTsKPiArCj4gKwkvKiBNYWtlIHN1cmUgJ2ZpcnN0JyBoYXMgZW5vdWdoIHJvb20uICov
Cj4gKwlpZiAoZmlyc3QtPnNnX25zZWcgKyBzZWNvbmQtPnNnX25zZWcgLSBhcHBlbmQgPiBmaXJz
dC0+c2dfbWF4c2VnKQo+ICsJCXJldHVybiAtRUZCSUc7Cj4gKwo+ICsJLyogTWVyZ2UgbGFzdCBp
biAnZmlyc3QnIGFuZCBmaXJzdCBpbiAnc2Vjb25kJyBpZiBuZWVkZWQuICovCj4gKwlpZiAoYXBw
ZW5kKQo+ICsJCWZsYXN0LT5zc19sZW4gKz0gc2ZpcnN0LT5zc19sZW47Cj4gKwo+ICsJLyogQXBw
ZW5kIG5ldyBzZWdtZW50cyBmcm9tICdzZWNvbmQnIHRvICdmaXJzdCcuICovCj4gKwltZW1tb3Zl
KHNlY29uZC0+c2dfc2VncyArIGFwcGVuZCwgZmlyc3QtPnNnX3NlZ3MgKyBmaXJzdC0+c2dfbnNl
ZywKPiArCSAgICAoc2Vjb25kLT5zZ19uc2VnIC0gYXBwZW5kKSAqIHNpemVvZihzdHJ1Y3QgdWtf
c2dsaXN0X3NlZykpOwo+ICsJZmlyc3QtPnNnX25zZWcgKz0gc2Vjb25kLT5zZ19uc2VnIC0gYXBw
ZW5kOwo+ICsJdWtfc2dsaXN0X3Jlc2V0KHNlY29uZCk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK
PiArI2lmZGVmIENPTkZJR19VS0FMTE9DCj4gK3N0cnVjdCB1a19zZ2xpc3QgKnVrX3NnbGlzdF9h
bGxvYyhzdHJ1Y3QgdWtfYWxsb2MgKmEsIGludCBuc2VncykKPiArewo+ICsJc3RydWN0IHVrX3Nn
bGlzdCAqc2c7Cj4gKwo+ICsJVUtfQVNTRVJUKGEpOwo+ICsKPiArCS8qIEFsbG9jYXRlIHRoZSBz
Y2F0dGVyL2dhdGhlciBsaXN0ICovCj4gKwlzZyA9IHVrX21hbGxvYyhhLCBzaXplb2Yoc3RydWN0
IHVrX3NnbGlzdCkgKwo+ICsJCQkobnNlZ3MgKiBzaXplb2Yoc3RydWN0IHVrX3NnbGlzdF9zZWcp
KSk7Cj4gKwlpZiAoIXNnKSB7Cj4gKwkJdWtfcHJfZXJyKCJFcnJvciBpbiBhbGxvY2F0aW5nIHNn
IGxpc3RcbiIpOwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiArCS8qIEluaXRpYWxpemUg
dGhlIGxpc3QgKi8KPiArCXVrX3NnbGlzdF9pbml0KHNnLCBuc2VncywgKHN0cnVjdCB1a19zZ2xp
c3Rfc2VnICopKHNnICsgMSkpOwo+ICsJcmV0dXJuIHNnOwo+ICt9Cj4gKwo+ICt2b2lkIHVrX3Nn
bGlzdF9mcmVlKHN0cnVjdCB1a19zZ2xpc3QgKnNnLCBzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sK
PiArCVVLX0FTU0VSVChzZyAmJiBhKTsKPiArCj4gKwlpZiAodWtfcmVmY291bnRfcmVsZWFzZSgm
c2ctPnNnX3JlZnMpKQo+ICsJCXVrX2ZyZWUoYSwgc2cpOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgdWtf
c2dsaXN0ICp1a19zZ2xpc3RfYnVpbGQoc3RydWN0IHVrX2FsbG9jICphLCB2b2lkICpidWYsCj4g
KwkJCQlzaXplX3QgbGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfc2dsaXN0ICpzZzsKPiArCWludCBu
c2VnczsKPiArCj4gKwlVS19BU1NFUlQoYSk7Cj4gKwo+ICsJaWYgKGxlbiA9PSAwKQo+ICsJCXJl
dHVybiBOVUxMOwo+ICsKPiArCW5zZWdzID0gdWtfc2dsaXN0X2NvdW50KGJ1ZiwgbGVuKTsKPiAr
CVVLX0FTU0VSVChuc2VncyA+IDApOwo+ICsKPiArCXNnID0gdWtfc2dsaXN0X2FsbG9jKGEsIG5z
ZWdzKTsKPiArCWlmIChzZyA9PSBOVUxMKSB7Cj4gKwkJdWtfcHJfZXJyKCJFcnJvciBpbiBhbGxv
Y2F0aW5nIHRoZSBzZyBsaXN0XG4iKTsKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiArCWlmICh1
a19zZ2xpc3RfYXBwZW5kKHNnLCBidWYsIGxlbikgIT0gMCkgewo+ICsJCXVrX3ByX2VycigiRXJy
b3IgaW4gYWRkaW5nIHNlZ21lbnRzIHRvIHNnIGxpc3RcbiIpOwo+ICsJCXVrX3NnbGlzdF9mcmVl
KHNnLCBhKTsKPiArCQlyZXR1cm4gTlVMTDsKPiArCX0KPiArCXJldHVybiBzZzsKPiArfQo+ICsK
PiArc3RydWN0IHVrX3NnbGlzdCAqdWtfc2dsaXN0X2Nsb25lKHN0cnVjdCB1a19zZ2xpc3QgKnNn
LAo+ICsJCQkJc3RydWN0IHVrX2FsbG9jICphKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfc2dsaXN0ICpu
ZXc7Cj4gKwo+ICsJVUtfQVNTRVJUKGEpOwo+ICsKPiArCWlmICghc2cpCj4gKwkJcmV0dXJuIE5V
TEw7Cj4gKwo+ICsJbmV3ID0gdWtfc2dsaXN0X2FsbG9jKGEsIHNnLT5zZ19tYXhzZWcpOwo+ICsJ
aWYgKCFuZXcpIHsKPiArCQl1a19wcl9lcnIoIkFsbG9jYXRpb24gZm9yIHRoZSBuZXcgbGlzdCBm
YWlsZWRcbiIpOwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsKPiArCW5ldy0+c2dfbnNlZyA9
IHNnLT5zZ19uc2VnOwo+ICsJbWVtbW92ZShuZXctPnNnX3NlZ3MsIHNnLT5zZ19zZWdzLAo+ICsJ
CQlzaXplb2Yoc3RydWN0IHVrX3NnbGlzdF9zZWcpICogc2ctPnNnX25zZWcpOwo+ICsJcmV0dXJu
IG5ldzsKPiArfQo+ICsKPiAraW50IHVrX3NnbGlzdF9zcGxpdChzdHJ1Y3QgdWtfc2dsaXN0ICpv
cmlnaW5hbCwgc3RydWN0IHVrX3NnbGlzdCAqKmhlYWQsCj4gKwkJCXN0cnVjdCB1a19hbGxvYyAq
YSwgc2l6ZV90IGxlbmd0aCkKPiArewo+ICsJc3RydWN0IHVrX3NnbGlzdCAqc2c7Cj4gKwlzaXpl
X3Qgc3BhY2UsIHNwbGl0Owo+ICsJaW50IGNvdW50LCBpOwo+ICsKPiArCWlmICh1a19yZWZjb3Vu
dF9yZWFkKCZvcmlnaW5hbC0+c2dfcmVmcykgPiAxKQo+ICsJCXJldHVybiAtRURPT0ZVUzsKPiAr
Cj4gKwkvKiBGaWd1cmUgb3V0IGhvdyBiaWcgb2YgYSBzZ2xpc3QgJypoZWFkJyBoYXMgdG8gaG9s
ZC4gKi8KPiArCWNvdW50ID0gMDsKPiArCXNwYWNlID0gMDsKPiArCXNwbGl0ID0gMDsKPiArCWZv
ciAoaSA9IDA7IGkgPCBvcmlnaW5hbC0+c2dfbnNlZzsgaSsrKSB7Cj4gKwkJc3BhY2UgKz0gb3Jp
Z2luYWwtPnNnX3NlZ3NbaV0uc3NfbGVuOwo+ICsJCWNvdW50Kys7Cj4gKwkJaWYgKHNwYWNlID49
IGxlbmd0aCkgewo+ICsJCQkvKgo+ICsJCQkgKiBJZiAnbGVuZ3RoJyBmYWxscyBpbiB0aGUgbWlk
ZGxlIG9mIGEKPiArCQkJICogc2NhdHRlci9nYXRoZXIgbGlzdCBlbnRyeSwgdGhlbiAnc3BsaXQn
Cj4gKwkJCSAqIGhvbGRzIGhvdyBtdWNoIG9mIHRoYXQgZW50cnkgd2lsbCByZW1haW4gaW4KPiAr
CQkJICogJ29yaWdpbmFsJy4KPiArCQkJICovCj4gKwkJCXNwbGl0ID0gc3BhY2UgLSBsZW5ndGg7
Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCX0KPiArCj4gKwkvKiBOb3RoaW5nIHRvIGRvLCBzbyBs
ZWF2ZSBoZWFkIGVtcHR5LiAqLwo+ICsJaWYgKGNvdW50ID09IDApCj4gKwkJcmV0dXJuIDA7Cj4g
Kwo+ICsJaWYgKCpoZWFkID09IE5VTEwpIHsKPiArCQlzZyA9IHVrX3NnbGlzdF9hbGxvYyhhLCBj
b3VudCk7Cj4gKwkJaWYgKHNnID09IE5VTEwpCj4gKwkJCXJldHVybiAtRU5PTUVNOwo+ICsJCSpo
ZWFkID0gc2c7Cj4gKwl9IGVsc2Ugewo+ICsJCXNnID0gKmhlYWQ7Cj4gKwkJaWYgKHNnLT5zZ19t
YXhzZWcgPCBjb3VudCkKPiArCQkJcmV0dXJuIC1FRkJJRzsKPiArCQlpZiAoc2ctPnNnX25zZWcg
IT0gMCkKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJLyogQ29weSAnY291bnQn
IGVudHJpZXMgdG8gJ3NnJyBmcm9tICdvcmlnaW5hbCcuICovCj4gKwltZW1tb3ZlKHNnLT5zZ19z
ZWdzLCBvcmlnaW5hbC0+c2dfc2VncywKPiArCQkJY291bnQgKiBzaXplb2Yoc3RydWN0IHVrX3Nn
bGlzdF9zZWcpKTsKPiArCXNnLT5zZ19uc2VnID0gY291bnQ7Cj4gKwo+ICsJLyoKPiArCSAqIElm
IHdlIGhhZCB0byBzcGxpdCBhIGxpc3QgZW50cnksIGZpeHVwIHRoZSBsYXN0IGVudHJ5IGluCj4g
KwkgKiAnc2cnIGFuZCB0aGUgbmV3IGZpcnN0IGVudHJ5IGluICdvcmlnaW5hbCcuICBXZSBhbHNv
Cj4gKwkgKiBkZWNyZW1lbnQgJ2NvdW50JyBieSAxIHNpbmNlIHdlIHdpbGwgb25seSBiZSByZW1v
dmluZwo+ICsJICogJ2NvdW50IC0gMScgc2VnbWVudHMgZnJvbSAnb3JpZ2luYWwnIG5vdy4KPiAr
CSAqLwo+ICsJaWYgKHNwbGl0ICE9IDApIHsKPiArCQljb3VudC0tOwo+ICsJCXNnLT5zZ19zZWdz
W2NvdW50XS5zc19sZW4gLT0gc3BsaXQ7Cj4gKwkJb3JpZ2luYWwtPnNnX3NlZ3NbY291bnRdLnNz
X3BhZGRyID0KPiArCQkgICAgc2ctPnNnX3NlZ3NbY291bnRdLnNzX3BhZGRyICsgc3BsaXQ7Cj4g
KwkJb3JpZ2luYWwtPnNnX3NlZ3NbY291bnRdLnNzX2xlbiA9IHNwbGl0Owo+ICsJfQo+ICsKPiAr
CS8qIFRyaW0gJ2NvdW50JyBlbnRyaWVzIGZyb20gdGhlIGZyb250IG9mICdvcmlnaW5hbCcuICov
Cj4gKwlvcmlnaW5hbC0+c2dfbnNlZyAtPSBjb3VudDsKPiArCW1lbW1vdmUob3JpZ2luYWwtPnNn
X3NlZ3MsIG9yaWdpbmFsLT5zZ19zZWdzICsgY291bnQsCj4gKwkJCWNvdW50ICogc2l6ZW9mKHN0
cnVjdCB1a19zZ2xpc3Rfc2VnKSk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAraW50IHVrX3Nn
bGlzdF9zbGljZShzdHJ1Y3QgdWtfc2dsaXN0ICpvcmlnaW5hbCwgc3RydWN0IHVrX3NnbGlzdCAq
KnNsaWNlLAo+ICsJCQlzdHJ1Y3QgdWtfYWxsb2MgKmEsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBs
ZW5ndGgpCj4gK3sKPiArCXN0cnVjdCB1a19zZ2xpc3QgKnNnOwo+ICsJc2l6ZV90IHNwYWNlLCBl
bmQsIGZvZmZzLCBsb2ZmczsKPiArCWludCBjb3VudCwgaSwgZnNlZzsKPiArCj4gKwkvKiBOb3Ro
aW5nIHRvIGRvLiAqLwo+ICsJaWYgKGxlbmd0aCA9PSAwKQo+ICsJCXJldHVybiAwOwo+ICsKPiAr
CS8qIEZpZ3VyZSBvdXQgaG93IG1hbnkgc2VnbWVudHMgJypzbGljZScgbmVlZHMgdG8gaGF2ZS4g
Ki8KPiArCWVuZCA9IG9mZnNldCArIGxlbmd0aDsKPiArCXNwYWNlID0gMDsKPiArCWNvdW50ID0g
MDsKPiArCWZzZWcgPSAwOwo+ICsJZm9mZnMgPSBsb2ZmcyA9IDA7Cj4gKwlmb3IgKGkgPSAwOyBp
IDwgb3JpZ2luYWwtPnNnX25zZWc7IGkrKykgewo+ICsJCXNwYWNlICs9IG9yaWdpbmFsLT5zZ19z
ZWdzW2ldLnNzX2xlbjsKPiArCQlpZiAoc3BhY2UgPiBvZmZzZXQpIHsKPiArCQkJLyoKPiArCQkJ
ICogV2hlbiB3ZSBoaXQgdGhlIGZpcnN0IHNlZ21lbnQsIHN0b3JlIGl0cyBpbmRleAo+ICsJCQkg
KiBpbiAnZnNlZycgYW5kIHRoZSBvZmZzZXQgaW50byB0aGUgZmlyc3Qgc2VnbWVudAo+ICsJCQkg
KiBvZiAnb2Zmc2V0JyBpbiAnZm9mZnMnLgo+ICsJCQkgKi8KPiArCQkJaWYgKGNvdW50ID09IDAp
IHsKPiArCQkJCWZzZWcgPSBpOwo+ICsJCQkJZm9mZnMgPSBvZmZzZXQgLSAoc3BhY2UgLQo+ICsJ
CQkJICAgIG9yaWdpbmFsLT5zZ19zZWdzW2ldLnNzX2xlbik7Cj4gKwkJCQl1a19wcl9kZWJ1Zygi
c2dsaXN0X3NsaWNlOiBmb2ZmcyA9ICUwOGx4IiwKPiArCQkJCQkJZm9mZnMpOwo+ICsJCQl9Cj4g
KwkJCWNvdW50Kys7Cj4gKwo+ICsJCQkvKgo+ICsJCQkgKiBXaGVuIHdlIGhpdCB0aGUgbGFzdCBz
ZWdtZW50LCBicmVhayBvdXQgb2YKPiArCQkJICogdGhlIGxvb3AuICBTdG9yZSB0aGUgYW1vdW50
IG9mIGV4dHJhIHNwYWNlCj4gKwkJCSAqIGF0IHRoZSBlbmQgb2YgdGhpcyBzZWdtZW50IGluICds
b2ZmcycuCj4gKwkJCSAqLwo+ICsJCQlpZiAoc3BhY2UgPj0gZW5kKSB7Cj4gKwkJCQlsb2ZmcyA9
IHNwYWNlIC0gZW5kOwo+ICsJCQkJdWtfcHJfZGVidWcoInNnbGlzdF9zbGljZTogbG9mZnMgPSAl
MDhseCIsCj4gKwkJCQkJCWxvZmZzKTsKPiArCQkJCWJyZWFrOwo+ICsJCQl9Cj4gKwkJfQo+ICsJ
fQo+ICsKPiArCS8qIElmIHdlIG5ldmVyIGhpdCAnZW5kJywgdGhlbiAnbGVuZ3RoJyByYW4gb2Zm
IHRoZSBlbmQsIHNvIGZhaWwuICovCj4gKwlpZiAoc3BhY2UgPCBlbmQpCj4gKwkJcmV0dXJuIC1F
SU5WQUw7Cj4gKwo+ICsJaWYgKCpzbGljZSA9PSBOVUxMKSB7Cj4gKwkJc2cgPSB1a19zZ2xpc3Rf
YWxsb2MoYSwgY291bnQpOwo+ICsJCWlmIChzZyA9PSBOVUxMKQo+ICsJCQlyZXR1cm4gLUVOT01F
TTsKPiArCQkqc2xpY2UgPSBzZzsKPiArCX0gZWxzZSB7Cj4gKwkJc2cgPSAqc2xpY2U7Cj4gKwkJ
aWYgKHNnLT5zZ19tYXhzZWcgPCBjb3VudCkKPiArCQkJcmV0dXJuIC1FRkJJRzsKPiArCQlpZiAo
c2ctPnNnX25zZWcgIT0gMCkKPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwo+ICsJLyoK
PiArCSAqIENvcHkgb3ZlciAnY291bnQnIHNlZ21lbnRzIGZyb20gJ29yaWdpbmFsJyBzdGFydGlu
ZyBhdAo+ICsJICogJ2ZzZWcnIHRvICdzZycuCj4gKwkgKi8KPiArCW1lbW1vdmUoc2ctPnNnX3Nl
Z3MsIG9yaWdpbmFsLT5zZ19zZWdzICsgZnNlZywKPiArCSAgICBjb3VudCAqIHNpemVvZihzdHJ1
Y3QgdWtfc2dsaXN0X3NlZykpOwo+ICsJc2ctPnNnX25zZWcgPSBjb3VudDsKPiArCj4gKwkvKiBG
aXh1cCBmaXJzdCBhbmQgbGFzdCBzZWdtZW50cyBpZiBuZWVkZWQuICovCj4gKwlpZiAoZm9mZnMg
IT0gMCkgewo+ICsJCXNnLT5zZ19zZWdzWzBdLnNzX3BhZGRyICs9IGZvZmZzOwo+ICsJCXNnLT5z
Z19zZWdzWzBdLnNzX2xlbiAtPSBmb2ZmczsKPiArCQl1a19wcl9kZWJ1Zygic2dsaXN0X3NsaWNl
IHNlZ1swXTogJTE2bHg6JTE2bHgiLAo+ICsJCSAgICAobG9uZylzZy0+c2dfc2Vnc1swXS5zc19w
YWRkciwgc2ctPnNnX3NlZ3NbMF0uc3NfbGVuKTsKPiArCX0KPiArCWlmIChsb2ZmcyAhPSAwKSB7
Cj4gKwkJc2ctPnNnX3NlZ3NbY291bnQgLSAxXS5zc19sZW4gLT0gbG9mZnM7Cj4gKwkJdWtfcHJf
ZGVidWcoInNnbGlzdF9zbGljZSBzZWdbJWRdOiBsZW4gJTA4eCIsCj4gKwkJCWNvdW50IC0gMSwg
KHVpbnQzMl90KXNnLT5zZ19zZWdzW2NvdW50IC0gMV0uc3NfbGVuKTsKPiArCX0KPiArCXJldHVy
biAwOwo+ICt9Cj4gKyNlbmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLwo+IAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 08:22:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 08:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8LN0-00077Z-Pz; Fri, 05 Oct 2018 08:21:58 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=m7ui=mr=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g8LMy-00077P-OK
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 08:21:56 +0000
X-Inumbo-ID: 5fd6b8b4-c877-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5fd6b8b4-c877-11e8-a8a5-bc764e045a96;
 Fri, 05 Oct 2018 10:19:27 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 5A04E1049F8;
 Fri,  5 Oct 2018 10:21:52 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id jV2aXaki_vOI; Fri,  5 Oct 2018 10:21:52 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 2C74F1049FF
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 10:21:50 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 5 Oct 2018 10:21:49 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 5 Oct 2018 10:21:37 +0200
Message-ID: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 0/4] Cleanup bit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QSBwb3J0IG9mIEJTRCB2ZXJzaW9ucyBvZiBsaW51eCBiaXQgb3BlcmF0aW9ucyBoYXMgYmVlbiBp
bnRyb2R1Y2VkCnJlY2VudGx5LiBUaGUgbmV3IGJpdG9wcyBoYXZlIGJlZW4gY29leGlzdGluZyB3
aXRoIHRoZSBwcmV2aW91cwppbXBsZW1lbnRhdGlvbi4gVGhpcyBzZXJpZXMgbWVyZ2VzIHRoZW0g
dG9nZXRoZXIsIGxlYXZpbmcgb25seSB0aGUKbGludXgtc3R5bGUgYXBpIGF2YWlsYWJsZS4KCll1
cmkgVm9sY2hrb3YgKDQpOgogIGluY2x1ZGUvdWs6IGRvIG5vdCBjYXN0IGF3YXkgdm9sYXRpbGUg
aW4gYXRvbWljLmgKICBpbmNsdWRlL3VrOiBmaXggdGVzdF9iaXQgYXRvbWljaXR5CiAgdXNlIG9u
ZSBhcGkgZm9yIGJpdCBvcGVyYXRpb24KICBpbmNsdWRlL3VrOiBtZXJnZSB0d28gYml0b3BzIGZ1
bmN0aW9ucwoKIGluY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCAgIHwgMTE1IC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS91ay9iaXRvcHMuaCAgICAgICAgfCAxMTYg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogbGliL3Zmc2NvcmUvZmQuYyAg
ICAgICAgICAgfCAgIDQgKy0KIHBsYXQvY29tbW9uL2FybS90aW1lLmMgICAgIHwgICA2ICstCiBw
bGF0L2t2bS9pcnEuYyAgICAgICAgICAgICB8ICAgNiArLQogcGxhdC9rdm0veDg2L3RzY2Nsb2Nr
LmMgICAgfCAgIDYgKy0KIHBsYXQveGVuL2V2ZW50cy5jICAgICAgICAgIHwgIDE4ICsrKy0tLQog
cGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMgfCAgIDQgKy0KIDggZmlsZXMgY2hhbmdlZCwgMTIy
IGluc2VydGlvbnMoKyksIDE1MyBkZWxldGlvbnMoLSkKCi0tIAoyLjE5LjAKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 08:22:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 08:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8LN1-00077k-RJ; Fri, 05 Oct 2018 08:21:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=m7ui=mr=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g8LN0-00077U-E9
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 08:21:58 +0000
X-Inumbo-ID: e47d1c5b-c877-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e47d1c5b-c877-11e8-a6a9-d7ebe60f679a;
 Fri, 05 Oct 2018 08:23:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 011EEF205D;
 Fri,  5 Oct 2018 10:21:55 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BjWgp2fIv3OK; Fri,  5 Oct 2018 10:21:54 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CD21EF2021
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 10:21:52 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 5 Oct 2018 10:21:52 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 5 Oct 2018 10:21:38 +0200
Message-ID: <20181005082141.15862-2-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 1/4] include/uk: do not cast away
 volatile in atomic.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TWFueSBmdW5jdGlvbnMgaW4gaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIGFjY2VwdCBhIHZvbGF0
aWxlIGFyZ3VtZW50CmFuZCB0aGVuIGNhc3QgaXQgdG8gc29tZXRoaW5nIGxpa2UgIl9fdTggKiIu
IEluIG1hbnkgY2FzZXMgaXQgaXMgb2ssCl9fYXRvbWljXyooKSBpcyBjYWxsZWQgaW5zaWRlIHRo
ZSBmdW5jdGlvbi4gQnV0IGluIG90aGVyIGNhc2VzLCB0aGlzCm1lbW9yeSBhY2Nlc3MgaXMgYSBz
dWJqZWN0IHRvIGNvbXBpbGVyIG9wdGltaXphdGlvbiwgYW5kIG1heSBsZWFkIHRvCmFuIHVuZXhw
ZWN0ZWQgYmVoYXZpb3IuCgpTaWduZWQtb2ZmLWJ5OiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNo
a292QG5lY2xhYi5ldT4KLS0tCiBpbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggfCAxMCArKysrKy0t
LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCBiL2luY2x1ZGUvdWsvYXJjaC9hdG9t
aWMuaAppbmRleCBkNGFiZWI3Li4wOTY0ZTE0IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VrL2FyY2gv
YXRvbWljLmgKKysrIGIvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCkBAIC05Niw3ICs5Niw3IEBA
IGV4dGVybiAiQyIgewogICovCiBzdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xy
X2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCiB7Ci0JX191OCAqYWRk
ciA9ICgoX191OCAqKWJ5dGUpICsgKG5yID4+IDMpOworCXZvbGF0aWxlIF9fdTggKmFkZHIgPSAo
KF9fdTggKilieXRlKSArIChuciA+PiAzKTsKIAlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7CiAJ
X191OCBvcmlnOwogCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNo
X3Rlc3RfYW5kX2Nscl9iaXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQog
ICovCiBzdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdCh1bnNpZ25lZCBp
bnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCiB7Ci0JX191OCAqYWRkciA9ICgoX191OCAqKWJ5
dGUpICsgKG5yID4+IDMpOworCXZvbGF0aWxlIF9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSAr
IChuciA+PiAzKTsKIAlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7CiAJX191OCBvcmlnOwogCkBA
IC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3NldF9i
aXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQogc3RhdGljIGlubGluZSBp
bnQgdWthcmNoX3Rlc3RfYml0KHVuc2lnbmVkIGludCBuciwKIAkJCQkJY29uc3Qgdm9sYXRpbGUg
dW5zaWduZWQgbG9uZyAqYnl0ZSkKIHsKLQljb25zdCBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAq
KWJ5dGU7CisJY29uc3Qgdm9sYXRpbGUgX191OCAqcHRyID0gKGNvbnN0IF9fdTggKilieXRlOwog
CiAJcmV0dXJuICgoMSA8PCAobnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0gMDsKIH0KQEAg
LTE1NCw3ICsxNTQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Nscl9iaXQodW5zaWdu
ZWQgaW50IG5yLAogc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3lu
Yyh1bnNpZ25lZCBpbnQgbnIsCiAJCQkJCQl2b2xhdGlsZSB2b2lkICpieXRlKQogewotCV9fdTgg
KmFkZHIgPSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKKwl2b2xhdGlsZSBfX3U4ICphZGRy
ID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7CiAJX191OCBiaXQgPSAxIDw8IChuciAmIDcp
OwogCV9fdTggb3JpZzsKIApAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHVr
YXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAogc3RhdGljIGlubGlu
ZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3NldF9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsCiAJCQkJ
CQl2b2xhdGlsZSB2b2lkICpieXRlKQogewotCV9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSAr
IChuciA+PiAzKTsKKwl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIg
Pj4gMyk7CiAJX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwogCV9fdTggb3JpZzsKIAotLSAKMi4x
OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 08:22:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 08:22:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8LN2-00078C-Sd; Fri, 05 Oct 2018 08:22:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=m7ui=mr=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g8LN1-00077f-LI
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 08:21:59 +0000
X-Inumbo-ID: e5eb745a-c877-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e5eb745a-c877-11e8-a6a9-d7ebe60f679a;
 Fri, 05 Oct 2018 08:23:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B2E7F1049FB;
 Fri,  5 Oct 2018 10:21:57 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id TFp8JwKnWrSG; Fri,  5 Oct 2018 10:21:57 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 952D01049F8
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 10:21:55 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 5 Oct 2018 10:21:55 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 5 Oct 2018 10:21:39 +0200
Message-ID: <20181005082141.15862-3-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 2/4] include/uk: fix test_bit
 atomicity
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

dWthcmNoX3Rlc3RfYml0X3N5bmMgZG9lcyBub3QgbWFrZSBzZW5zZS4gQSBiYXJyaWVyKCkgY2Fs
bCBpcyBub3QgYQptZW1vcnkgYmFycmllciBhcyB3YXMgc2FpZCBpbiB0aGUgY29tbWVudC4gRXZl
biBpZiBpdCBpdCB3YXMsIGl0IHdvdWxkCm5vdCBtYWtlIHVrYXJjaF90ZXN0X2JpdF9zeW5jIGF0
b21pYy4gSW4gZmFjdCB0aGlzICJiYXJyaWVyKCkiIGNhbGwgaXMKbmVlZGVkIGluIHVrYXJjaF90
ZXN0X2JpdCwgYW5kIGRvZXMgbm90IGhlbHAgdWthcmNoX3Rlc3RfYml0X3N5bmMgdG8KYmVjb21l
IGEgInN5bmMiIHZlcnNpb24uCgpUaGlzIGNvbW1pdCBtZXJnZXMgdGhlc2UgdHdvIGZ1bmN0aW9u
IHRvZ2V0aGVyLCBhbmQgYWRkcyBhIG1pc3NpbmcKdWtfdGVzdF9iaXQgaW50byBiaXRvcHMuaC4K
ClNpZ25lZC1vZmYtYnk6IFl1cmkgVm9sY2hrb3YgPHl1cmkudm9sY2hrb3ZAbmVjbGFiLmV1Pgot
LS0KIGluY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCB8IDE0ICsrKy0tLS0tLS0tLS0tCiBpbmNsdWRl
L3VrL2JpdG9wcy5oICAgICAgfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygr
KSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5o
IGIvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCmluZGV4IDA5NjRlMTQuLmU2NDQ0YzAgMTAwNjQ0
Ci0tLSBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAorKysgYi9pbmNsdWRlL3VrL2FyY2gvYXRv
bWljLmgKQEAgLTEyNyw4ICsxMjcsMTAgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3Rf
Yml0KHVuc2lnbmVkIGludCBuciwKIAkJCQkJY29uc3Qgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAq
Ynl0ZSkKIHsKIAljb25zdCB2b2xhdGlsZSBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAqKWJ5dGU7
CisJaW50IHJldCA9ICAoKDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7CiAK
LQlyZXR1cm4gKCgxIDw8IChuciAmIDcpKSAmIChwdHJbbnIgPj4gM10pKSAhPSAwOworCWJhcnJp
ZXIoKTsKKwlyZXR1cm4gcmV0OwogfQogCiAvKioKQEAgLTE4OCwxNiArMTkwLDYgQEAgc3RhdGlj
IGlubGluZSB2b2lkIHVrYXJjaF9jbHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLCB2b2xhdGls
ZSB2b2lkICpieXRlKQogCXVrYXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmMobnIsIGJ5dGUpOwog
fQogCi0vKiBBcyB0ZXN0X2JpdCwgYnV0IHdpdGggYSBmb2xsb3dpbmcgbWVtb3J5IGJhcnJpZXIu
ICovCi1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9iaXRfc3luYyh1bnNpZ25lZCBpbnQg
bnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCi17Ci0JaW50IHJlc3VsdDsKLQotCXJlc3VsdCA9IHVr
YXJjaF90ZXN0X2JpdChuciwgYnl0ZSk7Ci0JYmFycmllcigpOwotCXJldHVybiByZXN1bHQ7Ci19
Ci0KICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Vr
L2JpdG9wcy5oIGIvaW5jbHVkZS91ay9iaXRvcHMuaAppbmRleCBlMDA0ZmRmLi41YTI4NDEwIDEw
MDY0NAotLS0gYS9pbmNsdWRlL3VrL2JpdG9wcy5oCisrKyBiL2luY2x1ZGUvdWsvYml0b3BzLmgK
QEAgLTI1MCw2ICsyNTAsNyBAQCB1a19maW5kX25leHRfemVyb19iaXQoY29uc3QgdW5zaWduZWQg
bG9uZyAqYWRkciwgdW5zaWduZWQgbG9uZyBzaXplLAogI2RlZmluZSB1a19zZXRfYml0KGksIGEp
ICAgICAgICAgIHVrYXJjaF9zZXRfYml0X3N5bmMoaSwgYSkKICNkZWZpbmUgX191a19jbGVhcl9i
aXQoaSwgYSkgICAgICB1a2FyY2hfY2xyX2JpdChpLCBhKQogI2RlZmluZSB1a19jbGVhcl9iaXQo
aSwgYSkgICAgICAgIHVrYXJjaF9jbHJfYml0X3N5bmMoaSwgYSkKKyNkZWZpbmUgdWtfdGVzdF9i
aXQoaSwgYSkgICAgICAgICB1a2FyY2hfdGVzdF9iaXQoaSwgYSkKIAogc3RhdGljIGlubGluZSBp
bnQKIHVrX3Rlc3RfYW5kX2NsZWFyX2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9u
ZyAqdmFyKQotLSAKMi4xOS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 08:22:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 08:22:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8LN5-00078y-U7; Fri, 05 Oct 2018 08:22:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=m7ui=mr=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g8LN3-00078V-So
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 08:22:01 +0000
X-Inumbo-ID: e7829e0f-c877-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e7829e0f-c877-11e8-a6a9-d7ebe60f679a;
 Fri, 05 Oct 2018 08:23:15 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 59FC5F205D;
 Fri,  5 Oct 2018 10:22:00 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Bxeq6qMclIFY; Fri,  5 Oct 2018 10:22:00 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 2D169F2021
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 10:21:58 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 5 Oct 2018 10:21:58 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 5 Oct 2018 10:21:40 +0200
Message-ID: <20181005082141.15862-4-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 3/4] use one api for bit operation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QSBwb3J0IG9mIGxpbnV4IGJpdCBvcGVyYXRpb25zIGhhcyBiZWVuIGludHJvZHVjZWQgcmVjZW50
bHkuIFNvIGZhcgpib3RoIEFQSXMgd2VyZSBpbiB1c2UuIExldCdzIHVzZSBvbmx5IHRoZSBsaW51
eCBvbmUsIGZvciB0aGUgc2FrZSBvZgpjb25zaXN0ZW5jeS4KClNpZ25lZC1vZmYtYnk6IFl1cmkg
Vm9sY2hrb3YgPHl1cmkudm9sY2hrb3ZAbmVjbGFiLmV1PgotLS0KIGxpYi92ZnNjb3JlL2ZkLmMg
ICAgICAgICAgIHwgIDQgKystLQogcGxhdC9jb21tb24vYXJtL3RpbWUuYyAgICAgfCAgNiArKyst
LS0KIHBsYXQva3ZtL2lycS5jICAgICAgICAgICAgIHwgIDYgKysrLS0tCiBwbGF0L2t2bS94ODYv
dHNjY2xvY2suYyAgICB8ICA2ICsrKy0tLQogcGxhdC94ZW4vZXZlbnRzLmMgICAgICAgICAgfCAx
OCArKysrKysrKystLS0tLS0tLS0KIHBsYXQveGVuL3hlbmJ1cy94c19jb21tcy5jIHwgIDQgKyst
LQogNiBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9saWIvdmZzY29yZS9mZC5jIGIvbGliL3Zmc2NvcmUvZmQuYwppbmRleCAwN2E2
OWI1Li42YzIyMDQyIDEwMDY0NAotLS0gYS9saWIvdmZzY29yZS9mZC5jCisrKyBiL2xpYi92ZnNj
b3JlL2ZkLmMKQEAgLTM1LDcgKzM1LDcgQEAKIAogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1
ZGUgPHVrL2Vzc2VudGlhbHMuaD4KLSNpbmNsdWRlIDx1ay9hcmNoL2F0b21pYy5oPgorI2luY2x1
ZGUgPHVrL2JpdG9wcy5oPgogI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgogI2luY2x1ZGUgPHZmc2Nv
cmUvZmlsZS5oPgogI2luY2x1ZGUgPHVrL3BsYXQvbGNwdS5oPgpAQCAtNzgsNyArNzgsNyBAQCB2
b2lkIHZmc2NvcmVfcHV0X2ZkKGludCBmZCkKIAkvKiBDdXJyZW50bHkgaXQgaXMgbm90IGFsbG93
ZWQgdG8gZnJlZSBzdGQoaW58b3V0fGVycikgKi8KIAlVS19BU1NFUlQoZmQgPiAyKTsKIAotCXVr
YXJjaF90ZXN0X2FuZF9jbHJfYml0KGZkLCAmZmR0YWJsZS5iaXRtYXApOworCV9fdWtfY2xlYXJf
Yml0KGZkLCAmZmR0YWJsZS5iaXRtYXApOwogfQogCiB2b2lkIHZmc2NvcmVfaW5zdGFsbF9mZChp
bnQgZmQsIHN0cnVjdCB2ZnNjb3JlX2ZpbGUgKmZpbGUpCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1v
bi9hcm0vdGltZS5jIGIvcGxhdC9jb21tb24vYXJtL3RpbWUuYwppbmRleCA5NDlmYTc0Li5mMWRm
OThkIDEwMDY0NAotLS0gYS9wbGF0L2NvbW1vbi9hcm0vdGltZS5jCisrKyBiL3BsYXQvY29tbW9u
L2FybS90aW1lLmMKQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgaW50IGdlbmVyaWNfdGltZXJf
aW5pdCh2b2lkKQogCXJldHVybiAwOwogfQogCi1sb25nIHNjaGVkX2hhdmVfcGVuZGluZ19ldmVu
dHM7Cit1bnNpZ25lZCBsb25nIHNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHM7CiAKIHZvaWQgdGlt
ZV9ibG9ja191bnRpbChfX3Nuc2VjIHVudGlsKQogewpAQCAtMTgyLDggKzE4Miw4IEBAIHZvaWQg
dGltZV9ibG9ja191bnRpbChfX3Nuc2VjIHVudGlsKQogCQkgKiBBcyB3ZSBoYXZlbid0IHN1cHBv
cnQgaW50ZXJydXB0IG9uIEFybSwgc28gd2UganVzdAogCQkgKiB1c2UgYnVzeSBwb2xsaW5nIGZv
ciBub3cuCiAJCSAqLwotCQlpZiAodWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQoMCwgJnNjaGVkX2hh
dmVfcGVuZGluZ19ldmVudHMpKQotCQlicmVhazsKKwkJaWYgKF9fdWtfdGVzdF9hbmRfY2xlYXJf
Yml0KDAsICZzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzKSkKKwkJCWJyZWFrOwogCX0KIH0KIApk
aWZmIC0tZ2l0IGEvcGxhdC9rdm0vaXJxLmMgYi9wbGF0L2t2bS9pcnEuYwppbmRleCBlNzA4MDY5
Li4wYjczNGY2IDEwMDY0NAotLS0gYS9wbGF0L2t2bS9pcnEuYworKysgYi9wbGF0L2t2bS9pcnEu
YwpAQCAtMzQsNyArMzQsNyBAQAogI2luY2x1ZGUgPGt2bS9pbnRjdHJsLmg+CiAjaW5jbHVkZSA8
dWsvYXNzZXJ0Lmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KLSNpbmNsdWRlIDx1ay9hcmNoL2F0b21p
Yy5oPgorI2luY2x1ZGUgPHVrL2JpdG9wcy5oPgogCiBzdGF0aWMgc3RydWN0IHVrX2FsbG9jICph
bGxvY2F0b3I7CiAKQEAgLTc1LDcgKzc1LDcgQEAgaW50IHVrcGxhdF9pcnFfcmVnaXN0ZXIodW5z
aWduZWQgbG9uZyBpcnEsIGlycV9oYW5kbGVyX2Z1bmNfdCBmdW5jLCB2b2lkICphcmcpCiAgKiBU
T0RPOiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHVzZWQgdG8gaWRlbnRpZnkgbm9uIFRT
QyBjbG9jawogICogaW50ZXJydXB0cyBpbiBvcmRlciB0byBzdG9wIHdhaXRpbmcgZm9yIGludGVy
cnVwdHMgd2l0aCBkZWFkbGluZS4KICAqLwotZXh0ZXJuIGxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5n
X2V2ZW50czsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHM7
CiAKIHZvaWQgX3VrcGxhdF9pcnFfaGFuZGxlKHVuc2lnbmVkIGxvbmcgaXJxKQogewpAQCAtOTUs
NyArOTUsNyBAQCB2b2lkIF91a3BsYXRfaXJxX2hhbmRsZSh1bnNpZ25lZCBsb25nIGlycSkKIAkJ
CSAqIHRoZSBoYWx0aW5nIGxvb3AsIGFuZCBsZXQgaXQgdGFrZSBjYXJlIG9mCiAJCQkgKiB0aGF0
IHdvcmsuCiAJCQkgKi8KLQkJCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KDAsICZzY2hlZF9oYXZl
X3BlbmRpbmdfZXZlbnRzKTsKKwkJCV9fdWtfdGVzdF9hbmRfc2V0X2JpdCgwLCAmc2NoZWRfaGF2
ZV9wZW5kaW5nX2V2ZW50cyk7CiAKIAkJaWYgKGgtPmZ1bmMoaC0+YXJnKSA9PSAxKSB7CiAJCQlo
YW5kbGVkID0gMTsKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni90c2NjbG9jay5jIGIvcGxhdC9r
dm0veDg2L3RzY2Nsb2NrLmMKaW5kZXggNGVmMjE3OS4uZjNmYTU1YSAxMDA2NDQKLS0tIGEvcGxh
dC9rdm0veDg2L3RzY2Nsb2NrLmMKKysrIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKQEAgLTU4
LDcgKzU4LDcgQEAKICNpbmNsdWRlIDx1ay90aW1lY29udi5oPgogI2luY2x1ZGUgPHVrL3ByaW50
Lmg+CiAjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+Ci0jaW5jbHVkZSA8dWsvYXJjaC9hdG9taWMuaD4K
KyNpbmNsdWRlIDx1ay9iaXRvcHMuaD4KIAogI2RlZmluZSBOU0VDX1BFUl9TRUMgICAgICAgICAx
MDAwMDAwMDAwVUxMCiAKQEAgLTM0NiwxNCArMzQ2LDE0IEBAIHN0YXRpYyB2b2lkIHRzY2Nsb2Nr
X2NwdV9ibG9jayhfX3U2NCB1bnRpbCkKIAl1a3BsYXRfbGNwdV9oYWx0X2lycSgpOwogfQogCi1s
b25nIHNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHM7Cit1bnNpZ25lZCBsb25nIHNjaGVkX2hhdmVf
cGVuZGluZ19ldmVudHM7CiAKIHZvaWQgdGltZV9ibG9ja191bnRpbChfX3Nuc2VjIHVudGlsKQog
ewogCXdoaWxlICgoX19zbnNlYykgdWtwbGF0X21vbm90b25pY19jbG9jaygpIDwgdW50aWwpIHsK
IAkJdHNjY2xvY2tfY3B1X2Jsb2NrKHVudGlsKTsKIAotCQlpZiAodWthcmNoX3Rlc3RfYW5kX2Ns
cl9iaXQoMCwgJnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpKQorCQlpZiAoX191a190ZXN0X2Fu
ZF9jbGVhcl9iaXQoMCwgJnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpKQogCQkJYnJlYWs7CiAJ
fQogfQpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vZXZlbnRzLmMgYi9wbGF0L3hlbi9ldmVudHMuYwpp
bmRleCA2NzIxOTg1Li42ZGYzZTRiIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9ldmVudHMuYworKysg
Yi9wbGF0L3hlbi9ldmVudHMuYwpAQCAtMzgsNyArMzgsNyBAQAogI2luY2x1ZGUgPGNvbW1vbi9l
dmVudHMuaD4KICNpbmNsdWRlIDx4ZW4veGVuLmg+CiAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KLSNp
bmNsdWRlIDx1ay9hcmNoL2F0b21pYy5oPgorI2luY2x1ZGUgPHVrL2JpdG9wcy5oPgogCiAjZGVm
aW5lIE5SX0VWUyAxMDI0CiAKQEAgLTY5LDcgKzY5LDcgQEAgdm9pZCB1bmJpbmRfYWxsX3BvcnRz
KHZvaWQpCiAJCQljb250aW51ZTsKICNlbmRpZgogCi0JCWlmICh1a2FyY2hfdGVzdF9hbmRfY2xy
X2JpdChpLCBib3VuZF9wb3J0cykpIHsKKwkJaWYgKF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0KGks
IGJvdW5kX3BvcnRzKSkgewogCQkJdWtfcHJfd2FybigiUG9ydCAlZCBzdGlsbCBib3VuZCFcbiIs
IGkpOwogCQkJdW5iaW5kX2V2dGNobihpKTsKIAkJfQpAQCAtMTEyLDcgKzExMiw3IEBAIGV2dGNo
bl9wb3J0X3QgYmluZF9ldnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0LCBldnRjaG5faGFuZGxlcl90
IGhhbmRsZXIsCiAJZXZfYWN0aW9uc1twb3J0XS5kYXRhID0gZGF0YTsKIAl3bWIoKTsKIAlldl9h
Y3Rpb25zW3BvcnRdLmhhbmRsZXIgPSBoYW5kbGVyOwotCXVrYXJjaF9zZXRfYml0KHBvcnQsIGJv
dW5kX3BvcnRzKTsKKwlfX3VrX3NldF9iaXQocG9ydCwgYm91bmRfcG9ydHMpOwogCiAJcmV0dXJu
IHBvcnQ7CiB9CkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCB1bmJpbmRfZXZ0Y2huKGV2dGNobl9w
b3J0X3QgcG9ydCkKIAlldl9hY3Rpb25zW3BvcnRdLmhhbmRsZXIgPSBkZWZhdWx0X2hhbmRsZXI7
CiAJd21iKCk7CiAJZXZfYWN0aW9uc1twb3J0XS5kYXRhID0gTlVMTDsKLQl1a2FyY2hfY2xyX2Jp
dChwb3J0LCBib3VuZF9wb3J0cyk7CisJX191a19jbGVhcl9iaXQocG9ydCwgYm91bmRfcG9ydHMp
OwogCiAJY2xvc2UucG9ydCA9IHBvcnQ7CiAJcmMgPSBIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxf
b3AoRVZUQ0hOT1BfY2xvc2UsICZjbG9zZSk7CkBAIC0yOTcsNyArMjk3LDcgQEAgaW5saW5lIHZv
aWQgbWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKIHsKIAlzaGFyZWRfaW5mb190ICpzID0gSFlQ
RVJWSVNPUl9zaGFyZWRfaW5mbzsKIAotCXVrYXJjaF9zZXRfYml0X3N5bmMocG9ydCwgJnMtPmV2
dGNobl9tYXNrWzBdKTsKKwl1a19zZXRfYml0KHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7CiB9
CiAKIGlubGluZSB2b2lkIHVubWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKQEAgLTMwNSwxNSAr
MzA1LDE1IEBAIGlubGluZSB2b2lkIHVubWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKIAlzaGFy
ZWRfaW5mb190ICpzID0gSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsKIAl2Y3B1X2luZm9fdCAqdmNw
dV9pbmZvID0gJnMtPnZjcHVfaW5mb1tzbXBfcHJvY2Vzc29yX2lkKCldOwogCi0JdWthcmNoX2Ns
cl9iaXRfc3luYyhwb3J0LCAmcy0+ZXZ0Y2huX21hc2tbMF0pOworCXVrX2NsZWFyX2JpdChwb3J0
LCAmcy0+ZXZ0Y2huX21hc2tbMF0pOwogCiAJLyoKIAkgKiBUaGUgZm9sbG93aW5nIGlzIGJhc2lj
YWxseSB0aGUgZXF1aXZhbGVudCBvZiAnaHdfcmVzZW5kX2lycScuCiAJICogSnVzdCBsaWtlIGEg
cmVhbCBJTy1BUElDIHdlICdsb3NlIHRoZSBpbnRlcnJ1cHQgZWRnZScgaWYgdGhlCiAJICogY2hh
bm5lbCBpcyBtYXNrZWQuCiAJICovCi0JaWYgKHVrYXJjaF90ZXN0X2JpdF9zeW5jKHBvcnQsICAg
ICZzLT5ldnRjaG5fcGVuZGluZ1swXSkgJiYKLQkgICAgIXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0
X3N5bmMocG9ydCAvIChzaXplb2YodW5zaWduZWQgbG9uZykgKiA4KSwKKwlpZiAodWtfdGVzdF9i
aXQocG9ydCwgJnMtPmV2dGNobl9wZW5kaW5nWzBdKSAmJgorCSAgICAhdWtfdGVzdF9hbmRfc2V0
X2JpdChwb3J0IC8gKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIDgpLAogCQkJCSAgICAmdmNwdV9p
bmZvLT5ldnRjaG5fcGVuZGluZ19zZWwpKSB7CiAJCXZjcHVfaW5mby0+ZXZ0Y2huX3VwY2FsbF9w
ZW5kaW5nID0gMTsKICNpZmRlZiBYRU5fSEFWRV9QVl9VUENBTExfTUFTSwpAQCAtMzI3LDcgKzMy
Nyw3IEBAIGlubGluZSB2b2lkIGNsZWFyX2V2dGNobih1aW50MzJfdCBwb3J0KQogewogCXNoYXJl
ZF9pbmZvX3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwogCi0JdWthcmNoX2Nscl9iaXRf
c3luYyhwb3J0LCAmcy0+ZXZ0Y2huX3BlbmRpbmdbMF0pOworCXVrX2NsZWFyX2JpdChwb3J0LCAm
cy0+ZXZ0Y2huX3BlbmRpbmdbMF0pOwogfQogCiBzdHJ1Y3QgdWtfYWxsb2M7CmRpZmYgLS1naXQg
YS9wbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYyBiL3BsYXQveGVuL3hlbmJ1cy94c19jb21tcy5j
CmluZGV4IGM4MjAxYTUuLjI3NGU0NGIgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL3hlbmJ1cy94c19j
b21tcy5jCisrKyBiL3BsYXQveGVuL3hlbmJ1cy94c19jb21tcy5jCkBAIC0xODYsNyArMTg2LDcg
QEAgc3RhdGljIHZvaWQgeHNfcmVxdWVzdF9wdXQoc3RydWN0IHhzX3JlcXVlc3QgKnhzX3JlcSkK
IAogCXVrYXJjaF9zcGluX2xvY2soJnhzX3JlcV9wb29sLmxvY2spOwogCi0JVUtfQVNTRVJUKHVr
YXJjaF90ZXN0X2JpdChyZXFpZCwgeHNfcmVxX3Bvb2wuZW50cmllc19ibSkgPT0gMSk7CisJVUtf
QVNTRVJUKHVrX3Rlc3RfYml0KHJlcWlkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSA9PSAxKTsK
IAogCXVrX2NsZWFyX2JpdChyZXFpZCwgeHNfcmVxX3Bvb2wuZW50cmllc19ibSk7CiAJeHNfcmVx
X3Bvb2wubnVtX2xpdmUtLTsKQEAgLTQyNyw3ICs0MjcsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNz
X3JlcGx5KHN0cnVjdCB4c2Rfc29ja21zZyAqaGRyLCBjaGFyICpwYXlsb2FkKQogewogCXN0cnVj
dCB4c19yZXF1ZXN0ICp4c19yZXE7CiAKLQlpZiAoIXVrYXJjaF90ZXN0X2JpdChoZHItPnJlcV9p
ZCwgeHNfcmVxX3Bvb2wuZW50cmllc19ibSkpIHsKKwlpZiAoIXVrX3Rlc3RfYml0KGhkci0+cmVx
X2lkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSkgewogCQl1a19wcl93YXJuKCJJbnZhbGlkIHJl
cGx5IGlkPSVkXG4iLCBoZHItPnJlcV9pZCk7CiAJCWZyZWUocGF5bG9hZCk7CiAJCXJldHVybjsK
LS0gCjIuMTkuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5p
b3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 08:22:07 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 08:22:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8LN8-00079j-Vb; Fri, 05 Oct 2018 08:22:06 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=m7ui=mr=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g8LN7-00079O-9F
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 08:22:05 +0000
X-Inumbo-ID: 65e66fdd-c877-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 65e66fdd-c877-11e8-a8a5-bc764e045a96;
 Fri, 05 Oct 2018 10:19:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id EB9C91049FB;
 Fri,  5 Oct 2018 10:22:02 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BoA_4UIA3I6s; Fri,  5 Oct 2018 10:22:02 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id CADC51049F8
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 10:22:00 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 5 Oct 2018 10:22:00 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 5 Oct 2018 10:21:41 +0200
Message-ID: <20181005082141.15862-5-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 4/4] include/uk: merge two bitops
 functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VW5pa3JhZnQgY3VycmVudGx5IGhhcyB0d28gc2V0cyBvZiBiaXQgb3BlcmF0aW9ucy4gVGhpcyBw
YXRjaCBtZXJnZXMKdGhlbSB0b2dldGhlcgoKU2lnbmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8
eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Ci0tLQogaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIHwg
MTA3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBpbmNsdWRlL3VrL2JpdG9w
cy5oICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAy
IGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspLCAxMjQgZGVsZXRpb25zKC0pCgpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIGIvaW5jbHVkZS91ay9hcmNoL2F0b21p
Yy5oCmluZGV4IGU2NDQ0YzAuLmNlOGY2ZTUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsvYXJjaC9h
dG9taWMuaAorKysgYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmgKQEAgLTgzLDExMyArODMsNiBA
QCBleHRlcm4gIkMiIHsKIAkJICAgIDogb2xkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXAogCX0pCiAKLS8qKgotICogdGVzdF9hbmRfY2xlYXJf
Yml0IC0gQ2xlYXIgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xkIHZhbHVlCi0gKiBAbnI6IEJpdCB0
byBjbGVhcgotICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQotICoKLSAqIE5vdGUgdGhh
dCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBu
b3QKLSAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCi0g
KgotICogVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljLgotICogSWYgeW91IG5lZWQgYSBtZW1vcnkg
YmFycmllciwgdXNlIHN5bmNoX3Rlc3RfYW5kX2NsZWFyX2JpdCBpbnN0ZWFkLgotICovCi1zdGF0
aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZv
bGF0aWxlIHZvaWQgKmJ5dGUpCi17Ci0Jdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5
dGUpICsgKG5yID4+IDMpOwotCV9fdTggYml0ID0gMSA8PCAobnIgJiA3KTsKLQlfX3U4IG9yaWc7
Ci0KLQlvcmlnID0gX19hdG9taWNfZmV0Y2hfYW5kKGFkZHIsIH5iaXQsIF9fQVRPTUlDX1JFTEFY
RUQpOwotCi0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAwOwotfQotCi0vKioKLSAqIEF0b21pY2Fs
bHkgc2V0IGEgYml0IGFuZCByZXR1cm4gdGhlIG9sZCB2YWx1ZS4KLSAqIFNpbWlsYXIgdG8gdGVz
dF9hbmRfY2xlYXJfYml0LgotICovCi1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRf
c2V0X2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCi17Ci0Jdm9sYXRp
bGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsgKG5yID4+IDMpOwotCV9fdTggYml0ID0g
MSA8PCAobnIgJiA3KTsKLQlfX3U4IG9yaWc7Ci0KLQlvcmlnID0gX19hdG9taWNfZmV0Y2hfb3Io
YWRkciwgYml0LCBfX0FUT01JQ19SRUxBWEVEKTsKLQotCXJldHVybiAob3JpZyAmIGJpdCkgIT0g
MDsKLX0KLQotLyoqCi0gKiBUZXN0IHdoZXRoZXIgYSBiaXQgaXMgc2V0LgotICovCi1zdGF0aWMg
aW5saW5lIGludCB1a2FyY2hfdGVzdF9iaXQodW5zaWduZWQgaW50IG5yLAotCQkJCQljb25zdCB2
b2xhdGlsZSB1bnNpZ25lZCBsb25nICpieXRlKQotewotCWNvbnN0IHZvbGF0aWxlIF9fdTggKnB0
ciA9IChjb25zdCBfX3U4ICopYnl0ZTsKLQlpbnQgcmV0ID0gICgoMSA8PCAobnIgJiA3KSkgJiAo
cHRyW25yID4+IDNdKSkgIT0gMDsKLQotCWJhcnJpZXIoKTsKLQlyZXR1cm4gcmV0OwotfQotCi0v
KioKLSAqIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9zZXRf
Yml0IGJ1dCBkaXNjYXJkcyByZXN1bHQpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNo
X3NldF9iaXQodW5zaWduZWQgaW50IG5yLAotCQkJCQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nICpi
eXRlKQotewotCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KG5yLCBieXRlKTsKLX0KLQotLyoqCi0g
KiBBdG9taWNhbGx5IGNsZWFyIGEgYml0IGluIG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9jbGVhcl9i
aXQgYnV0IGRpc2NhcmRzCi0gKiByZXN1bHQpLgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQgdWth
cmNoX2Nscl9iaXQodW5zaWduZWQgaW50IG5yLAotCQkJCQl2b2xhdGlsZSB1bnNpZ25lZCBsb25n
ICpieXRlKQotewotCXVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KG5yLCBieXRlKTsKLX0KLQotLyog
QXMgdGVzdF9hbmRfY2xlYXJfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwotc3Rh
dGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyh1bnNpZ25lZCBpbnQg
bnIsCi0JCQkJCQl2b2xhdGlsZSB2b2lkICpieXRlKQotewotCXZvbGF0aWxlIF9fdTggKmFkZHIg
PSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKLQlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7
Ci0JX191OCBvcmlnOwotCi0Jb3JpZyA9IF9fYXRvbWljX2ZldGNoX2FuZChhZGRyLCB+Yml0LCBf
X0FUT01JQ19TRVFfQ1NUKTsKLQotCXJldHVybiAob3JpZyAmIGJpdCkgIT0gMDsKLX0KLQotLyog
QXMgdGVzdF9hbmRfc2V0X2JpdCwgYnV0IHVzaW5nIF9fQVRPTUlDX1NFUV9DU1QgKi8KLXN0YXRp
YyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50IG5y
LAotCQkJCQkJdm9sYXRpbGUgdm9pZCAqYnl0ZSkKLXsKLQl2b2xhdGlsZSBfX3U4ICphZGRyID0g
KChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Ci0JX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwot
CV9fdTggb3JpZzsKLQotCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihhZGRyLCBiaXQsIF9fQVRP
TUlDX1NFUV9DU1QpOwotCi0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAwOwotfQotCi0vKiBBcyBz
ZXRfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwotc3RhdGljIGlubGluZSB2b2lk
IHVrYXJjaF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRl
KQotewotCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5bmMobnIsIGJ5dGUpOwotfQotCi0vKiBB
cyBjbGVhcl9iaXQsIGJ1dCB1c2luZyBfX0FUT01JQ19TRVFfQ1NUICovCi1zdGF0aWMgaW5saW5l
IHZvaWQgdWthcmNoX2Nscl9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQg
KmJ5dGUpCi17Ci0JdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyhuciwgYnl0ZSk7Ci19Ci0K
ICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2Jp
dG9wcy5oIGIvaW5jbHVkZS91ay9iaXRvcHMuaAppbmRleCA1YTI4NDEwLi4zNzNkY2QzIDEwMDY0
NAotLS0gYS9pbmNsdWRlL3VrL2JpdG9wcy5oCisrKyBiL2luY2x1ZGUvdWsvYml0b3BzLmgKQEAg
LTI0MiwzOCArMjQyLDg4IEBAIHVrX2ZpbmRfbmV4dF96ZXJvX2JpdChjb25zdCB1bnNpZ25lZCBs
b25nICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCiAJcmV0dXJuIChiaXQpOwogfQogCi0vKiB1
a19zZXRfYml0IGFuZCB1a19jbGVhcl9iaXQgYXJlIGF0b21pYyBhbmQgcHJvdGVjdGVkIGFnYWlu
c3QKLSAqIHJlb3JkZXJpbmcgKGRvIGJhcnJpZXJzKSwgd2hpbGUgdGhlIHVuZGVyc2NvcmVkIChf
XyopIHZlcnNpb25zIG9mCi0gKiB0aGVtIGRvbid0IChub3QgYXRvbWljKS4KKy8qKgorICogdWtf
dGVzdF9hbmRfY2xlYXJfYml0IC0gQXRvbWljYWxseSBjbGVhciBhIGJpdCBhbmQgcmV0dXJuIGl0
cyBvbGQgdmFsdWUKKyAqIEBucjogQml0IHRvIGNsZWFyCisgKiBAYWRkcjogQWRkcmVzcyB0byBj
b3VudCBmcm9tCisgKgorICogTm90ZSB0aGF0IEBuciBtYXkgYmUgYWxtb3N0IGFyYml0cmFyaWx5
IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5vdAorICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24g
YSBzaW5nbGUtd29yZCBxdWFudGl0eS4KICAqLwotI2RlZmluZSBfX3VrX3NldF9iaXQoaSwgYSkg
ICAgICAgIHVrYXJjaF9zZXRfYml0KGksIGEpCi0jZGVmaW5lIHVrX3NldF9iaXQoaSwgYSkgICAg
ICAgICAgdWthcmNoX3NldF9iaXRfc3luYyhpLCBhKQotI2RlZmluZSBfX3VrX2NsZWFyX2JpdChp
LCBhKSAgICAgIHVrYXJjaF9jbHJfYml0KGksIGEpCi0jZGVmaW5lIHVrX2NsZWFyX2JpdChpLCBh
KSAgICAgICAgdWthcmNoX2Nscl9iaXRfc3luYyhpLCBhKQotI2RlZmluZSB1a190ZXN0X2JpdChp
LCBhKSAgICAgICAgIHVrYXJjaF90ZXN0X2JpdChpLCBhKQotCiBzdGF0aWMgaW5saW5lIGludAot
dWtfdGVzdF9hbmRfY2xlYXJfYml0KGxvbmcgYml0LCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICp2
YXIpCit1a190ZXN0X2FuZF9jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9u
ZyAqYWRkcikKIHsKLQlyZXR1cm4gdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyhiaXQsICh2
b2xhdGlsZSB2b2lkICopIHZhcik7CisJdm9sYXRpbGUgX191OCAqcHRyID0gKChfX3U4ICopIGFk
ZHIpICsgKG5yID4+IDMpOworCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7CisJX191OCBvcmln
OworCisJb3JpZyA9IF9fYXRvbWljX2ZldGNoX2FuZChwdHIsIH5tYXNrLCBfX0FUT01JQ19TRVFf
Q1NUKTsKKworCXJldHVybiAob3JpZyAmIG1hc2spICE9IDA7CiB9CiAKKy8qKgorICogX191a190
ZXN0X2FuZF9jbGVhcl9iaXQgLSBDbGVhciBhIGJpdCBhbmQgcmV0dXJuIGl0cyBvbGQgdmFsdWUK
KyAqIEBucjogQml0IHRvIGNsZWFyCisgKiBAYWRkcjogQWRkcmVzcyB0byBjb3VudCBmcm9tCisg
KgorICogTm90ZSB0aGF0IEBuciBtYXkgYmUgYWxtb3N0IGFyYml0cmFyaWx5IGxhcmdlOyB0aGlz
IGZ1bmN0aW9uIGlzIG5vdAorICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUtd29y
ZCBxdWFudGl0eS4KKyAqCisgKiBUaGlzIG9wZXJhdGlvbiBpcyBub3QgYXRvbWljIGFuZCBjYW4g
YmUgcmVvcmRlcmVkCisgKi8KIHN0YXRpYyBpbmxpbmUgaW50Ci1fX3VrX3Rlc3RfYW5kX2NsZWFy
X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQorX191a190ZXN0X2Fu
ZF9jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKIHsKLQly
ZXR1cm4gdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQoYml0LCAodm9sYXRpbGUgdm9pZCAqKSB2YXIp
OworCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSArIChuciA+PiAzKTsKKwlf
X3U4IG1hc2sgPSAxIDw8IChuciAmIDcpOworCV9fdTggb3JpZzsKKworCW9yaWcgPSBfX2F0b21p
Y19mZXRjaF9hbmQocHRyLCB+bWFzaywgX19BVE9NSUNfUkVMQVhFRCk7CisKKwlyZXR1cm4gKG9y
aWcgJiBtYXNrKSAhPSAwOwogfQogCisvKioKKyAqIF9fdWtfdGVzdF9hbmRfc2V0X2JpdCAtIEF0
b21pY2FsbHkgc2V0IGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQorICogQG5yOiBCaXQg
dG8gY2xlYXIKKyAqIEBhZGRyOiBBZGRyZXNzIHRvIGNvdW50IGZyb20KKyAqCisgKiBOb3RlIHRo
YXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMg
bm90CisgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5Lgor
ICovCiBzdGF0aWMgaW5saW5lIGludAotdWtfdGVzdF9hbmRfc2V0X2JpdChsb25nIGJpdCwgdm9s
YXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQordWtfdGVzdF9hbmRfc2V0X2JpdChsb25nIG5yLCB2
b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQogewotCXJldHVybiB1a2FyY2hfdGVzdF9hbmRf
c2V0X2JpdF9zeW5jKGJpdCwgKHZvbGF0aWxlIHZvaWQgKikgdmFyKTsKKwl2b2xhdGlsZSBfX3U4
ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7CisJX191OCBtYXNrID0gMSA8PCAo
bnIgJiA3KTsKKwlfX3U4IG9yaWc7CisKKwlvcmlnID0gX19hdG9taWNfZmV0Y2hfb3IocHRyLCBt
YXNrLCBfX0FUT01JQ19TRVFfQ1NUKTsKKworCXJldHVybiAob3JpZyAmIG1hc2spICE9IDA7CiB9
CiAKKy8qKgorICogX191a190ZXN0X2FuZF9zZXRfYml0IC0gU2V0IGEgYml0IGFuZCByZXR1cm4g
aXRzIG9sZCB2YWx1ZQorICogQG5yOiBCaXQgdG8gY2xlYXIKKyAqIEBhZGRyOiBBZGRyZXNzIHRv
IGNvdW50IGZyb20KKyAqCisgKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJp
bHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90CisgKiByZXN0cmljdGVkIHRvIGFjdGluZyBv
biBhIHNpbmdsZS13b3JkIHF1YW50aXR5LgorICoKKyAqIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBh
dG9taWMgYW5kIGNhbiBiZSByZW9yZGVyZWQKKyAqLwogc3RhdGljIGlubGluZSBpbnQKLV9fdWtf
dGVzdF9hbmRfc2V0X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQor
X191a190ZXN0X2FuZF9zZXRfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFk
ZHIpCiB7Ci0JcmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KGJpdCwgKHZvbGF0aWxlIHZv
aWQgKikgdmFyKTsKKwl2b2xhdGlsZSBfX3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIg
Pj4gMyk7CisJX191OCBtYXNrID0gMSA8PCAobnIgJiA3KTsKKwlfX3U4IG9yaWc7CisKKwlvcmln
ID0gX19hdG9taWNfZmV0Y2hfb3IocHRyLCBtYXNrLCBfX0FUT01JQ19SRUxBWEVEKTsKKworCXJl
dHVybiAob3JpZyAmIG1hc2spICE9IDA7CiB9CiAKIGVudW0gewpAQCAtMjgyLDYgKzMzMiwzOSBA
QCBlbnVtIHsKIAlSRUdfT1BfUkVMRUFTRSwKIH07CiAKKy8qIHVrX3NldF9iaXQgYW5kIHVrX2Ns
ZWFyX2JpdCBhcmUgYXRvbWljIGFuZCBwcm90ZWN0ZWQgYWdhaW5zdAorICogcmVvcmRlcmluZyAo
ZG8gYmFycmllcnMpLCB3aGlsZSB0aGUgdW5kZXJzY29yZWQgKF9fKikgdmVyc2lvbnMgb2YKKyAq
IHRoZW0gZG9uJ3QgKG5vdCBhdG9taWMpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgdWtfc2V0
X2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQoreworCXVrX3Rlc3Rf
YW5kX3NldF9iaXQobnIsIGFkZHIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX191a19zZXRf
Yml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCit7CisJX191a190ZXN0
X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHVrX2NsZWFy
X2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQoreworCXVrX3Rlc3Rf
YW5kX2NsZWFyX2JpdChuciwgYWRkcik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3VrX2Ns
ZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQoreworCV9fdWtf
dGVzdF9hbmRfY2xlYXJfYml0KG5yLCBhZGRyKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgdWtf
dGVzdF9iaXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQorewor
CWNvbnN0IHZvbGF0aWxlIF9fdTggKnB0ciA9IChjb25zdCBfX3U4ICopIGFkZHI7CisJaW50IHJl
dCA9ICAoKDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7CisKKwliYXJyaWVy
KCk7CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIGlubGluZSBpbnQKIF9fdWtfYml0b3B0c19y
ZWdfb3AodW5zaWduZWQgbG9uZyAqYml0bWFwLCBpbnQgcG9zLCBpbnQgb3JkZXIsIGludCByZWdf
b3ApCiB7Ci0tIAoyLjE5LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 09:24:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 09:24:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8MLt-0003cz-Of; Fri, 05 Oct 2018 09:24:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=beh0=mr=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1g8MLt-0003cu-51
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 09:24:53 +0000
X-Inumbo-ID: ae422ee4-c880-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ae422ee4-c880-11e8-a6a9-d7ebe60f679a;
 Fri, 05 Oct 2018 09:26:04 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 6AB21F205E;
 Fri,  5 Oct 2018 11:24:49 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id tZpdiHCjkbLZ; Fri,  5 Oct 2018 11:24:49 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 2DD6FF205D;
 Fri,  5 Oct 2018 11:24:45 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 5 Oct 2018 11:24:44
 +0200
To: Costin Lupu <costin.lup@gmail.com>, <minios-devel@lists.xen.org>
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
 <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
 <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <13a04e72-bf4c-8a3f-a3c1-a2f9400e1624@neclab.eu>
Date: Fri, 5 Oct 2018 11:24:44 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKbGV0IG1lIGdpdmUgYSBxdWljayBhbnN3ZXI6CgpPbiAxMC8wMi8yMDE4IDA5
OjE2IEFNLCBDb3N0aW4gTHVwdSB3cm90ZToKPiBJIGZpbmQgYWxsb3dpbmcgdXNlcnMgdGhlIGZy
ZWVkb20gdG8gc2V0IGFueSBmcmVxdWVuY3kgdGhleSBsaWtlIHRvIGhhdmUKPiAyIGRpc2FkdmFu
dGFnZXM6Cj4gCj4gMS4gVGhlIHRpY2sgZnJlcXVlbmN5IHNob3VsZCBiZSBjaG9zZW4gYmFzZWQg
b24gYSBwcmlvciBhbmFseXNpcwo+IGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYXRpb24uIEFuIGlu
dGVnZXIgZmllbGQgd291bGQgYWxsb3cgdXNlcnMgdG8gc2V0Cj4gYW55IGZyZXF1ZW5jeSB0aGV5
IHdhbnQgd2hldGhlciB0aGV5IGtub3cgd2hhdCB0aGV5J3JlIGRvaW5nIG9yIG5vdC4gSQo+IGZp
bmQgdGhpcyBsZXZlbCBvZiBmcmVlZG9tIGRhbmdlcm91cyBoZXJlLgoKV2VsbCwgdGhhdCdzIHVw
IHRvIHRoZSBkZXZlbG9wZXIsIEkgdGhpbmsuIEknbSBmb3IgdGhlIGZyZWVkb20gdG8gc2hvb3Qg
CnlvdXJzZWxmIGluIHRoZSBmb290IGlmIHlvdSB0aGluayB5b3Uga25vdyBiZXR0ZXIgd2hhdCB0
byBzZXQgaGVyZS4KCgo+IDIuIEEgZ2l2ZW4gZnJlcXVlbmN5IHZhbHVlIG1heSBub3QgYmUgc3Vw
cG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5nIHRpbWVycwo+IGFuZCB0aGVyZWZvcmUgaXQgd291bGQg
ZWl0aGVyIGhhdmUgbm8gZWZmZWN0IChlLmcuIGJlaW5nIGlnbm9yZWQpIG9yCj4gZ2VuZXJhdGUg
YW4gaW5jb3JyZWN0IGJlaGF2aW9yLgoKVGhhdCBzaG91bGQgYmUgY2FwdHVyZWQgYnkgYW4gZXJy
b3ItaGFuZGxpbmcgbWVjaGFuaXNtLCByaWdodD8gVGhyb3VnaCBhIApDUklUIHdhcm5pbmcgb3Ig
d29yc3QgY2FzZSBjcmFzaCB3aGVuIGEgc2V0dGluZ3MgZG9lc24ndCB3b3JrLiBPciBhcmUgCnlv
dSBzYXlpbmcgdGhhdCBzb21lIHRpbWVycyBzaWxlbnRseSBpZ25vcmUgdW5zdXBwb3J0ZWQgc2V0
dGluZ3Mgd2l0aG91dCAKZ2l2aW5nIGFueSB3YXkgdG8gZmlndXJlIG91dCB3aGV0aGVyIGEgc2V0
dGluZyB3aWxsIHdvcmsgb3Igbm90PwoKCj4gTm93IHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIG9w
dGlvbnMsIHR3byBzaG91bGQgYmUgZW5vdWdoIGZvciBtYWtpbmcgdGhlCj4gY2FzZSBmb3IgaG93
IHdlIGNhbiBjb25maWd1cmUgdGhlIHRpbWVyLiBQbGVhc2UgZmVlbCBmcmVlIHRvIGFtZW5kIHRo
aXMKPiBwYXRjaCBvciB0byBzdWJtaXQgYW5vdGhlciBvbmUgZm9yIGV4dGVuZGluZyB0aGUgbnVt
YmVyIG9mIG9wdGlvbnMuCgpJIG1pZ2h0IGRvIHRoYXQsIGJ1dCBJJ2QgcHJlZmVyIHRvIGhhdmUg
c29tZSBhZGRpdGlvbmFsIGlucHV0IGZyb20gCm90aGVycyBmaXJzdC4KCkNoZWVycywKRmxvcmlh
bgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 09:39:18 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 09:39:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8MZp-0004Vw-51; Fri, 05 Oct 2018 09:39:17 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=qy0t=mr=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1g8MZo-0004Vr-8a
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 09:39:16 +0000
X-Inumbo-ID: 2db30a73-c882-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 2db30a73-c882-11e8-a8a5-bc764e045a96;
 Fri, 05 Oct 2018 11:36:48 +0200 (CEST)
Received: by mail-wr1-x444.google.com with SMTP id w5-v6so12859768wrt.2
 for <minios-devel@lists.xen.org>; Fri, 05 Oct 2018 02:39:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=DH38Fg6nqWBui5K26fkmcn+beHq5cMuB4Y0n90Gm+uk=;
 b=mJqX2HU/kA1oS8jCDPBFvkRSvxU8VKQ7sAvQK3dH0Ko7WbJUGX6P/nels93QpnvZqM
 AqrAmSSwTSlg66emrY1M231/XwjoXIdfCI55cRnaH/vtjNA9c2fiLfhPC5NiorMbRO/c
 IMgsL3SPadWCUFhtIX3axVrx1Ybdd/cPQzhohNaoh8TdMlornV0rEM5cidWW5nCYYUuv
 pjxMC+qF5+hW4Fv9mSofgPLdKenUYf4HYR2EjJuPLA4mAmWtLO1nPbqmQtQOQloo9YxI
 VvJgFKmzZXQzP010d4BOlwv5AqZmmacoQcpDB5YLiN9G7ipVKZ5s/QE8LIuJt2OUlClR
 mIRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=DH38Fg6nqWBui5K26fkmcn+beHq5cMuB4Y0n90Gm+uk=;
 b=kUd3xZnhoOuXU7dsiiVL5qEPUTYR5x2yeMCAF+8zxcaKTb6ajr3Coq6o88fvjSZwEt
 VjLbAV/KSxSL7wZLHVT5BltK1uDoCOHo75YxwDfU7UQWuy/nfY2I6Ym7BkTkT+8K8PLX
 f7tqELDMQ2iscraG+2i2K6I3Yo0EBAyA9iqFW7DepCavzGTA2wsp+Y/qDzQ5plPj2Jm5
 DBwIkXn9fUcr1s1RnEVEKBD1X/V2oLCHK/1yEy8Z+DMcdlhyzA3NaCgEgMfRs80qeS4T
 F3KZ3Fe8e9Y4WVAV/QiZsNHRg/U+ET/zkVlLELc60MvyRjfCOZ6d4XaD8dYlzhM9jkb1
 eWTg==
X-Gm-Message-State: ABuFfogaVQEFGRZXH7JWay+SKYZo6kynFPsLFOAK4d0iWT9D2QWtpPgk
 i4zrFVecADWHipxyfYE5ZIY=
X-Google-Smtp-Source: ACcGV63kH+n/cC4skPUYbehUC2VUHmlB0dgXNJpU6wcBL0765QSLoBqPSb2W0j373EuqZU8cW5F/Vw==
X-Received: by 2002:a5d:40cd:: with SMTP id
 b13-v6mr8098370wrq.133.1538732352792; 
 Fri, 05 Oct 2018 02:39:12 -0700 (PDT)
Received: from [172.19.2.117] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id g3-v6sm7054215wrw.81.2018.10.05.02.39.11
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 05 Oct 2018 02:39:12 -0700 (PDT)
To: Florian Schmidt <Florian.Schmidt@neclab.eu>, minios-devel@lists.xen.org
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
 <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
 <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
 <13a04e72-bf4c-8a3f-a3c1-a2f9400e1624@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <56a99e69-951e-23d5-afe0-2c10a6a25623@gmail.com>
Date: Fri, 5 Oct 2018 12:39:11 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <13a04e72-bf4c-8a3f-a3c1-a2f9400e1624@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMC81LzE4IDEyOjI0IFBNLCBGbG9yaWFuIFNjaG1pZHQgd3JvdGU6Cj4gSGkgQ29zdGlu
LAo+IAo+IGxldCBtZSBnaXZlIGEgcXVpY2sgYW5zd2VyOgo+IAo+IE9uIDEwLzAyLzIwMTggMDk6
MTYgQU0sIENvc3RpbiBMdXB1IHdyb3RlOgo+PiBJIGZpbmQgYWxsb3dpbmcgdXNlcnMgdGhlIGZy
ZWVkb20gdG8gc2V0IGFueSBmcmVxdWVuY3kgdGhleSBsaWtlIHRvIGhhdmUKPj4gMiBkaXNhZHZh
bnRhZ2VzOgo+Pgo+PiAxLiBUaGUgdGljayBmcmVxdWVuY3kgc2hvdWxkIGJlIGNob3NlbiBiYXNl
ZCBvbiBhIHByaW9yIGFuYWx5c2lzCj4+IGRlcGVuZGluZyBvbiB0aGUgYXBwbGljYXRpb24uIEFu
IGludGVnZXIgZmllbGQgd291bGQgYWxsb3cgdXNlcnMgdG8gc2V0Cj4+IGFueSBmcmVxdWVuY3kg
dGhleSB3YW50IHdoZXRoZXIgdGhleSBrbm93IHdoYXQgdGhleSdyZSBkb2luZyBvciBub3QuIEkK
Pj4gZmluZCB0aGlzIGxldmVsIG9mIGZyZWVkb20gZGFuZ2Vyb3VzIGhlcmUuCj4gCj4gV2VsbCwg
dGhhdCdzIHVwIHRvIHRoZSBkZXZlbG9wZXIsIEkgdGhpbmsuIEknbSBmb3IgdGhlIGZyZWVkb20g
dG8gc2hvb3QKPiB5b3Vyc2VsZiBpbiB0aGUgZm9vdCBpZiB5b3UgdGhpbmsgeW91IGtub3cgYmV0
dGVyIHdoYXQgdG8gc2V0IGhlcmUuCj4gCj4gCj4+IDIuIEEgZ2l2ZW4gZnJlcXVlbmN5IHZhbHVl
IG1heSBub3QgYmUgc3VwcG9ydGVkIGJ5IHRoZSB1bmRlcmx5aW5nIHRpbWVycwo+PiBhbmQgdGhl
cmVmb3JlIGl0IHdvdWxkIGVpdGhlciBoYXZlIG5vIGVmZmVjdCAoZS5nLiBiZWluZyBpZ25vcmVk
KSBvcgo+PiBnZW5lcmF0ZSBhbiBpbmNvcnJlY3QgYmVoYXZpb3IuCj4gCj4gVGhhdCBzaG91bGQg
YmUgY2FwdHVyZWQgYnkgYW4gZXJyb3ItaGFuZGxpbmcgbWVjaGFuaXNtLCByaWdodD8gVGhyb3Vn
aCBhCj4gQ1JJVCB3YXJuaW5nIG9yIHdvcnN0IGNhc2UgY3Jhc2ggd2hlbiBhIHNldHRpbmdzIGRv
ZXNuJ3Qgd29yay4gT3IgYXJlCj4geW91IHNheWluZyB0aGF0IHNvbWUgdGltZXJzIHNpbGVudGx5
IGlnbm9yZSB1bnN1cHBvcnRlZCBzZXR0aW5ncyB3aXRob3V0Cj4gZ2l2aW5nIGFueSB3YXkgdG8g
ZmlndXJlIG91dCB3aGV0aGVyIGEgc2V0dGluZyB3aWxsIHdvcmsgb3Igbm90Pwo+IAoKSW4gZGVl
ZCwgYW4gZXJyb3IgaGFuZGxpbmcgbWVjaGFuaXNtIHNob3VsZCBiZSBpbnRyb2R1Y2VkIGluIHRo
aXMgY2FzZS4KQnV0IHRoaXMgd291bGQgb25seSBhZGQgbW9yZSBjb21wbGV4aXR5IGFuZCBzaG91
bGQgYmUgYWNjb3JkaW5nIHRvIGVhY2gKc3VwcG9ydGVkIHRpbWVyLiBQbGVhc2Uga2VlcCBpbiBt
aW5kIHRoYXQgdGhlcmUgaXMgbm8gc3RhbmRhcmQgd2F5IG9mCmNvbmZpZ3VyaW5nIHRpbWVycyBh
bmQgdGhlIHNldCBvZiBhY2NlcHRlZCBpbnRlcnJ1cHQgZnJlcXVlbmN5IHZhbHVlcwptYXkgZGlm
ZmVyLgoKPiAKPj4gTm93IHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIG9wdGlvbnMsIHR3byBzaG91
bGQgYmUgZW5vdWdoIGZvciBtYWtpbmcgdGhlCj4+IGNhc2UgZm9yIGhvdyB3ZSBjYW4gY29uZmln
dXJlIHRoZSB0aW1lci4gUGxlYXNlIGZlZWwgZnJlZSB0byBhbWVuZCB0aGlzCj4+IHBhdGNoIG9y
IHRvIHN1Ym1pdCBhbm90aGVyIG9uZSBmb3IgZXh0ZW5kaW5nIHRoZSBudW1iZXIgb2Ygb3B0aW9u
cy4KPiAKPiBJIG1pZ2h0IGRvIHRoYXQsIGJ1dCBJJ2QgcHJlZmVyIHRvIGhhdmUgc29tZSBhZGRp
dGlvbmFsIGlucHV0IGZyb20KPiBvdGhlcnMgZmlyc3QuCj4gCj4gQ2hlZXJzLAo+IEZsb3JpYW4K
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 05 11:54:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 05 Oct 2018 11:54:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g8Og9-0000tW-BN; Fri, 05 Oct 2018 11:53:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=beh0=mr=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1g8Og8-0000tR-9r
 for minios-devel@lists.xen.org; Fri, 05 Oct 2018 11:53:56 +0000
X-Inumbo-ID: 80e3c29c-c895-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 80e3c29c-c895-11e8-a6a9-d7ebe60f679a;
 Fri, 05 Oct 2018 11:55:08 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D59331049FB;
 Fri,  5 Oct 2018 13:53:52 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id EiHk0X2l9NM7; Fri,  5 Oct 2018 13:53:52 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id AF7271041F7
 for <minios-devel@lists.xen.org>; Fri,  5 Oct 2018 13:53:50 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 5 Oct 2018 13:53:50
 +0200
To: Yuri Volchkov <yuri.volchkov@neclab.eu>, <minios-devel@lists.xen.org>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
 <20181005082141.15862-2-yuri.volchkov@neclab.eu>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <40f05f66-e554-3b79-c861-4e1190c564df@neclab.eu>
Date: Fri, 5 Oct 2018 13:53:50 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20181005082141.15862-2-yuri.volchkov@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/4] include/uk: do not cast
 away volatile in atomic.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgWXVyaSwKCnRoYW5rcyBmb3IgcmV2aXNpdGluZyB0aGlzLgoKCk9uIDEwLzA1LzIwMTggMTA6
MjEgQU0sIFl1cmkgVm9sY2hrb3Ygd3JvdGU6Cj4gTWFueSBmdW5jdGlvbnMgaW4gaW5jbHVkZS91
ay9hcmNoL2F0b21pYy5oIGFjY2VwdCBhIHZvbGF0aWxlIGFyZ3VtZW50Cj4gYW5kIHRoZW4gY2Fz
dCBpdCB0byBzb21ldGhpbmcgbGlrZSAiX191OCAqIi4gSW4gbWFueSBjYXNlcyBpdCBpcyBvaywK
PiBfX2F0b21pY18qKCkgaXMgY2FsbGVkIGluc2lkZSB0aGUgZnVuY3Rpb24uIEJ1dCBpbiBvdGhl
ciBjYXNlcywgdGhpcwo+IG1lbW9yeSBhY2Nlc3MgaXMgYSBzdWJqZWN0IHRvIGNvbXBpbGVyIG9w
dGltaXphdGlvbiwgYW5kIG1heSBsZWFkIHRvCj4gYW4gdW5leHBlY3RlZCBiZWhhdmlvci4KPiAK
PiBTaWduZWQtb2ZmLWJ5OiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNoa292QG5lY2xhYi5ldT4K
ClJldmlld2VkLWJ5OiBGbG9yaWFuIFNjaG1pZHQgPGZsb3JpYW4uc2NobWlkdEBuZWNsYWIuZXU+
Cj4gLS0tCj4gICBpbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggfCAxMCArKysrKy0tLS0tCj4gICAx
IGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg
LS1naXQgYS9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWlj
LmgKPiBpbmRleCBkNGFiZWI3Li4wOTY0ZTE0IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWsvYXJj
aC9hdG9taWMuaAo+ICsrKyBiL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAo+IEBAIC05Niw3ICs5
Niw3IEBAIGV4dGVybiAiQyIgewo+ICAgICovCj4gICBzdGF0aWMgaW5saW5lIGludCB1a2FyY2hf
dGVzdF9hbmRfY2xyX2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4g
ICB7Cj4gLQlfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4gKwl2b2xh
dGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4gICAJX191OCBi
aXQgPSAxIDw8IChuciAmIDcpOwo+ICAgCV9fdTggb3JpZzsKPiAgIAo+IEBAIC0xMTEsNyArMTEx
LDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQodW5zaWduZWQg
aW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQo+ICAgICovCj4gICBzdGF0aWMgaW5saW5lIGlu
dCB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQg
KmJ5dGUpCj4gICB7Cj4gLQlfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7
Cj4gKwl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4g
ICAJX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwo+ICAgCV9fdTggb3JpZzsKPiAgIAo+IEBAIC0x
MjYsNyArMTI2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3NldF9iaXQo
dW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQo+ICAgc3RhdGljIGlubGluZSBp
bnQgdWthcmNoX3Rlc3RfYml0KHVuc2lnbmVkIGludCBuciwKPiAgIAkJCQkJY29uc3Qgdm9sYXRp
bGUgdW5zaWduZWQgbG9uZyAqYnl0ZSkKPiAgIHsKPiAtCWNvbnN0IF9fdTggKnB0ciA9IChjb25z
dCBfX3U4ICopYnl0ZTsKPiArCWNvbnN0IHZvbGF0aWxlIF9fdTggKnB0ciA9IChjb25zdCBfX3U4
ICopYnl0ZTsKPiAgIAo+ICAgCXJldHVybiAoKDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAz
XSkpICE9IDA7Cj4gICB9Cj4gQEAgLTE1NCw3ICsxNTQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg
dWthcmNoX2Nscl9iaXQodW5zaWduZWQgaW50IG5yLAo+ICAgc3RhdGljIGlubGluZSBpbnQgdWth
cmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsCj4gICAJCQkJCQl2b2xh
dGlsZSB2b2lkICpieXRlKQo+ICAgewo+IC0JX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsg
KG5yID4+IDMpOwo+ICsJdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsgKG5y
ID4+IDMpOwo+ICAgCV9fdTggYml0ID0gMSA8PCAobnIgJiA3KTsKPiAgIAlfX3U4IG9yaWc7Cj4g
ICAKPiBAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2Fu
ZF9jbHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAo+ICAgc3RhdGljIGlubGluZSBpbnQgdWth
cmNoX3Rlc3RfYW5kX3NldF9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsCj4gICAJCQkJCQl2b2xh
dGlsZSB2b2lkICpieXRlKQo+ICAgewo+IC0JX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsg
KG5yID4+IDMpOwo+ICsJdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsgKG5y
ID4+IDMpOwo+ICAgCV9fdTggYml0ID0gMSA8PCAobnIgJiA3KTsKPiAgIAlfX3U4IG9yaWc7Cj4g
ICAKPiAKCi0tIApEci4gRmxvcmlhbiBTY2htaWR0CuODleODreODvOODquOCouODs+ODu+OCt+OD
peODn+ODg+ODiApSZXNlYXJjaCBTY2llbnRpc3QsClN5c3RlbXMgYW5kIE1hY2hpbmUgTGVhcm5p
bmcgR3JvdXAKTkVDIExhYm9yYXRvcmllcyBFdXJvcGUKS3VyZsO8cnN0ZW4tQW5sYWdlIDM2LCBE
LTY5MTE1IEhlaWRlbGJlcmcKVGVsLiAgICAgKzQ5ICgwKTYyMjEgNDM0Mi0yNjUKRmF4OiAgICAg
KzQ5ICgwKTYyMjEgNDM0Mi0xNTUKZS1tYWlsOiAgZmxvcmlhbi5zY2htaWR0QG5lY2xhYi5ldQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KUmVnaXN0ZXJlZCBhdCBBbXRzZ2VyaWNodCBNYW5uaGVpbSwgR2VybWFueSwgSFJCNzI4NTU4
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 08:42:28 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 08:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9R7S-0002Yi-KC; Mon, 08 Oct 2018 08:42:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fisy=mu=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1g9R7R-0002Yd-Pl
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 08:42:25 +0000
X-Inumbo-ID: 40d4384b-cad6-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 40d4384b-cad6-11e8-a6a9-d7ebe60f679a;
 Mon, 08 Oct 2018 08:43:40 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 26E80F2011;
 Mon,  8 Oct 2018 10:42:22 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id qvaqTLhbH-at; Mon,  8 Oct 2018 10:42:22 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DE7E1F2001
 for <minios-devel@lists.xen.org>; Mon,  8 Oct 2018 10:42:19 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Oct 2018 10:42:19
 +0200
To: Yuri Volchkov <yuri.volchkov@neclab.eu>, <minios-devel@lists.xen.org>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
 <20181005082141.15862-4-yuri.volchkov@neclab.eu>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <2bbf4cb7-b0aa-8336-f37d-80a485d05191@neclab.eu>
Date: Mon, 8 Oct 2018 10:42:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20181005082141.15862-4-yuri.volchkov@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/4] use one api for bit
 operation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgWXVyaSwKCk9uIDEwLzA1LzIwMTggMTA6MjEgQU0sIFl1cmkgVm9sY2hrb3Ygd3JvdGU6Cj4g
QSBwb3J0IG9mIGxpbnV4IGJpdCBvcGVyYXRpb25zIGhhcyBiZWVuIGludHJvZHVjZWQgcmVjZW50
bHkuIFNvIGZhcgo+IGJvdGggQVBJcyB3ZXJlIGluIHVzZS4gTGV0J3MgdXNlIG9ubHkgdGhlIGxp
bnV4IG9uZSwgZm9yIHRoZSBzYWtlIG9mCj4gY29uc2lzdGVuY3kuCgpXYWl0LiBUaGUgImxpbnV4
IG9uZSIgaXNuJ3QgZnJvbSB0aGUgTGludXgga2VybmVsLCBhcyBpbiwgdW5kZXIgR1BMLCBpcyBp
dD8KCj4gCj4gU2lnbmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNs
YWIuZXU+Cj4gLS0tCj4gICBsaWIvdmZzY29yZS9mZC5jICAgICAgICAgICB8ICA0ICsrLS0KPiAg
IHBsYXQvY29tbW9uL2FybS90aW1lLmMgICAgIHwgIDYgKysrLS0tCj4gICBwbGF0L2t2bS9pcnEu
YyAgICAgICAgICAgICB8ICA2ICsrKy0tLQo+ICAgcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMgICAg
fCAgNiArKystLS0KPiAgIHBsYXQveGVuL2V2ZW50cy5jICAgICAgICAgIHwgMTggKysrKysrKysr
LS0tLS0tLS0tCj4gICBwbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYyB8ICA0ICsrLS0KPiAgIDYg
ZmlsZXMgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4gCj4gZGlm
ZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2ZkLmMgYi9saWIvdmZzY29yZS9mZC5jCj4gaW5kZXggMDdh
NjliNS4uNmMyMjA0MiAxMDA2NDQKPiAtLS0gYS9saWIvdmZzY29yZS9mZC5jCj4gKysrIGIvbGli
L3Zmc2NvcmUvZmQuYwo+IEBAIC0zNSw3ICszNSw3IEBACj4gICAKPiAgICNpbmNsdWRlIDxzdHJp
bmcuaD4KPiAgICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+Cj4gLSNpbmNsdWRlIDx1ay9hcmNo
L2F0b21pYy5oPgo+ICsjaW5jbHVkZSA8dWsvYml0b3BzLmg+Cj4gICAjaW5jbHVkZSA8dWsvYXNz
ZXJ0Lmg+Cj4gICAjaW5jbHVkZSA8dmZzY29yZS9maWxlLmg+Cj4gICAjaW5jbHVkZSA8dWsvcGxh
dC9sY3B1Lmg+Cj4gQEAgLTc4LDcgKzc4LDcgQEAgdm9pZCB2ZnNjb3JlX3B1dF9mZChpbnQgZmQp
Cj4gICAJLyogQ3VycmVudGx5IGl0IGlzIG5vdCBhbGxvd2VkIHRvIGZyZWUgc3RkKGlufG91dHxl
cnIpICovCj4gICAJVUtfQVNTRVJUKGZkID4gMik7Cj4gICAKPiAtCXVrYXJjaF90ZXN0X2FuZF9j
bHJfYml0KGZkLCAmZmR0YWJsZS5iaXRtYXApOwo+ICsJX191a19jbGVhcl9iaXQoZmQsICZmZHRh
YmxlLmJpdG1hcCk7Cj4gICB9Cj4gICAKPiAgIHZvaWQgdmZzY29yZV9pbnN0YWxsX2ZkKGludCBm
ZCwgc3RydWN0IHZmc2NvcmVfZmlsZSAqZmlsZSkKPiBkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24v
YXJtL3RpbWUuYyBiL3BsYXQvY29tbW9uL2FybS90aW1lLmMKPiBpbmRleCA5NDlmYTc0Li5mMWRm
OThkIDEwMDY0NAo+IC0tLSBhL3BsYXQvY29tbW9uL2FybS90aW1lLmMKPiArKysgYi9wbGF0L2Nv
bW1vbi9hcm0vdGltZS5jCj4gQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgaW50IGdlbmVyaWNf
dGltZXJfaW5pdCh2b2lkKQo+ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gLWxvbmcgc2NoZWRf
aGF2ZV9wZW5kaW5nX2V2ZW50czsKPiArdW5zaWduZWQgbG9uZyBzY2hlZF9oYXZlX3BlbmRpbmdf
ZXZlbnRzOwo+ICAgCj4gICB2b2lkIHRpbWVfYmxvY2tfdW50aWwoX19zbnNlYyB1bnRpbCkKPiAg
IHsKPiBAQCAtMTgyLDggKzE4Miw4IEBAIHZvaWQgdGltZV9ibG9ja191bnRpbChfX3Nuc2VjIHVu
dGlsKQo+ICAgCQkgKiBBcyB3ZSBoYXZlbid0IHN1cHBvcnQgaW50ZXJydXB0IG9uIEFybSwgc28g
d2UganVzdAo+ICAgCQkgKiB1c2UgYnVzeSBwb2xsaW5nIGZvciBub3cuCj4gICAJCSAqLwo+IC0J
CWlmICh1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50
cykpCj4gLQkJYnJlYWs7Cj4gKwkJaWYgKF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0KDAsICZzY2hl
ZF9oYXZlX3BlbmRpbmdfZXZlbnRzKSkKPiArCQkJYnJlYWs7Cj4gICAJfQo+ICAgfQo+ICAgCj4g
ZGlmZiAtLWdpdCBhL3BsYXQva3ZtL2lycS5jIGIvcGxhdC9rdm0vaXJxLmMKPiBpbmRleCBlNzA4
MDY5Li4wYjczNGY2IDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL2lycS5jCj4gKysrIGIvcGxhdC9r
dm0vaXJxLmMKPiBAQCAtMzQsNyArMzQsNyBAQAo+ICAgI2luY2x1ZGUgPGt2bS9pbnRjdHJsLmg+
Cj4gICAjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+Cj4gICAjaW5jbHVkZSA8ZXJybm8uaD4KPiAtI2lu
Y2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4gKyNpbmNsdWRlIDx1ay9iaXRvcHMuaD4KPiAgIAo+
ICAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYWxsb2NhdG9yOwo+ICAgCj4gQEAgLTc1LDcgKzc1
LDcgQEAgaW50IHVrcGxhdF9pcnFfcmVnaXN0ZXIodW5zaWduZWQgbG9uZyBpcnEsIGlycV9oYW5k
bGVyX2Z1bmNfdCBmdW5jLCB2b2lkICphcmcpCj4gICAgKiBUT0RPOiBUaGlzIGlzIGEgdGVtcG9y
YXJ5IHNvbHV0aW9uIHVzZWQgdG8gaWRlbnRpZnkgbm9uIFRTQyBjbG9jawo+ICAgICogaW50ZXJy
dXB0cyBpbiBvcmRlciB0byBzdG9wIHdhaXRpbmcgZm9yIGludGVycnVwdHMgd2l0aCBkZWFkbGlu
ZS4KPiAgICAqLwo+IC1leHRlcm4gbG9uZyBzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzOwo+ICtl
eHRlcm4gdW5zaWduZWQgbG9uZyBzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzOwo+ICAgCj4gICB2
b2lkIF91a3BsYXRfaXJxX2hhbmRsZSh1bnNpZ25lZCBsb25nIGlycSkKPiAgIHsKPiBAQCAtOTUs
NyArOTUsNyBAQCB2b2lkIF91a3BsYXRfaXJxX2hhbmRsZSh1bnNpZ25lZCBsb25nIGlycSkKPiAg
IAkJCSAqIHRoZSBoYWx0aW5nIGxvb3AsIGFuZCBsZXQgaXQgdGFrZSBjYXJlIG9mCj4gICAJCQkg
KiB0aGF0IHdvcmsuCj4gICAJCQkgKi8KPiAtCQkJdWthcmNoX3Rlc3RfYW5kX3NldF9iaXQoMCwg
JnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpOwo+ICsJCQlfX3VrX3Rlc3RfYW5kX3NldF9iaXQo
MCwgJnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpOwo+ICAgCj4gICAJCWlmIChoLT5mdW5jKGgt
PmFyZykgPT0gMSkgewo+ICAgCQkJaGFuZGxlZCA9IDE7Cj4gZGlmZiAtLWdpdCBhL3BsYXQva3Zt
L3g4Ni90c2NjbG9jay5jIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKPiBpbmRleCA0ZWYyMTc5
Li5mM2ZhNTVhIDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL3g4Ni90c2NjbG9jay5jCj4gKysrIGIv
cGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKPiBAQCAtNTgsNyArNTgsNyBAQAo+ICAgI2luY2x1ZGUg
PHVrL3RpbWVjb252Lmg+Cj4gICAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KPiAgICNpbmNsdWRlIDx1
ay9hc3NlcnQuaD4KPiAtI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4gKyNpbmNsdWRlIDx1
ay9iaXRvcHMuaD4KPiAgIAo+ICAgI2RlZmluZSBOU0VDX1BFUl9TRUMgICAgICAgICAxMDAwMDAw
MDAwVUxMCj4gICAKPiBAQCAtMzQ2LDE0ICszNDYsMTQgQEAgc3RhdGljIHZvaWQgdHNjY2xvY2tf
Y3B1X2Jsb2NrKF9fdTY0IHVudGlsKQo+ICAgCXVrcGxhdF9sY3B1X2hhbHRfaXJxKCk7Cj4gICB9
Cj4gICAKPiAtbG9uZyBzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzOwo+ICt1bnNpZ25lZCBsb25n
IHNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHM7Cj4gICAKPiAgIHZvaWQgdGltZV9ibG9ja191bnRp
bChfX3Nuc2VjIHVudGlsKQo+ICAgewo+ICAgCXdoaWxlICgoX19zbnNlYykgdWtwbGF0X21vbm90
b25pY19jbG9jaygpIDwgdW50aWwpIHsKPiAgIAkJdHNjY2xvY2tfY3B1X2Jsb2NrKHVudGlsKTsK
PiAgIAo+IC0JCWlmICh1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5k
aW5nX2V2ZW50cykpCj4gKwkJaWYgKF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0KDAsICZzY2hlZF9o
YXZlX3BlbmRpbmdfZXZlbnRzKSkKPiAgIAkJCWJyZWFrOwo+ICAgCX0KPiAgIH0KPiBkaWZmIC0t
Z2l0IGEvcGxhdC94ZW4vZXZlbnRzLmMgYi9wbGF0L3hlbi9ldmVudHMuYwo+IGluZGV4IDY3MjE5
ODUuLjZkZjNlNGIgMTAwNjQ0Cj4gLS0tIGEvcGxhdC94ZW4vZXZlbnRzLmMKPiArKysgYi9wbGF0
L3hlbi9ldmVudHMuYwo+IEBAIC0zOCw3ICszOCw3IEBACj4gICAjaW5jbHVkZSA8Y29tbW9uL2V2
ZW50cy5oPgo+ICAgI2luY2x1ZGUgPHhlbi94ZW4uaD4KPiAgICNpbmNsdWRlIDx1ay9wcmludC5o
Pgo+IC0jaW5jbHVkZSA8dWsvYXJjaC9hdG9taWMuaD4KPiArI2luY2x1ZGUgPHVrL2JpdG9wcy5o
Pgo+ICAgCj4gICAjZGVmaW5lIE5SX0VWUyAxMDI0Cj4gICAKPiBAQCAtNjksNyArNjksNyBAQCB2
b2lkIHVuYmluZF9hbGxfcG9ydHModm9pZCkKPiAgIAkJCWNvbnRpbnVlOwo+ICAgI2VuZGlmCj4g
ICAKPiAtCQlpZiAodWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQoaSwgYm91bmRfcG9ydHMpKSB7Cj4g
KwkJaWYgKF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0KGksIGJvdW5kX3BvcnRzKSkgewo+ICAgCQkJ
dWtfcHJfd2FybigiUG9ydCAlZCBzdGlsbCBib3VuZCFcbiIsIGkpOwo+ICAgCQkJdW5iaW5kX2V2
dGNobihpKTsKPiAgIAkJfQo+IEBAIC0xMTIsNyArMTEyLDcgQEAgZXZ0Y2huX3BvcnRfdCBiaW5k
X2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQsIGV2dGNobl9oYW5kbGVyX3QgaGFuZGxlciwKPiAg
IAlldl9hY3Rpb25zW3BvcnRdLmRhdGEgPSBkYXRhOwo+ICAgCXdtYigpOwo+ICAgCWV2X2FjdGlv
bnNbcG9ydF0uaGFuZGxlciA9IGhhbmRsZXI7Cj4gLQl1a2FyY2hfc2V0X2JpdChwb3J0LCBib3Vu
ZF9wb3J0cyk7Cj4gKwlfX3VrX3NldF9iaXQocG9ydCwgYm91bmRfcG9ydHMpOwo+ICAgCj4gICAJ
cmV0dXJuIHBvcnQ7Cj4gICB9Cj4gQEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lkIHVuYmluZF9ldnRj
aG4oZXZ0Y2huX3BvcnRfdCBwb3J0KQo+ICAgCWV2X2FjdGlvbnNbcG9ydF0uaGFuZGxlciA9IGRl
ZmF1bHRfaGFuZGxlcjsKPiAgIAl3bWIoKTsKPiAgIAlldl9hY3Rpb25zW3BvcnRdLmRhdGEgPSBO
VUxMOwo+IC0JdWthcmNoX2Nscl9iaXQocG9ydCwgYm91bmRfcG9ydHMpOwo+ICsJX191a19jbGVh
cl9iaXQocG9ydCwgYm91bmRfcG9ydHMpOwo+ICAgCj4gICAJY2xvc2UucG9ydCA9IHBvcnQ7Cj4g
ICAJcmMgPSBIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfY2xvc2UsICZjbG9z
ZSk7Cj4gQEAgLTI5Nyw3ICsyOTcsNyBAQCBpbmxpbmUgdm9pZCBtYXNrX2V2dGNobih1aW50MzJf
dCBwb3J0KQo+ICAgewo+ICAgCXNoYXJlZF9pbmZvX3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9p
bmZvOwo+ICAgCj4gLQl1a2FyY2hfc2V0X2JpdF9zeW5jKHBvcnQsICZzLT5ldnRjaG5fbWFza1sw
XSk7Cj4gKwl1a19zZXRfYml0KHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7Cj4gICB9Cj4gICAK
PiAgIGlubGluZSB2b2lkIHVubWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKPiBAQCAtMzA1LDE1
ICszMDUsMTUgQEAgaW5saW5lIHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQo+ICAg
CXNoYXJlZF9pbmZvX3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwo+ICAgCXZjcHVfaW5m
b190ICp2Y3B1X2luZm8gPSAmcy0+dmNwdV9pbmZvW3NtcF9wcm9jZXNzb3JfaWQoKV07Cj4gICAK
PiAtCXVrYXJjaF9jbHJfYml0X3N5bmMocG9ydCwgJnMtPmV2dGNobl9tYXNrWzBdKTsKPiArCXVr
X2NsZWFyX2JpdChwb3J0LCAmcy0+ZXZ0Y2huX21hc2tbMF0pOwo+ICAgCj4gICAJLyoKPiAgIAkg
KiBUaGUgZm9sbG93aW5nIGlzIGJhc2ljYWxseSB0aGUgZXF1aXZhbGVudCBvZiAnaHdfcmVzZW5k
X2lycScuCj4gICAJICogSnVzdCBsaWtlIGEgcmVhbCBJTy1BUElDIHdlICdsb3NlIHRoZSBpbnRl
cnJ1cHQgZWRnZScgaWYgdGhlCj4gICAJICogY2hhbm5lbCBpcyBtYXNrZWQuCj4gICAJICovCj4g
LQlpZiAodWthcmNoX3Rlc3RfYml0X3N5bmMocG9ydCwgICAgJnMtPmV2dGNobl9wZW5kaW5nWzBd
KSAmJgo+IC0JICAgICF1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKHBvcnQgLyAoc2l6ZW9m
KHVuc2lnbmVkIGxvbmcpICogOCksCj4gKwlpZiAodWtfdGVzdF9iaXQocG9ydCwgJnMtPmV2dGNo
bl9wZW5kaW5nWzBdKSAmJgo+ICsJICAgICF1a190ZXN0X2FuZF9zZXRfYml0KHBvcnQgLyAoc2l6
ZW9mKHVuc2lnbmVkIGxvbmcpICogOCksCj4gICAJCQkJICAgICZ2Y3B1X2luZm8tPmV2dGNobl9w
ZW5kaW5nX3NlbCkpIHsKPiAgIAkJdmNwdV9pbmZvLT5ldnRjaG5fdXBjYWxsX3BlbmRpbmcgPSAx
Owo+ICAgI2lmZGVmIFhFTl9IQVZFX1BWX1VQQ0FMTF9NQVNLCj4gQEAgLTMyNyw3ICszMjcsNyBA
QCBpbmxpbmUgdm9pZCBjbGVhcl9ldnRjaG4odWludDMyX3QgcG9ydCkKPiAgIHsKPiAgIAlzaGFy
ZWRfaW5mb190ICpzID0gSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsKPiAgIAo+IC0JdWthcmNoX2Ns
cl9iaXRfc3luYyhwb3J0LCAmcy0+ZXZ0Y2huX3BlbmRpbmdbMF0pOwo+ICsJdWtfY2xlYXJfYml0
KHBvcnQsICZzLT5ldnRjaG5fcGVuZGluZ1swXSk7Cj4gICB9Cj4gICAKPiAgIHN0cnVjdCB1a19h
bGxvYzsKPiBkaWZmIC0tZ2l0IGEvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMgYi9wbGF0L3hl
bi94ZW5idXMveHNfY29tbXMuYwo+IGluZGV4IGM4MjAxYTUuLjI3NGU0NGIgMTAwNjQ0Cj4gLS0t
IGEvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKPiArKysgYi9wbGF0L3hlbi94ZW5idXMveHNf
Y29tbXMuYwo+IEBAIC0xODYsNyArMTg2LDcgQEAgc3RhdGljIHZvaWQgeHNfcmVxdWVzdF9wdXQo
c3RydWN0IHhzX3JlcXVlc3QgKnhzX3JlcSkKPiAgIAo+ICAgCXVrYXJjaF9zcGluX2xvY2soJnhz
X3JlcV9wb29sLmxvY2spOwo+ICAgCj4gLQlVS19BU1NFUlQodWthcmNoX3Rlc3RfYml0KHJlcWlk
LCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSA9PSAxKTsKPiArCVVLX0FTU0VSVCh1a190ZXN0X2Jp
dChyZXFpZCwgeHNfcmVxX3Bvb2wuZW50cmllc19ibSkgPT0gMSk7Cj4gICAKPiAgIAl1a19jbGVh
cl9iaXQocmVxaWQsIHhzX3JlcV9wb29sLmVudHJpZXNfYm0pOwo+ICAgCXhzX3JlcV9wb29sLm51
bV9saXZlLS07Cj4gQEAgLTQyNyw3ICs0MjcsNyBAQCBzdGF0aWMgdm9pZCBwcm9jZXNzX3JlcGx5
KHN0cnVjdCB4c2Rfc29ja21zZyAqaGRyLCBjaGFyICpwYXlsb2FkKQo+ICAgewo+ICAgCXN0cnVj
dCB4c19yZXF1ZXN0ICp4c19yZXE7Cj4gICAKPiAtCWlmICghdWthcmNoX3Rlc3RfYml0KGhkci0+
cmVxX2lkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSkgewo+ICsJaWYgKCF1a190ZXN0X2JpdCho
ZHItPnJlcV9pZCwgeHNfcmVxX3Bvb2wuZW50cmllc19ibSkpIHsKPiAgIAkJdWtfcHJfd2Fybigi
SW52YWxpZCByZXBseSBpZD0lZFxuIiwgaGRyLT5yZXFfaWQpOwo+ICAgCQlmcmVlKHBheWxvYWQp
Owo+ICAgCQlyZXR1cm47Cj4gCgotLSAKRHIuIEZsb3JpYW4gU2NobWlkdArjg5Xjg63jg7zjg6rj
gqLjg7Pjg7vjgrfjg6Xjg5/jg4Pjg4gKUmVzZWFyY2ggU2NpZW50aXN0LApTeXN0ZW1zIGFuZCBN
YWNoaW5lIExlYXJuaW5nIEdyb3VwCk5FQyBMYWJvcmF0b3JpZXMgRXVyb3BlCkt1cmbDvHJzdGVu
LUFubGFnZSAzNiwgRC02OTExNSBIZWlkZWxiZXJnClRlbC4gICAgICs0OSAoMCk2MjIxIDQzNDIt
MjY1CkZheDogICAgICs0OSAoMCk2MjIxIDQzNDItMTU1CmUtbWFpbDogIGZsb3JpYW4uc2NobWlk
dEBuZWNsYWIuZXUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09ClJlZ2lzdGVyZWQgYXQgQW10c2dlcmljaHQgTWFubmhlaW0sIEdlcm1h
bnksIEhSQjcyODU1OAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJv
amVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21p
bmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 09:01:55 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 09:01:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9RQH-00046s-Ma; Mon, 08 Oct 2018 09:01:53 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=obmj=mu=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g9RQG-00046j-1W
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 09:01:52 +0000
X-Inumbo-ID: 6fbd3035-cad8-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6fbd3035-cad8-11e8-a8a5-bc764e045a96;
 Mon, 08 Oct 2018 10:59:18 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 8A135F2011;
 Mon,  8 Oct 2018 11:01:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id qmBnf9snAThV; Mon,  8 Oct 2018 11:01:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 5F64DF2001;
 Mon,  8 Oct 2018 11:01:43 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Oct
 2018 11:01:42 +0200
To: Dafna Hirschfeld <dafna3@gmail.com>, <minios-devel@lists.xen.org>
References: <20180924074450.7461-1-dafna3@gmail.com>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <8a0c88b3-168a-aa0e-9415-73b0cdd37935@neclab.eu>
Date: Mon, 8 Oct 2018 11:01:42 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20180924074450.7461-1-dafna3@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] build: assign
 CONFIG_CROSS_COMPILE according to priority
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRGFmbmEsCgp0aGFua3MgYSBsb3QgZm9yIHRoaXMgcGF0Y2guIFNvcnJ5IGZvciBteSBsYXRl
IHJlcGx5LgpJIGhhdmUgYSBmZXcgY29tbWVudHMgaW5saW5lIGJ1dCB0aGlzIGZpeCBzaG91bGQg
ZGVmaW5pdGVseSBnbyBpbi4gOy0pCgpDaGVlcnMsCgpTaW1vbgoKT24gMjQuMDkuMjAxOCAwOTo0
NCwgRGFmbmEgSGlyc2NoZmVsZCB3cm90ZToKPiBBc3NpZ24gQ09ORklHX0NST1NTX0NPTVBJTEUg
dG8gQ1JPU1NfQ09NUElMRSBvbmx5Cj4gaWYgQ1JPU1NfQ09NUElMRSBpcyBkZWZpbmVkLCBzbyB0
aGF0IENPTkZJR19DUk9TU19DT01QSUxFCj4gd2lsbCBub3QgYmUgZXJhc2VkIGluIGNhc2UgaXQg
d2FzIHNldCBpbiBgLmNvbmZpZ2AKPiAKPiBTaWduZWQtb2ZmLWJ5OiBEYWZuYSBIaXJzY2hmZWxk
IDxkYWZuYTNAZ21haWwuY29tPgo+IC0tLQo+ICAgTWFrZWZpbGUgICAgICAgICAgICAgICAgICAg
IHwgMyArKysKPiAgIGFyY2gvYXJtL2FybS9Db21waWxlci51ayAgICB8IDIgKy0KPiAgIGFyY2gv
YXJtL2FybTY0L0NvbXBpbGVyLnVrICB8IDIgKy0KPiAgIGFyY2gveDg2L3g4Nl82NC9Db21waWxl
ci51ayB8IDIgKy0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRlbGV0
aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gaW5kZXggOTZi
ZTJkYi4uODMxNmM0NSAxMDA2NDQKPiAtLS0gYS9NYWtlZmlsZQo+ICsrKyBiL01ha2VmaWxlCj4g
QEAgLTM5Miw3ICszOTIsMTAgQEAgdW5leHBvcnQgTUFDSElORQo+ICAgIyAibWFrZSIgaW4gdGhl
IGNvbmZpZ3VyZWQga2VybmVsIGJ1aWxkIGRpcmVjdG9yeSBhbHdheXMgdXNlcyB0aGF0Lgo+ICAg
IyBEZWZhdWx0IHZhbHVlIGZvciBDT05GSUdfQ1JPU1NfQ09NUElMRSBpcyBub3QgdG8gcHJlZml4
IGV4ZWN1dGFibGVzCj4gICAjIE5vdGU6IFNvbWUgYXJjaGl0ZWN0dXJlcyBhc3NpZ24gQ09ORklH
X0NST1NTX0NPTVBJTEUgaW4gdGhlaXIgYXJjaC8qL01ha2VmaWxlLnVrCj4gKwo+ICtpZm5lcSAo
IiQob3JpZ2luIENST1NTX0NPTVBJTEUpIiwidW5kZWZpbmVkIikKPiAgIENPTkZJR19DUk9TU19D
T01QSUxFIDo9ICQoQ1JPU1NfQ09NUElMRToiJSI9JSkKPiArZW5kaWYKCkdvb2QgcG9pbnQuCgo+
ICAgCj4gICBpbmNsdWRlICQoQ09ORklHX1VLX0JBU0UpL2FyY2gvJChVS19GQU1JTFkpL0NvbXBp
bGVyLnVrCj4gICAKPiBkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYXJtL0NvbXBpbGVyLnVrIGIvYXJj
aC9hcm0vYXJtL0NvbXBpbGVyLnVrCj4gaW5kZXggNDRhNDk3ZC4uYWU2MDkxMyAxMDA2NDQKPiAt
LS0gYS9hcmNoL2FybS9hcm0vQ29tcGlsZXIudWsKPiArKysgYi9hcmNoL2FybS9hcm0vQ29tcGls
ZXIudWsKPiBAQCAtMSw1ICsxLDUgQEAKPiAgICMgc2V0IGNyb3NzIGNvbXBpbGUKPiAtaWZlcSAo
JChDT05GSUdfQ1JPU1NfQ09NUElMRSksKQo+ICtpZmVxICgkKGZpbHRlci1vdXQgIiIsJChDT05G
SUdfQ1JPU1NfQ09NUElMRSkpLCkKCkh1bSwgZG8geW91IHdhbnQgdG8gZmlsdGVyIG91dCBhIHF1
b3RlZCBlbXB0eSB2YWx1ZT8KV2UgaGF2ZSB0aGUgZnVuY3Rpb24gcXN0cmlwIHdoaWNoIHlvdSBj
b3VsZCB1c2UgaW5zdGVhZDoKCiAgIGlmZXEgKCQoY2FsbCBxc3RyaXAsJChDT05GSUdfQ1JPU1Nf
Q09NUElMRSkpLCkKClRoaXMgb25lIHN0cmlwcyBldmVuIG91dCBhZGRpdGlvbmFsIHdoaXRlc3Bh
Y2VzLiBTbyB5b3Ugd291bGQgYWxzbyAKZmlsdGVyIG91dCBzb21ldGhpbmcgbGlrZSAiICIgb3Ig
IiAgIi4KCj4gICBpZm5lcSAoJChDT05GSUdfVUtfQVJDSCksJChIT1NUQVJDSCkpCj4gICAJQ09O
RklHX0NST1NTX0NPTVBJTEUgOj0gYXJtLWxpbnV4LWdudWVhYmloZi0KPiAgIGVuZGlmCj4gZGlm
ZiAtLWdpdCBhL2FyY2gvYXJtL2FybTY0L0NvbXBpbGVyLnVrIGIvYXJjaC9hcm0vYXJtNjQvQ29t
cGlsZXIudWsKPiBpbmRleCA0NTcyMDEzLi4wMTZiMjZiIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJt
L2FybTY0L0NvbXBpbGVyLnVrCj4gKysrIGIvYXJjaC9hcm0vYXJtNjQvQ29tcGlsZXIudWsKPiBA
QCAtMSw1ICsxLDUgQEAKPiAgICMgc2V0IGNyb3NzIGNvbXBpbGUKPiAtaWZlcSAoJChDT05GSUdf
Q1JPU1NfQ09NUElMRSksKQo+ICtpZmVxICgkKGZpbHRlci1vdXQgIiIsJChDT05GSUdfQ1JPU1Nf
Q09NUElMRSkpLCkKPiAgIGlmbmVxICgkKENPTkZJR19VS19BUkNIKSwkKEhPU1RBUkNIKSkKPiAg
IAlDT05GSUdfQ1JPU1NfQ09NUElMRSA6PSBhYXJjaDY0LWxpbnV4LWdudS0KPiAgIGVuZGlmCj4g
ZGlmZiAtLWdpdCBhL2FyY2gveDg2L3g4Nl82NC9Db21waWxlci51ayBiL2FyY2gveDg2L3g4Nl82
NC9Db21waWxlci51awo+IGluZGV4IDk4ZWE4YWQuLjQ3ZWRjOWIgMTAwNjQ0Cj4gLS0tIGEvYXJj
aC94ODYveDg2XzY0L0NvbXBpbGVyLnVrCj4gKysrIGIvYXJjaC94ODYveDg2XzY0L0NvbXBpbGVy
LnVrCj4gQEAgLTEsNSArMSw1IEBACj4gICAjIHNldCBjcm9zcyBjb21waWxlCj4gLWlmZXEgKCQo
Q09ORklHX0NST1NTX0NPTVBJTEUpLCkKPiAraWZlcSAoJChmaWx0ZXItb3V0ICIiLCQoQ09ORklH
X0NST1NTX0NPTVBJTEUpKSwpCj4gICBpZm5lcSAoJChDT05GSUdfVUtfQVJDSCksJChIT1NUQVJD
SCkpCj4gICAJQ09ORklHX0NST1NTX0NPTVBJTEUgOj0geDg2XzY0LWxpbnV4LWdudS0KPiAgIGVu
ZGlmCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 09:50:02 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 09:50:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9SAq-0000fg-JW; Mon, 08 Oct 2018 09:50:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=obmj=mu=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g9SAp-0000fb-Vv
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 09:50:00 +0000
X-Inumbo-ID: b18d05ff-cadf-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b18d05ff-cadf-11e8-a6a9-d7ebe60f679a;
 Mon, 08 Oct 2018 09:51:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 0F790F2011;
 Mon,  8 Oct 2018 11:49:57 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0kPs4hpRZHa4; Mon,  8 Oct 2018 11:49:56 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DCE72F2001;
 Mon,  8 Oct 2018 11:49:52 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Oct
 2018 11:49:52 +0200
To: Costin Lupu <costin.lup@gmail.com>, Florian Schmidt
 <Florian.Schmidt@neclab.eu>, <minios-devel@lists.xen.org>
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
 <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
 <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
 <13a04e72-bf4c-8a3f-a3c1-a2f9400e1624@neclab.eu>
 <56a99e69-951e-23d5-afe0-2c10a6a25623@gmail.com>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <4605b4a3-dbde-415b-726e-ce70764b515b@neclab.eu>
Date: Mon, 8 Oct 2018 11:49:51 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <56a99e69-951e-23d5-afe0-2c10a6a25623@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IENvc3RpbiwgaGV5IEZsb3JpYW4sCgpPbiAwNS4xMC4yMDE4IDExOjM5LCBDb3N0aW4gTHVw
dSB3cm90ZToKPiAKPiAKPiBPbiAxMC81LzE4IDEyOjI0IFBNLCBGbG9yaWFuIFNjaG1pZHQgd3Jv
dGU6Cj4+IEhpIENvc3RpbiwKPj4KPj4gbGV0IG1lIGdpdmUgYSBxdWljayBhbnN3ZXI6Cj4+Cj4+
IE9uIDEwLzAyLzIwMTggMDk6MTYgQU0sIENvc3RpbiBMdXB1IHdyb3RlOgo+Pj4gSSBmaW5kIGFs
bG93aW5nIHVzZXJzIHRoZSBmcmVlZG9tIHRvIHNldCBhbnkgZnJlcXVlbmN5IHRoZXkgbGlrZSB0
byBoYXZlCj4+PiAyIGRpc2FkdmFudGFnZXM6Cj4+Pgo+Pj4gMS4gVGhlIHRpY2sgZnJlcXVlbmN5
IHNob3VsZCBiZSBjaG9zZW4gYmFzZWQgb24gYSBwcmlvciBhbmFseXNpcwo+Pj4gZGVwZW5kaW5n
IG9uIHRoZSBhcHBsaWNhdGlvbi4gQW4gaW50ZWdlciBmaWVsZCB3b3VsZCBhbGxvdyB1c2VycyB0
byBzZXQKPj4+IGFueSBmcmVxdWVuY3kgdGhleSB3YW50IHdoZXRoZXIgdGhleSBrbm93IHdoYXQg
dGhleSdyZSBkb2luZyBvciBub3QuIEkKPj4+IGZpbmQgdGhpcyBsZXZlbCBvZiBmcmVlZG9tIGRh
bmdlcm91cyBoZXJlLgo+Pgo+PiBXZWxsLCB0aGF0J3MgdXAgdG8gdGhlIGRldmVsb3BlciwgSSB0
aGluay4gSSdtIGZvciB0aGUgZnJlZWRvbSB0byBzaG9vdAo+PiB5b3Vyc2VsZiBpbiB0aGUgZm9v
dCBpZiB5b3UgdGhpbmsgeW91IGtub3cgYmV0dGVyIHdoYXQgdG8gc2V0IGhlcmUuCj4+Cj4+Cj4+
PiAyLiBBIGdpdmVuIGZyZXF1ZW5jeSB2YWx1ZSBtYXkgbm90IGJlIHN1cHBvcnRlZCBieSB0aGUg
dW5kZXJseWluZyB0aW1lcnMKPj4+IGFuZCB0aGVyZWZvcmUgaXQgd291bGQgZWl0aGVyIGhhdmUg
bm8gZWZmZWN0IChlLmcuIGJlaW5nIGlnbm9yZWQpIG9yCj4+PiBnZW5lcmF0ZSBhbiBpbmNvcnJl
Y3QgYmVoYXZpb3IuCj4+Cj4+IFRoYXQgc2hvdWxkIGJlIGNhcHR1cmVkIGJ5IGFuIGVycm9yLWhh
bmRsaW5nIG1lY2hhbmlzbSwgcmlnaHQ/IFRocm91Z2ggYQo+PiBDUklUIHdhcm5pbmcgb3Igd29y
c3QgY2FzZSBjcmFzaCB3aGVuIGEgc2V0dGluZ3MgZG9lc24ndCB3b3JrLiBPciBhcmUKPj4geW91
IHNheWluZyB0aGF0IHNvbWUgdGltZXJzIHNpbGVudGx5IGlnbm9yZSB1bnN1cHBvcnRlZCBzZXR0
aW5ncyB3aXRob3V0Cj4+IGdpdmluZyBhbnkgd2F5IHRvIGZpZ3VyZSBvdXQgd2hldGhlciBhIHNl
dHRpbmcgd2lsbCB3b3JrIG9yIG5vdD8KPj4KPiAKPiBJbiBkZWVkLCBhbiBlcnJvciBoYW5kbGlu
ZyBtZWNoYW5pc20gc2hvdWxkIGJlIGludHJvZHVjZWQgaW4gdGhpcyBjYXNlLgo+IEJ1dCB0aGlz
IHdvdWxkIG9ubHkgYWRkIG1vcmUgY29tcGxleGl0eSBhbmQgc2hvdWxkIGJlIGFjY29yZGluZyB0
byBlYWNoCj4gc3VwcG9ydGVkIHRpbWVyLiBQbGVhc2Uga2VlcCBpbiBtaW5kIHRoYXQgdGhlcmUg
aXMgbm8gc3RhbmRhcmQgd2F5IG9mCj4gY29uZmlndXJpbmcgdGltZXJzIGFuZCB0aGUgc2V0IG9m
IGFjY2VwdGVkIGludGVycnVwdCBmcmVxdWVuY3kgdmFsdWVzCj4gbWF5IGRpZmZlci4KCkkgYWdy
ZWUgd2l0aCBGbG9yaWFuIHRoYXQgdGhpcyBzaG91bGQgYmUgbW9yZSBmbGV4aWJsZSB0byBjb25m
aWd1cmUgCihlLmcuLCB3aXRoIGFuIGludGVnZXIgdmFsdWUgcmFuZ2UpLiBXaGF0IGFyZSB0aGUg
bGltaXRhdGlvbnMgdGhhdCB5b3UgCnNlZT8gQXJlIHRoZXkgcmVhbGx5IHNvIGRpZmZlcmVudCBh
bW9uZyB0aGUgcGxhdGZvcm1zIGFuZCBhcmNoaXRlY3R1cmVzIAp0aGF0IHdlIHN1cHBvcnQgKExp
bnV4LCBYZW4sIEtWTSwgeDg2LCBBcm0pPwoKQXNzdW1pbmcgdGhhdCB3ZSBjYW4gZmluZCBhIHNl
dCBvZiBwb3NzaWJsZSBmcmVxdWVuY3kgdmFsdWVzLCBJIGV2ZW4gCnRoaW5rIHRoYXQgdGhlIHBl
cnNvbiB0aGF0IGJ1aWxkcyBhIFVuaWtlcm5lbCBzaG91bGQgc2V0IHVwIHRoZSAKZnJlcXVlbmN5
IHdpdGhpbiB0aGUgc2VsZWN0ZWQgc2NoZWR1bGVyIGxpYnJhcnkuIEEgcGFydGljdWxhciBzY2hl
ZHVsZXIgCmFsZ29yaXRobSBzaG91bGQgZ2l2ZSB5b3UgYSBtdWNoIGJldHRlciBpZGVhIHdoaWNo
IGZyZXF1ZW5jaWVzIGFyZSAKbWVhbmluZ2Z1bCB0byBjb25maWd1cmUuClRvIG1ha2UgdGhpcyBw
b3NzaWJsZSwgdGhlcmUgc2hvdWxkIGJlIGEgcGxhdGZvcm0gQVBJIHRvIGxldCB0aGUgCnNjaGVk
dWxlciBzZXQgdXAgdGhlIGZyZXF1ZW5jeSBkdXJpbmcgaXRzIGluaXRpYWxpemF0aW9uLiBUaGlz
IHdvdWxkIAphbHNvIHJlbW92ZSB0aGUgZXhwZW5zaXZlIHRpbWVyIHRpY2tzIG9uIFVuaWtlcm5l
bHMgdGhhdCB1c2Ugbm8gCnNjaGVkdWxpbmcgYXQgYWxsIG9yIHVzZSB0aGUgY29vcGVyYXRpdmUg
c2NoZWR1bGVyLiBPZiBjb3Vyc2UsIHRoZSBlcnJvciAKY2hlY2sgY29kZSBpcyBhbnl3YXlzIHJl
cXVpcmVkIGZvciB0aGlzIGNhc2UuCkluIHRoZSBmdXR1cmUsIHdlIHNob3VsZCBldmVuIHRoaW5r
IGFib3V0IHN1cHBvcnRpbmcgZHluYW1pYyB0aWNrcy4gQSAKc2NoZWR1bGVyIGxpYnJhcnkgbWF5
IHdhbnQgdG8gZHluYW1pY2FsbHkgc2l6ZSBlYWNoIHRpbWUgc2xpY2VzIG9yIG1heSAKd2FudCB0
byB0ZW1wb3JhcmlseSBzd2l0Y2ggb2ZmIGFueSB0aWNrcyBpZiB0aGVyZSBpcyBub3RoaW5nIHRv
IGRvLiAKSW1hZ2luZSB0aGF0IHlvdSBydW4gaHVuZHJlZHMgb3IgdGhvdXNhbmRzIG9mIFVuaWtl
cm5lbHMgb24gYSBzaW5nbGUgQ1BVIApjb3JlLiBIYXZpbmcgdGhlIHRpbWVyIGZyZXF1ZW5jeSBz
dGF0aWNhbGx5IHNldCBmb3IgYWxsIG9mIHRoZW0gd2lsbCAKbWFrZSB0aGUgQ1BVIHVubmVjZXNz
YXJpbHkgYnVzeSB3aXRoIGhhbmRsaW5nIHRoZXNlIHRpY2tzIG9ubHkuIFNvLCB5b3UgCmFueXdh
eSB3YW50IHRvIGhhdmUgYSBwbGF0Zm9ybSBBUEkgd2hlcmUgeW91IGNhbiBjaGFuZ2UgdGhlIHRp
bWVyIApjb3VudGVyIHZhbHVlIGZvciBlYWNoIGl0ZXJhdGlvbi4KU2luY2UgbW9kZXJuIE9TZXMg
c3VwcG9ydCBkeW5hbWljIHRpY2tzLCBJIHRoaW5rIHRoYXQgdGhlcmUgYXJlbid0IHRvbyAKY29t
cGxpY2F0ZWQgcmVzdHJpY3Rpb25zIG9uIHRoZSBwbGF0Zm9ybXMuIEFtIEkgcmlnaHQ/Cgo+IAo+
Pgo+Pj4gTm93IHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIG9wdGlvbnMsIHR3byBzaG91bGQgYmUg
ZW5vdWdoIGZvciBtYWtpbmcgdGhlCj4+PiBjYXNlIGZvciBob3cgd2UgY2FuIGNvbmZpZ3VyZSB0
aGUgdGltZXIuIFBsZWFzZSBmZWVsIGZyZWUgdG8gYW1lbmQgdGhpcwo+Pj4gcGF0Y2ggb3IgdG8g
c3VibWl0IGFub3RoZXIgb25lIGZvciBleHRlbmRpbmcgdGhlIG51bWJlciBvZiBvcHRpb25zLgo+
Pgo+PiBJIG1pZ2h0IGRvIHRoYXQsIGJ1dCBJJ2QgcHJlZmVyIHRvIGhhdmUgc29tZSBhZGRpdGlv
bmFsIGlucHV0IGZyb20KPj4gb3RoZXJzIGZpcnN0Lgo+Pgo+PiBDaGVlcnMsCj4+IEZsb3JpYW4K
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 09:59:38 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 09:59:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9SKA-0001lm-5W; Mon, 08 Oct 2018 09:59:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=obmj=mu=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1g9SK8-0001lc-9U
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 09:59:36 +0000
X-Inumbo-ID: 090cb543-cae1-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 090cb543-cae1-11e8-a6a9-d7ebe60f679a;
 Mon, 08 Oct 2018 10:00:50 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 62046F204B;
 Mon,  8 Oct 2018 11:59:33 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0DOmgS29JS6d; Mon,  8 Oct 2018 11:59:33 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 32D35F2011
 for <minios-devel@lists.xen.org>; Mon,  8 Oct 2018 11:59:31 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Oct
 2018 11:59:30 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1538052073-3927-1-git-send-email-simon.kuenzer@neclab.eu>
 <1538052073-3927-9-git-send-email-simon.kuenzer@neclab.eu>
 <23d8f0c1-b8fe-b990-3e46-18f283b86170@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
Message-ID: <c8d663d9-b411-5858-6e50-ac643f175e54@neclab.eu>
Date: Mon, 8 Oct 2018 11:59:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <23d8f0c1-b8fe-b990-3e46-18f283b86170@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 08/10] lib/ukdebug: Swap
 uk_printk() and uk_printd()
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, yuri.volchkov@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IFNoYXJhbiwKCnRoYW5rcyBmb3IgdGhlIHJldmlldy4gWW91IGFyZSByaWdodCB3aXRoIHRo
ZSBjb21tZW50cywgSSBhZ3JlZS4gSSB3aWxsIApwcm92aWRlIGEgdjMgb2YgdGhlIGxhc3QgdHdv
IG9wZW4gcGF0Y2hlcy4KClRoYW5rcywKClNpbW9uCgpPbiAyOC4wOS4yMDE4IDE2OjEyLCBTaGFy
YW4gU2FudGhhbmFtIHdyb3RlOgo+IEhlbGxvIFNpbW9uLAo+IAo+IEkgYW0gZmluZSB3aXRoIHRo
aXMgcGF0Y2ggYnV0IHRoZXJlIGFyZSBtaW5vciBjb21tZW50cyBpbmxpbmUuCj4gCj4gT24gMDkv
MjcvMjAxOCAwMjo0MSBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPj4gRXhjaGFuZ2VzIHVrX3By
aW50aygpIHdpdGggdWtfcHJpbnRkKCkuIHVrX3ByaW50ayBnZXRzIGEgbHZsIHBhcmFtZXRlcjoK
Pj4gwqAgdWtfcHJpbnRrKGx2bCwgZm10LCAuLi4pCj4+IMKgwqAgd2l0aCBoYXZpbmcgS0xWTF9J
TkZPIChmb3JtZXIgRExWTF9JTkZPKSwgS0xWTF9XQVJOIChmb3JtZXIKPj4gwqDCoCBETFZMX1dB
Uk4pLCBLTFZMX0VSUiAoS0xWTF9FUlIpLCBETFZMX0NSSVQgKGZvcm1lciBLTFZMX0NSSVQpIGFz
Cj4+IMKgwqAgdmFsdWUgZm9yIHBhcmFtZXRlciBgbHZsYC4KPj4KPj4gdWtfcHJpbnRkKCkgaW1w
bGVtZW50cyBmb3JtZXIgdWtfcHJpbnRrKCkuIEl0cyBwdXJwb3NlIGlzIHRvIHJlcGxhY2UKPj4g
dGhlIHByZXZpb3VzIERMVkxfRVhUUkEgbGV2ZWwuIFdoZW5ldmVyIGBVS19ERUJVR2AgaXMgZGVm
aW5lZCBhcyBtYWNybwo+PiB3aGlsZSBjb21waWxpbmcgYSBzb3VyY2UgZmlsZSwgdWtfcHJpbnRk
KCkgc3RhdGVtZW50cyBhcmUKPj4gZWZmZWN0aXZlLiBsaWJ1a2RlYnVnIGFkZGl0aW9uYWxseSBw
cm92aWRlcyBhIGdsb2JhbCBmbGFnIHRvIGVuYWJsZQo+PiBkZWJ1ZyBtZXNzYWdlcyBpbiBhbGwg
c291cmNlIGZpbGVzLgo+PiDCoCB1a19wcmludGQoZm10LCAuLi4pCj4+Cj4+IEl0IHNlZW1zIHRv
IGJlIG1vcmUgbWVhbmluZ2Z1bCB0byByZWRpcmVjdCBhbGwgbWVzc2FnZXMgdG8KPj4gdWtwbGF0
X2NvdXRrKCkgYXMgZGVmYXVsdCBjb25maWd1cmF0aW9uLiBUaGUgdWtfcHJfKigpIHNob3J0Y3V0
Cj4+IG1hY3JvcyBhcmUgdXBkYXRlZCB0byByZWZsZWN0IHRoaXMgbmV3IHNjaGVtZS4KPj4KPj4g
U2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Cj4+
IC0tLQo+PiDCoCBsaWIvdWtkZWJ1Zy9Db25maWcudWvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC
oCA1MiArKysrKysrKy0tLS0tLS0tCj4+IMKgIGxpYi91a2RlYnVnL2V4cG9ydHN5bXMudWvCoMKg
wqDCoMKgwqDCoCB8wqAgMTIgKystLQo+PiDCoCBsaWIvdWtkZWJ1Zy9oZXhkdW1wLmPCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHzCoCA0MyArKysrKystLS0tLS0tCj4+IMKgIGxpYi91a2RlYnVnL2lu
Y2x1ZGUvdWsvaGV4ZHVtcC5oIHzCoCA0MCArKysrKystLS0tLS0tCj4+IMKgIGxpYi91a2RlYnVn
L2luY2x1ZGUvdWsvcHJpbnQuaMKgwqAgfCAxMTYgCj4+ICsrKysrKysrKysrKysrKystLS0tLS0t
LS0tLS0tLS0tLS0tCj4+IMKgIGxpYi91a2RlYnVnL3ByaW50LmPCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8IDEyNiAKPj4gKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t
Cj4+IMKgIDYgZmlsZXMgY2hhbmdlZCwgMTg0IGluc2VydGlvbnMoKyksIDIwNSBkZWxldGlvbnMo
LSkKPj4KPj4gZGlmZiAtLWdpdCBhL2xpYi91a2RlYnVnL0NvbmZpZy51ayBiL2xpYi91a2RlYnVn
L0NvbmZpZy51awo+PiBpbmRleCBkY2FlYjNhLi44NmUzM2U1IDEwMDY0NAo+PiAtLS0gYS9saWIv
dWtkZWJ1Zy9Db25maWcudWsKPj4gKysrIGIvbGliL3VrZGVidWcvQ29uZmlnLnVrCj4+IEBAIC04
LDUwICs4LDQ5IEBAIGNvbmZpZyBMSUJVS0RFQlVHX1BSSU5USwo+PiDCoMKgwqDCoMKgIGJvb2wg
IkVuYWJsZSBrZXJuZWwgbWVzc2FnZXMgKHVrX3ByaW50aykiCj4+IMKgwqDCoMKgwqAgZGVmYXVs
dCB5Cj4+IMKgwqDCoMKgwqAgaGVscAo+PiAtwqDCoMKgwqDCoCBCdWlsZCB3aXRoIGRlYnVnZ2lu
ZyBzeW1ib2xzIGVuYWJsZWQuCj4+IC0KPj4gLWNvbmZpZyBMSUJVS0RFQlVHX1BSSU5URAo+PiAt
wqDCoMKgIGJvb2wgIkVuYWJsZSBkZWJ1ZyBtZXNzYWdlcyAodWtfcHJpbnRkKSIKPj4gLcKgwqDC
oCBkZWZhdWx0IHkKPj4gLcKgwqDCoCBoZWxwCj4+IC3CoMKgwqDCoMKgIEJ1aWxkIHdpdGggZGVi
dWdnaW5nIHN5bWJvbHMgZW5hYmxlZC4KPj4gK8KgwqDCoMKgwqAgRW5hYmxlcyBrZXJuZWwgbWVz
c2FnZSBjb25zb2xlLgo+PiDCoCBjaG9pY2UKPj4gLcKgwqDCoCBwcm9tcHQgIkRlYnVnIG1lc3Nh
Z2UgbGV2ZWwiCj4+IC3CoMKgwqAgZGVmYXVsdCBMSUJVS0RFQlVHX1BSSU5URF9FUlIKPj4gLcKg
wqDCoCBkZXBlbmRzIG9uIExJQlVLREVCVUdfUFJJTlRECj4+ICvCoMKgwqAgcHJvbXB0ICJLZXJu
ZWwgbWVzc2FnZSBsZXZlbCIKPj4gK8KgwqDCoCBkZWZhdWx0IExJQlVLREVCVUdfUFJJTlRLX0VS
Ugo+PiArwqDCoMKgIGRlcGVuZHMgb24gTElCVUtERUJVR19QUklOVEsKPj4gwqDCoMKgwqDCoCBo
ZWxwCj4+IMKgwqDCoMKgwqDCoMKgIFNldCB0aGUgbGV2ZWwgb2YgZGV0YWlsIG9mIGRlYnVnIG1l
c3NhZ2VzCj4+IC1jb25maWcgTElCVUtERUJVR19QUklOVERfRVhUUkEKPj4gK2NvbmZpZyBMSUJV
S0RFQlVHX1BSSU5US19JTkZPCj4+IMKgwqDCoMKgwqAgYm9vbCAiU2hvdyBhbGwgdHlwZXMgb2Yg
ZGVidWcgbWVzc2FnZXMiCj4+IC1jb25maWcgTElCVUtERUJVR19QUklOVERfSU5GTwo+PiAtwqDC
oMKgIGJvb2wgIlNob3cgY3JpdGljYWwsIGVycm9yLCB3YXJuaW5nLCBhbmQgaW5mb3JtYXRpb24g
bWVzc2FnZXMiCj4+IC0KPj4gLWNvbmZpZyBMSUJVS0RFQlVHX1BSSU5URF9XQVJOCj4+ICtjb25m
aWcgTElCVUtERUJVR19QUklOVEtfV0FSTgo+PiDCoMKgwqDCoMKgIGJvb2wgIlNob3cgY3JpdGlj
YWwsIGVycm9yLCBhbmQgd2FybmluZyBtZXNzYWdlcyIKPj4gLWNvbmZpZyBMSUJVS0RFQlVHX1BS
SU5URF9FUlIKPj4gLcKgwqDCoCBib29sICJTaG93IGNyaXRpY2FsLCBhbmQgZXJyb3IgbWVzc2Fn
ZXMgKGRlZmF1bHQpIgo+PiArY29uZmlnIExJQlVLREVCVUdfUFJJTlRLX0VSUgo+PiArwqDCoMKg
IGJvb2wgIlNob3cgY3JpdGljYWwgYW5kIGVycm9yIG1lc3NhZ2VzIChkZWZhdWx0KSIKPj4gLWNv
bmZpZyBMSUJVS0RFQlVHX1BSSU5URF9DUklUCj4+ICtjb25maWcgTElCVUtERUJVR19QUklOVEtf
Q1JJVAo+PiDCoMKgwqDCoMKgIGJvb2wgIlNob3cgY3JpdGljYWwgbWVzc2FnZXMgb25seSIKPj4g
wqAgZW5kY2hvaWNlCj4+IC1jb25maWcgTElCVUtERUJVR19QUklOVERfVElNRQo+PiAtwqDCoMKg
IGJvb2wgIlNob3cgdGltZXN0YW1wIGluIGRlYnVnIG1lc3NhZ2VzIgo+PiArY29uZmlnIExJQlVL
REVCVUdfUFJJTlRLX1RJTUUKPj4gK8KgwqDCoCBib29sICJTaG93IHRpbWVzdGFtcCBpbiBrZXJu
ZWwgbWVzc2FnZXMiCj4+IMKgwqDCoMKgwqAgZGVmYXVsdCB5Cj4+IC3CoMKgwqAgZGVwZW5kcyBv
biBMSUJVS0RFQlVHX1BSSU5URAo+PiArwqDCoMKgIGRlcGVuZHMgb24gTElCVUtERUJVR19QUklO
VEsKPj4gKwo+PiArY29uZmlnIExJQlVLREVCVUdfUFJJTlRLX1NUQUNLCj4+ICvCoMKgwqAgYm9v
bCAiUHJpbnQgYm90dG9tIGFkZHJlc3Mgb2Ygc3RhY2sgaW4ga2VybmVsIG1lc3NhZ2VzIgo+PiAr
wqDCoMKgIGRlZmF1bHQgbgo+PiArwqDCoMKgIGRlcGVuZHMgb24gTElCVUtERUJVR19QUklOVEsK
Pj4gLWNvbmZpZyBMSUJVS0RFQlVHX1BSSU5URF9TVEFDSwo+PiAtwqDCoMKgIGJvb2wgIlByaW50
IGJvdHRvbSBhZGRyZXNzIG9mIHN0YWNrIGluIGRlYnVnIG1lc3NhZ2VzIgo+PiArY29uZmlnIExJ
QlVLREVCVUdfUFJJTlRECj4+ICvCoMKgwqAgYm9vbCAiRW5hYmxlIGRlYnVnIG1lc3NhZ2VzIGds
b2JhbGx5ICh1a19wcmludGQpIgo+PiDCoMKgwqDCoMKgIGRlZmF1bHQgbgo+PiAtwqDCoMKgIGRl
cGVuZHMgb24gTElCVUtERUJVR19QUklOVEQKPj4gK8KgwqDCoCBoZWxwCj4+ICvCoMKgwqDCoMKg
IEVuYWJsZXMgZGVidWcgbWVzc2FnZXMgZ2xvYmFsbHkuIFdpdGhvdXQgdGhpcyBjb25maWd1cmF0
aW9uLAo+PiArwqDCoMKgwqDCoCBkZWJ1ZyBtZXNzYWdlcyBjYW4gc3RpbGwgYmUgZW5hYmxlZCBm
b3IgZWFjaCBjb21waWxhdGlvbiB1bml0Cj4+ICvCoMKgwqDCoMKgIGluZGl2aWR1YWxseS4gVGhp
cyBoYXBwZW5zIGFzIHNvb24gdGhlIFVLX0RFQlVHIG1hY3JvIGlzIGRlZmluZWQuCj4+IMKgIGNo
b2ljZQo+PiDCoMKgwqDCoMKgIHByb21wdCAiTWVzc2FnZSByZWRpcmVjdGlvbiIKPj4gLcKgwqDC
oCBkZWZhdWx0IExJQlVLREVCVUdfTk9SRURJUgo+PiArwqDCoMKgIGRlZmF1bHQgTElCVUtERUJV
R19SRURJUl9QUklOVEQKPj4gwqDCoMKgwqDCoCBkZXBlbmRzIG9uIExJQlVLREVCVUdfUFJJTlRE
IHx8IExJQlVLREVCVUdfUFJJTlRLCj4+IMKgwqDCoMKgwqAgaGVscAo+PiDCoMKgwqDCoMKgwqDC
oCBPdXRwdXQgZm9yIHVrX3ByaW50aygpIGFuZCB1a19wcmludGQoKQo+PiBAQCAtNjIsOCArNjEs
NyBAQCBjb25maWcgTElCVUtERUJVR19OT1JFRElSCj4+IMKgwqDCoMKgwqDCoMKgIEtlZXAgZGVi
dWcgYW5kIGtlcm5lbCBvdXRwdXQgc2VwYXJhdGVkCj4+IMKgIGNvbmZpZyBMSUJVS0RFQlVHX1JF
RElSX1BSSU5URAo+PiAtwqDCoMKgIGJvb2wgIkRlYnVnIG1lc3NhZ2VzIG9uIGtlcm5lbCBvdXRw
dXQiCj4+IC3CoMKgwqAgZGVwZW5kcyBvbiBMSUJVS0RFQlVHX1BSSU5URAo+PiArwqDCoMKgIGJv
b2wgIkRlYnVnIG1lc3NhZ2VzIG9uIGtlcm5lbCBvdXRwdXQgKGRlZmF1bHQpIgo+PiDCoMKgwqDC
oMKgIGhlbHAKPj4gwqDCoMKgwqDCoMKgwqAgRGVidWcgbWVzc2FnZSBhcmUgcmVkaXJlY3RlZCB0
byBzdGFuZGFyZCBrZXJuZWwgb3V0cHV0Cj4+IGRpZmYgLS1naXQgYS9saWIvdWtkZWJ1Zy9leHBv
cnRzeW1zLnVrIGIvbGliL3VrZGVidWcvZXhwb3J0c3ltcy51awo+PiBpbmRleCAyNzE4N2QyLi43
NWE0ODY5IDEwMDY0NAo+PiAtLS0gYS9saWIvdWtkZWJ1Zy9leHBvcnRzeW1zLnVrCj4+ICsrKyBi
L2xpYi91a2RlYnVnL2V4cG9ydHN5bXMudWsKPj4gQEAgLTEsOCArMSw4IEBACj4+IC11a192cHJp
bnRrCj4+IC11a19wcmludGsKPj4gLV91a192cHJpbnRkCj4+IC1fdWtfcHJpbnRkCj4+ICt1a192
cHJpbnRkCj4+ICt1a19wcmludGQKPj4gK191a192cHJpbnRrCj4+ICtfdWtfcHJpbnRrCj4+IMKg
IHVrX2hleGR1bXBzbgo+PiDCoCB1a19oZXhkdW1wZgo+PiAtdWtfaGV4ZHVtcGsKPj4gLV91a19o
ZXhkdW1wZAo+PiArdWtfaGV4ZHVtcGQKPj4gK191a19oZXhkdW1kawo+PiBkaWZmIC0tZ2l0IGEv
bGliL3VrZGVidWcvaGV4ZHVtcC5jIGIvbGliL3VrZGVidWcvaGV4ZHVtcC5jCj4+IGluZGV4IGEz
ZDhlNWYuLmNkNzBjNzMgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a2RlYnVnL2hleGR1bXAuYwo+PiAr
KysgYi9saWIvdWtkZWJ1Zy9oZXhkdW1wLmMKPj4gQEAgLTU0LDIyICs1NCwyMCBAQCBlbnVtIF9o
eGRfb3V0cHV0X3R5cGUgewo+PiDCoCAjaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJTlRLCj4+IMKg
wqDCoMKgwqAgVUtfSFhET1VUX0tFUk4sCj4+IMKgICNlbmRpZgo+PiAtI2lmIENPTkZJR19MSUJV
S0RFQlVHX1BSSU5URAo+PiDCoMKgwqDCoMKgIFVLX0hYRE9VVF9ERUJVRywKPj4gLSNlbmRpZgo+
PiDCoCB9Owo+PiDCoCBzdHJ1Y3QgX2h4ZF9vdXRwdXQgewo+PiDCoMKgwqDCoMKgIGVudW0gX2h4
ZF9vdXRwdXRfdHlwZSB0eXBlOwo+PiDCoMKgwqDCoMKgIHVuaW9uIHsKPiAKPiBEbyB3ZSBpbnRl
bmQgdG8gdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZgo+PiAtI2lmIENPTkZJR19MSUJVS0RFQlVH
X1BSSU5URAo+PiArI2lmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5USwo+PiDCoMKgwqDCoMKgwqDC
oMKgwqAgc3RydWN0IHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50IGx2bDsKPj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbGlibmFtZTsKPj4gwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqc3JjbmFtZTsKPj4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IHNyY2xpbmU7Cj4+IC3CoMKgwqDCoMKgwqDCoCB9
IGRlYnVnOwo+PiArwqDCoMKgwqDCoMKgwqAgfSBrZXJuOwo+PiDCoCAjZW5kaWYKPj4gwqDCoMKg
wqDCoMKgwqDCoMKgIHN0cnVjdCB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEZJTEUg
KmZwOwo+PiBAQCAtMTA2LDE1ICsxMDQsMTMgQEAgc3RhdGljIGludCBfaHhkX291dGYoc3RydWN0
IF9oeGRfb3V0cHV0ICpvLCAKPj4gY29uc3QgY2hhciAqZm10LCAuLi4pCj4+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIG8tPmJ1ZmZlci5sZWZ0IC09IChyZXQgLSAxKTsKPj4gwqDCoMKgwqDC
oMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+PiArwqDCoMKgIGNhc2Ug
VUtfSFhET1VUX0RFQlVHOgo+PiArwqDCoMKgwqDCoMKgwqAgdWtfdnByaW50ZChmbXQsIGFwKTsK
Pj4gK8KgwqDCoMKgwqDCoMKgIGJyZWFrOwo+PiDCoCAjaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJ
TlRLCj4+IMKgwqDCoMKgwqAgY2FzZSBVS19IWERPVVRfS0VSTjoKPj4gLcKgwqDCoMKgwqDCoMKg
IHVrX3ZwcmludGsoZm10LCBhcCk7Cj4+IC3CoMKgwqDCoMKgwqDCoCBicmVhazsKPj4gLSNlbmRp
Zgo+PiAtI2lmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5URAo+PiAtwqDCoMKgIGNhc2UgVUtfSFhE
T1VUX0RFQlVHOgo+PiAtwqDCoMKgwqDCoMKgwqAgX3VrX3ZwcmludGQoby0+ZGVidWcubHZsLCBv
LT5kZWJ1Zy5saWJuYW1lLCBvLT5kZWJ1Zy5zcmNuYW1lLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIG8tPmRlYnVnLnNyY2xpbmUsIGZtdCwgYXApOwo+PiArwqDCoMKgwqDCoMKg
wqAgX3VrX3ZwcmludGsoby0+a2Vybi5sdmwsIG8tPmtlcm4ubGlibmFtZSwgby0+a2Vybi5zcmNu
YW1lLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG8tPmtlcm4uc3JjbGluZSwg
Zm10LCBhcCk7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsKPj4gwqAgI2VuZGlmCj4+IMKg
wqDCoMKgwqAgZGVmYXVsdDoKPj4gQEAgLTMyMywxMSArMzE5LDExIEBAIGludCB1a19oZXhkdW1w
ZihGSUxFICpmcCwgY29uc3Qgdm9pZCAqZGF0YSwgCj4+IHNpemVfdCBsZW4sIHNpemVfdCBhZGRy
MCwgaW50IGZsYWdzLAo+PiDCoMKgwqDCoMKgIHJldHVybiBfaHhkKCZvLCBkYXRhLCBsZW4sIGFk
ZHIwLCBmbGFncywgZ3Jwc19wZXJfbGluZSwgCj4+IGxpbmVfcHJlZml4KTsKPj4gwqAgfQo+PiAt
dm9pZCB1a19oZXhkdW1wayhjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuLCBpbnQgZmxhZ3Ms
Cj4+ICt2b2lkIHVrX2hleGR1bXBkKGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sIGludCBm
bGFncywKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGdycHNfcGVyX2xpbmUp
Cj4+IMKgIHsKPiAKPiBEbyB3ZSBpbnRlbmQgdG8gdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZgo+
PiAtI2lmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5USwo+PiAtwqDCoMKgIHN0cnVjdCBfaHhkX291
dHB1dCBvID0gey50eXBlID0gVUtfSFhET1VUX0tFUk59Owo+PiArI2lmIENPTkZJR19MSUJVS0RF
QlVHX1BSSU5URAo+PiArwqDCoMKgIHN0cnVjdCBfaHhkX291dHB1dCBvID0gey50eXBlID0gVUtf
SFhET1VUX0RFQlVHfTsKPj4gwqDCoMKgwqDCoCBfaHhkKCZvLCBkYXRhLCBsZW4sIChzaXplX3Qp
ZGF0YSwgZmxhZ3MsIGdycHNfcGVyX2xpbmUsICIiKTsKPj4gwqAgI2Vsc2UKPj4gQEAgLTMzNSwx
OSArMzMxLDE4IEBAIHZvaWQgdWtfaGV4ZHVtcGsoY29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxl
biwgCj4+IGludCBmbGFncywKPj4gwqAgI2VuZGlmCj4+IMKgIH0KPj4gLXZvaWQgX3VrX2hleGR1
bXBkKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNvbnN0IGNoYXIgKnNyY25hbWUsCj4g
Cj4gRG8gd2UgaW50ZW5kIHRvIHVzZSAjaWZkZWYgaW5zdGVhZCBvZiAjaWYKPj4gKyNpZiBDT05G
SUdfTElCVUtERUJVR19QUklOVEsKPj4gK3ZvaWQgX3VrX2hleGR1bXBrKGludCBsdmwsIGNvbnN0
IGNoYXIgKmxpYm5hbWUsIGNvbnN0IGNoYXIgKnNyY25hbWUsCj4+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgdW5zaWduZWQgaW50IHNyY2xpbmUsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4s
Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZV90IGFkZHIwLCBpbnQgZmxhZ3MsIHVuc2ln
bmVkIGludCBncnBzX3Blcl9saW5lLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNo
YXIgKmxpbmVfcHJlZml4KQo+PiDCoCB7Cj4+IC0jaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJTlRE
Cj4+IC3CoMKgwqAgc3RydWN0IF9oeGRfb3V0cHV0IG8gPSB7LnR5cGUgPSBVS19IWERPVVRfREVC
VUcsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmRlYnVnLmx2bCA9IGx2bCwK
Pj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuZGVidWcubGlibmFtZSA9IGxpYm5h
bWUsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmRlYnVnLnNyY25hbWUgPSBz
cmNuYW1lLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC5kZWJ1Zy5zcmNsaW5l
ID0gc3JjbGluZX07Cj4+ICvCoMKgwqAgc3RydWN0IF9oeGRfb3V0cHV0IG8gPSB7LnR5cGUgPSBV
S19IWERPVVRfS0VSTiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAua2Vybi5s
dmwgPSBsdmwsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmtlcm4ubGlibmFt
ZSA9IGxpYm5hbWUsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmtlcm4uc3Jj
bmFtZSA9IHNyY25hbWUsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLmtlcm4u
c3JjbGluZSA9IHNyY2xpbmV9Owo+PiArCj4+IMKgwqDCoMKgwqAgX2h4ZCgmbywgZGF0YSwgbGVu
LCBhZGRyMCwgZmxhZ3MsIGdycHNfcGVyX2xpbmUsIGxpbmVfcHJlZml4KTsKPj4gLSNlbHNlCj4+
IC3CoMKgwqAgcmV0dXJuOwo+PiAtI2VuZGlmCj4+IMKgIH0KPj4gKyNlbmRpZgo+PiBkaWZmIC0t
Z2l0IGEvbGliL3VrZGVidWcvaW5jbHVkZS91ay9oZXhkdW1wLmggCj4+IGIvbGliL3VrZGVidWcv
aW5jbHVkZS91ay9oZXhkdW1wLmgKPj4gaW5kZXggNTUzOWVlZC4uYzc3NzQyYyAxMDA2NDQKPj4g
LS0tIGEvbGliL3VrZGVidWcvaW5jbHVkZS91ay9oZXhkdW1wLmgKPj4gKysrIGIvbGliL3VrZGVi
dWcvaW5jbHVkZS91ay9oZXhkdW1wLmgKPj4gQEAgLTU1LDkgKzU1LDkgQEAgZXh0ZXJuICJDIiB7
Cj4+IMKgICNkZWZpbmUgVUtfSFhERl9DT01QUkVTUyAoNjQpIC8qIHN1cHByZXNzIHJlcGVhdGVk
IGxpbmVzICovCj4+Cj4gCj4gRG8gd2UgaW50ZW5kIHRvIHVzZSAjaWZkZWYgaW5zdGVhZCBvZiAj
aWYKPj4gLSNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVEsKPj4gKyNpZiBkZWZpbmVkIGMgfHwg
Q09ORklHX0xJQlVLREVCVUdfUFJJTlRECj4+IMKgIC8qKgo+PiAtICogUGxvdHMgYW4gaGV4ZHVt
cCBmb3IgYSBnaXZlbiBkYXRhIHJlZ2lvbiB0byBrZXJuZWwgb3V0cHV0Cj4+ICsgKiBQbG90cyBh
biBoZXhkdW1wIGZvciBhIGdpdmVuIGRhdGEgcmVnaW9uIHRvIGRlYnVnIG91dHB1dAo+PiDCoMKg
ICogVGhlIGFic29sdXRlIGFkZHJlc3MgaXMgcGxvdHRlZCB3aGVuIFVLX0hYREZfQUREUiBpcyBz
ZXQKPj4gwqDCoCAqCj4+IMKgwqAgKiBAcGFyYW0gZGF0YSBTdGFydCBvZiBkYXRhIHJlZ2lvbiB0
byBwbG90Cj4+IEBAIC02NywyMyArNjcsMjMgQEAgZXh0ZXJuICJDIiB7Cj4+IMKgwqAgKsKgwqDC
oMKgwqDCoMKgIE51bWJlciBvZiBncm91cHMgKFVLX0hYREZfR1JQKikgc2hvd24gcGVyIGxpbmUK
Pj4gwqDCoCAqIEByZXR1cm4gUmV0dXJucyB0aGUgbnVtYmVyIG9mIHByaW50ZWQgY2hhcmFjdGVy
cyB0byBvdXRwdXQgZnAKPj4gwqDCoCAqLwo+PiAtdm9pZCB1a19oZXhkdW1wayhjb25zdCB2b2lk
ICpkYXRhLCBzaXplX3QgbGVuLCBpbnQgZmxhZ3MsCj4+ICt2b2lkIHVrX2hleGR1bXBkKGNvbnN0
IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sIGludCBmbGFncywKPj4gwqDCoMKgwqDCoMKgwqDCoMKg
wqAgdW5zaWduZWQgaW50IGdycHNfcGVyX2xpbmUpOwo+PiDCoCAjZWxzZQo+PiAtc3RhdGljIGlu
bGluZSB2b2lkIHVrX2hleGR1bXBrKGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sIGludCBm
bGFncywKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBp
bnQgZ3Jwc19wZXJfbGluZSkKPj4gLXsKPj4gLX0KPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB1a19o
ZXhkdW1wZChjb25zdCB2b2lkICpkYXRhIF9fdW51c2VkLCBzaXplX3QgbGVuIAo+PiBfX3VudXNl
ZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbnQgZmxhZ3MgX191
bnVzZWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQg
aW50IGdycHNfcGVyX2xpbmUgX191bnVzZWQpCj4+ICt7fQo+PiDCoCAjZW5kaWYKPiAKPiBEbyB3
ZSBpbnRlbmQgdG8gdXNlICNpZmRlZiBpbnN0ZWFkIG9mICNpZgo+PiAtI2lmIENPTkZJR19MSUJV
S0RFQlVHX1BSSU5URAo+PiAtdm9pZCBfdWtfaGV4ZHVtcGQoaW50IGx2bCwgY29uc3QgY2hhciAq
bGlibmFtZSwgY29uc3QgY2hhciAqc3JjbmFtZSwKPj4gKyNpZiBDT05GSUdfTElCVUtERUJVR19Q
UklOVEsKPj4gK3ZvaWQgX3VrX2hleGR1bXBrKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUs
IGNvbnN0IGNoYXIgKnNyY25hbWUsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQg
aW50IHNyY2xpbmUsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sCj4+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgc2l6ZV90IGFkZHIwLCBpbnQgZmxhZ3MsIHVuc2lnbmVkIGludCBncnBzX3Bl
cl9saW5lLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKmxpbmVfcHJlZml4
KTsKPj4gwqAgLyoqCj4+IC0gKiBQbG90cyBhbiBoZXhkdW1wIGZvciBhIGdpdmVuIGRhdGEgcmVn
aW9uIHRvIGRlYnVnIG91dHB1dAo+PiArICogUGxvdHMgYW4gaGV4ZHVtcCBmb3IgYSBnaXZlbiBk
YXRhIHJlZ2lvbiB0byBrZXJuZWwgb3V0cHV0Cj4+IMKgwqAgKiBUaGUgYWJzb2x1dGUgYWRkcmVz
cyBpcyBwbG90dGVkIHdoZW4gVUtfSFhERl9BRERSIGlzIHNldAo+PiDCoMKgICoKPj4gwqDCoCAq
IEBwYXJhbSBsdmwgRGVidWcgbGV2ZWwKPj4gQEAgLTk0LDE5ICs5NCwxOSBAQCB2b2lkIF91a19o
ZXhkdW1wZChpbnQgbHZsLCBjb25zdCBjaGFyICpsaWJuYW1lLCAKPj4gY29uc3QgY2hhciAqc3Jj
bmFtZSwKPj4gwqDCoCAqwqDCoMKgwqDCoMKgwqAgTnVtYmVyIG9mIGdyb3VwcyAoVUtfSFhERl9H
UlAqKSBzaG93biBwZXIgbGluZQo+PiDCoMKgICogQHJldHVybiBSZXR1cm5zIHRoZSBudW1iZXIg
b2YgcHJpbnRlZCBjaGFyYWN0ZXJzIHRvIG91dHB1dCBmcAo+PiDCoMKgICovCj4+IC0jZGVmaW5l
IHVrX2hleGR1bXBkKGx2bCwgZGF0YSwgbGVuLCBmbGFncywgCj4+IGdycHNfcGVyX2xpbmUpwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gKyNkZWZpbmUgdWtf
aGV4ZHVtcGsobHZsLCBkYXRhLCBsZW4sIGZsYWdzLCAKPj4gZ3Jwc19wZXJfbGluZSnCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKgIGRvIAo+
PiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gLcKgwqDCoMKgwqDCoMKgIGlmICgobHZsKSA8PSBE
TFZMX01BWCnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAo
KGx2bCkgPD0gS0xWTF9NQVgpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBfdWtfaGV4ZHVtcGQoKGx2bCksIF9fU1RSX0xJQk5BTUVfXywgX19T
VFJfQkFTRU5BTUVfXywgXAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBfX0xJTkVfXywgKGRhdGEpLCAobGVuKSzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgKChzaXplX3QpKGRhdGEpKSwgKGZsYWdzKSzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgXAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZ3Jw
c19wZXJfbGluZSksIFNUUklOR0lGWShkYXRhKSAiOiAiKTvCoMKgIFwKPj4gwqDCoMKgwqDCoCB9
IHdoaWxlICgwKQo+PiDCoCAjZWxzZQo+PiAtc3RhdGljIGlubGluZSB2b2lkIHVrX2hleGR1bXBk
KGludCBsdmwsIGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4sIAo+PiBpbnQgZmxhZ3MsCj4+
IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGdycHNf
cGVyX2xpbmUpCj4+IC17Cj4+IC19Cj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgdWtfaGV4ZHVtcGso
aW50IGx2bCBfX3VudXNlZCwgY29uc3Qgdm9pZCAqZGF0YSAKPj4gX191bnVzZWQsCj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2l6ZV90IGxlbiBfX3VudXNlZCwgaW50
IGZsYWdzIF9fdW51c2VkLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHVuc2lnbmVkIGludCBncnBzX3Blcl9saW5lIF9fdW51c2VkKQo+PiAre30KPj4gwqAgI2VuZGlm
Cj4+IMKgIC8qKgo+PiBAQCAtMTg0LDEzICsxODQsMTMgQEAgaW50IHVrX2hleGR1bXBzbihjaGFy
ICpzdHIsIHNpemVfdCBzaXplLCBjb25zdCAKPj4gdm9pZCAqZGF0YSwgc2l6ZV90IGxlbiwKPj4g
wqDCoCAqIFNob3J0Y3V0cyBmb3IgYWxsIGhleGR1bXAgdmFyaWFudHMgYWhlYWQuIFRoZSBzaG9y
dGN1dHMgdXNlIGEgCj4+IHNpbWlsYXIgc3R5bGUKPj4gwqDCoCAqIGFzIHRoZSBoZXhkdW1wIFVu
aXggY29tbWFuZCB1c2luZyAtQyBwYXJhbWV0ZXI6IGhleGR1bXAgLUMKPj4gwqDCoCAqLwo+PiAt
I2RlZmluZSB1a19oZXhkdW1wQ2soZGF0YSwgCj4+IGxlbinCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPj4gLcKgwqDCoCB1a19oZXhkdW1waygoZGF0YSksIChsZW4pLCAo
VUtfSFhERl9BRERSIHwgCj4+IFVLX0hYREZfQVNDSUlTRUPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFwKPj4gKyNkZWZpbmUgdWtfaGV4ZHVtcENkKGRhdGEsIAo+PiBsZW4pwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+ICvCoMKgwqAgdWtfaGV4ZHVtcGQoKGRhdGEpLCAo
bGVuKSwgKFVLX0hYREZfQUREUiB8IAo+PiBVS19IWERGX0FTQ0lJU0VDwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBcCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8
IFVLX0hYREZfR1JQUVdPUkQgfCBVS19IWERGX0NPTVBSRVNTKSzCoMKgwqAgXAo+PiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAyKQo+PiAtI2RlZmluZSB1a19oZXhkdW1wQ2QobHZsLCBkYXRh
LCAKPj4gbGVuKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IC3CoMKgwqAgdWtfaGV4
ZHVtcGQoKGx2bCksIChkYXRhKSwgCj4+IChsZW4pLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gKyNk
ZWZpbmUgdWtfaGV4ZHVtcENrKGx2bCwgZGF0YSwgCj4+IGxlbinCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgXAo+PiArwqDCoMKgIHVrX2hleGR1bXBrKChsdmwpLCAoZGF0YSksIAo+PiAobGVu
KSzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChVS19I
WERGX0FERFIgfCBVS19IWERGX0FTQ0lJU0VDIHwgCj4+IFVLX0hYREZfR1JQUVdPUkTCoMKgwqDC
oMKgwqDCoCBcCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAKPj4gVUtfSFhERl9D
T01QUkVTUykswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAyKQo+PiBkaWZmIC0tZ2l0IGEvbGliL3VrZGVidWcvaW5jbHVkZS91ay9wcmludC5oIAo+PiBi
L2xpYi91a2RlYnVnL2luY2x1ZGUvdWsvcHJpbnQuaAo+PiBpbmRleCBmZTM3MzBiLi5hOGM2Yzk2
IDEwMDY0NAo+PiAtLS0gYS9saWIvdWtkZWJ1Zy9pbmNsdWRlL3VrL3ByaW50LmgKPj4gKysrIGIv
bGliL3VrZGVidWcvaW5jbHVkZS91ay9wcmludC5oCj4+IEBAIC00Niw3MCArNDYsNjEgQEAKPj4g
wqAgZXh0ZXJuICJDIiB7Cj4+IMKgICNlbmRpZgo+PiArLyoKPj4gKyAqIERFQlVHIFBSSU5USU5H
Cj4+ICsgKi8KPj4gwqAgI2lmZGVmIF9fSU5fTElCVUtERUJVR19fCj4+IMKgIC8qCj4+IC0gKiBU
aGVzZSBkZWZpbmVzIGFyZSBkb2luZyB0aGUgdHJpY2sgdG8gY29tcGlsZSB0aGUgZnVuY3Rpb25z
Cj4+IC0gKiBpbiBwcmludC5jIGFsd2F5cyBpbiBhbHRob3VnaCBwcmludGluZyB3YXMgZGlzYWJs
ZWQKPj4gLSAqIGluIHRoZSBjb25maWd1cmF0aW9uLiBUaGlzIGlzIHJlcXVpcmVkIGZvciBsaW5r
aW5nIHdpdGgKPj4gLSAqIHByZS1jb21waWxlZCBvYmplY3RzIHRoYXQgYnVpbHQgYnkgdXNpbmcg
YSBkaWZmZXJlbnQgY29uZmlndXJhdGlvbi4KPj4gKyAqIFRoaXMgcmVkZWZpbml0aW9uIG9mIENP
TkZJR19MSUJVS0RFQlVHX1BSSU5URCBpcyBkb2luZyB0aGUgdHJpY2sgCj4+IHRvIGF2b2lkCj4+
ICsgKiBtdWx0aXBsZSBkZWNsYXJhdGlvbnMgb2YgdWtfe3Z9cHJpbnRkKCkgd2hlbiB3ZSBhcmUg
Y29tcGlsaW5nIHRoaXMgCj4+IGxpYnJhcnkKPj4gKyAqIGFuZCBoYXZlIHRoZSBnbG9iYWwgZGVi
dWcgc3dpdGNoIENPTkZJR19MSUJVS0RFQlVHX1BSSU5URCBub3QgCj4+IGVuYWJsZWQuCj4+IMKg
wqAgKi8KPj4gLSNpZiAhQ09ORklHX0xJQlVLREVCVUdfUFJJTlRLCj4+IC0jdW5kZWYgQ09ORklH
X0xJQlVLREVCVUdfUFJJTlRLCj4+IC0jZGVmaW5lIENPTkZJR19MSUJVS0RFQlVHX1BSSU5USyAx
Cj4+IC0jZW5kaWYKPj4gLSNpZiAhQ09ORklHX0xJQlVLREVCVUdfUFJJTlRECj4gCj4gRG8gd2Ug
aW50ZW5kIHRvIHVzZSAjaWYgZGVmaW5lZCBpbnN0ZWFkIG9mICNpZgo+PiArI2lmICFkZWZpbmVk
IENPTkZJR19MSUJVS0RFQlVHX1BSSU5URCB8fCAhQ09ORklHX0xJQlVLREVCVUdfUFJJTlRECj4+
IMKgICN1bmRlZiBDT05GSUdfTElCVUtERUJVR19QUklOVEQKPj4gwqAgI2RlZmluZSBDT05GSUdf
TElCVUtERUJVR19QUklOVEQgMQo+PiDCoCAjZW5kaWYKPj4gwqAgI2VuZGlmIC8qIF9fSU5fTElC
VUtERUJVR19fICovCj4+IC0vKgo+PiAtICogS0VSTkVMIENPTlNPTEUKPj4gLSAqLwo+PiAtI2lm
IENPTkZJR19MSUJVS0RFQlVHX1BSSU5USwo+PiAtdm9pZCB1a192cHJpbnRrKGNvbnN0IGNoYXIg
KmZtdCwgdmFfbGlzdCBhcCk7Cj4+IC12b2lkIHVrX3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4u
LikgX19wcmludGYoMSwgMik7Cj4+ICsjaWYgZGVmaW5lZCBVS19ERUJVRyB8fCBDT05GSUdfTElC
VUtERUJVR19QUklOVEQKPj4gK3ZvaWQgdWtfdnByaW50ZChjb25zdCBjaGFyICpmbXQsIHZhX2xp
c3QgYXApOwo+PiArdm9pZCB1a19wcmludGQoY29uc3QgY2hhciAqZm10LCAuLi4pIF9fcHJpbnRm
KDEsIDIpOwo+PiDCoCAjZWxzZQo+PiAtc3RhdGljIGlubGluZSB2b2lkIHVrX3ZwcmludGsoY29u
c3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQo+PiAtewo+PiAtfQo+PiAtc3RhdGljIGlubGluZSB2
b2lkIHVrX3ByaW50ayhjb25zdCBjaGFyICpmbXQsIC4uLikgX19wcmludGYoMSwgMik7Cj4+IC1z
dGF0aWMgaW5saW5lIHZvaWQgdWtfcHJpbnRrKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQo+PiAtewo+
PiAtfQo+PiArc3RhdGljIGlubGluZSB2b2lkIHVrX3ZwcmludGQoY29uc3QgY2hhciAqZm10IF9f
dW51c2VkLCB2YV9saXN0IGFwIAo+PiBfX3VudXNlZCkKPj4gK3t9Cj4+ICsKPj4gK3N0YXRpYyBp
bmxpbmUgdm9pZCB1a19wcmludGQoY29uc3QgY2hhciAqZm10LCAuLi4pIF9fcHJpbnRmKDEsIDIp
Owo+PiArc3RhdGljIGlubGluZSB2b2lkIHVrX3ByaW50ZChjb25zdCBjaGFyICpmbXQgX191bnVz
ZWQsIC4uLikKPj4gK3t9Cj4+IMKgICNlbmRpZgo+PiDCoCAvKgo+PiAtICogREVCVUcgQ09OU09M
RQo+PiArICogS0VSTkVMIENPTlNPTEUKPj4gwqDCoCAqLwo+PiAtI2RlZmluZSBETFZMX0VYVFJB
ICg0KQo+PiAtI2RlZmluZSBETFZMX0lORk/CoCAoMykKPj4gLSNkZWZpbmUgRExWTF9XQVJOwqAg
KDIpCj4+IC0jZGVmaW5lIERMVkxfRVJSwqDCoCAoMSkKPj4gLSNkZWZpbmUgRExWTF9DUklUwqAg
KDApCj4+IC0KPj4gLSNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVERfQ1JJVAo+PiAtI2RlZmlu
ZSBETFZMX01BWCBETFZMX0NSSVQKPj4gLSNlbGlmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5URF9F
UlIKPj4gLSNkZWZpbmUgRExWTF9NQVggRExWTF9FUlIKPj4gLSNlbGlmIENPTkZJR19MSUJVS0RF
QlVHX1BSSU5URF9XQVJOCj4+IC0jZGVmaW5lIERMVkxfTUFYIERMVkxfV0FSTgo+PiAtI2VsaWYg
Q09ORklHX0xJQlVLREVCVUdfUFJJTlREX0lORk8KPj4gLSNkZWZpbmUgRExWTF9NQVggRExWTF9J
TkZPCj4+IC0jZWxpZiBDT05GSUdfTElCVUtERUJVR19QUklOVERfRVhUUkEKPj4gLSNkZWZpbmUg
RExWTF9NQVggRExWTF9FWFRSQQo+PiArI2RlZmluZSBLTFZMX0lORk/CoCAoMykKPj4gKyNkZWZp
bmUgS0xWTF9XQVJOwqAgKDIpCj4+ICsjZGVmaW5lIEtMVkxfRVJSwqDCoCAoMSkKPj4gKyNkZWZp
bmUgS0xWTF9DUklUwqAgKDApCj4+ICsKPj4gKyNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVEtf
Q1JJVAo+PiArI2RlZmluZSBLTFZMX01BWCBLTFZMX0NSSVQKPj4gKyNlbGlmIENPTkZJR19MSUJV
S0RFQlVHX1BSSU5US19FUlIKPj4gKyNkZWZpbmUgS0xWTF9NQVggS0xWTF9FUlIKPj4gKyNlbGlm
IENPTkZJR19MSUJVS0RFQlVHX1BSSU5US19XQVJOCj4+ICsjZGVmaW5lIEtMVkxfTUFYIEtMVkxf
V0FSTgo+PiArI2VsaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJTlRLX0lORk8KPj4gKyNkZWZpbmUg
S0xWTF9NQVggS0xWTF9JTkZPCj4+IMKgICNlbHNlCj4+IC0jZGVmaW5lIERMVkxfTUFYIERMVkxf
RVJSIC8qIGRlZmF1bHQgbGV2ZWwgKi8KPj4gKyNkZWZpbmUgS0xWTF9NQVggS0xWTF9FUlIgLyog
ZGVmYXVsdCBsZXZlbCAqLwo+PiDCoCAjZW5kaWYKPj4gLSNpZiBDT05GSUdfTElCVUtERUJVR19Q
UklOVEQKPj4gKyNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVEsKPj4gwqAgLyogcGxlYXNlIHVz
ZSB0aGUgdWtfcHJpbnRkKCksIHVrX3ZwcmludGQoKSBtYWNyb3MgYmVjYXVzZQo+PiDCoMKgICog
dGhleSBjb21waWxlIGluIHRoZSBmdW5jdGlvbiBjYWxscyBvbmx5IGlmIHRoZSBjb25maWd1cmVk
Cj4+IMKgwqAgKiBkZWJ1ZyBsZXZlbCByZXF1aXJlcyBpdAo+PiDCoMKgICovCj4+IC12b2lkIF91
a192cHJpbnRkKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNvbnN0IGNoYXIgKnNyY25h
bWUsCj4+ICt2b2lkIF91a192cHJpbnRrKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNv
bnN0IGNoYXIgKnNyY25hbWUsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBz
cmNsaW5lLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApOwo+PiAtdm9pZCBfdWtfcHJpbnRk
KGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNvbnN0IGNoYXIgKnNyY25hbWUsCj4+ICt2
b2lkIF91a19wcmludGsoaW50IGx2bCwgY29uc3QgY2hhciAqbGlibmFtZSwgY29uc3QgY2hhciAq
c3JjbmFtZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBzcmNsaW5lLCBjb25z
dCBjaGFyICpmbXQsIC4uLikgX19wcmludGYoNSwgNik7Cj4+IMKgICNpZmRlZiBfX0xJQk5BTUVf
Xwo+PiBAQCAtMTI0LDM5ICsxMTUsMzggQEAgdm9pZCBfdWtfcHJpbnRkKGludCBsdmwsIGNvbnN0
IGNoYXIgKmxpYm5hbWUsIAo+PiBjb25zdCBjaGFyICpzcmNuYW1lLAo+PiDCoCAjZGVmaW5lIF9f
U1RSX0JBU0VOQU1FX18gKE5VTEwpCj4+IMKgICNlbmRpZgo+PiAtI2RlZmluZSB1a192cHJpbnRk
KGx2bCwgZm10LCAKPj4gYXApwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+
PiArI2RlZmluZSB1a192cHJpbnRrKGx2bCwgZm10LCAKPj4gYXApwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKgIGRvIAo+PiB7wqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPj4gLcKgwqDCoMKgwqDCoMKgIGlmICgobHZsKSA8PSBETFZMX01BWCnCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBcCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF91a192cHJpbnRkKChs
dmwpLCBfX1NUUl9MSUJOQU1FX18sIF9fU1RSX0JBU0VOQU1FX18swqAgXAo+PiArwqDCoMKgwqDC
oMKgwqAgaWYgKChsdmwpIDw9IEtMVkxfTUFYKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrX3ZwcmludGsoKGx2bCksIF9fU1RSX0xJQk5BTUVf
XywgX19TVFJfQkFTRU5BTUVfXyzCoCBcCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBfX0xJTkVfXywgKGZtdCksIGFwKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiDCoMKgwqDCoMKgIH0gd2hpbGUgKDApCj4+IC0jZGVm
aW5lIHVrX3ByaW50ZChsdmwsIGZtdCwgCj4+IC4uLinCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBcCj4+ICsjZGVmaW5lIHVrX3ByaW50ayhsdmwsIGZtdCwgCj4+IC4uLinCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDCoMKgwqAgZG8gCj4+IHvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+PiAtwqDCoMKgwqDCoMKgwqAgaWYgKChsdmwpIDw9IERMVkxf
TUFYKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
X3VrX3ByaW50ZCgobHZsKSwgX19TVFJfTElCTkFNRV9fLCBfX1NUUl9CQVNFTkFNRV9fLMKgwqAg
XAo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKChsdmwpIDw9IEtMVkxfTUFYKcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIFwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrX3ByaW50aygobHZsKSwg
X19TVFJfTElCTkFNRV9fLCBfX1NUUl9CQVNFTkFNRV9fLMKgwqAgXAo+PiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fTElORV9fLCAoZm10KSwgIyNfX1ZBX0FSR1Nf
Xyk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+IMKgwqDCoMKgwqAgfSB3aGlsZSAoMCkKPj4g
wqAgI2Vsc2UKPj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB1a192cHJpbnRkKGludCBsdmwgX191bnVz
ZWQsIGNvbnN0IGNoYXIgKmZtdCAKPj4gX191bnVzZWQsCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQg
dWtfdnByaW50ayhpbnQgbHZsIF9fdW51c2VkLCBjb25zdCBjaGFyICpmbXQgCj4+IF9fdW51c2Vk
LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhX2xpc3QgYXAgX191bnVz
ZWQpCj4+IC17Cj4+IC19Cj4+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWtfcHJpbnRkKGludCBsdmws
IGNvbnN0IGNoYXIgKmZtdCwgLi4uKSAKPj4gX19wcmludGYoMiwgMyk7Cj4+IC1zdGF0aWMgaW5s
aW5lIHZvaWQgdWtfcHJpbnRkKGludCBsdmwgX191bnVzZWQsIGNvbnN0IGNoYXIgKmZtdCAKPj4g
X191bnVzZWQsIC4uLikKPj4gLXsKPj4gLX0KPj4gLSNlbmRpZiAvKiBDT05GSUdfTElCVUtERUJV
R19QUklOVEQgKi8KPj4gK3t9Cj4+ICsKPj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB1a19wcmludGso
aW50IGx2bCwgY29uc3QgY2hhciAqZm10LCAuLi4pIAo+PiBfX3ByaW50ZigyLCAzKTsKPj4gK3N0
YXRpYyBpbmxpbmUgdm9pZCB1a19wcmludGsoaW50IGx2bCBfX3VudXNlZCwgY29uc3QgY2hhciAq
Zm10IAo+PiBfX3VudXNlZCwgLi4uKQo+PiAre30KPj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtE
RUJVR19QUklOVEsgKi8KPj4gwqAgLyoKPj4gLSAqIENvbnZlbmllbmNlIHdyYXBwZXIgZm9yIHVr
X3ByaW50ZCgpCj4+ICsgKiBDb252ZW5pZW5jZSB3cmFwcGVyIGZvciB1a19wcmludGsoKSBhbmQg
dWtfcHJpbnRkKCkKPj4gwqDCoCAqIFRoaXMgaXMgc2ltaWxhciB0byB0aGUgcHJfKiB2YXJpYW50
cyB0aGF0IHlvdSBmaW5kIGluIHRoZSBMaW51eCAKPj4ga2VybmVsCj4+IMKgwqAgKi8KPj4gLSNk
ZWZpbmUgdWtfcHJfZGVidWcoZm10LCAuLi4pIHVrX3ByaW50ZChETFZMX0VYVFJBLCAoZm10KSwg
Cj4+ICMjX19WQV9BUkdTX18pCj4+IC0jZGVmaW5lIHVrX3ByX2luZm8oZm10LCAuLi4pwqAgdWtf
cHJpbnRkKERMVkxfSU5GTyzCoCAoZm10KSwgCj4+ICMjX19WQV9BUkdTX18pCj4+IC0jZGVmaW5l
IHVrX3ByX3dhcm4oZm10LCAuLi4pwqAgdWtfcHJpbnRkKERMVkxfV0FSTizCoCAoZm10KSwgCj4+
ICMjX19WQV9BUkdTX18pCj4+IC0jZGVmaW5lIHVrX3ByX2VycihmbXQsIC4uLinCoMKgIHVrX3By
aW50ZChETFZMX0VSUizCoMKgIChmbXQpLCAKPj4gIyNfX1ZBX0FSR1NfXykKPj4gLSNkZWZpbmUg
dWtfcHJfY3JpdChmbXQsIC4uLinCoCB1a19wcmludGQoRExWTF9DUklULMKgIChmbXQpLCAKPj4g
IyNfX1ZBX0FSR1NfXykKPj4gKyNkZWZpbmUgdWtfcHJfZGVidWcoZm10LCAuLi4pIHVrX3ByaW50
ZCgoZm10KSwgIyNfX1ZBX0FSR1NfXykKPj4gKyNkZWZpbmUgdWtfcHJfaW5mbyhmbXQsIC4uLinC
oCB1a19wcmludGsoS0xWTF9JTkZPLMKgIChmbXQpLCAKPj4gIyNfX1ZBX0FSR1NfXykKPj4gKyNk
ZWZpbmUgdWtfcHJfd2FybihmbXQsIC4uLinCoCB1a19wcmludGsoS0xWTF9XQVJOLMKgIChmbXQp
LCAKPj4gIyNfX1ZBX0FSR1NfXykKPj4gKyNkZWZpbmUgdWtfcHJfZXJyKGZtdCwgLi4uKcKgwqAg
dWtfcHJpbnRrKEtMVkxfRVJSLMKgwqAgKGZtdCksIAo+PiAjI19fVkFfQVJHU19fKQo+PiArI2Rl
ZmluZSB1a19wcl9jcml0KGZtdCwgLi4uKcKgIHVrX3ByaW50ayhLTFZMX0NSSVQswqAgKGZtdCks
IAo+PiAjI19fVkFfQVJHU19fKQo+PiDCoCAjaWZkZWYgX19jcGx1c3BsdXMKPj4gwqAgfQo+PiBk
aWZmIC0tZ2l0IGEvbGliL3VrZGVidWcvcHJpbnQuYyBiL2xpYi91a2RlYnVnL3ByaW50LmMKPj4g
aW5kZXggNmY5OGQyOC4uMGMzOTA0YyAxMDA2NDQKPj4gLS0tIGEvbGliL3VrZGVidWcvcHJpbnQu
Ywo+PiArKysgYi9saWIvdWtkZWJ1Zy9wcmludC5jCj4+IEBAIC01NywxMCArNTcsMTAgQEAKPj4g
wqAgI2RlZmluZSBCVUZMRU4gMTkyCj4+IMKgIC8qIHNwZWNpYWwgbGV2ZWwgZm9yIHByaW50ayBy
ZWRpcmVjdGlvbiwgdXNlZCBpbnRlcm5hbGx5IG9ubHkgKi8KPj4gLSNkZWZpbmUgRExWTF9DT05T
ICgtMSkKPj4gKyNkZWZpbmUgS0xWTF9ERUJVRyAoLTEpCj4+IC0jaWYgIUNPTkZJR19MSUJVS0RF
QlVHX1JFRElSX1BSSU5USwo+PiAtc3RhdGljIGlubGluZSB2b2lkIF92cHJpbnRrKGNvbnN0IGNo
YXIgKmZtdCwgdmFfbGlzdCBhcCkKPiAKPiBEbyB3ZSBpbnRlbmQgdG8gdXNlICNpZmRlZiBpbnN0
ZWFkIG9mICNpZgo+PiArI2lmICFDT05GSUdfTElCVUtERUJVR19SRURJUl9QUklOVEQKPj4gK3N0
YXRpYyBpbmxpbmUgdm9pZCBfdnByaW50ZChjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCj4+
IMKgIHsKPj4gwqDCoMKgwqDCoCBjaGFyIGxidWZbQlVGTEVOXTsKPj4gwqDCoMKgwqDCoCBpbnQg
bGVuOwo+PiBAQCAtNzEsMTQgKzcxLDE0IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfdnByaW50ayhj
b25zdCBjaGFyICpmbXQsIAo+PiB2YV9saXN0IGFwKQo+PiDCoCB9Cj4+IMKgICNlbmRpZgo+PiAt
I2lmIENPTkZJR19MSUJVS0RFQlVHX1JFRElSX1BSSU5URAo+PiAtI2RlZmluZSBfdWtwbGF0X2Nv
dXRkKGxidWYsIGxlbikgdWtwbGF0X2NvdXRrKChsYnVmKSwgKGxlbikpCj4+ICsjaWYgQ09ORklH
X0xJQlVLREVCVUdfUkVESVJfUFJJTlRLCj4+ICsjZGVmaW5lIF91a3BsYXRfY291dGsobGJ1Ziwg
bGVuKSB1a3BsYXRfY291dGQoKGxidWYpLCAobGVuKSkKPj4gwqAgI2Vsc2UKPj4gLSNkZWZpbmUg
X3VrcGxhdF9jb3V0ZChsYnVmLCBsZW4pIHVrcGxhdF9jb3V0ZCgobGJ1ZiksIChsZW4pKQo+PiAr
I2RlZmluZSBfdWtwbGF0X2NvdXRrKGxidWYsIGxlbikgdWtwbGF0X2NvdXRrKChsYnVmKSwgKGxl
bikpCj4+IMKgICNlbmRpZgo+PiAtI2lmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5URF9USU1FCj4+
IC1zdGF0aWMgdm9pZCBfcHJpbnRkX3RpbWVzdGFtcCh2b2lkKQo+PiArI2lmIENPTkZJR19MSUJV
S0RFQlVHX1BSSU5US19USU1FCj4+ICtzdGF0aWMgdm9pZCBfcHJpbnRrX3RpbWVzdGFtcCh2b2lk
KQo+PiDCoCB7Cj4+IMKgwqDCoMKgwqAgY2hhciBidWZbQlVGTEVOXTsKPj4gwqDCoMKgwqDCoCBp
bnQgbGVuOwo+PiBAQCAtODksMTIgKzg5LDEyIEBAIHN0YXRpYyB2b2lkIF9wcmludGRfdGltZXN0
YW1wKHZvaWQpCj4+IMKgwqDCoMKgwqAgcmVtX3VzZWMgPSB1a2FyY2hfdGltZV9uc2VjX3RvX3Vz
ZWMocmVtX3VzZWMpOwo+PiDCoMKgwqDCoMKgIGxlbiA9IHNucHJpbnRmKGJ1ZiwgQlVGTEVOLCAi
WyU1IiBfX1BSSW5zZWMgIi4lMDYiIF9fUFJJbnNlYyAiXSAiLAo+PiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBzZWMsIHJlbV91c2VjKTsKPj4gLcKgwqDCoCBfdWtwbGF0X2NvdXRkKChjaGFy
ICopYnVmLCBsZW4pOwo+PiArwqDCoMKgIF91a3BsYXRfY291dGsoKGNoYXIgKilidWYsIGxlbik7
Cj4+IMKgIH0KPj4gwqAgI2VuZGlmCj4+IC0jaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJTlREX1NU
QUNLCj4+IC1zdGF0aWMgdm9pZCBfcHJpbnRkX3N0YWNrKHZvaWQpCj4+ICsjaWYgQ09ORklHX0xJ
QlVLREVCVUdfUFJJTlRLX1NUQUNLCj4+ICtzdGF0aWMgdm9pZCBfcHJpbnRrX3N0YWNrKHZvaWQp
Cj4+IMKgIHsKPj4gwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIHN0YWNrYjsKPj4gwqDCoMKgwqDC
oCBjaGFyIGJ1ZltCVUZMRU5dOwo+PiBAQCAtMTAzLDEyICsxMDMsMTMgQEAgc3RhdGljIHZvaWQg
X3ByaW50ZF9zdGFjayh2b2lkKQo+PiDCoMKgwqDCoMKgIHN0YWNrYiA9ICh1a2FyY2hfcmVhZF9z
cCgpICYgfihfX1NUQUNLX1NJWkUgLSAxKSkgKyBfX1NUQUNLX1NJWkU7Cj4+IMKgwqDCoMKgwqAg
bGVuID0gc25wcmludGYoYnVmLCBCVUZMRU4sICI8JXA+ICIsICh2b2lkICopIHN0YWNrYik7Cj4+
IC3CoMKgwqAgX3VrcGxhdF9jb3V0ZCgoY2hhciAqKWJ1ZiwgbGVuKTsKPj4gK8KgwqDCoCBfdWtw
bGF0X2NvdXRrKChjaGFyICopYnVmLCBsZW4pOwo+PiDCoCB9Cj4+IMKgICNlbmRpZgo+PiAtc3Rh
dGljIGlubGluZSB2b2lkIF92cHJpbnRkKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNv
bnN0IGNoYXIgCj4+ICpzcmNuYW1lLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHVuc2lnbmVkIGludCBzcmNsaW5lLCBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCj4+ICsj
aWYgQ09ORklHX0xJQlVLREVCVUdfUkVESVJfUFJJTlREIHx8IENPTkZJR19MSUJVS0RFQlVHX1BS
SU5USwo+PiArc3RhdGljIHZvaWQgX3ZwcmludGsoaW50IGx2bCwgY29uc3QgY2hhciAqbGlibmFt
ZSwgY29uc3QgY2hhciAqc3JjbmFtZSwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNp
Z25lZCBpbnQgc3JjbGluZSwgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQo+PiDCoCB7Cj4+
IMKgwqDCoMKgwqAgc3RhdGljIGludCBuZXdsaW5lID0gMTsKPj4gwqDCoMKgwqDCoCBzdGF0aWMg
aW50IHByZXZsdmwgPSBJTlRfTUlOOwo+PiBAQCAtMTIwLDI2ICsxMjEsMjMgQEAgc3RhdGljIGlu
bGluZSB2b2lkIF92cHJpbnRkKGludCBsdmwsIGNvbnN0IGNoYXIgCj4+ICpsaWJuYW1lLCBjb25z
dCBjaGFyICpzcmNuYW1lLAo+PiDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5scHRyID0gTlVMTDsK
Pj4gwqDCoMKgwqDCoCBzd2l0Y2ggKGx2bCkgewo+PiAtI2lmIENPTkZJR19MSUJVS0RFQlVHX1JF
RElSX1BSSU5USwo+PiAtwqDCoMKgIGNhc2UgRExWTF9DT05TOgo+PiAtwqDCoMKgwqDCoMKgwqAg
bXNnaGRyID0gIktlcm46ICI7Cj4+ICsjaWYgQ09ORklHX0xJQlVLREVCVUdfUkVESVJfUFJJTlRE
Cj4+ICvCoMKgwqAgY2FzZSBLTFZMX0RFQlVHOgo+PiArwqDCoMKgwqDCoMKgwqAgbXNnaGRyID0g
ImRiZzrCoCAiOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+IMKgICNlbmRpZgo+PiAt
wqDCoMKgIGNhc2UgRExWTF9DUklUOgo+PiArwqDCoMKgIGNhc2UgS0xWTF9DUklUOgo+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgbXNnaGRyID0gIkNSSVQ6ICI7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBi
cmVhazsKPj4gLcKgwqDCoCBjYXNlIERMVkxfRVJSOgo+PiArwqDCoMKgIGNhc2UgS0xWTF9FUlI6
Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBtc2doZHIgPSAiRVJSOsKgICI7Cj4+IMKgwqDCoMKgwqDC
oMKgwqDCoCBicmVhazsKPj4gLcKgwqDCoCBjYXNlIERMVkxfV0FSTjoKPj4gK8KgwqDCoCBjYXNl
IEtMVkxfV0FSTjoKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIG1zZ2hkciA9ICJXYXJuOiAiOwo+PiDC
oMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4+IC3CoMKgwqAgY2FzZSBETFZMX0lORk86Cj4+ICvC
oMKgwqAgY2FzZSBLTFZMX0lORk86Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBtc2doZHIgPSAiSW5m
bzogIjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+PiAtwqDCoMKgIGNhc2UgRExWTF9F
WFRSQToKPj4gLcKgwqDCoMKgwqDCoMKgIG1zZ2hkciA9ICJFSW5mOiAiOwo+PiAtwqDCoMKgwqDC
oMKgwqAgYnJlYWs7Cj4+IMKgwqDCoMKgwqAgZGVmYXVsdDoKPj4gwqDCoMKgwqDCoMKgwqDCoMKg
IC8qIHVua25vd24gdHlwZTogaWdub3JlICovCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47
Cj4+IEBAIC0xNTEsNyArMTQ5LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIF92cHJpbnRkKGludCBs
dmwsIGNvbnN0IGNoYXIgCj4+ICpsaWJuYW1lLCBjb25zdCBjaGFyICpzcmNuYW1lLAo+PiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBsZXZlbCBjaGFuZ2VkIHdpdGhvdXQgY2xvc2luZyB3
aXRoICdcbicsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBlbmZvcmNlIHByaW50
aW5nICdcbicsIGJlZm9yZSB0aGUgbmV3IG1lc3NhZ2UgaGVhZGVyCj4+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgKi8KPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0
ZCgiXG4iLCAxKTsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0aygiXG4i
LCAxKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHByZXZs
dmwgPSBsdmw7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBuZXdsaW5lID0gMTsgLyogZW5mb3JjZSBw
cmludGluZyB0aGUgbWVzc2FnZSBoZWFkZXIgKi8KPj4gQEAgLTE2MSwyOSArMTU5LDI5IEBAIHN0
YXRpYyBpbmxpbmUgdm9pZCBfdnByaW50ZChpbnQgbHZsLCBjb25zdCBjaGFyIAo+PiAqbGlibmFt
ZSwgY29uc3QgY2hhciAqc3JjbmFtZSwKPj4gwqDCoMKgwqDCoCBscHRyID0gbGJ1ZjsKPj4gwqDC
oMKgwqDCoCB3aGlsZSAobGVuID4gMCkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKG5ld2xp
bmUpIHsKPj4gLSNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVERfVElNRQo+PiAtwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBfcHJpbnRkX3RpbWVzdGFtcCgpOwo+PiArI2lmIENPTkZJR19MSUJVS0RF
QlVHX1BSSU5US19USU1FCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9wcmludGtfdGltZXN0
YW1wKCk7Cj4+IMKgICNlbmRpZgo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfdWtwbGF0X2Nv
dXRkKERFQ09OU1QoY2hhciAqLCBtc2doZHIpLCA2KTsKPj4gLSNpZiBDT05GSUdfTElCVUtERUJV
R19QUklOVERfU1RBQ0sKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3ByaW50ZF9zdGFjaygp
Owo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfdWtwbGF0X2NvdXRrKERFQ09OU1QoY2hhciAq
LCBtc2doZHIpLCA2KTsKPj4gKyNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVEtfU1RBQ0sKPj4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3ByaW50a19zdGFjaygpOwo+PiDCoCAjZW5kaWYKPj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGxpYm5hbWUpIHsKPj4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBfdWtwbGF0X2NvdXRkKCJbIiwgMSk7Cj4+IC3CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0ZChERUNPTlNUKGNoYXIgKiwgbGlibmFt
ZSksCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0aygiWyIs
IDEpOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF91a3BsYXRfY291dGsoREVD
T05TVChjaGFyICosIGxpYm5hbWUpLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RybGVuKGxpYm5hbWUpKTsKPj4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBfdWtwbGF0X2NvdXRkKCJdICIsIDIpOwo+PiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF91a3BsYXRfY291dGsoIl0gIiwgMik7Cj4+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIH0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHNy
Y25hbWUpIHsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjaGFyIGxub2J1
Zls2XTsKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfdWtwbGF0X2NvdXRkKERF
Q09OU1QoY2hhciAqLCBzcmNuYW1lKSwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBfdWtwbGF0X2NvdXRrKERFQ09OU1QoY2hhciAqLCBzcmNuYW1lKSwKPj4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cmxlbihzcmNuYW1l
KSk7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0ZCgiIEAg
IiwgMyk7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0ZChs
bm9idWYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0aygi
IEAgIiwgMyk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3VrcGxhdF9jb3V0
ayhsbm9idWYsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBzbnByaW50Zihsbm9idWYsIHNpemVvZihsbm9idWYpLAo+PiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIl
LTV1Iiwgc3JjbGluZSkpOwo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF91a3Bs
YXRfY291dGQoIjogIiwgMik7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX3Vr
cGxhdF9jb3V0aygiOiAiLCAyKTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+PiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZXdsaW5lID0gMDsKPj4gwqDCoMKgwqDCoMKgwqDC
oMKgIH0KPj4gQEAgLTE5NSw1OSArMTkzLDU3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfdnByaW50
ZChpbnQgbHZsLCBjb25zdCBjaGFyIAo+PiAqbGlibmFtZSwgY29uc3QgY2hhciAqc3JjbmFtZSwK
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIH0gZWxzZSB7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGxsZW4gPSBsZW47Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4+IC3CoMKgwqDCoMKgwqDC
oCBfdWtwbGF0X2NvdXRkKChjaGFyICopbHB0ciwgbGxlbik7Cj4+ICvCoMKgwqDCoMKgwqDCoCBf
dWtwbGF0X2NvdXRrKChjaGFyICopbHB0ciwgbGxlbik7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBs
ZW4gLT0gbGxlbjsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGxwdHIgPSBubHB0ciArIDE7Cj4+IMKg
wqDCoMKgwqAgfQo+PiDCoCB9Cj4+ICsjZW5kaWYgLyogQ09ORklHX0xJQlVLREVCVUdfUkVESVJf
UFJJTlREIHx8IENPTkZJR19MSUJVS0RFQlVHX1BSSU5USyAqLwo+PiAtLyogZW5zdXJlcyB0aGF0
IGZ1bmN0aW9uIGlzIGFsd2F5cyBjb21waWxlZCAqLwo+PiAtdm9pZCB1a192cHJpbnRrKGNvbnN0
IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKPj4gKy8qCj4+ICsgKiBERUJVRyBQUklOVElORyBFTlRS
WQo+PiArICrCoCB1a19wcmludGQoKSBhbmQgdWtfdnByaW50ZCBhcmUgYWx3YXlzIGNvbXBpbGVk
IGluLgo+PiArICrCoCBXZSByZWx5IG9uIE9QVElNSVpFX0RFQURFTElNOiBUaGVzZSBzeW1ib2xz
IGFyZSBhdXRvbWF0aWNhbGx5Cj4+ICsgKsKgIHJlbW92ZWQgZnJvbSB0aGUgZmluYWwgaW1hZ2Ug
d2hlbiB0aGVyZSB3YXMgbm8gdXNhZ2UuCj4+ICsgKi8KPj4gK3ZvaWQgdWtfdnByaW50ZChjb25z
dCBjaGFyICpmbXQgX19tYXliZV91bnVzZWQsIHZhX2xpc3QgYXAgCj4+IF9fbWF5YmVfdW51c2Vk
KQo+PiDCoCB7Cj4+IC0jaWYgQ09ORklHX0xJQlVLREVCVUdfUFJJTlRLCj4+IC0jaWYgQ09ORklH
X0xJQlVLREVCVUdfUkVESVJfUFJJTlRLCj4+IC3CoMKgwqAgX3ZwcmludGQoRExWTF9DT05TLCBO
VUxMLCBOVUxMLCAwLCBmbXQsIGFwKTsKPiAKPiBEbyB3ZSBpbnRlbmQgdG8gdXNlICNpZmRlZiBp
bnN0ZWFkIG9mICNpZgo+PiArI2lmIENPTkZJR19MSUJVS0RFQlVHX1JFRElSX1BSSU5URAo+PiAr
wqDCoMKgIF92cHJpbnRrKEtMVkxfREVCVUcsIE5VTEwsIE5VTEwsIDAsIGZtdCwgYXApOwo+PiDC
oCAjZWxzZQo+PiAtwqDCoMKgIF92cHJpbnRrKGZtdCwgYXApOwo+PiArwqDCoMKgIF92cHJpbnRk
KGZtdCwgYXApOwo+PiDCoCAjZW5kaWYKPj4gLSNlbmRpZiAvKiBDT05GSUdfTElCVUtERUJVR19Q
UklOVEsgKi8KPj4gwqAgfQo+PiAtLyogZW5zdXJlcyB0aGF0IGZ1bmN0aW9uIGlzIGFsd2F5cyBj
b21waWxlZCAqLwo+PiAtdm9pZCB1a19wcmludGsoY29uc3QgY2hhciAqZm10LCAuLi4pCj4+ICt2
b2lkIHVrX3ByaW50ZChjb25zdCBjaGFyICpmbXQsIC4uLikKPj4gwqAgewo+PiAtI2lmIENPTkZJ
R19MSUJVS0RFQlVHX1BSSU5USwo+PiDCoMKgwqDCoMKgIHZhX2xpc3QgYXA7Cj4+IMKgwqDCoMKg
wqAgdmFfc3RhcnQoYXAsIGZtdCk7Cj4+IC3CoMKgwqAgdWtfdnByaW50ayhmbXQsIGFwKTsKPj4g
K8KgwqDCoCB1a192cHJpbnRkKGZtdCwgYXApOwo+PiDCoMKgwqDCoMKgIHZhX2VuZChhcCk7Cj4+
IC0jZW5kaWYgLyogQ09ORklHX0xJQlVLREVCVUdfUFJJTlRLICovCj4+IMKgIH0KPj4gLS8qIGVu
c3VyZXMgdGhhdCBmdW5jdGlvbiBpcyBhbHdheXMgY29tcGlsZWQgKi8KPj4gLXZvaWQgX3VrX3Zw
cmludGQoaW50IGx2bCwgY29uc3QgY2hhciAqbGlibmFtZSwgY29uc3QgY2hhciAqc3JjbmFtZSwK
Pj4gKy8qCj4+ICsgKiBLRVJORUwgUFJJTlQgRU5UUlkKPj4gKyAqwqAgRGlmZmVyZW50IHRvIHVr
X3ByaW50ZCgpLCB3ZSBoYXZlIGEgZ2xvYmFsIHN3aXRjaCB0aGF0IGRpc2FibGVzIAo+PiBrZXJu
ZWwKPj4gKyAqwqAgbWVzc2FnZXMuIFdlIGNvbXBpbGUgdGhlc2UgZW50cnkgcG9pbnRzIG9ubHkg
aW4gd2hlbiB0aGUga2VybmVsIAo+PiBjb25zb2xlIGlzCj4+ICsgKsKgIGVuYWJsZWQuCj4+ICsg
Ki8KPj4gKyNpZiBDT05GSUdfTElCVUtERUJVR19QUklOVEsKPj4gK3ZvaWQgX3VrX3ZwcmludGso
aW50IGx2bCwgY29uc3QgY2hhciAqbGlibmFtZSwgY29uc3QgY2hhciAqc3JjbmFtZSwKPj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IHNyY2xpbmUsIGNvbnN0IGNoYXIgKmZtdCwg
dmFfbGlzdCBhcCkKPj4gwqAgewo+PiAtI2lmIENPTkZJR19MSUJVS0RFQlVHX1BSSU5URAo+PiAt
wqDCoMKgIGlmIChsaWtlbHkobHZsID4gRExWTF9NQVgpKQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0
dXJuOwo+PiAtwqDCoMKgIF92cHJpbnRkKGx2bCwgbGlibmFtZSwgc3JjbmFtZSwgc3JjbGluZSwg
Zm10LCBhcCk7Cj4+IC0jZW5kaWYgLyogQ09ORklHX0xJQlVLREVCVUdfUFJJTlREICovCj4+ICvC
oMKgwqAgX3ZwcmludGsobHZsLCBsaWJuYW1lLCBzcmNuYW1lLCBzcmNsaW5lLCBmbXQsIGFwKTsK
Pj4gwqAgfQo+PiAtLyogZW5zdXJlcyB0aGF0IGZ1bmN0aW9uIGlzIGFsd2F5cyBjb21waWxlZCAq
Lwo+PiAtdm9pZCBfdWtfcHJpbnRkKGludCBsdmwsIGNvbnN0IGNoYXIgKmxpYm5hbWUsIGNvbnN0
IGNoYXIgKnNyY25hbWUsCj4+ICt2b2lkIF91a19wcmludGsoaW50IGx2bCwgY29uc3QgY2hhciAq
bGlibmFtZSwgY29uc3QgY2hhciAqc3JjbmFtZSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2ln
bmVkIGludCBzcmNsaW5lLCBjb25zdCBjaGFyICpmbXQsIC4uLikKPj4gwqAgewo+PiAtI2lmIENP
TkZJR19MSUJVS0RFQlVHX1BSSU5URAo+PiDCoMKgwqDCoMKgIHZhX2xpc3QgYXA7Cj4+IC3CoMKg
wqAgaWYgKGxpa2VseShsdmwgPiBETFZMX01BWCkpCj4+IC3CoMKgwqDCoMKgwqDCoCByZXR1cm47
Cj4+IC0KPj4gwqDCoMKgwqDCoCB2YV9zdGFydChhcCwgZm10KTsKPj4gLcKgwqDCoCBfdWtfdnBy
aW50ZChsdmwsIGxpYm5hbWUsIHNyY25hbWUsIHNyY2xpbmUsIGZtdCwgYXApOwo+PiArwqDCoMKg
IF91a192cHJpbnRrKGx2bCwgbGlibmFtZSwgc3JjbmFtZSwgc3JjbGluZSwgZm10LCBhcCk7Cj4+
IMKgwqDCoMKgwqAgdmFfZW5kKGFwKTsKPj4gLSNlbmRpZiAvKiBDT05GSUdfTElCVUtERUJVR19Q
UklOVEQgKi8KPj4gwqAgfQo+IAo+IERvIHlvdSBtZWFuIENPTkZJSUdfTElCVUtERUJVR19QUklO
VEs/Cj4+ICsjZW5kaWYgLyogQ09ORklHX0xJQlVLREVCVUdfUFJJTlREICovCj4+Cj4gCj4gCj4g
VGhhbmtzICYgUmVnYXJkcwo+IFNoYXJhbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 11:17:19 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 11:17:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9TXK-0000hZ-Gi; Mon, 08 Oct 2018 11:17:18 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fisy=mu=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1g9TXJ-0000hQ-2m
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 11:17:17 +0000
X-Inumbo-ID: 5ad0d18f-caeb-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5ad0d18f-caeb-11e8-a8a5-bc764e045a96;
 Mon, 08 Oct 2018 13:14:43 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 1F1C310499C;
 Mon,  8 Oct 2018 13:17:13 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YQfKL2F28xTM; Mon,  8 Oct 2018 13:17:12 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id E806410499A
 for <minios-devel@lists.xen.org>; Mon,  8 Oct 2018 13:17:10 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 8 Oct 2018 13:17:10
 +0200
To: Yuri Volchkov <yuri.volchkov@neclab.eu>, <minios-devel@lists.xen.org>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
 <20181005082141.15862-5-yuri.volchkov@neclab.eu>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <f85abf53-c12c-9a51-fd45-6bffe9072c29@neclab.eu>
Date: Mon, 8 Oct 2018 13:17:09 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20181005082141.15862-5-yuri.volchkov@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/4] include/uk: merge two
 bitops functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgWXVyaSwKCnNvbWUgY29tbWVudHM6CgpPbiAxMC8wNS8yMDE4IDEwOjIxIEFNLCBZdXJpIFZv
bGNoa292IHdyb3RlOgo+IFVuaWtyYWZ0IGN1cnJlbnRseSBoYXMgdHdvIHNldHMgb2YgYml0IG9w
ZXJhdGlvbnMuIFRoaXMgcGF0Y2ggbWVyZ2VzCj4gdGhlbSB0b2dldGhlcgo+IAo+IFNpZ25lZC1v
ZmYtYnk6IFl1cmkgVm9sY2hrb3YgPHl1cmkudm9sY2hrb3ZAbmVjbGFiLmV1Pgo+IC0tLQo+ICAg
aW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIHwgMTA3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCj4gICBpbmNsdWRlL3VrL2JpdG9wcy5oICAgICAgfCAxMTcgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLS0tLS0tCj4gICAyIGZpbGVzIGNoYW5nZWQsIDEwMCBpbnNl
cnRpb25zKCspLCAxMjQgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsv
YXJjaC9hdG9taWMuaCBiL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAo+IGluZGV4IGU2NDQ0YzAu
LmNlOGY2ZTUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCj4gKysrIGIv
aW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCj4gQEAgLTgzLDExMyArODMsNiBAQCBleHRlcm4gIkMi
IHsKPiAgIAkJICAgIDogb2xkOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXAo+ICAgCX0pCj4gICAKPiAtLyoqCj4gLSAqIHRlc3RfYW5kX2NsZWFy
X2JpdCAtIENsZWFyIGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQo+IC0gKiBAbnI6IEJp
dCB0byBjbGVhcgo+IC0gKiBAYWRkcjogQWRkcmVzcyB0byBjb3VudCBmcm9tCj4gLSAqCj4gLSAq
IE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5j
dGlvbiBpcyBub3QKPiAtICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUtd29yZCBx
dWFudGl0eS4KPiAtICoKPiAtICogVGhpcyBvcGVyYXRpb24gaXMgYXRvbWljLgo+IC0gKiBJZiB5
b3UgbmVlZCBhIG1lbW9yeSBiYXJyaWVyLCB1c2Ugc3luY2hfdGVzdF9hbmRfY2xlYXJfYml0IGlu
c3RlYWQuCj4gLSAqLwo+IC1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xyX2Jp
dCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4gLXsKPiAtCXZvbGF0aWxl
IF9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKPiAtCV9fdTggYml0ID0g
MSA8PCAobnIgJiA3KTsKPiAtCV9fdTggb3JpZzsKPiAtCj4gLQlvcmlnID0gX19hdG9taWNfZmV0
Y2hfYW5kKGFkZHIsIH5iaXQsIF9fQVRPTUlDX1JFTEFYRUQpOwo+IC0KPiAtCXJldHVybiAob3Jp
ZyAmIGJpdCkgIT0gMDsKPiAtfQo+IC0KPiAtLyoqCj4gLSAqIEF0b21pY2FsbHkgc2V0IGEgYml0
IGFuZCByZXR1cm4gdGhlIG9sZCB2YWx1ZS4KPiAtICogU2ltaWxhciB0byB0ZXN0X2FuZF9jbGVh
cl9iaXQuCj4gLSAqLwo+IC1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfc2V0X2Jp
dCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4gLXsKPiAtCXZvbGF0aWxl
IF9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKPiAtCV9fdTggYml0ID0g
MSA8PCAobnIgJiA3KTsKPiAtCV9fdTggb3JpZzsKPiAtCj4gLQlvcmlnID0gX19hdG9taWNfZmV0
Y2hfb3IoYWRkciwgYml0LCBfX0FUT01JQ19SRUxBWEVEKTsKPiAtCj4gLQlyZXR1cm4gKG9yaWcg
JiBiaXQpICE9IDA7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBUZXN0IHdoZXRoZXIgYSBiaXQgaXMg
c2V0Lgo+IC0gKi8KPiAtc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYml0KHVuc2lnbmVk
IGludCBuciwKPiAtCQkJCQljb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICpieXRlKQo+IC17
Cj4gLQljb25zdCB2b2xhdGlsZSBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAqKWJ5dGU7Cj4gLQlp
bnQgcmV0ID0gICgoMSA8PCAobnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0gMDsKPiAtCj4g
LQliYXJyaWVyKCk7Cj4gLQlyZXR1cm4gcmV0Owo+IC19Cj4gLQo+IC0vKioKPiAtICogQXRvbWlj
YWxseSBzZXQgYSBiaXQgaW4gbWVtb3J5IChsaWtlIHRlc3RfYW5kX3NldF9iaXQgYnV0IGRpc2Nh
cmRzIHJlc3VsdCkuCj4gLSAqLwo+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX3NldF9iaXQo
dW5zaWduZWQgaW50IG5yLAo+IC0JCQkJCXZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmJ5dGUpCj4g
LXsKPiAtCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KG5yLCBieXRlKTsKPiAtfQo+IC0KPiAtLyoq
Cj4gLSAqIEF0b21pY2FsbHkgY2xlYXIgYSBiaXQgaW4gbWVtb3J5IChsaWtlIHRlc3RfYW5kX2Ns
ZWFyX2JpdCBidXQgZGlzY2FyZHMKPiAtICogcmVzdWx0KS4KPiAtICovCj4gLXN0YXRpYyBpbmxp
bmUgdm9pZCB1a2FyY2hfY2xyX2JpdCh1bnNpZ25lZCBpbnQgbnIsCj4gLQkJCQkJdm9sYXRpbGUg
dW5zaWduZWQgbG9uZyAqYnl0ZSkKPiAtewo+IC0JdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQobnIs
IGJ5dGUpOwo+IC19Cj4gLQo+IC0vKiBBcyB0ZXN0X2FuZF9jbGVhcl9iaXQsIGJ1dCB1c2luZyBf
X0FUT01JQ19TRVFfQ1NUICovCj4gLXN0YXRpYyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2FuZF9j
bHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAo+IC0JCQkJCQl2b2xhdGlsZSB2b2lkICpieXRl
KQo+IC17Cj4gLQl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4g
Myk7Cj4gLQlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7Cj4gLQlfX3U4IG9yaWc7Cj4gLQo+IC0J
b3JpZyA9IF9fYXRvbWljX2ZldGNoX2FuZChhZGRyLCB+Yml0LCBfX0FUT01JQ19TRVFfQ1NUKTsK
PiAtCj4gLQlyZXR1cm4gKG9yaWcgJiBiaXQpICE9IDA7Cj4gLX0KPiAtCj4gLS8qIEFzIHRlc3Rf
YW5kX3NldF9iaXQsIGJ1dCB1c2luZyBfX0FUT01JQ19TRVFfQ1NUICovCj4gLXN0YXRpYyBpbmxp
bmUgaW50IHVrYXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAo+IC0J
CQkJCQl2b2xhdGlsZSB2b2lkICpieXRlKQo+IC17Cj4gLQl2b2xhdGlsZSBfX3U4ICphZGRyID0g
KChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4gLQlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7
Cj4gLQlfX3U4IG9yaWc7Cj4gLQo+IC0Jb3JpZyA9IF9fYXRvbWljX2ZldGNoX29yKGFkZHIsIGJp
dCwgX19BVE9NSUNfU0VRX0NTVCk7Cj4gLQo+IC0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAwOwo+
IC19Cj4gLQo+IC0vKiBBcyBzZXRfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwo+
IC1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX3NldF9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIs
IHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4gLXsKPiAtCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5
bmMobnIsIGJ5dGUpOwo+IC19Cj4gLQo+IC0vKiBBcyBjbGVhcl9iaXQsIGJ1dCB1c2luZyBfX0FU
T01JQ19TRVFfQ1NUICovCj4gLXN0YXRpYyBpbmxpbmUgdm9pZCB1a2FyY2hfY2xyX2JpdF9zeW5j
KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdm9pZCAqYnl0ZSkKPiAtewo+IC0JdWthcmNoX3Rl
c3RfYW5kX2Nscl9iaXRfc3luYyhuciwgYnl0ZSk7Cj4gLX0KPiAtCj4gICAjaWZkZWYgX19jcGx1
c3BsdXMKPiAgIH0KPiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VrL2JpdG9wcy5o
IGIvaW5jbHVkZS91ay9iaXRvcHMuaAo+IGluZGV4IDVhMjg0MTAuLjM3M2RjZDMgMTAwNjQ0Cj4g
LS0tIGEvaW5jbHVkZS91ay9iaXRvcHMuaAo+ICsrKyBiL2luY2x1ZGUvdWsvYml0b3BzLmgKPiBA
QCAtMjQyLDM4ICsyNDIsODggQEAgdWtfZmluZF9uZXh0X3plcm9fYml0KGNvbnN0IHVuc2lnbmVk
IGxvbmcgKmFkZHIsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAlyZXR1cm4gKGJpdCk7Cj4gICB9
Cj4gICAKPiAtLyogdWtfc2V0X2JpdCBhbmQgdWtfY2xlYXJfYml0IGFyZSBhdG9taWMgYW5kIHBy
b3RlY3RlZCBhZ2FpbnN0Cj4gLSAqIHJlb3JkZXJpbmcgKGRvIGJhcnJpZXJzKSwgd2hpbGUgdGhl
IHVuZGVyc2NvcmVkIChfXyopIHZlcnNpb25zIG9mCj4gLSAqIHRoZW0gZG9uJ3QgKG5vdCBhdG9t
aWMpLgo+ICsvKioKPiArICogdWtfdGVzdF9hbmRfY2xlYXJfYml0IC0gQXRvbWljYWxseSBjbGVh
ciBhIGJpdCBhbmQgcmV0dXJuIGl0cyBvbGQgdmFsdWUKPiArICogQG5yOiBCaXQgdG8gY2xlYXIK
PiArICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQo+ICsgKgo+ICsgKiBOb3RlIHRoYXQg
QG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90
Cj4gKyAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCj4g
ICAgKi8KPiAtI2RlZmluZSBfX3VrX3NldF9iaXQoaSwgYSkgICAgICAgIHVrYXJjaF9zZXRfYml0
KGksIGEpCj4gLSNkZWZpbmUgdWtfc2V0X2JpdChpLCBhKSAgICAgICAgICB1a2FyY2hfc2V0X2Jp
dF9zeW5jKGksIGEpCj4gLSNkZWZpbmUgX191a19jbGVhcl9iaXQoaSwgYSkgICAgICB1a2FyY2hf
Y2xyX2JpdChpLCBhKQo+IC0jZGVmaW5lIHVrX2NsZWFyX2JpdChpLCBhKSAgICAgICAgdWthcmNo
X2Nscl9iaXRfc3luYyhpLCBhKQo+IC0jZGVmaW5lIHVrX3Rlc3RfYml0KGksIGEpICAgICAgICAg
dWthcmNoX3Rlc3RfYml0KGksIGEpCj4gLQo+ICAgc3RhdGljIGlubGluZSBpbnQKPiAtdWtfdGVz
dF9hbmRfY2xlYXJfYml0KGxvbmcgYml0LCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICp2YXIpCj4g
K3VrX3Rlc3RfYW5kX2NsZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICph
ZGRyKQo+ICAgewo+IC0JcmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmMoYml0LCAo
dm9sYXRpbGUgdm9pZCAqKSB2YXIpOwo+ICsJdm9sYXRpbGUgX191OCAqcHRyID0gKChfX3U4ICop
IGFkZHIpICsgKG5yID4+IDMpOwo+ICsJX191OCBtYXNrID0gMSA8PCAobnIgJiA3KTsKPiArCV9f
dTggb3JpZzsKPiArCj4gKwlvcmlnID0gX19hdG9taWNfZmV0Y2hfYW5kKHB0ciwgfm1hc2ssIF9f
QVRPTUlDX1NFUV9DU1QpOwo+ICsKPiArCXJldHVybiAob3JpZyAmIG1hc2spICE9IDA7Cj4gICB9
Cj4gICAKPiArLyoqCj4gKyAqIF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0IC0gQ2xlYXIgYSBiaXQg
YW5kIHJldHVybiBpdHMgb2xkIHZhbHVlCj4gKyAqIEBucjogQml0IHRvIGNsZWFyCj4gKyAqIEBh
ZGRyOiBBZGRyZXNzIHRvIGNvdW50IGZyb20KPiArICoKPiArICogTm90ZSB0aGF0IEBuciBtYXkg
YmUgYWxtb3N0IGFyYml0cmFyaWx5IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5vdAo+ICsgKiBy
ZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5Lgo+ICsgKgo+ICsg
KiBUaGlzIG9wZXJhdGlvbiBpcyBub3QgYXRvbWljIGFuZCBjYW4gYmUgcmVvcmRlcmVkCj4gKyAq
Lwo+ICAgc3RhdGljIGlubGluZSBpbnQKPiAtX191a190ZXN0X2FuZF9jbGVhcl9iaXQobG9uZyBi
aXQsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKnZhcikKPiArX191a190ZXN0X2FuZF9jbGVhcl9i
aXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiAgIHsKPiAtCXJldHVy
biB1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdChiaXQsICh2b2xhdGlsZSB2b2lkICopIHZhcik7Cj4g
Kwl2b2xhdGlsZSBfX3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7Cj4gKwlf
X3U4IG1hc2sgPSAxIDw8IChuciAmIDcpOwo+ICsJX191OCBvcmlnOwo+ICsKPiArCW9yaWcgPSBf
X2F0b21pY19mZXRjaF9hbmQocHRyLCB+bWFzaywgX19BVE9NSUNfUkVMQVhFRCk7Cj4gKwo+ICsJ
cmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKPiAgIH0KPiAgIAo+ICsvKioKPiArICogX191a190
ZXN0X2FuZF9zZXRfYml0IC0gQXRvbWljYWxseSBzZXQgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xk
IHZhbHVlCgpUaGlzIGlzIGEgdHlwbzogdGhlIGNvbW1lbnQgYWN0dWFsbHkgZGVzY3JpYmVzIHRo
ZSBub24tdW5kZXJzY29yZSAKdmVyc2lvbiBvZiB0aGUgZnVuY3Rpb24uCgo+ICsgKiBAbnI6IEJp
dCB0byBjbGVhcgo+ICsgKiBAYWRkcjogQWRkcmVzcyB0byBjb3VudCBmcm9tCj4gKyAqCj4gKyAq
IE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5j
dGlvbiBpcyBub3QKPiArICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUtd29yZCBx
dWFudGl0eS4KPiArICovCj4gICBzdGF0aWMgaW5saW5lIGludAo+IC11a190ZXN0X2FuZF9zZXRf
Yml0KGxvbmcgYml0LCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICp2YXIpCj4gK3VrX3Rlc3RfYW5k
X3NldF9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiAgIHsKPiAt
CXJldHVybiB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKGJpdCwgKHZvbGF0aWxlIHZvaWQg
KikgdmFyKTsKPiArCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSArIChuciA+
PiAzKTsKPiArCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7Cj4gKwlfX3U4IG9yaWc7Cj4gKwo+
ICsJb3JpZyA9IF9fYXRvbWljX2ZldGNoX29yKHB0ciwgbWFzaywgX19BVE9NSUNfU0VRX0NTVCk7
Cj4gKwo+ICsJcmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKPiAgIH0KPiAgIAo+ICsvKioKPiAr
ICogX191a190ZXN0X2FuZF9zZXRfYml0IC0gU2V0IGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2
YWx1ZQo+ICsgKiBAbnI6IEJpdCB0byBjbGVhcgo+ICsgKiBAYWRkcjogQWRkcmVzcyB0byBjb3Vu
dCBmcm9tCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmls
eSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKPiArICogcmVzdHJpY3RlZCB0byBhY3Rpbmcg
b24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KPiArICoKPiArICogVGhpcyBvcGVyYXRpb24gaXMg
bm90IGF0b21pYyBhbmQgY2FuIGJlIHJlb3JkZXJlZAo+ICsgKi8KPiAgIHN0YXRpYyBpbmxpbmUg
aW50Cj4gLV9fdWtfdGVzdF9hbmRfc2V0X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQg
bG9uZyAqdmFyKQo+ICtfX3VrX3Rlc3RfYW5kX3NldF9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5z
aWduZWQgbG9uZyAqYWRkcikKPiAgIHsKPiAtCXJldHVybiB1a2FyY2hfdGVzdF9hbmRfc2V0X2Jp
dChiaXQsICh2b2xhdGlsZSB2b2lkICopIHZhcik7Cj4gKwl2b2xhdGlsZSBfX3U4ICpwdHIgPSAo
KF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7Cj4gKwlfX3U4IG1hc2sgPSAxIDw8IChuciAmIDcp
Owo+ICsJX191OCBvcmlnOwo+ICsKPiArCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihwdHIsIG1h
c2ssIF9fQVRPTUlDX1JFTEFYRUQpOwo+ICsKPiArCXJldHVybiAob3JpZyAmIG1hc2spICE9IDA7
Cj4gICB9Cj4gICAKPiAgIGVudW0gewo+IEBAIC0yODIsNiArMzMyLDM5IEBAIGVudW0gewo+ICAg
CVJFR19PUF9SRUxFQVNFLAo+ICAgfTsKPiAgIAo+ICsvKiB1a19zZXRfYml0IGFuZCB1a19jbGVh
cl9iaXQgYXJlIGF0b21pYyBhbmQgcHJvdGVjdGVkIGFnYWluc3QKPiArICogcmVvcmRlcmluZyAo
ZG8gYmFycmllcnMpLCB3aGlsZSB0aGUgdW5kZXJzY29yZWQgKF9fKikgdmVyc2lvbnMgb2YKPiAr
ICogdGhlbSBkb24ndCAobm90IGF0b21pYykuCgpJIGtub3cgeW91IG9ubHkgY29waWVkIHRoYXQg
Y29tbWVudCBmcm9tIGEgcHJldmlvdXMgbG9jYXRpb24gaW4gdGhlIApvdGhlciBmaWxlLCBidXQg
dGhpcyBzaG91bGQgc2F5ICJhcmVuJ3QiIGluc3RlYWQgb2YgImRvbid0Iiwgc28gd2UgbWlnaHQg
CmFzIHdlbGwgZml4IHRoYXQgbm93IHRoYXQgd2UgdG91Y2ggdGhlIGNvbW1lbnQgbGluZS4KCkFs
c28sIGNvbWUgdG8gdGhpbmsgb2YgaXQsIGlzbid0IHRoYXQgd3Jvbmc/IFRoZSB1bmRlcnNjb3Jl
IHZlcnNpb25zIAphbHNvIGRvIGF0b21pYyBiaXQgb3BlcmF0aW9ucywgdGhleSdyZSBqdXN0IG5v
dCBzeW5jaHJvbml6ZWQuCgpJc24ndCB0aGlzIGJvdGggbW9yZSBjb3JyZWN0IGFuZCBjbGVhcmVy
OgoiVGhlIGZvbGxvd2luZyB1a18qIGZ1bmN0aW9ucyBhcmUgc3luY2hyb25pemVkIHZlcnNpb25z
IHRoYXQgZ3VhcmFudGVlIAptZW1vcnkgb3JkZXJpbmcsIHdoaWxlIHRoZWlyIF9fdWtfKiBjb3Vu
dGVycGFydHMgZG8gbm90LiIKCgo+ICsgKi8KPiArc3RhdGljIGlubGluZSB2b2lkIHVrX3NldF9i
aXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiArewo+ICsJdWtfdGVz
dF9hbmRfc2V0X2JpdChuciwgYWRkcik7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBf
X3VrX3NldF9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiArewo+
ICsJX191a190ZXN0X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKPiArfQo+ICsKPiArc3RhdGljIGlu
bGluZSB2b2lkIHVrX2NsZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICph
ZGRyKQo+ICt7Cj4gKwl1a190ZXN0X2FuZF9jbGVhcl9iaXQobnIsIGFkZHIpOwo+ICt9Cj4gKwo+
ICtzdGF0aWMgaW5saW5lIHZvaWQgX191a19jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5z
aWduZWQgbG9uZyAqYWRkcikKPiArewo+ICsJX191a190ZXN0X2FuZF9jbGVhcl9iaXQobnIsIGFk
ZHIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludCB1a190ZXN0X2JpdChpbnQgbnIsIGNv
bnN0IHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCj4gK3sKPiArCWNvbnN0IHZvbGF0aWxl
IF9fdTggKnB0ciA9IChjb25zdCBfX3U4ICopIGFkZHI7Cj4gKwlpbnQgcmV0ID0gICgoMSA8PCAo
bnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0gMDsKPiArCj4gKwliYXJyaWVyKCk7Cj4gKwly
ZXR1cm4gcmV0Owo+ICt9CgpUaGlzIHRlc3RfYml0IGlzbid0IHN5bmNlZCwgdGhvdWdoLiBTbyB0
byBzdGF5IHdpdGggdGhlIG5hbWluZyBzY2hlbWUsIApzaG91bGRuJ3QgdGhpcyBiZSBfX3VrX3Rl
c3RfYml0PyBBbmQgdGhlbiB3ZSBjcmVhdGUgYSBzeW5jZWQgdmVyc2lvbiAKd2l0aCBfX2F0b21p
Y190aHJlYWRfZmVuY2Ugb3Igc29tZXRoaW5nIGxpa2UgdGhhdD8KCgotLSAKRHIuIEZsb3JpYW4g
U2NobWlkdArjg5Xjg63jg7zjg6rjgqLjg7Pjg7vjgrfjg6Xjg5/jg4Pjg4gKUmVzZWFyY2ggU2Np
ZW50aXN0LApTeXN0ZW1zIGFuZCBNYWNoaW5lIExlYXJuaW5nIEdyb3VwCk5FQyBMYWJvcmF0b3Jp
ZXMgRXVyb3BlCkt1cmbDvHJzdGVuLUFubGFnZSAzNiwgRC02OTExNSBIZWlkZWxiZXJnClRlbC4g
ICAgICs0OSAoMCk2MjIxIDQzNDItMjY1CkZheDogICAgICs0OSAoMCk2MjIxIDQzNDItMTU1CmUt
bWFpbDogIGZsb3JpYW4uc2NobWlkdEBuZWNsYWIuZXUKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJlZ2lzdGVyZWQgYXQgQW10c2dl
cmljaHQgTWFubmhlaW0sIEdlcm1hbnksIEhSQjcyODU1OAoKX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Oct 08 12:42:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 08 Oct 2018 12:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9UrG-00086E-0m; Mon, 08 Oct 2018 12:41:58 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=uyh+=mu=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1g9UrE-000869-Au
 for minios-devel@lists.xen.org; Mon, 08 Oct 2018 12:41:56 +0000
X-Inumbo-ID: 2ed7aca6-caf7-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 2ed7aca6-caf7-11e8-a8a5-bc764e045a96;
 Mon, 08 Oct 2018 14:39:23 +0200 (CEST)
Received: by mail-wr1-x444.google.com with SMTP id 61-v6so19923474wrb.6
 for <minios-devel@lists.xen.org>; Mon, 08 Oct 2018 05:41:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=9p/C9MFTfqZkl18tEJGQspT4WQKuc66sV28Pz003S2U=;
 b=pAu9qCqlGoWpXt3e09ID9O5lw6sxzbAEG4d3npfZsssQMLtl6T2UY3x/WEy+p6HECY
 KpSG6K4no1SrI4VnboaifOXvajn3m1CQw3m1Qgngvg5GInvW5eO1UVgcjRo+i+su7qtI
 fCEb2H1X4lGZXGDBLI0Adl9oWiEYee2JDYqm4hXDqTrkciYYE8zclYF++j24gQRXV4Oz
 nb6kX2EI1wVfgtW51eXpzFem5AfZ0SJ5n36UNXyYTZkIs3sVZNxfpbgcJwta3m9KWcVA
 BcwSS9dc37dVbVYB+hwnpB0QjHspm/kPC5Oh5dqnsq/cJfp+OPAA0VevIwogxPaY+j52
 mWlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=9p/C9MFTfqZkl18tEJGQspT4WQKuc66sV28Pz003S2U=;
 b=ctXDGLw3avztNMcSPUqrjUfduDiuddxvbaOHyxKJtnGP6cH/JfWXhxbjp2KLicTUWs
 7Gammx8LxyvbqjQw/kMP2QbcJH6cirxK7BDxzlvI5VwdiNByjVBod2oGkzjKTB1iBTFW
 UDT4zzVOAwRbRwdyhhd8zUGJBxxoyfoJigRcLl4UHoGvcVd2EoHqJFNdY4YKp2iFGVeH
 I9QQ2eJoqy508L7RmwemiARugaoRz6W9lG4/jwOqlFUbPLuLWKQEY+xcHLtg9uCDRZj1
 idXyBpvTBXVauS9ApTmOXVUZyEzbvnxQ9eGXQxmCgW902VwmVKb4t8nkHwQPL2FgMAic
 iMNg==
X-Gm-Message-State: ABuFfoiWe8o5RerXSmWS2+rdtkEvLuWIRe0BvSA9my9A+qBEDPvt/y1j
 tOGGeEMsc917stCuCIbH/F0=
X-Google-Smtp-Source: ACcGV60TbPNINLR+7i7SJh7W+bgnMyyjqEZxXtYY9Ppu/2sJGpsYSlj2CqyDcElX+vUmR4gdj2mIsw==
X-Received: by 2002:adf:a969:: with SMTP id
 u96-v6mr15844569wrc.222.1539002513227; 
 Mon, 08 Oct 2018 05:41:53 -0700 (PDT)
Received: from [172.19.2.117] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id b139-v6sm23252586wmd.36.2018.10.08.05.41.51
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 08 Oct 2018 05:41:52 -0700 (PDT)
To: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Florian Schmidt <Florian.Schmidt@neclab.eu>, minios-devel@lists.xen.org
References: <20180918151919.8030-1-costin.lupu@cs.pub.ro>
 <d0e39623-dc6e-dcd3-e704-00d3f1e1e788@neclab.eu>
 <a5befc19-c456-94bd-a887-4d2fe4963c8a@gmail.com>
 <13a04e72-bf4c-8a3f-a3c1-a2f9400e1624@neclab.eu>
 <56a99e69-951e-23d5-afe0-2c10a6a25623@gmail.com>
 <4605b4a3-dbde-415b-726e-ce70764b515b@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <6ba5fe56-50e9-c934-89f6-6616f0486d15@gmail.com>
Date: Mon, 8 Oct 2018 15:41:51 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <4605b4a3-dbde-415b-726e-ce70764b515b@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] plat/*: Configure timer
 interrupt frequency
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2ltb24sCgpJIGNyZWF0ZWQgdGhpcyBwYXRjaCBiZWNhdXNlIEkgbmVlZGVkIGEgd2F5IHRv
IHJlYWQgdGhlIHRpbWVyIHRpY2sgKDEpCndoZW4gc2V0dGluZyB0aGUgdGltZSBzbGljZSBmb3Ig
YSB0aHJlYWQgYW5kICgyKSB3aGVuIHByZWVtcHRpbmcKdGhyZWFkcy4gSSBjYW4gc2ltcGx5IGdl
dCByaWQgb2YgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBhbmQgZGVmaW5lCnRoZSBmcmVxdWVu
Y3kgYW5kIHRpY2sgdmFsdWVzIGRlcGVuZGluZyBvbiB0aGUgcGxhdGZvcm0gYW5kIGtlZXBpbmcg
dGhlCm9sZCBiZWhhdmlvci4gVGhpcyB3b3VsZCBzZWVtIGxpa2UgdGhlIHNpbXBsZXIgc29sdXRp
b24gaGVyZSBhbmQganVzdApleHRlbmQgdGhlIGZ1bmN0aW9uYWxpdHkgd2hlbiBzdWNoIHRoaW5n
IHdvdWxkIGJlIG5lZWRlZC4KClJlZ2FyZGluZyB5b3VyIGNvbW1lbnRzLCBwbGVhc2Ugc2VlIG15
IGNvbW1lbnRzIGlubGluZS4KCk9uIDEwLzgvMTggMTI6NDkgUE0sIFNpbW9uIEt1ZW56ZXIgd3Jv
dGU6Cj4gSGV5IENvc3RpbiwgaGV5IEZsb3JpYW4sCj4gCj4gT24gMDUuMTAuMjAxOCAxMTozOSwg
Q29zdGluIEx1cHUgd3JvdGU6Cj4+Cj4+Cj4+IE9uIDEwLzUvMTggMTI6MjQgUE0sIEZsb3JpYW4g
U2NobWlkdCB3cm90ZToKPj4+IEhpIENvc3RpbiwKPj4+Cj4+PiBsZXQgbWUgZ2l2ZSBhIHF1aWNr
IGFuc3dlcjoKPj4+Cj4+PiBPbiAxMC8wMi8yMDE4IDA5OjE2IEFNLCBDb3N0aW4gTHVwdSB3cm90
ZToKPj4+PiBJIGZpbmQgYWxsb3dpbmcgdXNlcnMgdGhlIGZyZWVkb20gdG8gc2V0IGFueSBmcmVx
dWVuY3kgdGhleSBsaWtlIHRvCj4+Pj4gaGF2ZQo+Pj4+IDIgZGlzYWR2YW50YWdlczoKPj4+Pgo+
Pj4+IDEuIFRoZSB0aWNrIGZyZXF1ZW5jeSBzaG91bGQgYmUgY2hvc2VuIGJhc2VkIG9uIGEgcHJp
b3IgYW5hbHlzaXMKPj4+PiBkZXBlbmRpbmcgb24gdGhlIGFwcGxpY2F0aW9uLiBBbiBpbnRlZ2Vy
IGZpZWxkIHdvdWxkIGFsbG93IHVzZXJzIHRvIHNldAo+Pj4+IGFueSBmcmVxdWVuY3kgdGhleSB3
YW50IHdoZXRoZXIgdGhleSBrbm93IHdoYXQgdGhleSdyZSBkb2luZyBvciBub3QuIEkKPj4+PiBm
aW5kIHRoaXMgbGV2ZWwgb2YgZnJlZWRvbSBkYW5nZXJvdXMgaGVyZS4KPj4+Cj4+PiBXZWxsLCB0
aGF0J3MgdXAgdG8gdGhlIGRldmVsb3BlciwgSSB0aGluay4gSSdtIGZvciB0aGUgZnJlZWRvbSB0
byBzaG9vdAo+Pj4geW91cnNlbGYgaW4gdGhlIGZvb3QgaWYgeW91IHRoaW5rIHlvdSBrbm93IGJl
dHRlciB3aGF0IHRvIHNldCBoZXJlLgo+Pj4KPj4+Cj4+Pj4gMi4gQSBnaXZlbiBmcmVxdWVuY3kg
dmFsdWUgbWF5IG5vdCBiZSBzdXBwb3J0ZWQgYnkgdGhlIHVuZGVybHlpbmcKPj4+PiB0aW1lcnMK
Pj4+PiBhbmQgdGhlcmVmb3JlIGl0IHdvdWxkIGVpdGhlciBoYXZlIG5vIGVmZmVjdCAoZS5nLiBi
ZWluZyBpZ25vcmVkKSBvcgo+Pj4+IGdlbmVyYXRlIGFuIGluY29ycmVjdCBiZWhhdmlvci4KPj4+
Cj4+PiBUaGF0IHNob3VsZCBiZSBjYXB0dXJlZCBieSBhbiBlcnJvci1oYW5kbGluZyBtZWNoYW5p
c20sIHJpZ2h0PyBUaHJvdWdoIGEKPj4+IENSSVQgd2FybmluZyBvciB3b3JzdCBjYXNlIGNyYXNo
IHdoZW4gYSBzZXR0aW5ncyBkb2Vzbid0IHdvcmsuIE9yIGFyZQo+Pj4geW91IHNheWluZyB0aGF0
IHNvbWUgdGltZXJzIHNpbGVudGx5IGlnbm9yZSB1bnN1cHBvcnRlZCBzZXR0aW5ncyB3aXRob3V0
Cj4+PiBnaXZpbmcgYW55IHdheSB0byBmaWd1cmUgb3V0IHdoZXRoZXIgYSBzZXR0aW5nIHdpbGwg
d29yayBvciBub3Q/Cj4+Pgo+Pgo+PiBJbiBkZWVkLCBhbiBlcnJvciBoYW5kbGluZyBtZWNoYW5p
c20gc2hvdWxkIGJlIGludHJvZHVjZWQgaW4gdGhpcyBjYXNlLgo+PiBCdXQgdGhpcyB3b3VsZCBv
bmx5IGFkZCBtb3JlIGNvbXBsZXhpdHkgYW5kIHNob3VsZCBiZSBhY2NvcmRpbmcgdG8gZWFjaAo+
PiBzdXBwb3J0ZWQgdGltZXIuIFBsZWFzZSBrZWVwIGluIG1pbmQgdGhhdCB0aGVyZSBpcyBubyBz
dGFuZGFyZCB3YXkgb2YKPj4gY29uZmlndXJpbmcgdGltZXJzIGFuZCB0aGUgc2V0IG9mIGFjY2Vw
dGVkIGludGVycnVwdCBmcmVxdWVuY3kgdmFsdWVzCj4+IG1heSBkaWZmZXIuCj4gCj4gSSBhZ3Jl
ZSB3aXRoIEZsb3JpYW4gdGhhdCB0aGlzIHNob3VsZCBiZSBtb3JlIGZsZXhpYmxlIHRvIGNvbmZp
Z3VyZQo+IChlLmcuLCB3aXRoIGFuIGludGVnZXIgdmFsdWUgcmFuZ2UpLiBXaGF0IGFyZSB0aGUg
bGltaXRhdGlvbnMgdGhhdCB5b3UKPiBzZWU/IEFyZSB0aGV5IHJlYWxseSBzbyBkaWZmZXJlbnQg
YW1vbmcgdGhlIHBsYXRmb3JtcyBhbmQgYXJjaGl0ZWN0dXJlcwo+IHRoYXQgd2Ugc3VwcG9ydCAo
TGludXgsIFhlbiwgS1ZNLCB4ODYsIEFybSk/Cj4gCgpJJ20gbm90IHN1cmUgd2hhdCB5b3UgbWVh
biBoZXJlIGJ5IGJlaW5nIG1vcmUgZmxleGlibGUuIENob29zaW5nIGFueQppbnRlZ2VyIHZhbHVl
IGZyb20gYW4gaW50ZXJ2YWw/IENhbiB5b3UgcGxlYXNlIGdpdmUgYW4gZXhhbXBsZSBvZiBzdWNo
CnN5c3RlbT8KCj4gQXNzdW1pbmcgdGhhdCB3ZSBjYW4gZmluZCBhIHNldCBvZiBwb3NzaWJsZSBm
cmVxdWVuY3kgdmFsdWVzLCBJIGV2ZW4KPiB0aGluayB0aGF0IHRoZSBwZXJzb24gdGhhdCBidWls
ZHMgYSBVbmlrZXJuZWwgc2hvdWxkIHNldCB1cCB0aGUKPiBmcmVxdWVuY3kgd2l0aGluIHRoZSBz
ZWxlY3RlZCBzY2hlZHVsZXIgbGlicmFyeS4gQSBwYXJ0aWN1bGFyIHNjaGVkdWxlcgo+IGFsZ29y
aXRobSBzaG91bGQgZ2l2ZSB5b3UgYSBtdWNoIGJldHRlciBpZGVhIHdoaWNoIGZyZXF1ZW5jaWVz
IGFyZQo+IG1lYW5pbmdmdWwgdG8gY29uZmlndXJlLgoKWW91IG1lYW4gbW92aW5nIHRoZSBjb25m
aWd1cmF0aW9uIGVudHJ5IGluIGEgc2NoZWR1bGVyIGltcGxlbWVudGF0aW9uCmxpYnJhcnkgbWVu
dT8KCj4gVG8gbWFrZSB0aGlzIHBvc3NpYmxlLCB0aGVyZSBzaG91bGQgYmUgYSBwbGF0Zm9ybSBB
UEkgdG8gbGV0IHRoZQo+IHNjaGVkdWxlciBzZXQgdXAgdGhlIGZyZXF1ZW5jeSBkdXJpbmcgaXRz
IGluaXRpYWxpemF0aW9uLiBUaGlzIHdvdWxkCj4gYWxzbyByZW1vdmUgdGhlIGV4cGVuc2l2ZSB0
aW1lciB0aWNrcyBvbiBVbmlrZXJuZWxzIHRoYXQgdXNlIG5vCj4gc2NoZWR1bGluZyBhdCBhbGwg
b3IgdXNlIHRoZSBjb29wZXJhdGl2ZSBzY2hlZHVsZXIuIE9mIGNvdXJzZSwgdGhlIGVycm9yCj4g
Y2hlY2sgY29kZSBpcyBhbnl3YXlzIHJlcXVpcmVkIGZvciB0aGlzIGNhc2UuCgpXaGVuIHlvdSBz
YXkgInRvIGxldCB0aGUgc2NoZWR1bGVyIHNldCB1cCB0aGUgZnJlcXVlbmN5IiB5b3UgbWVhbjoK
MS4gZW5hYmxpbmcgdGhlIHRpbWVyIGludGVycnVwdCBhbmQgc2V0dGluZyBhIGZyZXF1ZW5jeSwg
b3IKMi4ganVzdCBzZXR0aW5nIGEgZnJlcXVlbmN5IGZvciB0aGUgdGltZXIgaW50ZXJydXB0ID8K
CkknbSBhc2tpbmcgdGhpcyBiZWNhdXNlIGl0J3Mgbm90IGNsZWFyIHRvIG1lIHdoZXRoZXIgdGhl
IHNjaGVkdWxlciBjYW4KbGF0ZXIgcmVjb25maWd1cmUgdGhlIGZyZXF1ZW5jeSBpbiB0aGlzIHNj
ZW5hcmlvLgoKPiBJbiB0aGUgZnV0dXJlLCB3ZSBzaG91bGQgZXZlbiB0aGluayBhYm91dCBzdXBw
b3J0aW5nIGR5bmFtaWMgdGlja3MuIEEKPiBzY2hlZHVsZXIgbGlicmFyeSBtYXkgd2FudCB0byBk
eW5hbWljYWxseSBzaXplIGVhY2ggdGltZSBzbGljZXMgb3IgbWF5Cj4gd2FudCB0byB0ZW1wb3Jh
cmlseSBzd2l0Y2ggb2ZmIGFueSB0aWNrcyBpZiB0aGVyZSBpcyBub3RoaW5nIHRvIGRvLgo+IElt
YWdpbmUgdGhhdCB5b3UgcnVuIGh1bmRyZWRzIG9yIHRob3VzYW5kcyBvZiBVbmlrZXJuZWxzIG9u
IGEgc2luZ2xlIENQVQo+IGNvcmUuIEhhdmluZyB0aGUgdGltZXIgZnJlcXVlbmN5IHN0YXRpY2Fs
bHkgc2V0IGZvciBhbGwgb2YgdGhlbSB3aWxsCj4gbWFrZSB0aGUgQ1BVIHVubmVjZXNzYXJpbHkg
YnVzeSB3aXRoIGhhbmRsaW5nIHRoZXNlIHRpY2tzIG9ubHkuIFNvLCB5b3UKPiBhbnl3YXkgd2Fu
dCB0byBoYXZlIGEgcGxhdGZvcm0gQVBJIHdoZXJlIHlvdSBjYW4gY2hhbmdlIHRoZSB0aW1lcgo+
IGNvdW50ZXIgdmFsdWUgZm9yIGVhY2ggaXRlcmF0aW9uLgoKRmxvcmlhbiBqdXN0IGNvbW1lbnRl
ZCB0aGF0IHdlIHNob3VsZCBoYXZlIHRoZSBmcmVxdWVuY3kgc2V0IHN0YXRpY2FsbHkuClNvIHdo
aWNoIG9uZSBzaG91bGQgaXQgYmU/Cgo+IFNpbmNlIG1vZGVybiBPU2VzIHN1cHBvcnQgZHluYW1p
YyB0aWNrcywgSSB0aGluayB0aGF0IHRoZXJlIGFyZW4ndCB0b28KPiBjb21wbGljYXRlZCByZXN0
cmljdGlvbnMgb24gdGhlIHBsYXRmb3Jtcy4gQW0gSSByaWdodD8KPiAKCkknbSBub3Qgc3VyZSB3
aGF0IHlvdSBtZWFuIGJ5ICJ0b28gY29tcGxpY2F0ZWQgcmVzdHJpY3Rpb25zIiBoZXJlLgoKPj4K
Pj4+Cj4+Pj4gTm93IHJlZ2FyZGluZyB0aGUgbnVtYmVyIG9mIG9wdGlvbnMsIHR3byBzaG91bGQg
YmUgZW5vdWdoIGZvciBtYWtpbmcKPj4+PiB0aGUKPj4+PiBjYXNlIGZvciBob3cgd2UgY2FuIGNv
bmZpZ3VyZSB0aGUgdGltZXIuIFBsZWFzZSBmZWVsIGZyZWUgdG8gYW1lbmQgdGhpcwo+Pj4+IHBh
dGNoIG9yIHRvIHN1Ym1pdCBhbm90aGVyIG9uZSBmb3IgZXh0ZW5kaW5nIHRoZSBudW1iZXIgb2Yg
b3B0aW9ucy4KPj4+Cj4+PiBJIG1pZ2h0IGRvIHRoYXQsIGJ1dCBJJ2QgcHJlZmVyIHRvIGhhdmUg
c29tZSBhZGRpdGlvbmFsIGlucHV0IGZyb20KPj4+IG90aGVycyBmaXJzdC4KPj4+Cj4+PiBDaGVl
cnMsCj4+PiBGbG9yaWFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5w
cm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8v
bWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Oct 09 14:09:24 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 Oct 2018 14:09:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9shO-00013Q-LO; Tue, 09 Oct 2018 14:09:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=eqct=mv=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g9shN-00013I-Nb
 for minios-devel@lists.xen.org; Tue, 09 Oct 2018 14:09:21 +0000
X-Inumbo-ID: 17a6676a-cbcd-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 17a6676a-cbcd-11e8-a6a9-d7ebe60f679a;
 Tue, 09 Oct 2018 14:10:36 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 482EF1049F5;
 Tue,  9 Oct 2018 16:09:18 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id O7XKqw_7vEAl; Tue,  9 Oct 2018 16:09:18 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 230FB1049EC
 for <minios-devel@lists.xen.org>; Tue,  9 Oct 2018 16:09:16 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Tue, 9 Oct 2018 16:09:15 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: Florian Schmidt <Florian.Schmidt@neclab.eu>, <minios-devel@lists.xen.org>
In-Reply-To: <2bbf4cb7-b0aa-8336-f37d-80a485d05191@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
 <20181005082141.15862-4-yuri.volchkov@neclab.eu>
 <2bbf4cb7-b0aa-8336-f37d-80a485d05191@neclab.eu>
Date: Tue, 9 Oct 2018 16:09:10 +0200
Message-ID: <tza4s2h8hvrz3t.fsf@N-1128.office.hd>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/4] use one api for bit
 operation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRmxvcmlhbiwKCm9mIGNvdXJzZSBpdCBpcyBub3QgZnJvbSBsaW51eC4gSXQgaXMgaW1wbGVt
ZW50YXRpb24gb2YgbGludXgtbGlrZSBiaXQKb3BlcmF0aW9ucyBmcm9tIGZyZWVCU0Qgd2hpY2gg
d2UgcG9ydGVkIGEgbW9udGggYWdvIHRvIFVuaWtyYWZ0LgoKSSB3aWxsIGNoYW5nZSBhIGNvbW1p
dCBtZXNzYWdlIGEgYml0LCB0byByZWR1Y2UgdGhlIGNvbmZ1c2lvbi4KCkZsb3JpYW4gU2NobWlk
dCA8Rmxvcmlhbi5TY2htaWR0QG5lY2xhYi5ldT4gd3JpdGVzOgoKPiBIaSBZdXJpLAo+Cj4gT24g
MTAvMDUvMjAxOCAxMDoyMSBBTSwgWXVyaSBWb2xjaGtvdiB3cm90ZToKPj4gQSBwb3J0IG9mIGxp
bnV4IGJpdCBvcGVyYXRpb25zIGhhcyBiZWVuIGludHJvZHVjZWQgcmVjZW50bHkuIFNvIGZhcgo+
PiBib3RoIEFQSXMgd2VyZSBpbiB1c2UuIExldCdzIHVzZSBvbmx5IHRoZSBsaW51eCBvbmUsIGZv
ciB0aGUgc2FrZSBvZgo+PiBjb25zaXN0ZW5jeS4KPgo+IFdhaXQuIFRoZSAibGludXggb25lIiBp
c24ndCBmcm9tIHRoZSBMaW51eCBrZXJuZWwsIGFzIGluLCB1bmRlciBHUEwsIGlzIGl0Pwo+Cj4+
IAo+PiBTaWduZWQtb2ZmLWJ5OiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNoa292QG5lY2xhYi5l
dT4KPj4gLS0tCj4+ICAgbGliL3Zmc2NvcmUvZmQuYyAgICAgICAgICAgfCAgNCArKy0tCj4+ICAg
cGxhdC9jb21tb24vYXJtL3RpbWUuYyAgICAgfCAgNiArKystLS0KPj4gICBwbGF0L2t2bS9pcnEu
YyAgICAgICAgICAgICB8ICA2ICsrKy0tLQo+PiAgIHBsYXQva3ZtL3g4Ni90c2NjbG9jay5jICAg
IHwgIDYgKysrLS0tCj4+ICAgcGxhdC94ZW4vZXZlbnRzLmMgICAgICAgICAgfCAxOCArKysrKysr
KystLS0tLS0tLS0KPj4gICBwbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYyB8ICA0ICsrLS0KPj4g
ICA2IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQo+PiAK
Pj4gZGlmZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2ZkLmMgYi9saWIvdmZzY29yZS9mZC5jCj4+IGlu
ZGV4IDA3YTY5YjUuLjZjMjIwNDIgMTAwNjQ0Cj4+IC0tLSBhL2xpYi92ZnNjb3JlL2ZkLmMKPj4g
KysrIGIvbGliL3Zmc2NvcmUvZmQuYwo+PiBAQCAtMzUsNyArMzUsNyBAQAo+PiAgIAo+PiAgICNp
bmNsdWRlIDxzdHJpbmcuaD4KPj4gICAjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5oPgo+PiAtI2lu
Y2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4+ICsjaW5jbHVkZSA8dWsvYml0b3BzLmg+Cj4+ICAg
I2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+PiAgICNpbmNsdWRlIDx2ZnNjb3JlL2ZpbGUuaD4KPj4g
ICAjaW5jbHVkZSA8dWsvcGxhdC9sY3B1Lmg+Cj4+IEBAIC03OCw3ICs3OCw3IEBAIHZvaWQgdmZz
Y29yZV9wdXRfZmQoaW50IGZkKQo+PiAgIAkvKiBDdXJyZW50bHkgaXQgaXMgbm90IGFsbG93ZWQg
dG8gZnJlZSBzdGQoaW58b3V0fGVycikgKi8KPj4gICAJVUtfQVNTRVJUKGZkID4gMik7Cj4+ICAg
Cj4+IC0JdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQoZmQsICZmZHRhYmxlLmJpdG1hcCk7Cj4+ICsJ
X191a19jbGVhcl9iaXQoZmQsICZmZHRhYmxlLmJpdG1hcCk7Cj4+ICAgfQo+PiAgIAo+PiAgIHZv
aWQgdmZzY29yZV9pbnN0YWxsX2ZkKGludCBmZCwgc3RydWN0IHZmc2NvcmVfZmlsZSAqZmlsZSkK
Pj4gZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2FybS90aW1lLmMgYi9wbGF0L2NvbW1vbi9hcm0v
dGltZS5jCj4+IGluZGV4IDk0OWZhNzQuLmYxZGY5OGQgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQvY29t
bW9uL2FybS90aW1lLmMKPj4gKysrIGIvcGxhdC9jb21tb24vYXJtL3RpbWUuYwo+PiBAQCAtMTcy
LDcgKzE3Miw3IEBAIHN0YXRpYyBpbnQgZ2VuZXJpY190aW1lcl9pbml0KHZvaWQpCj4+ICAgCXJl
dHVybiAwOwo+PiAgIH0KPj4gICAKPj4gLWxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsK
Pj4gK3Vuc2lnbmVkIGxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsKPj4gICAKPj4gICB2
b2lkIHRpbWVfYmxvY2tfdW50aWwoX19zbnNlYyB1bnRpbCkKPj4gICB7Cj4+IEBAIC0xODIsOCAr
MTgyLDggQEAgdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25zZWMgdW50aWwpCj4+ICAgCQkgKiBB
cyB3ZSBoYXZlbid0IHN1cHBvcnQgaW50ZXJydXB0IG9uIEFybSwgc28gd2UganVzdAo+PiAgIAkJ
ICogdXNlIGJ1c3kgcG9sbGluZyBmb3Igbm93Lgo+PiAgIAkJICovCj4+IC0JCWlmICh1a2FyY2hf
dGVzdF9hbmRfY2xyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50cykpCj4+IC0JCWJy
ZWFrOwo+PiArCQlpZiAoX191a190ZXN0X2FuZF9jbGVhcl9iaXQoMCwgJnNjaGVkX2hhdmVfcGVu
ZGluZ19ldmVudHMpKQo+PiArCQkJYnJlYWs7Cj4+ICAgCX0KPj4gICB9Cj4+ICAgCj4+IGRpZmYg
LS1naXQgYS9wbGF0L2t2bS9pcnEuYyBiL3BsYXQva3ZtL2lycS5jCj4+IGluZGV4IGU3MDgwNjku
LjBiNzM0ZjYgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQva3ZtL2lycS5jCj4+ICsrKyBiL3BsYXQva3Zt
L2lycS5jCj4+IEBAIC0zNCw3ICszNCw3IEBACj4+ICAgI2luY2x1ZGUgPGt2bS9pbnRjdHJsLmg+
Cj4+ICAgI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+PiAgICNpbmNsdWRlIDxlcnJuby5oPgo+PiAt
I2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4+ICsjaW5jbHVkZSA8dWsvYml0b3BzLmg+Cj4+
ICAgCj4+ICAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYWxsb2NhdG9yOwo+PiAgIAo+PiBAQCAt
NzUsNyArNzUsNyBAQCBpbnQgdWtwbGF0X2lycV9yZWdpc3Rlcih1bnNpZ25lZCBsb25nIGlycSwg
aXJxX2hhbmRsZXJfZnVuY190IGZ1bmMsIHZvaWQgKmFyZykKPj4gICAgKiBUT0RPOiBUaGlzIGlz
IGEgdGVtcG9yYXJ5IHNvbHV0aW9uIHVzZWQgdG8gaWRlbnRpZnkgbm9uIFRTQyBjbG9jawo+PiAg
ICAqIGludGVycnVwdHMgaW4gb3JkZXIgdG8gc3RvcCB3YWl0aW5nIGZvciBpbnRlcnJ1cHRzIHdp
dGggZGVhZGxpbmUuCj4+ICAgICovCj4+IC1leHRlcm4gbG9uZyBzY2hlZF9oYXZlX3BlbmRpbmdf
ZXZlbnRzOwo+PiArZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50
czsKPj4gICAKPj4gICB2b2lkIF91a3BsYXRfaXJxX2hhbmRsZSh1bnNpZ25lZCBsb25nIGlycSkK
Pj4gICB7Cj4+IEBAIC05NSw3ICs5NSw3IEBAIHZvaWQgX3VrcGxhdF9pcnFfaGFuZGxlKHVuc2ln
bmVkIGxvbmcgaXJxKQo+PiAgIAkJCSAqIHRoZSBoYWx0aW5nIGxvb3AsIGFuZCBsZXQgaXQgdGFr
ZSBjYXJlIG9mCj4+ICAgCQkJICogdGhhdCB3b3JrLgo+PiAgIAkJCSAqLwo+PiAtCQkJdWthcmNo
X3Rlc3RfYW5kX3NldF9iaXQoMCwgJnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpOwo+PiArCQkJ
X191a190ZXN0X2FuZF9zZXRfYml0KDAsICZzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzKTsKPj4g
ICAKPj4gICAJCWlmIChoLT5mdW5jKGgtPmFyZykgPT0gMSkgewo+PiAgIAkJCWhhbmRsZWQgPSAx
Owo+PiBkaWZmIC0tZ2l0IGEvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMgYi9wbGF0L2t2bS94ODYv
dHNjY2xvY2suYwo+PiBpbmRleCA0ZWYyMTc5Li5mM2ZhNTVhIDEwMDY0NAo+PiAtLS0gYS9wbGF0
L2t2bS94ODYvdHNjY2xvY2suYwo+PiArKysgYi9wbGF0L2t2bS94ODYvdHNjY2xvY2suYwo+PiBA
QCAtNTgsNyArNTgsNyBAQAo+PiAgICNpbmNsdWRlIDx1ay90aW1lY29udi5oPgo+PiAgICNpbmNs
dWRlIDx1ay9wcmludC5oPgo+PiAgICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KPj4gLSNpbmNsdWRl
IDx1ay9hcmNoL2F0b21pYy5oPgo+PiArI2luY2x1ZGUgPHVrL2JpdG9wcy5oPgo+PiAgIAo+PiAg
ICNkZWZpbmUgTlNFQ19QRVJfU0VDICAgICAgICAgMTAwMDAwMDAwMFVMTAo+PiAgIAo+PiBAQCAt
MzQ2LDE0ICszNDYsMTQgQEAgc3RhdGljIHZvaWQgdHNjY2xvY2tfY3B1X2Jsb2NrKF9fdTY0IHVu
dGlsKQo+PiAgIAl1a3BsYXRfbGNwdV9oYWx0X2lycSgpOwo+PiAgIH0KPj4gICAKPj4gLWxvbmcg
c2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsKPj4gK3Vuc2lnbmVkIGxvbmcgc2NoZWRfaGF2ZV9w
ZW5kaW5nX2V2ZW50czsKPj4gICAKPj4gICB2b2lkIHRpbWVfYmxvY2tfdW50aWwoX19zbnNlYyB1
bnRpbCkKPj4gICB7Cj4+ICAgCXdoaWxlICgoX19zbnNlYykgdWtwbGF0X21vbm90b25pY19jbG9j
aygpIDwgdW50aWwpIHsKPj4gICAJCXRzY2Nsb2NrX2NwdV9ibG9jayh1bnRpbCk7Cj4+ICAgCj4+
IC0JCWlmICh1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2
ZW50cykpCj4+ICsJCWlmIChfX3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCgwLCAmc2NoZWRfaGF2ZV9w
ZW5kaW5nX2V2ZW50cykpCj4+ICAgCQkJYnJlYWs7Cj4+ICAgCX0KPj4gICB9Cj4+IGRpZmYgLS1n
aXQgYS9wbGF0L3hlbi9ldmVudHMuYyBiL3BsYXQveGVuL2V2ZW50cy5jCj4+IGluZGV4IDY3MjE5
ODUuLjZkZjNlNGIgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQveGVuL2V2ZW50cy5jCj4+ICsrKyBiL3Bs
YXQveGVuL2V2ZW50cy5jCj4+IEBAIC0zOCw3ICszOCw3IEBACj4+ICAgI2luY2x1ZGUgPGNvbW1v
bi9ldmVudHMuaD4KPj4gICAjaW5jbHVkZSA8eGVuL3hlbi5oPgo+PiAgICNpbmNsdWRlIDx1ay9w
cmludC5oPgo+PiAtI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4+ICsjaW5jbHVkZSA8dWsv
Yml0b3BzLmg+Cj4+ICAgCj4+ICAgI2RlZmluZSBOUl9FVlMgMTAyNAo+PiAgIAo+PiBAQCAtNjks
NyArNjksNyBAQCB2b2lkIHVuYmluZF9hbGxfcG9ydHModm9pZCkKPj4gICAJCQljb250aW51ZTsK
Pj4gICAjZW5kaWYKPj4gICAKPj4gLQkJaWYgKHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KGksIGJv
dW5kX3BvcnRzKSkgewo+PiArCQlpZiAoX191a190ZXN0X2FuZF9jbGVhcl9iaXQoaSwgYm91bmRf
cG9ydHMpKSB7Cj4+ICAgCQkJdWtfcHJfd2FybigiUG9ydCAlZCBzdGlsbCBib3VuZCFcbiIsIGkp
Owo+PiAgIAkJCXVuYmluZF9ldnRjaG4oaSk7Cj4+ICAgCQl9Cj4+IEBAIC0xMTIsNyArMTEyLDcg
QEAgZXZ0Y2huX3BvcnRfdCBiaW5kX2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQsIGV2dGNobl9o
YW5kbGVyX3QgaGFuZGxlciwKPj4gICAJZXZfYWN0aW9uc1twb3J0XS5kYXRhID0gZGF0YTsKPj4g
ICAJd21iKCk7Cj4+ICAgCWV2X2FjdGlvbnNbcG9ydF0uaGFuZGxlciA9IGhhbmRsZXI7Cj4+IC0J
dWthcmNoX3NldF9iaXQocG9ydCwgYm91bmRfcG9ydHMpOwo+PiArCV9fdWtfc2V0X2JpdChwb3J0
LCBib3VuZF9wb3J0cyk7Cj4+ICAgCj4+ICAgCXJldHVybiBwb3J0Owo+PiAgIH0KPj4gQEAgLTEz
MCw3ICsxMzAsNyBAQCB2b2lkIHVuYmluZF9ldnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0KQo+PiAg
IAlldl9hY3Rpb25zW3BvcnRdLmhhbmRsZXIgPSBkZWZhdWx0X2hhbmRsZXI7Cj4+ICAgCXdtYigp
Owo+PiAgIAlldl9hY3Rpb25zW3BvcnRdLmRhdGEgPSBOVUxMOwo+PiAtCXVrYXJjaF9jbHJfYml0
KHBvcnQsIGJvdW5kX3BvcnRzKTsKPj4gKwlfX3VrX2NsZWFyX2JpdChwb3J0LCBib3VuZF9wb3J0
cyk7Cj4+ICAgCj4+ICAgCWNsb3NlLnBvcnQgPSBwb3J0Owo+PiAgIAlyYyA9IEhZUEVSVklTT1Jf
ZXZlbnRfY2hhbm5lbF9vcChFVlRDSE5PUF9jbG9zZSwgJmNsb3NlKTsKPj4gQEAgLTI5Nyw3ICsy
OTcsNyBAQCBpbmxpbmUgdm9pZCBtYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQo+PiAgIHsKPj4g
ICAJc2hhcmVkX2luZm9fdCAqcyA9IEhZUEVSVklTT1Jfc2hhcmVkX2luZm87Cj4+ICAgCj4+IC0J
dWthcmNoX3NldF9iaXRfc3luYyhwb3J0LCAmcy0+ZXZ0Y2huX21hc2tbMF0pOwo+PiArCXVrX3Nl
dF9iaXQocG9ydCwgJnMtPmV2dGNobl9tYXNrWzBdKTsKPj4gICB9Cj4+ICAgCj4+ICAgaW5saW5l
IHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQo+PiBAQCAtMzA1LDE1ICszMDUsMTUg
QEAgaW5saW5lIHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQo+PiAgIAlzaGFyZWRf
aW5mb190ICpzID0gSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsKPj4gICAJdmNwdV9pbmZvX3QgKnZj
cHVfaW5mbyA9ICZzLT52Y3B1X2luZm9bc21wX3Byb2Nlc3Nvcl9pZCgpXTsKPj4gICAKPj4gLQl1
a2FyY2hfY2xyX2JpdF9zeW5jKHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7Cj4+ICsJdWtfY2xl
YXJfYml0KHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7Cj4+ICAgCj4+ICAgCS8qCj4+ICAgCSAq
IFRoZSBmb2xsb3dpbmcgaXMgYmFzaWNhbGx5IHRoZSBlcXVpdmFsZW50IG9mICdod19yZXNlbmRf
aXJxJy4KPj4gICAJICogSnVzdCBsaWtlIGEgcmVhbCBJTy1BUElDIHdlICdsb3NlIHRoZSBpbnRl
cnJ1cHQgZWRnZScgaWYgdGhlCj4+ICAgCSAqIGNoYW5uZWwgaXMgbWFza2VkLgo+PiAgIAkgKi8K
Pj4gLQlpZiAodWthcmNoX3Rlc3RfYml0X3N5bmMocG9ydCwgICAgJnMtPmV2dGNobl9wZW5kaW5n
WzBdKSAmJgo+PiAtCSAgICAhdWthcmNoX3Rlc3RfYW5kX3NldF9iaXRfc3luYyhwb3J0IC8gKHNp
emVvZih1bnNpZ25lZCBsb25nKSAqIDgpLAo+PiArCWlmICh1a190ZXN0X2JpdChwb3J0LCAmcy0+
ZXZ0Y2huX3BlbmRpbmdbMF0pICYmCj4+ICsJICAgICF1a190ZXN0X2FuZF9zZXRfYml0KHBvcnQg
LyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCksCj4+ICAgCQkJCSAgICAmdmNwdV9pbmZvLT5l
dnRjaG5fcGVuZGluZ19zZWwpKSB7Cj4+ICAgCQl2Y3B1X2luZm8tPmV2dGNobl91cGNhbGxfcGVu
ZGluZyA9IDE7Cj4+ICAgI2lmZGVmIFhFTl9IQVZFX1BWX1VQQ0FMTF9NQVNLCj4+IEBAIC0zMjcs
NyArMzI3LDcgQEAgaW5saW5lIHZvaWQgY2xlYXJfZXZ0Y2huKHVpbnQzMl90IHBvcnQpCj4+ICAg
ewo+PiAgIAlzaGFyZWRfaW5mb190ICpzID0gSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsKPj4gICAK
Pj4gLQl1a2FyY2hfY2xyX2JpdF9zeW5jKHBvcnQsICZzLT5ldnRjaG5fcGVuZGluZ1swXSk7Cj4+
ICsJdWtfY2xlYXJfYml0KHBvcnQsICZzLT5ldnRjaG5fcGVuZGluZ1swXSk7Cj4+ICAgfQo+PiAg
IAo+PiAgIHN0cnVjdCB1a19hbGxvYzsKPj4gZGlmZiAtLWdpdCBhL3BsYXQveGVuL3hlbmJ1cy94
c19jb21tcy5jIGIvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKPj4gaW5kZXggYzgyMDFhNS4u
Mjc0ZTQ0YiAxMDA2NDQKPj4gLS0tIGEvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKPj4gKysr
IGIvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKPj4gQEAgLTE4Niw3ICsxODYsNyBAQCBzdGF0
aWMgdm9pZCB4c19yZXF1ZXN0X3B1dChzdHJ1Y3QgeHNfcmVxdWVzdCAqeHNfcmVxKQo+PiAgIAo+
PiAgIAl1a2FyY2hfc3Bpbl9sb2NrKCZ4c19yZXFfcG9vbC5sb2NrKTsKPj4gICAKPj4gLQlVS19B
U1NFUlQodWthcmNoX3Rlc3RfYml0KHJlcWlkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSA9PSAx
KTsKPj4gKwlVS19BU1NFUlQodWtfdGVzdF9iaXQocmVxaWQsIHhzX3JlcV9wb29sLmVudHJpZXNf
Ym0pID09IDEpOwo+PiAgIAo+PiAgIAl1a19jbGVhcl9iaXQocmVxaWQsIHhzX3JlcV9wb29sLmVu
dHJpZXNfYm0pOwo+PiAgIAl4c19yZXFfcG9vbC5udW1fbGl2ZS0tOwo+PiBAQCAtNDI3LDcgKzQy
Nyw3IEBAIHN0YXRpYyB2b2lkIHByb2Nlc3NfcmVwbHkoc3RydWN0IHhzZF9zb2NrbXNnICpoZHIs
IGNoYXIgKnBheWxvYWQpCj4+ICAgewo+PiAgIAlzdHJ1Y3QgeHNfcmVxdWVzdCAqeHNfcmVxOwo+
PiAgIAo+PiAtCWlmICghdWthcmNoX3Rlc3RfYml0KGhkci0+cmVxX2lkLCB4c19yZXFfcG9vbC5l
bnRyaWVzX2JtKSkgewo+PiArCWlmICghdWtfdGVzdF9iaXQoaGRyLT5yZXFfaWQsIHhzX3JlcV9w
b29sLmVudHJpZXNfYm0pKSB7Cj4+ICAgCQl1a19wcl93YXJuKCJJbnZhbGlkIHJlcGx5IGlkPSVk
XG4iLCBoZHItPnJlcV9pZCk7Cj4+ICAgCQlmcmVlKHBheWxvYWQpOwo+PiAgIAkJcmV0dXJuOwo+
PiAKPgo+IC0tIAo+IERyLiBGbG9yaWFuIFNjaG1pZHQKPiDjg5Xjg63jg7zjg6rjgqLjg7Pjg7vj
grfjg6Xjg5/jg4Pjg4gKPiBSZXNlYXJjaCBTY2llbnRpc3QsCj4gU3lzdGVtcyBhbmQgTWFjaGlu
ZSBMZWFybmluZyBHcm91cAo+IE5FQyBMYWJvcmF0b3JpZXMgRXVyb3BlCj4gS3VyZsO8cnN0ZW4t
QW5sYWdlIDM2LCBELTY5MTE1IEhlaWRlbGJlcmcKPiBUZWwuICAgICArNDkgKDApNjIyMSA0MzQy
LTI2NQo+IEZheDogICAgICs0OSAoMCk2MjIxIDQzNDItMTU1Cj4gZS1tYWlsOiAgZmxvcmlhbi5z
Y2htaWR0QG5lY2xhYi5ldQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQo+IFJlZ2lzdGVyZWQgYXQgQW10c2dlcmljaHQgTWFubmhl
aW0sIEdlcm1hbnksIEhSQjcyODU1OAoKLS0gCll1cmkgVm9sY2hrb3YKU29mdHdhcmUgU3BlY2lh
bGlzdAoKTkVDIEV1cm9wZSBMdGQKS3VyZsO8cnN0ZW4tQW5sYWdlIDM2CkQtNjkxMTUgSGVpZGVs
YmVyZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Tue Oct 09 16:30:29 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 09 Oct 2018 16:30:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1g9utv-0008RY-1x; Tue, 09 Oct 2018 16:30:27 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=eqct=mv=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1g9utt-0008RT-U5
 for minios-devel@lists.xen.org; Tue, 09 Oct 2018 16:30:25 +0000
X-Inumbo-ID: 430d7d3c-cbe0-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 430d7d3c-cbe0-11e8-a8a5-bc764e045a96;
 Tue, 09 Oct 2018 18:27:50 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E8C561049F2;
 Tue,  9 Oct 2018 18:30:21 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id o9pGOeD36QRL; Tue,  9 Oct 2018 18:30:21 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B825910410D
 for <minios-devel@lists.xen.org>; Tue,  9 Oct 2018 18:30:19 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Tue, 9 Oct 2018 18:30:19 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: Florian Schmidt <Florian.Schmidt@neclab.eu>, <minios-devel@lists.xen.org>
In-Reply-To: <f85abf53-c12c-9a51-fd45-6bffe9072c29@neclab.eu>
References: <20181005082141.15862-1-yuri.volchkov@neclab.eu>
 <20181005082141.15862-5-yuri.volchkov@neclab.eu>
 <f85abf53-c12c-9a51-fd45-6bffe9072c29@neclab.eu>
Date: Tue, 9 Oct 2018 18:30:16 +0200
Message-ID: <tza4s2efczrskn.fsf@N-1128.office.hd>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/4] include/uk: merge two
 bitops functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RmxvcmlhbiBTY2htaWR0IDxGbG9yaWFuLlNjaG1pZHRAbmVjbGFiLmV1PiB3cml0ZXM6Cgo+IEhp
IFl1cmksCj4KPiBzb21lIGNvbW1lbnRzOgo+Cj4gT24gMTAvMDUvMjAxOCAxMDoyMSBBTSwgWXVy
aSBWb2xjaGtvdiB3cm90ZToKPj4gVW5pa3JhZnQgY3VycmVudGx5IGhhcyB0d28gc2V0cyBvZiBi
aXQgb3BlcmF0aW9ucy4gVGhpcyBwYXRjaCBtZXJnZXMKPj4gdGhlbSB0b2dldGhlcgo+PiAKPj4g
U2lnbmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Cj4+
IC0tLQo+PiAgIGluY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCB8IDEwNyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQo+PiAgIGluY2x1ZGUvdWsvYml0b3BzLmggICAgICB8IDExNyAr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KPj4gICAyIGZpbGVzIGNoYW5n
ZWQsIDEwMCBpbnNlcnRpb25zKCspLCAxMjQgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0
IGEvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIGIvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCj4+
IGluZGV4IGU2NDQ0YzAuLmNlOGY2ZTUgMTAwNjQ0Cj4+IC0tLSBhL2luY2x1ZGUvdWsvYXJjaC9h
dG9taWMuaAo+PiArKysgYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmgKPj4gQEAgLTgzLDExMyAr
ODMsNiBAQCBleHRlcm4gIkMiIHsKPj4gICAJCSAgICA6IG9sZDsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPj4gICAJfSkKPj4gICAKPj4gLS8q
Kgo+PiAtICogdGVzdF9hbmRfY2xlYXJfYml0IC0gQ2xlYXIgYSBiaXQgYW5kIHJldHVybiBpdHMg
b2xkIHZhbHVlCj4+IC0gKiBAbnI6IEJpdCB0byBjbGVhcgo+PiAtICogQGFkZHI6IEFkZHJlc3Mg
dG8gY291bnQgZnJvbQo+PiAtICoKPj4gLSAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBh
cmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKPj4gLSAqIHJlc3RyaWN0ZWQg
dG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCj4+IC0gKgo+PiAtICogVGhpcyBv
cGVyYXRpb24gaXMgYXRvbWljLgo+PiAtICogSWYgeW91IG5lZWQgYSBtZW1vcnkgYmFycmllciwg
dXNlIHN5bmNoX3Rlc3RfYW5kX2NsZWFyX2JpdCBpbnN0ZWFkLgo+PiAtICovCj4+IC1zdGF0aWMg
aW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0
aWxlIHZvaWQgKmJ5dGUpCj4+IC17Cj4+IC0Jdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAq
KWJ5dGUpICsgKG5yID4+IDMpOwo+PiAtCV9fdTggYml0ID0gMSA8PCAobnIgJiA3KTsKPj4gLQlf
X3U4IG9yaWc7Cj4+IC0KPj4gLQlvcmlnID0gX19hdG9taWNfZmV0Y2hfYW5kKGFkZHIsIH5iaXQs
IF9fQVRPTUlDX1JFTEFYRUQpOwo+PiAtCj4+IC0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAwOwo+
PiAtfQo+PiAtCj4+IC0vKioKPj4gLSAqIEF0b21pY2FsbHkgc2V0IGEgYml0IGFuZCByZXR1cm4g
dGhlIG9sZCB2YWx1ZS4KPj4gLSAqIFNpbWlsYXIgdG8gdGVzdF9hbmRfY2xlYXJfYml0Lgo+PiAt
ICovCj4+IC1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdCh1bnNpZ25l
ZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4+IC17Cj4+IC0Jdm9sYXRpbGUgX191OCAq
YWRkciA9ICgoX191OCAqKWJ5dGUpICsgKG5yID4+IDMpOwo+PiAtCV9fdTggYml0ID0gMSA8PCAo
bnIgJiA3KTsKPj4gLQlfX3U4IG9yaWc7Cj4+IC0KPj4gLQlvcmlnID0gX19hdG9taWNfZmV0Y2hf
b3IoYWRkciwgYml0LCBfX0FUT01JQ19SRUxBWEVEKTsKPj4gLQo+PiAtCXJldHVybiAob3JpZyAm
IGJpdCkgIT0gMDsKPj4gLX0KPj4gLQo+PiAtLyoqCj4+IC0gKiBUZXN0IHdoZXRoZXIgYSBiaXQg
aXMgc2V0Lgo+PiAtICovCj4+IC1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9iaXQodW5z
aWduZWQgaW50IG5yLAo+PiAtCQkJCQljb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICpieXRl
KQo+PiAtewo+PiAtCWNvbnN0IHZvbGF0aWxlIF9fdTggKnB0ciA9IChjb25zdCBfX3U4ICopYnl0
ZTsKPj4gLQlpbnQgcmV0ID0gICgoMSA8PCAobnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0g
MDsKPj4gLQo+PiAtCWJhcnJpZXIoKTsKPj4gLQlyZXR1cm4gcmV0Owo+PiAtfQo+PiAtCj4+IC0v
KioKPj4gLSAqIEF0b21pY2FsbHkgc2V0IGEgYml0IGluIG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9z
ZXRfYml0IGJ1dCBkaXNjYXJkcyByZXN1bHQpLgo+PiAtICovCj4+IC1zdGF0aWMgaW5saW5lIHZv
aWQgdWthcmNoX3NldF9iaXQodW5zaWduZWQgaW50IG5yLAo+PiAtCQkJCQl2b2xhdGlsZSB1bnNp
Z25lZCBsb25nICpieXRlKQo+PiAtewo+PiAtCXVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KG5yLCBi
eXRlKTsKPj4gLX0KPj4gLQo+PiAtLyoqCj4+IC0gKiBBdG9taWNhbGx5IGNsZWFyIGEgYml0IGlu
IG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9jbGVhcl9iaXQgYnV0IGRpc2NhcmRzCj4+IC0gKiByZXN1
bHQpLgo+PiAtICovCj4+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Nscl9iaXQodW5zaWdu
ZWQgaW50IG5yLAo+PiAtCQkJCQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nICpieXRlKQo+PiAtewo+
PiAtCXVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KG5yLCBieXRlKTsKPj4gLX0KPj4gLQo+PiAtLyog
QXMgdGVzdF9hbmRfY2xlYXJfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwo+PiAt
c3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyh1bnNpZ25lZCBp
bnQgbnIsCj4+IC0JCQkJCQl2b2xhdGlsZSB2b2lkICpieXRlKQo+PiAtewo+PiAtCXZvbGF0aWxl
IF9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKPj4gLQlfX3U4IGJpdCA9
IDEgPDwgKG5yICYgNyk7Cj4+IC0JX191OCBvcmlnOwo+PiAtCj4+IC0Jb3JpZyA9IF9fYXRvbWlj
X2ZldGNoX2FuZChhZGRyLCB+Yml0LCBfX0FUT01JQ19TRVFfQ1NUKTsKPj4gLQo+PiAtCXJldHVy
biAob3JpZyAmIGJpdCkgIT0gMDsKPj4gLX0KPj4gLQo+PiAtLyogQXMgdGVzdF9hbmRfc2V0X2Jp
dCwgYnV0IHVzaW5nIF9fQVRPTUlDX1NFUV9DU1QgKi8KPj4gLXN0YXRpYyBpbmxpbmUgaW50IHVr
YXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAo+PiAtCQkJCQkJdm9s
YXRpbGUgdm9pZCAqYnl0ZSkKPj4gLXsKPj4gLQl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4
ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4+IC0JX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwo+PiAt
CV9fdTggb3JpZzsKPj4gLQo+PiAtCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihhZGRyLCBiaXQs
IF9fQVRPTUlDX1NFUV9DU1QpOwo+PiAtCj4+IC0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAwOwo+
PiAtfQo+PiAtCj4+IC0vKiBBcyBzZXRfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAq
Lwo+PiAtc3RhdGljIGlubGluZSB2b2lkIHVrYXJjaF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50
IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQo+PiAtewo+PiAtCXVrYXJjaF90ZXN0X2FuZF9zZXRf
Yml0X3N5bmMobnIsIGJ5dGUpOwo+PiAtfQo+PiAtCj4+IC0vKiBBcyBjbGVhcl9iaXQsIGJ1dCB1
c2luZyBfX0FUT01JQ19TRVFfQ1NUICovCj4+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Ns
cl9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4+IC17Cj4+
IC0JdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyhuciwgYnl0ZSk7Cj4+IC19Cj4+IC0KPj4g
ICAjaWZkZWYgX19jcGx1c3BsdXMKPj4gICB9Cj4+ICAgI2VuZGlmCj4+IGRpZmYgLS1naXQgYS9p
bmNsdWRlL3VrL2JpdG9wcy5oIGIvaW5jbHVkZS91ay9iaXRvcHMuaAo+PiBpbmRleCA1YTI4NDEw
Li4zNzNkY2QzIDEwMDY0NAo+PiAtLS0gYS9pbmNsdWRlL3VrL2JpdG9wcy5oCj4+ICsrKyBiL2lu
Y2x1ZGUvdWsvYml0b3BzLmgKPj4gQEAgLTI0MiwzOCArMjQyLDg4IEBAIHVrX2ZpbmRfbmV4dF96
ZXJvX2JpdChjb25zdCB1bnNpZ25lZCBsb25nICphZGRyLCB1bnNpZ25lZCBsb25nIHNpemUsCj4+
ICAgCXJldHVybiAoYml0KTsKPj4gICB9Cj4+ICAgCj4+IC0vKiB1a19zZXRfYml0IGFuZCB1a19j
bGVhcl9iaXQgYXJlIGF0b21pYyBhbmQgcHJvdGVjdGVkIGFnYWluc3QKPj4gLSAqIHJlb3JkZXJp
bmcgKGRvIGJhcnJpZXJzKSwgd2hpbGUgdGhlIHVuZGVyc2NvcmVkIChfXyopIHZlcnNpb25zIG9m
Cj4+IC0gKiB0aGVtIGRvbid0IChub3QgYXRvbWljKS4KPj4gKy8qKgo+PiArICogdWtfdGVzdF9h
bmRfY2xlYXJfYml0IC0gQXRvbWljYWxseSBjbGVhciBhIGJpdCBhbmQgcmV0dXJuIGl0cyBvbGQg
dmFsdWUKPj4gKyAqIEBucjogQml0IHRvIGNsZWFyCj4+ICsgKiBAYWRkcjogQWRkcmVzcyB0byBj
b3VudCBmcm9tCj4+ICsgKgo+PiArICogTm90ZSB0aGF0IEBuciBtYXkgYmUgYWxtb3N0IGFyYml0
cmFyaWx5IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5vdAo+PiArICogcmVzdHJpY3RlZCB0byBh
Y3Rpbmcgb24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KPj4gICAgKi8KPj4gLSNkZWZpbmUgX191
a19zZXRfYml0KGksIGEpICAgICAgICB1a2FyY2hfc2V0X2JpdChpLCBhKQo+PiAtI2RlZmluZSB1
a19zZXRfYml0KGksIGEpICAgICAgICAgIHVrYXJjaF9zZXRfYml0X3N5bmMoaSwgYSkKPj4gLSNk
ZWZpbmUgX191a19jbGVhcl9iaXQoaSwgYSkgICAgICB1a2FyY2hfY2xyX2JpdChpLCBhKQo+PiAt
I2RlZmluZSB1a19jbGVhcl9iaXQoaSwgYSkgICAgICAgIHVrYXJjaF9jbHJfYml0X3N5bmMoaSwg
YSkKPj4gLSNkZWZpbmUgdWtfdGVzdF9iaXQoaSwgYSkgICAgICAgICB1a2FyY2hfdGVzdF9iaXQo
aSwgYSkKPj4gLQo+PiAgIHN0YXRpYyBpbmxpbmUgaW50Cj4+IC11a190ZXN0X2FuZF9jbGVhcl9i
aXQobG9uZyBiaXQsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKnZhcikKPj4gK3VrX3Rlc3RfYW5k
X2NsZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQo+PiAgIHsK
Pj4gLQlyZXR1cm4gdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3luYyhiaXQsICh2b2xhdGlsZSB2
b2lkICopIHZhcik7Cj4+ICsJdm9sYXRpbGUgX191OCAqcHRyID0gKChfX3U4ICopIGFkZHIpICsg
KG5yID4+IDMpOwo+PiArCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7Cj4+ICsJX191OCBvcmln
Owo+PiArCj4+ICsJb3JpZyA9IF9fYXRvbWljX2ZldGNoX2FuZChwdHIsIH5tYXNrLCBfX0FUT01J
Q19TRVFfQ1NUKTsKPj4gKwo+PiArCXJldHVybiAob3JpZyAmIG1hc2spICE9IDA7Cj4+ICAgfQo+
PiAgIAo+PiArLyoqCj4+ICsgKiBfX3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCAtIENsZWFyIGEgYml0
IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQo+PiArICogQG5yOiBCaXQgdG8gY2xlYXIKPj4gKyAq
IEBhZGRyOiBBZGRyZXNzIHRvIGNvdW50IGZyb20KPj4gKyAqCj4+ICsgKiBOb3RlIHRoYXQgQG5y
IG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMgbm90Cj4+
ICsgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5Lgo+PiAr
ICoKPj4gKyAqIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBhdG9taWMgYW5kIGNhbiBiZSByZW9yZGVy
ZWQKPj4gKyAqLwo+PiAgIHN0YXRpYyBpbmxpbmUgaW50Cj4+IC1fX3VrX3Rlc3RfYW5kX2NsZWFy
X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQo+PiArX191a190ZXN0
X2FuZF9jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPj4g
ICB7Cj4+IC0JcmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KGJpdCwgKHZvbGF0aWxlIHZv
aWQgKikgdmFyKTsKPj4gKwl2b2xhdGlsZSBfX3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAo
bnIgPj4gMyk7Cj4+ICsJX191OCBtYXNrID0gMSA8PCAobnIgJiA3KTsKPj4gKwlfX3U4IG9yaWc7
Cj4+ICsKPj4gKwlvcmlnID0gX19hdG9taWNfZmV0Y2hfYW5kKHB0ciwgfm1hc2ssIF9fQVRPTUlD
X1JFTEFYRUQpOwo+PiArCj4+ICsJcmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKPj4gICB9Cj4+
ICAgCj4+ICsvKioKPj4gKyAqIF9fdWtfdGVzdF9hbmRfc2V0X2JpdCAtIEF0b21pY2FsbHkgc2V0
IGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQo+Cj4gVGhpcyBpcyBhIHR5cG86IHRoZSBj
b21tZW50IGFjdHVhbGx5IGRlc2NyaWJlcyB0aGUgbm9uLXVuZGVyc2NvcmUgCj4gdmVyc2lvbiBv
ZiB0aGUgZnVuY3Rpb24uCk9vcHMuIFRoYW5rcyBmb3IgcG9pbnRpbmcgb3V0Cgo+Cj4+ICsgKiBA
bnI6IEJpdCB0byBjbGVhcgo+PiArICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQo+PiAr
ICoKPj4gKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsg
dGhpcyBmdW5jdGlvbiBpcyBub3QKPj4gKyAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2lu
Z2xlLXdvcmQgcXVhbnRpdHkuCj4+ICsgKi8KPj4gICBzdGF0aWMgaW5saW5lIGludAo+PiAtdWtf
dGVzdF9hbmRfc2V0X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQo+
PiArdWtfdGVzdF9hbmRfc2V0X2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICph
ZGRyKQo+PiAgIHsKPj4gLQlyZXR1cm4gdWthcmNoX3Rlc3RfYW5kX3NldF9iaXRfc3luYyhiaXQs
ICh2b2xhdGlsZSB2b2lkICopIHZhcik7Cj4+ICsJdm9sYXRpbGUgX191OCAqcHRyID0gKChfX3U4
ICopIGFkZHIpICsgKG5yID4+IDMpOwo+PiArCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7Cj4+
ICsJX191OCBvcmlnOwo+PiArCj4+ICsJb3JpZyA9IF9fYXRvbWljX2ZldGNoX29yKHB0ciwgbWFz
aywgX19BVE9NSUNfU0VRX0NTVCk7Cj4+ICsKPj4gKwlyZXR1cm4gKG9yaWcgJiBtYXNrKSAhPSAw
Owo+PiAgIH0KPj4gICAKPj4gKy8qKgo+PiArICogX191a190ZXN0X2FuZF9zZXRfYml0IC0gU2V0
IGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQo+PiArICogQG5yOiBCaXQgdG8gY2xlYXIK
Pj4gKyAqIEBhZGRyOiBBZGRyZXNzIHRvIGNvdW50IGZyb20KPj4gKyAqCj4+ICsgKiBOb3RlIHRo
YXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMgZnVuY3Rpb24gaXMg
bm90Cj4+ICsgKiByZXN0cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5
Lgo+PiArICoKPj4gKyAqIFRoaXMgb3BlcmF0aW9uIGlzIG5vdCBhdG9taWMgYW5kIGNhbiBiZSBy
ZW9yZGVyZWQKPj4gKyAqLwo+PiAgIHN0YXRpYyBpbmxpbmUgaW50Cj4+IC1fX3VrX3Rlc3RfYW5k
X3NldF9iaXQobG9uZyBiaXQsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKnZhcikKPj4gK19fdWtf
dGVzdF9hbmRfc2V0X2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQo+
PiAgIHsKPj4gLQlyZXR1cm4gdWthcmNoX3Rlc3RfYW5kX3NldF9iaXQoYml0LCAodm9sYXRpbGUg
dm9pZCAqKSB2YXIpOwo+PiArCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSAr
IChuciA+PiAzKTsKPj4gKwlfX3U4IG1hc2sgPSAxIDw8IChuciAmIDcpOwo+PiArCV9fdTggb3Jp
ZzsKPj4gKwo+PiArCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihwdHIsIG1hc2ssIF9fQVRPTUlD
X1JFTEFYRUQpOwo+PiArCj4+ICsJcmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKPj4gICB9Cj4+
ICAgCj4+ICAgZW51bSB7Cj4+IEBAIC0yODIsNiArMzMyLDM5IEBAIGVudW0gewo+PiAgIAlSRUdf
T1BfUkVMRUFTRSwKPj4gICB9Owo+PiAgIAo+PiArLyogdWtfc2V0X2JpdCBhbmQgdWtfY2xlYXJf
Yml0IGFyZSBhdG9taWMgYW5kIHByb3RlY3RlZCBhZ2FpbnN0Cj4+ICsgKiByZW9yZGVyaW5nIChk
byBiYXJyaWVycyksIHdoaWxlIHRoZSB1bmRlcnNjb3JlZCAoX18qKSB2ZXJzaW9ucyBvZgo+PiAr
ICogdGhlbSBkb24ndCAobm90IGF0b21pYykuCj4KPiBJIGtub3cgeW91IG9ubHkgY29waWVkIHRo
YXQgY29tbWVudCBmcm9tIGEgcHJldmlvdXMgbG9jYXRpb24gaW4gdGhlIAo+IG90aGVyIGZpbGUs
IGJ1dCB0aGlzIHNob3VsZCBzYXkgImFyZW4ndCIgaW5zdGVhZCBvZiAiZG9uJ3QiLCBzbyB3ZSBt
aWdodCAKPiBhcyB3ZWxsIGZpeCB0aGF0IG5vdyB0aGF0IHdlIHRvdWNoIHRoZSBjb21tZW50IGxp
bmUuCj4KPiBBbHNvLCBjb21lIHRvIHRoaW5rIG9mIGl0LCBpc24ndCB0aGF0IHdyb25nPyBUaGUg
dW5kZXJzY29yZSB2ZXJzaW9ucyAKPiBhbHNvIGRvIGF0b21pYyBiaXQgb3BlcmF0aW9ucywgdGhl
eSdyZSBqdXN0IG5vdCBzeW5jaHJvbml6ZWQuCkFjdHVhbGx5IGl0IGlzLiBUaGF0IGlzIG5vdCBv
bmx5IGFib3V0IHJlb3JkZXJpbmcuIFRoZXJlIGFyZSBhbHNvCmNhY2hlcy4gQW5kIGlmIDIgX191
a19zZXRfYml0IHdpbGwgYmUgZXhlY3V0aW5nIHNpbXVsdGFuZW91c2x5IG9uIDIKZGlmZmVyZW50
IGNwdSBpdCBtaWdodCBiZSB0aGF0IG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSBzdWNjZXNzZnVs
LiBJCndpbGwgcmVmbGVjdCB0aGlzIGluIHRoZSBjb21tZW50IHRvby4KCj4KPiBJc24ndCB0aGlz
IGJvdGggbW9yZSBjb3JyZWN0IGFuZCBjbGVhcmVyOgo+ICJUaGUgZm9sbG93aW5nIHVrXyogZnVu
Y3Rpb25zIGFyZSBzeW5jaHJvbml6ZWQgdmVyc2lvbnMgdGhhdCBndWFyYW50ZWUgCj4gbWVtb3J5
IG9yZGVyaW5nLCB3aGlsZSB0aGVpciBfX3VrXyogY291bnRlcnBhcnRzIGRvIG5vdC4iCj4KPgo+
PiArICovCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgdWtfc2V0X2JpdChsb25nIG5yLCB2b2xhdGls
ZSB1bnNpZ25lZCBsb25nICphZGRyKQo+PiArewo+PiArCXVrX3Rlc3RfYW5kX3NldF9iaXQobnIs
IGFkZHIpOwo+PiArfQo+PiArCj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgX191a19zZXRfYml0KGxv
bmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCj4+ICt7Cj4+ICsJX191a190ZXN0
X2FuZF9zZXRfYml0KG5yLCBhZGRyKTsKPj4gK30KPj4gKwo+PiArc3RhdGljIGlubGluZSB2b2lk
IHVrX2NsZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQo+PiAr
ewo+PiArCXVrX3Rlc3RfYW5kX2NsZWFyX2JpdChuciwgYWRkcik7Cj4+ICt9Cj4+ICsKPj4gK3N0
YXRpYyBpbmxpbmUgdm9pZCBfX3VrX2NsZWFyX2JpdChsb25nIG5yLCB2b2xhdGlsZSB1bnNpZ25l
ZCBsb25nICphZGRyKQo+PiArewo+PiArCV9fdWtfdGVzdF9hbmRfY2xlYXJfYml0KG5yLCBhZGRy
KTsKPj4gK30KPj4gKwo+PiArc3RhdGljIGlubGluZSBpbnQgdWtfdGVzdF9iaXQoaW50IG5yLCBj
b25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQo+PiArewo+PiArCWNvbnN0IHZvbGF0
aWxlIF9fdTggKnB0ciA9IChjb25zdCBfX3U4ICopIGFkZHI7Cj4+ICsJaW50IHJldCA9ICAoKDEg
PDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7Cj4+ICsKPj4gKwliYXJyaWVyKCk7
Cj4+ICsJcmV0dXJuIHJldDsKPj4gK30KPgo+IFRoaXMgdGVzdF9iaXQgaXNuJ3Qgc3luY2VkLCB0
aG91Z2guIFNvIHRvIHN0YXkgd2l0aCB0aGUgbmFtaW5nIHNjaGVtZSwgCj4gc2hvdWxkbid0IHRo
aXMgYmUgX191a190ZXN0X2JpdD8gQW5kIHRoZW4gd2UgY3JlYXRlIGEgc3luY2VkIHZlcnNpb24g
Cj4gd2l0aCBfX2F0b21pY190aHJlYWRfZmVuY2Ugb3Igc29tZXRoaW5nIGxpa2UgdGhhdD8KVGhl
IGlkZWEgaXMgdG8gc3RheSBpbiBzeW5jIHdpdGggdGhlIGxpbnV4IEFQSSAoc2luY2UgaXQgaXMg
YSBCU0QKdmVyc2lvbiBvZiBsaW51eCBiaXQgb3BlcmF0aW9ucykuIEl0IHByb3ZpZGVzIG9ubHkg
b25lIHZlcnNpb24gb2YgdGhlCnRlc3RfYml0LgoKPgo+Cj4gLS0gCj4gRHIuIEZsb3JpYW4gU2No
bWlkdAo+IOODleODreODvOODquOCouODs+ODu+OCt+ODpeODn+ODg+ODiAo+IFJlc2VhcmNoIFNj
aWVudGlzdCwKPiBTeXN0ZW1zIGFuZCBNYWNoaW5lIExlYXJuaW5nIEdyb3VwCj4gTkVDIExhYm9y
YXRvcmllcyBFdXJvcGUKPiBLdXJmw7xyc3Rlbi1BbmxhZ2UgMzYsIEQtNjkxMTUgSGVpZGVsYmVy
Zwo+IFRlbC4gICAgICs0OSAoMCk2MjIxIDQzNDItMjY1Cj4gRmF4OiAgICAgKzQ5ICgwKTYyMjEg
NDM0Mi0xNTUKPiBlLW1haWw6ICBmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1Cj4gPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gUmVn
aXN0ZXJlZCBhdCBBbXRzZ2VyaWNodCBNYW5uaGVpbSwgR2VybWFueSwgSFJCNzI4NTU4CgotLSAK
WXVyaSBWb2xjaGtvdgpTb2Z0d2FyZSBTcGVjaWFsaXN0CgpORUMgRXVyb3BlIEx0ZApLdXJmw7xy
c3Rlbi1BbmxhZ2UgMzYKRC02OTExNSBIZWlkZWxiZXJnCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADAw-0002U4-Jm; Wed, 10 Oct 2018 12:01:14 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADAu-0002Tt-I6
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:12 +0000
X-Inumbo-ID: d1bad6a1-cc83-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id d1bad6a1-cc83-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 13:58:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 8A9AD101BA1;
 Wed, 10 Oct 2018 14:01:10 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id lejSTghfmGw5; Wed, 10 Oct 2018 14:01:10 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 64D761002D2;
 Wed, 10 Oct 2018 14:01:06 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:06 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:44 +0200
Message-ID: <1539172854-19138-2-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 01/11] lib/uknetdev: Library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
YW5kIHJlZ2lzdGVyIGxpYnVrbmV0ZGV2IGxpYnJhcnkgc2tlbGV0b24uCgpTaWduZWQtb2ZmLWJ5
OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Ci0tLQogbGliL0Nv
bmZpZy51ayAgICAgICAgICAgIHwgMSArCiBsaWIvTWFrZWZpbGUudWsgICAgICAgICAgfCAxICsK
IGxpYi91a25ldGRldi9Db25maWcudWsgICB8IDUgKysrKysKIGxpYi91a25ldGRldi9NYWtlZmls
ZS51ayB8IDQgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCiBjcmVhdGUg
bW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L0NvbmZpZy51awogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp
Yi91a25ldGRldi9NYWtlZmlsZS51awoKZGlmZiAtLWdpdCBhL2xpYi9Db25maWcudWsgYi9saWIv
Q29uZmlnLnVrCmluZGV4IDQ4MWQ3YWIuLjVjZDc1ODUgMTAwNjQ0Ci0tLSBhL2xpYi9Db25maWcu
dWsKKysrIGIvbGliL0NvbmZpZy51awpAQCAtMzksMyArMzksNCBAQCBzb3VyY2UgImxpYi91a21w
aS9Db25maWcudWsiCiBzb3VyY2UgImxpYi91a3N3cmFuZC9Db25maWcudWsiCiBzb3VyY2UgImxp
Yi91a2J1cy9Db25maWcudWsiCiBzb3VyY2UgImxpYi91a3NnbGlzdC9Db25maWcudWsiCitzb3Vy
Y2UgImxpYi91a25ldGRldi9Db25maWcudWsiCmRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUudWsg
Yi9saWIvTWFrZWZpbGUudWsKaW5kZXggYzdkYjg0OC4uNGMyY2M4NyAxMDA2NDQKLS0tIGEvbGli
L01ha2VmaWxlLnVrCisrKyBiL2xpYi9NYWtlZmlsZS51awpAQCAtMjAsMyArMjAsNCBAQCAkKGV2
YWwgJChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a2xvY2spKQogJChl
dmFsICQoY2FsbCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWttcGkpKQogJChl
dmFsICQoY2FsbCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWtidXMpKQogJChl
dmFsICQoY2FsbCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWtzZ2xpc3QpKQor
JChldmFsICQoY2FsbCBfaW1wb3J0X2xpYiwkKENPTkZJR19VS19CQVNFKS9saWIvdWtuZXRkZXYp
KQpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51ayBiL2xpYi91a25ldGRldi9Db25m
aWcudWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVlMTFhOQotLS0gL2Rl
di9udWxsCisrKyBiL2xpYi91a25ldGRldi9Db25maWcudWsKQEAgLTAsMCArMSw1IEBACitjb25m
aWcgTElCVUtORVRERVYKKwlib29sICJ1a25ldGRldjogTmV0d29yayBkcml2ZXIgaW50ZXJmYWNl
IgorCWRlZmF1bHQgbgorCXNlbGVjdCBMSUJOT0xJQkMgaWYgIUhBVkVfTElCQworCXNlbGVjdCBM
SUJVS0RFQlVHCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgYi9saWIvdWtu
ZXRkZXYvTWFrZWZpbGUudWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRm
MzBiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25ldGRldi9NYWtlZmlsZS51awpAQCAtMCww
ICsxLDQgQEAKKyQoZXZhbCAkKGNhbGwgYWRkbGliX3MsbGlidWtuZXRkZXYsJChDT05GSUdfTElC
VUtORVRERVYpKSkKKworQ0lOQ0xVREVTLSQoQ09ORklHX0xJQlVLTkVUREVWKQkJKz0gLUkkKExJ
QlVLTkVUREVWX0JBU0UpL2luY2x1ZGUKK0NYWElOQ0xVREVTLSQoQ09ORklHX0xJQlVLTkVUREVW
KQkrPSAtSSQoTElCVUtORVRERVZfQkFTRSkvaW5jbHVkZQotLSAKMi43LjQKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADAv-0002Ty-I4; Wed, 10 Oct 2018 12:01:13 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADAu-0002To-7U
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:12 +0000
X-Inumbo-ID: cf7cb80c-cc83-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id cf7cb80c-cc83-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 13:58:34 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 5323AF2025;
 Wed, 10 Oct 2018 14:01:06 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id WKlRrOeevqZ6; Wed, 10 Oct 2018 14:01:06 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 24503F2021
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:01:04 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:03 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:43 +0200
Message-ID: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 00/11] lib/uknetdev: Unikraft
 Network API
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlcyB0aGUgVW5pa3JhZnQgTmV0d29yayBBUEksIHRoYXQgYWN0cyBhcyBhIGdlbmVy
YWxpemVkCmludGVyZmFjZSBiZXR3ZWVuIG5ldHdvcmsgZHJpdmVycyBhbmQgbmV0d29yayBzdGFj
ayBpbXBsZW1lbnRhdGlvbnMKKG9yIGxvdyBsZXZlbCBuZXR3b3JraW5nIGFwcGxpY2F0aW9ucyku
CgpVc2luZyB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gbmV0ZGV2X2NvcmUuaCwgdGhlIGRy
aXZlciBzaG91bGQKaW5jbHVkZSBuZXRkZXZfZHJpdmVyLCBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9u
cyBpbiB1a19uZXRkZXZfb3B0cyBhbmQKZmlsbCBzb21lIGZpZWxkcyBmcm9tIHVrX25ldGRldi4K
VGhlIHVzZXItZmFjaW5nIHBhcnQgb2YgdGhlIEFQSSBpcyBpbiBuZXRkZXYuaC4gVGhlIG5ldHdv
cmsgc3RhY2sKZ2x1ZSBjb2RlIGNhbiB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGNvbmZpZ3VyZSBu
ZXR3b3JrIGRldmljZXMsIGFzCndlbGwgYXMgc2VuZCBhbmQgcmVjZWl2ZSBwYWNrZXRzLgoKSW5z
cGlyZWQgZnJvbSBmcm9tIERQREsgUlRFIEV0aGVybmV0IEFQSS4KCkNoYW5nZXMgc2luY2UgdjM6
Ci0gSW50cm9kdWNlIGhlYWRlciB3aXRoIGRlZmludGlvbnMgaW50ZW5kZWQgZm9yIGRyaXZlcnMg
KG5ldGRldl9kcml2ZXIuaCkKLSBJbnRyb2R1Y2UgbmV0YnVmIGFic3RyYWN0aW9uIGZvciBzY2F0
dGVyZWQgYW5kIHplcm8tY29weSBJL08uCiAgQWJzdHJhY3Rpb24gaXMgZGVmaW5lZCB0byBlbmFi
bGUgY2hlYXAgY29udmVyc2lvbiBiZXR3ZWVuIGEgc3RhY2sncwogIHBhY2tldCBmb3JtYXQgYW5k
IG5ldGJ1Zi4KLSBNdWx0aS1xdWV1ZSBzdXBwb3J0Ci0gRXZlbnQgZGlzcGF0Y2hpbmcgaXMgZG9u
ZSB3aXRoaW4gbGlidWtuZXRkZXYgKGNvbmZpZ3VyYWJsZSB3aXRoCiAgb3Igd2l0aG91dCBib3R0
b20taGFsZiB0aHJlYWRzKS4gVGhyZWFkaW5nIGNvZGUgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkK
ICBhbnltb3JlIGluIHRoZSBkcml2ZXIgY29kZS4KLSBOZXRkZXYgc3RhdGUgZnVsbHkgbWFuYWdl
ZCBieSBsaWJ1a25ldGRldiBsYXllcgotIFJlbW92ZSBuZXR3b3JrIGRldmljZSBuYW1lcywgd2Ug
ZXhwZWN0IHRoYXQgbmV0d29ya3Mgc3RhY2tzIHdpbGwgYWRkCiAgdGhpcyBmdW5jdGlvbmFsaXR5
IGJ5IHRoZW1zZWx2ZXMKLSBJbnRyb2R1Y2UgZHJpdmVyIG5hbWUgcXVlcnlpbmcKLSBSZW1vdmUg
aW5jb21wbGV0ZSBuZXRkZXYgY2xvc2luZyBjb2RlIGZvciBub3cKClJhenZhbiBDb2pvY2FydSAo
Nyk6CiAgbGliL3VrbmV0ZGV2OiBMaWJyYXJ5IHNrZWxldG9uCiAgbGliL3VrbmV0ZGV2OiBOZXRk
ZXYgcmVnaXN0cmF0aW9uCiAgbGliL3VrbmV0ZGV2OiBOZXRkZXYgaW5pdGlhbGl6YXRpb24KICBs
aWIvdWtuZXRkZXY6IEhhcmR3YXJlIGFkZHJlc3MgaW50ZXJmYWNlcwogIGxpYi91a25ldGRldjog
UHJvbWlzY3VvdXMgbW9kZSBpbnRlcmZhY2VzCiAgbGliL3VrbmV0ZGV2OiBNVFUgaW50ZXJmYWNl
cwogIGxpYi91a25ldGRldjogUGFja2V0IHJlY2VwdGlvbiBhbmQgdHJhbnNtaXNzaW9uIGludGVy
ZmFjZXMKClNpbW9uIEt1ZW56ZXIgKDQpOgogIGxpYi91a25ldGRldjogSW50cm9kdWNlIE5ldGJ1
ZnMKICBsaWIvdWtuZXRkZXY6IE5ldGJ1ZiBjaGFpbmluZwogIGxpYi91a25ldGRldjogTmV0YnVm
IHJlZmNvdW50aW5nIGFuZCByZWxlYXNpbmcKICBsaWIvdWtuZXRkZXY6IE5ldGJ1ZiBoZWFkcm9v
bSBhbmQgdGFpbHJvb20gaGVscGVycwoKIGxpYi9Db25maWcudWsgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgMSArCiBsaWIvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgIDEgKwogbGliL3VrbmV0ZGV2L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgIHwgIDMyICsr
CiBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgfCAgIDcgKwogbGliL3Vr
bmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgIHwgIDMyICsrCiBsaWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRidWYuaCAgICAgICAgfCA1MTUgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oICAgICAgICB8IDQ5OSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZf
Y29yZS5oICAgfCAzNzQgKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfZHJpdmVyLmggfCAxMDIgKysrKysrCiBsaWIvdWtuZXRkZXYvbmV0YnVmLmMg
ICAgICAgICAgICAgICAgICAgfCAzMDAgKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9u
ZXRkZXYuYyAgICAgICAgICAgICAgICAgICB8IDU1NCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwogMTEgZmlsZXMgY2hhbmdlZCwgMjQxNyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgbGliL3VrbmV0ZGV2L0NvbmZpZy51awogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91
a25ldGRldi9NYWtlZmlsZS51awogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9leHBv
cnRzeW1zLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
YnVmLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3Jl
LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJp
dmVyLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvbmV0YnVmLmMKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvbmV0ZGV2LmMKCi0tIAoyLjcuNAoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:31 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBD-0002W9-ME; Wed, 10 Oct 2018 12:01:31 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBC-0002Vw-8L
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:30 +0000
X-Inumbo-ID: db7ce30f-cc83-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id db7ce30f-cc83-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 13:58:53 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id E8F03F2025;
 Wed, 10 Oct 2018 14:01:12 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id S5lkCSpMonvq; Wed, 10 Oct 2018 14:01:12 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id BBB9DF2021
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:01:10 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:10 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:45 +0200
Message-ID: <1539172854-19138-3-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 02/11] lib/uknetdev: Introduce
 Netbufs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkcyBgc3RydWN0IHVrX25ldGJ1ZmAsIGEgc3RydWN0dXJlIGZvciBkZXNjcmliaW5nIG5ldHdv
cmsKcGFja2V0cy4gSXQgaXMgZGVzaWduZWQgdG8gc3VwcG9ydCB6ZXJvLWNvcHkgb3BlcmF0aW9u
IGFuZCBzaW1wbGUKZW1iZWRkaW5nIHRvIGV4aXN0aW5nIG5ldHdvcmsgc3RhY2tzLiBOZXRidWZz
IGNhbiBiZSAoMSkgaW5pdGlhbGl6ZWQKb24gdXNlci1zdXBwbGllZCBtZW1vcnkgcmVnaW9ucywg
aW50ZW5kZWQgZm9yIG5ldHdvcmsgc3RhY2tzIHRoYXQgY29tZQp3aXRoIGEgcGFja2V0IGJ1ZmZl
ciBhbGxvY2F0b3IsIG9yICgyKSB1a19hbGxvYy1iYXNlZCBhbGxvY2F0aW9uLgoKVGhpcyBjb21t
aXQgaW50cm9kdWNlcyB0aGUgbmV0YnVmIHN0cnVjdCBhbmQgaW50aWFsaXphdGlvbiBhbmQKYWxs
b2NhdGlvbiBmdW5jdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5r
dWVuemVyQG5lY2xhYi5ldT4KLS0tCiBsaWIvdWtuZXRkZXYvQ29uZmlnLnVrICAgICAgICAgICB8
ICAgMSArCiBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICB8ICAgMiArCiBsaWIvdWtu
ZXRkZXYvZXhwb3J0c3ltcy51ayAgICAgICB8ICAgNCArCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRidWYuaCB8IDI4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
IGxpYi91a25ldGRldi9uZXRidWYuYyAgICAgICAgICAgIHwgMTkwICsrKysrKysrKysrKysrKysr
KysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNDg2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3Vr
bmV0ZGV2L25ldGJ1Zi5jCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51ayBiL2xp
Yi91a25ldGRldi9Db25maWcudWsKaW5kZXggYjVlMTFhOS4uODc4YjgyMiAxMDA2NDQKLS0tIGEv
bGliL3VrbmV0ZGV2L0NvbmZpZy51aworKysgYi9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCkBAIC0z
LDMgKzMsNCBAQCBjb25maWcgTElCVUtORVRERVYKIAlkZWZhdWx0IG4KIAlzZWxlY3QgTElCTk9M
SUJDIGlmICFIQVZFX0xJQkMKIAlzZWxlY3QgTElCVUtERUJVRworCXNlbGVjdCBMSUJVS0FMTE9D
CmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgYi9saWIvdWtuZXRkZXYvTWFr
ZWZpbGUudWsKaW5kZXggMzRmMzBiZS4uODFhZmFlNCAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2
L01ha2VmaWxlLnVrCisrKyBiL2xpYi91a25ldGRldi9NYWtlZmlsZS51awpAQCAtMiwzICsyLDUg
QEAgJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJ1a25ldGRldiwkKENPTkZJR19MSUJVS05FVERF
VikpKQogCiBDSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRERVYpCQkrPSAtSSQoTElCVUtORVRE
RVZfQkFTRSkvaW5jbHVkZQogQ1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRERVYpCSs9IC1J
JChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCisKK0xJQlVLTkVUREVWX1NSQ1MteSArPSAkKExJ
QlVLTkVUREVWX0JBU0UpL25ldGJ1Zi5jCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjU0NzNiYmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51awpAQCAtMCwwICsxLDQgQEAKK3VrX25ldGJ1Zl9pbml0X2luZGlyCit1a19u
ZXRidWZfYWxsb2NfaW5kaXIKK3VrX25ldGJ1Zl9hbGxvY19idWYKK3VrX25ldGJ1Zl9wcmVwYXJl
X2J1ZgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmggYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4yOTVlOWViCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0YnVmLmgKQEAgLTAsMCArMSwyODkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5r
dWVuemVyQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUg
THRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMg
SEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8K
KyNpZm5kZWYgX19VS19ORVRCVUZfXworI2RlZmluZSBfX1VLX05FVEJVRl9fCisKKyNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5o
PgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dWsv
YXNzZXJ0Lmg+CisjaW5jbHVkZSA8dWsvcmVmY291bnQuaD4KKyNpbmNsdWRlIDx1ay9hbGxvYy5o
PgorI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRl
cm4gIkMiIHsKKyNlbmRpZgorCitzdHJ1Y3QgdWtfbmV0YnVmOworCit0eXBlZGVmIHZvaWQgKCp1
a19uZXRidWZfZHRvcl90KShzdHJ1Y3QgdWtfbmV0YnVmICopOworCisvKioKKyAqIFRoZSBuZXRi
dWYgc3RydWN0dXJlIGlzIHVzZWQgdG8gZGVzY3JpYmUgYSBzaW5nbGUgY29udGlndW91cyBwYWNr
ZXQgYnVmZmVyLgorICogVGhlIHN0cnVjdHVyZSBjYW4gYmUgY2hhaW5lZCB0byBkZXNjcmliZSBh
IHBhY2tldCB3aXRoIG11bHRpcGxlIHNjYXR0ZXJlZAorICogYnVmZmVycy4KKyAqCisgKiBORVRC
VUYKKyAqICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICAg
ICAgICAgICAgICAgIHwgICBzdHJ1Y3QgdWtfbmV0YnVmICAgfAorICogICAgICAgICAgICAgICAg
ICB8ICAgICAgICAgICAgICAgICAgICAgIHwKKyAqICAgICAgICAgICAgICAgICAgKy0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0rCisgKgorICogUFJJVkFURSBNRVRBIERBVEEKKyAqICAgICAgICAgKnBy
aXYgLT4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICAgICAgICAgICAgICAgIHwgICAg
ICBwcml2YXRlIG1ldGEgICAgfAorICogICAgICAgICAgICAgICAgICB8ICAgICAgIGRhdGEgYXJl
YSAgICAgIHwKKyAqICAgICAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisg
KgorICogUEFDS0VUIEJVRkZFUgorICogICAgICAgICAgKmJ1ZiAtPiArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsgXAorICogICAgICAgICAgICAgICAgICB8ICAgICAgSEVBRCBST09NICAgICAgIHwg
IHwKKyAqICAgICAgICAgICAgICAgICAgfCAgIF4gICAgICAgICAgICAgIF4gICB8ICB8CisgKiAg
ICAgICAgICpkYXRhIC0+ICstLS18LS0tLS0tLS0tLS0tLS18LS0tKyAgfCBjb250aWd1b3VzCisg
KiAgICAgICAgICAgICAgICAgIHwgICB2ICAgICAgICAgICAgICB2ICAgfCAgfCBidWZmZXIKKyAq
ICAgICAgICAgICAgICAgICAgfCAgICAgUEFDS0VUIERBVEEgICAgICB8ICB8IGFyZWEKKyAqICAg
ICAgICAgICAgICAgICAgfCAgIF4gICAgICAgICAgICAgIF4gICB8ICB8CisgKiAgICpkYXRhICsg
bGVuIC0+ICstLS18LS0tLS0tLS0tLS0tLS18LS0tKyAgfAorICogICAgICAgICAgICAgICAgICB8
ICAgdiAgICAgICAgICAgICAgdiAgIHwgIHwKKyAqICAgICAgICAgICAgICAgICAgfCAgICAgIFRB
SUwgUk9PTSAgICAgICB8ICB8CisgKiAqYnVmICsgYnVmbGVuIC0+ICstLS0tLS0tLS0tLS0tLS0t
LS0tLS0tKyAvCisgKgorICoKKyAqIFRoZSBwcml2YXRlIGRhdGEgYXJlYSBpcyBpbnRlbmRlZCBm
b3IgZ2x1ZSBjb2RlIHRoYXQgd2FudHMgdG8gZW1iZWQgc3RhY2stCisgKiBzcGVjaWZpYyBkYXRh
IHRvIHRoZSBuZXRidWYgKGUuZy4sIGBzdHJ1Y3QgcGJ1ZmAgZm9yIGx3SVApLiBUaGlzIGF2b2lk
cworICogc2VwYXJhdGUgbWVtb3J5IG1hbmFnZW1lbnQgZm9yIHN0YWNrLXNwZWNpZmljIHBhY2tl
dCBtZXRhLWRhdGEuIGxpYnVrbmV0ZGV2CisgKiBvciBkZXZpY2UgZHJpdmVycyBhcmUgbm90IGlu
c3BlY3Rpbmcgb3IgbW9kaWZ5aW5nIHRoZXNlIGRhdGEuCisgKgorICogVGhlIGJ1ZmZlciByZWdp
b24gY29udGFpbnMgdGhlIHBhY2tldCBkYXRhLiBgc3RydWN0IHVrX25ldGJ1ZmAgaXMgcG9pbnRp
bmcKKyAqIHdpdGggYCpkYXRhYCB0byB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgcGFja2V0IGRhdGEg
d2l0aGluIHRoZSBidWZmZXIuCisgKiBgbGVuYCBkZXNjcmliZXMgdGhlIG51bWJlciBvZiBieXRl
cyB1c2VkLiBBbGwgcGFja2V0IGRhdGEgaGFzIHRvIGZpdCBpbnRvIHRoZQorICogZ2l2ZW4gYnVm
ZmVyLiBUaGUgYnVmZmVyIGlzIGRlc2NyaWJlZCB3aXRoIHRoZSBgYnVmYCBhbmQgYGJ1ZmxlbmAg
ZmllbGQuCisgKiBUaGVzZSB0d28gZmllbGRzIHNob3VsZCBub3QgY2hhbmdlIGR1cmluZyB0aGUg
bmV0YnVmIGxpZmUgdGltZS4KKyAqIFRoZSBhdmFpbGFibGUgaGVhZHJvb20gYnl0ZXMgYXJlIGNh
bGN1bGF0ZWQgYnkgc3VidHJhY3RpbmcgdGhlIGAqZGF0YWAKKyAqIHBvaW50ZXIgZnJvbSBgKmJ1
ZmAgcG9pbnRlci4gVGhlIGF2YWlsYWJsZSB0YWlscm9vbSBieXRlcyBhcmUgY2FsY3VsYXRlZAor
ICogd2l0aDogKCpidWYgKyBidWZsZW4pIC0gKCpkYXRhICsgbGVuKS4KKyAqIFdoZW4gbW9yZSBw
YWNrZXQgZGF0YSBzcGFjZSBpcyByZXF1aXJlZCBvciB3aGVuZXZlciBwYWNrZXQgZGF0YSBpcyBz
Y2F0dGVyZWQKKyAqIGluIG1lbW9yeSwgbmV0YnVmcyBjYW4gYmUgY2hhaW5lZC4KKyAqCisgKiBU
aGUgbmV0YnVmIHN0cnVjdHVyZSwgcHJpdmF0ZSBtZXRhIGRhdGEgYXJlYSwgYW5kIGJ1ZmZlciBh
cmVhIGNhbiBiZSBiYWNrZWQKKyAqIGJ5IGluZGVwZW5kZW50IG1lbW9yeSBhbGxvY2F0aW9ucy4g
dWtfbmV0YnVmX2FsbG9jX2J1ZigpIGFuZAorICogdWtfbmV0YnVmX3ByZXBhcmVfYnVmKCkgYXJl
IHBsYWNpbmcgYWxsIHRoZXNlIHRocmVlIHJlZ2lvbnMgaW50byBhIHNpbmdsZQorICogYWxsb2Nh
dGlvbi4KKyAqLworc3RydWN0IHVrX25ldGJ1ZiB7CisJc3RydWN0IHVrX25ldGJ1ZiAqbmV4dDsK
KwlzdHJ1Y3QgdWtfbmV0YnVmICpwcmV2OworCisJdm9pZCAqZGF0YTsgICAgICAgICAgICAvKio8
IFBheWxvYWQgc3RhcnQsIGlzIHBhcnQgb2YgYnVmLiAqLworCXVpbnQxNl90IGxlbjsgICAgICAg
ICAgLyoqPCBQYXlsb2FkIGxlbmd0aCAoc2hvdWxkIGJlIDw9IGJ1ZmxlbikuICovCisJX19hdG9t
aWMgcmVmY291bnQ7ICAgICAvKio8IFJlZmVyZW5jZSBjb3VudGVyICovCisKKwl2b2lkICpwcml2
OyAgICAgICAgICAgIC8qKjwgUmVmZXJlbmNlIHRvIHVzZXItcHJvdmlkZWQgcHJpdmF0ZSBkYXRh
ICovCisKKwl2b2lkICpidWY7ICAgICAgICAgICAgIC8qKjwgU3RhcnQgYWRkcmVzcyBvZiBjb250
aWd1b3VzIGJ1ZmZlci4gKi8KKwlzaXplX3QgYnVmbGVuOyAgICAgICAgIC8qKjwgTGVuZ3RoIG9m
IGJ1ZmZlci4gKi8KKworCXVrX25ldGJ1Zl9kdG9yX3QgZHRvcjsgLyoqPCBEZXN0cnVjdG9yIGNh
bGxiYWNrICovCisJc3RydWN0IHVrX2FsbG9jICpfYTsgICAvKio8IEBpbnRlcm5hbCBBbGxvY2F0
b3IgZm9yIGZyZWUnaW5nICovCit9OworCisvKioKKyAqIEluaXRpYWxpemVzIGFuIHVzZXItYWxs
b2NhdGVkIG5ldGJ1Zi4KKyAqIFRoaXMgbmV0YnVmIGhhcyBubyBkYXRhIGFyZWEgYXNzaWduZWQu
IEl0IGlzIGludGVuZGVkCisgKiB0aGF0IG0tPmJ1ZiwgbS0+YnVmbGVuLCBhbmQgbS0+ZGF0YSBp
cyBpbml0aWFsaXplZCBieSB0aGUgY2FsbGVyLgorICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdp
dGggMC4KKyAqIE5vdGU6IE9uIHRoZSBsYXN0IGZyZWUsIG9ubHkgdGhlIGRlc3RydWN0b3IgaXMg
Y2FsbGVkLAorICogICAgICAgbm8gbWVtb3J5IGlzIHJlbGVhc2VkIGJ5IHRoZSBBUEkuCisgKiBA
cGFyYW0gbQorICogICByZWZlcmVuY2UgdG8gdWtfbmV0YnVmIHRoYXQgc2hhbGwgYmUgaW5pdGlh
bGl6ZWQKKyAqIEBwYXJhbSBwcml2CisgKiAgIFJlZmVyZW5jZSB0byBleHRlcm5hbCAobWV0YSkg
ZGF0YSB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLgorICogQHBhcmFtIGR0b3IKKyAq
ICAgRGVzdHJ1Y3RvciB0aGF0IGlzIGNhbGxlZCB3aGVuIG5ldGJ1ZidzIHJlZmNvdW50IHJlYWNo
ZXMgemVybyAocmVjb21tZW5kZWQpCisgKi8KKyNkZWZpbmUgdWtfbmV0YnVmX2luaXQobSwgcHJp
diwgZHRvcikJCQkJXAorCXVrX25ldGJ1Zl9pbml0X2luZGlyKChtKSwgTlVMTCwgMCwgMCwgKHBy
aXYpLCAoZHRvcikpCisKKy8qKgorICogSW5pdGlhbGl6ZXMgYW4gdXNlci1hbGxvY2F0ZWQgbmV0
YnVmLgorICogVGhpcyBuZXRidWYgd2lsbCBwb2ludCB0byBhbiB1c2VyLXByb3ZpZGVkIGNvbnRp
Z3VvdXMgYnVmZmVyIGFyZWEuCisgKiBtLT5sZW4gaXMgaW5pdGlhbGl6ZWQgd2l0aCAwLgorICog
Tm90ZTogT24gdGhlIGxhc3QgZnJlZSwgb25seSB0aGUgZGVzdHJ1Y3RvciBpcyBjYWxsZWQsCisg
KiAgICAgICBubyBtZW1vcnkgaXMgcmVsZWFzZWQgYnkgdGhlIEFQSS4KKyAqIEBwYXJhbSBtCisg
KiAgIHJlZmVyZW5jZSB0byB1a19uZXRidWYgdGhhdCBzaGFsbCBiZSBpbml0aWFsaXplZAorICog
QHBhcmFtIGJ1ZgorICogICBSZWZlcmVuY2UgdG8gYnVmZmVyIGFyZWEgdGhhdCBpcyBiZWxvbmdp
bmcgdG8gdGhpcyBuZXRidWYKKyAqIEBwYXJhbSBidWZsZW4KKyAqICAgU2l6ZSBvZiB0aGUgYnVm
ZmVyIGFyZWEKKyAqIEBwYXJhbSBoZWFkcm9vbQorICogICBOdW1iZXIgb2YgYnl0ZXMgcmVzZXJ2
ZWQgYXMgaGVhZHJvb20gZnJvbSBidWYsIGBtLT5kYXRhYCB3aWxsIHBvaW50IHRvCisgKiAgIHRv
IHRoZSBmaXJzdCBieXRlIGluIGBidWZgIGFmdGVyIHRoZSBoZWFkcm9vbS4gYGhlYWRyb29tYCBo
YXMgdG8gYmUgc21hbGxlcgorICogICBvciBlcXVhbCB0byBgYnVmbGVuYC4KKyAqICAgTm90ZTog
U29tZSBkcml2ZXJzIG1heSByZXF1aXJlIGV4dHJhIGhlYWRyb29tIHNwYWNlIGluIHRoZSBmaXJz
dCBuZXRidWYgb2YKKyAqICAgICAgICAgYSBjaGFpbiBpbiBvcmRlciB0byBkbyBhIHBhY2tldCB0
cmFuc21pc3Npb24uCisgKiBAcGFyYW0gcHJpdgorICogICBSZWZlcmVuY2UgdG8gZXh0ZXJuYWwg
KG1ldGEpIGRhdGEgdGhhdCBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4KKyAqIEBwYXJhbSBk
dG9yCisgKiAgIERlc3RydWN0b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBuZXRidWYncyByZWZjb3Vu
dCByZWFjaGVzIHplcm8gKHJlY29tbWVuZGVkKQorICovCit2b2lkIHVrX25ldGJ1Zl9pbml0X2lu
ZGlyKHN0cnVjdCB1a19uZXRidWYgKm0sCisJCQkgIHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1Zmxlbiwg
dWludDE2X3QgaGVhZHJvb20sCisJCQkgIHZvaWQgKnByaXYsIHVrX25ldGJ1Zl9kdG9yX3QgZHRv
cik7CisKKy8qKgorICogQWxsb2NhdGVzIGFuZCBpbml0aWFsaXplcyBhIG5ldGJ1Zi4KKyAqIFRo
aXMgbmV0YnVmIGhhcyBubyBidWZmZXIgYXJlYSBhc3NpZ25lZC4gSXQgaXMgaW50ZW5kZWQKKyAq
IHRoYXQgbS0+YnVmLCBtLT5idWZsZW4sIGFuZCBtLT5kYXRhIGlzIGluaXRpYWxpemVkIGJ5IHRo
ZSBjYWxsZXIuCisgKiBtLT5sZW4gaXMgaW5pdGlhbGl6ZWQgd2l0aCAwLgorICogTm90ZTogT24g
dGhlIGxhc3QgZnJlZSwgdGhlIGJ1ZmZlciBhcmVhIGlzIG5vdCBmcmVlJ2QuIEl0IGlzIGludGVu
ZGVkCisgKiAgICAgICB0byBwcm92aWRlIGEgZGVzdHJ1Y3RvciBmb3IgdGhpcyBvcGVyYXRpb24u
CisgKiBAcGFyYW0gYQorICogICBBbGxvY2F0b3IgdG8gdXNlIGZvciBhbGxvY2F0aW5nIGBzdHJ1
Y3QgdWtfbmV0YnVmYCBhbmQgdGhlCisgKiAgIGNvcnJlc3BvbmRpbmcgcHJpdmF0ZSBkYXRhIGFy
ZWEuCisgKiBAcGFyYW0gZHRvcgorICogICBEZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4g
bmV0YnVmIGlzIGZyZWUnZCAocmVjb21tZW5kZWQpCisgKiBAcGFyYW0gcHJpdmxlbgorICogICBM
ZW5ndGggZm9yIHJlc2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRlIGRhdGEuIFRoaXMgbWVt
b3J5IGlzIGZyZWUnZAorICogICB0b2dldGhlciB3aXRoIHRoaXMgbmV0YnVmLiBJZiBwcml2bGVu
IGlzIDAsIGVpdGhlciBubyBwcml2YXRlIGRhdGEgaXMKKyAqICAgcmVxdWlyZWQgb3IgZXh0ZXJu
YWwgbWV0YSBkYXRhIGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLiBtLT5wcml2IGNhbiBiZQor
ICogICBtb2RpZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KKyAqIEByZXR1cm5zCisgKiAgIC0g
KE5VTEwpOiBBbGxvY2F0aW9uIGZhaWxlZAorICogICAtIGluaXRpYWxpemVkIHVrX25ldGJ1Zgor
ICovCisjZGVmaW5lIHVrX25ldGJ1Zl9hbGxvYyhhLCBwcml2bGVuLCBkdG9yKQkJCVwKKwl1a19u
ZXRidWZfYWxsb2NfaW5kaXIoKGEpLCBOVUxMLCAwLCAwLCAocHJpdmxlbiksIChkdG9yKSkKKwor
LyoqCisgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBuZXRidWYgdG8gcmVmZXJlbmNlIHRvIGFu
IGV4aXN0aW5nCisgKiBjb250aWd1b3VzIGRhdGEgYXJlYQorICogbS0+bGVuIGlzIGluaXRpYWxp
emVkIHdpdGggMC4KKyAqIEl0IHdpbGwgbm90IGJlIGZyZWUnZCB0b2dldGhlciB3aXRoIHRoaXMg
bmV0YnVmIG9uIHRoZSBsYXN0IGZyZWUgY2FsbC4KKyAqIEBwYXJhbSBhCisgKiAgIEFsbG9jYXRv
ciB0byBiZSB1c2VkIGZvciBhbGxvY2F0aW5nIGBzdHJ1Y3QgdWtfbmV0YnVmYAorICogICBPbiB1
a19uZXRkZXZfZnJlZSgpIGFuZCByZWZjb3VudCA9PSAwIHRoZSBhbGxvY2F0aW9uIGlzIGZyZWUn
ZAorICogICB0byB0aGlzIGFsbG9jYXRvci4KKyAqIEBwYXJhbSBidWYKKyAqICAgUmVmZXJlbmNl
IHRvIHRoZSBidWZmZXIgYXJlYSB0aGF0IGlzIGJlbG9uZ2luZyB0byB0aGlzIG5ldGJ1ZgorICog
QHBhcmFtIGJ1ZmxlbgorICogICBTaXplIG9mIHRoZSBidWZmZXIgYXJlYQorICogQHBhcmFtIGhl
YWRyb29tCisgKiAgIE51bWJlciBvZiBieXRlcyByZXNlcnZlZCBhcyBoZWFkcm9vbSBmcm9tIGJ1
Zi4KKyAqICAgaGVhZHJvb20gaGFzIHRvIGJlIHNtYWxsZXIgb3IgZXF1YWwgdG8gYnVmbGVuLgor
ICogICBQbGVhc2Ugbm90ZSB0aGF0IG0tPmRhdGEgaXMgYWxpZ25lZCB3aGVuIHJlc2VydmVkIGhl
YWRyb29tIGlzIDAuCisgKiAgIEluIG9yZGVyIHRvIGtlZXAgdGhpcyBwcm9wZXJ0eSBhbGlnbiB1
cCB0aGUgaGVhZHJvb20gdmFsdWUuCisgKiBAcGFyYW0gcHJpdmxlbgorICogICBMZW5ndGggZm9y
IHJlc2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRlIGRhdGEuIFRoaXMgbWVtb3J5IGlzIGZy
ZWUnZAorICogICB0b2dldGhlciB3aXRoIHRoaXMgbmV0YnVmLiBJZiBwcml2bGVuIGlzIDAsIGVp
dGhlciBubyBwcml2YXRlIGRhdGEgaXMKKyAqICAgcmVxdWlyZWQgb3IgZXh0ZXJuYWwgbWV0YSBk
YXRhIGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLiBtLT5wcml2IGNhbiBiZQorICogICBtb2Rp
ZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KKyAqIEBwYXJhbSBkdG9yCisgKiAgIERlc3RydWN0
b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBuZXRidWYgaXMgZnJlZSdkIChyZWNvbW1lbmRlZCkKKyAq
IEByZXR1cm5zCisgKiAgIC0gKE5VTEwpOiBBbGxvY2F0aW9uIGZhaWxlZAorICogICAtIGluaXRp
YWxpemVkIHVrX25ldGJ1ZgorICovCitzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfYWxsb2Nf
aW5kaXIoc3RydWN0IHVrX2FsbG9jICphLAorCQkJCQl2b2lkICpidWYsIHNpemVfdCBidWZsZW4s
CisJCQkJCXVpbnQxNl90IGhlYWRyb29tLAorCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVm
X2R0b3JfdCBkdG9yKTsKKworLyoqCisgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBuZXRidWYg
d2l0aCBkYXRhIGJ1ZmZlciBhcmVhLgorICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdpdGggMC4K
KyAqIEBwYXJhbSBhCisgKiAgIEFsbG9jYXRvciB0byBiZSB1c2VkIGZvciBhbGxvY2F0aW5nIGBz
dHJ1Y3QgdWtfbmV0YnVmYCBhbmQgdGhlCisgKiAgIGNvcnJlc3BvbmRpbmcgYnVmZmVyIGFyZWEg
KHNpbmdsZSBhbGxvY2F0aW9uKS4KKyAqICAgT24gdWtfbmV0YnVmX2ZyZWUoKSBhbmQgcmVmY291
bnQgPT0gMCB0aGUgYWxsb2NhdGlvbiBpcyBmcmVlJ2QKKyAqICAgdG8gdGhpcyBhbGxvY2F0b3Iu
CisgKiBAcGFyYW0gYnVmbGVuCisgKiAgIFNpemUgb2YgdGhlIGJ1ZmZlciBhcmVhCisgKiBAcGFy
YW0gaGVhZHJvb20KKyAqICAgTnVtYmVyIG9mIGJ5dGVzIHJlc2VydmVkIGFzIGhlYWRyb29tIGZy
b20gdGhlIGJ1ZmZlciBhcmVhLgorICogICBgaGVhZHJvb21gIGhhcyB0byBiZSBzbWFsbGVyIG9y
IGVxdWFsIHRvIGBidWZsZW5gLgorICogICBQbGVhc2Ugbm90ZSB0aGF0IGBtLT5kYXRhYCBpcyBh
bGlnbmVkIHdoZW4gYGhlYWRyb29tYCBpcyAwLgorICogICBJbiBvcmRlciB0byBrZWVwIHRoaXMg
cHJvcGVydHkgd2hlbiBhIGhlYWRyb29tIGlzIHVzZWQsCisgKiAgIGl0IGlzIHJlY29tbWVuZGVk
IHRvIGFsaWduIHVwIHRoZSByZXF1aXJlZCBoZWFkcm9vbS4KKyAqIEBwYXJhbSBwcml2bGVuCisg
KiAgIExlbmd0aCBmb3IgcmVzZXJ2ZWQgbWVtb3J5IHRvIHN0b3JlIHByaXZhdGUgZGF0YS4gVGhp
cyBtZW1vcnkgaXMgZnJlZSdkCisgKiAgIHRvZ2V0aGVyIHdpdGggdGhpcyBuZXRidWYuIElmIHBy
aXZsZW4gaXMgMCwgZWl0aGVyIG5vIHByaXZhdGUgZGF0YSBpcworICogICByZXF1aXJlZCBvciBl
eHRlcm5hbCBtZXRhIGRhdGEgY29ycmVzcG9uZHMgdG8gdGhpcyBuZXRidWYuIG0tPnByaXYgY2Fu
IGJlCisgKiAgIG1vZGlmaWVkIGFmdGVyIHRoZSBhbGxvY2F0aW9uLgorICogQHBhcmFtIGR0b3IK
KyAqICAgRGVzdHJ1Y3RvciB0aGF0IGlzIGNhbGxlZCB3aGVuIG5ldGJ1ZiBpcyBmcmVlJ2QgKG9w
dGlvbmFsKQorICogQHJldHVybnMKKyAqICAgLSAoTlVMTCk6IEFsbG9jYXRpb24gZmFpbGVkCisg
KiAgIC0gaW5pdGlhbGl6ZWQgdWtfbmV0YnVmCisgKi8KK3N0cnVjdCB1a19uZXRidWYgKnVrX25l
dGJ1Zl9hbGxvY19idWYoc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3QgYnVmbGVuLAorCQkJCSAg
ICAgIHVpbnQxNl90IGhlYWRyb29tLAorCQkJCSAgICAgIHNpemVfdCBwcml2bGVuLCB1a19uZXRi
dWZfZHRvcl90IGR0b3IpOworCisvKioKKyAqIEluaXRpYWxpemUgbmV0YnVmIHdpdGggZGF0YSBi
dWZmZXIgb24gYSB1c2VyIGdpdmVuIGFsbG9jYXRlZCBtZW1vcnkgYXJlYQorICogbS0+bGVuIGlz
IGluaXRpYWxpemVkIHdpdGggMC4KKyAqIEBwYXJhbSBtZW0KKyAqICAgUmVmZXJlbmNlIHRvIHVz
ZXIgcHJvdmlkZWQgbWVtb3J5IHJlZ2lvbgorICogQHBhcmFtIGJ1ZmxlbgorICogICBTaXplIG9m
IHRoZSBkYXRhIHRoYXQgc2hhbGwgYmUgYWxsb2NhdGVkIHRvZ2V0aGVyIHdpdGggdGhpcyBuZXRi
dWYKKyAqIEBwYXJhbSBoZWFkcm9vbQorICogICBOdW1iZXIgb2YgYnl0ZXMgcmVzZXJ2ZWQgYXMg
aGVhZHJvb20gZnJvbSB0aGUgYnVmZmVyIGFyZWEuCisgKiAgIGBoZWFkcm9vbWAgaGFzIHRvIGJl
IHNtYWxsZXIgb3IgZXF1YWwgdG8gYGJ1ZmxlbmAuCisgKiAgIFBsZWFzZSBub3RlIHRoYXQgYG0t
PmRhdGFgIGlzIGFsaWduZWQgd2hlbiBgaGVhZHJvb21gIGlzIDAuCisgKiAgIEluIG9yZGVyIHRv
IGtlZXAgdGhpcyBwcm9wZXJ0eSB3aGVuIGEgaGVhZHJvb20gaXMgdXNlZCwKKyAqICAgaXQgaXMg
cmVjb21tZW5kZWQgdG8gYWxpZ24gdXAgdGhlIHJlcXVpcmVkIGhlYWRyb29tLgorICogQHBhcmFt
IHByaXZsZW4KKyAqICAgTGVuZ3RoIGZvciByZXNlcnZlZCBtZW1vcnkgdG8gc3RvcmUgcHJpdmF0
ZSBkYXRhLiBUaGlzIG1lbW9yeSB3aWxsIGJlCisgKiAgIGVtYmVkZGVkIHRvZ2V0aGVyIHdpdGgg
dGhpcyBuZXRidWYuIElmIHByaXZsZW4gaXMgMCwgZWl0aGVyIG5vIHByaXZhdGUgZGF0YQorICog
ICBpcyByZXF1aXJlZCBvciBleHRlcm5hbCBtZXRhIGRhdGEgY29ycmVzcG9uZHMgdG8gdGhpcyBu
ZXRidWYuIG0tPnByaXYgY2FuCisgKiAgIGJlIG1vZGlmaWVkIGFmdGVyIHRoZSBwcmVwYXJhdGlv
bi4KKyAqIEBwYXJhbSBkdG9yCisgKiAgIERlc3RydWN0b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBu
ZXRidWYncyByZWZjb3VudCByZWFjaGVzIHplcm8gKHJlY29tbWVuZGVkKQorICogQHJldHVybnMK
KyAqICAgLSAoTlVMTCk6IGdpdmVuIGZhaWxlZAorICogICAtIGluaXRpYWxpemVkIHVrX25ldGJ1
ZgorICovCitzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcHJlcGFyZV9idWYodm9pZCAqbWVt
LCBzaXplX3Qgc2l6ZSwKKwkJCQkJdWludDE2X3QgaGVhZHJvb20sCisJCQkJCXNpemVfdCBwcml2
bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNl
bmRpZgorCisjZW5kaWYgLyogX19VS19ORVRCVUZfXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L25ldGJ1Zi5jIGIvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjcyYzM0OWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdWtuZXRkZXYv
bmV0YnVmLmMKQEAgLTAsMCArMSwxOTAgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC
U0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVu
emVyQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRk
LiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
IDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1l
cyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQg
c3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVB
REVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8KKyNp
bmNsdWRlIDx1ay9uZXRidWYuaD4KKyNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CisKKy8qIFVz
ZWQgdG8gYWxpZ24gbmV0YnVmJ3MgcHJpdiBhbmQgZGF0YSBhcmVhcyB0byBgbG9uZyBsb25nYCBk
YXRhIHR5cGUgKi8KKyNkZWZpbmUgTkVUQlVGX0FERFJfQUxJR05NRU5UIChzaXplb2YobG9uZyBs
b25nKSkKKyNkZWZpbmUgTkVUQlVGX0FERFJfQUxJR05fVVAoeCkgQUxJR05fVVAoKHgpLCBORVRC
VUZfQUREUl9BTElHTk1FTlQpCisKK3ZvaWQgdWtfbmV0YnVmX2luaXRfaW5kaXIoc3RydWN0IHVr
X25ldGJ1ZiAqbSwKKwkJCSAgdm9pZCAqYnVmLCBzaXplX3QgYnVmbGVuLCB1aW50MTZfdCBoZWFk
cm9vbSwKKwkJCSAgdm9pZCAqcHJpdiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKQoreworCVVLX0FT
U0VSVChtKTsKKwlVS19BU1NFUlQoYnVmIHx8IChidWYgPT0gTlVMTCAmJiBidWZsZW4gPT0gMCkp
OworCVVLX0FTU0VSVChoZWFkcm9vbSA8PSBidWZsZW4pOworCisJbS0+YnVmICAgID0gYnVmOwor
CW0tPmJ1ZmxlbiA9IGJ1ZmxlbjsKKwltLT5kYXRhICAgPSAodm9pZCAqKSAoKHVpbnRwdHJfdCkg
YnVmICsgaGVhZHJvb20pOworCW0tPmxlbiAgICA9IDA7CisJbS0+cHJldiAgID0gTlVMTDsKKwlt
LT5uZXh0ICAgPSBOVUxMOworCisJdWtfcmVmY291bnRfaW5pdCgmbS0+cmVmY291bnQsIDEpOwor
CisJbS0+cHJpdiAgID0gcHJpdjsKKwltLT5kdG9yICAgPSBkdG9yOworCW0tPl9hICAgICAgPSBO
VUxMOworfQorCitzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfYWxsb2NfaW5kaXIoc3RydWN0
IHVrX2FsbG9jICphLAorCQkJCQl2b2lkICpidWYsIHNpemVfdCBidWZsZW4sCisJCQkJCXVpbnQx
Nl90IGhlYWRyb29tLAorCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9y
KQoreworCXN0cnVjdCB1a19uZXRidWYgKm07CisKKwlpZiAocHJpdmxlbikKKwkJbSA9IHVrX21h
bGxvYyhhLCBORVRCVUZfQUREUl9BTElHTl9VUChzaXplb2YoKm0pKSArIHByaXZsZW4pOworCWVs
c2UKKwkJbSA9IHVrX21hbGxvYyhhLCBzaXplb2YoKm0pKTsKKwlpZiAoIW0pCisJCXJldHVybiBO
VUxMOworCisJdWtfbmV0YnVmX2luaXRfaW5kaXIobSwKKwkJCSAgICAgYnVmLAorCQkJICAgICBi
dWZsZW4sCisJCQkgICAgIGhlYWRyb29tLAorCQkJICAgICBwcml2bGVuID4gMAorCQkJICAgICA/
ICh2b2lkICopKCh1aW50cHRyX3QpIG0KKwkJCQkJKyBORVRCVUZfQUREUl9BTElHTl9VUChzaXpl
b2YoKm0pKSkKKwkJCSAgICAgOiBOVUxMLAorCQkJICAgICBkdG9yKTsKKworCS8qIFNhdmUgcmVm
ZXJlbmNlIHRvIGFsbG9jYXRvciB0aGF0IGlzIHVzZWQKKwkgKiBmb3IgZnJlZSdpbmcgdGhpcyB1
a19uZXRidWYuCisJICovCisJbS0+X2EgPSBhOworCisJcmV0dXJuIG07Cit9CisKK3N0cnVjdCB1
a19uZXRidWYgKnVrX25ldGJ1Zl9hbGxvY19idWYoc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3Qg
YnVmbGVuLAorCQkJCSAgICAgIHVpbnQxNl90IGhlYWRyb29tLAorCQkJCSAgICAgIHNpemVfdCBw
cml2bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpCit7CisJc3RydWN0IHVrX25ldGJ1ZiAqbTsK
KwlzaXplX3QgYnVmX29mZnNldCA9IDA7CisJc2l6ZV90IHByaXZfb2Zmc2V0ID0gMDsKKwlzaXpl
X3QgaGVhZHJvb21fZXh0cmEgPSAwOworCisJVUtfQVNTRVJUKGJ1ZmxlbiA+IDApOworCVVLX0FT
U0VSVChoZWFkcm9vbSA8PSBidWZsZW4pOworCisJbSA9IHVrX21hbGxvYyhhLCBORVRCVUZfQURE
Ul9BTElHTl9VUChzaXplb2YoKm0pKQorCQkgICAgICArIE5FVEJVRl9BRERSX0FMSUdOX1VQKHBy
aXZsZW4pCisJCSAgICAgICsgYnVmbGVuKTsKKwlpZiAoIW0pCisJCXJldHVybiBOVUxMOworCisJ
LyogUGxhY2UgYnVmIHJpZ2h0IGJlaGluZCBgbWAgb3IgYG0tPnByaXZgIHJlZ2lvbiBpZiBwcml2
bGVuID4gMC4KKwkgKiBJbiBvcmRlciB0byBrZWVwIGBtLT5kYXRhIC0gaGVhZHJvb21gIGFsaWdu
ZWQgdGhlIHBhZGRpbmcgYnl0ZXMKKwkgKiAgYXJlIGFkZGVkIHRvIHRoZSBoZWFkcm9vbS4KKwkg
KiBXZSBjYW4gb25seSBkbyB0aGlzIGlmIHRoZSBnaXZlbiBoZWFkcm9vbSBzdGF5cyB3aXRoaW4K
KwkgKiAgdWludDE2X3QgYm91bmRzIGFmdGVyIHRoZSBvcGVyYXRpb24uCisJICovCisJaWYgKGxp
a2VseShVSU5UMTZfTUFYIC0gaGVhZHJvb20gPiBORVRCVUZfQUREUl9BTElHTk1FTlQpKSB7CisJ
CWlmIChwcml2bGVuID09IDApIHsKKwkJCXByaXZfb2Zmc2V0ICAgID0gMDsKKwkJCWJ1Zl9vZmZz
ZXQgICAgID0gc2l6ZW9mKCptKTsKKwkJCWhlYWRyb29tX2V4dHJhID0gTkVUQlVGX0FERFJfQUxJ
R05fVVAoc2l6ZW9mKCptKSkKKwkJCQkJIC0gc2l6ZW9mKCptKTsKKwkJfSBlbHNlIHsKKwkJCXBy
aXZfb2Zmc2V0ICAgID0gTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSk7CisJCQlidWZf
b2Zmc2V0ICAgICA9IHByaXZfb2Zmc2V0ICsgcHJpdmxlbjsKKwkJCWhlYWRyb29tX2V4dHJhID0g
TkVUQlVGX0FERFJfQUxJR05fVVAocHJpdmxlbikKKwkJCQkJIC0gcHJpdmxlbjsKKwkJfQorCX0K
KworCXVrX25ldGJ1Zl9pbml0X2luZGlyKG0sCisJCQkgICAgICh2b2lkICopIG0gKyBidWZfb2Zm
c2V0LAorCQkJICAgICBidWZsZW4gKyBoZWFkcm9vbV9leHRyYSwKKwkJCSAgICAgaGVhZHJvb20g
KyBoZWFkcm9vbV9leHRyYSwKKwkJCSAgICAgcHJpdmxlbiA+IDAgPyAoKHZvaWQgKikgbSArIHBy
aXZfb2Zmc2V0KSA6IE5VTEwsCisJCQkgICAgIGR0b3IpOworCisJLyogU2F2ZSByZWZlcmVuY2Ug
dG8gYWxsb2NhdG9yIHRoYXQgaXMgdXNlZAorCSAqIGZvciBmcmVlJ2luZyB0aGlzIHVrX25ldGJ1
Zi4KKwkgKi8KKwltLT5fYSA9IGE7CisKKwlyZXR1cm4gbTsKK30KKworc3RydWN0IHVrX25ldGJ1
ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCisJCQkJCXVp
bnQxNl90IGhlYWRyb29tLAorCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBk
dG9yKQoreworCXN0cnVjdCB1a19uZXRidWYgKm07CisJc2l6ZV90IGJ1Zl9vZmZzZXQgPSAwOwor
CXNpemVfdCBwcml2X29mZnNldCA9IDA7CisKKwlVS19BU1NFUlQobWVtKTsKKwlpZiAoKE5FVEJV
Rl9BRERSX0FMSUdOX1VQKHNpemVvZigqbSkpCisJICAgICArIE5FVEJVRl9BRERSX0FMSUdOX1VQ
KHByaXZsZW4pCisJICAgICArIGhlYWRyb29tKSA+IHNpemUpCisJCXJldHVybiBOVUxMOworCisJ
LyogUGxhY2UgYnVmIHJpZ2h0IGJlaGluZCBgbWAgb3IgYG0tPnByaXZgIHJlZ2lvbiBpZiBwcml2
bGVuID4gMC4KKwkgKiBJbiBvcmRlciB0byBrZWVwIGBtLT5kYXRhIC0gaGVhZHJvb21gIGFsaWdu
ZWQgdGhlIHBhZGRpbmcgYnl0ZXMKKwkgKiAgYXJlIGFkZGVkIHRvIHRoZSBoZWFkcm9vbS4KKwkg
KiBXZSBjYW4gb25seSBkbyB0aGlzIGlmIHRoZSBnaXZlbiBoZWFkcm9vbSBzdGF5cyB3aXRoaW4K
KwkgKiAgdWludDE2X3QgYm91bmRzIGFmdGVyIHRoZSBvcGVyYXRpb24uCisJICovCisJaWYgKGxp
a2VseShVSU5UMTZfTUFYIC0gaGVhZHJvb20gPiBORVRCVUZfQUREUl9BTElHTk1FTlQpKSB7CisJ
CWlmIChwcml2bGVuID09IDApIHsKKwkJCXByaXZfb2Zmc2V0ID0gMDsKKwkJCWJ1Zl9vZmZzZXQg
ID0gc2l6ZW9mKCptKTsKKwkJCWhlYWRyb29tICAgKz0gTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6
ZW9mKCptKSkKKwkJCQkgICAgICAtIHNpemVvZigqbSk7CisJCX0gZWxzZSB7CisJCQlwcml2X29m
ZnNldCA9IE5FVEJVRl9BRERSX0FMSUdOX1VQKHNpemVvZigqbSkpOworCQkJYnVmX29mZnNldCAg
PSBwcml2X29mZnNldCArIHByaXZsZW47CisJCQloZWFkcm9vbSAgICs9IE5FVEJVRl9BRERSX0FM
SUdOX1VQKHByaXZsZW4pCisJCQkJICAgICAgLSBwcml2bGVuOworCQl9CisJfQorCisJbSA9IChz
dHJ1Y3QgdWtfbmV0YnVmICopIG1lbTsKKwl1a19uZXRidWZfaW5pdF9pbmRpcihtLAorCQkJICAg
ICBtZW0gKyBidWZfb2Zmc2V0LAorCQkJICAgICBzaXplIC0gYnVmX29mZnNldCwKKwkJCSAgICAg
aGVhZHJvb20sCisJCQkgICAgIHByaXZsZW4gPiAwID8gKG1lbSArIHByaXZfb2Zmc2V0KSA6IE5V
TEwsCisJCQkgICAgIGR0b3IpOworCXJldHVybiBtOworfQotLSAKMi43LjQKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:31 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBD-0002WK-Qr; Wed, 10 Oct 2018 12:01:31 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBD-0002W3-FV
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:31 +0000
X-Inumbo-ID: dcd59765-cc83-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id dcd59765-cc83-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 13:58:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 39C9A101BA1;
 Wed, 10 Oct 2018 14:01:24 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LnpCja077nUx; Wed, 10 Oct 2018 14:01:24 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 1AF651002D2
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:01:22 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:12 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:46 +0200
Message-ID: <1539172854-19138-4-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 03/11] lib/uknetdev: Netbuf
 chaining
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgYW5kIG9wZXJhdGluZyBuZXRidWYgY2hh
aW5zLiBXaXRoCnRoaXMsIG5ldHdvcmsgcGFja2V0IGRhdGEgdGhhdCBpcyBzY2F0dGVyZWQgaW4g
bWVtb3J5IGNhbiBiZQpkZXNjcmliZWQuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxz
aW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayAg
ICAgICB8ICAzICsrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCB8IDgwICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9uZXRidWYu
YyAgICAgICAgICAgIHwgNTUgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNo
YW5nZWQsIDEzOCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9y
dHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awppbmRleCA1NDczYmJhLi4zMTUz
YTVkIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtu
ZXRkZXYvZXhwb3J0c3ltcy51awpAQCAtMiwzICsyLDYgQEAgdWtfbmV0YnVmX2luaXRfaW5kaXIK
IHVrX25ldGJ1Zl9hbGxvY19pbmRpcgogdWtfbmV0YnVmX2FsbG9jX2J1ZgogdWtfbmV0YnVmX3By
ZXBhcmVfYnVmCit1a19uZXRidWZfZGlzY29ubmVjdAordWtfbmV0YnVmX2Nvbm5lY3QKK3VrX25l
dGJ1Zl9hcHBlbmQKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5o
IGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKaW5kZXggMjk1ZTllYi4uYzQ0OGM2
YSAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKKysrIGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKQEAgLTI4Miw2ICsyODIsODYgQEAgc3RydWN0
IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUs
CiAJCQkJCXVpbnQxNl90IGhlYWRyb29tLAogCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVm
X2R0b3JfdCBkdG9yKTsKIAorLyoqCisgKiBDb25uZWN0cyB0d28gbmV0YnVmIGNoYWlucworICog
QHBhcmFtIGhlYWR0YWlsCisgKiAgIExhc3QgbmV0YnVmIGVsZW1lbnQgb2YgY2hhaW4gdGhhdCBz
aG91bGQgY29tZSBmaXJzdC4KKyAqICAgSXQgY2FuIGFsc28gYmUganVzdCBhIHNpbmdsZSBuZXRi
dWYuCisgKiBAcGFyYW0gdGFpbAorICogICBIZWFkIGVsZW1lbnQgb2YgdGhlIHNlY29uZCBuZXRi
dWYgY2hhaW4uCisgKiAgIEl0IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVmLgorICov
Cit2b2lkIHVrX25ldGJ1Zl9jb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKmhlYWR0YWlsLAorCQkg
ICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqdGFpbCk7CisKKy8qKgorICogQ29ubmVjdHMgdHdvIG5l
dGJ1ZiBjaGFpbnMKKyAqIEBwYXJhbSBoZWFkCisgKiAgIEhlYWRpbmcgbmV0YnVmIGVsZW1lbnQg
b2YgY2hhaW4gdGhhdCBzaG91bGQgY29tZSBmaXJzdC4KKyAqICAgSXQgY2FuIGFsc28gYmUganVz
dCBhIHNpbmdsZSBuZXRidWYuCisgKiBAcGFyYW0gdGFpbAorICogICBIZWFkIGVsZW1lbnQgb2Yg
dGhlIHNlY29uZCBuZXRidWYgY2hhaW4uCisgKiAgIEl0IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5n
bGUgbmV0YnVmLgorICovCit2b2lkIHVrX25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVrX25ldGJ1ZiAq
aGVhZCwKKwkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqdGFpbCk7CisKKy8qKgorICogRGlzY29u
bmVjdHMgYSBuZXRidWYgZnJvbSBpdHMgY2hhaW4uIFRoZSBjaGFpbiB3aWxsIHJlbWFpbgorICog
d2l0aG91dCB0aGUgcmVtb3ZlZCBlbGVtZW50LgorICogQHBhcmFtIG0KKyAqICAgdWtfbmV0YnVm
IHRvIGJlIHJlbW92ZWQgZnJvbSBpdHMgY2hhaW4KKyAqIEByZXR1cm5zCisgKiAgIC0gKE5VTEwp
IENoYWluIGNvbnNpc3RlZCBvbmx5IG9mIG0KKyAqICAgLSBIZWFkIG9mIHRoZSByZW1haW5pbmcg
bmV0YnVmIGNoYWluCisgKi8KK3N0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9kaXNjb25uZWN0
KHN0cnVjdCB1a19uZXRidWYgKm0pOworCisvKgorICogSXRlcmF0b3IgaGVscGVycyBmb3IgbmV0
YnVmIGNoYWlucworICovCisvKiBoZWFkIC0+IHRhaWwgKi8KKyNkZWZpbmUgVUtfTkVUQlVGX0NI
QUlOX0ZPUkVBQ0godmFyLCBoZWFkKQkJCQlcCisJZm9yICgodmFyKSA9IChoZWFkKTsgKHZhcikg
IT0gTlVMTDsgKHZhcikgPSAodmFyKS0+bmV4dCkKKworLyogdGFpbCAtPiBoZWFkIChyZXZlcnNl
KSAqLworI2RlZmluZSBVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSF9SKHZhciwgdGFpbCkJCQkJXAor
CWZvciAoKHZhcikgPSAodGFpbCk7ICh2YXIpICE9IE5VTEw7ICh2YXIpID0gKHZhciktPnByZXYp
CisKKy8qKgorICogUmV0cmlldmVzIHRoZSBsYXN0IGVsZW1lbnQgb2YgYSBuZXRidWYgY2hhaW4K
KyAqIEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0aGF0IGlzIHBhcnQgb2YgYSBjaGFpbgorICog
QHJldHVybnMKKyAqICAgTGFzdCB1a19uZXRidWYgb2YgdGhlIGNoYWluCisgKi8KKyNkZWZpbmUg
dWtfbmV0YnVmX2NoYWluX2xhc3QobSkJCQkJCQlcCisJKHsJCQkJCQkJCVwKKwkJc3RydWN0IHVr
X25ldGJ1ZiAqX19yZXQgPSBOVUxMOwkJCQlcCisJCXN0cnVjdCB1a19uZXRidWYgKl9faXRlcjsJ
CQkJXAorCQlVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSChfX2l0ZXIsIChtKSkJCQlcCisJCQlfX3Jl
dCA9IF9faXRlcjsJCQkJCVwKKwkJCQkJCQkJCVwKKwkJKF9fcmV0KTsJCQkJCQlcCisJfSkKKwor
LyoqCisgKiBSZXRyaWV2ZXMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSBuZXRidWYgY2hhaW4KKyAq
IEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0aGF0IGlzIHBhcnQgb2YgYSBjaGFpbgorICogQHJl
dHVybnMKKyAqICAgRmlyc3QgdWtfbmV0YnVmIG9mIHRoZSBjaGFpbgorICovCisjZGVmaW5lIHVr
X25ldGJ1Zl9jaGFpbl9maXJzdChtKQkJCQkJXAorCSh7CQkJCQkJCQlcCisJCXN0cnVjdCB1a19u
ZXRidWYgKl9fcmV0ID0gTlVMTDsJCQkJXAorCQlzdHJ1Y3QgdWtfbmV0YnVmICpfX2l0ZXI7CQkJ
CVwKKwkJVUtfTkVUQlVGX0NIQUlOX0ZPUkVBQ0hfUihfX2l0ZXIsIChtKSkJCQlcCisJCQlfX3Jl
dCA9IF9faXRlcjsJCQkJCVwKKwkJCQkJCQkJCVwKKwkJKF9fcmV0KTsJCQkJCQlcCisJfSkKKwog
I2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9u
ZXRidWYuYyBiL2xpYi91a25ldGRldi9uZXRidWYuYwppbmRleCA3MmMzNDliLi41YmMyMzEyIDEw
MDY0NAotLS0gYS9saWIvdWtuZXRkZXYvbmV0YnVmLmMKKysrIGIvbGliL3VrbmV0ZGV2L25ldGJ1
Zi5jCkBAIC0xODgsMyArMTg4LDU4IEBAIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9wcmVw
YXJlX2J1Zih2b2lkICptZW0sIHNpemVfdCBzaXplLAogCQkJICAgICBkdG9yKTsKIAlyZXR1cm4g
bTsKIH0KKworc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVr
X25ldGJ1ZiAqbSkKK3sKKwlzdHJ1Y3QgdWtfbmV0YnVmICpyZW1oZWFkID0gTlVMTDsKKworCVVL
X0FTU0VSVChtKTsKKworCS8qIEl0IGlzIHBvc3NpYmxlIHRoYXQgbSB3YXMgdGhlIGZpcnN0IGVs
ZW1lbnQgb2YgdGhlIGNoYWluLgorCSAqIEluIHN1Y2ggYSBjYXNlIHdlIHdhbnQgdG8gcmV0dXJu
IHRoZSBuZXh0IGVsZW1lbnQgb2YgbSBhcyB0aGUKKwkgKiByZW1haW5pbmcgaGVhZCBvZiB0aGUg
Y2hhaW4uIElmIHRoZXJlIGlzIG5vIG5leHQgZWxlbWVudAorCSAqIHRoZXJlIHdhcyBubyBjaGFp
bi4KKwkgKi8KKwlpZiAoIXJlbWhlYWQpCisJCXJlbWhlYWQgPSBtLT5uZXh0OworCisJLyogUmVj
b25uZWN0IHRoZSBjaGFpbnMgYmVmb3JlIGFuZCBhZnRlciBtLiAqLworCWlmIChtLT5wcmV2KQor
CQltLT5wcmV2LT5uZXh0ID0gbS0+bmV4dDsKKwlpZiAobS0+bmV4dCkKKwkJbS0+bmV4dC0+cHJl
diA9IG0tPnByZXY7CisKKwkvKiBEaXNjb25uZWN0IG0uICovCisJbS0+cHJldiA9IE5VTEw7CisJ
bS0+bmV4dCA9IE5VTEw7CisKKwlyZXR1cm4gcmVtaGVhZDsKK30KKworCit2b2lkIHVrX25ldGJ1
Zl9jb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKmhlYWR0YWlsLAorCQkgICAgICAgc3RydWN0IHVr
X25ldGJ1ZiAqdGFpbCkKK3sKKwlVS19BU1NFUlQoaGVhZHRhaWwpOworCVVLX0FTU0VSVCghaGVh
ZHRhaWwtPm5leHQpOworCVVLX0FTU0VSVCh0YWlsKTsKKwlVS19BU1NFUlQoIXRhaWwtPnByZXYp
OworCisJaGVhZHRhaWwtPm5leHQgPSB0YWlsOworCXRhaWwtPnByZXYgPSBoZWFkdGFpbDsKK30K
Kwordm9pZCB1a19uZXRidWZfYXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCisJCSAgICAg
IHN0cnVjdCB1a19uZXRidWYgKnRhaWwpCit7CisJc3RydWN0IHVrX25ldGJ1ZiAqaGVhZHRhaWw7
CisKKwlVS19BU1NFUlQoaGVhZCk7CisJVUtfQVNTRVJUKCFoZWFkLT5wcmV2KTsKKwlVS19BU1NF
UlQodGFpbCk7CisJVUtfQVNTRVJUKCF0YWlsLT5wcmV2KTsKKworCWhlYWR0YWlsID0gdWtfbmV0
YnVmX2NoYWluX2xhc3QoaGVhZCk7CisJaGVhZHRhaWwtPm5leHQgPSB0YWlsOworCXRhaWwtPnBy
ZXYgPSBoZWFkdGFpbDsKK30KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBF-0002X7-Sf; Wed, 10 Oct 2018 12:01:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBE-0002Wv-W7
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:33 +0000
X-Inumbo-ID: 67b30bdd-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 67b30bdd-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:02:48 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id E28A0F2025;
 Wed, 10 Oct 2018 14:01:29 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 9NwdD_09zB29; Wed, 10 Oct 2018 14:01:29 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id BB02DF2021
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:01:27 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:24 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:47 +0200
Message-ID: <1539172854-19138-5-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 04/11] lib/uknetdev: Netbuf
 refcounting and releasing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIHJlZmVyZW5jZSBjb3VudGluZyBhbmQgYnVmZmVyIHJlbGVhc2luZyB3aXRoIE5l
dGJ1ZnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KLS0tCiBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayAgICAgICB8ICAzICsrCiBsaWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCB8IDYwICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9uZXRidWYuYyAgICAgICAgICAgIHwgNTUg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEx
OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsg
Yi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awppbmRleCAzMTUzYTVkLi41OTFkNDZjIDEwMDY0
NAotLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtuZXRkZXYvZXhw
b3J0c3ltcy51awpAQCAtMiw2ICsyLDkgQEAgdWtfbmV0YnVmX2luaXRfaW5kaXIKIHVrX25ldGJ1
Zl9hbGxvY19pbmRpcgogdWtfbmV0YnVmX2FsbG9jX2J1ZgogdWtfbmV0YnVmX3ByZXBhcmVfYnVm
Cit1a19uZXRidWZfcmVmCit1a19uZXRidWZfZnJlZV9zaW5nbGUKK3VrX25ldGJ1Zl9mcmVlCiB1
a19uZXRidWZfZGlzY29ubmVjdAogdWtfbmV0YnVmX2Nvbm5lY3QKIHVrX25ldGJ1Zl9hcHBlbmQK
ZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIGIvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKaW5kZXggYzQ0OGM2YS4uNWIwOTA3YyAxMDA2NDQKLS0t
IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKKysrIGIvbGliL3VrbmV0ZGV2L2lu
Y2x1ZGUvdWsvbmV0YnVmLmgKQEAgLTI4Myw2ICsyODMsNDMgQEAgc3RydWN0IHVrX25ldGJ1ZiAq
dWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCiAJCQkJCXNpemVf
dCBwcml2bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpOwogCiAvKioKKyAqIEluY3JlYXNlIHJl
ZmVyZW5jZSBjb3VudCBvZiBhIG5ldGJ1ZiBpbmNsdWRpbmcgZWFjaCBzdWNjZXNzaXZlIG5ldGJ1
ZgorICogZWxlbWVudCBvZiBhIGNoYWluLiBOb3RlLCBwcmVjZWRpbmcgY2hhaW4gZWxlbWVudHMg
YXJlIG5vdCB2aXNpdGVkLgorICogQHBhcmFtIG0KKyAqICAgaGVhZCBvZiB0aGUgdWtfbmV0YnVm
IGNoYWluIHRvIGluY3JlYXNlIHJlZmNvdW50IG9mCisgKiBAcmV0dXJucworICogICBSZWZlcmVu
Y2UgdG8gbQorICovCitzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcmVmKHN0cnVjdCB1a19u
ZXRidWYgKm0pOworCisvKioKKyAqIEluY3JlYXNlIHJlZmVyZW5jZSBjb3VudCBvZiBhIHNpbmds
ZSBuZXRidWYgKGlycmVzcGVjdGl2ZSBvZiBhIGNoYWluKQorICogQHBhcmFtIG0KKyAqICAgdWtf
bmV0YnVmIHRvIGluY3JlYXNlIHJlZmNvdW50IG9mCisgKiBAcmV0dXJucworICogICBSZWZlcmVu
Y2UgdG8gbQorICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9y
ZWZfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCit7CisJVUtfQVNTRVJUKG0pOworCisJdWtf
cmVmY291bnRfYWNxdWlyZSgmbS0+cmVmY291bnQpOworCXJldHVybiBtOworfQorCisvKioKKyAq
IFJldHVybnMgdGhlIGN1cnJlbnQgcmVmZXJlbmNlIGNvdW50IG9mIGEgc2luZ2xlIG5ldGJ1Zgor
ICogQHBhcmFtIG0KKyAqICAgdWtfbmV0YnVmIHRvIHJldHVybiB0aGUgcmVmZXJlbmNlIGNvdW50
IG9mCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgdWtfbmV0YnVmX3JlZmNvdW50X3Npbmds
ZShzdHJ1Y3QgdWtfbmV0YnVmICptKQoreworCVVLX0FTU0VSVChtKTsKKworCXJldHVybiB1a19y
ZWZjb3VudF9yZWFkKCZtLT5yZWZjb3VudCk7Cit9CisKKy8qKgogICogQ29ubmVjdHMgdHdvIG5l
dGJ1ZiBjaGFpbnMKICAqIEBwYXJhbSBoZWFkdGFpbAogICogICBMYXN0IG5ldGJ1ZiBlbGVtZW50
IG9mIGNoYWluIHRoYXQgc2hvdWxkIGNvbWUgZmlyc3QuCkBAIC0zMTcsNiArMzU0LDI5IEBAIHZv
aWQgdWtfbmV0YnVmX2FwcGVuZChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkLAogICovCiBzdHJ1Y3Qg
dWtfbmV0YnVmICp1a19uZXRidWZfZGlzY29ubmVjdChzdHJ1Y3QgdWtfbmV0YnVmICptKTsKIAor
LyoqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlYWNoIGVsZW1lbnQgb2Yg
dGhlIGNoYWluLgorICogSWYgYSByZWZjb3VudCBiZWNvbWVzIDAsIHRoZSBuZXRidWYgaXMgZGlz
Y29ubmVjdGVkIGZyb20gaXRzIGNoYWluLAorICogaXRzIGRlc3RydWN0b3IgaXMgY2FsbGVkIGFu
ZCB0aGUgbWVtb3J5IGlzIGZyZWUnZCBhY2NvcmRpbmcgdG8gaXRzCisgKiBhbGxvY2F0aW9uLgor
ICogQHBhcmFtIG0KKyAqICAgaGVhZCBvZiB1a19uZXRidWYgY2hhaW4gdG8gcmVsZWFzZQorICog
QHJldHVybnMKKyAqICAgUmVmZXJlbmNlIHRvIG0KKyAqLwordm9pZCB1a19uZXRidWZfZnJlZShz
dHJ1Y3QgdWtfbmV0YnVmICptKTsKKworLyoqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmVyZW5jZSBj
b3VudCBvZiBhIHNpbmdsZSBuZXRidWYuIElmIHJlZmNvdW50IGJlY29tZXMgMCwKKyAqIHRoZSBu
ZXRidWYgaXMgZGlzY29ubmVjdGVkIGZyb20gaXRzIGNoYWluLCBpdHMgZGVzdHJ1Y3RvciBpcyBj
YWxsZWQgYW5kCisgKiB0aGUgbWVtb3J5IGlzIGZyZWUnZCBhY2NvcmRpbmcgdG8gaXRzIGFsbG9j
YXRpb24uCisgKiBAcGFyYW0gbQorICogICB1a19uZXRidWYgdG8gcmVsZWFzZQorICogQHJldHVy
bnMKKyAqICAgUmVmZXJlbmNlIHRvIG0KKyAqLwordm9pZCB1a19uZXRidWZfZnJlZV9zaW5nbGUo
c3RydWN0IHVrX25ldGJ1ZiAqbSk7CisKIC8qCiAgKiBJdGVyYXRvciBoZWxwZXJzIGZvciBuZXRi
dWYgY2hhaW5zCiAgKi8KZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRidWYuYyBiL2xpYi91
a25ldGRldi9uZXRidWYuYwppbmRleCA1YmMyMzEyLi5iNjI0MzY0IDEwMDY0NAotLS0gYS9saWIv
dWtuZXRkZXYvbmV0YnVmLmMKKysrIGIvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCkBAIC0xODksNiAr
MTg5LDE4IEBAIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9wcmVwYXJlX2J1Zih2b2lkICpt
ZW0sIHNpemVfdCBzaXplLAogCXJldHVybiBtOwogfQogCitzdHJ1Y3QgdWtfbmV0YnVmICp1a19u
ZXRidWZfcmVmKHN0cnVjdCB1a19uZXRidWYgKm0pCit7CisJc3RydWN0IHVrX25ldGJ1ZiAqaXRl
cjsKKworCVVLX0FTU0VSVChtKTsKKworCVVLX05FVEJVRl9DSEFJTl9GT1JFQUNIKGl0ZXIsIG0p
CisJCXVrX25ldGJ1Zl9yZWZfc2luZ2xlKGl0ZXIpOworCisJcmV0dXJuIG07Cit9CisKIHN0cnVj
dCB1a19uZXRidWYgKnVrX25ldGJ1Zl9kaXNjb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKm0pCiB7
CiAJc3RydWN0IHVrX25ldGJ1ZiAqcmVtaGVhZCA9IE5VTEw7CkBAIC0yNDMsMyArMjU1LDQ2IEBA
IHZvaWQgdWtfbmV0YnVmX2FwcGVuZChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkLAogCWhlYWR0YWls
LT5uZXh0ID0gdGFpbDsKIAl0YWlsLT5wcmV2ID0gaGVhZHRhaWw7CiB9CisKK3ZvaWQgdWtfbmV0
YnVmX2ZyZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCit7CisJc3RydWN0IHVrX2FsbG9j
ICphOworCisJVUtfQVNTRVJUKG0pOworCisJLyogRGVjcmVhc2UgcmVmY291bnQgYW5kIGNhbGwg
ZGVzdHJ1Y3RvciBhbmQgZnJlZSB1cCBtZW1vcnkKKwkgKiB3aGVuIGxhc3QgcmVmZXJlbmNlIHdh
cyByZWxlYXNlZC4KKwkgKi8KKwlpZiAodWtfcmVmY291bnRfcmVsZWFzZSgmbS0+cmVmY291bnQp
ID09IDEpIHsKKwkJLyogRGlzY29ubmVjdCB0aGlzIG5ldGJ1ZiBmcm9tIHRoZSBjaGFpbi4gKi8K
KwkJdWtfbmV0YnVmX2Rpc2Nvbm5lY3QobSk7CisKKwkJLyogQ29weSB0aGUgcmVmZXJlbmNlIG9m
IHRoZSBhbGxvY2F0b3IgaW4gY2FzZQorCQkgKiB0aGUgZGVzdHJ1Y3RvciBpcyBmcmVlJ2luZyB1
cCBvdXIgbWVtb3J5CisJCSAqIChlLmcuLCB1a19uZXRidWZfaW5pdF9pbmRpcigpIHVzZWQpLgor
CQkgKiBJbiBzdWNoIGEgY2FzZSBgYWAgc2hvdWxkIGJlIChOVUxMKSwgaG93ZXZlcgorCQkgKiB3
ZSBuZWVkIHRvIGFjY2VzcyBpdCBmb3IgYSAgY2hlY2sgYWZ0ZXIgd2UgaGF2ZQorCQkgKiBjYWxs
ZWQgdGhlIGRlc3RydWN0b3IuCisJCSAqLworCQlhID0gbS0+X2E7CisKKwkJaWYgKG0tPmR0b3Ip
CisJCQltLT5kdG9yKG0pOworCQlpZiAoYSkKKwkJCXVrX2ZyZWUoYSwgbSk7CisJfQorfQorCit2
b2lkIHVrX25ldGJ1Zl9mcmVlKHN0cnVjdCB1a19uZXRidWYgKm0pCit7CisJc3RydWN0IHVrX25l
dGJ1ZiAqbjsKKworCVVLX0FTU0VSVChtKTsKKwlVS19BU1NFUlQoIW0tPnByZXYpOworCisJd2hp
bGUgKG0gIT0gTlVMTCkgeworCQluID0gbS0+bmV4dDsKKwkJdWtfbmV0YnVmX2ZyZWVfc2luZ2xl
KG0pOworCQltID0gbjsKKwl9Cit9Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:35 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBG-0002Xb-V4; Wed, 10 Oct 2018 12:01:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBG-0002XN-6K
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:34 +0000
X-Inumbo-ID: 69183989-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 69183989-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:02:51 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 478841039B3;
 Wed, 10 Oct 2018 14:01:32 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YcWgzglGXZJA; Wed, 10 Oct 2018 14:01:32 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 29D0C101BA1
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:01:30 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:29 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:48 +0200
Message-ID: <1539172854-19138-6-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 05/11] lib/uknetdev: Netbuf
 headroom and tailroom helpers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIGhlbHBlcnMgZm9yIGNhbGN1bGF0aW5nIGF2YWlsYWJsZSBoZWFkcm9vbSBhbmQg
dGFpbHJvb20gb24gYQpOZXRidWYncyBkYXRhIGJ1ZmZlci4gQSBoZWFkZXIgbWFuaXB1bGF0aW9u
IGZ1bmN0aW9uIGlzIGFkZGVkIHRvCnNpbXBsaWZ5IHByZXBlbmRpbmcgYnl0ZXMgdG8gdGhlIHBh
Y2tldCBkYXRhIG9yIGNsYWltaW5nIGJ5dGVzIGJhY2sgdG8KdGhlIGhlYWRyb29tLgoKU2lnbmVk
LW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQogbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmggfCA4NiArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKQoKZGlm
ZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIGIvbGliL3VrbmV0ZGV2
L2luY2x1ZGUvdWsvbmV0YnVmLmgKaW5kZXggNWIwOTA3Yy4uMGY4ZjZhMyAxMDA2NDQKLS0tIGEv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1
ZGUvdWsvbmV0YnVmLmgKQEAgLTMwOCw2ICszMDgsMTggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3Qg
dWtfbmV0YnVmICp1a19uZXRidWZfcmVmX3NpbmdsZShzdHJ1Y3QgdWtfbmV0YnVmICptKQogfQog
CiAvKioKKyAqIFJldHVybnMgdGhlIHJlZmVyZW5jZSB0byBwcml2YXRlIGRhdGEgb2YgYSBuZXRi
dWYKKyAqIEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0byByZXR1cm4gcHJpdmF0ZSBkYXRhIG9m
CisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCAqdWtfbmV0YnVmX2dldF9wcml2KHN0cnVjdCB1a19u
ZXRidWYgKm0pCit7CisJVUtfQVNTRVJUKG0pOworCisJcmV0dXJuIChtKS0+cHJpdjsKK30KKwor
LyoqCiAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJlZmVyZW5jZSBjb3VudCBvZiBhIHNpbmdsZSBu
ZXRidWYKICAqIEBwYXJhbSBtCiAgKiAgIHVrX25ldGJ1ZiB0byByZXR1cm4gdGhlIHJlZmVyZW5j
ZSBjb3VudCBvZgpAQCAtNDIyLDYgKzQzNCw4MCBAQCB2b2lkIHVrX25ldGJ1Zl9mcmVlX3Npbmds
ZShzdHJ1Y3QgdWtfbmV0YnVmICptKTsKIAkJKF9fcmV0KTsJCQkJCQlcCiAJfSkKIAorLyoqCisg
KiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IGF2YWlsYWJsZSBoZWFkcm9vbSBieXRlcyBvZiBhIG5l
dGJ1ZgorICogQHBhcmFtIG0KKyAqICAgdWtfbmV0YnVmIHRvIHJldHVybiBoZWFkcm9vbSBieXRl
cyBvZgorICogQHJldHVybnMKKyAqICAgYXZhaWxhYmxlIGhlYWRyb29tIGJ5dGVzCisgKi8KK3N0
YXRpYyBpbmxpbmUgc2l6ZV90IHVrX25ldGJ1Zl9oZWFkcm9vbShzdHJ1Y3QgdWtfbmV0YnVmICpt
KQoreworCVVLX0FTU0VSVChtKTsKKwlVS19BU1NFUlQobS0+YnVmKTsKKwlVS19BU1NFUlQobS0+
ZGF0YSk7CisKKwlyZXR1cm4gKHNpemVfdCkgKCh1aW50cHRyX3QpIChtKS0+ZGF0YSAtICh1aW50
cHRyX3QpIChtKS0+YnVmKTsKK30KKworLyoqCisgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IGF2
YWlsYWJsZSB0YWlscm9vbSBieXRlcyBvZiBhIG5ldGJ1ZgorICogQHBhcmFtIG0KKyAqICAgdWtf
bmV0YnVmIHRvIHJldHVybiB0YWlscm9vbSBieXRlcyBvZgorICogQHJldHVybnMKKyAqICAgYXZh
aWxhYmxlIHRhaWxyb29tIGJ5dGVzCisgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IHVrX25ldGJ1
Zl90YWlscm9vbShzdHJ1Y3QgdWtfbmV0YnVmICptKQoreworCVVLX0FTU0VSVChtKTsKKwlVS19B
U1NFUlQobS0+YnVmKTsKKwlVS19BU1NFUlQobS0+ZGF0YSk7CisKKwlyZXR1cm4gKChzaXplX3Qp
ICgoKHVpbnRwdHJfdCkgKG0pLT5idWYgKyAodWludHB0cl90KSAobSktPmJ1ZmxlbikKKwkJCSAg
LSAoKHVpbnRwdHJfdCkgKG0pLT5kYXRhICsgKHVpbnRwdHJfdCkgKG0pLT5sZW4pKSk7Cit9CisK
Ky8qKgorICogUHJlcGVuZHMgKG9yIHJldHVybnMpIGJ5dGVzIGZyb20gdGhlIGhlYWRyb29tIChi
YWNrKSB0byB0aGUgZGF0YSBhcmVhLgorICogSXQgYmFzaWNhbGx5IG1vdmVzIG0tPmRhdGEuCisg
KiBAcGFyYW0gaGVhZAorICogICB1a19uZXRidWYgdG8gbW9kaWZ5IChoYXMgdG8gYmUgdGhlIGZp
cnN0IG5ldGJ1ZiBvZiBhIGNoYWluKQorICogQHBhcmFtIGxlbgorICogICBJZiA+IDAgdGFrZXMg
Ynl0ZXMgZnJvbSB0aGUgaGVhZHJvb20gYW5kIHByZXBlbmRzIHRoZW0gdG8gZGF0YQorICogICBJ
ZiA8IDAgcmVsZWFzZXMgdGhlIC1sZW4gZmlyc3QgYnl0ZXMgZnJvbSBkYXRhIHRvIGhlYWRyb29t
CisgKiBAcmV0dXJucworICogICAtICgtRU5PU1BDKTogT3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBw
ZXJmb3JtIHdpdGhpbiBidWZmZXIgYm91bmRzCisgKiAgIC0gKC1FRkFVTFQpOiBPcGVyYXRpb24g
Y291bGQgbm90IGJlIHBlcmZvcm1lZCBiZWNhdXNlIGRhdGEgd291bGQgZ2V0ID4gNjRrQgorICog
ICAtICgxKTogbmV0YnVmIHN1Y2Nlc3NmdWxseSBtb2RpZmllZAorICovCitzdGF0aWMgaW5saW5l
IGludCB1a19uZXRidWZfaGVhZGVyKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsIGludDE2X3QgbGVu
KQoreworCVVLX0FTU0VSVChoZWFkKTsKKwlVS19BU1NFUlQoaGVhZC0+YnVmKTsKKwlVS19BU1NF
UlQoaGVhZC0+ZGF0YSk7CisKKwkvKiBtIGhhcyB0byBiZSB0aGUgZmlyc3QgZWxlbWVudCBvZiBh
IG5ldGJ1ZiBjaGFpbi4gKi8KKwlVS19BU1NFUlQoaGVhZC0+cHJldiA9PSBOVUxMKTsKKworCS8q
IElmIGxlbiA+IDAsIHdlIHRha2UgYnl0ZXMgZnJvbSB0aGUgaGVhZHJvb20gYW5kIGFkZAorCSAq
IHRoZW0gdG8gZGF0YS4gV2UgYXJlIGxpbWl0ZWQgdG8gdGhlIGF2YWlsYWJsZSBoZWFkcm9vbSBz
aXplLgorCSAqIElmIGxlbiA8IDAsIHdlIHJldHVybiBieXRlcyBiYWNrIHRvIHRoZSBoZWFkcm9v
bS4KKwkgKiBXZSBhcmUgbGltaXRlZCB0byB0aGUgYXZhaWxhYmxlIGRhdGEgbGVuZ3RoLgorCSAq
LworCWlmICh1bmxpa2VseSgobGVuID4gKHNzaXplX3QpIHVrX25ldGJ1Zl9oZWFkcm9vbShoZWFk
KSkKKwkJICAgICB8fCAoLWxlbiA+IGhlYWQtPmxlbikpKQorCQlyZXR1cm4gLUVOT1NQQzsKKwor
CS8qIFdlIHNob3VsZCBuZXZlciBtYWtlIHRoZSBwYWNrZXQgYmlnZ2VyIHRoYW4gNjRrQiAqLwor
CWlmICh1bmxpa2VseSgoaW50MzJfdCkgbGVuICsgKGludDMyX3QpIGhlYWQtPmxlbgorCQkgICAg
ID4gKGludDMyX3QpIFVJTlQxNl9NQVgpKQorCQlyZXR1cm4gLUVGQVVMVDsKKworCWhlYWQtPmRh
dGEgICAtPSBsZW47CisJaGVhZC0+bGVuICAgICs9IGxlbjsKKwlyZXR1cm4gMTsKK30KKwogI2lm
ZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:40 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBM-0002Yg-1C; Wed, 10 Oct 2018 12:01:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBL-0002YS-AH
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:39 +0000
X-Inumbo-ID: 6bbedf1f-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6bbedf1f-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:02:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 9F954F2025;
 Wed, 10 Oct 2018 14:01:36 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id V6Z7vOUKb65g; Wed, 10 Oct 2018 14:01:36 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 7043EF2021;
 Wed, 10 Oct 2018 14:01:32 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:32 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:49 +0200
Message-ID: <1539172854-19138-7-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 06/11] lib/uknetdev: Netdev
 registration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgaW5pdGlhbCBuZXRkZXYgQVBJIHN1cHBvcnRpbmcgZGV2aWNlIHJlZ2lzdHJhdGlvbi4g
V2UKaW50cm9kdWNlIHRocmVlIGhlYWRlciBmaWxlcyBhcmUgaW50cm9kdWNlZCBmb3IgZGVzY3Jp
YmluZyBVbmlrcmFmdCdzCm5ldGRldiBBUEk6CiAgdWsvbmV0ZGV2X2NvcmUuaCAtIENvcmUgZGF0
YSB0eXBlIGRlZmluaXRpb25zCiAgdWsvbmV0ZGV2X2RyaXZlci5oIC0gQVBJIGZvciBkcml2ZXJz
CiAgdWsvbmV0ZGV2LmggLSBBUEkgZm9yIG5ldHdvcmsgYXBwbGljYXRpb25zIGFuZCBzdGFja3MK
ClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgpT
aWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNv
bT4KLS0tCiBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgfCAgIDEgKwog
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgIHwgICA2ICsrCiBsaWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oICAgfCAx
MDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9u
ZXRkZXZfZHJpdmVyLmggfCAgNzQgKysrKysrKysrKysrKysrKysrKwogbGliL3VrbmV0ZGV2L25l
dGRldi5jICAgICAgICAgICAgICAgICAgIHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDQyNyBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCiBjcmVhdGUgbW9kZSAxMDA2
NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L25ldGRldi5jCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L01h
a2VmaWxlLnVrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCmluZGV4IDgxYWZhZTQuLmNhMDhi
MjUgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9NYWtlZmlsZS51aworKysgYi9saWIvdWtuZXRk
ZXYvTWFrZWZpbGUudWsKQEAgLTQsMyArNCw0IEBAIENJTkNMVURFUy0kKENPTkZJR19MSUJVS05F
VERFVikJCSs9IC1JJChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCiBDWFhJTkNMVURFUy0kKENP
TkZJR19MSUJVS05FVERFVikJKz0gLUkkKExJQlVLTkVUREVWX0JBU0UpL2luY2x1ZGUKIAogTElC
VUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFTRSkvbmV0YnVmLmMKK0xJQlVLTkVU
REVWX1NSQ1MteSArPSAkKExJQlVLTkVUREVWX0JBU0UpL25ldGRldi5jCmRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCmlu
ZGV4IDU5MWQ0NmMuLjY2MzQwYzUgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1z
LnVrCisrKyBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCkBAIC04LDMgKzgsOSBAQCB1a19u
ZXRidWZfZnJlZQogdWtfbmV0YnVmX2Rpc2Nvbm5lY3QKIHVrX25ldGJ1Zl9jb25uZWN0CiB1a19u
ZXRidWZfYXBwZW5kCit1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyCit1a19uZXRkZXZfY291bnQKK3Vr
X25ldGRldl9nZXQKK3VrX25ldGRldl9pZF9nZXQKK3VrX25ldGRldl9kcnZfbmFtZV9nZXQKK3Vr
X25ldGRldl9zdGF0ZV9nZXQKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldi5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWZkNDVjOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0wLDAgKzEsMTE3IEBACisvKiBTUERYLUxpY2Vu
c2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2ltb24gS3Vl
bnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CisgKiAgICAgICAgICBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw
MTAtMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVy
b3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisg
KiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgor
ICovCisvKiBUYWtlbiBhbmQgYWRhcHRlZCBmcm9tIERQREsgcnRlX2V0aGRldi5oICovCisjaWZu
ZGVmIF9fVUtfTkVUREVWX18KKyNkZWZpbmUgX19VS19ORVRERVZfXworCisjaW5jbHVkZSA8dWsv
bmV0ZGV2X2NvcmUuaD4KKyNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KKyNpbmNsdWRlIDx1ay9lcnJw
dHIuaD4KKworLyoqCisgKiBVbmlrcmFmdCBOZXR3b3JrIEFQSQorICoKKyAqIFRoZSBVbmlrcmFm
dCBuZXRkZXYgQVBJIHByb3ZpZGVzIGEgZ2VuZXJhbGl6ZWQgaW50ZXJmYWNlIGJldHdlZW4gbmV0
d29yaworICogZGV2aWNlIGRyaXZlcnMgYW5kIG5ldHdvcmsgc3RhY2sgaW1wbGVtZW50YXRpb25z
IG9yIGxvdy1sZXZlbCBuZXR3b3JrCisgKiBhcHBsaWNhdGlvbnMuCisgKgorICogTW9zdCBBUEkg
aW50ZXJmYWNlcyB0YWtlIGFzIHBhcmFtZXRlciBhIHJlZmVyZW5jZSB0byB0aGUgY29ycmVzcG9u
ZGluZworICogVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgKHN0cnVjdCB1a19uZXRkZXYpIHdoaWNo
IGNhbiBiZSBpbml0aWFsbHkgb2J0YWluZWQKKyAqIGJ5IGl0cyBJRCBieSBjYWxsaW5nIHVrX25l
dGRldl9nZXQoKS4gVGhlIG5ldHdvcmsgYXBwbGljYXRpb24gc2hvdWxkIHN0b3JlCisgKiB0aGlz
IHJlZmVyZW5jZSBhbmQgdXNlIGl0IGZvciBzdWJzZXF1ZW50IEFQSSBjYWxscy4KKyAqLworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKioKKyAqIEdldCB0aGUg
bnVtYmVyIG9mIHJlZ2lzdGVyZWQgbmV0d29yayBkZXZpY2VzLgorICoKKyAqIEByZXR1cm4KKyAq
ICAgLSAodW5zaWduZWQgaW50KTogbnVtYmVyIG9mIG5ldHdvcmsgZGV2aWNlcy4KKyAqLwordW5z
aWduZWQgaW50IHVrX25ldGRldl9jb3VudCh2b2lkKTsKKworLyoqCisgKiBHZXQgdGhlIHJlZmVy
ZW5jZSB0byBhIG5ldHdvcmsgZGV2aWNlIGJhc2VkIG9uIGl0cyBJRC4KKyAqIFZhbGlkIElEcyBh
cmUgaW4gdGhlIHJhbmdlIG9mIDAgdG8gKG4tMSkgd2hlcmUgbiBpcworICogdGhlIG51bWJlciBv
ZiBhdmFpbGFibGUgbmV0d29yayBkZXZpY2VzLgorICoKKyAqIEBwYXJhbSBpZAorICogICBUaGUg
aWRlbnRpZmllciBvZiB0aGUgbmV0d29yayBkZXZpY2UgdG8gY29uZmlndXJlLgorICogQHJldHVy
bgorICogICAtIChOVUxMKTogZGV2aWNlIG5vdCBhdmFpbGFibGUKKyAqICAgLSAoc3RydWN0IHVr
X25ldGRldiAqKTogcmVmZXJlbmNlIHRvIG5ldHdvcmsgZGV2aWNlCisgKi8KK3N0cnVjdCB1a19u
ZXRkZXYgKnVrX25ldGRldl9nZXQodW5zaWduZWQgaW50IGlkKTsKKworLyoqCisgKiBSZXR1cm5z
IHRoZSBpZCBvZiBhIG5ldHdvcmsgZGV2aWNlCisgKgorICogQHBhcmFtIGRldgorICogICBUaGUg
VW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisgKiBAcmV0dXJuCisgKiAgIC0gKD49MCk6IERldmlj
ZSBJRAorICovCit1aW50MTZfdCB1a19uZXRkZXZfaWRfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRl
dik7CisKKy8qKgorICogUmV0dXJucyB0aGUgZHJpdmVyIG5hbWUgb2YgYSBuZXR3b3JrIGRldmlj
ZS4KKyAqIFRoZSBuYW1lIG1pZ2h0IGJlIHNldCB0byBOVUxMCisgKgorICogQHBhcmFtIGRldgor
ICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisgKiBAcmV0dXJuCisgKiAgIC0gKE5V
TEwpOiBpZiBubyBuYW1lIGlzIGRlZmluZWQuCisgKiAgIC0gKGNvbnN0IGNoYXIgKik6IFJlZmVy
ZW5jZSB0byBzdHJpbmcgaWYgbmFtZSBpcyBhdmFpbGFibGUuCisgKi8KK2NvbnN0IGNoYXIgKnVr
X25ldGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoqCisgKiBS
ZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgbmV0d29yayBkZXZpY2UuCisgKgorICogQHBh
cmFtIGRldgorICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisgKiBAcmV0dXJuCisg
KiAgIC0gKGVudW0gdWtfbmV0ZGV2X3N0YXRlKTogY3VycmVudCBkZXZpY2Ugc3RhdGUKKyAqLwor
ZW51bSB1a19uZXRkZXZfc3RhdGUgdWtfbmV0ZGV2X3N0YXRlX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19V
S19ORVRERVZfXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVjNDQxZQotLS0gL2Rldi9udWxsCisrKyBiL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKQEAgLTAsMCArMSwxMDUgQEAKKy8q
IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3Jz
OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KKyAqICAgICAgICAgIFJh
enZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgorICoKKyAqIENvcHly
aWdodCAoYykgMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBO
RUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVy
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
CisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkg
V0FZLgorICovCisvKiBUYWtlbiBhbmQgYWRhcHRlZCBmcm9tIERQREsgcnRlX2V0aGRldl9jb3Jl
LmggKi8KKyNpZm5kZWYgX19VS19ORVRERVZfQ09SRV9fCisjZGVmaW5lIF9fVUtfTkVUREVWX0NP
UkVfXworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5j
bHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KKyNpbmNsdWRlIDx1ay9uZXRi
dWYuaD4KKyNpbmNsdWRlIDx1ay9saXN0Lmg+CisjaW5jbHVkZSA8dWsvYWxsb2MuaD4KKyNpbmNs
dWRlIDx1ay9lc3NlbnRpYWxzLmg+CisKKy8qKgorICogVW5pa3JhZnQgbmV0d29yayBBUEkgY29t
bW9uIGRlY2xhcmF0aW9ucy4KKyAqCisgKiBUaGlzIGhlYWRlciBjb250YWlucyBhbGwgQVBJIGRh
dGEgdHlwZXMuIFNvbWUgb2YgdGhlbSBhcmUgcGFydCBvZiB0aGUKKyAqIHB1YmxpYyBBUEkgYW5k
IHNvbWUgYXJlIHBhcnQgb2YgdGhlIGludGVybmFsIEFQSS4KKyAqCisgKiBUaGUgZGV2aWNlIGRh
dGEgYW5kIG9wZXJhdGlvbnMgYXJlIHNlcGFyYXRlZC4gVGhpcyBzcGxpdCBhbGxvd3MgdGhlCisg
KiBmdW5jdGlvbiBwb2ludGVyIGFuZCBkcml2ZXIgZGF0YSB0byBiZSBwZXItcHJvY2Vzcywgd2hp
bGUgdGhlIGFjdHVhbAorICogY29uZmlndXJhdGlvbiBkYXRhIGZvciB0aGUgZGV2aWNlIGlzIHNo
YXJlZC4KKyAqLworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisK
K3N0cnVjdCB1a19uZXRkZXY7CitVS19UQUlMUV9IRUFEKHVrX25ldGRldl9saXN0LCBzdHJ1Y3Qg
dWtfbmV0ZGV2KTsKKworCisvKioKKyAqIEVudW0gdG8gZGVzY3JpYmUgcG9zc2libGUgc3RhdGVz
IG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgorICovCitlbnVtIHVrX25ldGRldl9zdGF0
ZSB7CisJVUtfTkVUREVWX1VOUkVHSVNURVJFRCA9IDAsCisJVUtfTkVUREVWX1VOQ09ORklHVVJF
RCwKKwlVS19ORVRERVZfQ09ORklHVVJFRCwKKwlVS19ORVRERVZfUlVOTklORywKK307CisKKwor
LyoqCisgKiBAaW50ZXJuYWwKKyAqIGxpYnVrbmV0ZGV2IGludGVybmFsIGRhdGEgYXNzb2NpYXRl
ZCB3aXRoIGVhY2ggbmV0d29yayBkZXZpY2UuCisgKi8KK3N0cnVjdCB1a19uZXRkZXZfZGF0YSB7
CisJZW51bSB1a19uZXRkZXZfc3RhdGUgc3RhdGU7CisKKwljb25zdCB1aW50MTZfdCAgICAgICBp
ZDsgICAgLyoqPCBJRCBpcyBhc3NpZ25lZCBkdXJpbmcgcmVnaXN0cmF0aW9uICovCisJY29uc3Qg
Y2hhciAgICAgICAgICAgKmRydl9uYW1lOworfTsKKworLyoqCisgKiBORVRERVYKKyAqIEEgc3Ry
dWN0dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsgZGV2aWNlLgorICovCitzdHJ1
Y3QgdWtfbmV0ZGV2IHsKKwkvKiogUG9pbnRlciB0byBBUEktaW50ZXJuYWwgc3RhdGUgZGF0YS4g
Ki8KKwlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgICAgICAgKl9kYXRhOworCisJVUtfVEFJTFFfRU5U
Ulkoc3RydWN0IHVrX25ldGRldikgX2xpc3Q7Cit9OworCisjaWZkZWYgX19jcGx1c3BsdXMKK30K
KyNlbmRpZgorCisjZW5kaWYgLyogX19VS19ORVRERVZfQ09SRV9fICovCmRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmggYi9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYWM4Y2U2MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9kcml2ZXIuaApAQCAtMCwwICsxLDc0IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll
cjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2ltb24gS3VlbnplciA8c2ltb24u
a3VlbnplckBuZWNsYWIuZXU+CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3Bl
IEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1Ig
Q09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElT
IEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICov
CisjaWZuZGVmIF9fVUtfTkVUREVWX0RSSVZFUl9fCisjZGVmaW5lIF9fVUtfTkVUREVWX0RSSVZF
Ul9fCisKKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgorI2luY2x1ZGUgPHVrL2Fzc2VydC5o
PgorCisvKioKKyAqIFVuaWtyYWZ0IG5ldHdvcmsgZHJpdmVyIEFQSS4KKyAqCisgKiBUaGlzIGhl
YWRlciBjb250YWlucyBhbGwgQVBJIGZ1bmN0aW9ucyB0aGF0IGFyZSBzdXBwb3NlZCB0byBiZSBj
YWxsZWQKKyAqIGJ5IGEgbmV0d29yayBkZXZpY2UgZHJpdmVyLgorICovCisKKyNpZmRlZiBfX2Nw
bHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisgKiBBZGRzIGEgVW5pa3JhZnQg
bmV0d29yayBkZXZpY2UgdG8gdGhlIGRldmljZSBsaXN0LgorICogVGhpcyBzaG91bGQgYmUgY2Fs
bGVkIHdoZW5ldmVyIGEgZHJpdmVyIGFkZHMgYSBuZXcgZm91bmQgZGV2aWNlLgorICoKKyAqIEBw
YXJhbSBkZXYKKyAqICAgU3RydWN0IHRvIHVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlIHRoYXQgc2hh
bGwgYmUgcmVnaXN0ZXJlZAorICogQHBhcmFtIGEKKyAqICAgQWxsb2NhdG9yIHRvIGJlIHVzZSBm
b3IgbGlidWtuZXRkZXYgcHJpdmF0ZSBkYXRhIChkZXYtPl9kYXRhKQorICogQHBhcmFtIGRydl9u
YW1lCisgKiAgIChPcHRpb25hbCkgZHJpdmVyIG5hbWUKKyAqICAgVGhlIG1lbW9yeSBmb3IgdGhp
cyBzdHJpbmcgaGFzIHRvIHN0YXkgYXZhaWxhYmxlIGFzIGxvbmcgYXMgdGhlCisgKiAgIGRldmlj
ZSBpcyByZWdpc3RlcmVkLgorICogQHJldHVybgorICogICAtICgtRU5PTUVNKTogQWxsb2NhdGlv
biBvZiBwcml2YXRlCisgKiAgIC0gKD4wKTogTmV0d29yayBkZXZpY2UgSUQgb24gc3VjY2Vzcwor
ICovCitpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0
cnVjdCB1a19hbGxvYyAqYSwKKwkJCSAgIGNvbnN0IGNoYXIgKmRydl9uYW1lKTsKKworI2lmZGVm
IF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fVUtfTkVUREVWX0RSSVZFUl9f
ICovCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0
ZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWI4YWE0ZAotLS0gL2Rl
di9udWxsCisrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwpAQCAtMCwwICsxLDEyNCBAQAorLyog
U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgorICogICAgICAgICAgUmF6
dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CisgKgorICogQ29weXJp
Z2h0IChjKSAyMDE3LTIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLgorICog
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1l
IG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJB
Q1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICovCisjaW5jbHVkZSA8c3RyaW5nLmg+Cisj
aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1ay9uZXRkZXYuaD4KKyNpbmNsdWRlIDx1ay9w
cmludC5oPgorCitzdHJ1Y3QgdWtfbmV0ZGV2X2xpc3QgdWtfbmV0ZGV2X2xpc3QgPQorCVVLX1RB
SUxRX0hFQURfSU5JVElBTElaRVIodWtfbmV0ZGV2X2xpc3QpOworc3RhdGljIHVpbnQxNl90IG5l
dGRldl9jb3VudDsKKworc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfZGF0YSAqX2FsbG9jX2RhdGEo
c3RydWN0IHVrX2FsbG9jICphLAorCQkJCQkgIHVpbnQxNl90IG5ldGRldl9pZCwKKwkJCQkJICBj
b25zdCBjaGFyICpkcnZfbmFtZSkKK3sKKwlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgKmRhdGE7CisK
KwlkYXRhID0gdWtfbWFsbG9jKGEsIHNpemVvZigqZGF0YSkpOworCWlmICghZGF0YSkKKwkJcmV0
dXJuIE5VTEw7CisKKwlkYXRhLT5kcnZfbmFtZSA9IGRydl9uYW1lOworCWRhdGEtPnN0YXRlICAg
ID0gVUtfTkVUREVWX1VOQ09ORklHVVJFRDsKKworCS8qIFRoaXMgaXMgdGhlIG9ubHkgcGxhY2Ug
d2hlcmUgd2Ugc2V0IHRoZSBkZXZpY2UgSUQ7CisJICogZHVyaW5nIHRoZSByZXN0IG9mIHRoZSBk
ZXZpY2UncyBsaWZlIHRpbWUgdGhpcyBJRCBpcyByZWFkLW9ubHkKKwkgKi8KKwkqKERFQ09OU1Qo
dWludDE2X3QgKiwgJmRhdGEtPmlkKSkgPSBuZXRkZXZfaWQ7CisKKwlyZXR1cm4gZGF0YTsKK30K
KworaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1
Y3QgdWtfYWxsb2MgKmEsCisJCQkgICBjb25zdCBjaGFyICpkcnZfbmFtZSkKK3sKKwlVS19BU1NF
UlQoZGV2KTsKKwlVS19BU1NFUlQoIWRldi0+X2RhdGEpOworCisJZGV2LT5fZGF0YSA9IF9hbGxv
Y19kYXRhKGEsIG5ldGRldl9jb3VudCwgIGRydl9uYW1lKTsKKwlpZiAoIWRldi0+X2RhdGEpCisJ
CXJldHVybiAtRU5PTUVNOworCisJVUtfVEFJTFFfSU5TRVJUX1RBSUwoJnVrX25ldGRldl9saXN0
LCBkZXYsIF9saXN0KTsKKwl1a19wcl9pbmZvKCJSZWdpc3RlcmVkIG5ldGRldiUiUFJJdTE2Ijog
JXAgKCVzKVxuIiwKKwkJICAgbmV0ZGV2X2NvdW50LCBkZXYsIGRydl9uYW1lKTsKKworCXJldHVy
biBuZXRkZXZfY291bnQrKzsKK30KKwordW5zaWduZWQgaW50IHVrX25ldGRldl9jb3VudCh2b2lk
KQoreworCXJldHVybiAodW5zaWduZWQgaW50KSBuZXRkZXZfY291bnQ7Cit9CisKK3N0cnVjdCB1
a19uZXRkZXYgKnVrX25ldGRldl9nZXQodW5zaWduZWQgaW50IGlkKQoreworCXN0cnVjdCB1a19u
ZXRkZXYgKmRldjsKKworCVVLX1RBSUxRX0ZPUkVBQ0goZGV2LCAmdWtfbmV0ZGV2X2xpc3QsIF9s
aXN0KSB7CisJCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKworCQlpZiAoZGV2LT5fZGF0YS0+aWQg
PT0gaWQpCisJCQlyZXR1cm4gZGV2OworCX0KKwlyZXR1cm4gTlVMTDsKK30KKwordWludDE2X3Qg
dWtfbmV0ZGV2X2lkX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCit7CisJVUtfQVNTRVJUKGRl
dik7CisJVUtfQVNTRVJUKGRldi0+X2RhdGEpOworCisJcmV0dXJuIGRldi0+X2RhdGEtPmlkOwor
fQorCitjb25zdCBjaGFyICp1a19uZXRkZXZfZHJ2X25hbWVfZ2V0KHN0cnVjdCB1a19uZXRkZXYg
KmRldikKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisKKwly
ZXR1cm4gZGV2LT5fZGF0YS0+ZHJ2X25hbWU7Cit9CisKK2VudW0gdWtfbmV0ZGV2X3N0YXRlIHVr
X25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQoreworCVVLX0FTU0VSVChk
ZXYpOworCisJaWYgKCFkZXYtPl9kYXRhKQorCQlyZXR1cm4gVUtfTkVUREVWX1VOUkVHSVNURVJF
RDsKKwlyZXR1cm4gZGV2LT5fZGF0YS0+c3RhdGU7Cit9Ci0tIAoyLjcuNAoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:01:59 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:01:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADBf-0002aL-5J; Wed, 10 Oct 2018 12:01:59 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADBe-0002aG-9V
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:01:58 +0000
X-Inumbo-ID: 76be183d-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 76be183d-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:03:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 2B4351039DD;
 Wed, 10 Oct 2018 14:01:41 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0s-7Rkb3F7S6; Wed, 10 Oct 2018 14:01:41 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 02A3D1039B3;
 Wed, 10 Oct 2018 14:01:37 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:36 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:50 +0200
Message-ID: <1539172854-19138-8-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 07/11] lib/uknetdev: Netdev
 initialization
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgYSAnRFBESyBSVEUgRXRoZXJuZXQnIGluc3BpcmVkIEFQSSBmb3IgaW5pdGlhbGl6aW5n
IGEKVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuIFRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25lIGlu
IHRoZSBmb2xsb3dpbmcKb3JkZXI6ICgxKSBDb25maWd1cmUgbWFpbiBhc3BlY3RzIG9mIGRldmlj
ZSAoZS5nLiwgbnVtYmVyIG9mCnF1ZXVlcyksICgyKSBjb25maWd1cmUgZWFjaCB0cmFuc21pdCBh
bmQgcmVjZWl2ZSBxdWV1ZSwgYW5kICgzKSBzdGFydAp0aGUgZGV2aWNlLiBXZSBhbHNvIGludHJv
ZHVjZSBhbiBpbnRlcmZhY2UgZm9yIHF1ZXJ5aW5nIHRoZSB1bmRlcmx5aW5nCmRldmljZSBjYXBh
YmlsaXRpZXMgZm9yIGVhY2ggY29uZmlndXJhdGlvbiBzdGVwLgoKU2lnbmVkLW9mZi1ieTogU2lt
b24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZh
biBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgotLS0KIGxpYi91a25ldGRl
di9Db25maWcudWsgICAgICAgICAgICAgICAgfCAgMjggKysrLQogbGliL3VrbmV0ZGV2L2V4cG9y
dHN5bXMudWsgICAgICAgICAgICB8ICAgOCArCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRk
ZXYuaCAgICAgIHwgMTc0ICsrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oIHwgMTk2ICsrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtu
ZXRkZXYvbmV0ZGV2LmMgICAgICAgICAgICAgICAgIHwgMjg5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNjk0IGluc2VydGlvbnMoKyksIDEgZGVs
ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrIGIvbGliL3VrbmV0
ZGV2L0NvbmZpZy51awppbmRleCA4NzhiODIyLi42MThlOGU2IDEwMDY0NAotLS0gYS9saWIvdWtu
ZXRkZXYvQ29uZmlnLnVrCisrKyBiL2xpYi91a25ldGRldi9Db25maWcudWsKQEAgLTEsNiArMSwz
MiBAQAotY29uZmlnIExJQlVLTkVUREVWCittZW51Y29uZmlnIExJQlVLTkVUREVWCiAJYm9vbCAi
dWtuZXRkZXY6IE5ldHdvcmsgZHJpdmVyIGludGVyZmFjZSIKIAlkZWZhdWx0IG4KIAlzZWxlY3Qg
TElCTk9MSUJDIGlmICFIQVZFX0xJQkMKIAlzZWxlY3QgTElCVUtERUJVRwogCXNlbGVjdCBMSUJV
S0FMTE9DCisKK2lmIExJQlVLTkVUREVWCisJY29uZmlnIExJQlVLTkVUREVWX01BWE5CUVVFVUVT
CisJCWludCAiTWF4aW11bSBudW1iZXIgb2YgcmVjZWl2ZS10cmFuc21pdCBxdWV1ZSBwYWlycyIK
KwkJZGVmYXVsdCAxCisJCWhlbHAKKwkJCVVwcGVyIGxpbWl0IGZvciBzdXBwb3J0ZWQgbnVtYmVy
IG9mIHRyYW5zbWl0IGFuZCByZWNlaXZlCisJCQlxdWV1ZXMgd2l0aCB0aGUgdWtuZXRkZXYgQVBJ
LiBQbGVhc2Ugbm90ZSB0aGF0IGRyaXZlcnMKKwkJCWhhdmUgdGhlaXIgb3duIGxpbWl0cyAodXNl
IEFQSSBnZXR0ZXJzIHRvIGZpZ3VyZSBvdXQKKwkJCWRldmljZSBjYXBhYmlsaXRpZXMpLiBBcyBl
eGFtcGxlLCBvbmUgZHJpdmVyIG1heSBzdXBwb3J0CisJCQlvbmx5IGEgc2luZ2xlIHJlY2VpdmUt
dHJhbnNtaXQgcXVldWUgcGFpciBhbHRob3VnaAorCQkJdWtuZXRkZXYgd291bGQgc3VwcG9ydCAx
Ni4KKworCWNvbmZpZyBMSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCQlib29sICJEaXNw
YXRjaGVyIHRocmVhZHMgZm9yIGV2ZW50IGNhbGxiYWNrcyIKKwkJc2VsZWN0IExJQlVLU0NIRUQK
KwkJc2VsZWN0IExJQlVLTE9DSworCQlzZWxlY3QgTElCVUtMT0NLX1NFTUFQSE9SRQorCQlkZWZh
dWx0IG4KKwkJaGVscAorCQkJRXZlbnQgY2FsbGJhY2tzIGFyZSBkaXNwYXRjaGVkIGluIGEgYm90
dG9tIGhhbGYKKwkJCXRocmVhZCBjb250ZXh0IGluc3RlYWQgb2YgdGhlIGRldmljZSBpbnRlcnJ1
cHQgY29udGV4dC4KKwkJCVdoZW4gdGhpcyBvcHRpb24gaXMgZW5hYmxlZCBhIGRpc3BhdGNoZXIg
dGhyZWFkIGlzCisJCQlhbGxvY2F0ZWQgZm9yIGVhY2ggY29uZmlndXJlZCByZWNlaXZlIHF1ZXVl
LgorCQkJbGlidWtzY2hlZCBpcyByZXF1aXJlZCBmb3IgdGhpcyBvcHRpb24uCitlbmRpZgpkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51awppbmRleCA2NjM0MGM1Li5jNzMzZDgxIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awpAQCAtMTQsMyAr
MTQsMTEgQEAgdWtfbmV0ZGV2X2dldAogdWtfbmV0ZGV2X2lkX2dldAogdWtfbmV0ZGV2X2Rydl9u
YW1lX2dldAogdWtfbmV0ZGV2X3N0YXRlX2dldAordWtfbmV0ZGV2X2luZm9fZ2V0Cit1a19uZXRk
ZXZfZWluZm9fZ2V0Cit1a19uZXRkZXZfcnhxX2luZm9fZ2V0Cit1a19uZXRkZXZfdHhxX2luZm9f
Z2V0Cit1a19uZXRkZXZfY29uZmlndXJlCit1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZQordWtfbmV0
ZGV2X3R4cV9jb25maWd1cmUKK3VrX25ldGRldl9zdGFydApkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aAppbmRleCAxZmQ0NWM4Li43MjIzYmE3IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXYuaAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaApAQCAt
NTIsNiArNTIsMjIgQEAKICAqIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIChzdHJ1Y3QgdWtfbmV0
ZGV2KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IG9idGFpbmVkCiAgKiBieSBpdHMgSUQgYnkgY2Fs
bGluZyB1a19uZXRkZXZfZ2V0KCkuIFRoZSBuZXR3b3JrIGFwcGxpY2F0aW9uIHNob3VsZCBzdG9y
ZQogICogdGhpcyByZWZlcmVuY2UgYW5kIHVzZSBpdCBmb3Igc3Vic2VxdWVudCBBUEkgY2FsbHMu
CisgKgorICogVGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGUgVW5pa3JhZnQgTkVUIEFQSSB0
byBzZXR1cCBhIGRldmljZQorICogbXVzdCBiZSBpbnZva2VkIGluIHRoZSBmb2xsb3dpbmcgb3Jk
ZXI6CisgKiAgICAgLSB1a19uZXRkZXYKKyAqICAgICAtIHVrX25ldGRldl9jb25maWd1cmUoKQor
ICogICAgIC0gdWtfbmV0ZGV2X3R4cV9jb25maWd1cmUoKQorICogICAgIC0gdWtfbmV0ZGV2X3J4
cV9jb25maWd1cmUoKQorICogICAgIC0gdWtfbmV0ZGV2X3N0YXJ0KCkKKyAqIFRoZSB0cmFuc21p
dCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIHdoZW4gdGhlCisg
KiBkZXZpY2UgaXMgbm90IHN0YXJ0ZWQuCisgKgorICogVGhlcmUgYXJlIDQgc3RhdGVzIGluIHdo
aWNoIGEgbmV0d29yayBkZXZpY2UgY2FuIGJlIGZvdW5kOgorICogICAgIC0gVUtfTkVUREVWX1VO
UkVHSVNURVJFRAorICogICAgIC0gVUtfTkVUREVWX1VOQ09ORklHVVJFRAorICogICAgIC0gVUtf
TkVUREVWX0NPTkZJR1VSRUQKKyAqICAgICAtIFVLX05FVERFVl9SVU5OSU5HCiAgKi8KICNpZmRl
ZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC0xMTAsNiArMTI2LDE2NCBAQCBjb25zdCBj
aGFyICp1a19uZXRkZXZfZHJ2X25hbWVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7CiAgKi8K
IGVudW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRl
diAqZGV2KTsKIAorLyoqCisgKiBRdWVyeSBkZXZpY2UgY2FwYWJpbGl0aWVzLgorICogSW5mb3Jt
YXRpb24gdGhhdCBpcyB1c2VmdWwgZm9yIGRldmljZSBpbml0aWFsaXphdGlvbiAoZS5nLiwKKyAq
IG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBSWC9UWCBxdWV1ZXMpLgorICoKKyAqIEBwYXJh
bSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIGRldl9p
bmZvCisgKiAgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0eXBlICp1a19uZXRkZXZfaW5m
byogdG8gYmUgZmlsbGVkIHdpdGgKKyAqICAgdGhlIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gb2Yg
dGhlIG5ldHdvcmsgZGV2aWNlLgorICovCit2b2lkIHVrX25ldGRldl9pbmZvX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCisJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKTsKKwor
LyoqCisgKiBFeHRyYSBpbmZvcm1hdGlvbiBxdWVyeSBpbnRlcmZhY2UuCisgKiBUaGUgdXNlciBj
YW4gcXVlcnkgdGhlIGRyaXZlciBmb3IgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKGUuZywK
KyAqIElQIGFkZHJlc3MgY29uZmlndXJhdGlvbiBwcmVmZXJyZWQgYnkgaHlwZXJ2aXNvciksIHVz
aW5nIGEgbnVtYmVyIG9mCisgKiBwcmUtZGVmaW5lZCBjb25maWd1cmF0aW9uIHR5cGVzLgorICoK
KyAqIElmIHRoZSBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IHRoZSBwcm92aWRlZCBkYXRhIHR5cGUs
IGl0IG11c3QgcmV0dXJuIE5VTEwuCisgKgorICogVGhpcyBhbGxvd3MgdGhlIGRyaXZlciB0byBw
cm92aWRlIGNvbmZpZ3VyYXRpb24gZGF0YSB3aXRob3V0IHRoZSBuZWVkIG9mCisgKiBwYXJzaW5n
IGl0IGluIGEgcHJlLWRldGVybWluZWQgd2F5LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgdXRp
bGl0eQorICogZnVuY3Rpb25zIGluIHRoZSBBUEksIG9yIHBhcnNpbmcgdGhlIGRhdGEgbXVsdGlw
bGUgdGltZXMgYm90aCBieSBkcml2ZXIKKyAqIGFuZCB1c2VyLgorICoKKyAqIEBwYXJhbSBkZXYK
KyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIGVpbmZvCisgKiAg
IEV4dHJhIGNvbmZpZ3VyYXRpb24gdHlwZSBzZWxlY3Rpb24gKHNlZSBlbnVtIGRlZmluaXRpb24p
LgorICogQHJldHVybgorICogICAtIChOVUxMKTogaWYgY29uZmlndXJhdGlvbiB1bmF2YWlsYWJs
ZSBvciBkYXRhIHR5cGUgdW5zdXBwb3J0ZWQKKyAqICAgLSAodm9pZCAqKTogUmVmZXJlbmNlIHRv
IGNvbmZpZ3VyYXRpb24sIGZvcm1hdCBzcGVjaWZpZWQgYnkgKmVpbmZvKgorICovCitjb25zdCB2
b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQllbnVt
IHVrX25ldGRldl9laW5mb190eXBlIGVpbmZvKTsKKworLyoqCisgKiBDb25maWd1cmVzIGFuIFVu
aWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWty
YWZ0IE5ldHdvcmsgRGV2aWNlIGluIHVuY29uZmlndXJlZCBzdGF0ZS4KKyAqIEBwYXJhbSBjb25m
CisgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNlZCBm
b3IgdGhlIFVuaWtyYWZ0CisgKiAgIG5ldHdvcmsgZGV2aWNlLgorICogQHJldHVybgorICogICAt
ICgwKTogU3VjY2VzcywgZGV2aWNlIGlzIGluIGNvbmZpZ3VyZWQgc3RhdGUuCisgKiAgIC0gKDww
KTogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJpdmVyLgorICovCitpbnQgdWtfbmV0ZGV2
X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQljb25zdCBzdHJ1Y3QgdWtfbmV0
ZGV2X2NvbmYgKmRldl9jb25mKTsKKworCisvKioKKyAqIFF1ZXJ5IHJlY2VpdmUgZGV2aWNlIHF1
ZXVlIGNhcGFiaWxpdGllcy4KKyAqIEluZm9ybWF0aW9uIHRoYXQgaXMgdXNlZnVsIGZvciBkZXZp
Y2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUuZy4sCisgKiBtYXhpbXVtIG51bWJlciBvZiBzdXBw
b3J0ZWQgZGVzY3JpcHRvcnMgb24gUlggcXVldWVzKS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgorICogQHBh
cmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQg
dXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUg
LSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisgKiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4K
KyAqIEBwYXJhbSBxdWV1ZV9pbmZvCisgKiAgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0
eXBlICp1a19uZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIGZpbGxlZCBvdXQKKyAqIEByZXR1cm4K
KyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmlsbGVkIG91dC4KKyAqICAgLSAo
PDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9uLgorICovCitpbnQgdWtfbmV0
ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lk
LAorCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZvKTsKKworLyoq
CisgKiBTZXRzIHVwIG9uZSByZWNlaXZlIHF1ZXVlIGZvciBhbiBVbmlrcmFmdCBuZXR3b3JrIGRl
dmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmlj
ZSBpbiBjb25maWd1cmVkIHN0YXRlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRl
eCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJl
IGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisg
KiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4KKyAqIEBwYXJhbSBuYl9kZXNjCisgKiAgIE51
bWJlciBvZiBkZXNjcmlwdG9ycyBmb3IgdGhlIHF1ZXVlLiBJbnNwZWN0IHVrX25ldGRldl9yeHFf
aW5mb19nZXQoKSB0bworICogICByZXRyaWV2ZSBsaW1pdGF0aW9ucy4gSWYgbmJfZGVzYyBpcyBz
ZXQgdG8gMCwgdGhlIGRyaXZlciBjaG9vc2VzIGEgZGVmYXVsdAorICogICB2YWx1ZS4KKyAqIEBw
YXJhbSByeF9jb25mCisgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEg
dG8gYmUgdXNlZCBmb3IgdGhlIHJlY2VpdmUgcXVldWUuCisgKiAgIEl0cyBtZW1vcnkgY2FuIGJl
IHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rpb24uCisgKiBAcmV0dXJuCisgKiAg
IC0gKDApOiBTdWNjZXNzLCByZWNlaXZlIHF1ZXVlIGNvcnJlY3RseSBzZXQgdXAuCisgKiAgIC0g
KC1FTk9NRU0pOiBVbmFibGUgdG8gYWxsb2NhdGUgdGhlIHJlY2VpdmUgcmluZyBkZXNjcmlwdG9y
cy4KKyAqLworaW50IHVrX25ldGRldl9yeHFfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwgdWludDE2X3QgcXVldWVfaWQsCisJCQkgICAgdWludDE2X3QgbmJfZGVzYywKKwkJCSAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhfY29uZik7CisKKy8qKgorICogUXVlcnkg
ZGV2aWNlIHRyYW5zbWl0IHF1ZXVlIGNhcGFiaWxpdGllcy4KKyAqIEluZm9ybWF0aW9uIHRoYXQg
aXMgdXNlZnVsIGZvciBkZXZpY2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUuZy4sCisgKiBtYXhp
bXVtIG51bWJlciBvZiBzdXBwb3J0ZWQgZGVzY3JpcHRvcnMgb24gVFggcXVldWVzKS4KKyAqCisg
KiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1
cmVkIHN0YXRlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVj
ZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5n
ZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisgKiAgIHRvIHVrX25l
dGRldl9jb25maWd1cmUoKS4KKyAqIEBwYXJhbSBxdWV1ZV9pbmZvCisgKiAgIEEgcG9pbnRlciB0
byBhIHN0cnVjdHVyZSBvZiB0eXBlICp1a19uZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIGZpbGxl
ZCBvdXQKKyAqIEByZXR1cm4KKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmls
bGVkIG91dC4KKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9u
LgorICovCitpbnQgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpx
dWV1ZV9pbmZvKTsKKworLyoqCisgKiBTZXRzIHVwIG9uZSB0cmFuc21pdCBxdWV1ZSBmb3IgYW4g
VW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCisgKgorICogQHBhcmFtIGRldgorICogICBUaGUgVW5p
a3JhZnQgTmV0d29yayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KKyAqIEBwYXJhbSBxdWV1
ZV9pZAorICogICBUaGUgaW5kZXggb2YgdGhlIHRyYW5zbWl0IHF1ZXVlIHRvIHNldCB1cC4KKyAq
ICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl90eF9xdWV1ZSAtIDFdIHBy
ZXZpb3VzbHkgc3VwcGxpZWQKKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgorICogQHBh
cmFtIG5iX2Rlc2MKKyAqICAgTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGZvciB0aGUgcXVldWUuIElu
c3BlY3QgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldCgpIHRvCisgKiAgIHJldHJpZXZlIGxpbWl0YXRp
b25zLiBJZiBuYl9kZXNjIGlzIHNldCB0byAwLCB0aGUgZHJpdmVyIGNob29zZXMgYSBkZWZhdWx0
CisgKiAgIHZhbHVlLgorICogQHBhcmFtIHR4X2NvbmYKKyAqICAgVGhlIHBvaW50ZXIgdG8gdGhl
IGNvbmZpZ3VyYXRpb24gZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgdHJhbnNtaXQgcXVldWUuCisg
KiAgIEl0cyBtZW1vcnkgY2FuIGJlIHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rp
b24uCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBTdWNjZXNzLCB0aGUgdHJhbnNtaXQgcXVldWUg
aXMgY29ycmVjdGx5IHNldCB1cC4KKyAqICAgLSAoLUVOT01FTSk6IFVuYWJsZSB0byBhbGxvY2F0
ZSB0aGUgdHJhbnNtaXQgcmluZyBkZXNjcmlwdG9ycy4KKyAqLworaW50IHVrX25ldGRldl90eHFf
Y29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCisJCQkg
ICAgdWludDE2X3QgbmJfZGVzYywKKwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29u
ZiAqdHhfY29uZik7CisKKy8qKgorICogU3RhcnQgYSBOZXR3b3JrIGRldmljZS4KKyAqCisgKiBB
ZnRlciBhIG5ldHdvcmsgZGV2aWNlIHdhcyBjb25maWd1cmVkIGFuZCBpdHMgcXVldWVzIGFyZSBz
ZXQgdXAgdGhlIGRldmljZQorICogY2FuIGJlIHN0YXJ0ZWQuIE9uIHN1Y2Nlc3MsIGFsbCBvcGVy
YXRpb25hbCBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhlCisgKiBVbmlrcmFmdCBuZXRkZXYgQVBJ
IChpbnRlcnJ1cHRzLCByZWNlaXZlL3RyYW5zbWl0LCBhbmQgc28gb24pIGNhbiBiZSBpbnZva2Vk
CisgKiBhZnRlcndhcmRzLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5l
dHdvcmsgRGV2aWNlIGluIGNvbmZpZ3VyZWQgc3RhdGUuCisgKiBAcmV0dXJuCisgKiAgIC0gKDAp
OiBTdWNjZXNzLCBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBzdGFydGVkLgorICogICAtICg8MCk6
IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlciBkZXZpY2Ugc3RhcnQgZnVuY3Rpb24uCisgKi8KK2lu
dCB1a19uZXRkZXZfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKwogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCmluZGV4
IGVlYzQ0MWUuLjAyYzViYTAgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmgKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaApA
QCAtNDUsNiArNDUsMTAgQEAKICNpbmNsdWRlIDx1ay9saXN0Lmg+CiAjaW5jbHVkZSA8dWsvYWxs
b2MuaD4KICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CisjaWZkZWYgQ09ORklHX0xJQlVLTkVU
REVWX0RJU1BBVENIRVJUSFJFQURTCisjaW5jbHVkZSA8dWsvc2NoZWQuaD4KKyNpbmNsdWRlIDx1
ay9zZW1hcGhvcmUuaD4KKyNlbmRpZgogCiAvKioKICAqIFVuaWtyYWZ0IG5ldHdvcmsgQVBJIGNv
bW1vbiBkZWNsYXJhdGlvbnMuCkBAIC02NCw2ICs2OCw0MiBAQCBleHRlcm4gIkMiIHsKIHN0cnVj
dCB1a19uZXRkZXY7CiBVS19UQUlMUV9IRUFEKHVrX25ldGRldl9saXN0LCBzdHJ1Y3QgdWtfbmV0
ZGV2KTsKIAorLyoqCisgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIGRlc2NyaWJlIG5ldHdvcmsgZGV2
aWNlIGNhcGFiaWxpdGllcy4KKyAqLworc3RydWN0IHVrX25ldGRldl9pbmZvIHsKKwl1aW50MTZf
dCBtYXhfcnhfcXVldWVzOworCXVpbnQxNl90IG1heF90eF9xdWV1ZXM7CisJaW50IGluX3F1ZXVl
X3BhaXJzOyAvKio8IElmIHRydWUsIGFsbG9jYXRlIHF1ZXVlcyBpbiBwYWlycy4gKi8KKwl1aW50
MTZfdCBtYXhfbXR1OyAgIC8qKjwgTWF4aW11bSBzdXBwb3J0ZWQgTVRVIHNpemUuICovCisJdWlu
dDE2X3QgbmJfZW5jYXA7ICAvKio8IE51bWJlciBvZiBieXRlcyByZXF1aXJlZCBhcyBoZWFkcm9v
bSBmb3IgdHguICovCit9OworCisvKioKKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZGVzY3JpYmUg
ZGV2aWNlIGRlc2NyaXB0b3IgcmluZyBsaW1pdGF0aW9ucy4KKyAqLworc3RydWN0IHVrX25ldGRl
dl9xdWV1ZV9pbmZvIHsKKwl1aW50MTZfdCBuYl9tYXg7ICAgICAgICAvKio8IE1heCBhbGxvd2Vk
IG51bWJlciBvZiBkZXNjcmlwdG9ycy4gKi8KKwl1aW50MTZfdCBuYl9taW47ICAgICAgICAvKio8
IE1pbiBhbGxvd2VkIG51bWJlciBvZiBkZXNjcmlwdG9ycy4gKi8KKwl1aW50MTZfdCBuYl9hbGln
bjsgICAgICAvKio8IE51bWJlciBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiBuYl9hbGlnbi4gKi8K
KwlpbnQgbmJfaXNfcG93ZXJfb2ZfdHdvOyAvKio8IE51bWJlciBzaG91bGQgYmUgYSBwb3dlciBv
ZiB0d28uICovCit9OworCisvKioKKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gY29uZmlndXJlIGEg
bmV0d29yayBkZXZpY2UuCisgKi8KK3N0cnVjdCB1a19uZXRkZXZfY29uZiB7CisJdWludDE2X3Qg
bmJfcnhfcXVldWVzOworCXVpbnQxNl90IG5iX3R4X3F1ZXVlczsKK307CisKKy8qKgorICogQGlu
dGVybmFsIFF1ZXVlIHN0cnVjdHMgdGhhdCBhcmUgZGVmaW5lZCBpbnRlcm5hbGx5IGJ5IGVhY2gg
ZHJpdmVyCisgKiBUaGUgZGF0YXR5cGUgaXMgaW50cm9kdWNlZCBoZXJlIGZvciBoYXZpbmcgdHlw
ZSBjaGVja2luZyBvbiB0aGUKKyAqIEFQSSBjb2RlCisgKi8KK3N0cnVjdCB1a19uZXRkZXZfdHhf
cXVldWU7CitzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlOwogCiAvKioKICAqIEVudW0gdG8gZGVz
Y3JpYmUgcG9zc2libGUgc3RhdGVzIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgpAQCAt
NzUsNiArMTE1LDE0OSBAQCBlbnVtIHVrX25ldGRldl9zdGF0ZSB7CiAJVUtfTkVUREVWX1JVTk5J
TkcsCiB9OwogCisvKioKKyAqIEVudW0gdXNlZCBieSB0aGUgZXh0cmEgaW5mb3JtYXRpb24gcXVl
cnkgaW50ZXJmYWNlLgorICoKKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgdHlwZSBpcyB0byBhbGxv
dyBkcml2ZXJzIHRvIGZvcndhcmQgZXh0cmEgY29uZmlndXJhdGlvbnMKKyAqIG9wdGlvbnMgc3Vj
aCBhcyBJUCBpbmZvcm1hdGlvbiB3aXRob3V0IHBhcnNpbmcgdGhpcyBkYXRhIGJ5IHRoZW1zZWx2
ZXMgKGUuZy4sCisgKiBzdHJpbmdzIG9mIElQIGFkZHJlc3MgYW5kIG1hc2sgZm91bmQgb24gWGVu
U3RvcmUgYnkgbmV0ZnJvbnQpLgorICogV2UgZG8gbm90IHdhbnQgdG8gaW50cm9kdWNlIGFueSBh
ZGRpdGlvbmFsIHBhcnNpbmcgbG9naWMgaW5zaWRlIHVrbmV0ZGV2IEFQSQorICogYmVjYXVzZSB3
ZSBhc3N1bWUgdGhhdCBtb3N0IG5ldHdvcmsgc3RhY2tzIHByb3ZpZGUgdGhpcyBmdW5jdGlvbmFs
aXR5CisgKiBhbnl3YXlzLiBTbyBvbmUgY291bGQgZm9yd2FyZCB0aGlzIGRhdGEgd2l0aGluIHRo
ZSBnbHVlIGNvZGUuCisgKgorICogVGhpcyBsaXN0IGlzIGV4dGVuc2libGUgaW4gdGhlIGZ1dHVy
ZSB3aXRob3V0IG5lZWRpbmcgdGhlIGRyaXZlcnMgdG8gYWRvcHQKKyAqIGFueSBvciBhbGwgb2Yg
dGhlIGRhdGEgdHlwZXMuCisgKgorICogVGhlIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBhdmFpbGFi
bGUgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKKyAqIC0gKl9OSU5UMTY6IE5ldHdv
cmstb3JkZXIgcmF3IGludCAoNCBieXRlcykKKyAqIC0gKl9TVFI6IE51bGwtdGVybWluYXRlZCBz
dHJpbmcKKyAqLworZW51bSB1a19uZXRkZXZfZWluZm9fdHlwZSB7CisJLyogSVB2NCBhZGRyZXNz
IGFuZCBtYXNrICovCisJVUtfTkVUREVWX0lQVjRfQUREUl9OSU5UMTYsCisJVUtfTkVUREVWX0lQ
VjRfQUREUl9TVFIsCisJVUtfTkVUREVWX0lQVjRfTUFTS19OSU5UMTYsCisJVUtfTkVUREVWX0lQ
VjRfTUFTS19TVFIsCisKKwkvKiBJUHY0IGdhdGV3YXkgKi8KKwlVS19ORVRERVZfSVBWNF9HV19O
SU5UMTYsCisJVUtfTkVUREVWX0lQVjRfR1dfU1RSLAorCisJLyogSVB2NCBQcmltYXJ5IEROUyAq
LworCVVLX05FVERFVl9JUFY0X0ROUzBfTklOVDE2LAorCVVLX05FVERFVl9JUFY0X0ROUzBfU1RS
LAorCisJLyogSVB2NCBTZWNvbmRhcnkgRE5TICovCisJVUtfTkVUREVWX0lQVjRfRE5TMV9OSU5U
MTYsCisJVUtfTkVUREVWX0lQVjRfRE5TMV9TVFIsCit9OworCisvKioKKyAqIEZ1bmN0aW9uIHR5
cGUgdXNlZCBmb3IgcXVldWUgZXZlbnQgY2FsbGJhY2tzLgorICoKKyAqIEBwYXJhbSBkZXYKKyAq
ICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIHF1ZXVlCisgKiAgIFRo
ZSBxdWV1ZSBvbiB0aGUgVW5pa3JhZnQgbmV0d29yayBkZXZpY2Ugb24gd2hpY2ggdGhlIGV2ZW50
IGhhcHBlbmVkLgorICogQHBhcmFtIGFyZ3AKKyAqICAgRXh0cmEgYXJndW1lbnQgdGhhdCBjYW4g
YmUgZGVmaW5lZCBvbiBjYWxsYmFjayByZWdpc3RyYXRpb24uCisgKi8KK3R5cGVkZWYgdm9pZCAo
KnVrX25ldGRldl9xdWV1ZV9ldmVudF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJCXVp
bnQxNl90IHF1ZXVlX2lkLCB2b2lkICphcmdwKTsKKworLyoqCisgKiBBIHN0cnVjdHVyZSB1c2Vk
IHRvIGNvbmZpZ3VyZSBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBSWCBxdWV1ZS4KKyAqLwor
c3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgeworCXVrX25ldGRldl9xdWV1ZV9ldmVudF90
IGNhbGxiYWNrOyAvKio8IEV2ZW50IGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworCXZvaWQgKmNhbGxi
YWNrX2Nvb2tpZTsgICAgICAgICAgICAvKio8IEFyZ3VtZW50IHBvaW50ZXIgZm9yIGNhbGxiYWNr
LiAqLworCisJc3RydWN0IHVrX2FsbG9jICphOyAgICAgICAgICAgICAgIC8qKjwgQWxsb2NhdG9y
IGZvciBkZXNjcmlwdG9ycy4gKi8KKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hF
UlRIUkVBRFMKKwlzdHJ1Y3QgdWtfc2NoZWQgKnM7ICAgICAgICAgICAgICAgLyoqPCBTY2hlZHVs
ZXIgZm9yIGRpc3BhdGNoZXIuICovCisjZW5kaWYKK307CisKKy8qKgorICogQSBzdHJ1Y3R1cmUg
dXNlZCB0byBjb25maWd1cmUgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgVFggcXVldWUuCisg
Ki8KK3N0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mIHsKKwlzdHJ1Y3QgdWtfYWxsb2MgKmE7
ICAgICAgICAgICAgICAgLyogQWxsb2NhdG9yIGZvciBkZXNjcmlwdG9ycy4gKi8KK307CisKKy8q
KiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZWFkIGRldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVz
LAorICogIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBkZXZpY2UKKyAqLwordHlwZWRlZiB2b2lk
ICgqdWtfbmV0ZGV2X2luZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgICAg
IHN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pOworCisvKiogRHJpdmVyIGNhbGxiYWNr
IHR5cGUgdG8gcmVhZCBhbnkgZXh0cmEgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgY29uc3Qg
dm9pZCAqKCp1a19uZXRkZXZfZWluZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJ
CQkJICAgICBlbnVtIHVrX25ldGRldl9laW5mb190eXBlIGVjb25mKTsKKworLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIGNvbmZpZ3VyZSBhIG5ldHdvcmsgZGV2aWNlLiAqLwordHlwZWRlZiBp
bnQgICgqdWtfbmV0ZGV2X2NvbmZpZ3VyZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJ
ICAgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKKworLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIFJYIHF1ZXVlIGxpbWl0YXRpb25zLAorICogIHVzZWQg
Zm9yIGNvbmZpZ3VyaW5nIHRoZSBSWCBxdWV1ZSBsYXRlcgorICovCit0eXBlZGVmIGludCAoKnVr
X25ldGRldl9yeHFfaW5mb19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAorCXVpbnQxNl90
IHF1ZXVlX2lkLCBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8pOworCisv
KiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gcmV0cmlldmUgVFggcXVldWUgbGltaXRhdGlvbnMs
CisgKiAgdXNlZCBmb3IgY29uZmlndXJpbmcgdGhlIFRYIHF1ZXVlIGxhdGVyCisgKi8KK3R5cGVk
ZWYgaW50ICgqdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
CisJdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVf
aW5mbyk7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdXAgYSBSWCBxdWV1ZSBv
ZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4gKi8KK3R5cGVkZWYgc3RydWN0IHVrX25ldGRl
dl90eF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCkoCisJc3RydWN0IHVrX25l
dGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwgdWludDE2X3QgbmJfZGVzYywKKwlzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqdHhfY29uZik7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sg
dHlwZSB0byBzZXQgdXAgYSBUWCBxdWV1ZSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4g
Ki8KK3R5cGVkZWYgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3J4cV9j
b25maWd1cmVfdCkoCisJc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwg
dWludDE2X3QgbmJfZGVzYywKKwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhfY29u
Zik7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdGFydCBhIGNvbmZpZ3VyZWQgVW5p
a3JhZnQgbmV0d29yayBkZXZpY2UuICovCit0eXBlZGVmIGludCAgKCp1a19uZXRkZXZfc3RhcnRf
dCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoqCisgKiBBIHN0cnVjdHVyZSBjb250YWlu
aW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCisgKi8KK3N0cnVjdCB1a19u
ZXRkZXZfb3BzIHsKKwkvKiogRGV2aWNlL2RyaXZlciBjYXBhYmlsaXRpZXMgYW5kIGluZm8uICov
CisJdWtfbmV0ZGV2X2luZm9fZ2V0X3QgICAgICAgICAgICBpbmZvX2dldDsKKwl1a19uZXRkZXZf
dHhxX2luZm9fZ2V0X3QgICAgICAgIHR4cV9pbmZvX2dldDsKKwl1a19uZXRkZXZfcnhxX2luZm9f
Z2V0X3QgICAgICAgIHJ4cV9pbmZvX2dldDsKKwl1a19uZXRkZXZfZWluZm9fZ2V0X3QgICAgICAg
ICAgIGVpbmZvX2dldDsgICAgICAgIC8qIG9wdGlvbmFsICovCisKKwkvKiogRGV2aWNlIGxpZmUg
Y3ljbGUuICovCisJdWtfbmV0ZGV2X2NvbmZpZ3VyZV90ICAgICAgICAgICBjb25maWd1cmU7CisJ
dWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCAgICAgICB0eHFfY29uZmlndXJlOworCXVrX25ldGRl
dl9yeHFfY29uZmlndXJlX3QgICAgICAgcnhxX2NvbmZpZ3VyZTsKKwl1a19uZXRkZXZfc3RhcnRf
dCAgICAgICAgICAgICAgIHN0YXJ0OworfTsKKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIEV2ZW50
IGhhbmRsZXIgY29uZmlndXJhdGlvbiAoaW50ZXJuYWwgdG8gbGlidWtuZXRkZXYpCisgKi8KK3N0
cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciB7CisJdWtfbmV0ZGV2X3F1ZXVlX2V2ZW50X3Qg
Y2FsbGJhY2s7CisJdm9pZCAgICAgICAgICAgICAgICAgICAgKmNvb2tpZTsKKworI2lmZGVmIENP
TkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCXN0cnVjdCB1a19zZW1hcGhvcmUg
ZXZlbnRzOyAgICAgIC8qKjwgc2VtYXBob3JlIHRvIHRyaWdnZXIgZXZlbnRzICovCisJc3RydWN0
IHVrX25ldGRldiAgICAqZGV2OyAgICAgICAgLyoqPCByZWZlcmVuY2UgdG8gbmV0IGRldmljZSAq
LworCXVpbnQxNl90ICAgICAgICAgICAgcXVldWVfaWQ7ICAgIC8qKjwgcXVldWUgaWQgd2hpY2gg
Y2F1c2VkIGV2ZW50ICovCisJc3RydWN0IHVrX3RocmVhZCAgICAqZGlzcGF0Y2hlcjsgLyoqPCBk
aXNwYXRjaGVyIHRocmVhZCAqLworCWNoYXIgICAgICAgICAgICAgICAgKmRpc3BhdGNoZXJfbmFt
ZTsgLyoqPCByZWZlcmVuY2UgdG8gdGhyZWFkIG5hbWUgKi8KKwlzdHJ1Y3QgdWtfc2NoZWQgICAg
ICpkaXNwYXRjaGVyX3M7ICAgIC8qKjwgU2NoZWR1bGVyIGZvciBkaXNwYXRjaGVyLiAqLworI2Vu
ZGlmCit9OwogCiAvKioKICAqIEBpbnRlcm5hbApAQCAtODMsNiArMjY2LDkgQEAgZW51bSB1a19u
ZXRkZXZfc3RhdGUgewogc3RydWN0IHVrX25ldGRldl9kYXRhIHsKIAllbnVtIHVrX25ldGRldl9z
dGF0ZSBzdGF0ZTsKIAorCXN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlcgorCQkJICAgICBy
eHFfaGFuZGxlcltDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVNdOworCiAJY29uc3QgdWlu
dDE2X3QgICAgICAgaWQ7ICAgIC8qKjwgSUQgaXMgYXNzaWduZWQgZHVyaW5nIHJlZ2lzdHJhdGlv
biAqLwogCWNvbnN0IGNoYXIgICAgICAgICAgICpkcnZfbmFtZTsKIH07CkBAIC05MCwxMSArMjc2
LDIxIEBAIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7CiAvKioKICAqIE5FVERFVgogICogQSBzdHJ1
Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZpY2UuCisgKgorICogRnVu
Y3Rpb24gY2FsbGJhY2tzIChvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRoZSBkcml2ZXIgYmVmb3Jl
CisgKiByZWdpc3RlcmluZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBkdXJpbmcgZGV2aWNlIGxp
ZmUgdGltZS4KICAqLwogc3RydWN0IHVrX25ldGRldiB7CiAJLyoqIFBvaW50ZXIgdG8gQVBJLWlu
dGVybmFsIHN0YXRlIGRhdGEuICovCiAJc3RydWN0IHVrX25ldGRldl9kYXRhICAgICAgICpfZGF0
YTsKIAorCS8qKiBGdW5jdGlvbnMgY2FsbGJhY2tzIGJ5IGRyaXZlci4gKi8KKwljb25zdCBzdHJ1
Y3QgdWtfbmV0ZGV2X29wcyAgKm9wczsgICAvKiBieSBkcml2ZXIgKi8KKworCS8qKiBQb2ludGVy
cyB0byBxdWV1ZXMgKEFQSS1wcml2YXRlKSAqLworCXN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUg
ICAqX3J4X3F1ZXVlW0NPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFU107CisJc3RydWN0IHVr
X25ldGRldl90eF9xdWV1ZSAgICpfdHhfcXVldWVbQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVF
VUVTXTsKKwogCVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXYpIF9saXN0OwogfTsKIApk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3VrbmV0ZGV2L25ldGRldi5j
CmluZGV4IGFiOGFhNGQuLjNlZWE1ZWQgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYu
YworKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKQEAgLTY5LDYgKzY5LDE2IEBAIGludCB1a19u
ZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9j
ICphLAogCVVLX0FTU0VSVChkZXYpOwogCVVLX0FTU0VSVCghZGV2LT5fZGF0YSk7CiAKKwkvKiBB
c3NlcnQgbWFuZGF0b3J5IGNvbmZpZ3VyYXRpb24gKi8KKwlVS19BU1NFUlQoZGV2LT5vcHMpOwor
CVVLX0FTU0VSVChkZXYtPm9wcy0+aW5mb19nZXQpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+Y29u
ZmlndXJlKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnJ4cV9pbmZvX2dldCk7CisJVUtfQVNTRVJU
KGRldi0+b3BzLT5yeHFfY29uZmlndXJlKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9pbmZv
X2dldCk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfY29uZmlndXJlKTsKKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnN0YXJ0KTsKKwogCWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZf
Y291bnQsICBkcnZfbmFtZSk7CiAJaWYgKCFkZXYtPl9kYXRhKQogCQlyZXR1cm4gLUVOT01FTTsK
QEAgLTEyMiwzICsxMzIsMjgyIEBAIGVudW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0
ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQogCQlyZXR1cm4gVUtfTkVUREVWX1VOUkVHSVNU
RVJFRDsKIAlyZXR1cm4gZGV2LT5fZGF0YS0+c3RhdGU7CiB9CisKK3ZvaWQgdWtfbmV0ZGV2X2lu
Zm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAq
ZGV2X2luZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsKKwlV
S19BU1NFUlQoZGV2LT5vcHMtPmluZm9fZ2V0KTsKKwlVS19BU1NFUlQoZGV2X2luZm8pOworCisJ
LyogQ2xlYXIgdmFsdWVzIGJlZm9yZSBxdWVyeWluZyBkcml2ZXIgZm9yIGNhcGFiaWxpdGllcyAq
LworCW1lbXNldChkZXZfaW5mbywgMCwgc2l6ZW9mKCpkZXZfaW5mbykpOworCWRldi0+b3BzLT5p
bmZvX2dldChkZXYsIGRldl9pbmZvKTsKKworCS8qIExpbWl0IHRoZSBtYXhpbXVtIG51bWJlciBv
ZiByeCBxdWV1ZXMgYW5kIHR4IHF1ZXVlcworCSAqIGFjY29yZGluZyB0byB0aGUgQVBJIGNvbmZp
Z3VyYXRpb24KKwkgKi8KKwlkZXZfaW5mby0+bWF4X3J4X3F1ZXVlcyA9IE1JTihDT05GSUdfTElC
VUtORVRERVZfTUFYTkJRVUVVRVMsCisJCQkJICAgICAgZGV2X2luZm8tPm1heF9yeF9xdWV1ZXMp
OworCWRldl9pbmZvLT5tYXhfdHhfcXVldWVzID0gTUlOKENPTkZJR19MSUJVS05FVERFVl9NQVhO
QlFVRVVFUywKKwkJCQkgICAgICBkZXZfaW5mby0+bWF4X3R4X3F1ZXVlcyk7Cit9CisKK2NvbnN0
IHZvaWQgKnVrX25ldGRldl9laW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAorCQkJCWVu
dW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWluZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKGRldi0+b3BzKTsKKworCWlmICghZGV2LT5vcHMtPmVpbmZvX2dldCkgeworCQkvKiBk
cml2ZXIgZG9lcyBub3QgcHJvdmlkZSBhbnkgZXh0cmEgY29uZmlndXJhdGlvbiAqLworCQlyZXR1
cm4gTlVMTDsKKwl9CisJcmV0dXJuIGRldi0+b3BzLT5laW5mb19nZXQoZGV2LCBlaW5mbyk7Cit9
CisKK2ludCB1a19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWlu
dDE2X3QgcXVldWVfaWQsCisJCQkgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1ZXVl
X2luZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsKKwlVS19B
U1NFUlQoZGV2LT5vcHMtPnJ4cV9pbmZvX2dldCk7CisJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09O
RklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKKwlVS19BU1NFUlQocXVldWVfaW5mbyk7CisK
KwkvKiBDbGVhciB2YWx1ZXMgYmVmb3JlIHF1ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVz
ICovCisJbWVtc2V0KHF1ZXVlX2luZm8sIDAsIHNpemVvZigqcXVldWVfaW5mbykpOworCXJldHVy
biBkZXYtPm9wcy0+cnhxX2luZm9fZ2V0KGRldiwgcXVldWVfaWQsIHF1ZXVlX2luZm8pOworfQor
CitpbnQgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQx
Nl90IHF1ZXVlX2lkLAorCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9p
bmZvKQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPm9wcyk7CisJVUtfQVNT
RVJUKGRldi0+b3BzLT50eHFfaW5mb19nZXQpOworCVVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJ
R19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7CisJVUtfQVNTRVJUKHF1ZXVlX2luZm8pOworCisJ
LyogQ2xlYXIgdmFsdWVzIGJlZm9yZSBxdWVyeWluZyBkcml2ZXIgZm9yIGNhcGFiaWxpdGllcyAq
LworCW1lbXNldChxdWV1ZV9pbmZvLCAwLCBzaXplb2YoKnF1ZXVlX2luZm8pKTsKKwlyZXR1cm4g
ZGV2LT5vcHMtPnR4cV9pbmZvX2dldChkZXYsIHF1ZXVlX2lkLCBxdWV1ZV9pbmZvKTsKK30KKwor
aW50IHVrX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqZGV2LAorCQkJY29uc3Qg
c3RydWN0IHVrX25ldGRldl9jb25mICpkZXZfY29uZikKK3sKKwlzdHJ1Y3QgdWtfbmV0ZGV2X2lu
Zm8gZGV2X2luZm87CisJaW50IHJldDsKKworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChk
ZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+
Y29uZmlndXJlKTsKKwlVS19BU1NFUlQoZGV2X2NvbmYpOworCisJaWYgKGRldi0+X2RhdGEtPnN0
YXRlICE9IFVLX05FVERFVl9VTkNPTkZJR1VSRUQpCisJCXJldHVybiAtRUlOVkFMOworCisJdWtf
bmV0ZGV2X2luZm9fZ2V0KGRldiwgJmRldl9pbmZvKTsKKwlpZiAoZGV2X2NvbmYtPm5iX3J4X3F1
ZXVlcyA+IGRldl9pbmZvLm1heF9yeF9xdWV1ZXMpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChk
ZXZfY29uZi0+bmJfdHhfcXVldWVzID4gZGV2X2luZm8ubWF4X3R4X3F1ZXVlcykKKwkJcmV0dXJu
IC1FSU5WQUw7CisKKwlyZXQgPSBkZXYtPm9wcy0+Y29uZmlndXJlKGRldiwgZGV2X2NvbmYpOwor
CWlmIChyZXQgPj0gMCkgeworCQl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IENvbmZpZ3Vy
ZWQgaW50ZXJmYWNlXG4iLAorCQkJICAgZGV2LT5fZGF0YS0+aWQpOworCQlkZXYtPl9kYXRhLT5z
dGF0ZSA9IFVLX05FVERFVl9DT05GSUdVUkVEOworCX0gZWxzZSB7CisJCXVrX3ByX2VycigibmV0
ZGV2JSJQUkl1MTYiOiBGYWlsZWQgdG8gY29uZmlndXJlIGludGVyZmFjZTogJWRcbiIsCisJCQkg
IGRldi0+X2RhdGEtPmlkLCByZXQpOworCX0KKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgQ09O
RklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCitzdGF0aWMgdm9pZCBfZGlzcGF0Y2hl
cih2b2lkICphcmcpCit7CisJc3RydWN0IHVrX25ldGRldl9ldmVudF9oYW5kbGVyICpoYW5kbGVy
ID0KKwkJKHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAqKSBhcmc7CisKKwlVS19BU1NF
UlQoaGFuZGxlcik7CisJVUtfQVNTRVJUKGhhbmRsZXItPmNhbGxiYWNrKTsKKworCWZvciAoOzsp
IHsKKwkJdWtfc2VtYXBob3JlX2Rvd24oJmhhbmRsZXItPmV2ZW50cyk7CisJCWhhbmRsZXItPmNh
bGxiYWNrKGhhbmRsZXItPmRldiwKKwkJCQkgIGhhbmRsZXItPnF1ZXVlX2lkLAorCQkJCSAgaGFu
ZGxlci0+Y29va2llKTsKKwl9Cit9CisjZW5kaWYKKworc3RhdGljIGludCBfY3JlYXRlX2V2ZW50
X2hhbmRsZXIodWtfbmV0ZGV2X3F1ZXVlX2V2ZW50X3QgY2FsbGJhY2ssCisJCQkJIHZvaWQgKmNh
bGxiYWNrX2Nvb2tpZSwKKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVB
RFMKKwkJCQkgc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKKwkJCQkg
Y29uc3QgY2hhciAqcXVldWVfdHlwZV9zdHIsCisJCQkJIHN0cnVjdCB1a19zY2hlZCAqcywKKyNl
bmRpZgorCQkJCSBzdHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIgKmgpCit7CisJVUtfQVNT
RVJUKGgpOworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCVVL
X0FTU0VSVCghaC0+ZGlzcGF0Y2hlcik7CisjZW5kaWYKKworCWgtPmNhbGxiYWNrID0gY2FsbGJh
Y2s7CisJaC0+Y29va2llICAgPSBjYWxsYmFja19jb29raWU7CisKKyNpZmRlZiBDT05GSUdfTElC
VUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKKwkvKiBJZiB3ZSBkbyBub3QgaGF2ZSBhIGNhbGxi
YWNrLCB3ZSBkbyBub3QgbmVlZCBhIHRocmVhZCAqLworCWlmICghY2FsbGJhY2spCisJCXJldHVy
biAwOworCisJaC0+ZGV2ID0gZGV2OworCWgtPnF1ZXVlX2lkID0gcXVldWVfaWQ7CisJdWtfc2Vt
YXBob3JlX2luaXQoJmgtPmV2ZW50cywgMCk7CisJaC0+ZGlzcGF0Y2hlcl9zID0gczsKKworCS8q
IENyZWF0ZSBhIG5hbWUgZm9yIHRoZSBkaXNwYXRjaGVyIHRocmVhZC4KKwkgKiBJbiBjYXNlIG9m
IGVycm9ycywgd2UganVzdCBjb250aW51ZSB3aXRob3V0IGEgbmFtZQorCSAqLworCWlmIChhc3By
aW50ZigmaC0+ZGlzcGF0Y2hlcl9uYW1lLAorCQkgICAgICJuZXRkZXYlIlBSSXUxNiItJXNbJSJQ
Ukl1MTYiXSIsCisJCSAgICAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX3R5cGVfc3RyLCBxdWV1ZV9p
ZCkgPCAwKSB7CisJCWgtPmRpc3BhdGNoZXJfbmFtZSA9IE5VTEw7CisJfQorCisJaC0+ZGlzcGF0
Y2hlciA9IHVrX3NjaGVkX3RocmVhZF9jcmVhdGUoaC0+ZGlzcGF0Y2hlcl9zLAorCQkJCQkgICAg
ICAgaC0+ZGlzcGF0Y2hlcl9uYW1lLAorCQkJCQkgICAgICAgX2Rpc3BhdGNoZXIsIGgpOworCWlm
ICghaC0+ZGlzcGF0Y2hlcikgeworCQlpZiAoaC0+ZGlzcGF0Y2hlcl9uYW1lKQorCQkJZnJlZSho
LT5kaXNwYXRjaGVyX25hbWUpOworCQloLT5kaXNwYXRjaGVyX25hbWUgPSBOVUxMOworCQlyZXR1
cm4gLUVOT01FTTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBf
ZGVzdHJveV9ldmVudF9oYW5kbGVyKHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAqaAor
CQkJCSAgIF9fbWF5YmVfdW51c2VkKQoreworCVVLX0FTU0VSVChoKTsKKworI2lmZGVmIENPTkZJ
R19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCVVLX0FTU0VSVChoLT5kaXNwYXRjaGVy
X3MpOworCisJaWYgKGgtPmRpc3BhdGNoZXIpCisJCXVrX3NjaGVkX3RocmVhZF9kZXN0cm95KGgt
PmRpc3BhdGNoZXJfcywgaC0+ZGlzcGF0Y2hlcik7CisJaC0+ZGlzcGF0Y2hlciA9IE5VTEw7CisK
KwlpZiAoaC0+ZGlzcGF0Y2hlcl9uYW1lKQorCQlmcmVlKGgtPmRpc3BhdGNoZXJfbmFtZSk7CisJ
aC0+ZGlzcGF0Y2hlcl9uYW1lID0gTlVMTDsKKyNlbmRpZgorfQorCitpbnQgdWtfbmV0ZGV2X3J4
cV9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKKwkJ
CSAgICB1aW50MTZfdCBuYl9kZXNjLAorCQkJICAgIHN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9j
b25mICpyeF9jb25mKQoreworCWludCBlcnI7CisKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NF
UlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsKKwlVS19BU1NFUlQoZGV2LT5v
cHMtPnJ4cV9jb25maWd1cmUpOworCVVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05F
VERFVl9NQVhOQlFVRVVFUyk7CisJVUtfQVNTRVJUKHJ4X2NvbmYpOworI2lmZGVmIENPTkZJR19M
SUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCVVLX0FTU0VSVCgocnhfY29uZi0+Y2FsbGJh
Y2sgJiYgcnhfY29uZi0+cykKKwkJICB8fCAhcnhfY29uZi0+Y2FsbGJhY2spOworI2VuZGlmCisK
KwlpZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX0NPTkZJR1VSRUQpCisJCXJldHVy
biAtRUlOVkFMOworCisJLyogTWFrZSBzdXJlIHRoYXQgd2UgYXJlIG5vdCBpbml0aWFsaXppbmcg
dGhpcyBxdWV1ZSBhIHNlY29uZCB0aW1lICovCisJaWYgKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1
ZVtxdWV1ZV9pZF0pKQorCQlyZXR1cm4gLUVCVVNZOworCisJZXJyID0gX2NyZWF0ZV9ldmVudF9o
YW5kbGVyKHJ4X2NvbmYtPmNhbGxiYWNrLCByeF9jb25mLT5jYWxsYmFja19jb29raWUsCisjaWZk
ZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCisJCQkJICAgIGRldiwgcXVl
dWVfaWQsICJyeHEiLCByeF9jb25mLT5zLAorI2VuZGlmCisJCQkJICAgICZkZXYtPl9kYXRhLT5y
eHFfaGFuZGxlcltxdWV1ZV9pZF0pOworCWlmIChlcnIpCisJCWdvdG8gZXJyX291dDsKKworCWRl
di0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSA9IGRldi0+b3BzLT5yeHFfY29uZmlndXJlKGRldiwgcXVl
dWVfaWQsCisJCQkJCQkJICAgbmJfZGVzYywgcnhfY29uZik7CisJaWYgKFBUUklTRVJSKGRldi0+
X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpIHsKKwkJZXJyID0gUFRSMkVSUihkZXYtPl9yeF9xdWV1ZVtx
dWV1ZV9pZF0pOworCQlnb3RvIGVycl9kZXN0cm95X2hhbmRsZXI7CisJfQorCisJdWtfcHJfaW5m
bygibmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIHJlY2VpdmUgcXVldWUgJSJQUkl1MTYiXG4i
LAorCQkgICBkZXYtPl9kYXRhLT5pZCwgcXVldWVfaWQpOworCXJldHVybiAwOworCitlcnJfZGVz
dHJveV9oYW5kbGVyOgorCV9kZXN0cm95X2V2ZW50X2hhbmRsZXIoJmRldi0+X2RhdGEtPnJ4cV9o
YW5kbGVyW3F1ZXVlX2lkXSk7CitlcnJfb3V0OgorCXJldHVybiBlcnI7Cit9CisKK2ludCB1a19u
ZXRkZXZfdHhxX2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVl
X2lkLAorCQkJICAgIHVpbnQxNl90IG5iX2Rlc2MsCisJCQkgICAgc3RydWN0IHVrX25ldGRldl90
eHF1ZXVlX2NvbmYgKnR4X2NvbmYpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKGRl
di0+X2RhdGEpOworCVVLX0FTU0VSVChkZXYtPm9wcyk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT50
eHFfY29uZmlndXJlKTsKKwlVS19BU1NFUlQodHhfY29uZik7CisJVUtfQVNTRVJUKHF1ZXVlX2lk
IDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKKworCWlmIChkZXYtPl9kYXRhLT5z
dGF0ZSAhPSBVS19ORVRERVZfQ09ORklHVVJFRCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBN
YWtlIHN1cmUgdGhhdCB3ZSBhcmUgbm90IGluaXRpYWxpemluZyB0aGlzIHF1ZXVlIGEgc2Vjb25k
IHRpbWUgKi8KKwlpZiAoIVBUUklTRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSkpCisJCXJl
dHVybiAtRUJVU1k7CisKKwlkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0gPSBkZXYtPm9wcy0+dHhx
X2NvbmZpZ3VyZShkZXYsIHF1ZXVlX2lkLAorCQkJCQkJCSAgIG5iX2Rlc2MsIHR4X2NvbmYpOwor
CWlmIChQVFJJU0VSUihkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0pKQorCQlyZXR1cm4gUFRSMkVS
UihkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0pOworCisJdWtfcHJfaW5mbygibmV0ZGV2JSJQUkl1
MTYiOiBDb25maWd1cmVkIHRyYW5zbWl0IHF1ZXVlICUiUFJJdTE2IlxuIiwKKwkJCSAgIGRldi0+
X2RhdGEtPmlkLCBxdWV1ZV9pZCk7CisJcmV0dXJuIDA7Cit9CisKK2ludCB1a19uZXRkZXZfc3Rh
cnQoc3RydWN0IHVrX25ldGRldiAqZGV2KQoreworCWludCByZXQ7CisKKwlVS19BU1NFUlQoZGV2
KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsKKwlVS19B
U1NFUlQoZGV2LT5vcHMtPnN0YXJ0KTsKKworCWlmIChkZXYtPl9kYXRhLT5zdGF0ZSAhPSBVS19O
RVRERVZfQ09ORklHVVJFRCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSBkZXYtPm9wcy0+
c3RhcnQoZGV2KTsKKwlpZiAocmV0ID49IDApIHsKKwkJdWtfcHJfaW5mbygibmV0ZGV2JSJQUkl1
MTYiOiBTdGFydGVkIGludGVyZmFjZVxuIiwKKwkJCSAgIGRldi0+X2RhdGEtPmlkKTsKKwkJZGV2
LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfUlVOTklORzsKKwl9CisJcmV0dXJuIHJldDsKK30K
LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:03:32 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:03:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADD8-0002cV-Aq; Wed, 10 Oct 2018 12:03:30 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADD7-0002cQ-EG
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:03:29 +0000
X-Inumbo-ID: 235e3470-cc84-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 235e3470-cc84-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 14:00:54 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 8D466101BA1;
 Wed, 10 Oct 2018 14:03:27 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Ec6mzeYnQ8QS; Wed, 10 Oct 2018 14:03:27 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 6BD531002D2;
 Wed, 10 Oct 2018 14:03:23 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:02:13 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:52 +0200
Message-ID: <1539172854-19138-10-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 09/11] lib/uknetdev: Promiscuous
 mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
aW50ZXJmYWNlcyB0byBxdWVyeSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBtb2Rl
IGZvciBhCm5ldGRldi4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pv
Y2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayAgICAgICAg
ICAgIHwgIDIgKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oICAgICAgfCAyNiAr
KysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaCB8ICA5ICsrKysrKysrKwogbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAgICAg
ICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNo
YW5nZWQsIDcyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCmluZGV4IDhiMTM0OTkuLjZlOGIw
NmIgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCisrKyBiL2xpYi91a25l
dGRldi9leHBvcnRzeW1zLnVrCkBAIC0yNCwzICsyNCw1IEBAIHVrX25ldGRldl90eHFfY29uZmln
dXJlCiB1a19uZXRkZXZfc3RhcnQKIHVrX25ldGRldl9od2FkZHJfc2V0CiB1a19uZXRkZXZfaHdh
ZGRyX2dldAordWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldAordWtfbmV0ZGV2X3Byb21pc2N1b3Vz
X3NldApkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAppbmRleCA0MjNlMzIxLi5iMDY5NzhhIDEwMDY0
NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAorKysgYi9saWIvdWtuZXRk
ZXYvaW5jbHVkZS91ay9uZXRkZXYuaApAQCAtMzA5LDYgKzMwOSwzMiBAQCBjb25zdCBzdHJ1Y3Qg
dWtfaHdhZGRyICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwog
ICovCiBpbnQgdWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBjb25z
dCBzdHJ1Y3QgdWtfaHdhZGRyICpod2FkZHIpOwogCisvKioKKyAqIFJldHVybnMgaWYgcHJvbWlz
Y3VvdXMgbW9kZSBpcyBlbmFibGVkIGZvciBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4KKyAq
CisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEBy
ZXR1cm4KKyAqICAgLSAoMSk6IGlmIHByb21pc2N1b3VzIGlzIGVuYWJsZWQKKyAqICAgLSAoMCk6
IGlmIHByb21pc2N1b3VzIGlzIGRpc2FibGVkLgorICogICAtICgtMSk6IG9uIGVycm9yCisgKi8K
K2ludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7CisK
Ky8qKgorICogRW5hYmxlcyBvciBkaXNhYmxlcyBwcm9taXNjdW91cyBtb2RlIGZvciBhbiBVbmlr
cmFmdCBuZXR3b3JrIGRldmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFm
dCBOZXR3b3JrIERldmljZS4KKyAqIEBwYXJhbSBtb2RlCisgKiAgIC0gKDApOiBkaXNhYmxlIHBy
b21pc2N1b3VzIG1vZGUKKyAqICAgLSAoMSk6IGVuYWJsZSBwcm9taXNjdW91cyBtb2RlCisgKiBA
cmV0dXJuCisgKiAgIC0gKDApOiBpZiBzdWNjZXNzZnVsLgorICogICAtICgtRU5PVFNVUCk6IGlm
IGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgcHJvbWlzY3VvdXMgbW9kZS4KKyAqLworaW50IHVrX25l
dGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSk7CisK
ICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaAppbmRleCBjY2E2ZDEzLi4wMTcxMTI3IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmgKQEAgLTI0MSw2ICsyNDEsMTEgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgdWtf
aHdhZGRyICooKnVrX25ldGRldl9od2FkZHJfZ2V0X3QpKAogdHlwZWRlZiBpbnQgKCp1a19uZXRk
ZXZfaHdhZGRyX3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiAJCQkJICAgICAgY29uc3Qg
c3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKTsKIAorLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRv
IGdldCB0aGUgY3VycmVudCBwcm9taXNjdW91cyBtb2RlICovCit0eXBlZGVmIGludCAoKnVrX25l
dGRldl9wcm9taXNjdW91c19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoqIERy
aXZlciBjYWxsYmFjayB0eXBlIHRvIGVuYWJsZSBvciBkaXNhYmxlIHByb21pc2N1b3VzIG1vZGUg
Ki8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldF90KShzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsIGludCBtb2RlKTsKIAogLyoqCiAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5n
IHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCkBAIC0yNTAsNiArMjU1LDEwIEBA
IHN0cnVjdCB1a19uZXRkZXZfb3BzIHsKIAl1a19uZXRkZXZfaHdhZGRyX2dldF90ICAgICAgICAg
IGh3YWRkcl9nZXQ7ICAgICAgIC8qIHJlY29tbWVuZGVkICovCiAJdWtfbmV0ZGV2X2h3YWRkcl9z
ZXRfdCAgICAgICAgICBod2FkZHJfc2V0OyAgICAgICAvKiBvcHRpb25hbCAqLwogCisJLyoqIFBy
b21pc2N1b3VzIG1vZGUuICovCisJdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldF90ICAgICBwcm9t
aXNjdW91c19zZXQ7ICAvKiBvcHRpb25hbCAqLworCXVrX25ldGRldl9wcm9taXNjdW91c19nZXRf
dCAgICAgcHJvbWlzY3VvdXNfZ2V0OworCiAJLyoqIERldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVz
IGFuZCBpbmZvLiAqLwogCXVrX25ldGRldl9pbmZvX2dldF90ICAgICAgICAgICAgaW5mb19nZXQ7
CiAJdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90ICAgICAgICB0eHFfaW5mb19nZXQ7CmRpZmYgLS1n
aXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKaW5kZXgg
M2ZiNTIxYS4uMGFmNjNhYyAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L25ldGRldi5jCisrKyBi
L2xpYi91a25ldGRldi9uZXRkZXYuYwpAQCAtNzgsNiArNzgsNyBAQCBpbnQgdWtfbmV0ZGV2X2Ry
dl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKIAlV
S19BU1NFUlQoZGV2LT5vcHMtPnR4cV9pbmZvX2dldCk7CiAJVUtfQVNTRVJUKGRldi0+b3BzLT50
eHFfY29uZmlndXJlKTsKIAlVS19BU1NFUlQoZGV2LT5vcHMtPnN0YXJ0KTsKKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldCk7CiAKIAlkZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEo
YSwgbmV0ZGV2X2NvdW50LCAgZHJ2X25hbWUpOwogCWlmICghZGV2LT5fZGF0YSkKQEAgLTQ0OSwz
ICs0NTAsMzcgQEAgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqdWtfbmV0ZGV2X2h3YWRkcl9nZXQo
c3RydWN0IHVrX25ldGRldiAqZGV2KQogCiAJcmV0dXJuIGRldi0+b3BzLT5od2FkZHJfZ2V0KGRl
dik7CiB9CisKK2ludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0KHN0cnVjdCB1a19uZXRkZXYg
KmRldikKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtf
QVNTRVJUKGRldi0+b3BzKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldCk7
CisKKwkvKiBXZSBkbyBzdXBwb3J0IHJldHJpZXZpbmcgb2YgcHJvbWlzY3VvdXMgbW9kZQorCSAq
IG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQKKwkgKi8KKwlVS19BU1NFUlQoZGV2LT5f
ZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NPTkZJR1VSRUQgfHwKKwkJICBkZXYtPl9kYXRhLT5z
dGF0ZSA9PSBVS19ORVRERVZfUlVOTklORyk7CisKKwlyZXR1cm4gZGV2LT5vcHMtPnByb21pc2N1
b3VzX2dldChkZXYpOworfQorCitpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsIGludCBtb2RlKQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VS
VChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMpOworCisJLyogV2UgZG8gc3VwcG9y
dCBzZXR0aW5nIG9mIHByb21pc2N1b3VzIG1vZGUKKwkgKiBvbmx5IHdoZW4gZGV2aWNlIHdhcyBj
b25maWd1cmVkCisJICovCisJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERF
Vl9DT05GSUdVUkVECisJCSAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5J
TkcpOworCisJaWYgKHVubGlrZWx5KCFkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KSkKKwkJcmV0
dXJuIC1FTk9UU1VQOworCisJcmV0dXJuIGRldi0+b3BzLT5wcm9taXNjdW91c19zZXQoZGV2LCBt
b2RlID8gMSA6IDApOworfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:03:45 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:03:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADDN-0002dO-EK; Wed, 10 Oct 2018 12:03:45 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADDM-0002dJ-I3
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:03:44 +0000
X-Inumbo-ID: b6e0195a-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b6e0195a-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:05:01 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C10031039B3;
 Wed, 10 Oct 2018 14:03:42 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bsCqxhfccbIy; Wed, 10 Oct 2018 14:03:42 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 94DFE1039C7;
 Wed, 10 Oct 2018 14:03:38 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:01:41 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:51 +0200
Message-ID: <1539172854-19138-9-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 08/11] lib/uknetdev: Hardware
 address interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
YSBnZXR0ZXIgYW5kIGEgc2V0dGVyIGZvciBhIG5ldGRldidzIGhhcmR3YXJlIGFkZHJlc3MgKE1B
QykuIFRoaXMKQVBJIGludGVyZmFjZSBpcyBvcHRpb25hbCBmb3IgYSBkcml2ZXIgdG8gaW1wbGVt
ZW50LiBCeSBtYWtpbmcgdGhpcwpvcHRpb25hbCB3ZSBjb3VsZCBzdXBwb3J0IG5ldHdvcmsgZGV2
aWNlcyB0aGF0IG9wZXJhdGUgb24gTDMgaW4gdGhlCmZ1dHVyZS4KClNpZ25lZC1vZmYtYnk6IFNp
bW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2
YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51ayAgICAgICAgICAgIHwgIDIgKysKIGxpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldi5oICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKwogbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCB8IDIyICsrKysrKysrKysrKysrKysrKysrCiBs
aWIvdWtuZXRkZXYvbmV0ZGV2LmMgICAgICAgICAgICAgICAgIHwgMzggKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgODcgaW5zZXJ0aW9ucygrKQoK
ZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4
cG9ydHN5bXMudWsKaW5kZXggYzczM2Q4MS4uOGIxMzQ5OSAxMDA2NDQKLS0tIGEvbGliL3VrbmV0
ZGV2L2V4cG9ydHN5bXMudWsKKysrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKQEAgLTIy
LDMgKzIyLDUgQEAgdWtfbmV0ZGV2X2NvbmZpZ3VyZQogdWtfbmV0ZGV2X3J4cV9jb25maWd1cmUK
IHVrX25ldGRldl90eHFfY29uZmlndXJlCiB1a19uZXRkZXZfc3RhcnQKK3VrX25ldGRldl9od2Fk
ZHJfc2V0Cit1a19uZXRkZXZfaHdhZGRyX2dldApkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2lu
Y2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAppbmRl
eCA3MjIzYmE3Li40MjNlMzIxIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9u
ZXRkZXYuaAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaApAQCAtMjg0LDYg
KzI4NCwzMSBAQCBpbnQgdWtfbmV0ZGV2X3R4cV9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAq
ZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKICAqLwogaW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYpOwogCisvKioKKyAqIFJldHVybnMgdGhlIGhhcmR3YXJlIGFkZHJlc3Mg
b2YgdGhlIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAg
VGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHJldHVybgorICogICAtIChOVUxMKTog
bm8gaGFyZHdhcmUgYWRkcmVzcyBhdmFpbGFibGUKKyAqICAgLSAoc3RydWN0IHVrX2h3YWRkciAq
KTogUmVmZXJlbmNlIHRvIGhhcmR3YXJlIGFkZHJlc3MKKyAqLworY29uc3Qgc3RydWN0IHVrX2h3
YWRkciAqdWtfbmV0ZGV2X2h3YWRkcl9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoq
CisgKiBTZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3MuCisgKgorICogQHBhcmFtIGRldgorICogICBU
aGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisgKiBAcGFyYW0gaHdhZGRyCisgKiAgIFJlZmVy
ZW5jZSB0byBuZXcgaGFyZHdhcmUgYWRkcmVzcy4KKyAqIEByZXR1cm4KKyAqICAgLSAoMCk6IGlm
IHN1Y2Nlc3NmdWwuCisgKiAgIC0gKC1FTk9UU1VQKTogaWYgaGFyZHdhcmUgZG9lc24ndCBzdXBw
b3J0LgorICogICAtICgtRUlOVkFMKTogaWYgYWRkcmVzcyBpcyBpbnZhbGlkLgorICovCitpbnQg
dWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBjb25zdCBzdHJ1Y3Qg
dWtfaHdhZGRyICpod2FkZHIpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKaW5kZXggMDJjNWJhMC4uY2NhNmQxMyAxMDA2
NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAorKysgYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCkBAIC02OSw2ICs2OSwxNSBAQCBzdHJ1
Y3QgdWtfbmV0ZGV2OwogVUtfVEFJTFFfSEVBRCh1a19uZXRkZXZfbGlzdCwgc3RydWN0IHVrX25l
dGRldik7CiAKIC8qKgorICogQSBzdHJ1Y3R1cmUgdXNlZCBmb3IgRXRoZXJuZXQgaGFyZHdhcmUg
YWRkcmVzc2VzCisgKi8KKyNkZWZpbmUgVUtfTkVUREVWX0hXQUREUl9MRU4gNiAvKio8IExlbmd0
aCBvZiBFdGhlcm5ldCBhZGRyZXNzLiAqLworCitzdHJ1Y3QgdWtfaHdhZGRyIHsKKwl1aW50OF90
IGFkZHJfYnl0ZXNbVUtfTkVUREVWX0hXQUREUl9MRU5dOworfSBfX3BhY2tlZDsKKworLyoqCiAg
KiBBIHN0cnVjdHVyZSB1c2VkIHRvIGRlc2NyaWJlIG5ldHdvcmsgZGV2aWNlIGNhcGFiaWxpdGll
cy4KICAqLwogc3RydWN0IHVrX25ldGRldl9pbmZvIHsKQEAgLTIyNCwxMCArMjMzLDIzIEBAIHR5
cGVkZWYgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3J4cV9jb25maWd1
cmVfdCkoCiAvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc3RhcnQgYSBjb25maWd1cmVkIFVu
aWtyYWZ0IG5ldHdvcmsgZGV2aWNlLiAqLwogdHlwZWRlZiBpbnQgICgqdWtfbmV0ZGV2X3N0YXJ0
X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7CiAKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0
byBnZXQgdGhlIGhhcmR3YXJlIGFkZHJlc3MuICovCit0eXBlZGVmIGNvbnN0IHN0cnVjdCB1a19o
d2FkZHIgKigqdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCkoCisJc3RydWN0IHVrX25ldGRldiAqZGV2
KTsKKworLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB0aGUgaGFyZHdhcmUgYWRkcmVz
cy4gKi8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdCkoc3RydWN0IHVrX25l
dGRldiAqZGV2LAorCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcik7CisK
KwogLyoqCiAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQg
YnkgYSBkcml2ZXIuCiAgKi8KIHN0cnVjdCB1a19uZXRkZXZfb3BzIHsKKwkvKiogU2V0L0dldCBo
YXJkd2FyZSBhZGRyZXNzLiAqLworCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdh
ZGRyX2dldDsgICAgICAgLyogcmVjb21tZW5kZWQgKi8KKwl1a19uZXRkZXZfaHdhZGRyX3NldF90
ICAgICAgICAgIGh3YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCisKIAkvKiogRGV2aWNl
L2RyaXZlciBjYXBhYmlsaXRpZXMgYW5kIGluZm8uICovCiAJdWtfbmV0ZGV2X2luZm9fZ2V0X3Qg
ICAgICAgICAgICBpbmZvX2dldDsKIAl1a19uZXRkZXZfdHhxX2luZm9fZ2V0X3QgICAgICAgIHR4
cV9pbmZvX2dldDsKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRkZXYuYyBiL2xpYi91a25l
dGRldi9uZXRkZXYuYwppbmRleCAzZWVhNWVkLi4zZmI1MjFhIDEwMDY0NAotLS0gYS9saWIvdWtu
ZXRkZXYvbmV0ZGV2LmMKKysrIGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCkBAIC00MTEsMyArNDEx
LDQxIEBAIGludCB1a19uZXRkZXZfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqZGV2KQogCX0KIAly
ZXR1cm4gcmV0OwogfQorCitpbnQgdWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0IHVrX25ldGRl
diAqZGV2LAorCQkJIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcikKK3sKKwlVS19BU1NF
UlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsK
KwlVS19BU1NFUlQoaHdhZGRyKTsKKworCS8qIFdlIGRvIHN1cHBvcnQgY2hhbmdpbmcgb2YgaHdh
ZGRyCisJICogb25seSB3aGVuIGRldmljZSB3YXMgY29uZmlndXJlZAorCSAqLworCVVLX0FTU0VS
VChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfQ09ORklHVVJFRAorCQkgIHx8IGRldi0+
X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKKworCWlmIChkZXYtPm9wcy0+aHdh
ZGRyX3NldCA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT1RTVVA7CisKKwlyZXR1cm4gZGV2LT5vcHMt
Pmh3YWRkcl9zZXQoZGV2LCBod2FkZHIpOworfQorCitjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp1
a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCit7CisJVUtfQVNTRVJU
KGRldik7CisJVUtfQVNTRVJUKGRldi0+X2RhdGEpOworCVVLX0FTU0VSVChkZXYtPm9wcyk7CisK
KwkvKiBXZSBkbyBzdXBwb3J0IHJldHJpZXZpbmcgb2YgaHdhZGRyCisJICogb25seSB3aGVuIGRl
dmljZSB3YXMgY29uZmlndXJlZAorCSAqLworCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9
PSBVS19ORVRERVZfQ09ORklHVVJFRAorCQkgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05F
VERFVl9SVU5OSU5HKTsKKworCWlmICghZGV2LT5vcHMtPmh3YWRkcl9nZXQpCisJCXJldHVybiBO
VUxMOworCisJcmV0dXJuIGRldi0+b3BzLT5od2FkZHJfZ2V0KGRldik7Cit9Ci0tIAoyLjcuNAoK
Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1k
ZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBz
Oi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:03:49 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:03:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADDR-0002dv-G5; Wed, 10 Oct 2018 12:03:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADDQ-0002dp-Gm
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:03:48 +0000
X-Inumbo-ID: b94889c6-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b94889c6-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:05:05 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C91901039DD;
 Wed, 10 Oct 2018 14:03:46 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nhoDiCu8xFbJ; Wed, 10 Oct 2018 14:03:46 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 9ED1C1039B3;
 Wed, 10 Oct 2018 14:03:42 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:02:43 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:53 +0200
Message-ID: <1539172854-19138-11-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 10/11] lib/uknetdev: MTU
 interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
aW50ZXJmYWNlcyB0byBxdWVyeSBhbmQgc2V0IHRoZSBtYXhpbXVtIHRyYW5zbWlzc2lvbiB1bml0
IChNVFUpCmZvciBhIG5ldGRldi4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9u
Lmt1ZW56ZXJAbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZh
bi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayAg
ICAgICAgICAgIHwgIDIgKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oICAgICAg
fCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldl9jb3JlLmggfCAxMCArKysrKysrKysrCiBsaWIvdWtuZXRkZXYvbmV0ZGV2LmMgICAg
ICAgICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQg
ZmlsZXMgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKaW5kZXggNmU4YjA2
Yi4uOWUyNjRiZCAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKKysrIGIv
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKQEAgLTI2LDMgKzI2LDUgQEAgdWtfbmV0ZGV2X2h3
YWRkcl9zZXQKIHVrX25ldGRldl9od2FkZHJfZ2V0CiB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0
CiB1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0Cit1a19uZXRkZXZfbXR1X2dldAordWtfbmV0ZGV2
X210dV9zZXQKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIGIv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKaW5kZXggYjA2OTc4YS4uZTUyNzUzNCAx
MDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKKysrIGIvbGliL3Vr
bmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKQEAgLTMzNSw2ICszMzUsMzMgQEAgaW50IHVrX25l
dGRldl9wcm9taXNjdW91c19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKICAqLwogaW50IHVr
X25ldGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSk7
CiAKKy8qKgorICogUmV0dXJucyB0aGUgTVRVIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNl
LgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgor
ICogQHJldHVybgorICogICAtICg+MCk6IE1UVSBvZiB0aGUgdWtfbmV0ZGV2CisgKiAgIC0gKC1F
Tk9UU1VQKTogZHJpdmVyIGRpZCBub3Qgc2V0IGEgTVRVLgorICovCitpbnQgdWtfbmV0ZGV2X210
dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoqCisgKiBDaGFuZ2UgdGhlIE1UVSBv
ZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRo
ZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEBwYXJhbSBtdHUKKyAqICAgQSB1aW50MTZf
dCBmb3IgdGhlIE1UVSB0byBiZSBhcHBsaWVkLgorICogQHJldHVybgorICogICAtICgwKTogaWYg
c3VjY2Vzc2Z1bC4KKyAqICAgLSAoLUVOT1RTVVApOiBpZiBvcGVyYXRpb24gaXMgbm90IHN1cHBv
cnRlZC4KKyAqICAgLSAoLUVJTyk6IGlmIGRldmljZSBpcyByZW1vdmVkLgorICogICAtICgtRUlO
VkFMKTogaWYgKm10dSogaW52YWxpZC4KKyAqICAgLSAoLUVCVVNZKTogaWYgb3BlcmF0aW9uIGlz
IG5vdCBhbGxvd2VkIHdoZW4gdGhlIGRldmljZSBpcyBydW5uaW5nCisgKi8KK2ludCB1a19uZXRk
ZXZfbXR1X3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSk7CisKICNpZmRl
ZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUu
aAppbmRleCAwMTcxMTI3Li5mNzhmOTkyIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9j
b3JlLmgKQEAgLTI0Nyw2ICsyNDcsMTIgQEAgdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcHJvbWlz
Y3VvdXNfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7CiAvKiogRHJpdmVyIGNhbGxiYWNr
IHR5cGUgdG8gZW5hYmxlIG9yIGRpc2FibGUgcHJvbWlzY3VvdXMgbW9kZSAqLwogdHlwZWRlZiBp
bnQgKCp1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwg
aW50IG1vZGUpOwogCisvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gZ2V0IHRoZSBNVFUuICov
Cit0eXBlZGVmIHVpbnQxNl90ICgqdWtfbmV0ZGV2X210dV9nZXRfdCkoc3RydWN0IHVrX25ldGRl
diAqZGV2KTsKKworLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB0aGUgTVRVICovCit0
eXBlZGVmIGludCAoKnVrX25ldGRldl9tdHVfc2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwg
dWludDE2X3QgbXR1KTsKKwogLyoqCiAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5j
dGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCiAgKi8KQEAgLTI1NSw2ICsyNjEsMTAgQEAgc3Ry
dWN0IHVrX25ldGRldl9vcHMgewogCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdh
ZGRyX2dldDsgICAgICAgLyogcmVjb21tZW5kZWQgKi8KIAl1a19uZXRkZXZfaHdhZGRyX3NldF90
ICAgICAgICAgIGh3YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCiAKKwkvKiogU2V0L0dl
dCBNVFUuICovCisJdWtfbmV0ZGV2X210dV9nZXRfdCAgICAgICAgICAgICBtdHVfZ2V0OworCXVr
X25ldGRldl9tdHVfc2V0X3QgICAgICAgICAgICAgbXR1X3NldDsgICAgICAgICAgLyogb3B0aW9u
YWwgKi8KKwogCS8qKiBQcm9taXNjdW91cyBtb2RlLiAqLwogCXVrX25ldGRldl9wcm9taXNjdW91
c19zZXRfdCAgICAgcHJvbWlzY3VvdXNfc2V0OyAgLyogb3B0aW9uYWwgKi8KIAl1a19uZXRkZXZf
cHJvbWlzY3VvdXNfZ2V0X3QgICAgIHByb21pc2N1b3VzX2dldDsKZGlmZiAtLWdpdCBhL2xpYi91
a25ldGRldi9uZXRkZXYuYyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwppbmRleCAwYWY2M2FjLi42
Mjc3MzU0IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKKysrIGIvbGliL3VrbmV0
ZGV2L25ldGRldi5jCkBAIC03OSw2ICs3OSw3IEBAIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVy
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAogCVVLX0FTU0VSVChk
ZXYtPm9wcy0+dHhxX2NvbmZpZ3VyZSk7CiAJVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFydCk7CiAJ
VUtfQVNTRVJUKGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQpOworCVVLX0FTU0VSVChkZXYtPm9w
cy0+bXR1X2dldCk7CiAKIAlkZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50
LCAgZHJ2X25hbWUpOwogCWlmICghZGV2LT5fZGF0YSkKQEAgLTQ4NCwzICs0ODUsMzcgQEAgaW50
IHVrX25ldGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9k
ZSkKIAogCXJldHVybiBkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9kZSA/IDEgOiAw
KTsKIH0KKworaW50IHVrX25ldGRldl9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldikKK3sK
KwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRl
di0+b3BzKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPm10dV9nZXQpOworCisJLyogV2UgZG8gc3Vw
cG9ydCBzZXR0aW5nIG9mIE1UVQorCSAqIG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQK
KwkgKi8KKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NPTkZJR1VS
RUQKKwkJICB8fCBkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfUlVOTklORyk7CisKKwly
ZXR1cm4gZGV2LT5vcHMtPm10dV9nZXQoZGV2KTsKK30KKworaW50IHVrX25ldGRldl9tdHVfc2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgbXR1KQoreworCVVLX0FTU0VSVChkZXYp
OworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMpOworCisJLyog
V2UgZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIE1UVQorCSAqIG9ubHkgd2hlbiBkZXZpY2Ugd2Fz
IGNvbmZpZ3VyZWQKKwkgKi8KKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVU
REVWX0NPTkZJR1VSRUQKKwkJICB8fCBkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfUlVO
TklORyk7CisKKwlpZiAoZGV2LT5vcHMtPm10dV9zZXQgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9U
U1VQOworCisJcmV0dXJuIGRldi0+b3BzLT5tdHVfc2V0KGRldiwgbXR1KTsKK30KLS0gCjIuNy40
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:03:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADDV-0002eV-I3; Wed, 10 Oct 2018 12:03:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gADDU-0002eM-F6
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:03:52 +0000
X-Inumbo-ID: bbb14286-cc84-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bbb14286-cc84-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:05:09 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D0DE41039DD;
 Wed, 10 Oct 2018 14:03:50 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id SeQmR0peT_Xj; Wed, 10 Oct 2018 14:03:50 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id A7B191039B3;
 Wed, 10 Oct 2018 14:03:46 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 14:02:43 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:00:54 +0200
Message-ID: <1539172854-19138-12-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 11/11] lib/uknetdev: Packet
 reception and transmission interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgaW50ZXJmYWNlcyBmb3Igc2luZ2xlIHBhY2tldCB0cmFuc21pc3Npb24gYW5kCnJlY2Vw
dGlvbi4gQm90aCBpbnRlcmZhY2VzIGFyZSBkZXNpZ25lZCB0byBzdXBwb3J0IGFzeW5jaHJvbm91
cwp6ZXJvLWNvcHkgb3BlcmF0aW9uIHdpdGggbmV0YnVmcy4gUmVjZWl2aW5nIGNhbiBiZSBkb25l
IHdpdGgKaW50ZXJydXB0cyBvciB3aXRoIHBvbGxpbmcuIFRyYW5zbWlzc2lvbiBzdXBwb3J0cyBv
bmx5IHBvbGxpbmcgbW9kZQpmb3Igbm93LgoKU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8
c2ltb24ua3VlbnplckBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8
cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgotLS0KIGxpYi91a25ldGRldi9leHBvcnRzeW1z
LnVrICAgICAgICAgICAgICB8ICAgMiArCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aCAgICAgICAgfCAxMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggICB8ICAzNiArKysrKysrKy0KIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaCB8ICAyOCArKysrKysrCiBsaWIvdWtuZXRk
ZXYvbmV0ZGV2LmMgICAgICAgICAgICAgICAgICAgfCAgMzMgKysrKysrKysKIDUgZmlsZXMgY2hh
bmdlZCwgMjI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awppbmRl
eCA5ZTI2NGJkLi5kNmY2ZmNmIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
aworKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awpAQCAtMjgsMyArMjgsNSBAQCB1a19u
ZXRkZXZfcHJvbWlzY3VvdXNfZ2V0CiB1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0CiB1a19uZXRk
ZXZfbXR1X2dldAogdWtfbmV0ZGV2X210dV9zZXQKK3VrX25ldGRldl9yeHFfaW50cl9lbmFibGUK
K3VrX25ldGRldl9yeHFfaW50cl9kaXNhYmxlCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCmluZGV4
IGU1Mjc1MzQuLjExZGQ3ZGYgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldi5oCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0zNjIsNiAr
MzYyLDEzNiBAQCBpbnQgdWtfbmV0ZGV2X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsK
ICAqLwogaW50IHVrX25ldGRldl9tdHVfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2
X3QgbXR1KTsKIAorLyoqCisgKiBFbmFibGUgaW50ZXJydXB0cyBmb3IgYW4gUlggcXVldWUuCisg
KgorICogQHBhcmFtIGRldgorICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gcnVu
bmluZyBzdGF0ZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICogICBUaGUgaW5kZXggb2YgdGhlIHJl
Y2VpdmUgcXVldWUgdG8gc2V0IHVwLgorICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFu
Z2UgWzAsIG5iX3J4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBwbGllZAorICogICB0byB1a19u
ZXRkZXZfY29uZmlndXJlKCkuCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBTdWNjZXNzLCBpbnRl
cnJ1cHRzIGVuYWJsZWQuCisgKiAgIC0gKDEpOiBNb3JlIHBhY2tldHMgYXJlIGxlZnQgb24gdGhl
IHF1ZXVlLCBpbnRlcnJ1cHRzIGFyZSBOT1QgZW5hYmxlZCB5ZXQuCisgKiAgICAgICAgICBJbnRl
cnJ1cHRzIHdpbGwgYmUgYXV0b21hdGljYWxseSBlbmFibGVkIHdoZW4gYWxsIHJlY2VpdmVkIHBh
Y2tldHMKKyAqICAgICAgICAgIG9uIHRoZSBxdWV1ZSBhcmUgY29uc3VtZWQgYW5kIHRoZSByZWNl
aXZlIHF1ZXVlIGlzIGVtcHR5LgorICogICAtICgtRU5PVFNVUCk6IERyaXZlciBkb2VzIG5vdCBz
dXBwb3J0IGludGVycnVwdHMuCisgKi8KK2ludCB1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlKHN0
cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCSAgICAgIHVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKKwor
LyoqCisgKiBEaXNhYmxlIGludGVycnVwdHMgZm9yIGFuIFJYIHF1ZXVlLgorICoKKyAqIEBwYXJh
bSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIGluIHJ1bm5pbmcgc3RhdGUu
CisgKiBAcGFyYW0gcXVldWVfaWQKKyAqICAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVl
IHRvIHNldCB1cC4KKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl90
eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZp
Z3VyZSgpLgorICogQHJldHVybgorICogICAtICgwKTogU3VjY2VzcywgaW50ZXJydXB0cyBkaXNh
YmxlZC4KKyAqICAgLSAoLUVOT1RTVVApOiBEcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnJ1
cHRzLgorICovCitpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRl
diAqZGV2LAorCQkJICAgICAgIHVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKKworLyoqCisgKiBSZWNl
aXZlIG9uZSBwYWNrZXQgYW5kIHJlLXByb2dyYW0gdXNlZCByZWNlaXZlIGRlc2NyaXB0b3IKKyAq
IFBsZWFzZSBub3RlIHRoYXQgYmVmb3JlIGFueSBwYWNrZXQgY2FuIGJlIHJlY2VpdmVkLCB0aGUg
cmVjZWl2ZSBxdWV1ZQorICogaGFzIHRvIGJlIGZpbGxlZCB1cCB3aXRoIGVtcHR5IG5ldGJ1ZnMg
KHNlZSBmaWxsdXAgcGFyYW1ldGVyKS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlr
cmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICogICBUaGUgaW5kZXgg
b2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gcmVjZWl2ZSBmcm9tLgorICogICBUaGUgdmFsdWUgbXVz
dCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBwbGll
ZAorICogICB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCisgKiBAcGFyYW0gcGt0CisgKiAgIFJl
ZmVyZW5jZSB0byBuZXRidWYgcG9pbnRlciB3aGljaCB3aWxsIGJlIHBvaW50IHRvIHRoZSByZWNl
aXZlZCBwYWNrZXQKKyAqICAgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuIENhbiBiZSBOVUxMIGlm
IGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJvZ3JhbQorICogICByZWNlaXZlIGRlc2NyaXB0b3JzIG9u
bHkuCisgKiBAcGFyYW0gZmlsbHVwCisgKiAgIEFycmF5IG9mIG5ldGJ1ZnMgdGhhdCBzaG91bGQg
YmUgdXNlZCB0byBwcm9ncmFtIHVzZWQgZGVzY3JpcHRvcnMgYWdhaW4uCisgKiAgIEVhY2ggb2Yg
dGhlIG5ldGJ1ZiBzaG91bGQgYmUgZnJlc2hseSBhbGxvY2F0ZWQvaW5pdGlhbGl6ZWQgYW5kIG5v
dCBwYXJ0CisgKiAgIG9mIGFueSBjaGFpbi4KKyAqICAgYGZpbGx1cGAgY2FuIGJlIGBOVUxMYCBi
dXQgd2l0aG91dCByZS1wcm9ncmFtbWluZyBvZiB1c2VkIGRlc2NyaXB0b3JzIG5vCisgKiAgIG5l
dyBwYWNrZXRzIGNhbiBiZSByZWNlaXZlZCBhdCBzb21lIHBvaW50LgorICogQHBhcmFtIGZpbGx1
cF9jb3VudAorICogICBMZW5ndGggb2YgYGZpbGx1cGAgYXJyYXkuIEFmdGVyIHRoZSBmdW5jdGlv
biBjYWxsLCBgZmlsbHVwX2NvdW50YCByZXR1cm5zCisgKiAgIHRoZSBudW1iZXIgb2YgbGVmdCBh
bmQgdW51c2VkIG5ldGJ1ZnMgb24gdGhlIGFycmF5LiBgZmlsbHVwX2NvdW50YCBoYXMgdG8KKyAq
ICAgdG8gMCBpZiBgZmlsbHVwYCBpcyBgTlVMTGAuCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBO
byBwYWNrZXQgYXZhaWxhYmxlIG9yIGBwa3RgIHdhcyBzZXQgdG8gTlVMTCwKKyAqICAgICAgICAg
IGNoZWNrIGBmaWxsdXBfY291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKKyAqICAgLSAo
MSk6IGBwa3RgIHBvaW50cyB0byByZWNlaXZlZCBuZXRidWYsCisgKiAgICAgICAgICBjaGVjayBg
ZmlsbHVwX2NvdW50YCBmb3IgdXNlZCBgZmlsbHVwYCBuZXRidWZzCisgKiAgIC0gKDIpOiBgcGt0
YCBwb2ludHMgdG8gcmVjZWl2ZWQgbmV0YnVmIGJ1dCBtb3JlIHJlY2VpdmVkIHBhY2tldHMgYXJl
CisgKiAgICAgICAgICBhdmFpbGFibGUgb24gdGhlIHJlY2VpdmUgcXVldWUuIFdoZW4gaW50ZXJy
dXB0cyBhcmUgdXNlZCwgdGhleSBhcmUKKyAqICAgICAgICAgIGRpc2FibGVkIHVudGlsIDEgaXMg
cmV0dXJuZWQgb24gYSBzdWJzZXF1ZW50IGNhbGwsCisgKiAgICAgICAgICBjaGVjayBgZmlsbHVw
X2NvdW50YCBmb3IgdXNlZCBgZmlsbHVwYCBuZXRidWZzCisgKiAgIC0gKDwwKTogRXJyb3IgY29k
ZSBmcm9tIGRyaXZlcgorICovCitzdGF0aWMgaW5saW5lIGludCB1a19uZXRkZXZfcnhfb25lKHN0
cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCisJCQkJICAgc3RydWN0IHVr
X25ldGJ1ZiAqKnBrdCwKKwkJCQkgICBzdHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKKwkJCQkg
ICB1aW50MTZfdCAqZmlsbHVwX2NvdW50KQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VS
VChkZXYtPnJ4X29uZSk7CisJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVW
X01BWE5CUVVFVUVTKTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVW
X1JVTk5JTkcpOworCVVLX0FTU0VSVCghUFRSSVNFUlIoZGV2LT5fcnhfcXVldWVbcXVldWVfaWRd
KSk7CisJVUtfQVNTRVJUKCghZmlsbHVwICYmIGZpbGx1cF9jb3VudCkgfHwgZmlsbHVwKTsKKwor
CXJldHVybiBkZXYtPnJ4X29uZShkZXYsIGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSwgcGt0LAor
CQkJICAgZmlsbHVwLCBmaWxsdXBfY291bnQpOworfQorCisvKioKKyAqIFNob3J0Y3V0IGZvciBv
bmx5IGZpbGxpbmcgdXAgYSByZWNlaXZlIHF1ZXVlIHdpdGggZW1wdHkgbmV0YnVmcworICovCisj
ZGVmaW5lIHVrX25ldGRldl9yeF9maWxsdXAoZGV2LCBxdWV1ZV9pZCwgZmlsbHVwLCBmaWxsdXBf
Y291bnQpCVwKKwl1a19uZXRkZXZfcnhfb25lKChkZXYpLCAocXVldWVfaWQpLCBOVUxMLCAoZmls
bHVwKSwgKGZpbGx1cF9jb3VudCkpCisKKy8qKgorICogVHJhbnNtaXQgb25lIHBhY2tldAorICoK
KyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBh
cmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byByZWNl
aXZlIGZyb20uCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfdHhf
cXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisgKiAgIHRvIHVrX25ldGRldl9jb25maWd1
cmUoKS4KKyAqIEBwYXJhbSBwa3QKKyAqICAgUmVmZXJlbmNlIHRvIG5ldGJ1ZiB0byBzZW50LiBQ
YWNrZXQgaXMgZnJlZSdkIGJ5IHRoZSBkcml2ZXIgYWZ0ZXIgc2VuZGluZworICogICB3YXMgc3Vj
Y2Vzc2Z1bGx5IGZpbmlzaGVkIGJ5IHRoZSBkZXZpY2UuCisgKiAgIFBsZWFzZSBub3RlIHRoYXQg
c29tZSBkcml2ZXJzIG1heSByZXF1aXJlIGF2YWlsYWJsZSBoZWFkcm9vbSBvbiB0aGUgbmV0YnVm
CisgKiAgIGZvciBkb2luZyBhIHRyYW5zbWlzc2lvbiAtIGluc3BlY3QgYG5iX2VuY2FwYCB3aXRo
IHVrX25ldGRldl9pbmZvX2dldCgpLgorICogICBgcGt0YCBoYXMgbmV2ZXIgdG8gYmUgYE5VTExg
LgorICogQHJldHVybgorICogICAtICgwKTogTm8gc3BhY2UgbGVmdCBvbiB0cmFuc21pdCBxdWV1
ZSwgYHBrdGAgaXMgbm90IHNlbnQKKyAqICAgLSAoMSk6IGBwa3RgIHdhcyBzdWNjZXNzZnVsbHkg
cHV0IHRvIHRoZSB0cmFuc21pdCBxdWV1ZSwKKyAqICAgICAgICAgIHF1ZXVlIGlzIGN1cnJlbnRs
eSBmdWxsCisgKiAgIC0gKDIpOiBgcGt0YCB3YXMgc3VjY2Vzc2Z1bGx5IHB1dCB0byB0aGUgdHJh
bnNtaXQgcXVldWUsCisgKiAgICAgICAgICB0aGVyZSBpcyBzdGlsbCBhdCBsZWFzdCBvbmUgZGVz
Y3JpcHRvciBhdmFpbGFibGUgZm9yIGEKKyAqICAgICAgICAgIHN1YnNlcXVlbnQgdHJhbnNtaXNz
aW9uCisgKiAgIC0gKDwwKTogRXJyb3IgY29kZSBmcm9tIGRyaXZlciwgYHBrdGAgaXMgbm90IHNl
bnQKKyAqLworc3RhdGljIGlubGluZSBpbnQgdWtfbmV0ZGV2X3R4X29uZShzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJCSAgIHN0cnVjdCB1a19uZXRidWYgKnBr
dCkKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT50eF9vbmUpOworCVVLX0FT
U0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7CisJVUtfQVNT
RVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKKwlVS19BU1NFUlQo
IVBUUklTRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSkpOworCVVLX0FTU0VSVChwa3QpOwor
CisJcmV0dXJuIGRldi0+dHhfb25lKGRldiwgZGV2LT5fdHhfcXVldWVbcXVldWVfaWRdLCBwa3Qp
OworfQorCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3Vr
bmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldl9jb3JlLmgKaW5kZXggZjc4Zjk5Mi4uNDc5MDA3ZSAxMDA2NDQKLS0tIGEvbGliL3Vr
bmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oCkBAIC0yNTMsMTAgKzI1MywzNCBAQCB0eXBlZGVmIHVpbnQxNl90
ICgqdWtfbmV0ZGV2X210dV9nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKIC8qKiBEcml2
ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdGhlIE1UVSAqLwogdHlwZWRlZiBpbnQgKCp1a19uZXRk
ZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSk7CiAKKy8q
KiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBlbmFibGUgaW50ZXJydXB0cyBvZiBhIFJYIHF1ZXVl
ICovCit0eXBlZGVmIGludCAoKnVrX25ldGRldl9yeHFfaW50cl9lbmFibGVfdCkoc3RydWN0IHVr
X25ldGRldiAqZGV2LAorCQkJCQkgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7
CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBkaXNhYmxlIGludGVycnVwdHMgb2YgYSBS
WCBxdWV1ZSAqLwordHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhxX2ludHJfZGlzYWJsZV90KShz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpxdWV1ZSk7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZXRyaWV2ZSBvbmUgcGFj
a2V0IGZyb20gYSBSWCBxdWV1ZS4gKi8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3J4X29uZV90
KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpxdWV1ZSwKKwkJCQkgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCisJCQkJICBzdHJ1Y3QgdWtf
bmV0YnVmICpmaWxsdXBbXSwKKwkJCQkgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpOworCisvKiog
RHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc3VibWl0IG9uZSBwYWNrZXQgdG8gYSBUWCBxdWV1ZS4g
Ki8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3R4X29uZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCisJCQkJICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKKwkJCQkgIHN0cnVj
dCB1a19uZXRidWYgKnBrdCk7CisKIC8qKgogICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUg
ZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IGEgZHJpdmVyLgogICovCiBzdHJ1Y3QgdWtfbmV0ZGV2X29w
cyB7CisJLyoqIFJYIHF1ZXVlIGludGVycnVwdHMuICovCisJdWtfbmV0ZGV2X3J4cV9pbnRyX2Vu
YWJsZV90ICAgICByeHFfaW50cl9lbmFibGU7ICAvKiBvcHRpb25hbCAqLworCXVrX25ldGRldl9y
eHFfaW50cl9kaXNhYmxlX3QgICAgcnhxX2ludHJfZGlzYWJsZTsgLyogb3B0aW9uYWwgKi8KKwog
CS8qKiBTZXQvR2V0IGhhcmR3YXJlIGFkZHJlc3MuICovCiAJdWtfbmV0ZGV2X2h3YWRkcl9nZXRf
dCAgICAgICAgICBod2FkZHJfZ2V0OyAgICAgICAvKiByZWNvbW1lbmRlZCAqLwogCXVrX25ldGRl
dl9od2FkZHJfc2V0X3QgICAgICAgICAgaHdhZGRyX3NldDsgICAgICAgLyogb3B0aW9uYWwgKi8K
QEAgLTMxOCwxMCArMzQyLDE4IEBAIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7CiAgKiBORVRERVYK
ICAqIEEgc3RydWN0dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsgZGV2aWNlLgog
ICoKLSAqIEZ1bmN0aW9uIGNhbGxiYWNrcyAob3BzKSBhcmUgcmVnaXN0ZXJlZCBieSB0aGUgZHJp
dmVyIGJlZm9yZQotICogcmVnaXN0ZXJpbmcgdGhlIG5ldGRldi4gVGhleSBjaGFuZ2UgZHVyaW5n
IGRldmljZSBsaWZlIHRpbWUuCisgKiBGdW5jdGlvbiBjYWxsYmFja3MgKHR4X29uZSwgcnhfb25l
LCBvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlCisgKiByZWdpc3Rlcmlu
ZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBkdXJpbmcgZGV2aWNlIGxpZmUgdGltZS4gUGFja2V0
IFJYL1RYCisgKiBmdW5jdGlvbnMgYXJlIGFkZGVkIGRpcmVjdGx5IHRvIHRoaXMgc3RydWN0dXJl
IGZvciBwZXJmb3JtYW5jZSByZWFzb25zLgorICogSXQgcHJldmVudHMgYW5vdGhlciBpbmRpcmVj
dGlvbiB0byBvcHMuCiAgKi8KIHN0cnVjdCB1a19uZXRkZXYgeworCS8qKiBQYWNrZXQgdHJhbnNt
aXNzaW9uLiAqLworCXVrX25ldGRldl90eF9vbmVfdCAgICAgICAgICB0eF9vbmU7IC8qIGJ5IGRy
aXZlciAqLworCisJLyoqIFBhY2tldCByZWNlcHRpb24uICovCisJdWtfbmV0ZGV2X3J4X29uZV90
ICAgICAgICAgIHJ4X29uZTsgLyogYnkgZHJpdmVyICovCisKIAkvKiogUG9pbnRlciB0byBBUEkt
aW50ZXJuYWwgc3RhdGUgZGF0YS4gKi8KIAlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgICAgICAgKl9k
YXRhOwogCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVy
LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKaW5kZXggYWM4Y2U2
MS4uNTEyYjc0YiAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2Ry
aXZlci5oCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaApAQCAt
NjcsNiArNjcsMzQgQEAgZXh0ZXJuICJDIiB7CiBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3Rlcihz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKIAkJCSAgIGNvbnN0IGNo
YXIgKmRydl9uYW1lKTsKIAorLyoqCisgKiBGb3J3YXJkcyBhbiBSWCBxdWV1ZSBldmVudCB0byB0
aGUgQVBJIHVzZXIKKyAqIENhbiAoYW5kIHNob3VsZCkgYmUgY2FsbGVkIGZyb20gZGV2aWNlIGlu
dGVycnVwdCBjb250ZXh0CisgKgorICogQHBhcmFtIGRldgorICogICBVbmlrcmFmdCBuZXR3b3Jr
IGRldmljZSB0byB3aGljaCB0aGUgZXZlbnQgcmVsYXRlcyB0bworICogQHBhcmFtIHF1ZXVlX2lk
CisgKiAgIHJlY2VpdmUgcXVldWUgSUQgdG8gd2hpY2ggdGhlIGV2ZW50IHJlbGF0ZXMgdG8KKyAq
Lworc3RhdGljIGlubGluZSB2b2lkIHVrX25ldGRldl9kcnZfcnhfZXZlbnQoc3RydWN0IHVrX25l
dGRldiAqZGV2LAorCQkJCQkgIHVpbnQxNl90IHF1ZXVlX2lkKQoreworCXN0cnVjdCB1a19uZXRk
ZXZfZXZlbnRfaGFuZGxlciAqcnhxX2hhbmRsZXI7CisKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19B
U1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVU
REVWX01BWE5CUVVFVUVTKTsKKworCXJ4cV9oYW5kbGVyID0gJmRldi0+X2RhdGEtPnJ4cV9oYW5k
bGVyW3F1ZXVlX2lkXTsKKworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhS
RUFEUworCXVrX3NlbWFwaG9yZV91cCgmcnhxX2hhbmRsZXItPmV2ZW50cyk7CisjZWxzZQorCWlm
IChyeHFfaGFuZGxlci0+Y2FsbGJhY2spCisJCXJ4cV9oYW5kbGVyLT5jYWxsYmFjayhkZXYsIHF1
ZXVlX2lkLCByeHFfaGFuZGxlci0+Y29va2llKTsKKyNlbmRpZgorfQorCiAjaWZkZWYgX19jcGx1
c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGli
L3VrbmV0ZGV2L25ldGRldi5jCmluZGV4IDYyNzczNTQuLjZlZTBmYmEgMTAwNjQ0Ci0tLSBhL2xp
Yi91a25ldGRldi9uZXRkZXYuYworKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKQEAgLTgwLDYg
KzgwLDExIEBAIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwgc3RydWN0IHVrX2FsbG9jICphLAogCVVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOwogCVVL
X0FTU0VSVChkZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKIAlVS19BU1NFUlQoZGV2LT5vcHMt
Pm10dV9nZXQpOworCVVLX0FTU0VSVCgoZGV2LT5vcHMtPnJ4cV9pbnRyX2VuYWJsZSAmJiBkZXYt
Pm9wcy0+cnhxX2ludHJfZGlzYWJsZSkKKwkJICB8fCAoIWRldi0+b3BzLT5yeHFfaW50cl9lbmFi
bGUKKwkJICAgICAgJiYgIWRldi0+b3BzLT5yeHFfaW50cl9kaXNhYmxlKSk7CisJVUtfQVNTRVJU
KGRldi0+cnhfb25lKTsKKwlVS19BU1NFUlQoZGV2LT50eF9vbmUpOwogCiAJZGV2LT5fZGF0YSA9
IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3VudCwgIGRydl9uYW1lKTsKIAlpZiAoIWRldi0+X2Rh
dGEpCkBAIC01MTksMyArNTI0LDMxIEBAIGludCB1a19uZXRkZXZfbXR1X3NldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSkKIAogCXJldHVybiBkZXYtPm9wcy0+bXR1X3NldChk
ZXYsIG10dSk7CiB9CisKK2ludCB1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlKHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKGRldi0+b3BzKTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRl
di0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKKwlVS19BU1NFUlQocXVldWVf
aWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOworCVVLX0FTU0VSVCghUFRSSVNF
UlIoZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdKSk7CisKKwlpZiAodW5saWtlbHkoIWRldi0+b3Bz
LT5yeHFfaW50cl9lbmFibGUpKQorCQlyZXR1cm4gLUVOT1RTVVA7CisJcmV0dXJuIGRldi0+b3Bz
LT5yeHFfaW50cl9lbmFibGUoZGV2LCBkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pOworfQorCitp
bnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50
MTZfdCBxdWV1ZV9pZCkKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5vcHMp
OworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUg
PT0gVUtfTkVUREVWX1JVTk5JTkcpOworCVVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJV
S05FVERFVl9NQVhOQlFVRVVFUyk7CisJVUtfQVNTRVJUKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1
ZVtxdWV1ZV9pZF0pKTsKKworCWlmICh1bmxpa2VseSghZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2Fi
bGUpKQorCQlyZXR1cm4gLUVOT1RTVVA7CisJcmV0dXJuIGRldi0+b3BzLT5yeHFfaW50cl9kaXNh
YmxlKGRldiwgZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdKTsKK30KLS0gCjIuNy40CgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:44:20 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADqd-000693-9m; Wed, 10 Oct 2018 12:44:19 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1ufg=mw=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gADqb-00068W-EE
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:44:17 +0000
X-Inumbo-ID: d61c847e-cc89-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id d61c847e-cc89-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 14:41:41 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E8AE71039A5;
 Wed, 10 Oct 2018 14:44:14 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 3JNzwGqvOpzh; Wed, 10 Oct 2018 14:44:14 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id C8F55101BA1
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:44:12 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Wed, 10 Oct 2018 14:44:12 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:43:53 +0200
Message-ID: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 0/4] Cleanup bit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QSBwb3J0IG9mIEJTRCB2ZXJzaW9ucyBvZiBsaW51eCBiaXQgb3BlcmF0aW9ucyBoYXMgYmVlbiBp
bnRyb2R1Y2VkCnJlY2VudGx5LiBUaGUgbmV3IGJpdG9wcyBoYXZlIGJlZW4gY29leGlzdGluZyB3
aXRoIHRoZSBwcmV2aW91cwppbXBsZW1lbnRhdGlvbi4gVGhpcyBzZXJpZXMgbWVyZ2VzIHRoZW0g
dG9nZXRoZXIsIGxlYXZpbmcgb25seSB0aGUKbGludXgtc3R5bGUgYXBpIGF2YWlsYWJsZS4KCkNo
YW5nZSBzaW5jZSB2MToKCiAtIHJlbW92ZSBiYXJyaWVyKCkgaW4gdGVzdF9iaXQgLSBkb2VzIG5v
dCBtYWtlIGFueSB1c2UgaW4gdGhpcwogICBzaXR1YXRpb24sIHRoZSBhY2Nlc3MgaXMgYWxyZWFk
eSB2b2xhdGlsZQoKIC0gZXh0ZW5kIGEgbGl0dGxlIGJpdCBmdW5jdGlvbiBoZWFkZXJzIGNvbW1l
bnRzIGFib3V0IGF0b21pY2l0eSBhbmQKICAgZml4IGEgY291cGxlIG9mIHR5cG9zCgpZdXJpIFZv
bGNoa292ICg0KToKICBpbmNsdWRlL3VrOiBkbyBub3QgY2FzdCBhd2F5IHZvbGF0aWxlIGluIGF0
b21pYy5oCiAgaW5jbHVkZS91azogZml4IHRlc3RfYml0IGF0b21pY2l0eQogIHVzZSBvbmUgYXBp
IGZvciBiaXQgb3BlcmF0aW9uCiAgaW5jbHVkZS91azogbWVyZ2UgdHdvIGJpdG9wcyBmdW5jdGlv
bnMKCiBpbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggICB8IDExNSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS91ay9iaXRvcHMuaCAgICAgICAgfCAxMTkgKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogbGliL3Zmc2NvcmUvZmQuYyAgICAgICAg
ICAgfCAgIDQgKy0KIHBsYXQvY29tbW9uL2FybS90aW1lLmMgICAgIHwgICA2ICstCiBwbGF0L2t2
bS9pcnEuYyAgICAgICAgICAgICB8ICAgNiArLQogcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMgICAg
fCAgIDYgKy0KIHBsYXQveGVuL2V2ZW50cy5jICAgICAgICAgIHwgIDE4ICsrKy0tLQogcGxhdC94
ZW4veGVuYnVzL3hzX2NvbW1zLmMgfCAgIDQgKy0KIDggZmlsZXMgY2hhbmdlZCwgMTI1IGluc2Vy
dGlvbnMoKyksIDE1MyBkZWxldGlvbnMoLSkKCi0tIAoyLjE5LjAKCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:44:21 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:44:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADqf-0006AT-DA; Wed, 10 Oct 2018 12:44:21 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1ufg=mw=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gADqd-0006A3-Tr
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:44:19 +0000
X-Inumbo-ID: 622905bb-cc8a-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 622905bb-cc8a-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:45:36 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 8D39DF2025;
 Wed, 10 Oct 2018 14:44:17 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id oD1OPik-fd5X; Wed, 10 Oct 2018 14:44:17 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 67ACDF2021
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:44:15 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Wed, 10 Oct 2018 14:44:15 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:43:54 +0200
Message-ID: <20181010124357.30261-2-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
References: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 1/4] include/uk: do not cast away
 volatile in atomic.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TWFueSBmdW5jdGlvbnMgaW4gaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIGFjY2VwdCBhIHZvbGF0
aWxlIGFyZ3VtZW50CmFuZCB0aGVuIGNhc3QgaXQgdG8gc29tZXRoaW5nIGxpa2UgIl9fdTggKiIu
IEluIG1hbnkgY2FzZXMgaXQgaXMgb2ssCl9fYXRvbWljXyooKSBpcyBjYWxsZWQgaW5zaWRlIHRo
ZSBmdW5jdGlvbi4gQnV0IGluIG90aGVyIGNhc2VzLCB0aGlzCm1lbW9yeSBhY2Nlc3MgaXMgYSBz
dWJqZWN0IHRvIGNvbXBpbGVyIG9wdGltaXphdGlvbiwgYW5kIG1heSBsZWFkIHRvCmFuIHVuZXhw
ZWN0ZWQgYmVoYXZpb3IuCgpTaWduZWQtb2ZmLWJ5OiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNo
a292QG5lY2xhYi5ldT4KUmV2aWV3ZWQtYnk6IEZsb3JpYW4gU2NobWlkdCA8Zmxvcmlhbi5zY2ht
aWR0QG5lY2xhYi5ldT4KLS0tCiBpbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggfCAxMCArKysrKy0t
LS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCBiL2luY2x1ZGUvdWsvYXJjaC9hdG9t
aWMuaAppbmRleCBkNGFiZWI3Li4wOTY0ZTE0IDEwMDY0NAotLS0gYS9pbmNsdWRlL3VrL2FyY2gv
YXRvbWljLmgKKysrIGIvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCkBAIC05Niw3ICs5Niw3IEBA
IGV4dGVybiAiQyIgewogICovCiBzdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xy
X2JpdCh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCiB7Ci0JX191OCAqYWRk
ciA9ICgoX191OCAqKWJ5dGUpICsgKG5yID4+IDMpOworCXZvbGF0aWxlIF9fdTggKmFkZHIgPSAo
KF9fdTggKilieXRlKSArIChuciA+PiAzKTsKIAlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7CiAJ
X191OCBvcmlnOwogCkBAIC0xMTEsNyArMTExLDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNo
X3Rlc3RfYW5kX2Nscl9iaXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQog
ICovCiBzdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdCh1bnNpZ25lZCBp
bnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCiB7Ci0JX191OCAqYWRkciA9ICgoX191OCAqKWJ5
dGUpICsgKG5yID4+IDMpOworCXZvbGF0aWxlIF9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSAr
IChuciA+PiAzKTsKIAlfX3U4IGJpdCA9IDEgPDwgKG5yICYgNyk7CiAJX191OCBvcmlnOwogCkBA
IC0xMjYsNyArMTI2LDcgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3NldF9i
aXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQogc3RhdGljIGlubGluZSBp
bnQgdWthcmNoX3Rlc3RfYml0KHVuc2lnbmVkIGludCBuciwKIAkJCQkJY29uc3Qgdm9sYXRpbGUg
dW5zaWduZWQgbG9uZyAqYnl0ZSkKIHsKLQljb25zdCBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAq
KWJ5dGU7CisJY29uc3Qgdm9sYXRpbGUgX191OCAqcHRyID0gKGNvbnN0IF9fdTggKilieXRlOwog
CiAJcmV0dXJuICgoMSA8PCAobnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0gMDsKIH0KQEAg
LTE1NCw3ICsxNTQsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Nscl9iaXQodW5zaWdu
ZWQgaW50IG5yLAogc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXRfc3lu
Yyh1bnNpZ25lZCBpbnQgbnIsCiAJCQkJCQl2b2xhdGlsZSB2b2lkICpieXRlKQogewotCV9fdTgg
KmFkZHIgPSAoKF9fdTggKilieXRlKSArIChuciA+PiAzKTsKKwl2b2xhdGlsZSBfX3U4ICphZGRy
ID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7CiAJX191OCBiaXQgPSAxIDw8IChuciAmIDcp
OwogCV9fdTggb3JpZzsKIApAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHVr
YXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAogc3RhdGljIGlubGlu
ZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3NldF9iaXRfc3luYyh1bnNpZ25lZCBpbnQgbnIsCiAJCQkJ
CQl2b2xhdGlsZSB2b2lkICpieXRlKQogewotCV9fdTggKmFkZHIgPSAoKF9fdTggKilieXRlKSAr
IChuciA+PiAzKTsKKwl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIg
Pj4gMyk7CiAJX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwogCV9fdTggb3JpZzsKIAotLSAKMi4x
OS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:44:22 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:44:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADqg-0006Au-FF; Wed, 10 Oct 2018 12:44:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1ufg=mw=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gADqg-0006Ao-54
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:44:22 +0000
X-Inumbo-ID: 63c0e7ec-cc8a-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 63c0e7ec-cc8a-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:45:39 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 4515B1039A5;
 Wed, 10 Oct 2018 14:44:20 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id U2n-dtMUlDFq; Wed, 10 Oct 2018 14:44:20 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 25D20101BA1
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:44:18 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Wed, 10 Oct 2018 14:44:17 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:43:55 +0200
Message-ID: <20181010124357.30261-3-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
References: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 2/4] include/uk: fix test_bit
 atomicity
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

dWthcmNoX3Rlc3RfYml0X3N5bmMgZG9lcyBub3QgbWFrZSBzZW5zZS4gQSBiYXJyaWVyKCkgY2Fs
bCBpcyBub3QgYQptZW1vcnkgYmFycmllciBhcyB3YXMgc2FpZCBpbiB0aGUgY29tbWVudC4gRXZl
biBpZiBpdCBpdCB3YXMsIGl0IHdvdWxkCm5vdCBtYWtlIHVrYXJjaF90ZXN0X2JpdF9zeW5jIGF0
b21pYy4KClRoaXMgY29tbWl0IG1lcmdlcyB0aGVzZSB0d28gZnVuY3Rpb24gdG9nZXRoZXIsIGFu
ZCBhZGRzIGEgbWlzc2luZwp1a190ZXN0X2JpdCBpbnRvIGJpdG9wcy5oLgoKU2lnbmVkLW9mZi1i
eTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Ci0tLQogaW5jbHVkZS91
ay9hcmNoL2F0b21pYy5oIHwgMTMgKystLS0tLS0tLS0tLQogaW5jbHVkZS91ay9iaXRvcHMuaCAg
ICAgIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaCBiL2luY2x1ZGUvdWsv
YXJjaC9hdG9taWMuaAppbmRleCAwOTY0ZTE0Li40NGE3MWU2IDEwMDY0NAotLS0gYS9pbmNsdWRl
L3VrL2FyY2gvYXRvbWljLmgKKysrIGIvaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oCkBAIC0xMjcs
OCArMTI3LDkgQEAgc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYml0KHVuc2lnbmVkIGlu
dCBuciwKIAkJCQkJY29uc3Qgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYnl0ZSkKIHsKIAljb25z
dCB2b2xhdGlsZSBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAqKWJ5dGU7CisJaW50IHJldCA9ICAo
KDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7CiAKLQlyZXR1cm4gKCgxIDw8
IChuciAmIDcpKSAmIChwdHJbbnIgPj4gM10pKSAhPSAwOworCXJldHVybiByZXQ7CiB9CiAKIC8q
KgpAQCAtMTg4LDE2ICsxODksNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Nscl9iaXRf
c3luYyh1bnNpZ25lZCBpbnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCiAJdWthcmNoX3Rlc3Rf
YW5kX2Nscl9iaXRfc3luYyhuciwgYnl0ZSk7CiB9CiAKLS8qIEFzIHRlc3RfYml0LCBidXQgd2l0
aCBhIGZvbGxvd2luZyBtZW1vcnkgYmFycmllci4gKi8KLXN0YXRpYyBpbmxpbmUgaW50IHVrYXJj
aF90ZXN0X2JpdF9zeW5jKHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdm9pZCAqYnl0ZSkKLXsK
LQlpbnQgcmVzdWx0OwotCi0JcmVzdWx0ID0gdWthcmNoX3Rlc3RfYml0KG5yLCBieXRlKTsKLQli
YXJyaWVyKCk7Ci0JcmV0dXJuIHJlc3VsdDsKLX0KLQogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvYml0b3BzLmggYi9pbmNsdWRlL3VrL2JpdG9w
cy5oCmluZGV4IGUwMDRmZGYuLjVhMjg0MTAgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsvYml0b3Bz
LmgKKysrIGIvaW5jbHVkZS91ay9iaXRvcHMuaApAQCAtMjUwLDYgKzI1MCw3IEBAIHVrX2ZpbmRf
bmV4dF96ZXJvX2JpdChjb25zdCB1bnNpZ25lZCBsb25nICphZGRyLCB1bnNpZ25lZCBsb25nIHNp
emUsCiAjZGVmaW5lIHVrX3NldF9iaXQoaSwgYSkgICAgICAgICAgdWthcmNoX3NldF9iaXRfc3lu
YyhpLCBhKQogI2RlZmluZSBfX3VrX2NsZWFyX2JpdChpLCBhKSAgICAgIHVrYXJjaF9jbHJfYml0
KGksIGEpCiAjZGVmaW5lIHVrX2NsZWFyX2JpdChpLCBhKSAgICAgICAgdWthcmNoX2Nscl9iaXRf
c3luYyhpLCBhKQorI2RlZmluZSB1a190ZXN0X2JpdChpLCBhKSAgICAgICAgIHVrYXJjaF90ZXN0
X2JpdChpLCBhKQogCiBzdGF0aWMgaW5saW5lIGludAogdWtfdGVzdF9hbmRfY2xlYXJfYml0KGxv
bmcgYml0LCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICp2YXIpCi0tIAoyLjE5LjAKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:44:26 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:44:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADqk-0006Bh-He; Wed, 10 Oct 2018 12:44:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1ufg=mw=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gADqj-0006BW-C8
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:44:25 +0000
X-Inumbo-ID: 6573bdb2-cc8a-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6573bdb2-cc8a-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:45:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 1ADCCF2025;
 Wed, 10 Oct 2018 14:44:23 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gIQ46gVX5LbW; Wed, 10 Oct 2018 14:44:23 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DFD23F2021
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:44:20 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Wed, 10 Oct 2018 14:44:20 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:43:56 +0200
Message-ID: <20181010124357.30261-4-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
References: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 3/4] use one api for bit operation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q3VycmVudGx5IHdlIGhhdmUgMiBkaWZmZXJlbnQgQVBJcyBmb3IgYml0IG9wZXJhdGlvbnMuIExl
dCdzIHVzZSBvbmx5Cm9uZSAtIHRoZSBvbmUgd2hpY2ggaXMgbW9yZSByZWFjaAoKU2lnbmVkLW9m
Zi1ieTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Ci0tLQogbGliL3Zm
c2NvcmUvZmQuYyAgICAgICAgICAgfCAgNCArKy0tCiBwbGF0L2NvbW1vbi9hcm0vdGltZS5jICAg
ICB8ICA2ICsrKy0tLQogcGxhdC9rdm0vaXJxLmMgICAgICAgICAgICAgfCAgNiArKystLS0KIHBs
YXQva3ZtL3g4Ni90c2NjbG9jay5jICAgIHwgIDYgKysrLS0tCiBwbGF0L3hlbi9ldmVudHMuYyAg
ICAgICAgICB8IDE4ICsrKysrKysrKy0tLS0tLS0tLQogcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1z
LmMgfCAgNCArKy0tCiA2IGZpbGVzIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi92ZnNjb3JlL2ZkLmMgYi9saWIvdmZzY29yZS9mZC5j
CmluZGV4IDA3YTY5YjUuLjZjMjIwNDIgMTAwNjQ0Ci0tLSBhL2xpYi92ZnNjb3JlL2ZkLmMKKysr
IGIvbGliL3Zmc2NvcmUvZmQuYwpAQCAtMzUsNyArMzUsNyBAQAogCiAjaW5jbHVkZSA8c3RyaW5n
Lmg+CiAjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5oPgotI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWlj
Lmg+CisjaW5jbHVkZSA8dWsvYml0b3BzLmg+CiAjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+CiAjaW5j
bHVkZSA8dmZzY29yZS9maWxlLmg+CiAjaW5jbHVkZSA8dWsvcGxhdC9sY3B1Lmg+CkBAIC03OCw3
ICs3OCw3IEBAIHZvaWQgdmZzY29yZV9wdXRfZmQoaW50IGZkKQogCS8qIEN1cnJlbnRseSBpdCBp
cyBub3QgYWxsb3dlZCB0byBmcmVlIHN0ZChpbnxvdXR8ZXJyKSAqLwogCVVLX0FTU0VSVChmZCA+
IDIpOwogCi0JdWthcmNoX3Rlc3RfYW5kX2Nscl9iaXQoZmQsICZmZHRhYmxlLmJpdG1hcCk7CisJ
X191a19jbGVhcl9iaXQoZmQsICZmZHRhYmxlLmJpdG1hcCk7CiB9CiAKIHZvaWQgdmZzY29yZV9p
bnN0YWxsX2ZkKGludCBmZCwgc3RydWN0IHZmc2NvcmVfZmlsZSAqZmlsZSkKZGlmZiAtLWdpdCBh
L3BsYXQvY29tbW9uL2FybS90aW1lLmMgYi9wbGF0L2NvbW1vbi9hcm0vdGltZS5jCmluZGV4IDk0
OWZhNzQuLmYxZGY5OGQgMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2FybS90aW1lLmMKKysrIGIv
cGxhdC9jb21tb24vYXJtL3RpbWUuYwpAQCAtMTcyLDcgKzE3Miw3IEBAIHN0YXRpYyBpbnQgZ2Vu
ZXJpY190aW1lcl9pbml0KHZvaWQpCiAJcmV0dXJuIDA7CiB9CiAKLWxvbmcgc2NoZWRfaGF2ZV9w
ZW5kaW5nX2V2ZW50czsKK3Vuc2lnbmVkIGxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsK
IAogdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25zZWMgdW50aWwpCiB7CkBAIC0xODIsOCArMTgy
LDggQEAgdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25zZWMgdW50aWwpCiAJCSAqIEFzIHdlIGhh
dmVuJ3Qgc3VwcG9ydCBpbnRlcnJ1cHQgb24gQXJtLCBzbyB3ZSBqdXN0CiAJCSAqIHVzZSBidXN5
IHBvbGxpbmcgZm9yIG5vdy4KIAkJICovCi0JCWlmICh1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdCgw
LCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50cykpCi0JCWJyZWFrOworCQlpZiAoX191a190ZXN0
X2FuZF9jbGVhcl9iaXQoMCwgJnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpKQorCQkJYnJlYWs7
CiAJfQogfQogCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9pcnEuYyBiL3BsYXQva3ZtL2lycS5jCmlu
ZGV4IGU3MDgwNjkuLjBiNzM0ZjYgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL2lycS5jCisrKyBiL3Bs
YXQva3ZtL2lycS5jCkBAIC0zNCw3ICszNCw3IEBACiAjaW5jbHVkZSA8a3ZtL2ludGN0cmwuaD4K
ICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KICNpbmNsdWRlIDxlcnJuby5oPgotI2luY2x1ZGUgPHVr
L2FyY2gvYXRvbWljLmg+CisjaW5jbHVkZSA8dWsvYml0b3BzLmg+CiAKIHN0YXRpYyBzdHJ1Y3Qg
dWtfYWxsb2MgKmFsbG9jYXRvcjsKIApAQCAtNzUsNyArNzUsNyBAQCBpbnQgdWtwbGF0X2lycV9y
ZWdpc3Rlcih1bnNpZ25lZCBsb25nIGlycSwgaXJxX2hhbmRsZXJfZnVuY190IGZ1bmMsIHZvaWQg
KmFyZykKICAqIFRPRE86IFRoaXMgaXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24gdXNlZCB0byBpZGVu
dGlmeSBub24gVFNDIGNsb2NrCiAgKiBpbnRlcnJ1cHRzIGluIG9yZGVyIHRvIHN0b3Agd2FpdGlu
ZyBmb3IgaW50ZXJydXB0cyB3aXRoIGRlYWRsaW5lLgogICovCi1leHRlcm4gbG9uZyBzY2hlZF9o
YXZlX3BlbmRpbmdfZXZlbnRzOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgc2NoZWRfaGF2ZV9wZW5k
aW5nX2V2ZW50czsKIAogdm9pZCBfdWtwbGF0X2lycV9oYW5kbGUodW5zaWduZWQgbG9uZyBpcnEp
CiB7CkBAIC05NSw3ICs5NSw3IEBAIHZvaWQgX3VrcGxhdF9pcnFfaGFuZGxlKHVuc2lnbmVkIGxv
bmcgaXJxKQogCQkJICogdGhlIGhhbHRpbmcgbG9vcCwgYW5kIGxldCBpdCB0YWtlIGNhcmUgb2YK
IAkJCSAqIHRoYXQgd29yay4KIAkJCSAqLwotCQkJdWthcmNoX3Rlc3RfYW5kX3NldF9iaXQoMCwg
JnNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHMpOworCQkJX191a190ZXN0X2FuZF9zZXRfYml0KDAs
ICZzY2hlZF9oYXZlX3BlbmRpbmdfZXZlbnRzKTsKIAogCQlpZiAoaC0+ZnVuYyhoLT5hcmcpID09
IDEpIHsKIAkJCWhhbmRsZWQgPSAxOwpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0veDg2L3RzY2Nsb2Nr
LmMgYi9wbGF0L2t2bS94ODYvdHNjY2xvY2suYwppbmRleCA0ZWYyMTc5Li5mM2ZhNTVhIDEwMDY0
NAotLS0gYS9wbGF0L2t2bS94ODYvdHNjY2xvY2suYworKysgYi9wbGF0L2t2bS94ODYvdHNjY2xv
Y2suYwpAQCAtNTgsNyArNTgsNyBAQAogI2luY2x1ZGUgPHVrL3RpbWVjb252Lmg+CiAjaW5jbHVk
ZSA8dWsvcHJpbnQuaD4KICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KLSNpbmNsdWRlIDx1ay9hcmNo
L2F0b21pYy5oPgorI2luY2x1ZGUgPHVrL2JpdG9wcy5oPgogCiAjZGVmaW5lIE5TRUNfUEVSX1NF
QyAgICAgICAgIDEwMDAwMDAwMDBVTEwKIApAQCAtMzQ2LDE0ICszNDYsMTQgQEAgc3RhdGljIHZv
aWQgdHNjY2xvY2tfY3B1X2Jsb2NrKF9fdTY0IHVudGlsKQogCXVrcGxhdF9sY3B1X2hhbHRfaXJx
KCk7CiB9CiAKLWxvbmcgc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsKK3Vuc2lnbmVkIGxvbmcg
c2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50czsKIAogdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25z
ZWMgdW50aWwpCiB7CiAJd2hpbGUgKChfX3Nuc2VjKSB1a3BsYXRfbW9ub3RvbmljX2Nsb2NrKCkg
PCB1bnRpbCkgewogCQl0c2NjbG9ja19jcHVfYmxvY2sodW50aWwpOwogCi0JCWlmICh1a2FyY2hf
dGVzdF9hbmRfY2xyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50cykpCisJCWlmIChf
X3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50cykpCiAJ
CQlicmVhazsKIAl9CiB9CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9ldmVudHMuYyBiL3BsYXQveGVu
L2V2ZW50cy5jCmluZGV4IDY3MjE5ODUuLjZkZjNlNGIgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL2V2
ZW50cy5jCisrKyBiL3BsYXQveGVuL2V2ZW50cy5jCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVk
ZSA8Y29tbW9uL2V2ZW50cy5oPgogI2luY2x1ZGUgPHhlbi94ZW4uaD4KICNpbmNsdWRlIDx1ay9w
cmludC5oPgotI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+CisjaW5jbHVkZSA8dWsvYml0b3Bz
Lmg+CiAKICNkZWZpbmUgTlJfRVZTIDEwMjQKIApAQCAtNjksNyArNjksNyBAQCB2b2lkIHVuYmlu
ZF9hbGxfcG9ydHModm9pZCkKIAkJCWNvbnRpbnVlOwogI2VuZGlmCiAKLQkJaWYgKHVrYXJjaF90
ZXN0X2FuZF9jbHJfYml0KGksIGJvdW5kX3BvcnRzKSkgeworCQlpZiAoX191a190ZXN0X2FuZF9j
bGVhcl9iaXQoaSwgYm91bmRfcG9ydHMpKSB7CiAJCQl1a19wcl93YXJuKCJQb3J0ICVkIHN0aWxs
IGJvdW5kIVxuIiwgaSk7CiAJCQl1bmJpbmRfZXZ0Y2huKGkpOwogCQl9CkBAIC0xMTIsNyArMTEy
LDcgQEAgZXZ0Y2huX3BvcnRfdCBiaW5kX2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQsIGV2dGNo
bl9oYW5kbGVyX3QgaGFuZGxlciwKIAlldl9hY3Rpb25zW3BvcnRdLmRhdGEgPSBkYXRhOwogCXdt
YigpOwogCWV2X2FjdGlvbnNbcG9ydF0uaGFuZGxlciA9IGhhbmRsZXI7Ci0JdWthcmNoX3NldF9i
aXQocG9ydCwgYm91bmRfcG9ydHMpOworCV9fdWtfc2V0X2JpdChwb3J0LCBib3VuZF9wb3J0cyk7
CiAKIAlyZXR1cm4gcG9ydDsKIH0KQEAgLTEzMCw3ICsxMzAsNyBAQCB2b2lkIHVuYmluZF9ldnRj
aG4oZXZ0Y2huX3BvcnRfdCBwb3J0KQogCWV2X2FjdGlvbnNbcG9ydF0uaGFuZGxlciA9IGRlZmF1
bHRfaGFuZGxlcjsKIAl3bWIoKTsKIAlldl9hY3Rpb25zW3BvcnRdLmRhdGEgPSBOVUxMOwotCXVr
YXJjaF9jbHJfYml0KHBvcnQsIGJvdW5kX3BvcnRzKTsKKwlfX3VrX2NsZWFyX2JpdChwb3J0LCBi
b3VuZF9wb3J0cyk7CiAKIAljbG9zZS5wb3J0ID0gcG9ydDsKIAlyYyA9IEhZUEVSVklTT1JfZXZl
bnRfY2hhbm5lbF9vcChFVlRDSE5PUF9jbG9zZSwgJmNsb3NlKTsKQEAgLTI5Nyw3ICsyOTcsNyBA
QCBpbmxpbmUgdm9pZCBtYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQogewogCXNoYXJlZF9pbmZv
X3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwogCi0JdWthcmNoX3NldF9iaXRfc3luYyhw
b3J0LCAmcy0+ZXZ0Y2huX21hc2tbMF0pOworCXVrX3NldF9iaXQocG9ydCwgJnMtPmV2dGNobl9t
YXNrWzBdKTsKIH0KIAogaW5saW5lIHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQpA
QCAtMzA1LDE1ICszMDUsMTUgQEAgaW5saW5lIHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBw
b3J0KQogCXNoYXJlZF9pbmZvX3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwogCXZjcHVf
aW5mb190ICp2Y3B1X2luZm8gPSAmcy0+dmNwdV9pbmZvW3NtcF9wcm9jZXNzb3JfaWQoKV07CiAK
LQl1a2FyY2hfY2xyX2JpdF9zeW5jKHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7CisJdWtfY2xl
YXJfYml0KHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7CiAKIAkvKgogCSAqIFRoZSBmb2xsb3dp
bmcgaXMgYmFzaWNhbGx5IHRoZSBlcXVpdmFsZW50IG9mICdod19yZXNlbmRfaXJxJy4KIAkgKiBK
dXN0IGxpa2UgYSByZWFsIElPLUFQSUMgd2UgJ2xvc2UgdGhlIGludGVycnVwdCBlZGdlJyBpZiB0
aGUKIAkgKiBjaGFubmVsIGlzIG1hc2tlZC4KIAkgKi8KLQlpZiAodWthcmNoX3Rlc3RfYml0X3N5
bmMocG9ydCwgICAgJnMtPmV2dGNobl9wZW5kaW5nWzBdKSAmJgotCSAgICAhdWthcmNoX3Rlc3Rf
YW5kX3NldF9iaXRfc3luYyhwb3J0IC8gKHNpemVvZih1bnNpZ25lZCBsb25nKSAqIDgpLAorCWlm
ICh1a190ZXN0X2JpdChwb3J0LCAmcy0+ZXZ0Y2huX3BlbmRpbmdbMF0pICYmCisJICAgICF1a190
ZXN0X2FuZF9zZXRfYml0KHBvcnQgLyAoc2l6ZW9mKHVuc2lnbmVkIGxvbmcpICogOCksCiAJCQkJ
ICAgICZ2Y3B1X2luZm8tPmV2dGNobl9wZW5kaW5nX3NlbCkpIHsKIAkJdmNwdV9pbmZvLT5ldnRj
aG5fdXBjYWxsX3BlbmRpbmcgPSAxOwogI2lmZGVmIFhFTl9IQVZFX1BWX1VQQ0FMTF9NQVNLCkBA
IC0zMjcsNyArMzI3LDcgQEAgaW5saW5lIHZvaWQgY2xlYXJfZXZ0Y2huKHVpbnQzMl90IHBvcnQp
CiB7CiAJc2hhcmVkX2luZm9fdCAqcyA9IEhZUEVSVklTT1Jfc2hhcmVkX2luZm87CiAKLQl1a2Fy
Y2hfY2xyX2JpdF9zeW5jKHBvcnQsICZzLT5ldnRjaG5fcGVuZGluZ1swXSk7CisJdWtfY2xlYXJf
Yml0KHBvcnQsICZzLT5ldnRjaG5fcGVuZGluZ1swXSk7CiB9CiAKIHN0cnVjdCB1a19hbGxvYzsK
ZGlmZiAtLWdpdCBhL3BsYXQveGVuL3hlbmJ1cy94c19jb21tcy5jIGIvcGxhdC94ZW4veGVuYnVz
L3hzX2NvbW1zLmMKaW5kZXggYzgyMDFhNS4uMjc0ZTQ0YiAxMDA2NDQKLS0tIGEvcGxhdC94ZW4v
eGVuYnVzL3hzX2NvbW1zLmMKKysrIGIvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKQEAgLTE4
Niw3ICsxODYsNyBAQCBzdGF0aWMgdm9pZCB4c19yZXF1ZXN0X3B1dChzdHJ1Y3QgeHNfcmVxdWVz
dCAqeHNfcmVxKQogCiAJdWthcmNoX3NwaW5fbG9jaygmeHNfcmVxX3Bvb2wubG9jayk7CiAKLQlV
S19BU1NFUlQodWthcmNoX3Rlc3RfYml0KHJlcWlkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSA9
PSAxKTsKKwlVS19BU1NFUlQodWtfdGVzdF9iaXQocmVxaWQsIHhzX3JlcV9wb29sLmVudHJpZXNf
Ym0pID09IDEpOwogCiAJdWtfY2xlYXJfYml0KHJlcWlkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2Jt
KTsKIAl4c19yZXFfcG9vbC5udW1fbGl2ZS0tOwpAQCAtNDI3LDcgKzQyNyw3IEBAIHN0YXRpYyB2
b2lkIHByb2Nlc3NfcmVwbHkoc3RydWN0IHhzZF9zb2NrbXNnICpoZHIsIGNoYXIgKnBheWxvYWQp
CiB7CiAJc3RydWN0IHhzX3JlcXVlc3QgKnhzX3JlcTsKIAotCWlmICghdWthcmNoX3Rlc3RfYml0
KGhkci0+cmVxX2lkLCB4c19yZXFfcG9vbC5lbnRyaWVzX2JtKSkgeworCWlmICghdWtfdGVzdF9i
aXQoaGRyLT5yZXFfaWQsIHhzX3JlcV9wb29sLmVudHJpZXNfYm0pKSB7CiAJCXVrX3ByX3dhcm4o
IkludmFsaWQgcmVwbHkgaWQ9JWRcbiIsIGhkci0+cmVxX2lkKTsKIAkJZnJlZShwYXlsb2FkKTsK
IAkJcmV0dXJuOwotLSAKMi4xOS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 12:44:28 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 12:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gADqm-0006CV-Jm; Wed, 10 Oct 2018 12:44:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1ufg=mw=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gADql-0006C9-Ik
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 12:44:27 +0000
X-Inumbo-ID: 670d0ac0-cc8a-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 670d0ac0-cc8a-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 12:45:44 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C6DFA1039A5;
 Wed, 10 Oct 2018 14:44:25 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id R_j5MrL52Hse; Wed, 10 Oct 2018 14:44:25 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id A8574101BA1
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 14:44:23 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Wed, 10 Oct 2018 14:44:23 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 14:43:57 +0200
Message-ID: <20181010124357.30261-5-yuri.volchkov@neclab.eu>
X-Mailer: git-send-email 2.19.0
In-Reply-To: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
References: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: [Minios-devel] [UNIKRAFT PATCH 4/4] include/uk: merge two bitops
 functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VW5pa3JhZnQgY3VycmVudGx5IGhhcyB0d28gc2V0cyBvZiBiaXQgb3BlcmF0aW9ucy4gVGhpcyBw
YXRjaCBtZXJnZXMKdGhlbSB0b2dldGhlcgoKU2lnbmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8
eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Ci0tLQogaW5jbHVkZS91ay9hcmNoL2F0b21pYy5oIHwg
MTA2IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGluY2x1ZGUvdWsvYml0b3Bz
LmggICAgICB8IDEyMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDIg
ZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKyksIDEyMyBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWlj
LmgKaW5kZXggNDRhNzFlNi4uY2U4ZjZlNSAxMDA2NDQKLS0tIGEvaW5jbHVkZS91ay9hcmNoL2F0
b21pYy5oCisrKyBiL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaApAQCAtODMsMTEyICs4Myw2IEBA
IGV4dGVybiAiQyIgewogCQkgICAgOiBvbGQ7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBcCiAJfSkKIAotLyoqCi0gKiB0ZXN0X2FuZF9jbGVhcl9i
aXQgLSBDbGVhciBhIGJpdCBhbmQgcmV0dXJuIGl0cyBvbGQgdmFsdWUKLSAqIEBucjogQml0IHRv
IGNsZWFyCi0gKiBAYWRkcjogQWRkcmVzcyB0byBjb3VudCBmcm9tCi0gKgotICogTm90ZSB0aGF0
IEBuciBtYXkgYmUgYWxtb3N0IGFyYml0cmFyaWx5IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5v
dAotICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KLSAq
Ci0gKiBUaGlzIG9wZXJhdGlvbiBpcyBhdG9taWMuCi0gKiBJZiB5b3UgbmVlZCBhIG1lbW9yeSBi
YXJyaWVyLCB1c2Ugc3luY2hfdGVzdF9hbmRfY2xlYXJfYml0IGluc3RlYWQuCi0gKi8KLXN0YXRp
YyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KHVuc2lnbmVkIGludCBuciwgdm9s
YXRpbGUgdm9pZCAqYnl0ZSkKLXsKLQl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0
ZSkgKyAobnIgPj4gMyk7Ci0JX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwotCV9fdTggb3JpZzsK
LQotCW9yaWcgPSBfX2F0b21pY19mZXRjaF9hbmQoYWRkciwgfmJpdCwgX19BVE9NSUNfUkVMQVhF
RCk7Ci0KLQlyZXR1cm4gKG9yaWcgJiBiaXQpICE9IDA7Ci19Ci0KLS8qKgotICogQXRvbWljYWxs
eSBzZXQgYSBiaXQgYW5kIHJldHVybiB0aGUgb2xkIHZhbHVlLgotICogU2ltaWxhciB0byB0ZXN0
X2FuZF9jbGVhcl9iaXQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2FuZF9z
ZXRfYml0KHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdm9pZCAqYnl0ZSkKLXsKLQl2b2xhdGls
ZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Ci0JX191OCBiaXQgPSAx
IDw8IChuciAmIDcpOwotCV9fdTggb3JpZzsKLQotCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihh
ZGRyLCBiaXQsIF9fQVRPTUlDX1JFTEFYRUQpOwotCi0JcmV0dXJuIChvcmlnICYgYml0KSAhPSAw
OwotfQotCi0vKioKLSAqIFRlc3Qgd2hldGhlciBhIGJpdCBpcyBzZXQuCi0gKi8KLXN0YXRpYyBp
bmxpbmUgaW50IHVrYXJjaF90ZXN0X2JpdCh1bnNpZ25lZCBpbnQgbnIsCi0JCQkJCWNvbnN0IHZv
bGF0aWxlIHVuc2lnbmVkIGxvbmcgKmJ5dGUpCi17Ci0JY29uc3Qgdm9sYXRpbGUgX191OCAqcHRy
ID0gKGNvbnN0IF9fdTggKilieXRlOwotCWludCByZXQgPSAgKCgxIDw8IChuciAmIDcpKSAmIChw
dHJbbnIgPj4gM10pKSAhPSAwOwotCi0JcmV0dXJuIHJldDsKLX0KLQotLyoqCi0gKiBBdG9taWNh
bGx5IHNldCBhIGJpdCBpbiBtZW1vcnkgKGxpa2UgdGVzdF9hbmRfc2V0X2JpdCBidXQgZGlzY2Fy
ZHMgcmVzdWx0KS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIHVrYXJjaF9zZXRfYml0KHVuc2ln
bmVkIGludCBuciwKLQkJCQkJdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYnl0ZSkKLXsKLQl1a2Fy
Y2hfdGVzdF9hbmRfc2V0X2JpdChuciwgYnl0ZSk7Ci19Ci0KLS8qKgotICogQXRvbWljYWxseSBj
bGVhciBhIGJpdCBpbiBtZW1vcnkgKGxpa2UgdGVzdF9hbmRfY2xlYXJfYml0IGJ1dCBkaXNjYXJk
cwotICogcmVzdWx0KS4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkIHVrYXJjaF9jbHJfYml0KHVu
c2lnbmVkIGludCBuciwKLQkJCQkJdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYnl0ZSkKLXsKLQl1
a2FyY2hfdGVzdF9hbmRfY2xyX2JpdChuciwgYnl0ZSk7Ci19Ci0KLS8qIEFzIHRlc3RfYW5kX2Ns
ZWFyX2JpdCwgYnV0IHVzaW5nIF9fQVRPTUlDX1NFUV9DU1QgKi8KLXN0YXRpYyBpbmxpbmUgaW50
IHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLAotCQkJCQkJdm9s
YXRpbGUgdm9pZCAqYnl0ZSkKLXsKLQl2b2xhdGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0
ZSkgKyAobnIgPj4gMyk7Ci0JX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwotCV9fdTggb3JpZzsK
LQotCW9yaWcgPSBfX2F0b21pY19mZXRjaF9hbmQoYWRkciwgfmJpdCwgX19BVE9NSUNfU0VRX0NT
VCk7Ci0KLQlyZXR1cm4gKG9yaWcgJiBiaXQpICE9IDA7Ci19Ci0KLS8qIEFzIHRlc3RfYW5kX3Nl
dF9iaXQsIGJ1dCB1c2luZyBfX0FUT01JQ19TRVFfQ1NUICovCi1zdGF0aWMgaW5saW5lIGludCB1
a2FyY2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKHVuc2lnbmVkIGludCBuciwKLQkJCQkJCXZvbGF0
aWxlIHZvaWQgKmJ5dGUpCi17Ci0Jdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUp
ICsgKG5yID4+IDMpOwotCV9fdTggYml0ID0gMSA8PCAobnIgJiA3KTsKLQlfX3U4IG9yaWc7Ci0K
LQlvcmlnID0gX19hdG9taWNfZmV0Y2hfb3IoYWRkciwgYml0LCBfX0FUT01JQ19TRVFfQ1NUKTsK
LQotCXJldHVybiAob3JpZyAmIGJpdCkgIT0gMDsKLX0KLQotLyogQXMgc2V0X2JpdCwgYnV0IHVz
aW5nIF9fQVRPTUlDX1NFUV9DU1QgKi8KLXN0YXRpYyBpbmxpbmUgdm9pZCB1a2FyY2hfc2V0X2Jp
dF9zeW5jKHVuc2lnbmVkIGludCBuciwgdm9sYXRpbGUgdm9pZCAqYnl0ZSkKLXsKLQl1a2FyY2hf
dGVzdF9hbmRfc2V0X2JpdF9zeW5jKG5yLCBieXRlKTsKLX0KLQotLyogQXMgY2xlYXJfYml0LCBi
dXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwotc3RhdGljIGlubGluZSB2b2lkIHVrYXJjaF9j
bHJfYml0X3N5bmModW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQotewotCXVr
YXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmMobnIsIGJ5dGUpOwotfQotCiAjaWZkZWYgX19jcGx1
c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9iaXRvcHMuaCBiL2luY2x1
ZGUvdWsvYml0b3BzLmgKaW5kZXggNWEyODQxMC4uYmNhOWM3NCAxMDA2NDQKLS0tIGEvaW5jbHVk
ZS91ay9iaXRvcHMuaAorKysgYi9pbmNsdWRlL3VrL2JpdG9wcy5oCkBAIC0yNDIsMzggKzI0Miw5
MiBAQCB1a19maW5kX25leHRfemVyb19iaXQoY29uc3QgdW5zaWduZWQgbG9uZyAqYWRkciwgdW5z
aWduZWQgbG9uZyBzaXplLAogCXJldHVybiAoYml0KTsKIH0KIAotLyogdWtfc2V0X2JpdCBhbmQg
dWtfY2xlYXJfYml0IGFyZSBhdG9taWMgYW5kIHByb3RlY3RlZCBhZ2FpbnN0Ci0gKiByZW9yZGVy
aW5nIChkbyBiYXJyaWVycyksIHdoaWxlIHRoZSB1bmRlcnNjb3JlZCAoX18qKSB2ZXJzaW9ucyBv
ZgotICogdGhlbSBkb24ndCAobm90IGF0b21pYykuCisvKioKKyAqIHVrX3Rlc3RfYW5kX2NsZWFy
X2JpdCAtIEF0b21pY2FsbHkgY2xlYXIgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xkIHZhbHVlCisg
KiBAbnI6IEJpdCB0byBjbGVhcgorICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQorICoK
KyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBm
dW5jdGlvbiBpcyBub3QKKyAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQg
cXVhbnRpdHkuCiAgKi8KLSNkZWZpbmUgX191a19zZXRfYml0KGksIGEpICAgICAgICB1a2FyY2hf
c2V0X2JpdChpLCBhKQotI2RlZmluZSB1a19zZXRfYml0KGksIGEpICAgICAgICAgIHVrYXJjaF9z
ZXRfYml0X3N5bmMoaSwgYSkKLSNkZWZpbmUgX191a19jbGVhcl9iaXQoaSwgYSkgICAgICB1a2Fy
Y2hfY2xyX2JpdChpLCBhKQotI2RlZmluZSB1a19jbGVhcl9iaXQoaSwgYSkgICAgICAgIHVrYXJj
aF9jbHJfYml0X3N5bmMoaSwgYSkKLSNkZWZpbmUgdWtfdGVzdF9iaXQoaSwgYSkgICAgICAgICB1
a2FyY2hfdGVzdF9iaXQoaSwgYSkKLQogc3RhdGljIGlubGluZSBpbnQKLXVrX3Rlc3RfYW5kX2Ns
ZWFyX2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQordWtfdGVzdF9h
bmRfY2xlYXJfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0J
cmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9jbHJfYml0X3N5bmMoYml0LCAodm9sYXRpbGUgdm9pZCAq
KSB2YXIpOworCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSArIChuciA+PiAz
KTsKKwlfX3U4IG1hc2sgPSAxIDw8IChuciAmIDcpOworCV9fdTggb3JpZzsKKworCW9yaWcgPSBf
X2F0b21pY19mZXRjaF9hbmQocHRyLCB+bWFzaywgX19BVE9NSUNfU0VRX0NTVCk7CisKKwlyZXR1
cm4gKG9yaWcgJiBtYXNrKSAhPSAwOwogfQogCisvKioKKyAqIF9fdWtfdGVzdF9hbmRfY2xlYXJf
Yml0IC0gQ2xlYXIgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xkIHZhbHVlCisgKiBAbnI6IEJpdCB0
byBjbGVhcgorICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQorICoKKyAqIE5vdGUgdGhh
dCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBu
b3QKKyAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCisg
KgorICogVGhpcyBvcGVyYXRpb24gaXMgbm90IGF0b21pYyBhbmQgY2FuIGJlIHJlb3JkZXJlZC4g
SWYgdHdvCisgKiBfX3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCBhcmUgZXhlY3V0aW5nIGluIHBhcmFs
bGVsLCBpdCBjb3VsZCBiZSB0aGF0CisgKiBvbmx5IG9uZSBvZiB0aGVtIHdpbGwgYmUgc3VjY2Vz
c2Z1bAorICovCiBzdGF0aWMgaW5saW5lIGludAotX191a190ZXN0X2FuZF9jbGVhcl9iaXQobG9u
ZyBiaXQsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKnZhcikKK19fdWtfdGVzdF9hbmRfY2xlYXJf
Yml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JcmV0dXJuIHVr
YXJjaF90ZXN0X2FuZF9jbHJfYml0KGJpdCwgKHZvbGF0aWxlIHZvaWQgKikgdmFyKTsKKwl2b2xh
dGlsZSBfX3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7CisJX191OCBtYXNr
ID0gMSA8PCAobnIgJiA3KTsKKwlfX3U4IG9yaWc7CisKKwlvcmlnID0gX19hdG9taWNfZmV0Y2hf
YW5kKHB0ciwgfm1hc2ssIF9fQVRPTUlDX1JFTEFYRUQpOworCisJcmV0dXJuIChvcmlnICYgbWFz
aykgIT0gMDsKIH0KIAorLyoqCisgKiB1a190ZXN0X2FuZF9zZXRfYml0IC0gQXRvbWljYWxseSBz
ZXQgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xkIHZhbHVlCisgKiBAbnI6IEJpdCB0byBjbGVhcgor
ICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQorICoKKyAqIE5vdGUgdGhhdCBAbnIgbWF5
IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKKyAqIHJl
c3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdvcmQgcXVhbnRpdHkuCisgKi8KIHN0YXRp
YyBpbmxpbmUgaW50Ci11a190ZXN0X2FuZF9zZXRfYml0KGxvbmcgYml0LCB2b2xhdGlsZSB1bnNp
Z25lZCBsb25nICp2YXIpCit1a190ZXN0X2FuZF9zZXRfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVu
c2lnbmVkIGxvbmcgKmFkZHIpCiB7Ci0JcmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9zZXRfYml0X3N5
bmMoYml0LCAodm9sYXRpbGUgdm9pZCAqKSB2YXIpOworCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgo
X191OCAqKSBhZGRyKSArIChuciA+PiAzKTsKKwlfX3U4IG1hc2sgPSAxIDw8IChuciAmIDcpOwor
CV9fdTggb3JpZzsKKworCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihwdHIsIG1hc2ssIF9fQVRP
TUlDX1NFUV9DU1QpOworCisJcmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKIH0KIAorLyoqCisg
KiBfX3VrX3Rlc3RfYW5kX3NldF9iaXQgLSBTZXQgYSBiaXQgYW5kIHJldHVybiBpdHMgb2xkIHZh
bHVlCisgKiBAbnI6IEJpdCB0byBjbGVhcgorICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJv
bQorICoKKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsg
dGhpcyBmdW5jdGlvbiBpcyBub3QKKyAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xl
LXdvcmQgcXVhbnRpdHkuCisgKgorICogVGhpcyBvcGVyYXRpb24gaXMgbm90IGF0b21pYyBhbmQg
Y2FuIGJlIHJlb3JkZXJlZC4gSWYgdHdvCisgKiBfX3VrX3Rlc3RfYW5kX3NldF9iaXQgYXJlIGV4
ZWN1dGluZyBpbiBwYXJhbGxlbCwgaXQgY291bGQgYmUgdGhhdAorICogb25seSBvbmUgb2YgdGhl
bSB3aWxsIGJlIHN1Y2Nlc3NmdWwKKyAqLwogc3RhdGljIGlubGluZSBpbnQKLV9fdWtfdGVzdF9h
bmRfc2V0X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQorX191a190
ZXN0X2FuZF9zZXRfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCiB7
Ci0JcmV0dXJuIHVrYXJjaF90ZXN0X2FuZF9zZXRfYml0KGJpdCwgKHZvbGF0aWxlIHZvaWQgKikg
dmFyKTsKKwl2b2xhdGlsZSBfX3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7
CisJX191OCBtYXNrID0gMSA8PCAobnIgJiA3KTsKKwlfX3U4IG9yaWc7CisKKwlvcmlnID0gX19h
dG9taWNfZmV0Y2hfb3IocHRyLCBtYXNrLCBfX0FUT01JQ19SRUxBWEVEKTsKKworCXJldHVybiAo
b3JpZyAmIG1hc2spICE9IDA7CiB9CiAKIGVudW0gewpAQCAtMjgyLDYgKzMzNiwzOCBAQCBlbnVt
IHsKIAlSRUdfT1BfUkVMRUFTRSwKIH07CiAKKy8qIHVrX3NldF9iaXQgYW5kIHVrX2NsZWFyX2Jp
dCBhcmUgYXRvbWljIGFuZCBwcm90ZWN0ZWQgYWdhaW5zdAorICogcmVvcmRlcmluZyAoZG8gYmFy
cmllcnMpLCB3aGlsZSB0aGUgdW5kZXJzY29yZWQgKF9fKikgdmVyc2lvbnMgb2YKKyAqIHRoZW0g
YXJlIG5vdCAobm90IGF0b21pYykuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB1a19zZXRfYml0
KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCit7CisJdWtfdGVzdF9hbmRf
c2V0X2JpdChuciwgYWRkcik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX3VrX3NldF9iaXQo
bG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKK3sKKwlfX3VrX3Rlc3RfYW5k
X3NldF9iaXQobnIsIGFkZHIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdWtfY2xlYXJfYml0
KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCit7CisJdWtfdGVzdF9hbmRf
Y2xlYXJfYml0KG5yLCBhZGRyKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fdWtfY2xlYXJf
Yml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCit7CisJX191a190ZXN0
X2FuZF9jbGVhcl9iaXQobnIsIGFkZHIpOworfQorCitzdGF0aWMgaW5saW5lIGludCB1a190ZXN0
X2JpdChpbnQgbnIsIGNvbnN0IHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCit7CisJY29u
c3Qgdm9sYXRpbGUgX191OCAqcHRyID0gKGNvbnN0IF9fdTggKikgYWRkcjsKKwlpbnQgcmV0ID0g
ICgoMSA8PCAobnIgJiA3KSkgJiAocHRyW25yID4+IDNdKSkgIT0gMDsKKworCXJldHVybiByZXQ7
Cit9CisKIHN0YXRpYyBpbmxpbmUgaW50CiBfX3VrX2JpdG9wdHNfcmVnX29wKHVuc2lnbmVkIGxv
bmcgKmJpdG1hcCwgaW50IHBvcywgaW50IG9yZGVyLCBpbnQgcmVnX29wKQogewotLSAKMi4xOS4w
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 13:01:32 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 13:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAE7G-00086R-PB; Wed, 10 Oct 2018 13:01:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5llb=mw=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAE7F-00086M-61
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 13:01:29 +0000
X-Inumbo-ID: c7b2f104-cc8c-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c7b2f104-cc8c-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 13:02:45 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D95F31039A5;
 Wed, 10 Oct 2018 15:01:26 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id jsoc-MYBWMRP; Wed, 10 Oct 2018 15:01:26 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B0D14101BA1
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 15:01:24 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct 2018 15:01:24
 +0200
To: Yuri Volchkov <yuri.volchkov@neclab.eu>, <minios-devel@lists.xen.org>
References: <20181010124357.30261-1-yuri.volchkov@neclab.eu>
 <20181010124357.30261-5-yuri.volchkov@neclab.eu>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <7667dbd2-b57e-10a4-db9e-50dbc3c46244@neclab.eu>
Date: Wed, 10 Oct 2018 15:01:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <20181010124357.30261-5-yuri.volchkov@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/4] include/uk: merge two
 bitops functions
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgWXVyaSwKCmxvb2tpbmcgZ29vZCwganVzdCBzb21lIHR5cG9zIHRoYXQgY2FuIGJlIGZpeGVk
IG9uIGNvbW1pdHRpbmcgKHNlZSAKYmVsb3cpLCBvdGhlcndpc2U6CgpSZXZpZXdlZC1ieTogRmxv
cmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1PgoKT24gMTAvMTAvMjAxOCAw
Mjo0MyBQTSwgWXVyaSBWb2xjaGtvdiB3cm90ZToKPiBVbmlrcmFmdCBjdXJyZW50bHkgaGFzIHR3
byBzZXRzIG9mIGJpdCBvcGVyYXRpb25zLiBUaGlzIHBhdGNoIG1lcmdlcwo+IHRoZW0gdG9nZXRo
ZXIKCkFkZCBhIGZ1bGwgc3RvcCBhdCB0aGUgZW5kIG9mIHRoZSBzZW50ZW5jZS4KCj4gCj4gU2ln
bmVkLW9mZi1ieTogWXVyaSBWb2xjaGtvdiA8eXVyaS52b2xjaGtvdkBuZWNsYWIuZXU+Cj4gLS0t
Cj4gICBpbmNsdWRlL3VrL2FyY2gvYXRvbWljLmggfCAxMDYgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQo+ICAgaW5jbHVkZS91ay9iaXRvcHMuaCAgICAgIHwgMTIwICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAxMDMg
aW5zZXJ0aW9ucygrKSwgMTIzIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9pbmNsdWRl
L3VrL2FyY2gvYXRvbWljLmggYi9pbmNsdWRlL3VrL2FyY2gvYXRvbWljLmgKPiBpbmRleCA0NGE3
MWU2Li5jZThmNmU1IDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAo+ICsr
KyBiL2luY2x1ZGUvdWsvYXJjaC9hdG9taWMuaAo+IEBAIC04MywxMTIgKzgzLDYgQEAgZXh0ZXJu
ICJDIiB7Cj4gICAJCSAgICA6IG9sZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKPiAgIAl9KQo+ICAgCj4gLS8qKgo+IC0gKiB0ZXN0X2FuZF9j
bGVhcl9iaXQgLSBDbGVhciBhIGJpdCBhbmQgcmV0dXJuIGl0cyBvbGQgdmFsdWUKPiAtICogQG5y
OiBCaXQgdG8gY2xlYXIKPiAtICogQGFkZHI6IEFkZHJlc3MgdG8gY291bnQgZnJvbQo+IC0gKgo+
IC0gKiBOb3RlIHRoYXQgQG5yIG1heSBiZSBhbG1vc3QgYXJiaXRyYXJpbHkgbGFyZ2U7IHRoaXMg
ZnVuY3Rpb24gaXMgbm90Cj4gLSAqIHJlc3RyaWN0ZWQgdG8gYWN0aW5nIG9uIGEgc2luZ2xlLXdv
cmQgcXVhbnRpdHkuCj4gLSAqCj4gLSAqIFRoaXMgb3BlcmF0aW9uIGlzIGF0b21pYy4KPiAtICog
SWYgeW91IG5lZWQgYSBtZW1vcnkgYmFycmllciwgdXNlIHN5bmNoX3Rlc3RfYW5kX2NsZWFyX2Jp
dCBpbnN0ZWFkLgo+IC0gKi8KPiAtc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX2Ns
cl9iaXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQo+IC17Cj4gLQl2b2xh
dGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4gLQlfX3U4IGJp
dCA9IDEgPDwgKG5yICYgNyk7Cj4gLQlfX3U4IG9yaWc7Cj4gLQo+IC0Jb3JpZyA9IF9fYXRvbWlj
X2ZldGNoX2FuZChhZGRyLCB+Yml0LCBfX0FUT01JQ19SRUxBWEVEKTsKPiAtCj4gLQlyZXR1cm4g
KG9yaWcgJiBiaXQpICE9IDA7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBBdG9taWNhbGx5IHNldCBh
IGJpdCBhbmQgcmV0dXJuIHRoZSBvbGQgdmFsdWUuCj4gLSAqIFNpbWlsYXIgdG8gdGVzdF9hbmRf
Y2xlYXJfYml0Lgo+IC0gKi8KPiAtc3RhdGljIGlubGluZSBpbnQgdWthcmNoX3Rlc3RfYW5kX3Nl
dF9iaXQodW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2b2lkICpieXRlKQo+IC17Cj4gLQl2b2xh
dGlsZSBfX3U4ICphZGRyID0gKChfX3U4ICopYnl0ZSkgKyAobnIgPj4gMyk7Cj4gLQlfX3U4IGJp
dCA9IDEgPDwgKG5yICYgNyk7Cj4gLQlfX3U4IG9yaWc7Cj4gLQo+IC0Jb3JpZyA9IF9fYXRvbWlj
X2ZldGNoX29yKGFkZHIsIGJpdCwgX19BVE9NSUNfUkVMQVhFRCk7Cj4gLQo+IC0JcmV0dXJuIChv
cmlnICYgYml0KSAhPSAwOwo+IC19Cj4gLQo+IC0vKioKPiAtICogVGVzdCB3aGV0aGVyIGEgYml0
IGlzIHNldC4KPiAtICovCj4gLXN0YXRpYyBpbmxpbmUgaW50IHVrYXJjaF90ZXN0X2JpdCh1bnNp
Z25lZCBpbnQgbnIsCj4gLQkJCQkJY29uc3Qgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYnl0ZSkK
PiAtewo+IC0JY29uc3Qgdm9sYXRpbGUgX191OCAqcHRyID0gKGNvbnN0IF9fdTggKilieXRlOwo+
IC0JaW50IHJldCA9ICAoKDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7Cj4g
LQo+IC0JcmV0dXJuIHJldDsKPiAtfQo+IC0KPiAtLyoqCj4gLSAqIEF0b21pY2FsbHkgc2V0IGEg
Yml0IGluIG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9zZXRfYml0IGJ1dCBkaXNjYXJkcyByZXN1bHQp
Lgo+IC0gKi8KPiAtc3RhdGljIGlubGluZSB2b2lkIHVrYXJjaF9zZXRfYml0KHVuc2lnbmVkIGlu
dCBuciwKPiAtCQkJCQl2b2xhdGlsZSB1bnNpZ25lZCBsb25nICpieXRlKQo+IC17Cj4gLQl1a2Fy
Y2hfdGVzdF9hbmRfc2V0X2JpdChuciwgYnl0ZSk7Cj4gLX0KPiAtCj4gLS8qKgo+IC0gKiBBdG9t
aWNhbGx5IGNsZWFyIGEgYml0IGluIG1lbW9yeSAobGlrZSB0ZXN0X2FuZF9jbGVhcl9iaXQgYnV0
IGRpc2NhcmRzCj4gLSAqIHJlc3VsdCkuCj4gLSAqLwo+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWth
cmNoX2Nscl9iaXQodW5zaWduZWQgaW50IG5yLAo+IC0JCQkJCXZvbGF0aWxlIHVuc2lnbmVkIGxv
bmcgKmJ5dGUpCj4gLXsKPiAtCXVrYXJjaF90ZXN0X2FuZF9jbHJfYml0KG5yLCBieXRlKTsKPiAt
fQo+IC0KPiAtLyogQXMgdGVzdF9hbmRfY2xlYXJfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VR
X0NTVCAqLwo+IC1zdGF0aWMgaW5saW5lIGludCB1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdF9zeW5j
KHVuc2lnbmVkIGludCBuciwKPiAtCQkJCQkJdm9sYXRpbGUgdm9pZCAqYnl0ZSkKPiAtewo+IC0J
dm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5dGUpICsgKG5yID4+IDMpOwo+IC0JX191
OCBiaXQgPSAxIDw8IChuciAmIDcpOwo+IC0JX191OCBvcmlnOwo+IC0KPiAtCW9yaWcgPSBfX2F0
b21pY19mZXRjaF9hbmQoYWRkciwgfmJpdCwgX19BVE9NSUNfU0VRX0NTVCk7Cj4gLQo+IC0JcmV0
dXJuIChvcmlnICYgYml0KSAhPSAwOwo+IC19Cj4gLQo+IC0vKiBBcyB0ZXN0X2FuZF9zZXRfYml0
LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NTVCAqLwo+IC1zdGF0aWMgaW5saW5lIGludCB1a2Fy
Y2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKHVuc2lnbmVkIGludCBuciwKPiAtCQkJCQkJdm9sYXRp
bGUgdm9pZCAqYnl0ZSkKPiAtewo+IC0Jdm9sYXRpbGUgX191OCAqYWRkciA9ICgoX191OCAqKWJ5
dGUpICsgKG5yID4+IDMpOwo+IC0JX191OCBiaXQgPSAxIDw8IChuciAmIDcpOwo+IC0JX191OCBv
cmlnOwo+IC0KPiAtCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihhZGRyLCBiaXQsIF9fQVRPTUlD
X1NFUV9DU1QpOwo+IC0KPiAtCXJldHVybiAob3JpZyAmIGJpdCkgIT0gMDsKPiAtfQo+IC0KPiAt
LyogQXMgc2V0X2JpdCwgYnV0IHVzaW5nIF9fQVRPTUlDX1NFUV9DU1QgKi8KPiAtc3RhdGljIGlu
bGluZSB2b2lkIHVrYXJjaF9zZXRfYml0X3N5bmModW5zaWduZWQgaW50IG5yLCB2b2xhdGlsZSB2
b2lkICpieXRlKQo+IC17Cj4gLQl1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKG5yLCBieXRl
KTsKPiAtfQo+IC0KPiAtLyogQXMgY2xlYXJfYml0LCBidXQgdXNpbmcgX19BVE9NSUNfU0VRX0NT
VCAqLwo+IC1zdGF0aWMgaW5saW5lIHZvaWQgdWthcmNoX2Nscl9iaXRfc3luYyh1bnNpZ25lZCBp
bnQgbnIsIHZvbGF0aWxlIHZvaWQgKmJ5dGUpCj4gLXsKPiAtCXVrYXJjaF90ZXN0X2FuZF9jbHJf
Yml0X3N5bmMobnIsIGJ5dGUpOwo+IC19Cj4gLQo+ICAgI2lmZGVmIF9fY3BsdXNwbHVzCj4gICB9
Cj4gICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91ay9iaXRvcHMuaCBiL2luY2x1ZGUv
dWsvYml0b3BzLmgKPiBpbmRleCA1YTI4NDEwLi5iY2E5Yzc0IDEwMDY0NAo+IC0tLSBhL2luY2x1
ZGUvdWsvYml0b3BzLmgKPiArKysgYi9pbmNsdWRlL3VrL2JpdG9wcy5oCj4gQEAgLTI0MiwzOCAr
MjQyLDkyIEBAIHVrX2ZpbmRfbmV4dF96ZXJvX2JpdChjb25zdCB1bnNpZ25lZCBsb25nICphZGRy
LCB1bnNpZ25lZCBsb25nIHNpemUsCj4gICAJcmV0dXJuIChiaXQpOwo+ICAgfQo+ICAgCj4gLS8q
IHVrX3NldF9iaXQgYW5kIHVrX2NsZWFyX2JpdCBhcmUgYXRvbWljIGFuZCBwcm90ZWN0ZWQgYWdh
aW5zdAo+IC0gKiByZW9yZGVyaW5nIChkbyBiYXJyaWVycyksIHdoaWxlIHRoZSB1bmRlcnNjb3Jl
ZCAoX18qKSB2ZXJzaW9ucyBvZgo+IC0gKiB0aGVtIGRvbid0IChub3QgYXRvbWljKS4KPiArLyoq
Cj4gKyAqIHVrX3Rlc3RfYW5kX2NsZWFyX2JpdCAtIEF0b21pY2FsbHkgY2xlYXIgYSBiaXQgYW5k
IHJldHVybiBpdHMgb2xkIHZhbHVlCj4gKyAqIEBucjogQml0IHRvIGNsZWFyCj4gKyAqIEBhZGRy
OiBBZGRyZXNzIHRvIGNvdW50IGZyb20KPiArICoKPiArICogTm90ZSB0aGF0IEBuciBtYXkgYmUg
YWxtb3N0IGFyYml0cmFyaWx5IGxhcmdlOyB0aGlzIGZ1bmN0aW9uIGlzIG5vdAo+ICsgKiByZXN0
cmljdGVkIHRvIGFjdGluZyBvbiBhIHNpbmdsZS13b3JkIHF1YW50aXR5Lgo+ICAgICovCj4gLSNk
ZWZpbmUgX191a19zZXRfYml0KGksIGEpICAgICAgICB1a2FyY2hfc2V0X2JpdChpLCBhKQo+IC0j
ZGVmaW5lIHVrX3NldF9iaXQoaSwgYSkgICAgICAgICAgdWthcmNoX3NldF9iaXRfc3luYyhpLCBh
KQo+IC0jZGVmaW5lIF9fdWtfY2xlYXJfYml0KGksIGEpICAgICAgdWthcmNoX2Nscl9iaXQoaSwg
YSkKPiAtI2RlZmluZSB1a19jbGVhcl9iaXQoaSwgYSkgICAgICAgIHVrYXJjaF9jbHJfYml0X3N5
bmMoaSwgYSkKPiAtI2RlZmluZSB1a190ZXN0X2JpdChpLCBhKSAgICAgICAgIHVrYXJjaF90ZXN0
X2JpdChpLCBhKQo+IC0KPiAgIHN0YXRpYyBpbmxpbmUgaW50Cj4gLXVrX3Rlc3RfYW5kX2NsZWFy
X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqdmFyKQo+ICt1a190ZXN0X2Fu
ZF9jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiAgIHsK
PiAtCXJldHVybiB1a2FyY2hfdGVzdF9hbmRfY2xyX2JpdF9zeW5jKGJpdCwgKHZvbGF0aWxlIHZv
aWQgKikgdmFyKTsKPiArCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSArIChu
ciA+PiAzKTsKPiArCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7Cj4gKwlfX3U4IG9yaWc7Cj4g
Kwo+ICsJb3JpZyA9IF9fYXRvbWljX2ZldGNoX2FuZChwdHIsIH5tYXNrLCBfX0FUT01JQ19TRVFf
Q1NUKTsKPiArCj4gKwlyZXR1cm4gKG9yaWcgJiBtYXNrKSAhPSAwOwo+ICAgfQo+ICAgCj4gKy8q
Kgo+ICsgKiBfX3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCAtIENsZWFyIGEgYml0IGFuZCByZXR1cm4g
aXRzIG9sZCB2YWx1ZQo+ICsgKiBAbnI6IEJpdCB0byBjbGVhcgo+ICsgKiBAYWRkcjogQWRkcmVz
cyB0byBjb3VudCBmcm9tCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBh
cmJpdHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKPiArICogcmVzdHJpY3RlZCB0
byBhY3Rpbmcgb24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KPiArICoKPiArICogVGhpcyBvcGVy
YXRpb24gaXMgbm90IGF0b21pYyBhbmQgY2FuIGJlIHJlb3JkZXJlZC4gSWYgdHdvCj4gKyAqIF9f
dWtfdGVzdF9hbmRfY2xlYXJfYml0IGFyZSBleGVjdXRpbmcgaW4gcGFyYWxsZWwsIGl0IGNvdWxk
IGJlIHRoYXQKPiArICogb25seSBvbmUgb2YgdGhlbSB3aWxsIGJlIHN1Y2Nlc3NmdWwKCkFkZCBh
IGZ1bGwgc3RvcCBhdCB0aGUgZW5kIG9mIHRoZSBzZW50ZW5jZS4KCj4gKyAqLwo+ICAgc3RhdGlj
IGlubGluZSBpbnQKPiAtX191a190ZXN0X2FuZF9jbGVhcl9iaXQobG9uZyBiaXQsIHZvbGF0aWxl
IHVuc2lnbmVkIGxvbmcgKnZhcikKPiArX191a190ZXN0X2FuZF9jbGVhcl9iaXQobG9uZyBuciwg
dm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiAgIHsKPiAtCXJldHVybiB1a2FyY2hfdGVz
dF9hbmRfY2xyX2JpdChiaXQsICh2b2xhdGlsZSB2b2lkICopIHZhcik7Cj4gKwl2b2xhdGlsZSBf
X3U4ICpwdHIgPSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7Cj4gKwlfX3U4IG1hc2sgPSAx
IDw8IChuciAmIDcpOwo+ICsJX191OCBvcmlnOwo+ICsKPiArCW9yaWcgPSBfX2F0b21pY19mZXRj
aF9hbmQocHRyLCB+bWFzaywgX19BVE9NSUNfUkVMQVhFRCk7Cj4gKwo+ICsJcmV0dXJuIChvcmln
ICYgbWFzaykgIT0gMDsKPiAgIH0KPiAgIAo+ICsvKioKPiArICogdWtfdGVzdF9hbmRfc2V0X2Jp
dCAtIEF0b21pY2FsbHkgc2V0IGEgYml0IGFuZCByZXR1cm4gaXRzIG9sZCB2YWx1ZQo+ICsgKiBA
bnI6IEJpdCB0byBjbGVhcgo+ICsgKiBAYWRkcjogQWRkcmVzcyB0byBjb3VudCBmcm9tCj4gKyAq
Cj4gKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJpdHJhcmlseSBsYXJnZTsgdGhp
cyBmdW5jdGlvbiBpcyBub3QKPiArICogcmVzdHJpY3RlZCB0byBhY3Rpbmcgb24gYSBzaW5nbGUt
d29yZCBxdWFudGl0eS4KPiArICovCj4gICBzdGF0aWMgaW5saW5lIGludAo+IC11a190ZXN0X2Fu
ZF9zZXRfYml0KGxvbmcgYml0LCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICp2YXIpCj4gK3VrX3Rl
c3RfYW5kX3NldF9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5zaWduZWQgbG9uZyAqYWRkcikKPiAg
IHsKPiAtCXJldHVybiB1a2FyY2hfdGVzdF9hbmRfc2V0X2JpdF9zeW5jKGJpdCwgKHZvbGF0aWxl
IHZvaWQgKikgdmFyKTsKPiArCXZvbGF0aWxlIF9fdTggKnB0ciA9ICgoX191OCAqKSBhZGRyKSAr
IChuciA+PiAzKTsKPiArCV9fdTggbWFzayA9IDEgPDwgKG5yICYgNyk7Cj4gKwlfX3U4IG9yaWc7
Cj4gKwo+ICsJb3JpZyA9IF9fYXRvbWljX2ZldGNoX29yKHB0ciwgbWFzaywgX19BVE9NSUNfU0VR
X0NTVCk7Cj4gKwo+ICsJcmV0dXJuIChvcmlnICYgbWFzaykgIT0gMDsKPiAgIH0KPiAgIAo+ICsv
KioKPiArICogX191a190ZXN0X2FuZF9zZXRfYml0IC0gU2V0IGEgYml0IGFuZCByZXR1cm4gaXRz
IG9sZCB2YWx1ZQo+ICsgKiBAbnI6IEJpdCB0byBjbGVhcgo+ICsgKiBAYWRkcjogQWRkcmVzcyB0
byBjb3VudCBmcm9tCj4gKyAqCj4gKyAqIE5vdGUgdGhhdCBAbnIgbWF5IGJlIGFsbW9zdCBhcmJp
dHJhcmlseSBsYXJnZTsgdGhpcyBmdW5jdGlvbiBpcyBub3QKPiArICogcmVzdHJpY3RlZCB0byBh
Y3Rpbmcgb24gYSBzaW5nbGUtd29yZCBxdWFudGl0eS4KPiArICoKPiArICogVGhpcyBvcGVyYXRp
b24gaXMgbm90IGF0b21pYyBhbmQgY2FuIGJlIHJlb3JkZXJlZC4gSWYgdHdvCj4gKyAqIF9fdWtf
dGVzdF9hbmRfc2V0X2JpdCBhcmUgZXhlY3V0aW5nIGluIHBhcmFsbGVsLCBpdCBjb3VsZCBiZSB0
aGF0Cj4gKyAqIG9ubHkgb25lIG9mIHRoZW0gd2lsbCBiZSBzdWNjZXNzZnVsCgpBZGQgYSBmdWxs
IHN0b3AgYXQgdGhlIGVuZCBvZiB0aGUgc2VudGVuY2UuCgo+ICsgKi8KPiAgIHN0YXRpYyBpbmxp
bmUgaW50Cj4gLV9fdWtfdGVzdF9hbmRfc2V0X2JpdChsb25nIGJpdCwgdm9sYXRpbGUgdW5zaWdu
ZWQgbG9uZyAqdmFyKQo+ICtfX3VrX3Rlc3RfYW5kX3NldF9iaXQobG9uZyBuciwgdm9sYXRpbGUg
dW5zaWduZWQgbG9uZyAqYWRkcikKPiAgIHsKPiAtCXJldHVybiB1a2FyY2hfdGVzdF9hbmRfc2V0
X2JpdChiaXQsICh2b2xhdGlsZSB2b2lkICopIHZhcik7Cj4gKwl2b2xhdGlsZSBfX3U4ICpwdHIg
PSAoKF9fdTggKikgYWRkcikgKyAobnIgPj4gMyk7Cj4gKwlfX3U4IG1hc2sgPSAxIDw8IChuciAm
IDcpOwo+ICsJX191OCBvcmlnOwo+ICsKPiArCW9yaWcgPSBfX2F0b21pY19mZXRjaF9vcihwdHIs
IG1hc2ssIF9fQVRPTUlDX1JFTEFYRUQpOwo+ICsKPiArCXJldHVybiAob3JpZyAmIG1hc2spICE9
IDA7Cj4gICB9Cj4gICAKPiAgIGVudW0gewo+IEBAIC0yODIsNiArMzM2LDM4IEBAIGVudW0gewo+
ICAgCVJFR19PUF9SRUxFQVNFLAo+ICAgfTsKPiAgIAo+ICsvKiB1a19zZXRfYml0IGFuZCB1a19j
bGVhcl9iaXQgYXJlIGF0b21pYyBhbmQgcHJvdGVjdGVkIGFnYWluc3QKPiArICogcmVvcmRlcmlu
ZyAoZG8gYmFycmllcnMpLCB3aGlsZSB0aGUgdW5kZXJzY29yZWQgKF9fKikgdmVyc2lvbnMgb2YK
PiArICogdGhlbSBhcmUgbm90IChub3QgYXRvbWljKS4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUg
dm9pZCB1a19zZXRfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCj4g
K3sKPiArCXVrX3Rlc3RfYW5kX3NldF9iaXQobnIsIGFkZHIpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
aW5saW5lIHZvaWQgX191a19zZXRfYml0KGxvbmcgbnIsIHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcg
KmFkZHIpCj4gK3sKPiArCV9fdWtfdGVzdF9hbmRfc2V0X2JpdChuciwgYWRkcik7Cj4gK30KPiAr
Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB1a19jbGVhcl9iaXQobG9uZyBuciwgdm9sYXRpbGUgdW5z
aWduZWQgbG9uZyAqYWRkcikKPiArewo+ICsJdWtfdGVzdF9hbmRfY2xlYXJfYml0KG5yLCBhZGRy
KTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIF9fdWtfY2xlYXJfYml0KGxvbmcgbnIs
IHZvbGF0aWxlIHVuc2lnbmVkIGxvbmcgKmFkZHIpCj4gK3sKPiArCV9fdWtfdGVzdF9hbmRfY2xl
YXJfYml0KG5yLCBhZGRyKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQgdWtfdGVzdF9i
aXQoaW50IG5yLCBjb25zdCB2b2xhdGlsZSB1bnNpZ25lZCBsb25nICphZGRyKQo+ICt7Cj4gKwlj
b25zdCB2b2xhdGlsZSBfX3U4ICpwdHIgPSAoY29uc3QgX191OCAqKSBhZGRyOwo+ICsJaW50IHJl
dCA9ICAoKDEgPDwgKG5yICYgNykpICYgKHB0cltuciA+PiAzXSkpICE9IDA7Cj4gKwo+ICsJcmV0
dXJuIHJldDsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbmxpbmUgaW50Cj4gICBfX3VrX2JpdG9wdHNf
cmVnX29wKHVuc2lnbmVkIGxvbmcgKmJpdG1hcCwgaW50IHBvcywgaW50IG9yZGVyLCBpbnQgcmVn
X29wKQo+ICAgewo+IAoKLS0gCkRyLiBGbG9yaWFuIFNjaG1pZHQK44OV44Ot44O844Oq44Ki44Oz
44O744K344Ol44Of44OD44OIClJlc2VhcmNoIFNjaWVudGlzdCwKU3lzdGVtcyBhbmQgTWFjaGlu
ZSBMZWFybmluZyBHcm91cApORUMgTGFib3JhdG9yaWVzIEV1cm9wZQpLdXJmw7xyc3Rlbi1Bbmxh
Z2UgMzYsIEQtNjkxMTUgSGVpZGVsYmVyZwpUZWwuICAgICArNDkgKDApNjIyMSA0MzQyLTI2NQpG
YXg6ICAgICArNDkgKDApNjIyMSA0MzQyLTE1NQplLW1haWw6ICBmbG9yaWFuLnNjaG1pZHRAbmVj
bGFiLmV1Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSZWdpc3RlcmVkIGF0IEFtdHNnZXJpY2h0IE1hbm5oZWltLCBHZXJtYW55LCBI
UkI3Mjg1NTgKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 21:47:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 21:47:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAMKS-0006Tt-8d; Wed, 10 Oct 2018 21:47:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gAMKQ-0006Tf-De
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 21:47:38 +0000
X-Inumbo-ID: 48be78d0-ccd6-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 48be78d0-ccd6-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 21:48:55 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 54718F2053;
 Wed, 10 Oct 2018 23:47:36 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vBu66SWeW-VW; Wed, 10 Oct 2018 23:47:36 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 2C296F202A
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 23:47:34 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 23:47:33 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 23:47:24 +0200
Message-ID: <1539208045-10553-2-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539208045-10553-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539208045-10553-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.24]
Subject: [Minios-devel] [UNIKRAFT PATCH 2/3] build: `print-vars` target is a
 `null_targets`
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 yuri.volchkov@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW5jbHVkZSB0aGUgYHByaW50LXZhcnNgIE1ha2UgdGFyZ2V0IHRvIHRoZSBgbnVsbF90YXJnZXRz
YCB2YXJpYWJsZS4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJA
bmVjbGFiLmV1PgotLS0KIE1ha2VmaWxlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl
cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZp
bGUKaW5kZXggMTI1MDQzNi4uODgwYmRkZSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFr
ZWZpbGUKQEAgLTEzOSw3ICsxMzksNyBAQCBleHBvcnQgQ09ORklHX1VLX05BTUUgPz0gJChub3Rk
aXIgJChBUFBfRElSKSkKIGV4cG9ydCBEQVRFIDo9ICQoc2hlbGwgZGF0ZSArJVklbSVkKQogCiAj
IE1ha2VmaWxlIHRhcmdldHMKLW51bGxfdGFyZ2V0cwkJOj0gcHJpbnQtdmVyc2lvbiBoZWxwCitu
dWxsX3RhcmdldHMJCTo9IHByaW50LXZlcnNpb24gcHJpbnQtdmFycyBoZWxwCiBub2NvbmZpZ190
YXJnZXRzCTo9IG1lbnVjb25maWcgbmNvbmZpZyBnY29uZmlnIHhjb25maWcgY29uZmlnIG9sZGNv
bmZpZyByYW5kY29uZmlnIFwKIAkJCSAgIGRlZmNvbmZpZyAlX2RlZmNvbmZpZyBhbGx5ZXNjb25m
aWcgYWxsbm9jb25maWcgc2lsZW50b2xkY29uZmlnIHJlbGVhc2UgXAogCQkJICAgb2xkZGVmY29u
ZmlnIHByb3BlcmNsZWFuIGRpc3RjbGVhbiAkKG51bGxfdGFyZ2V0cykKQEAgLTM3Myw3ICszNzMs
NyBAQCBleHBvcnQgVUtfRkFNSUxZID89ICQoc2hlbGwgZWNobyAiJChDT05GSUdfVUtfQVJDSCki
IHwgXAogCiAKICMgUXVpY2stY2hlY2sgaWYgYXJjaGl0ZWN0dXJlIGV4aXN0cwotaWZlcSAoJChm
aWx0ZXIgJChudWxsX3RhcmdldHMpIHByaW50LXZhcnMsJChNQUtFQ01ER09BTFMpKSwpCitpZmVx
ICgkKGZpbHRlciAkKG51bGxfdGFyZ2V0cyksJChNQUtFQ01ER09BTFMpKSwpCiBpZmVxICgkKHdp
bGRjYXJkICQoQ09ORklHX1VLX0JBU0UpL2FyY2gvJChVS19GQU1JTFkpLyQoQVJDSCkvTWFrZWZp
bGUudWspLCkKICQoZXJyb3IgVGFyZ2V0IGFyY2hpdGVjdHVyZSAoJChBUkNIKSkgaXMgY3VycmVu
dGx5IG5vdCBzdXBwb3J0ZWQgKGNvdWxkIG5vdCBmaW5kICQoQ09ORklHX1VLX0JBU0UpL2FyY2gv
JChVS19GQU1JTFkpLyQoQVJDSCkvTWFrZWZpbGUudWspLikKIGVuZGlmCi0tIAoyLjcuNAoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 21:47:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 21:47:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAMKS-0006To-6t; Wed, 10 Oct 2018 21:47:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gAMKQ-0006Te-DS
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 21:47:38 +0000
X-Inumbo-ID: 4743602e-ccd6-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4743602e-ccd6-11e8-a6a9-d7ebe60f679a;
 Wed, 10 Oct 2018 21:48:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DDCC41002D2;
 Wed, 10 Oct 2018 23:47:33 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gM7IYqQgsByg; Wed, 10 Oct 2018 23:47:33 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id BEA8FFFDA9
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 23:47:31 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 23:47:31 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 23:47:23 +0200
Message-ID: <1539208045-10553-1-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.7.0.24]
Subject: [Minios-devel] [UNIKRAFT PATCH 1/3] build: `distclean`,
 `properclean` independent of a configuration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 yuri.volchkov@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TWFrZXMgdGhlIHRhcmdldHMgYGRpc3RjbGVhbmAgYW5kIGBwcm9wZXJjbGVhbmAgaW5kZXBlbmRl
bnQgdG8gdGhlCnByZXNlbmNlIG9mIGEgY29uZmlndXJhdGlvbi4gQmVmb3JlIHRoaXMgY29tbWl0
LCB0aGVzZSB0YXJnZXRzIHdlcmUKb25seSBpbnN0YWxsZWQgd2hlbiBhIGAuY29uZmlnYCBmaWxl
IGNvdWxkIGJlIGxvYWRlZCBieSB0aGUgYnVpbGQKc3lzdGVtLiBTaW5jZSB0aGVzZSB0YXJnZXRz
IHVzZSBzb21lIGZ1bmN0aW9ucyBkZWNsYXJlZCBpbgpgc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5y
dWxlc2AsIHdlIGluY2x1ZGUgdGhpcyBmaWxlIGF0IGFuIGVhcmxpZXIKcG9pbnQuCgpTaWduZWQt
b2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBNYWtl
ZmlsZSB8IDQ2ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0K
IDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYg
LS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDk2YmUyZGIuLjEyNTA0MzYgMTAwNjQ0
Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC0xNDIsNyArMTQyLDcgQEAgZXhwb3J0
IERBVEUgOj0gJChzaGVsbCBkYXRlICslWSVtJWQpCiBudWxsX3RhcmdldHMJCTo9IHByaW50LXZl
cnNpb24gaGVscAogbm9jb25maWdfdGFyZ2V0cwk6PSBtZW51Y29uZmlnIG5jb25maWcgZ2NvbmZp
ZyB4Y29uZmlnIGNvbmZpZyBvbGRjb25maWcgcmFuZGNvbmZpZyBcCiAJCQkgICBkZWZjb25maWcg
JV9kZWZjb25maWcgYWxseWVzY29uZmlnIGFsbG5vY29uZmlnIHNpbGVudG9sZGNvbmZpZyByZWxl
YXNlIFwKLQkJCSAgIG9sZGRlZmNvbmZpZyAkKG51bGxfdGFyZ2V0cykKKwkJCSAgIG9sZGRlZmNv
bmZpZyBwcm9wZXJjbGVhbiBkaXN0Y2xlYW4gJChudWxsX3RhcmdldHMpCiAKICMgVG8gcHV0IG1v
cmUgZm9jdXMgb24gd2FybmluZ3MsIGJlIGxlc3MgdmVyYm9zZSBhcyBkZWZhdWx0CiAjIFVzZSAn
bWFrZSBWPTEnIHRvIHNlZSB0aGUgZnVsbCBjb21tYW5kcwpAQCAtMTY4LDEwICsxNjgsMjAgQEAg
U0hFTEwgOj0gJChzaGVsbCBpZiBbIC14ICIkJEJBU0giIF07IHRoZW4gZWNobyAkJEJBU0g7IFwK
IAkgZWxzZSBpZiBbIC14IC9iaW4vYmFzaCBdOyB0aGVuIGVjaG8gL2Jpbi9iYXNoOyBcCiAJIGVs
c2UgZWNobyBzaDsgZmk7IGZpKQogCisjIGJhc2ljIHRvb2xzCitSTSAgICA6PSBybSAtZgorTVYg
ICAgOj0gbXYgLWYKK0NQICAgIDo9IGNwIC1mCitNS0RJUiA6PSBta2RpcgorVE9VQ0ggOj0gdG91
Y2gKKwogIyBrY29uZmlnIHVzZXMgQ09ORklHX1NIRUxMCiBDT05GSUdfU0hFTEwgOj0gJChTSEVM
TCkKIGV4cG9ydCBTSEVMTCBDT05GSUdfU0hFTEwgUSBLQlVJTERfVkVSQk9TRQogCisjIEluY2x1
ZGUgY29tbW9uIE1ha2VmaWxlIGhlbHBlcnMgZWFybHkKK2luY2x1ZGUgJChDT05GSUdfVUtfQkFT
RSkvc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5ydWxlcworCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwogIyAuY29uZmlnCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtMjk4LDYgKzMwOCwyMCBA
QCBleHBvcnQgSE9TVEFSQ0ggOj0gJChzaGVsbCBMQ19BTEw9QyAkKEhPU1RDQ19OT0NDQUNIRSkg
LXYgMj4mMSB8IFwKIGV4cG9ydCBIT1NUQVIgSE9TVEFTIEhPU1RDQyBIT1NUQ0NfVkVSU0lPTiBI
T1NUQ1hYIEhPU1RMRCBIT1NUQVJDSAogZXhwb3J0IEhPU1RDQ19OT0NDQUNIRSBIT1NUQ1hYX05P
Q0NBQ0hFCiAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjIENsZWFuIHRhcmdldHMgdGhhdCBk
byBub3QgaGF2ZSBhbnkgZGVwZW5kZW5jeSBvbiBhIGNvbmZpZ3VyYXRpb24KKyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjCisjIERlY2xhcmUgdGhlbSBiZWZvcmUgd2UgZGVwZW5kIG9uIGhhdmluZyAu
Y29uZmlnCitwcm9wZXJjbGVhbjoKKwkkKGNhbGwgdmVyYm9zZV9jbWQsUk0sYnVpbGQvLCQoUk0p
IC1yIFwKKwkJJChCVUlMRF9ESVIpKQorCitkaXN0Y2xlYW46IHByb3BlcmNsZWFuCisJJChjYWxs
IHZlcmJvc2VfY21kLFJNLGNvbmZpZywkKFJNKSBcCisJCSQoVUtfQ09ORklHKSAkKFVLX0NPTkZJ
Rykub2xkICQoQ09ORklHX0RJUikvLi5jb25maWcudG1wIFwKKwkJJChDT05GSUdfRElSKS8uYXV0
by5kZXBzKQorCisuUEhPTlk6IGRpc3RjbGVhbiBwcm9wZXJjbGVhbgogCiAjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIwogIyBVbmlrcmFmdCBBcmNoaXRlY3R1cmUKQEAgLTQwOSwxMCArNDMzLDYgQEAg
U1RSSVAJCTo9ICQoQ09ORklHX0NST1NTX0NPTVBJTEUpc3RyaXAKIE9CSkNPUFkJCTo9ICQoQ09O
RklHX0NST1NTX0NPTVBJTEUpb2JqY29weQogT0JKRFVNUAkJOj0gJChDT05GSUdfQ1JPU1NfQ09N
UElMRSlvYmpkdW1wCiBBUgkJOj0gYXIKLU1WCQk6PSBtdiAtZgotUk0JCTo9IHJtIC1mCi1DUAkJ
Oj0gY3AgLWYKLU1LRElSCQk6PSBta2RpcgogQ0FUCQk6PSBjYXQKIFNFRAkJOj0gc2VkCiBBV0sJ
CTo9IGF3awpAQCAtNDIxLDcgKzQ0MSw2IEBAIEdaSVAJCTo9IGd6aXAKIFRBUgkJOj0gdGFyCiBV
TlpJUAkJOj0gdW56aXAgLXFxIC11CiBXR0VUCQk6PSB3Z2V0Ci1UT1VDSAkJOj0gdG91Y2gKICMg
VGltZSByZXF1aXJlcyB0aGUgZnVsbCBwYXRoIHNvIHRoYXQgc3ViYXJndW1lbnRzIGFyZSBoYW5k
bGVkIGNvcnJlY3RseQogVElNRQkJOj0gJChzaGVsbCB3aGljaCB0aW1lKQogTElGVE9GRgkJOj0g
bGlmdG9mZiAtZSAtcwpAQCAtNDM3LDkgKzQ1Niw2IEBAIEFTRkxBR1MJCSs9IC1EQ0NfVkVSU0lP
Tj0kKENDX1ZFUlNJT04pCiBDRkxBR1MJCSs9IC1EQ0NfVkVSU0lPTj0kKENDX1ZFUlNJT04pCiBD
WFhGTEFHUwkrPSAtRENDX1ZFUlNJT049JChDQ19WRVJTSU9OKQogCi0jIENvbW1vbiBNYWtlZmls
ZSBkZWZpbml0aW9ucyB3ZSBuZWVkIGZvciBidWlsZGluZyBVbmlrcmFmdAotaW5jbHVkZSAkKENP
TkZJR19VS19CQVNFKS9zdXBwb3J0L2J1aWxkL01ha2VmaWxlLnJ1bGVzCi0KICMgZW5zdXJlICQo
QlVJTERfRElSKS9pbmNsdWRlIGFuZCAkKEJVSUxEX0RJUikvaW5jbHVkZS91ayBleGlzdHMKICQo
Y2FsbCBta19zdWJfYnVpbGRfZGlyLGluY2x1ZGUpCiAkKGNhbGwgbWtfc3ViX2J1aWxkX2Rpcixp
bmNsdWRlL3VrKQpAQCAtNTM0LDIwICs1NTAsMTAgQEAgbGliczogbWVudWNvbmZpZwogCiBpbWFn
ZXM6IG1lbnVjb25maWcKIAotY2xlYW46CitjbGVhbjogbWVudWNvbmZpZwogCiBlbmRpZgogCi0u
UEhPTlk6IGRpc3RjbGVhbiBwcm9wZXJjbGVhbgotcHJvcGVyY2xlYW46Ci0JJChjYWxsIHZlcmJv
c2VfY21kLFJNLGJ1aWxkLywkKFJNKSAtciBcCi0JCSQoQlVJTERfRElSKSkKLQotZGlzdGNsZWFu
OiBwcm9wZXJjbGVhbgotCSQoY2FsbCB2ZXJib3NlX2NtZCxSTSxjb25maWcsJChSTSkgXAotCQkk
KFVLX0NPTkZJRykgJChVS19DT05GSUcpLm9sZCAkKENPTkZJR19ESVIpLy4uY29uZmlnLnRtcCBc
Ci0JCSQoQ09ORklHX0RJUikvLmF1dG8uZGVwcykKLQogLlBIT05ZOiBwcmludC12YXJzIHByaW50
LWxpYnMgaGVscCBvdXRwdXRtYWtlZmlsZSBsaXN0LWRlZmNvbmZpZ3MKIAogIyBDb25maWd1cmF0
aW9uCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 10 21:47:43 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 10 Oct 2018 21:47:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAMKV-0006UN-AG; Wed, 10 Oct 2018 21:47:43 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=d8ot=mw=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gAMKU-0006U0-U7
 for minios-devel@lists.xen.org; Wed, 10 Oct 2018 21:47:42 +0000
X-Inumbo-ID: bf18f565-ccd5-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bf18f565-ccd5-11e8-a8a5-bc764e045a96;
 Wed, 10 Oct 2018 23:45:05 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B13431002D2;
 Wed, 10 Oct 2018 23:47:38 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id j5xTE5lsNGuS; Wed, 10 Oct 2018 23:47:38 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 93C40FFDA9
 for <minios-devel@lists.xen.org>; Wed, 10 Oct 2018 23:47:36 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 10 Oct
 2018 23:47:36 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 10 Oct 2018 23:47:25 +0200
Message-ID: <1539208045-10553-3-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539208045-10553-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539208045-10553-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.24]
Subject: [Minios-devel] [UNIKRAFT PATCH 3/3] build: `print-libs`,
 `print-objs`, `print-srcs` depend on configuration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 yuri.volchkov@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TGV0IHRoZSBpbnN0YWxsYXRpb24gb2YgdGhlIE1ha2UgdGFyZ2V0cyBgcHJpbnQtbGlic2AsIGBw
cmludC1vYmpzYCwKYW5kIGBwcmludC1zcmNzYCBkZXBlbmQgb24gYSBzdWNjZXNzZnVsbHkgbG9h
ZGVkCmNvbmZpZ3VyYXRpb24gKGAuY29uZmlnYCBmaWxlKS4KClNpZ25lZC1vZmYtYnk6IFNpbW9u
IEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIE1ha2VmaWxlIHwgOCArKysr
LS0tLQogMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IDg4MGJkZGUuLmY0YTllOGYgMTAw
NjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC01NTQsNyArNTU0LDcgQEAgY2xl
YW46IG1lbnVjb25maWcKIAogZW5kaWYKIAotLlBIT05ZOiBwcmludC12YXJzIHByaW50LWxpYnMg
aGVscCBvdXRwdXRtYWtlZmlsZSBsaXN0LWRlZmNvbmZpZ3MKKy5QSE9OWTogcHJpbnQtdmFycyBw
cmludC1saWJzIHByaW50LW9ianMgcHJpbnQtc3JjcyBoZWxwIG91dHB1dG1ha2VmaWxlIGxpc3Qt
ZGVmY29uZmlncwogCiAjIENvbmZpZ3VyYXRpb24KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC02
OTksNyArNjk5LDcgQEAgcHJpbnQtdmFyczoKIHByaW50LXZlcnNpb246CiAJQGVjaG8gJChVS19G
VUxMVkVSU0lPTikKIAotcHJpbnQtbGliczoKK3ByaW50LWxpYnM6IG1lbnVjb25maWcKIAlAZWNo
byAJJChmb3JlYWNoIFAsJChVS19QTEFUUykgJChVS19QTEFUUy15KSxcCiAJCSQoaWYgJChjYWxs
IHFzdHJpcCwkKCQoY2FsbCB1YywkKFApKV9MSUJTKSAkKCQoY2FsbCB1YywkKFApKV9MSUJTLXkp
KSxcCiAJCSQoZm9yZWFjaCBMLCQoJChjYWxsIHVjLCQoUCkpX0xJQlMpICQoJChjYWxsIHVjLCQo
UCkpX0xJQlMteSksIFwKQEAgLTcwOCw3ICs3MDgsNyBAQCBwcmludC1saWJzOgogCQkpKSkpIFwK
IAkJJChVS19MSUJTKSAkKFVLX0xJQlMteSkKIAotcHJpbnQtb2JqczoKK3ByaW50LW9ianM6IG1l
bnVjb25maWcKIAlAZWNobyAtZSBcCiAJCSQoZm9yZWFjaCBQLCQoVUtfUExBVFMpICQoVUtfUExB
VFMteSksXAogCQkkKGlmICQoY2FsbCBxc3RyaXAsJCgkKGNhbGwgdWMsJChQKSlfTElCUykgJCgk
KGNhbGwgdWMsJChQKSlfTElCUy15KSksXApAQCAtNzIxLDcgKzcyMSw3IEBAIHByaW50LW9ianM6
CiAJCSckKEwpOlxuICAgJCgkKGNhbGwgdnByZWZpeF9saWIsJChMKSxPQkpTKSkgJCgkKGNhbGwg
dnByZWZpeF9saWIsJChMKSxPQkpTLXkpKVxuJ1wKIAkJKSkKIAotcHJpbnQtc3JjczoKK3ByaW50
LXNyY3M6IG1lbnVjb25maWcKIAlAZWNobyAtZSBcCiAJCSQoZm9yZWFjaCBQLCQoVUtfUExBVFMp
ICQoVUtfUExBVFMteSksXAogCQkkKGlmICQoY2FsbCBxc3RyaXAsJCgkKGNhbGwgdWMsJChQKSlf
TElCUykgJCgkKGNhbGwgdWMsJChQKSlfTElCUy15KSksXAotLSAKMi43LjQKCgpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGlu
ZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhl
bnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 08:15:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 08:15:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAW8B-00063g-RR; Thu, 11 Oct 2018 08:15:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAW8A-00063R-2D
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 08:15:38 +0000
X-Inumbo-ID: 02ee04cc-cd2e-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 02ee04cc-cd2e-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 08:16:54 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 91C96F2034;
 Thu, 11 Oct 2018 10:15:34 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id RFdPYh-v677Q; Thu, 11 Oct 2018 10:15:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 6787CF2030;
 Thu, 11 Oct 2018 10:15:30 +0200 (CEST)
Received: from vortex.office.hd (10.1.2.30) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 10:15:30 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 10:15:11 +0200
Message-ID: <20181011081511.19711-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.1.2.30]
Subject: [Minios-devel] [UNIKRAFT PATCH v4] plat/*: Make timer interrupt
 frequency selectable
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Costin Lupu <costin.lupu@cs.pub.ro>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIG5ldyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIGNob29zaW5nIGEgdGltZXIgaW50ZXJy
dXB0IGZyZXF1ZW5jeS4KVGhlIGNvbmZpZ3VyZWQgZnJlcXVlbmN5IGlzIGNvbnZlcnRlZCB0byB0
aGUgdGltZXIgdGljayBsZW5ndGggd2hpY2ggY2FuCmJlIG9mIHVzZSBmb3Igb3RoZXIgbW9kdWxl
cyAoZS5nLiwgcHJlZW1wdGl2ZSBzY2hlZHVsZXJzKS4KClByZXZpb3VzbHksIHRoZSB0aWNrIHdh
cyAxMDAgSHogb24gS1ZNIGFuZCAxMDAwIEh6IG9uIFhlbi4gVGhlIGRlZmF1bHQKdmFsdWUgaXMg
bm93IDEwMCBIeiBhY3Jvc3MgYm90aCBwbGF0Zm9ybXMuCgpTaWduZWQtb2ZmLWJ5OiBDb3N0aW4g
THVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgpTaWduZWQtb2ZmLWJ5OiBGbG9yaWFuIFNjaG1p
ZHQgPGZsb3JpYW4uc2NobWlkdEBuZWNsYWIuZXU+Ci0tLQogaW5jbHVkZS91ay9hcmNoL3RpbWUu
aCAgICAgICAgICAgIHwgIDIgKysKIGluY2x1ZGUvdWsvcGxhdC90aW1lLmggICAgICAgICAgICB8
ICA0ICsrKysKIHBsYXQvQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICB8ICA3ICsrKysrKysK
IHBsYXQva3ZtL3g4Ni90c2NjbG9jay5jICAgICAgICAgICB8IDEwICsrKystLS0tLS0KIHBsYXQv
bGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUuaCB8ICAzICsrLQogcGxhdC9saW51eHUvdGltZS5j
ICAgICAgICAgICAgICAgIHwgIDIgLS0KIHBsYXQveGVuL3g4Ni9hcmNoX3RpbWUuYyAgICAgICAg
ICB8ICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvYXJjaC90aW1lLmggYi9pbmNsdWRlL3VrL2Fy
Y2gvdGltZS5oCmluZGV4IDI2MmZkM2IuLjVhNWFhMjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsv
YXJjaC90aW1lLmgKKysrIGIvaW5jbHVkZS91ay9hcmNoL3RpbWUuaApAQCAtNTcsNiArNTcsOCBA
QCB0eXBlZGVmIF9fczY0IF9fc25zZWM7CiAjZGVmaW5lIF9fU05TRUNfTUFYIChfX1M2NF9NQVgp
CiAjZGVmaW5lIF9fU05TRUNfTUlOIChfX1M2NF9NSU4pCiAKKyNkZWZpbmUgTlNFQ19QRVJfU0VD
ICAgICAgICAgMTAwMDAwMDAwMFVMTAorCiAjZGVmaW5lIHVrYXJjaF90aW1lX25zZWNfdG9fc2Vj
KG5zKSAgICAgICgobnMpIC8gMTAwMDAwMDAwMFVMTCkKICNkZWZpbmUgdWthcmNoX3RpbWVfbnNl
Y190b19tc2VjKG5zKSAgICAgKChucykgLyAxMDAwMDAwVUxMKQogI2RlZmluZSB1a2FyY2hfdGlt
ZV9uc2VjX3RvX3VzZWMobnMpICAgICAoKG5zKSAvIDEwMDBVTCkKZGlmZiAtLWdpdCBhL2luY2x1
ZGUvdWsvcGxhdC90aW1lLmggYi9pbmNsdWRlL3VrL3BsYXQvdGltZS5oCmluZGV4IDIwMmUwZjku
LmQzOGUzYzYgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvdWsvcGxhdC90aW1lLmgKKysrIGIvaW5jbHVk
ZS91ay9wbGF0L3RpbWUuaApAQCAtNDcsNiArNDcsMTAgQEAgdm9pZCB1a3BsYXRfdGltZV9maW5p
KHZvaWQpOwogCiBfX25zZWMgdWtwbGF0X21vbm90b25pY19jbG9jayh2b2lkKTsKIAorLyogVGlt
ZSB0aWNrIGxlbmd0aCAqLworI2RlZmluZSBVS1BMQVRfVElNRV9USUNLX05TRUMgIChOU0VDX1BF
Ul9TRUMgLyBDT05GSUdfSFopCisjZGVmaW5lIFVLUExBVF9USU1FX1RJQ0tfTVNFQyAgdWthcmNo
X3RpbWVfbnNlY190b19tc2VjKFVLUExBVF9USU1FX1RJQ0tfTlNFQykKKwogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3BsYXQvQ29uZmlnLnVrIGIvcGxhdC9Db25m
aWcudWsKaW5kZXggYjc3NmM0NS4uYWU5NjQ4NyAxMDA2NDQKLS0tIGEvcGxhdC9Db25maWcudWsK
KysrIGIvcGxhdC9Db25maWcudWsKQEAgLTE3LDMgKzE3LDEwIEBAIGNvbmZpZyBFQVJMWV9QUklO
VF9QTDAxMV9VQVJUX0FERFIKIAkJUGwwMTEgc2VyaWFsIGFkZHJlc3MgdXNlZCBieSBlYXJseSBk
ZWJ1ZyBjb25zb2xlLgogCiBlbmRtZW51CisKK2NvbmZpZyBIWgorCWludAorCXByb21wdCAiVGlt
ZXIgZnJlcXVlbmN5IChIeikiCisJZGVmYXVsdCAxMDAKKwloZWxwCisJCUNvbmZpZ3VyZSB0aGUg
dGltZXIgaW50ZXJydXB0IGZyZXF1ZW5jeS4KZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni90c2Nj
bG9jay5jIGIvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKaW5kZXggZjNmYTU1YS4uZDNjZGIxNiAx
MDA2NDQKLS0tIGEvcGxhdC9rdm0veDg2L3RzY2Nsb2NrLmMKKysrIGIvcGxhdC9rdm0veDg2L3Rz
Y2Nsb2NrLmMKQEAgLTYwLDggKzYwLDYgQEAKICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KICNpbmNs
dWRlIDx1ay9iaXRvcHMuaD4KIAotI2RlZmluZSBOU0VDX1BFUl9TRUMgICAgICAgICAxMDAwMDAw
MDAwVUxMCi0KICNkZWZpbmUgVElNRVJfQ05UUiAgICAgICAgICAgMHg0MAogI2RlZmluZSBUSU1F
Ul9NT0RFICAgICAgICAgICAweDQzCiAjZGVmaW5lIFRJTUVSX1NFTDAgICAgICAgICAgIDB4MDAK
QEAgLTEzMSw3ICsxMjksNyBAQCBzdGF0aWMgdm9pZCBpODI1NF9kZWxheSh1bnNpZ25lZCBpbnQg
bikKIHsKIAl1bnNpZ25lZCBpbnQgY3VyX3RpY2ssIGluaXRpYWxfdGljazsKIAlpbnQgcmVtYWlu
aW5nOwotCWNvbnN0IHVuc2lnbmVkIGxvbmcgdGltZXJfcnZhbCA9IFRJTUVSX0haIC8gMTAwOwor
CWNvbnN0IHVuc2lnbmVkIGxvbmcgdGltZXJfcnZhbCA9IFRJTUVSX0haIC8gQ09ORklHX0haOwog
CiAJaW5pdGlhbF90aWNrID0gaTgyNTRfZ2V0dGljaygpOwogCkBAIC0yMTEsMTAgKzIwOSwxMCBA
QCBpbnQgdHNjY2xvY2tfaW5pdCh2b2lkKQogewogCV9fdTY0IHRzY19mcmVxLCBydGNfYm9vdDsK
IAotCS8qIEluaXRpYWxpc2UgaTgyNTQgdGltZXIgY2hhbm5lbCAwIHRvIG1vZGUgMiBhdCAxMDAg
SHogKi8KKwkvKiBJbml0aWFsaXNlIGk4MjU0IHRpbWVyIGNoYW5uZWwgMCB0byBtb2RlIDIgYXQg
Q09ORklHX0haIGZyZXF1ZW5jeSAqLwogCW91dGIoVElNRVJfTU9ERSwgVElNRVJfU0VMMCB8IFRJ
TUVSX1JBVEVHRU4gfCBUSU1FUl8xNkJJVCk7Ci0Jb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFog
LyAxMDApICYgMHhmZik7Ci0Jb3V0YihUSU1FUl9DTlRSLCAoVElNRVJfSFogLyAxMDApID4+IDgp
OworCW91dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8gQ09ORklHX0haKSAmIDB4ZmYpOworCW91
dGIoVElNRVJfQ05UUiwgKFRJTUVSX0haIC8gQ09ORklHX0haKSA+PiA4KTsKIAogCS8qCiAJICog
UmVhZCBSVEMgInRpbWUgYXQgYm9vdCIuIFRoaXMgbXVzdCBiZSBkb25lIGp1c3QgYmVmb3JlIHRz
Y19iYXNlIGlzCmRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmgg
Yi9wbGF0L2xpbnV4dS9pbmNsdWRlL2xpbnV4dS90aW1lLmgKaW5kZXggMmRmODgxZS4uYzFhODc1
YSAxMDA2NDQKLS0tIGEvcGxhdC9saW51eHUvaW5jbHVkZS9saW51eHUvdGltZS5oCisrKyBiL3Bs
YXQvbGludXh1L2luY2x1ZGUvbGludXh1L3RpbWUuaApAQCAtMzUsOSArMzUsMTAgQEAKICNpZm5k
ZWYgX19MSU5VWFVfVElNRV9IX18KICNkZWZpbmUgX19MSU5VWFVfVElNRV9IX18KIAorI2luY2x1
ZGUgPHVrL3BsYXQvdGltZS5oPgogI2luY2x1ZGUgPGxpbnV4dS9zaWduYWwuaD4KIAotI2RlZmlu
ZSBUSU1FUl9JTlRWQUxfTVNFQyAgICAxMAorI2RlZmluZSBUSU1FUl9JTlRWQUxfTlNFQyAgICBV
S1BMQVRfVElNRV9USUNLX05TRUMKICNkZWZpbmUgVElNRVJfU0lHTlVNICAgICAgICAgU0lHQUxS
TQogCiAKZGlmZiAtLWdpdCBhL3BsYXQvbGludXh1L3RpbWUuYyBiL3BsYXQvbGludXh1L3RpbWUu
YwppbmRleCBlYWQwN2Y1Li4xMzQzOWFkIDEwMDY0NAotLS0gYS9wbGF0L2xpbnV4dS90aW1lLmMK
KysrIGIvcGxhdC9saW51eHUvdGltZS5jCkBAIC00MCw4ICs0MCw2IEBACiAjaW5jbHVkZSA8bGlu
dXh1L3N5c2NhbGwuaD4KICNpbmNsdWRlIDxsaW51eHUvdGltZS5oPgogCi0jZGVmaW5lIFRJTUVS
X0lOVFZBTF9OU0VDICAgIHVrYXJjaF90aW1lX21zZWNfdG9fbnNlYyhUSU1FUl9JTlRWQUxfTVNF
QykKLQogc3RhdGljIGtfdGltZXJfdCB0aW1lcmlkOwogCiAKZGlmZiAtLWdpdCBhL3BsYXQveGVu
L3g4Ni9hcmNoX3RpbWUuYyBiL3BsYXQveGVuL3g4Ni9hcmNoX3RpbWUuYwppbmRleCA5NWQ3YjEw
Li5hNGI3N2I5IDEwMDY0NAotLS0gYS9wbGF0L3hlbi94ODYvYXJjaF90aW1lLmMKKysrIGIvcGxh
dC94ZW4veDg2L2FyY2hfdGltZS5jCkBAIC0yMzMsNyArMjMzLDcgQEAgdm9pZCB0aW1lX2Jsb2Nr
X3VudGlsKF9fc25zZWMgdW50aWwpCiBzdGF0aWMgdm9pZCB0aW1lcl9oYW5kbGVyKGV2dGNobl9w
b3J0X3QgZXYgX191bnVzZWQsCiAJCXN0cnVjdCBfX3JlZ3MgKnJlZ3MgX191bnVzZWQsIHZvaWQg
KmlnbiBfX3VudXNlZCkKIHsKLQlfX25zZWMgdW50aWwgPSB1a3BsYXRfbW9ub3RvbmljX2Nsb2Nr
KCkgKyB1a2FyY2hfdGltZV9tc2VjX3RvX25zZWMoMSk7CisJX19uc2VjIHVudGlsID0gdWtwbGF0
X21vbm90b25pY19jbG9jaygpICsgVUtQTEFUX1RJTUVfVElDS19OU0VDOwogCiAJSFlQRVJWSVNP
Ul9zZXRfdGltZXJfb3AodW50aWwpOwogfQotLSAKMi4xOS4xCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 08:38:52 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 08:38:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAWUd-000084-CU; Thu, 11 Oct 2018 08:38:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAWUc-00007o-K2
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 08:38:50 +0000
X-Inumbo-ID: 415e69b1-cd31-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 415e69b1-cd31-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 08:40:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id BA04FF2034;
 Thu, 11 Oct 2018 10:38:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id A2JoKxFW2QT9; Thu, 11 Oct 2018 10:38:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9482FF2030;
 Thu, 11 Oct 2018 10:38:43 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 10:38:43
 +0200
To: <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-2-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <105ffbde-2908-3363-5507-097562e5a949@neclab.eu>
Date: Thu, 11 Oct 2018 10:38:43 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-2-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 01/11] lib/uknetdev: Library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgoKT24gMTAvMTAvMjAxOCAw
MjowMCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBGcm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJh
enZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBBZGQgYW5kIHJlZ2lzdGVyIGxpYnVrbmV0
ZGV2IGxpYnJhcnkgc2tlbGV0b24uCj4gCj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8
c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1
IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0tCj4gICBsaWIvQ29uZmlnLnVrICAg
ICAgICAgICAgfCAxICsKPiAgIGxpYi9NYWtlZmlsZS51ayAgICAgICAgICB8IDEgKwo+ICAgbGli
L3VrbmV0ZGV2L0NvbmZpZy51ayAgIHwgNSArKysrKwo+ICAgbGliL3VrbmV0ZGV2L01ha2VmaWxl
LnVrIHwgNCArKysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKPiAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvQ29uZmlnLnVrCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi9Db25m
aWcudWsgYi9saWIvQ29uZmlnLnVrCj4gaW5kZXggNDgxZDdhYi4uNWNkNzU4NSAxMDA2NDQKPiAt
LS0gYS9saWIvQ29uZmlnLnVrCj4gKysrIGIvbGliL0NvbmZpZy51awo+IEBAIC0zOSwzICszOSw0
IEBAIHNvdXJjZSAibGliL3VrbXBpL0NvbmZpZy51ayIKPiAgIHNvdXJjZSAibGliL3Vrc3dyYW5k
L0NvbmZpZy51ayIKPiAgIHNvdXJjZSAibGliL3VrYnVzL0NvbmZpZy51ayIKPiAgIHNvdXJjZSAi
bGliL3Vrc2dsaXN0L0NvbmZpZy51ayIKPiArc291cmNlICJsaWIvdWtuZXRkZXYvQ29uZmlnLnVr
Igo+IGRpZmYgLS1naXQgYS9saWIvTWFrZWZpbGUudWsgYi9saWIvTWFrZWZpbGUudWsKPiBpbmRl
eCBjN2RiODQ4Li40YzJjYzg3IDEwMDY0NAo+IC0tLSBhL2xpYi9NYWtlZmlsZS51awo+ICsrKyBi
L2xpYi9NYWtlZmlsZS51awo+IEBAIC0yMCwzICsyMCw0IEBAICQoZXZhbCAkKGNhbGwgX2ltcG9y
dF9saWIsJChDT05GSUdfVUtfQkFTRSkvbGliL3VrbG9jaykpCj4gICAkKGV2YWwgJChjYWxsIF9p
bXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a21waSkpCj4gICAkKGV2YWwgJChjYWxs
IF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a2J1cykpCj4gICAkKGV2YWwgJChj
YWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a3NnbGlzdCkpCj4gKyQoZXZh
bCAkKGNhbGwgX2ltcG9ydF9saWIsJChDT05GSUdfVUtfQkFTRSkvbGliL3VrbmV0ZGV2KSkKPiBk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51ayBiL2xpYi91a25ldGRldi9Db25maWcu
dWsKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmI1ZTExYTkKPiAtLS0g
L2Rldi9udWxsCj4gKysrIGIvbGliL3VrbmV0ZGV2L0NvbmZpZy51awo+IEBAIC0wLDAgKzEsNSBA
QAo+ICtjb25maWcgTElCVUtORVRERVYKPiArCWJvb2wgInVrbmV0ZGV2OiBOZXR3b3JrIGRyaXZl
ciBpbnRlcmZhY2UiCj4gKwlkZWZhdWx0IG4KPiArCXNlbGVjdCBMSUJOT0xJQkMgaWYgIUhBVkVf
TElCQwo+ICsJc2VsZWN0IExJQlVLREVCVUcKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L01h
a2VmaWxlLnVrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gbmV3IGZpbGUgbW9kZSAxMDA2
NDQKPiBpbmRleCAwMDAwMDAwLi4zNGYzMGJlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi91
a25ldGRldi9NYWtlZmlsZS51awo+IEBAIC0wLDAgKzEsNCBAQAo+ICskKGV2YWwgJChjYWxsIGFk
ZGxpYl9zLGxpYnVrbmV0ZGV2LCQoQ09ORklHX0xJQlVLTkVUREVWKSkpCj4gKwo+ICtDSU5DTFVE
RVMtJChDT05GSUdfTElCVUtORVRERVYpCQkrPSAtSSQoTElCVUtORVRERVZfQkFTRSkvaW5jbHVk
ZQo+ICtDWFhJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVikJKz0gLUkkKExJQlVLTkVUREVW
X0JBU0UpL2luY2x1ZGUKPiAKClRoYW5rcyAmIFJlZ2FyZHMKU2hhcmFuCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 09:30:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 09:30:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAXI6-0005Gs-Vh; Thu, 11 Oct 2018 09:29:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAXI6-0005Gn-AH
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 09:29:58 +0000
X-Inumbo-ID: 6554fad8-cd38-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6554fad8-cd38-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 09:31:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 95BD71049FE;
 Thu, 11 Oct 2018 11:29:54 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6qI_cTlS-qDx; Thu, 11 Oct 2018 11:29:54 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 6EBE51039C7
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 11:29:52 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 11:29:52
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-3-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <60e030ca-8cf1-bf16-5b4f-613f4a47d006@neclab.eu>
Date: Thu, 11 Oct 2018 11:29:51 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-3-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 02/11] lib/uknetdev:
 Introduce Netbufs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgoKVGhlcmUgYXJlIG1pbm9yIHR5
cG9zIGluIHRoZSBjb21tZW50cyB3aGljaCBjYW4gYmUgZml4ZWQgd2hpbGUgd2UgCnB1c2hpbmcg
dGhlbS4gUGxlYXNlIGZpbmQgdGhlbSBpbmxpbmUKClJldmlld2VkLWJ5OiBTaGFyYW4gU2FudGhh
bmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KCgpPbiAxMC8xMC8yMDE4IDAyOjAwIFBN
LCBTaW1vbiBLdWVuemVyIHdyb3RlOgo+IEFkZHMgYHN0cnVjdCB1a19uZXRidWZgLCBhIHN0cnVj
dHVyZSBmb3IgZGVzY3JpYmluZyBuZXR3b3JrCj4gcGFja2V0cy4gSXQgaXMgZGVzaWduZWQgdG8g
c3VwcG9ydCB6ZXJvLWNvcHkgb3BlcmF0aW9uIGFuZCBzaW1wbGUKPiBlbWJlZGRpbmcgdG8gZXhp
c3RpbmcgbmV0d29yayBzdGFja3MuIE5ldGJ1ZnMgY2FuIGJlICgxKSBpbml0aWFsaXplZAo+IG9u
IHVzZXItc3VwcGxpZWQgbWVtb3J5IHJlZ2lvbnMsIGludGVuZGVkIGZvciBuZXR3b3JrIHN0YWNr
cyB0aGF0IGNvbWUKPiB3aXRoIGEgcGFja2V0IGJ1ZmZlciBhbGxvY2F0b3IsIG9yICgyKSB1a19h
bGxvYy1iYXNlZCBhbGxvY2F0aW9uLgo+IAo+IFRoaXMgY29tbWl0IGludHJvZHVjZXMgdGhlIG5l
dGJ1ZiBzdHJ1Y3QgYW5kIGludGlhbGl6YXRpb24gYW5kCj4gYWxsb2NhdGlvbiBmdW5jdGlvbnMu
Cj4gCj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIu
ZXU+Cj4gLS0tCj4gICBsaWIvdWtuZXRkZXYvQ29uZmlnLnVrICAgICAgICAgICB8ICAgMSArCj4g
ICBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICB8ICAgMiArCj4gICBsaWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51ayAgICAgICB8ICAgNCArCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRidWYuaCB8IDI4OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
PiAgIGxpYi91a25ldGRldi9uZXRidWYuYyAgICAgICAgICAgIHwgMTkwICsrKysrKysrKysrKysr
KysrKysrKysrKysKPiAgIDUgZmlsZXMgY2hhbmdlZCwgNDg2IGluc2VydGlvbnMoKykKPiAgIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+ICAgY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gICBjcmVhdGUgbW9k
ZSAxMDA2NDQgbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi91a25l
dGRldi9Db25maWcudWsgYi9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCj4gaW5kZXggYjVlMTFhOS4u
ODc4YjgyMiAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCj4gKysrIGIvbGli
L3VrbmV0ZGV2L0NvbmZpZy51awo+IEBAIC0zLDMgKzMsNCBAQCBjb25maWcgTElCVUtORVRERVYK
PiAgIAlkZWZhdWx0IG4KPiAgIAlzZWxlY3QgTElCTk9MSUJDIGlmICFIQVZFX0xJQkMKPiAgIAlz
ZWxlY3QgTElCVUtERUJVRwo+ICsJc2VsZWN0IExJQlVLQUxMT0MKPiBkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L01ha2VmaWxlLnVrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gaW5kZXgg
MzRmMzBiZS4uODFhZmFlNCAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvTWFrZWZpbGUudWsK
PiArKysgYi9saWIvdWtuZXRkZXYvTWFrZWZpbGUudWsKPiBAQCAtMiwzICsyLDUgQEAgJChldmFs
ICQoY2FsbCBhZGRsaWJfcyxsaWJ1a25ldGRldiwkKENPTkZJR19MSUJVS05FVERFVikpKQo+ICAg
Cj4gICBDSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRERVYpCQkrPSAtSSQoTElCVUtORVRERVZf
QkFTRSkvaW5jbHVkZQo+ICAgQ1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRERVYpCSs9IC1J
JChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCj4gKwo+ICtMSUJVS05FVERFVl9TUkNTLXkgKz0g
JChMSUJVS05FVERFVl9CQVNFKS9uZXRidWYuYwo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi41NDczYmJhCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi
L2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4gQEAgLTAsMCArMSw0IEBACj4gK3VrX25ldGJ1
Zl9pbml0X2luZGlyCj4gK3VrX25ldGJ1Zl9hbGxvY19pbmRpcgo+ICt1a19uZXRidWZfYWxsb2Nf
YnVmCj4gK3VrX25ldGJ1Zl9wcmVwYXJlX2J1Zgo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRidWYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4g
bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi4yOTVlOWViCj4gLS0tIC9kZXYv
bnVsbAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gQEAgLTAsMCAr
MSwyODkgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+
ICsvKgo+ICsgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5l
dT4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBD
b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoKPiArICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4g
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRl
ciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+ICsgKiAgICB0aGlz
IHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsg
Kgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICsgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAqIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
PiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCj4gKyAqIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhFQURFUiBNQVkgTk9U
IEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8KPiArI2lmbmRlZiBf
X1VLX05FVEJVRl9fCj4gKyNkZWZpbmUgX19VS19ORVRCVUZfXwo+ICsKPiArI2luY2x1ZGUgPHN5
cy90eXBlcy5oPgo+ICsjaW5jbHVkZSA8aW50dHlwZXMuaD4KPiArI2luY2x1ZGUgPHN0ZGRlZi5o
Pgo+ICsjaW5jbHVkZSA8bGltaXRzLmg+Cj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVk
ZSA8dWsvYXNzZXJ0Lmg+Cj4gKyNpbmNsdWRlIDx1ay9yZWZjb3VudC5oPgo+ICsjaW5jbHVkZSA8
dWsvYWxsb2MuaD4KPiArI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KPiArCj4gKyNpZmRlZiBf
X2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmCj4gKwo+ICtzdHJ1Y3QgdWtfbmV0
YnVmOwo+ICsKPiArdHlwZWRlZiB2b2lkICgqdWtfbmV0YnVmX2R0b3JfdCkoc3RydWN0IHVrX25l
dGJ1ZiAqKTsKPiArCj4gKy8qKgo+ICsgKiBUaGUgbmV0YnVmIHN0cnVjdHVyZSBpcyB1c2VkIHRv
IGRlc2NyaWJlIGEgc2luZ2xlIGNvbnRpZ3VvdXMgcGFja2V0IGJ1ZmZlci4KPiArICogVGhlIHN0
cnVjdHVyZSBjYW4gYmUgY2hhaW5lZCB0byBkZXNjcmliZSBhIHBhY2tldCB3aXRoIG11bHRpcGxl
IHNjYXR0ZXJlZAo+ICsgKiBidWZmZXJzLgo+ICsgKgo+ICsgKiBORVRCVUYKPiArICogICAgICAg
ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICogICAgICAgICAgICAgICAg
ICB8ICAgc3RydWN0IHVrX25ldGJ1ZiAgIHwKPiArICogICAgICAgICAgICAgICAgICB8ICAgICAg
ICAgICAgICAgICAgICAgIHwKPiArICogICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSsKPiArICoKPiArICogUFJJVkFURSBNRVRBIERBVEEKPiArICogICAgICAgICAqcHJp
diAtPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiArICogICAgICAgICAgICAgICAgICB8ICAg
ICAgcHJpdmF0ZSBtZXRhICAgIHwKPiArICogICAgICAgICAgICAgICAgICB8ICAgICAgIGRhdGEg
YXJlYSAgICAgIHwKPiArICogICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LSsKPiArICoKPiArICogUEFDS0VUIEJVRkZFUgo+ICsgKiAgICAgICAgICAqYnVmIC0+ICstLS0t
LS0tLS0tLS0tLS0tLS0tLS0tKyBcCj4gKyAqICAgICAgICAgICAgICAgICAgfCAgICAgIEhFQUQg
Uk9PTSAgICAgICB8ICB8Cj4gKyAqICAgICAgICAgICAgICAgICAgfCAgIF4gICAgICAgICAgICAg
IF4gICB8ICB8Cj4gKyAqICAgICAgICAgKmRhdGEgLT4gKy0tLXwtLS0tLS0tLS0tLS0tLXwtLS0r
ICB8IGNvbnRpZ3VvdXMKPiArICogICAgICAgICAgICAgICAgICB8ICAgdiAgICAgICAgICAgICAg
diAgIHwgIHwgYnVmZmVyCj4gKyAqICAgICAgICAgICAgICAgICAgfCAgICAgUEFDS0VUIERBVEEg
ICAgICB8ICB8IGFyZWEKPiArICogICAgICAgICAgICAgICAgICB8ICAgXiAgICAgICAgICAgICAg
XiAgIHwgIHwKPiArICogICAqZGF0YSArIGxlbiAtPiArLS0tfC0tLS0tLS0tLS0tLS0tfC0tLSsg
IHwKPiArICogICAgICAgICAgICAgICAgICB8ICAgdiAgICAgICAgICAgICAgdiAgIHwgIHwKPiAr
ICogICAgICAgICAgICAgICAgICB8ICAgICAgVEFJTCBST09NICAgICAgIHwgIHwKPiArICogKmJ1
ZiArIGJ1ZmxlbiAtPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgLwo+ICsgKgo+ICsgKgo+ICsg
KiBUaGUgcHJpdmF0ZSBkYXRhIGFyZWEgaXMgaW50ZW5kZWQgZm9yIGdsdWUgY29kZSB0aGF0IHdh
bnRzIHRvIGVtYmVkIHN0YWNrLQo+ICsgKiBzcGVjaWZpYyBkYXRhIHRvIHRoZSBuZXRidWYgKGUu
Zy4sIGBzdHJ1Y3QgcGJ1ZmAgZm9yIGx3SVApLiBUaGlzIGF2b2lkcwo+ICsgKiBzZXBhcmF0ZSBt
ZW1vcnkgbWFuYWdlbWVudCBmb3Igc3RhY2stc3BlY2lmaWMgcGFja2V0IG1ldGEtZGF0YS4gbGli
dWtuZXRkZXYKPiArICogb3IgZGV2aWNlIGRyaXZlcnMgYXJlIG5vdCBpbnNwZWN0aW5nIG9yIG1v
ZGlmeWluZyB0aGVzZSBkYXRhLgo+ICsgKgo+ICsgKiBUaGUgYnVmZmVyIHJlZ2lvbiBjb250YWlu
cyB0aGUgcGFja2V0IGRhdGEuIGBzdHJ1Y3QgdWtfbmV0YnVmYCBpcyBwb2ludGluZwo+ICsgKiB3
aXRoIGAqZGF0YWAgdG8gdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIHBhY2tldCBkYXRhIHdpdGhpbiB0
aGUgYnVmZmVyLgo+ICsgKiBgbGVuYCBkZXNjcmliZXMgdGhlIG51bWJlciBvZiBieXRlcyB1c2Vk
LiBBbGwgcGFja2V0IGRhdGEgaGFzIHRvIGZpdCBpbnRvIHRoZQo+ICsgKiBnaXZlbiBidWZmZXIu
IFRoZSBidWZmZXIgaXMgZGVzY3JpYmVkIHdpdGggdGhlIGBidWZgIGFuZCBgYnVmbGVuYCBmaWVs
ZC4KPiArICogVGhlc2UgdHdvIGZpZWxkcyBzaG91bGQgbm90IGNoYW5nZSBkdXJpbmcgdGhlIG5l
dGJ1ZiBsaWZlIHRpbWUuCj4gKyAqIFRoZSBhdmFpbGFibGUgaGVhZHJvb20gYnl0ZXMgYXJlIGNh
bGN1bGF0ZWQgYnkgc3VidHJhY3RpbmcgdGhlIGAqZGF0YWAKPiArICogcG9pbnRlciBmcm9tIGAq
YnVmYCBwb2ludGVyLiBUaGUgYXZhaWxhYmxlIHRhaWxyb29tIGJ5dGVzIGFyZSBjYWxjdWxhdGVk
Cj4gKyAqIHdpdGg6ICgqYnVmICsgYnVmbGVuKSAtICgqZGF0YSArIGxlbikuCj4gKyAqIFdoZW4g
bW9yZSBwYWNrZXQgZGF0YSBzcGFjZSBpcyByZXF1aXJlZCBvciB3aGVuZXZlciBwYWNrZXQgZGF0
YSBpcyBzY2F0dGVyZWQKPiArICogaW4gbWVtb3J5LCBuZXRidWZzIGNhbiBiZSBjaGFpbmVkLgo+
ICsgKgo+ICsgKiBUaGUgbmV0YnVmIHN0cnVjdHVyZSwgcHJpdmF0ZSBtZXRhIGRhdGEgYXJlYSwg
YW5kIGJ1ZmZlciBhcmVhIGNhbiBiZSBiYWNrZWQKPiArICogYnkgaW5kZXBlbmRlbnQgbWVtb3J5
IGFsbG9jYXRpb25zLiB1a19uZXRidWZfYWxsb2NfYnVmKCkgYW5kCj4gKyAqIHVrX25ldGJ1Zl9w
cmVwYXJlX2J1ZigpIGFyZSBwbGFjaW5nIGFsbCB0aGVzZSB0aHJlZSByZWdpb25zIGludG8gYSBz
aW5nbGUKPiArICogYWxsb2NhdGlvbi4KPiArICovCj4gK3N0cnVjdCB1a19uZXRidWYgewo+ICsJ
c3RydWN0IHVrX25ldGJ1ZiAqbmV4dDsKPiArCXN0cnVjdCB1a19uZXRidWYgKnByZXY7Cj4gKwo+
ICsJdm9pZCAqZGF0YTsgICAgICAgICAgICAvKio8IFBheWxvYWQgc3RhcnQsIGlzIHBhcnQgb2Yg
YnVmLiAqLwo+ICsJdWludDE2X3QgbGVuOyAgICAgICAgICAvKio8IFBheWxvYWQgbGVuZ3RoIChz
aG91bGQgYmUgPD0gYnVmbGVuKS4gKi8KPiArCV9fYXRvbWljIHJlZmNvdW50OyAgICAgLyoqPCBS
ZWZlcmVuY2UgY291bnRlciAqLwo+ICsKPiArCXZvaWQgKnByaXY7ICAgICAgICAgICAgLyoqPCBS
ZWZlcmVuY2UgdG8gdXNlci1wcm92aWRlZCBwcml2YXRlIGRhdGEgKi8KPiArCj4gKwl2b2lkICpi
dWY7ICAgICAgICAgICAgIC8qKjwgU3RhcnQgYWRkcmVzcyBvZiBjb250aWd1b3VzIGJ1ZmZlci4g
Ki8KPiArCXNpemVfdCBidWZsZW47ICAgICAgICAgLyoqPCBMZW5ndGggb2YgYnVmZmVyLiAqLwo+
ICsKPiArCXVrX25ldGJ1Zl9kdG9yX3QgZHRvcjsgLyoqPCBEZXN0cnVjdG9yIGNhbGxiYWNrICov
Cj4gKwlzdHJ1Y3QgdWtfYWxsb2MgKl9hOyAgIC8qKjwgQGludGVybmFsIEFsbG9jYXRvciBmb3Ig
ZnJlZSdpbmcgKi8KPiArfTsKPiArCgphbiB1c2VyIHNob3VsZCBiZSBhIHVzZXIKPiArLyoqCj4g
KyAqIEluaXRpYWxpemVzIGFuIHVzZXItYWxsb2NhdGVkIG5ldGJ1Zi4KPiArICogVGhpcyBuZXRi
dWYgaGFzIG5vIGRhdGEgYXJlYSBhc3NpZ25lZC4gSXQgaXMgaW50ZW5kZWQKPiArICogdGhhdCBt
LT5idWYsIG0tPmJ1ZmxlbiwgYW5kIG0tPmRhdGEgaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIGNhbGxl
ci4KPiArICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdpdGggMC4KPiArICogTm90ZTogT24gdGhl
IGxhc3QgZnJlZSwgb25seSB0aGUgZGVzdHJ1Y3RvciBpcyBjYWxsZWQsCj4gKyAqICAgICAgIG5v
IG1lbW9yeSBpcyByZWxlYXNlZCBieSB0aGUgQVBJLgo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIHJl
ZmVyZW5jZSB0byB1a19uZXRidWYgdGhhdCBzaGFsbCBiZSBpbml0aWFsaXplZAo+ICsgKiBAcGFy
YW0gcHJpdgo+ICsgKiAgIFJlZmVyZW5jZSB0byBleHRlcm5hbCAobWV0YSkgZGF0YSB0aGF0IGNv
cnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLgo+ICsgKiBAcGFyYW0gZHRvcgo+ICsgKiAgIERlc3Ry
dWN0b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBuZXRidWYncyByZWZjb3VudCByZWFjaGVzIHplcm8g
KHJlY29tbWVuZGVkKQo+ICsgKi8KPiArI2RlZmluZSB1a19uZXRidWZfaW5pdChtLCBwcml2LCBk
dG9yKQkJCQlcCj4gKwl1a19uZXRidWZfaW5pdF9pbmRpcigobSksIE5VTEwsIDAsIDAsIChwcml2
KSwgKGR0b3IpKQo+ICsKCmFuIHVzZXIgc2hvdWxkIGJlIGEgdXNlcgo+ICsvKioKPiArICogSW5p
dGlhbGl6ZXMgYW4gdXNlci1hbGxvY2F0ZWQgbmV0YnVmLgo+ICsgKiBUaGlzIG5ldGJ1ZiB3aWxs
IHBvaW50IHRvIGFuIHVzZXItcHJvdmlkZWQgY29udGlndW91cyBidWZmZXIgYXJlYS4KPiArICog
bS0+bGVuIGlzIGluaXRpYWxpemVkIHdpdGggMC4KPiArICogTm90ZTogT24gdGhlIGxhc3QgZnJl
ZSwgb25seSB0aGUgZGVzdHJ1Y3RvciBpcyBjYWxsZWQsCj4gKyAqICAgICAgIG5vIG1lbW9yeSBp
cyByZWxlYXNlZCBieSB0aGUgQVBJLgo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIHJlZmVyZW5jZSB0
byB1a19uZXRidWYgdGhhdCBzaGFsbCBiZSBpbml0aWFsaXplZAo+ICsgKiBAcGFyYW0gYnVmCj4g
KyAqICAgUmVmZXJlbmNlIHRvIGJ1ZmZlciBhcmVhIHRoYXQgaXMgYmVsb25naW5nIHRvIHRoaXMg
bmV0YnVmCj4gKyAqIEBwYXJhbSBidWZsZW4KPiArICogICBTaXplIG9mIHRoZSBidWZmZXIgYXJl
YQo+ICsgKiBAcGFyYW0gaGVhZHJvb20KPiArICogICBOdW1iZXIgb2YgYnl0ZXMgcmVzZXJ2ZWQg
YXMgaGVhZHJvb20gZnJvbSBidWYsIGBtLT5kYXRhYCB3aWxsIHBvaW50IHRvCj4gKyAqICAgdG8g
dGhlIGZpcnN0IGJ5dGUgaW4gYGJ1ZmAgYWZ0ZXIgdGhlIGhlYWRyb29tLiBgaGVhZHJvb21gIGhh
cyB0byBiZSBzbWFsbGVyCj4gKyAqICAgb3IgZXF1YWwgdG8gYGJ1ZmxlbmAuCj4gKyAqICAgTm90
ZTogU29tZSBkcml2ZXJzIG1heSByZXF1aXJlIGV4dHJhIGhlYWRyb29tIHNwYWNlIGluIHRoZSBm
aXJzdCBuZXRidWYgb2YKPiArICogICAgICAgICBhIGNoYWluIGluIG9yZGVyIHRvIGRvIGEgcGFj
a2V0IHRyYW5zbWlzc2lvbi4KPiArICogQHBhcmFtIHByaXYKPiArICogICBSZWZlcmVuY2UgdG8g
ZXh0ZXJuYWwgKG1ldGEpIGRhdGEgdGhhdCBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4KPiAr
ICogQHBhcmFtIGR0b3IKPiArICogICBEZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4gbmV0
YnVmJ3MgcmVmY291bnQgcmVhY2hlcyB6ZXJvIChyZWNvbW1lbmRlZCkKPiArICovCj4gK3ZvaWQg
dWtfbmV0YnVmX2luaXRfaW5kaXIoc3RydWN0IHVrX25ldGJ1ZiAqbSwKPiArCQkJICB2b2lkICpi
dWYsIHNpemVfdCBidWZsZW4sIHVpbnQxNl90IGhlYWRyb29tLAo+ICsJCQkgIHZvaWQgKnByaXYs
IHVrX25ldGJ1Zl9kdG9yX3QgZHRvcik7Cj4gKwo+ICsvKioKPiArICogQWxsb2NhdGVzIGFuZCBp
bml0aWFsaXplcyBhIG5ldGJ1Zi4KPiArICogVGhpcyBuZXRidWYgaGFzIG5vIGJ1ZmZlciBhcmVh
IGFzc2lnbmVkLiBJdCBpcyBpbnRlbmRlZAo+ICsgKiB0aGF0IG0tPmJ1ZiwgbS0+YnVmbGVuLCBh
bmQgbS0+ZGF0YSBpcyBpbml0aWFsaXplZCBieSB0aGUgY2FsbGVyLgo+ICsgKiBtLT5sZW4gaXMg
aW5pdGlhbGl6ZWQgd2l0aCAwLgo+ICsgKiBOb3RlOiBPbiB0aGUgbGFzdCBmcmVlLCB0aGUgYnVm
ZmVyIGFyZWEgaXMgbm90IGZyZWUnZC4gSXQgaXMgaW50ZW5kZWQKPiArICogICAgICAgdG8gcHJv
dmlkZSBhIGRlc3RydWN0b3IgZm9yIHRoaXMgb3BlcmF0aW9uLgo+ICsgKiBAcGFyYW0gYQo+ICsg
KiAgIEFsbG9jYXRvciB0byB1c2UgZm9yIGFsbG9jYXRpbmcgYHN0cnVjdCB1a19uZXRidWZgIGFu
ZCB0aGUKPiArICogICBjb3JyZXNwb25kaW5nIHByaXZhdGUgZGF0YSBhcmVhLgo+ICsgKiBAcGFy
YW0gZHRvcgo+ICsgKiAgIERlc3RydWN0b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBuZXRidWYgaXMg
ZnJlZSdkIChyZWNvbW1lbmRlZCkKPiArICogQHBhcmFtIHByaXZsZW4KPiArICogICBMZW5ndGgg
Zm9yIHJlc2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRlIGRhdGEuIFRoaXMgbWVtb3J5IGlz
IGZyZWUnZAo+ICsgKiAgIHRvZ2V0aGVyIHdpdGggdGhpcyBuZXRidWYuIElmIHByaXZsZW4gaXMg
MCwgZWl0aGVyIG5vIHByaXZhdGUgZGF0YSBpcwo+ICsgKiAgIHJlcXVpcmVkIG9yIGV4dGVybmFs
IG1ldGEgZGF0YSBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4gbS0+cHJpdiBjYW4gYmUKPiAr
ICogICBtb2RpZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KPiArICogQHJldHVybnMKPiArICog
ICAtIChOVUxMKTogQWxsb2NhdGlvbiBmYWlsZWQKPiArICogICAtIGluaXRpYWxpemVkIHVrX25l
dGJ1Zgo+ICsgKi8KPiArI2RlZmluZSB1a19uZXRidWZfYWxsb2MoYSwgcHJpdmxlbiwgZHRvcikJ
CQlcCj4gKwl1a19uZXRidWZfYWxsb2NfaW5kaXIoKGEpLCBOVUxMLCAwLCAwLCAocHJpdmxlbiks
IChkdG9yKSkKPiArCj4gKy8qKgo+ICsgKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGl6ZSBuZXRidWYg
dG8gcmVmZXJlbmNlIHRvIGFuIGV4aXN0aW5nCj4gKyAqIGNvbnRpZ3VvdXMgZGF0YSBhcmVhCj4g
KyAqIG0tPmxlbiBpcyBpbml0aWFsaXplZCB3aXRoIDAuCj4gKyAqIEl0IHdpbGwgbm90IGJlIGZy
ZWUnZCB0b2dldGhlciB3aXRoIHRoaXMgbmV0YnVmIG9uIHRoZSBsYXN0IGZyZWUgY2FsbC4KPiAr
ICogQHBhcmFtIGEKPiArICogICBBbGxvY2F0b3IgdG8gYmUgdXNlZCBmb3IgYWxsb2NhdGluZyBg
c3RydWN0IHVrX25ldGJ1ZmAKPiArICogICBPbiB1a19uZXRkZXZfZnJlZSgpIGFuZCByZWZjb3Vu
dCA9PSAwIHRoZSBhbGxvY2F0aW9uIGlzIGZyZWUnZAo+ICsgKiAgIHRvIHRoaXMgYWxsb2NhdG9y
Lgo+ICsgKiBAcGFyYW0gYnVmCj4gKyAqICAgUmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYXJlYSB0
aGF0IGlzIGJlbG9uZ2luZyB0byB0aGlzIG5ldGJ1Zgo+ICsgKiBAcGFyYW0gYnVmbGVuCj4gKyAq
ICAgU2l6ZSBvZiB0aGUgYnVmZmVyIGFyZWEKPiArICogQHBhcmFtIGhlYWRyb29tCj4gKyAqICAg
TnVtYmVyIG9mIGJ5dGVzIHJlc2VydmVkIGFzIGhlYWRyb29tIGZyb20gYnVmLgo+ICsgKiAgIGhl
YWRyb29tIGhhcyB0byBiZSBzbWFsbGVyIG9yIGVxdWFsIHRvIGJ1Zmxlbi4KPiArICogICBQbGVh
c2Ugbm90ZSB0aGF0IG0tPmRhdGEgaXMgYWxpZ25lZCB3aGVuIHJlc2VydmVkIGhlYWRyb29tIGlz
IDAuCj4gKyAqICAgSW4gb3JkZXIgdG8ga2VlcCB0aGlzIHByb3BlcnR5IGFsaWduIHVwIHRoZSBo
ZWFkcm9vbSB2YWx1ZS4KPiArICogQHBhcmFtIHByaXZsZW4KPiArICogICBMZW5ndGggZm9yIHJl
c2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRlIGRhdGEuIFRoaXMgbWVtb3J5IGlzIGZyZWUn
ZAo+ICsgKiAgIHRvZ2V0aGVyIHdpdGggdGhpcyBuZXRidWYuIElmIHByaXZsZW4gaXMgMCwgZWl0
aGVyIG5vIHByaXZhdGUgZGF0YSBpcwo+ICsgKiAgIHJlcXVpcmVkIG9yIGV4dGVybmFsIG1ldGEg
ZGF0YSBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4gbS0+cHJpdiBjYW4gYmUKPiArICogICBt
b2RpZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KPiArICogQHBhcmFtIGR0b3IKPiArICogICBE
ZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4gbmV0YnVmIGlzIGZyZWUnZCAocmVjb21tZW5k
ZWQpCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgLSAoTlVMTCk6IEFsbG9jYXRpb24gZmFpbGVkCj4g
KyAqICAgLSBpbml0aWFsaXplZCB1a19uZXRidWYKPiArICovCj4gK3N0cnVjdCB1a19uZXRidWYg
KnVrX25ldGJ1Zl9hbGxvY19pbmRpcihzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gKwkJCQkJdm9pZCAq
YnVmLCBzaXplX3QgYnVmbGVuLAo+ICsJCQkJCXVpbnQxNl90IGhlYWRyb29tLAo+ICsJCQkJCXNp
emVfdCBwcml2bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpOwo+ICsKPiArLyoqCj4gKyAqIEFs
bG9jYXRlIGFuZCBpbml0aWFsaXplIG5ldGJ1ZiB3aXRoIGRhdGEgYnVmZmVyIGFyZWEuCj4gKyAq
IG0tPmxlbiBpcyBpbml0aWFsaXplZCB3aXRoIDAuCj4gKyAqIEBwYXJhbSBhCj4gKyAqICAgQWxs
b2NhdG9yIHRvIGJlIHVzZWQgZm9yIGFsbG9jYXRpbmcgYHN0cnVjdCB1a19uZXRidWZgIGFuZCB0
aGUKPiArICogICBjb3JyZXNwb25kaW5nIGJ1ZmZlciBhcmVhIChzaW5nbGUgYWxsb2NhdGlvbiku
Cj4gKyAqICAgT24gdWtfbmV0YnVmX2ZyZWUoKSBhbmQgcmVmY291bnQgPT0gMCB0aGUgYWxsb2Nh
dGlvbiBpcyBmcmVlJ2QKPiArICogICB0byB0aGlzIGFsbG9jYXRvci4KPiArICogQHBhcmFtIGJ1
Zmxlbgo+ICsgKiAgIFNpemUgb2YgdGhlIGJ1ZmZlciBhcmVhCj4gKyAqIEBwYXJhbSBoZWFkcm9v
bQo+ICsgKiAgIE51bWJlciBvZiBieXRlcyByZXNlcnZlZCBhcyBoZWFkcm9vbSBmcm9tIHRoZSBi
dWZmZXIgYXJlYS4KPiArICogICBgaGVhZHJvb21gIGhhcyB0byBiZSBzbWFsbGVyIG9yIGVxdWFs
IHRvIGBidWZsZW5gLgo+ICsgKiAgIFBsZWFzZSBub3RlIHRoYXQgYG0tPmRhdGFgIGlzIGFsaWdu
ZWQgd2hlbiBgaGVhZHJvb21gIGlzIDAuCj4gKyAqICAgSW4gb3JkZXIgdG8ga2VlcCB0aGlzIHBy
b3BlcnR5IHdoZW4gYSBoZWFkcm9vbSBpcyB1c2VkLAo+ICsgKiAgIGl0IGlzIHJlY29tbWVuZGVk
IHRvIGFsaWduIHVwIHRoZSByZXF1aXJlZCBoZWFkcm9vbS4KPiArICogQHBhcmFtIHByaXZsZW4K
PiArICogICBMZW5ndGggZm9yIHJlc2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRlIGRhdGEu
IFRoaXMgbWVtb3J5IGlzIGZyZWUnZAo+ICsgKiAgIHRvZ2V0aGVyIHdpdGggdGhpcyBuZXRidWYu
IElmIHByaXZsZW4gaXMgMCwgZWl0aGVyIG5vIHByaXZhdGUgZGF0YSBpcwo+ICsgKiAgIHJlcXVp
cmVkIG9yIGV4dGVybmFsIG1ldGEgZGF0YSBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4gbS0+
cHJpdiBjYW4gYmUKPiArICogICBtb2RpZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KPiArICog
QHBhcmFtIGR0b3IKPiArICogICBEZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4gbmV0YnVm
IGlzIGZyZWUnZCAob3B0aW9uYWwpCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgLSAoTlVMTCk6IEFs
bG9jYXRpb24gZmFpbGVkCj4gKyAqICAgLSBpbml0aWFsaXplZCB1a19uZXRidWYKPiArICovCj4g
K3N0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9hbGxvY19idWYoc3RydWN0IHVrX2FsbG9jICph
LCBzaXplX3QgYnVmbGVuLAo+ICsJCQkJICAgICAgdWludDE2X3QgaGVhZHJvb20sCj4gKwkJCQkg
ICAgICBzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKTsKPiArCj4gKy8qKgo+
ICsgKiBJbml0aWFsaXplIG5ldGJ1ZiB3aXRoIGRhdGEgYnVmZmVyIG9uIGEgdXNlciBnaXZlbiBh
bGxvY2F0ZWQgbWVtb3J5IGFyZWEKPiArICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdpdGggMC4K
PiArICogQHBhcmFtIG1lbQo+ICsgKiAgIFJlZmVyZW5jZSB0byB1c2VyIHByb3ZpZGVkIG1lbW9y
eSByZWdpb24KPiArICogQHBhcmFtIGJ1Zmxlbgo+ICsgKiAgIFNpemUgb2YgdGhlIGRhdGEgdGhh
dCBzaGFsbCBiZSBhbGxvY2F0ZWQgdG9nZXRoZXIgd2l0aCB0aGlzIG5ldGJ1Zgo+ICsgKiBAcGFy
YW0gaGVhZHJvb20KPiArICogICBOdW1iZXIgb2YgYnl0ZXMgcmVzZXJ2ZWQgYXMgaGVhZHJvb20g
ZnJvbSB0aGUgYnVmZmVyIGFyZWEuCj4gKyAqICAgYGhlYWRyb29tYCBoYXMgdG8gYmUgc21hbGxl
ciBvciBlcXVhbCB0byBgYnVmbGVuYC4KPiArICogICBQbGVhc2Ugbm90ZSB0aGF0IGBtLT5kYXRh
YCBpcyBhbGlnbmVkIHdoZW4gYGhlYWRyb29tYCBpcyAwLgo+ICsgKiAgIEluIG9yZGVyIHRvIGtl
ZXAgdGhpcyBwcm9wZXJ0eSB3aGVuIGEgaGVhZHJvb20gaXMgdXNlZCwKPiArICogICBpdCBpcyBy
ZWNvbW1lbmRlZCB0byBhbGlnbiB1cCB0aGUgcmVxdWlyZWQgaGVhZHJvb20uCj4gKyAqIEBwYXJh
bSBwcml2bGVuCj4gKyAqICAgTGVuZ3RoIGZvciByZXNlcnZlZCBtZW1vcnkgdG8gc3RvcmUgcHJp
dmF0ZSBkYXRhLiBUaGlzIG1lbW9yeSB3aWxsIGJlCj4gKyAqICAgZW1iZWRkZWQgdG9nZXRoZXIg
d2l0aCB0aGlzIG5ldGJ1Zi4gSWYgcHJpdmxlbiBpcyAwLCBlaXRoZXIgbm8gcHJpdmF0ZSBkYXRh
Cj4gKyAqICAgaXMgcmVxdWlyZWQgb3IgZXh0ZXJuYWwgbWV0YSBkYXRhIGNvcnJlc3BvbmRzIHRv
IHRoaXMgbmV0YnVmLiBtLT5wcml2IGNhbgo+ICsgKiAgIGJlIG1vZGlmaWVkIGFmdGVyIHRoZSBw
cmVwYXJhdGlvbi4KPiArICogQHBhcmFtIGR0b3IKPiArICogICBEZXN0cnVjdG9yIHRoYXQgaXMg
Y2FsbGVkIHdoZW4gbmV0YnVmJ3MgcmVmY291bnQgcmVhY2hlcyB6ZXJvIChyZWNvbW1lbmRlZCkK
PiArICogQHJldHVybnMKPiArICogICAtIChOVUxMKTogZ2l2ZW4gZmFpbGVkCj4gKyAqICAgLSBp
bml0aWFsaXplZCB1a19uZXRidWYKPiArICovCj4gK3N0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1
Zl9wcmVwYXJlX2J1Zih2b2lkICptZW0sIHNpemVfdCBzaXplLAo+ICsJCQkJCXVpbnQxNl90IGhl
YWRyb29tLAo+ICsJCQkJCXNpemVfdCBwcml2bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpOwo+
ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZW5kaWYgLyog
X19VS19ORVRCVUZfXyAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0YnVmLmMgYi9s
aWIvdWtuZXRkZXYvbmV0YnVmLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAw
MDAuLjcyYzM0OWIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliL3VrbmV0ZGV2L25ldGJ1Zi5j
Cj4gQEAgLTAsMCArMSwxOTAgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0z
LUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVu
emVyQG5lY2xhYi5ldT4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3Bl
IEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoKPiArICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
PiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29w
eXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+
ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAq
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhF
QURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8K
PiArI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgo+ICsjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5oPgo+
ICsKPiArLyogVXNlZCB0byBhbGlnbiBuZXRidWYncyBwcml2IGFuZCBkYXRhIGFyZWFzIHRvIGBs
b25nIGxvbmdgIGRhdGEgdHlwZSAqLwo+ICsjZGVmaW5lIE5FVEJVRl9BRERSX0FMSUdOTUVOVCAo
c2l6ZW9mKGxvbmcgbG9uZykpCj4gKyNkZWZpbmUgTkVUQlVGX0FERFJfQUxJR05fVVAoeCkgQUxJ
R05fVVAoKHgpLCBORVRCVUZfQUREUl9BTElHTk1FTlQpCj4gKwo+ICt2b2lkIHVrX25ldGJ1Zl9p
bml0X2luZGlyKHN0cnVjdCB1a19uZXRidWYgKm0sCj4gKwkJCSAgdm9pZCAqYnVmLCBzaXplX3Qg
YnVmbGVuLCB1aW50MTZfdCBoZWFkcm9vbSwKPiArCQkJICB2b2lkICpwcml2LCB1a19uZXRidWZf
ZHRvcl90IGR0b3IpCj4gK3sKPiArCVVLX0FTU0VSVChtKTsKPiArCVVLX0FTU0VSVChidWYgfHwg
KGJ1ZiA9PSBOVUxMICYmIGJ1ZmxlbiA9PSAwKSk7Cj4gKwlVS19BU1NFUlQoaGVhZHJvb20gPD0g
YnVmbGVuKTsKPiArCj4gKwltLT5idWYgICAgPSBidWY7Cj4gKwltLT5idWZsZW4gPSBidWZsZW47
Cj4gKwltLT5kYXRhICAgPSAodm9pZCAqKSAoKHVpbnRwdHJfdCkgYnVmICsgaGVhZHJvb20pOwo+
ICsJbS0+bGVuICAgID0gMDsKPiArCW0tPnByZXYgICA9IE5VTEw7Cj4gKwltLT5uZXh0ICAgPSBO
VUxMOwo+ICsKPiArCXVrX3JlZmNvdW50X2luaXQoJm0tPnJlZmNvdW50LCAxKTsKPiArCj4gKwlt
LT5wcml2ICAgPSBwcml2Owo+ICsJbS0+ZHRvciAgID0gZHRvcjsKPiArCW0tPl9hICAgICAgPSBO
VUxMOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfYWxsb2NfaW5kaXIo
c3RydWN0IHVrX2FsbG9jICphLAo+ICsJCQkJCXZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwKPiAr
CQkJCQl1aW50MTZfdCBoZWFkcm9vbSwKPiArCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVm
X2R0b3JfdCBkdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfbmV0YnVmICptOwo+ICsKPiArCWlmIChw
cml2bGVuKQo+ICsJCW0gPSB1a19tYWxsb2MoYSwgTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9m
KCptKSkgKyBwcml2bGVuKTsKPiArCWVsc2UKPiArCQltID0gdWtfbWFsbG9jKGEsIHNpemVvZigq
bSkpOwo+ICsJaWYgKCFtKQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCXVrX25ldGJ1Zl9pbml0
X2luZGlyKG0sCj4gKwkJCSAgICAgYnVmLAo+ICsJCQkgICAgIGJ1ZmxlbiwKPiArCQkJICAgICBo
ZWFkcm9vbSwKPiArCQkJICAgICBwcml2bGVuID4gMAo+ICsJCQkgICAgID8gKHZvaWQgKikoKHVp
bnRwdHJfdCkgbQo+ICsJCQkJCSsgTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSkpCj4g
KwkJCSAgICAgOiBOVUxMLAo+ICsJCQkgICAgIGR0b3IpOwo+ICsKPiArCS8qIFNhdmUgcmVmZXJl
bmNlIHRvIGFsbG9jYXRvciB0aGF0IGlzIHVzZWQKPiArCSAqIGZvciBmcmVlJ2luZyB0aGlzIHVr
X25ldGJ1Zi4KPiArCSAqLwo+ICsJbS0+X2EgPSBhOwo+ICsKPiArCXJldHVybiBtOwo+ICt9Cj4g
Kwo+ICtzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfYWxsb2NfYnVmKHN0cnVjdCB1a19hbGxv
YyAqYSwgc2l6ZV90IGJ1ZmxlbiwKPiArCQkJCSAgICAgIHVpbnQxNl90IGhlYWRyb29tLAo+ICsJ
CQkJICAgICAgc2l6ZV90IHByaXZsZW4sIHVrX25ldGJ1Zl9kdG9yX3QgZHRvcikKPiArewo+ICsJ
c3RydWN0IHVrX25ldGJ1ZiAqbTsKPiArCXNpemVfdCBidWZfb2Zmc2V0ID0gMDsKPiArCXNpemVf
dCBwcml2X29mZnNldCA9IDA7Cj4gKwlzaXplX3QgaGVhZHJvb21fZXh0cmEgPSAwOwo+ICsKPiAr
CVVLX0FTU0VSVChidWZsZW4gPiAwKTsKPiArCVVLX0FTU0VSVChoZWFkcm9vbSA8PSBidWZsZW4p
Owo+ICsKPiArCW0gPSB1a19tYWxsb2MoYSwgTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCpt
KSkKPiArCQkgICAgICArIE5FVEJVRl9BRERSX0FMSUdOX1VQKHByaXZsZW4pCj4gKwkJICAgICAg
KyBidWZsZW4pOwo+ICsJaWYgKCFtKQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCS8qIFBsYWNl
IGJ1ZiByaWdodCBiZWhpbmQgYG1gIG9yIGBtLT5wcml2YCByZWdpb24gaWYgcHJpdmxlbiA+IDAu
Cj4gKwkgKiBJbiBvcmRlciB0byBrZWVwIGBtLT5kYXRhIC0gaGVhZHJvb21gIGFsaWduZWQgdGhl
IHBhZGRpbmcgYnl0ZXMKPiArCSAqICBhcmUgYWRkZWQgdG8gdGhlIGhlYWRyb29tLgo+ICsJICog
V2UgY2FuIG9ubHkgZG8gdGhpcyBpZiB0aGUgZ2l2ZW4gaGVhZHJvb20gc3RheXMgd2l0aGluCj4g
KwkgKiAgdWludDE2X3QgYm91bmRzIGFmdGVyIHRoZSBvcGVyYXRpb24uCj4gKwkgKi8KPiArCWlm
IChsaWtlbHkoVUlOVDE2X01BWCAtIGhlYWRyb29tID4gTkVUQlVGX0FERFJfQUxJR05NRU5UKSkg
ewo+ICsJCWlmIChwcml2bGVuID09IDApIHsKPiArCQkJcHJpdl9vZmZzZXQgICAgPSAwOwo+ICsJ
CQlidWZfb2Zmc2V0ICAgICA9IHNpemVvZigqbSk7Cj4gKwkJCWhlYWRyb29tX2V4dHJhID0gTkVU
QlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSkKPiArCQkJCQkgLSBzaXplb2YoKm0pOwo+ICsJ
CX0gZWxzZSB7Cj4gKwkJCXByaXZfb2Zmc2V0ICAgID0gTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6
ZW9mKCptKSk7Cj4gKwkJCWJ1Zl9vZmZzZXQgICAgID0gcHJpdl9vZmZzZXQgKyBwcml2bGVuOwo+
ICsJCQloZWFkcm9vbV9leHRyYSA9IE5FVEJVRl9BRERSX0FMSUdOX1VQKHByaXZsZW4pCj4gKwkJ
CQkJIC0gcHJpdmxlbjsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJdWtfbmV0YnVmX2luaXRfaW5kaXIo
bSwKPiArCQkJICAgICAodm9pZCAqKSBtICsgYnVmX29mZnNldCwKPiArCQkJICAgICBidWZsZW4g
KyBoZWFkcm9vbV9leHRyYSwKPiArCQkJICAgICBoZWFkcm9vbSArIGhlYWRyb29tX2V4dHJhLAo+
ICsJCQkgICAgIHByaXZsZW4gPiAwID8gKCh2b2lkICopIG0gKyBwcml2X29mZnNldCkgOiBOVUxM
LAo+ICsJCQkgICAgIGR0b3IpOwo+ICsKPiArCS8qIFNhdmUgcmVmZXJlbmNlIHRvIGFsbG9jYXRv
ciB0aGF0IGlzIHVzZWQKPiArCSAqIGZvciBmcmVlJ2luZyB0aGlzIHVrX25ldGJ1Zi4KPiArCSAq
Lwo+ICsJbS0+X2EgPSBhOwo+ICsKPiArCXJldHVybiBtOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgdWtf
bmV0YnVmICp1a19uZXRidWZfcHJlcGFyZV9idWYodm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSwKPiAr
CQkJCQl1aW50MTZfdCBoZWFkcm9vbSwKPiArCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVm
X2R0b3JfdCBkdG9yKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfbmV0YnVmICptOwo+ICsJc2l6ZV90IGJ1
Zl9vZmZzZXQgPSAwOwo+ICsJc2l6ZV90IHByaXZfb2Zmc2V0ID0gMDsKPiArCj4gKwlVS19BU1NF
UlQobWVtKTsKPiArCWlmICgoTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSkKPiArCSAg
ICAgKyBORVRCVUZfQUREUl9BTElHTl9VUChwcml2bGVuKQo+ICsJICAgICArIGhlYWRyb29tKSA+
IHNpemUpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJLyogUGxhY2UgYnVmIHJpZ2h0IGJlaGlu
ZCBgbWAgb3IgYG0tPnByaXZgIHJlZ2lvbiBpZiBwcml2bGVuID4gMC4KPiArCSAqIEluIG9yZGVy
IHRvIGtlZXAgYG0tPmRhdGEgLSBoZWFkcm9vbWAgYWxpZ25lZCB0aGUgcGFkZGluZyBieXRlcwo+
ICsJICogIGFyZSBhZGRlZCB0byB0aGUgaGVhZHJvb20uCj4gKwkgKiBXZSBjYW4gb25seSBkbyB0
aGlzIGlmIHRoZSBnaXZlbiBoZWFkcm9vbSBzdGF5cyB3aXRoaW4KPiArCSAqICB1aW50MTZfdCBi
b3VuZHMgYWZ0ZXIgdGhlIG9wZXJhdGlvbi4KPiArCSAqLwo+ICsJaWYgKGxpa2VseShVSU5UMTZf
TUFYIC0gaGVhZHJvb20gPiBORVRCVUZfQUREUl9BTElHTk1FTlQpKSB7Cj4gKwkJaWYgKHByaXZs
ZW4gPT0gMCkgewo+ICsJCQlwcml2X29mZnNldCA9IDA7Cj4gKwkJCWJ1Zl9vZmZzZXQgID0gc2l6
ZW9mKCptKTsKPiArCQkJaGVhZHJvb20gICArPSBORVRCVUZfQUREUl9BTElHTl9VUChzaXplb2Yo
Km0pKQo+ICsJCQkJICAgICAgLSBzaXplb2YoKm0pOwo+ICsJCX0gZWxzZSB7Cj4gKwkJCXByaXZf
b2Zmc2V0ID0gTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSk7Cj4gKwkJCWJ1Zl9vZmZz
ZXQgID0gcHJpdl9vZmZzZXQgKyBwcml2bGVuOwo+ICsJCQloZWFkcm9vbSAgICs9IE5FVEJVRl9B
RERSX0FMSUdOX1VQKHByaXZsZW4pCj4gKwkJCQkgICAgICAtIHByaXZsZW47Cj4gKwkJfQo+ICsJ
fQo+ICsKPiArCW0gPSAoc3RydWN0IHVrX25ldGJ1ZiAqKSBtZW07Cj4gKwl1a19uZXRidWZfaW5p
dF9pbmRpcihtLAo+ICsJCQkgICAgIG1lbSArIGJ1Zl9vZmZzZXQsCj4gKwkJCSAgICAgc2l6ZSAt
IGJ1Zl9vZmZzZXQsCj4gKwkJCSAgICAgaGVhZHJvb20sCj4gKwkJCSAgICAgcHJpdmxlbiA+IDAg
PyAobWVtICsgcHJpdl9vZmZzZXQpIDogTlVMTCwKPiArCQkJICAgICBkdG9yKTsKPiArCXJldHVy
biBtOwo+ICt9Cj4gCgoKVGhhbmtzICYgUmVnYXJkcwpTaGFyYW4KCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 10:07:44 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 10:07:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAXsd-0000Xf-OB; Thu, 11 Oct 2018 10:07:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAXsd-0000Xa-1O
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 10:07:43 +0000
X-Inumbo-ID: abdeadc6-cd3d-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id abdeadc6-cd3d-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 10:09:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 57F46F2034;
 Thu, 11 Oct 2018 12:07:40 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id R4zyO1_Pxe7y; Thu, 11 Oct 2018 12:07:40 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 2D81FF2030
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 12:07:38 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 12:07:37
 +0200
To: <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-4-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <eefca5c0-c269-0028-d954-036fd728e4b5@neclab.eu>
Date: Thu, 11 Oct 2018 12:07:37 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-4-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 03/11] lib/uknetdev: Netbuf
 chaining
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpUaGVyZSBpcyBhIG1pbm9yIGNv
bW1lbnQuIFBsZWFzZSBmaW5kIHRoZSBjb21tZW50IGlubGluZS4gSXQgaXMgYSAKcmVkdW5kYW50
IGlmIGNvbmRpdGlvbi4gSSBiZWxpZXZlIHdlIGNhbiBmaXggaXQgd2hpbGUgdXBzdHJlYW1pbmcu
CgpSZXZpZXdlZC1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+CgpPbiAxMC8xMC8yMDE4IDAyOjAwIFBNLCBTaW1vbiBLdWVuemVyIHdyb3RlOgo+IEludHJv
ZHVjZSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBvcGVyYXRpbmcgbmV0YnVmIGNoYWlucy4g
V2l0aAo+IHRoaXMsIG5ldHdvcmsgcGFja2V0IGRhdGEgdGhhdCBpcyBzY2F0dGVyZWQgaW4gbWVt
b3J5IGNhbiBiZQo+IGRlc2NyaWJlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVy
IDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPiAtLS0KPiAgIGxpYi91a25ldGRldi9leHBvcnRz
eW1zLnVrICAgICAgIHwgIDMgKysKPiAgIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5o
IHwgODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgbGliL3Vr
bmV0ZGV2L25ldGJ1Zi5jICAgICAgICAgICAgfCA1NSArKysrKysrKysrKysrKysrKysrKysrKysr
KysKPiAgIDMgZmlsZXMgY2hhbmdlZCwgMTM4IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0
IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
awo+IGluZGV4IDU0NzNiYmEuLjMxNTNhNWQgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4
cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC0yLDMg
KzIsNiBAQCB1a19uZXRidWZfaW5pdF9pbmRpcgo+ICAgdWtfbmV0YnVmX2FsbG9jX2luZGlyCj4g
ICB1a19uZXRidWZfYWxsb2NfYnVmCj4gICB1a19uZXRidWZfcHJlcGFyZV9idWYKPiArdWtfbmV0
YnVmX2Rpc2Nvbm5lY3QKPiArdWtfbmV0YnVmX2Nvbm5lY3QKPiArdWtfbmV0YnVmX2FwcGVuZAo+
IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gaW5kZXggMjk1ZTllYi4uYzQ0OGM2YSAxMDA2NDQK
PiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaAo+ICsrKyBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gQEAgLTI4Miw2ICsyODIsODYgQEAgc3RydWN0IHVr
X25ldGJ1ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCj4g
ICAJCQkJCXVpbnQxNl90IGhlYWRyb29tLAo+ICAgCQkJCQlzaXplX3QgcHJpdmxlbiwgdWtfbmV0
YnVmX2R0b3JfdCBkdG9yKTsKPiAgIAo+ICsvKioKPiArICogQ29ubmVjdHMgdHdvIG5ldGJ1ZiBj
aGFpbnMKPiArICogQHBhcmFtIGhlYWR0YWlsCj4gKyAqICAgTGFzdCBuZXRidWYgZWxlbWVudCBv
ZiBjaGFpbiB0aGF0IHNob3VsZCBjb21lIGZpcnN0Lgo+ICsgKiAgIEl0IGNhbiBhbHNvIGJlIGp1
c3QgYSBzaW5nbGUgbmV0YnVmLgo+ICsgKiBAcGFyYW0gdGFpbAo+ICsgKiAgIEhlYWQgZWxlbWVu
dCBvZiB0aGUgc2Vjb25kIG5ldGJ1ZiBjaGFpbi4KPiArICogICBJdCBjYW4gYWxzbyBiZSBqdXN0
IGEgc2luZ2xlIG5ldGJ1Zi4KPiArICovCj4gK3ZvaWQgdWtfbmV0YnVmX2Nvbm5lY3Qoc3RydWN0
IHVrX25ldGJ1ZiAqaGVhZHRhaWwsCj4gKwkJICAgICAgIHN0cnVjdCB1a19uZXRidWYgKnRhaWwp
Owo+ICsKPiArLyoqCj4gKyAqIENvbm5lY3RzIHR3byBuZXRidWYgY2hhaW5zCj4gKyAqIEBwYXJh
bSBoZWFkCj4gKyAqICAgSGVhZGluZyBuZXRidWYgZWxlbWVudCBvZiBjaGFpbiB0aGF0IHNob3Vs
ZCBjb21lIGZpcnN0Lgo+ICsgKiAgIEl0IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVm
Lgo+ICsgKiBAcGFyYW0gdGFpbAo+ICsgKiAgIEhlYWQgZWxlbWVudCBvZiB0aGUgc2Vjb25kIG5l
dGJ1ZiBjaGFpbi4KPiArICogICBJdCBjYW4gYWxzbyBiZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4K
PiArICovCj4gK3ZvaWQgdWtfbmV0YnVmX2FwcGVuZChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkLAo+
ICsJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKnRhaWwpOwo+ICsKPiArLyoqCj4gKyAqIERpc2Nv
bm5lY3RzIGEgbmV0YnVmIGZyb20gaXRzIGNoYWluLiBUaGUgY2hhaW4gd2lsbCByZW1haW4KPiAr
ICogd2l0aG91dCB0aGUgcmVtb3ZlZCBlbGVtZW50Lgo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIHVr
X25ldGJ1ZiB0byBiZSByZW1vdmVkIGZyb20gaXRzIGNoYWluCj4gKyAqIEByZXR1cm5zCj4gKyAq
ICAgLSAoTlVMTCkgQ2hhaW4gY29uc2lzdGVkIG9ubHkgb2YgbQo+ICsgKiAgIC0gSGVhZCBvZiB0
aGUgcmVtYWluaW5nIG5ldGJ1ZiBjaGFpbgo+ICsgKi8KPiArc3RydWN0IHVrX25ldGJ1ZiAqdWtf
bmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSk7Cj4gKwo+ICsvKgo+ICsgKiBJ
dGVyYXRvciBoZWxwZXJzIGZvciBuZXRidWYgY2hhaW5zCj4gKyAqLwo+ICsvKiBoZWFkIC0+IHRh
aWwgKi8KPiArI2RlZmluZSBVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSCh2YXIsIGhlYWQpCQkJCVwK
PiArCWZvciAoKHZhcikgPSAoaGVhZCk7ICh2YXIpICE9IE5VTEw7ICh2YXIpID0gKHZhciktPm5l
eHQpCj4gKwo+ICsvKiB0YWlsIC0+IGhlYWQgKHJldmVyc2UpICovCj4gKyNkZWZpbmUgVUtfTkVU
QlVGX0NIQUlOX0ZPUkVBQ0hfUih2YXIsIHRhaWwpCQkJCVwKPiArCWZvciAoKHZhcikgPSAodGFp
bCk7ICh2YXIpICE9IE5VTEw7ICh2YXIpID0gKHZhciktPnByZXYpCj4gKwo+ICsvKioKPiArICog
UmV0cmlldmVzIHRoZSBsYXN0IGVsZW1lbnQgb2YgYSBuZXRidWYgY2hhaW4KPiArICogQHBhcmFt
IG0KPiArICogICB1a19uZXRidWYgdGhhdCBpcyBwYXJ0IG9mIGEgY2hhaW4KPiArICogQHJldHVy
bnMKPiArICogICBMYXN0IHVrX25ldGJ1ZiBvZiB0aGUgY2hhaW4KPiArICovCj4gKyNkZWZpbmUg
dWtfbmV0YnVmX2NoYWluX2xhc3QobSkJCQkJCQlcCj4gKwkoewkJCQkJCQkJXAo+ICsJCXN0cnVj
dCB1a19uZXRidWYgKl9fcmV0ID0gTlVMTDsJCQkJXAo+ICsJCXN0cnVjdCB1a19uZXRidWYgKl9f
aXRlcjsJCQkJXAo+ICsJCVVLX05FVEJVRl9DSEFJTl9GT1JFQUNIKF9faXRlciwgKG0pKQkJCVwK
PiArCQkJX19yZXQgPSBfX2l0ZXI7CQkJCQlcCj4gKwkJCQkJCQkJCVwKPiArCQkoX19yZXQpOwkJ
CQkJCVwKPiArCX0pCj4gKwo+ICsvKioKPiArICogUmV0cmlldmVzIHRoZSBmaXJzdCBlbGVtZW50
IG9mIGEgbmV0YnVmIGNoYWluCj4gKyAqIEBwYXJhbSBtCj4gKyAqICAgdWtfbmV0YnVmIHRoYXQg
aXMgcGFydCBvZiBhIGNoYWluCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgRmlyc3QgdWtfbmV0YnVm
IG9mIHRoZSBjaGFpbgo+ICsgKi8KPiArI2RlZmluZSB1a19uZXRidWZfY2hhaW5fZmlyc3QobSkJ
CQkJCVwKPiArCSh7CQkJCQkJCQlcCj4gKwkJc3RydWN0IHVrX25ldGJ1ZiAqX19yZXQgPSBOVUxM
OwkJCQlcCj4gKwkJc3RydWN0IHVrX25ldGJ1ZiAqX19pdGVyOwkJCQlcCj4gKwkJVUtfTkVUQlVG
X0NIQUlOX0ZPUkVBQ0hfUihfX2l0ZXIsIChtKSkJCQlcCj4gKwkJCV9fcmV0ID0gX19pdGVyOwkJ
CQkJXAo+ICsJCQkJCQkJCQlcCj4gKwkJKF9fcmV0KTsJCQkJCQlcCj4gKwl9KQo+ICsKPiAgICNp
ZmRlZiBfX2NwbHVzcGx1cwo+ICAgfQo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2xpYi91a25l
dGRldi9uZXRidWYuYyBiL2xpYi91a25ldGRldi9uZXRidWYuYwo+IGluZGV4IDcyYzM0OWIuLjVi
YzIzMTIgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCj4gKysrIGIvbGliL3Vr
bmV0ZGV2L25ldGJ1Zi5jCj4gQEAgLTE4OCwzICsxODgsNTggQEAgc3RydWN0IHVrX25ldGJ1ZiAq
dWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCj4gICAJCQkgICAg
IGR0b3IpOwo+ICAgCXJldHVybiBtOwo+ICAgfQo+ICsKPiArc3RydWN0IHVrX25ldGJ1ZiAqdWtf
bmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSkKPiArewo+ICsJc3RydWN0IHVr
X25ldGJ1ZiAqcmVtaGVhZCA9IE5VTEw7Cj4gKwo+ICsJVUtfQVNTRVJUKG0pOwo+ICsKPiArCS8q
IEl0IGlzIHBvc3NpYmxlIHRoYXQgbSB3YXMgdGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlIGNoYWlu
Lgo+ICsJICogSW4gc3VjaCBhIGNhc2Ugd2Ugd2FudCB0byByZXR1cm4gdGhlIG5leHQgZWxlbWVu
dCBvZiBtIGFzIHRoZQo+ICsJICogcmVtYWluaW5nIGhlYWQgb2YgdGhlIGNoYWluLiBJZiB0aGVy
ZSBpcyBubyBuZXh0IGVsZW1lbnQKPiArCSAqIHRoZXJlIHdhcyBubyBjaGFpbi4KPiArCSAqLwoK
V2h5IGFyZSB3ZSBkb2luZyB0aGlzIGNoZWNrPwo+ICsJaWYgKCFyZW1oZWFkKQo+ICsJCXJlbWhl
YWQgPSBtLT5uZXh0Owo+ICsKPiArCS8qIFJlY29ubmVjdCB0aGUgY2hhaW5zIGJlZm9yZSBhbmQg
YWZ0ZXIgbS4gKi8KPiArCWlmIChtLT5wcmV2KQo+ICsJCW0tPnByZXYtPm5leHQgPSBtLT5uZXh0
Owo+ICsJaWYgKG0tPm5leHQpCj4gKwkJbS0+bmV4dC0+cHJldiA9IG0tPnByZXY7Cj4gKwo+ICsJ
LyogRGlzY29ubmVjdCBtLiAqLwo+ICsJbS0+cHJldiA9IE5VTEw7Cj4gKwltLT5uZXh0ID0gTlVM
TDsKPiArCj4gKwlyZXR1cm4gcmVtaGVhZDsKPiArfQo+ICsKPiArCj4gK3ZvaWQgdWtfbmV0YnVm
X2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqaGVhZHRhaWwsCj4gKwkJICAgICAgIHN0cnVjdCB1
a19uZXRidWYgKnRhaWwpCj4gK3sKPiArCVVLX0FTU0VSVChoZWFkdGFpbCk7Cj4gKwlVS19BU1NF
UlQoIWhlYWR0YWlsLT5uZXh0KTsKPiArCVVLX0FTU0VSVCh0YWlsKTsKPiArCVVLX0FTU0VSVCgh
dGFpbC0+cHJldik7Cj4gKwo+ICsJaGVhZHRhaWwtPm5leHQgPSB0YWlsOwo+ICsJdGFpbC0+cHJl
diA9IGhlYWR0YWlsOwo+ICt9Cj4gKwo+ICt2b2lkIHVrX25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVr
X25ldGJ1ZiAqaGVhZCwKPiArCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICp0YWlsKQo+ICt7Cj4g
KwlzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkdGFpbDsKPiArCj4gKwlVS19BU1NFUlQoaGVhZCk7Cj4g
KwlVS19BU1NFUlQoIWhlYWQtPnByZXYpOwo+ICsJVUtfQVNTRVJUKHRhaWwpOwo+ICsJVUtfQVNT
RVJUKCF0YWlsLT5wcmV2KTsKPiArCj4gKwloZWFkdGFpbCA9IHVrX25ldGJ1Zl9jaGFpbl9sYXN0
KGhlYWQpOwo+ICsJaGVhZHRhaWwtPm5leHQgPSB0YWlsOwo+ICsJdGFpbC0+cHJldiA9IGhlYWR0
YWlsOwo+ICt9Cj4gCgpUaGFua3MgJiBSZWdhcmRzClNoYXJhbgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 11:17:58 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 11:17:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAYyb-0006yp-IF; Thu, 11 Oct 2018 11:17:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAYya-0006yf-FL
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 11:17:56 +0000
X-Inumbo-ID: 7ae9d53c-cd47-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7ae9d53c-cd47-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 11:19:12 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 402C1103B9A;
 Thu, 11 Oct 2018 13:17:53 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id m1K1aJUKu2Ub; Thu, 11 Oct 2018 13:17:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 099A9104A03
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 13:17:51 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 13:17:50
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-5-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <833dbed4-25bc-2bb7-bee6-57d98fd04040@neclab.eu>
Date: Thu, 11 Oct 2018 13:17:50 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-5-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 04/11] lib/uknetdev: Netbuf
 refcounting and releasing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgoKT24gMTAvMTAv
MjAxOCAwMjowMCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBJbnRyb2R1Y2UgcmVmZXJlbmNl
IGNvdW50aW5nIGFuZCBidWZmZXIgcmVsZWFzaW5nIHdpdGggTmV0YnVmcy4KPiAKPiBTaWduZWQt
b2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPiAtLS0KPiAg
IGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrICAgICAgIHwgIDMgKysKPiAgIGxpYi91a25ldGRl
di9pbmNsdWRlL3VrL25ldGJ1Zi5oIHwgNjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGJ1Zi5jICAgICAgICAgICAgfCA1NSArKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDMgZmlsZXMgY2hhbmdlZCwgMTE4
IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMu
dWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IDMxNTNhNWQuLjU5MWQ0NmMg
MTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtu
ZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC0yLDYgKzIsOSBAQCB1a19uZXRidWZfaW5pdF9pbmRp
cgo+ICAgdWtfbmV0YnVmX2FsbG9jX2luZGlyCj4gICB1a19uZXRidWZfYWxsb2NfYnVmCj4gICB1
a19uZXRidWZfcHJlcGFyZV9idWYKPiArdWtfbmV0YnVmX3JlZgo+ICt1a19uZXRidWZfZnJlZV9z
aW5nbGUKPiArdWtfbmV0YnVmX2ZyZWUKPiAgIHVrX25ldGJ1Zl9kaXNjb25uZWN0Cj4gICB1a19u
ZXRidWZfY29ubmVjdAo+ICAgdWtfbmV0YnVmX2FwcGVuZAo+IGRpZmYgLS1naXQgYS9saWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1
Zi5oCj4gaW5kZXggYzQ0OGM2YS4uNWIwOTA3YyAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRidWYuaAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1
Zi5oCj4gQEAgLTI4Myw2ICsyODMsNDMgQEAgc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3By
ZXBhcmVfYnVmKHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCj4gICAJCQkJCXNpemVfdCBwcml2bGVu
LCB1a19uZXRidWZfZHRvcl90IGR0b3IpOwo+ICAgCj4gIAoKClRoZSBmdW5jdGlvbiB1a19uZXRi
dWZfcmVmIGNhbiBhbHNvIGJlIGRlZmluZWQgYXMgaW5saW5lIGZ1bmN0aW9uLgogIC8qKgo+ICsg
KiBJbmNyZWFzZSByZWZlcmVuY2UgY291bnQgb2YgYSBuZXRidWYgaW5jbHVkaW5nIGVhY2ggc3Vj
Y2Vzc2l2ZSBuZXRidWYKPiArICogZWxlbWVudCBvZiBhIGNoYWluLiBOb3RlLCBwcmVjZWRpbmcg
Y2hhaW4gZWxlbWVudHMgYXJlIG5vdCB2aXNpdGVkLgo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIGhl
YWQgb2YgdGhlIHVrX25ldGJ1ZiBjaGFpbiB0byBpbmNyZWFzZSByZWZjb3VudCBvZgo+ICsgKiBA
cmV0dXJucwo+ICsgKiAgIFJlZmVyZW5jZSB0byBtCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0YnVm
ICp1a19uZXRidWZfcmVmKHN0cnVjdCB1a19uZXRidWYgKm0pOwo+ICsKPiArLyoqCj4gKyAqIElu
Y3JlYXNlIHJlZmVyZW5jZSBjb3VudCBvZiBhIHNpbmdsZSBuZXRidWYgKGlycmVzcGVjdGl2ZSBv
ZiBhIGNoYWluKQo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIHVrX25ldGJ1ZiB0byBpbmNyZWFzZSBy
ZWZjb3VudCBvZgo+ICsgKiBAcmV0dXJucwo+ICsgKiAgIFJlZmVyZW5jZSB0byBtCj4gKyAqLwo+
ICtzdGF0aWMgaW5saW5lIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9yZWZfc2luZ2xlKHN0
cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiArCVVLX0FTU0VSVChtKTsKPiArCj4gKwl1a19yZWZj
b3VudF9hY3F1aXJlKCZtLT5yZWZjb3VudCk7Cj4gKwlyZXR1cm4gbTsKPiArfQo+ICsKCk1heWJl
IHJlbmFtZSB1a19uZXRidWZfcmVmY291bnRfc2luZ2xlIHdpdGggIHVrX25ldGJ1Zl9yZWZjb3Vu
dF9zaW5nbGVfZ2V0Cj4gKy8qKgo+ICsgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJlZmVyZW5jZSBj
b3VudCBvZiBhIHNpbmdsZSBuZXRidWYKPiArICogQHBhcmFtIG0KPiArICogICB1a19uZXRidWYg
dG8gcmV0dXJuIHRoZSByZWZlcmVuY2UgY291bnQgb2YKPiArICovCj4gK3N0YXRpYyBpbmxpbmUg
dWludDMyX3QgdWtfbmV0YnVmX3JlZmNvdW50X3NpbmdsZShzdHJ1Y3QgdWtfbmV0YnVmICptKQo+
ICt7Cj4gKwlVS19BU1NFUlQobSk7Cj4gKwo+ICsJcmV0dXJuIHVrX3JlZmNvdW50X3JlYWQoJm0t
PnJlZmNvdW50KTsKPiArfQo+ICsKPiArLyoqCj4gICAgKiBDb25uZWN0cyB0d28gbmV0YnVmIGNo
YWlucwo+ICAgICogQHBhcmFtIGhlYWR0YWlsCj4gICAgKiAgIExhc3QgbmV0YnVmIGVsZW1lbnQg
b2YgY2hhaW4gdGhhdCBzaG91bGQgY29tZSBmaXJzdC4KPiBAQCAtMzE3LDYgKzM1NCwyOSBAQCB2
b2lkIHVrX25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVrX25ldGJ1ZiAqaGVhZCwKPiAgICAqLwo+ICAg
c3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAq
bSk7Cj4gICAKPiArLyoqCj4gKyAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGVh
Y2ggZWxlbWVudCBvZiB0aGUgY2hhaW4uCj4gKyAqIElmIGEgcmVmY291bnQgYmVjb21lcyAwLCB0
aGUgbmV0YnVmIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGl0cyBjaGFpbiwKPiArICogaXRzIGRlc3Ry
dWN0b3IgaXMgY2FsbGVkIGFuZCB0aGUgbWVtb3J5IGlzIGZyZWUnZCBhY2NvcmRpbmcgdG8gaXRz
Cj4gKyAqIGFsbG9jYXRpb24uCj4gKyAqIEBwYXJhbSBtCj4gKyAqICAgaGVhZCBvZiB1a19uZXRi
dWYgY2hhaW4gdG8gcmVsZWFzZQo+ICsgKiBAcmV0dXJucwo+ICsgKiAgIFJlZmVyZW5jZSB0byBt
Cj4gKyAqLwo+ICt2b2lkIHVrX25ldGJ1Zl9mcmVlKHN0cnVjdCB1a19uZXRidWYgKm0pOwo+ICsK
PiArLyoqCj4gKyAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNvdW50IG9mIGEgc2luZ2xlIG5l
dGJ1Zi4gSWYgcmVmY291bnQgYmVjb21lcyAwLAo+ICsgKiB0aGUgbmV0YnVmIGlzIGRpc2Nvbm5l
Y3RlZCBmcm9tIGl0cyBjaGFpbiwgaXRzIGRlc3RydWN0b3IgaXMgY2FsbGVkIGFuZAo+ICsgKiB0
aGUgbWVtb3J5IGlzIGZyZWUnZCBhY2NvcmRpbmcgdG8gaXRzIGFsbG9jYXRpb24uCj4gKyAqIEBw
YXJhbSBtCj4gKyAqICAgdWtfbmV0YnVmIHRvIHJlbGVhc2UKPiArICogQHJldHVybnMKPiArICog
ICBSZWZlcmVuY2UgdG8gbQo+ICsgKi8KPiArdm9pZCB1a19uZXRidWZfZnJlZV9zaW5nbGUoc3Ry
dWN0IHVrX25ldGJ1ZiAqbSk7Cj4gKwo+ICAgLyoKPiAgICAqIEl0ZXJhdG9yIGhlbHBlcnMgZm9y
IG5ldGJ1ZiBjaGFpbnMKPiAgICAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0YnVm
LmMgYi9saWIvdWtuZXRkZXYvbmV0YnVmLmMKPiBpbmRleCA1YmMyMzEyLi5iNjI0MzY0IDEwMDY0
NAo+IC0tLSBhL2xpYi91a25ldGRldi9uZXRidWYuYwo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRi
dWYuYwo+IEBAIC0xODksNiArMTg5LDE4IEBAIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9w
cmVwYXJlX2J1Zih2b2lkICptZW0sIHNpemVfdCBzaXplLAo+ICAgCXJldHVybiBtOwo+ICAgfQo+
ICAgCj4gK3N0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9yZWYoc3RydWN0IHVrX25ldGJ1ZiAq
bSkKPiArewo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqaXRlcjsKPiArCj4gKwlVS19BU1NFUlQobSk7
Cj4gKwo+ICsJVUtfTkVUQlVGX0NIQUlOX0ZPUkVBQ0goaXRlciwgbSkKPiArCQl1a19uZXRidWZf
cmVmX3NpbmdsZShpdGVyKTsKPiArCj4gKwlyZXR1cm4gbTsKPiArfQo+ICsKPiAgIHN0cnVjdCB1
a19uZXRidWYgKnVrX25ldGJ1Zl9kaXNjb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKm0pCj4gICB7
Cj4gICAJc3RydWN0IHVrX25ldGJ1ZiAqcmVtaGVhZCA9IE5VTEw7Cj4gQEAgLTI0MywzICsyNTUs
NDYgQEAgdm9pZCB1a19uZXRidWZfYXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCj4gICAJ
aGVhZHRhaWwtPm5leHQgPSB0YWlsOwo+ICAgCXRhaWwtPnByZXYgPSBoZWFkdGFpbDsKPiAgIH0K
PiArCj4gK3ZvaWQgdWtfbmV0YnVmX2ZyZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4g
K3sKPiArCXN0cnVjdCB1a19hbGxvYyAqYTsKPiArCj4gKwlVS19BU1NFUlQobSk7Cj4gKwo+ICsJ
LyogRGVjcmVhc2UgcmVmY291bnQgYW5kIGNhbGwgZGVzdHJ1Y3RvciBhbmQgZnJlZSB1cCBtZW1v
cnkKPiArCSAqIHdoZW4gbGFzdCByZWZlcmVuY2Ugd2FzIHJlbGVhc2VkLgo+ICsJICovCj4gKwlp
ZiAodWtfcmVmY291bnRfcmVsZWFzZSgmbS0+cmVmY291bnQpID09IDEpIHsKPiArCQkvKiBEaXNj
b25uZWN0IHRoaXMgbmV0YnVmIGZyb20gdGhlIGNoYWluLiAqLwoKQWRkaXRpb25hbCBub3RlOiBX
ZSBuZWVkIHRvIGNoZWNrIGluIHRoZSB1a19uZXRidWZfZGlzY29ubmVjdCBmb3IgCnJlZmNvdW50
IHRvIGJlIG9uZS4gV2Ugc2hvdWxkIGF2b2lkIGRpc2Nvbm5lY3RpbmcgYnVmZmVyIHdpdGggbXVs
dGktdXNlciAKcmVmZXJlbmNlLiBJbiB0aGUgZnJlZSBmdW5jdGlvbiBpdCBkb25lIGNvcnJlY3Rs
eSBidXQgdGhlIAp1a19uZXRidWZfZGlzY29ubmVjdCBpcyBleHBvc2VkIHRvIHRoZSB1c2VyIGRp
cmVjdGx5LgoKUHJvYmFibHkgaXQgd2lzZSB0byBhZGQgYSBub3RlIG9uCiogdWtfbmV0YnVmX2Rp
c2Nvbm5lY3QKKiB1a19uZXRidWZfY29ubmVjdAoqIHVrX25ldGJ1Zl9hcHBlbmQKcmVnYXJkaW5n
IHRoZSByZWZjb3VudCBhbmQgcmVmZXJlbmNlIHRvIHVrX25ldGJ1ZgoKPiArCQl1a19uZXRidWZf
ZGlzY29ubmVjdChtKTsKPiArCj4gKwkJLyogQ29weSB0aGUgcmVmZXJlbmNlIG9mIHRoZSBhbGxv
Y2F0b3IgaW4gY2FzZQo+ICsJCSAqIHRoZSBkZXN0cnVjdG9yIGlzIGZyZWUnaW5nIHVwIG91ciBt
ZW1vcnkKPiArCQkgKiAoZS5nLiwgdWtfbmV0YnVmX2luaXRfaW5kaXIoKSB1c2VkKS4KPiArCQkg
KiBJbiBzdWNoIGEgY2FzZSBgYWAgc2hvdWxkIGJlIChOVUxMKSwgaG93ZXZlcgo+ICsJCSAqIHdl
IG5lZWQgdG8gYWNjZXNzIGl0IGZvciBhICBjaGVjayBhZnRlciB3ZSBoYXZlCj4gKwkJICogY2Fs
bGVkIHRoZSBkZXN0cnVjdG9yLgo+ICsJCSAqLwo+ICsJCWEgPSBtLT5fYTsKPiArCj4gKwkJaWYg
KG0tPmR0b3IpCj4gKwkJCW0tPmR0b3IobSk7Cj4gKwkJaWYgKGEpCj4gKwkJCXVrX2ZyZWUoYSwg
bSk7Cj4gKwl9Cj4gK30KPiArCj4gK3ZvaWQgdWtfbmV0YnVmX2ZyZWUoc3RydWN0IHVrX25ldGJ1
ZiAqbSkKPiArewo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqbjsKPiArCj4gKwlVS19BU1NFUlQobSk7
Cj4gKwlVS19BU1NFUlQoIW0tPnByZXYpOwo+ICsKPiArCXdoaWxlIChtICE9IE5VTEwpIHsKCldo
aWxlIGZyZWVpbmcgdGhlIGJ1ZmZlcnMgaW4gdGhlIGNoYWluLCB0aGVyZSBtYXliZSBidWZmZXJz
IHdpdGggaGlnaGVyIApyZWZlcmVuY2UgY291bnQuIFdlIG5lZWQgdG8gYXRsZWFzdCBwdXQgZGVm
aW5lIGEgd2F5IHRvIGluZm9ybSB0aGUgdXNlciAKdGhhdCB3ZSBoYXZlIG5vdCBmcmVlZCBzb21l
IGJ1ZmZlcnMgaW4gdGhlIGNoYWluLgo+ICsJCW4gPSBtLT5uZXh0Owo+ICsJCXVrX25ldGJ1Zl9m
cmVlX3NpbmdsZShtKTsKPiArCQltID0gbjsKPiArCX0KPiArfQo+IAoKVGhhbmtzICYgUmVnYXJk
cwpTaGFyYW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 11:58:07 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 11:58:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAZbS-0002j7-B8; Thu, 11 Oct 2018 11:58:06 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAZbQ-0002j2-K8
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 11:58:04 +0000
X-Inumbo-ID: 166e1f05-cd4d-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 166e1f05-cd4d-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 11:59:21 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 7C619F2030;
 Thu, 11 Oct 2018 13:58:01 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YnU5l8b-O6BW; Thu, 11 Oct 2018 13:58:01 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 54724F2027
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 13:57:59 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 13:57:59
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-6-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <ab00502c-5764-0630-9fa3-d9f915152a7b@neclab.eu>
Date: Thu, 11 Oct 2018 13:57:58 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-6-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 05/11] lib/uknetdev: Netbuf
 headroom and tailroom helpers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgoKVGhlcmUgYXJlIG1pbm9yIHR5cG9zIGluIHRoZSBjb21tZW50cyB3aGlj
aCBjYW4gYmUgZml4ZWQgd2hpbGUgd2UgCnB1c2hpbmcgdGhlbS4gUGxlYXNlIGZpbmQgdGhlbSBp
bmxpbmUKClJldmlld2VkLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KCk9uIDEwLzEwLzIwMTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4g
SW50cm9kdWNlIGhlbHBlcnMgZm9yIGNhbGN1bGF0aW5nIGF2YWlsYWJsZSBoZWFkcm9vbSBhbmQg
dGFpbHJvb20gb24gYQo+IE5ldGJ1ZidzIGRhdGEgYnVmZmVyLiBBIGhlYWRlciBtYW5pcHVsYXRp
b24gZnVuY3Rpb24gaXMgYWRkZWQgdG8KPiBzaW1wbGlmeSBwcmVwZW5kaW5nIGJ5dGVzIHRvIHRo
ZSBwYWNrZXQgZGF0YSBvciBjbGFpbWluZyBieXRlcyBiYWNrIHRvCj4gdGhlIGhlYWRyb29tLgo+
IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1
Pgo+IC0tLQo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmggfCA4NiArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdlZCwgODYg
aW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9u
ZXRidWYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gaW5kZXggNWIwOTA3
Yy4uMGY4ZjZhMyAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYu
aAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4gQEAgLTMwOCw2ICsz
MDgsMTggQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcmVmX3Np
bmdsZShzdHJ1Y3QgdWtfbmV0YnVmICptKQo+ICAgfQo+ICAgCj4gICAvKioKPiArICogUmV0dXJu
cyB0aGUgcmVmZXJlbmNlIHRvIHByaXZhdGUgZGF0YSBvZiBhIG5ldGJ1Zgo+ICsgKiBAcGFyYW0g
bQo+ICsgKiAgIHVrX25ldGJ1ZiB0byByZXR1cm4gcHJpdmF0ZSBkYXRhIG9mCj4gKyAqLwo+ICtz
dGF0aWMgaW5saW5lIHZvaWQgKnVrX25ldGJ1Zl9nZXRfcHJpdihzdHJ1Y3QgdWtfbmV0YnVmICpt
KQo+ICt7Cj4gKwlVS19BU1NFUlQobSk7Cj4gKwo+ICsJcmV0dXJuIChtKS0+cHJpdjsKPiArfQo+
ICsKPiArLyoqCj4gICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHJlZmVyZW5jZSBjb3VudCBvZiBh
IHNpbmdsZSBuZXRidWYKPiAgICAqIEBwYXJhbSBtCj4gICAgKiAgIHVrX25ldGJ1ZiB0byByZXR1
cm4gdGhlIHJlZmVyZW5jZSBjb3VudCBvZgo+IEBAIC00MjIsNiArNDM0LDgwIEBAIHZvaWQgdWtf
bmV0YnVmX2ZyZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pOwo+ICAgCQkoX19yZXQpOwkJ
CQkJCVwKPiAgIAl9KQo+ICAgCj4gKy8qKgo+ICsgKiBDYWxjdWxhdGVzIHRoZSBjdXJyZW50IGF2
YWlsYWJsZSBoZWFkcm9vbSBieXRlcyBvZiBhIG5ldGJ1Zgo+ICsgKiBAcGFyYW0gbQo+ICsgKiAg
IHVrX25ldGJ1ZiB0byByZXR1cm4gaGVhZHJvb20gYnl0ZXMgb2YKPiArICogQHJldHVybnMKPiAr
ICogICBhdmFpbGFibGUgaGVhZHJvb20gYnl0ZXMKPiArICovCj4gK3N0YXRpYyBpbmxpbmUgc2l6
ZV90IHVrX25ldGJ1Zl9oZWFkcm9vbShzdHJ1Y3QgdWtfbmV0YnVmICptKQo+ICt7Cj4gKwlVS19B
U1NFUlQobSk7Cj4gKwlVS19BU1NFUlQobS0+YnVmKTsKPiArCVVLX0FTU0VSVChtLT5kYXRhKTsK
PiArCj4gKwlyZXR1cm4gKHNpemVfdCkgKCh1aW50cHRyX3QpIChtKS0+ZGF0YSAtICh1aW50cHRy
X3QpIChtKS0+YnVmKTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIENhbGN1bGF0ZXMgdGhlIGN1cnJl
bnQgYXZhaWxhYmxlIHRhaWxyb29tIGJ5dGVzIG9mIGEgbmV0YnVmCj4gKyAqIEBwYXJhbSBtCj4g
KyAqICAgdWtfbmV0YnVmIHRvIHJldHVybiB0YWlscm9vbSBieXRlcyBvZgo+ICsgKiBAcmV0dXJu
cwo+ICsgKiAgIGF2YWlsYWJsZSB0YWlscm9vbSBieXRlcwo+ICsgKi8KPiArc3RhdGljIGlubGlu
ZSBzaXplX3QgdWtfbmV0YnVmX3RhaWxyb29tKHN0cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiAr
CVVLX0FTU0VSVChtKTsKPiArCVVLX0FTU0VSVChtLT5idWYpOwo+ICsJVUtfQVNTRVJUKG0tPmRh
dGEpOwo+ICsKPiArCXJldHVybiAoKHNpemVfdCkgKCgodWludHB0cl90KSAobSktPmJ1ZiArICh1
aW50cHRyX3QpIChtKS0+YnVmbGVuKQo+ICsJCQkgIC0gKCh1aW50cHRyX3QpIChtKS0+ZGF0YSAr
ICh1aW50cHRyX3QpIChtKS0+bGVuKSkpOwo+ICt9Cj4gKwoKcmVwbGFjZSBtIHdpdGggaGVhZAo+
ICsvKioKPiArICogUHJlcGVuZHMgKG9yIHJldHVybnMpIGJ5dGVzIGZyb20gdGhlIGhlYWRyb29t
IChiYWNrKSB0byB0aGUgZGF0YSBhcmVhLgo+ICsgKiBJdCBiYXNpY2FsbHkgbW92ZXMgbS0+ZGF0
YS4KPiArICogQHBhcmFtIGhlYWQKPiArICogICB1a19uZXRidWYgdG8gbW9kaWZ5IChoYXMgdG8g
YmUgdGhlIGZpcnN0IG5ldGJ1ZiBvZiBhIGNoYWluKQo+ICsgKiBAcGFyYW0gbGVuCj4gKyAqICAg
SWYgPiAwIHRha2VzIGJ5dGVzIGZyb20gdGhlIGhlYWRyb29tIGFuZCBwcmVwZW5kcyB0aGVtIHRv
IGRhdGEKPiArICogICBJZiA8IDAgcmVsZWFzZXMgdGhlIC1sZW4gZmlyc3QgYnl0ZXMgZnJvbSBk
YXRhIHRvIGhlYWRyb29tCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgLSAoLUVOT1NQQyk6IE9wZXJh
dGlvbiBjb3VsZCBub3QgYmUgcGVyZm9ybSB3aXRoaW4gYnVmZmVyIGJvdW5kcwo+ICsgKiAgIC0g
KC1FRkFVTFQpOiBPcGVyYXRpb24gY291bGQgbm90IGJlIHBlcmZvcm1lZCBiZWNhdXNlIGRhdGEg
d291bGQgZ2V0ID4gNjRrQgo+ICsgKiAgIC0gKDEpOiBuZXRidWYgc3VjY2Vzc2Z1bGx5IG1vZGlm
aWVkCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIGludCB1a19uZXRidWZfaGVhZGVyKHN0cnVjdCB1
a19uZXRidWYgKmhlYWQsIGludDE2X3QgbGVuKQo+ICt7Cj4gKwlVS19BU1NFUlQoaGVhZCk7Cj4g
KwlVS19BU1NFUlQoaGVhZC0+YnVmKTsKPiArCVVLX0FTU0VSVChoZWFkLT5kYXRhKTsKPiArCgpy
ZXBsYWNlIG0gd2l0aCBoZWFkCj4gKwkvKiBtIGhhcyB0byBiZSB0aGUgZmlyc3QgZWxlbWVudCBv
ZiBhIG5ldGJ1ZiBjaGFpbi4gKi8KPiArCVVLX0FTU0VSVChoZWFkLT5wcmV2ID09IE5VTEwpOwo+
ICsKPiArCS8qIElmIGxlbiA+IDAsIHdlIHRha2UgYnl0ZXMgZnJvbSB0aGUgaGVhZHJvb20gYW5k
IGFkZAo+ICsJICogdGhlbSB0byBkYXRhLiBXZSBhcmUgbGltaXRlZCB0byB0aGUgYXZhaWxhYmxl
IGhlYWRyb29tIHNpemUuCj4gKwkgKiBJZiBsZW4gPCAwLCB3ZSByZXR1cm4gYnl0ZXMgYmFjayB0
byB0aGUgaGVhZHJvb20uCj4gKwkgKiBXZSBhcmUgbGltaXRlZCB0byB0aGUgYXZhaWxhYmxlIGRh
dGEgbGVuZ3RoLgo+ICsJICovCj4gKwlpZiAodW5saWtlbHkoKGxlbiA+IChzc2l6ZV90KSB1a19u
ZXRidWZfaGVhZHJvb20oaGVhZCkpCj4gKwkJICAgICB8fCAoLWxlbiA+IGhlYWQtPmxlbikpKQo+
ICsJCXJldHVybiAtRU5PU1BDOwo+ICsKPiArCS8qIFdlIHNob3VsZCBuZXZlciBtYWtlIHRoZSBw
YWNrZXQgYmlnZ2VyIHRoYW4gNjRrQiAqLwo+ICsJaWYgKHVubGlrZWx5KChpbnQzMl90KSBsZW4g
KyAoaW50MzJfdCkgaGVhZC0+bGVuCj4gKwkJICAgICA+IChpbnQzMl90KSBVSU5UMTZfTUFYKSkK
PiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwloZWFkLT5kYXRhICAgLT0gbGVuOwo+ICsJaGVh
ZC0+bGVuICAgICs9IGxlbjsKPiArCXJldHVybiAxOwo+ICt9Cj4gKwo+ICAgI2lmZGVmIF9fY3Bs
dXNwbHVzCj4gICB9Cj4gICAjZW5kaWYKPiAKClRoYW5rcyAmIFJlZ2FyZHMKU2hhcmFuCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 12:32:59 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 12:32:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAa9B-0006PY-VV; Thu, 11 Oct 2018 12:32:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAa9A-0006PT-RO
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 12:32:56 +0000
X-Inumbo-ID: f52938a2-cd51-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f52938a2-cd51-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 12:34:13 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 1F079104A03;
 Thu, 11 Oct 2018 14:32:53 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vySobG0zWx4a; Thu, 11 Oct 2018 14:32:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id EE284103B9A;
 Thu, 11 Oct 2018 14:32:48 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 14:32:48
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-7-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <bd4e7a70-7900-535d-c52e-92ffae7be343@neclab.eu>
Date: Thu, 11 Oct 2018 14:32:48 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-7-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 06/11] lib/uknetdev: Netdev
 registration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgoKT24gMTAvMTAv
MjAxOCAwMjowMCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBGcm9tOiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBJbnRyb2R1Y2UgaW5pdGlhbCBu
ZXRkZXYgQVBJIHN1cHBvcnRpbmcgZGV2aWNlIHJlZ2lzdHJhdGlvbi4gV2UKPiBpbnRyb2R1Y2Ug
dGhyZWUgaGVhZGVyIGZpbGVzIGFyZSBpbnRyb2R1Y2VkIGZvciBkZXNjcmliaW5nIFVuaWtyYWZ0
J3MKPiBuZXRkZXYgQVBJOgo+ICAgIHVrL25ldGRldl9jb3JlLmggLSBDb3JlIGRhdGEgdHlwZSBk
ZWZpbml0aW9ucwo+ICAgIHVrL25ldGRldl9kcml2ZXIuaCAtIEFQSSBmb3IgZHJpdmVycwo+ICAg
IHVrL25ldGRldi5oIC0gQVBJIGZvciBuZXR3b3JrIGFwcGxpY2F0aW9ucyBhbmQgc3RhY2tzCj4g
Cj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+
Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFp
bC5jb20+Cj4gLS0tCj4gICBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAg
fCAgIDEgKwo+ICAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgIHwgICA2
ICsrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgICAgfCAxMTcgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9u
ZXRkZXZfY29yZS5oICAgfCAxMDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmggfCAgNzQgKysrKysrKysrKysrKysr
KysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAgICAgICAgICAgIHwgMTI0ICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICA2IGZpbGVzIGNoYW5nZWQsIDQyNyBp
bnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0ZGV2LmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRkZXZfY29yZS5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1
ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2
L25ldGRldi5jCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9NYWtlZmlsZS51ayBiL2xp
Yi91a25ldGRldi9NYWtlZmlsZS51awo+IGluZGV4IDgxYWZhZTQuLmNhMDhiMjUgMTAwNjQ0Cj4g
LS0tIGEvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gKysrIGIvbGliL3VrbmV0ZGV2L01ha2Vm
aWxlLnVrCj4gQEAgLTQsMyArNCw0IEBAIENJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVikJ
CSs9IC1JJChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCj4gICBDWFhJTkNMVURFUy0kKENPTkZJ
R19MSUJVS05FVERFVikJKz0gLUkkKExJQlVLTkVUREVWX0JBU0UpL2luY2x1ZGUKPiAgIAo+ICAg
TElCVUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFTRSkvbmV0YnVmLmMKPiArTElC
VUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFTRSkvbmV0ZGV2LmMKPiBkaWZmIC0t
Z2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3lt
cy51awo+IGluZGV4IDU5MWQ0NmMuLjY2MzQwYzUgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2
L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC04
LDMgKzgsOSBAQCB1a19uZXRidWZfZnJlZQo+ICAgdWtfbmV0YnVmX2Rpc2Nvbm5lY3QKPiAgIHVr
X25ldGJ1Zl9jb25uZWN0Cj4gICB1a19uZXRidWZfYXBwZW5kCj4gK3VrX25ldGRldl9kcnZfcmVn
aXN0ZXIKPiArdWtfbmV0ZGV2X2NvdW50Cj4gK3VrX25ldGRldl9nZXQKPiArdWtfbmV0ZGV2X2lk
X2dldAo+ICt1a19uZXRkZXZfZHJ2X25hbWVfZ2V0Cj4gK3VrX25ldGRldl9zdGF0ZV9nZXQKPiBk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIvdWtuZXRk
ZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAw
MDAwMC4uMWZkNDVjOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXYuaAo+IEBAIC0wLDAgKzEsMTE3IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVu
dGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0aG9yczogU2ltb24gS3Vlbnpl
ciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Cj4gKyAqICAgICAgICAgIFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMp
IDIwMTAtMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5F
QyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsg
Kgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4g
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9m
IHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAq
IFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVku
Cj4gKyAqLwoKV2UgcHJvYmFibHkgbmVlZCB0byBhZGQgdGhlIGNvbW1pdC1pZCBmb3IgcmVmZXJl
bmNlCj4gKy8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gRFBESyBydGVfZXRoZGV2LmggKi8KPiAr
I2lmbmRlZiBfX1VLX05FVERFVl9fCj4gKyNkZWZpbmUgX19VS19ORVRERVZfXwo+ICsKPiArI2lu
Y2x1ZGUgPHVrL25ldGRldl9jb3JlLmg+Cj4gKyNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KPiArI2lu
Y2x1ZGUgPHVrL2VycnB0ci5oPgo+ICsKPiArLyoqCj4gKyAqIFVuaWtyYWZ0IE5ldHdvcmsgQVBJ
Cj4gKyAqCj4gKyAqIFRoZSBVbmlrcmFmdCBuZXRkZXYgQVBJIHByb3ZpZGVzIGEgZ2VuZXJhbGl6
ZWQgaW50ZXJmYWNlIGJldHdlZW4gbmV0d29yawo+ICsgKiBkZXZpY2UgZHJpdmVycyBhbmQgbmV0
d29yayBzdGFjayBpbXBsZW1lbnRhdGlvbnMgb3IgbG93LWxldmVsIG5ldHdvcmsKPiArICogYXBw
bGljYXRpb25zLgo+ICsgKgo+ICsgKiBNb3N0IEFQSSBpbnRlcmZhY2VzIHRha2UgYXMgcGFyYW1l
dGVyIGEgcmVmZXJlbmNlIHRvIHRoZSBjb3JyZXNwb25kaW5nCj4gKyAqIFVuaWtyYWZ0IE5ldHdv
cmsgRGV2aWNlIChzdHJ1Y3QgdWtfbmV0ZGV2KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IG9idGFp
bmVkCj4gKyAqIGJ5IGl0cyBJRCBieSBjYWxsaW5nIHVrX25ldGRldl9nZXQoKS4gVGhlIG5ldHdv
cmsgYXBwbGljYXRpb24gc2hvdWxkIHN0b3JlCj4gKyAqIHRoaXMgcmVmZXJlbmNlIGFuZCB1c2Ug
aXQgZm9yIHN1YnNlcXVlbnQgQVBJIGNhbGxzLgo+ICsgKi8KPiArI2lmZGVmIF9fY3BsdXNwbHVz
Cj4gK2V4dGVybiAiQyIgewo+ICsjZW5kaWYKPiArCj4gKy8qKgo+ICsgKiBHZXQgdGhlIG51bWJl
ciBvZiByZWdpc3RlcmVkIG5ldHdvcmsgZGV2aWNlcy4KPiArICoKPiArICogQHJldHVybgo+ICsg
KiAgIC0gKHVuc2lnbmVkIGludCk6IG51bWJlciBvZiBuZXR3b3JrIGRldmljZXMuCj4gKyAqLwo+
ICt1bnNpZ25lZCBpbnQgdWtfbmV0ZGV2X2NvdW50KHZvaWQpOwo+ICsKPiArLyoqCj4gKyAqIEdl
dCB0aGUgcmVmZXJlbmNlIHRvIGEgbmV0d29yayBkZXZpY2UgYmFzZWQgb24gaXRzIElELgo+ICsg
KiBWYWxpZCBJRHMgYXJlIGluIHRoZSByYW5nZSBvZiAwIHRvIChuLTEpIHdoZXJlIG4gaXMKPiAr
ICogdGhlIG51bWJlciBvZiBhdmFpbGFibGUgbmV0d29yayBkZXZpY2VzLgo+ICsgKgo+ICsgKiBA
cGFyYW0gaWQKPiArICogICBUaGUgaWRlbnRpZmllciBvZiB0aGUgbmV0d29yayBkZXZpY2UgdG8g
Y29uZmlndXJlLgo+ICsgKiBAcmV0dXJuCj4gKyAqICAgLSAoTlVMTCk6IGRldmljZSBub3QgYXZh
aWxhYmxlCj4gKyAqICAgLSAoc3RydWN0IHVrX25ldGRldiAqKTogcmVmZXJlbmNlIHRvIG5ldHdv
cmsgZGV2aWNlCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2ICp1a19uZXRkZXZfZ2V0KHVuc2ln
bmVkIGludCBpZCk7Cj4gKwo+ICsvKioKPiArICogUmV0dXJucyB0aGUgaWQgb2YgYSBuZXR3b3Jr
IGRldmljZQo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdv
cmsgRGV2aWNlLgo+ICsgKiBAcmV0dXJuCj4gKyAqICAgLSAoPj0wKTogRGV2aWNlIElECj4gKyAq
Lwo+ICt1aW50MTZfdCB1a19uZXRkZXZfaWRfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4g
Kwo+ICsvKioKPiArICogUmV0dXJucyB0aGUgZHJpdmVyIG5hbWUgb2YgYSBuZXR3b3JrIGRldmlj
ZS4KPiArICogVGhlIG5hbWUgbWlnaHQgYmUgc2V0IHRvIE5VTEwKPiArICoKPiArICogQHBhcmFt
IGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHJldHVybgo+
ICsgKiAgIC0gKE5VTEwpOiBpZiBubyBuYW1lIGlzIGRlZmluZWQuCj4gKyAqICAgLSAoY29uc3Qg
Y2hhciAqKTogUmVmZXJlbmNlIHRvIHN0cmluZyBpZiBuYW1lIGlzIGF2YWlsYWJsZS4KPiArICov
Cj4gK2NvbnN0IGNoYXIgKnVrX25ldGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2KTsKPiArCj4gKy8qKgo+ICsgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgbmV0
d29yayBkZXZpY2UuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQg
TmV0d29yayBEZXZpY2UuCj4gKyAqIEByZXR1cm4KPiArICogICAtIChlbnVtIHVrX25ldGRldl9z
dGF0ZSk6IGN1cnJlbnQgZGV2aWNlIHN0YXRlCj4gKyAqLwo+ICtlbnVtIHVrX25ldGRldl9zdGF0
ZSB1a19uZXRkZXZfc3RhdGVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+ICsjaWZk
ZWYgX19jcGx1c3BsdXMKPiArfQo+ICsjZW5kaWYKPiArCj4gKyNlbmRpZiAvKiBfX1VLX05FVERF
Vl9fICovCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3Jl
LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5lZWM0NDFlCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiBAQCAtMCwwICsxLDEwNSBA
QAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4g
KyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+ICsg
KiAgICAgICAgICBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4K
PiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE3IEludGVsIENvcnBvcmF0aW9uCj4gKyAqIENv
cHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiAr
ICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMu
IE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
PiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Cj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1Ig
TU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCgpXZSBwcm9iYWJseSBuZWVkIHRvIGFkZCB0aGUg
Y29tbWl0LWlkIGZvciByZWZlcmVuY2UKPiArLyogVGFrZW4gYW5kIGFkYXB0ZWQgZnJvbSBEUERL
IHJ0ZV9ldGhkZXZfY29yZS5oICovCj4gKyNpZm5kZWYgX19VS19ORVRERVZfQ09SRV9fCj4gKyNk
ZWZpbmUgX19VS19ORVRERVZfQ09SRV9fCj4gKwo+ICsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+Cj4g
KyNpbmNsdWRlIDxzdGRpbnQuaD4KPiArI2luY2x1ZGUgPGVycm5vLmg+Cj4gKyNpbmNsdWRlIDx1
ay9jb25maWcuaD4KPiArI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgo+ICsjaW5jbHVkZSA8dWsvbGlz
dC5oPgo+ICsjaW5jbHVkZSA8dWsvYWxsb2MuaD4KPiArI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMu
aD4KPiArCj4gKy8qKgo+ICsgKiBVbmlrcmFmdCBuZXR3b3JrIEFQSSBjb21tb24gZGVjbGFyYXRp
b25zLgo+ICsgKgo+ICsgKiBUaGlzIGhlYWRlciBjb250YWlucyBhbGwgQVBJIGRhdGEgdHlwZXMu
IFNvbWUgb2YgdGhlbSBhcmUgcGFydCBvZiB0aGUKPiArICogcHVibGljIEFQSSBhbmQgc29tZSBh
cmUgcGFydCBvZiB0aGUgaW50ZXJuYWwgQVBJLgo+ICsgKgo+ICsgKiBUaGUgZGV2aWNlIGRhdGEg
YW5kIG9wZXJhdGlvbnMgYXJlIHNlcGFyYXRlZC4gVGhpcyBzcGxpdCBhbGxvd3MgdGhlCj4gKyAq
IGZ1bmN0aW9uIHBvaW50ZXIgYW5kIGRyaXZlciBkYXRhIHRvIGJlIHBlci1wcm9jZXNzLCB3aGls
ZSB0aGUgYWN0dWFsCj4gKyAqIGNvbmZpZ3VyYXRpb24gZGF0YSBmb3IgdGhlIGRldmljZSBpcyBz
aGFyZWQuCj4gKyAqLwo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+
ICsjZW5kaWYKPiArCj4gK3N0cnVjdCB1a19uZXRkZXY7Cj4gK1VLX1RBSUxRX0hFQUQodWtfbmV0
ZGV2X2xpc3QsIHN0cnVjdCB1a19uZXRkZXYpOwo+ICsKPiArCj4gKy8qKgo+ICsgKiBFbnVtIHRv
IGRlc2NyaWJlIHBvc3NpYmxlIHN0YXRlcyBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4K
PiArICovCj4gK2VudW0gdWtfbmV0ZGV2X3N0YXRlIHsKPiArCVVLX05FVERFVl9VTlJFR0lTVEVS
RUQgPSAwLAo+ICsJVUtfTkVUREVWX1VOQ09ORklHVVJFRCwKPiArCVVLX05FVERFVl9DT05GSUdV
UkVELAo+ICsJVUtfTkVUREVWX1JVTk5JTkcsCj4gK307Cj4gKwo+ICsKPiArLyoqCj4gKyAqIEBp
bnRlcm5hbAo+ICsgKiBsaWJ1a25ldGRldiBpbnRlcm5hbCBkYXRhIGFzc29jaWF0ZWQgd2l0aCBl
YWNoIG5ldHdvcmsgZGV2aWNlLgo+ICsgKi8KPiArc3RydWN0IHVrX25ldGRldl9kYXRhIHsKPiAr
CWVudW0gdWtfbmV0ZGV2X3N0YXRlIHN0YXRlOwo+ICsKPiArCWNvbnN0IHVpbnQxNl90ICAgICAg
IGlkOyAgICAvKio8IElEIGlzIGFzc2lnbmVkIGR1cmluZyByZWdpc3RyYXRpb24gKi8KPiArCWNv
bnN0IGNoYXIgICAgICAgICAgICpkcnZfbmFtZTsKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBORVRE
RVYKPiArICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZp
Y2UuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2IHsKPiArCS8qKiBQb2ludGVyIHRvIEFQSS1p
bnRlcm5hbCBzdGF0ZSBkYXRhLiAqLwo+ICsJc3RydWN0IHVrX25ldGRldl9kYXRhICAgICAgICpf
ZGF0YTsKPiArCj4gKwlVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdWtfbmV0ZGV2KSBfbGlzdDsKPiAr
fTsKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICt9Cj4gKyNlbmRpZgo+ICsKPiArI2VuZGlm
IC8qIF9fVUtfTkVUREVWX0NPUkVfXyAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfZHJpdmVyLmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZf
ZHJpdmVyLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmFjOGNlNjEK
PiAtLS0gL2Rldi9udWxsCj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2Ry
aXZlci5oCj4gQEAgLTAsMCArMSw3NCBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
QlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNpbW9u
Lmt1ZW56ZXJAbmVjbGFiLmV1Pgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBF
dXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKgo+
ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4gKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRo
ZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUK
PiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
PiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAqIFRI
SVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4g
KyAqLwo+ICsjaWZuZGVmIF9fVUtfTkVUREVWX0RSSVZFUl9fCj4gKyNkZWZpbmUgX19VS19ORVRE
RVZfRFJJVkVSX18KPiArCj4gKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgo+ICsjaW5jbHVk
ZSA8dWsvYXNzZXJ0Lmg+Cj4gKwo+ICsvKioKPiArICogVW5pa3JhZnQgbmV0d29yayBkcml2ZXIg
QVBJLgo+ICsgKgo+ICsgKiBUaGlzIGhlYWRlciBjb250YWlucyBhbGwgQVBJIGZ1bmN0aW9ucyB0
aGF0IGFyZSBzdXBwb3NlZCB0byBiZSBjYWxsZWQKPiArICogYnkgYSBuZXR3b3JrIGRldmljZSBk
cml2ZXIuCj4gKyAqLwo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+
ICsjZW5kaWYKPiArCj4gKy8qKgo+ICsgKiBBZGRzIGEgVW5pa3JhZnQgbmV0d29yayBkZXZpY2Ug
dG8gdGhlIGRldmljZSBsaXN0Lgo+ICsgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIg
YSBkcml2ZXIgYWRkcyBhIG5ldyBmb3VuZCBkZXZpY2UuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYK
PiArICogICBTdHJ1Y3QgdG8gdW5pa3JhZnQgbmV0d29yayBkZXZpY2UgdGhhdCBzaGFsbCBiZSBy
ZWdpc3RlcmVkCj4gKyAqIEBwYXJhbSBhCj4gKyAqICAgQWxsb2NhdG9yIHRvIGJlIHVzZSBmb3Ig
bGlidWtuZXRkZXYgcHJpdmF0ZSBkYXRhIChkZXYtPl9kYXRhKQo+ICsgKiBAcGFyYW0gZHJ2X25h
bWUKPiArICogICAoT3B0aW9uYWwpIGRyaXZlciBuYW1lCj4gKyAqICAgVGhlIG1lbW9yeSBmb3Ig
dGhpcyBzdHJpbmcgaGFzIHRvIHN0YXkgYXZhaWxhYmxlIGFzIGxvbmcgYXMgdGhlCj4gKyAqICAg
ZGV2aWNlIGlzIHJlZ2lzdGVyZWQuCj4gKyAqIEByZXR1cm4KPiArICogICAtICgtRU5PTUVNKTog
QWxsb2NhdGlvbiBvZiBwcml2YXRlCgpTaG91bGQgaXQgbm90IGJlID49MAo+ICsgKiAgIC0gKD4w
KTogTmV0d29yayBkZXZpY2UgSUQgb24gc3VjY2Vzcwo+ICsgKi8KPiAraW50IHVrX25ldGRldl9k
cnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4g
KwkJCSAgIGNvbnN0IGNoYXIgKmRydl9uYW1lKTsKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+
ICt9Cj4gKyNlbmRpZgo+ICsKPiArI2VuZGlmIC8qIF9fVUtfTkVUREVWX0RSSVZFUl9fICovCj4g
ZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRkZXYuYyBiL2xpYi91a25ldGRldi9uZXRkZXYu
Ywo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uYWI4YWE0ZAo+IC0tLSAv
ZGV2L251bGwKPiArKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBAQCAtMCwwICsxLDEyNCBA
QAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4g
KyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+ICsg
KiAgICAgICAgICBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4K
PiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVD
IENvcnBvcmF0aW9uLgo+ICsgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmln
aHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAq
ICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Cj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArICogTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUK
PiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVS
IE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsj
aW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDxzdGRpby5oPgo+ICsjaW5jbHVkZSA8dWsv
bmV0ZGV2Lmg+Cj4gKyNpbmNsdWRlIDx1ay9wcmludC5oPgo+ICsKPiArc3RydWN0IHVrX25ldGRl
dl9saXN0IHVrX25ldGRldl9saXN0ID0KPiArCVVLX1RBSUxRX0hFQURfSU5JVElBTElaRVIodWtf
bmV0ZGV2X2xpc3QpOwo+ICtzdGF0aWMgdWludDE2X3QgbmV0ZGV2X2NvdW50Owo+ICsKPiArc3Rh
dGljIHN0cnVjdCB1a19uZXRkZXZfZGF0YSAqX2FsbG9jX2RhdGEoc3RydWN0IHVrX2FsbG9jICph
LAo+ICsJCQkJCSAgdWludDE2X3QgbmV0ZGV2X2lkLAo+ICsJCQkJCSAgY29uc3QgY2hhciAqZHJ2
X25hbWUpCj4gK3sKPiArCXN0cnVjdCB1a19uZXRkZXZfZGF0YSAqZGF0YTsKPiArCj4gKwlkYXRh
ID0gdWtfbWFsbG9jKGEsIHNpemVvZigqZGF0YSkpOwo+ICsJaWYgKCFkYXRhKQo+ICsJCXJldHVy
biBOVUxMOwo+ICsKPiArCWRhdGEtPmRydl9uYW1lID0gZHJ2X25hbWU7Cj4gKwlkYXRhLT5zdGF0
ZSAgICA9IFVLX05FVERFVl9VTkNPTkZJR1VSRUQ7Cj4gKwo+ICsJLyogVGhpcyBpcyB0aGUgb25s
eSBwbGFjZSB3aGVyZSB3ZSBzZXQgdGhlIGRldmljZSBJRDsKPiArCSAqIGR1cmluZyB0aGUgcmVz
dCBvZiB0aGUgZGV2aWNlJ3MgbGlmZSB0aW1lIHRoaXMgSUQgaXMgcmVhZC1vbmx5Cj4gKwkgKi8K
PiArCSooREVDT05TVCh1aW50MTZfdCAqLCAmZGF0YS0+aWQpKSA9IG5ldGRldl9pZDsKPiArCj4g
KwlyZXR1cm4gZGF0YTsKPiArfQo+ICsKPiAraW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gKwkJCSAgIGNvbnN0IGNo
YXIgKmRydl9uYW1lKQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVCghZGV2
LT5fZGF0YSk7Cj4gKwo+ICsJZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3Vu
dCwgIGRydl9uYW1lKTsKPiArCWlmICghZGV2LT5fZGF0YSkKPiArCQlyZXR1cm4gLUVOT01FTTsK
PiArCj4gKwlVS19UQUlMUV9JTlNFUlRfVEFJTCgmdWtfbmV0ZGV2X2xpc3QsIGRldiwgX2xpc3Qp
Owo+ICsJdWtfcHJfaW5mbygiUmVnaXN0ZXJlZCBuZXRkZXYlIlBSSXUxNiI6ICVwICglcylcbiIs
Cj4gKwkJICAgbmV0ZGV2X2NvdW50LCBkZXYsIGRydl9uYW1lKTsKPiArCj4gKwlyZXR1cm4gbmV0
ZGV2X2NvdW50Kys7Cj4gK30KPiArCj4gK3Vuc2lnbmVkIGludCB1a19uZXRkZXZfY291bnQodm9p
ZCkKPiArewo+ICsJcmV0dXJuICh1bnNpZ25lZCBpbnQpIG5ldGRldl9jb3VudDsKPiArfQo+ICsK
PiArc3RydWN0IHVrX25ldGRldiAqdWtfbmV0ZGV2X2dldCh1bnNpZ25lZCBpbnQgaWQpCj4gK3sK
PiArCXN0cnVjdCB1a19uZXRkZXYgKmRldjsKPiArCj4gKwlVS19UQUlMUV9GT1JFQUNIKGRldiwg
JnVrX25ldGRldl9saXN0LCBfbGlzdCkgewo+ICsJCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiAr
Cj4gKwkJaWYgKGRldi0+X2RhdGEtPmlkID09IGlkKQo+ICsJCQlyZXR1cm4gZGV2Owo+ICsJfQo+
ICsJcmV0dXJuIE5VTEw7Cj4gK30KPiArCj4gK3VpbnQxNl90IHVrX25ldGRldl9pZF9nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2KQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VS
VChkZXYtPl9kYXRhKTsKPiArCj4gKwlyZXR1cm4gZGV2LT5fZGF0YS0+aWQ7Cj4gK30KPiArCj4g
K2NvbnN0IGNoYXIgKnVrX25ldGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2
KQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiAr
Cj4gKwlyZXR1cm4gZGV2LT5fZGF0YS0+ZHJ2X25hbWU7Cj4gK30KPiArCj4gK2VudW0gdWtfbmV0
ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+ICt7
Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCgpUaGlzIGNvbmRpdGlvbiBiZWxvdyBzZWVtcyBpbmNv
bnNpc3RlbnQgd2l0aCB0aGUgZ2V0IHdoZXJlIHdlClVLX0FTU0VSVChkZXYtPl9kYXRhKTsKCkkg
YW0gbm90IHN1cmUgaWYgd2Ugd291bGQgaGF2ZSBhIGNhc2Ugd2hlcmUgdGhlIG5ldGRldiByZWZl
cmVuY2UgZXhpc3QgCndpdGhvdXQgYSB2YWxpZCBfZGF0YS4KPiArCWlmICghZGV2LT5fZGF0YSkK
PiArCQlyZXR1cm4gVUtfTkVUREVWX1VOUkVHSVNURVJFRDsKPiArCXJldHVybiBkZXYtPl9kYXRh
LT5zdGF0ZTsKPiArfQo+IApUaGFua3MgJiBSZWdhcmRzClNoYXJhbgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 13:05:46 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 13:05:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAaeu-0000ju-Mb; Thu, 11 Oct 2018 13:05:44 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAaet-0000jp-Tf
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 13:05:43 +0000
X-Inumbo-ID: 8a04c5ab-cd56-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8a04c5ab-cd56-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 13:07:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D44B1104A03;
 Thu, 11 Oct 2018 15:05:40 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id sFW1nRBotku1; Thu, 11 Oct 2018 15:05:40 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B5D41103B9A
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 15:05:38 +0200 (CEST)
Received: from vortex.office.hd (10.1.2.30) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 15:05:38 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 15:05:27 +0200
Message-ID: <20181011130527.29794-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.1.2.30]
Subject: [Minios-devel] [UNIKRAFT PATCH] plat/common: remove unused #defines
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1
PgotLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUvc3dfY3R4LmggfCA1IC0tLS0tCiAxIGZpbGUgY2hh
bmdlZCwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3N3
X2N0eC5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS9zd19jdHguaAppbmRleCBmYWU5NmJlLi4zNDEx
NmIxIDEwMDY0NAotLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3N3X2N0eC5oCisrKyBiL3BsYXQv
Y29tbW9uL2luY2x1ZGUvc3dfY3R4LmgKQEAgLTQ4LDkgKzQ4LDQgQEAgdm9pZCBzd19jdHhfY2Fs
bGJhY2tzX2luaXQoc3RydWN0IHVrcGxhdF9jdHhfY2FsbGJhY2tzICpjdHhfY2JzKTsKICNkZWZp
bmUgT0ZGU0VUT0ZfU1dfQ1RYX1NQICAgICAgMAogI2RlZmluZSBPRkZTRVRPRl9TV19DVFhfSVAg
ICAgICA4CiAKLSNkZWZpbmUgU0laRU9GX1NXX0NUWCAgICAgICAgICAgOAotCi0vKiBUT0RPIFRo
aXMgc2hvdWxkIGJlIGJldHRlciBkZWZpbmVkIGluIHRoZSB0aHJlYWQgaGVhZGVyICovCi0jZGVm
aW5lIE9GRlNFVE9GX1VLVEhSRUFEX1NXX0NUWCAgMTYKLQogI2VuZGlmIC8qIF9fUExBVF9DTU5f
U1dfQ1RYX0hfXyAqLwotLSAKMi4xOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 13:11:12 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 13:11:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAakB-0001Xg-6A; Thu, 11 Oct 2018 13:11:11 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAakA-0001Xb-Cy
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 13:11:10 +0000
X-Inumbo-ID: 4cf4e342-cd57-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4cf4e342-cd57-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 13:12:27 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id C5472F2030;
 Thu, 11 Oct 2018 15:11:07 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id GwUWVIgz2Omo; Thu, 11 Oct 2018 15:11:07 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9C433F2027
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 15:11:05 +0200 (CEST)
Received: from vortex.office.hd (10.1.2.30) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 15:11:05 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 15:10:56 +0200
Message-ID: <20181011131056.30855-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.1.2.30]
Subject: [Minios-devel] [UNIKRAFT PATCH] plat/kvm: Make mxcsr_ptr in
 entry64.S a 32-bit value
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TERNWENTUiByZWFkcyAzMiBiaXRzIGludG8gdGhlIHJlZ2lzdGVyLiBJZiBteGNzcl9wdHIgaXMg
b25seSBhIC53b3JkCihhbmQgdGh1cyAxNiBiaXRzKSwgdGhlIGluc3RydWN0aW9uIHJlYWRzIGFk
amFjZW50IGJ5dGVzIGludG8gdGhlIE1YQ1NSCnJlZ2lzdGVyLCB3aGljaCBjYW4gdG8gcHJvZHVj
ZSAjR1AgZmF1bHRzIG9uIExETVhDU1Igd2hlbiB0aG9zZSBhZGphY2VudApieXRlcyBjb250YWlu
IDEncyBpbiBiaXQgbG9jYXRpb25zIHRoYXQgYXJlIHJlc2VydmVkIGluIE1YQ1NSLgoKU2lnbmVk
LW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1PgotLS0K
IHBsYXQva3ZtL3g4Ni9lbnRyeTY0LlMgfCAzICstLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0
aW9uKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni9lbnRyeTY0
LlMgYi9wbGF0L2t2bS94ODYvZW50cnk2NC5TCmluZGV4IDM1NzM4YjYuLmRjMzYxNGEgMTAwNjQ0
Ci0tLSBhL3BsYXQva3ZtL3g4Ni9lbnRyeTY0LlMKKysrIGIvcGxhdC9rdm0veDg2L2VudHJ5NjQu
UwpAQCAtMTYwLDggKzE2MCw3IEBAIGdkdDY0X3B0cjoKIAogLnR5cGUgbXhjc3JfcHRyLCBAb2Jq
ZWN0CiBteGNzcl9wdHI6Ci0JLndvcmQgMHgxZjgwCQkJLyogSW50ZWwgU0RNIHBvd2VyLW9uIGRl
ZmF1bHQgKi8KLQorCS5sb25nIDB4MWY4MAkJCS8qIEludGVsIFNETSBwb3dlci1vbiBkZWZhdWx0
ICovCiAKIAogI2luY2x1ZGUgInBhZ2V0YWJsZS5TIgotLSAKMi4xOS4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 13:16:34 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 13:16:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAapM-0001fP-OJ; Thu, 11 Oct 2018 13:16:32 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ac+q=mx=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1gAapL-0001fK-Sw
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 13:16:31 +0000
X-Inumbo-ID: 80d3ba9c-cd57-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 80d3ba9c-cd57-11e8-a8a5-bc764e045a96;
 Thu, 11 Oct 2018 15:13:54 +0200 (CEST)
Received: by mail-wm1-x342.google.com with SMTP id 189-v6so8965326wmw.2
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 06:16:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=sSuiLut8/FWyOBqnWlwm6Hjrwb6UIqZDl8+9cXI7tVg=;
 b=XVmgK5NIjQ/sI1QF1xNTZMqeBsnEfVJtwhMDeExjYoPMc25DiP+9x3rY0wqNp+HY2A
 jeKaqwgq6Ym6zJzCgTMycjakn8Sg9uYZLb3CHvylPtITs/7aHdUWXPOPIkn6VOgyFfy8
 jK+B0zBI1qkUf2A4sEyd4A3khpyy8DAO6O6RiPRSgjtRPyU8fY42MQvChJNLNS2ac5ox
 r9bUYH/eiqp6v5IPjyenG/1Ed+WBN0/2nM3MDvQG0Bqjcw8pf90Ga/16gXX2xz5MAb0P
 sG93shsKxN3F5WWiASLkdB+/LRdVJiguVaS81rAcVB7B+jUm9l3AuWe9wbcSWKpkBUZ6
 9EOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=sSuiLut8/FWyOBqnWlwm6Hjrwb6UIqZDl8+9cXI7tVg=;
 b=kaoWaEsGmVauaM4JpuQGnC2Yqo5S3yGM6Tfkyhpbjyzn+FvGXtnAW0vcy0PbpFKOFP
 ROQ9rdy0/Kve951k2dctTSjhuNYwLOBpoTL4gfFTbuOulUiBLv0C84bwL9SZUCHFlHZ4
 /t7F2HltDzdf2KRYy+4LGRrxS/4OI1oae2QztWJ2z4slYVe9OgBzsmA/46vaQ9HF4zw7
 9pefXB2KoZ/bqho8Oi4Eue5/PIGeS2+zZuFxsa0C/YJQVT7O3Z5bkmDUbixqRJoU1XXn
 7TnkcrypT3i5fSwRRrJIwjdxpFoTuiw1tauIlDtm0CBlqM61aP7xTRr1y4n2777MA30S
 3fpw==
X-Gm-Message-State: ABuFfogfHaAQgPybA1fZyN5sfyO1w1uNkl+AMolKGQ76qkFuPIpOjIoz
 VkZgZ4QwDX/DoLi1efKN3Ls=
X-Google-Smtp-Source: ACcGV60EeyPXhQStyg6kv1jrJ75q5vlVpIuKX5VQlYY9LaC6+XkxdXdMWIOmiEYJJK1fO1adfysxDQ==
X-Received: by 2002:a1c:85c5:: with SMTP id
 h188-v6mr1653063wmd.59.1539263789444; 
 Thu, 11 Oct 2018 06:16:29 -0700 (PDT)
Received: from [172.19.2.117] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id w2-v6sm6991552wre.57.2018.10.11.06.16.28
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 11 Oct 2018 06:16:28 -0700 (PDT)
To: Florian Schmidt <florian.schmidt@neclab.eu>, minios-devel@lists.xen.org
References: <20181011130527.29794-1-florian.schmidt@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <9a718e43-a094-f7ef-5ccc-e79a1326a92c@gmail.com>
Date: Thu, 11 Oct 2018 16:16:27 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <20181011130527.29794-1-florian.schmidt@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] plat/common: remove unused
 #defines
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgRmxvcmlhbiwKCkkgd291bGQgZGVsYXkgdGhpcyBwYXRjaCB1bnRpbCBhZnRlciB0aGUgY2hh
bmdlcyBmb3IgdGhlIHByZWVtcHRpdmUKc2NoZWR1bGVyIHdpbGwgZ2V0IHVwc3RyZWFtZWQgd2hl
biB3ZSdsbCBrbm93IGZvciBzdXJlIGlmIHdlIG5lZWQgdGhlbQpvciBub3QuCgpDb3N0aW4KCk9u
IDEwLzExLzE4IDQ6MDUgUE0sIEZsb3JpYW4gU2NobWlkdCB3cm90ZToKPiBTaWduZWQtb2ZmLWJ5
OiBGbG9yaWFuIFNjaG1pZHQgPGZsb3JpYW4uc2NobWlkdEBuZWNsYWIuZXU+Cj4gLS0tCj4gIHBs
YXQvY29tbW9uL2luY2x1ZGUvc3dfY3R4LmggfCA1IC0tLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCA1
IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3N3X2N0
eC5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS9zd19jdHguaAo+IGluZGV4IGZhZTk2YmUuLjM0MTE2
YjEgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS9zd19jdHguaAo+ICsrKyBiL3Bs
YXQvY29tbW9uL2luY2x1ZGUvc3dfY3R4LmgKPiBAQCAtNDgsOSArNDgsNCBAQCB2b2lkIHN3X2N0
eF9jYWxsYmFja3NfaW5pdChzdHJ1Y3QgdWtwbGF0X2N0eF9jYWxsYmFja3MgKmN0eF9jYnMpOwo+
ICAjZGVmaW5lIE9GRlNFVE9GX1NXX0NUWF9TUCAgICAgIDAKPiAgI2RlZmluZSBPRkZTRVRPRl9T
V19DVFhfSVAgICAgICA4Cj4gIAo+IC0jZGVmaW5lIFNJWkVPRl9TV19DVFggICAgICAgICAgIDgK
PiAtCj4gLS8qIFRPRE8gVGhpcyBzaG91bGQgYmUgYmV0dGVyIGRlZmluZWQgaW4gdGhlIHRocmVh
ZCBoZWFkZXIgKi8KPiAtI2RlZmluZSBPRkZTRVRPRl9VS1RIUkVBRF9TV19DVFggIDE2Cj4gLQo+
ICAjZW5kaWYgLyogX19QTEFUX0NNTl9TV19DVFhfSF9fICovCj4gCgpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0
Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl
Y3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 13:21:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 13:21:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAauZ-0002c1-Rd; Thu, 11 Oct 2018 13:21:55 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAauZ-0002bw-1m
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 13:21:55 +0000
X-Inumbo-ID: 40216561-cd58-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 40216561-cd58-11e8-a8a5-bc764e045a96;
 Thu, 11 Oct 2018 15:19:16 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 585CEF2030;
 Thu, 11 Oct 2018 15:21:50 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id RJN5sO3s_JFn; Thu, 11 Oct 2018 15:21:50 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 317FAF2027;
 Thu, 11 Oct 2018 15:21:46 +0200 (CEST)
Received: from [10.1.2.30] (10.1.2.30) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 15:21:45
 +0200
To: Costin Lupu <costin.lup@gmail.com>, <minios-devel@lists.xen.org>
References: <20181011130527.29794-1-florian.schmidt@neclab.eu>
 <9a718e43-a094-f7ef-5ccc-e79a1326a92c@gmail.com>
From: Florian Schmidt <Florian.Schmidt@neclab.eu>
Message-ID: <f905e18a-4392-0de5-4ce0-455e102e12d3@neclab.eu>
Date: Thu, 11 Oct 2018 15:21:45 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <9a718e43-a094-f7ef-5ccc-e79a1326a92c@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.1.2.30]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] plat/common: remove unused
 #defines
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgQ29zdGluLAoKdGhhdCdzIGZpbmUgd2l0aCBtZS4gSXQncyBub3QgYSBodWdlIGlzc3VlIGFu
eXdheSwgSSBqdXN0IG5vdGljZWQgd2hlbiBJIAp0b3VjaGVkIHRoYXQgZmlsZSBmb3IgdGhlIGNv
bnRleHQgc3dpdGNoaW5nIHBhdGNoIHNlcmllcyBJJ20gYWJvdXQgdG8gCnNlbmQgb3V0IGxhdGVy
LgoKQ2hlZXJzLApGbG9yaWFuCgpPbiAxMC8xMS8yMDE4IDAzOjE2IFBNLCBDb3N0aW4gTHVwdSB3
cm90ZToKPiBIaSBGbG9yaWFuLAo+IAo+IEkgd291bGQgZGVsYXkgdGhpcyBwYXRjaCB1bnRpbCBh
ZnRlciB0aGUgY2hhbmdlcyBmb3IgdGhlIHByZWVtcHRpdmUKPiBzY2hlZHVsZXIgd2lsbCBnZXQg
dXBzdHJlYW1lZCB3aGVuIHdlJ2xsIGtub3cgZm9yIHN1cmUgaWYgd2UgbmVlZCB0aGVtCj4gb3Ig
bm90Lgo+IAo+IENvc3Rpbgo+IAo+IE9uIDEwLzExLzE4IDQ6MDUgUE0sIEZsb3JpYW4gU2NobWlk
dCB3cm90ZToKPj4gU2lnbmVkLW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1p
ZHRAbmVjbGFiLmV1Pgo+PiAtLS0KPj4gICBwbGF0L2NvbW1vbi9pbmNsdWRlL3N3X2N0eC5oIHwg
NSAtLS0tLQo+PiAgIDEgZmlsZSBjaGFuZ2VkLCA1IGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0t
Z2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS9zd19jdHguaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUv
c3dfY3R4LmgKPj4gaW5kZXggZmFlOTZiZS4uMzQxMTZiMSAxMDA2NDQKPj4gLS0tIGEvcGxhdC9j
b21tb24vaW5jbHVkZS9zd19jdHguaAo+PiArKysgYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3N3X2N0
eC5oCj4+IEBAIC00OCw5ICs0OCw0IEBAIHZvaWQgc3dfY3R4X2NhbGxiYWNrc19pbml0KHN0cnVj
dCB1a3BsYXRfY3R4X2NhbGxiYWNrcyAqY3R4X2Nicyk7Cj4+ICAgI2RlZmluZSBPRkZTRVRPRl9T
V19DVFhfU1AgICAgICAwCj4+ICAgI2RlZmluZSBPRkZTRVRPRl9TV19DVFhfSVAgICAgICA4Cj4+
ICAgCj4+IC0jZGVmaW5lIFNJWkVPRl9TV19DVFggICAgICAgICAgIDgKPj4gLQo+PiAtLyogVE9E
TyBUaGlzIHNob3VsZCBiZSBiZXR0ZXIgZGVmaW5lZCBpbiB0aGUgdGhyZWFkIGhlYWRlciAqLwo+
PiAtI2RlZmluZSBPRkZTRVRPRl9VS1RIUkVBRF9TV19DVFggIDE2Cj4+IC0KPj4gICAjZW5kaWYg
LyogX19QTEFUX0NNTl9TV19DVFhfSF9fICovCj4+CgotLSAKRHIuIEZsb3JpYW4gU2NobWlkdArj
g5Xjg63jg7zjg6rjgqLjg7Pjg7vjgrfjg6Xjg5/jg4Pjg4gKUmVzZWFyY2ggU2NpZW50aXN0LApT
eXN0ZW1zIGFuZCBNYWNoaW5lIExlYXJuaW5nIEdyb3VwCk5FQyBMYWJvcmF0b3JpZXMgRXVyb3Bl
Ckt1cmbDvHJzdGVuLUFubGFnZSAzNiwgRC02OTExNSBIZWlkZWxiZXJnClRlbC4gICAgICs0OSAo
MCk2MjIxIDQzNDItMjY1CkZheDogICAgICs0OSAoMCk2MjIxIDQzNDItMTU1CmUtbWFpbDogIGZs
b3JpYW4uc2NobWlkdEBuZWNsYWIuZXUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJlZ2lzdGVyZWQgYXQgQW10c2dlcmljaHQgTWFu
bmhlaW0sIEdlcm1hbnksIEhSQjcyODU1OAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 14:36:26 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 14:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAc4f-0001QN-C5; Thu, 11 Oct 2018 14:36:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAc4d-0001QG-HY
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 14:36:23 +0000
X-Inumbo-ID: 333a8af1-cd63-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 333a8af1-cd63-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 14:37:38 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 93E7B103B9A;
 Thu, 11 Oct 2018 16:36:18 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id iLOFk2eqyqc7; Thu, 11 Oct 2018 16:36:18 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 4AFDB104A1E;
 Thu, 11 Oct 2018 16:36:14 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 16:36:14
 +0200
To: <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-8-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <2568ddfe-da1f-f9fe-ef58-1f7e1cd27ca7@neclab.eu>
Date: Thu, 11 Oct 2018 16:36:13 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-8-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 07/11] lib/uknetdev: Netdev
 initialization
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpQbGVhc2UgZmluZCBteSBjb21tZW50cyBpbmxpbmUuCgpPbiAxMC8xMC8y
MDE4IDAyOjAwIFBNLCBTaW1vbiBLdWVuemVyIHdyb3RlOgo+IEZyb206IFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IAo+IEludHJvZHVjZSBhICdEUERLIFJU
RSBFdGhlcm5ldCcgaW5zcGlyZWQgQVBJIGZvciBpbml0aWFsaXppbmcgYQo+IFVuaWtyYWZ0IG5l
dHdvcmsgZGV2aWNlLiBUaGUgaW5pdGlhbGl6YXRpb24gaXMgZG9uZSBpbiB0aGUgZm9sbG93aW5n
Cj4gb3JkZXI6ICgxKSBDb25maWd1cmUgbWFpbiBhc3BlY3RzIG9mIGRldmljZSAoZS5nLiwgbnVt
YmVyIG9mCj4gcXVldWVzKSwgKDIpIGNvbmZpZ3VyZSBlYWNoIHRyYW5zbWl0IGFuZCByZWNlaXZl
IHF1ZXVlLCBhbmQgKDMpIHN0YXJ0Cj4gdGhlIGRldmljZS4gV2UgYWxzbyBpbnRyb2R1Y2UgYW4g
aW50ZXJmYWNlIGZvciBxdWVyeWluZyB0aGUgdW5kZXJseWluZwo+IGRldmljZSBjYXBhYmlsaXRp
ZXMgZm9yIGVhY2ggY29uZmlndXJhdGlvbiBzdGVwLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9u
IEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZh
biBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgbGliL3Vr
bmV0ZGV2L0NvbmZpZy51ayAgICAgICAgICAgICAgICB8ICAyOCArKystCj4gICBsaWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51ayAgICAgICAgICAgIHwgICA4ICsKPiAgIGxpYi91a25ldGRldi9pbmNs
dWRlL3VrL25ldGRldi5oICAgICAgfCAxNzQgKysrKysrKysrKysrKysrKysrKysKPiAgIGxpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggfCAxOTYgKysrKysrKysrKysrKysrKysr
KysrKysKPiAgIGxpYi91a25ldGRldi9uZXRkZXYuYyAgICAgICAgICAgICAgICAgfCAyODkgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA2OTQg
aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRk
ZXYvQ29uZmlnLnVrIGIvbGliL3VrbmV0ZGV2L0NvbmZpZy51awo+IGluZGV4IDg3OGI4MjIuLjYx
OGU4ZTYgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51awo+ICsrKyBiL2xpYi91
a25ldGRldi9Db25maWcudWsKPiBAQCAtMSw2ICsxLDMyIEBACj4gLWNvbmZpZyBMSUJVS05FVERF
Vgo+ICttZW51Y29uZmlnIExJQlVLTkVUREVWCj4gICAJYm9vbCAidWtuZXRkZXY6IE5ldHdvcmsg
ZHJpdmVyIGludGVyZmFjZSIKPiAgIAlkZWZhdWx0IG4KPiAgIAlzZWxlY3QgTElCTk9MSUJDIGlm
ICFIQVZFX0xJQkMKPiAgIAlzZWxlY3QgTElCVUtERUJVRwo+ICAgCXNlbGVjdCBMSUJVS0FMTE9D
Cj4gKwo+ICtpZiBMSUJVS05FVERFVgo+ICsJY29uZmlnIExJQlVLTkVUREVWX01BWE5CUVVFVUVT
Cj4gKwkJaW50ICJNYXhpbXVtIG51bWJlciBvZiByZWNlaXZlLXRyYW5zbWl0IHF1ZXVlIHBhaXJz
Igo+ICsJCWRlZmF1bHQgMQo+ICsJCWhlbHAKPiArCQkJVXBwZXIgbGltaXQgZm9yIHN1cHBvcnRl
ZCBudW1iZXIgb2YgdHJhbnNtaXQgYW5kIHJlY2VpdmUKPiArCQkJcXVldWVzIHdpdGggdGhlIHVr
bmV0ZGV2IEFQSS4gUGxlYXNlIG5vdGUgdGhhdCBkcml2ZXJzCj4gKwkJCWhhdmUgdGhlaXIgb3du
IGxpbWl0cyAodXNlIEFQSSBnZXR0ZXJzIHRvIGZpZ3VyZSBvdXQKPiArCQkJZGV2aWNlIGNhcGFi
aWxpdGllcykuIEFzIGV4YW1wbGUsIG9uZSBkcml2ZXIgbWF5IHN1cHBvcnQKPiArCQkJb25seSBh
IHNpbmdsZSByZWNlaXZlLXRyYW5zbWl0IHF1ZXVlIHBhaXIgYWx0aG91Z2gKPiArCQkJdWtuZXRk
ZXYgd291bGQgc3VwcG9ydCAxNi4KPiArCj4gKwljb25maWcgTElCVUtORVRERVZfRElTUEFUQ0hF
UlRIUkVBRFMKPiArCQlib29sICJEaXNwYXRjaGVyIHRocmVhZHMgZm9yIGV2ZW50IGNhbGxiYWNr
cyIKPiArCQlzZWxlY3QgTElCVUtTQ0hFRAo+ICsJCXNlbGVjdCBMSUJVS0xPQ0sKPiArCQlzZWxl
Y3QgTElCVUtMT0NLX1NFTUFQSE9SRQo+ICsJCWRlZmF1bHQgbgo+ICsJCWhlbHAKPiArCQkJRXZl
bnQgY2FsbGJhY2tzIGFyZSBkaXNwYXRjaGVkIGluIGEgYm90dG9tIGhhbGYKPiArCQkJdGhyZWFk
IGNvbnRleHQgaW5zdGVhZCBvZiB0aGUgZGV2aWNlIGludGVycnVwdCBjb250ZXh0Lgo+ICsJCQlX
aGVuIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYSBkaXNwYXRjaGVyIHRocmVhZCBpcwo+ICsJCQlh
bGxvY2F0ZWQgZm9yIGVhY2ggY29uZmlndXJlZCByZWNlaXZlIHF1ZXVlLgo+ICsJCQlsaWJ1a3Nj
aGVkIGlzIHJlcXVpcmVkIGZvciB0aGlzIG9wdGlvbi4KPiArZW5kaWYKPiBkaWZmIC0tZ2l0IGEv
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+
IGluZGV4IDY2MzQwYzUuLmM3MzNkODEgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9y
dHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC0xNCwzICsx
NCwxMSBAQCB1a19uZXRkZXZfZ2V0Cj4gICB1a19uZXRkZXZfaWRfZ2V0Cj4gICB1a19uZXRkZXZf
ZHJ2X25hbWVfZ2V0Cj4gICB1a19uZXRkZXZfc3RhdGVfZ2V0Cj4gK3VrX25ldGRldl9pbmZvX2dl
dAo+ICt1a19uZXRkZXZfZWluZm9fZ2V0Cj4gK3VrX25ldGRldl9yeHFfaW5mb19nZXQKPiArdWtf
bmV0ZGV2X3R4cV9pbmZvX2dldAo+ICt1a19uZXRkZXZfY29uZmlndXJlCj4gK3VrX25ldGRldl9y
eHFfY29uZmlndXJlCj4gK3VrX25ldGRldl90eHFfY29uZmlndXJlCj4gK3VrX25ldGRldl9zdGFy
dAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gaW5kZXggMWZkNDVjOC4uNzIyM2JhNyAxMDA2
NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+ICsrKyBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gQEAgLTUyLDYgKzUyLDIyIEBACj4gICAgKiBV
bmlrcmFmdCBOZXR3b3JrIERldmljZSAoc3RydWN0IHVrX25ldGRldikgd2hpY2ggY2FuIGJlIGlu
aXRpYWxseSBvYnRhaW5lZAo+ICAgICogYnkgaXRzIElEIGJ5IGNhbGxpbmcgdWtfbmV0ZGV2X2dl
dCgpLiBUaGUgbmV0d29yayBhcHBsaWNhdGlvbiBzaG91bGQgc3RvcmUKPiAgICAqIHRoaXMgcmVm
ZXJlbmNlIGFuZCB1c2UgaXQgZm9yIHN1YnNlcXVlbnQgQVBJIGNhbGxzLgo+ICsgKgo+ICsgKiBU
aGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IHRoZSBVbmlrcmFmdCBORVQgQVBJIHRvIHNldHVwIGEg
ZGV2aWNlCj4gKyAqIG11c3QgYmUgaW52b2tlZCBpbiB0aGUgZm9sbG93aW5nIG9yZGVyOgo+ICsg
KiAgICAgLSB1a19uZXRkZXYKPiArICogICAgIC0gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpCj4gKyAq
ICAgICAtIHVrX25ldGRldl90eHFfY29uZmlndXJlKCkKPiArICogICAgIC0gdWtfbmV0ZGV2X3J4
cV9jb25maWd1cmUoKQo+ICsgKiAgICAgLSB1a19uZXRkZXZfc3RhcnQoKQo+ICsgKiBUaGUgdHJh
bnNtaXQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIHNob3VsZCBub3QgYmUgaW52b2tlZCB3aGVuIHRo
ZQo+ICsgKiBkZXZpY2UgaXMgbm90IHN0YXJ0ZWQuCj4gKyAqCj4gKyAqIFRoZXJlIGFyZSA0IHN0
YXRlcyBpbiB3aGljaCBhIG5ldHdvcmsgZGV2aWNlIGNhbiBiZSBmb3VuZDoKPiArICogICAgIC0g
VUtfTkVUREVWX1VOUkVHSVNURVJFRAo+ICsgKiAgICAgLSBVS19ORVRERVZfVU5DT05GSUdVUkVE
Cj4gKyAqICAgICAtIFVLX05FVERFVl9DT05GSUdVUkVECj4gKyAqICAgICAtIFVLX05FVERFVl9S
VU5OSU5HCj4gICAgKi8KPiAgICNpZmRlZiBfX2NwbHVzcGx1cwo+ICAgZXh0ZXJuICJDIiB7Cj4g
QEAgLTExMCw2ICsxMjYsMTY0IEBAIGNvbnN0IGNoYXIgKnVrX25ldGRldl9kcnZfbmFtZV9nZXQo
c3RydWN0IHVrX25ldGRldiAqZGV2KTsKPiAgICAqLwo+ICAgZW51bSB1a19uZXRkZXZfc3RhdGUg
dWtfbmV0ZGV2X3N0YXRlX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICAgCj4gKy8qKgo+
ICsgKiBRdWVyeSBkZXZpY2UgY2FwYWJpbGl0aWVzLgo+ICsgKiBJbmZvcm1hdGlvbiB0aGF0IGlz
IHVzZWZ1bCBmb3IgZGV2aWNlIGluaXRpYWxpemF0aW9uIChlLmcuLAo+ICsgKiBtYXhpbXVtIG51
bWJlciBvZiBzdXBwb3J0ZWQgUlgvVFggcXVldWVzKS4KPiArICoKPiArICogQHBhcmFtIGRldgo+
ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHBhcmFtIGRldl9pbmZv
Cj4gKyAqICAgQSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUgKnVrX25ldGRldl9pbmZv
KiB0byBiZSBmaWxsZWQgd2l0aAo+ICsgKiAgIHRoZSBjb250ZXh0dWFsIGluZm9ybWF0aW9uIG9m
IHRoZSBuZXR3b3JrIGRldmljZS4KPiArICovCj4gK3ZvaWQgdWtfbmV0ZGV2X2luZm9fZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJc3RydWN0IHVrX25ldGRldl9pbmZvICpkZXZfaW5m
byk7Cj4gKwo+ICsvKioKPiArICogRXh0cmEgaW5mb3JtYXRpb24gcXVlcnkgaW50ZXJmYWNlLgo+
ICsgKiBUaGUgdXNlciBjYW4gcXVlcnkgdGhlIGRyaXZlciBmb3IgYW55IGFkZGl0aW9uYWwgaW5m
b3JtYXRpb24gKGUuZywKPiArICogSVAgYWRkcmVzcyBjb25maWd1cmF0aW9uIHByZWZlcnJlZCBi
eSBoeXBlcnZpc29yKSwgdXNpbmcgYSBudW1iZXIgb2YKPiArICogcHJlLWRlZmluZWQgY29uZmln
dXJhdGlvbiB0eXBlcy4KPiArICoKPiArICogSWYgdGhlIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQg
dGhlIHByb3ZpZGVkIGRhdGEgdHlwZSwgaXQgbXVzdCByZXR1cm4gTlVMTC4KPiArICoKPiArICog
VGhpcyBhbGxvd3MgdGhlIGRyaXZlciB0byBwcm92aWRlIGNvbmZpZ3VyYXRpb24gZGF0YSB3aXRo
b3V0IHRoZSBuZWVkIG9mCj4gKyAqIHBhcnNpbmcgaXQgaW4gYSBwcmUtZGV0ZXJtaW5lZCB3YXks
IGVsaW1pbmF0aW5nIHRoZSBuZWVkIGZvciB1dGlsaXR5Cj4gKyAqIGZ1bmN0aW9ucyBpbiB0aGUg
QVBJLCBvciBwYXJzaW5nIHRoZSBkYXRhIG11bHRpcGxlIHRpbWVzIGJvdGggYnkgZHJpdmVyCj4g
KyAqIGFuZCB1c2VyLgo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0
IE5ldHdvcmsgRGV2aWNlLgo+ICsgKiBAcGFyYW0gZWluZm8KPiArICogICBFeHRyYSBjb25maWd1
cmF0aW9uIHR5cGUgc2VsZWN0aW9uIChzZWUgZW51bSBkZWZpbml0aW9uKS4KPiArICogQHJldHVy
bgo+ICsgKiAgIC0gKE5VTEwpOiBpZiBjb25maWd1cmF0aW9uIHVuYXZhaWxhYmxlIG9yIGRhdGEg
dHlwZSB1bnN1cHBvcnRlZAo+ICsgKiAgIC0gKHZvaWQgKik6IFJlZmVyZW5jZSB0byBjb25maWd1
cmF0aW9uLCBmb3JtYXQgc3BlY2lmaWVkIGJ5ICplaW5mbyoKPiArICovCj4gK2NvbnN0IHZvaWQg
KnVrX25ldGRldl9laW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJZW51bSB1
a19uZXRkZXZfZWluZm9fdHlwZSBlaW5mbyk7Cj4gKwo+ICsvKioKPiArICogQ29uZmlndXJlcyBh
biBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiB1bmNvbmZpZ3VyZWQgc3RhdGUuCj4gKyAq
IEBwYXJhbSBjb25mCj4gKyAqICAgVGhlIHBvaW50ZXIgdG8gdGhlIGNvbmZpZ3VyYXRpb24gZGF0
YSB0byBiZSB1c2VkIGZvciB0aGUgVW5pa3JhZnQKPiArICogICBuZXR3b3JrIGRldmljZS4KPiAr
ICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBTdWNjZXNzLCBkZXZpY2UgaXMgaW4gY29uZmlndXJl
ZCBzdGF0ZS4KPiArICogICAtICg8MCk6IEVycm9yIGNvZGUgcmV0dXJuZWQgYnkgdGhlIGRyaXZl
ci4KPiArICovCj4gK2ludCB1a19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwKPiArCQkJY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpkZXZfY29uZik7Cj4gKwo+ICsK
PiArLyoqCj4gKyAqIFF1ZXJ5IHJlY2VpdmUgZGV2aWNlIHF1ZXVlIGNhcGFiaWxpdGllcy4KPiAr
ICogSW5mb3JtYXRpb24gdGhhdCBpcyB1c2VmdWwgZm9yIGRldmljZSBxdWV1ZSBpbml0aWFsaXph
dGlvbiAoZS5nLiwKPiArICogbWF4aW11bSBudW1iZXIgb2Ygc3VwcG9ydGVkIGRlc2NyaXB0b3Jz
IG9uIFJYIHF1ZXVlcykuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3Jh
ZnQgTmV0d29yayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KPiArICogQHBhcmFtIHF1ZXVl
X2lkCj4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRvIHNldCB1cC4KPiAr
ICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4X3F1ZXVlIC0gMV0g
cHJldmlvdXNseSBzdXBwbGllZAo+ICsgKiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4KPiAr
ICogQHBhcmFtIHF1ZXVlX2luZm8KPiArICogICBBIHBvaW50ZXIgdG8gYSBzdHJ1Y3R1cmUgb2Yg
dHlwZSAqdWtfbmV0ZGV2X3F1ZXVlc19pbmZvKiB0byBiZSBmaWxsZWQgb3V0Cj4gKyAqIEByZXR1
cm4KPiArICogICAtICgwKTogU3VjY2VzcywgcXVldWVfaW5mbyBpcyBmaWxsZWQgb3V0Lgo+ICsg
KiAgIC0gKDwwKTogRXJyb3IgY29kZSBvZiB0aGUgZHJpdmVycyBmdW5jdGlvbi4KPiArICovCj4g
K2ludCB1a19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2
X3QgcXVldWVfaWQsCj4gKwkJCSAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVf
aW5mbyk7Cj4gKwo+ICsvKioKPiArICogU2V0cyB1cCBvbmUgcmVjZWl2ZSBxdWV1ZSBmb3IgYW4g
VW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBU
aGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KPiArICogQHBh
cmFtIHF1ZXVlX2lkCj4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRvIHNl
dCB1cC4KPiArICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4X3F1
ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBwbGllZAo+ICsgKiAgIHRvIHVrX25ldGRldl9jb25maWd1
cmUoKS4KPiArICogQHBhcmFtIG5iX2Rlc2MKPiArICogICBOdW1iZXIgb2YgZGVzY3JpcHRvcnMg
Zm9yIHRoZSBxdWV1ZS4gSW5zcGVjdCB1a19uZXRkZXZfcnhxX2luZm9fZ2V0KCkgdG8KPiArICog
ICByZXRyaWV2ZSBsaW1pdGF0aW9ucy4gSWYgbmJfZGVzYyBpcyBzZXQgdG8gMCwgdGhlIGRyaXZl
ciBjaG9vc2VzIGEgZGVmYXVsdAo+ICsgKiAgIHZhbHVlLgo+ICsgKiBAcGFyYW0gcnhfY29uZgo+
ICsgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNlZCBm
b3IgdGhlIHJlY2VpdmUgcXVldWUuCj4gKyAqICAgSXRzIG1lbW9yeSBjYW4gYmUgcmVsZWFzZWQg
YWZ0ZXIgaW52b2tpbmcgdGhpcyBmdW5jdGlvbi4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDAp
OiBTdWNjZXNzLCByZWNlaXZlIHF1ZXVlIGNvcnJlY3RseSBzZXQgdXAuCj4gKyAqICAgLSAoLUVO
T01FTSk6IFVuYWJsZSB0byBhbGxvY2F0ZSB0aGUgcmVjZWl2ZSByaW5nIGRlc2NyaXB0b3JzLgo+
ICsgKi8KPiAraW50IHVrX25ldGRldl9yeHFfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCSAgICB1aW50MTZfdCBuYl9kZXNjLAo+ICsJCQkg
ICAgc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKnJ4X2NvbmYpOwo+ICsKPiArLyoqCj4g
KyAqIFF1ZXJ5IGRldmljZSB0cmFuc21pdCBxdWV1ZSBjYXBhYmlsaXRpZXMuCj4gKyAqIEluZm9y
bWF0aW9uIHRoYXQgaXMgdXNlZnVsIGZvciBkZXZpY2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUu
Zy4sCj4gKyAqIG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBkZXNjcmlwdG9ycyBvbiBUWCBx
dWV1ZXMpLgo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdv
cmsgRGV2aWNlIGluIGNvbmZpZ3VyZWQgc3RhdGUuCj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsg
KiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCj4gKyAqICAgVGhl
IHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl90eF9xdWV1ZSAtIDFdIHByZXZpb3Vz
bHkgc3VwcGxpZWQKPiArICogICB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJh
bSBxdWV1ZV9pbmZvCj4gKyAqICAgQSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUgKnVr
X25ldGRldl9xdWV1ZXNfaW5mbyogdG8gYmUgZmlsbGVkIG91dAo+ICsgKiBAcmV0dXJuCj4gKyAq
ICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmlsbGVkIG91dC4KPiArICogICAtICg8
MCk6IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlcnMgZnVuY3Rpb24uCj4gKyAqLwo+ICtpbnQgdWtf
bmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVl
X2lkLAo+ICsJCQkgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8pOwo+
ICsKPiArLyoqCj4gKyAqIFNldHMgdXAgb25lIHRyYW5zbWl0IHF1ZXVlIGZvciBhbiBVbmlrcmFm
dCBuZXR3b3JrIGRldmljZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlr
cmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgo+ICsgKiBAcGFyYW0gcXVl
dWVfaWQKPiArICogICBUaGUgaW5kZXggb2YgdGhlIHRyYW5zbWl0IHF1ZXVlIHRvIHNldCB1cC4K
PiArICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3R4X3F1ZXVlIC0g
MV0gcHJldmlvdXNseSBzdXBwbGllZAo+ICsgKiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4K
PiArICogQHBhcmFtIG5iX2Rlc2MKPiArICogICBOdW1iZXIgb2YgZGVzY3JpcHRvcnMgZm9yIHRo
ZSBxdWV1ZS4gSW5zcGVjdCB1a19uZXRkZXZfdHhxX2luZm9fZ2V0KCkgdG8KPiArICogICByZXRy
aWV2ZSBsaW1pdGF0aW9ucy4gSWYgbmJfZGVzYyBpcyBzZXQgdG8gMCwgdGhlIGRyaXZlciBjaG9v
c2VzIGEgZGVmYXVsdAo+ICsgKiAgIHZhbHVlLgo+ICsgKiBAcGFyYW0gdHhfY29uZgo+ICsgKiAg
IFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNlZCBmb3IgdGhl
IHRyYW5zbWl0IHF1ZXVlLgo+ICsgKiAgIEl0cyBtZW1vcnkgY2FuIGJlIHJlbGVhc2VkIGFmdGVy
IGludm9raW5nIHRoaXMgZnVuY3Rpb24uCj4gKyAqIEByZXR1cm4KPiArICogICAtICgwKTogU3Vj
Y2VzcywgdGhlIHRyYW5zbWl0IHF1ZXVlIGlzIGNvcnJlY3RseSBzZXQgdXAuCj4gKyAqICAgLSAo
LUVOT01FTSk6IFVuYWJsZSB0byBhbGxvY2F0ZSB0aGUgdHJhbnNtaXQgcmluZyBkZXNjcmlwdG9y
cy4KPiArICovCj4gK2ludCB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkgICAgdWludDE2X3QgbmJfZGVzYywKPiAr
CQkJICAgIHN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mICp0eF9jb25mKTsKPiArCj4gKy8q
Kgo+ICsgKiBTdGFydCBhIE5ldHdvcmsgZGV2aWNlLgo+ICsgKgo+ICsgKiBBZnRlciBhIG5ldHdv
cmsgZGV2aWNlIHdhcyBjb25maWd1cmVkIGFuZCBpdHMgcXVldWVzIGFyZSBzZXQgdXAgdGhlIGRl
dmljZQo+ICsgKiBjYW4gYmUgc3RhcnRlZC4gT24gc3VjY2VzcywgYWxsIG9wZXJhdGlvbmFsIGZ1
bmN0aW9ucyBleHBvcnRlZCBieSB0aGUKPiArICogVW5pa3JhZnQgbmV0ZGV2IEFQSSAoaW50ZXJy
dXB0cywgcmVjZWl2ZS90cmFuc21pdCwgYW5kIHNvIG9uKSBjYW4gYmUgaW52b2tlZAo+ICsgKiBh
ZnRlcndhcmRzLgo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5l
dHdvcmsgRGV2aWNlIGluIGNvbmZpZ3VyZWQgc3RhdGUuCj4gKyAqIEByZXR1cm4KPiArICogICAt
ICgwKTogU3VjY2VzcywgVW5pa3JhZnQgbmV0d29yayBkZXZpY2Ugc3RhcnRlZC4KPiArICogICAt
ICg8MCk6IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlciBkZXZpY2Ugc3RhcnQgZnVuY3Rpb24uCj4g
KyAqLwo+ICtpbnQgdWtfbmV0ZGV2X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+
ICAgI2lmZGVmIF9fY3BsdXNwbHVzCj4gICB9Cj4gICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldl9jb3JlLmgKPiBpbmRleCBlZWM0NDFlLi4wMmM1YmEwIDEwMDY0NAo+IC0tLSBh
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiArKysgYi9saWIvdWtuZXRk
ZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gQEAgLTQ1LDYgKzQ1LDEwIEBACj4gICAjaW5j
bHVkZSA8dWsvbGlzdC5oPgo+ICAgI2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gICAjaW5jbHVkZSA8
dWsvZXNzZW50aWFscy5oPgo+ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJU
SFJFQURTCj4gKyNpbmNsdWRlIDx1ay9zY2hlZC5oPgo+ICsjaW5jbHVkZSA8dWsvc2VtYXBob3Jl
Lmg+Cj4gKyNlbmRpZgo+ICAgCj4gICAvKioKPiAgICAqIFVuaWtyYWZ0IG5ldHdvcmsgQVBJIGNv
bW1vbiBkZWNsYXJhdGlvbnMuCj4gQEAgLTY0LDYgKzY4LDQyIEBAIGV4dGVybiAiQyIgewo+ICAg
c3RydWN0IHVrX25ldGRldjsKPiAgIFVLX1RBSUxRX0hFQUQodWtfbmV0ZGV2X2xpc3QsIHN0cnVj
dCB1a19uZXRkZXYpOwo+ICAgCj4gKy8qKgo+ICsgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIGRlc2Ny
aWJlIG5ldHdvcmsgZGV2aWNlIGNhcGFiaWxpdGllcy4KPiArICovCj4gK3N0cnVjdCB1a19uZXRk
ZXZfaW5mbyB7Cj4gKwl1aW50MTZfdCBtYXhfcnhfcXVldWVzOwo+ICsJdWludDE2X3QgbWF4X3R4
X3F1ZXVlczsKPiArCWludCBpbl9xdWV1ZV9wYWlyczsgLyoqPCBJZiB0cnVlLCBhbGxvY2F0ZSBx
dWV1ZXMgaW4gcGFpcnMuICovCj4gKwl1aW50MTZfdCBtYXhfbXR1OyAgIC8qKjwgTWF4aW11bSBz
dXBwb3J0ZWQgTVRVIHNpemUuICovCj4gKwl1aW50MTZfdCBuYl9lbmNhcDsgIC8qKjwgTnVtYmVy
IG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciB0eC4gKi8KPiArfTsKPiArCj4gKy8q
Kgo+ICsgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIGRlc2NyaWJlIGRldmljZSBkZXNjcmlwdG9yIHJp
bmcgbGltaXRhdGlvbnMuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gewo+
ICsJdWludDE2X3QgbmJfbWF4OyAgICAgICAgLyoqPCBNYXggYWxsb3dlZCBudW1iZXIgb2YgZGVz
Y3JpcHRvcnMuICovCj4gKwl1aW50MTZfdCBuYl9taW47ICAgICAgICAvKio8IE1pbiBhbGxvd2Vk
IG51bWJlciBvZiBkZXNjcmlwdG9ycy4gKi8KPiArCXVpbnQxNl90IG5iX2FsaWduOyAgICAgIC8q
KjwgTnVtYmVyIHNob3VsZCBiZSBhIG11bHRpcGxlIG9mIG5iX2FsaWduLiAqLwo+ICsJaW50IG5i
X2lzX3Bvd2VyX29mX3R3bzsgLyoqPCBOdW1iZXIgc2hvdWxkIGJlIGEgcG93ZXIgb2YgdHdvLiAq
Lwo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gY29uZmlndXJlIGEg
bmV0d29yayBkZXZpY2UuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgewo+ICsJdWlu
dDE2X3QgbmJfcnhfcXVldWVzOwo+ICsJdWludDE2X3QgbmJfdHhfcXVldWVzOwo+ICt9Owo+ICsK
PiArLyoqCj4gKyAqIEBpbnRlcm5hbCBRdWV1ZSBzdHJ1Y3RzIHRoYXQgYXJlIGRlZmluZWQgaW50
ZXJuYWxseSBieSBlYWNoIGRyaXZlcgo+ICsgKiBUaGUgZGF0YXR5cGUgaXMgaW50cm9kdWNlZCBo
ZXJlIGZvciBoYXZpbmcgdHlwZSBjaGVja2luZyBvbiB0aGUKPiArICogQVBJIGNvZGUKPiArICov
Cj4gK3N0cnVjdCB1a19uZXRkZXZfdHhfcXVldWU7Cj4gK3N0cnVjdCB1a19uZXRkZXZfcnhfcXVl
dWU7Cj4gICAKPiAgIC8qKgo+ICAgICogRW51bSB0byBkZXNjcmliZSBwb3NzaWJsZSBzdGF0ZXMg
b2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gQEAgLTc1LDYgKzExNSwxNDkgQEAgZW51
bSB1a19uZXRkZXZfc3RhdGUgewo+ICAgCVVLX05FVERFVl9SVU5OSU5HLAo+ICAgfTsKPiAgIAo+
ICsvKioKPiArICogRW51bSB1c2VkIGJ5IHRoZSBleHRyYSBpbmZvcm1hdGlvbiBxdWVyeSBpbnRl
cmZhY2UuCj4gKyAqCj4gKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgdHlwZSBpcyB0byBhbGxvdyBk
cml2ZXJzIHRvIGZvcndhcmQgZXh0cmEgY29uZmlndXJhdGlvbnMKPiArICogb3B0aW9ucyBzdWNo
IGFzIElQIGluZm9ybWF0aW9uIHdpdGhvdXQgcGFyc2luZyB0aGlzIGRhdGEgYnkgdGhlbXNlbHZl
cyAoZS5nLiwKPiArICogc3RyaW5ncyBvZiBJUCBhZGRyZXNzIGFuZCBtYXNrIGZvdW5kIG9uIFhl
blN0b3JlIGJ5IG5ldGZyb250KS4KPiArICogV2UgZG8gbm90IHdhbnQgdG8gaW50cm9kdWNlIGFu
eSBhZGRpdGlvbmFsIHBhcnNpbmcgbG9naWMgaW5zaWRlIHVrbmV0ZGV2IEFQSQo+ICsgKiBiZWNh
dXNlIHdlIGFzc3VtZSB0aGF0IG1vc3QgbmV0d29yayBzdGFja3MgcHJvdmlkZSB0aGlzIGZ1bmN0
aW9uYWxpdHkKPiArICogYW55d2F5cy4gU28gb25lIGNvdWxkIGZvcndhcmQgdGhpcyBkYXRhIHdp
dGhpbiB0aGUgZ2x1ZSBjb2RlLgo+ICsgKgo+ICsgKiBUaGlzIGxpc3QgaXMgZXh0ZW5zaWJsZSBp
biB0aGUgZnV0dXJlIHdpdGhvdXQgbmVlZGluZyB0aGUgZHJpdmVycyB0byBhZG9wdAo+ICsgKiBh
bnkgb3IgYWxsIG9mIHRoZSBkYXRhIHR5cGVzLgo+ICsgKgo+ICsgKiBUaGUgZXh0cmEgaW5mb3Jt
YXRpb24gY2FuIGF2YWlsYWJsZSBpbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBmb3JtYXRzOgo+ICsg
KiAtICpfTklOVDE2OiBOZXR3b3JrLW9yZGVyIHJhdyBpbnQgKDQgYnl0ZXMpCj4gKyAqIC0gKl9T
VFI6IE51bGwtdGVybWluYXRlZCBzdHJpbmcKPiArICovCj4gK2VudW0gdWtfbmV0ZGV2X2VpbmZv
X3R5cGUgewo+ICsJLyogSVB2NCBhZGRyZXNzIGFuZCBtYXNrICovCj4gKwlVS19ORVRERVZfSVBW
NF9BRERSX05JTlQxNiwKPiArCVVLX05FVERFVl9JUFY0X0FERFJfU1RSLAo+ICsJVUtfTkVUREVW
X0lQVjRfTUFTS19OSU5UMTYsCj4gKwlVS19ORVRERVZfSVBWNF9NQVNLX1NUUiwKPiArCj4gKwkv
KiBJUHY0IGdhdGV3YXkgKi8KPiArCVVLX05FVERFVl9JUFY0X0dXX05JTlQxNiwKPiArCVVLX05F
VERFVl9JUFY0X0dXX1NUUiwKPiArCj4gKwkvKiBJUHY0IFByaW1hcnkgRE5TICovCj4gKwlVS19O
RVRERVZfSVBWNF9ETlMwX05JTlQxNiwKPiArCVVLX05FVERFVl9JUFY0X0ROUzBfU1RSLAo+ICsK
PiArCS8qIElQdjQgU2Vjb25kYXJ5IEROUyAqLwo+ICsJVUtfTkVUREVWX0lQVjRfRE5TMV9OSU5U
MTYsCj4gKwlVS19ORVRERVZfSVBWNF9ETlMxX1NUUiwKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBG
dW5jdGlvbiB0eXBlIHVzZWQgZm9yIHF1ZXVlIGV2ZW50IGNhbGxiYWNrcy4KPiArICoKPiArICog
QHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHBh
cmFtIHF1ZXVlCj4gKyAqICAgVGhlIHF1ZXVlIG9uIHRoZSBVbmlrcmFmdCBuZXR3b3JrIGRldmlj
ZSBvbiB3aGljaCB0aGUgZXZlbnQgaGFwcGVuZWQuCj4gKyAqIEBwYXJhbSBhcmdwCj4gKyAqICAg
RXh0cmEgYXJndW1lbnQgdGhhdCBjYW4gYmUgZGVmaW5lZCBvbiBjYWxsYmFjayByZWdpc3RyYXRp
b24uCj4gKyAqLwo+ICt0eXBlZGVmIHZvaWQgKCp1a19uZXRkZXZfcXVldWVfZXZlbnRfdCkoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJCXVpbnQxNl90IHF1ZXVlX2lkLCB2b2lkICphcmdw
KTsKPiArCj4gKy8qKgo+ICsgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIGNvbmZpZ3VyZSBhbiBVbmlr
cmFmdCBuZXR3b3JrIGRldmljZSBSWCBxdWV1ZS4KPiArICovCj4gK3N0cnVjdCB1a19uZXRkZXZf
cnhxdWV1ZV9jb25mIHsKPiArCXVrX25ldGRldl9xdWV1ZV9ldmVudF90IGNhbGxiYWNrOyAvKio8
IEV2ZW50IGNhbGxiYWNrIGZ1bmN0aW9uLiAqLwo+ICsJdm9pZCAqY2FsbGJhY2tfY29va2llOyAg
ICAgICAgICAgIC8qKjwgQXJndW1lbnQgcG9pbnRlciBmb3IgY2FsbGJhY2suICovCj4gKwo+ICsJ
c3RydWN0IHVrX2FsbG9jICphOyAgICAgICAgICAgICAgIC8qKjwgQWxsb2NhdG9yIGZvciBkZXNj
cmlwdG9ycy4gKi8KPiArI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFE
Uwo+ICsJc3RydWN0IHVrX3NjaGVkICpzOyAgICAgICAgICAgICAgIC8qKjwgU2NoZWR1bGVyIGZv
ciBkaXNwYXRjaGVyLiAqLwo+ICsjZW5kaWYKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBBIHN0cnVj
dHVyZSB1c2VkIHRvIGNvbmZpZ3VyZSBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBUWCBxdWV1
ZS4KPiArICovCj4gK3N0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mIHsKPiArCXN0cnVjdCB1
a19hbGxvYyAqYTsgICAgICAgICAgICAgICAvKiBBbGxvY2F0b3IgZm9yIGRlc2NyaXB0b3JzLiAq
Lwo+ICt9Owo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHJlYWQgZGV2aWNlL2Ry
aXZlciBjYXBhYmlsaXRpZXMsCj4gKyAqICB1c2VkIGZvciBjb25maWd1cmluZyB0aGUgZGV2aWNl
Cj4gKyAqLwo+ICt0eXBlZGVmIHZvaWQgKCp1a19uZXRkZXZfaW5mb19nZXRfdCkoc3RydWN0IHVr
X25ldGRldiAqZGV2LAo+ICsJCQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZv
KTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZWFkIGFueSBleHRyYSBjb25m
aWd1cmF0aW9uLiAqLwo+ICt0eXBlZGVmIGNvbnN0IHZvaWQgKigqdWtfbmV0ZGV2X2VpbmZvX2dl
dF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkJICAgICBlbnVtIHVrX25ldGRldl9l
aW5mb190eXBlIGVjb25mKTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBjb25m
aWd1cmUgYSBuZXR3b3JrIGRldmljZS4gKi8KPiArdHlwZWRlZiBpbnQgICgqdWtfbmV0ZGV2X2Nv
bmZpZ3VyZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkgICAgICBjb25zdCBzdHJ1
Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpOwo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBl
IHRvIHJldHJpZXZlIFJYIHF1ZXVlIGxpbWl0YXRpb25zLAo+ICsgKiAgdXNlZCBmb3IgY29uZmln
dXJpbmcgdGhlIFJYIHF1ZXVlIGxhdGVyCj4gKyAqLwo+ICt0eXBlZGVmIGludCAoKnVrX25ldGRl
dl9yeHFfaW5mb19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJdWludDE2X3QgcXVl
dWVfaWQsIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbyk7Cj4gKwo+ICsv
KiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gcmV0cmlldmUgVFggcXVldWUgbGltaXRhdGlvbnMs
Cj4gKyAqICB1c2VkIGZvciBjb25maWd1cmluZyB0aGUgVFggcXVldWUgbGF0ZXIKPiArICovCj4g
K3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCj4gKwl1aW50MTZfdCBxdWV1ZV9pZCwgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZv
ICpxdWV1ZV9pbmZvKTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdXAg
YSBSWCBxdWV1ZSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4gKi8KPiArdHlwZWRlZiBz
dHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICogKCp1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZV90KSgK
PiArCXN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90IG5i
X2Rlc2MsCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqdHhfY29uZik7Cj4gKwo+
ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc2V0IHVwIGEgVFggcXVldWUgb2YgYW4gVW5p
a3JhZnQgbmV0d29yayBkZXZpY2UuICovCj4gK3R5cGVkZWYgc3RydWN0IHVrX25ldGRldl9yeF9x
dWV1ZSAqICgqdWtfbmV0ZGV2X3J4cV9jb25maWd1cmVfdCkoCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAo+ICsJc3RydWN0IHVr
X25ldGRldl9yeHF1ZXVlX2NvbmYgKnJ4X2NvbmYpOwo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFj
ayB0eXBlIHRvIHN0YXJ0IGEgY29uZmlndXJlZCBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4gKi8K
PiArdHlwZWRlZiBpbnQgICgqdWtfbmV0ZGV2X3N0YXJ0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRl
dik7Cj4gKwo+ICsvKioKPiArICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgZnVuY3Rpb25z
IGV4cG9ydGVkIGJ5IGEgZHJpdmVyLgo+ICsgKi8KPiArc3RydWN0IHVrX25ldGRldl9vcHMgewo+
ICsJLyoqIERldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVzIGFuZCBpbmZvLiAqLwo+ICsJdWtfbmV0
ZGV2X2luZm9fZ2V0X3QgICAgICAgICAgICBpbmZvX2dldDsKPiArCXVrX25ldGRldl90eHFfaW5m
b19nZXRfdCAgICAgICAgdHhxX2luZm9fZ2V0Owo+ICsJdWtfbmV0ZGV2X3J4cV9pbmZvX2dldF90
ICAgICAgICByeHFfaW5mb19nZXQ7Cj4gKwl1a19uZXRkZXZfZWluZm9fZ2V0X3QgICAgICAgICAg
IGVpbmZvX2dldDsgICAgICAgIC8qIG9wdGlvbmFsICovCj4gKwo+ICsJLyoqIERldmljZSBsaWZl
IGN5Y2xlLiAqLwo+ICsJdWtfbmV0ZGV2X2NvbmZpZ3VyZV90ICAgICAgICAgICBjb25maWd1cmU7
Cj4gKwl1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZV90ICAgICAgIHR4cV9jb25maWd1cmU7Cj4gKwl1
a19uZXRkZXZfcnhxX2NvbmZpZ3VyZV90ICAgICAgIHJ4cV9jb25maWd1cmU7Cj4gKwl1a19uZXRk
ZXZfc3RhcnRfdCAgICAgICAgICAgICAgIHN0YXJ0Owo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIEBp
bnRlcm5hbAo+ICsgKiBFdmVudCBoYW5kbGVyIGNvbmZpZ3VyYXRpb24gKGludGVybmFsIHRvIGxp
YnVrbmV0ZGV2KQo+ICsgKi8KPiArc3RydWN0IHVrX25ldGRldl9ldmVudF9oYW5kbGVyIHsKPiAr
CXVrX25ldGRldl9xdWV1ZV9ldmVudF90IGNhbGxiYWNrOwo+ICsJdm9pZCAgICAgICAgICAgICAg
ICAgICAgKmNvb2tpZTsKPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hF
UlRIUkVBRFMKPiArCXN0cnVjdCB1a19zZW1hcGhvcmUgZXZlbnRzOyAgICAgIC8qKjwgc2VtYXBo
b3JlIHRvIHRyaWdnZXIgZXZlbnRzICovCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2ICAgICpkZXY7ICAg
ICAgICAvKio8IHJlZmVyZW5jZSB0byBuZXQgZGV2aWNlICovCj4gKwl1aW50MTZfdCAgICAgICAg
ICAgIHF1ZXVlX2lkOyAgICAvKio8IHF1ZXVlIGlkIHdoaWNoIGNhdXNlZCBldmVudCAqLwo+ICsJ
c3RydWN0IHVrX3RocmVhZCAgICAqZGlzcGF0Y2hlcjsgLyoqPCBkaXNwYXRjaGVyIHRocmVhZCAq
Lwo+ICsJY2hhciAgICAgICAgICAgICAgICAqZGlzcGF0Y2hlcl9uYW1lOyAvKio8IHJlZmVyZW5j
ZSB0byB0aHJlYWQgbmFtZSAqLwo+ICsJc3RydWN0IHVrX3NjaGVkICAgICAqZGlzcGF0Y2hlcl9z
OyAgICAvKio8IFNjaGVkdWxlciBmb3IgZGlzcGF0Y2hlci4gKi8KPiArI2VuZGlmCj4gK307Cj4g
ICAKPiAgIC8qKgo+ICAgICogQGludGVybmFsCj4gQEAgLTgzLDYgKzI2Niw5IEBAIGVudW0gdWtf
bmV0ZGV2X3N0YXRlIHsKPiAgIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7Cj4gICAJZW51bSB1a19u
ZXRkZXZfc3RhdGUgc3RhdGU7Cj4gICAKPiArCXN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxl
cgo+ICsJCQkgICAgIHJ4cV9oYW5kbGVyW0NPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFU107
Cj4gKwo+ICAgCWNvbnN0IHVpbnQxNl90ICAgICAgIGlkOyAgICAvKio8IElEIGlzIGFzc2lnbmVk
IGR1cmluZyByZWdpc3RyYXRpb24gKi8KPiAgIAljb25zdCBjaGFyICAgICAgICAgICAqZHJ2X25h
bWU7Cj4gICB9Owo+IEBAIC05MCwxMSArMjc2LDIxIEBAIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7
Cj4gICAvKioKPiAgICAqIE5FVERFVgo+ICAgICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBpbnRlcmFj
dCB3aXRoIGEgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4gKyAqIEZ1bmN0aW9uIGNhbGxiYWNrcyAo
b3BzKSBhcmUgcmVnaXN0ZXJlZCBieSB0aGUgZHJpdmVyIGJlZm9yZQo+ICsgKiByZWdpc3Rlcmlu
ZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBkdXJpbmcgZGV2aWNlIGxpZmUgdGltZS4KPiAgICAq
Lwo+ICAgc3RydWN0IHVrX25ldGRldiB7Cj4gICAJLyoqIFBvaW50ZXIgdG8gQVBJLWludGVybmFs
IHN0YXRlIGRhdGEuICovCj4gICAJc3RydWN0IHVrX25ldGRldl9kYXRhICAgICAgICpfZGF0YTsK
PiAgIAo+ICsJLyoqIEZ1bmN0aW9ucyBjYWxsYmFja3MgYnkgZHJpdmVyLiAqLwo+ICsJY29uc3Qg
c3RydWN0IHVrX25ldGRldl9vcHMgICpvcHM7ICAgLyogYnkgZHJpdmVyICovCj4gKwoKCj4gKwkv
KiogUG9pbnRlcnMgdG8gcXVldWVzIChBUEktcHJpdmF0ZSkgKi8KPiArCXN0cnVjdCB1a19uZXRk
ZXZfcnhfcXVldWUgICAqX3J4X3F1ZXVlW0NPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFU107
Cj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICAgKl90eF9xdWV1ZVtDT05GSUdfTElCVUtO
RVRERVZfTUFYTkJRVUVVRVNdOwo+ICsKPiAgIAlVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdWtfbmV0
ZGV2KSBfbGlzdDsKPiAgIH07Cj4gICAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRl
di5jIGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCj4gaW5kZXggYWI4YWE0ZC4uM2VlYTVlZCAxMDA2
NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiArKysgYi9saWIvdWtuZXRkZXYvbmV0
ZGV2LmMKPiBAQCAtNjksNiArNjksMTYgQEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gICAJVUtfQVNTRVJUKGRl
dik7Cj4gICAJVUtfQVNTRVJUKCFkZXYtPl9kYXRhKTsKPiAgIAo+ICsJLyogQXNzZXJ0IG1hbmRh
dG9yeSBjb25maWd1cmF0aW9uICovCj4gKwlVS19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNT
RVJUKGRldi0+b3BzLT5pbmZvX2dldCk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPmNvbmZpZ3Vy
ZSk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPnJ4cV9pbmZvX2dldCk7Cj4gKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnJ4cV9jb25maWd1cmUpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfaW5m
b19nZXQpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfY29uZmlndXJlKTsKPiArCVVLX0FT
U0VSVChkZXYtPm9wcy0+c3RhcnQpOwo+ICsKPiAgIAlkZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEo
YSwgbmV0ZGV2X2NvdW50LCAgZHJ2X25hbWUpOwo+ICAgCWlmICghZGV2LT5fZGF0YSkKPiAgIAkJ
cmV0dXJuIC1FTk9NRU07Cj4gQEAgLTEyMiwzICsxMzIsMjgyIEBAIGVudW0gdWtfbmV0ZGV2X3N0
YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+ICAgCQlyZXR1
cm4gVUtfTkVUREVWX1VOUkVHSVNURVJFRDsKPiAgIAlyZXR1cm4gZGV2LT5fZGF0YS0+c3RhdGU7
Cj4gICB9Cj4gKwo+ICt2b2lkIHVrX25ldGRldl9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCj4gKwkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pCj4gK3sKPiArCVVLX0FT
U0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPm9w
cy0+aW5mb19nZXQpOwo+ICsJVUtfQVNTRVJUKGRldl9pbmZvKTsKPiArCj4gKwkvKiBDbGVhciB2
YWx1ZXMgYmVmb3JlIHF1ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVzICovCj4gKwltZW1z
ZXQoZGV2X2luZm8sIDAsIHNpemVvZigqZGV2X2luZm8pKTsKPiArCWRldi0+b3BzLT5pbmZvX2dl
dChkZXYsIGRldl9pbmZvKTsKPiArCj4gKwkvKiBMaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2Yg
cnggcXVldWVzIGFuZCB0eCBxdWV1ZXMKPiArCSAqIGFjY29yZGluZyB0byB0aGUgQVBJIGNvbmZp
Z3VyYXRpb24KPiArCSAqLwo+ICsJZGV2X2luZm8tPm1heF9yeF9xdWV1ZXMgPSBNSU4oQ09ORklH
X0xJQlVLTkVUREVWX01BWE5CUVVFVUVTLAo+ICsJCQkJICAgICAgZGV2X2luZm8tPm1heF9yeF9x
dWV1ZXMpOwo+ICsJZGV2X2luZm8tPm1heF90eF9xdWV1ZXMgPSBNSU4oQ09ORklHX0xJQlVLTkVU
REVWX01BWE5CUVVFVUVTLAo+ICsJCQkJICAgICAgZGV2X2luZm8tPm1heF90eF9xdWV1ZXMpOwo+
ICt9Cj4gKwo+ICtjb25zdCB2b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwKPiArCQkJCWVudW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWluZm8pCj4gK3sKPiAr
CVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCj4gKwlpZiAoIWRl
di0+b3BzLT5laW5mb19nZXQpIHsKPiArCQkvKiBkcml2ZXIgZG9lcyBub3QgcHJvdmlkZSBhbnkg
ZXh0cmEgY29uZmlndXJhdGlvbiAqLwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsJcmV0dXJu
IGRldi0+b3BzLT5laW5mb19nZXQoZGV2LCBlaW5mbyk7Cj4gK30KPiArCj4gK2ludCB1a19uZXRk
ZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQs
Cj4gKwkJCSAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbykKPiArewo+
ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJU
KGRldi0+b3BzLT5yeHFfaW5mb19nZXQpOwoKU2hvdWxkIGl0IG5vdCBiZSBtYXhfcnhfcXVldWVz
Pwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVT
KTsKPiArCVVLX0FTU0VSVChxdWV1ZV9pbmZvKTsKPiArCj4gKwkvKiBDbGVhciB2YWx1ZXMgYmVm
b3JlIHF1ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVzICovCj4gKwltZW1zZXQocXVldWVf
aW5mbywgMCwgc2l6ZW9mKCpxdWV1ZV9pbmZvKSk7Cj4gKwlyZXR1cm4gZGV2LT5vcHMtPnJ4cV9p
bmZvX2dldChkZXYsIHF1ZXVlX2lkLCBxdWV1ZV9pbmZvKTsKPiArfQo+ICsKPiAraW50IHVrX25l
dGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9p
ZCwKPiArCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZvKQo+ICt7
Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NF
UlQoZGV2LT5vcHMtPnR4cV9pbmZvX2dldCk7CgpTaG91bGQgaXQgbm90IGJlIG1heF90eF9xdWV1
ZXM/Cj4gKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVV
RVMpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2luZm8pOwo+ICsKPiArCS8qIENsZWFyIHZhbHVlcyBi
ZWZvcmUgcXVlcnlpbmcgZHJpdmVyIGZvciBjYXBhYmlsaXRpZXMgKi8KPiArCW1lbXNldChxdWV1
ZV9pbmZvLCAwLCBzaXplb2YoKnF1ZXVlX2luZm8pKTsKPiArCXJldHVybiBkZXYtPm9wcy0+dHhx
X2luZm9fZ2V0KGRldiwgcXVldWVfaWQsIHF1ZXVlX2luZm8pOwo+ICt9Cj4gKwo+ICtpbnQgdWtf
bmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCWNvbnN0IHN0cnVj
dCB1a19uZXRkZXZfY29uZiAqZGV2X2NvbmYpCj4gK3sKPiArCXN0cnVjdCB1a19uZXRkZXZfaW5m
byBkZXZfaW5mbzsKPiArCWludCByZXQ7Cj4gKwo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19B
U1NFUlQoZGV2LT5fZGF0YSk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJU
KGRldi0+b3BzLT5jb25maWd1cmUpOwo+ICsJVUtfQVNTRVJUKGRldl9jb25mKTsKPiArCj4gKwlp
ZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX1VOQ09ORklHVVJFRCkKPiArCQlyZXR1
cm4gLUVJTlZBTDsKPiArCj4gKwl1a19uZXRkZXZfaW5mb19nZXQoZGV2LCAmZGV2X2luZm8pOwo+
ICsJaWYgKGRldl9jb25mLT5uYl9yeF9xdWV1ZXMgPiBkZXZfaW5mby5tYXhfcnhfcXVldWVzKQo+
ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJaWYgKGRldl9jb25mLT5uYl90eF9xdWV1ZXMgPiBkZXZf
aW5mby5tYXhfdHhfcXVldWVzKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXJldCA9IGRl
di0+b3BzLT5jb25maWd1cmUoZGV2LCBkZXZfY29uZik7Cj4gKwlpZiAocmV0ID49IDApIHsKPiAr
CQl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IENvbmZpZ3VyZWQgaW50ZXJmYWNlXG4iLAo+
ICsJCQkgICBkZXYtPl9kYXRhLT5pZCk7Cj4gKwkJZGV2LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRE
RVZfQ09ORklHVVJFRDsKPiArCX0gZWxzZSB7Cj4gKwkJdWtfcHJfZXJyKCJuZXRkZXYlIlBSSXUx
NiI6IEZhaWxlZCB0byBjb25maWd1cmUgaW50ZXJmYWNlOiAlZFxuIiwKPiArCQkJICBkZXYtPl9k
YXRhLT5pZCwgcmV0KTsKPiArCX0KPiArCXJldHVybiByZXQ7Cj4gK30KPiArCj4gKyNpZmRlZiBD
T05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArc3RhdGljIHZvaWQgX2Rpc3Bh
dGNoZXIodm9pZCAqYXJnKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIg
KmhhbmRsZXIgPQo+ICsJCShzdHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIgKikgYXJnOwo+
ICsKPiArCVVLX0FTU0VSVChoYW5kbGVyKTsKPiArCVVLX0FTU0VSVChoYW5kbGVyLT5jYWxsYmFj
ayk7Cj4gKwo+ICsJZm9yICg7Oykgewo+ICsJCXVrX3NlbWFwaG9yZV9kb3duKCZoYW5kbGVyLT5l
dmVudHMpOwo+ICsJCWhhbmRsZXItPmNhbGxiYWNrKGhhbmRsZXItPmRldiwKPiArCQkJCSAgaGFu
ZGxlci0+cXVldWVfaWQsCj4gKwkJCQkgIGhhbmRsZXItPmNvb2tpZSk7Cj4gKwl9Cj4gK30KPiAr
I2VuZGlmCj4gKwoKTWF5YmUgaXQgaXMgd2lzZSB0byBtb3ZlIHRoZSBDT05GSUdfTElCVUtORVRE
RVZfRElTUEFUQ0hFUlRIUkVBRFMgCnBhcmFtZXRlcnMgdG8gdGhlIGVuZC4KPiArc3RhdGljIGlu
dCBfY3JlYXRlX2V2ZW50X2hhbmRsZXIodWtfbmV0ZGV2X3F1ZXVlX2V2ZW50X3QgY2FsbGJhY2ss
Cj4gKwkJCQkgdm9pZCAqY2FsbGJhY2tfY29va2llLAo+ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVU
REVWX0RJU1BBVENIRVJUSFJFQURTCj4gKwkJCQkgc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50
MTZfdCBxdWV1ZV9pZCwKPiArCQkJCSBjb25zdCBjaGFyICpxdWV1ZV90eXBlX3N0ciwKPiArCQkJ
CSBzdHJ1Y3QgdWtfc2NoZWQgKnMsCj4gKyNlbmRpZgo+ICsJCQkJIHN0cnVjdCB1a19uZXRkZXZf
ZXZlbnRfaGFuZGxlciAqaCkKPiArewo+ICsJVUtfQVNTRVJUKGgpOwoKUHJvYmFibHkgbWlzc2lu
ZyBVS19BU1NFUlQKVUtfQVNTRVJUKGNhbGxiYWNrIHx8ICghY2FsbGJhY2sgJiYgIWNhbGxiYWNr
X2Nvb2tpZSkpCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMK
PiArCVVLX0FTU0VSVCghaC0+ZGlzcGF0Y2hlcik7Cj4gKyNlbmRpZgo+ICsKPiArCWgtPmNhbGxi
YWNrID0gY2FsbGJhY2s7Cj4gKwloLT5jb29raWUgICA9IGNhbGxiYWNrX2Nvb2tpZTsKPiArCj4g
KyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCS8qIElmIHdl
IGRvIG5vdCBoYXZlIGEgY2FsbGJhY2ssIHdlIGRvIG5vdCBuZWVkIGEgdGhyZWFkICovCj4gKwlp
ZiAoIWNhbGxiYWNrKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCWgtPmRldiA9IGRldjsKPiArCWgt
PnF1ZXVlX2lkID0gcXVldWVfaWQ7Cj4gKwl1a19zZW1hcGhvcmVfaW5pdCgmaC0+ZXZlbnRzLCAw
KTsKPiArCWgtPmRpc3BhdGNoZXJfcyA9IHM7Cj4gKwo+ICsJLyogQ3JlYXRlIGEgbmFtZSBmb3Ig
dGhlIGRpc3BhdGNoZXIgdGhyZWFkLgo+ICsJICogSW4gY2FzZSBvZiBlcnJvcnMsIHdlIGp1c3Qg
Y29udGludWUgd2l0aG91dCBhIG5hbWUKPiArCSAqLwo+ICsJaWYgKGFzcHJpbnRmKCZoLT5kaXNw
YXRjaGVyX25hbWUsCj4gKwkJICAgICAibmV0ZGV2JSJQUkl1MTYiLSVzWyUiUFJJdTE2Il0iLAo+
ICsJCSAgICAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX3R5cGVfc3RyLCBxdWV1ZV9pZCkgPCAwKSB7
Cj4gKwkJaC0+ZGlzcGF0Y2hlcl9uYW1lID0gTlVMTDsKPiArCX0KPiArCj4gKwloLT5kaXNwYXRj
aGVyID0gdWtfc2NoZWRfdGhyZWFkX2NyZWF0ZShoLT5kaXNwYXRjaGVyX3MsCj4gKwkJCQkJICAg
ICAgIGgtPmRpc3BhdGNoZXJfbmFtZSwKPiArCQkJCQkgICAgICAgX2Rpc3BhdGNoZXIsIGgpOwo+
ICsJaWYgKCFoLT5kaXNwYXRjaGVyKSB7Cj4gKwkJaWYgKGgtPmRpc3BhdGNoZXJfbmFtZSkKCkFu
eSByZWFzb24gd2h5IHdlIHVzZSBmcmVlIGluc3RlYWQgb2YgdWtfZnJlZT8KPiArCQkJZnJlZSho
LT5kaXNwYXRjaGVyX25hbWUpOwo+ICsJCWgtPmRpc3BhdGNoZXJfbmFtZSA9IE5VTEw7Cj4gKwkJ
cmV0dXJuIC1FTk9NRU07Cj4gKwl9Cj4gKyNlbmRpZgo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4g
Kwo+ICtzdGF0aWMgdm9pZCBfZGVzdHJveV9ldmVudF9oYW5kbGVyKHN0cnVjdCB1a19uZXRkZXZf
ZXZlbnRfaGFuZGxlciAqaAo+ICsJCQkJICAgX19tYXliZV91bnVzZWQpCj4gK3sKPiArCVVLX0FT
U0VSVChoKTsKPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVB
RFMKPiArCVVLX0FTU0VSVChoLT5kaXNwYXRjaGVyX3MpOwo+ICsKPiArCWlmIChoLT5kaXNwYXRj
aGVyKQo+ICsJCXVrX3NjaGVkX3RocmVhZF9kZXN0cm95KGgtPmRpc3BhdGNoZXJfcywgaC0+ZGlz
cGF0Y2hlcik7Cj4gKwloLT5kaXNwYXRjaGVyID0gTlVMTDsKPiArCj4gKwlpZiAoaC0+ZGlzcGF0
Y2hlcl9uYW1lKQoKQW55IHJlYXNvbiB3aHkgd2UgdXNlIGZyZWUgaW5zdGVhZCBvZiB1a19mcmVl
Pwo+ICsJCWZyZWUoaC0+ZGlzcGF0Y2hlcl9uYW1lKTsKPiArCWgtPmRpc3BhdGNoZXJfbmFtZSA9
IE5VTEw7Cj4gKyNlbmRpZgo+ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X3J4cV9jb25maWd1cmUo
c3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPiArCQkJICAgIHVpbnQx
Nl90IG5iX2Rlc2MsCj4gKwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhf
Y29uZikKPiArewo+ICsJaW50IGVycjsKPiArCj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FT
U0VSVChkZXYtPl9kYXRhKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnJ4cV9jb25maWd1cmUpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklH
X0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVChyeF9jb25mKTsKPiArI2lm
ZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUwo+ICsJVUtfQVNTRVJUKChy
eF9jb25mLT5jYWxsYmFjayAmJiByeF9jb25mLT5zKQo+ICsJCSAgfHwgIXJ4X2NvbmYtPmNhbGxi
YWNrKTsKPiArI2VuZGlmCj4gKwo+ICsJaWYgKGRldi0+X2RhdGEtPnN0YXRlICE9IFVLX05FVERF
Vl9DT05GSUdVUkVEKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCS8qIE1ha2Ugc3VyZSB0
aGF0IHdlIGFyZSBub3QgaW5pdGlhbGl6aW5nIHRoaXMgcXVldWUgYSBzZWNvbmQgdGltZSAqLwo+
ICsJaWYgKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pKQo+ICsJCXJldHVybiAt
RUJVU1k7Cj4gKwo+ICsJZXJyID0gX2NyZWF0ZV9ldmVudF9oYW5kbGVyKHJ4X2NvbmYtPmNhbGxi
YWNrLCByeF9jb25mLT5jYWxsYmFja19jb29raWUsCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRE
RVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCQkJCSAgICBkZXYsIHF1ZXVlX2lkLCAicnhxIiwgcnhf
Y29uZi0+cywKPiArI2VuZGlmCj4gKwkJCQkgICAgJmRldi0+X2RhdGEtPnJ4cV9oYW5kbGVyW3F1
ZXVlX2lkXSk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gZXJyX291dDsKPiArCj4gKwlkZXYtPl9y
eF9xdWV1ZVtxdWV1ZV9pZF0gPSBkZXYtPm9wcy0+cnhxX2NvbmZpZ3VyZShkZXYsIHF1ZXVlX2lk
LAo+ICsJCQkJCQkJICAgbmJfZGVzYywgcnhfY29uZik7Cj4gKwlpZiAoUFRSSVNFUlIoZGV2LT5f
cnhfcXVldWVbcXVldWVfaWRdKSkgewo+ICsJCWVyciA9IFBUUjJFUlIoZGV2LT5fcnhfcXVldWVb
cXVldWVfaWRdKTsKPiArCQlnb3RvIGVycl9kZXN0cm95X2hhbmRsZXI7Cj4gKwl9Cj4gKwo+ICsJ
dWtfcHJfaW5mbygibmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIHJlY2VpdmUgcXVldWUgJSJQ
Ukl1MTYiXG4iLAo+ICsJCSAgIGRldi0+X2RhdGEtPmlkLCBxdWV1ZV9pZCk7Cj4gKwlyZXR1cm4g
MDsKPiArCj4gK2Vycl9kZXN0cm95X2hhbmRsZXI6Cj4gKwlfZGVzdHJveV9ldmVudF9oYW5kbGVy
KCZkZXYtPl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF0pOwo+ICtlcnJfb3V0Ogo+ICsJcmV0
dXJuIGVycjsKPiArfQo+ICsKPiAraW50IHVrX25ldGRldl90eHFfY29uZmlndXJlKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCSAgICB1aW50MTZfdCBuYl9k
ZXNjLAo+ICsJCQkgICAgc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKnR4X2NvbmYpCj4g
K3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtf
QVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+dHhxX2NvbmZpZ3VyZSk7
Cj4gKwlVS19BU1NFUlQodHhfY29uZik7Cj4gKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdf
TElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+ICsKPiArCWlmIChkZXYtPl9kYXRhLT5zdGF0ZSAh
PSBVS19ORVRERVZfQ09ORklHVVJFRCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkvKiBN
YWtlIHN1cmUgdGhhdCB3ZSBhcmUgbm90IGluaXRpYWxpemluZyB0aGlzIHF1ZXVlIGEgc2Vjb25k
IHRpbWUgKi8KPiArCWlmICghUFRSSVNFUlIoZGV2LT5fdHhfcXVldWVbcXVldWVfaWRdKSkKPiAr
CQlyZXR1cm4gLUVCVVNZOwo+ICsKPiArCWRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSA9IGRldi0+
b3BzLT50eHFfY29uZmlndXJlKGRldiwgcXVldWVfaWQsCj4gKwkJCQkJCQkgICBuYl9kZXNjLCB0
eF9jb25mKTsKPiArCWlmIChQVFJJU0VSUihkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0pKQo+ICsJ
CXJldHVybiBQVFIyRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSk7Cj4gKwo+ICsJdWtfcHJf
aW5mbygibmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIHRyYW5zbWl0IHF1ZXVlICUiUFJJdTE2
IlxuIiwKPiArCQkJICAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX2lkKTsKPiArCXJldHVybiAwOwo+
ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKmRldikKPiAr
ewo+ICsJaW50IHJldDsKPiArCj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYt
Pl9kYXRhKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMt
PnN0YXJ0KTsKPiArCj4gKwlpZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX0NPTkZJ
R1VSRUQpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJcmV0ID0gZGV2LT5vcHMtPnN0YXJ0
KGRldik7Cj4gKwlpZiAocmV0ID49IDApIHsKPiArCQl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUx
NiI6IFN0YXJ0ZWQgaW50ZXJmYWNlXG4iLAo+ICsJCQkgICBkZXYtPl9kYXRhLT5pZCk7Cj4gKwkJ
ZGV2LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfUlVOTklORzsKPiArCX0KPiArCXJldHVybiBy
ZXQ7Cj4gK30KPiAKClRoYW5rcyAmIFJlZ2FyZHMKU2hhcmFuCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 14:44:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 14:44:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAcC0-0002Ns-Bh; Thu, 11 Oct 2018 14:44:00 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAcBz-0002Nk-Km
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 14:43:59 +0000
X-Inumbo-ID: b75a8b88-cd63-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b75a8b88-cd63-11e8-a8a5-bc764e045a96;
 Thu, 11 Oct 2018 16:41:20 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 15BFBF2030;
 Thu, 11 Oct 2018 16:43:55 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Dd3R03_KqaZ8; Thu, 11 Oct 2018 16:43:54 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E084FF2027;
 Thu, 11 Oct 2018 16:43:50 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 16:43:50
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-9-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <733c0d0e-497b-8f35-77a4-f8a3f0230452@neclab.eu>
Date: Thu, 11 Oct 2018 16:43:50 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-9-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 08/11] lib/uknetdev: Hardware
 address interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpPbiAxMC8xMC8yMDE4IDAy
OjAwIFBNLCBTaW1vbiBLdWVuemVyIHdyb3RlOgo+IEZyb206IFJhenZhbiBDb2pvY2FydSA8cmF6
dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IAo+IEFkZCBhIGdldHRlciBhbmQgYSBzZXR0ZXIg
Zm9yIGEgbmV0ZGV2J3MgaGFyZHdhcmUgYWRkcmVzcyAoTUFDKS4gVGhpcwo+IEFQSSBpbnRlcmZh
Y2UgaXMgb3B0aW9uYWwgZm9yIGEgZHJpdmVyIHRvIGltcGxlbWVudC4gQnkgbWFraW5nIHRoaXMK
PiBvcHRpb25hbCB3ZSBjb3VsZCBzdXBwb3J0IG5ldHdvcmsgZGV2aWNlcyB0aGF0IG9wZXJhdGUg
b24gTDMgaW4gdGhlCj4gZnV0dXJlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIg
PHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgbGliL3VrbmV0ZGV2L2V4
cG9ydHN5bXMudWsgICAgICAgICAgICB8ICAyICsrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRkZXYuaCAgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysKPiAgIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggfCAyMiArKysrKysrKysrKysrKysrKysrKwo+
ICAgbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAgICAgICAgICB8IDM4ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlv
bnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIv
dWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IGM3MzNkODEuLjhiMTM0OTkgMTAwNjQ0Cj4g
LS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhw
b3J0c3ltcy51awo+IEBAIC0yMiwzICsyMiw1IEBAIHVrX25ldGRldl9jb25maWd1cmUKPiAgIHVr
X25ldGRldl9yeHFfY29uZmlndXJlCj4gICB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZQo+ICAgdWtf
bmV0ZGV2X3N0YXJ0Cj4gK3VrX25ldGRldl9od2FkZHJfc2V0Cj4gK3VrX25ldGRldl9od2FkZHJf
Z2V0Cj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiBpbmRleCA3MjIzYmE3Li40MjNlMzIxIDEw
MDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gKysrIGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiBAQCAtMjg0LDYgKzI4NCwzMSBAQCBpbnQg
dWtfbmV0ZGV2X3R4cV9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBx
dWV1ZV9pZCwKPiAgICAqLwo+ICAgaW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpOwo+ICAgCj4gKy8qKgo+ICsgKiBSZXR1cm5zIHRoZSBoYXJkd2FyZSBhZGRyZXNzIG9m
IHRoZSBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsg
KiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHJldHVybgo+ICsgKiAgIC0g
KE5VTEwpOiBubyBoYXJkd2FyZSBhZGRyZXNzIGF2YWlsYWJsZQo+ICsgKiAgIC0gKHN0cnVjdCB1
a19od2FkZHIgKik6IFJlZmVyZW5jZSB0byBoYXJkd2FyZSBhZGRyZXNzCj4gKyAqLwo+ICtjb25z
dCBzdHJ1Y3QgdWtfaHdhZGRyICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpOwo+ICsKPiArLyoqCj4gKyAqIFNldCB0aGUgaGFyZHdhcmUgYWRkcmVzcy4KPiArICoK
PiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiAr
ICogQHBhcmFtIGh3YWRkcgo+ICsgKiAgIFJlZmVyZW5jZSB0byBuZXcgaGFyZHdhcmUgYWRkcmVz
cy4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBpZiBzdWNjZXNzZnVsLgo+ICsgKiAgIC0g
KC1FTk9UU1VQKTogaWYgaGFyZHdhcmUgZG9lc24ndCBzdXBwb3J0Lgo+ICsgKiAgIC0gKC1FSU5W
QUwpOiBpZiBhZGRyZXNzIGlzIGludmFsaWQuCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X2h3YWRk
cl9zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICpod2Fk
ZHIpOwo+ICsKPiAgICNpZmRlZiBfX2NwbHVzcGx1cwo+ICAgfQo+ICAgI2VuZGlmCj4gZGlmZiAt
LWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggYi9saWIvdWtuZXRk
ZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gaW5kZXggMDJjNWJhMC4uY2NhNmQxMyAxMDA2
NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gKysrIGIv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IEBAIC02OSw2ICs2OSwxNSBA
QCBzdHJ1Y3QgdWtfbmV0ZGV2Owo+ICAgVUtfVEFJTFFfSEVBRCh1a19uZXRkZXZfbGlzdCwgc3Ry
dWN0IHVrX25ldGRldik7Cj4gICAKPiAgIC8qKgo+ICsgKiBBIHN0cnVjdHVyZSB1c2VkIGZvciBF
dGhlcm5ldCBoYXJkd2FyZSBhZGRyZXNzZXMKPiArICovCj4gKyNkZWZpbmUgVUtfTkVUREVWX0hX
QUREUl9MRU4gNiAvKio8IExlbmd0aCBvZiBFdGhlcm5ldCBhZGRyZXNzLiAqLwo+ICsKPiArc3Ry
dWN0IHVrX2h3YWRkciB7Cj4gKwl1aW50OF90IGFkZHJfYnl0ZXNbVUtfTkVUREVWX0hXQUREUl9M
RU5dOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArLyoqCj4gICAgKiBBIHN0cnVjdHVyZSB1c2VkIHRv
IGRlc2NyaWJlIG5ldHdvcmsgZGV2aWNlIGNhcGFiaWxpdGllcy4KPiAgICAqLwo+ICAgc3RydWN0
IHVrX25ldGRldl9pbmZvIHsKPiBAQCAtMjI0LDEwICsyMzMsMjMgQEAgdHlwZWRlZiBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICogKCp1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZV90KSgKPiAgIC8q
KiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdGFydCBhIGNvbmZpZ3VyZWQgVW5pa3JhZnQgbmV0
d29yayBkZXZpY2UuICovCj4gICB0eXBlZGVmIGludCAgKCp1a19uZXRkZXZfc3RhcnRfdCkoc3Ry
dWN0IHVrX25ldGRldiAqZGV2KTsKPiAgIAo+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8g
Z2V0IHRoZSBoYXJkd2FyZSBhZGRyZXNzLiAqLwo+ICt0eXBlZGVmIGNvbnN0IHN0cnVjdCB1a19o
d2FkZHIgKigqdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCkoCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYpOwo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB0aGUgaGFyZHdhcmUg
YWRkcmVzcy4gKi8KPiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfaHdhZGRyX3NldF90KShzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkgICAgICBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICpo
d2FkZHIpOwo+ICsKPiArCj4gICAvKioKPiAgICAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhl
IGZ1bmN0aW9ucyBleHBvcnRlZCBieSBhIGRyaXZlci4KPiAgICAqLwo+ICAgc3RydWN0IHVrX25l
dGRldl9vcHMgewo+ICsJLyoqIFNldC9HZXQgaGFyZHdhcmUgYWRkcmVzcy4gKi8KPiArCXVrX25l
dGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdhZGRyX2dldDsgICAgICAgLyogcmVjb21tZW5k
ZWQgKi8KPiArCXVrX25ldGRldl9od2FkZHJfc2V0X3QgICAgICAgICAgaHdhZGRyX3NldDsgICAg
ICAgLyogb3B0aW9uYWwgKi8KPiArCj4gICAJLyoqIERldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVz
IGFuZCBpbmZvLiAqLwo+ICAgCXVrX25ldGRldl9pbmZvX2dldF90ICAgICAgICAgICAgaW5mb19n
ZXQ7Cj4gICAJdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90ICAgICAgICB0eHFfaW5mb19nZXQ7Cj4g
ZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRkZXYuYyBiL2xpYi91a25ldGRldi9uZXRkZXYu
Ywo+IGluZGV4IDNlZWE1ZWQuLjNmYjUyMWEgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L25l
dGRldi5jCj4gKysrIGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCj4gQEAgLTQxMSwzICs0MTEsNDEg
QEAgaW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCj4gICAJfQo+ICAg
CXJldHVybiByZXQ7Cj4gICB9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0
IHVrX25ldGRldiAqZGV2LAo+ICsJCQkgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKQo+
ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiArCVVL
X0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoaHdhZGRyKTsKPiArCj4gKwkvKiBXZSBk
byBzdXBwb3J0IGNoYW5naW5nIG9mIGh3YWRkcgo+ICsJICogb25seSB3aGVuIGRldmljZSB3YXMg
Y29uZmlndXJlZAo+ICsJICovCj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtf
TkVUREVWX0NPTkZJR1VSRUQKPiArCQkgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERF
Vl9SVU5OSU5HKTsKPiArCj4gKwlpZiAoZGV2LT5vcHMtPmh3YWRkcl9zZXQgPT0gTlVMTCkKPiAr
CQlyZXR1cm4gLUVOT1RTVVA7Cj4gKwo+ICsJcmV0dXJuIGRldi0+b3BzLT5od2FkZHJfc2V0KGRl
diwgaHdhZGRyKTsKPiArfQo+ICsKPiArY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqdWtfbmV0ZGV2
X2h3YWRkcl9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2
KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4g
Kwo+ICsJLyogV2UgZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIGh3YWRkcgo+ICsJICogb25seSB3
aGVuIGRldmljZSB3YXMgY29uZmlndXJlZAo+ICsJICovCj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0
YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NPTkZJR1VSRUQKPiArCQkgIHx8IGRldi0+X2RhdGEtPnN0
YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKPiArCj4gKwlpZiAoIWRldi0+b3BzLT5od2FkZHJf
Z2V0KQo+ICsJCXJldHVybiBOVUxMOwo+ICsKPiArCXJldHVybiBkZXYtPm9wcy0+aHdhZGRyX2dl
dChkZXYpOwo+ICt9Cj4gCgpUaGFua3MgJiBSZWdhcmRzClNoYXJhbgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 14:58:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 14:58:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAcQN-0003NF-MT; Thu, 11 Oct 2018 14:58:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAcQM-0003NA-96
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 14:58:50 +0000
X-Inumbo-ID: 57759d6f-cd66-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 57759d6f-cd66-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 15:00:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DD822104A03;
 Thu, 11 Oct 2018 16:58:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LF5OjEisDmKj; Thu, 11 Oct 2018 16:58:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id BA79B103B9A;
 Thu, 11 Oct 2018 16:58:43 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 16:58:43
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-10-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <0e25b2e1-b515-b578-f14b-d8b16bb0f350@neclab.eu>
Date: Thu, 11 Oct 2018 16:58:43 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-10-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 09/11] lib/uknetdev:
 Promiscuous mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgoKT24gMTAvMTAv
MjAxOCAwMjowMCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBGcm9tOiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBBZGQgaW50ZXJmYWNlcyB0byBx
dWVyeSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBtb2RlIGZvciBhCj4gbmV0ZGV2
Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFi
LmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNA
Z21haWwuY29tPgo+IC0tLQo+ICAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAg
ICB8ICAyICsrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgIHwgMjYg
KysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmggfCAgOSArKysrKysrKysKPiAgIGxpYi91a25ldGRldi9uZXRkZXYuYyAgICAg
ICAgICAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAg
NCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi91
a25ldGRldi9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiBpbmRl
eCA4YjEzNDk5Li42ZThiMDZiIDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1z
LnVrCj4gKysrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiBAQCAtMjQsMyArMjQsNSBA
QCB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZQo+ICAgdWtfbmV0ZGV2X3N0YXJ0Cj4gICB1a19uZXRk
ZXZfaHdhZGRyX3NldAo+ICAgdWtfbmV0ZGV2X2h3YWRkcl9nZXQKPiArdWtfbmV0ZGV2X3Byb21p
c2N1b3VzX2dldAo+ICt1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0Cj4gZGlmZiAtLWdpdCBhL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsv
bmV0ZGV2LmgKPiBpbmRleCA0MjNlMzIxLi5iMDY5NzhhIDEwMDY0NAo+IC0tLSBhL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsv
bmV0ZGV2LmgKPiBAQCAtMzA5LDYgKzMwOSwzMiBAQCBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp1
a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICAgICovCj4gICBp
bnQgdWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBjb25zdCBzdHJ1
Y3QgdWtfaHdhZGRyICpod2FkZHIpOwo+ICAgCj4gKy8qKgo+ICsgKiBSZXR1cm5zIGlmIHByb21p
c2N1b3VzIG1vZGUgaXMgZW5hYmxlZCBmb3IgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4g
KyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2Uu
Cj4gKyAqIEByZXR1cm4KPiArICogICAtICgxKTogaWYgcHJvbWlzY3VvdXMgaXMgZW5hYmxlZAo+
ICsgKiAgIC0gKDApOiBpZiBwcm9taXNjdW91cyBpcyBkaXNhYmxlZC4KCldlIHNob3VsZCByZXBo
cmFzZSBpdCBhcyA8IDAgZm9yIGVycm9yLCBhcyBpdCBkZXBlbmQgb24gdGhlIGRldmljZSBkcml2
ZXIKPiArICogICAtICgtMSk6IG9uIGVycm9yCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X3Byb21p
c2N1b3VzX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICsKPiArLyoqCj4gKyAqIEVuYWJs
ZXMgb3IgZGlzYWJsZXMgcHJvbWlzY3VvdXMgbW9kZSBmb3IgYW4gVW5pa3JhZnQgbmV0d29yayBk
ZXZpY2UuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29y
ayBEZXZpY2UuCj4gKyAqIEBwYXJhbSBtb2RlCj4gKyAqICAgLSAoMCk6IGRpc2FibGUgcHJvbWlz
Y3VvdXMgbW9kZQo+ICsgKiAgIC0gKDEpOiBlbmFibGUgcHJvbWlzY3VvdXMgbW9kZQo+ICsgKiBA
cmV0dXJuCj4gKyAqICAgLSAoMCk6IGlmIHN1Y2Nlc3NmdWwuCj4gKyAqICAgLSAoLUVOT1RTVVAp
OiBpZiBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IHByb21pc2N1b3VzIG1vZGUuCj4gKyAqLwo+ICtp
bnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIGludCBt
b2RlKTsKPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZgo+IGRpZmYg
LS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IGluZGV4IGNjYTZkMTMuLjAxNzExMjcgMTAw
NjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+ICsrKyBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiBAQCAtMjQxLDYgKzI0MSwx
MSBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKigqdWtfbmV0ZGV2X2h3YWRkcl9n
ZXRfdCkoCj4gICB0eXBlZGVmIGludCAoKnVrX25ldGRldl9od2FkZHJfc2V0X3QpKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwKPiAgIAkJCQkgICAgICBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICpod2Fk
ZHIpOwo+ICAgCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBnZXQgdGhlIGN1cnJlbnQg
cHJvbWlzY3VvdXMgbW9kZSAqLwo+ICt0eXBlZGVmIGludCAoKnVrX25ldGRldl9wcm9taXNjdW91
c19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJh
Y2sgdHlwZSB0byBlbmFibGUgb3IgZGlzYWJsZSBwcm9taXNjdW91cyBtb2RlICovCj4gK3R5cGVk
ZWYgaW50ICgqdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIGludCBtb2RlKTsKPiAgIAo+ICAgLyoqCj4gICAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5n
IHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCj4gQEAgLTI1MCw2ICsyNTUsMTAg
QEAgc3RydWN0IHVrX25ldGRldl9vcHMgewo+ICAgCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAg
ICAgICAgaHdhZGRyX2dldDsgICAgICAgLyogcmVjb21tZW5kZWQgKi8KPiAgIAl1a19uZXRkZXZf
aHdhZGRyX3NldF90ICAgICAgICAgIGh3YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCj4g
ICAKPiArCS8qKiBQcm9taXNjdW91cyBtb2RlLiAqLwo+ICsJdWtfbmV0ZGV2X3Byb21pc2N1b3Vz
X3NldF90ICAgICBwcm9taXNjdW91c19zZXQ7ICAvKiBvcHRpb25hbCAqLwo+ICsJdWtfbmV0ZGV2
X3Byb21pc2N1b3VzX2dldF90ICAgICBwcm9taXNjdW91c19nZXQ7Cj4gKwo+ICAgCS8qKiBEZXZp
Y2UvZHJpdmVyIGNhcGFiaWxpdGllcyBhbmQgaW5mby4gKi8KPiAgIAl1a19uZXRkZXZfaW5mb19n
ZXRfdCAgICAgICAgICAgIGluZm9fZ2V0Owo+ICAgCXVrX25ldGRldl90eHFfaW5mb19nZXRfdCAg
ICAgICAgdHhxX2luZm9fZ2V0Owo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMg
Yi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBpbmRleCAzZmI1MjFhLi4wYWY2M2FjIDEwMDY0NAo+
IC0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYuYwo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRkZXYu
Ywo+IEBAIC03OCw2ICs3OCw3IEBAIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAo+ICAgCVVLX0FTU0VSVChkZXYtPm9w
cy0+dHhxX2luZm9fZ2V0KTsKPiAgIAlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25maWd1cmUp
Owo+ICAgCVVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3Bz
LT5wcm9taXNjdW91c19nZXQpOwo+ICAgCj4gICAJZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEs
IG5ldGRldl9jb3VudCwgIGRydl9uYW1lKTsKPiAgIAlpZiAoIWRldi0+X2RhdGEpCj4gQEAgLTQ0
OSwzICs0NTAsMzcgQEAgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqdWtfbmV0ZGV2X2h3YWRkcl9n
ZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+ICAgCj4gICAJcmV0dXJuIGRldi0+b3BzLT5od2Fk
ZHJfZ2V0KGRldik7Cj4gICB9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNT
RVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChk
ZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKPiArCj4gKwkvKiBXZSBkbyBzdXBwb3J0IHJldHJp
ZXZpbmcgb2YgcHJvbWlzY3VvdXMgbW9kZQo+ICsJICogb25seSB3aGVuIGRldmljZSB3YXMgY29u
ZmlndXJlZAo+ICsJICovCj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVU
REVWX0NPTkZJR1VSRUQgfHwKPiArCQkgIGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9S
VU5OSU5HKTsKPiArCj4gKwlyZXR1cm4gZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldChkZXYpOwo+
ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIGludCBtb2RlKQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChk
ZXYtPl9kYXRhKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwo+ICsJLyogV2UgZG8gc3Vw
cG9ydCBzZXR0aW5nIG9mIHByb21pc2N1b3VzIG1vZGUKPiArCSAqIG9ubHkgd2hlbiBkZXZpY2Ug
d2FzIGNvbmZpZ3VyZWQKPiArCSAqLwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09
IFVLX05FVERFVl9DT05GSUdVUkVECj4gKwkJICB8fCBkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19O
RVRERVZfUlVOTklORyk7Cj4gKwo+ICsJaWYgKHVubGlrZWx5KCFkZXYtPm9wcy0+cHJvbWlzY3Vv
dXNfc2V0KSkKPiArCQlyZXR1cm4gLUVOT1RTVVA7Cj4gKwo+ICsJcmV0dXJuIGRldi0+b3BzLT5w
cm9taXNjdW91c19zZXQoZGV2LCBtb2RlID8gMSA6IDApOwo+ICt9Cj4gClRoYW5rcyAmIFJlZ2Fy
ZHMKU2hhcmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 15:10:28 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 15:10:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAcbb-00055e-Iy; Thu, 11 Oct 2018 15:10:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAcba-00055Z-8V
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 15:10:26 +0000
X-Inumbo-ID: f5ebc1d1-cd67-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f5ebc1d1-cd67-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 15:11:43 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 1D4FBF2030;
 Thu, 11 Oct 2018 17:10:23 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id jm58gi5EgtYe; Thu, 11 Oct 2018 17:10:22 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DA507F2027
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 17:10:20 +0200 (CEST)
Received: from vortex.office.hd (10.1.2.30) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 17:10:20 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 17:10:09 +0200
Message-ID: <20181011151009.15711-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.1.2.30]
Subject: [Minios-devel] [UNIKRAFT PATCH] plat/{kvm,
 xen}: Clean up Makefile.uk conditional build rules
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

MSkgVGhvc2UgaWZlcXMgYXJlbid0IG5lY2Vzc2FyeSBiZWNhdXNlIHRoZSAkKENPTkZJR19BUkNI
Li4uKSBwYXJ0CiAgIGFscmVhZHkgZGVhbHMgd2l0aCB0aGUgY29uZGl0aW9ucyB1bmRlciB3aGlj
aCB0byBidWlsZCB0aG9zZSBmaWxlcy4KMikgQWRkICQoTElCS1ZNUExBVF9CQVNFKS9pbmNsdWRl
IGFzIGluY2x1ZGUgZGlyZWN0b3J5IGZvciBsaWJrdm1wY2kgYW5kCiAgIGxpYmt2bXBjaXZpcnRp
by4KClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gU2NobWlkdCA8Zmxvcmlhbi5zY2htaWR0QG5lY2xh
Yi5ldT4KLS0tCiBwbGF0L2t2bS9NYWtlZmlsZS51ayB8ICA4ICsrKystLS0tCiBwbGF0L3hlbi9N
YWtlZmlsZS51ayB8IDIxICsrKysrKysrKysrLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAx
NSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9N
YWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IGI0OTNiYmEuLmNjNWJjZGQg
MTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01ha2VmaWxl
LnVrCkBAIC0yMSw3ICsyMSw2IEBAIExJQktWTVBMQVRfQ0lOQ0xVREVTLXkgICAgICAgICArPSAt
SSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogIyMKICMjIEFyY2hpdGVjdHVyZSBsaWJy
YXJ5IGRlZmluaXRpb25zIGZvciB4ODZfNjQKICMjCi1pZmVxICgkKENPTkZJR19BUkNIX1g4Nl82
NCkseSkKIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFU
X0NPTU1PTl9CQVNFKS94ODYvdHJhY2UuY3xjb21tb24KIExJQktWTVBMQVRfU1JDUy0kKENPTkZJ
R19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYvdHJhcHMuY3xjb21t
b24KIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NP
TU1PTl9CQVNFKS94ODYvY3B1X25hdGl2ZS5jfGNvbW1vbgpAQCAtNDUsMTIgKzQ0LDEwIEBAIGVu
ZGlmCiBpZmVxICgkKGZpbmRzdHJpbmcgeSwkKENPTkZJR19LVk1fS0VSTkVMX1NFUklBTF9DT05T
T0xFKSAkKENPTkZJR19LVk1fREVCVUdfU0VSSUFMX0NPTlNPTEUpKSx5KQogTElCS1ZNUExBVF9T
UkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQktWTVBMQVRfQkFTRSkveDg2L3Nlcmlh
bF9jb25zb2xlLmMKIGVuZGlmCi1lbmRpZgogCiAjIwogIyMgQXJjaGl0ZWN0dXJlIGxpYnJhcnkg
ZGVmaW5pdGlvbnMgZm9yIGFybTY0CiAjIwotaWZlcSAoJChDT05GSUdfQVJDSF9BUk1fNjQpLHkp
CiBpZmVxICgkKGZpbmRzdHJpbmcgeSwkKENPTkZJR19LVk1fS0VSTkVMX1NFUklBTF9DT05TT0xF
KSAkKENPTkZJR19LVk1fREVCVUdfU0VSSUFMX0NPTlNPTEUpKSx5KQogTElCS1ZNUExBVF9TUkNT
LSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2FybS9wbDAx
MS5jfGNvbW1vbgogZW5kaWYKQEAgLTY1LDcgKzYyLDYgQEAgTElCS1ZNUExBVF9TUkNTLSQoQ09O
RklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQktWTVBMQVRfQkFTRSkvYXJtL3BhZ2V0YWJsZS5TCiBM
SUJLVk1QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoTElCS1ZNUExBVF9CQVNF
KS9hcm0vc2V0dXAuYwogTElCS1ZNUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAk
KExJQktWTVBMQVRfQkFTRSkvYXJtL2xjcHUuYwogTElCS1ZNUExBVF9TUkNTLSQoQ09ORklHX0FS
Q0hfQVJNXzY0KSArPSAkKExJQktWTVBMQVRfQkFTRSkvYXJtL2ludGN0cmwuYwotZW5kaWYKIAog
TElCS1ZNUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoTElCS1ZNUExBVF9CQVNFKS9zaHV0
ZG93bi5jCiBMSUJLVk1QTEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChMSUJLVk1QTEFUX0JB
U0UpL21lbW9yeS5jCkBAIC03NywxMyArNzMsMTcgQEAgTElCS1ZNUExBVF9TUkNTLXkgICAgICAg
ICAgICAgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvbWVtb3J5LmN8Y29tbW9uCiAjIwogIyMg
UENJIGxpYnJhcnkgZGVmaW5pdGlvbnMKICMjCitMSUJLVk1QQ0lfQVNJTkNMVURFUy0kKENPTkZJ
R19BUkNIX1g4Nl82NCkgICs9IC1JJChMSUJLVk1QTEFUX0JBU0UpL2luY2x1ZGUKIExJQktWTVBD
SV9BU0lOQ0xVREVTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAgKz0gLUkkKFVLX1BMQVRfQ09NTU9O
X0JBU0UpL2luY2x1ZGUKK0xJQktWTVBDSV9DSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZfNjQp
ICAgKz0gLUkkKExJQktWTVBMQVRfQkFTRSkvaW5jbHVkZQogTElCS1ZNUENJX0NJTkNMVURFUy0k
KENPTkZJR19BUkNIX1g4Nl82NCkgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVk
ZQogTElCS1ZNUENJX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICAgICAgICArPSAkKFVLX1BM
QVRfQ09NTU9OX0JBU0UpL3BjaV9idXMuY3xjb21tb24KIAogIyMKICMjIFZpcnRpbyBsaWJyYXJ5
IGRlZmluaXRpb25zCiAjIworTElCS1ZNUENJVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChM
SUJLVk1QTEFUX0JBU0UpL2luY2x1ZGUKIExJQktWTVBDSVZJUlRJT19BU0lOQ0xVREVTLXkgICAr
PSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQorTElCS1ZNUENJVklSVElPX0NJTkNM
VURFUy15ICAgICs9IC1JJChMSUJLVk1QTEFUX0JBU0UpL2luY2x1ZGUKIExJQktWTVBDSVZJUlRJ
T19DSU5DTFVERVMteSAgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogTElC
S1ZNUENJVklSVElPX1NSQ1MteSAgICAgICAgICs9ICQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3Zp
cnRpby92aXJ0aW9fcmluZy5jCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9NYWtlZmlsZS51ayBiL3Bs
YXQveGVuL01ha2VmaWxlLnVrCmluZGV4IDVkNzc3YjIuLjdlOGYxMTQgMTAwNjQ0Ci0tLSBhL3Bs
YXQveGVuL01ha2VmaWxlLnVrCisrKyBiL3BsYXQveGVuL01ha2VmaWxlLnVrCkBAIC0zMSw3ICsz
MSw2IEBAIExJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJQlhFTlBMQVRfQkFT
RSkvaW8uYwogTElCWEVOUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9ICQoVUtfUExBVF9DT01N
T05fQkFTRSkvbGNwdS5jfGNvbW1vbgogTElCWEVOUExBVF9TUkNTLXkgICAgICAgICAgICAgICs9
ICQoVUtfUExBVF9DT01NT05fQkFTRSkvbWVtb3J5LmN8Y29tbW9uCiAKLWlmbmVxICgsJChmaWx0
ZXIgeDg2XzMyIHg4Nl82NCwkKENPTkZJR19VS19BUkNIKSkpCiBMSUJYRU5QTEFUX1NSQ1MtJChD
T05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L3RyYWNlLmN8
Y29tbW9uCiBMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExB
VF9DT01NT05fQkFTRSkveDg2L3RyYXBzLmN8Y29tbW9uCiBpZmVxICgkKENPTkZJR19IQVZFX1ND
SEVEKSx5KQpAQCAtNTUsMTggKzU0LDIwIEBAIExJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAg
ICArPSAkKExJQlhFTlBMQVRfQkFTRSkveDg2L2NwdV9wdi5jCiBlbHNlCiBMSUJYRU5QTEFUX1NS
Q1MteSAgICAgICAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYvY3B1X25hdGl2
ZS5jCiBlbmRpZgotZW5kaWYKIAotaWZuZXEgKCwkKGZpbHRlciBhcm0gYXJtXzY0LCQoQ09ORklH
X1VLX0FSQ0gpKSkKLUxJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKExJQlhFTlBM
QVRfQkFTRSkvYXJtL3NldHVwLmMKLUxJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAk
KExJQlhFTlBMQVRfQkFTRSkvYXJtL3RyYXBzLmMKK0xJQlhFTlBMQVRfU1JDUy0kKENPTkZJR19B
UkNIX0FSTV8zMikgKz0gJChMSUJYRU5QTEFUX0JBU0UpL2FybS9zZXR1cC5jCitMSUJYRU5QTEFU
X1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fMzIpICs9ICQoTElCWEVOUExBVF9CQVNFKS9hcm0vdHJh
cHMuYwogTElCWEVOUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzMyKSArPSAkKExJQlhFTlBM
QVRfQkFTRSkvYXJtL2VudHJ5MzIuUwotTElCWEVOUExBVF9TUkNTLSQoQVJDSF9BUk1fNjQpICs9
ICQoTElCWEVOUExBVF9CQVNFKS9hcm0vZW50cnk2NC5TCi1MSUJYRU5QTEFUX1NSQ1MteSAgICAg
ICAgICAgICAgKz0gJChMSUJYRU5QTEFUX0JBU0UpL2FybS9hcmNoX2V2ZW50cy5jCi1MSUJYRU5Q
TEFUX1NSQ1MteSAgICAgICAgICAgICAgKz0gJChMSUJYRU5QTEFUX0JBU0UpL2FybS9hcmNoX3Rp
bWUuYworTElCWEVOUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzMyKSArPSAkKExJQlhFTlBM
QVRfQkFTRSkvYXJtL2FyY2hfZXZlbnRzLmMKK0xJQlhFTlBMQVRfU1JDUy0kKENPTkZJR19BUkNI
X0FSTV8zMikgKz0gJChMSUJYRU5QTEFUX0JBU0UpL2FybS9hcmNoX3RpbWUuYwogTElCWEVOUExB
VF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzMyKSArPSAkKExJQlhFTlBMQVRfQkFTRSkvYXJtL2h5
cGVyY2FsbHMzMi5TCi1MSUJYRU5QTEFUX1NSQ1MtJChBUkNIX0FSTV82NCkgKz0gJChMSUJYRU5Q
TEFUX0JBU0UpL2FybS9oeXBlcmNhbGxzNjQuUwotZW5kaWYKKworTElCWEVOUExBVF9TUkNTLSQo
Q09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQlhFTlBMQVRfQkFTRSkvYXJtL3NldHVwLmMKK0xJ
QlhFTlBMQVRfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJYRU5QTEFUX0JBU0Up
L2FybS90cmFwcy5jCitMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQo
TElCWEVOUExBVF9CQVNFKS9hcm0vZW50cnk2NC5TCitMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdf
QVJDSF9BUk0pNjQpICs9ICQoTElCWEVOUExBVF9CQVNFKS9hcm0vYXJjaF9ldmVudHMuYworTElC
WEVOUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKExJQlhFTlBMQVRfQkFTRSkv
YXJtL2FyY2hfdGltZS5jCitMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9
ICQoTElCWEVOUExBVF9CQVNFKS9hcm0vaHlwZXJjYWxsczY0LlMKIAogTElCWEVOUExBVF9TUkNT
LXkgICAgICAgICAgICAgICs9ICQoTElCWEVOUExBVF9CQVNFKS9sY3B1LmMKIExJQlhFTlBMQVRf
U1JDUy15ICAgICAgICAgICAgICArPSAkKExJQlhFTlBMQVRfQkFTRSkvY29uc29sZS5jCi0tIAoy
LjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 15:14:14 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 15:14:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAcfF-00058U-Tm; Thu, 11 Oct 2018 15:14:13 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAcfE-00058P-CK
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 15:14:12 +0000
X-Inumbo-ID: 7d143ff4-cd68-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7d143ff4-cd68-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 15:15:30 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 0F19CF2031;
 Thu, 11 Oct 2018 17:14:10 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id lD-5L_zKD0RW; Thu, 11 Oct 2018 17:14:09 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DBA4CF2030;
 Thu, 11 Oct 2018 17:14:05 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 17:14:05
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-11-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <9af040f8-efad-6580-5bc2-b0a766c319c4@neclab.eu>
Date: Thu, 11 Oct 2018 17:14:05 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-11-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 10/11] lib/uknetdev: MTU
 interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lOgoKT24gMTAvMTAv
MjAxOCAwMjowMCBQTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBGcm9tOiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBBZGQgaW50ZXJmYWNlcyB0byBx
dWVyeSBhbmQgc2V0IHRoZSBtYXhpbXVtIHRyYW5zbWlzc2lvbiB1bml0IChNVFUpCj4gZm9yIGEg
bmV0ZGV2Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJA
bmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9j
YXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAg
ICAgICAgICB8ICAyICsrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAg
IHwgMjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oIHwgMTAgKysrKysrKysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGRl
di5jICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0
IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
awo+IGluZGV4IDZlOGIwNmIuLjllMjY0YmQgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4
cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC0yNiwz
ICsyNiw1IEBAIHVrX25ldGRldl9od2FkZHJfc2V0Cj4gICB1a19uZXRkZXZfaHdhZGRyX2dldAo+
ICAgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldAo+ICAgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3Nl
dAo+ICt1a19uZXRkZXZfbXR1X2dldAo+ICt1a19uZXRkZXZfbXR1X3NldAo+IGRpZmYgLS1naXQg
YS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldi5oCj4gaW5kZXggYjA2OTc4YS4uZTUyNzUzNCAxMDA2NDQKPiAtLS0gYS9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldi5oCj4gQEAgLTMzNSw2ICszMzUsMzMgQEAgaW50IHVrX25ldGRldl9wcm9taXNj
dW91c19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPiAgICAqLwo+ICAgaW50IHVrX25ldGRl
dl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSk7Cj4gICAK
PiArLyoqCj4gKyAqIFJldHVybnMgdGhlIE1UVSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmlj
ZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERl
dmljZS4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKD4wKTogTVRVIG9mIHRoZSB1a19uZXRkZXYK
VGhlIGRlc2NyaXB0aW9uIGRvZXMgbm90IG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KPiArICog
ICAtICgtRU5PVFNVUCk6IGRyaXZlciBkaWQgbm90IHNldCBhIE1UVS4KPiArICovCj4gK2ludCB1
a19uZXRkZXZfbXR1X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICsKPiArLyoqCj4gKyAq
IENoYW5nZSB0aGUgTVRVIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgo+ICsgKgo+ICsg
KiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+ICsgKiBA
cGFyYW0gbXR1Cj4gKyAqICAgQSB1aW50MTZfdCBmb3IgdGhlIE1UVSB0byBiZSBhcHBsaWVkLgo+
ICsgKiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IGlmIHN1Y2Nlc3NmdWwuCgpUaGUgZGVzY3JpcHRp
b24gb2YgdGhlIEFQSSBkb2VzIG5vdCBtYXRjaCB3aXRoIHRoZSBpbXBsZW1lbnRhdGlvbi4KPiAr
ICogICAtICgtRU5PVFNVUCk6IGlmIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgo+ICsgKiAg
IC0gKC1FSU8pOiBpZiBkZXZpY2UgaXMgcmVtb3ZlZC4KPiArICogICAtICgtRUlOVkFMKTogaWYg
Km10dSogaW52YWxpZC4KPiArICogICAtICgtRUJVU1kpOiBpZiBvcGVyYXRpb24gaXMgbm90IGFs
bG93ZWQgd2hlbiB0aGUgZGV2aWNlIGlzIHJ1bm5pbmcKPiArICovCj4gK2ludCB1a19uZXRkZXZf
bXR1X3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSk7Cj4gKwo+ICAgI2lm
ZGVmIF9fY3BsdXNwbHVzCj4gICB9Cj4gICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmgKPiBpbmRleCAwMTcxMTI3Li5mNzhmOTkyIDEwMDY0NAo+IC0tLSBhL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiArKysgYi9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oCj4gQEAgLTI0Nyw2ICsyNDcsMTIgQEAgdHlwZWRlZiBpbnQg
KCp1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4g
ICAvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gZW5hYmxlIG9yIGRpc2FibGUgcHJvbWlzY3Vv
dXMgbW9kZSAqLwo+ICAgdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0X3Qp
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgaW50IG1vZGUpOwo+ICAgCj4gKy8qKiBEcml2ZXIgY2Fs
bGJhY2sgdHlwZSB0byBnZXQgdGhlIE1UVS4gKi8KPiArdHlwZWRlZiB1aW50MTZfdCAoKnVrX25l
dGRldl9tdHVfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+ICsvKiogRHJpdmVy
IGNhbGxiYWNrIHR5cGUgdG8gc2V0IHRoZSBNVFUgKi8KPiArdHlwZWRlZiBpbnQgKCp1a19uZXRk
ZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSk7Cj4gKwo+
ICAgLyoqCj4gICAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0
ZWQgYnkgYSBkcml2ZXIuCj4gICAgKi8KPiBAQCAtMjU1LDYgKzI2MSwxMCBAQCBzdHJ1Y3QgdWtf
bmV0ZGV2X29wcyB7Cj4gICAJdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCAgICAgICAgICBod2FkZHJf
Z2V0OyAgICAgICAvKiByZWNvbW1lbmRlZCAqLwo+ICAgCXVrX25ldGRldl9od2FkZHJfc2V0X3Qg
ICAgICAgICAgaHdhZGRyX3NldDsgICAgICAgLyogb3B0aW9uYWwgKi8KPiAgIAo+ICsJLyoqIFNl
dC9HZXQgTVRVLiAqLwo+ICsJdWtfbmV0ZGV2X210dV9nZXRfdCAgICAgICAgICAgICBtdHVfZ2V0
Owo+ICsJdWtfbmV0ZGV2X210dV9zZXRfdCAgICAgICAgICAgICBtdHVfc2V0OyAgICAgICAgICAv
KiBvcHRpb25hbCAqLwo+ICsKPiAgIAkvKiogUHJvbWlzY3VvdXMgbW9kZS4gKi8KPiAgIAl1a19u
ZXRkZXZfcHJvbWlzY3VvdXNfc2V0X3QgICAgIHByb21pc2N1b3VzX3NldDsgIC8qIG9wdGlvbmFs
ICovCj4gICAJdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldF90ICAgICBwcm9taXNjdW91c19nZXQ7
Cj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRkZXYuYyBiL2xpYi91a25ldGRldi9uZXRk
ZXYuYwo+IGluZGV4IDBhZjYzYWMuLjYyNzczNTQgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2
L25ldGRldi5jCj4gKysrIGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCj4gQEAgLTc5LDYgKzc5LDcg
QEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1
Y3QgdWtfYWxsb2MgKmEsCj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfY29uZmlndXJlKTsK
PiAgIAlVS19BU1NFUlQoZGV2LT5vcHMtPnN0YXJ0KTsKPiAgIAlVS19BU1NFUlQoZGV2LT5vcHMt
PnByb21pc2N1b3VzX2dldCk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPm10dV9nZXQpOwo+ICAg
Cj4gICAJZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3VudCwgIGRydl9uYW1l
KTsKPiAgIAlpZiAoIWRldi0+X2RhdGEpCj4gQEAgLTQ4NCwzICs0ODUsMzcgQEAgaW50IHVrX25l
dGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSkKPiAg
IAo+ICAgCXJldHVybiBkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9kZSA/IDEgOiAw
KTsKPiAgIH0KPiArCgpUaGVyZSBpcyBub3dheSB0byByZXBvcnQgYW55IGVycm9yIG9uIHRoZSBn
ZXR0aW5nIHRoZSBtdHUsIGFzIHRoZSBkcml2ZXIgCnJldHVybnMgYW4gdWludDE2X3QgZGF0YSB0
eXBlLgo+ICtpbnQgdWtfbmV0ZGV2X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+ICt7
Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiArCVVLX0FT
U0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPm10dV9nZXQpOwo+ICsKCnMv
c2V0dGluZy9nZXR0aW5nCj4gKwkvKiBXZSBkbyBzdXBwb3J0IHNldHRpbmcgb2YgTVRVCj4gKwkg
KiBvbmx5IHdoZW4gZGV2aWNlIHdhcyBjb25maWd1cmVkCj4gKwkgKi8KPiArCVVLX0FTU0VSVChk
ZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfQ09ORklHVVJFRAo+ICsJCSAgfHwgZGV2LT5f
ZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+ICsKPiArCXJldHVybiBkZXYtPm9w
cy0+bXR1X2dldChkZXYpOwo+ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X210dV9zZXQoc3RydWN0
IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+
ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKCnMvcmV0
cmlldmluZy9zZXR0aW5nCj4gKwo+ICsJLyogV2UgZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIE1U
VQo+ICsJICogb25seSB3aGVuIGRldmljZSB3YXMgY29uZmlndXJlZAo+ICsJICovCj4gKwlVS19B
U1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NPTkZJR1VSRUQKPiArCQkgIHx8
IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKPiArCj4gKwlpZiAoZGV2
LT5vcHMtPm10dV9zZXQgPT0gTlVMTCkKPiArCQlyZXR1cm4gLUVOT1RTVVA7Cj4gKwo+ICsJcmV0
dXJuIGRldi0+b3BzLT5tdHVfc2V0KGRldiwgbXR1KTsKPiArfQo+IAoKVGhhbmtzICYgUmVnYXJk
cwpTaGFyYW4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 15:52:18 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 15:52:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAdG2-00012a-Eq; Thu, 11 Oct 2018 15:52:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ahbe=mx=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gAdG1-00012V-Ax
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 15:52:13 +0000
X-Inumbo-ID: cb82607c-cd6d-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id cb82607c-cd6d-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 15:53:29 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id EF1C1F2031;
 Thu, 11 Oct 2018 17:52:08 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id jBINXPPXg5fE; Thu, 11 Oct 2018 17:52:08 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id C4443F2030;
 Thu, 11 Oct 2018 17:52:04 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct 2018 17:52:04
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-12-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <b914f9ad-db3f-d3f7-b7ed-badb593a3a82@neclab.eu>
Date: Thu, 11 Oct 2018 17:52:04 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539172854-19138-12-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 11/11] lib/uknetdev: Packet
 reception and transmission interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuIFBsZWFzZSBmaW5kIHRoZSBzb21l
IG1pbm9yIGNvbW1lbnRzIGlubGluZXMKCiogVGhlcmUgYXJlIG1pbm9yIGNoYW5nZXMgZ3JhbW1h
dGljYWwgc3VnZ2VzdGlvbiBpbiB0aGUgQVBJIGRlc2NyaXB0aW9uIAp3aGljaCBjYW4gYmUgZml4
ZWQgd2hpbGUgd2UgcHVzaGluZyB0aGVtLgoKKiBUaGUgc3VnZ2VzdGVkIGNoYW5nZSB0byBtb3Zl
IHRoZSBpbnRlcnJ1cHQgZW5hYmxlL2Rpc2FibGUgd291bGQgYmUgYSAKbmljZSB0byBoYXZlLgoK
Ck9uIDEwLzEwLzIwMTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4gRnJvbTogUmF6
dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gCj4gSW50cm9kdWNl
IGludGVyZmFjZXMgZm9yIHNpbmdsZSBwYWNrZXQgdHJhbnNtaXNzaW9uIGFuZAo+IHJlY2VwdGlv
bi4gQm90aCBpbnRlcmZhY2VzIGFyZSBkZXNpZ25lZCB0byBzdXBwb3J0IGFzeW5jaHJvbm91cwo+
IHplcm8tY29weSBvcGVyYXRpb24gd2l0aCBuZXRidWZzLiBSZWNlaXZpbmcgY2FuIGJlIGRvbmUg
d2l0aAo+IGludGVycnVwdHMgb3Igd2l0aCBwb2xsaW5nLiBUcmFuc21pc3Npb24gc3VwcG9ydHMg
b25seSBwb2xsaW5nIG1vZGUKPiBmb3Igbm93Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1
ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBD
b2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgbGliL3VrbmV0
ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgIHwgICAyICsKPiAgIGxpYi91a25ldGRldi9p
bmNsdWRlL3VrL25ldGRldi5oICAgICAgICB8IDEzMCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCAgIHwgIDM2
ICsrKysrKysrLQo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oIHwg
IDI4ICsrKysrKysKPiAgIGxpYi91a25ldGRldi9uZXRkZXYuYyAgICAgICAgICAgICAgICAgICB8
ICAzMyArKysrKysrKwo+ICAgNSBmaWxlcyBjaGFuZ2VkLCAyMjcgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsg
Yi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IDllMjY0YmQuLmQ2ZjZmY2YgMTAw
NjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51awo+IEBAIC0yOCwzICsyOCw1IEBAIHVrX25ldGRldl9wcm9taXNjdW91
c19nZXQKPiAgIHVrX25ldGRldl9wcm9taXNjdW91c19zZXQKPiAgIHVrX25ldGRldl9tdHVfZ2V0
Cj4gICB1a19uZXRkZXZfbXR1X3NldAo+ICt1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlCj4gK3Vr
X25ldGRldl9yeHFfaW50cl9kaXNhYmxlCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNs
dWRlL3VrL25ldGRldi5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiBpbmRl
eCBlNTI3NTM0Li4xMWRkN2RmIDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldi5oCj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiBAQCAt
MzYyLDYgKzM2MiwxMzYgQEAgaW50IHVrX25ldGRldl9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYg
KmRldik7Cj4gICAgKi8KPiAgIGludCB1a19uZXRkZXZfbXR1X3NldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIHVpbnQxNl90IG10dSk7Cj4gICAKPiArLyoqCj4gKyAqIEVuYWJsZSBpbnRlcnJ1cHRz
IGZvciBhbiBSWCBxdWV1ZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlr
cmFmdCBOZXR3b3JrIERldmljZSBpbiBydW5uaW5nIHN0YXRlLgo+ICsgKiBAcGFyYW0gcXVldWVf
aWQKPiArICogICBUaGUgaW5kZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gc2V0IHVwLgo+ICsg
KiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUgLSAxXSBw
cmV2aW91c2x5IHN1cHBsaWVkCj4gKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgo+ICsg
KiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIGludGVycnVwdHMgZW5hYmxlZC4KPiAr
ICogICAtICgxKTogTW9yZSBwYWNrZXRzIGFyZSBsZWZ0IG9uIHRoZSBxdWV1ZSwgaW50ZXJydXB0
cyBhcmUgTk9UIGVuYWJsZWQgeWV0Lgo+ICsgKiAgICAgICAgICBJbnRlcnJ1cHRzIHdpbGwgYmUg
YXV0b21hdGljYWxseSBlbmFibGVkIHdoZW4gYWxsIHJlY2VpdmVkIHBhY2tldHMKPiArICogICAg
ICAgICAgb24gdGhlIHF1ZXVlIGFyZSBjb25zdW1lZCBhbmQgdGhlIHJlY2VpdmUgcXVldWUgaXMg
ZW1wdHkuCj4gKyAqICAgLSAoLUVOT1RTVVApOiBEcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpbnRl
cnJ1cHRzLgo+ICsgKi8KPiAraW50IHVrX25ldGRldl9yeHFfaW50cl9lbmFibGUoc3RydWN0IHVr
X25ldGRldiAqZGV2LAo+ICsJCQkgICAgICB1aW50MTZfdCByeF9xdWV1ZV9pZCk7Cj4gKwo+ICsv
KioKPiArICogRGlzYWJsZSBpbnRlcnJ1cHRzIGZvciBhbiBSWCBxdWV1ZS4KPiArICoKPiArICog
QHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBydW5uaW5n
IHN0YXRlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICogICBUaGUgaW5kZXggb2YgdGhlIHJl
Y2VpdmUgcXVldWUgdG8gc2V0IHVwLgo+ICsgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSBy
YW5nZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCj4gKyAqICAgdG8g
dWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgo+ICsgKiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IFN1Y2Nl
c3MsIGludGVycnVwdHMgZGlzYWJsZWQuCj4gKyAqICAgLSAoLUVOT1RTVVApOiBEcml2ZXIgZG9l
cyBub3Qgc3VwcG9ydCBpbnRlcnJ1cHRzLgo+ICsgKi8KPiAraW50IHVrX25ldGRldl9yeHFfaW50
cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJICAgICAgIHVpbnQxNl90IHJ4
X3F1ZXVlX2lkKTsKPiArCj4gKy8qKgo+ICsgKiBSZWNlaXZlIG9uZSBwYWNrZXQgYW5kIHJlLXBy
b2dyYW0gdXNlZCByZWNlaXZlIGRlc2NyaXB0b3IKPiArICogUGxlYXNlIG5vdGUgdGhhdCBiZWZv
cmUgYW55IHBhY2tldCBjYW4gYmUgcmVjZWl2ZWQsIHRoZSByZWNlaXZlIHF1ZXVlCj4gKyAqIGhh
cyB0byBiZSBmaWxsZWQgdXAgd2l0aCBlbXB0eSBuZXRidWZzIChzZWUgZmlsbHVwIHBhcmFtZXRl
cikuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBE
ZXZpY2UuCj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVj
ZWl2ZSBxdWV1ZSB0byByZWNlaXZlIGZyb20uCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4g
dGhlIHJhbmdlIFswLCBuYl9yeF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICog
ICB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBwa3QKPiArICogICBSZWZl
cmVuY2UgdG8gbmV0YnVmIHBvaW50ZXIgd2hpY2ggd2lsbCBiZSBwb2ludCB0byB0aGUgcmVjZWl2
ZWQgcGFja2V0Cj4gKyAqICAgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuIENhbiBiZSBOVUxMIGlm
IGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJvZ3JhbQo+ICsgKiAgIHJlY2VpdmUgZGVzY3JpcHRvcnMg
b25seS4KPiArICogQHBhcmFtIGZpbGx1cAo+ICsgKiAgIEFycmF5IG9mIG5ldGJ1ZnMgdGhhdCBz
aG91bGQgYmUgdXNlZCB0byBwcm9ncmFtIHVzZWQgZGVzY3JpcHRvcnMgYWdhaW4uCj4gKyAqICAg
RWFjaCBvZiB0aGUgbmV0YnVmIHNob3VsZCBiZSBmcmVzaGx5IGFsbG9jYXRlZC9pbml0aWFsaXpl
ZCBhbmQgbm90IHBhcnQKPiArICogICBvZiBhbnkgY2hhaW4uCj4gKyAqICAgYGZpbGx1cGAgY2Fu
IGJlIGBOVUxMYCBidXQgd2l0aG91dCByZS1wcm9ncmFtbWluZyBvZiB1c2VkIGRlc2NyaXB0b3Jz
IG5vCj4gKyAqICAgbmV3IHBhY2tldHMgY2FuIGJlIHJlY2VpdmVkIGF0IHNvbWUgcG9pbnQuCj4g
KyAqIEBwYXJhbSBmaWxsdXBfY291bnQKPiArICogICBMZW5ndGggb2YgYGZpbGx1cGAgYXJyYXku
IEFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLCBgZmlsbHVwX2NvdW50YCByZXR1cm5zCj4gKyAqICAg
dGhlIG51bWJlciBvZiBsZWZ0IGFuZCB1bnVzZWQgbmV0YnVmcyBvbiB0aGUgYXJyYXkuIGBmaWxs
dXBfY291bnRgIGhhcyB0bwo+ICsgKiAgIHRvIDAgaWYgYGZpbGx1cGAgaXMgYE5VTExgLgo+ICsg
KiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IE5vIHBhY2tldCBhdmFpbGFibGUgb3IgYHBrdGAgd2Fz
IHNldCB0byBOVUxMLAo+ICsgKiAgICAgICAgICBjaGVjayBgZmlsbHVwX2NvdW50YCBmb3IgdXNl
ZCBgZmlsbHVwYCBuZXRidWZzCj4gKyAqICAgLSAoMSk6IGBwa3RgIHBvaW50cyB0byByZWNlaXZl
ZCBuZXRidWYsCj4gKyAqICAgICAgICAgIGNoZWNrIGBmaWxsdXBfY291bnRgIGZvciB1c2VkIGBm
aWxsdXBgIG5ldGJ1ZnMKPiArICogICAtICgyKTogYHBrdGAgcG9pbnRzIHRvIHJlY2VpdmVkIG5l
dGJ1ZiBidXQgbW9yZSByZWNlaXZlZCBwYWNrZXRzIGFyZQo+ICsgKiAgICAgICAgICBhdmFpbGFi
bGUgb24gdGhlIHJlY2VpdmUgcXVldWUuIFdoZW4gaW50ZXJydXB0cyBhcmUgdXNlZCwgdGhleSBh
cmUKClNob3VsZG4ndCBpdCBiZSBzdWJzZXF1ZW50IGNhbGxzPwo+ICsgKiAgICAgICAgICBkaXNh
YmxlZCB1bnRpbCAxIGlzIHJldHVybmVkIG9uIGEgc3Vic2VxdWVudCBjYWxsCj4gKyAqICAgICAg
ICAgIGNoZWNrIGBmaWxsdXBfY291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKPiArICog
ICAtICg8MCk6IEVycm9yIGNvZGUgZnJvbSBkcml2ZXIKPiArICovCj4gK3N0YXRpYyBpbmxpbmUg
aW50IHVrX25ldGRldl9yeF9vbmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1
ZV9pZCwKPiArCQkJCSAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCj4gKwkJCQkgICBzdHJ1Y3Qg
dWtfbmV0YnVmICpmaWxsdXBbXSwKPiArCQkJCSAgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpCj4g
K3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+cnhfb25lKTsKClNob3Vs
ZCB3ZSBub3QgY29tcGFyZSBhZ2FpbnN0IG5iX3J4X3F1ZXVlPwo+ICsJVUtfQVNTRVJUKHF1ZXVl
X2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVChkZXYt
Pl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfUlVOTklORyk7Cj4gKwlVS19BU1NFUlQoIVBUUklT
RVJSKGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpOwo+ICsJVUtfQVNTRVJUKCghZmlsbHVwICYm
IGZpbGx1cF9jb3VudCkgfHwgZmlsbHVwKTsKPiArCj4gKwlyZXR1cm4gZGV2LT5yeF9vbmUoZGV2
LCBkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0sIHBrdCwKPiArCQkJICAgZmlsbHVwLCBmaWxsdXBf
Y291bnQpOwo+ICt9Cj4gKwo+ICsvKioKPiArICogU2hvcnRjdXQgZm9yIG9ubHkgZmlsbGluZyB1
cCBhIHJlY2VpdmUgcXVldWUgd2l0aCBlbXB0eSBuZXRidWZzCj4gKyAqLwo+ICsjZGVmaW5lIHVr
X25ldGRldl9yeF9maWxsdXAoZGV2LCBxdWV1ZV9pZCwgZmlsbHVwLCBmaWxsdXBfY291bnQpCVwK
PiArCXVrX25ldGRldl9yeF9vbmUoKGRldiksIChxdWV1ZV9pZCksIE5VTEwsIChmaWxsdXApLCAo
ZmlsbHVwX2NvdW50KSkKPiArCj4gKy8qKgo+ICsgKiBUcmFuc21pdCBvbmUgcGFja2V0Cj4gKyAq
Cj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4g
KyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1
ZSB0byByZWNlaXZlIGZyb20uCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdl
IFswLCBuYl90eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICogICB0byB1a19u
ZXRkZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBwa3QKPiArICogICBSZWZlcmVuY2UgdG8g
bmV0YnVmIHRvIHNlbnQuIFBhY2tldCBpcyBmcmVlJ2QgYnkgdGhlIGRyaXZlciBhZnRlciBzZW5k
aW5nCj4gKyAqICAgd2FzIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCBieSB0aGUgZGV2aWNlLgo+ICsg
KiAgIFBsZWFzZSBub3RlIHRoYXQgc29tZSBkcml2ZXJzIG1heSByZXF1aXJlIGF2YWlsYWJsZSBo
ZWFkcm9vbSBvbiB0aGUgbmV0YnVmCj4gKyAqICAgZm9yIGRvaW5nIGEgdHJhbnNtaXNzaW9uIC0g
aW5zcGVjdCBgbmJfZW5jYXBgIHdpdGggdWtfbmV0ZGV2X2luZm9fZ2V0KCkuCj4gKyAqICAgYHBr
dGAgaGFzIG5ldmVyIHRvIGJlIGBOVUxMYC4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBO
byBzcGFjZSBsZWZ0IG9uIHRyYW5zbWl0IHF1ZXVlLCBgcGt0YCBpcyBub3Qgc2VudAo+ICsgKiAg
IC0gKDEpOiBgcGt0YCB3YXMgc3VjY2Vzc2Z1bGx5IHB1dCB0byB0aGUgdHJhbnNtaXQgcXVldWUs
Cj4gKyAqICAgICAgICAgIHF1ZXVlIGlzIGN1cnJlbnRseSBmdWxsCj4gKyAqICAgLSAoMik6IGBw
a3RgIHdhcyBzdWNjZXNzZnVsbHkgcHV0IHRvIHRoZSB0cmFuc21pdCBxdWV1ZSwKPiArICogICAg
ICAgICAgdGhlcmUgaXMgc3RpbGwgYXQgbGVhc3Qgb25lIGRlc2NyaXB0b3IgYXZhaWxhYmxlIGZv
ciBhCj4gKyAqICAgICAgICAgIHN1YnNlcXVlbnQgdHJhbnNtaXNzaW9uCj4gKyAqICAgLSAoPDAp
OiBFcnJvciBjb2RlIGZyb20gZHJpdmVyLCBgcGt0YCBpcyBub3Qgc2VudAo+ICsgKi8KPiArc3Rh
dGljIGlubGluZSBpbnQgdWtfbmV0ZGV2X3R4X29uZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVp
bnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkJICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+ICt7Cj4g
KwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPnR4X29uZSk7CgpTaG91bGQgd2Ug
bm90IGNvbXBhcmUgYWdhaW5zdCBuYl90eF9xdWV1ZT8KPiArCVVLX0FTU0VSVChxdWV1ZV9pZCA8
IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0
YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+ICsJVUtfQVNTRVJUKCFQVFJJU0VSUihk
ZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0pKTsKPiArCVVLX0FTU0VSVChwa3QpOwo+ICsKPiArCXJl
dHVybiBkZXYtPnR4X29uZShkZXYsIGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSwgcGt0KTsKPiAr
fQo+ICsKPiAgICNpZmRlZiBfX2NwbHVzcGx1cwo+ICAgfQo+ICAgI2VuZGlmCj4gZGlmZiAtLWdp
dCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggYi9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gaW5kZXggZjc4Zjk5Mi4uNDc5MDA3ZSAxMDA2NDQK
PiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gKysrIGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IEBAIC0yNTMsMTAgKzI1MywzNCBA
QCB0eXBlZGVmIHVpbnQxNl90ICgqdWtfbmV0ZGV2X210dV9nZXRfdCkoc3RydWN0IHVrX25ldGRl
diAqZGV2KTsKPiAgIC8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdGhlIE1UVSAqLwo+
ICAgdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIHVpbnQxNl90IG10dSk7Cj4gICAKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGVu
YWJsZSBpbnRlcnJ1cHRzIG9mIGEgUlggcXVldWUgKi8KPiArdHlwZWRlZiBpbnQgKCp1a19uZXRk
ZXZfcnhxX2ludHJfZW5hYmxlX3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJCQkgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7Cj4gKwo+ICsvKiogRHJpdmVyIGNhbGxi
YWNrIHR5cGUgdG8gZGlzYWJsZSBpbnRlcnJ1cHRzIG9mIGEgUlggcXVldWUgKi8KPiArdHlwZWRl
ZiBpbnQgKCp1a19uZXRkZXZfcnhxX2ludHJfZGlzYWJsZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCj4gKwkJCQkJICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlKTsKPiArCj4g
Ky8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZXRyaWV2ZSBvbmUgcGFja2V0IGZyb20gYSBS
WCBxdWV1ZS4gKi8KPiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhfb25lX3QpKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwKPiArCQkJCSAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUs
Cj4gKwkJCQkgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCj4gKwkJCQkgIHN0cnVjdCB1a19uZXRi
dWYgKmZpbGx1cFtdLAo+ICsJCQkJICB1aW50MTZfdCAqZmlsbHVwX2NvdW50KTsKPiArCj4gKy8q
KiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdWJtaXQgb25lIHBhY2tldCB0byBhIFRYIHF1ZXVl
LiAqLwo+ICt0eXBlZGVmIGludCAoKnVrX25ldGRldl90eF9vbmVfdCkoc3RydWN0IHVrX25ldGRl
diAqZGV2LAo+ICsJCQkJICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPiArCQkJ
CSAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KTsKPiArCj4gICAvKioKPiAgICAqIEEgc3RydWN0dXJl
IGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSBhIGRyaXZlci4KPiAgICAqLwo+
ICAgc3RydWN0IHVrX25ldGRldl9vcHMgewo+ICsJLyoqIFJYIHF1ZXVlIGludGVycnVwdHMuICov
Cj4gKwl1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlX3QgICAgIHJ4cV9pbnRyX2VuYWJsZTsgIC8q
IG9wdGlvbmFsICovCj4gKwl1a19uZXRkZXZfcnhxX2ludHJfZGlzYWJsZV90ICAgIHJ4cV9pbnRy
X2Rpc2FibGU7IC8qIG9wdGlvbmFsICovCj4gKwo+ICAgCS8qKiBTZXQvR2V0IGhhcmR3YXJlIGFk
ZHJlc3MuICovCj4gICAJdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCAgICAgICAgICBod2FkZHJfZ2V0
OyAgICAgICAvKiByZWNvbW1lbmRlZCAqLwo+ICAgCXVrX25ldGRldl9od2FkZHJfc2V0X3QgICAg
ICAgICAgaHdhZGRyX3NldDsgICAgICAgLyogb3B0aW9uYWwgKi8KPiBAQCAtMzE4LDEwICszNDIs
MTggQEAgc3RydWN0IHVrX25ldGRldl9kYXRhIHsKPiAgICAqIE5FVERFVgo+ICAgICogQSBzdHJ1
Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZpY2UuCj4gICAgKgo+IC0g
KiBGdW5jdGlvbiBjYWxsYmFja3MgKG9wcykgYXJlIHJlZ2lzdGVyZWQgYnkgdGhlIGRyaXZlciBi
ZWZvcmUKPiAtICogcmVnaXN0ZXJpbmcgdGhlIG5ldGRldi4gVGhleSBjaGFuZ2UgZHVyaW5nIGRl
dmljZSBsaWZlIHRpbWUuCj4gKyAqIEZ1bmN0aW9uIGNhbGxiYWNrcyAodHhfb25lLCByeF9vbmUs
IG9wcykgYXJlIHJlZ2lzdGVyZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUKPiArICogcmVnaXN0ZXJp
bmcgdGhlIG5ldGRldi4gVGhleSBjaGFuZ2UgZHVyaW5nIGRldmljZSBsaWZlIHRpbWUuIFBhY2tl
dCBSWC9UWAo+ICsgKiBmdW5jdGlvbnMgYXJlIGFkZGVkIGRpcmVjdGx5IHRvIHRoaXMgc3RydWN0
dXJlIGZvciBwZXJmb3JtYW5jZSByZWFzb25zLgo+ICsgKiBJdCBwcmV2ZW50cyBhbm90aGVyIGlu
ZGlyZWN0aW9uIHRvIG9wcy4KPiAgICAqLwo+ICAgc3RydWN0IHVrX25ldGRldiB7Cj4gKwkvKiog
UGFja2V0IHRyYW5zbWlzc2lvbi4gKi8KPiArCXVrX25ldGRldl90eF9vbmVfdCAgICAgICAgICB0
eF9vbmU7IC8qIGJ5IGRyaXZlciAqLwo+ICsKPiArCS8qKiBQYWNrZXQgcmVjZXB0aW9uLiAqLwo+
ICsJdWtfbmV0ZGV2X3J4X29uZV90ICAgICAgICAgIHJ4X29uZTsgLyogYnkgZHJpdmVyICovCj4g
Kwo+ICAgCS8qKiBQb2ludGVyIHRvIEFQSS1pbnRlcm5hbCBzdGF0ZSBkYXRhLiAqLwo+ICAgCXN0
cnVjdCB1a19uZXRkZXZfZGF0YSAgICAgICAqX2RhdGE7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oIGIvbGliL3VrbmV0ZGV2L2luY2x1
ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4gaW5kZXggYWM4Y2U2MS4uNTEyYjc0YiAxMDA2NDQKPiAt
LS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKPiArKysgYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKPiBAQCAtNjcsNiArNjcsMzQgQEAg
ZXh0ZXJuICJDIiB7Cj4gICBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKPiAgIAkJCSAgIGNvbnN0IGNoYXIgKmRydl9u
YW1lKTsKPiAgIAo+ICsvKioKPiArICogRm9yd2FyZHMgYW4gUlggcXVldWUgZXZlbnQgdG8gdGhl
IEFQSSB1c2VyCj4gKyAqIENhbiAoYW5kIHNob3VsZCkgYmUgY2FsbGVkIGZyb20gZGV2aWNlIGlu
dGVycnVwdCBjb250ZXh0Cj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBVbmlrcmFmdCBu
ZXR3b3JrIGRldmljZSB0byB3aGljaCB0aGUgZXZlbnQgcmVsYXRlcyB0bwo+ICsgKiBAcGFyYW0g
cXVldWVfaWQKPiArICogICByZWNlaXZlIHF1ZXVlIElEIHRvIHdoaWNoIHRoZSBldmVudCByZWxh
dGVzIHRvCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdWtfbmV0ZGV2X2Rydl9yeF9ldmVu
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkJICB1aW50MTZfdCBxdWV1ZV9pZCkKPiAr
ewo+ICsJc3RydWN0IHVrX25ldGRldl9ldmVudF9oYW5kbGVyICpyeHFfaGFuZGxlcjsKPiArCj4g
KwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKCnF1ZXVlX2lkIHNo
b3VsZCBiZSBjb21wYXJlZCBhZ2FpbnN0IG5iX3J4X3F1ZXVlPwo+ICsJVUtfQVNTRVJUKHF1ZXVl
X2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKPiArCj4gKwlyeHFfaGFuZGxl
ciA9ICZkZXYtPl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF07Cj4gKwo+ICsjaWZkZWYgQ09O
RklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCj4gKwl1a19zZW1hcGhvcmVfdXAoJnJ4
cV9oYW5kbGVyLT5ldmVudHMpOwo+ICsjZWxzZQo+ICsJaWYgKHJ4cV9oYW5kbGVyLT5jYWxsYmFj
aykKPiArCQlyeHFfaGFuZGxlci0+Y2FsbGJhY2soZGV2LCBxdWV1ZV9pZCwgcnhxX2hhbmRsZXIt
PmNvb2tpZSk7Cj4gKyNlbmRpZgo+ICt9Cj4gKwo+ICAgI2lmZGVmIF9fY3BsdXNwbHVzCj4gICB9
Cj4gICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3Vr
bmV0ZGV2L25ldGRldi5jCj4gaW5kZXggNjI3NzM1NC4uNmVlMGZiYSAxMDA2NDQKPiAtLS0gYS9s
aWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiArKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBAQCAt
ODAsNiArODAsMTEgQEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRl
diAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFy
dCk7Cj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQpOwo+ICAgCVVLX0FT
U0VSVChkZXYtPm9wcy0+bXR1X2dldCk7Cj4gKwlVS19BU1NFUlQoKGRldi0+b3BzLT5yeHFfaW50
cl9lbmFibGUgJiYgZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2FibGUpCj4gKwkJICB8fCAoIWRldi0+
b3BzLT5yeHFfaW50cl9lbmFibGUKPiArCQkgICAgICAmJiAhZGV2LT5vcHMtPnJ4cV9pbnRyX2Rp
c2FibGUpKTsKPiArCVVLX0FTU0VSVChkZXYtPnJ4X29uZSk7Cj4gKwlVS19BU1NFUlQoZGV2LT50
eF9vbmUpOwo+ICAgCj4gICAJZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3Vu
dCwgIGRydl9uYW1lKTsKPiAgIAlpZiAoIWRldi0+X2RhdGEpCj4gQEAgLTUxOSwzICs1MjQsMzEg
QEAgaW50IHVrX25ldGRldl9tdHVfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3Qg
bXR1KQo+ICAgCj4gICAJcmV0dXJuIGRldi0+b3BzLT5tdHVfc2V0KGRldiwgbXR1KTsKPiAgIH0K
PiArCgpNYXliZSB3ZSBjb3VsZCBpbmxpbmUgdGhlc2UgZnVuY3Rpb25zIGluIG5ldGRldi5oPwo+
ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVp
bnQxNl90IHF1ZXVlX2lkKQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChk
ZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4gKwlVS19BU1NFUlQoZGV2LT5f
ZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lk
IDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVCghUFRSSVNF
UlIoZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdKSk7Cj4gKwo+ICsJaWYgKHVubGlrZWx5KCFkZXYt
Pm9wcy0+cnhxX2ludHJfZW5hYmxlKSkKPiArCQlyZXR1cm4gLUVOT1RTVVA7Cj4gKwlyZXR1cm4g
ZGV2LT5vcHMtPnJ4cV9pbnRyX2VuYWJsZShkZXYsIGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSk7
Cj4gK30KPiArCgpNYXliZSB3ZSBjb3VsZCBpbmxpbmUgdGhlc2UgZnVuY3Rpb25zIGluIG5ldGRl
di5oPwo+ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRldiAq
ZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCkKPiArewo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19B
U1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJU
KGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKPiArCVVLX0FTU0VSVChx
dWV1ZV9pZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4gKwlVS19BU1NFUlQo
IVBUUklTRVJSKGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpOwo+ICsKPiArCWlmICh1bmxpa2Vs
eSghZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2FibGUpKQo+ICsJCXJldHVybiAtRU5PVFNVUDsKPiAr
CXJldHVybiBkZXYtPm9wcy0+cnhxX2ludHJfZGlzYWJsZShkZXYsIGRldi0+X3J4X3F1ZXVlW3F1
ZXVlX2lkXSk7Cj4gK30KPiAKClRoYW5rcyAmIFJlZ2FyZHMKU2hhcmFuCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:15:30 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:15:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhMl-0001Ra-Js; Thu, 11 Oct 2018 20:15:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhMj-0001Qz-Mo
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:15:25 +0000
X-Inumbo-ID: 90829208-cd92-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 90829208-cd92-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 20:16:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 5A713104A24;
 Thu, 11 Oct 2018 22:15:21 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id OCK8eTiTc2FP; Thu, 11 Oct 2018 22:15:21 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 366D01039C7;
 Thu, 11 Oct 2018 22:15:15 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:15:14 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:14:58 +0200
Message-ID: <20181011201458.12205-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 0/6] Save extended registers on
 context switch
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, Julien Grall <julien.grall@arm.com>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>, Wei Chen <Wei.Chen@arm.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VW5pa3JhZnQgc3VwcG9ydHMgY29tcGlsaW5nIGNvZGUgd2l0aCBzdXBwb3J0IGZvciBleHRlbmRl
ZCByZWdpc3RlcnMuCkhvd2V2ZXIsIHRoZXJlIGlzIG5vIGxvZ2ljIGluIHBsYWNlIHRvIHNhdmUg
YW5kIHJlc3RvcmUgdGhvc2UgcmVnaXN0ZXJzIHdoZW4Kc3dpdGNoaW5nIGNvbnRleHRzIGJldHdl
ZW4gdGhyZWFkcy4gVGhpcyBtZWFucyB0aGF0IG11bHRpcGxlIHRocmVhZHMgdXNpbmcKWE1NIHJl
Z2lzdGVycyB3aWxsIGNvbmZsaWN0LgoKVGhpcyBwYXRjaCBzZXJpZXMgaW50cm9kdWNlcyBmdW5j
dGlvbmFsaXR5IHRvIHNhdmUgYW5kIHJlc3RvcmUgdGhvc2UKZXh0ZW5kZWQgcmVnaXN0ZXIgc2V0
cyBmb3IgU1NFIChYTU0pIGFuZCBBVlggKFlNTSkgcmVnaXN0ZXJzLiBTdXBwb3J0IGZvcgpaTU0g
KEFWWC01MTIpIHJlZ2lzdGVycyBpcyB0aGVvcmV0aWNhbGx5IHRoZXJlLCBidXQgbm90IGVuYWJs
ZWQgZHVyaW5nIHRoZQpib290IGNvZGUsIGFuZCBmb3IgbGFjayBvZiBhIHRlc3RpbmcgbWFjaGlu
ZSBub3QgY3VycmVudGx5IHRlc3RlZC4KCgpTb21lIHJlbWFya3M6CgpUaGlzIHBhdGNoIHNlcmll
cyBtb3ZlcyBpbml0aWFsaXphdGlvbiBvZiBGUC9TU0UvQVZYIGludG8gdGhlIGVudHJ5NjQuUwpl
YXJseSBib290IGNvZGUuIFRIZSB3YXkgdW5pa3JhZnQgaXMgc2V0IHVwLCBhbGwgQyBjb2RlIGlz
IGNvbXBpbGVkIHdpdGggdGhlCnNhbWUgZmxhZ3MsIGFuZCBldmVuIGRpc2FibGluZyBhbGwgdGhv
c2UgZXh0ZW5kZWQgY29tbWFuZCBzZXRzIGZvciBzZXR1cC5jCmRvZXNuJ3Qgc29sdmUgdGhlIHBy
b2JsZW0sIGJlY2F1c2UgdGhlIGRlYnVnIHByaW50aW5nIHJvdXRpbmVzIG1pZ2h0IHVzZQpWTU9W
QVBTLCBmb3IgZXhhbXBsZS4gVGh1cywgaXQgaXMgc2FmZXIgdG8gZG8gdGhlIGVuYWJsaW5nIGlu
IGFzc2VtYmx5IGFuZApub3QgcmlzayAjVUQgZmF1bHRzLgoKVGhpcyBwYXRjaCBzZXJpZXMgb25s
eSBlbmFibGVzIHN1cHBvcnQgZm9yIHg4Ni4gSSByZW1lbWJlciBhIGRpc2N1c3Npb24KZHVyaW5n
IHRoZSBmaXJzdCBsYXJnZSBBcm0gcGF0Y2ggc2VyaWVzIGFib3V0IHVzaW5nIG1vcmUgdGhhbiBq
dXN0IHRoZQpnZW5lcmljIHJlZ2lzdGVycyBmb3IgQXJtLiBDYW4gb25lIG9mIHRoZSBwZW9wbGUg
d2l0aCBkZWVwIGtub3dsZWRnZSBhYm91dAp0aGUgYXJjaGl0ZWN0dXJlIGNvbW1lbnQgaG93IGNv
bXBsaWNhdGVkIGl0IHdvdWxkIGJlIHRvIGRvIHNvbWV0aGluZyBzaW1pbGFyCmZvciBBcm0/CkFs
c28sIHRoZSBwYXRjaCBzZXJpZXMgaXMgYSBsaXR0bGUgcm91Z2ggYXJvdW5kIHRoZSBlZGdlcyB3
aXRoIHJlZ2FyZCB0bwphcmNoaXRlY3R1cmUtYWdub3N0aWMgc3VwcG9ydCBzd19jdHguaCBhbmQg
c3dfY3R4LmMuIEhvd2V2ZXIsIHNpbmNlIHRoZXJlIGlzCm5vIHRocmVhZGluZyBzdXBwb3J0IGZv
ciBBcm0geWV0LCB0aGVzZSBmaWxlcyBhcmVuJ3QgdXNlZCBieSBBcm0gYXQgYWxsIGF0CnRoZSBt
b21lbnQsIGFuZCByZXZpc2l0aW5nIHRoZW0gYXQgdGhhdCBwb2ludCBzaG91bGRuJ3QgYmUgdG9v
IGhhcmQuCgpGaW5hbGx5LCBJIGFsc28gaW52ZXN0ZWQgc29tZSB0aW1lIGludG8gaW52ZXN0aWdh
dGluZyBhIGxhenkgc3dpY2hpbmcKcm91dGluZSwgd2l0aCB0aHJlYWRzIG9ubHkgc3RhcnRpbmcg
dG8gc2F2ZSB0aGVpciBleHRlbmRlZCByZWdpc3RlciBjb250ZXh0Cm9uY2UgdGhleSBmaXJzdCB1
c2UgaW5zdHJ1Y3Rpb25zIGZyb20gdGhlIGV4dGVuZGVkIGluc3RydWN0aW9uIHNldHMuIFdoaWxl
Cmxhenkgc3dpdGNoaW5nIGlzIG5vdCB2ZXJ5IHBvcHVsYXIgYW55IG1vcmUsIEkgZmlndXJlZCBp
biBhIHVuaWtlcm5lbCwgaXQKbWlnaHQgc3RpbGwgYmUgdXNlZnVsLCBlc3BlY2lhbGx5IHNpbmNl
IHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQKaW5mb3JtYXRpb24gbGVha2luZywgd2hpY2gg
aXMgb25lIG9mIHRoZSBpc3N1ZXMgd2l0aCBpdCBvbiBnZW5lcmFsLXB1cnBvc2UKT1NzLgpIb3dl
dmVyLCB0aGlzIHJlcXVpcmVzIHN3aXRjaGluZyBvZmYgU1NFL0FWWC9ldGMuIHdoZW4gc3dpdGNo
aW5nIHRvIGEgZnJlc2gKdGhyZWFkLCBzbyB0aGF0IHRoZSAjVUQgZmF1bHQgY2FuIGJlIHRyYXBw
ZWQgdG8gZmluZCBvdXQgd2hlbiBhIHRocmVhZApzdGFydGVkIHVzaW5nIGV4ZW5kZWQgaW5zdHJ1
Y3Rpb25zLCBhbmQgcG90ZW50aWFsbHkgYmFjayBhbmQgZm9ydGgKb24gZXZlcnkgdGhyZWFkIGNv
bnRleHQgc3dpdGNoLiBFbmFibGluZyBhbmQgZGlzYWJsaW5nIHRoZXNlIG9wdGlvbnMKcmVxdWly
ZXMgd3JpdGluZyB0byBDUjAgYW5kIENSNCwgd2hpY2ggaXMgZXhjcnVjaWF0aW5nbHkgc2xvdyBv
biBLVk0KY29tcGFyZWQgdG8gYW4gWFNBVkUgKGJ5IGFib3V0IGEgZmFjdG9yIDIwIG9uIG15IHRl
c3QgbWFjaGluZSksIGFuZCB3aGlsZQp0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28gaXNu
J3QgcXVpdGUgYXMgYmFkIG9uIFhlbi1QViwgaXQncyBzdGlsbCBub3QKZ3JlYXQuIEkgc2hlbHZl
ZCB0aGlzIGZvciBub3cgYW5kIGRlY2lkZWQgdG8gZ28gd2l0aCBlYXRpbmcgdGhlIFhTQVZFCm92
ZXJoZWFkIG9uIGV2ZXJ5IHN3aXRjaCBpbnN0ZWFkLCB3aGljaCBhbHNvIG1ha2VzIGZvciBtdWNo
IG1vcmUgY29tcGFjdApsb2dpYy4KCgpGbG9yaWFuIFNjaG1pZHQgKDYpOgogIHBsYXQ6IGNoZWNr
IGZvciBhbmQgZW5hYmxlIGV4dGVuZGVkIENQVSBmZWF0dXJlcwogIHBsYXQ6IEFkZCAtRHh4eFBM
QVQgZGVmaW5lIGZvciBlYWNoIHBsYXRmb3JtCiAgcGxhdC9jb21tb246IGFkZCBpbmNsdWRlIGd1
YXJkcyB0byBpbmNsdWRlL3g4Ni9jcHUuaAogIHBsYXQ6IEFkZCBnbG9iYWwgc3RydWN0IHRvIGtl
ZXAgeDg2IENQVSBpbmZvcm1hdGlvbgogIHBsYXQvY29tbW9uOiBBZGQgZnVuY3Rpb25hbGl0eSB0
byBzYXZlIGFuZCByZXN0b3JlIGV4dGVuZGVkICh4ODYpIHJlZ2lzdGVycwogIHBsYXQvY29tbW9u
OiBBZGQgYSBub3RpY2UgcmVnYXJkaW5nIHRyYXAgaGFuZGxpbmcKCiBwbGF0L2NvbW1vbi9pbmNs
dWRlL3N3X2N0eC5oICAgICAgIHwgICA5ICsrLQogcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1
LmggICAgICB8IDExOCArKysrKysrKysrKysrKysrKysrKysrKysrKystLQogcGxhdC9jb21tb24v
aW5jbHVkZS94ODYvY3B1X2RlZnMuaCB8ICAyMiArKysrKysKIHBsYXQvY29tbW9uL3N3X2N0eC5j
ICAgICAgICAgICAgICAgfCAgMTQgKysrLQogcGxhdC9jb21tb24veDg2L2NwdV9mZWF0dXJlcy5j
ICAgICB8ICAzNyArKysrKysrKysKIHBsYXQvY29tbW9uL3g4Ni90cmFwcy5jICAgICAgICAgICAg
fCAgMTIgKysrCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgIHwgICA0ICsKIHBs
YXQva3ZtL3g4Ni9lbnRyeTY0LlMgICAgICAgICAgICAgfCAgNTQgKysrKysrKysrKystLQogcGxh
dC9rdm0veDg2L3NldHVwLmMgICAgICAgICAgICAgICB8ICAxNyArLS0tLQogcGxhdC9saW51eHUv
TWFrZWZpbGUudWsgICAgICAgICAgICB8ICAgNCArCiBwbGF0L2xpbnV4dS9zZXR1cC5jICAgICAg
ICAgICAgICAgIHwgICA3ICsrCiBwbGF0L3hlbi9NYWtlZmlsZS51ayAgICAgICAgICAgICAgIHwg
ICA3ICstCiBwbGF0L3hlbi94ODYvZW50cnk2NC5TICAgICAgICAgICAgIHwgIDYzICsrKysrKysr
KysrKystLQogcGxhdC94ZW4veDg2L3NldHVwLmMgICAgICAgICAgICAgICB8ICAxNSArLS0tCiAx
NCBmaWxlcyBjaGFuZ2VkLCAzMjggaW5zZXJ0aW9ucygrKSwgNTUgZGVsZXRpb25zKC0pCiBjcmVh
dGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24veDg2L2NwdV9mZWF0dXJlcy5jCgotLSAKMi4xOS4x
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:16:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:16:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhNu-0001VE-Q8; Thu, 11 Oct 2018 20:16:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhNs-0001V6-Ou
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:16:36 +0000
X-Inumbo-ID: bc09e6c8-cd92-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bc09e6c8-cd92-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 20:17:54 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 6C811F2036;
 Thu, 11 Oct 2018 22:16:34 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id yg2uBL8VCMmx; Thu, 11 Oct 2018 22:16:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 45EA4F2034
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:32 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:31 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:09 +0200
Message-ID: <20181011201614.12411-1-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 1/6] plat: check for and enable
 extended CPU features
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1
PgotLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdV9kZWZzLmggfCAyMiArKysrKysrKysr
KwogcGxhdC9rdm0veDg2L2VudHJ5NjQuUyAgICAgICAgICAgICB8IDU0ICsrKysrKysrKysrKysr
KysrKysrKy0tLS0KIHBsYXQva3ZtL3g4Ni9zZXR1cC5jICAgICAgICAgICAgICAgfCAxNSAtLS0t
LS0tCiBwbGF0L3hlbi94ODYvZW50cnk2NC5TICAgICAgICAgICAgIHwgNjMgKysrKysrKysrKysr
KysrKysrKysrKysrKysrLS0tCiBwbGF0L3hlbi94ODYvc2V0dXAuYyAgICAgICAgICAgICAgIHwg
MTUgLS0tLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMjYgaW5zZXJ0aW9ucygrKSwgNDMgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1X2RlZnMuaCBi
L3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdV9kZWZzLmgKaW5kZXggOWVjZWM5Ni4uNzg4MjFi
NSAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1X2RlZnMuaAorKysgYi9w
bGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHVfZGVmcy5oCkBAIC01OCw2ICs1OCw3IEBACiAgKi8K
ICNkZWZpbmUgWDg2X0NSMF9NUCAgICAgICAgICAgICAgKDEgPDwgMSkgICAgLyogTW9uaXRvciBD
b3Byb2Nlc3NvciAqLwogI2RlZmluZSBYODZfQ1IwX0VNICAgICAgICAgICAgICAoMSA8PCAyKSAg
ICAvKiBFbXVsYXRpb24gKi8KKyNkZWZpbmUgWDg2X0NSMF9UUyAgICAgICAgICAgICAgKDEgPDwg
MikgICAgLyogVGFzayBTd2l0Y2hlZCAqLwogI2RlZmluZSBYODZfQ1IwX05FICAgICAgICAgICAg
ICAoMSA8PCA1KSAgICAvKiBOdW1lcmljIEV4Y2VwdGlvbiAqLwogI2RlZmluZSBYODZfQ1IwX1BH
ICAgICAgICAgICAgICAoMSA8PCAzMSkgICAvKiBQYWdpbmcgKi8KIApAQCAtNjcsMTAgKzY4LDMx
IEBACiAjZGVmaW5lIFg4Nl9DUjRfUEFFICAgICAgICAgICAgICgxIDw8IDUpICAgIC8qIGVuYWJs
ZSBQQUUgKi8KICNkZWZpbmUgWDg2X0NSNF9PU0ZYU1IgICAgICAgICAgKDEgPDwgOSkgICAgLyog
T1Mgc3VwcG9ydCBmb3IgRlhTQVZFL0ZYUlNUT1IgKi8KICNkZWZpbmUgWDg2X0NSNF9PU1hNTUVY
Q1BUICAgICAgKDEgPDwgMTApICAgLyogT1Mgc3VwcG9ydCBmb3IgRlAgZXhjZXB0aW9ucyAqLwor
I2RlZmluZSBYODZfQ1I0X0ZTR1NCQVNFICAgICAgICAoMSA8PCAxNikgICAvKiBlbmFibGUgRlNH
U0JBU0UqLworI2RlZmluZSBYODZfQ1I0X09TWFNBVkUgICAgICAgICAoMSA8PCAxOCkgICAvKiBl
bmFibGUgWFNBVkUsIGV4dGVuZGVkIHN0YXRlcyAqLwogCiAvKgogICogSW50ZWwgQ1BVIGZlYXR1
cmVzIGluIEVGRVIKICAqLwogI2RlZmluZSBYODZfRUZFUl9MTUUgICAgICAgICAgICAoMSA8PCA4
KSAgICAvKiBMb25nIG1vZGUgZW5hYmxlIChSL1cpICovCiAKKy8qIENQVUlEIGZlYXR1cmUgYml0
cyBpbiBFQ1ggYW5kIEVEWCB3aGVuIEVBWD0xICovCisjZGVmaW5lIFg4Nl9DUFVJRDFfRUNYX1hT
QVZFICAgICgxIDw8IDI2KQorI2RlZmluZSBYODZfQ1BVSUQxX0VDWF9PU1hTQVZFICAoMSA8PCAy
NykKKyNkZWZpbmUgWDg2X0NQVUlEMV9FQ1hfQVZYICAgICAgKDEgPDwgMjgpCisjZGVmaW5lIFg4
Nl9DUFVJRDFfRURYX0ZQVSAgICAgICgxIDw8IDApCisjZGVmaW5lIFg4Nl9DUFVJRDFfRURYX0ZY
U1IgICAgICgxIDw8IDI0KQorI2RlZmluZSBYODZfQ1BVSUQxX0VEWF9TU0UgICAgICAoMSA8PCAy
NSkKKy8qIENQVUlEIGZlYXR1cmUgYml0cyBpbiBFQlggYW5kIEVDWCB3aGVuIEVBWD03ICovCisj
ZGVmaW5lIFg4Nl9DUFVJRDdfRUJYX0ZTR1NCQVNFICgxIDw8IDApCisvKiBDUFVJRCBmZWF0dXJl
IGJpdHMgd2hlbiBFQVg9MHhkLCBFWEM9MSAqLworI2RlZmluZSBYODZfQ1BVSUREMV9FQVhfWFNB
VkVPUFQgKDE8PDApCisKKy8qCisgKiBFeHRlbmRlZCBDb250cm9sIFJlZ2lzdGVyIDAgKFhDUjAp
CisgKi8KKyNkZWZpbmUgWDg2X1hDUjBfWDg3ICAgICAgICAgICAgKDEgPDwgMCkKKyNkZWZpbmUg
WDg2X1hDUjBfWE1NICAgICAgICAgICAgKDEgPDwgMSkKKyNkZWZpbmUgWDg2X1hDUjBfWU1NICAg
ICAgICAgICAgKDEgPDwgMikKKwogI2VuZGlmIC8qIF9fUExBVF9DTU5fWDg2X0NQVV9ERUZTX0hf
XyAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0veDg2L2VudHJ5NjQuUyBiL3BsYXQva3ZtL3g4Ni9l
bnRyeTY0LlMKaW5kZXggZGMzNjE0YS4uZTRjMmI4OSAxMDA2NDQKLS0tIGEvcGxhdC9rdm0veDg2
L2VudHJ5NjQuUworKysgYi9wbGF0L2t2bS94ODYvZW50cnk2NC5TCkBAIC0xNzIsMTUgKzE3Miw1
MyBAQCBFTlRSWShfbGlia3ZtcGxhdF9zdGFydDY0KQogCW1vdnEgJGJvb3RzdGFjaywgJXJzcAog
CXhvcnEgJXJicCwgJXJicAogCi0JLyogZW5hYmxlIEZQVSBhbmQgU1NFIHVuaXRzICovCi0JbW92
cSAlY3IwLCAlcmF4Ci0JYW5kcSAkKH5YODZfQ1IwX0VNKSwgJXJheAotCW9ycSAkKFg4Nl9DUjBf
TVAgfCBYODZfQ1IwX05FKSwgJXJheAotCW1vdnEgJXJheCwgJWNyMAotCW1vdnEgJWNyNCwgJXJh
eAotCW9ycSAkKFg4Nl9DUjRfT1NYTU1FWENQVCB8IFg4Nl9DUjRfT1NGWFNSKSwgJXJheAotCW1v
dnEgJXJheCwgJWNyNAorCS8qIFdlIHdpbGwgd29yayBvbiBjcjAgYW5kIGNyNCBtdWx0aXBsZSB0
aW1lcy4KKwkgKiBXZSBwdXQgY3IwIGludG8gcjggYW5kIGNyNCBpbnRvIHI5LCBiZWNhdXNlIGNw
dWlkIGFuZCB4Z2V0YnYveHNldGJ2CisJICogd29yayBvbiBlYXgvZWJ4L2VjeC9lZHguICovCisJ
bW92cSAlY3IwLCAlcjgKKwltb3ZxICVjcjQsICVyOQorCS8qIEZQVSBhbmQgU1NFIGFyZSBwYXJ0
IG9mIGJhc2UgeDg2LTY0LCBzbyBubyBuZWVkIHRvIGNoZWNrIGZvciB0aGVpcgorCSAqIGF2YWls
YWJpbGl0eSBiZWZvcmUgZW5hYmxpbmcgYW5kIGluaXRpYWxpemluZy4gKi8KKwlhbmRxICQofihY
ODZfQ1IwX0VNIHwgWDg2X0NSMF9UUykpLCAlcjgKKwlvcnEgJChYODZfQ1IwX01QIHwgWDg2X0NS
MF9ORSksICVyOAorCW1vdnEgJXI4LCAlY3IwCisJZm5pbml0CisJb3JxICQoWDg2X0NSNF9PU0ZY
U1IgfCBYODZfQ1I0X09TWE1NRVhDUFQpLCAlcjkKKwltb3ZxICVyOSwgJWNyNAogCWxkbXhjc3Ig
KG14Y3NyX3B0cikKKwkvKiBDaGVjayBjYXBhYmlsaXRpZXMgc3ViamVjdCB0byBhdmFpbGFiaWxp
dHkgYXMgaW5kaWNhdGVkIGJ5IGNwdWlkLgorCSAqIEZpcnN0LCBzdGFydCBvZmYgd2l0aCAic3Rh
bmRhcmQgZmVhdHVyZXMiICovCisJbW92bCAkMHgxLCAlZWF4CisJY3B1aWQKKwkvKiBlY3ggYW5k
IGVkeCBub3cgY29udGFpbiBjYXBhYmlsaXR5IGluZm9ybWF0aW9uLCBzbyB3ZSBjYW4gbm93CisJ
ICogZW5hYmxlIGNhcGFiaWxpdGllcyBiYXNlZCBvbiB0aGUgaW5kaWNhdGVkIGZlYXR1cmVzICov
CisJLyogT1NYU0FWRSBuZWVkcyB0byBiZSBlbmFibGVkIGJlZm9yZSBBVlggKi8KKwl0ZXN0bCAk
KFg4Nl9DUFVJRDFfRUNYX1hTQVZFKSwgJWVjeAorCWp6IG5veHNhdmUKKwlvcnEgJChYODZfQ1I0
X09TWFNBVkUpLCAlcjkKKwltb3ZxICVyOSwgJWNyNAorCS8qIG5vdyBlbmFibGUgQVZYLiBUaGlz
IG5lZWRzIHRvIGJlIGxhc3QgY2hlY2tpbmcgY3B1aWQgZmVhdHVyZXMgZnJvbQorCSAqIHRoZSBl
YXg9MSBjcHVpZCBjYWxsLCBiZWNhdXNlIGl0IGNsb2JiZXJzIGVjeCAqLworCXRlc3RsICQoWDg2
X0NQVUlEMV9FQ1hfQVZYKSwgJWVjeAorCWp6IG5vYXZ4CisJeG9ybCAlZWN4LCAlZWN4CisJeGdl
dGJ2CisJb3JsICQoWDg2X1hDUjBfWE1NIHwgWDg2X1hDUjBfWU1NKSwgJWVheAorCXhzZXRidgor
bm9hdng6Citub3hzYXZlOgorCS8qIE5vdywgY2hlY2sgZm9yIGV4dGVuZGVkIGZlYXR1cmVzLiAq
LworCW1vdmwgJDB4NywgJWVheAorCW1vdmwgJDB4MSwgJWVjeAorCWNwdWlkCisJLyogZWJ4LCBl
Y3gsIGVkeCBub3cgY29udGFpbiBleHRlbmRlZCBjYXBhYmlsdGllcyBpbmZvcm1hdGlvbi4gKi8K
KwkvKiBjaGVjayBmb3IgYW5kIGVuYWJsZSBGUy9HU0JBU0UgKi8KKwl0ZXN0bCAkKFg4Nl9DUFVJ
RDdfRUJYX0ZTR1NCQVNFKSwgJWVieAorCWp6IG5vZnNnc2Jhc2UKKwlvcnEgJChYODZfQ1I0X0ZT
R1NCQVNFKSwgJXI5CisJbW92cSAlcjksICVjcjQKK25vZnNnc2Jhc2U6CisJLyogZG9uZSBzZXR0
aW5nIHVwIENQVSBjYXBhYmlsaXRpZXMgKi8KIAogCS8qIHJlYWQgbXVsdGlib290IGluZm8gcG9p
bnRlciAqLwogCW1vdnEgLTgoJXJzcCksICVyZGkKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL3g4Ni9z
ZXR1cC5jIGIvcGxhdC9rdm0veDg2L3NldHVwLmMKaW5kZXggZTAyODg2ZC4uNDdhNzhkYyAxMDA2
NDQKLS0tIGEvcGxhdC9rdm0veDg2L3NldHVwLmMKKysrIGIvcGxhdC9rdm0veDg2L3NldHVwLmMK
QEAgLTEwOSwyMCArMTA5LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9tYl9pbml0X21lbShzdHJ1
Y3QgbXVsdGlib290X2luZm8gKm1pKQogCV9saWJrdm1wbGF0X3N0YWNrX3RvcCAgPSAodm9pZCAq
KSAobWF4X2FkZHIgLSBfX1NUQUNLX1NJWkUpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX2lu
aXRfY3B1ZmVhdHVyZXModm9pZCkKLXsKLSNpZiBfX1NTRV9fCi0JdW5zaWduZWQgbG9uZyBzc2Vf
c3RhdHVzID0gMHgxZjgwOwotI2VuZGlmCi0KLQkvKiBGUFUgKi8KLQlhc20gdm9sYXRpbGUoImZu
aW5pdCIpOwotCi0jaWYgX19TU0VfXwotCWFzbSB2b2xhdGlsZSgibGRteGNzciAlMCIgOiA6ICJt
Iihzc2Vfc3RhdHVzKSk7Ci0jZW5kaWYKLX0KLQogc3RhdGljIHZvaWQgX2xpYmt2bXBsYXRfZW50
cnkyKHZvaWQgKmFyZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKIHsKIAl1a3BsYXRfZW50cnlf
YXJncChOVUxMLCBjbWRsaW5lLCBzaXplb2YoY21kbGluZSkpOwpAQCAtMTMzLDcgKzExOSw2IEBA
IHZvaWQgX2xpYmt2bXBsYXRfZW50cnkodm9pZCAqYXJnKQogCXN0cnVjdCBtdWx0aWJvb3RfaW5m
byAqbWkgPSAoc3RydWN0IG11bHRpYm9vdF9pbmZvICopYXJnOwogCiAJX2xpYmt2bXBsYXRfaW5p
dF9jb25zb2xlKCk7Ci0JX2luaXRfY3B1ZmVhdHVyZXMoKTsKIAl0cmFwc19pbml0KCk7CiAJaW50
Y3RybF9pbml0KCk7CiAKZGlmZiAtLWdpdCBhL3BsYXQveGVuL3g4Ni9lbnRyeTY0LlMgYi9wbGF0
L3hlbi94ODYvZW50cnk2NC5TCmluZGV4IGMyNjY4MDQuLjAyY2ZiZDQgMTAwNjQ0Ci0tLSBhL3Bs
YXQveGVuL3g4Ni9lbnRyeTY0LlMKKysrIGIvcGxhdC94ZW4veDg2L2VudHJ5NjQuUwpAQCAtMjUs
NiArMjUsNyBAQAogCiAjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgogI2luY2x1ZGUgPHVrL2Fy
Y2gvbGltaXRzLmg+CisjaW5jbHVkZSA8eDg2L2NwdV9kZWZzLmg+CiAjaW5jbHVkZSA8eDg2L3Ry
YXBzLmg+CiAjaW5jbHVkZSA8dWsvY29uZmlnLmg+CiAjaW5jbHVkZSA8eGVuL3hlbi5oPgpAQCAt
NjAsMTEgKzYxLDYzIEBAIF9saWJ4ZW5wbGF0X3N0YXJ0OgogI2luY2x1ZGUgImVudHJ5X2h2bS5T
IgogCiAjZW5kaWYKLSAgICAgICAgY2xkCi0gICAgICAgIG1vdnEgc3RhY2tfc3RhcnQoJXJpcCks
JXJzcAotICAgICAgICBhbmRxICQofihfX1NUQUNLX1NJWkUtMSkpLCAlcnNwCi0gICAgICAgIG1v
dnEgJXJzaSwlcmRpCi0gICAgICAgIGNhbGwgX2xpYnhlbnBsYXRfeDg2ZW50cnkKKwljbGQKKwlt
b3ZxIHN0YWNrX3N0YXJ0KCVyaXApLCVyc3AKKwlhbmRxICQofihfX1NUQUNLX1NJWkUtMSkpLCAl
cnNwCisJbW92cSAlcnNpLCVyZGkKKwkvKiBXZSB3aWxsIHdvcmsgb24gY3IwIGFuZCBjcjQgbXVs
dGlwbGUgdGltZXMuCisJICogV2UgcHV0IGNyMCBpbnRvIHI4IGFuZCBjcjQgaW50byByOSwgYmVj
YXVzZSBjcHVpZCBhbmQgeGdldGJ2L3hzZXRidgorCSAqIHdvcmsgb24gZWF4L2VieC9lY3gvZWR4
LiAqLworCW1vdnEgJWNyMCwgJXI4CisJbW92cSAlY3I0LCAlcjkKKwkvKiBGUFUgYW5kIFNTRSBh
cmUgcGFydCBvZiBiYXNlIHg4Ni02NCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgdGhlaXIKKwkg
KiBhdmFpbGFiaWxpdHkgYmVmb3JlIGVuYWJsaW5nIGFuZCBpbml0aWFsaXppbmcuICovCisJYW5k
cSAkKH4oWDg2X0NSMF9FTSB8IFg4Nl9DUjBfVFMpKSwgJXI4CisJb3JxICQoWDg2X0NSMF9NUCB8
IFg4Nl9DUjBfTkUpLCAlcjgKKwltb3ZxICVyOCwgJWNyMAorCWZuaW5pdAorCW9ycSAkKFg4Nl9D
UjRfT1NGWFNSIHwgWDg2X0NSNF9PU1hNTUVYQ1BUKSwgJXI5CisJbW92cSAlcjksICVjcjQKKwls
ZG14Y3NyIChteGNzcl9wdHIpCisJLyogQ2hlY2sgY2FwYWJpbGl0aWVzIHN1YmplY3QgdG8gYXZh
aWxhYmlsaXR5IGFzIGluZGljYXRlZCBieSBjcHVpZC4KKwkgKiBGaXJzdCwgc3RhcnQgb2ZmIHdp
dGggInN0YW5kYXJkIGZlYXR1cmVzIiAqLworCW1vdmwgJDB4MSwgJWVheAorCWNwdWlkCisJLyog
ZWN4IGFuZCBlZHggbm93IGNvbnRhaW4gY2FwYWJpbGl0eSBpbmZvcm1hdGlvbiwgc28gd2UgY2Fu
IG5vdworCSAqIGVuYWJsZSBjYXBhYmlsaXRpZXMgYmFzZWQgb24gdGhlIGluZGljYXRlZCBmZWF0
dXJlcyAqLworCS8qIE9TWFNBVkUgbmVlZHMgdG8gYmUgZW5hYmxlZCBiZWZvcmUgQVZYICovCisJ
dGVzdGwgJChYODZfQ1BVSUQxX0VDWF9YU0FWRSksICVlY3gKKwlqeiBub3hzYXZlCisJb3JxICQo
WDg2X0NSNF9PU1hTQVZFKSwgJXI5CisJbW92cSAlcjksICVjcjQKKwkvKiBub3cgZW5hYmxlIEFW
WC4gVGhpcyBuZWVkcyB0byBiZSBsYXN0IGNoZWNraW5nIGNwdWlkIGZlYXR1cmVzIGZyb20KKwkg
KiB0aGUgZWF4PTEgY3B1aWQgY2FsbCwgYmVjYXVzZSBpdCBjbG9iYmVycyBlY3ggKi8KKwl0ZXN0
bCAkKFg4Nl9DUFVJRDFfRUNYX0FWWCksICVlY3gKKwlqeiBub2F2eAorCXhvcmwgJWVjeCwgJWVj
eAorCXhnZXRidgorCW9ybCAkKFg4Nl9YQ1IwX1hNTSB8IFg4Nl9YQ1IwX1lNTSksICVlYXgKKwl4
c2V0YnYKK25vYXZ4Ogorbm94c2F2ZToKKwkvKiBOb3csIGNoZWNrIGZvciBleHRlbmRlZCBmZWF0
dXJlcy4gKi8KKwltb3ZsICQweDcsICVlYXgKKwltb3ZsICQweDEsICVlY3gKKwljcHVpZAorCS8q
IGVieCwgZWN4LCBlZHggbm93IGNvbnRhaW4gZXh0ZW5kZWQgY2FwYWJpbHRpZXMgaW5mb3JtYXRp
b24uICovCisJLyogY2hlY2sgZm9yIGFuZCBlbmFibGUgRlMvR1NCQVNFICovCisJdGVzdGwgJChY
ODZfQ1BVSUQ3X0VCWF9GU0dTQkFTRSksICVlYngKKwlqeiBub2ZzZ3NiYXNlCisJb3JxICQoWDg2
X0NSNF9GU0dTQkFTRSksICVyOQorCW1vdnEgJXI5LCAlY3I0Citub2ZzZ3NiYXNlOgorCS8qIERv
bmUgc2V0dGluZyB1cCBDUFUgY2FwYWJpbGl0aWVzLCBoYW5kIG92ZXIgdG8gQyBlbnRyeSBwb2lu
dC4gKi8KKwljYWxsIF9saWJ4ZW5wbGF0X3g4NmVudHJ5CisKKy50eXBlIG14Y3NyX3B0ciwgQG9i
amVjdAorbXhjc3JfcHRyOgorCS5sb25nIDB4MWY4MAkJCS8qIEludGVsIFNETSBwb3dlci1vbiBk
ZWZhdWx0ICovCisKIAogc3RhY2tfc3RhcnQ6CiAgICAgICAgIC5xdWFkIF9saWJ4ZW5wbGF0X2Jv
b3RzdGFjayArICgyKl9fU1RBQ0tfU0laRSkKZGlmZiAtLWdpdCBhL3BsYXQveGVuL3g4Ni9zZXR1
cC5jIGIvcGxhdC94ZW4veDg2L3NldHVwLmMKaW5kZXggMzVmZGQzNS4uYTQxZDVjYiAxMDA2NDQK
LS0tIGEvcGxhdC94ZW4veDg2L3NldHVwLmMKKysrIGIvcGxhdC94ZW4veDg2L3NldHVwLmMKQEAg
LTExMywyMCArMTEzLDYgQEAgc3RhdGljIGlubGluZSB2b2lkIF9pbml0X3RyYXBzKHZvaWQpCiAJ
dHJhcHNfaW5pdCgpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgX2luaXRfY3B1ZmVhdHVyZXMo
dm9pZCkKLXsKLSNpZiBfX1NTRV9fCi0JdW5zaWduZWQgbG9uZyBzc2Vfc3RhdHVzID0gMHgxZjgw
OwotI2VuZGlmCi0KLQkvKiBGUFUgKi8KLQlhc20gdm9sYXRpbGUoImZuaW5pdCIpOwotCi0jaWYg
X19TU0VfXwotCWFzbSB2b2xhdGlsZSgibGRteGNzciAlMCIgOiA6ICJtIihzc2Vfc3RhdHVzKSk7
Ci0jZW5kaWYKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIF9pbml0X3NoYXJlZF9pbmZvKHZvaWQp
CiB7CiAJaW50IHJldDsKQEAgLTE4NCw3ICsxNzAsNiBAQCB2b2lkIF9saWJ4ZW5wbGF0X3g4NmVu
dHJ5KHZvaWQgKnN0YXJ0X2luZm8pIF9fbm9yZXR1cm47CiB2b2lkIF9saWJ4ZW5wbGF0X3g4NmVu
dHJ5KHZvaWQgKnN0YXJ0X2luZm8pCiB7CiAJX2luaXRfdHJhcHMoKTsKLQlfaW5pdF9jcHVmZWF0
dXJlcygpOwogCUhZUEVSVklTT1Jfc3RhcnRfaW5mbyA9IChzdGFydF9pbmZvX3QgKilzdGFydF9p
bmZvOwogCV9saWJ4ZW5wbGF0X3ByZXBhcmVfY29uc29sZSgpOyAvKiBlbmFibGVzIGJ1ZmZlcmlu
ZyBmb3IgY29uc29sZSAqLwogCi0tIAoyLjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:16:43 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:16:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhNz-0001Vz-Sv; Thu, 11 Oct 2018 20:16:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhNz-0001Vq-23
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:16:43 +0000
X-Inumbo-ID: c0095183-cd92-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c0095183-cd92-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 20:18:01 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 35402104A24;
 Thu, 11 Oct 2018 22:16:41 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id qbhTGG-ORMub; Thu, 11 Oct 2018 22:16:41 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 17A971039C7
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:39 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:38 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:10 +0200
Message-ID: <20181011201614.12411-2-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
In-Reply-To: <20181011201614.12411-1-florian.schmidt@neclab.eu>
References: <20181011201614.12411-1-florian.schmidt@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 2/6] plat: Add -DxxxPLAT define for
 each platform
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBhbGxvd3MgY29tbW9uIGNvZGUgdG8gZGlzdGluZ3Vpc2ggZm9yIHdoaWNoIHBsYXRmb3Jt
IGl0IGlzCmN1cnJlbnRseSBiZWluZyBidWlsdC4KClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gU2No
bWlkdCA8Zmxvcmlhbi5zY2htaWR0QG5lY2xhYi5ldT4KLS0tCiBwbGF0L2t2bS9NYWtlZmlsZS51
ayAgICB8IDMgKysrCiBwbGF0L2xpbnV4dS9NYWtlZmlsZS51ayB8IDMgKysrCiBwbGF0L3hlbi9N
YWtlZmlsZS51ayAgICB8IDYgKysrLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygr
KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9NYWtlZmlsZS51ayBiL3Bs
YXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IGNjNWJjZGQuLmI0ZDEwNWYgMTAwNjQ0Ci0tLSBhL3Bs
YXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCkBAIC0xOCw2ICsx
OCw5IEBAIExJQktWTVBMQVRfQVNJTkNMVURFUy15ICAgICAgICArPSAtSSQoVUtfUExBVF9DT01N
T05fQkFTRSkvaW5jbHVkZQogTElCS1ZNUExBVF9DSU5DTFVERVMteSAgICAgICAgICs9IC1JJChM
SUJLVk1QTEFUX0JBU0UpL2luY2x1ZGUKIExJQktWTVBMQVRfQ0lOQ0xVREVTLXkgICAgICAgICAr
PSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogCitMSUJLVk1QTEFUX0FTRkxBR1Mg
ICAgICAgICAgICAgKz0gLURLVk1QTEFUCitMSUJLVk1QTEFUX0NGTEFHUyAgICAgICAgICAgICAg
Kz0gLURLVk1QTEFUCisKICMjCiAjIyBBcmNoaXRlY3R1cmUgbGlicmFyeSBkZWZpbml0aW9ucyBm
b3IgeDg2XzY0CiAjIwpkaWZmIC0tZ2l0IGEvcGxhdC9saW51eHUvTWFrZWZpbGUudWsgYi9wbGF0
L2xpbnV4dS9NYWtlZmlsZS51awppbmRleCBmNDY2ZDhhLi4zYzU5ZGU0IDEwMDY0NAotLS0gYS9w
bGF0L2xpbnV4dS9NYWtlZmlsZS51aworKysgYi9wbGF0L2xpbnV4dS9NYWtlZmlsZS51awpAQCAt
MTYsNiArMTYsOSBAQCBMSUJMSU5VWFVQTEFUX0FTSU5DTFVERVMteSAgICAgICAgKz0gLUkkKFVL
X1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKIExJQkxJTlVYVVBMQVRfQ0lOQ0xVREVTLXkgICAg
ICAgICArPSAtSSQoTElCTElOVVhVUExBVF9CQVNFKS9pbmNsdWRlCiBMSUJMSU5VWFVQTEFUX0NJ
TkNMVURFUy15ICAgICAgICAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKIAor
TElCTElOVVhVUExBVF9BU0ZMQUdTICAgICAgICAgICAgICs9IC1ETElOVVhVUExBVAorTElCTElO
VVhVUExBVF9DRkxBR1MgICAgICAgICAgICAgICs9IC1ETElOVVhVUExBVAorCiBMSUJMSU5VWFVQ
TEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfMzIpICs9ICQoTElCTElOVVhVUExBVF9CQVNFKS94
ODYvZW50cnkzMi5TCiBMSUJMSU5VWFVQTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9
ICQoTElCTElOVVhVUExBVF9CQVNFKS94ODYvZW50cnk2NC5TCiBMSUJMSU5VWFVQTEFUX1NSQ1Mt
JChDT05GSUdfQVJDSF9BUk1fMzIpICs9ICQoTElCTElOVVhVUExBVF9CQVNFKS9hcm0vZW50cnkz
Mi5TCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9NYWtlZmlsZS51ayBiL3BsYXQveGVuL01ha2VmaWxl
LnVrCmluZGV4IDdlOGYxMTQuLjQzODY2ZTQgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL01ha2VmaWxl
LnVrCisrKyBiL3BsYXQveGVuL01ha2VmaWxlLnVrCkBAIC0xNCw5ICsxNCw5IEBAICQoZXZhbCAk
KGNhbGwgYWRkcGxhdGxpYl9zLHhlbixsaWJ4ZW5idXMsJChDT05GSUdfWEVOX1hFTkJVUykpKQog
IyMKICMjIFhlbiBwbGF0Zm9ybSBjb21waWxhdGlvbiBzZXR0aW5ncwogIyMKLUxJQlhFTlBMQVRf
QVNGTEFHUy15ICAgICArPSAtRF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX189JChYRU5fSU5URVJG
QUNFX1ZFUlNJT04pCi1MSUJYRU5QTEFUX0NGTEFHUy15ICAgICAgKz0gLURfX1hFTl9JTlRFUkZB
Q0VfVkVSU0lPTl9fPSQoWEVOX0lOVEVSRkFDRV9WRVJTSU9OKQotTElCWEVOUExBVF9DWFhGTEFH
Uy15ICAgICs9IC1EX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXz0kKFhFTl9JTlRFUkZBQ0VfVkVS
U0lPTikKK0xJQlhFTlBMQVRfQVNGTEFHUy15ICAgICArPSAtRFhFTlBMQVQgLURfX1hFTl9JTlRF
UkZBQ0VfVkVSU0lPTl9fPSQoWEVOX0lOVEVSRkFDRV9WRVJTSU9OKQorTElCWEVOUExBVF9DRkxB
R1MteSAgICAgICs9IC1EWEVOUExBVCAtRF9fWEVOX0lOVEVSRkFDRV9WRVJTSU9OX189JChYRU5f
SU5URVJGQUNFX1ZFUlNJT04pCitMSUJYRU5QTEFUX0NYWEZMQUdTLXkgICAgKz0gLURYRU5QTEFU
IC1EX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXz0kKFhFTl9JTlRFUkZBQ0VfVkVSU0lPTikKIAog
IyMKICMjIFBsYXRmb3JtIGxpYnJhcnkgZGVmaW5pdGlvbnMKLS0gCjIuMTkuMQoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWls
aW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:16:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:16:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhO8-0001XH-Vp; Thu, 11 Oct 2018 20:16:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhO7-0001X5-MV
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:16:51 +0000
X-Inumbo-ID: c51b3737-cd92-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c51b3737-cd92-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 20:18:09 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id A2584F2036;
 Thu, 11 Oct 2018 22:16:49 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id VGZbePC2kd-k; Thu, 11 Oct 2018 22:16:49 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 82B01F2034
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:47 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:47 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:11 +0200
Message-ID: <20181011201614.12411-3-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
In-Reply-To: <20181011201614.12411-1-florian.schmidt@neclab.eu>
References: <20181011201614.12411-1-florian.schmidt@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 3/6] plat/common: add include guards
 to include/x86/cpu.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1
PgotLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oIHwgNiArKysrKy0KIDEgZmlsZSBj
aGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9wbGF0
L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5o
CmluZGV4IDA0ZDg3MzEuLjAwMWU5Y2EgMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2luY2x1ZGUv
eDg2L2NwdS5oCisrKyBiL3BsYXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oCkBAIC0yNyw4ICsy
NywxMCBAQAogICogQ1BVIHJlbGF0ZWQgbWFjcm9zIGFuZCBkZWZpbml0aW9ucyBjb3BpZWQgZnJv
bSBtaW5pLW9zL29zLmgKICAqLwogCi0jaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgorI2lmbmRl
ZiBfX1BMQVRfQ09NTU9OX1g4Nl9DUFVfSF9fCisjZGVmaW5lIF9fUExBVF9DT01NT05fWDg2X0NQ
VV9IX18KIAorI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KIAogdm9pZCBoYWx0KHZvaWQpOwog
dm9pZCBzeXN0ZW1fb2ZmKHZvaWQpOwpAQCAtMTQwLDMgKzE0Miw1IEBAIHN0YXRpYyBpbmxpbmUg
X191NjQgbXVsNjRfMzIoX191NjQgYSwgX191MzIgYikKIAogCXJldHVybiBwcm9kOwogfQorCisj
ZW5kaWYgLyogX19QTEFUX0NPTU1PTl9YODZfQ1BVX0hfXyAqLwotLSAKMi4xOS4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:17:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:17:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhOG-0001Y8-1D; Thu, 11 Oct 2018 20:17:00 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhOE-0001Xz-Nl
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:16:58 +0000
X-Inumbo-ID: 3b81694e-cd92-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 3b81694e-cd92-11e8-a8a5-bc764e045a96;
 Thu, 11 Oct 2018 22:14:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 4AD1D104A2A;
 Thu, 11 Oct 2018 22:16:54 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id z7jeC3MDkGMV; Thu, 11 Oct 2018 22:16:54 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 273701039C7
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:52 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:51 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:12 +0200
Message-ID: <20181011201614.12411-4-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
In-Reply-To: <20181011201614.12411-1-florian.schmidt@neclab.eu>
References: <20181011201614.12411-1-florian.schmidt@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 4/6] plat: Add global struct to keep
 x86 CPU information
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

Q3VycmVudGx5LCBhbGwgaW5mb3JtYXRpb24gcmVsYXRlcyB0byB0aGUgYWRkaXRpb25hbCByZWdp
c3RlcnMgdGhhdCBjYW4KYmUgYXZhaWxhYmxlIG9uIHg4NiBDUFVzLCBhbmQgaG93IHRvIHNhdmUg
YW5kIHJlc3RvcmUgdGhlbS4KClNpZ25lZC1vZmYtYnk6IEZsb3JpYW4gU2NobWlkdCA8Zmxvcmlh
bi5zY2htaWR0QG5lY2xhYi5ldT4KLS0tCiBwbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaCAg
fCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBwbGF0L2NvbW1vbi94ODYv
Y3B1X2ZlYXR1cmVzLmMgfCAzNyArKysrKysrKysrKysrKysrKysrKwogcGxhdC9rdm0vTWFrZWZp
bGUudWsgICAgICAgICAgIHwgIDEgKwogcGxhdC9rdm0veDg2L3NldHVwLmMgICAgICAgICAgIHwg
IDIgKysKIHBsYXQvbGludXh1L01ha2VmaWxlLnVrICAgICAgICB8ICAxICsKIHBsYXQvbGludXh1
L3NldHVwLmMgICAgICAgICAgICB8ICA3ICsrKysKIHBsYXQveGVuL01ha2VmaWxlLnVrICAgICAg
ICAgICB8ICAxICsKIHBsYXQveGVuL3g4Ni9zZXR1cC5jICAgICAgICAgICB8ICAyICsrCiA4IGZp
bGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBsYXQvY29tbW9uL3g4Ni9jcHVfZmVhdHVyZXMuYwoKZGlmZiAtLWdpdCBhL3Bs
YXQvY29tbW9uL2luY2x1ZGUveDg2L2NwdS5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1
LmgKaW5kZXggMDAxZTljYS4uZmJjMjI5ZCAxMDA2NDQKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVk
ZS94ODYvY3B1LmgKKysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS94ODYvY3B1LmgKQEAgLTMxLDE2
ICszMSw2OSBAQAogI2RlZmluZSBfX1BMQVRfQ09NTU9OX1g4Nl9DUFVfSF9fCiAKICNpbmNsdWRl
IDx1ay9hcmNoL3R5cGVzLmg+CisjaW5jbHVkZSA8eDg2L2NwdV9kZWZzLmg+CisjaW5jbHVkZSA8
c3RkaW50Lmg+CiAKIHZvaWQgaGFsdCh2b2lkKTsKIHZvaWQgc3lzdGVtX29mZih2b2lkKTsKIAot
c3RhdGljIGlubGluZSB2b2lkIGNwdWlkKF9fdTMyIGxlYWYsIF9fdTMyICplYXgsIF9fdTMyICpl
YngsCi0JCV9fdTMyICplY3gsIF9fdTMyICplZHgpCitlbnVtIHNhdmVfY21kIHsKKwlYODZfU0FW
RV9OT05FLAorCVg4Nl9TQVZFX0ZTQVZFLAorCVg4Nl9TQVZFX0ZYU0FWRSwKKwlYODZfU0FWRV9Y
U0FWRSwKKwlYODZfU0FWRV9YU0FWRU9QVAorfTsKKworc3RydWN0IF94ODZfZmVhdHVyZXMgewor
CXVuc2lnbmVkIGxvbmcgZXh0cmVnc19zaXplOwkvKiBTaXplIG9mIHRoZSBleHRyZWdzIGFyZWEg
Ki8KKwl1bnNpZ25lZCBsb25nIGV4dHJlZ3NfYWxpZ247CS8qIEFsaWdubWVudCBvZiB0aGUgZXh0
cmVncyBhcmVhICovCisJZW51bSBzYXZlX2NtZCBzYXZlOwkJLyogd2hpY2ggQ1BVIGluc3RydWN0
aW9uIHRvIHVzZSBmb3IKKwkJCQkJICogc2F2aW5nL3Jlc3RvcmluZyBleHRyZWdzLgorCQkJCQkg
Ki8KK307CisKK2V4dGVybiBzdHJ1Y3QgX3g4Nl9mZWF0dXJlcyB4ODZfY3B1X2ZlYXR1cmVzOwor
CitzdGF0aWMgaW5saW5lIHZvaWQgX2luaXRfY3B1ZmVhdHVyZXModm9pZCkKIHsKLQlhc20gdm9s
YXRpbGUoImNwdWlkIgotCQkgICAgIDogIj1hIigqZWF4KSwgIj1iIigqZWJ4KSwgIj1jIigqZWN4
KSwgIj1kIigqZWR4KQotCQkgICAgIDogIjAiKGxlYWYpKTsKKyNpZiBMSU5VWFVQTEFUCisJX191
MzIgZWN4LCBlZHg7CisjZWxzZQorCXVuc2lnbmVkIGxvbmcgY3I0OworI2VuZGlmCisJX191MzIg
ZWF4LCBlYng7CisKKyNpZiBMSU5VWFVQTEFUCisJYXNtIHZvbGF0aWxlKCJjcHVpZCIgOiAiPWMi
KGVjeCksICI9ZCIoZWR4KSA6ICJhIigxKSA6ICJlYngiKTsKKwlpZiAoZWN4ICYgWDg2X0NQVUlE
MV9FQ1hfT1NYU0FWRSkgeworI2Vsc2UKKwlhc20gdm9sYXRpbGUoIm1vdiAlJWNyNCwgJTAiIDog
Ij1nIihjcjQpKTsKKwlpZiAoY3I0ICYgWDg2X0NSNF9PU1hTQVZFKSB7CisjZW5kaWYKKwkJYXNt
IHZvbGF0aWxlKCJjcHVpZCIgOiAiPWEiKGVheCkgOiAiYSIoMHhkKSwgImMiKDEpCisJCQkJOiAi
ZWJ4IiwgImVkeCIpOworCQlpZiAoZWF4ICYgWDg2X0NQVUlERDFfRUFYX1hTQVZFT1BUKQorCQkJ
eDg2X2NwdV9mZWF0dXJlcy5zYXZlID0gWDg2X1NBVkVfWFNBVkVPUFQ7CisJCWVsc2UKKwkJCXg4
Nl9jcHVfZmVhdHVyZXMuc2F2ZSA9IFg4Nl9TQVZFX1hTQVZFOworCQlhc20gdm9sYXRpbGUoImNw
dWlkIiA6ICI9YiIoZWJ4KSA6ICJhIigweGQpLCAiYyIoMCkgOiAiZWR4Iik7CisJCXg4Nl9jcHVf
ZmVhdHVyZXMuZXh0cmVnc19zaXplID0gZWJ4OworCQl4ODZfY3B1X2ZlYXR1cmVzLmV4dHJlZ3Nf
YWxpZ24gPSA2NDsKKwl9CisjaWYgTElOVVhVUExBVAorCWVsc2UgaWYgKGVkeCAmIFg4Nl9DUFVJ
RDFfRURYX0ZYU1IpIHsKKyNlbHNlCisJZWxzZSBpZiAoY3I0ICYgWDg2X0NSNF9PU0ZYU1IpIHsK
KyNlbmRpZgorCQl4ODZfY3B1X2ZlYXR1cmVzLnNhdmUgPSBYODZfU0FWRV9GWFNBVkU7CisJCXg4
Nl9jcHVfZmVhdHVyZXMuZXh0cmVnc19zaXplID0gNTEyOworCQl4ODZfY3B1X2ZlYXR1cmVzLmV4
dHJlZ3NfYWxpZ24gPSAxNjsKKwl9IGVsc2UgeworCQl4ODZfY3B1X2ZlYXR1cmVzLnNhdmUgPSBY
ODZfU0FWRV9GU0FWRTsKKwkJeDg2X2NwdV9mZWF0dXJlcy5leHRyZWdzX3NpemUgPSAxMDg7CisJ
CXg4Nl9jcHVfZmVhdHVyZXMuZXh0cmVnc19hbGlnbiA9IDE7CisJfQogfQogCiB1bnNpZ25lZCBs
b25nIHJlYWRfY3IyKHZvaWQpOwpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24veDg2L2NwdV9mZWF0
dXJlcy5jIGIvcGxhdC9jb21tb24veDg2L2NwdV9mZWF0dXJlcy5jCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjA3MDk3MzkKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2NvbW1v
bi94ODYvY3B1X2ZlYXR1cmVzLmMKQEAgLTAsMCArMSwzNyBAQAorLyogU1BEWC1MaWNlbnNlLUlk
ZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6IEZsb3JpYW4gU2NobWlk
dCA8Zmxvcmlhbi5zY2htaWR0QG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgs
IE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xk
ZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNv
ZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
IEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFO
WSBXQVkuCisgKi8KKworI2luY2x1ZGUgPHg4Ni9jcHUuaD4KKworc3RydWN0IF94ODZfZmVhdHVy
ZXMgeDg2X2NwdV9mZWF0dXJlczsKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIv
cGxhdC9rdm0vTWFrZWZpbGUudWsKaW5kZXggYjRkMTA1Zi4uODU3OWY2NiAxMDA2NDQKLS0tIGEv
cGxhdC9rdm0vTWFrZWZpbGUudWsKKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKQEAgLTI2LDYg
KzI2LDcgQEAgTElCS1ZNUExBVF9DRkxBR1MgICAgICAgICAgICAgICs9IC1ES1ZNUExBVAogIyMK
IExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1P
Tl9CQVNFKS94ODYvdHJhY2UuY3xjb21tb24KIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNI
X1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYvdHJhcHMuY3xjb21tb24KK0xJ
QktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9C
QVNFKS94ODYvY3B1X2ZlYXR1cmVzLmN8Y29tbW9uCiBMSUJLVk1QTEFUX1NSQ1MtJChDT05GSUdf
QVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L2NwdV9uYXRpdmUuY3xj
b21tb24KIGlmZXEgKCQoQ09ORklHX0hBVkVfU0NIRUQpLHkpCiBMSUJLVk1QTEFUX1NSQ1MtJChD
T05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L3RocmVhZF9z
dGFydC5TfGNvbW1vbgpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0veDg2L3NldHVwLmMgYi9wbGF0L2t2
bS94ODYvc2V0dXAuYwppbmRleCA0N2E3OGRjLi5jMTdhN2RkIDEwMDY0NAotLS0gYS9wbGF0L2t2
bS94ODYvc2V0dXAuYworKysgYi9wbGF0L2t2bS94ODYvc2V0dXAuYwpAQCAtMjcsNiArMjcsNyBA
QAogICovCiAKICNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx4ODYvY3B1Lmg+CiAjaW5j
bHVkZSA8eDg2L3RyYXBzLmg+CiAjaW5jbHVkZSA8a3ZtL2NvbnNvbGUuaD4KICNpbmNsdWRlIDxr
dm0vaW50Y3RybC5oPgpAQCAtMTE4LDYgKzExOSw3IEBAIHZvaWQgX2xpYmt2bXBsYXRfZW50cnko
dm9pZCAqYXJnKQogewogCXN0cnVjdCBtdWx0aWJvb3RfaW5mbyAqbWkgPSAoc3RydWN0IG11bHRp
Ym9vdF9pbmZvICopYXJnOwogCisJX2luaXRfY3B1ZmVhdHVyZXMoKTsKIAlfbGlia3ZtcGxhdF9p
bml0X2NvbnNvbGUoKTsKIAl0cmFwc19pbml0KCk7CiAJaW50Y3RybF9pbml0KCk7CmRpZmYgLS1n
aXQgYS9wbGF0L2xpbnV4dS9NYWtlZmlsZS51ayBiL3BsYXQvbGludXh1L01ha2VmaWxlLnVrCmlu
ZGV4IDNjNTlkZTQuLjM1YjQ1NmIgMTAwNjQ0Ci0tLSBhL3BsYXQvbGludXh1L01ha2VmaWxlLnVr
CisrKyBiL3BsYXQvbGludXh1L01ha2VmaWxlLnVrCkBAIC0xOSw2ICsxOSw3IEBAIExJQkxJTlVY
VVBMQVRfQ0lOQ0xVREVTLXkgICAgICAgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5j
bHVkZQogTElCTElOVVhVUExBVF9BU0ZMQUdTICAgICAgICAgICAgICs9IC1ETElOVVhVUExBVAog
TElCTElOVVhVUExBVF9DRkxBR1MgICAgICAgICAgICAgICs9IC1ETElOVVhVUExBVAogCitMSUJM
SU5VWFVQTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05f
QkFTRSkveDg2L2NwdV9mZWF0dXJlcy5jfGNvbW1vbgogTElCTElOVVhVUExBVF9TUkNTLSQoQ09O
RklHX0FSQ0hfWDg2XzMyKSArPSAkKExJQkxJTlVYVVBMQVRfQkFTRSkveDg2L2VudHJ5MzIuUwog
TElCTElOVVhVUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSArPSAkKExJQkxJTlVYVVBM
QVRfQkFTRSkveDg2L2VudHJ5NjQuUwogTElCTElOVVhVUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hf
QVJNXzMyKSArPSAkKExJQkxJTlVYVVBMQVRfQkFTRSkvYXJtL2VudHJ5MzIuUwpkaWZmIC0tZ2l0
IGEvcGxhdC9saW51eHUvc2V0dXAuYyBiL3BsYXQvbGludXh1L3NldHVwLmMKaW5kZXggNWZiZjU0
Yi4uYzZiOTEwZiAxMDA2NDQKLS0tIGEvcGxhdC9saW51eHUvc2V0dXAuYworKysgYi9wbGF0L2xp
bnV4dS9zZXR1cC5jCkBAIC00NSw2ICs0NSw5IEBACiAjaW5jbHVkZSA8dWsvcGxhdC9ib290c3Ry
YXAuaD4KICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KICNpbmNsdWRlIDx1ay9lcnJwdHIuaD4KKyNp
ZiBkZWZpbmVkIF9fWDg2XzY0X18KKyNpbmNsdWRlIDx4ODYvY3B1Lmg+CisjZW5kaWYKIAogc3Ry
dWN0IGxpYmxpbnV4dXBsYXRfb3B0cyBfbGlibGludXh1cGxhdF9vcHRzID0geyAwIH07CiAKQEAg
LTE1MCw2ICsxNTMsMTAgQEAgdm9pZCBfbGlibGludXh1cGxhdF9lbnRyeShpbnQgYXJnYywgY2hh
ciAqYXJndltdKQogCWludCByZXQ7CiAJdm9pZCAqcHJldDsKIAorI2lmIGRlZmluZWQgX19YODZf
NjRfXworCV9pbml0X2NwdWZlYXR1cmVzKCk7CisjZW5kaWYKKwogCS8qCiAJICogSW5pdGlhbGl6
ZSBwbGF0Zm9ybSBjb25zb2xlCiAJICovCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9NYWtlZmlsZS51
ayBiL3BsYXQveGVuL01ha2VmaWxlLnVrCmluZGV4IDQzODY2ZTQuLjA3MDAyZDIgMTAwNjQ0Ci0t
LSBhL3BsYXQveGVuL01ha2VmaWxlLnVrCisrKyBiL3BsYXQveGVuL01ha2VmaWxlLnVrCkBAIC0z
Myw2ICszMyw3IEBAIExJQlhFTlBMQVRfU1JDUy15ICAgICAgICAgICAgICArPSAkKFVLX1BMQVRf
Q09NTU9OX0JBU0UpL21lbW9yeS5jfGNvbW1vbgogCiBMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdf
QVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L3RyYWNlLmN8Y29tbW9u
CiBMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01N
T05fQkFTRSkveDg2L3RyYXBzLmN8Y29tbW9uCitMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJD
SF9YODZfNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkveDg2L2NwdV9mZWF0dXJlcy5jfGNv
bW1vbgogaWZlcSAoJChDT05GSUdfSEFWRV9TQ0hFRCkseSkKIExJQlhFTlBMQVRfU1JDUy0kKENP
TkZJR19BUkNIX1g4Nl82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS94ODYvdGhyZWFkX3N0
YXJ0LlN8Y29tbW9uCiBMSUJYRU5QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICs9ICQo
VUtfUExBVF9DT01NT05fQkFTRSkvdGhyZWFkLmN8Y29tbW9uCmRpZmYgLS1naXQgYS9wbGF0L3hl
bi94ODYvc2V0dXAuYyBiL3BsYXQveGVuL3g4Ni9zZXR1cC5jCmluZGV4IGE0MWQ1Y2IuLjYwYTlm
OWUgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL3g4Ni9zZXR1cC5jCisrKyBiL3BsYXQveGVuL3g4Ni9z
ZXR1cC5jCkBAIC03NCw2ICs3NCw3IEBACiAjaW5jbHVkZSA8dWsvcGxhdC9jb25maWcuaD4KICNp
bmNsdWRlIDx1ay9wbGF0L2NvbnNvbGUuaD4KICNpbmNsdWRlIDx1ay9wbGF0L2Jvb3RzdHJhcC5o
PgorI2luY2x1ZGUgPHg4Ni9jcHUuaD4KIAogI2luY2x1ZGUgPHhlbi94ZW4uaD4KICNpbmNsdWRl
IDxjb21tb24vY29uc29sZS5oPgpAQCAtMTcwLDYgKzE3MSw3IEBAIHZvaWQgX2xpYnhlbnBsYXRf
eDg2ZW50cnkodm9pZCAqc3RhcnRfaW5mbykgX19ub3JldHVybjsKIHZvaWQgX2xpYnhlbnBsYXRf
eDg2ZW50cnkodm9pZCAqc3RhcnRfaW5mbykKIHsKIAlfaW5pdF90cmFwcygpOworCV9pbml0X2Nw
dWZlYXR1cmVzKCk7CiAJSFlQRVJWSVNPUl9zdGFydF9pbmZvID0gKHN0YXJ0X2luZm9fdCAqKXN0
YXJ0X2luZm87CiAJX2xpYnhlbnBsYXRfcHJlcGFyZV9jb25zb2xlKCk7IC8qIGVuYWJsZXMgYnVm
ZmVyaW5nIGZvciBjb25zb2xlICovCiAKLS0gCjIuMTkuMQoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:17:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:17:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhOH-0001Yc-2i; Thu, 11 Oct 2018 20:17:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhOG-0001Y7-1U
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:17:00 +0000
X-Inumbo-ID: ca188196-cd92-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ca188196-cd92-11e8-a6a9-d7ebe60f679a;
 Thu, 11 Oct 2018 20:18:17 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 12601F2036;
 Thu, 11 Oct 2018 22:16:58 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6B6eD5nPahE5; Thu, 11 Oct 2018 22:16:57 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E0704F2034
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:55 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:55 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:13 +0200
Message-ID: <20181011201614.12411-5-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
In-Reply-To: <20181011201614.12411-1-florian.schmidt@neclab.eu>
References: <20181011201614.12411-1-florian.schmidt@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 5/6] plat/common: Add functionality
 to save and restore extended (x86) registers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gY3JlYXRpb24gb2YgYSBzd19jdHggc3RydWN0LCBhbGxvY2F0ZSBhbiBhcmVhIHN1ZmZpY2ll
bnRseSBsYXJnZSB0bwpzYXZlIGFsbCBleHRlbmRlZCByZWdpc3RlcnMuIE9uIGNvbnRleHQgc3dp
dGNoLCB1c2UgdGhlIGFwcHJvcHJpYXRlIENQVQppbnN0cnVjdGlvbiB0byBzYXZlIGFuZCByZXN0
b3JlIHRob3NlIHJlZ2lzdGVycyB0by9mcm9tIHRoYXQgYXJlYS4KClNpZ25lZC1vZmYtYnk6IEZs
b3JpYW4gU2NobWlkdCA8Zmxvcmlhbi5zY2htaWR0QG5lY2xhYi5ldT4KLS0tCiBwbGF0L2NvbW1v
bi9pbmNsdWRlL3N3X2N0eC5oICB8ICA5ICsrKysrLS0KIHBsYXQvY29tbW9uL2luY2x1ZGUveDg2
L2NwdS5oIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQvY29t
bW9uL3N3X2N0eC5jICAgICAgICAgIHwgMTQgKysrKysrKystLQogMyBmaWxlcyBjaGFuZ2VkLCA2
OCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9u
L2luY2x1ZGUvc3dfY3R4LmggYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3N3X2N0eC5oCmluZGV4IDM0
MTE2YjEuLjVjYjk0OWEgMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2luY2x1ZGUvc3dfY3R4LmgK
KysrIGIvcGxhdC9jb21tb24vaW5jbHVkZS9zd19jdHguaApAQCAtMzgsOCArMzgsMTMgQEAKICNp
bmNsdWRlIDx1ay9wbGF0L3RocmVhZC5oPgogCiBzdHJ1Y3Qgc3dfY3R4IHsKLQl1bnNpZ25lZCBs
b25nIHNwOyAgLyogU3RhY2sgcG9pbnRlciAqLwotCXVuc2lnbmVkIGxvbmcgaXA7ICAvKiBJbnN0
cnVjdGlvbiBwb2ludGVyICovCisJdW5zaWduZWQgbG9uZyBzcDsJCS8qIFN0YWNrIHBvaW50ZXIg
Ki8KKwl1bnNpZ25lZCBsb25nIGlwOwkJLyogSW5zdHJ1Y3Rpb24gcG9pbnRlciAqLworCXVuc2ln
bmVkIGNoYXIgZXh0cmVnc1tdOwkvKiBOQiwgdGhpcyB3aWxsIHR5cGljYWxseSBOT1QgcG9pbnQg
dG8KKwkJCQkJICogdGhlIGJlZ2lubmluZyBvZiB0aGUgZXh0cmVncyBhcmVhLAorCQkJCQkgKiBi
ZWNhdXNlIHRoZSBleHRyZWdzIGFyZWEgbmVlZHMgdG8KKwkJCQkJICogYmUgYWxpZ25lZC4KKwkJ
CQkJICovCiB9OwogCiB2b2lkIHN3X2N0eF9jYWxsYmFja3NfaW5pdChzdHJ1Y3QgdWtwbGF0X2N0
eF9jYWxsYmFja3MgKmN0eF9jYnMpOwpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS94
ODYvY3B1LmggYi9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaAppbmRleCBmYmMyMjlkLi5m
MmE4ZjBkIDEwMDY0NAotLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaAorKysgYi9w
bGF0L2NvbW1vbi9pbmNsdWRlL3g4Ni9jcHUuaApAQCAtMzIsNiArMzIsNyBAQAogCiAjaW5jbHVk
ZSA8dWsvYXJjaC90eXBlcy5oPgogI2luY2x1ZGUgPHg4Ni9jcHVfZGVmcy5oPgorI2luY2x1ZGUg
PHN3X2N0eC5oPgogI2luY2x1ZGUgPHN0ZGludC5oPgogCiB2b2lkIGhhbHQodm9pZCk7CkBAIC01
NSw2ICs1Niw1NCBAQCBzdHJ1Y3QgX3g4Nl9mZWF0dXJlcyB7CiAKIGV4dGVybiBzdHJ1Y3QgX3g4
Nl9mZWF0dXJlcyB4ODZfY3B1X2ZlYXR1cmVzOwogCitzdGF0aWMgaW5saW5lIHZvaWQgc2F2ZV9l
eHRyZWdzKHN0cnVjdCBzd19jdHggKmN0eCkKK3sKKwl1aW50cHRyX3QgciA9IEFMSUdOX1VQKCgo
dWludHB0cl90KWN0eCArIHNpemVvZihzdHJ1Y3Qgc3dfY3R4KSksCisJCQkJeDg2X2NwdV9mZWF0
dXJlcy5leHRyZWdzX2FsaWduKTsKKworCXN3aXRjaCAoeDg2X2NwdV9mZWF0dXJlcy5zYXZlKSB7
CisJY2FzZSBYODZfU0FWRV9OT05FOgorCQkvKiBub3RoaW5nIHRvIGRvICovCisJCWJyZWFrOwor
CWNhc2UgWDg2X1NBVkVfRlNBVkU6CisJCWFzbSB2b2xhdGlsZSgiZnNhdmUgKCUwKSIgOjogInIi
KHIpIDogIm1lbW9yeSIpOworCQlicmVhazsKKwljYXNlIFg4Nl9TQVZFX0ZYU0FWRToKKwkJYXNt
IHZvbGF0aWxlKCJmeHNhdmUgKCUwKSIgOjogInIiKHIpIDogIm1lbW9yeSIpOworCQlicmVhazsK
KwljYXNlIFg4Nl9TQVZFX1hTQVZFOgorCQlhc20gdm9sYXRpbGUoInhzYXZlICglMCkiIDo6ICJy
IihyKSwgImEiKDB4ZmZmZmZmZmYpLAorCQkJCSJkIigweGZmZmZmZmZmKSA6ICJtZW1vcnkiKTsK
KwkJYnJlYWs7CisJY2FzZSBYODZfU0FWRV9YU0FWRU9QVDoKKwkJYXNtIHZvbGF0aWxlKCJ4c2F2
ZW9wdCAoJTApIiA6OiAiciIociksICJhIigweGZmZmZmZmZmKSwKKwkJCQkiZCIoMHhmZmZmZmZm
ZikgOiAibWVtb3J5Iik7CisJCWJyZWFrOworCX0KK30KK3N0YXRpYyBpbmxpbmUgdm9pZCByZXN0
b3JlX2V4dHJlZ3Moc3RydWN0IHN3X2N0eCAqY3R4KQoreworCXVpbnRwdHJfdCByID0gQUxJR05f
VVAoKCh1aW50cHRyX3QpY3R4ICsgc2l6ZW9mKHN0cnVjdCBzd19jdHgpKSwKKwkJCQl4ODZfY3B1
X2ZlYXR1cmVzLmV4dHJlZ3NfYWxpZ24pOworCisJc3dpdGNoICh4ODZfY3B1X2ZlYXR1cmVzLnNh
dmUpIHsKKwljYXNlIFg4Nl9TQVZFX05PTkU6CisJCS8qIG5vdGhpbmcgdG8gZG8gKi8KKwkJYnJl
YWs7CisJY2FzZSBYODZfU0FWRV9GU0FWRToKKwkJYXNtIHZvbGF0aWxlKCJmcnN0b3IgKCUwKSIg
OjogInIiKHIpKTsKKwkJYnJlYWs7CisJY2FzZSBYODZfU0FWRV9GWFNBVkU6CisJCWFzbSB2b2xh
dGlsZSgiZnhyc3RvciAoJTApIiA6OiAiciIocikpOworCQlicmVhazsKKwljYXNlIFg4Nl9TQVZF
X1hTQVZFOgorCWNhc2UgWDg2X1NBVkVfWFNBVkVPUFQ6CisJCWFzbSB2b2xhdGlsZSgieHJzdG9y
ICglMCkiIDo6ICJyIihyKSwgImEiKDB4ZmZmZmZmZmYpLAorCQkJCSJkIigweGZmZmZmZmZmKSk7
CisJCWJyZWFrOworCX0KK30KKwogc3RhdGljIGlubGluZSB2b2lkIF9pbml0X2NwdWZlYXR1cmVz
KHZvaWQpCiB7CiAjaWYgTElOVVhVUExBVApkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vc3dfY3R4
LmMgYi9wbGF0L2NvbW1vbi9zd19jdHguYwppbmRleCBhNDc3NzUzLi43OTkzNTc3IDEwMDY0NAot
LS0gYS9wbGF0L2NvbW1vbi9zd19jdHguYworKysgYi9wbGF0L2NvbW1vbi9zd19jdHguYwpAQCAt
MzcsNyArMzcsNyBAQAogI2luY2x1ZGUgPHVrL2FsbG9jLmg+CiAjaW5jbHVkZSA8c3dfY3R4Lmg+
CiAjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+Ci0KKyNpbmNsdWRlIDx4ODYvY3B1Lmg+CiAKIHN0YXRp
YyB2b2lkICpzd19jdHhfY3JlYXRlKHN0cnVjdCB1a19hbGxvYyAqYWxsb2NhdG9yLCB1bnNpZ25l
ZCBsb25nIHNwKTsKIHN0YXRpYyB2b2lkICBzd19jdHhfc3RhcnQodm9pZCAqY3R4KSBfX25vcmV0
dXJuOwpAQCAtNTIsMTAgKzUyLDE0IEBAIGV4dGVybiB2b2lkIGFzbV90aHJlYWRfc3RhcnRlcih2
b2lkKTsKIHN0YXRpYyB2b2lkICpzd19jdHhfY3JlYXRlKHN0cnVjdCB1a19hbGxvYyAqYWxsb2Nh
dG9yLCB1bnNpZ25lZCBsb25nIHNwKQogewogCXN0cnVjdCBzd19jdHggKmN0eDsKKwlzaXplX3Qg
c3o7CiAKIAlVS19BU1NFUlQoYWxsb2NhdG9yICE9IE5VTEwpOwogCi0JY3R4ID0gdWtfbWFsbG9j
KGFsbG9jYXRvciwgc2l6ZW9mKHN0cnVjdCBzd19jdHgpKTsKKwlzeiA9IEFMSUdOX1VQKHNpemVv
ZihzdHJ1Y3Qgc3dfY3R4KSwgeDg2X2NwdV9mZWF0dXJlcy5leHRyZWdzX2FsaWduKQorCQkrIHg4
Nl9jcHVfZmVhdHVyZXMuZXh0cmVnc19zaXplOworCWN0eCA9IHVrX21hbGxvYyhhbGxvY2F0b3Is
IHN6KTsKKwl1a19wcl9kZWJ1ZygiQWxsb2NhdGluZyAlbHUgYnl0ZXMgZm9yIHN3IGN0eCBhdCAl
cFxuIiwgc3osIGN0eCk7CiAJaWYgKGN0eCA9PSBOVUxMKSB7CiAJCXVrX3ByX3dhcm4oIkVycm9y
IGFsbG9jYXRpbmcgc29mdHdhcmUgY29udGV4dC4iKTsKIAkJcmV0dXJuIE5VTEw7CkBAIC02Myw2
ICs2Nyw3IEBAIHN0YXRpYyB2b2lkICpzd19jdHhfY3JlYXRlKHN0cnVjdCB1a19hbGxvYyAqYWxs
b2NhdG9yLCB1bnNpZ25lZCBsb25nIHNwKQogCiAJY3R4LT5zcCA9IHNwOwogCWN0eC0+aXAgPSAo
dW5zaWduZWQgbG9uZykgYXNtX3RocmVhZF9zdGFydGVyOworCXNhdmVfZXh0cmVncyhjdHgpOwog
CiAJcmV0dXJuIGN0eDsKIH0KQEAgLTg1LDYgKzkwLDExIEBAIGV4dGVybiB2b2lkIGFzbV9zd19j
dHhfc3dpdGNoKHZvaWQgKnByZXZjdHgsIHZvaWQgKm5leHRjdHgpOwogCiBzdGF0aWMgdm9pZCBz
d19jdHhfc3dpdGNoKHZvaWQgKnByZXZjdHgsIHZvaWQgKm5leHRjdHgpCiB7CisJc3RydWN0IHN3
X2N0eCAqcCA9IHByZXZjdHg7CisJc3RydWN0IHN3X2N0eCAqbiA9IG5leHRjdHg7CisKKwlzYXZl
X2V4dHJlZ3MocCk7CisJcmVzdG9yZV9leHRyZWdzKG4pOwogCWFzbV9zd19jdHhfc3dpdGNoKHBy
ZXZjdHgsIG5leHRjdHgpOwogfQogCi0tIAoyLjE5LjEKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 11 20:17:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 11 Oct 2018 20:17:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gAhOK-0001ZM-4X; Thu, 11 Oct 2018 20:17:04 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgir=mx=neclab.eu=florian.schmidt@srs-us1.protection.inumbo.net>)
 id 1gAhOJ-0001ZD-HE
 for minios-devel@lists.xen.org; Thu, 11 Oct 2018 20:17:03 +0000
X-Inumbo-ID: 3fe33b49-cd92-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 3fe33b49-cd92-11e8-a8a5-bc764e045a96;
 Thu, 11 Oct 2018 22:14:26 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id A0C0D104A2D;
 Thu, 11 Oct 2018 22:17:01 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id pbdOv4DL3r4B; Thu, 11 Oct 2018 22:17:01 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 83548104A2A
 for <minios-devel@lists.xen.org>; Thu, 11 Oct 2018 22:16:59 +0200 (CEST)
Received: from vortex.office.hd (10.7.0.70) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 11 Oct
 2018 22:16:59 +0200
From: Florian Schmidt <florian.schmidt@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 11 Oct 2018 22:16:14 +0200
Message-ID: <20181011201614.12411-6-florian.schmidt@neclab.eu>
X-Mailer: git-send-email 2.19.1
In-Reply-To: <20181011201614.12411-1-florian.schmidt@neclab.eu>
References: <20181011201614.12411-1-florian.schmidt@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.7.0.70]
Subject: [Minios-devel] [UNIKRAFT PATCH 6/6] plat/common: Add a notice
 regarding trap handling
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <florian.schmidt@neclab.eu>,
 Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogRmxvcmlhbiBTY2htaWR0IDxmbG9yaWFuLnNjaG1pZHRAbmVjbGFiLmV1
PgotLS0KIHBsYXQvY29tbW9uL3g4Ni90cmFwcy5jIHwgMTIgKysrKysrKysrKysrCiAxIGZpbGUg
Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL3g4Ni90
cmFwcy5jIGIvcGxhdC9jb21tb24veDg2L3RyYXBzLmMKaW5kZXggYzRjNTIwYi4uY2ZiMTIwZiAx
MDA2NDQKLS0tIGEvcGxhdC9jb21tb24veDg2L3RyYXBzLmMKKysrIGIvcGxhdC9jb21tb24veDg2
L3RyYXBzLmMKQEAgLTQwLDYgKzQwLDE4IEBACiAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KICNpbmNs
dWRlIDx1ay9hc3NlcnQuaD4KIAorLyogQSBnZW5lcmFsIHdvcmQgb2YgY2F1dGlvbiB3aGVuIHdy
aXRpbmcgdHJhcCBoYW5kbGVycy4gVGhlIHBsYXRmb3JtIHRyYXAKKyAqIGVudHJ5IGNvZGUgaXMg
c2V0IHVwIHRvIHByb3Blcmx5IHNhdmUgZ2VuZXJhbC1wdXJwb3NlIHJlZ2lzdGVycyAoZS5nLiwg
cnNpLAorICogcmRpLCByYXgsIHI4LCAuLi4pLCBidXQgaXQgZG9lcyBOT1Qgc2F2ZSBhbnkgZmxv
YXRpbmctcG9pbnQgb3IgU1NFL0FWWAorICogcmVnaXN0ZXJzLiAoVGhpcyB3b3VsZCByZXF1aXJl
IGZpZ3VyaW5nIG91dCBpbiB0aGUgdHJhcCBoYW5kbGVyIGNvZGUgd2hldGhlcgorICogdGhlc2Ug
YXJlIGF2YWlsYWJsZSB0byBub3QgcmlzayBhICNVRCB0cmFwIGluc2lkZSB0aGUgdHJhcCBoYW5k
bGVyIGl0c2VsZi4pCisgKiBIZW5jZSwgeW91IG5lZWQgdG8gYmUgZXh0cmEgY2FyZWZ1bCBub3Qg
dG8gZG8gYW55dGhpbmcgdGhhdCBjbG9iYmVycyB0aGVzZQorICogcmVnaXN0ZXJzIGlmIHlvdSBp
bnRlbmQgdG8gcmV0dXJuIGZyb20gdGhlIGhhbmRsZXIuIFRoaXMgaW5jbHVkZXMgY2FsbGluZwor
ICogb3RoZXIgZnVuY3Rpb25zLCB3aGljaCBtYXkgY2xvYmJlciB0aG9zZSByZWdpc3RlcnMuCisg
KiBPZiBjb3Vyc2UsIGlmIHlvdSBlbmQgeW91ciB0cmFwIGhhbmRsZXIgd2l0aCBhIFVLX0NSQVNI
LCBrbm9jayB5b3Vyc2VsZiBvdXQsCisgKiBpdCdzIG5vdCBsaWtlIHRoZSBmdW5jdGlvbiB5b3Ug
Y2FtZSBmcm9tIHdpbGwgZXZlciBoYXZlIHRoZSBjaGFuY2UgdG8gbm90aWNlLgorICovCisKIC8q
IFRyYXBzIGhhbmRsZWQgb24gYm90aCBYZW4gYW5kIEtWTSAqLwogCiBERUNMQVJFX1RSQVBfRUMo
ZGl2aWRlX2Vycm9yLCAgICAgICJkaXZpZGUgZXJyb3IiKQotLSAKMi4xOS4xCgoKX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxp
bmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 09:29:25 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 09:29:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD4cM-0001A7-4u; Thu, 18 Oct 2018 09:29:22 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gD4cK-0001A0-D3
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 09:29:20 +0000
X-Inumbo-ID: 7b91835f-d2b8-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7b91835f-d2b8-11e8-a6a9-d7ebe60f679a;
 Thu, 18 Oct 2018 09:30:43 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 951C1104A3D;
 Thu, 18 Oct 2018 11:29:16 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id pokQwkPaiTfU; Thu, 18 Oct 2018 11:29:16 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 774D8104A2E
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 11:29:14 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 Oct
 2018 11:29:14 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 18 Oct 2018 11:29:09 +0200
Message-ID: <1539854949-30753-1-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.7.0.24]
Subject: [Minios-devel] [UNIKRAFT PATCH] build: Support for static libraries
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: felipe.huici@neclab.eu, florian.schmidt@neclab.eu,
 Simon Kuenzer <simon.kuenzer@neclab.eu>, yuri.volchkov@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIHN1cHBvcnQgZm9yIGxpbmtpbmcgKGV4dGVybmFsbHkgYnVpbHQpIHN0YXRpYyBs
aWJyYXJpZXMuCgpBIHN0YXRpYyBsaWJyYXJ5IGNhbiBiZSByZWdpc3RlcmVkIGF0IHRocmVlIGRp
ZmZlcmVudCBwbGFjZXM6CiAqIFtMSUJOQU1FXV9BTElCUyBhbmQgW0xJQk5BTUVdX0FMSUJTLXkK
ICAgc3RhdGljIGxpYnJhcmllcyB1c2VkIHdoZW4gKHByZS0pbGlua2luZyBhIGxpYnJhcnkgb2Jq
ZWN0CiAqIFtQTEFUTkFNRV1fQUxJQlMgYW5kIFtQTEFUTkFNRV1fQUxJQlMteQogICBzdGF0aWMg
bGlicmFyaWVzIHRoYXQgYXJlIGxpbmtlZCBhdCB0aGUgZmluYWwgbGlua2luZyBzdGVwIGJ1dCBv
bmx5CiAgIGZvciBhIHNwZWNpZmljIHBsYXRmb3JtCiAqIFVLX0FMSUJTIGFuZCBVS19BTElCUy15
CiAgIHN0YXRpYyBsaWJyYXJpZXMgdGhhdCBhcmUgbGlua2VkIGF0IHRoZSBmaW5hbCBsaW5raW5n
IHN0ZXAKCldoaWxlIHRoZSBsaW5rIG9yZGVyIG9mIG9iamVjdCBmaWxlcyBpcyBpcnJlbGV2YW50
IHRvIHRoZSBsaW5rZXIsCnN0YXRpYyBsaWJyYXJpZXMgYXJlIGhhbmRsZWQgZGlmZmVyZW50bHku
IER1cmluZyBsaW5raW5nLCBzdGF0aWMKbGlicmFyaWVzIGFyZSBvbmx5IHZpc2l0ZWQgb25jZS4g
T25seSBvYmplY3RzIGZyb20gdGhlc2UgbGlicmFyaWVzIGFyZQp0YWtlbiB0aGF0IHNvbHZlIGF0
IGxlYXN0IG9uZSB5ZXQgdW5yZXNvbHZlZCBzeW1ib2wuIEJlY2F1c2Ugb2YgdGhpcywKd2UgcG9w
dWxhdGUgdGhlIGxpc3Qgb2Ygc3RhdGljIGxpYnJhcmllcyByaWdodCBhZnRlciBwb3B1bGF0aW5n
IGFsbApyZWxldmFudCBvYmplY3QgZmlsZXMuCgpBbnkgb3JkZXIgb3IgY2lyY3VsYXIgZGVwZW5k
ZW5jeSB3aXRoaW4gYSBncm91cCB0aGUgc3RhdGljIGxpYnJhcmllcwppcyByZXNvbHZlZCBieSBp
bnN0cnVjdGluZyB0aGUgbGlua2VyIHRvIHNjYW4gdGhlIGFyY2hpdmVzIG11bHRpcGxlCnRpbWVz
LiBUaGlzIGlzIGRvbmUgYnkgdGhlIC0tc3RhcnQtZ3JvdXAgYW5kIC0tZW5kLWdyb3VwIGxpbmtl
ciBmbGFncy4KCldpdGggdGhpcyBjaGFuZ2UsIHdlIGFsc28gcmVtb3ZlIHRoZSBVS19MSU5LIGFu
ZCBVS19MSU5LLXkgdmFyaWFibGVzCnRoYXQgd2VyZSB1c2VkIHRvIHNpbXBsaWZ5IHRoZSBwbGF0
Zm9ybSdzIGxpbmtlciBzY3JpcHRzLiBCZWNhdXNlIG9mCnRoZSBsaW5rIG9yZGVyIGFuZCBhZGRp
dGlvbmFsIGxpbmtlciBmbGFncywgd2UgZGlyZWN0bHkgYXNzZW1ibGUgdGhlCmxpbmtlciBjb21t
YW5kIGJ5IHRha2VuIHRoZSBpdGVtcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIE9MSUJTIGFuZApB
TElCUyBsaXN0cy4KClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJA
bmVjbGFiLmV1PgotLS0KIE1ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgfCAgMiAtLQogcGxh
dC9rdm0vTGlua2VyLnVrICAgICAgICAgICB8IDEzICsrKysrKysrKystLS0KIHBsYXQvbGludXh1
L0xpbmtlci51ayAgICAgICAgfCAxNCArKysrKysrKysrKystLQogcGxhdC94ZW4vTGlua2VyLnVr
ICAgICAgICAgICB8IDEzICsrKysrKysrKystLS0KIHN1cHBvcnQvYnVpbGQvTWFrZWZpbGUuYnVp
bGQgfCAgMyAtLS0KIHN1cHBvcnQvYnVpbGQvTWFrZWZpbGUucnVsZXMgfCAxNSArKysrKysrKysr
KystLS0KIDYgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCA5NmJlMmRiLi4xZTJkMDM1
IDEwMDY0NAotLS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtMTg4LDggKzE4OCw2IEBA
IFVLX0FMSUJTOj0KIFVLX0FMSUJTLXk6PQogVUtfT0xJQlM6PQogVUtfT0xJQlMteTo9Ci1VS19M
SU5LOj0KLVVLX0xJTksteTo9CiBVS19TUkNTOj0KIFVLX1NSQ1MteTo9CiBVS19ERVBTOj0KZGlm
ZiAtLWdpdCBhL3BsYXQva3ZtL0xpbmtlci51ayBiL3BsYXQva3ZtL0xpbmtlci51awppbmRleCBk
YWYyZWZlLi5lMGE1Njc3IDEwMDY0NAotLS0gYS9wbGF0L2t2bS9MaW5rZXIudWsKKysrIGIvcGxh
dC9rdm0vTGlua2VyLnVrCkBAIC0xMywxMiArMTMsMTkgQEAgZW5kaWYKICMjCiBLVk1fSU1BR0Ug
Oj0gJChCVUlMRF9ESVIpLyQoQ09ORklHX1VLX05BTUUpX2t2bS0kKENPTkZJR19VS19BUkNIKQog
Ci0kKEtWTV9JTUFHRSk6ICQoS1ZNX0xJTkspICQoS1ZNX0xJTksteSkgJChVS19MSU5LKSAkKFVL
X0xJTksteSkgJChLVk1fTERTQ1JJUFQpCiskKEtWTV9JTUFHRSk6ICQoS1ZNX0FMSUJTKSAkKEtW
TV9BTElCUy15KSAkKEtWTV9PTElCUykgJChLVk1fT0xJQlMteSkgXAorICAgICAgICAgICAgICAk
KFVLX0FMSUJTKSAkKFVLX0FMSUJTLXkpICQoVUtfT0xJQlMpICQoVUtfT0xJQlMteSkgXAorICAg
ICAgICAgICAgICAkKEtWTV9MRFNDUklQVCkKIAkkKGNhbGwgYnVpbGRfY21kLExELCwkQC5sZC5v
LFwKIAkgICAgICAgJChMRCkgLXIgJChMSUJMREZMQUdTKSAkKExJQkxERkxBR1MteSkgXAogCQkJ
JChLVk1fTERGTEFHUykgJChLVk1fTERGTEFHUy15KSBcCi0JCQkkKEtWTV9MSU5LKSAkKEtWTV9M
SU5LLXkpIFwKLQkJCSQoVUtfTElOSykgJChVS19MSU5LLXkpIC1vICRALmxkLm8pCisJCQkkKEtW
TV9PTElCUykgJChLVk1fT0xJQlMteSkgXAorCQkJJChVS19PTElCUykgJChVS19PTElCUy15KSBc
CisJCQktV2wkKGNvbW1hKS0tc3RhcnQtZ3JvdXAgXAorCQkJJChLVk1fQUxJQlMpICQoS1ZNX0FM
SUJTLXkpIFwKKwkJCSQoVUtfQUxJQlMpICQoVUtfQUxJQlMteSkgXAorCQkJLVdsJChjb21tYSkt
LWVuZC1ncm91cCBcCisJCQktbyAkQC5sZC5vKQogCSQoY2FsbCBidWlsZF9jbWQsT0JKQ09QWSws
JEAubyxcCiAJICAgICAgICQoT0JKQ09QWSkgLXcgLUcga3Ztb3NfKiAtRyBfbGlia3ZtcGxhdF9l
bnRyeSAkQC5sZC5vICRALm8pCiBpZm5lcSAoJChmaWx0ZXIgeDg2XzY0IGFybTY0LCQoQ09ORklH
X1VLX0FSQ0gpKSwpCmRpZmYgLS1naXQgYS9wbGF0L2xpbnV4dS9MaW5rZXIudWsgYi9wbGF0L2xp
bnV4dS9MaW5rZXIudWsKaW5kZXggYWJlZjU4NS4uOWU0YjJhOSAxMDA2NDQKLS0tIGEvcGxhdC9s
aW51eHUvTGlua2VyLnVrCisrKyBiL3BsYXQvbGludXh1L0xpbmtlci51awpAQCAtNSw5ICs1LDE5
IEBAIExJTlVYVV9MREZMQUdTLXkgKz0gLVdsLC1lLF9saWJsaW51eHVwbGF0X3N0YXJ0CiAjIwog
TElOVVhVX0lNQUdFIDo9ICQoQlVJTERfRElSKS8kKENPTkZJR19VS19OQU1FKV9saW51eHUtJChD
T05GSUdfVUtfQVJDSCkKIAotJChMSU5VWFVfSU1BR0UpOiAkKExJTlVYVV9MSU5LKSAkKExJTlVY
VV9MSU5LLXkpICQoVUtfTElOSykgJChVS19MSU5LLXkpCiskKExJTlVYVV9JTUFHRSk6ICQoTElO
VVhVX0FMSUJTKSAkKExJTlVYVV9BTElCUy15KSBcCisJCSAkKExJTlVYVV9PTElCUykgJChMSU5V
WFVfT0xJQlMteSkgXAorCQkgJChVS19BTElCUykgJChVS19BTElCUy15KSAkKFVLX09MSUJTKSAk
KFVLX09MSUJTLXkpCiAJJChjYWxsIGJ1aWxkX2NtZCxMRCwsJEAsXAotCSAgICAgICAkKExEKSAk
KExERkxBR1MpICQoTERGTEFHUy15KSAkKExJTlVYVV9MREZMQUdTKSAkKExJTlVYVV9MREZMQUdT
LXkpICReIC1vICRAKQorCSAgICAgICAkKExEKSAkKExERkxBR1MpICQoTERGTEFHUy15KSBcCisJ
CSAgICAgJChMSU5VWFVfTERGTEFHUykgJChMSU5VWFVfTERGTEFHUy15KSBcCisJCSAgICAgJChM
SU5VWFVfT0xJQlMpICQoTElOVVhVX09MSUJTLXkpIFwKKwkJICAgICAkKFVLX09MSUJTKSAkKFVL
X09MSUJTLXkpIFwKKwkJICAgICAtV2wkKGNvbW1hKS0tc3RhcnQtZ3JvdXAgXAorCQkgICAgICQo
TElOVVhVX0FMSUJTKSAkKExJTlVYVV9BTElCUy15KSBcCisJCSAgICAgJChVS19BTElCUykgJChV
S19BTElCUy15KSBcCisJCSAgICAgLVdsJChjb21tYSktLWVuZC1ncm91cCBcCisJCSAgICAgLW8g
JEApCiBpZmVxICgkKENPTkZJR19PUFRJTUlaRV9EQkdGSUxFKSx5KQogCSQoY2FsbCBidWlsZF9j
bWQsT0JKQ09QWSwsJEAuZGJnLFwKIAkgICAgICAgJChPQkpDT1BZKSAtLW9ubHkta2VlcC1kZWJ1
ZyAkQCAkQC5kYmcpCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9MaW5rZXIudWsgYi9wbGF0L3hlbi9M
aW5rZXIudWsKaW5kZXggNTVjMjdmZC4uZGY4NGMyMCAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vTGlu
a2VyLnVrCisrKyBiL3BsYXQveGVuL0xpbmtlci51awpAQCAtMTgsMTIgKzE4LDE5IEBAIGVuZGlm
CiAjIwogWEVOX0lNQUdFIDo9ICQoQlVJTERfRElSKS8kKENPTkZJR19VS19OQU1FKV94ZW4tJChD
T05GSUdfVUtfQVJDSCkKIAotJChYRU5fSU1BR0UpOiAkKFhFTl9MSU5LKSAkKFhFTl9MSU5LLXkp
ICQoVUtfTElOSykgJChVS19MSU5LLXkpICQoWEVOX0xEU0NSSVBUKQorJChYRU5fSU1BR0UpOiAk
KFhFTl9BTElCUykgJChYRU5fQUxJQlMteSkgJChYRU5fT0xJQlMpICQoWEVOX09MSUJTLXkpIFwK
KyAgICAgICAgICAgICAgJChVS19BTElCUykgJChVS19BTElCUy15KSAkKFVLX09MSUJTKSAkKFVL
X09MSUJTLXkpIFwKKyAgICAgICAgICAgICAgJChYRU5fTERTQ1JJUFQpCiAJJChjYWxsIGJ1aWxk
X2NtZCxMRCwsJEAubGQubyxcCiAJICAgICAgICQoTEQpIC1yICQoTElCTERGTEFHUykgJChMSUJM
REZMQUdTLXkpIFwKIAkJCSQoWEVOX0xERkxBR1MpICQoWEVOX0xERkxBR1MteSkgXAotCQkJJChY
RU5fTElOSykgJChYRU5fTElOSy15KSBcCi0JCQkkKFVLX0xJTkspICQoVUtfTElOSy15KSAtbyAk
QC5sZC5vKQorCQkJJChYRU5fT0xJQlMpICQoWEVOX09MSUJTLXkpIFwKKwkJCSQoVUtfT0xJQlMp
ICQoVUtfT0xJQlMteSkgXAorCQkJLVdsJChjb21tYSktLXN0YXJ0LWdyb3VwIFwKKwkJCSQoWEVO
X0FMSUJTKSAkKFhFTl9BTElCUy15KSBcCisJCQkkKFVLX0FMSUJTKSAkKFVLX0FMSUJTLXkpIFwK
KwkJCS1XbCQoY29tbWEpLS1lbmQtZ3JvdXAgXAorCQkJLW8gJEAubGQubykKIAkkKGNhbGwgYnVp
bGRfY21kLE9CSkNPUFksLCRALm8sXAogCSAgICAgICAkKE9CSkNPUFkpIC13IC1HIHhlbm9zXyog
LUcgX2xpYnhlbnBsYXRfc3RhcnQgJEAubGQubyAkQC5vKQogaWZlcSAoYXJtLCQoQ09ORklHX1VL
X0FSQ0gpKQpkaWZmIC0tZ2l0IGEvc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5idWlsZCBiL3N1cHBv
cnQvYnVpbGQvTWFrZWZpbGUuYnVpbGQKaW5kZXggZTY1ODYxZS4uNTY3OTc0MSAxMDA2NDQKLS0t
IGEvc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5idWlsZAorKysgYi9zdXBwb3J0L2J1aWxkL01ha2Vm
aWxlLmJ1aWxkCkBAIC0zNSw4ICszNSw2IEBAICQoZXZhbCBVS19PTElCUy15ICs9ICQoY2FsbCBs
aWJuYW1lMm9saWIsJChMKSkpOyBcCiApCiBlbmRpZgogCi1VS19MSU5LLXkgKz0gJChVS19PTElC
Uy15KQotCiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMKICMKQEAgLTU3LDYgKzU1LDUgQEAgJChldmFsICQoY2FsbCB1YywkKFApKV9PTElCUy15ICAg
ICs9ICQoY2FsbCBsaWJuYW1lMm9saWIsJChMKSkpOyBcCiApIFwKICkgXAogKTsgXAotJChldmFs
ICQoY2FsbCB1YywkKFApKV9MSU5LLXkgKz0gJCgkKGNhbGwgdWMsJChQKSlfT0xJQlMteSkpIFwK
ICkKIGVuZGlmCmRpZmYgLS1naXQgYS9zdXBwb3J0L2J1aWxkL01ha2VmaWxlLnJ1bGVzIGIvc3Vw
cG9ydC9idWlsZC9NYWtlZmlsZS5ydWxlcwppbmRleCA2ODdlZjk4Li4zNmZiOGRiIDEwMDY0NAot
LS0gYS9zdXBwb3J0L2J1aWxkL01ha2VmaWxlLnJ1bGVzCisrKyBiL3N1cHBvcnQvYnVpbGQvTWFr
ZWZpbGUucnVsZXMKQEAgLTQ4OSwxMSArNDg5LDIwIEBAICQoaWYgJCh3aWxkY2FyZCAkKCQoY2Fs
bCB2cHJlZml4X2xpYiwkKDEpLEVYUE9SVFMpKSksLFwKIAkkKHdhcm5pbmcgV2FybmluZzogRGVm
aW5pdGlvbiBvZiBleHBvcnRlZCBzeW1ib2xzIGZvciAkKDEpIG1pc3Npbmc6ICQoJChjYWxsIHZw
cmVmaXhfbGliLCQoMSksRVhQT1JUUykpKSBcCiApCiAKLSQoY2FsbCBsaWJuYW1lMnByZW9saWIs
JCgxKSk6ICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksT0JKUykpICQoJChjYWxsIHZwcmVmaXhf
bGliLCQoMSksT0JKUy15KSkKKyQoY2FsbCBsaWJuYW1lMnByZW9saWIsJCgxKSk6ICQoJChjYWxs
IHZwcmVmaXhfbGliLCQoMSksT0JKUykpIFwKKwkJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGli
LCQoMSksT0JKUy15KSkgXAorCQkJICAgICAgJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxBTElC
UykpIFwKKwkJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksQUxJQlMteSkpCiAJJChj
YWxsIGJ1aWxkX2NtZCxMRCwsJChjYWxsIGxpYm5hbWUycHJlb2xpYiwkKDEpKSxcCiAJCSQoTEQp
ICQoTElCTERGTEFHUykgJChMSUJMREZMQUdTLXkpIFwKLQkJICAgICAgJCgkKGNhbGwgdnByZWZp
eF9saWIsJCgxKSxMREZMQUdTKSkgJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxMREZMQUdTLXkp
KSBcCi0JCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksT0JKUykpICQoJChjYWxsIHZw
cmVmaXhfbGliLCQoMSksT0JKUy15KSkgXAorCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwk
KDEpLExERkxBR1MpKSBcCisJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksTERGTEFH
Uy15KSkgXAorCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLE9CSlMpKSBcCisJCSAg
ICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksT0JKUy15KSkgXAorCQkgICAgICAtV2wkKGNv
bW1hKS0tc3RhcnQtZ3JvdXAgXAorCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLEFM
SUJTKSkgXAorCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLEFMSUJTLXkpKSBcCisJ
CSAgICAgIC1XbCQoY29tbWEpLS1lbmQtZ3JvdXAgXAogCQkgICAgICAtbyAkKGNhbGwgbGlibmFt
ZTJwcmVvbGliLCQoMSkpKQogCiAkKGNhbGwgbGlibmFtZTJvbGliLCQoMSkpOiAkKGNhbGwgbGli
bmFtZTJwcmVvbGliLCQoMSkpICQoaWYgJCh3aWxkY2FyZCAkKCQoY2FsbCB2cHJlZml4X2xpYiwk
KDEpLEVYUE9SVFMpKSksJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxFWFBPUlRTKSksKQotLSAK
Mi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 11:41:35 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 11:41:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD6gG-0003ka-Hl; Thu, 18 Oct 2018 11:41:32 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=wgtf=m6=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gD6gE-0003jq-JI
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 11:41:30 +0000
X-Inumbo-ID: 5c9a27fe-d2ca-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x336.google.com (unknown [2a00:1450:4864:20::336])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5c9a27fe-d2ca-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 13:38:42 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id 185-v6so5446163wmt.2
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 04:41:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=PGoosEr9+YmHSD53ofrkWv1j4+ovYk6uG3iztcshg10=;
 b=BDK2dwqx7i++FE3sysEOk5WGM/yFOXNhodL6zIz6b593YMC2t3MBcAqSwNRTDi9IBQ
 m8/4iynMrVMDsTYxGcZUY9xeKnf4l0K6OGv1f5bJVOjTMIArSJ3grKwtGf/XMeur3Dx+
 CnL/vwy9nKWrVCMHqTDyM+OJrFPRaue9FquTb5eqU6Lyjl9T8lUGrhOS6OBDIXOtAEWa
 DQBJGIRiIq4o6ddUBxjV5/a7N6kVlKCfNIizr0OaGL4vSR50rkV9+PK0eBIuGIkQe6W3
 FFRF6kbjG8LynSlItLUoc+aUEKt511L8QIjrK03yO4w95zuhdH83dIFeJYpbSbw40Aac
 CGAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=PGoosEr9+YmHSD53ofrkWv1j4+ovYk6uG3iztcshg10=;
 b=fZzF+ULUCC+VleKnEHmaTLamQgDeXyR1r6CMUmN3R/3PZ2YOKJmFG6AE1UgY5lmJ7L
 gE8nZBoIYeoHSQUfi4M2VfPULkmm+I48pp5iHmFowCH1oLEBdj/prZ0j8jw6bIZJ5RJq
 fF5Z6OIR5PNrxfdWefQJ/VjmNC1SoQ8/b+WChHgrbC3Aud/+7dh7N96B+JkgHP9ZTor9
 dmYj8xPyaw2nJZB7AzhkjmBPNvBnGfj75pHlaAuA4cfyzyjd4qj132II5A7bYhF9udpM
 CYWTfXGA3aLpC7jmWJaaZcXK0EndYuzPwG9soiziKsYVqaVTt3pkeK3LfPI2FaQyfw4L
 9MIw==
X-Gm-Message-State: ABuFfojjtA53cImbhCZYh1Ns2zgZfLnAMcctK3jATKnXUbr8qC5+7P3r
 f3VQUQ9LgQY8KPi9B2upgl3d0YH+
X-Google-Smtp-Source: ACcGV60XGHzIwp4SrGnBGfR7S1oT78feJL37nIbxwx3Mi7SXVb13wAPwZHVaIIk5ekhl9YGuBa3Izw==
X-Received: by 2002:a1c:5702:: with SMTP id l2-v6mr6649221wmb.83.1539862887356; 
 Thu, 18 Oct 2018 04:41:27 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id 4-v6sm5899212wmt.16.2018.10.18.04.41.26
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Thu, 18 Oct 2018 04:41:26 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Thu, 18 Oct 2018 14:40:50 +0300
Message-Id: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
Subject: [Minios-devel] [UNIKRAFT-PATCH 0/3] plat/xen: Cleanup x86 headers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpSZW1vdmVkIHhl
bi14ODYvb3MuaCBoZWFkZXIgZmlsZSBhcyBpdCB3YXMgbW9zdGx5IHVudXNlZC4KeGVuL21tX3B2
Lmggd2FzIHRoZSBvbmx5IHNvdXJjZSBmaWxlIHRoYXQgaW5jbHVkZWQgdGhpcyBoZWFkZXIuClJl
bW92aW5nIHRoZSBvcy5oIGNhdXNlZCBzb21lIHNvdXJjZSBmaWxlcyB0byBsb3NlIHRoZSBleHRl
cm4KZGVmaXRpb24gb2YgdGhlIHNoYXJlZCBpbmZvIHBhZ2UsIHNvIEkgaW5jbHVkZWQgdGhlCmNv
bW1vbi9oeXBlcnZpc29yLmggaW4gdGhvc2UgZmlsZXMuCgpNb3ZlZCBldmVudCBjaGFubmVsIHJl
bGF0ZWQgZnVuY3Rpb25zIGZyb20gaHlwZXJ2aXNvci5oIHRvCmV2ZW50cy5oIGFuZCBjaGFuZ2Vk
IHRoZSB4ZW4vYXJtL2FyY2hfKiBmaWxlcyB0byBpbmNsdWRlIHRoZQpldmVudHMgaGVhZGVyLiBE
ZWxldGVkIHVudXNlZCBjb2RlIHBvcnRlZCBmcm9tIE1pbmktT1MgaW4KaHlwZXJ2aXNvci5oCgpS
YWR1IE5pY29sYXUgKDMpOgogIGluY2x1ZGUveGVuLXg4Ni9vcy5oOiBSZW1vdmUgb3MuaCBvbiB4
ODYKICBwbGF0L3hlbi9jb21tb246IE1vdmUgZXZlbnQgY2hhbm5lbCBmdW5jdGlvbnMgaW4gZXZl
bnRzLmgKICBwbGF0L3hlbi9jb21tb24vaHlwZXJ2aXNvcjogRGVsZXRlIHVudXNlZCBjb2RlIGFu
ZCBjb21tZW50cwoKIHBsYXQveGVuL2FybS9hcmNoX2V2ZW50cy5jICAgICAgICAgICB8ICAxIC0K
IHBsYXQveGVuL2FybS9hcmNoX3RpbWUuYyAgICAgICAgICAgICB8ICAxIC0KIHBsYXQveGVuL2V2
ZW50cy5jICAgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0KIHBsYXQveGVuL2dudHRhYi5jICAg
ICAgICAgICAgICAgICAgICB8ICA1ICsrCiBwbGF0L3hlbi9oeXBlcnZpc29yLmMgICAgICAgICAg
ICAgICAgfCAgOCAtLS0tCiBwbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaCAgICAgfCAy
MiArKysrKysrKysKIHBsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaCB8IDIzIC0t
LS0tLS0tLQogcGxhdC94ZW4vaW5jbHVkZS94ZW4teDg2L21tX3B2LmggICAgIHwgIDEgLQogcGxh
dC94ZW4vaW5jbHVkZS94ZW4teDg2L29zLmggICAgICAgIHwgOTAgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvc2V0dXAuaCAgICAg
fCAgMSAtCiBwbGF0L3hlbi9sY3B1LmMgICAgICAgICAgICAgICAgICAgICAgfCAgMSAtCiBwbGF0
L3hlbi94ODYvbW0uYyAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBwbGF0L3hlbi94ZW5idXMv
eHNfY29tbXMuYyAgICAgICAgICAgfCAgMSArCiAxMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRp
b25zKCspLCAxMzEgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgcGxhdC94ZW4vaW5j
bHVkZS94ZW4teDg2L29zLmgKCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRl
dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp
bG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 11:41:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 11:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD6gf-0003lN-KY; Thu, 18 Oct 2018 11:41:57 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=wgtf=m6=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gD6gd-0003lI-VL
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 11:41:56 +0000
X-Inumbo-ID: 6c20e17c-d2ca-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6c20e17c-d2ca-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 13:39:08 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id 193-v6so5377575wme.3
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 04:41:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=Y0KcNbmIoxAb4sp1coIT/mY9ogUhdKZ8IOOItNsZjCE=;
 b=rw5oHA5klVcYvkdEflzSVdxQ0BMr4CnkdLBOBij2oJ95eT+bYa7i8SzRo+WY+NPJKV
 oWHWk5dLWbZcEaSOt7lR3pDi1YPwRTgzFvmA65GbZzAJoz6TnAAM6u2Q4ABOATQvf/zN
 iJ86gOZLerdtaPWEj365d+wNqguZzJ9gJjGxPEeS6IJpS0O31/bqPaR7kHvI2WqN09mY
 8QSYRZKjf2H7MbW5AB9mNGlvv5wOiG/CpqW3xNRqErYnHZbrCMxj8w7CaI6IJeVr7lFR
 PZCIONGHEufG+Rn8rJON7OlC2T4r8nwvgF04UGAaL+uDE/y7hCXEeEFVKY0kXj2Qsir5
 YjbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=Y0KcNbmIoxAb4sp1coIT/mY9ogUhdKZ8IOOItNsZjCE=;
 b=bd/b3BuOLNLFfrUbjTwbXc3J/IZebO5Wfqol6VP7oS554KNSIMcYD8MDPsSxgdeJMs
 AO7OzrAPKKqJtl5WRf2TXQuA38stuLoS1vyvO5zN01PByMuYxkyqcEJzmpjlxXdcUwl7
 iiqW//cTTrEAfx9EBU81Y2bCDEecMJc87lSrpJGB+V6/XDV1WWjIVuIrC/ZjHkUWagdl
 s0Lrf57yOOwbGcFc6dgrOizVF6r0w01ebIEiZkrgSkOdmTYN+5+0RRzT9NDAiHsgW2YI
 AbXBWMA0CRDDPXnygKhRSwUYMokk2ZbA8pYM3tvGMc31/wCnpS4RBqUVoS/lb8fig8VN
 I5ww==
X-Gm-Message-State: ABuFfoh78e/fqzSYtoNz/RM32toU/kqQVUkh+gP/y9bOFlR/WzbFGAgh
 M16KmEr+E7H6jfqphgVSjKvgWW1F
X-Google-Smtp-Source: ACcGV60at61bl7rvkC2o6EvepJqzllTsYUyo5QErkQveAMv6B/JeKDS0Z4A8brcBlohIVP9toRRj8g==
X-Received: by 2002:a1c:c50f:: with SMTP id
 v15-v6mr6863040wmf.123.1539862913369; 
 Thu, 18 Oct 2018 04:41:53 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id 4-v6sm5899212wmt.16.2018.10.18.04.41.52
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Thu, 18 Oct 2018 04:41:52 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Thu, 18 Oct 2018 14:40:51 +0300
Message-Id: <1539862853-4001-2-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT-PATCH 1/3] include/xen-x86/os.h: Remove
 os.h on x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpSZW1vdmUgb3Mu
aCBmcm9tIHRoZSBwcm9qZWN0IGFzIGl0IHdhcyB1bnVzZWQuCm1tX3B2LmggaW5jbHVkZWQgb3Mu
aCBidXQgZGlkIG5vdCB1c2UgYW55dGhpbmcgZnJvbQppdC4gVGhlIHJlc3Qgb2YgdGhlIGNoYW5n
ZXMgaGF2ZSBiZWVuIG1hZGUgaW4gc291cmNlcwp3aGljaCBuZWVkIHRoZSBleHRlcm4gZGVmaW5p
dGlvbiBmb3IgdGhlIHNoYXJlZCBpbmZvCnBhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBSYWR1IE5pY29s
YXUgPHJhZHVuaWNvbGF1MTAyQGdtYWlsLmNvbT4KLS0tCiBwbGF0L3hlbi9nbnR0YWIuYyAgICAg
ICAgICAgICAgICB8ICA1ICsrKwogcGxhdC94ZW4vaW5jbHVkZS94ZW4teDg2L21tX3B2LmggfCAg
MSAtCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvb3MuaCAgICB8IDkwIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHBsYXQveGVuL2xjcHUuYyAgICAgICAgICAgICAg
ICAgIHwgIDEgLQogcGxhdC94ZW4veDg2L21tLmMgICAgICAgICAgICAgICAgfCAgMSArCiBwbGF0
L3hlbi94ZW5idXMveHNfY29tbXMuYyAgICAgICB8ICAxICsKIDYgZmlsZXMgY2hhbmdlZCwgNyBp
bnNlcnRpb25zKCspLCA5MiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0L3hl
bi9pbmNsdWRlL3hlbi14ODYvb3MuaAoKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2dudHRhYi5jIGIv
cGxhdC94ZW4vZ250dGFiLmMKaW5kZXggZGRmZmY5OS4uM2IwYzQzMiAxMDA2NDQKLS0tIGEvcGxh
dC94ZW4vZ250dGFiLmMKKysrIGIvcGxhdC94ZW4vZ250dGFiLmMKQEAgLTI3LDYgKzI3LDExIEBA
CiAjaW5jbHVkZSA8Y29tbW9uL2dudHRhYi5oPgogI2luY2x1ZGUgPHhlbi14ODYvbW0uaD4KIAor
I2lmIGRlZmluZWQoX19YODZfNjRfXykKKyNpbmNsdWRlIDx4ZW4teDg2L2h5cGVyY2FsbDY0Lmg+
CisjZWxpZiBkZWZpbmVkKF9fWDg2XzMyX18pCisjaW5jbHVkZSA8eGVuLXg4Ni9oeXBlcmNhbGwz
Mi5oPgorI2VuZGlmCiAKIC8qIE5SX0dSQU5UX0ZSQU1FUyBtdXN0IGJlIGxlc3MgdGhhbiBvciBl
cXVhbCB0byB0aGF0IGNvbmZpZ3VyZWQgaW4gWGVuICovCiAjZGVmaW5lIE5SX0dSQU5UX0ZSQU1F
UyAgICAgICAgIDQKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2luY2x1ZGUveGVuLXg4Ni9tbV9wdi5o
IGIvcGxhdC94ZW4vaW5jbHVkZS94ZW4teDg2L21tX3B2LmgKaW5kZXggMjFmOTE2OS4uZjc4ZTYy
ZiAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vaW5jbHVkZS94ZW4teDg2L21tX3B2LmgKKysrIGIvcGxh
dC94ZW4vaW5jbHVkZS94ZW4teDg2L21tX3B2LmgKQEAgLTI0LDcgKzI0LDYgQEAKICNpZm5kZWYg
X01NX1BWX0gKICNkZWZpbmUgX01NX1BWX0gKIAotI2luY2x1ZGUgPHhlbi14ODYvb3MuaD4KICNp
bmNsdWRlIDx4ZW4teDg2L3NldHVwLmg+CiAKICNpZmRlZiBfX3g4Nl82NF9fCmRpZmYgLS1naXQg
YS9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvb3MuaCBiL3BsYXQveGVuL2luY2x1ZGUveGVuLXg4
Ni9vcy5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMDhkOTFhLi4wMDAwMDAwCi0t
LSBhL3BsYXQveGVuL2luY2x1ZGUveGVuLXg4Ni9vcy5oCisrKyAvZGV2L251bGwKQEAgLTEsOTAg
KzAsMCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZSAqLwotLyoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVVUSE9SIEFORCBDT05U
UklCVVRPUlMgYGBBUyBJUycnIEFORAotICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRQotICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBVVRIT1IgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQotICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKLSAqIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTCi0gKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikKLSAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCi0gKiBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZCi0gKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCi0gKiBTVUNIIERBTUFHRS4KLSAqLwotLyogVGFrZW4g
ZnJvbSBNaW5pLU9TICovCi0vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCi0gKiBvcy5oCi0gKgotICog
cmFuZG9tIGNvbGxlY3Rpb24gb2YgbWFjcm9zIGFuZCBkZWZpbml0aW9uCi0gKi8KLQotI2lmbmRl
ZiBfT1NfSF8KLSNkZWZpbmUgX09TX0hfCi0KLSNpbmNsdWRlIDx4ZW4teDg2L3NtcC5oPgotCi0j
aW5jbHVkZSA8c3RkaW50Lmg+Ci0jaW5jbHVkZSA8c3RkZGVmLmg+Ci0jaW5jbHVkZSA8bGltaXRz
Lmg+Ci0jaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgotI2luY2x1ZGUgPHVrL2FyY2gvbGltaXRz
Lmg+Ci0jaW5jbHVkZSA8dWsvYXJjaC90aW1lLmg+Ci0jaW5jbHVkZSA8eGVuL3hlbi5oPgotCi0j
aWZuZGVmIF9fQVNTRU1CTFlfXwotCi10eXBlZGVmIF9fczY0IHF1YWRfdDsKLXR5cGVkZWYgX191
NjQgdV9xdWFkX3Q7Ci0KLXR5cGVkZWYgX19zcHRyIGludHB0cl90OwotdHlwZWRlZiBfX3VwdHIg
dWludHB0cl90OwotdHlwZWRlZiBfX3NwdHIgcHRyZGlmZl90OwotCi10eXBlZGVmIHVuc2lnbmVk
IGNoYXIgdV9jaGFyOwotdHlwZWRlZiB1bnNpZ25lZCBpbnQgdV9pbnQ7Ci10eXBlZGVmIHVuc2ln
bmVkIGxvbmcgdV9sb25nOwotCi0jaW5jbHVkZSA8eGVuLXg4Ni9oeXBlcmNhbGwuaD4KLQotI2lu
Y2x1ZGUgPHhlbi9ldmVudF9jaGFubmVsLmg+Ci0jaW5jbHVkZSA8eGVuL3hzbS9mbGFza19vcC5o
PgotI2VuZGlmCi0KLSNpbmNsdWRlIDx4ODYvY3B1X2RlZnMuaD4KLQotCi0jZGVmaW5lIExPQ0tf
UFJFRklYICIiCi0jZGVmaW5lIEFERFIgKCoodm9sYXRpbGUgbG9uZyAqKWFkZHIpCi0KLS8qIEV2
ZXJ5dGhpbmcgYmVsb3cgdGhpcyBwb2ludCBpcyBub3QgaW5jbHVkZWQgYnkgYXNzZW1ibGVyICgu
UykgZmlsZXMuICovCi0jaWZuZGVmIF9fQVNTRU1CTFlfXwotCi1leHRlcm4gc2hhcmVkX2luZm9f
dCAqSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsKLQotI2luY2x1ZGUgPHhlbi14ODYvaXJxLmg+Ci0K
LQotLyoKLSAqIE1ha2Ugc3VyZSBnY2MgZG9lc24ndCB0cnkgdG8gYmUgY2xldmVyIGFuZCBtb3Zl
IHRoaW5ncyBhcm91bmQKLSAqIG9uIHVzLiBXZSBuZWVkIHRvIHVzZSBfZXhhY3RseV8gdGhlIGFk
ZHJlc3MgdGhlIHVzZXIgZ2F2ZSB1cywKLSAqIG5vdCBzb21lIGFsaWFzIHRoYXQgY29udGFpbnMg
dGhlIHNhbWUgaW5mb3JtYXRpb24uCi0gKi8KLXR5cGVkZWYgc3RydWN0IHsKLQl2b2xhdGlsZSBp
bnQgY291bnRlcjsKLX0gYXRvbWljX3Q7Ci0KLQotdm9pZCBibG9ja19kb21haW4oX19zbnNlYyB1
bnRpbCk7Ci0KLSNlbmRpZiAvKiBub3QgYXNzZW1ibHkgKi8KLSNlbmRpZiAvKiBfT1NfSF8gKi8K
ZGlmZiAtLWdpdCBhL3BsYXQveGVuL2xjcHUuYyBiL3BsYXQveGVuL2xjcHUuYwppbmRleCBmMDY1
MGRhLi5kNzE1OGRmIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9sY3B1LmMKKysrIGIvcGxhdC94ZW4v
bGNwdS5jCkBAIC0zNCw3ICszNCw2IEBACiAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpZiBkZWZp
bmVkKF9fWDg2XzMyX18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSNpbmNsdWRlIDx4ZW4teDg2
L29zLmg+CiAjaW5jbHVkZSA8eGVuLXg4Ni9pcnEuaD4KICNlbGlmIChkZWZpbmVkIF9fQVJNXzMy
X18pIHx8IChkZWZpbmVkIF9fQVJNXzY0X18pCiAjaW5jbHVkZSA8eGVuLWFybS9vcy5oPgpkaWZm
IC0tZ2l0IGEvcGxhdC94ZW4veDg2L21tLmMgYi9wbGF0L3hlbi94ODYvbW0uYwppbmRleCBiN2Iw
ODBlLi5iODkzODRmIDEwMDY0NAotLS0gYS9wbGF0L3hlbi94ODYvbW0uYworKysgYi9wbGF0L3hl
bi94ODYvbW0uYwpAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVk
ZSA8dWsvYWxsb2MuaD4KICNpbmNsdWRlIDx1ay9wbGF0L2NvbmZpZy5oPgorI2luY2x1ZGUgPGNv
bW1vbi9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8eGVuLXg4Ni9tbS5oPgogI2luY2x1ZGUgPHhl
bi9tZW1vcnkuaD4KICNpbmNsdWRlIDx1ay9wcmludC5oPgpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4v
eGVuYnVzL3hzX2NvbW1zLmMgYi9wbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYwppbmRleCAyNzRl
NDRiLi4wNTg5ZDQ4IDEwMDY0NAotLS0gYS9wbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYworKysg
Yi9wbGF0L3hlbi94ZW5idXMveHNfY29tbXMuYwpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUg
PHVrL3dhaXQuaD4KICNpbmNsdWRlIDx1ay9hcmNoL3NwaW5sb2NrLmg+CiAjaW5jbHVkZSA8Y29t
bW9uL2V2ZW50cy5oPgorI2luY2x1ZGUgPGNvbW1vbi9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8
eGVuLXg4Ni9tbS5oPgogI2luY2x1ZGUgPHhlbi14ODYvc2V0dXAuaD4KICNpbmNsdWRlIDx4ZW5i
dXMvY2xpZW50Lmg+Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 11:42:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 11:42:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD6gi-0003lp-ML; Thu, 18 Oct 2018 11:42:00 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=wgtf=m6=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gD6gh-0003lh-8o
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 11:41:59 +0000
X-Inumbo-ID: 6e101da2-d2ca-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x342.google.com (unknown [2a00:1450:4864:20::342])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6e101da2-d2ca-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 13:39:11 +0200 (CEST)
Received: by mail-wm1-x342.google.com with SMTP id z204-v6so5435570wmc.5
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 04:41:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=9gJz+VcKnX5p2IuK8wuVt89rwK97hyFeAmbfxxEgUcg=;
 b=ov1u0MQtTFwk6BQxlRtvsdb9qtNRjV+oHtzMvQ7Fu+vrFMsIH+Kxy0GtrBRqhuqxLn
 W0qZ6t/Q+cEto7oBESUZtFVOAFKRFiWBs9Frxla+u6PfQep9V4SDMsmQMfJo4hlXDwY2
 YIUBapn36rg9Reu0B95FZcWkYXmiVQDDfW9CFfUzfXu02fAKDm9yCfYplNImQ+9ORP/q
 NC1PjhPSuKO+Ia642NuXYoQ054foAdrt/Dana6K1qkEhi3pAOW/TChomWAeVbUdPYmBf
 KKVSu25ht0DXRsMH85siqTt5DnFv0hnGho1vJKJQp1SHTVJMrZ1lTm4nWMvJ5nTPl8iy
 boPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=9gJz+VcKnX5p2IuK8wuVt89rwK97hyFeAmbfxxEgUcg=;
 b=LDdkdV+SqO0WgfJKKzLVFv/JKzuDd6cC/91FJ3/0UqX5Mu7t7zR5PPG9I2Clg8xs4T
 K/BrZ+Lg+vCdJU87hfYDUzsi3syg/8NCesOIwu+kQQJBzjy170CANr0nOVhaSJ5JqChB
 L6WXD0YdNfFx5ZLmo8PQbeFFlXtgzT3WUlzxiMASNSz2U6CBqwJykc+hD2j+RSpcKH6i
 4HRzHzhLQTLcgtD/XLzKET/0eyJTY+Ry0DmEb7lF1IPuWx8YBj/f4aA3FPnEQwMuLBho
 nD41arzgEZ4bTf1WFwOav+mgLOYRd1gCZr/9lXemmynGuafjSh/DipdvAKftjatntfPV
 eJ+A==
X-Gm-Message-State: ABuFfohY/5Ac7knCuwESLx/GfbgBFb7R4F8Gm+T+vxnccGtwXbM0LcTD
 GSzcveiazpR9dkLk5dK2yI0PC2yh
X-Google-Smtp-Source: ACcGV63o8Te3FoepZLsgsHdNr1QLu+BLhxmiRoPrJUHGaj1K4gwV3Uw402ls1zzIdlWBtYey74xE7w==
X-Received: by 2002:a1c:e157:: with SMTP id
 y84-v6mr7052138wmg.104.1539862916731; 
 Thu, 18 Oct 2018 04:41:56 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id 4-v6sm5899212wmt.16.2018.10.18.04.41.55
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Thu, 18 Oct 2018 04:41:56 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Thu, 18 Oct 2018 14:40:52 +0300
Message-Id: <1539862853-4001-3-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT-PATCH 2/3] plat/xen/common: Move event
 channel functions in events.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpNb3ZlIG1hc2tf
ZXZ0Y2huLCB1bm1hc2tfZXZ0Y2huIGFuZCBjbGVhcl9ldnRjaG4gZnVuY3Rpb24KcHJvdG90eXBl
cyBmcm9tIGh5cGVydmlzb3IuaCB0byBldmVudHMuaC4gQ2hhbmdlIHBhcmFtZXRlcgp0eXBlIHRv
IGV2dGNobl9wb3J0X3QuIFJlbW92ZSBoeXBlcnZpc29yLmggaW5jbHVzaW9uIGZyb20KYXJtL2Fy
Y2hfZXZlbnRzLmMgYW5kIGFybS9hcmNoX3RpbWUuYwoKTW92ZSBhY3RpdmVfZXZ0Y2hucygpIG1h
Y3JvIHRvIGV2ZW50cy5oCgpTaWduZWQtb2ZmLWJ5OiBSYWR1IE5pY29sYXUgPHJhZHVuaWNvbGF1
MTAyQGdtYWlsLmNvbT4KLS0tCiBwbGF0L3hlbi9hcm0vYXJjaF9ldmVudHMuYyAgICAgICAgICAg
fCAgMSAtCiBwbGF0L3hlbi9hcm0vYXJjaF90aW1lLmMgICAgICAgICAgICAgfCAgMSAtCiBwbGF0
L3hlbi9ldmVudHMuYyAgICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0tLQogcGxhdC94ZW4v
aHlwZXJ2aXNvci5jICAgICAgICAgICAgICAgIHwgIDQgLS0tLQogcGxhdC94ZW4vaW5jbHVkZS9j
b21tb24vZXZlbnRzLmggICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC94ZW4v
aW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5oIHwgIDMgLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDI1
IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2Fy
bS9hcmNoX2V2ZW50cy5jIGIvcGxhdC94ZW4vYXJtL2FyY2hfZXZlbnRzLmMKaW5kZXggOTFmMGVj
Yi4uMjAzN2FjYSAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vYXJtL2FyY2hfZXZlbnRzLmMKKysrIGIv
cGxhdC94ZW4vYXJtL2FyY2hfZXZlbnRzLmMKQEAgLTI2LDcgKzI2LDYgQEAKIAogI2luY2x1ZGUg
PHhlbi1hcm0vb3MuaD4KICNpbmNsdWRlIDxjb21tb24vZXZlbnRzLmg+Ci0jaW5jbHVkZSA8Y29t
bW9uL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDx1ay9wcmludC5oPgogI2luY2x1ZGUgPHVrL2Fz
c2VydC5oPgogI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KZGlmZiAtLWdpdCBhL3BsYXQveGVu
L2FybS9hcmNoX3RpbWUuYyBiL3BsYXQveGVuL2FybS9hcmNoX3RpbWUuYwppbmRleCBjNWQ0NTUx
Li5mZWM4OWRhIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9hcm0vYXJjaF90aW1lLmMKKysrIGIvcGxh
dC94ZW4vYXJtL2FyY2hfdGltZS5jCkBAIC0yNSw3ICsyNSw2IEBACiAgKi8KIAogI2luY2x1ZGUg
PHhlbi1hcm0vb3MuaD4KLSNpbmNsdWRlIDxjb21tb24vaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUg
PGNvbW1vbi9ldmVudHMuaD4KICNpbmNsdWRlIDx4ZW4tYXJtL3RyYXBzLmg+CiAjaW5jbHVkZSA8
dWsvcHJpbnQuaD4KZGlmZiAtLWdpdCBhL3BsYXQveGVuL2V2ZW50cy5jIGIvcGxhdC94ZW4vZXZl
bnRzLmMKaW5kZXggNmRmM2U0Yi4uM2ExZDE1NSAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vZXZlbnRz
LmMKKysrIGIvcGxhdC94ZW4vZXZlbnRzLmMKQEAgLTI5MSwxNiArMjkxLDE0IEBAIGludCBldnRj
aG5fZ2V0X3BlZXJjb250ZXh0KGV2dGNobl9wb3J0X3QgbG9jYWxfcG9ydCwgY2hhciAqY3R4LCBp
bnQgc2l6ZSkKIAlyZXR1cm4gcmM7CiB9CiAKLS8qIFRPRE8gLSB0aGVzZSB3ZXJlIG1vdmVkIGZy
b20gaHlwZXJ2aXNvci5jOyBpbnRlZ3JhdGUgaW50byBldnRjaG4gKi8KLQotaW5saW5lIHZvaWQg
bWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKK2lubGluZSB2b2lkIG1hc2tfZXZ0Y2huKGV2dGNo
bl9wb3J0X3QgcG9ydCkKIHsKIAlzaGFyZWRfaW5mb190ICpzID0gSFlQRVJWSVNPUl9zaGFyZWRf
aW5mbzsKIAogCXVrX3NldF9iaXQocG9ydCwgJnMtPmV2dGNobl9tYXNrWzBdKTsKIH0KIAotaW5s
aW5lIHZvaWQgdW5tYXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQoraW5saW5lIHZvaWQgdW5tYXNr
X2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQpCiB7CiAJc2hhcmVkX2luZm9fdCAqcyA9IEhZUEVS
VklTT1Jfc2hhcmVkX2luZm87CiAJdmNwdV9pbmZvX3QgKnZjcHVfaW5mbyA9ICZzLT52Y3B1X2lu
Zm9bc21wX3Byb2Nlc3Nvcl9pZCgpXTsKQEAgLTMyMyw3ICszMjEsNyBAQCBpbmxpbmUgdm9pZCB1
bm1hc2tfZXZ0Y2huKHVpbnQzMl90IHBvcnQpCiAJfQogfQogCi1pbmxpbmUgdm9pZCBjbGVhcl9l
dnRjaG4odWludDMyX3QgcG9ydCkKK2lubGluZSB2b2lkIGNsZWFyX2V2dGNobihldnRjaG5fcG9y
dF90IHBvcnQpCiB7CiAJc2hhcmVkX2luZm9fdCAqcyA9IEhZUEVSVklTT1Jfc2hhcmVkX2luZm87
CiAKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2h5cGVydmlzb3IuYyBiL3BsYXQveGVuL2h5cGVydmlz
b3IuYwppbmRleCBjYTE2ZWQ2Li4xNGYxNjQyIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9oeXBlcnZp
c29yLmMKKysrIGIvcGxhdC94ZW4vaHlwZXJ2aXNvci5jCkBAIC00MiwxMCArNDIsNiBAQAogI2lu
Y2x1ZGUgPHVrL2FyY2gvbGNwdS5oPgogI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+CiAKLS8v
IFRPRE8gcmV2aXNpdDogbW92ZSB0byBldnRjaG47IHdoeSBjcHUgcGFyYW0/Ci0jZGVmaW5lIGFj
dGl2ZV9ldnRjaG5zKGNwdSwgc2gsIGlkeCkJCQkJXAotCSgoc2gpLT5ldnRjaG5fcGVuZGluZ1tp
ZHhdICYgfihzaCktPmV2dGNobl9tYXNrW2lkeF0pCi0KIGludCBpbl9jYWxsYmFjazsKIAogI2lm
bmRlZiBDT05GSUdfUEFSQVZJUlQKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2luY2x1ZGUvY29tbW9u
L2V2ZW50cy5oIGIvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRzLmgKaW5kZXggOTcxZGZm
OS4uYWNjZGRiOCAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRzLmgK
KysrIGIvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRzLmgKQEAgLTQ3LDYgKzQ3LDEyIEBA
CiAjaW5jbHVkZSA8eGVuL2V2ZW50X2NoYW5uZWwuaD4KICNpbmNsdWRlIDx1ay9hcmNoL2xjcHUu
aD4KIAorLyoKKyAqIFRPRE8gcmV2aXNpdDogd2h5IGNwdSBwYXJhbT8KKyAqIFRha2VuIGZyb20g
bGludXgvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c18ybC5jCisgKi8KKyNkZWZpbmUgYWN0aXZl
X2V2dGNobnMoY3B1LCBzaCwgaWR4KQkJCQlcCisJKChzaCktPmV2dGNobl9wZW5kaW5nW2lkeF0g
JiB+KHNoKS0+ZXZ0Y2huX21hc2tbaWR4XSkKIAogdHlwZWRlZiB2b2lkICgqZXZ0Y2huX2hhbmRs
ZXJfdCkoZXZ0Y2huX3BvcnRfdCwgc3RydWN0IF9fcmVncyAqLCB2b2lkICopOwogCkBAIC02NSw2
ICs3MSwyMiBAQCBldnRjaG5fcG9ydF90IGJpbmRfcGlycSh1aW50MzJfdCBwaXJxLCBpbnQgd2ls
bF9zaGFyZSwKIGV2dGNobl9wb3J0X3QgYmluZF9ldnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0LCBl
dnRjaG5faGFuZGxlcl90IGhhbmRsZXIsCiAJCQkgIHZvaWQgKmRhdGEpOwogdm9pZCB1bmJpbmRf
ZXZ0Y2huKGV2dGNobl9wb3J0X3QgcG9ydCk7CisKKy8qIERpc2FibGUgZXZlbnRzIGZvciA8cG9y
dD4gYnkgc2V0dGluZyB0aGUgbWFza2luZyBiaXQgKi8KK3ZvaWQgbWFza19ldnRjaG4oZXZ0Y2hu
X3BvcnRfdCBwb3J0KTsKKworLyoKKyAqIEVuYWJsZSBldmVudHMgZm9yIDxwb3J0PiBieSB1bnNl
dHRpbmcgdGhlIG1hc2tpbmcgYml0LgorICogSWYgcGVuZGluZyBldmVudHMgYXJlIHByZXNlbnQs
IGNhbGwgdWtwbGF0X2xjcHVfaXJxc19oYW5kbGVfcGVuZGluZworICovCit2b2lkIHVubWFza19l
dnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0KTsKKworLyoKKyAqIENsZWFyIHBlbmRpbmcgZXZlbnRz
IGZyb20gPHBvcnQ+IGJ5IHVuc2V0dGluZyB0aGUgcGVuZGluZworICogZXZlbnRzIGJpdAorICov
Cit2b2lkIGNsZWFyX2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQpOworCiB2b2lkIGluaXRfZXZl
bnRzKHZvaWQpOwogaW50IGV2dGNobl9hbGxvY191bmJvdW5kKGRvbWlkX3QgcGFsLCBldnRjaG5f
aGFuZGxlcl90IGhhbmRsZXIsCiAJCQkgdm9pZCAqZGF0YSwgZXZ0Y2huX3BvcnRfdCAqcG9ydCk7
CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9oeXBlcnZpc29yLmggYi9wbGF0
L3hlbi9pbmNsdWRlL2NvbW1vbi9oeXBlcnZpc29yLmgKaW5kZXggNDU4N2I4Ni4uNDE3NDk4ZSAx
MDA2NDQKLS0tIGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5oCisrKyBiL3Bs
YXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaApAQCAtNzEsOSArNzEsNiBAQCBzaGFy
ZWRfaW5mb190ICptYXBfc2hhcmVkX2luZm8odm9pZCAqcCk7CiAvL1RPRE8gU1RBUlQgZnJvbSBo
ZXJlIG9uIHdlIGhhdmUgdG8gY2xlYW51cC9yZWZhY3Rvci9tb3ZlIHN0dWZmCiAvKiBoeXBlcnZp
c29yLmMgKi8KIHZvaWQgZG9faHlwZXJ2aXNvcl9jYWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdz
KTsKLXZvaWQgbWFza19ldnRjaG4odWludDMyX3QgcG9ydCk7Ci12b2lkIHVubWFza19ldnRjaG4o
dWludDMyX3QgcG9ydCk7Ci12b2lkIGNsZWFyX2V2dGNobih1aW50MzJfdCBwb3J0KTsKIC8vVE9E
TyBFTkQKIAogZXh0ZXJuIGludCBpbl9jYWxsYmFjazsKLS0gCjIuNy40CgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 11:42:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 11:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD6gj-0003mN-PR; Thu, 18 Oct 2018 11:42:01 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=wgtf=m6=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gD6gj-0003mE-5A
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 11:42:01 +0000
X-Inumbo-ID: 6f5e40bf-d2ca-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6f5e40bf-d2ca-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 13:39:13 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id w5-v6so33297969wrt.2
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 04:42:00 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=bA0XJT7X1YlxJIt6/IU6F7NHNX8i07c33zpKLJMXIQ4=;
 b=SzDzJIpS1J/pvC76fv0QrvPb32LuebeqG+m0394mDji9MgWMz1mreanS/Nms7R3+Wy
 gq6qIcEpoUX8HuRgisxaAYSlSqa8j9BzsFmG10lxBJuFnGXA9Qpa612KzWVlSN9CrUCX
 ufjyJiEy6EkSaD3Wn/ErXAFooiNLIS6fNjUHTJZg+CDK/bKYx7+XK7vJB7ZeYHHKHYRT
 Gnh4JvudBKTUE88nz6OAGLvHqxmF+Ffl1LzR4t7+PuokIw5FZ0syoGmesfRs9O3/nOf5
 viNuM98lzURR9/EwXtfscXQL6/X+OR27EfIHLamR6DTfxsU/MpwOB3ltaYm8Kpg+K/78
 UWPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=bA0XJT7X1YlxJIt6/IU6F7NHNX8i07c33zpKLJMXIQ4=;
 b=hee1XjGeIIwg553Em5KWCABxsqQnqXuNElUgxBZKCbtpnqXSVY4v6b4sTUmJxrptz1
 3KDn/SPNLf8aH/qOeTU9V3Wt09jGE1z9vMKz9cGJwVvbLTzmRrRYjusUe7t5389M6Iuc
 083q14Jev8b2FN5u5SvKjN/QTuSgF7GFZnufioPe48ug+Azw1UnhpJXaO6U1vWAtxAoy
 PX7yY+xWmMNZKokrITZJIY80vdgAnFCuy8gcA9hTC72dln2oDfra8bTCrl1Ksl20uLBb
 6AaRYNQM+NtoDweI2KoLntPTwEIBTgNEJ2bpmG9m2PNRY6Ig0BNFJEDOfYztdonGkHdV
 e0Xw==
X-Gm-Message-State: AGRZ1gIL+CN2HunNEDLRcKCnWKRMBqr6yxvSsQ3aPUxp6sZur7NZAE7S
 2lfXtYmSHf7WR/nv+hq7JVYkgE6q
X-Google-Smtp-Source: AJdET5da65sn6z3JUYc+gWdrwwdaq52gHvwbdoltVeR+wSOVc3zyybxcqRSCVgWUxyva638ySsUrpQ==
X-Received: by 2002:adf:ec41:: with SMTP id w1-v6mr1448666wrn.25.1539862918799; 
 Thu, 18 Oct 2018 04:41:58 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id 4-v6sm5899212wmt.16.2018.10.18.04.41.57
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Thu, 18 Oct 2018 04:41:58 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Thu, 18 Oct 2018 14:40:53 +0300
Message-Id: <1539862853-4001-4-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT-PATCH 3/3] plat/xen/common/hypervisor:
 Delete unused code and comments
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpEZWxldGUgdW51
c2VkIGNvZGUgYW5kIGRlcHJlY2F0ZWQgY29tbWVudHMKClNpZ25lZC1vZmYtYnk6IFJhZHUgTmlj
b2xhdSA8cmFkdW5pY29sYXUxMDJAZ21haWwuY29tPgotLS0KIHBsYXQveGVuL2h5cGVydmlzb3Iu
YyAgICAgICAgICAgICAgICB8ICA0IC0tLS0KIHBsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVy
dmlzb3IuaCB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14
ODYvc2V0dXAuaCAgICAgfCAgMSAtCiAzIGZpbGVzIGNoYW5nZWQsIDI1IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL3BsYXQveGVuL2h5cGVydmlzb3IuYyBiL3BsYXQveGVuL2h5cGVydmlzb3Iu
YwppbmRleCAxNGYxNjQyLi5hN2U5MzAwIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9oeXBlcnZpc29y
LmMKKysrIGIvcGxhdC94ZW4vaHlwZXJ2aXNvci5jCkBAIC00NCwxMCArNDQsNiBAQAogCiBpbnQg
aW5fY2FsbGJhY2s7CiAKLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi1leHRlcm4gc2hhcmVkX2lu
Zm9fdCBzaGFyZWRfaW5mbzsKLSNlbmRpZiAvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KIHZvaWQg
ZG9faHlwZXJ2aXNvcl9jYWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdzKQogewogCXVuc2lnbmVk
IGxvbmcgbDEsIGwyLCBsMWksIGwyaTsKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2luY2x1ZGUvY29t
bW9uL2h5cGVydmlzb3IuaCBiL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaApp
bmRleCA0MTc0OThlLi5kMTMxZDZmIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1v
bi9oeXBlcnZpc29yLmgKKysrIGIvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5o
CkBAIC00OCwzMCArNDgsMTAgQEAKICNlbHNlCiAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVj
dHVyZSIKICNlbmRpZgotI2luY2x1ZGUgPHhlbi9odm0vaHZtX29wLmg+CiAjaW5jbHVkZSA8dWsv
YXJjaC9sY3B1Lmg+CiAjaW5jbHVkZSA8dWsvcGxhdC9sY3B1Lmg+CiAKLSNpZiAwIC8vVE9ETzog
Y2xlYW51cAotLyoKLSAqIGEgcGxhY2Vob2xkZXIgZm9yIHRoZSBzdGFydCBvZiBkYXkgaW5mb3Jt
YXRpb24gcGFzc2VkIHVwIGZyb20gdGhlIGh5cGVydmlzb3IKLSAqLwotdW5pb24gc3RhcnRfaW5m
b191bmlvbiB7Ci0Jc3RhcnRfaW5mb190IHN0YXJ0X2luZm87Ci0JY2hhciBwYWRkaW5nWzUxMl07
Ci19OwotZXh0ZXJuIHVuaW9uIHN0YXJ0X2luZm9fdW5pb24gc3RhcnRfaW5mb191bmlvbjsKLSNk
ZWZpbmUgc3RhcnRfaW5mbyAoc3RhcnRfaW5mb191bmlvbi5zdGFydF9pbmZvKQotI2Vsc2UKLWlu
dCBodm1fZ2V0X3BhcmFtZXRlcihpbnQgaWR4LCB1aW50NjRfdCAqdmFsdWUpOwotaW50IGh2bV9z
ZXRfcGFyYW1ldGVyKGludCBpZHgsIHVpbnQ2NF90IHZhbHVlKTsKLSNlbmRpZgotc2hhcmVkX2lu
Zm9fdCAqbWFwX3NoYXJlZF9pbmZvKHZvaWQgKnApOwotCi0vL1RPRE8gU1RBUlQgZnJvbSBoZXJl
IG9uIHdlIGhhdmUgdG8gY2xlYW51cC9yZWZhY3Rvci9tb3ZlIHN0dWZmCi0vKiBoeXBlcnZpc29y
LmMgKi8KIHZvaWQgZG9faHlwZXJ2aXNvcl9jYWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdzKTsK
LS8vVE9ETyBFTkQKIAogZXh0ZXJuIGludCBpbl9jYWxsYmFjazsKIApkaWZmIC0tZ2l0IGEvcGxh
dC94ZW4vaW5jbHVkZS94ZW4teDg2L3NldHVwLmggYi9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYv
c2V0dXAuaAppbmRleCA2ZWFhNGYxLi43YTU3MTkwIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9pbmNs
dWRlL3hlbi14ODYvc2V0dXAuaAorKysgYi9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvc2V0dXAu
aApAQCAtNDYsNyArNDYsNiBAQCBleHRlcm4gdW5zaWduZWQgaW50IF9saWJ4ZW5wbGF0X21yZF9u
dW07CiBleHRlcm4gc3RydWN0IHVrcGxhdF9tZW1yZWdpb25fZGVzYyBfbGlieGVucGxhdF9tcmRb
XTsKIGV4dGVybiBjaGFyIF9saWJ4ZW5wbGF0X2Jvb3RzdGFja1tdOwogCi0vKiBOb3RlOiBIWVBF
UlZJU09SX3NoYXJlZF9pbmZvIGlzIGRlZmluZWQgaW4gb3MuaCAqLwogZXh0ZXJuIHN0YXJ0X2lu
Zm9fdCAqSFlQRVJWSVNPUl9zdGFydF9pbmZvOwogCiAjZW5kaWYgLyogX19TRVRVUF9IX18gKi8K
LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 12:14:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 12:14:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD7Bv-00065i-Jr; Thu, 18 Oct 2018 12:14:15 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=aplp=m6=stud.acs.upb.ro=vlad_andrei.badoiu@srs-us1.protection.inumbo.net>)
 id 1gD7Bu-00065d-Q2
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 12:14:14 +0000
X-Inumbo-ID: ee6b87b7-d2ce-11e8-a8a5-bc764e045a96
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0a::61b])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTP
 id ee6b87b7-d2ce-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 14:11:24 +0200 (CEST)
Received: from VI1PR0102MB3678.eurprd01.prod.exchangelabs.com (52.134.14.142)
 by VI1PR0102MB3149.eurprd01.prod.exchangelabs.com (52.134.3.17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1228.23; Thu, 18 Oct
 2018 12:14:05 +0000
Received: from VI1PR0102MB3678.eurprd01.prod.exchangelabs.com
 ([fe80::a991:9b5a:d452:39ef]) by
 VI1PR0102MB3678.eurprd01.prod.exchangelabs.com
 ([fe80::a991:9b5a:d452:39ef%4]) with mapi id 15.20.1228.027; Thu, 18 Oct 2018
 12:14:05 +0000
From: =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>
To: "minios-devel@lists.xen.org" <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH 1/1] include/uk/list.h: Change panic to UK_CRASH
Thread-Index: AQHUZtwQRXpaPxPlR0OmmiPnfsPVyg==
Date: Thu, 18 Oct 2018 12:14:05 +0000
Message-ID: <20181018121239.5461-1-vlad_andrei.badoiu@stud.acs.upb.ro>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: VI1PR08CA0240.eurprd08.prod.outlook.com
 (2603:10a6:802:15::49) To VI1PR0102MB3678.eurprd01.prod.exchangelabs.com
 (2603:10a6:803:1d::14)
authentication-results: spf=none (sender IP is )
 smtp.mailfrom=vlad_andrei.badoiu@stud.acs.upb.ro; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [141.85.233.103]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; VI1PR0102MB3149;
 6:ClpWzCyk8KNK0VMWm6UB5HIT/v3xfKe+pjrEbB0nLDglZ7p/2EO59D1cd4/fU+JOwSdC8kr3q36o4Sh52Z2d0gB2N4kLAJ/j9rj9U25JeTn/V93JGoXYs2O9XzZnSxVwGhWJeZ8lHd/PLeV4+shBgxNw6i59wTHc9oZbWckCw6CVR44LHlkgIVs5a3peziq/XSAruXO6WFfAO8Vu/3kBSkLCk20YBrtSCRDdbcM1HOgPFGO7vJZdBqbWrmcyy2/tUwRcIT85cGSWFKeIYs9ldjQfoNpHsWGHRZ6zsCjMm9iLS8p5odEYN5NP8WSA9l/WVtmCTS/AfFJTWB8EjVof5zIFKbZT22NVxVbHi+B3020YBUCqe8PVeWTRD4w1L18w7TUSHLgbqnWreswNOBOUgeKB3DT+3gGw1A4PlVEgaRx933q1ONABqtRSwXFXjiuM3/MAu4uvcbxEC0bRvwEISA==;
 5:YVfgrCoOQ3lrX+AsYAbw/WWczkjexVHZb/w0vidLFIfBMBW78In1w6NdeYqLJtPlJyoVyILsaRlhKyV/SSXFdKf51seUOjSyqKaFkmbzSZKD+qmpy6YhwDlGfGHKYCWq13hq2rG+RcG8rI7IhrJCyAuekqwUPBwIpWRJ0vrXZR4=;
 7:vI8avRfyoCCgyJNl8MR6AhG3wTjJ4x8ZButX0HdcuFcKkWyaSnNw22SAogaa2PBSu1IkKVpqo3/tsCDMFvcnfYi3aeAtMFxajWg6/7ZHwyqmtZM1BjfLVduhjjKOdignYOwD191dj6hpdqt3EgX0qIoYli9rbEyU/t8F+EgxvLvfM+ig5T0nDIrmKfzm9K7nd97PaBHilpy6LicS0GMSF9jfh8P8g/WAxv7QfKLsyKhDs5N+IMVFa++SNPpbHzjW
x-ms-office365-filtering-correlation-id: 0d618d28-2096-437b-b4e6-08d634f332a9
x-microsoft-antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020);
 SRVR:VI1PR0102MB3149; 
x-ms-traffictypediagnostic: VI1PR0102MB3149:
x-microsoft-antispam-prvs: <VI1PR0102MB3149ABBE424A95E6EF5F4230A6F80@VI1PR0102MB3149.eurprd01.prod.exchangelabs.com>
x-exchange-antispam-report-test: UriScan:;
x-ms-exchange-senderadcheck: 1
x-exchange-antispam-report-cfa-test: BCL:0; PCL:0;
 RULEID:(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(149066)(150057)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281529075)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991095);
 SRVR:VI1PR0102MB3149; BCL:0; PCL:0; RULEID:; SRVR:VI1PR0102MB3149; 
x-forefront-prvs: 08296C9B35
x-forefront-antispam-report: SFV:NSPM;
 SFS:(10009020)(136003)(366004)(346002)(396003)(376002)(39830400003)(189003)(199004)(8936002)(6916009)(2616005)(316002)(68736007)(6436002)(66066001)(256004)(102836004)(5640700003)(6486002)(14454004)(54906003)(81166006)(26005)(786003)(2900100001)(71190400001)(86362001)(478600001)(81156014)(71200400001)(8676002)(52116002)(53936002)(2351001)(2906002)(74482002)(99286004)(97736004)(2501003)(25786009)(476003)(305945005)(4326008)(217873002)(106356001)(1076002)(6116002)(105586002)(5660300001)(3846002)(5250100002)(7736002)(486006)(6506007)(186003)(386003)(6512007);
 DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR0102MB3149;
 H:VI1PR0102MB3678.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en;
 PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: stud.acs.upb.ro does not designate
 permitted sender hosts)
x-microsoft-antispam-message-info: Yeleoppld6hzi0JF9UapoqPwcZDYLtbEAu0v/a5FtmFlnWV3Olp281AhoWLgNxZ2pXb9HvEoOTB8aELzI3wdMTXYS71rdBftFBjJkjYL4JZoVjTSoeqcDOKBEA0CNAaGU6pp5+rl5HI4jUPVjc9IAa6TtMh397h+AEvwV4qLZhuNJjs6G9g/xfQiri4Ip8GogC1n86fO2EotiSOAGV6vSGXPzO0rB1dUu2lwinxWaR36fKaloLNejzhYhx269o/yqqkhlT+FvmMcdfyAnMWluKIvqetTxOwI3GzWcw1jKVO6V+tjAoxfSlRoCxBZniXP64rsE2zJL7Zz6rNIV1MY1QmC5/qo/tiHJMACZ+lv9H0=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
MIME-Version: 1.0
X-OriginatorOrg: stud.acs.upb.ro
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d618d28-2096-437b-b4e6-08d634f332a9
X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Oct 2018 12:14:05.4095 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 2d8cc8ba-8dda-4334-9e5c-fac2092e9bac
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0102MB3149
Subject: [Minios-devel] [UNIKRAFT PATCH 1/1] include/uk/list.h: Change panic
 to UK_CRASH
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: "florian.schmidt@neclab.eu" <florian.schmidt@neclab.eu>,
 "simon.kuenzer@neclab.eu" <simon.kuenzer@neclab.eu>,
 =?iso-8859-2?Q?Vlad-Andrei_B=C3DOIU_=2878692=29?=
 <vlad_andrei.badoiu@stud.acs.upb.ro>,
 "yuri.volchkov@neclab.eu" <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIGxpc3QgY29yZWN0bmVzcyBpbXBsZW1lbnRhdGlvbiBjYWxscyB0aGUgZnVuY3Rpb24KInBh
bmljIiBpbiBjYXNlIG9mIGVycm9ycy4gVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBwYW5pYwpmdW5j
dGlvbiB0byB1bmlrcmFmdCdzIFVLX0NSQVNILgotLS0KIGluY2x1ZGUvdWsvbGlzdC5oIHwgMjAg
KysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA4
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWsvbGlzdC5oIGIvaW5jbHVkZS91
ay9saXN0LmgKaW5kZXggNDJiYTkyZi4uNGUzNTBjZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS91ay9s
aXN0LmgKKysrIGIvaW5jbHVkZS91ay9saXN0LmgKQEAgLTEyNSw2ICsxMjUsOSBAQAogICogX1NX
QVAJCQkrCSsJKwkrCiAgKgogICovCisjaWYgKGRlZmluZWQoX0tFUk5FTCkgJiYgZGVmaW5lZChJ
TlZBUklBTlRTKSkKKyAgICAjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+CisjZW5kaWYKICNpZmRlZiBV
S19RVUVVRV9NQUNST19ERUJVRwogI3dhcm4gVXNlIFVLX1FVRVVFX01BQ1JPX0RFQlVHX1RSQUNF
IGFuZC9vciBVS19RVUVVRV9NQUNST19ERUJVR19UUkFTSAogI2RlZmluZQlVS19RVUVVRV9NQUNS
T19ERUJVR19UUkFDRQpAQCAtMjE5LDcgKzIyMiw3IEBAIHN0cnVjdCB7CQkJCQkJCQlcCiAjaWYg
KGRlZmluZWQoX0tFUk5FTCkgJiYgZGVmaW5lZChJTlZBUklBTlRTKSkKICNkZWZpbmUJVUtfX1FN
RF9TTElTVF9DSEVDS19QUkVWUFRSKHByZXZwLCBlbG0pIGRvIHsJCQlcCiAJaWYgKCoocHJldnAp
ICE9IChlbG0pKQkJCQkJCVwKLQkJcGFuaWMoIkJhZCBwcmV2cHRyICooJXApID09ICVwICE9ICVw
IiwJCQlcCisJCVVLX0NSQVNIKCJCYWQgcHJldnB0ciAqKCVwKSA9PSAlcCAhPSAlcCIsCQkJXAog
CQkgICAgKHByZXZwKSwgKihwcmV2cCksIChlbG0pKTsJCQkJXAogfSB3aGlsZSAoMCkKICNlbHNl
CkBAIC00OTUsNyArNDk4LDcgQEAgc3RydWN0IHsJCQkJCQkJCVwKIAlpZiAoVUtfTElTVF9GSVJT
VCgoaGVhZCkpICE9IDAgJiYJCQkJXAogCSAgICBVS19MSVNUX0ZJUlNUKChoZWFkKSktPmZpZWxk
LmxlX3ByZXYgIT0JCQlcCiAJICAgICAmVUtfTElTVF9GSVJTVCgoaGVhZCkpKQkJCQkJXAotCQlw
YW5pYygiQmFkIGxpc3QgaGVhZCAlcCBmaXJzdC0+cHJldiAhPSBoZWFkIiwgKGhlYWQpKTsJXAor
ICAgICAgICAgICAgCVVLX0NSQVNIKCJCYWQgbGlzdCBoZWFkICVwIGZpcnN0LT5wcmV2ICE9IGhl
YWQiLCAoaGVhZCkpOwlcCiB9IHdoaWxlICgwKQogCiAvKgpAQCAtNTA4LDcgKzUxMSw3IEBAIHN0
cnVjdCB7CQkJCQkJCQlcCiAJaWYgKFVLX0xJU1RfTkVYVCgoZWxtKSwgZmllbGQpICE9IDAgJiYJ
CQkJXAogCSAgICBVS19MSVNUX05FWFQoKGVsbSksIGZpZWxkKS0+ZmllbGQubGVfcHJldiAhPQkJ
CVwKIAkgICAgICYoKGVsbSktPmZpZWxkLmxlX25leHQpKQkJCQkJXAotCSAgICAgCXBhbmljKCJC
YWQgbGluayBlbG0gJXAgbmV4dC0+cHJldiAhPSBlbG0iLCAoZWxtKSk7CVwKKwkgICAgICAgIFVL
X0NSQVNIKCJCYWQgbGluayBlbG0gJXAgbmV4dC0+cHJldiAhPSBlbG0iLCAoZWxtKSk7CVwKIH0g
d2hpbGUgKDApCiAKIC8qCkBAIC01MTgsNyArNTIxLDcgQEAgc3RydWN0IHsJCQkJCQkJCVwKICAq
LwogI2RlZmluZQlVS19fUU1EX0xJU1RfQ0hFQ0tfUFJFVihlbG0sIGZpZWxkKSBkbyB7CQkJCVwK
IAlpZiAoKihlbG0pLT5maWVsZC5sZV9wcmV2ICE9IChlbG0pKQkJCQlcCi0JCXBhbmljKCJCYWQg
bGluayBlbG0gJXAgcHJldi0+bmV4dCAhPSBlbG0iLCAoZWxtKSk7CVwKKwkJVUtfQ1JBU0goIkJh
ZCBsaW5rIGVsbSAlcCBwcmV2LT5uZXh0ICE9IGVsbSIsIChlbG0pKTsJXAogfSB3aGlsZSAoMCkK
ICNlbHNlCiAjZGVmaW5lCVVLX19RTURfTElTVF9DSEVDS19IRUFEKGhlYWQsIGZpZWxkKQpAQCAt
NjcwLDExICs2NzMsMTIgQEAgc3RydWN0IHsJCQkJCQkJCVwKICAqIElmIHRoZSB0YWlscSBpcyBu
b24tZW1wdHksIHZhbGlkYXRlcyB0aGF0IHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSB0YWlscQog
ICogcG9pbnRzIGJhY2sgYXQgJ2hlYWQuJwogICovCisKICNkZWZpbmUJVUtfX1FNRF9UQUlMUV9D
SEVDS19IRUFEKGhlYWQsIGZpZWxkKSBkbyB7CQkJCVwKIAlpZiAoIVVLX1RBSUxRX0VNUFRZKGhl
YWQpICYmCQkJCQlcCiAJICAgIFVLX1RBSUxRX0ZJUlNUKChoZWFkKSktPmZpZWxkLnRxZV9wcmV2
ICE9CQkJXAogCSAgICAgJlVLX1RBSUxRX0ZJUlNUKChoZWFkKSkpCQkJCQlcCi0JCXBhbmljKCJC
YWQgdGFpbHEgaGVhZCAlcCBmaXJzdC0+cHJldiAhPSBoZWFkIiwgKGhlYWQpKTsJXAorCQlVS19D
UkFTSCgiQmFkIHRhaWxxIGhlYWQgJXAgZmlyc3QtPnByZXYgIT0gaGVhZCIsIChoZWFkKSk7CVwK
IH0gd2hpbGUgKDApCiAKIC8qCkBAIC02ODQsNyArNjg4LDcgQEAgc3RydWN0IHsJCQkJCQkJCVwK
ICAqLwogI2RlZmluZQlVS19fUU1EX1RBSUxRX0NIRUNLX1RBSUwoaGVhZCwgZmllbGQpIGRvIHsJ
CQkJXAogCWlmICgqKGhlYWQpLT50cWhfbGFzdCAhPSAwKQkJCQkJXAotCSAgICAJcGFuaWMoIkJh
ZCB0YWlscSBORVhUKCVwLT50cWhfbGFzdCkgIT0gMCIsIChoZWFkKSk7IAlcCisJICAgIAlVS19D
UkFTSCgiQmFkIHRhaWxxIE5FWFQoJXAtPnRxaF9sYXN0KSAhPSAwIiwgKGhlYWQpKTsgCVwKIH0g
d2hpbGUgKDApCiAKIC8qCkBAIC02OTcsNyArNzAxLDcgQEAgc3RydWN0IHsJCQkJCQkJCVwKIAlp
ZiAoVUtfVEFJTFFfTkVYVCgoZWxtKSwgZmllbGQpICE9IDAgJiYJCQkJXAogCSAgICBVS19UQUlM
UV9ORVhUKChlbG0pLCBmaWVsZCktPmZpZWxkLnRxZV9wcmV2ICE9CQkJXAogCSAgICAgJigoZWxt
KS0+ZmllbGQudHFlX25leHQpKQkJCQkJXAotCQlwYW5pYygiQmFkIGxpbmsgZWxtICVwIG5leHQt
PnByZXYgIT0gZWxtIiwgKGVsbSkpOwlcCisJCVVLX0NSQVNIKCJCYWQgbGluayBlbG0gJXAgbmV4
dC0+cHJldiAhPSBlbG0iLCAoZWxtKSk7CVwKIH0gd2hpbGUgKDApCiAKIC8qCkBAIC03MDcsNyAr
NzExLDcgQEAgc3RydWN0IHsJCQkJCQkJCVwKICAqLwogI2RlZmluZQlVS19fUU1EX1RBSUxRX0NI
RUNLX1BSRVYoZWxtLCBmaWVsZCkgZG8gewkJCQlcCiAJaWYgKCooZWxtKS0+ZmllbGQudHFlX3By
ZXYgIT0gKGVsbSkpCQkJCVwKLQkJcGFuaWMoIkJhZCBsaW5rIGVsbSAlcCBwcmV2LT5uZXh0ICE9
IGVsbSIsIChlbG0pKTsJXAorCQlVS19DUkFTSCgiQmFkIGxpbmsgZWxtICVwIHByZXYtPm5leHQg
IT0gZWxtIiwgKGVsbSkpOwlcCiB9IHdoaWxlICgwKQogI2Vsc2UKICNkZWZpbmUJVUtfX1FNRF9U
QUlMUV9DSEVDS19IRUFEKGhlYWQsIGZpZWxkKQotLSAKMi4xOS4xCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlz
dApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q
ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 13:33:49 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 13:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD8Qu-00068c-LP; Thu, 18 Oct 2018 13:33:48 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=7ger=m6=arm.com=julien.grall@srs-us1.protection.inumbo.net>)
 id 1gD8Qt-00068X-Vf
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 13:33:48 +0000
X-Inumbo-ID: 0d4cfd29-d2da-11e8-a8a5-bc764e045a96
Received: from foss.arm.com (unknown [217.140.101.70])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTP
 id 0d4cfd29-d2da-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 15:31:00 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 068B3A78;
 Thu, 18 Oct 2018 06:33:47 -0700 (PDT)
Received: from [10.1.196.50] (e108454-lin.cambridge.arm.com [10.1.196.50])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 583613F59C;
 Thu, 18 Oct 2018 06:33:46 -0700 (PDT)
To: radunicolau102@gmail.com, minios-devel@lists.xen.org
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
 <1539862853-4001-3-git-send-email-radunicolau102@gmail.com>
From: Julien Grall <julien.grall@arm.com>
Message-ID: <5006c590-9f78-4f2e-0214-ad53a7ebfbc4@arm.com>
Date: Thu, 18 Oct 2018 14:33:44 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <1539862853-4001-3-git-send-email-radunicolau102@gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT-PATCH 2/3] plat/xen/common: Move event
 channel functions in events.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gTmljb2xhcywKCk9uIDE4LzEwLzIwMTggMTI6NDAsIHJhZHVuaWNvbGF1MTAyQGdtYWls
LmNvbSB3cm90ZToKPiBkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRz
LmggYi9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaAo+IGluZGV4IDk3MWRmZjkuLmFj
Y2RkYjggMTAwNjQ0Cj4gLS0tIGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRzLmgKPiAr
KysgYi9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaAo+IEBAIC00Nyw2ICs0NywxMiBA
QAo+ICAgI2luY2x1ZGUgPHhlbi9ldmVudF9jaGFubmVsLmg+Cj4gICAjaW5jbHVkZSA8dWsvYXJj
aC9sY3B1Lmg+Cj4gICAKPiArLyoKPiArICogVE9ETyByZXZpc2l0OiB3aHkgY3B1IHBhcmFtPwo+
ICsgKiBUYWtlbiBmcm9tIGxpbnV4L2RyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfMmwuYwoKQXJl
IHlvdSBzdXJlIGFib3V0IHRoaXM/IEluIGFueSBjYXNlLCBJIHdvdWxkIGJlIGNhcmVmdWwgYWJv
dXQgCm1lbnRpb25pbmcgTGludXggY29kZSBpbiBVbmlrcmFmdCBhcyB0aGUgdHdvIGxpY2Vuc2Ug
KEdQTHYyIHZzIEJTRCkgYXJlIApub3QgY29tcGF0aWJsZS4KCkNoZWVycywKCi0tIApKdWxpZW4g
R3JhbGwKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 14:15:48 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 14:15:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD95Y-0001NG-3u; Thu, 18 Oct 2018 14:15:48 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5veb=m6=neclab.eu=felipe.huici@srs-us1.protection.inumbo.net>)
 id 1gD95X-0001NA-C2
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 14:15:47 +0000
X-Inumbo-ID: e915f01b-d2df-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id e915f01b-d2df-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 16:12:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 2B157104A41;
 Thu, 18 Oct 2018 16:15:43 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CefBqAw8yGLd; Thu, 18 Oct 2018 16:15:43 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 07D97104A3D
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 16:15:41 +0200 (CEST)
Received: from HYDRA.office.hd ([169.254.4.68]) by ENCELADUS.office.hd
 ([192.168.24.52]) with mapi id 14.03.0319.002; Thu, 18 Oct 2018 16:15:40
 +0200
From: Felipe Huici <Felipe.Huici@neclab.eu>
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, "minios-devel@lists.xen.org"
 <minios-devel@lists.xen.org>
Thread-Topic: [UNIKRAFT PATCH] build: Support for static libraries
Thread-Index: AQHUZsUIAyBTatXeJkOoZj+Xkoac/6UlDIcA
Date: Thu, 18 Oct 2018 14:15:40 +0000
Message-ID: <D7EE60A1.5028C%felipe.huici@neclab.eu>
References: <1539854949-30753-1-git-send-email-simon.kuenzer@neclab.eu>
In-Reply-To: <1539854949-30753-1-git-send-email-simon.kuenzer@neclab.eu>
Accept-Language: en-US, de-DE
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/14.5.6.150930
x-originating-ip: [10.1.2.68]
Content-ID: <0C7921CB06272043878151BBD5D13E21@office.hd>
MIME-Version: 1.0
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] build: Support for static
 libraries
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Florian Schmidt <Florian.Schmidt@neclab.eu>,
 Yuri Volchkov <yuri.volchkov@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2ltb24sDQoNClRoZSBwYXRjaCBsb29rcyBnb29kLCBqdXN0IHNvbWUgdHlwb3MgaW4gdGhl
IGNvbW1pdCBtZXNzYWdlIChzZWUgYmVsb3cpLg0KT3RoZXIgdGhhbiB0aGF0Og0KDQpSZXZpZXdl
ZC1ieTogRmVsaXBlIEh1aWNpIDxmZWxpcGUuaHVpY2lAbmVjbGFiLmV1Pg0KDQoNClRoYW5rcywN
Cg0K4oCUIEZlbGlwZQ0KDQoNCg0KT24gMTAvMTgvMTgsIDExOjI5IEFNLCAiU2ltb24gS3Vlbnpl
ciIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PiB3cm90ZToNCg0KPkludHJvZHVjZSBzdXBwb3J0
IGZvciBsaW5raW5nIChleHRlcm5hbGx5IGJ1aWx0KSBzdGF0aWMgbGlicmFyaWVzLg0KPg0KPkEg
c3RhdGljIGxpYnJhcnkgY2FuIGJlIHJlZ2lzdGVyZWQgYXQgdGhyZWUgZGlmZmVyZW50IHBsYWNl
czoNCg0Kcy9hdC9pbg0KDQo+ICogW0xJQk5BTUVdX0FMSUJTIGFuZCBbTElCTkFNRV1fQUxJQlMt
eQ0KPiAgIHN0YXRpYyBsaWJyYXJpZXMgdXNlZCB3aGVuIChwcmUtKWxpbmtpbmcgYSBsaWJyYXJ5
IG9iamVjdA0KPiAqIFtQTEFUTkFNRV1fQUxJQlMgYW5kIFtQTEFUTkFNRV1fQUxJQlMteQ0KPiAg
IHN0YXRpYyBsaWJyYXJpZXMgdGhhdCBhcmUgbGlua2VkIGF0IHRoZSBmaW5hbCBsaW5raW5nIHN0
ZXAgYnV0IG9ubHkNCj4gICBmb3IgYSBzcGVjaWZpYyBwbGF0Zm9ybQ0KPiAqIFVLX0FMSUJTIGFu
ZCBVS19BTElCUy15DQo+ICAgc3RhdGljIGxpYnJhcmllcyB0aGF0IGFyZSBsaW5rZWQgYXQgdGhl
IGZpbmFsIGxpbmtpbmcgc3RlcA0KPg0KPldoaWxlIHRoZSBsaW5rIG9yZGVyIG9mIG9iamVjdCBm
aWxlcyBpcyBpcnJlbGV2YW50IHRvIHRoZSBsaW5rZXIsDQo+c3RhdGljIGxpYnJhcmllcyBhcmUg
aGFuZGxlZCBkaWZmZXJlbnRseS4gRHVyaW5nIGxpbmtpbmcsIHN0YXRpYw0KPmxpYnJhcmllcyBh
cmUgb25seSB2aXNpdGVkIG9uY2UuIE9ubHkgb2JqZWN0cyBmcm9tIHRoZXNlIGxpYnJhcmllcyBh
cmUNCj50YWtlbiB0aGF0IHNvbHZlIGF0IGxlYXN0IG9uZSB5ZXQgdW5yZXNvbHZlZCBzeW1ib2wu
IEJlY2F1c2Ugb2YgdGhpcywNCg0K4oCcVGhlIG9ubHkgb2JqZWN0cyB0YWtlbiBhcmUgdGhvc2Ug
dGhhdCByZXNvbHZlIGF0IGxlYXN0IG9uZSB1bnJlc29sdmVkDQpzeW1ib2zigJ0uDQoNCj53ZSBw
b3B1bGF0ZSB0aGUgbGlzdCBvZiBzdGF0aWMgbGlicmFyaWVzIHJpZ2h0IGFmdGVyIHBvcHVsYXRp
bmcgYWxsDQo+cmVsZXZhbnQgb2JqZWN0IGZpbGVzLg0KPg0KPkFueSBvcmRlciBvciBjaXJjdWxh
ciBkZXBlbmRlbmN5IHdpdGhpbiBhIGdyb3VwIHRoZSBzdGF0aWMgbGlicmFyaWVzDQoNCnMvdGhl
L29mDQoNCj5pcyByZXNvbHZlZCBieSBpbnN0cnVjdGluZyB0aGUgbGlua2VyIHRvIHNjYW4gdGhl
IGFyY2hpdmVzIG11bHRpcGxlDQo+dGltZXMuIFRoaXMgaXMgZG9uZSBieSB0aGUgLS1zdGFydC1n
cm91cCBhbmQgLS1lbmQtZ3JvdXAgbGlua2VyIGZsYWdzLg0KPg0KPldpdGggdGhpcyBjaGFuZ2Us
IHdlIGFsc28gcmVtb3ZlIHRoZSBVS19MSU5LIGFuZCBVS19MSU5LLXkgdmFyaWFibGVzDQo+dGhh
dCB3ZXJlIHVzZWQgdG8gc2ltcGxpZnkgdGhlIHBsYXRmb3JtJ3MgbGlua2VyIHNjcmlwdHMuIEJl
Y2F1c2Ugb2YNCj50aGUgbGluayBvcmRlciBhbmQgYWRkaXRpb25hbCBsaW5rZXIgZmxhZ3MsIHdl
IGRpcmVjdGx5IGFzc2VtYmxlIHRoZQ0KPmxpbmtlciBjb21tYW5kIGJ5IHRha2VuIHRoZSBpdGVt
cyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIE9MSUJTIGFuZA0KPkFMSUJTIGxpc3RzLg0KPg0KPlNp
Z25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pg0KPi0t
LQ0KPiBNYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgIHwgIDIgLS0NCj4gcGxhdC9rdm0vTGlu
a2VyLnVrICAgICAgICAgICB8IDEzICsrKysrKysrKystLS0NCj4gcGxhdC9saW51eHUvTGlua2Vy
LnVrICAgICAgICB8IDE0ICsrKysrKysrKysrKy0tDQo+IHBsYXQveGVuL0xpbmtlci51ayAgICAg
ICAgICAgfCAxMyArKysrKysrKysrLS0tDQo+IHN1cHBvcnQvYnVpbGQvTWFrZWZpbGUuYnVpbGQg
fCAgMyAtLS0NCj4gc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5ydWxlcyB8IDE1ICsrKysrKysrKysr
Ky0tLQ0KPiA2IGZpbGVzIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygt
KQ0KPg0KPmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlDQo+aW5kZXggOTZiZTJkYi4u
MWUyZDAzNSAxMDA2NDQNCj4tLS0gYS9NYWtlZmlsZQ0KPisrKyBiL01ha2VmaWxlDQo+QEAgLTE4
OCw4ICsxODgsNiBAQCBVS19BTElCUzo9DQo+IFVLX0FMSUJTLXk6PQ0KPiBVS19PTElCUzo9DQo+
IFVLX09MSUJTLXk6PQ0KPi1VS19MSU5LOj0NCj4tVUtfTElOSy15Oj0NCj4gVUtfU1JDUzo9DQo+
IFVLX1NSQ1MteTo9DQo+IFVLX0RFUFM6PQ0KPmRpZmYgLS1naXQgYS9wbGF0L2t2bS9MaW5rZXIu
dWsgYi9wbGF0L2t2bS9MaW5rZXIudWsNCj5pbmRleCBkYWYyZWZlLi5lMGE1Njc3IDEwMDY0NA0K
Pi0tLSBhL3BsYXQva3ZtL0xpbmtlci51aw0KPisrKyBiL3BsYXQva3ZtL0xpbmtlci51aw0KPkBA
IC0xMywxMiArMTMsMTkgQEAgZW5kaWYNCj4gIyMNCj4gS1ZNX0lNQUdFIDo9ICQoQlVJTERfRElS
KS8kKENPTkZJR19VS19OQU1FKV9rdm0tJChDT05GSUdfVUtfQVJDSCkNCj4gDQo+LSQoS1ZNX0lN
QUdFKTogJChLVk1fTElOSykgJChLVk1fTElOSy15KSAkKFVLX0xJTkspICQoVUtfTElOSy15KQ0K
PiQoS1ZNX0xEU0NSSVBUKQ0KPiskKEtWTV9JTUFHRSk6ICQoS1ZNX0FMSUJTKSAkKEtWTV9BTElC
Uy15KSAkKEtWTV9PTElCUykgJChLVk1fT0xJQlMteSkgXA0KPisgICAgICAgICAgICAgICQoVUtf
QUxJQlMpICQoVUtfQUxJQlMteSkgJChVS19PTElCUykgJChVS19PTElCUy15KSBcDQo+KyAgICAg
ICAgICAgICAgJChLVk1fTERTQ1JJUFQpDQo+IAkkKGNhbGwgYnVpbGRfY21kLExELCwkQC5sZC5v
LFwNCj4gCSAgICAgICAkKExEKSAtciAkKExJQkxERkxBR1MpICQoTElCTERGTEFHUy15KSBcDQo+
IAkJCSQoS1ZNX0xERkxBR1MpICQoS1ZNX0xERkxBR1MteSkgXA0KPi0JCQkkKEtWTV9MSU5LKSAk
KEtWTV9MSU5LLXkpIFwNCj4tCQkJJChVS19MSU5LKSAkKFVLX0xJTksteSkgLW8gJEAubGQubykN
Cj4rCQkJJChLVk1fT0xJQlMpICQoS1ZNX09MSUJTLXkpIFwNCj4rCQkJJChVS19PTElCUykgJChV
S19PTElCUy15KSBcDQo+KwkJCS1XbCQoY29tbWEpLS1zdGFydC1ncm91cCBcDQo+KwkJCSQoS1ZN
X0FMSUJTKSAkKEtWTV9BTElCUy15KSBcDQo+KwkJCSQoVUtfQUxJQlMpICQoVUtfQUxJQlMteSkg
XA0KPisJCQktV2wkKGNvbW1hKS0tZW5kLWdyb3VwIFwNCj4rCQkJLW8gJEAubGQubykNCj4gCSQo
Y2FsbCBidWlsZF9jbWQsT0JKQ09QWSwsJEAubyxcDQo+IAkgICAgICAgJChPQkpDT1BZKSAtdyAt
RyBrdm1vc18qIC1HIF9saWJrdm1wbGF0X2VudHJ5ICRALmxkLm8gJEAubykNCj4gaWZuZXEgKCQo
ZmlsdGVyIHg4Nl82NCBhcm02NCwkKENPTkZJR19VS19BUkNIKSksKQ0KPmRpZmYgLS1naXQgYS9w
bGF0L2xpbnV4dS9MaW5rZXIudWsgYi9wbGF0L2xpbnV4dS9MaW5rZXIudWsNCj5pbmRleCBhYmVm
NTg1Li45ZTRiMmE5IDEwMDY0NA0KPi0tLSBhL3BsYXQvbGludXh1L0xpbmtlci51aw0KPisrKyBi
L3BsYXQvbGludXh1L0xpbmtlci51aw0KPkBAIC01LDkgKzUsMTkgQEAgTElOVVhVX0xERkxBR1Mt
eSArPSAtV2wsLWUsX2xpYmxpbnV4dXBsYXRfc3RhcnQNCj4gIyMNCj4gTElOVVhVX0lNQUdFIDo9
ICQoQlVJTERfRElSKS8kKENPTkZJR19VS19OQU1FKV9saW51eHUtJChDT05GSUdfVUtfQVJDSCkN
Cj4gDQo+LSQoTElOVVhVX0lNQUdFKTogJChMSU5VWFVfTElOSykgJChMSU5VWFVfTElOSy15KSAk
KFVLX0xJTkspICQoVUtfTElOSy15KQ0KPiskKExJTlVYVV9JTUFHRSk6ICQoTElOVVhVX0FMSUJT
KSAkKExJTlVYVV9BTElCUy15KSBcDQo+KwkJICQoTElOVVhVX09MSUJTKSAkKExJTlVYVV9PTElC
Uy15KSBcDQo+KwkJICQoVUtfQUxJQlMpICQoVUtfQUxJQlMteSkgJChVS19PTElCUykgJChVS19P
TElCUy15KQ0KPiAJJChjYWxsIGJ1aWxkX2NtZCxMRCwsJEAsXA0KPi0JICAgICAgICQoTEQpICQo
TERGTEFHUykgJChMREZMQUdTLXkpICQoTElOVVhVX0xERkxBR1MpDQo+JChMSU5VWFVfTERGTEFH
Uy15KSAkXiAtbyAkQCkNCj4rCSAgICAgICAkKExEKSAkKExERkxBR1MpICQoTERGTEFHUy15KSBc
DQo+KwkJICAgICAkKExJTlVYVV9MREZMQUdTKSAkKExJTlVYVV9MREZMQUdTLXkpIFwNCj4rCQkg
ICAgICQoTElOVVhVX09MSUJTKSAkKExJTlVYVV9PTElCUy15KSBcDQo+KwkJICAgICAkKFVLX09M
SUJTKSAkKFVLX09MSUJTLXkpIFwNCj4rCQkgICAgIC1XbCQoY29tbWEpLS1zdGFydC1ncm91cCBc
DQo+KwkJICAgICAkKExJTlVYVV9BTElCUykgJChMSU5VWFVfQUxJQlMteSkgXA0KPisJCSAgICAg
JChVS19BTElCUykgJChVS19BTElCUy15KSBcDQo+KwkJICAgICAtV2wkKGNvbW1hKS0tZW5kLWdy
b3VwIFwNCj4rCQkgICAgIC1vICRAKQ0KPiBpZmVxICgkKENPTkZJR19PUFRJTUlaRV9EQkdGSUxF
KSx5KQ0KPiAJJChjYWxsIGJ1aWxkX2NtZCxPQkpDT1BZLCwkQC5kYmcsXA0KPiAJICAgICAgICQo
T0JKQ09QWSkgLS1vbmx5LWtlZXAtZGVidWcgJEAgJEAuZGJnKQ0KPmRpZmYgLS1naXQgYS9wbGF0
L3hlbi9MaW5rZXIudWsgYi9wbGF0L3hlbi9MaW5rZXIudWsNCj5pbmRleCA1NWMyN2ZkLi5kZjg0
YzIwIDEwMDY0NA0KPi0tLSBhL3BsYXQveGVuL0xpbmtlci51aw0KPisrKyBiL3BsYXQveGVuL0xp
bmtlci51aw0KPkBAIC0xOCwxMiArMTgsMTkgQEAgZW5kaWYNCj4gIyMNCj4gWEVOX0lNQUdFIDo9
ICQoQlVJTERfRElSKS8kKENPTkZJR19VS19OQU1FKV94ZW4tJChDT05GSUdfVUtfQVJDSCkNCj4g
DQo+LSQoWEVOX0lNQUdFKTogJChYRU5fTElOSykgJChYRU5fTElOSy15KSAkKFVLX0xJTkspICQo
VUtfTElOSy15KQ0KPiQoWEVOX0xEU0NSSVBUKQ0KPiskKFhFTl9JTUFHRSk6ICQoWEVOX0FMSUJT
KSAkKFhFTl9BTElCUy15KSAkKFhFTl9PTElCUykgJChYRU5fT0xJQlMteSkgXA0KPisgICAgICAg
ICAgICAgICQoVUtfQUxJQlMpICQoVUtfQUxJQlMteSkgJChVS19PTElCUykgJChVS19PTElCUy15
KSBcDQo+KyAgICAgICAgICAgICAgJChYRU5fTERTQ1JJUFQpDQo+IAkkKGNhbGwgYnVpbGRfY21k
LExELCwkQC5sZC5vLFwNCj4gCSAgICAgICAkKExEKSAtciAkKExJQkxERkxBR1MpICQoTElCTERG
TEFHUy15KSBcDQo+IAkJCSQoWEVOX0xERkxBR1MpICQoWEVOX0xERkxBR1MteSkgXA0KPi0JCQkk
KFhFTl9MSU5LKSAkKFhFTl9MSU5LLXkpIFwNCj4tCQkJJChVS19MSU5LKSAkKFVLX0xJTksteSkg
LW8gJEAubGQubykNCj4rCQkJJChYRU5fT0xJQlMpICQoWEVOX09MSUJTLXkpIFwNCj4rCQkJJChV
S19PTElCUykgJChVS19PTElCUy15KSBcDQo+KwkJCS1XbCQoY29tbWEpLS1zdGFydC1ncm91cCBc
DQo+KwkJCSQoWEVOX0FMSUJTKSAkKFhFTl9BTElCUy15KSBcDQo+KwkJCSQoVUtfQUxJQlMpICQo
VUtfQUxJQlMteSkgXA0KPisJCQktV2wkKGNvbW1hKS0tZW5kLWdyb3VwIFwNCj4rCQkJLW8gJEAu
bGQubykNCj4gCSQoY2FsbCBidWlsZF9jbWQsT0JKQ09QWSwsJEAubyxcDQo+IAkgICAgICAgJChP
QkpDT1BZKSAtdyAtRyB4ZW5vc18qIC1HIF9saWJ4ZW5wbGF0X3N0YXJ0ICRALmxkLm8gJEAubykN
Cj4gaWZlcSAoYXJtLCQoQ09ORklHX1VLX0FSQ0gpKQ0KPmRpZmYgLS1naXQgYS9zdXBwb3J0L2J1
aWxkL01ha2VmaWxlLmJ1aWxkIGIvc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5idWlsZA0KPmluZGV4
IGU2NTg2MWUuLjU2Nzk3NDEgMTAwNjQ0DQo+LS0tIGEvc3VwcG9ydC9idWlsZC9NYWtlZmlsZS5i
dWlsZA0KPisrKyBiL3N1cHBvcnQvYnVpbGQvTWFrZWZpbGUuYnVpbGQNCj5AQCAtMzUsOCArMzUs
NiBAQCAkKGV2YWwgVUtfT0xJQlMteSArPSAkKGNhbGwgbGlibmFtZTJvbGliLCQoTCkpKTsgXA0K
PiApDQo+IGVuZGlmDQo+IA0KPi1VS19MSU5LLXkgKz0gJChVS19PTElCUy15KQ0KPi0NCj4gDQo+
ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIw0K
PkBAIC01Nyw2ICs1NSw1IEBAICQoZXZhbCAkKGNhbGwgdWMsJChQKSlfT0xJQlMteSAgICArPSAk
KGNhbGwNCj5saWJuYW1lMm9saWIsJChMKSkpOyBcDQo+ICkgXA0KPiApIFwNCj4gKTsgXA0KPi0k
KGV2YWwgJChjYWxsIHVjLCQoUCkpX0xJTksteSArPSAkKCQoY2FsbCB1YywkKFApKV9PTElCUy15
KSkgXA0KPiApDQo+IGVuZGlmDQo+ZGlmZiAtLWdpdCBhL3N1cHBvcnQvYnVpbGQvTWFrZWZpbGUu
cnVsZXMgYi9zdXBwb3J0L2J1aWxkL01ha2VmaWxlLnJ1bGVzDQo+aW5kZXggNjg3ZWY5OC4uMzZm
YjhkYiAxMDA2NDQNCj4tLS0gYS9zdXBwb3J0L2J1aWxkL01ha2VmaWxlLnJ1bGVzDQo+KysrIGIv
c3VwcG9ydC9idWlsZC9NYWtlZmlsZS5ydWxlcw0KPkBAIC00ODksMTEgKzQ4OSwyMCBAQCAkKGlm
ICQod2lsZGNhcmQgJCgkKGNhbGwNCj52cHJlZml4X2xpYiwkKDEpLEVYUE9SVFMpKSksLFwNCj4g
CSQod2FybmluZyBXYXJuaW5nOiBEZWZpbml0aW9uIG9mIGV4cG9ydGVkIHN5bWJvbHMgZm9yICQo
MSkgbWlzc2luZzoNCj4kKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLEVYUE9SVFMpKSkgXA0KPiAp
DQo+IA0KPi0kKGNhbGwgbGlibmFtZTJwcmVvbGliLCQoMSkpOiAkKCQoY2FsbCB2cHJlZml4X2xp
YiwkKDEpLE9CSlMpKSAkKCQoY2FsbA0KPnZwcmVmaXhfbGliLCQoMSksT0JKUy15KSkNCj4rJChj
YWxsIGxpYm5hbWUycHJlb2xpYiwkKDEpKTogJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxPQkpT
KSkgXA0KPisJCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLE9CSlMteSkpIFwNCj4r
CQkJICAgICAgJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxBTElCUykpIFwNCj4rCQkJICAgICAg
JCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxBTElCUy15KSkNCj4gCSQoY2FsbCBidWlsZF9jbWQs
TEQsLCQoY2FsbCBsaWJuYW1lMnByZW9saWIsJCgxKSksXA0KPiAJCSQoTEQpICQoTElCTERGTEFH
UykgJChMSUJMREZMQUdTLXkpIFwNCj4tCQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEp
LExERkxBR1MpKSAkKCQoY2FsbA0KPnZwcmVmaXhfbGliLCQoMSksTERGTEFHUy15KSkgXA0KPi0J
CSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksT0JKUykpICQoJChjYWxsDQo+dnByZWZp
eF9saWIsJCgxKSxPQkpTLXkpKSBcDQo+KwkJICAgICAgJCgkKGNhbGwgdnByZWZpeF9saWIsJCgx
KSxMREZMQUdTKSkgXA0KPisJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksTERGTEFH
Uy15KSkgXA0KPisJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGliLCQoMSksT0JKUykpIFwNCj4r
CQkgICAgICAkKCQoY2FsbCB2cHJlZml4X2xpYiwkKDEpLE9CSlMteSkpIFwNCj4rCQkgICAgICAt
V2wkKGNvbW1hKS0tc3RhcnQtZ3JvdXAgXA0KPisJCSAgICAgICQoJChjYWxsIHZwcmVmaXhfbGli
LCQoMSksQUxJQlMpKSBcDQo+KwkJICAgICAgJCgkKGNhbGwgdnByZWZpeF9saWIsJCgxKSxBTElC
Uy15KSkgXA0KPisJCSAgICAgIC1XbCQoY29tbWEpLS1lbmQtZ3JvdXAgXA0KPiAJCSAgICAgIC1v
ICQoY2FsbCBsaWJuYW1lMnByZW9saWIsJCgxKSkpDQo+IA0KPiAkKGNhbGwgbGlibmFtZTJvbGli
LCQoMSkpOiAkKGNhbGwgbGlibmFtZTJwcmVvbGliLCQoMSkpICQoaWYgJCh3aWxkY2FyZA0KPiQo
JChjYWxsIHZwcmVmaXhfbGliLCQoMSksRVhQT1JUUykpKSwkKCQoY2FsbCB2cHJlZml4X2xpYiwk
KDEpLEVYUE9SVFMpKSwpDQo+LS0gDQo+Mi43LjQNCj4NCg0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5p
b3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 14:29:18 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 14:29:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gD9IY-0002Oj-GL; Thu, 18 Oct 2018 14:29:14 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gD9IX-0002Oe-FS
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 14:29:13 +0000
X-Inumbo-ID: ca82fa55-d2e1-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id ca82fa55-d2e1-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 16:26:25 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DF6B5104A41;
 Thu, 18 Oct 2018 16:29:10 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id tY1nfgn1QJO4; Thu, 18 Oct 2018 16:29:10 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id BCAAA104A3D
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 16:29:08 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 Oct
 2018 16:29:08 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-4-git-send-email-simon.kuenzer@neclab.eu>
 <eefca5c0-c269-0028-d954-036fd728e4b5@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181018162907888
Message-ID: <4485134a-3fdd-2a01-c021-c8ec5697c43f@neclab.eu>
Date: Thu, 18 Oct 2018 16:29:07 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <eefca5c0-c269-0028-d954-036fd728e4b5@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 03/11] lib/uknetdev: Netbuf
 chaining
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMS4xMC4xOCAxMjowNywgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBIZWxsbyBTaW1v
biwKPiAKPiBUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCj4gCj4gVGhlcmUgaXMgYSBtaW5vciBjb21t
ZW50LiBQbGVhc2UgZmluZCB0aGUgY29tbWVudCBpbmxpbmUuIEl0IGlzIGEgCj4gcmVkdW5kYW50
IGlmIGNvbmRpdGlvbi4gSSBiZWxpZXZlIHdlIGNhbiBmaXggaXQgd2hpbGUgdXBzdHJlYW1pbmcu
Cj4gCj4gUmV2aWV3ZWQtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVj
bGFiLmV1Pgo+IAo+IE9uIDEwLzEwLzIwMTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6
Cj4+IEludHJvZHVjZSBmdW5jdGlvbnMgZm9yIGNyZWF0aW5nIGFuZCBvcGVyYXRpbmcgbmV0YnVm
IGNoYWlucy4gV2l0aAo+PiB0aGlzLCBuZXR3b3JrIHBhY2tldCBkYXRhIHRoYXQgaXMgc2NhdHRl
cmVkIGluIG1lbW9yeSBjYW4gYmUKPj4gZGVzY3JpYmVkLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBT
aW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPj4gLS0tCj4+IMKgIGxpYi91
a25ldGRldi9leHBvcnRzeW1zLnVrwqDCoMKgwqDCoMKgIHzCoCAzICsrCj4+IMKgIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIHwgODAgCj4+ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKPj4gwqAgbGliL3VrbmV0ZGV2L25ldGJ1Zi5jwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB8IDU1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCAzIGZpbGVz
IGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+IGluZGV4IDU0
NzNiYmEuLjMxNTNhNWQgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVr
Cj4+ICsrKyBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+IEBAIC0yLDMgKzIsNiBAQCB1
a19uZXRidWZfaW5pdF9pbmRpcgo+PiDCoCB1a19uZXRidWZfYWxsb2NfaW5kaXIKPj4gwqAgdWtf
bmV0YnVmX2FsbG9jX2J1Zgo+PiDCoCB1a19uZXRidWZfcHJlcGFyZV9idWYKPj4gK3VrX25ldGJ1
Zl9kaXNjb25uZWN0Cj4+ICt1a19uZXRidWZfY29ubmVjdAo+PiArdWtfbmV0YnVmX2FwcGVuZAo+
PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmggCj4+IGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKPj4gaW5kZXggMjk1ZTllYi4uYzQ0OGM2YSAx
MDA2NDQKPj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKPj4gKysrIGIv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKPj4gQEAgLTI4Miw2ICsyODIsODYgQEAg
c3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgCj4+ICptZW0sIHNp
emVfdCBzaXplLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
dWludDE2X3QgaGVhZHJvb20sCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKTsKPj4gKy8qKgo+
PiArICogQ29ubmVjdHMgdHdvIG5ldGJ1ZiBjaGFpbnMKPj4gKyAqIEBwYXJhbSBoZWFkdGFpbAo+
PiArICrCoMKgIExhc3QgbmV0YnVmIGVsZW1lbnQgb2YgY2hhaW4gdGhhdCBzaG91bGQgY29tZSBm
aXJzdC4KPj4gKyAqwqDCoCBJdCBjYW4gYWxzbyBiZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4KPj4g
KyAqIEBwYXJhbSB0YWlsCj4+ICsgKsKgwqAgSGVhZCBlbGVtZW50IG9mIHRoZSBzZWNvbmQgbmV0
YnVmIGNoYWluLgo+PiArICrCoMKgIEl0IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVm
Lgo+PiArICovCj4+ICt2b2lkIHVrX25ldGJ1Zl9jb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKmhl
YWR0YWlsLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0YnVm
ICp0YWlsKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBDb25uZWN0cyB0d28gbmV0YnVmIGNoYWlucwo+
PiArICogQHBhcmFtIGhlYWQKPj4gKyAqwqDCoCBIZWFkaW5nIG5ldGJ1ZiBlbGVtZW50IG9mIGNo
YWluIHRoYXQgc2hvdWxkIGNvbWUgZmlyc3QuCj4+ICsgKsKgwqAgSXQgY2FuIGFsc28gYmUganVz
dCBhIHNpbmdsZSBuZXRidWYuCj4+ICsgKiBAcGFyYW0gdGFpbAo+PiArICrCoMKgIEhlYWQgZWxl
bWVudCBvZiB0aGUgc2Vjb25kIG5ldGJ1ZiBjaGFpbi4KPj4gKyAqwqDCoCBJdCBjYW4gYWxzbyBi
ZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4KPj4gKyAqLwo+PiArdm9pZCB1a19uZXRidWZfYXBwZW5k
KHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz
dHJ1Y3QgdWtfbmV0YnVmICp0YWlsKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBEaXNjb25uZWN0cyBh
IG5ldGJ1ZiBmcm9tIGl0cyBjaGFpbi4gVGhlIGNoYWluIHdpbGwgcmVtYWluCj4+ICsgKiB3aXRo
b3V0IHRoZSByZW1vdmVkIGVsZW1lbnQuCj4+ICsgKiBAcGFyYW0gbQo+PiArICrCoMKgIHVrX25l
dGJ1ZiB0byBiZSByZW1vdmVkIGZyb20gaXRzIGNoYWluCj4+ICsgKiBAcmV0dXJucwo+PiArICrC
oMKgIC0gKE5VTEwpIENoYWluIGNvbnNpc3RlZCBvbmx5IG9mIG0KPj4gKyAqwqDCoCAtIEhlYWQg
b2YgdGhlIHJlbWFpbmluZyBuZXRidWYgY2hhaW4KPj4gKyAqLwo+PiArc3RydWN0IHVrX25ldGJ1
ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSk7Cj4+ICsKPj4gKy8q
Cj4+ICsgKiBJdGVyYXRvciBoZWxwZXJzIGZvciBuZXRidWYgY2hhaW5zCj4+ICsgKi8KPj4gKy8q
IGhlYWQgLT4gdGFpbCAqLwo+PiArI2RlZmluZSBVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSCh2YXIs
IGhlYWQpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoCBmb3IgKCh2
YXIpID0gKGhlYWQpOyAodmFyKSAhPSBOVUxMOyAodmFyKSA9ICh2YXIpLT5uZXh0KQo+PiArCj4+
ICsvKiB0YWlsIC0+IGhlYWQgKHJldmVyc2UpICovCj4+ICsjZGVmaW5lIFVLX05FVEJVRl9DSEFJ
Tl9GT1JFQUNIX1IodmFyLCB0YWlsKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+
ICvCoMKgwqAgZm9yICgodmFyKSA9ICh0YWlsKTsgKHZhcikgIT0gTlVMTDsgKHZhcikgPSAodmFy
KS0+cHJldikKPj4gKwo+PiArLyoqCj4+ICsgKiBSZXRyaWV2ZXMgdGhlIGxhc3QgZWxlbWVudCBv
ZiBhIG5ldGJ1ZiBjaGFpbgo+PiArICogQHBhcmFtIG0KPj4gKyAqwqDCoCB1a19uZXRidWYgdGhh
dCBpcyBwYXJ0IG9mIGEgY2hhaW4KPj4gKyAqIEByZXR1cm5zCj4+ICsgKsKgwqAgTGFzdCB1a19u
ZXRidWYgb2YgdGhlIGNoYWluCj4+ICsgKi8KPj4gKyNkZWZpbmUgdWtfbmV0YnVmX2NoYWluX2xh
c3QobSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4g
K8KgwqDCoCAoe8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKl9f
cmV0ID0gTlVMTDvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiArwqDCoMKgwqDC
oMKgwqAgc3RydWN0IHVrX25ldGJ1ZiAqX19pdGVyO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoCBVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSChfX2l0ZXIs
IChtKSnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
X19yZXQgPSBfX2l0ZXI7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoCAoX19yZXQpO8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiArwqDCoMKgIH0pCj4+ICsK
Pj4gKy8qKgo+PiArICogUmV0cmlldmVzIHRoZSBmaXJzdCBlbGVtZW50IG9mIGEgbmV0YnVmIGNo
YWluCj4+ICsgKiBAcGFyYW0gbQo+PiArICrCoMKgIHVrX25ldGJ1ZiB0aGF0IGlzIHBhcnQgb2Yg
YSBjaGFpbgo+PiArICogQHJldHVybnMKPj4gKyAqwqDCoCBGaXJzdCB1a19uZXRidWYgb2YgdGhl
IGNoYWluCj4+ICsgKi8KPj4gKyNkZWZpbmUgdWtfbmV0YnVmX2NoYWluX2ZpcnN0KG0pwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+PiArwqDCoMKgICh7wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+
PiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGJ1ZiAqX19yZXQgPSBOVUxMO8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0
YnVmICpfX2l0ZXI7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoMKg
wqDCoMKgIFVLX05FVEJVRl9DSEFJTl9GT1JFQUNIX1IoX19pdGVyLCAobSkpwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBcCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fcmV0ID0gX19pdGVyO8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
XAo+PiArwqDCoMKgwqDCoMKgwqAgKF9fcmV0KTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoCB9KQo+PiArCj4+IMKgICNpZmRlZiBfX2Nw
bHVzcGx1cwo+PiDCoCB9Cj4+IMKgICNlbmRpZgo+PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2
L25ldGJ1Zi5jIGIvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCj4+IGluZGV4IDcyYzM0OWIuLjViYzIz
MTIgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9uZXRidWYuYwo+PiArKysgYi9saWIvdWtu
ZXRkZXYvbmV0YnVmLmMKPj4gQEAgLTE4OCwzICsxODgsNTggQEAgc3RydWN0IHVrX25ldGJ1ZiAq
dWtfbmV0YnVmX3ByZXBhcmVfYnVmKHZvaWQgCj4+ICptZW0sIHNpemVfdCBzaXplLAo+PiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHRvcik7Cj4+IMKgwqDCoMKgwqAgcmV0
dXJuIG07Cj4+IMKgIH0KPj4gKwo+PiArc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nv
bm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSkKPj4gK3sKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0
YnVmICpyZW1oZWFkID0gTlVMTDsKPj4gKwo+PiArwqDCoMKgIFVLX0FTU0VSVChtKTsKPj4gKwo+
PiArwqDCoMKgIC8qIEl0IGlzIHBvc3NpYmxlIHRoYXQgbSB3YXMgdGhlIGZpcnN0IGVsZW1lbnQg
b2YgdGhlIGNoYWluLgo+PiArwqDCoMKgwqAgKiBJbiBzdWNoIGEgY2FzZSB3ZSB3YW50IHRvIHJl
dHVybiB0aGUgbmV4dCBlbGVtZW50IG9mIG0gYXMgdGhlCj4+ICvCoMKgwqDCoCAqIHJlbWFpbmlu
ZyBoZWFkIG9mIHRoZSBjaGFpbi4gSWYgdGhlcmUgaXMgbm8gbmV4dCBlbGVtZW50Cj4+ICvCoMKg
wqDCoCAqIHRoZXJlIHdhcyBubyBjaGFpbi4KPj4gK8KgwqDCoMKgICovCj4gCj4gV2h5IGFyZSB3
ZSBkb2luZyB0aGlzIGNoZWNrPwo+PiArwqDCoMKgIGlmICghcmVtaGVhZCkKPj4gK8KgwqDCoMKg
wqDCoMKgIHJlbWhlYWQgPSBtLT5uZXh0OwoKTGVmdC1vdmVyIGZyb20gc29tZSBwcmV2aW91cyBj
b2RlIHBpZWNlcy4gU29ycnksIHllcyBpdCBpcyByZWR1bmRhbnQuIEkgCndpbGwgcmVtb3ZlIHRo
ZSBjaGVjay4KCj4+ICsKPj4gK8KgwqDCoCAvKiBSZWNvbm5lY3QgdGhlIGNoYWlucyBiZWZvcmUg
YW5kIGFmdGVyIG0uICovCj4+ICvCoMKgwqAgaWYgKG0tPnByZXYpCj4+ICvCoMKgwqDCoMKgwqDC
oCBtLT5wcmV2LT5uZXh0ID0gbS0+bmV4dDsKPj4gK8KgwqDCoCBpZiAobS0+bmV4dCkKPj4gK8Kg
wqDCoMKgwqDCoMKgIG0tPm5leHQtPnByZXYgPSBtLT5wcmV2Owo+PiArCj4+ICvCoMKgwqAgLyog
RGlzY29ubmVjdCBtLiAqLwo+PiArwqDCoMKgIG0tPnByZXYgPSBOVUxMOwo+PiArwqDCoMKgIG0t
Pm5leHQgPSBOVUxMOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIHJlbWhlYWQ7Cj4+ICt9Cj4+ICsK
Pj4gKwo+PiArdm9pZCB1a19uZXRidWZfY29ubmVjdChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkdGFp
bCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGJ1ZiAqdGFp
bCkKPj4gK3sKPj4gK8KgwqDCoCBVS19BU1NFUlQoaGVhZHRhaWwpOwo+PiArwqDCoMKgIFVLX0FT
U0VSVCghaGVhZHRhaWwtPm5leHQpOwo+PiArwqDCoMKgIFVLX0FTU0VSVCh0YWlsKTsKPj4gK8Kg
wqDCoCBVS19BU1NFUlQoIXRhaWwtPnByZXYpOwo+PiArCj4+ICvCoMKgwqAgaGVhZHRhaWwtPm5l
eHQgPSB0YWlsOwo+PiArwqDCoMKgIHRhaWwtPnByZXYgPSBoZWFkdGFpbDsKPj4gK30KPj4gKwo+
PiArdm9pZCB1a19uZXRidWZfYXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0YnVmICp0YWlsKQo+PiArewo+PiAr
wqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKmhlYWR0YWlsOwo+PiArCj4+ICvCoMKgwqAgVUtfQVNT
RVJUKGhlYWQpOwo+PiArwqDCoMKgIFVLX0FTU0VSVCghaGVhZC0+cHJldik7Cj4+ICvCoMKgwqAg
VUtfQVNTRVJUKHRhaWwpOwo+PiArwqDCoMKgIFVLX0FTU0VSVCghdGFpbC0+cHJldik7Cj4+ICsK
Pj4gK8KgwqDCoCBoZWFkdGFpbCA9IHVrX25ldGJ1Zl9jaGFpbl9sYXN0KGhlYWQpOwo+PiArwqDC
oMKgIGhlYWR0YWlsLT5uZXh0ID0gdGFpbDsKPj4gK8KgwqDCoCB0YWlsLT5wcmV2ID0gaGVhZHRh
aWw7Cj4+ICt9Cj4+Cj4gCj4gVGhhbmtzICYgUmVnYXJkcwo+IFNoYXJhbgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 15:45:09 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 15:45:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDAU0-0001DN-5H; Thu, 18 Oct 2018 15:45:08 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=wgtf=m6=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gDATz-0001DI-1H
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 15:45:07 +0000
X-Inumbo-ID: 6479f9fc-d2ec-11e8-a8a5-bc764e045a96
Received: from mail-ot1-x341.google.com (unknown [2607:f8b0:4864:20::341])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6479f9fc-d2ec-11e8-a8a5-bc764e045a96;
 Thu, 18 Oct 2018 17:42:17 +0200 (CEST)
Received: by mail-ot1-x341.google.com with SMTP id c23so28428276otl.9
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 08:45:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=tBvgYn3S2LhIGa98bkugdYhTXPICxlEN23M72OqXj/8=;
 b=V63kY3GA5K89FmdNL2RZXIDWfMa3ngawYrmyXhwsv6HMdkjBIrB06IXZZrGmnLwKqX
 3fcZBB4a65x2CnxBOOJriS0HcHrD3oJU+a6RxPp1s2V2LPsvw3fPegeH9QjnUe3VPVR1
 U8VtEjZqVIM/U5jK0cYzpkD3NwJQSuSy2cl9YWR1cgqbP5zCT6XY4SYX05Xw0OGCx5+P
 KXb5gG52FG+Gjch3gVPXKWVSAGdBs0gAGlffAL9blQV4gJfw9S2WAS4zxYNpNiya+t7H
 63RNjTcUtkhH+ouAwrvPeQYkIPg/+H/iCJagtMVhdflK/+Iym9qBgyDdg5+qnZxVvQtp
 koDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=tBvgYn3S2LhIGa98bkugdYhTXPICxlEN23M72OqXj/8=;
 b=SV5PKyVXMmIDKr0HoJOzytEEw/orkMcbfJIf/CZc6yewL0qwwXm5yAVW2YBDq3M+D7
 3lEXA0LmBHDRr00dpwcxfCLMTt+q/2P0aj5nDQtVoVc5B6CEI9wef9xhiZdxRN/Us+Nm
 vFmjbb/XxTiwEY/w3Id1LIa/SqjUpKHZINzjcjgcbLEMWvwskME681lPymQXn/Sue+jX
 iJYtkQZcs4FcQOpSCPgT9tOgnI9OQxrNJzMTM1RF25JH2t2PB0+yVhMlsUeoz3OxCn+H
 plkUeqdDr9oUPafkH75Eky4kxD4r8E6TI1L4V4MsAmiXIm2tqsGUsNR2ZqJC/oXoBtrc
 m3rw==
X-Gm-Message-State: ABuFfoijki2o0qhqaD4B3VgLAGPzn4zcsIb+Ous+naB8PVPtgr0C44KB
 BSjPCWblFpTrrp4FR+5BPgPuPVJArEMFV3MrdqE=
X-Google-Smtp-Source: ACcGV60yBym34CxgEyhUD4SQ1bHxslsOVj2/+0fSgb9hCb6bqFDs5uu/g9FcnmKbKXIOGMCbFmmNG2isUJNE9bihjdQ=
X-Received: by 2002:a9d:3ea6:: with SMTP id b35mr18662869otc.261.1539877503718; 
 Thu, 18 Oct 2018 08:45:03 -0700 (PDT)
MIME-Version: 1.0
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
 <1539862853-4001-3-git-send-email-radunicolau102@gmail.com>
 <5006c590-9f78-4f2e-0214-ad53a7ebfbc4@arm.com>
In-Reply-To: <5006c590-9f78-4f2e-0214-ad53a7ebfbc4@arm.com>
From: Radu Nicolau <radunicolau102@gmail.com>
Date: Thu, 18 Oct 2018 18:44:52 +0300
Message-ID: <CAPGq5zZOFv10o4_ODKvck9ei1CabbT-Vuzmm9BYYCjE0ABX73Q@mail.gmail.com>
To: julien.grall@arm.com
Subject: Re: [Minios-devel] [UNIKRAFT-PATCH 2/3] plat/xen/common: Move event
 channel functions in events.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
Content-Type: multipart/mixed; boundary="===============8224635091306228019=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============8224635091306228019==
Content-Type: multipart/alternative; boundary="0000000000009b5e3d057882ab98"

--0000000000009b5e3d057882ab98
Content-Type: text/plain; charset="UTF-8"

Hello Julien,

On Thu, Oct 18, 2018 at 4:33 PM Julien Grall <julien.grall@arm.com> wrote:

> Hello Nicolas,
>
> On 18/10/2018 12:40, radunicolau102@gmail.com wrote:
> > diff --git a/plat/xen/include/common/events.h
> b/plat/xen/include/common/events.h
> > index 971dff9..accddb8 100644
> > --- a/plat/xen/include/common/events.h
> > +++ b/plat/xen/include/common/events.h
> > @@ -47,6 +47,12 @@
> >   #include <xen/event_channel.h>
> >   #include <uk/arch/lcpu.h>
> >
> > +/*
> > + * TODO revisit: why cpu param?
> > + * Taken from linux/drivers/xen/events/events_2l.c
>
> Are you sure about this? In any case, I would be careful about
> mentioning Linux code in Unikraft as the two license (GPLv2 vs BSD) are
> not compatible.
>
>
I've found this macro (as a function) in the linux kernel and I thought it
would be helpful to know it was inspired from there. The cpu parameter
is used in there.
The macro itself does appear in Mini-OS (both from xenbits and sysml),
I assume it was ported from there.
I am not entirely sure how I should proceed in here, I could remove my
comment or remove the unused parameter entirely.


> Cheers,
>
> --
> Julien Grall
>

Cheers,
Radu

--0000000000009b5e3d057882ab98
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello Julien,<div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr">On Thu, Oct 18, 2018 at 4:33 PM Julien Grall &lt;<a href=3D"mailto=
:julien.grall@arm.com">julien.grall@arm.com</a>&gt; wrote:<br></div><blockq=
uote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc =
solid;padding-left:1ex">Hello Nicolas,<br>
<br>
On 18/10/2018 12:40, <a href=3D"mailto:radunicolau102@gmail.com" target=3D"=
_blank">radunicolau102@gmail.com</a> wrote:<br>
&gt; diff --git a/plat/xen/include/common/events.h b/plat/xen/include/commo=
n/events.h<br>
&gt; index 971dff9..accddb8 100644<br>
&gt; --- a/plat/xen/include/common/events.h<br>
&gt; +++ b/plat/xen/include/common/events.h<br>
&gt; @@ -47,6 +47,12 @@<br>
&gt;=C2=A0 =C2=A0#include &lt;xen/event_channel.h&gt;<br>
&gt;=C2=A0 =C2=A0#include &lt;uk/arch/lcpu.h&gt;<br>
&gt;=C2=A0 =C2=A0<br>
&gt; +/*<br>
&gt; + * TODO revisit: why cpu param?<br>
&gt; + * Taken from linux/drivers/xen/events/events_2l.c<br>
<br>
Are you sure about this? In any case, I would be careful about <br>
mentioning Linux code in Unikraft as the two license (GPLv2 vs BSD) are <br=
>
not compatible.<br>
<br></blockquote><div><br></div><div>I&#39;ve found this macro (as a functi=
on) in the linux kernel and I thought it</div><div>would be helpful to know=
 it was inspired from there. The cpu parameter</div><div>is used in there.<=
/div><div>The macro itself does appear in Mini-OS (both from xenbits and sy=
sml),</div><div>I assume it was ported from there.</div><div>I am not entir=
ely sure how I should proceed in here, I could remove my</div><div>comment =
or remove the unused parameter entirely.</div><div>=C2=A0</div><blockquote =
class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid=
;padding-left:1ex">
Cheers,<br>
<br>
-- <br>
Julien Grall<br></blockquote><div><br></div><div>Cheers,</div><div>Radu</di=
v><div>=C2=A0</div></div></div></div>

--0000000000009b5e3d057882ab98--


--===============8224635091306228019==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============8224635091306228019==--


From minios-devel-bounces@lists.xenproject.org Thu Oct 18 20:20:29 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 20:20:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDEmP-0007Xx-7r; Thu, 18 Oct 2018 20:20:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDEmO-0007Xs-1t
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 20:20:24 +0000
X-Inumbo-ID: 6efeed4b-d313-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6efeed4b-d313-11e8-a6a9-d7ebe60f679a;
 Thu, 18 Oct 2018 20:21:46 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id D5C2A104A41;
 Thu, 18 Oct 2018 22:20:19 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nbctHP3u_npv; Thu, 18 Oct 2018 22:20:19 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B1A6D104A3C
 for <minios-devel@lists.xen.org>; Thu, 18 Oct 2018 22:20:17 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 Oct
 2018 22:20:17 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-5-git-send-email-simon.kuenzer@neclab.eu>
 <833dbed4-25bc-2bb7-bee6-57d98fd04040@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181018222016815
Message-ID: <9568d1e3-2fb2-8640-9013-8ff5b453b2c4@neclab.eu>
Date: Thu, 18 Oct 2018 22:20:16 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <833dbed4-25bc-2bb7-bee6-57d98fd04040@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 04/11] lib/uknetdev: Netbuf
 refcounting and releasing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMS4xMC4xOCAxMzoxNywgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBIZWxsbyBTaW1v
biwKPiAKPiBQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgo+IAo+IE9uIDEwLzEwLzIw
MTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+IEludHJvZHVjZSByZWZlcmVuY2Ug
Y291bnRpbmcgYW5kIGJ1ZmZlciByZWxlYXNpbmcgd2l0aCBOZXRidWZzLgo+Pgo+PiBTaWduZWQt
b2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPj4gLS0tCj4+
IMKgIGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrwqDCoMKgwqDCoMKgIHzCoCAzICsrCj4+IMKg
IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIHwgNjAgCj4+ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gwqAgbGliL3VrbmV0ZGV2L25ldGJ1Zi5jwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB8IDU1IAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKPj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKQo+Pgo+PiBk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhw
b3J0c3ltcy51awo+PiBpbmRleCAzMTUzYTVkLi41OTFkNDZjIDEwMDY0NAo+PiAtLS0gYS9saWIv
dWtuZXRkZXYvZXhwb3J0c3ltcy51awo+PiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
awo+PiBAQCAtMiw2ICsyLDkgQEAgdWtfbmV0YnVmX2luaXRfaW5kaXIKPj4gwqAgdWtfbmV0YnVm
X2FsbG9jX2luZGlyCj4+IMKgIHVrX25ldGJ1Zl9hbGxvY19idWYKPj4gwqAgdWtfbmV0YnVmX3By
ZXBhcmVfYnVmCj4+ICt1a19uZXRidWZfcmVmCj4+ICt1a19uZXRidWZfZnJlZV9zaW5nbGUKPj4g
K3VrX25ldGJ1Zl9mcmVlCj4+IMKgIHVrX25ldGJ1Zl9kaXNjb25uZWN0Cj4+IMKgIHVrX25ldGJ1
Zl9jb25uZWN0Cj4+IMKgIHVrX25ldGJ1Zl9hcHBlbmQKPj4gZGlmZiAtLWdpdCBhL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIAo+PiBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGJ1Zi5oCj4+IGluZGV4IGM0NDhjNmEuLjViMDkwN2MgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCj4+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGJ1Zi5oCj4+IEBAIC0yODMsNiArMjgzLDQzIEBAIHN0cnVjdCB1a19uZXRidWYgKnVrX25l
dGJ1Zl9wcmVwYXJlX2J1Zih2b2lkIAo+PiAqbWVtLCBzaXplX3Qgc2l6ZSwKPj4gwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpemVfdCBwcml2bGVuLCB1a19uZXRi
dWZfZHRvcl90IGR0b3IpOwo+Pgo+IAo+IAo+IFRoZSBmdW5jdGlvbiB1a19uZXRidWZfcmVmIGNh
biBhbHNvIGJlIGRlZmluZWQgYXMgaW5saW5lIGZ1bmN0aW9uLgo+ICDCoC8qKgoKU3VyZS4KCj4+
ICsgKiBJbmNyZWFzZSByZWZlcmVuY2UgY291bnQgb2YgYSBuZXRidWYgaW5jbHVkaW5nIGVhY2gg
c3VjY2Vzc2l2ZSBuZXRidWYKPj4gKyAqIGVsZW1lbnQgb2YgYSBjaGFpbi4gTm90ZSwgcHJlY2Vk
aW5nIGNoYWluIGVsZW1lbnRzIGFyZSBub3QgdmlzaXRlZC4KPj4gKyAqIEBwYXJhbSBtCj4+ICsg
KsKgwqAgaGVhZCBvZiB0aGUgdWtfbmV0YnVmIGNoYWluIHRvIGluY3JlYXNlIHJlZmNvdW50IG9m
Cj4+ICsgKiBAcmV0dXJucwo+PiArICrCoMKgIFJlZmVyZW5jZSB0byBtCj4+ICsgKi8KPj4gK3N0
cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9yZWYoc3RydWN0IHVrX25ldGJ1ZiAqbSk7Cj4+ICsK
Pj4gKy8qKgo+PiArICogSW5jcmVhc2UgcmVmZXJlbmNlIGNvdW50IG9mIGEgc2luZ2xlIG5ldGJ1
ZiAoaXJyZXNwZWN0aXZlIG9mIGEgY2hhaW4pCj4+ICsgKiBAcGFyYW0gbQo+PiArICrCoMKgIHVr
X25ldGJ1ZiB0byBpbmNyZWFzZSByZWZjb3VudCBvZgo+PiArICogQHJldHVybnMKPj4gKyAqwqDC
oCBSZWZlcmVuY2UgdG8gbQo+PiArICovCj4+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCB1a19uZXRi
dWYgKnVrX25ldGJ1Zl9yZWZfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgCj4+ICptKQo+PiArewo+
PiArwqDCoMKgIFVLX0FTU0VSVChtKTsKPj4gKwo+PiArwqDCoMKgIHVrX3JlZmNvdW50X2FjcXVp
cmUoJm0tPnJlZmNvdW50KTsKPj4gK8KgwqDCoCByZXR1cm4gbTsKPj4gK30KPj4gKwo+IAo+IE1h
eWJlIHJlbmFtZSB1a19uZXRidWZfcmVmY291bnRfc2luZ2xlIHdpdGjCoCB1a19uZXRidWZfcmVm
Y291bnRfc2luZ2xlX2dldAoKT2theSwgZmluZS4KCj4+ICsvKioKPj4gKyAqIFJldHVybnMgdGhl
IGN1cnJlbnQgcmVmZXJlbmNlIGNvdW50IG9mIGEgc2luZ2xlIG5ldGJ1Zgo+PiArICogQHBhcmFt
IG0KPj4gKyAqwqDCoCB1a19uZXRidWYgdG8gcmV0dXJuIHRoZSByZWZlcmVuY2UgY291bnQgb2YK
Pj4gKyAqLwo+PiArc3RhdGljIGlubGluZSB1aW50MzJfdCB1a19uZXRidWZfcmVmY291bnRfc2lu
Z2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4+ICt7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKG0pOwo+
PiArCj4+ICvCoMKgwqAgcmV0dXJuIHVrX3JlZmNvdW50X3JlYWQoJm0tPnJlZmNvdW50KTsKPj4g
K30KPj4gKwo+PiArLyoqCj4+IMKgwqAgKiBDb25uZWN0cyB0d28gbmV0YnVmIGNoYWlucwo+PiDC
oMKgICogQHBhcmFtIGhlYWR0YWlsCj4+IMKgwqAgKsKgwqAgTGFzdCBuZXRidWYgZWxlbWVudCBv
ZiBjaGFpbiB0aGF0IHNob3VsZCBjb21lIGZpcnN0Lgo+PiBAQCAtMzE3LDYgKzM1NCwyOSBAQCB2
b2lkIHVrX25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVrX25ldGJ1ZiAqaGVhZCwKPj4gwqDCoCAqLwo+
PiDCoCBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfZGlzY29ubmVjdChzdHJ1Y3QgdWtfbmV0
YnVmICptKTsKPj4gKy8qKgo+PiArICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2Yg
ZWFjaCBlbGVtZW50IG9mIHRoZSBjaGFpbi4KPj4gKyAqIElmIGEgcmVmY291bnQgYmVjb21lcyAw
LCB0aGUgbmV0YnVmIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGl0cyBjaGFpbiwKPj4gKyAqIGl0cyBk
ZXN0cnVjdG9yIGlzIGNhbGxlZCBhbmQgdGhlIG1lbW9yeSBpcyBmcmVlJ2QgYWNjb3JkaW5nIHRv
IGl0cwo+PiArICogYWxsb2NhdGlvbi4KPj4gKyAqIEBwYXJhbSBtCj4+ICsgKsKgwqAgaGVhZCBv
ZiB1a19uZXRidWYgY2hhaW4gdG8gcmVsZWFzZQo+PiArICogQHJldHVybnMKPj4gKyAqwqDCoCBS
ZWZlcmVuY2UgdG8gbQo+PiArICovCj4+ICt2b2lkIHVrX25ldGJ1Zl9mcmVlKHN0cnVjdCB1a19u
ZXRidWYgKm0pOwo+PiArCj4+ICsvKioKPj4gKyAqIERlY3JlYXNlcyB0aGUgcmVmZXJlbmNlIGNv
dW50IG9mIGEgc2luZ2xlIG5ldGJ1Zi4gSWYgcmVmY291bnQgCj4+IGJlY29tZXMgMCwKPj4gKyAq
IHRoZSBuZXRidWYgaXMgZGlzY29ubmVjdGVkIGZyb20gaXRzIGNoYWluLCBpdHMgZGVzdHJ1Y3Rv
ciBpcyAKPj4gY2FsbGVkIGFuZAo+PiArICogdGhlIG1lbW9yeSBpcyBmcmVlJ2QgYWNjb3JkaW5n
IHRvIGl0cyBhbGxvY2F0aW9uLgo+PiArICogQHBhcmFtIG0KPj4gKyAqwqDCoCB1a19uZXRidWYg
dG8gcmVsZWFzZQo+PiArICogQHJldHVybnMKPj4gKyAqwqDCoCBSZWZlcmVuY2UgdG8gbQo+PiAr
ICovCj4+ICt2b2lkIHVrX25ldGJ1Zl9mcmVlX3NpbmdsZShzdHJ1Y3QgdWtfbmV0YnVmICptKTsK
Pj4gKwo+PiDCoCAvKgo+PiDCoMKgICogSXRlcmF0b3IgaGVscGVycyBmb3IgbmV0YnVmIGNoYWlu
cwo+PiDCoMKgICovCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0YnVmLmMgYi9saWIv
dWtuZXRkZXYvbmV0YnVmLmMKPj4gaW5kZXggNWJjMjMxMi4uYjYyNDM2NCAxMDA2NDQKPj4gLS0t
IGEvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCj4+ICsrKyBiL2xpYi91a25ldGRldi9uZXRidWYuYwo+
PiBAQCAtMTg5LDYgKzE4OSwxOCBAQCBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcHJlcGFy
ZV9idWYodm9pZCAKPj4gKm1lbSwgc2l6ZV90IHNpemUsCj4+IMKgwqDCoMKgwqAgcmV0dXJuIG07
Cj4+IMKgIH0KPj4gK3N0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9yZWYoc3RydWN0IHVrX25l
dGJ1ZiAqbSkKPj4gK3sKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0YnVmICppdGVyOwo+PiArCj4+
ICvCoMKgwqAgVUtfQVNTRVJUKG0pOwo+PiArCj4+ICvCoMKgwqAgVUtfTkVUQlVGX0NIQUlOX0ZP
UkVBQ0goaXRlciwgbSkKPj4gK8KgwqDCoMKgwqDCoMKgIHVrX25ldGJ1Zl9yZWZfc2luZ2xlKGl0
ZXIpOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIG07Cj4+ICt9Cj4+ICsKPj4gwqAgc3RydWN0IHVr
X25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSkKPj4gwqAg
ewo+PiDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKnJlbWhlYWQgPSBOVUxMOwo+PiBAQCAt
MjQzLDMgKzI1NSw0NiBAQCB2b2lkIHVrX25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVrX25ldGJ1ZiAq
aGVhZCwKPj4gwqDCoMKgwqDCoCBoZWFkdGFpbC0+bmV4dCA9IHRhaWw7Cj4+IMKgwqDCoMKgwqAg
dGFpbC0+cHJldiA9IGhlYWR0YWlsOwo+PiDCoCB9Cj4+ICsKPj4gK3ZvaWQgdWtfbmV0YnVmX2Zy
ZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4+ICt7Cj4+ICvCoMKgwqAgc3RydWN0IHVr
X2FsbG9jICphOwo+PiArCj4+ICvCoMKgwqAgVUtfQVNTRVJUKG0pOwo+PiArCj4+ICvCoMKgwqAg
LyogRGVjcmVhc2UgcmVmY291bnQgYW5kIGNhbGwgZGVzdHJ1Y3RvciBhbmQgZnJlZSB1cCBtZW1v
cnkKPj4gK8KgwqDCoMKgICogd2hlbiBsYXN0IHJlZmVyZW5jZSB3YXMgcmVsZWFzZWQuCj4+ICvC
oMKgwqDCoCAqLwo+PiArwqDCoMKgIGlmICh1a19yZWZjb3VudF9yZWxlYXNlKCZtLT5yZWZjb3Vu
dCkgPT0gMSkgewo+PiArwqDCoMKgwqDCoMKgwqAgLyogRGlzY29ubmVjdCB0aGlzIG5ldGJ1ZiBm
cm9tIHRoZSBjaGFpbi4gKi8KPiAKPiBBZGRpdGlvbmFsIG5vdGU6IFdlIG5lZWQgdG8gY2hlY2sg
aW4gdGhlIHVrX25ldGJ1Zl9kaXNjb25uZWN0IGZvciAKPiByZWZjb3VudCB0byBiZSBvbmUuIFdl
IHNob3VsZCBhdm9pZCBkaXNjb25uZWN0aW5nIGJ1ZmZlciB3aXRoIG11bHRpLXVzZXIgCj4gcmVm
ZXJlbmNlLiBJbiB0aGUgZnJlZSBmdW5jdGlvbiBpdCBkb25lIGNvcnJlY3RseSBidXQgdGhlIAo+
IHVrX25ldGJ1Zl9kaXNjb25uZWN0IGlzIGV4cG9zZWQgdG8gdGhlIHVzZXIgZGlyZWN0bHkuCj4g
Cj4gUHJvYmFibHkgaXQgd2lzZSB0byBhZGQgYSBub3RlIG9uCj4gKiB1a19uZXRidWZfZGlzY29u
bmVjdAo+ICogdWtfbmV0YnVmX2Nvbm5lY3QKPiAqIHVrX25ldGJ1Zl9hcHBlbmQKPiByZWdhcmRp
bmcgdGhlIHJlZmNvdW50IGFuZCByZWZlcmVuY2UgdG8gdWtfbmV0YnVmCgpZZXMsIEkgd2lsbCBk
by4KCj4gCj4+ICvCoMKgwqDCoMKgwqDCoCB1a19uZXRidWZfZGlzY29ubmVjdChtKTsKPj4gKwo+
PiArwqDCoMKgwqDCoMKgwqAgLyogQ29weSB0aGUgcmVmZXJlbmNlIG9mIHRoZSBhbGxvY2F0b3Ig
aW4gY2FzZQo+PiArwqDCoMKgwqDCoMKgwqDCoCAqIHRoZSBkZXN0cnVjdG9yIGlzIGZyZWUnaW5n
IHVwIG91ciBtZW1vcnkKPj4gK8KgwqDCoMKgwqDCoMKgwqAgKiAoZS5nLiwgdWtfbmV0YnVmX2lu
aXRfaW5kaXIoKSB1c2VkKS4KPj4gK8KgwqDCoMKgwqDCoMKgwqAgKiBJbiBzdWNoIGEgY2FzZSBg
YWAgc2hvdWxkIGJlIChOVUxMKSwgaG93ZXZlcgo+PiArwqDCoMKgwqDCoMKgwqDCoCAqIHdlIG5l
ZWQgdG8gYWNjZXNzIGl0IGZvciBhwqAgY2hlY2sgYWZ0ZXIgd2UgaGF2ZQo+PiArwqDCoMKgwqDC
oMKgwqDCoCAqIGNhbGxlZCB0aGUgZGVzdHJ1Y3Rvci4KPj4gK8KgwqDCoMKgwqDCoMKgwqAgKi8K
Pj4gK8KgwqDCoMKgwqDCoMKgIGEgPSBtLT5fYTsKPj4gKwo+PiArwqDCoMKgwqDCoMKgwqAgaWYg
KG0tPmR0b3IpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG0tPmR0b3IobSk7Cj4+ICvCoMKg
wqDCoMKgwqDCoCBpZiAoYSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWtfZnJlZShhLCBt
KTsKPj4gK8KgwqDCoCB9Cj4+ICt9Cj4+ICsKPj4gK3ZvaWQgdWtfbmV0YnVmX2ZyZWUoc3RydWN0
IHVrX25ldGJ1ZiAqbSkKPj4gK3sKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0YnVmICpuOwo+PiAr
Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKG0pOwo+PiArwqDCoMKgIFVLX0FTU0VSVCghbS0+cHJldik7
Cj4+ICsKPj4gK8KgwqDCoCB3aGlsZSAobSAhPSBOVUxMKSB7Cj4gCj4gV2hpbGUgZnJlZWluZyB0
aGUgYnVmZmVycyBpbiB0aGUgY2hhaW4sIHRoZXJlIG1heWJlIGJ1ZmZlcnMgd2l0aCBoaWdoZXIg
Cj4gcmVmZXJlbmNlIGNvdW50LiBXZSBuZWVkIHRvIGF0bGVhc3QgcHV0IGRlZmluZSBhIHdheSB0
byBpbmZvcm0gdGhlIHVzZXIgCj4gdGhhdCB3ZSBoYXZlIG5vdCBmcmVlZCBzb21lIGJ1ZmZlcnMg
aW4gdGhlIGNoYWluLgoKSSB3aWxsIGFkZCBhIGRlYnVnIG1lc3NhZ2UuCgo+PiArwqDCoMKgwqDC
oMKgwqAgbiA9IG0tPm5leHQ7Cj4+ICvCoMKgwqDCoMKgwqDCoCB1a19uZXRidWZfZnJlZV9zaW5n
bGUobSk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBtID0gbjsKPj4gK8KgwqDCoCB9Cj4+ICt9Cj4+Cj4g
Cj4gVGhhbmtzICYgUmVnYXJkcwo+IFNoYXJhbgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 21:22:16 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 21:22:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDFkC-0003sG-W6; Thu, 18 Oct 2018 21:22:12 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDFkB-0003sB-Up
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 21:22:12 +0000
X-Inumbo-ID: 11637500-d31c-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 11637500-d31c-11e8-a6a9-d7ebe60f679a;
 Thu, 18 Oct 2018 21:23:34 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id A81D8F2040;
 Thu, 18 Oct 2018 23:22:07 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id INxxz5Y26IDB; Thu, 18 Oct 2018 23:22:07 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 6C8E2F2005;
 Thu, 18 Oct 2018 23:22:03 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 18 Oct
 2018 23:22:03 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-7-git-send-email-simon.kuenzer@neclab.eu>
 <bd4e7a70-7900-535d-c52e-92ffae7be343@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181018232201871
Message-ID: <76350e7c-45bc-62aa-8cf7-003d08bb8b8d@neclab.eu>
Date: Thu, 18 Oct 2018 23:22:01 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <bd4e7a70-7900-535d-c52e-92ffae7be343@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 06/11] lib/uknetdev: Netdev
 registration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMS4xMC4xOCAxNDozMiwgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBIZWxsbyBTaW1v
biwKPiAKPiBQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgo+IAo+IE9uIDEwLzEwLzIw
MTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+IEZyb206IFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+Pgo+PiBJbnRyb2R1Y2UgaW5pdGlhbCBu
ZXRkZXYgQVBJIHN1cHBvcnRpbmcgZGV2aWNlIHJlZ2lzdHJhdGlvbi4gV2UKPj4gaW50cm9kdWNl
IHRocmVlIGhlYWRlciBmaWxlcyBhcmUgaW50cm9kdWNlZCBmb3IgZGVzY3JpYmluZyBVbmlrcmFm
dCdzCj4+IG5ldGRldiBBUEk6Cj4+IMKgwqAgdWsvbmV0ZGV2X2NvcmUuaCAtIENvcmUgZGF0YSB0
eXBlIGRlZmluaXRpb25zCj4+IMKgwqAgdWsvbmV0ZGV2X2RyaXZlci5oIC0gQVBJIGZvciBkcml2
ZXJzCj4+IMKgwqAgdWsvbmV0ZGV2LmggLSBBUEkgZm9yIG5ldHdvcmsgYXBwbGljYXRpb25zIGFu
ZCBzdGFja3MKPj4KPj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3Vlbnpl
ckBuZWNsYWIuZXU+Cj4+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNv
am9jYXJ1OTNAZ21haWwuY29tPgo+PiAtLS0KPj4gwqAgbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDEgKwo+PiDCoCBsaWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51a8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoMKgIDYgKysKPj4g
wqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmjCoMKgwqDCoMKgwqDCoCB8IDExNyAK
Pj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKgIGxpYi91a25ldGRldi9pbmNs
dWRlL3VrL25ldGRldl9jb3JlLmjCoMKgIHwgMTA1IAo+PiArKysrKysrKysrKysrKysrKysrKysr
KysrKysKPj4gwqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oIHzCoCA3
NCArKysrKysrKysrKysrKysrKysrCj4+IMKgIGxpYi91a25ldGRldi9uZXRkZXYuY8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDEyNCAKPj4gKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKPj4gwqAgNiBmaWxlcyBjaGFuZ2VkLCA0MjcgaW5zZXJ0aW9ucygrKQo+
PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgK
Pj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9j
b3JlLmgKPj4gwqAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9kcml2ZXIuaAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L25ldGRl
di5jCj4+Cj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgYi9saWIvdWtu
ZXRkZXYvTWFrZWZpbGUudWsKPj4gaW5kZXggODFhZmFlNC4uY2EwOGIyNSAxMDA2NDQKPj4gLS0t
IGEvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4+ICsrKyBiL2xpYi91a25ldGRldi9NYWtlZmls
ZS51awo+PiBAQCAtNCwzICs0LDQgQEAgQ0lOQ0xVREVTLSQoQ09ORklHX0xJQlVLTkVUREVWKcKg
wqDCoMKgwqDCoMKgICs9IAo+PiAtSSQoTElCVUtORVRERVZfQkFTRSkvaW5jbHVkZQo+PiDCoCBD
WFhJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVinCoMKgwqAgKz0gLUkkKExJQlVLTkVUREVW
X0JBU0UpL2luY2x1ZGUKPj4gwqAgTElCVUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZf
QkFTRSkvbmV0YnVmLmMKPj4gK0xJQlVLTkVUREVWX1NSQ1MteSArPSAkKExJQlVLTkVUREVWX0JB
U0UpL25ldGRldi5jCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayBi
L2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+IGluZGV4IDU5MWQ0NmMuLjY2MzQwYzUgMTAw
NjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+ICsrKyBiL2xpYi91a25l
dGRldi9leHBvcnRzeW1zLnVrCj4+IEBAIC04LDMgKzgsOSBAQCB1a19uZXRidWZfZnJlZQo+PiDC
oCB1a19uZXRidWZfZGlzY29ubmVjdAo+PiDCoCB1a19uZXRidWZfY29ubmVjdAo+PiDCoCB1a19u
ZXRidWZfYXBwZW5kCj4+ICt1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyCj4+ICt1a19uZXRkZXZfY291
bnQKPj4gK3VrX25ldGRldl9nZXQKPj4gK3VrX25ldGRldl9pZF9nZXQKPj4gK3VrX25ldGRldl9k
cnZfbmFtZV9nZXQKPj4gK3VrX25ldGRldl9zdGF0ZV9nZXQKPj4gZGlmZiAtLWdpdCBhL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIAo+PiBiL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldi5oCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAuLjFmZDQ1
YzgKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRk
ZXYuaAo+PiBAQCAtMCwwICsxLDExNyBAQAo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6
IEJTRC0zLUNsYXVzZSAqLwo+PiArLyoKPj4gKyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNp
bW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+PiArICrCoMKgwqDCoMKgwqDCoMKgwqAgUmF6dmFuIENv
am9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4+ICsgKgo+PiArICogQ29weXJp
Z2h0IChjKSAyMDEwLTIwMTcgSW50ZWwgQ29ycG9yYXRpb24KPj4gKyAqIENvcHlyaWdodCAoYykg
MjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgCj4+IHJl
c2VydmVkLgo+PiArICoKPj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+PiArICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4+ICsgKiBh
cmUgbWV0Ogo+PiArICoKPj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4+ICsgKsKgwqDCoCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4+ICsgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAo+PiArICrCoMKgwqAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIAo+PiB0aGUKPj4gKyAqwqDCoMKgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSAKPj4gZGlz
dHJpYnV0aW9uLgo+PiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhv
bGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+PiArICrCoMKgwqAgY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIAo+PiBmcm9tCj4+
ICsgKsKgwqDCoCB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgo+PiArICoKPj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCAKPj4gQ09OVFJJQlVUT1JTICJBUyBJUyIKPj4gKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIAo+PiBUTywgVEhFCj4+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCj4+IFBVUlBPU0UKPj4gKyAqIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAK
Pj4gQ09OVFJJQlVUT1JTIEJFCj4+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4+ICsgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+
PiArICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIAo+PiBCVVNJTkVTUwo+PiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAo+PiBXSEVUSEVSIElOCj4+ICsg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgCj4+IE9USEVSV0lTRSkKPj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIAo+PiBBRFZJU0VEIE9GIFRIRQo+PiArICog
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4+ICsgKgo+PiArICogVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPj4gKyAqLwo+IAo+IFdl
IHByb2JhYmx5IG5lZWQgdG8gYWRkIHRoZSBjb21taXQtaWQgZm9yIHJlZmVyZW5jZQoKWWVzLCB5
b3UgYXJlIHJpZ2h0LgoKPj4gKy8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gRFBESyBydGVfZXRo
ZGV2LmggKi8KPj4gKyNpZm5kZWYgX19VS19ORVRERVZfXwo+PiArI2RlZmluZSBfX1VLX05FVERF
Vl9fCj4+ICsKPj4gKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgo+PiArI2luY2x1ZGUgPHVr
L2Fzc2VydC5oPgo+PiArI2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+PiArCj4+ICsvKioKPj4gKyAq
IFVuaWtyYWZ0IE5ldHdvcmsgQVBJCj4+ICsgKgo+PiArICogVGhlIFVuaWtyYWZ0IG5ldGRldiBB
UEkgcHJvdmlkZXMgYSBnZW5lcmFsaXplZCBpbnRlcmZhY2UgYmV0d2VlbiAKPj4gbmV0d29yawo+
PiArICogZGV2aWNlIGRyaXZlcnMgYW5kIG5ldHdvcmsgc3RhY2sgaW1wbGVtZW50YXRpb25zIG9y
IGxvdy1sZXZlbCBuZXR3b3JrCj4+ICsgKiBhcHBsaWNhdGlvbnMuCj4+ICsgKgo+PiArICogTW9z
dCBBUEkgaW50ZXJmYWNlcyB0YWtlIGFzIHBhcmFtZXRlciBhIHJlZmVyZW5jZSB0byB0aGUgCj4+
IGNvcnJlc3BvbmRpbmcKPj4gKyAqIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIChzdHJ1Y3QgdWtf
bmV0ZGV2KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IAo+PiBvYnRhaW5lZAo+PiArICogYnkgaXRz
IElEIGJ5IGNhbGxpbmcgdWtfbmV0ZGV2X2dldCgpLiBUaGUgbmV0d29yayBhcHBsaWNhdGlvbiAK
Pj4gc2hvdWxkIHN0b3JlCj4+ICsgKiB0aGlzIHJlZmVyZW5jZSBhbmQgdXNlIGl0IGZvciBzdWJz
ZXF1ZW50IEFQSSBjYWxscy4KPj4gKyAqLwo+PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4+ICtleHRl
cm4gIkMiIHsKPj4gKyNlbmRpZgo+PiArCj4+ICsvKioKPj4gKyAqIEdldCB0aGUgbnVtYmVyIG9m
IHJlZ2lzdGVyZWQgbmV0d29yayBkZXZpY2VzLgo+PiArICoKPj4gKyAqIEByZXR1cm4KPj4gKyAq
wqDCoCAtICh1bnNpZ25lZCBpbnQpOiBudW1iZXIgb2YgbmV0d29yayBkZXZpY2VzLgo+PiArICov
Cj4+ICt1bnNpZ25lZCBpbnQgdWtfbmV0ZGV2X2NvdW50KHZvaWQpOwo+PiArCj4+ICsvKioKPj4g
KyAqIEdldCB0aGUgcmVmZXJlbmNlIHRvIGEgbmV0d29yayBkZXZpY2UgYmFzZWQgb24gaXRzIElE
Lgo+PiArICogVmFsaWQgSURzIGFyZSBpbiB0aGUgcmFuZ2Ugb2YgMCB0byAobi0xKSB3aGVyZSBu
IGlzCj4+ICsgKiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBuZXR3b3JrIGRldmljZXMuCj4+ICsg
Kgo+PiArICogQHBhcmFtIGlkCj4+ICsgKsKgwqAgVGhlIGlkZW50aWZpZXIgb2YgdGhlIG5ldHdv
cmsgZGV2aWNlIHRvIGNvbmZpZ3VyZS4KPj4gKyAqIEByZXR1cm4KPj4gKyAqwqDCoCAtIChOVUxM
KTogZGV2aWNlIG5vdCBhdmFpbGFibGUKPj4gKyAqwqDCoCAtIChzdHJ1Y3QgdWtfbmV0ZGV2ICop
OiByZWZlcmVuY2UgdG8gbmV0d29yayBkZXZpY2UKPj4gKyAqLwo+PiArc3RydWN0IHVrX25ldGRl
diAqdWtfbmV0ZGV2X2dldCh1bnNpZ25lZCBpbnQgaWQpOwo+PiArCj4+ICsvKioKPj4gKyAqIFJl
dHVybnMgdGhlIGlkIG9mIGEgbmV0d29yayBkZXZpY2UKPj4gKyAqCj4+ICsgKiBAcGFyYW0gZGV2
Cj4+ICsgKsKgwqAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+PiArICogQHJldHVybgo+
PiArICrCoMKgIC0gKD49MCk6IERldmljZSBJRAo+PiArICovCj4+ICt1aW50MTZfdCB1a19uZXRk
ZXZfaWRfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4+ICsKPj4gKy8qKgo+PiArICogUmV0
dXJucyB0aGUgZHJpdmVyIG5hbWUgb2YgYSBuZXR3b3JrIGRldmljZS4KPj4gKyAqIFRoZSBuYW1l
IG1pZ2h0IGJlIHNldCB0byBOVUxMCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPj4gKyAqIEByZXR1cm4KPj4gKyAqwqDCoCAt
IChOVUxMKTogaWYgbm8gbmFtZSBpcyBkZWZpbmVkLgo+PiArICrCoMKgIC0gKGNvbnN0IGNoYXIg
Kik6IFJlZmVyZW5jZSB0byBzdHJpbmcgaWYgbmFtZSBpcyBhdmFpbGFibGUuCj4+ICsgKi8KPj4g
K2NvbnN0IGNoYXIgKnVrX25ldGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2
KTsKPj4gKwo+PiArLyoqCj4+ICsgKiBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgbmV0
d29yayBkZXZpY2UuCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKgIFRoZSBVbmlr
cmFmdCBOZXR3b3JrIERldmljZS4KPj4gKyAqIEByZXR1cm4KPj4gKyAqwqDCoCAtIChlbnVtIHVr
X25ldGRldl9zdGF0ZSk6IGN1cnJlbnQgZGV2aWNlIHN0YXRlCj4+ICsgKi8KPj4gK2VudW0gdWtf
bmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsK
Pj4gKwo+PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4+ICt9Cj4+ICsjZW5kaWYKPj4gKwo+PiArI2Vu
ZGlmIC8qIF9fVUtfTkVUREVWX18gKi8KPj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNs
dWRlL3VrL25ldGRldl9jb3JlLmggCj4+IGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwLi5lZWM0NDFl
Cj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaAo+PiBAQCAtMCwwICsxLDEwNSBAQAo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZp
ZXI6IEJTRC0zLUNsYXVzZSAqLwo+PiArLyoKPj4gKyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIg
PHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+PiArICrCoMKgwqDCoMKgwqDCoMKgwqAgUmF6dmFu
IENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4+ICsgKgo+PiArICogQ29w
eXJpZ2h0IChjKSAyMDE3IEludGVsIENvcnBvcmF0aW9uCj4+ICsgKiBDb3B5cmlnaHQgKGMpIDIw
MTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIAo+PiByZXNl
cnZlZC4KPj4gKyAqCj4+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+PiArICogYXJl
IG1ldDoKPj4gKyAqCj4+ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+PiArICrCoMKgwqAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+PiArICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKPj4gKyAqwqDCoMKgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiAKPj4gdGhlCj4+ICsgKsKgwqDCoCBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgCj4+IGRpc3Ry
aWJ1dGlvbi4KPj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xk
ZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPj4gKyAqwqDCoMKgIGNvbnRyaWJ1dG9ycyBtYXkgYmUg
dXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCAKPj4gZnJvbQo+PiAr
ICrCoMKgwqAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KPj4gKyAqCj4+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgCj4+IENPTlRSSUJVVE9SUyAiQVMgSVMiCj4+ICsgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCAKPj4gVE8sIFRIRQo+PiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIAo+PiBQVVJQT1NFCj4+ICsgKiBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCj4+
IENPTlRSSUJVVE9SUyBCRQo+PiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+PiArICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPj4g
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiAKPj4gQlVTSU5FU1MKPj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKPj4gV0hFVEhFUiBJTgo+PiArICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIAo+PiBPVEhFUldJU0UpCj4+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiAKPj4gQURWSVNFRCBPRiBUSEUKPj4gKyAqIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+PiArICoKPj4gKyAqIFRISVMgSEVBREVSIE1BWSBO
T1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4+ICsgKi8KPiAKPiBXZSBw
cm9iYWJseSBuZWVkIHRvIGFkZCB0aGUgY29tbWl0LWlkIGZvciByZWZlcmVuY2UKPj4gKy8qIFRh
a2VuIGFuZCBhZGFwdGVkIGZyb20gRFBESyBydGVfZXRoZGV2X2NvcmUuaCAqLwo+PiArI2lmbmRl
ZiBfX1VLX05FVERFVl9DT1JFX18KPj4gKyNkZWZpbmUgX19VS19ORVRERVZfQ09SRV9fCj4+ICsK
Pj4gKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KPj4gKyNpbmNsdWRlIDxzdGRpbnQuaD4KPj4gKyNp
bmNsdWRlIDxlcnJuby5oPgo+PiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+PiArI2luY2x1ZGUg
PHVrL25ldGJ1Zi5oPgo+PiArI2luY2x1ZGUgPHVrL2xpc3QuaD4KPj4gKyNpbmNsdWRlIDx1ay9h
bGxvYy5oPgo+PiArI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KPj4gKwo+PiArLyoqCj4+ICsg
KiBVbmlrcmFmdCBuZXR3b3JrIEFQSSBjb21tb24gZGVjbGFyYXRpb25zLgo+PiArICoKPj4gKyAq
IFRoaXMgaGVhZGVyIGNvbnRhaW5zIGFsbCBBUEkgZGF0YSB0eXBlcy4gU29tZSBvZiB0aGVtIGFy
ZSBwYXJ0IG9mIHRoZQo+PiArICogcHVibGljIEFQSSBhbmQgc29tZSBhcmUgcGFydCBvZiB0aGUg
aW50ZXJuYWwgQVBJLgo+PiArICoKPj4gKyAqIFRoZSBkZXZpY2UgZGF0YSBhbmQgb3BlcmF0aW9u
cyBhcmUgc2VwYXJhdGVkLiBUaGlzIHNwbGl0IGFsbG93cyB0aGUKPj4gKyAqIGZ1bmN0aW9uIHBv
aW50ZXIgYW5kIGRyaXZlciBkYXRhIHRvIGJlIHBlci1wcm9jZXNzLCB3aGlsZSB0aGUgYWN0dWFs
Cj4+ICsgKiBjb25maWd1cmF0aW9uIGRhdGEgZm9yIHRoZSBkZXZpY2UgaXMgc2hhcmVkLgo+PiAr
ICovCj4+ICsKPj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+PiArZXh0ZXJuICJDIiB7Cj4+ICsjZW5k
aWYKPj4gKwo+PiArc3RydWN0IHVrX25ldGRldjsKPj4gK1VLX1RBSUxRX0hFQUQodWtfbmV0ZGV2
X2xpc3QsIHN0cnVjdCB1a19uZXRkZXYpOwo+PiArCj4+ICsKPj4gKy8qKgo+PiArICogRW51bSB0
byBkZXNjcmliZSBwb3NzaWJsZSBzdGF0ZXMgb2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2Uu
Cj4+ICsgKi8KPj4gK2VudW0gdWtfbmV0ZGV2X3N0YXRlIHsKPj4gK8KgwqDCoCBVS19ORVRERVZf
VU5SRUdJU1RFUkVEID0gMCwKPj4gK8KgwqDCoCBVS19ORVRERVZfVU5DT05GSUdVUkVELAo+PiAr
wqDCoMKgIFVLX05FVERFVl9DT05GSUdVUkVELAo+PiArwqDCoMKgIFVLX05FVERFVl9SVU5OSU5H
LAo+PiArfTsKPj4gKwo+PiArCj4+ICsvKioKPj4gKyAqIEBpbnRlcm5hbAo+PiArICogbGlidWtu
ZXRkZXYgaW50ZXJuYWwgZGF0YSBhc3NvY2lhdGVkIHdpdGggZWFjaCBuZXR3b3JrIGRldmljZS4K
Pj4gKyAqLwo+PiArc3RydWN0IHVrX25ldGRldl9kYXRhIHsKPj4gK8KgwqDCoCBlbnVtIHVrX25l
dGRldl9zdGF0ZSBzdGF0ZTsKPj4gKwo+PiArwqDCoMKgIGNvbnN0IHVpbnQxNl90wqDCoMKgwqDC
oMKgIGlkO8KgwqDCoCAvKio8IElEIGlzIGFzc2lnbmVkIGR1cmluZyAKPj4gcmVnaXN0cmF0aW9u
ICovCj4+ICvCoMKgwqAgY29uc3QgY2hhcsKgwqDCoMKgwqDCoMKgwqDCoMKgICpkcnZfbmFtZTsK
Pj4gK307Cj4+ICsKPj4gKy8qKgo+PiArICogTkVUREVWCj4+ICsgKiBBIHN0cnVjdHVyZSB1c2Vk
IHRvIGludGVyYWN0IHdpdGggYSBuZXR3b3JrIGRldmljZS4KPj4gKyAqLwo+PiArc3RydWN0IHVr
X25ldGRldiB7Cj4+ICvCoMKgwqAgLyoqIFBvaW50ZXIgdG8gQVBJLWludGVybmFsIHN0YXRlIGRh
dGEuICovCj4+ICvCoMKgwqAgc3RydWN0IHVrX25ldGRldl9kYXRhwqDCoMKgwqDCoMKgICpfZGF0
YTsKPj4gKwo+PiArwqDCoMKgIFVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXYpIF9saXN0
Owo+PiArfTsKPj4gKwo+PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4+ICt9Cj4+ICsjZW5kaWYKPj4g
Kwo+PiArI2VuZGlmIC8qIF9fVUtfTkVUREVWX0NPUkVfXyAqLwo+PiBkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oIAo+PiBiL2xpYi91a25ldGRldi9p
bmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRl
eCAwMDAwMDAwLi5hYzhjZTYxCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvbGliL3VrbmV0ZGV2
L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4+IEBAIC0wLDAgKzEsNzQgQEAKPj4gKy8qIFNQ
RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPj4gKy8qCj4+ICsgKiBBdXRo
b3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPj4gKyAqCj4+ICsg
KiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBB
bGwgcmlnaHRzIAo+PiByZXNlcnZlZC4KPj4gKyAqCj4+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPj4gKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwo+PiArICogYXJlIG1ldDoKPj4gKyAqCj4+ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+PiArICrCoMKg
wqAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgo+PiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPj4gKyAqwqDCoMKgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiAKPj4gdGhlCj4+
ICsgKsKgwqDCoCBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgCj4+IGRpc3RyaWJ1dGlvbi4KPj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2Yg
dGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPj4gKyAqwqDCoMKgIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCAKPj4gZnJvbQo+PiArICrCoMKgwqAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPj4gKyAqCj4+ICsgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgCj4+IENPTlRSSUJVVE9SUyAi
QVMgSVMiCj4+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCAKPj4gVE8sIFRIRQo+PiArICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIAo+PiBQ
VVJQT1NFCj4+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVCBIT0xERVIgT1IgCj4+IENPTlRSSUJVVE9SUyBCRQo+PiArICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+PiAr
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKPj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiAKPj4gQlVTSU5FU1MKPj4gKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCAKPj4g
V0hFVEhFUiBJTgo+PiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIAo+PiBPVEhFUldJU0UpCj4+ICsgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiAKPj4gQURWSVNF
RCBPRiBUSEUKPj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+PiArICoKPj4gKyAq
IFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVku
Cj4+ICsgKi8KPj4gKyNpZm5kZWYgX19VS19ORVRERVZfRFJJVkVSX18KPj4gKyNkZWZpbmUgX19V
S19ORVRERVZfRFJJVkVSX18KPj4gKwo+PiArI2luY2x1ZGUgPHVrL25ldGRldl9jb3JlLmg+Cj4+
ICsjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+Cj4+ICsKPj4gKy8qKgo+PiArICogVW5pa3JhZnQgbmV0
d29yayBkcml2ZXIgQVBJLgo+PiArICoKPj4gKyAqIFRoaXMgaGVhZGVyIGNvbnRhaW5zIGFsbCBB
UEkgZnVuY3Rpb25zIHRoYXQgYXJlIHN1cHBvc2VkIHRvIGJlIGNhbGxlZAo+PiArICogYnkgYSBu
ZXR3b3JrIGRldmljZSBkcml2ZXIuCj4+ICsgKi8KPj4gKwo+PiArI2lmZGVmIF9fY3BsdXNwbHVz
Cj4+ICtleHRlcm4gIkMiIHsKPj4gKyNlbmRpZgo+PiArCj4+ICsvKioKPj4gKyAqIEFkZHMgYSBV
bmlrcmFmdCBuZXR3b3JrIGRldmljZSB0byB0aGUgZGV2aWNlIGxpc3QuCj4+ICsgKiBUaGlzIHNo
b3VsZCBiZSBjYWxsZWQgd2hlbmV2ZXIgYSBkcml2ZXIgYWRkcyBhIG5ldyBmb3VuZCBkZXZpY2Uu
Cj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKgIFN0cnVjdCB0byB1bmlrcmFmdCBu
ZXR3b3JrIGRldmljZSB0aGF0IHNoYWxsIGJlIHJlZ2lzdGVyZWQKPj4gKyAqIEBwYXJhbSBhCj4+
ICsgKsKgwqAgQWxsb2NhdG9yIHRvIGJlIHVzZSBmb3IgbGlidWtuZXRkZXYgcHJpdmF0ZSBkYXRh
IChkZXYtPl9kYXRhKQo+PiArICogQHBhcmFtIGRydl9uYW1lCj4+ICsgKsKgwqAgKE9wdGlvbmFs
KSBkcml2ZXIgbmFtZQo+PiArICrCoMKgIFRoZSBtZW1vcnkgZm9yIHRoaXMgc3RyaW5nIGhhcyB0
byBzdGF5IGF2YWlsYWJsZSBhcyBsb25nIGFzIHRoZQo+PiArICrCoMKgIGRldmljZSBpcyByZWdp
c3RlcmVkLgo+PiArICogQHJldHVybgo+PiArICrCoMKgIC0gKC1FTk9NRU0pOiBBbGxvY2F0aW9u
IG9mIHByaXZhdGUKPiAKPiBTaG91bGQgaXQgbm90IGJlID49MAoKWWVzLgoKPj4gKyAqwqDCoCAt
ICg+MCk6IE5ldHdvcmsgZGV2aWNlIElEIG9uIHN1Y2Nlc3MKPj4gKyAqLwo+PiAraW50IHVrX25l
dGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2Mg
KmEsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKmRydl9uYW1l
KTsKPj4gKwo+PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4+ICt9Cj4+ICsjZW5kaWYKPj4gKwo+PiAr
I2VuZGlmIC8qIF9fVUtfTkVUREVWX0RSSVZFUl9fICovCj4+IGRpZmYgLS1naXQgYS9saWIvdWtu
ZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPj4gbmV3IGZpbGUgbW9kZSAx
MDA2NDQKPj4gaW5kZXggMDAwMDAwMC4uYWI4YWE0ZAo+PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBi
L2xpYi91a25ldGRldi9uZXRkZXYuYwo+PiBAQCAtMCwwICsxLDEyNCBAQAo+PiArLyogU1BEWC1M
aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+PiArLyoKPj4gKyAqIEF1dGhvcnM6
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+PiArICrCoMKgwqDCoMKg
wqDCoMKgwqAgUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4+
ICsgKgo+PiArICogQ29weXJpZ2h0IChjKSAyMDE3LTIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVD
IENvcnBvcmF0aW9uLgo+PiArICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KPj4gKyAqCj4+ICsgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKPj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+PiArICogYXJlIG1ldDoKPj4gKyAqCj4+ICsgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAo+PiArICrCoMKgwqAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+PiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPj4gKyAqwqDCoMKg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiAKPj4gdGhlCj4+ICsgKsKgwqDCoCBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgCj4+IGRpc3RyaWJ1dGlvbi4KPj4gKyAqIDMuIE5l
aXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBp
dHMKPj4gKyAqwqDCoMKgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHBy
b21vdGUgcHJvZHVjdHMgZGVyaXZlZCAKPj4gZnJvbQo+PiArICrCoMKgwqAgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPj4gKyAqCj4+ICsg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Cj4+IENPTlRSSUJVVE9SUyAiQVMgSVMiCj4+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCAKPj4gVE8sIFRIRQo+PiAr
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIAo+PiBQVVJQT1NFCj4+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCj4+IENPTlRSSUJVVE9SUyBCRQo+PiAr
ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgo+PiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPj4gKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiAKPj4gQlVTSU5F
U1MKPj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCAKPj4gV0hFVEhFUiBJTgo+PiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIAo+PiBPVEhFUldJU0UpCj4+
ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiAKPj4gQURWSVNFRCBPRiBUSEUKPj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgo+PiArICoKPj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1P
RElGSUVEIElOIEFOWSBXQVkuCj4+ICsgKi8KPj4gKyNpbmNsdWRlIDxzdHJpbmcuaD4KPj4gKyNp
bmNsdWRlIDxzdGRpby5oPgo+PiArI2luY2x1ZGUgPHVrL25ldGRldi5oPgo+PiArI2luY2x1ZGUg
PHVrL3ByaW50Lmg+Cj4+ICsKPj4gK3N0cnVjdCB1a19uZXRkZXZfbGlzdCB1a19uZXRkZXZfbGlz
dCA9Cj4+ICvCoMKgwqAgVUtfVEFJTFFfSEVBRF9JTklUSUFMSVpFUih1a19uZXRkZXZfbGlzdCk7
Cj4+ICtzdGF0aWMgdWludDE2X3QgbmV0ZGV2X2NvdW50Owo+PiArCj4+ICtzdGF0aWMgc3RydWN0
IHVrX25ldGRldl9kYXRhICpfYWxsb2NfZGF0YShzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDE2X3QgbmV0ZGV2X2lk
LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNo
YXIgKmRydl9uYW1lKQo+PiArewo+PiArwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfZGF0YSAqZGF0
YTsKPj4gKwo+PiArwqDCoMKgIGRhdGEgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCpkYXRhKSk7Cj4+
ICvCoMKgwqAgaWYgKCFkYXRhKQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7Cj4+ICsK
Pj4gK8KgwqDCoCBkYXRhLT5kcnZfbmFtZSA9IGRydl9uYW1lOwo+PiArwqDCoMKgIGRhdGEtPnN0
YXRlwqDCoMKgID0gVUtfTkVUREVWX1VOQ09ORklHVVJFRDsKPj4gKwo+PiArwqDCoMKgIC8qIFRo
aXMgaXMgdGhlIG9ubHkgcGxhY2Ugd2hlcmUgd2Ugc2V0IHRoZSBkZXZpY2UgSUQ7Cj4+ICvCoMKg
wqDCoCAqIGR1cmluZyB0aGUgcmVzdCBvZiB0aGUgZGV2aWNlJ3MgbGlmZSB0aW1lIHRoaXMgSUQg
aXMgcmVhZC1vbmx5Cj4+ICvCoMKgwqDCoCAqLwo+PiArwqDCoMKgICooREVDT05TVCh1aW50MTZf
dCAqLCAmZGF0YS0+aWQpKSA9IG5ldGRldl9pZDsKPj4gKwo+PiArwqDCoMKgIHJldHVybiBkYXRh
Owo+PiArfQo+PiArCj4+ICtpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgY29uc3QgY2hhciAqZHJ2X25hbWUpCj4+ICt7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRl
dik7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKCFkZXYtPl9kYXRhKTsKPj4gKwo+PiArwqDCoMKgIGRl
di0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQswqAgZHJ2X25hbWUpOwo+PiAr
wqDCoMKgIGlmICghZGV2LT5fZGF0YSkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PTUVN
Owo+PiArCj4+ICvCoMKgwqAgVUtfVEFJTFFfSU5TRVJUX1RBSUwoJnVrX25ldGRldl9saXN0LCBk
ZXYsIF9saXN0KTsKPj4gK8KgwqDCoCB1a19wcl9pbmZvKCJSZWdpc3RlcmVkIG5ldGRldiUiUFJJ
dTE2IjogJXAgKCVzKVxuIiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldl9jb3VudCwg
ZGV2LCBkcnZfbmFtZSk7Cj4+ICsKPj4gK8KgwqDCoCByZXR1cm4gbmV0ZGV2X2NvdW50Kys7Cj4+
ICt9Cj4+ICsKPj4gK3Vuc2lnbmVkIGludCB1a19uZXRkZXZfY291bnQodm9pZCkKPj4gK3sKPj4g
K8KgwqDCoCByZXR1cm4gKHVuc2lnbmVkIGludCkgbmV0ZGV2X2NvdW50Owo+PiArfQo+PiArCj4+
ICtzdHJ1Y3QgdWtfbmV0ZGV2ICp1a19uZXRkZXZfZ2V0KHVuc2lnbmVkIGludCBpZCkKPj4gK3sK
Pj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXY7Cj4+ICsKPj4gK8KgwqDCoCBVS19UQUlM
UV9GT1JFQUNIKGRldiwgJnVrX25ldGRldl9saXN0LCBfbGlzdCkgewo+PiArwqDCoMKgwqDCoMKg
wqAgVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+PiArCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoZGV2
LT5fZGF0YS0+aWQgPT0gaWQpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBkZXY7
Cj4+ICvCoMKgwqAgfQo+PiArwqDCoMKgIHJldHVybiBOVUxMOwo+PiArfQo+PiArCj4+ICt1aW50
MTZfdCB1a19uZXRkZXZfaWRfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldikKPj4gK3sKPj4gK8Kg
wqDCoCBVS19BU1NFUlQoZGV2KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+
ICsKPj4gK8KgwqDCoCByZXR1cm4gZGV2LT5fZGF0YS0+aWQ7Cj4+ICt9Cj4+ICsKPj4gK2NvbnN0
IGNoYXIgKnVrX25ldGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+PiAr
ewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPl9k
YXRhKTsKPj4gKwo+PiArwqDCoMKgIHJldHVybiBkZXYtPl9kYXRhLT5kcnZfbmFtZTsKPj4gK30K
Pj4gKwo+PiArZW51bSB1a19uZXRkZXZfc3RhdGUgdWtfbmV0ZGV2X3N0YXRlX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYpCj4+ICt7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldik7Cj4+ICsKPiAK
PiBUaGlzIGNvbmRpdGlvbiBiZWxvdyBzZWVtcyBpbmNvbnNpc3RlbnQgd2l0aCB0aGUgZ2V0IHdo
ZXJlIHdlCj4gVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+IAo+IEkgYW0gbm90IHN1cmUgaWYgd2Ug
d291bGQgaGF2ZSBhIGNhc2Ugd2hlcmUgdGhlIG5ldGRldiByZWZlcmVuY2UgZXhpc3QgCj4gd2l0
aG91dCBhIHZhbGlkIF9kYXRhLgoKUmlnaHQsIEkgd2lsbCBjaGFuZ2UgaXQuCgo+PiArwqDCoMKg
IGlmICghZGV2LT5fZGF0YSkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBVS19ORVRERVZfVU5S
RUdJU1RFUkVEOwo+PiArwqDCoMKgIHJldHVybiBkZXYtPl9kYXRhLT5zdGF0ZTsKPj4gK30KPj4K
PiBUaGFua3MgJiBSZWdhcmRzCj4gU2hhcmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 22:49:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 22:49:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDH75-0002AE-4h; Thu, 18 Oct 2018 22:49:55 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDH73-0002A9-TF
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 22:49:53 +0000
X-Inumbo-ID: b9842de0-d327-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b9842de0-d327-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 00:47:01 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 92440F2040;
 Fri, 19 Oct 2018 00:49:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 4x0dKVxQkIA6; Fri, 19 Oct 2018 00:49:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 4BB3BF2005;
 Fri, 19 Oct 2018 00:49:43 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 00:49:42 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-8-git-send-email-simon.kuenzer@neclab.eu>
 <2568ddfe-da1f-f9fe-ef58-1f7e1cd27ca7@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181019004942260
Message-ID: <ce5191ce-02a3-3baf-10f6-f3e472f20829@neclab.eu>
Date: Fri, 19 Oct 2018 00:49:42 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <2568ddfe-da1f-f9fe-ef58-1f7e1cd27ca7@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 07/11] lib/uknetdev: Netdev
 initialization
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTEuMTAuMTggMTY6MzYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gSGVsbG8gU2ltb24s
Cj4gCj4gUGxlYXNlIGZpbmQgbXkgY29tbWVudHMgaW5saW5lLgo+IAo+IE9uIDEwLzEwLzIwMTgg
MDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+IEZyb206IFJhenZhbiBDb2pvY2FydSA8
cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+Pgo+PiBJbnRyb2R1Y2UgYSAnRFBESyBSVEUg
RXRoZXJuZXQnIGluc3BpcmVkIEFQSSBmb3IgaW5pdGlhbGl6aW5nIGEKPj4gVW5pa3JhZnQgbmV0
d29yayBkZXZpY2UuIFRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25lIGluIHRoZSBmb2xsb3dpbmcK
Pj4gb3JkZXI6ICgxKSBDb25maWd1cmUgbWFpbiBhc3BlY3RzIG9mIGRldmljZSAoZS5nLiwgbnVt
YmVyIG9mCj4+IHF1ZXVlcyksICgyKSBjb25maWd1cmUgZWFjaCB0cmFuc21pdCBhbmQgcmVjZWl2
ZSBxdWV1ZSwgYW5kICgzKSBzdGFydAo+PiB0aGUgZGV2aWNlLiBXZSBhbHNvIGludHJvZHVjZSBh
biBpbnRlcmZhY2UgZm9yIHF1ZXJ5aW5nIHRoZSB1bmRlcmx5aW5nCj4+IGRldmljZSBjYXBhYmls
aXRpZXMgZm9yIGVhY2ggY29uZmlndXJhdGlvbiBzdGVwLgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBT
aW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPj4gU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4+IC0tLQo+PiDC
oCBsaWIvdWtuZXRkZXYvQ29uZmlnLnVrwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzC
oCAyOCArKystCj4+IMKgIGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8wqDCoCA4ICsKPj4gwqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmjC
oMKgwqDCoMKgIHwgMTc0ICsrKysrKysrKysrKysrKysrKysrCj4+IMKgIGxpYi91a25ldGRldi9p
bmNsdWRlL3VrL25ldGRldl9jb3JlLmggfCAxOTYgKysrKysrKysrKysrKysrKysrKysrKysKPj4g
wqAgbGliL3VrbmV0ZGV2L25ldGRldi5jwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
fCAyODkgCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4gwqAgNSBmaWxl
cyBjaGFuZ2VkLCA2OTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+Pgo+PiBkaWZmIC0t
Z2l0IGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51ayBiL2xpYi91a25ldGRldi9Db25maWcudWsKPj4g
aW5kZXggODc4YjgyMi4uNjE4ZThlNiAxMDA2NDQKPj4gLS0tIGEvbGliL3VrbmV0ZGV2L0NvbmZp
Zy51awo+PiArKysgYi9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCj4+IEBAIC0xLDYgKzEsMzIgQEAK
Pj4gLWNvbmZpZyBMSUJVS05FVERFVgo+PiArbWVudWNvbmZpZyBMSUJVS05FVERFVgo+PiDCoMKg
wqDCoMKgIGJvb2wgInVrbmV0ZGV2OiBOZXR3b3JrIGRyaXZlciBpbnRlcmZhY2UiCj4+IMKgwqDC
oMKgwqAgZGVmYXVsdCBuCj4+IMKgwqDCoMKgwqAgc2VsZWN0IExJQk5PTElCQyBpZiAhSEFWRV9M
SUJDCj4+IMKgwqDCoMKgwqAgc2VsZWN0IExJQlVLREVCVUcKPj4gwqDCoMKgwqDCoCBzZWxlY3Qg
TElCVUtBTExPQwo+PiArCj4+ICtpZiBMSUJVS05FVERFVgo+PiArwqDCoMKgIGNvbmZpZyBMSUJV
S05FVERFVl9NQVhOQlFVRVVFUwo+PiArwqDCoMKgwqDCoMKgwqAgaW50ICJNYXhpbXVtIG51bWJl
ciBvZiByZWNlaXZlLXRyYW5zbWl0IHF1ZXVlIHBhaXJzIgo+PiArwqDCoMKgwqDCoMKgwqAgZGVm
YXVsdCAxCj4+ICvCoMKgwqDCoMKgwqDCoCBoZWxwCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFVwcGVyIGxpbWl0IGZvciBzdXBwb3J0ZWQgbnVtYmVyIG9mIHRyYW5zbWl0IGFuZCByZWNlaXZl
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHF1ZXVlcyB3aXRoIHRoZSB1a25ldGRldiBBUEku
IFBsZWFzZSBub3RlIHRoYXQgZHJpdmVycwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBoYXZl
IHRoZWlyIG93biBsaW1pdHMgKHVzZSBBUEkgZ2V0dGVycyB0byBmaWd1cmUgb3V0Cj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGRldmljZSBjYXBhYmlsaXRpZXMpLiBBcyBleGFtcGxlLCBvbmUg
ZHJpdmVyIG1heSBzdXBwb3J0Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG9ubHkgYSBzaW5n
bGUgcmVjZWl2ZS10cmFuc21pdCBxdWV1ZSBwYWlyIGFsdGhvdWdoCj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHVrbmV0ZGV2IHdvdWxkIHN1cHBvcnQgMTYuCj4+ICsKPj4gK8KgwqDCoCBjb25m
aWcgTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPj4gK8KgwqDCoMKgwqDCoMKgIGJvb2wg
IkRpc3BhdGNoZXIgdGhyZWFkcyBmb3IgZXZlbnQgY2FsbGJhY2tzIgo+PiArwqDCoMKgwqDCoMKg
wqAgc2VsZWN0IExJQlVLU0NIRUQKPj4gK8KgwqDCoMKgwqDCoMKgIHNlbGVjdCBMSUJVS0xPQ0sK
Pj4gK8KgwqDCoMKgwqDCoMKgIHNlbGVjdCBMSUJVS0xPQ0tfU0VNQVBIT1JFCj4+ICvCoMKgwqDC
oMKgwqDCoCBkZWZhdWx0IG4KPj4gK8KgwqDCoMKgwqDCoMKgIGhlbHAKPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgRXZlbnQgY2FsbGJhY2tzIGFyZSBkaXNwYXRjaGVkIGluIGEgYm90dG9tIGhh
bGYKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGhyZWFkIGNvbnRleHQgaW5zdGVhZCBvZiB0
aGUgZGV2aWNlIGludGVycnVwdCBjb250ZXh0Lgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBX
aGVuIHRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYSBkaXNwYXRjaGVyIHRocmVhZCBpcwo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBhbGxvY2F0ZWQgZm9yIGVhY2ggY29uZmlndXJlZCByZWNlaXZl
IHF1ZXVlLgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaWJ1a3NjaGVkIGlzIHJlcXVpcmVk
IGZvciB0aGlzIG9wdGlvbi4KPj4gK2VuZGlmCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+IGluZGV4IDY2MzQw
YzUuLmM3MzNkODEgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+
ICsrKyBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4+IEBAIC0xNCwzICsxNCwxMSBAQCB1
a19uZXRkZXZfZ2V0Cj4+IMKgIHVrX25ldGRldl9pZF9nZXQKPj4gwqAgdWtfbmV0ZGV2X2Rydl9u
YW1lX2dldAo+PiDCoCB1a19uZXRkZXZfc3RhdGVfZ2V0Cj4+ICt1a19uZXRkZXZfaW5mb19nZXQK
Pj4gK3VrX25ldGRldl9laW5mb19nZXQKPj4gK3VrX25ldGRldl9yeHFfaW5mb19nZXQKPj4gK3Vr
X25ldGRldl90eHFfaW5mb19nZXQKPj4gK3VrX25ldGRldl9jb25maWd1cmUKPj4gK3VrX25ldGRl
dl9yeHFfY29uZmlndXJlCj4+ICt1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZQo+PiArdWtfbmV0ZGV2
X3N0YXJ0Cj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAK
Pj4gYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+PiBpbmRleCAxZmQ0NWM4Li43
MjIzYmE3IDEwMDY0NAo+PiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+
PiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+PiBAQCAtNTIsNiArNTIs
MjIgQEAKPj4gwqDCoCAqIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIChzdHJ1Y3QgdWtfbmV0ZGV2
KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IAo+PiBvYnRhaW5lZAo+PiDCoMKgICogYnkgaXRzIElE
IGJ5IGNhbGxpbmcgdWtfbmV0ZGV2X2dldCgpLiBUaGUgbmV0d29yayBhcHBsaWNhdGlvbiAKPj4g
c2hvdWxkIHN0b3JlCj4+IMKgwqAgKiB0aGlzIHJlZmVyZW5jZSBhbmQgdXNlIGl0IGZvciBzdWJz
ZXF1ZW50IEFQSSBjYWxscy4KPj4gKyAqCj4+ICsgKiBUaGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5
IHRoZSBVbmlrcmFmdCBORVQgQVBJIHRvIHNldHVwIGEgZGV2aWNlCj4+ICsgKiBtdXN0IGJlIGlu
dm9rZWQgaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKPj4gKyAqwqDCoMKgwqAgLSB1a19uZXRkZXYK
Pj4gKyAqwqDCoMKgwqAgLSB1a19uZXRkZXZfY29uZmlndXJlKCkKPj4gKyAqwqDCoMKgwqAgLSB1
a19uZXRkZXZfdHhxX2NvbmZpZ3VyZSgpCj4+ICsgKsKgwqDCoMKgIC0gdWtfbmV0ZGV2X3J4cV9j
b25maWd1cmUoKQo+PiArICrCoMKgwqDCoCAtIHVrX25ldGRldl9zdGFydCgpCj4+ICsgKiBUaGUg
dHJhbnNtaXQgYW5kIHJlY2VpdmUgZnVuY3Rpb25zIHNob3VsZCBub3QgYmUgaW52b2tlZCB3aGVu
IHRoZQo+PiArICogZGV2aWNlIGlzIG5vdCBzdGFydGVkLgo+PiArICoKPj4gKyAqIFRoZXJlIGFy
ZSA0IHN0YXRlcyBpbiB3aGljaCBhIG5ldHdvcmsgZGV2aWNlIGNhbiBiZSBmb3VuZDoKPj4gKyAq
wqDCoMKgwqAgLSBVS19ORVRERVZfVU5SRUdJU1RFUkVECj4+ICsgKsKgwqDCoMKgIC0gVUtfTkVU
REVWX1VOQ09ORklHVVJFRAo+PiArICrCoMKgwqDCoCAtIFVLX05FVERFVl9DT05GSUdVUkVECj4+
ICsgKsKgwqDCoMKgIC0gVUtfTkVUREVWX1JVTk5JTkcKPj4gwqDCoCAqLwo+PiDCoCAjaWZkZWYg
X19jcGx1c3BsdXMKPj4gwqAgZXh0ZXJuICJDIiB7Cj4+IEBAIC0xMTAsNiArMTI2LDE2NCBAQCBj
b25zdCBjaGFyICp1a19uZXRkZXZfZHJ2X25hbWVfZ2V0KHN0cnVjdCAKPj4gdWtfbmV0ZGV2ICpk
ZXYpOwo+PiDCoMKgICovCj4+IMKgIGVudW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0
ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPj4gKy8qKgo+PiArICogUXVlcnkgZGV2aWNl
IGNhcGFiaWxpdGllcy4KPj4gKyAqIEluZm9ybWF0aW9uIHRoYXQgaXMgdXNlZnVsIGZvciBkZXZp
Y2UgaW5pdGlhbGl6YXRpb24gKGUuZy4sCj4+ICsgKiBtYXhpbXVtIG51bWJlciBvZiBzdXBwb3J0
ZWQgUlgvVFggcXVldWVzKS4KPj4gKyAqCj4+ICsgKiBAcGFyYW0gZGV2Cj4+ICsgKsKgwqAgVGhl
IFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+PiArICogQHBhcmFtIGRldl9pbmZvCj4+ICsgKsKg
wqAgQSBwb2ludGVyIHRvIGEgc3RydWN0dXJlIG9mIHR5cGUgKnVrX25ldGRldl9pbmZvKiB0byBi
ZSBmaWxsZWQgd2l0aAo+PiArICrCoMKgIHRoZSBjb250ZXh0dWFsIGluZm9ybWF0aW9uIG9mIHRo
ZSBuZXR3b3JrIGRldmljZS4KPj4gKyAqLwo+PiArdm9pZCB1a19uZXRkZXZfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtf
bmV0ZGV2X2luZm8gKmRldl9pbmZvKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBFeHRyYSBpbmZvcm1h
dGlvbiBxdWVyeSBpbnRlcmZhY2UuCj4+ICsgKiBUaGUgdXNlciBjYW4gcXVlcnkgdGhlIGRyaXZl
ciBmb3IgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKGUuZywKPj4gKyAqIElQIGFkZHJlc3Mg
Y29uZmlndXJhdGlvbiBwcmVmZXJyZWQgYnkgaHlwZXJ2aXNvciksIHVzaW5nIGEgbnVtYmVyIG9m
Cj4+ICsgKiBwcmUtZGVmaW5lZCBjb25maWd1cmF0aW9uIHR5cGVzLgo+PiArICoKPj4gKyAqIElm
IHRoZSBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IHRoZSBwcm92aWRlZCBkYXRhIHR5cGUsIGl0IG11
c3QgCj4+IHJldHVybiBOVUxMLgo+PiArICoKPj4gKyAqIFRoaXMgYWxsb3dzIHRoZSBkcml2ZXIg
dG8gcHJvdmlkZSBjb25maWd1cmF0aW9uIGRhdGEgd2l0aG91dCB0aGUgCj4+IG5lZWQgb2YKPj4g
KyAqIHBhcnNpbmcgaXQgaW4gYSBwcmUtZGV0ZXJtaW5lZCB3YXksIGVsaW1pbmF0aW5nIHRoZSBu
ZWVkIGZvciB1dGlsaXR5Cj4+ICsgKiBmdW5jdGlvbnMgaW4gdGhlIEFQSSwgb3IgcGFyc2luZyB0
aGUgZGF0YSBtdWx0aXBsZSB0aW1lcyBib3RoIGJ5IAo+PiBkcml2ZXIKPj4gKyAqIGFuZCB1c2Vy
Lgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3JhZnQgTmV0d29y
ayBEZXZpY2UuCj4+ICsgKiBAcGFyYW0gZWluZm8KPj4gKyAqwqDCoCBFeHRyYSBjb25maWd1cmF0
aW9uIHR5cGUgc2VsZWN0aW9uIChzZWUgZW51bSBkZWZpbml0aW9uKS4KPj4gKyAqIEByZXR1cm4K
Pj4gKyAqwqDCoCAtIChOVUxMKTogaWYgY29uZmlndXJhdGlvbiB1bmF2YWlsYWJsZSBvciBkYXRh
IHR5cGUgdW5zdXBwb3J0ZWQKPj4gKyAqwqDCoCAtICh2b2lkICopOiBSZWZlcmVuY2UgdG8gY29u
ZmlndXJhdGlvbiwgZm9ybWF0IHNwZWNpZmllZCBieSAqZWluZm8qCj4+ICsgKi8KPj4gK2NvbnN0
IHZvaWQgKnVrX25ldGRldl9laW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVudW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWlu
Zm8pOwo+PiArCj4+ICsvKioKPj4gKyAqIENvbmZpZ3VyZXMgYW4gVW5pa3JhZnQgbmV0d29yayBk
ZXZpY2UuCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKgIFRoZSBVbmlrcmFmdCBO
ZXR3b3JrIERldmljZSBpbiB1bmNvbmZpZ3VyZWQgc3RhdGUuCj4+ICsgKiBAcGFyYW0gY29uZgo+
PiArICrCoMKgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNl
ZCBmb3IgdGhlIFVuaWtyYWZ0Cj4+ICsgKsKgwqAgbmV0d29yayBkZXZpY2UuCj4+ICsgKiBAcmV0
dXJuCj4+ICsgKsKgwqAgLSAoMCk6IFN1Y2Nlc3MsIGRldmljZSBpcyBpbiBjb25maWd1cmVkIHN0
YXRlLgo+PiArICrCoMKgIC0gKDwwKTogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJpdmVy
Lgo+PiArICovCj4+ICtpbnQgdWtfbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29u
ZiAqZGV2X2NvbmYpOwo+PiArCj4+ICsKPj4gKy8qKgo+PiArICogUXVlcnkgcmVjZWl2ZSBkZXZp
Y2UgcXVldWUgY2FwYWJpbGl0aWVzLgo+PiArICogSW5mb3JtYXRpb24gdGhhdCBpcyB1c2VmdWwg
Zm9yIGRldmljZSBxdWV1ZSBpbml0aWFsaXphdGlvbiAoZS5nLiwKPj4gKyAqIG1heGltdW0gbnVt
YmVyIG9mIHN1cHBvcnRlZCBkZXNjcmlwdG9ycyBvbiBSWCBxdWV1ZXMpLgo+PiArICoKPj4gKyAq
IEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gY29u
ZmlndXJlZCBzdGF0ZS4KPj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+PiArICrCoMKgIFRoZSBpbmRl
eCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCj4+ICsgKsKgwqAgVGhlIHZhbHVlIG11
c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl9yeF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgCj4+IHN1
cHBsaWVkCj4+ICsgKsKgwqAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgo+PiArICogQHBhcmFt
IHF1ZXVlX2luZm8KPj4gKyAqwqDCoCBBIHBvaW50ZXIgdG8gYSBzdHJ1Y3R1cmUgb2YgdHlwZSAq
dWtfbmV0ZGV2X3F1ZXVlc19pbmZvKiB0byBiZSAKPj4gZmlsbGVkIG91dAo+PiArICogQHJldHVy
bgo+PiArICrCoMKgIC0gKDApOiBTdWNjZXNzLCBxdWV1ZV9pbmZvIGlzIGZpbGxlZCBvdXQuCj4+
ICsgKsKgwqAgLSAoPDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9uLgo+PiAr
ICovCj4+ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHVpbnQxNl90IHF1ZXVlX2lkLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1
Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8pOwo+PiArCj4+ICsvKioKPj4gKyAq
IFNldHMgdXAgb25lIHJlY2VpdmUgcXVldWUgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNl
Lgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3JhZnQgTmV0d29y
ayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KPj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+PiAr
ICrCoMKgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCj4+ICsgKsKg
wqAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl9yeF9xdWV1ZSAtIDFdIHBy
ZXZpb3VzbHkgCj4+IHN1cHBsaWVkCj4+ICsgKsKgwqAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgp
Lgo+PiArICogQHBhcmFtIG5iX2Rlc2MKPj4gKyAqwqDCoCBOdW1iZXIgb2YgZGVzY3JpcHRvcnMg
Zm9yIHRoZSBxdWV1ZS4gSW5zcGVjdCAKPj4gdWtfbmV0ZGV2X3J4cV9pbmZvX2dldCgpIHRvCj4+
ICsgKsKgwqAgcmV0cmlldmUgbGltaXRhdGlvbnMuIElmIG5iX2Rlc2MgaXMgc2V0IHRvIDAsIHRo
ZSBkcml2ZXIgY2hvb3NlcyAKPj4gYSBkZWZhdWx0Cj4+ICsgKsKgwqAgdmFsdWUuCj4+ICsgKiBA
cGFyYW0gcnhfY29uZgo+PiArICrCoMKgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9u
IGRhdGEgdG8gYmUgdXNlZCBmb3IgdGhlIHJlY2VpdmUgCj4+IHF1ZXVlLgo+PiArICrCoMKgIEl0
cyBtZW1vcnkgY2FuIGJlIHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rpb24uCj4+
ICsgKiBAcmV0dXJuCj4+ICsgKsKgwqAgLSAoMCk6IFN1Y2Nlc3MsIHJlY2VpdmUgcXVldWUgY29y
cmVjdGx5IHNldCB1cC4KPj4gKyAqwqDCoCAtICgtRU5PTUVNKTogVW5hYmxlIHRvIGFsbG9jYXRl
IHRoZSByZWNlaXZlIHJpbmcgZGVzY3JpcHRvcnMuCj4+ICsgKi8KPj4gK2ludCB1a19uZXRkZXZf
cnhxX2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQxNl90IG5iX2Rlc2MsCj4+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2Nv
bmYgKnJ4X2NvbmYpOwo+PiArCj4+ICsvKioKPj4gKyAqIFF1ZXJ5IGRldmljZSB0cmFuc21pdCBx
dWV1ZSBjYXBhYmlsaXRpZXMuCj4+ICsgKiBJbmZvcm1hdGlvbiB0aGF0IGlzIHVzZWZ1bCBmb3Ig
ZGV2aWNlIHF1ZXVlIGluaXRpYWxpemF0aW9uIChlLmcuLAo+PiArICogbWF4aW11bSBudW1iZXIg
b2Ygc3VwcG9ydGVkIGRlc2NyaXB0b3JzIG9uIFRYIHF1ZXVlcykuCj4+ICsgKgo+PiArICogQHBh
cmFtIGRldgo+PiArICrCoMKgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1
cmVkIHN0YXRlLgo+PiArICogQHBhcmFtIHF1ZXVlX2lkCj4+ICsgKsKgwqAgVGhlIGluZGV4IG9m
IHRoZSByZWNlaXZlIHF1ZXVlIHRvIHNldCB1cC4KPj4gKyAqwqDCoCBUaGUgdmFsdWUgbXVzdCBi
ZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3R4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSAKPj4gc3VwcGxp
ZWQKPj4gKyAqwqDCoCB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCj4+ICsgKiBAcGFyYW0gcXVl
dWVfaW5mbwo+PiArICrCoMKgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0eXBlICp1a19u
ZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIAo+PiBmaWxsZWQgb3V0Cj4+ICsgKiBAcmV0dXJuCj4+
ICsgKsKgwqAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmlsbGVkIG91dC4KPj4gKyAq
wqDCoCAtICg8MCk6IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlcnMgZnVuY3Rpb24uCj4+ICsgKi8K
Pj4gK2ludCB1a19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWlu
dDE2X3QgcXVldWVfaWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1
a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbyk7Cj4+ICsKPj4gKy8qKgo+PiArICogU2V0
cyB1cCBvbmUgdHJhbnNtaXQgcXVldWUgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgo+
PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3JhZnQgTmV0d29yayBE
ZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KPj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+PiArICrC
oMKgIFRoZSBpbmRleCBvZiB0aGUgdHJhbnNtaXQgcXVldWUgdG8gc2V0IHVwLgo+PiArICrCoMKg
IFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2
aW91c2x5IAo+PiBzdXBwbGllZAo+PiArICrCoMKgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4K
Pj4gKyAqIEBwYXJhbSBuYl9kZXNjCj4+ICsgKsKgwqAgTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGZv
ciB0aGUgcXVldWUuIEluc3BlY3QgCj4+IHVrX25ldGRldl90eHFfaW5mb19nZXQoKSB0bwo+PiAr
ICrCoMKgIHJldHJpZXZlIGxpbWl0YXRpb25zLiBJZiBuYl9kZXNjIGlzIHNldCB0byAwLCB0aGUg
ZHJpdmVyIGNob29zZXMgCj4+IGEgZGVmYXVsdAo+PiArICrCoMKgIHZhbHVlLgo+PiArICogQHBh
cmFtIHR4X2NvbmYKPj4gKyAqwqDCoCBUaGUgcG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBk
YXRhIHRvIGJlIHVzZWQgZm9yIHRoZSAKPj4gdHJhbnNtaXQgcXVldWUuCj4+ICsgKsKgwqAgSXRz
IG1lbW9yeSBjYW4gYmUgcmVsZWFzZWQgYWZ0ZXIgaW52b2tpbmcgdGhpcyBmdW5jdGlvbi4KPj4g
KyAqIEByZXR1cm4KPj4gKyAqwqDCoCAtICgwKTogU3VjY2VzcywgdGhlIHRyYW5zbWl0IHF1ZXVl
IGlzIGNvcnJlY3RseSBzZXQgdXAuCj4+ICsgKsKgwqAgLSAoLUVOT01FTSk6IFVuYWJsZSB0byBh
bGxvY2F0ZSB0aGUgdHJhbnNtaXQgcmluZyBkZXNjcmlwdG9ycy4KPj4gKyAqLwo+PiAraW50IHVr
X25ldGRldl90eHFfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVl
dWVfaWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDE2X3QgbmJfZGVz
YywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X3R4
cXVldWVfY29uZiAqdHhfY29uZik7Cj4+ICsKPj4gKy8qKgo+PiArICogU3RhcnQgYSBOZXR3b3Jr
IGRldmljZS4KPj4gKyAqCj4+ICsgKiBBZnRlciBhIG5ldHdvcmsgZGV2aWNlIHdhcyBjb25maWd1
cmVkIGFuZCBpdHMgcXVldWVzIGFyZSBzZXQgdXAgCj4+IHRoZSBkZXZpY2UKPj4gKyAqIGNhbiBi
ZSBzdGFydGVkLiBPbiBzdWNjZXNzLCBhbGwgb3BlcmF0aW9uYWwgZnVuY3Rpb25zIGV4cG9ydGVk
IGJ5IHRoZQo+PiArICogVW5pa3JhZnQgbmV0ZGV2IEFQSSAoaW50ZXJydXB0cywgcmVjZWl2ZS90
cmFuc21pdCwgYW5kIHNvIG9uKSBjYW4gCj4+IGJlIGludm9rZWQKPj4gKyAqIGFmdGVyd2FyZHMu
Cj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKgIFRoZSBVbmlrcmFmdCBOZXR3b3Jr
IERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgo+PiArICogQHJldHVybgo+PiArICrCoMKgIC0g
KDApOiBTdWNjZXNzLCBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBzdGFydGVkLgo+PiArICrCoMKg
IC0gKDwwKTogRXJyb3IgY29kZSBvZiB0aGUgZHJpdmVyIGRldmljZSBzdGFydCBmdW5jdGlvbi4K
Pj4gKyAqLwo+PiAraW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+
PiArCj4+IMKgICNpZmRlZiBfX2NwbHVzcGx1cwo+PiDCoCB9Cj4+IMKgICNlbmRpZgo+PiBkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCAKPj4gYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4+IGluZGV4IGVlYzQ0MWUuLjAyYzVi
YTAgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgK
Pj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+PiBAQCAtNDUs
NiArNDUsMTAgQEAKPj4gwqAgI2luY2x1ZGUgPHVrL2xpc3QuaD4KPj4gwqAgI2luY2x1ZGUgPHVr
L2FsbG9jLmg+Cj4+IMKgICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+Cj4+ICsjaWZkZWYgQ09O
RklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCj4+ICsjaW5jbHVkZSA8dWsvc2NoZWQu
aD4KPj4gKyNpbmNsdWRlIDx1ay9zZW1hcGhvcmUuaD4KPj4gKyNlbmRpZgo+PiDCoCAvKioKPj4g
wqDCoCAqIFVuaWtyYWZ0IG5ldHdvcmsgQVBJIGNvbW1vbiBkZWNsYXJhdGlvbnMuCj4+IEBAIC02
NCw2ICs2OCw0MiBAQCBleHRlcm4gIkMiIHsKPj4gwqAgc3RydWN0IHVrX25ldGRldjsKPj4gwqAg
VUtfVEFJTFFfSEVBRCh1a19uZXRkZXZfbGlzdCwgc3RydWN0IHVrX25ldGRldik7Cj4+ICsvKioK
Pj4gKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZGVzY3JpYmUgbmV0d29yayBkZXZpY2UgY2FwYWJp
bGl0aWVzLgo+PiArICovCj4+ICtzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gewo+PiArwqDCoMKgIHVp
bnQxNl90IG1heF9yeF9xdWV1ZXM7Cj4+ICvCoMKgwqAgdWludDE2X3QgbWF4X3R4X3F1ZXVlczsK
Pj4gK8KgwqDCoCBpbnQgaW5fcXVldWVfcGFpcnM7IC8qKjwgSWYgdHJ1ZSwgYWxsb2NhdGUgcXVl
dWVzIGluIHBhaXJzLiAqLwo+PiArwqDCoMKgIHVpbnQxNl90IG1heF9tdHU7wqDCoCAvKio8IE1h
eGltdW0gc3VwcG9ydGVkIE1UVSBzaXplLiAqLwo+PiArwqDCoMKgIHVpbnQxNl90IG5iX2VuY2Fw
O8KgIC8qKjwgTnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciAKPj4gdHgu
ICovCj4+ICt9Owo+PiArCj4+ICsvKioKPj4gKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZGVzY3Jp
YmUgZGV2aWNlIGRlc2NyaXB0b3IgcmluZyBsaW1pdGF0aW9ucy4KPj4gKyAqLwo+PiArc3RydWN0
IHVrX25ldGRldl9xdWV1ZV9pbmZvIHsKPj4gK8KgwqDCoCB1aW50MTZfdCBuYl9tYXg7wqDCoMKg
wqDCoMKgwqAgLyoqPCBNYXggYWxsb3dlZCBudW1iZXIgb2YgZGVzY3JpcHRvcnMuICovCj4+ICvC
oMKgwqAgdWludDE2X3QgbmJfbWluO8KgwqDCoMKgwqDCoMKgIC8qKjwgTWluIGFsbG93ZWQgbnVt
YmVyIG9mIGRlc2NyaXB0b3JzLiAqLwo+PiArwqDCoMKgIHVpbnQxNl90IG5iX2FsaWduO8KgwqDC
oMKgwqAgLyoqPCBOdW1iZXIgc2hvdWxkIGJlIGEgbXVsdGlwbGUgb2YgCj4+IG5iX2FsaWduLiAq
Lwo+PiArwqDCoMKgIGludCBuYl9pc19wb3dlcl9vZl90d287IC8qKjwgTnVtYmVyIHNob3VsZCBi
ZSBhIHBvd2VyIG9mIHR3by4gKi8KPj4gK307Cj4+ICsKPj4gKy8qKgo+PiArICogQSBzdHJ1Y3R1
cmUgdXNlZCB0byBjb25maWd1cmUgYSBuZXR3b3JrIGRldmljZS4KPj4gKyAqLwo+PiArc3RydWN0
IHVrX25ldGRldl9jb25mIHsKPj4gK8KgwqDCoCB1aW50MTZfdCBuYl9yeF9xdWV1ZXM7Cj4+ICvC
oMKgwqAgdWludDE2X3QgbmJfdHhfcXVldWVzOwo+PiArfTsKPj4gKwo+PiArLyoqCj4+ICsgKiBA
aW50ZXJuYWwgUXVldWUgc3RydWN0cyB0aGF0IGFyZSBkZWZpbmVkIGludGVybmFsbHkgYnkgZWFj
aCBkcml2ZXIKPj4gKyAqIFRoZSBkYXRhdHlwZSBpcyBpbnRyb2R1Y2VkIGhlcmUgZm9yIGhhdmlu
ZyB0eXBlIGNoZWNraW5nIG9uIHRoZQo+PiArICogQVBJIGNvZGUKPj4gKyAqLwo+PiArc3RydWN0
IHVrX25ldGRldl90eF9xdWV1ZTsKPj4gK3N0cnVjdCB1a19uZXRkZXZfcnhfcXVldWU7Cj4+IMKg
IC8qKgo+PiDCoMKgICogRW51bSB0byBkZXNjcmliZSBwb3NzaWJsZSBzdGF0ZXMgb2YgYW4gVW5p
a3JhZnQgbmV0d29yayBkZXZpY2UuCj4+IEBAIC03NSw2ICsxMTUsMTQ5IEBAIGVudW0gdWtfbmV0
ZGV2X3N0YXRlIHsKPj4gwqDCoMKgwqDCoCBVS19ORVRERVZfUlVOTklORywKPj4gwqAgfTsKPj4g
Ky8qKgo+PiArICogRW51bSB1c2VkIGJ5IHRoZSBleHRyYSBpbmZvcm1hdGlvbiBxdWVyeSBpbnRl
cmZhY2UuCj4+ICsgKgo+PiArICogVGhlIHB1cnBvc2Ugb2YgdGhpcyB0eXBlIGlzIHRvIGFsbG93
IGRyaXZlcnMgdG8gZm9yd2FyZCBleHRyYSAKPj4gY29uZmlndXJhdGlvbnMKPj4gKyAqIG9wdGlv
bnMgc3VjaCBhcyBJUCBpbmZvcm1hdGlvbiB3aXRob3V0IHBhcnNpbmcgdGhpcyBkYXRhIGJ5IAo+
PiB0aGVtc2VsdmVzIChlLmcuLAo+PiArICogc3RyaW5ncyBvZiBJUCBhZGRyZXNzIGFuZCBtYXNr
IGZvdW5kIG9uIFhlblN0b3JlIGJ5IG5ldGZyb250KS4KPj4gKyAqIFdlIGRvIG5vdCB3YW50IHRv
IGludHJvZHVjZSBhbnkgYWRkaXRpb25hbCBwYXJzaW5nIGxvZ2ljIGluc2lkZSAKPj4gdWtuZXRk
ZXYgQVBJCj4+ICsgKiBiZWNhdXNlIHdlIGFzc3VtZSB0aGF0IG1vc3QgbmV0d29yayBzdGFja3Mg
cHJvdmlkZSB0aGlzIGZ1bmN0aW9uYWxpdHkKPj4gKyAqIGFueXdheXMuIFNvIG9uZSBjb3VsZCBm
b3J3YXJkIHRoaXMgZGF0YSB3aXRoaW4gdGhlIGdsdWUgY29kZS4KPj4gKyAqCj4+ICsgKiBUaGlz
IGxpc3QgaXMgZXh0ZW5zaWJsZSBpbiB0aGUgZnV0dXJlIHdpdGhvdXQgbmVlZGluZyB0aGUgZHJp
dmVycyAKPj4gdG8gYWRvcHQKPj4gKyAqIGFueSBvciBhbGwgb2YgdGhlIGRhdGEgdHlwZXMuCj4+
ICsgKgo+PiArICogVGhlIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBhdmFpbGFibGUgaW4gb25lIG9m
IHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKPj4gKyAqIC0gKl9OSU5UMTY6IE5ldHdvcmstb3JkZXIg
cmF3IGludCAoNCBieXRlcykKPj4gKyAqIC0gKl9TVFI6IE51bGwtdGVybWluYXRlZCBzdHJpbmcK
Pj4gKyAqLwo+PiArZW51bSB1a19uZXRkZXZfZWluZm9fdHlwZSB7Cj4+ICvCoMKgwqAgLyogSVB2
NCBhZGRyZXNzIGFuZCBtYXNrICovCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQVjRfQUREUl9OSU5U
MTYsCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQVjRfQUREUl9TVFIsCj4+ICvCoMKgwqAgVUtfTkVU
REVWX0lQVjRfTUFTS19OSU5UMTYsCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQVjRfTUFTS19TVFIs
Cj4+ICsKPj4gK8KgwqDCoCAvKiBJUHY0IGdhdGV3YXkgKi8KPj4gK8KgwqDCoCBVS19ORVRERVZf
SVBWNF9HV19OSU5UMTYsCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQVjRfR1dfU1RSLAo+PiArCj4+
ICvCoMKgwqAgLyogSVB2NCBQcmltYXJ5IEROUyAqLwo+PiArwqDCoMKgIFVLX05FVERFVl9JUFY0
X0ROUzBfTklOVDE2LAo+PiArwqDCoMKgIFVLX05FVERFVl9JUFY0X0ROUzBfU1RSLAo+PiArCj4+
ICvCoMKgwqAgLyogSVB2NCBTZWNvbmRhcnkgRE5TICovCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQ
VjRfRE5TMV9OSU5UMTYsCj4+ICvCoMKgwqAgVUtfTkVUREVWX0lQVjRfRE5TMV9TVFIsCj4+ICt9
Owo+PiArCj4+ICsvKioKPj4gKyAqIEZ1bmN0aW9uIHR5cGUgdXNlZCBmb3IgcXVldWUgZXZlbnQg
Y2FsbGJhY2tzLgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3Jh
ZnQgTmV0d29yayBEZXZpY2UuCj4+ICsgKiBAcGFyYW0gcXVldWUKPj4gKyAqwqDCoCBUaGUgcXVl
dWUgb24gdGhlIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlIG9uIHdoaWNoIHRoZSBldmVudCAKPj4g
aGFwcGVuZWQuCj4+ICsgKiBAcGFyYW0gYXJncAo+PiArICrCoMKgIEV4dHJhIGFyZ3VtZW50IHRo
YXQgY2FuIGJlIGRlZmluZWQgb24gY2FsbGJhY2sgcmVnaXN0cmF0aW9uLgo+PiArICovCj4+ICt0
eXBlZGVmIHZvaWQgKCp1a19uZXRkZXZfcXVldWVfZXZlbnRfdCkoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDE2X3Qg
cXVldWVfaWQsIHZvaWQgKmFyZ3ApOwo+PiArCj4+ICsvKioKPj4gKyAqIEEgc3RydWN0dXJlIHVz
ZWQgdG8gY29uZmlndXJlIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlIFJYIHF1ZXVlLgo+PiAr
ICovCj4+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiB7Cj4+ICvCoMKgwqAgdWtfbmV0
ZGV2X3F1ZXVlX2V2ZW50X3QgY2FsbGJhY2s7IC8qKjwgRXZlbnQgY2FsbGJhY2sgZnVuY3Rpb24u
ICovCj4+ICvCoMKgwqAgdm9pZCAqY2FsbGJhY2tfY29va2llO8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgLyoqPCBBcmd1bWVudCBwb2ludGVyIGZvciAKPj4gY2FsbGJhY2suICovCj4+ICsKPj4gK8Kg
wqDCoCBzdHJ1Y3QgdWtfYWxsb2MgKmE7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKio8
IEFsbG9jYXRvciBmb3IgZGVzY3JpcHRvcnMuICovCj4+ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVU
REVWX0RJU1BBVENIRVJUSFJFQURTCj4+ICvCoMKgwqAgc3RydWN0IHVrX3NjaGVkICpzO8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoqPCBTY2hlZHVsZXIgZm9yIGRpc3BhdGNoZXIuICov
Cj4+ICsjZW5kaWYKPj4gK307Cj4+ICsKPj4gKy8qKgo+PiArICogQSBzdHJ1Y3R1cmUgdXNlZCB0
byBjb25maWd1cmUgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgVFggcXVldWUuCj4+ICsgKi8K
Pj4gK3N0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mIHsKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtf
YWxsb2MgKmE7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBBbGxvY2F0b3IgZm9yIGRl
c2NyaXB0b3JzLiAqLwo+PiArfTsKPj4gKwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRv
IHJlYWQgZGV2aWNlL2RyaXZlciBjYXBhYmlsaXRpZXMsCj4+ICsgKsKgIHVzZWQgZm9yIGNvbmZp
Z3VyaW5nIHRoZSBkZXZpY2UKPj4gKyAqLwo+PiArdHlwZWRlZiB2b2lkICgqdWtfbmV0ZGV2X2lu
Zm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGRldl9pbmZvICpkZXZfaW5mbyk7Cj4+
ICsKPj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZWFkIGFueSBleHRyYSBjb25maWd1
cmF0aW9uLiAqLwo+PiArdHlwZWRlZiBjb25zdCB2b2lkICooKnVrX25ldGRldl9laW5mb19nZXRf
dCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVudW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWNvbmYpOwo+
PiArCj4+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gY29uZmlndXJlIGEgbmV0d29yayBk
ZXZpY2UuICovCj4+ICt0eXBlZGVmIGludMKgICgqdWtfbmV0ZGV2X2NvbmZpZ3VyZV90KShzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKPj4gKwo+PiArLyoq
IERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIFJYIHF1ZXVlIGxpbWl0YXRpb25zLAo+
PiArICrCoCB1c2VkIGZvciBjb25maWd1cmluZyB0aGUgUlggcXVldWUgbGF0ZXIKPj4gKyAqLwo+
PiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhxX2luZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwKPj4gK8KgwqDCoCB1aW50MTZfdCBxdWV1ZV9pZCwgc3RydWN0IHVrX25ldGRldl9x
dWV1ZV9pbmZvICpxdWV1ZV9pbmZvKTsKPj4gKwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBl
IHRvIHJldHJpZXZlIFRYIHF1ZXVlIGxpbWl0YXRpb25zLAo+PiArICrCoCB1c2VkIGZvciBjb25m
aWd1cmluZyB0aGUgVFggcXVldWUgbGF0ZXIKPj4gKyAqLwo+PiArdHlwZWRlZiBpbnQgKCp1a19u
ZXRkZXZfdHhxX2luZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPj4gK8KgwqDCoCB1
aW50MTZfdCBxdWV1ZV9pZCwgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZv
KTsKPj4gKwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB1cCBhIFJYIHF1ZXVl
IG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgCj4+IGRldmljZS4gKi8KPj4gK3R5cGVkZWYgc3RydWN0
IHVrX25ldGRldl90eF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCkoCj4+ICvC
oMKgwqAgc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwgdWludDE2X3Qg
bmJfZGVzYywKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqdHhfY29u
Zik7Cj4+ICsKPj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdXAgYSBUWCBxdWV1
ZSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIAo+PiBkZXZpY2UuICovCj4+ICt0eXBlZGVmIHN0cnVj
dCB1a19uZXRkZXZfcnhfcXVldWUgKiAoKnVrX25ldGRldl9yeHFfY29uZmlndXJlX3QpKAo+PiAr
wqDCoMKgIHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90
IG5iX2Rlc2MsCj4+ICvCoMKgwqAgc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKnJ4X2Nv
bmYpOwo+PiArCj4+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc3RhcnQgYSBjb25maWd1
cmVkIFVuaWtyYWZ0IG5ldHdvcmsgCj4+IGRldmljZS4gKi8KPj4gK3R5cGVkZWYgaW50wqAgKCp1
a19uZXRkZXZfc3RhcnRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPj4gKwo+PiArLyoqCj4+
ICsgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBk
cml2ZXIuCj4+ICsgKi8KPj4gK3N0cnVjdCB1a19uZXRkZXZfb3BzIHsKPj4gK8KgwqDCoCAvKiog
RGV2aWNlL2RyaXZlciBjYXBhYmlsaXRpZXMgYW5kIGluZm8uICovCj4+ICvCoMKgwqAgdWtfbmV0
ZGV2X2luZm9fZ2V0X3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluZm9fZ2V0Owo+PiArwqDCoMKg
IHVrX25ldGRldl90eHFfaW5mb19nZXRfdMKgwqDCoMKgwqDCoMKgIHR4cV9pbmZvX2dldDsKPj4g
K8KgwqDCoCB1a19uZXRkZXZfcnhxX2luZm9fZ2V0X3TCoMKgwqDCoMKgwqDCoCByeHFfaW5mb19n
ZXQ7Cj4+ICvCoMKgwqAgdWtfbmV0ZGV2X2VpbmZvX2dldF90wqDCoMKgwqDCoMKgwqDCoMKgwqAg
ZWluZm9fZ2V0O8KgwqDCoMKgwqDCoMKgIC8qIG9wdGlvbmFsICovCj4+ICsKPj4gK8KgwqDCoCAv
KiogRGV2aWNlIGxpZmUgY3ljbGUuICovCj4+ICvCoMKgwqAgdWtfbmV0ZGV2X2NvbmZpZ3VyZV90
wqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uZmlndXJlOwo+PiArwqDCoMKgIHVrX25ldGRldl90eHFf
Y29uZmlndXJlX3TCoMKgwqDCoMKgwqAgdHhxX2NvbmZpZ3VyZTsKPj4gK8KgwqDCoCB1a19uZXRk
ZXZfcnhxX2NvbmZpZ3VyZV90wqDCoMKgwqDCoMKgIHJ4cV9jb25maWd1cmU7Cj4+ICvCoMKgwqAg
dWtfbmV0ZGV2X3N0YXJ0X3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0YXJ0Owo+PiAr
fTsKPj4gKwo+PiArLyoqCj4+ICsgKiBAaW50ZXJuYWwKPj4gKyAqIEV2ZW50IGhhbmRsZXIgY29u
ZmlndXJhdGlvbiAoaW50ZXJuYWwgdG8gbGlidWtuZXRkZXYpCj4+ICsgKi8KPj4gK3N0cnVjdCB1
a19uZXRkZXZfZXZlbnRfaGFuZGxlciB7Cj4+ICvCoMKgwqAgdWtfbmV0ZGV2X3F1ZXVlX2V2ZW50
X3QgY2FsbGJhY2s7Cj4+ICvCoMKgwqAgdm9pZMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICpjb29raWU7Cj4+ICsKPj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElT
UEFUQ0hFUlRIUkVBRFMKPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfc2VtYXBob3JlIGV2ZW50czvCoMKg
wqDCoMKgIC8qKjwgc2VtYXBob3JlIHRvIHRyaWdnZXIgZXZlbnRzICovCj4+ICvCoMKgwqAgc3Ry
dWN0IHVrX25ldGRldsKgwqDCoCAqZGV2O8KgwqDCoMKgwqDCoMKgIC8qKjwgcmVmZXJlbmNlIHRv
IG5ldCBkZXZpY2UgKi8KPj4gK8KgwqDCoCB1aW50MTZfdMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
cXVldWVfaWQ7wqDCoMKgIC8qKjwgcXVldWUgaWQgd2hpY2ggY2F1c2VkIGV2ZW50ICovCj4+ICvC
oMKgwqAgc3RydWN0IHVrX3RocmVhZMKgwqDCoCAqZGlzcGF0Y2hlcjsgLyoqPCBkaXNwYXRjaGVy
IHRocmVhZCAqLwo+PiArwqDCoMKgIGNoYXLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
KmRpc3BhdGNoZXJfbmFtZTsgLyoqPCByZWZlcmVuY2UgdG8gdGhyZWFkIAo+PiBuYW1lICovCj4+
ICvCoMKgwqAgc3RydWN0IHVrX3NjaGVkwqDCoMKgwqAgKmRpc3BhdGNoZXJfczvCoMKgwqAgLyoq
PCBTY2hlZHVsZXIgZm9yIAo+PiBkaXNwYXRjaGVyLiAqLwo+PiArI2VuZGlmCj4+ICt9Owo+PiDC
oCAvKioKPj4gwqDCoCAqIEBpbnRlcm5hbAo+PiBAQCAtODMsNiArMjY2LDkgQEAgZW51bSB1a19u
ZXRkZXZfc3RhdGUgewo+PiDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgewo+PiDCoMKgwqDCoMKg
IGVudW0gdWtfbmV0ZGV2X3N0YXRlIHN0YXRlOwo+PiArwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZf
ZXZlbnRfaGFuZGxlcgo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcnhxX2hh
bmRsZXJbQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTXTsKPj4gKwo+PiDCoMKgwqDCoMKg
IGNvbnN0IHVpbnQxNl90wqDCoMKgwqDCoMKgIGlkO8KgwqDCoCAvKio8IElEIGlzIGFzc2lnbmVk
IGR1cmluZyAKPj4gcmVnaXN0cmF0aW9uICovCj4+IMKgwqDCoMKgwqAgY29uc3QgY2hhcsKgwqDC
oMKgwqDCoMKgwqDCoMKgICpkcnZfbmFtZTsKPj4gwqAgfTsKPj4gQEAgLTkwLDExICsyNzYsMjEg
QEAgc3RydWN0IHVrX25ldGRldl9kYXRhIHsKPj4gwqAgLyoqCj4+IMKgwqAgKiBORVRERVYKPj4g
wqDCoCAqIEEgc3RydWN0dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsgZGV2aWNl
Lgo+PiArICoKPj4gKyAqIEZ1bmN0aW9uIGNhbGxiYWNrcyAob3BzKSBhcmUgcmVnaXN0ZXJlZCBi
eSB0aGUgZHJpdmVyIGJlZm9yZQo+PiArICogcmVnaXN0ZXJpbmcgdGhlIG5ldGRldi4gVGhleSBj
aGFuZ2UgZHVyaW5nIGRldmljZSBsaWZlIHRpbWUuCj4+IMKgwqAgKi8KPj4gwqAgc3RydWN0IHVr
X25ldGRldiB7Cj4+IMKgwqDCoMKgwqAgLyoqIFBvaW50ZXIgdG8gQVBJLWludGVybmFsIHN0YXRl
IGRhdGEuICovCj4+IMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGRldl9kYXRhwqDCoMKgwqDCoMKg
ICpfZGF0YTsKPj4gK8KgwqDCoCAvKiogRnVuY3Rpb25zIGNhbGxiYWNrcyBieSBkcml2ZXIuICov
Cj4+ICvCoMKgwqAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9vcHPCoCAqb3BzO8KgwqAgLyogYnkg
ZHJpdmVyICovCj4+ICsKPiAKPiAKPj4gK8KgwqDCoCAvKiogUG9pbnRlcnMgdG8gcXVldWVzIChB
UEktcHJpdmF0ZSkgKi8KPj4gK8KgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICAgCj4+
ICpfcnhfcXVldWVbQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTXTsKPj4gK8KgwqDCoCBz
dHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICAgCj4+ICpfdHhfcXVldWVbQ09ORklHX0xJQlVLTkVU
REVWX01BWE5CUVVFVUVTXTsKPj4gKwo+PiDCoMKgwqDCoMKgIFVLX1RBSUxRX0VOVFJZKHN0cnVj
dCB1a19uZXRkZXYpIF9saXN0Owo+PiDCoCB9Owo+PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2
L25ldGRldi5jIGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCj4+IGluZGV4IGFiOGFhNGQuLjNlZWE1
ZWQgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYuYwo+PiArKysgYi9saWIvdWtu
ZXRkZXYvbmV0ZGV2LmMKPj4gQEAgLTY5LDYgKzY5LDE2IEBAIGludCB1a19uZXRkZXZfZHJ2X3Jl
Z2lzdGVyKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgCj4+IHN0cnVjdCB1a19hbGxvYyAqYSwKPj4g
wqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2KTsKPj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoIWRldi0+
X2RhdGEpOwo+PiArwqDCoMKgIC8qIEFzc2VydCBtYW5kYXRvcnkgY29uZmlndXJhdGlvbiAqLwo+
PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+
b3BzLT5pbmZvX2dldCk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT5jb25maWd1cmUp
Owo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+cnhxX2luZm9fZ2V0KTsKPj4gK8KgwqDC
oCBVS19BU1NFUlQoZGV2LT5vcHMtPnJ4cV9jb25maWd1cmUpOwo+PiArwqDCoMKgIFVLX0FTU0VS
VChkZXYtPm9wcy0+dHhxX2luZm9fZ2V0KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMt
PnR4cV9jb25maWd1cmUpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOwo+
PiArCj4+IMKgwqDCoMKgwqAgZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3Vu
dCzCoCBkcnZfbmFtZSk7Cj4+IMKgwqDCoMKgwqAgaWYgKCFkZXYtPl9kYXRhKQo+PiDCoMKgwqDC
oMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9NRU07Cj4+IEBAIC0xMjIsMyArMTMyLDI4MiBAQCBlbnVt
IHVrX25ldGRldl9zdGF0ZSB1a19uZXRkZXZfc3RhdGVfZ2V0KHN0cnVjdCAKPj4gdWtfbmV0ZGV2
ICpkZXYpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gVUtfTkVUREVWX1VOUkVHSVNURVJF
RDsKPj4gwqDCoMKgwqDCoCByZXR1cm4gZGV2LT5fZGF0YS0+c3RhdGU7Cj4+IMKgIH0KPj4gKwo+
PiArdm9pZCB1a19uZXRkZXZfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQo+PiAr
ewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9w
cyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT5pbmZvX2dldCk7Cj4+ICvCoMKgwqAg
VUtfQVNTRVJUKGRldl9pbmZvKTsKPj4gKwo+PiArwqDCoMKgIC8qIENsZWFyIHZhbHVlcyBiZWZv
cmUgcXVlcnlpbmcgZHJpdmVyIGZvciBjYXBhYmlsaXRpZXMgKi8KPj4gK8KgwqDCoCBtZW1zZXQo
ZGV2X2luZm8sIDAsIHNpemVvZigqZGV2X2luZm8pKTsKPj4gK8KgwqDCoCBkZXYtPm9wcy0+aW5m
b19nZXQoZGV2LCBkZXZfaW5mbyk7Cj4+ICsKPj4gK8KgwqDCoCAvKiBMaW1pdCB0aGUgbWF4aW11
bSBudW1iZXIgb2YgcnggcXVldWVzIGFuZCB0eCBxdWV1ZXMKPj4gK8KgwqDCoMKgICogYWNjb3Jk
aW5nIHRvIHRoZSBBUEkgY29uZmlndXJhdGlvbgo+PiArwqDCoMKgwqAgKi8KPj4gK8KgwqDCoCBk
ZXZfaW5mby0+bWF4X3J4X3F1ZXVlcyA9IE1JTihDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVV
RVMsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2X2lu
Zm8tPm1heF9yeF9xdWV1ZXMpOwo+PiArwqDCoMKgIGRldl9pbmZvLT5tYXhfdHhfcXVldWVzID0g
TUlOKENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUywKPj4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZXZfaW5mby0+bWF4X3R4X3F1ZXVlcyk7Cj4+ICt9
Cj4+ICsKPj4gK2NvbnN0IHZvaWQgKnVrX25ldGRldl9laW5mb19nZXQoc3RydWN0IHVrX25ldGRl
diAqZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVudW0gdWtfbmV0ZGV2
X2VpbmZvX3R5cGUgZWluZm8pCj4+ICt7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldik7Cj4+ICvC
oMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzKTsKPj4gKwo+PiArwqDCoMKgIGlmICghZGV2LT5vcHMt
PmVpbmZvX2dldCkgewo+PiArwqDCoMKgwqDCoMKgwqAgLyogZHJpdmVyIGRvZXMgbm90IHByb3Zp
ZGUgYW55IGV4dHJhIGNvbmZpZ3VyYXRpb24gKi8KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBO
VUxMOwo+PiArwqDCoMKgIH0KPj4gK8KgwqDCoCByZXR1cm4gZGV2LT5vcHMtPmVpbmZvX2dldChk
ZXYsIGVpbmZvKTsKPj4gK30KPj4gKwo+PiAraW50IHVrX25ldGRldl9yeHFfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPj4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZvKQo+
PiArewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYt
Pm9wcyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT5yeHFfaW5mb19nZXQpOwo+IAo+
IFNob3VsZCBpdCBub3QgYmUgbWF4X3J4X3F1ZXVlcz8KCkNPTkZJR19MSUJVS05FVERFVl9NQVhO
QlFVRVVFUyBpcyB0aGUgdXBwZXIgbGltaXQgZnJvbSB0aGUgQVBJIApwZXJzcGVjdGl2ZS4gRXZl
biBpZiBhIGRyaXZlciB3b3VsZCBzdXBwb3J0IG1vcmUsIGxpYnVrbmV0ZGV2IGlzIApsaW1pdGlu
ZyBpdC4gSXQgd2FzIHRoZSBpbnRlbnRpb24gdGhhdCBhIGRyaXZlciBpcyBhbnl3YXkgZG9pbmcg
YW4gCmFyZ3VtZW50IGNoZWNrLiBXZSBkaWQgbm90IHdhbnQgdG8gc3RvcmUgdG9vIG1hbnogZHVw
bGljYXRlZCB2YWx1ZXMgCndpdGhpbiB0aGUgQVBJLCBoZXJlOiBob3cgbWFueSBxdWV1ZXMgdGhl
IGRyaXZlciBzdXBwb3J0cy4gT24gdGhlIG90aGVyIApoYW5kLCBjYWxsaW5nIGhlcmUgdWtfbmV0
ZGV2X2luZm9fZ2V0KCkgZm9yIGZvcm11bGF0aW5nIHRoZSBhc3NlcnRpb24gCndvdWxkIGJlIHRv
byBtdWNoLCBJIHRoaW5rLgoKPj4gK8KgwqDCoCBVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdf
TElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChxdWV1ZV9pbmZv
KTsKPj4gKwo+PiArwqDCoMKgIC8qIENsZWFyIHZhbHVlcyBiZWZvcmUgcXVlcnlpbmcgZHJpdmVy
IGZvciBjYXBhYmlsaXRpZXMgKi8KPj4gK8KgwqDCoCBtZW1zZXQocXVldWVfaW5mbywgMCwgc2l6
ZW9mKCpxdWV1ZV9pbmZvKSk7Cj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+b3BzLT5yeHFfaW5mb19n
ZXQoZGV2LCBxdWV1ZV9pZCwgcXVldWVfaW5mbyk7Cj4+ICt9Cj4+ICsKPj4gK2ludCB1a19uZXRk
ZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQs
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVf
aW5mbyAqcXVldWVfaW5mbykKPj4gK3sKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2KTsKPj4gK8Kg
wqDCoCBVS19BU1NFUlQoZGV2LT5vcHMpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+
dHhxX2luZm9fZ2V0KTsKPiAKPiBTaG91bGQgaXQgbm90IGJlIG1heF90eF9xdWV1ZXM/Cj4+ICvC
oMKgwqAgVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVT
KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQocXVldWVfaW5mbyk7Cj4+ICsKPj4gK8KgwqDCoCAvKiBD
bGVhciB2YWx1ZXMgYmVmb3JlIHF1ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVzICovCj4+
ICvCoMKgwqAgbWVtc2V0KHF1ZXVlX2luZm8sIDAsIHNpemVvZigqcXVldWVfaW5mbykpOwo+PiAr
wqDCoMKgIHJldHVybiBkZXYtPm9wcy0+dHhxX2luZm9fZ2V0KGRldiwgcXVldWVfaWQsIHF1ZXVl
X2luZm8pOwo+PiArfQo+PiArCj4+ICtpbnQgdWtfbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCB1a19u
ZXRkZXZfY29uZiAqZGV2X2NvbmYpCj4+ICt7Cj4+ICvCoMKgwqAgc3RydWN0IHVrX25ldGRldl9p
bmZvIGRldl9pbmZvOwo+PiArwqDCoMKgIGludCByZXQ7Cj4+ICsKPj4gK8KgwqDCoCBVS19BU1NF
UlQoZGV2KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+ICvCoMKgwqAgVUtf
QVNTRVJUKGRldi0+b3BzKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPmNvbmZpZ3Vy
ZSk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldl9jb25mKTsKPj4gKwo+PiArwqDCoMKgIGlmIChk
ZXYtPl9kYXRhLT5zdGF0ZSAhPSBVS19ORVRERVZfVU5DT05GSUdVUkVEKQo+PiArwqDCoMKgwqDC
oMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4+ICsKPj4gK8KgwqDCoCB1a19uZXRkZXZfaW5mb19nZXQo
ZGV2LCAmZGV2X2luZm8pOwo+PiArwqDCoMKgIGlmIChkZXZfY29uZi0+bmJfcnhfcXVldWVzID4g
ZGV2X2luZm8ubWF4X3J4X3F1ZXVlcykKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFM
Owo+PiArwqDCoMKgIGlmIChkZXZfY29uZi0+bmJfdHhfcXVldWVzID4gZGV2X2luZm8ubWF4X3R4
X3F1ZXVlcykKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+PiArCj4+ICvCoMKg
wqAgcmV0ID0gZGV2LT5vcHMtPmNvbmZpZ3VyZShkZXYsIGRldl9jb25mKTsKPj4gK8KgwqDCoCBp
ZiAocmV0ID49IDApIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHVrX3ByX2luZm8oIm5ldGRldiUiUFJJ
dTE2IjogQ29uZmlndXJlZCBpbnRlcmZhY2VcbiIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGRldi0+X2RhdGEtPmlkKTsKPj4gK8KgwqDCoMKgwqDCoMKgIGRldi0+X2RhdGEtPnN0
YXRlID0gVUtfTkVUREVWX0NPTkZJR1VSRUQ7Cj4+ICvCoMKgwqAgfSBlbHNlIHsKPj4gK8KgwqDC
oMKgwqDCoMKgIHVrX3ByX2VycigibmV0ZGV2JSJQUkl1MTYiOiBGYWlsZWQgdG8gY29uZmlndXJl
IGludGVyZmFjZTogCj4+ICVkXG4iLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2
LT5fZGF0YS0+aWQsIHJldCk7Cj4+ICvCoMKgwqAgfQo+PiArwqDCoMKgIHJldHVybiByZXQ7Cj4+
ICt9Cj4+ICsKPj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMK
Pj4gK3N0YXRpYyB2b2lkIF9kaXNwYXRjaGVyKHZvaWQgKmFyZykKPj4gK3sKPj4gK8KgwqDCoCBz
dHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIgKmhhbmRsZXIgPQo+PiArwqDCoMKgwqDCoMKg
wqAgKHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAqKSBhcmc7Cj4+ICsKPj4gK8KgwqDC
oCBVS19BU1NFUlQoaGFuZGxlcik7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGhhbmRsZXItPmNhbGxi
YWNrKTsKPj4gKwo+PiArwqDCoMKgIGZvciAoOzspIHsKPj4gK8KgwqDCoMKgwqDCoMKgIHVrX3Nl
bWFwaG9yZV9kb3duKCZoYW5kbGVyLT5ldmVudHMpOwo+PiArwqDCoMKgwqDCoMKgwqAgaGFuZGxl
ci0+Y2FsbGJhY2soaGFuZGxlci0+ZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBoYW5kbGVyLT5xdWV1ZV9pZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgaGFuZGxlci0+Y29va2llKTsKPj4gK8KgwqDCoCB9Cj4+ICt9Cj4+ICsjZW5kaWYK
Pj4gKwo+IAo+IE1heWJlIGl0IGlzIHdpc2UgdG8gbW92ZSB0aGUgQ09ORklHX0xJQlVLTkVUREVW
X0RJU1BBVENIRVJUSFJFQURTIAo+IHBhcmFtZXRlcnMgdG8gdGhlIGVuZC4KCkkgdGhvdWdodCB0
aGUgc2FtZSBiZWZvcmUgYnV0IHlvdSB3b3VsZCB0aGVuIG5lZWQgdG8gc29tZXRoaW5nIHVnbHkg
bGlrZSAKYSBsZWFkaW5nIGNvbW1hIGluIG9yZGVyIHRvIG1ha2UgdGhlIGFyZ3VtZW50IGxpc3Qg
cmlnaHQuIEZvciBleGFtcGxlOgoKc3RhdGljIGludCBfY3JlYXRlX2V2ZW50X2hhbmRsZXIodWtf
bmV0ZGV2X3F1ZXVlX2V2ZW50X3QgY2FsbGJhY2ssCiAgICAgICAgICAgICAgICAgIHZvaWQgKmNh
bGxiYWNrX2Nvb2tpZSwKICAgICAgICAgICAgICAgICAgc3RydWN0IHVrX25ldGRldl9ldmVudF9o
YW5kbGVyICpoCiNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKICAg
ICAgICAgICAgICAgICAgLAogICAgICAgICAgICAgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHVpbnQxNl90IHF1ZXVlX2lkLAogICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICpxdWV1ZV90
eXBlX3N0ciwKICAgICAgICAgICAgICAgICAgc3RydWN0IHVrX3NjaGVkICpzLAojZW5kaWYKICAg
ICAgICAgICAgICAgICAgKQoKQW55IG90aGVyIGlkZWE/Cgo+PiArc3RhdGljIGludCBfY3JlYXRl
X2V2ZW50X2hhbmRsZXIodWtfbmV0ZGV2X3F1ZXVlX2V2ZW50X3QgY2FsbGJhY2ssCj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB2b2lkICpjYWxsYmFja19jb29raWUsCj4+ICsj
aWZkZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCj4+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1
ZXVlX2lkLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAq
cXVldWVfdHlwZV9zdHIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1
Y3QgdWtfc2NoZWQgKnMsCj4+ICsjZW5kaWYKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAqaCkKPj4gK3sKPj4gK8KgwqDC
oCBVS19BU1NFUlQoaCk7Cj4gCj4gUHJvYmFibHkgbWlzc2luZyBVS19BU1NFUlQKPiBVS19BU1NF
UlQoY2FsbGJhY2sgfHwgKCFjYWxsYmFjayAmJiAhY2FsbGJhY2tfY29va2llKSkKCkZpbmUsIEkg
d2lsbCBhZGQgaXQuCgo+PiArI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhS
RUFEUwo+PiArwqDCoMKgIFVLX0FTU0VSVCghaC0+ZGlzcGF0Y2hlcik7Cj4+ICsjZW5kaWYKPj4g
Kwo+PiArwqDCoMKgIGgtPmNhbGxiYWNrID0gY2FsbGJhY2s7Cj4+ICvCoMKgwqAgaC0+Y29va2ll
wqDCoCA9IGNhbGxiYWNrX2Nvb2tpZTsKPj4gKwo+PiArI2lmZGVmIENPTkZJR19MSUJVS05FVERF
Vl9ESVNQQVRDSEVSVEhSRUFEUwo+PiArwqDCoMKgIC8qIElmIHdlIGRvIG5vdCBoYXZlIGEgY2Fs
bGJhY2ssIHdlIGRvIG5vdCBuZWVkIGEgdGhyZWFkICovCj4+ICvCoMKgwqAgaWYgKCFjYWxsYmFj
aykKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAwOwo+PiArCj4+ICvCoMKgwqAgaC0+ZGV2ID0g
ZGV2Owo+PiArwqDCoMKgIGgtPnF1ZXVlX2lkID0gcXVldWVfaWQ7Cj4+ICvCoMKgwqAgdWtfc2Vt
YXBob3JlX2luaXQoJmgtPmV2ZW50cywgMCk7Cj4+ICvCoMKgwqAgaC0+ZGlzcGF0Y2hlcl9zID0g
czsKPj4gKwo+PiArwqDCoMKgIC8qIENyZWF0ZSBhIG5hbWUgZm9yIHRoZSBkaXNwYXRjaGVyIHRo
cmVhZC4KPj4gK8KgwqDCoMKgICogSW4gY2FzZSBvZiBlcnJvcnMsIHdlIGp1c3QgY29udGludWUg
d2l0aG91dCBhIG5hbWUKPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgaWYgKGFzcHJpbnRmKCZo
LT5kaXNwYXRjaGVyX25hbWUsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIm5ldGRldiUi
UFJJdTE2Ii0lc1slIlBSSXUxNiJdIiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkZXYt
Pl9kYXRhLT5pZCwgcXVldWVfdHlwZV9zdHIsIHF1ZXVlX2lkKSA8IDApIHsKPj4gK8KgwqDCoMKg
wqDCoMKgIGgtPmRpc3BhdGNoZXJfbmFtZSA9IE5VTEw7Cj4+ICvCoMKgwqAgfQo+PiArCj4+ICvC
oMKgwqAgaC0+ZGlzcGF0Y2hlciA9IHVrX3NjaGVkX3RocmVhZF9jcmVhdGUoaC0+ZGlzcGF0Y2hl
cl9zLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBoLT5kaXNwYXRjaGVyX25hbWUsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9kaXNwYXRjaGVyLCBoKTsKPj4gK8KgwqDCoCBpZiAo
IWgtPmRpc3BhdGNoZXIpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIGlmIChoLT5kaXNwYXRjaGVyX25h
bWUpCj4gCj4gQW55IHJlYXNvbiB3aHkgd2UgdXNlIGZyZWUgaW5zdGVhZCBvZiB1a19mcmVlPwoK
WWVzLCBiZWNhdXNlIHdlIHVzZWQgdGhlIGxpYmMgZnVuY3Rpb24gYXNwcmludGYoKSB0byBhbGxv
Y2F0ZSB0aGUgCnN0cmluZy4gU2luY2Ugd2UgZG8gbm90IGtub3cgd2hpY2ggYWxsb2NhdG9yIGxp
YmMgaXMgdXNpbmcsIGl0IGlzIGJldHRlciAKdG8gbGV0IGFsc28gbGliYyBmcmVlIHRoaXMgbWVt
b3J5IGFsbG9jYXRpb24uIE90aGVyd2lzZSB3ZSByaXNrIHRvIApyZXR1cm4gdGhpcyBtZW1vcnkg
dG8gdGhlIHdyb25nIGFsbG9jYXRvci4KCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyZWUo
aC0+ZGlzcGF0Y2hlcl9uYW1lKTsKPj4gK8KgwqDCoMKgwqDCoMKgIGgtPmRpc3BhdGNoZXJfbmFt
ZSA9IE5VTEw7Cj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVOT01FTTsKPj4gK8KgwqDCoCB9
Cj4+ICsjZW5kaWYKPj4gKwo+PiArwqDCoMKgIHJldHVybiAwOwo+PiArfQo+PiArCj4+ICtzdGF0
aWMgdm9pZCBfZGVzdHJveV9ldmVudF9oYW5kbGVyKHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFu
ZGxlciAqaAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fbWF5YmVf
dW51c2VkKQo+PiArewo+PiArwqDCoMKgIFVLX0FTU0VSVChoKTsKPj4gKwo+PiArI2lmZGVmIENP
TkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUwo+PiArwqDCoMKgIFVLX0FTU0VSVCho
LT5kaXNwYXRjaGVyX3MpOwo+PiArCj4+ICvCoMKgwqAgaWYgKGgtPmRpc3BhdGNoZXIpCj4+ICvC
oMKgwqDCoMKgwqDCoCB1a19zY2hlZF90aHJlYWRfZGVzdHJveShoLT5kaXNwYXRjaGVyX3MsIGgt
PmRpc3BhdGNoZXIpOwo+PiArwqDCoMKgIGgtPmRpc3BhdGNoZXIgPSBOVUxMOwo+PiArCj4+ICvC
oMKgwqAgaWYgKGgtPmRpc3BhdGNoZXJfbmFtZSkKPiAKPiBBbnkgcmVhc29uIHdoeSB3ZSB1c2Ug
ZnJlZSBpbnN0ZWFkIG9mIHVrX2ZyZWU/Cj4+ICvCoMKgwqDCoMKgwqDCoCBmcmVlKGgtPmRpc3Bh
dGNoZXJfbmFtZSk7Cj4+ICvCoMKgwqAgaC0+ZGlzcGF0Y2hlcl9uYW1lID0gTlVMTDsKPj4gKyNl
bmRpZgo+PiArfQo+PiArCj4+ICtpbnQgdWtfbmV0ZGV2X3J4cV9jb25maWd1cmUoc3RydWN0IHVr
X25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB1aW50MTZfdCBuYl9kZXNjLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpyeF9jb25mKQo+PiArewo+PiAr
wqDCoMKgIGludCBlcnI7Cj4+ICsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2KTsKPj4gK8KgwqDC
oCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzKTsK
Pj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnJ4cV9jb25maWd1cmUpOwo+PiArwqDCoMKg
IFVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4+
ICvCoMKgwqAgVUtfQVNTRVJUKHJ4X2NvbmYpOwo+PiArI2lmZGVmIENPTkZJR19MSUJVS05FVERF
Vl9ESVNQQVRDSEVSVEhSRUFEUwo+PiArwqDCoMKgIFVLX0FTU0VSVCgocnhfY29uZi0+Y2FsbGJh
Y2sgJiYgcnhfY29uZi0+cykKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoCB8fCAhcnhfY29uZi0+Y2Fs
bGJhY2spOwo+PiArI2VuZGlmCj4+ICsKPj4gK8KgwqDCoCBpZiAoZGV2LT5fZGF0YS0+c3RhdGUg
IT0gVUtfTkVUREVWX0NPTkZJR1VSRUQpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZB
TDsKPj4gKwo+PiArwqDCoMKgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFyZSBub3QgaW5pdGlhbGl6
aW5nIHRoaXMgcXVldWUgYSBzZWNvbmQgCj4+IHRpbWUgKi8KPj4gK8KgwqDCoCBpZiAoIVBUUklT
RVJSKGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g
LUVCVVNZOwo+PiArCj4+ICvCoMKgwqAgZXJyID0gX2NyZWF0ZV9ldmVudF9oYW5kbGVyKHJ4X2Nv
bmYtPmNhbGxiYWNrLCAKPj4gcnhfY29uZi0+Y2FsbGJhY2tfY29va2llLAo+PiArI2lmZGVmIENP
TkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUwo+PiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2LCBxdWV1ZV9pZCwgInJ4cSIsIHJ4X2NvbmYtPnMsCj4+
ICsjZW5kaWYKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICZkZXYt
Pl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF0pOwo+PiArwqDCoMKgIGlmIChlcnIpCj4+ICvC
oMKgwqDCoMKgwqDCoCBnb3RvIGVycl9vdXQ7Cj4+ICsKPj4gK8KgwqDCoCBkZXYtPl9yeF9xdWV1
ZVtxdWV1ZV9pZF0gPSBkZXYtPm9wcy0+cnhxX2NvbmZpZ3VyZShkZXYsIHF1ZXVlX2lkLAo+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIG5iX2Rlc2MsIHJ4X2NvbmYpOwo+PiArwqDCoMKgIGlmIChQVFJJU0VSUihkZXYtPl9yeF9x
dWV1ZVtxdWV1ZV9pZF0pKSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBlcnIgPSBQVFIyRVJSKGRldi0+
X3J4X3F1ZXVlW3F1ZXVlX2lkXSk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGVycl9kZXN0cm95
X2hhbmRsZXI7Cj4+ICvCoMKgwqAgfQo+PiArCj4+ICvCoMKgwqAgdWtfcHJfaW5mbygibmV0ZGV2
JSJQUkl1MTYiOiBDb25maWd1cmVkIHJlY2VpdmUgcXVldWUgJSJQUkl1MTYiXG4iLAo+PiArwqDC
oMKgwqDCoMKgwqDCoMKgwqAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX2lkKTsKPj4gK8KgwqDCoCBy
ZXR1cm4gMDsKPj4gKwo+PiArZXJyX2Rlc3Ryb3lfaGFuZGxlcjoKPj4gK8KgwqDCoCBfZGVzdHJv
eV9ldmVudF9oYW5kbGVyKCZkZXYtPl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF0pOwo+PiAr
ZXJyX291dDoKPj4gK8KgwqDCoCByZXR1cm4gZXJyOwo+PiArfQo+PiArCj4+ICtpbnQgdWtfbmV0
ZGV2X3R4cV9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9p
ZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50MTZfdCBuYl9kZXNjLAo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfdHhxdWV1
ZV9jb25mICp0eF9jb25mKQo+PiArewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDC
oMKgIFVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMp
Owo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+dHhxX2NvbmZpZ3VyZSk7Cj4+ICvCoMKg
wqAgVUtfQVNTRVJUKHR4X2NvbmYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChxdWV1ZV9pZCA8IENP
TkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4+ICsKPj4gK8KgwqDCoCBpZiAoZGV2LT5f
ZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX0NPTkZJR1VSRUQpCj4+ICvCoMKgwqDCoMKgwqDCoCBy
ZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArwqDCoMKgIC8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFyZSBu
b3QgaW5pdGlhbGl6aW5nIHRoaXMgcXVldWUgYSBzZWNvbmQgCj4+IHRpbWUgKi8KPj4gK8KgwqDC
oCBpZiAoIVBUUklTRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSkpCj4+ICvCoMKgwqDCoMKg
wqDCoCByZXR1cm4gLUVCVVNZOwo+PiArCj4+ICvCoMKgwqAgZGV2LT5fdHhfcXVldWVbcXVldWVf
aWRdID0gZGV2LT5vcHMtPnR4cV9jb25maWd1cmUoZGV2LCBxdWV1ZV9pZCwKPj4gK8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuYl9k
ZXNjLCB0eF9jb25mKTsKPj4gK8KgwqDCoCBpZiAoUFRSSVNFUlIoZGV2LT5fdHhfcXVldWVbcXVl
dWVfaWRdKSkKPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiBQVFIyRVJSKGRldi0+X3R4X3F1ZXVl
W3F1ZXVlX2lkXSk7Cj4+ICsKPj4gK8KgwqDCoCB1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6
IENvbmZpZ3VyZWQgdHJhbnNtaXQgcXVldWUgJSJQUkl1MTYiXG4iLAo+PiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBkZXYtPl9kYXRhLT5pZCwgcXVldWVfaWQpOwo+PiArwqDCoMKgIHJl
dHVybiAwOwo+PiArfQo+PiArCj4+ICtpbnQgdWtfbmV0ZGV2X3N0YXJ0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldikKPj4gK3sKPj4gK8KgwqDCoCBpbnQgcmV0Owo+PiArCj4+ICvCoMKgwqAgVUtfQVNT
RVJUKGRldik7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+PiArwqDCoMKgIFVL
X0FTU0VSVChkZXYtPm9wcyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFydCk7
Cj4+ICsKPj4gK8KgwqDCoCBpZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX0NPTkZJ
R1VSRUQpCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPj4gKwo+PiArwqDCoMKg
IHJldCA9IGRldi0+b3BzLT5zdGFydChkZXYpOwo+PiArwqDCoMKgIGlmIChyZXQgPj0gMCkgewo+
PiArwqDCoMKgwqDCoMKgwqAgdWtfcHJfaW5mbygibmV0ZGV2JSJQUkl1MTYiOiBTdGFydGVkIGlu
dGVyZmFjZVxuIiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGV2LT5fZGF0YS0+
aWQpOwo+PiArwqDCoMKgwqDCoMKgwqAgZGV2LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfUlVO
TklORzsKPj4gK8KgwqDCoCB9Cj4+ICvCoMKgwqAgcmV0dXJuIHJldDsKPj4gK30KPj4KPiAKPiBU
aGFua3MgJiBSZWdhcmRzCj4gU2hhcmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 22:56:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 22:56:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDHDo-0002nT-OE; Thu, 18 Oct 2018 22:56:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDHDn-0002mw-DW
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 22:56:51 +0000
X-Inumbo-ID: b459f6f2-d328-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b459f6f2-d328-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 00:54:01 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 68ACF104A3D;
 Fri, 19 Oct 2018 00:56:48 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 1NvhLnFQAdfb; Fri, 19 Oct 2018 00:56:48 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 3FEC91048AD;
 Fri, 19 Oct 2018 00:56:44 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 00:56:43 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-10-git-send-email-simon.kuenzer@neclab.eu>
 <0e25b2e1-b515-b578-f14b-d8b16bb0f350@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181019005643402
Message-ID: <a9e0a0bc-dad4-123e-f061-4050f1c2c3ae@neclab.eu>
Date: Fri, 19 Oct 2018 00:56:43 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <0e25b2e1-b515-b578-f14b-d8b16bb0f350@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 09/11] lib/uknetdev:
 Promiscuous mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMS4xMC4xOCAxNjo1OCwgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBIZWxsbyBTaW1v
biwKPiAKPiBQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lLgo+IAo+IE9uIDEwLzEwLzIw
MTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+IEZyb206IFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+Pgo+PiBBZGQgaW50ZXJmYWNlcyB0byBx
dWVyeSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBtb2RlIGZvciBhCj4+IG5ldGRl
di4KPj4KPj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNs
YWIuZXU+Cj4+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1
OTNAZ21haWwuY29tPgo+PiAtLS0KPj4gwqAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICsrCj4+IMKgIGxpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldi5owqDCoMKgwqDCoCB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKg
IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggfMKgIDkgKysrKysrKysrCj4+
IMKgIGxpYi91a25ldGRldi9uZXRkZXYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHwgMzUgCj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+IMKgIDQgZmls
ZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+PiBpbmRleCA4
YjEzNDk5Li42ZThiMDZiIDEwMDY0NAo+PiAtLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
awo+PiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+PiBAQCAtMjQsMyArMjQsNSBA
QCB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZQo+PiDCoCB1a19uZXRkZXZfc3RhcnQKPj4gwqAgdWtf
bmV0ZGV2X2h3YWRkcl9zZXQKPj4gwqAgdWtfbmV0ZGV2X2h3YWRkcl9nZXQKPj4gK3VrX25ldGRl
dl9wcm9taXNjdW91c19nZXQKPj4gK3VrX25ldGRldl9wcm9taXNjdW91c19zZXQKPj4gZGlmZiAt
LWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIAo+PiBiL2xpYi91a25ldGRl
di9pbmNsdWRlL3VrL25ldGRldi5oCj4+IGluZGV4IDQyM2UzMjEuLmIwNjk3OGEgMTAwNjQ0Cj4+
IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+ICsrKyBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+IEBAIC0zMDksNiArMzA5LDMyIEBAIGNvbnN0IHN0
cnVjdCB1a19od2FkZHIgCj4+ICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpOwo+PiDCoMKgICovCj4+IMKgIGludCB1a19uZXRkZXZfaHdhZGRyX3NldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCAKPj4gdWtfaHdhZGRyICpod2FkZHIpOwo+PiAr
LyoqCj4+ICsgKiBSZXR1cm5zIGlmIHByb21pc2N1b3VzIG1vZGUgaXMgZW5hYmxlZCBmb3IgYW4g
VW5pa3JhZnQgbmV0d29yayAKPj4gZGV2aWNlLgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4g
KyAqwqDCoCBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4+ICsgKiBAcmV0dXJuCj4+ICsg
KsKgwqAgLSAoMSk6IGlmIHByb21pc2N1b3VzIGlzIGVuYWJsZWQKPj4gKyAqwqDCoCAtICgwKTog
aWYgcHJvbWlzY3VvdXMgaXMgZGlzYWJsZWQuCj4gCj4gV2Ugc2hvdWxkIHJlcGhyYXNlIGl0IGFz
IDwgMCBmb3IgZXJyb3IsIGFzIGl0IGRlcGVuZCBvbiB0aGUgZGV2aWNlIGRyaXZlcgoKWWVzCgo+
PiArICrCoMKgIC0gKC0xKTogb24gZXJyb3IKPj4gKyAqLwo+PiAraW50IHVrX25ldGRldl9wcm9t
aXNjdW91c19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPj4gKwo+PiArLyoqCj4+ICsgKiBF
bmFibGVzIG9yIGRpc2FibGVzIHByb21pc2N1b3VzIG1vZGUgZm9yIGFuIFVuaWtyYWZ0IG5ldHdv
cmsgZGV2aWNlLgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3Jh
ZnQgTmV0d29yayBEZXZpY2UuCj4+ICsgKiBAcGFyYW0gbW9kZQo+PiArICrCoMKgIC0gKDApOiBk
aXNhYmxlIHByb21pc2N1b3VzIG1vZGUKPj4gKyAqwqDCoCAtICgxKTogZW5hYmxlIHByb21pc2N1
b3VzIG1vZGUKPj4gKyAqIEByZXR1cm4KPj4gKyAqwqDCoCAtICgwKTogaWYgc3VjY2Vzc2Z1bC4K
Pj4gKyAqwqDCoCAtICgtRU5PVFNVUCk6IGlmIGRyaXZlciBkb2Vzbid0IHN1cHBvcnQgcHJvbWlz
Y3VvdXMgbW9kZS4KPj4gKyAqLwo+PiAraW50IHVrX25ldGRldl9wcm9taXNjdW91c19zZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSk7Cj4+ICsKPj4gwqAgI2lmZGVmIF9fY3BsdXNw
bHVzCj4+IMKgIH0KPj4gwqAgI2VuZGlmCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oIAo+PiBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRl
dl9jb3JlLmgKPj4gaW5kZXggY2NhNmQxMy4uMDE3MTEyNyAxMDA2NDQKPj4gLS0tIGEvbGliL3Vr
bmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+PiArKysgYi9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oCj4+IEBAIC0yNDEsNiArMjQxLDExIEBAIHR5cGVkZWYgY29u
c3Qgc3RydWN0IHVrX2h3YWRkciAKPj4gKigqdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCkoCj4+IMKg
IHR5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdCkoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNv
bnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcik7Cj4+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5
cGUgdG8gZ2V0IHRoZSBjdXJyZW50IHByb21pc2N1b3VzIG1vZGUgKi8KPj4gK3R5cGVkZWYgaW50
ICgqdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+
PiArCj4+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gZW5hYmxlIG9yIGRpc2FibGUgcHJv
bWlzY3VvdXMgbW9kZSAqLwo+PiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcHJvbWlzY3VvdXNf
c2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgaW50IAo+PiBtb2RlKTsKPj4gwqAgLyoqCj4+
IMKgwqAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkg
YSBkcml2ZXIuCj4+IEBAIC0yNTAsNiArMjU1LDEwIEBAIHN0cnVjdCB1a19uZXRkZXZfb3BzIHsK
Pj4gwqDCoMKgwqDCoCB1a19uZXRkZXZfaHdhZGRyX2dldF90wqDCoMKgwqDCoMKgwqDCoMKgIGh3
YWRkcl9nZXQ7wqDCoMKgwqDCoMKgIC8qIHJlY29tbWVuZGVkICovCj4+IMKgwqDCoMKgwqAgdWtf
bmV0ZGV2X2h3YWRkcl9zZXRfdMKgwqDCoMKgwqDCoMKgwqDCoCBod2FkZHJfc2V0O8KgwqDCoMKg
wqDCoCAvKiBvcHRpb25hbCAqLwo+PiArwqDCoMKgIC8qKiBQcm9taXNjdW91cyBtb2RlLiAqLwo+
PiArwqDCoMKgIHVrX25ldGRldl9wcm9taXNjdW91c19zZXRfdMKgwqDCoMKgIHByb21pc2N1b3Vz
X3NldDvCoCAvKiBvcHRpb25hbCAqLwo+PiArwqDCoMKgIHVrX25ldGRldl9wcm9taXNjdW91c19n
ZXRfdMKgwqDCoMKgIHByb21pc2N1b3VzX2dldDsKPj4gKwo+PiDCoMKgwqDCoMKgIC8qKiBEZXZp
Y2UvZHJpdmVyIGNhcGFiaWxpdGllcyBhbmQgaW5mby4gKi8KPj4gwqDCoMKgwqDCoCB1a19uZXRk
ZXZfaW5mb19nZXRfdMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW5mb19nZXQ7Cj4+IMKgwqDCoMKg
wqAgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90wqDCoMKgwqDCoMKgwqAgdHhxX2luZm9fZ2V0Owo+
PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3VrbmV0ZGV2L25ldGRl
di5jCj4+IGluZGV4IDNmYjUyMWEuLjBhZjYzYWMgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRl
di9uZXRkZXYuYwo+PiArKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPj4gQEAgLTc4LDYgKzc4
LDcgQEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCAK
Pj4gc3RydWN0IHVrX2FsbG9jICphLAo+PiDCoMKgwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+
dHhxX2luZm9fZ2V0KTsKPj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25m
aWd1cmUpOwo+PiDCoMKgwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOwo+PiArwqDC
oMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKPj4gwqDCoMKgwqDCoCBk
ZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LMKgIGRydl9uYW1lKTsKPj4g
wqDCoMKgwqDCoCBpZiAoIWRldi0+X2RhdGEpCj4+IEBAIC00NDksMyArNDUwLDM3IEBAIGNvbnN0
IHN0cnVjdCB1a19od2FkZHIgCj4+ICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYpCj4+IMKgwqDCoMKgwqAgcmV0dXJuIGRldi0+b3BzLT5od2FkZHJfZ2V0KGRldik7
Cj4+IMKgIH0KPj4gKwo+PiAraW50IHVrX25ldGRldl9wcm9taXNjdW91c19nZXQoc3RydWN0IHVr
X25ldGRldiAqZGV2KQo+PiArewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKg
IFVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMpOwo+
PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKPj4gKwo+PiAr
wqDCoMKgIC8qIFdlIGRvIHN1cHBvcnQgcmV0cmlldmluZyBvZiBwcm9taXNjdW91cyBtb2RlCj4+
ICvCoMKgwqDCoCAqIG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQKPj4gK8KgwqDCoMKg
ICovCj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9D
T05GSUdVUkVEIHx8Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgZGV2LT5fZGF0YS0+c3RhdGUgPT0g
VUtfTkVUREVWX1JVTk5JTkcpOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+b3BzLT5wcm9t
aXNjdW91c19nZXQoZGV2KTsKPj4gK30KPj4gKwo+PiAraW50IHVrX25ldGRldl9wcm9taXNjdW91
c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBpbnQgbW9kZSkKPj4gK3sKPj4gK8KgwqDCoCBV
S19BU1NFUlQoZGV2KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+ICvCoMKg
wqAgVUtfQVNTRVJUKGRldi0+b3BzKTsKPj4gKwo+PiArwqDCoMKgIC8qIFdlIGRvIHN1cHBvcnQg
c2V0dGluZyBvZiBwcm9taXNjdW91cyBtb2RlCj4+ICvCoMKgwqDCoCAqIG9ubHkgd2hlbiBkZXZp
Y2Ugd2FzIGNvbmZpZ3VyZWQKPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRl
di0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9DT05GSUdVUkVECj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+PiArCj4+
ICvCoMKgwqAgaWYgKHVubGlrZWx5KCFkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KSkKPj4gK8Kg
wqDCoMKgwqDCoMKgIHJldHVybiAtRU5PVFNVUDsKPj4gKwo+PiArwqDCoMKgIHJldHVybiBkZXYt
Pm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9kZSA/IDEgOiAwKTsKPj4gK30KPj4KPiBUaGFu
a3MgJiBSZWdhcmRzCj4gU2hhcmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 23:04:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 23:04:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDHKl-0003YV-AD; Thu, 18 Oct 2018 23:04:03 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDHKk-0003YQ-E6
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 23:04:02 +0000
X-Inumbo-ID: 4ba81e03-d32a-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4ba81e03-d32a-11e8-a6a9-d7ebe60f679a;
 Thu, 18 Oct 2018 23:05:25 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id BFE78F2040;
 Fri, 19 Oct 2018 01:03:58 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id wAaMd0ME3g6E; Fri, 19 Oct 2018 01:03:58 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 9469EF2005;
 Fri, 19 Oct 2018 01:03:54 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 01:03:54 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-11-git-send-email-simon.kuenzer@neclab.eu>
 <9af040f8-efad-6580-5bc2-b0a766c319c4@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181019010353682
Message-ID: <47ab40d9-6d97-8eaf-7d4f-c4a197a17400@neclab.eu>
Date: Fri, 19 Oct 2018 01:03:53 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <9af040f8-efad-6580-5bc2-b0a766c319c4@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 10/11] lib/uknetdev: MTU
 interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMS4xMC4xOCAxNzoxNCwgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBIZWxsbyBTaW1v
biwKPiAKPiBQbGVhc2UgZmluZCB0aGUgY29tbWVudHMgaW5saW5lOgo+IAo+IE9uIDEwLzEwLzIw
MTggMDI6MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+IEZyb206IFJhenZhbiBDb2pvY2Fy
dSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+Pgo+PiBBZGQgaW50ZXJmYWNlcyB0byBx
dWVyeSBhbmQgc2V0IHRoZSBtYXhpbXVtIHRyYW5zbWlzc2lvbiB1bml0IChNVFUpCj4+IGZvciBh
IG5ldGRldi4KPj4KPj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3Vlbnpl
ckBuZWNsYWIuZXU+Cj4+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNv
am9jYXJ1OTNAZ21haWwuY29tPgo+PiAtLS0KPj4gwqAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMu
dWvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICsrCj4+IMKgIGxpYi91a25ldGRldi9pbmNs
dWRlL3VrL25ldGRldi5owqDCoMKgwqDCoCB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysr
Kwo+PiDCoCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIHwgMTAgKysrKysr
KysrKwo+PiDCoCBsaWIvdWtuZXRkZXYvbmV0ZGV2LmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8IDM1IAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiDC
oCA0IGZpbGVzIGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdpdCBhL2xp
Yi91a25ldGRldi9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPj4g
aW5kZXggNmU4YjA2Yi4uOWUyNjRiZCAxMDA2NDQKPj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9y
dHN5bXMudWsKPj4gKysrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPj4gQEAgLTI2LDMg
KzI2LDUgQEAgdWtfbmV0ZGV2X2h3YWRkcl9zZXQKPj4gwqAgdWtfbmV0ZGV2X2h3YWRkcl9nZXQK
Pj4gwqAgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldAo+PiDCoCB1a19uZXRkZXZfcHJvbWlzY3Vv
dXNfc2V0Cj4+ICt1a19uZXRkZXZfbXR1X2dldAo+PiArdWtfbmV0ZGV2X210dV9zZXQKPj4gZGlm
ZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oIAo+PiBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+IGluZGV4IGIwNjk3OGEuLmU1Mjc1MzQgMTAwNjQ0
Cj4+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+ICsrKyBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+IEBAIC0zMzUsNiArMzM1LDMzIEBAIGludCB1
a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgCj4+ICpkZXYpOwo+PiDC
oMKgICovCj4+IMKgIGludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwgaW50IG1vZGUpOwo+PiArLyoqCj4+ICsgKiBSZXR1cm5zIHRoZSBNVFUgb2YgYW4g
VW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrC
oMKgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPj4gKyAqIEByZXR1cm4KPj4gKyAqwqDC
oCAtICg+MCk6IE1UVSBvZiB0aGUgdWtfbmV0ZGV2Cj4gVGhlIGRlc2NyaXB0aW9uIGRvZXMgbm90
IG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbi4KPj4gKyAqwqDCoCAtICgtRU5PVFNVUCk6IGRyaXZl
ciBkaWQgbm90IHNldCBhIE1UVS4KPj4gKyAqLwo+PiAraW50IHVrX25ldGRldl9tdHVfZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKmRldik7Cj4+ICsKPj4gKy8qKgo+PiArICogQ2hhbmdlIHRoZSBNVFUg
b2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+
PiArICrCoMKgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPj4gKyAqIEBwYXJhbSBtdHUK
Pj4gKyAqwqDCoCBBIHVpbnQxNl90IGZvciB0aGUgTVRVIHRvIGJlIGFwcGxpZWQuCj4+ICsgKiBA
cmV0dXJuCj4+ICsgKsKgwqAgLSAoMCk6IGlmIHN1Y2Nlc3NmdWwuCj4gCj4gVGhlIGRlc2NyaXB0
aW9uIG9mIHRoZSBBUEkgZG9lcyBub3QgbWF0Y2ggd2l0aCB0aGUgaW1wbGVtZW50YXRpb24uCgpZ
ZXMsIHNvcnJ5IGZvciB0aGlzLiBJIHdpbGwgdXBkYXRlIGl0LgoKPj4gKyAqwqDCoCAtICgtRU5P
VFNVUCk6IGlmIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgo+PiArICrCoMKgIC0gKC1FSU8p
OiBpZiBkZXZpY2UgaXMgcmVtb3ZlZC4KPj4gKyAqwqDCoCAtICgtRUlOVkFMKTogaWYgKm10dSog
aW52YWxpZC4KPj4gKyAqwqDCoCAtICgtRUJVU1kpOiBpZiBvcGVyYXRpb24gaXMgbm90IGFsbG93
ZWQgd2hlbiB0aGUgZGV2aWNlIGlzIHJ1bm5pbmcKPj4gKyAqLwo+PiAraW50IHVrX25ldGRldl9t
dHVfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgbXR1KTsKPj4gKwo+PiDCoCAj
aWZkZWYgX19jcGx1c3BsdXMKPj4gwqAgfQo+PiDCoCAjZW5kaWYKPj4gZGlmZiAtLWdpdCBhL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggCj4+IGIvbGliL3VrbmV0ZGV2L2lu
Y2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+PiBpbmRleCAwMTcxMTI3Li5mNzhmOTkyIDEwMDY0NAo+
PiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4+ICsrKyBiL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPj4gQEAgLTI0Nyw2ICsyNDcsMTIg
QEAgdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0X3QpKHN0cnVjdCAKPj4g
dWtfbmV0ZGV2ICpkZXYpOwo+PiDCoCAvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gZW5hYmxl
IG9yIGRpc2FibGUgcHJvbWlzY3VvdXMgbW9kZSAqLwo+PiDCoCB0eXBlZGVmIGludCAoKnVrX25l
dGRldl9wcm9taXNjdW91c19zZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LCAKPj4gaW50IG1v
ZGUpOwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGdldCB0aGUgTVRVLiAqLwo+PiAr
dHlwZWRlZiB1aW50MTZfdCAoKnVrX25ldGRldl9tdHVfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYg
KmRldik7Cj4+ICsKPj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdGhlIE1UVSAq
Lwo+PiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIHVpbnQxNl90IG10dSk7Cj4+ICsKPj4gwqAgLyoqCj4+IMKgwqAgKiBBIHN0cnVjdHVy
ZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCj4+IMKgwqAg
Ki8KPj4gQEAgLTI1NSw2ICsyNjEsMTAgQEAgc3RydWN0IHVrX25ldGRldl9vcHMgewo+PiDCoMKg
wqDCoMKgIHVrX25ldGRldl9od2FkZHJfZ2V0X3TCoMKgwqDCoMKgwqDCoMKgwqAgaHdhZGRyX2dl
dDvCoMKgwqDCoMKgwqAgLyogcmVjb21tZW5kZWQgKi8KPj4gwqDCoMKgwqDCoCB1a19uZXRkZXZf
aHdhZGRyX3NldF90wqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkcl9zZXQ7wqDCoMKgwqDCoMKgIC8q
IG9wdGlvbmFsICovCj4+ICvCoMKgwqAgLyoqIFNldC9HZXQgTVRVLiAqLwo+PiArwqDCoMKgIHVr
X25ldGRldl9tdHVfZ2V0X3TCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXR1X2dldDsKPj4gK8Kg
wqDCoCB1a19uZXRkZXZfbXR1X3NldF90wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG10dV9zZXQ7
wqDCoMKgwqDCoMKgwqDCoMKgIC8qIG9wdGlvbmFsICovCj4+ICsKPj4gwqDCoMKgwqDCoCAvKiog
UHJvbWlzY3VvdXMgbW9kZS4gKi8KPj4gwqDCoMKgwqDCoCB1a19uZXRkZXZfcHJvbWlzY3VvdXNf
c2V0X3TCoMKgwqDCoCBwcm9taXNjdW91c19zZXQ7wqAgLyogb3B0aW9uYWwgKi8KPj4gwqDCoMKg
wqDCoCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0X3TCoMKgwqDCoCBwcm9taXNjdW91c19nZXQ7
Cj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0
ZGV2LmMKPj4gaW5kZXggMGFmNjNhYy4uNjI3NzM1NCAxMDA2NDQKPj4gLS0tIGEvbGliL3VrbmV0
ZGV2L25ldGRldi5jCj4+ICsrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwo+PiBAQCAtNzksNiAr
NzksNyBAQCBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IAo+PiBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4+IMKgwqDCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3Bz
LT50eHFfY29uZmlndXJlKTsKPj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnN0YXJ0
KTsKPj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldCk7Cj4+
ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT5tdHVfZ2V0KTsKPj4gwqDCoMKgwqDCoCBkZXYt
Pl9kYXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LMKgIGRydl9uYW1lKTsKPj4gwqDC
oMKgwqDCoCBpZiAoIWRldi0+X2RhdGEpCj4+IEBAIC00ODQsMyArNDg1LDM3IEBAIGludCB1a19u
ZXRkZXZfcHJvbWlzY3VvdXNfc2V0KHN0cnVjdCB1a19uZXRkZXYgCj4+ICpkZXYsIGludCBtb2Rl
KQo+PiDCoMKgwqDCoMKgIHJldHVybiBkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9k
ZSA/IDEgOiAwKTsKPj4gwqAgfQo+PiArCj4gCj4gVGhlcmUgaXMgbm93YXkgdG8gcmVwb3J0IGFu
eSBlcnJvciBvbiB0aGUgZ2V0dGluZyB0aGUgbXR1LCBhcyB0aGUgZHJpdmVyIAo+IHJldHVybnMg
YW4gdWludDE2X3QgZGF0YSB0eXBlLgoKWW91IGFyZSByaWdodC4gVGhlIGlkZWEgd2FzIHRvIGhh
dmUgdGhpcyBhcyBhIHJlbGlhYmxlIGludGVyZmFjZSB0aGF0IApuZXZlciBmYWlscy4gV2UgdGhv
dWdodCB0aGF0IHRoZSBNVFUgaW5mb3JtYXRpb24gc2hvdWxkIGFsd2F5cyBiZSB0aGVyZSwgCm90
aGVyd2lzZSB3ZSBhcmUgZG9pbmcgc29tZXRoaW5nIHNlcmlvdXNseSB3cm9uZy4gSSBhbSBjaGFu
Z2luZyB0aGUgCnJldHVybiB0eXBlIG9mIHVrX25ldGRldl9tdHVfZ2V0KCkgdG8gdWludDE2X3Qs
IHRvby4KCj4+ICtpbnQgdWtfbmV0ZGV2X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQo+
PiArewo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYt
Pl9kYXRhKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMpOwo+PiArwqDCoMKgIFVLX0FT
U0VSVChkZXYtPm9wcy0+bXR1X2dldCk7Cj4+ICsKPiAKPiBzL3NldHRpbmcvZ2V0dGluZwoKT29v
cHMsICB5b3UgYXJlIHJpZ2h0LgoKPj4gK8KgwqDCoCAvKiBXZSBkbyBzdXBwb3J0IHNldHRpbmcg
b2YgTVRVCj4+ICvCoMKgwqDCoCAqIG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQKPj4g
K8KgwqDCoMKgICovCj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVL
X05FVERFVl9DT05GSUdVUkVECj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgfHwgZGV2LT5fZGF0YS0+
c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+
b3BzLT5tdHVfZ2V0KGRldik7Cj4+ICt9Cj4+ICsKPj4gK2ludCB1a19uZXRkZXZfbXR1X3NldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10dSkKPj4gK3sKPj4gK8KgwqDCoCBVS19B
U1NFUlQoZGV2KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+ICvCoMKgwqAg
VUtfQVNTRVJUKGRldi0+b3BzKTsKPiAKPiBzL3JldHJpZXZpbmcvc2V0dGluZwo+PiArCj4+ICvC
oMKgwqAgLyogV2UgZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIE1UVQo+PiArwqDCoMKgwqAgKiBv
bmx5IHdoZW4gZGV2aWNlIHdhcyBjb25maWd1cmVkCj4+ICvCoMKgwqDCoCAqLwo+PiArwqDCoMKg
IFVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfQ09ORklHVVJFRAo+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5O
SU5HKTsKPj4gKwo+PiArwqDCoMKgIGlmIChkZXYtPm9wcy0+bXR1X3NldCA9PSBOVUxMKQo+PiAr
wqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9UU1VQOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIGRl
di0+b3BzLT5tdHVfc2V0KGRldiwgbXR1KTsKPj4gK30KPj4KPiAKPiBUaGFua3MgJiBSZWdhcmRz
Cj4gU2hhcmFuCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 18 23:12:26 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 18 Oct 2018 23:12:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDHSr-0004JX-1Q; Thu, 18 Oct 2018 23:12:25 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=umqm=m6=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDHSp-0004JR-7l
 for minios-devel@lists.xen.org; Thu, 18 Oct 2018 23:12:23 +0000
X-Inumbo-ID: 76f119a9-d32b-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 76f119a9-d32b-11e8-a6a9-d7ebe60f679a;
 Thu, 18 Oct 2018 23:13:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id ED48F104A3D;
 Fri, 19 Oct 2018 01:12:20 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6oTGf99zgzMS; Fri, 19 Oct 2018 01:12:20 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id CA3C81048AD;
 Fri, 19 Oct 2018 01:12:16 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 01:12:16 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-10-git-send-email-simon.kuenzer@neclab.eu>
 <0e25b2e1-b515-b578-f14b-d8b16bb0f350@neclab.eu>
 <a9e0a0bc-dad4-123e-f061-4050f1c2c3ae@neclab.eu>
X-Tagtoolbar-Keys: D20181019011215934
Message-ID: <88c1cc55-48f6-0854-5148-69dc0f2af3c6@neclab.eu>
Date: Fri, 19 Oct 2018 01:12:15 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <a9e0a0bc-dad4-123e-f061-4050f1c2c3ae@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 09/11] lib/uknetdev:
 Promiscuous mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOS4xMC4xOCAwMDo1NiwgU2ltb24gS3VlbnplciB3cm90ZToKPiAKPiAKPiBPbiAxMS4x
MC4xOCAxNjo1OCwgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPj4gSGVsbG8gU2ltb24sCj4+Cj4+
IFBsZWFzZSBmaW5kIHRoZSBjb21tZW50cyBpbmxpbmUuCj4+Cj4+IE9uIDEwLzEwLzIwMTggMDI6
MDAgUE0sIFNpbW9uIEt1ZW56ZXIgd3JvdGU6Cj4+PiBGcm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJh
enZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPj4+Cj4+PiBBZGQgaW50ZXJmYWNlcyB0byBxdWVy
eSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBtb2RlIGZvciBhCj4+PiBuZXRkZXYu
Cj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNs
YWIuZXU+Cj4+PiBTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2Fy
dTkzQGdtYWlsLmNvbT4KPj4+IC0tLQo+Pj4gwqAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAyICsrCj4+PiDCoCBsaWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXYuaMKgwqDCoMKgwqAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrKwo+
Pj4gwqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCB8wqAgOSArKysrKysr
KysKPj4+IMKgIGxpYi91a25ldGRldi9uZXRkZXYuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHwgMzUgCj4+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+Pj4g
wqAgNCBmaWxlcyBjaGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspCj4+Pgo+Pj4gZGlmZiAtLWdpdCBh
L2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsK
Pj4+IGluZGV4IDhiMTM0OTkuLjZlOGIwNmIgMTAwNjQ0Cj4+PiAtLS0gYS9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51awo+Pj4gKysrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPj4+IEBA
IC0yNCwzICsyNCw1IEBAIHVrX25ldGRldl90eHFfY29uZmlndXJlCj4+PiDCoCB1a19uZXRkZXZf
c3RhcnQKPj4+IMKgIHVrX25ldGRldl9od2FkZHJfc2V0Cj4+PiDCoCB1a19uZXRkZXZfaHdhZGRy
X2dldAo+Pj4gK3VrX25ldGRldl9wcm9taXNjdW91c19nZXQKPj4+ICt1a19uZXRkZXZfcHJvbWlz
Y3VvdXNfc2V0Cj4+PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
LmggCj4+PiBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+PiBpbmRleCA0MjNl
MzIxLi5iMDY5NzhhIDEwMDY0NAo+Pj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2LmgKPj4+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4+PiBAQCAt
MzA5LDYgKzMwOSwzMiBAQCBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyIAo+Pj4gKnVrX25ldGRldl9o
d2FkZHJfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4+PiDCoMKgICovCj4+PiDCoCBpbnQg
dWtfbmV0ZGV2X2h3YWRkcl9zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBjb25zdCBzdHJ1Y3Qg
Cj4+PiB1a19od2FkZHIgKmh3YWRkcik7Cj4+PiArLyoqCj4+PiArICogUmV0dXJucyBpZiBwcm9t
aXNjdW91cyBtb2RlIGlzIGVuYWJsZWQgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgCj4+PiBkZXZp
Y2UuCj4+PiArICoKPj4+ICsgKiBAcGFyYW0gZGV2Cj4+PiArICrCoMKgIFRoZSBVbmlrcmFmdCBO
ZXR3b3JrIERldmljZS4KPj4+ICsgKiBAcmV0dXJuCj4+PiArICrCoMKgIC0gKDEpOiBpZiBwcm9t
aXNjdW91cyBpcyBlbmFibGVkCj4+PiArICrCoMKgIC0gKDApOiBpZiBwcm9taXNjdW91cyBpcyBk
aXNhYmxlZC4KPj4KPj4gV2Ugc2hvdWxkIHJlcGhyYXNlIGl0IGFzIDwgMCBmb3IgZXJyb3IsIGFz
IGl0IGRlcGVuZCBvbiB0aGUgZGV2aWNlIGRyaXZlcgo+IAo+IFllcwo+IAoKT2ggc29ycnksIGl0
IGlzIGEgYml0IGxhdGUgbm93IDstKS4gR2V0dGluZyB0aGUgcHJvbWlzY3VvdXMgbW9kZSB3YXMg
CmludGVuZGVkIGFzIGFuIGludGVyZmFjZSB0aGF0IGlzICJlcnJvci1zYWZlIi4gU28sIEkgd291
bGQgY2hhbmdlIHRoZSAKcmV0dXJuIHR5cGUgdG8gInVuc2lnbmVkIi4KCj4+PiArICrCoMKgIC0g
KC0xKTogb24gZXJyb3IKPj4+ICsgKi8KPj4+ICtpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+Pj4gKwo+Pj4gKy8qKgo+Pj4gKyAqIEVuYWJsZXMg
b3IgZGlzYWJsZXMgcHJvbWlzY3VvdXMgbW9kZSBmb3IgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZp
Y2UuCj4+PiArICoKPj4+ICsgKiBAcGFyYW0gZGV2Cj4+PiArICrCoMKgIFRoZSBVbmlrcmFmdCBO
ZXR3b3JrIERldmljZS4KPj4+ICsgKiBAcGFyYW0gbW9kZQo+Pj4gKyAqwqDCoCAtICgwKTogZGlz
YWJsZSBwcm9taXNjdW91cyBtb2RlCj4+PiArICrCoMKgIC0gKDEpOiBlbmFibGUgcHJvbWlzY3Vv
dXMgbW9kZQo+Pj4gKyAqIEByZXR1cm4KPj4+ICsgKsKgwqAgLSAoMCk6IGlmIHN1Y2Nlc3NmdWwu
Cj4+PiArICrCoMKgIC0gKC1FTk9UU1VQKTogaWYgZHJpdmVyIGRvZXNuJ3Qgc3VwcG9ydCBwcm9t
aXNjdW91cyBtb2RlLgo+Pj4gKyAqLwo+Pj4gK2ludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgaW50IG1vZGUpOwo+Pj4gKwo+Pj4gwqAgI2lmZGVmIF9f
Y3BsdXNwbHVzCj4+PiDCoCB9Cj4+PiDCoCAjZW5kaWYKPj4+IGRpZmYgLS1naXQgYS9saWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIAo+Pj4gYi9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oCj4+PiBpbmRleCBjY2E2ZDEzLi4wMTcxMTI3IDEwMDY0NAo+Pj4g
LS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+Pj4gKysrIGIvbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+Pj4gQEAgLTI0MSw2ICsyNDEsMTEg
QEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyIAo+Pj4gKigqdWtfbmV0ZGV2X2h3YWRk
cl9nZXRfdCkoCj4+PiDCoCB0eXBlZGVmIGludCAoKnVrX25ldGRldl9od2FkZHJfc2V0X3QpKHN0
cnVjdCB1a19uZXRkZXYgKmRldiwKPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKTsKPj4+ICsvKiog
RHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gZ2V0IHRoZSBjdXJyZW50IHByb21pc2N1b3VzIG1vZGUg
Ki8KPj4+ICt0eXBlZGVmIGludCAoKnVrX25ldGRldl9wcm9taXNjdW91c19nZXRfdCkoc3RydWN0
IHVrX25ldGRldiAqZGV2KTsKPj4+ICsKPj4+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8g
ZW5hYmxlIG9yIGRpc2FibGUgcHJvbWlzY3VvdXMgbW9kZSAqLwo+Pj4gK3R5cGVkZWYgaW50ICgq
dWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIAo+Pj4g
aW50IG1vZGUpOwo+Pj4gwqAgLyoqCj4+PiDCoMKgICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0
aGUgZnVuY3Rpb25zIGV4cG9ydGVkIGJ5IGEgZHJpdmVyLgo+Pj4gQEAgLTI1MCw2ICsyNTUsMTAg
QEAgc3RydWN0IHVrX25ldGRldl9vcHMgewo+Pj4gwqDCoMKgwqDCoCB1a19uZXRkZXZfaHdhZGRy
X2dldF90wqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkcl9nZXQ7wqDCoMKgwqDCoMKgIC8qIAo+Pj4g
cmVjb21tZW5kZWQgKi8KPj4+IMKgwqDCoMKgwqAgdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdMKgwqDC
oMKgwqDCoMKgwqDCoCBod2FkZHJfc2V0O8KgwqDCoMKgwqDCoCAvKiBvcHRpb25hbCAqLwo+Pj4g
K8KgwqDCoCAvKiogUHJvbWlzY3VvdXMgbW9kZS4gKi8KPj4+ICvCoMKgwqAgdWtfbmV0ZGV2X3By
b21pc2N1b3VzX3NldF90wqDCoMKgwqAgcHJvbWlzY3VvdXNfc2V0O8KgIC8qIG9wdGlvbmFsICov
Cj4+PiArwqDCoMKgIHVrX25ldGRldl9wcm9taXNjdW91c19nZXRfdMKgwqDCoMKgIHByb21pc2N1
b3VzX2dldDsKPj4+ICsKPj4+IMKgwqDCoMKgwqAgLyoqIERldmljZS9kcml2ZXIgY2FwYWJpbGl0
aWVzIGFuZCBpbmZvLiAqLwo+Pj4gwqDCoMKgwqDCoCB1a19uZXRkZXZfaW5mb19nZXRfdMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgaW5mb19nZXQ7Cj4+PiDCoMKgwqDCoMKgIHVrX25ldGRldl90eHFf
aW5mb19nZXRfdMKgwqDCoMKgwqDCoMKgIHR4cV9pbmZvX2dldDsKPj4+IGRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPj4+IGluZGV4IDNm
YjUyMWEuLjBhZjYzYWMgMTAwNjQ0Cj4+PiAtLS0gYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPj4+
ICsrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwo+Pj4gQEAgLTc4LDYgKzc4LDcgQEAgaW50IHVr
X25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRldiAqZGV2LCAKPj4+IHN0cnVjdCB1
a19hbGxvYyAqYSwKPj4+IMKgwqDCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfaW5mb19n
ZXQpOwo+Pj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25maWd1cmUpOwo+
Pj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPnN0YXJ0KTsKPj4+ICvCoMKgwqAgVUtf
QVNTRVJUKGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQpOwo+Pj4gwqDCoMKgwqDCoCBkZXYtPl9k
YXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LMKgIGRydl9uYW1lKTsKPj4+IMKgwqDC
oMKgwqAgaWYgKCFkZXYtPl9kYXRhKQo+Pj4gQEAgLTQ0OSwzICs0NTAsMzcgQEAgY29uc3Qgc3Ry
dWN0IHVrX2h3YWRkciAKPj4+ICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpCj4+PiDCoMKgwqDCoMKgIHJldHVybiBkZXYtPm9wcy0+aHdhZGRyX2dldChkZXYpOwo+
Pj4gwqAgfQo+Pj4gKwo+Pj4gK2ludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0KHN0cnVjdCB1
a19uZXRkZXYgKmRldikKPj4+ICt7Cj4+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYpOwo+Pj4gK8Kg
wqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9w
cyk7Cj4+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKPj4+
ICsKPj4+ICvCoMKgwqAgLyogV2UgZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIHByb21pc2N1b3Vz
IG1vZGUKPj4+ICvCoMKgwqDCoCAqIG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQKPj4+
ICvCoMKgwqDCoCAqLwo+Pj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0g
VUtfTkVUREVWX0NPTkZJR1VSRUQgfHwKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgZGV2LT5fZGF0
YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+Pj4gKwo+Pj4gK8KgwqDCoCByZXR1cm4g
ZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldChkZXYpOwo+Pj4gK30KPj4+ICsKPj4+ICtpbnQgdWtf
bmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIGludCBtb2RlKQo+
Pj4gK3sKPj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldik7Cj4+PiArwqDCoMKgIFVLX0FTU0VSVChk
ZXYtPl9kYXRhKTsKPj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+b3BzKTsKPj4+ICsKPj4+ICvC
oMKgwqAgLyogV2UgZG8gc3VwcG9ydCBzZXR0aW5nIG9mIHByb21pc2N1b3VzIG1vZGUKPj4+ICvC
oMKgwqDCoCAqIG9ubHkgd2hlbiBkZXZpY2Ugd2FzIGNvbmZpZ3VyZWQKPj4+ICvCoMKgwqDCoCAq
Lwo+Pj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NP
TkZJR1VSRUQKPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0g
VUtfTkVUREVWX1JVTk5JTkcpOwo+Pj4gKwo+Pj4gK8KgwqDCoCBpZiAodW5saWtlbHkoIWRldi0+
b3BzLT5wcm9taXNjdW91c19zZXQpKQo+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PVFNV
UDsKPj4+ICsKPj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+b3BzLT5wcm9taXNjdW91c19zZXQoZGV2
LCBtb2RlID8gMSA6IDApOwo+Pj4gK30KPj4+Cj4+IFRoYW5rcyAmIFJlZ2FyZHMKPj4gU2hhcmFu
Cj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Cj4gTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCj4gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 07:48:26 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 07:48:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDPWC-0002nz-Fw; Fri, 19 Oct 2018 07:48:24 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <srs0=yhip=m7=arm.com=wei.chen@srs-us1.protection.inumbo.net>)
 id 1gDPWA-0002nu-F9
 for minios-devel@lists.xenproject.org; Fri, 19 Oct 2018 07:48:22 +0000
X-Inumbo-ID: f47c077c-d372-11e8-a8a5-bc764e045a96
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (unknown
 [2a01:111:f400:fe0e::628])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTP
 id f47c077c-d372-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 09:45:32 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; 
 s=selector1-arm-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ezYJE6c1AYMcD5tAsbIHcKD3UAKSwxACOs6BeAK+VrM=;
 b=aKvUjmLF1WROKkBS3+MePFU8B2wXvHmm2LbBGkl7lSYsmuLLuYwuIBEgBZEkuVeu+FpfisE39WFX5Eg5TvBAdijDzEj1mYyaGXcgLWdZIPGGac+0Gd0WoBbBx9QxhGc+ZDO7fgAUFbn+9gtrlbACRwzyP1VwanvAGQR6G5AdTC4=
Received: from VI1PR08CA0178.eurprd08.prod.outlook.com (2603:10a6:800:d1::32)
 by HE1PR0801MB1962.eurprd08.prod.outlook.com (2603:10a6:3:4f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.20; Fri, 19 Oct
 2018 07:48:13 +0000
Received: from AM5EUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2a01:111:f400:7e08::207) by VI1PR08CA0178.outlook.office365.com
 (2603:10a6:800:d1::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1250.29 via Frontend
 Transport; Fri, 19 Oct 2018 07:48:12 +0000
Authentication-Results: spf=pass (sender IP is 40.67.248.234)
 smtp.mailfrom=arm.com; lists.xenproject.org; dkim=none (message not signed)
 header.d=none;lists.xenproject.org; dmarc=bestguesspass action=none
 header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 40.67.248.234 as permitted sender) receiver=protection.outlook.com;
 client-ip=40.67.248.234; helo=nebula.arm.com;
Received: from nebula.arm.com (40.67.248.234) by
 AM5EUR03FT043.mail.protection.outlook.com (10.152.17.43) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.1250.12 via Frontend Transport; Fri, 19 Oct 2018 07:48:10 +0000
Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX03.Arm.com
 (10.251.24.31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1415.2; Fri, 19 Oct
 2018 07:47:59 +0000
Received: from localhost.localdomain (10.169.43.31) by mail.arm.com
 (10.251.24.31) with Microsoft SMTP Server id 15.1.1415.2 via Frontend
 Transport; Fri, 19 Oct 2018 07:47:57 +0000
From: Wei Chen <wei.chen@arm.com>
To: <minios-devel@lists.xenproject.org>, <simon.kuenzer@neclab.eu>
Date: Fri, 19 Oct 2018 07:47:56 +0000
Message-ID: <20181019074756.13343-1-wei.chen@arm.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
X-EOPAttributedMessage: 0
X-MS-Office365-Filtering-HT: Tenant
X-Forefront-Antispam-Report: CIP:40.67.248.234; IPV:NLI; CTRY:US; EFV:NLI;
 SFV:NSPM;
 SFS:(10009020)(136003)(376002)(39860400002)(396003)(346002)(2980300002)(438002)(189003)(199004)(426003)(49486002)(77096007)(186003)(68736007)(5660300001)(316002)(305945005)(26005)(16586007)(106002)(1857600001)(50226002)(476003)(106466001)(356004)(2616005)(126002)(336012)(44832011)(86362001)(51416003)(2906002)(81156014)(110136005)(81166006)(486006)(8936002)(47776003)(14444005)(36756003)(48376002)(53936002)(4326008)(54906003)(72206003)(1076002)(8676002)(97736004)(478600001)(50466002);
 DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0801MB1962; H:nebula.arm.com; FPR:;
 SPF:Pass; LANG:en; PTR:InfoDomainNonexistent; MX:1; A:1; 
X-Microsoft-Exchange-Diagnostics: 1; AM5EUR03FT043;
 1:i+aiBgNlND45xJZyxl4ye/ALCuakzyYTtFL2/v2IAq/4EGOEaLN5DvGzqTeaA97T6MtJ5Ifo6gE45x5eDJ0OJB5tdNWN95WRQdBuDIEn6lAyZCunNf4+lLDk+WiunUXH
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 4a7fd1b0-5d96-4973-54f7-08d6359737af
X-Microsoft-Antispam: BCL:0; PCL:0;
 RULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4608076)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060);
 SRVR:HE1PR0801MB1962; 
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1962;
 3:Ip++en/6jbeg4LVRYLCos6kt12APC8FHw6uGpZZLxMFhCGVI4alc8aArfEE4yJfNCRSR/Z8zGjDMxbwpf4R4ijx2lSnylXWkpfmRwicd9gMEqRQFwuIgeuYHWgaMh4e87jxI5Hv720rvM3OJxrEXi38qRg4Q10zJS1JxDKKwZ6msA7H/o0QXyf05z/f9gles+Vvf7SRpZvWBQt4tmzFLsph2TOAktHIndlsISwGE0PCnWqVjgNS4Gnwd1GOpHCbdaf3fjH4dE2hQ/PDBkI5kABB5hipIYv+whaAUSQLZPg7w5iMsmOwQyB7LE2frGNc6mJrHMHpkOgEjCwAPB4On4j8vCb17lnIulOXg5vRU5us=;
 25:8FSwIt8RqhLyKLxodmg5QQ8y8H1hoBrtsHr+gtRQUVi1qsiGdTulz6+bkOCDjtVxFMaoxMciEtUIMkManewTccABDCYehTLr3Rl6PjfY1sEd9ngYWlTugrz2uc5wC2CG3CtiIyLYLh8dZIT6i5CkuA+lP2an/twKcyU7euHmmCFKeTsZP6OYp1YDD7QXMIRh6GyZLmv9e82IXWZLvw4CeieClctcNf2L/MezNk0PzdCfutYstJNRJbkGGttb3KJTwblTggjAgm2bkb9uTeyqivZCHt3WT/KNSYiv6XduI6a/IFSoEfWn4xz2bACaTFWsQFrUeJVgRrLl1EtHRFO8cQ==
X-MS-TrafficTypeDiagnostic: HE1PR0801MB1962:
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1962;
 31:UNE4jpVgEPzGstPge8F2KFh26used7cdYKFNqm4Zov6GqIFKfp5H929Z1H/OZTixOdXjbUK85f5jSGrXgYyzp7jx9qg2l+WXX62YAhYlg1E/gKQXQreW/r6uVWxRLN1Ey3HowHzUK8cfBjPt7+wKXsj2VXoRgzyFy7SZ/t2t60nv9AsLkXO3DvptagNUVrf59SFNrZCznN2uLSqpFxB+wDAVYj1XVdMJWsKBSJCdy0M=;
 20:VpROW06VrZ238xnrhHu3tUqgTOgI04oDQniBGYgvUX9jVCepQ5x2lCAeva620fbKOrtlDI7teAEPoEIuwMyZtVcdarmM1cKvGQaMrce428a0D+qUXUqWFK1VXhJp2H4QNzWfSD/igqhoyhL1ODI91+vBTJdTwtRBFjjRU//42XyOkStIlQeGzrJZiU2sMlryjXWsN8RhoBWfdeOWYNYyBvMe65j3cVP9BNuaapxDYfy3fbnPqkaQBtZfbdaASd6q3bBvyFBbstpCCBfetyzIihVR/p56ZwQCIfT50Su2g4SvWhPqK6SpQ/2l59KDD1qq/ayCz1JypQVuC0EYAcdTcDmzmiSiBpDnhOVwHnVYrbYsdoPXbMyKnTXw6uJ/L0igv6v1q/R+MU8aaH+KNEOdKotKsj0J5WIgCvWqulKLjTU=
NoDisclaimer: True
X-Microsoft-Antispam-PRVS: <HE1PR0801MB1962FA83ABD3E1312ADD565F9EF90@HE1PR0801MB1962.eurprd08.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(180628864354917);
X-MS-Exchange-SenderADCheck: 1
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93004095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(201708071742011)(7699051)(76991095);
 SRVR:HE1PR0801MB1962; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0801MB1962; 
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1962;
 4:HA/z0e+6e+eTdbFpHjNQRcS1+3SClI9z/lgd3H5sWhsmPVl6uUn82UZFA4JnuEbuOYgHrjvD36n0R7+wBIOSBpt1Hf2sZlMuC9JhhP3DFzgZ4nZl7VUQKR+o/fUjo8NyG/EewcDSZbJlYkTGuZjOfBibvtsyqZQQrljcLvMBLK9/Kt8IjYMbBsVYuzVTczuPeCrckUsmEGGehuxCa7OC/m4hHBbbPAwQmI+5KE3n2vSiiZpaz/xCs89YOE/lW1xOt5GZN4AjB0mnbeNRMku4O7SJM22Lqhwrx0j3mwI5AxHy5dsWOkwB44+pI61lyCVT
X-Forefront-PRVS: 0830866D19
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; HE1PR0801MB1962;
 23:lzELG20wtP35A68tGXID3yRZ++De6e+4d6AvGoj?=
 =?us-ascii?Q?p/pxa7zgsh8QNC3rbHAjTk37+j+tI8yrC2Iq+8+jgXxJLzL+1lspImHjCL0i?=
 =?us-ascii?Q?WOrhyoUywfzd0B7mlDFcrxYsDzZS+rtdIJ1MJTlCLpHBzDOc0t3OpCXlVm9I?=
 =?us-ascii?Q?Xv39jDT8R731Ukns/+GWGkXQXNU5HvJi7k2wNfmhWNvVTKRtrePw0F2/WrlD?=
 =?us-ascii?Q?kehpHisdQP7AAWJPqkRAsLCIESRut/wZ+fbmmJExqVSjecjoiDuilPzq66IO?=
 =?us-ascii?Q?jIVB0FUxfYskho8Or+oMeXcbPVhqA7xrZelG+7QcEVXJTiQbLSUx+EabtLcs?=
 =?us-ascii?Q?03uErDnvXTwjI7mgMuc7fT5f3sqBVNICBkv6g6qjw0nJtcORh39v4Y7XPg3R?=
 =?us-ascii?Q?xhomM/7fsb3uMeUrIza8KGWlhbI1fj8pHE683PtEbiRX6eWNfKqG733TKc7u?=
 =?us-ascii?Q?LwZV/nb0M0VYU2bqdxKCikTp4l6plY2TzIBhjugRJ9ArXD2ntGbrpZE3q8tY?=
 =?us-ascii?Q?AlLiiAg44/bg2AKYD2zOP4zeKfeQ1dXCugxdrxoL4I31gqNwo761IxjVk3vd?=
 =?us-ascii?Q?d7785NWrgfEYLZP1yoEP7hxEPhcAc1Gx9SVqniyJbSEA+WijjDvrRMrNpqrV?=
 =?us-ascii?Q?0RZ2TOh+vqmfy8Pm6ixX04TBcGdkTLHNCW4WMio42Nl82WUFDMZdMXp23jYL?=
 =?us-ascii?Q?i9lO1vD96JnIIl0SuI2JmlDkTZSejjtbig9aamEpqkkNa3Xek970CfP090zJ?=
 =?us-ascii?Q?BnZn3NiS2Sa9ItV6QnJf1g8SuJZQy5fqUI0gHdg6B3XkziktPK/5Furm5Cyv?=
 =?us-ascii?Q?7oOiZ8GdTu/pF1XYGWnYK9/A1V798Ikvn+jDf0mHSO42lx8De0L/pZ/JOmhI?=
 =?us-ascii?Q?0uHIbrbiLKs8wo/G2XutIicbuWHg9AMGC3zjp+PTnIndHqpixurH0+2GcyKW?=
 =?us-ascii?Q?wfbaR5UtHxa2Hb6KJVFl4Ov+VYZuaxMyTT3nSL7ONm0gqOLuQAlyFXsu4VZ+?=
 =?us-ascii?Q?a2OlmDaQJ/UWvluwAMeWgwVyHiDD2VfNj+9JGBC6R4WZYImg5Qf1sdRnTJ8L?=
 =?us-ascii?Q?WLKACFktrZT5q4MXv1ZH9MjaSgt9WMVTRRRX5z+W524fKJGk4eWw96krNeWP?=
 =?us-ascii?Q?ZGZMLFM1vLTQ=3D?=
X-Microsoft-Antispam-Message-Info: x7zRfjQLWNTzaxwn5q47XccTdnGUryDzHAYxgoUUZXN4hBh/4UmainoZ1V3EffFHJVH7sjxUX7WEQ+1uth0qcDswbFNIFkTTX5l6p0ZqHGUkweRGoubMr6cuPUKjY1JmWahSfw3UOoqX5TpJ7E1U0PD77Tn4/DzsasDLQ2IOJoeCAfoS8YAFC4RdCPJ5qwW5QlYmp3mgZdn6YiksDoiPNAi6u8tZA0cLYgAW1PZwfT762ve/BscJ5TG5lJdT+LpTBD/z155Jx3gToO00PVJVeJjX4EyQ2Kv5GGqMMCBnZm40GS8MkHV2+it0A3KxIzxAMd1j921GGm/15t7/vowDRTEEc4VtKZ/XtyBLRaxStv8=
X-Microsoft-Exchange-Diagnostics: 1; HE1PR0801MB1962;
 6:p1InCa0l+f5jleYhRnN7WxNu4ywNA0gHResyDz7km7UmZrPlh5EntRHSuoY/XKe5lQiIinVpSAXdAcVQBC+giQIL7a4J3ClEH5532MBqcKLCZMZ4B5JuJf415OoSqvS6ylPjJru7xXIvGgE2woEx3r1yR1n5aSSD+N3foRB4JBmbz/FngstGAej+cASqVsDXebHdlutTSgsOAgLRIXkOj2xveN8S3/ECro+DVVDRVthS/oaw+PXisRew4M0fge/P2goQt3GttQMb2qdVFSspWd/vUQImzSyyGm2UeoAxNv1Sfcv5q8vUCuObpoGmsdLSvSzGvilh/go/KBqzu7qLoM7O0wVMrgbObwOC6itHL2AzCexKrcCVebQkduHs+sa9qZcJvH6lOgsEeHqiN3rs4r5OlpKGovN5H4V2SEs1bCdRZPixV+6FEe94Xmfd96LI2oT8OsY/dUTs35qGQkhtvw==;
 5:Gs6ENnjiu7U/htzAqdxsHmFSH0sFrEg4wxpnaXduGXbpS9cHlQtogIRtuKrRrHCEHQjG+9bmB8h+rY9NMbXAli8oBFCCudGuzbZ6eA9+OHgrCaLGG5CZ/PzxVxM1nUtwPEmSvb9+f/NGG1i92aMT+3RoVNU0n7BADK/nDndXH8o=;
 7:Tv38JmrH30leh9gXBqxccFFxZ1rh+WHPwrT7MozHExjnj6AWUpWEX3uDKwx26Cy8qtlnn2WXIMHPM2+fD8WpHD53DIQ9mkkz58a7ZGj197H4ABJebWCjTB0UpKEr9Mgt+Qldo2PaUPCBKXUPMGg419D6Wp+gcXbZOsKe0oMKuiUAQbD3IohOtkv0VQqu6bDNQ6djfP2ZT0bp9TpPjiVwpIM3gmUgNxdhB7PFT65Lcn6vZeDggOsmboyEJTTIQlEi
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Oct 2018 07:48:10.9293 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a7fd1b0-5d96-4973-54f7-08d6359737af
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[40.67.248.234];
 Helo=[nebula.arm.com]
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1962
Subject: [Minios-devel] [UNIKRAFT PATCH] plat/common: arm: Include correct
 inline function __uk_test_and_clear_bit
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, wei.chen@arm.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXMgX191a190ZXN0X2FuZF9jbGVhcl9iaXQgaGFzIGJlZW4gbW92ZWQgdG8gdWsvYml0b3BzLmgs
IHRoZSB0aW1lLmMgY291bGQKbm90IGZpbmQgdGhpcyBmdW5jdGlvbiBmcm9tIGF0b21pYy5oLiBU
aGlzIHdpbGwgY2F1c2UgQXJtNjQgYnVpbGQgZmFpbGVkOgoKICBMRCAgICAgIHVuaWtyYWZ0X2t2
bS1hcm02NAovcm9vdC9VRi91bmlrcmFmdC9idWlsZC91bmlrcmFmdF9rdm0tYXJtNjQubzogSW4g
ZnVuY3Rpb24gYHRpbWVfYmxvY2tfdW50aWwnOgo6KC50ZXh0KzB4NDAwKTogdW5kZWZpbmVkIHJl
ZmVyZW5jZSB0byBgX191a190ZXN0X2FuZF9jbGVhcl9iaXQnCjooLnRleHQrMHg0MDApOiByZWxv
Y2F0aW9uIHRydW5jYXRlZCB0byBmaXQ6IFJfQUFSQ0g2NF9DQUxMMjYgYWdhaW5zdCB1bmRlZmlu
ZWQgc3ltYm9sIGBfX3VrX3Rlc3RfYW5kX2NsZWFyX2JpdCcKY29sbGVjdDI6IGVycm9yOiBsZCBy
ZXR1cm5lZCAxIGV4aXQgc3RhdHVzCi9yb290L1VGL3VuaWtyYWZ0L3BsYXQva3ZtL0xpbmtlci51
azoxNzogcmVjaXBlIGZvciB0YXJnZXQgJy9yb290L1VGL3VuaWtyYWZ0L2J1aWxkL3VuaWtyYWZ0
X2t2bS1hcm02NCcgZmFpbGVkCm1ha2U6ICoqKiBbL3Jvb3QvVUYvdW5pa3JhZnQvYnVpbGQvdW5p
a3JhZnRfa3ZtLWFybTY0XSBFcnJvciAxCgpDaGFuZ2UgYXRvbWljLmggdG8gYml0b3BzLmggdG8g
c29sdmUgdGhpcyBwcm9ibGVtLgoKU2lnbmVkLW9mZi1ieTogV2VpIENoZW4gPHdlaS5jaGVuQGFy
bS5jb20+Ci0tLQogcGxhdC9jb21tb24vYXJtL3RpbWUuYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk
LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9u
L2FybS90aW1lLmMgYi9wbGF0L2NvbW1vbi9hcm0vdGltZS5jCmluZGV4IGYxZGY5OGQuLjU4MzM4
N2IgMTAwNjQ0Ci0tLSBhL3BsYXQvY29tbW9uL2FybS90aW1lLmMKKysrIGIvcGxhdC9jb21tb24v
YXJtL3RpbWUuYwpAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgogI2lu
Y2x1ZGUgPHVrL3BsYXQvdGltZS5oPgogI2luY2x1ZGUgPHVrL3BsYXQvaXJxLmg+Ci0jaW5jbHVk
ZSA8dWsvYXJjaC9hdG9taWMuaD4KKyNpbmNsdWRlIDx1ay9iaXRvcHMuaD4KICNpbmNsdWRlIDxj
cHUuaD4KIAogc3RhdGljIHVpbnQ2NF90IGJvb3RfdGlja3M7Ci0tIAoyLjE3LjEKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFp
bGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz
LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 08:23:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 08:23:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDQ4V-0006ZY-ET; Fri, 19 Oct 2018 08:23:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=rvzz=m7=neclab.eu=yuri.volchkov@srs-us1.protection.inumbo.net>)
 id 1gDQ4U-0006ZT-9P
 for minios-devel@lists.xenproject.org; Fri, 19 Oct 2018 08:23:50 +0000
X-Inumbo-ID: 80aedd23-d378-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 80aedd23-d378-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 08:25:14 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id A4A31F2014;
 Fri, 19 Oct 2018 10:23:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id NbJWbMwj_LCM; Fri, 19 Oct 2018 10:23:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 5E650F2010;
 Fri, 19 Oct 2018 10:23:39 +0200 (CEST)
Received: from localhost (10.1.2.20) by skoll.office.hd (192.168.125.11) with
 Microsoft SMTP Server (TLS) id 14.3.319.2;
 Fri, 19 Oct 2018 10:23:39 +0200
From: Yuri Volchkov <yuri.volchkov@neclab.eu>
To: Wei Chen <wei.chen@arm.com>, <minios-devel@lists.xenproject.org>,
 <simon.kuenzer@neclab.eu>
In-Reply-To: <20181019074756.13343-1-wei.chen@arm.com>
References: <20181019074756.13343-1-wei.chen@arm.com>
Date: Fri, 19 Oct 2018 10:23:38 +0200
Message-ID: <tza4s2efcml4z9.fsf@N-1128.office.hd>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.20]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH] plat/common: arm: Include
 correct inline function __uk_test_and_clear_bit
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, wei.chen@arm.com
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgV2VpLgoKVGhhbmtzIGZvciB0aGUgZml4LiBTb3JyeSBJIG92ZXJsb29rZWQgdGhhdC4KClJl
dmlld2VkLWJ5OiBZdXJpIFZvbGNoa292IDx5dXJpLnZvbGNoa292QG5lY2xhYi5ldT4KCi0gWXVy
aQoKV2VpIENoZW4gPHdlaS5jaGVuQGFybS5jb20+IHdyaXRlczoKCj4gQXMgX191a190ZXN0X2Fu
ZF9jbGVhcl9iaXQgaGFzIGJlZW4gbW92ZWQgdG8gdWsvYml0b3BzLmgsIHRoZSB0aW1lLmMgY291
bGQKPiBub3QgZmluZCB0aGlzIGZ1bmN0aW9uIGZyb20gYXRvbWljLmguIFRoaXMgd2lsbCBjYXVz
ZSBBcm02NCBidWlsZCBmYWlsZWQ6Cj4KPiAgIExEICAgICAgdW5pa3JhZnRfa3ZtLWFybTY0Cj4g
L3Jvb3QvVUYvdW5pa3JhZnQvYnVpbGQvdW5pa3JhZnRfa3ZtLWFybTY0Lm86IEluIGZ1bmN0aW9u
IGB0aW1lX2Jsb2NrX3VudGlsJzoKPiA6KC50ZXh0KzB4NDAwKTogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgX191a190ZXN0X2FuZF9jbGVhcl9iaXQnCj4gOigudGV4dCsweDQwMCk6IHJlbG9jYXRp
b24gdHJ1bmNhdGVkIHRvIGZpdDogUl9BQVJDSDY0X0NBTEwyNiBhZ2FpbnN0IHVuZGVmaW5lZCBz
eW1ib2wgYF9fdWtfdGVzdF9hbmRfY2xlYXJfYml0Jwo+IGNvbGxlY3QyOiBlcnJvcjogbGQgcmV0
dXJuZWQgMSBleGl0IHN0YXR1cwo+IC9yb290L1VGL3VuaWtyYWZ0L3BsYXQva3ZtL0xpbmtlci51
azoxNzogcmVjaXBlIGZvciB0YXJnZXQgJy9yb290L1VGL3VuaWtyYWZ0L2J1aWxkL3VuaWtyYWZ0
X2t2bS1hcm02NCcgZmFpbGVkCj4gbWFrZTogKioqIFsvcm9vdC9VRi91bmlrcmFmdC9idWlsZC91
bmlrcmFmdF9rdm0tYXJtNjRdIEVycm9yIDEKPgo+IENoYW5nZSBhdG9taWMuaCB0byBiaXRvcHMu
aCB0byBzb2x2ZSB0aGlzIHByb2JsZW0uCj4KPiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2Vp
LmNoZW5AYXJtLmNvbT4KPiAtLS0KPiAgcGxhdC9jb21tb24vYXJtL3RpbWUuYyB8IDIgKy0KPiAg
MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCj4KPiBkaWZmIC0t
Z2l0IGEvcGxhdC9jb21tb24vYXJtL3RpbWUuYyBiL3BsYXQvY29tbW9uL2FybS90aW1lLmMKPiBp
bmRleCBmMWRmOThkLi41ODMzODdiIDEwMDY0NAo+IC0tLSBhL3BsYXQvY29tbW9uL2FybS90aW1l
LmMKPiArKysgYi9wbGF0L2NvbW1vbi9hcm0vdGltZS5jCj4gQEAgLTM2LDcgKzM2LDcgQEAKPiAg
I2luY2x1ZGUgPHVrL2Fzc2VydC5oPgo+ICAjaW5jbHVkZSA8dWsvcGxhdC90aW1lLmg+Cj4gICNp
bmNsdWRlIDx1ay9wbGF0L2lycS5oPgo+IC0jaW5jbHVkZSA8dWsvYXJjaC9hdG9taWMuaD4KPiAr
I2luY2x1ZGUgPHVrL2JpdG9wcy5oPgo+ICAjaW5jbHVkZSA8Y3B1Lmg+Cj4gIAo+ICBzdGF0aWMg
dWludDY0X3QgYm9vdF90aWNrczsKPiAtLSAKPiAyLjE3LjEKPgo+Cj4gX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Cj4gTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCj4gaHR0cHM6Ly9saXN0cy54
ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbAoKLS0gCll1cmkgVm9s
Y2hrb3YKU29mdHdhcmUgU3BlY2lhbGlzdAoKTkVDIEV1cm9wZSBMdGQKS3VyZsO8cnN0ZW4tQW5s
YWdlIDM2CkQtNjkxMTUgSGVpZGVsYmVyZwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:09:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:09:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDQmh-0001gY-IC; Fri, 19 Oct 2018 09:09:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDQmf-0001gT-I9
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:09:29 +0000
X-Inumbo-ID: e0bd7217-d37e-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e0bd7217-d37e-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:10:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 41895104A31;
 Fri, 19 Oct 2018 11:09:26 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id e0HDe6Bdy0HG; Fri, 19 Oct 2018 11:09:26 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 1B6191048AD;
 Fri, 19 Oct 2018 11:09:22 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:09:21 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539172854-19138-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539172854-19138-12-git-send-email-simon.kuenzer@neclab.eu>
 <b914f9ad-db3f-d3f7-b7ed-badb593a3a82@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181019110921537
Message-ID: <203e3888-a7ac-6d66-b8d8-bd8db97302c9@neclab.eu>
Date: Fri, 19 Oct 2018 11:09:21 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <b914f9ad-db3f-d3f7-b7ed-badb593a3a82@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 11/11] lib/uknetdev: Packet
 reception and transmission interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTEuMTAuMTggMTc6NTIsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gSGVsbG8gU2ltb24s
Cj4gCj4gVGhpcyBwYXRjaCBsb29rcyBnb29kLiBQbGVhc2UgZmluZCB0aGUgc29tZSBtaW5vciBj
b21tZW50cyBpbmxpbmVzCj4gCj4gKiBUaGVyZSBhcmUgbWlub3IgY2hhbmdlcyBncmFtbWF0aWNh
bCBzdWdnZXN0aW9uIGluIHRoZSBBUEkgZGVzY3JpcHRpb24gCj4gd2hpY2ggY2FuIGJlIGZpeGVk
IHdoaWxlIHdlIHB1c2hpbmcgdGhlbS4KPiAKPiAqIFRoZSBzdWdnZXN0ZWQgY2hhbmdlIHRvIG1v
dmUgdGhlIGludGVycnVwdCBlbmFibGUvZGlzYWJsZSB3b3VsZCBiZSBhIAo+IG5pY2UgdG8gaGF2
ZS4KPiAKPiAKPiBPbiAxMC8xMC8yMDE4IDAyOjAwIFBNLCBTaW1vbiBLdWVuemVyIHdyb3RlOgo+
PiBGcm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPj4K
Pj4gSW50cm9kdWNlIGludGVyZmFjZXMgZm9yIHNpbmdsZSBwYWNrZXQgdHJhbnNtaXNzaW9uIGFu
ZAo+PiByZWNlcHRpb24uIEJvdGggaW50ZXJmYWNlcyBhcmUgZGVzaWduZWQgdG8gc3VwcG9ydCBh
c3luY2hyb25vdXMKPj4gemVyby1jb3B5IG9wZXJhdGlvbiB3aXRoIG5ldGJ1ZnMuIFJlY2Vpdmlu
ZyBjYW4gYmUgZG9uZSB3aXRoCj4+IGludGVycnVwdHMgb3Igd2l0aCBwb2xsaW5nLiBUcmFuc21p
c3Npb24gc3VwcG9ydHMgb25seSBwb2xsaW5nIG1vZGUKPj4gZm9yIG5vdy4KPj4KPj4gU2lnbmVk
LW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Cj4+IFNpZ25l
ZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+
PiAtLS0KPj4gwqAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCB8wqDCoCAyICsKPj4gwqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmjC
oMKgwqDCoMKgwqDCoCB8IDEzMCAKPj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
Pj4gwqAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaMKgwqAgfMKgIDM2ICsr
KysrKysrLQo+PiDCoCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmggfMKg
IDI4ICsrKysrKysKPj4gwqAgbGliL3VrbmV0ZGV2L25ldGRldi5jwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHzCoCAzMyArKysrKysrKwo+PiDCoCA1IGZpbGVzIGNoYW5nZWQs
IDIyNyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGli
L3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+PiBp
bmRleCA5ZTI2NGJkLi5kNmY2ZmNmIDEwMDY0NAo+PiAtLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51awo+PiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+PiBAQCAtMjgsMyAr
MjgsNSBAQCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0Cj4+IMKgIHVrX25ldGRldl9wcm9taXNj
dW91c19zZXQKPj4gwqAgdWtfbmV0ZGV2X210dV9nZXQKPj4gwqAgdWtfbmV0ZGV2X210dV9zZXQK
Pj4gK3VrX25ldGRldl9yeHFfaW50cl9lbmFibGUKPj4gK3VrX25ldGRldl9yeHFfaW50cl9kaXNh
YmxlCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAKPj4g
Yi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+PiBpbmRleCBlNTI3NTM0Li4xMWRk
N2RmIDEwMDY0NAo+PiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+PiAr
KysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+PiBAQCAtMzYyLDYgKzM2Miwx
MzYgQEAgaW50IHVrX25ldGRldl9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4+IMKg
wqAgKi8KPj4gwqAgaW50IHVrX25ldGRldl9tdHVfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwg
dWludDE2X3QgbXR1KTsKPj4gKy8qKgo+PiArICogRW5hYmxlIGludGVycnVwdHMgZm9yIGFuIFJY
IHF1ZXVlLgo+PiArICoKPj4gKyAqIEBwYXJhbSBkZXYKPj4gKyAqwqDCoCBUaGUgVW5pa3JhZnQg
TmV0d29yayBEZXZpY2UgaW4gcnVubmluZyBzdGF0ZS4KPj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+
PiArICrCoMKgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCj4+ICsg
KsKgwqAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl9yeF9xdWV1ZSAtIDFd
IHByZXZpb3VzbHkgCj4+IHN1cHBsaWVkCj4+ICsgKsKgwqAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3Vy
ZSgpLgo+PiArICogQHJldHVybgo+PiArICrCoMKgIC0gKDApOiBTdWNjZXNzLCBpbnRlcnJ1cHRz
IGVuYWJsZWQuCj4+ICsgKsKgwqAgLSAoMSk6IE1vcmUgcGFja2V0cyBhcmUgbGVmdCBvbiB0aGUg
cXVldWUsIGludGVycnVwdHMgYXJlIE5PVCAKPj4gZW5hYmxlZCB5ZXQuCj4+ICsgKsKgwqDCoMKg
wqDCoMKgwqDCoCBJbnRlcnJ1cHRzIHdpbGwgYmUgYXV0b21hdGljYWxseSBlbmFibGVkIHdoZW4g
YWxsIAo+PiByZWNlaXZlZCBwYWNrZXRzCj4+ICsgKsKgwqDCoMKgwqDCoMKgwqDCoCBvbiB0aGUg
cXVldWUgYXJlIGNvbnN1bWVkIGFuZCB0aGUgcmVjZWl2ZSBxdWV1ZSBpcyBlbXB0eS4KPj4gKyAq
wqDCoCAtICgtRU5PVFNVUCk6IERyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGludGVycnVwdHMuCj4+
ICsgKi8KPj4gK2ludCB1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWludDE2X3Qgcnhf
cXVldWVfaWQpOwo+PiArCj4+ICsvKioKPj4gKyAqIERpc2FibGUgaW50ZXJydXB0cyBmb3IgYW4g
UlggcXVldWUuCj4+ICsgKgo+PiArICogQHBhcmFtIGRldgo+PiArICrCoMKgIFRoZSBVbmlrcmFm
dCBOZXR3b3JrIERldmljZSBpbiBydW5uaW5nIHN0YXRlLgo+PiArICogQHBhcmFtIHF1ZXVlX2lk
Cj4+ICsgKsKgwqAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRvIHNldCB1cC4KPj4g
KyAqwqDCoCBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3R4X3F1ZXVlIC0g
MV0gcHJldmlvdXNseSAKPj4gc3VwcGxpZWQKPj4gKyAqwqDCoCB0byB1a19uZXRkZXZfY29uZmln
dXJlKCkuCj4+ICsgKiBAcmV0dXJuCj4+ICsgKsKgwqAgLSAoMCk6IFN1Y2Nlc3MsIGludGVycnVw
dHMgZGlzYWJsZWQuCj4+ICsgKsKgwqAgLSAoLUVOT1RTVVApOiBEcml2ZXIgZG9lcyBub3Qgc3Vw
cG9ydCBpbnRlcnJ1cHRzLgo+PiArICovCj4+ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2Fi
bGUoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHVpbnQxNl90IHJ4X3F1ZXVlX2lkKTsKPj4gKwo+PiArLyoqCj4+ICsgKiBSZWNl
aXZlIG9uZSBwYWNrZXQgYW5kIHJlLXByb2dyYW0gdXNlZCByZWNlaXZlIGRlc2NyaXB0b3IKPj4g
KyAqIFBsZWFzZSBub3RlIHRoYXQgYmVmb3JlIGFueSBwYWNrZXQgY2FuIGJlIHJlY2VpdmVkLCB0
aGUgcmVjZWl2ZSBxdWV1ZQo+PiArICogaGFzIHRvIGJlIGZpbGxlZCB1cCB3aXRoIGVtcHR5IG5l
dGJ1ZnMgKHNlZSBmaWxsdXAgcGFyYW1ldGVyKS4KPj4gKyAqCj4+ICsgKiBAcGFyYW0gZGV2Cj4+
ICsgKsKgwqAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+PiArICogQHBhcmFtIHF1ZXVl
X2lkCj4+ICsgKsKgwqAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRvIHJlY2VpdmUg
ZnJvbS4KPj4gKyAqwqDCoCBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4
X3F1ZXVlIC0gMV0gcHJldmlvdXNseSAKPj4gc3VwcGxpZWQKPj4gKyAqwqDCoCB0byB1a19uZXRk
ZXZfY29uZmlndXJlKCkuCj4+ICsgKiBAcGFyYW0gcGt0Cj4+ICsgKsKgwqAgUmVmZXJlbmNlIHRv
IG5ldGJ1ZiBwb2ludGVyIHdoaWNoIHdpbGwgYmUgcG9pbnQgdG8gdGhlIHJlY2VpdmVkIAo+PiBw
YWNrZXQKPj4gKyAqwqDCoCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbC4gQ2FuIGJlIE5VTEwgaWYg
ZnVuY3Rpb24gaXMgdXNlZCB0byBwcm9ncmFtCj4+ICsgKsKgwqAgcmVjZWl2ZSBkZXNjcmlwdG9y
cyBvbmx5Lgo+PiArICogQHBhcmFtIGZpbGx1cAo+PiArICrCoMKgIEFycmF5IG9mIG5ldGJ1ZnMg
dGhhdCBzaG91bGQgYmUgdXNlZCB0byBwcm9ncmFtIHVzZWQgZGVzY3JpcHRvcnMgCj4+IGFnYWlu
Lgo+PiArICrCoMKgIEVhY2ggb2YgdGhlIG5ldGJ1ZiBzaG91bGQgYmUgZnJlc2hseSBhbGxvY2F0
ZWQvaW5pdGlhbGl6ZWQgYW5kIAo+PiBub3QgcGFydAo+PiArICrCoMKgIG9mIGFueSBjaGFpbi4K
Pj4gKyAqwqDCoCBgZmlsbHVwYCBjYW4gYmUgYE5VTExgIGJ1dCB3aXRob3V0IHJlLXByb2dyYW1t
aW5nIG9mIHVzZWQgCj4+IGRlc2NyaXB0b3JzIG5vCj4+ICsgKsKgwqAgbmV3IHBhY2tldHMgY2Fu
IGJlIHJlY2VpdmVkIGF0IHNvbWUgcG9pbnQuCj4+ICsgKiBAcGFyYW0gZmlsbHVwX2NvdW50Cj4+
ICsgKsKgwqAgTGVuZ3RoIG9mIGBmaWxsdXBgIGFycmF5LiBBZnRlciB0aGUgZnVuY3Rpb24gY2Fs
bCwgCj4+IGBmaWxsdXBfY291bnRgIHJldHVybnMKPj4gKyAqwqDCoCB0aGUgbnVtYmVyIG9mIGxl
ZnQgYW5kIHVudXNlZCBuZXRidWZzIG9uIHRoZSBhcnJheS4gCj4+IGBmaWxsdXBfY291bnRgIGhh
cyB0bwo+PiArICrCoMKgIHRvIDAgaWYgYGZpbGx1cGAgaXMgYE5VTExgLgo+PiArICogQHJldHVy
bgo+PiArICrCoMKgIC0gKDApOiBObyBwYWNrZXQgYXZhaWxhYmxlIG9yIGBwa3RgIHdhcyBzZXQg
dG8gTlVMTCwKPj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgIGNoZWNrIGBmaWxsdXBfY291bnRgIGZv
ciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKPj4gKyAqwqDCoCAtICgxKTogYHBrdGAgcG9pbnRzIHRv
IHJlY2VpdmVkIG5ldGJ1ZiwKPj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgIGNoZWNrIGBmaWxsdXBf
Y291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKPj4gKyAqwqDCoCAtICgyKTogYHBrdGAg
cG9pbnRzIHRvIHJlY2VpdmVkIG5ldGJ1ZiBidXQgbW9yZSByZWNlaXZlZCBwYWNrZXRzIAo+PiBh
cmUKPj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgIGF2YWlsYWJsZSBvbiB0aGUgcmVjZWl2ZSBxdWV1
ZS4gV2hlbiBpbnRlcnJ1cHRzIGFyZSB1c2VkLCAKPj4gdGhleSBhcmUKPiAKPiBTaG91bGRuJ3Qg
aXQgYmUgc3Vic2VxdWVudCBjYWxscz8KPj4gKyAqwqDCoMKgwqDCoMKgwqDCoMKgIGRpc2FibGVk
IHVudGlsIDEgaXMgcmV0dXJuZWQgb24gYSBzdWJzZXF1ZW50IGNhbGwKPj4gKyAqwqDCoMKgwqDC
oMKgwqDCoMKgIGNoZWNrIGBmaWxsdXBfY291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMK
Pj4gKyAqwqDCoCAtICg8MCk6IEVycm9yIGNvZGUgZnJvbSBkcml2ZXIKPj4gKyAqLwo+PiArc3Rh
dGljIGlubGluZSBpbnQgdWtfbmV0ZGV2X3J4X29uZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVp
bnQxNl90IAo+PiBxdWV1ZV9pZCwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKmZpbGx1cFtdLAo+PiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpCj4+ICt7Cj4+
ICvCoMKgwqAgVUtfQVNTRVJUKGRldik7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+cnhfb25l
KTsKPiAKPiBTaG91bGQgd2Ugbm90IGNvbXBhcmUgYWdhaW5zdCBuYl9yeF9xdWV1ZT8KCkNPTkZJ
R19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyBpcyB0aGUgdXBwZXIgbGltaXQgZnJvbSB0aGUgQVBJ
IApwZXJzcGVjdGl2ZS4gU29tZXRoaW5nIGJpZ2dlciB3b3VsZCBpbXBseSB0aGF0IHdlIGFyZSBh
Y2Nlc3NpbmcgbGF0ZXIgCnRoZSBfcnhfcXVldWUgYXJyYXkgb3V0IG9mIGJvdW5kcy4gRXZlbiBp
ZiBhIGRyaXZlciB3b3VsZCBzdXBwb3J0IG1vcmUgCnF1ZXVlcywgbGlidWtuZXRkZXYgaXMgbGlt
aXRpbmcgaXQgKHVrX25ldGRldl9pbmZvX2dldCgpIGxpbWl0cyB0aGUgCnJldHVybmVkIHZhbHVl
KS4gRm9yIHRoZSBjYXNlIHRoZSBxdWV1ZSBpZCBpcyBzbWFsbGVyIHRoYW4gdGhlIEFQSSAKc3Vw
cG9ydHMsIGl0IHdhcyB0aGUgaW50ZW50aW9uIHRoYXQgYSBkcml2ZXIgaXMgZG9pbmcgdGhlIGNo
ZWNrICh3aGljaCAKaXQgcHJvYmFibHkgYW55d2F5IGRvZXMpLiBXZSBkaWQgbm90IHdhbnQgdG8g
c3RvcmUgdG9vIG1hbnkgZHVwbGljYXRlZCAKdmFsdWVzIHdpdGhpbiB0aGUgQVBJLgoKPj4gK8Kg
wqDCoCBVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMp
Owo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfUlVO
TklORyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1
ZV9pZF0pKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoKCFmaWxsdXAgJiYgZmlsbHVwX2NvdW50KSB8
fCBmaWxsdXApOwo+PiArCj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+cnhfb25lKGRldiwgZGV2LT5f
cnhfcXVldWVbcXVldWVfaWRdLCBwa3QsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGZpbGx1cCwgZmlsbHVwX2NvdW50KTsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICsgKiBTaG9ydGN1
dCBmb3Igb25seSBmaWxsaW5nIHVwIGEgcmVjZWl2ZSBxdWV1ZSB3aXRoIGVtcHR5IG5ldGJ1ZnMK
Pj4gKyAqLwo+PiArI2RlZmluZSB1a19uZXRkZXZfcnhfZmlsbHVwKGRldiwgcXVldWVfaWQsIGZp
bGx1cCwgZmlsbHVwX2NvdW50KcKgwqDCoCBcCj4+ICvCoMKgwqAgdWtfbmV0ZGV2X3J4X29uZSgo
ZGV2KSwgKHF1ZXVlX2lkKSwgTlVMTCwgKGZpbGx1cCksIChmaWxsdXBfY291bnQpKQo+PiArCj4+
ICsvKioKPj4gKyAqIFRyYW5zbWl0IG9uZSBwYWNrZXQKPj4gKyAqCj4+ICsgKiBAcGFyYW0gZGV2
Cj4+ICsgKsKgwqAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+PiArICogQHBhcmFtIHF1
ZXVlX2lkCj4+ICsgKsKgwqAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRvIHJlY2Vp
dmUgZnJvbS4KPj4gKyAqwqDCoCBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5i
X3R4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSAKPj4gc3VwcGxpZWQKPj4gKyAqwqDCoCB0byB1a19u
ZXRkZXZfY29uZmlndXJlKCkuCj4+ICsgKiBAcGFyYW0gcGt0Cj4+ICsgKsKgwqAgUmVmZXJlbmNl
IHRvIG5ldGJ1ZiB0byBzZW50LiBQYWNrZXQgaXMgZnJlZSdkIGJ5IHRoZSBkcml2ZXIgCj4+IGFm
dGVyIHNlbmRpbmcKPj4gKyAqwqDCoCB3YXMgc3VjY2Vzc2Z1bGx5IGZpbmlzaGVkIGJ5IHRoZSBk
ZXZpY2UuCj4+ICsgKsKgwqAgUGxlYXNlIG5vdGUgdGhhdCBzb21lIGRyaXZlcnMgbWF5IHJlcXVp
cmUgYXZhaWxhYmxlIGhlYWRyb29tIG9uIAo+PiB0aGUgbmV0YnVmCj4+ICsgKsKgwqAgZm9yIGRv
aW5nIGEgdHJhbnNtaXNzaW9uIC0gaW5zcGVjdCBgbmJfZW5jYXBgIHdpdGggCj4+IHVrX25ldGRl
dl9pbmZvX2dldCgpLgo+PiArICrCoMKgIGBwa3RgIGhhcyBuZXZlciB0byBiZSBgTlVMTGAuCj4+
ICsgKiBAcmV0dXJuCj4+ICsgKsKgwqAgLSAoMCk6IE5vIHNwYWNlIGxlZnQgb24gdHJhbnNtaXQg
cXVldWUsIGBwa3RgIGlzIG5vdCBzZW50Cj4+ICsgKsKgwqAgLSAoMSk6IGBwa3RgIHdhcyBzdWNj
ZXNzZnVsbHkgcHV0IHRvIHRoZSB0cmFuc21pdCBxdWV1ZSwKPj4gKyAqwqDCoMKgwqDCoMKgwqDC
oMKgIHF1ZXVlIGlzIGN1cnJlbnRseSBmdWxsCj4+ICsgKsKgwqAgLSAoMik6IGBwa3RgIHdhcyBz
dWNjZXNzZnVsbHkgcHV0IHRvIHRoZSB0cmFuc21pdCBxdWV1ZSwKPj4gKyAqwqDCoMKgwqDCoMKg
wqDCoMKgIHRoZXJlIGlzIHN0aWxsIGF0IGxlYXN0IG9uZSBkZXNjcmlwdG9yIGF2YWlsYWJsZSBm
b3IgYQo+PiArICrCoMKgwqDCoMKgwqDCoMKgwqAgc3Vic2VxdWVudCB0cmFuc21pc3Npb24KPj4g
KyAqwqDCoCAtICg8MCk6IEVycm9yIGNvZGUgZnJvbSBkcml2ZXIsIGBwa3RgIGlzIG5vdCBzZW50
Cj4+ICsgKi8KPj4gK3N0YXRpYyBpbmxpbmUgaW50IHVrX25ldGRldl90eF9vbmUoc3RydWN0IHVr
X25ldGRldiAqZGV2LCB1aW50MTZfdCAKPj4gcXVldWVfaWQsCj4+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+PiArewo+PiArwqDC
oMKgIFVLX0FTU0VSVChkZXYpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPnR4X29uZSk7Cj4g
Cj4gU2hvdWxkIHdlIG5vdCBjb21wYXJlIGFnYWluc3QgbmJfdHhfcXVldWU/CgpTYW1lIGFyZ3Vt
ZW50IGhlcmUuCgo+PiArwqDCoMKgIFVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05F
VERFVl9NQVhOQlFVRVVFUyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRl
ID09IFVLX05FVERFVl9SVU5OSU5HKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoIVBUUklTRVJSKGRl
di0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSkpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChwa3QpOwo+PiAr
Cj4+ICvCoMKgwqAgcmV0dXJuIGRldi0+dHhfb25lKGRldiwgZGV2LT5fdHhfcXVldWVbcXVldWVf
aWRdLCBwa3QpOwo+PiArfQo+PiArCj4+IMKgICNpZmRlZiBfX2NwbHVzcGx1cwo+PiDCoCB9Cj4+
IMKgICNlbmRpZgo+PiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaCAKPj4gYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4+IGlu
ZGV4IGY3OGY5OTIuLjQ3OTAwN2UgMTAwNjQ0Cj4+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldl9jb3JlLmgKPj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaAo+PiBAQCAtMjUzLDEwICsyNTMsMzQgQEAgdHlwZWRlZiB1aW50MTZfdCAoKnVrX25l
dGRldl9tdHVfZ2V0X3QpKHN0cnVjdCAKPj4gdWtfbmV0ZGV2ICpkZXYpOwo+PiDCoCAvKiogRHJp
dmVyIGNhbGxiYWNrIHR5cGUgdG8gc2V0IHRoZSBNVFUgKi8KPj4gwqAgdHlwZWRlZiBpbnQgKCp1
a19uZXRkZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IAo+PiBt
dHUpOwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGVuYWJsZSBpbnRlcnJ1cHRzIG9m
IGEgUlggcXVldWUgKi8KPj4gK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3J4cV9pbnRyX2VuYWJs
ZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7Cj4+
ICsKPj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBkaXNhYmxlIGludGVycnVwdHMgb2Yg
YSBSWCBxdWV1ZSAqLwo+PiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhxX2ludHJfZGlzYWJs
ZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlKTsK
Pj4gKwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIG9uZSBwYWNrZXQg
ZnJvbSBhIFJYIHF1ZXVlLiAqLwo+PiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhfb25lX3Qp
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUsCj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCj4+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCB1a19uZXRidWYgKmZpbGx1cFtdLAo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1aW50MTZfdCAqZmlsbHVwX2Nv
dW50KTsKPj4gKwo+PiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHN1Ym1pdCBvbmUgcGFj
a2V0IHRvIGEgVFggcXVldWUuICovCj4+ICt0eXBlZGVmIGludCAoKnVrX25ldGRldl90eF9vbmVf
dCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KTsKPj4gKwo+PiDC
oCAvKioKPj4gwqDCoCAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9ucyBleHBv
cnRlZCBieSBhIGRyaXZlci4KPj4gwqDCoCAqLwo+PiDCoCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB7
Cj4+ICvCoMKgwqAgLyoqIFJYIHF1ZXVlIGludGVycnVwdHMuICovCj4+ICvCoMKgwqAgdWtfbmV0
ZGV2X3J4cV9pbnRyX2VuYWJsZV90wqDCoMKgwqAgcnhxX2ludHJfZW5hYmxlO8KgIC8qIG9wdGlv
bmFsICovCj4+ICvCoMKgwqAgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGVfdMKgwqDCoCByeHFf
aW50cl9kaXNhYmxlOyAvKiBvcHRpb25hbCAqLwo+PiArCj4+IMKgwqDCoMKgwqAgLyoqIFNldC9H
ZXQgaGFyZHdhcmUgYWRkcmVzcy4gKi8KPj4gwqDCoMKgwqDCoCB1a19uZXRkZXZfaHdhZGRyX2dl
dF90wqDCoMKgwqDCoMKgwqDCoMKgIGh3YWRkcl9nZXQ7wqDCoMKgwqDCoMKgIC8qIHJlY29tbWVu
ZGVkICovCj4+IMKgwqDCoMKgwqAgdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdMKgwqDCoMKgwqDCoMKg
wqDCoCBod2FkZHJfc2V0O8KgwqDCoMKgwqDCoCAvKiBvcHRpb25hbCAqLwo+PiBAQCAtMzE4LDEw
ICszNDIsMTggQEAgc3RydWN0IHVrX25ldGRldl9kYXRhIHsKPj4gwqDCoCAqIE5FVERFVgo+PiDC
oMKgICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZpY2Uu
Cj4+IMKgwqAgKgo+PiAtICogRnVuY3Rpb24gY2FsbGJhY2tzIChvcHMpIGFyZSByZWdpc3RlcmVk
IGJ5IHRoZSBkcml2ZXIgYmVmb3JlCj4+IC0gKiByZWdpc3RlcmluZyB0aGUgbmV0ZGV2LiBUaGV5
IGNoYW5nZSBkdXJpbmcgZGV2aWNlIGxpZmUgdGltZS4KPj4gKyAqIEZ1bmN0aW9uIGNhbGxiYWNr
cyAodHhfb25lLCByeF9vbmUsIG9wcykgYXJlIHJlZ2lzdGVyZWQgYnkgdGhlIAo+PiBkcml2ZXIg
YmVmb3JlCj4+ICsgKiByZWdpc3RlcmluZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBkdXJpbmcg
ZGV2aWNlIGxpZmUgdGltZS4gCj4+IFBhY2tldCBSWC9UWAo+PiArICogZnVuY3Rpb25zIGFyZSBh
ZGRlZCBkaXJlY3RseSB0byB0aGlzIHN0cnVjdHVyZSBmb3IgcGVyZm9ybWFuY2UgCj4+IHJlYXNv
bnMuCj4+ICsgKiBJdCBwcmV2ZW50cyBhbm90aGVyIGluZGlyZWN0aW9uIHRvIG9wcy4KPj4gwqDC
oCAqLwo+PiDCoCBzdHJ1Y3QgdWtfbmV0ZGV2IHsKPj4gK8KgwqDCoCAvKiogUGFja2V0IHRyYW5z
bWlzc2lvbi4gKi8KPj4gK8KgwqDCoCB1a19uZXRkZXZfdHhfb25lX3TCoMKgwqDCoMKgwqDCoMKg
wqAgdHhfb25lOyAvKiBieSBkcml2ZXIgKi8KPj4gKwo+PiArwqDCoMKgIC8qKiBQYWNrZXQgcmVj
ZXB0aW9uLiAqLwo+PiArwqDCoMKgIHVrX25ldGRldl9yeF9vbmVfdMKgwqDCoMKgwqDCoMKgwqDC
oCByeF9vbmU7IC8qIGJ5IGRyaXZlciAqLwo+PiArCj4+IMKgwqDCoMKgwqAgLyoqIFBvaW50ZXIg
dG8gQVBJLWludGVybmFsIHN0YXRlIGRhdGEuICovCj4+IMKgwqDCoMKgwqAgc3RydWN0IHVrX25l
dGRldl9kYXRhwqDCoMKgwqDCoMKgICpfZGF0YTsKPj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaCAKPj4gYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRkZXZfZHJpdmVyLmgKPj4gaW5kZXggYWM4Y2U2MS4uNTEyYjc0YiAxMDA2NDQKPj4gLS0t
IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4+ICsrKyBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAo+PiBAQCAtNjcsNiArNjcsMzQgQEAg
ZXh0ZXJuICJDIiB7Cj4+IMKgIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBjb25zdCBjaGFyICpkcnZfbmFtZSk7Cj4+ICsvKioKPj4gKyAqIEZvcndhcmRz
IGFuIFJYIHF1ZXVlIGV2ZW50IHRvIHRoZSBBUEkgdXNlcgo+PiArICogQ2FuIChhbmQgc2hvdWxk
KSBiZSBjYWxsZWQgZnJvbSBkZXZpY2UgaW50ZXJydXB0IGNvbnRleHQKPj4gKyAqCj4+ICsgKiBA
cGFyYW0gZGV2Cj4+ICsgKsKgwqAgVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgdG8gd2hpY2ggdGhl
IGV2ZW50IHJlbGF0ZXMgdG8KPj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+PiArICrCoMKgIHJlY2Vp
dmUgcXVldWUgSUQgdG8gd2hpY2ggdGhlIGV2ZW50IHJlbGF0ZXMgdG8KPj4gKyAqLwo+PiArc3Rh
dGljIGlubGluZSB2b2lkIHVrX25ldGRldl9kcnZfcnhfZXZlbnQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVpbnQx
Nl90IHF1ZXVlX2lkKQo+PiArewo+PiArwqDCoMKgIHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFu
ZGxlciAqcnhxX2hhbmRsZXI7Cj4+ICsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2KTsKPj4gK8Kg
wqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4gCj4gcXVldWVfaWQgc2hvdWxkIGJlIGNvbXBh
cmVkIGFnYWluc3QgbmJfcnhfcXVldWU/CgpTYW1lIGhlcmUuCgo+PiArwqDCoMKgIFVLX0FTU0VS
VChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4+ICsKPj4gK8Kg
wqDCoCByeHFfaGFuZGxlciA9ICZkZXYtPl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF07Cj4+
ICsKPj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPj4gK8Kg
wqDCoCB1a19zZW1hcGhvcmVfdXAoJnJ4cV9oYW5kbGVyLT5ldmVudHMpOwo+PiArI2Vsc2UKPj4g
K8KgwqDCoCBpZiAocnhxX2hhbmRsZXItPmNhbGxiYWNrKQo+PiArwqDCoMKgwqDCoMKgwqAgcnhx
X2hhbmRsZXItPmNhbGxiYWNrKGRldiwgcXVldWVfaWQsIHJ4cV9oYW5kbGVyLT5jb29raWUpOwo+
PiArI2VuZGlmCj4+ICt9Cj4+ICsKPj4gwqAgI2lmZGVmIF9fY3BsdXNwbHVzCj4+IMKgIH0KPj4g
wqAgI2VuZGlmCj4+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtu
ZXRkZXYvbmV0ZGV2LmMKPj4gaW5kZXggNjI3NzM1NC4uNmVlMGZiYSAxMDA2NDQKPj4gLS0tIGEv
bGliL3VrbmV0ZGV2L25ldGRldi5jCj4+ICsrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwo+PiBA
QCAtODAsNiArODAsMTEgQEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25l
dGRldiAqZGV2LCAKPj4gc3RydWN0IHVrX2FsbG9jICphLAo+PiDCoMKgwqDCoMKgIFVLX0FTU0VS
VChkZXYtPm9wcy0+c3RhcnQpOwo+PiDCoMKgwqDCoMKgIFVLX0FTU0VSVChkZXYtPm9wcy0+cHJv
bWlzY3VvdXNfZ2V0KTsKPj4gwqDCoMKgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMtPm10dV9nZXQp
Owo+PiArwqDCoMKgIFVLX0FTU0VSVCgoZGV2LT5vcHMtPnJ4cV9pbnRyX2VuYWJsZSAmJiBkZXYt
Pm9wcy0+cnhxX2ludHJfZGlzYWJsZSkKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoCB8fCAoIWRldi0+
b3BzLT5yeHFfaW50cl9lbmFibGUKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICYmICFk
ZXYtPm9wcy0+cnhxX2ludHJfZGlzYWJsZSkpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChkZXYtPnJ4
X29uZSk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldi0+dHhfb25lKTsKPj4gwqDCoMKgwqDCoCBk
ZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LMKgIGRydl9uYW1lKTsKPj4g
wqDCoMKgwqDCoCBpZiAoIWRldi0+X2RhdGEpCj4+IEBAIC01MTksMyArNTI0LDMxIEBAIGludCB1
a19uZXRkZXZfbXR1X3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIAo+PiB1aW50MTZfdCBtdHUp
Cj4+IMKgwqDCoMKgwqAgcmV0dXJuIGRldi0+b3BzLT5tdHVfc2V0KGRldiwgbXR1KTsKPj4gwqAg
fQo+PiArCj4gCj4gTWF5YmUgd2UgY291bGQgaW5saW5lIHRoZXNlIGZ1bmN0aW9ucyBpbiBuZXRk
ZXYuaD8KClllcywgd2UgY291bGQuIEkgd2lsbCBkbyBpdCBmb3IgdGhlIHY1LgoKPj4gK2ludCB1
a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3Qg
cXVldWVfaWQpCj4+ICt7Cj4+ICvCoMKgwqAgVUtfQVNTRVJUKGRldik7Cj4+ICvCoMKgwqAgVUtf
QVNTRVJUKGRldi0+b3BzKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4+ICvC
oMKgwqAgVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsK
Pj4gK8KgwqDCoCBVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJR
VUVVRVMpOwo+PiArwqDCoMKgIFVLX0FTU0VSVCghUFRSSVNFUlIoZGV2LT5fcnhfcXVldWVbcXVl
dWVfaWRdKSk7Cj4+ICsKPj4gK8KgwqDCoCBpZiAodW5saWtlbHkoIWRldi0+b3BzLT5yeHFfaW50
cl9lbmFibGUpKQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIC1FTk9UU1VQOwo+PiArwqDCoMKg
IHJldHVybiBkZXYtPm9wcy0+cnhxX2ludHJfZW5hYmxlKGRldiwgZGV2LT5fcnhfcXVldWVbcXVl
dWVfaWRdKTsKPj4gK30KPj4gKwo+IAo+IE1heWJlIHdlIGNvdWxkIGlubGluZSB0aGVzZSBmdW5j
dGlvbnMgaW4gbmV0ZGV2Lmg/Cj4+ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCkKPj4gK3sKPj4gK8KgwqDCoCBV
S19BU1NFUlQoZGV2KTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5vcHMpOwo+PiArwqDCoMKg
IFVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPj4gK8KgwqDCoCBVS19BU1NFUlQoZGV2LT5fZGF0YS0+
c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+PiArwqDCoMKgIFVLX0FTU0VSVChxdWV1ZV9p
ZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4+ICvCoMKgwqAgVUtfQVNTRVJU
KCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pKTsKPj4gKwo+PiArwqDCoMKgIGlm
ICh1bmxpa2VseSghZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2FibGUpKQo+PiArwqDCoMKgwqDCoMKg
wqAgcmV0dXJuIC1FTk9UU1VQOwo+PiArwqDCoMKgIHJldHVybiBkZXYtPm9wcy0+cnhxX2ludHJf
ZGlzYWJsZShkZXYsIGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSk7Cj4+ICt9Cj4+Cj4gCj4gVGhh
bmtzICYgUmVnYXJkcwo+IFNoYXJhbgoKVGhhbmtzIGZvciBhbGwgeW91ciByZXZpZXcgYW5kIHlv
dXIgY29tbWVudHMuIEkgd2lsbCBzZW5kIGEgdjUgc29vbi4KCgpUaGFua3MsCgpTaW1vbgoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:43:59 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:43:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRK1-0004Zy-G1; Fri, 19 Oct 2018 09:43:57 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRK0-0004Zr-46
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:43:56 +0000
X-Inumbo-ID: b0875ab6-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b0875ab6-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:19 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 93301104A31;
 Fri, 19 Oct 2018 11:43:52 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id aeJFpYxDdMXQ; Fri, 19 Oct 2018 11:43:52 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 710841048AD
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 11:43:50 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:43:50 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:34 +0200
Message-ID: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 00/11] lib/uknetdev: Unikraft
 Network API
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlcyB0aGUgVW5pa3JhZnQgTmV0d29yayBBUEksIHRoYXQgYWN0cyBhcyBhIGdlbmVy
YWxpemVkCmludGVyZmFjZSBiZXR3ZWVuIG5ldHdvcmsgZHJpdmVycyBhbmQgbmV0d29yayBzdGFj
ayBpbXBsZW1lbnRhdGlvbnMKKG9yIGxvdyBsZXZlbCBuZXR3b3JraW5nIGFwcGxpY2F0aW9ucyku
CgpVc2luZyB0aGUgZnVuY3Rpb24gZGVmaW5pdGlvbnMgaW4gbmV0ZGV2X2NvcmUuaCwgdGhlIGRy
aXZlciBzaG91bGQKaW5jbHVkZSBuZXRkZXZfZHJpdmVyLCBpbXBsZW1lbnQgdGhlIGZ1bmN0aW9u
cyBpbiB1a19uZXRkZXZfb3B0cyBhbmQKZmlsbCBzb21lIGZpZWxkcyBmcm9tIHVrX25ldGRldi4K
VGhlIHVzZXItZmFjaW5nIHBhcnQgb2YgdGhlIEFQSSBpcyBpbiBuZXRkZXYuaC4gVGhlIG5ldHdv
cmsgc3RhY2sKZ2x1ZSBjb2RlIGNhbiB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGNvbmZpZ3VyZSBu
ZXR3b3JrIGRldmljZXMsIGFzCndlbGwgYXMgc2VuZCBhbmQgcmVjZWl2ZSBwYWNrZXRzLgoKSW5z
cGlyZWQgZnJvbSBmcm9tIERQREsgUlRFIEV0aGVybmV0IEFQSS4KCkNoYW5nZXMgc2luY2UgdjM6
Ci0gSW50cm9kdWNlIGhlYWRlciB3aXRoIGRlZmludGlvbnMgaW50ZW5kZWQgZm9yIGRyaXZlcnMg
KG5ldGRldl9kcml2ZXIuaCkKLSBJbnRyb2R1Y2UgbmV0YnVmIGFic3RyYWN0aW9uIGZvciBzY2F0
dGVyZWQgYW5kIHplcm8tY29weSBJL08uCiAgQWJzdHJhY3Rpb24gaXMgZGVmaW5lZCB0byBlbmFi
bGUgY2hlYXAgY29udmVyc2lvbiBiZXR3ZWVuIGEgc3RhY2sncwogIHBhY2tldCBmb3JtYXQgYW5k
IG5ldGJ1Zi4KLSBNdWx0aS1xdWV1ZSBzdXBwb3J0Ci0gRXZlbnQgZGlzcGF0Y2hpbmcgaXMgZG9u
ZSB3aXRoaW4gbGlidWtuZXRkZXYgKGNvbmZpZ3VyYWJsZSB3aXRoCiAgb3Igd2l0aG91dCBib3R0
b20taGFsZiB0aHJlYWRzKS4gVGhyZWFkaW5nIGNvZGUgc2hvdWxkIG5vdCBiZSBuZWNlc3NhcnkK
ICBhbnltb3JlIGluIHRoZSBkcml2ZXIgY29kZS4KLSBOZXRkZXYgc3RhdGUgZnVsbHkgbWFuYWdl
ZCBieSBsaWJ1a25ldGRldiBsYXllcgotIFJlbW92ZSBuZXR3b3JrIGRldmljZSBuYW1lcywgd2Ug
ZXhwZWN0IHRoYXQgbmV0d29ya3Mgc3RhY2tzIHdpbGwgYWRkCiAgdGhpcyBmdW5jdGlvbmFsaXR5
IGJ5IHRoZW1zZWx2ZXMKLSBJbnRyb2R1Y2UgZHJpdmVyIG5hbWUgcXVlcnlpbmcKLSBSZW1vdmUg
aW5jb21wbGV0ZSBuZXRkZXYgY2xvc2luZyBjb2RlIGZvciBub3cKCkNoYW5nZXMgc2luY2UgdjQ6
Ci0gQWRkIHJlZmVyZW5jZSB0byBEUERLCi0gRGVmaW5lIGZvbGxvd2luZyBBUEkgZnVuY3Rpb25z
IGFzIHN0YXRpYyBpbmxpbmUKICAtIHVrX25ldGJ1Zl9yZWYoKQogIC0gdWtfbmV0ZGV2X3J4cV9p
bnRyX2VuYWJsZSgpCiAgLSB1a19uZXRkZXZfcnhxX2ludHJfZGlzYWJsZSgpCi0gTWFkZSBmb2xs
b3dpbmcgZnVuY3Rpb24gImVycm9yLXNhZmUiLCBBUEkgdXNlcnMgY2FuIGV4cGVjdCB0aGF0IHRo
ZQogIGZ1bmN0aW9uIG5ldmVyIHJldHVybnMgYW4gZXJyb3IKICAtIHVrX25ldGRldl9tdHVfZ2V0
KCkKICAtIHVrX25ldGRldl9wcm9taXNjdW91c19nZXQoKQotIFJlbmFtZSB1a19uZXRidWZfcmVm
Y291bnRfc2luZ2xlKCkgdG8gdWtfbmV0YnVmX3JlZmNvdW50X3NpbmdsZV9nZXQoKQotIENvcnJl
Y3RlZCBkZXNjcmlwdGlvbiBvZiBzb21lIEFQSSBpbnRlcmZhY2VzCi0gQ29ycmVjdGVkIHR5cG9z
IGluIHNvbWUgY29tbWVudHMKClJhenZhbiBDb2pvY2FydSAoNyk6CiAgbGliL3VrbmV0ZGV2OiBM
aWJyYXJ5IHNrZWxldG9uCiAgbGliL3VrbmV0ZGV2OiBOZXRkZXYgcmVnaXN0cmF0aW9uCiAgbGli
L3VrbmV0ZGV2OiBOZXRkZXYgaW5pdGlhbGl6YXRpb24KICBsaWIvdWtuZXRkZXY6IEhhcmR3YXJl
IGFkZHJlc3MgaW50ZXJmYWNlcwogIGxpYi91a25ldGRldjogUHJvbWlzY3VvdXMgbW9kZSBpbnRl
cmZhY2VzCiAgbGliL3VrbmV0ZGV2OiBNVFUgaW50ZXJmYWNlcwogIGxpYi91a25ldGRldjogUGFj
a2V0IHJlY2VwdGlvbiBhbmQgdHJhbnNtaXNzaW9uIGludGVyZmFjZXMKClNpbW9uIEt1ZW56ZXIg
KDQpOgogIGxpYi91a25ldGRldjogSW50cm9kdWNlIE5ldGJ1ZnMKICBsaWIvdWtuZXRkZXY6IE5l
dGJ1ZiBjaGFpbmluZwogIGxpYi91a25ldGRldjogTmV0YnVmIHJlZmNvdW50aW5nIGFuZCByZWxl
YXNpbmcKICBsaWIvdWtuZXRkZXY6IE5ldGJ1ZiBoZWFkcm9vbSBhbmQgdGFpbHJvb20gaGVscGVy
cwoKIGxpYi9Db25maWcudWsgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBsaWIv
TWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogbGliL3VrbmV0ZGV2
L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgIHwgIDMyICsrCiBsaWIvdWtuZXRkZXYvTWFrZWZp
bGUudWsgICAgICAgICAgICAgICAgfCAgIDcgKwogbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsg
ICAgICAgICAgICAgIHwgIDMxICsrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCAg
ICAgICAgfCA1MjggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRl
di9pbmNsdWRlL3VrL25ldGRldi5oICAgICAgICB8IDUyMCArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oICAgfCAzNzUg
KysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9k
cml2ZXIuaCB8IDEwMiArKysrKysKIGxpYi91a25ldGRldi9uZXRidWYuYyAgICAgICAgICAgICAg
ICAgICB8IDI5MiArKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9uZXRkZXYuYyAgICAg
ICAgICAgICAgICAgICB8IDUyNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxMSBm
aWxlcyBjaGFuZ2VkLCAyNDE1IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIv
dWtuZXRkZXYvQ29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L01ha2Vm
aWxlLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IGxpYi91a25ldGRldi9uZXRidWYuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxp
Yi91a25ldGRldi9uZXRkZXYuYwoKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:02 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRK6-0004aZ-Ho; Fri, 19 Oct 2018 09:44:02 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRK5-0004aP-5j
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:01 +0000
X-Inumbo-ID: 1b809a51-d383-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1b809a51-d383-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 11:41:09 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id ED9EFF2014;
 Fri, 19 Oct 2018 11:43:56 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id DnEYJIMQa4fl; Fri, 19 Oct 2018 11:43:56 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id C83C2F2010;
 Fri, 19 Oct 2018 11:43:52 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:43:52 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:35 +0200
Message-ID: <1539942225-24325-2-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 01/11] lib/uknetdev: Library
 skeleton
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
YW5kIHJlZ2lzdGVyIGxpYnVrbmV0ZGV2IGxpYnJhcnkgc2tlbGV0b24uCgpTaWduZWQtb2ZmLWJ5
OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+ClJldmlld2VkLWJ5
OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBsaWIv
Q29uZmlnLnVrICAgICAgICAgICAgfCAxICsKIGxpYi9NYWtlZmlsZS51ayAgICAgICAgICB8IDEg
KwogbGliL3VrbmV0ZGV2L0NvbmZpZy51ayAgIHwgNSArKysrKwogbGliL3VrbmV0ZGV2L01ha2Vm
aWxlLnVrIHwgNCArKysrCiA0IGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBsaWIvdWtuZXRkZXYvQ29uZmlnLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQg
bGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCgpkaWZmIC0tZ2l0IGEvbGliL0NvbmZpZy51ayBiL2xp
Yi9Db25maWcudWsKaW5kZXggNDgxZDdhYi4uNWNkNzU4NSAxMDA2NDQKLS0tIGEvbGliL0NvbmZp
Zy51aworKysgYi9saWIvQ29uZmlnLnVrCkBAIC0zOSwzICszOSw0IEBAIHNvdXJjZSAibGliL3Vr
bXBpL0NvbmZpZy51ayIKIHNvdXJjZSAibGliL3Vrc3dyYW5kL0NvbmZpZy51ayIKIHNvdXJjZSAi
bGliL3VrYnVzL0NvbmZpZy51ayIKIHNvdXJjZSAibGliL3Vrc2dsaXN0L0NvbmZpZy51ayIKK3Nv
dXJjZSAibGliL3VrbmV0ZGV2L0NvbmZpZy51ayIKZGlmZiAtLWdpdCBhL2xpYi9NYWtlZmlsZS51
ayBiL2xpYi9NYWtlZmlsZS51awppbmRleCBjN2RiODQ4Li40YzJjYzg3IDEwMDY0NAotLS0gYS9s
aWIvTWFrZWZpbGUudWsKKysrIGIvbGliL01ha2VmaWxlLnVrCkBAIC0yMCwzICsyMCw0IEBAICQo
ZXZhbCAkKGNhbGwgX2ltcG9ydF9saWIsJChDT05GSUdfVUtfQkFTRSkvbGliL3VrbG9jaykpCiAk
KGV2YWwgJChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a21waSkpCiAk
KGV2YWwgJChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a2J1cykpCiAk
KGV2YWwgJChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a3NnbGlzdCkp
CiskKGV2YWwgJChjYWxsIF9pbXBvcnRfbGliLCQoQ09ORklHX1VLX0JBU0UpL2xpYi91a25ldGRl
dikpCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrIGIvbGliL3VrbmV0ZGV2L0Nv
bmZpZy51awpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWUxMWE5Ci0tLSAv
ZGV2L251bGwKKysrIGIvbGliL3VrbmV0ZGV2L0NvbmZpZy51awpAQCAtMCwwICsxLDUgQEAKK2Nv
bmZpZyBMSUJVS05FVERFVgorCWJvb2wgInVrbmV0ZGV2OiBOZXR3b3JrIGRyaXZlciBpbnRlcmZh
Y2UiCisJZGVmYXVsdCBuCisJc2VsZWN0IExJQk5PTElCQyBpZiAhSEFWRV9MSUJDCisJc2VsZWN0
IExJQlVLREVCVUcKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9NYWtlZmlsZS51ayBiL2xpYi91
a25ldGRldi9NYWtlZmlsZS51awpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
NGYzMGJlCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCkBAIC0w
LDAgKzEsNCBAQAorJChldmFsICQoY2FsbCBhZGRsaWJfcyxsaWJ1a25ldGRldiwkKENPTkZJR19M
SUJVS05FVERFVikpKQorCitDSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRERVYpCQkrPSAtSSQo
TElCVUtORVRERVZfQkFTRSkvaW5jbHVkZQorQ1hYSU5DTFVERVMtJChDT05GSUdfTElCVUtORVRE
RVYpCSs9IC1JJChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCi0tIAoyLjcuNAoKCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWls
aW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu
eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:03 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRK7-0004b6-Kg; Fri, 19 Oct 2018 09:44:03 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRK6-0004aV-DL
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:02 +0000
X-Inumbo-ID: 1cd15d86-d383-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1cd15d86-d383-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 11:41:11 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 45AD2104A31;
 Fri, 19 Oct 2018 11:43:59 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id x51zfuGCc1eW; Fri, 19 Oct 2018 11:43:59 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 225991048AD
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 11:43:57 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:43:56 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:36 +0200
Message-ID: <1539942225-24325-3-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 02/11] lib/uknetdev: Introduce
 Netbufs
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkcyBgc3RydWN0IHVrX25ldGJ1ZmAsIGEgc3RydWN0dXJlIGZvciBkZXNjcmliaW5nIG5ldHdv
cmsKcGFja2V0cy4gSXQgaXMgZGVzaWduZWQgdG8gc3VwcG9ydCB6ZXJvLWNvcHkgb3BlcmF0aW9u
IGFuZCBzaW1wbGUKZW1iZWRkaW5nIHRvIGV4aXN0aW5nIG5ldHdvcmsgc3RhY2tzLiBOZXRidWZz
IGNhbiBiZSAoMSkgaW5pdGlhbGl6ZWQKb24gdXNlci1zdXBwbGllZCBtZW1vcnkgcmVnaW9ucywg
aW50ZW5kZWQgZm9yIG5ldHdvcmsgc3RhY2tzIHRoYXQgY29tZQp3aXRoIGEgcGFja2V0IGJ1ZmZl
ciBhbGxvY2F0b3IsIG9yICgyKSB1a19hbGxvYy1iYXNlZCBhbGxvY2F0aW9uLgoKVGhpcyBjb21t
aXQgaW50cm9kdWNlcyB0aGUgbmV0YnVmIHN0cnVjdCBhbmQgaW50aWFsaXphdGlvbiBhbmQKYWxs
b2NhdGlvbiBmdW5jdGlvbnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5r
dWVuemVyQG5lY2xhYi5ldT4KUmV2aWV3ZWQtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5z
YW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIGxpYi91a25ldGRldi9Db25maWcudWsgICAgICAgICAg
IHwgICAxICsKIGxpYi91a25ldGRldi9NYWtlZmlsZS51ayAgICAgICAgIHwgICAyICsKIGxpYi91
a25ldGRldi9leHBvcnRzeW1zLnVrICAgICAgIHwgICA0ICsKIGxpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGJ1Zi5oIHwgMjg5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KwogbGliL3VrbmV0ZGV2L25ldGJ1Zi5jICAgICAgICAgICAgfCAxOTAgKysrKysrKysrKysrKysr
KysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCA0ODYgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCiBjcmVhdGUgbW9kZSAxMDA2NDQg
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIv
dWtuZXRkZXYvbmV0YnVmLmMKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrIGIv
bGliL3VrbmV0ZGV2L0NvbmZpZy51awppbmRleCBiNWUxMWE5Li44NzhiODIyIDEwMDY0NAotLS0g
YS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCisrKyBiL2xpYi91a25ldGRldi9Db25maWcudWsKQEAg
LTMsMyArMyw0IEBAIGNvbmZpZyBMSUJVS05FVERFVgogCWRlZmF1bHQgbgogCXNlbGVjdCBMSUJO
T0xJQkMgaWYgIUhBVkVfTElCQwogCXNlbGVjdCBMSUJVS0RFQlVHCisJc2VsZWN0IExJQlVLQUxM
T0MKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9NYWtlZmlsZS51ayBiL2xpYi91a25ldGRldi9N
YWtlZmlsZS51awppbmRleCAzNGYzMGJlLi44MWFmYWU0IDEwMDY0NAotLS0gYS9saWIvdWtuZXRk
ZXYvTWFrZWZpbGUudWsKKysrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCkBAIC0yLDMgKzIs
NSBAQCAkKGV2YWwgJChjYWxsIGFkZGxpYl9zLGxpYnVrbmV0ZGV2LCQoQ09ORklHX0xJQlVLTkVU
REVWKSkpCiAKIENJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVikJCSs9IC1JJChMSUJVS05F
VERFVl9CQVNFKS9pbmNsdWRlCiBDWFhJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVikJKz0g
LUkkKExJQlVLTkVUREVWX0JBU0UpL2luY2x1ZGUKKworTElCVUtORVRERVZfU1JDUy15ICs9ICQo
TElCVUtORVRERVZfQkFTRSkvbmV0YnVmLmMKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9leHBv
cnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uNTQ3M2JiYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25ldGRl
di9leHBvcnRzeW1zLnVrCkBAIC0wLDAgKzEsNCBAQAordWtfbmV0YnVmX2luaXRfaW5kaXIKK3Vr
X25ldGJ1Zl9hbGxvY19pbmRpcgordWtfbmV0YnVmX2FsbG9jX2J1ZgordWtfbmV0YnVmX3ByZXBh
cmVfYnVmCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCBiL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjU1MTc5M2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRidWYuaApAQCAtMCwwICsxLDI4OSBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZp
ZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNpbW9u
Lmt1ZW56ZXJAbmVjbGFiLmV1PgorICoKKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9w
ZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0
aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICog
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJ
UyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAq
LworI2lmbmRlZiBfX1VLX05FVEJVRl9fCisjZGVmaW5lIF9fVUtfTkVUQlVGX18KKworI2luY2x1
ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RkZGVm
Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1
ay9hc3NlcnQuaD4KKyNpbmNsdWRlIDx1ay9yZWZjb3VudC5oPgorI2luY2x1ZGUgPHVrL2FsbG9j
Lmg+CisjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4
dGVybiAiQyIgeworI2VuZGlmCisKK3N0cnVjdCB1a19uZXRidWY7CisKK3R5cGVkZWYgdm9pZCAo
KnVrX25ldGJ1Zl9kdG9yX3QpKHN0cnVjdCB1a19uZXRidWYgKik7CisKKy8qKgorICogVGhlIG5l
dGJ1ZiBzdHJ1Y3R1cmUgaXMgdXNlZCB0byBkZXNjcmliZSBhIHNpbmdsZSBjb250aWd1b3VzIHBh
Y2tldCBidWZmZXIuCisgKiBUaGUgc3RydWN0dXJlIGNhbiBiZSBjaGFpbmVkIHRvIGRlc2NyaWJl
IGEgcGFja2V0IHdpdGggbXVsdGlwbGUgc2NhdHRlcmVkCisgKiBidWZmZXJzLgorICoKKyAqIE5F
VEJVRgorICogICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAg
ICAgICAgICAgICAgICAgfCAgIHN0cnVjdCB1a19uZXRidWYgICB8CisgKiAgICAgICAgICAgICAg
ICAgIHwgICAgICAgICAgICAgICAgICAgICAgfAorICogICAgICAgICAgICAgICAgICArLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBQUklWQVRFIE1FVEEgREFUQQorICogICAgICAgICAq
cHJpdiAtPiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgICAgICAgICAgICAgICAgfCAg
ICAgIHByaXZhdGUgbWV0YSAgICB8CisgKiAgICAgICAgICAgICAgICAgIHwgICAgICAgZGF0YSBh
cmVhICAgICAgfAorICogICAgICAgICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsK
KyAqCisgKiBQQUNLRVQgQlVGRkVSCisgKiAgICAgICAgICAqYnVmIC0+ICstLS0tLS0tLS0tLS0t
LS0tLS0tLS0tKyBcCisgKiAgICAgICAgICAgICAgICAgIHwgICAgICBIRUFEIFJPT00gICAgICAg
fCAgfAorICogICAgICAgICAgICAgICAgICB8ICAgXiAgICAgICAgICAgICAgXiAgIHwgIHwKKyAq
ICAgICAgICAgKmRhdGEgLT4gKy0tLXwtLS0tLS0tLS0tLS0tLXwtLS0rICB8IGNvbnRpZ3VvdXMK
KyAqICAgICAgICAgICAgICAgICAgfCAgIHYgICAgICAgICAgICAgIHYgICB8ICB8IGJ1ZmZlcgor
ICogICAgICAgICAgICAgICAgICB8ICAgICBQQUNLRVQgREFUQSAgICAgIHwgIHwgYXJlYQorICog
ICAgICAgICAgICAgICAgICB8ICAgXiAgICAgICAgICAgICAgXiAgIHwgIHwKKyAqICAgKmRhdGEg
KyBsZW4gLT4gKy0tLXwtLS0tLS0tLS0tLS0tLXwtLS0rICB8CisgKiAgICAgICAgICAgICAgICAg
IHwgICB2ICAgICAgICAgICAgICB2ICAgfCAgfAorICogICAgICAgICAgICAgICAgICB8ICAgICAg
VEFJTCBST09NICAgICAgIHwgIHwKKyAqICpidWYgKyBidWZsZW4gLT4gKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0rIC8KKyAqCisgKgorICogVGhlIHByaXZhdGUgZGF0YSBhcmVhIGlzIGludGVuZGVk
IGZvciBnbHVlIGNvZGUgdGhhdCB3YW50cyB0byBlbWJlZCBzdGFjay0KKyAqIHNwZWNpZmljIGRh
dGEgdG8gdGhlIG5ldGJ1ZiAoZS5nLiwgYHN0cnVjdCBwYnVmYCBmb3IgbHdJUCkuIFRoaXMgYXZv
aWRzCisgKiBzZXBhcmF0ZSBtZW1vcnkgbWFuYWdlbWVudCBmb3Igc3RhY2stc3BlY2lmaWMgcGFj
a2V0IG1ldGEtZGF0YS4gbGlidWtuZXRkZXYKKyAqIG9yIGRldmljZSBkcml2ZXJzIGFyZSBub3Qg
aW5zcGVjdGluZyBvciBtb2RpZnlpbmcgdGhlc2UgZGF0YS4KKyAqCisgKiBUaGUgYnVmZmVyIHJl
Z2lvbiBjb250YWlucyB0aGUgcGFja2V0IGRhdGEuIGBzdHJ1Y3QgdWtfbmV0YnVmYCBpcyBwb2lu
dGluZworICogd2l0aCBgKmRhdGFgIHRvIHRoZSBmaXJzdCBieXRlIG9mIHRoZSBwYWNrZXQgZGF0
YSB3aXRoaW4gdGhlIGJ1ZmZlci4KKyAqIGBsZW5gIGRlc2NyaWJlcyB0aGUgbnVtYmVyIG9mIGJ5
dGVzIHVzZWQuIEFsbCBwYWNrZXQgZGF0YSBoYXMgdG8gZml0IGludG8gdGhlCisgKiBnaXZlbiBi
dWZmZXIuIFRoZSBidWZmZXIgaXMgZGVzY3JpYmVkIHdpdGggdGhlIGBidWZgIGFuZCBgYnVmbGVu
YCBmaWVsZC4KKyAqIFRoZXNlIHR3byBmaWVsZHMgc2hvdWxkIG5vdCBjaGFuZ2UgZHVyaW5nIHRo
ZSBuZXRidWYgbGlmZSB0aW1lLgorICogVGhlIGF2YWlsYWJsZSBoZWFkcm9vbSBieXRlcyBhcmUg
Y2FsY3VsYXRlZCBieSBzdWJ0cmFjdGluZyB0aGUgYCpkYXRhYAorICogcG9pbnRlciBmcm9tIGAq
YnVmYCBwb2ludGVyLiBUaGUgYXZhaWxhYmxlIHRhaWxyb29tIGJ5dGVzIGFyZSBjYWxjdWxhdGVk
CisgKiB3aXRoOiAoKmJ1ZiArIGJ1ZmxlbikgLSAoKmRhdGEgKyBsZW4pLgorICogV2hlbiBtb3Jl
IHBhY2tldCBkYXRhIHNwYWNlIGlzIHJlcXVpcmVkIG9yIHdoZW5ldmVyIHBhY2tldCBkYXRhIGlz
IHNjYXR0ZXJlZAorICogaW4gbWVtb3J5LCBuZXRidWZzIGNhbiBiZSBjaGFpbmVkLgorICoKKyAq
IFRoZSBuZXRidWYgc3RydWN0dXJlLCBwcml2YXRlIG1ldGEgZGF0YSBhcmVhLCBhbmQgYnVmZmVy
IGFyZWEgY2FuIGJlIGJhY2tlZAorICogYnkgaW5kZXBlbmRlbnQgbWVtb3J5IGFsbG9jYXRpb25z
LiB1a19uZXRidWZfYWxsb2NfYnVmKCkgYW5kCisgKiB1a19uZXRidWZfcHJlcGFyZV9idWYoKSBh
cmUgcGxhY2luZyBhbGwgdGhlc2UgdGhyZWUgcmVnaW9ucyBpbnRvIGEgc2luZ2xlCisgKiBhbGxv
Y2F0aW9uLgorICovCitzdHJ1Y3QgdWtfbmV0YnVmIHsKKwlzdHJ1Y3QgdWtfbmV0YnVmICpuZXh0
OworCXN0cnVjdCB1a19uZXRidWYgKnByZXY7CisKKwl2b2lkICpkYXRhOyAgICAgICAgICAgIC8q
KjwgUGF5bG9hZCBzdGFydCwgaXMgcGFydCBvZiBidWYuICovCisJdWludDE2X3QgbGVuOyAgICAg
ICAgICAvKio8IFBheWxvYWQgbGVuZ3RoIChzaG91bGQgYmUgPD0gYnVmbGVuKS4gKi8KKwlfX2F0
b21pYyByZWZjb3VudDsgICAgIC8qKjwgUmVmZXJlbmNlIGNvdW50ZXIgKi8KKworCXZvaWQgKnBy
aXY7ICAgICAgICAgICAgLyoqPCBSZWZlcmVuY2UgdG8gdXNlci1wcm92aWRlZCBwcml2YXRlIGRh
dGEgKi8KKworCXZvaWQgKmJ1ZjsgICAgICAgICAgICAgLyoqPCBTdGFydCBhZGRyZXNzIG9mIGNv
bnRpZ3VvdXMgYnVmZmVyLiAqLworCXNpemVfdCBidWZsZW47ICAgICAgICAgLyoqPCBMZW5ndGgg
b2YgYnVmZmVyLiAqLworCisJdWtfbmV0YnVmX2R0b3JfdCBkdG9yOyAvKio8IERlc3RydWN0b3Ig
Y2FsbGJhY2sgKi8KKwlzdHJ1Y3QgdWtfYWxsb2MgKl9hOyAgIC8qKjwgQGludGVybmFsIEFsbG9j
YXRvciBmb3IgZnJlZSdpbmcgKi8KK307CisKKy8qKgorICogSW5pdGlhbGl6ZXMgYW4gZXh0ZXJu
YWwgYWxsb2NhdGVkIG5ldGJ1Zi4KKyAqIFRoaXMgbmV0YnVmIGhhcyBubyBkYXRhIGFyZWEgYXNz
aWduZWQuIEl0IGlzIGludGVuZGVkCisgKiB0aGF0IG0tPmJ1ZiwgbS0+YnVmbGVuLCBhbmQgbS0+
ZGF0YSBpcyBpbml0aWFsaXplZCBieSB0aGUgY2FsbGVyLgorICogbS0+bGVuIGlzIGluaXRpYWxp
emVkIHdpdGggMC4KKyAqIE5vdGU6IE9uIHRoZSBsYXN0IGZyZWUsIG9ubHkgdGhlIGRlc3RydWN0
b3IgaXMgY2FsbGVkLAorICogICAgICAgbm8gbWVtb3J5IGlzIHJlbGVhc2VkIGJ5IHRoZSBBUEku
CisgKiBAcGFyYW0gbQorICogICByZWZlcmVuY2UgdG8gdWtfbmV0YnVmIHRoYXQgc2hhbGwgYmUg
aW5pdGlhbGl6ZWQKKyAqIEBwYXJhbSBwcml2CisgKiAgIFJlZmVyZW5jZSB0byBleHRlcm5hbCAo
bWV0YSkgZGF0YSB0aGF0IGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLgorICogQHBhcmFtIGR0
b3IKKyAqICAgRGVzdHJ1Y3RvciB0aGF0IGlzIGNhbGxlZCB3aGVuIG5ldGJ1ZidzIHJlZmNvdW50
IHJlYWNoZXMgemVybyAocmVjb21tZW5kZWQpCisgKi8KKyNkZWZpbmUgdWtfbmV0YnVmX2luaXQo
bSwgcHJpdiwgZHRvcikJCQkJXAorCXVrX25ldGJ1Zl9pbml0X2luZGlyKChtKSwgTlVMTCwgMCwg
MCwgKHByaXYpLCAoZHRvcikpCisKKy8qKgorICogSW5pdGlhbGl6ZXMgYW4gZXh0ZXJuYWwgYWxs
b2NhdGVkIG5ldGJ1Zi4KKyAqIFRoaXMgbmV0YnVmIHdpbGwgcG9pbnQgdG8gYW4gdXNlci1wcm92
aWRlZCBjb250aWd1b3VzIGJ1ZmZlciBhcmVhLgorICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdp
dGggMC4KKyAqIE5vdGU6IE9uIHRoZSBsYXN0IGZyZWUsIG9ubHkgdGhlIGRlc3RydWN0b3IgaXMg
Y2FsbGVkLAorICogICAgICAgbm8gbWVtb3J5IGlzIHJlbGVhc2VkIGJ5IHRoZSBBUEkuCisgKiBA
cGFyYW0gbQorICogICByZWZlcmVuY2UgdG8gdWtfbmV0YnVmIHRoYXQgc2hhbGwgYmUgaW5pdGlh
bGl6ZWQKKyAqIEBwYXJhbSBidWYKKyAqICAgUmVmZXJlbmNlIHRvIGJ1ZmZlciBhcmVhIHRoYXQg
aXMgYmVsb25naW5nIHRvIHRoaXMgbmV0YnVmCisgKiBAcGFyYW0gYnVmbGVuCisgKiAgIFNpemUg
b2YgdGhlIGJ1ZmZlciBhcmVhCisgKiBAcGFyYW0gaGVhZHJvb20KKyAqICAgTnVtYmVyIG9mIGJ5
dGVzIHJlc2VydmVkIGFzIGhlYWRyb29tIGZyb20gYnVmLCBgbS0+ZGF0YWAgd2lsbCBwb2ludCB0
bworICogICB0byB0aGUgZmlyc3QgYnl0ZSBpbiBgYnVmYCBhZnRlciB0aGUgaGVhZHJvb20uIGBo
ZWFkcm9vbWAgaGFzIHRvIGJlIHNtYWxsZXIKKyAqICAgb3IgZXF1YWwgdG8gYGJ1ZmxlbmAuCisg
KiAgIE5vdGU6IFNvbWUgZHJpdmVycyBtYXkgcmVxdWlyZSBleHRyYSBoZWFkcm9vbSBzcGFjZSBp
biB0aGUgZmlyc3QgbmV0YnVmIG9mCisgKiAgICAgICAgIGEgY2hhaW4gaW4gb3JkZXIgdG8gZG8g
YSBwYWNrZXQgdHJhbnNtaXNzaW9uLgorICogQHBhcmFtIHByaXYKKyAqICAgUmVmZXJlbmNlIHRv
IGV4dGVybmFsIChtZXRhKSBkYXRhIHRoYXQgY29ycmVzcG9uZHMgdG8gdGhpcyBuZXRidWYuCisg
KiBAcGFyYW0gZHRvcgorICogICBEZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4gbmV0YnVm
J3MgcmVmY291bnQgcmVhY2hlcyB6ZXJvIChyZWNvbW1lbmRlZCkKKyAqLwordm9pZCB1a19uZXRi
dWZfaW5pdF9pbmRpcihzdHJ1Y3QgdWtfbmV0YnVmICptLAorCQkJICB2b2lkICpidWYsIHNpemVf
dCBidWZsZW4sIHVpbnQxNl90IGhlYWRyb29tLAorCQkJICB2b2lkICpwcml2LCB1a19uZXRidWZf
ZHRvcl90IGR0b3IpOworCisvKioKKyAqIEFsbG9jYXRlcyBhbmQgaW5pdGlhbGl6ZXMgYSBuZXRi
dWYuCisgKiBUaGlzIG5ldGJ1ZiBoYXMgbm8gYnVmZmVyIGFyZWEgYXNzaWduZWQuIEl0IGlzIGlu
dGVuZGVkCisgKiB0aGF0IG0tPmJ1ZiwgbS0+YnVmbGVuLCBhbmQgbS0+ZGF0YSBpcyBpbml0aWFs
aXplZCBieSB0aGUgY2FsbGVyLgorICogbS0+bGVuIGlzIGluaXRpYWxpemVkIHdpdGggMC4KKyAq
IE5vdGU6IE9uIHRoZSBsYXN0IGZyZWUsIHRoZSBidWZmZXIgYXJlYSBpcyBub3QgZnJlZSdkLiBJ
dCBpcyBpbnRlbmRlZAorICogICAgICAgdG8gcHJvdmlkZSBhIGRlc3RydWN0b3IgZm9yIHRoaXMg
b3BlcmF0aW9uLgorICogQHBhcmFtIGEKKyAqICAgQWxsb2NhdG9yIHRvIHVzZSBmb3IgYWxsb2Nh
dGluZyBgc3RydWN0IHVrX25ldGJ1ZmAgYW5kIHRoZQorICogICBjb3JyZXNwb25kaW5nIHByaXZh
dGUgZGF0YSBhcmVhLgorICogQHBhcmFtIGR0b3IKKyAqICAgRGVzdHJ1Y3RvciB0aGF0IGlzIGNh
bGxlZCB3aGVuIG5ldGJ1ZiBpcyBmcmVlJ2QgKHJlY29tbWVuZGVkKQorICogQHBhcmFtIHByaXZs
ZW4KKyAqICAgTGVuZ3RoIGZvciByZXNlcnZlZCBtZW1vcnkgdG8gc3RvcmUgcHJpdmF0ZSBkYXRh
LiBUaGlzIG1lbW9yeSBpcyBmcmVlJ2QKKyAqICAgdG9nZXRoZXIgd2l0aCB0aGlzIG5ldGJ1Zi4g
SWYgcHJpdmxlbiBpcyAwLCBlaXRoZXIgbm8gcHJpdmF0ZSBkYXRhIGlzCisgKiAgIHJlcXVpcmVk
IG9yIGV4dGVybmFsIG1ldGEgZGF0YSBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4gbS0+cHJp
diBjYW4gYmUKKyAqICAgbW9kaWZpZWQgYWZ0ZXIgdGhlIGFsbG9jYXRpb24uCisgKiBAcmV0dXJu
cworICogICAtIChOVUxMKTogQWxsb2NhdGlvbiBmYWlsZWQKKyAqICAgLSBpbml0aWFsaXplZCB1
a19uZXRidWYKKyAqLworI2RlZmluZSB1a19uZXRidWZfYWxsb2MoYSwgcHJpdmxlbiwgZHRvcikJ
CQlcCisJdWtfbmV0YnVmX2FsbG9jX2luZGlyKChhKSwgTlVMTCwgMCwgMCwgKHByaXZsZW4pLCAo
ZHRvcikpCisKKy8qKgorICogQWxsb2NhdGUgYW5kIGluaXRpYWxpemUgbmV0YnVmIHRvIHJlZmVy
ZW5jZSB0byBhbiBleGlzdGluZworICogY29udGlndW91cyBkYXRhIGFyZWEKKyAqIG0tPmxlbiBp
cyBpbml0aWFsaXplZCB3aXRoIDAuCisgKiBJdCB3aWxsIG5vdCBiZSBmcmVlJ2QgdG9nZXRoZXIg
d2l0aCB0aGlzIG5ldGJ1ZiBvbiB0aGUgbGFzdCBmcmVlIGNhbGwuCisgKiBAcGFyYW0gYQorICog
ICBBbGxvY2F0b3IgdG8gYmUgdXNlZCBmb3IgYWxsb2NhdGluZyBgc3RydWN0IHVrX25ldGJ1ZmAK
KyAqICAgT24gdWtfbmV0ZGV2X2ZyZWUoKSBhbmQgcmVmY291bnQgPT0gMCB0aGUgYWxsb2NhdGlv
biBpcyBmcmVlJ2QKKyAqICAgdG8gdGhpcyBhbGxvY2F0b3IuCisgKiBAcGFyYW0gYnVmCisgKiAg
IFJlZmVyZW5jZSB0byB0aGUgYnVmZmVyIGFyZWEgdGhhdCBpcyBiZWxvbmdpbmcgdG8gdGhpcyBu
ZXRidWYKKyAqIEBwYXJhbSBidWZsZW4KKyAqICAgU2l6ZSBvZiB0aGUgYnVmZmVyIGFyZWEKKyAq
IEBwYXJhbSBoZWFkcm9vbQorICogICBOdW1iZXIgb2YgYnl0ZXMgcmVzZXJ2ZWQgYXMgaGVhZHJv
b20gZnJvbSBidWYuCisgKiAgIGhlYWRyb29tIGhhcyB0byBiZSBzbWFsbGVyIG9yIGVxdWFsIHRv
IGJ1Zmxlbi4KKyAqICAgUGxlYXNlIG5vdGUgdGhhdCBtLT5kYXRhIGlzIGFsaWduZWQgd2hlbiBy
ZXNlcnZlZCBoZWFkcm9vbSBpcyAwLgorICogICBJbiBvcmRlciB0byBrZWVwIHRoaXMgcHJvcGVy
dHkgYWxpZ24gdXAgdGhlIGhlYWRyb29tIHZhbHVlLgorICogQHBhcmFtIHByaXZsZW4KKyAqICAg
TGVuZ3RoIGZvciByZXNlcnZlZCBtZW1vcnkgdG8gc3RvcmUgcHJpdmF0ZSBkYXRhLiBUaGlzIG1l
bW9yeSBpcyBmcmVlJ2QKKyAqICAgdG9nZXRoZXIgd2l0aCB0aGlzIG5ldGJ1Zi4gSWYgcHJpdmxl
biBpcyAwLCBlaXRoZXIgbm8gcHJpdmF0ZSBkYXRhIGlzCisgKiAgIHJlcXVpcmVkIG9yIGV4dGVy
bmFsIG1ldGEgZGF0YSBjb3JyZXNwb25kcyB0byB0aGlzIG5ldGJ1Zi4gbS0+cHJpdiBjYW4gYmUK
KyAqICAgbW9kaWZpZWQgYWZ0ZXIgdGhlIGFsbG9jYXRpb24uCisgKiBAcGFyYW0gZHRvcgorICog
ICBEZXN0cnVjdG9yIHRoYXQgaXMgY2FsbGVkIHdoZW4gbmV0YnVmIGlzIGZyZWUnZCAocmVjb21t
ZW5kZWQpCisgKiBAcmV0dXJucworICogICAtIChOVUxMKTogQWxsb2NhdGlvbiBmYWlsZWQKKyAq
ICAgLSBpbml0aWFsaXplZCB1a19uZXRidWYKKyAqLworc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0
YnVmX2FsbG9jX2luZGlyKHN0cnVjdCB1a19hbGxvYyAqYSwKKwkJCQkJdm9pZCAqYnVmLCBzaXpl
X3QgYnVmbGVuLAorCQkJCQl1aW50MTZfdCBoZWFkcm9vbSwKKwkJCQkJc2l6ZV90IHByaXZsZW4s
IHVrX25ldGJ1Zl9kdG9yX3QgZHRvcik7CisKKy8qKgorICogQWxsb2NhdGUgYW5kIGluaXRpYWxp
emUgbmV0YnVmIHdpdGggZGF0YSBidWZmZXIgYXJlYS4KKyAqIG0tPmxlbiBpcyBpbml0aWFsaXpl
ZCB3aXRoIDAuCisgKiBAcGFyYW0gYQorICogICBBbGxvY2F0b3IgdG8gYmUgdXNlZCBmb3IgYWxs
b2NhdGluZyBgc3RydWN0IHVrX25ldGJ1ZmAgYW5kIHRoZQorICogICBjb3JyZXNwb25kaW5nIGJ1
ZmZlciBhcmVhIChzaW5nbGUgYWxsb2NhdGlvbikuCisgKiAgIE9uIHVrX25ldGJ1Zl9mcmVlKCkg
YW5kIHJlZmNvdW50ID09IDAgdGhlIGFsbG9jYXRpb24gaXMgZnJlZSdkCisgKiAgIHRvIHRoaXMg
YWxsb2NhdG9yLgorICogQHBhcmFtIGJ1ZmxlbgorICogICBTaXplIG9mIHRoZSBidWZmZXIgYXJl
YQorICogQHBhcmFtIGhlYWRyb29tCisgKiAgIE51bWJlciBvZiBieXRlcyByZXNlcnZlZCBhcyBo
ZWFkcm9vbSBmcm9tIHRoZSBidWZmZXIgYXJlYS4KKyAqICAgYGhlYWRyb29tYCBoYXMgdG8gYmUg
c21hbGxlciBvciBlcXVhbCB0byBgYnVmbGVuYC4KKyAqICAgUGxlYXNlIG5vdGUgdGhhdCBgbS0+
ZGF0YWAgaXMgYWxpZ25lZCB3aGVuIGBoZWFkcm9vbWAgaXMgMC4KKyAqICAgSW4gb3JkZXIgdG8g
a2VlcCB0aGlzIHByb3BlcnR5IHdoZW4gYSBoZWFkcm9vbSBpcyB1c2VkLAorICogICBpdCBpcyBy
ZWNvbW1lbmRlZCB0byBhbGlnbiB1cCB0aGUgcmVxdWlyZWQgaGVhZHJvb20uCisgKiBAcGFyYW0g
cHJpdmxlbgorICogICBMZW5ndGggZm9yIHJlc2VydmVkIG1lbW9yeSB0byBzdG9yZSBwcml2YXRl
IGRhdGEuIFRoaXMgbWVtb3J5IGlzIGZyZWUnZAorICogICB0b2dldGhlciB3aXRoIHRoaXMgbmV0
YnVmLiBJZiBwcml2bGVuIGlzIDAsIGVpdGhlciBubyBwcml2YXRlIGRhdGEgaXMKKyAqICAgcmVx
dWlyZWQgb3IgZXh0ZXJuYWwgbWV0YSBkYXRhIGNvcnJlc3BvbmRzIHRvIHRoaXMgbmV0YnVmLiBt
LT5wcml2IGNhbiBiZQorICogICBtb2RpZmllZCBhZnRlciB0aGUgYWxsb2NhdGlvbi4KKyAqIEBw
YXJhbSBkdG9yCisgKiAgIERlc3RydWN0b3IgdGhhdCBpcyBjYWxsZWQgd2hlbiBuZXRidWYgaXMg
ZnJlZSdkIChvcHRpb25hbCkKKyAqIEByZXR1cm5zCisgKiAgIC0gKE5VTEwpOiBBbGxvY2F0aW9u
IGZhaWxlZAorICogICAtIGluaXRpYWxpemVkIHVrX25ldGJ1ZgorICovCitzdHJ1Y3QgdWtfbmV0
YnVmICp1a19uZXRidWZfYWxsb2NfYnVmKHN0cnVjdCB1a19hbGxvYyAqYSwgc2l6ZV90IGJ1Zmxl
biwKKwkJCQkgICAgICB1aW50MTZfdCBoZWFkcm9vbSwKKwkJCQkgICAgICBzaXplX3QgcHJpdmxl
biwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKTsKKworLyoqCisgKiBJbml0aWFsaXplIG5ldGJ1ZiB3
aXRoIGRhdGEgYnVmZmVyIG9uIGEgdXNlciBnaXZlbiBhbGxvY2F0ZWQgbWVtb3J5IGFyZWEKKyAq
IG0tPmxlbiBpcyBpbml0aWFsaXplZCB3aXRoIDAuCisgKiBAcGFyYW0gbWVtCisgKiAgIFJlZmVy
ZW5jZSB0byB1c2VyIHByb3ZpZGVkIG1lbW9yeSByZWdpb24KKyAqIEBwYXJhbSBidWZsZW4KKyAq
ICAgU2l6ZSBvZiB0aGUgZGF0YSB0aGF0IHNoYWxsIGJlIGFsbG9jYXRlZCB0b2dldGhlciB3aXRo
IHRoaXMgbmV0YnVmCisgKiBAcGFyYW0gaGVhZHJvb20KKyAqICAgTnVtYmVyIG9mIGJ5dGVzIHJl
c2VydmVkIGFzIGhlYWRyb29tIGZyb20gdGhlIGJ1ZmZlciBhcmVhLgorICogICBgaGVhZHJvb21g
IGhhcyB0byBiZSBzbWFsbGVyIG9yIGVxdWFsIHRvIGBidWZsZW5gLgorICogICBQbGVhc2Ugbm90
ZSB0aGF0IGBtLT5kYXRhYCBpcyBhbGlnbmVkIHdoZW4gYGhlYWRyb29tYCBpcyAwLgorICogICBJ
biBvcmRlciB0byBrZWVwIHRoaXMgcHJvcGVydHkgd2hlbiBhIGhlYWRyb29tIGlzIHVzZWQsCisg
KiAgIGl0IGlzIHJlY29tbWVuZGVkIHRvIGFsaWduIHVwIHRoZSByZXF1aXJlZCBoZWFkcm9vbS4K
KyAqIEBwYXJhbSBwcml2bGVuCisgKiAgIExlbmd0aCBmb3IgcmVzZXJ2ZWQgbWVtb3J5IHRvIHN0
b3JlIHByaXZhdGUgZGF0YS4gVGhpcyBtZW1vcnkgd2lsbCBiZQorICogICBlbWJlZGRlZCB0b2dl
dGhlciB3aXRoIHRoaXMgbmV0YnVmLiBJZiBwcml2bGVuIGlzIDAsIGVpdGhlciBubyBwcml2YXRl
IGRhdGEKKyAqICAgaXMgcmVxdWlyZWQgb3IgZXh0ZXJuYWwgbWV0YSBkYXRhIGNvcnJlc3BvbmRz
IHRvIHRoaXMgbmV0YnVmLiBtLT5wcml2IGNhbgorICogICBiZSBtb2RpZmllZCBhZnRlciB0aGUg
cHJlcGFyYXRpb24uCisgKiBAcGFyYW0gZHRvcgorICogICBEZXN0cnVjdG9yIHRoYXQgaXMgY2Fs
bGVkIHdoZW4gbmV0YnVmJ3MgcmVmY291bnQgcmVhY2hlcyB6ZXJvIChyZWNvbW1lbmRlZCkKKyAq
IEByZXR1cm5zCisgKiAgIC0gKE5VTEwpOiBnaXZlbiBmYWlsZWQKKyAqICAgLSBpbml0aWFsaXpl
ZCB1a19uZXRidWYKKyAqLworc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVm
KHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCisJCQkJCXVpbnQxNl90IGhlYWRyb29tLAorCQkJCQlz
aXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKTsKKworI2lmZGVmIF9fY3BsdXNw
bHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9fVUtfTkVUQlVGX18gKi8KZGlmZiAtLWdpdCBh
L2xpYi91a25ldGRldi9uZXRidWYuYyBiL2xpYi91a25ldGRldi9uZXRidWYuYwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmMzNDliCi0tLSAvZGV2L251bGwKKysrIGIvbGli
L3VrbmV0ZGV2L25ldGJ1Zi5jCkBAIC0wLDAgKzEsMTkwIEBACisvKiBTUERYLUxpY2Vuc2UtSWRl
bnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2ltb24gS3VlbnplciA8
c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMg
RXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2Fy
ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
CisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xE
RVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisg
KiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZ
LgorICovCisjaW5jbHVkZSA8dWsvbmV0YnVmLmg+CisjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5o
PgorCisvKiBVc2VkIHRvIGFsaWduIG5ldGJ1ZidzIHByaXYgYW5kIGRhdGEgYXJlYXMgdG8gYGxv
bmcgbG9uZ2AgZGF0YSB0eXBlICovCisjZGVmaW5lIE5FVEJVRl9BRERSX0FMSUdOTUVOVCAoc2l6
ZW9mKGxvbmcgbG9uZykpCisjZGVmaW5lIE5FVEJVRl9BRERSX0FMSUdOX1VQKHgpIEFMSUdOX1VQ
KCh4KSwgTkVUQlVGX0FERFJfQUxJR05NRU5UKQorCit2b2lkIHVrX25ldGJ1Zl9pbml0X2luZGly
KHN0cnVjdCB1a19uZXRidWYgKm0sCisJCQkgIHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgdWlu
dDE2X3QgaGVhZHJvb20sCisJCQkgIHZvaWQgKnByaXYsIHVrX25ldGJ1Zl9kdG9yX3QgZHRvcikK
K3sKKwlVS19BU1NFUlQobSk7CisJVUtfQVNTRVJUKGJ1ZiB8fCAoYnVmID09IE5VTEwgJiYgYnVm
bGVuID09IDApKTsKKwlVS19BU1NFUlQoaGVhZHJvb20gPD0gYnVmbGVuKTsKKworCW0tPmJ1ZiAg
ICA9IGJ1ZjsKKwltLT5idWZsZW4gPSBidWZsZW47CisJbS0+ZGF0YSAgID0gKHZvaWQgKikgKCh1
aW50cHRyX3QpIGJ1ZiArIGhlYWRyb29tKTsKKwltLT5sZW4gICAgPSAwOworCW0tPnByZXYgICA9
IE5VTEw7CisJbS0+bmV4dCAgID0gTlVMTDsKKworCXVrX3JlZmNvdW50X2luaXQoJm0tPnJlZmNv
dW50LCAxKTsKKworCW0tPnByaXYgICA9IHByaXY7CisJbS0+ZHRvciAgID0gZHRvcjsKKwltLT5f
YSAgICAgID0gTlVMTDsKK30KKworc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2FsbG9jX2lu
ZGlyKHN0cnVjdCB1a19hbGxvYyAqYSwKKwkJCQkJdm9pZCAqYnVmLCBzaXplX3QgYnVmbGVuLAor
CQkJCQl1aW50MTZfdCBoZWFkcm9vbSwKKwkJCQkJc2l6ZV90IHByaXZsZW4sIHVrX25ldGJ1Zl9k
dG9yX3QgZHRvcikKK3sKKwlzdHJ1Y3QgdWtfbmV0YnVmICptOworCisJaWYgKHByaXZsZW4pCisJ
CW0gPSB1a19tYWxsb2MoYSwgTkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSkgKyBwcml2
bGVuKTsKKwllbHNlCisJCW0gPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCptKSk7CisJaWYgKCFtKQor
CQlyZXR1cm4gTlVMTDsKKworCXVrX25ldGJ1Zl9pbml0X2luZGlyKG0sCisJCQkgICAgIGJ1ZiwK
KwkJCSAgICAgYnVmbGVuLAorCQkJICAgICBoZWFkcm9vbSwKKwkJCSAgICAgcHJpdmxlbiA+IDAK
KwkJCSAgICAgPyAodm9pZCAqKSgodWludHB0cl90KSBtCisJCQkJCSsgTkVUQlVGX0FERFJfQUxJ
R05fVVAoc2l6ZW9mKCptKSkpCisJCQkgICAgIDogTlVMTCwKKwkJCSAgICAgZHRvcik7CisKKwkv
KiBTYXZlIHJlZmVyZW5jZSB0byBhbGxvY2F0b3IgdGhhdCBpcyB1c2VkCisJICogZm9yIGZyZWUn
aW5nIHRoaXMgdWtfbmV0YnVmLgorCSAqLworCW0tPl9hID0gYTsKKworCXJldHVybiBtOworfQor
CitzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfYWxsb2NfYnVmKHN0cnVjdCB1a19hbGxvYyAq
YSwgc2l6ZV90IGJ1ZmxlbiwKKwkJCQkgICAgICB1aW50MTZfdCBoZWFkcm9vbSwKKwkJCQkgICAg
ICBzaXplX3QgcHJpdmxlbiwgdWtfbmV0YnVmX2R0b3JfdCBkdG9yKQoreworCXN0cnVjdCB1a19u
ZXRidWYgKm07CisJc2l6ZV90IGJ1Zl9vZmZzZXQgPSAwOworCXNpemVfdCBwcml2X29mZnNldCA9
IDA7CisJc2l6ZV90IGhlYWRyb29tX2V4dHJhID0gMDsKKworCVVLX0FTU0VSVChidWZsZW4gPiAw
KTsKKwlVS19BU1NFUlQoaGVhZHJvb20gPD0gYnVmbGVuKTsKKworCW0gPSB1a19tYWxsb2MoYSwg
TkVUQlVGX0FERFJfQUxJR05fVVAoc2l6ZW9mKCptKSkKKwkJICAgICAgKyBORVRCVUZfQUREUl9B
TElHTl9VUChwcml2bGVuKQorCQkgICAgICArIGJ1Zmxlbik7CisJaWYgKCFtKQorCQlyZXR1cm4g
TlVMTDsKKworCS8qIFBsYWNlIGJ1ZiByaWdodCBiZWhpbmQgYG1gIG9yIGBtLT5wcml2YCByZWdp
b24gaWYgcHJpdmxlbiA+IDAuCisJICogSW4gb3JkZXIgdG8ga2VlcCBgbS0+ZGF0YSAtIGhlYWRy
b29tYCBhbGlnbmVkIHRoZSBwYWRkaW5nIGJ5dGVzCisJICogIGFyZSBhZGRlZCB0byB0aGUgaGVh
ZHJvb20uCisJICogV2UgY2FuIG9ubHkgZG8gdGhpcyBpZiB0aGUgZ2l2ZW4gaGVhZHJvb20gc3Rh
eXMgd2l0aGluCisJICogIHVpbnQxNl90IGJvdW5kcyBhZnRlciB0aGUgb3BlcmF0aW9uLgorCSAq
LworCWlmIChsaWtlbHkoVUlOVDE2X01BWCAtIGhlYWRyb29tID4gTkVUQlVGX0FERFJfQUxJR05N
RU5UKSkgeworCQlpZiAocHJpdmxlbiA9PSAwKSB7CisJCQlwcml2X29mZnNldCAgICA9IDA7CisJ
CQlidWZfb2Zmc2V0ICAgICA9IHNpemVvZigqbSk7CisJCQloZWFkcm9vbV9leHRyYSA9IE5FVEJV
Rl9BRERSX0FMSUdOX1VQKHNpemVvZigqbSkpCisJCQkJCSAtIHNpemVvZigqbSk7CisJCX0gZWxz
ZSB7CisJCQlwcml2X29mZnNldCAgICA9IE5FVEJVRl9BRERSX0FMSUdOX1VQKHNpemVvZigqbSkp
OworCQkJYnVmX29mZnNldCAgICAgPSBwcml2X29mZnNldCArIHByaXZsZW47CisJCQloZWFkcm9v
bV9leHRyYSA9IE5FVEJVRl9BRERSX0FMSUdOX1VQKHByaXZsZW4pCisJCQkJCSAtIHByaXZsZW47
CisJCX0KKwl9CisKKwl1a19uZXRidWZfaW5pdF9pbmRpcihtLAorCQkJICAgICAodm9pZCAqKSBt
ICsgYnVmX29mZnNldCwKKwkJCSAgICAgYnVmbGVuICsgaGVhZHJvb21fZXh0cmEsCisJCQkgICAg
IGhlYWRyb29tICsgaGVhZHJvb21fZXh0cmEsCisJCQkgICAgIHByaXZsZW4gPiAwID8gKCh2b2lk
ICopIG0gKyBwcml2X29mZnNldCkgOiBOVUxMLAorCQkJICAgICBkdG9yKTsKKworCS8qIFNhdmUg
cmVmZXJlbmNlIHRvIGFsbG9jYXRvciB0aGF0IGlzIHVzZWQKKwkgKiBmb3IgZnJlZSdpbmcgdGhp
cyB1a19uZXRidWYuCisJICovCisJbS0+X2EgPSBhOworCisJcmV0dXJuIG07Cit9CisKK3N0cnVj
dCB1a19uZXRidWYgKnVrX25ldGJ1Zl9wcmVwYXJlX2J1Zih2b2lkICptZW0sIHNpemVfdCBzaXpl
LAorCQkJCQl1aW50MTZfdCBoZWFkcm9vbSwKKwkJCQkJc2l6ZV90IHByaXZsZW4sIHVrX25ldGJ1
Zl9kdG9yX3QgZHRvcikKK3sKKwlzdHJ1Y3QgdWtfbmV0YnVmICptOworCXNpemVfdCBidWZfb2Zm
c2V0ID0gMDsKKwlzaXplX3QgcHJpdl9vZmZzZXQgPSAwOworCisJVUtfQVNTRVJUKG1lbSk7CisJ
aWYgKChORVRCVUZfQUREUl9BTElHTl9VUChzaXplb2YoKm0pKQorCSAgICAgKyBORVRCVUZfQURE
Ul9BTElHTl9VUChwcml2bGVuKQorCSAgICAgKyBoZWFkcm9vbSkgPiBzaXplKQorCQlyZXR1cm4g
TlVMTDsKKworCS8qIFBsYWNlIGJ1ZiByaWdodCBiZWhpbmQgYG1gIG9yIGBtLT5wcml2YCByZWdp
b24gaWYgcHJpdmxlbiA+IDAuCisJICogSW4gb3JkZXIgdG8ga2VlcCBgbS0+ZGF0YSAtIGhlYWRy
b29tYCBhbGlnbmVkIHRoZSBwYWRkaW5nIGJ5dGVzCisJICogIGFyZSBhZGRlZCB0byB0aGUgaGVh
ZHJvb20uCisJICogV2UgY2FuIG9ubHkgZG8gdGhpcyBpZiB0aGUgZ2l2ZW4gaGVhZHJvb20gc3Rh
eXMgd2l0aGluCisJICogIHVpbnQxNl90IGJvdW5kcyBhZnRlciB0aGUgb3BlcmF0aW9uLgorCSAq
LworCWlmIChsaWtlbHkoVUlOVDE2X01BWCAtIGhlYWRyb29tID4gTkVUQlVGX0FERFJfQUxJR05N
RU5UKSkgeworCQlpZiAocHJpdmxlbiA9PSAwKSB7CisJCQlwcml2X29mZnNldCA9IDA7CisJCQli
dWZfb2Zmc2V0ICA9IHNpemVvZigqbSk7CisJCQloZWFkcm9vbSAgICs9IE5FVEJVRl9BRERSX0FM
SUdOX1VQKHNpemVvZigqbSkpCisJCQkJICAgICAgLSBzaXplb2YoKm0pOworCQl9IGVsc2Ugewor
CQkJcHJpdl9vZmZzZXQgPSBORVRCVUZfQUREUl9BTElHTl9VUChzaXplb2YoKm0pKTsKKwkJCWJ1
Zl9vZmZzZXQgID0gcHJpdl9vZmZzZXQgKyBwcml2bGVuOworCQkJaGVhZHJvb20gICArPSBORVRC
VUZfQUREUl9BTElHTl9VUChwcml2bGVuKQorCQkJCSAgICAgIC0gcHJpdmxlbjsKKwkJfQorCX0K
KworCW0gPSAoc3RydWN0IHVrX25ldGJ1ZiAqKSBtZW07CisJdWtfbmV0YnVmX2luaXRfaW5kaXIo
bSwKKwkJCSAgICAgbWVtICsgYnVmX29mZnNldCwKKwkJCSAgICAgc2l6ZSAtIGJ1Zl9vZmZzZXQs
CisJCQkgICAgIGhlYWRyb29tLAorCQkJICAgICBwcml2bGVuID4gMCA/IChtZW0gKyBwcml2X29m
ZnNldCkgOiBOVUxMLAorCQkJICAgICBkdG9yKTsKKwlyZXR1cm4gbTsKK30KLS0gCjIuNy40CgoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRK8-0004bV-MB; Fri, 19 Oct 2018 09:44:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRK7-0004b0-E6
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:03 +0000
X-Inumbo-ID: b5c0eb9b-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b5c0eb9b-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:28 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id B47CFF2014;
 Fri, 19 Oct 2018 11:44:01 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id XtXnmTFjFtVA; Fri, 19 Oct 2018 11:44:01 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 8D896F2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 11:43:59 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:43:59 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:37 +0200
Message-ID: <1539942225-24325-4-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 03/11] lib/uknetdev: Netbuf
 chaining
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgYW5kIG9wZXJhdGluZyBuZXRidWYgY2hh
aW5zLiBXaXRoCnRoaXMsIG5ldHdvcmsgcGFja2V0IGRhdGEgdGhhdCBpcyBzY2F0dGVyZWQgaW4g
bWVtb3J5IGNhbiBiZQpkZXNjcmliZWQuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxz
aW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KUmV2aWV3ZWQtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNo
YXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVr
ICAgICAgIHwgIDMgKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIHwgODAgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogbGliL3VrbmV0ZGV2L25ldGJ1
Zi5jICAgICAgICAgICAgfCA1MyArKysrKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBj
aGFuZ2VkLCAxMzYgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9leHBv
cnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKaW5kZXggNTQ3M2JiYS4uMzE1
M2E1ZCAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKKysrIGIvbGliL3Vr
bmV0ZGV2L2V4cG9ydHN5bXMudWsKQEAgLTIsMyArMiw2IEBAIHVrX25ldGJ1Zl9pbml0X2luZGly
CiB1a19uZXRidWZfYWxsb2NfaW5kaXIKIHVrX25ldGJ1Zl9hbGxvY19idWYKIHVrX25ldGJ1Zl9w
cmVwYXJlX2J1ZgordWtfbmV0YnVmX2Rpc2Nvbm5lY3QKK3VrX25ldGJ1Zl9jb25uZWN0Cit1a19u
ZXRidWZfYXBwZW5kCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYu
aCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCmluZGV4IDU1MTc5M2EuLmMwY2Ji
NGEgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCisrKyBiL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oCkBAIC0xMjEsNiArMTIxLDE3IEBAIHN0cnVj
dCB1a19uZXRidWYgewogCXN0cnVjdCB1a19hbGxvYyAqX2E7ICAgLyoqPCBAaW50ZXJuYWwgQWxs
b2NhdG9yIGZvciBmcmVlJ2luZyAqLwogfTsKIAorLyoKKyAqIEl0ZXJhdG9yIGhlbHBlcnMgZm9y
IG5ldGJ1ZiBjaGFpbnMKKyAqLworLyogaGVhZCAtPiB0YWlsICovCisjZGVmaW5lIFVLX05FVEJV
Rl9DSEFJTl9GT1JFQUNIKHZhciwgaGVhZCkJCQkJXAorCWZvciAoKHZhcikgPSAoaGVhZCk7ICh2
YXIpICE9IE5VTEw7ICh2YXIpID0gKHZhciktPm5leHQpCisKKy8qIHRhaWwgLT4gaGVhZCAocmV2
ZXJzZSkgKi8KKyNkZWZpbmUgVUtfTkVUQlVGX0NIQUlOX0ZPUkVBQ0hfUih2YXIsIHRhaWwpCQkJ
CVwKKwlmb3IgKCh2YXIpID0gKHRhaWwpOyAodmFyKSAhPSBOVUxMOyAodmFyKSA9ICh2YXIpLT5w
cmV2KQorCiAvKioKICAqIEluaXRpYWxpemVzIGFuIGV4dGVybmFsIGFsbG9jYXRlZCBuZXRidWYu
CiAgKiBUaGlzIG5ldGJ1ZiBoYXMgbm8gZGF0YSBhcmVhIGFzc2lnbmVkLiBJdCBpcyBpbnRlbmRl
ZApAQCAtMjgyLDYgKzI5Myw3NSBAQCBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcHJlcGFy
ZV9idWYodm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSwKIAkJCQkJdWludDE2X3QgaGVhZHJvb20sCiAJ
CQkJCXNpemVfdCBwcml2bGVuLCB1a19uZXRidWZfZHRvcl90IGR0b3IpOwogCisvKioKKyAqIFJl
dHJpZXZlcyB0aGUgbGFzdCBlbGVtZW50IG9mIGEgbmV0YnVmIGNoYWluCisgKiBAcGFyYW0gbQor
ICogICB1a19uZXRidWYgdGhhdCBpcyBwYXJ0IG9mIGEgY2hhaW4KKyAqIEByZXR1cm5zCisgKiAg
IExhc3QgdWtfbmV0YnVmIG9mIHRoZSBjaGFpbgorICovCisjZGVmaW5lIHVrX25ldGJ1Zl9jaGFp
bl9sYXN0KG0pCQkJCQkJXAorCSh7CQkJCQkJCQlcCisJCXN0cnVjdCB1a19uZXRidWYgKl9fcmV0
ID0gTlVMTDsJCQkJXAorCQlzdHJ1Y3QgdWtfbmV0YnVmICpfX2l0ZXI7CQkJCVwKKwkJVUtfTkVU
QlVGX0NIQUlOX0ZPUkVBQ0goX19pdGVyLCAobSkpCQkJXAorCQkJX19yZXQgPSBfX2l0ZXI7CQkJ
CQlcCisJCQkJCQkJCQlcCisJCShfX3JldCk7CQkJCQkJXAorCX0pCisKKy8qKgorICogUmV0cmll
dmVzIHRoZSBmaXJzdCBlbGVtZW50IG9mIGEgbmV0YnVmIGNoYWluCisgKiBAcGFyYW0gbQorICog
ICB1a19uZXRidWYgdGhhdCBpcyBwYXJ0IG9mIGEgY2hhaW4KKyAqIEByZXR1cm5zCisgKiAgIEZp
cnN0IHVrX25ldGJ1ZiBvZiB0aGUgY2hhaW4KKyAqLworI2RlZmluZSB1a19uZXRidWZfY2hhaW5f
Zmlyc3QobSkJCQkJCVwKKwkoewkJCQkJCQkJXAorCQlzdHJ1Y3QgdWtfbmV0YnVmICpfX3JldCA9
IE5VTEw7CQkJCVwKKwkJc3RydWN0IHVrX25ldGJ1ZiAqX19pdGVyOwkJCQlcCisJCVVLX05FVEJV
Rl9DSEFJTl9GT1JFQUNIX1IoX19pdGVyLCAobSkpCQkJXAorCQkJX19yZXQgPSBfX2l0ZXI7CQkJ
CQlcCisJCQkJCQkJCQlcCisJCShfX3JldCk7CQkJCQkJXAorCX0pCisKKy8qKgorICogQ29ubmVj
dHMgdHdvIG5ldGJ1ZiBjaGFpbnMKKyAqIEBwYXJhbSBoZWFkdGFpbAorICogICBMYXN0IG5ldGJ1
ZiBlbGVtZW50IG9mIGNoYWluIHRoYXQgc2hvdWxkIGNvbWUgZmlyc3QuCisgKiAgIEl0IGNhbiBh
bHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVmLgorICogQHBhcmFtIHRhaWwKKyAqICAgSGVhZCBl
bGVtZW50IG9mIHRoZSBzZWNvbmQgbmV0YnVmIGNoYWluLgorICogICBJdCBjYW4gYWxzbyBiZSBq
dXN0IGEgc2luZ2xlIG5ldGJ1Zi4KKyAqLwordm9pZCB1a19uZXRidWZfY29ubmVjdChzdHJ1Y3Qg
dWtfbmV0YnVmICpoZWFkdGFpbCwKKwkJICAgICAgIHN0cnVjdCB1a19uZXRidWYgKnRhaWwpOwor
CisvKioKKyAqIENvbm5lY3RzIHR3byBuZXRidWYgY2hhaW5zCisgKiBAcGFyYW0gaGVhZAorICog
ICBIZWFkaW5nIG5ldGJ1ZiBlbGVtZW50IG9mIGNoYWluIHRoYXQgc2hvdWxkIGNvbWUgZmlyc3Qu
CisgKiAgIEl0IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVmLgorICogQHBhcmFtIHRh
aWwKKyAqICAgSGVhZCBlbGVtZW50IG9mIHRoZSBzZWNvbmQgbmV0YnVmIGNoYWluLgorICogICBJ
dCBjYW4gYWxzbyBiZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4KKyAqLwordm9pZCB1a19uZXRidWZf
YXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCisJCSAgICAgIHN0cnVjdCB1a19uZXRidWYg
KnRhaWwpOworCisvKioKKyAqIERpc2Nvbm5lY3RzIGEgbmV0YnVmIGZyb20gaXRzIGNoYWluLiBU
aGUgY2hhaW4gd2lsbCByZW1haW4KKyAqIHdpdGhvdXQgdGhlIHJlbW92ZWQgZWxlbWVudC4KKyAq
IEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0byBiZSByZW1vdmVkIGZyb20gaXRzIGNoYWluCisg
KiBAcmV0dXJucworICogICAtIChOVUxMKSBDaGFpbiBjb25zaXN0ZWQgb25seSBvZiBtCisgKiAg
IC0gSGVhZCBvZiB0aGUgcmVtYWluaW5nIG5ldGJ1ZiBjaGFpbgorICovCitzdHJ1Y3QgdWtfbmV0
YnVmICp1a19uZXRidWZfZGlzY29ubmVjdChzdHJ1Y3QgdWtfbmV0YnVmICptKTsKKwogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9uZXRidWYu
YyBiL2xpYi91a25ldGRldi9uZXRidWYuYwppbmRleCA3MmMzNDliLi5jMGU0MWNkIDEwMDY0NAot
LS0gYS9saWIvdWtuZXRkZXYvbmV0YnVmLmMKKysrIGIvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jCkBA
IC0xODgsMyArMTg4LDU2IEBAIHN0cnVjdCB1a19uZXRidWYgKnVrX25ldGJ1Zl9wcmVwYXJlX2J1
Zih2b2lkICptZW0sIHNpemVfdCBzaXplLAogCQkJICAgICBkdG9yKTsKIAlyZXR1cm4gbTsKIH0K
Kworc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1
ZiAqbSkKK3sKKwlzdHJ1Y3QgdWtfbmV0YnVmICpyZW1oZWFkID0gTlVMTDsKKworCVVLX0FTU0VS
VChtKTsKKworCS8qIFdlIHdhbnQgdG8gcmV0dXJuIHRoZSBuZXh0IGVsZW1lbnQgb2YgbSBhcyB0
aGUKKwkgKiByZW1haW5pbmcgaGVhZCBvZiB0aGUgY2hhaW4uIElmIHRoZXJlIGlzIG5vIG5leHQg
ZWxlbWVudAorCSAqIHRoZXJlIHdhcyBubyBjaGFpbi4KKwkgKi8KKwlyZW1oZWFkID0gbS0+bmV4
dDsKKworCS8qIFJlY29ubmVjdCB0aGUgY2hhaW5zIGJlZm9yZSBhbmQgYWZ0ZXIgbS4gKi8KKwlp
ZiAobS0+cHJldikKKwkJbS0+cHJldi0+bmV4dCA9IG0tPm5leHQ7CisJaWYgKG0tPm5leHQpCisJ
CW0tPm5leHQtPnByZXYgPSBtLT5wcmV2OworCisJLyogRGlzY29ubmVjdCBtLiAqLworCW0tPnBy
ZXYgPSBOVUxMOworCW0tPm5leHQgPSBOVUxMOworCisJcmV0dXJuIHJlbWhlYWQ7Cit9CisKKwor
dm9pZCB1a19uZXRidWZfY29ubmVjdChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkdGFpbCwKKwkJICAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnRhaWwpCit7CisJVUtfQVNTRVJUKGhlYWR0YWlsKTsKKwlV
S19BU1NFUlQoIWhlYWR0YWlsLT5uZXh0KTsKKwlVS19BU1NFUlQodGFpbCk7CisJVUtfQVNTRVJU
KCF0YWlsLT5wcmV2KTsKKworCWhlYWR0YWlsLT5uZXh0ID0gdGFpbDsKKwl0YWlsLT5wcmV2ID0g
aGVhZHRhaWw7Cit9CisKK3ZvaWQgdWtfbmV0YnVmX2FwcGVuZChzdHJ1Y3QgdWtfbmV0YnVmICpo
ZWFkLAorCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICp0YWlsKQoreworCXN0cnVjdCB1a19uZXRi
dWYgKmhlYWR0YWlsOworCisJVUtfQVNTRVJUKGhlYWQpOworCVVLX0FTU0VSVCghaGVhZC0+cHJl
dik7CisJVUtfQVNTRVJUKHRhaWwpOworCVVLX0FTU0VSVCghdGFpbC0+cHJldik7CisKKwloZWFk
dGFpbCA9IHVrX25ldGJ1Zl9jaGFpbl9sYXN0KGhlYWQpOworCWhlYWR0YWlsLT5uZXh0ID0gdGFp
bDsKKwl0YWlsLT5wcmV2ID0gaGVhZHRhaWw7Cit9Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxp
c3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:07 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKB-0004cN-O3; Fri, 19 Oct 2018 09:44:07 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKA-0004c3-Mj
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:06 +0000
X-Inumbo-ID: 1fa79778-d383-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1fa79778-d383-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 11:41:16 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 0C0B0104A31;
 Fri, 19 Oct 2018 11:44:04 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KtD5dJ9MZblh; Fri, 19 Oct 2018 11:44:03 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id E0FE51048AD
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 11:44:01 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:01 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:38 +0200
Message-ID: <1539942225-24325-5-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 04/11] lib/uknetdev: Netbuf
 refcounting and releasing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIHJlZmVyZW5jZSBjb3VudGluZyBhbmQgYnVmZmVyIHJlbGVhc2luZyB3aXRoIE5l
dGJ1ZnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xh
Yi5ldT4KLS0tCiBsaWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayAgICAgICB8ICAyICsrCiBsaWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCB8IDczICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9uZXRidWYuYyAgICAgICAgICAgIHwgNDkg
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDEyNCBpbnNlcnRp
b25zKCspCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtu
ZXRkZXYvZXhwb3J0c3ltcy51awppbmRleCAzMTUzYTVkLi5hMDVmNTAyIDEwMDY0NAotLS0gYS9s
aWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51
awpAQCAtMiw2ICsyLDggQEAgdWtfbmV0YnVmX2luaXRfaW5kaXIKIHVrX25ldGJ1Zl9hbGxvY19p
bmRpcgogdWtfbmV0YnVmX2FsbG9jX2J1ZgogdWtfbmV0YnVmX3ByZXBhcmVfYnVmCit1a19uZXRi
dWZfZnJlZV9zaW5nbGUKK3VrX25ldGJ1Zl9mcmVlCiB1a19uZXRidWZfZGlzY29ubmVjdAogdWtf
bmV0YnVmX2Nvbm5lY3QKIHVrX25ldGJ1Zl9hcHBlbmQKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9pbmNsdWRlL3VrL25ldGJ1Zi5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgK
aW5kZXggYzBjYmI0YS4uM2Q4ODRkZCAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0YnVmLmgKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmgKQEAgLTMy
OSw2ICszMjksNyBAQCBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcHJlcGFyZV9idWYodm9p
ZCAqbWVtLCBzaXplX3Qgc2l6ZSwKIAogLyoqCiAgKiBDb25uZWN0cyB0d28gbmV0YnVmIGNoYWlu
cworICogTm90ZTogVGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlYWNoIGJ1ZmZlciBpcyBub3QgY2hl
Y2tlZCBub3IgbW9kaWZpZWQuCiAgKiBAcGFyYW0gaGVhZHRhaWwKICAqICAgTGFzdCBuZXRidWYg
ZWxlbWVudCBvZiBjaGFpbiB0aGF0IHNob3VsZCBjb21lIGZpcnN0LgogICogICBJdCBjYW4gYWxz
byBiZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4KQEAgLTM0MSw2ICszNDIsNyBAQCB2b2lkIHVrX25l
dGJ1Zl9jb25uZWN0KHN0cnVjdCB1a19uZXRidWYgKmhlYWR0YWlsLAogCiAvKioKICAqIENvbm5l
Y3RzIHR3byBuZXRidWYgY2hhaW5zCisgKiBOb3RlOiBUaGUgcmVmZXJlbmNlIGNvdW50IG9mIGVh
Y2ggYnVmZmVyIGlzIG5vdCBjaGVja2VkIG5vciBtb2RpZmllZC4KICAqIEBwYXJhbSBoZWFkCiAg
KiAgIEhlYWRpbmcgbmV0YnVmIGVsZW1lbnQgb2YgY2hhaW4gdGhhdCBzaG91bGQgY29tZSBmaXJz
dC4KICAqICAgSXQgY2FuIGFsc28gYmUganVzdCBhIHNpbmdsZSBuZXRidWYuCkBAIC0zNTQsNiAr
MzU2LDcgQEAgdm9pZCB1a19uZXRidWZfYXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCiAv
KioKICAqIERpc2Nvbm5lY3RzIGEgbmV0YnVmIGZyb20gaXRzIGNoYWluLiBUaGUgY2hhaW4gd2ls
bCByZW1haW4KICAqIHdpdGhvdXQgdGhlIHJlbW92ZWQgZWxlbWVudC4KKyAqIE5vdGU6IFRoZSBy
ZWZlcmVuY2UgY291bnQgb2YgZWFjaCBidWZmZXIgaXMgbm90IGNoZWNrZWQgbm9yIG1vZGlmaWVk
LgogICogQHBhcmFtIG0KICAqICAgdWtfbmV0YnVmIHRvIGJlIHJlbW92ZWQgZnJvbSBpdHMgY2hh
aW4KICAqIEByZXR1cm5zCkBAIC0zNjIsNiArMzY1LDc2IEBAIHZvaWQgdWtfbmV0YnVmX2FwcGVu
ZChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkLAogICovCiBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRi
dWZfZGlzY29ubmVjdChzdHJ1Y3QgdWtfbmV0YnVmICptKTsKIAorLyoqCisgKiBJbmNyZWFzZSBy
ZWZlcmVuY2UgY291bnQgb2YgYSBzaW5nbGUgbmV0YnVmIChpcnJlc3BlY3RpdmUgb2YgYSBjaGFp
bikKKyAqIEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0byBpbmNyZWFzZSByZWZjb3VudCBvZgor
ICogQHJldHVybnMKKyAqICAgUmVmZXJlbmNlIHRvIG0KKyAqLworc3RhdGljIGlubGluZSBzdHJ1
Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcmVmX3NpbmdsZShzdHJ1Y3QgdWtfbmV0YnVmICptKQor
eworCVVLX0FTU0VSVChtKTsKKworCXVrX3JlZmNvdW50X2FjcXVpcmUoJm0tPnJlZmNvdW50KTsK
KwlyZXR1cm4gbTsKK30KKworLyoqCisgKiBJbmNyZWFzZSByZWZlcmVuY2UgY291bnQgb2YgYSBu
ZXRidWYgaW5jbHVkaW5nIGVhY2ggc3VjY2Vzc2l2ZSBuZXRidWYKKyAqIGVsZW1lbnQgb2YgYSBj
aGFpbi4gTm90ZSwgcHJlY2VkaW5nIGNoYWluIGVsZW1lbnRzIGFyZSBub3QgdmlzaXRlZC4KKyAq
IEBwYXJhbSBtCisgKiAgIGhlYWQgb2YgdGhlIHVrX25ldGJ1ZiBjaGFpbiB0byBpbmNyZWFzZSBy
ZWZjb3VudCBvZgorICogQHJldHVybnMKKyAqICAgUmVmZXJlbmNlIHRvIG0KKyAqLworc3RhdGlj
IGlubGluZSBzdHJ1Y3QgdWtfbmV0YnVmICp1a19uZXRidWZfcmVmKHN0cnVjdCB1a19uZXRidWYg
Km0pCit7CisJc3RydWN0IHVrX25ldGJ1ZiAqaXRlcjsKKworCVVLX0FTU0VSVChtKTsKKworCVVL
X05FVEJVRl9DSEFJTl9GT1JFQUNIKGl0ZXIsIG0pCisJCXVrX25ldGJ1Zl9yZWZfc2luZ2xlKGl0
ZXIpOworCisJcmV0dXJuIG07Cit9CisKKy8qKgorICogUmV0dXJucyB0aGUgY3VycmVudCByZWZl
cmVuY2UgY291bnQgb2YgYSBzaW5nbGUgbmV0YnVmCisgKiBAcGFyYW0gbQorICogICB1a19uZXRi
dWYgdG8gcmV0dXJuIHRoZSByZWZlcmVuY2UgY291bnQgb2YKKyAqLworc3RhdGljIGlubGluZSB1
aW50MzJfdCB1a19uZXRidWZfcmVmY291bnRfc2luZ2xlX2dldChzdHJ1Y3QgdWtfbmV0YnVmICpt
KQoreworCVVLX0FTU0VSVChtKTsKKworCXJldHVybiB1a19yZWZjb3VudF9yZWFkKCZtLT5yZWZj
b3VudCk7Cit9CisKKy8qKgorICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgZWFj
aCBlbGVtZW50IG9mIHRoZSBjaGFpbi4KKyAqIElmIGEgcmVmY291bnQgYmVjb21lcyAwLCB0aGUg
bmV0YnVmIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGl0cyBjaGFpbiwKKyAqIGl0cyBkZXN0cnVjdG9y
IGlzIGNhbGxlZCBhbmQgdGhlIG1lbW9yeSBpcyBmcmVlJ2QgYWNjb3JkaW5nIHRvIGl0cworICog
YWxsb2NhdGlvbi4KKyAqIEBwYXJhbSBtCisgKiAgIGhlYWQgb2YgdWtfbmV0YnVmIGNoYWluIHRv
IHJlbGVhc2UKKyAqIEByZXR1cm5zCisgKiAgIFJlZmVyZW5jZSB0byBtCisgKi8KK3ZvaWQgdWtf
bmV0YnVmX2ZyZWUoc3RydWN0IHVrX25ldGJ1ZiAqbSk7CisKKy8qKgorICogRGVjcmVhc2VzIHRo
ZSByZWZlcmVuY2UgY291bnQgb2YgYSBzaW5nbGUgbmV0YnVmLiBJZiByZWZjb3VudCBiZWNvbWVz
IDAsCisgKiB0aGUgbmV0YnVmIGlzIGRpc2Nvbm5lY3RlZCBmcm9tIGl0cyBjaGFpbiwgaXRzIGRl
c3RydWN0b3IgaXMgY2FsbGVkIGFuZAorICogdGhlIG1lbW9yeSBpcyBmcmVlJ2QgYWNjb3JkaW5n
IHRvIGl0cyBhbGxvY2F0aW9uLgorICogQHBhcmFtIG0KKyAqICAgdWtfbmV0YnVmIHRvIHJlbGVh
c2UKKyAqIEByZXR1cm5zCisgKiAgIFJlZmVyZW5jZSB0byBtCisgKi8KK3ZvaWQgdWtfbmV0YnVm
X2ZyZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pOworCiAjaWZkZWYgX19jcGx1c3BsdXMK
IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGJ1Zi5jIGIvbGliL3VrbmV0
ZGV2L25ldGJ1Zi5jCmluZGV4IGMwZTQxY2QuLjk2YTVmNjggMTAwNjQ0Ci0tLSBhL2xpYi91a25l
dGRldi9uZXRidWYuYworKysgYi9saWIvdWtuZXRkZXYvbmV0YnVmLmMKQEAgLTMzLDYgKzMzLDcg
QEAKICAqLwogI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgogI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMu
aD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgogCiAvKiBVc2VkIHRvIGFsaWduIG5ldGJ1ZidzIHBy
aXYgYW5kIGRhdGEgYXJlYXMgdG8gYGxvbmcgbG9uZ2AgZGF0YSB0eXBlICovCiAjZGVmaW5lIE5F
VEJVRl9BRERSX0FMSUdOTUVOVCAoc2l6ZW9mKGxvbmcgbG9uZykpCkBAIC0yNDEsMyArMjQyLDUx
IEBAIHZvaWQgdWtfbmV0YnVmX2FwcGVuZChzdHJ1Y3QgdWtfbmV0YnVmICpoZWFkLAogCWhlYWR0
YWlsLT5uZXh0ID0gdGFpbDsKIAl0YWlsLT5wcmV2ID0gaGVhZHRhaWw7CiB9CisKK3ZvaWQgdWtf
bmV0YnVmX2ZyZWVfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCit7CisJc3RydWN0IHVrX2Fs
bG9jICphOworCisJVUtfQVNTRVJUKG0pOworCisJLyogRGVjcmVhc2UgcmVmY291bnQgYW5kIGNh
bGwgZGVzdHJ1Y3RvciBhbmQgZnJlZSB1cCBtZW1vcnkKKwkgKiB3aGVuIGxhc3QgcmVmZXJlbmNl
IHdhcyByZWxlYXNlZC4KKwkgKi8KKwlpZiAodWtfcmVmY291bnRfcmVsZWFzZSgmbS0+cmVmY291
bnQpID09IDEpIHsKKwkJdWtfcHJfZGVidWcoIkZyZWVpbmcgbmV0YnVmICVwIChuZXh0OiAlcClc
biIsIG0sIG0tPm5leHQpOworCisJCS8qIERpc2Nvbm5lY3QgdGhpcyBuZXRidWYgZnJvbSB0aGUg
Y2hhaW4uICovCisJCXVrX25ldGJ1Zl9kaXNjb25uZWN0KG0pOworCisJCS8qIENvcHkgdGhlIHJl
ZmVyZW5jZSBvZiB0aGUgYWxsb2NhdG9yIGluIGNhc2UKKwkJICogdGhlIGRlc3RydWN0b3IgaXMg
ZnJlZSdpbmcgdXAgb3VyIG1lbW9yeQorCQkgKiAoZS5nLiwgdWtfbmV0YnVmX2luaXRfaW5kaXIo
KSB1c2VkKS4KKwkJICogSW4gc3VjaCBhIGNhc2UgYGFgIHNob3VsZCBiZSAoTlVMTCksIGhvd2V2
ZXIKKwkJICogd2UgbmVlZCB0byBhY2Nlc3MgaXQgZm9yIGEgIGNoZWNrIGFmdGVyIHdlIGhhdmUK
KwkJICogY2FsbGVkIHRoZSBkZXN0cnVjdG9yLgorCQkgKi8KKwkJYSA9IG0tPl9hOworCisJCWlm
IChtLT5kdG9yKQorCQkJbS0+ZHRvcihtKTsKKwkJaWYgKGEpCisJCQl1a19mcmVlKGEsIG0pOwor
CX0gZWxzZSB7CisJCXVrX3ByX2RlYnVnKCJOb3QgZnJlZWluZyBuZXRidWYgJXAgKG5leHQ6ICVw
KTogcmVmY291bnQgZ3JlYXRlciB0aGFuIDEiLAorCQkJICAgIG0sIG0tPm5leHQpOworCX0KK30K
Kwordm9pZCB1a19uZXRidWZfZnJlZShzdHJ1Y3QgdWtfbmV0YnVmICptKQoreworCXN0cnVjdCB1
a19uZXRidWYgKm47CisKKwlVS19BU1NFUlQobSk7CisJVUtfQVNTRVJUKCFtLT5wcmV2KTsKKwor
CXdoaWxlIChtICE9IE5VTEwpIHsKKwkJbiA9IG0tPm5leHQ7CisJCXVrX25ldGJ1Zl9mcmVlX3Np
bmdsZShtKTsKKwkJbSA9IG47CisJfQorfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:09 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKD-0004d7-RS; Fri, 19 Oct 2018 09:44:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKC-0004cs-Mq
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:08 +0000
X-Inumbo-ID: b8a8cf5b-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b8a8cf5b-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:33 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 94F9BF2014;
 Fri, 19 Oct 2018 11:44:06 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Q-E-2SyFIHHz; Fri, 19 Oct 2018 11:44:06 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 70A5FF2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 11:44:04 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:03 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:39 +0200
Message-ID: <1539942225-24325-6-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 05/11] lib/uknetdev: Netbuf
 headroom and tailroom helpers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlIGhlbHBlcnMgZm9yIGNhbGN1bGF0aW5nIGF2YWlsYWJsZSBoZWFkcm9vbSBhbmQg
dGFpbHJvb20gb24gYQpOZXRidWYncyBkYXRhIGJ1ZmZlci4gQSBoZWFkZXIgbWFuaXB1bGF0aW9u
IGZ1bmN0aW9uIGlzIGFkZGVkIHRvCnNpbXBsaWZ5IHByZXBlbmRpbmcgYnl0ZXMgdG8gdGhlIHBh
Y2tldCBkYXRhIG9yIGNsYWltaW5nIGJ5dGVzIGJhY2sgdG8KdGhlIGhlYWRyb29tLgoKU2lnbmVk
LW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+ClJldmlld2Vk
LWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBs
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaCB8IDg2ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0YnVmLmggYi9saWIvdWtuZXRk
ZXYvaW5jbHVkZS91ay9uZXRidWYuaAppbmRleCAzZDg4NGRkLi5kZjY5MWVhIDEwMDY0NAotLS0g
YS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaAorKysgYi9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRidWYuaApAQCAtMzI4LDYgKzMyOCwxOCBAQCBzdHJ1Y3QgdWtfbmV0YnVmICp1
a19uZXRidWZfcHJlcGFyZV9idWYodm9pZCAqbWVtLCBzaXplX3Qgc2l6ZSwKIAl9KQogCiAvKioK
KyAqIFJldHVybnMgdGhlIHJlZmVyZW5jZSB0byBwcml2YXRlIGRhdGEgb2YgYSBuZXRidWYKKyAq
IEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0byByZXR1cm4gcHJpdmF0ZSBkYXRhIG9mCisgKi8K
K3N0YXRpYyBpbmxpbmUgdm9pZCAqdWtfbmV0YnVmX2dldF9wcml2KHN0cnVjdCB1a19uZXRidWYg
Km0pCit7CisJVUtfQVNTRVJUKG0pOworCisJcmV0dXJuIChtKS0+cHJpdjsKK30KKworLyoqCiAg
KiBDb25uZWN0cyB0d28gbmV0YnVmIGNoYWlucwogICogTm90ZTogVGhlIHJlZmVyZW5jZSBjb3Vu
dCBvZiBlYWNoIGJ1ZmZlciBpcyBub3QgY2hlY2tlZCBub3IgbW9kaWZpZWQuCiAgKiBAcGFyYW0g
aGVhZHRhaWwKQEAgLTQzNSw2ICs0NDcsODAgQEAgdm9pZCB1a19uZXRidWZfZnJlZShzdHJ1Y3Qg
dWtfbmV0YnVmICptKTsKICAqLwogdm9pZCB1a19uZXRidWZfZnJlZV9zaW5nbGUoc3RydWN0IHVr
X25ldGJ1ZiAqbSk7CiAKKy8qKgorICogQ2FsY3VsYXRlcyB0aGUgY3VycmVudCBhdmFpbGFibGUg
aGVhZHJvb20gYnl0ZXMgb2YgYSBuZXRidWYKKyAqIEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0
byByZXR1cm4gaGVhZHJvb20gYnl0ZXMgb2YKKyAqIEByZXR1cm5zCisgKiAgIGF2YWlsYWJsZSBo
ZWFkcm9vbSBieXRlcworICovCitzdGF0aWMgaW5saW5lIHNpemVfdCB1a19uZXRidWZfaGVhZHJv
b20oc3RydWN0IHVrX25ldGJ1ZiAqbSkKK3sKKwlVS19BU1NFUlQobSk7CisJVUtfQVNTRVJUKG0t
PmJ1Zik7CisJVUtfQVNTRVJUKG0tPmRhdGEpOworCisJcmV0dXJuIChzaXplX3QpICgodWludHB0
cl90KSAobSktPmRhdGEgLSAodWludHB0cl90KSAobSktPmJ1Zik7Cit9CisKKy8qKgorICogQ2Fs
Y3VsYXRlcyB0aGUgY3VycmVudCBhdmFpbGFibGUgdGFpbHJvb20gYnl0ZXMgb2YgYSBuZXRidWYK
KyAqIEBwYXJhbSBtCisgKiAgIHVrX25ldGJ1ZiB0byByZXR1cm4gdGFpbHJvb20gYnl0ZXMgb2YK
KyAqIEByZXR1cm5zCisgKiAgIGF2YWlsYWJsZSB0YWlscm9vbSBieXRlcworICovCitzdGF0aWMg
aW5saW5lIHNpemVfdCB1a19uZXRidWZfdGFpbHJvb20oc3RydWN0IHVrX25ldGJ1ZiAqbSkKK3sK
KwlVS19BU1NFUlQobSk7CisJVUtfQVNTRVJUKG0tPmJ1Zik7CisJVUtfQVNTRVJUKG0tPmRhdGEp
OworCisJcmV0dXJuICgoc2l6ZV90KSAoKCh1aW50cHRyX3QpIChtKS0+YnVmICsgKHVpbnRwdHJf
dCkgKG0pLT5idWZsZW4pCisJCQkgIC0gKCh1aW50cHRyX3QpIChtKS0+ZGF0YSArICh1aW50cHRy
X3QpIChtKS0+bGVuKSkpOworfQorCisvKioKKyAqIFByZXBlbmRzIChvciByZXR1cm5zKSBieXRl
cyBmcm9tIHRoZSBoZWFkcm9vbSAoYmFjaykgdG8gdGhlIGRhdGEgYXJlYS4KKyAqIEl0IGJhc2lj
YWxseSBtb3ZlcyBoZWFkLT5kYXRhLgorICogQHBhcmFtIGhlYWQKKyAqICAgdWtfbmV0YnVmIHRv
IG1vZGlmeSAoaGFzIHRvIGJlIHRoZSBmaXJzdCBuZXRidWYgb2YgYSBjaGFpbikKKyAqIEBwYXJh
bSBsZW4KKyAqICAgSWYgPiAwIHRha2VzIGJ5dGVzIGZyb20gdGhlIGhlYWRyb29tIGFuZCBwcmVw
ZW5kcyB0aGVtIHRvIGRhdGEKKyAqICAgSWYgPCAwIHJlbGVhc2VzIHRoZSAtbGVuIGZpcnN0IGJ5
dGVzIGZyb20gZGF0YSB0byBoZWFkcm9vbQorICogQHJldHVybnMKKyAqICAgLSAoLUVOT1NQQyk6
IE9wZXJhdGlvbiBjb3VsZCBub3QgYmUgcGVyZm9ybSB3aXRoaW4gYnVmZmVyIGJvdW5kcworICog
ICAtICgtRUZBVUxUKTogT3BlcmF0aW9uIGNvdWxkIG5vdCBiZSBwZXJmb3JtZWQgYmVjYXVzZSBk
YXRhIHdvdWxkIGdldCA+IDY0a0IKKyAqICAgLSAoMSk6IG5ldGJ1ZiBzdWNjZXNzZnVsbHkgbW9k
aWZpZWQKKyAqLworc3RhdGljIGlubGluZSBpbnQgdWtfbmV0YnVmX2hlYWRlcihzdHJ1Y3QgdWtf
bmV0YnVmICpoZWFkLCBpbnQxNl90IGxlbikKK3sKKwlVS19BU1NFUlQoaGVhZCk7CisJVUtfQVNT
RVJUKGhlYWQtPmJ1Zik7CisJVUtfQVNTRVJUKGhlYWQtPmRhdGEpOworCisJLyogaGVhZCBoYXMg
dG8gYmUgdGhlIGZpcnN0IGVsZW1lbnQgb2YgYSBuZXRidWYgY2hhaW4uICovCisJVUtfQVNTRVJU
KGhlYWQtPnByZXYgPT0gTlVMTCk7CisKKwkvKiBJZiBsZW4gPiAwLCB3ZSB0YWtlIGJ5dGVzIGZy
b20gdGhlIGhlYWRyb29tIGFuZCBhZGQKKwkgKiB0aGVtIHRvIGRhdGEuIFdlIGFyZSBsaW1pdGVk
IHRvIHRoZSBhdmFpbGFibGUgaGVhZHJvb20gc2l6ZS4KKwkgKiBJZiBsZW4gPCAwLCB3ZSByZXR1
cm4gYnl0ZXMgYmFjayB0byB0aGUgaGVhZHJvb20uCisJICogV2UgYXJlIGxpbWl0ZWQgdG8gdGhl
IGF2YWlsYWJsZSBkYXRhIGxlbmd0aC4KKwkgKi8KKwlpZiAodW5saWtlbHkoKGxlbiA+IChzc2l6
ZV90KSB1a19uZXRidWZfaGVhZHJvb20oaGVhZCkpCisJCSAgICAgfHwgKC1sZW4gPiBoZWFkLT5s
ZW4pKSkKKwkJcmV0dXJuIC1FTk9TUEM7CisKKwkvKiBXZSBzaG91bGQgbmV2ZXIgbWFrZSB0aGUg
cGFja2V0IGJpZ2dlciB0aGFuIDY0a0IgKi8KKwlpZiAodW5saWtlbHkoKGludDMyX3QpIGxlbiAr
IChpbnQzMl90KSBoZWFkLT5sZW4KKwkJICAgICA+IChpbnQzMl90KSBVSU5UMTZfTUFYKSkKKwkJ
cmV0dXJuIC1FRkFVTFQ7CisKKwloZWFkLT5kYXRhICAgLT0gbGVuOworCWhlYWQtPmxlbiAgICAr
PSBsZW47CisJcmV0dXJuIDE7Cit9CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCi0t
IAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:14 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKI-0004f3-T9; Fri, 19 Oct 2018 09:44:14 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKH-0004ei-A4
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:13 +0000
X-Inumbo-ID: bb479f44-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bb479f44-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:37 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id EF00D104A31;
 Fri, 19 Oct 2018 11:44:10 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 44khkApoe-WH; Fri, 19 Oct 2018 11:44:10 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id C77491048AD;
 Fri, 19 Oct 2018 11:44:06 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:06 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:40 +0200
Message-ID: <1539942225-24325-7-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 06/11] lib/uknetdev: Netdev
 registration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgaW5pdGlhbCBuZXRkZXYgQVBJIHN1cHBvcnRpbmcgZGV2aWNlIHJlZ2lzdHJhdGlvbi4g
V2UKaW50cm9kdWNlIHRocmVlIGhlYWRlciBmaWxlcyBhcmUgaW50cm9kdWNlZCBmb3IgZGVzY3Jp
YmluZyBVbmlrcmFmdCdzCm5ldGRldiBBUEk6CiAgdWsvbmV0ZGV2X2NvcmUuaCAtIENvcmUgZGF0
YSB0eXBlIGRlZmluaXRpb25zCiAgdWsvbmV0ZGV2X2RyaXZlci5oIC0gQVBJIGZvciBkcml2ZXJz
CiAgdWsvbmV0ZGV2LmggLSBBUEkgZm9yIG5ldHdvcmsgYXBwbGljYXRpb25zIGFuZCBzdGFja3MK
ClNpZ25lZC1vZmYtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgpT
aWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNv
bT4KLS0tCiBsaWIvdWtuZXRkZXYvTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgfCAgIDEgKwog
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICAgIHwgICA2ICsrCiBsaWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oICAgfCAx
MDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9u
ZXRkZXZfZHJpdmVyLmggfCAgNzQgKysrKysrKysrKysrKysrKysrKwogbGliL3VrbmV0ZGV2L25l
dGRldi5jICAgICAgICAgICAgICAgICAgIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDQyNiBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCiBjcmVhdGUgbW9kZSAxMDA2
NDQgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L25ldGRldi5jCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L01h
a2VmaWxlLnVrIGIvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCmluZGV4IDgxYWZhZTQuLmNhMDhi
MjUgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9NYWtlZmlsZS51aworKysgYi9saWIvdWtuZXRk
ZXYvTWFrZWZpbGUudWsKQEAgLTQsMyArNCw0IEBAIENJTkNMVURFUy0kKENPTkZJR19MSUJVS05F
VERFVikJCSs9IC1JJChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCiBDWFhJTkNMVURFUy0kKENP
TkZJR19MSUJVS05FVERFVikJKz0gLUkkKExJQlVLTkVUREVWX0JBU0UpL2luY2x1ZGUKIAogTElC
VUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFTRSkvbmV0YnVmLmMKK0xJQlVLTkVU
REVWX1NSQ1MteSArPSAkKExJQlVLTkVUREVWX0JBU0UpL25ldGRldi5jCmRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCmlu
ZGV4IGEwNWY1MDIuLjk2YjViZmQgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1z
LnVrCisrKyBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCkBAIC03LDMgKzcsOSBAQCB1a19u
ZXRidWZfZnJlZQogdWtfbmV0YnVmX2Rpc2Nvbm5lY3QKIHVrX25ldGJ1Zl9jb25uZWN0CiB1a19u
ZXRidWZfYXBwZW5kCit1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyCit1a19uZXRkZXZfY291bnQKK3Vr
X25ldGRldl9nZXQKK3VrX25ldGRldl9pZF9nZXQKK3VrX25ldGRldl9kcnZfbmFtZV9nZXQKK3Vr
X25ldGRldl9zdGF0ZV9nZXQKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldi5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNzVhOGU2NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0wLDAgKzEsMTE3IEBACisvKiBTUERYLUxpY2Vu
c2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2ltb24gS3Vl
bnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CisgKiAgICAgICAgICBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw
MTAtMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVy
b3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0
aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3
aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisg
KiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBU
SElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgor
ICovCisvKiBEZXJpdmVkIGZyb20gRFBESyBydGVfZXRoZGV2X2NvcmUuaCAtIERQREsub3JnIDE4
LjAyLjIgKi8KKyNpZm5kZWYgX19VS19ORVRERVZfXworI2RlZmluZSBfX1VLX05FVERFVl9fCisK
KyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgorI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgorI2lu
Y2x1ZGUgPHVrL2VycnB0ci5oPgorCisvKioKKyAqIFVuaWtyYWZ0IE5ldHdvcmsgQVBJCisgKgor
ICogVGhlIFVuaWtyYWZ0IG5ldGRldiBBUEkgcHJvdmlkZXMgYSBnZW5lcmFsaXplZCBpbnRlcmZh
Y2UgYmV0d2VlbiBuZXR3b3JrCisgKiBkZXZpY2UgZHJpdmVycyBhbmQgbmV0d29yayBzdGFjayBp
bXBsZW1lbnRhdGlvbnMgb3IgbG93LWxldmVsIG5ldHdvcmsKKyAqIGFwcGxpY2F0aW9ucy4KKyAq
CisgKiBNb3N0IEFQSSBpbnRlcmZhY2VzIHRha2UgYXMgcGFyYW1ldGVyIGEgcmVmZXJlbmNlIHRv
IHRoZSBjb3JyZXNwb25kaW5nCisgKiBVbmlrcmFmdCBOZXR3b3JrIERldmljZSAoc3RydWN0IHVr
X25ldGRldikgd2hpY2ggY2FuIGJlIGluaXRpYWxseSBvYnRhaW5lZAorICogYnkgaXRzIElEIGJ5
IGNhbGxpbmcgdWtfbmV0ZGV2X2dldCgpLiBUaGUgbmV0d29yayBhcHBsaWNhdGlvbiBzaG91bGQg
c3RvcmUKKyAqIHRoaXMgcmVmZXJlbmNlIGFuZCB1c2UgaXQgZm9yIHN1YnNlcXVlbnQgQVBJIGNh
bGxzLgorICovCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKy8q
KgorICogR2V0IHRoZSBudW1iZXIgb2YgcmVnaXN0ZXJlZCBuZXR3b3JrIGRldmljZXMuCisgKgor
ICogQHJldHVybgorICogICAtICh1bnNpZ25lZCBpbnQpOiBudW1iZXIgb2YgbmV0d29yayBkZXZp
Y2VzLgorICovCit1bnNpZ25lZCBpbnQgdWtfbmV0ZGV2X2NvdW50KHZvaWQpOworCisvKioKKyAq
IEdldCB0aGUgcmVmZXJlbmNlIHRvIGEgbmV0d29yayBkZXZpY2UgYmFzZWQgb24gaXRzIElELgor
ICogVmFsaWQgSURzIGFyZSBpbiB0aGUgcmFuZ2Ugb2YgMCB0byAobi0xKSB3aGVyZSBuIGlzCisg
KiB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBuZXR3b3JrIGRldmljZXMuCisgKgorICogQHBhcmFt
IGlkCisgKiAgIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBuZXR3b3JrIGRldmljZSB0byBjb25maWd1
cmUuCisgKiBAcmV0dXJuCisgKiAgIC0gKE5VTEwpOiBkZXZpY2Ugbm90IGF2YWlsYWJsZQorICog
ICAtIChzdHJ1Y3QgdWtfbmV0ZGV2ICopOiByZWZlcmVuY2UgdG8gbmV0d29yayBkZXZpY2UKKyAq
Lworc3RydWN0IHVrX25ldGRldiAqdWtfbmV0ZGV2X2dldCh1bnNpZ25lZCBpbnQgaWQpOworCisv
KioKKyAqIFJldHVybnMgdGhlIGlkIG9mIGEgbmV0d29yayBkZXZpY2UKKyAqCisgKiBAcGFyYW0g
ZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEByZXR1cm4KKyAqICAg
LSAoPj0wKTogRGV2aWNlIElECisgKi8KK3VpbnQxNl90IHVrX25ldGRldl9pZF9nZXQoc3RydWN0
IHVrX25ldGRldiAqZGV2KTsKKworLyoqCisgKiBSZXR1cm5zIHRoZSBkcml2ZXIgbmFtZSBvZiBh
IG5ldHdvcmsgZGV2aWNlLgorICogVGhlIG5hbWUgbWlnaHQgYmUgc2V0IHRvIE5VTEwKKyAqCisg
KiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEByZXR1
cm4KKyAqICAgLSAoTlVMTCk6IGlmIG5vIG5hbWUgaXMgZGVmaW5lZC4KKyAqICAgLSAoY29uc3Qg
Y2hhciAqKTogUmVmZXJlbmNlIHRvIHN0cmluZyBpZiBuYW1lIGlzIGF2YWlsYWJsZS4KKyAqLwor
Y29uc3QgY2hhciAqdWtfbmV0ZGV2X2Rydl9uYW1lX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYp
OworCisvKioKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgc3RhdGUgb2YgYSBuZXR3b3JrIGRldmlj
ZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4K
KyAqIEByZXR1cm4KKyAqICAgLSAoZW51bSB1a19uZXRkZXZfc3RhdGUpOiBjdXJyZW50IGRldmlj
ZSBzdGF0ZQorICovCitlbnVtIHVrX25ldGRldl9zdGF0ZSB1a19uZXRkZXZfc3RhdGVfZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKmRldik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisK
KyNlbmRpZiAvKiBfX1VLX05FVERFVl9fICovCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2Nv
cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTg3NWQxCi0tLSAvZGV2
L251bGwKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaApAQCAtMCww
ICsxLDEwNSBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwor
LyoKKyAqIEF1dGhvcnM6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgor
ICogICAgICAgICAgUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+
CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKiBDb3B5cmln
aHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNv
cHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1P
RElGSUVEIElOIEFOWSBXQVkuCisgKi8KKy8qIERlcml2ZWQgZnJvbSBEUERLIHJ0ZV9ldGhkZXZf
Y29yZS5oIC0gRFBESy5vcmcgMTguMDIuMiAqLworI2lmbmRlZiBfX1VLX05FVERFVl9DT1JFX18K
KyNkZWZpbmUgX19VS19ORVRERVZfQ09SRV9fCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNp
bmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVrL2NvbmZp
Zy5oPgorI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgorI2luY2x1ZGUgPHVrL2xpc3QuaD4KKyNpbmNs
dWRlIDx1ay9hbGxvYy5oPgorI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KKworLyoqCisgKiBV
bmlrcmFmdCBuZXR3b3JrIEFQSSBjb21tb24gZGVjbGFyYXRpb25zLgorICoKKyAqIFRoaXMgaGVh
ZGVyIGNvbnRhaW5zIGFsbCBBUEkgZGF0YSB0eXBlcy4gU29tZSBvZiB0aGVtIGFyZSBwYXJ0IG9m
IHRoZQorICogcHVibGljIEFQSSBhbmQgc29tZSBhcmUgcGFydCBvZiB0aGUgaW50ZXJuYWwgQVBJ
LgorICoKKyAqIFRoZSBkZXZpY2UgZGF0YSBhbmQgb3BlcmF0aW9ucyBhcmUgc2VwYXJhdGVkLiBU
aGlzIHNwbGl0IGFsbG93cyB0aGUKKyAqIGZ1bmN0aW9uIHBvaW50ZXIgYW5kIGRyaXZlciBkYXRh
IHRvIGJlIHBlci1wcm9jZXNzLCB3aGlsZSB0aGUgYWN0dWFsCisgKiBjb25maWd1cmF0aW9uIGRh
dGEgZm9yIHRoZSBkZXZpY2UgaXMgc2hhcmVkLgorICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cwor
ZXh0ZXJuICJDIiB7CisjZW5kaWYKKworc3RydWN0IHVrX25ldGRldjsKK1VLX1RBSUxRX0hFQUQo
dWtfbmV0ZGV2X2xpc3QsIHN0cnVjdCB1a19uZXRkZXYpOworCisKKy8qKgorICogRW51bSB0byBk
ZXNjcmliZSBwb3NzaWJsZSBzdGF0ZXMgb2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCisg
Ki8KK2VudW0gdWtfbmV0ZGV2X3N0YXRlIHsKKwlVS19ORVRERVZfSU5WQUxJRCA9IDAsCisJVUtf
TkVUREVWX1VOQ09ORklHVVJFRCwKKwlVS19ORVRERVZfQ09ORklHVVJFRCwKKwlVS19ORVRERVZf
UlVOTklORywKK307CisKKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIGxpYnVrbmV0ZGV2IGludGVy
bmFsIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGVhY2ggbmV0d29yayBkZXZpY2UuCisgKi8KK3N0cnVj
dCB1a19uZXRkZXZfZGF0YSB7CisJZW51bSB1a19uZXRkZXZfc3RhdGUgc3RhdGU7CisKKwljb25z
dCB1aW50MTZfdCAgICAgICBpZDsgICAgLyoqPCBJRCBpcyBhc3NpZ25lZCBkdXJpbmcgcmVnaXN0
cmF0aW9uICovCisJY29uc3QgY2hhciAgICAgICAgICAgKmRydl9uYW1lOworfTsKKworLyoqCisg
KiBORVRERVYKKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsg
ZGV2aWNlLgorICovCitzdHJ1Y3QgdWtfbmV0ZGV2IHsKKwkvKiogUG9pbnRlciB0byBBUEktaW50
ZXJuYWwgc3RhdGUgZGF0YS4gKi8KKwlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgICAgICAgKl9kYXRh
OworCisJVUtfVEFJTFFfRU5UUlkoc3RydWN0IHVrX25ldGRldikgX2xpc3Q7Cit9OworCisjaWZk
ZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX19VS19ORVRERVZfQ09SRV9f
ICovCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgg
Yi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjZmEwNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaApAQCAtMCwwICsxLDc0IEBACisvKiBTUERY
LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2lt
b24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+CisgKgorICogQ29weXJpZ2h0IChj
KSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmln
aHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJl
IHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklF
RCBJTiBBTlkgV0FZLgorICovCisjaWZuZGVmIF9fVUtfTkVUREVWX0RSSVZFUl9fCisjZGVmaW5l
IF9fVUtfTkVUREVWX0RSSVZFUl9fCisKKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgorI2lu
Y2x1ZGUgPHVrL2Fzc2VydC5oPgorCisvKioKKyAqIFVuaWtyYWZ0IG5ldHdvcmsgZHJpdmVyIEFQ
SS4KKyAqCisgKiBUaGlzIGhlYWRlciBjb250YWlucyBhbGwgQVBJIGZ1bmN0aW9ucyB0aGF0IGFy
ZSBzdXBwb3NlZCB0byBiZSBjYWxsZWQKKyAqIGJ5IGEgbmV0d29yayBkZXZpY2UgZHJpdmVyLgor
ICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworLyoqCisg
KiBBZGRzIGEgVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgdG8gdGhlIGRldmljZSBsaXN0LgorICog
VGhpcyBzaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIGEgZHJpdmVyIGFkZHMgYSBuZXcgZm91bmQg
ZGV2aWNlLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgU3RydWN0IHRvIHVuaWtyYWZ0IG5ldHdv
cmsgZGV2aWNlIHRoYXQgc2hhbGwgYmUgcmVnaXN0ZXJlZAorICogQHBhcmFtIGEKKyAqICAgQWxs
b2NhdG9yIHRvIGJlIHVzZSBmb3IgbGlidWtuZXRkZXYgcHJpdmF0ZSBkYXRhIChkZXYtPl9kYXRh
KQorICogQHBhcmFtIGRydl9uYW1lCisgKiAgIChPcHRpb25hbCkgZHJpdmVyIG5hbWUKKyAqICAg
VGhlIG1lbW9yeSBmb3IgdGhpcyBzdHJpbmcgaGFzIHRvIHN0YXkgYXZhaWxhYmxlIGFzIGxvbmcg
YXMgdGhlCisgKiAgIGRldmljZSBpcyByZWdpc3RlcmVkLgorICogQHJldHVybgorICogICAtICgt
RU5PTUVNKTogQWxsb2NhdGlvbiBvZiBwcml2YXRlCisgKiAgIC0gKD49MCk6IE5ldHdvcmsgZGV2
aWNlIElEIG9uIHN1Y2Nlc3MKKyAqLworaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0
IHVrX25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCisJCQkgICBjb25zdCBjaGFyICpk
cnZfbmFtZSk7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBf
X1VLX05FVERFVl9EUklWRVJfXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5j
IGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjdjMmQ5YmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKQEAg
LTAsMCArMSwxMjMgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KKy8qCisgKiBBdXRob3JzOiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5l
dT4KKyAqICAgICAgICAgIFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwu
Y29tPgorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNy0yMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5F
QyBDb3Jwb3JhdGlvbi4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICog
My4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMg
SVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFE
RVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworI2lu
Y2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dWsvbmV0ZGV2
Lmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKworc3RydWN0IHVrX25ldGRldl9saXN0IHVrX25l
dGRldl9saXN0ID0KKwlVS19UQUlMUV9IRUFEX0lOSVRJQUxJWkVSKHVrX25ldGRldl9saXN0KTsK
K3N0YXRpYyB1aW50MTZfdCBuZXRkZXZfY291bnQ7CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2
X2RhdGEgKl9hbGxvY19kYXRhKHN0cnVjdCB1a19hbGxvYyAqYSwKKwkJCQkJICB1aW50MTZfdCBu
ZXRkZXZfaWQsCisJCQkJCSAgY29uc3QgY2hhciAqZHJ2X25hbWUpCit7CisJc3RydWN0IHVrX25l
dGRldl9kYXRhICpkYXRhOworCisJZGF0YSA9IHVrX21hbGxvYyhhLCBzaXplb2YoKmRhdGEpKTsK
KwlpZiAoIWRhdGEpCisJCXJldHVybiBOVUxMOworCisJZGF0YS0+ZHJ2X25hbWUgPSBkcnZfbmFt
ZTsKKwlkYXRhLT5zdGF0ZSAgICA9IFVLX05FVERFVl9VTkNPTkZJR1VSRUQ7CisKKwkvKiBUaGlz
IGlzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIHNldCB0aGUgZGV2aWNlIElEOworCSAqIGR1cmlu
ZyB0aGUgcmVzdCBvZiB0aGUgZGV2aWNlJ3MgbGlmZSB0aW1lIHRoaXMgSUQgaXMgcmVhZC1vbmx5
CisJICovCisJKihERUNPTlNUKHVpbnQxNl90ICosICZkYXRhLT5pZCkpID0gbmV0ZGV2X2lkOwor
CisJcmV0dXJuIGRhdGE7Cit9CisKK2ludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAorCQkJICAgY29uc3QgY2hhciAqZHJ2
X25hbWUpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKCFkZXYtPl9kYXRhKTsKKwor
CWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQsICBkcnZfbmFtZSk7CisJ
aWYgKCFkZXYtPl9kYXRhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCVVLX1RBSUxRX0lOU0VSVF9U
QUlMKCZ1a19uZXRkZXZfbGlzdCwgZGV2LCBfbGlzdCk7CisJdWtfcHJfaW5mbygiUmVnaXN0ZXJl
ZCBuZXRkZXYlIlBSSXUxNiI6ICVwICglcylcbiIsCisJCSAgIG5ldGRldl9jb3VudCwgZGV2LCBk
cnZfbmFtZSk7CisKKwlyZXR1cm4gbmV0ZGV2X2NvdW50Kys7Cit9CisKK3Vuc2lnbmVkIGludCB1
a19uZXRkZXZfY291bnQodm9pZCkKK3sKKwlyZXR1cm4gKHVuc2lnbmVkIGludCkgbmV0ZGV2X2Nv
dW50OworfQorCitzdHJ1Y3QgdWtfbmV0ZGV2ICp1a19uZXRkZXZfZ2V0KHVuc2lnbmVkIGludCBp
ZCkKK3sKKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXY7CisKKwlVS19UQUlMUV9GT1JFQUNIKGRldiwg
JnVrX25ldGRldl9saXN0LCBfbGlzdCkgeworCQlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisKKwkJ
aWYgKGRldi0+X2RhdGEtPmlkID09IGlkKQorCQkJcmV0dXJuIGRldjsKKwl9CisJcmV0dXJuIE5V
TEw7Cit9CisKK3VpbnQxNl90IHVrX25ldGRldl9pZF9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2
KQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKworCXJldHVy
biBkZXYtPl9kYXRhLT5pZDsKK30KKworY29uc3QgY2hhciAqdWtfbmV0ZGV2X2Rydl9uYW1lX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJU
KGRldi0+X2RhdGEpOworCisJcmV0dXJuIGRldi0+X2RhdGEtPmRydl9uYW1lOworfQorCitlbnVt
IHVrX25ldGRldl9zdGF0ZSB1a19uZXRkZXZfc3RhdGVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRl
dikKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisKKwlyZXR1
cm4gZGV2LT5fZGF0YS0+c3RhdGU7Cit9Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:20 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKN-0004gz-VK; Fri, 19 Oct 2018 09:44:19 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKM-0004fr-3i
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:18 +0000
X-Inumbo-ID: 266a351e-d383-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 266a351e-d383-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 11:41:28 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 549BDF2014;
 Fri, 19 Oct 2018 11:44:15 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 3A1qDgDHoZxQ; Fri, 19 Oct 2018 11:44:15 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 24297F2010;
 Fri, 19 Oct 2018 11:44:11 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:10 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:41 +0200
Message-ID: <1539942225-24325-8-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 07/11] lib/uknetdev: Netdev
 initialization
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgYSAnRFBESyBSVEUgRXRoZXJuZXQnIGluc3BpcmVkIEFQSSBmb3IgaW5pdGlhbGl6aW5n
IGEKVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuIFRoZSBpbml0aWFsaXphdGlvbiBpcyBkb25lIGlu
IHRoZSBmb2xsb3dpbmcKb3JkZXI6ICgxKSBDb25maWd1cmUgbWFpbiBhc3BlY3RzIG9mIGRldmlj
ZSAoZS5nLiwgbnVtYmVyIG9mCnF1ZXVlcyksICgyKSBjb25maWd1cmUgZWFjaCB0cmFuc21pdCBh
bmQgcmVjZWl2ZSBxdWV1ZSwgYW5kICgzKSBzdGFydAp0aGUgZGV2aWNlLiBXZSBhbHNvIGludHJv
ZHVjZSBhbiBpbnRlcmZhY2UgZm9yIHF1ZXJ5aW5nIHRoZSB1bmRlcmx5aW5nCmRldmljZSBjYXBh
YmlsaXRpZXMgZm9yIGVhY2ggY29uZmlndXJhdGlvbiBzdGVwLgoKU2lnbmVkLW9mZi1ieTogU2lt
b24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZh
biBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgotLS0KIGxpYi91a25ldGRl
di9Db25maWcudWsgICAgICAgICAgICAgICAgfCAgMjggKysrLQogbGliL3VrbmV0ZGV2L2V4cG9y
dHN5bXMudWsgICAgICAgICAgICB8ICAgOCArCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRk
ZXYuaCAgICAgIHwgMTc0ICsrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXZfY29yZS5oIHwgMTk2ICsrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtu
ZXRkZXYvbmV0ZGV2LmMgICAgICAgICAgICAgICAgIHwgMjkwICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgNjk1IGluc2VydGlvbnMoKyksIDEgZGVs
ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvQ29uZmlnLnVrIGIvbGliL3VrbmV0
ZGV2L0NvbmZpZy51awppbmRleCA4NzhiODIyLi42MThlOGU2IDEwMDY0NAotLS0gYS9saWIvdWtu
ZXRkZXYvQ29uZmlnLnVrCisrKyBiL2xpYi91a25ldGRldi9Db25maWcudWsKQEAgLTEsNiArMSwz
MiBAQAotY29uZmlnIExJQlVLTkVUREVWCittZW51Y29uZmlnIExJQlVLTkVUREVWCiAJYm9vbCAi
dWtuZXRkZXY6IE5ldHdvcmsgZHJpdmVyIGludGVyZmFjZSIKIAlkZWZhdWx0IG4KIAlzZWxlY3Qg
TElCTk9MSUJDIGlmICFIQVZFX0xJQkMKIAlzZWxlY3QgTElCVUtERUJVRwogCXNlbGVjdCBMSUJV
S0FMTE9DCisKK2lmIExJQlVLTkVUREVWCisJY29uZmlnIExJQlVLTkVUREVWX01BWE5CUVVFVUVT
CisJCWludCAiTWF4aW11bSBudW1iZXIgb2YgcmVjZWl2ZS10cmFuc21pdCBxdWV1ZSBwYWlycyIK
KwkJZGVmYXVsdCAxCisJCWhlbHAKKwkJCVVwcGVyIGxpbWl0IGZvciBzdXBwb3J0ZWQgbnVtYmVy
IG9mIHRyYW5zbWl0IGFuZCByZWNlaXZlCisJCQlxdWV1ZXMgd2l0aCB0aGUgdWtuZXRkZXYgQVBJ
LiBQbGVhc2Ugbm90ZSB0aGF0IGRyaXZlcnMKKwkJCWhhdmUgdGhlaXIgb3duIGxpbWl0cyAodXNl
IEFQSSBnZXR0ZXJzIHRvIGZpZ3VyZSBvdXQKKwkJCWRldmljZSBjYXBhYmlsaXRpZXMpLiBBcyBl
eGFtcGxlLCBvbmUgZHJpdmVyIG1heSBzdXBwb3J0CisJCQlvbmx5IGEgc2luZ2xlIHJlY2VpdmUt
dHJhbnNtaXQgcXVldWUgcGFpciBhbHRob3VnaAorCQkJdWtuZXRkZXYgd291bGQgc3VwcG9ydCAx
Ni4KKworCWNvbmZpZyBMSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCQlib29sICJEaXNw
YXRjaGVyIHRocmVhZHMgZm9yIGV2ZW50IGNhbGxiYWNrcyIKKwkJc2VsZWN0IExJQlVLU0NIRUQK
KwkJc2VsZWN0IExJQlVLTE9DSworCQlzZWxlY3QgTElCVUtMT0NLX1NFTUFQSE9SRQorCQlkZWZh
dWx0IG4KKwkJaGVscAorCQkJRXZlbnQgY2FsbGJhY2tzIGFyZSBkaXNwYXRjaGVkIGluIGEgYm90
dG9tIGhhbGYKKwkJCXRocmVhZCBjb250ZXh0IGluc3RlYWQgb2YgdGhlIGRldmljZSBpbnRlcnJ1
cHQgY29udGV4dC4KKwkJCVdoZW4gdGhpcyBvcHRpb24gaXMgZW5hYmxlZCBhIGRpc3BhdGNoZXIg
dGhyZWFkIGlzCisJCQlhbGxvY2F0ZWQgZm9yIGVhY2ggY29uZmlndXJlZCByZWNlaXZlIHF1ZXVl
LgorCQkJbGlidWtzY2hlZCBpcyByZXF1aXJlZCBmb3IgdGhpcyBvcHRpb24uCitlbmRpZgpkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51awppbmRleCA5NmI1YmZkLi40ZTRkMzA2IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awpAQCAtMTMsMyAr
MTMsMTEgQEAgdWtfbmV0ZGV2X2dldAogdWtfbmV0ZGV2X2lkX2dldAogdWtfbmV0ZGV2X2Rydl9u
YW1lX2dldAogdWtfbmV0ZGV2X3N0YXRlX2dldAordWtfbmV0ZGV2X2luZm9fZ2V0Cit1a19uZXRk
ZXZfZWluZm9fZ2V0Cit1a19uZXRkZXZfcnhxX2luZm9fZ2V0Cit1a19uZXRkZXZfdHhxX2luZm9f
Z2V0Cit1a19uZXRkZXZfY29uZmlndXJlCit1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZQordWtfbmV0
ZGV2X3R4cV9jb25maWd1cmUKK3VrX25ldGRldl9zdGFydApkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aAppbmRleCA3NWE4ZTY2Li5hM2JkNDRhIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVk
ZS91ay9uZXRkZXYuaAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaApAQCAt
NTIsNiArNTIsMjIgQEAKICAqIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIChzdHJ1Y3QgdWtfbmV0
ZGV2KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IG9idGFpbmVkCiAgKiBieSBpdHMgSUQgYnkgY2Fs
bGluZyB1a19uZXRkZXZfZ2V0KCkuIFRoZSBuZXR3b3JrIGFwcGxpY2F0aW9uIHNob3VsZCBzdG9y
ZQogICogdGhpcyByZWZlcmVuY2UgYW5kIHVzZSBpdCBmb3Igc3Vic2VxdWVudCBBUEkgY2FsbHMu
CisgKgorICogVGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGUgVW5pa3JhZnQgTkVUIEFQSSB0
byBzZXR1cCBhIGRldmljZQorICogbXVzdCBiZSBpbnZva2VkIGluIHRoZSBmb2xsb3dpbmcgb3Jk
ZXI6CisgKiAgICAgLSB1a19uZXRkZXYKKyAqICAgICAtIHVrX25ldGRldl9jb25maWd1cmUoKQor
ICogICAgIC0gdWtfbmV0ZGV2X3R4cV9jb25maWd1cmUoKQorICogICAgIC0gdWtfbmV0ZGV2X3J4
cV9jb25maWd1cmUoKQorICogICAgIC0gdWtfbmV0ZGV2X3N0YXJ0KCkKKyAqIFRoZSB0cmFuc21p
dCBhbmQgcmVjZWl2ZSBmdW5jdGlvbnMgc2hvdWxkIG5vdCBiZSBpbnZva2VkIHdoZW4gdGhlCisg
KiBkZXZpY2UgaXMgbm90IHN0YXJ0ZWQuCisgKgorICogVGhlcmUgYXJlIDQgc3RhdGVzIGluIHdo
aWNoIGEgbmV0d29yayBkZXZpY2UgY2FuIGJlIGZvdW5kOgorICogICAgIC0gVUtfTkVUREVWX1VO
UkVHSVNURVJFRAorICogICAgIC0gVUtfTkVUREVWX1VOQ09ORklHVVJFRAorICogICAgIC0gVUtf
TkVUREVWX0NPTkZJR1VSRUQKKyAqICAgICAtIFVLX05FVERFVl9SVU5OSU5HCiAgKi8KICNpZmRl
ZiBfX2NwbHVzcGx1cwogZXh0ZXJuICJDIiB7CkBAIC0xMTAsNiArMTI2LDE2NCBAQCBjb25zdCBj
aGFyICp1a19uZXRkZXZfZHJ2X25hbWVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7CiAgKi8K
IGVudW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRl
diAqZGV2KTsKIAorLyoqCisgKiBRdWVyeSBkZXZpY2UgY2FwYWJpbGl0aWVzLgorICogSW5mb3Jt
YXRpb24gdGhhdCBpcyB1c2VmdWwgZm9yIGRldmljZSBpbml0aWFsaXphdGlvbiAoZS5nLiwKKyAq
IG1heGltdW0gbnVtYmVyIG9mIHN1cHBvcnRlZCBSWC9UWCBxdWV1ZXMpLgorICoKKyAqIEBwYXJh
bSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIGRldl9p
bmZvCisgKiAgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0eXBlICp1a19uZXRkZXZfaW5m
byogdG8gYmUgZmlsbGVkIHdpdGgKKyAqICAgdGhlIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gb2Yg
dGhlIG5ldHdvcmsgZGV2aWNlLgorICovCit2b2lkIHVrX25ldGRldl9pbmZvX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCisJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKTsKKwor
LyoqCisgKiBFeHRyYSBpbmZvcm1hdGlvbiBxdWVyeSBpbnRlcmZhY2UuCisgKiBUaGUgdXNlciBj
YW4gcXVlcnkgdGhlIGRyaXZlciBmb3IgYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gKGUuZywK
KyAqIElQIGFkZHJlc3MgY29uZmlndXJhdGlvbiBwcmVmZXJyZWQgYnkgaHlwZXJ2aXNvciksIHVz
aW5nIGEgbnVtYmVyIG9mCisgKiBwcmUtZGVmaW5lZCBjb25maWd1cmF0aW9uIHR5cGVzLgorICoK
KyAqIElmIHRoZSBkcml2ZXIgZG9lc24ndCBzdXBwb3J0IHRoZSBwcm92aWRlZCBkYXRhIHR5cGUs
IGl0IG11c3QgcmV0dXJuIE5VTEwuCisgKgorICogVGhpcyBhbGxvd3MgdGhlIGRyaXZlciB0byBw
cm92aWRlIGNvbmZpZ3VyYXRpb24gZGF0YSB3aXRob3V0IHRoZSBuZWVkIG9mCisgKiBwYXJzaW5n
IGl0IGluIGEgcHJlLWRldGVybWluZWQgd2F5LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgdXRp
bGl0eQorICogZnVuY3Rpb25zIGluIHRoZSBBUEksIG9yIHBhcnNpbmcgdGhlIGRhdGEgbXVsdGlw
bGUgdGltZXMgYm90aCBieSBkcml2ZXIKKyAqIGFuZCB1c2VyLgorICoKKyAqIEBwYXJhbSBkZXYK
KyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIGVpbmZvCisgKiAg
IEV4dHJhIGNvbmZpZ3VyYXRpb24gdHlwZSBzZWxlY3Rpb24gKHNlZSBlbnVtIGRlZmluaXRpb24p
LgorICogQHJldHVybgorICogICAtIChOVUxMKTogaWYgY29uZmlndXJhdGlvbiB1bmF2YWlsYWJs
ZSBvciBkYXRhIHR5cGUgdW5zdXBwb3J0ZWQKKyAqICAgLSAodm9pZCAqKTogUmVmZXJlbmNlIHRv
IGNvbmZpZ3VyYXRpb24sIGZvcm1hdCBzcGVjaWZpZWQgYnkgKmVpbmZvKgorICovCitjb25zdCB2
b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQllbnVt
IHVrX25ldGRldl9laW5mb190eXBlIGVpbmZvKTsKKworLyoqCisgKiBDb25maWd1cmVzIGFuIFVu
aWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWty
YWZ0IE5ldHdvcmsgRGV2aWNlIGluIHVuY29uZmlndXJlZCBzdGF0ZS4KKyAqIEBwYXJhbSBjb25m
CisgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNlZCBm
b3IgdGhlIFVuaWtyYWZ0CisgKiAgIG5ldHdvcmsgZGV2aWNlLgorICogQHJldHVybgorICogICAt
ICgwKTogU3VjY2VzcywgZGV2aWNlIGlzIGluIGNvbmZpZ3VyZWQgc3RhdGUuCisgKiAgIC0gKDww
KTogRXJyb3IgY29kZSByZXR1cm5lZCBieSB0aGUgZHJpdmVyLgorICovCitpbnQgdWtfbmV0ZGV2
X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQljb25zdCBzdHJ1Y3QgdWtfbmV0
ZGV2X2NvbmYgKmRldl9jb25mKTsKKworCisvKioKKyAqIFF1ZXJ5IHJlY2VpdmUgZGV2aWNlIHF1
ZXVlIGNhcGFiaWxpdGllcy4KKyAqIEluZm9ybWF0aW9uIHRoYXQgaXMgdXNlZnVsIGZvciBkZXZp
Y2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUuZy4sCisgKiBtYXhpbXVtIG51bWJlciBvZiBzdXBw
b3J0ZWQgZGVzY3JpcHRvcnMgb24gUlggcXVldWVzKS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgorICogQHBh
cmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQg
dXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUg
LSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisgKiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4K
KyAqIEBwYXJhbSBxdWV1ZV9pbmZvCisgKiAgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0
eXBlICp1a19uZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIGZpbGxlZCBvdXQKKyAqIEByZXR1cm4K
KyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmlsbGVkIG91dC4KKyAqICAgLSAo
PDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9uLgorICovCitpbnQgdWtfbmV0
ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lk
LAorCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZvKTsKKworLyoq
CisgKiBTZXRzIHVwIG9uZSByZWNlaXZlIHF1ZXVlIGZvciBhbiBVbmlrcmFmdCBuZXR3b3JrIGRl
dmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmlj
ZSBpbiBjb25maWd1cmVkIHN0YXRlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRl
eCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJl
IGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisg
KiAgIHRvIHVrX25ldGRldl9jb25maWd1cmUoKS4KKyAqIEBwYXJhbSBuYl9kZXNjCisgKiAgIE51
bWJlciBvZiBkZXNjcmlwdG9ycyBmb3IgdGhlIHF1ZXVlLiBJbnNwZWN0IHVrX25ldGRldl9yeHFf
aW5mb19nZXQoKSB0bworICogICByZXRyaWV2ZSBsaW1pdGF0aW9ucy4gSWYgbmJfZGVzYyBpcyBz
ZXQgdG8gMCwgdGhlIGRyaXZlciBjaG9vc2VzIGEgZGVmYXVsdAorICogICB2YWx1ZS4KKyAqIEBw
YXJhbSByeF9jb25mCisgKiAgIFRoZSBwb2ludGVyIHRvIHRoZSBjb25maWd1cmF0aW9uIGRhdGEg
dG8gYmUgdXNlZCBmb3IgdGhlIHJlY2VpdmUgcXVldWUuCisgKiAgIEl0cyBtZW1vcnkgY2FuIGJl
IHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rpb24uCisgKiBAcmV0dXJuCisgKiAg
IC0gKDApOiBTdWNjZXNzLCByZWNlaXZlIHF1ZXVlIGNvcnJlY3RseSBzZXQgdXAuCisgKiAgIC0g
KC1FTk9NRU0pOiBVbmFibGUgdG8gYWxsb2NhdGUgdGhlIHJlY2VpdmUgcmluZyBkZXNjcmlwdG9y
cy4KKyAqLworaW50IHVrX25ldGRldl9yeHFfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwgdWludDE2X3QgcXVldWVfaWQsCisJCQkgICAgdWludDE2X3QgbmJfZGVzYywKKwkJCSAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhfY29uZik7CisKKy8qKgorICogUXVlcnkg
ZGV2aWNlIHRyYW5zbWl0IHF1ZXVlIGNhcGFiaWxpdGllcy4KKyAqIEluZm9ybWF0aW9uIHRoYXQg
aXMgdXNlZnVsIGZvciBkZXZpY2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUuZy4sCisgKiBtYXhp
bXVtIG51bWJlciBvZiBzdXBwb3J0ZWQgZGVzY3JpcHRvcnMgb24gVFggcXVldWVzKS4KKyAqCisg
KiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1
cmVkIHN0YXRlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVj
ZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCisgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5n
ZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCisgKiAgIHRvIHVrX25l
dGRldl9jb25maWd1cmUoKS4KKyAqIEBwYXJhbSBxdWV1ZV9pbmZvCisgKiAgIEEgcG9pbnRlciB0
byBhIHN0cnVjdHVyZSBvZiB0eXBlICp1a19uZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIGZpbGxl
ZCBvdXQKKyAqIEByZXR1cm4KKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8gaXMgZmls
bGVkIG91dC4KKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9u
LgorICovCitpbnQgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpx
dWV1ZV9pbmZvKTsKKworLyoqCisgKiBTZXRzIHVwIG9uZSB0cmFuc21pdCBxdWV1ZSBmb3IgYW4g
VW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCisgKgorICogQHBhcmFtIGRldgorICogICBUaGUgVW5p
a3JhZnQgTmV0d29yayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0ZS4KKyAqIEBwYXJhbSBxdWV1
ZV9pZAorICogICBUaGUgaW5kZXggb2YgdGhlIHRyYW5zbWl0IHF1ZXVlIHRvIHNldCB1cC4KKyAq
ICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl90eF9xdWV1ZSAtIDFdIHBy
ZXZpb3VzbHkgc3VwcGxpZWQKKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgorICogQHBh
cmFtIG5iX2Rlc2MKKyAqICAgTnVtYmVyIG9mIGRlc2NyaXB0b3JzIGZvciB0aGUgcXVldWUuIElu
c3BlY3QgdWtfbmV0ZGV2X3R4cV9pbmZvX2dldCgpIHRvCisgKiAgIHJldHJpZXZlIGxpbWl0YXRp
b25zLiBJZiBuYl9kZXNjIGlzIHNldCB0byAwLCB0aGUgZHJpdmVyIGNob29zZXMgYSBkZWZhdWx0
CisgKiAgIHZhbHVlLgorICogQHBhcmFtIHR4X2NvbmYKKyAqICAgVGhlIHBvaW50ZXIgdG8gdGhl
IGNvbmZpZ3VyYXRpb24gZGF0YSB0byBiZSB1c2VkIGZvciB0aGUgdHJhbnNtaXQgcXVldWUuCisg
KiAgIEl0cyBtZW1vcnkgY2FuIGJlIHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rp
b24uCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBTdWNjZXNzLCB0aGUgdHJhbnNtaXQgcXVldWUg
aXMgY29ycmVjdGx5IHNldCB1cC4KKyAqICAgLSAoLUVOT01FTSk6IFVuYWJsZSB0byBhbGxvY2F0
ZSB0aGUgdHJhbnNtaXQgcmluZyBkZXNjcmlwdG9ycy4KKyAqLworaW50IHVrX25ldGRldl90eHFf
Y29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCisJCQkg
ICAgdWludDE2X3QgbmJfZGVzYywKKwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29u
ZiAqdHhfY29uZik7CisKKy8qKgorICogU3RhcnQgYSBOZXR3b3JrIGRldmljZS4KKyAqCisgKiBB
ZnRlciBhIG5ldHdvcmsgZGV2aWNlIHdhcyBjb25maWd1cmVkIGFuZCBpdHMgcXVldWVzIGFyZSBz
ZXQgdXAgdGhlIGRldmljZQorICogY2FuIGJlIHN0YXJ0ZWQuIE9uIHN1Y2Nlc3MsIGFsbCBvcGVy
YXRpb25hbCBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhlCisgKiBVbmlrcmFmdCBuZXRkZXYgQVBJ
IChpbnRlcnJ1cHRzLCByZWNlaXZlL3RyYW5zbWl0LCBhbmQgc28gb24pIGNhbiBiZSBpbnZva2Vk
CisgKiBhZnRlcndhcmRzLgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5l
dHdvcmsgRGV2aWNlIGluIGNvbmZpZ3VyZWQgc3RhdGUuCisgKiBAcmV0dXJuCisgKiAgIC0gKDAp
OiBTdWNjZXNzLCBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBzdGFydGVkLgorICogICAtICg8MCk6
IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlciBkZXZpY2Ugc3RhcnQgZnVuY3Rpb24uCisgKi8KK2lu
dCB1a19uZXRkZXZfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKwogI2lmZGVmIF9fY3Bs
dXNwbHVzCiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCmluZGV4
IDMxODc1ZDEuLjYzMzljNmEgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmgKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaApA
QCAtNDUsNiArNDUsMTAgQEAKICNpbmNsdWRlIDx1ay9saXN0Lmg+CiAjaW5jbHVkZSA8dWsvYWxs
b2MuaD4KICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CisjaWZkZWYgQ09ORklHX0xJQlVLTkVU
REVWX0RJU1BBVENIRVJUSFJFQURTCisjaW5jbHVkZSA8dWsvc2NoZWQuaD4KKyNpbmNsdWRlIDx1
ay9zZW1hcGhvcmUuaD4KKyNlbmRpZgogCiAvKioKICAqIFVuaWtyYWZ0IG5ldHdvcmsgQVBJIGNv
bW1vbiBkZWNsYXJhdGlvbnMuCkBAIC02NCw2ICs2OCw0MiBAQCBleHRlcm4gIkMiIHsKIHN0cnVj
dCB1a19uZXRkZXY7CiBVS19UQUlMUV9IRUFEKHVrX25ldGRldl9saXN0LCBzdHJ1Y3QgdWtfbmV0
ZGV2KTsKIAorLyoqCisgKiBBIHN0cnVjdHVyZSB1c2VkIHRvIGRlc2NyaWJlIG5ldHdvcmsgZGV2
aWNlIGNhcGFiaWxpdGllcy4KKyAqLworc3RydWN0IHVrX25ldGRldl9pbmZvIHsKKwl1aW50MTZf
dCBtYXhfcnhfcXVldWVzOworCXVpbnQxNl90IG1heF90eF9xdWV1ZXM7CisJaW50IGluX3F1ZXVl
X3BhaXJzOyAvKio8IElmIHRydWUsIGFsbG9jYXRlIHF1ZXVlcyBpbiBwYWlycy4gKi8KKwl1aW50
MTZfdCBtYXhfbXR1OyAgIC8qKjwgTWF4aW11bSBzdXBwb3J0ZWQgTVRVIHNpemUuICovCisJdWlu
dDE2X3QgbmJfZW5jYXA7ICAvKio8IE51bWJlciBvZiBieXRlcyByZXF1aXJlZCBhcyBoZWFkcm9v
bSBmb3IgdHguICovCit9OworCisvKioKKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZGVzY3JpYmUg
ZGV2aWNlIGRlc2NyaXB0b3IgcmluZyBsaW1pdGF0aW9ucy4KKyAqLworc3RydWN0IHVrX25ldGRl
dl9xdWV1ZV9pbmZvIHsKKwl1aW50MTZfdCBuYl9tYXg7ICAgICAgICAvKio8IE1heCBhbGxvd2Vk
IG51bWJlciBvZiBkZXNjcmlwdG9ycy4gKi8KKwl1aW50MTZfdCBuYl9taW47ICAgICAgICAvKio8
IE1pbiBhbGxvd2VkIG51bWJlciBvZiBkZXNjcmlwdG9ycy4gKi8KKwl1aW50MTZfdCBuYl9hbGln
bjsgICAgICAvKio8IE51bWJlciBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiBuYl9hbGlnbi4gKi8K
KwlpbnQgbmJfaXNfcG93ZXJfb2ZfdHdvOyAvKio8IE51bWJlciBzaG91bGQgYmUgYSBwb3dlciBv
ZiB0d28uICovCit9OworCisvKioKKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gY29uZmlndXJlIGEg
bmV0d29yayBkZXZpY2UuCisgKi8KK3N0cnVjdCB1a19uZXRkZXZfY29uZiB7CisJdWludDE2X3Qg
bmJfcnhfcXVldWVzOworCXVpbnQxNl90IG5iX3R4X3F1ZXVlczsKK307CisKKy8qKgorICogQGlu
dGVybmFsIFF1ZXVlIHN0cnVjdHMgdGhhdCBhcmUgZGVmaW5lZCBpbnRlcm5hbGx5IGJ5IGVhY2gg
ZHJpdmVyCisgKiBUaGUgZGF0YXR5cGUgaXMgaW50cm9kdWNlZCBoZXJlIGZvciBoYXZpbmcgdHlw
ZSBjaGVja2luZyBvbiB0aGUKKyAqIEFQSSBjb2RlCisgKi8KK3N0cnVjdCB1a19uZXRkZXZfdHhf
cXVldWU7CitzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlOwogCiAvKioKICAqIEVudW0gdG8gZGVz
Y3JpYmUgcG9zc2libGUgc3RhdGVzIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgpAQCAt
NzUsNiArMTE1LDE0OSBAQCBlbnVtIHVrX25ldGRldl9zdGF0ZSB7CiAJVUtfTkVUREVWX1JVTk5J
TkcsCiB9OwogCisvKioKKyAqIEVudW0gdXNlZCBieSB0aGUgZXh0cmEgaW5mb3JtYXRpb24gcXVl
cnkgaW50ZXJmYWNlLgorICoKKyAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgdHlwZSBpcyB0byBhbGxv
dyBkcml2ZXJzIHRvIGZvcndhcmQgZXh0cmEgY29uZmlndXJhdGlvbnMKKyAqIG9wdGlvbnMgc3Vj
aCBhcyBJUCBpbmZvcm1hdGlvbiB3aXRob3V0IHBhcnNpbmcgdGhpcyBkYXRhIGJ5IHRoZW1zZWx2
ZXMgKGUuZy4sCisgKiBzdHJpbmdzIG9mIElQIGFkZHJlc3MgYW5kIG1hc2sgZm91bmQgb24gWGVu
U3RvcmUgYnkgbmV0ZnJvbnQpLgorICogV2UgZG8gbm90IHdhbnQgdG8gaW50cm9kdWNlIGFueSBh
ZGRpdGlvbmFsIHBhcnNpbmcgbG9naWMgaW5zaWRlIHVrbmV0ZGV2IEFQSQorICogYmVjYXVzZSB3
ZSBhc3N1bWUgdGhhdCBtb3N0IG5ldHdvcmsgc3RhY2tzIHByb3ZpZGUgdGhpcyBmdW5jdGlvbmFs
aXR5CisgKiBhbnl3YXlzLiBTbyBvbmUgY291bGQgZm9yd2FyZCB0aGlzIGRhdGEgd2l0aGluIHRo
ZSBnbHVlIGNvZGUuCisgKgorICogVGhpcyBsaXN0IGlzIGV4dGVuc2libGUgaW4gdGhlIGZ1dHVy
ZSB3aXRob3V0IG5lZWRpbmcgdGhlIGRyaXZlcnMgdG8gYWRvcHQKKyAqIGFueSBvciBhbGwgb2Yg
dGhlIGRhdGEgdHlwZXMuCisgKgorICogVGhlIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBhdmFpbGFi
bGUgaW4gb25lIG9mIHRoZSBmb2xsb3dpbmcgZm9ybWF0czoKKyAqIC0gKl9OSU5UMTY6IE5ldHdv
cmstb3JkZXIgcmF3IGludCAoNCBieXRlcykKKyAqIC0gKl9TVFI6IE51bGwtdGVybWluYXRlZCBz
dHJpbmcKKyAqLworZW51bSB1a19uZXRkZXZfZWluZm9fdHlwZSB7CisJLyogSVB2NCBhZGRyZXNz
IGFuZCBtYXNrICovCisJVUtfTkVUREVWX0lQVjRfQUREUl9OSU5UMTYsCisJVUtfTkVUREVWX0lQ
VjRfQUREUl9TVFIsCisJVUtfTkVUREVWX0lQVjRfTUFTS19OSU5UMTYsCisJVUtfTkVUREVWX0lQ
VjRfTUFTS19TVFIsCisKKwkvKiBJUHY0IGdhdGV3YXkgKi8KKwlVS19ORVRERVZfSVBWNF9HV19O
SU5UMTYsCisJVUtfTkVUREVWX0lQVjRfR1dfU1RSLAorCisJLyogSVB2NCBQcmltYXJ5IEROUyAq
LworCVVLX05FVERFVl9JUFY0X0ROUzBfTklOVDE2LAorCVVLX05FVERFVl9JUFY0X0ROUzBfU1RS
LAorCisJLyogSVB2NCBTZWNvbmRhcnkgRE5TICovCisJVUtfTkVUREVWX0lQVjRfRE5TMV9OSU5U
MTYsCisJVUtfTkVUREVWX0lQVjRfRE5TMV9TVFIsCit9OworCisvKioKKyAqIEZ1bmN0aW9uIHR5
cGUgdXNlZCBmb3IgcXVldWUgZXZlbnQgY2FsbGJhY2tzLgorICoKKyAqIEBwYXJhbSBkZXYKKyAq
ICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgorICogQHBhcmFtIHF1ZXVlCisgKiAgIFRo
ZSBxdWV1ZSBvbiB0aGUgVW5pa3JhZnQgbmV0d29yayBkZXZpY2Ugb24gd2hpY2ggdGhlIGV2ZW50
IGhhcHBlbmVkLgorICogQHBhcmFtIGFyZ3AKKyAqICAgRXh0cmEgYXJndW1lbnQgdGhhdCBjYW4g
YmUgZGVmaW5lZCBvbiBjYWxsYmFjayByZWdpc3RyYXRpb24uCisgKi8KK3R5cGVkZWYgdm9pZCAo
KnVrX25ldGRldl9xdWV1ZV9ldmVudF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJCXVp
bnQxNl90IHF1ZXVlX2lkLCB2b2lkICphcmdwKTsKKworLyoqCisgKiBBIHN0cnVjdHVyZSB1c2Vk
IHRvIGNvbmZpZ3VyZSBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSBSWCBxdWV1ZS4KKyAqLwor
c3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgeworCXVrX25ldGRldl9xdWV1ZV9ldmVudF90
IGNhbGxiYWNrOyAvKio8IEV2ZW50IGNhbGxiYWNrIGZ1bmN0aW9uLiAqLworCXZvaWQgKmNhbGxi
YWNrX2Nvb2tpZTsgICAgICAgICAgICAvKio8IEFyZ3VtZW50IHBvaW50ZXIgZm9yIGNhbGxiYWNr
LiAqLworCisJc3RydWN0IHVrX2FsbG9jICphOyAgICAgICAgICAgICAgIC8qKjwgQWxsb2NhdG9y
IGZvciBkZXNjcmlwdG9ycy4gKi8KKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hF
UlRIUkVBRFMKKwlzdHJ1Y3QgdWtfc2NoZWQgKnM7ICAgICAgICAgICAgICAgLyoqPCBTY2hlZHVs
ZXIgZm9yIGRpc3BhdGNoZXIuICovCisjZW5kaWYKK307CisKKy8qKgorICogQSBzdHJ1Y3R1cmUg
dXNlZCB0byBjb25maWd1cmUgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgVFggcXVldWUuCisg
Ki8KK3N0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mIHsKKwlzdHJ1Y3QgdWtfYWxsb2MgKmE7
ICAgICAgICAgICAgICAgLyogQWxsb2NhdG9yIGZvciBkZXNjcmlwdG9ycy4gKi8KK307CisKKy8q
KiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZWFkIGRldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVz
LAorICogIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBkZXZpY2UKKyAqLwordHlwZWRlZiB2b2lk
ICgqdWtfbmV0ZGV2X2luZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgICAg
IHN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pOworCisvKiogRHJpdmVyIGNhbGxiYWNr
IHR5cGUgdG8gcmVhZCBhbnkgZXh0cmEgY29uZmlndXJhdGlvbi4gKi8KK3R5cGVkZWYgY29uc3Qg
dm9pZCAqKCp1a19uZXRkZXZfZWluZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJ
CQkJICAgICBlbnVtIHVrX25ldGRldl9laW5mb190eXBlIGVjb25mKTsKKworLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIGNvbmZpZ3VyZSBhIG5ldHdvcmsgZGV2aWNlLiAqLwordHlwZWRlZiBp
bnQgICgqdWtfbmV0ZGV2X2NvbmZpZ3VyZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJ
ICAgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKKworLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIFJYIHF1ZXVlIGxpbWl0YXRpb25zLAorICogIHVzZWQg
Zm9yIGNvbmZpZ3VyaW5nIHRoZSBSWCBxdWV1ZSBsYXRlcgorICovCit0eXBlZGVmIGludCAoKnVr
X25ldGRldl9yeHFfaW5mb19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAorCXVpbnQxNl90
IHF1ZXVlX2lkLCBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8pOworCisv
KiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gcmV0cmlldmUgVFggcXVldWUgbGltaXRhdGlvbnMs
CisgKiAgdXNlZCBmb3IgY29uZmlndXJpbmcgdGhlIFRYIHF1ZXVlIGxhdGVyCisgKi8KK3R5cGVk
ZWYgaW50ICgqdWtfbmV0ZGV2X3R4cV9pbmZvX2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
CisJdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVf
aW5mbyk7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdXAgYSBSWCBxdWV1ZSBv
ZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4gKi8KK3R5cGVkZWYgc3RydWN0IHVrX25ldGRl
dl90eF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCkoCisJc3RydWN0IHVrX25l
dGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwgdWludDE2X3QgbmJfZGVzYywKKwlzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqdHhfY29uZik7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sg
dHlwZSB0byBzZXQgdXAgYSBUWCBxdWV1ZSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4g
Ki8KK3R5cGVkZWYgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqICgqdWtfbmV0ZGV2X3J4cV9j
b25maWd1cmVfdCkoCisJc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwg
dWludDE2X3QgbmJfZGVzYywKKwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhfY29u
Zik7CisKKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdGFydCBhIGNvbmZpZ3VyZWQgVW5p
a3JhZnQgbmV0d29yayBkZXZpY2UuICovCit0eXBlZGVmIGludCAgKCp1a19uZXRkZXZfc3RhcnRf
dCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKKworLyoqCisgKiBBIHN0cnVjdHVyZSBjb250YWlu
aW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCisgKi8KK3N0cnVjdCB1a19u
ZXRkZXZfb3BzIHsKKwkvKiogRGV2aWNlL2RyaXZlciBjYXBhYmlsaXRpZXMgYW5kIGluZm8uICov
CisJdWtfbmV0ZGV2X2luZm9fZ2V0X3QgICAgICAgICAgICBpbmZvX2dldDsKKwl1a19uZXRkZXZf
dHhxX2luZm9fZ2V0X3QgICAgICAgIHR4cV9pbmZvX2dldDsKKwl1a19uZXRkZXZfcnhxX2luZm9f
Z2V0X3QgICAgICAgIHJ4cV9pbmZvX2dldDsKKwl1a19uZXRkZXZfZWluZm9fZ2V0X3QgICAgICAg
ICAgIGVpbmZvX2dldDsgICAgICAgIC8qIG9wdGlvbmFsICovCisKKwkvKiogRGV2aWNlIGxpZmUg
Y3ljbGUuICovCisJdWtfbmV0ZGV2X2NvbmZpZ3VyZV90ICAgICAgICAgICBjb25maWd1cmU7CisJ
dWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCAgICAgICB0eHFfY29uZmlndXJlOworCXVrX25ldGRl
dl9yeHFfY29uZmlndXJlX3QgICAgICAgcnhxX2NvbmZpZ3VyZTsKKwl1a19uZXRkZXZfc3RhcnRf
dCAgICAgICAgICAgICAgIHN0YXJ0OworfTsKKworLyoqCisgKiBAaW50ZXJuYWwKKyAqIEV2ZW50
IGhhbmRsZXIgY29uZmlndXJhdGlvbiAoaW50ZXJuYWwgdG8gbGlidWtuZXRkZXYpCisgKi8KK3N0
cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciB7CisJdWtfbmV0ZGV2X3F1ZXVlX2V2ZW50X3Qg
Y2FsbGJhY2s7CisJdm9pZCAgICAgICAgICAgICAgICAgICAgKmNvb2tpZTsKKworI2lmZGVmIENP
TkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCXN0cnVjdCB1a19zZW1hcGhvcmUg
ZXZlbnRzOyAgICAgIC8qKjwgc2VtYXBob3JlIHRvIHRyaWdnZXIgZXZlbnRzICovCisJc3RydWN0
IHVrX25ldGRldiAgICAqZGV2OyAgICAgICAgLyoqPCByZWZlcmVuY2UgdG8gbmV0IGRldmljZSAq
LworCXVpbnQxNl90ICAgICAgICAgICAgcXVldWVfaWQ7ICAgIC8qKjwgcXVldWUgaWQgd2hpY2gg
Y2F1c2VkIGV2ZW50ICovCisJc3RydWN0IHVrX3RocmVhZCAgICAqZGlzcGF0Y2hlcjsgLyoqPCBk
aXNwYXRjaGVyIHRocmVhZCAqLworCWNoYXIgICAgICAgICAgICAgICAgKmRpc3BhdGNoZXJfbmFt
ZTsgLyoqPCByZWZlcmVuY2UgdG8gdGhyZWFkIG5hbWUgKi8KKwlzdHJ1Y3QgdWtfc2NoZWQgICAg
ICpkaXNwYXRjaGVyX3M7ICAgIC8qKjwgU2NoZWR1bGVyIGZvciBkaXNwYXRjaGVyLiAqLworI2Vu
ZGlmCit9OwogCiAvKioKICAqIEBpbnRlcm5hbApAQCAtODMsNiArMjY2LDkgQEAgZW51bSB1a19u
ZXRkZXZfc3RhdGUgewogc3RydWN0IHVrX25ldGRldl9kYXRhIHsKIAllbnVtIHVrX25ldGRldl9z
dGF0ZSBzdGF0ZTsKIAorCXN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlcgorCQkJICAgICBy
eHFfaGFuZGxlcltDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVNdOworCiAJY29uc3QgdWlu
dDE2X3QgICAgICAgaWQ7ICAgIC8qKjwgSUQgaXMgYXNzaWduZWQgZHVyaW5nIHJlZ2lzdHJhdGlv
biAqLwogCWNvbnN0IGNoYXIgICAgICAgICAgICpkcnZfbmFtZTsKIH07CkBAIC05MCwxMSArMjc2
LDIxIEBAIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7CiAvKioKICAqIE5FVERFVgogICogQSBzdHJ1
Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZpY2UuCisgKgorICogRnVu
Y3Rpb24gY2FsbGJhY2tzIChvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRoZSBkcml2ZXIgYmVmb3Jl
CisgKiByZWdpc3RlcmluZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBkdXJpbmcgZGV2aWNlIGxp
ZmUgdGltZS4KICAqLwogc3RydWN0IHVrX25ldGRldiB7CiAJLyoqIFBvaW50ZXIgdG8gQVBJLWlu
dGVybmFsIHN0YXRlIGRhdGEuICovCiAJc3RydWN0IHVrX25ldGRldl9kYXRhICAgICAgICpfZGF0
YTsKIAorCS8qKiBGdW5jdGlvbnMgY2FsbGJhY2tzIGJ5IGRyaXZlci4gKi8KKwljb25zdCBzdHJ1
Y3QgdWtfbmV0ZGV2X29wcyAgKm9wczsgICAvKiBieSBkcml2ZXIgKi8KKworCS8qKiBQb2ludGVy
cyB0byBxdWV1ZXMgKEFQSS1wcml2YXRlKSAqLworCXN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUg
ICAqX3J4X3F1ZXVlW0NPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFU107CisJc3RydWN0IHVr
X25ldGRldl90eF9xdWV1ZSAgICpfdHhfcXVldWVbQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVF
VUVTXTsKKwogCVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXYpIF9saXN0OwogfTsKIApk
aWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3VrbmV0ZGV2L25ldGRldi5j
CmluZGV4IDdjMmQ5YmYuLjg0NGJiNmMgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYu
YworKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKQEAgLTY5LDYgKzY5LDE2IEBAIGludCB1a19u
ZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9j
ICphLAogCVVLX0FTU0VSVChkZXYpOwogCVVLX0FTU0VSVCghZGV2LT5fZGF0YSk7CiAKKwkvKiBB
c3NlcnQgbWFuZGF0b3J5IGNvbmZpZ3VyYXRpb24gKi8KKwlVS19BU1NFUlQoZGV2LT5vcHMpOwor
CVVLX0FTU0VSVChkZXYtPm9wcy0+aW5mb19nZXQpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+Y29u
ZmlndXJlKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnJ4cV9pbmZvX2dldCk7CisJVUtfQVNTRVJU
KGRldi0+b3BzLT5yeHFfY29uZmlndXJlKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9pbmZv
X2dldCk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfY29uZmlndXJlKTsKKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnN0YXJ0KTsKKwogCWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZf
Y291bnQsICBkcnZfbmFtZSk7CiAJaWYgKCFkZXYtPl9kYXRhKQogCQlyZXR1cm4gLUVOT01FTTsK
QEAgLTEyMSwzICsxMzEsMjgzIEBAIGVudW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0
ZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQogCiAJcmV0dXJuIGRldi0+X2RhdGEtPnN0YXRl
OwogfQorCit2b2lkIHVrX25ldGRldl9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJ
CQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQoreworCVVLX0FTU0VSVChkZXYpOwor
CVVLX0FTU0VSVChkZXYtPm9wcyk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT5pbmZvX2dldCk7CisJ
VUtfQVNTRVJUKGRldl9pbmZvKTsKKworCS8qIENsZWFyIHZhbHVlcyBiZWZvcmUgcXVlcnlpbmcg
ZHJpdmVyIGZvciBjYXBhYmlsaXRpZXMgKi8KKwltZW1zZXQoZGV2X2luZm8sIDAsIHNpemVvZigq
ZGV2X2luZm8pKTsKKwlkZXYtPm9wcy0+aW5mb19nZXQoZGV2LCBkZXZfaW5mbyk7CisKKwkvKiBM
aW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcnggcXVldWVzIGFuZCB0eCBxdWV1ZXMKKwkgKiBh
Y2NvcmRpbmcgdG8gdGhlIEFQSSBjb25maWd1cmF0aW9uCisJICovCisJZGV2X2luZm8tPm1heF9y
eF9xdWV1ZXMgPSBNSU4oQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTLAorCQkJCSAgICAg
IGRldl9pbmZvLT5tYXhfcnhfcXVldWVzKTsKKwlkZXZfaW5mby0+bWF4X3R4X3F1ZXVlcyA9IE1J
TihDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMsCisJCQkJICAgICAgZGV2X2luZm8tPm1h
eF90eF9xdWV1ZXMpOworfQorCitjb25zdCB2b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVj
dCB1a19uZXRkZXYgKmRldiwKKwkJCQllbnVtIHVrX25ldGRldl9laW5mb190eXBlIGVpbmZvKQor
eworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPm9wcyk7CisKKwlpZiAoIWRldi0+
b3BzLT5laW5mb19nZXQpIHsKKwkJLyogZHJpdmVyIGRvZXMgbm90IHByb3ZpZGUgYW55IGV4dHJh
IGNvbmZpZ3VyYXRpb24gKi8KKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBkZXYtPm9wcy0+
ZWluZm9fZ2V0KGRldiwgZWluZm8pOworfQorCitpbnQgdWtfbmV0ZGV2X3J4cV9pbmZvX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJICAgc3RydWN0IHVr
X25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9pbmZvKQoreworCVVLX0FTU0VSVChkZXYpOworCVVL
X0FTU0VSVChkZXYtPm9wcyk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT5yeHFfaW5mb19nZXQpOwor
CVVLX0FTU0VSVChxdWV1ZV9pZCA8IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7CisJ
VUtfQVNTRVJUKHF1ZXVlX2luZm8pOworCisJLyogQ2xlYXIgdmFsdWVzIGJlZm9yZSBxdWVyeWlu
ZyBkcml2ZXIgZm9yIGNhcGFiaWxpdGllcyAqLworCW1lbXNldChxdWV1ZV9pbmZvLCAwLCBzaXpl
b2YoKnF1ZXVlX2luZm8pKTsKKwlyZXR1cm4gZGV2LT5vcHMtPnJ4cV9pbmZvX2dldChkZXYsIHF1
ZXVlX2lkLCBxdWV1ZV9pbmZvKTsKK30KKworaW50IHVrX25ldGRldl90eHFfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKKwkJCSAgIHN0cnVjdCB1a19u
ZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbykKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19B
U1NFUlQoZGV2LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+dHhxX2luZm9fZ2V0KTsKKwlV
S19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOworCVVL
X0FTU0VSVChxdWV1ZV9pbmZvKTsKKworCS8qIENsZWFyIHZhbHVlcyBiZWZvcmUgcXVlcnlpbmcg
ZHJpdmVyIGZvciBjYXBhYmlsaXRpZXMgKi8KKwltZW1zZXQocXVldWVfaW5mbywgMCwgc2l6ZW9m
KCpxdWV1ZV9pbmZvKSk7CisJcmV0dXJuIGRldi0+b3BzLT50eHFfaW5mb19nZXQoZGV2LCBxdWV1
ZV9pZCwgcXVldWVfaW5mbyk7Cit9CisKK2ludCB1a19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwKKwkJCWNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqZGV2X2NvbmYp
Cit7CisJc3RydWN0IHVrX25ldGRldl9pbmZvIGRldl9pbmZvOworCWludCByZXQ7CisKKwlVS19B
U1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3Bz
KTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPmNvbmZpZ3VyZSk7CisJVUtfQVNTRVJUKGRldl9jb25m
KTsKKworCWlmIChkZXYtPl9kYXRhLT5zdGF0ZSAhPSBVS19ORVRERVZfVU5DT05GSUdVUkVEKQor
CQlyZXR1cm4gLUVJTlZBTDsKKworCXVrX25ldGRldl9pbmZvX2dldChkZXYsICZkZXZfaW5mbyk7
CisJaWYgKGRldl9jb25mLT5uYl9yeF9xdWV1ZXMgPiBkZXZfaW5mby5tYXhfcnhfcXVldWVzKQor
CQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZGV2X2NvbmYtPm5iX3R4X3F1ZXVlcyA+IGRldl9pbmZv
Lm1heF90eF9xdWV1ZXMpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0ID0gZGV2LT5vcHMtPmNv
bmZpZ3VyZShkZXYsIGRldl9jb25mKTsKKwlpZiAocmV0ID49IDApIHsKKwkJdWtfcHJfaW5mbygi
bmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIGludGVyZmFjZVxuIiwKKwkJCSAgIGRldi0+X2Rh
dGEtPmlkKTsKKwkJZGV2LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfQ09ORklHVVJFRDsKKwl9
IGVsc2UgeworCQl1a19wcl9lcnIoIm5ldGRldiUiUFJJdTE2IjogRmFpbGVkIHRvIGNvbmZpZ3Vy
ZSBpbnRlcmZhY2U6ICVkXG4iLAorCQkJICBkZXYtPl9kYXRhLT5pZCwgcmV0KTsKKwl9CisJcmV0
dXJuIHJldDsKK30KKworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFE
Uworc3RhdGljIHZvaWQgX2Rpc3BhdGNoZXIodm9pZCAqYXJnKQoreworCXN0cnVjdCB1a19uZXRk
ZXZfZXZlbnRfaGFuZGxlciAqaGFuZGxlciA9CisJCShzdHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hh
bmRsZXIgKikgYXJnOworCisJVUtfQVNTRVJUKGhhbmRsZXIpOworCVVLX0FTU0VSVChoYW5kbGVy
LT5jYWxsYmFjayk7CisKKwlmb3IgKDs7KSB7CisJCXVrX3NlbWFwaG9yZV9kb3duKCZoYW5kbGVy
LT5ldmVudHMpOworCQloYW5kbGVyLT5jYWxsYmFjayhoYW5kbGVyLT5kZXYsCisJCQkJICBoYW5k
bGVyLT5xdWV1ZV9pZCwKKwkJCQkgIGhhbmRsZXItPmNvb2tpZSk7CisJfQorfQorI2VuZGlmCisK
K3N0YXRpYyBpbnQgX2NyZWF0ZV9ldmVudF9oYW5kbGVyKHVrX25ldGRldl9xdWV1ZV9ldmVudF90
IGNhbGxiYWNrLAorCQkJCSB2b2lkICpjYWxsYmFja19jb29raWUsCisjaWZkZWYgQ09ORklHX0xJ
QlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCisJCQkJIHN0cnVjdCB1a19uZXRkZXYgKmRldiwg
dWludDE2X3QgcXVldWVfaWQsCisJCQkJIGNvbnN0IGNoYXIgKnF1ZXVlX3R5cGVfc3RyLAorCQkJ
CSBzdHJ1Y3QgdWtfc2NoZWQgKnMsCisjZW5kaWYKKwkJCQkgc3RydWN0IHVrX25ldGRldl9ldmVu
dF9oYW5kbGVyICpoKQoreworCVVLX0FTU0VSVChoKTsKKwlVS19BU1NFUlQoY2FsbGJhY2sgfHwg
KCFjYWxsYmFjayAmJiAhY2FsbGJhY2tfY29va2llKSk7CisjaWZkZWYgQ09ORklHX0xJQlVLTkVU
REVWX0RJU1BBVENIRVJUSFJFQURTCisJVUtfQVNTRVJUKCFoLT5kaXNwYXRjaGVyKTsKKyNlbmRp
ZgorCisJaC0+Y2FsbGJhY2sgPSBjYWxsYmFjazsKKwloLT5jb29raWUgICA9IGNhbGxiYWNrX2Nv
b2tpZTsKKworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUworCS8q
IElmIHdlIGRvIG5vdCBoYXZlIGEgY2FsbGJhY2ssIHdlIGRvIG5vdCBuZWVkIGEgdGhyZWFkICov
CisJaWYgKCFjYWxsYmFjaykKKwkJcmV0dXJuIDA7CisKKwloLT5kZXYgPSBkZXY7CisJaC0+cXVl
dWVfaWQgPSBxdWV1ZV9pZDsKKwl1a19zZW1hcGhvcmVfaW5pdCgmaC0+ZXZlbnRzLCAwKTsKKwlo
LT5kaXNwYXRjaGVyX3MgPSBzOworCisJLyogQ3JlYXRlIGEgbmFtZSBmb3IgdGhlIGRpc3BhdGNo
ZXIgdGhyZWFkLgorCSAqIEluIGNhc2Ugb2YgZXJyb3JzLCB3ZSBqdXN0IGNvbnRpbnVlIHdpdGhv
dXQgYSBuYW1lCisJICovCisJaWYgKGFzcHJpbnRmKCZoLT5kaXNwYXRjaGVyX25hbWUsCisJCSAg
ICAgIm5ldGRldiUiUFJJdTE2Ii0lc1slIlBSSXUxNiJdIiwKKwkJICAgICBkZXYtPl9kYXRhLT5p
ZCwgcXVldWVfdHlwZV9zdHIsIHF1ZXVlX2lkKSA8IDApIHsKKwkJaC0+ZGlzcGF0Y2hlcl9uYW1l
ID0gTlVMTDsKKwl9CisKKwloLT5kaXNwYXRjaGVyID0gdWtfc2NoZWRfdGhyZWFkX2NyZWF0ZSho
LT5kaXNwYXRjaGVyX3MsCisJCQkJCSAgICAgICBoLT5kaXNwYXRjaGVyX25hbWUsCisJCQkJCSAg
ICAgICBfZGlzcGF0Y2hlciwgaCk7CisJaWYgKCFoLT5kaXNwYXRjaGVyKSB7CisJCWlmIChoLT5k
aXNwYXRjaGVyX25hbWUpCisJCQlmcmVlKGgtPmRpc3BhdGNoZXJfbmFtZSk7CisJCWgtPmRpc3Bh
dGNoZXJfbmFtZSA9IE5VTEw7CisJCXJldHVybiAtRU5PTUVNOworCX0KKyNlbmRpZgorCisJcmV0
dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9kZXN0cm95X2V2ZW50X2hhbmRsZXIoc3RydWN0IHVr
X25ldGRldl9ldmVudF9oYW5kbGVyICpoCisJCQkJICAgX19tYXliZV91bnVzZWQpCit7CisJVUtf
QVNTRVJUKGgpOworCisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURT
CisJVUtfQVNTRVJUKGgtPmRpc3BhdGNoZXJfcyk7CisKKwlpZiAoaC0+ZGlzcGF0Y2hlcikKKwkJ
dWtfc2NoZWRfdGhyZWFkX2Rlc3Ryb3koaC0+ZGlzcGF0Y2hlcl9zLCBoLT5kaXNwYXRjaGVyKTsK
KwloLT5kaXNwYXRjaGVyID0gTlVMTDsKKworCWlmIChoLT5kaXNwYXRjaGVyX25hbWUpCisJCWZy
ZWUoaC0+ZGlzcGF0Y2hlcl9uYW1lKTsKKwloLT5kaXNwYXRjaGVyX25hbWUgPSBOVUxMOworI2Vu
ZGlmCit9CisKK2ludCB1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJICAgIHVpbnQxNl90IG5iX2Rlc2MsCisJCQkgICAg
c3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKnJ4X2NvbmYpCit7CisJaW50IGVycjsKKwor
CVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2
LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+cnhxX2NvbmZpZ3VyZSk7CisJVUtfQVNTRVJU
KHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKKwlVS19BU1NFUlQo
cnhfY29uZik7CisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCisJ
VUtfQVNTRVJUKChyeF9jb25mLT5jYWxsYmFjayAmJiByeF9jb25mLT5zKQorCQkgIHx8ICFyeF9j
b25mLT5jYWxsYmFjayk7CisjZW5kaWYKKworCWlmIChkZXYtPl9kYXRhLT5zdGF0ZSAhPSBVS19O
RVRERVZfQ09ORklHVVJFRCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBNYWtlIHN1cmUgdGhh
dCB3ZSBhcmUgbm90IGluaXRpYWxpemluZyB0aGlzIHF1ZXVlIGEgc2Vjb25kIHRpbWUgKi8KKwlp
ZiAoIVBUUklTRVJSKGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpCisJCXJldHVybiAtRUJVU1k7
CisKKwllcnIgPSBfY3JlYXRlX2V2ZW50X2hhbmRsZXIocnhfY29uZi0+Y2FsbGJhY2ssIHJ4X2Nv
bmYtPmNhbGxiYWNrX2Nvb2tpZSwKKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hF
UlRIUkVBRFMKKwkJCQkgICAgZGV2LCBxdWV1ZV9pZCwgInJ4cSIsIHJ4X2NvbmYtPnMsCisjZW5k
aWYKKwkJCQkgICAgJmRldi0+X2RhdGEtPnJ4cV9oYW5kbGVyW3F1ZXVlX2lkXSk7CisJaWYgKGVy
cikKKwkJZ290byBlcnJfb3V0OworCisJZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdID0gZGV2LT5v
cHMtPnJ4cV9jb25maWd1cmUoZGV2LCBxdWV1ZV9pZCwKKwkJCQkJCQkgICBuYl9kZXNjLCByeF9j
b25mKTsKKwlpZiAoUFRSSVNFUlIoZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdKSkgeworCQllcnIg
PSBQVFIyRVJSKGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSk7CisJCWdvdG8gZXJyX2Rlc3Ryb3lf
aGFuZGxlcjsKKwl9CisKKwl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IENvbmZpZ3VyZWQg
cmVjZWl2ZSBxdWV1ZSAlIlBSSXUxNiJcbiIsCisJCSAgIGRldi0+X2RhdGEtPmlkLCBxdWV1ZV9p
ZCk7CisJcmV0dXJuIDA7CisKK2Vycl9kZXN0cm95X2hhbmRsZXI6CisJX2Rlc3Ryb3lfZXZlbnRf
aGFuZGxlcigmZGV2LT5fZGF0YS0+cnhxX2hhbmRsZXJbcXVldWVfaWRdKTsKK2Vycl9vdXQ6CisJ
cmV0dXJuIGVycjsKK30KKworaW50IHVrX25ldGRldl90eHFfY29uZmlndXJlKHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCisJCQkgICAgdWludDE2X3QgbmJfZGVzYywK
KwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqdHhfY29uZikKK3sKKwlVS19B
U1NFUlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3Bz
KTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25maWd1cmUpOworCVVLX0FTU0VSVCh0eF9j
b25mKTsKKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVV
RVMpOworCisJaWYgKGRldi0+X2RhdGEtPnN0YXRlICE9IFVLX05FVERFVl9DT05GSUdVUkVEKQor
CQlyZXR1cm4gLUVJTlZBTDsKKworCS8qIE1ha2Ugc3VyZSB0aGF0IHdlIGFyZSBub3QgaW5pdGlh
bGl6aW5nIHRoaXMgcXVldWUgYSBzZWNvbmQgdGltZSAqLworCWlmICghUFRSSVNFUlIoZGV2LT5f
dHhfcXVldWVbcXVldWVfaWRdKSkKKwkJcmV0dXJuIC1FQlVTWTsKKworCWRldi0+X3R4X3F1ZXVl
W3F1ZXVlX2lkXSA9IGRldi0+b3BzLT50eHFfY29uZmlndXJlKGRldiwgcXVldWVfaWQsCisJCQkJ
CQkJICAgbmJfZGVzYywgdHhfY29uZik7CisJaWYgKFBUUklTRVJSKGRldi0+X3R4X3F1ZXVlW3F1
ZXVlX2lkXSkpCisJCXJldHVybiBQVFIyRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSk7CisK
Kwl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IENvbmZpZ3VyZWQgdHJhbnNtaXQgcXVldWUg
JSJQUkl1MTYiXG4iLAorCQkJICAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX2lkKTsKKwlyZXR1cm4g
MDsKK30KKworaW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCit7CisJ
aW50IHJldDsKKworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlV
S19BU1NFUlQoZGV2LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOworCisJaWYg
KGRldi0+X2RhdGEtPnN0YXRlICE9IFVLX05FVERFVl9DT05GSUdVUkVEKQorCQlyZXR1cm4gLUVJ
TlZBTDsKKworCXJldCA9IGRldi0+b3BzLT5zdGFydChkZXYpOworCWlmIChyZXQgPj0gMCkgewor
CQl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IFN0YXJ0ZWQgaW50ZXJmYWNlXG4iLAorCQkJ
ICAgZGV2LT5fZGF0YS0+aWQpOworCQlkZXYtPl9kYXRhLT5zdGF0ZSA9IFVLX05FVERFVl9SVU5O
SU5HOworCX0KKwlyZXR1cm4gcmV0OworfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:23 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKR-0004hj-1z; Fri, 19 Oct 2018 09:44:23 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKP-0004hc-SD
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:21 +0000
X-Inumbo-ID: c06540dd-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c06540dd-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:46 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 96252104A43;
 Fri, 19 Oct 2018 11:44:19 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id eGK9S4kPV5Da; Fri, 19 Oct 2018 11:44:19 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 71ADA104A3F;
 Fri, 19 Oct 2018 11:44:15 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:15 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:42 +0200
Message-ID: <1539942225-24325-9-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 08/11] lib/uknetdev: Hardware
 address interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
YSBnZXR0ZXIgYW5kIGEgc2V0dGVyIGZvciBhIG5ldGRldidzIGhhcmR3YXJlIGFkZHJlc3MgKE1B
QykuIFRoaXMKQVBJIGludGVyZmFjZSBpcyBvcHRpb25hbCBmb3IgYSBkcml2ZXIgdG8gaW1wbGVt
ZW50LiBCeSBtYWtpbmcgdGhpcwpvcHRpb25hbCB3ZSBjb3VsZCBzdXBwb3J0IG5ldHdvcmsgZGV2
aWNlcyB0aGF0IG9wZXJhdGUgb24gTDMgaW4gdGhlCmZ1dHVyZS4KClNpZ25lZC1vZmYtYnk6IFNp
bW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2
YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFNo
YXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIGxpYi91a25l
dGRldi9leHBvcnRzeW1zLnVrICAgICAgICAgICAgfCAgMiArKwogbGliL3VrbmV0ZGV2L2luY2x1
ZGUvdWsvbmV0ZGV2LmggICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIHwgMjIgKysrKysrKysrKysrKysrKysrKysK
IGxpYi91a25ldGRldi9uZXRkZXYuYyAgICAgICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCsp
CgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYv
ZXhwb3J0c3ltcy51awppbmRleCA0ZTRkMzA2Li5mOTg5OTM0IDEwMDY0NAotLS0gYS9saWIvdWtu
ZXRkZXYvZXhwb3J0c3ltcy51aworKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awpAQCAt
MjEsMyArMjEsNSBAQCB1a19uZXRkZXZfY29uZmlndXJlCiB1a19uZXRkZXZfcnhxX2NvbmZpZ3Vy
ZQogdWtfbmV0ZGV2X3R4cV9jb25maWd1cmUKIHVrX25ldGRldl9zdGFydAordWtfbmV0ZGV2X2h3
YWRkcl9zZXQKK3VrX25ldGRldl9od2FkZHJfZ2V0CmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRkZXYuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCmlu
ZGV4IGEzYmQ0NGEuLjAyMmZlMjggMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldi5oCisrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0yODQs
NiArMjg0LDMxIEBAIGludCB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAogICovCiBpbnQgdWtfbmV0ZGV2X3N0YXJ0KHN0cnVj
dCB1a19uZXRkZXYgKmRldik7CiAKKy8qKgorICogUmV0dXJucyB0aGUgaGFyZHdhcmUgYWRkcmVz
cyBvZiB0aGUgVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCisgKgorICogQHBhcmFtIGRldgorICog
ICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisgKiBAcmV0dXJuCisgKiAgIC0gKE5VTEwp
OiBubyBoYXJkd2FyZSBhZGRyZXNzIGF2YWlsYWJsZQorICogICAtIChzdHJ1Y3QgdWtfaHdhZGRy
ICopOiBSZWZlcmVuY2UgdG8gaGFyZHdhcmUgYWRkcmVzcworICovCitjb25zdCBzdHJ1Y3QgdWtf
aHdhZGRyICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOworCisv
KioKKyAqIFNldCB0aGUgaGFyZHdhcmUgYWRkcmVzcy4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEBwYXJhbSBod2FkZHIKKyAqICAgUmVm
ZXJlbmNlIHRvIG5ldyBoYXJkd2FyZSBhZGRyZXNzLgorICogQHJldHVybgorICogICAtICgwKTog
aWYgc3VjY2Vzc2Z1bC4KKyAqICAgLSAoLUVOT1RTVVApOiBpZiBoYXJkd2FyZSBkb2Vzbid0IHN1
cHBvcnQuCisgKiAgIC0gKC1FSU5WQUwpOiBpZiBhZGRyZXNzIGlzIGludmFsaWQuCisgKi8KK2lu
dCB1a19uZXRkZXZfaHdhZGRyX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIGNvbnN0IHN0cnVj
dCB1a19od2FkZHIgKmh3YWRkcik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRp
ZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3Vr
bmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAppbmRleCA2MzM5YzZhLi5mMTAwMWIxIDEw
MDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCisrKyBiL2xp
Yi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKQEAgLTY5LDYgKzY5LDE1IEBAIHN0
cnVjdCB1a19uZXRkZXY7CiBVS19UQUlMUV9IRUFEKHVrX25ldGRldl9saXN0LCBzdHJ1Y3QgdWtf
bmV0ZGV2KTsKIAogLyoqCisgKiBBIHN0cnVjdHVyZSB1c2VkIGZvciBFdGhlcm5ldCBoYXJkd2Fy
ZSBhZGRyZXNzZXMKKyAqLworI2RlZmluZSBVS19ORVRERVZfSFdBRERSX0xFTiA2IC8qKjwgTGVu
Z3RoIG9mIEV0aGVybmV0IGFkZHJlc3MuICovCisKK3N0cnVjdCB1a19od2FkZHIgeworCXVpbnQ4
X3QgYWRkcl9ieXRlc1tVS19ORVRERVZfSFdBRERSX0xFTl07Cit9IF9fcGFja2VkOworCisvKioK
ICAqIEEgc3RydWN0dXJlIHVzZWQgdG8gZGVzY3JpYmUgbmV0d29yayBkZXZpY2UgY2FwYWJpbGl0
aWVzLgogICovCiBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gewpAQCAtMjI0LDEwICsyMzMsMjMgQEAg
dHlwZWRlZiBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICogKCp1a19uZXRkZXZfcnhxX2NvbmZp
Z3VyZV90KSgKIC8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdGFydCBhIGNvbmZpZ3VyZWQg
VW5pa3JhZnQgbmV0d29yayBkZXZpY2UuICovCiB0eXBlZGVmIGludCAgKCp1a19uZXRkZXZfc3Rh
cnRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKIAorLyoqIERyaXZlciBjYWxsYmFjayB0eXBl
IHRvIGdldCB0aGUgaGFyZHdhcmUgYWRkcmVzcy4gKi8KK3R5cGVkZWYgY29uc3Qgc3RydWN0IHVr
X2h3YWRkciAqKCp1a19uZXRkZXZfaHdhZGRyX2dldF90KSgKKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYpOworCisvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc2V0IHRoZSBoYXJkd2FyZSBhZGRy
ZXNzLiAqLwordHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfaHdhZGRyX3NldF90KShzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsCisJCQkJICAgICAgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKTsK
KworCiAvKioKICAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9ucyBleHBvcnRl
ZCBieSBhIGRyaXZlci4KICAqLwogc3RydWN0IHVrX25ldGRldl9vcHMgeworCS8qKiBTZXQvR2V0
IGhhcmR3YXJlIGFkZHJlc3MuICovCisJdWtfbmV0ZGV2X2h3YWRkcl9nZXRfdCAgICAgICAgICBo
d2FkZHJfZ2V0OyAgICAgICAvKiByZWNvbW1lbmRlZCAqLworCXVrX25ldGRldl9od2FkZHJfc2V0
X3QgICAgICAgICAgaHdhZGRyX3NldDsgICAgICAgLyogb3B0aW9uYWwgKi8KKwogCS8qKiBEZXZp
Y2UvZHJpdmVyIGNhcGFiaWxpdGllcyBhbmQgaW5mby4gKi8KIAl1a19uZXRkZXZfaW5mb19nZXRf
dCAgICAgICAgICAgIGluZm9fZ2V0OwogCXVrX25ldGRldl90eHFfaW5mb19nZXRfdCAgICAgICAg
dHhxX2luZm9fZ2V0OwpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3Vr
bmV0ZGV2L25ldGRldi5jCmluZGV4IDg0NGJiNmMuLjg1MDdiYTEgMTAwNjQ0Ci0tLSBhL2xpYi91
a25ldGRldi9uZXRkZXYuYworKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKQEAgLTQxMSwzICs0
MTEsNDEgQEAgaW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCiAJfQog
CXJldHVybiByZXQ7CiB9CisKK2ludCB1a19uZXRkZXZfaHdhZGRyX3NldChzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYsCisJCQkgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKQoreworCVVLX0FT
U0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMp
OworCVVLX0FTU0VSVChod2FkZHIpOworCisJLyogV2UgZG8gc3VwcG9ydCBjaGFuZ2luZyBvZiBo
d2FkZHIKKwkgKiBvbmx5IHdoZW4gZGV2aWNlIHdhcyBjb25maWd1cmVkCisJICovCisJVUtfQVNT
RVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9DT05GSUdVUkVECisJCSAgfHwgZGV2
LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOworCisJaWYgKGRldi0+b3BzLT5o
d2FkZHJfc2V0ID09IE5VTEwpCisJCXJldHVybiAtRU5PVFNVUDsKKworCXJldHVybiBkZXYtPm9w
cy0+aHdhZGRyX3NldChkZXYsIGh3YWRkcik7Cit9CisKK2NvbnN0IHN0cnVjdCB1a19od2FkZHIg
KnVrX25ldGRldl9od2FkZHJfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldikKK3sKKwlVS19BU1NF
UlQoZGV2KTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsK
KworCS8qIFdlIGRvIHN1cHBvcnQgcmV0cmlldmluZyBvZiBod2FkZHIKKwkgKiBvbmx5IHdoZW4g
ZGV2aWNlIHdhcyBjb25maWd1cmVkCisJICovCisJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRl
ID09IFVLX05FVERFVl9DT05GSUdVUkVECisJCSAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtf
TkVUREVWX1JVTk5JTkcpOworCisJaWYgKCFkZXYtPm9wcy0+aHdhZGRyX2dldCkKKwkJcmV0dXJu
IE5VTEw7CisKKwlyZXR1cm4gZGV2LT5vcHMtPmh3YWRkcl9nZXQoZGV2KTsKK30KLS0gCjIuNy40
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:27 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKV-0004iY-3b; Fri, 19 Oct 2018 09:44:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKU-0004iN-3g
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:26 +0000
X-Inumbo-ID: c2f980df-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c2f980df-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:45:50 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id DE676F2014;
 Fri, 19 Oct 2018 11:44:23 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id JEQkQEA5KJLG; Fri, 19 Oct 2018 11:44:23 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id B87A1F2010;
 Fri, 19 Oct 2018 11:44:19 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:19 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:43 +0200
Message-ID: <1539942225-24325-10-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 09/11] lib/uknetdev: Promiscuous
 mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
aW50ZXJmYWNlcyB0byBxdWVyeSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBtb2Rl
IGZvciBhCm5ldGRldi4gVGhlIGdldHRlciBpcyBhIG1hbmRhdG9yeSBpbnRlcmZhY2UgdG8gaW1w
bGVtZW50IGJ5IGRyaXZlcnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5r
dWVuemVyQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4u
Y29qb2NhcnU5M0BnbWFpbC5jb20+Ci0tLQogbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAg
ICAgICAgICB8ICAyICsrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgIHwg
MjYgKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25l
dGRldl9jb3JlLmggfCAxMCArKysrKysrKysrCiBsaWIvdWtuZXRkZXYvbmV0ZGV2LmMgICAgICAg
ICAgICAgICAgIHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmls
ZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9l
eHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKaW5kZXggZjk4OTkzNC4u
YjA3NzVjYiAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKKysrIGIvbGli
L3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKQEAgLTIzLDMgKzIzLDUgQEAgdWtfbmV0ZGV2X3R4cV9j
b25maWd1cmUKIHVrX25ldGRldl9zdGFydAogdWtfbmV0ZGV2X2h3YWRkcl9zZXQKIHVrX25ldGRl
dl9od2FkZHJfZ2V0Cit1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0Cit1a19uZXRkZXZfcHJvbWlz
Y3VvdXNfc2V0CmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCmluZGV4IDAyMmZlMjguLmI2MTgxNDAg
MTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCisrKyBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0zMDksNiArMzA5LDMyIEBAIGNvbnN0IHN0
cnVjdCB1a19od2FkZHIgKnVrX25ldGRldl9od2FkZHJfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRl
dik7CiAgKi8KIGludCB1a19uZXRkZXZfaHdhZGRyX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcik7CiAKKy8qKgorICogUmV0dXJucyBpZiBw
cm9taXNjdW91cyBtb2RlIGlzIGVuYWJsZWQgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNl
LgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgor
ICogQHJldHVybgorICogICAtICg+MCk6IGlmIHByb21pc2N1b3VzIGlzIGVuYWJsZWQKKyAqICAg
LSAoMCk6IGlmIHByb21pc2N1b3VzIGlzIGRpc2FibGVkLgorICovCit1bnNpZ25lZCB1a19uZXRk
ZXZfcHJvbWlzY3VvdXNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7CisKKy8qKgorICogRW5h
YmxlcyBvciBkaXNhYmxlcyBwcm9taXNjdW91cyBtb2RlIGZvciBhbiBVbmlrcmFmdCBuZXR3b3Jr
IGRldmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERl
dmljZS4KKyAqIEBwYXJhbSBtb2RlCisgKiAgIC0gKDApOiBkaXNhYmxlIHByb21pc2N1b3VzIG1v
ZGUKKyAqICAgLSAoMSk6IGVuYWJsZSBwcm9taXNjdW91cyBtb2RlCisgKiBAcmV0dXJuCisgKiAg
IC0gKDApOiBpZiBzdWNjZXNzZnVsLgorICogICAtICgtRU5PVFNVUCk6IGlmIG9wZXJhdGlvbiBp
cyBub3Qgc3VwcG9ydGVkLgorICogICAtICg8MCk6IG9uIGVycm9yIHJldHVybmVkIGJ5IGRyaXZl
cgorICovCitpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIHVuc2lnbmVkIG1vZGUpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKaW5kZXggZjEwMDFiMS4uNDE3NDg2MiAxMDA2
NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAorKysgYi9saWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCkBAIC0yNDEsNiArMjQxLDEyIEBAIHR5
cGVkZWYgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqKCp1a19uZXRkZXZfaHdhZGRyX2dldF90KSgK
IHR5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdCkoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAogCQkJCSAgICAgIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcik7CiAKKy8qKiBE
cml2ZXIgY2FsbGJhY2sgdHlwZSB0byBnZXQgdGhlIGN1cnJlbnQgcHJvbWlzY3VvdXMgbW9kZSAq
LwordHlwZWRlZiB1bnNpZ25lZCAoKnVrX25ldGRldl9wcm9taXNjdW91c19nZXRfdCkoc3RydWN0
IHVrX25ldGRldiAqZGV2KTsKKworLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGVuYWJsZSBv
ciBkaXNhYmxlIHByb21pc2N1b3VzIG1vZGUgKi8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3By
b21pc2N1b3VzX3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJCSAgIHVuc2lnbmVk
IG1vZGUpOwogCiAvKioKICAqIEEgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlIGZ1bmN0aW9ucyBl
eHBvcnRlZCBieSBhIGRyaXZlci4KQEAgLTI1MCw2ICsyNTYsMTAgQEAgc3RydWN0IHVrX25ldGRl
dl9vcHMgewogCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdhZGRyX2dldDsgICAg
ICAgLyogcmVjb21tZW5kZWQgKi8KIAl1a19uZXRkZXZfaHdhZGRyX3NldF90ICAgICAgICAgIGh3
YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCiAKKwkvKiogUHJvbWlzY3VvdXMgbW9kZS4g
Ki8KKwl1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0X3QgICAgIHByb21pc2N1b3VzX3NldDsgIC8q
IG9wdGlvbmFsICovCisJdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldF90ICAgICBwcm9taXNjdW91
c19nZXQ7CisKIAkvKiogRGV2aWNlL2RyaXZlciBjYXBhYmlsaXRpZXMgYW5kIGluZm8uICovCiAJ
dWtfbmV0ZGV2X2luZm9fZ2V0X3QgICAgICAgICAgICBpbmZvX2dldDsKIAl1a19uZXRkZXZfdHhx
X2luZm9fZ2V0X3QgICAgICAgIHR4cV9pbmZvX2dldDsKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9uZXRkZXYuYyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwppbmRleCA4NTA3YmExLi5lMjI0NmRj
IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKKysrIGIvbGliL3VrbmV0ZGV2L25l
dGRldi5jCkBAIC03OCw2ICs3OCw3IEBAIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVj
dCB1a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAogCVVLX0FTU0VSVChkZXYtPm9w
cy0+dHhxX2luZm9fZ2V0KTsKIAlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25maWd1cmUpOwog
CVVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+cHJvbWlz
Y3VvdXNfZ2V0KTsKIAogCWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQs
ICBkcnZfbmFtZSk7CiAJaWYgKCFkZXYtPl9kYXRhKQpAQCAtNDQ5LDMgKzQ1MCwzNyBAQCBjb25z
dCBzdHJ1Y3QgdWtfaHdhZGRyICp1a19uZXRkZXZfaHdhZGRyX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpCiAKIAlyZXR1cm4gZGV2LT5vcHMtPmh3YWRkcl9nZXQoZGV2KTsKIH0KKwordW5zaWdu
ZWQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCit7CisJ
VUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKGRldi0+X2RhdGEpOworCVVLX0FTU0VSVChkZXYt
Pm9wcyk7CisJVUtfQVNTRVJUKGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQpOworCisJLyogV2Ug
ZG8gc3VwcG9ydCByZXRyaWV2aW5nIG9mIHByb21pc2N1b3VzIG1vZGUKKwkgKiBvbmx5IHdoZW4g
ZGV2aWNlIHdhcyBjb25maWd1cmVkCisJICovCisJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRl
ID09IFVLX05FVERFVl9DT05GSUdVUkVEIHx8CisJCSAgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtf
TkVUREVWX1JVTk5JTkcpOworCisJcmV0dXJuIGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQoZGV2
KTsKK30KKworaW50IHVrX25ldGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LCB1bnNpZ25lZCBtb2RlKQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYt
Pl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5vcHMpOworCisJLyogV2UgZG8gc3VwcG9ydCBzZXR0
aW5nIG9mIHByb21pc2N1b3VzIG1vZGUKKwkgKiBvbmx5IHdoZW4gZGV2aWNlIHdhcyBjb25maWd1
cmVkCisJICovCisJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9DT05G
SUdVUkVECisJCSAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwor
CisJaWYgKHVubGlrZWx5KCFkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KSkKKwkJcmV0dXJuIC1F
Tk9UU1VQOworCisJcmV0dXJuIGRldi0+b3BzLT5wcm9taXNjdW91c19zZXQoZGV2LCBtb2RlID8g
MSA6IDApOworfQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:41 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKj-0004jx-5d; Fri, 19 Oct 2018 09:44:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKh-0004js-Fn
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:39 +0000
X-Inumbo-ID: cb6b60c6-d383-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id cb6b60c6-d383-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 09:46:04 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 16CAAF2014;
 Fri, 19 Oct 2018 11:44:38 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 8xj9D9g2cVcu; Fri, 19 Oct 2018 11:44:37 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CD5DAF2010;
 Fri, 19 Oct 2018 11:44:33 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:23 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:44 +0200
Message-ID: <1539942225-24325-11-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 10/11] lib/uknetdev: MTU
 interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpBZGQg
aW50ZXJmYWNlcyB0byBxdWVyeSBhbmQgc2V0IHRoZSBtYXhpbXVtIHRyYW5zbWlzc2lvbiB1bml0
IChNVFUpCmZvciBhIG5ldGRldi4gVGhlIGdldHRlciBpcyBhIG1hbmRhdG9yeSBpbnRlcmZhY2Ug
dG8gaW1wbGVtZW50IGJ5CmRyaXZlcnMuCgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxz
aW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxy
YXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Ci0tLQogbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMu
dWsgICAgICAgICAgICB8ICAyICsrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAg
ICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91
ay9uZXRkZXZfY29yZS5oIHwgMTAgKysrKysrKysrKwogbGliL3VrbmV0ZGV2L25ldGRldi5jICAg
ICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA0
IGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCmluZGV4IGIwNzc1
Y2IuLmY0YWNkYjIgMTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCisrKyBi
L2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCkBAIC0yNSwzICsyNSw1IEBAIHVrX25ldGRldl9o
d2FkZHJfc2V0CiB1a19uZXRkZXZfaHdhZGRyX2dldAogdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dl
dAogdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldAordWtfbmV0ZGV2X210dV9nZXQKK3VrX25ldGRl
dl9tdHVfc2V0CmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCmluZGV4IGI2MTgxNDAuLmE5OGNmNGMg
MTAwNjQ0Ci0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCisrKyBiL2xpYi91
a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCkBAIC0zMzUsNiArMzM1LDMwIEBAIHVuc2lnbmVk
IHVrX25ldGRldl9wcm9taXNjdW91c19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKICAqLwog
aW50IHVrX25ldGRldl9wcm9taXNjdW91c19zZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1bnNp
Z25lZCBtb2RlKTsKIAorLyoqCisgKiBSZXR1cm5zIHRoZSBjdXJyZW50IE1UVSBvZiBhbiBVbmlr
cmFmdCBuZXR3b3JrIGRldmljZS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRoZSBVbmlrcmFm
dCBOZXR3b3JrIERldmljZS4KKyAqIEByZXR1cm4KKyAqICAgLSBNVFUgb2YgdGhlIHVrX25ldGRl
dgorICovCit1aW50MTZfdCB1a19uZXRkZXZfbXR1X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYp
OworCisvKioKKyAqIENoYW5nZSB0aGUgTVRVIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNl
LgorICoKKyAqIEBwYXJhbSBkZXYKKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgor
ICogQHBhcmFtIG10dQorICogICBBIHVpbnQxNl90IGZvciB0aGUgTVRVIHRvIGJlIGFwcGxpZWQu
CisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBpZiBzdWNjZXNzZnVsLgorICogICAtICgtRU5PVFNV
UCk6IGlmIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorICogICAtICg8MCk6IG9uIGVycm9y
IHJldHVybmVkIGJ5IGRyaXZlcgorICovCitpbnQgdWtfbmV0ZGV2X210dV9zZXQoc3RydWN0IHVr
X25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKaW5kZXggNDE3NDg2Mi4uZTBj
ZTQ4YSAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAor
KysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCkBAIC0yNDgsNiArMjQ4
LDEyIEBAIHR5cGVkZWYgdW5zaWduZWQgKCp1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0X3QpKHN0
cnVjdCB1a19uZXRkZXYgKmRldik7CiB0eXBlZGVmIGludCAoKnVrX25ldGRldl9wcm9taXNjdW91
c19zZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCQkJCQkgICB1bnNpZ25lZCBtb2RlKTsK
IAorLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGdldCB0aGUgTVRVLiAqLwordHlwZWRlZiB1
aW50MTZfdCAoKnVrX25ldGRldl9tdHVfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7CisK
Ky8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzZXQgdGhlIE1UVSAqLwordHlwZWRlZiBpbnQg
KCp1a19uZXRkZXZfbXR1X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IG10
dSk7CisKIC8qKgogICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgZnVuY3Rpb25zIGV4cG9y
dGVkIGJ5IGEgZHJpdmVyLgogICovCkBAIC0yNTYsNiArMjYyLDEwIEBAIHN0cnVjdCB1a19uZXRk
ZXZfb3BzIHsKIAl1a19uZXRkZXZfaHdhZGRyX2dldF90ICAgICAgICAgIGh3YWRkcl9nZXQ7ICAg
ICAgIC8qIHJlY29tbWVuZGVkICovCiAJdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdCAgICAgICAgICBo
d2FkZHJfc2V0OyAgICAgICAvKiBvcHRpb25hbCAqLwogCisJLyoqIFNldC9HZXQgTVRVLiAqLwor
CXVrX25ldGRldl9tdHVfZ2V0X3QgICAgICAgICAgICAgbXR1X2dldDsKKwl1a19uZXRkZXZfbXR1
X3NldF90ICAgICAgICAgICAgIG10dV9zZXQ7ICAgICAgICAgIC8qIG9wdGlvbmFsICovCisKIAkv
KiogUHJvbWlzY3VvdXMgbW9kZS4gKi8KIAl1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0X3QgICAg
IHByb21pc2N1b3VzX3NldDsgIC8qIG9wdGlvbmFsICovCiAJdWtfbmV0ZGV2X3Byb21pc2N1b3Vz
X2dldF90ICAgICBwcm9taXNjdW91c19nZXQ7CmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0
ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKaW5kZXggZTIyNDZkYy4uOWRjZmQxNSAxMDA2
NDQKLS0tIGEvbGliL3VrbmV0ZGV2L25ldGRldi5jCisrKyBiL2xpYi91a25ldGRldi9uZXRkZXYu
YwpAQCAtNzksNiArNzksNyBAQCBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKIAlVS19BU1NFUlQoZGV2LT5vcHMtPnR4
cV9jb25maWd1cmUpOwogCVVLX0FTU0VSVChkZXYtPm9wcy0+c3RhcnQpOwogCVVLX0FTU0VSVChk
ZXYtPm9wcy0+cHJvbWlzY3VvdXNfZ2V0KTsKKwlVS19BU1NFUlQoZGV2LT5vcHMtPm10dV9nZXQp
OwogCiAJZGV2LT5fZGF0YSA9IF9hbGxvY19kYXRhKGEsIG5ldGRldl9jb3VudCwgIGRydl9uYW1l
KTsKIAlpZiAoIWRldi0+X2RhdGEpCkBAIC00ODQsMyArNDg1LDM3IEBAIGludCB1a19uZXRkZXZf
cHJvbWlzY3VvdXNfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdW5zaWduZWQgbW9kZSkKIAog
CXJldHVybiBkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9kZSA/IDEgOiAwKTsKIH0K
KwordWludDE2X3QgdWtfbmV0ZGV2X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KQorewor
CVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2
LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPm9wcy0+bXR1X2dldCk7CisKKwkvKiBXZSBkbyBzdXBw
b3J0IGdldHRpbmcgb2YgTVRVCisJICogb25seSB3aGVuIGRldmljZSB3YXMgY29uZmlndXJlZAor
CSAqLworCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfQ09ORklHVVJF
RAorCQkgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKKworCXJl
dHVybiBkZXYtPm9wcy0+bXR1X2dldChkZXYpOworfQorCitpbnQgdWtfbmV0ZGV2X210dV9zZXQo
c3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpCit7CisJVUtfQVNTRVJUKGRldik7
CisJVUtfQVNTRVJUKGRldi0+X2RhdGEpOworCVVLX0FTU0VSVChkZXYtPm9wcyk7CisKKwkvKiBX
ZSBkbyBzdXBwb3J0IHNldHRpbmcgb2YgTVRVCisJICogb25seSB3aGVuIGRldmljZSB3YXMgY29u
ZmlndXJlZAorCSAqLworCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZf
Q09ORklHVVJFRAorCQkgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5H
KTsKKworCWlmIChkZXYtPm9wcy0+bXR1X3NldCA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT1RTVVA7
CisKKwlyZXR1cm4gZGV2LT5vcHMtPm10dV9zZXQoZGV2LCBtdHUpOworfQotLSAKMi43LjQKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 09:44:46 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 09:44:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDRKo-0004kZ-7h; Fri, 19 Oct 2018 09:44:46 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDRKm-0004kO-RD
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 09:44:44 +0000
X-Inumbo-ID: 368fa80c-d383-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 368fa80c-d383-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 11:41:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 7488D104A42;
 Fri, 19 Oct 2018 11:44:42 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Y8kWE-CWbzvY; Fri, 19 Oct 2018 11:44:42 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 49AEC104A31;
 Fri, 19 Oct 2018 11:44:38 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 11:44:37 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 11:43:45 +0200
Message-ID: <1539942225-24325-12-git-send-email-simon.kuenzer@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.105]
Subject: [Minios-devel] [UNIKRAFT PATCH v5 11/11] lib/uknetdev: Packet
 reception and transmission interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>,
 Razvan Cojocaru <razvan.cojocaru93@gmail.com>, sharan.santhanam@neclab.eu
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+CgpJbnRy
b2R1Y2UgaW50ZXJmYWNlcyBmb3Igc2luZ2xlIHBhY2tldCB0cmFuc21pc3Npb24gYW5kCnJlY2Vw
dGlvbi4gQm90aCBpbnRlcmZhY2VzIGFyZSBkZXNpZ25lZCB0byBzdXBwb3J0IGFzeW5jaHJvbm91
cwp6ZXJvLWNvcHkgb3BlcmF0aW9uIHdpdGggbmV0YnVmcy4gUmVjZWl2aW5nIGNhbiBiZSBkb25l
IHdpdGgKaW50ZXJydXB0cyBvciB3aXRoIHBvbGxpbmcuIFRyYW5zbWlzc2lvbiBzdXBwb3J0cyBv
bmx5IHBvbGxpbmcgbW9kZQpmb3Igbm93LgoKU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8
c2ltb24ua3VlbnplckBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8
cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgotLS0KIGxpYi91a25ldGRldi9leHBvcnRzeW1z
LnVrICAgICAgICAgICAgICB8ICAgMiArCiBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aCAgICAgICAgfCAxNTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggICB8ICAzNiArKysrKysrLQogbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oIHwgIDI4ICsrKysrKwogbGliL3VrbmV0ZGV2
L25ldGRldi5jICAgICAgICAgICAgICAgICAgIHwgICA1ICsrCiA1IGZpbGVzIGNoYW5nZWQsIDIy
MyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKaW5kZXggZjRhY2Ri
Mi4uN2VjMWY3ZSAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKKysrIGIv
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKQEAgLTI3LDMgKzI3LDUgQEAgdWtfbmV0ZGV2X3By
b21pc2N1b3VzX2dldAogdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldAogdWtfbmV0ZGV2X210dV9n
ZXQKIHVrX25ldGRldl9tdHVfc2V0Cit1a19uZXRkZXZfcnhxX2ludHJfZW5hYmxlCit1a19uZXRk
ZXZfcnhxX2ludHJfZGlzYWJsZQpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsv
bmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAppbmRleCBhOThjZjRj
Li5mMGZhNzY5IDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAor
KysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaApAQCAtMzU5LDYgKzM1OSwxNjAg
QEAgdWludDE2X3QgdWtfbmV0ZGV2X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKICAq
LwogaW50IHVrX25ldGRldl9tdHVfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3Qg
bXR1KTsKIAorLyoqCisgKiBFbmFibGUgaW50ZXJydXB0cyBmb3IgYW4gUlggcXVldWUuCisgKgor
ICogQHBhcmFtIGRldgorICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gcnVubmlu
ZyBzdGF0ZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICogICBUaGUgaW5kZXggb2YgdGhlIHJlY2Vp
dmUgcXVldWUgdG8gc2V0IHVwLgorICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2Ug
WzAsIG5iX3J4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBwbGllZAorICogICB0byB1a19uZXRk
ZXZfY29uZmlndXJlKCkuCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBTdWNjZXNzLCBpbnRlcnJ1
cHRzIGVuYWJsZWQuCisgKiAgIC0gKDEpOiBNb3JlIHBhY2tldHMgYXJlIGxlZnQgb24gdGhlIHF1
ZXVlLCBpbnRlcnJ1cHRzIGFyZSBOT1QgZW5hYmxlZCB5ZXQuCisgKiAgICAgICAgICBJbnRlcnJ1
cHRzIHdpbGwgYmUgYXV0b21hdGljYWxseSBlbmFibGVkIHdoZW4gYWxsIHJlY2VpdmVkIHBhY2tl
dHMKKyAqICAgICAgICAgIG9uIHRoZSBxdWV1ZSBhcmUgY29uc3VtZWQgYW5kIHRoZSByZWNlaXZl
IHF1ZXVlIGlzIGVtcHR5LgorICogICAtICgtRU5PVFNVUCk6IERyaXZlciBkb2VzIG5vdCBzdXBw
b3J0IGludGVycnVwdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IHVrX25ldGRldl9yeHFfaW50
cl9lbmFibGUoc3RydWN0IHVrX25ldGRldiAqZGV2LAorCQkJCQkgICAgdWludDE2X3QgcXVldWVf
aWQpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtfQVNTRVJUKGRldi0+b3BzKTsKKwlVS19BU1NF
UlQoZGV2LT5fZGF0YSk7CisJVUtfQVNTRVJUKGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERF
Vl9SVU5OSU5HKTsKKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFY
TkJRVUVVRVMpOworCVVLX0FTU0VSVCghUFRSSVNFUlIoZGV2LT5fcnhfcXVldWVbcXVldWVfaWRd
KSk7CisKKwlpZiAodW5saWtlbHkoIWRldi0+b3BzLT5yeHFfaW50cl9lbmFibGUpKQorCQlyZXR1
cm4gLUVOT1RTVVA7CisJcmV0dXJuIGRldi0+b3BzLT5yeHFfaW50cl9lbmFibGUoZGV2LCBkZXYt
Pl9yeF9xdWV1ZVtxdWV1ZV9pZF0pOworfQorCisvKioKKyAqIERpc2FibGUgaW50ZXJydXB0cyBm
b3IgYW4gUlggcXVldWUuCisgKgorICogQHBhcmFtIGRldgorICogICBUaGUgVW5pa3JhZnQgTmV0
d29yayBEZXZpY2UgaW4gcnVubmluZyBzdGF0ZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICogICBU
aGUgaW5kZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gc2V0IHVwLgorICogICBUaGUgdmFsdWUg
bXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3R4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBw
bGllZAorICogICB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCisgKiBAcmV0dXJuCisgKiAgIC0g
KDApOiBTdWNjZXNzLCBpbnRlcnJ1cHRzIGRpc2FibGVkLgorICogICAtICgtRU5PVFNVUCk6IERy
aXZlciBkb2VzIG5vdCBzdXBwb3J0IGludGVycnVwdHMuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50
IHVrX25ldGRldl9yeHFfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkJ
ICAgICB1aW50MTZfdCBxdWV1ZV9pZCkKK3sKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQo
ZGV2LT5vcHMpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQoZGV2LT5fZGF0
YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOworCVVLX0FTU0VSVChxdWV1ZV9pZCA8IENP
TkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7CisJVUtfQVNTRVJUKCFQVFJJU0VSUihkZXYt
Pl9yeF9xdWV1ZVtxdWV1ZV9pZF0pKTsKKworCWlmICh1bmxpa2VseSghZGV2LT5vcHMtPnJ4cV9p
bnRyX2Rpc2FibGUpKQorCQlyZXR1cm4gLUVOT1RTVVA7CisJcmV0dXJuIGRldi0+b3BzLT5yeHFf
aW50cl9kaXNhYmxlKGRldiwgZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdKTsKK30KKworLyoqCisg
KiBSZWNlaXZlIG9uZSBwYWNrZXQgYW5kIHJlLXByb2dyYW0gdXNlZCByZWNlaXZlIGRlc2NyaXB0
b3IKKyAqIFBsZWFzZSBub3RlIHRoYXQgYmVmb3JlIGFueSBwYWNrZXQgY2FuIGJlIHJlY2VpdmVk
LCB0aGUgcmVjZWl2ZSBxdWV1ZQorICogaGFzIHRvIGJlIGZpbGxlZCB1cCB3aXRoIGVtcHR5IG5l
dGJ1ZnMgKHNlZSBmaWxsdXAgcGFyYW1ldGVyKS4KKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFRo
ZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICogICBUaGUg
aW5kZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gcmVjZWl2ZSBmcm9tLgorICogICBUaGUgdmFs
dWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBz
dXBwbGllZAorICogICB0byB1a19uZXRkZXZfY29uZmlndXJlKCkuCisgKiBAcGFyYW0gcGt0Cisg
KiAgIFJlZmVyZW5jZSB0byBuZXRidWYgcG9pbnRlciB3aGljaCB3aWxsIGJlIHBvaW50IHRvIHRo
ZSByZWNlaXZlZCBwYWNrZXQKKyAqICAgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuIENhbiBiZSBO
VUxMIGlmIGZ1bmN0aW9uIGlzIHVzZWQgdG8gcHJvZ3JhbQorICogICByZWNlaXZlIGRlc2NyaXB0
b3JzIG9ubHkuCisgKiBAcGFyYW0gZmlsbHVwCisgKiAgIEFycmF5IG9mIG5ldGJ1ZnMgdGhhdCBz
aG91bGQgYmUgdXNlZCB0byBwcm9ncmFtIHVzZWQgZGVzY3JpcHRvcnMgYWdhaW4uCisgKiAgIEVh
Y2ggb2YgdGhlIG5ldGJ1ZiBzaG91bGQgYmUgZnJlc2hseSBhbGxvY2F0ZWQvaW5pdGlhbGl6ZWQg
YW5kIG5vdCBwYXJ0CisgKiAgIG9mIGFueSBjaGFpbi4KKyAqICAgYGZpbGx1cGAgY2FuIGJlIGBO
VUxMYCBidXQgd2l0aG91dCByZS1wcm9ncmFtbWluZyBvZiB1c2VkIGRlc2NyaXB0b3JzIG5vCisg
KiAgIG5ldyBwYWNrZXRzIGNhbiBiZSByZWNlaXZlZCBhdCBzb21lIHBvaW50LgorICogQHBhcmFt
IGZpbGx1cF9jb3VudAorICogICBMZW5ndGggb2YgYGZpbGx1cGAgYXJyYXkuIEFmdGVyIHRoZSBm
dW5jdGlvbiBjYWxsLCBgZmlsbHVwX2NvdW50YCByZXR1cm5zCisgKiAgIHRoZSBudW1iZXIgb2Yg
bGVmdCBhbmQgdW51c2VkIG5ldGJ1ZnMgb24gdGhlIGFycmF5LiBgZmlsbHVwX2NvdW50YCBoYXMg
dG8KKyAqICAgdG8gMCBpZiBgZmlsbHVwYCBpcyBgTlVMTGAuCisgKiBAcmV0dXJuCisgKiAgIC0g
KDApOiBObyBwYWNrZXQgYXZhaWxhYmxlIG9yIGBwa3RgIHdhcyBzZXQgdG8gTlVMTCwKKyAqICAg
ICAgICAgIGNoZWNrIGBmaWxsdXBfY291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKKyAq
ICAgLSAoMSk6IGBwa3RgIHBvaW50cyB0byByZWNlaXZlZCBuZXRidWYsCisgKiAgICAgICAgICBj
aGVjayBgZmlsbHVwX2NvdW50YCBmb3IgdXNlZCBgZmlsbHVwYCBuZXRidWZzCisgKiAgIC0gKDIp
OiBgcGt0YCBwb2ludHMgdG8gcmVjZWl2ZWQgbmV0YnVmIGJ1dCBtb3JlIHJlY2VpdmVkIHBhY2tl
dHMgYXJlCisgKiAgICAgICAgICBhdmFpbGFibGUgb24gdGhlIHJlY2VpdmUgcXVldWUuIFdoZW4g
aW50ZXJydXB0cyBhcmUgdXNlZCwgdGhleSBhcmUKKyAqICAgICAgICAgIGRpc2FibGVkIHVudGls
IDEgaXMgcmV0dXJuZWQgb24gc3Vic2VxdWVudCBjYWxscywKKyAqICAgICAgICAgIGNoZWNrIGBm
aWxsdXBfY291bnRgIGZvciB1c2VkIGBmaWxsdXBgIG5ldGJ1ZnMKKyAqICAgLSAoPDApOiBFcnJv
ciBjb2RlIGZyb20gZHJpdmVyCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IHVrX25ldGRldl9yeF9v
bmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKKwkJCQkgICBzdHJ1
Y3QgdWtfbmV0YnVmICoqcGt0LAorCQkJCSAgIHN0cnVjdCB1a19uZXRidWYgKmZpbGx1cFtdLAor
CQkJCSAgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKGRldi0+cnhfb25lKTsKKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtO
RVRERVZfTUFYTkJRVUVVRVMpOworCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19O
RVRERVZfUlVOTklORyk7CisJVUtfQVNTRVJUKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1
ZV9pZF0pKTsKKwlVS19BU1NFUlQoKCFmaWxsdXAgJiYgZmlsbHVwX2NvdW50KSB8fCBmaWxsdXAp
OworCisJcmV0dXJuIGRldi0+cnhfb25lKGRldiwgZGV2LT5fcnhfcXVldWVbcXVldWVfaWRdLCBw
a3QsCisJCQkgICBmaWxsdXAsIGZpbGx1cF9jb3VudCk7Cit9CisKKy8qKgorICogU2hvcnRjdXQg
Zm9yIG9ubHkgZmlsbGluZyB1cCBhIHJlY2VpdmUgcXVldWUgd2l0aCBlbXB0eSBuZXRidWZzCisg
Ki8KKyNkZWZpbmUgdWtfbmV0ZGV2X3J4X2ZpbGx1cChkZXYsIHF1ZXVlX2lkLCBmaWxsdXAsIGZp
bGx1cF9jb3VudCkJXAorCXVrX25ldGRldl9yeF9vbmUoKGRldiksIChxdWV1ZV9pZCksIE5VTEws
IChmaWxsdXApLCAoZmlsbHVwX2NvdW50KSkKKworLyoqCisgKiBUcmFuc21pdCBvbmUgcGFja2V0
CisgKgorICogQHBhcmFtIGRldgorICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCisg
KiBAcGFyYW0gcXVldWVfaWQKKyAqICAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRv
IHJlY2VpdmUgZnJvbS4KKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBu
Yl90eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKKyAqICAgdG8gdWtfbmV0ZGV2X2Nv
bmZpZ3VyZSgpLgorICogQHBhcmFtIHBrdAorICogICBSZWZlcmVuY2UgdG8gbmV0YnVmIHRvIHNl
bnQuIFBhY2tldCBpcyBmcmVlJ2QgYnkgdGhlIGRyaXZlciBhZnRlciBzZW5kaW5nCisgKiAgIHdh
cyBzdWNjZXNzZnVsbHkgZmluaXNoZWQgYnkgdGhlIGRldmljZS4KKyAqICAgUGxlYXNlIG5vdGUg
dGhhdCBzb21lIGRyaXZlcnMgbWF5IHJlcXVpcmUgYXZhaWxhYmxlIGhlYWRyb29tIG9uIHRoZSBu
ZXRidWYKKyAqICAgZm9yIGRvaW5nIGEgdHJhbnNtaXNzaW9uIC0gaW5zcGVjdCBgbmJfZW5jYXBg
IHdpdGggdWtfbmV0ZGV2X2luZm9fZ2V0KCkuCisgKiAgIGBwa3RgIGhhcyBuZXZlciB0byBiZSBg
TlVMTGAuCisgKiBAcmV0dXJuCisgKiAgIC0gKDApOiBObyBzcGFjZSBsZWZ0IG9uIHRyYW5zbWl0
IHF1ZXVlLCBgcGt0YCBpcyBub3Qgc2VudAorICogICAtICgxKTogYHBrdGAgd2FzIHN1Y2Nlc3Nm
dWxseSBwdXQgdG8gdGhlIHRyYW5zbWl0IHF1ZXVlLAorICogICAgICAgICAgcXVldWUgaXMgY3Vy
cmVudGx5IGZ1bGwKKyAqICAgLSAoMik6IGBwa3RgIHdhcyBzdWNjZXNzZnVsbHkgcHV0IHRvIHRo
ZSB0cmFuc21pdCBxdWV1ZSwKKyAqICAgICAgICAgIHRoZXJlIGlzIHN0aWxsIGF0IGxlYXN0IG9u
ZSBkZXNjcmlwdG9yIGF2YWlsYWJsZSBmb3IgYQorICogICAgICAgICAgc3Vic2VxdWVudCB0cmFu
c21pc3Npb24KKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIGZyb20gZHJpdmVyLCBgcGt0YCBpcyBu
b3Qgc2VudAorICovCitzdGF0aWMgaW5saW5lIGludCB1a19uZXRkZXZfdHhfb25lKHN0cnVjdCB1
a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCisJCQkJICAgc3RydWN0IHVrX25ldGJ1
ZiAqcGt0KQoreworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChkZXYtPnR4X29uZSk7CisJ
VUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKKwlV
S19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOworCVVLX0FT
U0VSVCghUFRSSVNFUlIoZGV2LT5fdHhfcXVldWVbcXVldWVfaWRdKSk7CisJVUtfQVNTRVJUKHBr
dCk7CisKKwlyZXR1cm4gZGV2LT50eF9vbmUoZGV2LCBkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0s
IHBrdCk7Cit9CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1
ZGUvdWsvbmV0ZGV2X2NvcmUuaAppbmRleCBlMGNlNDhhLi5iMTRhOWM5IDEwMDY0NAotLS0gYS9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCisrKyBiL2xpYi91a25ldGRldi9p
bmNsdWRlL3VrL25ldGRldl9jb3JlLmgKQEAgLTI1NCwxMCArMjU0LDM0IEBAIHR5cGVkZWYgdWlu
dDE2X3QgKCp1a19uZXRkZXZfbXR1X2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwogLyoq
IERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB0aGUgTVRVICovCiB0eXBlZGVmIGludCAoKnVr
X25ldGRldl9tdHVfc2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgbXR1KTsK
IAorLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGVuYWJsZSBpbnRlcnJ1cHRzIG9mIGEgUlgg
cXVldWUgKi8KK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3J4cV9pbnRyX2VuYWJsZV90KShzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkJCSAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1
ZXVlKTsKKworLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIGRpc2FibGUgaW50ZXJydXB0cyBv
ZiBhIFJYIHF1ZXVlICovCit0eXBlZGVmIGludCAoKnVrX25ldGRldl9yeHFfaW50cl9kaXNhYmxl
X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkJICAgIHN0cnVjdCB1a19uZXRkZXZfcnhf
cXVldWUgKnF1ZXVlKTsKKworLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIG9u
ZSBwYWNrZXQgZnJvbSBhIFJYIHF1ZXVlLiAqLwordHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhf
b25lX3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgIHN0cnVjdCB1a19uZXRkZXZfcnhf
cXVldWUgKnF1ZXVlLAorCQkJCSAgc3RydWN0IHVrX25ldGJ1ZiAqKnBrdCwKKwkJCQkgIHN0cnVj
dCB1a19uZXRidWYgKmZpbGx1cFtdLAorCQkJCSAgdWludDE2X3QgKmZpbGx1cF9jb3VudCk7CisK
Ky8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdWJtaXQgb25lIHBhY2tldCB0byBhIFRYIHF1
ZXVlLiAqLwordHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfdHhfb25lX3QpKHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwKKwkJCQkgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAorCQkJCSAg
c3RydWN0IHVrX25ldGJ1ZiAqcGt0KTsKKwogLyoqCiAgKiBBIHN0cnVjdHVyZSBjb250YWluaW5n
IHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCiAgKi8KIHN0cnVjdCB1a19uZXRk
ZXZfb3BzIHsKKwkvKiogUlggcXVldWUgaW50ZXJydXB0cy4gKi8KKwl1a19uZXRkZXZfcnhxX2lu
dHJfZW5hYmxlX3QgICAgIHJ4cV9pbnRyX2VuYWJsZTsgIC8qIG9wdGlvbmFsICovCisJdWtfbmV0
ZGV2X3J4cV9pbnRyX2Rpc2FibGVfdCAgICByeHFfaW50cl9kaXNhYmxlOyAvKiBvcHRpb25hbCAq
LworCiAJLyoqIFNldC9HZXQgaGFyZHdhcmUgYWRkcmVzcy4gKi8KIAl1a19uZXRkZXZfaHdhZGRy
X2dldF90ICAgICAgICAgIGh3YWRkcl9nZXQ7ICAgICAgIC8qIHJlY29tbWVuZGVkICovCiAJdWtf
bmV0ZGV2X2h3YWRkcl9zZXRfdCAgICAgICAgICBod2FkZHJfc2V0OyAgICAgICAvKiBvcHRpb25h
bCAqLwpAQCAtMzE5LDEwICszNDMsMTggQEAgc3RydWN0IHVrX25ldGRldl9kYXRhIHsKICAqIE5F
VERFVgogICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBpbnRlcmFjdCB3aXRoIGEgbmV0d29yayBkZXZp
Y2UuCiAgKgotICogRnVuY3Rpb24gY2FsbGJhY2tzIChvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRo
ZSBkcml2ZXIgYmVmb3JlCi0gKiByZWdpc3RlcmluZyB0aGUgbmV0ZGV2LiBUaGV5IGNoYW5nZSBk
dXJpbmcgZGV2aWNlIGxpZmUgdGltZS4KKyAqIEZ1bmN0aW9uIGNhbGxiYWNrcyAodHhfb25lLCBy
eF9vbmUsIG9wcykgYXJlIHJlZ2lzdGVyZWQgYnkgdGhlIGRyaXZlciBiZWZvcmUKKyAqIHJlZ2lz
dGVyaW5nIHRoZSBuZXRkZXYuIFRoZXkgY2hhbmdlIGR1cmluZyBkZXZpY2UgbGlmZSB0aW1lLiBQ
YWNrZXQgUlgvVFgKKyAqIGZ1bmN0aW9ucyBhcmUgYWRkZWQgZGlyZWN0bHkgdG8gdGhpcyBzdHJ1
Y3R1cmUgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuCisgKiBJdCBwcmV2ZW50cyBhbm90aGVyIGlu
ZGlyZWN0aW9uIHRvIG9wcy4KICAqLwogc3RydWN0IHVrX25ldGRldiB7CisJLyoqIFBhY2tldCB0
cmFuc21pc3Npb24uICovCisJdWtfbmV0ZGV2X3R4X29uZV90ICAgICAgICAgIHR4X29uZTsgLyog
YnkgZHJpdmVyICovCisKKwkvKiogUGFja2V0IHJlY2VwdGlvbi4gKi8KKwl1a19uZXRkZXZfcnhf
b25lX3QgICAgICAgICAgcnhfb25lOyAvKiBieSBkcml2ZXIgKi8KKwogCS8qKiBQb2ludGVyIHRv
IEFQSS1pbnRlcm5hbCBzdGF0ZSBkYXRhLiAqLwogCXN0cnVjdCB1a19uZXRkZXZfZGF0YSAgICAg
ICAqX2RhdGE7CiAKZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9k
cml2ZXIuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAppbmRleCAy
ZGNmYTA3Li42MDMzZjYyIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRk
ZXZfZHJpdmVyLmgKKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5o
CkBAIC02Nyw2ICs2NywzNCBAQCBleHRlcm4gIkMiIHsKIGludCB1a19uZXRkZXZfZHJ2X3JlZ2lz
dGVyKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgc3RydWN0IHVrX2FsbG9jICphLAogCQkJICAgY29u
c3QgY2hhciAqZHJ2X25hbWUpOwogCisvKioKKyAqIEZvcndhcmRzIGFuIFJYIHF1ZXVlIGV2ZW50
IHRvIHRoZSBBUEkgdXNlcgorICogQ2FuIChhbmQgc2hvdWxkKSBiZSBjYWxsZWQgZnJvbSBkZXZp
Y2UgaW50ZXJydXB0IGNvbnRleHQKKyAqCisgKiBAcGFyYW0gZGV2CisgKiAgIFVuaWtyYWZ0IG5l
dHdvcmsgZGV2aWNlIHRvIHdoaWNoIHRoZSBldmVudCByZWxhdGVzIHRvCisgKiBAcGFyYW0gcXVl
dWVfaWQKKyAqICAgcmVjZWl2ZSBxdWV1ZSBJRCB0byB3aGljaCB0aGUgZXZlbnQgcmVsYXRlcyB0
bworICovCitzdGF0aWMgaW5saW5lIHZvaWQgdWtfbmV0ZGV2X2Rydl9yeF9ldmVudChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCisJCQkJCSAgdWludDE2X3QgcXVldWVfaWQpCit7CisJc3RydWN0IHVr
X25ldGRldl9ldmVudF9oYW5kbGVyICpyeHFfaGFuZGxlcjsKKworCVVLX0FTU0VSVChkZXYpOwor
CVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElC
VUtORVRERVZfTUFYTkJRVUVVRVMpOworCisJcnhxX2hhbmRsZXIgPSAmZGV2LT5fZGF0YS0+cnhx
X2hhbmRsZXJbcXVldWVfaWRdOworCisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWX0RJU1BBVENI
RVJUSFJFQURTCisJdWtfc2VtYXBob3JlX3VwKCZyeHFfaGFuZGxlci0+ZXZlbnRzKTsKKyNlbHNl
CisJaWYgKHJ4cV9oYW5kbGVyLT5jYWxsYmFjaykKKwkJcnhxX2hhbmRsZXItPmNhbGxiYWNrKGRl
diwgcXVldWVfaWQsIHJ4cV9oYW5kbGVyLT5jb29raWUpOworI2VuZGlmCit9CisKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMg
Yi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKaW5kZXggOWRjZmQxNS4uYjBlMzkwZSAxMDA2NDQKLS0t
IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jCisrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwpAQCAt
ODAsNiArODAsMTEgQEAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVrX25ldGRl
diAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCiAJVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFydCk7
CiAJVUtfQVNTRVJUKGRldi0+b3BzLT5wcm9taXNjdW91c19nZXQpOwogCVVLX0FTU0VSVChkZXYt
Pm9wcy0+bXR1X2dldCk7CisJVUtfQVNTRVJUKChkZXYtPm9wcy0+cnhxX2ludHJfZW5hYmxlICYm
IGRldi0+b3BzLT5yeHFfaW50cl9kaXNhYmxlKQorCQkgIHx8ICghZGV2LT5vcHMtPnJ4cV9pbnRy
X2VuYWJsZQorCQkgICAgICAmJiAhZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2FibGUpKTsKKwlVS19B
U1NFUlQoZGV2LT5yeF9vbmUpOworCVVLX0FTU0VSVChkZXYtPnR4X29uZSk7CiAKIAlkZXYtPl9k
YXRhID0gX2FsbG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LCAgZHJ2X25hbWUpOwogCWlmICghZGV2
LT5fZGF0YSkKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMu
eGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3Rp
bmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:28 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUUw-0004M1-9v; Fri, 19 Oct 2018 13:07:26 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUUv-0004Lw-LW
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:25 +0000
X-Inumbo-ID: 1e2da770-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 1e2da770-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:08:49 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 81A8A104A1A;
 Fri, 19 Oct 2018 15:07:22 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id pDl9Adsxb3tA; Fri, 19 Oct 2018 15:07:22 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 5D7E31048F7
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:20 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:20 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:43 +0200
Message-ID: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 0/7] plat/drivers: Improve virtio
 support in Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlcyB0aGUgYmFzaWMgYnVpbGRpbmcgYmxvY2tzIGZvciB0aGUgd29ya2luZyB3aXRo
IHZpcnRpbyBkZXZpY2VzIGluIApVbmlrcmFmdC4gV2UgaW50cm9kdWNlIGEgdmlydGlvIGJ1cyB0
byBicmlkZ2UgdGhlIHZpcnRpbyBkZXZpY2Ugd2l0aCB0aGUgdmlydGlvCmRldmljZSBkcml2ZXIu
IFdlIGludHJvZHVjZXMgYSB2aXJ0aW8gUENJIGRyaXZlciBpbXBsZW1lbnRhdGlvbiB0byBzY2Fu
IHRoZSB2aXJ0aW8gCmRldmljZSBvbiB0aGUgUENJIGJ1cy4gVGhlIHZpcnRpbyBQQ0kgZHJpdmVy
IG9wZXJhdGVzIGluIGxlZ2FjeSBtb2RlLgoKVGhpcyBwYXRjaCBhbHNvIGludHJvZHVjZXMgYSB2
aXJ0cXVldWUgYWJzdHJhY3Rpb24gdG8gaW50ZXJhY3Qgd2l0aCB0aGUgdmlydGlvCnJpbmcuIFRo
ZSB2aXJ0cXVldWUgbGF5ZXIgc3VwcG9ydHMgY3JlYXRpb24gYW5kIGRlbGV0aW9uIG9wZXJhdGlv
bnMgb24gdGhlIAp2aXJ0cXVldWUsIGVucXVldWluZyBhbmQgZGVxdWV1aW5nIGRlc2NyaXB0b3Ig
aW50byB0aGUgdmlydGlvIHJpbmcgYXMgd2VsbCBhcyAKc3VwcG9ydCBoYW5kbGluZyBpbnRlcnJ1
cHRzIG9uIHRoZSB2aXJ0aW8gcmluZy4KClNoYXJhbiBTYW50aGFuYW0gKDcpOgogIHBsYXQvZHJp
dmVyOiBSZW1vdmUgdGhlIHZpcnRpby1yaW5nIGltcGxlbWVudGF0aW9uCiAgcGxhdC9jb21tb246
IEludHJvZHVjZSB2aXJ0aW8gc3RhbmRhcmQgaGVhZGVyCiAgcGxhdC9kcml2ZXJzOiBJbnRyb2R1
Y2UgdGhlIHZpcnRpbyBidXMKICBwbGF0L2RyaXZlcnM6IEludHJvZHVjZSB2aXJ0aW8gUENJIGRl
dmljZQogIHBsYXQvZHJpdmVyczogUmVpbnRyb2R1Y2UgdGhlIHZpcnRpbyByaW5nCiAgcGxhdC9k
cml2ZXJzOiBJbnRlcnJ1cHQgaGFuZGxpbmcgZm9yIHZpcnRpby1yaW5nCiAgcGxhdC9kcml2ZXJz
OiBBZGQgJiBSZW1vdmUgYnVmZmVyIGZyb20gdmlydGlvLXJpbmcKCiBwbGF0L2NvbW1vbi9pbmNs
dWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oICB8ICA2NiAtLS0tCiBwbGF0L2NvbW1vbi9pbmNs
dWRlL3BjaS92aXJ0aW8vdmlydGlvX3JpbmcuaCB8IDI3NiAtLS0tLS0tLS0tLS0tLS0KIHBsYXQv
ZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaCAgICAgICAgIHwgMzI3ICsrKysrKysrKysr
KysrKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaCAgfCAy
NTkgKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9faWRz
LmggICAgIHwgIDY0ICsrKysKIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fcGNp
LmggICAgIHwgIDcwICsrKysKIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fcmlu
Zy5oICAgIHwgMTk2ICsrKysrKysrKysrCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dGlvX3R5cGVzLmggICB8ICA2MiArKysrCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dHF1ZXVlLmggICAgICB8IDIzNyArKysrKysrKysrKysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19idXMuYyAgICAgICAgICAgICB8IDIxMSArKysrKysrKysrKysKIHBsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3BjaS5jICAgICAgICAgICAgIHwgNDMzICsrKysrKysrKysrKysrKysrKysr
KysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgICAgICAgICAgICB8IDQ5NiAr
KysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgIDI0ICstCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAg
ICAgICAgICAgICAgICB8ICAxNyArLQogMTQgZmlsZXMgY2hhbmdlZCwgMjI2NSBpbnNlcnRpb25z
KCspLCA0NzMgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24vaW5j
bHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2kuaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29t
bW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9faWRzLmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3BjaS5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19yaW5nLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5
cGVzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dHF1ZXVlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19i
dXMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5j
CgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:30 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV0-0004MV-Bh; Fri, 19 Oct 2018 13:07:30 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUUz-0004MI-JD
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:29 +0000
X-Inumbo-ID: 87d0dfff-d39f-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 87d0dfff-d39f-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 15:04:37 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id C8867F2057;
 Fri, 19 Oct 2018 15:07:24 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id S79UqmSryWJX; Fri, 19 Oct 2018 15:07:24 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 982ADF2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:22 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:22 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:44 +0200
Message-ID: <1539954410-4800-2-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 1/7] plat/driver: Remove the
 virtio-ring implementation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXMgYSBwYXJ0IG9mIHJldmFtcGluZyB0aGUgdmlydGlvIGxheWVyLCB3ZSBhcmUgcmVtb3Zpbmcg
dGhlIGV4aXN0aW5nCmltcGxlbWVudGF0aW9uIG9mIHZpcnRpbyByaW5nIGRyaXZlci4gVGhlIHZp
cnRpbyByaW5nIGRyaXZlciBhZGFwdGVkIHRvCnRoZSBuZXcgdmlydGlvIEFQSSB3aWxsIHJlaW50
cm9kdWNlZCBsYXRlciBpbiB0aGlzIHBhdGNoIHNlcmllcwoKU2lnbmVkLW9mZi1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Ci0tLQogcGxhdC9jb21tb24v
aW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5nLmggfCAyNzYgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgICAgICAgICAgICB8
IDE3MiAtLS0tLS0tLS0tLS0tLS0tLQogcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCAgIDggLQogcGxhdC9rdm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgIDcgLQogNCBmaWxlcyBjaGFuZ2VkLCA0NjMgZGVsZXRpb25zKC0pCiBkZWxl
dGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5n
LmgKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMK
CmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3Jpbmcu
aCBiL3BsYXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmEwMDZmLi4wMDAwMDAwCi0tLSBhL3BsYXQvY29tbW9u
L2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oCisrKyAvZGV2L251bGwKQEAgLTEsMjc2
ICswLDAgQEAKLS8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KLS8q
Ci0gKiBBdXRob3JzOiBDb3N0aW4gTHVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgotICoKLSAq
IENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBv
ZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogICAgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQotICogTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQotICogUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKgotICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNU
RUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KLSAqLwotLyogQW4gaW50ZXJmYWNlIGZvciBlZmZp
Y2llbnQgdmlydGlvIGltcGxlbWVudGF0aW9uLgotICoKLSAqIFRoaXMgaGVhZGVyIGlzIEJTRCBs
aWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMKLSAqIHRvIGltcGxlbWVu
dCBjb21wYXRpYmxlIGRyaXZlcnMvc2VydmVycy4KLSAqCi0gKiBDb3B5cmlnaHQgMjAwNywgMjAw
OSwgSUJNIENvcnBvcmF0aW9uCi0gKiBDb3B5cmlnaHQgMjAxMSwgUmVkIEhhdCwgSW5jCi0gKiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBJ
Qk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCi0gKiAgICBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUK
LSAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMgIkFTIElTIgotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKLSAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBJQk0gT1IgQ09OVFJJ
QlVUT1JTIEJFCi0gKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFCi0gKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotI2lmbmRlZiBfX1BM
QVRfQ01OX1BDSV9WSVJUSU9fUklOR19IX18KLSNkZWZpbmUgX19QTEFUX0NNTl9QQ0lfVklSVElP
X1JJTkdfSF9fCi0KLSNpbmNsdWRlIDx1ay9hcmNoL2xpbWl0cy5oPgotI2luY2x1ZGUgPHVrL2Fs
bG9jLmg+Ci0KLS8qCi0gKiBUT0RPIEluIHRoZSBmdXR1cmUgd2UgbWF5IGZpbmQgdGhhdCB0aGUg
TGludXggdmFyaWFudCBvZiB2aXJ0aW9fcmluZy5oCi0gKiAoaW4gaW5jbHVkZS91YXBpL2xpbnV4
L3ZpcnRpb19yaW5nLmgpIG1heSBiZSBtb3JlIHN1aXRhYmxlIGZvciBvdXIgbmVlZHMuCi0gKi8K
LQotdHlwZWRlZiBfX3UxNiBfX3ZpcnRpb19sZTE2OwotdHlwZWRlZiBfX3UzMiBfX3ZpcnRpb19s
ZTMyOwotdHlwZWRlZiBfX3U2NCBfX3ZpcnRpb19sZTY0OwotCi0jaWYgX19CWVRFX09SREVSX18g
IT0gIF9fT1JERVJfTElUVExFX0VORElBTl9fCi0jZXJyb3IgIlBsZWFzZSBkZWZpbmUgY29udmVy
c2lvbiBmdW5jdGlvbnMgZnJvbSBob3N0IHRvIGxpdHRsZSBlbmRpYW4hIgotI2VuZGlmCi0KLS8q
IFRoaXMgbWFya3MgYSBidWZmZXIgYXMgY29udGludWluZyB2aWEgdGhlIG5leHQgZmllbGQuICov
Ci0jZGVmaW5lIFZJUlRRX0RFU0NfRl9ORVhUICAgICAgIDEKLS8qIFRoaXMgbWFya3MgYSBidWZm
ZXIgYXMgd3JpdGUtb25seSAob3RoZXJ3aXNlIHJlYWQtb25seSkuICovCi0jZGVmaW5lIFZJUlRR
X0RFU0NfRl9XUklURSAgICAgIDIKLS8qIFRoaXMgbWVhbnMgdGhlIGJ1ZmZlciBjb250YWlucyBh
IGxpc3Qgb2YgYnVmZmVyIGRlc2NyaXB0b3JzLiAqLwotI2RlZmluZSBWSVJUUV9ERVNDX0ZfSU5E
SVJFQ1QgICA0Ci0KLS8qCi0gKiBUaGUgZGV2aWNlIHVzZXMgdGhpcyBpbiB1c2VkLT5mbGFncyB0
byBhZHZpc2UgdGhlIGRyaXZlcjoKLSAqIGRvbid0IGtpY2sgbWUgd2hlbiB5b3UgYWRkIGEgYnVm
ZmVyLiBJdCdzIHVucmVsaWFibGUsIHNvCi0gKiBpdCdzIHNpbXBseSBhbiBvcHRpbWl6YXRpb24u
Ci0gKi8KLSNkZWZpbmUgVklSVFFfVVNFRF9GX05PX05PVElGWSAgMQotCi0vKgotICogVGhlIGRy
aXZlciB1c2VzIHRoaXMgaW4gYXZhaWwtPmZsYWdzIHRvIGFkdmlzZSB0aGUgZGV2aWNlOgotICog
ZG9uJ3QgaW50ZXJydXB0IG1lIHdoZW4geW91IGNvbnN1bWUgYSBidWZmZXIuIEl0J3MgdW5yZWxp
YWJsZSwgc28KLSAqIGl0J3Mgc2ltcGx5IGFuIG9wdGltaXphdGlvbi4KLSAqLwotI2RlZmluZSBW
SVJUUV9BVkFJTF9GX05PX0lOVEVSUlVQVCAgICAgIDEKLQotLyogU3VwcG9ydCBmb3IgaW5kaXJl
Y3QgZGVzY3JpcHRvcnMgKi8KLSNkZWZpbmUgVklSVElPX0ZfSU5ESVJFQ1RfREVTQyAgICAyOAot
Ci0vKiBTdXBwb3J0IGZvciBhdmFpbF9ldmVudCBhbmQgdXNlZF9ldmVudCBmaWVsZHMgKi8KLSNk
ZWZpbmUgVklSVElPX0ZfRVZFTlRfSURYICAgICAgICAyOQotCi0vKiBBcmJpdHJhcnkgZGVzY3Jp
cHRvciBsYXlvdXRzLiAqLwotI2RlZmluZSBWSVJUSU9fRl9BTllfTEFZT1VUICAgICAgIDI3Ci0K
LQotLyoKLSAqIFZpcnRxdWV1ZSBkZXNjcmlwdG9yczogMTYgYnl0ZXMuCi0gKiBUaGVzZSBjYW4g
Y2hhaW4gdG9nZXRoZXIgdmlhICJuZXh0Ii4KLSAqLwotc3RydWN0IHZpcnRxX2Rlc2MgewotCS8q
IEFkZHJlc3MgKGd1ZXN0LXBoeXNpY2FsKS4gKi8KLQlfX3ZpcnRpb19sZTY0IGFkZHI7Ci0JLyog
TGVuZ3RoLiAqLwotCV9fdmlydGlvX2xlMzIgbGVuOwotCS8qIFRoZSBmbGFncyBhcyBpbmRpY2F0
ZWQgYWJvdmUuICovCi0JX192aXJ0aW9fbGUxNiBmbGFnczsKLQkvKiBXZSBjaGFpbiB1bnVzZWQg
ZGVzY3JpcHRvcnMgdmlhIHRoaXMsIHRvbyAqLwotCV9fdmlydGlvX2xlMTYgbmV4dDsKLX07Ci0K
LXN0cnVjdCB2aXJ0cV9hdmFpbCB7Ci0JX192aXJ0aW9fbGUxNiBmbGFnczsKLQlfX3ZpcnRpb19s
ZTE2IGlkeDsKLQlfX3ZpcnRpb19sZTE2IHJpbmdbXTsKLQkvKiBPbmx5IGlmIFZJUlRJT19GX0VW
RU5UX0lEWDogX192aXJ0aW9fbGUxNiB1c2VkX2V2ZW50OyAqLwotfTsKLQotLyogX192aXJ0aW9f
bGUzMiBpcyB1c2VkIGhlcmUgZm9yIGlkcyBmb3IgcGFkZGluZyByZWFzb25zLiAqLwotc3RydWN0
IHZpcnRxX3VzZWRfZWxlbSB7Ci0JLyogSW5kZXggb2Ygc3RhcnQgb2YgdXNlZCBkZXNjcmlwdG9y
IGNoYWluLiAqLwotCV9fdmlydGlvX2xlMzIgaWQ7Ci0JLyogVG90YWwgbGVuZ3RoIG9mIHRoZSBk
ZXNjcmlwdG9yIGNoYWluIHdoaWNoIHdhcyB3cml0dGVuIHRvLiAqLwotCV9fdmlydGlvX2xlMzIg
bGVuOwotfTsKLQotc3RydWN0IHZpcnRxX3VzZWQgewotCV9fdmlydGlvX2xlMTYgZmxhZ3M7Ci0J
X192aXJ0aW9fbGUxNiBpZHg7Ci0Jc3RydWN0IHZpcnRxX3VzZWRfZWxlbSByaW5nW107Ci0JLyog
T25seSBpZiBWSVJUSU9fRl9FVkVOVF9JRFg6IF9fdmlydGlvX2xlMTYgYXZhaWxfZXZlbnQ7ICov
Ci19OwotCi0vKgotICogVE9ETyBXZSBzZXQgdGhlIG1heGltdW0gYnVmZmVyIGxlbmd0aCBhcyBp
dCB3YXMgaW4gU29sbzUuIFRoZSB2YWx1ZQotICogd2FzIGNob3NlbiBmb3Iga2VlcGluZyB0aGUg
MTIgYnl0ZSBoZWFkZXIgYW5kIDE1MTQgYnl0ZXMgZm9yIHRoZQotICogbmV0d29yayBwYWNrZXQu
IFN1cHBvcnQgc2hvdWxkIGJlIGFkZGVkIGluIG9yZGVyIHRvIGFsbG93IGRyaXZlcnMKLSAqIHRv
IGNvbmZpZ3VyZSB0aGVpciBvd24gYnVmZmVyIHNpemVzIChhZG9wdGluZyB0aGUgTGludXggdmFy
aWFudCBvZgotICogdmlydGlvX3JpbmcuaCB3b3VsZCBoZWxwIG9uIHRoYXQgbWF0dGVyKS4KLSAq
LwotI2RlZmluZSBNQVhfQlVGRkVSX0xFTiAxNTI2Ci0KLS8qCi0gKiBFYWNoIG9uZSBvZiB0aGVz
ZSBpb19idWZmZXIncyBtYXAgdG8gYSBkZXNjcmlwdG9yLgotICogQW4gYXJyYXkgb2YgaW9fYnVm
ZmVyJ3Mgb2Ygc2l6ZSB2aXJ0cS0+bnVtIChzYW1lCi0gKiBhcyB2aXJ0cS0+ZGVzYykgaXMgYWxs
b2NhdGVkIGR1cmluZyBpbml0LgotICovCi1zdHJ1Y3QgaW9fYnVmZmVyIHsKLQlfX3U4IGRhdGFb
TUFYX0JVRkZFUl9MRU5dOwotCi0JLyoKLQkgKiBEYXRhIGxlbmd0aCBpbiBieXRlcy4gSXQgaXMg
d3JpdHRlbiBieSB0aGUgZHJpdmVyIG9uCi0JICogYSB0eC93cml0ZSwgb3IgYnkgdGhlIGRldmlj
ZSBvbiBhIHJ4L3JlYWQgb24gaW50ZXJydXB0Ci0JICogaGFuZGxpbmcuCi0JICovCi0JX191MzIg
bGVuOwotCi0JLyogRXh0cmEgZmxhZ3MgdG8gYmUgYWRkZWQgdG8gdGhlIGNvcnJlc3BvbmRpbmcg
ZGVzY3JpcHRvci4gKi8KLQlfX3UxNiBleHRyYV9mbGFnczsKLX07Ci0KLXN0cnVjdCB2aXJ0cSB7
Ci0JdW5zaWduZWQgaW50IG51bTsKLQotCXN0cnVjdCB2aXJ0cV9kZXNjICpkZXNjOwotCXN0cnVj
dCB2aXJ0cV9hdmFpbCAqYXZhaWw7Ci0Jc3RydWN0IHZpcnRxX3VzZWQgKnVzZWQ7Ci0Jc3RydWN0
IGlvX2J1ZmZlciAqYnVmczsKLQotCS8qIEtlZXAgdHJhY2sgb2YgYXZhaWxhYmxlIChmcmVlKSBk
ZXNjcmlwdG9ycyAqLwotCV9fdTE2IG51bV9hdmFpbDsKLQotCS8qIEluZGV4ZXMgaW4gdGhlIGRl
c2NyaXB0b3JzIGFycmF5ICovCi0JX191MTYgbGFzdF91c2VkOwotCV9fdTE2IG5leHRfYXZhaWw7
Ci19OwotCi0vKgotICogSGVscGVyIG1hY3JvcyBmb3IgYWNjZXNzaW5nIHZpcnRxdWV1ZSBmaWVs
ZHMKLSAqLwotCi0jZGVmaW5lIFZJUlRRX09GRl9ERVNDKHEpICAgICAgICAgMAotCi0jZGVmaW5l
IFZJUlRRX09GRl9BVkFJTChxKSAgICAgICAgKChxKS0+bnVtICogc2l6ZW9mKHN0cnVjdCB2aXJ0
cV9kZXNjKSkKLSNkZWZpbmUgVklSVFFfT0ZGX0FWQUlMX1JJTkcocSkgXAotCShWSVJUUV9PRkZf
QVZBSUwocSkgKyBzaXplb2Yoc3RydWN0IHZpcnRxX2F2YWlsKSkKLQotI2RlZmluZSBWSVJUUV9P
RkZfUEFERElORyhxKSBcCi0JKFZJUlRRX09GRl9BVkFJTF9SSU5HKHEpICsgKHNpemVvZihfX3Zp
cnRpb19sZTE2KSAqIChxKS0+bnVtKSkKLQotI2RlZmluZSBWSVJUUV9PRkZfVVNFRChxKSBcCi0J
KChWSVJUUV9PRkZfUEFERElORyhxKSArIF9fUEFHRV9TSVpFIC0gMSkgJiBfX1BBR0VfTUFTSykK
LSNkZWZpbmUgVklSVFFfT0ZGX1VTRURfUklORyhxKSBcCi0JKFZJUlRRX09GRl9VU0VEKHEpICsg
c2l6ZW9mKHN0cnVjdCB2aXJ0cV91c2VkKSkKLQotI2RlZmluZSBWSVJUUV9TSVpFKHEpIFwKLQko
VklSVFFfT0ZGX1VTRURfUklORyhxKSArIChzaXplb2Yoc3RydWN0IHZpcnRxX3VzZWRfZWxlbSkg
KiAocSktPm51bSkpCi0KLXN0YXRpYyBpbmxpbmUKLWludCB2aXJ0cV9uZWVkX2V2ZW50KF9fdTE2
IGV2ZW50X2lkeCwgX191MTYgbmV3X2lkeCwgX191MTYgb2xkX2lkeCkKLXsKLQlyZXR1cm4gKG5l
d19pZHggLSBldmVudF9pZHggLSAxKSA8IChuZXdfaWR4IC0gb2xkX2lkeCk7Ci19Ci0KLS8qIEdl
dCBsb2NhdGlvbiBvZiBldmVudCBpbmRpY2VzIChvbmx5IHdpdGggVklSVElPX0ZfRVZFTlRfSURY
KSAqLwotc3RhdGljIGlubGluZSBfX3ZpcnRpb19sZTE2ICp2aXJ0cV91c2VkX2V2ZW50KHN0cnVj
dCB2aXJ0cSAqdnEpCi17Ci0JLyoKLQkgKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHVz
ZWQgZXZlbnQgaW5kZXgKLQkgKiBpcyBhdCAqZW5kKiBvZiBhdmFpbCByaW5nLgotCSAqLwotCXJl
dHVybiAmdnEtPmF2YWlsLT5yaW5nW3ZxLT5udW1dOwotfQotCi1zdGF0aWMgaW5saW5lIF9fdmly
dGlvX2xlMTYgKnZpcnRxX2F2YWlsX2V2ZW50KHN0cnVjdCB2aXJ0cSAqdnEpCi17Ci0JLyoKLQkg
KiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGF2YWlsIGV2ZW50IGluZGV4Ci0JICogaXMg
YXQgKmVuZCogb2YgdXNlZCByaW5nLgotCSAqLwotCXJldHVybiAoX192aXJ0aW9fbGUxNiAqKSAm
dnEtPnVzZWQtPnJpbmdbdnEtPm51bV07Ci19Ci0KLS8qCi0gKiBDcmVhdGUgYSBkZXNjcmlwdG9y
IGNoYWluIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQsCi0gKiB1c2luZyB2cS0+YnVmcyBhbHNvIHN0
YXJ0aW5nIGF0IGluZGV4IGhlYWQuCi0gKiBAcGFyYW0gdnEgVmlydHVhbCBxdWV1ZQotICogQHBh
cmFtIGhlYWQgU3RhcnRpbmcgZGVzY3JpcHRvciBpbmRleAotICogQHBhcmFtIG51bSBOdW1iZXIg
b2YgZGVzY3JpcHRvcnMgKGFuZCBudW1iZXIgb2YgYnVmcykuCi0gKiBAcmV0dXJuIDAgb24gc3Vj
Y2VzcywgPCAwIG90aGVyd2lzZQotICovCi1pbnQgdmlydHFfYWRkX2Rlc2NyaXB0b3JfY2hhaW4o
c3RydWN0IHZpcnRxICp2cSwKLQkJX191MTYgaGVhZCwgX191MTYgbnVtKTsKLQotLyoKLSAqIElu
aXRpYWxpemVzIGEgdmlydHVhbCBxdWV1ZQotICogQHBhcmFtIHZxIFZpcnR1YWwgcXVldWUKLSAq
IEBwYXJhbSBwY2lfYmFzZSBCYXNlIGluIFBDSSBjb25maWd1cmF0aW9uIHNwYWNlCi0gKiBAcGFy
YW0gcXVldWVfc2VsZWN0IFZpcnR1YWwgcXVldWUgc2VsZWN0b3IKLSAqIEBwYXJhbSBhIE1lbW9y
eSBhbGxvY2F0b3IKLSAqIEByZXR1cm4gMCBvbiBzdWNjZXNzLCA8IDAgb3RoZXJ3aXNlCi0gKi8K
LWludCB2aXJ0cV9yaW5nc19pbml0KHN0cnVjdCB2aXJ0cSAqdnEsIF9fdTE2IHBjaV9iYXNlLAot
CQkJX192aXJ0aW9fbGUxNiBxdWV1ZV9zZWxlY3QsIHN0cnVjdCB1a19hbGxvYyAqYSk7Ci0KLS8q
Ci0gKiBEZWluaXRpYWxpemVzIGEgdmlydHVhbCBxdWV1ZQotICogQHBhcmFtIHZxIFZpcnR1YWwg
cXVldWUKLSAqIEBwYXJhbSBwY2lfYmFzZSBCYXNlIGluIFBDSSBjb25maWd1cmF0aW9uIHNwYWNl
Ci0gKiBAcGFyYW0gcXVldWVfc2VsZWN0IFZpcnR1YWwgcXVldWUgc2VsZWN0b3IKLSAqIEBwYXJh
bSBhIE1lbW9yeSBhbGxvY2F0b3IKLSAqLwotdm9pZCB2aXJ0cV9yaW5nc19maW5pKHN0cnVjdCB2
aXJ0cSAqdnEsIF9fdTE2IHBjaV9iYXNlLAotCQkJX192aXJ0aW9fbGUxNiBxdWV1ZV9zZWxlY3Qs
IHN0cnVjdCB1a19hbGxvYyAqYSk7Ci0KLSNlbmRpZiAvKiBfX1BMQVRfQ01OX1BDSV9WSVJUSU9f
UklOR19IX18gKi8KZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3Jpbmcu
YyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOWEyOTk2Yy4uMDAwMDAwMAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19yaW5nLmMKKysrIC9kZXYvbnVsbApAQCAtMSwxNzIgKzAsMCBAQAotLyogU1BEWC1MaWNl
bnNlLUlkZW50aWZpZXI6IElTQyAqLwotLyoKLSAqIEF1dGhvcnM6IERhbiBXaWxsaWFtcwotICog
ICAgICAgICAgTWFydGluIEx1Y2luYQotICogICAgICAgICAgUmljYXJkbyBLb2xsZXIKLSAqICAg
ICAgICAgIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0gKgotICogQ29weXJp
Z2h0IChjKSAyMDE1LTIwMTcgSUJNCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxNyBEb2NrZXIs
IEluYy4KLSAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9y
YXRpb24KLSAqCi0gKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlz
dHJpYnV0ZSB0aGlzIHNvZnR3YXJlCi0gKiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0
IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQKLSAqIHRoYXQgdGhlIGFib3ZlIGNvcHly
aWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyCi0gKiBpbiBhbGwg
Y29waWVzLgotICoKLSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUg
QVVUSE9SIERJU0NMQUlNUyBBTEwKLSAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBT
T0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIEFVVEhPUiBCRSBM
SUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9T
UwotICogT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENP
TlRSQUNULAotICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcg
T1VUIE9GIE9SIElOCi0gKiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBP
RiBUSElTIFNPRlRXQVJFLgotICovCi0vKiBUYWtlbiBhbmQgYWRhcHRlZCBmcm9tIHNvbG81IHZp
cnRpb19yaW5nLmMgKi8KLQotI2luY2x1ZGUgPHN0cmluZy5oPgotI2luY2x1ZGUgPHVrL3ByaW50
Lmg+Ci0jaW5jbHVkZSA8Y3B1Lmg+Ci0jaW5jbHVkZSA8dWsvcGxhdC9pby5oPgotI2luY2x1ZGUg
PHBjaS92aXJ0aW8vdmlydGlvX3BjaS5oPgotI2luY2x1ZGUgPHBjaS92aXJ0aW8vdmlydGlvX3Jp
bmcuaD4KLSNpbmNsdWRlIDx1ay9hcmNoL2F0b21pYy5oPgotCi0jZGVmaW5lIFZJUlRRX01BWF9R
VUVVRV9TSVpFICAzMjc2OAotCi0KLS8qCi0gKiBDcmVhdGUgYSBkZXNjcmlwdG9yIGNoYWluIHN0
YXJ0aW5nIGF0IGluZGV4IGhlYWQsIHVzaW5nIHZxLT5idWZzCi0gKiBhbHNvIHN0YXJ0aW5nIGF0
IGluZGV4IGhlYWQuCi0gKiBNYWtlIHN1cmUgdGhlIHZxLWJ1ZnMgYXJlIGNsZWFuZWQgYmVmb3Jl
IHVzaW5nIHRoZW0gYWdhaW4uCi0gKi8KLWludCB2aXJ0cV9hZGRfZGVzY3JpcHRvcl9jaGFpbihz
dHJ1Y3QgdmlydHEgKnZxLCBfX3UxNiBoZWFkLCBfX3UxNiBudW0pCi17Ci0Jc3RydWN0IHZpcnRx
X2Rlc2MgKmRlc2M7Ci0JX191MTYgdXNlZF9kZXNjcywgbWFzaywgaTsKLQotCVVLX0FTU0VSVCh2
cSAhPSBOVUxMKTsKLQotCWlmIChoZWFkID49IHZxLT5udW0pCi0JCXJldHVybiAtRUlOVkFMOwot
Ci0JaWYgKG51bSA9PSAwIHx8IG51bSA+IHZxLT5udW0pCi0JCXJldHVybiAtRUlOVkFMOwotCi0J
aWYgKHZxLT5udW1fYXZhaWwgPCBudW0pIHsKLQkJdWtfcHJfd2FybigidmlydHEgZnVsbCEgbmV4
dF9hdmFpbDolIl9fUFJJdTE2IiBsYXN0X3VzZWQ6JSJfX1BSSXUxNiJcbiIsCi0JCQkgICB2cS0+
bmV4dF9hdmFpbCwgdnEtPmxhc3RfdXNlZCk7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCXVz
ZWRfZGVzY3MgPSBudW07Ci0JbWFzayA9IHZxLT5udW0gLSAxOwotCi0JZm9yIChpID0gaGVhZDsg
dXNlZF9kZXNjcyA+IDA7IHVzZWRfZGVzY3MtLSkgewotCQlzdHJ1Y3QgaW9fYnVmZmVyICpidWYg
PSAmdnEtPmJ1ZnNbaV07Ci0JCV9fdTMyIGxlbiA9IDA7Ci0KLQkJLyoKLQkJICogVGhlIGZpcnN0
IGZpZWxkIG9mIGEgInN0cnVjdCBpb19idWZmZXIiIGlzIHRoZSAiZGF0YSIgZmllbGQsCi0JCSAq
IHNvIGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciB3ZSBjYW4ganVzdCBjYXN0IHRoaXMgcG9pbnRl
cgotCQkgKiBiYWNrIGludG8gYSAnc3RydWN0IGlvX2J1ZmZlcicuCi0JCSAqLwotCQlVS19BU1NF
UlQoYnVmLT5kYXRhID09IChfX3U4ICopIGJ1Zik7Ci0KLQkJbGVuID0gdWthcmNoX2xvYWRfbigm
YnVmLT5sZW4pOwotCQlVS19BU1NFUlQobGVuIDw9IE1BWF9CVUZGRVJfTEVOKTsKLQotCQlkZXNj
ID0gJnZxLT5kZXNjW2ldOwotCQlkZXNjLT5hZGRyID0gKF9fdTY0KSBidWYtPmRhdGE7Ci0JCWRl
c2MtPmxlbiA9IGxlbjsKLQkJZGVzYy0+ZmxhZ3MgPSBWSVJUUV9ERVNDX0ZfTkVYVCB8IGJ1Zi0+
ZXh0cmFfZmxhZ3M7Ci0KLQkJaSA9IChpICsgMSkgJiBtYXNrOwotCQlkZXNjLT5uZXh0ID0gaTsK
LQl9Ci0KLQkvKiBUaGUgbGFzdCBkZXNjcmlwdG9yIGluIHRoZSBjaGFpbiBkb2VzIG5vdCBoYXZl
IGEgbmV4dCAqLwotCWRlc2MtPm5leHQgPSAwOwotCWRlc2MtPmZsYWdzICY9IH5WSVJUUV9ERVND
X0ZfTkVYVDsKLQotCXZxLT5udW1fYXZhaWwgLT0gbnVtOwotCXZxLT5hdmFpbC0+cmluZ1t2cS0+
YXZhaWwtPmlkeCAmIG1hc2tdID0gaGVhZDsKLQkvKiBUaGUgbmV3IGVudHJ5IG11c3QgYmUgc2V0
IGJlZm9yZSBhbm5vdW5jaW5nIGl0LiAqLwotCXdtYigpOwotCS8qIGF2YWlsLT5pZHggYWx3YXlz
IGluY3JlbWVudHMgYW5kIHdyYXBzIG5hdHVyYWxseSBhdCA2NTUzNiAqLwotCXZxLT5hdmFpbC0+
aWR4Kys7Ci0JdnEtPm5leHRfYXZhaWwgKz0gbnVtOwotCi0JcmV0dXJuIDA7Ci19Ci0KLWludCB2
aXJ0cV9yaW5nc19pbml0KHN0cnVjdCB2aXJ0cSAqdnEsIF9fdTE2IHBjaV9iYXNlLAotCQkJX192
aXJ0aW9fbGUxNiBxdWV1ZV9zZWxlY3QsIHN0cnVjdCB1a19hbGxvYyAqYSkKLXsKLQlfX3U4ICpk
YXRhID0gTlVMTDsKLQlfX3UxNiB2cV9udW07Ci0JX19zeiB2cV9zaXplOwotCV9fcGh5c19hZGRy
IHBhOwotCi0JVUtfQVNTRVJUKHZxICE9IE5VTEwpOwotCVVLX0FTU0VSVChhICE9IE5VTEwpOwot
Ci0JLyogcmVhZCBxdWV1ZSBzaXplICovCi0Jb3V0dyhwY2lfYmFzZSArIFZJUlRJT19QQ0lfUVVF
VUVfU0VMLCBxdWV1ZV9zZWxlY3QpOwotCXZxX251bSA9IGludyhwY2lfYmFzZSArIFZJUlRJT19Q
Q0lfUVVFVUVfU0laRSk7Ci0KLQlpZiAodnFfbnVtID09IDApIHsKLQkJdWtfcHJfZXJyKCJObyBz
dWNoIHF1ZXVlOiBwY2lfYmFzZT0lIl9fUFJJeDE2IiBzZWxlY3Rvcj0lIl9fUFJJeDE2IlxuIiwK
LQkJCSAgcGNpX2Jhc2UsIHF1ZXVlX3NlbGVjdCk7Ci0JCXJldHVybiAtRUlOVkFMOwotCX0KLQot
CVVLX0FTU0VSVCh2cV9udW0gPD0gVklSVFFfTUFYX1FVRVVFX1NJWkUpOwotCi0JdnEtPmxhc3Rf
dXNlZCA9IHZxLT5uZXh0X2F2YWlsID0gMDsKLQl2cS0+bnVtID0gdnEtPm51bV9hdmFpbCA9IHZx
X251bTsKLQotCXZxX3NpemUgPSBWSVJUUV9TSVpFKHZxKTsKLQotCS8qIGFsbG9jYXRlIHF1ZXVl
IG1lbW9yeSAqLwotCXVrX3Bvc2l4X21lbWFsaWduX2lmcGFnZXMoYSwgKHZvaWQgKiopICZkYXRh
LCBfX1BBR0VfU0laRSwgdnFfc2l6ZSk7Ci0JaWYgKCFkYXRhKQotCQlyZXR1cm4gLUVOT01FTTsK
LQotCW1lbXNldChkYXRhLCAwLCB2cV9zaXplKTsKLQotCXZxLT5kZXNjID0gKHN0cnVjdCB2aXJ0
cV9kZXNjICopIChkYXRhICsgVklSVFFfT0ZGX0RFU0ModnEpKTsKLQl2cS0+YXZhaWwgPSAoc3Ry
dWN0IHZpcnRxX2F2YWlsICopIChkYXRhICsgVklSVFFfT0ZGX0FWQUlMKHZxKSk7Ci0JdnEtPnVz
ZWQgPSAoc3RydWN0IHZpcnRxX3VzZWQgKikgKGRhdGEgKyBWSVJUUV9PRkZfVVNFRCh2cSkpOwot
Ci0JLyogc2V0IHF1ZXVlIG1lbW9yeSAqLwotCW91dHcocGNpX2Jhc2UgKyBWSVJUSU9fUENJX1FV
RVVFX1NFTCwgcXVldWVfc2VsZWN0KTsKLQotCS8qIHVzZSBwaHlzaWNhbCBhZGRyZXNzICovCi0J
cGEgPSB1a3BsYXRfdmlydF90b19waHlzKGRhdGEpOwotCW91dGwocGNpX2Jhc2UgKyBWSVJUSU9f
UENJX1FVRVVFX1BGTiwKLQkJKHBhID4+IFZJUlRJT19QQ0lfUVVFVUVfQUREUl9TSElGVCkpOwot
Ci0JcmV0dXJuIDA7Ci19Ci0KLXZvaWQgdmlydHFfcmluZ3NfZmluaShzdHJ1Y3QgdmlydHEgKnZx
LCBfX3UxNiBwY2lfYmFzZSwKLQkJX192aXJ0aW9fbGUxNiBxdWV1ZV9zZWxlY3QsIHN0cnVjdCB1
a19hbGxvYyAqYSkKLXsKLQlfX3U4ICpkYXRhOwotCi0JVUtfQVNTRVJUKHZxICE9IE5VTEwpOwot
CVVLX0FTU0VSVChhICE9IE5VTEwpOwotCi0JLyogcmVzZXQgcXVldWUgbWVtb3J5ICovCi0Jb3V0
dyhwY2lfYmFzZSArIFZJUlRJT19QQ0lfUVVFVUVfU0VMLCBxdWV1ZV9zZWxlY3QpOwotCW91dGwo
cGNpX2Jhc2UgKyBWSVJUSU9fUENJX1FVRVVFX1BGTiwgMCk7Ci0KLQkvKiBmcmVlIHF1ZXVlIG1l
bW9yeSAqLwotCWRhdGEgPSAoX191OCAqKSB2cS0+ZGVzYyAtIFZJUlRRX09GRl9ERVNDKHZxLT5u
dW0pOwotCXVrX2ZyZWUoYSwgZGF0YSk7Ci0KLQkvKiBjbGVhbnVwIHRoZSBxdWV1ZSAqLwotCW1l
bXNldCh2cSwgMCwgc2l6ZW9mKCp2cSkpOwotfQpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmln
LnVrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCmluZGV4IGYwOTdmMTAuLjBmMTBiNGQgMTAwNjQ0Ci0t
LSBhL3BsYXQva3ZtL0NvbmZpZy51aworKysgYi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTUwLDEy
ICs1MCw0IEBAIGNvbmZpZyBLVk1fUENJCiAgICAgICAgc2VsZWN0IExJQlVLQlVTCiAgICAgICAg
aGVscAogICAgICAgICAgICAgICAgIFBDSSBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVy
YXRpbmcgUENJIGRldmljZXMKLQotaWYgKEtWTV9QQ0kpCi1jb25maWcgS1ZNX1BDSV9WSVJUSU8K
LSAgICAgICBib29sICJWaXJ0aW8gUmluZyIKLSAgICAgICBkZWZhdWx0IG4KLSAgICAgICBoZWxw
Ci0gICAgICAgICAgICAgICBWaXJ0dWFsIHF1ZXVlcyB0byB0cmF2ZXJzZSBob3N0IGFuZCBndWVz
dCB0cmFuc2l0aW9uCi1lbmRpZgogZW5kaWYKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxl
LnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKaW5kZXggYjQ5M2JiYS4uMDZkODQxMCAxMDA2NDQK
LS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUudWsKKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKQEAg
LTgsNyArOCw2IEBAICQoZXZhbCAkKGNhbGwgYWRkcGxhdF9zLGt2bSwkKENPTkZJR19QTEFUX0tW
TSkpKQogIyMKICQoZXZhbCAkKGNhbGwgYWRkcGxhdGxpYixrdm0sbGlia3ZtcGxhdCkpCiAkKGV2
YWwgJChjYWxsIGFkZHBsYXRsaWJfcyxrdm0sbGlia3ZtcGNpLCQoQ09ORklHX0tWTV9QQ0kpKSkK
LSQoZXZhbCAkKGNhbGwgYWRkcGxhdGxpYl9zLGt2bSxsaWJrdm1wY2l2aXJ0aW8sJChDT05GSUdf
S1ZNX1BDSV9WSVJUSU8pKSkKIAogIyMKICMjIFBsYXRmb3JtIGxpYnJhcnkgZGVmaW5pdGlvbnMK
QEAgLTgxLDkgKzgwLDMgQEAgTElCS1ZNUENJX0FTSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZf
NjQpICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogTElCS1ZNUENJX0NJTkNM
VURFUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkv
aW5jbHVkZQogTElCS1ZNUENJX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICAgICAgICArPSAk
KFVLX1BMQVRfQ09NTU9OX0JBU0UpL3BjaV9idXMuY3xjb21tb24KIAotIyMKLSMjIFZpcnRpbyBs
aWJyYXJ5IGRlZmluaXRpb25zCi0jIwotTElCS1ZNUENJVklSVElPX0FTSU5DTFVERVMteSAgICs9
IC1JJChVS19QTEFUX0NPTU1PTl9CQVNFKS9pbmNsdWRlCi1MSUJLVk1QQ0lWSVJUSU9fQ0lOQ0xV
REVTLXkgICAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKLUxJQktWTVBDSVZJ
UlRJT19TUkNTLXkgICAgICAgICArPSAkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmly
dGlvX3JpbmcuYwotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:31 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV1-0004Mq-EB; Fri, 19 Oct 2018 13:07:31 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUUz-0004MN-U2
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:30 +0000
X-Inumbo-ID: 20e6f765-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 20e6f765-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:08:54 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 497E1104A1A;
 Fri, 19 Oct 2018 15:07:27 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id tHIaCGq_MtQu; Fri, 19 Oct 2018 15:07:27 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 266BF1048F7
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:25 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:24 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:45 +0200
Message-ID: <1539954410-4800-3-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 2/7] plat/common: Introduce virtio
 standard header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgaW50cm9kdWNlIHRoZSBzdGFuZGFyZCB2aXJ0aW8gaGVhZGVyIGZpbGVzLgoqIHZpcnRpb19p
ZHM6IExpc3QgdGhlIGlkcyBvZiB0aGUgdmlydGlvIGRldmljZXMKKiB2aXJ0aW9fcmluZy5oOiBE
ZXNjcmliZXMgdGhlIHZpcnRpbyByaW5nIGRlc2NyaXB0b3IsIHVzZWQgYW5kCgkJCQkgYXZhaWxh
YmxlIGRlc2NyaXB0b3JzLgoqIHZpcnRpb19wY2kuaDogRGVzY3JpYmVzIHRoZSB2aXJ0aW8gUENJ
IGRldmljZSByZWdpc3RlciBtYXAuCiogdmlydGlvX3R5cGVzLmg6ICBEZXNjcmliZXMgdGhlIHR5
cGUgb2YgdGhlIGRhdGEgc3RydWN0dXJlLgoqIHZpcnRpb19jb25maWcuaDogUHJvdmlkZXMgaGVs
cGVyIGZ1bmN0aW9uIHRvIHBlcmZvcm0gSU8KCQkJCW9wZXJhdGlvbiBvbiB0aGUgZGV2aWNlLgoK
U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+Ci0tLQogcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2kuaCB8ICA2
NiAtLS0tLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2NvbmZpZy5oIHwg
MjU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy9pbmNsdWRlL3Zp
cnRpby92aXJ0aW9faWRzLmggICAgfCAgNjQgKysrKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUv
dmlydGlvL3ZpcnRpb19wY2kuaCAgICB8ICA3MCArKysrKysrKwogcGxhdC9kcml2ZXJzL2luY2x1
ZGUvdmlydGlvL3ZpcnRpb19yaW5nLmggICB8IDE5NiArKysrKysrKysrKysrKysrKysrKysKIHBs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fdHlwZXMuaCAgfCAgNjIgKysrKysrKwog
NiBmaWxlcyBjaGFuZ2VkLCA2NTEgaW5zZXJ0aW9ucygrKSwgNjYgZGVsZXRpb25zKC0pCiBkZWxl
dGUgbW9kZSAxMDA2NDQgcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2ku
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9f
Y29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvX2lkcy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19wY2kuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRl
L3ZpcnRpby92aXJ0aW9fcmluZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2lu
Y2x1ZGUvdmlydGlvL3ZpcnRpb190eXBlcy5oCgpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5j
bHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2kuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUvcGNpL3Zp
cnRpby92aXJ0aW9fcGNpLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmOWE2ZTEu
LjAwMDAwMDAKLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2ku
aAorKysgL2Rldi9udWxsCkBAIC0xLDY2ICswLDAgQEAKLS8qIFNQRFgtTGljZW5zZS1JZGVudGlm
aWVyOiBJU0MgKi8KLS8qCi0gKiBBdXRob3JzOiBEYW4gV2lsbGlhbXMKLSAqICAgICAgICAgIENv
c3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0gKgotICogQ29weXJpZ2h0IChjKSAy
MDE1LCBJQk0KLSAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29y
cG9yYXRpb24KLSAqCi0gKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3Ig
ZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlCi0gKiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRo
b3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQKLSAqIHRoYXQgdGhlIGFib3ZlIGNv
cHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyCi0gKiBpbiBh
bGwgY29waWVzLgotICoKLSAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBU
SEUgQVVUSE9SIERJU0NMQUlNUyBBTEwKLSAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJ
UyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLSAqIEFVVEhPUiBC
RSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUgotICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00g
TE9TUwotICogT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULAotICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJ
TkcgT1VUIE9GIE9SIElOCi0gKiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5D
RSBPRiBUSElTIFNPRlRXQVJFLgotICovCi0vKiBUYWtlbiBhbmQgYWRhcHRlZCBmcm9tIHNvbG81
IHZpcnRpb19wY2kuaCAqLwotCi0jaWZuZGVmIF9fUExBVF9DTU5fUENJX1ZJUlRJT19QQ0lfSF9f
Ci0jZGVmaW5lIF9fUExBVF9DTU5fUENJX1ZJUlRJT19QQ0lfSF9fCi0KLS8qIHZpcnRpbyBjb25m
aWcgc3BhY2UgbGF5b3V0ICovCi0vKiBUT0RPIHdlIGN1cnJlbnRseSBzdXBwb3J0IG9ubHkgdGhl
IGxlZ2FjeSBpbnRlcmZhY2UgKi8KLSNkZWZpbmUgVklSVElPX1BDSV9IT1NUX0ZFQVRVUkVTICAg
ICAgICAwICAgIC8qIDMyLWJpdCByL28gKi8KLSNkZWZpbmUgVklSVElPX1BDSV9HVUVTVF9GRUFU
VVJFUyAgICAgICA0ICAgIC8qIDMyLWJpdCByL3cgKi8KLSNkZWZpbmUgVklSVElPX1BDSV9RVUVV
RV9QRk4gICAgICAgICAgICA4ICAgIC8qIDMyLWJpdCByL3cgKi8KLSNkZWZpbmUgVklSVElPX1BD
SV9RVUVVRV9TSVpFICAgICAgICAgICAxMiAgIC8qIDE2LWJpdCByL28gKi8KLSNkZWZpbmUgVklS
VElPX1BDSV9RVUVVRV9TRUwgICAgICAgICAgICAxNCAgIC8qIDE2LWJpdCByL3cgKi8KLSNkZWZp
bmUgVklSVElPX1BDSV9RVUVVRV9OT1RJRlkgICAgICAgICAxNiAgIC8qIDE2LWJpdCByL3cgKi8K
LQotLyoKLSAqIFNoaWZ0IHNpemUgdXNlZCBmb3Igd3JpdGluZyBwaHlzaWNhbCBxdWV1ZSBhZGRy
ZXNzIHRvIFFVRVVFX1BGTgotICovCi0jZGVmaW5lIFZJUlRJT19QQ0lfUVVFVUVfQUREUl9TSElG
VCAgICAgMTIKLQotCi0vKgotICogVGhlIHN0YXR1cyByZWdpc3RlciBsZXRzIHVzIHRlbGwgdGhl
IGRldmljZSB3aGVyZSB3ZSBhcmUgaW4KLSAqIGluaXRpYWxpemF0aW9uCi0gKi8KLSNkZWZpbmUg
VklSVElPX1BDSV9TVEFUVVMgICAgICAgICAgICAgICAxOCAgIC8qIDgtYml0IHIvdyAqLwotI2Rl
ZmluZSBWSVJUSU9fUENJX1NUQVRVU19BQ0sgICAgICAgICAgIDB4MSAgLyogd2UgcmVjb2duaXpl
IGRldmljZSBhcyB2aXJ0aW8gKi8KLSNkZWZpbmUgVklSVElPX1BDSV9TVEFUVVNfRFJJVkVSICAg
ICAgICAweDIgIC8qIHdlIHdhbnQgdG8gZHJpdmUgaXQgKi8KLSNkZWZpbmUgVklSVElPX1BDSV9T
VEFUVVNfRFJJVkVSX09LICAgICAweDQgIC8qIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlICov
Ci0jZGVmaW5lIFZJUlRJT19QQ0lfU1RBVFVTX0RFVklDRV9SRVNFVCAgMHg0MCAvKiBkZXZpY2Ug
bmVlZHMgcmVzZXQgKi8KLSNkZWZpbmUgVklSVElPX1BDSV9TVEFUVVNfRkFJTCAgICAgICAgICAw
eDgwIC8qIHRlbGwgZGV2aWNlIHNvbWV0aGluZydzIHdyb25nICovCi0KLS8qCi0gKiBSZWFkaW5n
IHRoZSB2YWx1ZSB3aWxsIHJldHVybiB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgaW50ZXJy
dXB0Ci0gKiBzdGF0dXMgcmVnaXN0ZXIgYW5kIHdpbGwgYWxzbyBjbGVhciBpdC4gIFRoaXMgaXMg
ZWZmZWN0aXZlbHkgYQotICogcmVhZC1hbmQtYWNrbm93bGVkZ2UuCi0gKi8KLSNkZWZpbmUgVklS
VElPX1BDSV9JU1IgICAgICAgICAgICAgICAgICAxOSAgIC8qIDgtYml0IHIvbyAqLwotI2RlZmlu
ZSBWSVJUSU9fUENJX0lTUl9IQVNfSU5UUiAgICAgICAgIDB4MSAgLyogaW50ZXJydXB0IGlzIGZv
ciB0aGlzIGRldmljZSAqLwotI2RlZmluZSBWSVJUSU9fUENJX0lTUl9DT05GSUcgICAgICAgICAg
IDB4MiAgLyogY29uZmlnIGNoYW5nZSBiaXQgKi8KLQotLyogVE9ETyBSZXZpc2l0IHdoZW4gYWRk
aW5nIE1TSSBzdXBwb3J0LiAqLwotI2RlZmluZSBWSVJUSU9fUENJX0NPTkZJR19PRkYgICAgICAg
ICAgIDIwCi0KLSNlbmRpZiAvKiBfX1BMQVRfQ01OX1BDSV9WSVJUSU9fUENJX0hfXyAqLwpkaWZm
IC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaCBiL3Bs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0ZTdlZgotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvZHJp
dmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fY29uZmlnLmgKQEAgLTAsMCArMSwyNTkgQEAKKy8q
IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3Jz
OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBD
b3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2Yg
dGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVE
IE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8KKworI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJ
T19DT05GSUdfSAorI2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19DT05GSUdfSAorCisjaW5jbHVk
ZSA8dWsvYXJjaC90eXBlcy5oPgorI2luY2x1ZGUgPGNwdS5oPgorCisjaWZkZWYgX19jcGx1c3Bs
dXMKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCisKKyNkZWZpbmUg
TUFYX1RSWV9DT1VOVCAgICAoMTApCisKKyNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfUkVT
RVQgICAgICAgICAweDAgIC8qIFJlc2V0IHRoZSBkZXZpY2UgKi8KKyNkZWZpbmUgVklSVElPX0NP
TkZJR19TVEFUVVNfQUNLICAgICAgICAgICAweDEgIC8qIHJlY29nbml6ZSBkZXZpY2UgYXMgdmly
dGlvICovCisjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUiAgICAgICAgMHgyICAv
KiBkcml2ZXIgZm9yIHRoZSBkZXZpY2UgZm91bmQqLworI2RlZmluZSBWSVJUSU9fQ09ORklHX1NU
QVRVU19EUklWRVJfT0sgICAgIDB4NCAgLyogaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUgKi8K
KyNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfTkVFRFNfUkVTRVQgICAweDQwIC8qIGRldmlj
ZSBuZWVkcyByZXNldCAqLworI2RlZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19GQUlMICAgICAg
ICAgIDB4ODAgLyogZGV2aWNlIHNvbWV0aGluZydzIHdyb25nKi8KKworI2RlZmluZSBWSVJUSU9f
VFJBTlNQT1JUX0ZfU1RBUlQgICAgMjgKKyNkZWZpbmUgVklSVElPX1RSQU5TUE9SVF9GX0VORCAg
ICAgIDMyCisKKyNpZmRlZiBfX1g4Nl82NF9fCitzdGF0aWMgaW5saW5lIHZvaWQgX3ZpcnRpb19j
d3JpdGVfYnl0ZXMoY29uc3Qgdm9pZCAqYWRkciwgY29uc3QgX191OCBvZmZzZXQsCisJCQkJCWNv
bnN0IHZvaWQgKmJ1ZiwgaW50IGxlbiwgaW50IHR5cGVfbGVuKQoreworCWludCBpID0gMDsKKwlf
X3UxNiBpb19hZGRyOworCWludCBjb3VudDsKKworCWNvdW50ICA9IGxlbiAvIHR5cGVfbGVuOwor
CWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCWlvX2FkZHIgPSAoKHVuc2lnbmVkIGxv
bmcpYWRkcikgKyBvZmZzZXQgKyAoaSAqIHR5cGVfbGVuKTsKKwkJc3dpdGNoICh0eXBlX2xlbikg
eworCQljYXNlIDE6CisJCQlvdXRiKGlvX2FkZHIsICgoX191OCAqKWJ1ZilbaSAqIHR5cGVfbGVu
XSk7CisJCQlicmVhazsKKwkJY2FzZSAyOgorCQkJb3V0dyhpb19hZGRyLCAoKF9fdTE2ICopYnVm
KVtpICogdHlwZV9sZW5dKTsKKwkJCWJyZWFrOworCQljYXNlIDQ6CisJCQlvdXRsKGlvX2FkZHIs
ICgoX191MzIgKilidWYpW2kgKiB0eXBlX2xlbl0pOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJ
CQlVS19DUkFTSCgiVW5zdXBwb3J0ZWQgdmlydGlvIHdyaXRlIG9wZXJhdGlvblxuIik7CisJCX0K
Kwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfdmlydGlvX2NyZWFkX2J5dGVzKGNvbnN0IHZv
aWQgKmFkZHIsIGNvbnN0IF9fdTggb2Zmc2V0LAorCQkJCSAgICAgICB2b2lkICpidWYsIGludCBs
ZW4sIGludCB0eXBlX2xlbikKK3sKKwlpbnQgaSA9IDA7CisJX191MTYgaW9fYWRkcjsKKwlpbnQg
Y291bnQ7CisKKwljb3VudCA9IGxlbiAvIHR5cGVfbGVuOworCWZvciAoaSA9IDA7IGkgPCBjb3Vu
dDsgaSsrKSB7CisJCWlvX2FkZHIgPSAoKHVuc2lnbmVkIGxvbmcpYWRkcikgKyBvZmZzZXQgKyAo
aSAqIHR5cGVfbGVuKTsKKwkJc3dpdGNoICh0eXBlX2xlbikgeworCQljYXNlIDE6CisJCQkoKF9f
dTggKilidWYpW2kgKiB0eXBlX2xlbl0gPSBpbmIoaW9fYWRkcik7CisJCQlicmVhazsKKwkJY2Fz
ZSAyOgorCQkJKChfX3UxNiAqKWJ1ZilbaSAqIHR5cGVfbGVuXSA9IGludyhpb19hZGRyKTsKKwkJ
CWJyZWFrOworCQljYXNlIDQ6CisJCQkoKF9fdTMyICopYnVmKVtpICogdHlwZV9sZW5dID0gaW5s
KGlvX2FkZHIpOworCQkJYnJlYWs7CisJCWNhc2UgODoKKwkJCSgoX191NjQgICopYnVmKVtpICog
dHlwZV9sZW5dID0gaW5xKGlvX2FkZHIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlVS19D
UkFTSCgiVW5zdXBwb3J0ZWQgdmlydGlvIHJlYWQgb3BlcmF0aW9uXG4iKTsKKwkJfQorCX0KK30K
KyNlbHNlICAvKiBfX1g4Nl82NF9fICovCisjZXJyb3IgIlZpcnRpbyBkcml2ZXIgbm90IHN1cHBv
cnRlZCBmb3IgdGhpcyBhcmNoaXRlY3R1cmUiCisjZW5kaWYgLyogX19YODZfNjRfXyAqLworCisv
KioKKyAqIFJlYWQgdGhlIHZpcnRpbyBkZXZpY2UgY29uZmlndXJhdGlvbiBvZiBzcGVjaWZpZWQg
bGVuZ3RoLgorICoKKyAqIEBwYXJhbSBhZGRyCisgKiAgIFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhl
IGRldmljZS4KKyAqIEBwYXJhbSBvZmZzZXQKKyAqICAgVGhlIG9mZnNldCB3aXRoIHRoZSBkZXZp
Y2UgYWRkcmVzcyBzcGFjZS4KKyAqIEBwYXJhbSBidWYKKyAqICAgIFRoZSBkZXN0aW5hdGlvbiBi
dWZmZXIgdG8gd2hpY2ggdGhlIHZhbHVlIGhhcyB0byBiZSBjb3BpZWQuCisgKiBAcGFyYW0gbGVu
CisgKiAgICBUaGUgbGVuZ3RoIG9mIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCisgKi8KK3N0YXRp
YyBpbmxpbmUgaW50IHZpcnRpb19jcmVhZF9ieXRlc19tYW55KGNvbnN0IHZvaWQgKmFkZHIsIGNv
bnN0IF9fdTggb2Zmc2V0LAorCQkJCQkgIF9fdTggKmJ1ZiwgX191MzIgbGVuKQoreworCV9fdTgg
b2xkX2J1ZltsZW5dOworCWludCBjaGVjayA9IC0xOworCWludCBjbnQgPSAwOworCV9fdTMyIGkg
PSAwOworCisJZG8geworCQljaGVjayA9IGxlbjsKKwkJX3ZpcnRpb19jcmVhZF9ieXRlcyhhZGRy
LCBvZmZzZXQsICZvbGRfYnVmWzBdLCBsZW4sIDEpOworCQlfdmlydGlvX2NyZWFkX2J5dGVzKGFk
ZHIsIG9mZnNldCwgYnVmLCBsZW4sIDEpOworCisJCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykg
eworCQkJaWYgKHVubGlrZWx5KGJ1ZltpXSAhPSBvbGRfYnVmW2ldKSkgeworCQkJCWNoZWNrID0g
LTE7IC8qIE5lZWQgdG8gcmV0cnkgY29uZmlndXJhdGlvbiAqLworCQkJCWJyZWFrOworCQkJfQor
CQl9CisJCWNudCsrOworCX0gd2hpbGUgKGNoZWNrID09IC0xICYmIGNudCA8IE1BWF9UUllfQ09V
TlQpOworCisJcmV0dXJuIGNoZWNrOworfQorCisvKioKKyAqIFJlYWQgdGhlIHNpbmdsZSBieXRl
IGNvbmZpZ3VyYXRpb24uCisgKgorICogQHBhcmFtIGFkZHIKKyAqICAgVGhlIGJhc2UgYWRkcmVz
cyBvZiB0aGUgZGV2aWNlLgorICogQHBhcmFtIG9mZnNldAorICogICBUaGUgb2Zmc2V0IHdpdGgg
dGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgorICogQHJldHVybiBfX3U4CisgKiAgIFJldHVybnMg
dGhlIHZhbHVlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuCisgKi8KK3N0YXRpYyBpbmxpbmUgX191
OCB2aXJ0aW9fY3JlYWQ4KGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9fdTggb2Zmc2V0KQorewor
CV9fdTggYnVmID0gMDsKKworCV92aXJ0aW9fY3JlYWRfYnl0ZXMoYWRkciwgb2Zmc2V0LCAmYnVm
LCBzaXplb2YoYnVmKSwgc2l6ZW9mKGJ1ZikpOworCXJldHVybiBidWY7Cit9CisKKy8qKgorICog
UmVhZCB0aGUgc2luZ2xlIHdvcmQgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYWRkcgor
ICogICBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2UuCisgKiBAcGFyYW0gb2Zmc2V0Cisg
KiAgIFRoZSBvZmZzZXQgd2l0aCB0aGUgZGV2aWNlIGFkZHJlc3Mgc3BhY2UuCisgKiBAcmV0dXJu
IF9fdTE2CisgKiAgIFJldHVybnMgdGhlIHZhbHVlIGNvbmZpZ3VyYXRpb24gcmVnaXN0ZXIuCisg
Ki8KK3N0YXRpYyBpbmxpbmUgX191MTYgdmlydGlvX2NyZWFkMTYoY29uc3Qgdm9pZCAqYWRkciwg
Y29uc3QgX191OCBvZmZzZXQpCit7CisJX191MTYgYnVmID0gMDsKKworCV92aXJ0aW9fY3JlYWRf
Ynl0ZXMoYWRkciwgb2Zmc2V0LCAmYnVmLCBzaXplb2YoYnVmKSwgc2l6ZW9mKGJ1ZikpOworCXJl
dHVybiBidWY7Cit9CisKKy8qKgorICogUmVhZCB0aGUgc2luZ2xlIGxvbmcgd29yZCBjb25maWd1
cmF0aW9uLgorICoKKyAqIEBwYXJhbSBhZGRyCisgKiAgIFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhl
IGRldmljZS4KKyAqIEBwYXJhbSBvZmZzZXQKKyAqICAgVGhlIG9mZnNldCB3aXRoIHRoZSBkZXZp
Y2UgYWRkcmVzcyBzcGFjZS4KKyAqIEByZXR1cm4gX191MzIKKyAqICAgUmV0dXJucyB0aGUgdmFs
dWUgY29uZmlndXJhdGlvbiByZWdpc3Rlci4KKyAqLworc3RhdGljIGlubGluZSBfX3UzMiB2aXJ0
aW9fY3JlYWQzMihjb25zdCB2b2lkICphZGRyLCBjb25zdCBfX3U4IG9mZnNldCkKK3sKKwlfX3Uz
MiBidWYgPSAwOworCisJX3ZpcnRpb19jcmVhZF9ieXRlcyhhZGRyLCBvZmZzZXQsICZidWYsIHNp
emVvZihidWYpLCBzaXplb2YoYnVmKSk7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoqCisgKiBXcml0
ZSB0aGUgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYWRkcgorICogICBUaGUgYmFzZSBh
ZGRyZXNzIG9mIHRoZSBkZXZpY2UuCisgKiBAcGFyYW0gb2Zmc2V0CisgKiAgIFRoZSBvZmZzZXQg
d2l0aCB0aGUgZGV2aWNlIGFkZHJlc3Mgc3BhY2UuCisgKiBAcGFyYW0gZGF0YQorICogICBUaGUg
dmFsdWUgdG8gd3JpdGUgdG8gdGhlIGNvbmZpZ3VyYXRpb24uCisgKi8KK3N0YXRpYyBpbmxpbmUg
dm9pZCB2aXJ0aW9fY3dyaXRlOChjb25zdCB2b2lkICphZGRyLCBjb25zdCBfX3U4IG9mZnNldCwK
KwkJCQkgIGNvbnN0IF9fdTggZGF0YSkKK3sKKwlfdmlydGlvX2N3cml0ZV9ieXRlcyhhZGRyLCBv
ZmZzZXQsICZkYXRhLCBzaXplb2YoZGF0YSksIHNpemVvZihkYXRhKSk7Cit9CisKKy8qKgorICog
V3JpdGUgdGhlIGNvbmZpZ3VyYXRpb24uCisgKgorICogQHBhcmFtIGFkZHIKKyAqICAgVGhlIGJh
c2UgYWRkcmVzcyBvZiB0aGUgZGV2aWNlLgorICogQHBhcmFtIG9mZnNldAorICogICBUaGUgb2Zm
c2V0IHdpdGggdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgorICogQHBhcmFtIGRhdGEKKyAqICAg
VGhlIHZhbHVlIHRvIHdyaXRlIHRvIHRoZSBjb25maWd1cmF0aW9uLgorICovCitzdGF0aWMgaW5s
aW5lIHZvaWQgdmlydGlvX2N3cml0ZTE2KGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9fdTggb2Zm
c2V0LAorCQkJCSAgIGNvbnN0IF9fdTE2IGRhdGEpCit7CisJX3ZpcnRpb19jd3JpdGVfYnl0ZXMo
YWRkciwgb2Zmc2V0LCAmZGF0YSwgc2l6ZW9mKGRhdGEpLCBzaXplb2YoZGF0YSkpOworfQorCisv
KioKKyAqIFdyaXRlIHRoZSBjb25maWd1cmF0aW9uLgorICoKKyAqIEBwYXJhbSBhZGRyCisgKiAg
IFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIGRldmljZS4KKyAqIEBwYXJhbSBvZmZzZXQKKyAqICAg
VGhlIG9mZnNldCB3aXRoIHRoZSBkZXZpY2UgYWRkcmVzcyBzcGFjZS4KKyAqIEBwYXJhbSBkYXRh
CisgKiAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlvbi4KKyAqLworc3Rh
dGljIGlubGluZSB2b2lkIHZpcnRpb19jd3JpdGUzMihjb25zdCB2b2lkICphZGRyLCBjb25zdCBf
X3U4IG9mZnNldCwKKwkJCQkgICBjb25zdCBfX3UzMiBkYXRhKQoreworCV92aXJ0aW9fY3dyaXRl
X2J5dGVzKGFkZHIsIG9mZnNldCwgJmRhdGEsIHNpemVvZihkYXRhKSwgc2l6ZW9mKGRhdGEpKTsK
K30KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8K
KworI2VuZGlmIC8qIF9fUExBVF9EUlZfVklSVElPX0NPTkZJR19IICovCmRpZmYgLS1naXQgYS9w
bGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2lkcy5oIGIvcGxhdC9kcml2ZXJzL2lu
Y2x1ZGUvdmlydGlvL3ZpcnRpb19pZHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5jNzBkZTIzCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19pZHMuaApAQCAtMCwwICsxLDY0IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRp
ZmllcjogQlNELTMtQ2xhdXNlICovCisvKioKKyAqIFZpcnRpbyBJRHMKKyAqCisgKiBUaGlzIGhl
YWRlciBpcyBCU0QgbGljZW5zZWQgc28gYW55b25lIGNhbiB1c2UgdGhlIGRlZmluaXRpb25zIHRv
IGltcGxlbWVudAorICogY29tcGF0aWJsZSBkcml2ZXJzL3NlcnZlcnMuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAz
LiBOZWl0aGVyIHRoZSBuYW1lIG9mIElCTSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRv
cnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZ
UklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgSUJNIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1B
R0UuCisgKi8KKy8qKgorICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gTGludXggS2VybmVsLgor
ICogaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb19pZHMuaAorICoKKyAqIENvbW1pdC1pZDpkYmFm
MDYyNGZmYTUKKyAqLworI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19JRFNfSAorI2RlZmluZSBf
X1BMQVRfRFJWX1ZJUlRJT19JRFNfSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIg
eworI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCisKKyNkZWZpbmUgVklSVElPX0lEX0lOVkFM
SUQgICAgICAgMCAvKiBJbnZhbGlkIGRldmljZSAoUmVzZXJ2ZWQpICovCisjZGVmaW5lIFZJUlRJ
T19JRF9ORVQJCTEgLyogdmlydGlvIG5ldCAqLworI2RlZmluZSBWSVJUSU9fSURfQkxPQ0sJCTIg
LyogdmlydGlvIGJsb2NrICovCisjZGVmaW5lIFZJUlRJT19JRF9DT05TT0xFCTMgLyogdmlydGlv
IGNvbnNvbGUgKi8KKyNkZWZpbmUgVklSVElPX0lEX1JORwkJNCAvKiB2aXJ0aW8gcm5nICovCisj
ZGVmaW5lIFZJUlRJT19JRF9CQUxMT09OCTUgLyogdmlydGlvIGJhbGxvb24gKi8KKyNkZWZpbmUg
VklSVElPX0lEX1JQTVNHCQk3IC8qIHZpcnRpbyByZW1vdGUgcHJvY2Vzc29yIG1lc3NhZ2luZyAq
LworI2RlZmluZSBWSVJUSU9fSURfU0NTSQkJOCAvKiB2aXJ0aW8gc2NzaSAqLworI2RlZmluZSBW
SVJUSU9fSURfOVAJCTkgLyogOXAgdmlydGlvIGNvbnNvbGUgKi8KKyNkZWZpbmUgVklSVElPX0lE
X1JQUk9DX1NFUklBTCAxMSAvKiB2aXJ0aW8gcmVtb3RlcHJvYyBzZXJpYWwgbGluayAqLworI2Rl
ZmluZSBWSVJUSU9fSURfQ0FJRgkgICAgICAgMTIgLyogVmlydGlvIGNhaWYgKi8KKyNkZWZpbmUg
VklSVElPX0lEX0dQVSAgICAgICAgICAxNiAvKiB2aXJ0aW8gR1BVICovCisjZGVmaW5lIFZJUlRJ
T19JRF9JTlBVVCAgICAgICAgMTggLyogdmlydGlvIGlucHV0ICovCisjZGVmaW5lIFZJUlRJT19J
RF9WU09DSyAgICAgICAgMTkgLyogdmlydGlvIHZzb2NrIHRyYW5zcG9ydCAqLworI2RlZmluZSBW
SVJUSU9fSURfQ1JZUFRPICAgICAgIDIwIC8qIHZpcnRpbyBjcnlwdG8gKi8KKworI2lmZGVmIF9f
Y3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8KKworI2VuZGlmIC8qIF9f
UExBVF9EUlZfVklSVElPX0lEU19IICovCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvX3BjaS5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRp
b19wY2kuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTQyNzgxCi0tLSAv
ZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19wY2kuaApA
QCAtMCwwICsxLDcwIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogSVNDICovCisvKgor
ICogQXV0aG9yczogRGFuIFdpbGxpYW1zCisgKiAgICAgICAgICBDb3N0aW4gTHVwdSA8Y29zdGlu
Lmx1cHVAY3MucHViLnJvPgorICogICAgICAgICAgU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNh
bnRoYW5hbUBuZWNsYWIuZXU+CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE1LCBJQk0KKyAqIENv
cHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24KKyAqCisg
KiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlz
IHNvZnR3YXJlCisgKiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJl
YnkgZ3JhbnRlZCwgcHJvdmlkZWQKKyAqIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Ug
YW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyCisgKiBpbiBhbGwgY29waWVzLgorICoK
KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NM
QUlNUyBBTEwKKyAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNM
VURJTkcgQUxMIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFO
WSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUworICogT0YgVVNF
LCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAorICog
TkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElO
CisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRX
QVJFLgorICovCisvKiBUYWtlbiBhbmQgYWRhcHRlZCBmcm9tIHNvbG81IHZpcnRpb19wY2kuaCAq
LworCisjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX1BDSV9IX18KKyNkZWZpbmUgX19QTEFUX0RS
Vl9WSVJUSU9fUENJX0hfXworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2Vu
ZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCisKKy8qIHZpcnRpbyBjb25maWcgc3BhY2UgbGF5b3V0
ICovCisvKiBUT0RPIHdlIGN1cnJlbnRseSBzdXBwb3J0IG9ubHkgdGhlIGxlZ2FjeSBpbnRlcmZh
Y2UgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9IT1NUX0ZFQVRVUkVTICAgICAgICAwICAgIC8qIDMy
LWJpdCByL28gKi8KKyNkZWZpbmUgVklSVElPX1BDSV9HVUVTVF9GRUFUVVJFUyAgICAgICA0ICAg
IC8qIDMyLWJpdCByL3cgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9QRk4gICAgICAgICAg
ICA4ICAgIC8qIDMyLWJpdCByL3cgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9TSVpFICAg
ICAgICAgICAxMiAgIC8qIDE2LWJpdCByL28gKi8KKyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9T
RUwgICAgICAgICAgICAxNCAgIC8qIDE2LWJpdCByL3cgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9R
VUVVRV9OT1RJRlkgICAgICAgICAxNiAgIC8qIDE2LWJpdCByL3cgKi8KKworLyoKKyAqIFNoaWZ0
IHNpemUgdXNlZCBmb3Igd3JpdGluZyBwaHlzaWNhbCBxdWV1ZSBhZGRyZXNzIHRvIFFVRVVFX1BG
TgorICovCisjZGVmaW5lIFZJUlRJT19QQ0lfUVVFVUVfQUREUl9TSElGVCAgICAgMTIKKworLyoK
KyAqIFRoZSBzdGF0dXMgcmVnaXN0ZXIgbGV0cyB1cyB0ZWxsIHRoZSBkZXZpY2Ugd2hlcmUgd2Ug
YXJlIGluCisgKiBpbml0aWFsaXphdGlvbgorICovCisjZGVmaW5lIFZJUlRJT19QQ0lfU1RBVFVT
ICAgICAgICAgICAgICAgMTggICAvKiA4LWJpdCByL3cgKi8KKworLyoKKyAqIFJlYWRpbmcgdGhl
IHZhbHVlIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBpbnRlcnJ1cHQK
KyAqIHN0YXR1cyByZWdpc3RlciBhbmQgd2lsbCBhbHNvIGNsZWFyIGl0LiAgVGhpcyBpcyBlZmZl
Y3RpdmVseSBhCisgKiByZWFkLWFuZC1hY2tub3dsZWRnZS4KKyAqLworI2RlZmluZSBWSVJUSU9f
UENJX0lTUiAgICAgICAgICAgICAgICAgIDE5ICAgLyogOC1iaXQgci9vICovCisjZGVmaW5lIFZJ
UlRJT19QQ0lfSVNSX0hBU19JTlRSICAgICAgICAgMHgxICAvKiBpbnRlcnJ1cHQgaXMgZm9yIHRo
aXMgZGV2aWNlICovCisjZGVmaW5lIFZJUlRJT19QQ0lfSVNSX0NPTkZJRyAgICAgICAgICAgMHgy
ICAvKiBjb25maWcgY2hhbmdlIGJpdCAqLworCisvKiBUT0RPIFJldmlzaXQgd2hlbiBhZGRpbmcg
TVNJIHN1cHBvcnQuICovCisjZGVmaW5lIFZJUlRJT19QQ0lfQ09ORklHX09GRiAgICAgICAgICAg
MjAKKyNkZWZpbmUgVklSVElPX1BDSV9WUklOR19BTElHTiAgICAgICAgICA0MDk2CisKKyNpZmRl
ZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCisKKyNlbmRpZiAv
KiBfX1BMQVRfRFJWX1ZJUlRJT19QQ0lfSF9fICovCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMv
aW5jbHVkZS92aXJ0aW8vdmlydGlvX3JpbmcuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRp
by92aXJ0aW9fcmluZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmNjU1
OTQKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlv
X3JpbmcuaApAQCAtMCwwICsxLDE5NiBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT
RC0zLUNsYXVzZSAqLworLyogQW4gaW50ZXJmYWNlIGZvciBlZmZpY2llbnQgdmlydGlvIGltcGxl
bWVudGF0aW9uLCBjdXJyZW50bHkgZm9yIHVzZSBieSBLVk0sCisgKiBidXQgaG9wZWZ1bGx5IG90
aGVycyBzb29uLiAgRG8gTk9UIGNoYW5nZSB0aGlzIHNpbmNlIGl0IHdpbGwKKyAqIGJyZWFrIGV4
aXN0aW5nIHNlcnZlcnMgYW5kIGNsaWVudHMuCisgKgorICogVGhpcyBoZWFkZXIgaXMgQlNEIGxp
Y2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9ucyB0byBpbXBsZW1lbnQKKyAq
IGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUg
bmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMg
c29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIElCTSBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIENv
cHlyaWdodCBSdXN0eSBSdXNzZWxsIElCTSBDb3Jwb3JhdGlvbiAyMDA3LiAqLworLyoqCisgKiBU
YWtlbiBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eC4KKyAqIGluY2x1ZGUvdWFwaS9saW51eC92aXJ0
aW9fcmluZy5oCisgKgorICogQ29tbWl0IGlkOiBlY2RhODVlNzAyNzcKKyAqLworCisjaWZuZGVm
IF9fUExBVF9EUlZfVklSVElPX1JJTkdfSF9fCisjZGVmaW5lIF9fUExBVF9EUlZfVklSVElPX1JJ
TkdfSF9fCisKKyNpbmNsdWRlIDx1ay9hcmNoL2xpbWl0cy5oPgorI2luY2x1ZGUgPHZpcnRpby92
aXJ0aW9fdHlwZXMuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZiAvKiBfX2NwbHVzcGx1cyBfXyAqLworCisjaWYgX19CWVRFX09SREVSX18gIT0gIF9fT1JERVJf
TElUVExFX0VORElBTl9fCisjZXJyb3IgIlBsZWFzZSBkZWZpbmUgY29udmVyc2lvbiBmdW5jdGlv
bnMgZnJvbSBob3N0IHRvIGxpdHRsZSBlbmRpYW4hIgorI2VuZGlmCisKKy8qIFRoaXMgbWFya3Mg
YSBidWZmZXIgYXMgY29udGludWluZyB2aWEgdGhlIG5leHQgZmllbGQuICovCisjZGVmaW5lIFZS
SU5HX0RFU0NfRl9ORVhUICAgICAgIDEKKy8qIFRoaXMgbWFya3MgYSBidWZmZXIgYXMgd3JpdGUt
b25seSAob3RoZXJ3aXNlIHJlYWQtb25seSkuICovCisjZGVmaW5lIFZSSU5HX0RFU0NfRl9XUklU
RSAgICAgIDIKKy8qIFRoaXMgbWVhbnMgdGhlIGJ1ZmZlciBjb250YWlucyBhIGxpc3Qgb2YgYnVm
ZmVyIGRlc2NyaXB0b3JzLiAqLworI2RlZmluZSBWUklOR19ERVNDX0ZfSU5ESVJFQ1QgICA0CisK
Ky8qCisgKiBUaGUgZGV2aWNlIHVzZXMgdGhpcyBpbiB1c2VkLT5mbGFncyB0byBhZHZpc2UgdGhl
IGRyaXZlcjoKKyAqIGRvbid0IGtpY2sgbWUgd2hlbiB5b3UgYWRkIGEgYnVmZmVyLiBJdCdzIHVu
cmVsaWFibGUsIHNvCisgKiBpdCdzIHNpbXBseSBhbiBvcHRpbWl6YXRpb24uCisgKi8KKyNkZWZp
bmUgVlJJTkdfVVNFRF9GX05PX05PVElGWSAgMQorCisvKgorICogVGhlIGRyaXZlciB1c2VzIHRo
aXMgaW4gYXZhaWwtPmZsYWdzIHRvIGFkdmlzZSB0aGUgZGV2aWNlOgorICogZG9uJ3QgaW50ZXJy
dXB0IG1lIHdoZW4geW91IGNvbnN1bWUgYSBidWZmZXIuIEl0J3MgdW5yZWxpYWJsZSwgc28KKyAq
IGl0J3Mgc2ltcGx5IGFuIG9wdGltaXphdGlvbi4KKyAqLworI2RlZmluZSBWUklOR19BVkFJTF9G
X05PX0lOVEVSUlVQVCAgICAgIDEKKworLyogU3VwcG9ydCBmb3IgaW5kaXJlY3QgZGVzY3JpcHRv
cnMgKi8KKyNkZWZpbmUgVklSVElPX0ZfSU5ESVJFQ1RfREVTQyAgICAyOAorCisvKiBTdXBwb3J0
IGZvciBhdmFpbF9ldmVudCBhbmQgdXNlZF9ldmVudCBmaWVsZHMgKi8KKyNkZWZpbmUgVklSVElP
X0ZfRVZFTlRfSURYICAgICAgICAyOQorCisvKiBBcmJpdHJhcnkgZGVzY3JpcHRvciBsYXlvdXRz
LiAqLworI2RlZmluZSBWSVJUSU9fRl9BTllfTEFZT1VUICAgICAgIDI3CisKKy8qKgorICogVmly
dHF1ZXVlIGRlc2NyaXB0b3JzOiAxNiBieXRlcy4KKyAqIFRoZXNlIGNhbiBjaGFpbiB0b2dldGhl
ciB2aWEgIm5leHQiLgorICovCitzdHJ1Y3QgdnJpbmdfZGVzYyB7CisJLyogQWRkcmVzcyAoZ3Vl
c3QtcGh5c2ljYWwpLiAqLworCV9fdmlydGlvX2xlNjQgYWRkcjsKKwkvKiBMZW5ndGguICovCisJ
X192aXJ0aW9fbGUzMiBsZW47CisJLyogVGhlIGZsYWdzIGFzIGluZGljYXRlZCBhYm92ZS4gKi8K
KwlfX3ZpcnRpb19sZTE2IGZsYWdzOworCS8qIFdlIGNoYWluIHVudXNlZCBkZXNjcmlwdG9ycyB2
aWEgdGhpcywgdG9vICovCisJX192aXJ0aW9fbGUxNiBuZXh0OworfTsKKworc3RydWN0IHZyaW5n
X2F2YWlsIHsKKwlfX3ZpcnRpb19sZTE2IGZsYWdzOworCV9fdmlydGlvX2xlMTYgaWR4OworCV9f
dmlydGlvX2xlMTYgcmluZ1tdOworCS8qIE9ubHkgaWYgVklSVElPX0ZfRVZFTlRfSURYOiBfX3Zp
cnRpb19sZTE2IHVzZWRfZXZlbnQ7ICovCit9OworCisvKiBfX3ZpcnRpb19sZTMyIGlzIHVzZWQg
aGVyZSBmb3IgaWRzIGZvciBwYWRkaW5nIHJlYXNvbnMuICovCitzdHJ1Y3QgdnJpbmdfdXNlZF9l
bGVtIHsKKwkvKiBJbmRleCBvZiBzdGFydCBvZiB1c2VkIGRlc2NyaXB0b3IgY2hhaW4uICovCisJ
X192aXJ0aW9fbGUzMiBpZDsKKwkvKiBUb3RhbCBsZW5ndGggb2YgdGhlIGRlc2NyaXB0b3IgY2hh
aW4gd2hpY2ggd2FzIHdyaXR0ZW4gdG8uICovCisJX192aXJ0aW9fbGUzMiBsZW47Cit9OworCitz
dHJ1Y3QgdnJpbmdfdXNlZCB7CisJX192aXJ0aW9fbGUxNiBmbGFnczsKKwlfX3ZpcnRpb19sZTE2
IGlkeDsKKwlzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtIHJpbmdbXTsKKwkvKiBPbmx5IGlmIFZJUlRJ
T19GX0VWRU5UX0lEWDogX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudDsgKi8KK307CisKK3N0cnVj
dCB2cmluZyB7CisJdW5zaWduZWQgaW50IG51bTsKKworCXN0cnVjdCB2cmluZ19kZXNjICpkZXNj
OworCXN0cnVjdCB2cmluZ19hdmFpbCAqYXZhaWw7CisJc3RydWN0IHZyaW5nX3VzZWQgKnVzZWQ7
Cit9OworCisvKiBUaGUgc3RhbmRhcmQgbGF5b3V0IGZvciB0aGUgcmluZyBpcyBhIGNvbnRpbnVv
dXMgY2h1bmsgb2YgbWVtb3J5IHdoaWNoCisgKiBsb29rcyBsaWtlIHRoaXMuICBXZSBhc3N1bWUg
bnVtIGlzIGEgcG93ZXIgb2YgMi4KKyAqCisgKiBzdHJ1Y3QgdnJpbmcgeworICogICAgICAvLyBU
aGUgYWN0dWFsIGRlc2NyaXB0b3JzICgxNiBieXRlcyBlYWNoKQorICogICAgICBzdHJ1Y3QgdnJp
bmdfZGVzYyBkZXNjW251bV07CisgKgorICogICAgICAvLyBBIHJpbmcgb2YgYXZhaWxhYmxlIGRl
c2NyaXB0b3IgaGVhZHMgd2l0aCBmcmVlLXJ1bm5pbmcgaW5kZXguCisgKiAgICAgIF9fdmlydGlv
X2xlMTYgYXZhaWxfZmxhZ3M7CisgKiAgICAgIF9fdmlydGlvX2xlMTYgYXZhaWxfaWR4OworICog
ICAgICBfX3ZpcnRpb19sZTE2IGF2YWlsYWJsZVtudW1dOworICogICAgICBfX3ZpcnRpb19sZTE2
IHVzZWRfZXZlbnRfaWR4OworICoKKyAqICAgICAgLy8gUGFkZGluZyB0byB0aGUgbmV4dCBhbGln
biBib3VuZGFyeS4KKyAqICAgICAgY2hhciBwYWRbXTsKKyAqCisgKiAgICAgIC8vIEEgcmluZyBv
ZiB1c2VkIGRlc2NyaXB0b3IgaGVhZHMgd2l0aCBmcmVlLXJ1bm5pbmcgaW5kZXguCisgKiAgICAg
IF9fdmlydGlvX2xlMTYgdXNlZF9mbGFnczsKKyAqICAgICAgX192aXJ0aW9fbGUxNiB1c2VkX2lk
eDsKKyAqICAgICAgc3RydWN0IHZyaW5nX3VzZWRfZWxlbSB1c2VkW251bV07CisgKiAgICAgIF9f
dmlydGlvX2xlMTYgYXZhaWxfZXZlbnRfaWR4OworICogfTsKKyAqCisgKiBOT1RFOiBmb3IgVmly
dElPIFBDSSwgYWxpZ24gaXMgNDA5Ni4KKyAqLworCisvKioKKyAqIFdlIHB1Ymxpc2ggdGhlIHVz
ZWQgZXZlbnQgaW5kZXggYXQgdGhlIGVuZCBvZiB0aGUgYXZhaWxhYmxlIHJpbmcsIGFuZCB2aWNl
CisgKiB2ZXJzYS4gVGhleSBhcmUgYXQgdGhlIGVuZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxp
dHkuCisgKi8KKyNkZWZpbmUgdnJpbmdfdXNlZF9ldmVudCh2cikgKCh2ciktPmF2YWlsLT5yaW5n
Wyh2ciktPm51bV0pCisjZGVmaW5lIHZyaW5nX2F2YWlsX2V2ZW50KHZyKSAoKihfX3ZpcnRpbzE2
ICopJih2ciktPnVzZWQtPnJpbmdbKHZyKS0+bnVtXSkKKworc3RhdGljIGlubGluZSB2b2lkIHZy
aW5nX2luaXQoc3RydWN0IHZyaW5nICp2ciwgdW5zaWduZWQgaW50IG51bSwgdWludDhfdCAqcCwK
KwkJCSAgICAgIHVuc2lnbmVkIGxvbmcgYWxpZ24pCit7CisJdnItPm51bSA9IG51bTsKKwl2ci0+
ZGVzYyA9IChzdHJ1Y3QgdnJpbmdfZGVzYyAqKSBwOworCXZyLT5hdmFpbCA9IChzdHJ1Y3QgdnJp
bmdfYXZhaWwgKikgKHAgKworCQkJbnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjKSk7CisJ
dnItPnVzZWQgPSAodm9pZCAqKQorCSgoKHVuc2lnbmVkIGxvbmcpICZ2ci0+YXZhaWwtPnJpbmdb
bnVtXSArIGFsaWduIC0gMSkgJiB+KGFsaWduIC0gMSkpOworfQorCitzdGF0aWMgaW5saW5lIHVu
c2lnbmVkIGludCB2cmluZ19zaXplKHVuc2lnbmVkIGludCBudW0sIHVuc2lnbmVkIGxvbmcgYWxp
Z24pCit7CisJaW50IHNpemU7CisKKwlzaXplID0gbnVtICogc2l6ZW9mKHN0cnVjdCB2cmluZ19k
ZXNjKTsKKwlzaXplICs9IHNpemVvZihzdHJ1Y3QgdnJpbmdfYXZhaWwpICsgKG51bSAqIHNpemVv
Zih1aW50MTZfdCkpICsKKwkJc2l6ZW9mKHVpbnQxNl90KTsKKwlzaXplID0gKHNpemUgKyBhbGln
biAtIDEpICYgfihhbGlnbiAtIDEpOworCXNpemUgKz0gc2l6ZW9mKHN0cnVjdCB2cmluZ191c2Vk
KSArCisJICAgIChudW0gKiBzaXplb2Yoc3RydWN0IHZyaW5nX3VzZWRfZWxlbSkpICsgc2l6ZW9m
KHVpbnQxNl90KTsKKwlyZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIGlubGluZSBpbnQgdnJpbmdf
bmVlZF9ldmVudChfX3UxNiBldmVudF9pZHgsIF9fdTE2IG5ld19pZHgsCisJCQkJICAgX191MTYg
b2xkX2lkeCkKK3sKKwlyZXR1cm4gKG5ld19pZHggLSBldmVudF9pZHggLSAxKSA8IChuZXdfaWR4
IC0gb2xkX2lkeCk7Cit9CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3Bs
dXNwbHVzIF9fICovCisKKyNlbmRpZiAvKiBfX1BMQVRfRFJWX1ZJUlRJT19SSU5HX0hfXyAqLwpk
aWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb190eXBlcy5oIGIv
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb190eXBlcy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4MDRjMmMKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2Ry
aXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5cGVzLmgKQEAgLTAsMCArMSw2MiBAQAorLyog
U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyogVHlwZSBkZWZpbml0
aW9ucyBmb3IgdmlydGlvIGltcGxlbWVudGF0aW9ucy4KKyAqCisgKiBUaGlzIGhlYWRlciBpcyBC
U0QgbGljZW5zZWQgc28gYW55b25lIGNhbiB1c2UgdGhlIGRlZmluaXRpb25zIHRvIGltcGxlbWVu
dAorICogY29tcGF0aWJsZSBkcml2ZXJzL3NlcnZlcnMuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVy
IHRoZSBuYW1lIG9mIElCTSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAg
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
SUJNIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICog
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgor
ICogQ29weXJpZ2h0IChDKSAyMDE0IFJlZCBIYXQsIEluYy4KKyAqIEF1dGhvcjogTWljaGFlbCBT
LiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KKyAqCSAgIFNoYXJhbiBTYW50aGFuYW0gPHNoYXJh
bi5zYW50aGFuYW1AbmVjbGFiLmV1PgorICovCisvKioKKyAqIFRha2VuIGFuZCBtb2RpZmllZCBm
cm9tIExpbnV4IEtlcm5lbC4KKyAqIGluY2x1ZGUvdWFwaS9saW51eC92aXJ0aW9fdHlwZXMuaAor
ICoKKyAqIENvbW1pdC1pZDogOWVmZWNjYWNkM2E0CisgKi8KKyNpZm5kZWYgX19QTEFUX0RSVl9W
SVJUSU9fVFlQRVNfSAorI2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19UWVBFU19ICisKKyNpbmNs
dWRlIDx1ay9hcmNoL3R5cGVzLmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7
CisjZW5kaWYgLyogX19jcGx1c3BsdXMgICovCisKKy8qKgorICogX192aXJ0aW97MTYsMzIsNjR9
IGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5nOgorICogLSBfX3V7MTYsMzIsNjR9IGZvciB2aXJ0
aW8gZGV2aWNlcyBpbiBsZWdhY3kgbW9kZSwgYWNjZXNzZWQgaW4gbmF0aXZlIGVuZGlhbgorICog
LSBfX2xlezE2LDMyLDY0fSBmb3Igc3RhbmRhcmQtY29tcGxpYW50IHZpcnRpbyBkZXZpY2VzCisg
Ki8KK3R5cGVkZWYgX191MTYgX192aXJ0aW9fbGUxNjsKK3R5cGVkZWYgX191MzIgX192aXJ0aW9f
bGUzMjsKK3R5cGVkZWYgX191NjQgX192aXJ0aW9fbGU2NDsKKworI2lmZGVmIF9fY3BsdXNwbHVz
Cit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgICovCisKKyNlbmRpZiAvKiBfX1BMQVRfRFJWX1ZJ
UlRJT19UWVBFU19IICovCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV3-0004NW-Gr; Fri, 19 Oct 2018 13:07:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUV2-0004NE-85
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:32 +0000
X-Inumbo-ID: 2250364c-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 2250364c-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:08:56 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 98946F2057;
 Fri, 19 Oct 2018 15:07:29 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Bx77Dyux73L6; Fri, 19 Oct 2018 15:07:29 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 6FB8FF2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:27 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:27 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:46 +0200
Message-ID: <1539954410-4800-4-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 3/7] plat/drivers: Introduce the
 virtio bus
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSB2aXJ0aW8gYnVzIHRvIGJyaWRnZSB0aGUgdmlydGlv
IGRldmljZSB3aXRoCnRoZSBidXMuIFdlIGludHJvZHVjZSB0aGUgZnVuY3Rpb25zIHRvIGFkZCBk
cml2ZXIgdG8gY29udHJvbCB0aGUgdmlydGlvCmRldmljZS4KClNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaCB8IDEzMCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgICAgIHwgMTA5ICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrCiBwbGF0L2t2bS9Db25maWcudWsgICAgICAgICAg
ICAgICAgICAgfCAgMTEgKysrCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAg
fCAgMTIgKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyNjIgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCgpkaWZmIC0tZ2l0IGEv
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oIGIvcGxhdC9kcml2ZXJzL2luY2x1
ZGUvdmlydGlvL3ZpcnRpby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0
NzFjYWIKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dGlvLmgKQEAgLTAsMCArMSwxMzAgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt
My1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2Fu
dGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUg
THRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBu
YW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9y
IHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMg
SEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8K
KworI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19ICisjZGVmaW5lIF9fUExBVF9EUlZfVklSVElP
X0gKKworI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVk
ZSA8dWsvZXJycHRyLmg+CisjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgorI2luY2x1ZGUgPHVr
L2FyY2gvbGNwdS5oPgorI2luY2x1ZGUgPHVrL2FsbG9jLmg+CisjaW5jbHVkZSA8dmlydGlvL3Zp
cnRpb19jb25maWcuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRp
ZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZGVmaW5lIFZJUlRJT19GRUFUVVJFU19VUERBVEUoZmVh
dHVyZXMsIGJwb3MpCVwKKwkoZmVhdHVyZXMgfD0gKDFVTEwgPDwgYnBvcykpCisKK3N0cnVjdCB2
aXJ0aW9fZGV2OwordHlwZWRlZiBpbnQgKCp2aXJ0aW9fZHJpdmVyX2luaXRfZnVuY190KShzdHJ1
Y3QgdWtfYWxsb2MgKik7Cit0eXBlZGVmIGludCAoKnZpcnRpb19kcml2ZXJfYWRkX2Z1bmNfdCko
c3RydWN0IHZpcnRpb19kZXYgKik7CisKK3R5cGVkZWYgZW51bSB2aXJ0aW9fZGV2X3N0YXR1c190
IHsKKwkvKiogRGV2aWNlIHJlc2V0ICovCisJVklSVElPX0RFVl9SRVNFVCwKKwkvKiogRGV2aWNl
IEFja25vd2xlZGdlIGFuZCByZWFkeSB0byBiZSBjb25maWd1cmVkICovCisJVklSVElPX0RFVl9J
TklUSUFMSVpFRCwKKwkvKiogRGV2aWNlIGZlYXR1cmUgbmVnb3RpYXRlZCBhbmQgcmVhZHkgdG8g
dGhlIHN0YXJ0ZWQgKi8KKwlWSVJUSU9fREVWX0NPTkZJR1VSRUQsCisJLyoqIERldmljZSBSdW5u
aW5nICovCisJVklSVElPX0RFVl9SVU5OSU5HLAorCS8qKiBEZXZpY2UgU3RvcHBlZCAqLworCVZJ
UlRJT19ERVZfU1RPUFBFRCwKK30gdmlydGlvX2Rldl9zdGF0dXNfdDsKKworLyoqCisgKiBUaGUg
c3RydWN0dXJlIGRlZmluZSBhIHZpcnRpbyBkZXZpY2UuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZGV2
X2lkIHsKKwkvKiogRGV2aWNlIGlkZW50aWZpZXIgb2YgdGhlIHZpcnRpbyBkZXZpY2UgKi8KKwlf
X3UxNiAgdmlydGlvX2RldmljZV9pZDsKK307CisKKy8qKgorICogVGhlIHN0cnVjdHVyZSBkZWZp
bmUgdGhlIHZpcnRpbyBkcml2ZXIuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZHJpdmVyIHsKKwkvKiog
TmV4dCBlbnRyeSBvZiB0aGUgZHJpdmVyIGxpc3QgKi8KKwlVS19UQUlMUV9FTlRSWShzdHJ1Y3Qg
dmlydGlvX2RyaXZlcikgbmV4dDsKKwkvKiogVGhlIGlkIG1hcCBmb3IgdGhlIHZpcnRpbyBkZXZp
Y2UgKi8KKwljb25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCAqZGV2X2lkczsKKwkvKiogVGhlIGlu
aXQgZnVuY3Rpb24gZm9yIHRoZSBkcml2ZXIgKi8KKwl2aXJ0aW9fZHJpdmVyX2luaXRfZnVuY190
IGluaXQ7CisJLyoqIEFkZGluZyB0aGUgdmlydGlvIGRldmljZSAqLworCXZpcnRpb19kcml2ZXJf
YWRkX2Z1bmNfdCBhZGRfZGV2OworfTsKKworLyoqCisgKiBUaGUgc3RydWN0dXJlIGRlZmluZXMg
dGhlIHZpcnRpbyBkZXZpY2UuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZGV2IHsKKwkvKiBGZWF0dXJl
IGJpdCBkZXNjcmliaW5nIHRoZSB2aXJ0aW8gZGV2aWNlICovCisJX191NjQgZmVhdHVyZXM7CisJ
LyogUHJpdmF0ZSBkYXRhIG9mIHRoZSBkcml2ZXIgKi8KKwl2b2lkICpwcml2OworCS8qIFZpcnRp
byBkZXZpY2UgaWRlbnRpZmllciAqLworCXN0cnVjdCB2aXJ0aW9fZGV2X2lkIGlkOworCS8qIFJl
ZmVyZW5jZSB0byB0aGUgdmlydGlvIGRyaXZlciBmb3IgdGhlIGRldmljZSAqLworCXN0cnVjdCB2
aXJ0aW9fZHJpdmVyICp2ZHJ2OworCS8qIFN0YXR1cyBvZiB0aGUgZGV2aWNlICovCisJdmlydGlv
X2Rldl9zdGF0dXNfdCAgc3RhdHVzOworfTsKKworLyoqCisgKiBPcGVyYXRpb24gZXhwb3J0ZWQg
YnkgdGhlIHZpcnRpbyBkZXZpY2UuCisgKi8KK3ZvaWQgX3ZpcnRpb19yZWdpc3Rlcl9kcml2ZXIo
c3RydWN0IHZpcnRpb19kcml2ZXIgKnZkcnYpOworCisjZGVmaW5lIFZJUlRJT19SRUdJU1RFUl9E
UklWRVIoYikJCQlcCisJX1ZJUlRJT19SRUdJU1RFUl9EUklWRVIoX19MSUJOQU1FX18sIGIpCisK
KyNkZWZpbmUgX1ZJUlRJT19SRUdGTkFNRSh4LCB5KSAgICAgICB4IyN5CisKKyNkZWZpbmUgX1ZJ
UlRJT19SRUdJU1RFUl9EUklWRVIobGlibmFtZSwgYikJCQkJXAorCSAgICBzdGF0aWMgdm9pZCBf
X2NvbnN0cnVjdG9yX3ByaW8oMTA0KQkJCQlcCisJX1ZJUlRJT19SRUdGTkFNRShsaWJuYW1lLCBf
dmlydGlvX3JlZ2lzdGVyX2RyaXZlcikodm9pZCkJXAorCXsJCQkJCQkJCVwKKwkJX3ZpcnRpb19y
ZWdpc3Rlcl9kcml2ZXIoKGIpKTsJCQkJXAorCX0KKworCisjaWZkZWYgX19jcGx1c3BsdXMKK30K
KyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZW5kaWYgLyogX19QTEFUX0RSVl9WSVJUSU9f
SCAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgYi9wbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi44OGNiOTlhCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fYnVzLmMKQEAgLTAsMCArMSwxMDkgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFy
YW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBF
dXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9y
IHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJl
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
KyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAq
IFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVku
CisgKi8KKworI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgorI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMu
aD4KKyNpbmNsdWRlIDx1ay9saXN0Lmg+CisjaW5jbHVkZSA8dWsvYWxsb2MuaD4KKyNpbmNsdWRl
IDx1ay9idXMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2lkcy5oPgorI2luY2x1ZGUgPHZp
cnRpby92aXJ0aW9fY29uZmlnLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpby5oPgorCitVS19U
QUlMUV9IRUFEKHZpcnRpb19kcml2ZXJfbGlzdCwgc3RydWN0IHZpcnRpb19kcml2ZXIpOworLyoq
CisgKiBNb2R1bGUgbG9jYWwgZGF0YSBzdHJ1Y3R1cmUocykuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qg
dmlydGlvX2RyaXZlcl9saXN0IHZpcnRpb19kcnZzID0KKwkJCVVLX1RBSUxRX0hFQURfSU5JVElB
TElaRVIodmlydGlvX2RydnMpOworc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsKKworLyoqCisg
KiAgIERyaXZlciBtb2R1bGUgbG9jYWwgZnVuY3Rpb24ocykuCisgKi8KK3N0YXRpYyBpbnQgdmly
dGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2FsbG9jKTsKK3N0YXRpYyBpbnQgdmly
dGlvX2J1c19wcm9iZSh2b2lkKTsKKworLyoqCisgKiBQcm9iZSBmb3IgdGhlIHZpcnRpbyBkZXZp
Y2UuCisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2J1c19wcm9iZSh2b2lkKQoreworCXJldHVybiAw
OworfQorCisvKioKKyAqIEluaXRpYWxpemUgdGhlIHZpcnRpbyBidXMgZHJpdmVyKHMpLgorICog
QHBhcmFtIG1lbV9hbGxvYworICoJUmVmZXJlbmNlIHRvIHRoZSBtZW1fYWxsb2NhdG9yLgorICog
QHJldHVybgorICoJKGludCkgT24gc3VjY2Vzc2Z1bCBpbml0aWFsaXphdGlvbiByZXR1cm4gdGhl
IGNvdW50IG9mIGRldmljZQorICoJaW5pdGlhbGl6ZWQuCisgKglPbiBlcnJvciByZXR1cm4gLTEu
CisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2Fs
bG9jKQoreworCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICpkcnYgPSBOVUxMLCAqbmRydiA9IE5VTEw7
CisJaW50IHJldCA9IDAsIGRldl9jb3VudCA9IDA7CisKKwlhID0gbWVtX2FsbG9jOworCVVLX1RB
SUxRX0ZPUkVBQ0hfU0FGRShkcnYsICZ2aXJ0aW9fZHJ2cywgbmV4dCwgbmRydikgeworCQlpZiAo
ZHJ2LT5pbml0KSB7CisJCQlyZXQgPSBkcnYtPmluaXQoYSk7CisJCQlpZiAodW5saWtlbHkocmV0
KSkgeworCQkJCXVrX3ByX2VycigiRmFpbGVkIHRvIGluaXRpYWxpemUgdmlydGlvIGRyaXZlciAl
cDogJWRcbiIsCisJCQkJCSAgZHJ2LCByZXQpOworCQkJCVVLX1RBSUxRX1JFTU9WRSgmdmlydGlv
X2RydnMsIGRydiwgbmV4dCk7CisJCQl9IGVsc2UKKwkJCQlkZXZfY291bnQrKzsKKwkJfQorCX0K
KwlyZXR1cm4gKGRldl9jb3VudCA+IDApID8gZGV2X2NvdW50IDogLTE7Cit9CisKKy8qKgorICog
UmVnaXN0ZXIgdGhlIHZpcnRpbyBkcml2ZXIocykuCisgKiBAcGFyYW0gdmRydgorICoJUmVmZXJl
bmNlIHRvIHRoZSB2aXJ0aW9fZHJpdmVyCisgKi8KK3ZvaWQgX3ZpcnRpb19yZWdpc3Rlcl9kcml2
ZXIoc3RydWN0IHZpcnRpb19kcml2ZXIgKnZkcnYpCit7CisJVUtfVEFJTFFfSU5TRVJUX1RBSUwo
JnZpcnRpb19kcnZzLCB2ZHJ2LCBuZXh0KTsKK30KKworc3RhdGljIHN0cnVjdCB1a19idXMgdmly
dGlvX2J1cyA9IHsKKwkuaW5pdCA9IHZpcnRpb19idXNfaW5pdCwKKwkucHJvYmUgPSB2aXJ0aW9f
YnVzX3Byb2JlLAorfTsKK1VLX0JVU19SRUdJU1RFUigmdmlydGlvX2J1cyk7CmRpZmYgLS1naXQg
YS9wbGF0L2t2bS9Db25maWcudWsgYi9wbGF0L2t2bS9Db25maWcudWsKaW5kZXggMGYxMGI0ZC4u
ZjhhOGFhZiAxMDA2NDQKLS0tIGEvcGxhdC9rdm0vQ29uZmlnLnVrCisrKyBiL3BsYXQva3ZtL0Nv
bmZpZy51awpAQCAtNTAsNCArNTAsMTUgQEAgY29uZmlnIEtWTV9QQ0kKICAgICAgICBzZWxlY3Qg
TElCVUtCVVMKICAgICAgICBoZWxwCiAgICAgICAgICAgICAgICAgUENJIGJ1cyBkcml2ZXIgZm9y
IHByb2JpbmcgYW5kIG9wZXJhdGluZyBQQ0kgZGV2aWNlcworCitjb25maWcgVklSVElPX0JVUwor
ICAgICAgYm9vbCAgIlZpcnRpbyBidXMgZHJpdmVyIgorICAgICAgZGVmYXVsdCB5CisgICAgICBk
ZXBlbmRzIG9uIChBUkNIX1g4Nl82NCkKKyAgICAgIGRlcGVuZHMgb24gTElCVUtCVVMKKwkgIHNl
bGVjdCBMSUJVS0FMTE9DCisgICAgICBoZWxwCisgICAgICAgICAgICAgICBWaXJ0aW8gYnVzIGRy
aXZlciBmb3IgcHJvYmluZyBhbmQgb3BlcmF0aW5nIHZpcnRpbyBkZXZpY2UgYW5kCisgICAgICAg
ICAgICAgICB0cmFuc3BvcnQgbGF5ZXIuCisKIGVuZGlmCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9N
YWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IDA2ZDg0MTAuLjgwYTBjMDUg
MTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01ha2VmaWxl
LnVrCkBAIC04LDYgKzgsNyBAQCAkKGV2YWwgJChjYWxsIGFkZHBsYXRfcyxrdm0sJChDT05GSUdf
UExBVF9LVk0pKSkKICMjCiAkKGV2YWwgJChjYWxsIGFkZHBsYXRsaWIsa3ZtLGxpYmt2bXBsYXQp
KQogJChldmFsICQoY2FsbCBhZGRwbGF0bGliX3Msa3ZtLGxpYmt2bXBjaSwkKENPTkZJR19LVk1f
UENJKSkpCiskKGV2YWwgJChjYWxsIGFkZHBsYXRsaWJfcyxrdm0sbGlia3ZtdmlydGlvLCQoQ09O
RklHX1ZJUlRJTykpKQogCiAjIwogIyMgUGxhdGZvcm0gbGlicmFyeSBkZWZpbml0aW9ucwpAQCAt
ODAsMyArODEsMTQgQEAgTElCS1ZNUENJX0FTSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZfNjQp
ICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogTElCS1ZNUENJX0NJTkNMVURF
Uy0kKENPTkZJR19BUkNIX1g4Nl82NCkgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5j
bHVkZQogTElCS1ZNUENJX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICAgICAgICArPSAkKFVL
X1BMQVRfQ09NTU9OX0JBU0UpL3BjaV9idXMuY3xjb21tb24KIAorIyMKKyMjIFZpcnRpbyBsaWJy
YXJ5IGRlZmluaXRpb25zCisjIworTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChM
SUJLVk1QTEFUX0JBU0UpL2luY2x1ZGUKK0xJQktWTVZJUlRJT19DSU5DTFVERVMteSAgICArPSAt
SSQoTElCS1ZNUExBVF9CQVNFKS9pbmNsdWRlCitMSUJLVk1WSVJUSU9fQVNJTkNMVURFUy15ICAg
Kz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKK0xJQktWTVZJUlRJT19DSU5DTFVE
RVMteSAgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQorTElCS1ZNVklSVElP
X0FTSU5DTFVERVMteSAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQorTElC
S1ZNVklSVElPX0NJTkNMVURFUy15ICAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5j
bHVkZQorTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCisJCSQoVUtf
UExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fYnVzLmMKLS0gCjIuNy40CgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:35 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV5-0004OC-Ih; Fri, 19 Oct 2018 13:07:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUV4-0004Nt-FD
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:34 +0000
X-Inumbo-ID: 23a42316-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 23a42316-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:08:58 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DF9BD104A1A;
 Fri, 19 Oct 2018 15:07:31 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id mnuqfn_2Y_8e; Fri, 19 Oct 2018 15:07:31 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id BC7F81048F7
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:29 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:29 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:47 +0200
Message-ID: <1539954410-4800-5-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 4/7] plat/drivers: Introduce virtio
 PCI device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgaW50cm9kdWNlcyBzdXBwb3J0IGZvciB2aXJ0aW8gUENJIGxlZ2FjeSBkZXZpY2Ugc3VwcG9y
dCBpbiB0aGlzCnBhdGNoLiBUaGUgZHJpdmVyIHJlZ2lzdGVyIG9uIHRoZSBQQ0kgYnVzIHRvIHBy
b2JlIGZvciBkZXZpY2Ugd2l0aApRVU1SQU5FVCB2ZW5kb3IgaWQuIFRoZSB2aXJ0aW8gUENJIGJ1
cyBhZGRzIHRoZSB2aXJ0aW8gZGV2LiBUaGUKdmlydGlvIGJ1cyBpcyByZXNwb25zaWJsZSBmb3Ig
YnJpZGdpbmcgdGhlIHZpcnRpbyBkZXZpY2Ugd2l0aCB0aGUKZHJpdmVyLiBUaGUgdmlydGlvIFBD
SSBkZXZpY2UgcHJvdmlkZXMgY29uZmlndXJhdGlvbiBjYWxsYmFjayBmb3IKdGhlIFBDSSBidXMg
b3BlcmF0aW9uIHBlcmZvcm1lZCBvbiB0aGUgdmlydGlvIGRldmljZS4KClNpZ25lZC1vZmYtYnk6
IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIHBsYXQv
ZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaCB8ICA5MyArKysrKysrKysrCiBwbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYyAgICAgfCAxMDAgKysrKysrKysrKysKIHBsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX3BjaS5jICAgICB8IDMxOCArKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKwogcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgIHwgIDEy
ICstCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIDUgZmls
ZXMgY2hhbmdlZCwgNTI1IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKCmRpZmYgLS1naXQgYS9w
bGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvLmgKaW5kZXggZDQ3MWNhYi4uYjAxZmFmNiAxMDA2NDQKLS0tIGEvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCisrKyBiL3BsYXQvZHJpdmVycy9pbmNs
dWRlL3ZpcnRpby92aXJ0aW8uaApAQCAtNzYsNiArNzYsMjcgQEAgc3RydWN0IHZpcnRpb19kZXZf
aWQgewogfTsKIAogLyoqCisgKiBUaGUgc3RydWN0dXJlIGRlZmluZSBhIGxpc3Qgb2YgY29uZmln
dXJhdGlvbiBvcGVyYXRpb24gb24gYSB2aXJ0aW8gZGV2aWNlLgorICovCitzdHJ1Y3QgdmlydGlv
X2NvbmZpZ19vcHMgeworCS8qKiBSZXNldHRpbmcgdGhlIGRldmljZSAqLworCXZvaWQgKCpyZXNl
dF9kZXZpY2UpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKKwkvKiogU2V0IGNvbmZpZ3VyYXRp
b24gb3B0aW9uICovCisJaW50ICgqc2V0X2NvbmZpZykoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYs
IF9fdTE2IG9mZnNldCwKKwkJCWNvbnN0IHZvaWQgKmJ1ZiwgX191MzIgbGVuKTsKKwkvKiogR2V0
IGNvbmZpZ3VyYXRpb24gb3B0aW9uICovCisJaW50ICgqZ2V0X2NvbmZpZykoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwgdm9pZCAqYnVmLAorCQkJX191MzIgbGVuLCBfX3U4
IHR5cGVfbGVuKTsKKwkvKiogR2V0IHRoZSBmZWF0dXJlICovCisJX191NjQgKCpnZXRfZmVhdHVy
ZXMpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKKwkvKiogU2V0IHRoZSBmZWF0dXJlICovCisJ
dm9pZCAoKnNldF9mZWF0dXJlcykoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTY0IGZlYXR1
cmVzKTsKKwkvKiogR2V0IGFuZCBTZXQgU3RhdHVzICovCisJX191OCAoKmdldF9zdGF0dXMpKHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKKwl2b2lkICgqc2V0X3N0YXR1cykoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKTsKK307CisKKy8qKgogICogVGhlIHN0cnVjdHVyZSBk
ZWZpbmUgdGhlIHZpcnRpbyBkcml2ZXIuCiAgKi8KIHN0cnVjdCB2aXJ0aW9fZHJpdmVyIHsKQEAg
LTk5LDYgKzEyMCw4IEBAIHN0cnVjdCB2aXJ0aW9fZGV2IHsKIAl2b2lkICpwcml2OwogCS8qIFZp
cnRpbyBkZXZpY2UgaWRlbnRpZmllciAqLwogCXN0cnVjdCB2aXJ0aW9fZGV2X2lkIGlkOworCS8q
IExpc3Qgb2YgdGhlIGNvbmZpZyBvcGVyYXRpb25zICovCisJc3RydWN0IHZpcnRpb19jb25maWdf
b3BzICpjb3BzOwogCS8qIFJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRyaXZlciBmb3IgdGhlIGRl
dmljZSAqLwogCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2OwogCS8qIFN0YXR1cyBvZiB0aGUg
ZGV2aWNlICovCkBAIC0xMDgsOCArMTMxLDc4IEBAIHN0cnVjdCB2aXJ0aW9fZGV2IHsKIC8qKgog
ICogT3BlcmF0aW9uIGV4cG9ydGVkIGJ5IHRoZSB2aXJ0aW8gZGV2aWNlLgogICovCitpbnQgdmly
dGlvX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7CiB2b2lkIF92aXJ0
aW9fcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2KTsKIAorLyoqCisg
KiBUaGUgZnVuY3Rpb24gdXBkYXRlcyB0aGUgc3RhdHVzIG9mIHRoZSB2aXJ0aW8gZGV2aWNlCisg
KiBAcGFyYW0gdmRldgorICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCisg
KiBAcGFyYW0gc3RhdHVzCisgKiAgICAgIFRoZSBzdGF0dXMgdG8gdXBkYXRlLgorICogQHJldHVy
bgorICogICAgICAwIG9uIHN1Y2Nlc3NmdWwgdXBkYXRpbmcgdGhlIHN0YXR1cy4KKyAqLworc3Rh
dGljIGlubGluZSBpbnQgdmlydGlvX2Rldl9zdGF0dXNfdXBkYXRlKHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LCBfX3U4IHN0YXR1cykKK3sKKwlpbnQgcmMgPSAtRU5PVFNVUDsKKworCVVLX0FTU0VS
VCh2ZGV2KTsKKworCWlmIChsaWtlbHkodmRldi0+Y29wcy0+c2V0X3N0YXR1cykpIHsKKwkJdmRl
di0+Y29wcy0+c2V0X3N0YXR1cyh2ZGV2LCBzdGF0dXMpOworCQlyYyA9IDA7CisJfQorCXJldHVy
biByYzsKK30KKworc3RhdGljIGlubGluZSBfX3U2NCB2aXJ0aW9fZmVhdHVyZV9nZXQoc3RydWN0
IHZpcnRpb19kZXYgKnZkZXYpCit7CisJX191NjQgZmVhdHVyZXMgPSAwOworCisJVUtfQVNTRVJU
KHZkZXYpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5nZXRfZmVhdHVyZXMpKQorCQlmZWF0
dXJlcyA9IHZkZXYtPmNvcHMtPmdldF9mZWF0dXJlcyh2ZGV2KTsKKwlyZXR1cm4gZmVhdHVyZXM7
Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fZmVhdHVyZV9zZXQoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYsIF9fdTMyIGZlYXR1cmUpCit7CisJVUtfQVNTRVJUKHZkZXYpOworCisJaWYg
KGxpa2VseSh2ZGV2LT5jb3BzLT5zZXRfZmVhdHVyZXMpKQorCQl2ZGV2LT5jb3BzLT5zZXRfZmVh
dHVyZXModmRldiwgZmVhdHVyZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19jb25m
aWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCisJCQkJICAgIHZv
aWQgKmJ1ZiwgX191MzIgbGVuLCBfX3U4IHR5cGVfbGVuKQoreworCWludCByYyA9IC1FTk9UU1VQ
OworCisJVUtfQVNTRVJUKHZkZXYpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5nZXRfY29u
ZmlnKSkKKwkJcmMgPSB2ZGV2LT5jb3BzLT5nZXRfY29uZmlnKHZkZXYsIG9mZnNldCwgYnVmLCBs
ZW4sIHR5cGVfbGVuKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGlubGluZSBpbnQgdmly
dGlvX2hhc19mZWF0dXJlcyhfX3U2NCBmZWF0dXJlcywgX191OCBicG9zKQoreworCV9fdTY0IHRt
cF9mZWF0dXJlID0gMDsKKworCVZJUlRJT19GRUFUVVJFU19VUERBVEUodG1wX2ZlYXR1cmUsIGJw
b3MpOworCXRtcF9mZWF0dXJlICY9IGZlYXR1cmVzOworCisJcmV0dXJuIHRtcF9mZWF0dXJlID8g
MSA6IDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fZGV2X2Rydl91cChzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldikKK3sKKwl2aXJ0aW9fZGV2X3N0YXR1c191cGRhdGUodmRldiwgVklS
VElPX0NPTkZJR19TVEFUVVNfRFJJVkVSX09LKTsKK30KKwogI2RlZmluZSBWSVJUSU9fUkVHSVNU
RVJfRFJJVkVSKGIpCQkJXAogCV9WSVJUSU9fUkVHSVNURVJfRFJJVkVSKF9fTElCTkFNRV9fLCBi
KQogCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYyBiL3BsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCmluZGV4IDg4Y2I5OWEuLmVmNjZhZTggMTAwNjQ0
Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCisrKyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX2J1cy5jCkBAIC01MiwxMCArNTIsMTEwIEBAIHN0YXRpYyBzdHJ1Y3Qg
dWtfYWxsb2MgKmE7CiAvKioKICAqICAgRHJpdmVyIG1vZHVsZSBsb2NhbCBmdW5jdGlvbihzKS4K
ICAqLworc3RhdGljIGludCB2aXJ0aW9fZGV2aWNlX3JlaW5pdChzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldik7CitzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2ZXIgKmZpbmRfbWF0Y2hfZHJ2KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2KTsKIHN0YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1
a19hbGxvYyAqbWVtX2FsbG9jKTsKIHN0YXRpYyBpbnQgdmlydGlvX2J1c19wcm9iZSh2b2lkKTsK
IAogLyoqCisgKiBGaW5kIGEgbWF0Y2ggZHJpdmVyCisgKiBAcGFyYW0gdmRldgorICoJUmVmZXJl
bmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgorICovCitzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2
ZXIgKmZpbmRfbWF0Y2hfZHJ2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQoreworCWludCBpID0g
MDsKKwlzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZHJ2ID0gTlVMTDsKKworCVVLX1RBSUxRX0ZPUkVB
Q0goZHJ2LCAmdmlydGlvX2RydnMsIG5leHQpIHsKKwkJd2hpbGUgKGRydi0+ZGV2X2lkc1tpXS52
aXJ0aW9fZGV2aWNlX2lkICE9IFZJUlRJT19JRF9JTlZBTElEKSB7CisJCQlpZiAoZHJ2LT5kZXZf
aWRzW2ldLnZpcnRpb19kZXZpY2VfaWQgPT0KKwkJCQkJdmRldi0+aWQudmlydGlvX2RldmljZV9p
ZCkgeworCQkJCXJldHVybiBkcnY7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIE5VTEw7Cit9CisK
Ky8qKgorICogUmVpbml0aWFsaXplIHRoZSB2aXJ0aW8gZGV2aWNlCisgKiBAcGFyYW0gdmRldgor
ICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgorICovCitzdGF0aWMgaW50IHZpcnRp
b19kZXZpY2VfcmVpbml0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQoreworCWludCByYyA9IDA7
CisKKwkvKioKKwkgKiBSZXNldHRpbmcgdGhlIHZpcnRpbyBkZXZpY2UKKwkgKiBUaGlzIG1heSBu
b3QgYmUgbmVjZXNzYXJ5IHdoaWxlIGluaXRpYWxpemluZyB0aGUgZGV2aWNlIGZvciB0aGUgZmly
c3QKKwkgKiB0aW1lLgorCSAqLworCWlmICh2ZGV2LT5jb3BzLT5yZXNldF9kZXZpY2UpIHsKKwkJ
dmRldi0+Y29wcy0+cmVzZXRfZGV2aWNlKHZkZXYpOworCQkvKiBTZXQgdGhlIGRldmljZSBzdGF0
dXMgKi8KKwkJdmRldi0+c3RhdHVzID0gVklSVElPX0RFVl9SRVNFVDsKKwl9CisJLyogQWNrbm93
bGVkZ2UgdGhlIHZpcnRpbyBkZXZpY2UgKi8KKwlyYyA9IHZpcnRpb19kZXZfc3RhdHVzX3VwZGF0
ZSh2ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19BQ0spOworCWlmIChyYyAhPSAwKSB7CisJCXVr
X3ByX2VycigiRmFpbGVkIHRvIGFja25vd2xlZGdlIHRoZSB2aXJ0aW8gZGV2aWNlICVwOiAlZFxu
IiwKKwkJCSAgdmRldiwgcmMpOworCQlyZXR1cm4gcmM7CisJfQorCisJLyogQWNrbm93bGVkZ2Ug
dGhlIHZpcnRpbyBkcml2ZXIgKi8KKwlyYyA9IHZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2ZGV2
LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVIpOworCWlmIChyYyAhPSAwKSB7CisJCXVrX3By
X2VycigiRmFpbGVkIHRvIGFja25vd2xlZGdlIHRoZSB2aXJ0aW8gZHJpdmVyICVwOiAlZFxuIiwK
KwkJCSAgdmRldiwgcmMpOworCQlyZXR1cm4gcmM7CisJfQorCXZkZXYtPnN0YXR1cyA9IFZJUlRJ
T19ERVZfSU5JVElBTElaRUQ7CisJdWtfcHJfaW5mbygiVmlydGlvIGRldmljZSAlcCBpbml0aWFs
aXplZFxuIiwgdmRldik7CisJcmV0dXJuIHJjOworfQorCitpbnQgdmlydGlvX3JlZ2lzdGVyX2Rl
dmljZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKK3sKKwlzdHJ1Y3QgdmlydGlvX2RyaXZlciAq
ZHJ2ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJVUtfQVNTRVJUKHZkZXYpOworCS8qIENoZWNr
IGZvciB0aGUgZGV2IHdpdGggdGhlIGRyaXZlciBsaXN0ICovCisJZHJ2ID0gZmluZF9tYXRjaF9k
cnYodmRldik7CisJaWYgKCFkcnYpIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZmluZCB0aGUg
ZHJpdmVyIGZvciB0aGUgdmlydGlvIGRldmljZSAlcCAoaWQ6JSJfX1BSSXUxNiIpXG4iLAorCQkJ
ICB2ZGV2LCB2ZGV2LT5pZC52aXJ0aW9fZGV2aWNlX2lkKTsKKwkJcmV0dXJuIC1FRkFVTFQ7CisJ
fQorCXZkZXYtPnZkcnYgPSBkcnY7CisKKwkvKiBJbml0aWFsaXplIHRoZSBkZXZpY2UgKi8KKwly
YyA9IHZpcnRpb19kZXZpY2VfcmVpbml0KHZkZXYpOworCWlmIChyYyAhPSAwKSB7CisJCXVrX3By
X2VycigiRmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIHZpcnRpbyBkZXZpY2UgJXAgKGlkOiUiX19Q
Ukl1MTYiOiAlZFxuIiwKKwkJCSAgdmRldiwgdmRldi0+aWQudmlydGlvX2RldmljZV9pZCwgcmMp
OworCQlyZXR1cm4gcmM7CisJfQorCisKKwkvKiBDYWxsaW5nIHRoZSBkcml2ZXIgYWRkIGRldmlj
ZSAqLworCXJjID0gZHJ2LT5hZGRfZGV2KHZkZXYpOworCWlmIChyYyAhPSAwKSB7CisJCXVrX3By
X2VycigiRmFpbGVkIHRvIGFkZCB0aGUgdmlydGlvIGRldmljZSAlcDogJWRcbiIsIHZkZXYsIHJj
KTsKKwkJZ290byB2aXJ0aW9fZGV2X2ZhaWxfc2V0OworCX0KK2V4aXQ6CisJcmV0dXJuIHJjOwor
Cit2aXJ0aW9fZGV2X2ZhaWxfc2V0OgorCXZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2ZGV2LCBW
SVJUSU9fQ09ORklHX1NUQVRVU19GQUlMKTsKKwlnb3RvIGV4aXQ7Cit9CisKKy8qKgogICogUHJv
YmUgZm9yIHRoZSB2aXJ0aW8gZGV2aWNlLgogICovCiBzdGF0aWMgaW50IHZpcnRpb19idXNfcHJv
YmUodm9pZCkKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jIGIv
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uYWIyZjJjOAotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX3BjaS5jCkBAIC0wLDAgKzEsMzE4IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRp
ZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBO
RUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVy
IG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8g
ZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
CisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkg
V0FZLgorICovCisKKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KKyNpbmNsdWRlIDx1ay9hcmNoL3R5
cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpZmRlZiBDT05GSUdfTElCVUtBTExPQworI2lu
Y2x1ZGUgPHVrL2FsbG9jLmg+CisjZWxzZQorI2Vycm9yICJWaXJ0aW8gUENJIGRldmljZSByZXF1
aXJlcyBVS0FMTE9DIgorI2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICovCisjaW5jbHVkZSA8
dWsvcHJpbnQuaD4KKyNpbmNsdWRlIDx1ay9wbGF0L2xjcHUuaD4KKyNpbmNsdWRlIDx1ay9wbGF0
L2lycS5oPgorI2luY2x1ZGUgPHBjaS9wY2lfYnVzLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRp
b19jb25maWcuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvLmg+CisjaW5jbHVkZSA8dmlydGlv
L3ZpcnRpb19wY2kuaD4KKworI2RlZmluZSBWRU5ET1JfUVVNUkFORVRfVklSVElPICAgICAgICAg
ICAoMHgxQUY0KQorI2RlZmluZSBWSVJUSU9fUENJX0xFR0FDWV9ERVZJQ0VJRF9TVEFSVCAoMHgw
RkZGKQorI2RlZmluZSBWSVJUSU9fUENJX01PREVSTl9ERVZJQ0VJRF9TVEFSVCAoMHgxMDQwKQor
CitzdGF0aWMgc3RydWN0IHVrX2FsbG9jICphOworCisvKioKKyAqIFRoZSBzdHJ1Y3R1cmUgZGVj
bGFyZXMgYSBwY2kgZGV2aWNlLgorICovCitzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgeworCS8qIFZp
cnRpbyBEZXZpY2UgKi8KKwlzdHJ1Y3QgdmlydGlvX2RldiB2ZGV2OworCS8qIFBjaSBiYXNlIGFk
ZHJlc3MgKi8KKwlfX3UxNiBwY2lfYmFzZV9hZGRyOworCS8qIElTUiBBZGRyZXNzIFJhbmdlICov
CisJX191MTYgcGNpX2lzcl9hZGRyOworCS8qIFBjaSBkZXZpY2UgaW5mb3JtYXRpb24gKi8KKwlz
dHJ1Y3QgcGNpX2RldmljZSAqcGRldjsKK307CisKKy8qKgorICogRmV0Y2ggdGhlIHZpcnRpbyBw
Y2kgaW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvZGV2LgorICovCisjZGVmaW5lIHRvX3ZpcnRp
b3BjaWRldih2ZGV2KSBcCisJCV9fY29udGFpbmVyb2YodmRldiwgc3RydWN0IHZpcnRpb19wY2lf
ZGV2LCB2ZGV2KQorCisKKy8qKgorICogU3RhdGljIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLgorICov
CitzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2KTsKK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKKwkJCQljb25zdCB2b2lkICpidWYsIF9fdTMy
IGxlbik7CitzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCisJCQkJCXZvaWQgKmJ1ZiwgX191MzIgbGVuLAor
CQkJCQlfX3U4IHR5cGVfbGVuIF9fbWF5YmVfdW51c2VkKTsKK3N0YXRpYyBfX3U2NCB2cGNpX2xl
Z2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyB2
b2lkIHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYs
CisJCQkJCQlfX3U2NCBmZWF0dXJlcyk7CitzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3Rh
dHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpOworc3RhdGljIF9f
dTggdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwor
c3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19kZXZpY2VfaWRfYWRkKHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LAorCQkJCV9fdTE2IHBjaV9kZXZfaWQsIF9fdTE2IHZwY2lfZGV2X2lkX3N0YXJ0KTsK
K3N0YXRpYyBpbnQgdmlydGlvX3BjaV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAq
cGNpX2RldiwKKwkJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGNpX2Rldik7CisKKy8qKgorICog
Q29uZmlndXJhdGlvbiBvcGVyYXRpb25zIGxlZ2FjeSBQQ0kgZGV2aWNlLgorICovCitzdGF0aWMg
c3RydWN0IHZpcnRpb19jb25maWdfb3BzIHZwY2lfbGVnYWN5X29wcyA9IHsKKwkucmVzZXRfZGV2
aWNlID0gdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldCwKKwkuc2V0X2NvbmZpZyAgID0gdnBjaV9s
ZWdhY3lfcGNpX2NvbmZpZ19zZXQsCisJLmdldF9jb25maWcgICA9IHZwY2lfbGVnYWN5X3BjaV9j
b25maWdfZ2V0LAorCS5nZXRfZmVhdHVyZXMgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0
LAorCS5zZXRfZmVhdHVyZXMgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0LAorCS5nZXRf
c3RhdHVzICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCwKKwkuc2V0X3N0YXR1cyAgID0g
dnBjaV9sZWdhY3lfcGNpX3N0YXR1c19zZXQsCit9OworCitzdGF0aWMgaW50IHZwY2lfbGVnYWN5
X3BjaV9jb25maWdfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCisJ
CQkJY29uc3Qgdm9pZCAqYnVmLCBfX3UzMiBsZW4pCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2
ICp2cGRldiA9IE5VTEw7CisKKwlVS19BU1NFUlQodmRldik7CisJdnBkZXYgPSB0b192aXJ0aW9w
Y2lkZXYodmRldik7CisKKwlfdmlydGlvX2N3cml0ZV9ieXRlcygodm9pZCAqKSh1bnNpZ25lZCBs
b25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJVklSVElPX1BDSV9DT05GSUdfT0ZGICsgb2Zm
c2V0LCBidWYsIGxlbiwgMSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2cGNpX2xl
Z2FjeV9wY2lfY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0
LAorCQkJCQl2b2lkICpidWYsIF9fdTMyIGxlbiwKKwkJCQkJX191OCB0eXBlX2xlbiBfX21heWJl
X3VudXNlZCkKK3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKKwlpbnQg
cmMgPSAwOworCisJVUtfQVNTRVJUKHZkZXYpOworCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZk
ZXYpOworCisJLyogUmVhZGluZyBhbiBlbnRpdHkgbGVzcyB0aGFuIDQgYnl0ZXMgYXJlIGF0b21p
YyAqLworCWlmICh0eXBlX2xlbiA9PSBsZW4gJiYgdHlwZV9sZW4gPD0gNCkgeworCQlfdmlydGlv
X2NyZWFkX2J5dGVzKAorCQkJCSh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFz
ZV9hZGRyLAorCQkJCVZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwgYnVmLCBsZW4sCisJ
CQkJdHlwZV9sZW4pOworCX0gZWxzZSB7CisJCXJjID0gdmlydGlvX2NyZWFkX2J5dGVzX21hbnko
CisJCQkJKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQkJ
VklSVElPX1BDSV9DT05GSUdfT0ZGICsgb2Zmc2V0LAlidWYsIGxlbik7CisJfQorCXJldHVybiBy
YzsKK30KKworc3RhdGljIF9fdTggdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7
CisKKwlVS19BU1NFUlQodmRldik7CisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJ
cmV0dXJuIHZpcnRpb19jcmVhZDgoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpIHZwZGV2LT5wY2lf
YmFzZV9hZGRyLAorCQkJVklSVElPX1BDSV9TVEFUVVMpOworfQorCitzdGF0aWMgdm9pZCB2cGNp
X2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0
dXMpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7CisJX191OCBjdXJy
X3N0YXR1cyA9IDA7CisKKwkvKiBSZXNldCBzaG91bGQgYmUgcGVyZm9ybWVkIHVzaW5nIHRoZSBy
ZXNldCBpbnRlcmZhY2UgKi8KKwlVS19BU1NFUlQodmRldiB8fCBzdGF0dXMgIT0gVklSVElPX0NP
TkZJR19TVEFUVVNfUkVTRVQpOworCisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJ
Y3Vycl9zdGF0dXMgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCh2ZGV2KTsKKwlzdGF0dXMg
fD0gY3Vycl9zdGF0dXM7CisJdmlydGlvX2N3cml0ZTgoKHZvaWQgKikodW5zaWduZWQgbG9uZykg
dnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQkgVklSVElPX1BDSV9TVEFUVVMsIHN0YXR1cyk7Cit9
CisKK3N0YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9kZXZfcmVzZXQoc3RydWN0IHZpcnRpb19k
ZXYgKnZkZXYpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7CisJX191
OCBzdGF0dXM7CisKKwlVS19BU1NFUlQodmRldik7CisKKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRl
dih2ZGV2KTsKKwkvKioKKwkgKiBSZXNldHRpbmcgdGhlIGRldmljZS4KKwkgKi8KKwl2aXJ0aW9f
Y3dyaXRlOCgodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKKwkJ
CVZJUlRJT19QQ0lfU1RBVFVTLCBWSVJUSU9fQ09ORklHX1NUQVRVU19SRVNFVCk7CisJLyoqCisJ
ICogV2FpdGluZyBmb3IgdGhlIHJlc2V0dGluZyB0aGUgZGV2aWNlLiBGaW5kIGEgYmV0dGVyIHdh
eQorCSAqIG9mIGRvaW5nIHRoaXMgaW5zdGVhZCBvZiByZXBlYXRpbmcgcmVnaXN0ZXIgcmVhZC4K
KwkgKgorCSAqIE5PVEUhIFNwZWMgKDQuMS40LjMuMikKKwkgKiBOZWVkIHRvIGNoZWNrIGlmIHdl
IGhhdmUgdG8gd2FpdCBmb3IgdGhlIHJlc2V0IHRvIGhhcHBlbi4KKwkgKi8KKwlkbyB7CisJCXN0
YXR1cyA9IHZpcnRpb19jcmVhZDgoCisJCQkJKHZvaWQgKikodW5zaWduZWQgbG9uZyl2cGRldi0+
cGNpX2Jhc2VfYWRkciwKKwkJCQlWSVJUSU9fUENJX1NUQVRVUyk7CisJfSB3aGlsZSAoc3RhdHVz
ICE9IFZJUlRJT19DT05GSUdfU1RBVFVTX1JFU0VUKTsKK30KKworc3RhdGljIF9fdTY0IHZwY2lf
bGVnYWN5X3BjaV9mZWF0dXJlc19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCit7CisJc3Ry
dWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7CisJX191NjQgIGZlYXR1cmVzOworCisJ
VUtfQVNTRVJUKHZkZXYpOworCisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJZmVh
dHVyZXMgPSB2aXJ0aW9fY3JlYWQzMigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNp
X2Jhc2VfYWRkciwKKwkJCQlWSVJUSU9fUENJX0hPU1RfRkVBVFVSRVMpOworCXJldHVybiBmZWF0
dXJlczsKK30KKworc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX3NldChzdHJ1
Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQkJCV9fdTY0IGZlYXR1cmVzKQoreworCXN0cnVjdCB2
aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCisJVUtfQVNTRVJUKHZkZXYpOworCXZwZGV2
ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOworCXZpcnRpb19jd3JpdGUzMigodm9pZCAqKSAodW5z
aWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKKwkJIFZJUlRJT19QQ0lfR1VFU1RfRkVB
VFVSRVMsIChfX3UzMilmZWF0dXJlcyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9f
ZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQlfX3UxNiBwY2lfZGV2
X2lkLCBfX3UxNiBwY2lfZGV2X2lkX3N0YXJ0KQoreworCXZkZXYtPmlkLnZpcnRpb19kZXZpY2Vf
aWQgPSAocGNpX2Rldl9pZCAtIHBjaV9kZXZfaWRfc3RhcnQpOworfQorCitzdGF0aWMgaW50IHZp
cnRpb19wY2lfbGVnYWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCisJCXN0
cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpCit7CisJLyogQ2hlY2sgdGhlIHZhbGlkIHJh
bmdlIG9mIHRoZSB2aXJ0aW8gbGVnYWN5IGRldmljZSAqLworCWlmIChwY2lfZGV2LT5pZC5kZXZp
Y2VfaWQgPCAweDEwMDAgfHwgcGNpX2Rldi0+aWQuZGV2aWNlX2lkID4gMHgxMDNmKSB7CisJCXVr
X3ByX2VycigiRXJyb3I6IEludmFsaWQgVmlydGlvIERldmljZXMgJWRcbiIsCisJCQkJcGNpX2Rl
di0+aWQuZGV2aWNlX2lkKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJdnBjaV9kZXYtPnBj
aV9pc3JfYWRkciA9IHZwY2lfZGV2LT5wY2lfYmFzZV9hZGRyICsgVklSVElPX1BDSV9JU1I7CisK
KwkvKiBTZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uIG9wZXJhdGlvbiAqLworCXZwY2lfZGV2LT52
ZGV2LmNvcHMgPSAmdnBjaV9sZWdhY3lfb3BzOworCisJdWtfcHJfaW5mbygiQWRkZWQgYSB2aXJ0
aW8tcGNpIGRldmljZSglMDJ4KVxuIiwKKwkJCShpbnQpIHBjaV9kZXYtPmlkLmRldmljZV9pZCk7
CisKKwkvKiBNYXBwaW5nIHRoZSB2aXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KKwl2aXJ0aW9f
ZGV2aWNlX2lkX2FkZCgmdnBjaV9kZXYtPnZkZXYsIHBjaV9kZXYtPmlkLmRldmljZV9pZCwKKwkJ
CVZJUlRJT19QQ0lfTEVHQUNZX0RFVklDRUlEX1NUQVJUKTsKKwlyZXR1cm4gMDsKK30KKworCitz
dGF0aWMgaW50IHZpcnRpb19wY2lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldikK
K3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2ID0gTlVMTDsKKwlpbnQgcmMgPSAw
OworCisJVUtfQVNTRVJUKHBjaV9kZXYgIT0gTlVMTCk7CisKKwl2cGNpX2RldiA9IHVrX21hbGxv
YyhhLCBzaXplb2YoKnZwY2lfZGV2KSk7CisJaWYgKCF2cGNpX2RldikgeworCQl1a19wcl9lcnIo
IkVycm9yIGluIG1lbW9yeSBhbGxvY2F0aW9uIG9mIHBjaV9kZXZpY2VcbiIpOworCQlyZXR1cm4g
LUVOT01FTTsKKwl9CisKKwkvKiBGZXRjaCBQQ0kgRGV2aWNlIGluZm9ybWF0aW9uICovCisJdnBj
aV9kZXYtPnBkZXYgPSBwY2lfZGV2OworCXZwY2lfZGV2LT5wY2lfYmFzZV9hZGRyID0gcGNpX2Rl
di0+YmFzZTsKKworCS8qKgorCSAqIFByb2JpbmcgZm9yIHRoZSBsZWdhY3kgdmlydGlvIGRldmlj
ZS4gV2Ugc2VwYXJhdGUgdGhlIGxlZ2FjeSBwcm9iaW5nCisJICogd2l0aCB0aGUgcG9zc2liaWxp
dHkgb2Ygc3VwcG9ydGluZyB0aGUgbW9kZXJuIFBDSSBkZXZpY2UgaW4gdGhlCisJICogZnV0dXJl
LgorCSAqLworCXJjID0gdmlydGlvX3BjaV9sZWdhY3lfYWRkX2RldihwY2lfZGV2LCB2cGNpX2Rl
dik7CisJaWYgKHJjICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQoJWQpIHRvIHByb2JlIHRo
ZSBsZWdhY3kgZGV2aWNlXG4iLAorCQkJCXJjKTsKKwkJZ290byBmcmVlX3BjaV9kZXY7CisJfQor
CisJcmMgPSB2aXJ0aW9fcmVnaXN0ZXJfZGV2aWNlKCZ2cGNpX2Rldi0+dmRldik7CisJaWYgKHJj
ICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQoJWQpIHRvIHJlZ2lzdGVyIHRoZSB2aXJ0aW8g
ZGV2aWNlXG4iLCByYyk7CisJCWdvdG8gZnJlZV9wY2lfZGV2OworCX0KKworZXhpdDoKKwlyZXR1
cm4gcmM7CitmcmVlX3BjaV9kZXY6CisJdWtfZnJlZShhLCB2cGNpX2Rldik7CisJZ290byBleGl0
OworfQorCitzdGF0aWMgaW50IHZpcnRpb19wY2lfZHJ2X2luaXQoc3RydWN0IHVrX2FsbG9jICpk
cnZfYWxsb2NhdG9yKQoreworCS8qIGRyaXZlciBpbml0aWFsaXphdGlvbiAqLworCWlmICghZHJ2
X2FsbG9jYXRvcikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhID0gZHJ2X2FsbG9jYXRvcjsKKwly
ZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHZpcnRpb19w
Y2lfaWRzW10gPSB7CisJe1BDSV9ERVZJQ0VfSUQoVkVORE9SX1FVTVJBTkVUX1ZJUlRJTywgUENJ
X0FOWV9JRCl9LAorCS8qIEVuZCBvZiBEcml2ZXIgTGlzdCAqLworCXtQQ0lfQU5ZX0RFVklDRV9J
RH0sCit9OworCitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgdmlydGlvX3BjaV9kcnYgPSB7CisJ
LmRldmljZV9pZHMgPSB2aXJ0aW9fcGNpX2lkcywKKwkuaW5pdCA9IHZpcnRpb19wY2lfZHJ2X2lu
aXQsCisJLmFkZF9kZXYgPSB2aXJ0aW9fcGNpX2FkZF9kZXYKK307CitQQ0lfUkVHSVNURVJfRFJJ
VkVSKCZ2aXJ0aW9fcGNpX2Rydik7CmRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25maWcudWsgYi9w
bGF0L2t2bS9Db25maWcudWsKaW5kZXggZjhhOGFhZi4uYWZjZWRjMCAxMDA2NDQKLS0tIGEvcGxh
dC9rdm0vQ29uZmlnLnVrCisrKyBiL3BsYXQva3ZtL0NvbmZpZy51awpAQCAtNTYsOSArNTYsMTkg
QEAgY29uZmlnIFZJUlRJT19CVVMKICAgICAgIGRlZmF1bHQgeQogICAgICAgZGVwZW5kcyBvbiAo
QVJDSF9YODZfNjQpCiAgICAgICBkZXBlbmRzIG9uIExJQlVLQlVTCi0JICBzZWxlY3QgTElCVUtB
TExPQworICAgICAgc2VsZWN0IExJQlVLQUxMT0MKICAgICAgIGhlbHAKICAgICAgICAgICAgICAg
IFZpcnRpbyBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgdmlydGlvIGRldmlj
ZSBhbmQKICAgICAgICAgICAgICAgIHRyYW5zcG9ydCBsYXllci4KIAorbWVudSAiVmlydGlvIgor
Y29uZmlnIFZJUlRJT19QQ0kKKyAgICAgICBib29sICJWaXJ0aW8gUENJIGRldmljZSBzdXBwb3J0
IgorICAgICAgIGRlZmF1bHQgbgorICAgICAgIGRlcGVuZHMgb24gS1ZNX1BDSQorICAgICAgIHNl
bGVjdCBWSVJUSU9fQlVTCisgICAgICAgaGVscAorICAgICAgICAgICAgICAgU3VwcG9ydCB2aXJ0
aW8gZGV2aWNlcyBvbiBQQ0kgYnVzCisKK2VuZG1lbnUKIGVuZGlmCmRpZmYgLS1naXQgYS9wbGF0
L2t2bS9NYWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IDgwYTBjMDUuLjk4
NmJmNGEgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01h
a2VmaWxlLnVrCkBAIC05MSw0ICs5MSw2IEBAIExJQktWTVZJUlRJT19DSU5DTFVERVMteSAgICAr
PSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQogTElCS1ZNVklSVElPX0FTSU5DTFVE
RVMteSAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQogTElCS1ZNVklSVElP
X0NJTkNMVURFUy15ICAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQogTElC
S1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCi0JCSQoVUtfUExBVF9EUklW
RVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fYnVzLmMKKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19C
QVNFKS92aXJ0aW8vdmlydGlvX2J1cy5jCitMSUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19WSVJU
SU9fUENJKSArPVwKKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlv
X3BjaS5jCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:38 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV8-0004PC-Ll; Fri, 19 Oct 2018 13:07:38 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUV7-0004Ou-T3
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:37 +0000
X-Inumbo-ID: 8d68bef3-d39f-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 8d68bef3-d39f-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 15:04:46 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 459B7F2057;
 Fri, 19 Oct 2018 15:07:34 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id zCTbFJuQHRun; Fri, 19 Oct 2018 15:07:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 14490F2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:32 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:31 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:48 +0200
Message-ID: <1539954410-4800-6-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 5/7] plat/drivers: Reintroduce the
 virtio ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBBUEkgdG8gY3JlYXRlIGRlc3Ryb3kgdGhlIHZpcnRp
byByaW5nLiBUaGUKY29uZmlndXJhdGlvbiBBUEkgZm9yIGZpbmQgdGhlIG51bWJlciBvZiBxdWV1
ZXMgYW5kIHNldHRpbmcgdXAKaW5kaXZpZHVhbCBxdWV1ZXMgZm9yIGEgZGV2aWNlLgoKU2lnbmVk
LW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Ci0t
LQogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oICAgIHwgMTM4ICsrKysrKysr
KysrKysrKysrKystLS0KIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCB8
IDE0NSArKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
YnVzLmMgICAgICAgIHwgICA2ICstCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyAg
ICAgICAgfCAxNDcgKysrKysrKysrKysrKysrKysrLS0tLS0tCiBwbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19yaW5nLmMgICAgICAgfCAxOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysKIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBwbGF0
L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogNyBmaWxlcyBjaGFu
Z2VkLCA1NzkgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2
NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCgpkaWZmIC0tZ2l0IGEvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUv
dmlydGlvL3ZpcnRpby5oCmluZGV4IGIwMWZhZjYuLjFkZmE0OTUgMTAwNjQ0Ci0tLSBhL3BsYXQv
ZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvLmgKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlIDx1ay9hcmNoL2xj
cHUuaD4KICNpbmNsdWRlIDx1ay9hbGxvYy5oPgogI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fY29u
ZmlnLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRxdWV1ZS5oPgogCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIGV4dGVybiAiQyIgewpAQCAtODAsMjAgKzgxLDI3IEBAIHN0cnVjdCB2aXJ0aW9fZGV2X2lk
IHsKICAqLwogc3RydWN0IHZpcnRpb19jb25maWdfb3BzIHsKIAkvKiogUmVzZXR0aW5nIHRoZSBk
ZXZpY2UgKi8KLQl2b2lkICgqcmVzZXRfZGV2aWNlKShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7
CisJdm9pZCAoKmRldmljZV9yZXNldCkoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwogCS8qKiBT
ZXQgY29uZmlndXJhdGlvbiBvcHRpb24gKi8KLQlpbnQgKCpzZXRfY29uZmlnKShzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAotCQkJY29uc3Qgdm9pZCAqYnVmLCBfX3UzMiBs
ZW4pOworCWludCAoKmNvbmZpZ19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBv
ZmZzZXQsCisJCQkgIGNvbnN0IHZvaWQgKmJ1ZiwgX191MzIgbGVuKTsKIAkvKiogR2V0IGNvbmZp
Z3VyYXRpb24gb3B0aW9uICovCi0JaW50ICgqZ2V0X2NvbmZpZykoc3RydWN0IHZpcnRpb19kZXYg
KnZkZXYsIF9fdTE2IG9mZnNldCwgdm9pZCAqYnVmLAotCQkJX191MzIgbGVuLCBfX3U4IHR5cGVf
bGVuKTsKKwlpbnQgKCpjb25maWdfZ2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYg
b2Zmc2V0LCB2b2lkICpidWYsCisJCQkgIF9fdTMyIGxlbiwgX191OCB0eXBlX2xlbik7CiAJLyoq
IEdldCB0aGUgZmVhdHVyZSAqLwotCV9fdTY0ICgqZ2V0X2ZlYXR1cmVzKShzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldik7CisJX191NjQgKCpmZWF0dXJlc19nZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2KTsKIAkvKiogU2V0IHRoZSBmZWF0dXJlICovCi0Jdm9pZCAoKnNldF9mZWF0dXJlcykoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTY0IGZlYXR1cmVzKTsKKwl2b2lkICgqZmVhdHVyZXNf
c2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191NjQgZmVhdHVyZXMpOwogCS8qKiBHZXQg
YW5kIFNldCBTdGF0dXMgKi8KLQlfX3U4ICgqZ2V0X3N0YXR1cykoc3RydWN0IHZpcnRpb19kZXYg
KnZkZXYpOwotCXZvaWQgKCpzZXRfc3RhdHVzKShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191
OCBzdGF0dXMpOworCV9fdTggKCpzdGF0dXNfZ2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7
CisJdm9pZCAoKnN0YXR1c19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1
cyk7CisJLyoqIEZpbmQgdGhlIHZpcnRxdWV1ZSAqLworCWludCAoKnZxc19maW5kKShzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldiwgX191MTYgbnVtX3ZxLCBfX3UxNiAqdnFfc2l6ZSk7CisJLyoqIFNl
dHVwIHRoZSB2aXJ0cXVldWUgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlICooKnZxX3NldHVwKShzdHJ1
Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgbnVtX2Rlc2MsCisJCQkJICAgICAgX191MTYgcXVl
dWVfaWQsCisJCQkJICAgICAgdmlydHF1ZXVlX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisJCQkJICAg
ICAgc3RydWN0IHVrX2FsbG9jICphKTsKIH07CiAKIC8qKgpAQCAtMTE2LDYgKzEyNCw4IEBAIHN0
cnVjdCB2aXJ0aW9fZHJpdmVyIHsKIHN0cnVjdCB2aXJ0aW9fZGV2IHsKIAkvKiBGZWF0dXJlIGJp
dCBkZXNjcmliaW5nIHRoZSB2aXJ0aW8gZGV2aWNlICovCiAJX191NjQgZmVhdHVyZXM7CisJLyog
TGlzdCBvZiB0aGUgdmlydHF1ZXVlIGZvciB0aGUgZGV2aWNlICovCisJVUtfVEFJTFFfSEVBRCh2
aXJ0cXVldWVfaGVhZCwgc3RydWN0IHZpcnRxdWV1ZSkgdnFzOwogCS8qIFByaXZhdGUgZGF0YSBv
ZiB0aGUgZHJpdmVyICovCiAJdm9pZCAqcHJpdjsKIAkvKiBWaXJ0aW8gZGV2aWNlIGlkZW50aWZp
ZXIgKi8KQEAgLTE0Miw2ICsxNTIsNyBAQCB2b2lkIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKHN0
cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2KTsKICAqICAgICAgVGhlIHN0YXR1cyB0byB1cGRhdGUu
CiAgKiBAcmV0dXJuCiAgKiAgICAgIDAgb24gc3VjY2Vzc2Z1bCB1cGRhdGluZyB0aGUgc3RhdHVz
LgorICogICAgICAtRU5PVFNVUCwgaWYgdGhlIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIG9u
IHRoZSB2aXJ0aW8gZGV2aWNlLgogICovCiBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fZGV2X3N0
YXR1c191cGRhdGUoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKQogewpAQCAt
MTQ5LDMyICsxNjAsNjMgQEAgc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2Rldl9zdGF0dXNfdXBk
YXRlKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cykKIAogCVVLX0FTU0VSVCh2
ZGV2KTsKIAotCWlmIChsaWtlbHkodmRldi0+Y29wcy0+c2V0X3N0YXR1cykpIHsKLQkJdmRldi0+
Y29wcy0+c2V0X3N0YXR1cyh2ZGV2LCBzdGF0dXMpOworCWlmIChsaWtlbHkodmRldi0+Y29wcy0+
c3RhdHVzX3NldCkpIHsKKwkJdmRldi0+Y29wcy0+c3RhdHVzX3NldCh2ZGV2LCBzdGF0dXMpOwog
CQlyYyA9IDA7CiAJfQogCXJldHVybiByYzsKIH0KIAorLyoqCisgKiBUaGUgZnVuY3Rpb24gdG8g
Z2V0IHRoZSBmZWF0dXJlIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLgorICogQHBhcmFtIHZkZXYK
KyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4KKyAqCisgKiBAcmV0dXJuIF9fdTY0
CisgKglBIGJpdCBtYXAgb2YgdGhlIGZlYXR1cmUgc3VwcG9ydGVkIGJ5IHRoZSBkZXZpY2UuCisg
Ki8KIHN0YXRpYyBpbmxpbmUgX191NjQgdmlydGlvX2ZlYXR1cmVfZ2V0KHN0cnVjdCB2aXJ0aW9f
ZGV2ICp2ZGV2KQogewogCV9fdTY0IGZlYXR1cmVzID0gMDsKIAogCVVLX0FTU0VSVCh2ZGV2KTsK
IAotCWlmIChsaWtlbHkodmRldi0+Y29wcy0+Z2V0X2ZlYXR1cmVzKSkKLQkJZmVhdHVyZXMgPSB2
ZGV2LT5jb3BzLT5nZXRfZmVhdHVyZXModmRldik7CisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5m
ZWF0dXJlc19nZXQpKQorCQlmZWF0dXJlcyA9IHZkZXYtPmNvcHMtPmZlYXR1cmVzX2dldCh2ZGV2
KTsKIAlyZXR1cm4gZmVhdHVyZXM7CiB9CiAKKy8qKgorICogVGhlIGZ1bmN0aW9uIHRvIHNldCB0
aGUgbmVnb3RpYXRlZCBmZWF0dXJlcy4KKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8g
dGhlIHZpcnRpbyBkZXZpY2UuCisgKiBAcGFyYW0gZmVhdHVyZQorICoJQSBiaXQgbWFwIG9mIHRo
ZSBmZWF0dXJlIG5lZ290aWF0ZWQuCisgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fZmVh
dHVyZV9zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTMyIGZlYXR1cmUpCiB7CiAJVUtf
QVNTRVJUKHZkZXYpOwogCi0JaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5zZXRfZmVhdHVyZXMpKQot
CQl2ZGV2LT5jb3BzLT5zZXRfZmVhdHVyZXModmRldiwgZmVhdHVyZSk7CisJaWYgKGxpa2VseSh2
ZGV2LT5jb3BzLT5mZWF0dXJlc19zZXQpKQorCQl2ZGV2LT5jb3BzLT5mZWF0dXJlc19zZXQodmRl
diwgZmVhdHVyZSk7CiB9CiAKKy8qKgorICogR2V0IHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0
aW9uIGZyb20gdGhlIHZpcnRpbyBkZXZpY2UuCisgKiBAcGFyYW0gdmRldgorICoJUmVmZXJlbmNl
IHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgorICogQHBhcmFtIG9mZnNldAorICoJT2Zmc2V0IGludG8g
dGhlIHZpcnRpbyBkZXZpY2UgY29uZmlndXJhdGlvbiBzcGFjZS4KKyAqIEBwYXJhbSBidWYKKyAq
CUEgYnVmZmVyIHRvIHN0b3JlIHRoZSBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uLgorICogQHBh
cmFtIGxlbgorICoJVGhlIGxlbmd0aCBvZiB0aGUgYnVmZmVyLgorICogQHBhcmFtIHR5cGVfbGVu
CisgKglUaGUgZGF0YSB0eXBlIG9mIHRoZSBjb25maWd1cmF0aW9uIGRhdGEuCisgKiBAcmV0dXJu
IGludAorICoJMCwgb24gc3VjY2Vzc2Z1bCByZWFkaW5nIHRoZSBjb25maWd1cmF0aW9uIHNwYWNl
LgorICoJPCAwLCBvbiBlcnJvci4KKyAqLwogc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2NvbmZp
Z19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKIAkJCQkgICAgdm9p
ZCAqYnVmLCBfX3UzMiBsZW4sIF9fdTggdHlwZV9sZW4pCiB7CkBAIC0xODIsMTIgKzIyNCw3NCBA
QCBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldiwgX191MTYgb2Zmc2V0LAogCiAJVUtfQVNTRVJUKHZkZXYpOwogCi0JaWYgKGxpa2VseSh2
ZGV2LT5jb3BzLT5nZXRfY29uZmlnKSkKLQkJcmMgPSB2ZGV2LT5jb3BzLT5nZXRfY29uZmlnKHZk
ZXYsIG9mZnNldCwgYnVmLCBsZW4sIHR5cGVfbGVuKTsKKwlpZiAobGlrZWx5KHZkZXYtPmNvcHMt
PmNvbmZpZ19nZXQpKQorCQlyYyA9IHZkZXYtPmNvcHMtPmNvbmZpZ19nZXQodmRldiwgb2Zmc2V0
LCBidWYsIGxlbiwgdHlwZV9sZW4pOworCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIFRoZSBo
ZWxwZXIgZnVuY3Rpb24gdG8gZmluZCB0aGUgbnVtYmVyIG9mIHRoZSB2cXMgc3VwcG9ydGVkIG9u
IHRoZSBkZXZpY2UuCisgKiBAcGFyYW0gdmRldgorICoJQSByZWZlcmVuY2UgdG8gdGhlIHZpcnRp
byBkZXZpY2UuCisgKiBAcGFyYW0gdG90YWxfdnFzCisgKglUaGUgdG90YWwgbnVtYmVyIG9mIHZp
cnRxdWV1ZXMgcmVxdWVzdGVkLgorICogQHBhcmFtIHZxX3NpemUKKyAqCUFuIGFycmF5IG9mIG1h
eCBkZXNjcmlwdG9ycyBvbiBlYWNoIHZpcnRxdWV1ZSBmb3VuZCBvbiB0aGUKKyAqCXZpcnRpbyBk
ZXZpY2UKKyAqIEByZXR1cm4gaW50CisgKglPbiBzdWNjZXNzLCB0aGUgZnVuY3Rpb24gcmV0dXJu
IHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIHZpcnRxdWV1ZXMKKyAqCU9uIGVycm9yLAorICoJCS1F
Tk9UU1VQIGlmIHRoZSBmdW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorICovCitzdGF0aWMgaW5s
aW5lIGludCB2aXJ0aW9fZmluZF92cXMoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IHRv
dGFsX3ZxcywKKwkJCQkgIF9fdTE2ICp2cV9zaXplKQoreworCWludCByYyA9IC1FTk9UU1VQOwor
CisJVUtfQVNTRVJUKHZkZXYpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52cXNfZmluZCkp
CisJCXJjID0gdmRldi0+Y29wcy0+dnFzX2ZpbmQodmRldiwgdG90YWxfdnFzLCB2cV9zaXplKTsK
IAogCXJldHVybiByYzsKIH0KIAorLyoqCisgKiBBIGhlbHBlciBmdW5jdGlvbiB0byBzZXR1cCBh
biBpbmRpdmlkdWFsIHZpcnRxdWV1ZS4KKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8g
dGhlIHZpcnRpbyBkZXZpY2UuCisgKiBAcGFyYW0gdnFfaWQKKyAqCVRoZSB2aXJ0cXVldWUgcXVl
dWUgaWQuCisgKiBAcGFyYW0gbnJfZGVzYworICoJVGhlIGNvdW50IG9mIHRoZSBkZXNjcmlwdG9y
IHRvIGJlIGNvbmZpZ3VyZWQuCisgKiBAcGFyYW0gY2FsbGJhY2sKKyAqCUEgcmVmZXJlbmNlIHRv
IGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGludm9rZWQgYnkgdGhlIHZpcnRpbyBkZXZpY2Ugb24gYW4K
KyAqCWludGVycnVwdCBmcm9tIHRoZSB2aXJ0cXVldWUuCisgKiBAcGFyYW0gYQorICoJQSByZWZl
cmVuY2UgdG8gdGhlIGFsbG9jYXRvci4KKyAqCisgKiBAcmV0dXJuIHN0cnVjdCB2aXJ0cXVldWUg
KgorICoJT24gc3VjY2VzcywgYSByZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KKyAqCU9uIGVy
cm9yLAorICoJCS1FTk9UU1VQIG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2Uu
CisgKgkJLUVOT01FTSAgRmFpbGVkIGFsbG9jYXRpbmcgdGhlIHZpcnRxdWV1ZS4KKyAqLworc3Rh
dGljIGlubGluZSBzdHJ1Y3QgdmlydHF1ZXVlICp2aXJ0aW9fdnF1ZXVlX3NldHVwKHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2LAorCQkJCQkgICAgX191MTYgdnFfaWQsIF9fdTE2IG5yX2Rlc2MsCisJ
CQkJCSAgICB2aXJ0cXVldWVfY2FsbGJhY2tfdCAgY2FsbGJhY2ssCisJCQkJCSAgICBzdHJ1Y3Qg
dWtfYWxsb2MgKmEpCit7CisJc3RydWN0IHZpcnRxdWV1ZSAqdnEgPSBFUlIyUFRSKC1FTk9UU1VQ
KTsKKworCVVLX0FTU0VSVCh2ZGV2ICYmIGEpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52
cV9zZXR1cCkpCisJCXZxID0gdmRldi0+Y29wcy0+dnFfc2V0dXAodmRldiwgdnFfaWQsIG5yX2Rl
c2MsIGNhbGxiYWNrLCBhKTsKKworCXJldHVybiB2cTsKK30KKwogc3RhdGljIGlubGluZSBpbnQg
dmlydGlvX2hhc19mZWF0dXJlcyhfX3U2NCBmZWF0dXJlcywgX191OCBicG9zKQogewogCV9fdTY0
IHRtcF9mZWF0dXJlID0gMDsKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRp
by92aXJ0cXVldWUuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGE0YmMwCi0tLSAvZGV2L251bGwK
KysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCkBAIC0wLDAgKzEs
MTQ1IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgor
ICogQXV0aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+
CisgKgorICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAg
ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisg
KiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJF
IEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICovCisKKyNpZm5kZWYgX19QTEFU
X0RSVl9WSVJUUVVFVUVfSF9fCisjZGVmaW5lIF9fUExBVF9EUlZfVklSVFFVRVVFX0hfXworCisj
aW5jbHVkZSA8dWsvY29uZmlnLmg+CisjaW5jbHVkZSA8dWsvbGlzdC5oPgorI2luY2x1ZGUgPHVr
L3NnbGlzdC5oPgorI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8v
dmlydGlvX3JpbmcuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2NvbmZpZy5oPgorCisjaWZk
ZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisK
Ky8qKgorICogVHlwZSBkZWNsYXJhdGlvbnMKKyAqLworc3RydWN0IHZpcnRxdWV1ZTsKK3N0cnVj
dCB2aXJ0aW9fZGV2OwordHlwZWRlZiBpbnQgKCp2aXJ0cXVldWVfY2FsbGJhY2tfdCkoc3RydWN0
IHZpcnRxdWV1ZSAqLCB2b2lkICpwcml2KTsKK3R5cGVkZWYgaW50ICgqdmlydHF1ZXVlX25vdGlm
eV9ob3N0X3QpKHN0cnVjdCB2aXJ0aW9fZGV2ICosIF9fdTE2IHF1ZXVlX25yKTsKKworLyoqCisg
KiBTdHJ1Y3R1cmUgdG8gZGVzY3JpYmUgdGhlIHZpcnRxdWV1ZS4KKyAqLworc3RydWN0IHZpcnRx
dWV1ZSB7CisJLyogUmVmZXJlbmNlIHRoZSB2aXJ0aW9fZGV2IGl0IGJlbG9uZyB0byAqLworCXN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2OworCS8qIFZpcnRxdWV1ZSBpZGVudGlmaWVyICovCisJX191
MTYgcXVldWVfaWQ7CisJLyogTm90aWZ5IHRvIHRoZSBob3N0ICovCisJdmlydHF1ZXVlX25vdGlm
eV9ob3N0X3QgdnFfbm90aWZ5X2hvc3Q7CisJLyogQ2FsbGJhY2sgZnJvbSB0aGUgdmlydHF1ZXVl
ICovCisJdmlydHF1ZXVlX2NhbGxiYWNrX3QgdnFfY2FsbGJhY2s7CisJLyogTmV4dCBlbnRyeSBv
ZiB0aGUgcXVldWUgKi8KKwlVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdmlydHF1ZXVlKSBuZXh0Owor
CS8qIFByaXZhdGUgZGF0YSBzdHJ1Y3R1cmUgdXNlZCBieSB0aGUgZHJpdmVyIG9mIHRoZSBxdWV1
ZSAqLworCXZvaWQgKnByaXY7Cit9OworCisvKioKKyAqIEZldGNoIHRoZSBwaHlzaWNhbCBhZGRy
ZXNzIG9mIHRoZSBkZXNjcmlwdG9yIHJpbmcuCisgKiBAcGFyYW0gdnEKKyAqCVJlZmVyZW5jZSB0
byB0aGUgdmlydHF1ZXVlLgorICoKKyAqIEByZXR1cm4KKyAqCVJldHVybiB0aGUgZ3Vlc3QgcGh5
c2ljYWwgYWRkcmVzcyBvZiB0aGUgdnJpbmcuCisgKi8KK19fcGh5c19hZGRyIHZpcnRxdWV1ZV9w
aHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKKy8qKgorICogTmVnb3RpYXRlIHdpdGgg
dGhlIHZpcnRxdWV1ZSBmZWF0dXJlcy4KKyAqIEBwYXJhbSBmZWF0dXJlX3NldAorICoJVGhlIGZl
YXR1cmUgc2V0IHRoZSBkZXZpY2UgcmVxdWVzdC4KKyAqCisgKiBAcmV0dXJuIF9fdTY0CisgKglU
aGUgbmVnb3RpYXRlZCBmZWF0dXJlIHNldC4KKyAqLworX191NjQgdmlydHF1ZXVlX2ZlYXR1cmVf
bmVnb3RpYXRlKF9fdTY0IGZlYXR1cmVfc2V0KTsKKworLyoqCisgKiBBbGxvY2F0ZSBhIHZpcnRx
dWV1ZS4KKyAqIEBwYXJhbSBxdWV1ZV9pZAorICoJVGhlIHZpcnRxdWV1ZSBodyBpZC4KKyAqIEBw
YXJhbSBucl9kZXNjcworICoJVGhlIG51bWJlciBvZiBkZXNjcmlwdG9yIGZvciB0aGUgcXVldWUu
CisgKiBAcGFyYW0gYWxpZ24KKyAqCVRoZSBtZW1vcnkgYWxpZ25tZW50IGZvciB0aGUgcmluZyBt
ZW1vcnkuCisgKiBAcGFyYW0gY2FsbGJhY2sKKyAqCUEgcmVmZXJlbmNlIHRvIGNhbGxiYWNrIHRv
IHRoZSB2aXJ0aW8tZGV2LgorICogQHBhcmFtIG5vdGlmeQorICoJQSByZWZlcmVuY2UgdG8gbm90
aWZpY2F0aW9uIGZ1bmN0aW9uIHRvIHRoZSBob3N0LgorICogQHBhcmFtIHZkZXY6CisgKglBIHJl
ZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4KKyAqIEBwYXJhbSAgYToKKyAqCUEgcmVmZXJl
bmNlIHRvIHRoZSBhbGxvY2F0b3IuCisgKgorICogQHJldHVybiBzdHJ1Y3QgdmlydHF1ZXVlICoK
KyAqCU9uIHN1Y2Nlc3MsIHJldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgorICoJ
T24gZmFpbHVyZSwKKyAqCQkgICAtRU5PTUVNOiBGYWlsZWQgdG8gYWxsb2NhdGUgdGhlIHF1ZXVl
LgorICovCitzdHJ1Y3QgdmlydHF1ZXVlICp2aXJ0cXVldWVfY3JlYXRlKF9fdTE2IHF1ZXVlX2lk
LCBfX3UxNiBucl9kZXNjcywgX191MTYgYWxpZ24sCisJCQkJICAgdmlydHF1ZXVlX2NhbGxiYWNr
X3QgY2FsbGJhY2ssCisJCQkJICAgdmlydHF1ZXVlX25vdGlmeV9ob3N0X3Qgbm90aWZ5LAorCQkJ
CSAgIHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEpOworCisvKioK
KyAqIENoZWNrIHRoZSB2aXJ0cXVldWUgaWYgZnVsbC4KKyAqIEBwYXJhbSB2cQorICoJQSByZWZl
cmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KKyAqIEByZXR1cm4gaW50CisgKgkxIG9uIGZ1bGwsCisg
KgkwIG90aGVyd2lzZQorICovCitpbnQgdmlydHF1ZXVlX2lzX2Z1bGwoc3RydWN0IHZpcnRxdWV1
ZSAqdnEpOworCisvKgorICogRGVzdHJveSBhIHZpcnR1YWwgcXVldWUKKyAqIEBwYXJhbSB2cQor
ICoJQSByZWZlcmVuY2UgdG8gdGhlIHZpcnR1YWwgcXVldWUKKyAqIEBwYXJhbSBhCisgKglSZWZl
cmVuY2UgdG8gdGhlIG1lbW9yeSBhbGxvY2F0b3IKKyAqLwordm9pZCB2aXJ0cXVldWVfZGVzdHJv
eShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgc3RydWN0IHVrX2FsbG9jICphKTsKKworI2lmZGVmIF9f
Y3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9fUExB
VF9EUlZfVklSVFFVRVVFX0hfXyAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fYnVzLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwppbmRleCBlZjY2
YWU4Li5iMGFiOWM4IDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMu
YworKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwpAQCAtOTIsOCArOTIsOCBA
QCBzdGF0aWMgaW50IHZpcnRpb19kZXZpY2VfcmVpbml0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
KQogCSAqIFRoaXMgbWF5IG5vdCBiZSBuZWNlc3Nhcnkgd2hpbGUgaW5pdGlhbGl6aW5nIHRoZSBk
ZXZpY2UgZm9yIHRoZSBmaXJzdAogCSAqIHRpbWUuCiAJICovCi0JaWYgKHZkZXYtPmNvcHMtPnJl
c2V0X2RldmljZSkgewotCQl2ZGV2LT5jb3BzLT5yZXNldF9kZXZpY2UodmRldik7CisJaWYgKHZk
ZXYtPmNvcHMtPmRldmljZV9yZXNldCkgeworCQl2ZGV2LT5jb3BzLT5kZXZpY2VfcmVzZXQodmRl
dik7CiAJCS8qIFNldCB0aGUgZGV2aWNlIHN0YXR1cyAqLwogCQl2ZGV2LT5zdGF0dXMgPSBWSVJU
SU9fREVWX1JFU0VUOwogCX0KQEAgLTE0MCw2ICsxNDAsOCBAQCBpbnQgdmlydGlvX3JlZ2lzdGVy
X2RldmljZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKIAkJcmV0dXJuIHJjOwogCX0KIAorCS8q
IEluaXRpYWxpemUgdGhlIHZpcnRxdWV1ZSBsaXN0ICovCisJVUtfVEFJTFFfSU5JVCgmdmRldi0+
dnFzKTsKIAogCS8qIENhbGxpbmcgdGhlIGRyaXZlciBhZGQgZGV2aWNlICovCiAJcmMgPSBkcnYt
PmFkZF9kZXYodmRldik7CmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19w
Y2kuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCmluZGV4IGFiMmYyYzguLmQw
N2IwMTEgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCisrKyBi
L3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCkBAIC0zNSwxNiArMzUsMTMgQEAKICNp
bmNsdWRlIDx1ay9jb25maWcuaD4KICNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+CiAjaW5jbHVk
ZSA8ZXJybm8uaD4KLSNpZmRlZiBDT05GSUdfTElCVUtBTExPQwogI2luY2x1ZGUgPHVrL2FsbG9j
Lmg+Ci0jZWxzZQotI2Vycm9yICJWaXJ0aW8gUENJIGRldmljZSByZXF1aXJlcyBVS0FMTE9DIgot
I2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICovCiAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KICNp
bmNsdWRlIDx1ay9wbGF0L2xjcHUuaD4KICNpbmNsdWRlIDx1ay9wbGF0L2lycS5oPgogI2luY2x1
ZGUgPHBjaS9wY2lfYnVzLmg+CiAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KKyNp
bmNsdWRlIDx2aXJ0aW8vdmlydHF1ZXVlLmg+CiAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpby5oPgog
I2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fcGNpLmg+CiAKQEAgLTY5LDQ0ICs2NiwxMTggQEAgc3Ry
dWN0IHZpcnRpb19wY2lfZGV2IHsKIH07CiAKIC8qKgotICogRmV0Y2ggdGhlIHZpcnRpbyBwY2kg
aW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvZGV2LgorICogRmV0Y2ggdGhlIHZpcnRpbyBwY2kg
aW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvIGRldmljZS4KKyAqIEBwYXJhbSB2ZGV2CisgKglS
ZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCiAgKi8KICNkZWZpbmUgdG9fdmlydGlvcGNp
ZGV2KHZkZXYpIFwKIAkJX19jb250YWluZXJvZih2ZGV2LCBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYs
IHZkZXYpCiAKLQogLyoqCiAgKiBTdGF0aWMgZnVuY3Rpb24gZGVjbGFyYXRpb24uCiAgKi8KIHN0
YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9kZXZfcmVzZXQoc3RydWN0IHZpcnRpb19kZXYgKnZk
ZXYpOwogc3RhdGljIGludCB2cGNpX2xlZ2FjeV9wY2lfY29uZmlnX3NldChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAotCQkJCWNvbnN0IHZvaWQgKmJ1ZiwgX191MzIgbGVu
KTsKKwkJCQkgICAgICBjb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbik7CiBzdGF0aWMgaW50IHZw
Y2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBv
ZmZzZXQsCi0JCQkJCXZvaWQgKmJ1ZiwgX191MzIgbGVuLAotCQkJCQlfX3U4IHR5cGVfbGVuIF9f
bWF5YmVfdW51c2VkKTsKKwkJCQkgICAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwKKwkJCQkgICAg
ICBfX3U4IHR5cGVfbGVuIF9fbWF5YmVfdW51c2VkKTsKIHN0YXRpYyBfX3U2NCB2cGNpX2xlZ2Fj
eV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKIHN0YXRpYyB2b2lk
IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCi0J
CQkJCQlfX3U2NCBmZWF0dXJlcyk7CisJCQkJCSBfX3U2NCBmZWF0dXJlcyk7CitzdGF0aWMgaW50
IHZwY2lfbGVnYWN5X3BjaV92cV9maW5kKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBu
dW1fdnEsCisJCQkJICAgX191MTYgKnFkZXNjX3NpemUpOwogc3RhdGljIHZvaWQgdnBjaV9sZWdh
Y3lfcGNpX3N0YXR1c19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKTsK
IHN0YXRpYyBfX3U4IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2KTsKK3N0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92cV9zZXR1cChz
dHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQkJICAgICAgX191MTYgcXVldWVfaWQsCisJCQkJ
CSAgICAgIF9fdTE2IG51bV9kZXNjLAorCQkJCQkgICAgICB2aXJ0cXVldWVfY2FsbGJhY2tfdCBj
YWxsYmFjaywKKwkJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKTsKIHN0YXRpYyBpbmxpbmUg
dm9pZCB2aXJ0aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKLQkJCQlf
X3UxNiBwY2lfZGV2X2lkLCBfX3UxNiB2cGNpX2Rldl9pZF9zdGFydCk7CisJCQkJCV9fdTE2IHBj
aV9kZXZfaWQsCisJCQkJCV9fdTE2IHZwY2lfZGV2X2lkX3N0YXJ0KTsKIHN0YXRpYyBpbnQgdmly
dGlvX3BjaV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiwKLQkJc3Ry
dWN0IHZpcnRpb19wY2lfZGV2ICp2cGNpX2Rldik7CisJCQkJICAgICBzdHJ1Y3QgdmlydGlvX3Bj
aV9kZXYgKnZwY2lfZGV2KTsKIAogLyoqCiAgKiBDb25maWd1cmF0aW9uIG9wZXJhdGlvbnMgbGVn
YWN5IFBDSSBkZXZpY2UuCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgdmlydGlvX2NvbmZpZ19vcHMgdnBj
aV9sZWdhY3lfb3BzID0gewotCS5yZXNldF9kZXZpY2UgPSB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jl
c2V0LAotCS5zZXRfY29uZmlnICAgPSB2cGNpX2xlZ2FjeV9wY2lfY29uZmlnX3NldCwKLQkuZ2V0
X2NvbmZpZyAgID0gdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19nZXQsCi0JLmdldF9mZWF0dXJlcyA9
IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19nZXQsCi0JLnNldF9mZWF0dXJlcyA9IHZwY2lfbGVn
YWN5X3BjaV9mZWF0dXJlc19zZXQsCi0JLmdldF9zdGF0dXMgICA9IHZwY2lfbGVnYWN5X3BjaV9z
dGF0dXNfZ2V0LAotCS5zZXRfc3RhdHVzICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldCwK
KwkuZGV2aWNlX3Jlc2V0ID0gdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldCwKKwkuY29uZmlnX2dl
dCAgID0gdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19nZXQsCisJLmNvbmZpZ19zZXQgICA9IHZwY2lf
bGVnYWN5X3BjaV9jb25maWdfc2V0LAorCS5mZWF0dXJlc19nZXQgPSB2cGNpX2xlZ2FjeV9wY2lf
ZmVhdHVyZXNfZ2V0LAorCS5mZWF0dXJlc19zZXQgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNf
c2V0LAorCS5zdGF0dXNfZ2V0ICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCwKKwkuc3Rh
dHVzX3NldCAgID0gdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19zZXQsCisJLnZxc19maW5kICAgICA9
IHZwY2lfbGVnYWN5X3BjaV92cV9maW5kLAorCS52cV9zZXR1cCAgICAgPSB2cGNpX2xlZ2FjeV92
cV9zZXR1cCwKIH07CiAKK3N0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92cV9z
ZXR1cChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQkJICAgICAgX191MTYgcXVldWVfaWQs
CisJCQkJCSAgICAgIF9fdTE2IG51bV9kZXNjLAorCQkJCQkgICAgICB2aXJ0cXVldWVfY2FsbGJh
Y2tfdCBjYWxsYmFjaywKKwkJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKQoreworCXN0cnVj
dCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOwor
CV9fcGh5c19hZGRyIGFkZHI7CisJbG9uZyBmbGFnczsKKworCVVLX0FTU0VSVCh2ZGV2ICE9IE5V
TEwpOworCisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJdnEgPSB2aXJ0cXVldWVf
Y3JlYXRlKHF1ZXVlX2lkLCBudW1fZGVzYywgVklSVElPX1BDSV9WUklOR19BTElHTiwKKwkJCSAg
ICAgIGNhbGxiYWNrLCBOVUxMLCB2ZGV2LCBhKTsKKwlpZiAoUFRSSVNFUlIodnEpKSB7CisJCXVr
X3ByX2VycigiRmFpbGVkIHRvIGNyZWF0ZSB0aGUgdmlydHF1ZXVlOiAlZFxuIiwKKwkJCQlQVFIy
RVJSKHZxKSk7CisJCWdvdG8gZXJyX2V4aXQ7CisJfQorCisJLyogUGh5c2ljYWwgYWRkcmVzcyBv
ZiB0aGUgcXVldWUgKi8KKwlhZGRyID0gdmlydHF1ZXVlX3BoeXNhZGRyKHZxKTsKKwkvKiBTZWxl
Y3QgdGhlIHF1ZXVlIG9mIGludGVyZXN0ICovCisJdmlydGlvX2N3cml0ZTE2KCh2b2lkICopKHVu
c2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQlWSVJUSU9fUENJX1FVRVVFX1NF
TCwgcXVldWVfaWQpOworCXZpcnRpb19jd3JpdGUzMigodm9pZCAqKSh1bnNpZ25lZCBsb25nKXZw
ZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJVklSVElPX1BDSV9RVUVVRV9QRk4sCisJCQlhZGRyID4+
IFZJUlRJT19QQ0lfUVVFVUVfQUREUl9TSElGVCk7CisKKwlmbGFncyA9IHVrcGxhdF9sY3B1X3Nh
dmVfaXJxZigpOworCVVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ2cGRldi0+dmRldi52cXMsIHZxLCBu
ZXh0KTsKKwl1a3BsYXRfbGNwdV9yZXN0b3JlX2lycWYoZmxhZ3MpOworCitlcnJfZXhpdDoKKwly
ZXR1cm4gdnE7Cit9CisKK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQoc3RydWN0
IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cXMsCisJCQkJICAgX191MTYgKnFkZXNjX3Np
emUpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7CisJaW50IHZxX2Nu
dCA9IDAsIGkgPSAwOworCisJVUtfQVNTRVJUKHZkZXYpOworCXZwZGV2ID0gdG9fdmlydGlvcGNp
ZGV2KHZkZXYpOworCisJZm9yIChpID0gMDsgaSA8IG51bV92cXM7IGkrKykgeworCQl2aXJ0aW9f
Y3dyaXRlMTYoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJ
CQkJVklSVElPX1BDSV9RVUVVRV9TRUwsIGkpOworCQlxZGVzY19zaXplW2ldID0gdmlydGlvX2Ny
ZWFkMTYoCisJCQkJKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIs
CisJCQkJVklSVElPX1BDSV9RVUVVRV9TSVpFKTsKKwkJaWYgKHVubGlrZWx5KCFxZGVzY19zaXpl
W2ldKSkgeworCQkJdWtfcHJfZXJyKCJWaXJ0cXVldWUgJWQgbm90IGF2YWlsYWJsZVxuIiwgaSk7
CisJCQljb250aW51ZTsKKwkJfQorCQl2cV9jbnQrKzsKKwl9CisJcmV0dXJuIHZxX2NudDsKK30K
Kwogc3RhdGljIGludCB2cGNpX2xlZ2FjeV9wY2lfY29uZmlnX3NldChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldiwgX191MTYgb2Zmc2V0LAogCQkJCWNvbnN0IHZvaWQgKmJ1ZiwgX191MzIgbGVuKQog
ewpAQCAtMTE2LDE0ICsxODcsMTQgQEAgc3RhdGljIGludCB2cGNpX2xlZ2FjeV9wY2lfY29uZmln
X3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAogCXZwZGV2ID0gdG9f
dmlydGlvcGNpZGV2KHZkZXYpOwogCiAJX3ZpcnRpb19jd3JpdGVfYnl0ZXMoKHZvaWQgKikodW5z
aWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKLQkJCVZJUlRJT19QQ0lfQ09ORklHX09G
RiArIG9mZnNldCwgYnVmLCBsZW4sIDEpOworCQkJICAgICBWSVJUSU9fUENJX0NPTkZJR19PRkYg
KyBvZmZzZXQsIGJ1ZiwgbGVuLCAxKTsKIAogCXJldHVybiAwOwogfQogCiBzdGF0aWMgaW50IHZw
Y2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBv
ZmZzZXQsCi0JCQkJCXZvaWQgKmJ1ZiwgX191MzIgbGVuLAotCQkJCQlfX3U4IHR5cGVfbGVuIF9f
bWF5YmVfdW51c2VkKQorCQkJCSAgICAgIHZvaWQgKmJ1ZiwgX191MzIgbGVuLAorCQkJCSAgICAg
IF9fdTggdHlwZV9sZW4gX19tYXliZV91bnVzZWQpCiB7CiAJc3RydWN0IHZpcnRpb19wY2lfZGV2
ICp2cGRldiA9IE5VTEw7CiAJaW50IHJjID0gMDsKQEAgLTE1Miw3ICsyMjMsNyBAQCBzdGF0aWMg
X191OCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikK
IAlVS19BU1NFUlQodmRldik7CiAJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CiAJcmV0
dXJuIHZpcnRpb19jcmVhZDgoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpIHZwZGV2LT5wY2lfYmFz
ZV9hZGRyLAotCQkJVklSVElPX1BDSV9TVEFUVVMpOworCQkJICAgICBWSVJUSU9fUENJX1NUQVRV
Uyk7CiB9CiAKIHN0YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfc2V0KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cykKQEAgLTE2Nyw3ICsyMzgsNyBAQCBzdGF0aWMg
dm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwg
X191OCBzdGF0dXMpCiAJY3Vycl9zdGF0dXMgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCh2
ZGV2KTsKIAlzdGF0dXMgfD0gY3Vycl9zdGF0dXM7CiAJdmlydGlvX2N3cml0ZTgoKHZvaWQgKiko
dW5zaWduZWQgbG9uZykgdnBkZXYtPnBjaV9iYXNlX2FkZHIsCi0JCQkgVklSVElPX1BDSV9TVEFU
VVMsIHN0YXR1cyk7CisJCSAgICAgICBWSVJUSU9fUENJX1NUQVRVUywgc3RhdHVzKTsKIH0KIAog
c3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldChzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldikKQEAgLTE4Miw3ICsyNTMsNyBAQCBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZGV2
X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQogCSAqIFJlc2V0dGluZyB0aGUgZGV2aWNl
LgogCSAqLwogCXZpcnRpb19jd3JpdGU4KCh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5w
Y2lfYmFzZV9hZGRyLAotCQkJVklSVElPX1BDSV9TVEFUVVMsIFZJUlRJT19DT05GSUdfU1RBVFVT
X1JFU0VUKTsKKwkJICAgICAgIFZJUlRJT19QQ0lfU1RBVFVTLCBWSVJUSU9fQ09ORklHX1NUQVRV
U19SRVNFVCk7CiAJLyoqCiAJICogV2FpdGluZyBmb3IgdGhlIHJlc2V0dGluZyB0aGUgZGV2aWNl
LiBGaW5kIGEgYmV0dGVyIHdheQogCSAqIG9mIGRvaW5nIHRoaXMgaW5zdGVhZCBvZiByZXBlYXRp
bmcgcmVnaXN0ZXIgcmVhZC4KQEAgLTIwNiwxOSArMjc3LDIxIEBAIHN0YXRpYyBfX3U2NCB2cGNp
X2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQogCiAJdnBk
ZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CiAJZmVhdHVyZXMgPSB2aXJ0aW9fY3JlYWQzMigo
dm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKLQkJCQlWSVJUSU9f
UENJX0hPU1RfRkVBVFVSRVMpOworCQkJCSAgVklSVElPX1BDSV9IT1NUX0ZFQVRVUkVTKTsKIAly
ZXR1cm4gZmVhdHVyZXM7CiB9CiAKIHN0YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJl
c19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCi0JCQkJCQlfX3U2NCBmZWF0dXJlcykKKwkJ
CQkJIF9fdTY0IGZlYXR1cmVzKQogewogCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBO
VUxMOwogCiAJVUtfQVNTRVJUKHZkZXYpOwogCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYp
OworCS8qIE1hc2sgb3V0IGZlYXR1cmVzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIHZpcnRxdWV1ZSBk
cml2ZXIgKi8KKwlmZWF0dXJlcyA9IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShmZWF0dXJl
cyk7CiAJdmlydGlvX2N3cml0ZTMyKCh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lf
YmFzZV9hZGRyLAotCQkgVklSVElPX1BDSV9HVUVTVF9GRUFUVVJFUywgKF9fdTMyKWZlYXR1cmVz
KTsKKwkJCVZJUlRJT19QQ0lfR1VFU1RfRkVBVFVSRVMsIChfX3UzMilmZWF0dXJlcyk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldiwKQEAgLTIzMiw4ICszMDUsOCBAQCBzdGF0aWMgaW50IHZpcnRpb19wY2lfbGVnYWN5
X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCiB7CiAJLyogQ2hlY2sgdGhlIHZh
bGlkIHJhbmdlIG9mIHRoZSB2aXJ0aW8gbGVnYWN5IGRldmljZSAqLwogCWlmIChwY2lfZGV2LT5p
ZC5kZXZpY2VfaWQgPCAweDEwMDAgfHwgcGNpX2Rldi0+aWQuZGV2aWNlX2lkID4gMHgxMDNmKSB7
Ci0JCXVrX3ByX2VycigiRXJyb3I6IEludmFsaWQgVmlydGlvIERldmljZXMgJWRcbiIsCi0JCQkJ
cGNpX2Rldi0+aWQuZGV2aWNlX2lkKTsKKwkJdWtfcHJfZXJyKCJJbnZhbGlkIFZpcnRpbyBEZXZp
Y2VzICUwNHhcbiIsCisJCQkgIHBjaV9kZXYtPmlkLmRldmljZV9pZCk7CiAJCXJldHVybiAtRUlO
VkFMOwogCX0KIApAQCAtMjQyLDEyICszMTUsMTIgQEAgc3RhdGljIGludCB2aXJ0aW9fcGNpX2xl
Z2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2LAogCS8qIFNldHRpbmcgdGhl
IGNvbmZpZ3VyYXRpb24gb3BlcmF0aW9uICovCiAJdnBjaV9kZXYtPnZkZXYuY29wcyA9ICZ2cGNp
X2xlZ2FjeV9vcHM7CiAKLQl1a19wcl9pbmZvKCJBZGRlZCBhIHZpcnRpby1wY2kgZGV2aWNlKCUw
MngpXG4iLAotCQkJKGludCkgcGNpX2Rldi0+aWQuZGV2aWNlX2lkKTsKKwl1a19wcl9pbmZvKCJB
ZGRlZCB2aXJ0aW8tcGNpIGRldmljZSAlMDR4XG4iLAorCQkgICBwY2lfZGV2LT5pZC5kZXZpY2Vf
aWQpOwogCiAJLyogTWFwcGluZyB0aGUgdmlydGlvIGRldmljZSBpZGVudGlmaWVyICovCiAJdmly
dGlvX2RldmljZV9pZF9hZGQoJnZwY2lfZGV2LT52ZGV2LCBwY2lfZGV2LT5pZC5kZXZpY2VfaWQs
Ci0JCQlWSVJUSU9fUENJX0xFR0FDWV9ERVZJQ0VJRF9TVEFSVCk7CisJCQkgICAgIFZJUlRJT19Q
Q0lfTEVHQUNZX0RFVklDRUlEX1NUQVJUKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtMjYxLDcgKzMz
NCw3IEBAIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpw
Y2lfZGV2KQogCiAJdnBjaV9kZXYgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCp2cGNpX2RldikpOwog
CWlmICghdnBjaV9kZXYpIHsKLQkJdWtfcHJfZXJyKCJFcnJvciBpbiBtZW1vcnkgYWxsb2NhdGlv
biBvZiBwY2lfZGV2aWNlXG4iKTsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWxsb2NhdGUgdmly
dGlvLXBjaSBkZXZpY2VcbiIpOwogCQlyZXR1cm4gLUVOT01FTTsKIAl9CiAKQEAgLTI3NiwxOSAr
MzQ5LDE5IEBAIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNl
ICpwY2lfZGV2KQogCSAqLwogCXJjID0gdmlydGlvX3BjaV9sZWdhY3lfYWRkX2RldihwY2lfZGV2
LCB2cGNpX2Rldik7CiAJaWYgKHJjICE9IDApIHsKLQkJdWtfcHJfZXJyKCJGYWlsZWQoJWQpIHRv
IHByb2JlIHRoZSBsZWdhY3kgZGV2aWNlXG4iLAotCQkJCXJjKTsKKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gcHJvYmUgKGxlZ2FjeSkgcGNpIGRldmljZTogJWRcbiIsIHJjKTsKIAkJZ290byBmcmVl
X3BjaV9kZXY7CiAJfQogCiAJcmMgPSB2aXJ0aW9fcmVnaXN0ZXJfZGV2aWNlKCZ2cGNpX2Rldi0+
dmRldik7CiAJaWYgKHJjICE9IDApIHsKLQkJdWtfcHJfZXJyKCJGYWlsZWQoJWQpIHRvIHJlZ2lz
dGVyIHRoZSB2aXJ0aW8gZGV2aWNlXG4iLCByYyk7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHJl
Z2lzdGVyIHRoZSB2aXJ0aW8gZGV2aWNlOiAlZFxuIiwgcmMpOwogCQlnb3RvIGZyZWVfcGNpX2Rl
djsKIAl9CiAKIGV4aXQ6CiAJcmV0dXJuIHJjOworCiBmcmVlX3BjaV9kZXY6CiAJdWtfZnJlZShh
LCB2cGNpX2Rldik7CiAJZ290byBleGl0OwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fcmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOTE1OTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKQEAgLTAsMCArMSwxOTYgQEAKKy8q
IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3Jz
OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBD
b3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2Yg
dGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVE
IE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8KKy8qKgorICogSW5zcGlyZWQgZnJvbSB0aGUg
RnJlZUJTRC4KKyAqIENvbW1pdC1pZDogYTg5ZTdhMTBkNTAxCisgKi8KKyNpbmNsdWRlIDx1ay9j
b25maWcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgorI2lu
Y2x1ZGUgPHVrL2VycnB0ci5oPgorI2luY2x1ZGUgPGNwdS5oPgorI2luY2x1ZGUgPHVrL3NnbGlz
dC5oPgorI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+CisjaW5jbHVkZSA8dWsvcGxhdC9pby5o
PgorI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fcmluZy5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0
cXVldWUuaD4KKworI2RlZmluZSBWSVJUUVVFVUVfTUFYX1NJWkUgIDMyNzY4CisjZGVmaW5lIHRv
X3ZpcnRxdWV1ZV92cmluZyh2cSkJCQlcCisJX19jb250YWluZXJvZih2cSwgc3RydWN0IHZpcnRx
dWV1ZV92cmluZywgdnEpCisKK3N0cnVjdCB2aXJ0cXVldWVfZGVzY19pbmZvIHsKKwl2b2lkICpj
b29raWU7CisJX191MTYgZGVzY19jb3VudDsKK307CisKK3N0cnVjdCB2aXJ0cXVldWVfdnJpbmcg
eworCXN0cnVjdCB2aXJ0cXVldWUgdnE7CisJLyogRGVzY3JpcHRvciBSaW5nICovCisJc3RydWN0
IHZyaW5nIHZyaW5nOworCS8qIFJlZmVyZW5jZSB0byB0aGUgdnJpbmcgKi8KKwl2b2lkICAgKnZy
aW5nX21lbTsKKwkvKiBLZWVwIHRyYWNrIG9mIGF2YWlsYWJsZSBkZXNjcmlwdG9ycyAqLworCV9f
dTE2IGRlc2NfYXZhaWw7CisJLyogSW5kZXggb2YgdGhlIG5leHQgYXZhaWxhYmxlIHNsb3QgKi8K
KwlfX3UxNiBoZWFkX2ZyZWVfZGVzYzsKKwkvKiBJbmRleCBvZiB0aGUgbGFzdCB1c2VkIGRlc2Ny
aXB0b3IgYnkgdGhlIGhvc3QgKi8KKwlfX3UxNiBsYXN0X3VzZWRfZGVzY19pZHg7CisJLyogQ29v
a2llIHRvIGlkZW50aWZ5IGRyaXZlciBidWZmZXIgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlX2Rlc2Nf
aW5mbyB2cV9pbmZvW107Cit9OworCisvKioKKyAqIFN0YXRpYyBmdW5jdGlvbiBEZWNsYXJhdGlv
bihzKS4KKyAqLworc3RhdGljIHZvaWQgdmlydHF1ZXVlX3ZyaW5nX2luaXQoc3RydWN0IHZpcnRx
dWV1ZV92cmluZyAqdnJxLCBfX3UxNiBucl9kZXNjLAorCQkJCSBfX3UxNiBhbGlnbik7CisKKy8q
KgorICogRHJpdmVyIGltcGxlbWVudGF0aW9uCisgKi8KK19fdTY0IHZpcnRxdWV1ZV9mZWF0dXJl
X25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCkKK3sKKwlfX3U2NCBmZWF0dXJlID0gKDFVTEwg
PDwgVklSVElPX1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7CisKKwkvKioKKwkgKiBDdXJyZW50bHkg
b3V0IHZyaW5nIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGFueSByaW5nIGZlYXR1cmUuIFdlIHdp
bGwKKwkgKiBhZGQgc3VwcG9ydCB0byB0cmFuc3BvcnQgZmVhdHVyZSBpbiB0aGUgZnV0dXJlLgor
CSAqLworCWZlYXR1cmUgJj0gZmVhdHVyZV9zZXQ7CisJcmV0dXJuIGZlYXR1cmU7Cit9CisKK19f
cGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKwlz
dHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOworCisJVUtfQVNTRVJUKHZxKTsKKwor
CXZycSA9IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7CisJcmV0dXJuIHVrcGxhdF92aXJ0X3RvX3Bo
eXModnJxLT52cmluZ19tZW0pOworfQorCitzdGF0aWMgdm9pZCB2aXJ0cXVldWVfdnJpbmdfaW5p
dChzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEsIF9fdTE2IG5yX2Rlc2MsCisJCQkJIF9fdTE2
IGFsaWduKQoreworCWludCBpID0gMDsKKworCXZyaW5nX2luaXQoJnZycS0+dnJpbmcsIG5yX2Rl
c2MsIHZycS0+dnJpbmdfbWVtLCBhbGlnbik7CisKKwl2cnEtPmRlc2NfYXZhaWwgPSB2cnEtPnZy
aW5nLm51bTsKKwl2cnEtPmhlYWRfZnJlZV9kZXNjID0gMDsKKwl2cnEtPmxhc3RfdXNlZF9kZXNj
X2lkeCA9IDA7CisJZm9yIChpID0gMDsgaSA8IG5yX2Rlc2MgLSAxOyBpKyspCisJCXZycS0+dnJp
bmcuZGVzY1tpXS5uZXh0ID0gaSArIDE7CisJLyoqCisJICogV2hlbiB3ZSByZWFjaCB0aGlzIGRl
c2NyaXB0b3Igd2UgaGF2ZSBjb21wbGV0ZWx5IHVzZWQgYWxsIHRoZQorCSAqIGRlc2NyaXB0b3Ig
aW4gdGhlIHZyaW5nLgorCSAqLworCXZycS0+dnJpbmcuZGVzY1tucl9kZXNjIC0gMV0ubmV4dCA9
IFZJUlRRVUVVRV9NQVhfU0laRTsKK30KKworc3RydWN0IHZpcnRxdWV1ZSAqdmlydHF1ZXVlX2Ny
ZWF0ZShfX3UxNiBxdWV1ZV9pZCwgX191MTYgbnJfZGVzY3MsIF9fdTE2IGFsaWduLAorCQkJCSAg
IHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrLAorCQkJCSAgIHZpcnRxdWV1ZV9ub3RpZnlf
aG9zdF90IG5vdGlmeSwKKwkJCQkgICBzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgc3RydWN0IHVr
X2FsbG9jICphKQoreworCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKKwlzdHJ1Y3Qgdmly
dHF1ZXVlICp2cTsKKwlpbnQgcmM7CisJc2l6ZV90IHJpbmdfc2l6ZSA9IDA7CisKKwlVS19BU1NF
UlQoYSk7CisKKwl2cnEgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWUpICsK
KwkJCW5yX2Rlc2NzICogc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWVfZGVzY19pbmZvKSk7CisJaWYg
KCF2cnEpIHsKKwkJdWtfcHJfZXJyKCJBbGxvY2F0aW9uIG9mIHZpcnRxdWV1ZSBmYWlsZWRcbiIp
OworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2V4aXQ7CisJfQorCS8qKgorCSAqIEluaXRp
YWxpemUgdGhlIHZhbHVlIGJlZm9yZSByZWZlcmVuY2luZyBpdCBpbgorCSAqIHVrX3Bvc2l4X21l
bWFsaWduIGFzIHdlIGRvbid0IHNldCBOVUxMIG9uIGFsbCBmYWlsdXJlcyBpbiB0aGUKKwkgKiBh
bGxvY2F0aW9uLgorCSAqLworCXZycS0+dnJpbmdfbWVtID0gTlVMTDsKKworCXJpbmdfc2l6ZSA9
IHZyaW5nX3NpemUobnJfZGVzY3MsIGFsaWduKTsKKwl1a19wb3NpeF9tZW1hbGlnbihhLCAodm9p
ZCAqKikmdnJxLT52cmluZ19tZW0sIF9fUEFHRV9TSVpFLCByaW5nX3NpemUpOworCWlmICghdnJx
LT52cmluZ19tZW0pIHsKKwkJdWtfcHJfZXJyKCJBbGxvY2F0aW9uIG9mIHZyaW5nIGZhaWxlZFxu
Iik7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBlcnJfZnJlZXZxOworCX0KKwltZW1zZXQodnJx
LT52cmluZ19tZW0sIDAsIHJpbmdfc2l6ZSk7CisJdmlydHF1ZXVlX3ZyaW5nX2luaXQodnJxLCBu
cl9kZXNjcywgYWxpZ24pOworCisJdnEgPSAmdnJxLT52cTsKKwl2cS0+cXVldWVfaWQgPSBxdWV1
ZV9pZDsKKwl2cS0+dmRldiA9IHZkZXY7CisJdnEtPnZxX2NhbGxiYWNrID0gY2FsbGJhY2s7CisJ
dnEtPnZxX25vdGlmeV9ob3N0ID0gbm90aWZ5OworCXJldHVybiB2cTsKKworZXJyX2ZyZWV2cToK
Kwl1a19mcmVlKGEsIHZycSk7CitlcnJfZXhpdDoKKwlyZXR1cm4gRVJSMlBUUihyYyk7Cit9CisK
K3ZvaWQgdmlydHF1ZXVlX2Rlc3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB1a19h
bGxvYyAqYSkKK3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7CisKKwlVS19BU1NFUlQo
dnEpOworCisJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKKworCS8qIEZyZWUgdGhlIHJp
bmcgKi8KKwl1a19mcmVlKGEsIHZycS0+dnJpbmdfbWVtKTsKKworCS8qIEZyZWUgdGhlIHZpcnRx
dWV1ZSBtZXRhZGF0YSAqLworCXVrX2ZyZWUoYSwgdnJxKTsKK30KKworaW50IHZpcnRxdWV1ZV9p
c19mdWxsKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcg
KnZycTsKKworCVVLX0FTU0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEp
OworCXJldHVybiAodnJxLT5kZXNjX2F2YWlsID09IDApOworfQpkaWZmIC0tZ2l0IGEvcGxhdC9r
dm0vQ29uZmlnLnVrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCmluZGV4IGFmY2VkYzAuLjEzZTU1NzUg
MTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL0NvbmZpZy51aworKysgYi9wbGF0L2t2bS9Db25maWcudWsK
QEAgLTU3LDYgKzU3LDcgQEAgY29uZmlnIFZJUlRJT19CVVMKICAgICAgIGRlcGVuZHMgb24gKEFS
Q0hfWDg2XzY0KQogICAgICAgZGVwZW5kcyBvbiBMSUJVS0JVUwogICAgICAgc2VsZWN0IExJQlVL
QUxMT0MKKyAgICAgIHNlbGVjdCBMSUJVS1NHTElTVAogICAgICAgaGVscAogICAgICAgICAgICAg
ICAgVmlydGlvIGJ1cyBkcml2ZXIgZm9yIHByb2JpbmcgYW5kIG9wZXJhdGluZyB2aXJ0aW8gZGV2
aWNlIGFuZAogICAgICAgICAgICAgICAgdHJhbnNwb3J0IGxheWVyLgpkaWZmIC0tZ2l0IGEvcGxh
dC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awppbmRleCA5ODZiZjRhLi5j
Y2M4MzE5IDEwMDY0NAotLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51aworKysgYi9wbGF0L2t2bS9N
YWtlZmlsZS51awpAQCAtOTIsNSArOTIsNyBAQCBMSUJLVk1WSVJUSU9fQVNJTkNMVURFUy15ICAg
Kz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCiBMSUJLVk1WSVJUSU9fQ0lOQ0xV
REVTLXkgICAgKz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCiBMSUJLVk1WSVJU
SU9fU1JDUy0kKENPTkZJR19WSVJUSU9fQlVTKSArPVwKIAkJCQkJCQkkKFVLX1BMQVRfRFJJVkVS
U19CQVNFKS92aXJ0aW8vdmlydGlvX2J1cy5jCitMSUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19W
SVJUSU9fQlVTKSArPVwKKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmly
dGlvX3JpbmcuYwogTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX1BDSSkgKz1cCiAJ
CQkJCQkJJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19wY2kuYwotLSAKMi43
LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUV9-0004Po-Oe; Fri, 19 Oct 2018 13:07:39 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUV8-0004P9-M1
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:38 +0000
X-Inumbo-ID: 2665b97d-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 2665b97d-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:09:03 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 7FB33104A1A;
 Fri, 19 Oct 2018 15:07:36 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id HrD8MrGXT51Z; Fri, 19 Oct 2018 15:07:36 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 607431048F7
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:34 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:34 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:49 +0200
Message-ID: <1539954410-4800-7-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 6/7] plat/drivers: Interrupt
 handling for virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBBUEkgZm9yIGhhbmRsaW5nIHRoZSBpbnRlcnJ1cHQg
b24gdGhlIHZpcnRpbyBQQ0kKZGV2aWNlLiBJdCBwcm92aWRlcyBoYW5kbGVyIGZvciB0aGUgdmly
dHF1ZXVlIHJpbmdzLiBUaGUgaGFuZGxlciBpZGVudGlmaWVzCnRoZSB2aXJ0aW8gZGV2aWNlIG93
bmluZyB0aGUgdmlydHF1ZXVlIGFuZCBpbnZva2VzIHRoZSBjYWxsYmFjayBoYW5kbGVyCmNvbmZp
Z3VyZWQgYnkgdGhlIHZpcnRpbyBkZXZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhh
bmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydHF1ZXVlLmggfCA1MiArKysrKysrKysrKysrKysrKysrKysKIHBsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX3BjaS5jICAgICAgICB8IDQ0ICsrKysrKysrKysrKysrKysrLQog
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgIHwgODIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE3NyBpbnNlcnRpb25zKCsp
LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRxdWV1ZS5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCmlu
ZGV4IGE4YTRiYzAuLjM2ZWQyMTggMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3Zp
cnRpby92aXJ0cXVldWUuaAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1
ZXVlLmgKQEAgLTgzLDYgKzgzLDE3IEBAIHN0cnVjdCB2aXJ0cXVldWUgewogX19waHlzX2FkZHIg
dmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKIAogLyoqCisgKiBSaW5n
IGludGVycnVwdCBoYW5kbGVyCisgKiBAcGFyYW0gb2JqCisgKglSZWZlcmVuY2UgdG8gdGhlIHZp
cnRxdWV1ZS4KKyAqCisgKiBAcmV0dXJuIGludAorICoJMCwgSW50ZXJydXB0IHdhcyBub3QgZm9y
IHRoaXMgdmlydHF1ZXVlLgorICoJMSwgVmlydHF1ZXVlIGhhcyBoYW5kbGVkIHRoZSBpbnRlcnJ1
cHQuCisgKi8KK2ludCB2aXJ0cXVldWVfcmluZ19pbnRlcnJ1cHQodm9pZCAqb2JqKTsKKworLyoq
CiAgKiBOZWdvdGlhdGUgd2l0aCB0aGUgdmlydHF1ZXVlIGZlYXR1cmVzLgogICogQHBhcmFtIGZl
YXR1cmVfc2V0CiAgKglUaGUgZmVhdHVyZSBzZXQgdGhlIGRldmljZSByZXF1ZXN0LgpAQCAtOTMs
NiArMTA0LDE3IEBAIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1
ZXVlICp2cSk7CiBfX3U2NCB2aXJ0cXVldWVfZmVhdHVyZV9uZWdvdGlhdGUoX191NjQgZmVhdHVy
ZV9zZXQpOwogCiAvKioKKyAqIENoZWNrIGlmIGhvc3Qgbm90aWZpY2F0aW9uIGlzIGVuYWJsZWQu
CisgKgorICogQHBhcmFtIHZxCisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KKyAqIEBy
ZXR1cm4KKyAqCVJldHVybnMgMSwgaG9zdCBuZWVkcyBub3RpZmljYXRpb24gb24gbmV3IGRlc2Ny
aXB0b3JzLgorICoJCTAsIG90aGVyd2lzZS4KKyAqLworaW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5h
YmxlZChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKKy8qKgogICogQWxsb2NhdGUgYSB2aXJ0cXVl
dWUuCiAgKiBAcGFyYW0gcXVldWVfaWQKICAqCVRoZSB2aXJ0cXVldWUgaHcgaWQuCkBAIC0xMzgs
NiArMTYwLDM2IEBAIGludCB2aXJ0cXVldWVfaXNfZnVsbChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7
CiAgKi8KIHZvaWQgdmlydHF1ZXVlX2Rlc3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVj
dCB1a19hbGxvYyAqYSk7CiAKKy8qKgorICogRGlzYWJsZSBpbnRlcnJ1cHRzIG9uIHRoZSB2aXJ0
cXVldWUuCisgKiBAcGFyYW0gdnEKKyAqICAgICAgUmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUu
CisgKi8KK3ZvaWQgdmlydHF1ZXVlX2ludHJfZGlzYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7
CisKKy8qKgorICogRW5hYmxlIGludGVycnVwdHMgb24gdGhlIHZpcnRxdWV1ZS4KKyAqIEBwYXJh
bSB2cQorICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZQorICogQHJldHVybgorICoJ
MCwgT24gc3VjY2Vzc2Z1bCBlbmFibGluZyBvZiBpbnRlcnJ1cHQuCisgKgkxLCBNb3JlIHBhY2tl
dCBpbiB0aGUgcmluZyB0byBiZSBwcm9jZXNzZWQuCisgKi8KK2ludCB2aXJ0cXVldWVfaW50cl9l
bmFibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOworCisvKioKKyAqIE5vdGlmeSB0aGUgaG9zdCBv
ZiBhbiBldmVudC4KKyAqIEBwYXJhbSB2cQorICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZpcnR1
YWwgcXVldWUuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfaG9zdF9ub3RpZnko
c3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisJVUtfQVNTRVJUKHZxKTsKKworCWlmICh2cS0+dnFf
bm90aWZ5X2hvc3QgJiYgdmlydHF1ZXVlX25vdGlmeV9lbmFibGVkKHZxKSkKKwkJdnEtPnZxX25v
dGlmeV9ob3N0KHZxLT52ZGV2LCB2cS0+cXVldWVfaWQpOworfQorCiAjaWZkZWYgX19jcGx1c3Bs
dXMKIH0KICNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJz
L3ZpcnRpby92aXJ0aW9fcGNpLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwpp
bmRleCBkMDdiMDExLi44MmY0MjQ5IDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19wY2kuYworKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwpAQCAtOTcs
NiArOTcsOCBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdhY3lfdnFfc2V0dXAo
c3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCiBzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlvX2Rldmlj
ZV9pZF9hZGQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCiAJCQkJCV9fdTE2IHBjaV9kZXZfaWQs
CiAJCQkJCV9fdTE2IHZwY2lfZGV2X2lkX3N0YXJ0KTsKK3N0YXRpYyBpbnQgdmlydGlvX3BjaV9o
YW5kbGUodm9pZCAqYXJnKTsKK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfbm90aWZ5KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBxdWV1ZV9pZCk7CiBzdGF0aWMgaW50IHZpcnRpb19wY2lf
bGVnYWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCiAJCQkJICAgICBzdHJ1
Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2KTsKIApAQCAtMTE1LDYgKzExNyw0MyBAQCBzdGF0
aWMgc3RydWN0IHZpcnRpb19jb25maWdfb3BzIHZwY2lfbGVnYWN5X29wcyA9IHsKIAkudnFfc2V0
dXAgICAgID0gdnBjaV9sZWdhY3lfdnFfc2V0dXAsCiB9OwogCitzdGF0aWMgaW50IHZwY2lfbGVn
YWN5X25vdGlmeShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgcXVldWVfaWQpCit7CisJ
c3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldjsKKworCVVLX0FTU0VSVCh2ZGV2KTsKKwl2cGRl
diA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKKwl2aXJ0aW9fY3dyaXRlMTYoKHZvaWQgKikodW5z
aWduZWQgbG9uZykgdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQlWSVJUSU9fUENJX1FVRVVFX05P
VElGWSwgcXVldWVfaWQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmlydGlvX3Bj
aV9oYW5kbGUodm9pZCAqYXJnKQoreworCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqZCA9IChzdHJ1
Y3QgdmlydGlvX3BjaV9kZXYgKikgYXJnOworCXVpbnQ4X3QgaXNyX3N0YXR1czsKKwlzdHJ1Y3Qg
dmlydHF1ZXVlICp2cTsKKwlpbnQgcmMgPSAwOworCisJVUtfQVNTRVJUKGFyZyk7CisKKwkvKiBS
ZWFkaW5nIHRoZSBpc3Igc3RhdHVzIGlzIHVzZWQgdG8gYWNrbm93bGVkZ2UgdGhlIGludGVycnVw
dCAqLworCWlzcl9zdGF0dXMgPSB2aXJ0aW9fY3JlYWQ4KCh2b2lkICopKHVuc2lnbmVkIGxvbmcp
ZC0+cGNpX2lzcl9hZGRyLCAwKTsKKwkvKiBXZSBkb24ndCBzdXBwb3J0IGNvbmZpZ3VyYXRpb24g
aW50ZXJydXB0IG9uIHRoZSBkZXZpY2UgKi8KKwlpZiAoaXNyX3N0YXR1cyAmIFZJUlRJT19QQ0lf
SVNSX0NPTkZJRykgeworCQl1a19wcl93YXJuKCJVbnN1cHBvcnRlZCBjb25maWcgY2hhbmdlIGlu
dGVycnVwdCByZWNlaXZlZCBvbiB2aXJ0aW8tcGNpIGRldmljZSAlcFxuIiwKKwkJCSAgIGQpOwor
CX0KKworCWlmIChpc3Jfc3RhdHVzICYgVklSVElPX1BDSV9JU1JfSEFTX0lOVFIpIHsKKwkJVUtf
VEFJTFFfRk9SRUFDSCh2cSwgJmQtPnZkZXYudnFzLCBuZXh0KSB7CisJCQlyYyB8PSB2aXJ0cXVl
dWVfcmluZ19pbnRlcnJ1cHQodnEpOworCQl9CisJfQorCXJldHVybiByYzsKK30KKwogc3RhdGlj
IHN0cnVjdCB2aXJ0cXVldWUgKnZwY2lfbGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LAogCQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCwKIAkJCQkJICAgICAgX191MTYgbnVt
X2Rlc2MsCkBAIC0xMzAsNyArMTY5LDcgQEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZwY2lf
bGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAogCiAJdnBkZXYgPSB0b192
aXJ0aW9wY2lkZXYodmRldik7CiAJdnEgPSB2aXJ0cXVldWVfY3JlYXRlKHF1ZXVlX2lkLCBudW1f
ZGVzYywgVklSVElPX1BDSV9WUklOR19BTElHTiwKLQkJCSAgICAgIGNhbGxiYWNrLCBOVUxMLCB2
ZGV2LCBhKTsKKwkJCSAgICAgIGNhbGxiYWNrLCB2cGNpX2xlZ2FjeV9ub3RpZnksIHZkZXYsIGEp
OwogCWlmIChQVFJJU0VSUih2cSkpIHsKIAkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gY3JlYXRlIHRo
ZSB2aXJ0cXVldWU6ICVkXG4iLAogCQkJCVBUUjJFUlIodnEpKTsKQEAgLTE2Myw2ICsyMDIsOSBA
QCBzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV92cV9maW5kKHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2LCBfX3UxNiBudW1fdnFzLAogCVVLX0FTU0VSVCh2ZGV2KTsKIAl2cGRldiA9IHRvX3ZpcnRp
b3BjaWRldih2ZGV2KTsKIAorCS8qIFJlZ2lzdGVyaW5nIHRoZSBpbnRlcnJ1cHQgZm9yIHRoZSBx
dWV1ZSAqLworCXVrcGxhdF9pcnFfcmVnaXN0ZXIodnBkZXYtPnBkZXYtPmlycSwgdmlydGlvX3Bj
aV9oYW5kbGUsIHZwZGV2KTsKKwogCWZvciAoaSA9IDA7IGkgPCBudW1fdnFzOyBpKyspIHsKIAkJ
dmlydGlvX2N3cml0ZTE2KCh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9h
ZGRyLAogCQkJCVZJUlRJT19QQ0lfUVVFVUVfU0VMLCBpKTsKZGlmZiAtLWdpdCBhL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3Jp
bmcuYwppbmRleCBiYTkxNTk0Li42MDEyYmQyIDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19yaW5nLmMKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5j
CkBAIC03NCw5ICs3NCw3NCBAQCBzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nIHsKIC8qKgogICogU3Rh
dGljIGZ1bmN0aW9uIERlY2xhcmF0aW9uKHMpLgogICovCitzdGF0aWMgaW5saW5lIGludCB2aXJ0
cXVldWVfaGFzZGF0YShzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEpOwogc3RhdGljIHZvaWQg
dmlydHF1ZXVlX3ZyaW5nX2luaXQoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLCBfX3UxNiBu
cl9kZXNjLAogCQkJCSBfX3UxNiBhbGlnbik7CiAKK3ZvaWQgdmlydHF1ZXVlX2ludHJfZGlzYWJs
ZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7
CisKKwlVS19BU1NFUlQodnEpOworCisJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKKwl2
cnEtPnZyaW5nLmF2YWlsLT5mbGFncyB8PSAoVlJJTkdfQVZBSUxfRl9OT19JTlRFUlJVUFQpOwor
fQorCitpbnQgdmlydHF1ZXVlX2ludHJfZW5hYmxlKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQorewor
CXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKKwlpbnQgcmMgPSAwOworCisJVUtfQVNTRVJU
KHZxKTsKKworCXZycSA9IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7CisJLyogQ2hlY2sgaWYgdGhl
cmUgYXJlIG5vIG1vcmUgcGFja2V0cyBlbmFibGVkICovCisJaWYgKCF2aXJ0cXVldWVfaGFzZGF0
YSh2cnEpKSB7CisJCWlmICh2cnEtPnZyaW5nLmF2YWlsLT5mbGFncyB8IFZSSU5HX0FWQUlMX0Zf
Tk9fSU5URVJSVVBUKSB7CisJCQl2cnEtPnZyaW5nLmF2YWlsLT5mbGFncyAmPQorCQkJCSh+VlJJ
TkdfQVZBSUxfRl9OT19JTlRFUlJVUFQpOworCQkJLyoqCisJCQkgKiBXZSBlbmFibGVkIHRoZSBp
bnRlcnJ1cHRzLiBXZSBlbnN1cmUgaXQgdXNpbmcgdGhlCisJCQkgKiBtZW1vcnkgYmFycmllciBh
bmQgY2hlY2sgaWYgdGhlcmUgYXJlIGFueSBmdXJ0aGVyCisJCQkgKiBkYXRhIGF2YWlsYWJsZSBp
biB0aGUgcXVldWUuIFRoZSBjaGVjayBmb3IgZGF0YQorCQkJICogYWZ0ZXIgZW5hYmxpbmcgdGhl
IGludGVycnVwdCBpcyB0byBtYWtlIHN1cmUgd2UgZG8KKwkJCSAqIG5vdCBtaXNzIGFueSBpbnRl
cnJ1cHQgd2hpbGUgdHJhbnNpdGlvbmluZyB0byBlbmFibGUKKwkJCSAqIGludGVycnVwdC4gVGhp
cyBpcyBpbmxpbmUgd2l0aCB0aGUgcmVxdWlyZW1lbnQgZnJvbQorCQkJICogdmlydGlvIHNwZWNp
ZmljYXRpb24gc2VjdGlvbiAzLjIuMgorCQkJICovCisJCQltYigpOworCQkJLyogQ2hlY2sgaWYg
dGhlcmUgYXJlIGZ1cnRoZXIgZGVzY3JpcHRvcnMgKi8KKwkJCWlmICh2aXJ0cXVldWVfaGFzZGF0
YSh2cnEpKSB7CisJCQkJdmlydHF1ZXVlX2ludHJfZGlzYWJsZSh2cSk7CisJCQkJcmMgPSAxOwor
CQkJfQorCQl9CisJfSBlbHNlIHsKKwkJLyoqCisJCSAqIFRoZXJlIGFyZSBtb3JlIHBhY2tldCBp
biB0aGUgdmlydHF1ZXVlIHRvIGJlIHByb2Nlc3NlZCB3aGlsZQorCQkgKiB0aGUgaW50ZXJydXB0
IHdhcyBkaXNhYmxlZC4KKwkJICovCisJCXJjID0gMTsKKwl9CisJcmV0dXJuIHJjOworfQorCitp
bnQgdmlydHF1ZXVlX25vdGlmeV9lbmFibGVkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQoreworCXN0
cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKKworCVVLX0FTU0VSVCh2cSk7CisJdnJxID0gdG9f
dmlydHF1ZXVlX3ZyaW5nKHZxKTsKKworCXJldHVybiAoKHZycS0+dnJpbmcudXNlZC0+ZmxhZ3Mg
JiBWUklOR19VU0VEX0ZfTk9fTk9USUZZKSA9PSAwKTsKK30KKworc3RhdGljIGlubGluZSBpbnQg
dmlydHF1ZXVlX2hhc2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKQoreworCXJldHVy
biAodnJxLT5sYXN0X3VzZWRfZGVzY19pZHggIT0gdnJxLT52cmluZy51c2VkLT5pZHgpOworfQor
CiAvKioKICAqIERyaXZlciBpbXBsZW1lbnRhdGlvbgogICovCkBAIC05Miw2ICsxNTcsMjMgQEAg
X191NjQgdmlydHF1ZXVlX2ZlYXR1cmVfbmVnb3RpYXRlKF9fdTY0IGZlYXR1cmVfc2V0KQogCXJl
dHVybiBmZWF0dXJlOwogfQogCitpbnQgdmlydHF1ZXVlX3JpbmdfaW50ZXJydXB0KHZvaWQgKm9i
aikKK3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOworCXN0cnVjdCB2aXJ0
cXVldWUgKnZxID0gKHN0cnVjdCB2aXJ0cXVldWUgKilvYmo7CisJaW50IHJjID0gMDsKKworCVVL
X0FTU0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOworCWlmICghdmly
dHF1ZXVlX2hhc2RhdGEodnJxKSkKKwkJcmV0dXJuIHJjOworCisJaWYgKGxpa2VseSh2cS0+dnFf
Y2FsbGJhY2spKQorCQlyYyA9IHZxLT52cV9jYWxsYmFjayh2cSwgdnEtPnByaXYpOworCXJldHVy
biByYzsKK30KKwogX19waHlzX2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxKQogewogCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSA9IE5VTEw7Ci0tIAoyLjcu
NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:07:41 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:07:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDUVB-0004QZ-QC; Fri, 19 Oct 2018 13:07:41 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDUVA-0004QJ-TH
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:07:40 +0000
X-Inumbo-ID: 27d36ff3-d3a0-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 27d36ff3-d3a0-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:09:05 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id D44EAF2057;
 Fri, 19 Oct 2018 15:07:38 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id hc85F7oozOYW; Fri, 19 Oct 2018 15:07:38 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id AE602F2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:07:36 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:07:36 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:06:50 +0200
Message-ID: <1539954410-4800-8-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH 7/7] plat/drivers: Add & Remove
 buffer from virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHVzZXIgYnVmZmVyIGFyZSBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgaW50byB0aGUgdmlydGlv
LXJpbmcuClRoZSB1c2VyIGRhdGEgaXMgZGVzY3JpYmVkIHRvIHRoZSB2aXJ0aW8tcmluZyB1c2lu
ZyBhIHNjYXR0ZXIvZ2F0aGVyCmxpc3QuIFRoZSBlbnF1ZXVlIGFuZCBkZXF1ZXVlIGluIHR1cm4g
dXNlcyB0aGUgcmluZyBkZXNjcmlwdG9yIGZvcgplYWNoIHNlZ21lbnQgb2YgdGhlIHNjYXR0ZXIg
Z2F0aGVyIGxpc3QuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2Fu
dGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1
ZXVlLmggfCAgNDAgKysrKysrKysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMg
ICAgICAgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hh
bmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oIGIvcGxhdC9kcml2ZXJzL2luY2x1
ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCmluZGV4IDM2ZWQyMTguLjkzZTE3MTQgMTAwNjQ0Ci0tLSBh
L3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAorKysgYi9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmgKQEAgLTExNSw2ICsxMTUsNDYgQEAgX191NjQg
dmlydHF1ZXVlX2ZlYXR1cmVfbmVnb3RpYXRlKF9fdTY0IGZlYXR1cmVfc2V0KTsKIGludCB2aXJ0
cXVldWVfbm90aWZ5X2VuYWJsZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwogCiAvKioKKyAqIFJl
bW92ZSB0aGUgdXNlciBidWZmZXIgZnJvbSB0aGUgdmlydHF1ZXVlLgorICoKKyAqIEBwYXJhbSB2
cQorICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUuCisgKiBAcGFyYW0gbGVuCisgKglSZWZl
cmVuY2UgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBwYWNrZXQuCisgKiBAcmV0dXJuCisgKglP
biBTdWNjZXNzLCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGNvb2tpZSB0aGF0IHdhcyBzdWJtaXR0
ZWQgd2l0aAorICoJZGVzY3JpcHRvci4KKyAqCU9uIGZhaWx1cmUsIHJldHVybnMgTlVMTCB3aXRo
IHRoZSBsZW5ndGggdW5tb2RpZmllZC4KKyAqLwordm9pZCAqdmlydHF1ZXVlX2J1ZmZlcl9kZXF1
ZXVlKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCBfX3UzMiAqbGVuKTsKKworLyoqCisgKiBDcmVhdGUg
YSBkZXNjcmlwdG9yIGNoYWluIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQsCisgKiB1c2luZyB2cS0+
YnVmcyBhbHNvIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQuCisgKiBAcGFyYW0gdnEKKyAqCVJlZmVy
ZW5jZSB0byB0aGUgdmlydHVhbCBxdWV1ZQorICogQHBhcmFtIGNvb2tpZQorICoJUmVmZXJlbmNl
IHRvIHRoZSBjb29raWUgdG8gcmVjb25zdHJ1Y3QgdGhlIGJ1ZmZlci4KKyAqIEBwYXJhbSBzZwor
ICoJUmVmZXJlbmNlIHRvIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0CisgKiBAcGFyYW0gcmVhZF9i
dWZzCisgKglUaGUgbnVtYmVyIG9mIHJlYWQgYnVmZmVyLgorICogQHBhcmFtIHdyaXRlX2J1ZnMK
KyAqCVRoZSBudW1iZXIgb2Ygd3JpdGUgYnVmZmVyLgorICoKKyAqIEByZXR1cm4KKyAqCT4gMCBU
aGUgYnVmZmVycyB3ZXJlIGVucXVldWVkIGludG8gdGhlIHJpbmcgYW5kIHRoZSBjb3VudCBpbmRp
Y2F0ZXMKKyAqCXRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIHNsb3RzIGluIHRoZSByaW5nLgorICoJ
MCAgVGhlIGJ1ZmZlcnMgd2VyZSBlbnF1ZXVlZCBhbmQgdGhlcmUgYXJlIG5vIGZ1cnRoZXIgZGVz
Y3JpcHRvcnMKKyAqCWF2YWlsYWJsZS4KKyAqCTwgMCBGYWlsZWQgdG8gZW5xdWV1ZSB0aGUgYnVm
ZmVycy4KKyAqCisgKi8KK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZpcnRx
dWV1ZSAqdnEsIHZvaWQgKmNvb2tpZSwKKwkJCSAgICAgc3RydWN0IHVrX3NnbGlzdCAqc2csIF9f
dTE2IHJlYWRfYnVmcywKKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcyk7CisKKy8qKgogICogQWxs
b2NhdGUgYSB2aXJ0cXVldWUuCiAgKiBAcGFyYW0gcXVldWVfaWQKICAqCVRoZSB2aXJ0cXVldWUg
aHcgaWQuCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKaW5kZXggNjAxMmJkMi4uMWUzYzgyNyAx
MDA2NDQKLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCisrKyBiL3BsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwpAQCAtNzQsMTAgKzc0LDIzIEBAIHN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgewogLyoqCiAgKiBTdGF0aWMgZnVuY3Rpb24gRGVjbGFyYXRpb24ocyku
CiAgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfcmluZ191cGRhdGVfYXZhaWwoc3Ry
dWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAorCQkJCQkgICAgICAgX191MTYgaWR4KTsKK3N0YXRp
YyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfZGV0YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZyAqdnJxLAorCQkJCQkgX191MTYgaGVhZF9pZHgpOwogc3RhdGljIGlubGluZSBpbnQgdmlydHF1
ZXVlX2hhc2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKTsKK3N0YXRpYyBpbmxpbmUg
aW50IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cygKKwkJCQkJCSAgICBzdHJ1Y3Qg
dmlydHF1ZXVlX3ZyaW5nICp2cnEsCisJCQkJCQkgICAgX191MTYgaGVhZCwKKwkJCQkJCSAgICBz
dHJ1Y3QgdWtfc2dsaXN0ICpzZywKKwkJCQkJCSAgICBfX3UxNiByZWFkX2J1ZnMsCisJCQkJCQkg
ICAgX191MTYgd3JpdGVfYnVmcyk7CiBzdGF0aWMgdm9pZCB2aXJ0cXVldWVfdnJpbmdfaW5pdChz
dHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEsIF9fdTE2IG5yX2Rlc2MsCiAJCQkJIF9fdTE2IGFs
aWduKTsKIAorLyoqCisgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24KKyAqLwogdm9pZCB2aXJ0cXVl
dWVfaW50cl9kaXNhYmxlKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQogewogCXN0cnVjdCB2aXJ0cXVl
dWVfdnJpbmcgKnZycTsKQEAgLTEyNyw2ICsxNDAsNDYgQEAgaW50IHZpcnRxdWV1ZV9pbnRyX2Vu
YWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKIAlyZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbmxp
bmUgdm9pZCB2aXJ0cXVldWVfcmluZ191cGRhdGVfYXZhaWwoc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZyAqdnJxLAorCQkJCQlfX3UxNiBpZHgpCit7CisJX191MTYgYXZhaWxfaWR4OworCisJYXZhaWxf
aWR4ID0gdnJxLT52cmluZy5hdmFpbC0+aWR4ICYgKHZycS0+dnJpbmcubnVtIC0gMSk7CisJLyog
QWRkaW5nIHRoZSBpZHggdG8gYXZhaWxhYmxlIHJpbmcgKi8KKwl2cnEtPnZyaW5nLmF2YWlsLT5y
aW5nW2F2YWlsX2lkeF0gPSBpZHg7CisJLyoqCisJICogV3JpdGUgYmFycmllciB0byBtYWtlIHN1
cmUgd2UgcHVzaCB0aGUgZGVzY3JpcHRvciBvbiB0aGUgYXZhaWxhYmxlCisJICogZGVzY3JpcHRv
ciBhbmQgdGhlbiBpbmNyZW1lbnQgYXZhaWxhYmxlIGluZGV4LgorCSAqLworCXdtYigpOworCXZy
cS0+dnJpbmcuYXZhaWwtPmlkeCsrOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdmlydHF1ZXVl
X2RldGFjaF9kZXNjKHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwKKwkJCQkJX191MTYgaGVh
ZF9pZHgpCit7CisJc3RydWN0IHZyaW5nX2Rlc2MgKmRlc2M7CisJc3RydWN0IHZpcnRxdWV1ZV9k
ZXNjX2luZm8gKnZxX2luZm87CisKKwlkZXNjID0gJnZycS0+dnJpbmcuZGVzY1toZWFkX2lkeF07
CisJdnFfaW5mbyA9ICZ2cnEtPnZxX2luZm9baGVhZF9pZHhdOworCXZycS0+ZGVzY19hdmFpbCAr
PSB2cV9pbmZvLT5kZXNjX2NvdW50OworCXZxX2luZm8tPmRlc2NfY291bnQtLTsKKworCXdoaWxl
IChkZXNjLT5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhUKSB7CisJCWRlc2MgPSAmdnJxLT52cmlu
Zy5kZXNjW2Rlc2MtPm5leHRdOworCQl2cV9pbmZvLT5kZXNjX2NvdW50LS07CisJfQorCisJLyog
VGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSAqLworCVVLX0FTU0VSVCh2cV9pbmZvLT5kZXNjX2Nv
dW50ID09IDApOworCisJLyogQXBwZW5kaW5nIHRoZSBkZXNjcmlwdG9yIHRvIHRoZSBoZWFkIG9m
IGxpc3QgKi8KKwlkZXNjLT5uZXh0ID0gdnJxLT5oZWFkX2ZyZWVfZGVzYzsKKwl2cnEtPmhlYWRf
ZnJlZV9kZXNjID0gaGVhZF9pZHg7Cit9CisKIGludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQo
c3RydWN0IHZpcnRxdWV1ZSAqdnEpCiB7CiAJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwpA
QCAtMTM3LDE0ICsxOTAsMzcgQEAgaW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5hYmxlZChzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSkKIAlyZXR1cm4gKCh2cnEtPnZyaW5nLnVzZWQtPmZsYWdzICYgVlJJTkdf
VVNFRF9GX05PX05PVElGWSkgPT0gMCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRxdWV1
ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cygKKwkJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJx
LAorCQlfX3UxNiBoZWFkLCBzdHJ1Y3QgdWtfc2dsaXN0ICpzZywgX191MTYgcmVhZF9idWZzLAor
CQlfX3UxNiB3cml0ZV9idWZzKQoreworCWludCBpID0gMCwgdG90YWxfZGVzYyA9IDA7CisJc3Ry
dWN0IHVrX3NnbGlzdF9zZWcgKnNlZ3M7CisJX191MTYgaWR4ID0gMDsKKworCXRvdGFsX2Rlc2Mg
PSByZWFkX2J1ZnMgKyB3cml0ZV9idWZzOworCisJZm9yIChpID0gMCwgaWR4ID0gaGVhZDsgaSA8
IHRvdGFsX2Rlc2M7IGkrKykgeworCQlzZWdzID0gJnNnLT5zZ19zZWdzW2ldOworCQl2cnEtPnZy
aW5nLmRlc2NbaWR4XS5hZGRyID0gc2Vncy0+c3NfcGFkZHI7CisJCXZycS0+dnJpbmcuZGVzY1tp
ZHhdLmxlbiA9IHNlZ3MtPnNzX2xlbjsKKwkJdnJxLT52cmluZy5kZXNjW2lkeF0uZmxhZ3MgPSAw
OworCQlpZiAoaSA+PSByZWFkX2J1ZnMpCisJCQl2cnEtPnZyaW5nLmRlc2NbaWR4XS5mbGFncyB8
PSBWUklOR19ERVNDX0ZfV1JJVEU7CisKKwkJaWYgKGkgPCB0b3RhbF9kZXNjIC0gMSkKKwkJCXZy
cS0+dnJpbmcuZGVzY1tpZHhdLmZsYWdzIHw9IFZSSU5HX0RFU0NfRl9ORVhUOworCQlpZHggPSB2
cnEtPnZyaW5nLmRlc2NbaWR4XS5uZXh0OworCX0KKwlyZXR1cm4gaWR4OworfQorCiBzdGF0aWMg
aW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEp
CiB7CiAJcmV0dXJuICh2cnEtPmxhc3RfdXNlZF9kZXNjX2lkeCAhPSB2cnEtPnZyaW5nLnVzZWQt
PmlkeCk7CiB9CiAKLS8qKgotICogRHJpdmVyIGltcGxlbWVudGF0aW9uCi0gKi8KIF9fdTY0IHZp
cnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCkKIHsKIAlfX3U2NCBm
ZWF0dXJlID0gKDFVTEwgPDwgVklSVElPX1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7CkBAIC0xODQs
NiArMjYwLDc2IEBAIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1
ZXVlICp2cSkKIAlyZXR1cm4gdWtwbGF0X3ZpcnRfdG9fcGh5cyh2cnEtPnZyaW5nX21lbSk7CiB9
CiAKK3ZvaWQgKnZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwg
X191MzIgKmxlbikKK3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOworCV9f
dTE2IHVzZWRfaWR4LCBoZWFkX2lkeDsKKwlzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtICplbGVtOwor
CXZvaWQgKmNvb2tpZTsKKworCVVLX0FTU0VSVCh2cSk7CisJdnJxID0gdG9fdmlydHF1ZXVlX3Zy
aW5nKHZxKTsKKworCS8qIE5vIG5ldyBkZXNjcmlwdG9yIHNpbmNlIGxhc3QgZGVxdWV1ZSBvcGVy
YXRpb24gKi8KKwlpZiAoIXZpcnRxdWV1ZV9oYXNkYXRhKHZycSkpCisJCXJldHVybiBOVUxMOwor
CXVzZWRfaWR4ID0gdnJxLT5sYXN0X3VzZWRfZGVzY19pZHgrKyAmICh2cnEtPnZyaW5nLm51bSAt
IDEpOworCWVsZW0gPSAmdnJxLT52cmluZy51c2VkLT5yaW5nW3VzZWRfaWR4XTsKKwkvKioKKwkg
KiBXZSBhcmUgcmVhZGluZyBmcm9tIHRoZSB1c2VkIGRlc2NyaXB0b3IgaW5mb3JtYXRpb24gdXBk
YXRlZCBieSB0aGUKKwkgKiBob3N0LgorCSAqLworCXJtYigpOworCWhlYWRfaWR4ID0gZWxlbS0+
aWQ7CisJaWYgKGxlbikKKwkJKmxlbiA9IGVsZW0tPmxlbjsKKwljb29raWUgPSB2cnEtPnZxX2lu
Zm9baGVhZF9pZHhdLmNvb2tpZTsKKwl2aXJ0cXVldWVfZGV0YWNoX2Rlc2ModnJxLCBoZWFkX2lk
eCk7CisJdnJxLT52cV9pbmZvW2hlYWRfaWR4XS5jb29raWUgPSBOVUxMOworCXJldHVybiBjb29r
aWU7Cit9CisKK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZpcnRxdWV1ZSAq
dnEsIHZvaWQgKmNvb2tpZSwKKwkJCSAgICAgc3RydWN0IHVrX3NnbGlzdCAqc2csIF9fdTE2IHJl
YWRfYnVmcywKKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcykKK3sKKwlfX3UzMiB0b3RhbF9kZXNj
ID0gMDsKKwlfX3UxNiBoZWFkX2lkeCA9IDAsIGlkeCA9IDA7CisJc3RydWN0IHZpcnRxdWV1ZV92
cmluZyAqdnJxID0gTlVMTDsKKworCVVLX0FTU0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVl
dWVfdnJpbmcodnEpOworCXRvdGFsX2Rlc2MgPSByZWFkX2J1ZnMgKyB3cml0ZV9idWZzOworCWlm
ICh1bmxpa2VseSh0b3RhbF9kZXNjIDwgMSB8fCB0b3RhbF9kZXNjID4gdnJxLT52cmluZy5udW0p
KSB7CisJCXVrX3ByX2VycigiJWQgaW52YWxpZCBudW1iZXIgb2YgZGVzY3JpcHRvclxuIiwKKwkJ
CSAgdG90YWxfZGVzYyk7CisJCXJldHVybiAtRUlOVkFMOworCX0gZWxzZSBpZiAodnJxLT5kZXNj
X2F2YWlsIDwgdG90YWxfZGVzYykgeworCQl1a19wcl9lcnIoIkF2YWlsYWJsZSBkZXNjcmlwdG9y
OiVkLCBSZXF1ZXN0ZWQgZGVzY3JpcHRvcjolZFxuIiwKKwkJCSAgdnJxLT5kZXNjX2F2YWlsLCB0
b3RhbF9kZXNjKTsKKwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCS8qIEdldCB0aGUgaGVhZCBvZiBm
cmVlIGRlc2NyaXB0b3IgKi8KKwloZWFkX2lkeCA9IHZycS0+aGVhZF9mcmVlX2Rlc2M7CisJVUtf
QVNTRVJUKGNvb2tpZSk7CisJLyogQWRkaXRpb25hbCBpbmZvcm1hdGlvbiB0byByZWNvbnN0cnVj
dCB0aGUgZGF0YSBidWZmZXIgKi8KKwl2cnEtPnZxX2luZm9baGVhZF9pZHhdLmNvb2tpZSA9IGNv
b2tpZTsKKwl2cnEtPnZxX2luZm9baGVhZF9pZHhdLmRlc2NfY291bnQgPSB0b3RhbF9kZXNjOwor
CisJLyoqCisJICogV2Ugc2VwYXJhdGUgdGhlIGRlc2NyaXB0b3IgbWFuYWdlbWVudCB0byBlbnF1
ZXVlIHNlZ21lbnQocykuCisJICovCisJaWR4ID0gdmlydHF1ZXVlX2J1ZmZlcl9lbnF1ZXVlX3Nl
Z21lbnRzKHZycSwgaGVhZF9pZHgsIHNnLAorCQkJcmVhZF9idWZzLCB3cml0ZV9idWZzKTsKKwkv
KiBNZXRhZGF0YSBtYWludGVuYW5jZSBmb3IgdGhlIHZpcnRxdWV1ZSAqLworCXZycS0+aGVhZF9m
cmVlX2Rlc2MgPSBpZHg7CisJdnJxLT5kZXNjX2F2YWlsIC09IHRvdGFsX2Rlc2M7CisKKwl2aXJ0
cXVldWVfcmluZ191cGRhdGVfYXZhaWwodnJxLCBoZWFkX2lkeCk7CisJcmV0dXJuIHZycS0+ZGVz
Y19hdmFpbDsKK30KKwogc3RhdGljIHZvaWQgdmlydHF1ZXVlX3ZyaW5nX2luaXQoc3RydWN0IHZp
cnRxdWV1ZV92cmluZyAqdnJxLCBfX3UxNiBucl9kZXNjLAogCQkJCSBfX3UxNiBhbGlnbikKIHsK
LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:25 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV0q-0007GO-Q9; Fri, 19 Oct 2018 13:40:24 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV0p-0007GI-Pj
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:23 +0000
X-Inumbo-ID: 21cb6f0a-d3a4-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 21cb6f0a-d3a4-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 15:37:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 1D2D5104A1A;
 Fri, 19 Oct 2018 15:40:21 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id noQKJg3DOOR9; Fri, 19 Oct 2018 15:40:21 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id F0BF61048F7
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 15:40:18 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:18 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:39:57 +0200
Message-ID: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 0/7] plat/drivers: Introduce
 virtio network driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBhIHZpcnRpbyBuZXR3b3JrIGRyaXZlciBiYXNlZCBv
biBVbmlrcmFmdCBOZXQgQVBJIHY1CmFuZCB2aXJ0aW8gZHJpdmVyIHN1cHBvcnQgdjEuIFN1cHBv
cnRzIGJhc2ljIE5ldCBBUEkgZnVuY3Rpb25zIHN1Y2ggYXMgCmNvbmZpZ3VyZSB0aGUgbmV0d29y
ayBkZXZpY2UsIGNvbmZpZ3VyaW5nIHRoZSByeC90eCByaW5ncywgdHJhbnNtaXR0aW5nIGFuZApy
ZWNlaXZpbmcgbmV0d29yayBwYWNrZXRzLgoKQ2hhbmdlcyBzaW5jZSB2MQoqIEludHJvZHVjZSB0
aGUgc3RhbmRhcmQgdmlydGlvLW5ldCBkZXZpY2UgaGVhZGVycy4KKiBBZGFwdGluZyB0aGUgdmly
dGlvLW5ldCBkZXZpY2UgdG8gY2hhbmdlcyBpbiB0aGUgbGlidWtuZXQgbGlicmFyeS4KKiBSZW1v
dmUgdGhlIGJ1ZmZlciBoYW5kbGluZyB3aXRoaW4gdGhlIGRyaXZlciBhbmQgdXNlIHRoZSB1a19u
ZXRidWYKKiBVc2UgdGhlIG5ldyB2aXJ0aW8gc3VwcG9ydCBpbiBVbmlrcmFmdCBmb3IgaW50ZXJh
Y3Rpb25zIGJldHdlZW4gdGhlIHZpcnRpbwogIGRldmljZSBhbmQgdmlydGlvIHJpbmdzLgoKClNo
YXJhbiBTYW50aGFuYW0gKDcpOgogIHBsYXQvZHJpdmVyczogSW50cm9kdWNlIHRoZSB2aXJ0aW8t
bmV0IGRldmljZQogIHBsYXQvZHJpdmVyczogQ29uZmlndXJlIHZpcnRpby1uZXQgZGV2aWNlCiAg
cGxhdC9kcml2ZXJzOiBDb25maWd1cmUgdGhlIHJlY2VpdmUgcXVldWUKICBwbGF0L2RyaXZlcnM6
IENvbmZpZ3VyaW5nIHRoZSB0cmFuc21pdCBxdWV1ZQogIHBsYXQvZHJpdmVyczogQ29uZmlndXJl
IHJlY2VpdmUgcXVldWUgaW50ZXJydXB0CiAgcGxhdC9kcml2ZXJzOiBTdGFydGluZyB0aGUgdmly
dGlvIGRldmljZQogIHBsYXQvZHJpdmVyczogUmVjZWl2ZSBhbmQgVHJhbnNtaXQgb3BlcmF0aW9u
cwoKIGxpYi91a3NnbGlzdC9leHBvcnRzeW1zLnVrICAgICAgICAgICAgICAgfCAgICAxICsKIGxp
Yi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oICAgICAgICAgfCAgIDE4ICsKIGxpYi91a3Nn
bGlzdC9zZ2xpc3QuYyAgICAgICAgICAgICAgICAgICAgfCAgIDI1ICsKIHBsYXQvZHJpdmVycy9p
bmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0LmggfCAgMjU4ICsrKysrKysKIHBsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jICAgICAgICAgfCAxMDkwICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwogcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDgg
KwogcGxhdC9rdm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwogNyBm
aWxlcyBjaGFuZ2VkLCAxNDAyIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0
L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX25ldC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKCi0tIAoyLjcuNAoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:28 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV0u-0007Gu-S1; Fri, 19 Oct 2018 13:40:28 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV0u-0007Gp-Cn
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:28 +0000
X-Inumbo-ID: bc0d6bf2-d3a4-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bc0d6bf2-d3a4-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:41:52 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 79FEEF2010;
 Fri, 19 Oct 2018 15:40:25 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CC4hehkxkPqW; Fri, 19 Oct 2018 15:40:25 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 4E4CEF2057;
 Fri, 19 Oct 2018 15:40:21 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:21 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:39:58 +0200
Message-ID: <1539956404-13127-2-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 1/7] plat/drivers: Introduce the
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSB2aXJ0aW8gbmV0IGRyaXZlciBpbml0aWFsaXphdGlv
biwgdGhlIEFQSQpmdW5jdGlvbnMgY2FsbGJhY2sgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgbGlidWtu
ZXQuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5
M0BnbWFpbC5jb20+Ci0tLQogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQu
aCB8IDI1OCArKysrKysrKysrKysrKysrKysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19u
ZXQuYyAgICAgICAgIHwgNDE3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQv
a3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgfCAgIDggKwogcGxhdC9rdm0vTWFr
ZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiA0IGZpbGVzIGNoYW5nZWQsIDY4
NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUv
dmlydGlvL3ZpcnRpb19uZXQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX25ldC5jCgpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRpb19uZXQuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMzZmNlNAotLS0gL2Rldi9udWxs
CisrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0LmgKQEAgLTAsMCAr
MSwyNTggQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8q
IFRoaXMgaGVhZGVyIGlzIEJTRCBsaWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5p
dGlvbnMgdG8gaW1wbGVtZW50CisgKiBjb21wYXRpYmxlIGRyaXZlcnMvc2VydmVycy4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgSUJNIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNv
bnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICog
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBJQk0gT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBT
VUNIIERBTUFHRS4gKi8KKy8qKgorICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gTGludXgga2Vy
bmVsCisgKiBpbmNsdWRlL3VhcGkvbGludXgvdmlydGlvX25ldC5oCisgKgorICogY29tbWl0LWlk
OiBmYWE5YjM5ZjBlOWQKKyAqLworI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19ORVRfSAorI2Rl
ZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19ORVRfSAorI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgorI2lu
Y2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVgorI2lu
Y2x1ZGUgPHVrL25ldGRldl9jb3JlLmg+CisjZW5kaWYgLyogQ09ORklHX0xJQlVLTkVUREVWICov
CisKKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2lkcy5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0
aW9fY29uZmlnLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb190eXBlcy5oPgorCisvKiBUaGUg
ZmVhdHVyZSBiaXRtYXAgZm9yIHZpcnRpbyBuZXQgKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX0NT
VU0JMAkvKiBIb3N0IGhhbmRsZXMgcGt0cyB3LyBwYXJ0aWFsIGNzdW0gKi8KKyNkZWZpbmUgVklS
VElPX05FVF9GX0dVRVNUX0NTVU0JMQkvKiBHdWVzdCBoYW5kbGVzIHBrdHMgdy8gcGFydGlhbCBj
c3VtICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX0dVRVNUX09GRkxPQURTIDIgLyogRHlu
YW1pYyBvZmZsb2FkIGNvbmZpZ3VyYXRpb24uICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9NVFUJ
MwkvKiBJbml0aWFsIE1UVSBhZHZpY2UgKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX01BQwk1CS8q
IEhvc3QgaGFzIGdpdmVuIE1BQyBhZGRyZXNzLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VF
U1RfVFNPNAk3CS8qIEd1ZXN0IGNhbiBoYW5kbGUgVFNPdjQgaW4uICovCisjZGVmaW5lIFZJUlRJ
T19ORVRfRl9HVUVTVF9UU082CTgJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU092NiBpbi4gKi8KKyNk
ZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX0VDTgk5CS8qIEd1ZXN0IGNhbiBoYW5kbGUgVFNPWzZd
IHcvIEVDTiBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX1VGTwkxMAkvKiBHdWVz
dCBjYW4gaGFuZGxlIFVGTyBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1RfVFNPNAkx
MQkvKiBIb3N0IGNhbiBoYW5kbGUgVFNPdjQgaW4uICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9I
T1NUX1RTTzYJMTIJLyogSG9zdCBjYW4gaGFuZGxlIFRTT3Y2IGluLiAqLworI2RlZmluZSBWSVJU
SU9fTkVUX0ZfSE9TVF9FQ04JMTMJLyogSG9zdCBjYW4gaGFuZGxlIFRTT1s2XSB3LyBFQ04gaW4u
ICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9IT1NUX1VGTwkxNAkvKiBIb3N0IGNhbiBoYW5kbGUg
VUZPIGluLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfTVJHX1JYQlVGCTE1CS8qIEhvc3QgY2Fu
IG1lcmdlIHJlY2VpdmUgYnVmZmVycy4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX1NUQVRVUwkx
NgkvKiB2aXJ0aW9fbmV0X2NvbmZpZy5zdGF0dXMgYXZhaWxhYmxlICovCisjZGVmaW5lIFZJUlRJ
T19ORVRfRl9DVFJMX1ZRCTE3CS8qIENvbnRyb2wgY2hhbm5lbCBhdmFpbGFibGUgKi8KKyNkZWZp
bmUgVklSVElPX05FVF9GX0NUUkxfUlgJMTgJLyogQ29udHJvbCBjaGFubmVsIFJYIG1vZGUgc3Vw
cG9ydCAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9WTEFOCTE5CS8qIENvbnRyb2wgY2hh
bm5lbCBWTEFOIGZpbHRlcmluZyAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9SWF9FWFRS
QSAyMAkvKiBFeHRyYSBSWCBtb2RlIGNvbnRyb2wgc3VwcG9ydCAqLworI2RlZmluZSBWSVJUSU9f
TkVUX0ZfR1VFU1RfQU5OT1VOQ0UgMjEJLyogR3Vlc3QgY2FuIGFubm91bmNlIGRldmljZSBvbiB0
aGUKKwkJCQkJICogbmV0d29yaworCQkJCQkgKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX01RCTIy
CQkvKiBEZXZpY2Ugc3VwcG9ydHMgUmVjZWl2ZSBGbG93CisJCQkJCSAqIFN0ZWVyaW5nCisJCQkJ
CSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9NQUNfQUREUiAyMwkvKiBTZXQgTUFDIGFk
ZHJlc3MgKi8KKworI2RlZmluZSBWSVJUSU9fTkVUX0ZfU1BFRURfRFVQTEVYIDYzCS8qIERldmlj
ZSBzZXQgbGlua3NwZWVkIGFuZCBkdXBsZXggKi8KKworI2lmbmRlZiBWSVJUSU9fTkVUX05PX0xF
R0FDWQorI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1NPCTYJLyogSG9zdCBoYW5kbGVzIHBrdHMgdy8g
YW55IEdTTyB0eXBlICovCisjZW5kaWYgLyogVklSVElPX05FVF9OT19MRUdBQ1kgKi8KKworI2Rl
ZmluZSBWSVJUSU9fTkVUX1NfTElOS19VUAkxCS8qIExpbmsgaXMgdXAgKi8KKyNkZWZpbmUgVklS
VElPX05FVF9TX0FOTk9VTkNFCTIJLyogQW5ub3VuY2VtZW50IGlzIG5lZWRlZCAqLworCitzdHJ1
Y3QgdmlydGlvX25ldF9jb25maWcgeworCS8qIFRoZSBjb25maWcgZGVmaW5pbmcgbWFjIGFkZHJl
c3MgKGlmIFZJUlRJT19ORVRfRl9NQUMpICovCisJX191OCBtYWNbVUtfTkVUREVWX0hXQUREUl9M
RU5dOworCS8qIFNlZSBWSVJUSU9fTkVUX0ZfU1RBVFVTIGFuZCBWSVJUSU9fTkVUX1NfKiBhYm92
ZSAqLworCV9fdTE2IHN0YXR1czsKKwkvKiBNYXhpbXVtIG51bWJlciBvZiBlYWNoIG9mIHRyYW5z
bWl0IGFuZCByZWNlaXZlIHF1ZXVlczsKKwkgKiBzZWUgVklSVElPX05FVF9GX01RIGFuZCBWSVJU
SU9fTkVUX0NUUkxfTVEuCisJICogTGVnYWwgdmFsdWVzIGFyZSBiZXR3ZWVuIDEgYW5kIDB4ODAw
MAorCSAqLworCV9fdTE2IG1heF92aXJ0cXVldWVfcGFpcnM7CisJLyogRGVmYXVsdCBtYXhpbXVt
IHRyYW5zbWl0IHVuaXQgYWR2aWNlICovCisJX191MTYgbXR1OworCS8qCisJICogc3BlZWQsIGlu
IHVuaXRzIG9mIDFNYi4gQWxsIHZhbHVlcyAwIHRvIElOVF9NQVggYXJlIGxlZ2FsLgorCSAqIEFu
eSBvdGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uCisJICovCisJX191MzIgc3BlZWQ7CisJ
LyoKKwkgKiAweDAwIC0gaGFsZiBkdXBsZXgKKwkgKiAweDAxIC0gZnVsbCBkdXBsZXgKKwkgKiBB
bnkgb3RoZXIgdmFsdWUgc3RhbmRzIGZvciB1bmtub3duLgorCSAqLworCV9fdTggZHVwbGV4Owor
fSBfX3BhY2tlZDsKKworLyogVGhpcyBoZWFkZXIgY29tZXMgZmlyc3QgaW4gdGhlIHNjYXR0ZXIt
Z2F0aGVyIGxpc3QuCisgKiBGb3IgbGVnYWN5IHZpcnRpbywgaWYgVklSVElPX0ZfQU5ZX0xBWU9V
VCBpcyBub3QgbmVnb3RpYXRlZCwgaXQgbXVzdAorICogYmUgdGhlIGZpcnN0IGVsZW1lbnQgb2Yg
dGhlIHNjYXR0ZXItZ2F0aGVyIGxpc3QuICBJZiB5b3UgZG9uJ3QKKyAqIHNwZWNpZnkgR1NPIG9y
IENTVU0gZmVhdHVyZXMsIHlvdSBjYW4gc2ltcGx5IGlnbm9yZSB0aGUgaGVhZGVyLgorICovCitz
dHJ1Y3QgdmlydGlvX25ldF9oZHIgeworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9GX05FRURTX0NT
VU0gMSAgIC8qIFVzZSBjc3VtX3N0YXJ0LCBjc3VtX29mZnNldCAqLworI2RlZmluZSBWSVJUSU9f
TkVUX0hEUl9GX0RBVEFfVkFMSUQgMiAgIC8qIENzdW0gaXMgdmFsaWQgKi8KKwkvKiBTZWUgVklS
VElPX05FVF9IRFJfRl8qICovCisJX191OCBmbGFnczsKKyNkZWZpbmUgVklSVElPX05FVF9IRFJf
R1NPX05PTkUgICAgIDAgICAvKiBOb3QgYSBHU08gZnJhbWUgKi8KKyNkZWZpbmUgVklSVElPX05F
VF9IRFJfR1NPX1RDUFY0ICAgIDEgICAvKiBHU08gZnJhbWUsIElQdjQgVENQIChUU08pICovCisj
ZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19VRFAgICAgICAzICAgLyogR1NPIGZyYW1lLCBJUHY0
IFVEUCAoVUZPKSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fVENQVjYgICAgNCAgIC8q
IEdTTyBmcmFtZSwgSVB2NiBUQ1AgKi8KKyNkZWZpbmUgVklSVElPX05FVF9IRFJfR1NPX0VDTiAg
ICAgIDB4ODAgICAgLyogVENQIGhhcyBFQ04gc2V0ICovCisJLyogU2VlIFZJUlRJT19ORVRfSERS
X0dTT18qICovCisJX191OCBnc29fdHlwZTsKKwlfX3ZpcnRpb19sZTE2IGhkcl9sZW47CS8qIEV0
aGVybmV0ICsgSVAgKyB0Y3AvdWRwIGhkcnMgKi8KKwlfX3ZpcnRpb19sZTE2IGdzb19zaXplOwkv
KiBCeXRlcyB0byBhcHBlbmQgdG8gaGRyX2xlbiBwZXIgZnJhbWUgKi8KKwlfX3ZpcnRpb19sZTE2
IGNzdW1fc3RhcnQ7IC8qIFBvc2l0aW9uIHRvIHN0YXJ0IGNoZWNrc3VtbWluZyBmcm9tICovCisJ
X192aXJ0aW9fbGUxNiBjc3VtX29mZnNldDsgLyogT2Zmc2V0IGFmdGVyIHRoYXQgdG8gcGxhY2Ug
Y2hlY2tzdW0gKi8KK307CisKKy8qIFRoaXMgaXMgdGhlIHZlcnNpb24gb2YgdGhlIGhlYWRlciB0
byB1c2Ugd2hlbiB0aGUgTVJHX1JYQlVGCisgKiBmZWF0dXJlIGhhcyBiZWVuIG5lZ290aWF0ZWQu
CisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X2hkcl9tcmdfcnhidWYgeworCXN0cnVjdCB2aXJ0aW9f
bmV0X2hkciBoZHI7CisJX192aXJ0aW9fbGUxNiBudW1fYnVmZmVyczsJLyogTnVtYmVyIG9mIG1l
cmdlZCByeCBidWZmZXJzICovCit9OworCisvKgorICogQ29udHJvbCB2aXJ0cXVldWUgZGF0YSBz
dHJ1Y3R1cmVzCisgKgorICogVGhlIGNvbnRyb2wgdmlydHF1ZXVlIGV4cGVjdHMgYSBoZWFkZXIg
aW4gdGhlIGZpcnN0IHNnIGVudHJ5CisgKiBhbmQgYW4gYWNrL3N0YXR1cyByZXNwb25zZSBpbiB0
aGUgbGFzdCBlbnRyeS4gIERhdGEgZm9yIHRoZQorICogY29tbWFuZCBnb2VzIGluIGJldHdlZW4u
CisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X2N0cmxfaGRyIHsKKwlfX3U4IGNsYXNzOworCV9fdTgg
Y21kOworfSBfX3BhY2tlZDsKKwordHlwZWRlZiBfX3U4IHZpcnRpb19uZXRfY3RybF9hY2s7CisK
KyNkZWZpbmUgVklSVElPX05FVF9PSyAgICAgMAorI2RlZmluZSBWSVJUSU9fTkVUX0VSUiAgICAx
CisKKy8qCisgKiBDb250cm9sIHRoZSBSWCBtb2RlLCBpZS4gcHJvbWlzdWNvdXMsIGFsbG11bHRp
LCBldGMuLi4KKyAqIEFsbCBjb21tYW5kcyByZXF1aXJlIGFuICJvdXQiIHNnIGVudHJ5IGNvbnRh
aW5pbmcgYSAxIGJ5dGUKKyAqIHN0YXRlIHZhbHVlLCB6ZXJvID0gZGlzYWJsZSwgbm9uLXplcm8g
PSBlbmFibGUuICBDb21tYW5kcworICogMCBhbmQgMSBhcmUgc3VwcG9ydGVkIHdpdGggdGhlIFZJ
UlRJT19ORVRfRl9DVFJMX1JYIGZlYXR1cmUuCisgKiBDb21tYW5kcyAyLTUgYXJlIGFkZGVkIHdp
dGggVklSVElPX05FVF9GX0NUUkxfUlhfRVhUUkEuCisgKi8KKyNkZWZpbmUgVklSVElPX05FVF9D
VFJMX1JYICAgIDAKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9SWF9QUk9NSVNDICAgICAgMAor
ICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX0FMTE1VTFRJICAgICAxCisgI2RlZmluZSBWSVJU
SU9fTkVUX0NUUkxfUlhfQUxMVU5JICAgICAgIDIKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9S
WF9OT01VTFRJICAgICAgMworICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX05PVU5JICAgICAg
ICA0CisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9CQ0FTVCAgICAgIDUKKworLyoKKyAq
IENvbnRyb2wgdGhlIE1BQworICoKKyAqIFRoZSBNQUMgZmlsdGVyIHRhYmxlIGlzIG1hbmFnZWQg
YnkgdGhlIGh5cGVydmlzb3IsIHRoZSBndWVzdCBzaG91bGQKKyAqIGFzc3VtZSB0aGUgc2l6ZSBp
cyBpbmZpbml0ZS4gIEZpbHRlcmluZyBzaG91bGQgYmUgY29uc2lkZXJlZAorICogbm9uLXBlcmZl
Y3QsIGllLiBiYXNlZCBvbiBoeXBlcnZpc29yIHJlc291cmNlcywgdGhlIGd1ZXN0IG1heQorICog
cmVjZWl2ZWQgcGFja2V0cyBmcm9tIHNvdXJjZXMgbm90IHNwZWNpZmllZCBpbiB0aGUgZmlsdGVy
IGxpc3QuCisgKgorICogSW4gYWRkaXRpb24gdG8gdGhlIGNsYXNzL2NtZCBoZWFkZXIsIHRoZSBU
QUJMRV9TRVQgY29tbWFuZCByZXF1aXJlcworICogdHdvIG91dCBzY2F0dGVybGlzdHMuICBFYWNo
IGNvbnRhaW5zIGEgNCBieXRlIGNvdW50IG9mIGVudHJpZXMgZm9sbG93ZWQKKyAqIGJ5IGEgY29u
Y2F0ZW5hdGVkIGJ5dGUgc3RyZWFtIG9mIHRoZSBFVEhfQUxFTiBNQUMgYWRkcmVzc2VzLiAgVGhl
CisgKiBmaXJzdCBzZyBsaXN0IGNvbnRhaW5zIHVuaWNhc3QgYWRkcmVzc2VzLCB0aGUgc2Vjb25k
IGlzIGZvciBtdWx0aWNhc3QuCisgKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgcHJlc2VudCBpZiB0
aGUgVklSVElPX05FVF9GX0NUUkxfUlggZmVhdHVyZQorICogaXMgYXZhaWxhYmxlLgorICoKKyAq
IFRoZSBBRERSX1NFVCBjb21tYW5kIHJlcXVlc3RzIG9uZSBvdXQgc2NhdHRlcmxpc3QsIGl0IGNv
bnRhaW5zIGEKKyAqIDYgYnl0ZXMgTUFDIGFkZHJlc3MuIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBw
cmVzZW50IGlmIHRoZQorICogVklSVElPX05FVF9GX0NUUkxfTUFDX0FERFIgZmVhdHVyZSBpcyBh
dmFpbGFibGUuCisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X2N0cmxfbWFjIHsKKwlfX3ZpcnRpb19s
ZTMyIGVudHJpZXM7CisJX191OCBtYWNzW11bVUtfTkVUREVWX0hXQUREUl9MRU5dOworfSBfX3Bh
Y2tlZDsKKworI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTUFDICAgIDEKKyAjZGVmaW5lIFZJUlRJ
T19ORVRfQ1RSTF9NQUNfVEFCTEVfU0VUICAgICAgICAwCisgI2RlZmluZSBWSVJUSU9fTkVUX0NU
UkxfTUFDX0FERFJfU0VUICAgICAgICAgMQorCisvKgorICogQ29udHJvbCBWTEFOIGZpbHRlcmlu
ZworICoKKyAqIFRoZSBWTEFOIGZpbHRlciB0YWJsZSBpcyBjb250cm9sbGVkIHZpYSBhIHNpbXBs
ZSBBREQvREVMIGludGVyZmFjZS4KKyAqIFZMQU4gSURzIG5vdCBhZGRlZCBtYXkgYmUgZmlsdGVy
ZCBieSB0aGUgaHlwZXJ2aXNvci4gIERlbCBpcyB0aGUKKyAqIG9wcG9zaXRlIG9mIGFkZC4gIEJv
dGggY29tbWFuZHMgZXhwZWN0IGFuIG91dCBlbnRyeSBjb250YWluaW5nIGEgMgorICogYnl0ZSBW
TEFOIElELiAgVkxBTiBmaWx0ZXJ0aW5nIGlzIGF2YWlsYWJsZSB3aXRoIHRoZQorICogVklSVElP
X05FVF9GX0NUUkxfVkxBTiBmZWF0dXJlIGJpdC4KKyAqLworI2RlZmluZSBWSVJUSU9fTkVUX0NU
UkxfVkxBTiAgICAgICAyCisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfVkxBTl9BREQgICAgICAg
ICAgICAgMAorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1ZMQU5fREVMICAgICAgICAgICAgIDEK
KworLyoKKyAqIENvbnRyb2wgbGluayBhbm5vdW5jZSBhY2tub3dsZWRnbWVudAorICoKKyAqIFRo
ZSBjb21tYW5kIFZJUlRJT19ORVRfQ1RSTF9BTk5PVU5DRV9BQ0sgaXMgdXNlZCB0byBpbmRpY2F0
ZSB0aGF0CisgKiBkcml2ZXIgaGFzIHJlY2V2aWVkIHRoZSBub3RpZmljYXRpb247IGRldmljZSB3
b3VsZCBjbGVhciB0aGUKKyAqIFZJUlRJT19ORVRfU19BTk5PVU5DRSBiaXQgaW4gdGhlIHN0YXR1
cyBmaWVsZCBhZnRlciBpdCByZWNlaXZlcworICogdGhpcyBjb21tYW5kLgorICovCisjZGVmaW5l
IFZJUlRJT19ORVRfQ1RSTF9BTk5PVU5DRSAgICAgICAzCisgI2RlZmluZSBWSVJUSU9fTkVUX0NU
UkxfQU5OT1VOQ0VfQUNLICAgICAgICAgMAorCisvKgorICogQ29udHJvbCBSZWNlaXZlIEZsb3cg
U3RlZXJpbmcKKyAqCisgKiBUaGUgY29tbWFuZCBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNf
U0VUCisgKiBlbmFibGVzIFJlY2VpdmUgRmxvdyBTdGVlcmluZywgc3BlY2lmeWluZyB0aGUgbnVt
YmVyIG9mIHRoZSB0cmFuc21pdCBhbmQKKyAqIHJlY2VpdmUgcXVldWVzIHRoYXQgd2lsbCBiZSB1
c2VkLiBBZnRlciB0aGUgY29tbWFuZCBpcyBjb25zdW1lZCBhbmQgYWNrZWQgYnkKKyAqIHRoZSBk
ZXZpY2UsIHRoZSBkZXZpY2Ugd2lsbCBub3Qgc3RlZXIgbmV3IHBhY2tldHMgb24gcmVjZWl2ZSB2
aXJ0cXVldWVzCisgKiBvdGhlciB0aGFuIHNwZWNpZmllZCBub3IgcmVhZCBmcm9tIHRyYW5zbWl0
IHZpcnRxdWV1ZXMgb3RoZXIgdGhhbiBzcGVjaWZpZWQuCisgKiBBY2NvcmRpbmdseSwgZHJpdmVy
IHNob3VsZCBub3QgdHJhbnNtaXQgbmV3IHBhY2tldHMgIG9uIHZpcnRxdWV1ZXMgb3RoZXIgdGhh
bgorICogc3BlY2lmaWVkLgorICovCitzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX21xIHsKKwlfX3Zp
cnRpb19sZTE2IHZpcnRxdWV1ZV9wYWlyczsKK307CisKKyNkZWZpbmUgVklSVElPX05FVF9DVFJM
X01RICAgNAorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX1NFVCAgICAgICAg
MAorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX01JTiAgICAgICAgMQorICNk
ZWZpbmUgVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX01BWCAgICAgICAgMHg4MDAwCisKKy8q
CisgKiBDb250cm9sIG5ldHdvcmsgb2ZmbG9hZHMKKyAqCisgKiBSZWNvbmZpZ3VyZXMgdGhlIG5l
dHdvcmsgb2ZmbG9hZHMgdGhhdCBHdWVzdCBjYW4gaGFuZGxlLgorICoKKyAqIEF2YWlsYWJsZSB3
aXRoIHRoZSBWSVJUSU9fTkVUX0ZfQ1RSTF9HVUVTVF9PRkZMT0FEUyBmZWF0dXJlIGJpdC4KKyAq
CisgKiBDb21tYW5kIGRhdGEgZm9ybWF0IG1hdGNoZXMgdGhlIGZlYXR1cmUgYml0IG1hc2sgZXhh
Y3RseS4KKyAqCisgKiBTZWUgVklSVElPX05FVF9GX0dVRVNUXyogZm9yIHRoZSBsaXN0IG9mIG9m
ZmxvYWRzCisgKiB0aGF0IGNhbiBiZSBlbmFibGVkL2Rpc2FibGVkLgorICovCisjZGVmaW5lIFZJ
UlRJT19ORVRfQ1RSTF9HVUVTVF9PRkZMT0FEUyAgIDUKKyNkZWZpbmUgVklSVElPX05FVF9DVFJM
X0dVRVNUX09GRkxPQURTX1NFVCAgICAgICAgMAorCisjZW5kaWYgLyogX19QTEFUX0NNTl9WSVJU
SU9fTkVUX0ggKi8KZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5j
IGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNTYxNzAzOQotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jCkBAIC0wLDAgKzEsNDE3IEBACisvKgorICogQXV0aG9yczogRGFu
IFdpbGxpYW1zCisgKiAgICAgICAgICBNYXJ0aW4gTHVjaW5hCisgKiAgICAgICAgICBSaWNhcmRv
IEtvbGxlcgorICogICAgICAgICAgUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0Bn
bWFpbC5jb20+CisgKiAgICAgICAgICBTaGFyYW4gU2FudGhhbmFtCisgKgorICogQ29weXJpZ2h0
IChjKSAyMDE1LTIwMTcgSUJNCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxNyBEb2NrZXIsIElu
Yy4KKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRp
b24KKyAqCisgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJp
YnV0ZSB0aGlzIHNvZnR3YXJlCisgKiBmb3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZl
ZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQKKyAqIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdo
dCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyCisgKiBpbiBhbGwgY29w
aWVzLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVU
SE9SIERJU0NMQUlNUyBBTEwKKyAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZU
V0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUiBCRSBMSUFC
TEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUwor
ICogT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRS
QUNULAorICogTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VU
IE9GIE9SIElOCisgKiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBU
SElTIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxp
Yi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVrL3ByaW50Lmg+CisjaW5jbHVk
ZSA8dWsvYXNzZXJ0Lmg+CisjaW5jbHVkZSA8dWsvZXNzZW50aWFscy5oPgorI2luY2x1ZGUgPHVr
L3NnbGlzdC5oPgorI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKyNpbmNsdWRlIDx1ay9hcmNo
L2xpbWl0cy5oPgorI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgorI2luY2x1ZGUgPHVrL25ldGRldi5o
PgorI2luY2x1ZGUgPHVrL25ldGRldl9jb3JlLmg+CisjaW5jbHVkZSA8dWsvbmV0ZGV2X2RyaXZl
ci5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0aW8uaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydHF1
ZXVlLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19uZXQuaD4KKworLyoqCisgKiBWSVJUSU9f
UEtUX0JVRkZFUl9MRU4gPSBWSVJUSU9fTkVUX0hEUiArIEVUSF9IRFIgKyBFVEhfUEtUX1BBWUxP
QURfTEVOCisgKiBWSVJUSU9fTkVUX0hEUjogMTAgYnl0ZXMgaW4gbGVuZ3RoIGluIGxlZ2FjeSBt
b2RlICsgMiBieXRlIG9mIHBhZGRlZCBkYXRhLgorICoJCSAgIDEyIGJ5dGVzIGluIGxlbmd0aCBp
biBtb2Rlcm4gbW9kZS4KKyAqLworI2RlZmluZSBWSVJUSU9fSERSX0xFTiAgICAgICAgICAxMgor
I2RlZmluZSBFVEhfSERSX0xFTiAgICAgICAgICAgICAxNAorI2RlZmluZSBFVEhfUEtUX1BBWUxP
QURfTEVOICAgMTUwMAorI2RlZmluZSBWSVJUSU9fUEtUX0JVRkZFUl9MRU4gKChFVEhfUEtUX1BB
WUxPQURfTEVOKQlcCisJCQkgICAgICAgKyAoRVRIX0hEUl9MRU4pCQlcCisJCQkgICAgICAgKyAo
VklSVElPX0hEUl9MRU4pKQorCisjZGVmaW5lIERSSVZFUl9OQU1FICAgICAgICAgICAidmlydGlv
LW5ldCIKKworCisjZGVmaW5lICBWVE5FVF9SWF9IRUFERVJfUEFEICg0KQorI2RlZmluZSAgVlRO
RVRfSU5UUl9FTiAgICgxIDw8IDApCisjZGVmaW5lICBWVE5FVF9JTlRSX0VOX01BU0sgICAoMSkK
KyNkZWZpbmUgIFZUTkVUX0lOVFJfVVNSX0VOICAgKDEgPDwgMSkKKyNkZWZpbmUgIFZUTkVUX0lO
VFJfVVNSX0VOX01BU0sgICAoMikKKworLyoqCisgKiBEZWZpbmUgbWF4IHBvc3NpYmxlIGZyYWdt
ZW50cyBmb3IgdGhlIG5ldHdvcmsgcGFja2V0cy4KKyAqLworI2RlZmluZSBORVRfTUFYX0ZSQUdN
RU5UUyAgICAoKF9fVTE2X01BWCA+PiBfX1BBR0VfU0hJRlQpICsgMikKKworI2RlZmluZSB0b192
aXJ0aW9uZXRkZXYobmRldikgXAorCV9fY29udGFpbmVyb2YobmRldiwgc3RydWN0IHZpcnRpb19u
ZXRfZGV2aWNlLCBuZXRkZXYpCisKKyNkZWZpbmUgVklSVElPX05FVF9EUlZfRkVBVFVSRVMoZmVh
dHVyZXMpICAgICAgICAgICBcCisJKFZJUlRJT19GRUFUVVJFU19VUERBVEUoZmVhdHVyZXMsIFZJ
UlRJT19ORVRfRl9NQUMpKQorCit0eXBlZGVmIGVudW0geworCVZORVRfUlgsCisJVk5FVF9UWCwK
K30gdmlydHFfdHlwZV90OworCisvKioKKyAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVz
ZW50IHRoZSB0cmFuc21pdCBxdWV1ZS4KKyAqLworc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7
CisJLyogVGhlIHZpcnRxdWV1ZSByZWZlcmVuY2UgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cTsK
KwkvKiBUaGUgaHcgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyog
VGhlIHVzZXIgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGxxdWV1ZV9pZDsKKwkvKiBU
aGUgbnIuIG9mIGRlc2NyaXB0b3IgbGltaXQgKi8KKwl1aW50MTZfdCBtYXhfbmJfZGVzYzsKKwkv
KiBUaGUgbnIuIG9mIGRlc2NyaXB0b3IgdXNlciBjb25maWd1cmVkICovCisJdWludDE2X3QgbmJf
ZGVzYzsKKwkvKiBUaGUgZmxhZyB0byBpbnRlcnJ1cHQgb24gdGhlIHRyYW5zbWl0IHF1ZXVlICov
CisJdWludDhfdCBpbnRyX2VuYWJsZWQ7CisJLyogUmVmZXJlbmNlIHRvIHRoZSB1a19uZXRkZXYg
Ki8KKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpuZGV2OworCS8qIFRoZSBzY2F0dGVyIGxpc3QgYW5kIGl0
cyBhc3NvY2lhdGVkIGZyYWdlbWVudHMgKi8KKwlzdHJ1Y3QgdWtfc2dsaXN0IHNnOworCXN0cnVj
dCB1a19zZ2xpc3Rfc2VnIHNnc2Vnc1tORVRfTUFYX0ZSQUdNRU5UU107Cit9OworCisvKioKKyAq
IEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IHRoZSByZWNlaXZlIHF1ZXVlLgorICov
CitzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlIHsKKwkvKiBUaGUgdmlydHF1ZXVlIHJlZmVyZW5j
ZSAqLworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCS8qIFRoZSB2aXJ0cXVldWUgaHcgaWRlbnRp
ZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyogVGhlIGxpYnVrbmV0IHF1ZXVlIGlkZW50
aWZpZXIgKi8KKwl1aW50MTZfdCBscXVldWVfaWQ7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlwdG9y
IGxpbWl0ICovCisJdWludDE2X3QgbWF4X25iX2Rlc2M7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlw
dG9yIHVzZXIgY29uZmlndXJlZCAqLworCXVpbnQxNl90IG5iX2Rlc2M7CisJLyogVGhlIGZsYWcg
dG8gaW50ZXJydXB0IG9uIHRoZSB0cmFuc21pdCBxdWV1ZSAqLworCXVpbnQ4X3QgaW50cl9lbmFi
bGVkOworCS8qIFJlZmVyZW5jZSB0byB0aGUgdWtfbmV0ZGV2ICovCisJc3RydWN0IHVrX25ldGRl
diAqbmRldjsKKwkvKiBUaGUgc2NhdHRlciBsaXN0IGFuZCBpdHMgYXNzb2NpYXRlZCBmcmFnZW1l
bnRzICovCisJc3RydWN0IHVrX3NnbGlzdCBzZzsKKwlzdHJ1Y3QgdWtfc2dsaXN0X3NlZyBzZ3Nl
Z3NbTkVUX01BWF9GUkFHTUVOVFNdOworfTsKKworc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlIHsK
KwkvKiBWaXJ0aW8gRGV2aWNlICovCisJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7CisJLyogTGlz
dCBvZiBhbGwgdGhlIHZpcnRxdWV1ZSBpbiB0aGUgcGNpIGRldmljZSAqLworCXN0cnVjdCB2aXJ0
cXVldWUgKnZxOworCXN0cnVjdCB1a19uZXRkZXYgbmV0ZGV2OworCS8qIENvdW50IG9mIHRoZSBu
dW1iZXIgb2YgdGhlIHZpcnRxdWV1ZXMgKi8KKwlfX3UxNiBtYXhfdnF1ZXVlX3BhaXJzOworCS8q
IExpc3Qgb2YgdGhlIFJ4L1R4IHF1ZXVlICovCisJX191MTYgICAgcnhfdnF1ZXVlX2NudDsKKwlz
dHJ1Y3QgICB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cXM7CisJX191MTYgICAgdHhfdnF1ZXVlX2Nu
dDsKKwlzdHJ1Y3QgICB1a19uZXRkZXZfdHhfcXVldWUgKnR4cXM7CisJLyogVGhlIG5ldGRldmlj
ZSBpZGVudGlmaWVyICovCisJX191MTYgdWlkOworCS8qIFRoZSBtYXggbXR1ICovCisJX191MTYg
bWF4X210dTsKKwkvKiBUaGUgbXR1ICovCisJX191MTYgbXR1OworCS8qIFRoZSBodyBhZGRyZXNz
IG9mIHRoZSBuZXRkZXZpY2UgKi8KKwlzdHJ1Y3QgdWtfaHdhZGRyIGh3X2FkZHI7CisJLyogIE5l
dGRldiBzdGF0ZSAqLworCV9fdTggc3RhdGU7CisJLyogUlggcHJvbWlzY3VvdXMgbW9kZS4gKi8K
KwlfX3U4IHByb21pc2MgOiAxOworfTsKKworLyoqCisgKiBTdGF0aWMgZnVuY3Rpb24gZGVjbGFy
YXRpb25zLgorICovCitzdGF0aWMgaW50IHZpcnRpb19uZXRfZHJ2X2luaXQoc3RydWN0IHVrX2Fs
bG9jICpkcnZfYWxsb2NhdG9yKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldF9hZGRfZGV2KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyB2b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LAorCQkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8p
Oworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmln
dXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9j
b25mICpjb25mKTsKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0
ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBx
dWV1ZV9pZCwKKwkJCQkJdWludDE2X3QgbmJfZGVzYywKKwkJCQkJc3RydWN0IHVrX25ldGRldl90
eHF1ZXVlX2NvbmYgKmNvbmYpOworc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnZp
cnRpb19uZXRkZXZfcnhfcXVldWVfc2V0dXAoCisJCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sCisJ
CQkJCXVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAorCQkJCQlzdHJ1Y3QgdWtf
bmV0ZGV2X3J4cXVldWVfY29uZiAqY29uZik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50
cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUpOworc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxl
KHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpxdWV1ZSk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKKwkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVj
dihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICpxdWV1ZSwKKwkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCisJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKKwkJCSAgICAgIHVpbnQxNl90ICpmaWxsdXBfY291
bnQpOworc3RhdGljIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnZpcnRpb19uZXRfbWFjX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3Ry
dWN0IHVrX25ldGRldiAqbik7CitzdGF0aWMgdW5zaWduZWQgdmlydGlvX25ldF9wcm9taXNjX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5m
b19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKKwkJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKK3N0YXRpYyBpbnQgdmlydGlvX25l
dGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwK
KwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKKworLyoqCisg
KiBTdGF0aWMgZ2xvYmFsIGNvbnN0YW50cworICovCitzdGF0aWMgY29uc3QgY2hhciAqZHJ2X25h
bWUgPSBEUklWRVJfTkFNRTsKK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7CisKKy8qKgorICog
VGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCisgKi8KK3N0YXRpYyBpbnQgdmlydGlv
X25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCSAgICAgIHN0cnVjdCB1a19u
ZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQor
eworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQocGt0ICYmIHF1
ZXVlKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yo
c3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0IF9fdW51
c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCisJCQkgICAgICB1aW50
MTZfdCAqZmlsbHVwX2NvdW50KQoreworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2ICYm
IHF1ZXVlKTsKKwlVS19BU1NFUlQoIWZpbGx1cCB8fCAoZmlsbHVwICYmICpmaWxsdXBfY291bnQg
PiAwKSk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKworCXJldHVybiByeHE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKwlyZXR1cm4gdHhxOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2lu
Zm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBf
X3VudXNlZCwKKwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQor
eworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChxaW5mbyk7CisJcmV0dXJuIDA7Cit9CisK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCSAgICAgIHN0cnVj
dCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKHFpbmZvKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIHZpcnRpb19u
ZXRfcHJvbWlzY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJ
cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0aW9fbmV0
X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJu
IE5VTEw7Cit9CisKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3RydWN0IHVrX25l
dGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKKwkJCQkgICBjb25z
dCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYgX191bnVzZWQpCit7CisJaW50IHJjID0gMDsK
KworCVVLX0FTU0VSVChuKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9f
bmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKK3sKKwlpbnQgcmMgPSAwOworCisJ
VUtfQVNTRVJUKG4pOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRf
cnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVr
X25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191bnVzZWQpCit7CisJVUtfQVNTRVJUKG4pOworCXJl
dHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0X2luZm9fZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwKKwkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQoreworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CisKKwlVS19BU1NFUlQoZGV2ICYmIGRldl9p
bmZvKTsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihkZXYpOworCisJZGV2X2luZm8tPm1heF9y
eF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKKwlkZXZfaW5mby0+bWF4X3R4X3F1
ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOworfQorCitzdGF0aWMgaW50IHZpcnRpb19u
ZXRfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobiAhPSBOVUxMKTsK
KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVy
ZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldikKK3sKKwl2bmRldi0+dmRldi0+
ZmVhdHVyZXMgPSAwOworCS8qIFNldHRpbmcgdGhlIGZlYXR1cmUgdGhlIGRyaXZlciBzdXBwb3J0
ICovCisJVklSVElPX05FVF9EUlZfRkVBVFVSRVModm5kZXYtPnZkZXYtPmZlYXR1cmVzKTsKKwkv
KioKKwkgKiBUT0RPOgorCSAqIEFkZGluZyBtdWx0aXF1ZXVlIHN1cHBvcnQgZm9yIHRoZSB2aXJ0
aW8gbmV0IGRyaXZlci4KKwkgKi8KKwl2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycyA9IDE7Cit9CisK
K3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB2aXJ0aW9fbmV0ZGV2X29wcyA9IHsK
KwkuY29uZmlndXJlID0gdmlydGlvX25ldGRldl9jb25maWd1cmUsCisJLnJ4cV9jb25maWd1cmUg
PSB2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwLAorCS50eHFfY29uZmlndXJlID0gdmlydGlv
X25ldGRldl90eF9xdWV1ZV9zZXR1cCwKKwkuc3RhcnQgPSB2aXJ0aW9fbmV0X3N0YXJ0LAorCS5y
eHFfaW50cl9lbmFibGUgPSB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlLAorCS5yeHFfaW50cl9k
aXNhYmxlID0gdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUsCisJLmluZm9fZ2V0ID0gdmlydGlv
X25ldF9pbmZvX2dldCwKKwkucHJvbWlzY3VvdXNfZ2V0ID0gdmlydGlvX25ldF9wcm9taXNjX2dl
dCwKKwkuaHdhZGRyX2dldCA9IHZpcnRpb19uZXRfbWFjX2dldCwKKwkubXR1X2dldCA9IHZpcnRp
b19uZXRfbXR1X2dldCwKKwkudHhxX2luZm9fZ2V0ID0gdmlydGlvX25ldGRldl90eHFfaW5mb19n
ZXQsCisJLnJ4cV9pbmZvX2dldCA9IHZpcnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0LAorfTsKKwor
c3RhdGljIGludCB2aXJ0aW9fbmV0X2FkZF9kZXYoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCit7
CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKKwlpbnQgcmMgPSAwOworCisJVUtf
QVNTRVJUKHZkZXYgIT0gTlVMTCk7CisKKwl2bmRldiA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZu
ZGV2KSk7CisJaWYgKCF2bmRldikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsK
Kwl9CisJdm5kZXYtPnZkZXYgPSB2ZGV2OworCS8qIHJlZ2lzdGVyIG5ldGRldiAqLworCXZuZGV2
LT5uZXRkZXYucnhfb25lID0gdmlydGlvX25ldGRldl9yZWN2OworCXZuZGV2LT5uZXRkZXYudHhf
b25lID0gdmlydGlvX25ldGRldl94bWl0OworCXZuZGV2LT5uZXRkZXYub3BzID0gJnZpcnRpb19u
ZXRkZXZfb3BzOworCisJcmMgPSB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKCZ2bmRldi0+bmV0ZGV2
LCBhLCBkcnZfbmFtZSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBy
ZWdpc3RlciB2aXJ0aW8tbmV0IGRldmljZSB3aXRoIGxpYnVrbmV0XG4iKTsKKwkJZ290byBlcnJf
bmV0ZGV2X2RhdGE7CisJfQorCXZuZGV2LT51aWQgPSByYzsKKwlyYyA9IDA7CisJdm5kZXYtPm1h
eF9tdHUgPSBFVEhfUEtUX1BBWUxPQURfTEVOOworCXZuZGV2LT5tdHUgPSB2bmRldi0+bWF4X210
dTsKKwl2bmRldi0+cHJvbWlzYyA9IDA7CisJdmlydGlvX25ldGRldl9mZWF0dXJlX3NldCh2bmRl
dik7CisJdWtfcHJfaW5mbygidmlydGlvLW5ldCBkZXZpY2UgcmVnaXN0ZXJlZCB3aXRoIGxpYnVr
bmV0XG4iKTsKKworZXhpdDoKKwlyZXR1cm4gcmM7CitlcnJfbmV0ZGV2X2RhdGE6CisJdWtfZnJl
ZShhLCB2bmRldik7CitlcnJfb3V0OgorCWdvdG8gZXhpdDsKK30KKworc3RhdGljIGludCB2aXJ0
aW9fbmV0X2Rydl9pbml0KHN0cnVjdCB1a19hbGxvYyAqZHJ2X2FsbG9jYXRvcikKK3sKKwkvKiBk
cml2ZXIgaW5pdGlhbGl6YXRpb24gKi8KKwlpZiAoIWRydl9hbGxvY2F0b3IpCisJCXJldHVybiAt
RUlOVkFMOworCisJYSA9IGRydl9hbGxvY2F0b3I7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBj
b25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCB2bmV0X2Rldl9pZFtdID0geworCXtWSVJUSU9fSURf
TkVUfSwKKwl7VklSVElPX0lEX0lOVkFMSUR9IC8qIExpc3QgVGVybWluYXRvciAqLworfTsKKwor
c3RhdGljIHN0cnVjdCB2aXJ0aW9fZHJpdmVyIHZuZXRfZHJ2ID0geworCS5kZXZfaWRzID0gdm5l
dF9kZXZfaWQsCisJLmluaXQgICAgPSB2aXJ0aW9fbmV0X2Rydl9pbml0LAorCS5hZGRfZGV2ID0g
dmlydGlvX25ldF9hZGRfZGV2Cit9OworVklSVElPX1JFR0lTVEVSX0RSSVZFUigmdm5ldF9kcnYp
OwpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmlnLnVrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCmlu
ZGV4IDEzZTU1NzUuLmZiMzY3N2EgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL0NvbmZpZy51aworKysg
Yi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTcxLDUgKzcxLDEzIEBAIGNvbmZpZyBWSVJUSU9fUENJ
CiAgICAgICAgaGVscAogICAgICAgICAgICAgICAgU3VwcG9ydCB2aXJ0aW8gZGV2aWNlcyBvbiBQ
Q0kgYnVzCiAKK2NvbmZpZyBWSVJUSU9fTkVUCisgICAgICAgYm9vbCAiVmlydGlvIE5ldCBkZXZp
Y2UiCisgICAgICAgZGVmYXVsdCBuCisgICAgICAgZGVwZW5kcyBvbiBMSUJVS05FVERFVgorICAg
ICAgIHNlbGVjdCBWSVJUSU8KKyAgICAgICBzZWxlY3QgTElCVUtTR0xJU1QKKyAgICAgICBoZWxw
CisgICAgICAgICAgICAgIFZpcnR1YWwgbmV0d29yayBkcml2ZXIuCiBlbmRtZW51CiBlbmRpZgpk
aWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awpp
bmRleCBjY2M4MzE5Li4xZjljNWRjIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51awor
KysgYi9wbGF0L2t2bS9NYWtlZmlsZS51awpAQCAtOTYsMyArOTYsNSBAQCBMSUJLVk1WSVJUSU9f
U1JDUy0kKENPTkZJR19WSVJUSU9fQlVTKSArPVwKIAkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19C
QVNFKS92aXJ0aW8vdmlydGlvX3JpbmcuYwogTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklS
VElPX1BDSSkgKz1cCiAJCQkJCQkJJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRp
b19wY2kuYworTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX05FVCkgKz1cCisJCQkJ
CQkJJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19uZXQuYwotLSAKMi43LjQK
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV0y-0007Hp-UU; Fri, 19 Oct 2018 13:40:32 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV0x-0007HZ-MB
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:31 +0000
X-Inumbo-ID: be8fcd3c-d3a4-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id be8fcd3c-d3a4-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:41:56 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B5A76104A1A;
 Fri, 19 Oct 2018 15:40:29 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Le4W9OEKVheX; Fri, 19 Oct 2018 15:40:29 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 8DF451048F7;
 Fri, 19 Oct 2018 15:40:25 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:25 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:39:59 +0200
Message-ID: <1539956404-13127-3-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 2/7] plat/drivers: Configure
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gY2FsbGJhY2tzIHRvIGNvbmZp
Z3VyZSB0aGUKdmlydGlvIGRldmljZSBmcm9tIGxpYnVrbmV0CgpTaWduZWQtb2ZmLWJ5OiBTaGFy
YW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Ci0tLQogcGxhdC9k
cml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgfCAxNzQgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTcwIGluc2VydGlvbnMoKyksIDQgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMg
Yi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwppbmRleCA1NjE3MDM5Li40ZWRiMzRi
IDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYworKysgYi9wbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpAQCAtMTYxLDYgKzE2MSw5IEBAIHN0YXRpYyB2
b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogc3RhdGljIGlu
bGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2
aWNlICp2bmRldik7CiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1
a19uZXRkZXYgKm4sCiAJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHR4X2FsbG9jKHN0cnVjdCB2aXJ0aW9fbmV0X2Rl
dmljZSAqdm5kZXYsCisJCQkJICAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZik7
CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZpcnRp
b19uZXRfZGV2aWNlICp2bmRldik7CiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAq
dmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwg
dWludDE2X3QgcXVldWVfaWQsCiAJCQkJCXVpbnQxNl90IG5iX2Rlc2MsCkBAIC0yNjcsMzAgKzI3
MCwxOTMgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsCiAKIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKm4pCiB7CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICpkOworCiAJ
VUtfQVNTRVJUKG4pOwotCXJldHVybiAwOworCWQgPSB0b192aXJ0aW9uZXRkZXYobik7CisJcmV0
dXJuIGQtPnByb21pc2M7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0
aW9fbmV0X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlvX25l
dF9kZXZpY2UgKmQ7CisKIAlVS19BU1NFUlQobik7Ci0JcmV0dXJuIE5VTEw7CisJZCA9IHRvX3Zp
cnRpb25ldGRldihuKTsKKwlyZXR1cm4gJmQtPmh3X2FkZHI7CiB9CiAKIHN0YXRpYyBfX3UxNiB2
aXJ0aW9fbmV0X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2UgKmQ7CisKIAlVS19BU1NFUlQobik7Ci0JcmV0dXJuIDA7CisJZCA9IHRvX3Zp
cnRpb25ldGRldihuKTsKKwlyZXR1cm4gZC0+bXR1OworfQorCitzdGF0aWMgaW50IHZpcnRpb19u
ZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldikK
K3sKKwlfX3U2NCBob3N0X2ZlYXR1cmVzID0gMDsKKwlfX3UxNiBod19sZW47CisJaW50IHJjID0g
MDsKKworCS8qKgorCSAqIFJlYWQgZGV2aWNlIGZlYXR1cmUgYml0cywgYW5kIHdyaXRlIHRoZSBz
dWJzZXQgb2YgZmVhdHVyZSBiaXRzCisJICogdW5kZXJzdG9vZCBieSB0aGUgT1MgYW5kIGRyaXZl
ciB0byB0aGUgZGV2aWNlLiBEdXJpbmcgdGhpcyBzdGVwIHRoZQorCSAqIGRyaXZlciBNQVkgcmVh
ZCAoYnV0IE1VU1QgTk9UIHdyaXRlKSB0aGUgZGV2aWNlLXNwZWNpZmljCisJICogY29uZmlndXJh
dGlvbiBmaWVsZHMgdG8gY2hlY2sgdGhhdCBpdCBjYW4gc3VwcG9ydCB0aGUgZGV2aWNlIGJlZm9y
ZQorCSAqIGFjY2VwdGluZyBpdC4KKwkgKi8KKwlob3N0X2ZlYXR1cmVzID0gdmlydGlvX2ZlYXR1
cmVfZ2V0KHZuZGV2LT52ZGV2KTsKKwlpZiAoIXZpcnRpb19oYXNfZmVhdHVyZXMoaG9zdF9mZWF0
dXJlcywgVklSVElPX05FVF9GX01BQykpIHsKKwkJLyoqCisJCSAqIFRoZSBmZWF0dXJlIHRoYXQg
YXJlbid0IHN1cHBvcnRlZCBhcmUgdXN1YWxseSBtYXNrZWQgb3V0IGFuZAorCQkgKiBwcm92aWRl
ZCB3aXRoIGRlZmF1bHQgdmFsdWUuIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvCisJCSAqIHJlcG9y
dCBhbiBlcnJvciBhcyB3ZSBkb24ndCBzdXBwb3J0ICBnZW5lcmF0aW9uIG9mIHJhbmRvbQorCQkg
KiBNQUMgQWRkcmVzcy4KKwkJICovCisJCXVrX3ByX2VycigiSG9zdCBzeXN0ZW0gZG9lcyBub3Qg
b2ZmZXIgTUFDIGZlYXR1cmVcbiIpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKKwl9
CisKKwkvKioKKwkgKiBBY2NvcmRpbmcgdG8gVmlydGlvIHNwZWNpZmljYXRpb24sIHNlY3Rpb24g
Mi4zLjEuIENvbmZpZyBmaWVsZHMKKwkgKiBncmVhdGVyIHRoYW4gMzItYml0cyBjYW5ub3QgYmUg
YXRvbWljYWxseSByZWFkLiBXZSBtYXkgbmVlZCB0bworCSAqIHJlY29uc2lkZXIgcHJvdmlkaW5n
IGdlbmVyaWMgcmVhZC93cml0ZSBmdW5jdGlvbiBmb3IgYWxsIHRoZXNlCisJICogdmlydGlvIGRl
dmljZSBpbiBhIHNlcGFyYXRlIGhlYWRlciBmaWxlIHdoaWNoIGNvdWxkIGJlIHJldXNlZCBhY3Jv
c3MKKwkgKiBkaWZmZXJlbnQgdmlydGlvIGRldmljZXMuCisJICovCisJaHdfbGVuID0gdmlydGlv
X2NvbmZpZ19nZXQodm5kZXYtPnZkZXYsCisJCQkJICAgX19vZmZzZXRvZihzdHJ1Y3QgdmlydGlv
X25ldF9jb25maWcsIG1hYyksCisJCQkJICAgJnZuZGV2LT5od19hZGRyLmFkZHJfYnl0ZXNbMF0s
CisJCQkJICAgVUtfTkVUREVWX0hXQUREUl9MRU4sIDEpOworCWlmICh1bmxpa2VseShod19sZW4g
IT0gVUtfTkVUREVWX0hXQUREUl9MRU4pKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHJldHJp
ZXZlIHRoZSBtYWMgYWRkcmVzcyBmcm9tIGRldmljZVxuIik7CisJCXJjID0gLUVBR0FJTjsKKwkJ
Z290byBleGl0OworCX0KKwlyYyA9IDA7CisKKwkvKioKKwkgKiBNYXNrIG91dCBmZWF0dXJlcyBz
dXBwb3J0ZWQgYnkgYm90aCBkcml2ZXIgYW5kIGRldmljZS4KKwkgKi8KKwl2bmRldi0+dmRldi0+
ZmVhdHVyZXMgJj0gaG9zdF9mZWF0dXJlczsKKwl2aXJ0aW9fZmVhdHVyZV9zZXQodm5kZXYtPnZk
ZXYsIHZuZGV2LT52ZGV2LT5mZWF0dXJlcyk7CitleGl0OgorCXJldHVybiByYzsKK30KKworc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4dHhfYWxsb2Moc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICp2bmRldiwKKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKQorewor
CWludCByYyA9IDA7CisJaW50IGkgPSAwOworCWludCB2cV9hdmFpbCA9IDA7CisJaW50IHRvdGFs
X3ZxcyA9IGNvbmYtPm5iX3J4X3F1ZXVlcyArIGNvbmYtPm5iX3R4X3F1ZXVlczsKKwlfX3UxNiBx
ZGVzY19zaXplW3RvdGFsX3Zxc107CisKKwlpZiAoY29uZi0+bmJfcnhfcXVldWVzICE9IDEgfHwg
Y29uZi0+bmJfdHhfcXVldWVzICE9IDEpIHsKKwkJdWtfcHJfZXJyKCJRdWV1ZSBjb21iaW5hdGlv
biBub3Qgc3VwcG9ydGVkOiAlIl9fUFJJdTE2Ii8lIl9fUFJJdTE2IiByeC90eFxuIiwKKwkJCSAg
Y29uZi0+bmJfcnhfcXVldWVzLCBjb25mLT5uYl90eF9xdWV1ZXMpOworCisJCXJldHVybiAtRU5P
VFNVUDsKKwl9CisKKwl2bmRldi0+cnhxcyA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZuZGV2LT5y
eHFzKSAqIGNvbmYtPm5iX3J4X3F1ZXVlcyk7CisJdm5kZXYtPnR4cXMgPSB1a19tYWxsb2MoYSwg
c2l6ZW9mKCp2bmRldi0+dHhxcykgKiBjb25mLT5uYl90eF9xdWV1ZXMpOworCWlmICh1bmxpa2Vs
eSghdm5kZXYtPnJ4cXMgfHwgIXZuZGV2LT50eHFzKSkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0
byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHF1ZXVlIG1hbmFnZW1lbnRcbiIpOworCQlyYyA9IC1FTk9N
RU07CisJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKKwl9CisKKwl2cV9hdmFpbCA9IHZpcnRpb19maW5k
X3Zxcyh2bmRldi0+dmRldiwgdG90YWxfdnFzLCBxZGVzY19zaXplKTsKKwlpZiAodW5saWtlbHko
dnFfYXZhaWwgIT0gdG90YWxfdnFzKSkgeworCQl1a19wcl9lcnIoIkV4cGVjdGVkOiAlZCBxdWV1
ZXMsIEZvdW5kOiAlZCBxdWV1ZXNcbiIsCisJCQkgIHRvdGFsX3ZxcywgdnFfYXZhaWwpOworCQly
YyA9IC1FTk9NRU07CisJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKKwl9CisKKwkvKioKKwkgKiBUaGUg
dmlydHF1ZXVlIGFyZSBvcmdhbml6ZWQgYXM6CisJICogVmlydHF1ZXVlLXJ4MAorCSAqIFZpcnRx
dWV1ZS10eDAKKwkgKiBWaXJ0cXVldWUtcngxCisJICogVmlydHF1ZXVlLXR4MQorCSAqIC4uLgor
CSAqIFZpcnRxdWV1ZS1jdHJscQorCSAqLworCWZvciAoaSA9IDA7IGkgPCB2bmRldi0+bWF4X3Zx
dWV1ZV9wYWlyczsgaSsrKSB7CisJCS8qKgorCQkgKiBJbml0aWFsaXplIHRoZSByZWNlaXZlZCBx
dWV1ZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiByZWNlaXZlZAorCQkgKiBmcm9tIHRoZSBkZXZpY2Uu
CisJCSAqLworCQl2bmRldi0+cnhxc1tpXS5od3ZxX2lkID0gMiAqIGk7CisJCXZuZGV2LT5yeHFz
W2ldLm1heF9uYl9kZXNjID0gcWRlc2Nfc2l6ZVt2bmRldi0+cnhxc1tpXS5od3ZxX2lkXTsKKwkJ
dWtfc2dsaXN0X2luaXQoJnZuZGV2LT5yeHFzW2ldLnNnLAorCQkJICAgICAgIChzaXplb2Yodm5k
ZXYtPnJ4cXNbaV0uc2dzZWdzKSAvCisJCQkJc2l6ZW9mKHZuZGV2LT5yeHFzW2ldLnNnc2Vnc1sw
XSkpLAorCQkJICAgICAgICZ2bmRldi0+cnhxc1tpXS5zZ3NlZ3NbMF0pOworCisJCS8qKgorCQkg
KiBJbml0aWFsaXplIHRoZSB0cmFuc21pdCBxdWV1ZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiByZWNl
aXZlZAorCQkgKiBmcm9tIHRoZSBkZXZpY2UuCisJCSAqLworCQl2bmRldi0+dHhxc1tpXS5od3Zx
X2lkID0gKDIgKiBpKSArIDE7CisJCXZuZGV2LT50eHFzW2ldLm1heF9uYl9kZXNjID0gcWRlc2Nf
c2l6ZVt2bmRldi0+dHhxc1tpXS5od3ZxX2lkXTsKKwkJdWtfc2dsaXN0X2luaXQoJnZuZGV2LT50
eHFzW2ldLnNnLAorCQkJICAgICAgIChzaXplb2Yodm5kZXYtPnR4cXNbaV0uc2dzZWdzKSAvCisJ
CQkJc2l6ZW9mKHZuZGV2LT50eHFzW2ldLnNnc2Vnc1swXSkpLAorCQkJICAgICAgICZ2bmRldi0+
dHhxc1tpXS5zZ3NlZ3NbMF0pOworCX0KK2V4aXQ6CisJcmV0dXJuIHJjOworCitlcnJfZnJlZV90
eHJ4OgorCWlmICghdm5kZXYtPnJ4cXMpCisJCXVrX2ZyZWUoYSwgdm5kZXYtPnJ4cXMpOworCWlm
ICghdm5kZXYtPnR4cXMpCisJCXVrX2ZyZWUoYSwgdm5kZXYtPnR4cXMpOworCWdvdG8gZXhpdDsK
IH0KIAogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2
ICpuLAotCQkJCSAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZiBfX3VudXNlZCkK
KwkJCQkgICBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpCiB7CiAJaW50IHJjID0g
MDsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2OwogCiAJVUtfQVNTRVJUKG4pOwor
CVVLX0FTU0VSVChjb25mKTsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihuKTsKKworCXJjID0g
dmlydGlvX25ldGRldl9mZWF0dXJlX25lZ290aWF0ZSh2bmRldik7CisJaWYgKHJjICE9IDApIHsK
KwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gbmVnb3RpYXRlIHRoZSBkZXZpY2UgZmVhdHVyZSAlZFxu
IiwgcmMpOworCQlnb3RvIGVycl9uZWdvdGlhdGVfZmVhdHVyZTsKKwl9CiAKKwlyYyA9IHZpcnRp
b19uZXRkZXZfcnh0eF9hbGxvYyh2bmRldiwgY29uZik7CisJaWYgKHJjICE9IDApIHsKKwkJdWtf
cHJfZXJyKCJGYWlsZWQgdG8gYWxsb2NhdGUgdGhlIHJ4IGFuZCB0eCByaW5ncyAlZFxuIiwgcmMp
OworCQlnb3RvIGVycl9uZWdvdGlhdGVfZmVhdHVyZTsKKwl9CisKKwkvKiBJbml0aWFsaXplIHRo
ZSBjb3VudCBvZiB0aGUgdmlydGlvLW5ldCBkZXZpY2UgKi8KKwl2bmRldi0+cnhfdnF1ZXVlX2Nu
dCA9IDA7CisJdm5kZXYtPnR4X3ZxdWV1ZV9jbnQgPSAwOworCisJdWtfcHJfaW5mbygiQ29uZmln
dXJlZDogZmVhdHVyZXM9MHglbHggbWF4IHZpcnRxdWV1ZV9wYWlycz0lIl9fUFJJdTE2IlxuIiwK
KwkJICAgdm5kZXYtPnZkZXYtPmZlYXR1cmVzLCB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycyk7Citl
eGl0OgogCXJldHVybiByYzsKKworZXJyX25lZ290aWF0ZV9mZWF0dXJlOgorCXZpcnRpb19kZXZf
c3RhdHVzX3VwZGF0ZSh2bmRldi0+dmRldiwgVklSVElPX0NPTkZJR19TVEFUVVNfRkFJTCk7CisJ
Z290byBleGl0OwogfQogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9lbmFibGUoc3Ry
dWN0IHVrX25ldGRldiAqbiwKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:37 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV12-0007Ii-WB; Fri, 19 Oct 2018 13:40:36 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV12-0007IX-7E
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:36 +0000
X-Inumbo-ID: 2989279c-d3a4-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 2989279c-d3a4-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 15:37:46 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 39175F2057;
 Fri, 19 Oct 2018 15:40:34 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Y-tAOLMwTHLi; Fri, 19 Oct 2018 15:40:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 15694F2010;
 Fri, 19 Oct 2018 15:40:30 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:29 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:40:00 +0200
Message-ID: <1539956404-13127-4-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 3/7] plat/drivers: Configure the
 receive queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dGlu
ZyB1cCB0aGUKcmVjZWl2ZSBxdWV1ZS4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0g
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBwbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19uZXQuYyB8IDE0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
LS0KIDEgZmlsZSBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDRlZGIzNGIuLjNiMTYzMWYgMTAwNjQ0Ci0tLSBh
L3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX25ldC5jCkBAIC0xNjgsNiArMTY4LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0
ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAogCQkJCQlzdHJ1Y3Qg
dWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBxdWV1ZV9pZCwKIAkJCQkJdWludDE2X3QgbmJfZGVzYywK
IAkJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYpOworc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2
LAorCQkJCSAgICAgIHVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBucl9kZXNjLAorCQkJCSAg
ICAgIHZpcnRxX3R5cGVfdCBxdWV1ZV90eXBlLAorCQkJCSAgICAgIHN0cnVjdCB1a19hbGxvYyAq
YSk7CiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9x
dWV1ZV9zZXR1cCgKIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwKIAkJCQkJdWludDE2X3QgcXVl
dWVfaWQsIHVpbnQxNl90IG5iX2Rlc2MsCkBAIC0xOTEsNiArMTk1LDcgQEAgc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1
ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwog
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIF9fdTE2IHF1ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5m
byAqcWluZm8pOworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSwgdm9pZCAqcHJpdik7CiAKIC8qKgogICogU3RhdGljIGdsb2JhbCBjb25zdGFu
dHMKQEAgLTIwMSw2ICsyMDYsMjMgQEAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsKIC8qKgog
ICogVGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCiAgKi8KK3N0YXRpYyBpbnQgdmly
dGlvX25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKnByaXYpCit7
CisJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0gTlVMTDsKKworCVVLX0FTU0VSVCh2
cSAmJiBwcml2KTsKKworCXJ4cSA9IChzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICopIHByaXY7
CisKKwkvKiBEaXNhYmxlIHRoZSBpbnRlcnJ1cHQgZm9yIHRoZSByaW5nICovCisJdmlydHF1ZXVl
X2ludHJfZGlzYWJsZSh2cSk7CisJcnhxLT5pbnRyX2VuYWJsZWQgJj0gfihWVE5FVF9JTlRSX0VO
KTsKKworCS8qIEluZGljYXRlIHRvIHRoZSBuZXR3b3JrIHN0YWNrIGFib3V0IGFuIGV2ZW50ICov
CisJdWtfbmV0ZGV2X2Rydl9yeF9ldmVudChyeHEtPm5kZXYsIHJ4cS0+bHF1ZXVlX2lkKTsKKwly
ZXR1cm4gMTsKK30KKwogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3htaXQoc3RydWN0IHVrX25l
dGRldiAqZGV2LAogCQkJICAgICAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCiAJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpCkBAIC0yMjgsMTUgKzI1MCwxMTEgQEAgc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2Vk
LAogfQogCiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9y
eF9xdWV1ZV9zZXR1cCgKLQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBxdWV1ZV9p
ZCBfX3VudXNlZCwKLQkJCQl1aW50MTZfdCBuYl9kZXNjIF9fdW51c2VkLAotCQkJCXN0cnVjdCB1
a19uZXRkZXZfcnhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQorCQkJCXN0cnVjdCB1a19uZXRk
ZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MsCisJCQkJc3Ry
dWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYpCiB7CisJc3RydWN0IHZpcnRpb19uZXRf
ZGV2aWNlICp2bmRldjsKIAlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOwor
CWludCByYzsKIAogCVVLX0FTU0VSVChuKTsKKwlVS19BU1NFUlQoY29uZik7CisJdm5kZXYgPSB0
b192aXJ0aW9uZXRkZXYobik7CisJaWYgKHF1ZXVlX2lkID49IHZuZGV2LT5tYXhfdnF1ZXVlX3Bh
aXJzKSB7CisJCXVrX3ByX2VycigiSW52YWxpZCB2aXJ0cXVldWUgaWRlbnRpZmllcjogJSJfX1BS
SXUxNiJcbiIsCisJCQkgIHF1ZXVlX2lkKTsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGVycl9l
eGl0OworCX0KKwkvKiBTZXR1cCB0aGUgdmlydHF1ZXVlIHdpdGggdGhlIGRlc2NyaXB0b3IgKi8K
KwlyYyA9IHZpcnRpb19uZXRkZXZfdnF1ZXVlX3NldHVwKHZuZGV2LCBxdWV1ZV9pZCwgbmJfZGVz
YywgVk5FVF9SWCwKKwkJCQkJY29uZi0+YSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIo
IkZhaWxlZCB0byBzZXQgdXAgdmlydHF1ZXVlICUiX19QUkl1MTYiOiAlZFxuIiwKKwkJCSAgcXVl
dWVfaWQsIHJjKTsKKwkJZ290byBlcnJfZXhpdDsKKwl9CisJcnhxICA9ICZ2bmRldi0+cnhxc1ty
Y107CiAKK2V4aXQ6CiAJcmV0dXJuIHJ4cTsKKworZXJyX2V4aXQ6CisJcnhxID0gRVJSMlBUUihy
Yyk7CisJZ290byBleGl0OworfQorCisvKioKKyAqIFRoaXMgZnVuY3Rpb24gc2V0dXAgdGhlIHZy
aW5nIGluZnJhc3RydWN0dXJlLgorICogQHBhcmFtIHZuZGV2CisgKglSZWZlcmVuY2UgdG8gdGhl
IHZpcnRpbyBuZXQgZGV2aWNlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKglVc2VyIHF1ZXVlIGlk
ZW50aWZpZXIKKyAqIEBwYXJhbSBucl9kZXNjCisgKglVc2VyIGNvbmZpZ3VyZWQgbnVtYmVyIG9m
IGRlc2NyaXB0b3JzLgorICogQHBhcmFtIHF1ZXVlX3R5cGUKKyAqCVF1ZXVlIHR5cGUuCisgKiBA
cGFyYW0gYQorICoJUmVmZXJlbmNlIHRvIHRoZSBhbGxvY2F0b3IuCisgKi8KK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl92cXVldWVfc2V0dXAoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRl
diwKKwkJdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90IG5yX2Rlc2MsIHZpcnRxX3R5cGVfdCBx
dWV1ZV90eXBlLAorCQlzdHJ1Y3QgdWtfYWxsb2MgKmEpCit7CisJaW50IHJjID0gMDsKKwlpbnQg
aWQgPSAwOworCXZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrOworCXVpbnQxNl90IG1heF9k
ZXNjLCBod3ZxX2lkOworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCisJaWYgKHF1ZXVlX3R5cGUg
PT0gVk5FVF9SWCkgeworCQlpZCA9IHZuZGV2LT5yeF92cXVldWVfY250OworCQljYWxsYmFjayA9
IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lOworCQltYXhfZGVzYyA9IHZuZGV2LT5yeHFzW2lkXS5t
YXhfbmJfZGVzYzsKKwkJaHd2cV9pZCA9IHZuZGV2LT5yeHFzW2lkXS5od3ZxX2lkOworCX0gZWxz
ZSB7CisJCWlkID0gdm5kZXYtPnR4X3ZxdWV1ZV9jbnQ7CisJCS8qIFdlIGRvbid0IHN1cHBvcnQg
dGhlIGNhbGxiYWNrIGZyb20gdGhlIHR4cXVldWUgeWV0ICovCisJCWNhbGxiYWNrID0gTlVMTDsK
KwkJbWF4X2Rlc2MgPSB2bmRldi0+dHhxc1tpZF0ubWF4X25iX2Rlc2M7CisJCWh3dnFfaWQgPSB2
bmRldi0+dHhxc1tpZF0uaHd2cV9pZDsKKwl9CisKKwlpZiAodW5saWtlbHkobWF4X2Rlc2MgPCBu
cl9kZXNjKSkgeworCQl1a19wcl9lcnIoIk1heCBhbGxvd2VkIGRlc2M6ICUiX19QUkl1MTYiIFJl
cXVlc3RlZCBkZXNjOiUiX19QUkl1MTYiXG4iLAorCQkJICBtYXhfZGVzYywgbnJfZGVzYyk7CisJ
CXJldHVybiAtRU5PQlVGUzsKKwl9CisKKwkvKiBDaGVjayBpZiB0aGUgZGVzY3JpcHRvciBpcyBh
IHBvd2VyIG9mIDIgKi8KKwlpZiAodW5saWtlbHkobnJfZGVzYyAmIChucl9kZXNjIC0gMSkpKSB7
CisJCXVrX3ByX2VycigiRXhwZWN0IGRlc2NyaXB0b3IgY291bnQgYXMgYSBwb3dlciAyXG4iKTsK
KwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXZxID0gdmlydGlvX3ZxdWV1ZV9zZXR1cCh2bmRldi0+
dmRldiwgaHd2cV9pZCwgbnJfZGVzYywgY2FsbGJhY2ssIGEpOworCWlmICh1bmxpa2VseShQVFJJ
U0VSUih2cSkpKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHNldCB1cCB2aXJ0cXVldWUgJSJf
X1BSSXUxNiJcbiIsCisJCQkgIHF1ZXVlX2lkKTsKKwkJcmMgPSBQVFIyRVJSKHZxKTsKKwkJcmV0
dXJuIHJjOworCX0KKworCWlmIChxdWV1ZV90eXBlID09IFZORVRfUlgpIHsKKwkJdnEtPnByaXYg
PSAmdm5kZXYtPnJ4cXNbaWRdOworCQl2bmRldi0+cnhxc1tpZF0ubmRldiA9ICZ2bmRldi0+bmV0
ZGV2OworCQl2bmRldi0+cnhxc1tpZF0udnEgPSB2cTsKKwkJdm5kZXYtPnJ4cXNbaWRdLm5iX2Rl
c2MgPSBucl9kZXNjOworCQl2bmRldi0+cnhxc1tpZF0ubHF1ZXVlX2lkID0gcXVldWVfaWQ7CisJ
CXZuZGV2LT5yeF92cXVldWVfY250Kys7CisJfSBlbHNlIHsKKwkJdm5kZXYtPnR4cXNbaWRdLnZx
ID0gdnE7CisJCXZuZGV2LT5yeHFzW2lkXS5uZGV2ID0gJnZuZGV2LT5uZXRkZXY7CisJCXZuZGV2
LT50eHFzW2lkXS5uYl9kZXNjID0gbnJfZGVzYzsKKwkJdm5kZXYtPnR4cXNbaWRdLmxxdWV1ZV9p
ZCA9IHF1ZXVlX2lkOworCQl2bmRldi0+dHhfdnF1ZXVlX2NudCsrOworCX0KKwlyZXR1cm4gaWQ7
CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4
X3F1ZXVlX3NldHVwKApAQCAtMjUxLDEyICszNjksMjkgQEAgc3RhdGljIHN0cnVjdCB1a19uZXRk
ZXZfdHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVldWVfc2V0dXAoCiB9CiAKIHN0YXRpYyBp
bnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAotCQkJ
CSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lk
LAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCiB7CisJc3Ry
dWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKKwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpyeHE7CisJaW50IHJjID0gMDsKKwogCVVLX0FTU0VSVChkZXYpOwogCVVLX0FTU0VSVChxaW5m
byk7Ci0JcmV0dXJuIDA7CisJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKKwlpZiAodW5s
aWtlbHkocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpKSB7CisJCXVrX3ByX2Vy
cigiSW52YWxpZCB2aXJ0cXVldWUgaWQ6ICUiX19QUkl1MTYiXG4iLCBxdWV1ZV9pZCk7CisJCXJj
ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKwlyeHEgPSAmdm5kZXYtPnJ4cXNbcXVldWVf
aWRdOworCXFpbmZvLT5uYl9taW4gPSAxOworCXFpbmZvLT5uYl9tYXggPSByeHEtPm1heF9uYl9k
ZXNjOworCXFpbmZvLT5uYl9pc19wb3dlcl9vZl90d28gPSAxOworCitleGl0OgorCXJldHVybiBy
YzsKKwogfQogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1
a19uZXRkZXYgKmRldiwKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV18-0007Jg-1V; Fri, 19 Oct 2018 13:40:42 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV17-0007JP-6C
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:41 +0000
X-Inumbo-ID: c3e202c2-d3a4-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c3e202c2-d3a4-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:42:06 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id ABA77104A1A;
 Fri, 19 Oct 2018 15:40:38 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xT-16FtR9ix0; Fri, 19 Oct 2018 15:40:38 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 8DA9B1048F7;
 Fri, 19 Oct 2018 15:40:34 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:34 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:40:01 +0200
Message-ID: <1539956404-13127-5-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 4/7] plat/drivers: Configuring
 the transmit queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBuZXQgZGV2aWNlIGltcGxlbWVudGF0aW9u
IGZvcgpjb25maWd1cmluZyB0aGUgdHJhbnNtaXQgcXVldWUKClNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBS
YXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBwbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyB8IDQyICsrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0
aW9uKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwppbmRleCAzYjE2MzFmLi43ZWZmZTE1IDEw
MDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYworKysgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpAQCAtMzYzLDkgKzM2MywzMiBAQCBzdGF0aWMgc3Ry
dWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKIAkJ
CQlzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqY29uZiBfX3VudXNlZCkKIHsKIAlzdHJ1
Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEgPSBOVUxMOworCXN0cnVjdCB2aXJ0aW9fbmV0X2Rl
dmljZSAqdm5kZXY7CisJaW50IHJjID0gMDsKIAogCVVLX0FTU0VSVChuKTsKKwl2bmRldiA9IHRv
X3ZpcnRpb25ldGRldihuKTsKKwlpZiAocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFp
cnMpIHsKKwkJdWtfcHJfZXJyKCJJbnZhbGlkIHZpcnRxdWV1ZSBpZGVudGlmaWVyOiAlIl9fUFJJ
dTE2IlxuIiwKKwkJCSAgcXVldWVfaWQpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX2V4
aXQ7CisJfQorCS8qIFNldHVwIHRoZSB2aXJ0cXVldWUgKi8KKwlyYyA9IHZpcnRpb19uZXRkZXZf
dnF1ZXVlX3NldHVwKHZuZGV2LCBxdWV1ZV9pZCwgbmJfZGVzYywgVk5FVF9UWCwKKwkJCQkJY29u
Zi0+YSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBzZXQgdXAgdmly
dHF1ZXVlICUiX19QUkl1MTYiOiAlZFxuIiwKKwkJCSAgcXVldWVfaWQsIHJjKTsKKwkJZ290byBl
cnJfZXhpdDsKKwl9CisJdHhxID0gJnZuZGV2LT50eHFzW3JjXTsKK2V4aXQ6CiAJcmV0dXJuIHR4
cTsKKworZXJyX2V4aXQ6CisJdHhxID0gRVJSMlBUUihyYyk7CisJZ290byBleGl0OwogfQogCiBz
dGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRl
diwKQEAgLTM5OCw5ICs0MjEsMjYgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZv
X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiAJCQkJICAgICAgX191MTYgcXVldWVfaWQgX191
bnVzZWQsCiAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbykKIHsK
KwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2OworCXN0cnVjdCB1a19uZXRkZXZfdHhf
cXVldWUgKnR4cTsKKwlpbnQgcmMgPSAwOworCiAJVUtfQVNTRVJUKGRldik7CiAJVUtfQVNTRVJU
KHFpbmZvKTsKLQlyZXR1cm4gMDsKKworCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KGRldik7CisJ
aWYgKHVubGlrZWx5KHF1ZXVlX2lkID49IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzKSkgeworCQl1
a19wcl9lcnIoIkludmFsaWQgcXVldWVfaWQgJSJfX1BSSXUxNiJcbiIsIHF1ZXVlX2lkKTsKKwkJ
cmMgPSAtRUlOVkFMOworCQlnb3RvIGV4aXQ7CisJfQorCXR4cSA9ICZ2bmRldi0+dHhxc1txdWV1
ZV9pZF07CisJcWluZm8tPm5iX21pbiA9IDE7CisJcWluZm8tPm5iX21heCA9IHR4cS0+bWF4X25i
X2Rlc2M7CisJcWluZm8tPm5iX2lzX3Bvd2VyX29mX3R3byA9IDE7CisKK2V4aXQ6CisJcmV0dXJu
IHJjOwogfQogCiBzdGF0aWMgdW5zaWduZWQgdmlydGlvX25ldF9wcm9taXNjX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpuKQotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBs
aXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4v
bGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:46 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV1C-0007Kc-35; Fri, 19 Oct 2018 13:40:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV1B-0007KL-0A
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:45 +0000
X-Inumbo-ID: c69d8b2e-d3a4-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id c69d8b2e-d3a4-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:42:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 35FFEF2057;
 Fri, 19 Oct 2018 15:40:43 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id k6Qj14cJ28z4; Fri, 19 Oct 2018 15:40:43 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 13962F2010;
 Fri, 19 Oct 2018 15:40:39 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:38 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:40:02 +0200
Message-ID: <1539956404-13127-6-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 5/7] plat/drivers: Configure
 receive queue interrupt
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGltcGxlbWVudHMgZW5hYmxlIGFuZCBkaXNhYmxpbmcgaW50ZXJydXB0IG9uIHRo
ZSByZWNlaXZlCnF1ZXVlLgoKU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFu
LnNhbnRoYW5hbUBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6
dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgotLS0KIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X25ldC5jIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMjIg
aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCmlu
ZGV4IDdlZmZlMTUuLmUxZDBhMDkgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmly
dGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC02MzUs
MTkgKzYzNSwzOSBAQCBlcnJfbmVnb3RpYXRlX2ZlYXR1cmU6CiB9CiAKIHN0YXRpYyBpbnQgdmly
dGlvX25ldF9yeF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAotCQkJCSAgICAgc3Ry
dWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191bnVzZWQpCisJCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSkKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2Ug
KmQgX191bnVzZWQ7CiAJaW50IHJjID0gMDsKIAogCVVLX0FTU0VSVChuKTsKKwlkID0gdG9fdmly
dGlvbmV0ZGV2KG4pOworCS8qIElmIHRoZSBpbnRlcnJ1cHQgaXMgZW5hYmxlZCAqLworCWlmIChx
dWV1ZS0+aW50cl9lbmFibGVkICYgVlRORVRfSU5UUl9FTikKKwkJcmV0dXJuIDA7CisKKwkvKioK
KwkgKiBFbmFibGUgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBiaXQuIFRoaXMgd291bGQgY2F1c2Ug
dGhlIGludGVycnVwdCB0bworCSAqIGJlIGVuYWJsZWQgYXV0b21hdGljYWxseSwgaWYgdGhlIGlu
dGVycnVwdCBjb3VsZCBub3QgYmUgZW5hYmxlZCBub3cKKwkgKiBkdWUgdG8gZGF0YSBpbiB0aGUg
cXVldWUuCisJICovCisJcXVldWUtPmludHJfZW5hYmxlZCA9IFZUTkVUX0lOVFJfVVNSX0VOOwor
CXJjID0gdmlydHF1ZXVlX2ludHJfZW5hYmxlKHF1ZXVlLT52cSk7CisJaWYgKCFyYykKKwkJcXVl
dWUtPmludHJfZW5hYmxlZCB8PSBWVE5FVF9JTlRSX0VOOwogCiAJcmV0dXJuIHJjOwogfQogCiBz
dGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4s
Ci0JCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191bnVzZWQpCisJ
CQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpCiB7CisJc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldiBfX3VudXNlZDsKKwogCVVLX0FTU0VSVChuKTsKKwl2bmRl
diA9IHRvX3ZpcnRpb25ldGRldihuKTsKKwl2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHF1ZXVlLT52
cSk7CisJcXVldWUtPmludHJfZW5hYmxlZCAmPSB+KFZUTkVUX0lOVFJfVVNSX0VOIHwgVlRORVRf
SU5UUl9FTik7CiAJcmV0dXJuIDA7CiB9CiAKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV1H-0007Lo-57; Fri, 19 Oct 2018 13:40:51 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV1G-0007LU-58
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:50 +0000
X-Inumbo-ID: 31911b3b-d3a4-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 31911b3b-d3a4-11e8-a8a5-bc764e045a96;
 Fri, 19 Oct 2018 15:38:00 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id B5C52104A41;
 Fri, 19 Oct 2018 15:40:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CZ74JC3ZlLRU; Fri, 19 Oct 2018 15:40:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 8EFA5104A3D;
 Fri, 19 Oct 2018 15:40:43 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:43 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:40:03 +0200
Message-ID: <1539956404-13127-7-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 6/7] plat/drivers: Starting the
 virtio device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21h
aWwuY29tPgotLS0KIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMjYgKysrKysr
KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCgpk
aWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9wbGF0L2RyaXZl
cnMvdmlydGlvL3ZpcnRpb19uZXQuYwppbmRleCBlMWQwYTA5Li5lNzU4MWYxIDEwMDY0NAotLS0g
YS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYworKysgYi9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19uZXQuYwpAQCAtNjg1LDcgKzY4NSwzMyBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9f
bmV0X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKIAogc3RhdGljIGludCB2aXJ0aW9f
bmV0X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKm4pCiB7CisJc3RydWN0IHZpcnRpb19uZXRfZGV2
aWNlICpkOworCWludCBpID0gMDsKKwogCVVLX0FTU0VSVChuICE9IE5VTEwpOworCWQgPSB0b192
aXJ0aW9uZXRkZXYobik7CisKKwkvKgorCSAqIEJ5IGRlZmF1bHQsIGludGVycnVwdHMgYXJlIGRp
c2FibGVkIGFuZCBpdCBpcyB1cCB0byB0aGUgdXNlciBvcgorCSAqIG5ldHdvcmsgc3RhY2sgdG8g
bWFudWFsbHkgZW5hYmxlIHRoZW0gd2l0aCBhIGNhbGwgdG8KKwkgKiBlbmFibGVfdHh8cnhfaW50
cigpCisJICovCisJZm9yIChpID0gMDsgaSA8IGQtPnJ4X3ZxdWV1ZV9jbnQ7IGkrKykgeworCQl2
aXJ0cXVldWVfaW50cl9kaXNhYmxlKGQtPnJ4cXNbaV0udnEpOworCQlkLT5yeHFzW2ldLmludHJf
ZW5hYmxlZCA9IDA7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGQtPnR4X3ZxdWV1ZV9jbnQ7IGkr
KykgeworCQl2aXJ0cXVldWVfaW50cl9kaXNhYmxlKGQtPnR4cXNbaV0udnEpOworCQlkLT50eHFz
W2ldLmludHJfZW5hYmxlZCA9IDA7CisJfQorCisJLyoKKwkgKiBTZXQgdGhlIERSSVZFUl9PSyBz
dGF0dXMgYml0LiBBdCB0aGlzIHBvaW50IHRoZSBkZXZpY2UgaXMgImxpdmUiLgorCSAqLworCXZp
cnRpb19kZXZfZHJ2X3VwKGQtPnZkZXYpOworCXVrX3ByX2luZm8oRFJJVkVSX05BTUUiOiAlIl9f
UFJJdTE2IiBzdGFydGVkXG4iLCBkLT51aWQpOworCiAJcmV0dXJuIDA7CiB9CiAKLS0gCjIuNy40
CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9z
LWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0
cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 13:40:55 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 13:40:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDV1L-0007Mh-7P; Fri, 19 Oct 2018 13:40:55 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cwkk=m7=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gDV1K-0007MX-Jg
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 13:40:54 +0000
X-Inumbo-ID: cbdbf7f6-d3a4-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id cbdbf7f6-d3a4-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 13:42:18 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 08FC6F2057;
 Fri, 19 Oct 2018 15:40:52 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id DbYwHL5bJL8z; Fri, 19 Oct 2018 15:40:51 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id D2E04F2010;
 Fri, 19 Oct 2018 15:40:47 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 15:40:47 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Fri, 19 Oct 2018 15:40:04 +0200
Message-ID: <1539956404-13127-8-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 7/7] plat/drivers: Receive and
 Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBhZGQgdGhlIHRyYW5zbWlzc2lvbiBhbmQgcmVjZWl2ZSBvcGVyYXRpb24gZm9y
IHRoZQp2aXJ0aW8tbmV0IGRldmljZS4gV2UgZXh0ZW5kIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0
IHRvIG9wZXJhdGUKb24gdGhlIG5ldGJ1Zi4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFu
YW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29q
b2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtzZ2xpc3QvZXhw
b3J0c3ltcy51ayAgICAgICB8ICAgMSArCiBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3Qu
aCB8ICAxOCArKysKIGxpYi91a3NnbGlzdC9zZ2xpc3QuYyAgICAgICAgICAgIHwgIDI1ICsrKysK
IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMjkyICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAzMzMgaW5zZXJ0aW9ucygr
KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51
ayBiL2xpYi91a3NnbGlzdC9leHBvcnRzeW1zLnVrCmluZGV4IGExZTliMzcuLmY4YzYwZjcgMTAw
NjQ0Ci0tLSBhL2xpYi91a3NnbGlzdC9leHBvcnRzeW1zLnVrCisrKyBiL2xpYi91a3NnbGlzdC9l
eHBvcnRzeW1zLnVrCkBAIC05LDMgKzksNCBAQCB1a19zZ2xpc3RfbGVuZ3RoCiB1a19zZ2xpc3Rf
c3BsaXQKIHVrX3NnbGlzdF9qb2luCiB1a19zZ2xpc3Rfc2xpY2UKK3VrX3NnbGlzdF9hcHBlbmRf
bmV0YnVmCmRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaCBiL2xp
Yi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCmluZGV4IGE4OWIxMGQuLmRiMDAwYzAgMTAw
NjQ0Ci0tLSBhL2xpYi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCisrKyBiL2xpYi91a3Nn
bGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCkBAIC00NCwxMiArNDQsMTYgQEAKIGV4dGVybiAiQyIg
ewogI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCiAKKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KICNp
bmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+CiAjaW5jbHVkZSA8
dWsvcmVmY291bnQuaD4KICNpZmRlZiBDT05GSUdfTElCVUtBTExPQwogI2luY2x1ZGUgPHVrL2Fs
bG9jLmg+CiAjZW5kaWYgLyogQ09ORklHX0xJQlVLQUxMT0MgKi8KKyNpZmRlZiBDT05GSUdfTElC
VUtORVRERVYKKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4KKyNlbmRpZiAvKiBDT05GSUdfTElCVUtO
RVRERVYgKi8KIAogc3RydWN0IHVrX3NnbGlzdF9zZWcgewogCV9fcGh5c19hZGRyICBzc19wYWRk
cjsgLyogUGh5c2ljYWwgYWRkcmVzcyAqLwpAQCAtMjY1LDYgKzI2OSwyMCBAQCBpbnQgdWtfc2ds
aXN0X3NsaWNlKHN0cnVjdCB1a19zZ2xpc3QgKm9yaWdpbmFsLCBzdHJ1Y3QgdWtfc2dsaXN0ICoq
c2xpY2UsCiAJCQlzdHJ1Y3QgdWtfYWxsb2MgKmEsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5n
dGgpOwogI2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICovCiAKKyNpZmRlZiBDT05GSUdfTElC
VUtORVRERVYKKy8qKgorICogVGhlIGZ1bmN0aW9uIGNyZWF0ZSBhIHNjYXR0ZXIgZ2F0aGVyIGxp
c3QgZnJvbSB0aGUgbmV0YnVmCisgKiBAcGFyYW0gc2cKKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSBz
Y2F0dGVyIGdhdGhlciBsaXN0LgorICogQHBhcmFtIG0wCisgKglBIHJlZmVyZW5jZSB0byB0aGUg
bmV0YnVmCisgKiBAcmV0dXJuCisgKgkwLCBvbiBzdWNjZXNzZnVsIGNyZWF0aW9uIG9mIHRoZSBz
Y2F0dGVyIGdhdGhlciBsaXN0CisgKgktRUlOVkFMLCBJbnZhbGlkIHNnIGxpc3QuCisgKi8KK2lu
dCB1a19zZ2xpc3RfYXBwZW5kX25ldGJ1ZihzdHJ1Y3QgdWtfc2dsaXN0ICpzZywgc3RydWN0IHVr
X25ldGJ1ZiAqbmV0YnVmKTsKKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVQgKi8KKwogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KZGlmZiAtLWdpdCBhL2xp
Yi91a3NnbGlzdC9zZ2xpc3QuYyBiL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwppbmRleCAwZWMyMTA1
Li41MDc4N2IzIDEwMDY0NAotLS0gYS9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMKKysrIGIvbGliL3Vr
c2dsaXN0L3NnbGlzdC5jCkBAIC01MzEsMyArNTMxLDI4IEBAIGludCB1a19zZ2xpc3Rfc2xpY2Uo
c3RydWN0IHVrX3NnbGlzdCAqb3JpZ2luYWwsIHN0cnVjdCB1a19zZ2xpc3QgKipzbGljZSwKIAly
ZXR1cm4gMDsKIH0KICNlbmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLworCisjaWZkZWYgQ09ORklH
X0xJQlVLTkVUREVWCitpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlz
dCAqc2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKK3sKKwlzdHJ1Y3Qgc2dzYXZlIHNhdmU7
CisJc3RydWN0IHVrX25ldGJ1ZiAqbmI7CisJaW50IGVycm9yOworCisJaWYgKHNnLT5zZ19tYXhz
ZWcgPT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwllcnJvciA9IDA7CisJU0dMSVNUX1NBVkUo
c2csIHNhdmUpOworCWZvciAobmIgPSBuZXRidWY7IG5iICE9IE5VTEw7IG5iID0gbmItPm5leHQp
IHsKKwkJaWYgKG5iLT5sZW4gPiAwKSB7CisJCQllcnJvciA9IHVrX3NnbGlzdF9hcHBlbmQoc2cs
IG5iLT5kYXRhLCBuYi0+bGVuKTsKKwkJCWlmIChlcnJvcikgeworCQkJCVNHTElTVF9SRVNUT1JF
KHNnLCBzYXZlKTsKKwkJCQlyZXR1cm4gZXJyb3I7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIDA7
Cit9CisjZW5kaWYgLyogQ09ORklHX0xJQlVLTkVUICovCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZl
cnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5j
CmluZGV4IGU3NTgxZjEuLmU4NzNlYjkgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC03
OSw2ICs3OSwxNyBAQCB0eXBlZGVmIGVudW0gewogfSB2aXJ0cV90eXBlX3Q7CiAKIC8qKgorICog
V2hlbiBtZXJnZWFibGUgYnVmZmVycyBhcmUgbm90IG5lZ290aWF0ZWQsIHRoZSB2dG5ldF9yeF9o
ZWFkZXIgc3RydWN0dXJlCisgKiBiZWxvdyBpcyBwbGFjZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0
aGUgbmV0YnVmIGRhdGEuIFVzZSA0IGJ5dGVzIG9mIHBhZCB0bworICogYm90aCBrZWVwIHRoZSBW
aXJ0SU8gaGVhZGVyIGFuZCB0aGUgZGF0YSBub24tY29udGlndW91cyBhbmQgdG8ga2VlcCB0aGUK
KyAqIGZyYW1lJ3MgcGF5bG9hZCA0IGJ5dGUgYWxpZ25lZC4KKyAqLworc3RydWN0IHZpcnRpb19u
ZXRfcnhfaGRyIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9oZHIgdmhkcjsKKwljaGFyICAgICAgICAg
ICAgdnJoX3BhZFtWVE5FVF9SWF9IRUFERVJfUEFEXTsKK307CisKKy8qKgogICogQGludGVybmFs
IHN0cnVjdHVyZSB0byByZXByZXNlbnQgdGhlIHRyYW5zbWl0IHF1ZXVlLgogICovCiBzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4X3F1ZXVlIHsKQEAgLTE4MCw2ICsxOTEsNyBAQCBzdGF0aWMgaW50IHZpcnRp
b19uZXRfcnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCiAJCQkJICAgICAgc3Ry
dWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOwogc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4
X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCiAJCQkJICAgICBzdHJ1Y3QgdWtfbmV0
ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7CitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0ZGV2X3htaXRfZnJl
ZShzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpOwogc3RhdGljIGludCB2aXJ0aW9fbmV0
ZGV2X3htaXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl90eF9xdWV1ZSAqcXVldWUsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpOwpAQCAt
MTk1LDcgKzIwNywxMyBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCiAJCQkJICAgICAgc3RydWN0IHVr
X25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7CiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhx
X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCiAJCQkJICAg
ICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7CitzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcnhxX2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQkJ
CSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqKm5ldGJ1Zik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRk
ZXZfcnhxX2VucXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQkJCSAgICAg
c3RydWN0IHVrX25ldGJ1ZiAqbmV0YnVmKTsKIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2
X2RvbmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKnByaXYpOworc3RhdGljIGludCB2aXJ0
aW9fbmV0ZGV2X3J4X2ZpbGx1cChzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEsCisJCXN0
cnVjdCB1a19uZXRidWYgKipuZXRidWYsIF9fdTE2ICpjb3VudCk7CiAKIC8qKgogICogU3RhdGlj
IGdsb2JhbCBjb25zdGFudHMKQEAgLTIyMywzMCArMjQxLDI5OCBAQCBzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lkICpwcml2KQogCXJl
dHVybiAxOwogfQogCitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0ZGV2X3htaXRfZnJlZShzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpCit7CisJc3RydWN0IHVrX25ldGJ1ZiAqcGt0ID0gTlVM
TDsKKwlpbnQgY250ID0gMDsKKworCXBrdCA9IChzdHJ1Y3QgdWtfbmV0YnVmICopIHZpcnRxdWV1
ZV9idWZmZXJfZGVxdWV1ZSh0eHEtPnZxLCBOVUxMKTsKKwl3aGlsZSAocGt0KSB7CisJCS8qKgor
CQkgKiBSZWxlYXNpbmcgdGhlIGZyZWUgYnVmZmVyIGJhY2sgdG8gbmV0YnVmLiBUaGUgbmV0YnVm
IGNvdWxkCisJCSAqIHVzZSB0aGUgZGVzdHJ1Y3RvciB0byBpbmZvcm0gdGhlIHN0YWNrIHJlZ2Fy
ZGluZyB0aGUgZnJlZSB1cAorCQkgKiBvZiBtZW1vcnkuCisJCSAqLworCQl1a19uZXRidWZfZnJl
ZShwa3QpOworCQljbnQrKzsKKwkJcGt0ID0gKHN0cnVjdCB1a19uZXRidWYgKikKKwkJCXZpcnRx
dWV1ZV9idWZmZXJfZGVxdWV1ZSh0eHEtPnZxLCBOVUxMKTsKKwl9CisJdWtfcHJfZGVidWcoIkZy
ZWUgJSJfX1BSSXUxNiIgZGVzY3JpcHRvcnNcbiIsIGNudCk7Cit9CisKK3N0YXRpYyBpbnQgdmly
dGlvX25ldGRldl9yeF9maWxsdXAoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQlz
dHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmLCBfX3UxNiAqY291bnQpCit7CisJaW50IHJjID0gMDsK
KwlfX3UxNiBpID0gMDsKKwlfX3UxNiBjbnQgPSAwOworCisJLyoqCisJICogRml4ZWQgYW1vdW50
IG9mIG1lbW9yeSBpcyBhbGxvY2F0ZWQgdG8gZWFjaCByZWNlaXZlZCBidWZmZXIuIEluCisJICog
b3VyIGNhc2Ugc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBqdW1ibyBmcmFtZSBvciBMUk8geWV0IHdl
IHJlcXVpcmUKKwkgKiB0aGF0IHRoZSBidWZmZXIgZmVlZCB0byB0aGUgcmluZyBkZXNjcmlwdG9y
IGlzIGF0bGVhc3QKKwkgKiBldGhlcm5ldCBNVFUgKyB2aXJ0aW8gbmV0IGhlYWRlci4KKwkgKi8K
Kwlmb3IgKGkgPSAwOyBpIDwgKmNvdW50OyBpKyspIHsKKwkJcmMgPSB2aXJ0aW9fbmV0ZGV2X3J4
cV9lbnF1ZXVlKHJ4cSwgbmV0YnVmW2ldKTsKKwkJaWYgKHJjID09IC1FTk9TUEMpIHsKKwkJCXVr
X3ByX2RlYnVnKAorCQkJCSJObyBtb3JlIHBsYWNlIGF2YWlsYWJsZSB0byBhZGQgZGVzY3JpcHRv
cnNcbiIpOworCQkJcmMgPSAwOworCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAodW5saWtlbHkocmMg
PCAwKSkgeworCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWRkIGEgYnVmZmVyIHRvIHRoZSB2aXJ0
cXVldWU6ICVkXG4iLAorCQkJCSAgcmMpOworCQkJYnJlYWs7CisJCX0KKwkJY250Kys7CisJfQor
CSpjb3VudCA9ICpjb3VudCAtIGNudDsKKworCS8qKgorCSAqIE5vdGlmeSB0aGUgaG9zdCwgd2hl
biB3ZSBzdWJtaXQgbmV3IGRlc2NyaXB0b3IocykuCisJICovCisJaWYgKGNudCkKKwkJdmlydHF1
ZXVlX2hvc3Rfbm90aWZ5KHJ4cS0+dnEpOworCisJcmV0dXJuIHJjOworfQorCiBzdGF0aWMgaW50
IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiAJCQkgICAgICBzdHJ1
Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKIAkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYg
KnBrdCkKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2IF9fdW51c2VkOworCXN0
cnVjdCB2aXJ0aW9fbmV0X2hkciAqdmhkcjsKKwlpbnQxNl90IGhlYWRlcl9zeiA9IHNpemVvZigq
dmhkcik7CiAJaW50IHJjID0gMDsKKwlzaXplX3QgdG90YWxfbGVuID0gMDsKIAogCVVLX0FTU0VS
VChkZXYpOwogCVVLX0FTU0VSVChwa3QgJiYgcXVldWUpOwogCisJdm5kZXYgPSB0b192aXJ0aW9u
ZXRkZXYoZGV2KTsKKwkvKioKKwkgKiBXZSBhcmUgcmVjbGFpbWluZyB0aGUgZnJlZSBkZXNjcmlw
dG9ycyBmcm9tIGJ1ZmZlcnMuIFRoZSBmdW5jdGlvbiBpcworCSAqIG5vdCBwcm90ZWN0ZWQgYnkg
bWVhbnMgb2YgbG9ja3MuIFdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpZiB0aGVyZSBhcmUKKwkgKiBt
dWx0aXBsZSBjb250ZXh0IHRocm91Z2ggd2hpY2ggd2UgZnJlZSB0aGUgdHggZGVzY3JpcHRvcnMu
CisJICovCisJdmlydGlvX25ldGRldl94bWl0X2ZyZWUocXVldWUpOworCisJLyoqCisJICogRmV0
Y2ggdGhlIHZpcnRpby1uZXQtaGVhZGVyIGZyb20gYSBwcmUtYWxsb2NhdGVkIGxpc3QuCisJICov
CisJcmMgPSB1a19uZXRidWZfaGVhZGVyKHBrdCwgaGVhZGVyX3N6KTsKKwlpZiAocmMgIT0gMSkg
eworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhbGxvY2F0ZWQgaGVhZGVyIG1lbW9yeVxuIik7CisJ
CXJjID0gLUVOT1NQQzsKKwkJZ290byBleGl0OworCX0KKwl2aGRyID0gcGt0LT5kYXRhOworCisJ
LyoqCisJICogRmlsbCB0aGUgdmlydGlvLW5ldC1oZWFkZXIgd2l0aCB0aGUgbmVjZXNzYXJ5IGlu
Zm9ybWF0aW9uLgorCSAqIFplcm8gZXhwbGljaXRseSBzZXQuCisJICovCisJdmhkci0+ZmxhZ3Mg
PSAwOworCXZoZHItPmdzb190eXBlID0gVklSVElPX05FVF9IRFJfR1NPX05PTkU7CisKKwkvKioK
KwkgKiBQcmVwYXJlIHRoZSBzZ2xpc3QgYW5kIGVucXVldWUgdGhlIGJ1ZmZlciB0byB0aGUgdmly
dGlvLXJpbmcuCisJICovCisJdWtfc2dsaXN0X3Jlc2V0KCZxdWV1ZS0+c2cpOworCisJLyoqCisJ
ICogQWNjb3JkaW5nIHRoZSBzcGVjaWZpY2F0aW9uIDUuMS42LjYsIHdlIG5lZWQgdG8gZXhwbGlj
aXRseSB1c2UKKwkgKiAyIGRlc2NyaXB0b3IgZm9yIGVhY2ggdHJhbnNtaXQgYW5kIHJlY2VpdmUg
bmV0d29yayBwYWNrZXQgc2luY2Ugd2UKKwkgKiBkbyBub3QgbmVnb3RpYXRlIGZvciB0aGUgVklS
VElPX0ZfQU5ZX0xBWU9VVC4KKwkgKgorCSAqIDEgZm9yIHRoZSB2aXJ0aW8gaGVhZGVyIGFuZCB0
aGUgb3RoZXIgZm9yIHRoZSBhY3R1YWwgbmV0d29yayBwYWNrZXQuCisJICovCisJLyogQXBwZW5k
aW5nIHRoZSBkYXRhIHRvIHRoZSBsaXN0LiAqLworCXJjID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVl
dWUtPnNnLCB2aGRyLCBoZWFkZXJfc3opOworCWlmICh1bmxpa2VseShyYyAhPSAwKSkgeworCQl1
a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOworCQlnb3RvIGV4
aXQ7CisJfQorCXJjID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVldWUtPnNnLCBwa3QtPmRhdGEgKyBo
ZWFkZXJfc3osCisJCQkocGt0LT5sZW4gLSBoZWFkZXJfc3opKTsKKwlpZiAodW5saWtlbHkocmMg
IT0gMCkpIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYXBwZW5kIHRvIHRoZSBzZyBsaXN0XG4i
KTsKKwkJZ290byBleGl0OworCX0KKwlpZiAocGt0LT5uZXh0KSB7CisJCXJjID0gdWtfc2dsaXN0
X2FwcGVuZF9uZXRidWYoJnF1ZXVlLT5zZywgcGt0LT5uZXh0KTsKKwkJaWYgKHVubGlrZWx5KHJj
ICE9IDApKSB7CisJCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3Rc
biIpOworCQkJZ290byBleGl0OworCQl9CisJfQorCisJdG90YWxfbGVuID0gdWtfc2dsaXN0X2xl
bmd0aCgmcXVldWUtPnNnKTsKKwlpZiAodW5saWtlbHkodG90YWxfbGVuID4gVklSVElPX1BLVF9C
VUZGRVJfTEVOKSkgeworCQl1a19wcl9lcnIoIlBhY2tldCBzaXplOiAlbHUsIE1heCBBbGxvd2Vk
IHNpemU6JXVcbiIsCisJCQkgIHRvdGFsX2xlbiwgVklSVElPX1BLVF9CVUZGRVJfTEVOKTsKKwkJ
cmV0dXJuIC1FTk9UU1VQOworCX0KKworCS8qKgorCSAqIEFkZGluZyB0aGUgZGVzY3JpcHRvcnMg
dG8gdGhlIHZpcnRxdWV1ZS4KKwkgKi8KKwlyYyA9IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZShx
dWV1ZS0+dnEsIHBrdCwgJnF1ZXVlLT5zZywKKwkJCQkgICAgICBxdWV1ZS0+c2cuc2dfbnNlZywg
MCk7CisJaWYgKGxpa2VseShyYyA+PSAwKSkgeworCQkvKioKKwkJICogTm90aWZ5IHRoZSBob3N0
IHRoZSBuZXcgYnVmZmVyLgorCQkgKi8KKwkJdmlydHF1ZXVlX2hvc3Rfbm90aWZ5KHF1ZXVlLT52
cSk7CisJCS8qKgorCQkgKiBXaGVuIHRoZXJlIGlzIGZ1cnRoZXIgc3BhY2UgYXZhaWxhYmxlIGlu
IHRoZSByaW5nCisJCSAqIHJldHVybiAyIGVsc2UgMS4KKwkJICovCisJCXJjID0gbGlrZWx5KHJj
ID4gMCkgPyAyIDogMTsKKwl9IGVsc2UgaWYgKHJjID09IC1FTk9TUEMpIHsKKwkJdWtfcHJfZGVi
dWcoIk5vIG1vcmUgZGVzY3JpcHRvciBhdmFpbGFibGVcbiIpOworCQlyYyA9IDA7CisJfSBlbHNl
IHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZW5xdWV1ZSBkZXNjcmlwdG9ycyBpbnRvIHRoZSBy
aW5nOiAlZFxuIiwKKwkJCSAgcmMpOworCX0KKworZXhpdDoKIAlyZXR1cm4gcmM7CiB9CiAKLXN0
YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2KHN0cnVjdCB1a19uZXRkZXYgKmRldiBfX3VudXNl
ZCwKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShzdHJ1Y3QgdWtfbmV0ZGV2
X3J4X3F1ZXVlICpyeHEsCisJCQkJICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpuZXRidWYpCit7CisJ
aW50IHJjID0gMDsKKwlzdHJ1Y3QgdmlydGlvX25ldF9yeF9oZHIgKnJ4aGRyOworCV9fdTggKmJ1
Zl9zdGFydDsKKwlzdHJ1Y3QgdWtfc2dsaXN0ICpzZzsKKworCWlmICh2aXJ0cXVldWVfaXNfZnVs
bChyeHEtPnZxKSkgeworCQl1a19wcl9kZWJ1ZygiVGhlIHZpcnRxdWV1ZSBpcyBmdWxsXG4iKTsK
KwkJcmV0dXJuIC1FTk9TUEM7CisJfQorCXJ4aGRyID0gbmV0YnVmLT5kYXRhOworCWJ1Zl9zdGFy
dCA9IG5ldGJ1Zi0+ZGF0YSArIHNpemVvZigqcnhoZHIpOworCXNnID0gJnJ4cS0+c2c7CisJdWtf
c2dsaXN0X3Jlc2V0KHNnKTsKKworCS8qIEFwcGVuZGluZyB0aGUgaGVhZGVyIGJ1ZmZlciB0byB0
aGUgc2dsaXN0ICovCisJdWtfc2dsaXN0X2FwcGVuZChzZywgcnhoZHIsIHNpemVvZihzdHJ1Y3Qg
dmlydGlvX25ldF9oZHIpKTsKKworCS8qIEFwcGVuZGluZyB0aGUgZGF0YSBidWZmZXIgdG8gdGhl
IHNnbGlzdCAqLworCXVrX3NnbGlzdF9hcHBlbmQoc2csIGJ1Zl9zdGFydCwKKwkJCSBuZXRidWYt
PmxlbiAtIHNpemVvZigqcnhoZHIpKTsKKworCXJjID0gdmlydHF1ZXVlX2J1ZmZlcl9lbnF1ZXVl
KHJ4cS0+dnEsIG5ldGJ1Ziwgc2csIDAsIHNnLT5zZ19uc2VnKTsKKwlyZXR1cm4gcmM7Cit9CisK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfZGVxdWV1ZShzdHJ1Y3QgdWtfbmV0ZGV2X3J4
X3F1ZXVlICpyeHEsCisJCQkJICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmKQoreworCWlu
dCByYyA9IDA7CisJc3RydWN0IHVrX25ldGJ1ZiAqYnVmID0gTlVMTDsKKwlfX3UzMiBsZW47CisJ
X191MzIgb2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkcik7CisKKwlVS19B
U1NFUlQobmV0YnVmKTsKKworCWJ1ZiA9IChzdHJ1Y3QgdWtfbmV0YnVmICopdmlydHF1ZXVlX2J1
ZmZlcl9kZXF1ZXVlKHJ4cS0+dnEsICZsZW4pOworCWlmICghYnVmKSB7CisJCXVrX3ByX2RlYnVn
KCJObyBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgcXVldWVcbiIpOworCQkqbmV0YnVmID0gTlVMTDsK
KwkJcmV0dXJuIDA7CisJfQorCWlmICh1bmxpa2VseSgobGVuIDwgVklSVElPX0hEUl9MRU4gKyBF
VEhfSERSX0xFTikKKwkJICAgICB8fCAobGVuID4gVklSVElPX1BLVF9CVUZGRVJfTEVOKSkpIHsK
KwkJdWtfcHJfZXJyKCJSZWNlaXZlZCBpbnZhbGlkIHBhY2tldCBzaXplOiV1XG4iLAorCQkJICBs
ZW4pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKioKKwkgKiBSZW1vdmluZyB0aGUgdmly
dGlvIGhlYWRlciBmcm9tIHRoZSBidWZmZXIgYW5kIGFkanVzdGluZyBsZW5ndGguCisJICogV2Ug
cGFkICJWVE5FVF9SWF9IRUFERVJfUEFEIiB0byB0aGUgcnggYnVmZmVyIHdoaWxlIGVucXVldWlu
ZyBmb3IKKwkgKiBhbGlnbm1lbnQgb2YgdGhlIHBhY2tldCBkYXRhLiBXZSBjb21wZW5zYXRlIGZv
ciB0aGlzLCBieSBhZGRpbmcgdGhlCisJICogIHBhZGRpbmcgdG8gdGhlIGxlbmd0aCBvbiBkZXF1
ZXVlLgorCSAqLworCWJ1Zi0+bGVuID0gbGVuICsgVlRORVRfUlhfSEVBREVSX1BBRDsKKwlyYyA9
IHVrX25ldGJ1Zl9oZWFkZXIoYnVmLCAtb2Zmc2V0KTsKKwlVS19BU1NFUlQocmMgPT0gMSk7CisJ
Km5ldGJ1ZiA9IGJ1ZjsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRk
ZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2
X3J4X3F1ZXVlICpxdWV1ZSwKLQkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QgX191bnVz
ZWQsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0LAogCQkJICAgICAgc3RydWN0IHVr
X25ldGJ1ZiAqZmlsbHVwW10sCiAJCQkgICAgICB1aW50MTZfdCAqZmlsbHVwX2NvdW50KQogewog
CWludCByYyA9IDA7CisJaW50IGNudCA9IDA7CiAKIAlVS19BU1NFUlQoZGV2ICYmIHF1ZXVlKTsK
IAlVS19BU1NFUlQoIWZpbGx1cCB8fCAoZmlsbHVwICYmICpmaWxsdXBfY291bnQgPiAwKSk7CiAK
LQlyZXR1cm4gcmM7CisJaWYgKHBrdCAmJiAocXVldWUtPmludHJfZW5hYmxlZCAmIFZUTkVUX0lO
VFJfVVNSX0VOX01BU0spKSB7CisJCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUocXVldWUtPnZxKTsK
KwkJcXVldWUtPmludHJfZW5hYmxlZCAmPSB+KFZUTkVUX0lOVFJfRU4pOworCX0KKworCWlmIChw
a3QpIHsKKwkJcmMgPSB2aXJ0aW9fbmV0ZGV2X3J4cV9kZXF1ZXVlKHF1ZXVlLCBwa3QpOworCQlp
ZiAodW5saWtlbHkocmMgPCAwKSkgeworCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZGVxdWV1ZSB0
aGUgcGFja2V0OiAlZFxuIiwgcmMpOworCQkJZ290byBlcnJfZXhpdDsKKwkJfQorCQljbnQgPSBy
YzsKKwl9CisJaWYgKGZpbGx1cCkKKwkJdmlydGlvX25ldGRldl9yeF9maWxsdXAocXVldWUsIGZp
bGx1cCwgZmlsbHVwX2NvdW50KTsKKworCS8qIEVuYWJsZSBpbnRlcnJ1cHQgb25seSB3aGVuIHVz
ZXIgaGFkIHByZXZpb3VzbHkgZW5hYmxlZCBpdCAqLworCWlmIChwa3QgJiYgKHF1ZXVlLT5pbnRy
X2VuYWJsZWQgJiBWVE5FVF9JTlRSX1VTUl9FTl9NQVNLKSkgeworCQkvKiBOZWVkIHRvIGVuYWJs
ZSB0aGUgaW50ZXJydXB0IG9uIHRoZSBsYXN0IHBhY2tldCAqLworCQlyYyA9IHZpcnRxdWV1ZV9p
bnRyX2VuYWJsZShxdWV1ZS0+dnEpOworCQlpZiAocmMgPT0gMSAmJiBjbnQgPT0gMCkgeworCQkJ
LyoqCisJCQkgKiBQYWNrZXQgYXJyaXZlIGFmdGVyIHJlYWRpbmcgdGhlIHF1ZXVlIGFuZCBiZWZv
cmUKKwkJCSAqIGVuYWJsaW5nIHRoZSBpbnRlcnJ1cHQKKwkJCSAqLworCQkJcmMgPSB2aXJ0aW9f
bmV0ZGV2X3J4cV9kZXF1ZXVlKHF1ZXVlLCBwa3QpOworCQkJaWYgKHVubGlrZWx5KHJjIDwgMCkp
IHsKKwkJCQl1a19wcl9lcnIoIkZhaWxlZCB0byBkZXF1ZXVlIHRoZSBwYWNrZXQ6ICVkXG4iLAor
CQkJCQkgIHJjKTsKKwkJCQlnb3RvIGVycl9leGl0OworCQkJfQorCQkJLyogTmVlZCB0byBlbmFi
bGUgdGhlIGludGVycnVwdCBvbiB0aGUgbGFzdCBwYWNrZXQgKi8KKwkJCXJjID0gdmlydHF1ZXVl
X2ludHJfZW5hYmxlKHF1ZXVlLT52cSk7CisJCQljbnQgPSAocmMgPT0gMSkgPyAyIDogMTsKKwkJ
fSBlbHNlIGlmIChjbnQgPiAwKSB7CisJCQkvKiBXaGVuIHRoZXJlIGlzIHBhY2tldCBpbiB0aGUg
YnVmZmVyICovCisJCQljbnQgPSAocmMgPT0gMSkgPyAyIDogMTsKKwkJfQorCX0gZWxzZSBpZiAo
cGt0ICYmIGNudCA+IDApIHsKKwkJLyoqCisJCSAqIEZvciBwb2xsaW5nIGNhc2UsIHdlIHJlcG9y
dCBhbHdheXMgdGhlcmUgYXJlIGZ1cnRoZXIKKwkJICogcGFja2V0cyB1bmxlc3MgdGhlIHF1ZXVl
IGlzIGVtcHR5LgorCQkgKi8KKwkJY250ID0gMjsKKwl9CisKK2V4aXQ6CisJcmV0dXJuIGNudDsK
KworZXJyX2V4aXQ6CisJY250ID0gcmM7CisJZ290byBleGl0OwogfQogCiBzdGF0aWMgc3RydWN0
IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKLS0gCjIu
Ny40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Fri Oct 19 14:58:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 19 Oct 2018 14:58:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDWDu-0006D0-Hc; Fri, 19 Oct 2018 14:57:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=p4i4=m7=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gDWDt-0006Cv-Gj
 for minios-devel@lists.xen.org; Fri, 19 Oct 2018 14:57:57 +0000
X-Inumbo-ID: 8eda94de-d3af-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8eda94de-d3af-11e8-a6a9-d7ebe60f679a;
 Fri, 19 Oct 2018 14:59:21 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 0660FF2057;
 Fri, 19 Oct 2018 16:57:54 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id aRMatkHnPjIE; Fri, 19 Oct 2018 16:57:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CFBDCF2010
 for <minios-devel@lists.xen.org>; Fri, 19 Oct 2018 16:57:51 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 19 Oct
 2018 16:57:51 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-2-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181019165751300
Message-ID: <77eece00-5a1e-ebe1-6cbd-6d0b49d707bf@neclab.eu>
Date: Fri, 19 Oct 2018 16:57:51 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-2-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/7] plat/driver: Remove the
 virtio-ring implementation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6MDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gQXMgYSBwYXJ0IG9mIHJl
dmFtcGluZyB0aGUgdmlydGlvIGxheWVyLCB3ZSBhcmUgcmVtb3ZpbmcgdGhlIGV4aXN0aW5nCj4g
aW1wbGVtZW50YXRpb24gb2YgdmlydGlvIHJpbmcgZHJpdmVyLiBUaGUgdmlydGlvIHJpbmcgZHJp
dmVyIGFkYXB0ZWQgdG8KPiB0aGUgbmV3IHZpcnRpbyBBUEkgd2lsbCByZWludHJvZHVjZWQgbGF0
ZXIgaW4gdGhpcyBwYXRjaCBzZXJpZXMKPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhh
bmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiAtLS0KPiAgIHBsYXQvY29tbW9uL2lu
Y2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oIHwgMjc2IC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgICAgICAg
fCAxNzIgLS0tLS0tLS0tLS0tLS0tLS0KPiAgIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICA4IC0KPiAgIHBsYXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAg
ICAgICAgICAgICAgICAgIHwgICA3IC0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgNDYzIGRlbGV0aW9u
cygtKQo+ICAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRp
by92aXJ0aW9fcmluZy5oCj4gICBkZWxldGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fcmluZy5jCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvcGNp
L3ZpcnRpby92aXJ0aW9fcmluZy5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3Zp
cnRpb19yaW5nLmgKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA4MmEwMDZmLi4w
MDAwMDAwCj4gLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5n
LmgKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMjc2ICswLDAgQEAKPiAtLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+IC0vKgo+IC0gKiBBdXRob3JzOiBDb3N0aW4g
THVwdSA8Y29zdGluLmx1cHVAY3MucHViLnJvPgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIw
MTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
Lgo+IC0gKgo+IC0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiAtICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gLSAqIGFyZSBtZXQ6Cj4g
LSAqCj4gLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Cj4gLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiAtICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiAtICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQo+IC0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+IC0gKiAzLiBOZWl0aGVyIHRoZSBu
YW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gLSAqICAg
IGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tCj4gLSAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCj4gLSAqCj4gLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+IC0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCj4gLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gLSAqIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUKPiAtICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+IC0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+IC0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKPiAtICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiAtICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiAtICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUKPiAtICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gLSAq
Cj4gLSAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFO
WSBXQVkuCj4gLSAqLwo+IC0vKiBBbiBpbnRlcmZhY2UgZm9yIGVmZmljaWVudCB2aXJ0aW8gaW1w
bGVtZW50YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgaGVhZGVyIGlzIEJTRCBsaWNlbnNlZCBzbyBh
bnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMKPiAtICogdG8gaW1wbGVtZW50IGNvbXBhdGli
bGUgZHJpdmVycy9zZXJ2ZXJzLgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgMjAwNywgMjAwOSwgSUJN
IENvcnBvcmF0aW9uCj4gLSAqIENvcHlyaWdodCAyMDExLCBSZWQgSGF0LCBJbmMKPiAtICogQWxs
IHJpZ2h0cyByZXNlcnZlZC4KPiAtICoKPiAtICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+
IC0gKiBhcmUgbWV0Ogo+IC0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+IC0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Cj4gLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiAtICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiAtICogMy4gTmVp
dGhlciB0aGUgbmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCj4g
LSAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZQo+IC0gKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KPiAtICoKPiAtICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKPiAtICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiAtICogQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRPUlMgQkUKPiAtICogTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
Ugo+IC0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgo+IC0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiAtICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KPiAtICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiAtICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiAtICog
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gLSAqLwo+IC0jaWZuZGVmIF9fUExBVF9DTU5f
UENJX1ZJUlRJT19SSU5HX0hfXwo+IC0jZGVmaW5lIF9fUExBVF9DTU5fUENJX1ZJUlRJT19SSU5H
X0hfXwo+IC0KPiAtI2luY2x1ZGUgPHVrL2FyY2gvbGltaXRzLmg+Cj4gLSNpbmNsdWRlIDx1ay9h
bGxvYy5oPgo+IC0KPiAtLyoKPiAtICogVE9ETyBJbiB0aGUgZnV0dXJlIHdlIG1heSBmaW5kIHRo
YXQgdGhlIExpbnV4IHZhcmlhbnQgb2YgdmlydGlvX3JpbmcuaAo+IC0gKiAoaW4gaW5jbHVkZS91
YXBpL2xpbnV4L3ZpcnRpb19yaW5nLmgpIG1heSBiZSBtb3JlIHN1aXRhYmxlIGZvciBvdXIgbmVl
ZHMuCj4gLSAqLwo+IC0KPiAtdHlwZWRlZiBfX3UxNiBfX3ZpcnRpb19sZTE2Owo+IC10eXBlZGVm
IF9fdTMyIF9fdmlydGlvX2xlMzI7Cj4gLXR5cGVkZWYgX191NjQgX192aXJ0aW9fbGU2NDsKPiAt
Cj4gLSNpZiBfX0JZVEVfT1JERVJfXyAhPSAgX19PUkRFUl9MSVRUTEVfRU5ESUFOX18KPiAtI2Vy
cm9yICJQbGVhc2UgZGVmaW5lIGNvbnZlcnNpb24gZnVuY3Rpb25zIGZyb20gaG9zdCB0byBsaXR0
bGUgZW5kaWFuISIKPiAtI2VuZGlmCj4gLQo+IC0vKiBUaGlzIG1hcmtzIGEgYnVmZmVyIGFzIGNv
bnRpbnVpbmcgdmlhIHRoZSBuZXh0IGZpZWxkLiAqLwo+IC0jZGVmaW5lIFZJUlRRX0RFU0NfRl9O
RVhUICAgICAgIDEKPiAtLyogVGhpcyBtYXJrcyBhIGJ1ZmZlciBhcyB3cml0ZS1vbmx5IChvdGhl
cndpc2UgcmVhZC1vbmx5KS4gKi8KPiAtI2RlZmluZSBWSVJUUV9ERVNDX0ZfV1JJVEUgICAgICAy
Cj4gLS8qIFRoaXMgbWVhbnMgdGhlIGJ1ZmZlciBjb250YWlucyBhIGxpc3Qgb2YgYnVmZmVyIGRl
c2NyaXB0b3JzLiAqLwo+IC0jZGVmaW5lIFZJUlRRX0RFU0NfRl9JTkRJUkVDVCAgIDQKPiAtCj4g
LS8qCj4gLSAqIFRoZSBkZXZpY2UgdXNlcyB0aGlzIGluIHVzZWQtPmZsYWdzIHRvIGFkdmlzZSB0
aGUgZHJpdmVyOgo+IC0gKiBkb24ndCBraWNrIG1lIHdoZW4geW91IGFkZCBhIGJ1ZmZlci4gSXQn
cyB1bnJlbGlhYmxlLCBzbwo+IC0gKiBpdCdzIHNpbXBseSBhbiBvcHRpbWl6YXRpb24uCj4gLSAq
Lwo+IC0jZGVmaW5lIFZJUlRRX1VTRURfRl9OT19OT1RJRlkgIDEKPiAtCj4gLS8qCj4gLSAqIFRo
ZSBkcml2ZXIgdXNlcyB0aGlzIGluIGF2YWlsLT5mbGFncyB0byBhZHZpc2UgdGhlIGRldmljZToK
PiAtICogZG9uJ3QgaW50ZXJydXB0IG1lIHdoZW4geW91IGNvbnN1bWUgYSBidWZmZXIuIEl0J3Mg
dW5yZWxpYWJsZSwgc28KPiAtICogaXQncyBzaW1wbHkgYW4gb3B0aW1pemF0aW9uLgo+IC0gKi8K
PiAtI2RlZmluZSBWSVJUUV9BVkFJTF9GX05PX0lOVEVSUlVQVCAgICAgIDEKPiAtCj4gLS8qIFN1
cHBvcnQgZm9yIGluZGlyZWN0IGRlc2NyaXB0b3JzICovCj4gLSNkZWZpbmUgVklSVElPX0ZfSU5E
SVJFQ1RfREVTQyAgICAyOAo+IC0KPiAtLyogU3VwcG9ydCBmb3IgYXZhaWxfZXZlbnQgYW5kIHVz
ZWRfZXZlbnQgZmllbGRzICovCj4gLSNkZWZpbmUgVklSVElPX0ZfRVZFTlRfSURYICAgICAgICAy
OQo+IC0KPiAtLyogQXJiaXRyYXJ5IGRlc2NyaXB0b3IgbGF5b3V0cy4gKi8KPiAtI2RlZmluZSBW
SVJUSU9fRl9BTllfTEFZT1VUICAgICAgIDI3Cj4gLQo+IC0KPiAtLyoKPiAtICogVmlydHF1ZXVl
IGRlc2NyaXB0b3JzOiAxNiBieXRlcy4KPiAtICogVGhlc2UgY2FuIGNoYWluIHRvZ2V0aGVyIHZp
YSAibmV4dCIuCj4gLSAqLwo+IC1zdHJ1Y3QgdmlydHFfZGVzYyB7Cj4gLQkvKiBBZGRyZXNzIChn
dWVzdC1waHlzaWNhbCkuICovCj4gLQlfX3ZpcnRpb19sZTY0IGFkZHI7Cj4gLQkvKiBMZW5ndGgu
ICovCj4gLQlfX3ZpcnRpb19sZTMyIGxlbjsKPiAtCS8qIFRoZSBmbGFncyBhcyBpbmRpY2F0ZWQg
YWJvdmUuICovCj4gLQlfX3ZpcnRpb19sZTE2IGZsYWdzOwo+IC0JLyogV2UgY2hhaW4gdW51c2Vk
IGRlc2NyaXB0b3JzIHZpYSB0aGlzLCB0b28gKi8KPiAtCV9fdmlydGlvX2xlMTYgbmV4dDsKPiAt
fTsKPiAtCj4gLXN0cnVjdCB2aXJ0cV9hdmFpbCB7Cj4gLQlfX3ZpcnRpb19sZTE2IGZsYWdzOwo+
IC0JX192aXJ0aW9fbGUxNiBpZHg7Cj4gLQlfX3ZpcnRpb19sZTE2IHJpbmdbXTsKPiAtCS8qIE9u
bHkgaWYgVklSVElPX0ZfRVZFTlRfSURYOiBfX3ZpcnRpb19sZTE2IHVzZWRfZXZlbnQ7ICovCj4g
LX07Cj4gLQo+IC0vKiBfX3ZpcnRpb19sZTMyIGlzIHVzZWQgaGVyZSBmb3IgaWRzIGZvciBwYWRk
aW5nIHJlYXNvbnMuICovCj4gLXN0cnVjdCB2aXJ0cV91c2VkX2VsZW0gewo+IC0JLyogSW5kZXgg
b2Ygc3RhcnQgb2YgdXNlZCBkZXNjcmlwdG9yIGNoYWluLiAqLwo+IC0JX192aXJ0aW9fbGUzMiBp
ZDsKPiAtCS8qIFRvdGFsIGxlbmd0aCBvZiB0aGUgZGVzY3JpcHRvciBjaGFpbiB3aGljaCB3YXMg
d3JpdHRlbiB0by4gKi8KPiAtCV9fdmlydGlvX2xlMzIgbGVuOwo+IC19Owo+IC0KPiAtc3RydWN0
IHZpcnRxX3VzZWQgewo+IC0JX192aXJ0aW9fbGUxNiBmbGFnczsKPiAtCV9fdmlydGlvX2xlMTYg
aWR4Owo+IC0Jc3RydWN0IHZpcnRxX3VzZWRfZWxlbSByaW5nW107Cj4gLQkvKiBPbmx5IGlmIFZJ
UlRJT19GX0VWRU5UX0lEWDogX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudDsgKi8KPiAtfTsKPiAt
Cj4gLS8qCj4gLSAqIFRPRE8gV2Ugc2V0IHRoZSBtYXhpbXVtIGJ1ZmZlciBsZW5ndGggYXMgaXQg
d2FzIGluIFNvbG81LiBUaGUgdmFsdWUKPiAtICogd2FzIGNob3NlbiBmb3Iga2VlcGluZyB0aGUg
MTIgYnl0ZSBoZWFkZXIgYW5kIDE1MTQgYnl0ZXMgZm9yIHRoZQo+IC0gKiBuZXR3b3JrIHBhY2tl
dC4gU3VwcG9ydCBzaG91bGQgYmUgYWRkZWQgaW4gb3JkZXIgdG8gYWxsb3cgZHJpdmVycwo+IC0g
KiB0byBjb25maWd1cmUgdGhlaXIgb3duIGJ1ZmZlciBzaXplcyAoYWRvcHRpbmcgdGhlIExpbnV4
IHZhcmlhbnQgb2YKPiAtICogdmlydGlvX3JpbmcuaCB3b3VsZCBoZWxwIG9uIHRoYXQgbWF0dGVy
KS4KPiAtICovCj4gLSNkZWZpbmUgTUFYX0JVRkZFUl9MRU4gMTUyNgo+IC0KPiAtLyoKPiAtICog
RWFjaCBvbmUgb2YgdGhlc2UgaW9fYnVmZmVyJ3MgbWFwIHRvIGEgZGVzY3JpcHRvci4KPiAtICog
QW4gYXJyYXkgb2YgaW9fYnVmZmVyJ3Mgb2Ygc2l6ZSB2aXJ0cS0+bnVtIChzYW1lCj4gLSAqIGFz
IHZpcnRxLT5kZXNjKSBpcyBhbGxvY2F0ZWQgZHVyaW5nIGluaXQuCj4gLSAqLwo+IC1zdHJ1Y3Qg
aW9fYnVmZmVyIHsKPiAtCV9fdTggZGF0YVtNQVhfQlVGRkVSX0xFTl07Cj4gLQo+IC0JLyoKPiAt
CSAqIERhdGEgbGVuZ3RoIGluIGJ5dGVzLiBJdCBpcyB3cml0dGVuIGJ5IHRoZSBkcml2ZXIgb24K
PiAtCSAqIGEgdHgvd3JpdGUsIG9yIGJ5IHRoZSBkZXZpY2Ugb24gYSByeC9yZWFkIG9uIGludGVy
cnVwdAo+IC0JICogaGFuZGxpbmcuCj4gLQkgKi8KPiAtCV9fdTMyIGxlbjsKPiAtCj4gLQkvKiBF
eHRyYSBmbGFncyB0byBiZSBhZGRlZCB0byB0aGUgY29ycmVzcG9uZGluZyBkZXNjcmlwdG9yLiAq
Lwo+IC0JX191MTYgZXh0cmFfZmxhZ3M7Cj4gLX07Cj4gLQo+IC1zdHJ1Y3QgdmlydHEgewo+IC0J
dW5zaWduZWQgaW50IG51bTsKPiAtCj4gLQlzdHJ1Y3QgdmlydHFfZGVzYyAqZGVzYzsKPiAtCXN0
cnVjdCB2aXJ0cV9hdmFpbCAqYXZhaWw7Cj4gLQlzdHJ1Y3QgdmlydHFfdXNlZCAqdXNlZDsKPiAt
CXN0cnVjdCBpb19idWZmZXIgKmJ1ZnM7Cj4gLQo+IC0JLyogS2VlcCB0cmFjayBvZiBhdmFpbGFi
bGUgKGZyZWUpIGRlc2NyaXB0b3JzICovCj4gLQlfX3UxNiBudW1fYXZhaWw7Cj4gLQo+IC0JLyog
SW5kZXhlcyBpbiB0aGUgZGVzY3JpcHRvcnMgYXJyYXkgKi8KPiAtCV9fdTE2IGxhc3RfdXNlZDsK
PiAtCV9fdTE2IG5leHRfYXZhaWw7Cj4gLX07Cj4gLQo+IC0vKgo+IC0gKiBIZWxwZXIgbWFjcm9z
IGZvciBhY2Nlc3NpbmcgdmlydHF1ZXVlIGZpZWxkcwo+IC0gKi8KPiAtCj4gLSNkZWZpbmUgVklS
VFFfT0ZGX0RFU0MocSkgICAgICAgICAwCj4gLQo+IC0jZGVmaW5lIFZJUlRRX09GRl9BVkFJTChx
KSAgICAgICAgKChxKS0+bnVtICogc2l6ZW9mKHN0cnVjdCB2aXJ0cV9kZXNjKSkKPiAtI2RlZmlu
ZSBWSVJUUV9PRkZfQVZBSUxfUklORyhxKSBcCj4gLQkoVklSVFFfT0ZGX0FWQUlMKHEpICsgc2l6
ZW9mKHN0cnVjdCB2aXJ0cV9hdmFpbCkpCj4gLQo+IC0jZGVmaW5lIFZJUlRRX09GRl9QQURESU5H
KHEpIFwKPiAtCShWSVJUUV9PRkZfQVZBSUxfUklORyhxKSArIChzaXplb2YoX192aXJ0aW9fbGUx
NikgKiAocSktPm51bSkpCj4gLQo+IC0jZGVmaW5lIFZJUlRRX09GRl9VU0VEKHEpIFwKPiAtCSgo
VklSVFFfT0ZGX1BBRERJTkcocSkgKyBfX1BBR0VfU0laRSAtIDEpICYgX19QQUdFX01BU0spCj4g
LSNkZWZpbmUgVklSVFFfT0ZGX1VTRURfUklORyhxKSBcCj4gLQkoVklSVFFfT0ZGX1VTRUQocSkg
KyBzaXplb2Yoc3RydWN0IHZpcnRxX3VzZWQpKQo+IC0KPiAtI2RlZmluZSBWSVJUUV9TSVpFKHEp
IFwKPiAtCShWSVJUUV9PRkZfVVNFRF9SSU5HKHEpICsgKHNpemVvZihzdHJ1Y3QgdmlydHFfdXNl
ZF9lbGVtKSAqIChxKS0+bnVtKSkKPiAtCj4gLXN0YXRpYyBpbmxpbmUKPiAtaW50IHZpcnRxX25l
ZWRfZXZlbnQoX191MTYgZXZlbnRfaWR4LCBfX3UxNiBuZXdfaWR4LCBfX3UxNiBvbGRfaWR4KQo+
IC17Cj4gLQlyZXR1cm4gKG5ld19pZHggLSBldmVudF9pZHggLSAxKSA8IChuZXdfaWR4IC0gb2xk
X2lkeCk7Cj4gLX0KPiAtCj4gLS8qIEdldCBsb2NhdGlvbiBvZiBldmVudCBpbmRpY2VzIChvbmx5
IHdpdGggVklSVElPX0ZfRVZFTlRfSURYKSAqLwo+IC1zdGF0aWMgaW5saW5lIF9fdmlydGlvX2xl
MTYgKnZpcnRxX3VzZWRfZXZlbnQoc3RydWN0IHZpcnRxICp2cSkKPiAtewo+IC0JLyoKPiAtCSAq
IEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdXNlZCBldmVudCBpbmRleAo+IC0JICogaXMg
YXQgKmVuZCogb2YgYXZhaWwgcmluZy4KPiAtCSAqLwo+IC0JcmV0dXJuICZ2cS0+YXZhaWwtPnJp
bmdbdnEtPm51bV07Cj4gLX0KPiAtCj4gLXN0YXRpYyBpbmxpbmUgX192aXJ0aW9fbGUxNiAqdmly
dHFfYXZhaWxfZXZlbnQoc3RydWN0IHZpcnRxICp2cSkKPiAtewo+IC0JLyoKPiAtCSAqIEZvciBi
YWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYXZhaWwgZXZlbnQgaW5kZXgKPiAtCSAqIGlzIGF0ICpl
bmQqIG9mIHVzZWQgcmluZy4KPiAtCSAqLwo+IC0JcmV0dXJuIChfX3ZpcnRpb19sZTE2ICopICZ2
cS0+dXNlZC0+cmluZ1t2cS0+bnVtXTsKPiAtfQo+IC0KPiAtLyoKPiAtICogQ3JlYXRlIGEgZGVz
Y3JpcHRvciBjaGFpbiBzdGFydGluZyBhdCBpbmRleCBoZWFkLAo+IC0gKiB1c2luZyB2cS0+YnVm
cyBhbHNvIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQuCj4gLSAqIEBwYXJhbSB2cSBWaXJ0dWFsIHF1
ZXVlCj4gLSAqIEBwYXJhbSBoZWFkIFN0YXJ0aW5nIGRlc2NyaXB0b3IgaW5kZXgKPiAtICogQHBh
cmFtIG51bSBOdW1iZXIgb2YgZGVzY3JpcHRvcnMgKGFuZCBudW1iZXIgb2YgYnVmcykuCj4gLSAq
IEByZXR1cm4gMCBvbiBzdWNjZXNzLCA8IDAgb3RoZXJ3aXNlCj4gLSAqLwo+IC1pbnQgdmlydHFf
YWRkX2Rlc2NyaXB0b3JfY2hhaW4oc3RydWN0IHZpcnRxICp2cSwKPiAtCQlfX3UxNiBoZWFkLCBf
X3UxNiBudW0pOwo+IC0KPiAtLyoKPiAtICogSW5pdGlhbGl6ZXMgYSB2aXJ0dWFsIHF1ZXVlCj4g
LSAqIEBwYXJhbSB2cSBWaXJ0dWFsIHF1ZXVlCj4gLSAqIEBwYXJhbSBwY2lfYmFzZSBCYXNlIGlu
IFBDSSBjb25maWd1cmF0aW9uIHNwYWNlCj4gLSAqIEBwYXJhbSBxdWV1ZV9zZWxlY3QgVmlydHVh
bCBxdWV1ZSBzZWxlY3Rvcgo+IC0gKiBAcGFyYW0gYSBNZW1vcnkgYWxsb2NhdG9yCj4gLSAqIEBy
ZXR1cm4gMCBvbiBzdWNjZXNzLCA8IDAgb3RoZXJ3aXNlCj4gLSAqLwo+IC1pbnQgdmlydHFfcmlu
Z3NfaW5pdChzdHJ1Y3QgdmlydHEgKnZxLCBfX3UxNiBwY2lfYmFzZSwKPiAtCQkJX192aXJ0aW9f
bGUxNiBxdWV1ZV9zZWxlY3QsIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gLQo+IC0vKgo+IC0gKiBE
ZWluaXRpYWxpemVzIGEgdmlydHVhbCBxdWV1ZQo+IC0gKiBAcGFyYW0gdnEgVmlydHVhbCBxdWV1
ZQo+IC0gKiBAcGFyYW0gcGNpX2Jhc2UgQmFzZSBpbiBQQ0kgY29uZmlndXJhdGlvbiBzcGFjZQo+
IC0gKiBAcGFyYW0gcXVldWVfc2VsZWN0IFZpcnR1YWwgcXVldWUgc2VsZWN0b3IKPiAtICogQHBh
cmFtIGEgTWVtb3J5IGFsbG9jYXRvcgo+IC0gKi8KPiAtdm9pZCB2aXJ0cV9yaW5nc19maW5pKHN0
cnVjdCB2aXJ0cSAqdnEsIF9fdTE2IHBjaV9iYXNlLAo+IC0JCQlfX3ZpcnRpb19sZTE2IHF1ZXVl
X3NlbGVjdCwgc3RydWN0IHVrX2FsbG9jICphKTsKPiAtCj4gLSNlbmRpZiAvKiBfX1BMQVRfQ01O
X1BDSV9WSVJUSU9fUklOR19IX18gKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fcmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggOWEyOTk2Yy4uMDAwMDAwMAo+IC0tLSBhL3Bs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwx
NzIgKzAsMCBAQAo+IC0vKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogSVNDICovCj4gLS8qCj4g
LSAqIEF1dGhvcnM6IERhbiBXaWxsaWFtcwo+IC0gKiAgICAgICAgICBNYXJ0aW4gTHVjaW5hCj4g
LSAqICAgICAgICAgIFJpY2FyZG8gS29sbGVyCj4gLSAqICAgICAgICAgIENvc3RpbiBMdXB1IDxj
b3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxNS0yMDE3
IElCTQo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxNyBEb2NrZXIsIEluYy4KPiAtICogQ29w
eXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbgo+IC0gKgo+
IC0gKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0
aGlzIHNvZnR3YXJlCj4gLSAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlz
IGhlcmVieSBncmFudGVkLCBwcm92aWRlZAo+IC0gKiB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVhcgo+IC0gKiBpbiBhbGwgY29w
aWVzLgo+IC0gKgo+IC0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhF
IEFVVEhPUiBESVNDTEFJTVMgQUxMCj4gLSAqIFdBUlJBTlRJRVMgV0lUSCBSRUdBUkQgVE8gVEhJ
UyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQKPiAtICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQo+IC0gKiBBVVRI
T1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IKPiAtICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5H
IEZST00gTE9TUwo+IC0gKiBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBB
Q1RJT04gT0YgQ09OVFJBQ1QsCj4gLSAqIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNU
SU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTgo+IC0gKiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBP
UiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgo+IC0gKi8KPiAtLyogVGFrZW4gYW5kIGFk
YXB0ZWQgZnJvbSBzb2xvNSB2aXJ0aW9fcmluZy5jICovCj4gLQo+IC0jaW5jbHVkZSA8c3RyaW5n
Lmg+Cj4gLSNpbmNsdWRlIDx1ay9wcmludC5oPgo+IC0jaW5jbHVkZSA8Y3B1Lmg+Cj4gLSNpbmNs
dWRlIDx1ay9wbGF0L2lvLmg+Cj4gLSNpbmNsdWRlIDxwY2kvdmlydGlvL3ZpcnRpb19wY2kuaD4K
PiAtI2luY2x1ZGUgPHBjaS92aXJ0aW8vdmlydGlvX3JpbmcuaD4KPiAtI2luY2x1ZGUgPHVrL2Fy
Y2gvYXRvbWljLmg+Cj4gLQo+IC0jZGVmaW5lIFZJUlRRX01BWF9RVUVVRV9TSVpFICAzMjc2OAo+
IC0KPiAtCj4gLS8qCj4gLSAqIENyZWF0ZSBhIGRlc2NyaXB0b3IgY2hhaW4gc3RhcnRpbmcgYXQg
aW5kZXggaGVhZCwgdXNpbmcgdnEtPmJ1ZnMKPiAtICogYWxzbyBzdGFydGluZyBhdCBpbmRleCBo
ZWFkLgo+IC0gKiBNYWtlIHN1cmUgdGhlIHZxLWJ1ZnMgYXJlIGNsZWFuZWQgYmVmb3JlIHVzaW5n
IHRoZW0gYWdhaW4uCj4gLSAqLwo+IC1pbnQgdmlydHFfYWRkX2Rlc2NyaXB0b3JfY2hhaW4oc3Ry
dWN0IHZpcnRxICp2cSwgX191MTYgaGVhZCwgX191MTYgbnVtKQo+IC17Cj4gLQlzdHJ1Y3Qgdmly
dHFfZGVzYyAqZGVzYzsKPiAtCV9fdTE2IHVzZWRfZGVzY3MsIG1hc2ssIGk7Cj4gLQo+IC0JVUtf
QVNTRVJUKHZxICE9IE5VTEwpOwo+IC0KPiAtCWlmIChoZWFkID49IHZxLT5udW0pCj4gLQkJcmV0
dXJuIC1FSU5WQUw7Cj4gLQo+IC0JaWYgKG51bSA9PSAwIHx8IG51bSA+IHZxLT5udW0pCj4gLQkJ
cmV0dXJuIC1FSU5WQUw7Cj4gLQo+IC0JaWYgKHZxLT5udW1fYXZhaWwgPCBudW0pIHsKPiAtCQl1
a19wcl93YXJuKCJ2aXJ0cSBmdWxsISBuZXh0X2F2YWlsOiUiX19QUkl1MTYiIGxhc3RfdXNlZDol
Il9fUFJJdTE2IlxuIiwKPiAtCQkJICAgdnEtPm5leHRfYXZhaWwsIHZxLT5sYXN0X3VzZWQpOwo+
IC0JCXJldHVybiAtRU5PTUVNOwo+IC0JfQo+IC0KPiAtCXVzZWRfZGVzY3MgPSBudW07Cj4gLQlt
YXNrID0gdnEtPm51bSAtIDE7Cj4gLQo+IC0JZm9yIChpID0gaGVhZDsgdXNlZF9kZXNjcyA+IDA7
IHVzZWRfZGVzY3MtLSkgewo+IC0JCXN0cnVjdCBpb19idWZmZXIgKmJ1ZiA9ICZ2cS0+YnVmc1tp
XTsKPiAtCQlfX3UzMiBsZW4gPSAwOwo+IC0KPiAtCQkvKgo+IC0JCSAqIFRoZSBmaXJzdCBmaWVs
ZCBvZiBhICJzdHJ1Y3QgaW9fYnVmZmVyIiBpcyB0aGUgImRhdGEiIGZpZWxkLAo+IC0JCSAqIHNv
IGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlciB3ZSBjYW4ganVzdCBjYXN0IHRoaXMgcG9pbnRlcgo+
IC0JCSAqIGJhY2sgaW50byBhICdzdHJ1Y3QgaW9fYnVmZmVyJy4KPiAtCQkgKi8KPiAtCQlVS19B
U1NFUlQoYnVmLT5kYXRhID09IChfX3U4ICopIGJ1Zik7Cj4gLQo+IC0JCWxlbiA9IHVrYXJjaF9s
b2FkX24oJmJ1Zi0+bGVuKTsKPiAtCQlVS19BU1NFUlQobGVuIDw9IE1BWF9CVUZGRVJfTEVOKTsK
PiAtCj4gLQkJZGVzYyA9ICZ2cS0+ZGVzY1tpXTsKPiAtCQlkZXNjLT5hZGRyID0gKF9fdTY0KSBi
dWYtPmRhdGE7Cj4gLQkJZGVzYy0+bGVuID0gbGVuOwo+IC0JCWRlc2MtPmZsYWdzID0gVklSVFFf
REVTQ19GX05FWFQgfCBidWYtPmV4dHJhX2ZsYWdzOwo+IC0KPiAtCQlpID0gKGkgKyAxKSAmIG1h
c2s7Cj4gLQkJZGVzYy0+bmV4dCA9IGk7Cj4gLQl9Cj4gLQo+IC0JLyogVGhlIGxhc3QgZGVzY3Jp
cHRvciBpbiB0aGUgY2hhaW4gZG9lcyBub3QgaGF2ZSBhIG5leHQgKi8KPiAtCWRlc2MtPm5leHQg
PSAwOwo+IC0JZGVzYy0+ZmxhZ3MgJj0gflZJUlRRX0RFU0NfRl9ORVhUOwo+IC0KPiAtCXZxLT5u
dW1fYXZhaWwgLT0gbnVtOwo+IC0JdnEtPmF2YWlsLT5yaW5nW3ZxLT5hdmFpbC0+aWR4ICYgbWFz
a10gPSBoZWFkOwo+IC0JLyogVGhlIG5ldyBlbnRyeSBtdXN0IGJlIHNldCBiZWZvcmUgYW5ub3Vu
Y2luZyBpdC4gKi8KPiAtCXdtYigpOwo+IC0JLyogYXZhaWwtPmlkeCBhbHdheXMgaW5jcmVtZW50
cyBhbmQgd3JhcHMgbmF0dXJhbGx5IGF0IDY1NTM2ICovCj4gLQl2cS0+YXZhaWwtPmlkeCsrOwo+
IC0JdnEtPm5leHRfYXZhaWwgKz0gbnVtOwo+IC0KPiAtCXJldHVybiAwOwo+IC19Cj4gLQo+IC1p
bnQgdmlydHFfcmluZ3NfaW5pdChzdHJ1Y3QgdmlydHEgKnZxLCBfX3UxNiBwY2lfYmFzZSwKPiAt
CQkJX192aXJ0aW9fbGUxNiBxdWV1ZV9zZWxlY3QsIHN0cnVjdCB1a19hbGxvYyAqYSkKPiAtewo+
IC0JX191OCAqZGF0YSA9IE5VTEw7Cj4gLQlfX3UxNiB2cV9udW07Cj4gLQlfX3N6IHZxX3NpemU7
Cj4gLQlfX3BoeXNfYWRkciBwYTsKPiAtCj4gLQlVS19BU1NFUlQodnEgIT0gTlVMTCk7Cj4gLQlV
S19BU1NFUlQoYSAhPSBOVUxMKTsKPiAtCj4gLQkvKiByZWFkIHF1ZXVlIHNpemUgKi8KPiAtCW91
dHcocGNpX2Jhc2UgKyBWSVJUSU9fUENJX1FVRVVFX1NFTCwgcXVldWVfc2VsZWN0KTsKPiAtCXZx
X251bSA9IGludyhwY2lfYmFzZSArIFZJUlRJT19QQ0lfUVVFVUVfU0laRSk7Cj4gLQo+IC0JaWYg
KHZxX251bSA9PSAwKSB7Cj4gLQkJdWtfcHJfZXJyKCJObyBzdWNoIHF1ZXVlOiBwY2lfYmFzZT0l
Il9fUFJJeDE2IiBzZWxlY3Rvcj0lIl9fUFJJeDE2IlxuIiwKPiAtCQkJICBwY2lfYmFzZSwgcXVl
dWVfc2VsZWN0KTsKPiAtCQlyZXR1cm4gLUVJTlZBTDsKPiAtCX0KPiAtCj4gLQlVS19BU1NFUlQo
dnFfbnVtIDw9IFZJUlRRX01BWF9RVUVVRV9TSVpFKTsKPiAtCj4gLQl2cS0+bGFzdF91c2VkID0g
dnEtPm5leHRfYXZhaWwgPSAwOwo+IC0JdnEtPm51bSA9IHZxLT5udW1fYXZhaWwgPSB2cV9udW07
Cj4gLQo+IC0JdnFfc2l6ZSA9IFZJUlRRX1NJWkUodnEpOwo+IC0KPiAtCS8qIGFsbG9jYXRlIHF1
ZXVlIG1lbW9yeSAqLwo+IC0JdWtfcG9zaXhfbWVtYWxpZ25faWZwYWdlcyhhLCAodm9pZCAqKikg
JmRhdGEsIF9fUEFHRV9TSVpFLCB2cV9zaXplKTsKPiAtCWlmICghZGF0YSkKPiAtCQlyZXR1cm4g
LUVOT01FTTsKPiAtCj4gLQltZW1zZXQoZGF0YSwgMCwgdnFfc2l6ZSk7Cj4gLQo+IC0JdnEtPmRl
c2MgPSAoc3RydWN0IHZpcnRxX2Rlc2MgKikgKGRhdGEgKyBWSVJUUV9PRkZfREVTQyh2cSkpOwo+
IC0JdnEtPmF2YWlsID0gKHN0cnVjdCB2aXJ0cV9hdmFpbCAqKSAoZGF0YSArIFZJUlRRX09GRl9B
VkFJTCh2cSkpOwo+IC0JdnEtPnVzZWQgPSAoc3RydWN0IHZpcnRxX3VzZWQgKikgKGRhdGEgKyBW
SVJUUV9PRkZfVVNFRCh2cSkpOwo+IC0KPiAtCS8qIHNldCBxdWV1ZSBtZW1vcnkgKi8KPiAtCW91
dHcocGNpX2Jhc2UgKyBWSVJUSU9fUENJX1FVRVVFX1NFTCwgcXVldWVfc2VsZWN0KTsKPiAtCj4g
LQkvKiB1c2UgcGh5c2ljYWwgYWRkcmVzcyAqLwo+IC0JcGEgPSB1a3BsYXRfdmlydF90b19waHlz
KGRhdGEpOwo+IC0Jb3V0bChwY2lfYmFzZSArIFZJUlRJT19QQ0lfUVVFVUVfUEZOLAo+IC0JCShw
YSA+PiBWSVJUSU9fUENJX1FVRVVFX0FERFJfU0hJRlQpKTsKPiAtCj4gLQlyZXR1cm4gMDsKPiAt
fQo+IC0KPiAtdm9pZCB2aXJ0cV9yaW5nc19maW5pKHN0cnVjdCB2aXJ0cSAqdnEsIF9fdTE2IHBj
aV9iYXNlLAo+IC0JCV9fdmlydGlvX2xlMTYgcXVldWVfc2VsZWN0LCBzdHJ1Y3QgdWtfYWxsb2Mg
KmEpCj4gLXsKPiAtCV9fdTggKmRhdGE7Cj4gLQo+IC0JVUtfQVNTRVJUKHZxICE9IE5VTEwpOwo+
IC0JVUtfQVNTRVJUKGEgIT0gTlVMTCk7Cj4gLQo+IC0JLyogcmVzZXQgcXVldWUgbWVtb3J5ICov
Cj4gLQlvdXR3KHBjaV9iYXNlICsgVklSVElPX1BDSV9RVUVVRV9TRUwsIHF1ZXVlX3NlbGVjdCk7
Cj4gLQlvdXRsKHBjaV9iYXNlICsgVklSVElPX1BDSV9RVUVVRV9QRk4sIDApOwo+IC0KPiAtCS8q
IGZyZWUgcXVldWUgbWVtb3J5ICovCj4gLQlkYXRhID0gKF9fdTggKikgdnEtPmRlc2MgLSBWSVJU
UV9PRkZfREVTQyh2cS0+bnVtKTsKPiAtCXVrX2ZyZWUoYSwgZGF0YSk7Cj4gLQo+IC0JLyogY2xl
YW51cCB0aGUgcXVldWUgKi8KPiAtCW1lbXNldCh2cSwgMCwgc2l6ZW9mKCp2cSkpOwo+IC19Cj4g
ZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51awo+IGlu
ZGV4IGYwOTdmMTAuLjBmMTBiNGQgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vQ29uZmlnLnVrCj4g
KysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCj4gQEAgLTUwLDEyICs1MCw0IEBAIGNvbmZpZyBLVk1f
UENJCj4gICAgICAgICAgc2VsZWN0IExJQlVLQlVTCj4gICAgICAgICAgaGVscAo+ICAgICAgICAg
ICAgICAgICAgIFBDSSBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgUENJIGRl
dmljZXMKPiAtCj4gLWlmIChLVk1fUENJKQo+IC1jb25maWcgS1ZNX1BDSV9WSVJUSU8KPiAtICAg
ICAgIGJvb2wgIlZpcnRpbyBSaW5nIgo+IC0gICAgICAgZGVmYXVsdCBuCj4gLSAgICAgICBoZWxw
Cj4gLSAgICAgICAgICAgICAgIFZpcnR1YWwgcXVldWVzIHRvIHRyYXZlcnNlIGhvc3QgYW5kIGd1
ZXN0IHRyYW5zaXRpb24KPiAtZW5kaWYKPiAgIGVuZGlmCj4gZGlmZiAtLWdpdCBhL3BsYXQva3Zt
L01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiBpbmRleCBiNDkzYmJhLi4wNmQ4
NDEwIDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9rdm0v
TWFrZWZpbGUudWsKPiBAQCAtOCw3ICs4LDYgQEAgJChldmFsICQoY2FsbCBhZGRwbGF0X3Msa3Zt
LCQoQ09ORklHX1BMQVRfS1ZNKSkpCj4gICAjIwo+ICAgJChldmFsICQoY2FsbCBhZGRwbGF0bGli
LGt2bSxsaWJrdm1wbGF0KSkKPiAgICQoZXZhbCAkKGNhbGwgYWRkcGxhdGxpYl9zLGt2bSxsaWJr
dm1wY2ksJChDT05GSUdfS1ZNX1BDSSkpKQo+IC0kKGV2YWwgJChjYWxsIGFkZHBsYXRsaWJfcyxr
dm0sbGlia3ZtcGNpdmlydGlvLCQoQ09ORklHX0tWTV9QQ0lfVklSVElPKSkpCj4gICAKPiAgICMj
Cj4gICAjIyBQbGF0Zm9ybSBsaWJyYXJ5IGRlZmluaXRpb25zCj4gQEAgLTgxLDkgKzgwLDMgQEAg
TElCS1ZNUENJX0FTSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZfNjQpICArPSAtSSQoVUtfUExB
VF9DT01NT05fQkFTRSkvaW5jbHVkZQo+ICAgTElCS1ZNUENJX0NJTkNMVURFUy0kKENPTkZJR19B
UkNIX1g4Nl82NCkgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQo+ICAgTElC
S1ZNUENJX1NSQ1MtJChDT05GSUdfQVJDSF9YODZfNjQpICAgICAgICArPSAkKFVLX1BMQVRfQ09N
TU9OX0JBU0UpL3BjaV9idXMuY3xjb21tb24KPiAgIAo+IC0jIwo+IC0jIyBWaXJ0aW8gbGlicmFy
eSBkZWZpbml0aW9ucwo+IC0jIwo+IC1MSUJLVk1QQ0lWSVJUSU9fQVNJTkNMVURFUy15ICAgKz0g
LUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKPiAtTElCS1ZNUENJVklSVElPX0NJTkNM
VURFUy15ICAgICs9IC1JJChVS19QTEFUX0NPTU1PTl9CQVNFKS9pbmNsdWRlCj4gLUxJQktWTVBD
SVZJUlRJT19TUkNTLXkgICAgICAgICArPSAkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8v
dmlydGlvX3JpbmcuYwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Sat Oct 20 12:25:56 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Sat, 20 Oct 2018 12:25:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gDqKH-0000rZ-QY; Sat, 20 Oct 2018 12:25:53 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89)
 (envelope-from <srs0=rszo=na=gmail.com=dafna3@srs-us1.protection.inumbo.net>)
 id 1gDqKH-0000rU-As
 for minios-devel@lists.xen.org; Sat, 20 Oct 2018 12:25:53 +0000
X-Inumbo-ID: e2e3e542-d462-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id e2e3e542-d462-11e8-a8a5-bc764e045a96;
 Sat, 20 Oct 2018 14:23:02 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id 185-v6so6055155wmt.2
 for <minios-devel@lists.xen.org>; Sat, 20 Oct 2018 05:25:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=jCWoJ0LvHMTIxpibZHEBgZ3rKr5YeEOOuJ93uLPZ2JQ=;
 b=MaCue5M62JU0sVh5YkXushhd3Qtz8PQNM3iH7PTXL7xxAGia30gKEo61nwo6R2Qb/D
 t3Q1MgcEYPPrEJDgxVWQanWjLBANUPYqndvTL+0AjdvYI4Xdpi2esPwi+KgLO+CXnbG6
 1yYM7b5e1to5/YRfweqdAqIXgOJJSi8OJeX0mWyCU6jwhS4239qJRqQEokGvaChjXM3K
 KVJGeDx+eijVyN5YW5CI/02HIh5b8eGBNV1bSbEmlu9QIFS89WDUJxCfuLD7eFEJeKyc
 9Yu3ru2sQzopAsxCERNXleJNMhJ2mycVEq31M/3m7Zlm+mhK7AN0tj1ELBCJ9QncEtTh
 QABw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=jCWoJ0LvHMTIxpibZHEBgZ3rKr5YeEOOuJ93uLPZ2JQ=;
 b=mOYyycC2wJe2L5mf1fhHtotlJBtwKgR648gYtSle84dYxnYoN4NwXRgVhG0DES6foM
 8GdiClH4X2tn39dV3B5VweVa/239PJAWZxSkk4/4RQSP/z9nJF/0lWqYrgN12ClQHy5v
 QhzcSSY+2VgxdwxCs6W7DEUtItAeiSdmb5rd5N/POM3uOgeOJv69nRyjW4+hj76w0FFo
 5aKx6H84wOewC0cMOM9T3VMXxUm6PwV76y452iOwoawxGf5pFjY9b/M10mMMTKLQUN47
 YL2V4LeHvvt5m3703tWqykrWsdDlf0wBl9uG/WvxjW9q+z0O5ZxhLIAhuNPS9sCEBcQz
 1q6g==
X-Gm-Message-State: ABuFfoifzq56dvAwUTx6aeZ34uDWzKF1eI27lYWokr5iC7633Cgvj+Xg
 ZTRMirw3275IatoBdo72DCX4Z/rvV9c=
X-Google-Smtp-Source: ACcGV60O4yEdBwBd+Vg2hUKWP+kStFk+DQ9ZeYkm14AlkjsL77f4QaIs5FktCMX1S54mn+wLq1CuBA==
X-Received: by 2002:a1c:f4e:: with SMTP id 75-v6mr8504058wmp.79.1540038350379; 
 Sat, 20 Oct 2018 05:25:50 -0700 (PDT)
Received: from vdoo.home ([77.126.109.255])
 by smtp.gmail.com with ESMTPSA id g4-v6sm2681260wrr.95.2018.10.20.05.25.49
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Sat, 20 Oct 2018 05:25:49 -0700 (PDT)
From: Dafna Hirschfeld <dafna3@gmail.com>
To: minios-devel@lists.xen.org
Date: Sat, 20 Oct 2018 15:25:42 +0300
Message-Id: <20181020122542.19284-1-dafna3@gmail.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel] [UNIKRAFT PATCH v2] build: assign
 CONFIG_CROSS_COMPILE according to priority
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu, dafna3@gmail.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXNzaWduIENPTkZJR19DUk9TU19DT01QSUxFIHRvIENST1NTX0NPTVBJTEUgb25seQppZiBDUk9T
U19DT01QSUxFIGlzIGRlZmluZWQsIHNvIHRoYXQgQ09ORklHX0NST1NTX0NPTVBJTEUKd2lsbCBu
b3QgYmUgZXJhc2VkIGluIGNhc2UgaXQgd2FzIHNldCBpbiBgLmNvbmZpZ2AKClNpZ25lZC1vZmYt
Ynk6IERhZm5hIEhpcnNjaGZlbGQgPGRhZm5hM0BnbWFpbC5jb20+Ci0tLQogTWFrZWZpbGUgICAg
ICAgICAgICAgICAgICAgIHwgMyArKysKIGFyY2gvYXJtL2FybS9Db21waWxlci51ayAgICB8IDIg
Ky0KIGFyY2gvYXJtL2FybTY0L0NvbXBpbGVyLnVrICB8IDIgKy0KIGFyY2gveDg2L3g4Nl82NC9D
b21waWxlci51ayB8IDIgKy0KIDQgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAzIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKaW5kZXggMWUyZDAz
NS4uZWZjOTRhMSAxMDA2NDQKLS0tIGEvTWFrZWZpbGUKKysrIGIvTWFrZWZpbGUKQEAgLTM5MCw3
ICszOTAsMTAgQEAgdW5leHBvcnQgTUFDSElORQogIyAibWFrZSIgaW4gdGhlIGNvbmZpZ3VyZWQg
a2VybmVsIGJ1aWxkIGRpcmVjdG9yeSBhbHdheXMgdXNlcyB0aGF0LgogIyBEZWZhdWx0IHZhbHVl
IGZvciBDT05GSUdfQ1JPU1NfQ09NUElMRSBpcyBub3QgdG8gcHJlZml4IGV4ZWN1dGFibGVzCiAj
IE5vdGU6IFNvbWUgYXJjaGl0ZWN0dXJlcyBhc3NpZ24gQ09ORklHX0NST1NTX0NPTVBJTEUgaW4g
dGhlaXIgYXJjaC8qL01ha2VmaWxlLnVrCisKK2lmbmVxICgiJChvcmlnaW4gQ1JPU1NfQ09NUElM
RSkiLCJ1bmRlZmluZWQiKQogQ09ORklHX0NST1NTX0NPTVBJTEUgOj0gJChDUk9TU19DT01QSUxF
OiIlIj0lKQorZW5kaWYKIAogaW5jbHVkZSAkKENPTkZJR19VS19CQVNFKS9hcmNoLyQoVUtfRkFN
SUxZKS9Db21waWxlci51awogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9hcm0vQ29tcGlsZXIudWsg
Yi9hcmNoL2FybS9hcm0vQ29tcGlsZXIudWsKaW5kZXggNDRhNDk3ZC4uMzM0NWQwMyAxMDA2NDQK
LS0tIGEvYXJjaC9hcm0vYXJtL0NvbXBpbGVyLnVrCisrKyBiL2FyY2gvYXJtL2FybS9Db21waWxl
ci51awpAQCAtMSw1ICsxLDUgQEAKICMgc2V0IGNyb3NzIGNvbXBpbGUKLWlmZXEgKCQoQ09ORklH
X0NST1NTX0NPTVBJTEUpLCkKK2lmZXEgKCQoY2FsbCBxc3RyaXAsJChDT05GSUdfQ1JPU1NfQ09N
UElMRSkpLCkKIGlmbmVxICgkKENPTkZJR19VS19BUkNIKSwkKEhPU1RBUkNIKSkKIAlDT05GSUdf
Q1JPU1NfQ09NUElMRSA6PSBhcm0tbGludXgtZ251ZWFiaWhmLQogZW5kaWYKZGlmZiAtLWdpdCBh
L2FyY2gvYXJtL2FybTY0L0NvbXBpbGVyLnVrIGIvYXJjaC9hcm0vYXJtNjQvQ29tcGlsZXIudWsK
aW5kZXggNDU3MjAxMy4uMjM1MzQ2YiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYXJtNjQvQ29tcGls
ZXIudWsKKysrIGIvYXJjaC9hcm0vYXJtNjQvQ29tcGlsZXIudWsKQEAgLTEsNSArMSw1IEBACiAj
IHNldCBjcm9zcyBjb21waWxlCi1pZmVxICgkKENPTkZJR19DUk9TU19DT01QSUxFKSwpCitpZmVx
ICgkKGNhbGwgcXN0cmlwLCQoQ09ORklHX0NST1NTX0NPTVBJTEUpKSwpCiBpZm5lcSAoJChDT05G
SUdfVUtfQVJDSCksJChIT1NUQVJDSCkpCiAJQ09ORklHX0NST1NTX0NPTVBJTEUgOj0gYWFyY2g2
NC1saW51eC1nbnUtCiBlbmRpZgpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveDg2XzY0L0NvbXBpbGVy
LnVrIGIvYXJjaC94ODYveDg2XzY0L0NvbXBpbGVyLnVrCmluZGV4IDk4ZWE4YWQuLmRiZTA5NzEg
MTAwNjQ0Ci0tLSBhL2FyY2gveDg2L3g4Nl82NC9Db21waWxlci51aworKysgYi9hcmNoL3g4Ni94
ODZfNjQvQ29tcGlsZXIudWsKQEAgLTEsNSArMSw1IEBACiAjIHNldCBjcm9zcyBjb21waWxlCi1p
ZmVxICgkKENPTkZJR19DUk9TU19DT01QSUxFKSwpCitpZmVxICgkKGNhbGwgcXN0cmlwLCQoQ09O
RklHX0NST1NTX0NPTVBJTEUpKSwpCiBpZm5lcSAoJChDT05GSUdfVUtfQVJDSCksJChIT1NUQVJD
SCkpCiAJQ09ORklHX0NST1NTX0NPTVBJTEUgOj0geDg2XzY0LWxpbnV4LWdudS0KIGVuZGlmCi0t
IAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 09:45:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 09:45:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEWmI-0002tV-Qy; Mon, 22 Oct 2018 09:45:38 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEWmG-0002tQ-O4
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 09:45:36 +0000
X-Inumbo-ID: 6cef39bd-d5df-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6cef39bd-d5df-11e8-a6a9-d7ebe60f679a;
 Mon, 22 Oct 2018 09:47:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 8B8B81048F7;
 Mon, 22 Oct 2018 11:45:32 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id mTU25gcmop8G; Mon, 22 Oct 2018 11:45:32 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 684B21047BD
 for <minios-devel@lists.xen.org>; Mon, 22 Oct 2018 11:45:30 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 11:45:30
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-5-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <01835e1a-d84d-6d28-8a91-852276c08641@neclab.eu>
Date: Mon, 22 Oct 2018 11:45:29 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-5-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 04/11] lib/uknetdev: Netbuf
 refcounting and releasing
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpUaGFua3MgJiBSZWdhcmRz
ClNoYXJhbgoKT24gMTAvMTkvMjAxOCAxMTo0MyBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBJ
bnRyb2R1Y2UgcmVmZXJlbmNlIGNvdW50aW5nIGFuZCBidWZmZXIgcmVsZWFzaW5nIHdpdGggTmV0
YnVmcy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KPiAtLS0KPiAgIGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrICAgICAgIHwgIDIg
KysKPiAgIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGJ1Zi5oIHwgNzMgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGJ1Zi5jICAg
ICAgICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDMgZmlsZXMgY2hh
bmdlZCwgMTI0IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4
cG9ydHN5bXMudWsgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IDMxNTNhNWQu
LmEwNWY1MDIgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysg
Yi9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IEBAIC0yLDYgKzIsOCBAQCB1a19uZXRidWZf
aW5pdF9pbmRpcgo+ICAgdWtfbmV0YnVmX2FsbG9jX2luZGlyCj4gICB1a19uZXRidWZfYWxsb2Nf
YnVmCj4gICB1a19uZXRidWZfcHJlcGFyZV9idWYKPiArdWtfbmV0YnVmX2ZyZWVfc2luZ2xlCj4g
K3VrX25ldGJ1Zl9mcmVlCj4gICB1a19uZXRidWZfZGlzY29ubmVjdAo+ICAgdWtfbmV0YnVmX2Nv
bm5lY3QKPiAgIHVrX25ldGJ1Zl9hcHBlbmQKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2lu
Y2x1ZGUvdWsvbmV0YnVmLmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaAo+IGlu
ZGV4IGMwY2JiNGEuLjNkODg0ZGQgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0YnVmLmgKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRidWYuaAo+IEBA
IC0zMjksNiArMzI5LDcgQEAgc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3ByZXBhcmVfYnVm
KHZvaWQgKm1lbSwgc2l6ZV90IHNpemUsCj4gICAKPiAgIC8qKgo+ICAgICogQ29ubmVjdHMgdHdv
IG5ldGJ1ZiBjaGFpbnMKPiArICogTm90ZTogVGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlYWNoIGJ1
ZmZlciBpcyBub3QgY2hlY2tlZCBub3IgbW9kaWZpZWQuCj4gICAgKiBAcGFyYW0gaGVhZHRhaWwK
PiAgICAqICAgTGFzdCBuZXRidWYgZWxlbWVudCBvZiBjaGFpbiB0aGF0IHNob3VsZCBjb21lIGZp
cnN0Lgo+ICAgICogICBJdCBjYW4gYWxzbyBiZSBqdXN0IGEgc2luZ2xlIG5ldGJ1Zi4KPiBAQCAt
MzQxLDYgKzM0Miw3IEBAIHZvaWQgdWtfbmV0YnVmX2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAq
aGVhZHRhaWwsCj4gICAKPiAgIC8qKgo+ICAgICogQ29ubmVjdHMgdHdvIG5ldGJ1ZiBjaGFpbnMK
PiArICogTm90ZTogVGhlIHJlZmVyZW5jZSBjb3VudCBvZiBlYWNoIGJ1ZmZlciBpcyBub3QgY2hl
Y2tlZCBub3IgbW9kaWZpZWQuCj4gICAgKiBAcGFyYW0gaGVhZAo+ICAgICogICBIZWFkaW5nIG5l
dGJ1ZiBlbGVtZW50IG9mIGNoYWluIHRoYXQgc2hvdWxkIGNvbWUgZmlyc3QuCj4gICAgKiAgIEl0
IGNhbiBhbHNvIGJlIGp1c3QgYSBzaW5nbGUgbmV0YnVmLgo+IEBAIC0zNTQsNiArMzU2LDcgQEAg
dm9pZCB1a19uZXRidWZfYXBwZW5kKHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCj4gICAvKioKPiAg
ICAqIERpc2Nvbm5lY3RzIGEgbmV0YnVmIGZyb20gaXRzIGNoYWluLiBUaGUgY2hhaW4gd2lsbCBy
ZW1haW4KPiAgICAqIHdpdGhvdXQgdGhlIHJlbW92ZWQgZWxlbWVudC4KPiArICogTm90ZTogVGhl
IHJlZmVyZW5jZSBjb3VudCBvZiBlYWNoIGJ1ZmZlciBpcyBub3QgY2hlY2tlZCBub3IgbW9kaWZp
ZWQuCj4gICAgKiBAcGFyYW0gbQo+ICAgICogICB1a19uZXRidWYgdG8gYmUgcmVtb3ZlZCBmcm9t
IGl0cyBjaGFpbgo+ICAgICogQHJldHVybnMKPiBAQCAtMzYyLDYgKzM2NSw3NiBAQCB2b2lkIHVr
X25ldGJ1Zl9hcHBlbmQoc3RydWN0IHVrX25ldGJ1ZiAqaGVhZCwKPiAgICAqLwo+ICAgc3RydWN0
IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX2Rpc2Nvbm5lY3Qoc3RydWN0IHVrX25ldGJ1ZiAqbSk7Cj4g
ICAKPiArLyoqCj4gKyAqIEluY3JlYXNlIHJlZmVyZW5jZSBjb3VudCBvZiBhIHNpbmdsZSBuZXRi
dWYgKGlycmVzcGVjdGl2ZSBvZiBhIGNoYWluKQo+ICsgKiBAcGFyYW0gbQo+ICsgKiAgIHVrX25l
dGJ1ZiB0byBpbmNyZWFzZSByZWZjb3VudCBvZgo+ICsgKiBAcmV0dXJucwo+ICsgKiAgIFJlZmVy
ZW5jZSB0byBtCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCB1a19uZXRidWYgKnVrX25l
dGJ1Zl9yZWZfc2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiArCVVLX0FTU0VSVCht
KTsKPiArCj4gKwl1a19yZWZjb3VudF9hY3F1aXJlKCZtLT5yZWZjb3VudCk7Cj4gKwlyZXR1cm4g
bTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIEluY3JlYXNlIHJlZmVyZW5jZSBjb3VudCBvZiBhIG5l
dGJ1ZiBpbmNsdWRpbmcgZWFjaCBzdWNjZXNzaXZlIG5ldGJ1Zgo+ICsgKiBlbGVtZW50IG9mIGEg
Y2hhaW4uIE5vdGUsIHByZWNlZGluZyBjaGFpbiBlbGVtZW50cyBhcmUgbm90IHZpc2l0ZWQuCj4g
KyAqIEBwYXJhbSBtCj4gKyAqICAgaGVhZCBvZiB0aGUgdWtfbmV0YnVmIGNoYWluIHRvIGluY3Jl
YXNlIHJlZmNvdW50IG9mCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgUmVmZXJlbmNlIHRvIG0KPiAr
ICovCj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IHVrX25ldGJ1ZiAqdWtfbmV0YnVmX3JlZihzdHJ1
Y3QgdWtfbmV0YnVmICptKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfbmV0YnVmICppdGVyOwo+ICsKPiAr
CVVLX0FTU0VSVChtKTsKPiArCj4gKwlVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSChpdGVyLCBtKQo+
ICsJCXVrX25ldGJ1Zl9yZWZfc2luZ2xlKGl0ZXIpOwo+ICsKPiArCXJldHVybiBtOwo+ICt9Cj4g
Kwo+ICsvKioKPiArICogUmV0dXJucyB0aGUgY3VycmVudCByZWZlcmVuY2UgY291bnQgb2YgYSBz
aW5nbGUgbmV0YnVmCj4gKyAqIEBwYXJhbSBtCj4gKyAqICAgdWtfbmV0YnVmIHRvIHJldHVybiB0
aGUgcmVmZXJlbmNlIGNvdW50IG9mCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHVpbnQzMl90IHVr
X25ldGJ1Zl9yZWZjb3VudF9zaW5nbGVfZ2V0KHN0cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiAr
CVVLX0FTU0VSVChtKTsKPiArCj4gKwlyZXR1cm4gdWtfcmVmY291bnRfcmVhZCgmbS0+cmVmY291
bnQpOwo+ICt9Cj4gKwo+ICsvKioKPiArICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQg
b2YgZWFjaCBlbGVtZW50IG9mIHRoZSBjaGFpbi4KPiArICogSWYgYSByZWZjb3VudCBiZWNvbWVz
IDAsIHRoZSBuZXRidWYgaXMgZGlzY29ubmVjdGVkIGZyb20gaXRzIGNoYWluLAo+ICsgKiBpdHMg
ZGVzdHJ1Y3RvciBpcyBjYWxsZWQgYW5kIHRoZSBtZW1vcnkgaXMgZnJlZSdkIGFjY29yZGluZyB0
byBpdHMKPiArICogYWxsb2NhdGlvbi4KPiArICogQHBhcmFtIG0KPiArICogICBoZWFkIG9mIHVr
X25ldGJ1ZiBjaGFpbiB0byByZWxlYXNlCj4gKyAqIEByZXR1cm5zCj4gKyAqICAgUmVmZXJlbmNl
IHRvIG0KPiArICovCj4gK3ZvaWQgdWtfbmV0YnVmX2ZyZWUoc3RydWN0IHVrX25ldGJ1ZiAqbSk7
Cj4gKwo+ICsvKioKPiArICogRGVjcmVhc2VzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgYSBzaW5n
bGUgbmV0YnVmLiBJZiByZWZjb3VudCBiZWNvbWVzIDAsCj4gKyAqIHRoZSBuZXRidWYgaXMgZGlz
Y29ubmVjdGVkIGZyb20gaXRzIGNoYWluLCBpdHMgZGVzdHJ1Y3RvciBpcyBjYWxsZWQgYW5kCj4g
KyAqIHRoZSBtZW1vcnkgaXMgZnJlZSdkIGFjY29yZGluZyB0byBpdHMgYWxsb2NhdGlvbi4KPiAr
ICogQHBhcmFtIG0KPiArICogICB1a19uZXRidWYgdG8gcmVsZWFzZQo+ICsgKiBAcmV0dXJucwo+
ICsgKiAgIFJlZmVyZW5jZSB0byBtCj4gKyAqLwo+ICt2b2lkIHVrX25ldGJ1Zl9mcmVlX3Npbmds
ZShzdHJ1Y3QgdWtfbmV0YnVmICptKTsKPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0K
PiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0YnVmLmMgYi9saWIvdWtu
ZXRkZXYvbmV0YnVmLmMKPiBpbmRleCBjMGU0MWNkLi45NmE1ZjY4IDEwMDY0NAo+IC0tLSBhL2xp
Yi91a25ldGRldi9uZXRidWYuYwo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRidWYuYwo+IEBAIC0z
Myw2ICszMyw3IEBACj4gICAgKi8KPiAgICNpbmNsdWRlIDx1ay9uZXRidWYuaD4KPiAgICNpbmNs
dWRlIDx1ay9lc3NlbnRpYWxzLmg+Cj4gKyNpbmNsdWRlIDx1ay9wcmludC5oPgo+ICAgCj4gICAv
KiBVc2VkIHRvIGFsaWduIG5ldGJ1ZidzIHByaXYgYW5kIGRhdGEgYXJlYXMgdG8gYGxvbmcgbG9u
Z2AgZGF0YSB0eXBlICovCj4gICAjZGVmaW5lIE5FVEJVRl9BRERSX0FMSUdOTUVOVCAoc2l6ZW9m
KGxvbmcgbG9uZykpCj4gQEAgLTI0MSwzICsyNDIsNTEgQEAgdm9pZCB1a19uZXRidWZfYXBwZW5k
KHN0cnVjdCB1a19uZXRidWYgKmhlYWQsCj4gICAJaGVhZHRhaWwtPm5leHQgPSB0YWlsOwo+ICAg
CXRhaWwtPnByZXYgPSBoZWFkdGFpbDsKPiAgIH0KPiArCj4gK3ZvaWQgdWtfbmV0YnVmX2ZyZWVf
c2luZ2xlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiArCXN0cnVjdCB1a19hbGxvYyAqYTsK
PiArCj4gKwlVS19BU1NFUlQobSk7Cj4gKwo+ICsJLyogRGVjcmVhc2UgcmVmY291bnQgYW5kIGNh
bGwgZGVzdHJ1Y3RvciBhbmQgZnJlZSB1cCBtZW1vcnkKPiArCSAqIHdoZW4gbGFzdCByZWZlcmVu
Y2Ugd2FzIHJlbGVhc2VkLgo+ICsJICovCj4gKwlpZiAodWtfcmVmY291bnRfcmVsZWFzZSgmbS0+
cmVmY291bnQpID09IDEpIHsKPiArCQl1a19wcl9kZWJ1ZygiRnJlZWluZyBuZXRidWYgJXAgKG5l
eHQ6ICVwKVxuIiwgbSwgbS0+bmV4dCk7Cj4gKwo+ICsJCS8qIERpc2Nvbm5lY3QgdGhpcyBuZXRi
dWYgZnJvbSB0aGUgY2hhaW4uICovCj4gKwkJdWtfbmV0YnVmX2Rpc2Nvbm5lY3QobSk7Cj4gKwo+
ICsJCS8qIENvcHkgdGhlIHJlZmVyZW5jZSBvZiB0aGUgYWxsb2NhdG9yIGluIGNhc2UKPiArCQkg
KiB0aGUgZGVzdHJ1Y3RvciBpcyBmcmVlJ2luZyB1cCBvdXIgbWVtb3J5Cj4gKwkJICogKGUuZy4s
IHVrX25ldGJ1Zl9pbml0X2luZGlyKCkgdXNlZCkuCj4gKwkJICogSW4gc3VjaCBhIGNhc2UgYGFg
IHNob3VsZCBiZSAoTlVMTCksIGhvd2V2ZXIKPiArCQkgKiB3ZSBuZWVkIHRvIGFjY2VzcyBpdCBm
b3IgYSAgY2hlY2sgYWZ0ZXIgd2UgaGF2ZQo+ICsJCSAqIGNhbGxlZCB0aGUgZGVzdHJ1Y3Rvci4K
PiArCQkgKi8KPiArCQlhID0gbS0+X2E7Cj4gKwo+ICsJCWlmIChtLT5kdG9yKQo+ICsJCQltLT5k
dG9yKG0pOwo+ICsJCWlmIChhKQo+ICsJCQl1a19mcmVlKGEsIG0pOwo+ICsJfSBlbHNlIHsKPiAr
CQl1a19wcl9kZWJ1ZygiTm90IGZyZWVpbmcgbmV0YnVmICVwIChuZXh0OiAlcCk6IHJlZmNvdW50
IGdyZWF0ZXIgdGhhbiAxIiwKPiArCQkJICAgIG0sIG0tPm5leHQpOwo+ICsJfQo+ICt9Cj4gKwo+
ICt2b2lkIHVrX25ldGJ1Zl9mcmVlKHN0cnVjdCB1a19uZXRidWYgKm0pCj4gK3sKPiArCXN0cnVj
dCB1a19uZXRidWYgKm47Cj4gKwo+ICsJVUtfQVNTRVJUKG0pOwo+ICsJVUtfQVNTRVJUKCFtLT5w
cmV2KTsKPiArCj4gKwl3aGlsZSAobSAhPSBOVUxMKSB7Cj4gKwkJbiA9IG0tPm5leHQ7Cj4gKwkJ
dWtfbmV0YnVmX2ZyZWVfc2luZ2xlKG0pOwo+ICsJCW0gPSBuOwo+ICsJfQo+ICt9Cj4gCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:00:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:00:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEX0F-00047v-HO; Mon, 22 Oct 2018 10:00:03 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEX0E-00043b-JQ
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:00:02 +0000
X-Inumbo-ID: d49bd137-d5e0-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id d49bd137-d5e0-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 11:57:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C93511048F7;
 Mon, 22 Oct 2018 11:59:57 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id NJ-HMX5KEJNn; Mon, 22 Oct 2018 11:59:57 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id A261F1047BD;
 Mon, 22 Oct 2018 11:59:53 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 11:59:53
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-7-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <57361022-9fdb-1bf5-6f46-af0a23addd62@neclab.eu>
Date: Mon, 22 Oct 2018 11:59:53 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-7-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 06/11] lib/uknetdev: Netdev
 registration
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpUaGFua3MgJiBSZWdhcmRz
ClNoYXJhbgoKT24gMTAvMTkvMjAxOCAxMTo0MyBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBG
cm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBJ
bnRyb2R1Y2UgaW5pdGlhbCBuZXRkZXYgQVBJIHN1cHBvcnRpbmcgZGV2aWNlIHJlZ2lzdHJhdGlv
bi4gV2UKPiBpbnRyb2R1Y2UgdGhyZWUgaGVhZGVyIGZpbGVzIGFyZSBpbnRyb2R1Y2VkIGZvciBk
ZXNjcmliaW5nIFVuaWtyYWZ0J3MKPiBuZXRkZXYgQVBJOgo+ICAgIHVrL25ldGRldl9jb3JlLmgg
LSBDb3JlIGRhdGEgdHlwZSBkZWZpbml0aW9ucwo+ICAgIHVrL25ldGRldl9kcml2ZXIuaCAtIEFQ
SSBmb3IgZHJpdmVycwo+ICAgIHVrL25ldGRldi5oIC0gQVBJIGZvciBuZXR3b3JrIGFwcGxpY2F0
aW9ucyBhbmQgc3RhY2tzCj4gCj4gU2lnbmVkLW9mZi1ieTogU2ltb24gS3VlbnplciA8c2ltb24u
a3VlbnplckBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2
YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0tCj4gICBsaWIvdWtuZXRkZXYvTWFrZWZpbGUu
dWsgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsg
ICAgICAgICAgICAgIHwgICA2ICsrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aCAgICAgICAgfCAxMTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIvdWtu
ZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oICAgfCAxMDUgKysrKysrKysrKysrKysrKysr
KysrKysrKysrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmggfCAg
NzQgKysrKysrKysrKysrKysrKysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAg
ICAgICAgICAgIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICA2IGZp
bGVzIGNoYW5nZWQsIDQyNiBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgbGli
L3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBsaWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQg
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgbGliL3VrbmV0ZGV2L25ldGRldi5jCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRl
di9NYWtlZmlsZS51ayBiL2xpYi91a25ldGRldi9NYWtlZmlsZS51awo+IGluZGV4IDgxYWZhZTQu
LmNhMDhiMjUgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gKysrIGIv
bGliL3VrbmV0ZGV2L01ha2VmaWxlLnVrCj4gQEAgLTQsMyArNCw0IEBAIENJTkNMVURFUy0kKENP
TkZJR19MSUJVS05FVERFVikJCSs9IC1JJChMSUJVS05FVERFVl9CQVNFKS9pbmNsdWRlCj4gICBD
WFhJTkNMVURFUy0kKENPTkZJR19MSUJVS05FVERFVikJKz0gLUkkKExJQlVLTkVUREVWX0JBU0Up
L2luY2x1ZGUKPiAgIAo+ICAgTElCVUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFT
RSkvbmV0YnVmLmMKPiArTElCVUtORVRERVZfU1JDUy15ICs9ICQoTElCVUtORVRERVZfQkFTRSkv
bmV0ZGV2LmMKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIv
dWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IGEwNWY1MDIuLjk2YjViZmQgMTAwNjQ0Cj4g
LS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhw
b3J0c3ltcy51awo+IEBAIC03LDMgKzcsOSBAQCB1a19uZXRidWZfZnJlZQo+ICAgdWtfbmV0YnVm
X2Rpc2Nvbm5lY3QKPiAgIHVrX25ldGJ1Zl9jb25uZWN0Cj4gICB1a19uZXRidWZfYXBwZW5kCj4g
K3VrX25ldGRldl9kcnZfcmVnaXN0ZXIKPiArdWtfbmV0ZGV2X2NvdW50Cj4gK3VrX25ldGRldl9n
ZXQKPiArdWtfbmV0ZGV2X2lkX2dldAo+ICt1a19uZXRkZXZfZHJ2X25hbWVfZ2V0Cj4gK3VrX25l
dGRldl9zdGF0ZV9nZXQKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IG5ldyBmaWxlIG1vZGUg
MTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNzVhOGU2Ngo+IC0tLSAvZGV2L251bGwKPiArKysgYi9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IEBAIC0wLDAgKzEsMTE3IEBACj4gKy8q
IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0
aG9yczogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIuZXU+Cj4gKyAqICAgICAg
ICAgIFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+ICsgKgo+
ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTAtMjAxNyBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKiBDb3B5
cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAq
IGFyZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2Yg
aXRzCj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
IkFTIElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4g
KyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+
ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1P
RElGSUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsvKiBEZXJpdmVkIGZyb20gRFBESyBydGVfZXRo
ZGV2X2NvcmUuaCAtIERQREsub3JnIDE4LjAyLjIgKi8KPiArI2lmbmRlZiBfX1VLX05FVERFVl9f
Cj4gKyNkZWZpbmUgX19VS19ORVRERVZfXwo+ICsKPiArI2luY2x1ZGUgPHVrL25ldGRldl9jb3Jl
Lmg+Cj4gKyNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KPiArI2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+
ICsKPiArLyoqCj4gKyAqIFVuaWtyYWZ0IE5ldHdvcmsgQVBJCj4gKyAqCj4gKyAqIFRoZSBVbmlr
cmFmdCBuZXRkZXYgQVBJIHByb3ZpZGVzIGEgZ2VuZXJhbGl6ZWQgaW50ZXJmYWNlIGJldHdlZW4g
bmV0d29yawo+ICsgKiBkZXZpY2UgZHJpdmVycyBhbmQgbmV0d29yayBzdGFjayBpbXBsZW1lbnRh
dGlvbnMgb3IgbG93LWxldmVsIG5ldHdvcmsKPiArICogYXBwbGljYXRpb25zLgo+ICsgKgo+ICsg
KiBNb3N0IEFQSSBpbnRlcmZhY2VzIHRha2UgYXMgcGFyYW1ldGVyIGEgcmVmZXJlbmNlIHRvIHRo
ZSBjb3JyZXNwb25kaW5nCj4gKyAqIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIChzdHJ1Y3QgdWtf
bmV0ZGV2KSB3aGljaCBjYW4gYmUgaW5pdGlhbGx5IG9idGFpbmVkCj4gKyAqIGJ5IGl0cyBJRCBi
eSBjYWxsaW5nIHVrX25ldGRldl9nZXQoKS4gVGhlIG5ldHdvcmsgYXBwbGljYXRpb24gc2hvdWxk
IHN0b3JlCj4gKyAqIHRoaXMgcmVmZXJlbmNlIGFuZCB1c2UgaXQgZm9yIHN1YnNlcXVlbnQgQVBJ
IGNhbGxzLgo+ICsgKi8KPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsj
ZW5kaWYKPiArCj4gKy8qKgo+ICsgKiBHZXQgdGhlIG51bWJlciBvZiByZWdpc3RlcmVkIG5ldHdv
cmsgZGV2aWNlcy4KPiArICoKPiArICogQHJldHVybgo+ICsgKiAgIC0gKHVuc2lnbmVkIGludCk6
IG51bWJlciBvZiBuZXR3b3JrIGRldmljZXMuCj4gKyAqLwo+ICt1bnNpZ25lZCBpbnQgdWtfbmV0
ZGV2X2NvdW50KHZvaWQpOwo+ICsKPiArLyoqCj4gKyAqIEdldCB0aGUgcmVmZXJlbmNlIHRvIGEg
bmV0d29yayBkZXZpY2UgYmFzZWQgb24gaXRzIElELgo+ICsgKiBWYWxpZCBJRHMgYXJlIGluIHRo
ZSByYW5nZSBvZiAwIHRvIChuLTEpIHdoZXJlIG4gaXMKPiArICogdGhlIG51bWJlciBvZiBhdmFp
bGFibGUgbmV0d29yayBkZXZpY2VzLgo+ICsgKgo+ICsgKiBAcGFyYW0gaWQKPiArICogICBUaGUg
aWRlbnRpZmllciBvZiB0aGUgbmV0d29yayBkZXZpY2UgdG8gY29uZmlndXJlLgo+ICsgKiBAcmV0
dXJuCj4gKyAqICAgLSAoTlVMTCk6IGRldmljZSBub3QgYXZhaWxhYmxlCj4gKyAqICAgLSAoc3Ry
dWN0IHVrX25ldGRldiAqKTogcmVmZXJlbmNlIHRvIG5ldHdvcmsgZGV2aWNlCj4gKyAqLwo+ICtz
dHJ1Y3QgdWtfbmV0ZGV2ICp1a19uZXRkZXZfZ2V0KHVuc2lnbmVkIGludCBpZCk7Cj4gKwo+ICsv
KioKPiArICogUmV0dXJucyB0aGUgaWQgb2YgYSBuZXR3b3JrIGRldmljZQo+ICsgKgo+ICsgKiBA
cGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+ICsgKiBAcmV0
dXJuCj4gKyAqICAgLSAoPj0wKTogRGV2aWNlIElECj4gKyAqLwo+ICt1aW50MTZfdCB1a19uZXRk
ZXZfaWRfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+ICsvKioKPiArICogUmV0dXJu
cyB0aGUgZHJpdmVyIG5hbWUgb2YgYSBuZXR3b3JrIGRldmljZS4KPiArICogVGhlIG5hbWUgbWln
aHQgYmUgc2V0IHRvIE5VTEwKPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlr
cmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKE5VTEwpOiBpZiBu
byBuYW1lIGlzIGRlZmluZWQuCj4gKyAqICAgLSAoY29uc3QgY2hhciAqKTogUmVmZXJlbmNlIHRv
IHN0cmluZyBpZiBuYW1lIGlzIGF2YWlsYWJsZS4KPiArICovCj4gK2NvbnN0IGNoYXIgKnVrX25l
dGRldl9kcnZfbmFtZV9nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2KTsKPiArCj4gKy8qKgo+ICsg
KiBSZXR1cm5zIHRoZSBjdXJyZW50IHN0YXRlIG9mIGEgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4g
KyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4gKyAq
IEByZXR1cm4KPiArICogICAtIChlbnVtIHVrX25ldGRldl9zdGF0ZSk6IGN1cnJlbnQgZGV2aWNl
IHN0YXRlCj4gKyAqLwo+ICtlbnVtIHVrX25ldGRldl9zdGF0ZSB1a19uZXRkZXZfc3RhdGVfZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArfQo+
ICsjZW5kaWYKPiArCj4gKyNlbmRpZiAvKiBfX1VLX05FVERFVl9fICovCj4gZGlmZiAtLWdpdCBh
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggYi9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAw
MDAwLi4zMTg3NWQxCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldl9jb3JlLmgKPiBAQCAtMCwwICsxLDEwNSBAQAo+ICsvKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAqIEF1dGhvcnM6IFNpbW9uIEt1
ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+ICsgKiAgICAgICAgICBSYXp2YW4gQ29q
b2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiArICoKPiArICogQ29weXJpZ2h0
IChjKSAyMDE3IEludGVsIENvcnBvcmF0aW9uCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVD
IEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAq
Cj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICoKPiAr
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2Yg
dGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICogICAgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBC
RQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
Uwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArICoKPiArICog
VEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4K
PiArICovCj4gKy8qIERlcml2ZWQgZnJvbSBEUERLIHJ0ZV9ldGhkZXZfY29yZS5oIC0gRFBESy5v
cmcgMTguMDIuMiAqLwo+ICsjaWZuZGVmIF9fVUtfTkVUREVWX0NPUkVfXwo+ICsjZGVmaW5lIF9f
VUtfTkVUREVWX0NPUkVfXwo+ICsKPiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPgo+ICsjaW5jbHVk
ZSA8c3RkaW50Lmg+Cj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVkZSA8dWsvY29uZmln
Lmg+Cj4gKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4KPiArI2luY2x1ZGUgPHVrL2xpc3QuaD4KPiAr
I2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gKyNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+Cj4gKwo+
ICsvKioKPiArICogVW5pa3JhZnQgbmV0d29yayBBUEkgY29tbW9uIGRlY2xhcmF0aW9ucy4KPiAr
ICoKPiArICogVGhpcyBoZWFkZXIgY29udGFpbnMgYWxsIEFQSSBkYXRhIHR5cGVzLiBTb21lIG9m
IHRoZW0gYXJlIHBhcnQgb2YgdGhlCj4gKyAqIHB1YmxpYyBBUEkgYW5kIHNvbWUgYXJlIHBhcnQg
b2YgdGhlIGludGVybmFsIEFQSS4KPiArICoKPiArICogVGhlIGRldmljZSBkYXRhIGFuZCBvcGVy
YXRpb25zIGFyZSBzZXBhcmF0ZWQuIFRoaXMgc3BsaXQgYWxsb3dzIHRoZQo+ICsgKiBmdW5jdGlv
biBwb2ludGVyIGFuZCBkcml2ZXIgZGF0YSB0byBiZSBwZXItcHJvY2Vzcywgd2hpbGUgdGhlIGFj
dHVhbAo+ICsgKiBjb25maWd1cmF0aW9uIGRhdGEgZm9yIHRoZSBkZXZpY2UgaXMgc2hhcmVkLgo+
ICsgKi8KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlm
Cj4gKwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2Owo+ICtVS19UQUlMUV9IRUFEKHVrX25ldGRldl9saXN0
LCBzdHJ1Y3QgdWtfbmV0ZGV2KTsKPiArCj4gKwo+ICsvKioKPiArICogRW51bSB0byBkZXNjcmli
ZSBwb3NzaWJsZSBzdGF0ZXMgb2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gKyAqLwo+
ICtlbnVtIHVrX25ldGRldl9zdGF0ZSB7Cj4gKwlVS19ORVRERVZfSU5WQUxJRCA9IDAsCj4gKwlV
S19ORVRERVZfVU5DT05GSUdVUkVELAo+ICsJVUtfTkVUREVWX0NPTkZJR1VSRUQsCj4gKwlVS19O
RVRERVZfUlVOTklORywKPiArfTsKPiArCj4gKwo+ICsvKioKPiArICogQGludGVybmFsCj4gKyAq
IGxpYnVrbmV0ZGV2IGludGVybmFsIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGVhY2ggbmV0d29yayBk
ZXZpY2UuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgewo+ICsJZW51bSB1a19uZXRk
ZXZfc3RhdGUgc3RhdGU7Cj4gKwo+ICsJY29uc3QgdWludDE2X3QgICAgICAgaWQ7ICAgIC8qKjwg
SUQgaXMgYXNzaWduZWQgZHVyaW5nIHJlZ2lzdHJhdGlvbiAqLwo+ICsJY29uc3QgY2hhciAgICAg
ICAgICAgKmRydl9uYW1lOwo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIE5FVERFVgo+ICsgKiBBIHN0
cnVjdHVyZSB1c2VkIHRvIGludGVyYWN0IHdpdGggYSBuZXR3b3JrIGRldmljZS4KPiArICovCj4g
K3N0cnVjdCB1a19uZXRkZXYgewo+ICsJLyoqIFBvaW50ZXIgdG8gQVBJLWludGVybmFsIHN0YXRl
IGRhdGEuICovCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgICAgICAgKl9kYXRhOwo+ICsKPiAr
CVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB1a19uZXRkZXYpIF9saXN0Owo+ICt9Owo+ICsKPiArI2lm
ZGVmIF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZW5kaWYgLyogX19VS19ORVRE
RVZfQ09SRV9fICovCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRl
dl9kcml2ZXIuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAo+IG5l
dyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMmRjZmEwNwo+IC0tLSAvZGV2L251
bGwKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfZHJpdmVyLmgKPiBAQCAt
MCwwICsxLDc0IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KPiArLyoKPiArICogQXV0aG9yczogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNs
YWIuZXU+Cj4gKyAqCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBO
RUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiAr
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBo
b2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArICogICAg
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K
PiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiAr
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsg
KiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCj4gKyNpZm5k
ZWYgX19VS19ORVRERVZfRFJJVkVSX18KPiArI2RlZmluZSBfX1VLX05FVERFVl9EUklWRVJfXwo+
ICsKPiArI2luY2x1ZGUgPHVrL25ldGRldl9jb3JlLmg+Cj4gKyNpbmNsdWRlIDx1ay9hc3NlcnQu
aD4KPiArCj4gKy8qKgo+ICsgKiBVbmlrcmFmdCBuZXR3b3JrIGRyaXZlciBBUEkuCj4gKyAqCj4g
KyAqIFRoaXMgaGVhZGVyIGNvbnRhaW5zIGFsbCBBUEkgZnVuY3Rpb25zIHRoYXQgYXJlIHN1cHBv
c2VkIHRvIGJlIGNhbGxlZAo+ICsgKiBieSBhIG5ldHdvcmsgZGV2aWNlIGRyaXZlci4KPiArICov
Cj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArZXh0ZXJuICJDIiB7Cj4gKyNlbmRpZgo+ICsK
PiArLyoqCj4gKyAqIEFkZHMgYSBVbmlrcmFmdCBuZXR3b3JrIGRldmljZSB0byB0aGUgZGV2aWNl
IGxpc3QuCj4gKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCB3aGVuZXZlciBhIGRyaXZlciBhZGRz
IGEgbmV3IGZvdW5kIGRldmljZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFN0cnVj
dCB0byB1bmlrcmFmdCBuZXR3b3JrIGRldmljZSB0aGF0IHNoYWxsIGJlIHJlZ2lzdGVyZWQKPiAr
ICogQHBhcmFtIGEKPiArICogICBBbGxvY2F0b3IgdG8gYmUgdXNlIGZvciBsaWJ1a25ldGRldiBw
cml2YXRlIGRhdGEgKGRldi0+X2RhdGEpCj4gKyAqIEBwYXJhbSBkcnZfbmFtZQo+ICsgKiAgIChP
cHRpb25hbCkgZHJpdmVyIG5hbWUKPiArICogICBUaGUgbWVtb3J5IGZvciB0aGlzIHN0cmluZyBo
YXMgdG8gc3RheSBhdmFpbGFibGUgYXMgbG9uZyBhcyB0aGUKPiArICogICBkZXZpY2UgaXMgcmVn
aXN0ZXJlZC4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKC1FTk9NRU0pOiBBbGxvY2F0aW9uIG9m
IHByaXZhdGUKPiArICogICAtICg+PTApOiBOZXR3b3JrIGRldmljZSBJRCBvbiBzdWNjZXNzCj4g
KyAqLwo+ICtpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHN0cnVjdCB1a19hbGxvYyAqYSwKPiArCQkJICAgY29uc3QgY2hhciAqZHJ2X25hbWUpOwo+ICsK
PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmCj4gKwo+ICsjZW5kaWYgLyogX19V
S19ORVRERVZfRFJJVkVSX18gKi8KPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5j
IGIvbGliL3VrbmV0ZGV2L25ldGRldi5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw
MDAwMDAwLi43YzJkOWJmCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRk
ZXYuYwo+IEBAIC0wLDAgKzEsMTIzIEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC
U0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0aG9yczogU2ltb24gS3VlbnplciA8c2ltb24u
a3VlbnplckBuZWNsYWIuZXU+Cj4gKyAqICAgICAgICAgIFJhenZhbiBDb2pvY2FydSA8cmF6dmFu
LmNvam9jYXJ1OTNAZ21haWwuY29tPgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTctMjAx
OCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uCj4gKyAqIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1l
dDoKPiArICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+
ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIg
dGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiAr
ICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMi
Cj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENP
TlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+
ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
PiArICoKPiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQg
SU4gQU5ZIFdBWS4KPiArICovCj4gKyNpbmNsdWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgPHN0
ZGlvLmg+Cj4gKyNpbmNsdWRlIDx1ay9uZXRkZXYuaD4KPiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+
Cj4gKwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X2xpc3QgdWtfbmV0ZGV2X2xpc3QgPQo+ICsJVUtfVEFJ
TFFfSEVBRF9JTklUSUFMSVpFUih1a19uZXRkZXZfbGlzdCk7Cj4gK3N0YXRpYyB1aW50MTZfdCBu
ZXRkZXZfY291bnQ7Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX25ldGRldl9kYXRhICpfYWxsb2Nf
ZGF0YShzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gKwkJCQkJICB1aW50MTZfdCBuZXRkZXZfaWQsCj4g
KwkJCQkJICBjb25zdCBjaGFyICpkcnZfbmFtZSkKPiArewo+ICsJc3RydWN0IHVrX25ldGRldl9k
YXRhICpkYXRhOwo+ICsKPiArCWRhdGEgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCpkYXRhKSk7Cj4g
KwlpZiAoIWRhdGEpCj4gKwkJcmV0dXJuIE5VTEw7Cj4gKwo+ICsJZGF0YS0+ZHJ2X25hbWUgPSBk
cnZfbmFtZTsKPiArCWRhdGEtPnN0YXRlICAgID0gVUtfTkVUREVWX1VOQ09ORklHVVJFRDsKPiAr
Cj4gKwkvKiBUaGlzIGlzIHRoZSBvbmx5IHBsYWNlIHdoZXJlIHdlIHNldCB0aGUgZGV2aWNlIElE
Owo+ICsJICogZHVyaW5nIHRoZSByZXN0IG9mIHRoZSBkZXZpY2UncyBsaWZlIHRpbWUgdGhpcyBJ
RCBpcyByZWFkLW9ubHkKPiArCSAqLwo+ICsJKihERUNPTlNUKHVpbnQxNl90ICosICZkYXRhLT5p
ZCkpID0gbmV0ZGV2X2lkOwo+ICsKPiArCXJldHVybiBkYXRhOwo+ICt9Cj4gKwo+ICtpbnQgdWtf
bmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxv
YyAqYSwKPiArCQkJICAgY29uc3QgY2hhciAqZHJ2X25hbWUpCj4gK3sKPiArCVVLX0FTU0VSVChk
ZXYpOwo+ICsJVUtfQVNTRVJUKCFkZXYtPl9kYXRhKTsKPiArCj4gKwlkZXYtPl9kYXRhID0gX2Fs
bG9jX2RhdGEoYSwgbmV0ZGV2X2NvdW50LCAgZHJ2X25hbWUpOwo+ICsJaWYgKCFkZXYtPl9kYXRh
KQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsKPiArCVVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ1a19u
ZXRkZXZfbGlzdCwgZGV2LCBfbGlzdCk7Cj4gKwl1a19wcl9pbmZvKCJSZWdpc3RlcmVkIG5ldGRl
diUiUFJJdTE2IjogJXAgKCVzKVxuIiwKPiArCQkgICBuZXRkZXZfY291bnQsIGRldiwgZHJ2X25h
bWUpOwo+ICsKPiArCXJldHVybiBuZXRkZXZfY291bnQrKzsKPiArfQo+ICsKPiArdW5zaWduZWQg
aW50IHVrX25ldGRldl9jb3VudCh2b2lkKQo+ICt7Cj4gKwlyZXR1cm4gKHVuc2lnbmVkIGludCkg
bmV0ZGV2X2NvdW50Owo+ICt9Cj4gKwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2ICp1a19uZXRkZXZfZ2V0
KHVuc2lnbmVkIGludCBpZCkKPiArewo+ICsJc3RydWN0IHVrX25ldGRldiAqZGV2Owo+ICsKPiAr
CVVLX1RBSUxRX0ZPUkVBQ0goZGV2LCAmdWtfbmV0ZGV2X2xpc3QsIF9saXN0KSB7Cj4gKwkJVUtf
QVNTRVJUKGRldi0+X2RhdGEpOwo+ICsKPiArCQlpZiAoZGV2LT5fZGF0YS0+aWQgPT0gaWQpCj4g
KwkJCXJldHVybiBkZXY7Cj4gKwl9Cj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArdWludDE2
X3QgdWtfbmV0ZGV2X2lkX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCj4gK3sKPiArCVVLX0FT
U0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsKPiArCXJldHVybiBkZXYt
Pl9kYXRhLT5pZDsKPiArfQo+ICsKPiArY29uc3QgY2hhciAqdWtfbmV0ZGV2X2Rydl9uYW1lX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtf
QVNTRVJUKGRldi0+X2RhdGEpOwo+ICsKPiArCXJldHVybiBkZXYtPl9kYXRhLT5kcnZfbmFtZTsK
PiArfQo+ICsKPiArZW51bSB1a19uZXRkZXZfc3RhdGUgdWtfbmV0ZGV2X3N0YXRlX2dldChzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJU
KGRldi0+X2RhdGEpOwo+ICsKPiArCXJldHVybiBkZXYtPl9kYXRhLT5zdGF0ZTsKPiArfQo+IAoK
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:08:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:08:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEX7v-0004dc-62; Mon, 22 Oct 2018 10:07:59 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEX7u-0004dX-2n
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:07:58 +0000
X-Inumbo-ID: f04d3a07-d5e1-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id f04d3a07-d5e1-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 12:05:01 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id B1EDEF203B;
 Mon, 22 Oct 2018 12:07:53 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Xsv69RCrKWlO; Mon, 22 Oct 2018 12:07:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 76D68F2038;
 Mon, 22 Oct 2018 12:07:49 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 12:07:49
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-8-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <1afdef67-8a29-1a64-dbe4-66e3be19c936@neclab.eu>
Date: Mon, 22 Oct 2018 12:07:48 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-8-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 07/11] lib/uknetdev: Netdev
 initialization
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpUaGFua3MgJiBSZWdhcmRz
ClNoYXJhbgoKT24gMTAvMTkvMjAxOCAxMTo0MyBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBG
cm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBJ
bnRyb2R1Y2UgYSAnRFBESyBSVEUgRXRoZXJuZXQnIGluc3BpcmVkIEFQSSBmb3IgaW5pdGlhbGl6
aW5nIGEKPiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4gVGhlIGluaXRpYWxpemF0aW9uIGlzIGRv
bmUgaW4gdGhlIGZvbGxvd2luZwo+IG9yZGVyOiAoMSkgQ29uZmlndXJlIG1haW4gYXNwZWN0cyBv
ZiBkZXZpY2UgKGUuZy4sIG51bWJlciBvZgo+IHF1ZXVlcyksICgyKSBjb25maWd1cmUgZWFjaCB0
cmFuc21pdCBhbmQgcmVjZWl2ZSBxdWV1ZSwgYW5kICgzKSBzdGFydAo+IHRoZSBkZXZpY2UuIFdl
IGFsc28gaW50cm9kdWNlIGFuIGludGVyZmFjZSBmb3IgcXVlcnlpbmcgdGhlIHVuZGVybHlpbmcK
PiBkZXZpY2UgY2FwYWJpbGl0aWVzIGZvciBlYWNoIGNvbmZpZ3VyYXRpb24gc3RlcC4KPiAKPiBT
aWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPiBT
aWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNv
bT4KPiAtLS0KPiAgIGxpYi91a25ldGRldi9Db25maWcudWsgICAgICAgICAgICAgICAgfCAgMjgg
KysrLQo+ICAgbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICB8ICAgOCArCj4g
ICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgIHwgMTc0ICsrKysrKysrKysr
KysrKysrKysrCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIHwgMTk2
ICsrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIvdWtuZXRkZXYvbmV0ZGV2LmMgICAgICAg
ICAgICAgICAgIHwgMjkwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIDUg
ZmlsZXMgY2hhbmdlZCwgNjk1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiBkaWZm
IC0tZ2l0IGEvbGliL3VrbmV0ZGV2L0NvbmZpZy51ayBiL2xpYi91a25ldGRldi9Db25maWcudWsK
PiBpbmRleCA4NzhiODIyLi42MThlOGU2IDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9Db25m
aWcudWsKPiArKysgYi9saWIvdWtuZXRkZXYvQ29uZmlnLnVrCj4gQEAgLTEsNiArMSwzMiBAQAo+
IC1jb25maWcgTElCVUtORVRERVYKPiArbWVudWNvbmZpZyBMSUJVS05FVERFVgo+ICAgCWJvb2wg
InVrbmV0ZGV2OiBOZXR3b3JrIGRyaXZlciBpbnRlcmZhY2UiCj4gICAJZGVmYXVsdCBuCj4gICAJ
c2VsZWN0IExJQk5PTElCQyBpZiAhSEFWRV9MSUJDCj4gICAJc2VsZWN0IExJQlVLREVCVUcKPiAg
IAlzZWxlY3QgTElCVUtBTExPQwo+ICsKPiAraWYgTElCVUtORVRERVYKPiArCWNvbmZpZyBMSUJV
S05FVERFVl9NQVhOQlFVRVVFUwo+ICsJCWludCAiTWF4aW11bSBudW1iZXIgb2YgcmVjZWl2ZS10
cmFuc21pdCBxdWV1ZSBwYWlycyIKPiArCQlkZWZhdWx0IDEKPiArCQloZWxwCj4gKwkJCVVwcGVy
IGxpbWl0IGZvciBzdXBwb3J0ZWQgbnVtYmVyIG9mIHRyYW5zbWl0IGFuZCByZWNlaXZlCj4gKwkJ
CXF1ZXVlcyB3aXRoIHRoZSB1a25ldGRldiBBUEkuIFBsZWFzZSBub3RlIHRoYXQgZHJpdmVycwo+
ICsJCQloYXZlIHRoZWlyIG93biBsaW1pdHMgKHVzZSBBUEkgZ2V0dGVycyB0byBmaWd1cmUgb3V0
Cj4gKwkJCWRldmljZSBjYXBhYmlsaXRpZXMpLiBBcyBleGFtcGxlLCBvbmUgZHJpdmVyIG1heSBz
dXBwb3J0Cj4gKwkJCW9ubHkgYSBzaW5nbGUgcmVjZWl2ZS10cmFuc21pdCBxdWV1ZSBwYWlyIGFs
dGhvdWdoCj4gKwkJCXVrbmV0ZGV2IHdvdWxkIHN1cHBvcnQgMTYuCj4gKwo+ICsJY29uZmlnIExJ
QlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCj4gKwkJYm9vbCAiRGlzcGF0Y2hlciB0aHJlYWRz
IGZvciBldmVudCBjYWxsYmFja3MiCj4gKwkJc2VsZWN0IExJQlVLU0NIRUQKPiArCQlzZWxlY3Qg
TElCVUtMT0NLCj4gKwkJc2VsZWN0IExJQlVLTE9DS19TRU1BUEhPUkUKPiArCQlkZWZhdWx0IG4K
PiArCQloZWxwCj4gKwkJCUV2ZW50IGNhbGxiYWNrcyBhcmUgZGlzcGF0Y2hlZCBpbiBhIGJvdHRv
bSBoYWxmCj4gKwkJCXRocmVhZCBjb250ZXh0IGluc3RlYWQgb2YgdGhlIGRldmljZSBpbnRlcnJ1
cHQgY29udGV4dC4KPiArCQkJV2hlbiB0aGlzIG9wdGlvbiBpcyBlbmFibGVkIGEgZGlzcGF0Y2hl
ciB0aHJlYWQgaXMKPiArCQkJYWxsb2NhdGVkIGZvciBlYWNoIGNvbmZpZ3VyZWQgcmVjZWl2ZSBx
dWV1ZS4KPiArCQkJbGlidWtzY2hlZCBpcyByZXF1aXJlZCBmb3IgdGhpcyBvcHRpb24uCj4gK2Vu
ZGlmCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrIGIvbGliL3VrbmV0
ZGV2L2V4cG9ydHN5bXMudWsKPiBpbmRleCA5NmI1YmZkLi40ZTRkMzA2IDEwMDY0NAo+IC0tLSBh
L2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4gKysrIGIvbGliL3VrbmV0ZGV2L2V4cG9ydHN5
bXMudWsKPiBAQCAtMTMsMyArMTMsMTEgQEAgdWtfbmV0ZGV2X2dldAo+ICAgdWtfbmV0ZGV2X2lk
X2dldAo+ICAgdWtfbmV0ZGV2X2Rydl9uYW1lX2dldAo+ICAgdWtfbmV0ZGV2X3N0YXRlX2dldAo+
ICt1a19uZXRkZXZfaW5mb19nZXQKPiArdWtfbmV0ZGV2X2VpbmZvX2dldAo+ICt1a19uZXRkZXZf
cnhxX2luZm9fZ2V0Cj4gK3VrX25ldGRldl90eHFfaW5mb19nZXQKPiArdWtfbmV0ZGV2X2NvbmZp
Z3VyZQo+ICt1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZQo+ICt1a19uZXRkZXZfdHhxX2NvbmZpZ3Vy
ZQo+ICt1a19uZXRkZXZfc3RhcnQKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IGluZGV4IDc1
YThlNjYuLmEzYmQ0NGEgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2LmgKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IEBAIC01Miw2
ICs1MiwyMiBAQAo+ICAgICogVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgKHN0cnVjdCB1a19uZXRk
ZXYpIHdoaWNoIGNhbiBiZSBpbml0aWFsbHkgb2J0YWluZWQKPiAgICAqIGJ5IGl0cyBJRCBieSBj
YWxsaW5nIHVrX25ldGRldl9nZXQoKS4gVGhlIG5ldHdvcmsgYXBwbGljYXRpb24gc2hvdWxkIHN0
b3JlCj4gICAgKiB0aGlzIHJlZmVyZW5jZSBhbmQgdXNlIGl0IGZvciBzdWJzZXF1ZW50IEFQSSBj
YWxscy4KPiArICoKPiArICogVGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSB0aGUgVW5pa3JhZnQg
TkVUIEFQSSB0byBzZXR1cCBhIGRldmljZQo+ICsgKiBtdXN0IGJlIGludm9rZWQgaW4gdGhlIGZv
bGxvd2luZyBvcmRlcjoKPiArICogICAgIC0gdWtfbmV0ZGV2Cj4gKyAqICAgICAtIHVrX25ldGRl
dl9jb25maWd1cmUoKQo+ICsgKiAgICAgLSB1a19uZXRkZXZfdHhxX2NvbmZpZ3VyZSgpCj4gKyAq
ICAgICAtIHVrX25ldGRldl9yeHFfY29uZmlndXJlKCkKPiArICogICAgIC0gdWtfbmV0ZGV2X3N0
YXJ0KCkKPiArICogVGhlIHRyYW5zbWl0IGFuZCByZWNlaXZlIGZ1bmN0aW9ucyBzaG91bGQgbm90
IGJlIGludm9rZWQgd2hlbiB0aGUKPiArICogZGV2aWNlIGlzIG5vdCBzdGFydGVkLgo+ICsgKgo+
ICsgKiBUaGVyZSBhcmUgNCBzdGF0ZXMgaW4gd2hpY2ggYSBuZXR3b3JrIGRldmljZSBjYW4gYmUg
Zm91bmQ6Cj4gKyAqICAgICAtIFVLX05FVERFVl9VTlJFR0lTVEVSRUQKPiArICogICAgIC0gVUtf
TkVUREVWX1VOQ09ORklHVVJFRAo+ICsgKiAgICAgLSBVS19ORVRERVZfQ09ORklHVVJFRAo+ICsg
KiAgICAgLSBVS19ORVRERVZfUlVOTklORwo+ICAgICovCj4gICAjaWZkZWYgX19jcGx1c3BsdXMK
PiAgIGV4dGVybiAiQyIgewo+IEBAIC0xMTAsNiArMTI2LDE2NCBAQCBjb25zdCBjaGFyICp1a19u
ZXRkZXZfZHJ2X25hbWVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gICAgKi8KPiAgIGVu
dW0gdWtfbmV0ZGV2X3N0YXRlIHVrX25ldGRldl9zdGF0ZV9nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2KTsKPiAgIAo+ICsvKioKPiArICogUXVlcnkgZGV2aWNlIGNhcGFiaWxpdGllcy4KPiArICog
SW5mb3JtYXRpb24gdGhhdCBpcyB1c2VmdWwgZm9yIGRldmljZSBpbml0aWFsaXphdGlvbiAoZS5n
LiwKPiArICogbWF4aW11bSBudW1iZXIgb2Ygc3VwcG9ydGVkIFJYL1RYIHF1ZXVlcykuCj4gKyAq
Cj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4g
KyAqIEBwYXJhbSBkZXZfaW5mbwo+ICsgKiAgIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0
eXBlICp1a19uZXRkZXZfaW5mbyogdG8gYmUgZmlsbGVkIHdpdGgKPiArICogICB0aGUgY29udGV4
dHVhbCBpbmZvcm1hdGlvbiBvZiB0aGUgbmV0d29yayBkZXZpY2UuCj4gKyAqLwo+ICt2b2lkIHVr
X25ldGRldl9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCXN0cnVjdCB1a19u
ZXRkZXZfaW5mbyAqZGV2X2luZm8pOwo+ICsKPiArLyoqCj4gKyAqIEV4dHJhIGluZm9ybWF0aW9u
IHF1ZXJ5IGludGVyZmFjZS4KPiArICogVGhlIHVzZXIgY2FuIHF1ZXJ5IHRoZSBkcml2ZXIgZm9y
IGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIChlLmcsCj4gKyAqIElQIGFkZHJlc3MgY29uZmln
dXJhdGlvbiBwcmVmZXJyZWQgYnkgaHlwZXJ2aXNvciksIHVzaW5nIGEgbnVtYmVyIG9mCj4gKyAq
IHByZS1kZWZpbmVkIGNvbmZpZ3VyYXRpb24gdHlwZXMuCj4gKyAqCj4gKyAqIElmIHRoZSBkcml2
ZXIgZG9lc24ndCBzdXBwb3J0IHRoZSBwcm92aWRlZCBkYXRhIHR5cGUsIGl0IG11c3QgcmV0dXJu
IE5VTEwuCj4gKyAqCj4gKyAqIFRoaXMgYWxsb3dzIHRoZSBkcml2ZXIgdG8gcHJvdmlkZSBjb25m
aWd1cmF0aW9uIGRhdGEgd2l0aG91dCB0aGUgbmVlZCBvZgo+ICsgKiBwYXJzaW5nIGl0IGluIGEg
cHJlLWRldGVybWluZWQgd2F5LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgdXRpbGl0eQo+ICsg
KiBmdW5jdGlvbnMgaW4gdGhlIEFQSSwgb3IgcGFyc2luZyB0aGUgZGF0YSBtdWx0aXBsZSB0aW1l
cyBib3RoIGJ5IGRyaXZlcgo+ICsgKiBhbmQgdXNlci4KPiArICoKPiArICogQHBhcmFtIGRldgo+
ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHBhcmFtIGVpbmZvCj4g
KyAqICAgRXh0cmEgY29uZmlndXJhdGlvbiB0eXBlIHNlbGVjdGlvbiAoc2VlIGVudW0gZGVmaW5p
dGlvbikuCj4gKyAqIEByZXR1cm4KPiArICogICAtIChOVUxMKTogaWYgY29uZmlndXJhdGlvbiB1
bmF2YWlsYWJsZSBvciBkYXRhIHR5cGUgdW5zdXBwb3J0ZWQKPiArICogICAtICh2b2lkICopOiBS
ZWZlcmVuY2UgdG8gY29uZmlndXJhdGlvbiwgZm9ybWF0IHNwZWNpZmllZCBieSAqZWluZm8qCj4g
KyAqLwo+ICtjb25zdCB2b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKPiArCQkJCWVudW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWluZm8pOwo+ICsKPiArLyoq
Cj4gKyAqIENvbmZpZ3VyZXMgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4gKyAq
IEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gdW5jb25m
aWd1cmVkIHN0YXRlLgo+ICsgKiBAcGFyYW0gY29uZgo+ICsgKiAgIFRoZSBwb2ludGVyIHRvIHRo
ZSBjb25maWd1cmF0aW9uIGRhdGEgdG8gYmUgdXNlZCBmb3IgdGhlIFVuaWtyYWZ0Cj4gKyAqICAg
bmV0d29yayBkZXZpY2UuCj4gKyAqIEByZXR1cm4KPiArICogICAtICgwKTogU3VjY2VzcywgZGV2
aWNlIGlzIGluIGNvbmZpZ3VyZWQgc3RhdGUuCj4gKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIHJl
dHVybmVkIGJ5IHRoZSBkcml2ZXIuCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X2NvbmZpZ3VyZShz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCWNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAq
ZGV2X2NvbmYpOwo+ICsKPiArCj4gKy8qKgo+ICsgKiBRdWVyeSByZWNlaXZlIGRldmljZSBxdWV1
ZSBjYXBhYmlsaXRpZXMuCj4gKyAqIEluZm9ybWF0aW9uIHRoYXQgaXMgdXNlZnVsIGZvciBkZXZp
Y2UgcXVldWUgaW5pdGlhbGl6YXRpb24gKGUuZy4sCj4gKyAqIG1heGltdW0gbnVtYmVyIG9mIHN1
cHBvcnRlZCBkZXNjcmlwdG9ycyBvbiBSWCBxdWV1ZXMpLgo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2
Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIGluIGNvbmZpZ3VyZWQgc3RhdGUu
Cj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBx
dWV1ZSB0byBzZXQgdXAuCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFsw
LCBuYl9yeF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICogICB0byB1a19uZXRk
ZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBxdWV1ZV9pbmZvCj4gKyAqICAgQSBwb2ludGVy
IHRvIGEgc3RydWN0dXJlIG9mIHR5cGUgKnVrX25ldGRldl9xdWV1ZXNfaW5mbyogdG8gYmUgZmls
bGVkIG91dAo+ICsgKiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHF1ZXVlX2luZm8g
aXMgZmlsbGVkIG91dC4KPiArICogICAtICg8MCk6IEVycm9yIGNvZGUgb2YgdGhlIGRyaXZlcnMg
ZnVuY3Rpb24uCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkgICBzdHJ1Y3QgdWtfbmV0ZGV2
X3F1ZXVlX2luZm8gKnF1ZXVlX2luZm8pOwo+ICsKPiArLyoqCj4gKyAqIFNldHMgdXAgb25lIHJl
Y2VpdmUgcXVldWUgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgo+ICsgKgo+ICsgKiBA
cGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlIGluIGNvbmZpZ3Vy
ZWQgc3RhdGUuCj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUg
cmVjZWl2ZSBxdWV1ZSB0byBzZXQgdXAuCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhl
IHJhbmdlIFswLCBuYl9yeF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICogICB0
byB1a19uZXRkZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBuYl9kZXNjCj4gKyAqICAgTnVt
YmVyIG9mIGRlc2NyaXB0b3JzIGZvciB0aGUgcXVldWUuIEluc3BlY3QgdWtfbmV0ZGV2X3J4cV9p
bmZvX2dldCgpIHRvCj4gKyAqICAgcmV0cmlldmUgbGltaXRhdGlvbnMuIElmIG5iX2Rlc2MgaXMg
c2V0IHRvIDAsIHRoZSBkcml2ZXIgY2hvb3NlcyBhIGRlZmF1bHQKPiArICogICB2YWx1ZS4KPiAr
ICogQHBhcmFtIHJ4X2NvbmYKPiArICogICBUaGUgcG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlv
biBkYXRhIHRvIGJlIHVzZWQgZm9yIHRoZSByZWNlaXZlIHF1ZXVlLgo+ICsgKiAgIEl0cyBtZW1v
cnkgY2FuIGJlIHJlbGVhc2VkIGFmdGVyIGludm9raW5nIHRoaXMgZnVuY3Rpb24uCj4gKyAqIEBy
ZXR1cm4KPiArICogICAtICgwKTogU3VjY2VzcywgcmVjZWl2ZSBxdWV1ZSBjb3JyZWN0bHkgc2V0
IHVwLgo+ICsgKiAgIC0gKC1FTk9NRU0pOiBVbmFibGUgdG8gYWxsb2NhdGUgdGhlIHJlY2VpdmUg
cmluZyBkZXNjcmlwdG9ycy4KPiArICovCj4gK2ludCB1a19uZXRkZXZfcnhxX2NvbmZpZ3VyZShz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkgICAgdWludDE2
X3QgbmJfZGVzYywKPiArCQkJICAgIHN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpyeF9j
b25mKTsKPiArCj4gKy8qKgo+ICsgKiBRdWVyeSBkZXZpY2UgdHJhbnNtaXQgcXVldWUgY2FwYWJp
bGl0aWVzLgo+ICsgKiBJbmZvcm1hdGlvbiB0aGF0IGlzIHVzZWZ1bCBmb3IgZGV2aWNlIHF1ZXVl
IGluaXRpYWxpemF0aW9uIChlLmcuLAo+ICsgKiBtYXhpbXVtIG51bWJlciBvZiBzdXBwb3J0ZWQg
ZGVzY3JpcHRvcnMgb24gVFggcXVldWVzKS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAg
IFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgo+ICsgKiBA
cGFyYW0gcXVldWVfaWQKPiArICogICBUaGUgaW5kZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8g
c2V0IHVwLgo+ICsgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfdHhf
cXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkCj4gKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZp
Z3VyZSgpLgo+ICsgKiBAcGFyYW0gcXVldWVfaW5mbwo+ICsgKiAgIEEgcG9pbnRlciB0byBhIHN0
cnVjdHVyZSBvZiB0eXBlICp1a19uZXRkZXZfcXVldWVzX2luZm8qIHRvIGJlIGZpbGxlZCBvdXQK
PiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBTdWNjZXNzLCBxdWV1ZV9pbmZvIGlzIGZpbGxl
ZCBvdXQuCj4gKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXJzIGZ1bmN0aW9u
Lgo+ICsgKi8KPiAraW50IHVrX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPiArCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9p
bmZvICpxdWV1ZV9pbmZvKTsKPiArCj4gKy8qKgo+ICsgKiBTZXRzIHVwIG9uZSB0cmFuc21pdCBx
dWV1ZSBmb3IgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4gKyAqIEBwYXJhbSBk
ZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gY29uZmlndXJlZCBzdGF0
ZS4KPiArICogQHBhcmFtIHF1ZXVlX2lkCj4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSB0cmFuc21p
dCBxdWV1ZSB0byBzZXQgdXAuCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdl
IFswLCBuYl90eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICogICB0byB1a19u
ZXRkZXZfY29uZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBuYl9kZXNjCj4gKyAqICAgTnVtYmVyIG9m
IGRlc2NyaXB0b3JzIGZvciB0aGUgcXVldWUuIEluc3BlY3QgdWtfbmV0ZGV2X3R4cV9pbmZvX2dl
dCgpIHRvCj4gKyAqICAgcmV0cmlldmUgbGltaXRhdGlvbnMuIElmIG5iX2Rlc2MgaXMgc2V0IHRv
IDAsIHRoZSBkcml2ZXIgY2hvb3NlcyBhIGRlZmF1bHQKPiArICogICB2YWx1ZS4KPiArICogQHBh
cmFtIHR4X2NvbmYKPiArICogICBUaGUgcG9pbnRlciB0byB0aGUgY29uZmlndXJhdGlvbiBkYXRh
IHRvIGJlIHVzZWQgZm9yIHRoZSB0cmFuc21pdCBxdWV1ZS4KPiArICogICBJdHMgbWVtb3J5IGNh
biBiZSByZWxlYXNlZCBhZnRlciBpbnZva2luZyB0aGlzIGZ1bmN0aW9uLgo+ICsgKiBAcmV0dXJu
Cj4gKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIHRoZSB0cmFuc21pdCBxdWV1ZSBpcyBjb3JyZWN0bHkg
c2V0IHVwLgo+ICsgKiAgIC0gKC1FTk9NRU0pOiBVbmFibGUgdG8gYWxsb2NhdGUgdGhlIHRyYW5z
bWl0IHJpbmcgZGVzY3JpcHRvcnMuCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X3R4cV9jb25maWd1
cmUoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPiArCQkJICAgIHVp
bnQxNl90IG5iX2Rlc2MsCj4gKwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAq
dHhfY29uZik7Cj4gKwo+ICsvKioKPiArICogU3RhcnQgYSBOZXR3b3JrIGRldmljZS4KPiArICoK
PiArICogQWZ0ZXIgYSBuZXR3b3JrIGRldmljZSB3YXMgY29uZmlndXJlZCBhbmQgaXRzIHF1ZXVl
cyBhcmUgc2V0IHVwIHRoZSBkZXZpY2UKPiArICogY2FuIGJlIHN0YXJ0ZWQuIE9uIHN1Y2Nlc3Ms
IGFsbCBvcGVyYXRpb25hbCBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgdGhlCj4gKyAqIFVuaWtyYWZ0
IG5ldGRldiBBUEkgKGludGVycnVwdHMsIHJlY2VpdmUvdHJhbnNtaXQsIGFuZCBzbyBvbikgY2Fu
IGJlIGludm9rZWQKPiArICogYWZ0ZXJ3YXJkcy4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsg
KiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZSBpbiBjb25maWd1cmVkIHN0YXRlLgo+ICsg
KiBAcmV0dXJuCj4gKyAqICAgLSAoMCk6IFN1Y2Nlc3MsIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNl
IHN0YXJ0ZWQuCj4gKyAqICAgLSAoPDApOiBFcnJvciBjb2RlIG9mIHRoZSBkcml2ZXIgZGV2aWNl
IHN0YXJ0IGZ1bmN0aW9uLgo+ICsgKi8KPiAraW50IHVrX25ldGRldl9zdGFydChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYpOwo+ICsKPiAgICNpZmRlZiBfX2NwbHVzcGx1cwo+ICAgfQo+ICAgI2VuZGlm
Cj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggYi9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCj4gaW5kZXggMzE4NzVkMS4uNjMz
OWM2YSAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5o
Cj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IEBAIC00NSw2
ICs0NSwxMCBAQAo+ICAgI2luY2x1ZGUgPHVrL2xpc3QuaD4KPiAgICNpbmNsdWRlIDx1ay9hbGxv
Yy5oPgo+ICAgI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KPiArI2lmZGVmIENPTkZJR19MSUJV
S05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUwo+ICsjaW5jbHVkZSA8dWsvc2NoZWQuaD4KPiArI2lu
Y2x1ZGUgPHVrL3NlbWFwaG9yZS5oPgo+ICsjZW5kaWYKPiAgIAo+ICAgLyoqCj4gICAgKiBVbmlr
cmFmdCBuZXR3b3JrIEFQSSBjb21tb24gZGVjbGFyYXRpb25zLgo+IEBAIC02NCw2ICs2OCw0MiBA
QCBleHRlcm4gIkMiIHsKPiAgIHN0cnVjdCB1a19uZXRkZXY7Cj4gICBVS19UQUlMUV9IRUFEKHVr
X25ldGRldl9saXN0LCBzdHJ1Y3QgdWtfbmV0ZGV2KTsKPiAgIAo+ICsvKioKPiArICogQSBzdHJ1
Y3R1cmUgdXNlZCB0byBkZXNjcmliZSBuZXR3b3JrIGRldmljZSBjYXBhYmlsaXRpZXMuCj4gKyAq
Lwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gewo+ICsJdWludDE2X3QgbWF4X3J4X3F1ZXVlczsK
PiArCXVpbnQxNl90IG1heF90eF9xdWV1ZXM7Cj4gKwlpbnQgaW5fcXVldWVfcGFpcnM7IC8qKjwg
SWYgdHJ1ZSwgYWxsb2NhdGUgcXVldWVzIGluIHBhaXJzLiAqLwo+ICsJdWludDE2X3QgbWF4X210
dTsgICAvKio8IE1heGltdW0gc3VwcG9ydGVkIE1UVSBzaXplLiAqLwo+ICsJdWludDE2X3QgbmJf
ZW5jYXA7ICAvKio8IE51bWJlciBvZiBieXRlcyByZXF1aXJlZCBhcyBoZWFkcm9vbSBmb3IgdHgu
ICovCj4gK307Cj4gKwo+ICsvKioKPiArICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBkZXNjcmliZSBk
ZXZpY2UgZGVzY3JpcHRvciByaW5nIGxpbWl0YXRpb25zLgo+ICsgKi8KPiArc3RydWN0IHVrX25l
dGRldl9xdWV1ZV9pbmZvIHsKPiArCXVpbnQxNl90IG5iX21heDsgICAgICAgIC8qKjwgTWF4IGFs
bG93ZWQgbnVtYmVyIG9mIGRlc2NyaXB0b3JzLiAqLwo+ICsJdWludDE2X3QgbmJfbWluOyAgICAg
ICAgLyoqPCBNaW4gYWxsb3dlZCBudW1iZXIgb2YgZGVzY3JpcHRvcnMuICovCj4gKwl1aW50MTZf
dCBuYl9hbGlnbjsgICAgICAvKio8IE51bWJlciBzaG91bGQgYmUgYSBtdWx0aXBsZSBvZiBuYl9h
bGlnbi4gKi8KPiArCWludCBuYl9pc19wb3dlcl9vZl90d287IC8qKjwgTnVtYmVyIHNob3VsZCBi
ZSBhIHBvd2VyIG9mIHR3by4gKi8KPiArfTsKPiArCj4gKy8qKgo+ICsgKiBBIHN0cnVjdHVyZSB1
c2VkIHRvIGNvbmZpZ3VyZSBhIG5ldHdvcmsgZGV2aWNlLgo+ICsgKi8KPiArc3RydWN0IHVrX25l
dGRldl9jb25mIHsKPiArCXVpbnQxNl90IG5iX3J4X3F1ZXVlczsKPiArCXVpbnQxNl90IG5iX3R4
X3F1ZXVlczsKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBAaW50ZXJuYWwgUXVldWUgc3RydWN0cyB0
aGF0IGFyZSBkZWZpbmVkIGludGVybmFsbHkgYnkgZWFjaCBkcml2ZXIKPiArICogVGhlIGRhdGF0
eXBlIGlzIGludHJvZHVjZWQgaGVyZSBmb3IgaGF2aW5nIHR5cGUgY2hlY2tpbmcgb24gdGhlCj4g
KyAqIEFQSSBjb2RlCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlOwo+ICtzdHJ1
Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlOwo+ICAgCj4gICAvKioKPiAgICAqIEVudW0gdG8gZGVzY3Jp
YmUgcG9zc2libGUgc3RhdGVzIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgo+IEBAIC03
NSw2ICsxMTUsMTQ5IEBAIGVudW0gdWtfbmV0ZGV2X3N0YXRlIHsKPiAgIAlVS19ORVRERVZfUlVO
TklORywKPiAgIH07Cj4gICAKPiArLyoqCj4gKyAqIEVudW0gdXNlZCBieSB0aGUgZXh0cmEgaW5m
b3JtYXRpb24gcXVlcnkgaW50ZXJmYWNlLgo+ICsgKgo+ICsgKiBUaGUgcHVycG9zZSBvZiB0aGlz
IHR5cGUgaXMgdG8gYWxsb3cgZHJpdmVycyB0byBmb3J3YXJkIGV4dHJhIGNvbmZpZ3VyYXRpb25z
Cj4gKyAqIG9wdGlvbnMgc3VjaCBhcyBJUCBpbmZvcm1hdGlvbiB3aXRob3V0IHBhcnNpbmcgdGhp
cyBkYXRhIGJ5IHRoZW1zZWx2ZXMgKGUuZy4sCj4gKyAqIHN0cmluZ3Mgb2YgSVAgYWRkcmVzcyBh
bmQgbWFzayBmb3VuZCBvbiBYZW5TdG9yZSBieSBuZXRmcm9udCkuCj4gKyAqIFdlIGRvIG5vdCB3
YW50IHRvIGludHJvZHVjZSBhbnkgYWRkaXRpb25hbCBwYXJzaW5nIGxvZ2ljIGluc2lkZSB1a25l
dGRldiBBUEkKPiArICogYmVjYXVzZSB3ZSBhc3N1bWUgdGhhdCBtb3N0IG5ldHdvcmsgc3RhY2tz
IHByb3ZpZGUgdGhpcyBmdW5jdGlvbmFsaXR5Cj4gKyAqIGFueXdheXMuIFNvIG9uZSBjb3VsZCBm
b3J3YXJkIHRoaXMgZGF0YSB3aXRoaW4gdGhlIGdsdWUgY29kZS4KPiArICoKPiArICogVGhpcyBs
aXN0IGlzIGV4dGVuc2libGUgaW4gdGhlIGZ1dHVyZSB3aXRob3V0IG5lZWRpbmcgdGhlIGRyaXZl
cnMgdG8gYWRvcHQKPiArICogYW55IG9yIGFsbCBvZiB0aGUgZGF0YSB0eXBlcy4KPiArICoKPiAr
ICogVGhlIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBhdmFpbGFibGUgaW4gb25lIG9mIHRoZSBmb2xs
b3dpbmcgZm9ybWF0czoKPiArICogLSAqX05JTlQxNjogTmV0d29yay1vcmRlciByYXcgaW50ICg0
IGJ5dGVzKQo+ICsgKiAtICpfU1RSOiBOdWxsLXRlcm1pbmF0ZWQgc3RyaW5nCj4gKyAqLwo+ICtl
bnVtIHVrX25ldGRldl9laW5mb190eXBlIHsKPiArCS8qIElQdjQgYWRkcmVzcyBhbmQgbWFzayAq
Lwo+ICsJVUtfTkVUREVWX0lQVjRfQUREUl9OSU5UMTYsCj4gKwlVS19ORVRERVZfSVBWNF9BRERS
X1NUUiwKPiArCVVLX05FVERFVl9JUFY0X01BU0tfTklOVDE2LAo+ICsJVUtfTkVUREVWX0lQVjRf
TUFTS19TVFIsCj4gKwo+ICsJLyogSVB2NCBnYXRld2F5ICovCj4gKwlVS19ORVRERVZfSVBWNF9H
V19OSU5UMTYsCj4gKwlVS19ORVRERVZfSVBWNF9HV19TVFIsCj4gKwo+ICsJLyogSVB2NCBQcmlt
YXJ5IEROUyAqLwo+ICsJVUtfTkVUREVWX0lQVjRfRE5TMF9OSU5UMTYsCj4gKwlVS19ORVRERVZf
SVBWNF9ETlMwX1NUUiwKPiArCj4gKwkvKiBJUHY0IFNlY29uZGFyeSBETlMgKi8KPiArCVVLX05F
VERFVl9JUFY0X0ROUzFfTklOVDE2LAo+ICsJVUtfTkVUREVWX0lQVjRfRE5TMV9TVFIsCj4gK307
Cj4gKwo+ICsvKioKPiArICogRnVuY3Rpb24gdHlwZSB1c2VkIGZvciBxdWV1ZSBldmVudCBjYWxs
YmFja3MuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29y
ayBEZXZpY2UuCj4gKyAqIEBwYXJhbSBxdWV1ZQo+ICsgKiAgIFRoZSBxdWV1ZSBvbiB0aGUgVW5p
a3JhZnQgbmV0d29yayBkZXZpY2Ugb24gd2hpY2ggdGhlIGV2ZW50IGhhcHBlbmVkLgo+ICsgKiBA
cGFyYW0gYXJncAo+ICsgKiAgIEV4dHJhIGFyZ3VtZW50IHRoYXQgY2FuIGJlIGRlZmluZWQgb24g
Y2FsbGJhY2sgcmVnaXN0cmF0aW9uLgo+ICsgKi8KPiArdHlwZWRlZiB2b2lkICgqdWtfbmV0ZGV2
X3F1ZXVlX2V2ZW50X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJCQl1aW50MTZfdCBx
dWV1ZV9pZCwgdm9pZCAqYXJncCk7Cj4gKwo+ICsvKioKPiArICogQSBzdHJ1Y3R1cmUgdXNlZCB0
byBjb25maWd1cmUgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UgUlggcXVldWUuCj4gKyAqLwo+
ICtzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiB7Cj4gKwl1a19uZXRkZXZfcXVldWVfZXZl
bnRfdCBjYWxsYmFjazsgLyoqPCBFdmVudCBjYWxsYmFjayBmdW5jdGlvbi4gKi8KPiArCXZvaWQg
KmNhbGxiYWNrX2Nvb2tpZTsgICAgICAgICAgICAvKio8IEFyZ3VtZW50IHBvaW50ZXIgZm9yIGNh
bGxiYWNrLiAqLwo+ICsKPiArCXN0cnVjdCB1a19hbGxvYyAqYTsgICAgICAgICAgICAgICAvKio8
IEFsbG9jYXRvciBmb3IgZGVzY3JpcHRvcnMuICovCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRE
RVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCXN0cnVjdCB1a19zY2hlZCAqczsgICAgICAgICAgICAg
ICAvKio8IFNjaGVkdWxlciBmb3IgZGlzcGF0Y2hlci4gKi8KPiArI2VuZGlmCj4gK307Cj4gKwo+
ICsvKioKPiArICogQSBzdHJ1Y3R1cmUgdXNlZCB0byBjb25maWd1cmUgYW4gVW5pa3JhZnQgbmV0
d29yayBkZXZpY2UgVFggcXVldWUuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVf
Y29uZiB7Cj4gKwlzdHJ1Y3QgdWtfYWxsb2MgKmE7ICAgICAgICAgICAgICAgLyogQWxsb2NhdG9y
IGZvciBkZXNjcmlwdG9ycy4gKi8KPiArfTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlw
ZSB0byByZWFkIGRldmljZS9kcml2ZXIgY2FwYWJpbGl0aWVzLAo+ICsgKiAgdXNlZCBmb3IgY29u
ZmlndXJpbmcgdGhlIGRldmljZQo+ICsgKi8KPiArdHlwZWRlZiB2b2lkICgqdWtfbmV0ZGV2X2lu
Zm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJCSAgICAgc3RydWN0IHVrX25l
dGRldl9pbmZvICpkZXZfaW5mbyk7Cj4gKwo+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8g
cmVhZCBhbnkgZXh0cmEgY29uZmlndXJhdGlvbi4gKi8KPiArdHlwZWRlZiBjb25zdCB2b2lkICoo
KnVrX25ldGRldl9laW5mb19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJCSAg
ICAgZW51bSB1a19uZXRkZXZfZWluZm9fdHlwZSBlY29uZik7Cj4gKwo+ICsvKiogRHJpdmVyIGNh
bGxiYWNrIHR5cGUgdG8gY29uZmlndXJlIGEgbmV0d29yayBkZXZpY2UuICovCj4gK3R5cGVkZWYg
aW50ICAoKnVrX25ldGRldl9jb25maWd1cmVfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJ
CQkJICAgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKPiArCj4gKy8qKiBE
cml2ZXIgY2FsbGJhY2sgdHlwZSB0byByZXRyaWV2ZSBSWCBxdWV1ZSBsaW1pdGF0aW9ucywKPiAr
ICogIHVzZWQgZm9yIGNvbmZpZ3VyaW5nIHRoZSBSWCBxdWV1ZSBsYXRlcgo+ICsgKi8KPiArdHlw
ZWRlZiBpbnQgKCp1a19uZXRkZXZfcnhxX2luZm9fZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRl
diwKPiArCXVpbnQxNl90IHF1ZXVlX2lkLCBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnF1
ZXVlX2luZm8pOwo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHJldHJpZXZlIFRY
IHF1ZXVlIGxpbWl0YXRpb25zLAo+ICsgKiAgdXNlZCBmb3IgY29uZmlndXJpbmcgdGhlIFRYIHF1
ZXVlIGxhdGVyCj4gKyAqLwo+ICt0eXBlZGVmIGludCAoKnVrX25ldGRldl90eHFfaW5mb19nZXRf
dCkoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCB1
a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbyk7Cj4gKwo+ICsvKiogRHJpdmVyIGNhbGxi
YWNrIHR5cGUgdG8gc2V0IHVwIGEgUlggcXVldWUgb2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZp
Y2UuICovCj4gK3R5cGVkZWYgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqICgqdWtfbmV0ZGV2
X3R4cV9jb25maWd1cmVfdCkoCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1
ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAo+ICsJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2Nv
bmYgKnR4X2NvbmYpOwo+ICsKPiArLyoqIERyaXZlciBjYWxsYmFjayB0eXBlIHRvIHNldCB1cCBh
IFRYIHF1ZXVlIG9mIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLiAqLwo+ICt0eXBlZGVmIHN0
cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKiAoKnVrX25ldGRldl9yeHFfY29uZmlndXJlX3QpKAo+
ICsJc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwgdWludDE2X3QgbmJf
ZGVzYywKPiArCXN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpyeF9jb25mKTsKPiArCj4g
Ky8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBzdGFydCBhIGNvbmZpZ3VyZWQgVW5pa3JhZnQg
bmV0d29yayBkZXZpY2UuICovCj4gK3R5cGVkZWYgaW50ICAoKnVrX25ldGRldl9zdGFydF90KShz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICsKPiArLyoqCj4gKyAqIEEgc3RydWN0dXJlIGNvbnRh
aW5pbmcgdGhlIGZ1bmN0aW9ucyBleHBvcnRlZCBieSBhIGRyaXZlci4KPiArICovCj4gK3N0cnVj
dCB1a19uZXRkZXZfb3BzIHsKPiArCS8qKiBEZXZpY2UvZHJpdmVyIGNhcGFiaWxpdGllcyBhbmQg
aW5mby4gKi8KPiArCXVrX25ldGRldl9pbmZvX2dldF90ICAgICAgICAgICAgaW5mb19nZXQ7Cj4g
Kwl1a19uZXRkZXZfdHhxX2luZm9fZ2V0X3QgICAgICAgIHR4cV9pbmZvX2dldDsKPiArCXVrX25l
dGRldl9yeHFfaW5mb19nZXRfdCAgICAgICAgcnhxX2luZm9fZ2V0Owo+ICsJdWtfbmV0ZGV2X2Vp
bmZvX2dldF90ICAgICAgICAgICBlaW5mb19nZXQ7ICAgICAgICAvKiBvcHRpb25hbCAqLwo+ICsK
PiArCS8qKiBEZXZpY2UgbGlmZSBjeWNsZS4gKi8KPiArCXVrX25ldGRldl9jb25maWd1cmVfdCAg
ICAgICAgICAgY29uZmlndXJlOwo+ICsJdWtfbmV0ZGV2X3R4cV9jb25maWd1cmVfdCAgICAgICB0
eHFfY29uZmlndXJlOwo+ICsJdWtfbmV0ZGV2X3J4cV9jb25maWd1cmVfdCAgICAgICByeHFfY29u
ZmlndXJlOwo+ICsJdWtfbmV0ZGV2X3N0YXJ0X3QgICAgICAgICAgICAgICBzdGFydDsKPiArfTsK
PiArCj4gKy8qKgo+ICsgKiBAaW50ZXJuYWwKPiArICogRXZlbnQgaGFuZGxlciBjb25maWd1cmF0
aW9uIChpbnRlcm5hbCB0byBsaWJ1a25ldGRldikKPiArICovCj4gK3N0cnVjdCB1a19uZXRkZXZf
ZXZlbnRfaGFuZGxlciB7Cj4gKwl1a19uZXRkZXZfcXVldWVfZXZlbnRfdCBjYWxsYmFjazsKPiAr
CXZvaWQgICAgICAgICAgICAgICAgICAgICpjb29raWU7Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0xJ
QlVLTkVUREVWX0RJU1BBVENIRVJUSFJFQURTCj4gKwlzdHJ1Y3QgdWtfc2VtYXBob3JlIGV2ZW50
czsgICAgICAvKio8IHNlbWFwaG9yZSB0byB0cmlnZ2VyIGV2ZW50cyAqLwo+ICsJc3RydWN0IHVr
X25ldGRldiAgICAqZGV2OyAgICAgICAgLyoqPCByZWZlcmVuY2UgdG8gbmV0IGRldmljZSAqLwo+
ICsJdWludDE2X3QgICAgICAgICAgICBxdWV1ZV9pZDsgICAgLyoqPCBxdWV1ZSBpZCB3aGljaCBj
YXVzZWQgZXZlbnQgKi8KPiArCXN0cnVjdCB1a190aHJlYWQgICAgKmRpc3BhdGNoZXI7IC8qKjwg
ZGlzcGF0Y2hlciB0aHJlYWQgKi8KPiArCWNoYXIgICAgICAgICAgICAgICAgKmRpc3BhdGNoZXJf
bmFtZTsgLyoqPCByZWZlcmVuY2UgdG8gdGhyZWFkIG5hbWUgKi8KPiArCXN0cnVjdCB1a19zY2hl
ZCAgICAgKmRpc3BhdGNoZXJfczsgICAgLyoqPCBTY2hlZHVsZXIgZm9yIGRpc3BhdGNoZXIuICov
Cj4gKyNlbmRpZgo+ICt9Owo+ICAgCj4gICAvKioKPiAgICAqIEBpbnRlcm5hbAo+IEBAIC04Myw2
ICsyNjYsOSBAQCBlbnVtIHVrX25ldGRldl9zdGF0ZSB7Cj4gICBzdHJ1Y3QgdWtfbmV0ZGV2X2Rh
dGEgewo+ICAgCWVudW0gdWtfbmV0ZGV2X3N0YXRlIHN0YXRlOwo+ICAgCj4gKwlzdHJ1Y3QgdWtf
bmV0ZGV2X2V2ZW50X2hhbmRsZXIKPiArCQkJICAgICByeHFfaGFuZGxlcltDT05GSUdfTElCVUtO
RVRERVZfTUFYTkJRVUVVRVNdOwo+ICsKPiAgIAljb25zdCB1aW50MTZfdCAgICAgICBpZDsgICAg
LyoqPCBJRCBpcyBhc3NpZ25lZCBkdXJpbmcgcmVnaXN0cmF0aW9uICovCj4gICAJY29uc3QgY2hh
ciAgICAgICAgICAgKmRydl9uYW1lOwo+ICAgfTsKPiBAQCAtOTAsMTEgKzI3NiwyMSBAQCBzdHJ1
Y3QgdWtfbmV0ZGV2X2RhdGEgewo+ICAgLyoqCj4gICAgKiBORVRERVYKPiAgICAqIEEgc3RydWN0
dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsgZGV2aWNlLgo+ICsgKgo+ICsgKiBG
dW5jdGlvbiBjYWxsYmFja3MgKG9wcykgYXJlIHJlZ2lzdGVyZWQgYnkgdGhlIGRyaXZlciBiZWZv
cmUKPiArICogcmVnaXN0ZXJpbmcgdGhlIG5ldGRldi4gVGhleSBjaGFuZ2UgZHVyaW5nIGRldmlj
ZSBsaWZlIHRpbWUuCj4gICAgKi8KPiAgIHN0cnVjdCB1a19uZXRkZXYgewo+ICAgCS8qKiBQb2lu
dGVyIHRvIEFQSS1pbnRlcm5hbCBzdGF0ZSBkYXRhLiAqLwo+ICAgCXN0cnVjdCB1a19uZXRkZXZf
ZGF0YSAgICAgICAqX2RhdGE7Cj4gICAKPiArCS8qKiBGdW5jdGlvbnMgY2FsbGJhY2tzIGJ5IGRy
aXZlci4gKi8KPiArCWNvbnN0IHN0cnVjdCB1a19uZXRkZXZfb3BzICAqb3BzOyAgIC8qIGJ5IGRy
aXZlciAqLwo+ICsKPiArCS8qKiBQb2ludGVycyB0byBxdWV1ZXMgKEFQSS1wcml2YXRlKSAqLwo+
ICsJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAgICpfcnhfcXVldWVbQ09ORklHX0xJQlVLTkVU
REVWX01BWE5CUVVFVUVTXTsKPiArCXN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgICAqX3R4X3F1
ZXVlW0NPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFU107Cj4gKwo+ICAgCVVLX1RBSUxRX0VO
VFJZKHN0cnVjdCB1a19uZXRkZXYpIF9saXN0Owo+ICAgfTsKPiAgIAo+IGRpZmYgLS1naXQgYS9s
aWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBpbmRleCA3YzJk
OWJmLi44NDRiYjZjIDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYuYwo+ICsrKyBi
L2xpYi91a25ldGRldi9uZXRkZXYuYwo+IEBAIC02OSw2ICs2OSwxNiBAQCBpbnQgdWtfbmV0ZGV2
X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwK
PiAgIAlVS19BU1NFUlQoZGV2KTsKPiAgIAlVS19BU1NFUlQoIWRldi0+X2RhdGEpOwo+ICAgCj4g
KwkvKiBBc3NlcnQgbWFuZGF0b3J5IGNvbmZpZ3VyYXRpb24gKi8KPiArCVVLX0FTU0VSVChkZXYt
Pm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPmluZm9fZ2V0KTsKPiArCVVLX0FTU0VSVChk
ZXYtPm9wcy0+Y29uZmlndXJlKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+cnhxX2luZm9fZ2V0
KTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+cnhxX2NvbmZpZ3VyZSk7Cj4gKwlVS19BU1NFUlQo
ZGV2LT5vcHMtPnR4cV9pbmZvX2dldCk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9jb25m
aWd1cmUpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFydCk7Cj4gKwo+ICAgCWRldi0+X2Rh
dGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQsICBkcnZfbmFtZSk7Cj4gICAJaWYgKCFk
ZXYtPl9kYXRhKQo+ICAgCQlyZXR1cm4gLUVOT01FTTsKPiBAQCAtMTIxLDMgKzEzMSwyODMgQEAg
ZW51bSB1a19uZXRkZXZfc3RhdGUgdWtfbmV0ZGV2X3N0YXRlX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYpCj4gICAKPiAgIAlyZXR1cm4gZGV2LT5fZGF0YS0+c3RhdGU7Cj4gICB9Cj4gKwo+ICt2
b2lkIHVrX25ldGRldl9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCXN0cnVj
dCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8pCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJ
VUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+aW5mb19nZXQpOwo+
ICsJVUtfQVNTRVJUKGRldl9pbmZvKTsKPiArCj4gKwkvKiBDbGVhciB2YWx1ZXMgYmVmb3JlIHF1
ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVzICovCj4gKwltZW1zZXQoZGV2X2luZm8sIDAs
IHNpemVvZigqZGV2X2luZm8pKTsKPiArCWRldi0+b3BzLT5pbmZvX2dldChkZXYsIGRldl9pbmZv
KTsKPiArCj4gKwkvKiBMaW1pdCB0aGUgbWF4aW11bSBudW1iZXIgb2YgcnggcXVldWVzIGFuZCB0
eCBxdWV1ZXMKPiArCSAqIGFjY29yZGluZyB0byB0aGUgQVBJIGNvbmZpZ3VyYXRpb24KPiArCSAq
Lwo+ICsJZGV2X2luZm8tPm1heF9yeF9xdWV1ZXMgPSBNSU4oQ09ORklHX0xJQlVLTkVUREVWX01B
WE5CUVVFVUVTLAo+ICsJCQkJICAgICAgZGV2X2luZm8tPm1heF9yeF9xdWV1ZXMpOwo+ICsJZGV2
X2luZm8tPm1heF90eF9xdWV1ZXMgPSBNSU4oQ09ORklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVT
LAo+ICsJCQkJICAgICAgZGV2X2luZm8tPm1heF90eF9xdWV1ZXMpOwo+ICt9Cj4gKwo+ICtjb25z
dCB2b2lkICp1a19uZXRkZXZfZWluZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJ
CWVudW0gdWtfbmV0ZGV2X2VpbmZvX3R5cGUgZWluZm8pCj4gK3sKPiArCVVLX0FTU0VSVChkZXYp
Owo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCj4gKwlpZiAoIWRldi0+b3BzLT5laW5mb19n
ZXQpIHsKPiArCQkvKiBkcml2ZXIgZG9lcyBub3QgcHJvdmlkZSBhbnkgZXh0cmEgY29uZmlndXJh
dGlvbiAqLwo+ICsJCXJldHVybiBOVUxMOwo+ICsJfQo+ICsJcmV0dXJuIGRldi0+b3BzLT5laW5m
b19nZXQoZGV2LCBlaW5mbyk7Cj4gK30KPiArCj4gK2ludCB1a19uZXRkZXZfcnhxX2luZm9fZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCSAgIHN0cnVj
dCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcXVldWVfaW5mbykKPiArewo+ICsJVUtfQVNTRVJUKGRl
dik7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT5yeHFf
aW5mb19nZXQpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVLTkVUREVWX01B
WE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVChxdWV1ZV9pbmZvKTsKPiArCj4gKwkvKiBDbGVhciB2
YWx1ZXMgYmVmb3JlIHF1ZXJ5aW5nIGRyaXZlciBmb3IgY2FwYWJpbGl0aWVzICovCj4gKwltZW1z
ZXQocXVldWVfaW5mbywgMCwgc2l6ZW9mKCpxdWV1ZV9pbmZvKSk7Cj4gKwlyZXR1cm4gZGV2LT5v
cHMtPnJ4cV9pbmZvX2dldChkZXYsIHF1ZXVlX2lkLCBxdWV1ZV9pbmZvKTsKPiArfQo+ICsKPiAr
aW50IHVrX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZf
dCBxdWV1ZV9pZCwKPiArCQkJICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxdWV1ZV9p
bmZvKQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4g
KwlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9pbmZvX2dldCk7Cj4gKwlVS19BU1NFUlQocXVldWVf
aWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+ICsJVUtfQVNTRVJUKHF1ZXVl
X2luZm8pOwo+ICsKPiArCS8qIENsZWFyIHZhbHVlcyBiZWZvcmUgcXVlcnlpbmcgZHJpdmVyIGZv
ciBjYXBhYmlsaXRpZXMgKi8KPiArCW1lbXNldChxdWV1ZV9pbmZvLCAwLCBzaXplb2YoKnF1ZXVl
X2luZm8pKTsKPiArCXJldHVybiBkZXYtPm9wcy0+dHhxX2luZm9fZ2V0KGRldiwgcXVldWVfaWQs
IHF1ZXVlX2luZm8pOwo+ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCj4gKwkJCWNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqZGV2X2Nv
bmYpCj4gK3sKPiArCXN0cnVjdCB1a19uZXRkZXZfaW5mbyBkZXZfaW5mbzsKPiArCWludCByZXQ7
Cj4gKwo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4gKwlV
S19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT5jb25maWd1cmUpOwo+
ICsJVUtfQVNTRVJUKGRldl9jb25mKTsKPiArCj4gKwlpZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0g
VUtfTkVUREVWX1VOQ09ORklHVVJFRCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwl1a19u
ZXRkZXZfaW5mb19nZXQoZGV2LCAmZGV2X2luZm8pOwo+ICsJaWYgKGRldl9jb25mLT5uYl9yeF9x
dWV1ZXMgPiBkZXZfaW5mby5tYXhfcnhfcXVldWVzKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJ
aWYgKGRldl9jb25mLT5uYl90eF9xdWV1ZXMgPiBkZXZfaW5mby5tYXhfdHhfcXVldWVzKQo+ICsJ
CXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXJldCA9IGRldi0+b3BzLT5jb25maWd1cmUoZGV2LCBk
ZXZfY29uZik7Cj4gKwlpZiAocmV0ID49IDApIHsKPiArCQl1a19wcl9pbmZvKCJuZXRkZXYlIlBS
SXUxNiI6IENvbmZpZ3VyZWQgaW50ZXJmYWNlXG4iLAo+ICsJCQkgICBkZXYtPl9kYXRhLT5pZCk7
Cj4gKwkJZGV2LT5fZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfQ09ORklHVVJFRDsKPiArCX0gZWxz
ZSB7Cj4gKwkJdWtfcHJfZXJyKCJuZXRkZXYlIlBSSXUxNiI6IEZhaWxlZCB0byBjb25maWd1cmUg
aW50ZXJmYWNlOiAlZFxuIiwKPiArCQkJICBkZXYtPl9kYXRhLT5pZCwgcmV0KTsKPiArCX0KPiAr
CXJldHVybiByZXQ7Cj4gK30KPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFU
Q0hFUlRIUkVBRFMKPiArc3RhdGljIHZvaWQgX2Rpc3BhdGNoZXIodm9pZCAqYXJnKQo+ICt7Cj4g
KwlzdHJ1Y3QgdWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIgKmhhbmRsZXIgPQo+ICsJCShzdHJ1Y3Qg
dWtfbmV0ZGV2X2V2ZW50X2hhbmRsZXIgKikgYXJnOwo+ICsKPiArCVVLX0FTU0VSVChoYW5kbGVy
KTsKPiArCVVLX0FTU0VSVChoYW5kbGVyLT5jYWxsYmFjayk7Cj4gKwo+ICsJZm9yICg7Oykgewo+
ICsJCXVrX3NlbWFwaG9yZV9kb3duKCZoYW5kbGVyLT5ldmVudHMpOwo+ICsJCWhhbmRsZXItPmNh
bGxiYWNrKGhhbmRsZXItPmRldiwKPiArCQkJCSAgaGFuZGxlci0+cXVldWVfaWQsCj4gKwkJCQkg
IGhhbmRsZXItPmNvb2tpZSk7Cj4gKwl9Cj4gK30KPiArI2VuZGlmCj4gKwo+ICtzdGF0aWMgaW50
IF9jcmVhdGVfZXZlbnRfaGFuZGxlcih1a19uZXRkZXZfcXVldWVfZXZlbnRfdCBjYWxsYmFjaywK
PiArCQkJCSB2b2lkICpjYWxsYmFja19jb29raWUsCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRE
RVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCQkJCSBzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQx
Nl90IHF1ZXVlX2lkLAo+ICsJCQkJIGNvbnN0IGNoYXIgKnF1ZXVlX3R5cGVfc3RyLAo+ICsJCQkJ
IHN0cnVjdCB1a19zY2hlZCAqcywKPiArI2VuZGlmCj4gKwkJCQkgc3RydWN0IHVrX25ldGRldl9l
dmVudF9oYW5kbGVyICpoKQo+ICt7Cj4gKwlVS19BU1NFUlQoaCk7Cj4gKwlVS19BU1NFUlQoY2Fs
bGJhY2sgfHwgKCFjYWxsYmFjayAmJiAhY2FsbGJhY2tfY29va2llKSk7Cj4gKyNpZmRlZiBDT05G
SUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCVVLX0FTU0VSVCghaC0+ZGlzcGF0
Y2hlcik7Cj4gKyNlbmRpZgo+ICsKPiArCWgtPmNhbGxiYWNrID0gY2FsbGJhY2s7Cj4gKwloLT5j
b29raWUgICA9IGNhbGxiYWNrX2Nvb2tpZTsKPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRE
RVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCS8qIElmIHdlIGRvIG5vdCBoYXZlIGEgY2FsbGJhY2ss
IHdlIGRvIG5vdCBuZWVkIGEgdGhyZWFkICovCj4gKwlpZiAoIWNhbGxiYWNrKQo+ICsJCXJldHVy
biAwOwo+ICsKPiArCWgtPmRldiA9IGRldjsKPiArCWgtPnF1ZXVlX2lkID0gcXVldWVfaWQ7Cj4g
Kwl1a19zZW1hcGhvcmVfaW5pdCgmaC0+ZXZlbnRzLCAwKTsKPiArCWgtPmRpc3BhdGNoZXJfcyA9
IHM7Cj4gKwo+ICsJLyogQ3JlYXRlIGEgbmFtZSBmb3IgdGhlIGRpc3BhdGNoZXIgdGhyZWFkLgo+
ICsJICogSW4gY2FzZSBvZiBlcnJvcnMsIHdlIGp1c3QgY29udGludWUgd2l0aG91dCBhIG5hbWUK
PiArCSAqLwo+ICsJaWYgKGFzcHJpbnRmKCZoLT5kaXNwYXRjaGVyX25hbWUsCj4gKwkJICAgICAi
bmV0ZGV2JSJQUkl1MTYiLSVzWyUiUFJJdTE2Il0iLAo+ICsJCSAgICAgZGV2LT5fZGF0YS0+aWQs
IHF1ZXVlX3R5cGVfc3RyLCBxdWV1ZV9pZCkgPCAwKSB7Cj4gKwkJaC0+ZGlzcGF0Y2hlcl9uYW1l
ID0gTlVMTDsKPiArCX0KPiArCj4gKwloLT5kaXNwYXRjaGVyID0gdWtfc2NoZWRfdGhyZWFkX2Ny
ZWF0ZShoLT5kaXNwYXRjaGVyX3MsCj4gKwkJCQkJICAgICAgIGgtPmRpc3BhdGNoZXJfbmFtZSwK
PiArCQkJCQkgICAgICAgX2Rpc3BhdGNoZXIsIGgpOwo+ICsJaWYgKCFoLT5kaXNwYXRjaGVyKSB7
Cj4gKwkJaWYgKGgtPmRpc3BhdGNoZXJfbmFtZSkKPiArCQkJZnJlZShoLT5kaXNwYXRjaGVyX25h
bWUpOwo+ICsJCWgtPmRpc3BhdGNoZXJfbmFtZSA9IE5VTEw7Cj4gKwkJcmV0dXJuIC1FTk9NRU07
Cj4gKwl9Cj4gKyNlbmRpZgo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p
ZCBfZGVzdHJveV9ldmVudF9oYW5kbGVyKHN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAq
aAo+ICsJCQkJICAgX19tYXliZV91bnVzZWQpCj4gK3sKPiArCVVLX0FTU0VSVChoKTsKPiArCj4g
KyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCVVLX0FTU0VS
VChoLT5kaXNwYXRjaGVyX3MpOwo+ICsKPiArCWlmIChoLT5kaXNwYXRjaGVyKQo+ICsJCXVrX3Nj
aGVkX3RocmVhZF9kZXN0cm95KGgtPmRpc3BhdGNoZXJfcywgaC0+ZGlzcGF0Y2hlcik7Cj4gKwlo
LT5kaXNwYXRjaGVyID0gTlVMTDsKPiArCj4gKwlpZiAoaC0+ZGlzcGF0Y2hlcl9uYW1lKQo+ICsJ
CWZyZWUoaC0+ZGlzcGF0Y2hlcl9uYW1lKTsKPiArCWgtPmRpc3BhdGNoZXJfbmFtZSA9IE5VTEw7
Cj4gKyNlbmRpZgo+ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X3J4cV9jb25maWd1cmUoc3RydWN0
IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwKPiArCQkJICAgIHVpbnQxNl90IG5i
X2Rlc2MsCj4gKwkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqcnhfY29uZikK
PiArewo+ICsJaW50IGVycjsKPiArCj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChk
ZXYtPl9kYXRhKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5v
cHMtPnJ4cV9jb25maWd1cmUpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09ORklHX0xJQlVL
TkVUREVWX01BWE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVChyeF9jb25mKTsKPiArI2lmZGVmIENP
TkZJR19MSUJVS05FVERFVl9ESVNQQVRDSEVSVEhSRUFEUwo+ICsJVUtfQVNTRVJUKChyeF9jb25m
LT5jYWxsYmFjayAmJiByeF9jb25mLT5zKQo+ICsJCSAgfHwgIXJ4X2NvbmYtPmNhbGxiYWNrKTsK
PiArI2VuZGlmCj4gKwo+ICsJaWYgKGRldi0+X2RhdGEtPnN0YXRlICE9IFVLX05FVERFVl9DT05G
SUdVUkVEKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCS8qIE1ha2Ugc3VyZSB0aGF0IHdl
IGFyZSBub3QgaW5pdGlhbGl6aW5nIHRoaXMgcXVldWUgYSBzZWNvbmQgdGltZSAqLwo+ICsJaWYg
KCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pKQo+ICsJCXJldHVybiAtRUJVU1k7
Cj4gKwo+ICsJZXJyID0gX2NyZWF0ZV9ldmVudF9oYW5kbGVyKHJ4X2NvbmYtPmNhbGxiYWNrLCBy
eF9jb25mLT5jYWxsYmFja19jb29raWUsCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElT
UEFUQ0hFUlRIUkVBRFMKPiArCQkJCSAgICBkZXYsIHF1ZXVlX2lkLCAicnhxIiwgcnhfY29uZi0+
cywKPiArI2VuZGlmCj4gKwkJCQkgICAgJmRldi0+X2RhdGEtPnJ4cV9oYW5kbGVyW3F1ZXVlX2lk
XSk7Cj4gKwlpZiAoZXJyKQo+ICsJCWdvdG8gZXJyX291dDsKPiArCj4gKwlkZXYtPl9yeF9xdWV1
ZVtxdWV1ZV9pZF0gPSBkZXYtPm9wcy0+cnhxX2NvbmZpZ3VyZShkZXYsIHF1ZXVlX2lkLAo+ICsJ
CQkJCQkJICAgbmJfZGVzYywgcnhfY29uZik7Cj4gKwlpZiAoUFRSSVNFUlIoZGV2LT5fcnhfcXVl
dWVbcXVldWVfaWRdKSkgewo+ICsJCWVyciA9IFBUUjJFUlIoZGV2LT5fcnhfcXVldWVbcXVldWVf
aWRdKTsKPiArCQlnb3RvIGVycl9kZXN0cm95X2hhbmRsZXI7Cj4gKwl9Cj4gKwo+ICsJdWtfcHJf
aW5mbygibmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIHJlY2VpdmUgcXVldWUgJSJQUkl1MTYi
XG4iLAo+ICsJCSAgIGRldi0+X2RhdGEtPmlkLCBxdWV1ZV9pZCk7Cj4gKwlyZXR1cm4gMDsKPiAr
Cj4gK2Vycl9kZXN0cm95X2hhbmRsZXI6Cj4gKwlfZGVzdHJveV9ldmVudF9oYW5kbGVyKCZkZXYt
Pl9kYXRhLT5yeHFfaGFuZGxlcltxdWV1ZV9pZF0pOwo+ICtlcnJfb3V0Ogo+ICsJcmV0dXJuIGVy
cjsKPiArfQo+ICsKPiAraW50IHVrX25ldGRldl90eHFfY29uZmlndXJlKHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCSAgICB1aW50MTZfdCBuYl9kZXNjLAo+
ICsJCQkgICAgc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKnR4X2NvbmYpCj4gK3sKPiAr
CVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJU
KGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+dHhxX2NvbmZpZ3VyZSk7Cj4gKwlV
S19BU1NFUlQodHhfY29uZik7Cj4gKwlVS19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtO
RVRERVZfTUFYTkJRVUVVRVMpOwo+ICsKPiArCWlmIChkZXYtPl9kYXRhLT5zdGF0ZSAhPSBVS19O
RVRERVZfQ09ORklHVVJFRCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkvKiBNYWtlIHN1
cmUgdGhhdCB3ZSBhcmUgbm90IGluaXRpYWxpemluZyB0aGlzIHF1ZXVlIGEgc2Vjb25kIHRpbWUg
Ki8KPiArCWlmICghUFRSSVNFUlIoZGV2LT5fdHhfcXVldWVbcXVldWVfaWRdKSkKPiArCQlyZXR1
cm4gLUVCVVNZOwo+ICsKPiArCWRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSA9IGRldi0+b3BzLT50
eHFfY29uZmlndXJlKGRldiwgcXVldWVfaWQsCj4gKwkJCQkJCQkgICBuYl9kZXNjLCB0eF9jb25m
KTsKPiArCWlmIChQVFJJU0VSUihkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0pKQo+ICsJCXJldHVy
biBQVFIyRVJSKGRldi0+X3R4X3F1ZXVlW3F1ZXVlX2lkXSk7Cj4gKwo+ICsJdWtfcHJfaW5mbygi
bmV0ZGV2JSJQUkl1MTYiOiBDb25maWd1cmVkIHRyYW5zbWl0IHF1ZXVlICUiUFJJdTE2IlxuIiwK
PiArCQkJICAgZGV2LT5fZGF0YS0+aWQsIHF1ZXVlX2lkKTsKPiArCXJldHVybiAwOwo+ICt9Cj4g
Kwo+ICtpbnQgdWtfbmV0ZGV2X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKmRldikKPiArewo+ICsJ
aW50IHJldDsKPiArCj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRh
KTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcyk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMtPnN0YXJ0
KTsKPiArCj4gKwlpZiAoZGV2LT5fZGF0YS0+c3RhdGUgIT0gVUtfTkVUREVWX0NPTkZJR1VSRUQp
Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJcmV0ID0gZGV2LT5vcHMtPnN0YXJ0KGRldik7
Cj4gKwlpZiAocmV0ID49IDApIHsKPiArCQl1a19wcl9pbmZvKCJuZXRkZXYlIlBSSXUxNiI6IFN0
YXJ0ZWQgaW50ZXJmYWNlXG4iLAo+ICsJCQkgICBkZXYtPl9kYXRhLT5pZCk7Cj4gKwkJZGV2LT5f
ZGF0YS0+c3RhdGUgPSBVS19ORVRERVZfUlVOTklORzsKPiArCX0KPiArCXJldHVybiByZXQ7Cj4g
K30KPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1p
bmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn
Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2
ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:16:48 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:16:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEXGR-0005Ml-Pj; Mon, 22 Oct 2018 10:16:47 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEXGQ-0005Mg-PU
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:16:46 +0000
X-Inumbo-ID: 2cc8c0d3-d5e3-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 2cc8c0d3-d5e3-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 12:13:52 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 8D90EF203B;
 Mon, 22 Oct 2018 12:16:44 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id OlryXcB6uiik; Mon, 22 Oct 2018 12:16:44 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 659BAF2038;
 Mon, 22 Oct 2018 12:16:40 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 12:16:40
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-10-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <924e0683-e670-2dc0-79bb-a5ef0cd11fef@neclab.eu>
Date: Mon, 22 Oct 2018 12:16:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-10-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 09/11] lib/uknetdev:
 Promiscuous mode interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpUaGFua3MgJiBSZWdhcmRz
ClNoYXJhbgoKT24gMTAvMTkvMjAxOCAxMTo0MyBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBG
cm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBB
ZGQgaW50ZXJmYWNlcyB0byBxdWVyeSwgZW5hYmxlLCBhbmQgZGlzYWJsZSBwcm9taXNjdW91cyBt
b2RlIGZvciBhCj4gbmV0ZGV2LiBUaGUgZ2V0dGVyIGlzIGEgbWFuZGF0b3J5IGludGVyZmFjZSB0
byBpbXBsZW1lbnQgYnkgZHJpdmVycy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaW1vbiBLdWVuemVy
IDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPiBTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAtLS0KPiAgIGxpYi91a25ldGRldi9l
eHBvcnRzeW1zLnVrICAgICAgICAgICAgfCAgMiArKwo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0ZGV2LmggICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBsaWIv
dWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIHwgMTAgKysrKysrKysrKwo+ICAgbGli
L3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKykK
PiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIvdWtuZXRk
ZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IGY5ODk5MzQuLmIwNzc1Y2IgMTAwNjQ0Cj4gLS0tIGEv
bGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhwb3J0c3lt
cy51awo+IEBAIC0yMywzICsyMyw1IEBAIHVrX25ldGRldl90eHFfY29uZmlndXJlCj4gICB1a19u
ZXRkZXZfc3RhcnQKPiAgIHVrX25ldGRldl9od2FkZHJfc2V0Cj4gICB1a19uZXRkZXZfaHdhZGRy
X2dldAo+ICt1a19uZXRkZXZfcHJvbWlzY3VvdXNfZ2V0Cj4gK3VrX25ldGRldl9wcm9taXNjdW91
c19zZXQKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IGluZGV4IDAyMmZlMjguLmI2MTgxNDAg
MTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmgKPiArKysgYi9s
aWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+IEBAIC0zMDksNiArMzA5LDMyIEBAIGNv
bnN0IHN0cnVjdCB1a19od2FkZHIgKnVrX25ldGRldl9od2FkZHJfZ2V0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldik7Cj4gICAgKi8KPiAgIGludCB1a19uZXRkZXZfaHdhZGRyX3NldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKmh3YWRkcik7Cj4gICAKPiArLyoq
Cj4gKyAqIFJldHVybnMgaWYgcHJvbWlzY3VvdXMgbW9kZSBpcyBlbmFibGVkIGZvciBhbiBVbmlr
cmFmdCBuZXR3b3JrIGRldmljZS4KPiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBV
bmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKD4wKTogaWYg
cHJvbWlzY3VvdXMgaXMgZW5hYmxlZAo+ICsgKiAgIC0gKDApOiBpZiBwcm9taXNjdW91cyBpcyBk
aXNhYmxlZC4KPiArICovCj4gK3Vuc2lnbmVkIHVrX25ldGRldl9wcm9taXNjdW91c19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2KTsKPiArCj4gKy8qKgo+ICsgKiBFbmFibGVzIG9yIGRpc2FibGVz
IHByb21pc2N1b3VzIG1vZGUgZm9yIGFuIFVuaWtyYWZ0IG5ldHdvcmsgZGV2aWNlLgo+ICsgKgo+
ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWtyYWZ0IE5ldHdvcmsgRGV2aWNlLgo+ICsg
KiBAcGFyYW0gbW9kZQo+ICsgKiAgIC0gKDApOiBkaXNhYmxlIHByb21pc2N1b3VzIG1vZGUKPiAr
ICogICAtICgxKTogZW5hYmxlIHByb21pc2N1b3VzIG1vZGUKPiArICogQHJldHVybgo+ICsgKiAg
IC0gKDApOiBpZiBzdWNjZXNzZnVsLgo+ICsgKiAgIC0gKC1FTk9UU1VQKTogaWYgb3BlcmF0aW9u
IGlzIG5vdCBzdXBwb3J0ZWQuCj4gKyAqICAgLSAoPDApOiBvbiBlcnJvciByZXR1cm5lZCBieSBk
cml2ZXIKPiArICovCj4gK2ludCB1a19uZXRkZXZfcHJvbWlzY3VvdXNfc2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwgdW5zaWduZWQgbW9kZSk7Cj4gKwo+ICAgI2lmZGVmIF9fY3BsdXNwbHVzCj4g
ICB9Cj4gICAjZW5kaWYKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiBpbmRl
eCBmMTAwMWIxLi40MTc0ODYyIDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9pbmNsdWRlL3Vr
L25ldGRldl9jb3JlLmgKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29y
ZS5oCj4gQEAgLTI0MSw2ICsyNDEsMTIgQEAgdHlwZWRlZiBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRy
ICooKnVrX25ldGRldl9od2FkZHJfZ2V0X3QpKAo+ICAgdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZf
aHdhZGRyX3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gICAJCQkJICAgICAgY29uc3Qg
c3RydWN0IHVrX2h3YWRkciAqaHdhZGRyKTsKPiAgIAo+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5
cGUgdG8gZ2V0IHRoZSBjdXJyZW50IHByb21pc2N1b3VzIG1vZGUgKi8KPiArdHlwZWRlZiB1bnNp
Z25lZCAoKnVrX25ldGRldl9wcm9taXNjdW91c19nZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2
KTsKPiArCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0byBlbmFibGUgb3IgZGlzYWJsZSBw
cm9taXNjdW91cyBtb2RlICovCj4gK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3Byb21pc2N1b3Vz
X3NldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkJICAgdW5zaWduZWQgbW9kZSk7
Cj4gICAKPiAgIC8qKgo+ICAgICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgZnVuY3Rpb25z
IGV4cG9ydGVkIGJ5IGEgZHJpdmVyLgo+IEBAIC0yNTAsNiArMjU2LDEwIEBAIHN0cnVjdCB1a19u
ZXRkZXZfb3BzIHsKPiAgIAl1a19uZXRkZXZfaHdhZGRyX2dldF90ICAgICAgICAgIGh3YWRkcl9n
ZXQ7ICAgICAgIC8qIHJlY29tbWVuZGVkICovCj4gICAJdWtfbmV0ZGV2X2h3YWRkcl9zZXRfdCAg
ICAgICAgICBod2FkZHJfc2V0OyAgICAgICAvKiBvcHRpb25hbCAqLwo+ICAgCj4gKwkvKiogUHJv
bWlzY3VvdXMgbW9kZS4gKi8KPiArCXVrX25ldGRldl9wcm9taXNjdW91c19zZXRfdCAgICAgcHJv
bWlzY3VvdXNfc2V0OyAgLyogb3B0aW9uYWwgKi8KPiArCXVrX25ldGRldl9wcm9taXNjdW91c19n
ZXRfdCAgICAgcHJvbWlzY3VvdXNfZ2V0Owo+ICsKPiAgIAkvKiogRGV2aWNlL2RyaXZlciBjYXBh
YmlsaXRpZXMgYW5kIGluZm8uICovCj4gICAJdWtfbmV0ZGV2X2luZm9fZ2V0X3QgICAgICAgICAg
ICBpbmZvX2dldDsKPiAgIAl1a19uZXRkZXZfdHhxX2luZm9fZ2V0X3QgICAgICAgIHR4cV9pbmZv
X2dldDsKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L25ldGRldi5jIGIvbGliL3VrbmV0ZGV2
L25ldGRldi5jCj4gaW5kZXggODUwN2JhMS4uZTIyNDZkYyAxMDA2NDQKPiAtLS0gYS9saWIvdWtu
ZXRkZXYvbmV0ZGV2LmMKPiArKysgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBAQCAtNzgsNiAr
NzgsNyBAQCBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
IHN0cnVjdCB1a19hbGxvYyAqYSwKPiAgIAlVS19BU1NFUlQoZGV2LT5vcHMtPnR4cV9pbmZvX2dl
dCk7Cj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT50eHFfY29uZmlndXJlKTsKPiAgIAlVS19BU1NF
UlQoZGV2LT5vcHMtPnN0YXJ0KTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+cHJvbWlzY3VvdXNf
Z2V0KTsKPiAgIAo+ICAgCWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQs
ICBkcnZfbmFtZSk7Cj4gICAJaWYgKCFkZXYtPl9kYXRhKQo+IEBAIC00NDksMyArNDUwLDM3IEBA
IGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnVrX25ldGRldl9od2FkZHJfZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldikKPiAgIAo+ICAgCXJldHVybiBkZXYtPm9wcy0+aHdhZGRyX2dldChkZXYpOwo+
ICAgfQo+ICsKPiArdW5zaWduZWQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+
X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPm9wcy0+
cHJvbWlzY3VvdXNfZ2V0KTsKPiArCj4gKwkvKiBXZSBkbyBzdXBwb3J0IHJldHJpZXZpbmcgb2Yg
cHJvbWlzY3VvdXMgbW9kZQo+ICsJICogb25seSB3aGVuIGRldmljZSB3YXMgY29uZmlndXJlZAo+
ICsJICovCj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVUREVWX0NPTkZJ
R1VSRUQgfHwKPiArCQkgIGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsK
PiArCj4gKwlyZXR1cm4gZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldChkZXYpOwo+ICt9Cj4gKwo+
ICtpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVu
c2lnbmVkIG1vZGUpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKGRldi0+
X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCj4gKwkvKiBXZSBkbyBzdXBwb3J0
IHNldHRpbmcgb2YgcHJvbWlzY3VvdXMgbW9kZQo+ICsJICogb25seSB3aGVuIGRldmljZSB3YXMg
Y29uZmlndXJlZAo+ICsJICovCj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtf
TkVUREVWX0NPTkZJR1VSRUQKPiArCQkgIHx8IGRldi0+X2RhdGEtPnN0YXRlID09IFVLX05FVERF
Vl9SVU5OSU5HKTsKPiArCj4gKwlpZiAodW5saWtlbHkoIWRldi0+b3BzLT5wcm9taXNjdW91c19z
ZXQpKQo+ICsJCXJldHVybiAtRU5PVFNVUDsKPiArCj4gKwlyZXR1cm4gZGV2LT5vcHMtPnByb21p
c2N1b3VzX3NldChkZXYsIG1vZGUgPyAxIDogMCk7Cj4gK30KPiAKCl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QK
TWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVj
dC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:20:50 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:20:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEXKL-00061c-5R; Mon, 22 Oct 2018 10:20:49 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEXKJ-00061N-8v
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:20:47 +0000
X-Inumbo-ID: 578f975c-d5e4-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 578f975c-d5e4-11e8-a6a9-d7ebe60f679a;
 Mon, 22 Oct 2018 10:22:13 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 6C50DF203B;
 Mon, 22 Oct 2018 12:20:44 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ihUxxgeC2Hvn; Mon, 22 Oct 2018 12:20:44 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 42F89F2038;
 Mon, 22 Oct 2018 12:20:40 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 12:20:40
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-11-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <890c7d99-77fc-442d-85fa-2017258e4112@neclab.eu>
Date: Mon, 22 Oct 2018 12:20:39 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-11-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 10/11] lib/uknetdev: MTU
 interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpSZXZpZXdlZC1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CgpUaGFua3MgJiBSZWdhcmRz
ClNoYXJhbgoKT24gMTAvMTkvMjAxOCAxMTo0MyBBTSwgU2ltb24gS3VlbnplciB3cm90ZToKPiBG
cm9tOiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAKPiBB
ZGQgaW50ZXJmYWNlcyB0byBxdWVyeSBhbmQgc2V0IHRoZSBtYXhpbXVtIHRyYW5zbWlzc2lvbiB1
bml0IChNVFUpCj4gZm9yIGEgbmV0ZGV2LiBUaGUgZ2V0dGVyIGlzIGEgbWFuZGF0b3J5IGludGVy
ZmFjZSB0byBpbXBsZW1lbnQgYnkKPiBkcml2ZXJzLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNpbW9u
IEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZh
biBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgbGliL3Vr
bmV0ZGV2L2V4cG9ydHN5bXMudWsgICAgICAgICAgICB8ICAyICsrCj4gICBsaWIvdWtuZXRkZXYv
aW5jbHVkZS91ay9uZXRkZXYuaCAgICAgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCj4g
ICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIHwgMTAgKysrKysrKysrKwo+
ICAgbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAgICAgICAgICAgICB8IDM1ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj4gICA0IGZpbGVzIGNoYW5nZWQsIDcxIGluc2VydGlv
bnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsgYi9saWIv
dWtuZXRkZXYvZXhwb3J0c3ltcy51awo+IGluZGV4IGIwNzc1Y2IuLmY0YWNkYjIgMTAwNjQ0Cj4g
LS0tIGEvbGliL3VrbmV0ZGV2L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtuZXRkZXYvZXhw
b3J0c3ltcy51awo+IEBAIC0yNSwzICsyNSw1IEBAIHVrX25ldGRldl9od2FkZHJfc2V0Cj4gICB1
a19uZXRkZXZfaHdhZGRyX2dldAo+ICAgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldAo+ICAgdWtf
bmV0ZGV2X3Byb21pc2N1b3VzX3NldAo+ICt1a19uZXRkZXZfbXR1X2dldAo+ICt1a19uZXRkZXZf
bXR1X3NldAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gaW5kZXggYjYxODE0MC4uYTk4Y2Y0
YyAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaAo+ICsrKyBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldi5oCj4gQEAgLTMzNSw2ICszMzUsMzAgQEAg
dW5zaWduZWQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYp
Owo+ICAgICovCj4gICBpbnQgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldChzdHJ1Y3QgdWtfbmV0
ZGV2ICpkZXYsIHVuc2lnbmVkIG1vZGUpOwo+ICAgCj4gKy8qKgo+ICsgKiBSZXR1cm5zIHRoZSBj
dXJyZW50IE1UVSBvZiBhbiBVbmlrcmFmdCBuZXR3b3JrIGRldmljZS4KPiArICoKPiArICogQHBh
cmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmljZS4KPiArICogQHJldHVy
bgo+ICsgKiAgIC0gTVRVIG9mIHRoZSB1a19uZXRkZXYKPiArICovCj4gK3VpbnQxNl90IHVrX25l
dGRldl9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gKwo+ICsvKioKPiArICogQ2hh
bmdlIHRoZSBNVFUgb2YgYW4gVW5pa3JhZnQgbmV0d29yayBkZXZpY2UuCj4gKyAqCj4gKyAqIEBw
YXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4gKyAqIEBwYXJh
bSBtdHUKPiArICogICBBIHVpbnQxNl90IGZvciB0aGUgTVRVIHRvIGJlIGFwcGxpZWQuCj4gKyAq
IEByZXR1cm4KPiArICogICAtICgwKTogaWYgc3VjY2Vzc2Z1bC4KPiArICogICAtICgtRU5PVFNV
UCk6IGlmIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgo+ICsgKiAgIC0gKDwwKTogb24gZXJy
b3IgcmV0dXJuZWQgYnkgZHJpdmVyCj4gKyAqLwo+ICtpbnQgdWtfbmV0ZGV2X210dV9zZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpOwo+ICsKPiAgICNpZmRlZiBfX2NwbHVz
cGx1cwo+ICAgfQo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL2xpYi91a25ldGRldi9pbmNsdWRl
L3VrL25ldGRldl9jb3JlLmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5o
Cj4gaW5kZXggNDE3NDg2Mi4uZTBjZTQ4YSAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oCj4gKysrIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2X2NvcmUuaAo+IEBAIC0yNDgsNiArMjQ4LDEyIEBAIHR5cGVkZWYgdW5zaWduZWQgKCp1a19u
ZXRkZXZfcHJvbWlzY3VvdXNfZ2V0X3QpKHN0cnVjdCB1a19uZXRkZXYgKmRldik7Cj4gICB0eXBl
ZGVmIGludCAoKnVrX25ldGRldl9wcm9taXNjdW91c19zZXRfdCkoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+ICAgCQkJCQkgICB1bnNpZ25lZCBtb2RlKTsKPiAgIAo+ICsvKiogRHJpdmVyIGNhbGxi
YWNrIHR5cGUgdG8gZ2V0IHRoZSBNVFUuICovCj4gK3R5cGVkZWYgdWludDE2X3QgKCp1a19uZXRk
ZXZfbXR1X2dldF90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICsKPiArLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIHNldCB0aGUgTVRVICovCj4gK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2
X210dV9zZXRfdCkoc3RydWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpOwo+ICsKPiAg
IC8qKgo+ICAgICogQSBzdHJ1Y3R1cmUgY29udGFpbmluZyB0aGUgZnVuY3Rpb25zIGV4cG9ydGVk
IGJ5IGEgZHJpdmVyLgo+ICAgICovCj4gQEAgLTI1Niw2ICsyNjIsMTAgQEAgc3RydWN0IHVrX25l
dGRldl9vcHMgewo+ICAgCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdhZGRyX2dl
dDsgICAgICAgLyogcmVjb21tZW5kZWQgKi8KPiAgIAl1a19uZXRkZXZfaHdhZGRyX3NldF90ICAg
ICAgICAgIGh3YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCj4gICAKPiArCS8qKiBTZXQv
R2V0IE1UVS4gKi8KPiArCXVrX25ldGRldl9tdHVfZ2V0X3QgICAgICAgICAgICAgbXR1X2dldDsK
PiArCXVrX25ldGRldl9tdHVfc2V0X3QgICAgICAgICAgICAgbXR1X3NldDsgICAgICAgICAgLyog
b3B0aW9uYWwgKi8KPiArCj4gICAJLyoqIFByb21pc2N1b3VzIG1vZGUuICovCj4gICAJdWtfbmV0
ZGV2X3Byb21pc2N1b3VzX3NldF90ICAgICBwcm9taXNjdW91c19zZXQ7ICAvKiBvcHRpb25hbCAq
Lwo+ICAgCXVrX25ldGRldl9wcm9taXNjdW91c19nZXRfdCAgICAgcHJvbWlzY3VvdXNfZ2V0Owo+
IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2
LmMKPiBpbmRleCBlMjI0NmRjLi45ZGNmZDE1IDEwMDY0NAo+IC0tLSBhL2xpYi91a25ldGRldi9u
ZXRkZXYuYwo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRkZXYuYwo+IEBAIC03OSw2ICs3OSw3IEBA
IGludCB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKHN0cnVjdCB1a19uZXRkZXYgKmRldiwgc3RydWN0
IHVrX2FsbG9jICphLAo+ICAgCVVLX0FTU0VSVChkZXYtPm9wcy0+dHhxX2NvbmZpZ3VyZSk7Cj4g
ICAJVUtfQVNTRVJUKGRldi0+b3BzLT5zdGFydCk7Cj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT5w
cm9taXNjdW91c19nZXQpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT5tdHVfZ2V0KTsKPiAgIAo+
ICAgCWRldi0+X2RhdGEgPSBfYWxsb2NfZGF0YShhLCBuZXRkZXZfY291bnQsICBkcnZfbmFtZSk7
Cj4gICAJaWYgKCFkZXYtPl9kYXRhKQo+IEBAIC00ODQsMyArNDg1LDM3IEBAIGludCB1a19uZXRk
ZXZfcHJvbWlzY3VvdXNfc2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgdW5zaWduZWQgbW9kZSkK
PiAgIAo+ICAgCXJldHVybiBkZXYtPm9wcy0+cHJvbWlzY3VvdXNfc2V0KGRldiwgbW9kZSA/IDEg
OiAwKTsKPiAgIH0KPiArCj4gK3VpbnQxNl90IHVrX25ldGRldl9tdHVfZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldikKPiArewo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19BU1NFUlQoZGV2LT5f
ZGF0YSk7Cj4gKwlVS19BU1NFUlQoZGV2LT5vcHMpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzLT5t
dHVfZ2V0KTsKPiArCj4gKwkvKiBXZSBkbyBzdXBwb3J0IGdldHRpbmcgb2YgTVRVCj4gKwkgKiBv
bmx5IHdoZW4gZGV2aWNlIHdhcyBjb25maWd1cmVkCj4gKwkgKi8KPiArCVVLX0FTU0VSVChkZXYt
Pl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfQ09ORklHVVJFRAo+ICsJCSAgfHwgZGV2LT5fZGF0
YS0+c3RhdGUgPT0gVUtfTkVUREVWX1JVTk5JTkcpOwo+ICsKPiArCXJldHVybiBkZXYtPm9wcy0+
bXR1X2dldChkZXYpOwo+ICt9Cj4gKwo+ICtpbnQgdWtfbmV0ZGV2X210dV9zZXQoc3RydWN0IHVr
X25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJ
VUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCj4gKwkv
KiBXZSBkbyBzdXBwb3J0IHNldHRpbmcgb2YgTVRVCj4gKwkgKiBvbmx5IHdoZW4gZGV2aWNlIHdh
cyBjb25maWd1cmVkCj4gKwkgKi8KPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBV
S19ORVRERVZfQ09ORklHVVJFRAo+ICsJCSAgfHwgZGV2LT5fZGF0YS0+c3RhdGUgPT0gVUtfTkVU
REVWX1JVTk5JTkcpOwo+ICsKPiArCWlmIChkZXYtPm9wcy0+bXR1X3NldCA9PSBOVUxMKQo+ICsJ
CXJldHVybiAtRU5PVFNVUDsKPiArCj4gKwlyZXR1cm4gZGV2LT5vcHMtPm10dV9zZXQoZGV2LCBt
dHUpOwo+ICt9Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:21:11 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:21:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEXKh-00063w-Hb; Mon, 22 Oct 2018 10:21:11 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=k625=nc=arm.com=julien.grall@srs-us1.protection.inumbo.net>)
 id 1gEXKh-00063o-5C
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:21:11 +0000
X-Inumbo-ID: ca9fe3f2-d5e3-11e8-a8a5-bc764e045a96
Received: from foss.arm.com (unknown [217.140.101.70])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTP
 id ca9fe3f2-d5e3-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 12:18:17 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 572CB80D;
 Mon, 22 Oct 2018 03:21:09 -0700 (PDT)
Received: from [10.1.196.50] (e108454-lin.cambridge.arm.com [10.1.196.50])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B233B3F6A8;
 Mon, 22 Oct 2018 03:21:08 -0700 (PDT)
To: Radu Nicolau <radunicolau102@gmail.com>
References: <1539862853-4001-1-git-send-email-radunicolau102@gmail.com>
 <1539862853-4001-3-git-send-email-radunicolau102@gmail.com>
 <5006c590-9f78-4f2e-0214-ad53a7ebfbc4@arm.com>
 <CAPGq5zZOFv10o4_ODKvck9ei1CabbT-Vuzmm9BYYCjE0ABX73Q@mail.gmail.com>
From: Julien Grall <julien.grall@arm.com>
Message-ID: <979b3083-34db-7978-0d48-1ed7363f3165@arm.com>
Date: Mon, 22 Oct 2018 11:21:07 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <CAPGq5zZOFv10o4_ODKvck9ei1CabbT-Vuzmm9BYYCjE0ABX73Q@mail.gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT-PATCH 2/3] plat/xen/common: Move event
 channel functions in events.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Simon Kuenzer <simon.kuenzer@neclab.eu>, minios-devel@lists.xen.org
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOC8xMC8yMDE4IDE2OjQ0LCBSYWR1IE5pY29sYXUgd3JvdGU6Cj4gSGVsbG8gSnVsaWVu
LAo+IAo+IE9uIFRodSwgT2N0IDE4LCAyMDE4IGF0IDQ6MzMgUE0gSnVsaWVuIEdyYWxsIDxqdWxp
ZW4uZ3JhbGxAYXJtLmNvbSAKPiA8bWFpbHRvOmp1bGllbi5ncmFsbEBhcm0uY29tPj4gd3JvdGU6
Cj4gCj4gICAgIEhlbGxvIE5pY29sYXMsCj4gCj4gICAgIE9uIDE4LzEwLzIwMTggMTI6NDAsIHJh
ZHVuaWNvbGF1MTAyQGdtYWlsLmNvbQo+ICAgICA8bWFpbHRvOnJhZHVuaWNvbGF1MTAyQGdtYWls
LmNvbT4gd3JvdGU6Cj4gICAgICA+IGRpZmYgLS1naXQgYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1v
bi9ldmVudHMuaAo+ICAgICBiL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2V2ZW50cy5oCj4gICAg
ICA+IGluZGV4IDk3MWRmZjkuLmFjY2RkYjggMTAwNjQ0Cj4gICAgICA+IC0tLSBhL3BsYXQveGVu
L2luY2x1ZGUvY29tbW9uL2V2ZW50cy5oCj4gICAgICA+ICsrKyBiL3BsYXQveGVuL2luY2x1ZGUv
Y29tbW9uL2V2ZW50cy5oCj4gICAgICA+IEBAIC00Nyw2ICs0NywxMiBAQAo+ICAgICAgPsKgIMKg
I2luY2x1ZGUgPHhlbi9ldmVudF9jaGFubmVsLmg+Cj4gICAgICA+wqAgwqAjaW5jbHVkZSA8dWsv
YXJjaC9sY3B1Lmg+Cj4gICAgICA+Cj4gICAgICA+ICsvKgo+ICAgICAgPiArICogVE9ETyByZXZp
c2l0OiB3aHkgY3B1IHBhcmFtPwo+ICAgICAgPiArICogVGFrZW4gZnJvbSBsaW51eC9kcml2ZXJz
L3hlbi9ldmVudHMvZXZlbnRzXzJsLmMKPiAKPiAgICAgQXJlIHlvdSBzdXJlIGFib3V0IHRoaXM/
IEluIGFueSBjYXNlLCBJIHdvdWxkIGJlIGNhcmVmdWwgYWJvdXQKPiAgICAgbWVudGlvbmluZyBM
aW51eCBjb2RlIGluIFVuaWtyYWZ0IGFzIHRoZSB0d28gbGljZW5zZSAoR1BMdjIgdnMgQlNEKSBh
cmUKPiAgICAgbm90IGNvbXBhdGlibGUuCj4gCj4gCj4gSSd2ZSBmb3VuZCB0aGlzIG1hY3JvIChh
cyBhIGZ1bmN0aW9uKSBpbiB0aGUgbGludXgga2VybmVsIGFuZCBJIHRob3VnaHQgaXQKPiB3b3Vs
ZCBiZSBoZWxwZnVsIHRvIGtub3cgaXQgd2FzIGluc3BpcmVkIGZyb20gdGhlcmUuIFRoZSBjcHUg
cGFyYW1ldGVyCj4gaXMgdXNlZCBpbiB0aGVyZS4KPiBUaGUgbWFjcm8gaXRzZWxmIGRvZXMgYXBw
ZWFyIGluIE1pbmktT1MgKGJvdGggZnJvbSB4ZW5iaXRzIGFuZCBzeXNtbCksCj4gSSBhc3N1bWUg
aXQgd2FzIHBvcnRlZCBmcm9tIHRoZXJlLgo+IEkgYW0gbm90IGVudGlyZWx5IHN1cmUgaG93IEkg
c2hvdWxkIHByb2NlZWQgaW4gaGVyZSwgSSBjb3VsZCByZW1vdmUgbXkKPiBjb21tZW50IG9yIHJl
bW92ZSB0aGUgdW51c2VkIHBhcmFtZXRlciBlbnRpcmVseS4KCkVpdGhlciB3YXkgc2hvdWxkIGJl
IGZpbmUuCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 10:28:32 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 10:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEXRl-0006JH-EI; Mon, 22 Oct 2018 10:28:29 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=ht74=nc=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gEXRk-0006JC-LP
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 10:28:28 +0000
X-Inumbo-ID: ceb9d9d1-d5e4-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id ceb9d9d1-d5e4-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 12:25:33 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id EC51F104818;
 Mon, 22 Oct 2018 12:28:25 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Cprh5T3xvsAI; Mon, 22 Oct 2018 12:28:25 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 736C51047BD;
 Mon, 22 Oct 2018 12:28:21 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct 2018 12:28:21
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539942225-24325-1-git-send-email-simon.kuenzer@neclab.eu>
 <1539942225-24325-12-git-send-email-simon.kuenzer@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <bd02a82b-0be2-0481-3d91-52159e60887b@neclab.eu>
Date: Mon, 22 Oct 2018 12:28:20 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <1539942225-24325-12-git-send-email-simon.kuenzer@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v5 11/11] lib/uknetdev: Packet
 reception and transmission interfaces
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpUaGlzIHBhdGNoIGxvb2tzIGdvb2QuCgpUaGFuayB5b3UgZm9yIGFkZGlu
ZyB0aGUgdWtuZXRkZXYgbGlicmFyeS4gV2l0aCB0aGlzIGxpYnJhcnkgd2UgaGF2ZSBhIApnbHVl
IHRvIHN0YXJ0IHN1cHBvcnRpbmcgbmV0d29ya2luZyBpbiBVbmlrcmFmdC4KClJldmlld2VkLWJ5
OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KClRoYW5rcyAm
IFJlZ2FyZHMKU2hhcmFuCgpPbiAxMC8xOS8yMDE4IDExOjQzIEFNLCBTaW1vbiBLdWVuemVyIHdy
b3RlOgo+IEZyb206IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29t
Pgo+IAo+IEludHJvZHVjZSBpbnRlcmZhY2VzIGZvciBzaW5nbGUgcGFja2V0IHRyYW5zbWlzc2lv
biBhbmQKPiByZWNlcHRpb24uIEJvdGggaW50ZXJmYWNlcyBhcmUgZGVzaWduZWQgdG8gc3VwcG9y
dCBhc3luY2hyb25vdXMKPiB6ZXJvLWNvcHkgb3BlcmF0aW9uIHdpdGggbmV0YnVmcy4gUmVjZWl2
aW5nIGNhbiBiZSBkb25lIHdpdGgKPiBpbnRlcnJ1cHRzIG9yIHdpdGggcG9sbGluZy4gVHJhbnNt
aXNzaW9uIHN1cHBvcnRzIG9ubHkgcG9sbGluZyBtb2RlCj4gZm9yIG5vdy4KPiAKPiBTaWduZWQt
b2ZmLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KPiBTaWduZWQt
b2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAt
LS0KPiAgIGxpYi91a25ldGRldi9leHBvcnRzeW1zLnVrICAgICAgICAgICAgICB8ICAgMiArCj4g
ICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYuaCAgICAgICAgfCAxNTQgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysKPiAgIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRl
dl9jb3JlLmggICB8ICAzNiArKysrKysrLQo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2X2RyaXZlci5oIHwgIDI4ICsrKysrKwo+ICAgbGliL3VrbmV0ZGV2L25ldGRldi5jICAgICAg
ICAgICAgICAgICAgIHwgICA1ICsrCj4gICA1IGZpbGVzIGNoYW5nZWQsIDIyMyBpbnNlcnRpb25z
KCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvZXhwb3J0
c3ltcy51ayBiL2xpYi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4gaW5kZXggZjRhY2RiMi4uN2Vj
MWY3ZSAxMDA2NDQKPiAtLS0gYS9saWIvdWtuZXRkZXYvZXhwb3J0c3ltcy51awo+ICsrKyBiL2xp
Yi91a25ldGRldi9leHBvcnRzeW1zLnVrCj4gQEAgLTI3LDMgKzI3LDUgQEAgdWtfbmV0ZGV2X3By
b21pc2N1b3VzX2dldAo+ICAgdWtfbmV0ZGV2X3Byb21pc2N1b3VzX3NldAo+ICAgdWtfbmV0ZGV2
X210dV9nZXQKPiAgIHVrX25ldGRldl9tdHVfc2V0Cj4gK3VrX25ldGRldl9yeHFfaW50cl9lbmFi
bGUKPiArdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUKPiBkaWZmIC0tZ2l0IGEvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2LmggYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aAo+IGluZGV4IGE5OGNmNGMuLmYwZmE3NjkgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2lu
Y2x1ZGUvdWsvbmV0ZGV2LmgKPiArKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXYu
aAo+IEBAIC0zNTksNiArMzU5LDE2MCBAQCB1aW50MTZfdCB1a19uZXRkZXZfbXR1X2dldChzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYpOwo+ICAgICovCj4gICBpbnQgdWtfbmV0ZGV2X210dV9zZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LCB1aW50MTZfdCBtdHUpOwo+ICAgCj4gKy8qKgo+ICsgKiBFbmFi
bGUgaW50ZXJydXB0cyBmb3IgYW4gUlggcXVldWUuCj4gKyAqCj4gKyAqIEBwYXJhbSBkZXYKPiAr
ICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UgaW4gcnVubmluZyBzdGF0ZS4KPiArICog
QHBhcmFtIHF1ZXVlX2lkCj4gKyAqICAgVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIHRv
IHNldCB1cC4KPiArICogICBUaGUgdmFsdWUgbXVzdCBiZSBpbiB0aGUgcmFuZ2UgWzAsIG5iX3J4
X3F1ZXVlIC0gMV0gcHJldmlvdXNseSBzdXBwbGllZAo+ICsgKiAgIHRvIHVrX25ldGRldl9jb25m
aWd1cmUoKS4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBTdWNjZXNzLCBpbnRlcnJ1cHRz
IGVuYWJsZWQuCj4gKyAqICAgLSAoMSk6IE1vcmUgcGFja2V0cyBhcmUgbGVmdCBvbiB0aGUgcXVl
dWUsIGludGVycnVwdHMgYXJlIE5PVCBlbmFibGVkIHlldC4KPiArICogICAgICAgICAgSW50ZXJy
dXB0cyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZW5hYmxlZCB3aGVuIGFsbCByZWNlaXZlZCBwYWNr
ZXRzCj4gKyAqICAgICAgICAgIG9uIHRoZSBxdWV1ZSBhcmUgY29uc3VtZWQgYW5kIHRoZSByZWNl
aXZlIHF1ZXVlIGlzIGVtcHR5Lgo+ICsgKiAgIC0gKC1FTk9UU1VQKTogRHJpdmVyIGRvZXMgbm90
IHN1cHBvcnQgaW50ZXJydXB0cy4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgaW50IHVrX25ldGRl
dl9yeHFfaW50cl9lbmFibGUoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJCSAgICB1aW50
MTZfdCBxdWV1ZV9pZCkKPiArewo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19BU1NFUlQoZGV2
LT5vcHMpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2RhdGEpOwo+ICsJVUtfQVNTRVJUKGRldi0+X2Rh
dGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKPiArCVVLX0FTU0VSVChxdWV1ZV9pZCA8
IENPTkZJR19MSUJVS05FVERFVl9NQVhOQlFVRVVFUyk7Cj4gKwlVS19BU1NFUlQoIVBUUklTRVJS
KGRldi0+X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpOwo+ICsKPiArCWlmICh1bmxpa2VseSghZGV2LT5v
cHMtPnJ4cV9pbnRyX2VuYWJsZSkpCj4gKwkJcmV0dXJuIC1FTk9UU1VQOwo+ICsJcmV0dXJuIGRl
di0+b3BzLT5yeHFfaW50cl9lbmFibGUoZGV2LCBkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pOwo+
ICt9Cj4gKwo+ICsvKioKPiArICogRGlzYWJsZSBpbnRlcnJ1cHRzIGZvciBhbiBSWCBxdWV1ZS4K
PiArICoKPiArICogQHBhcmFtIGRldgo+ICsgKiAgIFRoZSBVbmlrcmFmdCBOZXR3b3JrIERldmlj
ZSBpbiBydW5uaW5nIHN0YXRlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICogICBUaGUgaW5k
ZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gc2V0IHVwLgo+ICsgKiAgIFRoZSB2YWx1ZSBtdXN0
IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVk
Cj4gKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgo+ICsgKiBAcmV0dXJuCj4gKyAqICAg
LSAoMCk6IFN1Y2Nlc3MsIGludGVycnVwdHMgZGlzYWJsZWQuCj4gKyAqICAgLSAoLUVOT1RTVVAp
OiBEcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBpbnRlcnJ1cHRzLgo+ICsgKi8KPiArc3RhdGljIGlu
bGluZSBpbnQgdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRldiAqZGV2
LAo+ICsJCQkJCSAgICAgdWludDE2X3QgcXVldWVfaWQpCj4gK3sKPiArCVVLX0FTU0VSVChkZXYp
Owo+ICsJVUtfQVNTRVJUKGRldi0+b3BzKTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhKTsKPiAr
CVVLX0FTU0VSVChkZXYtPl9kYXRhLT5zdGF0ZSA9PSBVS19ORVRERVZfUlVOTklORyk7Cj4gKwlV
S19BU1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+ICsJ
VUtfQVNTRVJUKCFQVFJJU0VSUihkZXYtPl9yeF9xdWV1ZVtxdWV1ZV9pZF0pKTsKPiArCj4gKwlp
ZiAodW5saWtlbHkoIWRldi0+b3BzLT5yeHFfaW50cl9kaXNhYmxlKSkKPiArCQlyZXR1cm4gLUVO
T1RTVVA7Cj4gKwlyZXR1cm4gZGV2LT5vcHMtPnJ4cV9pbnRyX2Rpc2FibGUoZGV2LCBkZXYtPl9y
eF9xdWV1ZVtxdWV1ZV9pZF0pOwo+ICt9Cj4gKwo+ICsvKioKPiArICogUmVjZWl2ZSBvbmUgcGFj
a2V0IGFuZCByZS1wcm9ncmFtIHVzZWQgcmVjZWl2ZSBkZXNjcmlwdG9yCj4gKyAqIFBsZWFzZSBu
b3RlIHRoYXQgYmVmb3JlIGFueSBwYWNrZXQgY2FuIGJlIHJlY2VpdmVkLCB0aGUgcmVjZWl2ZSBx
dWV1ZQo+ICsgKiBoYXMgdG8gYmUgZmlsbGVkIHVwIHdpdGggZW1wdHkgbmV0YnVmcyAoc2VlIGZp
bGx1cCBwYXJhbWV0ZXIpLgo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVGhlIFVuaWty
YWZ0IE5ldHdvcmsgRGV2aWNlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICogICBUaGUgaW5k
ZXggb2YgdGhlIHJlY2VpdmUgcXVldWUgdG8gcmVjZWl2ZSBmcm9tLgo+ICsgKiAgIFRoZSB2YWx1
ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJfcnhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1
cHBsaWVkCj4gKyAqICAgdG8gdWtfbmV0ZGV2X2NvbmZpZ3VyZSgpLgo+ICsgKiBAcGFyYW0gcGt0
Cj4gKyAqICAgUmVmZXJlbmNlIHRvIG5ldGJ1ZiBwb2ludGVyIHdoaWNoIHdpbGwgYmUgcG9pbnQg
dG8gdGhlIHJlY2VpdmVkIHBhY2tldAo+ICsgKiAgIGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLiBD
YW4gYmUgTlVMTCBpZiBmdW5jdGlvbiBpcyB1c2VkIHRvIHByb2dyYW0KPiArICogICByZWNlaXZl
IGRlc2NyaXB0b3JzIG9ubHkuCj4gKyAqIEBwYXJhbSBmaWxsdXAKPiArICogICBBcnJheSBvZiBu
ZXRidWZzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gcHJvZ3JhbSB1c2VkIGRlc2NyaXB0b3JzIGFn
YWluLgo+ICsgKiAgIEVhY2ggb2YgdGhlIG5ldGJ1ZiBzaG91bGQgYmUgZnJlc2hseSBhbGxvY2F0
ZWQvaW5pdGlhbGl6ZWQgYW5kIG5vdCBwYXJ0Cj4gKyAqICAgb2YgYW55IGNoYWluLgo+ICsgKiAg
IGBmaWxsdXBgIGNhbiBiZSBgTlVMTGAgYnV0IHdpdGhvdXQgcmUtcHJvZ3JhbW1pbmcgb2YgdXNl
ZCBkZXNjcmlwdG9ycyBubwo+ICsgKiAgIG5ldyBwYWNrZXRzIGNhbiBiZSByZWNlaXZlZCBhdCBz
b21lIHBvaW50Lgo+ICsgKiBAcGFyYW0gZmlsbHVwX2NvdW50Cj4gKyAqICAgTGVuZ3RoIG9mIGBm
aWxsdXBgIGFycmF5LiBBZnRlciB0aGUgZnVuY3Rpb24gY2FsbCwgYGZpbGx1cF9jb3VudGAgcmV0
dXJucwo+ICsgKiAgIHRoZSBudW1iZXIgb2YgbGVmdCBhbmQgdW51c2VkIG5ldGJ1ZnMgb24gdGhl
IGFycmF5LiBgZmlsbHVwX2NvdW50YCBoYXMgdG8KPiArICogICB0byAwIGlmIGBmaWxsdXBgIGlz
IGBOVUxMYC4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBObyBwYWNrZXQgYXZhaWxhYmxl
IG9yIGBwa3RgIHdhcyBzZXQgdG8gTlVMTCwKPiArICogICAgICAgICAgY2hlY2sgYGZpbGx1cF9j
b3VudGAgZm9yIHVzZWQgYGZpbGx1cGAgbmV0YnVmcwo+ICsgKiAgIC0gKDEpOiBgcGt0YCBwb2lu
dHMgdG8gcmVjZWl2ZWQgbmV0YnVmLAo+ICsgKiAgICAgICAgICBjaGVjayBgZmlsbHVwX2NvdW50
YCBmb3IgdXNlZCBgZmlsbHVwYCBuZXRidWZzCj4gKyAqICAgLSAoMik6IGBwa3RgIHBvaW50cyB0
byByZWNlaXZlZCBuZXRidWYgYnV0IG1vcmUgcmVjZWl2ZWQgcGFja2V0cyBhcmUKPiArICogICAg
ICAgICAgYXZhaWxhYmxlIG9uIHRoZSByZWNlaXZlIHF1ZXVlLiBXaGVuIGludGVycnVwdHMgYXJl
IHVzZWQsIHRoZXkgYXJlCj4gKyAqICAgICAgICAgIGRpc2FibGVkIHVudGlsIDEgaXMgcmV0dXJu
ZWQgb24gc3Vic2VxdWVudCBjYWxscywKPiArICogICAgICAgICAgY2hlY2sgYGZpbGx1cF9jb3Vu
dGAgZm9yIHVzZWQgYGZpbGx1cGAgbmV0YnVmcwo+ICsgKiAgIC0gKDwwKTogRXJyb3IgY29kZSBm
cm9tIGRyaXZlcgo+ICsgKi8KPiArc3RhdGljIGlubGluZSBpbnQgdWtfbmV0ZGV2X3J4X29uZShz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkJICAgc3RydWN0
IHVrX25ldGJ1ZiAqKnBrdCwKPiArCQkJCSAgIHN0cnVjdCB1a19uZXRidWYgKmZpbGx1cFtdLAo+
ICsJCQkJICAgdWludDE2X3QgKmZpbGx1cF9jb3VudCkKPiArewo+ICsJVUtfQVNTRVJUKGRldik7
Cj4gKwlVS19BU1NFUlQoZGV2LT5yeF9vbmUpOwo+ICsJVUtfQVNTRVJUKHF1ZXVlX2lkIDwgQ09O
RklHX0xJQlVLTkVUREVWX01BWE5CUVVFVUVTKTsKPiArCVVLX0FTU0VSVChkZXYtPl9kYXRhLT5z
dGF0ZSA9PSBVS19ORVRERVZfUlVOTklORyk7Cj4gKwlVS19BU1NFUlQoIVBUUklTRVJSKGRldi0+
X3J4X3F1ZXVlW3F1ZXVlX2lkXSkpOwo+ICsJVUtfQVNTRVJUKCghZmlsbHVwICYmIGZpbGx1cF9j
b3VudCkgfHwgZmlsbHVwKTsKPiArCj4gKwlyZXR1cm4gZGV2LT5yeF9vbmUoZGV2LCBkZXYtPl9y
eF9xdWV1ZVtxdWV1ZV9pZF0sIHBrdCwKPiArCQkJICAgZmlsbHVwLCBmaWxsdXBfY291bnQpOwo+
ICt9Cj4gKwo+ICsvKioKPiArICogU2hvcnRjdXQgZm9yIG9ubHkgZmlsbGluZyB1cCBhIHJlY2Vp
dmUgcXVldWUgd2l0aCBlbXB0eSBuZXRidWZzCj4gKyAqLwo+ICsjZGVmaW5lIHVrX25ldGRldl9y
eF9maWxsdXAoZGV2LCBxdWV1ZV9pZCwgZmlsbHVwLCBmaWxsdXBfY291bnQpCVwKPiArCXVrX25l
dGRldl9yeF9vbmUoKGRldiksIChxdWV1ZV9pZCksIE5VTEwsIChmaWxsdXApLCAoZmlsbHVwX2Nv
dW50KSkKPiArCj4gKy8qKgo+ICsgKiBUcmFuc21pdCBvbmUgcGFja2V0Cj4gKyAqCj4gKyAqIEBw
YXJhbSBkZXYKPiArICogICBUaGUgVW5pa3JhZnQgTmV0d29yayBEZXZpY2UuCj4gKyAqIEBwYXJh
bSBxdWV1ZV9pZAo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUgcmVjZWl2ZSBxdWV1ZSB0byByZWNl
aXZlIGZyb20uCj4gKyAqICAgVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJhbmdlIFswLCBuYl90
eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkgc3VwcGxpZWQKPiArICogICB0byB1a19uZXRkZXZfY29u
ZmlndXJlKCkuCj4gKyAqIEBwYXJhbSBwa3QKPiArICogICBSZWZlcmVuY2UgdG8gbmV0YnVmIHRv
IHNlbnQuIFBhY2tldCBpcyBmcmVlJ2QgYnkgdGhlIGRyaXZlciBhZnRlciBzZW5kaW5nCj4gKyAq
ICAgd2FzIHN1Y2Nlc3NmdWxseSBmaW5pc2hlZCBieSB0aGUgZGV2aWNlLgo+ICsgKiAgIFBsZWFz
ZSBub3RlIHRoYXQgc29tZSBkcml2ZXJzIG1heSByZXF1aXJlIGF2YWlsYWJsZSBoZWFkcm9vbSBv
biB0aGUgbmV0YnVmCj4gKyAqICAgZm9yIGRvaW5nIGEgdHJhbnNtaXNzaW9uIC0gaW5zcGVjdCBg
bmJfZW5jYXBgIHdpdGggdWtfbmV0ZGV2X2luZm9fZ2V0KCkuCj4gKyAqICAgYHBrdGAgaGFzIG5l
dmVyIHRvIGJlIGBOVUxMYC4KPiArICogQHJldHVybgo+ICsgKiAgIC0gKDApOiBObyBzcGFjZSBs
ZWZ0IG9uIHRyYW5zbWl0IHF1ZXVlLCBgcGt0YCBpcyBub3Qgc2VudAo+ICsgKiAgIC0gKDEpOiBg
cGt0YCB3YXMgc3VjY2Vzc2Z1bGx5IHB1dCB0byB0aGUgdHJhbnNtaXQgcXVldWUsCj4gKyAqICAg
ICAgICAgIHF1ZXVlIGlzIGN1cnJlbnRseSBmdWxsCj4gKyAqICAgLSAoMik6IGBwa3RgIHdhcyBz
dWNjZXNzZnVsbHkgcHV0IHRvIHRoZSB0cmFuc21pdCBxdWV1ZSwKPiArICogICAgICAgICAgdGhl
cmUgaXMgc3RpbGwgYXQgbGVhc3Qgb25lIGRlc2NyaXB0b3IgYXZhaWxhYmxlIGZvciBhCj4gKyAq
ICAgICAgICAgIHN1YnNlcXVlbnQgdHJhbnNtaXNzaW9uCj4gKyAqICAgLSAoPDApOiBFcnJvciBj
b2RlIGZyb20gZHJpdmVyLCBgcGt0YCBpcyBub3Qgc2VudAo+ICsgKi8KPiArc3RhdGljIGlubGlu
ZSBpbnQgdWtfbmV0ZGV2X3R4X29uZShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIHVpbnQxNl90IHF1
ZXVlX2lkLAo+ICsJCQkJICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+ICt7Cj4gKwlVS19BU1NF
UlQoZGV2KTsKPiArCVVLX0FTU0VSVChkZXYtPnR4X29uZSk7Cj4gKwlVS19BU1NFUlQocXVldWVf
aWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+ICsJVUtfQVNTRVJUKGRldi0+
X2RhdGEtPnN0YXRlID09IFVLX05FVERFVl9SVU5OSU5HKTsKPiArCVVLX0FTU0VSVCghUFRSSVNF
UlIoZGV2LT5fdHhfcXVldWVbcXVldWVfaWRdKSk7Cj4gKwlVS19BU1NFUlQocGt0KTsKPiArCj4g
KwlyZXR1cm4gZGV2LT50eF9vbmUoZGV2LCBkZXYtPl90eF9xdWV1ZVtxdWV1ZV9pZF0sIHBrdCk7
Cj4gK30KPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZgo+IGRpZmYg
LS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIvbGliL3VrbmV0
ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IGluZGV4IGUwY2U0OGEuLmIxNGE5YzkgMTAw
NjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+ICsrKyBi
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiBAQCAtMjU0LDEwICsyNTQs
MzQgQEAgdHlwZWRlZiB1aW50MTZfdCAoKnVrX25ldGRldl9tdHVfZ2V0X3QpKHN0cnVjdCB1a19u
ZXRkZXYgKmRldik7Cj4gICAvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc2V0IHRoZSBNVFUg
Ki8KPiAgIHR5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X210dV9zZXRfdCkoc3RydWN0IHVrX25ldGRl
diAqZGV2LCB1aW50MTZfdCBtdHUpOwo+ICAgCj4gKy8qKiBEcml2ZXIgY2FsbGJhY2sgdHlwZSB0
byBlbmFibGUgaW50ZXJydXB0cyBvZiBhIFJYIHF1ZXVlICovCj4gK3R5cGVkZWYgaW50ICgqdWtf
bmV0ZGV2X3J4cV9pbnRyX2VuYWJsZV90KShzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkJ
ICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOwo+ICsKPiArLyoqIERyaXZlciBj
YWxsYmFjayB0eXBlIHRvIGRpc2FibGUgaW50ZXJydXB0cyBvZiBhIFJYIHF1ZXVlICovCj4gK3R5
cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGVfdCkoc3RydWN0IHVrX25ldGRl
diAqZGV2LAo+ICsJCQkJCSAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7Cj4g
Kwo+ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gcmV0cmlldmUgb25lIHBhY2tldCBmcm9t
IGEgUlggcXVldWUuICovCj4gK3R5cGVkZWYgaW50ICgqdWtfbmV0ZGV2X3J4X29uZV90KShzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQkgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1
ZXVlLAo+ICsJCQkJICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0LAo+ICsJCQkJICBzdHJ1Y3QgdWtf
bmV0YnVmICpmaWxsdXBbXSwKPiArCQkJCSAgdWludDE2X3QgKmZpbGx1cF9jb3VudCk7Cj4gKwo+
ICsvKiogRHJpdmVyIGNhbGxiYWNrIHR5cGUgdG8gc3VibWl0IG9uZSBwYWNrZXQgdG8gYSBUWCBx
dWV1ZS4gKi8KPiArdHlwZWRlZiBpbnQgKCp1a19uZXRkZXZfdHhfb25lX3QpKHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwKPiArCQkJCSAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCj4g
KwkJCQkgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7Cj4gKwo+ICAgLyoqCj4gICAgKiBBIHN0cnVj
dHVyZSBjb250YWluaW5nIHRoZSBmdW5jdGlvbnMgZXhwb3J0ZWQgYnkgYSBkcml2ZXIuCj4gICAg
Ki8KPiAgIHN0cnVjdCB1a19uZXRkZXZfb3BzIHsKPiArCS8qKiBSWCBxdWV1ZSBpbnRlcnJ1cHRz
LiAqLwo+ICsJdWtfbmV0ZGV2X3J4cV9pbnRyX2VuYWJsZV90ICAgICByeHFfaW50cl9lbmFibGU7
ICAvKiBvcHRpb25hbCAqLwo+ICsJdWtfbmV0ZGV2X3J4cV9pbnRyX2Rpc2FibGVfdCAgICByeHFf
aW50cl9kaXNhYmxlOyAvKiBvcHRpb25hbCAqLwo+ICsKPiAgIAkvKiogU2V0L0dldCBoYXJkd2Fy
ZSBhZGRyZXNzLiAqLwo+ICAgCXVrX25ldGRldl9od2FkZHJfZ2V0X3QgICAgICAgICAgaHdhZGRy
X2dldDsgICAgICAgLyogcmVjb21tZW5kZWQgKi8KPiAgIAl1a19uZXRkZXZfaHdhZGRyX3NldF90
ICAgICAgICAgIGh3YWRkcl9zZXQ7ICAgICAgIC8qIG9wdGlvbmFsICovCj4gQEAgLTMxOSwxMCAr
MzQzLDE4IEBAIHN0cnVjdCB1a19uZXRkZXZfZGF0YSB7Cj4gICAgKiBORVRERVYKPiAgICAqIEEg
c3RydWN0dXJlIHVzZWQgdG8gaW50ZXJhY3Qgd2l0aCBhIG5ldHdvcmsgZGV2aWNlLgo+ICAgICoK
PiAtICogRnVuY3Rpb24gY2FsbGJhY2tzIChvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRoZSBkcml2
ZXIgYmVmb3JlCj4gLSAqIHJlZ2lzdGVyaW5nIHRoZSBuZXRkZXYuIFRoZXkgY2hhbmdlIGR1cmlu
ZyBkZXZpY2UgbGlmZSB0aW1lLgo+ICsgKiBGdW5jdGlvbiBjYWxsYmFja3MgKHR4X29uZSwgcnhf
b25lLCBvcHMpIGFyZSByZWdpc3RlcmVkIGJ5IHRoZSBkcml2ZXIgYmVmb3JlCj4gKyAqIHJlZ2lz
dGVyaW5nIHRoZSBuZXRkZXYuIFRoZXkgY2hhbmdlIGR1cmluZyBkZXZpY2UgbGlmZSB0aW1lLiBQ
YWNrZXQgUlgvVFgKPiArICogZnVuY3Rpb25zIGFyZSBhZGRlZCBkaXJlY3RseSB0byB0aGlzIHN0
cnVjdHVyZSBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4KPiArICogSXQgcHJldmVudHMgYW5vdGhl
ciBpbmRpcmVjdGlvbiB0byBvcHMuCj4gICAgKi8KPiAgIHN0cnVjdCB1a19uZXRkZXYgewo+ICsJ
LyoqIFBhY2tldCB0cmFuc21pc3Npb24uICovCj4gKwl1a19uZXRkZXZfdHhfb25lX3QgICAgICAg
ICAgdHhfb25lOyAvKiBieSBkcml2ZXIgKi8KPiArCj4gKwkvKiogUGFja2V0IHJlY2VwdGlvbi4g
Ki8KPiArCXVrX25ldGRldl9yeF9vbmVfdCAgICAgICAgICByeF9vbmU7IC8qIGJ5IGRyaXZlciAq
Lwo+ICsKPiAgIAkvKiogUG9pbnRlciB0byBBUEktaW50ZXJuYWwgc3RhdGUgZGF0YS4gKi8KPiAg
IAlzdHJ1Y3QgdWtfbmV0ZGV2X2RhdGEgICAgICAgKl9kYXRhOwo+ICAgCj4gZGlmZiAtLWdpdCBh
L2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaCBiL2xpYi91a25ldGRldi9p
bmNsdWRlL3VrL25ldGRldl9kcml2ZXIuaAo+IGluZGV4IDJkY2ZhMDcuLjYwMzNmNjIgMTAwNjQ0
Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4gKysrIGIv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2RyaXZlci5oCj4gQEAgLTY3LDYgKzY3LDM0
IEBAIGV4dGVybiAiQyIgewo+ICAgaW50IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoc3RydWN0IHVr
X25ldGRldiAqZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEsCj4gICAJCQkgICBjb25zdCBjaGFyICpk
cnZfbmFtZSk7Cj4gICAKPiArLyoqCj4gKyAqIEZvcndhcmRzIGFuIFJYIHF1ZXVlIGV2ZW50IHRv
IHRoZSBBUEkgdXNlcgo+ICsgKiBDYW4gKGFuZCBzaG91bGQpIGJlIGNhbGxlZCBmcm9tIGRldmlj
ZSBpbnRlcnJ1cHQgY29udGV4dAo+ICsgKgo+ICsgKiBAcGFyYW0gZGV2Cj4gKyAqICAgVW5pa3Jh
ZnQgbmV0d29yayBkZXZpY2UgdG8gd2hpY2ggdGhlIGV2ZW50IHJlbGF0ZXMgdG8KPiArICogQHBh
cmFtIHF1ZXVlX2lkCj4gKyAqICAgcmVjZWl2ZSBxdWV1ZSBJRCB0byB3aGljaCB0aGUgZXZlbnQg
cmVsYXRlcyB0bwo+ICsgKi8KPiArc3RhdGljIGlubGluZSB2b2lkIHVrX25ldGRldl9kcnZfcnhf
ZXZlbnQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJCSAgdWludDE2X3QgcXVldWVfaWQp
Cj4gK3sKPiArCXN0cnVjdCB1a19uZXRkZXZfZXZlbnRfaGFuZGxlciAqcnhxX2hhbmRsZXI7Cj4g
Kwo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlVS19BU1NFUlQoZGV2LT5fZGF0YSk7Cj4gKwlVS19B
U1NFUlQocXVldWVfaWQgPCBDT05GSUdfTElCVUtORVRERVZfTUFYTkJRVUVVRVMpOwo+ICsKPiAr
CXJ4cV9oYW5kbGVyID0gJmRldi0+X2RhdGEtPnJ4cV9oYW5kbGVyW3F1ZXVlX2lkXTsKPiArCj4g
KyNpZmRlZiBDT05GSUdfTElCVUtORVRERVZfRElTUEFUQ0hFUlRIUkVBRFMKPiArCXVrX3NlbWFw
aG9yZV91cCgmcnhxX2hhbmRsZXItPmV2ZW50cyk7Cj4gKyNlbHNlCj4gKwlpZiAocnhxX2hhbmRs
ZXItPmNhbGxiYWNrKQo+ICsJCXJ4cV9oYW5kbGVyLT5jYWxsYmFjayhkZXYsIHF1ZXVlX2lkLCBy
eHFfaGFuZGxlci0+Y29va2llKTsKPiArI2VuZGlmCj4gK30KPiArCj4gICAjaWZkZWYgX19jcGx1
c3BsdXMKPiAgIH0KPiAgICNlbmRpZgo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvbmV0ZGV2
LmMgYi9saWIvdWtuZXRkZXYvbmV0ZGV2LmMKPiBpbmRleCA5ZGNmZDE1Li5iMGUzOTBlIDEwMDY0
NAo+IC0tLSBhL2xpYi91a25ldGRldi9uZXRkZXYuYwo+ICsrKyBiL2xpYi91a25ldGRldi9uZXRk
ZXYuYwo+IEBAIC04MCw2ICs4MCwxMSBAQCBpbnQgdWtfbmV0ZGV2X2Rydl9yZWdpc3RlcihzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSwKPiAgIAlVS19BU1NFUlQoZGV2
LT5vcHMtPnN0YXJ0KTsKPiAgIAlVS19BU1NFUlQoZGV2LT5vcHMtPnByb21pc2N1b3VzX2dldCk7
Cj4gICAJVUtfQVNTRVJUKGRldi0+b3BzLT5tdHVfZ2V0KTsKPiArCVVLX0FTU0VSVCgoZGV2LT5v
cHMtPnJ4cV9pbnRyX2VuYWJsZSAmJiBkZXYtPm9wcy0+cnhxX2ludHJfZGlzYWJsZSkKPiArCQkg
IHx8ICghZGV2LT5vcHMtPnJ4cV9pbnRyX2VuYWJsZQo+ICsJCSAgICAgICYmICFkZXYtPm9wcy0+
cnhxX2ludHJfZGlzYWJsZSkpOwo+ICsJVUtfQVNTRVJUKGRldi0+cnhfb25lKTsKPiArCVVLX0FT
U0VSVChkZXYtPnR4X29uZSk7Cj4gICAKPiAgIAlkZXYtPl9kYXRhID0gX2FsbG9jX2RhdGEoYSwg
bmV0ZGV2X2NvdW50LCAgZHJ2X25hbWUpOwo+ICAgCWlmICghZGV2LT5fZGF0YSkKPiAKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 14:22:20 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 14:22:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEb62-0001bv-B2; Mon, 22 Oct 2018 14:22:18 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=98ek=nc=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEb61-0001bq-EB
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 14:22:17 +0000
X-Inumbo-ID: 136785de-d606-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 136785de-d606-11e8-a6a9-d7ebe60f679a;
 Mon, 22 Oct 2018 14:23:42 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id C8924104A2A;
 Mon, 22 Oct 2018 16:22:12 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gOTvge8SMA1d; Mon, 22 Oct 2018 16:22:12 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id A01E210495A
 for <minios-devel@lists.xen.org>; Mon, 22 Oct 2018 16:22:10 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct
 2018 16:22:10 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-3-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181022162210031
Message-ID: <5e563eb6-c3f1-00ad-c0d5-037070b11f3c@neclab.eu>
Date: Mon, 22 Oct 2018 16:22:10 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-3-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 2/7] plat/common: Introduce
 virtio standard header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6MDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gV2UgaW50cm9kdWNlIHRo
ZSBzdGFuZGFyZCB2aXJ0aW8gaGVhZGVyIGZpbGVzLgo+ICogdmlydGlvX2lkczogTGlzdCB0aGUg
aWRzIG9mIHRoZSB2aXJ0aW8gZGV2aWNlcwo+ICogdmlydGlvX3JpbmcuaDogRGVzY3JpYmVzIHRo
ZSB2aXJ0aW8gcmluZyBkZXNjcmlwdG9yLCB1c2VkIGFuZAo+IAkJCQkgYXZhaWxhYmxlIGRlc2Ny
aXB0b3JzLgo+ICogdmlydGlvX3BjaS5oOiBEZXNjcmliZXMgdGhlIHZpcnRpbyBQQ0kgZGV2aWNl
IHJlZ2lzdGVyIG1hcC4KPiAqIHZpcnRpb190eXBlcy5oOiAgRGVzY3JpYmVzIHRoZSB0eXBlIG9m
IHRoZSBkYXRhIHN0cnVjdHVyZS4KPiAqIHZpcnRpb19jb25maWcuaDogUHJvdmlkZXMgaGVscGVy
IGZ1bmN0aW9uIHRvIHBlcmZvcm0gSU8KPiAJCQkJb3BlcmF0aW9uIG9uIHRoZSBkZXZpY2UuCj4g
Cj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNs
YWIuZXU+Cj4gLS0tCj4gICBwbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3Bj
aS5oIHwgIDY2IC0tLS0tLS0KPiAgIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9f
Y29uZmlnLmggfCAyNTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgcGxhdC9kcml2
ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19pZHMuaCAgICB8ICA2NCArKysrKysrCj4gICBwbGF0
L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3BjaS5oICAgIHwgIDcwICsrKysrKysrCj4g
ICBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3JpbmcuaCAgIHwgMTk2ICsrKysr
KysrKysrKysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb190
eXBlcy5oICB8ICA2MiArKysrKysrCj4gICA2IGZpbGVzIGNoYW5nZWQsIDY1MSBpbnNlcnRpb25z
KCspLCA2NiBkZWxldGlvbnMoLSkKPiAgIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9p
bmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaAo+ICAgY3JlYXRlIG1vZGUg
MTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9faWRzLmgKPiAgIGNyZWF0
ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3BjaS5oCj4g
ICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19y
aW5nLmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvX3R5cGVzLmgKPiAKPiBkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kv
dmlydGlvL3ZpcnRpb19wY2kuaCBiL3BsYXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0
aW9fcGNpLmgKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA2ZjlhNmUxLi4wMDAw
MDAwCj4gLS0tIGEvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19wY2kuaAo+
ICsrKyAvZGV2L251bGwKPiBAQCAtMSw2NiArMCwwIEBACj4gLS8qIFNQRFgtTGljZW5zZS1JZGVu
dGlmaWVyOiBJU0MgKi8KPiAtLyoKPiAtICogQXV0aG9yczogRGFuIFdpbGxpYW1zCj4gLSAqICAg
ICAgICAgIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Cj4gLSAqCj4gLSAqIENv
cHlyaWdodCAoYykgMjAxNSwgSUJNCj4gLSAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9w
ZSBMdGQuLCBORUMgQ29ycG9yYXRpb24KPiAtICoKPiAtICogUGVybWlzc2lvbiB0byB1c2UsIGNv
cHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZQo+IC0gKiBmb3IgYW55
IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQK
PiAtICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u
IG5vdGljZSBhcHBlYXIKPiAtICogaW4gYWxsIGNvcGllcy4KPiAtICoKPiAtICogVEhFIFNPRlRX
QVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTAo+IC0g
KiBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJ
TVBMSUVECj4gLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUKPiAtICogQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQRUNJ
QUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCj4gLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBB
TlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MKPiAtICogT0YgVVNFLCBE
QVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAo+IC0gKiBO
RUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4K
PiAtICogQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZU
V0FSRS4KPiAtICovCj4gLS8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gc29sbzUgdmlydGlvX3Bj
aS5oICovCj4gLQo+IC0jaWZuZGVmIF9fUExBVF9DTU5fUENJX1ZJUlRJT19QQ0lfSF9fCj4gLSNk
ZWZpbmUgX19QTEFUX0NNTl9QQ0lfVklSVElPX1BDSV9IX18KPiAtCj4gLS8qIHZpcnRpbyBjb25m
aWcgc3BhY2UgbGF5b3V0ICovCj4gLS8qIFRPRE8gd2UgY3VycmVudGx5IHN1cHBvcnQgb25seSB0
aGUgbGVnYWN5IGludGVyZmFjZSAqLwo+IC0jZGVmaW5lIFZJUlRJT19QQ0lfSE9TVF9GRUFUVVJF
UyAgICAgICAgMCAgICAvKiAzMi1iaXQgci9vICovCj4gLSNkZWZpbmUgVklSVElPX1BDSV9HVUVT
VF9GRUFUVVJFUyAgICAgICA0ICAgIC8qIDMyLWJpdCByL3cgKi8KPiAtI2RlZmluZSBWSVJUSU9f
UENJX1FVRVVFX1BGTiAgICAgICAgICAgIDggICAgLyogMzItYml0IHIvdyAqLwo+IC0jZGVmaW5l
IFZJUlRJT19QQ0lfUVVFVUVfU0laRSAgICAgICAgICAgMTIgICAvKiAxNi1iaXQgci9vICovCj4g
LSNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9TRUwgICAgICAgICAgICAxNCAgIC8qIDE2LWJpdCBy
L3cgKi8KPiAtI2RlZmluZSBWSVJUSU9fUENJX1FVRVVFX05PVElGWSAgICAgICAgIDE2ICAgLyog
MTYtYml0IHIvdyAqLwo+IC0KPiAtLyoKPiAtICogU2hpZnQgc2l6ZSB1c2VkIGZvciB3cml0aW5n
IHBoeXNpY2FsIHF1ZXVlIGFkZHJlc3MgdG8gUVVFVUVfUEZOCj4gLSAqLwo+IC0jZGVmaW5lIFZJ
UlRJT19QQ0lfUVVFVUVfQUREUl9TSElGVCAgICAgMTIKPiAtCj4gLQo+IC0vKgo+IC0gKiBUaGUg
c3RhdHVzIHJlZ2lzdGVyIGxldHMgdXMgdGVsbCB0aGUgZGV2aWNlIHdoZXJlIHdlIGFyZSBpbgo+
IC0gKiBpbml0aWFsaXphdGlvbgo+IC0gKi8KPiAtI2RlZmluZSBWSVJUSU9fUENJX1NUQVRVUyAg
ICAgICAgICAgICAgIDE4ICAgLyogOC1iaXQgci93ICovCj4gLSNkZWZpbmUgVklSVElPX1BDSV9T
VEFUVVNfQUNLICAgICAgICAgICAweDEgIC8qIHdlIHJlY29nbml6ZSBkZXZpY2UgYXMgdmlydGlv
ICovCj4gLSNkZWZpbmUgVklSVElPX1BDSV9TVEFUVVNfRFJJVkVSICAgICAgICAweDIgIC8qIHdl
IHdhbnQgdG8gZHJpdmUgaXQgKi8KPiAtI2RlZmluZSBWSVJUSU9fUENJX1NUQVRVU19EUklWRVJf
T0sgICAgIDB4NCAgLyogaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUgKi8KPiAtI2RlZmluZSBW
SVJUSU9fUENJX1NUQVRVU19ERVZJQ0VfUkVTRVQgIDB4NDAgLyogZGV2aWNlIG5lZWRzIHJlc2V0
ICovCj4gLSNkZWZpbmUgVklSVElPX1BDSV9TVEFUVVNfRkFJTCAgICAgICAgICAweDgwIC8qIHRl
bGwgZGV2aWNlIHNvbWV0aGluZydzIHdyb25nICovCj4gLQo+IC0vKgo+IC0gKiBSZWFkaW5nIHRo
ZSB2YWx1ZSB3aWxsIHJldHVybiB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgaW50ZXJydXB0
Cj4gLSAqIHN0YXR1cyByZWdpc3RlciBhbmQgd2lsbCBhbHNvIGNsZWFyIGl0LiAgVGhpcyBpcyBl
ZmZlY3RpdmVseSBhCj4gLSAqIHJlYWQtYW5kLWFja25vd2xlZGdlLgo+IC0gKi8KPiAtI2RlZmlu
ZSBWSVJUSU9fUENJX0lTUiAgICAgICAgICAgICAgICAgIDE5ICAgLyogOC1iaXQgci9vICovCj4g
LSNkZWZpbmUgVklSVElPX1BDSV9JU1JfSEFTX0lOVFIgICAgICAgICAweDEgIC8qIGludGVycnVw
dCBpcyBmb3IgdGhpcyBkZXZpY2UgKi8KPiAtI2RlZmluZSBWSVJUSU9fUENJX0lTUl9DT05GSUcg
ICAgICAgICAgIDB4MiAgLyogY29uZmlnIGNoYW5nZSBiaXQgKi8KPiAtCj4gLS8qIFRPRE8gUmV2
aXNpdCB3aGVuIGFkZGluZyBNU0kgc3VwcG9ydC4gKi8KPiAtI2RlZmluZSBWSVJUSU9fUENJX0NP
TkZJR19PRkYgICAgICAgICAgIDIwCj4gLQo+IC0jZW5kaWYgLyogX19QTEFUX0NNTl9QQ0lfVklS
VElPX1BDSV9IX18gKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRpb19jb25maWcuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fY29u
ZmlnLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLjFjNGU3ZWYKPiAt
LS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19j
b25maWcuaAo+IEBAIC0wLDAgKzEsMjU5IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBCU0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAqIENvcHlyaWdodCAoYykgMjAx
OCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Cj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiAr
ICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5h
bWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICogICAg
Y29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJV
VE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArICoK
PiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5Z
IFdBWS4KPiArICovCj4gKwo+ICsjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX0NPTkZJR19ICj4g
KyNkZWZpbmUgX19QTEFUX0RSVl9WSVJUSU9fQ09ORklHX0gKPiArCj4gKyNpbmNsdWRlIDx1ay9h
cmNoL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxjcHUuaD4KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1
cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCj4gKwo+ICsj
ZGVmaW5lIE1BWF9UUllfQ09VTlQgICAgKDEwKQo+ICsKPiArI2RlZmluZSBWSVJUSU9fQ09ORklH
X1NUQVRVU19SRVNFVCAgICAgICAgIDB4MCAgLyogUmVzZXQgdGhlIGRldmljZSAqLwo+ICsjZGVm
aW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0FDSyAgICAgICAgICAgMHgxICAvKiByZWNvZ25pemUg
ZGV2aWNlIGFzIHZpcnRpbyAqLwo+ICsjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZF
UiAgICAgICAgMHgyICAvKiBkcml2ZXIgZm9yIHRoZSBkZXZpY2UgZm91bmQqLwo+ICsjZGVmaW5l
IFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUl9PSyAgICAgMHg0ICAvKiBpbml0aWFsaXphdGlv
biBpcyBjb21wbGV0ZSAqLwo+ICsjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX05FRURTX1JF
U0VUICAgMHg0MCAvKiBkZXZpY2UgbmVlZHMgcmVzZXQgKi8KPiArI2RlZmluZSBWSVJUSU9fQ09O
RklHX1NUQVRVU19GQUlMICAgICAgICAgIDB4ODAgLyogZGV2aWNlIHNvbWV0aGluZydzIHdyb25n
Ki8KPiArCj4gKyNkZWZpbmUgVklSVElPX1RSQU5TUE9SVF9GX1NUQVJUICAgIDI4Cj4gKyNkZWZp
bmUgVklSVElPX1RSQU5TUE9SVF9GX0VORCAgICAgIDMyCj4gKwo+ICsjaWZkZWYgX19YODZfNjRf
Xwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgX3ZpcnRpb19jd3JpdGVfYnl0ZXMoY29uc3Qgdm9pZCAq
YWRkciwgY29uc3QgX191OCBvZmZzZXQsCj4gKwkJCQkJY29uc3Qgdm9pZCAqYnVmLCBpbnQgbGVu
LCBpbnQgdHlwZV9sZW4pCj4gK3sKPiArCWludCBpID0gMDsKPiArCV9fdTE2IGlvX2FkZHI7Cj4g
KwlpbnQgY291bnQ7Cj4gKwo+ICsJY291bnQgID0gbGVuIC8gdHlwZV9sZW47Cj4gKwlmb3IgKGkg
PSAwOyBpIDwgY291bnQ7IGkrKykgewo+ICsJCWlvX2FkZHIgPSAoKHVuc2lnbmVkIGxvbmcpYWRk
cikgKyBvZmZzZXQgKyAoaSAqIHR5cGVfbGVuKTsKPiArCQlzd2l0Y2ggKHR5cGVfbGVuKSB7Cj4g
KwkJY2FzZSAxOgo+ICsJCQlvdXRiKGlvX2FkZHIsICgoX191OCAqKWJ1ZilbaSAqIHR5cGVfbGVu
XSk7Cj4gKwkJCWJyZWFrOwo+ICsJCWNhc2UgMjoKPiArCQkJb3V0dyhpb19hZGRyLCAoKF9fdTE2
ICopYnVmKVtpICogdHlwZV9sZW5dKTsKPiArCQkJYnJlYWs7Cj4gKwkJY2FzZSA0Ogo+ICsJCQlv
dXRsKGlvX2FkZHIsICgoX191MzIgKilidWYpW2kgKiB0eXBlX2xlbl0pOwo+ICsJCQlicmVhazsK
PiArCQlkZWZhdWx0Ogo+ICsJCQlVS19DUkFTSCgiVW5zdXBwb3J0ZWQgdmlydGlvIHdyaXRlIG9w
ZXJhdGlvblxuIik7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQg
X3ZpcnRpb19jcmVhZF9ieXRlcyhjb25zdCB2b2lkICphZGRyLCBjb25zdCBfX3U4IG9mZnNldCwK
PiArCQkJCSAgICAgICB2b2lkICpidWYsIGludCBsZW4sIGludCB0eXBlX2xlbikKPiArewo+ICsJ
aW50IGkgPSAwOwo+ICsJX191MTYgaW9fYWRkcjsKPiArCWludCBjb3VudDsKPiArCj4gKwljb3Vu
dCA9IGxlbiAvIHR5cGVfbGVuOwo+ICsJZm9yIChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKPiAr
CQlpb19hZGRyID0gKCh1bnNpZ25lZCBsb25nKWFkZHIpICsgb2Zmc2V0ICsgKGkgKiB0eXBlX2xl
bik7Cj4gKwkJc3dpdGNoICh0eXBlX2xlbikgewo+ICsJCWNhc2UgMToKPiArCQkJKChfX3U4ICop
YnVmKVtpICogdHlwZV9sZW5dID0gaW5iKGlvX2FkZHIpOwo+ICsJCQlicmVhazsKPiArCQljYXNl
IDI6Cj4gKwkJCSgoX191MTYgKilidWYpW2kgKiB0eXBlX2xlbl0gPSBpbncoaW9fYWRkcik7Cj4g
KwkJCWJyZWFrOwo+ICsJCWNhc2UgNDoKPiArCQkJKChfX3UzMiAqKWJ1ZilbaSAqIHR5cGVfbGVu
XSA9IGlubChpb19hZGRyKTsKPiArCQkJYnJlYWs7Cj4gKwkJY2FzZSA4Ogo+ICsJCQkoKF9fdTY0
ICAqKWJ1ZilbaSAqIHR5cGVfbGVuXSA9IGlucShpb19hZGRyKTsKPiArCQkJYnJlYWs7Cj4gKwkJ
ZGVmYXVsdDoKPiArCQkJVUtfQ1JBU0goIlVuc3VwcG9ydGVkIHZpcnRpbyByZWFkIG9wZXJhdGlv
blxuIik7Cj4gKwkJfQo+ICsJfQo+ICt9Cj4gKyNlbHNlICAvKiBfX1g4Nl82NF9fICovCj4gKyNl
cnJvciAiVmlydGlvIGRyaXZlciBub3Qgc3VwcG9ydGVkIGZvciB0aGlzIGFyY2hpdGVjdHVyZSIK
PiArI2VuZGlmIC8qIF9fWDg2XzY0X18gKi8KPiArCj4gKy8qKgo+ICsgKiBSZWFkIHRoZSB2aXJ0
aW8gZGV2aWNlIGNvbmZpZ3VyYXRpb24gb2Ygc3BlY2lmaWVkIGxlbmd0aC4KPiArICoKPiArICog
QHBhcmFtIGFkZHIKPiArICogICBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2UuCj4gKyAq
IEBwYXJhbSBvZmZzZXQKPiArICogICBUaGUgb2Zmc2V0IHdpdGggdGhlIGRldmljZSBhZGRyZXNz
IHNwYWNlLgo+ICsgKiBAcGFyYW0gYnVmCj4gKyAqICAgIFRoZSBkZXN0aW5hdGlvbiBidWZmZXIg
dG8gd2hpY2ggdGhlIHZhbHVlIGhhcyB0byBiZSBjb3BpZWQuCj4gKyAqIEBwYXJhbSBsZW4KPiAr
ICogICAgVGhlIGxlbmd0aCBvZiB0aGUgZGVzdGluYXRpb24gYnVmZmVyLgo+ICsgKi8KPiArc3Rh
dGljIGlubGluZSBpbnQgdmlydGlvX2NyZWFkX2J5dGVzX21hbnkoY29uc3Qgdm9pZCAqYWRkciwg
Y29uc3QgX191OCBvZmZzZXQsCj4gKwkJCQkJICBfX3U4ICpidWYsIF9fdTMyIGxlbikKPiArewo+
ICsJX191OCBvbGRfYnVmW2xlbl07Cj4gKwlpbnQgY2hlY2sgPSAtMTsKPiArCWludCBjbnQgPSAw
Owo+ICsJX191MzIgaSA9IDA7Cj4gKwo+ICsJZG8gewo+ICsJCWNoZWNrID0gbGVuOwo+ICsJCV92
aXJ0aW9fY3JlYWRfYnl0ZXMoYWRkciwgb2Zmc2V0LCAmb2xkX2J1ZlswXSwgbGVuLCAxKTsKPiAr
CQlfdmlydGlvX2NyZWFkX2J5dGVzKGFkZHIsIG9mZnNldCwgYnVmLCBsZW4sIDEpOwo+ICsKPiAr
CQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKPiArCQkJaWYgKHVubGlrZWx5KGJ1ZltpXSAh
PSBvbGRfYnVmW2ldKSkgewo+ICsJCQkJY2hlY2sgPSAtMTsgLyogTmVlZCB0byByZXRyeSBjb25m
aWd1cmF0aW9uICovCj4gKwkJCQlicmVhazsKPiArCQkJfQo+ICsJCX0KPiArCQljbnQrKzsKPiAr
CX0gd2hpbGUgKGNoZWNrID09IC0xICYmIGNudCA8IE1BWF9UUllfQ09VTlQpOwo+ICsKPiArCXJl
dHVybiBjaGVjazsKPiArfQo+ICsKPiArLyoqCj4gKyAqIFJlYWQgdGhlIHNpbmdsZSBieXRlIGNv
bmZpZ3VyYXRpb24uCj4gKyAqCj4gKyAqIEBwYXJhbSBhZGRyCj4gKyAqICAgVGhlIGJhc2UgYWRk
cmVzcyBvZiB0aGUgZGV2aWNlLgo+ICsgKiBAcGFyYW0gb2Zmc2V0Cj4gKyAqICAgVGhlIG9mZnNl
dCB3aXRoIHRoZSBkZXZpY2UgYWRkcmVzcyBzcGFjZS4KPiArICogQHJldHVybiBfX3U4Cj4gKyAq
ICAgUmV0dXJucyB0aGUgdmFsdWUgY29uZmlndXJhdGlvbiByZWdpc3Rlci4KPiArICovCj4gK3N0
YXRpYyBpbmxpbmUgX191OCB2aXJ0aW9fY3JlYWQ4KGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9f
dTggb2Zmc2V0KQo+ICt7Cj4gKwlfX3U4IGJ1ZiA9IDA7Cj4gKwo+ICsJX3ZpcnRpb19jcmVhZF9i
eXRlcyhhZGRyLCBvZmZzZXQsICZidWYsIHNpemVvZihidWYpLCBzaXplb2YoYnVmKSk7Cj4gKwly
ZXR1cm4gYnVmOwo+ICt9Cj4gKwo+ICsvKioKPiArICogUmVhZCB0aGUgc2luZ2xlIHdvcmQgY29u
ZmlndXJhdGlvbi4KPiArICoKPiArICogQHBhcmFtIGFkZHIKPiArICogICBUaGUgYmFzZSBhZGRy
ZXNzIG9mIHRoZSBkZXZpY2UuCj4gKyAqIEBwYXJhbSBvZmZzZXQKPiArICogICBUaGUgb2Zmc2V0
IHdpdGggdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgo+ICsgKiBAcmV0dXJuIF9fdTE2Cj4gKyAq
ICAgUmV0dXJucyB0aGUgdmFsdWUgY29uZmlndXJhdGlvbiByZWdpc3Rlci4KPiArICovCj4gK3N0
YXRpYyBpbmxpbmUgX191MTYgdmlydGlvX2NyZWFkMTYoY29uc3Qgdm9pZCAqYWRkciwgY29uc3Qg
X191OCBvZmZzZXQpCj4gK3sKPiArCV9fdTE2IGJ1ZiA9IDA7Cj4gKwo+ICsJX3ZpcnRpb19jcmVh
ZF9ieXRlcyhhZGRyLCBvZmZzZXQsICZidWYsIHNpemVvZihidWYpLCBzaXplb2YoYnVmKSk7Cj4g
KwlyZXR1cm4gYnVmOwo+ICt9Cj4gKwo+ICsvKioKPiArICogUmVhZCB0aGUgc2luZ2xlIGxvbmcg
d29yZCBjb25maWd1cmF0aW9uLgo+ICsgKgo+ICsgKiBAcGFyYW0gYWRkcgo+ICsgKiAgIFRoZSBi
YXNlIGFkZHJlc3Mgb2YgdGhlIGRldmljZS4KPiArICogQHBhcmFtIG9mZnNldAo+ICsgKiAgIFRo
ZSBvZmZzZXQgd2l0aCB0aGUgZGV2aWNlIGFkZHJlc3Mgc3BhY2UuCj4gKyAqIEByZXR1cm4gX191
MzIKPiArICogICBSZXR1cm5zIHRoZSB2YWx1ZSBjb25maWd1cmF0aW9uIHJlZ2lzdGVyLgo+ICsg
Ki8KPiArc3RhdGljIGlubGluZSBfX3UzMiB2aXJ0aW9fY3JlYWQzMihjb25zdCB2b2lkICphZGRy
LCBjb25zdCBfX3U4IG9mZnNldCkKPiArewo+ICsJX191MzIgYnVmID0gMDsKPiArCj4gKwlfdmly
dGlvX2NyZWFkX2J5dGVzKGFkZHIsIG9mZnNldCwgJmJ1Ziwgc2l6ZW9mKGJ1ZiksIHNpemVvZihi
dWYpKTsKPiArCXJldHVybiBidWY7Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBXcml0ZSB0aGUgY29u
ZmlndXJhdGlvbi4KPiArICoKPiArICogQHBhcmFtIGFkZHIKPiArICogICBUaGUgYmFzZSBhZGRy
ZXNzIG9mIHRoZSBkZXZpY2UuCj4gKyAqIEBwYXJhbSBvZmZzZXQKPiArICogICBUaGUgb2Zmc2V0
IHdpdGggdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgo+ICsgKiBAcGFyYW0gZGF0YQo+ICsgKiAg
IFRoZSB2YWx1ZSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlvbi4KPiArICovCj4gK3N0YXRp
YyBpbmxpbmUgdm9pZCB2aXJ0aW9fY3dyaXRlOChjb25zdCB2b2lkICphZGRyLCBjb25zdCBfX3U4
IG9mZnNldCwKPiArCQkJCSAgY29uc3QgX191OCBkYXRhKQo+ICt7Cj4gKwlfdmlydGlvX2N3cml0
ZV9ieXRlcyhhZGRyLCBvZmZzZXQsICZkYXRhLCBzaXplb2YoZGF0YSksIHNpemVvZihkYXRhKSk7
Cj4gK30KPiArCj4gKy8qKgo+ICsgKiBXcml0ZSB0aGUgY29uZmlndXJhdGlvbi4KPiArICoKPiAr
ICogQHBhcmFtIGFkZHIKPiArICogICBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2UuCj4g
KyAqIEBwYXJhbSBvZmZzZXQKPiArICogICBUaGUgb2Zmc2V0IHdpdGggdGhlIGRldmljZSBhZGRy
ZXNzIHNwYWNlLgo+ICsgKiBAcGFyYW0gZGF0YQo+ICsgKiAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0
byB0aGUgY29uZmlndXJhdGlvbi4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9f
Y3dyaXRlMTYoY29uc3Qgdm9pZCAqYWRkciwgY29uc3QgX191OCBvZmZzZXQsCj4gKwkJCQkgICBj
b25zdCBfX3UxNiBkYXRhKQo+ICt7Cj4gKwlfdmlydGlvX2N3cml0ZV9ieXRlcyhhZGRyLCBvZmZz
ZXQsICZkYXRhLCBzaXplb2YoZGF0YSksIHNpemVvZihkYXRhKSk7Cj4gK30KPiArCj4gKy8qKgo+
ICsgKiBXcml0ZSB0aGUgY29uZmlndXJhdGlvbi4KPiArICoKPiArICogQHBhcmFtIGFkZHIKPiAr
ICogICBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBkZXZpY2UuCj4gKyAqIEBwYXJhbSBvZmZzZXQK
PiArICogICBUaGUgb2Zmc2V0IHdpdGggdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgo+ICsgKiBA
cGFyYW0gZGF0YQo+ICsgKiAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlv
bi4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fY3dyaXRlMzIoY29uc3Qgdm9p
ZCAqYWRkciwgY29uc3QgX191OCBvZmZzZXQsCj4gKwkJCQkgICBjb25zdCBfX3UzMiBkYXRhKQo+
ICt7Cj4gKwlfdmlydGlvX2N3cml0ZV9ieXRlcyhhZGRyLCBvZmZzZXQsICZkYXRhLCBzaXplb2Yo
ZGF0YSksIHNpemVvZihkYXRhKSk7Cj4gK30KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICt9
Cj4gKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyBfXyAqLwo+ICsKPiArI2VuZGlmIC8qIF9fUExBVF9E
UlZfVklSVElPX0NPTkZJR19IICovCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRl
L3ZpcnRpby92aXJ0aW9faWRzLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlv
X2lkcy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5jNzBkZTIzCj4g
LS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9f
aWRzLmgKPiBAQCAtMCwwICsxLDY0IEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC
U0QtMy1DbGF1c2UgKi8KPiArLyoqCj4gKyAqIFZpcnRpbyBJRHMKPiArICoKPiArICogVGhpcyBo
ZWFkZXIgaXMgQlNEIGxpY2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9ucyB0
byBpbXBsZW1lbnQKPiArICogY29tcGF0aWJsZSBkcml2ZXJzL3NlcnZlcnMuCj4gKyAqCj4gKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
PiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgSUJNIG5vciB0aGUg
bmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwo+ICsgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNl
IG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKPiArICogICAg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORAo+ICsgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UKPiArICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBJQk0gT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRQo+ICsgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAo+ICsgKiBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUwo+ICsgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikKPiArICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKPiArICogTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWQo+ICsgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCj4gKyAqIFNVQ0ggREFNQUdFLgo+ICsg
Ki8KPiArLyoqCj4gKyAqIFRha2VuIGFuZCBtb2RpZmllZCBmcm9tIExpbnV4IEtlcm5lbC4KPiAr
ICogaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb19pZHMuaAo+ICsgKgo+ICsgKiBDb21taXQtaWQ6
ZGJhZjA2MjRmZmE1Cj4gKyAqLwo+ICsjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX0lEU19ICj4g
KyNkZWZpbmUgX19QTEFUX0RSVl9WSVJUSU9fSURTX0gKPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1
cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCj4gKwo+ICsj
ZGVmaW5lIFZJUlRJT19JRF9JTlZBTElEICAgICAgIDAgLyogSW52YWxpZCBkZXZpY2UgKFJlc2Vy
dmVkKSAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF9ORVQJCTEgLyogdmlydGlvIG5ldCAqLwo+ICsj
ZGVmaW5lIFZJUlRJT19JRF9CTE9DSwkJMiAvKiB2aXJ0aW8gYmxvY2sgKi8KPiArI2RlZmluZSBW
SVJUSU9fSURfQ09OU09MRQkzIC8qIHZpcnRpbyBjb25zb2xlICovCj4gKyNkZWZpbmUgVklSVElP
X0lEX1JORwkJNCAvKiB2aXJ0aW8gcm5nICovCj4gKyNkZWZpbmUgVklSVElPX0lEX0JBTExPT04J
NSAvKiB2aXJ0aW8gYmFsbG9vbiAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF9SUE1TRwkJNyAvKiB2
aXJ0aW8gcmVtb3RlIHByb2Nlc3NvciBtZXNzYWdpbmcgKi8KPiArI2RlZmluZSBWSVJUSU9fSURf
U0NTSQkJOCAvKiB2aXJ0aW8gc2NzaSAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF85UAkJOSAvKiA5
cCB2aXJ0aW8gY29uc29sZSAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF9SUFJPQ19TRVJJQUwgMTEg
LyogdmlydGlvIHJlbW90ZXByb2Mgc2VyaWFsIGxpbmsgKi8KPiArI2RlZmluZSBWSVJUSU9fSURf
Q0FJRgkgICAgICAgMTIgLyogVmlydGlvIGNhaWYgKi8KPiArI2RlZmluZSBWSVJUSU9fSURfR1BV
ICAgICAgICAgIDE2IC8qIHZpcnRpbyBHUFUgKi8KPiArI2RlZmluZSBWSVJUSU9fSURfSU5QVVQg
ICAgICAgIDE4IC8qIHZpcnRpbyBpbnB1dCAqLwo+ICsjZGVmaW5lIFZJUlRJT19JRF9WU09DSyAg
ICAgICAgMTkgLyogdmlydGlvIHZzb2NrIHRyYW5zcG9ydCAqLwo+ICsjZGVmaW5lIFZJUlRJT19J
RF9DUllQVE8gICAgICAgMjAgLyogdmlydGlvIGNyeXB0byAqLwo+ICsKPiArI2lmZGVmIF9fY3Bs
dXNwbHVzCj4gK30KPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCj4gKwo+ICsjZW5kaWYg
LyogX19QTEFUX0RSVl9WSVJUSU9fSURTX0ggKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJz
L2luY2x1ZGUvdmlydGlvL3ZpcnRpb19wY2kuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRp
by92aXJ0aW9fcGNpLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmU1
NDI3ODEKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRpb19wY2kuaAo+IEBAIC0wLDAgKzEsNzAgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IElTQyAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBEYW4gV2lsbGlhbXMKPiArICogICAg
ICAgICAgQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KPiArICogICAgICAgICAg
U2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAq
IENvcHlyaWdodCAoYykgMjAxNSwgSUJNCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1
cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24KPiArICoKPiArICogUGVybWlzc2lvbiB0byB1c2Us
IGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZQo+ICsgKiBmb3Ig
YW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlk
ZWQKPiArICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz
aW9uIG5vdGljZSBhcHBlYXIKPiArICogaW4gYWxsIGNvcGllcy4KPiArICoKPiArICogVEhFIFNP
RlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTAo+
ICsgKiBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFM
TCBJTVBMSUVECj4gKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKPiArICogQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQ
RUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyBP
UiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MKPiArICogT0YgVVNF
LCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAo+ICsg
KiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1Ig
SU4KPiArICogQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBT
T0ZUV0FSRS4KPiArICovCj4gKy8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gc29sbzUgdmlydGlv
X3BjaS5oICovCj4gKwo+ICsjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX1BDSV9IX18KPiArI2Rl
ZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19QQ0lfSF9fCj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMK
PiArZXh0ZXJuICJDIiB7Cj4gKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyBfXyAqLwo+ICsKPiArLyog
dmlydGlvIGNvbmZpZyBzcGFjZSBsYXlvdXQgKi8KPiArLyogVE9ETyB3ZSBjdXJyZW50bHkgc3Vw
cG9ydCBvbmx5IHRoZSBsZWdhY3kgaW50ZXJmYWNlICovCj4gKyNkZWZpbmUgVklSVElPX1BDSV9I
T1NUX0ZFQVRVUkVTICAgICAgICAwICAgIC8qIDMyLWJpdCByL28gKi8KPiArI2RlZmluZSBWSVJU
SU9fUENJX0dVRVNUX0ZFQVRVUkVTICAgICAgIDQgICAgLyogMzItYml0IHIvdyAqLwo+ICsjZGVm
aW5lIFZJUlRJT19QQ0lfUVVFVUVfUEZOICAgICAgICAgICAgOCAgICAvKiAzMi1iaXQgci93ICov
Cj4gKyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9TSVpFICAgICAgICAgICAxMiAgIC8qIDE2LWJp
dCByL28gKi8KPiArI2RlZmluZSBWSVJUSU9fUENJX1FVRVVFX1NFTCAgICAgICAgICAgIDE0ICAg
LyogMTYtYml0IHIvdyAqLwo+ICsjZGVmaW5lIFZJUlRJT19QQ0lfUVVFVUVfTk9USUZZICAgICAg
ICAgMTYgICAvKiAxNi1iaXQgci93ICovCj4gKwo+ICsvKgo+ICsgKiBTaGlmdCBzaXplIHVzZWQg
Zm9yIHdyaXRpbmcgcGh5c2ljYWwgcXVldWUgYWRkcmVzcyB0byBRVUVVRV9QRk4KPiArICovCj4g
KyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9BRERSX1NISUZUICAgICAxMgo+ICsKPiArLyoKPiAr
ICogVGhlIHN0YXR1cyByZWdpc3RlciBsZXRzIHVzIHRlbGwgdGhlIGRldmljZSB3aGVyZSB3ZSBh
cmUgaW4KPiArICogaW5pdGlhbGl6YXRpb24KPiArICovCj4gKyNkZWZpbmUgVklSVElPX1BDSV9T
VEFUVVMgICAgICAgICAgICAgICAxOCAgIC8qIDgtYml0IHIvdyAqLwo+ICsKPiArLyoKPiArICog
UmVhZGluZyB0aGUgdmFsdWUgd2lsbCByZXR1cm4gdGhlIGN1cnJlbnQgY29udGVudHMgb2YgdGhl
IGludGVycnVwdAo+ICsgKiBzdGF0dXMgcmVnaXN0ZXIgYW5kIHdpbGwgYWxzbyBjbGVhciBpdC4g
IFRoaXMgaXMgZWZmZWN0aXZlbHkgYQo+ICsgKiByZWFkLWFuZC1hY2tub3dsZWRnZS4KPiArICov
Cj4gKyNkZWZpbmUgVklSVElPX1BDSV9JU1IgICAgICAgICAgICAgICAgICAxOSAgIC8qIDgtYml0
IHIvbyAqLwo+ICsjZGVmaW5lIFZJUlRJT19QQ0lfSVNSX0hBU19JTlRSICAgICAgICAgMHgxICAv
KiBpbnRlcnJ1cHQgaXMgZm9yIHRoaXMgZGV2aWNlICovCj4gKyNkZWZpbmUgVklSVElPX1BDSV9J
U1JfQ09ORklHICAgICAgICAgICAweDIgIC8qIGNvbmZpZyBjaGFuZ2UgYml0ICovCj4gKwo+ICsv
KiBUT0RPIFJldmlzaXQgd2hlbiBhZGRpbmcgTVNJIHN1cHBvcnQuICovCj4gKyNkZWZpbmUgVklS
VElPX1BDSV9DT05GSUdfT0ZGICAgICAgICAgICAyMAo+ICsjZGVmaW5lIFZJUlRJT19QQ0lfVlJJ
TkdfQUxJR04gICAgICAgICAgNDA5Ngo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK30KPiAr
I2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCj4gKwo+ICsjZW5kaWYgLyogX19QTEFUX0RSVl9W
SVJUSU9fUENJX0hfXyAqLwo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX3JpbmcuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fcmlu
Zy5oCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi45ZjY1NTk0Cj4gLS0t
IC9kZXYvbnVsbAo+ICsrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fcmlu
Zy5oCj4gQEAgLTAsMCArMSwxOTYgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT
RC0zLUNsYXVzZSAqLwo+ICsvKiBBbiBpbnRlcmZhY2UgZm9yIGVmZmljaWVudCB2aXJ0aW8gaW1w
bGVtZW50YXRpb24sIGN1cnJlbnRseSBmb3IgdXNlIGJ5IEtWTSwKPiArICogYnV0IGhvcGVmdWxs
eSBvdGhlcnMgc29vbi4gIERvIE5PVCBjaGFuZ2UgdGhpcyBzaW5jZSBpdCB3aWxsCj4gKyAqIGJy
ZWFrIGV4aXN0aW5nIHNlcnZlcnMgYW5kIGNsaWVudHMuCj4gKyAqCj4gKyAqIFRoaXMgaGVhZGVy
IGlzIEJTRCBsaWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMgdG8gaW1w
bGVtZW50Cj4gKyAqIGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgo+ICsgKgo+ICsgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIElCTSBub3IgdGhlIG5hbWVz
IG9mIGl0cyBjb250cmlidXRvcnMKPiArICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCj4gKyAqICAgIHdpdGhv
dXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKPiArICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4g
KyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgSUJNIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUKPiArICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKPiArICogREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMK
PiArICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pCj4gKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCj4gKyAqIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkKPiArICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgo+ICsgKiBTVUNIIERBTUFHRS4KPiArICoKPiAr
ICogQ29weXJpZ2h0IFJ1c3R5IFJ1c3NlbGwgSUJNIENvcnBvcmF0aW9uIDIwMDcuICovCj4gKy8q
Kgo+ICsgKiBUYWtlbiBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eC4KPiArICogaW5jbHVkZS91YXBp
L2xpbnV4L3ZpcnRpb19yaW5nLmgKPiArICoKPiArICogQ29tbWl0IGlkOiBlY2RhODVlNzAyNzcK
PiArICovCj4gKwo+ICsjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX1JJTkdfSF9fCj4gKyNkZWZp
bmUgX19QTEFUX0RSVl9WSVJUSU9fUklOR19IX18KPiArCj4gKyNpbmNsdWRlIDx1ay9hcmNoL2xp
bWl0cy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb190eXBlcy5oPgo+ICsKPiArI2lmZGVm
IF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgX18g
Ki8KPiArCj4gKyNpZiBfX0JZVEVfT1JERVJfXyAhPSAgX19PUkRFUl9MSVRUTEVfRU5ESUFOX18K
PiArI2Vycm9yICJQbGVhc2UgZGVmaW5lIGNvbnZlcnNpb24gZnVuY3Rpb25zIGZyb20gaG9zdCB0
byBsaXR0bGUgZW5kaWFuISIKPiArI2VuZGlmCj4gKwo+ICsvKiBUaGlzIG1hcmtzIGEgYnVmZmVy
IGFzIGNvbnRpbnVpbmcgdmlhIHRoZSBuZXh0IGZpZWxkLiAqLwo+ICsjZGVmaW5lIFZSSU5HX0RF
U0NfRl9ORVhUICAgICAgIDEKPiArLyogVGhpcyBtYXJrcyBhIGJ1ZmZlciBhcyB3cml0ZS1vbmx5
IChvdGhlcndpc2UgcmVhZC1vbmx5KS4gKi8KPiArI2RlZmluZSBWUklOR19ERVNDX0ZfV1JJVEUg
ICAgICAyCj4gKy8qIFRoaXMgbWVhbnMgdGhlIGJ1ZmZlciBjb250YWlucyBhIGxpc3Qgb2YgYnVm
ZmVyIGRlc2NyaXB0b3JzLiAqLwo+ICsjZGVmaW5lIFZSSU5HX0RFU0NfRl9JTkRJUkVDVCAgIDQK
PiArCj4gKy8qCj4gKyAqIFRoZSBkZXZpY2UgdXNlcyB0aGlzIGluIHVzZWQtPmZsYWdzIHRvIGFk
dmlzZSB0aGUgZHJpdmVyOgo+ICsgKiBkb24ndCBraWNrIG1lIHdoZW4geW91IGFkZCBhIGJ1ZmZl
ci4gSXQncyB1bnJlbGlhYmxlLCBzbwo+ICsgKiBpdCdzIHNpbXBseSBhbiBvcHRpbWl6YXRpb24u
Cj4gKyAqLwo+ICsjZGVmaW5lIFZSSU5HX1VTRURfRl9OT19OT1RJRlkgIDEKPiArCj4gKy8qCj4g
KyAqIFRoZSBkcml2ZXIgdXNlcyB0aGlzIGluIGF2YWlsLT5mbGFncyB0byBhZHZpc2UgdGhlIGRl
dmljZToKPiArICogZG9uJ3QgaW50ZXJydXB0IG1lIHdoZW4geW91IGNvbnN1bWUgYSBidWZmZXIu
IEl0J3MgdW5yZWxpYWJsZSwgc28KPiArICogaXQncyBzaW1wbHkgYW4gb3B0aW1pemF0aW9uLgo+
ICsgKi8KPiArI2RlZmluZSBWUklOR19BVkFJTF9GX05PX0lOVEVSUlVQVCAgICAgIDEKPiArCj4g
Ky8qIFN1cHBvcnQgZm9yIGluZGlyZWN0IGRlc2NyaXB0b3JzICovCj4gKyNkZWZpbmUgVklSVElP
X0ZfSU5ESVJFQ1RfREVTQyAgICAyOAo+ICsKPiArLyogU3VwcG9ydCBmb3IgYXZhaWxfZXZlbnQg
YW5kIHVzZWRfZXZlbnQgZmllbGRzICovCj4gKyNkZWZpbmUgVklSVElPX0ZfRVZFTlRfSURYICAg
ICAgICAyOQo+ICsKPiArLyogQXJiaXRyYXJ5IGRlc2NyaXB0b3IgbGF5b3V0cy4gKi8KPiArI2Rl
ZmluZSBWSVJUSU9fRl9BTllfTEFZT1VUICAgICAgIDI3Cj4gKwo+ICsvKioKPiArICogVmlydHF1
ZXVlIGRlc2NyaXB0b3JzOiAxNiBieXRlcy4KPiArICogVGhlc2UgY2FuIGNoYWluIHRvZ2V0aGVy
IHZpYSAibmV4dCIuCj4gKyAqLwo+ICtzdHJ1Y3QgdnJpbmdfZGVzYyB7Cj4gKwkvKiBBZGRyZXNz
IChndWVzdC1waHlzaWNhbCkuICovCj4gKwlfX3ZpcnRpb19sZTY0IGFkZHI7Cj4gKwkvKiBMZW5n
dGguICovCj4gKwlfX3ZpcnRpb19sZTMyIGxlbjsKPiArCS8qIFRoZSBmbGFncyBhcyBpbmRpY2F0
ZWQgYWJvdmUuICovCj4gKwlfX3ZpcnRpb19sZTE2IGZsYWdzOwo+ICsJLyogV2UgY2hhaW4gdW51
c2VkIGRlc2NyaXB0b3JzIHZpYSB0aGlzLCB0b28gKi8KPiArCV9fdmlydGlvX2xlMTYgbmV4dDsK
PiArfTsKPiArCj4gK3N0cnVjdCB2cmluZ19hdmFpbCB7Cj4gKwlfX3ZpcnRpb19sZTE2IGZsYWdz
Owo+ICsJX192aXJ0aW9fbGUxNiBpZHg7Cj4gKwlfX3ZpcnRpb19sZTE2IHJpbmdbXTsKPiArCS8q
IE9ubHkgaWYgVklSVElPX0ZfRVZFTlRfSURYOiBfX3ZpcnRpb19sZTE2IHVzZWRfZXZlbnQ7ICov
Cj4gK307Cj4gKwo+ICsvKiBfX3ZpcnRpb19sZTMyIGlzIHVzZWQgaGVyZSBmb3IgaWRzIGZvciBw
YWRkaW5nIHJlYXNvbnMuICovCj4gK3N0cnVjdCB2cmluZ191c2VkX2VsZW0gewo+ICsJLyogSW5k
ZXggb2Ygc3RhcnQgb2YgdXNlZCBkZXNjcmlwdG9yIGNoYWluLiAqLwo+ICsJX192aXJ0aW9fbGUz
MiBpZDsKPiArCS8qIFRvdGFsIGxlbmd0aCBvZiB0aGUgZGVzY3JpcHRvciBjaGFpbiB3aGljaCB3
YXMgd3JpdHRlbiB0by4gKi8KPiArCV9fdmlydGlvX2xlMzIgbGVuOwo+ICt9Owo+ICsKPiArc3Ry
dWN0IHZyaW5nX3VzZWQgewo+ICsJX192aXJ0aW9fbGUxNiBmbGFnczsKPiArCV9fdmlydGlvX2xl
MTYgaWR4Owo+ICsJc3RydWN0IHZyaW5nX3VzZWRfZWxlbSByaW5nW107Cj4gKwkvKiBPbmx5IGlm
IFZJUlRJT19GX0VWRU5UX0lEWDogX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudDsgKi8KPiArfTsK
PiArCj4gK3N0cnVjdCB2cmluZyB7Cj4gKwl1bnNpZ25lZCBpbnQgbnVtOwo+ICsKPiArCXN0cnVj
dCB2cmluZ19kZXNjICpkZXNjOwo+ICsJc3RydWN0IHZyaW5nX2F2YWlsICphdmFpbDsKPiArCXN0
cnVjdCB2cmluZ191c2VkICp1c2VkOwo+ICt9Owo+ICsKPiArLyogVGhlIHN0YW5kYXJkIGxheW91
dCBmb3IgdGhlIHJpbmcgaXMgYSBjb250aW51b3VzIGNodW5rIG9mIG1lbW9yeSB3aGljaAo+ICsg
KiBsb29rcyBsaWtlIHRoaXMuICBXZSBhc3N1bWUgbnVtIGlzIGEgcG93ZXIgb2YgMi4KPiArICoK
PiArICogc3RydWN0IHZyaW5nIHsKPiArICogICAgICAvLyBUaGUgYWN0dWFsIGRlc2NyaXB0b3Jz
ICgxNiBieXRlcyBlYWNoKQo+ICsgKiAgICAgIHN0cnVjdCB2cmluZ19kZXNjIGRlc2NbbnVtXTsK
PiArICoKPiArICogICAgICAvLyBBIHJpbmcgb2YgYXZhaWxhYmxlIGRlc2NyaXB0b3IgaGVhZHMg
d2l0aCBmcmVlLXJ1bm5pbmcgaW5kZXguCj4gKyAqICAgICAgX192aXJ0aW9fbGUxNiBhdmFpbF9m
bGFnczsKPiArICogICAgICBfX3ZpcnRpb19sZTE2IGF2YWlsX2lkeDsKPiArICogICAgICBfX3Zp
cnRpb19sZTE2IGF2YWlsYWJsZVtudW1dOwo+ICsgKiAgICAgIF9fdmlydGlvX2xlMTYgdXNlZF9l
dmVudF9pZHg7Cj4gKyAqCj4gKyAqICAgICAgLy8gUGFkZGluZyB0byB0aGUgbmV4dCBhbGlnbiBi
b3VuZGFyeS4KPiArICogICAgICBjaGFyIHBhZFtdOwo+ICsgKgo+ICsgKiAgICAgIC8vIEEgcmlu
ZyBvZiB1c2VkIGRlc2NyaXB0b3IgaGVhZHMgd2l0aCBmcmVlLXJ1bm5pbmcgaW5kZXguCj4gKyAq
ICAgICAgX192aXJ0aW9fbGUxNiB1c2VkX2ZsYWdzOwo+ICsgKiAgICAgIF9fdmlydGlvX2xlMTYg
dXNlZF9pZHg7Cj4gKyAqICAgICAgc3RydWN0IHZyaW5nX3VzZWRfZWxlbSB1c2VkW251bV07Cj4g
KyAqICAgICAgX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudF9pZHg7Cj4gKyAqIH07Cj4gKyAqCj4g
KyAqIE5PVEU6IGZvciBWaXJ0SU8gUENJLCBhbGlnbiBpcyA0MDk2Lgo+ICsgKi8KPiArCj4gKy8q
Kgo+ICsgKiBXZSBwdWJsaXNoIHRoZSB1c2VkIGV2ZW50IGluZGV4IGF0IHRoZSBlbmQgb2YgdGhl
IGF2YWlsYWJsZSByaW5nLCBhbmQgdmljZQo+ICsgKiB2ZXJzYS4gVGhleSBhcmUgYXQgdGhlIGVu
ZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuCj4gKyAqLwo+ICsjZGVmaW5lIHZyaW5nX3Vz
ZWRfZXZlbnQodnIpICgodnIpLT5hdmFpbC0+cmluZ1sodnIpLT5udW1dKQo+ICsjZGVmaW5lIHZy
aW5nX2F2YWlsX2V2ZW50KHZyKSAoKihfX3ZpcnRpbzE2ICopJih2ciktPnVzZWQtPnJpbmdbKHZy
KS0+bnVtXSkKPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2cmluZ19pbml0KHN0cnVjdCB2cmlu
ZyAqdnIsIHVuc2lnbmVkIGludCBudW0sIHVpbnQ4X3QgKnAsCj4gKwkJCSAgICAgIHVuc2lnbmVk
IGxvbmcgYWxpZ24pCj4gK3sKPiArCXZyLT5udW0gPSBudW07Cj4gKwl2ci0+ZGVzYyA9IChzdHJ1
Y3QgdnJpbmdfZGVzYyAqKSBwOwo+ICsJdnItPmF2YWlsID0gKHN0cnVjdCB2cmluZ19hdmFpbCAq
KSAocCArCj4gKwkJCW51bSAqIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzYykpOwo+ICsJdnItPnVz
ZWQgPSAodm9pZCAqKQo+ICsJKCgodW5zaWduZWQgbG9uZykgJnZyLT5hdmFpbC0+cmluZ1tudW1d
ICsgYWxpZ24gLSAxKSAmIH4oYWxpZ24gLSAxKSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUg
dW5zaWduZWQgaW50IHZyaW5nX3NpemUodW5zaWduZWQgaW50IG51bSwgdW5zaWduZWQgbG9uZyBh
bGlnbikKPiArewo+ICsJaW50IHNpemU7Cj4gKwo+ICsJc2l6ZSA9IG51bSAqIHNpemVvZihzdHJ1
Y3QgdnJpbmdfZGVzYyk7Cj4gKwlzaXplICs9IHNpemVvZihzdHJ1Y3QgdnJpbmdfYXZhaWwpICsg
KG51bSAqIHNpemVvZih1aW50MTZfdCkpICsKPiArCQlzaXplb2YodWludDE2X3QpOwo+ICsJc2l6
ZSA9IChzaXplICsgYWxpZ24gLSAxKSAmIH4oYWxpZ24gLSAxKTsKPiArCXNpemUgKz0gc2l6ZW9m
KHN0cnVjdCB2cmluZ191c2VkKSArCj4gKwkgICAgKG51bSAqIHNpemVvZihzdHJ1Y3QgdnJpbmdf
dXNlZF9lbGVtKSkgKyBzaXplb2YodWludDE2X3QpOwo+ICsJcmV0dXJuIHNpemU7Cj4gK30KPiAr
Cj4gK3N0YXRpYyBpbmxpbmUgaW50IHZyaW5nX25lZWRfZXZlbnQoX191MTYgZXZlbnRfaWR4LCBf
X3UxNiBuZXdfaWR4LAo+ICsJCQkJICAgX191MTYgb2xkX2lkeCkKPiArewo+ICsJcmV0dXJuIChu
ZXdfaWR4IC0gZXZlbnRfaWR4IC0gMSkgPCAobmV3X2lkeCAtIG9sZF9pZHgpOwo+ICt9Cj4gKwo+
ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArfQo+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8K
PiArCj4gKyNlbmRpZiAvKiBfX1BMQVRfRFJWX1ZJUlRJT19SSU5HX0hfXyAqLwo+IGRpZmYgLS1n
aXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5cGVzLmggYi9wbGF0L2Ry
aXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5cGVzLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0
NAo+IGluZGV4IDAwMDAwMDAuLmE4MDRjMmMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9k
cml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb190eXBlcy5oCj4gQEAgLTAsMCArMSw2MiBAQAo+
ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qIFR5cGUg
ZGVmaW5pdGlvbnMgZm9yIHZpcnRpbyBpbXBsZW1lbnRhdGlvbnMuCj4gKyAqCj4gKyAqIFRoaXMg
aGVhZGVyIGlzIEJTRCBsaWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMg
dG8gaW1wbGVtZW50Cj4gKyAqIGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgo+ICsgKgo+ICsg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIElCTSBub3IgdGhl
IG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKPiArICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3Jz
ZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCj4gKyAqICAg
IHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKPiArICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgSUJNIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUKPiArICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKPiArICogREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMKPiArICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCj4gKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCj4gKyAqIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkKPiArICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgo+ICsgKiBTVUNIIERBTUFHRS4KPiAr
ICoKPiArICogQ29weXJpZ2h0IChDKSAyMDE0IFJlZCBIYXQsIEluYy4KPiArICogQXV0aG9yOiBN
aWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgo+ICsgKgkgICBTaGFyYW4gU2FudGhh
bmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiArICovCj4gKy8qKgo+ICsgKiBUYWtl
biBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eCBLZXJuZWwuCj4gKyAqIGluY2x1ZGUvdWFwaS9saW51
eC92aXJ0aW9fdHlwZXMuaAo+ICsgKgo+ICsgKiBDb21taXQtaWQ6IDllZmVjY2FjZDNhNAo+ICsg
Ki8KPiArI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19UWVBFU19ICj4gKyNkZWZpbmUgX19QTEFU
X0RSVl9WSVJUSU9fVFlQRVNfSAo+ICsKPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAr
Cj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlmIC8qIF9fY3Bs
dXNwbHVzICAqLwo+ICsKPiArLyoqCj4gKyAqIF9fdmlydGlvezE2LDMyLDY0fSBoYXZlIHRoZSBm
b2xsb3dpbmcgbWVhbmluZzoKPiArICogLSBfX3V7MTYsMzIsNjR9IGZvciB2aXJ0aW8gZGV2aWNl
cyBpbiBsZWdhY3kgbW9kZSwgYWNjZXNzZWQgaW4gbmF0aXZlIGVuZGlhbgo+ICsgKiAtIF9fbGV7
MTYsMzIsNjR9IGZvciBzdGFuZGFyZC1jb21wbGlhbnQgdmlydGlvIGRldmljZXMKPiArICovCj4g
K3R5cGVkZWYgX191MTYgX192aXJ0aW9fbGUxNjsKPiArdHlwZWRlZiBfX3UzMiBfX3ZpcnRpb19s
ZTMyOwo+ICt0eXBlZGVmIF9fdTY0IF9fdmlydGlvX2xlNjQ7Cj4gKwo+ICsjaWZkZWYgX19jcGx1
c3BsdXMKPiArfQo+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgICovCj4gKwo+ICsjZW5kaWYgLyog
X19QTEFUX0RSVl9WSVJUSU9fVFlQRVNfSCAqLwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 14:45:52 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 14:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEbSo-00034j-WE; Mon, 22 Oct 2018 14:45:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=98ek=nc=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEbSo-00034e-44
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 14:45:50 +0000
X-Inumbo-ID: 5eb1216b-d609-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 5eb1216b-d609-11e8-a6a9-d7ebe60f679a;
 Mon, 22 Oct 2018 14:47:17 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 9A74DF203C;
 Mon, 22 Oct 2018 16:45:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id y5yFCQDOOW3t; Mon, 22 Oct 2018 16:45:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 6FF49F2038
 for <minios-devel@lists.xen.org>; Mon, 22 Oct 2018 16:45:45 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct
 2018 16:45:45 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-4-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181022164544981
Message-ID: <9144cdd5-0ffd-8f37-b5e0-7c91b7a6dfd1@neclab.eu>
Date: Mon, 22 Oct 2018 16:45:45 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-4-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/7] plat/drivers: Introduce the
 virtio bus
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IFNoYXJhbiwKCnRoaXMgcGF0Y2ggbG9va3MgZ29vZC4gQSBoYXZlIGEgZmV3IG1pbm9yIGNv
bW1lbnRzLgoKVGhhbmtzLAoKU2ltb24KCk9uIDE5LjEwLjE4IDE1OjA2LCBTaGFyYW4gU2FudGhh
bmFtIHdyb3RlOgo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgdmlydGlvIGJ1cyB0byBicmlk
Z2UgdGhlIHZpcnRpbyBkZXZpY2Ugd2l0aAo+IHRoZSBidXMuIFdlIGludHJvZHVjZSB0aGUgZnVu
Y3Rpb25zIHRvIGFkZCBkcml2ZXIgdG8gY29udHJvbCB0aGUgdmlydGlvCj4gZGV2aWNlLgo+IAo+
IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFi
LmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oIHwgMTMw
ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19idXMuYyAgICAgfCAxMDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK
PiAgIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICB8ICAxMSArKysKPiAgIHBs
YXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAgICAgICB8ICAxMiArKysrCj4gICA0IGZpbGVz
IGNoYW5nZWQsIDI2MiBpbnNlcnRpb25zKCspCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9k
cml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxh
dC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiAKPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2
ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRpby5oCgpIdW0sIHdvdWxkbid0IGl0IHRvIG1ha2Ugc2Vuc2UgdG8gY2FsbCBhbHNvIHRo
ZSBoZWFkZXIgZmlsZSAKdmlydGlvX2J1cy5oPyBJIHRoaW5rIGl0IHdvdWxkIHNlcGFyYXRlIHRo
ZSBwdXJwb3NlIG9mIHRoZSBoZWFkZXJzIG1vcmUgCmNsZWFybHkuCgo+IG5ldyBmaWxlIG1vZGUg
MTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZDQ3MWNhYgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9w
bGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvLmgKPiBAQCAtMCwwICsxLDEzMCBAQAo+
ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAq
IEF1dGhvcnM6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+
ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBv
cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5v
ciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4g
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
PiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUg
RVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsKPiArI2lmbmRlZiBf
X1BMQVRfRFJWX1ZJUlRJT19ICj4gKyNkZWZpbmUgX19QTEFUX0RSVl9WSVJUSU9fSAo+ICsKPiAr
I2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPiArI2luY2x1ZGUg
PHVrL2VycnB0ci5oPgo+ICsjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgo+ICsjaW5jbHVkZSA8
dWsvYXJjaC9sY3B1Lmg+Cj4gKyNpbmNsdWRlIDx1ay9hbGxvYy5oPgo+ICsjaW5jbHVkZSA8dmly
dGlvL3ZpcnRpb19jb25maWcuaD4KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4g
IkMiIHsKPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCj4gKwo+ICsjZGVmaW5lIFZJUlRJT19G
RUFUVVJFU19VUERBVEUoZmVhdHVyZXMsIGJwb3MpCVwKPiArCShmZWF0dXJlcyB8PSAoMVVMTCA8
PCBicG9zKSkKPiArCj4gK3N0cnVjdCB2aXJ0aW9fZGV2Owo+ICt0eXBlZGVmIGludCAoKnZpcnRp
b19kcml2ZXJfaW5pdF9mdW5jX3QpKHN0cnVjdCB1a19hbGxvYyAqKTsKPiArdHlwZWRlZiBpbnQg
KCp2aXJ0aW9fZHJpdmVyX2FkZF9mdW5jX3QpKHN0cnVjdCB2aXJ0aW9fZGV2ICopOwo+ICsKPiAr
dHlwZWRlZiBlbnVtIHZpcnRpb19kZXZfc3RhdHVzX3Qgewo+ICsJLyoqIERldmljZSByZXNldCAq
Lwo+ICsJVklSVElPX0RFVl9SRVNFVCwKPiArCS8qKiBEZXZpY2UgQWNrbm93bGVkZ2UgYW5kIHJl
YWR5IHRvIGJlIGNvbmZpZ3VyZWQgKi8KPiArCVZJUlRJT19ERVZfSU5JVElBTElaRUQsCj4gKwkv
KiogRGV2aWNlIGZlYXR1cmUgbmVnb3RpYXRlZCBhbmQgcmVhZHkgdG8gdGhlIHN0YXJ0ZWQgKi8K
PiArCVZJUlRJT19ERVZfQ09ORklHVVJFRCwKPiArCS8qKiBEZXZpY2UgUnVubmluZyAqLwo+ICsJ
VklSVElPX0RFVl9SVU5OSU5HLAo+ICsJLyoqIERldmljZSBTdG9wcGVkICovCj4gKwlWSVJUSU9f
REVWX1NUT1BQRUQsCj4gK30gdmlydGlvX2Rldl9zdGF0dXNfdDsKCkRvIHdlIHJlYWxseSBuZWVk
IHRoaXMgYXMgYSB0eXBlZGVmPyBJIHVzdWFsbHkgcHJlZmVyIGtlZXBpbmcKImVudW0gdmlydGlv
X2Rldl9zdGF0dXMiIGluIHRoZSBhcmd1bWVudCBsaXN0cy4gRm9yIG1lIHRoaXMgaXMgbW9yZSAK
Y2xlYXIgd2hhdCB0aGUgYXJndW1lbnQgYWJvdXQgYW5kIGxlc3MgaGlkaW5nIGRldGFpbHMuCgo+
ICsKPiArLyoqCj4gKyAqIFRoZSBzdHJ1Y3R1cmUgZGVmaW5lIGEgdmlydGlvIGRldmljZS4KPiAr
ICovCj4gK3N0cnVjdCB2aXJ0aW9fZGV2X2lkIHsKPiArCS8qKiBEZXZpY2UgaWRlbnRpZmllciBv
ZiB0aGUgdmlydGlvIGRldmljZSAqLwo+ICsJX191MTYgIHZpcnRpb19kZXZpY2VfaWQ7Cj4gK307
CgpEbyB5b3UgdGhpbmsgd2UgbmVlZCB0aGlzIGFzIGEgc3RydWN0PyBXaGF0IGlzIHRoZSBpZGVh
IGJlaGluZD8KCj4gKwo+ICsvKioKPiArICogVGhlIHN0cnVjdHVyZSBkZWZpbmUgdGhlIHZpcnRp
byBkcml2ZXIuCj4gKyAqLwo+ICtzdHJ1Y3QgdmlydGlvX2RyaXZlciB7Cj4gKwkvKiogTmV4dCBl
bnRyeSBvZiB0aGUgZHJpdmVyIGxpc3QgKi8KPiArCVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB2aXJ0
aW9fZHJpdmVyKSBuZXh0Owo+ICsJLyoqIFRoZSBpZCBtYXAgZm9yIHRoZSB2aXJ0aW8gZGV2aWNl
ICovCj4gKwljb25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCAqZGV2X2lkczsKPiArCS8qKiBUaGUg
aW5pdCBmdW5jdGlvbiBmb3IgdGhlIGRyaXZlciAqLwo+ICsJdmlydGlvX2RyaXZlcl9pbml0X2Z1
bmNfdCBpbml0Owo+ICsJLyoqIEFkZGluZyB0aGUgdmlydGlvIGRldmljZSAqLwo+ICsJdmlydGlv
X2RyaXZlcl9hZGRfZnVuY190IGFkZF9kZXY7Cj4gK307Cj4gKwo+ICsvKioKPiArICogVGhlIHN0
cnVjdHVyZSBkZWZpbmVzIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKi8KPiArc3RydWN0IHZpcnRp
b19kZXYgewo+ICsJLyogRmVhdHVyZSBiaXQgZGVzY3JpYmluZyB0aGUgdmlydGlvIGRldmljZSAq
Lwo+ICsJX191NjQgZmVhdHVyZXM7Cj4gKwkvKiBQcml2YXRlIGRhdGEgb2YgdGhlIGRyaXZlciAq
Lwo+ICsJdm9pZCAqcHJpdjsKPiArCS8qIFZpcnRpbyBkZXZpY2UgaWRlbnRpZmllciAqLwo+ICsJ
c3RydWN0IHZpcnRpb19kZXZfaWQgaWQ7Cj4gKwkvKiBSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBk
cml2ZXIgZm9yIHRoZSBkZXZpY2UgKi8KPiArCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2Owo+
ICsJLyogU3RhdHVzIG9mIHRoZSBkZXZpY2UgKi8KPiArCXZpcnRpb19kZXZfc3RhdHVzX3QgIHN0
YXR1czsKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBPcGVyYXRpb24gZXhwb3J0ZWQgYnkgdGhlIHZp
cnRpbyBkZXZpY2UuCj4gKyAqLwo+ICt2b2lkIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKHN0cnVj
dCB2aXJ0aW9fZHJpdmVyICp2ZHJ2KTsKPiArCj4gKyNkZWZpbmUgVklSVElPX1JFR0lTVEVSX0RS
SVZFUihiKQkJCVwKPiArCV9WSVJUSU9fUkVHSVNURVJfRFJJVkVSKF9fTElCTkFNRV9fLCBiKQoK
VklSVElPQlVTX1JFR0lTVEVSX0RSSVZFUigpIG9yIFZJUlRJT19CVVNfUkVHSVNURVJfRFJJVkVS
KCk/Cgo+ICsKPiArI2RlZmluZSBfVklSVElPX1JFR0ZOQU1FKHgsIHkpICAgICAgIHgjI3kKPiAr
Cj4gKyNkZWZpbmUgX1ZJUlRJT19SRUdJU1RFUl9EUklWRVIobGlibmFtZSwgYikJCQkJXAo+ICsJ
ICAgIHN0YXRpYyB2b2lkIF9fY29uc3RydWN0b3JfcHJpbygxMDQpCQkJCVwKPiArCV9WSVJUSU9f
UkVHRk5BTUUobGlibmFtZSwgX3ZpcnRpb19yZWdpc3Rlcl9kcml2ZXIpKHZvaWQpCVwKPiArCXsJ
CQkJCQkJCVwKPiArCQlfdmlydGlvX3JlZ2lzdGVyX2RyaXZlcigoYikpOwkJCQlcCj4gKwl9Cj4g
Kwo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK30KPiArI2VuZGlmIC8qIF9fY3BsdXNwbHVz
ICovCj4gKwo+ICsjZW5kaWYgLyogX19QTEFUX0RSVl9WSVJUSU9fSCAqLwo+IGRpZmYgLS1naXQg
YS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX2J1cy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi44OGNi
OTlhCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1
cy5jCj4gQEAgLTAsMCArMSwxMDkgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT
RC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFy
YW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBO
RUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAr
ICoKPiArICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+
ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKPiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBv
ZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQo+ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JT
IEJFCj4gKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsg
KiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZ
Lgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiArI2luY2x1ZGUgPHVrL2Fy
Y2gvdHlwZXMuaD4KPiArI2luY2x1ZGUgPHVrL2xpc3QuaD4KPiArI2luY2x1ZGUgPHVrL2FsbG9j
Lmg+Cj4gKyNpbmNsdWRlIDx1ay9idXMuaD4KPiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9faWRz
Lmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2NvbmZpZy5oPgo+ICsjaW5jbHVkZSA8dmly
dGlvL3ZpcnRpby5oPgo+ICsKPiArVUtfVEFJTFFfSEVBRCh2aXJ0aW9fZHJpdmVyX2xpc3QsIHN0
cnVjdCB2aXJ0aW9fZHJpdmVyKTsKPiArLyoqCj4gKyAqIE1vZHVsZSBsb2NhbCBkYXRhIHN0cnVj
dHVyZShzKS4KPiArICovCj4gK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2RyaXZlcl9saXN0IHZpcnRp
b19kcnZzID0KPiArCQkJVUtfVEFJTFFfSEVBRF9JTklUSUFMSVpFUih2aXJ0aW9fZHJ2cyk7Cj4g
K3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7Cj4gKwo+ICsvKioKPiArICogICBEcml2ZXIgbW9k
dWxlIGxvY2FsIGZ1bmN0aW9uKHMpLgo+ICsgKi8KPiArc3RhdGljIGludCB2aXJ0aW9fYnVzX2lu
aXQoc3RydWN0IHVrX2FsbG9jICptZW1fYWxsb2MpOwo+ICtzdGF0aWMgaW50IHZpcnRpb19idXNf
cHJvYmUodm9pZCk7Cj4gKwo+ICsvKioKPiArICogUHJvYmUgZm9yIHRoZSB2aXJ0aW8gZGV2aWNl
Lgo+ICsgKi8KPiArc3RhdGljIGludCB2aXJ0aW9fYnVzX3Byb2JlKHZvaWQpCj4gK3sKPiArCXJl
dHVybiAwOwo+ICt9Cj4gKwo+ICsvKioKPiArICogSW5pdGlhbGl6ZSB0aGUgdmlydGlvIGJ1cyBk
cml2ZXIocykuCj4gKyAqIEBwYXJhbSBtZW1fYWxsb2MKPiArICoJUmVmZXJlbmNlIHRvIHRoZSBt
ZW1fYWxsb2NhdG9yLgo+ICsgKiBAcmV0dXJuCj4gKyAqCShpbnQpIE9uIHN1Y2Nlc3NmdWwgaW5p
dGlhbGl6YXRpb24gcmV0dXJuIHRoZSBjb3VudCBvZiBkZXZpY2UKPiArICoJaW5pdGlhbGl6ZWQu
Cj4gKyAqCU9uIGVycm9yIHJldHVybiAtMS4KPiArICovCj4gK3N0YXRpYyBpbnQgdmlydGlvX2J1
c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2FsbG9jKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlv
X2RyaXZlciAqZHJ2ID0gTlVMTCwgKm5kcnYgPSBOVUxMOwo+ICsJaW50IHJldCA9IDAsIGRldl9j
b3VudCA9IDA7Cj4gKwo+ICsJYSA9IG1lbV9hbGxvYzsKPiArCVVLX1RBSUxRX0ZPUkVBQ0hfU0FG
RShkcnYsICZ2aXJ0aW9fZHJ2cywgbmV4dCwgbmRydikgewo+ICsJCWlmIChkcnYtPmluaXQpIHsK
PiArCQkJcmV0ID0gZHJ2LT5pbml0KGEpOwo+ICsJCQlpZiAodW5saWtlbHkocmV0KSkgewo+ICsJ
CQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB2aXJ0aW8gZHJpdmVyICVwOiAlZFxu
IiwKPiArCQkJCQkgIGRydiwgcmV0KTsKPiArCQkJCVVLX1RBSUxRX1JFTU9WRSgmdmlydGlvX2Ry
dnMsIGRydiwgbmV4dCk7Cj4gKwkJCX0gZWxzZQo+ICsJCQkJZGV2X2NvdW50Kys7Cj4gKwkJfQo+
ICsJfQo+ICsJcmV0dXJuIChkZXZfY291bnQgPiAwKSA/IGRldl9jb3VudCA6IC0xOwo+ICt9Cj4g
Kwo+ICsvKioKPiArICogUmVnaXN0ZXIgdGhlIHZpcnRpbyBkcml2ZXIocykuCj4gKyAqIEBwYXJh
bSB2ZHJ2Cj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvX2RyaXZlcgo+ICsgKi8KPiArdm9p
ZCBfdmlydGlvX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdmlydGlvX2RyaXZlciAqdmRydikKCl92
aXJ0aW9fYnVzX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdmlydGlvX2RyaXZlciAqdmRydik/Cgo+
ICt7Cj4gKwlVS19UQUlMUV9JTlNFUlRfVEFJTCgmdmlydGlvX2RydnMsIHZkcnYsIG5leHQpOwo+
ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX2J1cyB2aXJ0aW9fYnVzID0gewo+ICsJLmluaXQg
PSB2aXJ0aW9fYnVzX2luaXQsCj4gKwkucHJvYmUgPSB2aXJ0aW9fYnVzX3Byb2JlLAo+ICt9Owo+
ICtVS19CVVNfUkVHSVNURVIoJnZpcnRpb19idXMpOwo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9D
b25maWcudWsgYi9wbGF0L2t2bS9Db25maWcudWsKPiBpbmRleCAwZjEwYjRkLi5mOGE4YWFmIDEw
MDY0NAo+IC0tLSBhL3BsYXQva3ZtL0NvbmZpZy51awo+ICsrKyBiL3BsYXQva3ZtL0NvbmZpZy51
awo+IEBAIC01MCw0ICs1MCwxNSBAQCBjb25maWcgS1ZNX1BDSQo+ICAgICAgICAgIHNlbGVjdCBM
SUJVS0JVUwo+ICAgICAgICAgIGhlbHAKPiAgICAgICAgICAgICAgICAgICBQQ0kgYnVzIGRyaXZl
ciBmb3IgcHJvYmluZyBhbmQgb3BlcmF0aW5nIFBDSSBkZXZpY2VzCj4gKwo+ICtjb25maWcgVklS
VElPX0JVUwo+ICsgICAgICBib29sICAiVmlydGlvIGJ1cyBkcml2ZXIiCj4gKyAgICAgIGRlZmF1
bHQgeQo+ICsgICAgICBkZXBlbmRzIG9uIChBUkNIX1g4Nl82NCkKPiArICAgICAgZGVwZW5kcyBv
biBMSUJVS0JVUwo+ICsJICBzZWxlY3QgTElCVUtBTExPQwo+ICsgICAgICBoZWxwCj4gKyAgICAg
ICAgICAgICAgIFZpcnRpbyBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgdmly
dGlvIGRldmljZSBhbmQKPiArICAgICAgICAgICAgICAgdHJhbnNwb3J0IGxheWVyLgo+ICsKPiAg
IGVuZGlmCj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFr
ZWZpbGUudWsKPiBpbmRleCAwNmQ4NDEwLi44MGEwYzA1IDEwMDY0NAo+IC0tLSBhL3BsYXQva3Zt
L01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiBAQCAtOCw2ICs4LDcg
QEAgJChldmFsICQoY2FsbCBhZGRwbGF0X3Msa3ZtLCQoQ09ORklHX1BMQVRfS1ZNKSkpCj4gICAj
Iwo+ICAgJChldmFsICQoY2FsbCBhZGRwbGF0bGliLGt2bSxsaWJrdm1wbGF0KSkKPiAgICQoZXZh
bCAkKGNhbGwgYWRkcGxhdGxpYl9zLGt2bSxsaWJrdm1wY2ksJChDT05GSUdfS1ZNX1BDSSkpKQo+
ICskKGV2YWwgJChjYWxsIGFkZHBsYXRsaWJfcyxrdm0sbGlia3ZtdmlydGlvLCQoQ09ORklHX1ZJ
UlRJTykpKQo+ICAgCj4gICAjIwo+ICAgIyMgUGxhdGZvcm0gbGlicmFyeSBkZWZpbml0aW9ucwo+
IEBAIC04MCwzICs4MSwxNCBAQCBMSUJLVk1QQ0lfQVNJTkNMVURFUy0kKENPTkZJR19BUkNIX1g4
Nl82NCkgICs9IC1JJChVS19QTEFUX0NPTU1PTl9CQVNFKS9pbmNsdWRlCj4gICBMSUJLVk1QQ0lf
Q0lOQ0xVREVTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAgICs9IC1JJChVS19QTEFUX0NPTU1PTl9C
QVNFKS9pbmNsdWRlCj4gICBMSUJLVk1QQ0lfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgICAg
ICAgICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvcGNpX2J1cy5jfGNvbW1vbgo+ICAgCj4gKyMj
Cj4gKyMjIFZpcnRpbyBsaWJyYXJ5IGRlZmluaXRpb25zCj4gKyMjCj4gK0xJQktWTVZJUlRJT19B
U0lOQ0xVREVTLXkgICArPSAtSSQoTElCS1ZNUExBVF9CQVNFKS9pbmNsdWRlCj4gK0xJQktWTVZJ
UlRJT19DSU5DTFVERVMteSAgICArPSAtSSQoTElCS1ZNUExBVF9CQVNFKS9pbmNsdWRlCj4gK0xJ
QktWTVZJUlRJT19BU0lOQ0xVREVTLXkgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5j
bHVkZQo+ICtMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAgKz0gLUkkKFVLX1BMQVRfQ09NTU9O
X0JBU0UpL2luY2x1ZGUKPiArTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChVS19Q
TEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQo+ICtMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAg
Kz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCj4gK0xJQktWTVZJUlRJT19TUkNT
LSQoQ09ORklHX1ZJUlRJT19CVVMpICs9XAo+ICsJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3Zp
cnRpby92aXJ0aW9fYnVzLmMKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 19:31:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 19:31:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEfvG-0000RT-0O; Mon, 22 Oct 2018 19:31:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=98ek=nc=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEfvE-0000RO-Re
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 19:31:28 +0000
X-Inumbo-ID: 4521597c-d631-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4521597c-d631-11e8-a6a9-d7ebe60f679a;
 Mon, 22 Oct 2018 19:32:54 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 59E03F2044;
 Mon, 22 Oct 2018 21:31:24 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id GChO1s1nqSvV; Mon, 22 Oct 2018 21:31:24 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 25FCCF2045
 for <minios-devel@lists.xen.org>; Mon, 22 Oct 2018 21:31:22 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct
 2018 21:31:21 +0200
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-5-git-send-email-sharan.santhanam@neclab.eu>
X-Tagtoolbar-Keys: D20181022213121112
Message-ID: <307390bc-0023-199c-7cb5-dfec5320c0d0@neclab.eu>
Date: Mon, 22 Oct 2018 21:31:21 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-5-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 4/7] plat/drivers: Introduce
 virtio PCI device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxOS4xMC4xOCAxNTowNiwgU2hhcmFuIFNhbnRoYW5hbSB3cm90ZToKPiBXZSBpbnRyb2R1
Y2VzIHN1cHBvcnQgZm9yIHZpcnRpbyBQQ0kgbGVnYWN5IGRldmljZSBzdXBwb3J0IGluIHRoaXMK
PiBwYXRjaC4gVGhlIGRyaXZlciByZWdpc3RlciBvbiB0aGUgUENJIGJ1cyB0byBwcm9iZSBmb3Ig
ZGV2aWNlIHdpdGgKPiBRVU1SQU5FVCB2ZW5kb3IgaWQuIFRoZSB2aXJ0aW8gUENJIGJ1cyBhZGRz
IHRoZSB2aXJ0aW8gZGV2LiBUaGUKPiB2aXJ0aW8gYnVzIGlzIHJlc3BvbnNpYmxlIGZvciBicmlk
Z2luZyB0aGUgdmlydGlvIGRldmljZSB3aXRoIHRoZQo+IGRyaXZlci4gVGhlIHZpcnRpbyBQQ0kg
ZGV2aWNlIHByb3ZpZGVzIGNvbmZpZ3VyYXRpb24gY2FsbGJhY2sgZm9yCj4gdGhlIFBDSSBidXMg
b3BlcmF0aW9uIHBlcmZvcm1lZCBvbiB0aGUgdmlydGlvIGRldmljZS4KCk1heWJlIHlvdSBzaG91
bGQgYWRkIGFub3RoZXIgY29tbWVudCB0aGF0IEtWTSBnZXRzIHRoaXMgZHJpdmVyIGVuYWJsZWQu
Cgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1A
bmVjbGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5o
IHwgIDkzICsrKysrKysrKysKPiAgIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jICAg
ICB8IDEwMCArKysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMg
ICAgIHwgMzE4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2t2
bS9Db25maWcudWsgICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KPiAgIHBsYXQva3ZtL01ha2Vm
aWxlLnVrICAgICAgICAgICAgICAgICB8ICAgNCArLQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA1MjUg
aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvLmgKPiBpbmRleCBkNDcxY2FiLi5iMDFmYWY2IDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJp
dmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaAo+ICsrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRl
L3ZpcnRpby92aXJ0aW8uaAo+IEBAIC03Niw2ICs3NiwyNyBAQCBzdHJ1Y3QgdmlydGlvX2Rldl9p
ZCB7Cj4gICB9Owo+ICAgCj4gICAvKioKPiArICogVGhlIHN0cnVjdHVyZSBkZWZpbmUgYSBsaXN0
IG9mIGNvbmZpZ3VyYXRpb24gb3BlcmF0aW9uIG9uIGEgdmlydGlvIGRldmljZS4KPiArICovCj4g
K3N0cnVjdCB2aXJ0aW9fY29uZmlnX29wcyB7Cj4gKwkvKiogUmVzZXR0aW5nIHRoZSBkZXZpY2Ug
Ki8KPiArCXZvaWQgKCpyZXNldF9kZXZpY2UpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiAr
CS8qKiBTZXQgY29uZmlndXJhdGlvbiBvcHRpb24gKi8KPiArCWludCAoKnNldF9jb25maWcpKHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gKwkJCWNvbnN0IHZvaWQgKmJ1
ZiwgX191MzIgbGVuKTsKPiArCS8qKiBHZXQgY29uZmlndXJhdGlvbiBvcHRpb24gKi8KPiArCWlu
dCAoKmdldF9jb25maWcpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsIHZv
aWQgKmJ1ZiwKPiArCQkJX191MzIgbGVuLCBfX3U4IHR5cGVfbGVuKTsKPiArCS8qKiBHZXQgdGhl
IGZlYXR1cmUgKi8KPiArCV9fdTY0ICgqZ2V0X2ZlYXR1cmVzKShzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldik7Cj4gKwkvKiogU2V0IHRoZSBmZWF0dXJlICovCj4gKwl2b2lkICgqc2V0X2ZlYXR1cmVz
KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191NjQgZmVhdHVyZXMpOwo+ICsJLyoqIEdldCBh
bmQgU2V0IFN0YXR1cyAqLwo+ICsJX191OCAoKmdldF9zdGF0dXMpKHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2KTsKPiArCXZvaWQgKCpzZXRfc3RhdHVzKShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwg
X191OCBzdGF0dXMpOwo+ICt9Owo+ICsKPiArLyoqCj4gICAgKiBUaGUgc3RydWN0dXJlIGRlZmlu
ZSB0aGUgdmlydGlvIGRyaXZlci4KPiAgICAqLwo+ICAgc3RydWN0IHZpcnRpb19kcml2ZXIgewo+
IEBAIC05OSw2ICsxMjAsOCBAQCBzdHJ1Y3QgdmlydGlvX2RldiB7Cj4gICAJdm9pZCAqcHJpdjsK
PiAgIAkvKiBWaXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KPiAgIAlzdHJ1Y3QgdmlydGlvX2Rl
dl9pZCBpZDsKPiArCS8qIExpc3Qgb2YgdGhlIGNvbmZpZyBvcGVyYXRpb25zICovCj4gKwlzdHJ1
Y3QgdmlydGlvX2NvbmZpZ19vcHMgKmNvcHM7Cj4gICAJLyogUmVmZXJlbmNlIHRvIHRoZSB2aXJ0
aW8gZHJpdmVyIGZvciB0aGUgZGV2aWNlICovCj4gICAJc3RydWN0IHZpcnRpb19kcml2ZXIgKnZk
cnY7Cj4gICAJLyogU3RhdHVzIG9mIHRoZSBkZXZpY2UgKi8KPiBAQCAtMTA4LDggKzEzMSw3OCBA
QCBzdHJ1Y3QgdmlydGlvX2RldiB7Cj4gICAvKioKPiAgICAqIE9wZXJhdGlvbiBleHBvcnRlZCBi
eSB0aGUgdmlydGlvIGRldmljZS4KPiAgICAqLwo+ICtpbnQgdmlydGlvX3JlZ2lzdGVyX2Rldmlj
ZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gICB2b2lkIF92aXJ0aW9fcmVnaXN0ZXJfZHJp
dmVyKHN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2KTsKPiAgIAo+ICsvKioKPiArICogVGhlIGZ1
bmN0aW9uIHVwZGF0ZXMgdGhlIHN0YXR1cyBvZiB0aGUgdmlydGlvIGRldmljZQo+ICsgKiBAcGFy
YW0gdmRldgo+ICsgKiAgICAgIFJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4KPiArICog
QHBhcmFtIHN0YXR1cwo+ICsgKiAgICAgIFRoZSBzdGF0dXMgdG8gdXBkYXRlLgo+ICsgKiBAcmV0
dXJuCj4gKyAqICAgICAgMCBvbiBzdWNjZXNzZnVsIHVwZGF0aW5nIHRoZSBzdGF0dXMuCj4gKyAq
Lwo+ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fZGV2X3N0YXR1c191cGRhdGUoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKQo+ICt7Cj4gKwlpbnQgcmMgPSAtRU5PVFNVUDsK
PiArCj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwo+ICsJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5z
ZXRfc3RhdHVzKSkgewo+ICsJCXZkZXYtPmNvcHMtPnNldF9zdGF0dXModmRldiwgc3RhdHVzKTsK
PiArCQlyYyA9IDA7Cj4gKwl9Cj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp
bmUgX191NjQgdmlydGlvX2ZlYXR1cmVfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7
Cj4gKwlfX3U2NCBmZWF0dXJlcyA9IDA7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsKPiAr
CWlmIChsaWtlbHkodmRldi0+Y29wcy0+Z2V0X2ZlYXR1cmVzKSkKPiArCQlmZWF0dXJlcyA9IHZk
ZXYtPmNvcHMtPmdldF9mZWF0dXJlcyh2ZGV2KTsKPiArCXJldHVybiBmZWF0dXJlczsKPiArfQo+
ICsKPiArc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19mZWF0dXJlX3NldChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwgX191MzIgZmVhdHVyZSkKPiArewo+ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsK
PiArCWlmIChsaWtlbHkodmRldi0+Y29wcy0+c2V0X2ZlYXR1cmVzKSkKPiArCQl2ZGV2LT5jb3Bz
LT5zZXRfZmVhdHVyZXModmRldiwgZmVhdHVyZSk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUg
aW50IHZpcnRpb19jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZz
ZXQsCj4gKwkJCQkgICAgdm9pZCAqYnVmLCBfX3UzMiBsZW4sIF9fdTggdHlwZV9sZW4pCj4gK3sK
PiArCWludCByYyA9IC1FTk9UU1VQOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiArCj4gKwlp
ZiAobGlrZWx5KHZkZXYtPmNvcHMtPmdldF9jb25maWcpKQo+ICsJCXJjID0gdmRldi0+Y29wcy0+
Z2V0X2NvbmZpZyh2ZGV2LCBvZmZzZXQsIGJ1ZiwgbGVuLCB0eXBlX2xlbik7Cj4gKwo+ICsJcmV0
dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9faGFzX2ZlYXR1cmVz
KF9fdTY0IGZlYXR1cmVzLCBfX3U4IGJwb3MpCj4gK3sKPiArCV9fdTY0IHRtcF9mZWF0dXJlID0g
MDsKPiArCj4gKwlWSVJUSU9fRkVBVFVSRVNfVVBEQVRFKHRtcF9mZWF0dXJlLCBicG9zKTsKPiAr
CXRtcF9mZWF0dXJlICY9IGZlYXR1cmVzOwo+ICsKPiArCXJldHVybiB0bXBfZmVhdHVyZSA/IDEg
OiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlvX2Rldl9kcnZfdXAoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYpCj4gK3sKPiArCXZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2
ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spOwo+ICt9Cj4gKwo+ICAgI2RlZmlu
ZSBWSVJUSU9fUkVHSVNURVJfRFJJVkVSKGIpCQkJXAo+ICAgCV9WSVJUSU9fUkVHSVNURVJfRFJJ
VkVSKF9fTElCTkFNRV9fLCBiKQo+ICAgCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX2J1cy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiBpbmRl
eCA4OGNiOTlhLi5lZjY2YWU4IDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmly
dGlvX2J1cy5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiBAQCAt
NTIsMTAgKzUyLDExMCBAQCBzdGF0aWMgc3RydWN0IHVrX2FsbG9jICphOwo+ICAgLyoqCj4gICAg
KiAgIERyaXZlciBtb2R1bGUgbG9jYWwgZnVuY3Rpb24ocykuCj4gICAgKi8KPiArc3RhdGljIGlu
dCB2aXJ0aW9fZGV2aWNlX3JlaW5pdChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRp
YyBzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZmluZF9tYXRjaF9kcnYoc3RydWN0IHZpcnRpb19kZXYg
KnZkZXYpOwo+ICAgc3RhdGljIGludCB2aXJ0aW9fYnVzX2luaXQoc3RydWN0IHVrX2FsbG9jICpt
ZW1fYWxsb2MpOwo+ICAgc3RhdGljIGludCB2aXJ0aW9fYnVzX3Byb2JlKHZvaWQpOwo+ICAgCj4g
ICAvKioKPiArICogRmluZCBhIG1hdGNoIGRyaXZlcgo+ICsgKiBAcGFyYW0gdmRldgo+ICsgKglS
ZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqLwo+ICtzdGF0aWMgc3RydWN0IHZp
cnRpb19kcml2ZXIgKmZpbmRfbWF0Y2hfZHJ2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7
Cj4gKwlpbnQgaSA9IDA7Cj4gKwlzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZHJ2ID0gTlVMTDsKPiAr
Cj4gKwlVS19UQUlMUV9GT1JFQUNIKGRydiwgJnZpcnRpb19kcnZzLCBuZXh0KSB7Cj4gKwkJd2hp
bGUgKGRydi0+ZGV2X2lkc1tpXS52aXJ0aW9fZGV2aWNlX2lkICE9IFZJUlRJT19JRF9JTlZBTElE
KSB7Cj4gKwkJCWlmIChkcnYtPmRldl9pZHNbaV0udmlydGlvX2RldmljZV9pZCA9PQo+ICsJCQkJ
CXZkZXYtPmlkLnZpcnRpb19kZXZpY2VfaWQpIHsKCkh1bSwgaW4gY2FzZSB5b3Ugd2FudCB0byBr
ZWVwIHVzaW5nIHRoZSB2aXJ0aW8gZGV2aWNlIGlkIHN0cnVjdCAKKHByZXZpb3VzIHBhdGNoKSwg
d291bGRuJ3QgbWVtY21wKCkgb3IgYW55IGN1c3RvbSBpZCBjb21wYXJlIGZ1bmN0aW9uIAptYWtl
IHNlbnNlIGhlcmUgKGV2ZW4gaWYgaXQgaXMgY29tcGFyaW5nIG9uZSB1MTYgZmllbGQgZm9yIG5v
dyk/Cgo+ICsJCQkJcmV0dXJuIGRydjsKPiArCQkJfQo+ICsJCX0KPiArCX0KPiArCXJldHVybiBO
VUxMOwo+ICt9Cj4gKwo+ICsvKioKPiArICogUmVpbml0aWFsaXplIHRoZSB2aXJ0aW8gZGV2aWNl
Cj4gKyAqIEBwYXJhbSB2ZGV2Cj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4K
PiArICovCj4gK3N0YXRpYyBpbnQgdmlydGlvX2RldmljZV9yZWluaXQoc3RydWN0IHZpcnRpb19k
ZXYgKnZkZXYpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwo+ICsJLyoqCj4gKwkgKiBSZXNldHRp
bmcgdGhlIHZpcnRpbyBkZXZpY2UKPiArCSAqIFRoaXMgbWF5IG5vdCBiZSBuZWNlc3Nhcnkgd2hp
bGUgaW5pdGlhbGl6aW5nIHRoZSBkZXZpY2UgZm9yIHRoZSBmaXJzdAo+ICsJICogdGltZS4KPiAr
CSAqLwo+ICsJaWYgKHZkZXYtPmNvcHMtPnJlc2V0X2RldmljZSkgewo+ICsJCXZkZXYtPmNvcHMt
PnJlc2V0X2RldmljZSh2ZGV2KTsKPiArCQkvKiBTZXQgdGhlIGRldmljZSBzdGF0dXMgKi8KPiAr
CQl2ZGV2LT5zdGF0dXMgPSBWSVJUSU9fREVWX1JFU0VUOwo+ICsJfQo+ICsJLyogQWNrbm93bGVk
Z2UgdGhlIHZpcnRpbyBkZXZpY2UgKi8KPiArCXJjID0gdmlydGlvX2Rldl9zdGF0dXNfdXBkYXRl
KHZkZXYsIFZJUlRJT19DT05GSUdfU1RBVFVTX0FDSyk7Cj4gKwlpZiAocmMgIT0gMCkgewo+ICsJ
CXVrX3ByX2VycigiRmFpbGVkIHRvIGFja25vd2xlZGdlIHRoZSB2aXJ0aW8gZGV2aWNlICVwOiAl
ZFxuIiwKPiArCQkJICB2ZGV2LCByYyk7Cj4gKwkJcmV0dXJuIHJjOwo+ICsJfQo+ICsKPiArCS8q
IEFja25vd2xlZGdlIHRoZSB2aXJ0aW8gZHJpdmVyICovCj4gKwlyYyA9IHZpcnRpb19kZXZfc3Rh
dHVzX3VwZGF0ZSh2ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVIpOwo+ICsJaWYgKHJj
ICE9IDApIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhY2tub3dsZWRnZSB0aGUgdmlydGlv
IGRyaXZlciAlcDogJWRcbiIsCj4gKwkJCSAgdmRldiwgcmMpOwo+ICsJCXJldHVybiByYzsKPiAr
CX0KPiArCXZkZXYtPnN0YXR1cyA9IFZJUlRJT19ERVZfSU5JVElBTElaRUQ7Cj4gKwl1a19wcl9p
bmZvKCJWaXJ0aW8gZGV2aWNlICVwIGluaXRpYWxpemVkXG4iLCB2ZGV2KTsKPiArCXJldHVybiBy
YzsKPiArfQo+ICsKPiAraW50IHZpcnRpb19yZWdpc3Rlcl9kZXZpY2Uoc3RydWN0IHZpcnRpb19k
ZXYgKnZkZXYpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICpkcnYgPSBOVUxMOwo+ICsJ
aW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwkvKiBDaGVjayBmb3IgdGhl
IGRldiB3aXRoIHRoZSBkcml2ZXIgbGlzdCAqLwo+ICsJZHJ2ID0gZmluZF9tYXRjaF9kcnYodmRl
dik7Cj4gKwlpZiAoIWRydikgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGZpbmQgdGhlIGRy
aXZlciBmb3IgdGhlIHZpcnRpbyBkZXZpY2UgJXAgKGlkOiUiX19QUkl1MTYiKVxuIiwKPiArCQkJ
ICB2ZGV2LCB2ZGV2LT5pZC52aXJ0aW9fZGV2aWNlX2lkKTsKPiArCQlyZXR1cm4gLUVGQVVMVDsK
PiArCX0KPiArCXZkZXYtPnZkcnYgPSBkcnY7Cj4gKwo+ICsJLyogSW5pdGlhbGl6ZSB0aGUgZGV2
aWNlICovCj4gKwlyYyA9IHZpcnRpb19kZXZpY2VfcmVpbml0KHZkZXYpOwo+ICsJaWYgKHJjICE9
IDApIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBpbml0aWFsaXplIHRoZSB2aXJ0aW8gZGV2
aWNlICVwIChpZDolIl9fUFJJdTE2IjogJWRcbiIsCj4gKwkJCSAgdmRldiwgdmRldi0+aWQudmly
dGlvX2RldmljZV9pZCwgcmMpOwo+ICsJCXJldHVybiByYzsKPiArCX0KPiArCj4gKwo+ICsJLyog
Q2FsbGluZyB0aGUgZHJpdmVyIGFkZCBkZXZpY2UgKi8KPiArCXJjID0gZHJ2LT5hZGRfZGV2KHZk
ZXYpOwo+ICsJaWYgKHJjICE9IDApIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhZGQgdGhl
IHZpcnRpbyBkZXZpY2UgJXA6ICVkXG4iLCB2ZGV2LCByYyk7Cj4gKwkJZ290byB2aXJ0aW9fZGV2
X2ZhaWxfc2V0Owo+ICsJfQo+ICtleGl0Ogo+ICsJcmV0dXJuIHJjOwo+ICsKPiArdmlydGlvX2Rl
dl9mYWlsX3NldDoKPiArCXZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2ZGV2LCBWSVJUSU9fQ09O
RklHX1NUQVRVU19GQUlMKTsKCkVycm9ycyBmcm9tIHZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSgp
IGFyZSBpZ25vcmVkLCByaWdodD8gRG8geW91IHdhbnQgCnRvIGFkZCBhIGNvbW1lbnQgYWJvdXQg
dGhpcz8KCj4gKwlnb3RvIGV4aXQ7Cj4gK30KPiArCj4gKy8qKgo+ICAgICogUHJvYmUgZm9yIHRo
ZSB2aXJ0aW8gZGV2aWNlLgo+ICAgICovCj4gICBzdGF0aWMgaW50IHZpcnRpb19idXNfcHJvYmUo
dm9pZCkKPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4g
aW5kZXggMDAwMDAwMC4uYWIyZjJjOAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wbGF0L2RyaXZl
cnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+IEBAIC0wLDAgKzEsMzE4IEBACj4gKy8qIFNQRFgtTGlj
ZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0aG9yczogU2hh
cmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAqIENv
cHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiAr
ICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMu
IE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0
IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UK
PiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Cj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1Ig
TU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+
Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsj
aWZkZWYgQ09ORklHX0xJQlVLQUxMT0MKPiArI2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gKyNlbHNl
Cj4gKyNlcnJvciAiVmlydGlvIFBDSSBkZXZpY2UgcmVxdWlyZXMgVUtBTExPQyIKCllvdSBjYW4g
cmVtb3ZlIHRoaXMgY2hlY2suIENvbmZpZy51ayBzaG91bGQgbWFrZSBzdXJlIHRoYXQgbGlidWth
bGxvYyBpcyAKZW5hYmxlZC4KCj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICsj
aW5jbHVkZSA8dWsvcHJpbnQuaD4KPiArI2luY2x1ZGUgPHVrL3BsYXQvbGNwdS5oPgo+ICsjaW5j
bHVkZSA8dWsvcGxhdC9pcnEuaD4KPiArI2luY2x1ZGUgPHBjaS9wY2lfYnVzLmg+Cj4gKyNpbmNs
dWRlIDx2aXJ0aW8vdmlydGlvX2NvbmZpZy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpby5o
Pgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19wY2kuaD4KPiArCj4gKyNkZWZpbmUgVkVORE9S
X1FVTVJBTkVUX1ZJUlRJTyAgICAgICAgICAgKDB4MUFGNCkKPiArI2RlZmluZSBWSVJUSU9fUENJ
X0xFR0FDWV9ERVZJQ0VJRF9TVEFSVCAoMHgwRkZGKQo+ICsjZGVmaW5lIFZJUlRJT19QQ0lfTU9E
RVJOX0RFVklDRUlEX1NUQVJUICgweDEwNDApCj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX2FsbG9j
ICphOwo+ICsKPiArLyoqCj4gKyAqIFRoZSBzdHJ1Y3R1cmUgZGVjbGFyZXMgYSBwY2kgZGV2aWNl
Lgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19wY2lfZGV2IHsKPiArCS8qIFZpcnRpbyBEZXZpY2Ug
Ki8KPiArCXN0cnVjdCB2aXJ0aW9fZGV2IHZkZXY7Cj4gKwkvKiBQY2kgYmFzZSBhZGRyZXNzICov
Cj4gKwlfX3UxNiBwY2lfYmFzZV9hZGRyOwo+ICsJLyogSVNSIEFkZHJlc3MgUmFuZ2UgKi8KPiAr
CV9fdTE2IHBjaV9pc3JfYWRkcjsKPiArCS8qIFBjaSBkZXZpY2UgaW5mb3JtYXRpb24gKi8KPiAr
CXN0cnVjdCBwY2lfZGV2aWNlICpwZGV2Owo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIEZldGNoIHRo
ZSB2aXJ0aW8gcGNpIGluZm9ybWF0aW9uIGZyb20gdGhlIHZpcnRpb2Rldi4KPiArICovCj4gKyNk
ZWZpbmUgdG9fdmlydGlvcGNpZGV2KHZkZXYpIFwKPiArCQlfX2NvbnRhaW5lcm9mKHZkZXYsIHN0
cnVjdCB2aXJ0aW9fcGNpX2RldiwgdmRldikKPiArCj4gKwo+ICsvKioKPiArICogU3RhdGljIGZ1
bmN0aW9uIGRlY2xhcmF0aW9uLgo+ICsgKi8KPiArc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNp
X2Rldl9yZXNldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRpYyBpbnQgdnBjaV9s
ZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNl
dCwKPiArCQkJCWNvbnN0IHZvaWQgKmJ1ZiwgX191MzIgbGVuKTsKPiArc3RhdGljIGludCB2cGNp
X2xlZ2FjeV9wY2lfY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zm
c2V0LAo+ICsJCQkJCXZvaWQgKmJ1ZiwgX191MzIgbGVuLAo+ICsJCQkJCV9fdTggdHlwZV9sZW4g
X19tYXliZV91bnVzZWQpOwo+ICtzdGF0aWMgX191NjQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVz
X2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRpYyB2b2lkIHZwY2lfbGVnYWN5
X3BjaV9mZWF0dXJlc19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gKwkJCQkJCV9fdTY0
IGZlYXR1cmVzKTsKPiArc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19zZXQoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKTsKPiArc3RhdGljIF9fdTggdnBjaV9s
ZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwo+ICtzdGF0aWMg
aW5saW5lIHZvaWQgdmlydGlvX2RldmljZV9pZF9hZGQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYs
Cj4gKwkJCQlfX3UxNiBwY2lfZGV2X2lkLCBfX3UxNiB2cGNpX2Rldl9pZF9zdGFydCk7Cj4gK3N0
YXRpYyBpbnQgdmlydGlvX3BjaV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNp
X2RldiwKPiArCQlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2KTsKPiArCj4gKy8qKgo+
ICsgKiBDb25maWd1cmF0aW9uIG9wZXJhdGlvbnMgbGVnYWN5IFBDSSBkZXZpY2UuCj4gKyAqLwo+
ICtzdGF0aWMgc3RydWN0IHZpcnRpb19jb25maWdfb3BzIHZwY2lfbGVnYWN5X29wcyA9IHsKPiAr
CS5yZXNldF9kZXZpY2UgPSB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0LAo+ICsJLnNldF9jb25m
aWcgICA9IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0LAo+ICsJLmdldF9jb25maWcgICA9IHZw
Y2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0LAo+ICsJLmdldF9mZWF0dXJlcyA9IHZwY2lfbGVnYWN5
X3BjaV9mZWF0dXJlc19nZXQsCj4gKwkuc2V0X2ZlYXR1cmVzID0gdnBjaV9sZWdhY3lfcGNpX2Zl
YXR1cmVzX3NldCwKPiArCS5nZXRfc3RhdHVzICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dl
dCwKPiArCS5zZXRfc3RhdHVzICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldCwKPiArfTsK
PiArCj4gK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKPiArCQkJCWNvbnN0IHZvaWQgKmJ1ZiwgX191MzIg
bGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKPiArCj4g
KwlVS19BU1NFUlQodmRldik7Cj4gKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKPiAr
Cj4gKwlfdmlydGlvX2N3cml0ZV9ieXRlcygodm9pZCAqKSh1bnNpZ25lZCBsb25nKXZwZGV2LT5w
Y2lfYmFzZV9hZGRyLAo+ICsJCQlWSVJUSU9fUENJX0NPTkZJR19PRkYgKyBvZmZzZXQsIGJ1Ziwg
bGVuLCAxKTsKPiArCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludCB2cGNpX2xl
Z2FjeV9wY2lfY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0
LAo+ICsJCQkJCXZvaWQgKmJ1ZiwgX191MzIgbGVuLAo+ICsJCQkJCV9fdTggdHlwZV9sZW4gX19t
YXliZV91bnVzZWQpCgp0eXBfbGVuIGlzIHVzZWQgaW4geW91ciBmaXJzdCBjaGVjay4gWW91IGNh
biByZW1vdmUgdGhlICdfX21heWJlX3VudXNlZCcgCnByb3BlcnR5LgoKPiArewo+ICsJc3RydWN0
IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gKwlpbnQgcmMgPSAwOwo+ICsKPiArCVVL
X0FTU0VSVCh2ZGV2KTsKPiArCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICsKPiAr
CS8qIFJlYWRpbmcgYW4gZW50aXR5IGxlc3MgdGhhbiA0IGJ5dGVzIGFyZSBhdG9taWMgKi8KPiAr
CWlmICh0eXBlX2xlbiA9PSBsZW4gJiYgdHlwZV9sZW4gPD0gNCkgewo+ICsJCV92aXJ0aW9fY3Jl
YWRfYnl0ZXMoCj4gKwkJCQkodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2Vf
YWRkciwKPiArCQkJCVZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwgYnVmLCBsZW4sCj4g
KwkJCQl0eXBlX2xlbik7Cj4gKwl9IGVsc2Ugewo+ICsJCXJjID0gdmlydGlvX2NyZWFkX2J5dGVz
X21hbnkoCj4gKwkJCQkodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRk
ciwKPiArCQkJCVZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwJYnVmLCBsZW4pOwo+ICsJ
fQo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgX191OCB2cGNpX2xlZ2FjeV9wY2lf
c3RhdHVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKPiArewo+ICsJc3RydWN0IHZpcnRp
b19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsJdnBk
ZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7Cj4gKwlyZXR1cm4gdmlydGlvX2NyZWFkOCgodm9p
ZCAqKSAodW5zaWduZWQgbG9uZykgdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCVZJUlRJT19Q
Q0lfU1RBVFVTKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX3N0YXR1
c19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTggc3RhdHVzKQo+ICt7Cj4gKwlzdHJ1
Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKPiArCV9fdTggY3Vycl9zdGF0dXMgPSAw
Owo+ICsKPiArCS8qIFJlc2V0IHNob3VsZCBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIHJlc2V0IGlu
dGVyZmFjZSAqLwo+ICsJVUtfQVNTRVJUKHZkZXYgfHwgc3RhdHVzICE9IFZJUlRJT19DT05GSUdf
U1RBVFVTX1JFU0VUKTsKPiArCj4gKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKPiAr
CWN1cnJfc3RhdHVzID0gdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQodmRldik7Cj4gKwlzdGF0
dXMgfD0gY3Vycl9zdGF0dXM7Cj4gKwl2aXJ0aW9fY3dyaXRlOCgodm9pZCAqKSh1bnNpZ25lZCBs
b25nKSB2cGRldi0+cGNpX2Jhc2VfYWRkciwKPiArCQkJIFZJUlRJT19QQ0lfU1RBVFVTLCBzdGF0
dXMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0KHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZw
ZGV2ID0gTlVMTDsKPiArCV9fdTggc3RhdHVzOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiAr
Cj4gKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKPiArCS8qKgo+ICsJICogUmVzZXR0
aW5nIHRoZSBkZXZpY2UuCj4gKwkgKi8KPiArCXZpcnRpb19jd3JpdGU4KCh2b2lkICopICh1bnNp
Z25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+ICsJCQlWSVJUSU9fUENJX1NUQVRVUywg
VklSVElPX0NPTkZJR19TVEFUVVNfUkVTRVQpOwo+ICsJLyoqCj4gKwkgKiBXYWl0aW5nIGZvciB0
aGUgcmVzZXR0aW5nIHRoZSBkZXZpY2UuIEZpbmQgYSBiZXR0ZXIgd2F5Cj4gKwkgKiBvZiBkb2lu
ZyB0aGlzIGluc3RlYWQgb2YgcmVwZWF0aW5nIHJlZ2lzdGVyIHJlYWQuCj4gKwkgKgo+ICsJICog
Tk9URSEgU3BlYyAoNC4xLjQuMy4yKQo+ICsJICogTmVlZCB0byBjaGVjayBpZiB3ZSBoYXZlIHRv
IHdhaXQgZm9yIHRoZSByZXNldCB0byBoYXBwZW4uCj4gKwkgKi8KPiArCWRvIHsKPiArCQlzdGF0
dXMgPSB2aXJ0aW9fY3JlYWQ4KAo+ICsJCQkJKHZvaWQgKikodW5zaWduZWQgbG9uZyl2cGRldi0+
cGNpX2Jhc2VfYWRkciwKPiArCQkJCVZJUlRJT19QQ0lfU1RBVFVTKTsKPiArCX0gd2hpbGUgKHN0
YXR1cyAhPSBWSVJUSU9fQ09ORklHX1NUQVRVU19SRVNFVCk7Cj4gK30KPiArCj4gK3N0YXRpYyBf
X3U2NCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
KQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKPiArCV9fdTY0
ICBmZWF0dXJlczsKPiArCj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwo+ICsJdnBkZXYgPSB0b192
aXJ0aW9wY2lkZXYodmRldik7Cj4gKwlmZWF0dXJlcyA9IHZpcnRpb19jcmVhZDMyKCh2b2lkICop
ICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+ICsJCQkJVklSVElPX1BDSV9I
T1NUX0ZFQVRVUkVTKTsKPiArCXJldHVybiBmZWF0dXJlczsKPiArfQo+ICsKPiArc3RhdGljIHZv
aWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwK
PiArCQkJCQkJX191NjQgZmVhdHVyZXMpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAq
dnBkZXYgPSBOVUxMOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiArCXZwZGV2ID0gdG9fdmly
dGlvcGNpZGV2KHZkZXYpOwo+ICsJdmlydGlvX2N3cml0ZTMyKCh2b2lkICopICh1bnNpZ25lZCBs
b25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+ICsJCSBWSVJUSU9fUENJX0dVRVNUX0ZFQVRVUkVT
LCAoX191MzIpZmVhdHVyZXMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlv
X2RldmljZV9pZF9hZGQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gKwkJCQlfX3UxNiBwY2lf
ZGV2X2lkLCBfX3UxNiBwY2lfZGV2X2lkX3N0YXJ0KQo+ICt7Cj4gKwl2ZGV2LT5pZC52aXJ0aW9f
ZGV2aWNlX2lkID0gKHBjaV9kZXZfaWQgLSBwY2lfZGV2X2lkX3N0YXJ0KTsKPiArfQo+ICsKPiAr
c3RhdGljIGludCB2aXJ0aW9fcGNpX2xlZ2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpw
Y2lfZGV2LAo+ICsJCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpCj4gK3sKPiArCS8q
IENoZWNrIHRoZSB2YWxpZCByYW5nZSBvZiB0aGUgdmlydGlvIGxlZ2FjeSBkZXZpY2UgKi8KPiAr
CWlmIChwY2lfZGV2LT5pZC5kZXZpY2VfaWQgPCAweDEwMDAgfHwgcGNpX2Rldi0+aWQuZGV2aWNl
X2lkID4gMHgxMDNmKSB7Cj4gKwkJdWtfcHJfZXJyKCJFcnJvcjogSW52YWxpZCBWaXJ0aW8gRGV2
aWNlcyAlZFxuIiwKClRoZSBmb3JtYXQgc2hvdWxkIHVzZSBQUkl1MTYvUFJJeDE2OiAiSW52YWxp
ZCB2aXJ0aW8gZGV2aWNlICUwMiJQUkl4MTYiXG4iCgo+ICsJCQkJcGNpX2Rldi0+aWQuZGV2aWNl
X2lkKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwl2cGNpX2Rldi0+cGNpX2lz
cl9hZGRyID0gdnBjaV9kZXYtPnBjaV9iYXNlX2FkZHIgKyBWSVJUSU9fUENJX0lTUjsKPiArCj4g
KwkvKiBTZXR0aW5nIHRoZSBjb25maWd1cmF0aW9uIG9wZXJhdGlvbiAqLwo+ICsJdnBjaV9kZXYt
PnZkZXYuY29wcyA9ICZ2cGNpX2xlZ2FjeV9vcHM7Cj4gKwo+ICsJdWtfcHJfaW5mbygiQWRkZWQg
YSB2aXJ0aW8tcGNpIGRldmljZSglMDJ4KVxuIiwKClRoZSBmb3JtYXQgc2hvdWxkIHVzZSBQUkl4
MTY6ICJBZGRlZCB2aXJ0aW8gZGV2aWNlICUwMiJQUkl4MTYiXG4iCgo+ICsJCQkoaW50KSBwY2lf
ZGV2LT5pZC5kZXZpY2VfaWQpOwo+ICsKPiArCS8qIE1hcHBpbmcgdGhlIHZpcnRpbyBkZXZpY2Ug
aWRlbnRpZmllciAqLwo+ICsJdmlydGlvX2RldmljZV9pZF9hZGQoJnZwY2lfZGV2LT52ZGV2LCBw
Y2lfZGV2LT5pZC5kZXZpY2VfaWQsCj4gKwkJCVZJUlRJT19QQ0lfTEVHQUNZX0RFVklDRUlEX1NU
QVJUKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICsKPiArc3RhdGljIGludCB2aXJ0aW9fcGNp
X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYpCj4gK3sKPiArCXN0cnVjdCB2aXJ0
aW9fcGNpX2RldiAqdnBjaV9kZXYgPSBOVUxMOwo+ICsJaW50IHJjID0gMDsKPiArCj4gKwlVS19B
U1NFUlQocGNpX2RldiAhPSBOVUxMKTsKPiArCj4gKwl2cGNpX2RldiA9IHVrX21hbGxvYyhhLCBz
aXplb2YoKnZwY2lfZGV2KSk7Cj4gKwlpZiAoIXZwY2lfZGV2KSB7Cj4gKwkJdWtfcHJfZXJyKCJF
cnJvciBpbiBtZW1vcnkgYWxsb2NhdGlvbiBvZiBwY2lfZGV2aWNlXG4iKTsgPiArCQlyZXR1cm4g
LUVOT01FTTsKPiArCX0KPiArCj4gKwkvKiBGZXRjaCBQQ0kgRGV2aWNlIGluZm9ybWF0aW9uICov
Cj4gKwl2cGNpX2Rldi0+cGRldiA9IHBjaV9kZXY7Cj4gKwl2cGNpX2Rldi0+cGNpX2Jhc2VfYWRk
ciA9IHBjaV9kZXYtPmJhc2U7Cj4gKwo+ICsJLyoqCj4gKwkgKiBQcm9iaW5nIGZvciB0aGUgbGVn
YWN5IHZpcnRpbyBkZXZpY2UuIFdlIHNlcGFyYXRlIHRoZSBsZWdhY3kgcHJvYmluZwo+ICsJICog
d2l0aCB0aGUgcG9zc2liaWxpdHkgb2Ygc3VwcG9ydGluZyB0aGUgbW9kZXJuIFBDSSBkZXZpY2Ug
aW4gdGhlCj4gKwkgKiBmdXR1cmUuCj4gKwkgKi8KPiArCXJjID0gdmlydGlvX3BjaV9sZWdhY3lf
YWRkX2RldihwY2lfZGV2LCB2cGNpX2Rldik7Cj4gKwlpZiAocmMgIT0gMCkgewo+ICsJCXVrX3By
X2VycigiRmFpbGVkKCVkKSB0byBwcm9iZSB0aGUgbGVnYWN5IGRldmljZVxuIiwKPiArCQkJCXJj
KTsKPiArCQlnb3RvIGZyZWVfcGNpX2RldjsKPiArCX0KPiArCj4gKwlyYyA9IHZpcnRpb19yZWdp
c3Rlcl9kZXZpY2UoJnZwY2lfZGV2LT52ZGV2KTsKPiArCWlmIChyYyAhPSAwKSB7Cj4gKwkJdWtf
cHJfZXJyKCJGYWlsZWQoJWQpIHRvIHJlZ2lzdGVyIHRoZSB2aXJ0aW8gZGV2aWNlXG4iLCByYyk7
Cj4gKwkJZ290byBmcmVlX3BjaV9kZXY7Cj4gKwl9Cj4gKwo+ICtleGl0Ogo+ICsJcmV0dXJuIHJj
Owo+ICtmcmVlX3BjaV9kZXY6Cj4gKwl1a19mcmVlKGEsIHZwY2lfZGV2KTsKPiArCWdvdG8gZXhp
dDsKPiArfQo+ICsKPiArc3RhdGljIGludCB2aXJ0aW9fcGNpX2Rydl9pbml0KHN0cnVjdCB1a19h
bGxvYyAqZHJ2X2FsbG9jYXRvcikKPiArewo+ICsJLyogZHJpdmVyIGluaXRpYWxpemF0aW9uICov
Cj4gKwlpZiAoIWRydl9hbGxvY2F0b3IpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwo+ICsJYSA9
IGRydl9hbGxvY2F0b3I7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0
cnVjdCBwY2lfZGV2aWNlX2lkIHZpcnRpb19wY2lfaWRzW10gPSB7Cj4gKwl7UENJX0RFVklDRV9J
RChWRU5ET1JfUVVNUkFORVRfVklSVElPLCBQQ0lfQU5ZX0lEKX0sCj4gKwkvKiBFbmQgb2YgRHJp
dmVyIExpc3QgKi8KPiArCXtQQ0lfQU5ZX0RFVklDRV9JRH0sCj4gK307Cj4gKwo+ICtzdGF0aWMg
c3RydWN0IHBjaV9kcml2ZXIgdmlydGlvX3BjaV9kcnYgPSB7Cj4gKwkuZGV2aWNlX2lkcyA9IHZp
cnRpb19wY2lfaWRzLAo+ICsJLmluaXQgPSB2aXJ0aW9fcGNpX2Rydl9pbml0LAo+ICsJLmFkZF9k
ZXYgPSB2aXJ0aW9fcGNpX2FkZF9kZXYKPiArfTsKPiArUENJX1JFR0lTVEVSX0RSSVZFUigmdmly
dGlvX3BjaV9kcnYpOwo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25maWcudWsgYi9wbGF0L2t2
bS9Db25maWcudWsKPiBpbmRleCBmOGE4YWFmLi5hZmNlZGMwIDEwMDY0NAo+IC0tLSBhL3BsYXQv
a3ZtL0NvbmZpZy51awo+ICsrKyBiL3BsYXQva3ZtL0NvbmZpZy51awo+IEBAIC01Niw5ICs1Niwx
OSBAQCBjb25maWcgVklSVElPX0JVUwo+ICAgICAgICAgZGVmYXVsdCB5Cj4gICAgICAgICBkZXBl
bmRzIG9uIChBUkNIX1g4Nl82NCkKPiAgICAgICAgIGRlcGVuZHMgb24gTElCVUtCVVMKPiAtCSAg
c2VsZWN0IExJQlVLQUxMT0MKPiArICAgICAgc2VsZWN0IExJQlVLQUxMT0MKCllvdSBhcmUgY29y
cmVjdGluZyB3aGl0ZSBzcGFjaW5nIGZyb20gYSBwcmV2aW91cyBjb21taXQ/IDstKQoKPiAgICAg
ICAgIGhlbHAKPiAgICAgICAgICAgICAgICAgIFZpcnRpbyBidXMgZHJpdmVyIGZvciBwcm9iaW5n
IGFuZCBvcGVyYXRpbmcgdmlydGlvIGRldmljZSBhbmQKPiAgICAgICAgICAgICAgICAgIHRyYW5z
cG9ydCBsYXllci4KPiAgIAo+ICttZW51ICJWaXJ0aW8iCj4gK2NvbmZpZyBWSVJUSU9fUENJCj4g
KyAgICAgICBib29sICJWaXJ0aW8gUENJIGRldmljZSBzdXBwb3J0Igo+ICsgICAgICAgZGVmYXVs
dCBuCj4gKyAgICAgICBkZXBlbmRzIG9uIEtWTV9QQ0kKPiArICAgICAgIHNlbGVjdCBWSVJUSU9f
QlVTCj4gKyAgICAgICBoZWxwCj4gKyAgICAgICAgICAgICAgIFN1cHBvcnQgdmlydGlvIGRldmlj
ZXMgb24gUENJIGJ1cwo+ICsKPiArZW5kbWVudQo+ICAgZW5kaWYKPiBkaWZmIC0tZ2l0IGEvcGxh
dC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awo+IGluZGV4IDgwYTBjMDUu
Ljk4NmJmNGEgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiArKysgYi9wbGF0
L2t2bS9NYWtlZmlsZS51awo+IEBAIC05MSw0ICs5MSw2IEBAIExJQktWTVZJUlRJT19DSU5DTFVE
RVMteSAgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQo+ICAgTElCS1ZNVklS
VElPX0FTSU5DTFVERVMteSAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQo+
ICAgTElCS1ZNVklSVElPX0NJTkNMVURFUy15ICAgICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFT
RSkvaW5jbHVkZQo+ICAgTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1c
Cj4gLQkJJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19idXMuYwo+ICsJCQkJ
CQkJJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19idXMuYwo+ICtMSUJLVk1W
SVJUSU9fU1JDUy0kKENPTkZJR19WSVJUSU9fUENJKSArPVwKPiArCQkJCQkJCSQoVUtfUExBVF9E
UklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiAKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Mon Oct 22 19:34:44 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 22 Oct 2018 19:34:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEfyN-0000fa-U8; Mon, 22 Oct 2018 19:34:43 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=98ek=nc=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEfyN-0000fU-6F
 for minios-devel@lists.xen.org; Mon, 22 Oct 2018 19:34:43 +0000
X-Inumbo-ID: 1c42f69a-d631-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1c42f69a-d631-11e8-a8a5-bc764e045a96;
 Mon, 22 Oct 2018 21:31:45 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 734DF104A42;
 Mon, 22 Oct 2018 21:34:38 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id wfo3ENANKStz; Mon, 22 Oct 2018 21:34:38 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 49DC71048F7
 for <minios-devel@lists.xen.org>; Mon, 22 Oct 2018 21:34:36 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 22 Oct
 2018 21:34:36 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-6-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181022213435284
Message-ID: <f90e81fa-5ba1-6784-d19b-c9a7512d2c76@neclab.eu>
Date: Mon, 22 Oct 2018 21:34:35 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-6-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 5/7] plat/drivers: Reintroduce
 the virtio ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IFNoYXJhbiwKCml0IHNlZW1zIHRoYXQgeW91IGFyZSBjb3JyZWN0aW5nIGxvdHMgb2Ygd2hp
dGUgc3BhY2luZywgZm9ybWF0IHN0cmluZ3MsIApjb21tZW50cywgZXRjLiBvZiB5b3VyIHByZXZp
b3VzIGNvbW1pdHMuIERpZCB5b3UgYnkgbWlzdGFrZSBmaXh1cCAKY29tbWl0cyBpbiB5b3UgaGlz
dG9yeSB3cm9uZ2x5PyA7LSkKCkNoZWVycywKClNpbW9uCgpPbiAxOS4xMC4xOCAxNTowNiwgU2hh
cmFuIFNhbnRoYW5hbSB3cm90ZToKPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIEFQSSB0byBj
cmVhdGUgZGVzdHJveSB0aGUgdmlydGlvIHJpbmcuIFRoZQo+IGNvbmZpZ3VyYXRpb24gQVBJIGZv
ciBmaW5kIHRoZSBudW1iZXIgb2YgcXVldWVzIGFuZCBzZXR0aW5nIHVwCj4gaW5kaXZpZHVhbCBx
dWV1ZXMgZm9yIGEgZGV2aWNlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0g
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL2luY2x1
ZGUvdmlydGlvL3ZpcnRpby5oICAgIHwgMTM4ICsrKysrKysrKysrKysrKysrKystLS0KPiAgIHBs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCB8IDE0NSArKysrKysrKysrKysr
KysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgICAgICAgIHwg
ICA2ICstCj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyAgICAgICAgfCAxNDcg
KysrKysrKysrKysrKysrKysrLS0tLS0tCj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19y
aW5nLmMgICAgICAgfCAxOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIHBs
YXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCj4gICBwbGF0L2t2
bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwo+ICAgNyBmaWxlcyBjaGFu
Z2VkLCA1NzkgaW5zZXJ0aW9ucygrKSwgNTYgZGVsZXRpb25zKC0pCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCj4gICBjcmVhdGUg
bW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gCj4gZGlmZiAt
LWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaCBiL3BsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8uaAo+IGluZGV4IGIwMWZhZjYuLjFkZmE0OTUgMTAwNjQ0
Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCj4gKysrIGIvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCj4gQEAgLTQyLDYgKzQyLDcgQEAKPiAg
ICNpbmNsdWRlIDx1ay9hcmNoL2xjcHUuaD4KPiAgICNpbmNsdWRlIDx1ay9hbGxvYy5oPgo+ICAg
I2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fY29uZmlnLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmly
dHF1ZXVlLmg+Cj4gICAKPiAgICNpZmRlZiBfX2NwbHVzcGx1cwo+ICAgZXh0ZXJuICJDIiB7Cj4g
QEAgLTgwLDIwICs4MSwyNyBAQCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCB7Cj4gICAgKi8KPiAgIHN0
cnVjdCB2aXJ0aW9fY29uZmlnX29wcyB7Cj4gICAJLyoqIFJlc2V0dGluZyB0aGUgZGV2aWNlICov
Cj4gLQl2b2lkICgqcmVzZXRfZGV2aWNlKShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gKwl2
b2lkICgqZGV2aWNlX3Jlc2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gICAJLyoqIFNl
dCBjb25maWd1cmF0aW9uIG9wdGlvbiAqLwo+IC0JaW50ICgqc2V0X2NvbmZpZykoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKPiAtCQkJY29uc3Qgdm9pZCAqYnVmLCBfX3Uz
MiBsZW4pOwo+ICsJaW50ICgqY29uZmlnX3NldCkoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9f
dTE2IG9mZnNldCwKPiArCQkJICBjb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbik7Cj4gICAJLyoq
IEdldCBjb25maWd1cmF0aW9uIG9wdGlvbiAqLwo+IC0JaW50ICgqZ2V0X2NvbmZpZykoc3RydWN0
IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwgdm9pZCAqYnVmLAo+IC0JCQlfX3UzMiBs
ZW4sIF9fdTggdHlwZV9sZW4pOwo+ICsJaW50ICgqY29uZmlnX2dldCkoc3RydWN0IHZpcnRpb19k
ZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwgdm9pZCAqYnVmLAo+ICsJCQkgIF9fdTMyIGxlbiwgX191
OCB0eXBlX2xlbik7Cj4gICAJLyoqIEdldCB0aGUgZmVhdHVyZSAqLwo+IC0JX191NjQgKCpnZXRf
ZmVhdHVyZXMpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiArCV9fdTY0ICgqZmVhdHVyZXNf
Z2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gICAJLyoqIFNldCB0aGUgZmVhdHVyZSAq
Lwo+IC0Jdm9pZCAoKnNldF9mZWF0dXJlcykoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTY0
IGZlYXR1cmVzKTsKPiArCXZvaWQgKCpmZWF0dXJlc19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2LCBfX3U2NCBmZWF0dXJlcyk7Cj4gICAJLyoqIEdldCBhbmQgU2V0IFN0YXR1cyAqLwo+IC0J
X191OCAoKmdldF9zdGF0dXMpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiAtCXZvaWQgKCpz
ZXRfc3RhdHVzKShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpOwo+ICsJX191
OCAoKnN0YXR1c19nZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiArCXZvaWQgKCpzdGF0
dXNfc2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpOwo+ICsJLyoqIEZp
bmQgdGhlIHZpcnRxdWV1ZSAqLwo+ICsJaW50ICgqdnFzX2ZpbmQpKHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LCBfX3UxNiBudW1fdnEsIF9fdTE2ICp2cV9zaXplKTsKPiArCS8qKiBTZXR1cCB0aGUg
dmlydHF1ZXVlICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVlICooKnZxX3NldHVwKShzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldiwgX191MTYgbnVtX2Rlc2MsCj4gKwkJCQkgICAgICBfX3UxNiBxdWV1ZV9p
ZCwKPiArCQkJCSAgICAgIHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrLAo+ICsJCQkJICAg
ICAgc3RydWN0IHVrX2FsbG9jICphKTsKPiAgIH07Cj4gICAKPiAgIC8qKgo+IEBAIC0xMTYsNiAr
MTI0LDggQEAgc3RydWN0IHZpcnRpb19kcml2ZXIgewo+ICAgc3RydWN0IHZpcnRpb19kZXYgewo+
ICAgCS8qIEZlYXR1cmUgYml0IGRlc2NyaWJpbmcgdGhlIHZpcnRpbyBkZXZpY2UgKi8KPiAgIAlf
X3U2NCBmZWF0dXJlczsKPiArCS8qIExpc3Qgb2YgdGhlIHZpcnRxdWV1ZSBmb3IgdGhlIGRldmlj
ZSAqLwo+ICsJVUtfVEFJTFFfSEVBRCh2aXJ0cXVldWVfaGVhZCwgc3RydWN0IHZpcnRxdWV1ZSkg
dnFzOwo+ICAgCS8qIFByaXZhdGUgZGF0YSBvZiB0aGUgZHJpdmVyICovCj4gICAJdm9pZCAqcHJp
djsKPiAgIAkvKiBWaXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KPiBAQCAtMTQyLDYgKzE1Miw3
IEBAIHZvaWQgX3ZpcnRpb19yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHZpcnRpb19kcml2ZXIgKnZk
cnYpOwo+ICAgICogICAgICBUaGUgc3RhdHVzIHRvIHVwZGF0ZS4KPiAgICAqIEByZXR1cm4KPiAg
ICAqICAgICAgMCBvbiBzdWNjZXNzZnVsIHVwZGF0aW5nIHRoZSBzdGF0dXMuCj4gKyAqICAgICAg
LUVOT1RTVVAsIGlmIHRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCBvbiB0aGUgdmlydGlv
IGRldmljZS4KPiAgICAqLwo+ICAgc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2Rldl9zdGF0dXNf
dXBkYXRlKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cykKPiAgIHsKPiBAQCAt
MTQ5LDMyICsxNjAsNjMgQEAgc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2Rldl9zdGF0dXNfdXBk
YXRlKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cykKPiAgIAo+ICAgCVVLX0FT
U0VSVCh2ZGV2KTsKPiAgIAo+IC0JaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5zZXRfc3RhdHVzKSkg
ewo+IC0JCXZkZXYtPmNvcHMtPnNldF9zdGF0dXModmRldiwgc3RhdHVzKTsKPiArCWlmIChsaWtl
bHkodmRldi0+Y29wcy0+c3RhdHVzX3NldCkpIHsKPiArCQl2ZGV2LT5jb3BzLT5zdGF0dXNfc2V0
KHZkZXYsIHN0YXR1cyk7Cj4gICAJCXJjID0gMDsKPiAgIAl9Cj4gICAJcmV0dXJuIHJjOwo+ICAg
fQo+ICAgCj4gKy8qKgo+ICsgKiBUaGUgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmZWF0dXJlIHN1cHBv
cnRlZCBieSB0aGUgZGV2aWNlLgo+ICsgKiBAcGFyYW0gdmRldgo+ICsgKglSZWZlcmVuY2UgdG8g
dGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqCj4gKyAqIEByZXR1cm4gX191NjQKPiArICoJQSBiaXQg
bWFwIG9mIHRoZSBmZWF0dXJlIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLgo+ICsgKi8KPiAgIHN0
YXRpYyBpbmxpbmUgX191NjQgdmlydGlvX2ZlYXR1cmVfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2KQo+ICAgewo+ICAgCV9fdTY0IGZlYXR1cmVzID0gMDsKPiAgIAo+ICAgCVVLX0FTU0VSVCh2
ZGV2KTsKPiAgIAo+IC0JaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5nZXRfZmVhdHVyZXMpKQo+IC0J
CWZlYXR1cmVzID0gdmRldi0+Y29wcy0+Z2V0X2ZlYXR1cmVzKHZkZXYpOwo+ICsJaWYgKGxpa2Vs
eSh2ZGV2LT5jb3BzLT5mZWF0dXJlc19nZXQpKQo+ICsJCWZlYXR1cmVzID0gdmRldi0+Y29wcy0+
ZmVhdHVyZXNfZ2V0KHZkZXYpOwo+ICAgCXJldHVybiBmZWF0dXJlczsKPiAgIH0KPiAgIAo+ICsv
KioKPiArICogVGhlIGZ1bmN0aW9uIHRvIHNldCB0aGUgbmVnb3RpYXRlZCBmZWF0dXJlcy4KPiAr
ICogQHBhcmFtIHZkZXYKPiArICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsg
KiBAcGFyYW0gZmVhdHVyZQo+ICsgKglBIGJpdCBtYXAgb2YgdGhlIGZlYXR1cmUgbmVnb3RpYXRl
ZC4KPiArICovCj4gICBzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlvX2ZlYXR1cmVfc2V0KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UzMiBmZWF0dXJlKQo+ICAgewo+ICAgCVVLX0FTU0VSVCh2
ZGV2KTsKPiAgIAo+IC0JaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT5zZXRfZmVhdHVyZXMpKQo+IC0J
CXZkZXYtPmNvcHMtPnNldF9mZWF0dXJlcyh2ZGV2LCBmZWF0dXJlKTsKPiArCWlmIChsaWtlbHko
dmRldi0+Y29wcy0+ZmVhdHVyZXNfc2V0KSkKPiArCQl2ZGV2LT5jb3BzLT5mZWF0dXJlc19zZXQo
dmRldiwgZmVhdHVyZSk7Cj4gICB9Cj4gICAKPiArLyoqCj4gKyAqIEdldCB0aGUgY29uZmlndXJh
dGlvbiBpbmZvcm1hdGlvbiBmcm9tIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKiBAcGFyYW0gdmRl
dgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqIEBwYXJhbSBvZmZz
ZXQKPiArICoJT2Zmc2V0IGludG8gdGhlIHZpcnRpbyBkZXZpY2UgY29uZmlndXJhdGlvbiBzcGFj
ZS4KPiArICogQHBhcmFtIGJ1Zgo+ICsgKglBIGJ1ZmZlciB0byBzdG9yZSB0aGUgY29uZmlndXJh
dGlvbiBpbmZvcm1hdGlvbi4KPiArICogQHBhcmFtIGxlbgo+ICsgKglUaGUgbGVuZ3RoIG9mIHRo
ZSBidWZmZXIuCj4gKyAqIEBwYXJhbSB0eXBlX2xlbgo+ICsgKglUaGUgZGF0YSB0eXBlIG9mIHRo
ZSBjb25maWd1cmF0aW9uIGRhdGEuCj4gKyAqIEByZXR1cm4gaW50Cj4gKyAqCTAsIG9uIHN1Y2Nl
c3NmdWwgcmVhZGluZyB0aGUgY29uZmlndXJhdGlvbiBzcGFjZS4KPiArICoJPCAwLCBvbiBlcnJv
ci4KPiArICovCj4gICBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fY29uZmlnX2dldChzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAo+ICAgCQkJCSAgICB2b2lkICpidWYsIF9f
dTMyIGxlbiwgX191OCB0eXBlX2xlbikKPiAgIHsKPiBAQCAtMTgyLDEyICsyMjQsNzQgQEAgc3Rh
dGljIGlubGluZSBpbnQgdmlydGlvX2NvbmZpZ19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYs
IF9fdTE2IG9mZnNldCwKPiAgIAo+ICAgCVVLX0FTU0VSVCh2ZGV2KTsKPiAgIAo+IC0JaWYgKGxp
a2VseSh2ZGV2LT5jb3BzLT5nZXRfY29uZmlnKSkKPiAtCQlyYyA9IHZkZXYtPmNvcHMtPmdldF9j
b25maWcodmRldiwgb2Zmc2V0LCBidWYsIGxlbiwgdHlwZV9sZW4pOwo+ICsJaWYgKGxpa2VseSh2
ZGV2LT5jb3BzLT5jb25maWdfZ2V0KSkKPiArCQlyYyA9IHZkZXYtPmNvcHMtPmNvbmZpZ19nZXQo
dmRldiwgb2Zmc2V0LCBidWYsIGxlbiwgdHlwZV9sZW4pOwo+ICsKPiArCXJldHVybiByYzsKPiAr
fQo+ICsKPiArLyoqCj4gKyAqIFRoZSBoZWxwZXIgZnVuY3Rpb24gdG8gZmluZCB0aGUgbnVtYmVy
IG9mIHRoZSB2cXMgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UuCj4gKyAqIEBwYXJhbSB2ZGV2Cj4g
KyAqCUEgcmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKiBAcGFyYW0gdG90YWxf
dnFzCj4gKyAqCVRoZSB0b3RhbCBudW1iZXIgb2YgdmlydHF1ZXVlcyByZXF1ZXN0ZWQuCj4gKyAq
IEBwYXJhbSB2cV9zaXplCj4gKyAqCUFuIGFycmF5IG9mIG1heCBkZXNjcmlwdG9ycyBvbiBlYWNo
IHZpcnRxdWV1ZSBmb3VuZCBvbiB0aGUKPiArICoJdmlydGlvIGRldmljZQo+ICsgKiBAcmV0dXJu
IGludAo+ICsgKglPbiBzdWNjZXNzLCB0aGUgZnVuY3Rpb24gcmV0dXJuIHRoZSBudW1iZXIgb2Yg
YXZhaWxhYmxlIHZpcnRxdWV1ZXMKPiArICoJT24gZXJyb3IsCj4gKyAqCQktRU5PVFNVUCBpZiB0
aGUgZnVuY3Rpb24gaXMgbm90IHN1cHBvcnRlZC4KPiArICovCj4gK3N0YXRpYyBpbmxpbmUgaW50
IHZpcnRpb19maW5kX3ZxcyhzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgdG90YWxfdnFz
LAo+ICsJCQkJICBfX3UxNiAqdnFfc2l6ZSkKPiArewo+ICsJaW50IHJjID0gLUVOT1RTVVA7Cj4g
Kwo+ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsKPiArCWlmIChsaWtlbHkodmRldi0+Y29wcy0+dnFz
X2ZpbmQpKQo+ICsJCXJjID0gdmRldi0+Y29wcy0+dnFzX2ZpbmQodmRldiwgdG90YWxfdnFzLCB2
cV9zaXplKTsKPiAgIAo+ICAgCXJldHVybiByYzsKPiAgIH0KPiAgIAo+ICsvKioKPiArICogQSBo
ZWxwZXIgZnVuY3Rpb24gdG8gc2V0dXAgYW4gaW5kaXZpZHVhbCB2aXJ0cXVldWUuCj4gKyAqIEBw
YXJhbSB2ZGV2Cj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4KPiArICogQHBh
cmFtIHZxX2lkCj4gKyAqCVRoZSB2aXJ0cXVldWUgcXVldWUgaWQuCj4gKyAqIEBwYXJhbSBucl9k
ZXNjCj4gKyAqCVRoZSBjb3VudCBvZiB0aGUgZGVzY3JpcHRvciB0byBiZSBjb25maWd1cmVkLgo+
ICsgKiBAcGFyYW0gY2FsbGJhY2sKPiArICoJQSByZWZlcmVuY2UgdG8gY2FsbGJhY2sgZnVuY3Rp
b24gdG8gaW52b2tlZCBieSB0aGUgdmlydGlvIGRldmljZSBvbiBhbgo+ICsgKglpbnRlcnJ1cHQg
ZnJvbSB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcGFyYW0gYQo+ICsgKglBIHJlZmVyZW5jZSB0byB0
aGUgYWxsb2NhdG9yLgo+ICsgKgo+ICsgKiBAcmV0dXJuIHN0cnVjdCB2aXJ0cXVldWUgKgo+ICsg
KglPbiBzdWNjZXNzLCBhIHJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgo+ICsgKglPbiBlcnJv
ciwKPiArICoJCS1FTk9UU1VQIG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2Uu
Cj4gKyAqCQktRU5PTUVNICBGYWlsZWQgYWxsb2NhdGluZyB0aGUgdmlydHF1ZXVlLgo+ICsgKi8K
PiArc3RhdGljIGlubGluZSBzdHJ1Y3QgdmlydHF1ZXVlICp2aXJ0aW9fdnF1ZXVlX3NldHVwKHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+ICsJCQkJCSAgICBfX3UxNiB2cV9pZCwgX191MTYgbnJf
ZGVzYywKPiArCQkJCQkgICAgdmlydHF1ZXVlX2NhbGxiYWNrX3QgIGNhbGxiYWNrLAo+ICsJCQkJ
CSAgICBzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWUgKnZxID0g
RVJSMlBUUigtRU5PVFNVUCk7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYgJiYgYSk7Cj4gKwo+ICsJ
aWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52cV9zZXR1cCkpCj4gKwkJdnEgPSB2ZGV2LT5jb3BzLT52
cV9zZXR1cCh2ZGV2LCB2cV9pZCwgbnJfZGVzYywgY2FsbGJhY2ssIGEpOwo+ICsKPiArCXJldHVy
biB2cTsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19oYXNfZmVhdHVyZXMo
X191NjQgZmVhdHVyZXMsIF9fdTggYnBvcykKPiAgIHsKPiAgIAlfX3U2NCB0bXBfZmVhdHVyZSA9
IDA7Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUu
aCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAo+IG5ldyBmaWxlIG1v
ZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uYThhNGJjMAo+IC0tLSAvZGV2L251bGwKPiArKysg
Yi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmgKPiBAQCAtMCwwICsxLDE0
NSBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8q
Cj4gKyAqIEF1dGhvcnM6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFi
LmV1Pgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVD
IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
PiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9s
ZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNl
ZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRo
aXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4g
KyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
Ugo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICog
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBO
T1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsKPiArI2lm
bmRlZiBfX1BMQVRfRFJWX1ZJUlRRVUVVRV9IX18KPiArI2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRR
VUVVRV9IX18KPiArCj4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiArI2luY2x1ZGUgPHVrL2xp
c3QuaD4KPiArI2luY2x1ZGUgPHVrL3NnbGlzdC5oPgo+ICsjaW5jbHVkZSA8dWsvYXJjaC90eXBl
cy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19yaW5nLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0
aW8vdmlydGlvX2NvbmZpZy5oPgo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAi
QyIgewo+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KPiArCj4gKy8qKgo+ICsgKiBUeXBlIGRl
Y2xhcmF0aW9ucwo+ICsgKi8KPiArc3RydWN0IHZpcnRxdWV1ZTsKPiArc3RydWN0IHZpcnRpb19k
ZXY7Cj4gK3R5cGVkZWYgaW50ICgqdmlydHF1ZXVlX2NhbGxiYWNrX3QpKHN0cnVjdCB2aXJ0cXVl
dWUgKiwgdm9pZCAqcHJpdik7Cj4gK3R5cGVkZWYgaW50ICgqdmlydHF1ZXVlX25vdGlmeV9ob3N0
X3QpKHN0cnVjdCB2aXJ0aW9fZGV2ICosIF9fdTE2IHF1ZXVlX25yKTsKPiArCj4gKy8qKgo+ICsg
KiBTdHJ1Y3R1cmUgdG8gZGVzY3JpYmUgdGhlIHZpcnRxdWV1ZS4KPiArICovCj4gK3N0cnVjdCB2
aXJ0cXVldWUgewo+ICsJLyogUmVmZXJlbmNlIHRoZSB2aXJ0aW9fZGV2IGl0IGJlbG9uZyB0byAq
Lwo+ICsJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7Cj4gKwkvKiBWaXJ0cXVldWUgaWRlbnRpZmll
ciAqLwo+ICsJX191MTYgcXVldWVfaWQ7Cj4gKwkvKiBOb3RpZnkgdG8gdGhlIGhvc3QgKi8KPiAr
CXZpcnRxdWV1ZV9ub3RpZnlfaG9zdF90IHZxX25vdGlmeV9ob3N0Owo+ICsJLyogQ2FsbGJhY2sg
ZnJvbSB0aGUgdmlydHF1ZXVlICovCj4gKwl2aXJ0cXVldWVfY2FsbGJhY2tfdCB2cV9jYWxsYmFj
azsKPiArCS8qIE5leHQgZW50cnkgb2YgdGhlIHF1ZXVlICovCj4gKwlVS19UQUlMUV9FTlRSWShz
dHJ1Y3QgdmlydHF1ZXVlKSBuZXh0Owo+ICsJLyogUHJpdmF0ZSBkYXRhIHN0cnVjdHVyZSB1c2Vk
IGJ5IHRoZSBkcml2ZXIgb2YgdGhlIHF1ZXVlICovCj4gKwl2b2lkICpwcml2Owo+ICt9Owo+ICsK
PiArLyoqCj4gKyAqIEZldGNoIHRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBkZXNjcmlwdG9y
IHJpbmcuCj4gKyAqIEBwYXJhbSB2cQo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4K
PiArICoKPiArICogQHJldHVybgo+ICsgKglSZXR1cm4gdGhlIGd1ZXN0IHBoeXNpY2FsIGFkZHJl
c3Mgb2YgdGhlIHZyaW5nLgo+ICsgKi8KPiArX19waHlzX2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRy
KHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKPiArCj4gKy8qKgo+ICsgKiBOZWdvdGlhdGUgd2l0aCB0
aGUgdmlydHF1ZXVlIGZlYXR1cmVzLgo+ICsgKiBAcGFyYW0gZmVhdHVyZV9zZXQKPiArICoJVGhl
IGZlYXR1cmUgc2V0IHRoZSBkZXZpY2UgcmVxdWVzdC4KPiArICoKPiArICogQHJldHVybiBfX3U2
NAo+ICsgKglUaGUgbmVnb3RpYXRlZCBmZWF0dXJlIHNldC4KPiArICovCj4gK19fdTY0IHZpcnRx
dWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCk7Cj4gKwo+ICsvKioKPiAr
ICogQWxsb2NhdGUgYSB2aXJ0cXVldWUuCj4gKyAqIEBwYXJhbSBxdWV1ZV9pZAo+ICsgKglUaGUg
dmlydHF1ZXVlIGh3IGlkLgo+ICsgKiBAcGFyYW0gbnJfZGVzY3MKPiArICoJVGhlIG51bWJlciBv
ZiBkZXNjcmlwdG9yIGZvciB0aGUgcXVldWUuCj4gKyAqIEBwYXJhbSBhbGlnbgo+ICsgKglUaGUg
bWVtb3J5IGFsaWdubWVudCBmb3IgdGhlIHJpbmcgbWVtb3J5Lgo+ICsgKiBAcGFyYW0gY2FsbGJh
Y2sKPiArICoJQSByZWZlcmVuY2UgdG8gY2FsbGJhY2sgdG8gdGhlIHZpcnRpby1kZXYuCj4gKyAq
IEBwYXJhbSBub3RpZnkKPiArICoJQSByZWZlcmVuY2UgdG8gbm90aWZpY2F0aW9uIGZ1bmN0aW9u
IHRvIHRoZSBob3N0Lgo+ICsgKiBAcGFyYW0gdmRldjoKPiArICoJQSByZWZlcmVuY2UgdG8gdGhl
IHZpcnRpbyBkZXZpY2UuCj4gKyAqIEBwYXJhbSAgYToKPiArICoJQSByZWZlcmVuY2UgdG8gdGhl
IGFsbG9jYXRvci4KPiArICoKPiArICogQHJldHVybiBzdHJ1Y3QgdmlydHF1ZXVlICoKPiArICoJ
T24gc3VjY2VzcywgcmV0dXJuIGEgcmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUuCj4gKyAqCU9u
IGZhaWx1cmUsCj4gKyAqCQkgICAtRU5PTUVNOiBGYWlsZWQgdG8gYWxsb2NhdGUgdGhlIHF1ZXVl
Lgo+ICsgKi8KPiArc3RydWN0IHZpcnRxdWV1ZSAqdmlydHF1ZXVlX2NyZWF0ZShfX3UxNiBxdWV1
ZV9pZCwgX191MTYgbnJfZGVzY3MsIF9fdTE2IGFsaWduLAo+ICsJCQkJICAgdmlydHF1ZXVlX2Nh
bGxiYWNrX3QgY2FsbGJhY2ssCj4gKwkJCQkgICB2aXJ0cXVldWVfbm90aWZ5X2hvc3RfdCBub3Rp
ZnksCj4gKwkJCQkgICBzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgc3RydWN0IHVrX2FsbG9jICph
KTsKPiArCj4gKy8qKgo+ICsgKiBDaGVjayB0aGUgdmlydHF1ZXVlIGlmIGZ1bGwuCj4gKyAqIEBw
YXJhbSB2cQo+ICsgKglBIHJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcmV0dXJu
IGludAo+ICsgKgkxIG9uIGZ1bGwsCj4gKyAqCTAgb3RoZXJ3aXNlCj4gKyAqLwo+ICtpbnQgdmly
dHF1ZXVlX2lzX2Z1bGwoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwo+ICsKPiArLyoKPiArICogRGVz
dHJveSBhIHZpcnR1YWwgcXVldWUKPiArICogQHBhcmFtIHZxCj4gKyAqCUEgcmVmZXJlbmNlIHRv
IHRoZSB2aXJ0dWFsIHF1ZXVlCj4gKyAqIEBwYXJhbSBhCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUg
bWVtb3J5IGFsbG9jYXRvcgo+ICsgKi8KPiArdm9pZCB2aXJ0cXVldWVfZGVzdHJveShzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSwgc3RydWN0IHVrX2FsbG9jICphKTsKPiArCj4gKyNpZmRlZiBfX2NwbHVz
cGx1cwo+ICt9Cj4gKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwo+ICsKPiArI2VuZGlmIC8qIF9f
UExBVF9EUlZfVklSVFFVRVVFX0hfXyAqLwo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19idXMuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCj4gaW5k
ZXggZWY2NmFlOC4uYjBhYjljOCAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19idXMuYwo+ICsrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCj4gQEAg
LTkyLDggKzkyLDggQEAgc3RhdGljIGludCB2aXJ0aW9fZGV2aWNlX3JlaW5pdChzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldikKPiAgIAkgKiBUaGlzIG1heSBub3QgYmUgbmVjZXNzYXJ5IHdoaWxlIGlu
aXRpYWxpemluZyB0aGUgZGV2aWNlIGZvciB0aGUgZmlyc3QKPiAgIAkgKiB0aW1lLgo+ICAgCSAq
Lwo+IC0JaWYgKHZkZXYtPmNvcHMtPnJlc2V0X2RldmljZSkgewo+IC0JCXZkZXYtPmNvcHMtPnJl
c2V0X2RldmljZSh2ZGV2KTsKPiArCWlmICh2ZGV2LT5jb3BzLT5kZXZpY2VfcmVzZXQpIHsKPiAr
CQl2ZGV2LT5jb3BzLT5kZXZpY2VfcmVzZXQodmRldik7Cj4gICAJCS8qIFNldCB0aGUgZGV2aWNl
IHN0YXR1cyAqLwo+ICAgCQl2ZGV2LT5zdGF0dXMgPSBWSVJUSU9fREVWX1JFU0VUOwo+ICAgCX0K
PiBAQCAtMTQwLDYgKzE0MCw4IEBAIGludCB2aXJ0aW9fcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2KQo+ICAgCQlyZXR1cm4gcmM7Cj4gICAJfQo+ICAgCj4gKwkvKiBJbml0
aWFsaXplIHRoZSB2aXJ0cXVldWUgbGlzdCAqLwo+ICsJVUtfVEFJTFFfSU5JVCgmdmRldi0+dnFz
KTsKPiAgIAo+ICAgCS8qIENhbGxpbmcgdGhlIGRyaXZlciBhZGQgZGV2aWNlICovCj4gICAJcmMg
PSBkcnYtPmFkZF9kZXYodmRldik7Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX3BjaS5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiBpbmRleCBh
YjJmMmM4Li5kMDdiMDExIDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X3BjaS5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiBAQCAtMzUs
MTYgKzM1LDEzIEBACj4gICAjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4gICAjaW5jbHVkZSA8dWsv
YXJjaC90eXBlcy5oPgo+ICAgI2luY2x1ZGUgPGVycm5vLmg+Cj4gLSNpZmRlZiBDT05GSUdfTElC
VUtBTExPQwo+ICAgI2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gLSNlbHNlCj4gLSNlcnJvciAiVmly
dGlvIFBDSSBkZXZpY2UgcmVxdWlyZXMgVUtBTExPQyIKPiAtI2VuZGlmIC8qIENPTkZJR19MSUJV
S0FMTE9DICovCj4gICAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KPiAgICNpbmNsdWRlIDx1ay9wbGF0
L2xjcHUuaD4KPiAgICNpbmNsdWRlIDx1ay9wbGF0L2lycS5oPgo+ICAgI2luY2x1ZGUgPHBjaS9w
Y2lfYnVzLmg+Cj4gICAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KPiArI2luY2x1
ZGUgPHZpcnRpby92aXJ0cXVldWUuaD4KPiAgICNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvLmg+Cj4g
ICAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19wY2kuaD4KPiAgIAo+IEBAIC02OSw0NCArNjYsMTE4
IEBAIHN0cnVjdCB2aXJ0aW9fcGNpX2RldiB7Cj4gICB9Owo+ICAgCj4gICAvKioKPiAtICogRmV0
Y2ggdGhlIHZpcnRpbyBwY2kgaW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvZGV2Lgo+ICsgKiBG
ZXRjaCB0aGUgdmlydGlvIHBjaSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB2aXJ0aW8gZGV2aWNlLgo+
ICsgKiBAcGFyYW0gdmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4g
ICAgKi8KPiAgICNkZWZpbmUgdG9fdmlydGlvcGNpZGV2KHZkZXYpIFwKPiAgIAkJX19jb250YWlu
ZXJvZih2ZGV2LCBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYsIHZkZXYpCj4gICAKPiAtCj4gICAvKioK
PiAgICAqIFN0YXRpYyBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KPiAgICAqLwo+ICAgc3RhdGljIHZv
aWQgdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4g
ICBzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gLQkJCQljb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbik7
Cj4gKwkJCQkgICAgICBjb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbik7Cj4gICBzdGF0aWMgaW50
IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3Ux
NiBvZmZzZXQsCj4gLQkJCQkJdm9pZCAqYnVmLCBfX3UzMiBsZW4sCj4gLQkJCQkJX191OCB0eXBl
X2xlbiBfX21heWJlX3VudXNlZCk7Cj4gKwkJCQkgICAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwK
PiArCQkJCSAgICAgIF9fdTggdHlwZV9sZW4gX19tYXliZV91bnVzZWQpOwo+ICAgc3RhdGljIF9f
dTY0IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYp
Owo+ICAgc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX3NldChzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldiwKPiAtCQkJCQkJX191NjQgZmVhdHVyZXMpOwo+ICsJCQkJCSBfX3U2NCBm
ZWF0dXJlcyk7Cj4gK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cSwKPiArCQkJCSAgIF9fdTE2ICpxZGVzY19zaXpl
KTsKPiAgIHN0YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfc2V0KHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cyk7Cj4gICBzdGF0aWMgX191OCB2cGNpX2xlZ2FjeV9w
Y2lfc3RhdHVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRpYyBzdHJ1Y3Qg
dmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92cV9zZXR1cChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwK
PiArCQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCwKPiArCQkJCQkgICAgICBfX3UxNiBudW1fZGVz
YywKPiArCQkJCQkgICAgICB2aXJ0cXVldWVfY2FsbGJhY2tfdCBjYWxsYmFjaywKPiArCQkJCQkg
ICAgICBzdHJ1Y3QgdWtfYWxsb2MgKmEpOwo+ICAgc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19k
ZXZpY2VfaWRfYWRkKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+IC0JCQkJX191MTYgcGNpX2Rl
dl9pZCwgX191MTYgdnBjaV9kZXZfaWRfc3RhcnQpOwo+ICsJCQkJCV9fdTE2IHBjaV9kZXZfaWQs
Cj4gKwkJCQkJX191MTYgdnBjaV9kZXZfaWRfc3RhcnQpOwo+ICAgc3RhdGljIGludCB2aXJ0aW9f
cGNpX2xlZ2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2LAo+IC0JCXN0cnVj
dCB2aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpOwo+ICsJCQkJICAgICBzdHJ1Y3QgdmlydGlvX3Bj
aV9kZXYgKnZwY2lfZGV2KTsKPiAgIAo+ICAgLyoqCj4gICAgKiBDb25maWd1cmF0aW9uIG9wZXJh
dGlvbnMgbGVnYWN5IFBDSSBkZXZpY2UuCj4gICAgKi8KPiAgIHN0YXRpYyBzdHJ1Y3QgdmlydGlv
X2NvbmZpZ19vcHMgdnBjaV9sZWdhY3lfb3BzID0gewo+IC0JLnJlc2V0X2RldmljZSA9IHZwY2lf
bGVnYWN5X3BjaV9kZXZfcmVzZXQsCj4gLQkuc2V0X2NvbmZpZyAgID0gdnBjaV9sZWdhY3lfcGNp
X2NvbmZpZ19zZXQsCj4gLQkuZ2V0X2NvbmZpZyAgID0gdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19n
ZXQsCj4gLQkuZ2V0X2ZlYXR1cmVzID0gdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX2dldCwKPiAt
CS5zZXRfZmVhdHVyZXMgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0LAo+IC0JLmdldF9z
dGF0dXMgICA9IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfZ2V0LAo+IC0JLnNldF9zdGF0dXMgICA9
IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfc2V0LAo+ICsJLmRldmljZV9yZXNldCA9IHZwY2lfbGVn
YWN5X3BjaV9kZXZfcmVzZXQsCj4gKwkuY29uZmlnX2dldCAgID0gdnBjaV9sZWdhY3lfcGNpX2Nv
bmZpZ19nZXQsCj4gKwkuY29uZmlnX3NldCAgID0gdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQs
Cj4gKwkuZmVhdHVyZXNfZ2V0ID0gdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX2dldCwKPiArCS5m
ZWF0dXJlc19zZXQgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0LAo+ICsJLnN0YXR1c19n
ZXQgICA9IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfZ2V0LAo+ICsJLnN0YXR1c19zZXQgICA9IHZw
Y2lfbGVnYWN5X3BjaV9zdGF0dXNfc2V0LAo+ICsJLnZxc19maW5kICAgICA9IHZwY2lfbGVnYWN5
X3BjaV92cV9maW5kLAo+ICsJLnZxX3NldHVwICAgICA9IHZwY2lfbGVnYWN5X3ZxX3NldHVwLAo+
ICAgfTsKPiAgIAo+ICtzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdhY3lfdnFfc2V0
dXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gKwkJCQkJICAgICAgX191MTYgcXVldWVfaWQs
Cj4gKwkJCQkJICAgICAgX191MTYgbnVtX2Rlc2MsCj4gKwkJCQkJICAgICAgdmlydHF1ZXVlX2Nh
bGxiYWNrX3QgY2FsbGJhY2ssCj4gKwkJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKQo+ICt7
Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKPiArCXN0cnVjdCB2aXJ0
cXVldWUgKnZxOwo+ICsJX19waHlzX2FkZHIgYWRkcjsKPiArCWxvbmcgZmxhZ3M7Cj4gKwo+ICsJ
VUtfQVNTRVJUKHZkZXYgIT0gTlVMTCk7Cj4gKwo+ICsJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYo
dmRldik7Cj4gKwl2cSA9IHZpcnRxdWV1ZV9jcmVhdGUocXVldWVfaWQsIG51bV9kZXNjLCBWSVJU
SU9fUENJX1ZSSU5HX0FMSUdOLAo+ICsJCQkgICAgICBjYWxsYmFjaywgTlVMTCwgdmRldiwgYSk7
Cj4gKwlpZiAoUFRSSVNFUlIodnEpKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gY3JlYXRl
IHRoZSB2aXJ0cXVldWU6ICVkXG4iLAo+ICsJCQkJUFRSMkVSUih2cSkpOwo+ICsJCWdvdG8gZXJy
X2V4aXQ7Cj4gKwl9Cj4gKwo+ICsJLyogUGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgcXVldWUgKi8K
PiArCWFkZHIgPSB2aXJ0cXVldWVfcGh5c2FkZHIodnEpOwo+ICsJLyogU2VsZWN0IHRoZSBxdWV1
ZSBvZiBpbnRlcmVzdCAqLwo+ICsJdmlydGlvX2N3cml0ZTE2KCh2b2lkICopKHVuc2lnbmVkIGxv
bmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCVZJUlRJT19QQ0lfUVVFVUVfU0VMLCBxdWV1
ZV9pZCk7Cj4gKwl2aXJ0aW9fY3dyaXRlMzIoKHZvaWQgKikodW5zaWduZWQgbG9uZyl2cGRldi0+
cGNpX2Jhc2VfYWRkciwKPiArCQkJVklSVElPX1BDSV9RVUVVRV9QRk4sCj4gKwkJCWFkZHIgPj4g
VklSVElPX1BDSV9RVUVVRV9BRERSX1NISUZUKTsKPiArCj4gKwlmbGFncyA9IHVrcGxhdF9sY3B1
X3NhdmVfaXJxZigpOwo+ICsJVUtfVEFJTFFfSU5TRVJUX1RBSUwoJnZwZGV2LT52ZGV2LnZxcywg
dnEsIG5leHQpOwo+ICsJdWtwbGF0X2xjcHVfcmVzdG9yZV9pcnFmKGZsYWdzKTsKPiArCj4gK2Vy
cl9leGl0Ogo+ICsJcmV0dXJuIHZxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZwY2lfbGVnYWN5
X3BjaV92cV9maW5kKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBudW1fdnFzLAo+ICsJ
CQkJICAgX191MTYgKnFkZXNjX3NpemUpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAq
dnBkZXYgPSBOVUxMOwo+ICsJaW50IHZxX2NudCA9IDAsIGkgPSAwOwo+ICsKPiArCVVLX0FTU0VS
VCh2ZGV2KTsKPiArCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICsKPiArCWZvciAo
aSA9IDA7IGkgPCBudW1fdnFzOyBpKyspIHsKPiArCQl2aXJ0aW9fY3dyaXRlMTYoKHZvaWQgKikg
KHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCQlWSVJUSU9fUENJX1FV
RVVFX1NFTCwgaSk7Cj4gKwkJcWRlc2Nfc2l6ZVtpXSA9IHZpcnRpb19jcmVhZDE2KAo+ICsJCQkJ
KHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCQlWSVJU
SU9fUENJX1FVRVVFX1NJWkUpOwo+ICsJCWlmICh1bmxpa2VseSghcWRlc2Nfc2l6ZVtpXSkpIHsK
PiArCQkJdWtfcHJfZXJyKCJWaXJ0cXVldWUgJWQgbm90IGF2YWlsYWJsZVxuIiwgaSk7Cj4gKwkJ
CWNvbnRpbnVlOwo+ICsJCX0KPiArCQl2cV9jbnQrKzsKPiArCX0KPiArCXJldHVybiB2cV9jbnQ7
Cj4gK30KPiArCj4gICBzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gICAJCQkJY29uc3Qgdm9pZCAqYnVm
LCBfX3UzMiBsZW4pCj4gICB7Cj4gQEAgLTExNiwxNCArMTg3LDE0IEBAIHN0YXRpYyBpbnQgdnBj
aV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9m
ZnNldCwKPiAgIAl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKPiAgIAo+ICAgCV92aXJ0
aW9fY3dyaXRlX2J5dGVzKCh2b2lkICopKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2Fk
ZHIsCj4gLQkJCVZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwgYnVmLCBsZW4sIDEpOwo+
ICsJCQkgICAgIFZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwgYnVmLCBsZW4sIDEpOwo+
ICAgCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgdnBjaV9sZWdhY3lf
cGNpX2NvbmZpZ19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKPiAt
CQkJCQl2b2lkICpidWYsIF9fdTMyIGxlbiwKPiAtCQkJCQlfX3U4IHR5cGVfbGVuIF9fbWF5YmVf
dW51c2VkKQo+ICsJCQkJICAgICAgdm9pZCAqYnVmLCBfX3UzMiBsZW4sCj4gKwkJCQkgICAgICBf
X3U4IHR5cGVfbGVuIF9fbWF5YmVfdW51c2VkKQo+ICAgewo+ICAgCXN0cnVjdCB2aXJ0aW9fcGNp
X2RldiAqdnBkZXYgPSBOVUxMOwo+ICAgCWludCByYyA9IDA7Cj4gQEAgLTE1Miw3ICsyMjMsNyBA
QCBzdGF0aWMgX191OCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldikKPiAgIAlVS19BU1NFUlQodmRldik7Cj4gICAJdnBkZXYgPSB0b192aXJ0aW9wY2lk
ZXYodmRldik7Cj4gICAJcmV0dXJuIHZpcnRpb19jcmVhZDgoKHZvaWQgKikgKHVuc2lnbmVkIGxv
bmcpIHZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+IC0JCQlWSVJUSU9fUENJX1NUQVRVUyk7Cj4gKwkJ
CSAgICAgVklSVElPX1BDSV9TVEFUVVMpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCB2cGNp
X2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0
dXMpCj4gQEAgLTE2Nyw3ICsyMzgsNyBAQCBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3Rh
dHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpCj4gICAJY3Vycl9z
dGF0dXMgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCh2ZGV2KTsKPiAgIAlzdGF0dXMgfD0g
Y3Vycl9zdGF0dXM7Cj4gICAJdmlydGlvX2N3cml0ZTgoKHZvaWQgKikodW5zaWduZWQgbG9uZykg
dnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gLQkJCSBWSVJUSU9fUENJX1NUQVRVUywgc3RhdHVzKTsK
PiArCQkgICAgICAgVklSVElPX1BDSV9TVEFUVVMsIHN0YXR1cyk7Cj4gICB9Cj4gICAKPiAgIHN0
YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9kZXZfcmVzZXQoc3RydWN0IHZpcnRpb19kZXYgKnZk
ZXYpCj4gQEAgLTE4Miw3ICsyNTMsNyBAQCBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZGV2
X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQo+ICAgCSAqIFJlc2V0dGluZyB0aGUgZGV2
aWNlLgo+ICAgCSAqLwo+ICAgCXZpcnRpb19jd3JpdGU4KCh2b2lkICopICh1bnNpZ25lZCBsb25n
KXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+IC0JCQlWSVJUSU9fUENJX1NUQVRVUywgVklSVElPX0NP
TkZJR19TVEFUVVNfUkVTRVQpOwo+ICsJCSAgICAgICBWSVJUSU9fUENJX1NUQVRVUywgVklSVElP
X0NPTkZJR19TVEFUVVNfUkVTRVQpOwo+ICAgCS8qKgo+ICAgCSAqIFdhaXRpbmcgZm9yIHRoZSBy
ZXNldHRpbmcgdGhlIGRldmljZS4gRmluZCBhIGJldHRlciB3YXkKPiAgIAkgKiBvZiBkb2luZyB0
aGlzIGluc3RlYWQgb2YgcmVwZWF0aW5nIHJlZ2lzdGVyIHJlYWQuCj4gQEAgLTIwNiwxOSArMjc3
LDIxIEBAIHN0YXRpYyBfX3U2NCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2KQo+ICAgCj4gICAJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7
Cj4gICAJZmVhdHVyZXMgPSB2aXJ0aW9fY3JlYWQzMigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2
cGRldi0+cGNpX2Jhc2VfYWRkciwKPiAtCQkJCVZJUlRJT19QQ0lfSE9TVF9GRUFUVVJFUyk7Cj4g
KwkJCQkgIFZJUlRJT19QQ0lfSE9TVF9GRUFUVVJFUyk7Cj4gICAJcmV0dXJuIGZlYXR1cmVzOwo+
ICAgfQo+ICAgCj4gICBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0KHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+IC0JCQkJCQlfX3U2NCBmZWF0dXJlcykKPiArCQkJCQkg
X191NjQgZmVhdHVyZXMpCj4gICB7Cj4gICAJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9
IE5VTEw7Cj4gICAKPiAgIAlVS19BU1NFUlQodmRldik7Cj4gICAJdnBkZXYgPSB0b192aXJ0aW9w
Y2lkZXYodmRldik7Cj4gKwkvKiBNYXNrIG91dCBmZWF0dXJlcyBub3Qgc3VwcG9ydGVkIGJ5IHRo
ZSB2aXJ0cXVldWUgZHJpdmVyICovCj4gKwlmZWF0dXJlcyA9IHZpcnRxdWV1ZV9mZWF0dXJlX25l
Z290aWF0ZShmZWF0dXJlcyk7Cj4gICAJdmlydGlvX2N3cml0ZTMyKCh2b2lkICopICh1bnNpZ25l
ZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+IC0JCSBWSVJUSU9fUENJX0dVRVNUX0ZFQVRV
UkVTLCAoX191MzIpZmVhdHVyZXMpOwo+ICsJCQlWSVJUSU9fUENJX0dVRVNUX0ZFQVRVUkVTLCAo
X191MzIpZmVhdHVyZXMpOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlv
X2RldmljZV9pZF9hZGQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gQEAgLTIzMiw4ICszMDUs
OCBAQCBzdGF0aWMgaW50IHZpcnRpb19wY2lfbGVnYWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZp
Y2UgKnBjaV9kZXYsCj4gICB7Cj4gICAJLyogQ2hlY2sgdGhlIHZhbGlkIHJhbmdlIG9mIHRoZSB2
aXJ0aW8gbGVnYWN5IGRldmljZSAqLwo+ICAgCWlmIChwY2lfZGV2LT5pZC5kZXZpY2VfaWQgPCAw
eDEwMDAgfHwgcGNpX2Rldi0+aWQuZGV2aWNlX2lkID4gMHgxMDNmKSB7Cj4gLQkJdWtfcHJfZXJy
KCJFcnJvcjogSW52YWxpZCBWaXJ0aW8gRGV2aWNlcyAlZFxuIiwKPiAtCQkJCXBjaV9kZXYtPmlk
LmRldmljZV9pZCk7Cj4gKwkJdWtfcHJfZXJyKCJJbnZhbGlkIFZpcnRpbyBEZXZpY2VzICUwNHhc
biIsCj4gKwkJCSAgcGNpX2Rldi0+aWQuZGV2aWNlX2lkKTsKPiAgIAkJcmV0dXJuIC1FSU5WQUw7
Cj4gICAJfQo+ICAgCj4gQEAgLTI0MiwxMiArMzE1LDEyIEBAIHN0YXRpYyBpbnQgdmlydGlvX3Bj
aV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiwKPiAgIAkvKiBTZXR0
aW5nIHRoZSBjb25maWd1cmF0aW9uIG9wZXJhdGlvbiAqLwo+ICAgCXZwY2lfZGV2LT52ZGV2LmNv
cHMgPSAmdnBjaV9sZWdhY3lfb3BzOwo+ICAgCj4gLQl1a19wcl9pbmZvKCJBZGRlZCBhIHZpcnRp
by1wY2kgZGV2aWNlKCUwMngpXG4iLAo+IC0JCQkoaW50KSBwY2lfZGV2LT5pZC5kZXZpY2VfaWQp
Owo+ICsJdWtfcHJfaW5mbygiQWRkZWQgdmlydGlvLXBjaSBkZXZpY2UgJTA0eFxuIiwKPiArCQkg
ICBwY2lfZGV2LT5pZC5kZXZpY2VfaWQpOwo+ICAgCj4gICAJLyogTWFwcGluZyB0aGUgdmlydGlv
IGRldmljZSBpZGVudGlmaWVyICovCj4gICAJdmlydGlvX2RldmljZV9pZF9hZGQoJnZwY2lfZGV2
LT52ZGV2LCBwY2lfZGV2LT5pZC5kZXZpY2VfaWQsCj4gLQkJCVZJUlRJT19QQ0lfTEVHQUNZX0RF
VklDRUlEX1NUQVJUKTsKPiArCQkJICAgICBWSVJUSU9fUENJX0xFR0FDWV9ERVZJQ0VJRF9TVEFS
VCk7Cj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4gICAKPiBAQCAtMjYxLDcgKzMzNCw3IEBAIHN0YXRp
YyBpbnQgdmlydGlvX3BjaV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2KQo+ICAg
Cj4gICAJdnBjaV9kZXYgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCp2cGNpX2RldikpOwo+ICAgCWlm
ICghdnBjaV9kZXYpIHsKPiAtCQl1a19wcl9lcnIoIkVycm9yIGluIG1lbW9yeSBhbGxvY2F0aW9u
IG9mIHBjaV9kZXZpY2VcbiIpOwo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFsbG9jYXRlIHZp
cnRpby1wY2kgZGV2aWNlXG4iKTsKPiAgIAkJcmV0dXJuIC1FTk9NRU07Cj4gICAJfQo+ICAgCj4g
QEAgLTI3NiwxOSArMzQ5LDE5IEBAIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9hZGRfZGV2KHN0cnVj
dCBwY2lfZGV2aWNlICpwY2lfZGV2KQo+ICAgCSAqLwo+ICAgCXJjID0gdmlydGlvX3BjaV9sZWdh
Y3lfYWRkX2RldihwY2lfZGV2LCB2cGNpX2Rldik7Cj4gICAJaWYgKHJjICE9IDApIHsKPiAtCQl1
a19wcl9lcnIoIkZhaWxlZCglZCkgdG8gcHJvYmUgdGhlIGxlZ2FjeSBkZXZpY2VcbiIsCj4gLQkJ
CQlyYyk7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcHJvYmUgKGxlZ2FjeSkgcGNpIGRldmlj
ZTogJWRcbiIsIHJjKTsKPiAgIAkJZ290byBmcmVlX3BjaV9kZXY7Cj4gICAJfQo+ICAgCj4gICAJ
cmMgPSB2aXJ0aW9fcmVnaXN0ZXJfZGV2aWNlKCZ2cGNpX2Rldi0+dmRldik7Cj4gICAJaWYgKHJj
ICE9IDApIHsKPiAtCQl1a19wcl9lcnIoIkZhaWxlZCglZCkgdG8gcmVnaXN0ZXIgdGhlIHZpcnRp
byBkZXZpY2VcbiIsIHJjKTsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byByZWdpc3RlciB0aGUg
dmlydGlvIGRldmljZTogJWRcbiIsIHJjKTsKPiAgIAkJZ290byBmcmVlX3BjaV9kZXY7Cj4gICAJ
fQo+ICAgCj4gICBleGl0Ogo+ICAgCXJldHVybiByYzsKPiArCj4gICBmcmVlX3BjaV9kZXY6Cj4g
ICAJdWtfZnJlZShhLCB2cGNpX2Rldik7Cj4gICAJZ290byBleGl0Owo+IGRpZmYgLS1naXQgYS9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19yaW5nLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAuLmJhOTE1
OTQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmlu
Zy5jCj4gQEAgLTAsMCArMSwxOTYgQEAKPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT
RC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFy
YW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiArICoKPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBO
RUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiAr
ICoKPiArICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+
ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKPiArICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBv
ZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+ICsgKiAgICBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQo+ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgo+ICsgKgo+ICsgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiArICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JT
IEJFCj4gKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKPiArICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCj4gKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsg
KiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZ
Lgo+ICsgKi8KPiArLyoqCj4gKyAqIEluc3BpcmVkIGZyb20gdGhlIEZyZWVCU0QuCj4gKyAqIENv
bW1pdC1pZDogYTg5ZTdhMTBkNTAxCj4gKyAqLwo+ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4g
KyNpbmNsdWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4gKyNpbmNsdWRl
IDx1ay9lcnJwdHIuaD4KPiArI2luY2x1ZGUgPGNwdS5oPgo+ICsjaW5jbHVkZSA8dWsvc2dsaXN0
Lmg+Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL2F0b21pYy5oPgo+ICsjaW5jbHVkZSA8dWsvcGxhdC9p
by5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19yaW5nLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0
aW8vdmlydHF1ZXVlLmg+Cj4gKwo+ICsjZGVmaW5lIFZJUlRRVUVVRV9NQVhfU0laRSAgMzI3NjgK
PiArI2RlZmluZSB0b192aXJ0cXVldWVfdnJpbmcodnEpCQkJXAo+ICsJX19jb250YWluZXJvZih2
cSwgc3RydWN0IHZpcnRxdWV1ZV92cmluZywgdnEpCj4gKwo+ICtzdHJ1Y3QgdmlydHF1ZXVlX2Rl
c2NfaW5mbyB7Cj4gKwl2b2lkICpjb29raWU7Cj4gKwlfX3UxNiBkZXNjX2NvdW50Owo+ICt9Owo+
ICsKPiArc3RydWN0IHZpcnRxdWV1ZV92cmluZyB7Cj4gKwlzdHJ1Y3QgdmlydHF1ZXVlIHZxOwo+
ICsJLyogRGVzY3JpcHRvciBSaW5nICovCj4gKwlzdHJ1Y3QgdnJpbmcgdnJpbmc7Cj4gKwkvKiBS
ZWZlcmVuY2UgdG8gdGhlIHZyaW5nICovCj4gKwl2b2lkICAgKnZyaW5nX21lbTsKPiArCS8qIEtl
ZXAgdHJhY2sgb2YgYXZhaWxhYmxlIGRlc2NyaXB0b3JzICovCj4gKwlfX3UxNiBkZXNjX2F2YWls
Owo+ICsJLyogSW5kZXggb2YgdGhlIG5leHQgYXZhaWxhYmxlIHNsb3QgKi8KPiArCV9fdTE2IGhl
YWRfZnJlZV9kZXNjOwo+ICsJLyogSW5kZXggb2YgdGhlIGxhc3QgdXNlZCBkZXNjcmlwdG9yIGJ5
IHRoZSBob3N0ICovCj4gKwlfX3UxNiBsYXN0X3VzZWRfZGVzY19pZHg7Cj4gKwkvKiBDb29raWUg
dG8gaWRlbnRpZnkgZHJpdmVyIGJ1ZmZlciAqLwo+ICsJc3RydWN0IHZpcnRxdWV1ZV9kZXNjX2lu
Zm8gdnFfaW5mb1tdOwo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIFN0YXRpYyBmdW5jdGlvbiBEZWNs
YXJhdGlvbihzKS4KPiArICovCj4gK3N0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0KHN0
cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJfZGVzYywKPiArCQkJCSBfX3UxNiBh
bGlnbik7Cj4gKwo+ICsvKioKPiArICogRHJpdmVyIGltcGxlbWVudGF0aW9uCj4gKyAqLwo+ICtf
X3U2NCB2aXJ0cXVldWVfZmVhdHVyZV9uZWdvdGlhdGUoX191NjQgZmVhdHVyZV9zZXQpCj4gK3sK
PiArCV9fdTY0IGZlYXR1cmUgPSAoMVVMTCA8PCBWSVJUSU9fVFJBTlNQT1JUX0ZfU1RBUlQpIC0g
MTsKPiArCj4gKwkvKioKPiArCSAqIEN1cnJlbnRseSBvdXQgdnJpbmcgZHJpdmVyIGRvZXMgbm90
IHN1cHBvcnQgYW55IHJpbmcgZmVhdHVyZS4gV2Ugd2lsbAo+ICsJICogYWRkIHN1cHBvcnQgdG8g
dHJhbnNwb3J0IGZlYXR1cmUgaW4gdGhlIGZ1dHVyZS4KPiArCSAqLwo+ICsJZmVhdHVyZSAmPSBm
ZWF0dXJlX3NldDsKPiArCXJldHVybiBmZWF0dXJlOwo+ICt9Cj4gKwo+ICtfX3BoeXNfYWRkciB2
aXJ0cXVldWVfcGh5c2FkZHIoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gK3sKPiArCXN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgKnZycSA9IE5VTEw7Cj4gKwo+ICsJVUtfQVNTRVJUKHZxKTsKPiArCj4g
Kwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+ICsJcmV0dXJuIHVrcGxhdF92aXJ0X3Rv
X3BoeXModnJxLT52cmluZ19tZW0pOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB2aXJ0cXVldWVf
dnJpbmdfaW5pdChzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEsIF9fdTE2IG5yX2Rlc2MsCj4g
KwkJCQkgX191MTYgYWxpZ24pCj4gK3sKPiArCWludCBpID0gMDsKPiArCj4gKwl2cmluZ19pbml0
KCZ2cnEtPnZyaW5nLCBucl9kZXNjLCB2cnEtPnZyaW5nX21lbSwgYWxpZ24pOwo+ICsKPiArCXZy
cS0+ZGVzY19hdmFpbCA9IHZycS0+dnJpbmcubnVtOwo+ICsJdnJxLT5oZWFkX2ZyZWVfZGVzYyA9
IDA7Cj4gKwl2cnEtPmxhc3RfdXNlZF9kZXNjX2lkeCA9IDA7Cj4gKwlmb3IgKGkgPSAwOyBpIDwg
bnJfZGVzYyAtIDE7IGkrKykKPiArCQl2cnEtPnZyaW5nLmRlc2NbaV0ubmV4dCA9IGkgKyAxOwo+
ICsJLyoqCj4gKwkgKiBXaGVuIHdlIHJlYWNoIHRoaXMgZGVzY3JpcHRvciB3ZSBoYXZlIGNvbXBs
ZXRlbHkgdXNlZCBhbGwgdGhlCj4gKwkgKiBkZXNjcmlwdG9yIGluIHRoZSB2cmluZy4KPiArCSAq
Lwo+ICsJdnJxLT52cmluZy5kZXNjW25yX2Rlc2MgLSAxXS5uZXh0ID0gVklSVFFVRVVFX01BWF9T
SVpFOwo+ICt9Cj4gKwo+ICtzdHJ1Y3QgdmlydHF1ZXVlICp2aXJ0cXVldWVfY3JlYXRlKF9fdTE2
IHF1ZXVlX2lkLCBfX3UxNiBucl9kZXNjcywgX191MTYgYWxpZ24sCj4gKwkJCQkgICB2aXJ0cXVl
dWVfY2FsbGJhY2tfdCBjYWxsYmFjaywKPiArCQkJCSAgIHZpcnRxdWV1ZV9ub3RpZnlfaG9zdF90
IG5vdGlmeSwKPiArCQkJCSAgIHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBzdHJ1Y3QgdWtfYWxs
b2MgKmEpCj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKPiArCXN0cnVjdCB2
aXJ0cXVldWUgKnZxOwo+ICsJaW50IHJjOwo+ICsJc2l6ZV90IHJpbmdfc2l6ZSA9IDA7Cj4gKwo+
ICsJVUtfQVNTRVJUKGEpOwo+ICsKPiArCXZycSA9IHVrX21hbGxvYyhhLCBzaXplb2Yoc3RydWN0
IHZpcnRxdWV1ZSkgKwo+ICsJCQlucl9kZXNjcyAqIHNpemVvZihzdHJ1Y3QgdmlydHF1ZXVlX2Rl
c2NfaW5mbykpOwo+ICsJaWYgKCF2cnEpIHsKPiArCQl1a19wcl9lcnIoIkFsbG9jYXRpb24gb2Yg
dmlydHF1ZXVlIGZhaWxlZFxuIik7Cj4gKwkJcmMgPSAtRU5PTUVNOwo+ICsJCWdvdG8gZXJyX2V4
aXQ7Cj4gKwl9Cj4gKwkvKioKPiArCSAqIEluaXRpYWxpemUgdGhlIHZhbHVlIGJlZm9yZSByZWZl
cmVuY2luZyBpdCBpbgo+ICsJICogdWtfcG9zaXhfbWVtYWxpZ24gYXMgd2UgZG9uJ3Qgc2V0IE5V
TEwgb24gYWxsIGZhaWx1cmVzIGluIHRoZQo+ICsJICogYWxsb2NhdGlvbi4KPiArCSAqLwo+ICsJ
dnJxLT52cmluZ19tZW0gPSBOVUxMOwo+ICsKPiArCXJpbmdfc2l6ZSA9IHZyaW5nX3NpemUobnJf
ZGVzY3MsIGFsaWduKTsKPiArCXVrX3Bvc2l4X21lbWFsaWduKGEsICh2b2lkICoqKSZ2cnEtPnZy
aW5nX21lbSwgX19QQUdFX1NJWkUsIHJpbmdfc2l6ZSk7Cj4gKwlpZiAoIXZycS0+dnJpbmdfbWVt
KSB7Cj4gKwkJdWtfcHJfZXJyKCJBbGxvY2F0aW9uIG9mIHZyaW5nIGZhaWxlZFxuIik7Cj4gKwkJ
cmMgPSAtRU5PTUVNOwo+ICsJCWdvdG8gZXJyX2ZyZWV2cTsKPiArCX0KPiArCW1lbXNldCh2cnEt
PnZyaW5nX21lbSwgMCwgcmluZ19zaXplKTsKPiArCXZpcnRxdWV1ZV92cmluZ19pbml0KHZycSwg
bnJfZGVzY3MsIGFsaWduKTsKPiArCj4gKwl2cSA9ICZ2cnEtPnZxOwo+ICsJdnEtPnF1ZXVlX2lk
ID0gcXVldWVfaWQ7Cj4gKwl2cS0+dmRldiA9IHZkZXY7Cj4gKwl2cS0+dnFfY2FsbGJhY2sgPSBj
YWxsYmFjazsKPiArCXZxLT52cV9ub3RpZnlfaG9zdCA9IG5vdGlmeTsKPiArCXJldHVybiB2cTsK
PiArCj4gK2Vycl9mcmVldnE6Cj4gKwl1a19mcmVlKGEsIHZycSk7Cj4gK2Vycl9leGl0Ogo+ICsJ
cmV0dXJuIEVSUjJQVFIocmMpOwo+ICt9Cj4gKwo+ICt2b2lkIHZpcnRxdWV1ZV9kZXN0cm95KHN0
cnVjdCB2aXJ0cXVldWUgKnZxLCBzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sKPiArCXN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgKnZycTsKPiArCj4gKwlVS19BU1NFUlQodnEpOwo+ICsKPiArCXZycSA9
IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7Cj4gKwo+ICsJLyogRnJlZSB0aGUgcmluZyAqLwo+ICsJ
dWtfZnJlZShhLCB2cnEtPnZyaW5nX21lbSk7Cj4gKwo+ICsJLyogRnJlZSB0aGUgdmlydHF1ZXVl
IG1ldGFkYXRhICovCj4gKwl1a19mcmVlKGEsIHZycSk7Cj4gK30KPiArCj4gK2ludCB2aXJ0cXVl
dWVfaXNfZnVsbChzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKPiArewo+ICsJc3RydWN0IHZpcnRxdWV1
ZV92cmluZyAqdnJxOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwo+ICsJdnJxID0gdG9fdmly
dHF1ZXVlX3ZyaW5nKHZxKTsKPiArCXJldHVybiAodnJxLT5kZXNjX2F2YWlsID09IDApOwo+ICt9
Cj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51awo+
IGluZGV4IGFmY2VkYzAuLjEzZTU1NzUgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vQ29uZmlnLnVr
Cj4gKysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCj4gQEAgLTU3LDYgKzU3LDcgQEAgY29uZmlnIFZJ
UlRJT19CVVMKPiAgICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0KQo+ICAgICAgICAgZGVw
ZW5kcyBvbiBMSUJVS0JVUwo+ICAgICAgICAgc2VsZWN0IExJQlVLQUxMT0MKPiArICAgICAgc2Vs
ZWN0IExJQlVLU0dMSVNUCj4gICAgICAgICBoZWxwCj4gICAgICAgICAgICAgICAgICBWaXJ0aW8g
YnVzIGRyaXZlciBmb3IgcHJvYmluZyBhbmQgb3BlcmF0aW5nIHZpcnRpbyBkZXZpY2UgYW5kCj4g
ICAgICAgICAgICAgICAgICB0cmFuc3BvcnQgbGF5ZXIuCj4gZGlmZiAtLWdpdCBhL3BsYXQva3Zt
L01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiBpbmRleCA5ODZiZjRhLi5jY2M4
MzE5IDEwMDY0NAo+IC0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9rdm0v
TWFrZWZpbGUudWsKPiBAQCAtOTIsNSArOTIsNyBAQCBMSUJLVk1WSVJUSU9fQVNJTkNMVURFUy15
ICAgKz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCj4gICBMSUJLVk1WSVJUSU9f
Q0lOQ0xVREVTLXkgICAgKz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCj4gICBM
SUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19WSVJUSU9fQlVTKSArPVwKPiAgIAkJCQkJCQkkKFVL
X1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX2J1cy5jCj4gK0xJQktWTVZJUlRJT19T
UkNTLSQoQ09ORklHX1ZJUlRJT19CVVMpICs9XAo+ICsJCQkJCQkJJChVS19QTEFUX0RSSVZFUlNf
QkFTRSkvdmlydGlvL3ZpcnRpb19yaW5nLmMKPiAgIExJQktWTVZJUlRJT19TUkNTLSQoQ09ORklH
X1ZJUlRJT19QQ0kpICs9XAo+ICAgCQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRp
by92aXJ0aW9fcGNpLmMKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 12:02:05 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 12:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEvNo-0002CA-QE; Tue, 23 Oct 2018 12:02:00 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEvNo-0002C5-1M
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 12:02:00 +0000
X-Inumbo-ID: 0785d9ff-d6bb-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 0785d9ff-d6bb-11e8-a8a5-bc764e045a96;
 Tue, 23 Oct 2018 13:59:01 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E08D7104A4D;
 Tue, 23 Oct 2018 14:01:54 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6F8ANiLtT4xQ; Tue, 23 Oct 2018 14:01:54 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id BC424104A1A
 for <minios-devel@lists.xen.org>; Tue, 23 Oct 2018 14:01:52 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 14:01:52 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-7-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023140152166
Message-ID: <4e1ac7a3-cb45-0cc4-810d-634c0325ab8e@neclab.eu>
Date: Tue, 23 Oct 2018 14:01:52 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-7-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 6/7] plat/drivers: Interrupt
 handling for virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTAuMTggMTU6MDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBp
bnRyb2R1Y2VzIHRoZSBBUEkgZm9yIGhhbmRsaW5nIHRoZSBpbnRlcnJ1cHQgb24gdGhlIHZpcnRp
byBQQ0kKPiBkZXZpY2UuIEl0IHByb3ZpZGVzIGhhbmRsZXIgZm9yIHRoZSB2aXJ0cXVldWUgcmlu
Z3MuIFRoZSBoYW5kbGVyIGlkZW50aWZpZXMKPiB0aGUgdmlydGlvIGRldmljZSBvd25pbmcgdGhl
IHZpcnRxdWV1ZSBhbmQgaW52b2tlcyB0aGUgY2FsbGJhY2sgaGFuZGxlcgo+IGNvbmZpZ3VyZWQg
YnkgdGhlIHZpcnRpbyBkZXZpY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5h
bSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvaW5j
bHVkZS92aXJ0aW8vdmlydHF1ZXVlLmggfCA1MiArKysrKysrKysrKysrKysrKysrKysKPiAgIHBs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jICAgICAgICB8IDQ0ICsrKysrKysrKysrKysr
KysrLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgIHwgODIgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAzIGZpbGVzIGNoYW5nZWQsIDE3NyBp
bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRp
by92aXJ0cXVldWUuaAo+IGluZGV4IGE4YTRiYzAuLjM2ZWQyMTggMTAwNjQ0Cj4gLS0tIGEvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCj4gKysrIGIvcGxhdC9kcml2ZXJz
L2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCj4gQEAgLTgzLDYgKzgzLDE3IEBAIHN0cnVjdCB2
aXJ0cXVldWUgewo+ICAgX19waHlzX2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0
cXVldWUgKnZxKTsKPiAgIAo+ICAgLyoqCj4gKyAqIFJpbmcgaW50ZXJydXB0IGhhbmRsZXIKCkNh
biB5b3UgYWRkIGEgY29tbWVudCB0aGF0IHRoaXMgaGFuZGxlciBoYXMgdG8gYmUgcmVnaXN0ZXJl
ZCAgdG8gdGhlIAppbnRlcnJ1cHQgc3lzdGVtPyBJdCBtYXkgbWFrZSBodGUgdXNhZ2Ugb2YgdGhp
cyBmdW5jdGlvbiBjbGVhcmVyLgoKPiArICogQHBhcmFtIG9iago+ICsgKglSZWZlcmVuY2UgdG8g
dGhlIHZpcnRxdWV1ZS4KPiArICoKPiArICogQHJldHVybiBpbnQKPiArICoJMCwgSW50ZXJydXB0
IHdhcyBub3QgZm9yIHRoaXMgdmlydHF1ZXVlLgo+ICsgKgkxLCBWaXJ0cXVldWUgaGFzIGhhbmRs
ZWQgdGhlIGludGVycnVwdC4KPiArICovCj4gK2ludCB2aXJ0cXVldWVfcmluZ19pbnRlcnJ1cHQo
dm9pZCAqb2JqKTsKPiArCj4gKy8qKgo+ICAgICogTmVnb3RpYXRlIHdpdGggdGhlIHZpcnRxdWV1
ZSBmZWF0dXJlcy4KPiAgICAqIEBwYXJhbSBmZWF0dXJlX3NldAo+ICAgICoJVGhlIGZlYXR1cmUg
c2V0IHRoZSBkZXZpY2UgcmVxdWVzdC4KPiBAQCAtOTMsNiArMTA0LDE3IEBAIF9fcGh5c19hZGRy
IHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gICBfX3U2NCB2aXJ0
cXVldWVfZmVhdHVyZV9uZWdvdGlhdGUoX191NjQgZmVhdHVyZV9zZXQpOwo+ICAgCj4gICAvKioK
PiArICogQ2hlY2sgaWYgaG9zdCBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4KPiArICoKPiArICog
QHBhcmFtIHZxCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcmV0dXJu
Cj4gKyAqCVJldHVybnMgMSwgaG9zdCBuZWVkcyBub3RpZmljYXRpb24gb24gbmV3IGRlc2NyaXB0
b3JzLgo+ICsgKgkJMCwgb3RoZXJ3aXNlLgo+ICsgKi8KPiAraW50IHZpcnRxdWV1ZV9ub3RpZnlf
ZW5hYmxlZChzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiAgICAqIEFsbG9jYXRl
IGEgdmlydHF1ZXVlLgo+ICAgICogQHBhcmFtIHF1ZXVlX2lkCj4gICAgKglUaGUgdmlydHF1ZXVl
IGh3IGlkLgo+IEBAIC0xMzgsNiArMTYwLDM2IEBAIGludCB2aXJ0cXVldWVfaXNfZnVsbChzdHJ1
Y3QgdmlydHF1ZXVlICp2cSk7Cj4gICAgKi8KPiAgIHZvaWQgdmlydHF1ZXVlX2Rlc3Ryb3koc3Ry
dWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gICAKPiArLyoqCj4gKyAq
IERpc2FibGUgaW50ZXJydXB0cyBvbiB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcGFyYW0gdnEKPiAr
ICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KPiArICovCj4gK3ZvaWQgdmlydHF1
ZXVlX2ludHJfZGlzYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiArICog
RW5hYmxlIGludGVycnVwdHMgb24gdGhlIHZpcnRxdWV1ZS4KPiArICogQHBhcmFtIHZxCj4gKyAq
ICAgICAgUmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUKPiArICogQHJldHVybgo+ICsgKgkwLCBP
biBzdWNjZXNzZnVsIGVuYWJsaW5nIG9mIGludGVycnVwdC4KPiArICoJMSwgTW9yZSBwYWNrZXQg
aW4gdGhlIHJpbmcgdG8gYmUgcHJvY2Vzc2VkLgo+ICsgKi8KPiAraW50IHZpcnRxdWV1ZV9pbnRy
X2VuYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiArICogTm90aWZ5IHRo
ZSBob3N0IG9mIGFuIGV2ZW50Lgo+ICsgKiBAcGFyYW0gdnEKPiArICogICAgICBSZWZlcmVuY2Ug
dG8gdGhlIHZpcnR1YWwgcXVldWUuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmlydHF1
ZXVlX2hvc3Rfbm90aWZ5KHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICt7Cj4gKwlVS19BU1NFUlQo
dnEpOwo+ICsKPiArCWlmICh2cS0+dnFfbm90aWZ5X2hvc3QgJiYgdmlydHF1ZXVlX25vdGlmeV9l
bmFibGVkKHZxKSkKPiArCQl2cS0+dnFfbm90aWZ5X2hvc3QodnEtPnZkZXYsIHZxLT5xdWV1ZV9p
ZCk7Cj4gK30KPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZiAvKiBf
X2NwbHVzcGx1cyAqLwo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19w
Y2kuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCj4gaW5kZXggZDA3YjAxMS4u
ODJmNDI0OSAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+
ICsrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCj4gQEAgLTk3LDYgKzk3LDgg
QEAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZwY2lfbGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2LAo+ICAgc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19kZXZpY2VfaWRf
YWRkKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+ICAgCQkJCQlfX3UxNiBwY2lfZGV2X2lkLAo+
ICAgCQkJCQlfX3UxNiB2cGNpX2Rldl9pZF9zdGFydCk7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX3Bj
aV9oYW5kbGUodm9pZCAqYXJnKTsKPiArc3RhdGljIGludCB2cGNpX2xlZ2FjeV9ub3RpZnkoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IHF1ZXVlX2lkKTsKPiAgIHN0YXRpYyBpbnQgdmly
dGlvX3BjaV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiwKPiAgIAkJ
CQkgICAgIHN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpOwo+ICAgCj4gQEAgLTExNSw2
ICsxMTcsNDMgQEAgc3RhdGljIHN0cnVjdCB2aXJ0aW9fY29uZmlnX29wcyB2cGNpX2xlZ2FjeV9v
cHMgPSB7Cj4gICAJLnZxX3NldHVwICAgICA9IHZwY2lfbGVnYWN5X3ZxX3NldHVwLAo+ICAgfTsK
PiAgIAo+ICtzdGF0aWMgaW50IHZwY2lfbGVnYWN5X25vdGlmeShzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldiwgX191MTYgcXVldWVfaWQpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBk
ZXY7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYo
dmRldik7Cj4gKwl2aXJ0aW9fY3dyaXRlMTYoKHZvaWQgKikodW5zaWduZWQgbG9uZykgdnBkZXYt
PnBjaV9iYXNlX2FkZHIsCj4gKwkJCVZJUlRJT19QQ0lfUVVFVUVfTk9USUZZLCBxdWV1ZV9pZCk7
Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX3BjaV9oYW5k
bGUodm9pZCAqYXJnKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKmQgPSAoc3RydWN0
IHZpcnRpb19wY2lfZGV2ICopIGFyZzsKPiArCXVpbnQ4X3QgaXNyX3N0YXR1czsKPiArCXN0cnVj
dCB2aXJ0cXVldWUgKnZxOwo+ICsJaW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQoYXJnKTsK
PiArCj4gKwkvKiBSZWFkaW5nIHRoZSBpc3Igc3RhdHVzIGlzIHVzZWQgdG8gYWNrbm93bGVkZ2Ug
dGhlIGludGVycnVwdCAqLwo+ICsJaXNyX3N0YXR1cyA9IHZpcnRpb19jcmVhZDgoKHZvaWQgKiko
dW5zaWduZWQgbG9uZylkLT5wY2lfaXNyX2FkZHIsIDApOwo+ICsJLyogV2UgZG9uJ3Qgc3VwcG9y
dCBjb25maWd1cmF0aW9uIGludGVycnVwdCBvbiB0aGUgZGV2aWNlICovCj4gKwlpZiAoaXNyX3N0
YXR1cyAmIFZJUlRJT19QQ0lfSVNSX0NPTkZJRykgewo+ICsJCXVrX3ByX3dhcm4oIlVuc3VwcG9y
dGVkIGNvbmZpZyBjaGFuZ2UgaW50ZXJydXB0IHJlY2VpdmVkIG9uIHZpcnRpby1wY2kgZGV2aWNl
ICVwXG4iLAo+ICsJCQkgICBkKTsKPiArCX0KPiArCj4gKwlpZiAoaXNyX3N0YXR1cyAmIFZJUlRJ
T19QQ0lfSVNSX0hBU19JTlRSKSB7Cj4gKwkJVUtfVEFJTFFfRk9SRUFDSCh2cSwgJmQtPnZkZXYu
dnFzLCBuZXh0KSB7Cj4gKwkJCXJjIHw9IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2cSk7Cj4g
KwkJfQo+ICsJfQo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHN0cnVjdCB2aXJ0
cXVldWUgKnZwY2lfbGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+ICAg
CQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCwKPiAgIAkJCQkJICAgICAgX191MTYgbnVtX2Rlc2Ms
Cj4gQEAgLTEzMCw3ICsxNjksNyBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdh
Y3lfdnFfc2V0dXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gICAKPiAgIAl2cGRldiA9IHRv
X3ZpcnRpb3BjaWRldih2ZGV2KTsKPiAgIAl2cSA9IHZpcnRxdWV1ZV9jcmVhdGUocXVldWVfaWQs
IG51bV9kZXNjLCBWSVJUSU9fUENJX1ZSSU5HX0FMSUdOLAo+IC0JCQkgICAgICBjYWxsYmFjaywg
TlVMTCwgdmRldiwgYSk7Cj4gKwkJCSAgICAgIGNhbGxiYWNrLCB2cGNpX2xlZ2FjeV9ub3RpZnks
IHZkZXYsIGEpOwo+ICAgCWlmIChQVFJJU0VSUih2cSkpIHsKPiAgIAkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gY3JlYXRlIHRoZSB2aXJ0cXVldWU6ICVkXG4iLAo+ICAgCQkJCVBUUjJFUlIodnEpKTsK
PiBAQCAtMTYzLDYgKzIwMiw5IEBAIHN0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQo
c3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cXMsCj4gICAJVUtfQVNTRVJUKHZk
ZXYpOwo+ICAgCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICAgCj4gKwkvKiBSZWdp
c3RlcmluZyB0aGUgaW50ZXJydXB0IGZvciB0aGUgcXVldWUgKi8KPiArCXVrcGxhdF9pcnFfcmVn
aXN0ZXIodnBkZXYtPnBkZXYtPmlycSwgdmlydGlvX3BjaV9oYW5kbGUsIHZwZGV2KTsKPiArCgpI
dW0sIHlvdSBwcm9iYWJseSBzaG91bGQgYWRkIGFuIGVycm9yIGNoZWNrLiB1a3BsYXRfaXJxX3Jl
Z2lzdGVyKCkgY2FuIGZhaWwuCgo+ICAgCWZvciAoaSA9IDA7IGkgPCBudW1fdnFzOyBpKyspIHsK
PiAgIAkJdmlydGlvX2N3cml0ZTE2KCh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lf
YmFzZV9hZGRyLAo+ICAgCQkJCVZJUlRJT19QQ0lfUVVFVUVfU0VMLCBpKTsKPiBkaWZmIC0tZ2l0
IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fcmluZy5jCj4gaW5kZXggYmE5MTU5NC4uNjAxMmJkMiAxMDA2NDQKPiAtLS0gYS9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19yaW5nLmMKPiBAQCAtNzQsOSArNzQsNzQgQEAgc3RydWN0IHZpcnRxdWV1ZV92
cmluZyB7Cj4gICAvKioKPiAgICAqIFN0YXRpYyBmdW5jdGlvbiBEZWNsYXJhdGlvbihzKS4KPiAg
ICAqLwo+ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1Y3QgdmlydHF1
ZXVlX3ZyaW5nICp2cnEpOwo+ICAgc3RhdGljIHZvaWQgdmlydHF1ZXVlX3ZyaW5nX2luaXQoc3Ry
dWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLCBfX3UxNiBucl9kZXNjLAo+ICAgCQkJCSBfX3UxNiBh
bGlnbik7Cj4gICAKPiArdm9pZCB2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7Cj4gKwo+ICsJVUtf
QVNTRVJUKHZxKTsKPiArCj4gKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+ICsJdnJx
LT52cmluZy5hdmFpbC0+ZmxhZ3MgfD0gKFZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUKTsKPiAr
fQo+ICsKPiAraW50IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkK
PiArewo+ICsJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+ICsJaW50IHJjID0gMDsKPiAr
Cj4gKwlVS19BU1NFUlQodnEpOwo+ICsKPiArCXZycSA9IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7
Cj4gKwkvKiBDaGVjayBpZiB0aGVyZSBhcmUgbm8gbW9yZSBwYWNrZXRzIGVuYWJsZWQgKi8KPiAr
CWlmICghdmlydHF1ZXVlX2hhc2RhdGEodnJxKSkgewo+ICsJCWlmICh2cnEtPnZyaW5nLmF2YWls
LT5mbGFncyB8IFZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUKSB7Cj4gKwkJCXZycS0+dnJpbmcu
YXZhaWwtPmZsYWdzICY9Cj4gKwkJCQkoflZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUKTsKPiAr
CQkJLyoqCj4gKwkJCSAqIFdlIGVuYWJsZWQgdGhlIGludGVycnVwdHMuIFdlIGVuc3VyZSBpdCB1
c2luZyB0aGUKPiArCQkJICogbWVtb3J5IGJhcnJpZXIgYW5kIGNoZWNrIGlmIHRoZXJlIGFyZSBh
bnkgZnVydGhlcgo+ICsJCQkgKiBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgcXVldWUuIFRoZSBjaGVj
ayBmb3IgZGF0YQo+ICsJCQkgKiBhZnRlciBlbmFibGluZyB0aGUgaW50ZXJydXB0IGlzIHRvIG1h
a2Ugc3VyZSB3ZSBkbwo+ICsJCQkgKiBub3QgbWlzcyBhbnkgaW50ZXJydXB0IHdoaWxlIHRyYW5z
aXRpb25pbmcgdG8gZW5hYmxlCj4gKwkJCSAqIGludGVycnVwdC4gVGhpcyBpcyBpbmxpbmUgd2l0
aCB0aGUgcmVxdWlyZW1lbnQgZnJvbQo+ICsJCQkgKiB2aXJ0aW8gc3BlY2lmaWNhdGlvbiBzZWN0
aW9uIDMuMi4yCj4gKwkJCSAqLwo+ICsJCQltYigpOwo+ICsJCQkvKiBDaGVjayBpZiB0aGVyZSBh
cmUgZnVydGhlciBkZXNjcmlwdG9ycyAqLwo+ICsJCQlpZiAodmlydHF1ZXVlX2hhc2RhdGEodnJx
KSkgewo+ICsJCQkJdmlydHF1ZXVlX2ludHJfZGlzYWJsZSh2cSk7Cj4gKwkJCQlyYyA9IDE7Cj4g
KwkJCX0KPiArCQl9Cj4gKwl9IGVsc2Ugewo+ICsJCS8qKgo+ICsJCSAqIFRoZXJlIGFyZSBtb3Jl
IHBhY2tldCBpbiB0aGUgdmlydHF1ZXVlIHRvIGJlIHByb2Nlc3NlZCB3aGlsZQo+ICsJCSAqIHRo
ZSBpbnRlcnJ1cHQgd2FzIGRpc2FibGVkLgo+ICsJCSAqLwo+ICsJCXJjID0gMTsKPiArCX0KPiAr
CXJldHVybiByYzsKPiArfQo+ICsKPiAraW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5hYmxlZChzdHJ1
Y3QgdmlydHF1ZXVlICp2cSkKPiArewo+ICsJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+
ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+
ICsKPiArCXJldHVybiAoKHZycS0+dnJpbmcudXNlZC0+ZmxhZ3MgJiBWUklOR19VU0VEX0ZfTk9f
Tk9USUZZKSA9PSAwKTsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQgdmlydHF1ZXVlX2hh
c2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKQo+ICt7Cj4gKwlyZXR1cm4gKHZycS0+
bGFzdF91c2VkX2Rlc2NfaWR4ICE9IHZycS0+dnJpbmcudXNlZC0+aWR4KTsKPiArfQo+ICsKPiAg
IC8qKgo+ICAgICogRHJpdmVyIGltcGxlbWVudGF0aW9uCj4gICAgKi8KPiBAQCAtOTIsNiArMTU3
LDIzIEBAIF9fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3Nl
dCkKPiAgIAlyZXR1cm4gZmVhdHVyZTsKPiAgIH0KPiAgIAo+ICtpbnQgdmlydHF1ZXVlX3Jpbmdf
aW50ZXJydXB0KHZvaWQgKm9iaikKPiArewo+ICsJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJx
ID0gTlVMTDsKPiArCXN0cnVjdCB2aXJ0cXVldWUgKnZxID0gKHN0cnVjdCB2aXJ0cXVldWUgKilv
Ymo7Cj4gKwlpbnQgcmMgPSAwOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwo+ICsJdnJxID0g
dG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCWlmICghdmlydHF1ZXVlX2hhc2RhdGEodnJxKSkK
PiArCQlyZXR1cm4gcmM7Cj4gKwo+ICsJaWYgKGxpa2VseSh2cS0+dnFfY2FsbGJhY2spKQo+ICsJ
CXJjID0gdnEtPnZxX2NhbGxiYWNrKHZxLCB2cS0+cHJpdik7Cj4gKwlyZXR1cm4gcmM7Cj4gK30K
PiArCj4gICBfX3BoeXNfYWRkciB2aXJ0cXVldWVfcGh5c2FkZHIoc3RydWN0IHZpcnRxdWV1ZSAq
dnEpCj4gICB7Cj4gICAJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxID0gTlVMTDsKPiAKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 12:26:42 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 12:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEvlg-0003f4-IG; Tue, 23 Oct 2018 12:26:40 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEvlf-0003ez-TF
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 12:26:39 +0000
X-Inumbo-ID: 7a677660-d6be-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 7a677660-d6be-11e8-a8a5-bc764e045a96;
 Tue, 23 Oct 2018 14:23:43 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 76EE4104A4D;
 Tue, 23 Oct 2018 14:26:36 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id utLWkPc-mtdR; Tue, 23 Oct 2018 14:26:36 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 51BBC104A1A
 for <minios-devel@lists.xen.org>; Tue, 23 Oct 2018 14:26:34 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 14:26:34 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-8-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023142633765
Message-ID: <37fc4586-4b5c-4f14-1e5c-753ff134659e@neclab.eu>
Date: Tue, 23 Oct 2018 14:26:33 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539954410-4800-8-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 7/7] plat/drivers: Add & Remove
 buffer from virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTAuMTggMTU6MDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHVzZXIgYnVm
ZmVyIGFyZSBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgaW50byB0aGUgdmlydGlvLXJpbmcuCj4gVGhl
IHVzZXIgZGF0YSBpcyBkZXNjcmliZWQgdG8gdGhlIHZpcnRpby1yaW5nIHVzaW5nIGEgc2NhdHRl
ci9nYXRoZXIKPiBsaXN0LiBUaGUgZW5xdWV1ZSBhbmQgZGVxdWV1ZSBpbiB0dXJuIHVzZXMgdGhl
IHJpbmcgZGVzY3JpcHRvciBmb3IKPiBlYWNoIHNlZ21lbnQgb2YgdGhlIHNjYXR0ZXIgZ2F0aGVy
IGxpc3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRo
YW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dHF1ZXVlLmggfCAgNDAgKysrKysrKysrCj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19y
aW5nLmMgICAgICAgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgIDIg
ZmlsZXMgY2hhbmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gCj4gZGlm
ZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCBiL3BsYXQv
ZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAo+IGluZGV4IDM2ZWQyMTguLjkzZTE3
MTQgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5o
Cj4gKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCj4gQEAgLTEx
NSw2ICsxMTUsNDYgQEAgX191NjQgdmlydHF1ZXVlX2ZlYXR1cmVfbmVnb3RpYXRlKF9fdTY0IGZl
YXR1cmVfc2V0KTsKPiAgIGludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQoc3RydWN0IHZpcnRx
dWV1ZSAqdnEpOwo+ICAgCj4gICAvKioKPiArICogUmVtb3ZlIHRoZSB1c2VyIGJ1ZmZlciBmcm9t
IHRoZSB2aXJ0cXVldWUuCj4gKyAqCj4gKyAqIEBwYXJhbSB2cQo+ICsgKglSZWZlcmVuY2UgdG8g
dGhlIHZpcnRxdWV1ZS4KPiArICogQHBhcmFtIGxlbgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIGxl
bmd0aCBvZiB0aGUgZGF0YSBwYWNrZXQuCj4gKyAqIEByZXR1cm4KPiArICoJT24gU3VjY2Vzcywg
cmV0dXJucyBhIHJlZmVyZW5jZSB0byBjb29raWUgdGhhdCB3YXMgc3VibWl0dGVkIHdpdGgKPiAr
ICoJZGVzY3JpcHRvci4KPiArICoJT24gZmFpbHVyZSwgcmV0dXJucyBOVUxMIHdpdGggdGhlIGxl
bmd0aCB1bm1vZGlmaWVkLgo+ICsgKi8KPiArdm9pZCAqdmlydHF1ZXVlX2J1ZmZlcl9kZXF1ZXVl
KHN0cnVjdCB2aXJ0cXVldWUgKnZxLCBfX3UzMiAqbGVuKTsKPiArCj4gKy8qKgo+ICsgKiBDcmVh
dGUgYSBkZXNjcmlwdG9yIGNoYWluIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQsCj4gKyAqIHVzaW5n
IHZxLT5idWZzIGFsc28gc3RhcnRpbmcgYXQgaW5kZXggaGVhZC4KPiArICogQHBhcmFtIHZxCj4g
KyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydHVhbCBxdWV1ZQo+ICsgKiBAcGFyYW0gY29va2llCj4g
KyAqCVJlZmVyZW5jZSB0byB0aGUgY29va2llIHRvIHJlY29uc3RydWN0IHRoZSBidWZmZXIuCj4g
KyAqIEBwYXJhbSBzZwo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHNjYXR0ZXIgZ2F0aGVyIGxpc3QK
PiArICogQHBhcmFtIHJlYWRfYnVmcwo+ICsgKglUaGUgbnVtYmVyIG9mIHJlYWQgYnVmZmVyLgo+
ICsgKiBAcGFyYW0gd3JpdGVfYnVmcwo+ICsgKglUaGUgbnVtYmVyIG9mIHdyaXRlIGJ1ZmZlci4K
PiArICoKPiArICogQHJldHVybgo+ICsgKgk+IDAgVGhlIGJ1ZmZlcnMgd2VyZSBlbnF1ZXVlZCBp
bnRvIHRoZSByaW5nIGFuZCB0aGUgY291bnQgaW5kaWNhdGVzCj4gKyAqCXRoZSBudW1iZXIgb2Yg
YXZhaWxhYmxlIHNsb3RzIGluIHRoZSByaW5nLgo+ICsgKgkwICBUaGUgYnVmZmVycyB3ZXJlIGVu
cXVldWVkIGFuZCB0aGVyZSBhcmUgbm8gZnVydGhlciBkZXNjcmlwdG9ycwo+ICsgKglhdmFpbGFi
bGUuCj4gKyAqCTwgMCBGYWlsZWQgdG8gZW5xdWV1ZSB0aGUgYnVmZmVycy4KPiArICoKPiArICov
Cj4gK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZv
aWQgKmNvb2tpZSwKPiArCQkJICAgICBzdHJ1Y3QgdWtfc2dsaXN0ICpzZywgX191MTYgcmVhZF9i
dWZzLAo+ICsJCQkgICAgIF9fdTE2IHdyaXRlX2J1ZnMpOwo+ICsKPiArLyoqCj4gICAgKiBBbGxv
Y2F0ZSBhIHZpcnRxdWV1ZS4KPiAgICAqIEBwYXJhbSBxdWV1ZV9pZAo+ICAgICoJVGhlIHZpcnRx
dWV1ZSBodyBpZC4KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmlu
Zy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4gaW5kZXggNjAxMmJkMi4u
MWUzYzgyNyAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMK
PiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKPiBAQCAtNzQsMTAgKzc0
LDIzIEBAIHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgewo+ICAgLyoqCj4gICAgKiBTdGF0aWMgZnVu
Y3Rpb24gRGVjbGFyYXRpb24ocykuCj4gICAgKi8KPiArc3RhdGljIGlubGluZSB2b2lkIHZpcnRx
dWV1ZV9yaW5nX3VwZGF0ZV9hdmFpbChzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEsCj4gKwkJ
CQkJICAgICAgIF9fdTE2IGlkeCk7Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfZGV0
YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJCQkJCSBfX3UxNiBoZWFk
X2lkeCk7Cj4gICBzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1Y3Qgdmly
dHF1ZXVlX3ZyaW5nICp2cnEpOwo+ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfYnVmZmVy
X2VucXVldWVfc2VnbWVudHMoCj4gKwkJCQkJCSAgICBzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2
cnEsCj4gKwkJCQkJCSAgICBfX3UxNiBoZWFkLAo+ICsJCQkJCQkgICAgc3RydWN0IHVrX3NnbGlz
dCAqc2csCj4gKwkJCQkJCSAgICBfX3UxNiByZWFkX2J1ZnMsCj4gKwkJCQkJCSAgICBfX3UxNiB3
cml0ZV9idWZzKTsKPiAgIHN0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0KHN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJfZGVzYywKPiAgIAkJCQkgX191MTYgYWxpZ24p
Owo+ICAgCj4gKy8qKgo+ICsgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24KPiArICovCj4gICB2b2lk
IHZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gICB7Cj4gICAJ
c3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+IEBAIC0xMjcsNiArMTQwLDQ2IEBAIGludCB2
aXJ0cXVldWVfaW50cl9lbmFibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gICAJcmV0dXJuIHJj
Owo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfcmluZ191cGRhdGVf
YXZhaWwoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJCQkJCV9fdTE2IGlkeCkKPiAr
ewo+ICsJX191MTYgYXZhaWxfaWR4Owo+ICsKPiArCWF2YWlsX2lkeCA9IHZycS0+dnJpbmcuYXZh
aWwtPmlkeCAmICh2cnEtPnZyaW5nLm51bSAtIDEpOwo+ICsJLyogQWRkaW5nIHRoZSBpZHggdG8g
YXZhaWxhYmxlIHJpbmcgKi8KPiArCXZycS0+dnJpbmcuYXZhaWwtPnJpbmdbYXZhaWxfaWR4XSA9
IGlkeDsKPiArCS8qKgo+ICsJICogV3JpdGUgYmFycmllciB0byBtYWtlIHN1cmUgd2UgcHVzaCB0
aGUgZGVzY3JpcHRvciBvbiB0aGUgYXZhaWxhYmxlCj4gKwkgKiBkZXNjcmlwdG9yIGFuZCB0aGVu
IGluY3JlbWVudCBhdmFpbGFibGUgaW5kZXguCj4gKwkgKi8KPiArCXdtYigpOwo+ICsJdnJxLT52
cmluZy5hdmFpbC0+aWR4Kys7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVl
dWVfZGV0YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJCQkJCV9fdTE2
IGhlYWRfaWR4KQo+ICt7Cj4gKwlzdHJ1Y3QgdnJpbmdfZGVzYyAqZGVzYzsKPiArCXN0cnVjdCB2
aXJ0cXVldWVfZGVzY19pbmZvICp2cV9pbmZvOwo+ICsKPiArCWRlc2MgPSAmdnJxLT52cmluZy5k
ZXNjW2hlYWRfaWR4XTsKPiArCXZxX2luZm8gPSAmdnJxLT52cV9pbmZvW2hlYWRfaWR4XTsKPiAr
CXZycS0+ZGVzY19hdmFpbCArPSB2cV9pbmZvLT5kZXNjX2NvdW50Owo+ICsJdnFfaW5mby0+ZGVz
Y19jb3VudC0tOwo+ICsKPiArCXdoaWxlIChkZXNjLT5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhU
KSB7Cj4gKwkJZGVzYyA9ICZ2cnEtPnZyaW5nLmRlc2NbZGVzYy0+bmV4dF07Cj4gKwkJdnFfaW5m
by0+ZGVzY19jb3VudC0tOwo+ICsJfQo+ICsKPiArCS8qIFRoZSB2YWx1ZSBzaG91bGQgYmUgZW1w
dHkgKi8KPiArCVVLX0FTU0VSVCh2cV9pbmZvLT5kZXNjX2NvdW50ID09IDApOwo+ICsKPiArCS8q
IEFwcGVuZGluZyB0aGUgZGVzY3JpcHRvciB0byB0aGUgaGVhZCBvZiBsaXN0ICovCj4gKwlkZXNj
LT5uZXh0ID0gdnJxLT5oZWFkX2ZyZWVfZGVzYzsKPiArCXZycS0+aGVhZF9mcmVlX2Rlc2MgPSBo
ZWFkX2lkeDsKPiArfQo+ICsKPiAgIGludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQoc3RydWN0
IHZpcnRxdWV1ZSAqdnEpCj4gICB7Cj4gICAJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+
IEBAIC0xMzcsMTQgKzE5MCwzNyBAQCBpbnQgdmlydHF1ZXVlX25vdGlmeV9lbmFibGVkKHN0cnVj
dCB2aXJ0cXVldWUgKnZxKQo+ICAgCXJldHVybiAoKHZycS0+dnJpbmcudXNlZC0+ZmxhZ3MgJiBW
UklOR19VU0VEX0ZfTk9fTk9USUZZKSA9PSAwKTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW5saW5l
IGludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWVfc2VnbWVudHMoCj4gKwkJc3RydWN0IHZpcnRx
dWV1ZV92cmluZyAqdnJxLAo+ICsJCV9fdTE2IGhlYWQsIHN0cnVjdCB1a19zZ2xpc3QgKnNnLCBf
X3UxNiByZWFkX2J1ZnMsCj4gKwkJX191MTYgd3JpdGVfYnVmcykKPiArewo+ICsJaW50IGkgPSAw
LCB0b3RhbF9kZXNjID0gMDsKPiArCXN0cnVjdCB1a19zZ2xpc3Rfc2VnICpzZWdzOwo+ICsJX191
MTYgaWR4ID0gMDsKPiArCj4gKwl0b3RhbF9kZXNjID0gcmVhZF9idWZzICsgd3JpdGVfYnVmczsK
PiArCj4gKwlmb3IgKGkgPSAwLCBpZHggPSBoZWFkOyBpIDwgdG90YWxfZGVzYzsgaSsrKSB7Cj4g
KwkJc2VncyA9ICZzZy0+c2dfc2Vnc1tpXTsKPiArCQl2cnEtPnZyaW5nLmRlc2NbaWR4XS5hZGRy
ID0gc2Vncy0+c3NfcGFkZHI7Cj4gKwkJdnJxLT52cmluZy5kZXNjW2lkeF0ubGVuID0gc2Vncy0+
c3NfbGVuOwo+ICsJCXZycS0+dnJpbmcuZGVzY1tpZHhdLmZsYWdzID0gMDsKPiArCQlpZiAoaSA+
PSByZWFkX2J1ZnMpCj4gKwkJCXZycS0+dnJpbmcuZGVzY1tpZHhdLmZsYWdzIHw9IFZSSU5HX0RF
U0NfRl9XUklURTsKPiArCj4gKwkJaWYgKGkgPCB0b3RhbF9kZXNjIC0gMSkKPiArCQkJdnJxLT52
cmluZy5kZXNjW2lkeF0uZmxhZ3MgfD0gVlJJTkdfREVTQ19GX05FWFQ7Cj4gKwkJaWR4ID0gdnJx
LT52cmluZy5kZXNjW2lkeF0ubmV4dDsKPiArCX0KPiArCXJldHVybiBpZHg7Cj4gK30KPiArCj4g
ICBzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1Y3QgdmlydHF1ZXVlX3Zy
aW5nICp2cnEpCj4gICB7Cj4gICAJcmV0dXJuICh2cnEtPmxhc3RfdXNlZF9kZXNjX2lkeCAhPSB2
cnEtPnZyaW5nLnVzZWQtPmlkeCk7Cj4gICB9Cj4gICAKPiAtLyoqCj4gLSAqIERyaXZlciBpbXBs
ZW1lbnRhdGlvbgo+IC0gKi8KPiAgIF9fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShf
X3U2NCBmZWF0dXJlX3NldCkKPiAgIHsKPiAgIAlfX3U2NCBmZWF0dXJlID0gKDFVTEwgPDwgVklS
VElPX1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7Cj4gQEAgLTE4NCw2ICsyNjAsNzYgQEAgX19waHlz
X2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICAgCXJldHVy
biB1a3BsYXRfdmlydF90b19waHlzKHZycS0+dnJpbmdfbWVtKTsKPiAgIH0KPiAgIAo+ICt2b2lk
ICp2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIF9fdTMyICps
ZW4pCj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSA9IE5VTEw7Cj4gKwlfX3Ux
NiB1c2VkX2lkeCwgaGVhZF9pZHg7Cj4gKwlzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtICplbGVtOwo+
ICsJdm9pZCAqY29va2llOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwl2cnEgPSB0b192aXJ0
cXVldWVfdnJpbmcodnEpOwo+ICsKPiArCS8qIE5vIG5ldyBkZXNjcmlwdG9yIHNpbmNlIGxhc3Qg
ZGVxdWV1ZSBvcGVyYXRpb24gKi8KPiArCWlmICghdmlydHF1ZXVlX2hhc2RhdGEodnJxKSkKPiAr
CQlyZXR1cm4gTlVMTDsKPiArCXVzZWRfaWR4ID0gdnJxLT5sYXN0X3VzZWRfZGVzY19pZHgrKyAm
ICh2cnEtPnZyaW5nLm51bSAtIDEpOwo+ICsJZWxlbSA9ICZ2cnEtPnZyaW5nLnVzZWQtPnJpbmdb
dXNlZF9pZHhdOwo+ICsJLyoqCj4gKwkgKiBXZSBhcmUgcmVhZGluZyBmcm9tIHRoZSB1c2VkIGRl
c2NyaXB0b3IgaW5mb3JtYXRpb24gdXBkYXRlZCBieSB0aGUKPiArCSAqIGhvc3QuCj4gKwkgKi8K
PiArCXJtYigpOwo+ICsJaGVhZF9pZHggPSBlbGVtLT5pZDsKPiArCWlmIChsZW4pCj4gKwkJKmxl
biA9IGVsZW0tPmxlbjsKPiArCWNvb2tpZSA9IHZycS0+dnFfaW5mb1toZWFkX2lkeF0uY29va2ll
Owo+ICsJdmlydHF1ZXVlX2RldGFjaF9kZXNjKHZycSwgaGVhZF9pZHgpOwo+ICsJdnJxLT52cV9p
bmZvW2hlYWRfaWR4XS5jb29raWUgPSBOVUxMOwo+ICsJcmV0dXJuIGNvb2tpZTsKPiArfQo+ICsK
PiAraW50IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdm9p
ZCAqY29va2llLAo+ICsJCQkgICAgIHN0cnVjdCB1a19zZ2xpc3QgKnNnLCBfX3UxNiByZWFkX2J1
ZnMsCj4gKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcykKPiArewo+ICsJX191MzIgdG90YWxfZGVz
YyA9IDA7Cj4gKwlfX3UxNiBoZWFkX2lkeCA9IDAsIGlkeCA9IDA7Cj4gKwlzdHJ1Y3QgdmlydHF1
ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwo+ICsJdnJx
ID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCXRvdGFsX2Rlc2MgPSByZWFkX2J1ZnMgKyB3
cml0ZV9idWZzOwo+ICsJaWYgKHVubGlrZWx5KHRvdGFsX2Rlc2MgPCAxIHx8IHRvdGFsX2Rlc2Mg
PiB2cnEtPnZyaW5nLm51bSkpIHsKPiArCQl1a19wcl9lcnIoIiVkIGludmFsaWQgbnVtYmVyIG9m
IGRlc2NyaXB0b3JcbiIsCgpVc2UgIiUiUFJJdTMyCgo+ICsJCQkgIHRvdGFsX2Rlc2MpOwo+ICsJ
CXJldHVybiAtRUlOVkFMOwo+ICsJfSBlbHNlIGlmICh2cnEtPmRlc2NfYXZhaWwgPCB0b3RhbF9k
ZXNjKSB7Cj4gKwkJdWtfcHJfZXJyKCJBdmFpbGFibGUgZGVzY3JpcHRvcjolZCwgUmVxdWVzdGVk
IGRlc2NyaXB0b3I6JWRcbiIsCj4gKwkJCSAgdnJxLT5kZXNjX2F2YWlsLCB0b3RhbF9kZXNjKTsK
ClVzZSB1a19wcl9lcnIoIkF2YWlsYWJsZSBkZXNjcmlwdG9yczogJSJQUkl1MTYiLCByZXF1ZXN0
ZWQgZGVzY3JpcHRvcnM6IAolIlBSSXUzMiJcbiIsCgo+ICsJCXJldHVybiAtRU5PU1BDOwo+ICsJ
fQo+ICsJLyogR2V0IHRoZSBoZWFkIG9mIGZyZWUgZGVzY3JpcHRvciAqLwo+ICsJaGVhZF9pZHgg
PSB2cnEtPmhlYWRfZnJlZV9kZXNjOwo+ICsJVUtfQVNTRVJUKGNvb2tpZSk7Cj4gKwkvKiBBZGRp
dGlvbmFsIGluZm9ybWF0aW9uIHRvIHJlY29uc3RydWN0IHRoZSBkYXRhIGJ1ZmZlciAqLwo+ICsJ
dnJxLT52cV9pbmZvW2hlYWRfaWR4XS5jb29raWUgPSBjb29raWU7Cj4gKwl2cnEtPnZxX2luZm9b
aGVhZF9pZHhdLmRlc2NfY291bnQgPSB0b3RhbF9kZXNjOwo+ICsKPiArCS8qKgo+ICsJICogV2Ug
c2VwYXJhdGUgdGhlIGRlc2NyaXB0b3IgbWFuYWdlbWVudCB0byBlbnF1ZXVlIHNlZ21lbnQocyku
Cj4gKwkgKi8KPiArCWlkeCA9IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cyh2cnEs
IGhlYWRfaWR4LCBzZywKPiArCQkJcmVhZF9idWZzLCB3cml0ZV9idWZzKTsKPiArCS8qIE1ldGFk
YXRhIG1haW50ZW5hbmNlIGZvciB0aGUgdmlydHF1ZXVlICovCj4gKwl2cnEtPmhlYWRfZnJlZV9k
ZXNjID0gaWR4Owo+ICsJdnJxLT5kZXNjX2F2YWlsIC09IHRvdGFsX2Rlc2M7Cj4gKwo+ICsJdmly
dHF1ZXVlX3JpbmdfdXBkYXRlX2F2YWlsKHZycSwgaGVhZF9pZHgpOwo+ICsJcmV0dXJuIHZycS0+
ZGVzY19hdmFpbDsKPiArfQo+ICsKPiAgIHN0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0
KHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJfZGVzYywKPiAgIAkJCQkgX191
MTYgYWxpZ24pCj4gICB7Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 12:28:46 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 12:28:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEvnh-0003hB-Or; Tue, 23 Oct 2018 12:28:45 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEvng-0003h6-Tx
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 12:28:44 +0000
X-Inumbo-ID: c4dac6b0-d6be-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id c4dac6b0-d6be-11e8-a8a5-bc764e045a96;
 Tue, 23 Oct 2018 14:25:47 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 7D029104A4D;
 Tue, 23 Oct 2018 14:28:41 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id e_GvHxEqFcsd; Tue, 23 Oct 2018 14:28:41 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 5521A104A1A;
 Tue, 23 Oct 2018 14:28:37 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 14:28:37 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-2-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023142836777
Message-ID: <d995ce2f-3fdd-c959-8cc6-d893ab08849d@neclab.eu>
Date: Tue, 23 Oct 2018 14:28:36 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-2-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 1/7] plat/drivers: Introduce
 the virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6MzksIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBpbnRy
b2R1Y2VzIHRoZSB2aXJ0aW8gbmV0IGRyaXZlciBpbml0aWFsaXphdGlvbiwgdGhlIEFQSQo+IGZ1
bmN0aW9ucyBjYWxsYmFjayB0byBpbnRlcmFjdCB3aXRoIHRoZSBsaWJ1a25ldC4KPiAKPiBTaWdu
ZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4K
PiBTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWls
LmNvbT4KPiAtLS0KPiAgIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0Lmgg
fCAyNTggKysrKysrKysrKysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
bmV0LmMgICAgICAgICB8IDQxNyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBw
bGF0L2t2bS9Db25maWcudWsgICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICsKPiAgIHBsYXQv
a3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwo+ICAgNCBmaWxlcyBj
aGFuZ2VkLCA2ODUgaW5zZXJ0aW9ucygrKQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJp
dmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0LmgKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBw
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2Ry
aXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX25ldC5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUv
dmlydGlvL3ZpcnRpb19uZXQuaAo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uZjMzZmNlNAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92
aXJ0aW8vdmlydGlvX25ldC5oCj4gQEAgLTAsMCArMSwyNTggQEAKPiArLyogU1BEWC1MaWNlbnNl
LUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKiBUaGlzIGhlYWRlciBpcyBCU0QgbGlj
ZW5zZWQgc28gYW55b25lIGNhbiB1c2UgdGhlIGRlZmluaXRpb25zIHRvIGltcGxlbWVudAo+ICsg
KiBjb21wYXRpYmxlIGRyaXZlcnMvc2VydmVycy4KPiArICoKPiArICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwo+ICsgKiBhcmUgbWV0Ogo+ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4g
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
PiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29u
dHJpYnV0b3JzCj4gKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9k
dWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQo+ICsgKiAgICB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
Cj4gKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQo+ICsgKiBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
Cj4gKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCj4gKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCj4gKyAqIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKQo+ICsgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAo+ICsgKiBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCj4g
KyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YKPiArICogU1VDSCBEQU1BR0UuICovCj4gKy8qKgo+ICsgKiBUYWtl
biBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eCBrZXJuZWwKPiArICogaW5jbHVkZS91YXBpL2xpbnV4
L3ZpcnRpb19uZXQuaAo+ICsgKgo+ICsgKiBjb21taXQtaWQ6IGZhYTliMzlmMGU5ZAo+ICsgKi8K
PiArI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19ORVRfSAo+ICsjZGVmaW5lIF9fUExBVF9EUlZf
VklSVElPX05FVF9ICj4gKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KPiArI2luY2x1ZGUgPHVrL2Fy
Y2gvdHlwZXMuaD4KPiArCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVYKPiArI2luY2x1ZGUg
PHVrL25ldGRldl9jb3JlLmg+Cj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVRERVYgKi8KPiAr
Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2lkcy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3Zp
cnRpb19jb25maWcuaD4KPiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fdHlwZXMuaD4KPiArCj4g
Ky8qIFRoZSBmZWF0dXJlIGJpdG1hcCBmb3IgdmlydGlvIG5ldCAqLwo+ICsjZGVmaW5lIFZJUlRJ
T19ORVRfRl9DU1VNCTAJLyogSG9zdCBoYW5kbGVzIHBrdHMgdy8gcGFydGlhbCBjc3VtICovCj4g
KyNkZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX0NTVU0JMQkvKiBHdWVzdCBoYW5kbGVzIHBrdHMg
dy8gcGFydGlhbCBjc3VtICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0NUUkxfR1VFU1RfT0ZG
TE9BRFMgMiAvKiBEeW5hbWljIG9mZmxvYWQgY29uZmlndXJhdGlvbi4gKi8KPiArI2RlZmluZSBW
SVJUSU9fTkVUX0ZfTVRVCTMJLyogSW5pdGlhbCBNVFUgYWR2aWNlICovCj4gKyNkZWZpbmUgVklS
VElPX05FVF9GX01BQwk1CS8qIEhvc3QgaGFzIGdpdmVuIE1BQyBhZGRyZXNzLiAqLwo+ICsjZGVm
aW5lIFZJUlRJT19ORVRfRl9HVUVTVF9UU080CTcJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU092NCBp
bi4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VFU1RfVFNPNgk4CS8qIEd1ZXN0IGNhbiBo
YW5kbGUgVFNPdjYgaW4uICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX0VDTgk5CS8q
IEd1ZXN0IGNhbiBoYW5kbGUgVFNPWzZdIHcvIEVDTiBpbi4gKi8KPiArI2RlZmluZSBWSVJUSU9f
TkVUX0ZfR1VFU1RfVUZPCTEwCS8qIEd1ZXN0IGNhbiBoYW5kbGUgVUZPIGluLiAqLwo+ICsjZGVm
aW5lIFZJUlRJT19ORVRfRl9IT1NUX1RTTzQJMTEJLyogSG9zdCBjYW4gaGFuZGxlIFRTT3Y0IGlu
LiAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRl9IT1NUX1RTTzYJMTIJLyogSG9zdCBjYW4gaGFu
ZGxlIFRTT3Y2IGluLiAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRl9IT1NUX0VDTgkxMwkvKiBI
b3N0IGNhbiBoYW5kbGUgVFNPWzZdIHcvIEVDTiBpbi4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVU
X0ZfSE9TVF9VRk8JMTQJLyogSG9zdCBjYW4gaGFuZGxlIFVGTyBpbi4gKi8KPiArI2RlZmluZSBW
SVJUSU9fTkVUX0ZfTVJHX1JYQlVGCTE1CS8qIEhvc3QgY2FuIG1lcmdlIHJlY2VpdmUgYnVmZmVy
cy4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfU1RBVFVTCTE2CS8qIHZpcnRpb19uZXRfY29u
ZmlnLnN0YXR1cyBhdmFpbGFibGUgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9WUQkx
NwkvKiBDb250cm9sIGNoYW5uZWwgYXZhaWxhYmxlICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9G
X0NUUkxfUlgJMTgJLyogQ29udHJvbCBjaGFubmVsIFJYIG1vZGUgc3VwcG9ydCAqLwo+ICsjZGVm
aW5lIFZJUlRJT19ORVRfRl9DVFJMX1ZMQU4JMTkJLyogQ29udHJvbCBjaGFubmVsIFZMQU4gZmls
dGVyaW5nICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0NUUkxfUlhfRVhUUkEgMjAJLyogRXh0
cmEgUlggbW9kZSBjb250cm9sIHN1cHBvcnQgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VF
U1RfQU5OT1VOQ0UgMjEJLyogR3Vlc3QgY2FuIGFubm91bmNlIGRldmljZSBvbiB0aGUKPiArCQkJ
CQkgKiBuZXR3b3JrCj4gKwkJCQkJICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX01RCTIyCQkv
KiBEZXZpY2Ugc3VwcG9ydHMgUmVjZWl2ZSBGbG93Cj4gKwkJCQkJICogU3RlZXJpbmcKPiArCQkJ
CQkgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9NQUNfQUREUiAyMwkvKiBTZXQgTUFD
IGFkZHJlc3MgKi8KPiArCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX1NQRUVEX0RVUExFWCA2Mwkv
KiBEZXZpY2Ugc2V0IGxpbmtzcGVlZCBhbmQgZHVwbGV4ICovCj4gKwo+ICsjaWZuZGVmIFZJUlRJ
T19ORVRfTk9fTEVHQUNZCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0dTTwk2CS8qIEhvc3QgaGFu
ZGxlcyBwa3RzIHcvIGFueSBHU08gdHlwZSAqLwo+ICsjZW5kaWYgLyogVklSVElPX05FVF9OT19M
RUdBQ1kgKi8KPiArCj4gKyNkZWZpbmUgVklSVElPX05FVF9TX0xJTktfVVAJMQkvKiBMaW5rIGlz
IHVwICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9TX0FOTk9VTkNFCTIJLyogQW5ub3VuY2VtZW50
IGlzIG5lZWRlZCAqLwo+ICsKPiArc3RydWN0IHZpcnRpb19uZXRfY29uZmlnIHsKPiArCS8qIFRo
ZSBjb25maWcgZGVmaW5pbmcgbWFjIGFkZHJlc3MgKGlmIFZJUlRJT19ORVRfRl9NQUMpICovCj4g
KwlfX3U4IG1hY1tVS19ORVRERVZfSFdBRERSX0xFTl07Cj4gKwkvKiBTZWUgVklSVElPX05FVF9G
X1NUQVRVUyBhbmQgVklSVElPX05FVF9TXyogYWJvdmUgKi8KPiArCV9fdTE2IHN0YXR1czsKPiAr
CS8qIE1heGltdW0gbnVtYmVyIG9mIGVhY2ggb2YgdHJhbnNtaXQgYW5kIHJlY2VpdmUgcXVldWVz
Owo+ICsJICogc2VlIFZJUlRJT19ORVRfRl9NUSBhbmQgVklSVElPX05FVF9DVFJMX01RLgo+ICsJ
ICogTGVnYWwgdmFsdWVzIGFyZSBiZXR3ZWVuIDEgYW5kIDB4ODAwMAo+ICsJICovCj4gKwlfX3Ux
NiBtYXhfdmlydHF1ZXVlX3BhaXJzOwo+ICsJLyogRGVmYXVsdCBtYXhpbXVtIHRyYW5zbWl0IHVu
aXQgYWR2aWNlICovCj4gKwlfX3UxNiBtdHU7Cj4gKwkvKgo+ICsJICogc3BlZWQsIGluIHVuaXRz
IG9mIDFNYi4gQWxsIHZhbHVlcyAwIHRvIElOVF9NQVggYXJlIGxlZ2FsLgo+ICsJICogQW55IG90
aGVyIHZhbHVlIHN0YW5kcyBmb3IgdW5rbm93bi4KPiArCSAqLwo+ICsJX191MzIgc3BlZWQ7Cj4g
KwkvKgo+ICsJICogMHgwMCAtIGhhbGYgZHVwbGV4Cj4gKwkgKiAweDAxIC0gZnVsbCBkdXBsZXgK
PiArCSAqIEFueSBvdGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uCj4gKwkgKi8KPiArCV9f
dTggZHVwbGV4Owo+ICt9IF9fcGFja2VkOwo+ICsKPiArLyogVGhpcyBoZWFkZXIgY29tZXMgZmly
c3QgaW4gdGhlIHNjYXR0ZXItZ2F0aGVyIGxpc3QuCj4gKyAqIEZvciBsZWdhY3kgdmlydGlvLCBp
ZiBWSVJUSU9fRl9BTllfTEFZT1VUIGlzIG5vdCBuZWdvdGlhdGVkLCBpdCBtdXN0Cj4gKyAqIGJl
IHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBzY2F0dGVyLWdhdGhlciBsaXN0LiAgSWYgeW91IGRv
bid0Cj4gKyAqIHNwZWNpZnkgR1NPIG9yIENTVU0gZmVhdHVyZXMsIHlvdSBjYW4gc2ltcGx5IGln
bm9yZSB0aGUgaGVhZGVyLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19uZXRfaGRyIHsKPiArI2Rl
ZmluZSBWSVJUSU9fTkVUX0hEUl9GX05FRURTX0NTVU0gMSAgIC8qIFVzZSBjc3VtX3N0YXJ0LCBj
c3VtX29mZnNldCAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfSERSX0ZfREFUQV9WQUxJRCAyICAg
LyogQ3N1bSBpcyB2YWxpZCAqLwo+ICsJLyogU2VlIFZJUlRJT19ORVRfSERSX0ZfKiAqLwo+ICsJ
X191OCBmbGFnczsKPiArI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fTk9ORSAgICAgMCAgIC8q
IE5vdCBhIEdTTyBmcmFtZSAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNCAg
ICAxICAgLyogR1NPIGZyYW1lLCBJUHY0IFRDUCAoVFNPKSAqLwo+ICsjZGVmaW5lIFZJUlRJT19O
RVRfSERSX0dTT19VRFAgICAgICAzICAgLyogR1NPIGZyYW1lLCBJUHY0IFVEUCAoVUZPKSAqLwo+
ICsjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNiAgICA0ICAgLyogR1NPIGZyYW1lLCBJ
UHY2IFRDUCAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19FQ04gICAgICAweDgwICAg
IC8qIFRDUCBoYXMgRUNOIHNldCAqLwo+ICsJLyogU2VlIFZJUlRJT19ORVRfSERSX0dTT18qICov
Cj4gKwlfX3U4IGdzb190eXBlOwo+ICsJX192aXJ0aW9fbGUxNiBoZHJfbGVuOwkvKiBFdGhlcm5l
dCArIElQICsgdGNwL3VkcCBoZHJzICovCj4gKwlfX3ZpcnRpb19sZTE2IGdzb19zaXplOwkvKiBC
eXRlcyB0byBhcHBlbmQgdG8gaGRyX2xlbiBwZXIgZnJhbWUgKi8KPiArCV9fdmlydGlvX2xlMTYg
Y3N1bV9zdGFydDsgLyogUG9zaXRpb24gdG8gc3RhcnQgY2hlY2tzdW1taW5nIGZyb20gKi8KPiAr
CV9fdmlydGlvX2xlMTYgY3N1bV9vZmZzZXQ7IC8qIE9mZnNldCBhZnRlciB0aGF0IHRvIHBsYWNl
IGNoZWNrc3VtICovCj4gK307Cj4gKwo+ICsvKiBUaGlzIGlzIHRoZSB2ZXJzaW9uIG9mIHRoZSBo
ZWFkZXIgdG8gdXNlIHdoZW4gdGhlIE1SR19SWEJVRgo+ICsgKiBmZWF0dXJlIGhhcyBiZWVuIG5l
Z290aWF0ZWQuCj4gKyAqLwo+ICtzdHJ1Y3QgdmlydGlvX25ldF9oZHJfbXJnX3J4YnVmIHsKPiAr
CXN0cnVjdCB2aXJ0aW9fbmV0X2hkciBoZHI7Cj4gKwlfX3ZpcnRpb19sZTE2IG51bV9idWZmZXJz
OwkvKiBOdW1iZXIgb2YgbWVyZ2VkIHJ4IGJ1ZmZlcnMgKi8KPiArfTsKPiArCj4gKy8qCj4gKyAq
IENvbnRyb2wgdmlydHF1ZXVlIGRhdGEgc3RydWN0dXJlcwo+ICsgKgo+ICsgKiBUaGUgY29udHJv
bCB2aXJ0cXVldWUgZXhwZWN0cyBhIGhlYWRlciBpbiB0aGUgZmlyc3Qgc2cgZW50cnkKPiArICog
YW5kIGFuIGFjay9zdGF0dXMgcmVzcG9uc2UgaW4gdGhlIGxhc3QgZW50cnkuICBEYXRhIGZvciB0
aGUKPiArICogY29tbWFuZCBnb2VzIGluIGJldHdlZW4uCj4gKyAqLwo+ICtzdHJ1Y3QgdmlydGlv
X25ldF9jdHJsX2hkciB7Cj4gKwlfX3U4IGNsYXNzOwo+ICsJX191OCBjbWQ7Cj4gK30gX19wYWNr
ZWQ7Cj4gKwo+ICt0eXBlZGVmIF9fdTggdmlydGlvX25ldF9jdHJsX2FjazsKPiArCj4gKyNkZWZp
bmUgVklSVElPX05FVF9PSyAgICAgMAo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRVJSICAgIDEKPiAr
Cj4gKy8qCj4gKyAqIENvbnRyb2wgdGhlIFJYIG1vZGUsIGllLiBwcm9taXN1Y291cywgYWxsbXVs
dGksIGV0Yy4uLgo+ICsgKiBBbGwgY29tbWFuZHMgcmVxdWlyZSBhbiAib3V0IiBzZyBlbnRyeSBj
b250YWluaW5nIGEgMSBieXRlCj4gKyAqIHN0YXRlIHZhbHVlLCB6ZXJvID0gZGlzYWJsZSwgbm9u
LXplcm8gPSBlbmFibGUuICBDb21tYW5kcwo+ICsgKiAwIGFuZCAxIGFyZSBzdXBwb3J0ZWQgd2l0
aCB0aGUgVklSVElPX05FVF9GX0NUUkxfUlggZmVhdHVyZS4KPiArICogQ29tbWFuZHMgMi01IGFy
ZSBhZGRlZCB3aXRoIFZJUlRJT19ORVRfRl9DVFJMX1JYX0VYVFJBLgo+ICsgKi8KPiArI2RlZmlu
ZSBWSVJUSU9fTkVUX0NUUkxfUlggICAgMAo+ICsgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhf
UFJPTUlTQyAgICAgIDAKPiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX0FMTE1VTFRJICAg
ICAxCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9SWF9BTExVTkkgICAgICAgMgo+ICsgI2Rl
ZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9NVUxUSSAgICAgIDMKPiArICNkZWZpbmUgVklSVElP
X05FVF9DVFJMX1JYX05PVU5JICAgICAgICA0Cj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9S
WF9OT0JDQVNUICAgICAgNQo+ICsKPiArLyoKPiArICogQ29udHJvbCB0aGUgTUFDCj4gKyAqCj4g
KyAqIFRoZSBNQUMgZmlsdGVyIHRhYmxlIGlzIG1hbmFnZWQgYnkgdGhlIGh5cGVydmlzb3IsIHRo
ZSBndWVzdCBzaG91bGQKPiArICogYXNzdW1lIHRoZSBzaXplIGlzIGluZmluaXRlLiAgRmlsdGVy
aW5nIHNob3VsZCBiZSBjb25zaWRlcmVkCj4gKyAqIG5vbi1wZXJmZWN0LCBpZS4gYmFzZWQgb24g
aHlwZXJ2aXNvciByZXNvdXJjZXMsIHRoZSBndWVzdCBtYXkKPiArICogcmVjZWl2ZWQgcGFja2V0
cyBmcm9tIHNvdXJjZXMgbm90IHNwZWNpZmllZCBpbiB0aGUgZmlsdGVyIGxpc3QuCj4gKyAqCj4g
KyAqIEluIGFkZGl0aW9uIHRvIHRoZSBjbGFzcy9jbWQgaGVhZGVyLCB0aGUgVEFCTEVfU0VUIGNv
bW1hbmQgcmVxdWlyZXMKPiArICogdHdvIG91dCBzY2F0dGVybGlzdHMuICBFYWNoIGNvbnRhaW5z
IGEgNCBieXRlIGNvdW50IG9mIGVudHJpZXMgZm9sbG93ZWQKPiArICogYnkgYSBjb25jYXRlbmF0
ZWQgYnl0ZSBzdHJlYW0gb2YgdGhlIEVUSF9BTEVOIE1BQyBhZGRyZXNzZXMuICBUaGUKPiArICog
Zmlyc3Qgc2cgbGlzdCBjb250YWlucyB1bmljYXN0IGFkZHJlc3NlcywgdGhlIHNlY29uZCBpcyBm
b3IgbXVsdGljYXN0Lgo+ICsgKiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgcHJlc2VudCBpZiB0aGUg
VklSVElPX05FVF9GX0NUUkxfUlggZmVhdHVyZQo+ICsgKiBpcyBhdmFpbGFibGUuCj4gKyAqCj4g
KyAqIFRoZSBBRERSX1NFVCBjb21tYW5kIHJlcXVlc3RzIG9uZSBvdXQgc2NhdHRlcmxpc3QsIGl0
IGNvbnRhaW5zIGEKPiArICogNiBieXRlcyBNQUMgYWRkcmVzcy4gVGhpcyBmdW5jdGlvbmFsaXR5
IGlzIHByZXNlbnQgaWYgdGhlCj4gKyAqIFZJUlRJT19ORVRfRl9DVFJMX01BQ19BRERSIGZlYXR1
cmUgaXMgYXZhaWxhYmxlLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19uZXRfY3RybF9tYWMgewo+
ICsJX192aXJ0aW9fbGUzMiBlbnRyaWVzOwo+ICsJX191OCBtYWNzW11bVUtfTkVUREVWX0hXQURE
Ul9MRU5dOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTUFD
ICAgIDEKPiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01BQ19UQUJMRV9TRVQgICAgICAgIDAK
PiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01BQ19BRERSX1NFVCAgICAgICAgIDEKPiArCj4g
Ky8qCj4gKyAqIENvbnRyb2wgVkxBTiBmaWx0ZXJpbmcKPiArICoKPiArICogVGhlIFZMQU4gZmls
dGVyIHRhYmxlIGlzIGNvbnRyb2xsZWQgdmlhIGEgc2ltcGxlIEFERC9ERUwgaW50ZXJmYWNlLgo+
ICsgKiBWTEFOIElEcyBub3QgYWRkZWQgbWF5IGJlIGZpbHRlcmQgYnkgdGhlIGh5cGVydmlzb3Iu
ICBEZWwgaXMgdGhlCj4gKyAqIG9wcG9zaXRlIG9mIGFkZC4gIEJvdGggY29tbWFuZHMgZXhwZWN0
IGFuIG91dCBlbnRyeSBjb250YWluaW5nIGEgMgo+ICsgKiBieXRlIFZMQU4gSUQuICBWTEFOIGZp
bHRlcnRpbmcgaXMgYXZhaWxhYmxlIHdpdGggdGhlCj4gKyAqIFZJUlRJT19ORVRfRl9DVFJMX1ZM
QU4gZmVhdHVyZSBiaXQuCj4gKyAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9WTEFOICAg
ICAgIDIKPiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1ZMQU5fQUREICAgICAgICAgICAgIDAK
PiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1ZMQU5fREVMICAgICAgICAgICAgIDEKPiArCj4g
Ky8qCj4gKyAqIENvbnRyb2wgbGluayBhbm5vdW5jZSBhY2tub3dsZWRnbWVudAo+ICsgKgo+ICsg
KiBUaGUgY29tbWFuZCBWSVJUSU9fTkVUX0NUUkxfQU5OT1VOQ0VfQUNLIGlzIHVzZWQgdG8gaW5k
aWNhdGUgdGhhdAo+ICsgKiBkcml2ZXIgaGFzIHJlY2V2aWVkIHRoZSBub3RpZmljYXRpb247IGRl
dmljZSB3b3VsZCBjbGVhciB0aGUKPiArICogVklSVElPX05FVF9TX0FOTk9VTkNFIGJpdCBpbiB0
aGUgc3RhdHVzIGZpZWxkIGFmdGVyIGl0IHJlY2VpdmVzCj4gKyAqIHRoaXMgY29tbWFuZC4KPiAr
ICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9DVFJMX0FOTk9VTkNFICAgICAgIDMKPiArICNkZWZp
bmUgVklSVElPX05FVF9DVFJMX0FOTk9VTkNFX0FDSyAgICAgICAgIDAKPiArCj4gKy8qCj4gKyAq
IENvbnRyb2wgUmVjZWl2ZSBGbG93IFN0ZWVyaW5nCj4gKyAqCj4gKyAqIFRoZSBjb21tYW5kIFZJ
UlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQKPiArICogZW5hYmxlcyBSZWNlaXZlIEZsb3cg
U3RlZXJpbmcsIHNwZWNpZnlpbmcgdGhlIG51bWJlciBvZiB0aGUgdHJhbnNtaXQgYW5kCj4gKyAq
IHJlY2VpdmUgcXVldWVzIHRoYXQgd2lsbCBiZSB1c2VkLiBBZnRlciB0aGUgY29tbWFuZCBpcyBj
b25zdW1lZCBhbmQgYWNrZWQgYnkKPiArICogdGhlIGRldmljZSwgdGhlIGRldmljZSB3aWxsIG5v
dCBzdGVlciBuZXcgcGFja2V0cyBvbiByZWNlaXZlIHZpcnRxdWV1ZXMKPiArICogb3RoZXIgdGhh
biBzcGVjaWZpZWQgbm9yIHJlYWQgZnJvbSB0cmFuc21pdCB2aXJ0cXVldWVzIG90aGVyIHRoYW4g
c3BlY2lmaWVkLgo+ICsgKiBBY2NvcmRpbmdseSwgZHJpdmVyIHNob3VsZCBub3QgdHJhbnNtaXQg
bmV3IHBhY2tldHMgIG9uIHZpcnRxdWV1ZXMgb3RoZXIgdGhhbgo+ICsgKiBzcGVjaWZpZWQuCj4g
KyAqLwo+ICtzdHJ1Y3QgdmlydGlvX25ldF9jdHJsX21xIHsKPiArCV9fdmlydGlvX2xlMTYgdmly
dHF1ZXVlX3BhaXJzOwo+ICt9Owo+ICsKPiArI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVEgICA0
Cj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQgICAgICAgIDAKPiAr
ICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX01JTiAgICAgICAgMQo+ICsgI2Rl
ZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfTUFYICAgICAgICAweDgwMDAKPiArCj4g
Ky8qCj4gKyAqIENvbnRyb2wgbmV0d29yayBvZmZsb2Fkcwo+ICsgKgo+ICsgKiBSZWNvbmZpZ3Vy
ZXMgdGhlIG5ldHdvcmsgb2ZmbG9hZHMgdGhhdCBHdWVzdCBjYW4gaGFuZGxlLgo+ICsgKgo+ICsg
KiBBdmFpbGFibGUgd2l0aCB0aGUgVklSVElPX05FVF9GX0NUUkxfR1VFU1RfT0ZGTE9BRFMgZmVh
dHVyZSBiaXQuCj4gKyAqCj4gKyAqIENvbW1hbmQgZGF0YSBmb3JtYXQgbWF0Y2hlcyB0aGUgZmVh
dHVyZSBiaXQgbWFzayBleGFjdGx5Lgo+ICsgKgo+ICsgKiBTZWUgVklSVElPX05FVF9GX0dVRVNU
XyogZm9yIHRoZSBsaXN0IG9mIG9mZmxvYWRzCj4gKyAqIHRoYXQgY2FuIGJlIGVuYWJsZWQvZGlz
YWJsZWQuCj4gKyAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9HVUVTVF9PRkZMT0FEUyAg
IDUKPiArI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfR1VFU1RfT0ZGTE9BRFNfU0VUICAgICAgICAw
Cj4gKwo+ICsjZW5kaWYgLyogX19QTEFUX0NNTl9WSVJUSU9fTkVUX0ggKi8KPiBkaWZmIC0tZ2l0
IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9wbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19uZXQuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uNTYx
NzAzOQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19u
ZXQuYwo+IEBAIC0wLDAgKzEsNDE3IEBACj4gKy8qCj4gKyAqIEF1dGhvcnM6IERhbiBXaWxsaWFt
cwo+ICsgKiAgICAgICAgICBNYXJ0aW4gTHVjaW5hCj4gKyAqICAgICAgICAgIFJpY2FyZG8gS29s
bGVyCj4gKyAqICAgICAgICAgIFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21h
aWwuY29tPgo+ICsgKiAgICAgICAgICBTaGFyYW4gU2FudGhhbmFtCj4gKyAqCj4gKyAqIENvcHly
aWdodCAoYykgMjAxNS0yMDE3IElCTQo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTYtMjAxNyBEb2Nr
ZXIsIEluYy4KPiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBD
b3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBh
bmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlCj4gKyAqIGZvciBhbnkgcHVycG9zZSB3aXRo
IG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZAo+ICsgKiB0aGF0IHRo
ZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIGFwcGVh
cgo+ICsgKiBpbiBhbGwgY29waWVzLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklE
RUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMCj4gKyAqIFdBUlJBTlRJRVMg
V0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQKPiArICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRQo+ICsgKiBBVVRIT1IgQkUgTElBQkxFIEZPUiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJ
TkRJUkVDVCwgT1IKPiArICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdI
QVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUwo+ICsgKiBPRiBVU0UsIERBVEEgT1IgUFJPRklU
UywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCj4gKyAqIE5FR0xJR0VOQ0UgT1Ig
T1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRiBPUiBJTgo+ICsgKiBDT05ORUNU
SU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgo+ICsgKi8K
PiArCj4gKyNpbmNsdWRlIDxzdGRpby5oPgo+ICsjaW5jbHVkZSA8c3RkbGliLmg+Cj4gKyNpbmNs
dWRlIDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgPHVrL3ByaW50Lmg+Cj4gKyNpbmNsdWRlIDx1ay9h
c3NlcnQuaD4KPiArI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KPiArI2luY2x1ZGUgPHVrL3Nn
bGlzdC5oPgo+ICsjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgo+ICsjaW5jbHVkZSA8dWsvYXJj
aC9saW1pdHMuaD4KPiArI2luY2x1ZGUgPHVrL25ldGJ1Zi5oPgo+ICsjaW5jbHVkZSA8dWsvbmV0
ZGV2Lmg+Cj4gKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgo+ICsjaW5jbHVkZSA8dWsvbmV0
ZGV2X2RyaXZlci5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpby5oPgo+ICsjaW5jbHVkZSA8
dmlydGlvL3ZpcnRxdWV1ZS5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19uZXQuaD4KPiAr
Cj4gKy8qKgo+ICsgKiBWSVJUSU9fUEtUX0JVRkZFUl9MRU4gPSBWSVJUSU9fTkVUX0hEUiArIEVU
SF9IRFIgKyBFVEhfUEtUX1BBWUxPQURfTEVOCj4gKyAqIFZJUlRJT19ORVRfSERSOiAxMCBieXRl
cyBpbiBsZW5ndGggaW4gbGVnYWN5IG1vZGUgKyAyIGJ5dGUgb2YgcGFkZGVkIGRhdGEuCj4gKyAq
CQkgICAxMiBieXRlcyBpbiBsZW5ndGggaW4gbW9kZXJuIG1vZGUuCj4gKyAqLwo+ICsjZGVmaW5l
IFZJUlRJT19IRFJfTEVOICAgICAgICAgIDEyCj4gKyNkZWZpbmUgRVRIX0hEUl9MRU4gICAgICAg
ICAgICAgMTQKPiArI2RlZmluZSBFVEhfUEtUX1BBWUxPQURfTEVOICAgMTUwMAo+ICsjZGVmaW5l
IFZJUlRJT19QS1RfQlVGRkVSX0xFTiAoKEVUSF9QS1RfUEFZTE9BRF9MRU4pCVwKPiArCQkJICAg
ICAgICsgKEVUSF9IRFJfTEVOKQkJXAo+ICsJCQkgICAgICAgKyAoVklSVElPX0hEUl9MRU4pKQo+
ICsKPiArI2RlZmluZSBEUklWRVJfTkFNRSAgICAgICAgICAgInZpcnRpby1uZXQiCj4gKwo+ICsK
PiArI2RlZmluZSAgVlRORVRfUlhfSEVBREVSX1BBRCAoNCkKPiArI2RlZmluZSAgVlRORVRfSU5U
Ul9FTiAgICgxIDw8IDApCj4gKyNkZWZpbmUgIFZUTkVUX0lOVFJfRU5fTUFTSyAgICgxKQo+ICsj
ZGVmaW5lICBWVE5FVF9JTlRSX1VTUl9FTiAgICgxIDw8IDEpCj4gKyNkZWZpbmUgIFZUTkVUX0lO
VFJfVVNSX0VOX01BU0sgICAoMikKPiArCj4gKy8qKgo+ICsgKiBEZWZpbmUgbWF4IHBvc3NpYmxl
IGZyYWdtZW50cyBmb3IgdGhlIG5ldHdvcmsgcGFja2V0cy4KPiArICovCj4gKyNkZWZpbmUgTkVU
X01BWF9GUkFHTUVOVFMgICAgKChfX1UxNl9NQVggPj4gX19QQUdFX1NISUZUKSArIDIpCj4gKwo+
ICsjZGVmaW5lIHRvX3ZpcnRpb25ldGRldihuZGV2KSBcCj4gKwlfX2NvbnRhaW5lcm9mKG5kZXYs
IHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSwgbmV0ZGV2KQo+ICsKPiArI2RlZmluZSBWSVJUSU9f
TkVUX0RSVl9GRUFUVVJFUyhmZWF0dXJlcykgICAgICAgICAgIFwKPiArCShWSVJUSU9fRkVBVFVS
RVNfVVBEQVRFKGZlYXR1cmVzLCBWSVJUSU9fTkVUX0ZfTUFDKSkKPiArCj4gK3R5cGVkZWYgZW51
bSB7Cj4gKwlWTkVUX1JYLAo+ICsJVk5FVF9UWCwKPiArfSB2aXJ0cV90eXBlX3Q7Cj4gKwo+ICsv
KioKPiArICogQGludGVybmFsIHN0cnVjdHVyZSB0byByZXByZXNlbnQgdGhlIHRyYW5zbWl0IHF1
ZXVlLgo+ICsgKi8KPiArc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7Cj4gKwkvKiBUaGUgdmly
dHF1ZXVlIHJlZmVyZW5jZSAqLwo+ICsJc3RydWN0IHZpcnRxdWV1ZSAqdnE7Cj4gKwkvKiBUaGUg
aHcgcXVldWUgaWRlbnRpZmllciAqLwo+ICsJdWludDE2X3QgaHd2cV9pZDsKPiArCS8qIFRoZSB1
c2VyIHF1ZXVlIGlkZW50aWZpZXIgKi8KPiArCXVpbnQxNl90IGxxdWV1ZV9pZDsKPiArCS8qIFRo
ZSBuci4gb2YgZGVzY3JpcHRvciBsaW1pdCAqLwo+ICsJdWludDE2X3QgbWF4X25iX2Rlc2M7Cj4g
KwkvKiBUaGUgbnIuIG9mIGRlc2NyaXB0b3IgdXNlciBjb25maWd1cmVkICovCj4gKwl1aW50MTZf
dCBuYl9kZXNjOwo+ICsJLyogVGhlIGZsYWcgdG8gaW50ZXJydXB0IG9uIHRoZSB0cmFuc21pdCBx
dWV1ZSAqLwo+ICsJdWludDhfdCBpbnRyX2VuYWJsZWQ7Cj4gKwkvKiBSZWZlcmVuY2UgdG8gdGhl
IHVrX25ldGRldiAqLwo+ICsJc3RydWN0IHVrX25ldGRldiAqbmRldjsKPiArCS8qIFRoZSBzY2F0
dGVyIGxpc3QgYW5kIGl0cyBhc3NvY2lhdGVkIGZyYWdlbWVudHMgKi8KPiArCXN0cnVjdCB1a19z
Z2xpc3Qgc2c7Cj4gKwlzdHJ1Y3QgdWtfc2dsaXN0X3NlZyBzZ3NlZ3NbTkVUX01BWF9GUkFHTUVO
VFNdOwo+ICt9Owo+ICsKPiArLyoqCj4gKyAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVz
ZW50IHRoZSByZWNlaXZlIHF1ZXVlLgo+ICsgKi8KPiArc3RydWN0IHVrX25ldGRldl9yeF9xdWV1
ZSB7Cj4gKwkvKiBUaGUgdmlydHF1ZXVlIHJlZmVyZW5jZSAqLwo+ICsJc3RydWN0IHZpcnRxdWV1
ZSAqdnE7Cj4gKwkvKiBUaGUgdmlydHF1ZXVlIGh3IGlkZW50aWZpZXIgKi8KPiArCXVpbnQxNl90
IGh3dnFfaWQ7Cj4gKwkvKiBUaGUgbGlidWtuZXQgcXVldWUgaWRlbnRpZmllciAqLwo+ICsJdWlu
dDE2X3QgbHF1ZXVlX2lkOwo+ICsJLyogVGhlIG5yLiBvZiBkZXNjcmlwdG9yIGxpbWl0ICovCj4g
Kwl1aW50MTZfdCBtYXhfbmJfZGVzYzsKPiArCS8qIFRoZSBuci4gb2YgZGVzY3JpcHRvciB1c2Vy
IGNvbmZpZ3VyZWQgKi8KPiArCXVpbnQxNl90IG5iX2Rlc2M7Cj4gKwkvKiBUaGUgZmxhZyB0byBp
bnRlcnJ1cHQgb24gdGhlIHRyYW5zbWl0IHF1ZXVlICovCj4gKwl1aW50OF90IGludHJfZW5hYmxl
ZDsKPiArCS8qIFJlZmVyZW5jZSB0byB0aGUgdWtfbmV0ZGV2ICovCj4gKwlzdHJ1Y3QgdWtfbmV0
ZGV2ICpuZGV2Owo+ICsJLyogVGhlIHNjYXR0ZXIgbGlzdCBhbmQgaXRzIGFzc29jaWF0ZWQgZnJh
Z2VtZW50cyAqLwo+ICsJc3RydWN0IHVrX3NnbGlzdCBzZzsKPiArCXN0cnVjdCB1a19zZ2xpc3Rf
c2VnIHNnc2Vnc1tORVRfTUFYX0ZSQUdNRU5UU107Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2Ugewo+ICsJLyogVmlydGlvIERldmljZSAqLwo+ICsJc3RydWN0IHZpcnRpb19k
ZXYgKnZkZXY7Cj4gKwkvKiBMaXN0IG9mIGFsbCB0aGUgdmlydHF1ZXVlIGluIHRoZSBwY2kgZGV2
aWNlICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cTsKPiArCXN0cnVjdCB1a19uZXRkZXYgbmV0
ZGV2Owo+ICsJLyogQ291bnQgb2YgdGhlIG51bWJlciBvZiB0aGUgdmlydHF1ZXVlcyAqLwo+ICsJ
X191MTYgbWF4X3ZxdWV1ZV9wYWlyczsKPiArCS8qIExpc3Qgb2YgdGhlIFJ4L1R4IHF1ZXVlICov
Cj4gKwlfX3UxNiAgICByeF92cXVldWVfY250Owo+ICsJc3RydWN0ICAgdWtfbmV0ZGV2X3J4X3F1
ZXVlICpyeHFzOwo+ICsJX191MTYgICAgdHhfdnF1ZXVlX2NudDsKPiArCXN0cnVjdCAgIHVrX25l
dGRldl90eF9xdWV1ZSAqdHhxczsKPiArCS8qIFRoZSBuZXRkZXZpY2UgaWRlbnRpZmllciAqLwo+
ICsJX191MTYgdWlkOwo+ICsJLyogVGhlIG1heCBtdHUgKi8KPiArCV9fdTE2IG1heF9tdHU7Cj4g
KwkvKiBUaGUgbXR1ICovCj4gKwlfX3UxNiBtdHU7Cj4gKwkvKiBUaGUgaHcgYWRkcmVzcyBvZiB0
aGUgbmV0ZGV2aWNlICovCj4gKwlzdHJ1Y3QgdWtfaHdhZGRyIGh3X2FkZHI7Cj4gKwkvKiAgTmV0
ZGV2IHN0YXRlICovCj4gKwlfX3U4IHN0YXRlOwo+ICsJLyogUlggcHJvbWlzY3VvdXMgbW9kZS4g
Ki8KPiArCV9fdTggcHJvbWlzYyA6IDE7Cj4gK307Cj4gKwo+ICsvKioKPiArICogU3RhdGljIGZ1
bmN0aW9uIGRlY2xhcmF0aW9ucy4KPiArICovCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldF9kcnZf
aW5pdChzdHJ1Y3QgdWtfYWxsb2MgKmRydl9hbGxvY2F0b3IpOwo+ICtzdGF0aWMgaW50IHZpcnRp
b19uZXRfYWRkX2RldihzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRpYyB2b2lkIHZp
cnRpb19uZXRfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkJc3RydWN0IHVr
X25ldGRldl9pbmZvICpkZXZfaW5mbyk7Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fbmV0
ZGV2X2ZlYXR1cmVfc2V0KHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYpOwo+ICtzdGF0
aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gKwkJ
CQkgICBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpOwo+ICtzdGF0aWMgc3RydWN0
IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKPiArCQkJ
CQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBxdWV1ZV9pZCwKPiArCQkJCQl1aW50MTZf
dCBuYl9kZXNjLAo+ICsJCQkJCXN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mICpjb25mKTsK
PiArc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnZpcnRpb19uZXRkZXZfcnhfcXVl
dWVfc2V0dXAoCj4gKwkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwKPiArCQkJCQl1aW50MTZfdCBx
dWV1ZV9pZCwgdWludDE2X3QgbmJfZGVzYywKPiArCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X3J4cXVl
dWVfY29uZiAqY29uZik7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUo
c3RydWN0IHVrX25ldGRldiAqbiwKPiArCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVl
dWUgKnF1ZXVlKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlKHN0cnVj
dCB1a19uZXRkZXYgKm4sCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1
ZXVlKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3htaXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPiArCQkJ
ICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2
X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2
X3J4X3F1ZXVlICpxdWV1ZSwKPiArCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqKnBrdCwKPiAr
CQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCj4gKwkJCSAgICAgIHVpbnQxNl90
ICpmaWxsdXBfY291bnQpOwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqdmlydGlv
X25ldF9tYWNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pOwo+ICtzdGF0aWMgX191MTYgdmlydGlv
X25ldF9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pOwo+ICtzdGF0aWMgdW5zaWduZWQgdmly
dGlvX25ldF9wcm9taXNjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKPiArc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1
ZXVlX2lkLAo+ICsJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7
Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRl
diAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKPiArCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVl
dWVfaW5mbyAqcWluZm8pOwo+ICsKPiArLyoqCj4gKyAqIFN0YXRpYyBnbG9iYWwgY29uc3RhbnRz
Cj4gKyAqLwo+ICtzdGF0aWMgY29uc3QgY2hhciAqZHJ2X25hbWUgPSBEUklWRVJfTkFNRTsKPiAr
c3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsKPiArCj4gKy8qKgo+ICsgKiBUaGUgRHJpdmVyIG1l
dGhvZCBpbXBsZW1lbnRhdGlvbi4KPiArICovCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl94
bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiArCQkJICAgICAgc3RydWN0IHVrX25ldGRldl90
eF9xdWV1ZSAqcXVldWUsCj4gKwkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCkKPiArewo+
ICsJaW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQoZGV2KTsKPiArCVVLX0FTU0VSVChwa3Qg
JiYgcXVldWUpOwo+ICsKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGljIGludCB2aXJ0
aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2VkLAo+ICsJCQkgICAg
ICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSwKPiArCQkJICAgICAgc3RydWN0IHVr
X25ldGJ1ZiAqKnBrdCBfX3VudXNlZCwKPiArCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmls
bHVwW10sCj4gKwkJCSAgICAgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpCj4gK3sKPiArCWludCBy
YyA9IDA7Cj4gKwo+ICsJVUtfQVNTRVJUKGRldiAmJiBxdWV1ZSk7Cj4gKwlVS19BU1NFUlQoIWZp
bGx1cCB8fCAoZmlsbHVwICYmICpmaWxsdXBfY291bnQgPiAwKSk7Cj4gKwo+ICsJcmV0dXJuIHJj
Owo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25l
dGRldl9yeF9xdWV1ZV9zZXR1cCgKPiArCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sIHVpbnQxNl90
IHF1ZXVlX2lkIF9fdW51c2VkLAo+ICsJCQkJdWludDE2X3QgbmJfZGVzYyBfX3VudXNlZCwKPiAr
CQkJCXN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQo+ICt7Cj4g
KwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOwo+ICsKPiArCVVLX0FTU0VS
VChuKTsKPiArCj4gKwlyZXR1cm4gcnhxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHVrX25l
dGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKPiArCQkJCXN0cnVj
dCB1a19uZXRkZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAo+ICsJCQkJdWludDE2
X3QgbmJfZGVzYyBfX3VudXNlZCwKPiArCQkJCXN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25m
ICpjb25mIF9fdW51c2VkKQo+ICt7Cj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEg
PSBOVUxMOwo+ICsKPiArCVVLX0FTU0VSVChuKTsKPiArCXJldHVybiB0eHE7Cj4gK30KPiArCj4g
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAo+ICsJCQkJICAgICAgX191MTYgcXVldWVfaWQgX191bnVzZWQsCj4gKwkJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQo+ICt7Cj4gKwlVS19BU1NFUlQoZGV2
KTsKPiArCVVLX0FTU0VSVChxaW5mbyk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGlj
IGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4g
KwkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNlZCwKPiArCQkJCSAgICAgIHN0cnVjdCB1
a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCj4gK3sKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJ
VUtfQVNTRVJUKHFpbmZvKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdW5zaWdu
ZWQgdmlydGlvX25ldF9wcm9taXNjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICt7Cj4gKwlV
S19BU1NFUlQobik7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGNvbnN0IHN0cnVj
dCB1a19od2FkZHIgKnZpcnRpb19uZXRfbWFjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICt7
Cj4gKwlVS19BU1NFUlQobik7Cj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArc3RhdGljIF9f
dTE2IHZpcnRpb19uZXRfbXR1X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICt7Cj4gKwlVS19B
U1NFUlQobik7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0
ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICsJCQkJICAgY29uc3Qgc3RydWN0
IHVrX25ldGRldl9jb25mICpjb25mIF9fdW51c2VkKQo+ICt7Cj4gKwlpbnQgcmMgPSAwOwo+ICsK
PiArCVVLX0FTU0VSVChuKTsKPiArCj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRpYyBp
bnQgdmlydGlvX25ldF9yeF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICsJCQkJ
ICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKPiArewo+ICsJ
aW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQobik7Cj4gKwo+ICsJcmV0dXJuIHJjOwo+ICt9
Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19u
ZXRkZXYgKm4sCj4gKwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBf
X3VudXNlZCkKPiArewo+ICsJVUtfQVNTRVJUKG4pOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4g
K3N0YXRpYyB2b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+
ICsJCQkJc3RydWN0IHVrX25ldGRldl9pbmZvICpkZXZfaW5mbykKPiArewo+ICsJc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldjsKPiArCj4gKwlVS19BU1NFUlQoZGV2ICYmIGRldl9pbmZv
KTsKPiArCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KGRldik7Cj4gKwo+ICsJZGV2X2luZm8tPm1h
eF9yeF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKPiArCWRldl9pbmZvLT5tYXhf
dHhfcXVldWVzID0gdm5kZXYtPm1heF92cXVldWVfcGFpcnM7Cj4gK30KPiArCj4gK3N0YXRpYyBp
bnQgdmlydGlvX25ldF9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICt7Cj4gKwlVS19BU1NF
UlQobiAhPSBOVUxMKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZv
aWQgdmlydGlvX25ldGRldl9mZWF0dXJlX3NldChzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZu
ZGV2KQo+ICt7Cj4gKwl2bmRldi0+dmRldi0+ZmVhdHVyZXMgPSAwOwo+ICsJLyogU2V0dGluZyB0
aGUgZmVhdHVyZSB0aGUgZHJpdmVyIHN1cHBvcnQgKi8KPiArCVZJUlRJT19ORVRfRFJWX0ZFQVRV
UkVTKHZuZGV2LT52ZGV2LT5mZWF0dXJlcyk7Cj4gKwkvKioKPiArCSAqIFRPRE86Cj4gKwkgKiBB
ZGRpbmcgbXVsdGlxdWV1ZSBzdXBwb3J0IGZvciB0aGUgdmlydGlvIG5ldCBkcml2ZXIuCj4gKwkg
Ki8KPiArCXZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzID0gMTsKPiArfQo+ICsKPiArc3RhdGljIGNv
bnN0IHN0cnVjdCB1a19uZXRkZXZfb3BzIHZpcnRpb19uZXRkZXZfb3BzID0gewo+ICsJLmNvbmZp
Z3VyZSA9IHZpcnRpb19uZXRkZXZfY29uZmlndXJlLAo+ICsJLnJ4cV9jb25maWd1cmUgPSB2aXJ0
aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwLAo+ICsJLnR4cV9jb25maWd1cmUgPSB2aXJ0aW9fbmV0
ZGV2X3R4X3F1ZXVlX3NldHVwLAo+ICsJLnN0YXJ0ID0gdmlydGlvX25ldF9zdGFydCwKPiArCS5y
eHFfaW50cl9lbmFibGUgPSB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlLAo+ICsJLnJ4cV9pbnRy
X2Rpc2FibGUgPSB2aXJ0aW9fbmV0X3J4X2ludHJfZGlzYWJsZSwKPiArCS5pbmZvX2dldCA9IHZp
cnRpb19uZXRfaW5mb19nZXQsCj4gKwkucHJvbWlzY3VvdXNfZ2V0ID0gdmlydGlvX25ldF9wcm9t
aXNjX2dldCwKPiArCS5od2FkZHJfZ2V0ID0gdmlydGlvX25ldF9tYWNfZ2V0LAo+ICsJLm10dV9n
ZXQgPSB2aXJ0aW9fbmV0X210dV9nZXQsCj4gKwkudHhxX2luZm9fZ2V0ID0gdmlydGlvX25ldGRl
dl90eHFfaW5mb19nZXQsCj4gKwkucnhxX2luZm9fZ2V0ID0gdmlydGlvX25ldGRldl9yeHFfaW5m
b19nZXQsCj4gK307Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRfYWRkX2RldihzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldikKPiArewo+ICsJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRl
djsKPiArCWludCByYyA9IDA7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYgIT0gTlVMTCk7Cj4gKwo+
ICsJdm5kZXYgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKCp2bmRldikpOwo+ICsJaWYgKCF2bmRldikg
ewo+ICsJCXJjID0gLUVOT01FTTsKPiArCQlnb3RvIGVycl9vdXQ7Cj4gKwl9Cj4gKwl2bmRldi0+
dmRldiA9IHZkZXY7Cj4gKwkvKiByZWdpc3RlciBuZXRkZXYgKi8KPiArCXZuZGV2LT5uZXRkZXYu
cnhfb25lID0gdmlydGlvX25ldGRldl9yZWN2Owo+ICsJdm5kZXYtPm5ldGRldi50eF9vbmUgPSB2
aXJ0aW9fbmV0ZGV2X3htaXQ7Cj4gKwl2bmRldi0+bmV0ZGV2Lm9wcyA9ICZ2aXJ0aW9fbmV0ZGV2
X29wczsKPiArCj4gKwlyYyA9IHVrX25ldGRldl9kcnZfcmVnaXN0ZXIoJnZuZGV2LT5uZXRkZXYs
IGEsIGRydl9uYW1lKTsKPiArCWlmIChyYyA8IDApIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0
byByZWdpc3RlciB2aXJ0aW8tbmV0IGRldmljZSB3aXRoIGxpYnVrbmV0XG4iKTsKPiArCQlnb3Rv
IGVycl9uZXRkZXZfZGF0YTsKPiArCX0KPiArCXZuZGV2LT51aWQgPSByYzsKPiArCXJjID0gMDsK
PiArCXZuZGV2LT5tYXhfbXR1ID0gRVRIX1BLVF9QQVlMT0FEX0xFTjsKPiArCXZuZGV2LT5tdHUg
PSB2bmRldi0+bWF4X210dTsKPiArCXZuZGV2LT5wcm9taXNjID0gMDsKPiArCXZpcnRpb19uZXRk
ZXZfZmVhdHVyZV9zZXQodm5kZXYpOwo+ICsJdWtfcHJfaW5mbygidmlydGlvLW5ldCBkZXZpY2Ug
cmVnaXN0ZXJlZCB3aXRoIGxpYnVrbmV0XG4iKTsKPiArCj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7
Cj4gK2Vycl9uZXRkZXZfZGF0YToKPiArCXVrX2ZyZWUoYSwgdm5kZXYpOwo+ICtlcnJfb3V0Ogo+
ICsJZ290byBleGl0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRfZHJ2X2luaXQo
c3RydWN0IHVrX2FsbG9jICpkcnZfYWxsb2NhdG9yKQo+ICt7Cj4gKwkvKiBkcml2ZXIgaW5pdGlh
bGl6YXRpb24gKi8KPiArCWlmICghZHJ2X2FsbG9jYXRvcikKPiArCQlyZXR1cm4gLUVJTlZBTDsK
PiArCj4gKwlhID0gZHJ2X2FsbG9jYXRvcjsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgY29uc3Qgc3RydWN0IHZpcnRpb19kZXZfaWQgdm5ldF9kZXZfaWRbXSA9IHsKPiArCXtWSVJU
SU9fSURfTkVUfSwKPiArCXtWSVJUSU9fSURfSU5WQUxJRH0gLyogTGlzdCBUZXJtaW5hdG9yICov
Cj4gK307Cj4gKwo+ICtzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2ZXIgdm5ldF9kcnYgPSB7Cj4g
KwkuZGV2X2lkcyA9IHZuZXRfZGV2X2lkLAo+ICsJLmluaXQgICAgPSB2aXJ0aW9fbmV0X2Rydl9p
bml0LAo+ICsJLmFkZF9kZXYgPSB2aXJ0aW9fbmV0X2FkZF9kZXYKPiArfTsKPiArVklSVElPX1JF
R0lTVEVSX0RSSVZFUigmdm5ldF9kcnYpOwo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25maWcu
dWsgYi9wbGF0L2t2bS9Db25maWcudWsKPiBpbmRleCAxM2U1NTc1Li5mYjM2NzdhIDEwMDY0NAo+
IC0tLSBhL3BsYXQva3ZtL0NvbmZpZy51awo+ICsrKyBiL3BsYXQva3ZtL0NvbmZpZy51awo+IEBA
IC03MSw1ICs3MSwxMyBAQCBjb25maWcgVklSVElPX1BDSQo+ICAgICAgICAgIGhlbHAKPiAgICAg
ICAgICAgICAgICAgIFN1cHBvcnQgdmlydGlvIGRldmljZXMgb24gUENJIGJ1cwo+ICAgCj4gK2Nv
bmZpZyBWSVJUSU9fTkVUCj4gKyAgICAgICBib29sICJWaXJ0aW8gTmV0IGRldmljZSIKPiArICAg
ICAgIGRlZmF1bHQgbgo+ICsgICAgICAgZGVwZW5kcyBvbiBMSUJVS05FVERFVgo+ICsgICAgICAg
c2VsZWN0IFZJUlRJTwo+ICsgICAgICAgc2VsZWN0IExJQlVLU0dMSVNUCj4gKyAgICAgICBoZWxw
Cj4gKyAgICAgICAgICAgICAgVmlydHVhbCBuZXR3b3JrIGRyaXZlci4KPiAgIGVuZG1lbnUKPiAg
IGVuZGlmCj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFr
ZWZpbGUudWsKPiBpbmRleCBjY2M4MzE5Li4xZjljNWRjIDEwMDY0NAo+IC0tLSBhL3BsYXQva3Zt
L01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiBAQCAtOTYsMyArOTYs
NSBAQCBMSUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19WSVJUSU9fQlVTKSArPVwKPiAgIAkJCQkJ
CQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3JpbmcuYwo+ICAgTElCS1ZN
VklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX1BDSSkgKz1cCj4gICAJCQkJCQkJJChVS19QTEFU
X0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19wY2kuYwo+ICtMSUJLVk1WSVJUSU9fU1JDUy0k
KENPTkZJR19WSVJUSU9fTkVUKSArPVwKPiArCQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0Up
L3ZpcnRpby92aXJ0aW9fbmV0LmMKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 12:52:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 12:52:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gEwAk-0005oN-Ts; Tue, 23 Oct 2018 12:52:34 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gEwAj-0005oI-5I
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 12:52:33 +0000
X-Inumbo-ID: b5fca385-d6c2-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b5fca385-d6c2-11e8-a6a9-d7ebe60f679a;
 Tue, 23 Oct 2018 12:54:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 916E8F2048;
 Tue, 23 Oct 2018 14:52:29 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id rmprgtLg0pdC; Tue, 23 Oct 2018 14:52:29 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 55BEAF2041;
 Tue, 23 Oct 2018 14:52:25 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 14:52:25 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-3-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023145224735
Message-ID: <94fdafd9-76dc-25ad-bfd7-df320925d1bb@neclab.eu>
Date: Tue, 23 Oct 2018 14:52:24 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-3-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 2/7] plat/drivers: Configure
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTAuMTggMTU6MzksIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBw
cm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gY2FsbGJhY2tzIHRvIGNvbmZpZ3VyZSB0aGUKPiB2
aXJ0aW8gZGV2aWNlIGZyb20gbGlidWtuZXQKPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2Fu
dGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiBTaWduZWQtb2ZmLWJ5OiBSYXp2
YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiAtLS0KPiAgIHBsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMTc0ICsrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDE3MCBpbnNlcnRpb25zKCspLCA0
IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRp
b19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gaW5kZXggNTYxNzAz
OS4uNGVkYjM0YiAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQu
Ywo+ICsrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gQEAgLTE2MSw2ICsx
NjEsOSBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fbmV0ZGV2X2ZlYXR1cmVfc2V0KHN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYpOwo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0
ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAgCQkJCSAgIGNvbnN0IHN0cnVj
dCB1a19uZXRkZXZfY29uZiAqY29uZik7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHR4
X2FsbG9jKHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYsCj4gKwkJCQkgICAgY29uc3Qg
c3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2
X2ZlYXR1cmVfbmVnb3RpYXRlKHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYpOwo+ICAg
c3RhdGljIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVldWVf
c2V0dXAoCj4gICAJCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkLAo+
ICAgCQkJCQl1aW50MTZfdCBuYl9kZXNjLAo+IEBAIC0yNjcsMzAgKzI3MCwxOTMgQEAgc3RhdGlj
IGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4g
ICAKPiAgIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKm4pCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKmQ7Cj4gKwo+ICAg
CVVLX0FTU0VSVChuKTsKPiAtCXJldHVybiAwOwo+ICsJZCA9IHRvX3ZpcnRpb25ldGRldihuKTsK
PiArCXJldHVybiBkLT5wcm9taXNjOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0
IHVrX2h3YWRkciAqdmlydGlvX25ldF9tYWNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gICB7
Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKmQ7Cj4gKwo+ICAgCVVLX0FTU0VSVChuKTsK
PiAtCXJldHVybiBOVUxMOwo+ICsJZCA9IHRvX3ZpcnRpb25ldGRldihuKTsKPiArCXJldHVybiAm
ZC0+aHdfYWRkcjsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIF9fdTE2IHZpcnRpb19uZXRfbXR1X2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICAgewo+ICsJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICpkOwo+ICsKPiAgIAlVS19BU1NFUlQobik7Cj4gLQlyZXR1cm4gMDsKPiArCWQgPSB0b192aXJ0
aW9uZXRkZXYobik7Cj4gKwlyZXR1cm4gZC0+bXR1Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZp
cnRpb19uZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2
bmRldikKPiArewo+ICsJX191NjQgaG9zdF9mZWF0dXJlcyA9IDA7Cj4gKwlfX3UxNiBod19sZW47
Cj4gKwlpbnQgcmMgPSAwOwo+ICsKPiArCS8qKgo+ICsJICogUmVhZCBkZXZpY2UgZmVhdHVyZSBi
aXRzLCBhbmQgd3JpdGUgdGhlIHN1YnNldCBvZiBmZWF0dXJlIGJpdHMKPiArCSAqIHVuZGVyc3Rv
b2QgYnkgdGhlIE9TIGFuZCBkcml2ZXIgdG8gdGhlIGRldmljZS4gRHVyaW5nIHRoaXMgc3RlcCB0
aGUKPiArCSAqIGRyaXZlciBNQVkgcmVhZCAoYnV0IE1VU1QgTk9UIHdyaXRlKSB0aGUgZGV2aWNl
LXNwZWNpZmljCj4gKwkgKiBjb25maWd1cmF0aW9uIGZpZWxkcyB0byBjaGVjayB0aGF0IGl0IGNh
biBzdXBwb3J0IHRoZSBkZXZpY2UgYmVmb3JlCj4gKwkgKiBhY2NlcHRpbmcgaXQuCj4gKwkgKi8K
PiArCWhvc3RfZmVhdHVyZXMgPSB2aXJ0aW9fZmVhdHVyZV9nZXQodm5kZXYtPnZkZXYpOwo+ICsJ
aWYgKCF2aXJ0aW9faGFzX2ZlYXR1cmVzKGhvc3RfZmVhdHVyZXMsIFZJUlRJT19ORVRfRl9NQUMp
KSB7Cj4gKwkJLyoqCj4gKwkJICogVGhlIGZlYXR1cmUgdGhhdCBhcmVuJ3Qgc3VwcG9ydGVkIGFy
ZSB1c3VhbGx5IG1hc2tlZCBvdXQgYW5kCj4gKwkJICogcHJvdmlkZWQgd2l0aCBkZWZhdWx0IHZh
bHVlLiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0bwo+ICsJCSAqIHJlcG9ydCBhbiBlcnJvciBhcyB3
ZSBkb24ndCBzdXBwb3J0ICBnZW5lcmF0aW9uIG9mIHJhbmRvbQo+ICsJCSAqIE1BQyBBZGRyZXNz
Lgo+ICsJCSAqLwo+ICsJCXVrX3ByX2VycigiSG9zdCBzeXN0ZW0gZG9lcyBub3Qgb2ZmZXIgTUFD
IGZlYXR1cmVcbiIpOwo+ICsJCXJjID0gLUVJTlZBTDsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4g
Kwo+ICsJLyoqCj4gKwkgKiBBY2NvcmRpbmcgdG8gVmlydGlvIHNwZWNpZmljYXRpb24sIHNlY3Rp
b24gMi4zLjEuIENvbmZpZyBmaWVsZHMKPiArCSAqIGdyZWF0ZXIgdGhhbiAzMi1iaXRzIGNhbm5v
dCBiZSBhdG9taWNhbGx5IHJlYWQuIFdlIG1heSBuZWVkIHRvCj4gKwkgKiByZWNvbnNpZGVyIHBy
b3ZpZGluZyBnZW5lcmljIHJlYWQvd3JpdGUgZnVuY3Rpb24gZm9yIGFsbCB0aGVzZQo+ICsJICog
dmlydGlvIGRldmljZSBpbiBhIHNlcGFyYXRlIGhlYWRlciBmaWxlIHdoaWNoIGNvdWxkIGJlIHJl
dXNlZCBhY3Jvc3MKPiArCSAqIGRpZmZlcmVudCB2aXJ0aW8gZGV2aWNlcy4KPiArCSAqLwo+ICsJ
aHdfbGVuID0gdmlydGlvX2NvbmZpZ19nZXQodm5kZXYtPnZkZXYsCj4gKwkJCQkgICBfX29mZnNl
dG9mKHN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZywgbWFjKSwKPiArCQkJCSAgICZ2bmRldi0+aHdf
YWRkci5hZGRyX2J5dGVzWzBdLAo+ICsJCQkJICAgVUtfTkVUREVWX0hXQUREUl9MRU4sIDEpOwo+
ICsJaWYgKHVubGlrZWx5KGh3X2xlbiAhPSBVS19ORVRERVZfSFdBRERSX0xFTikpIHsKPiArCQl1
a19wcl9lcnIoIkZhaWxlZCB0byByZXRyaWV2ZSB0aGUgbWFjIGFkZHJlc3MgZnJvbSBkZXZpY2Vc
biIpOwo+ICsJCXJjID0gLUVBR0FJTjsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4gKwlyYyA9IDA7
Cj4gKwo+ICsJLyoqCj4gKwkgKiBNYXNrIG91dCBmZWF0dXJlcyBzdXBwb3J0ZWQgYnkgYm90aCBk
cml2ZXIgYW5kIGRldmljZS4KPiArCSAqLwo+ICsJdm5kZXYtPnZkZXYtPmZlYXR1cmVzICY9IGhv
c3RfZmVhdHVyZXM7Cj4gKwl2aXJ0aW9fZmVhdHVyZV9zZXQodm5kZXYtPnZkZXYsIHZuZGV2LT52
ZGV2LT5mZWF0dXJlcyk7Cj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRp
YyBpbnQgdmlydGlvX25ldGRldl9yeHR4X2FsbG9jKHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAq
dm5kZXYsCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKQo+ICt7
Cj4gKwlpbnQgcmMgPSAwOwo+ICsJaW50IGkgPSAwOwo+ICsJaW50IHZxX2F2YWlsID0gMDsKPiAr
CWludCB0b3RhbF92cXMgPSBjb25mLT5uYl9yeF9xdWV1ZXMgKyBjb25mLT5uYl90eF9xdWV1ZXM7
Cj4gKwlfX3UxNiBxZGVzY19zaXplW3RvdGFsX3Zxc107Cj4gKwo+ICsJaWYgKGNvbmYtPm5iX3J4
X3F1ZXVlcyAhPSAxIHx8IGNvbmYtPm5iX3R4X3F1ZXVlcyAhPSAxKSB7Cj4gKwkJdWtfcHJfZXJy
KCJRdWV1ZSBjb21iaW5hdGlvbiBub3Qgc3VwcG9ydGVkOiAlIl9fUFJJdTE2Ii8lIl9fUFJJdTE2
IiByeC90eFxuIiwKPiArCQkJICBjb25mLT5uYl9yeF9xdWV1ZXMsIGNvbmYtPm5iX3R4X3F1ZXVl
cyk7Cj4gKwo+ICsJCXJldHVybiAtRU5PVFNVUDsKPiArCX0KPiArCj4gKwl2bmRldi0+cnhxcyA9
IHVrX21hbGxvYyhhLCBzaXplb2YoKnZuZGV2LT5yeHFzKSAqIGNvbmYtPm5iX3J4X3F1ZXVlcyk7
Cj4gKwl2bmRldi0+dHhxcyA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZuZGV2LT50eHFzKSAqIGNv
bmYtPm5iX3R4X3F1ZXVlcyk7Cj4gKwlpZiAodW5saWtlbHkoIXZuZGV2LT5yeHFzIHx8ICF2bmRl
di0+dHhxcykpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnkgZm9y
IHF1ZXVlIG1hbmFnZW1lbnRcbiIpOwo+ICsJCXJjID0gLUVOT01FTTsKPiArCQlnb3RvIGVycl9m
cmVlX3R4cng7Cj4gKwl9CgpIdW0sIEkgdGhpbmsgdGhpcyBpcyBmaW5lIGZvciB0aGlzIGZpcnN0
IHZlcnNpb24uIFdlIHByb2JhYmx5IHNob3VsZCB1c2UgCnRoZSBzYW1lIGFsbG9jYXRvciBmb3Ig
dGhlIG1hbmFnZW1lbnQgb2YgYSBxdWV1ZSBhcyB3ZSB1c2UgZm9yIHRoZSAKcXVldWUuIFdpdGgg
dGhpcyB3ZSB3b3VsZCBtYWtlIHN1cmUgdGhhdCBOVU1BIHdvdWxkIGJlIHN1cHBvcnRlZCAKKGFz
c3VtZWQgeW91IGhhdmUgYW4gYWxsb2NhdG9yIGZvciBlYWNoIE5VTUEgbm9kZSkuIEhvd2V2ZXIs
IHRoaXMgCmFsbG9jYXRpb24gd291bGQgbmVlZCB0byBoYXBwZW4gZWZmZWN0aXZlbHkgaW4gdGhl
IAp2aXJ0aW9fbmV0ZGV2XyhyeHx0eClfcXVldWVfc2V0dXAoKSBhbmQgc3RydWN0IHZpcnRpb19u
ZXRfZGV2aWNlIHdvdWxkIApuZWVkIHRvIGJlIGNoYW5nZWQgZm9yIHRoaXMuIE1heWJlIHlvdSBj
b3VsZCBhZGQgYSBzbWFsbCBUT0RPIGNvbW1lbnQ/Cgo+ICsKPiArCXZxX2F2YWlsID0gdmlydGlv
X2ZpbmRfdnFzKHZuZGV2LT52ZGV2LCB0b3RhbF92cXMsIHFkZXNjX3NpemUpOwo+ICsJaWYgKHVu
bGlrZWx5KHZxX2F2YWlsICE9IHRvdGFsX3ZxcykpIHsKPiArCQl1a19wcl9lcnIoIkV4cGVjdGVk
OiAlZCBxdWV1ZXMsIEZvdW5kOiAlZCBxdWV1ZXNcbiIsCj4gKwkJCSAgdG90YWxfdnFzLCB2cV9h
dmFpbCk7Cj4gKwkJcmMgPSAtRU5PTUVNOwo+ICsJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKPiArCX0K
PiArCj4gKwkvKioKPiArCSAqIFRoZSB2aXJ0cXVldWUgYXJlIG9yZ2FuaXplZCBhczoKPiArCSAq
IFZpcnRxdWV1ZS1yeDAKPiArCSAqIFZpcnRxdWV1ZS10eDAKPiArCSAqIFZpcnRxdWV1ZS1yeDEK
PiArCSAqIFZpcnRxdWV1ZS10eDEKPiArCSAqIC4uLgo+ICsJICogVmlydHF1ZXVlLWN0cmxxCj4g
KwkgKi8KPiArCWZvciAoaSA9IDA7IGkgPCB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsgaSsrKSB7
Cj4gKwkJLyoqCj4gKwkJICogSW5pdGlhbGl6ZSB0aGUgcmVjZWl2ZWQgcXVldWUgd2l0aCB0aGUg
aW5mb3JtYXRpb24gcmVjZWl2ZWQKPiArCQkgKiBmcm9tIHRoZSBkZXZpY2UuCj4gKwkJICovCj4g
KwkJdm5kZXYtPnJ4cXNbaV0uaHd2cV9pZCA9IDIgKiBpOwo+ICsJCXZuZGV2LT5yeHFzW2ldLm1h
eF9uYl9kZXNjID0gcWRlc2Nfc2l6ZVt2bmRldi0+cnhxc1tpXS5od3ZxX2lkXTsKPiArCQl1a19z
Z2xpc3RfaW5pdCgmdm5kZXYtPnJ4cXNbaV0uc2csCj4gKwkJCSAgICAgICAoc2l6ZW9mKHZuZGV2
LT5yeHFzW2ldLnNnc2VncykgLwo+ICsJCQkJc2l6ZW9mKHZuZGV2LT5yeHFzW2ldLnNnc2Vnc1sw
XSkpLAo+ICsJCQkgICAgICAgJnZuZGV2LT5yeHFzW2ldLnNnc2Vnc1swXSk7CgpUaGlzIHNnbGlz
dHMgbWFkZSBtZSB0aGluayB0aGF0IGl0IGlzIGJldHRlciB0byBhbGxvY2F0ZSB0aGVtIHRvZ2V0
aGVyIAp3aXRoIHRoZSBxdWV1ZSBkZXNjcmlwdG9ycy4gSXQgaXMgc2FmZXIgaW4gdGVybXMgb2Yg
TlVNQS4gV2UgZG8gbm90IApzdXBwb3J0IE5VTUEgeWV0IC0gc28gSSBhbSBmaW5lIGZvciBub3cg
LSBidXQgd2UgbWF5IE5VTUEgc3VwcG9ydCBpbiB0aGUgCmZ1dHVyZS4gSW4gdGhpcyBjYXNlIHdl
IHNob3VsZCByZS12aXNpdCB0aGlzLgoKPiArCj4gKwkJLyoqCj4gKwkJICogSW5pdGlhbGl6ZSB0
aGUgdHJhbnNtaXQgcXVldWUgd2l0aCB0aGUgaW5mb3JtYXRpb24gcmVjZWl2ZWQKPiArCQkgKiBm
cm9tIHRoZSBkZXZpY2UuCj4gKwkJICovCj4gKwkJdm5kZXYtPnR4cXNbaV0uaHd2cV9pZCA9ICgy
ICogaSkgKyAxOwo+ICsJCXZuZGV2LT50eHFzW2ldLm1heF9uYl9kZXNjID0gcWRlc2Nfc2l6ZVt2
bmRldi0+dHhxc1tpXS5od3ZxX2lkXTsKPiArCQl1a19zZ2xpc3RfaW5pdCgmdm5kZXYtPnR4cXNb
aV0uc2csCj4gKwkJCSAgICAgICAoc2l6ZW9mKHZuZGV2LT50eHFzW2ldLnNnc2VncykgLwo+ICsJ
CQkJc2l6ZW9mKHZuZGV2LT50eHFzW2ldLnNnc2Vnc1swXSkpLAo+ICsJCQkgICAgICAgJnZuZGV2
LT50eHFzW2ldLnNnc2Vnc1swXSk7Cj4gKwl9Cj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7Cj4gKwo+
ICtlcnJfZnJlZV90eHJ4Ogo+ICsJaWYgKCF2bmRldi0+cnhxcykKPiArCQl1a19mcmVlKGEsIHZu
ZGV2LT5yeHFzKTsKPiArCWlmICghdm5kZXYtPnR4cXMpCj4gKwkJdWtfZnJlZShhLCB2bmRldi0+
dHhxcyk7Cj4gKwlnb3RvIGV4aXQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25l
dGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKPiAtCQkJCSAgIGNvbnN0IHN0cnVj
dCB1a19uZXRkZXZfY29uZiAqY29uZiBfX3VudXNlZCkKPiArCQkJCSAgIGNvbnN0IHN0cnVjdCB1
a19uZXRkZXZfY29uZiAqY29uZikKPiAgIHsKPiAgIAlpbnQgcmMgPSAwOwo+ICsJc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldjsKPiAgIAo+ICAgCVVLX0FTU0VSVChuKTsKPiArCVVLX0FT
U0VSVChjb25mKTsKPiArCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KG4pOwo+ICsKPiArCXJjID0g
dmlydGlvX25ldGRldl9mZWF0dXJlX25lZ290aWF0ZSh2bmRldik7Cj4gKwlpZiAocmMgIT0gMCkg
ewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIG5lZ290aWF0ZSB0aGUgZGV2aWNlIGZlYXR1cmUg
JWRcbiIsIHJjKTsKPiArCQlnb3RvIGVycl9uZWdvdGlhdGVfZmVhdHVyZTsKPiArCX0KPiAgIAo+
ICsJcmMgPSB2aXJ0aW9fbmV0ZGV2X3J4dHhfYWxsb2Modm5kZXYsIGNvbmYpOwo+ICsJaWYgKHJj
ICE9IDApIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhbGxvY2F0ZSB0aGUgcnggYW5kIHR4
IHJpbmdzICVkXG4iLCByYyk7CgpBcmUgdGhlc2UgcmVhbGx5IHRoZSByaW5ncyB3aXRoIHRoZSBk
ZXNjcmlwdG9ycyBhbHJlYWR5PyBJc24ndCBpdCB0aGUgCnF1ZXVlIG1hbmFnZW1lbnQ/Cgo+ICsJ
CWdvdG8gZXJyX25lZ290aWF0ZV9mZWF0dXJlOwo+ICsJfQo+ICsKPiArCS8qIEluaXRpYWxpemUg
dGhlIGNvdW50IG9mIHRoZSB2aXJ0aW8tbmV0IGRldmljZSAqLwo+ICsJdm5kZXYtPnJ4X3ZxdWV1
ZV9jbnQgPSAwOwo+ICsJdm5kZXYtPnR4X3ZxdWV1ZV9jbnQgPSAwOwo+ICsKPiArCXVrX3ByX2lu
Zm8oIkNvbmZpZ3VyZWQ6IGZlYXR1cmVzPTB4JWx4IG1heCB2aXJ0cXVldWVfcGFpcnM9JSJfX1BS
SXUxNiJcbiIsCgpJcyBhbiB1bmRlcmxpbmUgY2hhcmFjdGVyIG1pc3NpbmcgYmV0d2VlbiBtYXgg
YW5kIHZpcnRxdWV1ZV9wYWlycz8KCj4gKwkJICAgdm5kZXYtPnZkZXYtPmZlYXR1cmVzLCB2bmRl
di0+bWF4X3ZxdWV1ZV9wYWlycyk7Cj4gK2V4aXQ6Cj4gICAJcmV0dXJuIHJjOwo+ICsKPiArZXJy
X25lZ290aWF0ZV9mZWF0dXJlOgo+ICsJdmlydGlvX2Rldl9zdGF0dXNfdXBkYXRlKHZuZGV2LT52
ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19GQUlMKTsKPiArCWdvdG8gZXhpdDsKPiAgIH0KPiAg
IAo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRk
ZXYgKm4sCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 14:38:52 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 14:38:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gExpb-00068H-0E; Tue, 23 Oct 2018 14:38:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gExpa-00068A-HG
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 14:38:50 +0000
X-Inumbo-ID: 8f0a1aed-d6d1-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8f0a1aed-d6d1-11e8-a6a9-d7ebe60f679a;
 Tue, 23 Oct 2018 14:40:17 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 1C69A104A53;
 Tue, 23 Oct 2018 16:38:47 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id zYSKWbiZMK92; Tue, 23 Oct 2018 16:38:47 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id ED705104A51;
 Tue, 23 Oct 2018 16:38:42 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 16:38:42 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-4-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023163842583
Message-ID: <610c1f63-ede6-d486-f870-eeaa1776a07f@neclab.eu>
Date: Tue, 23 Oct 2018 16:38:42 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-4-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 3/7] plat/drivers: Configure
 the receive queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTAuMTggMTU6NDAsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHBhdGNoIGlu
dHJvZHVjZXMgdGhlIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dGluZyB1cCB0aGUKPiBy
ZWNlaXZlIHF1ZXVlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJh
bi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8
cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fbmV0LmMgfCAxNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Ky0tCj4gICAxIGZpbGUgY2hhbmdlZCwgMTQwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p
Cj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIvcGxh
dC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBpbmRleCA0ZWRiMzRiLi4zYjE2MzFmIDEw
MDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gKysrIGIvcGxh
dC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBAQCAtMTY4LDYgKzE2OCwxMCBAQCBzdGF0
aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1
cCgKPiAgIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwgdWludDE2X3QgcXVldWVfaWQsCj4gICAJ
CQkJCXVpbnQxNl90IG5iX2Rlc2MsCj4gICAJCQkJCXN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9j
b25mICpjb25mKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1
Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2LAo+ICsJCQkJICAgICAgdWludDE2X3QgcXVldWVf
aWQsIHVpbnQxNl90IG5yX2Rlc2MsCj4gKwkJCQkgICAgICB2aXJ0cV90eXBlX3QgcXVldWVfdHlw
ZSwKPiArCQkJCSAgICAgIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gICBzdGF0aWMgc3RydWN0IHVr
X25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKPiAgIAkJCQkJ
c3RydWN0IHVrX25ldGRldiAqbiwKPiAgIAkJCQkJdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90
IG5iX2Rlc2MsCj4gQEAgLTE5MSw2ICsxOTUsNyBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZf
cnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCj4gICAJ
CQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7Cj4gICBzdGF0aWMg
aW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191
MTYgcXVldWVfaWQsCj4gICAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpx
aW5mbyk7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRx
dWV1ZSAqdnEsIHZvaWQgKnByaXYpOwo+ICAgCj4gICAvKioKPiAgICAqIFN0YXRpYyBnbG9iYWwg
Y29uc3RhbnRzCj4gQEAgLTIwMSw2ICsyMDYsMjMgQEAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAq
YTsKPiAgIC8qKgo+ICAgICogVGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCj4gICAg
Ki8KPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3QgdmlydHF1ZXVl
ICp2cSwgdm9pZCAqcHJpdikKPiArewo+ICsJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhx
ID0gTlVMTDsKPiArCj4gKwlVS19BU1NFUlQodnEgJiYgcHJpdik7Cj4gKwo+ICsJcnhxID0gKHN0
cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKikgcHJpdjsKPiArCj4gKwkvKiBEaXNhYmxlIHRoZSBp
bnRlcnJ1cHQgZm9yIHRoZSByaW5nICovCj4gKwl2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHZxKTsK
PiArCXJ4cS0+aW50cl9lbmFibGVkICY9IH4oVlRORVRfSU5UUl9FTik7Cj4gKwo+ICsJLyogSW5k
aWNhdGUgdG8gdGhlIG5ldHdvcmsgc3RhY2sgYWJvdXQgYW4gZXZlbnQgKi8KPiArCXVrX25ldGRl
dl9kcnZfcnhfZXZlbnQocnhxLT5uZGV2LCByeHEtPmxxdWV1ZV9pZCk7Cj4gKwlyZXR1cm4gMTsK
PiArfQo+ICsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwKPiAgIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAo+
ICAgCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+IEBAIC0yMjgsMTUgKzI1MCwxMTEg
QEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2IF9f
dW51c2VkLAo+ICAgfQo+ICAgCj4gICBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAq
dmlydGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKPiAtCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4s
IHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAo+IC0JCQkJdWludDE2X3QgbmJfZGVzYyBfX3Vu
dXNlZCwKPiAtCQkJCXN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpjb25mIF9fdW51c2Vk
KQo+ICsJCQkJc3RydWN0IHVrX25ldGRldiAqbiwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCQl1
aW50MTZfdCBuYl9kZXNjLAo+ICsJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNv
bmYpCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2Owo+ICAgCXN0cnVj
dCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSA9IE5VTEw7Cj4gKwlpbnQgcmM7Cj4gICAKPiAgIAlV
S19BU1NFUlQobik7Cj4gKwlVS19BU1NFUlQoY29uZik7Cj4gKwl2bmRldiA9IHRvX3ZpcnRpb25l
dGRldihuKTsKPiArCWlmIChxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykgewo+
ICsJCXVrX3ByX2VycigiSW52YWxpZCB2aXJ0cXVldWUgaWRlbnRpZmllcjogJSJfX1BSSXUxNiJc
biIsCj4gKwkJCSAgcXVldWVfaWQpOwo+ICsJCXJjID0gLUVJTlZBTDsKPiArCQlnb3RvIGVycl9l
eGl0Owo+ICsJfQo+ICsJLyogU2V0dXAgdGhlIHZpcnRxdWV1ZSB3aXRoIHRoZSBkZXNjcmlwdG9y
ICovCj4gKwlyYyA9IHZpcnRpb19uZXRkZXZfdnF1ZXVlX3NldHVwKHZuZGV2LCBxdWV1ZV9pZCwg
bmJfZGVzYywgVk5FVF9SWCwKPiArCQkJCQljb25mLT5hKTsKPiArCWlmIChyYyA8IDApIHsKPiAr
CQl1a19wcl9lcnIoIkZhaWxlZCB0byBzZXQgdXAgdmlydHF1ZXVlICUiX19QUkl1MTYiOiAlZFxu
IiwKPiArCQkJICBxdWV1ZV9pZCwgcmMpOwo+ICsJCWdvdG8gZXJyX2V4aXQ7Cj4gKwl9Cj4gKwly
eHEgID0gJnZuZGV2LT5yeHFzW3JjXTsKPiAgIAo+ICtleGl0Ogo+ICAgCXJldHVybiByeHE7Cj4g
Kwo+ICtlcnJfZXhpdDoKPiArCXJ4cSA9IEVSUjJQVFIocmMpOwo+ICsJZ290byBleGl0Owo+ICt9
Cj4gKwo+ICsvKioKPiArICogVGhpcyBmdW5jdGlvbiBzZXR1cCB0aGUgdnJpbmcgaW5mcmFzdHJ1
Y3R1cmUuCj4gKyAqIEBwYXJhbSB2bmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBu
ZXQgZGV2aWNlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICoJVXNlciBxdWV1ZSBpZGVudGlm
aWVyCj4gKyAqIEBwYXJhbSBucl9kZXNjCj4gKyAqCVVzZXIgY29uZmlndXJlZCBudW1iZXIgb2Yg
ZGVzY3JpcHRvcnMuCj4gKyAqIEBwYXJhbSBxdWV1ZV90eXBlCj4gKyAqCVF1ZXVlIHR5cGUuCj4g
KyAqIEBwYXJhbSBhCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgYWxsb2NhdG9yLgo+ICsgKi8KPiAr
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX25ldF9k
ZXZpY2UgKnZuZGV2LAo+ICsJCXVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBucl9kZXNjLCB2
aXJ0cV90eXBlX3QgcXVldWVfdHlwZSwKPiArCQlzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sKPiAr
CWludCByYyA9IDA7Cj4gKwlpbnQgaWQgPSAwOwo+ICsJdmlydHF1ZXVlX2NhbGxiYWNrX3QgY2Fs
bGJhY2s7Cj4gKwl1aW50MTZfdCBtYXhfZGVzYywgaHd2cV9pZDsKPiArCXN0cnVjdCB2aXJ0cXVl
dWUgKnZxOwo+ICsKPiArCWlmIChxdWV1ZV90eXBlID09IFZORVRfUlgpIHsKPiArCQlpZCA9IHZu
ZGV2LT5yeF92cXVldWVfY250Owo+ICsJCWNhbGxiYWNrID0gdmlydGlvX25ldGRldl9yZWN2X2Rv
bmU7Cj4gKwkJbWF4X2Rlc2MgPSB2bmRldi0+cnhxc1tpZF0ubWF4X25iX2Rlc2M7Cj4gKwkJaHd2
cV9pZCA9IHZuZGV2LT5yeHFzW2lkXS5od3ZxX2lkOwo+ICsJfSBlbHNlIHsKPiArCQlpZCA9IHZu
ZGV2LT50eF92cXVldWVfY250Owo+ICsJCS8qIFdlIGRvbid0IHN1cHBvcnQgdGhlIGNhbGxiYWNr
IGZyb20gdGhlIHR4cXVldWUgeWV0ICovCj4gKwkJY2FsbGJhY2sgPSBOVUxMOwo+ICsJCW1heF9k
ZXNjID0gdm5kZXYtPnR4cXNbaWRdLm1heF9uYl9kZXNjOwo+ICsJCWh3dnFfaWQgPSB2bmRldi0+
dHhxc1tpZF0uaHd2cV9pZDsKPiArCX0KPiArCj4gKwlpZiAodW5saWtlbHkobWF4X2Rlc2MgPCBu
cl9kZXNjKSkgewo+ICsJCXVrX3ByX2VycigiTWF4IGFsbG93ZWQgZGVzYzogJSJfX1BSSXUxNiIg
UmVxdWVzdGVkIGRlc2M6JSJfX1BSSXUxNiJcbiIsCj4gKwkJCSAgbWF4X2Rlc2MsIG5yX2Rlc2Mp
Owo+ICsJCXJldHVybiAtRU5PQlVGUzsKPiArCX0KPiArCj4gKwkvKiBDaGVjayBpZiB0aGUgZGVz
Y3JpcHRvciBpcyBhIHBvd2VyIG9mIDIgKi8KPiArCWlmICh1bmxpa2VseShucl9kZXNjICYgKG5y
X2Rlc2MgLSAxKSkpIHsKPiArCQl1a19wcl9lcnIoIkV4cGVjdCBkZXNjcmlwdG9yIGNvdW50IGFz
IGEgcG93ZXIgMlxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwl2cSA9IHZpcnRp
b192cXVldWVfc2V0dXAodm5kZXYtPnZkZXYsIGh3dnFfaWQsIG5yX2Rlc2MsIGNhbGxiYWNrLCBh
KTsKPiArCWlmICh1bmxpa2VseShQVFJJU0VSUih2cSkpKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gc2V0IHVwIHZpcnRxdWV1ZSAlIl9fUFJJdTE2IlxuIiwKPiArCQkJICBxdWV1ZV9pZCk7
Cj4gKwkJcmMgPSBQVFIyRVJSKHZxKTsKPiArCQlyZXR1cm4gcmM7Cj4gKwl9Cj4gKwo+ICsJaWYg
KHF1ZXVlX3R5cGUgPT0gVk5FVF9SWCkgewo+ICsJCXZxLT5wcml2ID0gJnZuZGV2LT5yeHFzW2lk
XTsKPiArCQl2bmRldi0+cnhxc1tpZF0ubmRldiA9ICZ2bmRldi0+bmV0ZGV2Owo+ICsJCXZuZGV2
LT5yeHFzW2lkXS52cSA9IHZxOwo+ICsJCXZuZGV2LT5yeHFzW2lkXS5uYl9kZXNjID0gbnJfZGVz
YzsKPiArCQl2bmRldi0+cnhxc1tpZF0ubHF1ZXVlX2lkID0gcXVldWVfaWQ7Cj4gKwkJdm5kZXYt
PnJ4X3ZxdWV1ZV9jbnQrKzsKPiArCX0gZWxzZSB7Cj4gKwkJdm5kZXYtPnR4cXNbaWRdLnZxID0g
dnE7Cj4gKwkJdm5kZXYtPnJ4cXNbaWRdLm5kZXYgPSAmdm5kZXYtPm5ldGRldjsKClNob3VsZG4n
dCB0aGlzIGJlIHR4cXMsIHRvbz8KCj4gKwkJdm5kZXYtPnR4cXNbaWRdLm5iX2Rlc2MgPSBucl9k
ZXNjOwo+ICsJCXZuZGV2LT50eHFzW2lkXS5scXVldWVfaWQgPSBxdWV1ZV9pZDsKPiArCQl2bmRl
di0+dHhfdnF1ZXVlX2NudCsrOwo+ICsJfQo+ICsJcmV0dXJuIGlkOwo+ICAgfQo+ICAgCj4gICBz
dGF0aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9z
ZXR1cCgKPiBAQCAtMjUxLDEyICszNjksMjkgQEAgc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfdHhf
cXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVldWVfc2V0dXAoCj4gICB9Cj4gICAKPiAgIHN0YXRp
YyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+
IC0JCQkJICAgICAgX191MTYgcXVldWVfaWQgX191bnVzZWQsCj4gKwkJCQkgICAgICBfX3UxNiBx
dWV1ZV9pZCwKPiAgIAkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZv
KQo+ICAgewo+ICsJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKPiArCXN0cnVjdCB1
a19uZXRkZXZfcnhfcXVldWUgKnJ4cTsKPiArCWludCByYyA9IDA7Cj4gKwo+ICAgCVVLX0FTU0VS
VChkZXYpOwo+ICAgCVVLX0FTU0VSVChxaW5mbyk7Cj4gLQlyZXR1cm4gMDsKPiArCXZuZGV2ID0g
dG9fdmlydGlvbmV0ZGV2KGRldik7Cj4gKwlpZiAodW5saWtlbHkocXVldWVfaWQgPj0gdm5kZXYt
Pm1heF92cXVldWVfcGFpcnMpKSB7Cj4gKwkJdWtfcHJfZXJyKCJJbnZhbGlkIHZpcnRxdWV1ZSBp
ZDogJSJfX1BSSXUxNiJcbiIsIHF1ZXVlX2lkKTsKPiArCQlyYyA9IC1FSU5WQUw7Cj4gKwkJZ290
byBleGl0Owo+ICsJfQo+ICsJcnhxID0gJnZuZGV2LT5yeHFzW3F1ZXVlX2lkXTsKPiArCXFpbmZv
LT5uYl9taW4gPSAxOwo+ICsJcWluZm8tPm5iX21heCA9IHJ4cS0+bWF4X25iX2Rlc2M7Cj4gKwlx
aW5mby0+bmJfaXNfcG93ZXJfb2ZfdHdvID0gMTsKPiArCj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7
Cj4gKwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 20:41:10 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 20:41:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gF3UB-0000Yb-1E; Tue, 23 Oct 2018 20:41:07 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gF3U9-0000YW-OR
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 20:41:05 +0000
X-Inumbo-ID: 8bb97478-d703-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 8bb97478-d703-11e8-a8a5-bc764e045a96;
 Tue, 23 Oct 2018 22:38:07 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 24205F204B;
 Tue, 23 Oct 2018 22:41:01 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FqJfoTXNUNBB; Tue, 23 Oct 2018 22:41:01 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id E86B9F204A;
 Tue, 23 Oct 2018 22:40:56 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 22:40:56 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-5-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023224055910
Message-ID: <e9025fa1-4e41-8788-82fe-35d67fc8ced6@neclab.eu>
Date: Tue, 23 Oct 2018 22:40:55 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-5-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 4/7] plat/drivers:
 Configuring the transmit queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6NDAsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHBhdGNoIGludHJv
ZHVjZXMgdGhlIHZpcnRpbyBuZXQgZGV2aWNlIGltcGxlbWVudGF0aW9uIGZvcgo+IGNvbmZpZ3Vy
aW5nIHRoZSB0cmFuc21pdCBxdWV1ZQo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFu
YW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBD
b2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgcGxhdC9kcml2
ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKystCj4gICAxIGZpbGUgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQu
YyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gaW5kZXggM2IxNjMxZi4uN2Vm
ZmUxNSAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+ICsr
KyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gQEAgLTM2Myw5ICszNjMsMzIg
QEAgc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVl
dWVfc2V0dXAoCj4gICAJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYgX191
bnVzZWQpCj4gICB7Cj4gICAJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxID0gTlVMTDsK
PiArCXN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7Cj4gKwlpbnQgcmMgPSAwOwo+ICAg
Cj4gICAJVUtfQVNTRVJUKG4pOwo+ICsJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYobik7Cj4gKwlp
ZiAocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpIHsKPiArCQl1a19wcl9lcnIo
IkludmFsaWQgdmlydHF1ZXVlIGlkZW50aWZpZXI6ICUiX19QUkl1MTYiXG4iLAo+ICsJCQkgIHF1
ZXVlX2lkKTsKPiArCQlyYyA9IC1FSU5WQUw7Cj4gKwkJZ290byBlcnJfZXhpdDsKPiArCX0KPiAr
CS8qIFNldHVwIHRoZSB2aXJ0cXVldWUgKi8KPiArCXJjID0gdmlydGlvX25ldGRldl92cXVldWVf
c2V0dXAodm5kZXYsIHF1ZXVlX2lkLCBuYl9kZXNjLCBWTkVUX1RYLAo+ICsJCQkJCWNvbmYtPmEp
Owo+ICsJaWYgKHJjIDwgMCkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIHNldCB1cCB2aXJ0
cXVldWUgJSJfX1BSSXUxNiI6ICVkXG4iLAo+ICsJCQkgIHF1ZXVlX2lkLCByYyk7Cj4gKwkJZ290
byBlcnJfZXhpdDsKPiArCX0KPiArCXR4cSA9ICZ2bmRldi0+dHhxc1tyY107Cj4gK2V4aXQ6Cj4g
ICAJcmV0dXJuIHR4cTsKPiArCj4gK2Vycl9leGl0Ogo+ICsJdHhxID0gRVJSMlBUUihyYyk7Cj4g
Kwlnb3RvIGV4aXQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFf
aW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+IEBAIC0zOTgsOSArNDIxLDI2IEBAIHN0
YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2
LAo+ICAgCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAo+ICAgCQkJCSAgICAgIHN0
cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2UgKnZuZGV2Owo+ICsJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxOwo+
ICsJaW50IHJjID0gMDsKPiArCj4gICAJVUtfQVNTRVJUKGRldik7Cj4gICAJVUtfQVNTRVJUKHFp
bmZvKTsKPiAtCXJldHVybiAwOwo+ICsKPiArCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KGRldik7
Cj4gKwlpZiAodW5saWtlbHkocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpKSB7
Cj4gKwkJdWtfcHJfZXJyKCJJbnZhbGlkIHF1ZXVlX2lkICUiX19QUkl1MTYiXG4iLCBxdWV1ZV9p
ZCk7Cj4gKwkJcmMgPSAtRUlOVkFMOwo+ICsJCWdvdG8gZXhpdDsKPiArCX0KPiArCXR4cSA9ICZ2
bmRldi0+dHhxc1txdWV1ZV9pZF07Cj4gKwlxaW5mby0+bmJfbWluID0gMTsKPiArCXFpbmZvLT5u
Yl9tYXggPSB0eHEtPm1heF9uYl9kZXNjOwo+ICsJcWluZm8tPm5iX2lzX3Bvd2VyX29mX3R3byA9
IDE7Cj4gKwo+ICtleGl0Ogo+ICsJcmV0dXJuIHJjOwo+ICAgfQo+ICAgCj4gICBzdGF0aWMgdW5z
aWduZWQgdmlydGlvX25ldF9wcm9taXNjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+IAoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 20:42:05 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 20:42:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gF3V7-0000a5-4X; Tue, 23 Oct 2018 20:42:05 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gF3V5-0000a0-UU
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 20:42:03 +0000
X-Inumbo-ID: 4d3d1b4b-d704-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 4d3d1b4b-d704-11e8-a6a9-d7ebe60f679a;
 Tue, 23 Oct 2018 20:43:31 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E5C79104A4B;
 Tue, 23 Oct 2018 22:42:00 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Fj6gkyZ2vU4q; Tue, 23 Oct 2018 22:42:00 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id C43EC1002D2;
 Tue, 23 Oct 2018 22:41:56 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 22:41:56 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-6-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023224155876
Message-ID: <bab86523-61f9-7c57-f055-00fb9542824d@neclab.eu>
Date: Tue, 23 Oct 2018 22:41:55 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-6-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 5/7] plat/drivers: Configure
 receive queue interrupt
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6NDAsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHBhdGNoIGltcGxl
bWVudHMgZW5hYmxlIGFuZCBkaXNhYmxpbmcgaW50ZXJydXB0IG9uIHRoZSByZWNlaXZlCj4gcXVl
dWUuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5h
bUBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29q
b2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19u
ZXQuYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKystLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDIy
IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMKPiBpbmRleCA3ZWZmZTE1Li5lMWQwYTA5IDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMKPiBAQCAtNjM1LDE5ICs2MzUsMzkgQEAgZXJyX25lZ290aWF0ZV9mZWF0dXJlOgo+ICAgfQo+
ICAgCj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9lbmFibGUoc3RydWN0IHVrX25l
dGRldiAqbiwKPiAtCQkJCSAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191
bnVzZWQpCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlKQo+ICAg
ewo+ICsJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICpkIF9fdW51c2VkOwo+ICAgCWludCByYyA9
IDA7Cj4gICAKPiAgIAlVS19BU1NFUlQobik7Cj4gKwlkID0gdG9fdmlydGlvbmV0ZGV2KG4pOwo+
ICsJLyogSWYgdGhlIGludGVycnVwdCBpcyBlbmFibGVkICovCj4gKwlpZiAocXVldWUtPmludHJf
ZW5hYmxlZCAmIFZUTkVUX0lOVFJfRU4pCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJLyoqCj4gKwkg
KiBFbmFibGUgdGhlIHVzZXIgY29uZmlndXJhdGlvbiBiaXQuIFRoaXMgd291bGQgY2F1c2UgdGhl
IGludGVycnVwdCB0bwo+ICsJICogYmUgZW5hYmxlZCBhdXRvbWF0aWNhbGx5LCBpZiB0aGUgaW50
ZXJydXB0IGNvdWxkIG5vdCBiZSBlbmFibGVkIG5vdwo+ICsJICogZHVlIHRvIGRhdGEgaW4gdGhl
IHF1ZXVlLgo+ICsJICovCj4gKwlxdWV1ZS0+aW50cl9lbmFibGVkID0gVlRORVRfSU5UUl9VU1Jf
RU47Cj4gKwlyYyA9IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShxdWV1ZS0+dnEpOwo+ICsJaWYgKCFy
YykKPiArCQlxdWV1ZS0+aW50cl9lbmFibGVkIHw9IFZUTkVUX0lOVFJfRU47Cj4gICAKPiAgIAly
ZXR1cm4gcmM7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2Rp
c2FibGUoc3RydWN0IHVrX25ldGRldiAqbiwKPiAtCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZf
cnhfcXVldWUgKnF1ZXVlIF9fdW51c2VkKQo+ICsJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9y
eF9xdWV1ZSAqcXVldWUpCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2
IF9fdW51c2VkOwo+ICsKPiAgIAlVS19BU1NFUlQobik7Cj4gKwl2bmRldiA9IHRvX3ZpcnRpb25l
dGRldihuKTsKPiArCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUocXVldWUtPnZxKTsKPiArCXF1ZXVl
LT5pbnRyX2VuYWJsZWQgJj0gfihWVE5FVF9JTlRSX1VTUl9FTiB8IFZUTkVUX0lOVFJfRU4pOwo+
ICAgCXJldHVybiAwOwo+ICAgfQo+ICAgCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 20:43:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 20:43:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gF3WH-0000bd-9D; Tue, 23 Oct 2018 20:43:17 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gF3WF-0000bU-Og
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 20:43:15 +0000
X-Inumbo-ID: da720bf3-d703-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id da720bf3-d703-11e8-a8a5-bc764e045a96;
 Tue, 23 Oct 2018 22:40:19 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 6907CF204B;
 Tue, 23 Oct 2018 22:43:13 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id MOYMgcj_fUm9; Tue, 23 Oct 2018 22:43:13 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 399BCF204A;
 Tue, 23 Oct 2018 22:43:09 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct
 2018 22:43:08 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-7-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181023224308263
Message-ID: <0803c355-9f6b-e278-06c3-65bb0a34e770@neclab.eu>
Date: Tue, 23 Oct 2018 22:43:08 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-7-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 6/7] plat/drivers: Starting
 the virtio device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MTkuMTAuMTggMTU6NDAsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gU2lnbmVkLW9mZi1ieTog
U2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9m
Zi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0t
Cj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyB8IDI2ICsrKysrKysrKysrKysr
KysrKysrKysrKysrCj4gICAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKQo+IAo+IGRp
ZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCj4gaW5kZXggZTFkMGEwOS4uZTc1ODFmMSAxMDA2NDQKPiAt
LS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+ICsrKyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCj4gQEAgLTY4NSw3ICs2ODUsMzMgQEAgc3RhdGljIHZvaWQg
dmlydGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gICAKPiAgIHN0YXRp
YyBpbnQgdmlydGlvX25ldF9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICAgewo+ICsJc3Ry
dWN0IHZpcnRpb19uZXRfZGV2aWNlICpkOwo+ICsJaW50IGkgPSAwOwo+ICsKPiAgIAlVS19BU1NF
UlQobiAhPSBOVUxMKTsKPiArCWQgPSB0b192aXJ0aW9uZXRkZXYobik7Cj4gKwo+ICsJLyoKPiAr
CSAqIEJ5IGRlZmF1bHQsIGludGVycnVwdHMgYXJlIGRpc2FibGVkIGFuZCBpdCBpcyB1cCB0byB0
aGUgdXNlciBvcgo+ICsJICogbmV0d29yayBzdGFjayB0byBtYW51YWxseSBlbmFibGUgdGhlbSB3
aXRoIGEgY2FsbCB0bwo+ICsJICogZW5hYmxlX3R4fHJ4X2ludHIoKQo+ICsJICovCj4gKwlmb3Ig
KGkgPSAwOyBpIDwgZC0+cnhfdnF1ZXVlX2NudDsgaSsrKSB7Cj4gKwkJdmlydHF1ZXVlX2ludHJf
ZGlzYWJsZShkLT5yeHFzW2ldLnZxKTsKPiArCQlkLT5yeHFzW2ldLmludHJfZW5hYmxlZCA9IDA7
Cj4gKwl9Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IGQtPnR4X3ZxdWV1ZV9jbnQ7IGkrKykgewo+
ICsJCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUoZC0+dHhxc1tpXS52cSk7Cj4gKwkJZC0+dHhxc1tp
XS5pbnRyX2VuYWJsZWQgPSAwOwo+ICsJfQo+ICsKPiArCS8qCj4gKwkgKiBTZXQgdGhlIERSSVZF
Ul9PSyBzdGF0dXMgYml0LiBBdCB0aGlzIHBvaW50IHRoZSBkZXZpY2UgaXMgImxpdmUiLgo+ICsJ
ICovCj4gKwl2aXJ0aW9fZGV2X2Rydl91cChkLT52ZGV2KTsKPiArCXVrX3ByX2luZm8oRFJJVkVS
X05BTUUiOiAlIl9fUFJJdTE2IiBzdGFydGVkXG4iLCBkLT51aWQpOwo+ICsKPiAgIAlyZXR1cm4g
MDsKPiAgIH0KPiAgIAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVu
cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv
L21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Tue Oct 23 22:05:41 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Tue, 23 Oct 2018 22:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gF4o0-0006is-MU; Tue, 23 Oct 2018 22:05:40 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=cgcs=nd=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gF4nz-0006i6-Bi
 for minios-devel@lists.xen.org; Tue, 23 Oct 2018 22:05:39 +0000
X-Inumbo-ID: 5b9a25cf-d70f-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5b9a25cf-d70f-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 00:02:40 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 547E2F204A;
 Wed, 24 Oct 2018 00:05:34 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id BBPozpmE2aww; Wed, 24 Oct 2018 00:05:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 1C260F204B;
 Wed, 24 Oct 2018 00:05:30 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 00:05:29 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539956404-13127-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539956404-13127-8-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181024000528656
Message-ID: <e012985a-c025-1788-b535-4af8f6148e2c@neclab.eu>
Date: Wed, 24 Oct 2018 00:05:28 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1539956404-13127-8-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 7/7] plat/drivers: Receive
 and Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

T24gMTkuMTAuMTggMTU6NDAsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBh
ZGQgdGhlIHRyYW5zbWlzc2lvbiBhbmQgcmVjZWl2ZSBvcGVyYXRpb24gZm9yIHRoZQo+IHZpcnRp
by1uZXQgZGV2aWNlLiBXZSBleHRlbmQgdGhlIHNjYXR0ZXIgZ2F0aGVyIGxpc3QgdG8gb3BlcmF0
ZQo+IG9uIHRoZSBuZXRidWYuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9j
YXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0tCj4gICBsaWIvdWtzZ2xpc3Qv
ZXhwb3J0c3ltcy51ayAgICAgICB8ICAgMSArCj4gICBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9z
Z2xpc3QuaCB8ICAxOCArKysKPiAgIGxpYi91a3NnbGlzdC9zZ2xpc3QuYyAgICAgICAgICAgIHwg
IDI1ICsrKysKPiAgIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMjkyICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAz
MzMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3Vr
c2dsaXN0L2V4cG9ydHN5bXMudWsgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IGluZGV4
IGExZTliMzcuLmY4YzYwZjcgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc2dsaXN0L2V4cG9ydHN5bXMu
dWsKPiArKysgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IEBAIC05LDMgKzksNCBAQCB1
a19zZ2xpc3RfbGVuZ3RoCj4gICB1a19zZ2xpc3Rfc3BsaXQKPiAgIHVrX3NnbGlzdF9qb2luCj4g
ICB1a19zZ2xpc3Rfc2xpY2UKPiArdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYKPiBkaWZmIC0tZ2l0
IGEvbGliL3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0LmggYi9saWIvdWtzZ2xpc3QvaW5jbHVk
ZS91ay9zZ2xpc3QuaAo+IGluZGV4IGE4OWIxMGQuLmRiMDAwYzAgMTAwNjQ0Cj4gLS0tIGEvbGli
L3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0LmgKPiArKysgYi9saWIvdWtzZ2xpc3QvaW5jbHVk
ZS91ay9zZ2xpc3QuaAo+IEBAIC00NCwxMiArNDQsMTYgQEAKPiAgIGV4dGVybiAiQyIgewo+ICAg
I2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCj4gICAKPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+
ICAgI2luY2x1ZGUgPHN0ZGludC5oPgo+ICAgI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAg
ICNpbmNsdWRlIDx1ay9yZWZjb3VudC5oPgo+ICAgI2lmZGVmIENPTkZJR19MSUJVS0FMTE9DCj4g
ICAjaW5jbHVkZSA8dWsvYWxsb2MuaD4KPiAgICNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAq
Lwo+ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCj4gKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4K
PiArI2VuZGlmIC8qIENPTkZJR19MSUJVS05FVERFViAqLwo+ICAgCj4gICBzdHJ1Y3QgdWtfc2ds
aXN0X3NlZyB7Cj4gICAJX19waHlzX2FkZHIgIHNzX3BhZGRyOyAvKiBQaHlzaWNhbCBhZGRyZXNz
ICovCj4gQEAgLTI2NSw2ICsyNjksMjAgQEAgaW50IHVrX3NnbGlzdF9zbGljZShzdHJ1Y3QgdWtf
c2dsaXN0ICpvcmlnaW5hbCwgc3RydWN0IHVrX3NnbGlzdCAqKnNsaWNlLAo+ICAgCQkJc3RydWN0
IHVrX2FsbG9jICphLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKTsKPiAgICNlbmRpZiAv
KiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICAgCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVYK
PiArLyoqCj4gKyAqIFRoZSBmdW5jdGlvbiBjcmVhdGUgYSBzY2F0dGVyIGdhdGhlciBsaXN0IGZy
b20gdGhlIG5ldGJ1Zgo+ICsgKiBAcGFyYW0gc2cKPiArICoJQSByZWZlcmVuY2UgdG8gdGhlIHNj
YXR0ZXIgZ2F0aGVyIGxpc3QuCj4gKyAqIEBwYXJhbSBtMAo+ICsgKglBIHJlZmVyZW5jZSB0byB0
aGUgbmV0YnVmCj4gKyAqIEByZXR1cm4KPiArICoJMCwgb24gc3VjY2Vzc2Z1bCBjcmVhdGlvbiBv
ZiB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdAo+ICsgKgktRUlOVkFMLCBJbnZhbGlkIHNnIGxpc3Qu
Cj4gKyAqLwo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlzdCAq
c2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1Zik7Cj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtO
RVQgKi8KPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZiAvKiBfX2Nw
bHVzcGx1cyAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMgYi9saWIvdWtz
Z2xpc3Qvc2dsaXN0LmMKPiBpbmRleCAwZWMyMTA1Li41MDc4N2IzIDEwMDY0NAo+IC0tLSBhL2xp
Yi91a3NnbGlzdC9zZ2xpc3QuYwo+ICsrKyBiL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwo+IEBAIC01
MzEsMyArNTMxLDI4IEBAIGludCB1a19zZ2xpc3Rfc2xpY2Uoc3RydWN0IHVrX3NnbGlzdCAqb3Jp
Z2luYWwsIHN0cnVjdCB1a19zZ2xpc3QgKipzbGljZSwKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAg
ICNlbmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLwo+ICsKPiArI2lmZGVmIENPTkZJR19MSUJVS05F
VERFVgo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlzdCAqc2cs
IHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKPiArewo+ICsJc3RydWN0IHNnc2F2ZSBzYXZlOwo+
ICsJc3RydWN0IHVrX25ldGJ1ZiAqbmI7Cj4gKwlpbnQgZXJyb3I7Cj4gKwo+ICsJaWYgKHNnLT5z
Z19tYXhzZWcgPT0gMCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwllcnJvciA9IDA7Cj4g
KwlTR0xJU1RfU0FWRShzZywgc2F2ZSk7Cj4gKwlmb3IgKG5iID0gbmV0YnVmOyBuYiAhPSBOVUxM
OyBuYiA9IG5iLT5uZXh0KSB7CgpZb3UgY291bGQgdXNlIHRoZSBVS19ORVRCVUZfQ0hBSU5fRk9S
RUFDSCBtYWNybyBpbnN0ZWFkIChzZWUgbmV0YnVmLmgpLgpJdCB3b3VsZCBtYWtlIHlvdXIgaW1w
bGVtZW50YXRpb24gaW5kZXBlbmRlbnQgb2YgdGhlIHdheSBuZXRidWZzIGFyZSAKY2hhaW5lZC4K
Cj4gKwkJaWYgKG5iLT5sZW4gPiAwKSB7CgpQcm9iYWJseSB5b3UgY291bGQgYWRkIGEgJ2xpa2Vs
eScgdG8gdGhpcyBjb25kaXRpb24gY2hlY2sgYXMgb3B0aW1pemF0aW9uLgoKPiArCQkJZXJyb3Ig
PSB1a19zZ2xpc3RfYXBwZW5kKHNnLCBuYi0+ZGF0YSwgbmItPmxlbik7Cj4gKwkJCWlmIChlcnJv
cikgewoKUHJvYmFibHkgeW91IGNvdWxkIGFkZCBhbiAndW5saWtlbHknIHRvIHRoZSBlcnJvciBj
YXNlIGFzIG9wdGltaXphdGlvbi4KCj4gKwkJCQlTR0xJU1RfUkVTVE9SRShzZywgc2F2ZSk7Cj4g
KwkJCQlyZXR1cm4gZXJyb3I7Cj4gKwkJCX0KPiArCQl9Cj4gKwl9Cj4gKwlyZXR1cm4gMDsKPiAr
fQo+ICsjZW5kaWYgLyogQ09ORklHX0xJQlVLTkVUICovCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMKPiBpbmRleCBlNzU4MWYxLi5lODczZWI5IDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMKPiBAQCAtNzksNiArNzksMTcgQEAgdHlwZWRlZiBlbnVtIHsKPiAgIH0gdmlydHFfdHlwZV90
Owo+ICAgCj4gICAvKioKPiArICogV2hlbiBtZXJnZWFibGUgYnVmZmVycyBhcmUgbm90IG5lZ290
aWF0ZWQsIHRoZSB2dG5ldF9yeF9oZWFkZXIgc3RydWN0dXJlCj4gKyAqIGJlbG93IGlzIHBsYWNl
ZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXRidWYgZGF0YS4gVXNlIDQgYnl0ZXMgb2YgcGFk
IHRvCj4gKyAqIGJvdGgga2VlcCB0aGUgVmlydElPIGhlYWRlciBhbmQgdGhlIGRhdGEgbm9uLWNv
bnRpZ3VvdXMgYW5kIHRvIGtlZXAgdGhlCj4gKyAqIGZyYW1lJ3MgcGF5bG9hZCA0IGJ5dGUgYWxp
Z25lZC4KPiArICovCj4gK3N0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkciB7Cj4gKwlzdHJ1Y3Qgdmly
dGlvX25ldF9oZHIgdmhkcjsKPiArCWNoYXIgICAgICAgICAgICB2cmhfcGFkW1ZUTkVUX1JYX0hF
QURFUl9QQURdOwo+ICt9Owo+ICsKPiArLyoqCj4gICAgKiBAaW50ZXJuYWwgc3RydWN0dXJlIHRv
IHJlcHJlc2VudCB0aGUgdHJhbnNtaXQgcXVldWUuCj4gICAgKi8KPiAgIHN0cnVjdCB1a19uZXRk
ZXZfdHhfcXVldWUgewo+IEBAIC0xODAsNiArMTkxLDcgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0
X3J4X2ludHJfZGlzYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAgCQkJCSAgICAgIHN0cnVj
dCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlKTsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldF9y
eF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAgCQkJCSAgICAgc3RydWN0IHVr
X25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOwo+ICtzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0ZGV2X3ht
aXRfZnJlZShzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpOwo+ICAgc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3htaXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICAgCQkJICAgICAgc3Ry
dWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCj4gICAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0
YnVmICpwa3QpOwo+IEBAIC0xOTUsNyArMjA3LDEzIEBAIHN0YXRpYyBpbnQgdmlydGlvX25ldGRl
dl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKPiAg
IAkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKPiAgIHN0YXRp
YyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBf
X3UxNiBxdWV1ZV9pZCwKPiAgIAkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8g
KnFpbmZvKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9kZXF1ZXVlKHN0cnVjdCB1
a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKPiArCQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqKm5l
dGJ1Zik7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShzdHJ1Y3QgdWtf
bmV0ZGV2X3J4X3F1ZXVlICpyeHEsCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1
Zik7Cj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxLCB2b2lkICpwcml2KTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4X2ZpbGx1
cChzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEsCj4gKwkJc3RydWN0IHVrX25ldGJ1ZiAq
Km5ldGJ1ZiwgX191MTYgKmNvdW50KTsKPiAgIAo+ICAgLyoqCj4gICAgKiBTdGF0aWMgZ2xvYmFs
IGNvbnN0YW50cwo+IEBAIC0yMjMsMzAgKzI0MSwyOTggQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0
ZGV2X3JlY3ZfZG9uZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdm9pZCAqcHJpdikKPiAgIAlyZXR1
cm4gMTsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0ZGV2X3htaXRfZnJlZShz
dHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpCj4gK3sKPiArCXN0cnVjdCB1a19uZXRidWYg
KnBrdCA9IE5VTEw7Cj4gKwlpbnQgY250ID0gMDsKPiArCj4gKwlwa3QgPSAoc3RydWN0IHVrX25l
dGJ1ZiAqKSB2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUodHhxLT52cSwgTlVMTCk7Cj4gKwl3aGls
ZSAocGt0KSB7Cj4gKwkJLyoqCj4gKwkJICogUmVsZWFzaW5nIHRoZSBmcmVlIGJ1ZmZlciBiYWNr
IHRvIG5ldGJ1Zi4gVGhlIG5ldGJ1ZiBjb3VsZAo+ICsJCSAqIHVzZSB0aGUgZGVzdHJ1Y3RvciB0
byBpbmZvcm0gdGhlIHN0YWNrIHJlZ2FyZGluZyB0aGUgZnJlZSB1cAo+ICsJCSAqIG9mIG1lbW9y
eS4KPiArCQkgKi8KPiArCQl1a19uZXRidWZfZnJlZShwa3QpOwo+ICsJCWNudCsrOwo+ICsJCXBr
dCA9IChzdHJ1Y3QgdWtfbmV0YnVmICopCj4gKwkJCXZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZSh0
eHEtPnZxLCBOVUxMKTsKPiArCX0KClRoaXMgdHlwZSBvZiBsb29wIHdvdWxkIGF2b2lkIHRoZSBk
dXBsaWNhdGVkIHZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZSgpIApjYWxsLiBXaGF0IGRvIHlvdSB0
aGluaz8KCmZvciAoOzspIHsKICAgcGt0ID0gKHN0cnVjdCB1a19uZXRidWYgKikgdmlydHF1ZXVl
X2J1ZmZlcl9kZXF1ZXVlKHR4cS0+dnEsIE5VTEwpOwogICBpZiAoIXBrdCkKICAgICBicmVhazsK
ICAgY250Kys7CiAgIHVrX25ldGJ1Zl9mcmVlKHBrdCk7Cn0KCj4gKwl1a19wcl9kZWJ1ZygiRnJl
ZSAlIl9fUFJJdTE2IiBkZXNjcmlwdG9yc1xuIiwgY250KTsKCkkgd291bGQgc2F5ICIlIl9fUFJJ
dTE2IiBkZXNjcmlwdG9ycyBmcmVlJ2RcbiIKCj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlv
X25ldGRldl9yeF9maWxsdXAoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAo+ICsJCXN0
cnVjdCB1a19uZXRidWYgKipuZXRidWYsIF9fdTE2ICpjb3VudCkKPiArewo+ICsJaW50IHJjID0g
MDsKPiArCV9fdTE2IGkgPSAwOwo+ICsJX191MTYgY250ID0gMDsKPiArCj4gKwkvKioKPiArCSAq
IEZpeGVkIGFtb3VudCBvZiBtZW1vcnkgaXMgYWxsb2NhdGVkIHRvIGVhY2ggcmVjZWl2ZWQgYnVm
ZmVyLiBJbgo+ICsJICogb3VyIGNhc2Ugc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBqdW1ibyBmcmFt
ZSBvciBMUk8geWV0IHdlIHJlcXVpcmUKPiArCSAqIHRoYXQgdGhlIGJ1ZmZlciBmZWVkIHRvIHRo
ZSByaW5nIGRlc2NyaXB0b3IgaXMgYXRsZWFzdAo+ICsJICogZXRoZXJuZXQgTVRVICsgdmlydGlv
IG5ldCBoZWFkZXIuCj4gKwkgKi8KPiArCWZvciAoaSA9IDA7IGkgPCAqY291bnQ7IGkrKykgewo+
ICsJCXJjID0gdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShyeHEsIG5ldGJ1ZltpXSk7Cj4gKwkJ
aWYgKHJjID09IC1FTk9TUEMpIHsKPiArCQkJdWtfcHJfZGVidWcoCj4gKwkJCQkiTm8gbW9yZSBw
bGFjZSBhdmFpbGFibGUgdG8gYWRkIGRlc2NyaXB0b3JzXG4iKTsKPiArCQkJcmMgPSAwOwo+ICsJ
CQlicmVhazsKPiArCQl9IGVsc2UgaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKPiArCQkJdWtfcHJf
ZXJyKCJGYWlsZWQgdG8gYWRkIGEgYnVmZmVyIHRvIHRoZSB2aXJ0cXVldWU6ICVkXG4iLAo+ICsJ
CQkJICByYyk7Cj4gKwkJCWJyZWFrOwo+ICsJCX0KPiArCQljbnQrKzsKPiArCX0KPiArCSpjb3Vu
dCA9ICpjb3VudCAtIGNudDsgPiArCj4gKwkvKioKPiArCSAqIE5vdGlmeSB0aGUgaG9zdCwgd2hl
biB3ZSBzdWJtaXQgbmV3IGRlc2NyaXB0b3IocykuCj4gKwkgKi8KPiArCWlmIChjbnQpCj4gKwkJ
dmlydHF1ZXVlX2hvc3Rfbm90aWZ5KHJ4cS0+dnEpOwo+ICsKPiArCXJldHVybiByYzsKPiArfQo+
ICsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRl
diwKPiAgIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAo+ICAgCQkJ
ICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+ICAgewo+ICsJc3RydWN0IHZpcnRpb19uZXRf
ZGV2aWNlICp2bmRldiBfX3VudXNlZDsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2hkciAqdmhkcjsK
PiArCWludDE2X3QgaGVhZGVyX3N6ID0gc2l6ZW9mKCp2aGRyKTsKPiAgIAlpbnQgcmMgPSAwOwo+
ICsJc2l6ZV90IHRvdGFsX2xlbiA9IDA7Cj4gICAKPiAgIAlVS19BU1NFUlQoZGV2KTsKPiAgIAlV
S19BU1NFUlQocGt0ICYmIHF1ZXVlKTsKPiAgIAo+ICsJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYo
ZGV2KTsKPiArCS8qKgo+ICsJICogV2UgYXJlIHJlY2xhaW1pbmcgdGhlIGZyZWUgZGVzY3JpcHRv
cnMgZnJvbSBidWZmZXJzLiBUaGUgZnVuY3Rpb24gaXMKPiArCSAqIG5vdCBwcm90ZWN0ZWQgYnkg
bWVhbnMgb2YgbG9ja3MuIFdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpZiB0aGVyZSBhcmUKPiArCSAq
IG11bHRpcGxlIGNvbnRleHQgdGhyb3VnaCB3aGljaCB3ZSBmcmVlIHRoZSB0eCBkZXNjcmlwdG9y
cy4KPiArCSAqLwo+ICsJdmlydGlvX25ldGRldl94bWl0X2ZyZWUocXVldWUpOwo+ICsKPiArCS8q
Kgo+ICsJICogRmV0Y2ggdGhlIHZpcnRpby1uZXQtaGVhZGVyIGZyb20gYSBwcmUtYWxsb2NhdGVk
IGxpc3QuCj4gKwkgKi8KClRoaXMgY29tbWVudCBtaWdodCBiZSBjb25mdXNpbmcuIEhvdyBhYm91
dAoiQ2xhaW1pbmcgaGVhZCBzcGFjZSB0byBwbGFjZSB2aXJ0aW8tbmV0LWhlYWRlciBsYXRlciI/
Cgo+ICsJcmMgPSB1a19uZXRidWZfaGVhZGVyKHBrdCwgaGVhZGVyX3N6KTsKPiArCWlmIChyYyAh
PSAxKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWxsb2NhdGVkIGhlYWRlciBtZW1vcnlc
biIpOwo+ICsJCXJjID0gLUVOT1NQQzsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4gKwl2aGRyID0g
cGt0LT5kYXRhOwo+ICsKPiArCS8qKgo+ICsJICogRmlsbCB0aGUgdmlydGlvLW5ldC1oZWFkZXIg
d2l0aCB0aGUgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLgo+ICsJICogWmVybyBleHBsaWNpdGx5IHNl
dC4KPiArCSAqLwo+ICsJdmhkci0+ZmxhZ3MgPSAwOwo+ICsJdmhkci0+Z3NvX3R5cGUgPSBWSVJU
SU9fTkVUX0hEUl9HU09fTk9ORTsKPiArCj4gKwkvKioKPiArCSAqIFByZXBhcmUgdGhlIHNnbGlz
dCBhbmQgZW5xdWV1ZSB0aGUgYnVmZmVyIHRvIHRoZSB2aXJ0aW8tcmluZy4KPiArCSAqLwo+ICsJ
dWtfc2dsaXN0X3Jlc2V0KCZxdWV1ZS0+c2cpOwo+ICsKPiArCS8qKgo+ICsJICogQWNjb3JkaW5n
IHRoZSBzcGVjaWZpY2F0aW9uIDUuMS42LjYsIHdlIG5lZWQgdG8gZXhwbGljaXRseSB1c2UKPiAr
CSAqIDIgZGVzY3JpcHRvciBmb3IgZWFjaCB0cmFuc21pdCBhbmQgcmVjZWl2ZSBuZXR3b3JrIHBh
Y2tldCBzaW5jZSB3ZQo+ICsJICogZG8gbm90IG5lZ290aWF0ZSBmb3IgdGhlIFZJUlRJT19GX0FO
WV9MQVlPVVQuCj4gKwkgKgo+ICsJICogMSBmb3IgdGhlIHZpcnRpbyBoZWFkZXIgYW5kIHRoZSBv
dGhlciBmb3IgdGhlIGFjdHVhbCBuZXR3b3JrIHBhY2tldC4KPiArCSAqLwo+ICsJLyogQXBwZW5k
aW5nIHRoZSBkYXRhIHRvIHRoZSBsaXN0LiAqLwo+ICsJcmMgPSB1a19zZ2xpc3RfYXBwZW5kKCZx
dWV1ZS0+c2csIHZoZHIsIGhlYWRlcl9zeik7Cj4gKwlpZiAodW5saWtlbHkocmMgIT0gMCkpIHsK
PiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOwo+ICsJ
CWdvdG8gZXhpdDsKPiArCX0KPiArCXJjID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVldWUtPnNnLCBw
a3QtPmRhdGEgKyBoZWFkZXJfc3osCj4gKwkJCShwa3QtPmxlbiAtIGhlYWRlcl9zeikpOwo+ICsJ
aWYgKHVubGlrZWx5KHJjICE9IDApKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYXBwZW5k
IHRvIHRoZSBzZyBsaXN0XG4iKTsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4gKwlpZiAocGt0LT5u
ZXh0KSB7Cj4gKwkJcmMgPSB1a19zZ2xpc3RfYXBwZW5kX25ldGJ1ZigmcXVldWUtPnNnLCBwa3Qt
Pm5leHQpOwo+ICsJCWlmICh1bmxpa2VseShyYyAhPSAwKSkgewo+ICsJCQl1a19wcl9lcnIoIkZh
aWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOwo+ICsJCQlnb3RvIGV4aXQ7Cj4gKwkJ
fQo+ICsJfQo+ICsKPiArCXRvdGFsX2xlbiA9IHVrX3NnbGlzdF9sZW5ndGgoJnF1ZXVlLT5zZyk7
Cj4gKwlpZiAodW5saWtlbHkodG90YWxfbGVuID4gVklSVElPX1BLVF9CVUZGRVJfTEVOKSkgewo+
ICsJCXVrX3ByX2VycigiUGFja2V0IHNpemU6ICVsdSwgTWF4IEFsbG93ZWQgc2l6ZToldVxuIiwK
PiArCQkJICB0b3RhbF9sZW4sIFZJUlRJT19QS1RfQlVGRkVSX0xFTik7CgpJIHdvdWxkIGNvcnJl
Y3QgdGhlIGZvcm1hdHRpbmcgb2YgdGhlIGVycm9yIG1lc3NhZ2Ugc2xpZ2h0bHk6Cgp1a19wcl9l
cnIoIlBhY2tldCBzaXplIHRvbyBiaWc6ICVsdSwgbWF4OiAldVxuIiwKICAgICAgICAgICB0b3Rh
bF9sZW4sIFZJUlRJT19QS1RfQlVGRkVSX0xFTik7Cgo+ICsJCXJldHVybiAtRU5PVFNVUDsKPiAr
CX0KPiArCj4gKwkvKioKPiArCSAqIEFkZGluZyB0aGUgZGVzY3JpcHRvcnMgdG8gdGhlIHZpcnRx
dWV1ZS4KPiArCSAqLwo+ICsJcmMgPSB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocXVldWUtPnZx
LCBwa3QsICZxdWV1ZS0+c2csCj4gKwkJCQkgICAgICBxdWV1ZS0+c2cuc2dfbnNlZywgMCk7Cj4g
KwlpZiAobGlrZWx5KHJjID49IDApKSB7Cj4gKwkJLyoqCj4gKwkJICogTm90aWZ5IHRoZSBob3N0
IHRoZSBuZXcgYnVmZmVyLgo+ICsJCSAqLwo+ICsJCXZpcnRxdWV1ZV9ob3N0X25vdGlmeShxdWV1
ZS0+dnEpOwo+ICsJCS8qKgo+ICsJCSAqIFdoZW4gdGhlcmUgaXMgZnVydGhlciBzcGFjZSBhdmFp
bGFibGUgaW4gdGhlIHJpbmcKPiArCQkgKiByZXR1cm4gMiBlbHNlIDEuCj4gKwkJICovCj4gKwkJ
cmMgPSBsaWtlbHkocmMgPiAwKSA/IDIgOiAxOwo+ICsJfSBlbHNlIGlmIChyYyA9PSAtRU5PU1BD
KSB7Cj4gKwkJdWtfcHJfZGVidWcoIk5vIG1vcmUgZGVzY3JpcHRvciBhdmFpbGFibGVcbiIpOwo+
ICsJCXJjID0gMDsKPiArCX0gZWxzZSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZW5xdWV1
ZSBkZXNjcmlwdG9ycyBpbnRvIHRoZSByaW5nOiAlZFxuIiwKPiArCQkJICByYyk7Cj4gKwl9Cj4g
Kwo+ICtleGl0Ogo+ICAgCXJldHVybiByYzsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYgX191bnVzZWQsCj4gK3N0YXRpYyBp
bnQgdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpy
eHEsCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKPiArewo+ICsJaW50IHJj
ID0gMDsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkciAqcnhoZHI7Cj4gKwlfX3U4ICpidWZf
c3RhcnQ7Cj4gKwlzdHJ1Y3QgdWtfc2dsaXN0ICpzZzsKPiArCj4gKwlpZiAodmlydHF1ZXVlX2lz
X2Z1bGwocnhxLT52cSkpIHsKPiArCQl1a19wcl9kZWJ1ZygiVGhlIHZpcnRxdWV1ZSBpcyBmdWxs
XG4iKTsKPiArCQlyZXR1cm4gLUVOT1NQQzsKPiArCX0KPiArCXJ4aGRyID0gbmV0YnVmLT5kYXRh
Owo+ICsJYnVmX3N0YXJ0ID0gbmV0YnVmLT5kYXRhICsgc2l6ZW9mKCpyeGhkcik7CgpIdW0uLi4g
bWF5YmUgd2Ugc2hvdWxkIHVzZSB0aGUgcGFja2V0IGJ1ZmZlciBoZWFkcm9vbSBmdW5jdGlvbiBo
ZXJlLiBJdCAKbWlnaHQgbWFrZSB0aGUgdGhpbmdzIGlubGluZSB3aXRoIHRoZSB0eCBjb2RlLiBG
b3IgdGhpcywgbGlidWtuZXRkZXYgQVBJIAp3b3VsZCBuZWVkIHRvIGdldCBhIGNvbW1lbnQgdG8g
ZG9jdW1lbnQgdGhpcy4gVGhlIHVzZXIgd291bGQgbmVlZCB0byAKcmVzZXJ2ZSBuYl9lbmNhcCBv
ZiBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gYXMgaGVhZHJvb20gYnl0ZXMgb24gCmFsbG9jYXRpb24u
IE9yIHdvdWxkIHdlIG5lZWQgYW5vdGhlciBlbmNhcCBmaWVsZCBmb3IgcnhfZmlsbHVwIHBhY2tl
dHM/IApXaGF0IGRvIHlvdSB0aGluaz8KCllvdSBkbyBub3QgY2hlY2sgdGhhdCB5b3VyIGhlYWRl
ciBvcGVyYXRpb24gaXMgaW4gcmFuZ2UgCihuZXRidWYtPmJ1ZmxlbiksIHJpZ2h0PwoKPiArCXNn
ID0gJnJ4cS0+c2c7Cj4gKwl1a19zZ2xpc3RfcmVzZXQoc2cpOwo+ICsKPiArCS8qIEFwcGVuZGlu
ZyB0aGUgaGVhZGVyIGJ1ZmZlciB0byB0aGUgc2dsaXN0ICovCj4gKwl1a19zZ2xpc3RfYXBwZW5k
KHNnLCByeGhkciwgc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X2hkcikpOwo+ICsKPiArCS8qIEFw
cGVuZGluZyB0aGUgZGF0YSBidWZmZXIgdG8gdGhlIHNnbGlzdCAqLwo+ICsJdWtfc2dsaXN0X2Fw
cGVuZChzZywgYnVmX3N0YXJ0LAo+ICsJCQkgbmV0YnVmLT5sZW4gLSBzaXplb2YoKnJ4aGRyKSk7
Cj4gKwo+ICsJcmMgPSB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocnhxLT52cSwgbmV0YnVmLCBz
ZywgMCwgc2ctPnNnX25zZWcpOwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50
IHZpcnRpb19uZXRkZXZfcnhxX2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhx
LAo+ICsJCQkJICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmKQo+ICt7Cj4gKwlpbnQgcmMg
PSAwOwo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqYnVmID0gTlVMTDsKPiArCV9fdTMyIGxlbjsKPiAr
CV9fdTMyIG9mZnNldCA9IHNpemVvZihzdHJ1Y3QgdmlydGlvX25ldF9yeF9oZHIpOwo+ICsKPiAr
CVVLX0FTU0VSVChuZXRidWYpOwo+ICsKPiArCWJ1ZiA9IChzdHJ1Y3QgdWtfbmV0YnVmICopdmly
dHF1ZXVlX2J1ZmZlcl9kZXF1ZXVlKHJ4cS0+dnEsICZsZW4pOwo+ICsJaWYgKCFidWYpIHsKPiAr
CQl1a19wcl9kZWJ1ZygiTm8gZGF0YSBhdmFpbGFibGUgaW4gdGhlIHF1ZXVlXG4iKTsKPiArCQkq
bmV0YnVmID0gTlVMTDsKPiArCQlyZXR1cm4gMDsKPiArCX0KPiArCWlmICh1bmxpa2VseSgobGVu
IDwgVklSVElPX0hEUl9MRU4gKyBFVEhfSERSX0xFTikKPiArCQkgICAgIHx8IChsZW4gPiBWSVJU
SU9fUEtUX0JVRkZFUl9MRU4pKSkgewo+ICsJCXVrX3ByX2VycigiUmVjZWl2ZWQgaW52YWxpZCBw
YWNrZXQgc2l6ZToldVxuIiwKCkFkZCBhIHNwYWNlIGFmdGVyIHRoZSBjb2xvbi4KCj4gKwkJCSAg
bGVuKTsKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCj4gKwkvKioKPiArCSAqIFJlbW92
aW5nIHRoZSB2aXJ0aW8gaGVhZGVyIGZyb20gdGhlIGJ1ZmZlciBhbmQgYWRqdXN0aW5nIGxlbmd0
aC4KPiArCSAqIFdlIHBhZCAiVlRORVRfUlhfSEVBREVSX1BBRCIgdG8gdGhlIHJ4IGJ1ZmZlciB3
aGlsZSBlbnF1ZXVpbmcgZm9yCj4gKwkgKiBhbGlnbm1lbnQgb2YgdGhlIHBhY2tldCBkYXRhLiBX
ZSBjb21wZW5zYXRlIGZvciB0aGlzLCBieSBhZGRpbmcgdGhlCj4gKwkgKiAgcGFkZGluZyB0byB0
aGUgbGVuZ3RoIG9uIGRlcXVldWUuCj4gKwkgKi8KPiArCWJ1Zi0+bGVuID0gbGVuICsgVlRORVRf
UlhfSEVBREVSX1BBRDsKPiArCXJjID0gdWtfbmV0YnVmX2hlYWRlcihidWYsIC1vZmZzZXQpOwo+
ICsJVUtfQVNTRVJUKHJjID09IDEpOwo+ICsJKm5ldGJ1ZiA9IGJ1ZjsKPiArCj4gKwlyZXR1cm4g
MTsKPiArfQo+ICsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25l
dGRldiAqZGV2LAo+ICAgCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUs
Cj4gLQkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QgX191bnVzZWQsCj4gKwkJCSAgICAg
IHN0cnVjdCB1a19uZXRidWYgKipwa3QsCj4gICAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpm
aWxsdXBbXSwKPiAgIAkJCSAgICAgIHVpbnQxNl90ICpmaWxsdXBfY291bnQpCj4gICB7Cj4gICAJ
aW50IHJjID0gMDsKPiArCWludCBjbnQgPSAwOwo+ICAgCj4gICAJVUtfQVNTRVJUKGRldiAmJiBx
dWV1ZSk7Cj4gICAJVUtfQVNTRVJUKCFmaWxsdXAgfHwgKGZpbGx1cCAmJiAqZmlsbHVwX2NvdW50
ID4gMCkpOwo+ICAgCj4gLQlyZXR1cm4gcmM7Cj4gKwlpZiAocGt0ICYmIChxdWV1ZS0+aW50cl9l
bmFibGVkICYgVlRORVRfSU5UUl9VU1JfRU5fTUFTSykpIHsKPiArCQl2aXJ0cXVldWVfaW50cl9k
aXNhYmxlKHF1ZXVlLT52cSk7Cj4gKwkJcXVldWUtPmludHJfZW5hYmxlZCAmPSB+KFZUTkVUX0lO
VFJfRU4pOwo+ICsJfQo+ICsKPiArCWlmIChwa3QpIHsKPiArCQlyYyA9IHZpcnRpb19uZXRkZXZf
cnhxX2RlcXVldWUocXVldWUsIHBrdCk7Cj4gKwkJaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKPiAr
CQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZGVxdWV1ZSB0aGUgcGFja2V0OiAlZFxuIiwgcmMpOwo+
ICsJCQlnb3RvIGVycl9leGl0Owo+ICsJCX0KPiArCQljbnQgPSByYzsKPiArCX0KPiArCWlmIChm
aWxsdXApCj4gKwkJdmlydGlvX25ldGRldl9yeF9maWxsdXAocXVldWUsIGZpbGx1cCwgZmlsbHVw
X2NvdW50KTsKPiArCj4gKwkvKiBFbmFibGUgaW50ZXJydXB0IG9ubHkgd2hlbiB1c2VyIGhhZCBw
cmV2aW91c2x5IGVuYWJsZWQgaXQgKi8KPiArCWlmIChwa3QgJiYgKHF1ZXVlLT5pbnRyX2VuYWJs
ZWQgJiBWVE5FVF9JTlRSX1VTUl9FTl9NQVNLKSkgewo+ICsJCS8qIE5lZWQgdG8gZW5hYmxlIHRo
ZSBpbnRlcnJ1cHQgb24gdGhlIGxhc3QgcGFja2V0ICovCj4gKwkJcmMgPSB2aXJ0cXVldWVfaW50
cl9lbmFibGUocXVldWUtPnZxKTsKPiArCQlpZiAocmMgPT0gMSAmJiBjbnQgPT0gMCkgewo+ICsJ
CQkvKioKPiArCQkJICogUGFja2V0IGFycml2ZSBhZnRlciByZWFkaW5nIHRoZSBxdWV1ZSBhbmQg
YmVmb3JlCj4gKwkJCSAqIGVuYWJsaW5nIHRoZSBpbnRlcnJ1cHQKPiArCQkJICovCj4gKwkJCXJj
ID0gdmlydGlvX25ldGRldl9yeHFfZGVxdWV1ZShxdWV1ZSwgcGt0KTsKPiArCQkJaWYgKHVubGlr
ZWx5KHJjIDwgMCkpIHsKPiArCQkJCXVrX3ByX2VycigiRmFpbGVkIHRvIGRlcXVldWUgdGhlIHBh
Y2tldDogJWRcbiIsCj4gKwkJCQkJICByYyk7Cj4gKwkJCQlnb3RvIGVycl9leGl0Owo+ICsJCQl9
Cj4gKwkJCS8qIE5lZWQgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQgb24gdGhlIGxhc3QgcGFja2V0
ICovCj4gKwkJCXJjID0gdmlydHF1ZXVlX2ludHJfZW5hYmxlKHF1ZXVlLT52cSk7Cj4gKwkJCWNu
dCA9IChyYyA9PSAxKSA/IDIgOiAxOwo+ICsJCX0gZWxzZSBpZiAoY250ID4gMCkgewo+ICsJCQkv
KiBXaGVuIHRoZXJlIGlzIHBhY2tldCBpbiB0aGUgYnVmZmVyICovCj4gKwkJCWNudCA9IChyYyA9
PSAxKSA/IDIgOiAxOwo+ICsJCX0KPiArCX0gZWxzZSBpZiAocGt0ICYmIGNudCA+IDApIHsKPiAr
CQkvKioKPiArCQkgKiBGb3IgcG9sbGluZyBjYXNlLCB3ZSByZXBvcnQgYWx3YXlzIHRoZXJlIGFy
ZSBmdXJ0aGVyCj4gKwkJICogcGFja2V0cyB1bmxlc3MgdGhlIHF1ZXVlIGlzIGVtcHR5Lgo+ICsJ
CSAqLwo+ICsJCWNudCA9IDI7Cj4gKwl9Cj4gKwo+ICtleGl0Ogo+ICsJcmV0dXJuIGNudDsKPiAr
Cj4gK2Vycl9leGl0Ogo+ICsJY250ID0gcmM7Cj4gKwlnb3RvIGV4aXQ7Cj4gICB9Cj4gICAKPiAg
IHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVl
X3NldHVwKAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 12:56:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 12:56:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFIhr-0005C7-FR; Wed, 24 Oct 2018 12:56:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFIhq-0005C2-1F
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 12:56:14 +0000
X-Inumbo-ID: 6398c767-d78c-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 6398c767-d78c-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 12:57:41 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 5B370104A57;
 Wed, 24 Oct 2018 14:56:09 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id sP_zyWSdFo9D; Wed, 24 Oct 2018 14:56:09 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 36AB7104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 14:56:07 +0200 (CEST)
Received: from [10.1.2.132] (10.1.2.132) by skoll.office.hd (192.168.125.11)
 with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct 2018 14:56:06
 +0200
To: Simon Kuenzer <simon.kuenzer@neclab.eu>, <minios-devel@lists.xen.org>
References: <1539954410-4800-1-git-send-email-sharan.santhanam@neclab.eu>
 <1539954410-4800-4-git-send-email-sharan.santhanam@neclab.eu>
 <9144cdd5-0ffd-8f37-b5e0-7c91b7a6dfd1@neclab.eu>
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
Message-ID: <64bd7080-0804-0f30-f9ce-f3ab6e0e14fd@neclab.eu>
Date: Wed, 24 Oct 2018 14:56:06 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
 Thunderbird/52.9.1
MIME-Version: 1.0
In-Reply-To: <9144cdd5-0ffd-8f37-b5e0-7c91b7a6dfd1@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.132]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 3/7] plat/drivers: Introduce the
 virtio bus
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGVsbG8gU2ltb24sCgpPbiAxMC8yMi8yMDE4IDA0OjQ1IFBNLCBTaW1vbiBLdWVuemVyIHdyb3Rl
Ogo+IEhleSBTaGFyYW4sCj4gCj4gdGhpcyBwYXRjaCBsb29rcyBnb29kLiBBIGhhdmUgYSBmZXcg
bWlub3IgY29tbWVudHMuCj4gCj4gVGhhbmtzLAo+IAo+IFNpbW9uCj4gCj4gT24gMTkuMTAuMTgg
MTU6MDYsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0
aGUgdmlydGlvIGJ1cyB0byBicmlkZ2UgdGhlIHZpcnRpbyBkZXZpY2Ugd2l0aAo+PiB0aGUgYnVz
LiBXZSBpbnRyb2R1Y2UgdGhlIGZ1bmN0aW9ucyB0byBhZGQgZHJpdmVyIHRvIGNvbnRyb2wgdGhl
IHZpcnRpbwo+PiBkZXZpY2UuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0g
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+PiAtLS0KPj4gwqAgcGxhdC9kcml2ZXJzL2lu
Y2x1ZGUvdmlydGlvL3ZpcnRpby5oIHwgMTMwIAo+PiArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwo+PiDCoCBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuY8KgwqDCoMKg
IHwgMTA5IAo+PiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiDCoCBwbGF0L2t2bS9D
b25maWcudWvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDExICsrKwo+
PiDCoCBwbGF0L2t2bS9NYWtlZmlsZS51a8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHzCoCAxMiArKysrCj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKykKPj4g
wqAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8u
aAo+PiDCoCBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVz
LmMKPj4KPj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW8u
aCAKPj4gYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvLmgKPiAKPiBIdW0sIHdv
dWxkbid0IGl0IHRvIG1ha2Ugc2Vuc2UgdG8gY2FsbCBhbHNvIHRoZSBoZWFkZXIgZmlsZSAKPiB2
aXJ0aW9fYnVzLmg/IEkgdGhpbmsgaXQgd291bGQgc2VwYXJhdGUgdGhlIHB1cnBvc2Ugb2YgdGhl
IGhlYWRlcnMgbW9yZSAKPiBjbGVhcmx5Lgo+IAo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBp
bmRleCAwMDAwMDAwLi5kNDcxY2FiCj4+IC0tLSAvZGV2L251bGwKPj4gKysrIGIvcGxhdC9kcml2
ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpby5oCj4+IEBAIC0wLDAgKzEsMTMwIEBACj4+ICsvKiBT
UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4+ICsvKgo+PiArICogQXV0
aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4+ICsg
Kgo+PiArICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3Jh
dGlvbi4gQWxsIHJpZ2h0cyAKPj4gcmVzZXJ2ZWQuCj4+ICsgKgo+PiArICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4+
ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKPj4gKyAqIGFyZSBtZXQ6Cj4+ICsgKgo+PiArICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPj4g
KyAqwqDCoMKgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KPj4gKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cj4+ICsgKsKgwqDCoCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gCj4+
IHRoZQo+PiArICrCoMKgwqAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIAo+PiBkaXN0cmlidXRpb24uCj4+ICsgKiAzLiBOZWl0aGVyIHRoZSBu
YW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4+ICsgKsKg
wqDCoCBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgCj4+IGZyb20KPj4gKyAqwqDCoMKgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4+ICsgKgo+PiArICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIAo+PiBDT05UUklC
VVRPUlMgIkFTIElTIgo+PiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgCj4+IFRPLCBUSEUKPj4gKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiAKPj4gUFVSUE9TRQo+PiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQgSE9MREVSIE9SIAo+PiBDT05UUklCVVRPUlMgQkUKPj4gKyAqIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKPj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCj4+ICsgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgCj4+IEJVU0lORVNTCj4+ICsgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgCj4+IFdIRVRIRVIgSU4KPj4gKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiAKPj4gT1RIRVJXSVNFKQo+PiArICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgCj4+
IEFEVklTRUQgT0YgVEhFCj4+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPj4gKyAq
Cj4+ICsgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBB
TlkgV0FZLgo+PiArICovCj4+ICsKPj4gKyNpZm5kZWYgX19QTEFUX0RSVl9WSVJUSU9fSAo+PiAr
I2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19ICj4+ICsKPj4gKyNpbmNsdWRlIDx1ay9jb25maWcu
aD4KPj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+PiArI2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+PiAr
I2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPj4gKyNpbmNsdWRlIDx1ay9hcmNoL2xjcHUuaD4K
Pj4gKyNpbmNsdWRlIDx1ay9hbGxvYy5oPgo+PiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fY29u
ZmlnLmg+Cj4+ICsKPj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+PiArZXh0ZXJuICJDIiB7Cj4+ICsj
ZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KPj4gKwo+PiArI2RlZmluZSBWSVJUSU9fRkVBVFVSRVNf
VVBEQVRFKGZlYXR1cmVzLCBicG9zKcKgwqDCoCBcCj4+ICvCoMKgwqAgKGZlYXR1cmVzIHw9ICgx
VUxMIDw8IGJwb3MpKQo+PiArCj4+ICtzdHJ1Y3QgdmlydGlvX2RldjsKPj4gK3R5cGVkZWYgaW50
ICgqdmlydGlvX2RyaXZlcl9pbml0X2Z1bmNfdCkoc3RydWN0IHVrX2FsbG9jICopOwo+PiArdHlw
ZWRlZiBpbnQgKCp2aXJ0aW9fZHJpdmVyX2FkZF9mdW5jX3QpKHN0cnVjdCB2aXJ0aW9fZGV2ICop
Owo+PiArCj4+ICt0eXBlZGVmIGVudW0gdmlydGlvX2Rldl9zdGF0dXNfdCB7Cj4+ICvCoMKgwqAg
LyoqIERldmljZSByZXNldCAqLwo+PiArwqDCoMKgIFZJUlRJT19ERVZfUkVTRVQsCj4+ICvCoMKg
wqAgLyoqIERldmljZSBBY2tub3dsZWRnZSBhbmQgcmVhZHkgdG8gYmUgY29uZmlndXJlZCAqLwo+
PiArwqDCoMKgIFZJUlRJT19ERVZfSU5JVElBTElaRUQsCj4+ICvCoMKgwqAgLyoqIERldmljZSBm
ZWF0dXJlIG5lZ290aWF0ZWQgYW5kIHJlYWR5IHRvIHRoZSBzdGFydGVkICovCj4+ICvCoMKgwqAg
VklSVElPX0RFVl9DT05GSUdVUkVELAo+PiArwqDCoMKgIC8qKiBEZXZpY2UgUnVubmluZyAqLwo+
PiArwqDCoMKgIFZJUlRJT19ERVZfUlVOTklORywKPj4gK8KgwqDCoCAvKiogRGV2aWNlIFN0b3Bw
ZWQgKi8KPj4gK8KgwqDCoCBWSVJUSU9fREVWX1NUT1BQRUQsCj4+ICt9IHZpcnRpb19kZXZfc3Rh
dHVzX3Q7Cj4gCj4gRG8gd2UgcmVhbGx5IG5lZWQgdGhpcyBhcyBhIHR5cGVkZWY/IEkgdXN1YWxs
eSBwcmVmZXIga2VlcGluZwo+ICJlbnVtIHZpcnRpb19kZXZfc3RhdHVzIiBpbiB0aGUgYXJndW1l
bnQgbGlzdHMuIEZvciBtZSB0aGlzIGlzIG1vcmUgCj4gY2xlYXIgd2hhdCB0aGUgYXJndW1lbnQg
YWJvdXQgYW5kIGxlc3MgaGlkaW5nIGRldGFpbHMuCj4gCgpJIHdpbGwgY2hhbmdlIGl0IGluIHRo
ZSBuZXh0IHBhdGNoLgo+PiArCj4+ICsvKioKPj4gKyAqIFRoZSBzdHJ1Y3R1cmUgZGVmaW5lIGEg
dmlydGlvIGRldmljZS4KPj4gKyAqLwo+PiArc3RydWN0IHZpcnRpb19kZXZfaWQgewo+PiArwqDC
oMKgIC8qKiBEZXZpY2UgaWRlbnRpZmllciBvZiB0aGUgdmlydGlvIGRldmljZSAqLwo+PiArwqDC
oMKgIF9fdTE2wqAgdmlydGlvX2RldmljZV9pZDsKPj4gK307Cj4gCj4gRG8geW91IHRoaW5rIHdl
IG5lZWQgdGhpcyBhcyBhIHN0cnVjdD8gV2hhdCBpcyB0aGUgaWRlYSBiZWhpbmQ/Cj4gCgpUaGUg
aWRlYSBiZWhpbmQgdGhpcyB3YXMgdG8gdHJlYXQgdGhlIHZpcnRpb19pZCBhcyBhIGJsYWNrIGJv
eCBkYXRhIApzdHJ1Y3R1cmUuCj4+ICsKPj4gKy8qKgo+PiArICogVGhlIHN0cnVjdHVyZSBkZWZp
bmUgdGhlIHZpcnRpbyBkcml2ZXIuCj4+ICsgKi8KPj4gK3N0cnVjdCB2aXJ0aW9fZHJpdmVyIHsK
Pj4gK8KgwqDCoCAvKiogTmV4dCBlbnRyeSBvZiB0aGUgZHJpdmVyIGxpc3QgKi8KPj4gK8KgwqDC
oCBVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdmlydGlvX2RyaXZlcikgbmV4dDsKPj4gK8KgwqDCoCAv
KiogVGhlIGlkIG1hcCBmb3IgdGhlIHZpcnRpbyBkZXZpY2UgKi8KPj4gK8KgwqDCoCBjb25zdCBz
dHJ1Y3QgdmlydGlvX2Rldl9pZCAqZGV2X2lkczsKPj4gK8KgwqDCoCAvKiogVGhlIGluaXQgZnVu
Y3Rpb24gZm9yIHRoZSBkcml2ZXIgKi8KPj4gK8KgwqDCoCB2aXJ0aW9fZHJpdmVyX2luaXRfZnVu
Y190IGluaXQ7Cj4+ICvCoMKgwqAgLyoqIEFkZGluZyB0aGUgdmlydGlvIGRldmljZSAqLwo+PiAr
wqDCoMKgIHZpcnRpb19kcml2ZXJfYWRkX2Z1bmNfdCBhZGRfZGV2Owo+PiArfTsKPj4gKwo+PiAr
LyoqCj4+ICsgKiBUaGUgc3RydWN0dXJlIGRlZmluZXMgdGhlIHZpcnRpbyBkZXZpY2UuCj4+ICsg
Ki8KPj4gK3N0cnVjdCB2aXJ0aW9fZGV2IHsKPj4gK8KgwqDCoCAvKiBGZWF0dXJlIGJpdCBkZXNj
cmliaW5nIHRoZSB2aXJ0aW8gZGV2aWNlICovCj4+ICvCoMKgwqAgX191NjQgZmVhdHVyZXM7Cj4+
ICvCoMKgwqAgLyogUHJpdmF0ZSBkYXRhIG9mIHRoZSBkcml2ZXIgKi8KPj4gK8KgwqDCoCB2b2lk
ICpwcml2Owo+PiArwqDCoMKgIC8qIFZpcnRpbyBkZXZpY2UgaWRlbnRpZmllciAqLwo+PiArwqDC
oMKgIHN0cnVjdCB2aXJ0aW9fZGV2X2lkIGlkOwo+PiArwqDCoMKgIC8qIFJlZmVyZW5jZSB0byB0
aGUgdmlydGlvIGRyaXZlciBmb3IgdGhlIGRldmljZSAqLwo+PiArwqDCoMKgIHN0cnVjdCB2aXJ0
aW9fZHJpdmVyICp2ZHJ2Owo+PiArwqDCoMKgIC8qIFN0YXR1cyBvZiB0aGUgZGV2aWNlICovCj4+
ICvCoMKgwqAgdmlydGlvX2Rldl9zdGF0dXNfdMKgIHN0YXR1czsKPj4gK307Cj4+ICsKPj4gKy8q
Kgo+PiArICogT3BlcmF0aW9uIGV4cG9ydGVkIGJ5IHRoZSB2aXJ0aW8gZGV2aWNlLgo+PiArICov
Cj4+ICt2b2lkIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2
ZHJ2KTsKPj4gKwo+PiArI2RlZmluZSBWSVJUSU9fUkVHSVNURVJfRFJJVkVSKGIpwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBcCj4+ICvCoMKgwqAgX1ZJUlRJT19SRUdJU1RFUl9EUklWRVIoX19MSUJO
QU1FX18sIGIpCj4gCj4gVklSVElPQlVTX1JFR0lTVEVSX0RSSVZFUigpIG9yIFZJUlRJT19CVVNf
UkVHSVNURVJfRFJJVkVSKCk/Cj4gCgpJIHByZWZlciBWSVJUSU9fQlVTIGFuZCB3aWxsIHVwZGF0
ZSBpdCBpbiB0aGUgbmV4dCB2ZXJzaW9uLgo+PiArCj4+ICsjZGVmaW5lIF9WSVJUSU9fUkVHRk5B
TUUoeCwgeSnCoMKgwqDCoMKgwqAgeCMjeQo+PiArCj4+ICsjZGVmaW5lIF9WSVJUSU9fUkVHSVNU
RVJfRFJJVkVSKGxpYm5hbWUsIGIpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4g
K8KgwqDCoMKgwqDCoMKgIHN0YXRpYyB2b2lkIF9fY29uc3RydWN0b3JfcHJpbygxMDQpwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoCBfVklSVElPX1JFR0ZOQU1FKGxp
Ym5hbWUsIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKSh2b2lkKcKgwqDCoCBcCj4+ICvCoMKgwqAg
e8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIFwKPj4gK8KgwqDCoMKgwqDCoMKgIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKChiKSk7
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPj4gK8KgwqDCoCB9Cj4+ICsKPj4gKwo+
PiArI2lmZGVmIF9fY3BsdXNwbHVzCj4+ICt9Cj4+ICsjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8K
Pj4gKwo+PiArI2VuZGlmIC8qIF9fUExBVF9EUlZfVklSVElPX0ggKi8KPj4gZGlmZiAtLWdpdCBh
L3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jIAo+PiBiL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX2J1cy5jCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4+IGluZGV4IDAwMDAwMDAu
Ljg4Y2I5OWEKPj4gLS0tIC9kZXYvbnVsbAo+PiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19idXMuYwo+PiBAQCAtMCwwICsxLDEwOSBAQAo+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+PiArLyoKPj4gKyAqIEF1dGhvcnM6IFNoYXJhbiBTYW50
aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+PiArICoKPj4gKyAqIENvcHlyaWdo
dCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg
Cj4+IHJlc2VydmVkLgo+PiArICoKPj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+PiArICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4+
ICsgKiBhcmUgbWV0Ogo+PiArICoKPj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4+ICsgKsKgwqDCoCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4+
ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAo+PiArICrCoMKgwqAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIAo+PiB0aGUKPj4gKyAqwqDCoMKg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSAK
Pj4gZGlzdHJpYnV0aW9uLgo+PiArICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJp
Z2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cwo+PiArICrCoMKgwqAgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIAo+PiBm
cm9tCj4+ICsgKsKgwqDCoCB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgo+PiArICoKPj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCAKPj4gQ09OVFJJQlVUT1JTICJBUyBJUyIKPj4g
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIAo+PiBUTywgVEhFCj4+ICsgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCj4+IFBVUlBPU0UKPj4g
KyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERF
UiBPUiAKPj4gQ09OVFJJQlVUT1JTIEJFCj4+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4+ICsgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgo+PiArICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIAo+PiBCVVNJTkVTUwo+PiArICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIAo+PiBXSEVUSEVSIElO
Cj4+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgCj4+IE9USEVSV0lTRSkKPj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIAo+PiBBRFZJU0VEIE9GIFRIRQo+
PiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4+ICsgKgo+PiArICogVEhJUyBIRUFE
RVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPj4gKyAqLwo+
PiArCj4+ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4+ICsjaW5jbHVkZSA8dWsvYXJjaC90eXBl
cy5oPgo+PiArI2luY2x1ZGUgPHVrL2xpc3QuaD4KPj4gKyNpbmNsdWRlIDx1ay9hbGxvYy5oPgo+
PiArI2luY2x1ZGUgPHVrL2J1cy5oPgo+PiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9faWRzLmg+
Cj4+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KPj4gKyNpbmNsdWRlIDx2aXJ0
aW8vdmlydGlvLmg+Cj4+ICsKPj4gK1VLX1RBSUxRX0hFQUQodmlydGlvX2RyaXZlcl9saXN0LCBz
dHJ1Y3QgdmlydGlvX2RyaXZlcik7Cj4+ICsvKioKPj4gKyAqIE1vZHVsZSBsb2NhbCBkYXRhIHN0
cnVjdHVyZShzKS4KPj4gKyAqLwo+PiArc3RhdGljIHN0cnVjdCB2aXJ0aW9fZHJpdmVyX2xpc3Qg
dmlydGlvX2RydnMgPQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBVS19UQUlMUV9IRUFEX0lO
SVRJQUxJWkVSKHZpcnRpb19kcnZzKTsKPj4gK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7Cj4+
ICsKPj4gKy8qKgo+PiArICrCoMKgIERyaXZlciBtb2R1bGUgbG9jYWwgZnVuY3Rpb24ocykuCj4+
ICsgKi8KPj4gK3N0YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVt
X2FsbG9jKTsKPj4gK3N0YXRpYyBpbnQgdmlydGlvX2J1c19wcm9iZSh2b2lkKTsKPj4gKwo+PiAr
LyoqCj4+ICsgKiBQcm9iZSBmb3IgdGhlIHZpcnRpbyBkZXZpY2UuCj4+ICsgKi8KPj4gK3N0YXRp
YyBpbnQgdmlydGlvX2J1c19wcm9iZSh2b2lkKQo+PiArewo+PiArwqDCoMKgIHJldHVybiAwOwo+
PiArfQo+PiArCj4+ICsvKioKPj4gKyAqIEluaXRpYWxpemUgdGhlIHZpcnRpbyBidXMgZHJpdmVy
KHMpLgo+PiArICogQHBhcmFtIG1lbV9hbGxvYwo+PiArICrCoMKgwqAgUmVmZXJlbmNlIHRvIHRo
ZSBtZW1fYWxsb2NhdG9yLgo+PiArICogQHJldHVybgo+PiArICrCoMKgwqAgKGludCkgT24gc3Vj
Y2Vzc2Z1bCBpbml0aWFsaXphdGlvbiByZXR1cm4gdGhlIGNvdW50IG9mIGRldmljZQo+PiArICrC
oMKgwqAgaW5pdGlhbGl6ZWQuCj4+ICsgKsKgwqDCoCBPbiBlcnJvciByZXR1cm4gLTEuCj4+ICsg
Ki8KPj4gK3N0YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2Fs
bG9jKQo+PiArewo+PiArwqDCoMKgIHN0cnVjdCB2aXJ0aW9fZHJpdmVyICpkcnYgPSBOVUxMLCAq
bmRydiA9IE5VTEw7Cj4+ICvCoMKgwqAgaW50IHJldCA9IDAsIGRldl9jb3VudCA9IDA7Cj4+ICsK
Pj4gK8KgwqDCoCBhID0gbWVtX2FsbG9jOwo+PiArwqDCoMKgIFVLX1RBSUxRX0ZPUkVBQ0hfU0FG
RShkcnYsICZ2aXJ0aW9fZHJ2cywgbmV4dCwgbmRydikgewo+PiArwqDCoMKgwqDCoMKgwqAgaWYg
KGRydi0+aW5pdCkgewo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSBkcnYtPmluaXQo
YSk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICh1bmxpa2VseShyZXQpKSB7Cj4+ICvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdWtfcHJfZXJyKCJGYWlsZWQgdG8gaW5pdGlh
bGl6ZSB2aXJ0aW8gZHJpdmVyICVwOiAlZFxuIiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBkcnYsIHJldCk7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgVUtfVEFJTFFfUkVNT1ZFKCZ2aXJ0aW9fZHJ2cywgZHJ2LCBuZXh0KTsKPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgZGV2X2NvdW50Kys7Cj4+ICvCoMKgwqDCoMKgwqDCoCB9Cj4+ICvCoMKgwqAgfQo+PiAr
wqDCoMKgIHJldHVybiAoZGV2X2NvdW50ID4gMCkgPyBkZXZfY291bnQgOiAtMTsKPj4gK30KPj4g
Kwo+PiArLyoqCj4+ICsgKiBSZWdpc3RlciB0aGUgdmlydGlvIGRyaXZlcihzKS4KPj4gKyAqIEBw
YXJhbSB2ZHJ2Cj4+ICsgKsKgwqDCoCBSZWZlcmVuY2UgdG8gdGhlIHZpcnRpb19kcml2ZXIKPj4g
KyAqLwo+PiArdm9pZCBfdmlydGlvX3JlZ2lzdGVyX2RyaXZlcihzdHJ1Y3QgdmlydGlvX2RyaXZl
ciAqdmRydikKPiAKPiBfdmlydGlvX2J1c19yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHZpcnRpb19k
cml2ZXIgKnZkcnYpPwo+IAo+PiArewo+PiArwqDCoMKgIFVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ2
aXJ0aW9fZHJ2cywgdmRydiwgbmV4dCk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBzdHJ1Y3QgdWtf
YnVzIHZpcnRpb19idXMgPSB7Cj4+ICvCoMKgwqAgLmluaXQgPSB2aXJ0aW9fYnVzX2luaXQsCj4+
ICvCoMKgwqAgLnByb2JlID0gdmlydGlvX2J1c19wcm9iZSwKPj4gK307Cj4+ICtVS19CVVNfUkVH
SVNURVIoJnZpcnRpb19idXMpOwo+PiBkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmlnLnVrIGIv
cGxhdC9rdm0vQ29uZmlnLnVrCj4+IGluZGV4IDBmMTBiNGQuLmY4YThhYWYgMTAwNjQ0Cj4+IC0t
LSBhL3BsYXQva3ZtL0NvbmZpZy51awo+PiArKysgYi9wbGF0L2t2bS9Db25maWcudWsKPj4gQEAg
LTUwLDQgKzUwLDE1IEBAIGNvbmZpZyBLVk1fUENJCj4+IMKgwqDCoMKgwqDCoMKgwqAgc2VsZWN0
IExJQlVLQlVTCj4+IMKgwqDCoMKgwqDCoMKgwqAgaGVscAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFBDSSBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcg
UENJIGRldmljZXMKPj4gKwo+PiArY29uZmlnIFZJUlRJT19CVVMKPj4gK8KgwqDCoMKgwqAgYm9v
bMKgICJWaXJ0aW8gYnVzIGRyaXZlciIKPj4gK8KgwqDCoMKgwqAgZGVmYXVsdCB5Cj4+ICvCoMKg
wqDCoMKgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0KQo+PiArwqDCoMKgwqDCoCBkZXBlbmRzIG9u
IExJQlVLQlVTCj4+ICvCoMKgwqDCoMKgIHNlbGVjdCBMSUJVS0FMTE9DCj4+ICvCoMKgwqDCoMKg
IGhlbHAKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVmlydGlvIGJ1cyBkcml2ZXIg
Zm9yIHByb2JpbmcgYW5kIG9wZXJhdGluZyB2aXJ0aW8gCj4+IGRldmljZSBhbmQKPj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdHJhbnNwb3J0IGxheWVyLgo+PiArCj4+IMKgIGVuZGlm
Cj4+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9NYWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxl
LnVrCj4+IGluZGV4IDA2ZDg0MTAuLjgwYTBjMDUgMTAwNjQ0Cj4+IC0tLSBhL3BsYXQva3ZtL01h
a2VmaWxlLnVrCj4+ICsrKyBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4+IEBAIC04LDYgKzgsNyBA
QCAkKGV2YWwgJChjYWxsIGFkZHBsYXRfcyxrdm0sJChDT05GSUdfUExBVF9LVk0pKSkKPj4gwqAg
IyMKPj4gwqAgJChldmFsICQoY2FsbCBhZGRwbGF0bGliLGt2bSxsaWJrdm1wbGF0KSkKPj4gwqAg
JChldmFsICQoY2FsbCBhZGRwbGF0bGliX3Msa3ZtLGxpYmt2bXBjaSwkKENPTkZJR19LVk1fUENJ
KSkpCj4+ICskKGV2YWwgJChjYWxsIGFkZHBsYXRsaWJfcyxrdm0sbGlia3ZtdmlydGlvLCQoQ09O
RklHX1ZJUlRJTykpKQo+PiDCoCAjIwo+PiDCoCAjIyBQbGF0Zm9ybSBsaWJyYXJ5IGRlZmluaXRp
b25zCj4+IEBAIC04MCwzICs4MSwxNCBAQCBMSUJLVk1QQ0lfQVNJTkNMVURFUy0kKENPTkZJR19B
UkNIX1g4Nl82NCnCoCArPSAKPj4gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKPj4g
wqAgTElCS1ZNUENJX0NJTkNMVURFUy0kKENPTkZJR19BUkNIX1g4Nl82NCnCoMKgICs9IAo+PiAt
SSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQo+PiDCoCBMSUJLVk1QQ0lfU1JDUy0kKENP
TkZJR19BUkNIX1g4Nl82NCnCoMKgwqDCoMKgwqDCoCArPSAKPj4gJChVS19QTEFUX0NPTU1PTl9C
QVNFKS9wY2lfYnVzLmN8Y29tbW9uCj4+ICsjIwo+PiArIyMgVmlydGlvIGxpYnJhcnkgZGVmaW5p
dGlvbnMKPj4gKyMjCj4+ICtMSUJLVk1WSVJUSU9fQVNJTkNMVURFUy15wqDCoCArPSAtSSQoTElC
S1ZNUExBVF9CQVNFKS9pbmNsdWRlCj4+ICtMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXnCoMKgwqAg
Kz0gLUkkKExJQktWTVBMQVRfQkFTRSkvaW5jbHVkZQo+PiArTElCS1ZNVklSVElPX0FTSU5DTFVE
RVMtecKgwqAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKPj4gK0xJQktWTVZJ
UlRJT19DSU5DTFVERVMtecKgwqDCoCArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVk
ZQo+PiArTElCS1ZNVklSVElPX0FTSU5DTFVERVMtecKgwqAgKz0gLUkkKFVLX1BMQVRfRFJJVkVS
U19CQVNFKS9pbmNsdWRlCj4+ICtMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXnCoMKgwqAgKz0gLUkk
KFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCj4+ICtMSUJLVk1WSVJUSU9fU1JDUy0kKENP
TkZJR19WSVJUSU9fQlVTKSArPVwKPj4gK8KgwqDCoMKgwqDCoMKgICQoVUtfUExBVF9EUklWRVJT
X0JBU0UpL3ZpcnRpby92aXJ0aW9fYnVzLmMKPj4KPiAKClRoYW5rcyAmIFJlZ2FyZHMKU2hhcmFu
CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3Mt
ZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw
czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:31:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJGG-0000Nc-Ts; Wed, 24 Oct 2018 13:31:48 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=odcp=ne=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gFJGG-0000NS-7b
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:31:48 +0000
X-Inumbo-ID: be028d57-d790-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x444.google.com (unknown [2a00:1450:4864:20::444])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id be028d57-d790-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:28:50 +0200 (CEST)
Received: by mail-wr1-x444.google.com with SMTP id r10-v6so4722158wrv.6
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 06:31:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=JO1zqvD5GmCqkoBwOlLnf8204uheLhuZyUh2F0j9CBQ=;
 b=Be7TCccIkCuLTFuLKLEFj0TxqSGsfzLcu+r9EPrpbye+yoEPWt+2XiOxBiT8Y/OeT3
 EvC+eqrgUkFAGaefYsqJexfRVjA5B36ifHJ+XWFHgNPAUfp9nUwu2HDQXt5I4w2S/Ptv
 dRHqURzWz7G57hyvHCeu06q4WVbLT4MzWCP7RVlr4Sg1fyA16PdVJWPI1muswhL+EI3z
 HB0bMdcEW568tI2Fr+MYydP2llur2wKpfSvEqS/q32PdRPnzCoUOGUfq4GCSJDIghAVu
 AXieyrgyVk9lyUnj+z40299dFDD0XvfoE8mNsngqcQu8rB7mmYqQnZFsZK4AXwUdVznm
 ydlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=JO1zqvD5GmCqkoBwOlLnf8204uheLhuZyUh2F0j9CBQ=;
 b=hZZrx4n0XryX53P6ixl5gRyOzcgZVdNOBqIYIECL2rG8pgG7eodfarvu3J3ONuZltS
 WSR54olo+Uvxp5adNIOsRk8wQNttFMHKB5+ev8ph44Nnh7laymMhet3XxHaA3mCv9/B2
 15979JPu9SExb92xEUJyq8enrafRwm2+acRtKJ/A9kW0ErQ3oAaHE+nFlYG+ahHFmqWp
 3vkbFWAx8HQW0wc5BWaHkLIdTZhHSQoo0ah7FHnUuwm6eQS7jG80hkVPvKervDsHuGkQ
 WugRfoly/T2sIJZtFAuMOxeQZqOdZVDZqdtNYXo7Z2k/OeouOtQlcxf9YHfthM1ZmR1i
 mWOA==
X-Gm-Message-State: AGRZ1gIMrMgTktLymOmIyLJPwYOcAqD3QPI1rduaa+ZjAlX3juNDELc2
 HIgxZ498n4j7yqA1Tt0QMJbTxtOa
X-Google-Smtp-Source: AJdET5eVlhUS4+98/j8vs5yrxt4uOZhZ+u6gjaBUdJr7Qc9v6D7rwPBGbxww1qUSyoDPe2HvfXcRCQ==
X-Received: by 2002:adf:e403:: with SMTP id g3-v6mr2848107wrm.96.1540387905456; 
 Wed, 24 Oct 2018 06:31:45 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id t198-v6sm6658098wmd.9.2018.10.24.06.31.44
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 24 Oct 2018 06:31:44 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Wed, 24 Oct 2018 16:30:38 +0300
Message-Id: <1540387840-16839-2-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
References: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 1/3] include/xen-x86/os.h: Remove
 os.h on x86
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpSZW1vdmUgb3Mu
aCBmcm9tIHRoZSBwcm9qZWN0IGFzIGl0IHdhcyB1bnVzZWQuCm1tX3B2LmggaW5jbHVkZWQgb3Mu
aCBidXQgZGlkIG5vdCB1c2UgYW55dGhpbmcgZnJvbQppdC4gVGhlIHJlc3Qgb2YgdGhlIGNoYW5n
ZXMgaGF2ZSBiZWVuIG1hZGUgaW4gc291cmNlcwp3aGljaCBuZWVkIHRoZSBleHRlcm4gZGVmaW5p
dGlvbiBmb3IgdGhlIHNoYXJlZCBpbmZvCnBhZ2UuCgpTaWduZWQtb2ZmLWJ5OiBSYWR1IE5pY29s
YXUgPHJhZHVuaWNvbGF1MTAyQGdtYWlsLmNvbT4KLS0tCiBwbGF0L3hlbi9nbnR0YWIuYyAgICAg
ICAgICAgICAgICB8ICAyICstCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvbW1fcHYuaCB8ICAx
IC0KIHBsYXQveGVuL2luY2x1ZGUveGVuLXg4Ni9vcy5oICAgIHwgOTAgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogcGxhdC94ZW4vbGNwdS5jICAgICAgICAgICAgICAg
ICAgfCAgMSAtCiBwbGF0L3hlbi94ODYvbW0uYyAgICAgICAgICAgICAgICB8ICAxICsKIHBsYXQv
eGVuL3hlbmJ1cy94c19jb21tcy5jICAgICAgIHwgIDEgKwogNiBmaWxlcyBjaGFuZ2VkLCAzIGlu
c2VydGlvbnMoKyksIDkzIGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHBsYXQveGVu
L2luY2x1ZGUveGVuLXg4Ni9vcy5oCgpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vZ250dGFiLmMgYi9w
bGF0L3hlbi9nbnR0YWIuYwppbmRleCBkZGZmZjk5Li5iNmE4ZmVhIDEwMDY0NAotLS0gYS9wbGF0
L3hlbi9nbnR0YWIuYworKysgYi9wbGF0L3hlbi9nbnR0YWIuYwpAQCAtMjYsNyArMjYsNyBAQAog
I2luY2x1ZGUgPHVrL3NlbWFwaG9yZS5oPgogI2luY2x1ZGUgPGNvbW1vbi9nbnR0YWIuaD4KICNp
bmNsdWRlIDx4ZW4teDg2L21tLmg+Ci0KKyNpbmNsdWRlIDx4ZW4teDg2L2h5cGVyY2FsbC5oPgog
CiAvKiBOUl9HUkFOVF9GUkFNRVMgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhhdCBj
b25maWd1cmVkIGluIFhlbiAqLwogI2RlZmluZSBOUl9HUkFOVF9GUkFNRVMgICAgICAgICA0CmRp
ZmYgLS1naXQgYS9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvbW1fcHYuaCBiL3BsYXQveGVuL2lu
Y2x1ZGUveGVuLXg4Ni9tbV9wdi5oCmluZGV4IDIxZjkxNjkuLmY3OGU2MmYgMTAwNjQ0Ci0tLSBh
L3BsYXQveGVuL2luY2x1ZGUveGVuLXg4Ni9tbV9wdi5oCisrKyBiL3BsYXQveGVuL2luY2x1ZGUv
eGVuLXg4Ni9tbV9wdi5oCkBAIC0yNCw3ICsyNCw2IEBACiAjaWZuZGVmIF9NTV9QVl9ICiAjZGVm
aW5lIF9NTV9QVl9ICiAKLSNpbmNsdWRlIDx4ZW4teDg2L29zLmg+CiAjaW5jbHVkZSA8eGVuLXg4
Ni9zZXR1cC5oPgogCiAjaWZkZWYgX194ODZfNjRfXwpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vaW5j
bHVkZS94ZW4teDg2L29zLmggYi9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvb3MuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzA4ZDkxYS4uMDAwMDAwMAotLS0gYS9wbGF0L3hlbi9p
bmNsdWRlL3hlbi14ODYvb3MuaAorKysgL2Rldi9udWxsCkBAIC0xLDkwICswLDAgQEAKLS8qIFNQ
RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UgKi8KLS8qCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFVVEhPUiBBTkQgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQKLSAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKLSAqIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVVUSE9SIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUKLSAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCi0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUwotICogT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pCi0gKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAotICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQotICogT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRgotICogU1VDSCBEQU1BR0UuCi0gKi8KLS8qIFRha2VuIGZyb20gTWluaS1PUyAq
LwotLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgotICogb3MuaAotICoKLSAqIHJhbmRvbSBjb2xsZWN0
aW9uIG9mIG1hY3JvcyBhbmQgZGVmaW5pdGlvbgotICovCi0KLSNpZm5kZWYgX09TX0hfCi0jZGVm
aW5lIF9PU19IXwotCi0jaW5jbHVkZSA8eGVuLXg4Ni9zbXAuaD4KLQotI2luY2x1ZGUgPHN0ZGlu
dC5oPgotI2luY2x1ZGUgPHN0ZGRlZi5oPgotI2luY2x1ZGUgPGxpbWl0cy5oPgotI2luY2x1ZGUg
PHVrL2FyY2gvdHlwZXMuaD4KLSNpbmNsdWRlIDx1ay9hcmNoL2xpbWl0cy5oPgotI2luY2x1ZGUg
PHVrL2FyY2gvdGltZS5oPgotI2luY2x1ZGUgPHhlbi94ZW4uaD4KLQotI2lmbmRlZiBfX0FTU0VN
QkxZX18KLQotdHlwZWRlZiBfX3M2NCBxdWFkX3Q7Ci10eXBlZGVmIF9fdTY0IHVfcXVhZF90Owot
Ci10eXBlZGVmIF9fc3B0ciBpbnRwdHJfdDsKLXR5cGVkZWYgX191cHRyIHVpbnRwdHJfdDsKLXR5
cGVkZWYgX19zcHRyIHB0cmRpZmZfdDsKLQotdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVfY2hhcjsK
LXR5cGVkZWYgdW5zaWduZWQgaW50IHVfaW50OwotdHlwZWRlZiB1bnNpZ25lZCBsb25nIHVfbG9u
ZzsKLQotI2luY2x1ZGUgPHhlbi14ODYvaHlwZXJjYWxsLmg+Ci0KLSNpbmNsdWRlIDx4ZW4vZXZl
bnRfY2hhbm5lbC5oPgotI2luY2x1ZGUgPHhlbi94c20vZmxhc2tfb3AuaD4KLSNlbmRpZgotCi0j
aW5jbHVkZSA8eDg2L2NwdV9kZWZzLmg+Ci0KLQotI2RlZmluZSBMT0NLX1BSRUZJWCAiIgotI2Rl
ZmluZSBBRERSICgqKHZvbGF0aWxlIGxvbmcgKilhZGRyKQotCi0vKiBFdmVyeXRoaW5nIGJlbG93
IHRoaXMgcG9pbnQgaXMgbm90IGluY2x1ZGVkIGJ5IGFzc2VtYmxlciAoLlMpIGZpbGVzLiAqLwot
I2lmbmRlZiBfX0FTU0VNQkxZX18KLQotZXh0ZXJuIHNoYXJlZF9pbmZvX3QgKkhZUEVSVklTT1Jf
c2hhcmVkX2luZm87Ci0KLSNpbmNsdWRlIDx4ZW4teDg2L2lycS5oPgotCi0KLS8qCi0gKiBNYWtl
IHN1cmUgZ2NjIGRvZXNuJ3QgdHJ5IHRvIGJlIGNsZXZlciBhbmQgbW92ZSB0aGluZ3MgYXJvdW5k
Ci0gKiBvbiB1cy4gV2UgbmVlZCB0byB1c2UgX2V4YWN0bHlfIHRoZSBhZGRyZXNzIHRoZSB1c2Vy
IGdhdmUgdXMsCi0gKiBub3Qgc29tZSBhbGlhcyB0aGF0IGNvbnRhaW5zIHRoZSBzYW1lIGluZm9y
bWF0aW9uLgotICovCi10eXBlZGVmIHN0cnVjdCB7Ci0Jdm9sYXRpbGUgaW50IGNvdW50ZXI7Ci19
IGF0b21pY190OwotCi0KLXZvaWQgYmxvY2tfZG9tYWluKF9fc25zZWMgdW50aWwpOwotCi0jZW5k
aWYgLyogbm90IGFzc2VtYmx5ICovCi0jZW5kaWYgLyogX09TX0hfICovCmRpZmYgLS1naXQgYS9w
bGF0L3hlbi9sY3B1LmMgYi9wbGF0L3hlbi9sY3B1LmMKaW5kZXggZjA2NTBkYS4uZDcxNThkZiAx
MDA2NDQKLS0tIGEvcGxhdC94ZW4vbGNwdS5jCisrKyBiL3BsYXQveGVuL2xjcHUuYwpAQCAtMzQs
NyArMzQsNiBAQAogCiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaWYgZGVmaW5lZChfX1g4Nl8zMl9f
KSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0jaW5jbHVkZSA8eGVuLXg4Ni9vcy5oPgogI2luY2x1
ZGUgPHhlbi14ODYvaXJxLmg+CiAjZWxpZiAoZGVmaW5lZCBfX0FSTV8zMl9fKSB8fCAoZGVmaW5l
ZCBfX0FSTV82NF9fKQogI2luY2x1ZGUgPHhlbi1hcm0vb3MuaD4KZGlmZiAtLWdpdCBhL3BsYXQv
eGVuL3g4Ni9tbS5jIGIvcGxhdC94ZW4veDg2L21tLmMKaW5kZXggYjdiMDgwZS4uYjg5Mzg0ZiAx
MDA2NDQKLS0tIGEvcGxhdC94ZW4veDg2L21tLmMKKysrIGIvcGxhdC94ZW4veDg2L21tLmMKQEAg
LTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlIDxlcnJuby5oPgogI2luY2x1ZGUgPHVrL2FsbG9jLmg+
CiAjaW5jbHVkZSA8dWsvcGxhdC9jb25maWcuaD4KKyNpbmNsdWRlIDxjb21tb24vaHlwZXJ2aXNv
ci5oPgogI2luY2x1ZGUgPHhlbi14ODYvbW0uaD4KICNpbmNsdWRlIDx4ZW4vbWVtb3J5Lmg+CiAj
aW5jbHVkZSA8dWsvcHJpbnQuaD4KZGlmZiAtLWdpdCBhL3BsYXQveGVuL3hlbmJ1cy94c19jb21t
cy5jIGIvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKaW5kZXggMjc0ZTQ0Yi4uMDU4OWQ0OCAx
MDA2NDQKLS0tIGEvcGxhdC94ZW4veGVuYnVzL3hzX2NvbW1zLmMKKysrIGIvcGxhdC94ZW4veGVu
YnVzL3hzX2NvbW1zLmMKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlIDx1ay93YWl0Lmg+CiAj
aW5jbHVkZSA8dWsvYXJjaC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGNvbW1vbi9ldmVudHMuaD4K
KyNpbmNsdWRlIDxjb21tb24vaHlwZXJ2aXNvci5oPgogI2luY2x1ZGUgPHhlbi14ODYvbW0uaD4K
ICNpbmNsdWRlIDx4ZW4teDg2L3NldHVwLmg+CiAjaW5jbHVkZSA8eGVuYnVzL2NsaWVudC5oPgot
LSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0
Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9z
LWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:31:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJGH-0000No-VJ; Wed, 24 Oct 2018 13:31:49 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=odcp=ne=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gFJGH-0000Nj-Fi
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:31:49 +0000
X-Inumbo-ID: bea66c38-d790-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bea66c38-d790-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:28:51 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id d10-v6so5634211wrs.5
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 06:31:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=qJnzRtFSyb6JFMMlziavpMyDmv3jep7nRn06K9VSXHk=;
 b=Bhx34ZZu3rYPW1Hynzl1BIe1Waynjjqd44CXAlnImUbmNMONIOr5B1ncvsM3NDZCbG
 5v7y5/eN6uzV3GFJCML+vMcOywccKaTEZAL8MqMuJ+8CnmlNkfFq+fzjWpOGr/NK3qhT
 HKZcJCNczz/EFXhSi9Rw+JD5sanHfB4mLNFq7PFJIlTWINReGBbSV25tG42+ICqyfr6R
 jZLR4jNcNbA/ggBZKgJpCcp197I4BexZoq5Kfb+SOADl9mz/uI0sJD4RAKeYFiNrlPNE
 Vb1dhB4L75t0cD+vSxMMgbvwFssgXLQa8WcW8/mgcPhipOvXWs8gLU0PKlOYpFAt35y7
 P7fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=qJnzRtFSyb6JFMMlziavpMyDmv3jep7nRn06K9VSXHk=;
 b=bEbZYzOd48y8i+FC0MTTv1x0bt5M8mndbv47zzKA+8kS2KZpLgH2F4ueo01EI84nKZ
 eD/7WGF/nnRW44kd+S+nMwz0PDemgZTYVg3UMyLWlrKjb26ohCW0cyGzsw9Qz3C36a2d
 m+WyomNsC5obEKH9IAkMalrpV1PxRqrO5ZeDz/o+qVOh3SNC1yZwHUAPX6kciF4012SU
 rQGb2syyQ5iP5INf6jkHRpUKletzfoopqKe/ngnSuKU+k93HW+Wm8kN4Ngwvds/jR4Ni
 7TeR9ejpltva26+SIkFdS2tSMY8vDz2CbHBDD+J/KpGVEHobXLlkKE26+UViWhmG6gdq
 ACdA==
X-Gm-Message-State: AGRZ1gK8IfQs2XzTCNhfZtv4LLWEnNhCPr01ZpmbpmTIGS79BLzD61hi
 aUJ/xGIxU6NpJk92QlImj4AWV76h
X-Google-Smtp-Source: AJdET5cp2b42v3Jos8JandvdLIYrbM8n23zgp64MGsSQpz9uxH+rvMDVwT2kNOu+uFCk08DcH5WZ/w==
X-Received: by 2002:adf:90d0:: with SMTP id
 i74-v6mr508096wri.181.1540387906497; 
 Wed, 24 Oct 2018 06:31:46 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id t198-v6sm6658098wmd.9.2018.10.24.06.31.45
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 24 Oct 2018 06:31:45 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Wed, 24 Oct 2018 16:30:39 +0300
Message-Id: <1540387840-16839-3-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
References: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 2/3] plat/xen/common: Move event
 channel functions in events.h
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpNb3ZlIG1hc2tf
ZXZ0Y2huLCB1bm1hc2tfZXZ0Y2huIGFuZCBjbGVhcl9ldnRjaG4gZnVuY3Rpb24KcHJvdG90eXBl
cyBmcm9tIGh5cGVydmlzb3IuaCB0byBldmVudHMuaC4gQ2hhbmdlIHBhcmFtZXRlcgp0eXBlIHRv
IGV2dGNobl9wb3J0X3QuIFJlbW92ZSBoeXBlcnZpc29yLmggaW5jbHVzaW9uIGZyb20KYXJtL2Fy
Y2hfZXZlbnRzLmMgYW5kIGFybS9hcmNoX3RpbWUuYwoKTW92ZSBhY3RpdmVfZXZ0Y2hucygpIG1h
Y3JvIHRvIGV2ZW50cy5oCgpTaWduZWQtb2ZmLWJ5OiBSYWR1IE5pY29sYXUgPHJhZHVuaWNvbGF1
MTAyQGdtYWlsLmNvbT4KLS0tCiBwbGF0L3hlbi9hcm0vYXJjaF9ldmVudHMuYyAgICAgICAgICAg
fCAgMSAtCiBwbGF0L3hlbi9hcm0vYXJjaF90aW1lLmMgICAgICAgICAgICAgfCAgMSAtCiBwbGF0
L3hlbi9ldmVudHMuYyAgICAgICAgICAgICAgICAgICAgfCAgOCArKystLS0tLQogcGxhdC94ZW4v
aHlwZXJ2aXNvci5jICAgICAgICAgICAgICAgIHwgIDYgKy0tLS0tCiBwbGF0L3hlbi9pbmNsdWRl
L2NvbW1vbi9ldmVudHMuaCAgICAgfCAxOCArKysrKysrKysrKysrKysrKysKIHBsYXQveGVuL2lu
Y2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaCB8ICAzIC0tLQogNiBmaWxlcyBjaGFuZ2VkLCAyMiBp
bnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9hcm0v
YXJjaF9ldmVudHMuYyBiL3BsYXQveGVuL2FybS9hcmNoX2V2ZW50cy5jCmluZGV4IDkxZjBlY2Iu
LjIwMzdhY2EgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL2FybS9hcmNoX2V2ZW50cy5jCisrKyBiL3Bs
YXQveGVuL2FybS9hcmNoX2V2ZW50cy5jCkBAIC0yNiw3ICsyNiw2IEBACiAKICNpbmNsdWRlIDx4
ZW4tYXJtL29zLmg+CiAjaW5jbHVkZSA8Y29tbW9uL2V2ZW50cy5oPgotI2luY2x1ZGUgPGNvbW1v
bi9oeXBlcnZpc29yLmg+CiAjaW5jbHVkZSA8dWsvcHJpbnQuaD4KICNpbmNsdWRlIDx1ay9hc3Nl
cnQuaD4KICNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9h
cm0vYXJjaF90aW1lLmMgYi9wbGF0L3hlbi9hcm0vYXJjaF90aW1lLmMKaW5kZXggYzVkNDU1MS4u
ZmVjODlkYSAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vYXJtL2FyY2hfdGltZS5jCisrKyBiL3BsYXQv
eGVuL2FybS9hcmNoX3RpbWUuYwpAQCAtMjUsNyArMjUsNiBAQAogICovCiAKICNpbmNsdWRlIDx4
ZW4tYXJtL29zLmg+Ci0jaW5jbHVkZSA8Y29tbW9uL2h5cGVydmlzb3IuaD4KICNpbmNsdWRlIDxj
b21tb24vZXZlbnRzLmg+CiAjaW5jbHVkZSA8eGVuLWFybS90cmFwcy5oPgogI2luY2x1ZGUgPHVr
L3ByaW50Lmg+CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9ldmVudHMuYyBiL3BsYXQveGVuL2V2ZW50
cy5jCmluZGV4IDZkZjNlNGIuLjNhMWQxNTUgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL2V2ZW50cy5j
CisrKyBiL3BsYXQveGVuL2V2ZW50cy5jCkBAIC0yOTEsMTYgKzI5MSwxNCBAQCBpbnQgZXZ0Y2hu
X2dldF9wZWVyY29udGV4dChldnRjaG5fcG9ydF90IGxvY2FsX3BvcnQsIGNoYXIgKmN0eCwgaW50
IHNpemUpCiAJcmV0dXJuIHJjOwogfQogCi0vKiBUT0RPIC0gdGhlc2Ugd2VyZSBtb3ZlZCBmcm9t
IGh5cGVydmlzb3IuYzsgaW50ZWdyYXRlIGludG8gZXZ0Y2huICovCi0KLWlubGluZSB2b2lkIG1h
c2tfZXZ0Y2huKHVpbnQzMl90IHBvcnQpCitpbmxpbmUgdm9pZCBtYXNrX2V2dGNobihldnRjaG5f
cG9ydF90IHBvcnQpCiB7CiAJc2hhcmVkX2luZm9fdCAqcyA9IEhZUEVSVklTT1Jfc2hhcmVkX2lu
Zm87CiAKIAl1a19zZXRfYml0KHBvcnQsICZzLT5ldnRjaG5fbWFza1swXSk7CiB9CiAKLWlubGlu
ZSB2b2lkIHVubWFza19ldnRjaG4odWludDMyX3QgcG9ydCkKK2lubGluZSB2b2lkIHVubWFza19l
dnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0KQogewogCXNoYXJlZF9pbmZvX3QgKnMgPSBIWVBFUlZJ
U09SX3NoYXJlZF9pbmZvOwogCXZjcHVfaW5mb190ICp2Y3B1X2luZm8gPSAmcy0+dmNwdV9pbmZv
W3NtcF9wcm9jZXNzb3JfaWQoKV07CkBAIC0zMjMsNyArMzIxLDcgQEAgaW5saW5lIHZvaWQgdW5t
YXNrX2V2dGNobih1aW50MzJfdCBwb3J0KQogCX0KIH0KIAotaW5saW5lIHZvaWQgY2xlYXJfZXZ0
Y2huKHVpbnQzMl90IHBvcnQpCitpbmxpbmUgdm9pZCBjbGVhcl9ldnRjaG4oZXZ0Y2huX3BvcnRf
dCBwb3J0KQogewogCXNoYXJlZF9pbmZvX3QgKnMgPSBIWVBFUlZJU09SX3NoYXJlZF9pbmZvOwog
CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9oeXBlcnZpc29yLmMgYi9wbGF0L3hlbi9oeXBlcnZpc29y
LmMKaW5kZXggY2ExNmVkNi4uMDlkNWZhNiAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vaHlwZXJ2aXNv
ci5jCisrKyBiL3BsYXQveGVuL2h5cGVydmlzb3IuYwpAQCAtNDIsMTAgKzQyLDYgQEAKICNpbmNs
dWRlIDx1ay9hcmNoL2xjcHUuaD4KICNpbmNsdWRlIDx1ay9hcmNoL2F0b21pYy5oPgogCi0vLyBU
T0RPIHJldmlzaXQ6IG1vdmUgdG8gZXZ0Y2huOyB3aHkgY3B1IHBhcmFtPwotI2RlZmluZSBhY3Rp
dmVfZXZ0Y2hucyhjcHUsIHNoLCBpZHgpCQkJCVwKLQkoKHNoKS0+ZXZ0Y2huX3BlbmRpbmdbaWR4
XSAmIH4oc2gpLT5ldnRjaG5fbWFza1tpZHhdKQotCiBpbnQgaW5fY2FsbGJhY2s7CiAKICNpZm5k
ZWYgQ09ORklHX1BBUkFWSVJUCkBAIC03Myw3ICs2OSw3IEBAIHZvaWQgZG9faHlwZXJ2aXNvcl9j
YWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdzKQogCQlsMWkgPSB1a2FyY2hfZmZzbChsMSk7CiAJ
CWwxICY9IH4oMVVMIDw8IGwxaSk7CiAKLQkJd2hpbGUgKChsMiA9IGFjdGl2ZV9ldnRjaG5zKGNw
dSwgcywgbDFpKSkgIT0gMCkgeworCQl3aGlsZSAoKGwyID0gYWN0aXZlX2V2dGNobnMocywgbDFp
KSkgIT0gMCkgewogCQkJbDJpID0gdWthcmNoX2Zmc2wobDIpOwogCQkJbDIgJj0gfigxVUwgPDwg
bDJpKTsKIApkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vZXZlbnRzLmggYi9w
bGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaAppbmRleCA5NzFkZmY5Li5iNzA5OTJkIDEw
MDY0NAotLS0gYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaAorKysgYi9wbGF0L3hl
bi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaApAQCAtNDcsNiArNDcsOCBAQAogI2luY2x1ZGUgPHhl
bi9ldmVudF9jaGFubmVsLmg+CiAjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+CiAKKyNkZWZpbmUg
YWN0aXZlX2V2dGNobnMoc2gsIGlkeCkJCQkJXAorCSgoc2gpLT5ldnRjaG5fcGVuZGluZ1tpZHhd
ICYgfihzaCktPmV2dGNobl9tYXNrW2lkeF0pCiAKIHR5cGVkZWYgdm9pZCAoKmV2dGNobl9oYW5k
bGVyX3QpKGV2dGNobl9wb3J0X3QsIHN0cnVjdCBfX3JlZ3MgKiwgdm9pZCAqKTsKIApAQCAtNjUs
NiArNjcsMjIgQEAgZXZ0Y2huX3BvcnRfdCBiaW5kX3BpcnEodWludDMyX3QgcGlycSwgaW50IHdp
bGxfc2hhcmUsCiBldnRjaG5fcG9ydF90IGJpbmRfZXZ0Y2huKGV2dGNobl9wb3J0X3QgcG9ydCwg
ZXZ0Y2huX2hhbmRsZXJfdCBoYW5kbGVyLAogCQkJICB2b2lkICpkYXRhKTsKIHZvaWQgdW5iaW5k
X2V2dGNobihldnRjaG5fcG9ydF90IHBvcnQpOworCisvKiBEaXNhYmxlIGV2ZW50cyBmb3IgPHBv
cnQ+IGJ5IHNldHRpbmcgdGhlIG1hc2tpbmcgYml0ICovCit2b2lkIG1hc2tfZXZ0Y2huKGV2dGNo
bl9wb3J0X3QgcG9ydCk7CisKKy8qCisgKiBFbmFibGUgZXZlbnRzIGZvciA8cG9ydD4gYnkgdW5z
ZXR0aW5nIHRoZSBtYXNraW5nIGJpdC4KKyAqIElmIHBlbmRpbmcgZXZlbnRzIGFyZSBwcmVzZW50
LCBjYWxsIHVrcGxhdF9sY3B1X2lycXNfaGFuZGxlX3BlbmRpbmcKKyAqLwordm9pZCB1bm1hc2tf
ZXZ0Y2huKGV2dGNobl9wb3J0X3QgcG9ydCk7CisKKy8qCisgKiBDbGVhciBwZW5kaW5nIGV2ZW50
cyBmcm9tIDxwb3J0PiBieSB1bnNldHRpbmcgdGhlIHBlbmRpbmcKKyAqIGV2ZW50cyBiaXQKKyAq
Lwordm9pZCBjbGVhcl9ldnRjaG4oZXZ0Y2huX3BvcnRfdCBwb3J0KTsKKwogdm9pZCBpbml0X2V2
ZW50cyh2b2lkKTsKIGludCBldnRjaG5fYWxsb2NfdW5ib3VuZChkb21pZF90IHBhbCwgZXZ0Y2hu
X2hhbmRsZXJfdCBoYW5kbGVyLAogCQkJIHZvaWQgKmRhdGEsIGV2dGNobl9wb3J0X3QgKnBvcnQp
OwpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5oIGIvcGxh
dC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5oCmluZGV4IDQ1ODdiODYuLjQxNzQ5OGUg
MTAwNjQ0Ci0tLSBhL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaAorKysgYi9w
bGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9oeXBlcnZpc29yLmgKQEAgLTcxLDkgKzcxLDYgQEAgc2hh
cmVkX2luZm9fdCAqbWFwX3NoYXJlZF9pbmZvKHZvaWQgKnApOwogLy9UT0RPIFNUQVJUIGZyb20g
aGVyZSBvbiB3ZSBoYXZlIHRvIGNsZWFudXAvcmVmYWN0b3IvbW92ZSBzdHVmZgogLyogaHlwZXJ2
aXNvci5jICovCiB2b2lkIGRvX2h5cGVydmlzb3JfY2FsbGJhY2soc3RydWN0IF9fcmVncyAqcmVn
cyk7Ci12b2lkIG1hc2tfZXZ0Y2huKHVpbnQzMl90IHBvcnQpOwotdm9pZCB1bm1hc2tfZXZ0Y2hu
KHVpbnQzMl90IHBvcnQpOwotdm9pZCBjbGVhcl9ldnRjaG4odWludDMyX3QgcG9ydCk7CiAvL1RP
RE8gRU5ECiAKIGV4dGVybiBpbnQgaW5fY2FsbGJhY2s7Ci0tIAoyLjcuNAoKCl9fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5n
IGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVu
cHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:31:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:31:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJGG-0000NX-S1; Wed, 24 Oct 2018 13:31:48 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=odcp=ne=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gFJGF-0000NL-Mq
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:31:47 +0000
X-Inumbo-ID: bd725fac-d790-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x42a.google.com (unknown [2a00:1450:4864:20::42a])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bd725fac-d790-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:28:49 +0200 (CEST)
Received: by mail-wr1-x42a.google.com with SMTP id d2-v6so5614468wro.7
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 06:31:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=5lFoh00mLXgPkXZuuyg4dq0zKEKFy1zHjTxmYHDEJ3g=;
 b=jvIzMptUG/RPpiulp8k4GX9jciVxWkgOUOLX78YxC2F4UBgs6xklhyOENOpZ7vrz8H
 wyLWkA1dkvU5GXpPYq4bSLc8+xGqcYIOZ5tUP3JnVEjH0RdCc4Lr970EPccIic8VaJuv
 0GxKevE0SY8n+FuCFiNe63AJA3rCQdR4xrxS+7XN/mi/zvCfhSoRBYdytIpZKl1HtErj
 rV5PY+Cr07dF1Xs6Aq37OlHs58H1Bp8vBcrMuEMFOvqdUPH+sd3aJCVn3SoCAjDPIzhO
 gx/tAPKNVb3amrg7TNu9Pb9SD0wjndGk4kP7a8NTK44f9SxHO5Z3oKrZ1PA0FpD+I+kC
 vPwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=5lFoh00mLXgPkXZuuyg4dq0zKEKFy1zHjTxmYHDEJ3g=;
 b=fERMF2uiBNqLWMFLwcOpf+JR1Rn82nrGbfi3omKcOa3/Vrlfw6snzmffh+pb1N+86R
 D2PLypgMWQDYWK7wozRBb5NvFqKGnR/xsTqG9g7bR982I2Uf2RwS9CO1Rhhcn/wfJM/5
 MyKHL//UehmW8yVfCyYBQxaowQQQDpuIIl3okZ8QtfLm7NTG0tOI6BQApuH343zYvNmM
 7jrV1iELa9dBQtTM0Fef4sYE1VU9MeGXJDysKxIRrKGZgdjJPvCPWoVxZEMl+dCDveLR
 sXGk8H/e7E7n27YnG+ToJ3w1+gECA4h/VMOTqEO9ybvtUsjzoZa3vpH0TQedqSbFfIxu
 8Vtw==
X-Gm-Message-State: AGRZ1gKGXh58NWwzhaVJozukEr3qlyo5Po6dYzH5KQPOBAbFKwV2Yaas
 0MYWZquzGx4+0Z+js8aojFwcXEZq
X-Google-Smtp-Source: AJdET5ei8DFL5st+laY3JVLq59L32W//qZyafL/5a/siF21m4thqky3RVB+oZatGBdRIXS0C21t8wg==
X-Received: by 2002:adf:efcb:: with SMTP id
 i11-v6mr2827396wrp.204.1540387904433; 
 Wed, 24 Oct 2018 06:31:44 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id t198-v6sm6658098wmd.9.2018.10.24.06.31.43
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 24 Oct 2018 06:31:43 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Wed, 24 Oct 2018 16:30:37 +0300
Message-Id: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
Subject: [Minios-devel] [UNIKRAFT PATCH v2 0/3] plat/xen: Cleanup x86 headers
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpSZW1vdmVkIHhl
bi14ODYvb3MuaCBoZWFkZXIgZmlsZSBhcyBpdCB3YXMgbW9zdGx5IHVudXNlZC4KeGVuL21tX3B2
Lmggd2FzIHRoZSBvbmx5IHNvdXJjZSBmaWxlIHRoYXQgaW5jbHVkZWQgdGhpcyBoZWFkZXIuClJl
bW92aW5nIHRoZSBvcy5oIGNhdXNlZCBzb21lIHNvdXJjZSBmaWxlcyB0byBsb3NlIHRoZSBleHRl
cm4KZGVmaXRpb24gb2YgdGhlIHNoYXJlZCBpbmZvIHBhZ2UsIHNvIEkgaW5jbHVkZWQgdGhlCmNv
bW1vbi9oeXBlcnZpc29yLmggaW4gdGhvc2UgZmlsZXMuCgpNb3ZlZCBldmVudCBjaGFubmVsIHJl
bGF0ZWQgZnVuY3Rpb25zIGZyb20gaHlwZXJ2aXNvci5oIHRvCmV2ZW50cy5oIGFuZCBjaGFuZ2Vk
IHRoZSB4ZW4vYXJtL2FyY2hfKiBmaWxlcyB0byBpbmNsdWRlIHRoZQpldmVudHMgaGVhZGVyLiBE
ZWxldGVkIHVudXNlZCBjb2RlIHBvcnRlZCBmcm9tIE1pbmktT1MgaW4KaHlwZXJ2aXNvci5oCgpS
YWR1IE5pY29sYXUgKDMpOgogIGluY2x1ZGUveGVuLXg4Ni9vcy5oOiBSZW1vdmUgb3MuaCBvbiB4
ODYKICBwbGF0L3hlbi9jb21tb246IE1vdmUgZXZlbnQgY2hhbm5lbCBmdW5jdGlvbnMgaW4gZXZl
bnRzLmgKICBwbGF0L3hlbi9jb21tb24vaHlwZXJ2aXNvcjogRGVsZXRlIHVudXNlZCBjb2RlIGFu
ZCBjb21tZW50cwoKIHBsYXQveGVuL2FybS9hcmNoX2V2ZW50cy5jICAgICAgICAgICB8ICAxIC0K
IHBsYXQveGVuL2FybS9hcmNoX3RpbWUuYyAgICAgICAgICAgICB8ICAxIC0KIHBsYXQveGVuL2V2
ZW50cy5jICAgICAgICAgICAgICAgICAgICB8ICA4ICsrLS0KIHBsYXQveGVuL2dudHRhYi5jICAg
ICAgICAgICAgICAgICAgICB8ICAyICstCiBwbGF0L3hlbi9oeXBlcnZpc29yLmMgICAgICAgICAg
ICAgICAgfCAxMCArLS0tCiBwbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9ldmVudHMuaCAgICAgfCAx
OCArKysrKysrKwogcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5oIHwgMjMgLS0t
LS0tLS0tCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvbW1fcHYuaCAgICAgfCAgMSAtCiBwbGF0
L3hlbi9pbmNsdWRlL3hlbi14ODYvb3MuaCAgICAgICAgfCA5MCAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIHBsYXQveGVuL2luY2x1ZGUveGVuLXg4Ni9zZXR1cC5oICAgICB8
ICAxIC0KIHBsYXQveGVuL2xjcHUuYyAgICAgICAgICAgICAgICAgICAgICB8ICAxIC0KIHBsYXQv
eGVuL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAgICB8ICAxICsKIHBsYXQveGVuL3hlbmJ1cy94
c19jb21tcy5jICAgICAgICAgICB8ICAxICsKIDEzIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlv
bnMoKyksIDEzMyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBwbGF0L3hlbi9pbmNs
dWRlL3hlbi14ODYvb3MuaAoKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls
bWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:31:52 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:31:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJGK-0000On-2M; Wed, 24 Oct 2018 13:31:52 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=odcp=ne=gmail.com=radunicolau102@srs-us1.protection.inumbo.net>)
 id 1gFJGI-0000O1-QK
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:31:50 +0000
X-Inumbo-ID: bf6de122-d790-11e8-a8a5-bc764e045a96
Received: from mail-wm1-x341.google.com (unknown [2a00:1450:4864:20::341])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id bf6de122-d790-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:28:52 +0200 (CEST)
Received: by mail-wm1-x341.google.com with SMTP id p2-v6so2153227wmc.2
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 06:31:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=k7PSDpSmSbXRffd+KQRlzkueGaEvqSbrBOzNYIdSAB4=;
 b=IsfkVXSLebsH/bmdZMVz82+CpzaHRLpcCixW60dVhXzAEe2tazTArrmLOocWGv9qqm
 vUyJzBgbKaS8IXMO2kQZW9Kz/cFgves1pQmBNH5tp4kdfZgxWdtRBinPkS722QClMxjF
 uFH1gSg44gNr4TXM55OZOOKwsJJe++XpJXykXO54IIT6FRAv6etN99pny6RGIwv1f7F0
 qszfQVaiRLF1jyhW6ivV6lxxZ+M+yl3r9/ClgN/n/e8LAlp0/fTSa1lP+pvNZjNM9iST
 uWewD4s2o4vAI+fMEhdB4LTFeHoRNZHHuR1XtUurX6p2Gdsm0hIAfVn8jgb8REL+6GNq
 i9yA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=k7PSDpSmSbXRffd+KQRlzkueGaEvqSbrBOzNYIdSAB4=;
 b=HN3HSDcjFZVl9Avei6YXJ6cMecEPB7Zcmd4A11PUNBonD/wI4MK47etlzmir2lPSVF
 Mp2V/fS8c8cXqhGQ0epmWZf9Ix39uV2e/TJ/O3BmH+YmThfBozq78xpRodXG7f/vA7W2
 OV0abcRfucnY84QJpduVaVRqpJX5ZRPC1uCS7MEFbwaBb0HOtbZ68uC3Y/dRA2IotB9W
 ZedkslSdB+aSMnzVM7aCeQlAvfwNFP+jRiWlBw0r72kf1mvHWP86+z20iq6+CYaRc1it
 t7YZEaM9MxT3EOhMEo0EX3Gg/W4+8/G1HDdfnECQ4o2j0igda0uN8Otb5YacHBVhMdQJ
 tYXA==
X-Gm-Message-State: AGRZ1gIiDpPseObQ4MY9ocMxezoycuG9dvxxbaqOA8ovW1sPi0vXSih/
 AT5yIpDGKpz6NUd9o1MqkBazPMLF
X-Google-Smtp-Source: AJdET5cNWodABrDlR5YpOFBruWzdgheYAYmAie3keZbDAiJoZaBfa5LmpiRxhsLPXqqIbfsU3wD2fQ==
X-Received: by 2002:a1c:a60d:: with SMTP id
 p13-v6mr2726324wme.102.1540387907857; 
 Wed, 24 Oct 2018 06:31:47 -0700 (PDT)
Received: from Panda-PC.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id t198-v6sm6658098wmd.9.2018.10.24.06.31.46
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Wed, 24 Oct 2018 06:31:47 -0700 (PDT)
From: radunicolau102@gmail.com
To: minios-devel@lists.xen.org
Date: Wed, 24 Oct 2018 16:30:40 +0300
Message-Id: <1540387840-16839-4-git-send-email-radunicolau102@gmail.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
References: <1540387840-16839-1-git-send-email-radunicolau102@gmail.com>
Subject: [Minios-devel] [UNIKRAFT PATCH v2 3/3] plat/xen/common/hypervisor:
 Delete unused code and comments
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Radu Nicolau <radunicolau102@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogUmFkdSBOaWNvbGF1IDxyYWR1bmljb2xhdTEwMkBnbWFpbC5jb20+CgpEZWxldGUgdW51
c2VkIGNvZGUgYW5kIGRlcHJlY2F0ZWQgY29tbWVudHMKClNpZ25lZC1vZmYtYnk6IFJhZHUgTmlj
b2xhdSA8cmFkdW5pY29sYXUxMDJAZ21haWwuY29tPgotLS0KIHBsYXQveGVuL2h5cGVydmlzb3Iu
YyAgICAgICAgICAgICAgICB8ICA0IC0tLS0KIHBsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVy
dmlzb3IuaCB8IDIwIC0tLS0tLS0tLS0tLS0tLS0tLS0tCiBwbGF0L3hlbi9pbmNsdWRlL3hlbi14
ODYvc2V0dXAuaCAgICAgfCAgMSAtCiAzIGZpbGVzIGNoYW5nZWQsIDI1IGRlbGV0aW9ucygtKQoK
ZGlmZiAtLWdpdCBhL3BsYXQveGVuL2h5cGVydmlzb3IuYyBiL3BsYXQveGVuL2h5cGVydmlzb3Iu
YwppbmRleCAwOWQ1ZmE2Li5mY2FiN2Y5IDEwMDY0NAotLS0gYS9wbGF0L3hlbi9oeXBlcnZpc29y
LmMKKysrIGIvcGxhdC94ZW4vaHlwZXJ2aXNvci5jCkBAIC00NCwxMCArNDQsNiBAQAogCiBpbnQg
aW5fY2FsbGJhY2s7CiAKLSNpZm5kZWYgQ09ORklHX1BBUkFWSVJUCi1leHRlcm4gc2hhcmVkX2lu
Zm9fdCBzaGFyZWRfaW5mbzsKLSNlbmRpZiAvKiAhQ09ORklHX1BBUkFWSVJUICovCi0KIHZvaWQg
ZG9faHlwZXJ2aXNvcl9jYWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdzKQogewogCXVuc2lnbmVk
IGxvbmcgbDEsIGwyLCBsMWksIGwyaTsKZGlmZiAtLWdpdCBhL3BsYXQveGVuL2luY2x1ZGUvY29t
bW9uL2h5cGVydmlzb3IuaCBiL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2h5cGVydmlzb3IuaApp
bmRleCA0MTc0OThlLi5kMTMxZDZmIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1v
bi9oeXBlcnZpc29yLmgKKysrIGIvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vaHlwZXJ2aXNvci5o
CkBAIC00OCwzMCArNDgsMTAgQEAKICNlbHNlCiAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVj
dHVyZSIKICNlbmRpZgotI2luY2x1ZGUgPHhlbi9odm0vaHZtX29wLmg+CiAjaW5jbHVkZSA8dWsv
YXJjaC9sY3B1Lmg+CiAjaW5jbHVkZSA8dWsvcGxhdC9sY3B1Lmg+CiAKLSNpZiAwIC8vVE9ETzog
Y2xlYW51cAotLyoKLSAqIGEgcGxhY2Vob2xkZXIgZm9yIHRoZSBzdGFydCBvZiBkYXkgaW5mb3Jt
YXRpb24gcGFzc2VkIHVwIGZyb20gdGhlIGh5cGVydmlzb3IKLSAqLwotdW5pb24gc3RhcnRfaW5m
b191bmlvbiB7Ci0Jc3RhcnRfaW5mb190IHN0YXJ0X2luZm87Ci0JY2hhciBwYWRkaW5nWzUxMl07
Ci19OwotZXh0ZXJuIHVuaW9uIHN0YXJ0X2luZm9fdW5pb24gc3RhcnRfaW5mb191bmlvbjsKLSNk
ZWZpbmUgc3RhcnRfaW5mbyAoc3RhcnRfaW5mb191bmlvbi5zdGFydF9pbmZvKQotI2Vsc2UKLWlu
dCBodm1fZ2V0X3BhcmFtZXRlcihpbnQgaWR4LCB1aW50NjRfdCAqdmFsdWUpOwotaW50IGh2bV9z
ZXRfcGFyYW1ldGVyKGludCBpZHgsIHVpbnQ2NF90IHZhbHVlKTsKLSNlbmRpZgotc2hhcmVkX2lu
Zm9fdCAqbWFwX3NoYXJlZF9pbmZvKHZvaWQgKnApOwotCi0vL1RPRE8gU1RBUlQgZnJvbSBoZXJl
IG9uIHdlIGhhdmUgdG8gY2xlYW51cC9yZWZhY3Rvci9tb3ZlIHN0dWZmCi0vKiBoeXBlcnZpc29y
LmMgKi8KIHZvaWQgZG9faHlwZXJ2aXNvcl9jYWxsYmFjayhzdHJ1Y3QgX19yZWdzICpyZWdzKTsK
LS8vVE9ETyBFTkQKIAogZXh0ZXJuIGludCBpbl9jYWxsYmFjazsKIApkaWZmIC0tZ2l0IGEvcGxh
dC94ZW4vaW5jbHVkZS94ZW4teDg2L3NldHVwLmggYi9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYv
c2V0dXAuaAppbmRleCA2ZWFhNGYxLi43YTU3MTkwIDEwMDY0NAotLS0gYS9wbGF0L3hlbi9pbmNs
dWRlL3hlbi14ODYvc2V0dXAuaAorKysgYi9wbGF0L3hlbi9pbmNsdWRlL3hlbi14ODYvc2V0dXAu
aApAQCAtNDYsNyArNDYsNiBAQCBleHRlcm4gdW5zaWduZWQgaW50IF9saWJ4ZW5wbGF0X21yZF9u
dW07CiBleHRlcm4gc3RydWN0IHVrcGxhdF9tZW1yZWdpb25fZGVzYyBfbGlieGVucGxhdF9tcmRb
XTsKIGV4dGVybiBjaGFyIF9saWJ4ZW5wbGF0X2Jvb3RzdGFja1tdOwogCi0vKiBOb3RlOiBIWVBF
UlZJU09SX3NoYXJlZF9pbmZvIGlzIGRlZmluZWQgaW4gb3MuaCAqLwogZXh0ZXJuIHN0YXJ0X2lu
Zm9fdCAqSFlQRVJWSVNPUl9zdGFydF9pbmZvOwogCiAjZW5kaWYgLyogX19TRVRVUF9IX18gKi8K
LS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVj
dC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlv
cy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:42:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:42:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJQy-0001bH-1Q; Wed, 24 Oct 2018 13:42:52 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJQx-0001bA-AR
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:42:51 +0000
X-Inumbo-ID: e80a1379-d792-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id e80a1379-d792-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 13:44:19 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 82204104A57;
 Wed, 24 Oct 2018 15:42:48 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id S---sDbfmLRY; Wed, 24 Oct 2018 15:42:48 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 61873104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:46 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:46 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:26 +0200
Message-ID: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 0/7] plat/drivers: Improve virtio
 support in Unikraft
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW50cm9kdWNlcyB0aGUgYmFzaWMgYnVpbGRpbmcgYmxvY2tzIGZvciB0aGUgd29ya2luZyB3aXRo
IHZpcnRpbyBkZXZpY2VzIGluIApVbmlrcmFmdCBmb3IgdGhlIEtWTSBQbGF0Zm9ybS4gV2UgaW50
cm9kdWNlIGEgdmlydGlvIGJ1cyB0byBicmlkZ2UgdGhlIHZpcnRpbwpkZXZpY2Ugd2l0aCB0aGUg
dmlydGlvIGRldmljZSBkcml2ZXIuIFdlIGludHJvZHVjZXMgYSB2aXJ0aW8gUENJIGRyaXZlcgpp
bXBsZW1lbnRhdGlvbiB0byBzY2FuIHRoZSB2aXJ0aW8gZGV2aWNlIG9uIHRoZSBQQ0kgYnVzLiBU
aGUgdmlydGlvIFBDSSAKZHJpdmVyIG9wZXJhdGVzIGluIGxlZ2FjeSBtb2RlLgoKVGhpcyBwYXRj
aCBhbHNvIGludHJvZHVjZXMgYSB2aXJ0cXVldWUgYWJzdHJhY3Rpb24gdG8gaW50ZXJhY3Qgd2l0
aCB0aGUgdmlydGlvCnJpbmcuIFRoZSB2aXJ0cXVldWUgbGF5ZXIgc3VwcG9ydHMgY3JlYXRpb24g
YW5kIGRlbGV0aW9uIG9wZXJhdGlvbnMgb24gdGhlIAp2aXJ0cXVldWUsIGVucXVldWluZyBhbmQg
ZGVxdWV1aW5nIGRlc2NyaXB0b3IgaW50byB0aGUgdmlydGlvIHJpbmcgYXMgd2VsbCBhcyAKc3Vw
cG9ydCBoYW5kbGluZyBpbnRlcnJ1cHRzIG9uIHRoZSB2aXJ0aW8gcmluZy4KCkNoYW5nZXMgc2lu
Y2UgdjE6CiogUmVuYW1lZCB2aXJ0aW8uaCB0byB2aXJ0aW9fYnVzLmgKKiBGaXhlZCBjaGFuZ2Vz
IG9uIGRpZmZlcmVudCBjb21taXQgdG8gaXRzIG9yaWdpbmFsIGNvbW1pdC4KKiBGaXhlZCBzb21l
IGVycm9yIG1lc3NhZ2UuCiogRml4ZWQgc29tZSBjb21tZW50cwoKU2hhcmFuIFNhbnRoYW5hbSAo
Nyk6CiAgcGxhdC9kcml2ZXI6IFJlbW92ZSB0aGUgdmlydGlvLXJpbmcgaW1wbGVtZW50YXRpb24K
ICBwbGF0L2NvbW1vbjogSW50cm9kdWNlIHZpcnRpbyBzdGFuZGFyZCBoZWFkZXIKICBwbGF0L2Ry
aXZlcnM6IEludHJvZHVjZSB0aGUgdmlydGlvIGJ1cwogIHBsYXQvZHJpdmVyczogSW50cm9kdWNl
IHZpcnRpbyBQQ0kgZGV2aWNlCiAgcGxhdC9kcml2ZXJzOiBSZWludHJvZHVjZSB0aGUgdmlydGlv
IHJpbmcKICBwbGF0L2RyaXZlcnM6IEludGVycnVwdCBoYW5kbGluZyBmb3IgdmlydGlvLXJpbmcK
ICBwbGF0L2RyaXZlcnM6IEFkZCAmIFJlbW92ZSBidWZmZXIgZnJvbSB2aXJ0aW8tcmluZwoKIHBs
YXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcGNpLmggIHwgIDY2IC0tLS0KIHBs
YXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oIHwgMjc2IC0tLS0tLS0t
LS0tLS0tLQogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaCAgICAgfCAz
MjcgKysrKysrKysrKysrKysrKysrCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlv
X2NvbmZpZy5oICB8IDI1OSArKysrKysrKysrKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19pZHMuaCAgICAgfCAgNjQgKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19wY2kuaCAgICAgfCAgNzQgKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19yaW5nLmggICAgfCAxOTYgKysrKysrKysrKysKIHBsYXQvZHJpdmVycy9pbmNs
dWRlL3ZpcnRpby92aXJ0aW9fdHlwZXMuaCAgIHwgIDYyICsrKysKIHBsYXQvZHJpdmVycy9pbmNs
dWRlL3ZpcnRpby92aXJ0cXVldWUuaCAgICAgIHwgMjM5ICsrKysrKysrKysrKysKIHBsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX2J1cy5jICAgICAgICAgICAgIHwgMjI2ICsrKysrKysrKysrKwog
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgICAgICAgICAgfCA0MzYgKysrKysr
KysrKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyAgICAg
ICAgICAgIHwgNDk2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogcGxhdC9rdm0vQ29uZmln
LnVrICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjQgKy0KIHBsYXQva3ZtL01ha2VmaWxl
LnVrICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCiAxNCBmaWxlcyBjaGFuZ2VkLCAy
Mjg5IGluc2VydGlvbnMoKyksIDQ3MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBw
bGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oCiBkZWxldGUgbW9kZSAx
MDA2NDQgcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5nLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2J1cy5oCiBj
cmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25m
aWcuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0
aW9faWRzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvX3BjaS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19yaW5nLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvX3R5cGVzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMv
aW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZl
cnMvdmlydGlvL3ZpcnRpb19idXMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3BjaS5jCgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h
aWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:42:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJR3-0001bq-35; Wed, 24 Oct 2018 13:42:57 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJR2-0001be-4r
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:42:56 +0000
X-Inumbo-ID: 4a831355-d792-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 4a831355-d792-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:39:55 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id D30C1F2014;
 Wed, 24 Oct 2018 15:42:50 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id GxaylZjy_x5O; Wed, 24 Oct 2018 15:42:50 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id A8F2EF200F
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:48 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:48 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:27 +0200
Message-ID: <1540388553-15668-2-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 1/7] plat/driver: Remove the
 virtio-ring implementation
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QXMgYSBwYXJ0IG9mIHJldmFtcGluZyB0aGUgdmlydGlvIGxheWVyLCB3ZSBhcmUgcmVtb3Zpbmcg
dGhlIGV4aXN0aW5nCmltcGxlbWVudGF0aW9uIG9mIHZpcnRpbyByaW5nIGRyaXZlci4gVGhlIHZp
cnRpbyByaW5nIGRyaXZlciBhZGFwdGVkIHRvCnRoZSBuZXcgdmlydGlvIEFQSSB3aWxsIHJlaW50
cm9kdWNlZCBsYXRlciBpbiB0aGlzIHBhdGNoIHNlcmllcwoKU2lnbmVkLW9mZi1ieTogU2hhcmFu
IFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+ClJldmlld2VkLWJ5OiBTaW1v
biBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2NvbW1vbi9pbmNs
dWRlL3BjaS92aXJ0aW8vdmlydGlvX3JpbmcuaCB8IDI3NiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyAgICAgICAgICAgIHwgMTcy
IC0tLS0tLS0tLS0tLS0tLS0tCiBwbGF0L2t2bS9Db25maWcudWsgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgOCAtCiBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAg
ICAgICB8ICAgNyAtCiA0IGZpbGVzIGNoYW5nZWQsIDQ2MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3JpbmcuaAog
ZGVsZXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwoKZGlm
ZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvcGNpL3ZpcnRpby92aXJ0aW9fcmluZy5oIGIv
cGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5nLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDgyYTAwNmYuLjAwMDAwMDAKLS0tIGEvcGxhdC9jb21tb24vaW5j
bHVkZS9wY2kvdmlydGlvL3ZpcnRpb19yaW5nLmgKKysrIC9kZXYvbnVsbApAQCAtMSwyNzYgKzAs
MCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwotLyoKLSAq
IEF1dGhvcnM6IENvc3RpbiBMdXB1IDxjb3N0aW4ubHVwdUBjcy5wdWIucm8+Ci0gKgotICogQ29w
eXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqCi0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRo
ZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiAgICBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQotICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKLSAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFCi0gKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCi0gKiBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCi0gKiBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqCi0gKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBP
UiBNT0RJRklFRCBJTiBBTlkgV0FZLgotICovCi0vKiBBbiBpbnRlcmZhY2UgZm9yIGVmZmljaWVu
dCB2aXJ0aW8gaW1wbGVtZW50YXRpb24uCi0gKgotICogVGhpcyBoZWFkZXIgaXMgQlNEIGxpY2Vu
c2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9ucwotICogdG8gaW1wbGVtZW50IGNv
bXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgotICoKLSAqIENvcHlyaWdodCAyMDA3LCAyMDA5LCBJ
Qk0gQ29ycG9yYXRpb24KLSAqIENvcHlyaWdodCAyMDExLCBSZWQgSGF0LCBJbmMKLSAqIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIElCTSBu
b3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKLSAqICAgIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQotICog
ICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RQotICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRP
UlMgQkUKLSAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUKLSAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0jaWZuZGVmIF9fUExBVF9D
TU5fUENJX1ZJUlRJT19SSU5HX0hfXwotI2RlZmluZSBfX1BMQVRfQ01OX1BDSV9WSVJUSU9fUklO
R19IX18KLQotI2luY2x1ZGUgPHVrL2FyY2gvbGltaXRzLmg+Ci0jaW5jbHVkZSA8dWsvYWxsb2Mu
aD4KLQotLyoKLSAqIFRPRE8gSW4gdGhlIGZ1dHVyZSB3ZSBtYXkgZmluZCB0aGF0IHRoZSBMaW51
eCB2YXJpYW50IG9mIHZpcnRpb19yaW5nLmgKLSAqIChpbiBpbmNsdWRlL3VhcGkvbGludXgvdmly
dGlvX3JpbmcuaCkgbWF5IGJlIG1vcmUgc3VpdGFibGUgZm9yIG91ciBuZWVkcy4KLSAqLwotCi10
eXBlZGVmIF9fdTE2IF9fdmlydGlvX2xlMTY7Ci10eXBlZGVmIF9fdTMyIF9fdmlydGlvX2xlMzI7
Ci10eXBlZGVmIF9fdTY0IF9fdmlydGlvX2xlNjQ7Ci0KLSNpZiBfX0JZVEVfT1JERVJfXyAhPSAg
X19PUkRFUl9MSVRUTEVfRU5ESUFOX18KLSNlcnJvciAiUGxlYXNlIGRlZmluZSBjb252ZXJzaW9u
IGZ1bmN0aW9ucyBmcm9tIGhvc3QgdG8gbGl0dGxlIGVuZGlhbiEiCi0jZW5kaWYKLQotLyogVGhp
cyBtYXJrcyBhIGJ1ZmZlciBhcyBjb250aW51aW5nIHZpYSB0aGUgbmV4dCBmaWVsZC4gKi8KLSNk
ZWZpbmUgVklSVFFfREVTQ19GX05FWFQgICAgICAgMQotLyogVGhpcyBtYXJrcyBhIGJ1ZmZlciBh
cyB3cml0ZS1vbmx5IChvdGhlcndpc2UgcmVhZC1vbmx5KS4gKi8KLSNkZWZpbmUgVklSVFFfREVT
Q19GX1dSSVRFICAgICAgMgotLyogVGhpcyBtZWFucyB0aGUgYnVmZmVyIGNvbnRhaW5zIGEgbGlz
dCBvZiBidWZmZXIgZGVzY3JpcHRvcnMuICovCi0jZGVmaW5lIFZJUlRRX0RFU0NfRl9JTkRJUkVD
VCAgIDQKLQotLyoKLSAqIFRoZSBkZXZpY2UgdXNlcyB0aGlzIGluIHVzZWQtPmZsYWdzIHRvIGFk
dmlzZSB0aGUgZHJpdmVyOgotICogZG9uJ3Qga2ljayBtZSB3aGVuIHlvdSBhZGQgYSBidWZmZXIu
IEl0J3MgdW5yZWxpYWJsZSwgc28KLSAqIGl0J3Mgc2ltcGx5IGFuIG9wdGltaXphdGlvbi4KLSAq
LwotI2RlZmluZSBWSVJUUV9VU0VEX0ZfTk9fTk9USUZZICAxCi0KLS8qCi0gKiBUaGUgZHJpdmVy
IHVzZXMgdGhpcyBpbiBhdmFpbC0+ZmxhZ3MgdG8gYWR2aXNlIHRoZSBkZXZpY2U6Ci0gKiBkb24n
dCBpbnRlcnJ1cHQgbWUgd2hlbiB5b3UgY29uc3VtZSBhIGJ1ZmZlci4gSXQncyB1bnJlbGlhYmxl
LCBzbwotICogaXQncyBzaW1wbHkgYW4gb3B0aW1pemF0aW9uLgotICovCi0jZGVmaW5lIFZJUlRR
X0FWQUlMX0ZfTk9fSU5URVJSVVBUICAgICAgMQotCi0vKiBTdXBwb3J0IGZvciBpbmRpcmVjdCBk
ZXNjcmlwdG9ycyAqLwotI2RlZmluZSBWSVJUSU9fRl9JTkRJUkVDVF9ERVNDICAgIDI4Ci0KLS8q
IFN1cHBvcnQgZm9yIGF2YWlsX2V2ZW50IGFuZCB1c2VkX2V2ZW50IGZpZWxkcyAqLwotI2RlZmlu
ZSBWSVJUSU9fRl9FVkVOVF9JRFggICAgICAgIDI5Ci0KLS8qIEFyYml0cmFyeSBkZXNjcmlwdG9y
IGxheW91dHMuICovCi0jZGVmaW5lIFZJUlRJT19GX0FOWV9MQVlPVVQgICAgICAgMjcKLQotCi0v
KgotICogVmlydHF1ZXVlIGRlc2NyaXB0b3JzOiAxNiBieXRlcy4KLSAqIFRoZXNlIGNhbiBjaGFp
biB0b2dldGhlciB2aWEgIm5leHQiLgotICovCi1zdHJ1Y3QgdmlydHFfZGVzYyB7Ci0JLyogQWRk
cmVzcyAoZ3Vlc3QtcGh5c2ljYWwpLiAqLwotCV9fdmlydGlvX2xlNjQgYWRkcjsKLQkvKiBMZW5n
dGguICovCi0JX192aXJ0aW9fbGUzMiBsZW47Ci0JLyogVGhlIGZsYWdzIGFzIGluZGljYXRlZCBh
Ym92ZS4gKi8KLQlfX3ZpcnRpb19sZTE2IGZsYWdzOwotCS8qIFdlIGNoYWluIHVudXNlZCBkZXNj
cmlwdG9ycyB2aWEgdGhpcywgdG9vICovCi0JX192aXJ0aW9fbGUxNiBuZXh0OwotfTsKLQotc3Ry
dWN0IHZpcnRxX2F2YWlsIHsKLQlfX3ZpcnRpb19sZTE2IGZsYWdzOwotCV9fdmlydGlvX2xlMTYg
aWR4OwotCV9fdmlydGlvX2xlMTYgcmluZ1tdOwotCS8qIE9ubHkgaWYgVklSVElPX0ZfRVZFTlRf
SURYOiBfX3ZpcnRpb19sZTE2IHVzZWRfZXZlbnQ7ICovCi19OwotCi0vKiBfX3ZpcnRpb19sZTMy
IGlzIHVzZWQgaGVyZSBmb3IgaWRzIGZvciBwYWRkaW5nIHJlYXNvbnMuICovCi1zdHJ1Y3Qgdmly
dHFfdXNlZF9lbGVtIHsKLQkvKiBJbmRleCBvZiBzdGFydCBvZiB1c2VkIGRlc2NyaXB0b3IgY2hh
aW4uICovCi0JX192aXJ0aW9fbGUzMiBpZDsKLQkvKiBUb3RhbCBsZW5ndGggb2YgdGhlIGRlc2Ny
aXB0b3IgY2hhaW4gd2hpY2ggd2FzIHdyaXR0ZW4gdG8uICovCi0JX192aXJ0aW9fbGUzMiBsZW47
Ci19OwotCi1zdHJ1Y3QgdmlydHFfdXNlZCB7Ci0JX192aXJ0aW9fbGUxNiBmbGFnczsKLQlfX3Zp
cnRpb19sZTE2IGlkeDsKLQlzdHJ1Y3QgdmlydHFfdXNlZF9lbGVtIHJpbmdbXTsKLQkvKiBPbmx5
IGlmIFZJUlRJT19GX0VWRU5UX0lEWDogX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudDsgKi8KLX07
Ci0KLS8qCi0gKiBUT0RPIFdlIHNldCB0aGUgbWF4aW11bSBidWZmZXIgbGVuZ3RoIGFzIGl0IHdh
cyBpbiBTb2xvNS4gVGhlIHZhbHVlCi0gKiB3YXMgY2hvc2VuIGZvciBrZWVwaW5nIHRoZSAxMiBi
eXRlIGhlYWRlciBhbmQgMTUxNCBieXRlcyBmb3IgdGhlCi0gKiBuZXR3b3JrIHBhY2tldC4gU3Vw
cG9ydCBzaG91bGQgYmUgYWRkZWQgaW4gb3JkZXIgdG8gYWxsb3cgZHJpdmVycwotICogdG8gY29u
ZmlndXJlIHRoZWlyIG93biBidWZmZXIgc2l6ZXMgKGFkb3B0aW5nIHRoZSBMaW51eCB2YXJpYW50
IG9mCi0gKiB2aXJ0aW9fcmluZy5oIHdvdWxkIGhlbHAgb24gdGhhdCBtYXR0ZXIpLgotICovCi0j
ZGVmaW5lIE1BWF9CVUZGRVJfTEVOIDE1MjYKLQotLyoKLSAqIEVhY2ggb25lIG9mIHRoZXNlIGlv
X2J1ZmZlcidzIG1hcCB0byBhIGRlc2NyaXB0b3IuCi0gKiBBbiBhcnJheSBvZiBpb19idWZmZXIn
cyBvZiBzaXplIHZpcnRxLT5udW0gKHNhbWUKLSAqIGFzIHZpcnRxLT5kZXNjKSBpcyBhbGxvY2F0
ZWQgZHVyaW5nIGluaXQuCi0gKi8KLXN0cnVjdCBpb19idWZmZXIgewotCV9fdTggZGF0YVtNQVhf
QlVGRkVSX0xFTl07Ci0KLQkvKgotCSAqIERhdGEgbGVuZ3RoIGluIGJ5dGVzLiBJdCBpcyB3cml0
dGVuIGJ5IHRoZSBkcml2ZXIgb24KLQkgKiBhIHR4L3dyaXRlLCBvciBieSB0aGUgZGV2aWNlIG9u
IGEgcngvcmVhZCBvbiBpbnRlcnJ1cHQKLQkgKiBoYW5kbGluZy4KLQkgKi8KLQlfX3UzMiBsZW47
Ci0KLQkvKiBFeHRyYSBmbGFncyB0byBiZSBhZGRlZCB0byB0aGUgY29ycmVzcG9uZGluZyBkZXNj
cmlwdG9yLiAqLwotCV9fdTE2IGV4dHJhX2ZsYWdzOwotfTsKLQotc3RydWN0IHZpcnRxIHsKLQl1
bnNpZ25lZCBpbnQgbnVtOwotCi0Jc3RydWN0IHZpcnRxX2Rlc2MgKmRlc2M7Ci0Jc3RydWN0IHZp
cnRxX2F2YWlsICphdmFpbDsKLQlzdHJ1Y3QgdmlydHFfdXNlZCAqdXNlZDsKLQlzdHJ1Y3QgaW9f
YnVmZmVyICpidWZzOwotCi0JLyogS2VlcCB0cmFjayBvZiBhdmFpbGFibGUgKGZyZWUpIGRlc2Ny
aXB0b3JzICovCi0JX191MTYgbnVtX2F2YWlsOwotCi0JLyogSW5kZXhlcyBpbiB0aGUgZGVzY3Jp
cHRvcnMgYXJyYXkgKi8KLQlfX3UxNiBsYXN0X3VzZWQ7Ci0JX191MTYgbmV4dF9hdmFpbDsKLX07
Ci0KLS8qCi0gKiBIZWxwZXIgbWFjcm9zIGZvciBhY2Nlc3NpbmcgdmlydHF1ZXVlIGZpZWxkcwot
ICovCi0KLSNkZWZpbmUgVklSVFFfT0ZGX0RFU0MocSkgICAgICAgICAwCi0KLSNkZWZpbmUgVklS
VFFfT0ZGX0FWQUlMKHEpICAgICAgICAoKHEpLT5udW0gKiBzaXplb2Yoc3RydWN0IHZpcnRxX2Rl
c2MpKQotI2RlZmluZSBWSVJUUV9PRkZfQVZBSUxfUklORyhxKSBcCi0JKFZJUlRRX09GRl9BVkFJ
TChxKSArIHNpemVvZihzdHJ1Y3QgdmlydHFfYXZhaWwpKQotCi0jZGVmaW5lIFZJUlRRX09GRl9Q
QURESU5HKHEpIFwKLQkoVklSVFFfT0ZGX0FWQUlMX1JJTkcocSkgKyAoc2l6ZW9mKF9fdmlydGlv
X2xlMTYpICogKHEpLT5udW0pKQotCi0jZGVmaW5lIFZJUlRRX09GRl9VU0VEKHEpIFwKLQkoKFZJ
UlRRX09GRl9QQURESU5HKHEpICsgX19QQUdFX1NJWkUgLSAxKSAmIF9fUEFHRV9NQVNLKQotI2Rl
ZmluZSBWSVJUUV9PRkZfVVNFRF9SSU5HKHEpIFwKLQkoVklSVFFfT0ZGX1VTRUQocSkgKyBzaXpl
b2Yoc3RydWN0IHZpcnRxX3VzZWQpKQotCi0jZGVmaW5lIFZJUlRRX1NJWkUocSkgXAotCShWSVJU
UV9PRkZfVVNFRF9SSU5HKHEpICsgKHNpemVvZihzdHJ1Y3QgdmlydHFfdXNlZF9lbGVtKSAqIChx
KS0+bnVtKSkKLQotc3RhdGljIGlubGluZQotaW50IHZpcnRxX25lZWRfZXZlbnQoX191MTYgZXZl
bnRfaWR4LCBfX3UxNiBuZXdfaWR4LCBfX3UxNiBvbGRfaWR4KQotewotCXJldHVybiAobmV3X2lk
eCAtIGV2ZW50X2lkeCAtIDEpIDwgKG5ld19pZHggLSBvbGRfaWR4KTsKLX0KLQotLyogR2V0IGxv
Y2F0aW9uIG9mIGV2ZW50IGluZGljZXMgKG9ubHkgd2l0aCBWSVJUSU9fRl9FVkVOVF9JRFgpICov
Ci1zdGF0aWMgaW5saW5lIF9fdmlydGlvX2xlMTYgKnZpcnRxX3VzZWRfZXZlbnQoc3RydWN0IHZp
cnRxICp2cSkKLXsKLQkvKgotCSAqIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgdXNlZCBl
dmVudCBpbmRleAotCSAqIGlzIGF0ICplbmQqIG9mIGF2YWlsIHJpbmcuCi0JICovCi0JcmV0dXJu
ICZ2cS0+YXZhaWwtPnJpbmdbdnEtPm51bV07Ci19Ci0KLXN0YXRpYyBpbmxpbmUgX192aXJ0aW9f
bGUxNiAqdmlydHFfYXZhaWxfZXZlbnQoc3RydWN0IHZpcnRxICp2cSkKLXsKLQkvKgotCSAqIEZv
ciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYXZhaWwgZXZlbnQgaW5kZXgKLQkgKiBpcyBhdCAq
ZW5kKiBvZiB1c2VkIHJpbmcuCi0JICovCi0JcmV0dXJuIChfX3ZpcnRpb19sZTE2ICopICZ2cS0+
dXNlZC0+cmluZ1t2cS0+bnVtXTsKLX0KLQotLyoKLSAqIENyZWF0ZSBhIGRlc2NyaXB0b3IgY2hh
aW4gc3RhcnRpbmcgYXQgaW5kZXggaGVhZCwKLSAqIHVzaW5nIHZxLT5idWZzIGFsc28gc3RhcnRp
bmcgYXQgaW5kZXggaGVhZC4KLSAqIEBwYXJhbSB2cSBWaXJ0dWFsIHF1ZXVlCi0gKiBAcGFyYW0g
aGVhZCBTdGFydGluZyBkZXNjcmlwdG9yIGluZGV4Ci0gKiBAcGFyYW0gbnVtIE51bWJlciBvZiBk
ZXNjcmlwdG9ycyAoYW5kIG51bWJlciBvZiBidWZzKS4KLSAqIEByZXR1cm4gMCBvbiBzdWNjZXNz
LCA8IDAgb3RoZXJ3aXNlCi0gKi8KLWludCB2aXJ0cV9hZGRfZGVzY3JpcHRvcl9jaGFpbihzdHJ1
Y3QgdmlydHEgKnZxLAotCQlfX3UxNiBoZWFkLCBfX3UxNiBudW0pOwotCi0vKgotICogSW5pdGlh
bGl6ZXMgYSB2aXJ0dWFsIHF1ZXVlCi0gKiBAcGFyYW0gdnEgVmlydHVhbCBxdWV1ZQotICogQHBh
cmFtIHBjaV9iYXNlIEJhc2UgaW4gUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UKLSAqIEBwYXJhbSBx
dWV1ZV9zZWxlY3QgVmlydHVhbCBxdWV1ZSBzZWxlY3RvcgotICogQHBhcmFtIGEgTWVtb3J5IGFs
bG9jYXRvcgotICogQHJldHVybiAwIG9uIHN1Y2Nlc3MsIDwgMCBvdGhlcndpc2UKLSAqLwotaW50
IHZpcnRxX3JpbmdzX2luaXQoc3RydWN0IHZpcnRxICp2cSwgX191MTYgcGNpX2Jhc2UsCi0JCQlf
X3ZpcnRpb19sZTE2IHF1ZXVlX3NlbGVjdCwgc3RydWN0IHVrX2FsbG9jICphKTsKLQotLyoKLSAq
IERlaW5pdGlhbGl6ZXMgYSB2aXJ0dWFsIHF1ZXVlCi0gKiBAcGFyYW0gdnEgVmlydHVhbCBxdWV1
ZQotICogQHBhcmFtIHBjaV9iYXNlIEJhc2UgaW4gUENJIGNvbmZpZ3VyYXRpb24gc3BhY2UKLSAq
IEBwYXJhbSBxdWV1ZV9zZWxlY3QgVmlydHVhbCBxdWV1ZSBzZWxlY3RvcgotICogQHBhcmFtIGEg
TWVtb3J5IGFsbG9jYXRvcgotICovCi12b2lkIHZpcnRxX3JpbmdzX2Zpbmkoc3RydWN0IHZpcnRx
ICp2cSwgX191MTYgcGNpX2Jhc2UsCi0JCQlfX3ZpcnRpb19sZTE2IHF1ZXVlX3NlbGVjdCwgc3Ry
dWN0IHVrX2FsbG9jICphKTsKLQotI2VuZGlmIC8qIF9fUExBVF9DTU5fUENJX1ZJUlRJT19SSU5H
X0hfXyAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jIGIv
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA5YTI5OTZjLi4wMDAwMDAwCi0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X3JpbmcuYworKysgL2Rldi9udWxsCkBAIC0xLDE3MiArMCwwIEBACi0vKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogSVNDICovCi0vKgotICogQXV0aG9yczogRGFuIFdpbGxpYW1zCi0gKiAgICAg
ICAgICBNYXJ0aW4gTHVjaW5hCi0gKiAgICAgICAgICBSaWNhcmRvIEtvbGxlcgotICogICAgICAg
ICAgQ29zdGluIEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLSAqCi0gKiBDb3B5cmlnaHQg
KGMpIDIwMTUtMjAxNyBJQk0KLSAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE3IERvY2tlciwgSW5j
LgotICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlv
bgotICoKLSAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmli
dXRlIHRoaXMgc29mdHdhcmUKLSAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVl
IGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZAotICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0
IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIKLSAqIGluIGFsbCBjb3Bp
ZXMuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRI
T1IgRElTQ0xBSU1TIEFMTAotICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRX
QVJFIElOQ0xVRElORyBBTEwgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQVVUSE9SIEJFIExJQUJM
RSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCi0gKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTCi0g
KiBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJB
Q1QsCi0gKiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQg
T0YgT1IgSU4KLSAqIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRI
SVMgU09GVFdBUkUuCi0gKi8KLS8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gc29sbzUgdmlydGlv
X3JpbmcuYyAqLwotCi0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8dWsvcHJpbnQuaD4K
LSNpbmNsdWRlIDxjcHUuaD4KLSNpbmNsdWRlIDx1ay9wbGF0L2lvLmg+Ci0jaW5jbHVkZSA8cGNp
L3ZpcnRpby92aXJ0aW9fcGNpLmg+Ci0jaW5jbHVkZSA8cGNpL3ZpcnRpby92aXJ0aW9fcmluZy5o
PgotI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Ci0KLSNkZWZpbmUgVklSVFFfTUFYX1FVRVVF
X1NJWkUgIDMyNzY4Ci0KLQotLyoKLSAqIENyZWF0ZSBhIGRlc2NyaXB0b3IgY2hhaW4gc3RhcnRp
bmcgYXQgaW5kZXggaGVhZCwgdXNpbmcgdnEtPmJ1ZnMKLSAqIGFsc28gc3RhcnRpbmcgYXQgaW5k
ZXggaGVhZC4KLSAqIE1ha2Ugc3VyZSB0aGUgdnEtYnVmcyBhcmUgY2xlYW5lZCBiZWZvcmUgdXNp
bmcgdGhlbSBhZ2Fpbi4KLSAqLwotaW50IHZpcnRxX2FkZF9kZXNjcmlwdG9yX2NoYWluKHN0cnVj
dCB2aXJ0cSAqdnEsIF9fdTE2IGhlYWQsIF9fdTE2IG51bSkKLXsKLQlzdHJ1Y3QgdmlydHFfZGVz
YyAqZGVzYzsKLQlfX3UxNiB1c2VkX2Rlc2NzLCBtYXNrLCBpOwotCi0JVUtfQVNTRVJUKHZxICE9
IE5VTEwpOwotCi0JaWYgKGhlYWQgPj0gdnEtPm51bSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlp
ZiAobnVtID09IDAgfHwgbnVtID4gdnEtPm51bSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpZiAo
dnEtPm51bV9hdmFpbCA8IG51bSkgewotCQl1a19wcl93YXJuKCJ2aXJ0cSBmdWxsISBuZXh0X2F2
YWlsOiUiX19QUkl1MTYiIGxhc3RfdXNlZDolIl9fUFJJdTE2IlxuIiwKLQkJCSAgIHZxLT5uZXh0
X2F2YWlsLCB2cS0+bGFzdF91c2VkKTsKLQkJcmV0dXJuIC1FTk9NRU07Ci0JfQotCi0JdXNlZF9k
ZXNjcyA9IG51bTsKLQltYXNrID0gdnEtPm51bSAtIDE7Ci0KLQlmb3IgKGkgPSBoZWFkOyB1c2Vk
X2Rlc2NzID4gMDsgdXNlZF9kZXNjcy0tKSB7Ci0JCXN0cnVjdCBpb19idWZmZXIgKmJ1ZiA9ICZ2
cS0+YnVmc1tpXTsKLQkJX191MzIgbGVuID0gMDsKLQotCQkvKgotCQkgKiBUaGUgZmlyc3QgZmll
bGQgb2YgYSAic3RydWN0IGlvX2J1ZmZlciIgaXMgdGhlICJkYXRhIiBmaWVsZCwKLQkJICogc28g
aW4gdGhlIGludGVycnVwdCBoYW5kbGVyIHdlIGNhbiBqdXN0IGNhc3QgdGhpcyBwb2ludGVyCi0J
CSAqIGJhY2sgaW50byBhICdzdHJ1Y3QgaW9fYnVmZmVyJy4KLQkJICovCi0JCVVLX0FTU0VSVChi
dWYtPmRhdGEgPT0gKF9fdTggKikgYnVmKTsKLQotCQlsZW4gPSB1a2FyY2hfbG9hZF9uKCZidWYt
Pmxlbik7Ci0JCVVLX0FTU0VSVChsZW4gPD0gTUFYX0JVRkZFUl9MRU4pOwotCi0JCWRlc2MgPSAm
dnEtPmRlc2NbaV07Ci0JCWRlc2MtPmFkZHIgPSAoX191NjQpIGJ1Zi0+ZGF0YTsKLQkJZGVzYy0+
bGVuID0gbGVuOwotCQlkZXNjLT5mbGFncyA9IFZJUlRRX0RFU0NfRl9ORVhUIHwgYnVmLT5leHRy
YV9mbGFnczsKLQotCQlpID0gKGkgKyAxKSAmIG1hc2s7Ci0JCWRlc2MtPm5leHQgPSBpOwotCX0K
LQotCS8qIFRoZSBsYXN0IGRlc2NyaXB0b3IgaW4gdGhlIGNoYWluIGRvZXMgbm90IGhhdmUgYSBu
ZXh0ICovCi0JZGVzYy0+bmV4dCA9IDA7Ci0JZGVzYy0+ZmxhZ3MgJj0gflZJUlRRX0RFU0NfRl9O
RVhUOwotCi0JdnEtPm51bV9hdmFpbCAtPSBudW07Ci0JdnEtPmF2YWlsLT5yaW5nW3ZxLT5hdmFp
bC0+aWR4ICYgbWFza10gPSBoZWFkOwotCS8qIFRoZSBuZXcgZW50cnkgbXVzdCBiZSBzZXQgYmVm
b3JlIGFubm91bmNpbmcgaXQuICovCi0Jd21iKCk7Ci0JLyogYXZhaWwtPmlkeCBhbHdheXMgaW5j
cmVtZW50cyBhbmQgd3JhcHMgbmF0dXJhbGx5IGF0IDY1NTM2ICovCi0JdnEtPmF2YWlsLT5pZHgr
KzsKLQl2cS0+bmV4dF9hdmFpbCArPSBudW07Ci0KLQlyZXR1cm4gMDsKLX0KLQotaW50IHZpcnRx
X3JpbmdzX2luaXQoc3RydWN0IHZpcnRxICp2cSwgX191MTYgcGNpX2Jhc2UsCi0JCQlfX3ZpcnRp
b19sZTE2IHF1ZXVlX3NlbGVjdCwgc3RydWN0IHVrX2FsbG9jICphKQotewotCV9fdTggKmRhdGEg
PSBOVUxMOwotCV9fdTE2IHZxX251bTsKLQlfX3N6IHZxX3NpemU7Ci0JX19waHlzX2FkZHIgcGE7
Ci0KLQlVS19BU1NFUlQodnEgIT0gTlVMTCk7Ci0JVUtfQVNTRVJUKGEgIT0gTlVMTCk7Ci0KLQkv
KiByZWFkIHF1ZXVlIHNpemUgKi8KLQlvdXR3KHBjaV9iYXNlICsgVklSVElPX1BDSV9RVUVVRV9T
RUwsIHF1ZXVlX3NlbGVjdCk7Ci0JdnFfbnVtID0gaW53KHBjaV9iYXNlICsgVklSVElPX1BDSV9R
VUVVRV9TSVpFKTsKLQotCWlmICh2cV9udW0gPT0gMCkgewotCQl1a19wcl9lcnIoIk5vIHN1Y2gg
cXVldWU6IHBjaV9iYXNlPSUiX19QUkl4MTYiIHNlbGVjdG9yPSUiX19QUkl4MTYiXG4iLAotCQkJ
ICBwY2lfYmFzZSwgcXVldWVfc2VsZWN0KTsKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0JVUtf
QVNTRVJUKHZxX251bSA8PSBWSVJUUV9NQVhfUVVFVUVfU0laRSk7Ci0KLQl2cS0+bGFzdF91c2Vk
ID0gdnEtPm5leHRfYXZhaWwgPSAwOwotCXZxLT5udW0gPSB2cS0+bnVtX2F2YWlsID0gdnFfbnVt
OwotCi0JdnFfc2l6ZSA9IFZJUlRRX1NJWkUodnEpOwotCi0JLyogYWxsb2NhdGUgcXVldWUgbWVt
b3J5ICovCi0JdWtfcG9zaXhfbWVtYWxpZ25faWZwYWdlcyhhLCAodm9pZCAqKikgJmRhdGEsIF9f
UEFHRV9TSVpFLCB2cV9zaXplKTsKLQlpZiAoIWRhdGEpCi0JCXJldHVybiAtRU5PTUVNOwotCi0J
bWVtc2V0KGRhdGEsIDAsIHZxX3NpemUpOwotCi0JdnEtPmRlc2MgPSAoc3RydWN0IHZpcnRxX2Rl
c2MgKikgKGRhdGEgKyBWSVJUUV9PRkZfREVTQyh2cSkpOwotCXZxLT5hdmFpbCA9IChzdHJ1Y3Qg
dmlydHFfYXZhaWwgKikgKGRhdGEgKyBWSVJUUV9PRkZfQVZBSUwodnEpKTsKLQl2cS0+dXNlZCA9
IChzdHJ1Y3QgdmlydHFfdXNlZCAqKSAoZGF0YSArIFZJUlRRX09GRl9VU0VEKHZxKSk7Ci0KLQkv
KiBzZXQgcXVldWUgbWVtb3J5ICovCi0Jb3V0dyhwY2lfYmFzZSArIFZJUlRJT19QQ0lfUVVFVUVf
U0VMLCBxdWV1ZV9zZWxlY3QpOwotCi0JLyogdXNlIHBoeXNpY2FsIGFkZHJlc3MgKi8KLQlwYSA9
IHVrcGxhdF92aXJ0X3RvX3BoeXMoZGF0YSk7Ci0Jb3V0bChwY2lfYmFzZSArIFZJUlRJT19QQ0lf
UVVFVUVfUEZOLAotCQkocGEgPj4gVklSVElPX1BDSV9RVUVVRV9BRERSX1NISUZUKSk7Ci0KLQly
ZXR1cm4gMDsKLX0KLQotdm9pZCB2aXJ0cV9yaW5nc19maW5pKHN0cnVjdCB2aXJ0cSAqdnEsIF9f
dTE2IHBjaV9iYXNlLAotCQlfX3ZpcnRpb19sZTE2IHF1ZXVlX3NlbGVjdCwgc3RydWN0IHVrX2Fs
bG9jICphKQotewotCV9fdTggKmRhdGE7Ci0KLQlVS19BU1NFUlQodnEgIT0gTlVMTCk7Ci0JVUtf
QVNTRVJUKGEgIT0gTlVMTCk7Ci0KLQkvKiByZXNldCBxdWV1ZSBtZW1vcnkgKi8KLQlvdXR3KHBj
aV9iYXNlICsgVklSVElPX1BDSV9RVUVVRV9TRUwsIHF1ZXVlX3NlbGVjdCk7Ci0Jb3V0bChwY2lf
YmFzZSArIFZJUlRJT19QQ0lfUVVFVUVfUEZOLCAwKTsKLQotCS8qIGZyZWUgcXVldWUgbWVtb3J5
ICovCi0JZGF0YSA9IChfX3U4ICopIHZxLT5kZXNjIC0gVklSVFFfT0ZGX0RFU0ModnEtPm51bSk7
Ci0JdWtfZnJlZShhLCBkYXRhKTsKLQotCS8qIGNsZWFudXAgdGhlIHF1ZXVlICovCi0JbWVtc2V0
KHZxLCAwLCBzaXplb2YoKnZxKSk7Ci19CmRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25maWcudWsg
Yi9wbGF0L2t2bS9Db25maWcudWsKaW5kZXggZjA5N2YxMC4uMGYxMGI0ZCAxMDA2NDQKLS0tIGEv
cGxhdC9rdm0vQ29uZmlnLnVrCisrKyBiL3BsYXQva3ZtL0NvbmZpZy51awpAQCAtNTAsMTIgKzUw
LDQgQEAgY29uZmlnIEtWTV9QQ0kKICAgICAgICBzZWxlY3QgTElCVUtCVVMKICAgICAgICBoZWxw
CiAgICAgICAgICAgICAgICAgUENJIGJ1cyBkcml2ZXIgZm9yIHByb2JpbmcgYW5kIG9wZXJhdGlu
ZyBQQ0kgZGV2aWNlcwotCi1pZiAoS1ZNX1BDSSkKLWNvbmZpZyBLVk1fUENJX1ZJUlRJTwotICAg
ICAgIGJvb2wgIlZpcnRpbyBSaW5nIgotICAgICAgIGRlZmF1bHQgbgotICAgICAgIGhlbHAKLSAg
ICAgICAgICAgICAgIFZpcnR1YWwgcXVldWVzIHRvIHRyYXZlcnNlIGhvc3QgYW5kIGd1ZXN0IHRy
YW5zaXRpb24KLWVuZGlmCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFrZWZpbGUudWsg
Yi9wbGF0L2t2bS9NYWtlZmlsZS51awppbmRleCBiNDkzYmJhLi4wNmQ4NDEwIDEwMDY0NAotLS0g
YS9wbGF0L2t2bS9NYWtlZmlsZS51aworKysgYi9wbGF0L2t2bS9NYWtlZmlsZS51awpAQCAtOCw3
ICs4LDYgQEAgJChldmFsICQoY2FsbCBhZGRwbGF0X3Msa3ZtLCQoQ09ORklHX1BMQVRfS1ZNKSkp
CiAjIwogJChldmFsICQoY2FsbCBhZGRwbGF0bGliLGt2bSxsaWJrdm1wbGF0KSkKICQoZXZhbCAk
KGNhbGwgYWRkcGxhdGxpYl9zLGt2bSxsaWJrdm1wY2ksJChDT05GSUdfS1ZNX1BDSSkpKQotJChl
dmFsICQoY2FsbCBhZGRwbGF0bGliX3Msa3ZtLGxpYmt2bXBjaXZpcnRpbywkKENPTkZJR19LVk1f
UENJX1ZJUlRJTykpKQogCiAjIwogIyMgUGxhdGZvcm0gbGlicmFyeSBkZWZpbml0aW9ucwpAQCAt
ODEsOSArODAsMyBAQCBMSUJLVk1QQ0lfQVNJTkNMVURFUy0kKENPTkZJR19BUkNIX1g4Nl82NCkg
ICs9IC1JJChVS19QTEFUX0NPTU1PTl9CQVNFKS9pbmNsdWRlCiBMSUJLVk1QQ0lfQ0lOQ0xVREVT
LSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAgICs9IC1JJChVS19QTEFUX0NPTU1PTl9CQVNFKS9pbmNs
dWRlCiBMSUJLVk1QQ0lfU1JDUy0kKENPTkZJR19BUkNIX1g4Nl82NCkgICAgICAgICs9ICQoVUtf
UExBVF9DT01NT05fQkFTRSkvcGNpX2J1cy5jfGNvbW1vbgogCi0jIwotIyMgVmlydGlvIGxpYnJh
cnkgZGVmaW5pdGlvbnMKLSMjCi1MSUJLVk1QQ0lWSVJUSU9fQVNJTkNMVURFUy15ICAgKz0gLUkk
KFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKLUxJQktWTVBDSVZJUlRJT19DSU5DTFVERVMt
eSAgICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQotTElCS1ZNUENJVklSVElP
X1NSQ1MteSAgICAgICAgICs9ICQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9f
cmluZy5jCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhl
bnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5m
by9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:42:57 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:42:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJR3-0001bw-51; Wed, 24 Oct 2018 13:42:57 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJR2-0001bj-EF
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:42:56 +0000
X-Inumbo-ID: 4baa5c1c-d792-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 4baa5c1c-d792-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:39:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 26BDD104A57;
 Wed, 24 Oct 2018 15:42:53 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id NEvFoJMC01uJ; Wed, 24 Oct 2018 15:42:53 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 015F1104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:51 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:50 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:28 +0200
Message-ID: <1540388553-15668-3-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 2/7] plat/common: Introduce
 virtio standard header
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgaW50cm9kdWNlIHRoZSBzdGFuZGFyZCB2aXJ0aW8gaGVhZGVyIGZpbGVzLgoqIHZpcnRpb19p
ZHM6IExpc3QgdGhlIGlkcyBvZiB0aGUgdmlydGlvIGRldmljZXMKKiB2aXJ0aW9fcmluZy5oOiBE
ZXNjcmliZXMgdGhlIHZpcnRpbyByaW5nIGRlc2NyaXB0b3IsIHVzZWQgYW5kCgkJCQkgYXZhaWxh
YmxlIGRlc2NyaXB0b3JzLgoqIHZpcnRpb19wY2kuaDogRGVzY3JpYmVzIHRoZSB2aXJ0aW8gUENJ
IGRldmljZSByZWdpc3RlciBtYXAuCiogdmlydGlvX3R5cGVzLmg6ICBEZXNjcmliZXMgdGhlIHR5
cGUgb2YgdGhlIGRhdGEgc3RydWN0dXJlLgoqIHZpcnRpb19jb25maWcuaDogUHJvdmlkZXMgaGVs
cGVyIGZ1bmN0aW9uIHRvIHBlcmZvcm0gSU8KCQkJCW9wZXJhdGlvbiBvbiB0aGUgZGV2aWNlLgoK
U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+ClJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4K
LS0tCiBwbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oIHwgIDY2IC0t
LS0tLS0KIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fY29uZmlnLmggfCAyNTkg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlv
L3ZpcnRpb19pZHMuaCAgICB8ICA2NCArKysrKysrCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX3BjaS5oICAgIHwgIDc0ICsrKysrKysrCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92
aXJ0aW8vdmlydGlvX3JpbmcuaCAgIHwgMTk2ICsrKysrKysrKysrKysrKysrKysrKwogcGxhdC9k
cml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb190eXBlcy5oICB8ICA2MiArKysrKysrCiA2IGZp
bGVzIGNoYW5nZWQsIDY1NSBpbnNlcnRpb25zKCspLCA2NiBkZWxldGlvbnMoLSkKIGRlbGV0ZSBt
b2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oCiBj
cmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25m
aWcuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0
aW9faWRzLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvX3BjaS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19yaW5nLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvX3R5cGVzLmgKCmRpZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9pbmNsdWRl
L3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oIGIvcGxhdC9jb21tb24vaW5jbHVkZS9wY2kvdmlydGlv
L3ZpcnRpb19wY2kuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY5YTZlMS4uMDAw
MDAwMAotLS0gYS9wbGF0L2NvbW1vbi9pbmNsdWRlL3BjaS92aXJ0aW8vdmlydGlvX3BjaS5oCisr
KyAvZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6
IElTQyAqLwotLyoKLSAqIEF1dGhvcnM6IERhbiBXaWxsaWFtcwotICogICAgICAgICAgQ29zdGlu
IEx1cHUgPGNvc3Rpbi5sdXB1QGNzLnB1Yi5ybz4KLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTUs
IElCTQotICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3Jh
dGlvbgotICoKLSAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0
cmlidXRlIHRoaXMgc29mdHdhcmUKLSAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQg
ZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZAotICogdGhhdCB0aGUgYWJvdmUgY29weXJp
Z2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIKLSAqIGluIGFsbCBj
b3BpZXMuCi0gKgotICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBB
VVRIT1IgRElTQ0xBSU1TIEFMTAotICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNP
RlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQotICogQVVUSE9SIEJFIExJ
QUJMRSBGT1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NT
Ci0gKiBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O
VFJBQ1QsCi0gKiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBP
VVQgT0YgT1IgSU4KLSAqIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9G
IFRISVMgU09GVFdBUkUuCi0gKi8KLS8qIFRha2VuIGFuZCBhZGFwdGVkIGZyb20gc29sbzUgdmly
dGlvX3BjaS5oICovCi0KLSNpZm5kZWYgX19QTEFUX0NNTl9QQ0lfVklSVElPX1BDSV9IX18KLSNk
ZWZpbmUgX19QTEFUX0NNTl9QQ0lfVklSVElPX1BDSV9IX18KLQotLyogdmlydGlvIGNvbmZpZyBz
cGFjZSBsYXlvdXQgKi8KLS8qIFRPRE8gd2UgY3VycmVudGx5IHN1cHBvcnQgb25seSB0aGUgbGVn
YWN5IGludGVyZmFjZSAqLwotI2RlZmluZSBWSVJUSU9fUENJX0hPU1RfRkVBVFVSRVMgICAgICAg
IDAgICAgLyogMzItYml0IHIvbyAqLwotI2RlZmluZSBWSVJUSU9fUENJX0dVRVNUX0ZFQVRVUkVT
ICAgICAgIDQgICAgLyogMzItYml0IHIvdyAqLwotI2RlZmluZSBWSVJUSU9fUENJX1FVRVVFX1BG
TiAgICAgICAgICAgIDggICAgLyogMzItYml0IHIvdyAqLwotI2RlZmluZSBWSVJUSU9fUENJX1FV
RVVFX1NJWkUgICAgICAgICAgIDEyICAgLyogMTYtYml0IHIvbyAqLwotI2RlZmluZSBWSVJUSU9f
UENJX1FVRVVFX1NFTCAgICAgICAgICAgIDE0ICAgLyogMTYtYml0IHIvdyAqLwotI2RlZmluZSBW
SVJUSU9fUENJX1FVRVVFX05PVElGWSAgICAgICAgIDE2ICAgLyogMTYtYml0IHIvdyAqLwotCi0v
KgotICogU2hpZnQgc2l6ZSB1c2VkIGZvciB3cml0aW5nIHBoeXNpY2FsIHF1ZXVlIGFkZHJlc3Mg
dG8gUVVFVUVfUEZOCi0gKi8KLSNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9BRERSX1NISUZUICAg
ICAxMgotCi0KLS8qCi0gKiBUaGUgc3RhdHVzIHJlZ2lzdGVyIGxldHMgdXMgdGVsbCB0aGUgZGV2
aWNlIHdoZXJlIHdlIGFyZSBpbgotICogaW5pdGlhbGl6YXRpb24KLSAqLwotI2RlZmluZSBWSVJU
SU9fUENJX1NUQVRVUyAgICAgICAgICAgICAgIDE4ICAgLyogOC1iaXQgci93ICovCi0jZGVmaW5l
IFZJUlRJT19QQ0lfU1RBVFVTX0FDSyAgICAgICAgICAgMHgxICAvKiB3ZSByZWNvZ25pemUgZGV2
aWNlIGFzIHZpcnRpbyAqLwotI2RlZmluZSBWSVJUSU9fUENJX1NUQVRVU19EUklWRVIgICAgICAg
IDB4MiAgLyogd2Ugd2FudCB0byBkcml2ZSBpdCAqLwotI2RlZmluZSBWSVJUSU9fUENJX1NUQVRV
U19EUklWRVJfT0sgICAgIDB4NCAgLyogaW5pdGlhbGl6YXRpb24gaXMgY29tcGxldGUgKi8KLSNk
ZWZpbmUgVklSVElPX1BDSV9TVEFUVVNfREVWSUNFX1JFU0VUICAweDQwIC8qIGRldmljZSBuZWVk
cyByZXNldCAqLwotI2RlZmluZSBWSVJUSU9fUENJX1NUQVRVU19GQUlMICAgICAgICAgIDB4ODAg
LyogdGVsbCBkZXZpY2Ugc29tZXRoaW5nJ3Mgd3JvbmcgKi8KLQotLyoKLSAqIFJlYWRpbmcgdGhl
IHZhbHVlIHdpbGwgcmV0dXJuIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBpbnRlcnJ1cHQK
LSAqIHN0YXR1cyByZWdpc3RlciBhbmQgd2lsbCBhbHNvIGNsZWFyIGl0LiAgVGhpcyBpcyBlZmZl
Y3RpdmVseSBhCi0gKiByZWFkLWFuZC1hY2tub3dsZWRnZS4KLSAqLwotI2RlZmluZSBWSVJUSU9f
UENJX0lTUiAgICAgICAgICAgICAgICAgIDE5ICAgLyogOC1iaXQgci9vICovCi0jZGVmaW5lIFZJ
UlRJT19QQ0lfSVNSX0hBU19JTlRSICAgICAgICAgMHgxICAvKiBpbnRlcnJ1cHQgaXMgZm9yIHRo
aXMgZGV2aWNlICovCi0jZGVmaW5lIFZJUlRJT19QQ0lfSVNSX0NPTkZJRyAgICAgICAgICAgMHgy
ICAvKiBjb25maWcgY2hhbmdlIGJpdCAqLwotCi0vKiBUT0RPIFJldmlzaXQgd2hlbiBhZGRpbmcg
TVNJIHN1cHBvcnQuICovCi0jZGVmaW5lIFZJUlRJT19QQ0lfQ09ORklHX09GRiAgICAgICAgICAg
MjAKLQotI2VuZGlmIC8qIF9fUExBVF9DTU5fUENJX1ZJUlRJT19QQ0lfSF9fICovCmRpZmYgLS1n
aXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2NvbmZpZy5oIGIvcGxhdC9k
cml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi4xYzRlN2VmCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJz
L2luY2x1ZGUvdmlydGlvL3ZpcnRpb19jb25maWcuaApAQCAtMCwwICsxLDI1OSBAQAorLyogU1BE
WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6IFNo
YXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgorICoKKyAqIENvcHly
aWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUg
Y29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1Ig
TU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworCisjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX0NP
TkZJR19ICisjZGVmaW5lIF9fUExBVF9EUlZfVklSVElPX0NPTkZJR19ICisKKyNpbmNsdWRlIDx1
ay9hcmNoL3R5cGVzLmg+CisjaW5jbHVkZSA8Y3B1Lmg+CisKKyNpZmRlZiBfX2NwbHVzcGx1cwor
ZXh0ZXJuICJDIiB7CisjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8KKworI2RlZmluZSBNQVhf
VFJZX0NPVU5UICAgICgxMCkKKworI2RlZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19SRVNFVCAg
ICAgICAgIDB4MCAgLyogUmVzZXQgdGhlIGRldmljZSAqLworI2RlZmluZSBWSVJUSU9fQ09ORklH
X1NUQVRVU19BQ0sgICAgICAgICAgIDB4MSAgLyogcmVjb2duaXplIGRldmljZSBhcyB2aXJ0aW8g
Ki8KKyNkZWZpbmUgVklSVElPX0NPTkZJR19TVEFUVVNfRFJJVkVSICAgICAgICAweDIgIC8qIGRy
aXZlciBmb3IgdGhlIGRldmljZSBmb3VuZCovCisjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVT
X0RSSVZFUl9PSyAgICAgMHg0ICAvKiBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZSAqLworI2Rl
ZmluZSBWSVJUSU9fQ09ORklHX1NUQVRVU19ORUVEU19SRVNFVCAgIDB4NDAgLyogZGV2aWNlIG5l
ZWRzIHJlc2V0ICovCisjZGVmaW5lIFZJUlRJT19DT05GSUdfU1RBVFVTX0ZBSUwgICAgICAgICAg
MHg4MCAvKiBkZXZpY2Ugc29tZXRoaW5nJ3Mgd3JvbmcqLworCisjZGVmaW5lIFZJUlRJT19UUkFO
U1BPUlRfRl9TVEFSVCAgICAyOAorI2RlZmluZSBWSVJUSU9fVFJBTlNQT1JUX0ZfRU5EICAgICAg
MzIKKworI2lmZGVmIF9fWDg2XzY0X18KK3N0YXRpYyBpbmxpbmUgdm9pZCBfdmlydGlvX2N3cml0
ZV9ieXRlcyhjb25zdCB2b2lkICphZGRyLCBjb25zdCBfX3U4IG9mZnNldCwKKwkJCQkJY29uc3Qg
dm9pZCAqYnVmLCBpbnQgbGVuLCBpbnQgdHlwZV9sZW4pCit7CisJaW50IGkgPSAwOworCV9fdTE2
IGlvX2FkZHI7CisJaW50IGNvdW50OworCisJY291bnQgID0gbGVuIC8gdHlwZV9sZW47CisJZm9y
IChpID0gMDsgaSA8IGNvdW50OyBpKyspIHsKKwkJaW9fYWRkciA9ICgodW5zaWduZWQgbG9uZylh
ZGRyKSArIG9mZnNldCArIChpICogdHlwZV9sZW4pOworCQlzd2l0Y2ggKHR5cGVfbGVuKSB7CisJ
CWNhc2UgMToKKwkJCW91dGIoaW9fYWRkciwgKChfX3U4ICopYnVmKVtpICogdHlwZV9sZW5dKTsK
KwkJCWJyZWFrOworCQljYXNlIDI6CisJCQlvdXR3KGlvX2FkZHIsICgoX191MTYgKilidWYpW2kg
KiB0eXBlX2xlbl0pOworCQkJYnJlYWs7CisJCWNhc2UgNDoKKwkJCW91dGwoaW9fYWRkciwgKChf
X3UzMiAqKWJ1ZilbaSAqIHR5cGVfbGVuXSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCVVL
X0NSQVNIKCJVbnN1cHBvcnRlZCB2aXJ0aW8gd3JpdGUgb3BlcmF0aW9uXG4iKTsKKwkJfQorCX0K
K30KKworc3RhdGljIGlubGluZSB2b2lkIF92aXJ0aW9fY3JlYWRfYnl0ZXMoY29uc3Qgdm9pZCAq
YWRkciwgY29uc3QgX191OCBvZmZzZXQsCisJCQkJICAgICAgIHZvaWQgKmJ1ZiwgaW50IGxlbiwg
aW50IHR5cGVfbGVuKQoreworCWludCBpID0gMDsKKwlfX3UxNiBpb19hZGRyOworCWludCBjb3Vu
dDsKKworCWNvdW50ID0gbGVuIC8gdHlwZV9sZW47CisJZm9yIChpID0gMDsgaSA8IGNvdW50OyBp
KyspIHsKKwkJaW9fYWRkciA9ICgodW5zaWduZWQgbG9uZylhZGRyKSArIG9mZnNldCArIChpICog
dHlwZV9sZW4pOworCQlzd2l0Y2ggKHR5cGVfbGVuKSB7CisJCWNhc2UgMToKKwkJCSgoX191OCAq
KWJ1ZilbaSAqIHR5cGVfbGVuXSA9IGluYihpb19hZGRyKTsKKwkJCWJyZWFrOworCQljYXNlIDI6
CisJCQkoKF9fdTE2ICopYnVmKVtpICogdHlwZV9sZW5dID0gaW53KGlvX2FkZHIpOworCQkJYnJl
YWs7CisJCWNhc2UgNDoKKwkJCSgoX191MzIgKilidWYpW2kgKiB0eXBlX2xlbl0gPSBpbmwoaW9f
YWRkcik7CisJCQlicmVhazsKKwkJY2FzZSA4OgorCQkJKChfX3U2NCAgKilidWYpW2kgKiB0eXBl
X2xlbl0gPSBpbnEoaW9fYWRkcik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCVVLX0NSQVNI
KCJVbnN1cHBvcnRlZCB2aXJ0aW8gcmVhZCBvcGVyYXRpb25cbiIpOworCQl9CisJfQorfQorI2Vs
c2UgIC8qIF9fWDg2XzY0X18gKi8KKyNlcnJvciAiVmlydGlvIGRyaXZlciBub3Qgc3VwcG9ydGVk
IGZvciB0aGlzIGFyY2hpdGVjdHVyZSIKKyNlbmRpZiAvKiBfX1g4Nl82NF9fICovCisKKy8qKgor
ICogUmVhZCB0aGUgdmlydGlvIGRldmljZSBjb25maWd1cmF0aW9uIG9mIHNwZWNpZmllZCBsZW5n
dGguCisgKgorICogQHBhcmFtIGFkZHIKKyAqICAgVGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgZGV2
aWNlLgorICogQHBhcmFtIG9mZnNldAorICogICBUaGUgb2Zmc2V0IHdpdGggdGhlIGRldmljZSBh
ZGRyZXNzIHNwYWNlLgorICogQHBhcmFtIGJ1ZgorICogICAgVGhlIGRlc3RpbmF0aW9uIGJ1ZmZl
ciB0byB3aGljaCB0aGUgdmFsdWUgaGFzIHRvIGJlIGNvcGllZC4KKyAqIEBwYXJhbSBsZW4KKyAq
ICAgIFRoZSBsZW5ndGggb2YgdGhlIGRlc3RpbmF0aW9uIGJ1ZmZlci4KKyAqLworc3RhdGljIGlu
bGluZSBpbnQgdmlydGlvX2NyZWFkX2J5dGVzX21hbnkoY29uc3Qgdm9pZCAqYWRkciwgY29uc3Qg
X191OCBvZmZzZXQsCisJCQkJCSAgX191OCAqYnVmLCBfX3UzMiBsZW4pCit7CisJX191OCBvbGRf
YnVmW2xlbl07CisJaW50IGNoZWNrID0gLTE7CisJaW50IGNudCA9IDA7CisJX191MzIgaSA9IDA7
CisKKwlkbyB7CisJCWNoZWNrID0gbGVuOworCQlfdmlydGlvX2NyZWFkX2J5dGVzKGFkZHIsIG9m
ZnNldCwgJm9sZF9idWZbMF0sIGxlbiwgMSk7CisJCV92aXJ0aW9fY3JlYWRfYnl0ZXMoYWRkciwg
b2Zmc2V0LCBidWYsIGxlbiwgMSk7CisKKwkJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJ
CQlpZiAodW5saWtlbHkoYnVmW2ldICE9IG9sZF9idWZbaV0pKSB7CisJCQkJY2hlY2sgPSAtMTsg
LyogTmVlZCB0byByZXRyeSBjb25maWd1cmF0aW9uICovCisJCQkJYnJlYWs7CisJCQl9CisJCX0K
KwkJY250Kys7CisJfSB3aGlsZSAoY2hlY2sgPT0gLTEgJiYgY250IDwgTUFYX1RSWV9DT1VOVCk7
CisKKwlyZXR1cm4gY2hlY2s7Cit9CisKKy8qKgorICogUmVhZCB0aGUgc2luZ2xlIGJ5dGUgY29u
ZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYWRkcgorICogICBUaGUgYmFzZSBhZGRyZXNzIG9m
IHRoZSBkZXZpY2UuCisgKiBAcGFyYW0gb2Zmc2V0CisgKiAgIFRoZSBvZmZzZXQgd2l0aCB0aGUg
ZGV2aWNlIGFkZHJlc3Mgc3BhY2UuCisgKiBAcmV0dXJuIF9fdTgKKyAqICAgUmV0dXJucyB0aGUg
dmFsdWUgY29uZmlndXJhdGlvbiByZWdpc3Rlci4KKyAqLworc3RhdGljIGlubGluZSBfX3U4IHZp
cnRpb19jcmVhZDgoY29uc3Qgdm9pZCAqYWRkciwgY29uc3QgX191OCBvZmZzZXQpCit7CisJX191
OCBidWYgPSAwOworCisJX3ZpcnRpb19jcmVhZF9ieXRlcyhhZGRyLCBvZmZzZXQsICZidWYsIHNp
emVvZihidWYpLCBzaXplb2YoYnVmKSk7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoqCisgKiBSZWFk
IHRoZSBzaW5nbGUgd29yZCBjb25maWd1cmF0aW9uLgorICoKKyAqIEBwYXJhbSBhZGRyCisgKiAg
IFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIGRldmljZS4KKyAqIEBwYXJhbSBvZmZzZXQKKyAqICAg
VGhlIG9mZnNldCB3aXRoIHRoZSBkZXZpY2UgYWRkcmVzcyBzcGFjZS4KKyAqIEByZXR1cm4gX191
MTYKKyAqICAgUmV0dXJucyB0aGUgdmFsdWUgY29uZmlndXJhdGlvbiByZWdpc3Rlci4KKyAqLwor
c3RhdGljIGlubGluZSBfX3UxNiB2aXJ0aW9fY3JlYWQxNihjb25zdCB2b2lkICphZGRyLCBjb25z
dCBfX3U4IG9mZnNldCkKK3sKKwlfX3UxNiBidWYgPSAwOworCisJX3ZpcnRpb19jcmVhZF9ieXRl
cyhhZGRyLCBvZmZzZXQsICZidWYsIHNpemVvZihidWYpLCBzaXplb2YoYnVmKSk7CisJcmV0dXJu
IGJ1ZjsKK30KKworLyoqCisgKiBSZWFkIHRoZSBzaW5nbGUgbG9uZyB3b3JkIGNvbmZpZ3VyYXRp
b24uCisgKgorICogQHBhcmFtIGFkZHIKKyAqICAgVGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgZGV2
aWNlLgorICogQHBhcmFtIG9mZnNldAorICogICBUaGUgb2Zmc2V0IHdpdGggdGhlIGRldmljZSBh
ZGRyZXNzIHNwYWNlLgorICogQHJldHVybiBfX3UzMgorICogICBSZXR1cm5zIHRoZSB2YWx1ZSBj
b25maWd1cmF0aW9uIHJlZ2lzdGVyLgorICovCitzdGF0aWMgaW5saW5lIF9fdTMyIHZpcnRpb19j
cmVhZDMyKGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9fdTggb2Zmc2V0KQoreworCV9fdTMyIGJ1
ZiA9IDA7CisKKwlfdmlydGlvX2NyZWFkX2J5dGVzKGFkZHIsIG9mZnNldCwgJmJ1Ziwgc2l6ZW9m
KGJ1ZiksIHNpemVvZihidWYpKTsKKwlyZXR1cm4gYnVmOworfQorCisvKioKKyAqIFdyaXRlIHRo
ZSBjb25maWd1cmF0aW9uLgorICoKKyAqIEBwYXJhbSBhZGRyCisgKiAgIFRoZSBiYXNlIGFkZHJl
c3Mgb2YgdGhlIGRldmljZS4KKyAqIEBwYXJhbSBvZmZzZXQKKyAqICAgVGhlIG9mZnNldCB3aXRo
IHRoZSBkZXZpY2UgYWRkcmVzcyBzcGFjZS4KKyAqIEBwYXJhbSBkYXRhCisgKiAgIFRoZSB2YWx1
ZSB0byB3cml0ZSB0byB0aGUgY29uZmlndXJhdGlvbi4KKyAqLworc3RhdGljIGlubGluZSB2b2lk
IHZpcnRpb19jd3JpdGU4KGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9fdTggb2Zmc2V0LAorCQkJ
CSAgY29uc3QgX191OCBkYXRhKQoreworCV92aXJ0aW9fY3dyaXRlX2J5dGVzKGFkZHIsIG9mZnNl
dCwgJmRhdGEsIHNpemVvZihkYXRhKSwgc2l6ZW9mKGRhdGEpKTsKK30KKworLyoqCisgKiBXcml0
ZSB0aGUgY29uZmlndXJhdGlvbi4KKyAqCisgKiBAcGFyYW0gYWRkcgorICogICBUaGUgYmFzZSBh
ZGRyZXNzIG9mIHRoZSBkZXZpY2UuCisgKiBAcGFyYW0gb2Zmc2V0CisgKiAgIFRoZSBvZmZzZXQg
d2l0aCB0aGUgZGV2aWNlIGFkZHJlc3Mgc3BhY2UuCisgKiBAcGFyYW0gZGF0YQorICogICBUaGUg
dmFsdWUgdG8gd3JpdGUgdG8gdGhlIGNvbmZpZ3VyYXRpb24uCisgKi8KK3N0YXRpYyBpbmxpbmUg
dm9pZCB2aXJ0aW9fY3dyaXRlMTYoY29uc3Qgdm9pZCAqYWRkciwgY29uc3QgX191OCBvZmZzZXQs
CisJCQkJICAgY29uc3QgX191MTYgZGF0YSkKK3sKKwlfdmlydGlvX2N3cml0ZV9ieXRlcyhhZGRy
LCBvZmZzZXQsICZkYXRhLCBzaXplb2YoZGF0YSksIHNpemVvZihkYXRhKSk7Cit9CisKKy8qKgor
ICogV3JpdGUgdGhlIGNvbmZpZ3VyYXRpb24uCisgKgorICogQHBhcmFtIGFkZHIKKyAqICAgVGhl
IGJhc2UgYWRkcmVzcyBvZiB0aGUgZGV2aWNlLgorICogQHBhcmFtIG9mZnNldAorICogICBUaGUg
b2Zmc2V0IHdpdGggdGhlIGRldmljZSBhZGRyZXNzIHNwYWNlLgorICogQHBhcmFtIGRhdGEKKyAq
ICAgVGhlIHZhbHVlIHRvIHdyaXRlIHRvIHRoZSBjb25maWd1cmF0aW9uLgorICovCitzdGF0aWMg
aW5saW5lIHZvaWQgdmlydGlvX2N3cml0ZTMyKGNvbnN0IHZvaWQgKmFkZHIsIGNvbnN0IF9fdTgg
b2Zmc2V0LAorCQkJCSAgIGNvbnN0IF9fdTMyIGRhdGEpCit7CisJX3ZpcnRpb19jd3JpdGVfYnl0
ZXMoYWRkciwgb2Zmc2V0LCAmZGF0YSwgc2l6ZW9mKGRhdGEpLCBzaXplb2YoZGF0YSkpOworfQor
CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyBfXyAqLworCisj
ZW5kaWYgLyogX19QTEFUX0RSVl9WSVJUSU9fQ09ORklHX0ggKi8KZGlmZiAtLWdpdCBhL3BsYXQv
ZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9faWRzLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydGlvX2lkcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LmM3MGRlMjMKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8v
dmlydGlvX2lkcy5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBCU0QtMy1DbGF1c2UgKi8KKy8qKgorICogVmlydGlvIElEcworICoKKyAqIFRoaXMgaGVhZGVy
IGlzIEJTRCBsaWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMgdG8gaW1w
bGVtZW50CisgKiBjb21wYXRpYmxlIGRyaXZlcnMvc2VydmVycy4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5l
aXRoZXIgdGhlIG5hbWUgb2YgSUJNIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwor
ICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBJQk0gT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK
KyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
CisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqLworLyoqCisgKiBUYWtlbiBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eCBLZXJuZWwuCisgKiBp
bmNsdWRlL3VhcGkvbGludXgvdmlydGlvX2lkcy5oCisgKgorICogQ29tbWl0LWlkOmRiYWYwNjI0
ZmZhNQorICovCisjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX0lEU19ICisjZGVmaW5lIF9fUExB
VF9EUlZfVklSVElPX0lEU19ICisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7Cisj
ZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8KKworI2RlZmluZSBWSVJUSU9fSURfSU5WQUxJRCAg
ICAgICAwIC8qIEludmFsaWQgZGV2aWNlIChSZXNlcnZlZCkgKi8KKyNkZWZpbmUgVklSVElPX0lE
X05FVAkJMSAvKiB2aXJ0aW8gbmV0ICovCisjZGVmaW5lIFZJUlRJT19JRF9CTE9DSwkJMiAvKiB2
aXJ0aW8gYmxvY2sgKi8KKyNkZWZpbmUgVklSVElPX0lEX0NPTlNPTEUJMyAvKiB2aXJ0aW8gY29u
c29sZSAqLworI2RlZmluZSBWSVJUSU9fSURfUk5HCQk0IC8qIHZpcnRpbyBybmcgKi8KKyNkZWZp
bmUgVklSVElPX0lEX0JBTExPT04JNSAvKiB2aXJ0aW8gYmFsbG9vbiAqLworI2RlZmluZSBWSVJU
SU9fSURfUlBNU0cJCTcgLyogdmlydGlvIHJlbW90ZSBwcm9jZXNzb3IgbWVzc2FnaW5nICovCisj
ZGVmaW5lIFZJUlRJT19JRF9TQ1NJCQk4IC8qIHZpcnRpbyBzY3NpICovCisjZGVmaW5lIFZJUlRJ
T19JRF85UAkJOSAvKiA5cCB2aXJ0aW8gY29uc29sZSAqLworI2RlZmluZSBWSVJUSU9fSURfUlBS
T0NfU0VSSUFMIDExIC8qIHZpcnRpbyByZW1vdGVwcm9jIHNlcmlhbCBsaW5rICovCisjZGVmaW5l
IFZJUlRJT19JRF9DQUlGCSAgICAgICAxMiAvKiBWaXJ0aW8gY2FpZiAqLworI2RlZmluZSBWSVJU
SU9fSURfR1BVICAgICAgICAgIDE2IC8qIHZpcnRpbyBHUFUgKi8KKyNkZWZpbmUgVklSVElPX0lE
X0lOUFVUICAgICAgICAxOCAvKiB2aXJ0aW8gaW5wdXQgKi8KKyNkZWZpbmUgVklSVElPX0lEX1ZT
T0NLICAgICAgICAxOSAvKiB2aXJ0aW8gdnNvY2sgdHJhbnNwb3J0ICovCisjZGVmaW5lIFZJUlRJ
T19JRF9DUllQVE8gICAgICAgMjAgLyogdmlydGlvIGNyeXB0byAqLworCisjaWZkZWYgX19jcGx1
c3BsdXMKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyBfXyAqLworCisjZW5kaWYgLyogX19QTEFU
X0RSVl9WSVJUSU9fSURTX0ggKi8KZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3Zp
cnRpby92aXJ0aW9fcGNpLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3Bj
aS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NDM5MTQKLS0tIC9kZXYv
bnVsbAorKysgYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3BjaS5oCkBAIC0w
LDAgKzEsNzQgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBJU0MgKi8KKy8qCisgKiBB
dXRob3JzOiBEYW4gV2lsbGlhbXMKKyAqICAgICAgICAgIENvc3RpbiBMdXB1IDxjb3N0aW4ubHVw
dUBjcy5wdWIucm8+CisgKiAgICAgICAgICBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhh
bmFtQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTUsIElCTQorICogQ29weXJp
Z2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbgorICoKKyAqIFBl
cm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29m
dHdhcmUKKyAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBn
cmFudGVkLCBwcm92aWRlZAorICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQg
dGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIKKyAqIGluIGFsbCBjb3BpZXMuCisgKgorICog
VEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1T
IEFMTAorICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElO
RyBBTEwgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5ZIFNQ
RUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1Ig
QU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTCisgKiBPRiBVU0UsIERB
VEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsCisgKiBORUdM
SUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4KKyAq
IENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUu
CisgKi8KKy8qKgorICogVGFrZW4gYW5kIGFkYXB0ZWQgZnJvbSBzb2xvNSB2aXJ0aW9fcGNpLmgK
KyAqIGtlcm5lbC92aXJ0aW8vdmlydGlvX3BjaS5oCisgKiBDb21taXQtaWQ6IDZlMGUxMjEzM2Fh
NworICovCisKKyNpZm5kZWYgX19QTEFUX0RSVl9WSVJUSU9fUENJX0hfXworI2RlZmluZSBfX1BM
QVRfRFJWX1ZJUlRJT19QQ0lfSF9fCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7
CisjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8KKworLyogdmlydGlvIGNvbmZpZyBzcGFjZSBs
YXlvdXQgKi8KKy8qIFRPRE8gd2UgY3VycmVudGx5IHN1cHBvcnQgb25seSB0aGUgbGVnYWN5IGlu
dGVyZmFjZSAqLworI2RlZmluZSBWSVJUSU9fUENJX0hPU1RfRkVBVFVSRVMgICAgICAgIDAgICAg
LyogMzItYml0IHIvbyAqLworI2RlZmluZSBWSVJUSU9fUENJX0dVRVNUX0ZFQVRVUkVTICAgICAg
IDQgICAgLyogMzItYml0IHIvdyAqLworI2RlZmluZSBWSVJUSU9fUENJX1FVRVVFX1BGTiAgICAg
ICAgICAgIDggICAgLyogMzItYml0IHIvdyAqLworI2RlZmluZSBWSVJUSU9fUENJX1FVRVVFX1NJ
WkUgICAgICAgICAgIDEyICAgLyogMTYtYml0IHIvbyAqLworI2RlZmluZSBWSVJUSU9fUENJX1FV
RVVFX1NFTCAgICAgICAgICAgIDE0ICAgLyogMTYtYml0IHIvdyAqLworI2RlZmluZSBWSVJUSU9f
UENJX1FVRVVFX05PVElGWSAgICAgICAgIDE2ICAgLyogMTYtYml0IHIvdyAqLworCisvKgorICog
U2hpZnQgc2l6ZSB1c2VkIGZvciB3cml0aW5nIHBoeXNpY2FsIHF1ZXVlIGFkZHJlc3MgdG8gUVVF
VUVfUEZOCisgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9RVUVVRV9BRERSX1NISUZUICAgICAxMgor
CisvKgorICogVGhlIHN0YXR1cyByZWdpc3RlciBsZXRzIHVzIHRlbGwgdGhlIGRldmljZSB3aGVy
ZSB3ZSBhcmUgaW4KKyAqIGluaXRpYWxpemF0aW9uCisgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9T
VEFUVVMgICAgICAgICAgICAgICAxOCAgIC8qIDgtYml0IHIvdyAqLworCisvKgorICogUmVhZGlu
ZyB0aGUgdmFsdWUgd2lsbCByZXR1cm4gdGhlIGN1cnJlbnQgY29udGVudHMgb2YgdGhlIGludGVy
cnVwdAorICogc3RhdHVzIHJlZ2lzdGVyIGFuZCB3aWxsIGFsc28gY2xlYXIgaXQuICBUaGlzIGlz
IGVmZmVjdGl2ZWx5IGEKKyAqIHJlYWQtYW5kLWFja25vd2xlZGdlLgorICovCisjZGVmaW5lIFZJ
UlRJT19QQ0lfSVNSICAgICAgICAgICAgICAgICAgMTkgICAvKiA4LWJpdCByL28gKi8KKyNkZWZp
bmUgVklSVElPX1BDSV9JU1JfSEFTX0lOVFIgICAgICAgICAweDEgIC8qIGludGVycnVwdCBpcyBm
b3IgdGhpcyBkZXZpY2UgKi8KKyNkZWZpbmUgVklSVElPX1BDSV9JU1JfQ09ORklHICAgICAgICAg
ICAweDIgIC8qIGNvbmZpZyBjaGFuZ2UgYml0ICovCisKKy8qIFRPRE8gUmV2aXNpdCB3aGVuIGFk
ZGluZyBNU0kgc3VwcG9ydC4gKi8KKyNkZWZpbmUgVklSVElPX1BDSV9DT05GSUdfT0ZGICAgICAg
ICAgICAyMAorI2RlZmluZSBWSVJUSU9fUENJX1ZSSU5HX0FMSUdOICAgICAgICAgIDQwOTYKKwor
I2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYgLyogX19jcGx1c3BsdXMgX18gKi8KKworI2Vu
ZGlmIC8qIF9fUExBVF9EUlZfVklSVElPX1BDSV9IX18gKi8KZGlmZiAtLWdpdCBhL3BsYXQvZHJp
dmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fcmluZy5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUv
dmlydGlvL3ZpcnRpb19yaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OWY2NTU5NAotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92
aXJ0aW9fcmluZy5oCkBAIC0wLDAgKzEsMTk2IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll
cjogQlNELTMtQ2xhdXNlICovCisvKiBBbiBpbnRlcmZhY2UgZm9yIGVmZmljaWVudCB2aXJ0aW8g
aW1wbGVtZW50YXRpb24sIGN1cnJlbnRseSBmb3IgdXNlIGJ5IEtWTSwKKyAqIGJ1dCBob3BlZnVs
bHkgb3RoZXJzIHNvb24uICBEbyBOT1QgY2hhbmdlIHRoaXMgc2luY2UgaXQgd2lsbAorICogYnJl
YWsgZXhpc3Rpbmcgc2VydmVycyBhbmQgY2xpZW50cy4KKyAqCisgKiBUaGlzIGhlYWRlciBpcyBC
U0QgbGljZW5zZWQgc28gYW55b25lIGNhbiB1c2UgdGhlIGRlZmluaXRpb25zIHRvIGltcGxlbWVu
dAorICogY29tcGF0aWJsZSBkcml2ZXJzL3NlcnZlcnMuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVy
IHRoZSBuYW1lIG9mIElCTSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAg
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
SUJNIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICog
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgor
ICogQ29weXJpZ2h0IFJ1c3R5IFJ1c3NlbGwgSUJNIENvcnBvcmF0aW9uIDIwMDcuICovCisvKioK
KyAqIFRha2VuIGFuZCBtb2RpZmllZCBmcm9tIExpbnV4LgorICogaW5jbHVkZS91YXBpL2xpbnV4
L3ZpcnRpb19yaW5nLmgKKyAqCisgKiBDb21taXQgaWQ6IGVjZGE4NWU3MDI3NworICovCisKKyNp
Zm5kZWYgX19QTEFUX0RSVl9WSVJUSU9fUklOR19IX18KKyNkZWZpbmUgX19QTEFUX0RSVl9WSVJU
SU9fUklOR19IX18KKworI2luY2x1ZGUgPHVrL2FyY2gvbGltaXRzLmg+CisjaW5jbHVkZSA8dmly
dGlvL3ZpcnRpb190eXBlcy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgewor
I2VuZGlmIC8qIF9fY3BsdXNwbHVzIF9fICovCisKKyNpZiBfX0JZVEVfT1JERVJfXyAhPSAgX19P
UkRFUl9MSVRUTEVfRU5ESUFOX18KKyNlcnJvciAiUGxlYXNlIGRlZmluZSBjb252ZXJzaW9uIGZ1
bmN0aW9ucyBmcm9tIGhvc3QgdG8gbGl0dGxlIGVuZGlhbiEiCisjZW5kaWYKKworLyogVGhpcyBt
YXJrcyBhIGJ1ZmZlciBhcyBjb250aW51aW5nIHZpYSB0aGUgbmV4dCBmaWVsZC4gKi8KKyNkZWZp
bmUgVlJJTkdfREVTQ19GX05FWFQgICAgICAgMQorLyogVGhpcyBtYXJrcyBhIGJ1ZmZlciBhcyB3
cml0ZS1vbmx5IChvdGhlcndpc2UgcmVhZC1vbmx5KS4gKi8KKyNkZWZpbmUgVlJJTkdfREVTQ19G
X1dSSVRFICAgICAgMgorLyogVGhpcyBtZWFucyB0aGUgYnVmZmVyIGNvbnRhaW5zIGEgbGlzdCBv
ZiBidWZmZXIgZGVzY3JpcHRvcnMuICovCisjZGVmaW5lIFZSSU5HX0RFU0NfRl9JTkRJUkVDVCAg
IDQKKworLyoKKyAqIFRoZSBkZXZpY2UgdXNlcyB0aGlzIGluIHVzZWQtPmZsYWdzIHRvIGFkdmlz
ZSB0aGUgZHJpdmVyOgorICogZG9uJ3Qga2ljayBtZSB3aGVuIHlvdSBhZGQgYSBidWZmZXIuIEl0
J3MgdW5yZWxpYWJsZSwgc28KKyAqIGl0J3Mgc2ltcGx5IGFuIG9wdGltaXphdGlvbi4KKyAqLwor
I2RlZmluZSBWUklOR19VU0VEX0ZfTk9fTk9USUZZICAxCisKKy8qCisgKiBUaGUgZHJpdmVyIHVz
ZXMgdGhpcyBpbiBhdmFpbC0+ZmxhZ3MgdG8gYWR2aXNlIHRoZSBkZXZpY2U6CisgKiBkb24ndCBp
bnRlcnJ1cHQgbWUgd2hlbiB5b3UgY29uc3VtZSBhIGJ1ZmZlci4gSXQncyB1bnJlbGlhYmxlLCBz
bworICogaXQncyBzaW1wbHkgYW4gb3B0aW1pemF0aW9uLgorICovCisjZGVmaW5lIFZSSU5HX0FW
QUlMX0ZfTk9fSU5URVJSVVBUICAgICAgMQorCisvKiBTdXBwb3J0IGZvciBpbmRpcmVjdCBkZXNj
cmlwdG9ycyAqLworI2RlZmluZSBWSVJUSU9fRl9JTkRJUkVDVF9ERVNDICAgIDI4CisKKy8qIFN1
cHBvcnQgZm9yIGF2YWlsX2V2ZW50IGFuZCB1c2VkX2V2ZW50IGZpZWxkcyAqLworI2RlZmluZSBW
SVJUSU9fRl9FVkVOVF9JRFggICAgICAgIDI5CisKKy8qIEFyYml0cmFyeSBkZXNjcmlwdG9yIGxh
eW91dHMuICovCisjZGVmaW5lIFZJUlRJT19GX0FOWV9MQVlPVVQgICAgICAgMjcKKworLyoqCisg
KiBWaXJ0cXVldWUgZGVzY3JpcHRvcnM6IDE2IGJ5dGVzLgorICogVGhlc2UgY2FuIGNoYWluIHRv
Z2V0aGVyIHZpYSAibmV4dCIuCisgKi8KK3N0cnVjdCB2cmluZ19kZXNjIHsKKwkvKiBBZGRyZXNz
IChndWVzdC1waHlzaWNhbCkuICovCisJX192aXJ0aW9fbGU2NCBhZGRyOworCS8qIExlbmd0aC4g
Ki8KKwlfX3ZpcnRpb19sZTMyIGxlbjsKKwkvKiBUaGUgZmxhZ3MgYXMgaW5kaWNhdGVkIGFib3Zl
LiAqLworCV9fdmlydGlvX2xlMTYgZmxhZ3M7CisJLyogV2UgY2hhaW4gdW51c2VkIGRlc2NyaXB0
b3JzIHZpYSB0aGlzLCB0b28gKi8KKwlfX3ZpcnRpb19sZTE2IG5leHQ7Cit9OworCitzdHJ1Y3Qg
dnJpbmdfYXZhaWwgeworCV9fdmlydGlvX2xlMTYgZmxhZ3M7CisJX192aXJ0aW9fbGUxNiBpZHg7
CisJX192aXJ0aW9fbGUxNiByaW5nW107CisJLyogT25seSBpZiBWSVJUSU9fRl9FVkVOVF9JRFg6
IF9fdmlydGlvX2xlMTYgdXNlZF9ldmVudDsgKi8KK307CisKKy8qIF9fdmlydGlvX2xlMzIgaXMg
dXNlZCBoZXJlIGZvciBpZHMgZm9yIHBhZGRpbmcgcmVhc29ucy4gKi8KK3N0cnVjdCB2cmluZ191
c2VkX2VsZW0geworCS8qIEluZGV4IG9mIHN0YXJ0IG9mIHVzZWQgZGVzY3JpcHRvciBjaGFpbi4g
Ki8KKwlfX3ZpcnRpb19sZTMyIGlkOworCS8qIFRvdGFsIGxlbmd0aCBvZiB0aGUgZGVzY3JpcHRv
ciBjaGFpbiB3aGljaCB3YXMgd3JpdHRlbiB0by4gKi8KKwlfX3ZpcnRpb19sZTMyIGxlbjsKK307
CisKK3N0cnVjdCB2cmluZ191c2VkIHsKKwlfX3ZpcnRpb19sZTE2IGZsYWdzOworCV9fdmlydGlv
X2xlMTYgaWR4OworCXN0cnVjdCB2cmluZ191c2VkX2VsZW0gcmluZ1tdOworCS8qIE9ubHkgaWYg
VklSVElPX0ZfRVZFTlRfSURYOiBfX3ZpcnRpb19sZTE2IGF2YWlsX2V2ZW50OyAqLworfTsKKwor
c3RydWN0IHZyaW5nIHsKKwl1bnNpZ25lZCBpbnQgbnVtOworCisJc3RydWN0IHZyaW5nX2Rlc2Mg
KmRlc2M7CisJc3RydWN0IHZyaW5nX2F2YWlsICphdmFpbDsKKwlzdHJ1Y3QgdnJpbmdfdXNlZCAq
dXNlZDsKK307CisKKy8qIFRoZSBzdGFuZGFyZCBsYXlvdXQgZm9yIHRoZSByaW5nIGlzIGEgY29u
dGludW91cyBjaHVuayBvZiBtZW1vcnkgd2hpY2gKKyAqIGxvb2tzIGxpa2UgdGhpcy4gIFdlIGFz
c3VtZSBudW0gaXMgYSBwb3dlciBvZiAyLgorICoKKyAqIHN0cnVjdCB2cmluZyB7CisgKiAgICAg
IC8vIFRoZSBhY3R1YWwgZGVzY3JpcHRvcnMgKDE2IGJ5dGVzIGVhY2gpCisgKiAgICAgIHN0cnVj
dCB2cmluZ19kZXNjIGRlc2NbbnVtXTsKKyAqCisgKiAgICAgIC8vIEEgcmluZyBvZiBhdmFpbGFi
bGUgZGVzY3JpcHRvciBoZWFkcyB3aXRoIGZyZWUtcnVubmluZyBpbmRleC4KKyAqICAgICAgX192
aXJ0aW9fbGUxNiBhdmFpbF9mbGFnczsKKyAqICAgICAgX192aXJ0aW9fbGUxNiBhdmFpbF9pZHg7
CisgKiAgICAgIF9fdmlydGlvX2xlMTYgYXZhaWxhYmxlW251bV07CisgKiAgICAgIF9fdmlydGlv
X2xlMTYgdXNlZF9ldmVudF9pZHg7CisgKgorICogICAgICAvLyBQYWRkaW5nIHRvIHRoZSBuZXh0
IGFsaWduIGJvdW5kYXJ5LgorICogICAgICBjaGFyIHBhZFtdOworICoKKyAqICAgICAgLy8gQSBy
aW5nIG9mIHVzZWQgZGVzY3JpcHRvciBoZWFkcyB3aXRoIGZyZWUtcnVubmluZyBpbmRleC4KKyAq
ICAgICAgX192aXJ0aW9fbGUxNiB1c2VkX2ZsYWdzOworICogICAgICBfX3ZpcnRpb19sZTE2IHVz
ZWRfaWR4OworICogICAgICBzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtIHVzZWRbbnVtXTsKKyAqICAg
ICAgX192aXJ0aW9fbGUxNiBhdmFpbF9ldmVudF9pZHg7CisgKiB9OworICoKKyAqIE5PVEU6IGZv
ciBWaXJ0SU8gUENJLCBhbGlnbiBpcyA0MDk2LgorICovCisKKy8qKgorICogV2UgcHVibGlzaCB0
aGUgdXNlZCBldmVudCBpbmRleCBhdCB0aGUgZW5kIG9mIHRoZSBhdmFpbGFibGUgcmluZywgYW5k
IHZpY2UKKyAqIHZlcnNhLiBUaGV5IGFyZSBhdCB0aGUgZW5kIGZvciBiYWNrd2FyZHMgY29tcGF0
aWJpbGl0eS4KKyAqLworI2RlZmluZSB2cmluZ191c2VkX2V2ZW50KHZyKSAoKHZyKS0+YXZhaWwt
PnJpbmdbKHZyKS0+bnVtXSkKKyNkZWZpbmUgdnJpbmdfYXZhaWxfZXZlbnQodnIpICgqKF9fdmly
dGlvMTYgKikmKHZyKS0+dXNlZC0+cmluZ1sodnIpLT5udW1dKQorCitzdGF0aWMgaW5saW5lIHZv
aWQgdnJpbmdfaW5pdChzdHJ1Y3QgdnJpbmcgKnZyLCB1bnNpZ25lZCBpbnQgbnVtLCB1aW50OF90
ICpwLAorCQkJICAgICAgdW5zaWduZWQgbG9uZyBhbGlnbikKK3sKKwl2ci0+bnVtID0gbnVtOwor
CXZyLT5kZXNjID0gKHN0cnVjdCB2cmluZ19kZXNjICopIHA7CisJdnItPmF2YWlsID0gKHN0cnVj
dCB2cmluZ19hdmFpbCAqKSAocCArCisJCQludW0gKiBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2Mp
KTsKKwl2ci0+dXNlZCA9ICh2b2lkICopCisJKCgodW5zaWduZWQgbG9uZykgJnZyLT5hdmFpbC0+
cmluZ1tudW1dICsgYWxpZ24gLSAxKSAmIH4oYWxpZ24gLSAxKSk7Cit9CisKK3N0YXRpYyBpbmxp
bmUgdW5zaWduZWQgaW50IHZyaW5nX3NpemUodW5zaWduZWQgaW50IG51bSwgdW5zaWduZWQgbG9u
ZyBhbGlnbikKK3sKKwlpbnQgc2l6ZTsKKworCXNpemUgPSBudW0gKiBzaXplb2Yoc3RydWN0IHZy
aW5nX2Rlc2MpOworCXNpemUgKz0gc2l6ZW9mKHN0cnVjdCB2cmluZ19hdmFpbCkgKyAobnVtICog
c2l6ZW9mKHVpbnQxNl90KSkgKworCQlzaXplb2YodWludDE2X3QpOworCXNpemUgPSAoc2l6ZSAr
IGFsaWduIC0gMSkgJiB+KGFsaWduIC0gMSk7CisJc2l6ZSArPSBzaXplb2Yoc3RydWN0IHZyaW5n
X3VzZWQpICsKKwkgICAgKG51bSAqIHNpemVvZihzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtKSkgKyBz
aXplb2YodWludDE2X3QpOworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgaW5saW5lIGludCB2
cmluZ19uZWVkX2V2ZW50KF9fdTE2IGV2ZW50X2lkeCwgX191MTYgbmV3X2lkeCwKKwkJCQkgICBf
X3UxNiBvbGRfaWR4KQoreworCXJldHVybiAobmV3X2lkeCAtIGV2ZW50X2lkeCAtIDEpIDwgKG5l
d19pZHggLSBvbGRfaWR4KTsKK30KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYgLyog
X19jcGx1c3BsdXMgX18gKi8KKworI2VuZGlmIC8qIF9fUExBVF9EUlZfVklSVElPX1JJTkdfSF9f
ICovCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5cGVz
LmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX3R5cGVzLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgwNGMyYwotLS0gL2Rldi9udWxsCisrKyBiL3Bs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fdHlwZXMuaApAQCAtMCwwICsxLDYyIEBA
CisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKiBUeXBlIGRl
ZmluaXRpb25zIGZvciB2aXJ0aW8gaW1wbGVtZW50YXRpb25zLgorICoKKyAqIFRoaXMgaGVhZGVy
IGlzIEJTRCBsaWNlbnNlZCBzbyBhbnlvbmUgY2FuIHVzZSB0aGUgZGVmaW5pdGlvbnMgdG8gaW1w
bGVtZW50CisgKiBjb21wYXRpYmxlIGRyaXZlcnMvc2VydmVycy4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5l
aXRoZXIgdGhlIG5hbWUgb2YgSUJNIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwor
ICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4g
cGVybWlzc2lvbi4KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBJQk0gT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK
KyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
CisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4K
KyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgUmVkIEhhdCwgSW5jLgorICogQXV0aG9yOiBNaWNo
YWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgorICoJICAgU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CisgKi8KKy8qKgorICogVGFrZW4gYW5kIG1vZGlm
aWVkIGZyb20gTGludXggS2VybmVsLgorICogaW5jbHVkZS91YXBpL2xpbnV4L3ZpcnRpb190eXBl
cy5oCisgKgorICogQ29tbWl0LWlkOiA5ZWZlY2NhY2QzYTQKKyAqLworI2lmbmRlZiBfX1BMQVRf
RFJWX1ZJUlRJT19UWVBFU19ICisjZGVmaW5lIF9fUExBVF9EUlZfVklSVElPX1RZUEVTX0gKKwor
I2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4g
IkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAgKi8KKworLyoqCisgKiBfX3ZpcnRpb3sxNiwz
Miw2NH0gaGF2ZSB0aGUgZm9sbG93aW5nIG1lYW5pbmc6CisgKiAtIF9fdXsxNiwzMiw2NH0gZm9y
IHZpcnRpbyBkZXZpY2VzIGluIGxlZ2FjeSBtb2RlLCBhY2Nlc3NlZCBpbiBuYXRpdmUgZW5kaWFu
CisgKiAtIF9fbGV7MTYsMzIsNjR9IGZvciBzdGFuZGFyZC1jb21wbGlhbnQgdmlydGlvIGRldmlj
ZXMKKyAqLwordHlwZWRlZiBfX3UxNiBfX3ZpcnRpb19sZTE2OwordHlwZWRlZiBfX3UzMiBfX3Zp
cnRpb19sZTMyOwordHlwZWRlZiBfX3U2NCBfX3ZpcnRpb19sZTY0OworCisjaWZkZWYgX19jcGx1
c3BsdXMKK30KKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAgKi8KKworI2VuZGlmIC8qIF9fUExBVF9E
UlZfVklSVElPX1RZUEVTX0ggKi8KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:42:58 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:42:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJR4-0001ce-7U; Wed, 24 Oct 2018 13:42:58 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJR3-0001cU-KN
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:42:57 +0000
X-Inumbo-ID: ec3c0ad6-d792-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ec3c0ad6-d792-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 13:44:26 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 9210AF2050;
 Wed, 24 Oct 2018 15:42:55 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id E4CoUFwOi69N; Wed, 24 Oct 2018 15:42:55 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 5F744F2014
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:53 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:53 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:29 +0200
Message-ID: <1540388553-15668-4-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 3/7] plat/drivers: Introduce the
 virtio bus
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSB2aXJ0aW8gYnVzIHRvIGJyaWRnZSB0aGUgdmlydGlv
IGRldmljZSB3aXRoCnRoZSBidXMuIFdlIGludHJvZHVjZSB0aGUgZnVuY3Rpb25zIHRvIGFkZCBk
cml2ZXIgdG8gY29udHJvbCB0aGUgdmlydGlvCmRldmljZS4KClNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmggfCAxMzAgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKwogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgICAgICAgICB8IDEw
OSArKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAg
ICAgICAgICAgICAgICB8ICAxMSArKysKIHBsYXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAg
ICAgICAgICAgfCAgMTIgKysrCiA0IGZpbGVzIGNoYW5nZWQsIDI2MiBpbnNlcnRpb25zKCspCiBj
cmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMu
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCgpk
aWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaCBiL3Bs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMC4uYmRlOWJiYgotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmgKQEAgLTAsMCArMSwxMzAgQEAKKy8qIFNQRFgt
TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaGFy
YW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmln
aHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNv
cHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisg
KiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1P
RElGSUVEIElOIEFOWSBXQVkuCisgKi8KKworI2lmbmRlZiBfX1BMQVRfRFJWX1ZJUlRJT19ICisj
ZGVmaW5lIF9fUExBVF9EUlZfVklSVElPX0gKKworI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgorI2lu
Y2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dWsvZXJycHRyLmg+CisjaW5jbHVkZSA8dWsvYXJj
aC90eXBlcy5oPgorI2luY2x1ZGUgPHVrL2FyY2gvbGNwdS5oPgorI2luY2x1ZGUgPHVrL2FsbG9j
Lmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KKworI2lmZGVmIF9fY3BsdXNw
bHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLworCisjZGVmaW5lIFZJ
UlRJT19GRUFUVVJFU19VUERBVEUoZmVhdHVyZXMsIGJwb3MpCVwKKwkoZmVhdHVyZXMgfD0gKDFV
TEwgPDwgYnBvcykpCisKK3N0cnVjdCB2aXJ0aW9fZGV2OwordHlwZWRlZiBpbnQgKCp2aXJ0aW9f
ZHJpdmVyX2luaXRfZnVuY190KShzdHJ1Y3QgdWtfYWxsb2MgKik7Cit0eXBlZGVmIGludCAoKnZp
cnRpb19kcml2ZXJfYWRkX2Z1bmNfdCkoc3RydWN0IHZpcnRpb19kZXYgKik7CisKK2VudW0gdmly
dGlvX2Rldl9zdGF0dXMgeworCS8qKiBEZXZpY2UgcmVzZXQgKi8KKwlWSVJUSU9fREVWX1JFU0VU
LAorCS8qKiBEZXZpY2UgQWNrbm93bGVkZ2UgYW5kIHJlYWR5IHRvIGJlIGNvbmZpZ3VyZWQgKi8K
KwlWSVJUSU9fREVWX0lOSVRJQUxJWkVELAorCS8qKiBEZXZpY2UgZmVhdHVyZSBuZWdvdGlhdGVk
IGFuZCByZWFkeSB0byB0aGUgc3RhcnRlZCAqLworCVZJUlRJT19ERVZfQ09ORklHVVJFRCwKKwkv
KiogRGV2aWNlIFJ1bm5pbmcgKi8KKwlWSVJUSU9fREVWX1JVTk5JTkcsCisJLyoqIERldmljZSBT
dG9wcGVkICovCisJVklSVElPX0RFVl9TVE9QUEVELAorfTsKKworLyoqCisgKiBUaGUgc3RydWN0
dXJlIGRlZmluZSBhIHZpcnRpbyBkZXZpY2UuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZGV2X2lkIHsK
KwkvKiogRGV2aWNlIGlkZW50aWZpZXIgb2YgdGhlIHZpcnRpbyBkZXZpY2UgKi8KKwlfX3UxNiAg
dmlydGlvX2RldmljZV9pZDsKK307CisKKy8qKgorICogVGhlIHN0cnVjdHVyZSBkZWZpbmUgdGhl
IHZpcnRpbyBkcml2ZXIuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZHJpdmVyIHsKKwkvKiogTmV4dCBl
bnRyeSBvZiB0aGUgZHJpdmVyIGxpc3QgKi8KKwlVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdmlydGlv
X2RyaXZlcikgbmV4dDsKKwkvKiogVGhlIGlkIG1hcCBmb3IgdGhlIHZpcnRpbyBkZXZpY2UgKi8K
Kwljb25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCAqZGV2X2lkczsKKwkvKiogVGhlIGluaXQgZnVu
Y3Rpb24gZm9yIHRoZSBkcml2ZXIgKi8KKwl2aXJ0aW9fZHJpdmVyX2luaXRfZnVuY190IGluaXQ7
CisJLyoqIEFkZGluZyB0aGUgdmlydGlvIGRldmljZSAqLworCXZpcnRpb19kcml2ZXJfYWRkX2Z1
bmNfdCBhZGRfZGV2OworfTsKKworLyoqCisgKiBUaGUgc3RydWN0dXJlIGRlZmluZXMgdGhlIHZp
cnRpbyBkZXZpY2UuCisgKi8KK3N0cnVjdCB2aXJ0aW9fZGV2IHsKKwkvKiBGZWF0dXJlIGJpdCBk
ZXNjcmliaW5nIHRoZSB2aXJ0aW8gZGV2aWNlICovCisJX191NjQgZmVhdHVyZXM7CisJLyogUHJp
dmF0ZSBkYXRhIG9mIHRoZSBkcml2ZXIgKi8KKwl2b2lkICpwcml2OworCS8qIFZpcnRpbyBkZXZp
Y2UgaWRlbnRpZmllciAqLworCXN0cnVjdCB2aXJ0aW9fZGV2X2lkIGlkOworCS8qIFJlZmVyZW5j
ZSB0byB0aGUgdmlydGlvIGRyaXZlciBmb3IgdGhlIGRldmljZSAqLworCXN0cnVjdCB2aXJ0aW9f
ZHJpdmVyICp2ZHJ2OworCS8qIFN0YXR1cyBvZiB0aGUgZGV2aWNlICovCisJZW51bSB2aXJ0aW9f
ZGV2X3N0YXR1cyBzdGF0dXM7Cit9OworCisvKioKKyAqIE9wZXJhdGlvbiBleHBvcnRlZCBieSB0
aGUgdmlydGlvIGRldmljZS4KKyAqLwordm9pZCBfdmlydGlvX2J1c19yZWdpc3Rlcl9kcml2ZXIo
c3RydWN0IHZpcnRpb19kcml2ZXIgKnZkcnYpOworCisjZGVmaW5lIFZJUlRJT19CVVNfUkVHSVNU
RVJfRFJJVkVSKGIpCQkJXAorCV9WSVJUSU9fQlVTX1JFR0lTVEVSX0RSSVZFUihfX0xJQk5BTUVf
XywgYikKKworI2RlZmluZSBfVklSVElPX0JVU19SRUdGTkFNRSh4LCB5KSAgICAgICB4IyN5CisK
KyNkZWZpbmUgX1ZJUlRJT19CVVNfUkVHSVNURVJfRFJJVkVSKGxpYm5hbWUsIGIpCQkJCVwKKwkg
ICAgc3RhdGljIHZvaWQgX19jb25zdHJ1Y3Rvcl9wcmlvKDEwNCkJCQkJXAorCV9WSVJUSU9fQlVT
X1JFR0ZOQU1FKGxpYm5hbWUsIF92aXJ0aW9fcmVnaXN0ZXJfZHJpdmVyKSh2b2lkKQlcCisJewkJ
CQkJCQkJXAorCQlfdmlydGlvX2J1c19yZWdpc3Rlcl9kcml2ZXIoKGIpKTsJCQlcCisJfQorCisK
KyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKyNlbmRp
ZiAvKiBfX1BMQVRfRFJWX1ZJUlRJT19IICovCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19idXMuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwMDg3MTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwpAQCAtMCwwICsxLDEwOSBAQAorLyog
U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIEF1dGhvcnM6
IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgorICoKKyAqIENv
cHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0
aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQg
T1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworCisjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cisj
aW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgorI2luY2x1ZGUgPHVrL2xpc3QuaD4KKyNpbmNsdWRl
IDx1ay9hbGxvYy5oPgorI2luY2x1ZGUgPHVrL2J1cy5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0
aW9faWRzLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KKyNpbmNsdWRlIDx2
aXJ0aW8vdmlydGlvX2J1cy5oPgorCitVS19UQUlMUV9IRUFEKHZpcnRpb19kcml2ZXJfbGlzdCwg
c3RydWN0IHZpcnRpb19kcml2ZXIpOworLyoqCisgKiBNb2R1bGUgbG9jYWwgZGF0YSBzdHJ1Y3R1
cmUocykuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2RyaXZlcl9saXN0IHZpcnRpb19kcnZz
ID0KKwkJCVVLX1RBSUxRX0hFQURfSU5JVElBTElaRVIodmlydGlvX2RydnMpOworc3RhdGljIHN0
cnVjdCB1a19hbGxvYyAqYTsKKworLyoqCisgKiAgIERyaXZlciBtb2R1bGUgbG9jYWwgZnVuY3Rp
b24ocykuCisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAq
bWVtX2FsbG9jKTsKK3N0YXRpYyBpbnQgdmlydGlvX2J1c19wcm9iZSh2b2lkKTsKKworLyoqCisg
KiBQcm9iZSBmb3IgdGhlIHZpcnRpbyBkZXZpY2UuCisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2J1
c19wcm9iZSh2b2lkKQoreworCXJldHVybiAwOworfQorCisvKioKKyAqIEluaXRpYWxpemUgdGhl
IHZpcnRpbyBidXMgZHJpdmVyKHMpLgorICogQHBhcmFtIG1lbV9hbGxvYworICoJUmVmZXJlbmNl
IHRvIHRoZSBtZW1fYWxsb2NhdG9yLgorICogQHJldHVybgorICoJKGludCkgT24gc3VjY2Vzc2Z1
bCBpbml0aWFsaXphdGlvbiByZXR1cm4gdGhlIGNvdW50IG9mIGRldmljZQorICoJaW5pdGlhbGl6
ZWQuCisgKglPbiBlcnJvciByZXR1cm4gLTEuCisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2J1c19p
bml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2FsbG9jKQoreworCXN0cnVjdCB2aXJ0aW9fZHJpdmVy
ICpkcnYgPSBOVUxMLCAqbmRydiA9IE5VTEw7CisJaW50IHJldCA9IDAsIGRldl9jb3VudCA9IDA7
CisKKwlhID0gbWVtX2FsbG9jOworCVVLX1RBSUxRX0ZPUkVBQ0hfU0FGRShkcnYsICZ2aXJ0aW9f
ZHJ2cywgbmV4dCwgbmRydikgeworCQlpZiAoZHJ2LT5pbml0KSB7CisJCQlyZXQgPSBkcnYtPmlu
aXQoYSk7CisJCQlpZiAodW5saWtlbHkocmV0KSkgeworCQkJCXVrX3ByX2VycigiRmFpbGVkIHRv
IGluaXRpYWxpemUgdmlydGlvIGRyaXZlciAlcDogJWRcbiIsCisJCQkJCSAgZHJ2LCByZXQpOwor
CQkJCVVLX1RBSUxRX1JFTU9WRSgmdmlydGlvX2RydnMsIGRydiwgbmV4dCk7CisJCQl9IGVsc2UK
KwkJCQlkZXZfY291bnQrKzsKKwkJfQorCX0KKwlyZXR1cm4gKGRldl9jb3VudCA+IDApID8gZGV2
X2NvdW50IDogLTE7Cit9CisKKy8qKgorICogUmVnaXN0ZXIgdGhlIHZpcnRpbyBkcml2ZXIocyku
CisgKiBAcGFyYW0gdmRydgorICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW9fZHJpdmVyCisgKi8K
K3ZvaWQgX3ZpcnRpb19idXNfcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2
ZHJ2KQoreworCVVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ2aXJ0aW9fZHJ2cywgdmRydiwgbmV4dCk7
Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfYnVzIHZpcnRpb19idXMgPSB7CisJLmluaXQgPSB2aXJ0
aW9fYnVzX2luaXQsCisJLnByb2JlID0gdmlydGlvX2J1c19wcm9iZSwKK307CitVS19CVVNfUkVH
SVNURVIoJnZpcnRpb19idXMpOwpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmlnLnVrIGIvcGxh
dC9rdm0vQ29uZmlnLnVrCmluZGV4IDBmMTBiNGQuLjE1NmM0MWUgMTAwNjQ0Ci0tLSBhL3BsYXQv
a3ZtL0NvbmZpZy51aworKysgYi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTUwLDQgKzUwLDE1IEBA
IGNvbmZpZyBLVk1fUENJCiAgICAgICAgc2VsZWN0IExJQlVLQlVTCiAgICAgICAgaGVscAogICAg
ICAgICAgICAgICAgIFBDSSBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgUENJ
IGRldmljZXMKKworY29uZmlnIFZJUlRJT19CVVMKKyAgICAgIGJvb2wgICJWaXJ0aW8gYnVzIGRy
aXZlciIKKyAgICAgIGRlZmF1bHQgeQorICAgICAgZGVwZW5kcyBvbiAoQVJDSF9YODZfNjQpCisg
ICAgICBkZXBlbmRzIG9uIExJQlVLQlVTCisgICAgICBzZWxlY3QgTElCVUtBTExPQworICAgICAg
aGVscAorICAgICAgICAgICAgICAgVmlydGlvIGJ1cyBkcml2ZXIgZm9yIHByb2JpbmcgYW5kIG9w
ZXJhdGluZyB2aXJ0aW8gZGV2aWNlIGFuZAorICAgICAgICAgICAgICAgdHJhbnNwb3J0IGxheWVy
LgorCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9N
YWtlZmlsZS51awppbmRleCAwNmQ4NDEwLi44MGEwYzA1IDEwMDY0NAotLS0gYS9wbGF0L2t2bS9N
YWtlZmlsZS51aworKysgYi9wbGF0L2t2bS9NYWtlZmlsZS51awpAQCAtOCw2ICs4LDcgQEAgJChl
dmFsICQoY2FsbCBhZGRwbGF0X3Msa3ZtLCQoQ09ORklHX1BMQVRfS1ZNKSkpCiAjIwogJChldmFs
ICQoY2FsbCBhZGRwbGF0bGliLGt2bSxsaWJrdm1wbGF0KSkKICQoZXZhbCAkKGNhbGwgYWRkcGxh
dGxpYl9zLGt2bSxsaWJrdm1wY2ksJChDT05GSUdfS1ZNX1BDSSkpKQorJChldmFsICQoY2FsbCBh
ZGRwbGF0bGliX3Msa3ZtLGxpYmt2bXZpcnRpbywkKENPTkZJR19WSVJUSU8pKSkKIAogIyMKICMj
IFBsYXRmb3JtIGxpYnJhcnkgZGVmaW5pdGlvbnMKQEAgLTgwLDMgKzgxLDE0IEBAIExJQktWTVBD
SV9BU0lOQ0xVREVTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAgKz0gLUkkKFVLX1BMQVRfQ09NTU9O
X0JBU0UpL2luY2x1ZGUKIExJQktWTVBDSV9DSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZfNjQp
ICAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKIExJQktWTVBDSV9TUkNTLSQo
Q09ORklHX0FSQ0hfWDg2XzY0KSAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9wY2lf
YnVzLmN8Y29tbW9uCiAKKyMjCisjIyBWaXJ0aW8gbGlicmFyeSBkZWZpbml0aW9ucworIyMKK0xJ
QktWTVZJUlRJT19BU0lOQ0xVREVTLXkgICArPSAtSSQoTElCS1ZNUExBVF9CQVNFKS9pbmNsdWRl
CitMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAgKz0gLUkkKExJQktWTVBMQVRfQkFTRSkvaW5j
bHVkZQorTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChVS19QTEFUX0NPTU1PTl9C
QVNFKS9pbmNsdWRlCitMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAgKz0gLUkkKFVLX1BMQVRf
Q09NTU9OX0JBU0UpL2luY2x1ZGUKK0xJQktWTVZJUlRJT19BU0lOQ0xVREVTLXkgICArPSAtSSQo
VUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1ZGUKK0xJQktWTVZJUlRJT19DSU5DTFVERVMteSAg
ICArPSAtSSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1ZGUKK0xJQktWTVZJUlRJT19TUkNT
LSQoQ09ORklHX1ZJUlRJT19CVVMpICs9XAorCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0
aW8vdmlydGlvX2J1cy5jCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVs
QGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1h
bi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:43:01 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:43:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJR7-0001dZ-9D; Wed, 24 Oct 2018 13:43:01 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJR6-0001dO-Ll
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:43:00 +0000
X-Inumbo-ID: ed84af12-d792-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id ed84af12-d792-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 13:44:29 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id BF8F8104A57;
 Wed, 24 Oct 2018 15:42:57 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id iUdJiv7tnBUH; Wed, 24 Oct 2018 15:42:57 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 9D645104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:55 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:55 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:30 +0200
Message-ID: <1540388553-15668-5-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 4/7] plat/drivers: Introduce
 virtio PCI device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

V2UgaW50cm9kdWNlcyBzdXBwb3J0IGZvciB2aXJ0aW8gUENJIGxlZ2FjeSBkZXZpY2Ugc3VwcG9y
dCBpbiB0aGlzCnBhdGNoLiBUaGUgZHJpdmVyIHJlZ2lzdGVyIG9uIHRoZSBQQ0kgYnVzIHRvIHBy
b2JlIGZvciBkZXZpY2Ugd2l0aApRVU1SQU5FVCB2ZW5kb3IgaWQuIFRoZSB2aXJ0aW8gUENJIGJ1
cyBhZGRzIHRoZSB2aXJ0aW8gZGV2LiBUaGUKdmlydGlvIGJ1cyBpcyByZXNwb25zaWJsZSBmb3Ig
YnJpZGdpbmcgdGhlIHZpcnRpbyBkZXZpY2Ugd2l0aCB0aGUKZHJpdmVyLiBUaGUgdmlydGlvIFBD
SSBkZXZpY2UgcHJvdmlkZXMgY29uZmlndXJhdGlvbiBjYWxsYmFjayBmb3IKdGhlIFBDSSBidXMg
b3BlcmF0aW9uIHBlcmZvcm1lZCBvbiB0aGUgdmlydGlvIGRldmljZS4gQ3VycmVudGx5IHdlCmFk
ZCBzdXBwb3J0IHRvIHRoZSBLVk0gcGxhdGZvcm0KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50
aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVycy9pbmNs
dWRlL3ZpcnRpby92aXJ0aW9fYnVzLmggfCAxMjUgKysrKysrKysrKysrCiBwbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19idXMuYyAgICAgICAgIHwgMTE1ICsrKysrKysrKysrKwogcGxhdC9kcml2
ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgICAgICB8IDMxMyArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrCiBwbGF0L2t2bS9Db25maWcudWsgICAgICAgICAgICAgICAgICAgICAgIHwg
IDEwICsKIHBsYXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0K
IDUgZmlsZXMgY2hhbmdlZCwgNTY2IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwoKZGlmZiAtLWdp
dCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmggYi9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2J1cy5oCmluZGV4IGJkZTliYmIuLjhkZmZlNTYgMTAw
NjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmgKKysrIGIv
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaApAQCAtNzYsNiArNzYsMjcg
QEAgc3RydWN0IHZpcnRpb19kZXZfaWQgewogfTsKIAogLyoqCisgKiBUaGUgc3RydWN0dXJlIGRl
ZmluZSBhIGxpc3Qgb2YgY29uZmlndXJhdGlvbiBvcGVyYXRpb24gb24gYSB2aXJ0aW8gZGV2aWNl
LgorICovCitzdHJ1Y3QgdmlydGlvX2NvbmZpZ19vcHMgeworCS8qKiBSZXNldHRpbmcgdGhlIGRl
dmljZSAqLworCXZvaWQgKCpkZXZpY2VfcmVzZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsK
KwkvKiogU2V0IGNvbmZpZ3VyYXRpb24gb3B0aW9uICovCisJaW50ICgqY29uZmlnX3NldCkoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKKwkJCSAgY29uc3Qgdm9pZCAqYnVm
LCBfX3UzMiBsZW4pOworCS8qKiBHZXQgY29uZmlndXJhdGlvbiBvcHRpb24gKi8KKwlpbnQgKCpj
b25maWdfZ2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LCB2b2lkICpi
dWYsCisJCQkgIF9fdTMyIGxlbiwgX191OCB0eXBlX2xlbik7CisJLyoqIEdldCB0aGUgZmVhdHVy
ZSAqLworCV9fdTY0ICgqZmVhdHVyZXNfZ2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7CisJ
LyoqIFNldCB0aGUgZmVhdHVyZSAqLworCXZvaWQgKCpmZWF0dXJlc19zZXQpKHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LCBfX3U2NCBmZWF0dXJlcyk7CisJLyoqIEdldCBhbmQgU2V0IFN0YXR1cyAq
LworCV9fdTggKCpzdGF0dXNfZ2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7CisJdm9pZCAo
KnN0YXR1c19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cyk7Cit9Owor
CisvKioKICAqIFRoZSBzdHJ1Y3R1cmUgZGVmaW5lIHRoZSB2aXJ0aW8gZHJpdmVyLgogICovCiBz
dHJ1Y3QgdmlydGlvX2RyaXZlciB7CkBAIC05OSw2ICsxMjAsOCBAQCBzdHJ1Y3QgdmlydGlvX2Rl
diB7CiAJdm9pZCAqcHJpdjsKIAkvKiBWaXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KIAlzdHJ1
Y3QgdmlydGlvX2Rldl9pZCBpZDsKKwkvKiBMaXN0IG9mIHRoZSBjb25maWcgb3BlcmF0aW9ucyAq
LworCXN0cnVjdCB2aXJ0aW9fY29uZmlnX29wcyAqY29wczsKIAkvKiBSZWZlcmVuY2UgdG8gdGhl
IHZpcnRpbyBkcml2ZXIgZm9yIHRoZSBkZXZpY2UgKi8KIAlzdHJ1Y3QgdmlydGlvX2RyaXZlciAq
dmRydjsKIAkvKiBTdGF0dXMgb2YgdGhlIGRldmljZSAqLwpAQCAtMTA4LDggKzEzMSwxMTAgQEAg
c3RydWN0IHZpcnRpb19kZXYgewogLyoqCiAgKiBPcGVyYXRpb24gZXhwb3J0ZWQgYnkgdGhlIHZp
cnRpbyBkZXZpY2UuCiAgKi8KK2ludCB2aXJ0aW9fYnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldik7CiB2b2lkIF92aXJ0aW9fYnVzX3JlZ2lzdGVyX2RyaXZlcihzdHJ1
Y3QgdmlydGlvX2RyaXZlciAqdmRydik7CiAKKy8qKgorICogVGhlIGZ1bmN0aW9uIHVwZGF0ZXMg
dGhlIHN0YXR1cyBvZiB0aGUgdmlydGlvIGRldmljZQorICogQHBhcmFtIHZkZXYKKyAqICAgICAg
UmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgorICogQHBhcmFtIHN0YXR1cworICogICAg
ICBUaGUgc3RhdHVzIHRvIHVwZGF0ZS4KKyAqIEByZXR1cm4KKyAqICAgICAgMCBvbiBzdWNjZXNz
ZnVsIHVwZGF0aW5nIHRoZSBzdGF0dXMuCisgKiAgICAgIC1FTk9UU1VQLCBpZiB0aGUgb3BlcmF0
aW9uIGlzIG5vdCBzdXBwb3J0ZWQgb24gdGhlIHZpcnRpbyBkZXZpY2UuCisgKi8KK3N0YXRpYyBp
bmxpbmUgaW50IHZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRl
diwgX191OCBzdGF0dXMpCit7CisJaW50IHJjID0gLUVOT1RTVVA7CisKKwlVS19BU1NFUlQodmRl
dik7CisKKwlpZiAobGlrZWx5KHZkZXYtPmNvcHMtPnN0YXR1c19zZXQpKSB7CisJCXZkZXYtPmNv
cHMtPnN0YXR1c19zZXQodmRldiwgc3RhdHVzKTsKKwkJcmMgPSAwOworCX0KKwlyZXR1cm4gcmM7
Cit9CisKKy8qKgorICogVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUgZmVhdHVyZSBzdXBwb3J0ZWQg
YnkgdGhlIGRldmljZS4KKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRp
byBkZXZpY2UuCisgKgorICogQHJldHVybiBfX3U2NAorICoJQSBiaXQgbWFwIG9mIHRoZSBmZWF0
dXJlIHN1cHBvcnRlZCBieSB0aGUgZGV2aWNlLgorICovCitzdGF0aWMgaW5saW5lIF9fdTY0IHZp
cnRpb19mZWF0dXJlX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKK3sKKwlfX3U2NCBmZWF0
dXJlcyA9IDA7CisKKwlVS19BU1NFUlQodmRldik7CisKKwlpZiAobGlrZWx5KHZkZXYtPmNvcHMt
PmZlYXR1cmVzX2dldCkpCisJCWZlYXR1cmVzID0gdmRldi0+Y29wcy0+ZmVhdHVyZXNfZ2V0KHZk
ZXYpOworCXJldHVybiBmZWF0dXJlczsKK30KKworLyoqCisgKiBUaGUgZnVuY3Rpb24gdG8gc2V0
IHRoZSBuZWdvdGlhdGVkIGZlYXR1cmVzLgorICogQHBhcmFtIHZkZXYKKyAqCVJlZmVyZW5jZSB0
byB0aGUgdmlydGlvIGRldmljZS4KKyAqIEBwYXJhbSBmZWF0dXJlCisgKglBIGJpdCBtYXAgb2Yg
dGhlIGZlYXR1cmUgbmVnb3RpYXRlZC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19m
ZWF0dXJlX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MzIgZmVhdHVyZSkKK3sKKwlV
S19BU1NFUlQodmRldik7CisKKwlpZiAobGlrZWx5KHZkZXYtPmNvcHMtPmZlYXR1cmVzX3NldCkp
CisJCXZkZXYtPmNvcHMtPmZlYXR1cmVzX3NldCh2ZGV2LCBmZWF0dXJlKTsKK30KKworLyoqCisg
KiBHZXQgdGhlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvIGRldmlj
ZS4KKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCisg
KiBAcGFyYW0gb2Zmc2V0CisgKglPZmZzZXQgaW50byB0aGUgdmlydGlvIGRldmljZSBjb25maWd1
cmF0aW9uIHNwYWNlLgorICogQHBhcmFtIGJ1ZgorICoJQSBidWZmZXIgdG8gc3RvcmUgdGhlIGNv
bmZpZ3VyYXRpb24gaW5mb3JtYXRpb24uCisgKiBAcGFyYW0gbGVuCisgKglUaGUgbGVuZ3RoIG9m
IHRoZSBidWZmZXIuCisgKiBAcGFyYW0gdHlwZV9sZW4KKyAqCVRoZSBkYXRhIHR5cGUgb2YgdGhl
IGNvbmZpZ3VyYXRpb24gZGF0YS4KKyAqIEByZXR1cm4gaW50CisgKgkwLCBvbiBzdWNjZXNzZnVs
IHJlYWRpbmcgdGhlIGNvbmZpZ3VyYXRpb24gc3BhY2UuCisgKgk8IDAsIG9uIGVycm9yLgorICov
CitzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAq
dmRldiwgX191MTYgb2Zmc2V0LAorCQkJCSAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwgX191OCB0
eXBlX2xlbikKK3sKKwlpbnQgcmMgPSAtRU5PVFNVUDsKKworCVVLX0FTU0VSVCh2ZGV2KTsKKwor
CWlmIChsaWtlbHkodmRldi0+Y29wcy0+Y29uZmlnX2dldCkpCisJCXJjID0gdmRldi0+Y29wcy0+
Y29uZmlnX2dldCh2ZGV2LCBvZmZzZXQsIGJ1ZiwgbGVuLCB0eXBlX2xlbik7CisKKwlyZXR1cm4g
cmM7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19oYXNfZmVhdHVyZXMoX191NjQgZmVh
dHVyZXMsIF9fdTggYnBvcykKK3sKKwlfX3U2NCB0bXBfZmVhdHVyZSA9IDA7CisKKwlWSVJUSU9f
RkVBVFVSRVNfVVBEQVRFKHRtcF9mZWF0dXJlLCBicG9zKTsKKwl0bXBfZmVhdHVyZSAmPSBmZWF0
dXJlczsKKworCXJldHVybiB0bXBfZmVhdHVyZSA/IDEgOiAwOworfQorCitzdGF0aWMgaW5saW5l
IHZvaWQgdmlydGlvX2Rldl9kcnZfdXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCit7CisJdmly
dGlvX2Rldl9zdGF0dXNfdXBkYXRlKHZkZXYsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUl9P
Syk7Cit9CisKICNkZWZpbmUgVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoYikJCQlcCiAJX1ZJ
UlRJT19CVVNfUkVHSVNURVJfRFJJVkVSKF9fTElCTkFNRV9fLCBiKQogCmRpZmYgLS1naXQgYS9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmly
dGlvX2J1cy5jCmluZGV4IGQwMDg3MTguLmI0MGEyNzAgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX2J1cy5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1
cy5jCkBAIC01Miw5ICs1MiwxMjQgQEAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsKIC8qKgog
ICogICBEcml2ZXIgbW9kdWxlIGxvY2FsIGZ1bmN0aW9uKHMpLgogICovCitzdGF0aWMgaW50IHZp
cnRpb19kZXZpY2VfcmVpbml0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyBzdHJ1
Y3QgdmlydGlvX2RyaXZlciAqZmluZF9tYXRjaF9kcnYoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYp
Owogc3RhdGljIGludCB2aXJ0aW9fYnVzX2luaXQoc3RydWN0IHVrX2FsbG9jICptZW1fYWxsb2Mp
Owogc3RhdGljIGludCB2aXJ0aW9fYnVzX3Byb2JlKHZvaWQpOwogCitzdGF0aWMgaW5saW5lIGlu
dCB2aXJ0aW9fZGV2aWNlX2lkX21hdGNoKGNvbnN0IHN0cnVjdCB2aXJ0aW9fZGV2X2lkICppZDAs
CisJCQkJCSBjb25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCAqaWQxKQoreworCWludCByYyA9IDA7
CisKKwlpZiAoaWQwLT52aXJ0aW9fZGV2aWNlX2lkID09IGlkMS0+dmlydGlvX2RldmljZV9pZCkK
KwkJcmMgPSAxOworCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIEZpbmQgYSBtYXRjaCBkcml2
ZXIKKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCisg
Ki8KK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZmluZF9tYXRjaF9kcnYoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYpCit7CisJaW50IGkgPSAwOworCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICpk
cnYgPSBOVUxMOworCisJVUtfVEFJTFFfRk9SRUFDSChkcnYsICZ2aXJ0aW9fZHJ2cywgbmV4dCkg
eworCQl3aGlsZSAoZHJ2LT5kZXZfaWRzW2ldLnZpcnRpb19kZXZpY2VfaWQgIT0gVklSVElPX0lE
X0lOVkFMSUQpIHsKKwkJCWlmICh2aXJ0aW9fZGV2aWNlX2lkX21hdGNoKCZkcnYtPmRldl9pZHNb
aV0sCisJCQkJCQkgICAmdmRldi0+aWQpKSB7CisJCQkJcmV0dXJuIGRydjsKKwkJCX0KKwkJfQor
CX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBSZWluaXRpYWxpemUgdGhlIHZpcnRpbyBk
ZXZpY2UKKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2Uu
CisgKi8KK3N0YXRpYyBpbnQgdmlydGlvX2RldmljZV9yZWluaXQoc3RydWN0IHZpcnRpb19kZXYg
KnZkZXYpCit7CisJaW50IHJjID0gMDsKKworCS8qKgorCSAqIFJlc2V0dGluZyB0aGUgdmlydGlv
IGRldmljZQorCSAqIFRoaXMgbWF5IG5vdCBiZSBuZWNlc3Nhcnkgd2hpbGUgaW5pdGlhbGl6aW5n
IHRoZSBkZXZpY2UgZm9yIHRoZSBmaXJzdAorCSAqIHRpbWUuCisJICovCisJaWYgKHZkZXYtPmNv
cHMtPmRldmljZV9yZXNldCkgeworCQl2ZGV2LT5jb3BzLT5kZXZpY2VfcmVzZXQodmRldik7CisJ
CS8qIFNldCB0aGUgZGV2aWNlIHN0YXR1cyAqLworCQl2ZGV2LT5zdGF0dXMgPSBWSVJUSU9fREVW
X1JFU0VUOworCX0KKwkvKiBBY2tub3dsZWRnZSB0aGUgdmlydGlvIGRldmljZSAqLworCXJjID0g
dmlydGlvX2Rldl9zdGF0dXNfdXBkYXRlKHZkZXYsIFZJUlRJT19DT05GSUdfU1RBVFVTX0FDSyk7
CisJaWYgKHJjICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWNrbm93bGVkZ2UgdGhl
IHZpcnRpbyBkZXZpY2UgJXA6ICVkXG4iLAorCQkJICB2ZGV2LCByYyk7CisJCXJldHVybiByYzsK
Kwl9CisKKwkvKiBBY2tub3dsZWRnZSB0aGUgdmlydGlvIGRyaXZlciAqLworCXJjID0gdmlydGlv
X2Rldl9zdGF0dXNfdXBkYXRlKHZkZXYsIFZJUlRJT19DT05GSUdfU1RBVFVTX0RSSVZFUik7CisJ
aWYgKHJjICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWNrbm93bGVkZ2UgdGhlIHZp
cnRpbyBkcml2ZXIgJXA6ICVkXG4iLAorCQkJICB2ZGV2LCByYyk7CisJCXJldHVybiByYzsKKwl9
CisJdmRldi0+c3RhdHVzID0gVklSVElPX0RFVl9JTklUSUFMSVpFRDsKKwl1a19wcl9pbmZvKCJW
aXJ0aW8gZGV2aWNlICVwIGluaXRpYWxpemVkXG4iLCB2ZGV2KTsKKwlyZXR1cm4gcmM7Cit9CisK
K2ludCB2aXJ0aW9fYnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikK
K3sKKwlzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZHJ2ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJ
VUtfQVNTRVJUKHZkZXYpOworCS8qIENoZWNrIGZvciB0aGUgZGV2IHdpdGggdGhlIGRyaXZlciBs
aXN0ICovCisJZHJ2ID0gZmluZF9tYXRjaF9kcnYodmRldik7CisJaWYgKCFkcnYpIHsKKwkJdWtf
cHJfZXJyKCJGYWlsZWQgdG8gZmluZCB0aGUgZHJpdmVyIGZvciB0aGUgdmlydGlvIGRldmljZSAl
cCAoaWQ6JSJfX1BSSXUxNiIpXG4iLAorCQkJICB2ZGV2LCB2ZGV2LT5pZC52aXJ0aW9fZGV2aWNl
X2lkKTsKKwkJcmV0dXJuIC1FRkFVTFQ7CisJfQorCXZkZXYtPnZkcnYgPSBkcnY7CisKKwkvKiBJ
bml0aWFsaXplIHRoZSBkZXZpY2UgKi8KKwlyYyA9IHZpcnRpb19kZXZpY2VfcmVpbml0KHZkZXYp
OworCWlmIChyYyAhPSAwKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIGluaXRpYWxpemUgdGhl
IHZpcnRpbyBkZXZpY2UgJXAgKGlkOiUiX19QUkl1MTYiOiAlZFxuIiwKKwkJCSAgdmRldiwgdmRl
di0+aWQudmlydGlvX2RldmljZV9pZCwgcmMpOworCQlyZXR1cm4gcmM7CisJfQorCisKKwkvKiBD
YWxsaW5nIHRoZSBkcml2ZXIgYWRkIGRldmljZSAqLworCXJjID0gZHJ2LT5hZGRfZGV2KHZkZXYp
OworCWlmIChyYyAhPSAwKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFkZCB0aGUgdmlydGlv
IGRldmljZSAlcDogJWRcbiIsIHZkZXYsIHJjKTsKKwkJZ290byB2aXJ0aW9fZGV2X2ZhaWxfc2V0
OworCX0KK2V4aXQ6CisJcmV0dXJuIHJjOworCit2aXJ0aW9fZGV2X2ZhaWxfc2V0OgorCS8qKgor
CSAqIFdlIHNldCB0aGUgc3RhdHVzIHRvIGZhaWwuIFdlIGNhbiBpZ25vcmUgdGhlIGV4aXQgc3Rh
dHVzIGZyb20gdGhlCisJICogc3RhdHVzIHVwZGF0ZS4KKwkgKi8KKwl2aXJ0aW9fZGV2X3N0YXR1
c191cGRhdGUodmRldiwgVklSVElPX0NPTkZJR19TVEFUVVNfRkFJTCk7CisJZ290byBleGl0Owor
fQorCiAvKioKICAqIFByb2JlIGZvciB0aGUgdmlydGlvIGRldmljZS4KICAqLwpkaWZmIC0tZ2l0
IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19wY2kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzFkMTFj
Ci0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKQEAg
LTAsMCArMSwzMTMgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KKy8qCisgKiBBdXRob3JzOiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVD
IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5l
aXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBp
dHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAgICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1B
WSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElOIEFOWSBXQVkuCisgKi8KKworI2luY2x1
ZGUgPHVrL2NvbmZpZy5oPgorI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKyNpbmNsdWRlIDxl
cnJuby5oPgorI2luY2x1ZGUgPHVrL2FsbG9jLmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKyNp
bmNsdWRlIDx1ay9wbGF0L2xjcHUuaD4KKyNpbmNsdWRlIDx1ay9wbGF0L2lycS5oPgorI2luY2x1
ZGUgPHBjaS9wY2lfYnVzLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25maWcuaD4KKyNp
bmNsdWRlIDx2aXJ0aW8vdmlydGlvX2J1cy5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fcGNp
Lmg+CisKKyNkZWZpbmUgVkVORE9SX1FVTVJBTkVUX1ZJUlRJTyAgICAgICAgICAgKDB4MUFGNCkK
KyNkZWZpbmUgVklSVElPX1BDSV9MRUdBQ1lfREVWSUNFSURfU1RBUlQgKDB4MEZGRikKKyNkZWZp
bmUgVklSVElPX1BDSV9NT0RFUk5fREVWSUNFSURfU1RBUlQgKDB4MTA0MCkKKworc3RhdGljIHN0
cnVjdCB1a19hbGxvYyAqYTsKKworLyoqCisgKiBUaGUgc3RydWN0dXJlIGRlY2xhcmVzIGEgcGNp
IGRldmljZS4KKyAqLworc3RydWN0IHZpcnRpb19wY2lfZGV2IHsKKwkvKiBWaXJ0aW8gRGV2aWNl
ICovCisJc3RydWN0IHZpcnRpb19kZXYgdmRldjsKKwkvKiBQY2kgYmFzZSBhZGRyZXNzICovCisJ
X191MTYgcGNpX2Jhc2VfYWRkcjsKKwkvKiBJU1IgQWRkcmVzcyBSYW5nZSAqLworCV9fdTE2IHBj
aV9pc3JfYWRkcjsKKwkvKiBQY2kgZGV2aWNlIGluZm9ybWF0aW9uICovCisJc3RydWN0IHBjaV9k
ZXZpY2UgKnBkZXY7Cit9OworCisvKioKKyAqIEZldGNoIHRoZSB2aXJ0aW8gcGNpIGluZm9ybWF0
aW9uIGZyb20gdGhlIHZpcnRpb2Rldi4KKyAqLworI2RlZmluZSB0b192aXJ0aW9wY2lkZXYodmRl
dikgXAorCQlfX2NvbnRhaW5lcm9mKHZkZXYsIHN0cnVjdCB2aXJ0aW9fcGNpX2RldiwgdmRldikK
KworCisvKioKKyAqIFN0YXRpYyBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KKyAqLworc3RhdGljIHZv
aWQgdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Citz
dGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2LCBfX3UxNiBvZmZzZXQsCisJCQkJICAgICAgY29uc3Qgdm9pZCAqYnVmLCBfX3UzMiBsZW4p
Oworc3RhdGljIGludCB2cGNpX2xlZ2FjeV9wY2lfY29uZmlnX2dldChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldiwgX191MTYgb2Zmc2V0LAorCQkJCSAgICAgIHZvaWQgKmJ1ZiwgX191MzIgbGVuLCBf
X3U4IHR5cGVfbGVuKTsKK3N0YXRpYyBfX3U2NCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0
KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyB2b2lkIHZwY2lfbGVnYWN5X3BjaV9m
ZWF0dXJlc19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCisJCQkJCSBfX3U2NCBmZWF0dXJl
cyk7CitzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwgX191OCBzdGF0dXMpOworc3RhdGljIF9fdTggdnBjaV9sZWdhY3lfcGNpX3N0
YXR1c19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOworc3RhdGljIGlubGluZSB2b2lkIHZp
cnRpb19kZXZpY2VfaWRfYWRkKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAorCQkJCQlfX3UxNiBw
Y2lfZGV2X2lkLAorCQkJCQlfX3UxNiB2cGNpX2Rldl9pZF9zdGFydCk7CitzdGF0aWMgaW50IHZp
cnRpb19wY2lfbGVnYWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCisJCQkJ
ICAgICBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2KTsKKworLyoqCisgKiBDb25maWd1
cmF0aW9uIG9wZXJhdGlvbnMgbGVnYWN5IFBDSSBkZXZpY2UuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qg
dmlydGlvX2NvbmZpZ19vcHMgdnBjaV9sZWdhY3lfb3BzID0geworCS5kZXZpY2VfcmVzZXQgPSB2
cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0LAorCS5jb25maWdfZ2V0ICAgPSB2cGNpX2xlZ2FjeV9w
Y2lfY29uZmlnX2dldCwKKwkuY29uZmlnX3NldCAgID0gdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19z
ZXQsCisJLmZlYXR1cmVzX2dldCA9IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19nZXQsCisJLmZl
YXR1cmVzX3NldCA9IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19zZXQsCisJLnN0YXR1c19nZXQg
ICA9IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfZ2V0LAorCS5zdGF0dXNfc2V0ICAgPSB2cGNpX2xl
Z2FjeV9wY2lfc3RhdHVzX3NldCwKK307CisKK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX2Nv
bmZpZ19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKKwkJCQkgICAg
ICBjb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbikKK3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYg
KnZwZGV2ID0gTlVMTDsKKworCVVLX0FTU0VSVCh2ZGV2KTsKKwl2cGRldiA9IHRvX3ZpcnRpb3Bj
aWRldih2ZGV2KTsKKworCV92aXJ0aW9fY3dyaXRlX2J5dGVzKCh2b2lkICopKHVuc2lnbmVkIGxv
bmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQkgICAgIFZJUlRJT19QQ0lfQ09ORklHX09GRiAr
IG9mZnNldCwgYnVmLCBsZW4sIDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdnBj
aV9sZWdhY3lfcGNpX2NvbmZpZ19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG9m
ZnNldCwKKwkJCQkgICAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwgX191OCB0eXBlX2xlbikKK3sK
KwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJ
VUtfQVNTRVJUKHZkZXYpOworCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOworCisJLyog
UmVhZGluZyBhbiBlbnRpdHkgbGVzcyB0aGFuIDQgYnl0ZXMgYXJlIGF0b21pYyAqLworCWlmICh0
eXBlX2xlbiA9PSBsZW4gJiYgdHlwZV9sZW4gPD0gNCkgeworCQlfdmlydGlvX2NyZWFkX2J5dGVz
KAorCQkJCSh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJ
CVZJUlRJT19QQ0lfQ09ORklHX09GRiArIG9mZnNldCwgYnVmLCBsZW4sCisJCQkJdHlwZV9sZW4p
OworCX0gZWxzZSB7CisJCXJjID0gdmlydGlvX2NyZWFkX2J5dGVzX21hbnkoCisJCQkJKHZvaWQg
KikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCQkJVklSVElPX1BDSV9D
T05GSUdfT0ZGICsgb2Zmc2V0LAlidWYsIGxlbik7CisJfQorCXJldHVybiByYzsKK30KKworc3Rh
dGljIF9fdTggdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZk
ZXYpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7CisKKwlVS19BU1NF
UlQodmRldik7CisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJcmV0dXJuIHZpcnRp
b19jcmVhZDgoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpIHZwZGV2LT5wY2lfYmFzZV9hZGRyLAor
CQkJICAgICBWSVJUSU9fUENJX1NUQVRVUyk7Cit9CisKK3N0YXRpYyB2b2lkIHZwY2lfbGVnYWN5
X3BjaV9zdGF0dXNfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0YXR1cykKK3sK
KwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVMTDsKKwlfX3U4IGN1cnJfc3RhdHVz
ID0gMDsKKworCS8qIFJlc2V0IHNob3VsZCBiZSBwZXJmb3JtZWQgdXNpbmcgdGhlIHJlc2V0IGlu
dGVyZmFjZSAqLworCVVLX0FTU0VSVCh2ZGV2IHx8IHN0YXR1cyAhPSBWSVJUSU9fQ09ORklHX1NU
QVRVU19SRVNFVCk7CisKKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKKwljdXJyX3N0
YXR1cyA9IHZwY2lfbGVnYWN5X3BjaV9zdGF0dXNfZ2V0KHZkZXYpOworCXN0YXR1cyB8PSBjdXJy
X3N0YXR1czsKKwl2aXJ0aW9fY3dyaXRlOCgodm9pZCAqKSh1bnNpZ25lZCBsb25nKSB2cGRldi0+
cGNpX2Jhc2VfYWRkciwKKwkJICAgICAgIFZJUlRJT19QQ0lfU1RBVFVTLCBzdGF0dXMpOworfQor
CitzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2KQoreworCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCV9fdTgg
c3RhdHVzOworCisJVUtfQVNTRVJUKHZkZXYpOworCisJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYo
dmRldik7CisJLyoqCisJICogUmVzZXR0aW5nIHRoZSBkZXZpY2UuCisJICovCisJdmlydGlvX2N3
cml0ZTgoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCisJCSAg
ICAgICBWSVJUSU9fUENJX1NUQVRVUywgVklSVElPX0NPTkZJR19TVEFUVVNfUkVTRVQpOworCS8q
KgorCSAqIFdhaXRpbmcgZm9yIHRoZSByZXNldHRpbmcgdGhlIGRldmljZS4gRmluZCBhIGJldHRl
ciB3YXkKKwkgKiBvZiBkb2luZyB0aGlzIGluc3RlYWQgb2YgcmVwZWF0aW5nIHJlZ2lzdGVyIHJl
YWQuCisJICoKKwkgKiBOT1RFISBTcGVjICg0LjEuNC4zLjIpCisJICogTmVlZCB0byBjaGVjayBp
ZiB3ZSBoYXZlIHRvIHdhaXQgZm9yIHRoZSByZXNldCB0byBoYXBwZW4uCisJICovCisJZG8gewor
CQlzdGF0dXMgPSB2aXJ0aW9fY3JlYWQ4KAorCQkJCSh2b2lkICopKHVuc2lnbmVkIGxvbmcpdnBk
ZXYtPnBjaV9iYXNlX2FkZHIsCisJCQkJVklSVElPX1BDSV9TVEFUVVMpOworCX0gd2hpbGUgKHN0
YXR1cyAhPSBWSVJUSU9fQ09ORklHX1NUQVRVU19SRVNFVCk7Cit9CisKK3N0YXRpYyBfX3U2NCB2
cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQorewor
CXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCV9fdTY0ICBmZWF0dXJlczsK
KworCVVLX0FTU0VSVCh2ZGV2KTsKKworCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwor
CWZlYXR1cmVzID0gdmlydGlvX2NyZWFkMzIoKHZvaWQgKikgKHVuc2lnbmVkIGxvbmcpdnBkZXYt
PnBjaV9iYXNlX2FkZHIsCisJCQkJICBWSVJUSU9fUENJX0hPU1RfRkVBVFVSRVMpOworCXJldHVy
biBmZWF0dXJlczsKK30KKworc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX3Nl
dChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQkJIF9fdTY0IGZlYXR1cmVzKQoreworCXN0
cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCisJVUtfQVNTRVJUKHZkZXYpOwor
CXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOworCXZpcnRpb19jd3JpdGUzMigodm9pZCAq
KSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKKwkJCVZJUlRJT19QQ0lfR1VF
U1RfRkVBVFVSRVMsIChfX3UzMilmZWF0dXJlcyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB2
aXJ0aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKKwkJCQkJX191MTYg
cGNpX2Rldl9pZCwKKwkJCQkJX191MTYgcGNpX2Rldl9pZF9zdGFydCkKK3sKKwl2ZGV2LT5pZC52
aXJ0aW9fZGV2aWNlX2lkID0gKHBjaV9kZXZfaWQgLSBwY2lfZGV2X2lkX3N0YXJ0KTsKK30KKwor
c3RhdGljIGludCB2aXJ0aW9fcGNpX2xlZ2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpw
Y2lfZGV2LAorCQkJCSAgICAgc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGNpX2RldikKK3sKKwkv
KiBDaGVjayB0aGUgdmFsaWQgcmFuZ2Ugb2YgdGhlIHZpcnRpbyBsZWdhY3kgZGV2aWNlICovCisJ
aWYgKHBjaV9kZXYtPmlkLmRldmljZV9pZCA8IDB4MTAwMCB8fCBwY2lfZGV2LT5pZC5kZXZpY2Vf
aWQgPiAweDEwM2YpIHsKKwkJdWtfcHJfZXJyKCJJbnZhbGlkIFZpcnRpbyBEZXZpY2VzICUwNHhc
biIsCisJCQkgIHBjaV9kZXYtPmlkLmRldmljZV9pZCk7CisJCXJldHVybiAtRUlOVkFMOworCX0K
KworCXZwY2lfZGV2LT5wY2lfaXNyX2FkZHIgPSB2cGNpX2Rldi0+cGNpX2Jhc2VfYWRkciArIFZJ
UlRJT19QQ0lfSVNSOworCisJLyogU2V0dGluZyB0aGUgY29uZmlndXJhdGlvbiBvcGVyYXRpb24g
Ki8KKwl2cGNpX2Rldi0+dmRldi5jb3BzID0gJnZwY2lfbGVnYWN5X29wczsKKworCXVrX3ByX2lu
Zm8oIkFkZGVkIHZpcnRpby1wY2kgZGV2aWNlICUwNHhcbiIsCisJCSAgIHBjaV9kZXYtPmlkLmRl
dmljZV9pZCk7CisKKwkvKiBNYXBwaW5nIHRoZSB2aXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8K
Kwl2aXJ0aW9fZGV2aWNlX2lkX2FkZCgmdnBjaV9kZXYtPnZkZXYsIHBjaV9kZXYtPmlkLmRldmlj
ZV9pZCwKKwkJCVZJUlRJT19QQ0lfTEVHQUNZX0RFVklDRUlEX1NUQVJUKTsKKwlyZXR1cm4gMDsK
K30KKworCitzdGF0aWMgaW50IHZpcnRpb19wY2lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAq
cGNpX2RldikKK3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2ID0gTlVMTDsKKwlp
bnQgcmMgPSAwOworCisJVUtfQVNTRVJUKHBjaV9kZXYgIT0gTlVMTCk7CisKKwl2cGNpX2RldiA9
IHVrX21hbGxvYyhhLCBzaXplb2YoKnZwY2lfZGV2KSk7CisJaWYgKCF2cGNpX2RldikgeworCQl1
a19wcl9lcnIoIkZhaWxlZCB0byBhbGxvY2F0ZSB2aXJ0aW8tcGNpIGRldmljZVxuIik7CisJCXJl
dHVybiAtRU5PTUVNOworCX0KKworCS8qIEZldGNoIFBDSSBEZXZpY2UgaW5mb3JtYXRpb24gKi8K
Kwl2cGNpX2Rldi0+cGRldiA9IHBjaV9kZXY7CisJdnBjaV9kZXYtPnBjaV9iYXNlX2FkZHIgPSBw
Y2lfZGV2LT5iYXNlOworCisJLyoqCisJICogUHJvYmluZyBmb3IgdGhlIGxlZ2FjeSB2aXJ0aW8g
ZGV2aWNlLiBXZSBzZXBhcmF0ZSB0aGUgbGVnYWN5IHByb2JpbmcKKwkgKiB3aXRoIHRoZSBwb3Nz
aWJpbGl0eSBvZiBzdXBwb3J0aW5nIHRoZSBtb2Rlcm4gUENJIGRldmljZSBpbiB0aGUKKwkgKiBm
dXR1cmUuCisJICovCisJcmMgPSB2aXJ0aW9fcGNpX2xlZ2FjeV9hZGRfZGV2KHBjaV9kZXYsIHZw
Y2lfZGV2KTsKKwlpZiAocmMgIT0gMCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBwcm9iZSAo
bGVnYWN5KSBwY2kgZGV2aWNlOiAlZFxuIiwgcmMpOworCQlnb3RvIGZyZWVfcGNpX2RldjsKKwl9
CisKKwlyYyA9IHZpcnRpb19idXNfcmVnaXN0ZXJfZGV2aWNlKCZ2cGNpX2Rldi0+dmRldik7CisJ
aWYgKHJjICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcmVnaXN0ZXIgdGhlIHZpcnRp
byBkZXZpY2U6ICVkXG4iLCByYyk7CisJCWdvdG8gZnJlZV9wY2lfZGV2OworCX0KKworZXhpdDoK
KwlyZXR1cm4gcmM7CitmcmVlX3BjaV9kZXY6CisJdWtfZnJlZShhLCB2cGNpX2Rldik7CisJZ290
byBleGl0OworfQorCitzdGF0aWMgaW50IHZpcnRpb19wY2lfZHJ2X2luaXQoc3RydWN0IHVrX2Fs
bG9jICpkcnZfYWxsb2NhdG9yKQoreworCS8qIGRyaXZlciBpbml0aWFsaXphdGlvbiAqLworCWlm
ICghZHJ2X2FsbG9jYXRvcikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhID0gZHJ2X2FsbG9jYXRv
cjsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIHZp
cnRpb19wY2lfaWRzW10gPSB7CisJe1BDSV9ERVZJQ0VfSUQoVkVORE9SX1FVTVJBTkVUX1ZJUlRJ
TywgUENJX0FOWV9JRCl9LAorCS8qIEVuZCBvZiBEcml2ZXIgTGlzdCAqLworCXtQQ0lfQU5ZX0RF
VklDRV9JRH0sCit9OworCitzdGF0aWMgc3RydWN0IHBjaV9kcml2ZXIgdmlydGlvX3BjaV9kcnYg
PSB7CisJLmRldmljZV9pZHMgPSB2aXJ0aW9fcGNpX2lkcywKKwkuaW5pdCA9IHZpcnRpb19wY2lf
ZHJ2X2luaXQsCisJLmFkZF9kZXYgPSB2aXJ0aW9fcGNpX2FkZF9kZXYKK307CitQQ0lfUkVHSVNU
RVJfRFJJVkVSKCZ2aXJ0aW9fcGNpX2Rydik7CmRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25maWcu
dWsgYi9wbGF0L2t2bS9Db25maWcudWsKaW5kZXggMTU2YzQxZS4uYWZjZWRjMCAxMDA2NDQKLS0t
IGEvcGxhdC9rdm0vQ29uZmlnLnVrCisrKyBiL3BsYXQva3ZtL0NvbmZpZy51awpAQCAtNjEsNCAr
NjEsMTQgQEAgY29uZmlnIFZJUlRJT19CVVMKICAgICAgICAgICAgICAgIFZpcnRpbyBidXMgZHJp
dmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgdmlydGlvIGRldmljZSBhbmQKICAgICAgICAg
ICAgICAgIHRyYW5zcG9ydCBsYXllci4KIAorbWVudSAiVmlydGlvIgorY29uZmlnIFZJUlRJT19Q
Q0kKKyAgICAgICBib29sICJWaXJ0aW8gUENJIGRldmljZSBzdXBwb3J0IgorICAgICAgIGRlZmF1
bHQgbgorICAgICAgIGRlcGVuZHMgb24gS1ZNX1BDSQorICAgICAgIHNlbGVjdCBWSVJUSU9fQlVT
CisgICAgICAgaGVscAorICAgICAgICAgICAgICAgU3VwcG9ydCB2aXJ0aW8gZGV2aWNlcyBvbiBQ
Q0kgYnVzCisKK2VuZG1lbnUKIGVuZGlmCmRpZmYgLS1naXQgYS9wbGF0L2t2bS9NYWtlZmlsZS51
ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IDgwYTBjMDUuLjk4NmJmNGEgMTAwNjQ0Ci0t
LSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCkBAIC05
MSw0ICs5MSw2IEBAIExJQktWTVZJUlRJT19DSU5DTFVERVMteSAgICArPSAtSSQoVUtfUExBVF9D
T01NT05fQkFTRSkvaW5jbHVkZQogTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChV
S19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQogTElCS1ZNVklSVElPX0NJTkNMVURFUy15ICAg
ICs9IC1JJChVS19QTEFUX0RSSVZFUlNfQkFTRSkvaW5jbHVkZQogTElCS1ZNVklSVElPX1NSQ1Mt
JChDT05GSUdfVklSVElPX0JVUykgKz1cCi0JCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRp
by92aXJ0aW9fYnVzLmMKKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmly
dGlvX2J1cy5jCitMSUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19WSVJUSU9fUENJKSArPVwKKwkJ
CQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3BjaS5jCi0tIAoyLjcu
NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlv
cy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0
dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:43:04 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJRA-0001ee-CF; Wed, 24 Oct 2018 13:43:04 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJR8-0001eE-Tz
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:43:02 +0000
X-Inumbo-ID: eef36fdb-d792-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id eef36fdb-d792-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 13:44:31 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 25873F2014;
 Wed, 24 Oct 2018 15:43:00 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id E4uwgBAdiqdb; Wed, 24 Oct 2018 15:43:00 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id ED885F200F
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:42:57 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:42:57 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:31 +0200
Message-ID: <1540388553-15668-6-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 5/7] plat/drivers: Reintroduce
 the virtio ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBBUEkgdG8gY3JlYXRlIGRlc3Ryb3kgdGhlIHZpcnRp
byByaW5nLiBUaGUKY29uZmlndXJhdGlvbiBBUEkgZm9yIGZpbmQgdGhlIG51bWJlciBvZiBxdWV1
ZXMgYW5kIHNldHRpbmcgdXAKaW5kaXZpZHVhbCBxdWV1ZXMgZm9yIGEgZGV2aWNlLgoKU2lnbmVk
LW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Ci0t
LQogcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaCB8ICA3MiArKysrKysr
KysrKysKIHBsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCAgfCAxNDUgKysr
KysrKysrKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jICAg
ICAgICAgfCAgIDIgKwogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgICAgICB8
ICA4MyArKysrKysrKysrKystCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgICAg
ICAgIHwgMTk2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQva3ZtL0NvbmZp
Zy51ayAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogcGxhdC9rdm0vTWFrZWZpbGUudWsg
ICAgICAgICAgICAgICAgICAgICB8ICAgMiArCiA3IGZpbGVzIGNoYW5nZWQsIDQ5OCBpbnNlcnRp
b25zKCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy9p
bmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX3JpbmcuYwoKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRl
L3ZpcnRpby92aXJ0aW9fYnVzLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlv
X2J1cy5oCmluZGV4IDhkZmZlNTYuLmY4NDY4NDAgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy9p
bmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmgKKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRpb19idXMuaApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgPHVrL2FyY2gvbGNw
dS5oPgogI2luY2x1ZGUgPHVrL2FsbG9jLmg+CiAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25m
aWcuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydHF1ZXVlLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1
cwogZXh0ZXJuICJDIiB7CkBAIC05NCw2ICs5NSwxMyBAQCBzdHJ1Y3QgdmlydGlvX2NvbmZpZ19v
cHMgewogCS8qKiBHZXQgYW5kIFNldCBTdGF0dXMgKi8KIAlfX3U4ICgqc3RhdHVzX2dldCkoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYpOwogCXZvaWQgKCpzdGF0dXNfc2V0KShzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwgX191OCBzdGF0dXMpOworCS8qKiBGaW5kIHRoZSB2aXJ0cXVldWUgKi8KKwlp
bnQgKCp2cXNfZmluZCkoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cSwgX191
MTYgKnZxX3NpemUpOworCS8qKiBTZXR1cCB0aGUgdmlydHF1ZXVlICovCisJc3RydWN0IHZpcnRx
dWV1ZSAqKCp2cV9zZXR1cCkoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV9kZXNj
LAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkLAorCQkJCSAgICAgIHZpcnRxdWV1ZV9jYWxsYmFj
a190IGNhbGxiYWNrLAorCQkJCSAgICAgIHN0cnVjdCB1a19hbGxvYyAqYSk7CiB9OwogCiAvKioK
QEAgLTExNiw2ICsxMjQsOCBAQCBzdHJ1Y3QgdmlydGlvX2RyaXZlciB7CiBzdHJ1Y3QgdmlydGlv
X2RldiB7CiAJLyogRmVhdHVyZSBiaXQgZGVzY3JpYmluZyB0aGUgdmlydGlvIGRldmljZSAqLwog
CV9fdTY0IGZlYXR1cmVzOworCS8qIExpc3Qgb2YgdGhlIHZpcnRxdWV1ZSBmb3IgdGhlIGRldmlj
ZSAqLworCVVLX1RBSUxRX0hFQUQodmlydHF1ZXVlX2hlYWQsIHN0cnVjdCB2aXJ0cXVldWUpIHZx
czsKIAkvKiBQcml2YXRlIGRhdGEgb2YgdGhlIGRyaXZlciAqLwogCXZvaWQgKnByaXY7CiAJLyog
VmlydGlvIGRldmljZSBpZGVudGlmaWVyICovCkBAIC0yMjAsNiArMjMwLDY4IEBAIHN0YXRpYyBp
bmxpbmUgaW50IHZpcnRpb19jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3Ux
NiBvZmZzZXQsCiAJcmV0dXJuIHJjOwogfQogCisvKioKKyAqIFRoZSBoZWxwZXIgZnVuY3Rpb24g
dG8gZmluZCB0aGUgbnVtYmVyIG9mIHRoZSB2cXMgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UuCisg
KiBAcGFyYW0gdmRldgorICoJQSByZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCisgKiBA
cGFyYW0gdG90YWxfdnFzCisgKglUaGUgdG90YWwgbnVtYmVyIG9mIHZpcnRxdWV1ZXMgcmVxdWVz
dGVkLgorICogQHBhcmFtIHZxX3NpemUKKyAqCUFuIGFycmF5IG9mIG1heCBkZXNjcmlwdG9ycyBv
biBlYWNoIHZpcnRxdWV1ZSBmb3VuZCBvbiB0aGUKKyAqCXZpcnRpbyBkZXZpY2UKKyAqIEByZXR1
cm4gaW50CisgKglPbiBzdWNjZXNzLCB0aGUgZnVuY3Rpb24gcmV0dXJuIHRoZSBudW1iZXIgb2Yg
YXZhaWxhYmxlIHZpcnRxdWV1ZXMKKyAqCU9uIGVycm9yLAorICoJCS1FTk9UU1VQIGlmIHRoZSBm
dW5jdGlvbiBpcyBub3Qgc3VwcG9ydGVkLgorICovCitzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9f
ZmluZF92cXMoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IHRvdGFsX3ZxcywKKwkJCQkg
IF9fdTE2ICp2cV9zaXplKQoreworCWludCByYyA9IC1FTk9UU1VQOworCisJVUtfQVNTRVJUKHZk
ZXYpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52cXNfZmluZCkpCisJCXJjID0gdmRldi0+
Y29wcy0+dnFzX2ZpbmQodmRldiwgdG90YWxfdnFzLCB2cV9zaXplKTsKKworCXJldHVybiByYzsK
K30KKworLyoqCisgKiBBIGhlbHBlciBmdW5jdGlvbiB0byBzZXR1cCBhbiBpbmRpdmlkdWFsIHZp
cnRxdWV1ZS4KKyAqIEBwYXJhbSB2ZGV2CisgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZp
Y2UuCisgKiBAcGFyYW0gdnFfaWQKKyAqCVRoZSB2aXJ0cXVldWUgcXVldWUgaWQuCisgKiBAcGFy
YW0gbnJfZGVzYworICoJVGhlIGNvdW50IG9mIHRoZSBkZXNjcmlwdG9yIHRvIGJlIGNvbmZpZ3Vy
ZWQuCisgKiBAcGFyYW0gY2FsbGJhY2sKKyAqCUEgcmVmZXJlbmNlIHRvIGNhbGxiYWNrIGZ1bmN0
aW9uIHRvIGludm9rZWQgYnkgdGhlIHZpcnRpbyBkZXZpY2Ugb24gYW4KKyAqCWludGVycnVwdCBm
cm9tIHRoZSB2aXJ0cXVldWUuCisgKiBAcGFyYW0gYQorICoJQSByZWZlcmVuY2UgdG8gdGhlIGFs
bG9jYXRvci4KKyAqCisgKiBAcmV0dXJuIHN0cnVjdCB2aXJ0cXVldWUgKgorICoJT24gc3VjY2Vz
cywgYSByZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KKyAqCU9uIGVycm9yLAorICoJCS1FTk9U
U1VQIG9wZXJhdGlvbiBub3Qgc3VwcG9ydGVkIG9uIHRoZSBkZXZpY2UuCisgKgkJLUVOT01FTSAg
RmFpbGVkIGFsbG9jYXRpbmcgdGhlIHZpcnRxdWV1ZS4KKyAqLworc3RhdGljIGlubGluZSBzdHJ1
Y3QgdmlydHF1ZXVlICp2aXJ0aW9fdnF1ZXVlX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
LAorCQkJCQkgICAgX191MTYgdnFfaWQsIF9fdTE2IG5yX2Rlc2MsCisJCQkJCSAgICB2aXJ0cXVl
dWVfY2FsbGJhY2tfdCAgY2FsbGJhY2ssCisJCQkJCSAgICBzdHJ1Y3QgdWtfYWxsb2MgKmEpCit7
CisJc3RydWN0IHZpcnRxdWV1ZSAqdnEgPSBFUlIyUFRSKC1FTk9UU1VQKTsKKworCVVLX0FTU0VS
VCh2ZGV2ICYmIGEpOworCisJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52cV9zZXR1cCkpCisJCXZx
ID0gdmRldi0+Y29wcy0+dnFfc2V0dXAodmRldiwgdnFfaWQsIG5yX2Rlc2MsIGNhbGxiYWNrLCBh
KTsKKworCXJldHVybiB2cTsKK30KKwogc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2hhc19mZWF0
dXJlcyhfX3U2NCBmZWF0dXJlcywgX191OCBicG9zKQogewogCV9fdTY0IHRtcF9mZWF0dXJlID0g
MDsKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaCBi
L3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5hOGE0YmMwCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2
ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCkBAIC0wLDAgKzEsMTQ1IEBACisvKiBTUERY
LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogU2hh
cmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+CisgKgorICogQ29weXJp
Z2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBj
b3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQor
ICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqCisgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBN
T0RJRklFRCBJTiBBTlkgV0FZLgorICovCisKKyNpZm5kZWYgX19QTEFUX0RSVl9WSVJUUVVFVUVf
SF9fCisjZGVmaW5lIF9fUExBVF9EUlZfVklSVFFVRVVFX0hfXworCisjaW5jbHVkZSA8dWsvY29u
ZmlnLmg+CisjaW5jbHVkZSA8dWsvbGlzdC5oPgorI2luY2x1ZGUgPHVrL3NnbGlzdC5oPgorI2lu
Y2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX3JpbmcuaD4K
KyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2NvbmZpZy5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMK
K2V4dGVybiAiQyIgeworI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCisKKy8qKgorICogVHlwZSBk
ZWNsYXJhdGlvbnMKKyAqLworc3RydWN0IHZpcnRxdWV1ZTsKK3N0cnVjdCB2aXJ0aW9fZGV2Owor
dHlwZWRlZiBpbnQgKCp2aXJ0cXVldWVfY2FsbGJhY2tfdCkoc3RydWN0IHZpcnRxdWV1ZSAqLCB2
b2lkICpwcml2KTsKK3R5cGVkZWYgaW50ICgqdmlydHF1ZXVlX25vdGlmeV9ob3N0X3QpKHN0cnVj
dCB2aXJ0aW9fZGV2ICosIF9fdTE2IHF1ZXVlX25yKTsKKworLyoqCisgKiBTdHJ1Y3R1cmUgdG8g
ZGVzY3JpYmUgdGhlIHZpcnRxdWV1ZS4KKyAqLworc3RydWN0IHZpcnRxdWV1ZSB7CisJLyogUmVm
ZXJlbmNlIHRoZSB2aXJ0aW9fZGV2IGl0IGJlbG9uZyB0byAqLworCXN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2OworCS8qIFZpcnRxdWV1ZSBpZGVudGlmaWVyICovCisJX191MTYgcXVldWVfaWQ7CisJ
LyogTm90aWZ5IHRvIHRoZSBob3N0ICovCisJdmlydHF1ZXVlX25vdGlmeV9ob3N0X3QgdnFfbm90
aWZ5X2hvc3Q7CisJLyogQ2FsbGJhY2sgZnJvbSB0aGUgdmlydHF1ZXVlICovCisJdmlydHF1ZXVl
X2NhbGxiYWNrX3QgdnFfY2FsbGJhY2s7CisJLyogTmV4dCBlbnRyeSBvZiB0aGUgcXVldWUgKi8K
KwlVS19UQUlMUV9FTlRSWShzdHJ1Y3QgdmlydHF1ZXVlKSBuZXh0OworCS8qIFByaXZhdGUgZGF0
YSBzdHJ1Y3R1cmUgdXNlZCBieSB0aGUgZHJpdmVyIG9mIHRoZSBxdWV1ZSAqLworCXZvaWQgKnBy
aXY7Cit9OworCisvKioKKyAqIEZldGNoIHRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBkZXNj
cmlwdG9yIHJpbmcuCisgKiBAcGFyYW0gdnEKKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVl
LgorICoKKyAqIEByZXR1cm4KKyAqCVJldHVybiB0aGUgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzcyBv
ZiB0aGUgdnJpbmcuCisgKi8KK19fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSk7CisKKy8qKgorICogTmVnb3RpYXRlIHdpdGggdGhlIHZpcnRxdWV1ZSBm
ZWF0dXJlcy4KKyAqIEBwYXJhbSBmZWF0dXJlX3NldAorICoJVGhlIGZlYXR1cmUgc2V0IHRoZSBk
ZXZpY2UgcmVxdWVzdC4KKyAqCisgKiBAcmV0dXJuIF9fdTY0CisgKglUaGUgbmVnb3RpYXRlZCBm
ZWF0dXJlIHNldC4KKyAqLworX191NjQgdmlydHF1ZXVlX2ZlYXR1cmVfbmVnb3RpYXRlKF9fdTY0
IGZlYXR1cmVfc2V0KTsKKworLyoqCisgKiBBbGxvY2F0ZSBhIHZpcnRxdWV1ZS4KKyAqIEBwYXJh
bSBxdWV1ZV9pZAorICoJVGhlIHZpcnRxdWV1ZSBodyBpZC4KKyAqIEBwYXJhbSBucl9kZXNjcwor
ICoJVGhlIG51bWJlciBvZiBkZXNjcmlwdG9yIGZvciB0aGUgcXVldWUuCisgKiBAcGFyYW0gYWxp
Z24KKyAqCVRoZSBtZW1vcnkgYWxpZ25tZW50IGZvciB0aGUgcmluZyBtZW1vcnkuCisgKiBAcGFy
YW0gY2FsbGJhY2sKKyAqCUEgcmVmZXJlbmNlIHRvIGNhbGxiYWNrIHRvIHRoZSB2aXJ0aW8tZGV2
LgorICogQHBhcmFtIG5vdGlmeQorICoJQSByZWZlcmVuY2UgdG8gbm90aWZpY2F0aW9uIGZ1bmN0
aW9uIHRvIHRoZSBob3N0LgorICogQHBhcmFtIHZkZXY6CisgKglBIHJlZmVyZW5jZSB0byB0aGUg
dmlydGlvIGRldmljZS4KKyAqIEBwYXJhbSAgYToKKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSBhbGxv
Y2F0b3IuCisgKgorICogQHJldHVybiBzdHJ1Y3QgdmlydHF1ZXVlICoKKyAqCU9uIHN1Y2Nlc3Ms
IHJldHVybiBhIHJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgorICoJT24gZmFpbHVyZSwKKyAq
CQkgICAtRU5PTUVNOiBGYWlsZWQgdG8gYWxsb2NhdGUgdGhlIHF1ZXVlLgorICovCitzdHJ1Y3Qg
dmlydHF1ZXVlICp2aXJ0cXVldWVfY3JlYXRlKF9fdTE2IHF1ZXVlX2lkLCBfX3UxNiBucl9kZXNj
cywgX191MTYgYWxpZ24sCisJCQkJICAgdmlydHF1ZXVlX2NhbGxiYWNrX3QgY2FsbGJhY2ssCisJ
CQkJICAgdmlydHF1ZXVlX25vdGlmeV9ob3N0X3Qgbm90aWZ5LAorCQkJCSAgIHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LCBzdHJ1Y3QgdWtfYWxsb2MgKmEpOworCisvKioKKyAqIENoZWNrIHRoZSB2
aXJ0cXVldWUgaWYgZnVsbC4KKyAqIEBwYXJhbSB2cQorICoJQSByZWZlcmVuY2UgdG8gdGhlIHZp
cnRxdWV1ZS4KKyAqIEByZXR1cm4gaW50CisgKgkxIG9uIGZ1bGwsCisgKgkwIG90aGVyd2lzZQor
ICovCitpbnQgdmlydHF1ZXVlX2lzX2Z1bGwoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOworCisvKgor
ICogRGVzdHJveSBhIHZpcnR1YWwgcXVldWUKKyAqIEBwYXJhbSB2cQorICoJQSByZWZlcmVuY2Ug
dG8gdGhlIHZpcnR1YWwgcXVldWUKKyAqIEBwYXJhbSBhCisgKglSZWZlcmVuY2UgdG8gdGhlIG1l
bW9yeSBhbGxvY2F0b3IKKyAqLwordm9pZCB2aXJ0cXVldWVfZGVzdHJveShzdHJ1Y3QgdmlydHF1
ZXVlICp2cSwgc3RydWN0IHVrX2FsbG9jICphKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9Cisj
ZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KKworI2VuZGlmIC8qIF9fUExBVF9EUlZfVklSVFFVRVVF
X0hfXyAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwppbmRleCBiNDBhMjcwLi40OGEyNDY3IDEw
MDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYworKysgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwpAQCAtMTUxLDYgKzE1MSw4IEBAIGludCB2aXJ0aW9f
YnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKIAkJcmV0dXJuIHJj
OwogCX0KIAorCS8qIEluaXRpYWxpemUgdGhlIHZpcnRxdWV1ZSBsaXN0ICovCisJVUtfVEFJTFFf
SU5JVCgmdmRldi0+dnFzKTsKIAogCS8qIENhbGxpbmcgdGhlIGRyaXZlciBhZGQgZGV2aWNlICov
CiAJcmMgPSBkcnYtPmFkZF9kZXYodmRldik7CmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmly
dGlvL3ZpcnRpb19wY2kuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCmluZGV4
IDFjMWQxMWMuLjRlMjllNjIgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X3BjaS5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSA8cGNpL3BjaV9idXMuaD4KICNpbmNsdWRlIDx2aXJ0aW8vdmlydGlv
X2NvbmZpZy5oPgogI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fYnVzLmg+CisjaW5jbHVkZSA8dmly
dGlvL3ZpcnRxdWV1ZS5oPgogI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fcGNpLmg+CiAKICNkZWZp
bmUgVkVORE9SX1FVTVJBTkVUX1ZJUlRJTyAgICAgICAgICAgKDB4MUFGNCkKQEAgLTY1LDEyICs2
NiwxMyBAQCBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgewogfTsKIAogLyoqCi0gKiBGZXRjaCB0aGUg
dmlydGlvIHBjaSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB2aXJ0aW9kZXYuCisgKiBGZXRjaCB0aGUg
dmlydGlvIHBjaSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB2aXJ0aW8gZGV2aWNlLgorICogQHBhcmFt
IHZkZXYKKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvIGRldmljZS4KICAqLwogI2RlZmluZSB0
b192aXJ0aW9wY2lkZXYodmRldikgXAogCQlfX2NvbnRhaW5lcm9mKHZkZXYsIHN0cnVjdCB2aXJ0
aW9fcGNpX2RldiwgdmRldikKIAotCiAvKioKICAqIFN0YXRpYyBmdW5jdGlvbiBkZWNsYXJhdGlv
bi4KICAqLwpAQCAtODIsOCArODQsMTUgQEAgc3RhdGljIGludCB2cGNpX2xlZ2FjeV9wY2lfY29u
ZmlnX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAogc3RhdGljIF9f
dTY0IHZwY2lfbGVnYWN5X3BjaV9mZWF0dXJlc19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYp
Owogc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX3NldChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwKIAkJCQkJIF9fdTY0IGZlYXR1cmVzKTsKK3N0YXRpYyBpbnQgdnBjaV9sZWdh
Y3lfcGNpX3ZxX2ZpbmQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cSwKKwkJ
CQkgICBfX3UxNiAqcWRlc2Nfc2l6ZSk7CiBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3Rh
dHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpOwogc3RhdGljIF9f
dTggdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwor
c3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZwY2lfbGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LAorCQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCwKKwkJCQkJICAgICAgX191
MTYgbnVtX2Rlc2MsCisJCQkJCSAgICAgIHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrLAor
CQkJCQkgICAgICBzdHJ1Y3QgdWtfYWxsb2MgKmEpOwogc3RhdGljIGlubGluZSB2b2lkIHZpcnRp
b19kZXZpY2VfaWRfYWRkKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAogCQkJCQlfX3UxNiBwY2lf
ZGV2X2lkLAogCQkJCQlfX3UxNiB2cGNpX2Rldl9pZF9zdGFydCk7CkBAIC0xMDEsOCArMTEwLDcz
IEBAIHN0YXRpYyBzdHJ1Y3QgdmlydGlvX2NvbmZpZ19vcHMgdnBjaV9sZWdhY3lfb3BzID0gewog
CS5mZWF0dXJlc19zZXQgPSB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0LAogCS5zdGF0dXNf
Z2V0ICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldCwKIAkuc3RhdHVzX3NldCAgID0gdnBj
aV9sZWdhY3lfcGNpX3N0YXR1c19zZXQsCisJLnZxc19maW5kICAgICA9IHZwY2lfbGVnYWN5X3Bj
aV92cV9maW5kLAorCS52cV9zZXR1cCAgICAgPSB2cGNpX2xlZ2FjeV92cV9zZXR1cCwKIH07CiAK
K3N0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92cV9zZXR1cChzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldiwKKwkJCQkJICAgICAgX191MTYgcXVldWVfaWQsCisJCQkJCSAgICAgIF9f
dTE2IG51bV9kZXNjLAorCQkJCQkgICAgICB2aXJ0cXVldWVfY2FsbGJhY2tfdCBjYWxsYmFjaywK
KwkJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKQoreworCXN0cnVjdCB2aXJ0aW9fcGNpX2Rl
diAqdnBkZXYgPSBOVUxMOworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCV9fcGh5c19hZGRyIGFk
ZHI7CisJbG9uZyBmbGFnczsKKworCVVLX0FTU0VSVCh2ZGV2ICE9IE5VTEwpOworCisJdnBkZXYg
PSB0b192aXJ0aW9wY2lkZXYodmRldik7CisJdnEgPSB2aXJ0cXVldWVfY3JlYXRlKHF1ZXVlX2lk
LCBudW1fZGVzYywgVklSVElPX1BDSV9WUklOR19BTElHTiwKKwkJCSAgICAgIGNhbGxiYWNrLCBO
VUxMLCB2ZGV2LCBhKTsKKwlpZiAoUFRSSVNFUlIodnEpKSB7CisJCXVrX3ByX2VycigiRmFpbGVk
IHRvIGNyZWF0ZSB0aGUgdmlydHF1ZXVlOiAlZFxuIiwKKwkJCSAgUFRSMkVSUih2cSkpOworCQln
b3RvIGVycl9leGl0OworCX0KKworCS8qIFBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIHF1ZXVlICov
CisJYWRkciA9IHZpcnRxdWV1ZV9waHlzYWRkcih2cSk7CisJLyogU2VsZWN0IHRoZSBxdWV1ZSBv
ZiBpbnRlcmVzdCAqLworCXZpcnRpb19jd3JpdGUxNigodm9pZCAqKSh1bnNpZ25lZCBsb25nKXZw
ZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJVklSVElPX1BDSV9RVUVVRV9TRUwsIHF1ZXVlX2lkKTsK
Kwl2aXJ0aW9fY3dyaXRlMzIoKHZvaWQgKikodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2Vf
YWRkciwKKwkJCVZJUlRJT19QQ0lfUVVFVUVfUEZOLAorCQkJYWRkciA+PiBWSVJUSU9fUENJX1FV
RVVFX0FERFJfU0hJRlQpOworCisJZmxhZ3MgPSB1a3BsYXRfbGNwdV9zYXZlX2lycWYoKTsKKwlV
S19UQUlMUV9JTlNFUlRfVEFJTCgmdnBkZXYtPnZkZXYudnFzLCB2cSwgbmV4dCk7CisJdWtwbGF0
X2xjcHVfcmVzdG9yZV9pcnFmKGZsYWdzKTsKKworZXJyX2V4aXQ6CisJcmV0dXJuIHZxOworfQor
CitzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV92cV9maW5kKHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2LCBfX3UxNiBudW1fdnFzLAorCQkJCSAgIF9fdTE2ICpxZGVzY19zaXplKQoreworCXN0cnVj
dCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOworCWludCB2cV9jbnQgPSAwLCBpID0gMDsK
KworCVVLX0FTU0VSVCh2ZGV2KTsKKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKKwor
CWZvciAoaSA9IDA7IGkgPCBudW1fdnFzOyBpKyspIHsKKwkJdmlydGlvX2N3cml0ZTE2KCh2b2lk
ICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJCVZJUlRJT19QQ0lf
UVVFVUVfU0VMLCBpKTsKKwkJcWRlc2Nfc2l6ZVtpXSA9IHZpcnRpb19jcmVhZDE2KAorCQkJCSh2
b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAorCQkJCVZJUlRJT19Q
Q0lfUVVFVUVfU0laRSk7CisJCWlmICh1bmxpa2VseSghcWRlc2Nfc2l6ZVtpXSkpIHsKKwkJCXVr
X3ByX2VycigiVmlydHF1ZXVlICVkIG5vdCBhdmFpbGFibGVcbiIsIGkpOworCQkJY29udGludWU7
CisJCX0KKwkJdnFfY250Kys7CisJfQorCXJldHVybiB2cV9jbnQ7Cit9CisKIHN0YXRpYyBpbnQg
dnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2
IG9mZnNldCwKIAkJCQkgICAgICBjb25zdCB2b2lkICpidWYsIF9fdTMyIGxlbikKIHsKQEAgLTIx
Miw2ICsyODYsOCBAQCBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0KHN0
cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAogCiAJVUtfQVNTRVJUKHZkZXYpOwogCXZwZGV2ID0gdG9f
dmlydGlvcGNpZGV2KHZkZXYpOworCS8qIE1hc2sgb3V0IGZlYXR1cmVzIG5vdCBzdXBwb3J0ZWQg
YnkgdGhlIHZpcnRxdWV1ZSBkcml2ZXIgKi8KKwlmZWF0dXJlcyA9IHZpcnRxdWV1ZV9mZWF0dXJl
X25lZ290aWF0ZShmZWF0dXJlcyk7CiAJdmlydGlvX2N3cml0ZTMyKCh2b2lkICopICh1bnNpZ25l
ZCBsb25nKXZwZGV2LT5wY2lfYmFzZV9hZGRyLAogCQkJVklSVElPX1BDSV9HVUVTVF9GRUFUVVJF
UywgKF9fdTMyKWZlYXR1cmVzKTsKIH0KQEAgLTI0Myw3ICszMTksNyBAQCBzdGF0aWMgaW50IHZp
cnRpb19wY2lfbGVnYWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCiAKIAkv
KiBNYXBwaW5nIHRoZSB2aXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KIAl2aXJ0aW9fZGV2aWNl
X2lkX2FkZCgmdnBjaV9kZXYtPnZkZXYsIHBjaV9kZXYtPmlkLmRldmljZV9pZCwKLQkJCVZJUlRJ
T19QQ0lfTEVHQUNZX0RFVklDRUlEX1NUQVJUKTsKKwkJCSAgICAgVklSVElPX1BDSV9MRUdBQ1lf
REVWSUNFSURfU1RBUlQpOwogCXJldHVybiAwOwogfQogCkBAIC0yODQsNiArMzYwLDcgQEAgc3Rh
dGljIGludCB2aXJ0aW9fcGNpX2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYpCiAK
IGV4aXQ6CiAJcmV0dXJuIHJjOworCiBmcmVlX3BjaV9kZXY6CiAJdWtfZnJlZShhLCB2cGNpX2Rl
dik7CiAJZ290byBleGl0OwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
cmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhOTE1OTQKLS0tIC9kZXYvbnVsbAorKysgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKQEAgLTAsMCArMSwxOTYgQEAKKy8qIFNQRFgtTGlj
ZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBTaGFyYW4g
U2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KKyAqCisgKiBDb3B5cmlnaHQg
KGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHly
aWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiAg
ICB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgorICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKKyAqIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICoKKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElG
SUVEIElOIEFOWSBXQVkuCisgKi8KKy8qKgorICogSW5zcGlyZWQgZnJvbSB0aGUgRnJlZUJTRC4K
KyAqIENvbW1pdC1pZDogYTg5ZTdhMTBkNTAxCisgKi8KKyNpbmNsdWRlIDx1ay9jb25maWcuaD4K
KyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgorI2luY2x1ZGUgPHVr
L2VycnB0ci5oPgorI2luY2x1ZGUgPGNwdS5oPgorI2luY2x1ZGUgPHVrL3NnbGlzdC5oPgorI2lu
Y2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+CisjaW5jbHVkZSA8dWsvcGxhdC9pby5oPgorI2luY2x1
ZGUgPHZpcnRpby92aXJ0aW9fcmluZy5oPgorI2luY2x1ZGUgPHZpcnRpby92aXJ0cXVldWUuaD4K
KworI2RlZmluZSBWSVJUUVVFVUVfTUFYX1NJWkUgIDMyNzY4CisjZGVmaW5lIHRvX3ZpcnRxdWV1
ZV92cmluZyh2cSkJCQlcCisJX19jb250YWluZXJvZih2cSwgc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZywgdnEpCisKK3N0cnVjdCB2aXJ0cXVldWVfZGVzY19pbmZvIHsKKwl2b2lkICpjb29raWU7CisJ
X191MTYgZGVzY19jb3VudDsKK307CisKK3N0cnVjdCB2aXJ0cXVldWVfdnJpbmcgeworCXN0cnVj
dCB2aXJ0cXVldWUgdnE7CisJLyogRGVzY3JpcHRvciBSaW5nICovCisJc3RydWN0IHZyaW5nIHZy
aW5nOworCS8qIFJlZmVyZW5jZSB0byB0aGUgdnJpbmcgKi8KKwl2b2lkICAgKnZyaW5nX21lbTsK
KwkvKiBLZWVwIHRyYWNrIG9mIGF2YWlsYWJsZSBkZXNjcmlwdG9ycyAqLworCV9fdTE2IGRlc2Nf
YXZhaWw7CisJLyogSW5kZXggb2YgdGhlIG5leHQgYXZhaWxhYmxlIHNsb3QgKi8KKwlfX3UxNiBo
ZWFkX2ZyZWVfZGVzYzsKKwkvKiBJbmRleCBvZiB0aGUgbGFzdCB1c2VkIGRlc2NyaXB0b3IgYnkg
dGhlIGhvc3QgKi8KKwlfX3UxNiBsYXN0X3VzZWRfZGVzY19pZHg7CisJLyogQ29va2llIHRvIGlk
ZW50aWZ5IGRyaXZlciBidWZmZXIgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlX2Rlc2NfaW5mbyB2cV9p
bmZvW107Cit9OworCisvKioKKyAqIFN0YXRpYyBmdW5jdGlvbiBEZWNsYXJhdGlvbihzKS4KKyAq
Lworc3RhdGljIHZvaWQgdmlydHF1ZXVlX3ZyaW5nX2luaXQoc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZyAqdnJxLCBfX3UxNiBucl9kZXNjLAorCQkJCSBfX3UxNiBhbGlnbik7CisKKy8qKgorICogRHJp
dmVyIGltcGxlbWVudGF0aW9uCisgKi8KK19fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0
ZShfX3U2NCBmZWF0dXJlX3NldCkKK3sKKwlfX3U2NCBmZWF0dXJlID0gKDFVTEwgPDwgVklSVElP
X1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7CisKKwkvKioKKwkgKiBDdXJyZW50bHkgb3V0IHZyaW5n
IGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IGFueSByaW5nIGZlYXR1cmUuIFdlIHdpbGwKKwkgKiBh
ZGQgc3VwcG9ydCB0byB0cmFuc3BvcnQgZmVhdHVyZSBpbiB0aGUgZnV0dXJlLgorCSAqLworCWZl
YXR1cmUgJj0gZmVhdHVyZV9zZXQ7CisJcmV0dXJuIGZlYXR1cmU7Cit9CisKK19fcGh5c19hZGRy
IHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKwlzdHJ1Y3Qgdmly
dHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOworCisJVUtfQVNTRVJUKHZxKTsKKworCXZycSA9IHRv
X3ZpcnRxdWV1ZV92cmluZyh2cSk7CisJcmV0dXJuIHVrcGxhdF92aXJ0X3RvX3BoeXModnJxLT52
cmluZ19tZW0pOworfQorCitzdGF0aWMgdm9pZCB2aXJ0cXVldWVfdnJpbmdfaW5pdChzdHJ1Y3Qg
dmlydHF1ZXVlX3ZyaW5nICp2cnEsIF9fdTE2IG5yX2Rlc2MsCisJCQkJIF9fdTE2IGFsaWduKQor
eworCWludCBpID0gMDsKKworCXZyaW5nX2luaXQoJnZycS0+dnJpbmcsIG5yX2Rlc2MsIHZycS0+
dnJpbmdfbWVtLCBhbGlnbik7CisKKwl2cnEtPmRlc2NfYXZhaWwgPSB2cnEtPnZyaW5nLm51bTsK
Kwl2cnEtPmhlYWRfZnJlZV9kZXNjID0gMDsKKwl2cnEtPmxhc3RfdXNlZF9kZXNjX2lkeCA9IDA7
CisJZm9yIChpID0gMDsgaSA8IG5yX2Rlc2MgLSAxOyBpKyspCisJCXZycS0+dnJpbmcuZGVzY1tp
XS5uZXh0ID0gaSArIDE7CisJLyoqCisJICogV2hlbiB3ZSByZWFjaCB0aGlzIGRlc2NyaXB0b3Ig
d2UgaGF2ZSBjb21wbGV0ZWx5IHVzZWQgYWxsIHRoZQorCSAqIGRlc2NyaXB0b3IgaW4gdGhlIHZy
aW5nLgorCSAqLworCXZycS0+dnJpbmcuZGVzY1tucl9kZXNjIC0gMV0ubmV4dCA9IFZJUlRRVUVV
RV9NQVhfU0laRTsKK30KKworc3RydWN0IHZpcnRxdWV1ZSAqdmlydHF1ZXVlX2NyZWF0ZShfX3Ux
NiBxdWV1ZV9pZCwgX191MTYgbnJfZGVzY3MsIF9fdTE2IGFsaWduLAorCQkJCSAgIHZpcnRxdWV1
ZV9jYWxsYmFja190IGNhbGxiYWNrLAorCQkJCSAgIHZpcnRxdWV1ZV9ub3RpZnlfaG9zdF90IG5v
dGlmeSwKKwkJCQkgICBzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgc3RydWN0IHVrX2FsbG9jICph
KQoreworCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKKwlzdHJ1Y3QgdmlydHF1ZXVlICp2
cTsKKwlpbnQgcmM7CisJc2l6ZV90IHJpbmdfc2l6ZSA9IDA7CisKKwlVS19BU1NFUlQoYSk7CisK
Kwl2cnEgPSB1a19tYWxsb2MoYSwgc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWUpICsKKwkJCW5yX2Rl
c2NzICogc2l6ZW9mKHN0cnVjdCB2aXJ0cXVldWVfZGVzY19pbmZvKSk7CisJaWYgKCF2cnEpIHsK
KwkJdWtfcHJfZXJyKCJBbGxvY2F0aW9uIG9mIHZpcnRxdWV1ZSBmYWlsZWRcbiIpOworCQlyYyA9
IC1FTk9NRU07CisJCWdvdG8gZXJyX2V4aXQ7CisJfQorCS8qKgorCSAqIEluaXRpYWxpemUgdGhl
IHZhbHVlIGJlZm9yZSByZWZlcmVuY2luZyBpdCBpbgorCSAqIHVrX3Bvc2l4X21lbWFsaWduIGFz
IHdlIGRvbid0IHNldCBOVUxMIG9uIGFsbCBmYWlsdXJlcyBpbiB0aGUKKwkgKiBhbGxvY2F0aW9u
LgorCSAqLworCXZycS0+dnJpbmdfbWVtID0gTlVMTDsKKworCXJpbmdfc2l6ZSA9IHZyaW5nX3Np
emUobnJfZGVzY3MsIGFsaWduKTsKKwl1a19wb3NpeF9tZW1hbGlnbihhLCAodm9pZCAqKikmdnJx
LT52cmluZ19tZW0sIF9fUEFHRV9TSVpFLCByaW5nX3NpemUpOworCWlmICghdnJxLT52cmluZ19t
ZW0pIHsKKwkJdWtfcHJfZXJyKCJBbGxvY2F0aW9uIG9mIHZyaW5nIGZhaWxlZFxuIik7CisJCXJj
ID0gLUVOT01FTTsKKwkJZ290byBlcnJfZnJlZXZxOworCX0KKwltZW1zZXQodnJxLT52cmluZ19t
ZW0sIDAsIHJpbmdfc2l6ZSk7CisJdmlydHF1ZXVlX3ZyaW5nX2luaXQodnJxLCBucl9kZXNjcywg
YWxpZ24pOworCisJdnEgPSAmdnJxLT52cTsKKwl2cS0+cXVldWVfaWQgPSBxdWV1ZV9pZDsKKwl2
cS0+dmRldiA9IHZkZXY7CisJdnEtPnZxX2NhbGxiYWNrID0gY2FsbGJhY2s7CisJdnEtPnZxX25v
dGlmeV9ob3N0ID0gbm90aWZ5OworCXJldHVybiB2cTsKKworZXJyX2ZyZWV2cToKKwl1a19mcmVl
KGEsIHZycSk7CitlcnJfZXhpdDoKKwlyZXR1cm4gRVJSMlBUUihyYyk7Cit9CisKK3ZvaWQgdmly
dHF1ZXVlX2Rlc3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB1a19hbGxvYyAqYSkK
K3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7CisKKwlVS19BU1NFUlQodnEpOworCisJ
dnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKKworCS8qIEZyZWUgdGhlIHJpbmcgKi8KKwl1
a19mcmVlKGEsIHZycS0+dnJpbmdfbWVtKTsKKworCS8qIEZyZWUgdGhlIHZpcnRxdWV1ZSBtZXRh
ZGF0YSAqLworCXVrX2ZyZWUoYSwgdnJxKTsKK30KKworaW50IHZpcnRxdWV1ZV9pc19mdWxsKHN0
cnVjdCB2aXJ0cXVldWUgKnZxKQoreworCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKKwor
CVVLX0FTU0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOworCXJldHVy
biAodnJxLT5kZXNjX2F2YWlsID09IDApOworfQpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmln
LnVrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCmluZGV4IGFmY2VkYzAuLjEzZTU1NzUgMTAwNjQ0Ci0t
LSBhL3BsYXQva3ZtL0NvbmZpZy51aworKysgYi9wbGF0L2t2bS9Db25maWcudWsKQEAgLTU3LDYg
KzU3LDcgQEAgY29uZmlnIFZJUlRJT19CVVMKICAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0
KQogICAgICAgZGVwZW5kcyBvbiBMSUJVS0JVUwogICAgICAgc2VsZWN0IExJQlVLQUxMT0MKKyAg
ICAgIHNlbGVjdCBMSUJVS1NHTElTVAogICAgICAgaGVscAogICAgICAgICAgICAgICAgVmlydGlv
IGJ1cyBkcml2ZXIgZm9yIHByb2JpbmcgYW5kIG9wZXJhdGluZyB2aXJ0aW8gZGV2aWNlIGFuZAog
ICAgICAgICAgICAgICAgdHJhbnNwb3J0IGxheWVyLgpkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFr
ZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awppbmRleCA5ODZiZjRhLi5jY2M4MzE5IDEw
MDY0NAotLS0gYS9wbGF0L2t2bS9NYWtlZmlsZS51aworKysgYi9wbGF0L2t2bS9NYWtlZmlsZS51
awpAQCAtOTIsNSArOTIsNyBAQCBMSUJLVk1WSVJUSU9fQVNJTkNMVURFUy15ICAgKz0gLUkkKFVL
X1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCiBMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAg
Kz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCiBMSUJLVk1WSVJUSU9fU1JDUy0k
KENPTkZJR19WSVJUSU9fQlVTKSArPVwKIAkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92
aXJ0aW8vdmlydGlvX2J1cy5jCitMSUJLVk1WSVJUSU9fU1JDUy0kKENPTkZJR19WSVJUSU9fQlVT
KSArPVwKKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3Jpbmcu
YwogTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX1BDSSkgKz1cCiAJCQkJCQkJJChV
S19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19wY2kuYwotLSAKMi43LjQKCgpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwg
bWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xp
c3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:43:06 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:43:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJRC-0001fR-Dl; Wed, 24 Oct 2018 13:43:06 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJRA-0001f1-VT
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:43:05 +0000
X-Inumbo-ID: 512bc1df-d792-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 512bc1df-d792-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:40:06 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 61947104A57;
 Wed, 24 Oct 2018 15:43:02 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IeM4aZqL9OCe; Wed, 24 Oct 2018 15:43:02 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 43911104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:43:00 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:43:00 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:32 +0200
Message-ID: <1540388553-15668-7-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 6/7] plat/drivers: Interrupt
 handling for virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSBBUEkgZm9yIGhhbmRsaW5nIHRoZSBpbnRlcnJ1cHQg
b24gdGhlIHZpcnRpbyBQQ0kKZGV2aWNlLiBJdCBwcm92aWRlcyBoYW5kbGVyIGZvciB0aGUgdmly
dHF1ZXVlIHJpbmdzLiBUaGUgaGFuZGxlciBpZGVudGlmaWVzCnRoZSB2aXJ0aW8gZGV2aWNlIG93
bmluZyB0aGUgdmlydHF1ZXVlIGFuZCBpbnZva2VzIHRoZSBjYWxsYmFjayBoYW5kbGVyCmNvbmZp
Z3VyZWQgYnkgdGhlIHZpcnRpbyBkZXZpY2UuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhh
bmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydHF1ZXVlLmggfCA1NCArKysrKysrKysrKysrKysrKysrKysrCiBwbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyAgICAgICAgfCA1MCArKysrKysrKysrKysrKysrKysr
LQogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgIHwgODIgKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE4NCBpbnNlcnRpb25z
KCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3Zp
cnRpby92aXJ0cXVldWUuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUu
aAppbmRleCBhOGE0YmMwLi4yN2IyNzYzIDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydHF1ZXVlLmgKKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3Zp
cnRxdWV1ZS5oCkBAIC04Myw2ICs4MywxOSBAQCBzdHJ1Y3QgdmlydHF1ZXVlIHsKIF9fcGh5c19h
ZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CiAKIC8qKgorICog
UmluZyBpbnRlcnJ1cHQgaGFuZGxlci4gVGhpcyBmdW5jdGlvbiBpcyBpbnZva2VkIGZyb20gdGhl
IGludGVycnVwdCBoYW5kbGVyCisgKiBpbiB0aGUgdmlydGlvIGRldmljZSBmb3IgaW50ZXJydXB0
IHNwZWNpZmljIHRvIHRoZSByaW5nLgorICoKKyAqIEBwYXJhbSBvYmoKKyAqCVJlZmVyZW5jZSB0
byB0aGUgdmlydHF1ZXVlLgorICoKKyAqIEByZXR1cm4gaW50CisgKgkwLCBJbnRlcnJ1cHQgd2Fz
IG5vdCBmb3IgdGhpcyB2aXJ0cXVldWUuCisgKgkxLCBWaXJ0cXVldWUgaGFzIGhhbmRsZWQgdGhl
IGludGVycnVwdC4KKyAqLworaW50IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2b2lkICpvYmop
OworCisvKioKICAqIE5lZ290aWF0ZSB3aXRoIHRoZSB2aXJ0cXVldWUgZmVhdHVyZXMuCiAgKiBA
cGFyYW0gZmVhdHVyZV9zZXQKICAqCVRoZSBmZWF0dXJlIHNldCB0aGUgZGV2aWNlIHJlcXVlc3Qu
CkBAIC05Myw2ICsxMDYsMTcgQEAgX19waHlzX2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVj
dCB2aXJ0cXVldWUgKnZxKTsKIF9fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2
NCBmZWF0dXJlX3NldCk7CiAKIC8qKgorICogQ2hlY2sgaWYgaG9zdCBub3RpZmljYXRpb24gaXMg
ZW5hYmxlZC4KKyAqCisgKiBAcGFyYW0gdnEKKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVl
LgorICogQHJldHVybgorICoJUmV0dXJucyAxLCBob3N0IG5lZWRzIG5vdGlmaWNhdGlvbiBvbiBu
ZXcgZGVzY3JpcHRvcnMuCisgKgkJMCwgb3RoZXJ3aXNlLgorICovCitpbnQgdmlydHF1ZXVlX25v
dGlmeV9lbmFibGVkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKKworLyoqCiAgKiBBbGxvY2F0ZSBh
IHZpcnRxdWV1ZS4KICAqIEBwYXJhbSBxdWV1ZV9pZAogICoJVGhlIHZpcnRxdWV1ZSBodyBpZC4K
QEAgLTEzOCw2ICsxNjIsMzYgQEAgaW50IHZpcnRxdWV1ZV9pc19mdWxsKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxKTsKICAqLwogdm9pZCB2aXJ0cXVldWVfZGVzdHJveShzdHJ1Y3QgdmlydHF1ZXVlICp2
cSwgc3RydWN0IHVrX2FsbG9jICphKTsKIAorLyoqCisgKiBEaXNhYmxlIGludGVycnVwdHMgb24g
dGhlIHZpcnRxdWV1ZS4KKyAqIEBwYXJhbSB2cQorICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZp
cnRxdWV1ZS4KKyAqLwordm9pZCB2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxKTsKKworLyoqCisgKiBFbmFibGUgaW50ZXJydXB0cyBvbiB0aGUgdmlydHF1ZXVlLgor
ICogQHBhcmFtIHZxCisgKiAgICAgIFJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlCisgKiBAcmV0
dXJuCisgKgkwLCBPbiBzdWNjZXNzZnVsIGVuYWJsaW5nIG9mIGludGVycnVwdC4KKyAqCTEsIE1v
cmUgcGFja2V0IGluIHRoZSByaW5nIHRvIGJlIHByb2Nlc3NlZC4KKyAqLworaW50IHZpcnRxdWV1
ZV9pbnRyX2VuYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7CisKKy8qKgorICogTm90aWZ5IHRo
ZSBob3N0IG9mIGFuIGV2ZW50LgorICogQHBhcmFtIHZxCisgKiAgICAgIFJlZmVyZW5jZSB0byB0
aGUgdmlydHVhbCBxdWV1ZS4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHZpcnRxdWV1ZV9ob3N0
X25vdGlmeShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sKKwlVS19BU1NFUlQodnEpOworCisJaWYg
KHZxLT52cV9ub3RpZnlfaG9zdCAmJiB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQodnEpKQorCQl2
cS0+dnFfbm90aWZ5X2hvc3QodnEtPnZkZXYsIHZxLT5xdWV1ZV9pZCk7Cit9CisKICNpZmRlZiBf
X2NwbHVzcGx1cwogfQogI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCmRpZmYgLS1naXQgYS9wbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X3BjaS5jCmluZGV4IDRlMjllNjIuLjg1MDNiNTMgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3BjaS5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5j
CkBAIC05Niw2ICs5Niw4IEBAIHN0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92
cV9zZXR1cChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKIHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0
aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKIAkJCQkJX191MTYgcGNp
X2Rldl9pZCwKIAkJCQkJX191MTYgdnBjaV9kZXZfaWRfc3RhcnQpOworc3RhdGljIGludCB2aXJ0
aW9fcGNpX2hhbmRsZSh2b2lkICphcmcpOworc3RhdGljIGludCB2cGNpX2xlZ2FjeV9ub3RpZnko
c3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIF9fdTE2IHF1ZXVlX2lkKTsKIHN0YXRpYyBpbnQgdmly
dGlvX3BjaV9sZWdhY3lfYWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiwKIAkJCQkg
ICAgIHN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpOwogCkBAIC0xMTQsNiArMTE2LDQz
IEBAIHN0YXRpYyBzdHJ1Y3QgdmlydGlvX2NvbmZpZ19vcHMgdnBjaV9sZWdhY3lfb3BzID0gewog
CS52cV9zZXR1cCAgICAgPSB2cGNpX2xlZ2FjeV92cV9zZXR1cCwKIH07CiAKK3N0YXRpYyBpbnQg
dnBjaV9sZWdhY3lfbm90aWZ5KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBxdWV1ZV9p
ZCkKK3sKKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2OworCisJVUtfQVNTRVJUKHZkZXYp
OworCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOworCXZpcnRpb19jd3JpdGUxNigodm9p
ZCAqKSh1bnNpZ25lZCBsb25nKSB2cGRldi0+cGNpX2Jhc2VfYWRkciwKKwkJCVZJUlRJT19QQ0lf
UVVFVUVfTk9USUZZLCBxdWV1ZV9pZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2
aXJ0aW9fcGNpX2hhbmRsZSh2b2lkICphcmcpCit7CisJc3RydWN0IHZpcnRpb19wY2lfZGV2ICpk
ID0gKHN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqKSBhcmc7CisJdWludDhfdCBpc3Jfc3RhdHVzOwor
CXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoYXJnKTsK
KworCS8qIFJlYWRpbmcgdGhlIGlzciBzdGF0dXMgaXMgdXNlZCB0byBhY2tub3dsZWRnZSB0aGUg
aW50ZXJydXB0ICovCisJaXNyX3N0YXR1cyA9IHZpcnRpb19jcmVhZDgoKHZvaWQgKikodW5zaWdu
ZWQgbG9uZylkLT5wY2lfaXNyX2FkZHIsIDApOworCS8qIFdlIGRvbid0IHN1cHBvcnQgY29uZmln
dXJhdGlvbiBpbnRlcnJ1cHQgb24gdGhlIGRldmljZSAqLworCWlmIChpc3Jfc3RhdHVzICYgVklS
VElPX1BDSV9JU1JfQ09ORklHKSB7CisJCXVrX3ByX3dhcm4oIlVuc3VwcG9ydGVkIGNvbmZpZyBj
aGFuZ2UgaW50ZXJydXB0IHJlY2VpdmVkIG9uIHZpcnRpby1wY2kgZGV2aWNlICVwXG4iLAorCQkJ
ICAgZCk7CisJfQorCisJaWYgKGlzcl9zdGF0dXMgJiBWSVJUSU9fUENJX0lTUl9IQVNfSU5UUikg
eworCQlVS19UQUlMUV9GT1JFQUNIKHZxLCAmZC0+dmRldi52cXMsIG5leHQpIHsKKwkJCXJjIHw9
IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2cSk7CisJCX0KKwl9CisJcmV0dXJuIHJjOworfQor
CiBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdhY3lfdnFfc2V0dXAoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsCiAJCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkLAogCQkJCQkgICAgICBf
X3UxNiBudW1fZGVzYywKQEAgLTEyOSw3ICsxNjgsNyBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1
ZSAqdnBjaV9sZWdhY3lfdnFfc2V0dXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCiAKIAl2cGRl
diA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKIAl2cSA9IHZpcnRxdWV1ZV9jcmVhdGUocXVldWVf
aWQsIG51bV9kZXNjLCBWSVJUSU9fUENJX1ZSSU5HX0FMSUdOLAotCQkJICAgICAgY2FsbGJhY2ss
IE5VTEwsIHZkZXYsIGEpOworCQkJICAgICAgY2FsbGJhY2ssIHZwY2lfbGVnYWN5X25vdGlmeSwg
dmRldiwgYSk7CiAJaWYgKFBUUklTRVJSKHZxKSkgewogCQl1a19wcl9lcnIoIkZhaWxlZCB0byBj
cmVhdGUgdGhlIHZpcnRxdWV1ZTogJWRcbiIsCiAJCQkgIFBUUjJFUlIodnEpKTsKQEAgLTE1Nywx
MSArMTk2LDE4IEBAIHN0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTE2IG51bV92cXMsCiAJCQkJICAgX191MTYgKnFkZXNjX3NpemUp
CiB7CiAJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Ci0JaW50IHZxX2NudCA9
IDAsIGkgPSAwOworCWludCB2cV9jbnQgPSAwLCBpID0gMCwgcmMgPSAwOwogCiAJVUtfQVNTRVJU
KHZkZXYpOwogCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwogCisJLyogUmVnaXN0ZXJp
bmcgdGhlIGludGVycnVwdCBmb3IgdGhlIHF1ZXVlICovCisJcmMgPSB1a3BsYXRfaXJxX3JlZ2lz
dGVyKHZwZGV2LT5wZGV2LT5pcnEsIHZpcnRpb19wY2lfaGFuZGxlLCB2cGRldik7CisJaWYgKHJj
ICE9IDApIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcmVnaXN0ZXIgdGhlIGludGVycnVwdFxu
Iik7CisJCXJldHVybiByYzsKKwl9CisKIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3ZxczsgaSsrKSB7
CiAJCXZpcnRpb19jd3JpdGUxNigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jh
c2VfYWRkciwKIAkJCQlWSVJUSU9fUENJX1FVRVVFX1NFTCwgaSk7CmRpZmYgLS1naXQgYS9wbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRp
b19yaW5nLmMKaW5kZXggYmE5MTU5NC4uNjAxMmJkMiAxMDA2NDQKLS0tIGEvcGxhdC9kcml2ZXJz
L3ZpcnRpby92aXJ0aW9fcmluZy5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3Jp
bmcuYwpAQCAtNzQsOSArNzQsNzQgQEAgc3RydWN0IHZpcnRxdWV1ZV92cmluZyB7CiAvKioKICAq
IFN0YXRpYyBmdW5jdGlvbiBEZWNsYXJhdGlvbihzKS4KICAqLworc3RhdGljIGlubGluZSBpbnQg
dmlydHF1ZXVlX2hhc2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKTsKIHN0YXRpYyB2
b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0KHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191
MTYgbnJfZGVzYywKIAkJCQkgX191MTYgYWxpZ24pOwogCit2b2lkIHZpcnRxdWV1ZV9pbnRyX2Rp
c2FibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCit7CisJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAq
dnJxOworCisJVUtfQVNTRVJUKHZxKTsKKworCXZycSA9IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7
CisJdnJxLT52cmluZy5hdmFpbC0+ZmxhZ3MgfD0gKFZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBU
KTsKK30KKworaW50IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkK
K3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7CisJaW50IHJjID0gMDsKKworCVVLX0FT
U0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOworCS8qIENoZWNrIGlm
IHRoZXJlIGFyZSBubyBtb3JlIHBhY2tldHMgZW5hYmxlZCAqLworCWlmICghdmlydHF1ZXVlX2hh
c2RhdGEodnJxKSkgeworCQlpZiAodnJxLT52cmluZy5hdmFpbC0+ZmxhZ3MgfCBWUklOR19BVkFJ
TF9GX05PX0lOVEVSUlVQVCkgeworCQkJdnJxLT52cmluZy5hdmFpbC0+ZmxhZ3MgJj0KKwkJCQko
flZSSU5HX0FWQUlMX0ZfTk9fSU5URVJSVVBUKTsKKwkJCS8qKgorCQkJICogV2UgZW5hYmxlZCB0
aGUgaW50ZXJydXB0cy4gV2UgZW5zdXJlIGl0IHVzaW5nIHRoZQorCQkJICogbWVtb3J5IGJhcnJp
ZXIgYW5kIGNoZWNrIGlmIHRoZXJlIGFyZSBhbnkgZnVydGhlcgorCQkJICogZGF0YSBhdmFpbGFi
bGUgaW4gdGhlIHF1ZXVlLiBUaGUgY2hlY2sgZm9yIGRhdGEKKwkJCSAqIGFmdGVyIGVuYWJsaW5n
IHRoZSBpbnRlcnJ1cHQgaXMgdG8gbWFrZSBzdXJlIHdlIGRvCisJCQkgKiBub3QgbWlzcyBhbnkg
aW50ZXJydXB0IHdoaWxlIHRyYW5zaXRpb25pbmcgdG8gZW5hYmxlCisJCQkgKiBpbnRlcnJ1cHQu
IFRoaXMgaXMgaW5saW5lIHdpdGggdGhlIHJlcXVpcmVtZW50IGZyb20KKwkJCSAqIHZpcnRpbyBz
cGVjaWZpY2F0aW9uIHNlY3Rpb24gMy4yLjIKKwkJCSAqLworCQkJbWIoKTsKKwkJCS8qIENoZWNr
IGlmIHRoZXJlIGFyZSBmdXJ0aGVyIGRlc2NyaXB0b3JzICovCisJCQlpZiAodmlydHF1ZXVlX2hh
c2RhdGEodnJxKSkgeworCQkJCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUodnEpOworCQkJCXJjID0g
MTsKKwkJCX0KKwkJfQorCX0gZWxzZSB7CisJCS8qKgorCQkgKiBUaGVyZSBhcmUgbW9yZSBwYWNr
ZXQgaW4gdGhlIHZpcnRxdWV1ZSB0byBiZSBwcm9jZXNzZWQgd2hpbGUKKwkJICogdGhlIGludGVy
cnVwdCB3YXMgZGlzYWJsZWQuCisJCSAqLworCQlyYyA9IDE7CisJfQorCXJldHVybiByYzsKK30K
KworaW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5hYmxlZChzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKK3sK
KwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnE7CisKKwlVS19BU1NFUlQodnEpOworCXZycSA9
IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7CisKKwlyZXR1cm4gKCh2cnEtPnZyaW5nLnVzZWQtPmZs
YWdzICYgVlJJTkdfVVNFRF9GX05PX05PVElGWSkgPT0gMCk7Cit9CisKK3N0YXRpYyBpbmxpbmUg
aW50IHZpcnRxdWV1ZV9oYXNkYXRhKHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSkKK3sKKwly
ZXR1cm4gKHZycS0+bGFzdF91c2VkX2Rlc2NfaWR4ICE9IHZycS0+dnJpbmcudXNlZC0+aWR4KTsK
K30KKwogLyoqCiAgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24KICAqLwpAQCAtOTIsNiArMTU3LDIz
IEBAIF9fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCkK
IAlyZXR1cm4gZmVhdHVyZTsKIH0KIAoraW50IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2b2lk
ICpvYmopCit7CisJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxID0gTlVMTDsKKwlzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSA9IChzdHJ1Y3QgdmlydHF1ZXVlICopb2JqOworCWludCByYyA9IDA7CisK
KwlVS19BU1NFUlQodnEpOworCisJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKKwlpZiAo
IXZpcnRxdWV1ZV9oYXNkYXRhKHZycSkpCisJCXJldHVybiByYzsKKworCWlmIChsaWtlbHkodnEt
PnZxX2NhbGxiYWNrKSkKKwkJcmMgPSB2cS0+dnFfY2FsbGJhY2sodnEsIHZxLT5wcml2KTsKKwly
ZXR1cm4gcmM7Cit9CisKIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSkKIHsKIAlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOwotLSAK
Mi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 13:43:07 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 13:43:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJRD-0001g1-GX; Wed, 24 Oct 2018 13:43:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJRC-0001fM-6t
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 13:43:06 +0000
X-Inumbo-ID: f1a029b1-d792-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f1a029b1-d792-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 13:44:35 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 9EE14F2014;
 Wed, 24 Oct 2018 15:43:04 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id B1VKHREfHDDu; Wed, 24 Oct 2018 15:43:04 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 77A8CF200F
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 15:43:02 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 15:43:02 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 15:42:33 +0200
Message-ID: <1540388553-15668-8-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v2 7/7] plat/drivers: Add & Remove
 buffer from virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHVzZXIgYnVmZmVyIGFyZSBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgaW50byB0aGUgdmlydGlv
LXJpbmcuClRoZSB1c2VyIGRhdGEgaXMgZGVzY3JpYmVkIHRvIHRoZSB2aXJ0aW8tcmluZyB1c2lu
ZyBhIHNjYXR0ZXIvZ2F0aGVyCmxpc3QuIFRoZSBlbnF1ZXVlIGFuZCBkZXF1ZXVlIGluIHR1cm4g
dXNlcyB0aGUgcmluZyBkZXNjcmlwdG9yIGZvcgplYWNoIHNlZ21lbnQgb2YgdGhlIHNjYXR0ZXIg
Z2F0aGVyIGxpc3QuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2Fu
dGhhbmFtQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1
ZXVlLmggfCAgNDAgKysrKysrKysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMg
ICAgICAgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hh
bmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oIGIvcGxhdC9kcml2ZXJzL2luY2x1
ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCmluZGV4IDI3YjI3NjMuLjc1ZWZiMmQgMTAwNjQ0Ci0tLSBh
L3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAorKysgYi9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmgKQEAgLTExNyw2ICsxMTcsNDYgQEAgX191NjQg
dmlydHF1ZXVlX2ZlYXR1cmVfbmVnb3RpYXRlKF9fdTY0IGZlYXR1cmVfc2V0KTsKIGludCB2aXJ0
cXVldWVfbm90aWZ5X2VuYWJsZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwogCiAvKioKKyAqIFJl
bW92ZSB0aGUgdXNlciBidWZmZXIgZnJvbSB0aGUgdmlydHF1ZXVlLgorICoKKyAqIEBwYXJhbSB2
cQorICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUuCisgKiBAcGFyYW0gbGVuCisgKglSZWZl
cmVuY2UgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBwYWNrZXQuCisgKiBAcmV0dXJuCisgKglP
biBTdWNjZXNzLCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGNvb2tpZSB0aGF0IHdhcyBzdWJtaXR0
ZWQgd2l0aAorICoJZGVzY3JpcHRvci4KKyAqCU9uIGZhaWx1cmUsIHJldHVybnMgTlVMTCB3aXRo
IHRoZSBsZW5ndGggdW5tb2RpZmllZC4KKyAqLwordm9pZCAqdmlydHF1ZXVlX2J1ZmZlcl9kZXF1
ZXVlKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCBfX3UzMiAqbGVuKTsKKworLyoqCisgKiBDcmVhdGUg
YSBkZXNjcmlwdG9yIGNoYWluIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQsCisgKiB1c2luZyB2cS0+
YnVmcyBhbHNvIHN0YXJ0aW5nIGF0IGluZGV4IGhlYWQuCisgKiBAcGFyYW0gdnEKKyAqCVJlZmVy
ZW5jZSB0byB0aGUgdmlydHVhbCBxdWV1ZQorICogQHBhcmFtIGNvb2tpZQorICoJUmVmZXJlbmNl
IHRvIHRoZSBjb29raWUgdG8gcmVjb25zdHJ1Y3QgdGhlIGJ1ZmZlci4KKyAqIEBwYXJhbSBzZwor
ICoJUmVmZXJlbmNlIHRvIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0CisgKiBAcGFyYW0gcmVhZF9i
dWZzCisgKglUaGUgbnVtYmVyIG9mIHJlYWQgYnVmZmVyLgorICogQHBhcmFtIHdyaXRlX2J1ZnMK
KyAqCVRoZSBudW1iZXIgb2Ygd3JpdGUgYnVmZmVyLgorICoKKyAqIEByZXR1cm4KKyAqCT4gMCBU
aGUgYnVmZmVycyB3ZXJlIGVucXVldWVkIGludG8gdGhlIHJpbmcgYW5kIHRoZSBjb3VudCBpbmRp
Y2F0ZXMKKyAqCXRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIHNsb3RzIGluIHRoZSByaW5nLgorICoJ
MCAgVGhlIGJ1ZmZlcnMgd2VyZSBlbnF1ZXVlZCBhbmQgdGhlcmUgYXJlIG5vIGZ1cnRoZXIgZGVz
Y3JpcHRvcnMKKyAqCWF2YWlsYWJsZS4KKyAqCTwgMCBGYWlsZWQgdG8gZW5xdWV1ZSB0aGUgYnVm
ZmVycy4KKyAqCisgKi8KK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZpcnRx
dWV1ZSAqdnEsIHZvaWQgKmNvb2tpZSwKKwkJCSAgICAgc3RydWN0IHVrX3NnbGlzdCAqc2csIF9f
dTE2IHJlYWRfYnVmcywKKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcyk7CisKKy8qKgogICogQWxs
b2NhdGUgYSB2aXJ0cXVldWUuCiAgKiBAcGFyYW0gcXVldWVfaWQKICAqCVRoZSB2aXJ0cXVldWUg
aHcgaWQuCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMKaW5kZXggNjAxMmJkMi4uYTFiMGUwMyAx
MDA2NDQKLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCisrKyBiL3BsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwpAQCAtNzQsMTAgKzc0LDIzIEBAIHN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgewogLyoqCiAgKiBTdGF0aWMgZnVuY3Rpb24gRGVjbGFyYXRpb24ocyku
CiAgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfcmluZ191cGRhdGVfYXZhaWwoc3Ry
dWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAorCQkJCQkgICAgICAgX191MTYgaWR4KTsKK3N0YXRp
YyBpbmxpbmUgdm9pZCB2aXJ0cXVldWVfZGV0YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZyAqdnJxLAorCQkJCQkgX191MTYgaGVhZF9pZHgpOwogc3RhdGljIGlubGluZSBpbnQgdmlydHF1
ZXVlX2hhc2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKTsKK3N0YXRpYyBpbmxpbmUg
aW50IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cygKKwkJCQkJCSAgICBzdHJ1Y3Qg
dmlydHF1ZXVlX3ZyaW5nICp2cnEsCisJCQkJCQkgICAgX191MTYgaGVhZCwKKwkJCQkJCSAgICBz
dHJ1Y3QgdWtfc2dsaXN0ICpzZywKKwkJCQkJCSAgICBfX3UxNiByZWFkX2J1ZnMsCisJCQkJCQkg
ICAgX191MTYgd3JpdGVfYnVmcyk7CiBzdGF0aWMgdm9pZCB2aXJ0cXVldWVfdnJpbmdfaW5pdChz
dHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEsIF9fdTE2IG5yX2Rlc2MsCiAJCQkJIF9fdTE2IGFs
aWduKTsKIAorLyoqCisgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24KKyAqLwogdm9pZCB2aXJ0cXVl
dWVfaW50cl9kaXNhYmxlKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQogewogCXN0cnVjdCB2aXJ0cXVl
dWVfdnJpbmcgKnZycTsKQEAgLTEyNyw2ICsxNDAsNDYgQEAgaW50IHZpcnRxdWV1ZV9pbnRyX2Vu
YWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKIAlyZXR1cm4gcmM7CiB9CiAKK3N0YXRpYyBpbmxp
bmUgdm9pZCB2aXJ0cXVldWVfcmluZ191cGRhdGVfYXZhaWwoc3RydWN0IHZpcnRxdWV1ZV92cmlu
ZyAqdnJxLAorCQkJCQlfX3UxNiBpZHgpCit7CisJX191MTYgYXZhaWxfaWR4OworCisJYXZhaWxf
aWR4ID0gdnJxLT52cmluZy5hdmFpbC0+aWR4ICYgKHZycS0+dnJpbmcubnVtIC0gMSk7CisJLyog
QWRkaW5nIHRoZSBpZHggdG8gYXZhaWxhYmxlIHJpbmcgKi8KKwl2cnEtPnZyaW5nLmF2YWlsLT5y
aW5nW2F2YWlsX2lkeF0gPSBpZHg7CisJLyoqCisJICogV3JpdGUgYmFycmllciB0byBtYWtlIHN1
cmUgd2UgcHVzaCB0aGUgZGVzY3JpcHRvciBvbiB0aGUgYXZhaWxhYmxlCisJICogZGVzY3JpcHRv
ciBhbmQgdGhlbiBpbmNyZW1lbnQgYXZhaWxhYmxlIGluZGV4LgorCSAqLworCXdtYigpOworCXZy
cS0+dnJpbmcuYXZhaWwtPmlkeCsrOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdmlydHF1ZXVl
X2RldGFjaF9kZXNjKHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwKKwkJCQkJX191MTYgaGVh
ZF9pZHgpCit7CisJc3RydWN0IHZyaW5nX2Rlc2MgKmRlc2M7CisJc3RydWN0IHZpcnRxdWV1ZV9k
ZXNjX2luZm8gKnZxX2luZm87CisKKwlkZXNjID0gJnZycS0+dnJpbmcuZGVzY1toZWFkX2lkeF07
CisJdnFfaW5mbyA9ICZ2cnEtPnZxX2luZm9baGVhZF9pZHhdOworCXZycS0+ZGVzY19hdmFpbCAr
PSB2cV9pbmZvLT5kZXNjX2NvdW50OworCXZxX2luZm8tPmRlc2NfY291bnQtLTsKKworCXdoaWxl
IChkZXNjLT5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhUKSB7CisJCWRlc2MgPSAmdnJxLT52cmlu
Zy5kZXNjW2Rlc2MtPm5leHRdOworCQl2cV9pbmZvLT5kZXNjX2NvdW50LS07CisJfQorCisJLyog
VGhlIHZhbHVlIHNob3VsZCBiZSBlbXB0eSAqLworCVVLX0FTU0VSVCh2cV9pbmZvLT5kZXNjX2Nv
dW50ID09IDApOworCisJLyogQXBwZW5kaW5nIHRoZSBkZXNjcmlwdG9yIHRvIHRoZSBoZWFkIG9m
IGxpc3QgKi8KKwlkZXNjLT5uZXh0ID0gdnJxLT5oZWFkX2ZyZWVfZGVzYzsKKwl2cnEtPmhlYWRf
ZnJlZV9kZXNjID0gaGVhZF9pZHg7Cit9CisKIGludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQo
c3RydWN0IHZpcnRxdWV1ZSAqdnEpCiB7CiAJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwpA
QCAtMTM3LDE0ICsxOTAsMzcgQEAgaW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5hYmxlZChzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSkKIAlyZXR1cm4gKCh2cnEtPnZyaW5nLnVzZWQtPmZsYWdzICYgVlJJTkdf
VVNFRF9GX05PX05PVElGWSkgPT0gMCk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRxdWV1
ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cygKKwkJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJx
LAorCQlfX3UxNiBoZWFkLCBzdHJ1Y3QgdWtfc2dsaXN0ICpzZywgX191MTYgcmVhZF9idWZzLAor
CQlfX3UxNiB3cml0ZV9idWZzKQoreworCWludCBpID0gMCwgdG90YWxfZGVzYyA9IDA7CisJc3Ry
dWN0IHVrX3NnbGlzdF9zZWcgKnNlZ3M7CisJX191MTYgaWR4ID0gMDsKKworCXRvdGFsX2Rlc2Mg
PSByZWFkX2J1ZnMgKyB3cml0ZV9idWZzOworCisJZm9yIChpID0gMCwgaWR4ID0gaGVhZDsgaSA8
IHRvdGFsX2Rlc2M7IGkrKykgeworCQlzZWdzID0gJnNnLT5zZ19zZWdzW2ldOworCQl2cnEtPnZy
aW5nLmRlc2NbaWR4XS5hZGRyID0gc2Vncy0+c3NfcGFkZHI7CisJCXZycS0+dnJpbmcuZGVzY1tp
ZHhdLmxlbiA9IHNlZ3MtPnNzX2xlbjsKKwkJdnJxLT52cmluZy5kZXNjW2lkeF0uZmxhZ3MgPSAw
OworCQlpZiAoaSA+PSByZWFkX2J1ZnMpCisJCQl2cnEtPnZyaW5nLmRlc2NbaWR4XS5mbGFncyB8
PSBWUklOR19ERVNDX0ZfV1JJVEU7CisKKwkJaWYgKGkgPCB0b3RhbF9kZXNjIC0gMSkKKwkJCXZy
cS0+dnJpbmcuZGVzY1tpZHhdLmZsYWdzIHw9IFZSSU5HX0RFU0NfRl9ORVhUOworCQlpZHggPSB2
cnEtPnZyaW5nLmRlc2NbaWR4XS5uZXh0OworCX0KKwlyZXR1cm4gaWR4OworfQorCiBzdGF0aWMg
aW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEp
CiB7CiAJcmV0dXJuICh2cnEtPmxhc3RfdXNlZF9kZXNjX2lkeCAhPSB2cnEtPnZyaW5nLnVzZWQt
PmlkeCk7CiB9CiAKLS8qKgotICogRHJpdmVyIGltcGxlbWVudGF0aW9uCi0gKi8KIF9fdTY0IHZp
cnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCkKIHsKIAlfX3U2NCBm
ZWF0dXJlID0gKDFVTEwgPDwgVklSVElPX1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7CkBAIC0xODQs
NiArMjYwLDc2IEBAIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1
ZXVlICp2cSkKIAlyZXR1cm4gdWtwbGF0X3ZpcnRfdG9fcGh5cyh2cnEtPnZyaW5nX21lbSk7CiB9
CiAKK3ZvaWQgKnZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwg
X191MzIgKmxlbikKK3sKKwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOworCV9f
dTE2IHVzZWRfaWR4LCBoZWFkX2lkeDsKKwlzdHJ1Y3QgdnJpbmdfdXNlZF9lbGVtICplbGVtOwor
CXZvaWQgKmNvb2tpZTsKKworCVVLX0FTU0VSVCh2cSk7CisJdnJxID0gdG9fdmlydHF1ZXVlX3Zy
aW5nKHZxKTsKKworCS8qIE5vIG5ldyBkZXNjcmlwdG9yIHNpbmNlIGxhc3QgZGVxdWV1ZSBvcGVy
YXRpb24gKi8KKwlpZiAoIXZpcnRxdWV1ZV9oYXNkYXRhKHZycSkpCisJCXJldHVybiBOVUxMOwor
CXVzZWRfaWR4ID0gdnJxLT5sYXN0X3VzZWRfZGVzY19pZHgrKyAmICh2cnEtPnZyaW5nLm51bSAt
IDEpOworCWVsZW0gPSAmdnJxLT52cmluZy51c2VkLT5yaW5nW3VzZWRfaWR4XTsKKwkvKioKKwkg
KiBXZSBhcmUgcmVhZGluZyBmcm9tIHRoZSB1c2VkIGRlc2NyaXB0b3IgaW5mb3JtYXRpb24gdXBk
YXRlZCBieSB0aGUKKwkgKiBob3N0LgorCSAqLworCXJtYigpOworCWhlYWRfaWR4ID0gZWxlbS0+
aWQ7CisJaWYgKGxlbikKKwkJKmxlbiA9IGVsZW0tPmxlbjsKKwljb29raWUgPSB2cnEtPnZxX2lu
Zm9baGVhZF9pZHhdLmNvb2tpZTsKKwl2aXJ0cXVldWVfZGV0YWNoX2Rlc2ModnJxLCBoZWFkX2lk
eCk7CisJdnJxLT52cV9pbmZvW2hlYWRfaWR4XS5jb29raWUgPSBOVUxMOworCXJldHVybiBjb29r
aWU7Cit9CisKK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZpcnRxdWV1ZSAq
dnEsIHZvaWQgKmNvb2tpZSwKKwkJCSAgICAgc3RydWN0IHVrX3NnbGlzdCAqc2csIF9fdTE2IHJl
YWRfYnVmcywKKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcykKK3sKKwlfX3UzMiB0b3RhbF9kZXNj
ID0gMDsKKwlfX3UxNiBoZWFkX2lkeCA9IDAsIGlkeCA9IDA7CisJc3RydWN0IHZpcnRxdWV1ZV92
cmluZyAqdnJxID0gTlVMTDsKKworCVVLX0FTU0VSVCh2cSk7CisKKwl2cnEgPSB0b192aXJ0cXVl
dWVfdnJpbmcodnEpOworCXRvdGFsX2Rlc2MgPSByZWFkX2J1ZnMgKyB3cml0ZV9idWZzOworCWlm
ICh1bmxpa2VseSh0b3RhbF9kZXNjIDwgMSB8fCB0b3RhbF9kZXNjID4gdnJxLT52cmluZy5udW0p
KSB7CisJCXVrX3ByX2VycigiJSJfX1BSSXUzMiIgaW52YWxpZCBudW1iZXIgb2YgZGVzY3JpcHRv
clxuIiwKKwkJCSAgdG90YWxfZGVzYyk7CisJCXJldHVybiAtRUlOVkFMOworCX0gZWxzZSBpZiAo
dnJxLT5kZXNjX2F2YWlsIDwgdG90YWxfZGVzYykgeworCQl1a19wcl9lcnIoIkF2YWlsYWJsZSBk
ZXNjcmlwdG9yOiUiX19QUkl1MTYiLCBSZXF1ZXN0ZWQgZGVzY3JpcHRvcjolIl9fUFJJdTMyIlxu
IiwKKwkJCSAgdnJxLT5kZXNjX2F2YWlsLCB0b3RhbF9kZXNjKTsKKwkJcmV0dXJuIC1FTk9TUEM7
CisJfQorCS8qIEdldCB0aGUgaGVhZCBvZiBmcmVlIGRlc2NyaXB0b3IgKi8KKwloZWFkX2lkeCA9
IHZycS0+aGVhZF9mcmVlX2Rlc2M7CisJVUtfQVNTRVJUKGNvb2tpZSk7CisJLyogQWRkaXRpb25h
bCBpbmZvcm1hdGlvbiB0byByZWNvbnN0cnVjdCB0aGUgZGF0YSBidWZmZXIgKi8KKwl2cnEtPnZx
X2luZm9baGVhZF9pZHhdLmNvb2tpZSA9IGNvb2tpZTsKKwl2cnEtPnZxX2luZm9baGVhZF9pZHhd
LmRlc2NfY291bnQgPSB0b3RhbF9kZXNjOworCisJLyoqCisJICogV2Ugc2VwYXJhdGUgdGhlIGRl
c2NyaXB0b3IgbWFuYWdlbWVudCB0byBlbnF1ZXVlIHNlZ21lbnQocykuCisJICovCisJaWR4ID0g
dmlydHF1ZXVlX2J1ZmZlcl9lbnF1ZXVlX3NlZ21lbnRzKHZycSwgaGVhZF9pZHgsIHNnLAorCQkJ
cmVhZF9idWZzLCB3cml0ZV9idWZzKTsKKwkvKiBNZXRhZGF0YSBtYWludGVuYW5jZSBmb3IgdGhl
IHZpcnRxdWV1ZSAqLworCXZycS0+aGVhZF9mcmVlX2Rlc2MgPSBpZHg7CisJdnJxLT5kZXNjX2F2
YWlsIC09IHRvdGFsX2Rlc2M7CisKKwl2aXJ0cXVldWVfcmluZ191cGRhdGVfYXZhaWwodnJxLCBo
ZWFkX2lkeCk7CisJcmV0dXJuIHZycS0+ZGVzY19hdmFpbDsKK30KKwogc3RhdGljIHZvaWQgdmly
dHF1ZXVlX3ZyaW5nX2luaXQoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLCBfX3UxNiBucl9k
ZXNjLAogCQkJCSBfX3UxNiBhbGlnbikKIHsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApN
aW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:30 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJjy-0003bp-8S; Wed, 24 Oct 2018 14:02:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJjw-0003bi-OF
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:28 +0000
X-Inumbo-ID: a643bd02-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id a643bd02-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:03:58 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 9EFE4104A57;
 Wed, 24 Oct 2018 16:02:26 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id wN-5IJXfipjB; Wed, 24 Oct 2018 16:02:26 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 7D3D2104910
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 16:02:24 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:24 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:11 +0200
Message-ID: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 0/7] plat/drivers: Introduce
 virtio network driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBhIHZpcnRpbyBuZXR3b3JrIGRyaXZlciBiYXNlZCBv
biBVbmlrcmFmdCBOZXQgQVBJIHY1CmFuZCB2aXJ0aW8gZHJpdmVyIHN1cHBvcnQgdjEuIFN1cHBv
cnRzIGJhc2ljIE5ldCBBUEkgZnVuY3Rpb25zIHN1Y2ggYXMgCmNvbmZpZ3VyZSB0aGUgbmV0d29y
ayBkZXZpY2UsIGNvbmZpZ3VyaW5nIHRoZSByeC90eCByaW5ncywgdHJhbnNtaXR0aW5nIGFuZApy
ZWNlaXZpbmcgbmV0d29yayBwYWNrZXRzLgoKQ2hhbmdlcyBzaW5jZSB2MgoqIEludHJvZHVjZSBo
ZWFkZXIgZW5jYXBzdWxhdGlvbiBvbiB0aGUgcnggYW5kIHRoZSB0eC4KKiBJbXByb3ZlZCBpbmxp
bmUgY29tbWVudHMuCiogRml4ZWQgaXNzdWUgd2l0aCB0aGUgdHhxLgoqIEltcHJvdmVkIHRoZSBl
cnJvciBtZXNzYWdlcwoKQ2hhbmdlcyBzaW5jZSB2MQoqIEludHJvZHVjZSB0aGUgc3RhbmRhcmQg
dmlydGlvLW5ldCBkZXZpY2UgaGVhZGVycy4KKiBBZGFwdGluZyB0aGUgdmlydGlvLW5ldCBkZXZp
Y2UgdG8gY2hhbmdlcyBpbiB0aGUgbGlidWtuZXQgbGlicmFyeS4KKiBSZW1vdmUgdGhlIGJ1ZmZl
ciBoYW5kbGluZyB3aXRoaW4gdGhlIGRyaXZlciBhbmQgdXNlIHRoZSB1a19uZXRidWYKKiBVc2Ug
dGhlIG5ldyB2aXJ0aW8gc3VwcG9ydCBpbiBVbmlrcmFmdCBmb3IgaW50ZXJhY3Rpb25zIGJldHdl
ZW4gdGhlIHZpcnRpbwogIGRldmljZSBhbmQgdmlydGlvIHJpbmdzLgoKClNoYXJhbiBTYW50aGFu
YW0gKDcpOgogIHBsYXQvZHJpdmVyczogSW50cm9kdWNlIHRoZSB2aXJ0aW8tbmV0IGRldmljZQog
IHBsYXQvZHJpdmVyczogQ29uZmlndXJlIHZpcnRpby1uZXQgZGV2aWNlCiAgcGxhdC9kcml2ZXJz
OiBDb25maWd1cmUgdGhlIHJlY2VpdmUgcXVldWUKICBwbGF0L2RyaXZlcnM6IENvbmZpZ3VyaW5n
IHRoZSB0cmFuc21pdCBxdWV1ZQogIHBsYXQvZHJpdmVyczogQ29uZmlndXJlIHJlY2VpdmUgcXVl
dWUgaW50ZXJydXB0CiAgcGxhdC9kcml2ZXJzOiBTdGFydGluZyB0aGUgdmlydGlvIGRldmljZQog
IHBsYXQvZHJpdmVyczogUmVjZWl2ZSBhbmQgVHJhbnNtaXQgb3BlcmF0aW9ucwoKIGxpYi91a25l
dGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmggICAgfCAgICAzICstCiBsaWIvdWtzZ2xpc3Qv
ZXhwb3J0c3ltcy51ayAgICAgICAgICAgICAgIHwgICAgMSArCiBsaWIvdWtzZ2xpc3QvaW5jbHVk
ZS91ay9zZ2xpc3QuaCAgICAgICAgIHwgICAxOCArCiBsaWIvdWtzZ2xpc3Qvc2dsaXN0LmMgICAg
ICAgICAgICAgICAgICAgIHwgICAyNSArCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dGlvX25ldC5oIHwgIDI1OCArKysrKysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQu
YyAgICAgICAgIHwgMTExNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQva3Zt
L0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAgICAgfCAgICA4ICsKIHBsYXQva3ZtL01ha2Vm
aWxlLnVrICAgICAgICAgICAgICAgICAgICAgfCAgICAyICsKIDggZmlsZXMgY2hhbmdlZCwgMTQy
OSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9k
cml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCgotLSAKMi43LjQKCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBs
aXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnBy
b2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:35 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJk3-0003cY-A9; Wed, 24 Oct 2018 14:02:35 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJk1-0003cK-V0
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:34 +0000
X-Inumbo-ID: a8fabd28-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id a8fabd28-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:04:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 26768F2014;
 Wed, 24 Oct 2018 16:02:31 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id EXCpxb6kulxX; Wed, 24 Oct 2018 16:02:30 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id CCB98F200F;
 Wed, 24 Oct 2018 16:02:26 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:26 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:12 +0200
Message-ID: <1540389738-17112-2-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 1/7] plat/drivers: Introduce the
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSB2aXJ0aW8gbmV0IGRyaXZlciBpbml0aWFsaXphdGlv
biwgdGhlIEFQSQpmdW5jdGlvbnMgY2FsbGJhY2sgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgbGlidWtu
ZXQuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5
M0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX25ldC5oIHwg
MjU4ICsrKysrKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5j
ICAgICAgICAgfCA0MTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9rdm0v
Q29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArCiBwbGF0L2t2bS9NYWtlZmls
ZS51ayAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIDQgZmlsZXMgY2hhbmdlZCwgNjg1IGlu
c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX25ldC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fbmV0LmMKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dGlvX25ldC5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzNmY2U0Ci0tLSAvZGV2L251bGwKKysr
IGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaApAQCAtMCwwICsxLDI1
OCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyogVGhp
cyBoZWFkZXIgaXMgQlNEIGxpY2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9u
cyB0byBpbXBsZW1lbnQKKyAqIGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0gg
REFNQUdFLiAqLworLyoqCisgKiBUYWtlbiBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eCBrZXJuZWwK
KyAqIGluY2x1ZGUvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKKyAqCisgKiBjb21taXQtaWQ6IGZh
YTliMzlmMGU5ZAorICovCisjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX05FVF9ICisjZGVmaW5l
IF9fUExBVF9EUlZfVklSVElPX05FVF9ICisjaW5jbHVkZSA8dWsvY29uZmlnLmg+CisjaW5jbHVk
ZSA8dWsvYXJjaC90eXBlcy5oPgorCisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCisjaW5jbHVk
ZSA8dWsvbmV0ZGV2X2NvcmUuaD4KKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVRERVYgKi8KKwor
I2luY2x1ZGUgPHZpcnRpby92aXJ0aW9faWRzLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19j
b25maWcuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX3R5cGVzLmg+CisKKy8qIFRoZSBmZWF0
dXJlIGJpdG1hcCBmb3IgdmlydGlvIG5ldCAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1NVTQkw
CS8qIEhvc3QgaGFuZGxlcyBwa3RzIHcvIHBhcnRpYWwgY3N1bSAqLworI2RlZmluZSBWSVJUSU9f
TkVUX0ZfR1VFU1RfQ1NVTQkxCS8qIEd1ZXN0IGhhbmRsZXMgcGt0cyB3LyBwYXJ0aWFsIGNzdW0g
Ki8KKyNkZWZpbmUgVklSVElPX05FVF9GX0NUUkxfR1VFU1RfT0ZGTE9BRFMgMiAvKiBEeW5hbWlj
IG9mZmxvYWQgY29uZmlndXJhdGlvbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX01UVQkzCS8q
IEluaXRpYWwgTVRVIGFkdmljZSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfTUFDCTUJLyogSG9z
dCBoYXMgZ2l2ZW4gTUFDIGFkZHJlc3MuICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9HVUVTVF9U
U080CTcJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU092NCBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05F
VF9GX0dVRVNUX1RTTzYJOAkvKiBHdWVzdCBjYW4gaGFuZGxlIFRTT3Y2IGluLiAqLworI2RlZmlu
ZSBWSVJUSU9fTkVUX0ZfR1VFU1RfRUNOCTkJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU09bNl0gdy8g
RUNOIGluLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VFU1RfVUZPCTEwCS8qIEd1ZXN0IGNh
biBoYW5kbGUgVUZPIGluLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfSE9TVF9UU080CTExCS8q
IEhvc3QgY2FuIGhhbmRsZSBUU092NCBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1Rf
VFNPNgkxMgkvKiBIb3N0IGNhbiBoYW5kbGUgVFNPdjYgaW4uICovCisjZGVmaW5lIFZJUlRJT19O
RVRfRl9IT1NUX0VDTgkxMwkvKiBIb3N0IGNhbiBoYW5kbGUgVFNPWzZdIHcvIEVDTiBpbi4gKi8K
KyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1RfVUZPCTE0CS8qIEhvc3QgY2FuIGhhbmRsZSBVRk8g
aW4uICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9NUkdfUlhCVUYJMTUJLyogSG9zdCBjYW4gbWVy
Z2UgcmVjZWl2ZSBidWZmZXJzLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfU1RBVFVTCTE2CS8q
IHZpcnRpb19uZXRfY29uZmlnLnN0YXR1cyBhdmFpbGFibGUgKi8KKyNkZWZpbmUgVklSVElPX05F
VF9GX0NUUkxfVlEJMTcJLyogQ29udHJvbCBjaGFubmVsIGF2YWlsYWJsZSAqLworI2RlZmluZSBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWAkxOAkvKiBDb250cm9sIGNoYW5uZWwgUlggbW9kZSBzdXBwb3J0
ICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX1ZMQU4JMTkJLyogQ29udHJvbCBjaGFubmVs
IFZMQU4gZmlsdGVyaW5nICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX1JYX0VYVFJBIDIw
CS8qIEV4dHJhIFJYIG1vZGUgY29udHJvbCBzdXBwb3J0ICovCisjZGVmaW5lIFZJUlRJT19ORVRf
Rl9HVUVTVF9BTk5PVU5DRSAyMQkvKiBHdWVzdCBjYW4gYW5ub3VuY2UgZGV2aWNlIG9uIHRoZQor
CQkJCQkgKiBuZXR3b3JrCisJCQkJCSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfTVEJMjIJCS8q
IERldmljZSBzdXBwb3J0cyBSZWNlaXZlIEZsb3cKKwkJCQkJICogU3RlZXJpbmcKKwkJCQkJICov
CisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX01BQ19BRERSIDIzCS8qIFNldCBNQUMgYWRkcmVz
cyAqLworCisjZGVmaW5lIFZJUlRJT19ORVRfRl9TUEVFRF9EVVBMRVggNjMJLyogRGV2aWNlIHNl
dCBsaW5rc3BlZWQgYW5kIGR1cGxleCAqLworCisjaWZuZGVmIFZJUlRJT19ORVRfTk9fTEVHQUNZ
CisjZGVmaW5lIFZJUlRJT19ORVRfRl9HU08JNgkvKiBIb3N0IGhhbmRsZXMgcGt0cyB3LyBhbnkg
R1NPIHR5cGUgKi8KKyNlbmRpZiAvKiBWSVJUSU9fTkVUX05PX0xFR0FDWSAqLworCisjZGVmaW5l
IFZJUlRJT19ORVRfU19MSU5LX1VQCTEJLyogTGluayBpcyB1cCAqLworI2RlZmluZSBWSVJUSU9f
TkVUX1NfQU5OT1VOQ0UJMgkvKiBBbm5vdW5jZW1lbnQgaXMgbmVlZGVkICovCisKK3N0cnVjdCB2
aXJ0aW9fbmV0X2NvbmZpZyB7CisJLyogVGhlIGNvbmZpZyBkZWZpbmluZyBtYWMgYWRkcmVzcyAo
aWYgVklSVElPX05FVF9GX01BQykgKi8KKwlfX3U4IG1hY1tVS19ORVRERVZfSFdBRERSX0xFTl07
CisJLyogU2VlIFZJUlRJT19ORVRfRl9TVEFUVVMgYW5kIFZJUlRJT19ORVRfU18qIGFib3ZlICov
CisJX191MTYgc3RhdHVzOworCS8qIE1heGltdW0gbnVtYmVyIG9mIGVhY2ggb2YgdHJhbnNtaXQg
YW5kIHJlY2VpdmUgcXVldWVzOworCSAqIHNlZSBWSVJUSU9fTkVUX0ZfTVEgYW5kIFZJUlRJT19O
RVRfQ1RSTF9NUS4KKwkgKiBMZWdhbCB2YWx1ZXMgYXJlIGJldHdlZW4gMSBhbmQgMHg4MDAwCisJ
ICovCisJX191MTYgbWF4X3ZpcnRxdWV1ZV9wYWlyczsKKwkvKiBEZWZhdWx0IG1heGltdW0gdHJh
bnNtaXQgdW5pdCBhZHZpY2UgKi8KKwlfX3UxNiBtdHU7CisJLyoKKwkgKiBzcGVlZCwgaW4gdW5p
dHMgb2YgMU1iLiBBbGwgdmFsdWVzIDAgdG8gSU5UX01BWCBhcmUgbGVnYWwuCisJICogQW55IG90
aGVyIHZhbHVlIHN0YW5kcyBmb3IgdW5rbm93bi4KKwkgKi8KKwlfX3UzMiBzcGVlZDsKKwkvKgor
CSAqIDB4MDAgLSBoYWxmIGR1cGxleAorCSAqIDB4MDEgLSBmdWxsIGR1cGxleAorCSAqIEFueSBv
dGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uCisJICovCisJX191OCBkdXBsZXg7Cit9IF9f
cGFja2VkOworCisvKiBUaGlzIGhlYWRlciBjb21lcyBmaXJzdCBpbiB0aGUgc2NhdHRlci1nYXRo
ZXIgbGlzdC4KKyAqIEZvciBsZWdhY3kgdmlydGlvLCBpZiBWSVJUSU9fRl9BTllfTEFZT1VUIGlz
IG5vdCBuZWdvdGlhdGVkLCBpdCBtdXN0CisgKiBiZSB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUg
c2NhdHRlci1nYXRoZXIgbGlzdC4gIElmIHlvdSBkb24ndAorICogc3BlY2lmeSBHU08gb3IgQ1NV
TSBmZWF0dXJlcywgeW91IGNhbiBzaW1wbHkgaWdub3JlIHRoZSBoZWFkZXIuCisgKi8KK3N0cnVj
dCB2aXJ0aW9fbmV0X2hkciB7CisjZGVmaW5lIFZJUlRJT19ORVRfSERSX0ZfTkVFRFNfQ1NVTSAx
ICAgLyogVXNlIGNzdW1fc3RhcnQsIGNzdW1fb2Zmc2V0ICovCisjZGVmaW5lIFZJUlRJT19ORVRf
SERSX0ZfREFUQV9WQUxJRCAyICAgLyogQ3N1bSBpcyB2YWxpZCAqLworCS8qIFNlZSBWSVJUSU9f
TkVUX0hEUl9GXyogKi8KKwlfX3U4IGZsYWdzOworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09f
Tk9ORSAgICAgMCAgIC8qIE5vdCBhIEdTTyBmcmFtZSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0hE
Ul9HU09fVENQVjQgICAgMSAgIC8qIEdTTyBmcmFtZSwgSVB2NCBUQ1AgKFRTTykgKi8KKyNkZWZp
bmUgVklSVElPX05FVF9IRFJfR1NPX1VEUCAgICAgIDMgICAvKiBHU08gZnJhbWUsIElQdjQgVURQ
IChVRk8pICovCisjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNiAgICA0ICAgLyogR1NP
IGZyYW1lLCBJUHY2IFRDUCAqLworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fRUNOICAgICAg
MHg4MCAgICAvKiBUQ1AgaGFzIEVDTiBzZXQgKi8KKwkvKiBTZWUgVklSVElPX05FVF9IRFJfR1NP
XyogKi8KKwlfX3U4IGdzb190eXBlOworCV9fdmlydGlvX2xlMTYgaGRyX2xlbjsJLyogRXRoZXJu
ZXQgKyBJUCArIHRjcC91ZHAgaGRycyAqLworCV9fdmlydGlvX2xlMTYgZ3NvX3NpemU7CS8qIEJ5
dGVzIHRvIGFwcGVuZCB0byBoZHJfbGVuIHBlciBmcmFtZSAqLworCV9fdmlydGlvX2xlMTYgY3N1
bV9zdGFydDsgLyogUG9zaXRpb24gdG8gc3RhcnQgY2hlY2tzdW1taW5nIGZyb20gKi8KKwlfX3Zp
cnRpb19sZTE2IGNzdW1fb2Zmc2V0OyAvKiBPZmZzZXQgYWZ0ZXIgdGhhdCB0byBwbGFjZSBjaGVj
a3N1bSAqLworfTsKKworLyogVGhpcyBpcyB0aGUgdmVyc2lvbiBvZiB0aGUgaGVhZGVyIHRvIHVz
ZSB3aGVuIHRoZSBNUkdfUlhCVUYKKyAqIGZlYXR1cmUgaGFzIGJlZW4gbmVnb3RpYXRlZC4KKyAq
Lworc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1ZiB7CisJc3RydWN0IHZpcnRpb19uZXRf
aGRyIGhkcjsKKwlfX3ZpcnRpb19sZTE2IG51bV9idWZmZXJzOwkvKiBOdW1iZXIgb2YgbWVyZ2Vk
IHJ4IGJ1ZmZlcnMgKi8KK307CisKKy8qCisgKiBDb250cm9sIHZpcnRxdWV1ZSBkYXRhIHN0cnVj
dHVyZXMKKyAqCisgKiBUaGUgY29udHJvbCB2aXJ0cXVldWUgZXhwZWN0cyBhIGhlYWRlciBpbiB0
aGUgZmlyc3Qgc2cgZW50cnkKKyAqIGFuZCBhbiBhY2svc3RhdHVzIHJlc3BvbnNlIGluIHRoZSBs
YXN0IGVudHJ5LiAgRGF0YSBmb3IgdGhlCisgKiBjb21tYW5kIGdvZXMgaW4gYmV0d2Vlbi4KKyAq
Lworc3RydWN0IHZpcnRpb19uZXRfY3RybF9oZHIgeworCV9fdTggY2xhc3M7CisJX191OCBjbWQ7
Cit9IF9fcGFja2VkOworCit0eXBlZGVmIF9fdTggdmlydGlvX25ldF9jdHJsX2FjazsKKworI2Rl
ZmluZSBWSVJUSU9fTkVUX09LICAgICAwCisjZGVmaW5lIFZJUlRJT19ORVRfRVJSICAgIDEKKwor
LyoKKyAqIENvbnRyb2wgdGhlIFJYIG1vZGUsIGllLiBwcm9taXN1Y291cywgYWxsbXVsdGksIGV0
Yy4uLgorICogQWxsIGNvbW1hbmRzIHJlcXVpcmUgYW4gIm91dCIgc2cgZW50cnkgY29udGFpbmlu
ZyBhIDEgYnl0ZQorICogc3RhdGUgdmFsdWUsIHplcm8gPSBkaXNhYmxlLCBub24temVybyA9IGVu
YWJsZS4gIENvbW1hbmRzCisgKiAwIGFuZCAxIGFyZSBzdXBwb3J0ZWQgd2l0aCB0aGUgVklSVElP
X05FVF9GX0NUUkxfUlggZmVhdHVyZS4KKyAqIENvbW1hbmRzIDItNSBhcmUgYWRkZWQgd2l0aCBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWF9FWFRSQS4KKyAqLworI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxf
UlggICAgMAorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX1BST01JU0MgICAgICAwCisgI2Rl
ZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfQUxMTVVMVEkgICAgIDEKKyAjZGVmaW5lIFZJUlRJT19O
RVRfQ1RSTF9SWF9BTExVTkkgICAgICAgMgorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX05P
TVVMVEkgICAgICAzCisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9VTkkgICAgICAgIDQK
KyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9SWF9OT0JDQVNUICAgICAgNQorCisvKgorICogQ29u
dHJvbCB0aGUgTUFDCisgKgorICogVGhlIE1BQyBmaWx0ZXIgdGFibGUgaXMgbWFuYWdlZCBieSB0
aGUgaHlwZXJ2aXNvciwgdGhlIGd1ZXN0IHNob3VsZAorICogYXNzdW1lIHRoZSBzaXplIGlzIGlu
ZmluaXRlLiAgRmlsdGVyaW5nIHNob3VsZCBiZSBjb25zaWRlcmVkCisgKiBub24tcGVyZmVjdCwg
aWUuIGJhc2VkIG9uIGh5cGVydmlzb3IgcmVzb3VyY2VzLCB0aGUgZ3Vlc3QgbWF5CisgKiByZWNl
aXZlZCBwYWNrZXRzIGZyb20gc291cmNlcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBmaWx0ZXIgbGlz
dC4KKyAqCisgKiBJbiBhZGRpdGlvbiB0byB0aGUgY2xhc3MvY21kIGhlYWRlciwgdGhlIFRBQkxF
X1NFVCBjb21tYW5kIHJlcXVpcmVzCisgKiB0d28gb3V0IHNjYXR0ZXJsaXN0cy4gIEVhY2ggY29u
dGFpbnMgYSA0IGJ5dGUgY291bnQgb2YgZW50cmllcyBmb2xsb3dlZAorICogYnkgYSBjb25jYXRl
bmF0ZWQgYnl0ZSBzdHJlYW0gb2YgdGhlIEVUSF9BTEVOIE1BQyBhZGRyZXNzZXMuICBUaGUKKyAq
IGZpcnN0IHNnIGxpc3QgY29udGFpbnMgdW5pY2FzdCBhZGRyZXNzZXMsIHRoZSBzZWNvbmQgaXMg
Zm9yIG11bHRpY2FzdC4KKyAqIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBwcmVzZW50IGlmIHRoZSBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWCBmZWF0dXJlCisgKiBpcyBhdmFpbGFibGUuCisgKgorICogVGhl
IEFERFJfU0VUIGNvbW1hbmQgcmVxdWVzdHMgb25lIG91dCBzY2F0dGVybGlzdCwgaXQgY29udGFp
bnMgYQorICogNiBieXRlcyBNQUMgYWRkcmVzcy4gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHByZXNl
bnQgaWYgdGhlCisgKiBWSVJUSU9fTkVUX0ZfQ1RSTF9NQUNfQUREUiBmZWF0dXJlIGlzIGF2YWls
YWJsZS4KKyAqLworc3RydWN0IHZpcnRpb19uZXRfY3RybF9tYWMgeworCV9fdmlydGlvX2xlMzIg
ZW50cmllczsKKwlfX3U4IG1hY3NbXVtVS19ORVRERVZfSFdBRERSX0xFTl07Cit9IF9fcGFja2Vk
OworCisjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NQUMgICAgMQorICNkZWZpbmUgVklSVElPX05F
VF9DVFJMX01BQ19UQUJMRV9TRVQgICAgICAgIDAKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9N
QUNfQUREUl9TRVQgICAgICAgICAxCisKKy8qCisgKiBDb250cm9sIFZMQU4gZmlsdGVyaW5nCisg
KgorICogVGhlIFZMQU4gZmlsdGVyIHRhYmxlIGlzIGNvbnRyb2xsZWQgdmlhIGEgc2ltcGxlIEFE
RC9ERUwgaW50ZXJmYWNlLgorICogVkxBTiBJRHMgbm90IGFkZGVkIG1heSBiZSBmaWx0ZXJkIGJ5
IHRoZSBoeXBlcnZpc29yLiAgRGVsIGlzIHRoZQorICogb3Bwb3NpdGUgb2YgYWRkLiAgQm90aCBj
b21tYW5kcyBleHBlY3QgYW4gb3V0IGVudHJ5IGNvbnRhaW5pbmcgYSAyCisgKiBieXRlIFZMQU4g
SUQuICBWTEFOIGZpbHRlcnRpbmcgaXMgYXZhaWxhYmxlIHdpdGggdGhlCisgKiBWSVJUSU9fTkVU
X0ZfQ1RSTF9WTEFOIGZlYXR1cmUgYml0LgorICovCisjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9W
TEFOICAgICAgIDIKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9WTEFOX0FERCAgICAgICAgICAg
ICAwCisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfVkxBTl9ERUwgICAgICAgICAgICAgMQorCisv
KgorICogQ29udHJvbCBsaW5rIGFubm91bmNlIGFja25vd2xlZGdtZW50CisgKgorICogVGhlIGNv
bW1hbmQgVklSVElPX05FVF9DVFJMX0FOTk9VTkNFX0FDSyBpcyB1c2VkIHRvIGluZGljYXRlIHRo
YXQKKyAqIGRyaXZlciBoYXMgcmVjZXZpZWQgdGhlIG5vdGlmaWNhdGlvbjsgZGV2aWNlIHdvdWxk
IGNsZWFyIHRoZQorICogVklSVElPX05FVF9TX0FOTk9VTkNFIGJpdCBpbiB0aGUgc3RhdHVzIGZp
ZWxkIGFmdGVyIGl0IHJlY2VpdmVzCisgKiB0aGlzIGNvbW1hbmQuCisgKi8KKyNkZWZpbmUgVklS
VElPX05FVF9DVFJMX0FOTk9VTkNFICAgICAgIDMKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9B
Tk5PVU5DRV9BQ0sgICAgICAgICAwCisKKy8qCisgKiBDb250cm9sIFJlY2VpdmUgRmxvdyBTdGVl
cmluZworICoKKyAqIFRoZSBjb21tYW5kIFZJUlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQK
KyAqIGVuYWJsZXMgUmVjZWl2ZSBGbG93IFN0ZWVyaW5nLCBzcGVjaWZ5aW5nIHRoZSBudW1iZXIg
b2YgdGhlIHRyYW5zbWl0IGFuZAorICogcmVjZWl2ZSBxdWV1ZXMgdGhhdCB3aWxsIGJlIHVzZWQu
IEFmdGVyIHRoZSBjb21tYW5kIGlzIGNvbnN1bWVkIGFuZCBhY2tlZCBieQorICogdGhlIGRldmlj
ZSwgdGhlIGRldmljZSB3aWxsIG5vdCBzdGVlciBuZXcgcGFja2V0cyBvbiByZWNlaXZlIHZpcnRx
dWV1ZXMKKyAqIG90aGVyIHRoYW4gc3BlY2lmaWVkIG5vciByZWFkIGZyb20gdHJhbnNtaXQgdmly
dHF1ZXVlcyBvdGhlciB0aGFuIHNwZWNpZmllZC4KKyAqIEFjY29yZGluZ2x5LCBkcml2ZXIgc2hv
dWxkIG5vdCB0cmFuc21pdCBuZXcgcGFja2V0cyAgb24gdmlydHF1ZXVlcyBvdGhlciB0aGFuCisg
KiBzcGVjaWZpZWQuCisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X2N0cmxfbXEgeworCV9fdmlydGlv
X2xlMTYgdmlydHF1ZXVlX3BhaXJzOworfTsKKworI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVEg
ICA0CisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfU0VUICAgICAgICAwCisg
I2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfTUlOICAgICAgICAxCisgI2RlZmlu
ZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfTUFYICAgICAgICAweDgwMDAKKworLyoKKyAq
IENvbnRyb2wgbmV0d29yayBvZmZsb2FkcworICoKKyAqIFJlY29uZmlndXJlcyB0aGUgbmV0d29y
ayBvZmZsb2FkcyB0aGF0IEd1ZXN0IGNhbiBoYW5kbGUuCisgKgorICogQXZhaWxhYmxlIHdpdGgg
dGhlIFZJUlRJT19ORVRfRl9DVFJMX0dVRVNUX09GRkxPQURTIGZlYXR1cmUgYml0LgorICoKKyAq
IENvbW1hbmQgZGF0YSBmb3JtYXQgbWF0Y2hlcyB0aGUgZmVhdHVyZSBiaXQgbWFzayBleGFjdGx5
LgorICoKKyAqIFNlZSBWSVJUSU9fTkVUX0ZfR1VFU1RfKiBmb3IgdGhlIGxpc3Qgb2Ygb2ZmbG9h
ZHMKKyAqIHRoYXQgY2FuIGJlIGVuYWJsZWQvZGlzYWJsZWQuCisgKi8KKyNkZWZpbmUgVklSVElP
X05FVF9DVFJMX0dVRVNUX09GRkxPQURTICAgNQorI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfR1VF
U1RfT0ZGTE9BRFNfU0VUICAgICAgICAwCisKKyNlbmRpZiAvKiBfX1BMQVRfQ01OX1ZJUlRJT19O
RVRfSCAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40MWJhODYwCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fbmV0LmMKQEAgLTAsMCArMSw0MTcgQEAKKy8qCisgKiBBdXRob3JzOiBEYW4gV2ls
bGlhbXMKKyAqICAgICAgICAgIE1hcnRpbiBMdWNpbmEKKyAqICAgICAgICAgIFJpY2FyZG8gS29s
bGVyCisgKiAgICAgICAgICBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWls
LmNvbT4KKyAqICAgICAgICAgIFNoYXJhbiBTYW50aGFuYW0KKyAqCisgKiBDb3B5cmlnaHQgKGMp
IDIwMTUtMjAxNyBJQk0KKyAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE3IERvY2tlciwgSW5jLgor
ICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbgor
ICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRl
IHRoaXMgc29mdHdhcmUKKyAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlz
IGhlcmVieSBncmFudGVkLCBwcm92aWRlZAorICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIKKyAqIGluIGFsbCBjb3BpZXMu
CisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1Ig
RElTQ0xBSU1TIEFMTAorICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJF
IElOQ0xVRElORyBBTEwgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SIEJFIExJQUJMRSBG
T1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTCisgKiBP
RiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisgKiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0Yg
T1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMg
U09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+
CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKyNpbmNsdWRlIDx1
ay9hc3NlcnQuaD4KKyNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CisjaW5jbHVkZSA8dWsvc2ds
aXN0Lmg+CisjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgorI2luY2x1ZGUgPHVrL2FyY2gvbGlt
aXRzLmg+CisjaW5jbHVkZSA8dWsvbmV0YnVmLmg+CisjaW5jbHVkZSA8dWsvbmV0ZGV2Lmg+Cisj
aW5jbHVkZSA8dWsvbmV0ZGV2X2NvcmUuaD4KKyNpbmNsdWRlIDx1ay9uZXRkZXZfZHJpdmVyLmg+
CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19idXMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydHF1
ZXVlLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19uZXQuaD4KKworLyoqCisgKiBWSVJUSU9f
UEtUX0JVRkZFUl9MRU4gPSBWSVJUSU9fTkVUX0hEUiArIEVUSF9IRFIgKyBFVEhfUEtUX1BBWUxP
QURfTEVOCisgKiBWSVJUSU9fTkVUX0hEUjogMTAgYnl0ZXMgaW4gbGVuZ3RoIGluIGxlZ2FjeSBt
b2RlICsgMiBieXRlIG9mIHBhZGRlZCBkYXRhLgorICoJCSAgIDEyIGJ5dGVzIGluIGxlbmd0aCBp
biBtb2Rlcm4gbW9kZS4KKyAqLworI2RlZmluZSBWSVJUSU9fSERSX0xFTiAgICAgICAgICAxMgor
I2RlZmluZSBFVEhfSERSX0xFTiAgICAgICAgICAgICAxNAorI2RlZmluZSBFVEhfUEtUX1BBWUxP
QURfTEVOICAgMTUwMAorI2RlZmluZSBWSVJUSU9fUEtUX0JVRkZFUl9MRU4gKChFVEhfUEtUX1BB
WUxPQURfTEVOKQlcCisJCQkgICAgICAgKyAoRVRIX0hEUl9MRU4pCQlcCisJCQkgICAgICAgKyAo
VklSVElPX0hEUl9MRU4pKQorCisjZGVmaW5lIERSSVZFUl9OQU1FICAgICAgICAgICAidmlydGlv
LW5ldCIKKworCisjZGVmaW5lICBWVE5FVF9SWF9IRUFERVJfUEFEICg0KQorI2RlZmluZSAgVlRO
RVRfSU5UUl9FTiAgICgxIDw8IDApCisjZGVmaW5lICBWVE5FVF9JTlRSX0VOX01BU0sgICAoMSkK
KyNkZWZpbmUgIFZUTkVUX0lOVFJfVVNSX0VOICAgKDEgPDwgMSkKKyNkZWZpbmUgIFZUTkVUX0lO
VFJfVVNSX0VOX01BU0sgICAoMikKKworLyoqCisgKiBEZWZpbmUgbWF4IHBvc3NpYmxlIGZyYWdt
ZW50cyBmb3IgdGhlIG5ldHdvcmsgcGFja2V0cy4KKyAqLworI2RlZmluZSBORVRfTUFYX0ZSQUdN
RU5UUyAgICAoKF9fVTE2X01BWCA+PiBfX1BBR0VfU0hJRlQpICsgMikKKworI2RlZmluZSB0b192
aXJ0aW9uZXRkZXYobmRldikgXAorCV9fY29udGFpbmVyb2YobmRldiwgc3RydWN0IHZpcnRpb19u
ZXRfZGV2aWNlLCBuZXRkZXYpCisKKyNkZWZpbmUgVklSVElPX05FVF9EUlZfRkVBVFVSRVMoZmVh
dHVyZXMpICAgICAgICAgICBcCisJKFZJUlRJT19GRUFUVVJFU19VUERBVEUoZmVhdHVyZXMsIFZJ
UlRJT19ORVRfRl9NQUMpKQorCit0eXBlZGVmIGVudW0geworCVZORVRfUlgsCisJVk5FVF9UWCwK
K30gdmlydHFfdHlwZV90OworCisvKioKKyAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVz
ZW50IHRoZSB0cmFuc21pdCBxdWV1ZS4KKyAqLworc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7
CisJLyogVGhlIHZpcnRxdWV1ZSByZWZlcmVuY2UgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cTsK
KwkvKiBUaGUgaHcgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyog
VGhlIHVzZXIgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGxxdWV1ZV9pZDsKKwkvKiBU
aGUgbnIuIG9mIGRlc2NyaXB0b3IgbGltaXQgKi8KKwl1aW50MTZfdCBtYXhfbmJfZGVzYzsKKwkv
KiBUaGUgbnIuIG9mIGRlc2NyaXB0b3IgdXNlciBjb25maWd1cmVkICovCisJdWludDE2X3QgbmJf
ZGVzYzsKKwkvKiBUaGUgZmxhZyB0byBpbnRlcnJ1cHQgb24gdGhlIHRyYW5zbWl0IHF1ZXVlICov
CisJdWludDhfdCBpbnRyX2VuYWJsZWQ7CisJLyogUmVmZXJlbmNlIHRvIHRoZSB1a19uZXRkZXYg
Ki8KKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpuZGV2OworCS8qIFRoZSBzY2F0dGVyIGxpc3QgYW5kIGl0
cyBhc3NvY2lhdGVkIGZyYWdlbWVudHMgKi8KKwlzdHJ1Y3QgdWtfc2dsaXN0IHNnOworCXN0cnVj
dCB1a19zZ2xpc3Rfc2VnIHNnc2Vnc1tORVRfTUFYX0ZSQUdNRU5UU107Cit9OworCisvKioKKyAq
IEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IHRoZSByZWNlaXZlIHF1ZXVlLgorICov
CitzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlIHsKKwkvKiBUaGUgdmlydHF1ZXVlIHJlZmVyZW5j
ZSAqLworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCS8qIFRoZSB2aXJ0cXVldWUgaHcgaWRlbnRp
ZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyogVGhlIGxpYnVrbmV0IHF1ZXVlIGlkZW50
aWZpZXIgKi8KKwl1aW50MTZfdCBscXVldWVfaWQ7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlwdG9y
IGxpbWl0ICovCisJdWludDE2X3QgbWF4X25iX2Rlc2M7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlw
dG9yIHVzZXIgY29uZmlndXJlZCAqLworCXVpbnQxNl90IG5iX2Rlc2M7CisJLyogVGhlIGZsYWcg
dG8gaW50ZXJydXB0IG9uIHRoZSB0cmFuc21pdCBxdWV1ZSAqLworCXVpbnQ4X3QgaW50cl9lbmFi
bGVkOworCS8qIFJlZmVyZW5jZSB0byB0aGUgdWtfbmV0ZGV2ICovCisJc3RydWN0IHVrX25ldGRl
diAqbmRldjsKKwkvKiBUaGUgc2NhdHRlciBsaXN0IGFuZCBpdHMgYXNzb2NpYXRlZCBmcmFnZW1l
bnRzICovCisJc3RydWN0IHVrX3NnbGlzdCBzZzsKKwlzdHJ1Y3QgdWtfc2dsaXN0X3NlZyBzZ3Nl
Z3NbTkVUX01BWF9GUkFHTUVOVFNdOworfTsKKworc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlIHsK
KwkvKiBWaXJ0aW8gRGV2aWNlICovCisJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7CisJLyogTGlz
dCBvZiBhbGwgdGhlIHZpcnRxdWV1ZSBpbiB0aGUgcGNpIGRldmljZSAqLworCXN0cnVjdCB2aXJ0
cXVldWUgKnZxOworCXN0cnVjdCB1a19uZXRkZXYgbmV0ZGV2OworCS8qIENvdW50IG9mIHRoZSBu
dW1iZXIgb2YgdGhlIHZpcnRxdWV1ZXMgKi8KKwlfX3UxNiBtYXhfdnF1ZXVlX3BhaXJzOworCS8q
IExpc3Qgb2YgdGhlIFJ4L1R4IHF1ZXVlICovCisJX191MTYgICAgcnhfdnF1ZXVlX2NudDsKKwlz
dHJ1Y3QgICB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cXM7CisJX191MTYgICAgdHhfdnF1ZXVlX2Nu
dDsKKwlzdHJ1Y3QgICB1a19uZXRkZXZfdHhfcXVldWUgKnR4cXM7CisJLyogVGhlIG5ldGRldmlj
ZSBpZGVudGlmaWVyICovCisJX191MTYgdWlkOworCS8qIFRoZSBtYXggbXR1ICovCisJX191MTYg
bWF4X210dTsKKwkvKiBUaGUgbXR1ICovCisJX191MTYgbXR1OworCS8qIFRoZSBodyBhZGRyZXNz
IG9mIHRoZSBuZXRkZXZpY2UgKi8KKwlzdHJ1Y3QgdWtfaHdhZGRyIGh3X2FkZHI7CisJLyogIE5l
dGRldiBzdGF0ZSAqLworCV9fdTggc3RhdGU7CisJLyogUlggcHJvbWlzY3VvdXMgbW9kZS4gKi8K
KwlfX3U4IHByb21pc2MgOiAxOworfTsKKworLyoqCisgKiBTdGF0aWMgZnVuY3Rpb24gZGVjbGFy
YXRpb25zLgorICovCitzdGF0aWMgaW50IHZpcnRpb19uZXRfZHJ2X2luaXQoc3RydWN0IHVrX2Fs
bG9jICpkcnZfYWxsb2NhdG9yKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldF9hZGRfZGV2KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyB2b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LAorCQkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8p
Oworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmln
dXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9j
b25mICpjb25mKTsKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0
ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBx
dWV1ZV9pZCwKKwkJCQkJdWludDE2X3QgbmJfZGVzYywKKwkJCQkJc3RydWN0IHVrX25ldGRldl90
eHF1ZXVlX2NvbmYgKmNvbmYpOworc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnZp
cnRpb19uZXRkZXZfcnhfcXVldWVfc2V0dXAoCisJCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sCisJ
CQkJCXVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAorCQkJCQlzdHJ1Y3QgdWtf
bmV0ZGV2X3J4cXVldWVfY29uZiAqY29uZik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50
cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUpOworc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxl
KHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpxdWV1ZSk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKKwkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVj
dihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICpxdWV1ZSwKKwkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCisJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKKwkJCSAgICAgIHVpbnQxNl90ICpmaWxsdXBfY291
bnQpOworc3RhdGljIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnZpcnRpb19uZXRfbWFjX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3Ry
dWN0IHVrX25ldGRldiAqbik7CitzdGF0aWMgdW5zaWduZWQgdmlydGlvX25ldF9wcm9taXNjX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5m
b19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKKwkJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKK3N0YXRpYyBpbnQgdmlydGlvX25l
dGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwK
KwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKKworLyoqCisg
KiBTdGF0aWMgZ2xvYmFsIGNvbnN0YW50cworICovCitzdGF0aWMgY29uc3QgY2hhciAqZHJ2X25h
bWUgPSBEUklWRVJfTkFNRTsKK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7CisKKy8qKgorICog
VGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCisgKi8KK3N0YXRpYyBpbnQgdmlydGlv
X25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCSAgICAgIHN0cnVjdCB1a19u
ZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQor
eworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQocGt0ICYmIHF1
ZXVlKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yo
c3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0IF9fdW51
c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCisJCQkgICAgICB1aW50
MTZfdCAqZmlsbHVwX2NvdW50KQoreworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2ICYm
IHF1ZXVlKTsKKwlVS19BU1NFUlQoIWZpbGx1cCB8fCAoZmlsbHVwICYmICpmaWxsdXBfY291bnQg
PiAwKSk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKworCXJldHVybiByeHE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKwlyZXR1cm4gdHhxOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2lu
Zm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBf
X3VudXNlZCwKKwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQor
eworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChxaW5mbyk7CisJcmV0dXJuIDA7Cit9CisK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCSAgICAgIHN0cnVj
dCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKHFpbmZvKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIHZpcnRpb19u
ZXRfcHJvbWlzY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJ
cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0aW9fbmV0
X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJu
IE5VTEw7Cit9CisKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3RydWN0IHVrX25l
dGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKKwkJCQkgICBjb25z
dCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYgX191bnVzZWQpCit7CisJaW50IHJjID0gMDsK
KworCVVLX0FTU0VSVChuKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9f
bmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKK3sKKwlpbnQgcmMgPSAwOworCisJ
VUtfQVNTRVJUKG4pOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRf
cnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVr
X25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191bnVzZWQpCit7CisJVUtfQVNTRVJUKG4pOworCXJl
dHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0X2luZm9fZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwKKwkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQoreworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CisKKwlVS19BU1NFUlQoZGV2ICYmIGRldl9p
bmZvKTsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihkZXYpOworCisJZGV2X2luZm8tPm1heF9y
eF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKKwlkZXZfaW5mby0+bWF4X3R4X3F1
ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOworfQorCitzdGF0aWMgaW50IHZpcnRpb19u
ZXRfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobiAhPSBOVUxMKTsK
KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVy
ZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldikKK3sKKwl2bmRldi0+dmRldi0+
ZmVhdHVyZXMgPSAwOworCS8qIFNldHRpbmcgdGhlIGZlYXR1cmUgdGhlIGRyaXZlciBzdXBwb3J0
ICovCisJVklSVElPX05FVF9EUlZfRkVBVFVSRVModm5kZXYtPnZkZXYtPmZlYXR1cmVzKTsKKwkv
KioKKwkgKiBUT0RPOgorCSAqIEFkZGluZyBtdWx0aXF1ZXVlIHN1cHBvcnQgZm9yIHRoZSB2aXJ0
aW8gbmV0IGRyaXZlci4KKwkgKi8KKwl2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycyA9IDE7Cit9CisK
K3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB2aXJ0aW9fbmV0ZGV2X29wcyA9IHsK
KwkuY29uZmlndXJlID0gdmlydGlvX25ldGRldl9jb25maWd1cmUsCisJLnJ4cV9jb25maWd1cmUg
PSB2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwLAorCS50eHFfY29uZmlndXJlID0gdmlydGlv
X25ldGRldl90eF9xdWV1ZV9zZXR1cCwKKwkuc3RhcnQgPSB2aXJ0aW9fbmV0X3N0YXJ0LAorCS5y
eHFfaW50cl9lbmFibGUgPSB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlLAorCS5yeHFfaW50cl9k
aXNhYmxlID0gdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUsCisJLmluZm9fZ2V0ID0gdmlydGlv
X25ldF9pbmZvX2dldCwKKwkucHJvbWlzY3VvdXNfZ2V0ID0gdmlydGlvX25ldF9wcm9taXNjX2dl
dCwKKwkuaHdhZGRyX2dldCA9IHZpcnRpb19uZXRfbWFjX2dldCwKKwkubXR1X2dldCA9IHZpcnRp
b19uZXRfbXR1X2dldCwKKwkudHhxX2luZm9fZ2V0ID0gdmlydGlvX25ldGRldl90eHFfaW5mb19n
ZXQsCisJLnJ4cV9pbmZvX2dldCA9IHZpcnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0LAorfTsKKwor
c3RhdGljIGludCB2aXJ0aW9fbmV0X2FkZF9kZXYoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCit7
CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKKwlpbnQgcmMgPSAwOworCisJVUtf
QVNTRVJUKHZkZXYgIT0gTlVMTCk7CisKKwl2bmRldiA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZu
ZGV2KSk7CisJaWYgKCF2bmRldikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsK
Kwl9CisJdm5kZXYtPnZkZXYgPSB2ZGV2OworCS8qIHJlZ2lzdGVyIG5ldGRldiAqLworCXZuZGV2
LT5uZXRkZXYucnhfb25lID0gdmlydGlvX25ldGRldl9yZWN2OworCXZuZGV2LT5uZXRkZXYudHhf
b25lID0gdmlydGlvX25ldGRldl94bWl0OworCXZuZGV2LT5uZXRkZXYub3BzID0gJnZpcnRpb19u
ZXRkZXZfb3BzOworCisJcmMgPSB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKCZ2bmRldi0+bmV0ZGV2
LCBhLCBkcnZfbmFtZSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBy
ZWdpc3RlciB2aXJ0aW8tbmV0IGRldmljZSB3aXRoIGxpYnVrbmV0XG4iKTsKKwkJZ290byBlcnJf
bmV0ZGV2X2RhdGE7CisJfQorCXZuZGV2LT51aWQgPSByYzsKKwlyYyA9IDA7CisJdm5kZXYtPm1h
eF9tdHUgPSBFVEhfUEtUX1BBWUxPQURfTEVOOworCXZuZGV2LT5tdHUgPSB2bmRldi0+bWF4X210
dTsKKwl2bmRldi0+cHJvbWlzYyA9IDA7CisJdmlydGlvX25ldGRldl9mZWF0dXJlX3NldCh2bmRl
dik7CisJdWtfcHJfaW5mbygidmlydGlvLW5ldCBkZXZpY2UgcmVnaXN0ZXJlZCB3aXRoIGxpYnVr
bmV0XG4iKTsKKworZXhpdDoKKwlyZXR1cm4gcmM7CitlcnJfbmV0ZGV2X2RhdGE6CisJdWtfZnJl
ZShhLCB2bmRldik7CitlcnJfb3V0OgorCWdvdG8gZXhpdDsKK30KKworc3RhdGljIGludCB2aXJ0
aW9fbmV0X2Rydl9pbml0KHN0cnVjdCB1a19hbGxvYyAqZHJ2X2FsbG9jYXRvcikKK3sKKwkvKiBk
cml2ZXIgaW5pdGlhbGl6YXRpb24gKi8KKwlpZiAoIWRydl9hbGxvY2F0b3IpCisJCXJldHVybiAt
RUlOVkFMOworCisJYSA9IGRydl9hbGxvY2F0b3I7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBj
b25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCB2bmV0X2Rldl9pZFtdID0geworCXtWSVJUSU9fSURf
TkVUfSwKKwl7VklSVElPX0lEX0lOVkFMSUR9IC8qIExpc3QgVGVybWluYXRvciAqLworfTsKKwor
c3RhdGljIHN0cnVjdCB2aXJ0aW9fZHJpdmVyIHZuZXRfZHJ2ID0geworCS5kZXZfaWRzID0gdm5l
dF9kZXZfaWQsCisJLmluaXQgICAgPSB2aXJ0aW9fbmV0X2Rydl9pbml0LAorCS5hZGRfZGV2ID0g
dmlydGlvX25ldF9hZGRfZGV2Cit9OworVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoJnZuZXRf
ZHJ2KTsKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51
awppbmRleCAxM2U1NTc1Li5mYjM2NzdhIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9Db25maWcudWsK
KysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCkBAIC03MSw1ICs3MSwxMyBAQCBjb25maWcgVklSVElP
X1BDSQogICAgICAgIGhlbHAKICAgICAgICAgICAgICAgIFN1cHBvcnQgdmlydGlvIGRldmljZXMg
b24gUENJIGJ1cwogCitjb25maWcgVklSVElPX05FVAorICAgICAgIGJvb2wgIlZpcnRpbyBOZXQg
ZGV2aWNlIgorICAgICAgIGRlZmF1bHQgbgorICAgICAgIGRlcGVuZHMgb24gTElCVUtORVRERVYK
KyAgICAgICBzZWxlY3QgVklSVElPCisgICAgICAgc2VsZWN0IExJQlVLU0dMSVNUCisgICAgICAg
aGVscAorICAgICAgICAgICAgICBWaXJ0dWFsIG5ldHdvcmsgZHJpdmVyLgogZW5kbWVudQogZW5k
aWYKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUu
dWsKaW5kZXggY2NjODMxOS4uMWY5YzVkYyAxMDA2NDQKLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUu
dWsKKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKQEAgLTk2LDMgKzk2LDUgQEAgTElCS1ZNVklS
VElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCiAJCQkJCQkJJChVS19QTEFUX0RSSVZF
UlNfQkFTRSkvdmlydGlvL3ZpcnRpb19yaW5nLmMKIExJQktWTVZJUlRJT19TUkNTLSQoQ09ORklH
X1ZJUlRJT19QQ0kpICs9XAogCQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92
aXJ0aW9fcGNpLmMKK0xJQktWTVZJUlRJT19TUkNTLSQoQ09ORklHX1ZJUlRJT19ORVQpICs9XAor
CQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fbmV0LmMKLS0gCjIu
Ny40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJk7-0003dM-Cu; Wed, 24 Oct 2018 14:02:39 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJk5-0003d7-KN
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:37 +0000
X-Inumbo-ID: 0c44577b-d795-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 0c44577b-d795-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:59:39 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 41534104A57;
 Wed, 24 Oct 2018 16:02:35 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id XX2TwrYcPGE6; Wed, 24 Oct 2018 16:02:35 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 21F05104910;
 Wed, 24 Oct 2018 16:02:31 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:30 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:13 +0200
Message-ID: <1540389738-17112-3-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 2/7] plat/drivers: Configure
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gY2FsbGJhY2tzIHRvIGNvbmZp
Z3VyZSB0aGUKdmlydGlvIGRldmljZSBmcm9tIGxpYnVrbmV0CgpTaWduZWQtb2ZmLWJ5OiBTaGFy
YW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Ci0tLQogcGxhdC9k
cml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgfCAxODEgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKystCiAxIGZpbGUgY2hhbmdlZCwgMTc3IGluc2VydGlvbnMoKyksIDQgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMg
Yi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwppbmRleCA0MWJhODYwLi4wNjlmNTFm
IDEwMDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYworKysgYi9wbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpAQCAtMTYxLDYgKzE2MSw5IEBAIHN0YXRpYyB2
b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogc3RhdGljIGlu
bGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2
aWNlICp2bmRldik7CiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1
a19uZXRkZXYgKm4sCiAJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHR4X2FsbG9jKHN0cnVjdCB2aXJ0aW9fbmV0X2Rl
dmljZSAqdm5kZXYsCisJCQkJICAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZik7
CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZpcnRp
b19uZXRfZGV2aWNlICp2bmRldik7CiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAq
dmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwg
dWludDE2X3QgcXVldWVfaWQsCiAJCQkJCXVpbnQxNl90IG5iX2Rlc2MsCkBAIC0yNjcsMzAgKzI3
MCwyMDAgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtf
bmV0ZGV2ICpkZXYsCiAKIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0
cnVjdCB1a19uZXRkZXYgKm4pCiB7CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICpkOworCiAJ
VUtfQVNTRVJUKG4pOwotCXJldHVybiAwOworCWQgPSB0b192aXJ0aW9uZXRkZXYobik7CisJcmV0
dXJuIGQtPnByb21pc2M7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0
aW9fbmV0X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlvX25l
dF9kZXZpY2UgKmQ7CisKIAlVS19BU1NFUlQobik7Ci0JcmV0dXJuIE5VTEw7CisJZCA9IHRvX3Zp
cnRpb25ldGRldihuKTsKKwlyZXR1cm4gJmQtPmh3X2FkZHI7CiB9CiAKIHN0YXRpYyBfX3UxNiB2
aXJ0aW9fbmV0X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2UgKmQ7CisKIAlVS19BU1NFUlQobik7Ci0JcmV0dXJuIDA7CisJZCA9IHRvX3Zp
cnRpb25ldGRldihuKTsKKwlyZXR1cm4gZC0+bXR1OworfQorCitzdGF0aWMgaW50IHZpcnRpb19u
ZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldikK
K3sKKwlfX3U2NCBob3N0X2ZlYXR1cmVzID0gMDsKKwlfX3UxNiBod19sZW47CisJaW50IHJjID0g
MDsKKworCS8qKgorCSAqIFJlYWQgZGV2aWNlIGZlYXR1cmUgYml0cywgYW5kIHdyaXRlIHRoZSBz
dWJzZXQgb2YgZmVhdHVyZSBiaXRzCisJICogdW5kZXJzdG9vZCBieSB0aGUgT1MgYW5kIGRyaXZl
ciB0byB0aGUgZGV2aWNlLiBEdXJpbmcgdGhpcyBzdGVwIHRoZQorCSAqIGRyaXZlciBNQVkgcmVh
ZCAoYnV0IE1VU1QgTk9UIHdyaXRlKSB0aGUgZGV2aWNlLXNwZWNpZmljCisJICogY29uZmlndXJh
dGlvbiBmaWVsZHMgdG8gY2hlY2sgdGhhdCBpdCBjYW4gc3VwcG9ydCB0aGUgZGV2aWNlIGJlZm9y
ZQorCSAqIGFjY2VwdGluZyBpdC4KKwkgKi8KKwlob3N0X2ZlYXR1cmVzID0gdmlydGlvX2ZlYXR1
cmVfZ2V0KHZuZGV2LT52ZGV2KTsKKwlpZiAoIXZpcnRpb19oYXNfZmVhdHVyZXMoaG9zdF9mZWF0
dXJlcywgVklSVElPX05FVF9GX01BQykpIHsKKwkJLyoqCisJCSAqIFRoZSBmZWF0dXJlIHRoYXQg
YXJlbid0IHN1cHBvcnRlZCBhcmUgdXN1YWxseSBtYXNrZWQgb3V0IGFuZAorCQkgKiBwcm92aWRl
ZCB3aXRoIGRlZmF1bHQgdmFsdWUuIEluIHRoaXMgY2FzZSB3ZSBuZWVkIHRvCisJCSAqIHJlcG9y
dCBhbiBlcnJvciBhcyB3ZSBkb24ndCBzdXBwb3J0ICBnZW5lcmF0aW9uIG9mIHJhbmRvbQorCQkg
KiBNQUMgQWRkcmVzcy4KKwkJICovCisJCXVrX3ByX2VycigiSG9zdCBzeXN0ZW0gZG9lcyBub3Qg
b2ZmZXIgTUFDIGZlYXR1cmVcbiIpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKKwl9
CisKKwkvKioKKwkgKiBBY2NvcmRpbmcgdG8gVmlydGlvIHNwZWNpZmljYXRpb24sIHNlY3Rpb24g
Mi4zLjEuIENvbmZpZyBmaWVsZHMKKwkgKiBncmVhdGVyIHRoYW4gMzItYml0cyBjYW5ub3QgYmUg
YXRvbWljYWxseSByZWFkLiBXZSBtYXkgbmVlZCB0bworCSAqIHJlY29uc2lkZXIgcHJvdmlkaW5n
IGdlbmVyaWMgcmVhZC93cml0ZSBmdW5jdGlvbiBmb3IgYWxsIHRoZXNlCisJICogdmlydGlvIGRl
dmljZSBpbiBhIHNlcGFyYXRlIGhlYWRlciBmaWxlIHdoaWNoIGNvdWxkIGJlIHJldXNlZCBhY3Jv
c3MKKwkgKiBkaWZmZXJlbnQgdmlydGlvIGRldmljZXMuCisJICovCisJaHdfbGVuID0gdmlydGlv
X2NvbmZpZ19nZXQodm5kZXYtPnZkZXYsCisJCQkJICAgX19vZmZzZXRvZihzdHJ1Y3QgdmlydGlv
X25ldF9jb25maWcsIG1hYyksCisJCQkJICAgJnZuZGV2LT5od19hZGRyLmFkZHJfYnl0ZXNbMF0s
CisJCQkJICAgVUtfTkVUREVWX0hXQUREUl9MRU4sIDEpOworCWlmICh1bmxpa2VseShod19sZW4g
IT0gVUtfTkVUREVWX0hXQUREUl9MRU4pKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHJldHJp
ZXZlIHRoZSBtYWMgYWRkcmVzcyBmcm9tIGRldmljZVxuIik7CisJCXJjID0gLUVBR0FJTjsKKwkJ
Z290byBleGl0OworCX0KKwlyYyA9IDA7CisKKwkvKioKKwkgKiBNYXNrIG91dCBmZWF0dXJlcyBz
dXBwb3J0ZWQgYnkgYm90aCBkcml2ZXIgYW5kIGRldmljZS4KKwkgKi8KKwl2bmRldi0+dmRldi0+
ZmVhdHVyZXMgJj0gaG9zdF9mZWF0dXJlczsKKwl2aXJ0aW9fZmVhdHVyZV9zZXQodm5kZXYtPnZk
ZXYsIHZuZGV2LT52ZGV2LT5mZWF0dXJlcyk7CitleGl0OgorCXJldHVybiByYzsKK30KKworc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4dHhfYWxsb2Moc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICp2bmRldiwKKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKQorewor
CWludCByYyA9IDA7CisJaW50IGkgPSAwOworCWludCB2cV9hdmFpbCA9IDA7CisJaW50IHRvdGFs
X3ZxcyA9IGNvbmYtPm5iX3J4X3F1ZXVlcyArIGNvbmYtPm5iX3R4X3F1ZXVlczsKKwlfX3UxNiBx
ZGVzY19zaXplW3RvdGFsX3Zxc107CisKKwlpZiAoY29uZi0+bmJfcnhfcXVldWVzICE9IDEgfHwg
Y29uZi0+bmJfdHhfcXVldWVzICE9IDEpIHsKKwkJdWtfcHJfZXJyKCJRdWV1ZSBjb21iaW5hdGlv
biBub3Qgc3VwcG9ydGVkOiAlIl9fUFJJdTE2Ii8lIl9fUFJJdTE2IiByeC90eFxuIiwKKwkJCSAg
Y29uZi0+bmJfcnhfcXVldWVzLCBjb25mLT5uYl90eF9xdWV1ZXMpOworCisJCXJldHVybiAtRU5P
VFNVUDsKKwl9CisKKwkvKioKKwkgKiBUT0RPOgorCSAqIFRoZSB2aXJ0aW8gZGV2aWNlIG1hbmFn
ZW1lbnQgZGF0YSBzdHJ1Y3R1cmUgYXJlIGFsbG9jYXRlZCB1c2luZyB0aGUKKwkgKiBhbGxvY2F0
b3IgZnJvbSB0aGUgbmV0ZGV2IGNvbmZpZ3VyYXRpb24uIEluIHRoZSBmdXR1cmUgaXQgbWlnaHQg
YmUKKwkgKiB3aXNlciB0byBtb3ZlIGl0IHRvIHRoZSBhbGxvY2F0b3Igb2YgZWFjaCBpbmRpdmlk
dWFsIHF1ZXVlLiBUaGlzCisJICogd291bGQgYmV0dGVyIGNvbnNpZGVyaW5nIE5VTUEgc3VwcG9y
dC4KKwkgKi8KKwl2bmRldi0+cnhxcyA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZuZGV2LT5yeHFz
KSAqIGNvbmYtPm5iX3J4X3F1ZXVlcyk7CisJdm5kZXYtPnR4cXMgPSB1a19tYWxsb2MoYSwgc2l6
ZW9mKCp2bmRldi0+dHhxcykgKiBjb25mLT5uYl90eF9xdWV1ZXMpOworCWlmICh1bmxpa2VseSgh
dm5kZXYtPnJ4cXMgfHwgIXZuZGV2LT50eHFzKSkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBh
bGxvY2F0ZSBtZW1vcnkgZm9yIHF1ZXVlIG1hbmFnZW1lbnRcbiIpOworCQlyYyA9IC1FTk9NRU07
CisJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKKwl9CisKKwl2cV9hdmFpbCA9IHZpcnRpb19maW5kX3Zx
cyh2bmRldi0+dmRldiwgdG90YWxfdnFzLCBxZGVzY19zaXplKTsKKwlpZiAodW5saWtlbHkodnFf
YXZhaWwgIT0gdG90YWxfdnFzKSkgeworCQl1a19wcl9lcnIoIkV4cGVjdGVkOiAlZCBxdWV1ZXMs
IEZvdW5kOiAlZCBxdWV1ZXNcbiIsCisJCQkgIHRvdGFsX3ZxcywgdnFfYXZhaWwpOworCQlyYyA9
IC1FTk9NRU07CisJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKKwl9CisKKwkvKioKKwkgKiBUaGUgdmly
dHF1ZXVlIGFyZSBvcmdhbml6ZWQgYXM6CisJICogVmlydHF1ZXVlLXJ4MAorCSAqIFZpcnRxdWV1
ZS10eDAKKwkgKiBWaXJ0cXVldWUtcngxCisJICogVmlydHF1ZXVlLXR4MQorCSAqIC4uLgorCSAq
IFZpcnRxdWV1ZS1jdHJscQorCSAqLworCWZvciAoaSA9IDA7IGkgPCB2bmRldi0+bWF4X3ZxdWV1
ZV9wYWlyczsgaSsrKSB7CisJCS8qKgorCQkgKiBJbml0aWFsaXplIHRoZSByZWNlaXZlZCBxdWV1
ZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiByZWNlaXZlZAorCQkgKiBmcm9tIHRoZSBkZXZpY2UuCisJ
CSAqLworCQl2bmRldi0+cnhxc1tpXS5od3ZxX2lkID0gMiAqIGk7CisJCXZuZGV2LT5yeHFzW2ld
Lm1heF9uYl9kZXNjID0gcWRlc2Nfc2l6ZVt2bmRldi0+cnhxc1tpXS5od3ZxX2lkXTsKKwkJdWtf
c2dsaXN0X2luaXQoJnZuZGV2LT5yeHFzW2ldLnNnLAorCQkJICAgICAgIChzaXplb2Yodm5kZXYt
PnJ4cXNbaV0uc2dzZWdzKSAvCisJCQkJc2l6ZW9mKHZuZGV2LT5yeHFzW2ldLnNnc2Vnc1swXSkp
LAorCQkJICAgICAgICZ2bmRldi0+cnhxc1tpXS5zZ3NlZ3NbMF0pOworCisJCS8qKgorCQkgKiBJ
bml0aWFsaXplIHRoZSB0cmFuc21pdCBxdWV1ZSB3aXRoIHRoZSBpbmZvcm1hdGlvbiByZWNlaXZl
ZAorCQkgKiBmcm9tIHRoZSBkZXZpY2UuCisJCSAqLworCQl2bmRldi0+dHhxc1tpXS5od3ZxX2lk
ID0gKDIgKiBpKSArIDE7CisJCXZuZGV2LT50eHFzW2ldLm1heF9uYl9kZXNjID0gcWRlc2Nfc2l6
ZVt2bmRldi0+dHhxc1tpXS5od3ZxX2lkXTsKKwkJdWtfc2dsaXN0X2luaXQoJnZuZGV2LT50eHFz
W2ldLnNnLAorCQkJICAgICAgIChzaXplb2Yodm5kZXYtPnR4cXNbaV0uc2dzZWdzKSAvCisJCQkJ
c2l6ZW9mKHZuZGV2LT50eHFzW2ldLnNnc2Vnc1swXSkpLAorCQkJICAgICAgICZ2bmRldi0+dHhx
c1tpXS5zZ3NlZ3NbMF0pOworCX0KK2V4aXQ6CisJcmV0dXJuIHJjOworCitlcnJfZnJlZV90eHJ4
OgorCWlmICghdm5kZXYtPnJ4cXMpCisJCXVrX2ZyZWUoYSwgdm5kZXYtPnJ4cXMpOworCWlmICgh
dm5kZXYtPnR4cXMpCisJCXVrX2ZyZWUoYSwgdm5kZXYtPnR4cXMpOworCWdvdG8gZXhpdDsKIH0K
IAogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpu
LAotCQkJCSAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZiBfX3VudXNlZCkKKwkJ
CQkgICBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpCiB7CiAJaW50IHJjID0gMDsK
KwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2OwogCiAJVUtfQVNTRVJUKG4pOworCVVL
X0FTU0VSVChjb25mKTsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihuKTsKKworCXJjID0gdmly
dGlvX25ldGRldl9mZWF0dXJlX25lZ290aWF0ZSh2bmRldik7CisJaWYgKHJjICE9IDApIHsKKwkJ
dWtfcHJfZXJyKCJGYWlsZWQgdG8gbmVnb3RpYXRlIHRoZSBkZXZpY2UgZmVhdHVyZSAlZFxuIiwg
cmMpOworCQlnb3RvIGVycl9uZWdvdGlhdGVfZmVhdHVyZTsKKwl9CisKKwlyYyA9IHZpcnRpb19u
ZXRkZXZfcnh0eF9hbGxvYyh2bmRldiwgY29uZik7CisJaWYgKHJjICE9IDApIHsKKwkJdWtfcHJf
ZXJyKCJGYWlsZWQgdG8gcHJvYmUgdGhlIHJ4IGFuZCB0eCByaW5ncyAlZFxuIiwgcmMpOworCQln
b3RvIGVycl9uZWdvdGlhdGVfZmVhdHVyZTsKKwl9CisKKwkvKiBJbml0aWFsaXplIHRoZSBjb3Vu
dCBvZiB0aGUgdmlydGlvLW5ldCBkZXZpY2UgKi8KKwl2bmRldi0+cnhfdnF1ZXVlX2NudCA9IDA7
CisJdm5kZXYtPnR4X3ZxdWV1ZV9jbnQgPSAwOwogCisJdWtfcHJfaW5mbygiQ29uZmlndXJlZDog
ZmVhdHVyZXM9MHglbHggbWF4X3ZpcnRxdWV1ZV9wYWlycz0lIl9fUFJJdTE2IlxuIiwKKwkJICAg
dm5kZXYtPnZkZXYtPmZlYXR1cmVzLCB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycyk7CitleGl0Ogog
CXJldHVybiByYzsKKworZXJyX25lZ290aWF0ZV9mZWF0dXJlOgorCXZpcnRpb19kZXZfc3RhdHVz
X3VwZGF0ZSh2bmRldi0+dmRldiwgVklSVElPX0NPTkZJR19TVEFUVVNfRkFJTCk7CisJZ290byBl
eGl0OwogfQogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9lbmFibGUoc3RydWN0IHVr
X25ldGRldiAqbiwKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlz
dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp
c3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:43 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJkB-0003eC-Eu; Wed, 24 Oct 2018 14:02:43 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJk9-0003dv-Sm
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:41 +0000
X-Inumbo-ID: adf4a637-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id adf4a637-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:04:10 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 94DA8F2014;
 Wed, 24 Oct 2018 16:02:39 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KHjAWTorrF79; Wed, 24 Oct 2018 16:02:39 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 7299CF200F;
 Wed, 24 Oct 2018 16:02:35 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:35 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:14 +0200
Message-ID: <1540389738-17112-4-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 3/7] plat/drivers: Configure the
 receive queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dGlu
ZyB1cCB0aGUKcmVjZWl2ZSBxdWV1ZS4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0g
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBwbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19uZXQuYyB8IDE0NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
LS0KIDEgZmlsZSBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRp
ZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDA2OWY1MWYuLjk5Njk4ZjMgMTAwNjQ0Ci0tLSBh
L3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX25ldC5jCkBAIC0xNjgsNiArMTY4LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0
ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAogCQkJCQlzdHJ1Y3Qg
dWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBxdWV1ZV9pZCwKIAkJCQkJdWludDE2X3QgbmJfZGVzYywK
IAkJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYpOworc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2
LAorCQkJCSAgICAgIHVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBucl9kZXNjLAorCQkJCSAg
ICAgIHZpcnRxX3R5cGVfdCBxdWV1ZV90eXBlLAorCQkJCSAgICAgIHN0cnVjdCB1a19hbGxvYyAq
YSk7CiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9x
dWV1ZV9zZXR1cCgKIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwKIAkJCQkJdWludDE2X3QgcXVl
dWVfaWQsIHVpbnQxNl90IG5iX2Rlc2MsCkBAIC0xOTEsNiArMTk1LDcgQEAgc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1
ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwog
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsIF9fdTE2IHF1ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5m
byAqcWluZm8pOworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSwgdm9pZCAqcHJpdik7CiAKIC8qKgogICogU3RhdGljIGdsb2JhbCBjb25zdGFu
dHMKQEAgLTIwMSw2ICsyMDYsMjMgQEAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsKIC8qKgog
ICogVGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCiAgKi8KK3N0YXRpYyBpbnQgdmly
dGlvX25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKnByaXYpCit7
CisJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0gTlVMTDsKKworCVVLX0FTU0VSVCh2
cSAmJiBwcml2KTsKKworCXJ4cSA9IChzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICopIHByaXY7
CisKKwkvKiBEaXNhYmxlIHRoZSBpbnRlcnJ1cHQgZm9yIHRoZSByaW5nICovCisJdmlydHF1ZXVl
X2ludHJfZGlzYWJsZSh2cSk7CisJcnhxLT5pbnRyX2VuYWJsZWQgJj0gfihWVE5FVF9JTlRSX0VO
KTsKKworCS8qIEluZGljYXRlIHRvIHRoZSBuZXR3b3JrIHN0YWNrIGFib3V0IGFuIGV2ZW50ICov
CisJdWtfbmV0ZGV2X2Rydl9yeF9ldmVudChyeHEtPm5kZXYsIHJ4cS0+bHF1ZXVlX2lkKTsKKwly
ZXR1cm4gMTsKK30KKwogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3htaXQoc3RydWN0IHVrX25l
dGRldiAqZGV2LAogCQkJICAgICAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCiAJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpCkBAIC0yMjgsMTUgKzI1MCwxMTEgQEAgc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2Vk
LAogfQogCiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9y
eF9xdWV1ZV9zZXR1cCgKLQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBxdWV1ZV9p
ZCBfX3VudXNlZCwKLQkJCQl1aW50MTZfdCBuYl9kZXNjIF9fdW51c2VkLAotCQkJCXN0cnVjdCB1
a19uZXRkZXZfcnhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQorCQkJCXN0cnVjdCB1a19uZXRk
ZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MsCisJCQkJc3Ry
dWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYpCiB7CisJc3RydWN0IHZpcnRpb19uZXRf
ZGV2aWNlICp2bmRldjsKIAlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOwor
CWludCByYzsKIAogCVVLX0FTU0VSVChuKTsKKwlVS19BU1NFUlQoY29uZik7CisJdm5kZXYgPSB0
b192aXJ0aW9uZXRkZXYobik7CisJaWYgKHF1ZXVlX2lkID49IHZuZGV2LT5tYXhfdnF1ZXVlX3Bh
aXJzKSB7CisJCXVrX3ByX2VycigiSW52YWxpZCB2aXJ0cXVldWUgaWRlbnRpZmllcjogJSJfX1BS
SXUxNiJcbiIsCisJCQkgIHF1ZXVlX2lkKTsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGVycl9l
eGl0OworCX0KKwkvKiBTZXR1cCB0aGUgdmlydHF1ZXVlIHdpdGggdGhlIGRlc2NyaXB0b3IgKi8K
KwlyYyA9IHZpcnRpb19uZXRkZXZfdnF1ZXVlX3NldHVwKHZuZGV2LCBxdWV1ZV9pZCwgbmJfZGVz
YywgVk5FVF9SWCwKKwkJCQkJY29uZi0+YSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIo
IkZhaWxlZCB0byBzZXQgdXAgdmlydHF1ZXVlICUiX19QUkl1MTYiOiAlZFxuIiwKKwkJCSAgcXVl
dWVfaWQsIHJjKTsKKwkJZ290byBlcnJfZXhpdDsKKwl9CisJcnhxICA9ICZ2bmRldi0+cnhxc1ty
Y107CiAKK2V4aXQ6CiAJcmV0dXJuIHJ4cTsKKworZXJyX2V4aXQ6CisJcnhxID0gRVJSMlBUUihy
Yyk7CisJZ290byBleGl0OworfQorCisvKioKKyAqIFRoaXMgZnVuY3Rpb24gc2V0dXAgdGhlIHZy
aW5nIGluZnJhc3RydWN0dXJlLgorICogQHBhcmFtIHZuZGV2CisgKglSZWZlcmVuY2UgdG8gdGhl
IHZpcnRpbyBuZXQgZGV2aWNlLgorICogQHBhcmFtIHF1ZXVlX2lkCisgKglVc2VyIHF1ZXVlIGlk
ZW50aWZpZXIKKyAqIEBwYXJhbSBucl9kZXNjCisgKglVc2VyIGNvbmZpZ3VyZWQgbnVtYmVyIG9m
IGRlc2NyaXB0b3JzLgorICogQHBhcmFtIHF1ZXVlX3R5cGUKKyAqCVF1ZXVlIHR5cGUuCisgKiBA
cGFyYW0gYQorICoJUmVmZXJlbmNlIHRvIHRoZSBhbGxvY2F0b3IuCisgKi8KK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl92cXVldWVfc2V0dXAoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRl
diwKKwkJdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90IG5yX2Rlc2MsIHZpcnRxX3R5cGVfdCBx
dWV1ZV90eXBlLAorCQlzdHJ1Y3QgdWtfYWxsb2MgKmEpCit7CisJaW50IHJjID0gMDsKKwlpbnQg
aWQgPSAwOworCXZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrOworCXVpbnQxNl90IG1heF9k
ZXNjLCBod3ZxX2lkOworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCisJaWYgKHF1ZXVlX3R5cGUg
PT0gVk5FVF9SWCkgeworCQlpZCA9IHZuZGV2LT5yeF92cXVldWVfY250OworCQljYWxsYmFjayA9
IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lOworCQltYXhfZGVzYyA9IHZuZGV2LT5yeHFzW2lkXS5t
YXhfbmJfZGVzYzsKKwkJaHd2cV9pZCA9IHZuZGV2LT5yeHFzW2lkXS5od3ZxX2lkOworCX0gZWxz
ZSB7CisJCWlkID0gdm5kZXYtPnR4X3ZxdWV1ZV9jbnQ7CisJCS8qIFdlIGRvbid0IHN1cHBvcnQg
dGhlIGNhbGxiYWNrIGZyb20gdGhlIHR4cXVldWUgeWV0ICovCisJCWNhbGxiYWNrID0gTlVMTDsK
KwkJbWF4X2Rlc2MgPSB2bmRldi0+dHhxc1tpZF0ubWF4X25iX2Rlc2M7CisJCWh3dnFfaWQgPSB2
bmRldi0+dHhxc1tpZF0uaHd2cV9pZDsKKwl9CisKKwlpZiAodW5saWtlbHkobWF4X2Rlc2MgPCBu
cl9kZXNjKSkgeworCQl1a19wcl9lcnIoIk1heCBhbGxvd2VkIGRlc2M6ICUiX19QUkl1MTYiIFJl
cXVlc3RlZCBkZXNjOiUiX19QUkl1MTYiXG4iLAorCQkJICBtYXhfZGVzYywgbnJfZGVzYyk7CisJ
CXJldHVybiAtRU5PQlVGUzsKKwl9CisKKwkvKiBDaGVjayBpZiB0aGUgZGVzY3JpcHRvciBpcyBh
IHBvd2VyIG9mIDIgKi8KKwlpZiAodW5saWtlbHkobnJfZGVzYyAmIChucl9kZXNjIC0gMSkpKSB7
CisJCXVrX3ByX2VycigiRXhwZWN0IGRlc2NyaXB0b3IgY291bnQgYXMgYSBwb3dlciAyXG4iKTsK
KwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXZxID0gdmlydGlvX3ZxdWV1ZV9zZXR1cCh2bmRldi0+
dmRldiwgaHd2cV9pZCwgbnJfZGVzYywgY2FsbGJhY2ssIGEpOworCWlmICh1bmxpa2VseShQVFJJ
U0VSUih2cSkpKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHNldCB1cCB2aXJ0cXVldWUgJSJf
X1BSSXUxNiJcbiIsCisJCQkgIHF1ZXVlX2lkKTsKKwkJcmMgPSBQVFIyRVJSKHZxKTsKKwkJcmV0
dXJuIHJjOworCX0KKworCWlmIChxdWV1ZV90eXBlID09IFZORVRfUlgpIHsKKwkJdnEtPnByaXYg
PSAmdm5kZXYtPnJ4cXNbaWRdOworCQl2bmRldi0+cnhxc1tpZF0ubmRldiA9ICZ2bmRldi0+bmV0
ZGV2OworCQl2bmRldi0+cnhxc1tpZF0udnEgPSB2cTsKKwkJdm5kZXYtPnJ4cXNbaWRdLm5iX2Rl
c2MgPSBucl9kZXNjOworCQl2bmRldi0+cnhxc1tpZF0ubHF1ZXVlX2lkID0gcXVldWVfaWQ7CisJ
CXZuZGV2LT5yeF92cXVldWVfY250Kys7CisJfSBlbHNlIHsKKwkJdm5kZXYtPnR4cXNbaWRdLnZx
ID0gdnE7CisJCXZuZGV2LT50eHFzW2lkXS5uZGV2ID0gJnZuZGV2LT5uZXRkZXY7CisJCXZuZGV2
LT50eHFzW2lkXS5uYl9kZXNjID0gbnJfZGVzYzsKKwkJdm5kZXYtPnR4cXNbaWRdLmxxdWV1ZV9p
ZCA9IHF1ZXVlX2lkOworCQl2bmRldi0+dHhfdnF1ZXVlX2NudCsrOworCX0KKwlyZXR1cm4gaWQ7
CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4
X3F1ZXVlX3NldHVwKApAQCAtMjUxLDEyICszNjksMjkgQEAgc3RhdGljIHN0cnVjdCB1a19uZXRk
ZXZfdHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVldWVfc2V0dXAoCiB9CiAKIHN0YXRpYyBp
bnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAotCQkJ
CSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lk
LAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCiB7CisJc3Ry
dWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKKwlzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpyeHE7CisJaW50IHJjID0gMDsKKwogCVVLX0FTU0VSVChkZXYpOwogCVVLX0FTU0VSVChxaW5m
byk7Ci0JcmV0dXJuIDA7CisJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKKwlpZiAodW5s
aWtlbHkocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpKSB7CisJCXVrX3ByX2Vy
cigiSW52YWxpZCB2aXJ0cXVldWUgaWQ6ICUiX19QUkl1MTYiXG4iLCBxdWV1ZV9pZCk7CisJCXJj
ID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKwlyeHEgPSAmdm5kZXYtPnJ4cXNbcXVldWVf
aWRdOworCXFpbmZvLT5uYl9taW4gPSAxOworCXFpbmZvLT5uYl9tYXggPSByeHEtPm1heF9uYl9k
ZXNjOworCXFpbmZvLT5uYl9pc19wb3dlcl9vZl90d28gPSAxOworCitleGl0OgorCXJldHVybiBy
YzsKKwogfQogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1
a19uZXRkZXYgKmRldiwKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:46 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJkE-0003ex-HP; Wed, 24 Oct 2018 14:02:46 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJkD-0003ei-4k
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:45 +0000
X-Inumbo-ID: b075fbd9-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b075fbd9-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:04:15 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id CEF1F104A57;
 Wed, 24 Oct 2018 16:02:43 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vaa-_g0waWpq; Wed, 24 Oct 2018 16:02:43 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id AFA27104910;
 Wed, 24 Oct 2018 16:02:39 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:39 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:15 +0200
Message-ID: <1540389738-17112-5-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 4/7] plat/drivers: Configuring
 the transmit queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBuZXQgZGV2aWNlIGltcGxlbWVudGF0aW9u
IGZvcgpjb25maWd1cmluZyB0aGUgdHJhbnNtaXQgcXVldWUKClNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBS
YXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDk5Njk4ZjMuLjNhNzQ5YWEgMTAwNjQ0
Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC0zNjMsOSArMzYzLDMyIEBAIHN0YXRpYyBzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAogCQkJCXN0
cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQogewogCXN0cnVjdCB1
a19uZXRkZXZfdHhfcXVldWUgKnR4cSA9IE5VTEw7CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICp2bmRldjsKKwlpbnQgcmMgPSAwOwogCiAJVUtfQVNTRVJUKG4pOworCXZuZGV2ID0gdG9fdmly
dGlvbmV0ZGV2KG4pOworCWlmIChxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykg
eworCQl1a19wcl9lcnIoIkludmFsaWQgdmlydHF1ZXVlIGlkZW50aWZpZXI6ICUiX19QUkl1MTYi
XG4iLAorCQkJICBxdWV1ZV9pZCk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnJfZXhpdDsK
Kwl9CisJLyogU2V0dXAgdGhlIHZpcnRxdWV1ZSAqLworCXJjID0gdmlydGlvX25ldGRldl92cXVl
dWVfc2V0dXAodm5kZXYsIHF1ZXVlX2lkLCBuYl9kZXNjLCBWTkVUX1RYLAorCQkJCQljb25mLT5h
KTsKKwlpZiAocmMgPCAwKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHNldCB1cCB2aXJ0cXVl
dWUgJSJfX1BSSXUxNiI6ICVkXG4iLAorCQkJICBxdWV1ZV9pZCwgcmMpOworCQlnb3RvIGVycl9l
eGl0OworCX0KKwl0eHEgPSAmdm5kZXYtPnR4cXNbcmNdOworZXhpdDoKIAlyZXR1cm4gdHhxOwor
CitlcnJfZXhpdDoKKwl0eHEgPSBFUlIyUFRSKHJjKTsKKwlnb3RvIGV4aXQ7CiB9CiAKIHN0YXRp
YyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LApA
QCAtMzk4LDkgKzQyMSwyNiBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKIAkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNl
ZCwKIAkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQogeworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CisJc3RydWN0IHVrX25ldGRldl90eF9xdWV1
ZSAqdHhxOworCWludCByYyA9IDA7CisKIAlVS19BU1NFUlQoZGV2KTsKIAlVS19BU1NFUlQocWlu
Zm8pOwotCXJldHVybiAwOworCisJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKKwlpZiAo
dW5saWtlbHkocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpKSB7CisJCXVrX3By
X2VycigiSW52YWxpZCBxdWV1ZV9pZCAlIl9fUFJJdTE2IlxuIiwgcXVldWVfaWQpOworCQlyYyA9
IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKKwl9CisJdHhxID0gJnZuZGV2LT50eHFzW3F1ZXVlX2lk
XTsKKwlxaW5mby0+bmJfbWluID0gMTsKKwlxaW5mby0+bmJfbWF4ID0gdHhxLT5tYXhfbmJfZGVz
YzsKKwlxaW5mby0+bmJfaXNfcG93ZXJfb2ZfdHdvID0gMTsKKworZXhpdDoKKwlyZXR1cm4gcmM7
CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKm4pCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJkJ-0003g3-Is; Wed, 24 Oct 2018 14:02:51 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJkI-0003fp-Dz
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:50 +0000
X-Inumbo-ID: b30d3827-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b30d3827-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:04:19 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 2864EF2014;
 Wed, 24 Oct 2018 16:02:48 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id i-1F1qS8pnjr; Wed, 24 Oct 2018 16:02:48 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 01F69F200F;
 Wed, 24 Oct 2018 16:02:44 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:43 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:16 +0200
Message-ID: <1540389738-17112-6-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 5/7] plat/drivers: Configure
 receive queue interrupt
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGltcGxlbWVudHMgZW5hYmxlIGFuZCBkaXNhYmxpbmcgaW50ZXJydXB0IG9uIHRo
ZSByZWNlaXZlCnF1ZXVlLgoKU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFu
LnNhbnRoYW5hbUBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6
dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2lt
b24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMgfCAyNCArKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNl
cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX25ldC5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKaW5kZXgg
M2E3NDlhYS4uNjhjYWRhMSAxMDA2NDQKLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
bmV0LmMKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKQEAgLTY0MiwxOSAr
NjQyLDM5IEBAIGVycl9uZWdvdGlhdGVfZmVhdHVyZToKIH0KIAogc3RhdGljIGludCB2aXJ0aW9f
bmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCi0JCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKKwkJCQkgICAgIHN0cnVjdCB1a19u
ZXRkZXZfcnhfcXVldWUgKnF1ZXVlKQogeworCXN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqZCBf
X3VudXNlZDsKIAlpbnQgcmMgPSAwOwogCiAJVUtfQVNTRVJUKG4pOworCWQgPSB0b192aXJ0aW9u
ZXRkZXYobik7CisJLyogSWYgdGhlIGludGVycnVwdCBpcyBlbmFibGVkICovCisJaWYgKHF1ZXVl
LT5pbnRyX2VuYWJsZWQgJiBWVE5FVF9JTlRSX0VOKQorCQlyZXR1cm4gMDsKKworCS8qKgorCSAq
IEVuYWJsZSB0aGUgdXNlciBjb25maWd1cmF0aW9uIGJpdC4gVGhpcyB3b3VsZCBjYXVzZSB0aGUg
aW50ZXJydXB0IHRvCisJICogYmUgZW5hYmxlZCBhdXRvbWF0aWNhbGx5LCBpZiB0aGUgaW50ZXJy
dXB0IGNvdWxkIG5vdCBiZSBlbmFibGVkIG5vdworCSAqIGR1ZSB0byBkYXRhIGluIHRoZSBxdWV1
ZS4KKwkgKi8KKwlxdWV1ZS0+aW50cl9lbmFibGVkID0gVlRORVRfSU5UUl9VU1JfRU47CisJcmMg
PSB2aXJ0cXVldWVfaW50cl9lbmFibGUocXVldWUtPnZxKTsKKwlpZiAoIXJjKQorCQlxdWV1ZS0+
aW50cl9lbmFibGVkIHw9IFZUTkVUX0lOVFJfRU47CiAKIAlyZXR1cm4gcmM7CiB9CiAKIHN0YXRp
YyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRldiAqbiwKLQkJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKKwkJCQkg
ICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSkKIHsKKwlzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2UgKnZuZGV2IF9fdW51c2VkOworCiAJVUtfQVNTRVJUKG4pOworCXZuZGV2ID0g
dG9fdmlydGlvbmV0ZGV2KG4pOworCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUocXVldWUtPnZxKTsK
KwlxdWV1ZS0+aW50cl9lbmFibGVkICY9IH4oVlRORVRfSU5UUl9VU1JfRU4gfCBWVE5FVF9JTlRS
X0VOKTsKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:02:56 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJkO-0003h8-KW; Wed, 24 Oct 2018 14:02:56 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJkM-0003gj-Kr
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:54 +0000
X-Inumbo-ID: 1699901d-d795-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1699901d-d795-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 15:59:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 9BF56104A57;
 Wed, 24 Oct 2018 16:02:52 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id O8jxxnRIQ4nj; Wed, 24 Oct 2018 16:02:52 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 7D07D104910;
 Wed, 24 Oct 2018 16:02:48 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:48 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:17 +0200
Message-ID: <1540389738-17112-7-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 6/7] plat/drivers: Starting the
 virtio device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21h
aWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIu
ZXU+Ci0tLQogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgfCAyNiArKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKykKCmRpZmYg
LS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDY4Y2FkYTEuLjUzYzBjOTMgMTAwNjQ0Ci0tLSBhL3Bs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX25ldC5jCkBAIC02OTIsNyArNjkyLDMzIEBAIHN0YXRpYyB2b2lkIHZpcnRpb19uZXRf
aW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRf
c3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2Ug
KmQ7CisJaW50IGkgPSAwOworCiAJVUtfQVNTRVJUKG4gIT0gTlVMTCk7CisJZCA9IHRvX3ZpcnRp
b25ldGRldihuKTsKKworCS8qCisJICogQnkgZGVmYXVsdCwgaW50ZXJydXB0cyBhcmUgZGlzYWJs
ZWQgYW5kIGl0IGlzIHVwIHRvIHRoZSB1c2VyIG9yCisJICogbmV0d29yayBzdGFjayB0byBtYW51
YWxseSBlbmFibGUgdGhlbSB3aXRoIGEgY2FsbCB0bworCSAqIGVuYWJsZV90eHxyeF9pbnRyKCkK
KwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgZC0+cnhfdnF1ZXVlX2NudDsgaSsrKSB7CisJCXZpcnRx
dWV1ZV9pbnRyX2Rpc2FibGUoZC0+cnhxc1tpXS52cSk7CisJCWQtPnJ4cXNbaV0uaW50cl9lbmFi
bGVkID0gMDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZC0+dHhfdnF1ZXVlX2NudDsgaSsrKSB7
CisJCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUoZC0+dHhxc1tpXS52cSk7CisJCWQtPnR4cXNbaV0u
aW50cl9lbmFibGVkID0gMDsKKwl9CisKKwkvKgorCSAqIFNldCB0aGUgRFJJVkVSX09LIHN0YXR1
cyBiaXQuIEF0IHRoaXMgcG9pbnQgdGhlIGRldmljZSBpcyAibGl2ZSIuCisJICovCisJdmlydGlv
X2Rldl9kcnZfdXAoZC0+dmRldik7CisJdWtfcHJfaW5mbyhEUklWRVJfTkFNRSI6ICUiX19QUkl1
MTYiIHN0YXJ0ZWRcbiIsIGQtPnVpZCk7CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi43LjQKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 14:03:00 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 14:03:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFJkS-0003i2-Mx; Wed, 24 Oct 2018 14:03:00 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vptq=ne=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFJkR-0003hl-AC
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 14:02:59 +0000
X-Inumbo-ID: b8489785-d795-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id b8489785-d795-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 14:04:28 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id E5F27F2014;
 Wed, 24 Oct 2018 16:02:56 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Fc0wNTHdpC_j; Wed, 24 Oct 2018 16:02:56 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id C2435F200F;
 Wed, 24 Oct 2018 16:02:52 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 16:02:52 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Wed, 24 Oct 2018 16:02:18 +0200
Message-ID: <1540389738-17112-8-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v3 7/7] plat/drivers: Receive and
 Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBhZGQgdGhlIHRyYW5zbWlzc2lvbiBhbmQgcmVjZWl2ZSBvcGVyYXRpb24gZm9y
IHRoZQp2aXJ0aW8tbmV0IGRldmljZS4gV2UgZXh0ZW5kIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0
IHRvIG9wZXJhdGUKb24gdGhlIG5ldGJ1Zi4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFu
YW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29q
b2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtuZXRkZXYvaW5j
bHVkZS91ay9uZXRkZXZfY29yZS5oIHwgICAzICstCiBsaWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51
ayAgICAgICAgICAgIHwgICAxICsKIGxpYi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oICAg
ICAgfCAgMTggKysKIGxpYi91a3NnbGlzdC9zZ2xpc3QuYyAgICAgICAgICAgICAgICAgfCAgMjUg
KysrCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyAgICAgIHwgMzEwICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0KIDUgZmlsZXMgY2hhbmdlZCwgMzUzIGluc2VydGlv
bnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0ZGV2X2NvcmUuaCBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgK
aW5kZXggYjE0YTljOS4uYjc3YzQ1YSAxMDA2NDQKLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUv
dWsvbmV0ZGV2X2NvcmUuaAorKysgYi9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29y
ZS5oCkBAIC04NSw3ICs4NSw4IEBAIHN0cnVjdCB1a19uZXRkZXZfaW5mbyB7CiAJdWludDE2X3Qg
bWF4X3R4X3F1ZXVlczsKIAlpbnQgaW5fcXVldWVfcGFpcnM7IC8qKjwgSWYgdHJ1ZSwgYWxsb2Nh
dGUgcXVldWVzIGluIHBhaXJzLiAqLwogCXVpbnQxNl90IG1heF9tdHU7ICAgLyoqPCBNYXhpbXVt
IHN1cHBvcnRlZCBNVFUgc2l6ZS4gKi8KLQl1aW50MTZfdCBuYl9lbmNhcDsgIC8qKjwgTnVtYmVy
IG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciB0eC4gKi8KKwl1aW50MTZfdCBuYl9l
bmNhcF90eDsgIC8qKjwgTnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciB0
eC4gKi8KKwl1aW50MTZfdCBuYl9lbmNhcF9yeDsgIC8qKjwgTnVtYmVyIG9mIGJ5dGVzIHJlcXVp
cmVkIGFzIGhlYWRyb29tIGZvciByeC4gKi8KIH07CiAKIC8qKgpkaWZmIC0tZ2l0IGEvbGliL3Vr
c2dsaXN0L2V4cG9ydHN5bXMudWsgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awppbmRleCBh
MWU5YjM3Li5mOGM2MGY3IDEwMDY0NAotLS0gYS9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awor
KysgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awpAQCAtOSwzICs5LDQgQEAgdWtfc2dsaXN0
X2xlbmd0aAogdWtfc2dsaXN0X3NwbGl0CiB1a19zZ2xpc3Rfam9pbgogdWtfc2dsaXN0X3NsaWNl
Cit1a19zZ2xpc3RfYXBwZW5kX25ldGJ1ZgpkaWZmIC0tZ2l0IGEvbGliL3Vrc2dsaXN0L2luY2x1
ZGUvdWsvc2dsaXN0LmggYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaAppbmRleCBh
ODliMTBkLi5kYjAwMGMwIDEwMDY0NAotLS0gYS9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xp
c3QuaAorKysgYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaApAQCAtNDQsMTIgKzQ0
LDE2IEBACiBleHRlcm4gIkMiIHsKICNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwogCisjaW5jbHVk
ZSA8dWsvY29uZmlnLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CiAjaW5jbHVkZSA8dWsvYXJjaC90
eXBlcy5oPgogI2luY2x1ZGUgPHVrL3JlZmNvdW50Lmg+CiAjaWZkZWYgQ09ORklHX0xJQlVLQUxM
T0MKICNpbmNsdWRlIDx1ay9hbGxvYy5oPgogI2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICov
CisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCisjaW5jbHVkZSA8dWsvbmV0YnVmLmg+CisjZW5k
aWYgLyogQ09ORklHX0xJQlVLTkVUREVWICovCiAKIHN0cnVjdCB1a19zZ2xpc3Rfc2VnIHsKIAlf
X3BoeXNfYWRkciAgc3NfcGFkZHI7IC8qIFBoeXNpY2FsIGFkZHJlc3MgKi8KQEAgLTI2NSw2ICsy
NjksMjAgQEAgaW50IHVrX3NnbGlzdF9zbGljZShzdHJ1Y3QgdWtfc2dsaXN0ICpvcmlnaW5hbCwg
c3RydWN0IHVrX3NnbGlzdCAqKnNsaWNlLAogCQkJc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3Qg
b2Zmc2V0LCBzaXplX3QgbGVuZ3RoKTsKICNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwog
CisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCisvKioKKyAqIFRoZSBmdW5jdGlvbiBjcmVhdGUg
YSBzY2F0dGVyIGdhdGhlciBsaXN0IGZyb20gdGhlIG5ldGJ1ZgorICogQHBhcmFtIHNnCisgKglB
IHJlZmVyZW5jZSB0byB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdC4KKyAqIEBwYXJhbSBtMAorICoJ
QSByZWZlcmVuY2UgdG8gdGhlIG5ldGJ1ZgorICogQHJldHVybgorICoJMCwgb24gc3VjY2Vzc2Z1
bCBjcmVhdGlvbiBvZiB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdAorICoJLUVJTlZBTCwgSW52YWxp
ZCBzZyBsaXN0LgorICovCitpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3Nn
bGlzdCAqc2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1Zik7CisjZW5kaWYgLyogQ09ORklHX0xJ
QlVLTkVUICovCisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmIC8qIF9fY3BsdXNwbHVz
ICovCmRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMgYi9saWIvdWtzZ2xpc3Qvc2ds
aXN0LmMKaW5kZXggMGVjMjEwNS4uMDEzMTU5NiAxMDA2NDQKLS0tIGEvbGliL3Vrc2dsaXN0L3Nn
bGlzdC5jCisrKyBiL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwpAQCAtNTMxLDMgKzUzMSwyOCBAQCBp
bnQgdWtfc2dsaXN0X3NsaWNlKHN0cnVjdCB1a19zZ2xpc3QgKm9yaWdpbmFsLCBzdHJ1Y3QgdWtf
c2dsaXN0ICoqc2xpY2UsCiAJcmV0dXJuIDA7CiB9CiAjZW5kaWYgLyogQ09ORklHX1VLQUxMT0Mg
Ki8KKworI2lmZGVmIENPTkZJR19MSUJVS05FVERFVgoraW50IHVrX3NnbGlzdF9hcHBlbmRfbmV0
YnVmKHN0cnVjdCB1a19zZ2xpc3QgKnNnLCBzdHJ1Y3QgdWtfbmV0YnVmICpuZXRidWYpCit7CisJ
c3RydWN0IHNnc2F2ZSBzYXZlOworCXN0cnVjdCB1a19uZXRidWYgKm5iOworCWludCBlcnJvcjsK
KworCWlmIChzZy0+c2dfbWF4c2VnID09IDApCisJCXJldHVybiAtRUlOVkFMOworCisJZXJyb3Ig
PSAwOworCVNHTElTVF9TQVZFKHNnLCBzYXZlKTsKKwlVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSChu
YiwgbmV0YnVmKSB7CisJCWlmIChsaWtlbHkobmItPmxlbiA+IDApKSB7CisJCQllcnJvciA9IHVr
X3NnbGlzdF9hcHBlbmQoc2csIG5iLT5kYXRhLCBuYi0+bGVuKTsKKwkJCWlmICh1bmxpa2VseShl
cnJvcikpIHsKKwkJCQlTR0xJU1RfUkVTVE9SRShzZywgc2F2ZSk7CisJCQkJcmV0dXJuIGVycm9y
OworCQkJfQorCQl9CisJfQorCXJldHVybiAwOworfQorI2VuZGlmIC8qIENPTkZJR19MSUJVS05F
VERFViAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwppbmRleCA1M2MwYzkzLi4zZjdjYTM2IDEw
MDY0NAotLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYworKysgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpAQCAtNzksNiArNzksMTcgQEAgdHlwZWRlZiBlbnVt
IHsKIH0gdmlydHFfdHlwZV90OwogCiAvKioKKyAqIFdoZW4gbWVyZ2VhYmxlIGJ1ZmZlcnMgYXJl
IG5vdCBuZWdvdGlhdGVkLCB0aGUgdnRuZXRfcnhfaGVhZGVyIHN0cnVjdHVyZQorICogYmVsb3cg
aXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5ldGJ1ZiBkYXRhLiBVc2UgNCBieXRl
cyBvZiBwYWQgdG8KKyAqIGJvdGgga2VlcCB0aGUgVmlydElPIGhlYWRlciBhbmQgdGhlIGRhdGEg
bm9uLWNvbnRpZ3VvdXMgYW5kIHRvIGtlZXAgdGhlCisgKiBmcmFtZSdzIHBheWxvYWQgNCBieXRl
IGFsaWduZWQuCisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkciB7CisJc3RydWN0IHZpcnRp
b19uZXRfaGRyIHZoZHI7CisJY2hhciAgICAgICAgICAgIHZyaF9wYWRbVlRORVRfUlhfSEVBREVS
X1BBRF07Cit9OworCisvKioKICAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IHRo
ZSB0cmFuc21pdCBxdWV1ZS4KICAqLwogc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7CkBAIC0x
ODAsNiArMTkxLDcgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZGlzYWJsZShzdHJ1
Y3QgdWtfbmV0ZGV2ICpuLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1
ZXVlKTsKIHN0YXRpYyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0
ZGV2ICpuLAogCQkJCSAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOworc3Rh
dGljIHZvaWQgdmlydGlvX25ldGRldl94bWl0X2ZyZWUoc3RydWN0IHVrX25ldGRldl90eF9xdWV1
ZSAqdHhxKTsKIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAogCQkJICAg
ICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KTsKQEAgLTE5NSw3ICsyMDcsMTMgQEAgc3RhdGljIGlu
dCB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2
IHF1ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8p
Owogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIF9fdTE2IHF1ZXVlX2lkLAogCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVf
aW5mbyAqcWluZm8pOworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9kZXF1ZXVlKHN0cnVj
dCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKKwkJCQkgICAgIHN0cnVjdCB1a19uZXRidWYgKipu
ZXRidWYpOworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9lbnF1ZXVlKHN0cnVjdCB1a19u
ZXRkZXZfcnhfcXVldWUgKnJ4cSwKKwkJCQkgICAgIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1Zik7
CiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVldWUgKnZx
LCB2b2lkICpwcml2KTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeF9maWxsdXAoc3RydWN0
IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQlzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmLCBf
X3UxNiAqY291bnQpOwogCiAvKioKICAqIFN0YXRpYyBnbG9iYWwgY29uc3RhbnRzCkBAIC0yMjMs
MzAgKzI0MSwzMTQgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSwgdm9pZCAqcHJpdikKIAlyZXR1cm4gMTsKIH0KIAorc3RhdGljIHZvaWQg
dmlydGlvX25ldGRldl94bWl0X2ZyZWUoc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxKQor
eworCXN0cnVjdCB1a19uZXRidWYgKnBrdCA9IE5VTEw7CisJaW50IGNudCA9IDA7CisKKwlkbyB7
CisJCXBrdCA9IChzdHJ1Y3QgdWtfbmV0YnVmICopCisJCQl2aXJ0cXVldWVfYnVmZmVyX2RlcXVl
dWUodHhxLT52cSwgTlVMTCk7CisJCS8qKgorCQkgKiBSZWxlYXNpbmcgdGhlIGZyZWUgYnVmZmVy
IGJhY2sgdG8gbmV0YnVmLiBUaGUgbmV0YnVmIGNvdWxkCisJCSAqIHVzZSB0aGUgZGVzdHJ1Y3Rv
ciB0byBpbmZvcm0gdGhlIHN0YWNrIHJlZ2FyZGluZyB0aGUgZnJlZSB1cAorCQkgKiBvZiBtZW1v
cnkuCisJCSAqLworCQlpZiAocGt0KSB7CisJCQl1a19uZXRidWZfZnJlZShwa3QpOworCQkJY250
Kys7CisJCX0KKwl9IHdoaWxlIChwa3QpOworCXVrX3ByX2RlYnVnKCJGcmVlICUiX19QUkl1MTYi
IGRlc2NyaXB0b3JzXG4iLCBjbnQpOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhf
ZmlsbHVwKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKKwkJc3RydWN0IHVrX25ldGJ1
ZiAqKm5ldGJ1ZiwgX191MTYgKmNvdW50KQoreworCWludCByYyA9IDA7CisJX191MTYgaSA9IDA7
CisJX191MTYgY250ID0gMDsKKworCS8qKgorCSAqIEZpeGVkIGFtb3VudCBvZiBtZW1vcnkgaXMg
YWxsb2NhdGVkIHRvIGVhY2ggcmVjZWl2ZWQgYnVmZmVyLiBJbgorCSAqIG91ciBjYXNlIHNpbmNl
IHdlIGRvbid0IHN1cHBvcnQganVtYm8gZnJhbWUgb3IgTFJPIHlldCB3ZSByZXF1aXJlCisJICog
dGhhdCB0aGUgYnVmZmVyIGZlZWQgdG8gdGhlIHJpbmcgZGVzY3JpcHRvciBpcyBhdGxlYXN0CisJ
ICogZXRoZXJuZXQgTVRVICsgdmlydGlvIG5ldCBoZWFkZXIuCisJICovCisJZm9yIChpID0gMDsg
aSA8ICpjb3VudDsgaSsrKSB7CisJCXJjID0gdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShyeHEs
IG5ldGJ1ZltpXSk7CisJCWlmIChyYyA9PSAtRU5PU1BDKSB7CisJCQl1a19wcl9kZWJ1ZygKKwkJ
CQkiTm8gbW9yZSBwbGFjZSBhdmFpbGFibGUgdG8gYWRkIGRlc2NyaXB0b3JzXG4iKTsKKwkJCXJj
ID0gMDsKKwkJCWJyZWFrOworCQl9IGVsc2UgaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKKwkJCXVr
X3ByX2VycigiRmFpbGVkIHRvIGFkZCBhIGJ1ZmZlciB0byB0aGUgdmlydHF1ZXVlOiAlZFxuIiwK
KwkJCQkgIHJjKTsKKwkJCWJyZWFrOworCQl9CisJCWNudCsrOworCX0KKwkqY291bnQgPSAqY291
bnQgLSBjbnQ7CisKKwkvKioKKwkgKiBOb3RpZnkgdGhlIGhvc3QsIHdoZW4gd2Ugc3VibWl0IG5l
dyBkZXNjcmlwdG9yKHMpLgorCSAqLworCWlmIChjbnQpCisJCXZpcnRxdWV1ZV9ob3N0X25vdGlm
eShyeHEtPnZxKTsKKworCXJldHVybiByYzsKK30KKwogc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2
X3htaXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCQkJICAgICAgc3RydWN0IHVrX25ldGRldl90
eF9xdWV1ZSAqcXVldWUsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpCiB7CisJc3Ry
dWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldiBfX3VudXNlZDsKKwlzdHJ1Y3QgdmlydGlvX25l
dF9oZHIgKnZoZHI7CisJaW50MTZfdCBoZWFkZXJfc3ogPSBzaXplb2YoKnZoZHIpOwogCWludCBy
YyA9IDA7CisJc2l6ZV90IHRvdGFsX2xlbiA9IDA7CiAKIAlVS19BU1NFUlQoZGV2KTsKIAlVS19B
U1NFUlQocGt0ICYmIHF1ZXVlKTsKIAorCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KGRldik7CisJ
LyoqCisJICogV2UgYXJlIHJlY2xhaW1pbmcgdGhlIGZyZWUgZGVzY3JpcHRvcnMgZnJvbSBidWZm
ZXJzLiBUaGUgZnVuY3Rpb24gaXMKKwkgKiBub3QgcHJvdGVjdGVkIGJ5IG1lYW5zIG9mIGxvY2tz
LiBXZSBuZWVkIHRvIGJlIGNhcmVmdWwgaWYgdGhlcmUgYXJlCisJICogbXVsdGlwbGUgY29udGV4
dCB0aHJvdWdoIHdoaWNoIHdlIGZyZWUgdGhlIHR4IGRlc2NyaXB0b3JzLgorCSAqLworCXZpcnRp
b19uZXRkZXZfeG1pdF9mcmVlKHF1ZXVlKTsKKworCS8qKgorCSAqIFVzZSB0aGUgcHJlYWxsb2Nh
dGVkIGhlYWRlciBzcGFjZSBmb3IgdGhlIHZpcnRpbyBoZWFkZXIuCisJICovCisJcmMgPSB1a19u
ZXRidWZfaGVhZGVyKHBrdCwgaGVhZGVyX3N6KTsKKwlpZiAocmMgIT0gMSkgeworCQl1a19wcl9l
cnIoIkZhaWxlZCB0byBhbGxvY2F0ZWQgaGVhZGVyIG1lbW9yeVxuIik7CisJCXJjID0gLUVOT1NQ
QzsKKwkJZ290byBleGl0OworCX0KKwl2aGRyID0gcGt0LT5kYXRhOworCisJLyoqCisJICogRmls
bCB0aGUgdmlydGlvLW5ldC1oZWFkZXIgd2l0aCB0aGUgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLgor
CSAqIFplcm8gZXhwbGljaXRseSBzZXQuCisJICovCisJdmhkci0+ZmxhZ3MgPSAwOworCXZoZHIt
Pmdzb190eXBlID0gVklSVElPX05FVF9IRFJfR1NPX05PTkU7CisKKwkvKioKKwkgKiBQcmVwYXJl
IHRoZSBzZ2xpc3QgYW5kIGVucXVldWUgdGhlIGJ1ZmZlciB0byB0aGUgdmlydGlvLXJpbmcuCisJ
ICovCisJdWtfc2dsaXN0X3Jlc2V0KCZxdWV1ZS0+c2cpOworCisJLyoqCisJICogQWNjb3JkaW5n
IHRoZSBzcGVjaWZpY2F0aW9uIDUuMS42LjYsIHdlIG5lZWQgdG8gZXhwbGljaXRseSB1c2UKKwkg
KiAyIGRlc2NyaXB0b3IgZm9yIGVhY2ggdHJhbnNtaXQgYW5kIHJlY2VpdmUgbmV0d29yayBwYWNr
ZXQgc2luY2Ugd2UKKwkgKiBkbyBub3QgbmVnb3RpYXRlIGZvciB0aGUgVklSVElPX0ZfQU5ZX0xB
WU9VVC4KKwkgKgorCSAqIDEgZm9yIHRoZSB2aXJ0aW8gaGVhZGVyIGFuZCB0aGUgb3RoZXIgZm9y
IHRoZSBhY3R1YWwgbmV0d29yayBwYWNrZXQuCisJICovCisJLyogQXBwZW5kaW5nIHRoZSBkYXRh
IHRvIHRoZSBsaXN0LiAqLworCXJjID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVldWUtPnNnLCB2aGRy
LCBoZWFkZXJfc3opOworCWlmICh1bmxpa2VseShyYyAhPSAwKSkgeworCQl1a19wcl9lcnIoIkZh
aWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOworCQlnb3RvIGV4aXQ7CisJfQorCXJj
ID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVldWUtPnNnLCBwa3QtPmRhdGEgKyBoZWFkZXJfc3osCisJ
CQkocGt0LT5sZW4gLSBoZWFkZXJfc3opKTsKKwlpZiAodW5saWtlbHkocmMgIT0gMCkpIHsKKwkJ
dWtfcHJfZXJyKCJGYWlsZWQgdG8gYXBwZW5kIHRvIHRoZSBzZyBsaXN0XG4iKTsKKwkJZ290byBl
eGl0OworCX0KKwlpZiAocGt0LT5uZXh0KSB7CisJCXJjID0gdWtfc2dsaXN0X2FwcGVuZF9uZXRi
dWYoJnF1ZXVlLT5zZywgcGt0LT5uZXh0KTsKKwkJaWYgKHVubGlrZWx5KHJjICE9IDApKSB7CisJ
CQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOworCQkJZ290
byBleGl0OworCQl9CisJfQorCisJdG90YWxfbGVuID0gdWtfc2dsaXN0X2xlbmd0aCgmcXVldWUt
PnNnKTsKKwlpZiAodW5saWtlbHkodG90YWxfbGVuID4gVklSVElPX1BLVF9CVUZGRVJfTEVOKSkg
eworCQl1a19wcl9lcnIoIlBhY2tldCBzaXplIHRvbyBiaWc6ICVsdSwgbWF4OiV1XG4iLAorCQkJ
ICB0b3RhbF9sZW4sIFZJUlRJT19QS1RfQlVGRkVSX0xFTik7CisJCXJldHVybiAtRU5PVFNVUDsK
Kwl9CisKKwkvKioKKwkgKiBBZGRpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHRoZSB2aXJ0cXVldWUu
CisJICovCisJcmMgPSB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocXVldWUtPnZxLCBwa3QsICZx
dWV1ZS0+c2csCisJCQkJICAgICAgcXVldWUtPnNnLnNnX25zZWcsIDApOworCWlmIChsaWtlbHko
cmMgPj0gMCkpIHsKKwkJLyoqCisJCSAqIE5vdGlmeSB0aGUgaG9zdCB0aGUgbmV3IGJ1ZmZlci4K
KwkJICovCisJCXZpcnRxdWV1ZV9ob3N0X25vdGlmeShxdWV1ZS0+dnEpOworCQkvKioKKwkJICog
V2hlbiB0aGVyZSBpcyBmdXJ0aGVyIHNwYWNlIGF2YWlsYWJsZSBpbiB0aGUgcmluZworCQkgKiBy
ZXR1cm4gMiBlbHNlIDEuCisJCSAqLworCQlyYyA9IGxpa2VseShyYyA+IDApID8gMiA6IDE7CisJ
fSBlbHNlIGlmIChyYyA9PSAtRU5PU1BDKSB7CisJCXVrX3ByX2RlYnVnKCJObyBtb3JlIGRlc2Ny
aXB0b3IgYXZhaWxhYmxlXG4iKTsKKwkJcmMgPSAwOworCX0gZWxzZSB7CisJCXVrX3ByX2Vycigi
RmFpbGVkIHRvIGVucXVldWUgZGVzY3JpcHRvcnMgaW50byB0aGUgcmluZzogJWRcbiIsCisJCQkg
IHJjKTsKKwl9CisKK2V4aXQ6CiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IHZpcnRpb19u
ZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYgX191bnVzZWQsCitzdGF0aWMgaW50IHZp
cnRpb19uZXRkZXZfcnhxX2VucXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAor
CQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqbmV0YnVmKQoreworCWludCByYyA9IDA7CisJc3Ry
dWN0IHZpcnRpb19uZXRfcnhfaGRyICpyeGhkcjsKKwlpbnQxNl90IGhlYWRlcl9zeiA9IHNpemVv
ZigqcnhoZHIpOworCV9fdTggKmJ1Zl9zdGFydDsKKwlzaXplX3QgYnVmX2xlbiA9IDA7CisJc3Ry
dWN0IHVrX3NnbGlzdCAqc2c7CisKKwlpZiAodmlydHF1ZXVlX2lzX2Z1bGwocnhxLT52cSkpIHsK
KwkJdWtfcHJfZGVidWcoIlRoZSB2aXJ0cXVldWUgaXMgZnVsbFxuIik7CisJCXJldHVybiAtRU5P
U1BDOworCX0KKworCS8qKgorCSAqIFNhdmluZyB0aGUgYnVmZmVyIGluZm9ybWF0aW9uIGJlZm9y
ZSByZXNlcnZpbmcgdGhlIGhlYWRlciBzcGFjZS4KKwkgKi8KKwlidWZfc3RhcnQgPSBuZXRidWYt
PmRhdGE7CisJYnVmX2xlbiA9IG5ldGJ1Zi0+bGVuOworCisJLyoqCisJICogUmV0cmlldmUgdGhl
IGJ1ZmZlciBoZWFkZXIgbGVuZ3RoLgorCSAqLworCXJjID0gdWtfbmV0YnVmX2hlYWRlcihuZXRi
dWYsIGhlYWRlcl9zeik7CisJaWYgKHVubGlrZWx5KHJjICE9IDEpKSB7CisJCXVrX3ByX2Vycigi
RmFpbGVkIHRvIHJldHJpZXZlIHRoZSBuZXRidWYgaGVhZGVyOiAlZFxuIiwgcmMpOworCQlyZXR1
cm4gLUVJTlZBTDsKKwl9CisJcnhoZHIgPSBuZXRidWYtPmRhdGE7CisKKwlzZyA9ICZyeHEtPnNn
OworCXVrX3NnbGlzdF9yZXNldChzZyk7CisKKwkvKiBBcHBlbmRpbmcgdGhlIGhlYWRlciBidWZm
ZXIgdG8gdGhlIHNnbGlzdCAqLworCXVrX3NnbGlzdF9hcHBlbmQoc2csIHJ4aGRyLCBzaXplb2Yo
c3RydWN0IHZpcnRpb19uZXRfaGRyKSk7CisKKwkvKiBBcHBlbmRpbmcgdGhlIGRhdGEgYnVmZmVy
IHRvIHRoZSBzZ2xpc3QgKi8KKwl1a19zZ2xpc3RfYXBwZW5kKHNnLCBidWZfc3RhcnQsIGJ1Zl9s
ZW4pOworCisJcmMgPSB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocnhxLT52cSwgbmV0YnVmLCBz
ZywgMCwgc2ctPnNnX25zZWcpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9f
bmV0ZGV2X3J4cV9kZXF1ZXVlKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKKwkJCQkg
ICAgIHN0cnVjdCB1a19uZXRidWYgKipuZXRidWYpCit7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3Qg
dWtfbmV0YnVmICpidWYgPSBOVUxMOworCV9fdTMyIGxlbjsKKwlfX3UzMiBvZmZzZXQgPSBzaXpl
b2Yoc3RydWN0IHZpcnRpb19uZXRfcnhfaGRyKTsKKworCVVLX0FTU0VSVChuZXRidWYpOworCisJ
YnVmID0gKHN0cnVjdCB1a19uZXRidWYgKil2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUocnhxLT52
cSwgJmxlbik7CisJaWYgKCFidWYpIHsKKwkJdWtfcHJfZGVidWcoIk5vIGRhdGEgYXZhaWxhYmxl
IGluIHRoZSBxdWV1ZVxuIik7CisJCSpuZXRidWYgPSBOVUxMOworCQlyZXR1cm4gMDsKKwl9CisJ
aWYgKHVubGlrZWx5KChsZW4gPCBWSVJUSU9fSERSX0xFTiArIEVUSF9IRFJfTEVOKQorCQkgICAg
IHx8IChsZW4gPiBWSVJUSU9fUEtUX0JVRkZFUl9MRU4pKSkgeworCQl1a19wcl9lcnIoIlJlY2Vp
dmVkIGludmFsaWQgcGFja2V0IHNpemU6ICV1XG4iLCBsZW4pOworCQlyZXR1cm4gLUVJTlZBTDsK
Kwl9CisKKwkvKioKKwkgKiBSZW1vdmluZyB0aGUgdmlydGlvIGhlYWRlciBmcm9tIHRoZSBidWZm
ZXIgYW5kIGFkanVzdGluZyBsZW5ndGguCisJICogV2UgcGFkICJWVE5FVF9SWF9IRUFERVJfUEFE
IiB0byB0aGUgcnggYnVmZmVyIHdoaWxlIGVucXVldWluZyBmb3IKKwkgKiBhbGlnbm1lbnQgb2Yg
dGhlIHBhY2tldCBkYXRhLiBXZSBjb21wZW5zYXRlIGZvciB0aGlzLCBieSBhZGRpbmcgdGhlCisJ
ICogIHBhZGRpbmcgdG8gdGhlIGxlbmd0aCBvbiBkZXF1ZXVlLgorCSAqLworCWJ1Zi0+bGVuID0g
bGVuICsgVlRORVRfUlhfSEVBREVSX1BBRDsKKwlyYyA9IHVrX25ldGJ1Zl9oZWFkZXIoYnVmLCAt
b2Zmc2V0KTsKKwlVS19BU1NFUlQocmMgPT0gMSk7CisJKm5ldGJ1ZiA9IGJ1ZjsKKworCXJldHVy
biAxOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSwKLQkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QgX191bnVzZWQsCisJCQkgICAgICBzdHJ1Y3QgdWtf
bmV0YnVmICoqcGt0LAogCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCiAJCQkg
ICAgICB1aW50MTZfdCAqZmlsbHVwX2NvdW50KQogewogCWludCByYyA9IDA7CisJaW50IGNudCA9
IDA7CiAKIAlVS19BU1NFUlQoZGV2ICYmIHF1ZXVlKTsKIAlVS19BU1NFUlQoIWZpbGx1cCB8fCAo
ZmlsbHVwICYmICpmaWxsdXBfY291bnQgPiAwKSk7CiAKLQlyZXR1cm4gcmM7CisJaWYgKHBrdCAm
JiAocXVldWUtPmludHJfZW5hYmxlZCAmIFZUTkVUX0lOVFJfVVNSX0VOX01BU0spKSB7CisJCXZp
cnRxdWV1ZV9pbnRyX2Rpc2FibGUocXVldWUtPnZxKTsKKwkJcXVldWUtPmludHJfZW5hYmxlZCAm
PSB+KFZUTkVUX0lOVFJfRU4pOworCX0KKworCWlmIChwa3QpIHsKKwkJcmMgPSB2aXJ0aW9fbmV0
ZGV2X3J4cV9kZXF1ZXVlKHF1ZXVlLCBwa3QpOworCQlpZiAodW5saWtlbHkocmMgPCAwKSkgewor
CQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZGVxdWV1ZSB0aGUgcGFja2V0OiAlZFxuIiwgcmMpOwor
CQkJZ290byBlcnJfZXhpdDsKKwkJfQorCQljbnQgPSByYzsKKwl9CisJaWYgKGZpbGx1cCkKKwkJ
dmlydGlvX25ldGRldl9yeF9maWxsdXAocXVldWUsIGZpbGx1cCwgZmlsbHVwX2NvdW50KTsKKwor
CS8qIEVuYWJsZSBpbnRlcnJ1cHQgb25seSB3aGVuIHVzZXIgaGFkIHByZXZpb3VzbHkgZW5hYmxl
ZCBpdCAqLworCWlmIChwa3QgJiYgKHF1ZXVlLT5pbnRyX2VuYWJsZWQgJiBWVE5FVF9JTlRSX1VT
Ul9FTl9NQVNLKSkgeworCQkvKiBOZWVkIHRvIGVuYWJsZSB0aGUgaW50ZXJydXB0IG9uIHRoZSBs
YXN0IHBhY2tldCAqLworCQlyYyA9IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShxdWV1ZS0+dnEpOwor
CQlpZiAocmMgPT0gMSAmJiBjbnQgPT0gMCkgeworCQkJLyoqCisJCQkgKiBQYWNrZXQgYXJyaXZl
IGFmdGVyIHJlYWRpbmcgdGhlIHF1ZXVlIGFuZCBiZWZvcmUKKwkJCSAqIGVuYWJsaW5nIHRoZSBp
bnRlcnJ1cHQKKwkJCSAqLworCQkJcmMgPSB2aXJ0aW9fbmV0ZGV2X3J4cV9kZXF1ZXVlKHF1ZXVl
LCBwa3QpOworCQkJaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKKwkJCQl1a19wcl9lcnIoIkZhaWxl
ZCB0byBkZXF1ZXVlIHRoZSBwYWNrZXQ6ICVkXG4iLAorCQkJCQkgIHJjKTsKKwkJCQlnb3RvIGVy
cl9leGl0OworCQkJfQorCQkJLyogTmVlZCB0byBlbmFibGUgdGhlIGludGVycnVwdCBvbiB0aGUg
bGFzdCBwYWNrZXQgKi8KKwkJCXJjID0gdmlydHF1ZXVlX2ludHJfZW5hYmxlKHF1ZXVlLT52cSk7
CisJCQljbnQgPSAocmMgPT0gMSkgPyAyIDogMTsKKwkJfSBlbHNlIGlmIChjbnQgPiAwKSB7CisJ
CQkvKiBXaGVuIHRoZXJlIGlzIHBhY2tldCBpbiB0aGUgYnVmZmVyICovCisJCQljbnQgPSAocmMg
PT0gMSkgPyAyIDogMTsKKwkJfQorCX0gZWxzZSBpZiAocGt0ICYmIGNudCA+IDApIHsKKwkJLyoq
CisJCSAqIEZvciBwb2xsaW5nIGNhc2UsIHdlIHJlcG9ydCBhbHdheXMgdGhlcmUgYXJlIGZ1cnRo
ZXIKKwkJICogcGFja2V0cyB1bmxlc3MgdGhlIHF1ZXVlIGlzIGVtcHR5LgorCQkgKi8KKwkJY250
ID0gMjsKKwl9CisKK2V4aXQ6CisJcmV0dXJuIGNudDsKKworZXJyX2V4aXQ6CisJY250ID0gcmM7
CisJZ290byBleGl0OwogfQogCiBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmly
dGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKQEAgLTY4OCw2ICs5OTAsOCBAQCBzdGF0aWMgdm9p
ZCB2aXJ0aW9fbmV0X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKIAogCWRldl9pbmZv
LT5tYXhfcnhfcXVldWVzID0gdm5kZXYtPm1heF92cXVldWVfcGFpcnM7CiAJZGV2X2luZm8tPm1h
eF90eF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKKwlkZXZfaW5mby0+bmJfZW5j
YXBfdHggPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfaGRyKTsKKwlkZXZfaW5mby0+bmJfZW5j
YXBfcnggPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfcnhfaGRyKTsKIH0KIAogc3RhdGljIGlu
dCB2aXJ0aW9fbmV0X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKm4pCi0tIAoyLjcuNAoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 21:45:36 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 21:45:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFQy4-0004BV-LA; Wed, 24 Oct 2018 21:45:32 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFQy3-0004BQ-Ce
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 21:45:31 +0000
X-Inumbo-ID: b5611a7a-d7d5-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b5611a7a-d7d5-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 23:42:31 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 309DEF2050;
 Wed, 24 Oct 2018 23:45:27 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 78XQ_539audy; Wed, 24 Oct 2018 23:45:27 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 04E10F2010
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 23:45:25 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 23:45:24 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540388553-15668-4-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181024234523957
Message-ID: <87c0b2c3-7bcf-25d8-0de4-57ca9227e186@neclab.eu>
Date: Wed, 24 Oct 2018 23:45:23 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540388553-15668-4-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 3/7] plat/drivers: Introduce
 the virtio bus
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhhbmtzIGZvciB0aGlzIHVwZGF0ZSEKClJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1v
bi5rdWVuemVyQG5lY2xhYi5ldT4KCk9uIDI0LjEwLjE4IDE1OjQyLCBTaGFyYW4gU2FudGhhbmFt
IHdyb3RlOgo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgdmlydGlvIGJ1cyB0byBicmlkZ2Ug
dGhlIHZpcnRpbyBkZXZpY2Ugd2l0aAo+IHRoZSBidXMuIFdlIGludHJvZHVjZSB0aGUgZnVuY3Rp
b25zIHRvIGFkZCBkcml2ZXIgdG8gY29udHJvbCB0aGUgdmlydGlvCj4gZGV2aWNlLgo+IAo+IFNp
Z25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1
Pgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaCB8IDEz
MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19idXMuYyAgICAgICAgIHwgMTA5ICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4g
ICBwbGF0L2t2bS9Db25maWcudWsgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrKwo+ICAg
cGxhdC9rdm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgICAgICAgICB8ICAxMiArKysKPiAgIDQg
ZmlsZXMgY2hhbmdlZCwgMjYyIGluc2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBw
bGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2J1cy5oCj4gICBjcmVhdGUgbW9kZSAx
MDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiAKPiBkaWZmIC0tZ2l0IGEv
cGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaCBiL3BsYXQvZHJpdmVycy9p
bmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLmJkZTliYmIKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJzL2lu
Y2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaAo+IEBAIC0wLDAgKzEsMTMwIEBACj4gKy8qIFNQRFgt
TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPiArLyoKPiArICogQXV0aG9yczog
U2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAq
IENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24uIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
PiArICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiArICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgo+ICsgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4gKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCj4gKyAq
IDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHlyaWdodCBob2xkZXIgbm9yIHRoZSBuYW1l
cyBvZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiArICogICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KPiArICoKPiArICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UKPiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQg
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCj4gKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgo+ICsgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQo+ICsgKiBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQg
T1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCj4gKwo+ICsjaWZuZGVmIF9fUExBVF9EUlZf
VklSVElPX0gKPiArI2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19ICj4gKwo+ICsjaW5jbHVkZSA8
dWsvY29uZmlnLmg+Cj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVkZSA8dWsvZXJycHRy
Lmg+Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL2xj
cHUuaD4KPiArI2luY2x1ZGUgPHVrL2FsbG9jLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlv
X2NvbmZpZy5oPgo+ICsKPiArI2lmZGVmIF9fY3BsdXNwbHVzCj4gK2V4dGVybiAiQyIgewo+ICsj
ZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KPiArCj4gKyNkZWZpbmUgVklSVElPX0ZFQVRVUkVTX1VQ
REFURShmZWF0dXJlcywgYnBvcykJXAo+ICsJKGZlYXR1cmVzIHw9ICgxVUxMIDw8IGJwb3MpKQo+
ICsKPiArc3RydWN0IHZpcnRpb19kZXY7Cj4gK3R5cGVkZWYgaW50ICgqdmlydGlvX2RyaXZlcl9p
bml0X2Z1bmNfdCkoc3RydWN0IHVrX2FsbG9jICopOwo+ICt0eXBlZGVmIGludCAoKnZpcnRpb19k
cml2ZXJfYWRkX2Z1bmNfdCkoc3RydWN0IHZpcnRpb19kZXYgKik7Cj4gKwo+ICtlbnVtIHZpcnRp
b19kZXZfc3RhdHVzIHsKPiArCS8qKiBEZXZpY2UgcmVzZXQgKi8KPiArCVZJUlRJT19ERVZfUkVT
RVQsCj4gKwkvKiogRGV2aWNlIEFja25vd2xlZGdlIGFuZCByZWFkeSB0byBiZSBjb25maWd1cmVk
ICovCj4gKwlWSVJUSU9fREVWX0lOSVRJQUxJWkVELAo+ICsJLyoqIERldmljZSBmZWF0dXJlIG5l
Z290aWF0ZWQgYW5kIHJlYWR5IHRvIHRoZSBzdGFydGVkICovCj4gKwlWSVJUSU9fREVWX0NPTkZJ
R1VSRUQsCj4gKwkvKiogRGV2aWNlIFJ1bm5pbmcgKi8KPiArCVZJUlRJT19ERVZfUlVOTklORywK
PiArCS8qKiBEZXZpY2UgU3RvcHBlZCAqLwo+ICsJVklSVElPX0RFVl9TVE9QUEVELAo+ICt9Owo+
ICsKPiArLyoqCj4gKyAqIFRoZSBzdHJ1Y3R1cmUgZGVmaW5lIGEgdmlydGlvIGRldmljZS4KPiAr
ICovCj4gK3N0cnVjdCB2aXJ0aW9fZGV2X2lkIHsKPiArCS8qKiBEZXZpY2UgaWRlbnRpZmllciBv
ZiB0aGUgdmlydGlvIGRldmljZSAqLwo+ICsJX191MTYgIHZpcnRpb19kZXZpY2VfaWQ7Cj4gK307
Cj4gKwo+ICsvKioKPiArICogVGhlIHN0cnVjdHVyZSBkZWZpbmUgdGhlIHZpcnRpbyBkcml2ZXIu
Cj4gKyAqLwo+ICtzdHJ1Y3QgdmlydGlvX2RyaXZlciB7Cj4gKwkvKiogTmV4dCBlbnRyeSBvZiB0
aGUgZHJpdmVyIGxpc3QgKi8KPiArCVVLX1RBSUxRX0VOVFJZKHN0cnVjdCB2aXJ0aW9fZHJpdmVy
KSBuZXh0Owo+ICsJLyoqIFRoZSBpZCBtYXAgZm9yIHRoZSB2aXJ0aW8gZGV2aWNlICovCj4gKwlj
b25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCAqZGV2X2lkczsKPiArCS8qKiBUaGUgaW5pdCBmdW5j
dGlvbiBmb3IgdGhlIGRyaXZlciAqLwo+ICsJdmlydGlvX2RyaXZlcl9pbml0X2Z1bmNfdCBpbml0
Owo+ICsJLyoqIEFkZGluZyB0aGUgdmlydGlvIGRldmljZSAqLwo+ICsJdmlydGlvX2RyaXZlcl9h
ZGRfZnVuY190IGFkZF9kZXY7Cj4gK307Cj4gKwo+ICsvKioKPiArICogVGhlIHN0cnVjdHVyZSBk
ZWZpbmVzIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19kZXYgewo+
ICsJLyogRmVhdHVyZSBiaXQgZGVzY3JpYmluZyB0aGUgdmlydGlvIGRldmljZSAqLwo+ICsJX191
NjQgZmVhdHVyZXM7Cj4gKwkvKiBQcml2YXRlIGRhdGEgb2YgdGhlIGRyaXZlciAqLwo+ICsJdm9p
ZCAqcHJpdjsKPiArCS8qIFZpcnRpbyBkZXZpY2UgaWRlbnRpZmllciAqLwo+ICsJc3RydWN0IHZp
cnRpb19kZXZfaWQgaWQ7Cj4gKwkvKiBSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkcml2ZXIgZm9y
IHRoZSBkZXZpY2UgKi8KPiArCXN0cnVjdCB2aXJ0aW9fZHJpdmVyICp2ZHJ2Owo+ICsJLyogU3Rh
dHVzIG9mIHRoZSBkZXZpY2UgKi8KPiArCWVudW0gdmlydGlvX2Rldl9zdGF0dXMgc3RhdHVzOwo+
ICt9Owo+ICsKPiArLyoqCj4gKyAqIE9wZXJhdGlvbiBleHBvcnRlZCBieSB0aGUgdmlydGlvIGRl
dmljZS4KPiArICovCj4gK3ZvaWQgX3ZpcnRpb19idXNfcmVnaXN0ZXJfZHJpdmVyKHN0cnVjdCB2
aXJ0aW9fZHJpdmVyICp2ZHJ2KTsKPiArCj4gKyNkZWZpbmUgVklSVElPX0JVU19SRUdJU1RFUl9E
UklWRVIoYikJCQlcCj4gKwlfVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoX19MSUJOQU1FX18s
IGIpCj4gKwo+ICsjZGVmaW5lIF9WSVJUSU9fQlVTX1JFR0ZOQU1FKHgsIHkpICAgICAgIHgjI3kK
PiArCj4gKyNkZWZpbmUgX1ZJUlRJT19CVVNfUkVHSVNURVJfRFJJVkVSKGxpYm5hbWUsIGIpCQkJ
CVwKPiArCSAgICBzdGF0aWMgdm9pZCBfX2NvbnN0cnVjdG9yX3ByaW8oMTA0KQkJCQlcCj4gKwlf
VklSVElPX0JVU19SRUdGTkFNRShsaWJuYW1lLCBfdmlydGlvX3JlZ2lzdGVyX2RyaXZlcikodm9p
ZCkJXAo+ICsJewkJCQkJCQkJXAo+ICsJCV92aXJ0aW9fYnVzX3JlZ2lzdGVyX2RyaXZlcigoYikp
OwkJCVwKPiArCX0KPiArCj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArfQo+ICsjZW5kaWYg
LyogX19jcGx1c3BsdXMgKi8KPiArCj4gKyNlbmRpZiAvKiBfX1BMQVRfRFJWX1ZJUlRJT19IICov
Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX2J1cy5jIGIvcGxhdC9k
cml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4
IDAwMDAwMDAuLmQwMDg3MTgKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJzL3Zp
cnRpby92aXJ0aW9fYnVzLmMKPiBAQCAtMCwwICsxLDEwOSBAQAo+ICsvKiBTUERYLUxpY2Vuc2Ut
SWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAqIEF1dGhvcnM6IFNoYXJhbiBT
YW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+ICsgKgo+ICsgKiBDb3B5cmln
aHQgKGMpIDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFy
ZSBtZXQ6Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0
aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRz
Cj4gKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUg
cHJvZHVjdHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVj
aWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFT
IElTIgo+ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAq
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKPiArICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCj4gKyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElG
SUVEIElOIEFOWSBXQVkuCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICsj
aW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgo+ICsjaW5jbHVkZSA8dWsvbGlzdC5oPgo+ICsjaW5j
bHVkZSA8dWsvYWxsb2MuaD4KPiArI2luY2x1ZGUgPHVrL2J1cy5oPgo+ICsjaW5jbHVkZSA8dmly
dGlvL3ZpcnRpb19pZHMuaD4KPiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fY29uZmlnLmg+Cj4g
KyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2J1cy5oPgo+ICsKPiArVUtfVEFJTFFfSEVBRCh2aXJ0
aW9fZHJpdmVyX2xpc3QsIHN0cnVjdCB2aXJ0aW9fZHJpdmVyKTsKPiArLyoqCj4gKyAqIE1vZHVs
ZSBsb2NhbCBkYXRhIHN0cnVjdHVyZShzKS4KPiArICovCj4gK3N0YXRpYyBzdHJ1Y3QgdmlydGlv
X2RyaXZlcl9saXN0IHZpcnRpb19kcnZzID0KPiArCQkJVUtfVEFJTFFfSEVBRF9JTklUSUFMSVpF
Uih2aXJ0aW9fZHJ2cyk7Cj4gK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7Cj4gKwo+ICsvKioK
PiArICogICBEcml2ZXIgbW9kdWxlIGxvY2FsIGZ1bmN0aW9uKHMpLgo+ICsgKi8KPiArc3RhdGlj
IGludCB2aXJ0aW9fYnVzX2luaXQoc3RydWN0IHVrX2FsbG9jICptZW1fYWxsb2MpOwo+ICtzdGF0
aWMgaW50IHZpcnRpb19idXNfcHJvYmUodm9pZCk7Cj4gKwo+ICsvKioKPiArICogUHJvYmUgZm9y
IHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKi8KPiArc3RhdGljIGludCB2aXJ0aW9fYnVzX3Byb2Jl
KHZvaWQpCj4gK3sKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICsvKioKPiArICogSW5pdGlhbGl6
ZSB0aGUgdmlydGlvIGJ1cyBkcml2ZXIocykuCj4gKyAqIEBwYXJhbSBtZW1fYWxsb2MKPiArICoJ
UmVmZXJlbmNlIHRvIHRoZSBtZW1fYWxsb2NhdG9yLgo+ICsgKiBAcmV0dXJuCj4gKyAqCShpbnQp
IE9uIHN1Y2Nlc3NmdWwgaW5pdGlhbGl6YXRpb24gcmV0dXJuIHRoZSBjb3VudCBvZiBkZXZpY2UK
PiArICoJaW5pdGlhbGl6ZWQuCj4gKyAqCU9uIGVycm9yIHJldHVybiAtMS4KPiArICovCj4gK3N0
YXRpYyBpbnQgdmlydGlvX2J1c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2FsbG9jKQo+ICt7
Cj4gKwlzdHJ1Y3QgdmlydGlvX2RyaXZlciAqZHJ2ID0gTlVMTCwgKm5kcnYgPSBOVUxMOwo+ICsJ
aW50IHJldCA9IDAsIGRldl9jb3VudCA9IDA7Cj4gKwo+ICsJYSA9IG1lbV9hbGxvYzsKPiArCVVL
X1RBSUxRX0ZPUkVBQ0hfU0FGRShkcnYsICZ2aXJ0aW9fZHJ2cywgbmV4dCwgbmRydikgewo+ICsJ
CWlmIChkcnYtPmluaXQpIHsKPiArCQkJcmV0ID0gZHJ2LT5pbml0KGEpOwo+ICsJCQlpZiAodW5s
aWtlbHkocmV0KSkgewo+ICsJCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB2aXJ0
aW8gZHJpdmVyICVwOiAlZFxuIiwKPiArCQkJCQkgIGRydiwgcmV0KTsKPiArCQkJCVVLX1RBSUxR
X1JFTU9WRSgmdmlydGlvX2RydnMsIGRydiwgbmV4dCk7Cj4gKwkJCX0gZWxzZQo+ICsJCQkJZGV2
X2NvdW50Kys7Cj4gKwkJfQo+ICsJfQo+ICsJcmV0dXJuIChkZXZfY291bnQgPiAwKSA/IGRldl9j
b3VudCA6IC0xOwo+ICt9Cj4gKwo+ICsvKioKPiArICogUmVnaXN0ZXIgdGhlIHZpcnRpbyBkcml2
ZXIocykuCj4gKyAqIEBwYXJhbSB2ZHJ2Cj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydGlvX2Ry
aXZlcgo+ICsgKi8KPiArdm9pZCBfdmlydGlvX2J1c19yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHZp
cnRpb19kcml2ZXIgKnZkcnYpCj4gK3sKPiArCVVLX1RBSUxRX0lOU0VSVF9UQUlMKCZ2aXJ0aW9f
ZHJ2cywgdmRydiwgbmV4dCk7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgdWtfYnVzIHZpcnRp
b19idXMgPSB7Cj4gKwkuaW5pdCA9IHZpcnRpb19idXNfaW5pdCwKPiArCS5wcm9iZSA9IHZpcnRp
b19idXNfcHJvYmUsCj4gK307Cj4gK1VLX0JVU19SRUdJU1RFUigmdmlydGlvX2J1cyk7Cj4gZGlm
ZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51awo+IGluZGV4
IDBmMTBiNGQuLjE1NmM0MWUgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vQ29uZmlnLnVrCj4gKysr
IGIvcGxhdC9rdm0vQ29uZmlnLnVrCj4gQEAgLTUwLDQgKzUwLDE1IEBAIGNvbmZpZyBLVk1fUENJ
Cj4gICAgICAgICAgc2VsZWN0IExJQlVLQlVTCj4gICAgICAgICAgaGVscAo+ICAgICAgICAgICAg
ICAgICAgIFBDSSBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgUENJIGRldmlj
ZXMKPiArCj4gK2NvbmZpZyBWSVJUSU9fQlVTCj4gKyAgICAgIGJvb2wgICJWaXJ0aW8gYnVzIGRy
aXZlciIKPiArICAgICAgZGVmYXVsdCB5Cj4gKyAgICAgIGRlcGVuZHMgb24gKEFSQ0hfWDg2XzY0
KQo+ICsgICAgICBkZXBlbmRzIG9uIExJQlVLQlVTCj4gKyAgICAgIHNlbGVjdCBMSUJVS0FMTE9D
Cj4gKyAgICAgIGhlbHAKPiArICAgICAgICAgICAgICAgVmlydGlvIGJ1cyBkcml2ZXIgZm9yIHBy
b2JpbmcgYW5kIG9wZXJhdGluZyB2aXJ0aW8gZGV2aWNlIGFuZAo+ICsgICAgICAgICAgICAgICB0
cmFuc3BvcnQgbGF5ZXIuCj4gKwo+ICAgZW5kaWYKPiBkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vTWFr
ZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awo+IGluZGV4IDA2ZDg0MTAuLjgwYTBjMDUg
MTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiArKysgYi9wbGF0L2t2bS9NYWtl
ZmlsZS51awo+IEBAIC04LDYgKzgsNyBAQCAkKGV2YWwgJChjYWxsIGFkZHBsYXRfcyxrdm0sJChD
T05GSUdfUExBVF9LVk0pKSkKPiAgICMjCj4gICAkKGV2YWwgJChjYWxsIGFkZHBsYXRsaWIsa3Zt
LGxpYmt2bXBsYXQpKQo+ICAgJChldmFsICQoY2FsbCBhZGRwbGF0bGliX3Msa3ZtLGxpYmt2bXBj
aSwkKENPTkZJR19LVk1fUENJKSkpCj4gKyQoZXZhbCAkKGNhbGwgYWRkcGxhdGxpYl9zLGt2bSxs
aWJrdm12aXJ0aW8sJChDT05GSUdfVklSVElPKSkpCj4gICAKPiAgICMjCj4gICAjIyBQbGF0Zm9y
bSBsaWJyYXJ5IGRlZmluaXRpb25zCj4gQEAgLTgwLDMgKzgxLDE0IEBAIExJQktWTVBDSV9BU0lO
Q0xVREVTLSQoQ09ORklHX0FSQ0hfWDg2XzY0KSAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0Up
L2luY2x1ZGUKPiAgIExJQktWTVBDSV9DSU5DTFVERVMtJChDT05GSUdfQVJDSF9YODZfNjQpICAg
Kz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2luY2x1ZGUKPiAgIExJQktWTVBDSV9TUkNTLSQo
Q09ORklHX0FSQ0hfWDg2XzY0KSAgICAgICAgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9wY2lf
YnVzLmN8Y29tbW9uCj4gICAKPiArIyMKPiArIyMgVmlydGlvIGxpYnJhcnkgZGVmaW5pdGlvbnMK
PiArIyMKPiArTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChMSUJLVk1QTEFUX0JB
U0UpL2luY2x1ZGUKPiArTElCS1ZNVklSVElPX0NJTkNMVURFUy15ICAgICs9IC1JJChMSUJLVk1Q
TEFUX0JBU0UpL2luY2x1ZGUKPiArTElCS1ZNVklSVElPX0FTSU5DTFVERVMteSAgICs9IC1JJChV
S19QTEFUX0NPTU1PTl9CQVNFKS9pbmNsdWRlCj4gK0xJQktWTVZJUlRJT19DSU5DTFVERVMteSAg
ICArPSAtSSQoVUtfUExBVF9DT01NT05fQkFTRSkvaW5jbHVkZQo+ICtMSUJLVk1WSVJUSU9fQVNJ
TkNMVURFUy15ICAgKz0gLUkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS9pbmNsdWRlCj4gK0xJQktW
TVZJUlRJT19DSU5DTFVERVMteSAgICArPSAtSSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1
ZGUKPiArTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCj4gKwkJJChV
S19QTEFUX0RSSVZFUlNfQkFTRSkvdmlydGlvL3ZpcnRpb19idXMuYwo+IAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 21:52:48 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 21:52:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFR55-0004rD-7x; Wed, 24 Oct 2018 21:52:47 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFR53-0004r8-DV
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 21:52:45 +0000
X-Inumbo-ID: b7ef273d-d7d6-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b7ef273d-d7d6-11e8-a8a5-bc764e045a96;
 Wed, 24 Oct 2018 23:49:45 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id ED086104A60;
 Wed, 24 Oct 2018 23:52:40 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id b3A1UEENKVvs; Wed, 24 Oct 2018 23:52:40 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B5E761048C0
 for <minios-devel@lists.xen.org>; Wed, 24 Oct 2018 23:52:38 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 24 Oct
 2018 23:52:38 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540388553-15668-5-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181024235237745
Message-ID: <72f55b7b-dc55-50b7-ff30-add6233c4401@neclab.eu>
Date: Wed, 24 Oct 2018 23:52:37 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540388553-15668-5-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 4/7] plat/drivers: Introduce
 virtio PCI device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjQuMTAuMTggMTU6NDIsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gV2UgaW50cm9kdWNlcyBz
dXBwb3J0IGZvciB2aXJ0aW8gUENJIGxlZ2FjeSBkZXZpY2Ugc3VwcG9ydCBpbiB0aGlzCj4gcGF0
Y2guIFRoZSBkcml2ZXIgcmVnaXN0ZXIgb24gdGhlIFBDSSBidXMgdG8gcHJvYmUgZm9yIGRldmlj
ZSB3aXRoCj4gUVVNUkFORVQgdmVuZG9yIGlkLiBUaGUgdmlydGlvIFBDSSBidXMgYWRkcyB0aGUg
dmlydGlvIGRldi4gVGhlCj4gdmlydGlvIGJ1cyBpcyByZXNwb25zaWJsZSBmb3IgYnJpZGdpbmcg
dGhlIHZpcnRpbyBkZXZpY2Ugd2l0aCB0aGUKPiBkcml2ZXIuIFRoZSB2aXJ0aW8gUENJIGRldmlj
ZSBwcm92aWRlcyBjb25maWd1cmF0aW9uIGNhbGxiYWNrIGZvcgo+IHRoZSBQQ0kgYnVzIG9wZXJh
dGlvbiBwZXJmb3JtZWQgb24gdGhlIHZpcnRpbyBkZXZpY2UuIEN1cnJlbnRseSB3ZQo+IGFkZCBz
dXBwb3J0IHRvIHRoZSBLVk0gcGxhdGZvcm0KPiAKPiBTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2Fu
dGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiAtLS0KPiAgIHBsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fYnVzLmggfCAxMjUgKysrKysrKysrKysrCj4gICBwbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYyAgICAgICAgIHwgMTE1ICsrKysrKysrKysrKwo+
ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgICAgICAgICB8IDMxMyArKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0L2t2bS9Db25maWcudWsgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDEwICsKPiAgIHBsYXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAg
ICAgICAgICAgfCAgIDQgKy0KPiAgIDUgZmlsZXMgY2hhbmdlZCwgNTY2IGluc2VydGlvbnMoKyks
IDEgZGVsZXRpb24oLSkKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19wY2kuYwo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX2J1cy5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19idXMu
aAo+IGluZGV4IGJkZTliYmIuLjhkZmZlNTYgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL2lu
Y2x1ZGUvdmlydGlvL3ZpcnRpb19idXMuaAo+ICsrKyBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3Zp
cnRpby92aXJ0aW9fYnVzLmgKPiBAQCAtNzYsNiArNzYsMjcgQEAgc3RydWN0IHZpcnRpb19kZXZf
aWQgewo+ICAgfTsKPiAgIAo+ICAgLyoqCj4gKyAqIFRoZSBzdHJ1Y3R1cmUgZGVmaW5lIGEgbGlz
dCBvZiBjb25maWd1cmF0aW9uIG9wZXJhdGlvbiBvbiBhIHZpcnRpbyBkZXZpY2UuCj4gKyAqLwo+
ICtzdHJ1Y3QgdmlydGlvX2NvbmZpZ19vcHMgewo+ICsJLyoqIFJlc2V0dGluZyB0aGUgZGV2aWNl
ICovCj4gKwl2b2lkICgqZGV2aWNlX3Jlc2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4g
KwkvKiogU2V0IGNvbmZpZ3VyYXRpb24gb3B0aW9uICovCj4gKwlpbnQgKCpjb25maWdfc2V0KShz
dHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAo+ICsJCQkgIGNvbnN0IHZvaWQg
KmJ1ZiwgX191MzIgbGVuKTsKPiArCS8qKiBHZXQgY29uZmlndXJhdGlvbiBvcHRpb24gKi8KPiAr
CWludCAoKmNvbmZpZ19nZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQs
IHZvaWQgKmJ1ZiwKPiArCQkJICBfX3UzMiBsZW4sIF9fdTggdHlwZV9sZW4pOwo+ICsJLyoqIEdl
dCB0aGUgZmVhdHVyZSAqLwo+ICsJX191NjQgKCpmZWF0dXJlc19nZXQpKHN0cnVjdCB2aXJ0aW9f
ZGV2ICp2ZGV2KTsKPiArCS8qKiBTZXQgdGhlIGZlYXR1cmUgKi8KPiArCXZvaWQgKCpmZWF0dXJl
c19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U2NCBmZWF0dXJlcyk7Cj4gKwkvKiog
R2V0IGFuZCBTZXQgU3RhdHVzICovCj4gKwlfX3U4ICgqc3RhdHVzX2dldCkoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYpOwo+ICsJdm9pZCAoKnN0YXR1c19zZXQpKHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2LCBfX3U4IHN0YXR1cyk7Cj4gK307Cj4gKwo+ICsvKioKPiAgICAqIFRoZSBzdHJ1Y3R1cmUg
ZGVmaW5lIHRoZSB2aXJ0aW8gZHJpdmVyLgo+ICAgICovCj4gICBzdHJ1Y3QgdmlydGlvX2RyaXZl
ciB7Cj4gQEAgLTk5LDYgKzEyMCw4IEBAIHN0cnVjdCB2aXJ0aW9fZGV2IHsKPiAgIAl2b2lkICpw
cml2Owo+ICAgCS8qIFZpcnRpbyBkZXZpY2UgaWRlbnRpZmllciAqLwo+ICAgCXN0cnVjdCB2aXJ0
aW9fZGV2X2lkIGlkOwo+ICsJLyogTGlzdCBvZiB0aGUgY29uZmlnIG9wZXJhdGlvbnMgKi8KPiAr
CXN0cnVjdCB2aXJ0aW9fY29uZmlnX29wcyAqY29wczsKPiAgIAkvKiBSZWZlcmVuY2UgdG8gdGhl
IHZpcnRpbyBkcml2ZXIgZm9yIHRoZSBkZXZpY2UgKi8KPiAgIAlzdHJ1Y3QgdmlydGlvX2RyaXZl
ciAqdmRydjsKPiAgIAkvKiBTdGF0dXMgb2YgdGhlIGRldmljZSAqLwo+IEBAIC0xMDgsOCArMTMx
LDExMCBAQCBzdHJ1Y3QgdmlydGlvX2RldiB7Cj4gICAvKioKPiAgICAqIE9wZXJhdGlvbiBleHBv
cnRlZCBieSB0aGUgdmlydGlvIGRldmljZS4KPiAgICAqLwo+ICtpbnQgdmlydGlvX2J1c19yZWdp
c3Rlcl9kZXZpY2Uoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwo+ICAgdm9pZCBfdmlydGlvX2J1
c19yZWdpc3Rlcl9kcml2ZXIoc3RydWN0IHZpcnRpb19kcml2ZXIgKnZkcnYpOwo+ICAgCj4gKy8q
Kgo+ICsgKiBUaGUgZnVuY3Rpb24gdXBkYXRlcyB0aGUgc3RhdHVzIG9mIHRoZSB2aXJ0aW8gZGV2
aWNlCj4gKyAqIEBwYXJhbSB2ZGV2Cj4gKyAqICAgICAgUmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8g
ZGV2aWNlLgo+ICsgKiBAcGFyYW0gc3RhdHVzCj4gKyAqICAgICAgVGhlIHN0YXR1cyB0byB1cGRh
dGUuCj4gKyAqIEByZXR1cm4KPiArICogICAgICAwIG9uIHN1Y2Nlc3NmdWwgdXBkYXRpbmcgdGhl
IHN0YXR1cy4KPiArICogICAgICAtRU5PVFNVUCwgaWYgdGhlIG9wZXJhdGlvbiBpcyBub3Qgc3Vw
cG9ydGVkIG9uIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKi8KPiArc3RhdGljIGlubGluZSBpbnQg
dmlydGlvX2Rldl9zdGF0dXNfdXBkYXRlKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3U4IHN0
YXR1cykKPiArewo+ICsJaW50IHJjID0gLUVOT1RTVVA7Cj4gKwo+ICsJVUtfQVNTRVJUKHZkZXYp
Owo+ICsKPiArCWlmIChsaWtlbHkodmRldi0+Y29wcy0+c3RhdHVzX3NldCkpIHsKPiArCQl2ZGV2
LT5jb3BzLT5zdGF0dXNfc2V0KHZkZXYsIHN0YXR1cyk7Cj4gKwkJcmMgPSAwOwo+ICsJfQo+ICsJ
cmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICsvKioKPiArICogVGhlIGZ1bmN0aW9uIHRvIGdldCB0aGUg
ZmVhdHVyZSBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS4KPiArICogQHBhcmFtIHZkZXYKPiArICoJ
UmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKgo+ICsgKiBAcmV0dXJuIF9fdTY0
Cj4gKyAqCUEgYml0IG1hcCBvZiB0aGUgZmVhdHVyZSBzdXBwb3J0ZWQgYnkgdGhlIGRldmljZS4K
PiArICovCj4gK3N0YXRpYyBpbmxpbmUgX191NjQgdmlydGlvX2ZlYXR1cmVfZ2V0KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7Cj4gKwlfX3U2NCBmZWF0dXJlcyA9IDA7Cj4gKwo+ICsJVUtf
QVNTRVJUKHZkZXYpOwo+ICsKPiArCWlmIChsaWtlbHkodmRldi0+Y29wcy0+ZmVhdHVyZXNfZ2V0
KSkKPiArCQlmZWF0dXJlcyA9IHZkZXYtPmNvcHMtPmZlYXR1cmVzX2dldCh2ZGV2KTsKPiArCXJl
dHVybiBmZWF0dXJlczsKPiArfQo+ICsKPiArLyoqCj4gKyAqIFRoZSBmdW5jdGlvbiB0byBzZXQg
dGhlIG5lZ290aWF0ZWQgZmVhdHVyZXMuCj4gKyAqIEBwYXJhbSB2ZGV2Cj4gKyAqCVJlZmVyZW5j
ZSB0byB0aGUgdmlydGlvIGRldmljZS4KPiArICogQHBhcmFtIGZlYXR1cmUKPiArICoJQSBiaXQg
bWFwIG9mIHRoZSBmZWF0dXJlIG5lZ290aWF0ZWQuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZv
aWQgdmlydGlvX2ZlYXR1cmVfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UzMiBmZWF0
dXJlKQo+ICt7Cj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwo+ICsJaWYgKGxpa2VseSh2ZGV2LT5j
b3BzLT5mZWF0dXJlc19zZXQpKQo+ICsJCXZkZXYtPmNvcHMtPmZlYXR1cmVzX3NldCh2ZGV2LCBm
ZWF0dXJlKTsKPiArfQo+ICsKPiArLyoqCj4gKyAqIEdldCB0aGUgY29uZmlndXJhdGlvbiBpbmZv
cm1hdGlvbiBmcm9tIHRoZSB2aXJ0aW8gZGV2aWNlLgo+ICsgKiBAcGFyYW0gdmRldgo+ICsgKglS
ZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqIEBwYXJhbSBvZmZzZXQKPiArICoJ
T2Zmc2V0IGludG8gdGhlIHZpcnRpbyBkZXZpY2UgY29uZmlndXJhdGlvbiBzcGFjZS4KPiArICog
QHBhcmFtIGJ1Zgo+ICsgKglBIGJ1ZmZlciB0byBzdG9yZSB0aGUgY29uZmlndXJhdGlvbiBpbmZv
cm1hdGlvbi4KPiArICogQHBhcmFtIGxlbgo+ICsgKglUaGUgbGVuZ3RoIG9mIHRoZSBidWZmZXIu
Cj4gKyAqIEBwYXJhbSB0eXBlX2xlbgo+ICsgKglUaGUgZGF0YSB0eXBlIG9mIHRoZSBjb25maWd1
cmF0aW9uIGRhdGEuCj4gKyAqIEByZXR1cm4gaW50Cj4gKyAqCTAsIG9uIHN1Y2Nlc3NmdWwgcmVh
ZGluZyB0aGUgY29uZmlndXJhdGlvbiBzcGFjZS4KPiArICoJPCAwLCBvbiBlcnJvci4KPiArICov
Cj4gK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRpb19jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gKwkJCQkgICAgdm9pZCAqYnVmLCBfX3UzMiBsZW4sIF9f
dTggdHlwZV9sZW4pCj4gK3sKPiArCWludCByYyA9IC1FTk9UU1VQOwo+ICsKPiArCVVLX0FTU0VS
VCh2ZGV2KTsKPiArCj4gKwlpZiAobGlrZWx5KHZkZXYtPmNvcHMtPmNvbmZpZ19nZXQpKQo+ICsJ
CXJjID0gdmRldi0+Y29wcy0+Y29uZmlnX2dldCh2ZGV2LCBvZmZzZXQsIGJ1ZiwgbGVuLCB0eXBl
X2xlbik7Cj4gKwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludCB2
aXJ0aW9faGFzX2ZlYXR1cmVzKF9fdTY0IGZlYXR1cmVzLCBfX3U4IGJwb3MpCj4gK3sKPiArCV9f
dTY0IHRtcF9mZWF0dXJlID0gMDsKPiArCj4gKwlWSVJUSU9fRkVBVFVSRVNfVVBEQVRFKHRtcF9m
ZWF0dXJlLCBicG9zKTsKPiArCXRtcF9mZWF0dXJlICY9IGZlYXR1cmVzOwo+ICsKPiArCXJldHVy
biB0bXBfZmVhdHVyZSA/IDEgOiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmly
dGlvX2Rldl9kcnZfdXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCj4gK3sKPiArCXZpcnRpb19k
ZXZfc3RhdHVzX3VwZGF0ZSh2ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19EUklWRVJfT0spOwo+
ICt9Cj4gKwo+ICAgI2RlZmluZSBWSVJUSU9fQlVTX1JFR0lTVEVSX0RSSVZFUihiKQkJCVwKPiAg
IAlfVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoX19MSUJOQU1FX18sIGIpCj4gICAKPiBkaWZm
IC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMgYi9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19idXMuYwo+IGluZGV4IGQwMDg3MTguLmI0MGEyNzAgMTAwNjQ0Cj4gLS0t
IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiArKysgYi9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19idXMuYwo+IEBAIC01Miw5ICs1MiwxMjQgQEAgc3RhdGljIHN0cnVjdCB1
a19hbGxvYyAqYTsKPiAgIC8qKgo+ICAgICogICBEcml2ZXIgbW9kdWxlIGxvY2FsIGZ1bmN0aW9u
KHMpLgo+ICAgICovCj4gK3N0YXRpYyBpbnQgdmlydGlvX2RldmljZV9yZWluaXQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYpOwo+ICtzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2ZXIgKmZpbmRfbWF0
Y2hfZHJ2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX2J1
c19pbml0KHN0cnVjdCB1a19hbGxvYyAqbWVtX2FsbG9jKTsKPiAgIHN0YXRpYyBpbnQgdmlydGlv
X2J1c19wcm9iZSh2b2lkKTsKPiAgIAo+ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fZGV2aWNl
X2lkX21hdGNoKGNvbnN0IHN0cnVjdCB2aXJ0aW9fZGV2X2lkICppZDAsCj4gKwkJCQkJIGNvbnN0
IHN0cnVjdCB2aXJ0aW9fZGV2X2lkICppZDEpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwo+ICsJ
aWYgKGlkMC0+dmlydGlvX2RldmljZV9pZCA9PSBpZDEtPnZpcnRpb19kZXZpY2VfaWQpCj4gKwkJ
cmMgPSAxOwo+ICsKPiArCXJldHVybiByYzsKPiArfQoKR3JlYXQhIEkgdGhpbmsgdGhpcyBzb2x1
dGlvbiBpcyBiZXR0ZXIgZXh0ZW5zaWJsZS4KCj4gKwo+ICsvKioKPiArICogRmluZCBhIG1hdGNo
IGRyaXZlcgo+ICsgKiBAcGFyYW0gdmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBk
ZXZpY2UuCj4gKyAqLwo+ICtzdGF0aWMgc3RydWN0IHZpcnRpb19kcml2ZXIgKmZpbmRfbWF0Y2hf
ZHJ2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7Cj4gKwlpbnQgaSA9IDA7Cj4gKwlzdHJ1
Y3QgdmlydGlvX2RyaXZlciAqZHJ2ID0gTlVMTDsKPiArCj4gKwlVS19UQUlMUV9GT1JFQUNIKGRy
diwgJnZpcnRpb19kcnZzLCBuZXh0KSB7Cj4gKwkJd2hpbGUgKGRydi0+ZGV2X2lkc1tpXS52aXJ0
aW9fZGV2aWNlX2lkICE9IFZJUlRJT19JRF9JTlZBTElEKSB7Cj4gKwkJCWlmICh2aXJ0aW9fZGV2
aWNlX2lkX21hdGNoKCZkcnYtPmRldl9pZHNbaV0sCj4gKwkJCQkJCSAgICZ2ZGV2LT5pZCkpIHsK
PiArCQkJCXJldHVybiBkcnY7Cj4gKwkJCX0KPiArCQl9Cj4gKwl9Cj4gKwlyZXR1cm4gTlVMTDsK
PiArfQo+ICsKPiArLyoqCj4gKyAqIFJlaW5pdGlhbGl6ZSB0aGUgdmlydGlvIGRldmljZQo+ICsg
KiBAcGFyYW0gdmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAq
Lwo+ICtzdGF0aWMgaW50IHZpcnRpb19kZXZpY2VfcmVpbml0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2
ZGV2KQo+ICt7Cj4gKwlpbnQgcmMgPSAwOwo+ICsKPiArCS8qKgo+ICsJICogUmVzZXR0aW5nIHRo
ZSB2aXJ0aW8gZGV2aWNlCj4gKwkgKiBUaGlzIG1heSBub3QgYmUgbmVjZXNzYXJ5IHdoaWxlIGlu
aXRpYWxpemluZyB0aGUgZGV2aWNlIGZvciB0aGUgZmlyc3QKPiArCSAqIHRpbWUuCj4gKwkgKi8K
PiArCWlmICh2ZGV2LT5jb3BzLT5kZXZpY2VfcmVzZXQpIHsKPiArCQl2ZGV2LT5jb3BzLT5kZXZp
Y2VfcmVzZXQodmRldik7Cj4gKwkJLyogU2V0IHRoZSBkZXZpY2Ugc3RhdHVzICovCj4gKwkJdmRl
di0+c3RhdHVzID0gVklSVElPX0RFVl9SRVNFVDsKPiArCX0KPiArCS8qIEFja25vd2xlZGdlIHRo
ZSB2aXJ0aW8gZGV2aWNlICovCj4gKwlyYyA9IHZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2ZGV2
LCBWSVJUSU9fQ09ORklHX1NUQVRVU19BQ0spOwo+ICsJaWYgKHJjICE9IDApIHsKPiArCQl1a19w
cl9lcnIoIkZhaWxlZCB0byBhY2tub3dsZWRnZSB0aGUgdmlydGlvIGRldmljZSAlcDogJWRcbiIs
Cj4gKwkJCSAgdmRldiwgcmMpOwo+ICsJCXJldHVybiByYzsKPiArCX0KPiArCj4gKwkvKiBBY2tu
b3dsZWRnZSB0aGUgdmlydGlvIGRyaXZlciAqLwo+ICsJcmMgPSB2aXJ0aW9fZGV2X3N0YXR1c191
cGRhdGUodmRldiwgVklSVElPX0NPTkZJR19TVEFUVVNfRFJJVkVSKTsKPiArCWlmIChyYyAhPSAw
KSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWNrbm93bGVkZ2UgdGhlIHZpcnRpbyBkcml2
ZXIgJXA6ICVkXG4iLAo+ICsJCQkgIHZkZXYsIHJjKTsKPiArCQlyZXR1cm4gcmM7Cj4gKwl9Cj4g
Kwl2ZGV2LT5zdGF0dXMgPSBWSVJUSU9fREVWX0lOSVRJQUxJWkVEOwo+ICsJdWtfcHJfaW5mbygi
VmlydGlvIGRldmljZSAlcCBpbml0aWFsaXplZFxuIiwgdmRldik7Cj4gKwlyZXR1cm4gcmM7Cj4g
K30KPiArCj4gK2ludCB2aXJ0aW9fYnVzX3JlZ2lzdGVyX2RldmljZShzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldikKPiArewo+ICsJc3RydWN0IHZpcnRpb19kcml2ZXIgKmRydiA9IE5VTEw7Cj4gKwlp
bnQgcmMgPSAwOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiArCS8qIENoZWNrIGZvciB0aGUg
ZGV2IHdpdGggdGhlIGRyaXZlciBsaXN0ICovCj4gKwlkcnYgPSBmaW5kX21hdGNoX2Rydih2ZGV2
KTsKPiArCWlmICghZHJ2KSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZmluZCB0aGUgZHJp
dmVyIGZvciB0aGUgdmlydGlvIGRldmljZSAlcCAoaWQ6JSJfX1BSSXUxNiIpXG4iLAo+ICsJCQkg
IHZkZXYsIHZkZXYtPmlkLnZpcnRpb19kZXZpY2VfaWQpOwo+ICsJCXJldHVybiAtRUZBVUxUOwo+
ICsJfQo+ICsJdmRldi0+dmRydiA9IGRydjsKPiArCj4gKwkvKiBJbml0aWFsaXplIHRoZSBkZXZp
Y2UgKi8KPiArCXJjID0gdmlydGlvX2RldmljZV9yZWluaXQodmRldik7Cj4gKwlpZiAocmMgIT0g
MCkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGluaXRpYWxpemUgdGhlIHZpcnRpbyBkZXZp
Y2UgJXAgKGlkOiUiX19QUkl1MTYiOiAlZFxuIiwKPiArCQkJICB2ZGV2LCB2ZGV2LT5pZC52aXJ0
aW9fZGV2aWNlX2lkLCByYyk7Cj4gKwkJcmV0dXJuIHJjOwo+ICsJfQo+ICsKPiArCj4gKwkvKiBD
YWxsaW5nIHRoZSBkcml2ZXIgYWRkIGRldmljZSAqLwo+ICsJcmMgPSBkcnYtPmFkZF9kZXYodmRl
dik7Cj4gKwlpZiAocmMgIT0gMCkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFkZCB0aGUg
dmlydGlvIGRldmljZSAlcDogJWRcbiIsIHZkZXYsIHJjKTsKPiArCQlnb3RvIHZpcnRpb19kZXZf
ZmFpbF9zZXQ7Cj4gKwl9Cj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7Cj4gKwo+ICt2aXJ0aW9fZGV2
X2ZhaWxfc2V0Ogo+ICsJLyoqCj4gKwkgKiBXZSBzZXQgdGhlIHN0YXR1cyB0byBmYWlsLiBXZSBj
YW4gaWdub3JlIHRoZSBleGl0IHN0YXR1cyBmcm9tIHRoZQo+ICsJICogc3RhdHVzIHVwZGF0ZS4K
PiArCSAqLwo+ICsJdmlydGlvX2Rldl9zdGF0dXNfdXBkYXRlKHZkZXYsIFZJUlRJT19DT05GSUdf
U1RBVFVTX0ZBSUwpOwo+ICsJZ290byBleGl0Owo+ICt9Cj4gKwo+ICAgLyoqCj4gICAgKiBQcm9i
ZSBmb3IgdGhlIHZpcnRpbyBkZXZpY2UuCj4gICAgKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2
ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2ku
Ywo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMWMxZDExYwo+IC0tLSAv
ZGV2L251bGwKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+IEBAIC0w
LDAgKzEsMzEzIEBACj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2Ug
Ki8KPiArLyoKPiArICogQXV0aG9yczogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5h
bUBuZWNsYWIuZXU+Cj4gKyAqCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVDIEV1cm9wZSBM
dGQuLCBORUMgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCj4gKyAqCj4gKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICoKPiArICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4g
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIGNvcHly
aWdodCBob2xkZXIgbm9yIHRoZSBuYW1lcyBvZiBpdHMKPiArICogICAgY29udHJpYnV0b3JzIG1h
eSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KPiAr
ICogICAgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KPiArICoKPiArICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCj4gKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKPiArICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKPiArICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQo+ICsgKiBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCj4gKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwo+ICsgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgo+ICsgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQo+ICsgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RQo+ICsgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KPiArICoKPiArICogVEhJUyBIRUFE
RVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KPiArICovCj4g
Kwo+ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+
Cj4gKyNpbmNsdWRlIDxlcnJuby5oPgo+ICsjaW5jbHVkZSA8dWsvYWxsb2MuaD4KPiArI2luY2x1
ZGUgPHVrL3ByaW50Lmg+Cj4gKyNpbmNsdWRlIDx1ay9wbGF0L2xjcHUuaD4KPiArI2luY2x1ZGUg
PHVrL3BsYXQvaXJxLmg+Cj4gKyNpbmNsdWRlIDxwY2kvcGNpX2J1cy5oPgo+ICsjaW5jbHVkZSA8
dmlydGlvL3ZpcnRpb19jb25maWcuaD4KPiArI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fYnVzLmg+
Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX3BjaS5oPgo+ICsKPiArI2RlZmluZSBWRU5ET1Jf
UVVNUkFORVRfVklSVElPICAgICAgICAgICAoMHgxQUY0KQo+ICsjZGVmaW5lIFZJUlRJT19QQ0lf
TEVHQUNZX0RFVklDRUlEX1NUQVJUICgweDBGRkYpCj4gKyNkZWZpbmUgVklSVElPX1BDSV9NT0RF
Uk5fREVWSUNFSURfU1RBUlQgKDB4MTA0MCkKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2Mg
KmE7Cj4gKwo+ICsvKioKPiArICogVGhlIHN0cnVjdHVyZSBkZWNsYXJlcyBhIHBjaSBkZXZpY2Uu
Cj4gKyAqLwo+ICtzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgewo+ICsJLyogVmlydGlvIERldmljZSAq
Lwo+ICsJc3RydWN0IHZpcnRpb19kZXYgdmRldjsKPiArCS8qIFBjaSBiYXNlIGFkZHJlc3MgKi8K
PiArCV9fdTE2IHBjaV9iYXNlX2FkZHI7Cj4gKwkvKiBJU1IgQWRkcmVzcyBSYW5nZSAqLwo+ICsJ
X191MTYgcGNpX2lzcl9hZGRyOwo+ICsJLyogUGNpIGRldmljZSBpbmZvcm1hdGlvbiAqLwo+ICsJ
c3RydWN0IHBjaV9kZXZpY2UgKnBkZXY7Cj4gK307Cj4gKwo+ICsvKioKPiArICogRmV0Y2ggdGhl
IHZpcnRpbyBwY2kgaW5mb3JtYXRpb24gZnJvbSB0aGUgdmlydGlvZGV2Lgo+ICsgKi8KPiArI2Rl
ZmluZSB0b192aXJ0aW9wY2lkZXYodmRldikgXAo+ICsJCV9fY29udGFpbmVyb2YodmRldiwgc3Ry
dWN0IHZpcnRpb19wY2lfZGV2LCB2ZGV2KQo+ICsKPiArCj4gKy8qKgo+ICsgKiBTdGF0aWMgZnVu
Y3Rpb24gZGVjbGFyYXRpb24uCj4gKyAqLwo+ICtzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lf
ZGV2X3Jlc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiArc3RhdGljIGludCB2cGNpX2xl
Z2FjeV9wY2lfY29uZmlnX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgb2Zmc2V0
LAo+ICsJCQkJICAgICAgY29uc3Qgdm9pZCAqYnVmLCBfX3UzMiBsZW4pOwo+ICtzdGF0aWMgaW50
IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3Ux
NiBvZmZzZXQsCj4gKwkJCQkgICAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwgX191OCB0eXBlX2xl
bik7Cj4gK3N0YXRpYyBfX3U2NCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfZ2V0KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2KTsKPiArc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVz
X3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKPiArCQkJCQkgX191NjQgZmVhdHVyZXMpOwo+
ICtzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldiwgX191OCBzdGF0dXMpOwo+ICtzdGF0aWMgX191OCB2cGNpX2xlZ2FjeV9wY2lfc3Rh
dHVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7Cj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2
aXJ0aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKPiArCQkJCQlfX3Ux
NiBwY2lfZGV2X2lkLAo+ICsJCQkJCV9fdTE2IHZwY2lfZGV2X2lkX3N0YXJ0KTsKPiArc3RhdGlj
IGludCB2aXJ0aW9fcGNpX2xlZ2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2
LAo+ICsJCQkJICAgICBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2KTsKPiArCj4gKy8q
Kgo+ICsgKiBDb25maWd1cmF0aW9uIG9wZXJhdGlvbnMgbGVnYWN5IFBDSSBkZXZpY2UuCj4gKyAq
Lwo+ICtzdGF0aWMgc3RydWN0IHZpcnRpb19jb25maWdfb3BzIHZwY2lfbGVnYWN5X29wcyA9IHsK
PiArCS5kZXZpY2VfcmVzZXQgPSB2cGNpX2xlZ2FjeV9wY2lfZGV2X3Jlc2V0LAo+ICsJLmNvbmZp
Z19nZXQgICA9IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0LAo+ICsJLmNvbmZpZ19zZXQgICA9
IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0LAo+ICsJLmZlYXR1cmVzX2dldCA9IHZwY2lfbGVn
YWN5X3BjaV9mZWF0dXJlc19nZXQsCj4gKwkuZmVhdHVyZXNfc2V0ID0gdnBjaV9sZWdhY3lfcGNp
X2ZlYXR1cmVzX3NldCwKPiArCS5zdGF0dXNfZ2V0ICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVz
X2dldCwKPiArCS5zdGF0dXNfc2V0ICAgPSB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldCwKPiAr
fTsKPiArCj4gK3N0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX2NvbmZpZ19zZXQoc3RydWN0IHZp
cnRpb19kZXYgKnZkZXYsIF9fdTE2IG9mZnNldCwKPiArCQkJCSAgICAgIGNvbnN0IHZvaWQgKmJ1
ZiwgX191MzIgbGVuKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwZGV2ID0gTlVM
TDsKPiArCj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2
ZGV2KTsKPiArCj4gKwlfdmlydGlvX2N3cml0ZV9ieXRlcygodm9pZCAqKSh1bnNpZ25lZCBsb25n
KXZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+ICsJCQkgICAgIFZJUlRJT19QQ0lfQ09ORklHX09GRiAr
IG9mZnNldCwgYnVmLCBsZW4sIDEpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfZ2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
LCBfX3UxNiBvZmZzZXQsCj4gKwkJCQkgICAgICB2b2lkICpidWYsIF9fdTMyIGxlbiwgX191OCB0
eXBlX2xlbikKPiArewo+ICsJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4g
KwlpbnQgcmMgPSAwOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiArCXZwZGV2ID0gdG9fdmly
dGlvcGNpZGV2KHZkZXYpOwo+ICsKPiArCS8qIFJlYWRpbmcgYW4gZW50aXR5IGxlc3MgdGhhbiA0
IGJ5dGVzIGFyZSBhdG9taWMgKi8KPiArCWlmICh0eXBlX2xlbiA9PSBsZW4gJiYgdHlwZV9sZW4g
PD0gNCkgewo+ICsJCV92aXJ0aW9fY3JlYWRfYnl0ZXMoCj4gKwkJCQkodm9pZCAqKSAodW5zaWdu
ZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKPiArCQkJCVZJUlRJT19QQ0lfQ09ORklHX09G
RiArIG9mZnNldCwgYnVmLCBsZW4sCj4gKwkJCQl0eXBlX2xlbik7Cj4gKwl9IGVsc2Ugewo+ICsJ
CXJjID0gdmlydGlvX2NyZWFkX2J5dGVzX21hbnkoCj4gKwkJCQkodm9pZCAqKSAodW5zaWduZWQg
bG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKPiArCQkJCVZJUlRJT19QQ0lfQ09ORklHX09GRiAr
IG9mZnNldCwJYnVmLCBsZW4pOwo+ICsJfQo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgX191OCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRl
dikKPiArewo+ICsJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gKwo+ICsJ
VUtfQVNTRVJUKHZkZXYpOwo+ICsJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7Cj4gKwly
ZXR1cm4gdmlydGlvX2NyZWFkOCgodm9pZCAqKSAodW5zaWduZWQgbG9uZykgdnBkZXYtPnBjaV9i
YXNlX2FkZHIsCj4gKwkJCSAgICAgVklSVElPX1BDSV9TVEFUVVMpOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRl
diwgX191OCBzdGF0dXMpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBO
VUxMOwo+ICsJX191OCBjdXJyX3N0YXR1cyA9IDA7Cj4gKwo+ICsJLyogUmVzZXQgc2hvdWxkIGJl
IHBlcmZvcm1lZCB1c2luZyB0aGUgcmVzZXQgaW50ZXJmYWNlICovCj4gKwlVS19BU1NFUlQodmRl
diB8fCBzdGF0dXMgIT0gVklSVElPX0NPTkZJR19TVEFUVVNfUkVTRVQpOwo+ICsKPiArCXZwZGV2
ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICsJY3Vycl9zdGF0dXMgPSB2cGNpX2xlZ2FjeV9w
Y2lfc3RhdHVzX2dldCh2ZGV2KTsKPiArCXN0YXR1cyB8PSBjdXJyX3N0YXR1czsKPiArCXZpcnRp
b19jd3JpdGU4KCh2b2lkICopKHVuc2lnbmVkIGxvbmcpIHZwZGV2LT5wY2lfYmFzZV9hZGRyLAo+
ICsJCSAgICAgICBWSVJUSU9fUENJX1NUQVRVUywgc3RhdHVzKTsKPiArfQo+ICsKPiArc3RhdGlj
IHZvaWQgdnBjaV9sZWdhY3lfcGNpX2Rldl9yZXNldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikK
PiArewo+ICsJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gKwlfX3U4IHN0
YXR1czsKPiArCj4gKwlVS19BU1NFUlQodmRldik7Cj4gKwo+ICsJdnBkZXYgPSB0b192aXJ0aW9w
Y2lkZXYodmRldik7Cj4gKwkvKioKPiArCSAqIFJlc2V0dGluZyB0aGUgZGV2aWNlLgo+ICsJICov
Cj4gKwl2aXJ0aW9fY3dyaXRlOCgodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jh
c2VfYWRkciwKPiArCQkgICAgICAgVklSVElPX1BDSV9TVEFUVVMsIFZJUlRJT19DT05GSUdfU1RB
VFVTX1JFU0VUKTsKPiArCS8qKgo+ICsJICogV2FpdGluZyBmb3IgdGhlIHJlc2V0dGluZyB0aGUg
ZGV2aWNlLiBGaW5kIGEgYmV0dGVyIHdheQo+ICsJICogb2YgZG9pbmcgdGhpcyBpbnN0ZWFkIG9m
IHJlcGVhdGluZyByZWdpc3RlciByZWFkLgo+ICsJICoKPiArCSAqIE5PVEUhIFNwZWMgKDQuMS40
LjMuMikKPiArCSAqIE5lZWQgdG8gY2hlY2sgaWYgd2UgaGF2ZSB0byB3YWl0IGZvciB0aGUgcmVz
ZXQgdG8gaGFwcGVuLgo+ICsJICovCj4gKwlkbyB7Cj4gKwkJc3RhdHVzID0gdmlydGlvX2NyZWFk
OCgKPiArCQkJCSh2b2lkICopKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4g
KwkJCQlWSVJUSU9fUENJX1NUQVRVUyk7Cj4gKwl9IHdoaWxlIChzdGF0dXMgIT0gVklSVElPX0NP
TkZJR19TVEFUVVNfUkVTRVQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgX191NjQgdnBjaV9sZWdhY3lf
cGNpX2ZlYXR1cmVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldikKPiArewo+ICsJc3RydWN0
IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gKwlfX3U2NCAgZmVhdHVyZXM7Cj4gKwo+
ICsJVUtfQVNTRVJUKHZkZXYpOwo+ICsKPiArCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYp
Owo+ICsJZmVhdHVyZXMgPSB2aXJ0aW9fY3JlYWQzMigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2
cGRldi0+cGNpX2Jhc2VfYWRkciwKPiArCQkJCSAgVklSVElPX1BDSV9IT1NUX0ZFQVRVUkVTKTsK
PiArCXJldHVybiBmZWF0dXJlczsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgdnBjaV9sZWdhY3lf
cGNpX2ZlYXR1cmVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwKPiArCQkJCQkgX191NjQg
ZmVhdHVyZXMpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOwo+
ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiArCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYp
Owo+ICsJdmlydGlvX2N3cml0ZTMyKCh2b2lkICopICh1bnNpZ25lZCBsb25nKXZwZGV2LT5wY2lf
YmFzZV9hZGRyLAo+ICsJCQlWSVJUSU9fUENJX0dVRVNUX0ZFQVRVUkVTLCAoX191MzIpZmVhdHVy
ZXMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmlydGlvX2RldmljZV9pZF9hZGQo
c3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gKwkJCQkJX191MTYgcGNpX2Rldl9pZCwKPiArCQkJ
CQlfX3UxNiBwY2lfZGV2X2lkX3N0YXJ0KQo+ICt7Cj4gKwl2ZGV2LT5pZC52aXJ0aW9fZGV2aWNl
X2lkID0gKHBjaV9kZXZfaWQgLSBwY2lfZGV2X2lkX3N0YXJ0KTsKPiArfQo+ICsKPiArc3RhdGlj
IGludCB2aXJ0aW9fcGNpX2xlZ2FjeV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2
LAo+ICsJCQkJICAgICBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2KQo+ICt7Cj4gKwkv
KiBDaGVjayB0aGUgdmFsaWQgcmFuZ2Ugb2YgdGhlIHZpcnRpbyBsZWdhY3kgZGV2aWNlICovCj4g
KwlpZiAocGNpX2Rldi0+aWQuZGV2aWNlX2lkIDwgMHgxMDAwIHx8IHBjaV9kZXYtPmlkLmRldmlj
ZV9pZCA+IDB4MTAzZikgewo+ICsJCXVrX3ByX2VycigiSW52YWxpZCBWaXJ0aW8gRGV2aWNlcyAl
MDR4XG4iLAo+ICsJCQkgIHBjaV9kZXYtPmlkLmRldmljZV9pZCk7Cj4gKwkJcmV0dXJuIC1FSU5W
QUw7Cj4gKwl9Cj4gKwo+ICsJdnBjaV9kZXYtPnBjaV9pc3JfYWRkciA9IHZwY2lfZGV2LT5wY2lf
YmFzZV9hZGRyICsgVklSVElPX1BDSV9JU1I7Cj4gKwo+ICsJLyogU2V0dGluZyB0aGUgY29uZmln
dXJhdGlvbiBvcGVyYXRpb24gKi8KPiArCXZwY2lfZGV2LT52ZGV2LmNvcHMgPSAmdnBjaV9sZWdh
Y3lfb3BzOwo+ICsKPiArCXVrX3ByX2luZm8oIkFkZGVkIHZpcnRpby1wY2kgZGV2aWNlICUwNHhc
biIsCj4gKwkJICAgcGNpX2Rldi0+aWQuZGV2aWNlX2lkKTsKPiArCj4gKwkvKiBNYXBwaW5nIHRo
ZSB2aXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KPiArCXZpcnRpb19kZXZpY2VfaWRfYWRkKCZ2
cGNpX2Rldi0+dmRldiwgcGNpX2Rldi0+aWQuZGV2aWNlX2lkLAo+ICsJCQlWSVJUSU9fUENJX0xF
R0FDWV9ERVZJQ0VJRF9TVEFSVCk7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArCj4gK3N0YXRp
YyBpbnQgdmlydGlvX3BjaV9hZGRfZGV2KHN0cnVjdCBwY2lfZGV2aWNlICpwY2lfZGV2KQo+ICt7
Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKnZwY2lfZGV2ID0gTlVMTDsKPiArCWludCByYyA9
IDA7Cj4gKwo+ICsJVUtfQVNTRVJUKHBjaV9kZXYgIT0gTlVMTCk7Cj4gKwo+ICsJdnBjaV9kZXYg
PSB1a19tYWxsb2MoYSwgc2l6ZW9mKCp2cGNpX2RldikpOwo+ICsJaWYgKCF2cGNpX2Rldikgewo+
ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFsbG9jYXRlIHZpcnRpby1wY2kgZGV2aWNlXG4iKTsK
PiArCQlyZXR1cm4gLUVOT01FTTsKPiArCX0KPiArCj4gKwkvKiBGZXRjaCBQQ0kgRGV2aWNlIGlu
Zm9ybWF0aW9uICovCj4gKwl2cGNpX2Rldi0+cGRldiA9IHBjaV9kZXY7Cj4gKwl2cGNpX2Rldi0+
cGNpX2Jhc2VfYWRkciA9IHBjaV9kZXYtPmJhc2U7Cj4gKwo+ICsJLyoqCj4gKwkgKiBQcm9iaW5n
IGZvciB0aGUgbGVnYWN5IHZpcnRpbyBkZXZpY2UuIFdlIHNlcGFyYXRlIHRoZSBsZWdhY3kgcHJv
YmluZwo+ICsJICogd2l0aCB0aGUgcG9zc2liaWxpdHkgb2Ygc3VwcG9ydGluZyB0aGUgbW9kZXJu
IFBDSSBkZXZpY2UgaW4gdGhlCj4gKwkgKiBmdXR1cmUuCj4gKwkgKi8KPiArCXJjID0gdmlydGlv
X3BjaV9sZWdhY3lfYWRkX2RldihwY2lfZGV2LCB2cGNpX2Rldik7Cj4gKwlpZiAocmMgIT0gMCkg
ewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIHByb2JlIChsZWdhY3kpIHBjaSBkZXZpY2U6ICVk
XG4iLCByYyk7Cj4gKwkJZ290byBmcmVlX3BjaV9kZXY7Cj4gKwl9Cj4gKwo+ICsJcmMgPSB2aXJ0
aW9fYnVzX3JlZ2lzdGVyX2RldmljZSgmdnBjaV9kZXYtPnZkZXYpOwo+ICsJaWYgKHJjICE9IDAp
IHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byByZWdpc3RlciB0aGUgdmlydGlvIGRldmljZTog
JWRcbiIsIHJjKTsKPiArCQlnb3RvIGZyZWVfcGNpX2RldjsKPiArCX0KPiArCj4gK2V4aXQ6Cj4g
KwlyZXR1cm4gcmM7Cj4gK2ZyZWVfcGNpX2RldjoKPiArCXVrX2ZyZWUoYSwgdnBjaV9kZXYpOwo+
ICsJZ290byBleGl0Owo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19wY2lfZHJ2X2luaXQo
c3RydWN0IHVrX2FsbG9jICpkcnZfYWxsb2NhdG9yKQo+ICt7Cj4gKwkvKiBkcml2ZXIgaW5pdGlh
bGl6YXRpb24gKi8KPiArCWlmICghZHJ2X2FsbG9jYXRvcikKPiArCQlyZXR1cm4gLUVJTlZBTDsK
PiArCj4gKwlhID0gZHJ2X2FsbG9jYXRvcjsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0
aWMgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgdmlydGlvX3BjaV9pZHNbXSA9IHsKPiArCXtQ
Q0lfREVWSUNFX0lEKFZFTkRPUl9RVU1SQU5FVF9WSVJUSU8sIFBDSV9BTllfSUQpfSwKPiArCS8q
IEVuZCBvZiBEcml2ZXIgTGlzdCAqLwo+ICsJe1BDSV9BTllfREVWSUNFX0lEfSwKPiArfTsKPiAr
Cj4gK3N0YXRpYyBzdHJ1Y3QgcGNpX2RyaXZlciB2aXJ0aW9fcGNpX2RydiA9IHsKPiArCS5kZXZp
Y2VfaWRzID0gdmlydGlvX3BjaV9pZHMsCj4gKwkuaW5pdCA9IHZpcnRpb19wY2lfZHJ2X2luaXQs
Cj4gKwkuYWRkX2RldiA9IHZpcnRpb19wY2lfYWRkX2Rldgo+ICt9Owo+ICtQQ0lfUkVHSVNURVJf
RFJJVkVSKCZ2aXJ0aW9fcGNpX2Rydik7Cj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51
ayBiL3BsYXQva3ZtL0NvbmZpZy51awo+IGluZGV4IDE1NmM0MWUuLmFmY2VkYzAgMTAwNjQ0Cj4g
LS0tIGEvcGxhdC9rdm0vQ29uZmlnLnVrCj4gKysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCj4gQEAg
LTYxLDQgKzYxLDE0IEBAIGNvbmZpZyBWSVJUSU9fQlVTCj4gICAgICAgICAgICAgICAgICBWaXJ0
aW8gYnVzIGRyaXZlciBmb3IgcHJvYmluZyBhbmQgb3BlcmF0aW5nIHZpcnRpbyBkZXZpY2UgYW5k
Cj4gICAgICAgICAgICAgICAgICB0cmFuc3BvcnQgbGF5ZXIuCj4gICAKPiArbWVudSAiVmlydGlv
Igo+ICtjb25maWcgVklSVElPX1BDSQo+ICsgICAgICAgYm9vbCAiVmlydGlvIFBDSSBkZXZpY2Ug
c3VwcG9ydCIKPiArICAgICAgIGRlZmF1bHQgbgo+ICsgICAgICAgZGVwZW5kcyBvbiBLVk1fUENJ
Cj4gKyAgICAgICBzZWxlY3QgVklSVElPX0JVUwo+ICsgICAgICAgaGVscAo+ICsgICAgICAgICAg
ICAgICBTdXBwb3J0IHZpcnRpbyBkZXZpY2VzIG9uIFBDSSBidXMKPiArCj4gK2VuZG1lbnUKPiAg
IGVuZGlmCj4gZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFr
ZWZpbGUudWsKPiBpbmRleCA4MGEwYzA1Li45ODZiZjRhIDEwMDY0NAo+IC0tLSBhL3BsYXQva3Zt
L01ha2VmaWxlLnVrCj4gKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiBAQCAtOTEsNCArOTEs
NiBAQCBMSUJLVk1WSVJUSU9fQ0lOQ0xVREVTLXkgICAgKz0gLUkkKFVLX1BMQVRfQ09NTU9OX0JB
U0UpL2luY2x1ZGUKPiAgIExJQktWTVZJUlRJT19BU0lOQ0xVREVTLXkgICArPSAtSSQoVUtfUExB
VF9EUklWRVJTX0JBU0UpL2luY2x1ZGUKPiAgIExJQktWTVZJUlRJT19DSU5DTFVERVMteSAgICAr
PSAtSSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1ZGUKPiAgIExJQktWTVZJUlRJT19TUkNT
LSQoQ09ORklHX1ZJUlRJT19CVVMpICs9XAo+IC0JCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3Zp
cnRpby92aXJ0aW9fYnVzLmMKPiArCQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRp
by92aXJ0aW9fYnVzLmMKPiArTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX1BDSSkg
Kz1cCj4gKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3BjaS5j
Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:06:13 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:06:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFRI4-0005ey-8J; Wed, 24 Oct 2018 22:06:12 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFRI3-0005et-B2
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:06:11 +0000
X-Inumbo-ID: 98b1a6b1-d7d8-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 98b1a6b1-d7d8-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 00:03:11 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 7F3961048C0;
 Thu, 25 Oct 2018 00:06:07 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6F1jbPJpamNx; Thu, 25 Oct 2018 00:06:07 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 5827B104813
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 00:06:05 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:06:05 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540388553-15668-6-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025000604444
Message-ID: <e123d6bd-eaa0-7cff-716f-60ac2c552db9@neclab.eu>
Date: Thu, 25 Oct 2018 00:06:04 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540388553-15668-6-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 5/7] plat/drivers:
 Reintroduce the virtio ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZ29vZC4KClJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KCk9uIDI0LjEwLjE4IDE1OjQyLCBTaGFyYW4gU2FudGhhbmFtIHdyb3RlOgo+IFRo
aXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgQVBJIHRvIGNyZWF0ZSBkZXN0cm95IHRoZSB2aXJ0aW8g
cmluZy4gVGhlCj4gY29uZmlndXJhdGlvbiBBUEkgZm9yIGZpbmQgdGhlIG51bWJlciBvZiBxdWV1
ZXMgYW5kIHNldHRpbmcgdXAKPiBpbmRpdmlkdWFsIHF1ZXVlcyBmb3IgYSBkZXZpY2UuCj4gCj4g
U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2J1cy5oIHwg
IDcyICsrKysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1
ZS5oICB8IDE0NSArKysrKysrKysrKysrKysrKysrKysrKwo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fYnVzLmMgICAgICAgICB8ICAgMiArCj4gICBwbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19wY2kuYyAgICAgICAgIHwgIDgzICsrKysrKysrKysrKy0KPiAgIHBsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3JpbmcuYyAgICAgICAgfCAxOTYgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKwo+ICAgcGxhdC9rdm0vQ29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICB8ICAg
MSArCj4gICBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAgIHwgICAyICsK
PiAgIDcgZmlsZXMgY2hhbmdlZCwgNDk4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4g
ICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1
ZS5oCj4gICBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmlu
Zy5jCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9f
YnVzLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX2J1cy5oCj4gaW5kZXgg
OGRmZmU1Ni4uZjg0Njg0MCAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX2J1cy5oCj4gKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRp
b19idXMuaAo+IEBAIC00Miw2ICs0Miw3IEBACj4gICAjaW5jbHVkZSA8dWsvYXJjaC9sY3B1Lmg+
Cj4gICAjaW5jbHVkZSA8dWsvYWxsb2MuaD4KPiAgICNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2Nv
bmZpZy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRxdWV1ZS5oPgo+ICAgCj4gICAjaWZkZWYg
X19jcGx1c3BsdXMKPiAgIGV4dGVybiAiQyIgewo+IEBAIC05NCw2ICs5NSwxMyBAQCBzdHJ1Y3Qg
dmlydGlvX2NvbmZpZ19vcHMgewo+ICAgCS8qKiBHZXQgYW5kIFNldCBTdGF0dXMgKi8KPiAgIAlf
X3U4ICgqc3RhdHVzX2dldCkoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpOwo+ICAgCXZvaWQgKCpz
dGF0dXNfc2V0KShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMpOwo+ICsJLyoq
IEZpbmQgdGhlIHZpcnRxdWV1ZSAqLwo+ICsJaW50ICgqdnFzX2ZpbmQpKHN0cnVjdCB2aXJ0aW9f
ZGV2ICp2ZGV2LCBfX3UxNiBudW1fdnEsIF9fdTE2ICp2cV9zaXplKTsKPiArCS8qKiBTZXR1cCB0
aGUgdmlydHF1ZXVlICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVlICooKnZxX3NldHVwKShzdHJ1Y3Qg
dmlydGlvX2RldiAqdmRldiwgX191MTYgbnVtX2Rlc2MsCj4gKwkJCQkgICAgICBfX3UxNiBxdWV1
ZV9pZCwKPiArCQkJCSAgICAgIHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrLAo+ICsJCQkJ
ICAgICAgc3RydWN0IHVrX2FsbG9jICphKTsKPiAgIH07Cj4gICAKPiAgIC8qKgo+IEBAIC0xMTYs
NiArMTI0LDggQEAgc3RydWN0IHZpcnRpb19kcml2ZXIgewo+ICAgc3RydWN0IHZpcnRpb19kZXYg
ewo+ICAgCS8qIEZlYXR1cmUgYml0IGRlc2NyaWJpbmcgdGhlIHZpcnRpbyBkZXZpY2UgKi8KPiAg
IAlfX3U2NCBmZWF0dXJlczsKPiArCS8qIExpc3Qgb2YgdGhlIHZpcnRxdWV1ZSBmb3IgdGhlIGRl
dmljZSAqLwo+ICsJVUtfVEFJTFFfSEVBRCh2aXJ0cXVldWVfaGVhZCwgc3RydWN0IHZpcnRxdWV1
ZSkgdnFzOwo+ICAgCS8qIFByaXZhdGUgZGF0YSBvZiB0aGUgZHJpdmVyICovCj4gICAJdm9pZCAq
cHJpdjsKPiAgIAkvKiBWaXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KPiBAQCAtMjIwLDYgKzIz
MCw2OCBAQCBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9fY29uZmlnX2dldChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwgX191MTYgb2Zmc2V0LAo+ICAgCXJldHVybiByYzsKPiAgIH0KPiAgIAo+ICsv
KioKPiArICogVGhlIGhlbHBlciBmdW5jdGlvbiB0byBmaW5kIHRoZSBudW1iZXIgb2YgdGhlIHZx
cyBzdXBwb3J0ZWQgb24gdGhlIGRldmljZS4KPiArICogQHBhcmFtIHZkZXYKPiArICoJQSByZWZl
cmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqIEBwYXJhbSB0b3RhbF92cXMKPiArICoJ
VGhlIHRvdGFsIG51bWJlciBvZiB2aXJ0cXVldWVzIHJlcXVlc3RlZC4KPiArICogQHBhcmFtIHZx
X3NpemUKPiArICoJQW4gYXJyYXkgb2YgbWF4IGRlc2NyaXB0b3JzIG9uIGVhY2ggdmlydHF1ZXVl
IGZvdW5kIG9uIHRoZQo+ICsgKgl2aXJ0aW8gZGV2aWNlCj4gKyAqIEByZXR1cm4gaW50Cj4gKyAq
CU9uIHN1Y2Nlc3MsIHRoZSBmdW5jdGlvbiByZXR1cm4gdGhlIG51bWJlciBvZiBhdmFpbGFibGUg
dmlydHF1ZXVlcwo+ICsgKglPbiBlcnJvciwKPiArICoJCS1FTk9UU1VQIGlmIHRoZSBmdW5jdGlv
biBpcyBub3Qgc3VwcG9ydGVkLgo+ICsgKi8KPiArc3RhdGljIGlubGluZSBpbnQgdmlydGlvX2Zp
bmRfdnFzKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiB0b3RhbF92cXMsCj4gKwkJCQkg
IF9fdTE2ICp2cV9zaXplKQo+ICt7Cj4gKwlpbnQgcmMgPSAtRU5PVFNVUDsKPiArCj4gKwlVS19B
U1NFUlQodmRldik7Cj4gKwo+ICsJaWYgKGxpa2VseSh2ZGV2LT5jb3BzLT52cXNfZmluZCkpCj4g
KwkJcmMgPSB2ZGV2LT5jb3BzLT52cXNfZmluZCh2ZGV2LCB0b3RhbF92cXMsIHZxX3NpemUpOwo+
ICsKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiArLyoqCj4gKyAqIEEgaGVscGVyIGZ1bmN0aW9u
IHRvIHNldHVwIGFuIGluZGl2aWR1YWwgdmlydHF1ZXVlLgo+ICsgKiBAcGFyYW0gdmRldgo+ICsg
KglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBkZXZpY2UuCj4gKyAqIEBwYXJhbSB2cV9pZAo+ICsg
KglUaGUgdmlydHF1ZXVlIHF1ZXVlIGlkLgo+ICsgKiBAcGFyYW0gbnJfZGVzYwo+ICsgKglUaGUg
Y291bnQgb2YgdGhlIGRlc2NyaXB0b3IgdG8gYmUgY29uZmlndXJlZC4KPiArICogQHBhcmFtIGNh
bGxiYWNrCj4gKyAqCUEgcmVmZXJlbmNlIHRvIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGludm9rZWQg
YnkgdGhlIHZpcnRpbyBkZXZpY2Ugb24gYW4KPiArICoJaW50ZXJydXB0IGZyb20gdGhlIHZpcnRx
dWV1ZS4KPiArICogQHBhcmFtIGEKPiArICoJQSByZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvci4K
PiArICoKPiArICogQHJldHVybiBzdHJ1Y3QgdmlydHF1ZXVlICoKPiArICoJT24gc3VjY2Vzcywg
YSByZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KPiArICoJT24gZXJyb3IsCj4gKyAqCQktRU5P
VFNVUCBvcGVyYXRpb24gbm90IHN1cHBvcnRlZCBvbiB0aGUgZGV2aWNlLgo+ICsgKgkJLUVOT01F
TSAgRmFpbGVkIGFsbG9jYXRpbmcgdGhlIHZpcnRxdWV1ZS4KPiArICovCj4gK3N0YXRpYyBpbmxp
bmUgc3RydWN0IHZpcnRxdWV1ZSAqdmlydGlvX3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX2Rl
diAqdmRldiwKPiArCQkJCQkgICAgX191MTYgdnFfaWQsIF9fdTE2IG5yX2Rlc2MsCj4gKwkJCQkJ
ICAgIHZpcnRxdWV1ZV9jYWxsYmFja190ICBjYWxsYmFjaywKPiArCQkJCQkgICAgc3RydWN0IHVr
X2FsbG9jICphKQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cSA9IEVSUjJQVFIoLUVOT1RT
VVApOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2ICYmIGEpOwo+ICsKPiArCWlmIChsaWtlbHkodmRl
di0+Y29wcy0+dnFfc2V0dXApKQo+ICsJCXZxID0gdmRldi0+Y29wcy0+dnFfc2V0dXAodmRldiwg
dnFfaWQsIG5yX2Rlc2MsIGNhbGxiYWNrLCBhKTsKPiArCj4gKwlyZXR1cm4gdnE7Cj4gK30KPiAr
Cj4gICBzdGF0aWMgaW5saW5lIGludCB2aXJ0aW9faGFzX2ZlYXR1cmVzKF9fdTY0IGZlYXR1cmVz
LCBfX3U4IGJwb3MpCj4gICB7Cj4gICAJX191NjQgdG1wX2ZlYXR1cmUgPSAwOwo+IGRpZmYgLS1n
aXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmggYi9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmgKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGlu
ZGV4IDAwMDAwMDAuLmE4YTRiYzAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2ZXJz
L2luY2x1ZGUvdmlydGlvL3ZpcnRxdWV1ZS5oCj4gQEAgLTAsMCArMSwxNDUgQEAKPiArLyogU1BE
WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwo+ICsvKgo+ICsgKiBBdXRob3Jz
OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiArICoKPiAr
ICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KPiArICoKPiArICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cj4gKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwo+ICsgKiBhcmUgbWV0Ogo+ICsgKgo+ICsgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCj4gKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKPiArICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KPiAr
ICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5h
bWVzIG9mIGl0cwo+ICsgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQo+ICsgKiAgICB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgo+ICsgKgo+ICsgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTICJBUyBJUyIKPiArICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQo+ICsgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRQo+ICsgKiBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VCBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFCj4gKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKPiArICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKPiArICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCj4gKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCj4gKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCj4gKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFCj4gKyAqIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgo+ICsgKgo+ICsgKiBUSElTIEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RF
RCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgo+ICsgKi8KPiArCj4gKyNpZm5kZWYgX19QTEFUX0RS
Vl9WSVJUUVVFVUVfSF9fCj4gKyNkZWZpbmUgX19QTEFUX0RSVl9WSVJUUVVFVUVfSF9fCj4gKwo+
ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+Cj4gKyNpbmNsdWRlIDx1ay9saXN0Lmg+Cj4gKyNpbmNs
dWRlIDx1ay9zZ2xpc3QuaD4KPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiArI2luY2x1
ZGUgPHZpcnRpby92aXJ0aW9fcmluZy5oPgo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25m
aWcuaD4KPiArCj4gKyNpZmRlZiBfX2NwbHVzcGx1cwo+ICtleHRlcm4gIkMiIHsKPiArI2VuZGlm
IC8qIF9fY3BsdXNwbHVzICovCj4gKwo+ICsvKioKPiArICogVHlwZSBkZWNsYXJhdGlvbnMKPiAr
ICovCj4gK3N0cnVjdCB2aXJ0cXVldWU7Cj4gK3N0cnVjdCB2aXJ0aW9fZGV2Owo+ICt0eXBlZGVm
IGludCAoKnZpcnRxdWV1ZV9jYWxsYmFja190KShzdHJ1Y3QgdmlydHF1ZXVlICosIHZvaWQgKnBy
aXYpOwo+ICt0eXBlZGVmIGludCAoKnZpcnRxdWV1ZV9ub3RpZnlfaG9zdF90KShzdHJ1Y3Qgdmly
dGlvX2RldiAqLCBfX3UxNiBxdWV1ZV9ucik7Cj4gKwo+ICsvKioKPiArICogU3RydWN0dXJlIHRv
IGRlc2NyaWJlIHRoZSB2aXJ0cXVldWUuCj4gKyAqLwo+ICtzdHJ1Y3QgdmlydHF1ZXVlIHsKPiAr
CS8qIFJlZmVyZW5jZSB0aGUgdmlydGlvX2RldiBpdCBiZWxvbmcgdG8gKi8KPiArCXN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2Owo+ICsJLyogVmlydHF1ZXVlIGlkZW50aWZpZXIgKi8KPiArCV9fdTE2
IHF1ZXVlX2lkOwo+ICsJLyogTm90aWZ5IHRvIHRoZSBob3N0ICovCj4gKwl2aXJ0cXVldWVfbm90
aWZ5X2hvc3RfdCB2cV9ub3RpZnlfaG9zdDsKPiArCS8qIENhbGxiYWNrIGZyb20gdGhlIHZpcnRx
dWV1ZSAqLwo+ICsJdmlydHF1ZXVlX2NhbGxiYWNrX3QgdnFfY2FsbGJhY2s7Cj4gKwkvKiBOZXh0
IGVudHJ5IG9mIHRoZSBxdWV1ZSAqLwo+ICsJVUtfVEFJTFFfRU5UUlkoc3RydWN0IHZpcnRxdWV1
ZSkgbmV4dDsKPiArCS8qIFByaXZhdGUgZGF0YSBzdHJ1Y3R1cmUgdXNlZCBieSB0aGUgZHJpdmVy
IG9mIHRoZSBxdWV1ZSAqLwo+ICsJdm9pZCAqcHJpdjsKPiArfTsKPiArCj4gKy8qKgo+ICsgKiBG
ZXRjaCB0aGUgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgZGVzY3JpcHRvciByaW5nLgo+ICsgKiBA
cGFyYW0gdnEKPiArICoJUmVmZXJlbmNlIHRvIHRoZSB2aXJ0cXVldWUuCj4gKyAqCj4gKyAqIEBy
ZXR1cm4KPiArICoJUmV0dXJuIHRoZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSB2cmlu
Zy4KPiArICovCj4gK19fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1
ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiArICogTmVnb3RpYXRlIHdpdGggdGhlIHZpcnRxdWV1ZSBm
ZWF0dXJlcy4KPiArICogQHBhcmFtIGZlYXR1cmVfc2V0Cj4gKyAqCVRoZSBmZWF0dXJlIHNldCB0
aGUgZGV2aWNlIHJlcXVlc3QuCj4gKyAqCj4gKyAqIEByZXR1cm4gX191NjQKPiArICoJVGhlIG5l
Z290aWF0ZWQgZmVhdHVyZSBzZXQuCj4gKyAqLwo+ICtfX3U2NCB2aXJ0cXVldWVfZmVhdHVyZV9u
ZWdvdGlhdGUoX191NjQgZmVhdHVyZV9zZXQpOwo+ICsKPiArLyoqCj4gKyAqIEFsbG9jYXRlIGEg
dmlydHF1ZXVlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICoJVGhlIHZpcnRxdWV1ZSBodyBp
ZC4KPiArICogQHBhcmFtIG5yX2Rlc2NzCj4gKyAqCVRoZSBudW1iZXIgb2YgZGVzY3JpcHRvciBm
b3IgdGhlIHF1ZXVlLgo+ICsgKiBAcGFyYW0gYWxpZ24KPiArICoJVGhlIG1lbW9yeSBhbGlnbm1l
bnQgZm9yIHRoZSByaW5nIG1lbW9yeS4KPiArICogQHBhcmFtIGNhbGxiYWNrCj4gKyAqCUEgcmVm
ZXJlbmNlIHRvIGNhbGxiYWNrIHRvIHRoZSB2aXJ0aW8tZGV2Lgo+ICsgKiBAcGFyYW0gbm90aWZ5
Cj4gKyAqCUEgcmVmZXJlbmNlIHRvIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiB0byB0aGUgaG9zdC4K
PiArICogQHBhcmFtIHZkZXY6Cj4gKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSB2aXJ0aW8gZGV2aWNl
Lgo+ICsgKiBAcGFyYW0gIGE6Cj4gKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSBhbGxvY2F0b3IuCj4g
KyAqCj4gKyAqIEByZXR1cm4gc3RydWN0IHZpcnRxdWV1ZSAqCj4gKyAqCU9uIHN1Y2Nlc3MsIHJl
dHVybiBhIHJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgo+ICsgKglPbiBmYWlsdXJlLAo+ICsg
KgkJICAgLUVOT01FTTogRmFpbGVkIHRvIGFsbG9jYXRlIHRoZSBxdWV1ZS4KPiArICovCj4gK3N0
cnVjdCB2aXJ0cXVldWUgKnZpcnRxdWV1ZV9jcmVhdGUoX191MTYgcXVldWVfaWQsIF9fdTE2IG5y
X2Rlc2NzLCBfX3UxNiBhbGlnbiwKPiArCQkJCSAgIHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxi
YWNrLAo+ICsJCQkJICAgdmlydHF1ZXVlX25vdGlmeV9ob3N0X3Qgbm90aWZ5LAo+ICsJCQkJICAg
c3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gKwo+ICsvKioK
PiArICogQ2hlY2sgdGhlIHZpcnRxdWV1ZSBpZiBmdWxsLgo+ICsgKiBAcGFyYW0gdnEKPiArICoJ
QSByZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KPiArICogQHJldHVybiBpbnQKPiArICoJMSBv
biBmdWxsLAo+ICsgKgkwIG90aGVyd2lzZQo+ICsgKi8KPiAraW50IHZpcnRxdWV1ZV9pc19mdWxs
KHN0cnVjdCB2aXJ0cXVldWUgKnZxKTsKPiArCj4gKy8qCj4gKyAqIERlc3Ryb3kgYSB2aXJ0dWFs
IHF1ZXVlCj4gKyAqIEBwYXJhbSB2cQo+ICsgKglBIHJlZmVyZW5jZSB0byB0aGUgdmlydHVhbCBx
dWV1ZQo+ICsgKiBAcGFyYW0gYQo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIG1lbW9yeSBhbGxvY2F0
b3IKPiArICovCj4gK3ZvaWQgdmlydHF1ZXVlX2Rlc3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAqdnEs
IHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gKwo+ICsjaWZkZWYgX19jcGx1c3BsdXMKPiArfQo+ICsj
ZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KPiArCj4gKyNlbmRpZiAvKiBfX1BMQVRfRFJWX1ZJUlRR
VUVVRV9IX18gKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVz
LmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwo+IGluZGV4IGI0MGEyNzAuLjQ4
YTI0NjcgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiAr
KysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19idXMuYwo+IEBAIC0xNTEsNiArMTUxLDgg
QEAgaW50IHZpcnRpb19idXNfcmVnaXN0ZXJfZGV2aWNlKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
KQo+ICAgCQlyZXR1cm4gcmM7Cj4gICAJfQo+ICAgCj4gKwkvKiBJbml0aWFsaXplIHRoZSB2aXJ0
cXVldWUgbGlzdCAqLwo+ICsJVUtfVEFJTFFfSU5JVCgmdmRldi0+dnFzKTsKPiAgIAo+ICAgCS8q
IENhbGxpbmcgdGhlIGRyaXZlciBhZGQgZGV2aWNlICovCj4gICAJcmMgPSBkcnYtPmFkZF9kZXYo
dmRldik7Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jIGIv
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiBpbmRleCAxYzFkMTFjLi40ZTI5ZTYy
IDEwMDY0NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCj4gKysrIGIv
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiBAQCAtNDIsNiArNDIsNyBAQAo+ICAg
I2luY2x1ZGUgPHBjaS9wY2lfYnVzLmg+Cj4gICAjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19jb25m
aWcuaD4KPiAgICNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX2J1cy5oPgo+ICsjaW5jbHVkZSA8dmly
dGlvL3ZpcnRxdWV1ZS5oPgo+ICAgI2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fcGNpLmg+Cj4gICAK
PiAgICNkZWZpbmUgVkVORE9SX1FVTVJBTkVUX1ZJUlRJTyAgICAgICAgICAgKDB4MUFGNCkKPiBA
QCAtNjUsMTIgKzY2LDEzIEBAIHN0cnVjdCB2aXJ0aW9fcGNpX2RldiB7Cj4gICB9Owo+ICAgCj4g
ICAvKioKPiAtICogRmV0Y2ggdGhlIHZpcnRpbyBwY2kgaW5mb3JtYXRpb24gZnJvbSB0aGUgdmly
dGlvZGV2Lgo+ICsgKiBGZXRjaCB0aGUgdmlydGlvIHBjaSBpbmZvcm1hdGlvbiBmcm9tIHRoZSB2
aXJ0aW8gZGV2aWNlLgo+ICsgKiBAcGFyYW0gdmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZp
cnRpbyBkZXZpY2UuCj4gICAgKi8KPiAgICNkZWZpbmUgdG9fdmlydGlvcGNpZGV2KHZkZXYpIFwK
PiAgIAkJX19jb250YWluZXJvZih2ZGV2LCBzdHJ1Y3QgdmlydGlvX3BjaV9kZXYsIHZkZXYpCj4g
ICAKPiAtCj4gICAvKioKPiAgICAqIFN0YXRpYyBmdW5jdGlvbiBkZWNsYXJhdGlvbi4KPiAgICAq
Lwo+IEBAIC04Miw4ICs4NCwxNSBAQCBzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdf
Z2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gICBzdGF0aWMgX191
NjQgdnBjaV9sZWdhY3lfcGNpX2ZlYXR1cmVzX2dldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldik7
Cj4gICBzdGF0aWMgdm9pZCB2cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0KHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LAo+ICAgCQkJCQkgX191NjQgZmVhdHVyZXMpOwo+ICtzdGF0aWMgaW50IHZw
Y2lfbGVnYWN5X3BjaV92cV9maW5kKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBudW1f
dnEsCj4gKwkJCQkgICBfX3UxNiAqcWRlc2Nfc2l6ZSk7Cj4gICBzdGF0aWMgdm9pZCB2cGNpX2xl
Z2FjeV9wY2lfc3RhdHVzX3NldChzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191OCBzdGF0dXMp
Owo+ICAgc3RhdGljIF9fdTggdnBjaV9sZWdhY3lfcGNpX3N0YXR1c19nZXQoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYpOwo+ICtzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdhY3lfdnFf
c2V0dXAoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gKwkJCQkJICAgICAgX191MTYgcXVldWVf
aWQsCj4gKwkJCQkJICAgICAgX191MTYgbnVtX2Rlc2MsCj4gKwkJCQkJICAgICAgdmlydHF1ZXVl
X2NhbGxiYWNrX3QgY2FsbGJhY2ssCj4gKwkJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKTsK
PiAgIHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fZGV2aWNlX2lkX2FkZChzdHJ1Y3QgdmlydGlv
X2RldiAqdmRldiwKPiAgIAkJCQkJX191MTYgcGNpX2Rldl9pZCwKPiAgIAkJCQkJX191MTYgdnBj
aV9kZXZfaWRfc3RhcnQpOwo+IEBAIC0xMDEsOCArMTEwLDczIEBAIHN0YXRpYyBzdHJ1Y3Qgdmly
dGlvX2NvbmZpZ19vcHMgdnBjaV9sZWdhY3lfb3BzID0gewo+ICAgCS5mZWF0dXJlc19zZXQgPSB2
cGNpX2xlZ2FjeV9wY2lfZmVhdHVyZXNfc2V0LAo+ICAgCS5zdGF0dXNfZ2V0ICAgPSB2cGNpX2xl
Z2FjeV9wY2lfc3RhdHVzX2dldCwKPiAgIAkuc3RhdHVzX3NldCAgID0gdnBjaV9sZWdhY3lfcGNp
X3N0YXR1c19zZXQsCj4gKwkudnFzX2ZpbmQgICAgID0gdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQs
Cj4gKwkudnFfc2V0dXAgICAgID0gdnBjaV9sZWdhY3lfdnFfc2V0dXAsCj4gICB9Owo+ICAgCj4g
K3N0YXRpYyBzdHJ1Y3QgdmlydHF1ZXVlICp2cGNpX2xlZ2FjeV92cV9zZXR1cChzdHJ1Y3Qgdmly
dGlvX2RldiAqdmRldiwKPiArCQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCwKPiArCQkJCQkgICAg
ICBfX3UxNiBudW1fZGVzYywKPiArCQkJCQkgICAgICB2aXJ0cXVldWVfY2FsbGJhY2tfdCBjYWxs
YmFjaywKPiArCQkJCQkgICAgICBzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sKPiArCXN0cnVjdCB2
aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxMOwo+ICsJc3RydWN0IHZpcnRxdWV1ZSAqdnE7Cj4g
KwlfX3BoeXNfYWRkciBhZGRyOwo+ICsJbG9uZyBmbGFnczsKPiArCj4gKwlVS19BU1NFUlQodmRl
diAhPSBOVUxMKTsKPiArCj4gKwl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2KTsKPiArCXZx
ID0gdmlydHF1ZXVlX2NyZWF0ZShxdWV1ZV9pZCwgbnVtX2Rlc2MsIFZJUlRJT19QQ0lfVlJJTkdf
QUxJR04sCj4gKwkJCSAgICAgIGNhbGxiYWNrLCBOVUxMLCB2ZGV2LCBhKTsKPiArCWlmIChQVFJJ
U0VSUih2cSkpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBjcmVhdGUgdGhlIHZpcnRxdWV1
ZTogJWRcbiIsCj4gKwkJCSAgUFRSMkVSUih2cSkpOwo+ICsJCWdvdG8gZXJyX2V4aXQ7Cj4gKwl9
Cj4gKwo+ICsJLyogUGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgcXVldWUgKi8KPiArCWFkZHIgPSB2
aXJ0cXVldWVfcGh5c2FkZHIodnEpOwo+ICsJLyogU2VsZWN0IHRoZSBxdWV1ZSBvZiBpbnRlcmVz
dCAqLwo+ICsJdmlydGlvX2N3cml0ZTE2KCh2b2lkICopKHVuc2lnbmVkIGxvbmcpdnBkZXYtPnBj
aV9iYXNlX2FkZHIsCj4gKwkJCVZJUlRJT19QQ0lfUVVFVUVfU0VMLCBxdWV1ZV9pZCk7Cj4gKwl2
aXJ0aW9fY3dyaXRlMzIoKHZvaWQgKikodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRk
ciwKPiArCQkJVklSVElPX1BDSV9RVUVVRV9QRk4sCj4gKwkJCWFkZHIgPj4gVklSVElPX1BDSV9R
VUVVRV9BRERSX1NISUZUKTsKPiArCj4gKwlmbGFncyA9IHVrcGxhdF9sY3B1X3NhdmVfaXJxZigp
Owo+ICsJVUtfVEFJTFFfSU5TRVJUX1RBSUwoJnZwZGV2LT52ZGV2LnZxcywgdnEsIG5leHQpOwo+
ICsJdWtwbGF0X2xjcHVfcmVzdG9yZV9pcnFmKGZsYWdzKTsKPiArCj4gK2Vycl9leGl0Ogo+ICsJ
cmV0dXJuIHZxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV92cV9maW5k
KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LCBfX3UxNiBudW1fdnFzLAo+ICsJCQkJICAgX191MTYg
KnFkZXNjX3NpemUpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXYgPSBOVUxM
Owo+ICsJaW50IHZxX2NudCA9IDAsIGkgPSAwOwo+ICsKPiArCVVLX0FTU0VSVCh2ZGV2KTsKPiAr
CXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBu
dW1fdnFzOyBpKyspIHsKPiArCQl2aXJ0aW9fY3dyaXRlMTYoKHZvaWQgKikgKHVuc2lnbmVkIGxv
bmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCQlWSVJUSU9fUENJX1FVRVVFX1NFTCwgaSk7
Cj4gKwkJcWRlc2Nfc2l6ZVtpXSA9IHZpcnRpb19jcmVhZDE2KAo+ICsJCQkJKHZvaWQgKikgKHVu
c2lnbmVkIGxvbmcpdnBkZXYtPnBjaV9iYXNlX2FkZHIsCj4gKwkJCQlWSVJUSU9fUENJX1FVRVVF
X1NJWkUpOwo+ICsJCWlmICh1bmxpa2VseSghcWRlc2Nfc2l6ZVtpXSkpIHsKPiArCQkJdWtfcHJf
ZXJyKCJWaXJ0cXVldWUgJWQgbm90IGF2YWlsYWJsZVxuIiwgaSk7Cj4gKwkJCWNvbnRpbnVlOwo+
ICsJCX0KPiArCQl2cV9jbnQrKzsKPiArCX0KPiArCXJldHVybiB2cV9jbnQ7Cj4gK30KPiArCj4g
ICBzdGF0aWMgaW50IHZwY2lfbGVnYWN5X3BjaV9jb25maWdfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2
ICp2ZGV2LCBfX3UxNiBvZmZzZXQsCj4gICAJCQkJICAgICAgY29uc3Qgdm9pZCAqYnVmLCBfX3Uz
MiBsZW4pCj4gICB7Cj4gQEAgLTIxMiw2ICsyODYsOCBAQCBzdGF0aWMgdm9pZCB2cGNpX2xlZ2Fj
eV9wY2lfZmVhdHVyZXNfc2V0KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+ICAgCj4gICAJVUtf
QVNTRVJUKHZkZXYpOwo+ICAgCXZwZGV2ID0gdG9fdmlydGlvcGNpZGV2KHZkZXYpOwo+ICsJLyog
TWFzayBvdXQgZmVhdHVyZXMgbm90IHN1cHBvcnRlZCBieSB0aGUgdmlydHF1ZXVlIGRyaXZlciAq
Lwo+ICsJZmVhdHVyZXMgPSB2aXJ0cXVldWVfZmVhdHVyZV9uZWdvdGlhdGUoZmVhdHVyZXMpOwo+
ICAgCXZpcnRpb19jd3JpdGUzMigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jh
c2VfYWRkciwKPiAgIAkJCVZJUlRJT19QQ0lfR1VFU1RfRkVBVFVSRVMsIChfX3UzMilmZWF0dXJl
cyk7Cj4gICB9Cj4gQEAgLTI0Myw3ICszMTksNyBAQCBzdGF0aWMgaW50IHZpcnRpb19wY2lfbGVn
YWN5X2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2UgKnBjaV9kZXYsCj4gICAKPiAgIAkvKiBNYXBw
aW5nIHRoZSB2aXJ0aW8gZGV2aWNlIGlkZW50aWZpZXIgKi8KPiAgIAl2aXJ0aW9fZGV2aWNlX2lk
X2FkZCgmdnBjaV9kZXYtPnZkZXYsIHBjaV9kZXYtPmlkLmRldmljZV9pZCwKPiAtCQkJVklSVElP
X1BDSV9MRUdBQ1lfREVWSUNFSURfU1RBUlQpOwo+ICsJCQkgICAgIFZJUlRJT19QQ0lfTEVHQUNZ
X0RFVklDRUlEX1NUQVJUKTsKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgIAo+IEBAIC0yODQsNiAr
MzYwLDcgQEAgc3RhdGljIGludCB2aXJ0aW9fcGNpX2FkZF9kZXYoc3RydWN0IHBjaV9kZXZpY2Ug
KnBjaV9kZXYpCj4gICAKPiAgIGV4aXQ6Cj4gICAJcmV0dXJuIHJjOwo+ICsKPiAgIGZyZWVfcGNp
X2RldjoKPiAgIAl1a19mcmVlKGEsIHZwY2lfZGV2KTsKPiAgIAlnb3RvIGV4aXQ7Cj4gZGlmZiAt
LWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYyBiL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3JpbmcuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAw
MC4uYmE5MTU5NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3Zp
cnRpb19yaW5nLmMKPiBAQCAtMCwwICsxLDE5NiBAQAo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRp
ZmllcjogQlNELTMtQ2xhdXNlICovCj4gKy8qCj4gKyAqIEF1dGhvcnM6IFNoYXJhbiBTYW50aGFu
YW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMp
IDIwMTgsIE5FQyBFdXJvcGUgTHRkLiwgTkVDIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgo+ICsgKgo+ICsgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKPiArICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCj4gKyAqIGFyZSBtZXQ6
Cj4gKyAqCj4gKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Cj4gKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KPiArICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKPiAr
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQo+ICsgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgo+ICsgKiAzLiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUgbmFtZXMgb2YgaXRzCj4gKyAq
ICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
dHMgZGVyaXZlZCBmcm9tCj4gKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqCj4gKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgo+
ICsgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCj4gKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCj4gKyAqIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUKPiArICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgo+ICsgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgo+ICsgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKPiArICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KPiArICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKPiAr
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUKPiArICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCj4g
KyAqCj4gKyAqIFRISVMgSEVBREVSIE1BWSBOT1QgQkUgRVhUUkFDVEVEIE9SIE1PRElGSUVEIElO
IEFOWSBXQVkuCj4gKyAqLwo+ICsvKioKPiArICogSW5zcGlyZWQgZnJvbSB0aGUgRnJlZUJTRC4K
PiArICogQ29tbWl0LWlkOiBhODllN2ExMGQ1MDEKPiArICovCj4gKyNpbmNsdWRlIDx1ay9jb25m
aWcuaD4KPiArI2luY2x1ZGUgPHN0cmluZy5oPgo+ICsjaW5jbHVkZSA8dWsvcHJpbnQuaD4KPiAr
I2luY2x1ZGUgPHVrL2VycnB0ci5oPgo+ICsjaW5jbHVkZSA8Y3B1Lmg+Cj4gKyNpbmNsdWRlIDx1
ay9zZ2xpc3QuaD4KPiArI2luY2x1ZGUgPHVrL2FyY2gvYXRvbWljLmg+Cj4gKyNpbmNsdWRlIDx1
ay9wbGF0L2lvLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX3JpbmcuaD4KPiArI2luY2x1
ZGUgPHZpcnRpby92aXJ0cXVldWUuaD4KPiArCj4gKyNkZWZpbmUgVklSVFFVRVVFX01BWF9TSVpF
ICAzMjc2OAo+ICsjZGVmaW5lIHRvX3ZpcnRxdWV1ZV92cmluZyh2cSkJCQlcCj4gKwlfX2NvbnRh
aW5lcm9mKHZxLCBzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nLCB2cSkKPiArCj4gK3N0cnVjdCB2aXJ0
cXVldWVfZGVzY19pbmZvIHsKPiArCXZvaWQgKmNvb2tpZTsKPiArCV9fdTE2IGRlc2NfY291bnQ7
Cj4gK307Cj4gKwo+ICtzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nIHsKPiArCXN0cnVjdCB2aXJ0cXVl
dWUgdnE7Cj4gKwkvKiBEZXNjcmlwdG9yIFJpbmcgKi8KPiArCXN0cnVjdCB2cmluZyB2cmluZzsK
PiArCS8qIFJlZmVyZW5jZSB0byB0aGUgdnJpbmcgKi8KPiArCXZvaWQgICAqdnJpbmdfbWVtOwo+
ICsJLyogS2VlcCB0cmFjayBvZiBhdmFpbGFibGUgZGVzY3JpcHRvcnMgKi8KPiArCV9fdTE2IGRl
c2NfYXZhaWw7Cj4gKwkvKiBJbmRleCBvZiB0aGUgbmV4dCBhdmFpbGFibGUgc2xvdCAqLwo+ICsJ
X191MTYgaGVhZF9mcmVlX2Rlc2M7Cj4gKwkvKiBJbmRleCBvZiB0aGUgbGFzdCB1c2VkIGRlc2Ny
aXB0b3IgYnkgdGhlIGhvc3QgKi8KPiArCV9fdTE2IGxhc3RfdXNlZF9kZXNjX2lkeDsKPiArCS8q
IENvb2tpZSB0byBpZGVudGlmeSBkcml2ZXIgYnVmZmVyICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVl
X2Rlc2NfaW5mbyB2cV9pbmZvW107Cj4gK307Cj4gKwo+ICsvKioKPiArICogU3RhdGljIGZ1bmN0
aW9uIERlY2xhcmF0aW9uKHMpLgo+ICsgKi8KPiArc3RhdGljIHZvaWQgdmlydHF1ZXVlX3ZyaW5n
X2luaXQoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLCBfX3UxNiBucl9kZXNjLAo+ICsJCQkJ
IF9fdTE2IGFsaWduKTsKPiArCj4gKy8qKgo+ICsgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24KPiAr
ICovCj4gK19fdTY0IHZpcnRxdWV1ZV9mZWF0dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3Nl
dCkKPiArewo+ICsJX191NjQgZmVhdHVyZSA9ICgxVUxMIDw8IFZJUlRJT19UUkFOU1BPUlRfRl9T
VEFSVCkgLSAxOwo+ICsKPiArCS8qKgo+ICsJICogQ3VycmVudGx5IG91dCB2cmluZyBkcml2ZXIg
ZG9lcyBub3Qgc3VwcG9ydCBhbnkgcmluZyBmZWF0dXJlLiBXZSB3aWxsCj4gKwkgKiBhZGQgc3Vw
cG9ydCB0byB0cmFuc3BvcnQgZmVhdHVyZSBpbiB0aGUgZnV0dXJlLgo+ICsJICovCj4gKwlmZWF0
dXJlICY9IGZlYXR1cmVfc2V0Owo+ICsJcmV0dXJuIGZlYXR1cmU7Cj4gK30KPiArCj4gK19fcGh5
c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKPiArewo+ICsJ
c3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxID0gTlVMTDsKPiArCj4gKwlVS19BU1NFUlQodnEp
Owo+ICsKPiArCXZycSA9IHRvX3ZpcnRxdWV1ZV92cmluZyh2cSk7Cj4gKwlyZXR1cm4gdWtwbGF0
X3ZpcnRfdG9fcGh5cyh2cnEtPnZyaW5nX21lbSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIHZp
cnRxdWV1ZV92cmluZ19pbml0KHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJf
ZGVzYywKPiArCQkJCSBfX3UxNiBhbGlnbikKPiArewo+ICsJaW50IGkgPSAwOwo+ICsKPiArCXZy
aW5nX2luaXQoJnZycS0+dnJpbmcsIG5yX2Rlc2MsIHZycS0+dnJpbmdfbWVtLCBhbGlnbik7Cj4g
Kwo+ICsJdnJxLT5kZXNjX2F2YWlsID0gdnJxLT52cmluZy5udW07Cj4gKwl2cnEtPmhlYWRfZnJl
ZV9kZXNjID0gMDsKPiArCXZycS0+bGFzdF91c2VkX2Rlc2NfaWR4ID0gMDsKPiArCWZvciAoaSA9
IDA7IGkgPCBucl9kZXNjIC0gMTsgaSsrKQo+ICsJCXZycS0+dnJpbmcuZGVzY1tpXS5uZXh0ID0g
aSArIDE7Cj4gKwkvKioKPiArCSAqIFdoZW4gd2UgcmVhY2ggdGhpcyBkZXNjcmlwdG9yIHdlIGhh
dmUgY29tcGxldGVseSB1c2VkIGFsbCB0aGUKPiArCSAqIGRlc2NyaXB0b3IgaW4gdGhlIHZyaW5n
Lgo+ICsJICovCj4gKwl2cnEtPnZyaW5nLmRlc2NbbnJfZGVzYyAtIDFdLm5leHQgPSBWSVJUUVVF
VUVfTUFYX1NJWkU7Cj4gK30KPiArCj4gK3N0cnVjdCB2aXJ0cXVldWUgKnZpcnRxdWV1ZV9jcmVh
dGUoX191MTYgcXVldWVfaWQsIF9fdTE2IG5yX2Rlc2NzLCBfX3UxNiBhbGlnbiwKPiArCQkJCSAg
IHZpcnRxdWV1ZV9jYWxsYmFja190IGNhbGxiYWNrLAo+ICsJCQkJICAgdmlydHF1ZXVlX25vdGlm
eV9ob3N0X3Qgbm90aWZ5LAo+ICsJCQkJICAgc3RydWN0IHZpcnRpb19kZXYgKnZkZXYsIHN0cnVj
dCB1a19hbGxvYyAqYSkKPiArewo+ICsJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+ICsJ
c3RydWN0IHZpcnRxdWV1ZSAqdnE7Cj4gKwlpbnQgcmM7Cj4gKwlzaXplX3QgcmluZ19zaXplID0g
MDsKPiArCj4gKwlVS19BU1NFUlQoYSk7Cj4gKwo+ICsJdnJxID0gdWtfbWFsbG9jKGEsIHNpemVv
ZihzdHJ1Y3QgdmlydHF1ZXVlKSArCj4gKwkJCW5yX2Rlc2NzICogc2l6ZW9mKHN0cnVjdCB2aXJ0
cXVldWVfZGVzY19pbmZvKSk7Cj4gKwlpZiAoIXZycSkgewo+ICsJCXVrX3ByX2VycigiQWxsb2Nh
dGlvbiBvZiB2aXJ0cXVldWUgZmFpbGVkXG4iKTsKPiArCQlyYyA9IC1FTk9NRU07Cj4gKwkJZ290
byBlcnJfZXhpdDsKPiArCX0KPiArCS8qKgo+ICsJICogSW5pdGlhbGl6ZSB0aGUgdmFsdWUgYmVm
b3JlIHJlZmVyZW5jaW5nIGl0IGluCj4gKwkgKiB1a19wb3NpeF9tZW1hbGlnbiBhcyB3ZSBkb24n
dCBzZXQgTlVMTCBvbiBhbGwgZmFpbHVyZXMgaW4gdGhlCj4gKwkgKiBhbGxvY2F0aW9uLgo+ICsJ
ICovCj4gKwl2cnEtPnZyaW5nX21lbSA9IE5VTEw7Cj4gKwo+ICsJcmluZ19zaXplID0gdnJpbmdf
c2l6ZShucl9kZXNjcywgYWxpZ24pOwo+ICsJdWtfcG9zaXhfbWVtYWxpZ24oYSwgKHZvaWQgKiop
JnZycS0+dnJpbmdfbWVtLCBfX1BBR0VfU0laRSwgcmluZ19zaXplKTsKPiArCWlmICghdnJxLT52
cmluZ19tZW0pIHsKPiArCQl1a19wcl9lcnIoIkFsbG9jYXRpb24gb2YgdnJpbmcgZmFpbGVkXG4i
KTsKPiArCQlyYyA9IC1FTk9NRU07Cj4gKwkJZ290byBlcnJfZnJlZXZxOwo+ICsJfQo+ICsJbWVt
c2V0KHZycS0+dnJpbmdfbWVtLCAwLCByaW5nX3NpemUpOwo+ICsJdmlydHF1ZXVlX3ZyaW5nX2lu
aXQodnJxLCBucl9kZXNjcywgYWxpZ24pOwo+ICsKPiArCXZxID0gJnZycS0+dnE7Cj4gKwl2cS0+
cXVldWVfaWQgPSBxdWV1ZV9pZDsKPiArCXZxLT52ZGV2ID0gdmRldjsKPiArCXZxLT52cV9jYWxs
YmFjayA9IGNhbGxiYWNrOwo+ICsJdnEtPnZxX25vdGlmeV9ob3N0ID0gbm90aWZ5Owo+ICsJcmV0
dXJuIHZxOwo+ICsKPiArZXJyX2ZyZWV2cToKPiArCXVrX2ZyZWUoYSwgdnJxKTsKPiArZXJyX2V4
aXQ6Cj4gKwlyZXR1cm4gRVJSMlBUUihyYyk7Cj4gK30KPiArCj4gK3ZvaWQgdmlydHF1ZXVlX2Rl
c3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHN0cnVjdCB1a19hbGxvYyAqYSkKPiArewo+ICsJ
c3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwo+
ICsJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCj4gKwkvKiBGcmVlIHRoZSByaW5n
ICovCj4gKwl1a19mcmVlKGEsIHZycS0+dnJpbmdfbWVtKTsKPiArCj4gKwkvKiBGcmVlIHRoZSB2
aXJ0cXVldWUgbWV0YWRhdGEgKi8KPiArCXVrX2ZyZWUoYSwgdnJxKTsKPiArfQo+ICsKPiAraW50
IHZpcnRxdWV1ZV9pc19mdWxsKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICt7Cj4gKwlzdHJ1Y3Qg
dmlydHF1ZXVlX3ZyaW5nICp2cnE7Cj4gKwo+ICsJVUtfQVNTRVJUKHZxKTsKPiArCj4gKwl2cnEg
PSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+ICsJcmV0dXJuICh2cnEtPmRlc2NfYXZhaWwgPT0g
MCk7Cj4gK30KPiBkaWZmIC0tZ2l0IGEvcGxhdC9rdm0vQ29uZmlnLnVrIGIvcGxhdC9rdm0vQ29u
ZmlnLnVrCj4gaW5kZXggYWZjZWRjMC4uMTNlNTU3NSAxMDA2NDQKPiAtLS0gYS9wbGF0L2t2bS9D
b25maWcudWsKPiArKysgYi9wbGF0L2t2bS9Db25maWcudWsKPiBAQCAtNTcsNiArNTcsNyBAQCBj
b25maWcgVklSVElPX0JVUwo+ICAgICAgICAgZGVwZW5kcyBvbiAoQVJDSF9YODZfNjQpCj4gICAg
ICAgICBkZXBlbmRzIG9uIExJQlVLQlVTCj4gICAgICAgICBzZWxlY3QgTElCVUtBTExPQwo+ICsg
ICAgICBzZWxlY3QgTElCVUtTR0xJU1QKPiAgICAgICAgIGhlbHAKPiAgICAgICAgICAgICAgICAg
IFZpcnRpbyBidXMgZHJpdmVyIGZvciBwcm9iaW5nIGFuZCBvcGVyYXRpbmcgdmlydGlvIGRldmlj
ZSBhbmQKPiAgICAgICAgICAgICAgICAgIHRyYW5zcG9ydCBsYXllci4KPiBkaWZmIC0tZ2l0IGEv
cGxhdC9rdm0vTWFrZWZpbGUudWsgYi9wbGF0L2t2bS9NYWtlZmlsZS51awo+IGluZGV4IDk4NmJm
NGEuLmNjYzgzMTkgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUudWsKPiArKysgYi9w
bGF0L2t2bS9NYWtlZmlsZS51awo+IEBAIC05Miw1ICs5Miw3IEBAIExJQktWTVZJUlRJT19BU0lO
Q0xVREVTLXkgICArPSAtSSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1ZGUKPiAgIExJQktW
TVZJUlRJT19DSU5DTFVERVMteSAgICArPSAtSSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL2luY2x1
ZGUKPiAgIExJQktWTVZJUlRJT19TUkNTLSQoQ09ORklHX1ZJUlRJT19CVVMpICs9XAo+ICAgCQkJ
CQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fYnVzLmMKPiArTElCS1ZN
VklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCj4gKwkJCQkJCQkkKFVLX1BMQVRf
RFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3JpbmcuYwo+ICAgTElCS1ZNVklSVElPX1NSQ1Mt
JChDT05GSUdfVklSVElPX1BDSSkgKz1cCj4gICAJCQkJCQkJJChVS19QTEFUX0RSSVZFUlNfQkFT
RSkvdmlydGlvL3ZpcnRpb19wY2kuYwo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxA
bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu
L2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:09:14 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:09:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFRKz-0005i2-Hl; Wed, 24 Oct 2018 22:09:13 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFRKx-0005hx-KX
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:09:11 +0000
X-Inumbo-ID: 04a66c30-d7d9-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 04a66c30-d7d9-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 00:06:12 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id C0D3EF2050;
 Thu, 25 Oct 2018 00:09:08 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id aM82zPVACJYq; Thu, 25 Oct 2018 00:09:08 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 882A0F2010
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 00:09:06 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:09:06 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540388553-15668-7-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025000905112
Message-ID: <cdac425d-a104-156a-1e97-94868f47f3a4@neclab.eu>
Date: Thu, 25 Oct 2018 00:09:05 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540388553-15668-7-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 6/7] plat/drivers: Interrupt
 handling for virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjQuMTAuMTggMTU6NDIsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBpbnRy
b2R1Y2VzIHRoZSBBUEkgZm9yIGhhbmRsaW5nIHRoZSBpbnRlcnJ1cHQgb24gdGhlIHZpcnRpbyBQ
Q0kKPiBkZXZpY2UuIEl0IHByb3ZpZGVzIGhhbmRsZXIgZm9yIHRoZSB2aXJ0cXVldWUgcmluZ3Mu
IFRoZSBoYW5kbGVyIGlkZW50aWZpZXMKPiB0aGUgdmlydGlvIGRldmljZSBvd25pbmcgdGhlIHZp
cnRxdWV1ZSBhbmQgaW52b2tlcyB0aGUgY2FsbGJhY2sgaGFuZGxlcgo+IGNvbmZpZ3VyZWQgYnkg
dGhlIHZpcnRpbyBkZXZpY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvaW5jbHVk
ZS92aXJ0aW8vdmlydHF1ZXVlLmggfCA1NCArKysrKysrKysrKysrKysrKysrKysrCj4gICBwbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyAgICAgICAgfCA1MCArKysrKysrKysrKysrKysr
KysrLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jICAgICAgIHwgODIgKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICAzIGZpbGVzIGNoYW5nZWQsIDE4NCBp
bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZl
cnMvaW5jbHVkZS92aXJ0aW8vdmlydHF1ZXVlLmggYi9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydHF1ZXVlLmgKPiBpbmRleCBhOGE0YmMwLi4yN2IyNzYzIDEwMDY0NAo+IC0tLSBhL3Bs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAo+ICsrKyBiL3BsYXQvZHJpdmVy
cy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAo+IEBAIC04Myw2ICs4MywxOSBAQCBzdHJ1Y3Qg
dmlydHF1ZXVlIHsKPiAgIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlzYWRkcihzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSk7Cj4gICAKPiAgIC8qKgo+ICsgKiBSaW5nIGludGVycnVwdCBoYW5kbGVyLiBU
aGlzIGZ1bmN0aW9uIGlzIGludm9rZWQgZnJvbSB0aGUgaW50ZXJydXB0IGhhbmRsZXIKPiArICog
aW4gdGhlIHZpcnRpbyBkZXZpY2UgZm9yIGludGVycnVwdCBzcGVjaWZpYyB0byB0aGUgcmluZy4K
PiArICoKPiArICogQHBhcmFtIG9iago+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4K
PiArICoKPiArICogQHJldHVybiBpbnQKPiArICoJMCwgSW50ZXJydXB0IHdhcyBub3QgZm9yIHRo
aXMgdmlydHF1ZXVlLgo+ICsgKgkxLCBWaXJ0cXVldWUgaGFzIGhhbmRsZWQgdGhlIGludGVycnVw
dC4KPiArICovCj4gK2ludCB2aXJ0cXVldWVfcmluZ19pbnRlcnJ1cHQodm9pZCAqb2JqKTsKPiAr
Cj4gKy8qKgo+ICAgICogTmVnb3RpYXRlIHdpdGggdGhlIHZpcnRxdWV1ZSBmZWF0dXJlcy4KPiAg
ICAqIEBwYXJhbSBmZWF0dXJlX3NldAo+ICAgICoJVGhlIGZlYXR1cmUgc2V0IHRoZSBkZXZpY2Ug
cmVxdWVzdC4KPiBAQCAtOTMsNiArMTA2LDE3IEBAIF9fcGh5c19hZGRyIHZpcnRxdWV1ZV9waHlz
YWRkcihzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gICBfX3U2NCB2aXJ0cXVldWVfZmVhdHVyZV9u
ZWdvdGlhdGUoX191NjQgZmVhdHVyZV9zZXQpOwo+ICAgCj4gICAvKioKPiArICogQ2hlY2sgaWYg
aG9zdCBub3RpZmljYXRpb24gaXMgZW5hYmxlZC4KPiArICoKPiArICogQHBhcmFtIHZxCj4gKyAq
CVJlZmVyZW5jZSB0byB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcmV0dXJuCj4gKyAqCVJldHVybnMg
MSwgaG9zdCBuZWVkcyBub3RpZmljYXRpb24gb24gbmV3IGRlc2NyaXB0b3JzLgo+ICsgKgkJMCwg
b3RoZXJ3aXNlLgo+ICsgKi8KPiAraW50IHZpcnRxdWV1ZV9ub3RpZnlfZW5hYmxlZChzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiAgICAqIEFsbG9jYXRlIGEgdmlydHF1ZXVlLgo+
ICAgICogQHBhcmFtIHF1ZXVlX2lkCj4gICAgKglUaGUgdmlydHF1ZXVlIGh3IGlkLgo+IEBAIC0x
MzgsNiArMTYyLDM2IEBAIGludCB2aXJ0cXVldWVfaXNfZnVsbChzdHJ1Y3QgdmlydHF1ZXVlICp2
cSk7Cj4gICAgKi8KPiAgIHZvaWQgdmlydHF1ZXVlX2Rlc3Ryb3koc3RydWN0IHZpcnRxdWV1ZSAq
dnEsIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gICAKPiArLyoqCj4gKyAqIERpc2FibGUgaW50ZXJy
dXB0cyBvbiB0aGUgdmlydHF1ZXVlLgo+ICsgKiBAcGFyYW0gdnEKPiArICogICAgICBSZWZlcmVu
Y2UgdG8gdGhlIHZpcnRxdWV1ZS4KPiArICovCj4gK3ZvaWQgdmlydHF1ZXVlX2ludHJfZGlzYWJs
ZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiArICogRW5hYmxlIGludGVycnVw
dHMgb24gdGhlIHZpcnRxdWV1ZS4KPiArICogQHBhcmFtIHZxCj4gKyAqICAgICAgUmVmZXJlbmNl
IHRvIHRoZSB2aXJ0cXVldWUKPiArICogQHJldHVybgo+ICsgKgkwLCBPbiBzdWNjZXNzZnVsIGVu
YWJsaW5nIG9mIGludGVycnVwdC4KPiArICoJMSwgTW9yZSBwYWNrZXQgaW4gdGhlIHJpbmcgdG8g
YmUgcHJvY2Vzc2VkLgo+ICsgKi8KPiAraW50IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShzdHJ1Y3Qg
dmlydHF1ZXVlICp2cSk7Cj4gKwo+ICsvKioKPiArICogTm90aWZ5IHRoZSBob3N0IG9mIGFuIGV2
ZW50Lgo+ICsgKiBAcGFyYW0gdnEKPiArICogICAgICBSZWZlcmVuY2UgdG8gdGhlIHZpcnR1YWwg
cXVldWUuCj4gKyAqLwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgdmlydHF1ZXVlX2hvc3Rfbm90aWZ5
KHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICt7Cj4gKwlVS19BU1NFUlQodnEpOwo+ICsKPiArCWlm
ICh2cS0+dnFfbm90aWZ5X2hvc3QgJiYgdmlydHF1ZXVlX25vdGlmeV9lbmFibGVkKHZxKSkKPiAr
CQl2cS0+dnFfbm90aWZ5X2hvc3QodnEtPnZkZXYsIHZxLT5xdWV1ZV9pZCk7Cj4gK30KPiArCj4g
ICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwo+
IGRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYyBiL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCj4gaW5kZXggNGUyOWU2Mi4uODUwM2I1MyAxMDA2NDQK
PiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19wY2kuYwo+ICsrKyBiL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX3BjaS5jCj4gQEAgLTk2LDYgKzk2LDggQEAgc3RhdGljIHN0cnVj
dCB2aXJ0cXVldWUgKnZwY2lfbGVnYWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2
LAo+ICAgc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19kZXZpY2VfaWRfYWRkKHN0cnVjdCB2aXJ0
aW9fZGV2ICp2ZGV2LAo+ICAgCQkJCQlfX3UxNiBwY2lfZGV2X2lkLAo+ICAgCQkJCQlfX3UxNiB2
cGNpX2Rldl9pZF9zdGFydCk7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX3BjaV9oYW5kbGUodm9pZCAq
YXJnKTsKPiArc3RhdGljIGludCB2cGNpX2xlZ2FjeV9ub3RpZnkoc3RydWN0IHZpcnRpb19kZXYg
KnZkZXYsIF9fdTE2IHF1ZXVlX2lkKTsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9sZWdhY3lf
YWRkX2RldihzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiwKPiAgIAkJCQkgICAgIHN0cnVjdCB2
aXJ0aW9fcGNpX2RldiAqdnBjaV9kZXYpOwo+ICAgCj4gQEAgLTExNCw2ICsxMTYsNDMgQEAgc3Rh
dGljIHN0cnVjdCB2aXJ0aW9fY29uZmlnX29wcyB2cGNpX2xlZ2FjeV9vcHMgPSB7Cj4gICAJLnZx
X3NldHVwICAgICA9IHZwY2lfbGVnYWN5X3ZxX3NldHVwLAo+ICAgfTsKPiAgIAo+ICtzdGF0aWMg
aW50IHZwY2lfbGVnYWN5X25vdGlmeShzdHJ1Y3QgdmlydGlvX2RldiAqdmRldiwgX191MTYgcXVl
dWVfaWQpCj4gK3sKPiArCXN0cnVjdCB2aXJ0aW9fcGNpX2RldiAqdnBkZXY7Cj4gKwo+ICsJVUtf
QVNTRVJUKHZkZXYpOwo+ICsJdnBkZXYgPSB0b192aXJ0aW9wY2lkZXYodmRldik7Cj4gKwl2aXJ0
aW9fY3dyaXRlMTYoKHZvaWQgKikodW5zaWduZWQgbG9uZykgdnBkZXYtPnBjaV9iYXNlX2FkZHIs
Cj4gKwkJCVZJUlRJT19QQ0lfUVVFVUVfTk9USUZZLCBxdWV1ZV9pZCk7Cj4gKwo+ICsJcmV0dXJu
IDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX3BjaV9oYW5kbGUodm9pZCAqYXJnKQo+
ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX3BjaV9kZXYgKmQgPSAoc3RydWN0IHZpcnRpb19wY2lfZGV2
ICopIGFyZzsKPiArCXVpbnQ4X3QgaXNyX3N0YXR1czsKPiArCXN0cnVjdCB2aXJ0cXVldWUgKnZx
Owo+ICsJaW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQoYXJnKTsKPiArCj4gKwkvKiBSZWFk
aW5nIHRoZSBpc3Igc3RhdHVzIGlzIHVzZWQgdG8gYWNrbm93bGVkZ2UgdGhlIGludGVycnVwdCAq
Lwo+ICsJaXNyX3N0YXR1cyA9IHZpcnRpb19jcmVhZDgoKHZvaWQgKikodW5zaWduZWQgbG9uZylk
LT5wY2lfaXNyX2FkZHIsIDApOwo+ICsJLyogV2UgZG9uJ3Qgc3VwcG9ydCBjb25maWd1cmF0aW9u
IGludGVycnVwdCBvbiB0aGUgZGV2aWNlICovCj4gKwlpZiAoaXNyX3N0YXR1cyAmIFZJUlRJT19Q
Q0lfSVNSX0NPTkZJRykgewo+ICsJCXVrX3ByX3dhcm4oIlVuc3VwcG9ydGVkIGNvbmZpZyBjaGFu
Z2UgaW50ZXJydXB0IHJlY2VpdmVkIG9uIHZpcnRpby1wY2kgZGV2aWNlICVwXG4iLAo+ICsJCQkg
ICBkKTsKPiArCX0KPiArCj4gKwlpZiAoaXNyX3N0YXR1cyAmIFZJUlRJT19QQ0lfSVNSX0hBU19J
TlRSKSB7Cj4gKwkJVUtfVEFJTFFfRk9SRUFDSCh2cSwgJmQtPnZkZXYudnFzLCBuZXh0KSB7Cj4g
KwkJCXJjIHw9IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2cSk7Cj4gKwkJfQo+ICsJfQo+ICsJ
cmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHN0cnVjdCB2aXJ0cXVldWUgKnZwY2lfbGVn
YWN5X3ZxX3NldHVwKHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2LAo+ICAgCQkJCQkgICAgICBfX3Ux
NiBxdWV1ZV9pZCwKPiAgIAkJCQkJICAgICAgX191MTYgbnVtX2Rlc2MsCj4gQEAgLTEyOSw3ICsx
NjgsNyBAQCBzdGF0aWMgc3RydWN0IHZpcnRxdWV1ZSAqdnBjaV9sZWdhY3lfdnFfc2V0dXAoc3Ry
dWN0IHZpcnRpb19kZXYgKnZkZXYsCj4gICAKPiAgIAl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2
ZGV2KTsKPiAgIAl2cSA9IHZpcnRxdWV1ZV9jcmVhdGUocXVldWVfaWQsIG51bV9kZXNjLCBWSVJU
SU9fUENJX1ZSSU5HX0FMSUdOLAo+IC0JCQkgICAgICBjYWxsYmFjaywgTlVMTCwgdmRldiwgYSk7
Cj4gKwkJCSAgICAgIGNhbGxiYWNrLCB2cGNpX2xlZ2FjeV9ub3RpZnksIHZkZXYsIGEpOwo+ICAg
CWlmIChQVFJJU0VSUih2cSkpIHsKPiAgIAkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gY3JlYXRlIHRo
ZSB2aXJ0cXVldWU6ICVkXG4iLAo+ICAgCQkJICBQVFIyRVJSKHZxKSk7Cj4gQEAgLTE1NywxMSAr
MTk2LDE4IEBAIHN0YXRpYyBpbnQgdnBjaV9sZWdhY3lfcGNpX3ZxX2ZpbmQoc3RydWN0IHZpcnRp
b19kZXYgKnZkZXYsIF9fdTE2IG51bV92cXMsCj4gICAJCQkJICAgX191MTYgKnFkZXNjX3NpemUp
Cj4gICB7Cj4gICAJc3RydWN0IHZpcnRpb19wY2lfZGV2ICp2cGRldiA9IE5VTEw7Cj4gLQlpbnQg
dnFfY250ID0gMCwgaSA9IDA7Cj4gKwlpbnQgdnFfY250ID0gMCwgaSA9IDAsIHJjID0gMDsKPiAg
IAo+ICAgCVVLX0FTU0VSVCh2ZGV2KTsKPiAgIAl2cGRldiA9IHRvX3ZpcnRpb3BjaWRldih2ZGV2
KTsKPiAgIAo+ICsJLyogUmVnaXN0ZXJpbmcgdGhlIGludGVycnVwdCBmb3IgdGhlIHF1ZXVlICov
Cj4gKwlyYyA9IHVrcGxhdF9pcnFfcmVnaXN0ZXIodnBkZXYtPnBkZXYtPmlycSwgdmlydGlvX3Bj
aV9oYW5kbGUsIHZwZGV2KTsKPiArCWlmIChyYyAhPSAwKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gcmVnaXN0ZXIgdGhlIGludGVycnVwdFxuIik7Cj4gKwkJcmV0dXJuIHJjOwo+ICsJfQo+
ICsKPiAgIAlmb3IgKGkgPSAwOyBpIDwgbnVtX3ZxczsgaSsrKSB7Cj4gICAJCXZpcnRpb19jd3Jp
dGUxNigodm9pZCAqKSAodW5zaWduZWQgbG9uZyl2cGRldi0+cGNpX2Jhc2VfYWRkciwKPiAgIAkJ
CQlWSVJUSU9fUENJX1FVRVVFX1NFTCwgaSk7Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX3JpbmcuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX3JpbmcuYwo+
IGluZGV4IGJhOTE1OTQuLjYwMTJiZDIgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fcmluZy5jCj4gKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5j
Cj4gQEAgLTc0LDkgKzc0LDc0IEBAIHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgewo+ICAgLyoqCj4g
ICAgKiBTdGF0aWMgZnVuY3Rpb24gRGVjbGFyYXRpb24ocykuCj4gICAgKi8KPiArc3RhdGljIGlu
bGluZSBpbnQgdmlydHF1ZXVlX2hhc2RhdGEoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxKTsK
PiAgIHN0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0KHN0cnVjdCB2aXJ0cXVldWVfdnJp
bmcgKnZycSwgX191MTYgbnJfZGVzYywKPiAgIAkJCQkgX191MTYgYWxpZ24pOwo+ICAgCj4gK3Zv
aWQgdmlydHF1ZXVlX2ludHJfZGlzYWJsZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSkKPiArewo+ICsJ
c3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4gKwo+
ICsJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCXZycS0+dnJpbmcuYXZhaWwtPmZs
YWdzIHw9IChWUklOR19BVkFJTF9GX05PX0lOVEVSUlVQVCk7Cj4gK30KPiArCj4gK2ludCB2aXJ0
cXVldWVfaW50cl9lbmFibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gK3sKPiArCXN0cnVjdCB2
aXJ0cXVldWVfdnJpbmcgKnZycTsKPiArCWludCByYyA9IDA7Cj4gKwo+ICsJVUtfQVNTRVJUKHZx
KTsKPiArCj4gKwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+ICsJLyogQ2hlY2sgaWYg
dGhlcmUgYXJlIG5vIG1vcmUgcGFja2V0cyBlbmFibGVkICovCj4gKwlpZiAoIXZpcnRxdWV1ZV9o
YXNkYXRhKHZycSkpIHsKPiArCQlpZiAodnJxLT52cmluZy5hdmFpbC0+ZmxhZ3MgfCBWUklOR19B
VkFJTF9GX05PX0lOVEVSUlVQVCkgewo+ICsJCQl2cnEtPnZyaW5nLmF2YWlsLT5mbGFncyAmPQo+
ICsJCQkJKH5WUklOR19BVkFJTF9GX05PX0lOVEVSUlVQVCk7Cj4gKwkJCS8qKgo+ICsJCQkgKiBX
ZSBlbmFibGVkIHRoZSBpbnRlcnJ1cHRzLiBXZSBlbnN1cmUgaXQgdXNpbmcgdGhlCj4gKwkJCSAq
IG1lbW9yeSBiYXJyaWVyIGFuZCBjaGVjayBpZiB0aGVyZSBhcmUgYW55IGZ1cnRoZXIKPiArCQkJ
ICogZGF0YSBhdmFpbGFibGUgaW4gdGhlIHF1ZXVlLiBUaGUgY2hlY2sgZm9yIGRhdGEKPiArCQkJ
ICogYWZ0ZXIgZW5hYmxpbmcgdGhlIGludGVycnVwdCBpcyB0byBtYWtlIHN1cmUgd2UgZG8KPiAr
CQkJICogbm90IG1pc3MgYW55IGludGVycnVwdCB3aGlsZSB0cmFuc2l0aW9uaW5nIHRvIGVuYWJs
ZQo+ICsJCQkgKiBpbnRlcnJ1cHQuIFRoaXMgaXMgaW5saW5lIHdpdGggdGhlIHJlcXVpcmVtZW50
IGZyb20KPiArCQkJICogdmlydGlvIHNwZWNpZmljYXRpb24gc2VjdGlvbiAzLjIuMgo+ICsJCQkg
Ki8KPiArCQkJbWIoKTsKPiArCQkJLyogQ2hlY2sgaWYgdGhlcmUgYXJlIGZ1cnRoZXIgZGVzY3Jp
cHRvcnMgKi8KPiArCQkJaWYgKHZpcnRxdWV1ZV9oYXNkYXRhKHZycSkpIHsKPiArCQkJCXZpcnRx
dWV1ZV9pbnRyX2Rpc2FibGUodnEpOwo+ICsJCQkJcmMgPSAxOwo+ICsJCQl9Cj4gKwkJfQo+ICsJ
fSBlbHNlIHsKPiArCQkvKioKPiArCQkgKiBUaGVyZSBhcmUgbW9yZSBwYWNrZXQgaW4gdGhlIHZp
cnRxdWV1ZSB0byBiZSBwcm9jZXNzZWQgd2hpbGUKPiArCQkgKiB0aGUgaW50ZXJydXB0IHdhcyBk
aXNhYmxlZC4KPiArCQkgKi8KPiArCQlyYyA9IDE7Cj4gKwl9Cj4gKwlyZXR1cm4gcmM7Cj4gK30K
PiArCj4gK2ludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJsZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEp
Cj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycTsKPiArCj4gKwlVS19BU1NFUlQo
dnEpOwo+ICsJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCj4gKwlyZXR1cm4gKCh2
cnEtPnZyaW5nLnVzZWQtPmZsYWdzICYgVlJJTkdfVVNFRF9GX05PX05PVElGWSkgPT0gMCk7Cj4g
K30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50IHZpcnRxdWV1ZV9oYXNkYXRhKHN0cnVjdCB2aXJ0
cXVldWVfdnJpbmcgKnZycSkKPiArewo+ICsJcmV0dXJuICh2cnEtPmxhc3RfdXNlZF9kZXNjX2lk
eCAhPSB2cnEtPnZyaW5nLnVzZWQtPmlkeCk7Cj4gK30KPiArCj4gICAvKioKPiAgICAqIERyaXZl
ciBpbXBsZW1lbnRhdGlvbgo+ICAgICovCj4gQEAgLTkyLDYgKzE1NywyMyBAQCBfX3U2NCB2aXJ0
cXVldWVfZmVhdHVyZV9uZWdvdGlhdGUoX191NjQgZmVhdHVyZV9zZXQpCj4gICAJcmV0dXJuIGZl
YXR1cmU7Cj4gICB9Cj4gICAKPiAraW50IHZpcnRxdWV1ZV9yaW5nX2ludGVycnVwdCh2b2lkICpv
YmopCj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSA9IE5VTEw7Cj4gKwlzdHJ1
Y3QgdmlydHF1ZXVlICp2cSA9IChzdHJ1Y3QgdmlydHF1ZXVlICopb2JqOwo+ICsJaW50IHJjID0g
MDsKPiArCj4gKwlVS19BU1NFUlQodnEpOwo+ICsKPiArCXZycSA9IHRvX3ZpcnRxdWV1ZV92cmlu
Zyh2cSk7Cj4gKwlpZiAoIXZpcnRxdWV1ZV9oYXNkYXRhKHZycSkpCj4gKwkJcmV0dXJuIHJjOwo+
ICsKPiArCWlmIChsaWtlbHkodnEtPnZxX2NhbGxiYWNrKSkKPiArCQlyYyA9IHZxLT52cV9jYWxs
YmFjayh2cSwgdnEtPnByaXYpOwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICAgX19waHlzX2Fk
ZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICAgewo+ICAgCXN0
cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSA9IE5VTEw7Cj4gCgpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1p
bmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:10:40 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:10:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFRMO-0006Ir-MY; Wed, 24 Oct 2018 22:10:40 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFRMN-0006Im-0y
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:10:39 +0000
X-Inumbo-ID: d7fc263c-d7d9-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id d7fc263c-d7d9-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 22:12:07 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 912241048C0;
 Thu, 25 Oct 2018 00:10:35 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 6aLY0bBa-dFH; Thu, 25 Oct 2018 00:10:35 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 6CC33104813
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 00:10:33 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:10:33 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540388553-15668-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540388553-15668-8-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025001032573
Message-ID: <4761a525-5ca1-8eaa-87bb-15b1660432a9@neclab.eu>
Date: Thu, 25 Oct 2018 00:10:32 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540388553-15668-8-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2 7/7] plat/drivers: Add &
 Remove buffer from virtio-ring
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBsb29rcyBmaW5lLgoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56
ZXJAbmVjbGFiLmV1PgoKT24gMjQuMTAuMTggMTU6NDIsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6
Cj4gVGhlIHVzZXIgYnVmZmVyIGFyZSBlbnF1ZXVlZCBhbmQgZGVxdWV1ZWQgaW50byB0aGUgdmly
dGlvLXJpbmcuCj4gVGhlIHVzZXIgZGF0YSBpcyBkZXNjcmliZWQgdG8gdGhlIHZpcnRpby1yaW5n
IHVzaW5nIGEgc2NhdHRlci9nYXRoZXIKPiBsaXN0LiBUaGUgZW5xdWV1ZSBhbmQgZGVxdWV1ZSBp
biB0dXJuIHVzZXMgdGhlIHJpbmcgZGVzY3JpcHRvciBmb3IKPiBlYWNoIHNlZ21lbnQgb2YgdGhl
IHNjYXR0ZXIgZ2F0aGVyIGxpc3QuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5h
bSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBwbGF0L2RyaXZlcnMvaW5j
bHVkZS92aXJ0aW8vdmlydHF1ZXVlLmggfCAgNDAgKysrKysrKysrCj4gICBwbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19yaW5nLmMgICAgICAgfCAxNTIgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKy0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTg5IGluc2VydGlvbnMoKyksIDMgZGVsZXRp
b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0
cXVldWUuaCBiL3BsYXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0cXVldWUuaAo+IGluZGV4
IDI3YjI3NjMuLjc1ZWZiMmQgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmly
dGlvL3ZpcnRxdWV1ZS5oCj4gKysrIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRx
dWV1ZS5oCj4gQEAgLTExNyw2ICsxMTcsNDYgQEAgX191NjQgdmlydHF1ZXVlX2ZlYXR1cmVfbmVn
b3RpYXRlKF9fdTY0IGZlYXR1cmVfc2V0KTsKPiAgIGludCB2aXJ0cXVldWVfbm90aWZ5X2VuYWJs
ZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpOwo+ICAgCj4gICAvKioKPiArICogUmVtb3ZlIHRoZSB1
c2VyIGJ1ZmZlciBmcm9tIHRoZSB2aXJ0cXVldWUuCj4gKyAqCj4gKyAqIEBwYXJhbSB2cQo+ICsg
KglSZWZlcmVuY2UgdG8gdGhlIHZpcnRxdWV1ZS4KPiArICogQHBhcmFtIGxlbgo+ICsgKglSZWZl
cmVuY2UgdG8gdGhlIGxlbmd0aCBvZiB0aGUgZGF0YSBwYWNrZXQuCj4gKyAqIEByZXR1cm4KPiAr
ICoJT24gU3VjY2VzcywgcmV0dXJucyBhIHJlZmVyZW5jZSB0byBjb29raWUgdGhhdCB3YXMgc3Vi
bWl0dGVkIHdpdGgKPiArICoJZGVzY3JpcHRvci4KPiArICoJT24gZmFpbHVyZSwgcmV0dXJucyBO
VUxMIHdpdGggdGhlIGxlbmd0aCB1bm1vZGlmaWVkLgo+ICsgKi8KPiArdm9pZCAqdmlydHF1ZXVl
X2J1ZmZlcl9kZXF1ZXVlKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCBfX3UzMiAqbGVuKTsKPiArCj4g
Ky8qKgo+ICsgKiBDcmVhdGUgYSBkZXNjcmlwdG9yIGNoYWluIHN0YXJ0aW5nIGF0IGluZGV4IGhl
YWQsCj4gKyAqIHVzaW5nIHZxLT5idWZzIGFsc28gc3RhcnRpbmcgYXQgaW5kZXggaGVhZC4KPiAr
ICogQHBhcmFtIHZxCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgdmlydHVhbCBxdWV1ZQo+ICsgKiBA
cGFyYW0gY29va2llCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgY29va2llIHRvIHJlY29uc3RydWN0
IHRoZSBidWZmZXIuCj4gKyAqIEBwYXJhbSBzZwo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHNjYXR0
ZXIgZ2F0aGVyIGxpc3QKPiArICogQHBhcmFtIHJlYWRfYnVmcwo+ICsgKglUaGUgbnVtYmVyIG9m
IHJlYWQgYnVmZmVyLgo+ICsgKiBAcGFyYW0gd3JpdGVfYnVmcwo+ICsgKglUaGUgbnVtYmVyIG9m
IHdyaXRlIGJ1ZmZlci4KPiArICoKPiArICogQHJldHVybgo+ICsgKgk+IDAgVGhlIGJ1ZmZlcnMg
d2VyZSBlbnF1ZXVlZCBpbnRvIHRoZSByaW5nIGFuZCB0aGUgY291bnQgaW5kaWNhdGVzCj4gKyAq
CXRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIHNsb3RzIGluIHRoZSByaW5nLgo+ICsgKgkwICBUaGUg
YnVmZmVycyB3ZXJlIGVucXVldWVkIGFuZCB0aGVyZSBhcmUgbm8gZnVydGhlciBkZXNjcmlwdG9y
cwo+ICsgKglhdmFpbGFibGUuCj4gKyAqCTwgMCBGYWlsZWQgdG8gZW5xdWV1ZSB0aGUgYnVmZmVy
cy4KPiArICoKPiArICovCj4gK2ludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUoc3RydWN0IHZp
cnRxdWV1ZSAqdnEsIHZvaWQgKmNvb2tpZSwKPiArCQkJICAgICBzdHJ1Y3QgdWtfc2dsaXN0ICpz
ZywgX191MTYgcmVhZF9idWZzLAo+ICsJCQkgICAgIF9fdTE2IHdyaXRlX2J1ZnMpOwo+ICsKPiAr
LyoqCj4gICAgKiBBbGxvY2F0ZSBhIHZpcnRxdWV1ZS4KPiAgICAqIEBwYXJhbSBxdWV1ZV9pZAo+
ICAgICoJVGhlIHZpcnRxdWV1ZSBodyBpZC4KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3Zp
cnRpby92aXJ0aW9fcmluZy5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fcmluZy5jCj4g
aW5kZXggNjAxMmJkMi4uYTFiMGUwMyAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMvdmlydGlv
L3ZpcnRpb19yaW5nLmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19yaW5nLmMK
PiBAQCAtNzQsMTAgKzc0LDIzIEBAIHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgewo+ICAgLyoqCj4g
ICAgKiBTdGF0aWMgZnVuY3Rpb24gRGVjbGFyYXRpb24ocykuCj4gICAgKi8KPiArc3RhdGljIGlu
bGluZSB2b2lkIHZpcnRxdWV1ZV9yaW5nX3VwZGF0ZV9hdmFpbChzdHJ1Y3QgdmlydHF1ZXVlX3Zy
aW5nICp2cnEsCj4gKwkJCQkJICAgICAgIF9fdTE2IGlkeCk7Cj4gK3N0YXRpYyBpbmxpbmUgdm9p
ZCB2aXJ0cXVldWVfZGV0YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJ
CQkJCSBfX3UxNiBoZWFkX2lkeCk7Cj4gICBzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfaGFz
ZGF0YShzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEpOwo+ICtzdGF0aWMgaW5saW5lIGludCB2
aXJ0cXVldWVfYnVmZmVyX2VucXVldWVfc2VnbWVudHMoCj4gKwkJCQkJCSAgICBzdHJ1Y3Qgdmly
dHF1ZXVlX3ZyaW5nICp2cnEsCj4gKwkJCQkJCSAgICBfX3UxNiBoZWFkLAo+ICsJCQkJCQkgICAg
c3RydWN0IHVrX3NnbGlzdCAqc2csCj4gKwkJCQkJCSAgICBfX3UxNiByZWFkX2J1ZnMsCj4gKwkJ
CQkJCSAgICBfX3UxNiB3cml0ZV9idWZzKTsKPiAgIHN0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmlu
Z19pbml0KHN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJfZGVzYywKPiAgIAkJ
CQkgX191MTYgYWxpZ24pOwo+ICAgCj4gKy8qKgo+ICsgKiBEcml2ZXIgaW1wbGVtZW50YXRpb24K
PiArICovCj4gICB2b2lkIHZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUoc3RydWN0IHZpcnRxdWV1ZSAq
dnEpCj4gICB7Cj4gICAJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxOwo+IEBAIC0xMjcsNiAr
MTQwLDQ2IEBAIGludCB2aXJ0cXVldWVfaW50cl9lbmFibGUoc3RydWN0IHZpcnRxdWV1ZSAqdnEp
Cj4gICAJcmV0dXJuIHJjOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0cXVl
dWVfcmluZ191cGRhdGVfYXZhaWwoc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJCQkJ
CV9fdTE2IGlkeCkKPiArewo+ICsJX191MTYgYXZhaWxfaWR4Owo+ICsKPiArCWF2YWlsX2lkeCA9
IHZycS0+dnJpbmcuYXZhaWwtPmlkeCAmICh2cnEtPnZyaW5nLm51bSAtIDEpOwo+ICsJLyogQWRk
aW5nIHRoZSBpZHggdG8gYXZhaWxhYmxlIHJpbmcgKi8KPiArCXZycS0+dnJpbmcuYXZhaWwtPnJp
bmdbYXZhaWxfaWR4XSA9IGlkeDsKPiArCS8qKgo+ICsJICogV3JpdGUgYmFycmllciB0byBtYWtl
IHN1cmUgd2UgcHVzaCB0aGUgZGVzY3JpcHRvciBvbiB0aGUgYXZhaWxhYmxlCj4gKwkgKiBkZXNj
cmlwdG9yIGFuZCB0aGVuIGluY3JlbWVudCBhdmFpbGFibGUgaW5kZXguCj4gKwkgKi8KPiArCXdt
YigpOwo+ICsJdnJxLT52cmluZy5hdmFpbC0+aWR4Kys7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp
bmUgdm9pZCB2aXJ0cXVldWVfZGV0YWNoX2Rlc2Moc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJx
LAo+ICsJCQkJCV9fdTE2IGhlYWRfaWR4KQo+ICt7Cj4gKwlzdHJ1Y3QgdnJpbmdfZGVzYyAqZGVz
YzsKPiArCXN0cnVjdCB2aXJ0cXVldWVfZGVzY19pbmZvICp2cV9pbmZvOwo+ICsKPiArCWRlc2Mg
PSAmdnJxLT52cmluZy5kZXNjW2hlYWRfaWR4XTsKPiArCXZxX2luZm8gPSAmdnJxLT52cV9pbmZv
W2hlYWRfaWR4XTsKPiArCXZycS0+ZGVzY19hdmFpbCArPSB2cV9pbmZvLT5kZXNjX2NvdW50Owo+
ICsJdnFfaW5mby0+ZGVzY19jb3VudC0tOwo+ICsKPiArCXdoaWxlIChkZXNjLT5mbGFncyAmIFZS
SU5HX0RFU0NfRl9ORVhUKSB7Cj4gKwkJZGVzYyA9ICZ2cnEtPnZyaW5nLmRlc2NbZGVzYy0+bmV4
dF07Cj4gKwkJdnFfaW5mby0+ZGVzY19jb3VudC0tOwo+ICsJfQo+ICsKPiArCS8qIFRoZSB2YWx1
ZSBzaG91bGQgYmUgZW1wdHkgKi8KPiArCVVLX0FTU0VSVCh2cV9pbmZvLT5kZXNjX2NvdW50ID09
IDApOwo+ICsKPiArCS8qIEFwcGVuZGluZyB0aGUgZGVzY3JpcHRvciB0byB0aGUgaGVhZCBvZiBs
aXN0ICovCj4gKwlkZXNjLT5uZXh0ID0gdnJxLT5oZWFkX2ZyZWVfZGVzYzsKPiArCXZycS0+aGVh
ZF9mcmVlX2Rlc2MgPSBoZWFkX2lkeDsKPiArfQo+ICsKPiAgIGludCB2aXJ0cXVldWVfbm90aWZ5
X2VuYWJsZWQoc3RydWN0IHZpcnRxdWV1ZSAqdnEpCj4gICB7Cj4gICAJc3RydWN0IHZpcnRxdWV1
ZV92cmluZyAqdnJxOwo+IEBAIC0xMzcsMTQgKzE5MCwzNyBAQCBpbnQgdmlydHF1ZXVlX25vdGlm
eV9lbmFibGVkKHN0cnVjdCB2aXJ0cXVldWUgKnZxKQo+ICAgCXJldHVybiAoKHZycS0+dnJpbmcu
dXNlZC0+ZmxhZ3MgJiBWUklOR19VU0VEX0ZfTk9fTk9USUZZKSA9PSAwKTsKPiAgIH0KPiAgIAo+
ICtzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWVfc2VnbWVudHMoCj4g
KwkJc3RydWN0IHZpcnRxdWV1ZV92cmluZyAqdnJxLAo+ICsJCV9fdTE2IGhlYWQsIHN0cnVjdCB1
a19zZ2xpc3QgKnNnLCBfX3UxNiByZWFkX2J1ZnMsCj4gKwkJX191MTYgd3JpdGVfYnVmcykKPiAr
ewo+ICsJaW50IGkgPSAwLCB0b3RhbF9kZXNjID0gMDsKPiArCXN0cnVjdCB1a19zZ2xpc3Rfc2Vn
ICpzZWdzOwo+ICsJX191MTYgaWR4ID0gMDsKPiArCj4gKwl0b3RhbF9kZXNjID0gcmVhZF9idWZz
ICsgd3JpdGVfYnVmczsKPiArCj4gKwlmb3IgKGkgPSAwLCBpZHggPSBoZWFkOyBpIDwgdG90YWxf
ZGVzYzsgaSsrKSB7Cj4gKwkJc2VncyA9ICZzZy0+c2dfc2Vnc1tpXTsKPiArCQl2cnEtPnZyaW5n
LmRlc2NbaWR4XS5hZGRyID0gc2Vncy0+c3NfcGFkZHI7Cj4gKwkJdnJxLT52cmluZy5kZXNjW2lk
eF0ubGVuID0gc2Vncy0+c3NfbGVuOwo+ICsJCXZycS0+dnJpbmcuZGVzY1tpZHhdLmZsYWdzID0g
MDsKPiArCQlpZiAoaSA+PSByZWFkX2J1ZnMpCj4gKwkJCXZycS0+dnJpbmcuZGVzY1tpZHhdLmZs
YWdzIHw9IFZSSU5HX0RFU0NfRl9XUklURTsKPiArCj4gKwkJaWYgKGkgPCB0b3RhbF9kZXNjIC0g
MSkKPiArCQkJdnJxLT52cmluZy5kZXNjW2lkeF0uZmxhZ3MgfD0gVlJJTkdfREVTQ19GX05FWFQ7
Cj4gKwkJaWR4ID0gdnJxLT52cmluZy5kZXNjW2lkeF0ubmV4dDsKPiArCX0KPiArCXJldHVybiBp
ZHg7Cj4gK30KPiArCj4gICBzdGF0aWMgaW5saW5lIGludCB2aXJ0cXVldWVfaGFzZGF0YShzdHJ1
Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEpCj4gICB7Cj4gICAJcmV0dXJuICh2cnEtPmxhc3RfdXNl
ZF9kZXNjX2lkeCAhPSB2cnEtPnZyaW5nLnVzZWQtPmlkeCk7Cj4gICB9Cj4gICAKPiAtLyoqCj4g
LSAqIERyaXZlciBpbXBsZW1lbnRhdGlvbgo+IC0gKi8KPiAgIF9fdTY0IHZpcnRxdWV1ZV9mZWF0
dXJlX25lZ290aWF0ZShfX3U2NCBmZWF0dXJlX3NldCkKPiAgIHsKPiAgIAlfX3U2NCBmZWF0dXJl
ID0gKDFVTEwgPDwgVklSVElPX1RSQU5TUE9SVF9GX1NUQVJUKSAtIDE7Cj4gQEAgLTE4NCw2ICsy
NjAsNzYgQEAgX19waHlzX2FkZHIgdmlydHF1ZXVlX3BoeXNhZGRyKHN0cnVjdCB2aXJ0cXVldWUg
KnZxKQo+ICAgCXJldHVybiB1a3BsYXRfdmlydF90b19waHlzKHZycS0+dnJpbmdfbWVtKTsKPiAg
IH0KPiAgIAo+ICt2b2lkICp2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUoc3RydWN0IHZpcnRxdWV1
ZSAqdnEsIF9fdTMyICpsZW4pCj4gK3sKPiArCXN0cnVjdCB2aXJ0cXVldWVfdnJpbmcgKnZycSA9
IE5VTEw7Cj4gKwlfX3UxNiB1c2VkX2lkeCwgaGVhZF9pZHg7Cj4gKwlzdHJ1Y3QgdnJpbmdfdXNl
ZF9lbGVtICplbGVtOwo+ICsJdm9pZCAqY29va2llOwo+ICsKPiArCVVLX0FTU0VSVCh2cSk7Cj4g
Kwl2cnEgPSB0b192aXJ0cXVldWVfdnJpbmcodnEpOwo+ICsKPiArCS8qIE5vIG5ldyBkZXNjcmlw
dG9yIHNpbmNlIGxhc3QgZGVxdWV1ZSBvcGVyYXRpb24gKi8KPiArCWlmICghdmlydHF1ZXVlX2hh
c2RhdGEodnJxKSkKPiArCQlyZXR1cm4gTlVMTDsKPiArCXVzZWRfaWR4ID0gdnJxLT5sYXN0X3Vz
ZWRfZGVzY19pZHgrKyAmICh2cnEtPnZyaW5nLm51bSAtIDEpOwo+ICsJZWxlbSA9ICZ2cnEtPnZy
aW5nLnVzZWQtPnJpbmdbdXNlZF9pZHhdOwo+ICsJLyoqCj4gKwkgKiBXZSBhcmUgcmVhZGluZyBm
cm9tIHRoZSB1c2VkIGRlc2NyaXB0b3IgaW5mb3JtYXRpb24gdXBkYXRlZCBieSB0aGUKPiArCSAq
IGhvc3QuCj4gKwkgKi8KPiArCXJtYigpOwo+ICsJaGVhZF9pZHggPSBlbGVtLT5pZDsKPiArCWlm
IChsZW4pCj4gKwkJKmxlbiA9IGVsZW0tPmxlbjsKPiArCWNvb2tpZSA9IHZycS0+dnFfaW5mb1to
ZWFkX2lkeF0uY29va2llOwo+ICsJdmlydHF1ZXVlX2RldGFjaF9kZXNjKHZycSwgaGVhZF9pZHgp
Owo+ICsJdnJxLT52cV9pbmZvW2hlYWRfaWR4XS5jb29raWUgPSBOVUxMOwo+ICsJcmV0dXJuIGNv
b2tpZTsKPiArfQo+ICsKPiAraW50IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZShzdHJ1Y3Qgdmly
dHF1ZXVlICp2cSwgdm9pZCAqY29va2llLAo+ICsJCQkgICAgIHN0cnVjdCB1a19zZ2xpc3QgKnNn
LCBfX3UxNiByZWFkX2J1ZnMsCj4gKwkJCSAgICAgX191MTYgd3JpdGVfYnVmcykKPiArewo+ICsJ
X191MzIgdG90YWxfZGVzYyA9IDA7Cj4gKwlfX3UxNiBoZWFkX2lkeCA9IDAsIGlkeCA9IDA7Cj4g
KwlzdHJ1Y3QgdmlydHF1ZXVlX3ZyaW5nICp2cnEgPSBOVUxMOwo+ICsKPiArCVVLX0FTU0VSVCh2
cSk7Cj4gKwo+ICsJdnJxID0gdG9fdmlydHF1ZXVlX3ZyaW5nKHZxKTsKPiArCXRvdGFsX2Rlc2Mg
PSByZWFkX2J1ZnMgKyB3cml0ZV9idWZzOwo+ICsJaWYgKHVubGlrZWx5KHRvdGFsX2Rlc2MgPCAx
IHx8IHRvdGFsX2Rlc2MgPiB2cnEtPnZyaW5nLm51bSkpIHsKPiArCQl1a19wcl9lcnIoIiUiX19Q
Ukl1MzIiIGludmFsaWQgbnVtYmVyIG9mIGRlc2NyaXB0b3JcbiIsCj4gKwkJCSAgdG90YWxfZGVz
Yyk7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9IGVsc2UgaWYgKHZycS0+ZGVzY19hdmFpbCA8
IHRvdGFsX2Rlc2MpIHsKPiArCQl1a19wcl9lcnIoIkF2YWlsYWJsZSBkZXNjcmlwdG9yOiUiX19Q
Ukl1MTYiLCBSZXF1ZXN0ZWQgZGVzY3JpcHRvcjolIl9fUFJJdTMyIlxuIiwKPiArCQkJICB2cnEt
PmRlc2NfYXZhaWwsIHRvdGFsX2Rlc2MpOwo+ICsJCXJldHVybiAtRU5PU1BDOwo+ICsJfQo+ICsJ
LyogR2V0IHRoZSBoZWFkIG9mIGZyZWUgZGVzY3JpcHRvciAqLwo+ICsJaGVhZF9pZHggPSB2cnEt
PmhlYWRfZnJlZV9kZXNjOwo+ICsJVUtfQVNTRVJUKGNvb2tpZSk7Cj4gKwkvKiBBZGRpdGlvbmFs
IGluZm9ybWF0aW9uIHRvIHJlY29uc3RydWN0IHRoZSBkYXRhIGJ1ZmZlciAqLwo+ICsJdnJxLT52
cV9pbmZvW2hlYWRfaWR4XS5jb29raWUgPSBjb29raWU7Cj4gKwl2cnEtPnZxX2luZm9baGVhZF9p
ZHhdLmRlc2NfY291bnQgPSB0b3RhbF9kZXNjOwo+ICsKPiArCS8qKgo+ICsJICogV2Ugc2VwYXJh
dGUgdGhlIGRlc2NyaXB0b3IgbWFuYWdlbWVudCB0byBlbnF1ZXVlIHNlZ21lbnQocykuCj4gKwkg
Ki8KPiArCWlkeCA9IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZV9zZWdtZW50cyh2cnEsIGhlYWRf
aWR4LCBzZywKPiArCQkJcmVhZF9idWZzLCB3cml0ZV9idWZzKTsKPiArCS8qIE1ldGFkYXRhIG1h
aW50ZW5hbmNlIGZvciB0aGUgdmlydHF1ZXVlICovCj4gKwl2cnEtPmhlYWRfZnJlZV9kZXNjID0g
aWR4Owo+ICsJdnJxLT5kZXNjX2F2YWlsIC09IHRvdGFsX2Rlc2M7Cj4gKwo+ICsJdmlydHF1ZXVl
X3JpbmdfdXBkYXRlX2F2YWlsKHZycSwgaGVhZF9pZHgpOwo+ICsJcmV0dXJuIHZycS0+ZGVzY19h
dmFpbDsKPiArfQo+ICsKPiAgIHN0YXRpYyB2b2lkIHZpcnRxdWV1ZV92cmluZ19pbml0KHN0cnVj
dCB2aXJ0cXVldWVfdnJpbmcgKnZycSwgX191MTYgbnJfZGVzYywKPiAgIAkJCQkgX191MTYgYWxp
Z24pCj4gICB7Cj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:32:45 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:32:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFRhk-0007pg-Rg; Wed, 24 Oct 2018 22:32:44 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFRhj-0007pY-Co
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:32:43 +0000
X-Inumbo-ID: 4e118155-d7dc-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 4e118155-d7dc-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 00:29:44 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 548AE1048C0;
 Thu, 25 Oct 2018 00:32:40 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id nw4G0knxELn8; Thu, 25 Oct 2018 00:32:40 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 316FB104813;
 Thu, 25 Oct 2018 00:32:36 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:32:35 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540389738-17112-3-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025003235260
Message-ID: <1a8d4d78-66bc-719f-9d4d-013d193d7812@neclab.eu>
Date: Thu, 25 Oct 2018 00:32:35 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540389738-17112-3-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v3 2/7] plat/drivers: Configure
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

TG9va3MgZmluZS4gVGhhbmtzLgoKUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1
ZW56ZXJAbmVjbGFiLmV1PgoKT24gMjQuMTAuMTggMTY6MDIsIFNoYXJhbiBTYW50aGFuYW0gd3Jv
dGU6Cj4gVGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gY2FsbGJhY2tzIHRv
IGNvbmZpZ3VyZSB0aGUKPiB2aXJ0aW8gZGV2aWNlIGZyb20gbGlidWtuZXQKPiAKPiBTaWduZWQt
b2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KPiBT
aWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNv
bT4KPiAtLS0KPiAgIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMTgxICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDE3
NyBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25l
dC5jCj4gaW5kZXggNDFiYTg2MC4uMDY5ZjUxZiAxMDA2NDQKPiAtLS0gYS9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19uZXQuYwo+ICsrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25l
dC5jCj4gQEAgLTE2MSw2ICsxNjEsOSBAQCBzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0X2luZm9fZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAgIHN0YXRpYyBpbmxpbmUgdm9pZCB2aXJ0aW9fbmV0
ZGV2X2ZlYXR1cmVfc2V0KHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYpOwo+ICAgc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICAg
CQkJCSAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZik7Cj4gK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl9yeHR4X2FsbG9jKHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYs
Cj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKPiArc3RhdGlj
IGludCB2aXJ0aW9fbmV0ZGV2X2ZlYXR1cmVfbmVnb3RpYXRlKHN0cnVjdCB2aXJ0aW9fbmV0X2Rl
dmljZSAqdm5kZXYpOwo+ICAgc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnZpcnRp
b19uZXRkZXZfdHhfcXVldWVfc2V0dXAoCj4gICAJCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sIHVp
bnQxNl90IHF1ZXVlX2lkLAo+ICAgCQkJCQl1aW50MTZfdCBuYl9kZXNjLAo+IEBAIC0yNjcsMzAg
KzI3MCwyMDAgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsCj4gICAKPiAgIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21p
c2NfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9k
ZXZpY2UgKmQ7Cj4gKwo+ICAgCVVLX0FTU0VSVChuKTsKPiAtCXJldHVybiAwOwo+ICsJZCA9IHRv
X3ZpcnRpb25ldGRldihuKTsKPiArCXJldHVybiBkLT5wcm9taXNjOwo+ICAgfQo+ICAgCj4gICBz
dGF0aWMgY29uc3Qgc3RydWN0IHVrX2h3YWRkciAqdmlydGlvX25ldF9tYWNfZ2V0KHN0cnVjdCB1
a19uZXRkZXYgKm4pCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKmQ7Cj4gKwo+
ICAgCVVLX0FTU0VSVChuKTsKPiAtCXJldHVybiBOVUxMOwo+ICsJZCA9IHRvX3ZpcnRpb25ldGRl
dihuKTsKPiArCXJldHVybiAmZC0+aHdfYWRkcjsKPiAgIH0KPiAgIAo+ICAgc3RhdGljIF9fdTE2
IHZpcnRpb19uZXRfbXR1X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQo+ICAgewo+ICsJc3RydWN0
IHZpcnRpb19uZXRfZGV2aWNlICpkOwo+ICsKPiAgIAlVS19BU1NFUlQobik7Cj4gLQlyZXR1cm4g
MDsKPiArCWQgPSB0b192aXJ0aW9uZXRkZXYobik7Cj4gKwlyZXR1cm4gZC0+bXR1Owo+ICt9Cj4g
Kwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfZmVhdHVyZV9uZWdvdGlhdGUoc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldikKPiArewo+ICsJX191NjQgaG9zdF9mZWF0dXJlcyA9IDA7
Cj4gKwlfX3UxNiBod19sZW47Cj4gKwlpbnQgcmMgPSAwOwo+ICsKPiArCS8qKgo+ICsJICogUmVh
ZCBkZXZpY2UgZmVhdHVyZSBiaXRzLCBhbmQgd3JpdGUgdGhlIHN1YnNldCBvZiBmZWF0dXJlIGJp
dHMKPiArCSAqIHVuZGVyc3Rvb2QgYnkgdGhlIE9TIGFuZCBkcml2ZXIgdG8gdGhlIGRldmljZS4g
RHVyaW5nIHRoaXMgc3RlcCB0aGUKPiArCSAqIGRyaXZlciBNQVkgcmVhZCAoYnV0IE1VU1QgTk9U
IHdyaXRlKSB0aGUgZGV2aWNlLXNwZWNpZmljCj4gKwkgKiBjb25maWd1cmF0aW9uIGZpZWxkcyB0
byBjaGVjayB0aGF0IGl0IGNhbiBzdXBwb3J0IHRoZSBkZXZpY2UgYmVmb3JlCj4gKwkgKiBhY2Nl
cHRpbmcgaXQuCj4gKwkgKi8KPiArCWhvc3RfZmVhdHVyZXMgPSB2aXJ0aW9fZmVhdHVyZV9nZXQo
dm5kZXYtPnZkZXYpOwo+ICsJaWYgKCF2aXJ0aW9faGFzX2ZlYXR1cmVzKGhvc3RfZmVhdHVyZXMs
IFZJUlRJT19ORVRfRl9NQUMpKSB7Cj4gKwkJLyoqCj4gKwkJICogVGhlIGZlYXR1cmUgdGhhdCBh
cmVuJ3Qgc3VwcG9ydGVkIGFyZSB1c3VhbGx5IG1hc2tlZCBvdXQgYW5kCj4gKwkJICogcHJvdmlk
ZWQgd2l0aCBkZWZhdWx0IHZhbHVlLiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0bwo+ICsJCSAqIHJl
cG9ydCBhbiBlcnJvciBhcyB3ZSBkb24ndCBzdXBwb3J0ICBnZW5lcmF0aW9uIG9mIHJhbmRvbQo+
ICsJCSAqIE1BQyBBZGRyZXNzLgo+ICsJCSAqLwo+ICsJCXVrX3ByX2VycigiSG9zdCBzeXN0ZW0g
ZG9lcyBub3Qgb2ZmZXIgTUFDIGZlYXR1cmVcbiIpOwo+ICsJCXJjID0gLUVJTlZBTDsKPiArCQln
b3RvIGV4aXQ7Cj4gKwl9Cj4gKwo+ICsJLyoqCj4gKwkgKiBBY2NvcmRpbmcgdG8gVmlydGlvIHNw
ZWNpZmljYXRpb24sIHNlY3Rpb24gMi4zLjEuIENvbmZpZyBmaWVsZHMKPiArCSAqIGdyZWF0ZXIg
dGhhbiAzMi1iaXRzIGNhbm5vdCBiZSBhdG9taWNhbGx5IHJlYWQuIFdlIG1heSBuZWVkIHRvCj4g
KwkgKiByZWNvbnNpZGVyIHByb3ZpZGluZyBnZW5lcmljIHJlYWQvd3JpdGUgZnVuY3Rpb24gZm9y
IGFsbCB0aGVzZQo+ICsJICogdmlydGlvIGRldmljZSBpbiBhIHNlcGFyYXRlIGhlYWRlciBmaWxl
IHdoaWNoIGNvdWxkIGJlIHJldXNlZCBhY3Jvc3MKPiArCSAqIGRpZmZlcmVudCB2aXJ0aW8gZGV2
aWNlcy4KPiArCSAqLwo+ICsJaHdfbGVuID0gdmlydGlvX2NvbmZpZ19nZXQodm5kZXYtPnZkZXYs
Cj4gKwkJCQkgICBfX29mZnNldG9mKHN0cnVjdCB2aXJ0aW9fbmV0X2NvbmZpZywgbWFjKSwKPiAr
CQkJCSAgICZ2bmRldi0+aHdfYWRkci5hZGRyX2J5dGVzWzBdLAo+ICsJCQkJICAgVUtfTkVUREVW
X0hXQUREUl9MRU4sIDEpOwo+ICsJaWYgKHVubGlrZWx5KGh3X2xlbiAhPSBVS19ORVRERVZfSFdB
RERSX0xFTikpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byByZXRyaWV2ZSB0aGUgbWFjIGFk
ZHJlc3MgZnJvbSBkZXZpY2VcbiIpOwo+ICsJCXJjID0gLUVBR0FJTjsKPiArCQlnb3RvIGV4aXQ7
Cj4gKwl9Cj4gKwlyYyA9IDA7Cj4gKwo+ICsJLyoqCj4gKwkgKiBNYXNrIG91dCBmZWF0dXJlcyBz
dXBwb3J0ZWQgYnkgYm90aCBkcml2ZXIgYW5kIGRldmljZS4KPiArCSAqLwo+ICsJdm5kZXYtPnZk
ZXYtPmZlYXR1cmVzICY9IGhvc3RfZmVhdHVyZXM7Cj4gKwl2aXJ0aW9fZmVhdHVyZV9zZXQodm5k
ZXYtPnZkZXYsIHZuZGV2LT52ZGV2LT5mZWF0dXJlcyk7Cj4gK2V4aXQ6Cj4gKwlyZXR1cm4gcmM7
Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHR4X2FsbG9jKHN0cnVjdCB2
aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYsCj4gKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRl
dl9jb25mICpjb25mKQo+ICt7Cj4gKwlpbnQgcmMgPSAwOwo+ICsJaW50IGkgPSAwOwo+ICsJaW50
IHZxX2F2YWlsID0gMDsKPiArCWludCB0b3RhbF92cXMgPSBjb25mLT5uYl9yeF9xdWV1ZXMgKyBj
b25mLT5uYl90eF9xdWV1ZXM7Cj4gKwlfX3UxNiBxZGVzY19zaXplW3RvdGFsX3Zxc107Cj4gKwo+
ICsJaWYgKGNvbmYtPm5iX3J4X3F1ZXVlcyAhPSAxIHx8IGNvbmYtPm5iX3R4X3F1ZXVlcyAhPSAx
KSB7Cj4gKwkJdWtfcHJfZXJyKCJRdWV1ZSBjb21iaW5hdGlvbiBub3Qgc3VwcG9ydGVkOiAlIl9f
UFJJdTE2Ii8lIl9fUFJJdTE2IiByeC90eFxuIiwKPiArCQkJICBjb25mLT5uYl9yeF9xdWV1ZXMs
IGNvbmYtPm5iX3R4X3F1ZXVlcyk7Cj4gKwo+ICsJCXJldHVybiAtRU5PVFNVUDsKPiArCX0KPiAr
Cj4gKwkvKioKPiArCSAqIFRPRE86Cj4gKwkgKiBUaGUgdmlydGlvIGRldmljZSBtYW5hZ2VtZW50
IGRhdGEgc3RydWN0dXJlIGFyZSBhbGxvY2F0ZWQgdXNpbmcgdGhlCj4gKwkgKiBhbGxvY2F0b3Ig
ZnJvbSB0aGUgbmV0ZGV2IGNvbmZpZ3VyYXRpb24uIEluIHRoZSBmdXR1cmUgaXQgbWlnaHQgYmUK
PiArCSAqIHdpc2VyIHRvIG1vdmUgaXQgdG8gdGhlIGFsbG9jYXRvciBvZiBlYWNoIGluZGl2aWR1
YWwgcXVldWUuIFRoaXMKPiArCSAqIHdvdWxkIGJldHRlciBjb25zaWRlcmluZyBOVU1BIHN1cHBv
cnQuCj4gKwkgKi8KPiArCXZuZGV2LT5yeHFzID0gdWtfbWFsbG9jKGEsIHNpemVvZigqdm5kZXYt
PnJ4cXMpICogY29uZi0+bmJfcnhfcXVldWVzKTsKPiArCXZuZGV2LT50eHFzID0gdWtfbWFsbG9j
KGEsIHNpemVvZigqdm5kZXYtPnR4cXMpICogY29uZi0+bmJfdHhfcXVldWVzKTsKPiArCWlmICh1
bmxpa2VseSghdm5kZXYtPnJ4cXMgfHwgIXZuZGV2LT50eHFzKSkgewo+ICsJCXVrX3ByX2Vycigi
RmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgcXVldWUgbWFuYWdlbWVudFxuIik7Cj4gKwkJ
cmMgPSAtRU5PTUVNOwo+ICsJCWdvdG8gZXJyX2ZyZWVfdHhyeDsKPiArCX0KPiArCj4gKwl2cV9h
dmFpbCA9IHZpcnRpb19maW5kX3Zxcyh2bmRldi0+dmRldiwgdG90YWxfdnFzLCBxZGVzY19zaXpl
KTsKPiArCWlmICh1bmxpa2VseSh2cV9hdmFpbCAhPSB0b3RhbF92cXMpKSB7Cj4gKwkJdWtfcHJf
ZXJyKCJFeHBlY3RlZDogJWQgcXVldWVzLCBGb3VuZDogJWQgcXVldWVzXG4iLAo+ICsJCQkgIHRv
dGFsX3ZxcywgdnFfYXZhaWwpOwo+ICsJCXJjID0gLUVOT01FTTsKPiArCQlnb3RvIGVycl9mcmVl
X3R4cng7Cj4gKwl9Cj4gKwo+ICsJLyoqCj4gKwkgKiBUaGUgdmlydHF1ZXVlIGFyZSBvcmdhbml6
ZWQgYXM6Cj4gKwkgKiBWaXJ0cXVldWUtcngwCj4gKwkgKiBWaXJ0cXVldWUtdHgwCj4gKwkgKiBW
aXJ0cXVldWUtcngxCj4gKwkgKiBWaXJ0cXVldWUtdHgxCj4gKwkgKiAuLi4KPiArCSAqIFZpcnRx
dWV1ZS1jdHJscQo+ICsJICovCj4gKwlmb3IgKGkgPSAwOyBpIDwgdm5kZXYtPm1heF92cXVldWVf
cGFpcnM7IGkrKykgewo+ICsJCS8qKgo+ICsJCSAqIEluaXRpYWxpemUgdGhlIHJlY2VpdmVkIHF1
ZXVlIHdpdGggdGhlIGluZm9ybWF0aW9uIHJlY2VpdmVkCj4gKwkJICogZnJvbSB0aGUgZGV2aWNl
Lgo+ICsJCSAqLwo+ICsJCXZuZGV2LT5yeHFzW2ldLmh3dnFfaWQgPSAyICogaTsKPiArCQl2bmRl
di0+cnhxc1tpXS5tYXhfbmJfZGVzYyA9IHFkZXNjX3NpemVbdm5kZXYtPnJ4cXNbaV0uaHd2cV9p
ZF07Cj4gKwkJdWtfc2dsaXN0X2luaXQoJnZuZGV2LT5yeHFzW2ldLnNnLAo+ICsJCQkgICAgICAg
KHNpemVvZih2bmRldi0+cnhxc1tpXS5zZ3NlZ3MpIC8KPiArCQkJCXNpemVvZih2bmRldi0+cnhx
c1tpXS5zZ3NlZ3NbMF0pKSwKPiArCQkJICAgICAgICZ2bmRldi0+cnhxc1tpXS5zZ3NlZ3NbMF0p
Owo+ICsKPiArCQkvKioKPiArCQkgKiBJbml0aWFsaXplIHRoZSB0cmFuc21pdCBxdWV1ZSB3aXRo
IHRoZSBpbmZvcm1hdGlvbiByZWNlaXZlZAo+ICsJCSAqIGZyb20gdGhlIGRldmljZS4KPiArCQkg
Ki8KPiArCQl2bmRldi0+dHhxc1tpXS5od3ZxX2lkID0gKDIgKiBpKSArIDE7Cj4gKwkJdm5kZXYt
PnR4cXNbaV0ubWF4X25iX2Rlc2MgPSBxZGVzY19zaXplW3ZuZGV2LT50eHFzW2ldLmh3dnFfaWRd
Owo+ICsJCXVrX3NnbGlzdF9pbml0KCZ2bmRldi0+dHhxc1tpXS5zZywKPiArCQkJICAgICAgIChz
aXplb2Yodm5kZXYtPnR4cXNbaV0uc2dzZWdzKSAvCj4gKwkJCQlzaXplb2Yodm5kZXYtPnR4cXNb
aV0uc2dzZWdzWzBdKSksCj4gKwkJCSAgICAgICAmdm5kZXYtPnR4cXNbaV0uc2dzZWdzWzBdKTsK
PiArCX0KPiArZXhpdDoKPiArCXJldHVybiByYzsKPiArCj4gK2Vycl9mcmVlX3R4cng6Cj4gKwlp
ZiAoIXZuZGV2LT5yeHFzKQo+ICsJCXVrX2ZyZWUoYSwgdm5kZXYtPnJ4cXMpOwo+ICsJaWYgKCF2
bmRldi0+dHhxcykKPiArCQl1a19mcmVlKGEsIHZuZGV2LT50eHFzKTsKPiArCWdvdG8gZXhpdDsK
PiAgIH0KPiAgIAo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X2NvbmZpZ3VyZShzdHJ1Y3Qg
dWtfbmV0ZGV2ICpuLAo+IC0JCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25m
IF9fdW51c2VkKQo+ICsJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKQo+
ICAgewo+ICAgCWludCByYyA9IDA7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2
Owo+ICAgCj4gICAJVUtfQVNTRVJUKG4pOwo+ICsJVUtfQVNTRVJUKGNvbmYpOwo+ICsJdm5kZXYg
PSB0b192aXJ0aW9uZXRkZXYobik7Cj4gKwo+ICsJcmMgPSB2aXJ0aW9fbmV0ZGV2X2ZlYXR1cmVf
bmVnb3RpYXRlKHZuZGV2KTsKPiArCWlmIChyYyAhPSAwKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gbmVnb3RpYXRlIHRoZSBkZXZpY2UgZmVhdHVyZSAlZFxuIiwgcmMpOwo+ICsJCWdvdG8g
ZXJyX25lZ290aWF0ZV9mZWF0dXJlOwo+ICsJfQo+ICsKPiArCXJjID0gdmlydGlvX25ldGRldl9y
eHR4X2FsbG9jKHZuZGV2LCBjb25mKTsKPiArCWlmIChyYyAhPSAwKSB7Cj4gKwkJdWtfcHJfZXJy
KCJGYWlsZWQgdG8gcHJvYmUgdGhlIHJ4IGFuZCB0eCByaW5ncyAlZFxuIiwgcmMpOwo+ICsJCWdv
dG8gZXJyX25lZ290aWF0ZV9mZWF0dXJlOwo+ICsJfQo+ICsKPiArCS8qIEluaXRpYWxpemUgdGhl
IGNvdW50IG9mIHRoZSB2aXJ0aW8tbmV0IGRldmljZSAqLwo+ICsJdm5kZXYtPnJ4X3ZxdWV1ZV9j
bnQgPSAwOwo+ICsJdm5kZXYtPnR4X3ZxdWV1ZV9jbnQgPSAwOwo+ICAgCj4gKwl1a19wcl9pbmZv
KCJDb25maWd1cmVkOiBmZWF0dXJlcz0weCVseCBtYXhfdmlydHF1ZXVlX3BhaXJzPSUiX19QUkl1
MTYiXG4iLAo+ICsJCSAgIHZuZGV2LT52ZGV2LT5mZWF0dXJlcywgdm5kZXYtPm1heF92cXVldWVf
cGFpcnMpOwo+ICtleGl0Ogo+ICAgCXJldHVybiByYzsKPiArCj4gK2Vycl9uZWdvdGlhdGVfZmVh
dHVyZToKPiArCXZpcnRpb19kZXZfc3RhdHVzX3VwZGF0ZSh2bmRldi0+dmRldiwgVklSVElPX0NP
TkZJR19TVEFUVVNfRkFJTCk7Cj4gKwlnb3RvIGV4aXQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBp
bnQgdmlydGlvX25ldF9yeF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+IAoKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVs
IG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9s
aXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:33:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:33:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFRid-0007sb-05; Wed, 24 Oct 2018 22:33:38 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFRib-0007sU-OA
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:33:37 +0000
X-Inumbo-ID: 6eab6996-d7dc-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 6eab6996-d7dc-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 00:30:39 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 13587F2050;
 Thu, 25 Oct 2018 00:33:35 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id we0anqQ7uIHA; Thu, 25 Oct 2018 00:33:34 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id DF26CF2010;
 Thu, 25 Oct 2018 00:33:30 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:33:30 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540389738-17112-4-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025003329978
Message-ID: <de92f823-aa95-95c2-83c5-6db2e4c691dd@neclab.eu>
Date: Thu, 25 Oct 2018 00:33:30 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540389738-17112-4-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v3 3/7] plat/drivers: Configure
 the receive queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjQuMTAuMTggMTY6MDIsIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHBhdGNoIGludHJv
ZHVjZXMgdGhlIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dGluZyB1cCB0aGUKPiByZWNl
aXZlIHF1ZXVlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5z
YW50aGFuYW1AbmVjbGFiLmV1Pgo+IFNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6
dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgo+IC0tLQo+ICAgcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fbmV0LmMgfCAxNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t
Cj4gICAxIGZpbGUgY2hhbmdlZCwgMTQwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4g
Cj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIvcGxhdC9k
cml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBpbmRleCAwNjlmNTFmLi45OTY5OGYzIDEwMDY0
NAo+IC0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCj4gKysrIGIvcGxhdC9k
cml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBAQCAtMTY4LDYgKzE2OCwxMCBAQCBzdGF0aWMg
c3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgK
PiAgIAkJCQkJc3RydWN0IHVrX25ldGRldiAqbiwgdWludDE2X3QgcXVldWVfaWQsCj4gICAJCQkJ
CXVpbnQxNl90IG5iX2Rlc2MsCj4gICAJCQkJCXN0cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25m
ICpjb25mKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3Qg
dmlydGlvX25ldF9kZXZpY2UgKnZuZGV2LAo+ICsJCQkJICAgICAgdWludDE2X3QgcXVldWVfaWQs
IHVpbnQxNl90IG5yX2Rlc2MsCj4gKwkJCQkgICAgICB2aXJ0cV90eXBlX3QgcXVldWVfdHlwZSwK
PiArCQkJCSAgICAgIHN0cnVjdCB1a19hbGxvYyAqYSk7Cj4gICBzdGF0aWMgc3RydWN0IHVrX25l
dGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKPiAgIAkJCQkJc3Ry
dWN0IHVrX25ldGRldiAqbiwKPiAgIAkJCQkJdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90IG5i
X2Rlc2MsCj4gQEAgLTE5MSw2ICsxOTUsNyBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhx
X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCj4gICAJCQkJ
ICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7Cj4gICBzdGF0aWMgaW50
IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYg
cXVldWVfaWQsCj4gICAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5m
byk7Cj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRxdWV1
ZSAqdnEsIHZvaWQgKnByaXYpOwo+ICAgCj4gICAvKioKPiAgICAqIFN0YXRpYyBnbG9iYWwgY29u
c3RhbnRzCj4gQEAgLTIwMSw2ICsyMDYsMjMgQEAgc3RhdGljIHN0cnVjdCB1a19hbGxvYyAqYTsK
PiAgIC8qKgo+ICAgICogVGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCj4gICAgKi8K
PiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3QgdmlydHF1ZXVlICp2
cSwgdm9pZCAqcHJpdikKPiArewo+ICsJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0g
TlVMTDsKPiArCj4gKwlVS19BU1NFUlQodnEgJiYgcHJpdik7Cj4gKwo+ICsJcnhxID0gKHN0cnVj
dCB1a19uZXRkZXZfcnhfcXVldWUgKikgcHJpdjsKPiArCj4gKwkvKiBEaXNhYmxlIHRoZSBpbnRl
cnJ1cHQgZm9yIHRoZSByaW5nICovCj4gKwl2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHZxKTsKPiAr
CXJ4cS0+aW50cl9lbmFibGVkICY9IH4oVlRORVRfSU5UUl9FTik7Cj4gKwo+ICsJLyogSW5kaWNh
dGUgdG8gdGhlIG5ldHdvcmsgc3RhY2sgYWJvdXQgYW4gZXZlbnQgKi8KPiArCXVrX25ldGRldl9k
cnZfcnhfZXZlbnQocnhxLT5uZGV2LCByeHEtPmxxdWV1ZV9pZCk7Cj4gKwlyZXR1cm4gMTsKPiAr
fQo+ICsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKPiAgIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAo+ICAg
CQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+IEBAIC0yMjgsMTUgKzI1MCwxMTEgQEAg
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51
c2VkLAo+ICAgfQo+ICAgCj4gICBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmly
dGlvX25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKPiAtCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sIHVp
bnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAo+IC0JCQkJdWludDE2X3QgbmJfZGVzYyBfX3VudXNl
ZCwKPiAtCQkJCXN0cnVjdCB1a19uZXRkZXZfcnhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQo+
ICsJCQkJc3RydWN0IHVrX25ldGRldiAqbiwgdWludDE2X3QgcXVldWVfaWQsCj4gKwkJCQl1aW50
MTZfdCBuYl9kZXNjLAo+ICsJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYp
Cj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2Owo+ICAgCXN0cnVjdCB1
a19uZXRkZXZfcnhfcXVldWUgKnJ4cSA9IE5VTEw7Cj4gKwlpbnQgcmM7Cj4gICAKPiAgIAlVS19B
U1NFUlQobik7Cj4gKwlVS19BU1NFUlQoY29uZik7Cj4gKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRl
dihuKTsKPiArCWlmIChxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykgewo+ICsJ
CXVrX3ByX2VycigiSW52YWxpZCB2aXJ0cXVldWUgaWRlbnRpZmllcjogJSJfX1BSSXUxNiJcbiIs
Cj4gKwkJCSAgcXVldWVfaWQpOwo+ICsJCXJjID0gLUVJTlZBTDsKPiArCQlnb3RvIGVycl9leGl0
Owo+ICsJfQo+ICsJLyogU2V0dXAgdGhlIHZpcnRxdWV1ZSB3aXRoIHRoZSBkZXNjcmlwdG9yICov
Cj4gKwlyYyA9IHZpcnRpb19uZXRkZXZfdnF1ZXVlX3NldHVwKHZuZGV2LCBxdWV1ZV9pZCwgbmJf
ZGVzYywgVk5FVF9SWCwKPiArCQkJCQljb25mLT5hKTsKPiArCWlmIChyYyA8IDApIHsKPiArCQl1
a19wcl9lcnIoIkZhaWxlZCB0byBzZXQgdXAgdmlydHF1ZXVlICUiX19QUkl1MTYiOiAlZFxuIiwK
PiArCQkJICBxdWV1ZV9pZCwgcmMpOwo+ICsJCWdvdG8gZXJyX2V4aXQ7Cj4gKwl9Cj4gKwlyeHEg
ID0gJnZuZGV2LT5yeHFzW3JjXTsKPiAgIAo+ICtleGl0Ogo+ICAgCXJldHVybiByeHE7Cj4gKwo+
ICtlcnJfZXhpdDoKPiArCXJ4cSA9IEVSUjJQVFIocmMpOwo+ICsJZ290byBleGl0Owo+ICt9Cj4g
Kwo+ICsvKioKPiArICogVGhpcyBmdW5jdGlvbiBzZXR1cCB0aGUgdnJpbmcgaW5mcmFzdHJ1Y3R1
cmUuCj4gKyAqIEBwYXJhbSB2bmRldgo+ICsgKglSZWZlcmVuY2UgdG8gdGhlIHZpcnRpbyBuZXQg
ZGV2aWNlLgo+ICsgKiBAcGFyYW0gcXVldWVfaWQKPiArICoJVXNlciBxdWV1ZSBpZGVudGlmaWVy
Cj4gKyAqIEBwYXJhbSBucl9kZXNjCj4gKyAqCVVzZXIgY29uZmlndXJlZCBudW1iZXIgb2YgZGVz
Y3JpcHRvcnMuCj4gKyAqIEBwYXJhbSBxdWV1ZV90eXBlCj4gKyAqCVF1ZXVlIHR5cGUuCj4gKyAq
IEBwYXJhbSBhCj4gKyAqCVJlZmVyZW5jZSB0byB0aGUgYWxsb2NhdG9yLgo+ICsgKi8KPiArc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX25ldF9kZXZp
Y2UgKnZuZGV2LAo+ICsJCXVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBucl9kZXNjLCB2aXJ0
cV90eXBlX3QgcXVldWVfdHlwZSwKPiArCQlzdHJ1Y3QgdWtfYWxsb2MgKmEpCj4gK3sKPiArCWlu
dCByYyA9IDA7Cj4gKwlpbnQgaWQgPSAwOwo+ICsJdmlydHF1ZXVlX2NhbGxiYWNrX3QgY2FsbGJh
Y2s7Cj4gKwl1aW50MTZfdCBtYXhfZGVzYywgaHd2cV9pZDsKPiArCXN0cnVjdCB2aXJ0cXVldWUg
KnZxOwo+ICsKPiArCWlmIChxdWV1ZV90eXBlID09IFZORVRfUlgpIHsKPiArCQlpZCA9IHZuZGV2
LT5yeF92cXVldWVfY250Owo+ICsJCWNhbGxiYWNrID0gdmlydGlvX25ldGRldl9yZWN2X2RvbmU7
Cj4gKwkJbWF4X2Rlc2MgPSB2bmRldi0+cnhxc1tpZF0ubWF4X25iX2Rlc2M7Cj4gKwkJaHd2cV9p
ZCA9IHZuZGV2LT5yeHFzW2lkXS5od3ZxX2lkOwo+ICsJfSBlbHNlIHsKPiArCQlpZCA9IHZuZGV2
LT50eF92cXVldWVfY250Owo+ICsJCS8qIFdlIGRvbid0IHN1cHBvcnQgdGhlIGNhbGxiYWNrIGZy
b20gdGhlIHR4cXVldWUgeWV0ICovCj4gKwkJY2FsbGJhY2sgPSBOVUxMOwo+ICsJCW1heF9kZXNj
ID0gdm5kZXYtPnR4cXNbaWRdLm1heF9uYl9kZXNjOwo+ICsJCWh3dnFfaWQgPSB2bmRldi0+dHhx
c1tpZF0uaHd2cV9pZDsKPiArCX0KPiArCj4gKwlpZiAodW5saWtlbHkobWF4X2Rlc2MgPCBucl9k
ZXNjKSkgewo+ICsJCXVrX3ByX2VycigiTWF4IGFsbG93ZWQgZGVzYzogJSJfX1BSSXUxNiIgUmVx
dWVzdGVkIGRlc2M6JSJfX1BSSXUxNiJcbiIsCj4gKwkJCSAgbWF4X2Rlc2MsIG5yX2Rlc2MpOwo+
ICsJCXJldHVybiAtRU5PQlVGUzsKPiArCX0KPiArCj4gKwkvKiBDaGVjayBpZiB0aGUgZGVzY3Jp
cHRvciBpcyBhIHBvd2VyIG9mIDIgKi8KPiArCWlmICh1bmxpa2VseShucl9kZXNjICYgKG5yX2Rl
c2MgLSAxKSkpIHsKPiArCQl1a19wcl9lcnIoIkV4cGVjdCBkZXNjcmlwdG9yIGNvdW50IGFzIGEg
cG93ZXIgMlxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwl2cSA9IHZpcnRpb192
cXVldWVfc2V0dXAodm5kZXYtPnZkZXYsIGh3dnFfaWQsIG5yX2Rlc2MsIGNhbGxiYWNrLCBhKTsK
PiArCWlmICh1bmxpa2VseShQVFJJU0VSUih2cSkpKSB7Cj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQg
dG8gc2V0IHVwIHZpcnRxdWV1ZSAlIl9fUFJJdTE2IlxuIiwKPiArCQkJICBxdWV1ZV9pZCk7Cj4g
KwkJcmMgPSBQVFIyRVJSKHZxKTsKPiArCQlyZXR1cm4gcmM7Cj4gKwl9Cj4gKwo+ICsJaWYgKHF1
ZXVlX3R5cGUgPT0gVk5FVF9SWCkgewo+ICsJCXZxLT5wcml2ID0gJnZuZGV2LT5yeHFzW2lkXTsK
PiArCQl2bmRldi0+cnhxc1tpZF0ubmRldiA9ICZ2bmRldi0+bmV0ZGV2Owo+ICsJCXZuZGV2LT5y
eHFzW2lkXS52cSA9IHZxOwo+ICsJCXZuZGV2LT5yeHFzW2lkXS5uYl9kZXNjID0gbnJfZGVzYzsK
PiArCQl2bmRldi0+cnhxc1tpZF0ubHF1ZXVlX2lkID0gcXVldWVfaWQ7Cj4gKwkJdm5kZXYtPnJ4
X3ZxdWV1ZV9jbnQrKzsKPiArCX0gZWxzZSB7Cj4gKwkJdm5kZXYtPnR4cXNbaWRdLnZxID0gdnE7
Cj4gKwkJdm5kZXYtPnR4cXNbaWRdLm5kZXYgPSAmdm5kZXYtPm5ldGRldjsKPiArCQl2bmRldi0+
dHhxc1tpZF0ubmJfZGVzYyA9IG5yX2Rlc2M7Cj4gKwkJdm5kZXYtPnR4cXNbaWRdLmxxdWV1ZV9p
ZCA9IHF1ZXVlX2lkOwo+ICsJCXZuZGV2LT50eF92cXVldWVfY250Kys7Cj4gKwl9Cj4gKwlyZXR1
cm4gaWQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2
aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAo+IEBAIC0yNTEsMTIgKzM2OSwyOSBAQCBzdGF0
aWMgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1
cCgKPiAgIH0KPiAgIAo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gLQkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNl
ZCwKPiArCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkLAo+ICAgCQkJCSAgICAgIHN0cnVjdCB1a19u
ZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCj4gICB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZp
Y2UgKnZuZGV2Owo+ICsJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxOwo+ICsJaW50IHJj
ID0gMDsKPiArCj4gICAJVUtfQVNTRVJUKGRldik7Cj4gICAJVUtfQVNTRVJUKHFpbmZvKTsKPiAt
CXJldHVybiAwOwo+ICsJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKPiArCWlmICh1bmxp
a2VseShxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykpIHsKPiArCQl1a19wcl9l
cnIoIkludmFsaWQgdmlydHF1ZXVlIGlkOiAlIl9fUFJJdTE2IlxuIiwgcXVldWVfaWQpOwo+ICsJ
CXJjID0gLUVJTlZBTDsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9Cj4gKwlyeHEgPSAmdm5kZXYtPnJ4
cXNbcXVldWVfaWRdOwo+ICsJcWluZm8tPm5iX21pbiA9IDE7Cj4gKwlxaW5mby0+bmJfbWF4ID0g
cnhxLT5tYXhfbmJfZGVzYzsKPiArCXFpbmZvLT5uYl9pc19wb3dlcl9vZl90d28gPSAxOwo+ICsK
PiArZXhpdDoKPiArCXJldHVybiByYzsKPiArCj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgdmly
dGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+IAoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Wed Oct 24 22:57:12 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 24 Oct 2018 22:57:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFS5O-0000wE-Ix; Wed, 24 Oct 2018 22:57:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=5haw=ne=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFS5N-0000w9-Nc
 for minios-devel@lists.xen.org; Wed, 24 Oct 2018 22:57:09 +0000
X-Inumbo-ID: 57a419a5-d7e0-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 57a419a5-d7e0-11e8-a6a9-d7ebe60f679a;
 Wed, 24 Oct 2018 22:58:38 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 9AEE21048C0;
 Thu, 25 Oct 2018 00:57:06 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id KhEw9AqaNUUD; Thu, 25 Oct 2018 00:57:06 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 7455C104813;
 Thu, 25 Oct 2018 00:57:02 +0200 (CEST)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 00:57:02 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540389738-17112-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540389738-17112-8-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025005701566
Message-ID: <6cad43a2-0fc3-ca34-10da-54f91c02d3b6@neclab.eu>
Date: Thu, 25 Oct 2018 00:57:01 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540389738-17112-8-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v3 7/7] plat/drivers: Receive
 and Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5IFNoYXJhbiwKCkkgaGF2ZSBzb21lIG1pbm9yIGNvbW1lbnRzLiBCdXQgd2UgYXJlIGFsbW9z
dCBkb25lLgoKQ2hlZXJzLAoKU2ltb24KCk9uIDI0LjEwLjE4IDE2OjAyLCBTaGFyYW4gU2FudGhh
bmFtIHdyb3RlOgo+IFRoaXMgcGF0Y2ggYWRkIHRoZSB0cmFuc21pc3Npb24gYW5kIHJlY2VpdmUg
b3BlcmF0aW9uIGZvciB0aGUKPiB2aXJ0aW8tbmV0IGRldmljZS4gV2UgZXh0ZW5kIHRoZSBzY2F0
dGVyIGdhdGhlciBsaXN0IHRvIG9wZXJhdGUKPiBvbiB0aGUgbmV0YnVmLgoKWW91IHNob3VsZCBh
bHNvIHNheSB0aGF0IHlvdSBleHRlbmQgbGlidWtuZXRkZXYncyBpbmZvIGludGVyZmFjZSB3aXRo
IAphbm90aGVyIHBhcmFtZXRlci4gSSBhbSB0YWxraW5nIGFib3V0IHRoZSBudW1iZXIgb2YgYnl0
ZXMgcmVxdWlyZWQgYXMgCmhlYWRyb29tIGZvciBkb2luZyBhIHRyYW5zbWlzc2lvbi4gQnV0IEkg
dGhpbmsgaXQgd291bGQgbWFrZSBzZW5zZSB0byAKaGF2ZSB0aGlzIGFzIGEgc2VwYXJhdGUgY29t
bWl0LiBNYXliZSBhcyBmaXJzdCBjb21taXQgb2YgeW91ciBzZXJpZXM/Cgo+IAo+IFNpZ25lZC1v
ZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1Pgo+IFNp
Z25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21haWwuY29t
Pgo+IC0tLQo+ICAgbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaCB8ICAgMyAr
LQo+ICAgbGliL3Vrc2dsaXN0L2V4cG9ydHN5bXMudWsgICAgICAgICAgICB8ICAgMSArCj4gICBs
aWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaCAgICAgIHwgIDE4ICsrCj4gICBsaWIvdWtz
Z2xpc3Qvc2dsaXN0LmMgICAgICAgICAgICAgICAgIHwgIDI1ICsrKwo+ICAgcGxhdC9kcml2ZXJz
L3ZpcnRpby92aXJ0aW9fbmV0LmMgICAgICB8IDMxMCArKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKystCj4gICA1IGZpbGVzIGNoYW5nZWQsIDM1MyBpbnNlcnRpb25zKCspLCA0IGRlbGV0
aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZf
Y29yZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IGluZGV4IGIx
NGE5YzkuLmI3N2M0NWEgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0
ZGV2X2NvcmUuaAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgK
PiBAQCAtODUsNyArODUsOCBAQCBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gewo+ICAgCXVpbnQxNl90
IG1heF90eF9xdWV1ZXM7Cj4gICAJaW50IGluX3F1ZXVlX3BhaXJzOyAvKio8IElmIHRydWUsIGFs
bG9jYXRlIHF1ZXVlcyBpbiBwYWlycy4gKi8KPiAgIAl1aW50MTZfdCBtYXhfbXR1OyAgIC8qKjwg
TWF4aW11bSBzdXBwb3J0ZWQgTVRVIHNpemUuICovCj4gLQl1aW50MTZfdCBuYl9lbmNhcDsgIC8q
KjwgTnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciB0eC4gKi8KPiArCXVp
bnQxNl90IG5iX2VuY2FwX3R4OyAgLyoqPCBOdW1iZXIgb2YgYnl0ZXMgcmVxdWlyZWQgYXMgaGVh
ZHJvb20gZm9yIHR4LiAqLwo+ICsJdWludDE2X3QgbmJfZW5jYXBfcng7ICAvKio8IE51bWJlciBv
ZiBieXRlcyByZXF1aXJlZCBhcyBoZWFkcm9vbSBmb3IgcnguICovCj4gICB9Owo+ICAgCj4gICAv
KioKPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc2dsaXN0L2V4cG9ydHN5bXMudWsgYi9saWIvdWtzZ2xp
c3QvZXhwb3J0c3ltcy51awo+IGluZGV4IGExZTliMzcuLmY4YzYwZjcgMTAwNjQ0Cj4gLS0tIGEv
bGliL3Vrc2dsaXN0L2V4cG9ydHN5bXMudWsKPiArKysgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3lt
cy51awo+IEBAIC05LDMgKzksNCBAQCB1a19zZ2xpc3RfbGVuZ3RoCj4gICB1a19zZ2xpc3Rfc3Bs
aXQKPiAgIHVrX3NnbGlzdF9qb2luCj4gICB1a19zZ2xpc3Rfc2xpY2UKPiArdWtfc2dsaXN0X2Fw
cGVuZF9uZXRidWYKPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0
LmggYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaAo+IGluZGV4IGE4OWIxMGQuLmRi
MDAwYzAgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0LmgKPiAr
KysgYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaAo+IEBAIC00NCwxMiArNDQsMTYg
QEAKPiAgIGV4dGVybiAiQyIgewo+ICAgI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCj4gICAKPiAr
I2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICAgI2luY2x1ZGUgPHN0ZGludC5oPgo+ICAgI2luY2x1
ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAgICNpbmNsdWRlIDx1ay9yZWZjb3VudC5oPgo+ICAgI2lm
ZGVmIENPTkZJR19MSUJVS0FMTE9DCj4gICAjaW5jbHVkZSA8dWsvYWxsb2MuaD4KPiAgICNlbmRp
ZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCj4g
KyNpbmNsdWRlIDx1ay9uZXRidWYuaD4KPiArI2VuZGlmIC8qIENPTkZJR19MSUJVS05FVERFViAq
Lwo+ICAgCj4gICBzdHJ1Y3QgdWtfc2dsaXN0X3NlZyB7Cj4gICAJX19waHlzX2FkZHIgIHNzX3Bh
ZGRyOyAvKiBQaHlzaWNhbCBhZGRyZXNzICovCj4gQEAgLTI2NSw2ICsyNjksMjAgQEAgaW50IHVr
X3NnbGlzdF9zbGljZShzdHJ1Y3QgdWtfc2dsaXN0ICpvcmlnaW5hbCwgc3RydWN0IHVrX3NnbGlz
dCAqKnNsaWNlLAo+ICAgCQkJc3RydWN0IHVrX2FsbG9jICphLCBzaXplX3Qgb2Zmc2V0LCBzaXpl
X3QgbGVuZ3RoKTsKPiAgICNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+ICAgCj4gKyNp
ZmRlZiBDT05GSUdfTElCVUtORVRERVYKPiArLyoqCj4gKyAqIFRoZSBmdW5jdGlvbiBjcmVhdGUg
YSBzY2F0dGVyIGdhdGhlciBsaXN0IGZyb20gdGhlIG5ldGJ1Zgo+ICsgKiBAcGFyYW0gc2cKPiAr
ICoJQSByZWZlcmVuY2UgdG8gdGhlIHNjYXR0ZXIgZ2F0aGVyIGxpc3QuCj4gKyAqIEBwYXJhbSBt
MAo+ICsgKglBIHJlZmVyZW5jZSB0byB0aGUgbmV0YnVmCj4gKyAqIEByZXR1cm4KPiArICoJMCwg
b24gc3VjY2Vzc2Z1bCBjcmVhdGlvbiBvZiB0aGUgc2NhdHRlciBnYXRoZXIgbGlzdAo+ICsgKgkt
RUlOVkFMLCBJbnZhbGlkIHNnIGxpc3QuCj4gKyAqLwo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9u
ZXRidWYoc3RydWN0IHVrX3NnbGlzdCAqc2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1Zik7Cj4g
KyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVQgKi8KPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMK
PiAgIH0KPiAgICNlbmRpZiAvKiBfX2NwbHVzcGx1cyAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtz
Z2xpc3Qvc2dsaXN0LmMgYi9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMKPiBpbmRleCAwZWMyMTA1Li4w
MTMxNTk2IDEwMDY0NAo+IC0tLSBhL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwo+ICsrKyBiL2xpYi91
a3NnbGlzdC9zZ2xpc3QuYwo+IEBAIC01MzEsMyArNTMxLDI4IEBAIGludCB1a19zZ2xpc3Rfc2xp
Y2Uoc3RydWN0IHVrX3NnbGlzdCAqb3JpZ2luYWwsIHN0cnVjdCB1a19zZ2xpc3QgKipzbGljZSwK
PiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgICNlbmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLwo+ICsK
PiArI2lmZGVmIENPTkZJR19MSUJVS05FVERFVgo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRi
dWYoc3RydWN0IHVrX3NnbGlzdCAqc2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKPiArewo+
ICsJc3RydWN0IHNnc2F2ZSBzYXZlOwo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqbmI7Cj4gKwlpbnQg
ZXJyb3I7Cj4gKwo+ICsJaWYgKHNnLT5zZ19tYXhzZWcgPT0gMCkKPiArCQlyZXR1cm4gLUVJTlZB
TDsKPiArCj4gKwllcnJvciA9IDA7Cj4gKwlTR0xJU1RfU0FWRShzZywgc2F2ZSk7Cj4gKwlVS19O
RVRCVUZfQ0hBSU5fRk9SRUFDSChuYiwgbmV0YnVmKSB7Cj4gKwkJaWYgKGxpa2VseShuYi0+bGVu
ID4gMCkpIHsKPiArCQkJZXJyb3IgPSB1a19zZ2xpc3RfYXBwZW5kKHNnLCBuYi0+ZGF0YSwgbmIt
Pmxlbik7Cj4gKwkJCWlmICh1bmxpa2VseShlcnJvcikpIHsKPiArCQkJCVNHTElTVF9SRVNUT1JF
KHNnLCBzYXZlKTsKPiArCQkJCXJldHVybiBlcnJvcjsKPiArCQkJfQo+ICsJCX0KPiArCX0KPiAr
CXJldHVybiAwOwo+ICt9Cj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVRERVYgKi8KPiBkaWZm
IC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19uZXQuYwo+IGluZGV4IDUzYzBjOTMuLjNmN2NhMzYgMTAwNjQ0Cj4gLS0t
IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiArKysgYi9wbGF0L2RyaXZlcnMv
dmlydGlvL3ZpcnRpb19uZXQuYwo+IEBAIC03OSw2ICs3OSwxNyBAQCB0eXBlZGVmIGVudW0gewo+
ICAgfSB2aXJ0cV90eXBlX3Q7Cj4gICAKPiAgIC8qKgo+ICsgKiBXaGVuIG1lcmdlYWJsZSBidWZm
ZXJzIGFyZSBub3QgbmVnb3RpYXRlZCwgdGhlIHZ0bmV0X3J4X2hlYWRlciBzdHJ1Y3R1cmUKPiAr
ICogYmVsb3cgaXMgcGxhY2VkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5ldGJ1ZiBkYXRhLiBV
c2UgNCBieXRlcyBvZiBwYWQgdG8KPiArICogYm90aCBrZWVwIHRoZSBWaXJ0SU8gaGVhZGVyIGFu
ZCB0aGUgZGF0YSBub24tY29udGlndW91cyBhbmQgdG8ga2VlcCB0aGUKPiArICogZnJhbWUncyBw
YXlsb2FkIDQgYnl0ZSBhbGlnbmVkLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19uZXRfcnhfaGRy
IHsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2hkciB2aGRyOwo+ICsJY2hhciAgICAgICAgICAgIHZy
aF9wYWRbVlRORVRfUlhfSEVBREVSX1BBRF07Cj4gK307Cj4gKwo+ICsvKioKPiAgICAqIEBpbnRl
cm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IHRoZSB0cmFuc21pdCBxdWV1ZS4KPiAgICAqLwo+
ICAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7Cj4gQEAgLTE4MCw2ICsxOTEsNyBAQCBzdGF0
aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4g
ICAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOwo+ICAgc3RhdGlj
IGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gICAJ
CQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7Cj4gK3N0YXRpYyB2b2lk
IHZpcnRpb19uZXRkZXZfeG1pdF9mcmVlKHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnR4cSk7
Cj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYs
Cj4gICAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPiAgIAkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7Cj4gQEAgLTE5NSw3ICsyMDcsMTMgQEAgc3RhdGlj
IGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9f
dTE2IHF1ZXVlX2lkLAo+ICAgCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAq
cWluZm8pOwo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3Qg
dWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1ZXVlX2lkLAo+ICAgCQkJCSAgICAgIHN0cnVjdCB1a19u
ZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhx
X2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAo+ICsJCQkJICAgICBzdHJ1
Y3QgdWtfbmV0YnVmICoqbmV0YnVmKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9l
bnF1ZXVlKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKPiArCQkJCSAgICAgc3RydWN0
IHVrX25ldGJ1ZiAqbmV0YnVmKTsKPiAgIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2X2Rv
bmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKnByaXYpOwo+ICtzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcnhfZmlsbHVwKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKPiArCQlz
dHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmLCBfX3UxNiAqY291bnQpOwo+ICAgCj4gICAvKioKPiAg
ICAqIFN0YXRpYyBnbG9iYWwgY29uc3RhbnRzCj4gQEAgLTIyMywzMCArMjQxLDMxNCBAQCBzdGF0
aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lk
ICpwcml2KQo+ICAgCXJldHVybiAxOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIHZpcnRpb19u
ZXRkZXZfeG1pdF9mcmVlKHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnR4cSkKPiArewo+ICsJ
c3RydWN0IHVrX25ldGJ1ZiAqcGt0ID0gTlVMTDsKPiArCWludCBjbnQgPSAwOwo+ICsKPiArCWRv
IHsKPiArCQlwa3QgPSAoc3RydWN0IHVrX25ldGJ1ZiAqKQo+ICsJCQl2aXJ0cXVldWVfYnVmZmVy
X2RlcXVldWUodHhxLT52cSwgTlVMTCk7Cj4gKwkJLyoqCj4gKwkJICogUmVsZWFzaW5nIHRoZSBm
cmVlIGJ1ZmZlciBiYWNrIHRvIG5ldGJ1Zi4gVGhlIG5ldGJ1ZiBjb3VsZAo+ICsJCSAqIHVzZSB0
aGUgZGVzdHJ1Y3RvciB0byBpbmZvcm0gdGhlIHN0YWNrIHJlZ2FyZGluZyB0aGUgZnJlZSB1cAo+
ICsJCSAqIG9mIG1lbW9yeS4KPiArCQkgKi8KPiArCQlpZiAocGt0KSB7Cj4gKwkJCXVrX25ldGJ1
Zl9mcmVlKHBrdCk7Cj4gKwkJCWNudCsrOwo+ICsJCX0KPiArCX0gd2hpbGUgKHBrdCk7CgpJIHN0
aWxsIHdvdWxkIHRha2UgbXkgc3VnZ2VzdGVkIGNvZGUgYmVjYXVzZSBpdCBoYXMgb25seSBvbmUg
Y29uZGl0aW9uIApjaGVjayBvbiBwa3QgZm9yIG9uZSBpdGVyYXRpb24uCgpmb3IgKDs7KSB7CiAg
IHBrdCA9IChzdHJ1Y3QgdWtfbmV0YnVmICopIHZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZSh0eHEt
PnZxLCBOVUxMKTsKICAgaWYgKCFwa3QpCiAgICAgYnJlYWs7CiAgIGNudCsrOwogICB1a19uZXRi
dWZfZnJlZShwa3QpOwp9Cgo+ICsJdWtfcHJfZGVidWcoIkZyZWUgJSJfX1BSSXUxNiIgZGVzY3Jp
cHRvcnNcbiIsIGNudCk7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeF9m
aWxsdXAoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAo+ICsJCXN0cnVjdCB1a19uZXRi
dWYgKipuZXRidWYsIF9fdTE2ICpjb3VudCkKPiArewo+ICsJaW50IHJjID0gMDsKPiArCV9fdTE2
IGkgPSAwOwo+ICsJX191MTYgY250ID0gMDsKPiArCj4gKwkvKioKPiArCSAqIEZpeGVkIGFtb3Vu
dCBvZiBtZW1vcnkgaXMgYWxsb2NhdGVkIHRvIGVhY2ggcmVjZWl2ZWQgYnVmZmVyLiBJbgo+ICsJ
ICogb3VyIGNhc2Ugc2luY2Ugd2UgZG9uJ3Qgc3VwcG9ydCBqdW1ibyBmcmFtZSBvciBMUk8geWV0
IHdlIHJlcXVpcmUKPiArCSAqIHRoYXQgdGhlIGJ1ZmZlciBmZWVkIHRvIHRoZSByaW5nIGRlc2Ny
aXB0b3IgaXMgYXRsZWFzdAo+ICsJICogZXRoZXJuZXQgTVRVICsgdmlydGlvIG5ldCBoZWFkZXIu
Cj4gKwkgKi8KPiArCWZvciAoaSA9IDA7IGkgPCAqY291bnQ7IGkrKykgewo+ICsJCXJjID0gdmly
dGlvX25ldGRldl9yeHFfZW5xdWV1ZShyeHEsIG5ldGJ1ZltpXSk7Cj4gKwkJaWYgKHJjID09IC1F
Tk9TUEMpIHsKPiArCQkJdWtfcHJfZGVidWcoCj4gKwkJCQkiTm8gbW9yZSBwbGFjZSBhdmFpbGFi
bGUgdG8gYWRkIGRlc2NyaXB0b3JzXG4iKTsKPiArCQkJcmMgPSAwOwo+ICsJCQlicmVhazsKPiAr
CQl9IGVsc2UgaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKPiArCQkJdWtfcHJfZXJyKCJGYWlsZWQg
dG8gYWRkIGEgYnVmZmVyIHRvIHRoZSB2aXJ0cXVldWU6ICVkXG4iLAo+ICsJCQkJICByYyk7Cj4g
KwkJCWJyZWFrOwo+ICsJCX0KPiArCQljbnQrKzsKPiArCX0KPiArCSpjb3VudCA9ICpjb3VudCAt
IGNudDsKPiArCj4gKwkvKioKPiArCSAqIE5vdGlmeSB0aGUgaG9zdCwgd2hlbiB3ZSBzdWJtaXQg
bmV3IGRlc2NyaXB0b3IocykuCj4gKwkgKi8KPiArCWlmIChjbnQpCj4gKwkJdmlydHF1ZXVlX2hv
c3Rfbm90aWZ5KHJ4cS0+dnEpOwo+ICsKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiAgIHN0YXRp
YyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAgIAkJCSAg
ICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAo+ICAgCQkJICAgICAgc3RydWN0
IHVrX25ldGJ1ZiAqcGt0KQo+ICAgewo+ICsJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRl
diBfX3VudXNlZDsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2hkciAqdmhkcjsKPiArCWludDE2X3Qg
aGVhZGVyX3N6ID0gc2l6ZW9mKCp2aGRyKTsKPiAgIAlpbnQgcmMgPSAwOwo+ICsJc2l6ZV90IHRv
dGFsX2xlbiA9IDA7Cj4gICAKPiAgIAlVS19BU1NFUlQoZGV2KTsKPiAgIAlVS19BU1NFUlQocGt0
ICYmIHF1ZXVlKTsKPiAgIAo+ICsJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKPiArCS8q
Kgo+ICsJICogV2UgYXJlIHJlY2xhaW1pbmcgdGhlIGZyZWUgZGVzY3JpcHRvcnMgZnJvbSBidWZm
ZXJzLiBUaGUgZnVuY3Rpb24gaXMKPiArCSAqIG5vdCBwcm90ZWN0ZWQgYnkgbWVhbnMgb2YgbG9j
a3MuIFdlIG5lZWQgdG8gYmUgY2FyZWZ1bCBpZiB0aGVyZSBhcmUKPiArCSAqIG11bHRpcGxlIGNv
bnRleHQgdGhyb3VnaCB3aGljaCB3ZSBmcmVlIHRoZSB0eCBkZXNjcmlwdG9ycy4KPiArCSAqLwo+
ICsJdmlydGlvX25ldGRldl94bWl0X2ZyZWUocXVldWUpOwo+ICsKPiArCS8qKgo+ICsJICogVXNl
IHRoZSBwcmVhbGxvY2F0ZWQgaGVhZGVyIHNwYWNlIGZvciB0aGUgdmlydGlvIGhlYWRlci4KPiAr
CSAqLwo+ICsJcmMgPSB1a19uZXRidWZfaGVhZGVyKHBrdCwgaGVhZGVyX3N6KTsKPiArCWlmIChy
YyAhPSAxKSB7Cgp1bmxpa2VseT8KCj4gKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gYWxsb2NhdGVk
IGhlYWRlciBtZW1vcnlcbiIpOwoKIkZhaWxlZCB0byBwcmVwZW5kIHZpcnRpbyBoZWFkZXJcbiIK
Cj4gKwkJcmMgPSAtRU5PU1BDOwo+ICsJCWdvdG8gZXhpdDsKPiArCX0KPiArCXZoZHIgPSBwa3Qt
PmRhdGE7Cj4gKwo+ICsJLyoqCj4gKwkgKiBGaWxsIHRoZSB2aXJ0aW8tbmV0LWhlYWRlciB3aXRo
IHRoZSBuZWNlc3NhcnkgaW5mb3JtYXRpb24uCj4gKwkgKiBaZXJvIGV4cGxpY2l0bHkgc2V0Lgo+
ICsJICovCj4gKwl2aGRyLT5mbGFncyA9IDA7Cj4gKwl2aGRyLT5nc29fdHlwZSA9IFZJUlRJT19O
RVRfSERSX0dTT19OT05FOwo+ICsKPiArCS8qKgo+ICsJICogUHJlcGFyZSB0aGUgc2dsaXN0IGFu
ZCBlbnF1ZXVlIHRoZSBidWZmZXIgdG8gdGhlIHZpcnRpby1yaW5nLgo+ICsJICovCj4gKwl1a19z
Z2xpc3RfcmVzZXQoJnF1ZXVlLT5zZyk7Cj4gKwo+ICsJLyoqCj4gKwkgKiBBY2NvcmRpbmcgdGhl
IHNwZWNpZmljYXRpb24gNS4xLjYuNiwgd2UgbmVlZCB0byBleHBsaWNpdGx5IHVzZQo+ICsJICog
MiBkZXNjcmlwdG9yIGZvciBlYWNoIHRyYW5zbWl0IGFuZCByZWNlaXZlIG5ldHdvcmsgcGFja2V0
IHNpbmNlIHdlCj4gKwkgKiBkbyBub3QgbmVnb3RpYXRlIGZvciB0aGUgVklSVElPX0ZfQU5ZX0xB
WU9VVC4KPiArCSAqCj4gKwkgKiAxIGZvciB0aGUgdmlydGlvIGhlYWRlciBhbmQgdGhlIG90aGVy
IGZvciB0aGUgYWN0dWFsIG5ldHdvcmsgcGFja2V0Lgo+ICsJICovCj4gKwkvKiBBcHBlbmRpbmcg
dGhlIGRhdGEgdG8gdGhlIGxpc3QuICovCj4gKwlyYyA9IHVrX3NnbGlzdF9hcHBlbmQoJnF1ZXVl
LT5zZywgdmhkciwgaGVhZGVyX3N6KTsKPiArCWlmICh1bmxpa2VseShyYyAhPSAwKSkgewo+ICsJ
CXVrX3ByX2VycigiRmFpbGVkIHRvIGFwcGVuZCB0byB0aGUgc2cgbGlzdFxuIik7Cj4gKwkJZ290
byBleGl0Owo+ICsJfQo+ICsJcmMgPSB1a19zZ2xpc3RfYXBwZW5kKCZxdWV1ZS0+c2csIHBrdC0+
ZGF0YSArIGhlYWRlcl9zeiwKPiArCQkJKHBrdC0+bGVuIC0gaGVhZGVyX3N6KSk7Cj4gKwlpZiAo
dW5saWtlbHkocmMgIT0gMCkpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8g
dGhlIHNnIGxpc3RcbiIpOwo+ICsJCWdvdG8gZXhpdDsKPiArCX0KPiArCWlmIChwa3QtPm5leHQp
IHsKPiArCQlyYyA9IHVrX3NnbGlzdF9hcHBlbmRfbmV0YnVmKCZxdWV1ZS0+c2csIHBrdC0+bmV4
dCk7Cj4gKwkJaWYgKHVubGlrZWx5KHJjICE9IDApKSB7Cj4gKwkJCXVrX3ByX2VycigiRmFpbGVk
IHRvIGFwcGVuZCB0byB0aGUgc2cgbGlzdFxuIik7Cj4gKwkJCWdvdG8gZXhpdDsKPiArCQl9Cj4g
Kwl9Cj4gKwo+ICsJdG90YWxfbGVuID0gdWtfc2dsaXN0X2xlbmd0aCgmcXVldWUtPnNnKTsKPiAr
CWlmICh1bmxpa2VseSh0b3RhbF9sZW4gPiBWSVJUSU9fUEtUX0JVRkZFUl9MRU4pKSB7Cj4gKwkJ
dWtfcHJfZXJyKCJQYWNrZXQgc2l6ZSB0b28gYmlnOiAlbHUsIG1heDoldVxuIiwKPiArCQkJICB0
b3RhbF9sZW4sIFZJUlRJT19QS1RfQlVGRkVSX0xFTik7Cj4gKwkJcmV0dXJuIC1FTk9UU1VQOwo+
ICsJfQo+ICsKPiArCS8qKgo+ICsJICogQWRkaW5nIHRoZSBkZXNjcmlwdG9ycyB0byB0aGUgdmly
dHF1ZXVlLgo+ICsJICovCj4gKwlyYyA9IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZShxdWV1ZS0+
dnEsIHBrdCwgJnF1ZXVlLT5zZywKPiArCQkJCSAgICAgIHF1ZXVlLT5zZy5zZ19uc2VnLCAwKTsK
PiArCWlmIChsaWtlbHkocmMgPj0gMCkpIHsKPiArCQkvKioKPiArCQkgKiBOb3RpZnkgdGhlIGhv
c3QgdGhlIG5ldyBidWZmZXIuCj4gKwkJICovCj4gKwkJdmlydHF1ZXVlX2hvc3Rfbm90aWZ5KHF1
ZXVlLT52cSk7Cj4gKwkJLyoqCj4gKwkJICogV2hlbiB0aGVyZSBpcyBmdXJ0aGVyIHNwYWNlIGF2
YWlsYWJsZSBpbiB0aGUgcmluZwo+ICsJCSAqIHJldHVybiAyIGVsc2UgMS4KPiArCQkgKi8KPiAr
CQlyYyA9IGxpa2VseShyYyA+IDApID8gMiA6IDE7Cj4gKwl9IGVsc2UgaWYgKHJjID09IC1FTk9T
UEMpIHsKPiArCQl1a19wcl9kZWJ1ZygiTm8gbW9yZSBkZXNjcmlwdG9yIGF2YWlsYWJsZVxuIik7
Cj4gKwkJcmMgPSAwOwo+ICsJfSBlbHNlIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBlbnF1
ZXVlIGRlc2NyaXB0b3JzIGludG8gdGhlIHJpbmc6ICVkXG4iLAo+ICsJCQkgIHJjKTsKPiArCX0K
PiArCj4gK2V4aXQ6Cj4gICAJcmV0dXJuIHJjOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyBpbnQgdmly
dGlvX25ldGRldl9yZWN2KHN0cnVjdCB1a19uZXRkZXYgKmRldiBfX3VudXNlZCwKPiArc3RhdGlj
IGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9lbnF1ZXVlKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUg
KnJ4cSwKPiArCQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqbmV0YnVmKQo+ICt7Cj4gKwlpbnQg
cmMgPSAwOwo+ICsJc3RydWN0IHZpcnRpb19uZXRfcnhfaGRyICpyeGhkcjsKPiArCWludDE2X3Qg
aGVhZGVyX3N6ID0gc2l6ZW9mKCpyeGhkcik7Cj4gKwlfX3U4ICpidWZfc3RhcnQ7Cj4gKwlzaXpl
X3QgYnVmX2xlbiA9IDA7Cj4gKwlzdHJ1Y3QgdWtfc2dsaXN0ICpzZzsKPiArCj4gKwlpZiAodmly
dHF1ZXVlX2lzX2Z1bGwocnhxLT52cSkpIHsKPiArCQl1a19wcl9kZWJ1ZygiVGhlIHZpcnRxdWV1
ZSBpcyBmdWxsXG4iKTsKPiArCQlyZXR1cm4gLUVOT1NQQzsKPiArCX0KPiArCj4gKwkvKioKPiAr
CSAqIFNhdmluZyB0aGUgYnVmZmVyIGluZm9ybWF0aW9uIGJlZm9yZSByZXNlcnZpbmcgdGhlIGhl
YWRlciBzcGFjZS4KPiArCSAqLwo+ICsJYnVmX3N0YXJ0ID0gbmV0YnVmLT5kYXRhOwo+ICsJYnVm
X2xlbiA9IG5ldGJ1Zi0+bGVuOwo+ICsKPiArCS8qKgo+ICsJICogUmV0cmlldmUgdGhlIGJ1ZmZl
ciBoZWFkZXIgbGVuZ3RoLgo+ICsJICovCj4gKwlyYyA9IHVrX25ldGJ1Zl9oZWFkZXIobmV0YnVm
LCBoZWFkZXJfc3opOwo+ICsJaWYgKHVubGlrZWx5KHJjICE9IDEpKSB7Cj4gKwkJdWtfcHJfZXJy
KCJGYWlsZWQgdG8gcmV0cmlldmUgdGhlIG5ldGJ1ZiBoZWFkZXI6ICVkXG4iLCByYyk7CgoiRmFp
bGVkIHRvIGFsbG9jYXRlIHNwYWNlIHRvIHByZXBlbmQgdmlydGlvIGhlYWRlclxuIgoKPiArCQly
ZXR1cm4gLUVJTlZBTDsKPiArCX0KPiArCXJ4aGRyID0gbmV0YnVmLT5kYXRhOwo+ICsKPiArCXNn
ID0gJnJ4cS0+c2c7Cj4gKwl1a19zZ2xpc3RfcmVzZXQoc2cpOwo+ICsKPiArCS8qIEFwcGVuZGlu
ZyB0aGUgaGVhZGVyIGJ1ZmZlciB0byB0aGUgc2dsaXN0ICovCj4gKwl1a19zZ2xpc3RfYXBwZW5k
KHNnLCByeGhkciwgc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X2hkcikpOwo+ICsKPiArCS8qIEFw
cGVuZGluZyB0aGUgZGF0YSBidWZmZXIgdG8gdGhlIHNnbGlzdCAqLwo+ICsJdWtfc2dsaXN0X2Fw
cGVuZChzZywgYnVmX3N0YXJ0LCBidWZfbGVuKTsKPiArCj4gKwlyYyA9IHZpcnRxdWV1ZV9idWZm
ZXJfZW5xdWV1ZShyeHEtPnZxLCBuZXRidWYsIHNnLCAwLCBzZy0+c2dfbnNlZyk7Cj4gKwlyZXR1
cm4gcmM7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfZGVxdWV1ZShz
dHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEsCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRi
dWYgKipuZXRidWYpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwlzdHJ1Y3QgdWtfbmV0YnVmICpi
dWYgPSBOVUxMOwo+ICsJX191MzIgbGVuOwo+ICsJX191MzIgb2Zmc2V0ID0gc2l6ZW9mKHN0cnVj
dCB2aXJ0aW9fbmV0X3J4X2hkcik7Cj4gKwo+ICsJVUtfQVNTRVJUKG5ldGJ1Zik7Cj4gKwo+ICsJ
YnVmID0gKHN0cnVjdCB1a19uZXRidWYgKil2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUocnhxLT52
cSwgJmxlbik7Cj4gKwlpZiAoIWJ1Zikgewo+ICsJCXVrX3ByX2RlYnVnKCJObyBkYXRhIGF2YWls
YWJsZSBpbiB0aGUgcXVldWVcbiIpOwo+ICsJCSpuZXRidWYgPSBOVUxMOwo+ICsJCXJldHVybiAw
Owo+ICsJfQo+ICsJaWYgKHVubGlrZWx5KChsZW4gPCBWSVJUSU9fSERSX0xFTiArIEVUSF9IRFJf
TEVOKQo+ICsJCSAgICAgfHwgKGxlbiA+IFZJUlRJT19QS1RfQlVGRkVSX0xFTikpKSB7Cj4gKwkJ
dWtfcHJfZXJyKCJSZWNlaXZlZCBpbnZhbGlkIHBhY2tldCBzaXplOiAldVxuIiwgbGVuKTsKCl9f
UFJJdTMyCgo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsJfQo+ICsKPiArCS8qKgo+ICsJICogUmVt
b3ZpbmcgdGhlIHZpcnRpbyBoZWFkZXIgZnJvbSB0aGUgYnVmZmVyIGFuZCBhZGp1c3RpbmcgbGVu
Z3RoLgo+ICsJICogV2UgcGFkICJWVE5FVF9SWF9IRUFERVJfUEFEIiB0byB0aGUgcnggYnVmZmVy
IHdoaWxlIGVucXVldWluZyBmb3IKPiArCSAqIGFsaWdubWVudCBvZiB0aGUgcGFja2V0IGRhdGEu
IFdlIGNvbXBlbnNhdGUgZm9yIHRoaXMsIGJ5IGFkZGluZyB0aGUKPiArCSAqICBwYWRkaW5nIHRv
IHRoZSBsZW5ndGggb24gZGVxdWV1ZS4KPiArCSAqLwo+ICsJYnVmLT5sZW4gPSBsZW4gKyBWVE5F
VF9SWF9IRUFERVJfUEFEOwo+ICsJcmMgPSB1a19uZXRidWZfaGVhZGVyKGJ1ZiwgLW9mZnNldCk7
CgpNYXliZSB5b3Ugd2FudCB0byBkaXJlY3RseSB1c2Ugc2l6ZW9mIGhlcmUgYW5kIHJlbW92ZSB0
aGUgb2Zmc2V0IAp2YXJpYWJsZSBmcm9tIHRoZSBmdW5jdGlvbi4gUHJvYmFibHksIEdDQyBpcyBv
cHRpbWl6aW5nIHlvdXIgY29kZSAKYW55d2F5cyBhbmQgdXNlcyBqdXN0IHRoZSBjb25zdGFudCB2
YWx1ZSBpbnN0ZWFkLgoKPiArCVVLX0FTU0VSVChyYyA9PSAxKTsKPiArCSpuZXRidWYgPSBidWY7
Cj4gKwo+ICsJcmV0dXJuIDE7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9y
ZWN2KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAgIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZf
cnhfcXVldWUgKnF1ZXVlLAo+IC0JCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0IF9fdW51
c2VkLAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0LAo+ICAgCQkJICAgICAgc3Ry
dWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCj4gICAJCQkgICAgICB1aW50MTZfdCAqZmlsbHVwX2Nv
dW50KQo+ICAgewo+ICAgCWludCByYyA9IDA7Cj4gKwlpbnQgY250ID0gMDsKPiAgIAo+ICAgCVVL
X0FTU0VSVChkZXYgJiYgcXVldWUpOwo+ICAgCVVLX0FTU0VSVCghZmlsbHVwIHx8IChmaWxsdXAg
JiYgKmZpbGx1cF9jb3VudCA+IDApKTsKPiAgIAo+IC0JcmV0dXJuIHJjOwo+ICsJaWYgKHBrdCAm
JiAocXVldWUtPmludHJfZW5hYmxlZCAmIFZUTkVUX0lOVFJfVVNSX0VOX01BU0spKSB7Cj4gKwkJ
dmlydHF1ZXVlX2ludHJfZGlzYWJsZShxdWV1ZS0+dnEpOwo+ICsJCXF1ZXVlLT5pbnRyX2VuYWJs
ZWQgJj0gfihWVE5FVF9JTlRSX0VOKTsKPiArCX0KPiArCj4gKwlpZiAocGt0KSB7Cj4gKwkJcmMg
PSB2aXJ0aW9fbmV0ZGV2X3J4cV9kZXF1ZXVlKHF1ZXVlLCBwa3QpOwo+ICsJCWlmICh1bmxpa2Vs
eShyYyA8IDApKSB7Cj4gKwkJCXVrX3ByX2VycigiRmFpbGVkIHRvIGRlcXVldWUgdGhlIHBhY2tl
dDogJWRcbiIsIHJjKTsKPiArCQkJZ290byBlcnJfZXhpdDsKPiArCQl9Cj4gKwkJY250ID0gcmM7
Cj4gKwl9Cj4gKwlpZiAoZmlsbHVwKQo+ICsJCXZpcnRpb19uZXRkZXZfcnhfZmlsbHVwKHF1ZXVl
LCBmaWxsdXAsIGZpbGx1cF9jb3VudCk7Cj4gKwo+ICsJLyogRW5hYmxlIGludGVycnVwdCBvbmx5
IHdoZW4gdXNlciBoYWQgcHJldmlvdXNseSBlbmFibGVkIGl0ICovCj4gKwlpZiAocGt0ICYmIChx
dWV1ZS0+aW50cl9lbmFibGVkICYgVlRORVRfSU5UUl9VU1JfRU5fTUFTSykpIHsKPiArCQkvKiBO
ZWVkIHRvIGVuYWJsZSB0aGUgaW50ZXJydXB0IG9uIHRoZSBsYXN0IHBhY2tldCAqLwo+ICsJCXJj
ID0gdmlydHF1ZXVlX2ludHJfZW5hYmxlKHF1ZXVlLT52cSk7Cj4gKwkJaWYgKHJjID09IDEgJiYg
Y250ID09IDApIHsKPiArCQkJLyoqCj4gKwkJCSAqIFBhY2tldCBhcnJpdmUgYWZ0ZXIgcmVhZGlu
ZyB0aGUgcXVldWUgYW5kIGJlZm9yZQo+ICsJCQkgKiBlbmFibGluZyB0aGUgaW50ZXJydXB0Cj4g
KwkJCSAqLwo+ICsJCQlyYyA9IHZpcnRpb19uZXRkZXZfcnhxX2RlcXVldWUocXVldWUsIHBrdCk7
Cj4gKwkJCWlmICh1bmxpa2VseShyYyA8IDApKSB7Cj4gKwkJCQl1a19wcl9lcnIoIkZhaWxlZCB0
byBkZXF1ZXVlIHRoZSBwYWNrZXQ6ICVkXG4iLAo+ICsJCQkJCSAgcmMpOwo+ICsJCQkJZ290byBl
cnJfZXhpdDsKPiArCQkJfQo+ICsJCQkvKiBOZWVkIHRvIGVuYWJsZSB0aGUgaW50ZXJydXB0IG9u
IHRoZSBsYXN0IHBhY2tldCAqLwo+ICsJCQlyYyA9IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShxdWV1
ZS0+dnEpOwo+ICsJCQljbnQgPSAocmMgPT0gMSkgPyAyIDogMTsKPiArCQl9IGVsc2UgaWYgKGNu
dCA+IDApIHsKPiArCQkJLyogV2hlbiB0aGVyZSBpcyBwYWNrZXQgaW4gdGhlIGJ1ZmZlciAqLwo+
ICsJCQljbnQgPSAocmMgPT0gMSkgPyAyIDogMTsKPiArCQl9Cj4gKwl9IGVsc2UgaWYgKHBrdCAm
JiBjbnQgPiAwKSB7Cj4gKwkJLyoqCj4gKwkJICogRm9yIHBvbGxpbmcgY2FzZSwgd2UgcmVwb3J0
IGFsd2F5cyB0aGVyZSBhcmUgZnVydGhlcgo+ICsJCSAqIHBhY2tldHMgdW5sZXNzIHRoZSBxdWV1
ZSBpcyBlbXB0eS4KPiArCQkgKi8KPiArCQljbnQgPSAyOwo+ICsJfQo+ICsKPiArZXhpdDoKPiAr
CXJldHVybiBjbnQ7Cj4gKwo+ICtlcnJfZXhpdDoKPiArCWNudCA9IHJjOwo+ICsJZ290byBleGl0
Owo+ICAgfQo+ICAgCj4gICBzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlv
X25ldGRldl9yeF9xdWV1ZV9zZXR1cCgKPiBAQCAtNjg4LDYgKzk5MCw4IEBAIHN0YXRpYyB2b2lk
IHZpcnRpb19uZXRfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICAgCj4gICAJZGV2
X2luZm8tPm1heF9yeF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKPiAgIAlkZXZf
aW5mby0+bWF4X3R4X3F1ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOwo+ICsJZGV2X2lu
Zm8tPm5iX2VuY2FwX3R4ID0gc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X2hkcik7Cj4gKwlkZXZf
aW5mby0+bmJfZW5jYXBfcnggPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfcnhfaGRyKTsgPiAg
IH0KPiAgIAo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYg
Km4pCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpN
aW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9y
ZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRl
dmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:09 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHH-00081R-2S; Thu, 25 Oct 2018 09:50:07 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHF-0007xf-F8
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:05 +0000
X-Inumbo-ID: 8ea25cdd-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 8ea25cdd-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:51:34 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id AEACBF2017;
 Thu, 25 Oct 2018 11:50:02 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 4-dWDRjZSegY; Thu, 25 Oct 2018 11:50:02 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 80B51F2010
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 11:50:00 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:00 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:45 +0200
Message-ID: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 0/8] plat/drivers: Introduce
 virtio network driver
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW5pdGlhbCBpbXBsZW1lbnRhdGlvbiBvZiBhIHZpcnRpbyBuZXR3b3JrIGRyaXZlciBiYXNlZCBv
biBVbmlrcmFmdCBOZXQgQVBJIHY1CmFuZCB2aXJ0aW8gZHJpdmVyIHN1cHBvcnQgdjEuIFN1cHBv
cnRzIGJhc2ljIE5ldCBBUEkgZnVuY3Rpb25zIHN1Y2ggYXMgCmNvbmZpZ3VyZSB0aGUgbmV0d29y
ayBkZXZpY2UsIGNvbmZpZ3VyaW5nIHRoZSByeC90eCByaW5ncywgdHJhbnNtaXR0aW5nIGFuZApy
ZWNlaXZpbmcgbmV0d29yayBwYWNrZXRzLgoKQ2hhbmdlIHNpbmNlIHYzCiogU3BsaXR0aW5nIHRo
ZSBoZWFkZXIgZW5jYXBzdWxhdGlvbiBjb21taXQKKiBDaGFuZ2Ugc29tZSBlcnJvciB0cmFjaW5n
CgpDaGFuZ2VzIHNpbmNlIHYyCiogSW50cm9kdWNlIGhlYWRlciBlbmNhcHN1bGF0aW9uIG9uIHRo
ZSByeCBhbmQgdGhlIHR4LgoqIEltcHJvdmVkIGlubGluZSBjb21tZW50cy4KKiBGaXhlZCBpc3N1
ZSB3aXRoIHRoZSB0eHEuCiogSW1wcm92ZWQgdGhlIGVycm9yIG1lc3NhZ2VzCgpDaGFuZ2VzIHNp
bmNlIHYxCiogSW50cm9kdWNlIHRoZSBzdGFuZGFyZCB2aXJ0aW8tbmV0IGRldmljZSBoZWFkZXJz
LgoqIEFkYXB0aW5nIHRoZSB2aXJ0aW8tbmV0IGRldmljZSB0byBjaGFuZ2VzIGluIHRoZSBsaWJ1
a25ldCBsaWJyYXJ5LgoqIFJlbW92ZSB0aGUgYnVmZmVyIGhhbmRsaW5nIHdpdGhpbiB0aGUgZHJp
dmVyIGFuZCB1c2UgdGhlIHVrX25ldGJ1ZgoqIFVzZSB0aGUgbmV3IHZpcnRpbyBzdXBwb3J0IGlu
IFVuaWtyYWZ0IGZvciBpbnRlcmFjdGlvbnMgYmV0d2VlbiB0aGUgdmlydGlvCiAgZGV2aWNlIGFu
ZCB2aXJ0aW8gcmluZ3MuCgpTaGFyYW4gU2FudGhhbmFtICg4KToKICBwbGF0L2RyaXZlcnM6IElu
dHJvZHVjZSB0aGUgdmlydGlvLW5ldCBkZXZpY2UKICBwbGF0L2RyaXZlcnM6IENvbmZpZ3VyZSB2
aXJ0aW8tbmV0IGRldmljZQogIHBsYXQvZHJpdmVyczogQ29uZmlndXJlIHRoZSByZWNlaXZlIHF1
ZXVlCiAgcGxhdC9kcml2ZXJzOiBDb25maWd1cmluZyB0aGUgdHJhbnNtaXQgcXVldWUKICBwbGF0
L2RyaXZlcnM6IENvbmZpZ3VyZSByZWNlaXZlIHF1ZXVlIGludGVycnVwdAogIHBsYXQvZHJpdmVy
czogU3RhcnRpbmcgdGhlIHZpcnRpbyBkZXZpY2UKICBsaWIvdWtuZXRkZXY6IEFkZCBkcml2ZXIg
ZW5jYXBzdWxhdGlvbiBmb3IgcnggJiB0eAogIHBsYXQvZHJpdmVyczogUmVjZWl2ZSBhbmQgVHJh
bnNtaXQgb3BlcmF0aW9ucwoKIGxpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgg
ICAgfCAgICAzICstCiBsaWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51ayAgICAgICAgICAgICAgIHwg
ICAgMSArCiBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaCAgICAgICAgIHwgICAxOCAr
CiBsaWIvdWtzZ2xpc3Qvc2dsaXN0LmMgICAgICAgICAgICAgICAgICAgIHwgICAyNSArCiBwbGF0
L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX25ldC5oIHwgIDI1OCArKysrKysrCiBwbGF0
L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyAgICAgICAgIHwgMTExNSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysKIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAgICAg
ICAgfCAgICA4ICsKIHBsYXQva3ZtL01ha2VmaWxlLnVrICAgICAgICAgICAgICAgICAgICAgfCAg
ICAyICsKIDggZmlsZXMgY2hhbmdlZCwgMTQyOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p
CiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19u
ZXQuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5j
CgotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:15 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHP-00085D-6l; Thu, 25 Oct 2018 09:50:15 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHN-00084w-Qp
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:13 +0000
X-Inumbo-ID: f0d26b93-d83a-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id f0d26b93-d83a-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 11:47:10 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id E9EB9104A54;
 Thu, 25 Oct 2018 11:50:06 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id q8JlYlVSdXYH; Thu, 25 Oct 2018 11:50:06 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id C6FC9104A5F;
 Thu, 25 Oct 2018 11:50:02 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:02 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:46 +0200
Message-ID: <1540460993-30344-2-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 1/8] plat/drivers: Introduce the
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBpbnRyb2R1Y2VzIHRoZSB2aXJ0aW8gbmV0IGRyaXZlciBpbml0aWFsaXphdGlv
biwgdGhlIEFQSQpmdW5jdGlvbnMgY2FsbGJhY2sgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgbGlidWtu
ZXQuCgpTaWduZWQtb2ZmLWJ5OiBTaGFyYW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5l
Y2xhYi5ldT4KU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5
M0BnbWFpbC5jb20+ClJldmlld2VkLWJ5OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5l
Y2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmlydGlvX25ldC5oIHwg
MjU4ICsrKysrKysrKysrKysrKysrKysKIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5j
ICAgICAgICAgfCA0MTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9rdm0v
Q29uZmlnLnVrICAgICAgICAgICAgICAgICAgICAgICB8ICAgOCArCiBwbGF0L2t2bS9NYWtlZmls
ZS51ayAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIDQgZmlsZXMgY2hhbmdlZCwgNjg1IGlu
c2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0
aW8vdmlydGlvX25ldC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fbmV0LmMKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvaW5jbHVkZS92aXJ0aW8vdmly
dGlvX25ldC5oIGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMzNmY2U0Ci0tLSAvZGV2L251bGwKKysr
IGIvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaApAQCAtMCwwICsxLDI1
OCBAQAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyogVGhp
cyBoZWFkZXIgaXMgQlNEIGxpY2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9u
cyB0byBpbXBsZW1lbnQKKyAqIGNvbXBhdGlibGUgZHJpdmVycy9zZXJ2ZXJzLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiBJQk0gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJp
YnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMg
ZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIElCTSBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0gg
REFNQUdFLiAqLworLyoqCisgKiBUYWtlbiBhbmQgbW9kaWZpZWQgZnJvbSBMaW51eCBrZXJuZWwK
KyAqIGluY2x1ZGUvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKKyAqCisgKiBjb21taXQtaWQ6IGZh
YTliMzlmMGU5ZAorICovCisjaWZuZGVmIF9fUExBVF9EUlZfVklSVElPX05FVF9ICisjZGVmaW5l
IF9fUExBVF9EUlZfVklSVElPX05FVF9ICisjaW5jbHVkZSA8dWsvY29uZmlnLmg+CisjaW5jbHVk
ZSA8dWsvYXJjaC90eXBlcy5oPgorCisjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCisjaW5jbHVk
ZSA8dWsvbmV0ZGV2X2NvcmUuaD4KKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVRERVYgKi8KKwor
I2luY2x1ZGUgPHZpcnRpby92aXJ0aW9faWRzLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19j
b25maWcuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydGlvX3R5cGVzLmg+CisKKy8qIFRoZSBmZWF0
dXJlIGJpdG1hcCBmb3IgdmlydGlvIG5ldCAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1NVTQkw
CS8qIEhvc3QgaGFuZGxlcyBwa3RzIHcvIHBhcnRpYWwgY3N1bSAqLworI2RlZmluZSBWSVJUSU9f
TkVUX0ZfR1VFU1RfQ1NVTQkxCS8qIEd1ZXN0IGhhbmRsZXMgcGt0cyB3LyBwYXJ0aWFsIGNzdW0g
Ki8KKyNkZWZpbmUgVklSVElPX05FVF9GX0NUUkxfR1VFU1RfT0ZGTE9BRFMgMiAvKiBEeW5hbWlj
IG9mZmxvYWQgY29uZmlndXJhdGlvbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX01UVQkzCS8q
IEluaXRpYWwgTVRVIGFkdmljZSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfTUFDCTUJLyogSG9z
dCBoYXMgZ2l2ZW4gTUFDIGFkZHJlc3MuICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9HVUVTVF9U
U080CTcJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU092NCBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05F
VF9GX0dVRVNUX1RTTzYJOAkvKiBHdWVzdCBjYW4gaGFuZGxlIFRTT3Y2IGluLiAqLworI2RlZmlu
ZSBWSVJUSU9fTkVUX0ZfR1VFU1RfRUNOCTkJLyogR3Vlc3QgY2FuIGhhbmRsZSBUU09bNl0gdy8g
RUNOIGluLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VFU1RfVUZPCTEwCS8qIEd1ZXN0IGNh
biBoYW5kbGUgVUZPIGluLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfSE9TVF9UU080CTExCS8q
IEhvc3QgY2FuIGhhbmRsZSBUU092NCBpbi4gKi8KKyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1Rf
VFNPNgkxMgkvKiBIb3N0IGNhbiBoYW5kbGUgVFNPdjYgaW4uICovCisjZGVmaW5lIFZJUlRJT19O
RVRfRl9IT1NUX0VDTgkxMwkvKiBIb3N0IGNhbiBoYW5kbGUgVFNPWzZdIHcvIEVDTiBpbi4gKi8K
KyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1RfVUZPCTE0CS8qIEhvc3QgY2FuIGhhbmRsZSBVRk8g
aW4uICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9NUkdfUlhCVUYJMTUJLyogSG9zdCBjYW4gbWVy
Z2UgcmVjZWl2ZSBidWZmZXJzLiAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfU1RBVFVTCTE2CS8q
IHZpcnRpb19uZXRfY29uZmlnLnN0YXR1cyBhdmFpbGFibGUgKi8KKyNkZWZpbmUgVklSVElPX05F
VF9GX0NUUkxfVlEJMTcJLyogQ29udHJvbCBjaGFubmVsIGF2YWlsYWJsZSAqLworI2RlZmluZSBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWAkxOAkvKiBDb250cm9sIGNoYW5uZWwgUlggbW9kZSBzdXBwb3J0
ICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX1ZMQU4JMTkJLyogQ29udHJvbCBjaGFubmVs
IFZMQU4gZmlsdGVyaW5nICovCisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX1JYX0VYVFJBIDIw
CS8qIEV4dHJhIFJYIG1vZGUgY29udHJvbCBzdXBwb3J0ICovCisjZGVmaW5lIFZJUlRJT19ORVRf
Rl9HVUVTVF9BTk5PVU5DRSAyMQkvKiBHdWVzdCBjYW4gYW5ub3VuY2UgZGV2aWNlIG9uIHRoZQor
CQkJCQkgKiBuZXR3b3JrCisJCQkJCSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0ZfTVEJMjIJCS8q
IERldmljZSBzdXBwb3J0cyBSZWNlaXZlIEZsb3cKKwkJCQkJICogU3RlZXJpbmcKKwkJCQkJICov
CisjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX01BQ19BRERSIDIzCS8qIFNldCBNQUMgYWRkcmVz
cyAqLworCisjZGVmaW5lIFZJUlRJT19ORVRfRl9TUEVFRF9EVVBMRVggNjMJLyogRGV2aWNlIHNl
dCBsaW5rc3BlZWQgYW5kIGR1cGxleCAqLworCisjaWZuZGVmIFZJUlRJT19ORVRfTk9fTEVHQUNZ
CisjZGVmaW5lIFZJUlRJT19ORVRfRl9HU08JNgkvKiBIb3N0IGhhbmRsZXMgcGt0cyB3LyBhbnkg
R1NPIHR5cGUgKi8KKyNlbmRpZiAvKiBWSVJUSU9fTkVUX05PX0xFR0FDWSAqLworCisjZGVmaW5l
IFZJUlRJT19ORVRfU19MSU5LX1VQCTEJLyogTGluayBpcyB1cCAqLworI2RlZmluZSBWSVJUSU9f
TkVUX1NfQU5OT1VOQ0UJMgkvKiBBbm5vdW5jZW1lbnQgaXMgbmVlZGVkICovCisKK3N0cnVjdCB2
aXJ0aW9fbmV0X2NvbmZpZyB7CisJLyogVGhlIGNvbmZpZyBkZWZpbmluZyBtYWMgYWRkcmVzcyAo
aWYgVklSVElPX05FVF9GX01BQykgKi8KKwlfX3U4IG1hY1tVS19ORVRERVZfSFdBRERSX0xFTl07
CisJLyogU2VlIFZJUlRJT19ORVRfRl9TVEFUVVMgYW5kIFZJUlRJT19ORVRfU18qIGFib3ZlICov
CisJX191MTYgc3RhdHVzOworCS8qIE1heGltdW0gbnVtYmVyIG9mIGVhY2ggb2YgdHJhbnNtaXQg
YW5kIHJlY2VpdmUgcXVldWVzOworCSAqIHNlZSBWSVJUSU9fTkVUX0ZfTVEgYW5kIFZJUlRJT19O
RVRfQ1RSTF9NUS4KKwkgKiBMZWdhbCB2YWx1ZXMgYXJlIGJldHdlZW4gMSBhbmQgMHg4MDAwCisJ
ICovCisJX191MTYgbWF4X3ZpcnRxdWV1ZV9wYWlyczsKKwkvKiBEZWZhdWx0IG1heGltdW0gdHJh
bnNtaXQgdW5pdCBhZHZpY2UgKi8KKwlfX3UxNiBtdHU7CisJLyoKKwkgKiBzcGVlZCwgaW4gdW5p
dHMgb2YgMU1iLiBBbGwgdmFsdWVzIDAgdG8gSU5UX01BWCBhcmUgbGVnYWwuCisJICogQW55IG90
aGVyIHZhbHVlIHN0YW5kcyBmb3IgdW5rbm93bi4KKwkgKi8KKwlfX3UzMiBzcGVlZDsKKwkvKgor
CSAqIDB4MDAgLSBoYWxmIGR1cGxleAorCSAqIDB4MDEgLSBmdWxsIGR1cGxleAorCSAqIEFueSBv
dGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uCisJICovCisJX191OCBkdXBsZXg7Cit9IF9f
cGFja2VkOworCisvKiBUaGlzIGhlYWRlciBjb21lcyBmaXJzdCBpbiB0aGUgc2NhdHRlci1nYXRo
ZXIgbGlzdC4KKyAqIEZvciBsZWdhY3kgdmlydGlvLCBpZiBWSVJUSU9fRl9BTllfTEFZT1VUIGlz
IG5vdCBuZWdvdGlhdGVkLCBpdCBtdXN0CisgKiBiZSB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUg
c2NhdHRlci1nYXRoZXIgbGlzdC4gIElmIHlvdSBkb24ndAorICogc3BlY2lmeSBHU08gb3IgQ1NV
TSBmZWF0dXJlcywgeW91IGNhbiBzaW1wbHkgaWdub3JlIHRoZSBoZWFkZXIuCisgKi8KK3N0cnVj
dCB2aXJ0aW9fbmV0X2hkciB7CisjZGVmaW5lIFZJUlRJT19ORVRfSERSX0ZfTkVFRFNfQ1NVTSAx
ICAgLyogVXNlIGNzdW1fc3RhcnQsIGNzdW1fb2Zmc2V0ICovCisjZGVmaW5lIFZJUlRJT19ORVRf
SERSX0ZfREFUQV9WQUxJRCAyICAgLyogQ3N1bSBpcyB2YWxpZCAqLworCS8qIFNlZSBWSVJUSU9f
TkVUX0hEUl9GXyogKi8KKwlfX3U4IGZsYWdzOworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09f
Tk9ORSAgICAgMCAgIC8qIE5vdCBhIEdTTyBmcmFtZSAqLworI2RlZmluZSBWSVJUSU9fTkVUX0hE
Ul9HU09fVENQVjQgICAgMSAgIC8qIEdTTyBmcmFtZSwgSVB2NCBUQ1AgKFRTTykgKi8KKyNkZWZp
bmUgVklSVElPX05FVF9IRFJfR1NPX1VEUCAgICAgIDMgICAvKiBHU08gZnJhbWUsIElQdjQgVURQ
IChVRk8pICovCisjZGVmaW5lIFZJUlRJT19ORVRfSERSX0dTT19UQ1BWNiAgICA0ICAgLyogR1NP
IGZyYW1lLCBJUHY2IFRDUCAqLworI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fRUNOICAgICAg
MHg4MCAgICAvKiBUQ1AgaGFzIEVDTiBzZXQgKi8KKwkvKiBTZWUgVklSVElPX05FVF9IRFJfR1NP
XyogKi8KKwlfX3U4IGdzb190eXBlOworCV9fdmlydGlvX2xlMTYgaGRyX2xlbjsJLyogRXRoZXJu
ZXQgKyBJUCArIHRjcC91ZHAgaGRycyAqLworCV9fdmlydGlvX2xlMTYgZ3NvX3NpemU7CS8qIEJ5
dGVzIHRvIGFwcGVuZCB0byBoZHJfbGVuIHBlciBmcmFtZSAqLworCV9fdmlydGlvX2xlMTYgY3N1
bV9zdGFydDsgLyogUG9zaXRpb24gdG8gc3RhcnQgY2hlY2tzdW1taW5nIGZyb20gKi8KKwlfX3Zp
cnRpb19sZTE2IGNzdW1fb2Zmc2V0OyAvKiBPZmZzZXQgYWZ0ZXIgdGhhdCB0byBwbGFjZSBjaGVj
a3N1bSAqLworfTsKKworLyogVGhpcyBpcyB0aGUgdmVyc2lvbiBvZiB0aGUgaGVhZGVyIHRvIHVz
ZSB3aGVuIHRoZSBNUkdfUlhCVUYKKyAqIGZlYXR1cmUgaGFzIGJlZW4gbmVnb3RpYXRlZC4KKyAq
Lworc3RydWN0IHZpcnRpb19uZXRfaGRyX21yZ19yeGJ1ZiB7CisJc3RydWN0IHZpcnRpb19uZXRf
aGRyIGhkcjsKKwlfX3ZpcnRpb19sZTE2IG51bV9idWZmZXJzOwkvKiBOdW1iZXIgb2YgbWVyZ2Vk
IHJ4IGJ1ZmZlcnMgKi8KK307CisKKy8qCisgKiBDb250cm9sIHZpcnRxdWV1ZSBkYXRhIHN0cnVj
dHVyZXMKKyAqCisgKiBUaGUgY29udHJvbCB2aXJ0cXVldWUgZXhwZWN0cyBhIGhlYWRlciBpbiB0
aGUgZmlyc3Qgc2cgZW50cnkKKyAqIGFuZCBhbiBhY2svc3RhdHVzIHJlc3BvbnNlIGluIHRoZSBs
YXN0IGVudHJ5LiAgRGF0YSBmb3IgdGhlCisgKiBjb21tYW5kIGdvZXMgaW4gYmV0d2Vlbi4KKyAq
Lworc3RydWN0IHZpcnRpb19uZXRfY3RybF9oZHIgeworCV9fdTggY2xhc3M7CisJX191OCBjbWQ7
Cit9IF9fcGFja2VkOworCit0eXBlZGVmIF9fdTggdmlydGlvX25ldF9jdHJsX2FjazsKKworI2Rl
ZmluZSBWSVJUSU9fTkVUX09LICAgICAwCisjZGVmaW5lIFZJUlRJT19ORVRfRVJSICAgIDEKKwor
LyoKKyAqIENvbnRyb2wgdGhlIFJYIG1vZGUsIGllLiBwcm9taXN1Y291cywgYWxsbXVsdGksIGV0
Yy4uLgorICogQWxsIGNvbW1hbmRzIHJlcXVpcmUgYW4gIm91dCIgc2cgZW50cnkgY29udGFpbmlu
ZyBhIDEgYnl0ZQorICogc3RhdGUgdmFsdWUsIHplcm8gPSBkaXNhYmxlLCBub24temVybyA9IGVu
YWJsZS4gIENvbW1hbmRzCisgKiAwIGFuZCAxIGFyZSBzdXBwb3J0ZWQgd2l0aCB0aGUgVklSVElP
X05FVF9GX0NUUkxfUlggZmVhdHVyZS4KKyAqIENvbW1hbmRzIDItNSBhcmUgYWRkZWQgd2l0aCBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWF9FWFRSQS4KKyAqLworI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxf
UlggICAgMAorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX1BST01JU0MgICAgICAwCisgI2Rl
ZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfQUxMTVVMVEkgICAgIDEKKyAjZGVmaW5lIFZJUlRJT19O
RVRfQ1RSTF9SWF9BTExVTkkgICAgICAgMgorICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX05P
TVVMVEkgICAgICAzCisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9VTkkgICAgICAgIDQK
KyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9SWF9OT0JDQVNUICAgICAgNQorCisvKgorICogQ29u
dHJvbCB0aGUgTUFDCisgKgorICogVGhlIE1BQyBmaWx0ZXIgdGFibGUgaXMgbWFuYWdlZCBieSB0
aGUgaHlwZXJ2aXNvciwgdGhlIGd1ZXN0IHNob3VsZAorICogYXNzdW1lIHRoZSBzaXplIGlzIGlu
ZmluaXRlLiAgRmlsdGVyaW5nIHNob3VsZCBiZSBjb25zaWRlcmVkCisgKiBub24tcGVyZmVjdCwg
aWUuIGJhc2VkIG9uIGh5cGVydmlzb3IgcmVzb3VyY2VzLCB0aGUgZ3Vlc3QgbWF5CisgKiByZWNl
aXZlZCBwYWNrZXRzIGZyb20gc291cmNlcyBub3Qgc3BlY2lmaWVkIGluIHRoZSBmaWx0ZXIgbGlz
dC4KKyAqCisgKiBJbiBhZGRpdGlvbiB0byB0aGUgY2xhc3MvY21kIGhlYWRlciwgdGhlIFRBQkxF
X1NFVCBjb21tYW5kIHJlcXVpcmVzCisgKiB0d28gb3V0IHNjYXR0ZXJsaXN0cy4gIEVhY2ggY29u
dGFpbnMgYSA0IGJ5dGUgY291bnQgb2YgZW50cmllcyBmb2xsb3dlZAorICogYnkgYSBjb25jYXRl
bmF0ZWQgYnl0ZSBzdHJlYW0gb2YgdGhlIEVUSF9BTEVOIE1BQyBhZGRyZXNzZXMuICBUaGUKKyAq
IGZpcnN0IHNnIGxpc3QgY29udGFpbnMgdW5pY2FzdCBhZGRyZXNzZXMsIHRoZSBzZWNvbmQgaXMg
Zm9yIG11bHRpY2FzdC4KKyAqIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBwcmVzZW50IGlmIHRoZSBW
SVJUSU9fTkVUX0ZfQ1RSTF9SWCBmZWF0dXJlCisgKiBpcyBhdmFpbGFibGUuCisgKgorICogVGhl
IEFERFJfU0VUIGNvbW1hbmQgcmVxdWVzdHMgb25lIG91dCBzY2F0dGVybGlzdCwgaXQgY29udGFp
bnMgYQorICogNiBieXRlcyBNQUMgYWRkcmVzcy4gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHByZXNl
bnQgaWYgdGhlCisgKiBWSVJUSU9fTkVUX0ZfQ1RSTF9NQUNfQUREUiBmZWF0dXJlIGlzIGF2YWls
YWJsZS4KKyAqLworc3RydWN0IHZpcnRpb19uZXRfY3RybF9tYWMgeworCV9fdmlydGlvX2xlMzIg
ZW50cmllczsKKwlfX3U4IG1hY3NbXVtVS19ORVRERVZfSFdBRERSX0xFTl07Cit9IF9fcGFja2Vk
OworCisjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NQUMgICAgMQorICNkZWZpbmUgVklSVElPX05F
VF9DVFJMX01BQ19UQUJMRV9TRVQgICAgICAgIDAKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9N
QUNfQUREUl9TRVQgICAgICAgICAxCisKKy8qCisgKiBDb250cm9sIFZMQU4gZmlsdGVyaW5nCisg
KgorICogVGhlIFZMQU4gZmlsdGVyIHRhYmxlIGlzIGNvbnRyb2xsZWQgdmlhIGEgc2ltcGxlIEFE
RC9ERUwgaW50ZXJmYWNlLgorICogVkxBTiBJRHMgbm90IGFkZGVkIG1heSBiZSBmaWx0ZXJkIGJ5
IHRoZSBoeXBlcnZpc29yLiAgRGVsIGlzIHRoZQorICogb3Bwb3NpdGUgb2YgYWRkLiAgQm90aCBj
b21tYW5kcyBleHBlY3QgYW4gb3V0IGVudHJ5IGNvbnRhaW5pbmcgYSAyCisgKiBieXRlIFZMQU4g
SUQuICBWTEFOIGZpbHRlcnRpbmcgaXMgYXZhaWxhYmxlIHdpdGggdGhlCisgKiBWSVJUSU9fTkVU
X0ZfQ1RSTF9WTEFOIGZlYXR1cmUgYml0LgorICovCisjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9W
TEFOICAgICAgIDIKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9WTEFOX0FERCAgICAgICAgICAg
ICAwCisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfVkxBTl9ERUwgICAgICAgICAgICAgMQorCisv
KgorICogQ29udHJvbCBsaW5rIGFubm91bmNlIGFja25vd2xlZGdtZW50CisgKgorICogVGhlIGNv
bW1hbmQgVklSVElPX05FVF9DVFJMX0FOTk9VTkNFX0FDSyBpcyB1c2VkIHRvIGluZGljYXRlIHRo
YXQKKyAqIGRyaXZlciBoYXMgcmVjZXZpZWQgdGhlIG5vdGlmaWNhdGlvbjsgZGV2aWNlIHdvdWxk
IGNsZWFyIHRoZQorICogVklSVElPX05FVF9TX0FOTk9VTkNFIGJpdCBpbiB0aGUgc3RhdHVzIGZp
ZWxkIGFmdGVyIGl0IHJlY2VpdmVzCisgKiB0aGlzIGNvbW1hbmQuCisgKi8KKyNkZWZpbmUgVklS
VElPX05FVF9DVFJMX0FOTk9VTkNFICAgICAgIDMKKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9B
Tk5PVU5DRV9BQ0sgICAgICAgICAwCisKKy8qCisgKiBDb250cm9sIFJlY2VpdmUgRmxvdyBTdGVl
cmluZworICoKKyAqIFRoZSBjb21tYW5kIFZJUlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19TRVQK
KyAqIGVuYWJsZXMgUmVjZWl2ZSBGbG93IFN0ZWVyaW5nLCBzcGVjaWZ5aW5nIHRoZSBudW1iZXIg
b2YgdGhlIHRyYW5zbWl0IGFuZAorICogcmVjZWl2ZSBxdWV1ZXMgdGhhdCB3aWxsIGJlIHVzZWQu
IEFmdGVyIHRoZSBjb21tYW5kIGlzIGNvbnN1bWVkIGFuZCBhY2tlZCBieQorICogdGhlIGRldmlj
ZSwgdGhlIGRldmljZSB3aWxsIG5vdCBzdGVlciBuZXcgcGFja2V0cyBvbiByZWNlaXZlIHZpcnRx
dWV1ZXMKKyAqIG90aGVyIHRoYW4gc3BlY2lmaWVkIG5vciByZWFkIGZyb20gdHJhbnNtaXQgdmly
dHF1ZXVlcyBvdGhlciB0aGFuIHNwZWNpZmllZC4KKyAqIEFjY29yZGluZ2x5LCBkcml2ZXIgc2hv
dWxkIG5vdCB0cmFuc21pdCBuZXcgcGFja2V0cyAgb24gdmlydHF1ZXVlcyBvdGhlciB0aGFuCisg
KiBzcGVjaWZpZWQuCisgKi8KK3N0cnVjdCB2aXJ0aW9fbmV0X2N0cmxfbXEgeworCV9fdmlydGlv
X2xlMTYgdmlydHF1ZXVlX3BhaXJzOworfTsKKworI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVEg
ICA0CisgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfU0VUICAgICAgICAwCisg
I2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfTUlOICAgICAgICAxCisgI2RlZmlu
ZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfTUFYICAgICAgICAweDgwMDAKKworLyoKKyAq
IENvbnRyb2wgbmV0d29yayBvZmZsb2FkcworICoKKyAqIFJlY29uZmlndXJlcyB0aGUgbmV0d29y
ayBvZmZsb2FkcyB0aGF0IEd1ZXN0IGNhbiBoYW5kbGUuCisgKgorICogQXZhaWxhYmxlIHdpdGgg
dGhlIFZJUlRJT19ORVRfRl9DVFJMX0dVRVNUX09GRkxPQURTIGZlYXR1cmUgYml0LgorICoKKyAq
IENvbW1hbmQgZGF0YSBmb3JtYXQgbWF0Y2hlcyB0aGUgZmVhdHVyZSBiaXQgbWFzayBleGFjdGx5
LgorICoKKyAqIFNlZSBWSVJUSU9fTkVUX0ZfR1VFU1RfKiBmb3IgdGhlIGxpc3Qgb2Ygb2ZmbG9h
ZHMKKyAqIHRoYXQgY2FuIGJlIGVuYWJsZWQvZGlzYWJsZWQuCisgKi8KKyNkZWZpbmUgVklSVElP
X05FVF9DVFJMX0dVRVNUX09GRkxPQURTICAgNQorI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfR1VF
U1RfT0ZGTE9BRFNfU0VUICAgICAgICAwCisKKyNlbmRpZiAvKiBfX1BMQVRfQ01OX1ZJUlRJT19O
RVRfSCAqLwpkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9w
bGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40MWJhODYwCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fbmV0LmMKQEAgLTAsMCArMSw0MTcgQEAKKy8qCisgKiBBdXRob3JzOiBEYW4gV2ls
bGlhbXMKKyAqICAgICAgICAgIE1hcnRpbiBMdWNpbmEKKyAqICAgICAgICAgIFJpY2FyZG8gS29s
bGVyCisgKiAgICAgICAgICBSYXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWls
LmNvbT4KKyAqICAgICAgICAgIFNoYXJhbiBTYW50aGFuYW0KKyAqCisgKiBDb3B5cmlnaHQgKGMp
IDIwMTUtMjAxNyBJQk0KKyAqIENvcHlyaWdodCAoYykgMjAxNi0yMDE3IERvY2tlciwgSW5jLgor
ICogQ29weXJpZ2h0IChjKSAyMDE4LCBORUMgRXVyb3BlIEx0ZC4sIE5FQyBDb3Jwb3JhdGlvbgor
ICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRl
IHRoaXMgc29mdHdhcmUKKyAqIGZvciBhbnkgcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlz
IGhlcmVieSBncmFudGVkLCBwcm92aWRlZAorICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5v
dGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIKKyAqIGluIGFsbCBjb3BpZXMu
CisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1Ig
RElTQ0xBSU1TIEFMTAorICogV0FSUkFOVElFUyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJF
IElOQ0xVRElORyBBTEwgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQorICogQVVUSE9SIEJFIExJQUJMRSBG
T1IgQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgT1IgQU5ZIERBTUFHRVMgV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTCisgKiBP
RiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1Qs
CisgKiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0Yg
T1IgSU4KKyAqIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMg
U09GVFdBUkUuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+
CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dWsvcHJpbnQuaD4KKyNpbmNsdWRlIDx1
ay9hc3NlcnQuaD4KKyNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+CisjaW5jbHVkZSA8dWsvc2ds
aXN0Lmg+CisjaW5jbHVkZSA8dWsvYXJjaC90eXBlcy5oPgorI2luY2x1ZGUgPHVrL2FyY2gvbGlt
aXRzLmg+CisjaW5jbHVkZSA8dWsvbmV0YnVmLmg+CisjaW5jbHVkZSA8dWsvbmV0ZGV2Lmg+Cisj
aW5jbHVkZSA8dWsvbmV0ZGV2X2NvcmUuaD4KKyNpbmNsdWRlIDx1ay9uZXRkZXZfZHJpdmVyLmg+
CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19idXMuaD4KKyNpbmNsdWRlIDx2aXJ0aW8vdmlydHF1
ZXVlLmg+CisjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19uZXQuaD4KKworLyoqCisgKiBWSVJUSU9f
UEtUX0JVRkZFUl9MRU4gPSBWSVJUSU9fTkVUX0hEUiArIEVUSF9IRFIgKyBFVEhfUEtUX1BBWUxP
QURfTEVOCisgKiBWSVJUSU9fTkVUX0hEUjogMTAgYnl0ZXMgaW4gbGVuZ3RoIGluIGxlZ2FjeSBt
b2RlICsgMiBieXRlIG9mIHBhZGRlZCBkYXRhLgorICoJCSAgIDEyIGJ5dGVzIGluIGxlbmd0aCBp
biBtb2Rlcm4gbW9kZS4KKyAqLworI2RlZmluZSBWSVJUSU9fSERSX0xFTiAgICAgICAgICAxMgor
I2RlZmluZSBFVEhfSERSX0xFTiAgICAgICAgICAgICAxNAorI2RlZmluZSBFVEhfUEtUX1BBWUxP
QURfTEVOICAgMTUwMAorI2RlZmluZSBWSVJUSU9fUEtUX0JVRkZFUl9MRU4gKChFVEhfUEtUX1BB
WUxPQURfTEVOKQlcCisJCQkgICAgICAgKyAoRVRIX0hEUl9MRU4pCQlcCisJCQkgICAgICAgKyAo
VklSVElPX0hEUl9MRU4pKQorCisjZGVmaW5lIERSSVZFUl9OQU1FICAgICAgICAgICAidmlydGlv
LW5ldCIKKworCisjZGVmaW5lICBWVE5FVF9SWF9IRUFERVJfUEFEICg0KQorI2RlZmluZSAgVlRO
RVRfSU5UUl9FTiAgICgxIDw8IDApCisjZGVmaW5lICBWVE5FVF9JTlRSX0VOX01BU0sgICAoMSkK
KyNkZWZpbmUgIFZUTkVUX0lOVFJfVVNSX0VOICAgKDEgPDwgMSkKKyNkZWZpbmUgIFZUTkVUX0lO
VFJfVVNSX0VOX01BU0sgICAoMikKKworLyoqCisgKiBEZWZpbmUgbWF4IHBvc3NpYmxlIGZyYWdt
ZW50cyBmb3IgdGhlIG5ldHdvcmsgcGFja2V0cy4KKyAqLworI2RlZmluZSBORVRfTUFYX0ZSQUdN
RU5UUyAgICAoKF9fVTE2X01BWCA+PiBfX1BBR0VfU0hJRlQpICsgMikKKworI2RlZmluZSB0b192
aXJ0aW9uZXRkZXYobmRldikgXAorCV9fY29udGFpbmVyb2YobmRldiwgc3RydWN0IHZpcnRpb19u
ZXRfZGV2aWNlLCBuZXRkZXYpCisKKyNkZWZpbmUgVklSVElPX05FVF9EUlZfRkVBVFVSRVMoZmVh
dHVyZXMpICAgICAgICAgICBcCisJKFZJUlRJT19GRUFUVVJFU19VUERBVEUoZmVhdHVyZXMsIFZJ
UlRJT19ORVRfRl9NQUMpKQorCit0eXBlZGVmIGVudW0geworCVZORVRfUlgsCisJVk5FVF9UWCwK
K30gdmlydHFfdHlwZV90OworCisvKioKKyAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVz
ZW50IHRoZSB0cmFuc21pdCBxdWV1ZS4KKyAqLworc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSB7
CisJLyogVGhlIHZpcnRxdWV1ZSByZWZlcmVuY2UgKi8KKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cTsK
KwkvKiBUaGUgaHcgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyog
VGhlIHVzZXIgcXVldWUgaWRlbnRpZmllciAqLworCXVpbnQxNl90IGxxdWV1ZV9pZDsKKwkvKiBU
aGUgbnIuIG9mIGRlc2NyaXB0b3IgbGltaXQgKi8KKwl1aW50MTZfdCBtYXhfbmJfZGVzYzsKKwkv
KiBUaGUgbnIuIG9mIGRlc2NyaXB0b3IgdXNlciBjb25maWd1cmVkICovCisJdWludDE2X3QgbmJf
ZGVzYzsKKwkvKiBUaGUgZmxhZyB0byBpbnRlcnJ1cHQgb24gdGhlIHRyYW5zbWl0IHF1ZXVlICov
CisJdWludDhfdCBpbnRyX2VuYWJsZWQ7CisJLyogUmVmZXJlbmNlIHRvIHRoZSB1a19uZXRkZXYg
Ki8KKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpuZGV2OworCS8qIFRoZSBzY2F0dGVyIGxpc3QgYW5kIGl0
cyBhc3NvY2lhdGVkIGZyYWdlbWVudHMgKi8KKwlzdHJ1Y3QgdWtfc2dsaXN0IHNnOworCXN0cnVj
dCB1a19zZ2xpc3Rfc2VnIHNnc2Vnc1tORVRfTUFYX0ZSQUdNRU5UU107Cit9OworCisvKioKKyAq
IEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50IHRoZSByZWNlaXZlIHF1ZXVlLgorICov
CitzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlIHsKKwkvKiBUaGUgdmlydHF1ZXVlIHJlZmVyZW5j
ZSAqLworCXN0cnVjdCB2aXJ0cXVldWUgKnZxOworCS8qIFRoZSB2aXJ0cXVldWUgaHcgaWRlbnRp
ZmllciAqLworCXVpbnQxNl90IGh3dnFfaWQ7CisJLyogVGhlIGxpYnVrbmV0IHF1ZXVlIGlkZW50
aWZpZXIgKi8KKwl1aW50MTZfdCBscXVldWVfaWQ7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlwdG9y
IGxpbWl0ICovCisJdWludDE2X3QgbWF4X25iX2Rlc2M7CisJLyogVGhlIG5yLiBvZiBkZXNjcmlw
dG9yIHVzZXIgY29uZmlndXJlZCAqLworCXVpbnQxNl90IG5iX2Rlc2M7CisJLyogVGhlIGZsYWcg
dG8gaW50ZXJydXB0IG9uIHRoZSB0cmFuc21pdCBxdWV1ZSAqLworCXVpbnQ4X3QgaW50cl9lbmFi
bGVkOworCS8qIFJlZmVyZW5jZSB0byB0aGUgdWtfbmV0ZGV2ICovCisJc3RydWN0IHVrX25ldGRl
diAqbmRldjsKKwkvKiBUaGUgc2NhdHRlciBsaXN0IGFuZCBpdHMgYXNzb2NpYXRlZCBmcmFnZW1l
bnRzICovCisJc3RydWN0IHVrX3NnbGlzdCBzZzsKKwlzdHJ1Y3QgdWtfc2dsaXN0X3NlZyBzZ3Nl
Z3NbTkVUX01BWF9GUkFHTUVOVFNdOworfTsKKworc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlIHsK
KwkvKiBWaXJ0aW8gRGV2aWNlICovCisJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7CisJLyogTGlz
dCBvZiBhbGwgdGhlIHZpcnRxdWV1ZSBpbiB0aGUgcGNpIGRldmljZSAqLworCXN0cnVjdCB2aXJ0
cXVldWUgKnZxOworCXN0cnVjdCB1a19uZXRkZXYgbmV0ZGV2OworCS8qIENvdW50IG9mIHRoZSBu
dW1iZXIgb2YgdGhlIHZpcnRxdWV1ZXMgKi8KKwlfX3UxNiBtYXhfdnF1ZXVlX3BhaXJzOworCS8q
IExpc3Qgb2YgdGhlIFJ4L1R4IHF1ZXVlICovCisJX191MTYgICAgcnhfdnF1ZXVlX2NudDsKKwlz
dHJ1Y3QgICB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cXM7CisJX191MTYgICAgdHhfdnF1ZXVlX2Nu
dDsKKwlzdHJ1Y3QgICB1a19uZXRkZXZfdHhfcXVldWUgKnR4cXM7CisJLyogVGhlIG5ldGRldmlj
ZSBpZGVudGlmaWVyICovCisJX191MTYgdWlkOworCS8qIFRoZSBtYXggbXR1ICovCisJX191MTYg
bWF4X210dTsKKwkvKiBUaGUgbXR1ICovCisJX191MTYgbXR1OworCS8qIFRoZSBodyBhZGRyZXNz
IG9mIHRoZSBuZXRkZXZpY2UgKi8KKwlzdHJ1Y3QgdWtfaHdhZGRyIGh3X2FkZHI7CisJLyogIE5l
dGRldiBzdGF0ZSAqLworCV9fdTggc3RhdGU7CisJLyogUlggcHJvbWlzY3VvdXMgbW9kZS4gKi8K
KwlfX3U4IHByb21pc2MgOiAxOworfTsKKworLyoqCisgKiBTdGF0aWMgZnVuY3Rpb24gZGVjbGFy
YXRpb25zLgorICovCitzdGF0aWMgaW50IHZpcnRpb19uZXRfZHJ2X2luaXQoc3RydWN0IHVrX2Fs
bG9jICpkcnZfYWxsb2NhdG9yKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldF9hZGRfZGV2KHN0cnVj
dCB2aXJ0aW9fZGV2ICp2ZGV2KTsKK3N0YXRpYyB2b2lkIHZpcnRpb19uZXRfaW5mb19nZXQoc3Ry
dWN0IHVrX25ldGRldiAqZGV2LAorCQkJCXN0cnVjdCB1a19uZXRkZXZfaW5mbyAqZGV2X2luZm8p
Oworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZp
cnRpb19uZXRfZGV2aWNlICp2bmRldik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmln
dXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9j
b25mICpjb25mKTsKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0
ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50MTZfdCBx
dWV1ZV9pZCwKKwkJCQkJdWludDE2X3QgbmJfZGVzYywKKwkJCQkJc3RydWN0IHVrX25ldGRldl90
eHF1ZXVlX2NvbmYgKmNvbmYpOworc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnZp
cnRpb19uZXRkZXZfcnhfcXVldWVfc2V0dXAoCisJCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sCisJ
CQkJCXVpbnQxNl90IHF1ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAorCQkJCQlzdHJ1Y3QgdWtf
bmV0ZGV2X3J4cXVldWVfY29uZiAqY29uZik7CitzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50
cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUpOworc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxl
KHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpxdWV1ZSk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKKwkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVj
dihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICpxdWV1ZSwKKwkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCisJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKKwkJCSAgICAgIHVpbnQxNl90ICpmaWxsdXBfY291
bnQpOworc3RhdGljIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnZpcnRpb19uZXRfbWFjX2dldChz
dHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3Ry
dWN0IHVrX25ldGRldiAqbik7CitzdGF0aWMgdW5zaWduZWQgdmlydGlvX25ldF9wcm9taXNjX2dl
dChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKTsKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5m
b19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwKKwkJCQkgICAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKK3N0YXRpYyBpbnQgdmlydGlvX25l
dGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LCBfX3UxNiBxdWV1ZV9pZCwK
KwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsKKworLyoqCisg
KiBTdGF0aWMgZ2xvYmFsIGNvbnN0YW50cworICovCitzdGF0aWMgY29uc3QgY2hhciAqZHJ2X25h
bWUgPSBEUklWRVJfTkFNRTsKK3N0YXRpYyBzdHJ1Y3QgdWtfYWxsb2MgKmE7CisKKy8qKgorICog
VGhlIERyaXZlciBtZXRob2QgaW1wbGVtZW50YXRpb24uCisgKi8KK3N0YXRpYyBpbnQgdmlydGlv
X25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCSAgICAgIHN0cnVjdCB1a19u
ZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQor
eworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2KTsKKwlVS19BU1NFUlQocGt0ICYmIHF1
ZXVlKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yo
c3RydWN0IHVrX25ldGRldiAqZGV2IF9fdW51c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUsCisJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0IF9fdW51
c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqZmlsbHVwW10sCisJCQkgICAgICB1aW50
MTZfdCAqZmlsbHVwX2NvdW50KQoreworCWludCByYyA9IDA7CisKKwlVS19BU1NFUlQoZGV2ICYm
IHF1ZXVlKTsKKwlVS19BU1NFUlQoIWZpbGx1cCB8fCAoZmlsbHVwICYmICpmaWxsdXBfY291bnQg
PiAwKSk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKworCXJldHVybiByeHE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1
ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAorCQkJCXN0cnVjdCB1a19uZXRkZXYg
Km4sIHVpbnQxNl90IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191
bnVzZWQsCisJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQp
Cit7CisJc3RydWN0IHVrX25ldGRldl90eF9xdWV1ZSAqdHhxID0gTlVMTDsKKworCVVLX0FTU0VS
VChuKTsKKwlyZXR1cm4gdHhxOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2lu
Zm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKKwkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBf
X3VudXNlZCwKKwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQor
eworCVVLX0FTU0VSVChkZXYpOworCVVLX0FTU0VSVChxaW5mbyk7CisJcmV0dXJuIDA7Cit9CisK
K3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAq
ZGV2LAorCQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAorCQkJCSAgICAgIHN0cnVj
dCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCit7CisJVUtfQVNTRVJUKGRldik7CisJVUtf
QVNTRVJUKHFpbmZvKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVuc2lnbmVkIHZpcnRpb19u
ZXRfcHJvbWlzY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJ
cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0aW9fbmV0
X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJu
IE5VTEw7Cit9CisKK3N0YXRpYyBfX3UxNiB2aXJ0aW9fbmV0X210dV9nZXQoc3RydWN0IHVrX25l
dGRldiAqbikKK3sKKwlVS19BU1NFUlQobik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQg
dmlydGlvX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKKwkJCQkgICBjb25z
dCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYgX191bnVzZWQpCit7CisJaW50IHJjID0gMDsK
KworCVVLX0FTU0VSVChuKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB2aXJ0aW9f
bmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKK3sKKwlpbnQgcmMgPSAwOworCisJ
VUtfQVNTRVJUKG4pOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRf
cnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCisJCQkJICAgICAgc3RydWN0IHVr
X25ldGRldl9yeF9xdWV1ZSAqcXVldWUgX191bnVzZWQpCit7CisJVUtfQVNTRVJUKG4pOworCXJl
dHVybiAwOworfQorCitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0X2luZm9fZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKmRldiwKKwkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQoreworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CisKKwlVS19BU1NFUlQoZGV2ICYmIGRldl9p
bmZvKTsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihkZXYpOworCisJZGV2X2luZm8tPm1heF9y
eF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKKwlkZXZfaW5mby0+bWF4X3R4X3F1
ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOworfQorCitzdGF0aWMgaW50IHZpcnRpb19u
ZXRfc3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKK3sKKwlVS19BU1NFUlQobiAhPSBOVUxMKTsK
KwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRkZXZfZmVhdHVy
ZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldikKK3sKKwl2bmRldi0+dmRldi0+
ZmVhdHVyZXMgPSAwOworCS8qIFNldHRpbmcgdGhlIGZlYXR1cmUgdGhlIGRyaXZlciBzdXBwb3J0
ICovCisJVklSVElPX05FVF9EUlZfRkVBVFVSRVModm5kZXYtPnZkZXYtPmZlYXR1cmVzKTsKKwkv
KioKKwkgKiBUT0RPOgorCSAqIEFkZGluZyBtdWx0aXF1ZXVlIHN1cHBvcnQgZm9yIHRoZSB2aXJ0
aW8gbmV0IGRyaXZlci4KKwkgKi8KKwl2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycyA9IDE7Cit9CisK
K3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X29wcyB2aXJ0aW9fbmV0ZGV2X29wcyA9IHsK
KwkuY29uZmlndXJlID0gdmlydGlvX25ldGRldl9jb25maWd1cmUsCisJLnJ4cV9jb25maWd1cmUg
PSB2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwLAorCS50eHFfY29uZmlndXJlID0gdmlydGlv
X25ldGRldl90eF9xdWV1ZV9zZXR1cCwKKwkuc3RhcnQgPSB2aXJ0aW9fbmV0X3N0YXJ0LAorCS5y
eHFfaW50cl9lbmFibGUgPSB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlLAorCS5yeHFfaW50cl9k
aXNhYmxlID0gdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUsCisJLmluZm9fZ2V0ID0gdmlydGlv
X25ldF9pbmZvX2dldCwKKwkucHJvbWlzY3VvdXNfZ2V0ID0gdmlydGlvX25ldF9wcm9taXNjX2dl
dCwKKwkuaHdhZGRyX2dldCA9IHZpcnRpb19uZXRfbWFjX2dldCwKKwkubXR1X2dldCA9IHZpcnRp
b19uZXRfbXR1X2dldCwKKwkudHhxX2luZm9fZ2V0ID0gdmlydGlvX25ldGRldl90eHFfaW5mb19n
ZXQsCisJLnJ4cV9pbmZvX2dldCA9IHZpcnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0LAorfTsKKwor
c3RhdGljIGludCB2aXJ0aW9fbmV0X2FkZF9kZXYoc3RydWN0IHZpcnRpb19kZXYgKnZkZXYpCit7
CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldjsKKwlpbnQgcmMgPSAwOworCisJVUtf
QVNTRVJUKHZkZXYgIT0gTlVMTCk7CisKKwl2bmRldiA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZu
ZGV2KSk7CisJaWYgKCF2bmRldikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyX291dDsK
Kwl9CisJdm5kZXYtPnZkZXYgPSB2ZGV2OworCS8qIHJlZ2lzdGVyIG5ldGRldiAqLworCXZuZGV2
LT5uZXRkZXYucnhfb25lID0gdmlydGlvX25ldGRldl9yZWN2OworCXZuZGV2LT5uZXRkZXYudHhf
b25lID0gdmlydGlvX25ldGRldl94bWl0OworCXZuZGV2LT5uZXRkZXYub3BzID0gJnZpcnRpb19u
ZXRkZXZfb3BzOworCisJcmMgPSB1a19uZXRkZXZfZHJ2X3JlZ2lzdGVyKCZ2bmRldi0+bmV0ZGV2
LCBhLCBkcnZfbmFtZSk7CisJaWYgKHJjIDwgMCkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBy
ZWdpc3RlciB2aXJ0aW8tbmV0IGRldmljZSB3aXRoIGxpYnVrbmV0XG4iKTsKKwkJZ290byBlcnJf
bmV0ZGV2X2RhdGE7CisJfQorCXZuZGV2LT51aWQgPSByYzsKKwlyYyA9IDA7CisJdm5kZXYtPm1h
eF9tdHUgPSBFVEhfUEtUX1BBWUxPQURfTEVOOworCXZuZGV2LT5tdHUgPSB2bmRldi0+bWF4X210
dTsKKwl2bmRldi0+cHJvbWlzYyA9IDA7CisJdmlydGlvX25ldGRldl9mZWF0dXJlX3NldCh2bmRl
dik7CisJdWtfcHJfaW5mbygidmlydGlvLW5ldCBkZXZpY2UgcmVnaXN0ZXJlZCB3aXRoIGxpYnVr
bmV0XG4iKTsKKworZXhpdDoKKwlyZXR1cm4gcmM7CitlcnJfbmV0ZGV2X2RhdGE6CisJdWtfZnJl
ZShhLCB2bmRldik7CitlcnJfb3V0OgorCWdvdG8gZXhpdDsKK30KKworc3RhdGljIGludCB2aXJ0
aW9fbmV0X2Rydl9pbml0KHN0cnVjdCB1a19hbGxvYyAqZHJ2X2FsbG9jYXRvcikKK3sKKwkvKiBk
cml2ZXIgaW5pdGlhbGl6YXRpb24gKi8KKwlpZiAoIWRydl9hbGxvY2F0b3IpCisJCXJldHVybiAt
RUlOVkFMOworCisJYSA9IGRydl9hbGxvY2F0b3I7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBj
b25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCB2bmV0X2Rldl9pZFtdID0geworCXtWSVJUSU9fSURf
TkVUfSwKKwl7VklSVElPX0lEX0lOVkFMSUR9IC8qIExpc3QgVGVybWluYXRvciAqLworfTsKKwor
c3RhdGljIHN0cnVjdCB2aXJ0aW9fZHJpdmVyIHZuZXRfZHJ2ID0geworCS5kZXZfaWRzID0gdm5l
dF9kZXZfaWQsCisJLmluaXQgICAgPSB2aXJ0aW9fbmV0X2Rydl9pbml0LAorCS5hZGRfZGV2ID0g
dmlydGlvX25ldF9hZGRfZGV2Cit9OworVklSVElPX0JVU19SRUdJU1RFUl9EUklWRVIoJnZuZXRf
ZHJ2KTsKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL0NvbmZpZy51ayBiL3BsYXQva3ZtL0NvbmZpZy51
awppbmRleCAxM2U1NTc1Li5mYjM2NzdhIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9Db25maWcudWsK
KysrIGIvcGxhdC9rdm0vQ29uZmlnLnVrCkBAIC03MSw1ICs3MSwxMyBAQCBjb25maWcgVklSVElP
X1BDSQogICAgICAgIGhlbHAKICAgICAgICAgICAgICAgIFN1cHBvcnQgdmlydGlvIGRldmljZXMg
b24gUENJIGJ1cwogCitjb25maWcgVklSVElPX05FVAorICAgICAgIGJvb2wgIlZpcnRpbyBOZXQg
ZGV2aWNlIgorICAgICAgIGRlZmF1bHQgbgorICAgICAgIGRlcGVuZHMgb24gTElCVUtORVRERVYK
KyAgICAgICBzZWxlY3QgVklSVElPCisgICAgICAgc2VsZWN0IExJQlVLU0dMSVNUCisgICAgICAg
aGVscAorICAgICAgICAgICAgICBWaXJ0dWFsIG5ldHdvcmsgZHJpdmVyLgogZW5kbWVudQogZW5k
aWYKZGlmZiAtLWdpdCBhL3BsYXQva3ZtL01ha2VmaWxlLnVrIGIvcGxhdC9rdm0vTWFrZWZpbGUu
dWsKaW5kZXggY2NjODMxOS4uMWY5YzVkYyAxMDA2NDQKLS0tIGEvcGxhdC9rdm0vTWFrZWZpbGUu
dWsKKysrIGIvcGxhdC9rdm0vTWFrZWZpbGUudWsKQEAgLTk2LDMgKzk2LDUgQEAgTElCS1ZNVklS
VElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCiAJCQkJCQkJJChVS19QTEFUX0RSSVZF
UlNfQkFTRSkvdmlydGlvL3ZpcnRpb19yaW5nLmMKIExJQktWTVZJUlRJT19TUkNTLSQoQ09ORklH
X1ZJUlRJT19QQ0kpICs9XAogCQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92
aXJ0aW9fcGNpLmMKK0xJQktWTVZJUlRJT19TUkNTLSQoQ09ORklHX1ZJUlRJT19ORVQpICs9XAor
CQkJCQkJCSQoVUtfUExBVF9EUklWRVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fbmV0LmMKLS0gCjIu
Ny40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:15 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHP-000858-5C; Thu, 25 Oct 2018 09:50:15 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHN-00084u-KS
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:13 +0000
X-Inumbo-ID: 93bc5f6e-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 93bc5f6e-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:51:43 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 3F3A5F2017;
 Thu, 25 Oct 2018 11:50:11 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id cgONvG7CNrI0; Thu, 25 Oct 2018 11:50:11 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 1866FF2010;
 Thu, 25 Oct 2018 11:50:07 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:06 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:47 +0200
Message-ID: <1540460993-30344-3-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 2/8] plat/drivers: Configure
 virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBwcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gY2FsbGJhY2tzIHRvIGNvbmZp
Z3VyZSB0aGUKdmlydGlvIGRldmljZSBmcm9tIGxpYnVrbmV0CgpTaWduZWQtb2ZmLWJ5OiBTaGFy
YW4gU2FudGhhbmFtIDxzaGFyYW4uc2FudGhhbmFtQG5lY2xhYi5ldT4KU2lnbmVkLW9mZi1ieTog
UmF6dmFuIENvam9jYXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+ClJldmlld2VkLWJ5
OiBTaW1vbiBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KLS0tCiBwbGF0L2RyaXZl
cnMvdmlydGlvL3ZpcnRpb19uZXQuYyB8IDE4MSArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCAxNzcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3Bs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDQxYmE4NjAuLjA2OWY1MWYgMTAw
NjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC0xNjEsNiArMTYxLDkgQEAgc3RhdGljIHZvaWQg
dmlydGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiBzdGF0aWMgaW5saW5l
IHZvaWQgdmlydGlvX25ldGRldl9mZWF0dXJlX3NldChzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2Ug
KnZuZGV2KTsKIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25l
dGRldiAqbiwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpOworc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4dHhfYWxsb2Moc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICp2bmRldiwKKwkJCQkgICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mKTsKK3N0
YXRpYyBpbnQgdmlydGlvX25ldGRldl9mZWF0dXJlX25lZ290aWF0ZShzdHJ1Y3QgdmlydGlvX25l
dF9kZXZpY2UgKnZuZGV2KTsKIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0
aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAogCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLCB1aW50
MTZfdCBxdWV1ZV9pZCwKIAkJCQkJdWludDE2X3QgbmJfZGVzYywKQEAgLTI2NywzMCArMjcwLDIw
MCBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRk
ZXYgKmRldiwKIAogc3RhdGljIHVuc2lnbmVkIHZpcnRpb19uZXRfcHJvbWlzY19nZXQoc3RydWN0
IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKmQ7CisKIAlVS19B
U1NFUlQobik7Ci0JcmV0dXJuIDA7CisJZCA9IHRvX3ZpcnRpb25ldGRldihuKTsKKwlyZXR1cm4g
ZC0+cHJvbWlzYzsKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCB1a19od2FkZHIgKnZpcnRpb19u
ZXRfbWFjX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQogeworCXN0cnVjdCB2aXJ0aW9fbmV0X2Rl
dmljZSAqZDsKKwogCVVLX0FTU0VSVChuKTsKLQlyZXR1cm4gTlVMTDsKKwlkID0gdG9fdmlydGlv
bmV0ZGV2KG4pOworCXJldHVybiAmZC0+aHdfYWRkcjsKIH0KIAogc3RhdGljIF9fdTE2IHZpcnRp
b19uZXRfbXR1X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQogeworCXN0cnVjdCB2aXJ0aW9fbmV0
X2RldmljZSAqZDsKKwogCVVLX0FTU0VSVChuKTsKLQlyZXR1cm4gMDsKKwlkID0gdG9fdmlydGlv
bmV0ZGV2KG4pOworCXJldHVybiBkLT5tdHU7Cit9CisKK3N0YXRpYyBpbnQgdmlydGlvX25ldGRl
dl9mZWF0dXJlX25lZ290aWF0ZShzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2KQorewor
CV9fdTY0IGhvc3RfZmVhdHVyZXMgPSAwOworCV9fdTE2IGh3X2xlbjsKKwlpbnQgcmMgPSAwOwor
CisJLyoqCisJICogUmVhZCBkZXZpY2UgZmVhdHVyZSBiaXRzLCBhbmQgd3JpdGUgdGhlIHN1YnNl
dCBvZiBmZWF0dXJlIGJpdHMKKwkgKiB1bmRlcnN0b29kIGJ5IHRoZSBPUyBhbmQgZHJpdmVyIHRv
IHRoZSBkZXZpY2UuIER1cmluZyB0aGlzIHN0ZXAgdGhlCisJICogZHJpdmVyIE1BWSByZWFkIChi
dXQgTVVTVCBOT1Qgd3JpdGUpIHRoZSBkZXZpY2Utc3BlY2lmaWMKKwkgKiBjb25maWd1cmF0aW9u
IGZpZWxkcyB0byBjaGVjayB0aGF0IGl0IGNhbiBzdXBwb3J0IHRoZSBkZXZpY2UgYmVmb3JlCisJ
ICogYWNjZXB0aW5nIGl0LgorCSAqLworCWhvc3RfZmVhdHVyZXMgPSB2aXJ0aW9fZmVhdHVyZV9n
ZXQodm5kZXYtPnZkZXYpOworCWlmICghdmlydGlvX2hhc19mZWF0dXJlcyhob3N0X2ZlYXR1cmVz
LCBWSVJUSU9fTkVUX0ZfTUFDKSkgeworCQkvKioKKwkJICogVGhlIGZlYXR1cmUgdGhhdCBhcmVu
J3Qgc3VwcG9ydGVkIGFyZSB1c3VhbGx5IG1hc2tlZCBvdXQgYW5kCisJCSAqIHByb3ZpZGVkIHdp
dGggZGVmYXVsdCB2YWx1ZS4gSW4gdGhpcyBjYXNlIHdlIG5lZWQgdG8KKwkJICogcmVwb3J0IGFu
IGVycm9yIGFzIHdlIGRvbid0IHN1cHBvcnQgIGdlbmVyYXRpb24gb2YgcmFuZG9tCisJCSAqIE1B
QyBBZGRyZXNzLgorCQkgKi8KKwkJdWtfcHJfZXJyKCJIb3N0IHN5c3RlbSBkb2VzIG5vdCBvZmZl
ciBNQUMgZmVhdHVyZVxuIik7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBleGl0OworCX0KKwor
CS8qKgorCSAqIEFjY29yZGluZyB0byBWaXJ0aW8gc3BlY2lmaWNhdGlvbiwgc2VjdGlvbiAyLjMu
MS4gQ29uZmlnIGZpZWxkcworCSAqIGdyZWF0ZXIgdGhhbiAzMi1iaXRzIGNhbm5vdCBiZSBhdG9t
aWNhbGx5IHJlYWQuIFdlIG1heSBuZWVkIHRvCisJICogcmVjb25zaWRlciBwcm92aWRpbmcgZ2Vu
ZXJpYyByZWFkL3dyaXRlIGZ1bmN0aW9uIGZvciBhbGwgdGhlc2UKKwkgKiB2aXJ0aW8gZGV2aWNl
IGluIGEgc2VwYXJhdGUgaGVhZGVyIGZpbGUgd2hpY2ggY291bGQgYmUgcmV1c2VkIGFjcm9zcwor
CSAqIGRpZmZlcmVudCB2aXJ0aW8gZGV2aWNlcy4KKwkgKi8KKwlod19sZW4gPSB2aXJ0aW9fY29u
ZmlnX2dldCh2bmRldi0+dmRldiwKKwkJCQkgICBfX29mZnNldG9mKHN0cnVjdCB2aXJ0aW9fbmV0
X2NvbmZpZywgbWFjKSwKKwkJCQkgICAmdm5kZXYtPmh3X2FkZHIuYWRkcl9ieXRlc1swXSwKKwkJ
CQkgICBVS19ORVRERVZfSFdBRERSX0xFTiwgMSk7CisJaWYgKHVubGlrZWx5KGh3X2xlbiAhPSBV
S19ORVRERVZfSFdBRERSX0xFTikpIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gcmV0cmlldmUg
dGhlIG1hYyBhZGRyZXNzIGZyb20gZGV2aWNlXG4iKTsKKwkJcmMgPSAtRUFHQUlOOworCQlnb3Rv
IGV4aXQ7CisJfQorCXJjID0gMDsKKworCS8qKgorCSAqIE1hc2sgb3V0IGZlYXR1cmVzIHN1cHBv
cnRlZCBieSBib3RoIGRyaXZlciBhbmQgZGV2aWNlLgorCSAqLworCXZuZGV2LT52ZGV2LT5mZWF0
dXJlcyAmPSBob3N0X2ZlYXR1cmVzOworCXZpcnRpb19mZWF0dXJlX3NldCh2bmRldi0+dmRldiwg
dm5kZXYtPnZkZXYtPmZlYXR1cmVzKTsKK2V4aXQ6CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMg
aW50IHZpcnRpb19uZXRkZXZfcnh0eF9hbGxvYyhzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZu
ZGV2LAorCQkJCSAgICBjb25zdCBzdHJ1Y3QgdWtfbmV0ZGV2X2NvbmYgKmNvbmYpCit7CisJaW50
IHJjID0gMDsKKwlpbnQgaSA9IDA7CisJaW50IHZxX2F2YWlsID0gMDsKKwlpbnQgdG90YWxfdnFz
ID0gY29uZi0+bmJfcnhfcXVldWVzICsgY29uZi0+bmJfdHhfcXVldWVzOworCV9fdTE2IHFkZXNj
X3NpemVbdG90YWxfdnFzXTsKKworCWlmIChjb25mLT5uYl9yeF9xdWV1ZXMgIT0gMSB8fCBjb25m
LT5uYl90eF9xdWV1ZXMgIT0gMSkgeworCQl1a19wcl9lcnIoIlF1ZXVlIGNvbWJpbmF0aW9uIG5v
dCBzdXBwb3J0ZWQ6ICUiX19QUkl1MTYiLyUiX19QUkl1MTYiIHJ4L3R4XG4iLAorCQkJICBjb25m
LT5uYl9yeF9xdWV1ZXMsIGNvbmYtPm5iX3R4X3F1ZXVlcyk7CisKKwkJcmV0dXJuIC1FTk9UU1VQ
OworCX0KKworCS8qKgorCSAqIFRPRE86CisJICogVGhlIHZpcnRpbyBkZXZpY2UgbWFuYWdlbWVu
dCBkYXRhIHN0cnVjdHVyZSBhcmUgYWxsb2NhdGVkIHVzaW5nIHRoZQorCSAqIGFsbG9jYXRvciBm
cm9tIHRoZSBuZXRkZXYgY29uZmlndXJhdGlvbi4gSW4gdGhlIGZ1dHVyZSBpdCBtaWdodCBiZQor
CSAqIHdpc2VyIHRvIG1vdmUgaXQgdG8gdGhlIGFsbG9jYXRvciBvZiBlYWNoIGluZGl2aWR1YWwg
cXVldWUuIFRoaXMKKwkgKiB3b3VsZCBiZXR0ZXIgY29uc2lkZXJpbmcgTlVNQSBzdXBwb3J0Lgor
CSAqLworCXZuZGV2LT5yeHFzID0gdWtfbWFsbG9jKGEsIHNpemVvZigqdm5kZXYtPnJ4cXMpICog
Y29uZi0+bmJfcnhfcXVldWVzKTsKKwl2bmRldi0+dHhxcyA9IHVrX21hbGxvYyhhLCBzaXplb2Yo
KnZuZGV2LT50eHFzKSAqIGNvbmYtPm5iX3R4X3F1ZXVlcyk7CisJaWYgKHVubGlrZWx5KCF2bmRl
di0+cnhxcyB8fCAhdm5kZXYtPnR4cXMpKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFsbG9j
YXRlIG1lbW9yeSBmb3IgcXVldWUgbWFuYWdlbWVudFxuIik7CisJCXJjID0gLUVOT01FTTsKKwkJ
Z290byBlcnJfZnJlZV90eHJ4OworCX0KKworCXZxX2F2YWlsID0gdmlydGlvX2ZpbmRfdnFzKHZu
ZGV2LT52ZGV2LCB0b3RhbF92cXMsIHFkZXNjX3NpemUpOworCWlmICh1bmxpa2VseSh2cV9hdmFp
bCAhPSB0b3RhbF92cXMpKSB7CisJCXVrX3ByX2VycigiRXhwZWN0ZWQ6ICVkIHF1ZXVlcywgRm91
bmQ6ICVkIHF1ZXVlc1xuIiwKKwkJCSAgdG90YWxfdnFzLCB2cV9hdmFpbCk7CisJCXJjID0gLUVO
T01FTTsKKwkJZ290byBlcnJfZnJlZV90eHJ4OworCX0KKworCS8qKgorCSAqIFRoZSB2aXJ0cXVl
dWUgYXJlIG9yZ2FuaXplZCBhczoKKwkgKiBWaXJ0cXVldWUtcngwCisJICogVmlydHF1ZXVlLXR4
MAorCSAqIFZpcnRxdWV1ZS1yeDEKKwkgKiBWaXJ0cXVldWUtdHgxCisJICogLi4uCisJICogVmly
dHF1ZXVlLWN0cmxxCisJICovCisJZm9yIChpID0gMDsgaSA8IHZuZGV2LT5tYXhfdnF1ZXVlX3Bh
aXJzOyBpKyspIHsKKwkJLyoqCisJCSAqIEluaXRpYWxpemUgdGhlIHJlY2VpdmVkIHF1ZXVlIHdp
dGggdGhlIGluZm9ybWF0aW9uIHJlY2VpdmVkCisJCSAqIGZyb20gdGhlIGRldmljZS4KKwkJICov
CisJCXZuZGV2LT5yeHFzW2ldLmh3dnFfaWQgPSAyICogaTsKKwkJdm5kZXYtPnJ4cXNbaV0ubWF4
X25iX2Rlc2MgPSBxZGVzY19zaXplW3ZuZGV2LT5yeHFzW2ldLmh3dnFfaWRdOworCQl1a19zZ2xp
c3RfaW5pdCgmdm5kZXYtPnJ4cXNbaV0uc2csCisJCQkgICAgICAgKHNpemVvZih2bmRldi0+cnhx
c1tpXS5zZ3NlZ3MpIC8KKwkJCQlzaXplb2Yodm5kZXYtPnJ4cXNbaV0uc2dzZWdzWzBdKSksCisJ
CQkgICAgICAgJnZuZGV2LT5yeHFzW2ldLnNnc2Vnc1swXSk7CisKKwkJLyoqCisJCSAqIEluaXRp
YWxpemUgdGhlIHRyYW5zbWl0IHF1ZXVlIHdpdGggdGhlIGluZm9ybWF0aW9uIHJlY2VpdmVkCisJ
CSAqIGZyb20gdGhlIGRldmljZS4KKwkJICovCisJCXZuZGV2LT50eHFzW2ldLmh3dnFfaWQgPSAo
MiAqIGkpICsgMTsKKwkJdm5kZXYtPnR4cXNbaV0ubWF4X25iX2Rlc2MgPSBxZGVzY19zaXplW3Zu
ZGV2LT50eHFzW2ldLmh3dnFfaWRdOworCQl1a19zZ2xpc3RfaW5pdCgmdm5kZXYtPnR4cXNbaV0u
c2csCisJCQkgICAgICAgKHNpemVvZih2bmRldi0+dHhxc1tpXS5zZ3NlZ3MpIC8KKwkJCQlzaXpl
b2Yodm5kZXYtPnR4cXNbaV0uc2dzZWdzWzBdKSksCisJCQkgICAgICAgJnZuZGV2LT50eHFzW2ld
LnNnc2Vnc1swXSk7CisJfQorZXhpdDoKKwlyZXR1cm4gcmM7CisKK2Vycl9mcmVlX3R4cng6CisJ
aWYgKCF2bmRldi0+cnhxcykKKwkJdWtfZnJlZShhLCB2bmRldi0+cnhxcyk7CisJaWYgKCF2bmRl
di0+dHhxcykKKwkJdWtfZnJlZShhLCB2bmRldi0+dHhxcyk7CisJZ290byBleGl0OwogfQogCiBz
dGF0aWMgaW50IHZpcnRpb19uZXRkZXZfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCi0J
CQkJICAgY29uc3Qgc3RydWN0IHVrX25ldGRldl9jb25mICpjb25mIF9fdW51c2VkKQorCQkJCSAg
IGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZikKIHsKIAlpbnQgcmMgPSAwOworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CiAKIAlVS19BU1NFUlQobik7CisJVUtfQVNT
RVJUKGNvbmYpOworCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KG4pOworCisJcmMgPSB2aXJ0aW9f
bmV0ZGV2X2ZlYXR1cmVfbmVnb3RpYXRlKHZuZGV2KTsKKwlpZiAocmMgIT0gMCkgeworCQl1a19w
cl9lcnIoIkZhaWxlZCB0byBuZWdvdGlhdGUgdGhlIGRldmljZSBmZWF0dXJlICVkXG4iLCByYyk7
CisJCWdvdG8gZXJyX25lZ290aWF0ZV9mZWF0dXJlOworCX0KKworCXJjID0gdmlydGlvX25ldGRl
dl9yeHR4X2FsbG9jKHZuZGV2LCBjb25mKTsKKwlpZiAocmMgIT0gMCkgeworCQl1a19wcl9lcnIo
IkZhaWxlZCB0byBwcm9iZSB0aGUgcnggYW5kIHR4IHJpbmdzICVkXG4iLCByYyk7CisJCWdvdG8g
ZXJyX25lZ290aWF0ZV9mZWF0dXJlOworCX0KKworCS8qIEluaXRpYWxpemUgdGhlIGNvdW50IG9m
IHRoZSB2aXJ0aW8tbmV0IGRldmljZSAqLworCXZuZGV2LT5yeF92cXVldWVfY250ID0gMDsKKwl2
bmRldi0+dHhfdnF1ZXVlX2NudCA9IDA7CiAKKwl1a19wcl9pbmZvKCJDb25maWd1cmVkOiBmZWF0
dXJlcz0weCVseCBtYXhfdmlydHF1ZXVlX3BhaXJzPSUiX19QUkl1MTYiXG4iLAorCQkgICB2bmRl
di0+dmRldi0+ZmVhdHVyZXMsIHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzKTsKK2V4aXQ6CiAJcmV0
dXJuIHJjOworCitlcnJfbmVnb3RpYXRlX2ZlYXR1cmU6CisJdmlydGlvX2Rldl9zdGF0dXNfdXBk
YXRlKHZuZGV2LT52ZGV2LCBWSVJUSU9fQ09ORklHX1NUQVRVU19GQUlMKTsKKwlnb3RvIGV4aXQ7
CiB9CiAKIHN0YXRpYyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2VuYWJsZShzdHJ1Y3QgdWtfbmV0
ZGV2ICpuLAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:19 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHT-00086I-9k; Thu, 25 Oct 2018 09:50:19 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHR-000861-Sq
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:17 +0000
X-Inumbo-ID: 9635e959-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 9635e959-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:51:47 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 7C19B104A5F;
 Thu, 25 Oct 2018 11:50:15 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 7G9zfXQHNhfS; Thu, 25 Oct 2018 11:50:15 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 5CD18104A54;
 Thu, 25 Oct 2018 11:50:11 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:11 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:48 +0200
Message-ID: <1540460993-30344-4-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 3/8] plat/drivers: Configure the
 receive queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBpbXBsZW1lbnRhdGlvbiBmb3Igc2V0dGlu
ZyB1cCB0aGUKcmVjZWl2ZSBxdWV1ZS4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFuYW0g
PHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29qb2Nh
cnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56
ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVycy92aXJ0aW8vdmly
dGlvX25ldC5jIHwgMTQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQog
MSBmaWxlIGNoYW5nZWQsIDE0MCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIvcGxhdC9kcml2ZXJzL3Zp
cnRpby92aXJ0aW9fbmV0LmMKaW5kZXggMDY5ZjUxZi4uOTk2OThmMyAxMDA2NDQKLS0tIGEvcGxh
dC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92
aXJ0aW9fbmV0LmMKQEAgLTE2OCw2ICsxNjgsMTAgQEAgc3RhdGljIHN0cnVjdCB1a19uZXRkZXZf
dHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVldWVfc2V0dXAoCiAJCQkJCXN0cnVjdCB1a19u
ZXRkZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkLAogCQkJCQl1aW50MTZfdCBuYl9kZXNjLAogCQkJ
CQlzdHJ1Y3QgdWtfbmV0ZGV2X3R4cXVldWVfY29uZiAqY29uZik7CitzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfdnF1ZXVlX3NldHVwKHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXYsCisJ
CQkJICAgICAgdWludDE2X3QgcXVldWVfaWQsIHVpbnQxNl90IG5yX2Rlc2MsCisJCQkJICAgICAg
dmlydHFfdHlwZV90IHF1ZXVlX3R5cGUsCisJCQkJICAgICAgc3RydWN0IHVrX2FsbG9jICphKTsK
IHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVl
X3NldHVwKAogCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAogCQkJCQl1aW50MTZfdCBxdWV1ZV9p
ZCwgdWludDE2X3QgbmJfZGVzYywKQEAgLTE5MSw2ICsxOTUsNyBAQCBzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVf
aWQsCiAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7CiBzdGF0
aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwg
X191MTYgcXVldWVfaWQsCiAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpx
aW5mbyk7CitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVl
dWUgKnZxLCB2b2lkICpwcml2KTsKIAogLyoqCiAgKiBTdGF0aWMgZ2xvYmFsIGNvbnN0YW50cwpA
QCAtMjAxLDYgKzIwNiwyMyBAQCBzdGF0aWMgc3RydWN0IHVrX2FsbG9jICphOwogLyoqCiAgKiBU
aGUgRHJpdmVyIG1ldGhvZCBpbXBsZW1lbnRhdGlvbi4KICAqLworc3RhdGljIGludCB2aXJ0aW9f
bmV0ZGV2X3JlY3ZfZG9uZShzdHJ1Y3QgdmlydHF1ZXVlICp2cSwgdm9pZCAqcHJpdikKK3sKKwlz
dHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEgPSBOVUxMOworCisJVUtfQVNTRVJUKHZxICYm
IHByaXYpOworCisJcnhxID0gKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKikgcHJpdjsKKwor
CS8qIERpc2FibGUgdGhlIGludGVycnVwdCBmb3IgdGhlIHJpbmcgKi8KKwl2aXJ0cXVldWVfaW50
cl9kaXNhYmxlKHZxKTsKKwlyeHEtPmludHJfZW5hYmxlZCAmPSB+KFZUTkVUX0lOVFJfRU4pOwor
CisJLyogSW5kaWNhdGUgdG8gdGhlIG5ldHdvcmsgc3RhY2sgYWJvdXQgYW4gZXZlbnQgKi8KKwl1
a19uZXRkZXZfZHJ2X3J4X2V2ZW50KHJ4cS0+bmRldiwgcnhxLT5scXVldWVfaWQpOworCXJldHVy
biAxOworfQorCiBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKIAkJCSAg
ICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCkKQEAgLTIyOCwxNSArMjUwLDExMSBAQCBzdGF0aWMg
aW50IHZpcnRpb19uZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYgX191bnVzZWQsCiB9
CiAKIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3J4X3F1
ZXVlX3NldHVwKAotCQkJCXN0cnVjdCB1a19uZXRkZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkIF9f
dW51c2VkLAotCQkJCXVpbnQxNl90IG5iX2Rlc2MgX191bnVzZWQsCi0JCQkJc3RydWN0IHVrX25l
dGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQpCisJCQkJc3RydWN0IHVrX25ldGRldiAq
biwgdWludDE2X3QgcXVldWVfaWQsCisJCQkJdWludDE2X3QgbmJfZGVzYywKKwkJCQlzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4cXVldWVfY29uZiAqY29uZikKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZp
Y2UgKnZuZGV2OwogCXN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSA9IE5VTEw7CisJaW50
IHJjOwogCiAJVUtfQVNTRVJUKG4pOworCVVLX0FTU0VSVChjb25mKTsKKwl2bmRldiA9IHRvX3Zp
cnRpb25ldGRldihuKTsKKwlpZiAocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMp
IHsKKwkJdWtfcHJfZXJyKCJJbnZhbGlkIHZpcnRxdWV1ZSBpZGVudGlmaWVyOiAlIl9fUFJJdTE2
IlxuIiwKKwkJCSAgcXVldWVfaWQpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyX2V4aXQ7
CisJfQorCS8qIFNldHVwIHRoZSB2aXJ0cXVldWUgd2l0aCB0aGUgZGVzY3JpcHRvciAqLworCXJj
ID0gdmlydGlvX25ldGRldl92cXVldWVfc2V0dXAodm5kZXYsIHF1ZXVlX2lkLCBuYl9kZXNjLCBW
TkVUX1JYLAorCQkJCQljb25mLT5hKTsKKwlpZiAocmMgPCAwKSB7CisJCXVrX3ByX2VycigiRmFp
bGVkIHRvIHNldCB1cCB2aXJ0cXVldWUgJSJfX1BSSXUxNiI6ICVkXG4iLAorCQkJICBxdWV1ZV9p
ZCwgcmMpOworCQlnb3RvIGVycl9leGl0OworCX0KKwlyeHEgID0gJnZuZGV2LT5yeHFzW3JjXTsK
IAorZXhpdDoKIAlyZXR1cm4gcnhxOworCitlcnJfZXhpdDoKKwlyeHEgPSBFUlIyUFRSKHJjKTsK
Kwlnb3RvIGV4aXQ7Cit9CisKKy8qKgorICogVGhpcyBmdW5jdGlvbiBzZXR1cCB0aGUgdnJpbmcg
aW5mcmFzdHJ1Y3R1cmUuCisgKiBAcGFyYW0gdm5kZXYKKyAqCVJlZmVyZW5jZSB0byB0aGUgdmly
dGlvIG5ldCBkZXZpY2UuCisgKiBAcGFyYW0gcXVldWVfaWQKKyAqCVVzZXIgcXVldWUgaWRlbnRp
ZmllcgorICogQHBhcmFtIG5yX2Rlc2MKKyAqCVVzZXIgY29uZmlndXJlZCBudW1iZXIgb2YgZGVz
Y3JpcHRvcnMuCisgKiBAcGFyYW0gcXVldWVfdHlwZQorICoJUXVldWUgdHlwZS4KKyAqIEBwYXJh
bSBhCisgKglSZWZlcmVuY2UgdG8gdGhlIGFsbG9jYXRvci4KKyAqLworc3RhdGljIGludCB2aXJ0
aW9fbmV0ZGV2X3ZxdWV1ZV9zZXR1cChzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2LAor
CQl1aW50MTZfdCBxdWV1ZV9pZCwgdWludDE2X3QgbnJfZGVzYywgdmlydHFfdHlwZV90IHF1ZXVl
X3R5cGUsCisJCXN0cnVjdCB1a19hbGxvYyAqYSkKK3sKKwlpbnQgcmMgPSAwOworCWludCBpZCA9
IDA7CisJdmlydHF1ZXVlX2NhbGxiYWNrX3QgY2FsbGJhY2s7CisJdWludDE2X3QgbWF4X2Rlc2Ms
IGh3dnFfaWQ7CisJc3RydWN0IHZpcnRxdWV1ZSAqdnE7CisKKwlpZiAocXVldWVfdHlwZSA9PSBW
TkVUX1JYKSB7CisJCWlkID0gdm5kZXYtPnJ4X3ZxdWV1ZV9jbnQ7CisJCWNhbGxiYWNrID0gdmly
dGlvX25ldGRldl9yZWN2X2RvbmU7CisJCW1heF9kZXNjID0gdm5kZXYtPnJ4cXNbaWRdLm1heF9u
Yl9kZXNjOworCQlod3ZxX2lkID0gdm5kZXYtPnJ4cXNbaWRdLmh3dnFfaWQ7CisJfSBlbHNlIHsK
KwkJaWQgPSB2bmRldi0+dHhfdnF1ZXVlX2NudDsKKwkJLyogV2UgZG9uJ3Qgc3VwcG9ydCB0aGUg
Y2FsbGJhY2sgZnJvbSB0aGUgdHhxdWV1ZSB5ZXQgKi8KKwkJY2FsbGJhY2sgPSBOVUxMOworCQlt
YXhfZGVzYyA9IHZuZGV2LT50eHFzW2lkXS5tYXhfbmJfZGVzYzsKKwkJaHd2cV9pZCA9IHZuZGV2
LT50eHFzW2lkXS5od3ZxX2lkOworCX0KKworCWlmICh1bmxpa2VseShtYXhfZGVzYyA8IG5yX2Rl
c2MpKSB7CisJCXVrX3ByX2VycigiTWF4IGFsbG93ZWQgZGVzYzogJSJfX1BSSXUxNiIgUmVxdWVz
dGVkIGRlc2M6JSJfX1BSSXUxNiJcbiIsCisJCQkgIG1heF9kZXNjLCBucl9kZXNjKTsKKwkJcmV0
dXJuIC1FTk9CVUZTOworCX0KKworCS8qIENoZWNrIGlmIHRoZSBkZXNjcmlwdG9yIGlzIGEgcG93
ZXIgb2YgMiAqLworCWlmICh1bmxpa2VseShucl9kZXNjICYgKG5yX2Rlc2MgLSAxKSkpIHsKKwkJ
dWtfcHJfZXJyKCJFeHBlY3QgZGVzY3JpcHRvciBjb3VudCBhcyBhIHBvd2VyIDJcbiIpOworCQly
ZXR1cm4gLUVJTlZBTDsKKwl9CisJdnEgPSB2aXJ0aW9fdnF1ZXVlX3NldHVwKHZuZGV2LT52ZGV2
LCBod3ZxX2lkLCBucl9kZXNjLCBjYWxsYmFjaywgYSk7CisJaWYgKHVubGlrZWx5KFBUUklTRVJS
KHZxKSkpIHsKKwkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gc2V0IHVwIHZpcnRxdWV1ZSAlIl9fUFJJ
dTE2IlxuIiwKKwkJCSAgcXVldWVfaWQpOworCQlyYyA9IFBUUjJFUlIodnEpOworCQlyZXR1cm4g
cmM7CisJfQorCisJaWYgKHF1ZXVlX3R5cGUgPT0gVk5FVF9SWCkgeworCQl2cS0+cHJpdiA9ICZ2
bmRldi0+cnhxc1tpZF07CisJCXZuZGV2LT5yeHFzW2lkXS5uZGV2ID0gJnZuZGV2LT5uZXRkZXY7
CisJCXZuZGV2LT5yeHFzW2lkXS52cSA9IHZxOworCQl2bmRldi0+cnhxc1tpZF0ubmJfZGVzYyA9
IG5yX2Rlc2M7CisJCXZuZGV2LT5yeHFzW2lkXS5scXVldWVfaWQgPSBxdWV1ZV9pZDsKKwkJdm5k
ZXYtPnJ4X3ZxdWV1ZV9jbnQrKzsKKwl9IGVsc2UgeworCQl2bmRldi0+dHhxc1tpZF0udnEgPSB2
cTsKKwkJdm5kZXYtPnR4cXNbaWRdLm5kZXYgPSAmdm5kZXYtPm5ldGRldjsKKwkJdm5kZXYtPnR4
cXNbaWRdLm5iX2Rlc2MgPSBucl9kZXNjOworCQl2bmRldi0+dHhxc1tpZF0ubHF1ZXVlX2lkID0g
cXVldWVfaWQ7CisJCXZuZGV2LT50eF92cXVldWVfY250Kys7CisJfQorCXJldHVybiBpZDsKIH0K
IAogc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnZpcnRpb19uZXRkZXZfdHhfcXVl
dWVfc2V0dXAoCkBAIC0yNTEsMTIgKzM2OSwyOSBAQCBzdGF0aWMgc3RydWN0IHVrX25ldGRldl90
eF9xdWV1ZSAqdmlydGlvX25ldGRldl90eF9xdWV1ZV9zZXR1cCgKIH0KIAogc3RhdGljIGludCB2
aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCi0JCQkJICAg
ICAgX191MTYgcXVldWVfaWQgX191bnVzZWQsCisJCQkJICAgICAgX191MTYgcXVldWVfaWQsCiAJ
CQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbykKIHsKKwlzdHJ1Y3Qg
dmlydGlvX25ldF9kZXZpY2UgKnZuZGV2OworCXN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4
cTsKKwlpbnQgcmMgPSAwOworCiAJVUtfQVNTRVJUKGRldik7CiAJVUtfQVNTRVJUKHFpbmZvKTsK
LQlyZXR1cm4gMDsKKwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihkZXYpOworCWlmICh1bmxpa2Vs
eShxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykpIHsKKwkJdWtfcHJfZXJyKCJJ
bnZhbGlkIHZpcnRxdWV1ZSBpZDogJSJfX1BSSXUxNiJcbiIsIHF1ZXVlX2lkKTsKKwkJcmMgPSAt
RUlOVkFMOworCQlnb3RvIGV4aXQ7CisJfQorCXJ4cSA9ICZ2bmRldi0+cnhxc1txdWV1ZV9pZF07
CisJcWluZm8tPm5iX21pbiA9IDE7CisJcWluZm8tPm5iX21heCA9IHJ4cS0+bWF4X25iX2Rlc2M7
CisJcWluZm8tPm5iX2lzX3Bvd2VyX29mX3R3byA9IDE7CisKK2V4aXQ6CisJcmV0dXJuIHJjOwor
CiB9CiAKIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl90eHFfaW5mb19nZXQoc3RydWN0IHVrX25l
dGRldiAqZGV2LAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0
cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlz
dGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:24 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHY-00087M-Be; Thu, 25 Oct 2018 09:50:24 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHW-000870-7O
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:22 +0000
X-Inumbo-ID: f87f4fd6-d83a-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id f87f4fd6-d83a-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 11:47:23 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id D1727F2017;
 Thu, 25 Oct 2018 11:50:19 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id vi4HWIb7NfJM; Thu, 25 Oct 2018 11:50:19 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id A5D0CF2010;
 Thu, 25 Oct 2018 11:50:15 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:15 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:49 +0200
Message-ID: <1540460993-30344-5-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 4/8] plat/drivers: Configuring
 the transmit queue
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGludHJvZHVjZXMgdGhlIHZpcnRpbyBuZXQgZGV2aWNlIGltcGxlbWVudGF0aW9u
IGZvcgpjb25maWd1cmluZyB0aGUgdHJhbnNtaXQgcXVldWUKClNpZ25lZC1vZmYtYnk6IFNoYXJh
biBTYW50aGFuYW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBS
YXp2YW4gQ29qb2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KUmV2aWV3ZWQtYnk6
IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgotLS0KIHBsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jIHwgNDIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQv
ZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDk5Njk4ZjMuLjNhNzQ5YWEgMTAwNjQ0
Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVy
cy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC0zNjMsOSArMzYzLDMyIEBAIHN0YXRpYyBzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAogCQkJCXN0
cnVjdCB1a19uZXRkZXZfdHhxdWV1ZV9jb25mICpjb25mIF9fdW51c2VkKQogewogCXN0cnVjdCB1
a19uZXRkZXZfdHhfcXVldWUgKnR4cSA9IE5VTEw7CisJc3RydWN0IHZpcnRpb19uZXRfZGV2aWNl
ICp2bmRldjsKKwlpbnQgcmMgPSAwOwogCiAJVUtfQVNTRVJUKG4pOworCXZuZGV2ID0gdG9fdmly
dGlvbmV0ZGV2KG4pOworCWlmIChxdWV1ZV9pZCA+PSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlycykg
eworCQl1a19wcl9lcnIoIkludmFsaWQgdmlydHF1ZXVlIGlkZW50aWZpZXI6ICUiX19QUkl1MTYi
XG4iLAorCQkJICBxdWV1ZV9pZCk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnJfZXhpdDsK
Kwl9CisJLyogU2V0dXAgdGhlIHZpcnRxdWV1ZSAqLworCXJjID0gdmlydGlvX25ldGRldl92cXVl
dWVfc2V0dXAodm5kZXYsIHF1ZXVlX2lkLCBuYl9kZXNjLCBWTkVUX1RYLAorCQkJCQljb25mLT5h
KTsKKwlpZiAocmMgPCAwKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIHNldCB1cCB2aXJ0cXVl
dWUgJSJfX1BSSXUxNiI6ICVkXG4iLAorCQkJICBxdWV1ZV9pZCwgcmMpOworCQlnb3RvIGVycl9l
eGl0OworCX0KKwl0eHEgPSAmdm5kZXYtPnR4cXNbcmNdOworZXhpdDoKIAlyZXR1cm4gdHhxOwor
CitlcnJfZXhpdDoKKwl0eHEgPSBFUlIyUFRSKHJjKTsKKwlnb3RvIGV4aXQ7CiB9CiAKIHN0YXRp
YyBpbnQgdmlydGlvX25ldGRldl9yeHFfaW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LApA
QCAtMzk4LDkgKzQyMSwyNiBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0
KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKIAkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNl
ZCwKIAkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKQogeworCXN0
cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5kZXY7CisJc3RydWN0IHVrX25ldGRldl90eF9xdWV1
ZSAqdHhxOworCWludCByYyA9IDA7CisKIAlVS19BU1NFUlQoZGV2KTsKIAlVS19BU1NFUlQocWlu
Zm8pOwotCXJldHVybiAwOworCisJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKKwlpZiAo
dW5saWtlbHkocXVldWVfaWQgPj0gdm5kZXYtPm1heF92cXVldWVfcGFpcnMpKSB7CisJCXVrX3By
X2VycigiSW52YWxpZCBxdWV1ZV9pZCAlIl9fUFJJdTE2IlxuIiwgcXVldWVfaWQpOworCQlyYyA9
IC1FSU5WQUw7CisJCWdvdG8gZXhpdDsKKwl9CisJdHhxID0gJnZuZGV2LT50eHFzW3F1ZXVlX2lk
XTsKKwlxaW5mby0+bmJfbWluID0gMTsKKwlxaW5mby0+bmJfbWF4ID0gdHhxLT5tYXhfbmJfZGVz
YzsKKwlxaW5mby0+bmJfaXNfcG93ZXJfb2ZfdHdvID0gMTsKKworZXhpdDoKKwlyZXR1cm4gcmM7
CiB9CiAKIHN0YXRpYyB1bnNpZ25lZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0cnVjdCB1a19u
ZXRkZXYgKm4pCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3Rz
LnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0
aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:27 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHb-000884-DA; Thu, 25 Oct 2018 09:50:27 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHZ-00087l-9T
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:25 +0000
X-Inumbo-ID: 9b4f5f37-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 9b4f5f37-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:51:56 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 14645104A60;
 Thu, 25 Oct 2018 11:50:24 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Qj5AoyNnozPw; Thu, 25 Oct 2018 11:50:23 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id EA6BE104A54;
 Thu, 25 Oct 2018 11:50:19 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:19 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:50 +0200
Message-ID: <1540460993-30344-6-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 5/8] plat/drivers: Configure
 receive queue interrupt
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIGltcGxlbWVudHMgZW5hYmxlIGFuZCBkaXNhYmxpbmcgaW50ZXJydXB0IG9uIHRo
ZSByZWNlaXZlCnF1ZXVlLgoKU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFu
LnNhbnRoYW5hbUBuZWNsYWIuZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6
dmFuLmNvam9jYXJ1OTNAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2lt
b24ua3VlbnplckBuZWNsYWIuZXU+Ci0tLQogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0
LmMgfCAyNCArKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNl
cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0
aW8vdmlydGlvX25ldC5jIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKaW5kZXgg
M2E3NDlhYS4uNjhjYWRhMSAxMDA2NDQKLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9f
bmV0LmMKKysrIGIvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKQEAgLTY0MiwxOSAr
NjQyLDM5IEBAIGVycl9uZWdvdGlhdGVfZmVhdHVyZToKIH0KIAogc3RhdGljIGludCB2aXJ0aW9f
bmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCi0JCQkJICAgICBzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKKwkJCQkgICAgIHN0cnVjdCB1a19u
ZXRkZXZfcnhfcXVldWUgKnF1ZXVlKQogeworCXN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqZCBf
X3VudXNlZDsKIAlpbnQgcmMgPSAwOwogCiAJVUtfQVNTRVJUKG4pOworCWQgPSB0b192aXJ0aW9u
ZXRkZXYobik7CisJLyogSWYgdGhlIGludGVycnVwdCBpcyBlbmFibGVkICovCisJaWYgKHF1ZXVl
LT5pbnRyX2VuYWJsZWQgJiBWVE5FVF9JTlRSX0VOKQorCQlyZXR1cm4gMDsKKworCS8qKgorCSAq
IEVuYWJsZSB0aGUgdXNlciBjb25maWd1cmF0aW9uIGJpdC4gVGhpcyB3b3VsZCBjYXVzZSB0aGUg
aW50ZXJydXB0IHRvCisJICogYmUgZW5hYmxlZCBhdXRvbWF0aWNhbGx5LCBpZiB0aGUgaW50ZXJy
dXB0IGNvdWxkIG5vdCBiZSBlbmFibGVkIG5vdworCSAqIGR1ZSB0byBkYXRhIGluIHRoZSBxdWV1
ZS4KKwkgKi8KKwlxdWV1ZS0+aW50cl9lbmFibGVkID0gVlRORVRfSU5UUl9VU1JfRU47CisJcmMg
PSB2aXJ0cXVldWVfaW50cl9lbmFibGUocXVldWUtPnZxKTsKKwlpZiAoIXJjKQorCQlxdWV1ZS0+
aW50cl9lbmFibGVkIHw9IFZUTkVUX0lOVFJfRU47CiAKIAlyZXR1cm4gcmM7CiB9CiAKIHN0YXRp
YyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25ldGRldiAqbiwKLQkJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSBfX3VudXNlZCkKKwkJCQkg
ICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSkKIHsKKwlzdHJ1Y3QgdmlydGlv
X25ldF9kZXZpY2UgKnZuZGV2IF9fdW51c2VkOworCiAJVUtfQVNTRVJUKG4pOworCXZuZGV2ID0g
dG9fdmlydGlvbmV0ZGV2KG4pOworCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUocXVldWUtPnZxKTsK
KwlxdWV1ZS0+aW50cl9lbmFibGVkICY9IH4oVlRORVRfSU5UUl9VU1JfRU4gfCBWVE5FVF9JTlRS
X0VOKTsKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlv
cy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn
L21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:30 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHe-00088p-Ev; Thu, 25 Oct 2018 09:50:30 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHe-00088i-4w
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:30 +0000
X-Inumbo-ID: 9de88c7d-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 9de88c7d-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:52:00 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 5F142F2017;
 Thu, 25 Oct 2018 11:50:28 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gzDHoF5aLpXU; Thu, 25 Oct 2018 11:50:28 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 3CFE0F2010;
 Thu, 25 Oct 2018 11:50:24 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:23 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:51 +0200
Message-ID: <1540460993-30344-7-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 6/8] plat/drivers: Starting the
 virtio device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIu
ZXU+ClNpZ25lZC1vZmYtYnk6IFJhenZhbiBDb2pvY2FydSA8cmF6dmFuLmNvam9jYXJ1OTNAZ21h
aWwuY29tPgpSZXZpZXdlZC1ieTogU2ltb24gS3VlbnplciA8c2ltb24ua3VlbnplckBuZWNsYWIu
ZXU+Ci0tLQogcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgfCAyNiArKysrKysrKysr
KysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKykKCmRpZmYg
LS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92
aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDY4Y2FkYTEuLjUzYzBjOTMgMTAwNjQ0Ci0tLSBhL3Bs
YXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX25ldC5jCkBAIC02OTIsNyArNjkyLDMzIEBAIHN0YXRpYyB2b2lkIHZpcnRpb19uZXRf
aW5mb19nZXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCiBzdGF0aWMgaW50IHZpcnRpb19uZXRf
c3RhcnQoc3RydWN0IHVrX25ldGRldiAqbikKIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2Ug
KmQ7CisJaW50IGkgPSAwOworCiAJVUtfQVNTRVJUKG4gIT0gTlVMTCk7CisJZCA9IHRvX3ZpcnRp
b25ldGRldihuKTsKKworCS8qCisJICogQnkgZGVmYXVsdCwgaW50ZXJydXB0cyBhcmUgZGlzYWJs
ZWQgYW5kIGl0IGlzIHVwIHRvIHRoZSB1c2VyIG9yCisJICogbmV0d29yayBzdGFjayB0byBtYW51
YWxseSBlbmFibGUgdGhlbSB3aXRoIGEgY2FsbCB0bworCSAqIGVuYWJsZV90eHxyeF9pbnRyKCkK
KwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgZC0+cnhfdnF1ZXVlX2NudDsgaSsrKSB7CisJCXZpcnRx
dWV1ZV9pbnRyX2Rpc2FibGUoZC0+cnhxc1tpXS52cSk7CisJCWQtPnJ4cXNbaV0uaW50cl9lbmFi
bGVkID0gMDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgZC0+dHhfdnF1ZXVlX2NudDsgaSsrKSB7
CisJCXZpcnRxdWV1ZV9pbnRyX2Rpc2FibGUoZC0+dHhxc1tpXS52cSk7CisJCWQtPnR4cXNbaV0u
aW50cl9lbmFibGVkID0gMDsKKwl9CisKKwkvKgorCSAqIFNldCB0aGUgRFJJVkVSX09LIHN0YXR1
cyBiaXQuIEF0IHRoaXMgcG9pbnQgdGhlIGRldmljZSBpcyAibGl2ZSIuCisJICovCisJdmlydGlv
X2Rldl9kcnZfdXAoZC0+dmRldik7CisJdWtfcHJfaW5mbyhEUklWRVJfTkFNRSI6ICUiX19QUkl1
MTYiIHN0YXJ0ZWRcbiIsIGQtPnVpZCk7CisKIAlyZXR1cm4gMDsKIH0KIAotLSAKMi43LjQKCgpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2
ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov
L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:33 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHh-00089b-GM; Thu, 25 Oct 2018 09:50:33 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHg-00089M-Bw
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:32 +0000
X-Inumbo-ID: 9f6064b8-d83b-11e8-a6a9-d7ebe60f679a
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 9f6064b8-d83b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:52:02 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id DC6F3104A65;
 Thu, 25 Oct 2018 11:50:30 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id fRUyEMBGfGm1; Thu, 25 Oct 2018 11:50:30 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id B9DC1104A62
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 11:50:28 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:28 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:52 +0200
Message-ID: <1540460993-30344-8-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 7/8] lib/uknetdev: Add driver
 encapsulation for rx & tx
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhlIHBhdGNoIHByb3ZpZGVzIHRoZSBvcHRpb24gZm9yIHRoZSBuZXR3b3JrIGRyaXZlciB0byBy
ZXNlcnZlIGhlYWRyb29tCnNlcGFyYXRlbHkgZm9yIHRyYW5zbWlzc2lvbiBhbmQgcmVjZXB0aW9u
IHBhcnQgb2YgYSBuZXQgZGV2aWNlLgoKU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Ci0tLQogbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsv
bmV0ZGV2X2NvcmUuaCB8IDMgKystCiBwbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyAg
ICAgIHwgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o
LSkKCmRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oIGIv
bGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAppbmRleCBiMTRhOWM5Li5iNzdj
NDVhIDEwMDY0NAotLS0gYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29yZS5oCisr
KyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKQEAgLTg1LDcgKzg1LDgg
QEAgc3RydWN0IHVrX25ldGRldl9pbmZvIHsKIAl1aW50MTZfdCBtYXhfdHhfcXVldWVzOwogCWlu
dCBpbl9xdWV1ZV9wYWlyczsgLyoqPCBJZiB0cnVlLCBhbGxvY2F0ZSBxdWV1ZXMgaW4gcGFpcnMu
ICovCiAJdWludDE2X3QgbWF4X210dTsgICAvKio8IE1heGltdW0gc3VwcG9ydGVkIE1UVSBzaXpl
LiAqLwotCXVpbnQxNl90IG5iX2VuY2FwOyAgLyoqPCBOdW1iZXIgb2YgYnl0ZXMgcmVxdWlyZWQg
YXMgaGVhZHJvb20gZm9yIHR4LiAqLworCXVpbnQxNl90IG5iX2VuY2FwX3R4OyAgLyoqPCBOdW1i
ZXIgb2YgYnl0ZXMgcmVxdWlyZWQgYXMgaGVhZHJvb20gZm9yIHR4LiAqLworCXVpbnQxNl90IG5i
X2VuY2FwX3J4OyAgLyoqPCBOdW1iZXIgb2YgYnl0ZXMgcmVxdWlyZWQgYXMgaGVhZHJvb20gZm9y
IHJ4LiAqLwogfTsKIAogLyoqCmRpZmYgLS1naXQgYS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRp
b19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCmluZGV4IDUzYzBjOTMu
LmRmYWJmY2MgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisr
KyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jCkBAIC02ODgsNiArNjg4LDggQEAg
c3RhdGljIHZvaWQgdmlydGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCiAK
IAlkZXZfaW5mby0+bWF4X3J4X3F1ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOwogCWRl
dl9pbmZvLT5tYXhfdHhfcXVldWVzID0gdm5kZXYtPm1heF92cXVldWVfcGFpcnM7CisJZGV2X2lu
Zm8tPm5iX2VuY2FwX3R4ID0gc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X2hkcik7CisJZGV2X2lu
Zm8tPm5iX2VuY2FwX3J4ID0gc2l6ZW9mKHN0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkcik7CiB9CiAK
IHN0YXRpYyBpbnQgdmlydGlvX25ldF9zdGFydChzdHJ1Y3QgdWtfbmV0ZGV2ICpuKQotLSAKMi43
LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:50:39 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:50:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcHn-0008Ak-Hx; Thu, 25 Oct 2018 09:50:39 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=vtfu=nf=neclab.eu=sharan.santhanam@srs-us1.protection.inumbo.net>)
 id 1gFcHm-0008Ab-Hi
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 09:50:38 +0000
X-Inumbo-ID: 01cba766-d83b-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 01cba766-d83b-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 11:47:38 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 69C4CF2017;
 Thu, 25 Oct 2018 11:50:35 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id FQKeh6nMJbao; Thu, 25 Oct 2018 11:50:35 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 42DE3F2010;
 Thu, 25 Oct 2018 11:50:31 +0200 (CEST)
Received: from N-1309.office.hd (10.1.2.132) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 11:50:30 +0200
From: Sharan Santhanam <sharan.santhanam@neclab.eu>
To: <minios-devel@lists.xen.org>
Date: Thu, 25 Oct 2018 11:49:53 +0200
Message-ID: <1540460993-30344-9-git-send-email-sharan.santhanam@neclab.eu>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
MIME-Version: 1.0
X-Originating-IP: [10.1.2.132]
Subject: [Minios-devel] [UNIKRAFT PATCH v4 8/8] plat/drivers: Receive and
 Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: simon.kuenzer@neclab.eu, Razvan Cojocaru <razvan.cojocaru93@gmail.com>,
 Sharan Santhanam <sharan.santhanam@neclab.eu>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

VGhpcyBwYXRjaCBhZGQgdGhlIHRyYW5zbWlzc2lvbiBhbmQgcmVjZWl2ZSBvcGVyYXRpb24gZm9y
IHRoZQp2aXJ0aW8tbmV0IGRldmljZS4gV2UgZXh0ZW5kIHRoZSBzY2F0dGVyIGdhdGhlciBsaXN0
IHRvIG9wZXJhdGUKb24gdGhlIG5ldGJ1Zi4KClNpZ25lZC1vZmYtYnk6IFNoYXJhbiBTYW50aGFu
YW0gPHNoYXJhbi5zYW50aGFuYW1AbmVjbGFiLmV1PgpTaWduZWQtb2ZmLWJ5OiBSYXp2YW4gQ29q
b2NhcnUgPHJhenZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KLS0tCiBsaWIvdWtzZ2xpc3QvZXhw
b3J0c3ltcy51ayAgICAgICB8ICAgMSArCiBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3Qu
aCB8ICAxOCArKysKIGxpYi91a3NnbGlzdC9zZ2xpc3QuYyAgICAgICAgICAgIHwgIDI1ICsrKysK
IHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMzA4ICsrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCAzNDkgaW5zZXJ0aW9ucygr
KSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51
ayBiL2xpYi91a3NnbGlzdC9leHBvcnRzeW1zLnVrCmluZGV4IGExZTliMzcuLmY4YzYwZjcgMTAw
NjQ0Ci0tLSBhL2xpYi91a3NnbGlzdC9leHBvcnRzeW1zLnVrCisrKyBiL2xpYi91a3NnbGlzdC9l
eHBvcnRzeW1zLnVrCkBAIC05LDMgKzksNCBAQCB1a19zZ2xpc3RfbGVuZ3RoCiB1a19zZ2xpc3Rf
c3BsaXQKIHVrX3NnbGlzdF9qb2luCiB1a19zZ2xpc3Rfc2xpY2UKK3VrX3NnbGlzdF9hcHBlbmRf
bmV0YnVmCmRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xpc3QuaCBiL2xp
Yi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCmluZGV4IGE4OWIxMGQuLmRiMDAwYzAgMTAw
NjQ0Ci0tLSBhL2xpYi91a3NnbGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCisrKyBiL2xpYi91a3Nn
bGlzdC9pbmNsdWRlL3VrL3NnbGlzdC5oCkBAIC00NCwxMiArNDQsMTYgQEAKIGV4dGVybiAiQyIg
ewogI2VuZGlmIC8qIF9fY3BsdXNwbHVzICovCiAKKyNpbmNsdWRlIDx1ay9jb25maWcuaD4KICNp
bmNsdWRlIDxzdGRpbnQuaD4KICNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+CiAjaW5jbHVkZSA8
dWsvcmVmY291bnQuaD4KICNpZmRlZiBDT05GSUdfTElCVUtBTExPQwogI2luY2x1ZGUgPHVrL2Fs
bG9jLmg+CiAjZW5kaWYgLyogQ09ORklHX0xJQlVLQUxMT0MgKi8KKyNpZmRlZiBDT05GSUdfTElC
VUtORVRERVYKKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4KKyNlbmRpZiAvKiBDT05GSUdfTElCVUtO
RVRERVYgKi8KIAogc3RydWN0IHVrX3NnbGlzdF9zZWcgewogCV9fcGh5c19hZGRyICBzc19wYWRk
cjsgLyogUGh5c2ljYWwgYWRkcmVzcyAqLwpAQCAtMjY1LDYgKzI2OSwyMCBAQCBpbnQgdWtfc2ds
aXN0X3NsaWNlKHN0cnVjdCB1a19zZ2xpc3QgKm9yaWdpbmFsLCBzdHJ1Y3QgdWtfc2dsaXN0ICoq
c2xpY2UsCiAJCQlzdHJ1Y3QgdWtfYWxsb2MgKmEsIHNpemVfdCBvZmZzZXQsIHNpemVfdCBsZW5n
dGgpOwogI2VuZGlmIC8qIENPTkZJR19MSUJVS0FMTE9DICovCiAKKyNpZmRlZiBDT05GSUdfTElC
VUtORVRERVYKKy8qKgorICogVGhlIGZ1bmN0aW9uIGNyZWF0ZSBhIHNjYXR0ZXIgZ2F0aGVyIGxp
c3QgZnJvbSB0aGUgbmV0YnVmCisgKiBAcGFyYW0gc2cKKyAqCUEgcmVmZXJlbmNlIHRvIHRoZSBz
Y2F0dGVyIGdhdGhlciBsaXN0LgorICogQHBhcmFtIG0wCisgKglBIHJlZmVyZW5jZSB0byB0aGUg
bmV0YnVmCisgKiBAcmV0dXJuCisgKgkwLCBvbiBzdWNjZXNzZnVsIGNyZWF0aW9uIG9mIHRoZSBz
Y2F0dGVyIGdhdGhlciBsaXN0CisgKgktRUlOVkFMLCBJbnZhbGlkIHNnIGxpc3QuCisgKi8KK2lu
dCB1a19zZ2xpc3RfYXBwZW5kX25ldGJ1ZihzdHJ1Y3QgdWtfc2dsaXN0ICpzZywgc3RydWN0IHVr
X25ldGJ1ZiAqbmV0YnVmKTsKKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVQgKi8KKwogI2lmZGVm
IF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYgLyogX19jcGx1c3BsdXMgKi8KZGlmZiAtLWdpdCBhL2xp
Yi91a3NnbGlzdC9zZ2xpc3QuYyBiL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwppbmRleCAwZWMyMTA1
Li4wMTMxNTk2IDEwMDY0NAotLS0gYS9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMKKysrIGIvbGliL3Vr
c2dsaXN0L3NnbGlzdC5jCkBAIC01MzEsMyArNTMxLDI4IEBAIGludCB1a19zZ2xpc3Rfc2xpY2Uo
c3RydWN0IHVrX3NnbGlzdCAqb3JpZ2luYWwsIHN0cnVjdCB1a19zZ2xpc3QgKipzbGljZSwKIAly
ZXR1cm4gMDsKIH0KICNlbmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLworCisjaWZkZWYgQ09ORklH
X0xJQlVLTkVUREVWCitpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlz
dCAqc2csIHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKK3sKKwlzdHJ1Y3Qgc2dzYXZlIHNhdmU7
CisJc3RydWN0IHVrX25ldGJ1ZiAqbmI7CisJaW50IGVycm9yOworCisJaWYgKHNnLT5zZ19tYXhz
ZWcgPT0gMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwllcnJvciA9IDA7CisJU0dMSVNUX1NBVkUo
c2csIHNhdmUpOworCVVLX05FVEJVRl9DSEFJTl9GT1JFQUNIKG5iLCBuZXRidWYpIHsKKwkJaWYg
KGxpa2VseShuYi0+bGVuID4gMCkpIHsKKwkJCWVycm9yID0gdWtfc2dsaXN0X2FwcGVuZChzZywg
bmItPmRhdGEsIG5iLT5sZW4pOworCQkJaWYgKHVubGlrZWx5KGVycm9yKSkgeworCQkJCVNHTElT
VF9SRVNUT1JFKHNnLCBzYXZlKTsKKwkJCQlyZXR1cm4gZXJyb3I7CisJCQl9CisJCX0KKwl9CisJ
cmV0dXJuIDA7Cit9CisjZW5kaWYgLyogQ09ORklHX0xJQlVLTkVUREVWICovCmRpZmYgLS1naXQg
YS9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYyBiL3BsYXQvZHJpdmVycy92aXJ0aW8v
dmlydGlvX25ldC5jCmluZGV4IGRmYWJmY2MuLmUyYjE5YzAgMTAwNjQ0Ci0tLSBhL3BsYXQvZHJp
dmVycy92aXJ0aW8vdmlydGlvX25ldC5jCisrKyBiL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlv
X25ldC5jCkBAIC03OSw2ICs3OSwxNyBAQCB0eXBlZGVmIGVudW0gewogfSB2aXJ0cV90eXBlX3Q7
CiAKIC8qKgorICogV2hlbiBtZXJnZWFibGUgYnVmZmVycyBhcmUgbm90IG5lZ290aWF0ZWQsIHRo
ZSB2dG5ldF9yeF9oZWFkZXIgc3RydWN0dXJlCisgKiBiZWxvdyBpcyBwbGFjZWQgYXQgdGhlIGJl
Z2lubmluZyBvZiB0aGUgbmV0YnVmIGRhdGEuIFVzZSA0IGJ5dGVzIG9mIHBhZCB0bworICogYm90
aCBrZWVwIHRoZSBWaXJ0SU8gaGVhZGVyIGFuZCB0aGUgZGF0YSBub24tY29udGlndW91cyBhbmQg
dG8ga2VlcCB0aGUKKyAqIGZyYW1lJ3MgcGF5bG9hZCA0IGJ5dGUgYWxpZ25lZC4KKyAqLworc3Ry
dWN0IHZpcnRpb19uZXRfcnhfaGRyIHsKKwlzdHJ1Y3QgdmlydGlvX25ldF9oZHIgdmhkcjsKKwlj
aGFyICAgICAgICAgICAgdnJoX3BhZFtWVE5FVF9SWF9IRUFERVJfUEFEXTsKK307CisKKy8qKgog
ICogQGludGVybmFsIHN0cnVjdHVyZSB0byByZXByZXNlbnQgdGhlIHRyYW5zbWl0IHF1ZXVlLgog
ICovCiBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlIHsKQEAgLTE4MCw2ICsxOTEsNyBAQCBzdGF0
aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9kaXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCiAJ
CQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUpOwogc3RhdGljIGludCB2
aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCiAJCQkJICAgICBz
dHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICpxdWV1ZSk7CitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0
ZGV2X3htaXRfZnJlZShzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpOwogc3RhdGljIGlu
dCB2aXJ0aW9fbmV0ZGV2X3htaXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAogCQkJICAgICAgc3Ry
dWN0IHVrX25ldGRldl90eF9xdWV1ZSAqcXVldWUsCiAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVm
ICpwa3QpOwpAQCAtMTk1LDcgKzIwNywxMyBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhx
X2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVfaWQsCiAJCQkJICAg
ICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7CiBzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVldWVf
aWQsCiAJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbyk7CitzdGF0
aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1
ZSAqcnhxLAorCQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqKm5ldGJ1Zik7CitzdGF0aWMgaW50
IHZpcnRpb19uZXRkZXZfcnhxX2VucXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhx
LAorCQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqbmV0YnVmKTsKIHN0YXRpYyBpbnQgdmlydGlv
X25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZvaWQgKnByaXYpOworc3Rh
dGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4X2ZpbGx1cChzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
ICpyeHEsCisJCXN0cnVjdCB1a19uZXRidWYgKipuZXRidWYsIF9fdTE2ICpjb3VudCk7CiAKIC8q
KgogICogU3RhdGljIGdsb2JhbCBjb25zdGFudHMKQEAgLTIyMywzMCArMjQxLDMxNCBAQCBzdGF0
aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9kb25lKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lk
ICpwcml2KQogCXJldHVybiAxOwogfQogCitzdGF0aWMgdm9pZCB2aXJ0aW9fbmV0ZGV2X3htaXRf
ZnJlZShzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICp0eHEpCit7CisJc3RydWN0IHVrX25ldGJ1
ZiAqcGt0ID0gTlVMTDsKKwlpbnQgY250ID0gMDsKKworCWZvciAoOzspIHsKKwkJcGt0ID0gKHN0
cnVjdCB1a19uZXRidWYgKikKKwkJCXZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZSh0eHEtPnZxLCBO
VUxMKTsKKwkJaWYgKCFwa3QpCisJCQlicmVhazsKKwkJLyoqCisJCSAqIFJlbGVhc2luZyB0aGUg
ZnJlZSBidWZmZXIgYmFjayB0byBuZXRidWYuIFRoZSBuZXRidWYgY291bGQKKwkJICogdXNlIHRo
ZSBkZXN0cnVjdG9yIHRvIGluZm9ybSB0aGUgc3RhY2sgcmVnYXJkaW5nIHRoZSBmcmVlIHVwCisJ
CSAqIG9mIG1lbW9yeS4KKwkJICovCisJCXVrX25ldGJ1Zl9mcmVlKHBrdCk7CisJCWNudCsrOwor
CX0KKwl1a19wcl9kZWJ1ZygiRnJlZSAlIl9fUFJJdTE2IiBkZXNjcmlwdG9yc1xuIiwgY250KTsK
K30KKworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4X2ZpbGx1cChzdHJ1Y3QgdWtfbmV0ZGV2
X3J4X3F1ZXVlICpyeHEsCisJCXN0cnVjdCB1a19uZXRidWYgKipuZXRidWYsIF9fdTE2ICpjb3Vu
dCkKK3sKKwlpbnQgcmMgPSAwOworCV9fdTE2IGkgPSAwOworCV9fdTE2IGNudCA9IDA7CisKKwkv
KioKKwkgKiBGaXhlZCBhbW91bnQgb2YgbWVtb3J5IGlzIGFsbG9jYXRlZCB0byBlYWNoIHJlY2Vp
dmVkIGJ1ZmZlci4gSW4KKwkgKiBvdXIgY2FzZSBzaW5jZSB3ZSBkb24ndCBzdXBwb3J0IGp1bWJv
IGZyYW1lIG9yIExSTyB5ZXQgd2UgcmVxdWlyZQorCSAqIHRoYXQgdGhlIGJ1ZmZlciBmZWVkIHRv
IHRoZSByaW5nIGRlc2NyaXB0b3IgaXMgYXRsZWFzdAorCSAqIGV0aGVybmV0IE1UVSArIHZpcnRp
byBuZXQgaGVhZGVyLgorCSAqLworCWZvciAoaSA9IDA7IGkgPCAqY291bnQ7IGkrKykgeworCQly
YyA9IHZpcnRpb19uZXRkZXZfcnhxX2VucXVldWUocnhxLCBuZXRidWZbaV0pOworCQlpZiAocmMg
PT0gLUVOT1NQQykgeworCQkJdWtfcHJfZGVidWcoCisJCQkJIk5vIG1vcmUgcGxhY2UgYXZhaWxh
YmxlIHRvIGFkZCBkZXNjcmlwdG9yc1xuIik7CisJCQlyYyA9IDA7CisJCQlicmVhazsKKwkJfSBl
bHNlIGlmICh1bmxpa2VseShyYyA8IDApKSB7CisJCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhZGQg
YSBidWZmZXIgdG8gdGhlIHZpcnRxdWV1ZTogJWRcbiIsCisJCQkJICByYyk7CisJCQlicmVhazsK
KwkJfQorCQljbnQrKzsKKwl9CisJKmNvdW50ID0gKmNvdW50IC0gY250OworCisJLyoqCisJICog
Tm90aWZ5IHRoZSBob3N0LCB3aGVuIHdlIHN1Ym1pdCBuZXcgZGVzY3JpcHRvcihzKS4KKwkgKi8K
KwlpZiAoY250KQorCQl2aXJ0cXVldWVfaG9zdF9ub3RpZnkocnhxLT52cSk7CisKKwlyZXR1cm4g
cmM7Cit9CisKIHN0YXRpYyBpbnQgdmlydGlvX25ldGRldl94bWl0KHN0cnVjdCB1a19uZXRkZXYg
KmRldiwKIAkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAogCQkJICAg
ICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQogeworCXN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAq
dm5kZXYgX191bnVzZWQ7CisJc3RydWN0IHZpcnRpb19uZXRfaGRyICp2aGRyOworCWludDE2X3Qg
aGVhZGVyX3N6ID0gc2l6ZW9mKCp2aGRyKTsKIAlpbnQgcmMgPSAwOworCXNpemVfdCB0b3RhbF9s
ZW4gPSAwOwogCiAJVUtfQVNTRVJUKGRldik7CiAJVUtfQVNTRVJUKHBrdCAmJiBxdWV1ZSk7CiAK
Kwl2bmRldiA9IHRvX3ZpcnRpb25ldGRldihkZXYpOworCS8qKgorCSAqIFdlIGFyZSByZWNsYWlt
aW5nIHRoZSBmcmVlIGRlc2NyaXB0b3JzIGZyb20gYnVmZmVycy4gVGhlIGZ1bmN0aW9uIGlzCisJ
ICogbm90IHByb3RlY3RlZCBieSBtZWFucyBvZiBsb2Nrcy4gV2UgbmVlZCB0byBiZSBjYXJlZnVs
IGlmIHRoZXJlIGFyZQorCSAqIG11bHRpcGxlIGNvbnRleHQgdGhyb3VnaCB3aGljaCB3ZSBmcmVl
IHRoZSB0eCBkZXNjcmlwdG9ycy4KKwkgKi8KKwl2aXJ0aW9fbmV0ZGV2X3htaXRfZnJlZShxdWV1
ZSk7CisKKwkvKioKKwkgKiBVc2UgdGhlIHByZWFsbG9jYXRlZCBoZWFkZXIgc3BhY2UgZm9yIHRo
ZSB2aXJ0aW8gaGVhZGVyLgorCSAqLworCXJjID0gdWtfbmV0YnVmX2hlYWRlcihwa3QsIGhlYWRl
cl9zeik7CisJaWYgKHVubGlrZWx5KHJjICE9IDEpKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRv
IHByZXBlbmQgdmlydGlvIGhlYWRlclxuIik7CisJCXJjID0gLUVOT1NQQzsKKwkJZ290byBleGl0
OworCX0KKwl2aGRyID0gcGt0LT5kYXRhOworCisJLyoqCisJICogRmlsbCB0aGUgdmlydGlvLW5l
dC1oZWFkZXIgd2l0aCB0aGUgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLgorCSAqIFplcm8gZXhwbGlj
aXRseSBzZXQuCisJICovCisJdmhkci0+ZmxhZ3MgPSAwOworCXZoZHItPmdzb190eXBlID0gVklS
VElPX05FVF9IRFJfR1NPX05PTkU7CisKKwkvKioKKwkgKiBQcmVwYXJlIHRoZSBzZ2xpc3QgYW5k
IGVucXVldWUgdGhlIGJ1ZmZlciB0byB0aGUgdmlydGlvLXJpbmcuCisJICovCisJdWtfc2dsaXN0
X3Jlc2V0KCZxdWV1ZS0+c2cpOworCisJLyoqCisJICogQWNjb3JkaW5nIHRoZSBzcGVjaWZpY2F0
aW9uIDUuMS42LjYsIHdlIG5lZWQgdG8gZXhwbGljaXRseSB1c2UKKwkgKiAyIGRlc2NyaXB0b3Ig
Zm9yIGVhY2ggdHJhbnNtaXQgYW5kIHJlY2VpdmUgbmV0d29yayBwYWNrZXQgc2luY2Ugd2UKKwkg
KiBkbyBub3QgbmVnb3RpYXRlIGZvciB0aGUgVklSVElPX0ZfQU5ZX0xBWU9VVC4KKwkgKgorCSAq
IDEgZm9yIHRoZSB2aXJ0aW8gaGVhZGVyIGFuZCB0aGUgb3RoZXIgZm9yIHRoZSBhY3R1YWwgbmV0
d29yayBwYWNrZXQuCisJICovCisJLyogQXBwZW5kaW5nIHRoZSBkYXRhIHRvIHRoZSBsaXN0LiAq
LworCXJjID0gdWtfc2dsaXN0X2FwcGVuZCgmcXVldWUtPnNnLCB2aGRyLCBoZWFkZXJfc3opOwor
CWlmICh1bmxpa2VseShyYyAhPSAwKSkgeworCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQg
dG8gdGhlIHNnIGxpc3RcbiIpOworCQlnb3RvIGV4aXQ7CisJfQorCXJjID0gdWtfc2dsaXN0X2Fw
cGVuZCgmcXVldWUtPnNnLCBwa3QtPmRhdGEgKyBoZWFkZXJfc3osCisJCQkocGt0LT5sZW4gLSBo
ZWFkZXJfc3opKTsKKwlpZiAodW5saWtlbHkocmMgIT0gMCkpIHsKKwkJdWtfcHJfZXJyKCJGYWls
ZWQgdG8gYXBwZW5kIHRvIHRoZSBzZyBsaXN0XG4iKTsKKwkJZ290byBleGl0OworCX0KKwlpZiAo
cGt0LT5uZXh0KSB7CisJCXJjID0gdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoJnF1ZXVlLT5zZywg
cGt0LT5uZXh0KTsKKwkJaWYgKHVubGlrZWx5KHJjICE9IDApKSB7CisJCQl1a19wcl9lcnIoIkZh
aWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOworCQkJZ290byBleGl0OworCQl9CisJ
fQorCisJdG90YWxfbGVuID0gdWtfc2dsaXN0X2xlbmd0aCgmcXVldWUtPnNnKTsKKwlpZiAodW5s
aWtlbHkodG90YWxfbGVuID4gVklSVElPX1BLVF9CVUZGRVJfTEVOKSkgeworCQl1a19wcl9lcnIo
IlBhY2tldCBzaXplIHRvbyBiaWc6ICVsdSwgbWF4OiV1XG4iLAorCQkJICB0b3RhbF9sZW4sIFZJ
UlRJT19QS1RfQlVGRkVSX0xFTik7CisJCXJldHVybiAtRU5PVFNVUDsKKwl9CisKKwkvKioKKwkg
KiBBZGRpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHRoZSB2aXJ0cXVldWUuCisJICovCisJcmMgPSB2
aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocXVldWUtPnZxLCBwa3QsICZxdWV1ZS0+c2csCisJCQkJ
ICAgICAgcXVldWUtPnNnLnNnX25zZWcsIDApOworCWlmIChsaWtlbHkocmMgPj0gMCkpIHsKKwkJ
LyoqCisJCSAqIE5vdGlmeSB0aGUgaG9zdCB0aGUgbmV3IGJ1ZmZlci4KKwkJICovCisJCXZpcnRx
dWV1ZV9ob3N0X25vdGlmeShxdWV1ZS0+dnEpOworCQkvKioKKwkJICogV2hlbiB0aGVyZSBpcyBm
dXJ0aGVyIHNwYWNlIGF2YWlsYWJsZSBpbiB0aGUgcmluZworCQkgKiByZXR1cm4gMiBlbHNlIDEu
CisJCSAqLworCQlyYyA9IGxpa2VseShyYyA+IDApID8gMiA6IDE7CisJfSBlbHNlIGlmIChyYyA9
PSAtRU5PU1BDKSB7CisJCXVrX3ByX2RlYnVnKCJObyBtb3JlIGRlc2NyaXB0b3IgYXZhaWxhYmxl
XG4iKTsKKwkJcmMgPSAwOworCX0gZWxzZSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIGVucXVl
dWUgZGVzY3JpcHRvcnMgaW50byB0aGUgcmluZzogJWRcbiIsCisJCQkgIHJjKTsKKwl9CisKK2V4
aXQ6CiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdihzdHJ1
Y3QgdWtfbmV0ZGV2ICpkZXYgX191bnVzZWQsCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhx
X2VucXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQkJCSAgICAgc3RydWN0
IHVrX25ldGJ1ZiAqbmV0YnVmKQoreworCWludCByYyA9IDA7CisJc3RydWN0IHZpcnRpb19uZXRf
cnhfaGRyICpyeGhkcjsKKwlpbnQxNl90IGhlYWRlcl9zeiA9IHNpemVvZigqcnhoZHIpOworCV9f
dTggKmJ1Zl9zdGFydDsKKwlzaXplX3QgYnVmX2xlbiA9IDA7CisJc3RydWN0IHVrX3NnbGlzdCAq
c2c7CisKKwlpZiAodmlydHF1ZXVlX2lzX2Z1bGwocnhxLT52cSkpIHsKKwkJdWtfcHJfZGVidWco
IlRoZSB2aXJ0cXVldWUgaXMgZnVsbFxuIik7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCS8q
KgorCSAqIFNhdmluZyB0aGUgYnVmZmVyIGluZm9ybWF0aW9uIGJlZm9yZSByZXNlcnZpbmcgdGhl
IGhlYWRlciBzcGFjZS4KKwkgKi8KKwlidWZfc3RhcnQgPSBuZXRidWYtPmRhdGE7CisJYnVmX2xl
biA9IG5ldGJ1Zi0+bGVuOworCisJLyoqCisJICogUmV0cmlldmUgdGhlIGJ1ZmZlciBoZWFkZXIg
bGVuZ3RoLgorCSAqLworCXJjID0gdWtfbmV0YnVmX2hlYWRlcihuZXRidWYsIGhlYWRlcl9zeik7
CisJaWYgKHVubGlrZWx5KHJjICE9IDEpKSB7CisJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFsbG9j
YXRlIHNwYWNlIHRvIHByZXBlbmQgdmlydGlvIGhlYWRlclxuIik7CisJCXJldHVybiAtRUlOVkFM
OworCX0KKwlyeGhkciA9IG5ldGJ1Zi0+ZGF0YTsKKworCXNnID0gJnJ4cS0+c2c7CisJdWtfc2ds
aXN0X3Jlc2V0KHNnKTsKKworCS8qIEFwcGVuZGluZyB0aGUgaGVhZGVyIGJ1ZmZlciB0byB0aGUg
c2dsaXN0ICovCisJdWtfc2dsaXN0X2FwcGVuZChzZywgcnhoZHIsIHNpemVvZihzdHJ1Y3Qgdmly
dGlvX25ldF9oZHIpKTsKKworCS8qIEFwcGVuZGluZyB0aGUgZGF0YSBidWZmZXIgdG8gdGhlIHNn
bGlzdCAqLworCXVrX3NnbGlzdF9hcHBlbmQoc2csIGJ1Zl9zdGFydCwgYnVmX2xlbik7CisKKwly
YyA9IHZpcnRxdWV1ZV9idWZmZXJfZW5xdWV1ZShyeHEtPnZxLCBuZXRidWYsIHNnLCAwLCBzZy0+
c2dfbnNlZyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhx
X2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAorCQkJCSAgICAgc3RydWN0
IHVrX25ldGJ1ZiAqKm5ldGJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCB1a19uZXRidWYg
KmJ1ZiA9IE5VTEw7CisJX191MzIgbGVuOworCisJVUtfQVNTRVJUKG5ldGJ1Zik7CisKKwlidWYg
PSAoc3RydWN0IHVrX25ldGJ1ZiAqKXZpcnRxdWV1ZV9idWZmZXJfZGVxdWV1ZShyeHEtPnZxLCAm
bGVuKTsKKwlpZiAoIWJ1ZikgeworCQl1a19wcl9kZWJ1ZygiTm8gZGF0YSBhdmFpbGFibGUgaW4g
dGhlIHF1ZXVlXG4iKTsKKwkJKm5ldGJ1ZiA9IE5VTEw7CisJCXJldHVybiAwOworCX0KKwlpZiAo
dW5saWtlbHkoKGxlbiA8IFZJUlRJT19IRFJfTEVOICsgRVRIX0hEUl9MRU4pCisJCSAgICAgfHwg
KGxlbiA+IFZJUlRJT19QS1RfQlVGRkVSX0xFTikpKSB7CisJCXVrX3ByX2VycigiUmVjZWl2ZWQg
aW52YWxpZCBwYWNrZXQgc2l6ZTogJSJfX1BSSXUzMiJcbiIsIGxlbik7CisJCXJldHVybiAtRUlO
VkFMOworCX0KKworCS8qKgorCSAqIFJlbW92aW5nIHRoZSB2aXJ0aW8gaGVhZGVyIGZyb20gdGhl
IGJ1ZmZlciBhbmQgYWRqdXN0aW5nIGxlbmd0aC4KKwkgKiBXZSBwYWQgIlZUTkVUX1JYX0hFQURF
Ul9QQUQiIHRvIHRoZSByeCBidWZmZXIgd2hpbGUgZW5xdWV1aW5nIGZvcgorCSAqIGFsaWdubWVu
dCBvZiB0aGUgcGFja2V0IGRhdGEuIFdlIGNvbXBlbnNhdGUgZm9yIHRoaXMsIGJ5IGFkZGluZyB0
aGUKKwkgKiAgcGFkZGluZyB0byB0aGUgbGVuZ3RoIG9uIGRlcXVldWUuCisJICovCisJYnVmLT5s
ZW4gPSBsZW4gKyBWVE5FVF9SWF9IRUFERVJfUEFEOworCXJjID0gdWtfbmV0YnVmX2hlYWRlcihi
dWYsCisJCQkgICAgICAtKChpbnQxNl90KXNpemVvZihzdHJ1Y3QgdmlydGlvX25ldF9yeF9oZHIp
KSk7CisJVUtfQVNTRVJUKHJjID09IDEpOworCSpuZXRidWYgPSBidWY7CisKKwlyZXR1cm4gMTsK
K30KKworc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2
LAogCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVldWUsCi0JCQkgICAgICBz
dHJ1Y3QgdWtfbmV0YnVmICoqcGt0IF9fdW51c2VkLAorCQkJICAgICAgc3RydWN0IHVrX25ldGJ1
ZiAqKnBrdCwKIAkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKmZpbGx1cFtdLAogCQkJICAgICAg
dWludDE2X3QgKmZpbGx1cF9jb3VudCkKIHsKIAlpbnQgcmMgPSAwOworCWludCBjbnQgPSAwOwog
CiAJVUtfQVNTRVJUKGRldiAmJiBxdWV1ZSk7CiAJVUtfQVNTRVJUKCFmaWxsdXAgfHwgKGZpbGx1
cCAmJiAqZmlsbHVwX2NvdW50ID4gMCkpOwogCi0JcmV0dXJuIHJjOworCWlmIChwa3QgJiYgKHF1
ZXVlLT5pbnRyX2VuYWJsZWQgJiBWVE5FVF9JTlRSX1VTUl9FTl9NQVNLKSkgeworCQl2aXJ0cXVl
dWVfaW50cl9kaXNhYmxlKHF1ZXVlLT52cSk7CisJCXF1ZXVlLT5pbnRyX2VuYWJsZWQgJj0gfihW
VE5FVF9JTlRSX0VOKTsKKwl9CisKKwlpZiAocGt0KSB7CisJCXJjID0gdmlydGlvX25ldGRldl9y
eHFfZGVxdWV1ZShxdWV1ZSwgcGt0KTsKKwkJaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKKwkJCXVr
X3ByX2VycigiRmFpbGVkIHRvIGRlcXVldWUgdGhlIHBhY2tldDogJWRcbiIsIHJjKTsKKwkJCWdv
dG8gZXJyX2V4aXQ7CisJCX0KKwkJY250ID0gcmM7CisJfQorCWlmIChmaWxsdXApCisJCXZpcnRp
b19uZXRkZXZfcnhfZmlsbHVwKHF1ZXVlLCBmaWxsdXAsIGZpbGx1cF9jb3VudCk7CisKKwkvKiBF
bmFibGUgaW50ZXJydXB0IG9ubHkgd2hlbiB1c2VyIGhhZCBwcmV2aW91c2x5IGVuYWJsZWQgaXQg
Ki8KKwlpZiAocGt0ICYmIChxdWV1ZS0+aW50cl9lbmFibGVkICYgVlRORVRfSU5UUl9VU1JfRU5f
TUFTSykpIHsKKwkJLyogTmVlZCB0byBlbmFibGUgdGhlIGludGVycnVwdCBvbiB0aGUgbGFzdCBw
YWNrZXQgKi8KKwkJcmMgPSB2aXJ0cXVldWVfaW50cl9lbmFibGUocXVldWUtPnZxKTsKKwkJaWYg
KHJjID09IDEgJiYgY250ID09IDApIHsKKwkJCS8qKgorCQkJICogUGFja2V0IGFycml2ZSBhZnRl
ciByZWFkaW5nIHRoZSBxdWV1ZSBhbmQgYmVmb3JlCisJCQkgKiBlbmFibGluZyB0aGUgaW50ZXJy
dXB0CisJCQkgKi8KKwkJCXJjID0gdmlydGlvX25ldGRldl9yeHFfZGVxdWV1ZShxdWV1ZSwgcGt0
KTsKKwkJCWlmICh1bmxpa2VseShyYyA8IDApKSB7CisJCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8g
ZGVxdWV1ZSB0aGUgcGFja2V0OiAlZFxuIiwKKwkJCQkJICByYyk7CisJCQkJZ290byBlcnJfZXhp
dDsKKwkJCX0KKwkJCS8qIE5lZWQgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQgb24gdGhlIGxhc3Qg
cGFja2V0ICovCisJCQlyYyA9IHZpcnRxdWV1ZV9pbnRyX2VuYWJsZShxdWV1ZS0+dnEpOworCQkJ
Y250ID0gKHJjID09IDEpID8gMiA6IDE7CisJCX0gZWxzZSBpZiAoY250ID4gMCkgeworCQkJLyog
V2hlbiB0aGVyZSBpcyBwYWNrZXQgaW4gdGhlIGJ1ZmZlciAqLworCQkJY250ID0gKHJjID09IDEp
ID8gMiA6IDE7CisJCX0KKwl9IGVsc2UgaWYgKHBrdCAmJiBjbnQgPiAwKSB7CisJCS8qKgorCQkg
KiBGb3IgcG9sbGluZyBjYXNlLCB3ZSByZXBvcnQgYWx3YXlzIHRoZXJlIGFyZSBmdXJ0aGVyCisJ
CSAqIHBhY2tldHMgdW5sZXNzIHRoZSBxdWV1ZSBpcyBlbXB0eS4KKwkJICovCisJCWNudCA9IDI7
CisJfQorCitleGl0OgorCXJldHVybiBjbnQ7CisKK2Vycl9leGl0OgorCWNudCA9IHJjOworCWdv
dG8gZXhpdDsKIH0KIAogc3RhdGljIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnZpcnRpb19u
ZXRkZXZfcnhfcXVldWVfc2V0dXAoCi0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9z
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcv
bWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:57:36 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcOV-0008QC-Mi; Thu, 25 Oct 2018 09:57:35 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcOU-0008Q3-B7
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 09:57:34 +0000
X-Inumbo-ID: f99d6bb9-d83b-11e8-a8a5-bc764e045a96
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.54])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id f99d6bb9-d83b-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 11:54:35 +0200 (CEST)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9P9vScF016434;
 Thu, 25 Oct 2018 10:57:28 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 17:57:26 +0800
Message-Id: <20181025095727.17409-1-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel]  [UNIKRAFT RFC PATCH 0/1] Implement rtc
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW1wbGVtZW50IFBMMDMxIFJUQyBsaWJyYXJ5IGZvciBBcm0KCkppYW55b25nIFd1ICgxKToKICBJ
bXBsZW1lbnQgUEwwMzEgUlRDIGxpYnJhcnkgZm9yIEFybQoKIGxpYi9mZHQvaW5jbHVkZS9saWJm
ZHQuaCAgICAgIHwgICAxICsKIHBsYXQvY29tbW9uL2FybS9ydGMuYyAgICAgICAgIHwgMTY3ICsr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQvY29tbW9uL2luY2x1ZGUvYXJt
L3J0Yy5oIHwgIDQzICsrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygr
KQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL2FybS9ydGMuYwogY3JlYXRlIG1vZGUg
MTAwNjQ0IHBsYXQvY29tbW9uL2luY2x1ZGUvYXJtL3J0Yy5oCgotLSAKMi4xNy4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 09:57:37 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 09:57:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcOX-0008Qo-OE; Thu, 25 Oct 2018 09:57:37 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcOW-0008QK-9x
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 09:57:36 +0000
X-Inumbo-ID: 9b1dad68-d83c-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.54])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 9b1dad68-d83c-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 09:59:05 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9P9vScG016434;
 Thu, 25 Oct 2018 10:57:30 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 17:57:27 +0800
Message-Id: <20181025095727.17409-2-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20181025095727.17409-1-jianyong.wu@arm.com>
References: <20181025095727.17409-1-jianyong.wu@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 1/1] Implement PL031 RTC library
 for Arm
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogSmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CgpTaWduZWQtb2ZmLWJ5OiBX
ZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTogSmlhbnlvbmcgV3UgPGpp
YW55b25nLnd1QGFybS5jb20+Ci0tLQogbGliL2ZkdC9pbmNsdWRlL2xpYmZkdC5oICAgICAgfCAg
IDEgKwogcGxhdC9jb21tb24vYXJtL3J0Yy5jICAgICAgICAgfCAxNjcgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKwogcGxhdC9jb21tb24vaW5jbHVkZS9hcm0vcnRjLmggfCAgNDMg
KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDIxMSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgcGxhdC9jb21tb24vYXJtL3J0Yy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9j
b21tb24vaW5jbHVkZS9hcm0vcnRjLmgKCmRpZmYgLS1naXQgYS9saWIvZmR0L2luY2x1ZGUvbGli
ZmR0LmggYi9saWIvZmR0L2luY2x1ZGUvbGliZmR0LmgKaW5kZXggMDVkZWRiZC4uOTZkNTMwZCAx
MDA2NDQKLS0tIGEvbGliL2ZkdC9pbmNsdWRlL2xpYmZkdC5oCisrKyBiL2xpYi9mZHQvaW5jbHVk
ZS9saWJmZHQuaApAQCAtMTg3Myw0ICsxODczLDUgQEAgY29uc3QgY2hhciAqZmR0X3N0cmVycm9y
KGludCBlcnJ2YWwpOwogfQogI2VuZGlmCiAKK3ZvaWQgKl9saWJrdm1wbGF0X2R0YjsKICNlbmRp
ZiAvKiBfTElCRkRUX0ggKi8KZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2FybS9ydGMuYyBiL3Bs
YXQvY29tbW9uL2FybS9ydGMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j
MWNkYzhkCi0tLSAvZGV2L251bGwKKysrIGIvcGxhdC9jb21tb24vYXJtL3J0Yy5jCkBAIC0wLDAg
KzEsMTY3IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisv
KgorICogQXV0aG9yczogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5jb20+CisgKiAgICAgICAgICBK
aWFueW9uZyBXdSA8SmlhbnlvbmcuV3VAYXJtLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIw
MTgsIEFybSBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVp
dGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9S
UyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZ
IE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworI2luY2x1ZGUg
PHN0cmluZy5oPgorI2luY2x1ZGUgPGxpYmZkdC5oPgorI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgor
I2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KKyNpbmNsdWRlIDx1ay9wcmludC5oPgorI2luY2x1
ZGUgPGFybS9jcHUuaD4KKworc3RhdGljIHZvaWQgKnJ0Y19iYXNlX2FkZHI7Cit1aW50MzJfdCBy
dGNfYm9vdF9zZWNvbmRzOworCisvKiBEZWZpbmUgb2Zmc2V0IG9mIFJUQyByZWdpc3RlcnMgKi8K
KyNkZWZpbmUgUlRDX1JFR19EUgkwCisjZGVmaW5lIFJUQ19SRUdfTVIJMHg0CisjZGVmaW5lIFJU
Q19SRUdfTFIJMHg4CisjZGVmaW5lIFJUQ19SRUdfQ1IJMHhjCisjZGVmaW5lIFJUQ19SRUdfSU1T
QwkweDEwCisjZGVmaW5lIFJUQ19SRUdfUklTCTB4MTQKKyNkZWZpbmUgUlRDX1JFR19NSVMJMHgx
OAorI2RlZmluZSBSVENfUkVHX0lDUgkweDFjCisKKyNkZWZpbmUgUlRDX1JFRyhyKQkocnRjX2Jh
c2VfYWRkciArIChyKSkKKworc3RhdGljIGNoYXIgKnJ0Y19kZXZpY2VfbGlzdFtdID0geworCSJh
cm0scGwwMzEiLAorCSJhcm0scHJpbWVjZWxsIiwKK307CisKK3VpbnQzMl90IHJ0Y19yZWFkKHZv
aWQpCit7CisJcmV0dXJuIGlvcmVnX3JlYWQzMihSVENfUkVHKFJUQ19SRUdfRFIpKTsKK30KKwor
LyoKKyAqIHNldCBydGMgbWF0Y2ggcmVnaXN0ZXIgY29tcGFyaW5nIHdpdGggY291bnRlcgorICog
dmFsdWUgdG8gZ2VuZXJhdCBhIGludGVycnVwdAorICovCit2b2lkIHJ0Y19zZXRfbWF0Y2godWlu
dDMyX3QgYWxhbSkKK3sKKwlpb3JlZ193cml0ZTMyKFJUQ19SRUcoUlRDX1JFR19NUiksIGFsYW0p
OworfQorCit2b2lkIHJ0Y191cGRhdGUodWludDMyX3QgdmFsKQoreworCWlvcmVnX3dyaXRlMzIo
UlRDX1JFRyhSVENfUkVHX0xSKSwgdmFsKTsKK30KKwordm9pZCBydGNfZW5hYmxlKHZvaWQpCit7
CisJaW9yZWdfd3JpdGUzMihSVENfUkVHKFJUQ19SRUdfQ1IpLCAxKTsKK30KKworLyogcmV0dXJu
IHJ0YyBzdGF0dXMsIDEgZGVub3RlcyBlbmFibGUgYW5kIDAgZGVub3RlcyBkaXNhYmxlICovCit1
aW50MzJfdCBydGNfZ2V0X3N0YXR1cyh2b2lkKQoreworCXVpbnQzMl90IHZhbDsKKworCXZhbCA9
IGlvcmVnX3JlYWQzMihSVENfUkVHKFJUQ19SRUdfQ1IpKTsKKwl2YWwgJj0gMHgxOworCXJldHVy
biB2YWw7Cit9CisKKy8qIG1hc2sgYWxhbSAqLwordm9pZCBydGNfbWFza19pbnRyKHZvaWQpCit7
CisJaW9yZWdfd3JpdGUzMihSVENfUkVHKFJUQ19SRUdfSU1TQyksIDEpOworfQorCisvKiBjbGVh
ciBhbGFtIG1hc2sgKi8KK3ZvaWQgcnRjX3VubWFza19pbnRyKHZvaWQpCit7CisJaW9yZWdfd3Jp
dGUzMihSVENfUkVHKFJUQ19SRUdfSU1TQyksIDApOworfQorCisvKiByZXR1cm4gdGhlIHJhdyBz
dGF0ZSBvZiBydGMgaW50ZXJydXB0IGJlZm9yZSBtYXNraW5nKi8KK3VpbnQzMl90IHJ0Y19nZXRf
aW50cl9yYXdfc3RhdGUodm9pZCkKK3sKKwlyZXR1cm4gaW9yZWdfcmVhZDMyKFJUQ19SRUcoUlRD
X1JFR19SSVMpKTsKK30KKworLyogcmV0dXJuIGludGVycnVwdCBzdGF0ZSBhZnRlciBpbnRlcnJ1
cHQgbWFza2luZyAqLwordWludDMyX3QgcnRjX2dldF9pbnRyX3N0YXRlKHZvaWQpCit7CisJcmV0
dXJuIGlvcmVnX3JlYWQzMihSVENfUkVHKFJUQ19SRUdfTUlTKSk7Cit9CisKK3ZvaWQgcnRjX2Ns
ZWFyX2ludHIodm9pZCkKK3sKKwlpb3JlZ193cml0ZTMyKFJUQ19SRUcoUlRDX1JFR19JQ1IpLCAx
KTsKK30KKworaW50IF9kdGJfaW5pdF9ydGModm9pZCAqZHRiKQoreworCXVpbnQzMl90IGlkeDsK
KwlpbnQgZmR0X3J0YywgbmFkZHIsIG5zaXplLCBwcm9wX2xlbiwgcHJvcF9taW5fbGVuOworCWNv
bnN0IHVpbnQ2NF90ICpyZWdzOworCisJdWtfcHJpbnRkKERMVkxfSU5GTywgIlByb2JpbmcgUlRD
Li4uXG4iKTsKKwlmb3IgKGlkeCA9IDA7CisJCWlkeCA8IHNpemVvZihydGNfZGV2aWNlX2xpc3Qp
IC8gc2l6ZW9mKHJ0Y19kZXZpY2VfbGlzdFswXSk7CisJCWlkeCsrKSB7CisJCWZkdF9ydGMgPSBm
ZHRfbm9kZV9vZmZzZXRfYnlfY29tcGF0aWJsZShkdGIsIC0xLAorCQkJCXJ0Y19kZXZpY2VfbGlz
dFtpZHhdKTsKKyAgICAgICAgICAgICAgICBpZiAoZmR0X3J0YyA+PSAwKQorICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisJfQorCisJaWYgKGZkdF9ydGMgPCAwKQorCQlVS19DUkFTSCgi
Tm8gdmFsaWQgUlRDIGRldmljZSBmaW5kXG4iKTsKKworCW5hZGRyID0gZmR0X2FkZHJlc3NfY2Vs
bHMoZHRiLCBmZHRfcnRjKTsKKwlpZiAobmFkZHIgPCAwIHx8IG5hZGRyID49IEZEVF9NQVhfTkNF
TExTKQorCQlVS19DUkFTSCgiQ291bGQgbm90IGZpbmQgcHJvcGVyIGFkZHJlc3MgY2VsbHMhXG4i
KTsKKworCW5zaXplID0gZmR0X3NpemVfY2VsbHMoZHRiLCBmZHRfcnRjKTsKKwlpZiAobnNpemUg
PCAwIHx8IG5zaXplID49IEZEVF9NQVhfTkNFTExTKQorCQlVS19DUkFTSCgiQ291bGQgbm90IGZp
bmQgcHJvcGVyIHNpemUgY2VsbHMhXG4iKTsKKworICAgICAgICByZWdzID0gZmR0X2dldHByb3Ao
ZHRiLCBmZHRfcnRjLCAicmVnIiwgJnByb3BfbGVuKTsKKworCS8qCisJICogVGhlIHByb3BlcnR5
IG11c3QgY29udGFpbiBhdCBsZWFzdCB0aGUgc3RhcnQgYWRkcmVzcyBhbmQgc2l6ZS4KKwkgKi8K
Kwlwcm9wX21pbl9sZW4gPSAoaW50KXNpemVvZihmZHQzMl90KSAqIChuYWRkciArIG5zaXplKTsK
KwlpZiAocmVncyA9PSBOVUxMIHx8IHByb3BfbGVuIDwgcHJvcF9taW5fbGVuKQorCQlVS19DUkFT
SCgiQmFkICdyZWcnIHByb3BlcnR5OiAlcCAlZFxuIiwgcmVncywgcHJvcF9sZW4pOworCisJcnRj
X2Jhc2VfYWRkciA9ICh2b2lkICopZmR0NjRfdG9fY3B1KHJlZ3NbMF0pOworCisJLyogUmVjb3Jk
IHRoZSBib290IHNlY29uZHMgKi8KKwlydGNfYm9vdF9zZWNvbmRzID0gcnRjX3JlYWQoKTsKKwor
CXVrX3ByaW50ZChETFZMX0lORk8sICJGb3VuZCBSVEMgb246ICVwXG4iLCBydGNfYmFzZV9hZGRy
KTsKK30KZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvYXJtL3J0Yy5oIGIvcGxhdC9j
b21tb24vaW5jbHVkZS9hcm0vcnRjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uZDhiYWI3ZgotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvY29tbW9uL2luY2x1ZGUvYXJtL3J0
Yy5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1D
bGF1c2UgKi8KKy8qCisgKiBBdXRob3JzOiBXZWkgQ2hlbiA8V2VpLkNoZW5AYXJtLmNvbT4KKyAq
ICAgICAgICAgIEppYW55b25nIFd1IDxKaWFueW9uZy5XdUBhcm0uY29tPgorICoKKyAqIENvcHly
aWdodCAoYykgMjAxOCwgQXJtIEx0ZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv
ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogICAgdGhpcyBzb2Z0d2FyZSB3aXRo
b3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
ICJBUyBJUyIKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1Ig
Q09OVFJJQlVUT1JTIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFCisgKiBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqCisgKiBUSElT
IEhFQURFUiBNQVkgTk9UIEJFIEVYVFJBQ1RFRCBPUiBNT0RJRklFRCBJTiBBTlkgV0FZLgorICov
CisKKyNpZm5kZWYgX19QTEFUX0NNTl9BUk1fUlRDX0hfXworI2RlZmluZSBfX1BMQVRfQ01OX0FS
TV9SVENfSF9fCisKK2V4dGVybiB1aW50MzJfdCBydGNfYm9vdF9zZWNvbmRzOworCitpbnQgX2R0
Yl9pbml0X3J0Yyh2b2lkICpkdGIpOworCisjZW5kaWYgLy9fX1BMQVRfQ01OX0FSTV9HSUNWMl9I
X18KLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnBy
b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9t
aW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:03:51 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:03:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcUY-0000p3-8Q; Thu, 25 Oct 2018 10:03:50 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcUW-0000oW-Qd
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:03:48 +0000
X-Inumbo-ID: 7999d2ce-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.53])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7999d2ce-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:05:18 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA3h8G017669;
 Thu, 25 Oct 2018 11:03:44 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:03:41 +0800
Message-Id: <20181025100343.17855-1-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel]  [UNIKRAFT RFC PATCH 0/2] Implement irq handle
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW1wbGVtZW50IEdJQ3YyIGxpYnJhcnkgYW5kIHRyYXAgZnVuY3Rpb24sIHNvIGlycSBoYW5kbGUg
ZnJhbWUgaXMKZW5hYmxlZAoKSmlhbnlvbmcgV3UgKDIpOgogIEltcGxlbWVudCBnaWMtdjIgbGli
cmFyeSBmb3IgQXJtCiAgcGxhdC9jb21tb246IEFkZCB0cmFwIGZ1bmN0aW9uIHRvIGhhbmRsZSBB
cm02NCBpcnEgdHJhcCBhbmQgbW9yZQogICAgaW50ZXJydXB0IGhhbmRsZXJzIGFyZSBjb21pbmcu
CgogcGxhdC9jb21tb24vYXJtL2dpYy12Mi5jICAgICAgICAgfCA0NDcgKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKwogcGxhdC9jb21tb24vYXJtL3RyYXBzLmMgICAgICAgICAgfCAgMjUg
KysKIHBsYXQvY29tbW9uL2luY2x1ZGUvYXJtL2dpYy12Mi5oIHwgMzgwICsrKysrKysrKysrKysr
KysrKysrKysrKysrCiBwbGF0L2NvbW1vbi9pbmNsdWRlL2lycS5oICAgICAgICB8ICAxNSArKwog
cGxhdC9rdm0vTWFrZWZpbGUudWsgICAgICAgICAgICAgfCAgIDIgKwogcGxhdC9rdm0vYXJtL2V4
Y2VwdGlvbnMuUyAgICAgICAgfCAgMTAgKy0KIHBsYXQva3ZtL2FybS9zZXR1cC5jICAgICAgICAg
ICAgIHwgIDU1ICsrLS0KIDcgZmlsZXMgY2hhbmdlZCwgOTExIGluc2VydGlvbnMoKyksIDIzIGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL2FybS9naWMtdjIuYwog
Y3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29tbW9uL2luY2x1ZGUvYXJtL2dpYy12Mi5oCgotLSAK
Mi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
TWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v
cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1k
ZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:03:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcUb-0000pW-A9; Thu, 25 Oct 2018 10:03:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcUZ-0000pK-SO
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:03:51 +0000
X-Inumbo-ID: 7addb682-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.53])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7addb682-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:05:20 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA3h8H017669;
 Thu, 25 Oct 2018 11:03:46 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:03:42 +0800
Message-Id: <20181025100343.17855-2-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20181025100343.17855-1-jianyong.wu@arm.com>
References: <20181025100343.17855-1-jianyong.wu@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 1/2] Implement gic-v2 library
 for Arm
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogSmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CgpUaGlzIGxpYnJhcnkgaGFz
IGltcGxlbWVudGVkIGJhc2ljIEdJQ3YyIGZ1bmN0aW9ucy4gV2UgZG9uJ3Qgc3VwcG9ydApHSUN2
Mk0gYW5kIHNlY3VyaXR5IGV4dGVuc2lvbiBpbiB0aGlzIGxpYnJhcnkuCgpTaWduZWQtb2ZmLWJ5
OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTogSmlhbnlvbmcgV3Ug
PGppYW55b25nLnd1QGFybS5jb20+Ci0tLQogcGxhdC9jb21tb24vYXJtL2dpYy12Mi5jICAgICAg
ICAgfCA0NDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9jb21tb24vaW5j
bHVkZS9hcm0vZ2ljLXYyLmggfCAzODAgKysrKysrKysrKysrKysrKysrKysrKysrKysKIHBsYXQv
Y29tbW9uL2luY2x1ZGUvaXJxLmggICAgICAgIHwgIDE1ICsrCiBwbGF0L2t2bS9NYWtlZmlsZS51
ayAgICAgICAgICAgICB8ICAgMiArCiBwbGF0L2t2bS9hcm0vc2V0dXAuYyAgICAgICAgICAgICB8
ICA1NSArKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDg3NyBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlv
bnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9hcm0vZ2ljLXYyLmMKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9pbmNsdWRlL2FybS9naWMtdjIuaAoKZGlmZiAtLWdp
dCBhL3BsYXQvY29tbW9uL2FybS9naWMtdjIuYyBiL3BsYXQvY29tbW9uL2FybS9naWMtdjIuYwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OGE3Njg4Ci0tLSAvZGV2L251bGwK
KysrIGIvcGxhdC9jb21tb24vYXJtL2dpYy12Mi5jCkBAIC0wLDAgKzEsNDQ3IEBACisvKiBTUERY
LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogV2Vp
IENoZW4gPFdlaS5DaGVuQGFybS5jb20+CisgKiAgICAgICAgICBKaWFueW9uZyBXdSA8Smlhbnlv
bmcuV3VAYXJtLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgsIEFybSBMdGQuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0
aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0
b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZy
b20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQg
T1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1
ZGUgPGxpYmZkdC5oPgorI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KKyNpbmNsdWRlIDx1ay9w
cmludC5oPgorI2luY2x1ZGUgPHVrL2Fzc2VydC5oPgorI2luY2x1ZGUgPHVrL2JpdG9wcy5oPgor
I2luY2x1ZGUgPHVrL2FzbS5oPgorI2luY2x1ZGUgPGlycS5oPgorI2luY2x1ZGUgPGFybS9jcHUu
aD4KKyNpbmNsdWRlIDxhcm0vZ2ljLXYyLmg+CisKK3N0YXRpYyB2b2lkICpnaWNfZGlzdF9hZGRy
LCAqZ2ljX2NwdWlmX2FkZHI7CitzdGF0aWMgdWludDY0X3QgZ2ljX2Rpc3Rfc2l6ZSwgZ2ljX2Nw
dWlmX3NpemU7CisKKyNkZWZpbmUgR0lDX0RJU1RfUkVHKHIpCShnaWNfZGlzdF9hZGRyICsgKHIp
KQorI2RlZmluZSBHSUNfQ1BVX1JFRyhyKQkoZ2ljX2NwdWlmX2FkZHIgKyAocikpCisKK3N0YXRp
YyBjaGFyICpnaWNfZGV2aWNlX2xpc3RbXSA9IHsKKwkiYXJtLGNvcnRleC1hMTUtZ2ljIiwKKwki
YXJtLGNvcnRleC1hNy1naWMiLAorCSJhcm0sY29ydGV4LWE5LWdpYyIsCisJImFybSxnaWMtNDAw
IiwKKwkiYXJtLGViMTFtcC1naWMiLAorCSJhcm0scGwzOTAiLAorCSJhcm0sYXJtMTE3Nmp6Zi1k
ZXZjaGlwLWdpYyIsCisJImFybSxhcm0xMW1wLWdpYyIsCisJImFybSx0YzExbXAtZ2ljIiwKKwki
YnJjbSxicmFobWEtYjE1LWdpYyIsCisJIm52aWRpYSx0ZWdyYTIxMC1hZ2ljIiwKKwkicWNvbSxt
c20tODY2MC1xZ2ljIiwKKwkicWNvbSxtc20tcWdpYzIiLAorfTsKKworLyogaW5saW5lIGZ1bmN0
aW9ucyB0byBhY2Nlc3MgR0lDQyAmIEdJQ0QgcmVnaXN0ZXJzICovCitzdGF0aWMgaW5saW5lIHZv
aWQgd3JpdGVfZ2ljZDgodWludDY0X3Qgb2Zmc2V0LCB1aW50OF90IHZhbCkKK3sKKwlpb3JlZ193
cml0ZTgoR0lDX0RJU1RfUkVHKG9mZnNldCksIHZhbCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9p
ZCB3cml0ZV9naWNkMzIodWludDY0X3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWwpCit7CisJaW9yZWdf
d3JpdGUzMihHSUNfRElTVF9SRUcob2Zmc2V0KSwgdmFsKTsKK30KKworc3RhdGljIGlubGluZSB1
aW50MzJfdCByZWFkX2dpY2QzMih1aW50NjRfdCBvZmZzZXQpCit7CisJcmV0dXJuIGlvcmVnX3Jl
YWQzMihHSUNfRElTVF9SRUcob2Zmc2V0KSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB3cml0
ZV9naWNjMzIodWludDY0X3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWwpCit7CisgICAgICAgIGlvcmVn
X3dyaXRlMzIoR0lDX0NQVV9SRUcob2Zmc2V0KSwgdmFsKTsKK30KKworc3RhdGljIGlubGluZSB1
aW50MzJfdCByZWFkX2dpY2MzMih1aW50NjRfdCBvZmZzZXQpCit7CisJcmV0dXJuIGlvcmVnX3Jl
YWQzMihHSUNfQ1BVX1JFRyhvZmZzZXQpKTsKK30KKworLyoKKyAqIEZ1bmN0aW9ucyBvZiBHSUMg
Q1BVIGludGVyZmFjZQorICovCisKKy8qIEVuYWJsZSBHSUMgY3B1IGludGVyZmFjZSAqLworc3Rh
dGljIHZvaWQgZ2ljX2VuYWJsZV9jcHVpZih2b2lkKQoreworCS8qIGp1c3Qgc2V0IGJpdCAwIHRv
IDEgdG8gZW5hYmxlIGNwdSBpbnRlcmZhY2UgKi8KKwl3cml0ZV9naWNjMzIoR0lDQ19DVExSLCBH
SUNDX0NUTFJfRU5BQkxFKTsKK30KKworLyogU2V0IHByaW9yaXR5IHRocmVzaG9sZCBmb3IgcHJv
Y2Vzc29yICovCitzdGF0aWMgdm9pZCBnaWNfc2V0X3RocmVzaG9sZF9wcmlvcml0eSh1aW50MzJf
dCB0aHJlc2hvbGRfcHJpbykKK3sKKwkvKiBHSUNDX1BNUiBhbGxvY2F0ZSAxIGJ5dGUgZm9yIGVh
Y2ggaXJxICovCisJaWYgKHRocmVzaG9sZF9wcmlvID4gR0lDQ19QTVJfUFJJT19NQVgpCisJCVVL
X0NSQVNIKCJQb3NzaWJsZSBwcmlvcml0eSBmcm9tIDAgdG8gMjU1LCBpbnB1dDogJWRcbiIsCisJ
CQl0aHJlc2hvbGRfcHJpbyk7CisJd3JpdGVfZ2ljYzMyKEdJQ0NfUE1SLCB0aHJlc2hvbGRfcHJp
byk7Cit9CisKKy8qCisgKiBBY2tub3dsZWRnaW5nIGlycSBlcXVhbHMgcmVhZGluZyBHSUNDX0lB
UiBhbHNvCisgKiBnZXQgdGhlIGludGVycnVwdCBJRCBhcyB0aGUgc2lkZSBlZmZlY3QuCisgKi8K
K3VpbnQzMl90IGdpY19hY2tfaXJxKHZvaWQpCit7CisJcmV0dXJuIHJlYWRfZ2ljYzMyKEdJQ0Nf
SUFSKTsKK30KKworLyoKKyAqIHdyaXRlIHRvIEdJQ0NfRU9JUiB0byBpbmZvcm0gY3B1IGludGVy
ZmFjZSBjb21wbGV0YXRpb24KKyAqIG9mIGludGVycnVwdCBwcm9jZXNzaW5nLiBJZiBHSUNDX0NU
TFIuRU9JbW9kZSBzZXRzIHRvIDEKKyAqIHRoaXMgZnVuYyBqdXN0IGdldHMgcHJpb3JpdHkgZHJv
cC4KKyAqLwordm9pZCBnaWNfZW9pX2lycSh1aW50MzJfdCBpcnEpCit7CisJd3JpdGVfZ2ljYzMy
KEdJQ0NfRU9JUiwgaXJxKTsKK30KKworLyogRnVuY3Rpb25zIG9mIEdJQyBEaXN0cmlidXRvciAq
LworCisvKgorICogQHNnaW50aWQgZGVub3RlcyB0aGUgc2dpIElEOworICogQHRhcmdldGZpbHRl
ciA6IHRoaXMgdGVybSBpcyBUYXJnZXRMaXN0RmlsdGVyCisgKiAwIGRlbm90ZXMgZm9yd2FyZGlu
ZyBpbnRlcnJ1cHQgdG8gY3B1IHNwZWNpZmllZCBpbiB0aGUKKyAqIHRhcmdldCBsaXN0OyAxIGRl
bm90ZXMgZm9yd2FyZGluZyBpbnRlcnJ1cHQgdG8gY3B1IGV4ZWNwdCB0aGUKKyAqIHByb2Nlc3Nv
ciB0aGF0IHJlcXVlc3QgdGhlIGludHJydXB0OyAyIGRlbm90ZXMgZm9yd2FyZGluZyB0aGUKKyAq
IGludGVycnVwdCBvbmx5IHRvIHRoZSBjcHUgdGhhdCByZXF1dGVzdCB0aGUgaW50ZXJydXB0Lgor
ICogQHRhcmdldGxpc3QgaXMgYml0bWFzaywgd2hpY2ggYml0IDEgZGVub3RlcyBmb3J3YXJkaW5n
IHRvIGFuZCBvbmx5IGxvdyA4CisgKiBiaXQgaXMgaW4gdXNlLgorICovCitzdGF0aWMgdm9pZCBn
aWNfc2dpX2dlbih1aW50MzJfdCBzZ2ludGlkLCB1aW50OF90IHRhcmdldGZpbHRlciwKKwkJCXVp
bnQ4X3QgdGFyZ2V0bGlzdCkKK3sKKwl1aW50MzJfdCB2YWw7CisKKwkvKiBPbmx5IElOVElEIDAt
MTUgYWxsb2NhdGVkIHRvIHNnaSAqLworCWlmIChzZ2ludGlkID4gR0lDRF9TR0lfTUFYX0lOSVRJ
RCkKKwkJVUtfQ1JBU0goIk9ubHkgSU5USUQgMC0xNSBhbGxvY2F0ZWQgdG8gc2dpXG4iKTsKKwor
CS8qIFNldCBTR0kgdGFnZXRmaWxldGVyIGZpZWxkICovCisJdmFsID0gKHRhcmdldGZpbHRlciAm
IEdJQ0RfU0dJX0ZJTFRFUl9NQVNLKSA8PCBHSUNEX1NHSV9GSUxURVJfU0hJRlQ7CisKKwkvKiBT
ZXQgU0dJIHRhcmdldGxpc3QgZmllbGQgKi8KKwl2YWwgfD0gKHRhcmdldGxpc3QgJiBHSUNEX1NH
SV9UQVJHRVRfTUFTSykgPDwgR0lDRF9TR0lfVEFSR0VUX1NISUZUOworCisJLyogU2V0IFNHSSBJ
TklUSUQgZmllbGQgKi8KKwl2YWwgfD0gc2dpbnRpZDsKKworCS8qIEdlbmVyYXRlIFNHSSAqLwor
CXdyaXRlX2dpY2QzMihHSUNEX1NHSVIsIHZhbCk7Cit9CisKKy8qCisgKiBGb3J3YXJkIHRoZSBT
SUcgdG8gdGhlIENQVSBpbnRlcmZhY2VzIHNwZWNpZmllZCBpbiB0aGUKKyAqIHRhcmdldGxpc3Qu
IFRhcmdldGxpc3QgaXMgYSA4LWJpdCBiaXRtYXAgZm9yIDB+NyBDUFUuCisgKi8KK3ZvaWQgZ2lj
X3NnaV9nZW5fdG9fbGlzdCh1aW50MzJfdCBzZ2ludGlkLCB1aW50OF90IHRhcmdldGxpc3QpCit7
CisJZ2ljX3NnaV9nZW4oc2dpbnRpZCwgR0lDRF9TR0lfRklMVEVSX1RPX0xJU1QsIHRhcmdldGxp
c3QpOworfQorCisvKgorICogRm9yd2FyZCB0aGUgU0dJIHRvIGFsbCBDUFUgaW50ZXJmYWNlcyBl
eGNlcHQgdGhhdCBvZiB0aGUKKyAqIHByb2Nlc3NvciB0aGF0IHJlcXVlc3RlZCB0aGUgaW50ZXJy
dXB0LgorICovCit2b2lkIGdpY19zZ2lfZ2VuX3RvX290aGVycyh1aW50MzJfdCBzZ2ludGlkKQor
eworCWdpY19zZ2lfZ2VuKHNnaW50aWQsIEdJQ0RfU0dJX0ZJTFRFUl9UT19PVEhFUlMsIDApOwor
fQorCisvKgorICogRm9yd2FyZCB0aGUgU0dJIG9ubHkgdG8gdGhlIENQVSBpbnRlcmZhY2Ugb2Yg
dGhlIHByb2Nlc3NvcgorICogdGhhdCByZXF1ZXN0ZWQgdGhlIGludGVycnVwdC4KKyAqLwordm9p
ZCBnaWNfc2dpX2dlbl90b19zZWxmKHVpbnQzMl90IHNnaW50aWQpCit7CisJZ2ljX3NnaV9nZW4o
c2dpbnRpZCwgR0lDRF9TR0lfRklMVEVSX1RPX1NFTEYsIDApOworfQorCisvKgorICogc2V0IHRh
cmdldCBjcHUgZm9yIGlycSBpbiBkaXN0cmlidXRvciwKKyAqIEB0YXJnZXQ6IGJpdG1hc2sgdmFs
dWUsIGJpdCAxIGluZGljYXRlcyB0YXJnZXQgdG8KKyAqIGNvcnJlc3BvbmRpbmcgY3B1IGludGVy
ZmFjZQorICovCit2b2lkIGdpY19zZXRfaXJxX3RhcmdldCh1aW50MzJfdCBpcnEsIHVpbnQ4X3Qg
dGFyZ2V0KQoreworCXdyaXRlX2dpY2Q4KEdJQ0RfSVRBUkdFVFNSKGlycSksIHRhcmdldCk7Cit9
CisKKy8qIHNldCBwcmlvcml0eSBmb3IgaXJxIGluIGRpc3RyaWJ1dG9yICovCit2b2lkIGdpY19z
ZXRfaXJxX3ByaW8odWludDMyX3QgaXJxLCB1aW50OF90IHByaW9yaXR5KQoreworCXdyaXRlX2dp
Y2Q4KEdJQ0RfSVBSSU9SSVRZUihpcnEpLCBwcmlvcml0eSk7Cit9CisKKy8qCisgKiBFbmFibGUg
YW4gaXJxIGluIGRpc3RyaWJ1dG9yLCBlYWNoIGlycSBvY2N1cGllcyBvbmUgYml0CisgKiB0byBj
b25maWd1cmUgaW4gY29ycmVzcG9uZGluZyByZWdpc3RvcgorICovCit2b2lkIGdpY19lbmFibGVf
aXJxKHVpbnQzMl90IGlycSkKK3sKKwl3cml0ZV9naWNkMzIoR0lDRF9JU0VOQUJMRVIoaXJxKSwK
KwkJVUtfQklUKGlycSAlIEdJQ0RfSV9QRVJfSVNFTkFCTEVSbikpOworfQorCisvKgorICogRGlz
YWJsZSBhbiBpcnEgaW4gZGlzdHJpYnV0b3IsIG9uZSBiaXQgcmVzZXJ2ZWQgZm9yIGFuIGlycQor
ICogdG8gY29uZmlndXJlIGluIGNvcnJlc3BvbmRpbmcgcmVnaXN0ZXIKKyAqLwordm9pZCBnaWNf
ZGlzYWJsZV9pcnEodWludDMyX3QgaXJxKQoreworCXdyaXRlX2dpY2QzMihHSUNEX0lDRU5BQkxF
UihpcnEpLAorCQlVS19CSVQoaXJxICUgR0lDRF9JX1BFUl9JQ0VOQUJMRVJuKSk7Cit9CisKKy8q
IEVuYWJsZSBkaXN0cmlidXRvciAqLworc3RhdGljIHZvaWQgZ2ljX2VuYWJsZV9kaXN0KHZvaWQp
Cit7CisJLyoganVzdCBzZXQgYml0IDAgdG8gMSB0byBlbmFibGUgZGlzdHJpYnV0b3IgKi8KKwl3
cml0ZV9naWNkMzIoR0lDRF9DVExSLCByZWFkX2dpY2QzMihHSUNEX0NUTFIpIHwgR0lDRF9DVExS
X0VOQUJMRSk7Cit9CisKKy8qIGRpc2FibGUgZGlzdHJpYnV0b3IgKi8KK3N0YXRpYyB2b2lkIGdp
Y19kaXNhYmxlX2Rpc3Qodm9pZCkKK3sKKwkvKiBqdXN0IGNsZWFyIGJpdCAwIHRvIDAgdG8gZW5h
YmxlIGRpc3RyaWJ1dG9yICovCisJd3JpdGVfZ2ljZDMyKEdJQ0RfQ1RMUiwgcmVhZF9naWNkMzIo
R0lDRF9DVExSKSAmICh+R0lDRF9DVExSX0VOQUJMRSkpOworfQorCisvKgorICogaW5zcGVjdCB0
aGF0IGlmIGFuIGlycSBpcyBpbiBwZW5kaW5nIHN0YXRlLCBldmVyeSBiaXQKKyAqIGhvbGRzIHRo
ZSBzdGF0ZSB2YWx1ZSBmb3IgdGhlIGNvcnJlc3BvbmRpbmcgaXJxCisgKi8KK2ludCBnaWNfaXNf
aXJxX3BlbmRpbmcodWludDMyX3QgaXJxKQoreworCXJldHVybiAhISAocmVhZF9naWNkMzIoR0lD
RF9JQ1BFTkRSKGlycSkpICYKKwkJVUtfQklUKGlycSAlIEdJQ0RfSV9QRVJfSUNQRU5EUm4pKTsK
K30KKworLyoKKyAqIGluc3BlY3QgdGhhdCBpZiBhbiBpcnEgaXMgaW4gYWN0aXZlIHN0YXRlLAor
ICogZXZlcnkgYml0IGhvbGRzIHRoZSB2YWx1ZSBmb3IgYW4gaXJxCisgKi8KK2ludCBnaWNfaXNf
aXJxX2FjdGl2ZSh1aW50MzJfdCBpcnEpCit7CisJcmV0dXJuICEhIChyZWFkX2dpY2QzMihHSUNE
X0lTQUNUSVZFUihpcnEpKSAmCisJCVVLX0JJVChpcnEgJSBHSUNEX0lfUEVSX0lTQUNUSVZFUm4p
KTsKK30KKworLyogQ29uZmlnIGludHJydXB0IHRyaWdnZXIgdHlwZSBhbmQgcG9sYXJpdHkgKi8K
K3ZvaWQgZ2ljX3NldF9pcnFfdHlwZSh1aW50MzJfdCBpcnEsIGludCB0cmlnZ2VyLCBpbnQgcG9s
YXJpdHkpCit7CisJdWludDMyX3QgdmFsLCBtYXNrLCBvbGRtYXNrOworCisJaWYgKCh0cmlnZ2Vy
ID49IFVLX0lSUV9UUklHR0VSX01BWCkgfHwKKwkJKHBvbGFyaXR5ID49IFVLX0lSUV9QT0xBUklU
WV9NQVgpKQorCQlyZXR1cm47CisKKwl2YWwgPSByZWFkX2dpY2QzMihHSUNEX0lDRkdSKGlycSkp
OworCW1hc2sgPSBvbGRtYXNrID0gKHZhbCA+PiAoKGlycSAlIEdJQ0RfSV9QRVJfSUNGR1JuKSAq
IDIpKSAmCisJCQlHSUNEX0lDRkdSX01BU0s7CisKKwlpZiAodHJpZ2dlciA9PSBVS19JUlFfVFJJ
R0dFUl9MRVZFTCkgeworCQltYXNrICY9IH5HSUNEX0lDRkdSX1RSSUdfTUFTSzsKKwkJbWFzayB8
PSBHSUNEX0lDRkdSX1RSSUdfTFZMOworCX0gZWxzZSBpZiAodHJpZ2dlciA9PSBVS19JUlFfVFJJ
R0dFUl9FREdFKSB7CisJCW1hc2sgJj0gfkdJQ0RfSUNGR1JfVFJJR19NQVNLOworCQltYXNrIHw9
IEdJQ0RfSUNGR1JfVFJJR19FREdFOworCX0KKworCWlmIChwb2xhcml0eSA9PSBVS19JUlFfUE9M
QVJJVFlfTE9XKSB7CisJCW1hc2sgJj0gfkdJQ0RfSUNGR1JfUE9MX01BU0s7CisJCW1hc2sgfD0g
R0lDRF9JQ0ZHUl9QT0xfTE9XOworCX0gZWxzZSBpZiAocG9sYXJpdHkgPT0gVUtfSVJRX1BPTEFS
SVRZX0hJR0gpIHsKKwkJbWFzayAmPSB+R0lDRF9JQ0ZHUl9QT0xfTUFTSzsKKwkJbWFzayB8PSBH
SUNEX0lDRkdSX1BPTF9ISUdIOworCX0KKworCS8qIENoZWNrIGlmIG5vdGhpbmcgY2hhbmdlZCAq
LworCWlmIChtYXNrID09IG9sZG1hc2spCisJCXJldHVybjsKKworCS8qIFVwZGF0ZSBuZXcgaW50
ZXJydXB0IHR5cGUgKi8KKwl2YWwgJj0gKH4oR0lDRF9JQ0ZHUl9NQVNLIDw8IChpcnEgJSBHSUNE
X0lfUEVSX0lDRkdSbikgKiAyKSk7CisJdmFsIHw9IChtYXNrIDw8IChpcnEgJSBHSUNEX0lfUEVS
X0lDRkdSbikgKiAyKTsKKwl3cml0ZV9naWNkMzIoR0lDRF9JQ0ZHUihpcnEpLCB2YWwpOworfQor
CitzdGF0aWMgdm9pZCBnaWNfaW5pdF9kaXN0KHZvaWQpCit7CisJdWludDMyX3QgdmFsLCBjcHVp
Zl9udW1iZXIsIGlycV9udW1iZXI7CisJdWludDMyX3QgaTsKKworCS8qIFR1cm4gZG93biBkaXN0
cmlidXRvciAqLworCWdpY19kaXNhYmxlX2Rpc3QoKTsKKworCS8qIEdldCBHSUMgQ1BVIGludGVy
ZmFjZSAqLworCXZhbCA9IHJlYWRfZ2ljZDMyKEdJQ0RfVFlQRVIpOworCWNwdWlmX251bWJlciA9
IEdJQ0RfVFlQRVJfQ1BVSV9OVU0odmFsKTsKKwlpZiAoY3B1aWZfbnVtYmVyID4gR0lDX01BWF9D
UFVJRikKKwkJY3B1aWZfbnVtYmVyID0gR0lDX01BWF9DUFVJRjsKKwl1a19wcmludGQoRExWTF9J
TkZPLCAiR0lDdjIgTWF4IENQVSBpbnRlcmZhY2U6JWRcbiIsIGNwdWlmX251bWJlcik7CisKKwkv
KiBHZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGludGVycnVwdHMgdGhhdCB0aGUgR0lDIHN1cHBv
cnRzICovCisJaXJxX251bWJlciA9IEdJQ0RfVFlQRVJfTElORV9OVU0odmFsKTsKKwlpZiAoaXJx
X251bWJlciA+IEdJQ19NQVhfSVJRKQorCQlpcnFfbnVtYmVyID0gR0lDX01BWF9JUlE7CisJdWtf
cHJpbnRkKERMVkxfSU5GTywgIkdJQ3YyIE1heCBpbnRlcnJ1cHQgbGluZXM6JWRcbiIsIGlycV9u
dW1iZXIpOworCS8qCisJICogU2V0IGFsbCBTUEkgaW50ZXJydXB0cyB0YXJnZXRzIHRvIGFsbCBD
UFUuCisJICovCisJZm9yIChpID0gR0lDX1NQSV9CQVNFOyBpIDwgaXJxX251bWJlcjsgaSArPSBH
SUNEX0lfUEVSX0lUQVJHRVRTUm4pCisJCXdyaXRlX2dpY2QzMihHSUNEX0lUQVJHRVRTUihpKSwg
R0lDRF9JVEFSR0VUU1JfREVGKTsKKworCS8qCisJICogU2V0IGFsbCBTUEkgaW50ZXJydXB0cyB0
eXBlIHRvIGJlIHBvbGFyaXR5IGxvdyBsZXZlbCB0cmlnZ2VyZWQKKwkgKi8KKwlmb3IgKGkgPSBH
SUNfU1BJX0JBU0U7IGkgPCBpcnFfbnVtYmVyOyBpICs9IEdJQ0RfSV9QRVJfSUNGR1JuKQorCQl3
cml0ZV9naWNkMzIoR0lDRF9JQ0ZHUihpKSwgR0lDRF9JQ0ZHUl9ERUZfVFlQRSk7CisKKwkvKgor
CSAqIFNldCBhbGwgU1BJIHByaW9yaXR5IHRvIGEgZGVmYXVsdCB2YWx1ZS4KKwkgKi8KKwlmb3Ig
KGkgPSBHSUNfU1BJX0JBU0U7IGkgPCBpcnFfbnVtYmVyOyBpICs9IEdJQ0RfSV9QRVJfSVBSSU9S
SVRZbikKKwkJd3JpdGVfZ2ljZDMyKEdJQ0RfSVBSSU9SSVRZUihpKSwgR0lDRF9JUFJJT1JJVFlf
REVGKTsKKworCS8qCisJICogRGVhY3RpdmF0ZSBhbmQgZGlzYWJsZSBhbGwgU1BJcy4KKwkgKi8K
Kwlmb3IgKGkgPSBHSUNfU1BJX0JBU0U7IGkgPCBpcnFfbnVtYmVyOyBpICs9IEdJQ0RfSV9QRVJf
SUNBQ1RJVkVSbikgeworCQl3cml0ZV9naWNkMzIoR0lDRF9JQ0FDVElWRVIoaSksIEdJQ0RfREVG
X0lDQUNUSVZFUm4pOworCQl3cml0ZV9naWNkMzIoR0lDRF9JQ0VOQUJMRVIoaSksIEdJQ0RfREVG
X0lDRU5BQkxFUm4pOworCX0KKworCS8qIHR1cm4gb24gZGlzdHJpYnV0b3IgKi8KKwlnaWNfZW5h
YmxlX2Rpc3QoKTsKK30KKworc3RhdGljIHZvaWQgZ2ljX2luaXRfY3B1aWYodm9pZCkKK3sKKwl1
aW50MzJfdCBpOworCS8qIHNldCBwcmlvcml0eSBtYXNrIHRvIHRoZSBsb3dlc3QgcHJpb3JpdHkg
dG8gbGV0IGFsbCBpcnEgdmlzaWJsZSB0byBjcHUgaW50ZXJmYWNlICovCisJZ2ljX3NldF90aHJl
c2hvbGRfcHJpb3JpdHkoR0lDQ19QTVJfUFJJT19NQVgpOworCisJLyogc2V0IFBQSSBhbmQgU0dJ
IHRvIHBvbGFyaXR5IGxvdyBsZXZlbCB0cmlnZ2VyZWQgKi8KKwlmb3IgKGkgPSAwOyBpIDwgR0lD
X1NQSV9CQVNFOyBpICs9IEdJQ0RfSV9QRVJfSUNGR1JuKQorCQl3cml0ZV9naWNkMzIoR0lDRF9J
Q0ZHUihpKSwgR0lDRF9JQ0ZHUl9ERUZfVFlQRSk7CisKKwkvKiBzZXQgUFBJIGFuZCBTR0kgdG8g
YSBkZWZhdWx0IHZhbHVlICovCisJZm9yIChpID0gMDsgaSA8IEdJQ19TUElfQkFTRTsgaSArPSBH
SUNEX0lfUEVSX0lQUklPUklUWW4pCisJCXdyaXRlX2dpY2QzMihHSUNEX0lQUklPUklUWVIoaSks
IEdJQ0RfSVBSSU9SSVRZX0RFRik7CisgICAgICAgIC8qCisJICogRGVhY3RpdmF0ZSBhbmQgZGlz
YWJsZSBhbGwgUFBJcy4KKwkgKi8KKyAgICAgICAgZm9yIChpID0gMDsgaSA8IEdJQ0RfU0dJX01B
WF9JTklUSUQ7IGkgKz0gR0lDRF9JX1BFUl9JQ0FDVElWRVJuKSB7CisJCXdyaXRlX2dpY2QzMihH
SUNEX0lDQUNUSVZFUihpKSwgR0lDRF9ERUZfSUNBQ1RJVkVSbik7CisJCXdyaXRlX2dpY2QzMihH
SUNEX0lDRU5BQkxFUihpKSwgR0lDRF9ERUZfUFBJX0lDRU5BQkxFUm4pOworCQkJCQkJCSAgICAg
ICAgfQorCS8qIERlYWN0aXZhdGUgYW5kIGVuYWJsZSBhbGwgU0dJcyAqLworCWZvciAoaSA9IDA7
IGkgPCBHSUNfUFBJX0JBU0U7IGkgKz0gR0lDRF9JX1BFUl9JQ0FDVElWRVJuKQorCXsKKwkJd3Jp
dGVfZ2ljZDMyKEdJQ0RfSUNBQ1RJVkVSKGkpLCBHSUNEX0RFRl9JQ0FDVElWRVJuKTsKKwkJd3Jp
dGVfZ2ljZDMyKEdJQ0RfSVNFTkFCTEVSKGkpLCBHSUNEX0RFRl9TR0lfSVNFTkFCTEVSbik7CisJ
fQorCisJLyogZW5hYmxlIGNwdSBpbnRlcmZhY2UgKi8KKwlnaWNfZW5hYmxlX2NwdWlmKCk7Cit9
CisKK2ludCBfZHRiX2luaXRfZ2ljKHZvaWQgKmR0YikKK3sKKwl1aW50MzJfdCBpZHg7CisJaW50
IGZkdF9naWMsIG5hZGRyLCBuc2l6ZSwgcHJvcF9sZW4sIHByb3BfbWluX2xlbjsKKwljb25zdCB1
aW50NjRfdCAqcmVnczsKKworCXVrX3ByaW50ZChETFZMX0lORk8sICJQcm9iaW5nIEdJQ3YyLi4u
XG4iKTsKKwkvKiBDdXJyZW50bHksIHdlIG9ubHkgc3VwcG9ydCAxIEdJQyBwZXIgc3lzdGVtICov
CisJZm9yIChpZHggPSAwOworCQlpZHggPCBzaXplb2YoZ2ljX2RldmljZV9saXN0KSAvIHNpemVv
ZihnaWNfZGV2aWNlX2xpc3RbMF0pOworCQlpZHgrKykgeworCQlmZHRfZ2ljID0gZmR0X25vZGVf
b2Zmc2V0X2J5X2NvbXBhdGlibGUoZHRiLCAtMSwKKwkJCQlnaWNfZGV2aWNlX2xpc3RbaWR4XSk7
CisgICAgICAgICAgICAgICAgaWYgKGZkdF9naWMgPj0gMCkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGJyZWFrOworCX0KKworCWlmIChmZHRfZ2ljIDwgMCkKKwkJVUtfQ1JBU0goIk5vIHZhbGlk
IEdJQyBkZXZpY2UgZmluZFxuIik7CisKKwluYWRkciA9IGZkdF9hZGRyZXNzX2NlbGxzKGR0Yiwg
ZmR0X2dpYyk7CisJaWYgKG5hZGRyIDwgMCB8fCBuYWRkciA+PSBGRFRfTUFYX05DRUxMUykKKwkJ
VUtfQ1JBU0goIkNvdWxkIG5vdCBmaW5kIHByb3BlciBhZGRyZXNzIGNlbGxzIVxuIik7CisKKwlu
c2l6ZSA9IGZkdF9zaXplX2NlbGxzKGR0YiwgZmR0X2dpYyk7CisJaWYgKG5zaXplIDwgMCB8fCBu
c2l6ZSA+PSBGRFRfTUFYX05DRUxMUykKKwkJVUtfQ1JBU0goIkNvdWxkIG5vdCBmaW5kIHByb3Bl
ciBzaXplIGNlbGxzIVxuIik7CisKKyAgICAgICAgcmVncyA9IGZkdF9nZXRwcm9wKGR0YiwgZmR0
X2dpYywgInJlZyIsICZwcm9wX2xlbik7CisKKwkvKgorCSAqIFRoZSBwcm9wZXJ0eSBtdXN0IGNv
bnRhaW4gYXQgbGVhc3QgdGhlIHN0YXJ0IGFkZHJlc3MgYW5kIHNpemUKKwkgKiBvZiBkaXN0cmli
dXRvciBhbmQgY3B1IGludGVyZmFjZQorCSAqLworCXByb3BfbWluX2xlbiA9IChpbnQpc2l6ZW9m
KGZkdDMyX3QpICogKG5hZGRyICsgbnNpemUpICogMjsKKwlpZiAocmVncyA9PSBOVUxMIHx8IHBy
b3BfbGVuIDwgcHJvcF9taW5fbGVuKQorCQlVS19DUkFTSCgiQmFkICdyZWcnIHByb3BlcnR5OiAl
cCAlZFxuIiwgcmVncywgcHJvcF9sZW4pOworCisJLyoKKwkgKiBGcm9tOgorCSAqIGh0dHBzOi8v
Z2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9rZXJuZWwvZ2l0L3N0YWJsZS9saW51eC5naXQv
dHJlZS9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xs
ZXIvYXJtLGdpYy50eHQKKwkgKiBXZSBrbm93IHRoYXQgdGhlIGZpcnN0IHJlZ2lvbiBpcyB0aGUg
R0lDIGRpc3RyaWJ1dG9yIHJlZ2lzdGVyCisJICogYmFzZSBhbmQgc2l6ZS4gVGhlIDJuZCByZWdp
b24gaXMgdGhlIEdJQyBjcHUgaW50ZXJmYWNlIHJlZ2lzdGVyCisJICogYmFzZSBhbmQgc2l6ZS4K
KwkgKi8KKwlnaWNfZGlzdF9hZGRyID0gKHZvaWQgKilmZHQ2NF90b19jcHUocmVnc1swXSk7CisJ
Z2ljX2Rpc3Rfc2l6ZSA9IGZkdDY0X3RvX2NwdShyZWdzWzFdKTsKKwlnaWNfY3B1aWZfYWRkciA9
ICh2b2lkICopZmR0NjRfdG9fY3B1KHJlZ3NbMl0pOworCWdpY19jcHVpZl9zaXplID0gZmR0NjRf
dG9fY3B1KHJlZ3NbM10pOworCisJdWtfcHJpbnRkKERMVkxfSU5GTywgIkZvdW5kIEdJQ3YyIG9u
OlxuIik7CisJdWtfcHJpbnRkKERMVkxfSU5GTywgIlx0Q1BVIGludGVyZmFjZSBhZGRyZXNzOiAl
cFxuIiwgZ2ljX2NwdWlmX2FkZHIpOworCXVrX3ByaW50ZChETFZMX0lORk8sICJcdERpc3RyaWJ1
dG9yIGFkZHJlc3M6ICVwXG4iLCBnaWNfZGlzdF9hZGRyKTsKKworCisJLyogSW5pdGlhbGl6ZSBH
SUN2MiBkaXN0cmlidXRvciAqLworCWdpY19pbml0X2Rpc3QoKTsKKworCS8qIEluaXRpYWxpemUg
R0lDdjIgQ1BVIGludGVyZmFjZSAqLworCWdpY19pbml0X2NwdWlmKCk7CisKKwlyZXR1cm4gMDsK
K30KZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2luY2x1ZGUvYXJtL2dpYy12Mi5oIGIvcGxhdC9j
b21tb24vaW5jbHVkZS9hcm0vZ2ljLXYyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uZGZlZTZhOAotLS0gL2Rldi9udWxsCisrKyBiL3BsYXQvY29tbW9uL2luY2x1ZGUvYXJt
L2dpYy12Mi5oCkBAIC0wLDAgKzEsMzgwIEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
QlNELTMtQ2xhdXNlICovCisvKgorICogQXV0aG9yczogV2VpIENoZW4gPFdlaS5DaGVuQGFybS5j
b20+CisgKiAgICAgICAgICBKaWFueW9uZyBXdSA8SmlhbnlvbmcuV3VAYXJtLmNvbT4KKyAqCisg
KiBDb3B5cmlnaHQgKGMpIDIwMTgsIEFybSBMdGQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBu
b3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVu
ZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqICAgIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgor
ICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdB
WS4KKyAqLworI2lmbmRlZiBfX1BMQVRfQ01OX0FSTV9HSUNfSF9fCisjZGVmaW5lIF9fUExBVF9D
TU5fQVJNX0dJQ19IX18KKworLyoKKyAqIERpc3RyaWJ1dG9yIHJlZ2lzdGVycy4gVW5pa3JhZnQg
b25seSBzdXBwb3J0IHJ1biBvbiBub24tc2VjdXJlCisgKiBzbyB3ZSBqdXN0IGRlc2NyaWJlIG5v
bi1zZWN1cmUgcmVnaXN0ZXJzLgorICovCisKKy8qCisgKiBEaXN0cmlidXRvciBDb250cm9sIFJl
Z2lzdGVyLCBHSUNEX0NUTFIuCisgKiBFbmFibGVzIHRoZSBmb3J3YXJkaW5nIG9mIHBlbmRpbmcg
aW50ZXJydXB0cyBmcm9tIHRoZQorICogRGlzdHJpYnV0b3IgdG8gdGhlIENQVSBpbnRlcmZhY2Vz
CisgKi8KKyNkZWZpbmUgR0lDRF9DVExSCQkweDAwMDAKKyNkZWZpbmUgR0lDRF9DVExSX0VOQUJM
RQkweDEKKworLyoKKyAqIEludGVycnVwdCBDb250cm9sbGVyIFR5cGUgUmVnaXN0ZXIsIEdJQ0Rf
VFlQRVIuCisgKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29uZmlndXJhdGlvbiBv
ZiB0aGUgR0lDLgorICovCisjZGVmaW5lIEdJQ0RfVFlQRVIJCTB4MDAwNAorI2RlZmluZQlHSUNE
X1RZUEVSX0xJTkVfTlVNKHIpCSgoKChyKSAmIDB4MWYpICsgMSkgPDwgNSkKKyNkZWZpbmUJR0lD
RF9UWVBFUl9DUFVJX05VTShyKQkoKCgocikgPj4gNSkgJiAweDMpICsgMSkKKworLyoKKyAqIERp
c3RyaWJ1dG9yIEltcGxlbWVudGVyIElkZW50aWZpY2F0aW9uIFJlZ2lzdGVyLCBHSUNEX0lJRFIu
CisgKiBQcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgaW1wbGVtZW50ZXIgYW5kIHJldmlz
aW9uIG9mIHRoZSBEaXN0cmlidXRvci4KKyAqLworI2RlZmluZSBHSUNEX0lJRFIJCTB4MDAwOAor
I2RlZmluZQlHSUNEX0lJRFJfUFJPRChyKQkoKChyKSA+PiAyNCkgJiAweGZmKQorI2RlZmluZSBH
SUNEX0lJRFJfVkFSKHIpCSgoKHIpID4+IDE2KSAmIDB4ZikKKyNkZWZpbmUJR0lDRF9JSURSX1JF
VihyKQkoKChyKSA+PiAxMikgJiAweGYpCisjZGVmaW5lIEdJQ0RfSUlEUl9JTVBMKHIpCSgocikg
JiAweGZmZikKKworLyoKKyAqIEludGVycnVwdCBHcm91cCBSZWdpc3RlcnMsIEdJQ0RfSUdST1VQ
Um4KKyAqIFRoZXNlIHJlZ2lzdGVycyBwcm92aWRlIGEgc3RhdHVzIGJpdCBmb3IgZWFjaCBpbnRl
cnJ1cHQgc3VwcG9ydGVkIGJ5CisgKiB0aGUgR0lDLiBFYWNoIGJpdCBjb250cm9scyB3aGV0aGVy
IHRoZSBjb3JyZXNwb25kaW5nIGludGVycnVwdCBpcyBpbgorICogR3JvdXAgMCBvciBHcm91cCAx
CisgKi8KKyNkZWZpbmUJR0lDRF9JR1JPVVBSKG4pCQkoMHgwMDgwICsgNCAqICgobikgPj4gNSkp
CisjZGVmaW5lCUdJQ0RfSV9QRVJfSUdST1VQUm4JMzIKKworLyoKKyAqIEludGVycnVwdCBTZXQt
RW5hYmxlIFJlZ2lzdGVycywgR0lDRF9JU0VOQUJMRVJuLgorICogVGhlc2UgcmVnaXN0ZXJzIHBy
b3ZpZGUgYSBTZXQtZW5hYmxlIGJpdCBmb3IgZWFjaCBpbnRlcnJ1cHQgc3VwcG9ydGVkCisgKiBi
eSB0aGUgR0lDLiBXcml0aW5nIDEgdG8gYSBTZXQtZW5hYmxlIGJpdCBlbmFibGVzIGZvcndhcmRp
bmcgb2YgdGhlCisgKiBjb3JyZXNwb25kaW5nIGludGVycnVwdCBmcm9tIHRoZSBEaXN0cmlidXRv
ciB0byB0aGUgQ1BVIGludGVyZmFjZXMuCisgKiBSZWFkaW5nIGEgYml0IGlkZW50aWZpZXMgd2hl
dGhlciB0aGUgaW50ZXJydXB0IGlzIGVuYWJsZWQuCisgKi8KKyNkZWZpbmUJR0lDRF9JU0VOQUJM
RVIobikJKDB4MDEwMCArIDQgKiAoKG4pID4+IDUpKQorI2RlZmluZQlHSUNEX0lfUEVSX0lTRU5B
QkxFUm4JMzIKKyNkZWZpbmUgR0lDRF9ERUZfU0dJX0lTRU5BQkxFUm4JMHhmZmZmCisKKy8qCisg
KiBJbnRlcnJ1cHQgQ2xlYXItRW5hYmxlIFJlZ2lzdGVycywgR0lDRF9JQ0VOQUJMRVJuLgorICog
UHJvdmlkZSBhIENsZWFyLWVuYWJsZSBiaXQgZm9yIGVhY2ggaW50ZXJydXB0IHN1cHBvcnRlZCBi
eSB0aGUgR0lDLgorICogV3JpdGluZyAxIHRvIGEgQ2xlYXItZW5hYmxlIGJpdCBkaXNhYmxlcyBm
b3J3YXJkaW5nIG9mIHRoZQorICogY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQgZnJvbSB0aGUgRGlz
dHJpYnV0b3IgdG8gdGhlIENQVSBpbnRlcmZhY2VzLgorICogUmVhZGluZyBhIGJpdCBpZGVudGlm
aWVzIHdoZXRoZXIgdGhlIGludGVycnVwdCBpcyBlbmFibGVkLgorICovCisjZGVmaW5lCUdJQ0Rf
SUNFTkFCTEVSKG4pCSgweDAxODAgKyA0ICogKChuKSA+PiA1KSkKKyNkZWZpbmUJR0lDRF9JX1BF
Ul9JQ0VOQUJMRVJuCTMyCisjZGVmaW5lCUdJQ0RfREVGX0lDRU5BQkxFUm4JMHhmZmZmZmZmZgor
I2RlZmluZSBHSUNEX0RFRl9QUElfSUNFTkFCTEVSbgkweGZmZmYwMDAwCisKKy8qCisgKiBJbnRl
cnJ1cHQgU2V0LVBlbmRpbmcgUmVnaXN0ZXJzLCBHSUNEX0lTUEVORFJuLgorICogUHJvdmlkZSBh
IFNldC1wZW5kaW5nIGJpdCBmb3IgZWFjaCBpbnRlcnJ1cHQgc3VwcG9ydGVkIGJ5IHRoZSBHSUMu
CisgKiBXcml0aW5nIDEgdG8gYSBTZXQtcGVuZGluZyBiaXQgc2V0cyB0aGUgc3RhdHVzIG9mIHRo
ZSBjb3JyZXNwb25kaW5nCisgKiBwZXJpcGhlcmFsIGludGVycnVwdCB0byBwZW5kaW5nLiBSZWFk
aW5nIGEgYml0IGlkZW50aWZpZXMgd2hldGhlcgorICogdGhlIGludGVycnVwdCBpcyBwZW5kaW5n
LgorICovCisjZGVmaW5lCUdJQ0RfSVNQRU5EUihuKQkJKDB4MDIwMCArIDQgKiAoKG4pID4+IDUp
KQorI2RlZmluZQlHSUNEX0lfUEVSX0lTUEVORFJuCTMyCisvKgorICogSW50ZXJydXB0IENsZWFy
LVBlbmRpbmcgUmVnaXN0ZXJzLCBHSUNEX0lDUEVORFJuCisgKiBQcm92aWRlIGEgQ2xlYXItcGVu
ZGluZyBiaXQgZm9yIGVhY2ggaW50ZXJydXB0IHN1cHBvcnRlZCBieSB0aGUgR0lDLgorICogV3Jp
dGluZyAxIHRvIGEgQ2xlYXItcGVuZGluZyBiaXQgY2xlYXJzIHRoZSBwZW5kaW5nIHN0YXRlIG9m
IHRoZQorICogY29ycmVzcG9uZGluZyBwZXJpcGhlcmFsIGludGVycnVwdC4gUmVhZGluZyBhIGJp
dCBpZGVudGlmaWVzIHdoZXRoZXIKKyAqIHRoZSBpbnRlcnJ1cHQgaXMgcGVuZGluZy4KKyAqLwor
I2RlZmluZQlHSUNEX0lDUEVORFIobikJCSgweDAyODAgKyA0ICogKChuKSA+PiA1KSkKKyNkZWZp
bmUJR0lDRF9JX1BFUl9JQ1BFTkRSbgkzMgorCisvKgorICogSW50ZXJydXB0IFNldC1BY3RpdmUg
UmVnaXN0ZXJzLCBHSUNEX0lTQUNUSVZFUm4KKyAqIFByb3ZpZGUgYSBTZXQtYWN0aXZlIGJpdCBm
b3IgZWFjaCBpbnRlcnJ1cHQgdGhhdCB0aGUgR0lDIHN1cHBvcnRzLgorICogV3JpdGluZyB0byBh
IFNldC1hY3RpdmUgYml0IEFjdGl2YXRlcyB0aGUgY29ycmVzcG9uZGluZyBpbnRlcnJ1cHQuCisg
KiBUaGVzZSByZWdpc3RlcnMgYXJlIHVzZWQgd2hlbiBwcmVzZXJ2aW5nIGFuZCByZXN0b3Jpbmcg
R0lDIHN0YXRlLgorICovCisjZGVmaW5lIEdJQ0RfSVNBQ1RJVkVSKG4pCSgweDAzMDAgKyA0ICog
KChuKSA+PiA1KSkKKyNkZWZpbmUJR0lDRF9JX1BFUl9JU0FDVElWRVJuCTMyCisvKgorICogSW50
ZXJydXB0IENsZWFyLUFjdGl2ZSBSZWdpc3RlcnMsIEdJQ0RfSUNBQ1RJVkVSbgorICogUHJvdmlk
ZSBhIENsZWFyLWFjdGl2ZSBiaXQgZm9yIGVhY2ggaW50ZXJydXB0IHRoYXQgdGhlIEdJQyBzdXBw
b3J0cy4KKyAqIFdyaXRpbmcgdG8gYSBDbGVhci1hY3RpdmUgYml0IERlYWN0aXZhdGVzIHRoZSBj
b3JyZXNwb25kaW5nIGludGVycnVwdC4KKyAqIFRoZXNlIHJlZ2lzdGVycyBhcmUgdXNlZCB3aGVu
IHByZXNlcnZpbmcgYW5kIHJlc3RvcmluZyBHSUMgc3RhdGUuCisgKi8KKyNkZWZpbmUJR0lDRF9J
Q0FDVElWRVIobikJKDB4MDM4MCArIDQgKiAoKG4pID4+IDUpKQorI2RlZmluZQlHSUNEX0lfUEVS
X0lDQUNUSVZFUm4JMzIKKyNkZWZpbmUJR0lDRF9ERUZfSUNBQ1RJVkVSbgkweGZmZmZmZmZmCisK
Ky8qCisgKiBJbnRlcnJ1cHQgSUQgbWFzayBmb3IgR0lDRF9JU0VOQUJMRVIsIEdJQ0RfSUNFTkFC
TEVSLCBHSUNEX0lTUEVORFIsCisgKiBHSUNEX0lDUEVORFIsIEdJQ0RfSVNBQ1RJVkVSIGFuZCBH
SUNEX0lDQUNUSVZFUgorICovCisjZGVmaW5lCUdJQ0RfSV9NQVNLKG4pCQkoMXVsIDw8ICgobikg
JiAweDFmKSkKKworLyoKKyAqIEludGVycnVwdCBQcmlvcml0eSBSZWdpc3RlcnMsIEdJQ0RfSVBS
SU9SSVRZUm4KKyAqIFByb3ZpZGUgYW4gOC1iaXQgcHJpb3JpdHkgZmllbGQgZm9yIGVhY2ggaW50
ZXJydXB0IHN1cHBvcnRlZCBieSB0aGUKKyAqIEdJQy4KKyAqCisgKiBUaGVzZSByZWdpc3RlcnMg
YXJlIGJ5dGUtYWNjZXNzaWJsZSwgc28gd2UgZGVmaW5lIHRoaXMgbWFjcm8KKyAqIGZvciBieXRl
LWFjY2Vzcy4KKyAqLworI2RlZmluZQlHSUNEX0lQUklPUklUWVIobikJKDB4MDQwMCArIChuKSkK
KyNkZWZpbmUJR0lDRF9JX1BFUl9JUFJJT1JJVFluCTQKKyNkZWZpbmUJR0lDRF9JUFJJT1JJVFlf
REVGCTB4YTBhMGEwYTAKKworLyoKKyAqIEludGVycnVwdCBQcm9jZXNzb3IgVGFyZ2V0cyBSZWdp
c3RlcnMsIEdJQ0RfSVRBUkdFVFNSbgorICogUHJvdmlkZSBhbiA4LWJpdCBDUFUgdGFyZ2V0cyBm
aWVsZCBmb3IgZWFjaCBpbnRlcnJ1cHQgc3VwcG9ydGVkIGJ5CisgKiB0aGUgR0lDLgorICoKKyAq
IFRoZXNlIHJlZ2lzdGVycyBhcmUgYnl0ZS1hY2Nlc3NpYmxlLCBzbyB3ZSBkZWZpbmUgdGhpcyBt
YWNybworICogZm9yIGJ5dGUtYWNjZXNzLgorICovCisjZGVmaW5lCUdJQ0RfSVRBUkdFVFNSKG4p
CSgweDA4MDAgKyAobikpCisjZGVmaW5lCUdJQ0RfSV9QRVJfSVRBUkdFVFNSbgk0CisjZGVmaW5l
CUdJQ0RfSVRBUkdFVFNSX0RFRgkweGZmZmZmZmZmCisKKy8qCisgKiBJbnRlcnJ1cHQgQ29uZmln
dXJhdGlvbiBSZWdpc3RlcnMsIEdJQ0RfSUNGR1JuCisgKiBUaGUgR0lDRF9JQ0ZHUnMgcHJvdmlk
ZSBhIDItYml0IEludF9jb25maWcgZmllbGQgZm9yIGVhY2ggaW50ZXJydXB0CisgKiBzdXBwb3J0
ZWQgYnkgdGhlIEdJQy4gVGhpcyBmaWVsZCBpZGVudGlmaWVzIHdoZXRoZXIgdGhlIGNvcnJlc3Bv
bmRpbmcKKyAqIGludGVycnVwdCBpcyBlZGdlLXRyaWdnZXJlZCBvciBsZXZlbC1zZW5zaXRpdmUu
CisgKi8KKyNkZWZpbmUJR0lDRF9JQ0ZHUihuKQkJKDB4MEMwMCArIDQgKiAoKG4pID4+IDQpKQor
I2RlZmluZQlHSUNEX0lfUEVSX0lDRkdSbgkxNgorI2RlZmluZQlHSUNEX0lDRkdSX0RFRl9UWVBF
CTAKKyNkZWZpbmUJR0lDRF9JQ0ZHUl9NQVNLCQkweDMKKy8qIEZpcnN0IGJpdCBpcyBhIHBvbGFy
aXR5IGJpdCAoMCAtIGxvdywgMSAtIGhpZ2gpICovCisjZGVmaW5lCUdJQ0RfSUNGR1JfUE9MX0xP
VwkoMCA8PCAwKQorI2RlZmluZQlHSUNEX0lDRkdSX1BPTF9ISUdICSgxIDw8IDApCisjZGVmaW5l
CUdJQ0RfSUNGR1JfUE9MX01BU0sJMHgxCisvKiBTZWNvbmQgYml0IGlzIGEgdHJpZ2dlciBiaXQg
KDAgLSBsZXZlbCwgMSAtIGVkZ2UpICovCisjZGVmaW5lCUdJQ0RfSUNGR1JfVFJJR19MVkwJKDAg
PDwgMSkKKyNkZWZpbmUJR0lDRF9JQ0ZHUl9UUklHX0VER0UJKDEgPDwgMSkKKyNkZWZpbmUJR0lD
RF9JQ0ZHUl9UUklHX01BU0sJMHgyCisKKy8qCisgKiBTb2Z0d2FyZSBHZW5lcmF0ZWQgSW50ZXJy
dXB0IFJlZ2lzdGVyLCBHSUNEX1NHSVIKKyAqLworI2RlZmluZSBHSUNEX1NHSVIJCTB4MEYwMAor
I2RlZmluZQlHSUNEX1NHSV9UQVJHRVRfU0hJRlQJMTYKKyNkZWZpbmUJR0lDRF9TR0lfVEFSR0VU
X01BU0sJMHhmZgorI2RlZmluZQlHSUNEX1NHSV9GSUxURVJfU0hJRlQJMjQKKyNkZWZpbmUJR0lD
RF9TR0lfRklMVEVSX01BU0sJMHgzCisjZGVmaW5lCUdJQ0RfU0dJX01BWF9JTklUSUQJMTUKKyNk
ZWZpbmUgR0lDRF9QUElfU1RBUlQKKworLyoKKyAqIEZvcndhcmQgdGhlIGludGVycnVwdCB0byB0
aGUgQ1BVIGludGVyZmFjZXMgc3BlY2lmaWVkIGluIHRoZQorICogQ1BVVGFyZ2V0TGlzdCBmaWVs
ZAorICovCisjZGVmaW5lCUdJQ0RfU0dJX0ZJTFRFUl9UT19MSVNUCQkweDAKKy8qCisgKiBGb3J3
YXJkIHRoZSBpbnRlcnJ1cHQgdG8gYWxsIENQVSBpbnRlcmZhY2VzIGV4Y2VwdCB0aGF0IG9mIHRo
ZQorICogcHJvY2Vzc29yIHRoYXQgcmVxdWVzdGVkIHRoZSBpbnRlcnJ1cHQuCisgKi8KKyNkZWZp
bmUJR0lDRF9TR0lfRklMVEVSX1RPX09USEVSUwkweDEKKy8qCisgKiBGb3J3YXJkIHRoZSBpbnRl
cnJ1cHQgb25seSB0byB0aGUgQ1BVIGludGVyZmFjZSBvZiB0aGUgcHJvY2Vzc29yCisgKiB0aGF0
IHJlcXVlc3RlZCB0aGUgaW50ZXJydXB0LgorICovCisjZGVmaW5lCUdJQ0RfU0dJX0ZJTFRFUl9U
T19TRUxGCQkweDIKKworLyoKKyAqIFNHSSBDbGVhci1QZW5kaW5nIFJlZ2lzdGVycywgR0lDRF9D
UEVORFNHSVJuCisgKiBQcm92aWRlIGEgY2xlYXItcGVuZGluZyBiaXQgZm9yIGVhY2ggc3VwcG9y
dGVkIFNHSSBhbmQgc291cmNlCisgKiBwcm9jZXNzb3IgY29tYmluYXRpb24uIFdoZW4gYSBwcm9j
ZXNzb3Igd3JpdGVzIGEgMSB0byBhIGNsZWFyLXBlbmRpbmcKKyAqIGJpdCwgdGhlIHBlbmRpbmcg
c3RhdGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgU0dJIGZvciB0aGUgY29ycmVzcG9uZGluZworICog
c291cmNlIHByb2Nlc3NvciBpcyByZW1vdmVkLCBhbmQgbm8gbG9uZ2VyIHRhcmdldHMgdGhlIHBy
b2Nlc3NvcgorICogcGVyZm9ybWluZyB0aGUgd3JpdGUuIFdyaXRpbmcgYSAwIGhhcyBubyBlZmZl
Y3QuIFJlYWRpbmcgYSBiaXQgaWRlbnRpZmllcworICogd2hldGhlciB0aGUgU0dJIGlzIHBlbmRp
bmcsIGZyb20gdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIHByb2Nlc3Nvciwgb24KKyAqIHRoZSBy
ZWFkaW5nIHByb2Nlc3Nvci4KKyAqLworI2RlZmluZSBHSUNEX0NQRU5EU0dJUm4JCSgweDBGMTAg
KyA0ICooKG4pID4+IDIpKQorI2RlZmluZSBHSUNEX0lfUEVSX0NQRU5EU0dJUm4gICA0CisKKy8q
CisgKiBTR0kgU2V0LVBlbmRpbmcgUmVnaXN0ZXJzLCBHSUNEX1NQRU5EU0dJUm4KKyAqIFByb3Zp
ZGUgYSBzZXQtcGVuZGluZyBiaXQgZm9yIGVhY2ggc3VwcG9ydGVkIFNHSSBhbmQgc291cmNlIHBy
b2Nlc3NvcgorICogY29tYmluYXRpb24uIFdoZW4gYSBwcm9jZXNzb3Igd3JpdGVzIGEgMSB0byBh
IHNldC1wZW5kaW5nIGJpdCwgdGhlIHBlbmRpbmcKKyAqIHN0YXRlIGlzIGFwcGxpZWQgdG8gdGhl
IGNvcnJlc3BvbmRpbmcgU0dJIGZvciB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UKKyAqIHByb2Nl
c3Nvci4gV3JpdGluZyBhIDAgaGFzIG5vIGVmZmVjdC4gUmVhZGluZyBhIGJpdCBpZGVudGlmaWVz
IHdoZXRoZXIKKyAqIHRoZSBTR0kgaXMgcGVuZGluZywgZnJvbSB0aGUgY29ycmVzcG9uZGluZyBz
b3VyY2UgcHJvY2Vzc29yLCBvbiB0aGUKKyAqIHJlYWRpbmcgcHJvY2Vzc29yLgorICovCisjZGVm
aW5lIEdJQ0RfU1BFTkRTR0lSbgkJKDB4MEYyMCArIDQgKigobikgPj4gMikpCisjZGVmaW5lIEdJ
Q0RfSV9QRVJfU1BFTkRTR0lSbiAgIDQKKworCisvKgorICogQ1BVIGludGVyZmFjZSByZWdpc3Rl
cnMuIFVuaWtyYWZ0IG9ubHkgc3VwcG9ydCBydW4gb24gbm9uLXNlY3VyZQorICogc28gd2UganVz
dCBkZXNjcmliZSBub24tc2VjdXJlIHJlZ2lzdGVycy4KKyAqLworCisvKiBDUFUgSW50ZXJmYWNl
IENvbnRyb2wgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgR0lDQ19DVExSCQkweDAwMDAKKyNkZWZpbmUg
R0lDQ19DVExSX0VOQUJMRQkweDEKKworLyogSW50ZXJydXB0IFByaW9yaXR5IE1hc2sgUmVnaXN0
ZXIgKi8KKyNkZWZpbmUgR0lDQ19QTVIJCTB4MDAwNAorI2RlZmluZSBHSUNDX1BNUl9QUklPX01B
WAkyNTUKKworLyogQmluYXJ5IFBvaW50IFJlZ2lzdGVyICovCisjZGVmaW5lIEdJQ0NfQlBSCQkw
eDAwMDgKKworLyogSW50ZXJydXB0IEFja25vd2xlZGdlIFJlZ2lzdGVyICovCisjZGVmaW5lIEdJ
Q0NfSUFSCQkweDAwMEMKKyNkZWZpbmUgR0lDQ19JQVJfSU5USURfTUFTSwkweDNGRgorI2RlZmlu
ZSBHSUNDX0lBUl9JTlRJRF9TUFVSSU9VUwkxMDIzCisKKy8qIEVuZCBvZiBJbnRlcnJ1cHQgUmVn
aXN0ZXIgKi8KKyNkZWZpbmUgR0lDQ19FT0lSCQkweDAwMTAKKworLyogUnVubmluZyBQcmlvcml0
eSBSZWdpc3RlciAqLworI2RlZmluZSBHSUNDX1JQUgkJMHgwMDE0CisKKy8qIEhpZ2hlc3QgUHJp
b3JpdHkgUGVuZGluZyBJbnRlcnJ1cHQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgR0lDQ19IUFBJUgkJ
MHgwMDE4CisKKy8qIEFsaWFzZWQgQmluYXJ5IFBvaW50IFJlZ2lzdGVyICovCisjZGVmaW5lIEdJ
Q0NfQUJQUgkJMHgwMDFDCisKKy8qIENQVSBJbnRlcmZhY2UgSWRlbnRpZmljYXRpb24gUmVnaXN0
ZXIgKi8KKyNkZWZpbmUgR0lDQ19JSURSCQkweDAwRkMKKworLyogRGVhY3RpdmF0ZSBJbnRlcnJ1
cHQgUmVnaXN0ZXIgKi8KKyNkZWZpbmUgR0lDQ19ESVIJCTB4MTAwMAorCisvKgorICogQWNrbm93
bGVkZ2luZyBpcnEgZXF1YWxzIHJlYWRpbmcgR0lDQ19JQVIgYWxzbworICogZ2V0IHRoZSBpbnRy
cnVwdCBJRCBhcyB0aGUgc2lkZSBlZmZlY3QuCisgKi8KK3VpbnQzMl90IGdpY19hY2tfaXJxKHZv
aWQpOworCisvKgorICogd3JpdGUgdG8gR0lDQ19FT0lSIHRvIGluZm9ybSBjcHUgaW50ZXJmYWNl
IGNvbXBsZXRhdGlvbgorICogb2YgaW50ZXJydXB0IHByb2Nlc3NpbmcuIElmIEdJQ0NfQ1RMUi5F
T0ltb2RlIHNldHMgdG8gMQorICogdGhpcyBmdW5jIGp1c3QgZ2V0cyBwcmlvcml0eSBkcm9wLgor
ICovCit2b2lkIGdpY19lb2lfaXJxKHVpbnQzMl90IGlycSk7CisKKy8qCisgKiBGb3J3YXJkIHRo
ZSBTSUcgdG8gdGhlIENQVSBpbnRlcmZhY2VzIHNwZWNpZmllZCBpbiB0aGUKKyAqIHRhcmdldGxp
c3QuIFRhcmdldGxpc3QgaXMgYSA4LWJpdCBiaXRtYXAgZm9yIDB+NyBDUFUuCisgKi8KK3ZvaWQg
Z2ljX3NnaV9nZW5fdG9fbGlzdCh1aW50MzJfdCBzZ2ludGlkLCB1aW50OF90IHRhcmdldGxpc3Qp
OworCisvKgorICogRm9yd2FyZCB0aGUgU0dJIHRvIGFsbCBDUFUgaW50ZXJmYWNlcyBleGNlcHQg
dGhhdCBvZiB0aGUKKyAqIHByb2Nlc3NvciB0aGF0IHJlcXVlc3RlZCB0aGUgaW50ZXJydXB0Lgor
ICovCit2b2lkIGdpY19zZ2lfZ2VuX3RvX290aGVycyh1aW50MzJfdCBzZ2ludGlkKTsKKworLyoK
KyAqIEZvcndhcmQgdGhlIFNHSSBvbmx5IHRvIHRoZSBDUFUgaW50ZXJmYWNlIG9mIHRoZSBwcm9j
ZXNzb3IKKyAqIHRoYXQgcmVxdWVzdGVkIHRoZSBpbnRlcnJ1cHQuCisgKi8KK3ZvaWQgZ2ljX3Nn
aV9nZW5fdG9fc2VsZih1aW50MzJfdCBzZ2ludGlkKTsKKworLyoKKyAqIHNldCB0YXJnZXQgY3B1
IGZvciBpcnEgaW4gZGlzdHJpYnV0b3IsCisgKiBAdGFyZ2V0OiBiaXRtYXNrIHZhbHVlLCBiaXQg
MSBpbmRpY2F0ZXMgdGFyZ2V0IHRvCisgKiBjb3JyZXNwb25kaW5nIGNwdSBpbnRlcmZhY2UKKyAq
Lwordm9pZCBnaWNfc2V0X2lycV90YXJnZXQodWludDMyX3QgaXJxLCB1aW50OF90IHRhcmdldCk7
CisKKy8qIHNldCBwcmlvcml0eSBmb3IgaXJxIGluIGRpc3RyaWJ1dG9yICovCit2b2lkIGdpY19z
ZXRfaXJxX3ByaW8odWludDMyX3QgaXJxLCB1aW50OF90IHByaW9yaXR5KTsKKworLyoKKyAqIEVu
YWJsZSBhbiBpcnEgaW4gZGlzdHJpYnV0b3IsIGVhY2ggaXJxIG9jY3VwaWVzIG9uZSBiaXQKKyAq
IHRvIGNvbmZpZ3VyZSBpbiBjb3JyZXNwb25kaW5nIHJlZ2lzdG9yCisgKi8KK3ZvaWQgZ2ljX2Vu
YWJsZV9pcnEodWludDMyX3QgaXJxKTsKKworLyoKKyAqIERpc2FibGUgYW4gaXJxIGluIGRpc3Ry
aWJ1dG9yLCBvbmUgYml0IHJlc2VydmVkIGZvciBhbiBpcnEKKyAqIHRvIGNvbmZpZ3VyZSBpbiBj
b3JyZXNwb25kaW5nIHJlZ2lzdGVyCisgKi8KK3ZvaWQgZ2ljX2Rpc2FibGVfaXJxKHVpbnQzMl90
IGlycSk7CisKKy8qCisgKiBzZXQgcGVuZGluZyBzdGF0ZSBmb3IgYW4gaXJxIGluIGRpc3RyaWJ1
dG9yLCBvbmUgYml0CisgKiByZXNlcnZlZCBmb3IgYW4gaXJxIHRvIGNvbmZpZ3VyZSBpbiBjb3Jy
ZXNwb25kaW5nIHJlZ2lzdGVyCisgKi8KK3ZvaWQgZ2ljX3NldF9pcnFfcGVuZGluZyh1aW50MzJf
dCBpcnEpOworCisvKgorICogY2xlYXIgcGVuZGluZyBzdGF0ZSBmb3IgYW4gaXJxIGluIGRpc3Ry
aWJ1dG9yLCBvbmUgYml0CisgKiByZXNlcnZlZCBmb3IgYW4gaXJxIHRvIGNvbmZpZ3VyZSBpbiBj
b3JyZXNwb25kaW5nIHJlZ2lzdGVyCisgKi8KK3ZvaWQgZ2ljX2NsZWFyX2lycV9wZW5kaW5nKHVp
bnQzMl90IGlycSk7CisKKy8qCisgKiBpbnNwZWN0IHRoYXQgaWYgYW4gaXJxIGlzIGluIHBlbmRp
bmcgc3RhdGUsIGV2ZXJ5IGJpdAorICogaG9sZHMgdGhlIHZhbHVlIGZvciB0aGUgY29ycmVzcG9u
ZGluZyBpcnEKKyAqLworaW50IGdpY19pc19pcnFfcGVuZGluZyh1aW50MzJfdCBpcnEpOworCisv
KiBzZXQgYWN0aXZlIHN0YXRlIGZvciBhbiBpcnEgaW4gZGlzdHJpYnV0b3IgKi8KK3ZvaWQgZ2lj
X3NldF9pcnFfYWN0aXZlKHVpbnQzMl90IGlycSk7CisKKy8qIGNsZWFyIGFjdGl2ZSBzdGF0ZSBm
b3IgYW4gaXJxIGluIGRpc3RyaWJ1dG9yICovCit2b2lkIGdpY19jbGVhcl9pcnFfYWN0aXZlKHVp
bnQzMl90IGlycSk7CisKKy8qCisgKiBpbnNwZWN0IHRoYXQgaWYgYW4gaXJxIGlzIGluIGFjdGl2
ZSBzdGF0ZSwKKyAqIGV2ZXJ5IGJpdCBob2xkcyB0aGUgdmFsdWUgZm9yIGFuIGlycQorICovCitp
bnQgZ2ljX2lzX2lycV9hY3RpdmUodWludDMyX3QgaXJxKTsKKworLyogQ29uZmlnIGludHJydXB0
IHRyaWdnZXIgdHlwZSBhbmQgcG9sYXJpdHkgKi8KK3ZvaWQgZ2ljX3NldF9pcnFfdHlwZSh1aW50
MzJfdCBpcnEsIGludCB0cmlnZ2VyLCBpbnQgcG9sYXJpdHkpOworCisvKiBJbml0aWFsaXplIEdJ
Q3YyIGZyb20gZGV2aWNlIHRyZWUgKi8KK2ludCBfZHRiX2luaXRfZ2ljKHZvaWQgKmR0Yik7CisK
Ky8qIE1heCBDUFUgaW50ZXJmYWNlIGZvciBHSUN2MiAqLworI2RlZmluZSBHSUNfTUFYX0NQVUlG
CQk4CisKKy8qIFNQSSBpbnRlcnJ1cHQgYmFzZSBJRCAqLworI2RlZmluZSBHSUNfU1BJX0JBU0UJ
CTMyCisKKy8qIFBQSSBpbnRlcnJ1cHQgYmFzZSBJRCAqLworI2RlZmluZSBHSUNfUFBJX0JBU0UJ
CTE2CisKKy8qIE1heCBzdXBwb3J0IGludGVycnVwdCBudW1iZXIgZm9yIEdJQ3YyICovCisjZGVm
aW5lIEdJQ19NQVhfSVJRCQkxMDIwCisKKyNlbmRpZiAvL19fUExBVF9DTU5fQVJNX0dJQ1YyX0hf
XwpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vaW5jbHVkZS9pcnEuaCBiL3BsYXQvY29tbW9uL2lu
Y2x1ZGUvaXJxLmgKaW5kZXggZWRhY2NmZS4uYzM2ZDAwNCAxMDA2NDQKLS0tIGEvcGxhdC9jb21t
b24vaW5jbHVkZS9pcnEuaAorKysgYi9wbGF0L2NvbW1vbi9pbmNsdWRlL2lycS5oCkBAIC00Myw1
ICs0MywyMCBAQAogI2Vycm9yICJBZGQgaXJxLmggZm9yIGN1cnJlbnQgYXJjaGl0ZWN0dXJlLiIK
ICNlbmRpZgogCisvKiBkZWZpbmUgSVJRIHRyaWdnZXIgdHlwZXMgKi8KK2VudW0gdWtfaXJxX3Ry
aWdnZXIgeworCVVLX0lSUV9UUklHR0VSX05PTkUgPSAwLAorCVVLX0lSUV9UUklHR0VSX0VER0Ug
PSAxLAorCVVLX0lSUV9UUklHR0VSX0xFVkVMID0gMiwKKwlVS19JUlFfVFJJR0dFUl9NQVgKK307
CisKKy8qIGRlZmluZSBJUlEgdHJpZ2dlciBwb2xhcml0aWVzICovCitlbnVtIHVrX2lycV9wb2xh
cml0eSB7CisJVUtfSVJRX1BPTEFSSVRZX05PTkUgPSAwLAorCVVLX0lSUV9QT0xBUklUWV9ISUdI
ID0gMSwKKwlVS19JUlFfUE9MQVJJVFlfTE9XID0gMiwKKwlVS19JUlFfUE9MQVJJVFlfTUFYCit9
OwogCiAjZW5kaWYgLyogX19QTEFUX0NNTl9JUlFfSF9fICovCmRpZmYgLS1naXQgYS9wbGF0L2t2
bS9NYWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCmluZGV4IGNjYzgzMTkuLjEzZWY5
ODYgMTAwNjQ0Ci0tLSBhL3BsYXQva3ZtL01ha2VmaWxlLnVrCisrKyBiL3BsYXQva3ZtL01ha2Vm
aWxlLnVrCkBAIC01OCw3ICs1OCw5IEBAIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX0FS
TV82NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9hcm0vY3B1X25hdGl2ZS5jCiBMSUJLVk1Q
TEFUX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1fNjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkv
YXJtL2NhY2hlNjQuU3xjb21tb24KIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82
NCkgKz0gJChVS19QTEFUX0NPTU1PTl9CQVNFKS9hcm0vcHNjaV9hcm02NC5TfGNvbW1vbgogTElC
S1ZNUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JB
U0UpL2FybS90aW1lLmN8Y29tbW9uCitMSUJLVk1QTEFUX1NSQ1MtJChDT05GSUdfQVJDSF9BUk1f
NjQpICs9ICQoVUtfUExBVF9DT01NT05fQkFTRSkvYXJtL3J0Yy5jfGNvbW1vbgogTElCS1ZNUExB
VF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSArPSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2Fy
bS90cmFwcy5jfGNvbW1vbgorTElCS1ZNUExBVF9TUkNTLSQoQ09ORklHX0FSQ0hfQVJNXzY0KSAr
PSAkKFVLX1BMQVRfQ09NTU9OX0JBU0UpL2FybS9naWMtdjIuY3xjb21tb24KIExJQktWTVBMQVRf
U1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJLVk1QTEFUX0JBU0UpL2FybS9lbnRy
eTY0LlMKIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNIX0FSTV82NCkgKz0gJChMSUJLVk1Q
TEFUX0JBU0UpL2FybS9leGNlcHRpb25zLlMKIExJQktWTVBMQVRfU1JDUy0kKENPTkZJR19BUkNI
X0FSTV82NCkgKz0gJChMSUJLVk1QTEFUX0JBU0UpL2FybS9wYWdldGFibGUuUwpkaWZmIC0tZ2l0
IGEvcGxhdC9rdm0vYXJtL3NldHVwLmMgYi9wbGF0L2t2bS9hcm0vc2V0dXAuYwppbmRleCAwOTUz
MGJiLi4zMGUyMmJjIDEwMDY0NAotLS0gYS9wbGF0L2t2bS9hcm0vc2V0dXAuYworKysgYi9wbGF0
L2t2bS9hcm0vc2V0dXAuYwpAQCAtMTgsMTggKzE4LDIwIEBACiAgKiBORUdMSUdFTkNFIE9SIE9U
SEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YgT1IgSU4KICAqIENPTk5FQ1RJT04g
V0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCiAgKi8KKyNpbmNs
dWRlIDxsaW1pdHMuaD4KICNpbmNsdWRlIDxsaWJmZHQuaD4KLSNpbmNsdWRlIDxrdm0vY29uc29s
ZS5oPgorI2luY2x1ZGUgPHVrL2Vzc2VudGlhbHMuaD4KICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4K
KyNpbmNsdWRlIDxrdm0vY29uc29sZS5oPgogI2luY2x1ZGUgPGt2bS1hcm0vbW0uaD4KICNpbmNs
dWRlIDxhcm0vY3B1Lmg+Ci0jaW5jbHVkZSA8dWsvYXJjaC9saW1pdHMuaD4KKyNpbmNsdWRlIDxh
cm0vcnRjLmg+CisjaW5jbHVkZSA8YXJtL2dpYy12Mi5oPgogCiB2b2lkICpfbGlia3ZtcGxhdF9w
YWdldGFibGU7CiB2b2lkICpfbGlia3ZtcGxhdF9oZWFwX3N0YXJ0Owogdm9pZCAqX2xpYmt2bXBs
YXRfc3RhY2tfdG9wOwogdm9pZCAqX2xpYmt2bXBsYXRfbWVtX2VuZDsKLXZvaWQgKl9saWJrdm1w
bGF0X2R0YjsKIAogI2RlZmluZSBNQVhfQ01ETElORV9TSVpFIDEwMjQKIHN0YXRpYyBjaGFyIGNt
ZGxpbmVbTUFYX0NNRExJTkVfU0laRV07CkBAIC00Nyw3ICs0OSw3IEBAIHN0YXRpYyB2b2lkIF9p
bml0X2R0Yih2b2lkICpkdGJfcG9pbnRlcikKIAkJVUtfQ1JBU0goIkludmFsaWQgRFRCOiAlc1xu
IiwgZmR0X3N0cmVycm9yKHJldCkpOwogCiAJX2xpYmt2bXBsYXRfZHRiID0gZHRiX3BvaW50ZXI7
Ci0JdWtfcHJfaW5mbygiRm91bmQgZGV2aWNlIHRyZWUgb246ICVwXG4iLCBkdGJfcG9pbnRlcik7
CisJdWtfcHJpbnRkKERMVkxfSU5GTywgIkZvdW5kIGRldmljZSB0cmVlIG9uOiAlcFxuIiwgZHRi
X3BvaW50ZXIpOwogfQogCiBzdGF0aWMgdm9pZCBfZHRiX2dldF9wc2NpX21ldGhvZCh2b2lkKQpA
QCAtNjUsMTMgKzY3LDEzIEBAIHN0YXRpYyB2b2lkIF9kdGJfZ2V0X3BzY2lfbWV0aG9kKHZvaWQp
CiAJCWZkdHBzY2kgPSBmZHRfbm9kZV9vZmZzZXRfYnlfY29tcGF0aWJsZShfbGlia3ZtcGxhdF9k
dGIsCiAJCQkJCQkJLTEsICJhcm0scHNjaS0wLjIiKTsKIAlpZiAoZmR0cHNjaSA8IDApIHsKLQkJ
dWtfcHJfaW5mbygiTm8gUFNDSSBjb25kdWl0IGZvdW5kIGluIERUQlxuIik7CisJCXVrX3ByaW50
ZChETFZMX0lORk8sICJObyBQU0NJIGNvbmR1aXQgZm91bmQgaW4gRFRCXG4iKTsKIAkJZ290byBl
bm9tZXRob2Q7CiAJfQogCiAJZmR0bWV0aG9kID0gZmR0X2dldHByb3AoX2xpYmt2bXBsYXRfZHRi
LCBmZHRwc2NpLCAibWV0aG9kIiwgJmxlbik7CiAJaWYgKCFmZHRtZXRob2QgfHwgKGxlbiA8PSAw
KSkgewotCQl1a19wcl9pbmZvKCJObyBQU0NJIG1ldGhvZCBmb3VuZFxuIik7CisJCXVrX3ByaW50
ZChETFZMX0lORk8sICJObyBQU0NJIG1ldGhvZCBmb3VuZFxuIik7CiAJCWdvdG8gZW5vbWV0aG9k
OwogCX0KIApAQCAtODAsMTYgKzgyLDE2IEBAIHN0YXRpYyB2b2lkIF9kdGJfZ2V0X3BzY2lfbWV0
aG9kKHZvaWQpCiAJZWxzZSBpZiAoIXN0cmNtcChmZHRtZXRob2QsICJzbWMiKSkKIAkJc21jY19w
c2NpX2NhbGwgPSBzbWNjX3BzY2lfc21jX2NhbGw7CiAJZWxzZSB7Ci0JCXVrX3ByX2luZm8oIklu
dmFsaWQgUFNDSSBjb25kdWl0IG1ldGhvZDogJXNcbiIsCi0JCQkgICBmZHRtZXRob2QpOworCQl1
a19wcmludGQoRExWTF9JTkZPLAorCQkiSW52YWxpZCBQU0NJIGNvbmR1aXQgbWV0aG9kOiAlc1xu
IiwgZmR0bWV0aG9kKTsKIAkJZ290byBlbm9tZXRob2Q7CiAJfQogCi0JdWtfcHJfaW5mbygiUFND
SSBtZXRob2Q6ICVzXG4iLCBmZHRtZXRob2QpOworCXVrX3ByaW50ZChETFZMX0lORk8sICJQU0NJ
IG1ldGhvZDogJXNcbiIsIGZkdG1ldGhvZCk7CiAJcmV0dXJuOwogCiBlbm9tZXRob2Q6Ci0JdWtf
cHJfaW5mbygiU3VwcG9ydCBQU0NJIGZyb20gUFNDSS0wLjJcbiIpOworCXVrX3ByaW50ZChETFZM
X0lORk8sICJTdXBwb3J0IFBTQ0kgZnJvbSBQU0NJLTAuMlxuIik7CiAJc21jY19wc2NpX2NhbGwg
PSBOVUxMOwogfQogCkBAIC0xMDQsMTMgKzEwNiwxMyBAQCBzdGF0aWMgdm9pZCBfaW5pdF9kdGJf
bWVtKHZvaWQpCiAKIAkvKiBzZWFyY2ggZm9yIGFzc2lnbmVkIFZNIG1lbW9yeSBpbiBEVEIgKi8K
IAlpZiAoZmR0X251bV9tZW1fcnN2KF9saWJrdm1wbGF0X2R0YikgIT0gMCkKLQkJdWtfcHJfd2Fy
bigiUmVzZXJ2ZWQgbWVtb3J5IGlzIG5vdCBzdXBwb3J0ZWRcbiIpOworCQl1a19wcmludGQoRExW
TF9XQVJOLCAiUmVzZXJ2ZWQgbWVtb3J5IGlzIG5vdCBzdXBwb3J0ZWRcbiIpOwogCiAJZmR0X21l
bSA9IGZkdF9ub2RlX29mZnNldF9ieV9wcm9wX3ZhbHVlKF9saWJrdm1wbGF0X2R0YiwgLTEsCiAJ
CQkJCQkiZGV2aWNlX3R5cGUiLAogCQkJCQkJIm1lbW9yeSIsIHNpemVvZigibWVtb3J5IikpOwog
CWlmIChmZHRfbWVtIDwgMCkgewotCQl1a19wcl93YXJuKCJObyBtZW1vcnkgZm91bmQgaW4gRFRC
XG4iKTsKKwkJdWtfcHJpbnRkKERMVkxfV0FSTiwgIk5vIG1lbW9yeSBmb3VuZCBpbiBEVEJcbiIp
OwogCQlyZXR1cm47CiAJfQogCkBAIC0xMzgsNyArMTQwLDggQEAgc3RhdGljIHZvaWQgX2luaXRf
ZHRiX21lbSh2b2lkKQogCiAJLyogSWYgd2UgaGF2ZSBtb3JlIHRoYW4gb25lIG1lbW9yeSBiYW5r
LCBnaXZlIGEgd2FybmluZyBtZXNzYXNnZSAqLwogCWlmIChwcm9wX2xlbiA+IHByb3BfbWluX2xl
bikKLQkJdWtfcHJfd2FybigiQ3VycmVudGx5LCB3ZSBzdXBwb3J0IG9ubHkgb25lIG1lbW9yeSBi
YW5rIVxuIik7CisJCXVrX3ByaW50ZChETFZMX1dBUk4sCisJCQkiQ3VycmVudGx5LCB3ZSBzdXBw
b3J0IG9ubHkgb25lIG1lbW9yeSBiYW5rIVxuIik7CiAKIAltZW1fYmFzZSA9IGZkdDY0X3RvX2Nw
dShyZWdzWzBdKTsKIAltZW1fc2l6ZSA9IGZkdDY0X3RvX2NwdShyZWdzWzFdKTsKQEAgLTE3Miwx
NyArMTc1LDI1IEBAIHN0YXRpYyB2b2lkIF9kdGJfZ2V0X2NtZGxpbmUoY2hhciAqY21kbGluZSwg
c2l6ZV90IG1heGxlbikKIAljbWRsaW5lWygodW5zaWduZWQgaW50KSBsZW4gLSAxKSA8PSAobWF4
bGVuIC0gMSkgPwogCQkoKHVuc2lnbmVkIGludCkgbGVuIC0gMSkgOiAobWF4bGVuIC0gMSldID0g
J1wwJzsKIAotCXVrX3ByX2luZm8oIkNvbW1hbmQgbGluZTogJXNcbiIsIGNtZGxpbmUpOworCXVr
X3ByaW50ZChETFZMX0lORk8sICJDb21tYW5kIGxpbmU6ICVzXG4iLCBjbWRsaW5lKTsKIAlyZXR1
cm47CiAKIGVub2NtZGw6Ci0JdWtfcHJfaW5mbygiTm8gY29tbWFuZCBsaW5lIGZvdW5kXG4iKTsK
Kwl1a19wcmludGQoRExWTF9JTkZPLCAiTm8gY29tbWFuZCBsaW5lIGZvdW5kXG4iKTsKIAlzdHJj
cHkoY21kbGluZSwgQ09ORklHX1VLX05BTUUpOwogfQogCiBzdGF0aWMgdm9pZCBfbGlia3ZtcGxh
dF9lbnRyeTIodm9pZCAqYXJnIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQogewotICAgICAgIHVr
cGxhdF9lbnRyeV9hcmdwKE5VTEwsIChjaGFyICopY21kbGluZSwgc3RybGVuKGNtZGxpbmUpKTsK
KwkvKiBBZnRlciBzd2l0Y2ggdG8gbmV3IHN0YWNrLCB3ZSBzdGFydCBpbml0aWFsaXppbmcgb3Ro
ZXIgZGV2aWNlcyAqLworCisJLyogSW5pdGlhbGl6ZSBHSUMgaW50ZXJydXB0IGNvbnRyb2xsZXIg
Ki8KKwlfZHRiX2luaXRfZ2ljKF9saWJrdm1wbGF0X2R0Yik7CisKKwkvKiBJbml0aWFsaXplIFJU
QyAqLworCV9kdGJfaW5pdF9ydGMoX2xpYmt2bXBsYXRfZHRiKTsKKworCXVrcGxhdF9lbnRyeV9h
cmdwKE5VTEwsIChjaGFyICopY21kbGluZSwgc3RybGVuKGNtZGxpbmUpKTsKIH0KIAogdm9pZCBf
bGlia3ZtcGxhdF9zdGFydCh2b2lkICpkdGJfcG9pbnRlcikKQEAgLTE5MCw3ICsyMDEsNyBAQCB2
b2lkIF9saWJrdm1wbGF0X3N0YXJ0KHZvaWQgKmR0Yl9wb2ludGVyKQogCV9pbml0X2R0YihkdGJf
cG9pbnRlcik7CiAJX2xpYmt2bXBsYXRfaW5pdF9jb25zb2xlKCk7CiAKLQl1a19wcl9pbmZvKCJF
bnRlcmluZyBmcm9tIEtWTSAoYXJtNjQpLi4uXG4iKTsKKwl1a19wcmludGQoRExWTF9JTkZPLCAi
RW50ZXJpbmcgZnJvbSBLVk0gKGFybTY0KS4uLlxuIik7CiAKIAkvKiBHZXQgY29tbWFuZCBsaW5l
IGZyb20gRFRCICovCiAKQEAgLTIwMiwxNSArMjEzLDE1IEBAIHZvaWQgX2xpYmt2bXBsYXRfc3Rh
cnQodm9pZCAqZHRiX3BvaW50ZXIpCiAJLyogSW5pdGlhbGl6ZSBtZW1vcnkgZnJvbSBEVEIgKi8K
IAlfaW5pdF9kdGJfbWVtKCk7CiAKLQl1a19wcl9pbmZvKCJwYWdldGFibGUgc3RhcnQ6ICVwXG4i
LCBfbGlia3ZtcGxhdF9wYWdldGFibGUpOwotCXVrX3ByX2luZm8oIiAgICAgaGVhcCBzdGFydDog
JXBcbiIsIF9saWJrdm1wbGF0X2hlYXBfc3RhcnQpOwotCXVrX3ByX2luZm8oIiAgICAgIHN0YWNr
IHRvcDogJXBcbiIsIF9saWJrdm1wbGF0X3N0YWNrX3RvcCk7CisJdWtfcHJpbnRkKERMVkxfSU5G
TywgInBhZ2V0YWJsZSBzdGFydDogJXBcbiIsIF9saWJrdm1wbGF0X3BhZ2V0YWJsZSk7CisJdWtf
cHJpbnRkKERMVkxfSU5GTywgIiAgICAgaGVhcCBzdGFydDogJXBcbiIsIF9saWJrdm1wbGF0X2hl
YXBfc3RhcnQpOworCXVrX3ByaW50ZChETFZMX0lORk8sICIgICAgICBzdGFjayB0b3A6ICVwXG4i
LCBfbGlia3ZtcGxhdF9zdGFja190b3ApOwogCiAJLyoKIAkgKiBTd2l0Y2ggYXdheSBmcm9tIHRo
ZSBib290c3RyYXAgc3RhY2sgYXMgZWFybHkgYXMgcG9zc2libGUuCiAJICovCi0JdWtfcHJfaW5m
bygiU3dpdGNoIGZyb20gYm9vdHN0cmFwIHN0YWNrIHRvIHN0YWNrIEAlcFxuIiwKLQkJICAgX2xp
Ymt2bXBsYXRfc3RhY2tfdG9wKTsKKwl1a19wcmludGQoRExWTF9JTkZPLCAiU3dpdGNoIGZyb20g
Ym9vdHN0cmFwIHN0YWNrIHRvIHN0YWNrIEAlcFxuIiwKKwkJCQlfbGlia3ZtcGxhdF9zdGFja190
b3ApOwogCiAJX2xpYmt2bXBsYXRfbmV3c3RhY2soKHVpbnQ2NF90KSBfbGlia3ZtcGxhdF9zdGFj
a190b3AsCiAJCQkJX2xpYmt2bXBsYXRfZW50cnkyLCBOVUxMKTsKLS0gCjIuMTcuMQoKCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBt
YWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlz
dHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:03:53 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:03:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcUb-0000pb-C4; Thu, 25 Oct 2018 10:03:53 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcUa-0000pM-4A
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:03:52 +0000
X-Inumbo-ID: 7c206458-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.53])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id 7c206458-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:05:22 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA3h8I017669;
 Thu, 25 Oct 2018 11:03:48 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:03:43 +0800
Message-Id: <20181025100343.17855-3-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20181025100343.17855-1-jianyong.wu@arm.com>
References: <20181025100343.17855-1-jianyong.wu@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 2/2] plat/common: Add trap
 function to handle Arm64 irq trap and more interrupt handlers are coming.
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogSmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CgpTaWduZWQtb2ZmLWJ5OiBX
ZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KLS0tCiBwbGF0L2NvbW1vbi9hcm0vdHJhcHMuYyAg
IHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKwogcGxhdC9rdm0vYXJtL2V4Y2VwdGlvbnMu
UyB8IDEwICsrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMSBk
ZWxldGlvbigtKQoKZGlmZiAtLWdpdCBhL3BsYXQvY29tbW9uL2FybS90cmFwcy5jIGIvcGxhdC9j
b21tb24vYXJtL3RyYXBzLmMKaW5kZXggNDMyMzViZS4uNTg0Nzc3NSAxMDA2NDQKLS0tIGEvcGxh
dC9jb21tb24vYXJtL3RyYXBzLmMKKysrIGIvcGxhdC9jb21tb24vYXJtL3RyYXBzLmMKQEAgLTIz
LDYgKzIzLDcgQEAKICNpbmNsdWRlIDxzdHJpbmcuaD4KICNpbmNsdWRlIDx1ay9wcmludC5oPgog
I2luY2x1ZGUgPHVrL2Fzc2VydC5oPgorI2luY2x1ZGUgPGFybS9naWMtdjIuaD4KIAogc3RhdGlj
IGNvbnN0IGNoYXIgKmV4Y2VwdGlvbl9tb2Rlc1tdPSB7CiAJIlN5bmNocm9ub3VzIEFib3J0IiwK
QEAgLTY4LDMgKzY5LDI3IEBAIHZvaWQgdHJhcF9lbDFfc3luYyhzdHJ1Y3QgX19yZWdzICpyZWdz
LCB1aW50NjRfdCBmYXIpCiAJZHVtcF9yZWdpc3RlcnMocmVncywgZmFyKTsKIAl1a3BsYXRfY3Jh
c2goKTsKIH0KKwordm9pZCB0cmFwX2VsMV9pcnEoc3RydWN0IF9fcmVncyAqcmVncywgdWludDY0
X3QgZmFyKQoreworICAgICAgIHVpbnQzMl90IHN0YXQsIGlycTsKKyAgICAgICBkbyB7CisgICAg
ICAgICAgICAgICBzdGF0ID0gZ2ljX2Fja19pcnEoKTsKKyAgICAgICAgICAgICAgIGlycSA9IHN0
YXQgJiBHSUNDX0lBUl9JTlRJRF9NQVNLOworICAgICAgICAgICAgICAgdWtfcHJpbnRkKERMVkxf
Q1JJVCwgIlVuaWtyYWZ0OiBFTDEgSVJRIyVkIHRyYXAgY2F1Z2h0XG4iLCBpcnEpOworCisgICAg
ICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgKiBUT0RPOiBIYW5sZSBpbnRlcnJ1cHRzIGhl
cmUKKyAgICAgICAgICAgICAgICAqLworICAgICAgICAgICAgICAgaWYgKGlycSA8IEdJQ19NQVhf
SVJRKSB7CisgICAgICAgICAgICAgICAgICAgICAgIGdpY19lb2lfaXJxKHN0YXQpOworICAgICAg
ICAgICAgICAgICAgICAgIGlzYigpOworICAgICAgICAgICAgICAgICAgICAgICBfdWtwbGF0X2ly
cV9oYW5kbGUoKHVuc2lnbmVkIGxvbmcpaXJxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
IH0gd2hpbGUgKDEpOworCisgICAgICAgdWtwbGF0X2NyYXNoKCk7Cit9CmRpZmYgLS1naXQgYS9w
bGF0L2t2bS9hcm0vZXhjZXB0aW9ucy5TIGIvcGxhdC9rdm0vYXJtL2V4Y2VwdGlvbnMuUwppbmRl
eCBhZjAzOWQ4Li5kM2UyMmE3IDEwMDY0NAotLS0gYS9wbGF0L2t2bS9hcm0vZXhjZXB0aW9ucy5T
CisrKyBiL3BsYXQva3ZtL2FybS9leGNlcHRpb25zLlMKQEAgLTExOSw2ICsxMTksMTQgQEAgZWwx
X3N5bmM6CiAJYmwgdHJhcF9lbDFfc3luYwogCUxFQVZFX1RSQVAgMQogCisuYWxpZ24gNgorZWwx
X2lycToKKyAgICAgICBFTlRFUl9UUkFQIDEKKyAgICAgICBtc3IgZGFpZmNsciwgIzQKKyAgICAg
ICBtb3YgeDAsIHNwCisgICAgICAgYmwgdHJhcF9lbDFfaXJxCisgICAgICAgTEVBVkVfVFJBUCAx
CisKIC8qIEJhZCBBYm9ydCBudW1iZXJzICovCiAjZGVmaW5lIEJBRF9TWU5DICAwCiAjZGVmaW5l
IEJBRF9JUlEgICAxCkBAIC0xNjksNyArMTc3LDcgQEAgRU5UUlkodmVjdG9yX3RhYmxlKQogCiAJ
LyogQ3VycmVudCBFeGNlcHRpb24gbGV2ZWwgd2l0aCBTUF9FTDEgKi8KIAl2ZWN0b3JfZW50cnkg
ZWwxX3N5bmMJCS8qIFN5bmNocm9ub3VzIEVMMWggICAgICAgKi8KLQl2ZWN0b3JfZW50cnkgZWwx
X2lycV9pbnZhbGlkCS8qIElSUSBFTDFoICAgICAgICAgICAgICAgKi8KKwl2ZWN0b3JfZW50cnkg
ZWwxX2lycSAgICAgICAgICAgIC8qIElSUSBFTDFoICAgICAgICAgICAgICAgKi8KIAl2ZWN0b3Jf
ZW50cnkgZWwxX2ZpcV9pbnZhbGlkCS8qIEZJUSBFTDFoICAgICAgICAgICAgICAgKi8KIAl2ZWN0
b3JfZW50cnkgZWwxX2Vycm9yX2ludmFsaWQJLyogRXJyb3IgRUwxaCAgICAgICAgICAgICAqLwog
Ci0tIAoyLjE3LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9q
ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWlu
aW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:05:45 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcWP-0000tQ-J7; Thu, 25 Oct 2018 10:05:45 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcWO-0000tL-B7
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:05:44 +0000
X-Inumbo-ID: 1dbcba91-d83d-11e8-a8a5-bc764e045a96
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.52])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 1dbcba91-d83d-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 12:02:44 +0200 (CEST)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA5cfK018093;
 Thu, 25 Oct 2018 11:05:39 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:05:37 +0800
Message-Id: <20181025100538.18117-1-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel]  [UNIKRAFT RFC PATCH 0/1] Implement ffs/fls
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW1wbGVtZW50IGZmcy9mbHMgZm9yIG5vbi14ODYgYXJjaGl0ZWN0dXJlcwoKSmlhbnlvbmcgV3Ug
KDEpOgogIHBsYXQvY29tbW9uOiBJbXBsZW1lbnQgZmZzL2ZscyBmb3Igbm9uLXg4NiBhcmNoaXRl
Y3R1cmVzCgogYXJjaC9hcm0vYXJtNjQvaW5jbHVkZS91ay9hc20vYXRvbWljLmggfCAgMzIgKysr
KysrKysKIHBsYXQvY29tbW9uL2JpdG9wcy5jICAgICAgICAgICAgICAgICAgIHwgMTAzICsrKysr
KysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTM1IGluc2VydGlvbnMoKykK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBwbGF0L2NvbW1vbi9iaXRvcHMuYwoKLS0gCjIuMTcuMQoKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:05:47 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:05:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcWR-0000tr-KS; Thu, 25 Oct 2018 10:05:47 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcWP-0000tW-TJ
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:05:45 +0000
X-Inumbo-ID: bf5c642d-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.52])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id bf5c642d-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:07:15 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA5cfL018093;
 Thu, 25 Oct 2018 11:05:41 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:05:38 +0800
Message-Id: <20181025100538.18117-2-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20181025100538.18117-1-jianyong.wu@arm.com>
References: <20181025100538.18117-1-jianyong.wu@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 1/1] plat/common: Implement
 ffs/fls for non-x86 architectures
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogSmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CgpTb21lIGFyY2hpdGVjdHVy
ZXMgbGlrZSBBcm02NCBkb24ndCBoYXZlIHNwZWNpYWwgaW5zdHJ1Y3Rpb25zCmxpa2UgeDg2IHRv
IGltcGxlbWVudCBmZnMvZmxzIGZ1bmN0aW9ucy4gU28gd2UgdXNlIEMgY29kZSB0bwppbXBsZW1l
bnQgdGhlc2UgZnVuY3Rpb25zIGZvciBub24teDg2IGFyY2hpdGVjdHVyZXMuCgpTaWduZWQtb2Zm
LWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KLS0tCiBhcmNoL2FybS9hcm02NC9pbmNs
dWRlL3VrL2FzbS9hdG9taWMuaCB8ICAzMiArKysrKysrKwogcGxhdC9jb21tb24vYml0b3BzLmMg
ICAgICAgICAgICAgICAgICAgfCAxMDMgKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxl
cyBjaGFuZ2VkLCAxMzUgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHBsYXQvY29t
bW9uL2JpdG9wcy5jCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYXJtNjQvaW5jbHVkZS91ay9hc20v
YXRvbWljLmggYi9hcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbS9hdG9taWMuaAppbmRleCA3
ZWU2NjY3Li44YjU0NTlmIDEwMDY0NAotLS0gYS9hcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2Fz
bS9hdG9taWMuaAorKysgYi9hcmNoL2FybS9hcm02NC9pbmNsdWRlL3VrL2FzbS9hdG9taWMuaApA
QCAtNjgsMyArNjgsMzUgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHVrYXJjaF9mZnNs
KHVuc2lnbmVkIGxvbmcgd29yZCkKIAogCXJldHVybiA2MyAtIGNsejsKIH0KKworLyoKKyAqIHVr
YXJjaF9mbHMgLSBmaW5kIGxhc3QgKGhpZ2hlc3QpIHNldCBiaXQgaW4gd29yZC4KKyAqIEB3b3Jk
OiBUaGUgd29yZCB0byBzZWFyY2gKKyAqCisgKiBVbmRlZmluZWQgaWYgbm8gYml0IGV4aXN0cywg
c28gY29kZSBzaG91bGQgY2hlY2sgYWdhaW5zdCAwIGZpcnN0LgorICovCit1bnNpZ25lZCBpbnQg
dWthcmNoX2Zscyh1bnNpZ25lZCBpbnQgd29yZCk7CisKKy8qCisgKiB1a2FyY2hfZmxzbCAtIGZp
bmQgbGFzdCAoaGlnaGVzdCkgc2V0IGJpdCBpbiB3b3JkLgorICogQHdvcmQ6IFRoZSB3b3JkIHRv
IHNlYXJjaAorICoKKyAqIFVuZGVmaW5lZCBpZiBubyBiaXQgZXhpc3RzLCBzbyBjb2RlIHNob3Vs
ZCBjaGVjayBhZ2FpbnN0IDAgZmlyc3QuCisgKi8KK3Vuc2lnbmVkIGxvbmcgdWthcmNoX2Zsc2wo
dW5zaWduZWQgbG9uZyB3b3JkKTsKKworLyoKKyAqIHVrYXJjaF9mZnMgLSBmaW5kIGZpcnN0IChs
b3dlc3QpIHNldCBiaXQgaW4gd29yZC4KKyAqIEB3b3JkOiBUaGUgd29yZCB0byBzZWFyY2gKKyAq
CisgKiBVbmRlZmluZWQgaWYgbm8gYml0IGV4aXN0cywgc28gY29kZSBzaG91bGQgY2hlY2sgYWdh
aW5zdCAwIGZpcnN0LgorICovCit1bnNpZ25lZCBsb25nIHVrYXJjaF9mZnModW5zaWduZWQgaW50
IHdvcmQpOworCisvKgorICogdWthcmNoX2Zmc2wgLSBmaW5kIGZpcnN0IChsb3dlc3QpIHNldCBi
aXQgaW4gd29yZC4KKyAqIEB3b3JkOiBUaGUgd29yZCB0byBzZWFyY2gKKyAqCisgKiBVbmRlZmlu
ZWQgaWYgbm8gYml0IGV4aXN0cywgc28gY29kZSBzaG91bGQgY2hlY2sgYWdhaW5zdCAwIGZpcnN0
LgorICovCit1bnNpZ25lZCBsb25nIHVrYXJjaF9mZnNsKHVuc2lnbmVkIGxvbmcgd29yZCk7CmRp
ZmYgLS1naXQgYS9wbGF0L2NvbW1vbi9iaXRvcHMuYyBiL3BsYXQvY29tbW9uL2JpdG9wcy5jCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiOGY3NjcKLS0tIC9kZXYvbnVsbAor
KysgYi9wbGF0L2NvbW1vbi9iaXRvcHMuYwpAQCAtMCwwICsxLDEwMyBAQAorLyogU1BEWC1MaWNl
bnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLworLyoKKyAqIENvZGUgYmFzZSBvbjoKKyAq
IGh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlYnNkL2ZyZWVic2QvdHJlZS9tYXN0ZXIvc3lzL2xpYmtl
cm4vCisgKiBmbHMuYy9mbHNsLmMvZmxzbGwuYy9mZnMuYy9mZnNsLmMKKyAqCisgKiBBdXRob3Jz
OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKGMpIDIwMTgs
IEFybSBMdGQuLCBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChjKSAxOTkwLCAx
OTkzCisgKiAgICAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFt
ZSBvZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29u
dHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJp
dmVkIGZyb20KKyAqICAgIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRQorICogTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRQorICogUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKgorICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRS
QUNURUQgT1IgTU9ESUZJRUQgSU4gQU5ZIFdBWS4KKyAqLworI2RlZmluZSBfRkxTeCh4KSAgICAg
ICAgICAgICAgICAgICAgICAgXAorKHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgIGludCBsc2I7ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIGlm
ICh4ID09IDApICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgcmV0dXJuIDA7
ICAgICAgICAgICAgICAgXAorICAgICAgIGZvciAobHNiID0gMTsgeCAhPSAxOyBsc2IrKykgICAg
XAorICAgICAgICAgICAgICAgeCA9IHggPj4gMTsgICAgIFwKKyAgICAgICBsc2I7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKK30pCisKKyNkZWZpbmUgX0ZGU3goeCkgICAgICAgICAgICAg
ICAgICAgICAgIFwKKyh7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAg
ICAgICBpbnQgZnNiOyAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICBpZiAoeCA9PSAw
KSAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgIHJldHVybiAwOyAgICAgICAg
ICAgICAgIFwKKyAgICAgICBmb3IgKGZzYiA9IDE7ICEoeCAmIDEpOyBmc2IrKykgIFwKKyAgICAg
ICAgICAgICAgIHggPSB4ID4+IDE7ICAgICAgICAgICAgIFwKKyAgICAgICBmc2I7ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFwKK30pCisKKy8qKgorICogdWthcmNoX2ZscyAtIGZpbmQgbGFz
dCAoaGlnaGVzdCkgc2V0IGJpdCBpbiB3b3JkIGZvciBhbGwgYXJjaGl0ZWN0dXJlcy4KKyAqIEB3
b3JkOiBUaGUgd29yZCB0byBzZWFyY2gKKyAqCisgKiBVbmRlZmluZWQgaWYgbm8gYml0IGV4aXN0
cywgc28gY29kZSBzaG91bGQgY2hlY2sgYWdhaW5zdCAwIGZpcnN0LgorICovCit1bnNpZ25lZCBp
bnQgdWthcmNoX2Zscyh1bnNpZ25lZCBpbnQgd29yZCkKK3sKKyAgICAgICByZXR1cm4gX0ZMU3go
d29yZCk7Cit9CisKKy8qKgorICogdWthcmNoX2Zsc2wgLSBmaW5kIGxhc3QgKGhpZ2hlc3QpIHNl
dCBiaXQgaW4gd29yZCBmb3IgYWxsIGFyY2hpdGVjdHVyZXMuCisgKiBAd29yZDogVGhlIHdvcmQg
dG8gc2VhcmNoCisgKgorICogVW5kZWZpbmVkIGlmIG5vIGJpdCBleGlzdHMsIHNvIGNvZGUgc2hv
dWxkIGNoZWNrIGFnYWluc3QgMCBmaXJzdC4KKyAqLwordW5zaWduZWQgaW50IHVrYXJjaF9mbHNs
KHVuc2lnbmVkIGxvbmcgd29yZCkKK3sKKyAgICAgICByZXR1cm4gX0ZMU3god29yZCk7Cit9CisK
Ky8qKgorICogdWthcmNoX2ZmcyAtIGZpbmQgZmlyc3QgKGxvd2VzdCkgc2V0IGJpdCBpbiB3b3Jk
IGZvciBhbGwgYXJjaGl0ZWN0dXJlcy4KKyAqIEB3b3JkOiBUaGUgd29yZCB0byBzZWFyY2gKKyAq
CisgKiBVbmRlZmluZWQgaWYgbm8gYml0IGV4aXN0cywgc28gY29kZSBzaG91bGQgY2hlY2sgYWdh
aW5zdCAwIGZpcnN0LgorICovCit1bnNpZ25lZCBsb25nIHVrYXJjaF9mZnModW5zaWduZWQgaW50
IHdvcmQpCit7CisgICAgICAgcmV0dXJuIF9GRlN4KHdvcmQpOworfQorCisKKy8qKgorICogdWth
cmNoX2Zmc2wgLSBmaW5kIGZpcnN0IChsb3dlc3QpIHNldCBiaXQgaW4gd29yZCBmb3IgYWxsIGFy
Y2hpdGVjdHVyZXMuCisgKiBAd29yZDogVGhlIHdvcmQgdG8gc2VhcmNoCisgKgorICogVW5kZWZp
bmVkIGlmIG5vIGJpdCBleGlzdHMsIHNvIGNvZGUgc2hvdWxkIGNoZWNrIGFnYWluc3QgMCBmaXJz
dC4KKyAqLwordW5zaWduZWQgbG9uZyB1a2FyY2hfZmZzbCh1bnNpZ25lZCBsb25nIHdvcmQpCit7
CisgICAgICAgcmV0dXJuIF9GRlN4KHdvcmQpOworfQotLSAKMi4xNy4xCgoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:07:10 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:07:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcXl-0000wA-Oh; Thu, 25 Oct 2018 10:07:09 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcXk-0000w5-UT
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:07:08 +0000
X-Inumbo-ID: f0e0a161-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.51])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f0e0a161-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:08:38 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA73M4018386;
 Thu, 25 Oct 2018 11:07:04 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:07:01 +0800
Message-Id: <20181025100702.18485-1-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
Subject: [Minios-devel]  [UNIKRAFT RFC PATCH 0/1] Implement gettimeofday
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SW1wbGVtZW50IGdldHRpbWVvZmRheSBmdW5jdGlvbiBmb3IgQXJtCgpKaWFueW9uZyBXdSAoMSk6
CiAgSW1wbGVtZW50IGdldHRpbWVvZmRheSBmdW5jdGlvbiBmb3IgQXJtCgogcGxhdC9jb21tb24v
YXJtL3RpbWUuYyB8IDI3ICsrKysrKysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5n
ZWQsIDIyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgotLSAKMi4xNy4xCgoKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1h
aWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0
cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 10:07:10 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 10:07:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFcXm-0000wW-Py; Thu, 25 Oct 2018 10:07:10 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=fr/u=nf=arm.com=jianyong.wu@srs-us1.protection.inumbo.net>)
 id 1gFcXm-0000wG-4x
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 10:07:10 +0000
X-Inumbo-ID: f22d97cc-d83d-11e8-a6a9-d7ebe60f679a
Received: from cam-smtp0.cambridge.arm.com (unknown [217.140.106.51])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTPS
 id f22d97cc-d83d-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 10:08:40 +0000 (UTC)
Received: from entos-thunderx2-desktop.shanghai.arm.com
 (entos-thunderx2-desktop.shanghai.arm.com [10.169.36.33])
 by cam-smtp0.cambridge.arm.com (8.13.8/8.13.8) with ESMTP id w9PA73M5018386;
 Thu, 25 Oct 2018 11:07:06 +0100
From: Jianyong Wu <jianyong.wu@arm.com>
To: minios-devel@lists.xenproject.org, simon.kuenzer@neclab.eu
Date: Thu, 25 Oct 2018 18:07:02 +0800
Message-Id: <20181025100702.18485-2-jianyong.wu@arm.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20181025100702.18485-1-jianyong.wu@arm.com>
References: <20181025100702.18485-1-jianyong.wu@arm.com>
Subject: [Minios-devel] [UNIKRAFT RFC PATCH 1/1] Implement gettimeofday
 function for Arm
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, Jianyong.Wu@arm.com, wei.chen@arm.com
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

RnJvbTogSmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CgpTaWduZWQtb2ZmLWJ5OiBX
ZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4KU2lnbmVkLW9mZi1ieTogSmlhbnlvbmcgV3UgPGpp
YW55b25nLnd1QGFybS5jb20+Ci0tLQogcGxhdC9jb21tb24vYXJtL3RpbWUuYyB8IDI3ICsrKysr
KysrKysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyks
IDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvcGxhdC9jb21tb24vYXJtL3RpbWUuYyBiL3Bs
YXQvY29tbW9uL2FybS90aW1lLmMKaW5kZXggNTgzMzg3Yi4uZTM0NTFiMSAxMDA2NDQKLS0tIGEv
cGxhdC9jb21tb24vYXJtL3RpbWUuYworKysgYi9wbGF0L2NvbW1vbi9hcm0vdGltZS5jCkBAIC0x
LDYgKzEsNyBAQAogLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZSAqLwog
LyoKICAqIEF1dGhvcnM6IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPgorICogICAgICAgICAg
SmlhbnlvbmcgV3UgPEppYW55b25nLld1QGFybS5jb20+CiAgKgogICogQ29weXJpZ2h0IChjKSAy
MDE4LCBBcm0gTHRkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKQEAgLTMyLDE2ICszMywxNyBA
QAogICogVEhJUyBIRUFERVIgTUFZIE5PVCBCRSBFWFRSQUNURUQgT1IgTU9ESUZJRUQgSU4gQU5Z
IFdBWS4KICAqLwogI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHRpbWUuaD4KICNpbmNs
dWRlIDxsaWJmZHQuaD4KICNpbmNsdWRlIDx1ay9hc3NlcnQuaD4KICNpbmNsdWRlIDx1ay9wbGF0
L3RpbWUuaD4KICNpbmNsdWRlIDx1ay9wbGF0L2lycS5oPgogI2luY2x1ZGUgPHVrL2JpdG9wcy5o
PgotI2luY2x1ZGUgPGNwdS5oPgorI2luY2x1ZGUgPGFybS9jcHUuaD4KKyNpbmNsdWRlIDxhcm0v
cnRjLmg+CiAKIHN0YXRpYyB1aW50NjRfdCBib290X3RpY2tzOwogc3RhdGljIHVpbnQzMl90IGNv
dW50ZXJfZnJlcTsKLWV4dGVybiB2b2lkICpfbGlia3ZtcGxhdF9kdGI7CiAKIC8qCiAgKiBTaGlm
dCBmYWN0b3IgZm9yIGNvdW50ZXIgc2NhbGluZyBtdWx0aXBsaWVyOyByZWZlcnJlZCB0byBhcyBT
IGluIHRoZQpAQCAtODYsNyArODgsOCBAQCBzdGF0aWMgdWludDMyX3QgZ2V0X2NvdW50ZXJfZnJl
cXVlbmN5KHZvaWQpCiAJZmR0X2ZyZXEgPSBmZHRfZ2V0cHJvcChfbGlia3ZtcGxhdF9kdGIsCiAJ
CQlmZHRfYXJjaHRpbWVyLCAiY2xvY2stZnJlcXVlbmN5IiwgJmxlbik7CiAJaWYgKCFmZHRfZnJl
cSB8fCAobGVuIDw9IDApKSB7Ci0JCXVrX3ByX2luZm8oIk5vIGNsb2NrLWZyZXF1ZW5jeSBmb3Vu
ZCwgcmVhZGluZyBmcm9tIHJlZ2lzdGVyIGRpcmVjdGx5LlxuIik7CisJCXVrX3ByaW50ZChETFZM
X0lORk8sCisJCSJObyBjbG9jay1mcmVxdWVuY3kgZm91bmQsIHJlYWRpbmcgZnJvbSByZWdpc3Rl
ciBkaXJlY3RseS5cbiIpOwogCQlnb3RvIGVuZG5vZnJlcTsKIAl9CiAKQEAgLTE3Miw3ICsxNzUs
NyBAQCBzdGF0aWMgaW50IGdlbmVyaWNfdGltZXJfaW5pdCh2b2lkKQogCXJldHVybiAwOwogfQog
Ci11bnNpZ25lZCBsb25nIHNjaGVkX2hhdmVfcGVuZGluZ19ldmVudHM7Citsb25nIHNjaGVkX2hh
dmVfcGVuZGluZ19ldmVudHM7CiAKIHZvaWQgdGltZV9ibG9ja191bnRpbChfX3Nuc2VjIHVudGls
KQogewpAQCAtMTgzLDEwICsxODYsMjQgQEAgdm9pZCB0aW1lX2Jsb2NrX3VudGlsKF9fc25zZWMg
dW50aWwpCiAJCSAqIHVzZSBidXN5IHBvbGxpbmcgZm9yIG5vdy4KIAkJICovCiAJCWlmIChfX3Vr
X3Rlc3RfYW5kX2NsZWFyX2JpdCgwLCAmc2NoZWRfaGF2ZV9wZW5kaW5nX2V2ZW50cykpCi0JCQli
cmVhazsKKwkJYnJlYWs7CiAJfQogfQogCitpbnQgZ2V0dGltZW9mZGF5KHN0cnVjdCB0aW1ldmFs
ICp0diwgdm9pZCAqdHopCit7CisJdWludDY0X3QgbnNlYyA9IHVrcGxhdF9tb25vdG9uaWNfY2xv
Y2soKTsKKwl0di0+dHZfc2VjID0gcnRjX2Jvb3Rfc2Vjb25kczsKKwl0di0+dHZfc2VjICs9IHVr
YXJjaF90aW1lX25zZWNfdG9fc2VjKG5zZWMpOworCXR2LT50dl91c2VjID0gdWthcmNoX3RpbWVf
bnNlY190b191c2VjKHVrYXJjaF90aW1lX3N1YnNlYyhuc2VjKSk7CisKKwlpZih0eiAhPSBOVUxM
KSB7CisJCS8qIFRPRE86IFRpbWV6b25lICovCisJfQorCisJcmV0dXJuIDA7Cit9CisKIC8qIHJl
dHVybiBucyBzaW5jZSB0aW1lX2luaXQoKSAqLwogX19uc2VjIHVrcGxhdF9tb25vdG9uaWNfY2xv
Y2sodm9pZCkKIHsKLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxp
c3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9s
aXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 11:08:47 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 11:08:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFdVN-00061H-QE; Thu, 25 Oct 2018 11:08:45 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9mfv=nf=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFdVM-00061C-Pv
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 11:08:44 +0000
X-Inumbo-ID: ead0d12a-d845-11e8-a8a5-bc764e045a96
Received: from mailer2.neclab.eu (unknown [195.37.70.41])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id ead0d12a-d845-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 13:05:44 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer2.neclab.eu (Postfix) with ESMTP id 679B9F2017;
 Thu, 25 Oct 2018 13:08:41 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (neclab.eu)
Received: from mailer2.neclab.eu ([127.0.0.1])
 by localhost (atlas-b.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id LpJP0dD4P4qX; Thu, 25 Oct 2018 13:08:41 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer2.neclab.eu (Postfix) with ESMTPS id 39A5CF2010
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 13:08:39 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 13:08:38 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540460993-30344-8-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025130838611
Message-ID: <5ae76e0b-620c-6a08-ace3-9659799fd642@neclab.eu>
Date: Thu, 25 Oct 2018 13:08:38 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540460993-30344-8-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 7/8] lib/uknetdev: Add driver
 encapsulation for rx & tx
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjUuMTAuMTggMTE6NDksIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhlIHBhdGNoIHByb3Zp
ZGVzIHRoZSBvcHRpb24gZm9yIHRoZSBuZXR3b3JrIGRyaXZlciB0byByZXNlcnZlIGhlYWRyb29t
Cj4gc2VwYXJhdGVseSBmb3IgdHJhbnNtaXNzaW9uIGFuZCByZWNlcHRpb24gcGFydCBvZiBhIG5l
dCBkZXZpY2UuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hhcmFuLnNh
bnRoYW5hbUBuZWNsYWIuZXU+Cj4gLS0tCj4gICBsaWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRk
ZXZfY29yZS5oIHwgMyArKy0KPiAgIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jICAg
ICAgfCAyICsrCj4gICAyIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv
bigtKQo+IAo+IGRpZmYgLS1naXQgYS9saWIvdWtuZXRkZXYvaW5jbHVkZS91ay9uZXRkZXZfY29y
ZS5oIGIvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2X2NvcmUuaAo+IGluZGV4IGIxNGE5
YzkuLmI3N2M0NWEgMTAwNjQ0Cj4gLS0tIGEvbGliL3VrbmV0ZGV2L2luY2x1ZGUvdWsvbmV0ZGV2
X2NvcmUuaAo+ICsrKyBiL2xpYi91a25ldGRldi9pbmNsdWRlL3VrL25ldGRldl9jb3JlLmgKPiBA
QCAtODUsNyArODUsOCBAQCBzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gewo+ICAgCXVpbnQxNl90IG1h
eF90eF9xdWV1ZXM7Cj4gICAJaW50IGluX3F1ZXVlX3BhaXJzOyAvKio8IElmIHRydWUsIGFsbG9j
YXRlIHF1ZXVlcyBpbiBwYWlycy4gKi8KPiAgIAl1aW50MTZfdCBtYXhfbXR1OyAgIC8qKjwgTWF4
aW11bSBzdXBwb3J0ZWQgTVRVIHNpemUuICovCj4gLQl1aW50MTZfdCBuYl9lbmNhcDsgIC8qKjwg
TnVtYmVyIG9mIGJ5dGVzIHJlcXVpcmVkIGFzIGhlYWRyb29tIGZvciB0eC4gKi8KPiArCXVpbnQx
Nl90IG5iX2VuY2FwX3R4OyAgLyoqPCBOdW1iZXIgb2YgYnl0ZXMgcmVxdWlyZWQgYXMgaGVhZHJv
b20gZm9yIHR4LiAqLwo+ICsJdWludDE2X3QgbmJfZW5jYXBfcng7ICAvKio8IE51bWJlciBvZiBi
eXRlcyByZXF1aXJlZCBhcyBoZWFkcm9vbSBmb3IgcnguICovCj4gICB9Owo+ICAgCj4gICAvKioK
PiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+IGluZGV4IDUzYzBjOTMuLmRmYWJmY2MgMTAwNjQ0
Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiArKysgYi9wbGF0L2Ry
aXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+IEBAIC02ODgsNiArNjg4LDggQEAgc3RhdGljIHZv
aWQgdmlydGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gICAKPiAgIAlk
ZXZfaW5mby0+bWF4X3J4X3F1ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOwo+ICAgCWRl
dl9pbmZvLT5tYXhfdHhfcXVldWVzID0gdm5kZXYtPm1heF92cXVldWVfcGFpcnM7Cj4gKwlkZXZf
aW5mby0+bmJfZW5jYXBfdHggPSBzaXplb2Yoc3RydWN0IHZpcnRpb19uZXRfaGRyKTsKPiArCWRl
dl9pbmZvLT5uYl9lbmNhcF9yeCA9IHNpemVvZihzdHJ1Y3QgdmlydGlvX25ldF9yeF9oZHIpOwo+
ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRfc3RhcnQoc3RydWN0IHVrX25ldGRl
diAqbikKPiAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Ck1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qu
b3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3Mt
ZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 11:11:29 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 11:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFdY0-0006iX-FF; Thu, 25 Oct 2018 11:11:28 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=9mfv=nf=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gFdXy-0006iO-ID
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 11:11:26 +0000
X-Inumbo-ID: 4bcaedae-d846-11e8-a8a5-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 4bcaedae-d846-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 13:08:27 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id 207F9104A54;
 Thu, 25 Oct 2018 13:11:24 +0200 (CEST)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id X23vjii0axBG; Thu, 25 Oct 2018 13:11:24 +0200 (CEST)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from ENCELADUS.office.hd (ENCELADUS.office.hd [192.168.24.52])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id EEA7A1048AF;
 Thu, 25 Oct 2018 13:11:19 +0200 (CEST)
Received: from n-1075.office.hd (10.1.2.105) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 25 Oct
 2018 13:11:19 +0200
To: Sharan Santhanam <sharan.santhanam@neclab.eu>, <minios-devel@lists.xen.org>
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540460993-30344-9-git-send-email-sharan.santhanam@neclab.eu>
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
X-Tagtoolbar-Keys: D20181025131119380
Message-ID: <8e7c906c-c1c0-442d-7097-3298278c36ff@neclab.eu>
Date: Thu, 25 Oct 2018 13:11:19 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <1540460993-30344-9-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
X-Originating-IP: [10.1.2.105]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 8/8] plat/drivers: Receive
 and Transmit operations
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

UmV2aWV3ZWQtYnk6IFNpbW9uIEt1ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1PgoKT24g
MjUuMTAuMTggMTE6NDksIFNoYXJhbiBTYW50aGFuYW0gd3JvdGU6Cj4gVGhpcyBwYXRjaCBhZGQg
dGhlIHRyYW5zbWlzc2lvbiBhbmQgcmVjZWl2ZSBvcGVyYXRpb24gZm9yIHRoZQo+IHZpcnRpby1u
ZXQgZGV2aWNlLiBXZSBleHRlbmQgdGhlIHNjYXR0ZXIgZ2F0aGVyIGxpc3QgdG8gb3BlcmF0ZQo+
IG9uIHRoZSBuZXRidWYuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8c2hh
cmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9jYXJ1
IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gLS0tCj4gICBsaWIvdWtzZ2xpc3QvZXhw
b3J0c3ltcy51ayAgICAgICB8ICAgMSArCj4gICBsaWIvdWtzZ2xpc3QvaW5jbHVkZS91ay9zZ2xp
c3QuaCB8ICAxOCArKysKPiAgIGxpYi91a3NnbGlzdC9zZ2xpc3QuYyAgICAgICAgICAgIHwgIDI1
ICsrKysKPiAgIHBsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIHwgMzA4ICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAzNDkg
aW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL3Vrc2ds
aXN0L2V4cG9ydHN5bXMudWsgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IGluZGV4IGEx
ZTliMzcuLmY4YzYwZjcgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vrc2dsaXN0L2V4cG9ydHN5bXMudWsK
PiArKysgYi9saWIvdWtzZ2xpc3QvZXhwb3J0c3ltcy51awo+IEBAIC05LDMgKzksNCBAQCB1a19z
Z2xpc3RfbGVuZ3RoCj4gICB1a19zZ2xpc3Rfc3BsaXQKPiAgIHVrX3NnbGlzdF9qb2luCj4gICB1
a19zZ2xpc3Rfc2xpY2UKPiArdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYKPiBkaWZmIC0tZ2l0IGEv
bGliL3Vrc2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0LmggYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91
ay9zZ2xpc3QuaAo+IGluZGV4IGE4OWIxMGQuLmRiMDAwYzAgMTAwNjQ0Cj4gLS0tIGEvbGliL3Vr
c2dsaXN0L2luY2x1ZGUvdWsvc2dsaXN0LmgKPiArKysgYi9saWIvdWtzZ2xpc3QvaW5jbHVkZS91
ay9zZ2xpc3QuaAo+IEBAIC00NCwxMiArNDQsMTYgQEAKPiAgIGV4dGVybiAiQyIgewo+ICAgI2Vu
ZGlmIC8qIF9fY3BsdXNwbHVzICovCj4gICAKPiArI2luY2x1ZGUgPHVrL2NvbmZpZy5oPgo+ICAg
I2luY2x1ZGUgPHN0ZGludC5oPgo+ICAgI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4KPiAgICNp
bmNsdWRlIDx1ay9yZWZjb3VudC5oPgo+ICAgI2lmZGVmIENPTkZJR19MSUJVS0FMTE9DCj4gICAj
aW5jbHVkZSA8dWsvYWxsb2MuaD4KPiAgICNlbmRpZiAvKiBDT05GSUdfTElCVUtBTExPQyAqLwo+
ICsjaWZkZWYgQ09ORklHX0xJQlVLTkVUREVWCj4gKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4KPiAr
I2VuZGlmIC8qIENPTkZJR19MSUJVS05FVERFViAqLwo+ICAgCj4gICBzdHJ1Y3QgdWtfc2dsaXN0
X3NlZyB7Cj4gICAJX19waHlzX2FkZHIgIHNzX3BhZGRyOyAvKiBQaHlzaWNhbCBhZGRyZXNzICov
Cj4gQEAgLTI2NSw2ICsyNjksMjAgQEAgaW50IHVrX3NnbGlzdF9zbGljZShzdHJ1Y3QgdWtfc2ds
aXN0ICpvcmlnaW5hbCwgc3RydWN0IHVrX3NnbGlzdCAqKnNsaWNlLAo+ICAgCQkJc3RydWN0IHVr
X2FsbG9jICphLCBzaXplX3Qgb2Zmc2V0LCBzaXplX3QgbGVuZ3RoKTsKPiAgICNlbmRpZiAvKiBD
T05GSUdfTElCVUtBTExPQyAqLwo+ICAgCj4gKyNpZmRlZiBDT05GSUdfTElCVUtORVRERVYKPiAr
LyoqCj4gKyAqIFRoZSBmdW5jdGlvbiBjcmVhdGUgYSBzY2F0dGVyIGdhdGhlciBsaXN0IGZyb20g
dGhlIG5ldGJ1Zgo+ICsgKiBAcGFyYW0gc2cKPiArICoJQSByZWZlcmVuY2UgdG8gdGhlIHNjYXR0
ZXIgZ2F0aGVyIGxpc3QuCj4gKyAqIEBwYXJhbSBtMAo+ICsgKglBIHJlZmVyZW5jZSB0byB0aGUg
bmV0YnVmCj4gKyAqIEByZXR1cm4KPiArICoJMCwgb24gc3VjY2Vzc2Z1bCBjcmVhdGlvbiBvZiB0
aGUgc2NhdHRlciBnYXRoZXIgbGlzdAo+ICsgKgktRUlOVkFMLCBJbnZhbGlkIHNnIGxpc3QuCj4g
KyAqLwo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlzdCAqc2cs
IHN0cnVjdCB1a19uZXRidWYgKm5ldGJ1Zik7Cj4gKyNlbmRpZiAvKiBDT05GSUdfTElCVUtORVQg
Ki8KPiArCj4gICAjaWZkZWYgX19jcGx1c3BsdXMKPiAgIH0KPiAgICNlbmRpZiAvKiBfX2NwbHVz
cGx1cyAqLwo+IGRpZmYgLS1naXQgYS9saWIvdWtzZ2xpc3Qvc2dsaXN0LmMgYi9saWIvdWtzZ2xp
c3Qvc2dsaXN0LmMKPiBpbmRleCAwZWMyMTA1Li4wMTMxNTk2IDEwMDY0NAo+IC0tLSBhL2xpYi91
a3NnbGlzdC9zZ2xpc3QuYwo+ICsrKyBiL2xpYi91a3NnbGlzdC9zZ2xpc3QuYwo+IEBAIC01MzEs
MyArNTMxLDI4IEBAIGludCB1a19zZ2xpc3Rfc2xpY2Uoc3RydWN0IHVrX3NnbGlzdCAqb3JpZ2lu
YWwsIHN0cnVjdCB1a19zZ2xpc3QgKipzbGljZSwKPiAgIAlyZXR1cm4gMDsKPiAgIH0KPiAgICNl
bmRpZiAvKiBDT05GSUdfVUtBTExPQyAqLwo+ICsKPiArI2lmZGVmIENPTkZJR19MSUJVS05FVERF
Vgo+ICtpbnQgdWtfc2dsaXN0X2FwcGVuZF9uZXRidWYoc3RydWN0IHVrX3NnbGlzdCAqc2csIHN0
cnVjdCB1a19uZXRidWYgKm5ldGJ1ZikKPiArewo+ICsJc3RydWN0IHNnc2F2ZSBzYXZlOwo+ICsJ
c3RydWN0IHVrX25ldGJ1ZiAqbmI7Cj4gKwlpbnQgZXJyb3I7Cj4gKwo+ICsJaWYgKHNnLT5zZ19t
YXhzZWcgPT0gMCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwllcnJvciA9IDA7Cj4gKwlT
R0xJU1RfU0FWRShzZywgc2F2ZSk7Cj4gKwlVS19ORVRCVUZfQ0hBSU5fRk9SRUFDSChuYiwgbmV0
YnVmKSB7Cj4gKwkJaWYgKGxpa2VseShuYi0+bGVuID4gMCkpIHsKPiArCQkJZXJyb3IgPSB1a19z
Z2xpc3RfYXBwZW5kKHNnLCBuYi0+ZGF0YSwgbmItPmxlbik7Cj4gKwkJCWlmICh1bmxpa2VseShl
cnJvcikpIHsKPiArCQkJCVNHTElTVF9SRVNUT1JFKHNnLCBzYXZlKTsKPiArCQkJCXJldHVybiBl
cnJvcjsKPiArCQkJfQo+ICsJCX0KPiArCX0KPiArCXJldHVybiAwOwo+ICt9Cj4gKyNlbmRpZiAv
KiBDT05GSUdfTElCVUtORVRERVYgKi8KPiBkaWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL3ZpcnRp
by92aXJ0aW9fbmV0LmMgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+IGluZGV4
IGRmYWJmY2MuLmUyYjE5YzAgMTAwNjQ0Cj4gLS0tIGEvcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0
aW9fbmV0LmMKPiArKysgYi9wbGF0L2RyaXZlcnMvdmlydGlvL3ZpcnRpb19uZXQuYwo+IEBAIC03
OSw2ICs3OSwxNyBAQCB0eXBlZGVmIGVudW0gewo+ICAgfSB2aXJ0cV90eXBlX3Q7Cj4gICAKPiAg
IC8qKgo+ICsgKiBXaGVuIG1lcmdlYWJsZSBidWZmZXJzIGFyZSBub3QgbmVnb3RpYXRlZCwgdGhl
IHZ0bmV0X3J4X2hlYWRlciBzdHJ1Y3R1cmUKPiArICogYmVsb3cgaXMgcGxhY2VkIGF0IHRoZSBi
ZWdpbm5pbmcgb2YgdGhlIG5ldGJ1ZiBkYXRhLiBVc2UgNCBieXRlcyBvZiBwYWQgdG8KPiArICog
Ym90aCBrZWVwIHRoZSBWaXJ0SU8gaGVhZGVyIGFuZCB0aGUgZGF0YSBub24tY29udGlndW91cyBh
bmQgdG8ga2VlcCB0aGUKPiArICogZnJhbWUncyBwYXlsb2FkIDQgYnl0ZSBhbGlnbmVkLgo+ICsg
Ki8KPiArc3RydWN0IHZpcnRpb19uZXRfcnhfaGRyIHsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2hk
ciB2aGRyOwo+ICsJY2hhciAgICAgICAgICAgIHZyaF9wYWRbVlRORVRfUlhfSEVBREVSX1BBRF07
Cj4gK307Cj4gKwo+ICsvKioKPiAgICAqIEBpbnRlcm5hbCBzdHJ1Y3R1cmUgdG8gcmVwcmVzZW50
IHRoZSB0cmFuc21pdCBxdWV1ZS4KPiAgICAqLwo+ICAgc3RydWN0IHVrX25ldGRldl90eF9xdWV1
ZSB7Cj4gQEAgLTE4MCw2ICsxOTEsNyBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9k
aXNhYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gICAJCQkJICAgICAgc3RydWN0IHVrX25ldGRl
dl9yeF9xdWV1ZSAqcXVldWUpOwo+ICAgc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5h
YmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gICAJCQkJICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3J4
X3F1ZXVlICpxdWV1ZSk7Cj4gK3N0YXRpYyB2b2lkIHZpcnRpb19uZXRkZXZfeG1pdF9mcmVlKHN0
cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnR4cSk7Cj4gICBzdGF0aWMgaW50IHZpcnRpb19uZXRk
ZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gICAJCQkgICAgICBzdHJ1Y3QgdWtfbmV0
ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPiAgIAkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKnBrdCk7
Cj4gQEAgLTE5NSw3ICsyMDcsMTMgQEAgc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZv
X2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1ZXVlX2lkLAo+ICAgCQkJCSAgICAg
IHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwo+ICAgc3RhdGljIGludCB2aXJ0
aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsIF9fdTE2IHF1ZXVl
X2lkLAo+ICAgCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pOwo+
ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhxX2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9y
eF9xdWV1ZSAqcnhxLAo+ICsJCQkJICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmKTsKPiAr
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9lbnF1ZXVlKHN0cnVjdCB1a19uZXRkZXZfcnhf
cXVldWUgKnJ4cSwKPiArCQkJCSAgICAgc3RydWN0IHVrX25ldGJ1ZiAqbmV0YnVmKTsKPiAgIHN0
YXRpYyBpbnQgdmlydGlvX25ldGRldl9yZWN2X2RvbmUoc3RydWN0IHZpcnRxdWV1ZSAqdnEsIHZv
aWQgKnByaXYpOwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcnhfZmlsbHVwKHN0cnVjdCB1
a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKPiArCQlzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmLCBf
X3UxNiAqY291bnQpOwo+ICAgCj4gICAvKioKPiAgICAqIFN0YXRpYyBnbG9iYWwgY29uc3RhbnRz
Cj4gQEAgLTIyMywzMCArMjQxLDMxNCBAQCBzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdl9k
b25lKHN0cnVjdCB2aXJ0cXVldWUgKnZxLCB2b2lkICpwcml2KQo+ICAgCXJldHVybiAxOwo+ICAg
fQo+ICAgCj4gK3N0YXRpYyB2b2lkIHZpcnRpb19uZXRkZXZfeG1pdF9mcmVlKHN0cnVjdCB1a19u
ZXRkZXZfdHhfcXVldWUgKnR4cSkKPiArewo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqcGt0ID0gTlVM
TDsKPiArCWludCBjbnQgPSAwOwo+ICsKPiArCWZvciAoOzspIHsKPiArCQlwa3QgPSAoc3RydWN0
IHVrX25ldGJ1ZiAqKQo+ICsJCQl2aXJ0cXVldWVfYnVmZmVyX2RlcXVldWUodHhxLT52cSwgTlVM
TCk7Cj4gKwkJaWYgKCFwa3QpCj4gKwkJCWJyZWFrOwo+ICsJCS8qKgo+ICsJCSAqIFJlbGVhc2lu
ZyB0aGUgZnJlZSBidWZmZXIgYmFjayB0byBuZXRidWYuIFRoZSBuZXRidWYgY291bGQKPiArCQkg
KiB1c2UgdGhlIGRlc3RydWN0b3IgdG8gaW5mb3JtIHRoZSBzdGFjayByZWdhcmRpbmcgdGhlIGZy
ZWUgdXAKPiArCQkgKiBvZiBtZW1vcnkuCj4gKwkJICovCj4gKwkJdWtfbmV0YnVmX2ZyZWUocGt0
KTsKPiArCQljbnQrKzsKPiArCX0KPiArCXVrX3ByX2RlYnVnKCJGcmVlICUiX19QUkl1MTYiIGRl
c2NyaXB0b3JzXG4iLCBjbnQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZf
cnhfZmlsbHVwKHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSwKPiArCQlzdHJ1Y3QgdWtf
bmV0YnVmICoqbmV0YnVmLCBfX3UxNiAqY291bnQpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwlf
X3UxNiBpID0gMDsKPiArCV9fdTE2IGNudCA9IDA7Cj4gKwo+ICsJLyoqCj4gKwkgKiBGaXhlZCBh
bW91bnQgb2YgbWVtb3J5IGlzIGFsbG9jYXRlZCB0byBlYWNoIHJlY2VpdmVkIGJ1ZmZlci4gSW4K
PiArCSAqIG91ciBjYXNlIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQganVtYm8gZnJhbWUgb3IgTFJP
IHlldCB3ZSByZXF1aXJlCj4gKwkgKiB0aGF0IHRoZSBidWZmZXIgZmVlZCB0byB0aGUgcmluZyBk
ZXNjcmlwdG9yIGlzIGF0bGVhc3QKPiArCSAqIGV0aGVybmV0IE1UVSArIHZpcnRpbyBuZXQgaGVh
ZGVyLgo+ICsJICovCj4gKwlmb3IgKGkgPSAwOyBpIDwgKmNvdW50OyBpKyspIHsKPiArCQlyYyA9
IHZpcnRpb19uZXRkZXZfcnhxX2VucXVldWUocnhxLCBuZXRidWZbaV0pOwo+ICsJCWlmIChyYyA9
PSAtRU5PU1BDKSB7Cj4gKwkJCXVrX3ByX2RlYnVnKAo+ICsJCQkJIk5vIG1vcmUgcGxhY2UgYXZh
aWxhYmxlIHRvIGFkZCBkZXNjcmlwdG9yc1xuIik7Cj4gKwkJCXJjID0gMDsKPiArCQkJYnJlYWs7
Cj4gKwkJfSBlbHNlIGlmICh1bmxpa2VseShyYyA8IDApKSB7Cj4gKwkJCXVrX3ByX2VycigiRmFp
bGVkIHRvIGFkZCBhIGJ1ZmZlciB0byB0aGUgdmlydHF1ZXVlOiAlZFxuIiwKPiArCQkJCSAgcmMp
Owo+ICsJCQlicmVhazsKPiArCQl9Cj4gKwkJY250Kys7Cj4gKwl9Cj4gKwkqY291bnQgPSAqY291
bnQgLSBjbnQ7Cj4gKwo+ICsJLyoqCj4gKwkgKiBOb3RpZnkgdGhlIGhvc3QsIHdoZW4gd2Ugc3Vi
bWl0IG5ldyBkZXNjcmlwdG9yKHMpLgo+ICsJICovCj4gKwlpZiAoY250KQo+ICsJCXZpcnRxdWV1
ZV9ob3N0X25vdGlmeShyeHEtPnZxKTsKPiArCj4gKwlyZXR1cm4gcmM7Cj4gK30KPiArCj4gICBz
dGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gICAJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlICpxdWV1ZSwKPiAgIAkJCSAgICAgIHN0
cnVjdCB1a19uZXRidWYgKnBrdCkKPiAgIHsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAq
dm5kZXYgX191bnVzZWQ7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9oZHIgKnZoZHI7Cj4gKwlpbnQx
Nl90IGhlYWRlcl9zeiA9IHNpemVvZigqdmhkcik7Cj4gICAJaW50IHJjID0gMDsKPiArCXNpemVf
dCB0b3RhbF9sZW4gPSAwOwo+ICAgCj4gICAJVUtfQVNTRVJUKGRldik7Cj4gICAJVUtfQVNTRVJU
KHBrdCAmJiBxdWV1ZSk7Cj4gICAKPiArCXZuZGV2ID0gdG9fdmlydGlvbmV0ZGV2KGRldik7Cj4g
KwkvKioKPiArCSAqIFdlIGFyZSByZWNsYWltaW5nIHRoZSBmcmVlIGRlc2NyaXB0b3JzIGZyb20g
YnVmZmVycy4gVGhlIGZ1bmN0aW9uIGlzCj4gKwkgKiBub3QgcHJvdGVjdGVkIGJ5IG1lYW5zIG9m
IGxvY2tzLiBXZSBuZWVkIHRvIGJlIGNhcmVmdWwgaWYgdGhlcmUgYXJlCj4gKwkgKiBtdWx0aXBs
ZSBjb250ZXh0IHRocm91Z2ggd2hpY2ggd2UgZnJlZSB0aGUgdHggZGVzY3JpcHRvcnMuCj4gKwkg
Ki8KPiArCXZpcnRpb19uZXRkZXZfeG1pdF9mcmVlKHF1ZXVlKTsKPiArCj4gKwkvKioKPiArCSAq
IFVzZSB0aGUgcHJlYWxsb2NhdGVkIGhlYWRlciBzcGFjZSBmb3IgdGhlIHZpcnRpbyBoZWFkZXIu
Cj4gKwkgKi8KPiArCXJjID0gdWtfbmV0YnVmX2hlYWRlcihwa3QsIGhlYWRlcl9zeik7Cj4gKwlp
ZiAodW5saWtlbHkocmMgIT0gMSkpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBwcmVwZW5k
IHZpcnRpbyBoZWFkZXJcbiIpOwo+ICsJCXJjID0gLUVOT1NQQzsKPiArCQlnb3RvIGV4aXQ7Cj4g
Kwl9Cj4gKwl2aGRyID0gcGt0LT5kYXRhOwo+ICsKPiArCS8qKgo+ICsJICogRmlsbCB0aGUgdmly
dGlvLW5ldC1oZWFkZXIgd2l0aCB0aGUgbmVjZXNzYXJ5IGluZm9ybWF0aW9uLgo+ICsJICogWmVy
byBleHBsaWNpdGx5IHNldC4KPiArCSAqLwo+ICsJdmhkci0+ZmxhZ3MgPSAwOwo+ICsJdmhkci0+
Z3NvX3R5cGUgPSBWSVJUSU9fTkVUX0hEUl9HU09fTk9ORTsKPiArCj4gKwkvKioKPiArCSAqIFBy
ZXBhcmUgdGhlIHNnbGlzdCBhbmQgZW5xdWV1ZSB0aGUgYnVmZmVyIHRvIHRoZSB2aXJ0aW8tcmlu
Zy4KPiArCSAqLwo+ICsJdWtfc2dsaXN0X3Jlc2V0KCZxdWV1ZS0+c2cpOwo+ICsKPiArCS8qKgo+
ICsJICogQWNjb3JkaW5nIHRoZSBzcGVjaWZpY2F0aW9uIDUuMS42LjYsIHdlIG5lZWQgdG8gZXhw
bGljaXRseSB1c2UKPiArCSAqIDIgZGVzY3JpcHRvciBmb3IgZWFjaCB0cmFuc21pdCBhbmQgcmVj
ZWl2ZSBuZXR3b3JrIHBhY2tldCBzaW5jZSB3ZQo+ICsJICogZG8gbm90IG5lZ290aWF0ZSBmb3Ig
dGhlIFZJUlRJT19GX0FOWV9MQVlPVVQuCj4gKwkgKgo+ICsJICogMSBmb3IgdGhlIHZpcnRpbyBo
ZWFkZXIgYW5kIHRoZSBvdGhlciBmb3IgdGhlIGFjdHVhbCBuZXR3b3JrIHBhY2tldC4KPiArCSAq
Lwo+ICsJLyogQXBwZW5kaW5nIHRoZSBkYXRhIHRvIHRoZSBsaXN0LiAqLwo+ICsJcmMgPSB1a19z
Z2xpc3RfYXBwZW5kKCZxdWV1ZS0+c2csIHZoZHIsIGhlYWRlcl9zeik7Cj4gKwlpZiAodW5saWtl
bHkocmMgIT0gMCkpIHsKPiArCQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNn
IGxpc3RcbiIpOwo+ICsJCWdvdG8gZXhpdDsKPiArCX0KPiArCXJjID0gdWtfc2dsaXN0X2FwcGVu
ZCgmcXVldWUtPnNnLCBwa3QtPmRhdGEgKyBoZWFkZXJfc3osCj4gKwkJCShwa3QtPmxlbiAtIGhl
YWRlcl9zeikpOwo+ICsJaWYgKHVubGlrZWx5KHJjICE9IDApKSB7Cj4gKwkJdWtfcHJfZXJyKCJG
YWlsZWQgdG8gYXBwZW5kIHRvIHRoZSBzZyBsaXN0XG4iKTsKPiArCQlnb3RvIGV4aXQ7Cj4gKwl9
Cj4gKwlpZiAocGt0LT5uZXh0KSB7Cj4gKwkJcmMgPSB1a19zZ2xpc3RfYXBwZW5kX25ldGJ1Zigm
cXVldWUtPnNnLCBwa3QtPm5leHQpOwo+ICsJCWlmICh1bmxpa2VseShyYyAhPSAwKSkgewo+ICsJ
CQl1a19wcl9lcnIoIkZhaWxlZCB0byBhcHBlbmQgdG8gdGhlIHNnIGxpc3RcbiIpOwo+ICsJCQln
b3RvIGV4aXQ7Cj4gKwkJfQo+ICsJfQo+ICsKPiArCXRvdGFsX2xlbiA9IHVrX3NnbGlzdF9sZW5n
dGgoJnF1ZXVlLT5zZyk7Cj4gKwlpZiAodW5saWtlbHkodG90YWxfbGVuID4gVklSVElPX1BLVF9C
VUZGRVJfTEVOKSkgewo+ICsJCXVrX3ByX2VycigiUGFja2V0IHNpemUgdG9vIGJpZzogJWx1LCBt
YXg6JXVcbiIsCj4gKwkJCSAgdG90YWxfbGVuLCBWSVJUSU9fUEtUX0JVRkZFUl9MRU4pOwo+ICsJ
CXJldHVybiAtRU5PVFNVUDsKPiArCX0KPiArCj4gKwkvKioKPiArCSAqIEFkZGluZyB0aGUgZGVz
Y3JpcHRvcnMgdG8gdGhlIHZpcnRxdWV1ZS4KPiArCSAqLwo+ICsJcmMgPSB2aXJ0cXVldWVfYnVm
ZmVyX2VucXVldWUocXVldWUtPnZxLCBwa3QsICZxdWV1ZS0+c2csCj4gKwkJCQkgICAgICBxdWV1
ZS0+c2cuc2dfbnNlZywgMCk7Cj4gKwlpZiAobGlrZWx5KHJjID49IDApKSB7Cj4gKwkJLyoqCj4g
KwkJICogTm90aWZ5IHRoZSBob3N0IHRoZSBuZXcgYnVmZmVyLgo+ICsJCSAqLwo+ICsJCXZpcnRx
dWV1ZV9ob3N0X25vdGlmeShxdWV1ZS0+dnEpOwo+ICsJCS8qKgo+ICsJCSAqIFdoZW4gdGhlcmUg
aXMgZnVydGhlciBzcGFjZSBhdmFpbGFibGUgaW4gdGhlIHJpbmcKPiArCQkgKiByZXR1cm4gMiBl
bHNlIDEuCj4gKwkJICovCj4gKwkJcmMgPSBsaWtlbHkocmMgPiAwKSA/IDIgOiAxOwo+ICsJfSBl
bHNlIGlmIChyYyA9PSAtRU5PU1BDKSB7Cj4gKwkJdWtfcHJfZGVidWcoIk5vIG1vcmUgZGVzY3Jp
cHRvciBhdmFpbGFibGVcbiIpOwo+ICsJCXJjID0gMDsKPiArCX0gZWxzZSB7Cj4gKwkJdWtfcHJf
ZXJyKCJGYWlsZWQgdG8gZW5xdWV1ZSBkZXNjcmlwdG9ycyBpbnRvIHRoZSByaW5nOiAlZFxuIiwK
PiArCQkJICByYyk7Cj4gKwl9Cj4gKwo+ICtleGl0Ogo+ICAgCXJldHVybiByYzsKPiAgIH0KPiAg
IAo+IC1zdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYg
X191bnVzZWQsCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldGRldl9yeHFfZW5xdWV1ZShzdHJ1Y3Qg
dWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHEsCj4gKwkJCQkgICAgIHN0cnVjdCB1a19uZXRidWYgKm5l
dGJ1ZikKPiArewo+ICsJaW50IHJjID0gMDsKPiArCXN0cnVjdCB2aXJ0aW9fbmV0X3J4X2hkciAq
cnhoZHI7Cj4gKwlpbnQxNl90IGhlYWRlcl9zeiA9IHNpemVvZigqcnhoZHIpOwo+ICsJX191OCAq
YnVmX3N0YXJ0Owo+ICsJc2l6ZV90IGJ1Zl9sZW4gPSAwOwo+ICsJc3RydWN0IHVrX3NnbGlzdCAq
c2c7Cj4gKwo+ICsJaWYgKHZpcnRxdWV1ZV9pc19mdWxsKHJ4cS0+dnEpKSB7Cj4gKwkJdWtfcHJf
ZGVidWcoIlRoZSB2aXJ0cXVldWUgaXMgZnVsbFxuIik7Cj4gKwkJcmV0dXJuIC1FTk9TUEM7Cj4g
Kwl9Cj4gKwo+ICsJLyoqCj4gKwkgKiBTYXZpbmcgdGhlIGJ1ZmZlciBpbmZvcm1hdGlvbiBiZWZv
cmUgcmVzZXJ2aW5nIHRoZSBoZWFkZXIgc3BhY2UuCj4gKwkgKi8KPiArCWJ1Zl9zdGFydCA9IG5l
dGJ1Zi0+ZGF0YTsKPiArCWJ1Zl9sZW4gPSBuZXRidWYtPmxlbjsKPiArCj4gKwkvKioKPiArCSAq
IFJldHJpZXZlIHRoZSBidWZmZXIgaGVhZGVyIGxlbmd0aC4KPiArCSAqLwo+ICsJcmMgPSB1a19u
ZXRidWZfaGVhZGVyKG5ldGJ1ZiwgaGVhZGVyX3N6KTsKPiArCWlmICh1bmxpa2VseShyYyAhPSAx
KSkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRvIGFsbG9jYXRlIHNwYWNlIHRvIHByZXBlbmQg
dmlydGlvIGhlYWRlclxuIik7Cj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gKwl9Cj4gKwlyeGhkciA9
IG5ldGJ1Zi0+ZGF0YTsKPiArCj4gKwlzZyA9ICZyeHEtPnNnOwo+ICsJdWtfc2dsaXN0X3Jlc2V0
KHNnKTsKPiArCj4gKwkvKiBBcHBlbmRpbmcgdGhlIGhlYWRlciBidWZmZXIgdG8gdGhlIHNnbGlz
dCAqLwo+ICsJdWtfc2dsaXN0X2FwcGVuZChzZywgcnhoZHIsIHNpemVvZihzdHJ1Y3QgdmlydGlv
X25ldF9oZHIpKTsKPiArCj4gKwkvKiBBcHBlbmRpbmcgdGhlIGRhdGEgYnVmZmVyIHRvIHRoZSBz
Z2xpc3QgKi8KPiArCXVrX3NnbGlzdF9hcHBlbmQoc2csIGJ1Zl9zdGFydCwgYnVmX2xlbik7Cj4g
Kwo+ICsJcmMgPSB2aXJ0cXVldWVfYnVmZmVyX2VucXVldWUocnhxLT52cSwgbmV0YnVmLCBzZywg
MCwgc2ctPnNnX25zZWcpOwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZp
cnRpb19uZXRkZXZfcnhxX2RlcXVldWUoc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcnhxLAo+
ICsJCQkJICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqbmV0YnVmKQo+ICt7Cj4gKwlpbnQgcmMgPSAw
Owo+ICsJc3RydWN0IHVrX25ldGJ1ZiAqYnVmID0gTlVMTDsKPiArCV9fdTMyIGxlbjsKPiArCj4g
KwlVS19BU1NFUlQobmV0YnVmKTsKPiArCj4gKwlidWYgPSAoc3RydWN0IHVrX25ldGJ1ZiAqKXZp
cnRxdWV1ZV9idWZmZXJfZGVxdWV1ZShyeHEtPnZxLCAmbGVuKTsKPiArCWlmICghYnVmKSB7Cj4g
KwkJdWtfcHJfZGVidWcoIk5vIGRhdGEgYXZhaWxhYmxlIGluIHRoZSBxdWV1ZVxuIik7Cj4gKwkJ
Km5ldGJ1ZiA9IE5VTEw7Cj4gKwkJcmV0dXJuIDA7Cj4gKwl9Cj4gKwlpZiAodW5saWtlbHkoKGxl
biA8IFZJUlRJT19IRFJfTEVOICsgRVRIX0hEUl9MRU4pCj4gKwkJICAgICB8fCAobGVuID4gVklS
VElPX1BLVF9CVUZGRVJfTEVOKSkpIHsKPiArCQl1a19wcl9lcnIoIlJlY2VpdmVkIGludmFsaWQg
cGFja2V0IHNpemU6ICUiX19QUkl1MzIiXG4iLCBsZW4pOwo+ICsJCXJldHVybiAtRUlOVkFMOwo+
ICsJfQo+ICsKPiArCS8qKgo+ICsJICogUmVtb3ZpbmcgdGhlIHZpcnRpbyBoZWFkZXIgZnJvbSB0
aGUgYnVmZmVyIGFuZCBhZGp1c3RpbmcgbGVuZ3RoLgo+ICsJICogV2UgcGFkICJWVE5FVF9SWF9I
RUFERVJfUEFEIiB0byB0aGUgcnggYnVmZmVyIHdoaWxlIGVucXVldWluZyBmb3IKPiArCSAqIGFs
aWdubWVudCBvZiB0aGUgcGFja2V0IGRhdGEuIFdlIGNvbXBlbnNhdGUgZm9yIHRoaXMsIGJ5IGFk
ZGluZyB0aGUKPiArCSAqICBwYWRkaW5nIHRvIHRoZSBsZW5ndGggb24gZGVxdWV1ZS4KPiArCSAq
Lwo+ICsJYnVmLT5sZW4gPSBsZW4gKyBWVE5FVF9SWF9IRUFERVJfUEFEOwo+ICsJcmMgPSB1a19u
ZXRidWZfaGVhZGVyKGJ1ZiwKPiArCQkJICAgICAgLSgoaW50MTZfdClzaXplb2Yoc3RydWN0IHZp
cnRpb19uZXRfcnhfaGRyKSkpOwo+ICsJVUtfQVNTRVJUKHJjID09IDEpOwo+ICsJKm5ldGJ1ZiA9
IGJ1ZjsKPiArCj4gKwlyZXR1cm4gMTsKPiArfQo+ICsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0
ZGV2X3JlY3Yoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICAgCQkJICAgICAgc3RydWN0IHVrX25l
dGRldl9yeF9xdWV1ZSAqcXVldWUsCj4gLQkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3Qg
X191bnVzZWQsCj4gKwkJCSAgICAgIHN0cnVjdCB1a19uZXRidWYgKipwa3QsCj4gICAJCQkgICAg
ICBzdHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKPiAgIAkJCSAgICAgIHVpbnQxNl90ICpmaWxs
dXBfY291bnQpCj4gICB7Cj4gICAJaW50IHJjID0gMDsKPiArCWludCBjbnQgPSAwOwo+ICAgCj4g
ICAJVUtfQVNTRVJUKGRldiAmJiBxdWV1ZSk7Cj4gICAJVUtfQVNTRVJUKCFmaWxsdXAgfHwgKGZp
bGx1cCAmJiAqZmlsbHVwX2NvdW50ID4gMCkpOwo+ICAgCj4gLQlyZXR1cm4gcmM7Cj4gKwlpZiAo
cGt0ICYmIChxdWV1ZS0+aW50cl9lbmFibGVkICYgVlRORVRfSU5UUl9VU1JfRU5fTUFTSykpIHsK
PiArCQl2aXJ0cXVldWVfaW50cl9kaXNhYmxlKHF1ZXVlLT52cSk7Cj4gKwkJcXVldWUtPmludHJf
ZW5hYmxlZCAmPSB+KFZUTkVUX0lOVFJfRU4pOwo+ICsJfQo+ICsKPiArCWlmIChwa3QpIHsKPiAr
CQlyYyA9IHZpcnRpb19uZXRkZXZfcnhxX2RlcXVldWUocXVldWUsIHBrdCk7Cj4gKwkJaWYgKHVu
bGlrZWx5KHJjIDwgMCkpIHsKPiArCQkJdWtfcHJfZXJyKCJGYWlsZWQgdG8gZGVxdWV1ZSB0aGUg
cGFja2V0OiAlZFxuIiwgcmMpOwo+ICsJCQlnb3RvIGVycl9leGl0Owo+ICsJCX0KPiArCQljbnQg
PSByYzsKPiArCX0KPiArCWlmIChmaWxsdXApCj4gKwkJdmlydGlvX25ldGRldl9yeF9maWxsdXAo
cXVldWUsIGZpbGx1cCwgZmlsbHVwX2NvdW50KTsKPiArCj4gKwkvKiBFbmFibGUgaW50ZXJydXB0
IG9ubHkgd2hlbiB1c2VyIGhhZCBwcmV2aW91c2x5IGVuYWJsZWQgaXQgKi8KPiArCWlmIChwa3Qg
JiYgKHF1ZXVlLT5pbnRyX2VuYWJsZWQgJiBWVE5FVF9JTlRSX1VTUl9FTl9NQVNLKSkgewo+ICsJ
CS8qIE5lZWQgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1cHQgb24gdGhlIGxhc3QgcGFja2V0ICovCj4g
KwkJcmMgPSB2aXJ0cXVldWVfaW50cl9lbmFibGUocXVldWUtPnZxKTsKPiArCQlpZiAocmMgPT0g
MSAmJiBjbnQgPT0gMCkgewo+ICsJCQkvKioKPiArCQkJICogUGFja2V0IGFycml2ZSBhZnRlciBy
ZWFkaW5nIHRoZSBxdWV1ZSBhbmQgYmVmb3JlCj4gKwkJCSAqIGVuYWJsaW5nIHRoZSBpbnRlcnJ1
cHQKPiArCQkJICovCj4gKwkJCXJjID0gdmlydGlvX25ldGRldl9yeHFfZGVxdWV1ZShxdWV1ZSwg
cGt0KTsKPiArCQkJaWYgKHVubGlrZWx5KHJjIDwgMCkpIHsKPiArCQkJCXVrX3ByX2VycigiRmFp
bGVkIHRvIGRlcXVldWUgdGhlIHBhY2tldDogJWRcbiIsCj4gKwkJCQkJICByYyk7Cj4gKwkJCQln
b3RvIGVycl9leGl0Owo+ICsJCQl9Cj4gKwkJCS8qIE5lZWQgdG8gZW5hYmxlIHRoZSBpbnRlcnJ1
cHQgb24gdGhlIGxhc3QgcGFja2V0ICovCj4gKwkJCXJjID0gdmlydHF1ZXVlX2ludHJfZW5hYmxl
KHF1ZXVlLT52cSk7Cj4gKwkJCWNudCA9IChyYyA9PSAxKSA/IDIgOiAxOwo+ICsJCX0gZWxzZSBp
ZiAoY250ID4gMCkgewo+ICsJCQkvKiBXaGVuIHRoZXJlIGlzIHBhY2tldCBpbiB0aGUgYnVmZmVy
ICovCj4gKwkJCWNudCA9IChyYyA9PSAxKSA/IDIgOiAxOwo+ICsJCX0KPiArCX0gZWxzZSBpZiAo
cGt0ICYmIGNudCA+IDApIHsKPiArCQkvKioKPiArCQkgKiBGb3IgcG9sbGluZyBjYXNlLCB3ZSBy
ZXBvcnQgYWx3YXlzIHRoZXJlIGFyZSBmdXJ0aGVyCj4gKwkJICogcGFja2V0cyB1bmxlc3MgdGhl
IHF1ZXVlIGlzIGVtcHR5Lgo+ICsJCSAqLwo+ICsJCWNudCA9IDI7Cj4gKwl9Cj4gKwo+ICtleGl0
Ogo+ICsJcmV0dXJuIGNudDsKPiArCj4gK2Vycl9leGl0Ogo+ICsJY250ID0gcmM7Cj4gKwlnb3Rv
IGV4aXQ7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp2
aXJ0aW9fbmV0ZGV2X3J4X3F1ZXVlX3NldHVwKAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3Mt
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t
YWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 15:35:37 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 15:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFhfc-0004bI-9x; Thu, 25 Oct 2018 15:35:36 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=uelk=nf=arm.com=julien.grall@srs-us1.protection.inumbo.net>)
 id 1gFhfb-0004bD-CF
 for minios-devel@lists.xenproject.org; Thu, 25 Oct 2018 15:35:35 +0000
X-Inumbo-ID: d38c63bd-d86b-11e8-a6a9-d7ebe60f679a
Received: from foss.arm.com (unknown [217.140.101.70])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTP
 id d38c63bd-d86b-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 15:37:05 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E22ABA78;
 Thu, 25 Oct 2018 08:35:33 -0700 (PDT)
Received: from [10.101.215.51] (usa-sjc-mx-foss1.foss.arm.com [217.140.101.70])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C4D613F5D3;
 Thu, 25 Oct 2018 08:35:32 -0700 (PDT)
To: Jianyong Wu <jianyong.wu@arm.com>, minios-devel@lists.xenproject.org,
 simon.kuenzer@neclab.eu
References: <20181025100538.18117-1-jianyong.wu@arm.com>
 <20181025100538.18117-2-jianyong.wu@arm.com>
From: Julien Grall <julien.grall@arm.com>
Message-ID: <32ab0783-b415-de17-0d3a-ccbf260026ed@arm.com>
Date: Thu, 25 Oct 2018 16:35:27 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <20181025100538.18117-2-jianyong.wu@arm.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT RFC PATCH 1/1] plat/common: Implement
 ffs/fls for non-x86 architectures
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Kaly.Xin@arm.com, nd@arm.com, wei.chen@arm.com
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

CgpPbiAxMC8yNS8xOCAxMTowNSBBTSwgSmlhbnlvbmcgV3Ugd3JvdGU6Cj4gRnJvbTogSmlhbnlv
bmcgV3UgPEppYW55b25nLld1QGFybS5jb20+Cj4gCj4gU29tZSBhcmNoaXRlY3R1cmVzIGxpa2Ug
QXJtNjQgZG9uJ3QgaGF2ZSBzcGVjaWFsIGluc3RydWN0aW9ucwo+IGxpa2UgeDg2IHRvIGltcGxl
bWVudCBmZnMvZmxzIGZ1bmN0aW9ucy4KClRoYXQncyBub3QgdHJ1ZS4gVGhvc2UgZnVuY3Rpb25z
IGNhbiBiZSBpbXBsZW1lbnRlZCB1c2luZyB0aGUgCmluc3RydWN0aW9uIGNseiAoY291bnQgbGVh
ZGluZyB6ZXJvKSBvbiBBcm0uCgpTZWUgdGhlIEFSTSBBUk0gYW5kIFsxXSBmb3IgbW9yZSBkZXRh
aWxzIG9uIGhvdyB0byB1c2UgdGhlbS4KCkNoZWVycywKClsxXSBodHRwczovL2VuLndpa2lwZWRp
YS5vcmcvd2lraS9GaW5kX2ZpcnN0X3NldAoKLS0gCkp1bGllbiBHcmFsbAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRldmVsIG1haWxpbmcg
bGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5w
cm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 16:05:20 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 16:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFi8N-00086j-ET; Thu, 25 Oct 2018 16:05:19 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=gxim=nf=gmail.com=costin.birlea@srs-us1.protection.inumbo.net>)
 id 1gFi8M-00086c-Px
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 16:05:18 +0000
X-Inumbo-ID: 5926ff3d-d86f-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x442.google.com (unknown [2a00:1450:4864:20::442])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5926ff3d-d86f-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 18:02:19 +0200 (CEST)
Received: by mail-wr1-x442.google.com with SMTP id w5-v6so9920072wrt.2
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 09:05:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=A0/dqMbmzhFlaUO581H3JQwHcIV6HW9EzIabjlroYXs=;
 b=BB6StS9nZCqWxy0fQyGs0+nB65+dZ9+PN7C2U/2jHLlBgLZiCt+fuGA81plVqK7w48
 2OJ/AUKZF5jV96CpofO/oeVuSb82zhCWaWNRIiotxg1CNhyFjJjQvvNf16ymJMSikgzc
 T4KRjf6WVVCRxSbQqm4dz7CEOntrQpsMFvSexNU2+4mpP5WaVWiaG+ylCsoylCzUSRMN
 lHg0zNRgFgp1L47SIoR92vCkllKOw229MZfi6OLGWTeQEWFExm3ixz1J2Ubyh6f+1lYx
 cFIbp0sDU6h3ZObyyTUcb4NB0S3ZMEjEiNGjk9dABuyTiMr8LjExm3LAkP/V3PqWt9MX
 N5pA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=A0/dqMbmzhFlaUO581H3JQwHcIV6HW9EzIabjlroYXs=;
 b=Zzs3XTxhfjRWQao67vN52MAkoWSMa3WeEbKKWHW5a4vEYh5vISHjBN4swu/s3CP51U
 Dz5EFKdTjCJoFZUReQ3PrqqU6ID/Rq2642IjgBZ1kcbAzODTUI8lSuNmUan56B6pqa+H
 zyHLxTs3hYNwL4N15Lo1ucev0AhOSn0KahFnwR3R01zyeRVq5MpVGSANIcq3QgZP0ZKJ
 pnnvqfQwCZLsdL+toCUXy5SBTZEvzgg6y7JUHJYJOk0Kw2HwUoqLu78k9jxiR+Vt84hj
 yzpgc/llz53obT5i6pVg8xvGQhYvuLSCPbjewMyL72puEbRYzfqUQcNog1glXWgTP8BA
 KYdQ==
X-Gm-Message-State: AGRZ1gIg/rNr8hks9EcN4zbV1aYFiFINy8cPlHp2WiZ5HWnT0JMqWapR
 3hF4dWZ/gZePxcAwlhGJgXUxHsiaI3A=
X-Google-Smtp-Source: AJdET5cK0ANPngqQn3WxSo9su4+sj7RppL1j1TZ7ua0dE2g/bAjKbfC7gDg4jgMiFqwy47WOaZVH3A==
X-Received: by 2002:adf:de86:: with SMTP id
 w6-v6mr2389492wrl.295.1540483515708; 
 Thu, 25 Oct 2018 09:05:15 -0700 (PDT)
Received: from codi.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id x3-v6sm5824711wrp.27.2018.10.25.09.05.14
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 25 Oct 2018 09:05:15 -0700 (PDT)
From: Birlea Costin <costin.birlea@gmail.com>
To: minios-devel@lists.xen.org
Date: Thu, 25 Oct 2018 19:05:07 +0300
Message-Id: <20181025160508.5144-1-costin.birlea@gmail.com>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH 1/1] plat/xen: Add flush for xen
 console
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu,
 Birlea Costin <costin.birlea@gmail.com>, yuri.volchkov@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

U2lnbmVkLW9mZi1ieTogQmlybGVhIENvc3RpbiA8Y29zdGluLmJpcmxlYUBnbWFpbC5jb20+Ci0t
LQogcGxhdC94ZW4vY29uc29sZS5jICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysK
IHBsYXQveGVuL2luY2x1ZGUvY29tbW9uL2NvbnNvbGUuaCB8ICAzICsrKwogcGxhdC94ZW4vc2h1
dGRvd24uYyAgICAgICAgICAgICAgIHwgIDMgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDIwIGluc2Vy
dGlvbnMoKykKCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9jb25zb2xlLmMgYi9wbGF0L3hlbi9jb25z
b2xlLmMKaW5kZXggYzBiMzVjNy4uM2RmMDZkNCAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vY29uc29s
ZS5jCisrKyBiL3BsYXQveGVuL2NvbnNvbGUuYwpAQCAtMjAzLDYgKzIwMywyMCBAQCBzdGF0aWMg
dm9pZCBodmNvbnNvbGVfaW5wdXQoZXZ0Y2huX3BvcnRfdCBwb3J0IF9fdW51c2VkLAogCS8qIE5P
VCBJTVBMRU1FTlRFRCBZRVQgKi8KIH0KIAordm9pZCBodmNvbnNvbGVfZmx1c2goKQoreworCXN0
cnVjdCB4ZW5jb25zX2ludGVyZmFjZSAqaW50ZjsKKworCWlmICghY29uc29sZV9yZWFkeSkKKwkJ
cmV0dXJuOworCisJaW50ZiA9IGNvbnNvbGVfcmluZzsKKwlpZiAodW5saWtlbHkoIWludGYpKQor
CQlyZXR1cm4gOworCisJd2hpbGUgKGludGYtPm91dF9jb25zIDwgaW50Zi0+b3V0X3Byb2QpCisJ
CTsKK30KIAogdm9pZCBfbGlieGVucGxhdF9pbml0X2NvbnNvbGUodm9pZCkKIHsKZGlmZiAtLWdp
dCBhL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2NvbnNvbGUuaCBiL3BsYXQveGVuL2luY2x1ZGUv
Y29tbW9uL2NvbnNvbGUuaAppbmRleCBjNTFjNjliLi5iNGYxYjUxIDEwMDY0NAotLS0gYS9wbGF0
L3hlbi9pbmNsdWRlL2NvbW1vbi9jb25zb2xlLmgKKysrIGIvcGxhdC94ZW4vaW5jbHVkZS9jb21t
b24vY29uc29sZS5oCkBAIC00NSw0ICs0NSw3IEBAIHZvaWQgX2xpYnhlbnBsYXRfcHJlcGFyZV9j
b25zb2xlKHZvaWQpOwogICovCiB2b2lkIF9saWJ4ZW5wbGF0X2luaXRfY29uc29sZSh2b2lkKTsK
IAorCit2b2lkIGh2Y29uc29sZV9mbHVzaCh2b2lkKTsKKwogI2VuZGlmIC8qIF9fQ09OU09MRV9I
X18gKi8KZGlmZiAtLWdpdCBhL3BsYXQveGVuL3NodXRkb3duLmMgYi9wbGF0L3hlbi9zaHV0ZG93
bi5jCmluZGV4IGUxNzU4ZmYuLjI3MmVjZTQgMTAwNjQ0Ci0tLSBhL3BsYXQveGVuL3NodXRkb3du
LmMKKysrIGIvcGxhdC94ZW4vc2h1dGRvd24uYwpAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUg
PGVycm5vLmg+CiAKICNpbmNsdWRlIDx4ZW4veGVuLmg+CisjaW5jbHVkZSA8Y29tbW9uL2NvbnNv
bGUuaD4KIAogI2lmIGRlZmluZWQgX19YODZfMzJfXwogI2luY2x1ZGUgPHhlbi14ODYvaHlwZXJj
YWxsMzIuaD4KQEAgLTY1LDYgKzY2LDggQEAgdm9pZCB1a3BsYXRfdGVybWluYXRlKGVudW0gdWtw
bGF0X2dzdGF0ZSByZXF1ZXN0KQogCQlicmVhazsKIAl9CiAKKwlodmNvbnNvbGVfZmx1c2goKTsK
KwogCWZvciAoOzspIHsKIAkJc3RydWN0IHNjaGVkX3NodXRkb3duIHNjaGVkX3NodXRkb3duID0g
eyAucmVhc29uID0gcmVhc29uIH07CiAKLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZlbCBtYWlsaW5nIGxpc3QKTWlu
aW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5v
cmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 16:05:20 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 16:05:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFi8O-000873-Fp; Thu, 25 Oct 2018 16:05:20 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=gxim=nf=gmail.com=costin.birlea@srs-us1.protection.inumbo.net>)
 id 1gFi8O-00086p-0e
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 16:05:20 +0000
X-Inumbo-ID: 5a4ee29c-d86f-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x429.google.com (unknown [2a00:1450:4864:20::429])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5a4ee29c-d86f-11e8-a8a5-bc764e045a96;
 Thu, 25 Oct 2018 18:02:21 +0200 (CEST)
Received: by mail-wr1-x429.google.com with SMTP id i4-v6so9876501wrr.13
 for <minios-devel@lists.xen.org>; Thu, 25 Oct 2018 09:05:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id:in-reply-to:references;
 bh=7doe/INrKfZVPjMxdN385vdKrXX0Q/JYKf2Uns3WVHM=;
 b=q3FqjhJ/6r7NPY917/ZCHVEveX563JJcNTk449owVBaTq8anmrsDwDxE21FDLtA+6P
 ausoZfALoiboK2CDdBrPsNQ6+gY6dB6nsjT4BCHacTNI4w7w8DsEiUeCH4XfCT2ekIAD
 OA5wiHF6FQ1TK/IavkjXRl8lZ0yQitslgl6Qr/A34dLSyn6eIAbJR3qcCu40lcg1fYKw
 yKIv27x7z2VffcanedkyUdGXj4c2TqEVW94V1126XKbs3vScnsnGM4PWlnSmK8cWJwky
 UGlhEWg4HjkyoAMfjj9rq7qfu7ARz0x97O+PHdJhBU+Wt88yC86p92uwRrCjarCq35dB
 zZ4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to
 :references;
 bh=7doe/INrKfZVPjMxdN385vdKrXX0Q/JYKf2Uns3WVHM=;
 b=oxSTEeyqNLZ6qGGmj2YILuAG2lsEt7tbHECpB+2sgiYBpWWIYoFSAvVKiD8k5ednaL
 n+F44jdZYHY00ApASemF+pRt1DG6icqLSQheSc0HTaZhkN9KpL3brZVfz2L4+JiqKAsB
 AxIZ3wziBIDswV9i/Fy6mKJpiz2YltyKnOgPXdDuh/JVNzbGABeyqbygKVnm+c9Wqslz
 MRh3GKeq31zmfb8E6I78Zd1uVn+wiPIk2W7WpOl7PdMN8/cDOd6tj43T0SBD26hJ6AgB
 y//SCPkgJkyE/y9Yxtlj9z2fIT+tcu8FMfXSWK+5u+SsJ/egTPRQbhs3ju068gu+i7kP
 8YKA==
X-Gm-Message-State: AGRZ1gL/oMzZ71GU5t/pYKhZ9FIbd+mgpacvDukJZu8xiDPc2XC+adXf
 J/cU3Vk8tRciNaF5HIltfz6NVyoZKFs=
X-Google-Smtp-Source: AJdET5eIAjIJbdoYhqZ0OVAj+xy3Dpe5RBWOQeK3VCQgxBrg1nGYGSJmH5JisFdFRekxCqhCpJi47g==
X-Received: by 2002:adf:afdc:: with SMTP id
 y28-v6mr2674734wrd.176.1540483517709; 
 Thu, 25 Oct 2018 09:05:17 -0700 (PDT)
Received: from codi.precis.pub.ro ([141.85.233.105])
 by smtp.gmail.com with ESMTPSA id x3-v6sm5824711wrp.27.2018.10.25.09.05.16
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Thu, 25 Oct 2018 09:05:17 -0700 (PDT)
From: Birlea Costin <costin.birlea@gmail.com>
To: minios-devel@lists.xen.org
Date: Thu, 25 Oct 2018 19:05:08 +0300
Message-Id: <20181025160508.5144-2-costin.birlea@gmail.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20181025160508.5144-1-costin.birlea@gmail.com>
References: <20181025160508.5144-1-costin.birlea@gmail.com>
Subject: [Minios-devel] [UNIKRAFT PATCH 0/1] plat/xen: Add flush for xen
 console
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu,
 Birlea Costin <costin.birlea@gmail.com>, yuri.volchkov@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIGZsdXNoIGZ1bmN0aW9uIGZvciB4ZW4gY29uc29sZS4gU2h1dGRvd24gY2FuIGJlIHJlcXVl
c3RlZApiZWZvcmUgdGhlIGh5cGVydmlzb3IgZ2V0cyB0byBwcmludCBldmVyeXRoaW5nIHRvIHRo
ZSBjb25zb2xlCmFuZCBzdG9wcyB0cnlpbmcuIFRoaXMgaGFwcGVucyBpbiB1a3V0ZXN0IGFuZCBk
b2VzIG5vdCBnZXQgdG8KcHJpbnQgUGFzc2VkKHgveSkuIFRoaXMgcGF0Y2ggYXNzdXJlcyBldmVy
eXRoaW5nIGlzIHdyaXR0ZW4KYmVmb3JlIHNodXR0aW5nIGRvd24uCgpCaXJsZWEgQ29zdGluICgx
KToKICBwbGF0L3hlbjogQWRkIGZsdXNoIGZvciB4ZW4gY29uc29sZQoKIHBsYXQveGVuL2NvbnNv
bGUuYyAgICAgICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKysrCiBwbGF0L3hlbi9pbmNsdWRl
L2NvbW1vbi9jb25zb2xlLmggfCAgMyArKysKIHBsYXQveGVuL3NodXRkb3duLmMgICAgICAgICAg
ICAgICB8ICAzICsrKwogMyBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCgotLSAKMi4x
MS4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWlu
aW9zLWRldmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcK
aHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZl
bA==

From minios-devel-bounces@lists.xenproject.org Thu Oct 25 20:32:17 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Thu, 25 Oct 2018 20:32:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFmIi-00076s-DG; Thu, 25 Oct 2018 20:32:16 +0000
Received: from all-amaz-eas1.inumbo.com ([34.197.232.57])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=uelk=nf=arm.com=julien.grall@srs-us1.protection.inumbo.net>)
 id 1gFmIh-00076j-3q
 for minios-devel@lists.xen.org; Thu, 25 Oct 2018 20:32:15 +0000
X-Inumbo-ID: 445323e6-d895-11e8-a6a9-d7ebe60f679a
Received: from foss.arm.com (unknown [217.140.101.70])
 by us1-amaz-eas1.inumbo.com (Halon) with ESMTP
 id 445323e6-d895-11e8-a6a9-d7ebe60f679a;
 Thu, 25 Oct 2018 20:33:44 +0000 (UTC)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.72.51.249])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 471B4341;
 Thu, 25 Oct 2018 13:32:12 -0700 (PDT)
Received: from [192.168.42.174] (usa-sjc-mx-foss1.foss.arm.com
 [217.140.101.70])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A4E453F5D3;
 Thu, 25 Oct 2018 13:32:10 -0700 (PDT)
To: Birlea Costin <costin.birlea@gmail.com>, minios-devel@lists.xen.org
References: <20181025160508.5144-1-costin.birlea@gmail.com>
From: Julien Grall <julien.grall@arm.com>
Message-ID: <5501e4ab-7332-4912-1ad1-3b296ff38dc0@arm.com>
Date: Thu, 25 Oct 2018 21:32:02 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <20181025160508.5144-1-costin.birlea@gmail.com>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH 1/1] plat/xen: Add flush for xen
 console
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu, yuri.volchkov@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGksCgpZb3Ugd2FudCB0byBhZGQgYSBjb21taXQgbWVzc2FnZSBoZXJlIGV4cGxhaW5pbmcgd2h5
IHRoZSBmbHVzaC4gWW91IApjb3ZlciBsZXR0ZXIgc2VlbXMgYSBnb29kIGNhbmRpZGF0ZSBmb3Ig
dGhhdC4KCk9uIDEwLzI1LzE4IDU6MDUgUE0sIEJpcmxlYSBDb3N0aW4gd3JvdGU6Cj4gU2lnbmVk
LW9mZi1ieTogQmlybGVhIENvc3RpbiA8Y29zdGluLmJpcmxlYUBnbWFpbC5jb20+Cj4gLS0tCj4g
ICBwbGF0L3hlbi9jb25zb2xlLmMgICAgICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrKwo+
ICAgcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vY29uc29sZS5oIHwgIDMgKysrCj4gICBwbGF0L3hl
bi9zaHV0ZG93bi5jICAgICAgICAgICAgICAgfCAgMyArKysKPiAgIDMgZmlsZXMgY2hhbmdlZCwg
MjAgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9wbGF0L3hlbi9jb25zb2xlLmMgYi9w
bGF0L3hlbi9jb25zb2xlLmMKPiBpbmRleCBjMGIzNWM3Li4zZGYwNmQ0IDEwMDY0NAo+IC0tLSBh
L3BsYXQveGVuL2NvbnNvbGUuYwo+ICsrKyBiL3BsYXQveGVuL2NvbnNvbGUuYwo+IEBAIC0yMDMs
NiArMjAzLDIwIEBAIHN0YXRpYyB2b2lkIGh2Y29uc29sZV9pbnB1dChldnRjaG5fcG9ydF90IHBv
cnQgX191bnVzZWQsCj4gICAJLyogTk9UIElNUExFTUVOVEVEIFlFVCAqLwo+ICAgfQo+ICAgCj4g
K3ZvaWQgaHZjb25zb2xlX2ZsdXNoKCkKPiArewo+ICsJc3RydWN0IHhlbmNvbnNfaW50ZXJmYWNl
ICppbnRmOwo+ICsKPiArCWlmICghY29uc29sZV9yZWFkeSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJ
aW50ZiA9IGNvbnNvbGVfcmluZzsKPiArCWlmICh1bmxpa2VseSghaW50ZikpCj4gKwkJcmV0dXJu
IDsKPiArCj4gKwl3aGlsZSAoaW50Zi0+b3V0X2NvbnMgPCBpbnRmLT5vdXRfcHJvZCkKClRoZSBj
b21waWxlciBpcyBmcmVlIHRvIGFzc3VtZSB0aGF0IHRoZSB2YWx1ZSBvZiBvdXRfY29uc3QgYW5k
IG91dF9wcm9kIAp3aWxsIG5ldmVyIGNoYW5nZS4gU28gdGhlIGZvbGxvd2luZyBvcHRpbWl6YXRp
b24gaXMgdmFsaWQ6CgphID0gaW50Zi0+b3V0X2NvbnM7CmIgPSBpbnRmLT5vdXRfcHJvZDsKd2hp
bGUgKGEgIDwgYik7CgpBbmQgd2lsbCByZXN1bHQgdG8gcG90ZW50aWFsbHkgYW4gaW5maW5pdGUg
bG9vcC4gWW91IGNhbiByZXF1ZXN0IHRoZSAKY29tcGlsZXIgdG8gYWx3YXlzIHJlYWQgb3V0X2Nv
bnMgYW5kIG91dF9wcm9kIGJ5IGFkZGluZyBhIGJhcnJpZXIgaW4gdGhlIApsb29wLiBJLmU6Cgp3
aGlsZSAoaW50Zi0+b3V0X2NvbnMgPCBpbnQtPm91dF9wcm9kKQp7CiAgICAgYmFycmllcigpOwp9
CgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZl
bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt
YW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Fri Oct 26 10:16:03 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Fri, 26 Oct 2018 10:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gFz9r-0003UO-Ef; Fri, 26 Oct 2018 10:15:59 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=po7v=ng=gmail.com=costin.lup@srs-us1.protection.inumbo.net>)
 id 1gFz9p-0003UI-6A
 for minios-devel@lists.xen.org; Fri, 26 Oct 2018 10:15:57 +0000
X-Inumbo-ID: b3323b1d-d907-11e8-a8a5-bc764e045a96
Received: from mail-wr1-x441.google.com (unknown [2a00:1450:4864:20::441])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id b3323b1d-d907-11e8-a8a5-bc764e045a96;
 Fri, 26 Oct 2018 12:12:53 +0200 (CEST)
Received: by mail-wr1-x441.google.com with SMTP id g9-v6so764007wrq.4
 for <minios-devel@lists.xen.org>; Fri, 26 Oct 2018 03:15:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=0n/2JkMrkl63cFg2lLtqXZ1wn9aFXdJ7xaLkJOEyFxg=;
 b=YQ5LyJvFPIe7ulHVYiCnQehOjmV5gd+G/UkE5b/MTGDVb+uNune0Ie7Bz+zBx7/XGx
 Ysl4S/pzsBgVFdcZUITutP/k/NzmdI7OBczhs6u4xX6GNp5+Y1F15dSvxuAfrU6PLPoq
 bc/SQ3Wbh+n59M8kLHRYgRc9yGK9zw+z3Wc/Q8lFdwiOf4B/UcjE6SIz9sUAeMHAE1Hd
 +Y6yEq2FbXd2HKjkIHD8KN5evr2yjekdRibOvW+XcOmjKBEF8XyvvFtVs7Wzt3Vm3jY4
 N/oQNgPpAu+Wv1CUzebkISpa0BuIWWw97b5hDbyYFi8GATEN7u/UNyStGGxk3ZBQxoM5
 dQwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=0n/2JkMrkl63cFg2lLtqXZ1wn9aFXdJ7xaLkJOEyFxg=;
 b=fni+NDPp1z03EZWmo2GozhEJqWGooIE9z/ZiEWfjoPj9pv/f9kgfWtAhDCUsbigt9T
 2wDHHujmSw+wrZESr1rQDM/XhsPgakVa1gS9lCOP0SZi7cPe+nFxMv37pnmY1sEWZjpt
 K/Ha4wuCnsgz98COcMXJggZ8hzQ+dYixyRH7TOFe3OLV14Mt6QxY8V12tSa6q4jgc0wl
 FTComXcmBB3eimG1c5HLUcHnuOScaGSKrGTvs0sCiBUq08ulgUmttDKOnl/l4+o3RuzI
 B4hxpOkl30QPaGOqxq9li83oUQKWwpV3Fr58p7NZPcPOZ2h75hJR1zMH7hs+2BCWZ0Ru
 FGzA==
X-Gm-Message-State: AGRZ1gJgRjhyak/KBG7fgso9flynSZn7/8hUZEiLHzz9jJ+vGsuOVb1X
 5ad66hU7ck36VYe2ndRdHgY=
X-Google-Smtp-Source: AJdET5eCJ7/1250j4hfx5gm0eA7fAzTGKuO5TdjzeLOFFOVFixUQ4c7qYwUednlWKMFkOdh0a2nLgQ==
X-Received: by 2002:adf:afdc:: with SMTP id
 y28-v6mr5408165wrd.176.1540548951552; 
 Fri, 26 Oct 2018 03:15:51 -0700 (PDT)
Received: from [172.19.2.117] ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id 65-v6sm2902931wmm.36.2018.10.26.03.15.50
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Fri, 26 Oct 2018 03:15:50 -0700 (PDT)
To: Sharan Santhanam <sharan.santhanam@neclab.eu>,
 minios-devel@lists.xen.org, simon.kuenzer@neclab.eu
References: <1540460993-30344-1-git-send-email-sharan.santhanam@neclab.eu>
 <1540460993-30344-2-git-send-email-sharan.santhanam@neclab.eu>
From: Costin Lupu <costin.lup@gmail.com>
Message-ID: <e493595d-dba8-1bfb-0eb2-3a721de33a10@gmail.com>
Date: Fri, 26 Oct 2018 13:15:49 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.0
MIME-Version: 1.0
In-Reply-To: <1540460993-30344-2-git-send-email-sharan.santhanam@neclab.eu>
Content-Language: en-US
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v4 1/8] plat/drivers: Introduce
 the virtio-net device
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Razvan Cojocaru <razvan.cojocaru93@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGkgU2hhcmFuIGFuZCBTaW1vbiwKCkkgaGF2ZSBhIGZldyBxdWVzdGlvbnMgYW5kIGNvbW1lbnRz
LCBwbGVhc2Ugc2VlIGlubGluZS4KCk9uIDEwLzI1LzE4IDEyOjQ5IFBNLCBTaGFyYW4gU2FudGhh
bmFtIHdyb3RlOgo+IFRoaXMgcGF0Y2ggaW50cm9kdWNlcyB0aGUgdmlydGlvIG5ldCBkcml2ZXIg
aW5pdGlhbGl6YXRpb24sIHRoZSBBUEkKPiBmdW5jdGlvbnMgY2FsbGJhY2sgdG8gaW50ZXJhY3Qg
d2l0aCB0aGUgbGlidWtuZXQuCj4gCj4gU2lnbmVkLW9mZi1ieTogU2hhcmFuIFNhbnRoYW5hbSA8
c2hhcmFuLnNhbnRoYW5hbUBuZWNsYWIuZXU+Cj4gU2lnbmVkLW9mZi1ieTogUmF6dmFuIENvam9j
YXJ1IDxyYXp2YW4uY29qb2NhcnU5M0BnbWFpbC5jb20+Cj4gUmV2aWV3ZWQtYnk6IFNpbW9uIEt1
ZW56ZXIgPHNpbW9uLmt1ZW56ZXJAbmVjbGFiLmV1Pgo+IC0tLQo+ICBwbGF0L2RyaXZlcnMvaW5j
bHVkZS92aXJ0aW8vdmlydGlvX25ldC5oIHwgMjU4ICsrKysrKysrKysrKysrKysrKysKPiAgcGxh
dC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMgICAgICAgICB8IDQxNyArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrCj4gIHBsYXQva3ZtL0NvbmZpZy51ayAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDggKwo+ICBwbGF0L2t2bS9NYWtlZmlsZS51ayAgICAgICAgICAgICAgICAgICAg
IHwgICAyICsKPiAgNCBmaWxlcyBjaGFuZ2VkLCA2ODUgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUg
bW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaAo+ICBj
cmVhdGUgbW9kZSAxMDA2NDQgcGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiAKPiBk
aWZmIC0tZ2l0IGEvcGxhdC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaCBiL3Bs
YXQvZHJpdmVycy9pbmNsdWRlL3ZpcnRpby92aXJ0aW9fbmV0LmgKPiBuZXcgZmlsZSBtb2RlIDEw
MDY0NAo+IGluZGV4IDAwMDAwMDAuLmYzM2ZjZTQKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxh
dC9kcml2ZXJzL2luY2x1ZGUvdmlydGlvL3ZpcnRpb19uZXQuaAo+IEBAIC0wLDAgKzEsMjU4IEBA
Cj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UgKi8KPiArLyogVGhp
cyBoZWFkZXIgaXMgQlNEIGxpY2Vuc2VkIHNvIGFueW9uZSBjYW4gdXNlIHRoZSBkZWZpbml0aW9u
cyB0byBpbXBsZW1lbnQKPiArICogY29tcGF0aWJsZSBkcml2ZXJzL3NlcnZlcnMuCj4gKyAqCj4g
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAo+ICsgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKPiArICogYXJlIG1ldDoKPiArICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKPiArICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgo+ICsgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAo+ICsgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCj4g
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCj4gKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgSUJNIG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwo+ICsgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRv
cnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKPiArICog
ICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCj4gKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMgYGBBUyBJUycnIEFORAo+ICsgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKPiArICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UKPiArICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBJQk0gT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRQo+ICsgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAo+ICsgKiBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUwo+ICsgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKPiArICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKPiArICog
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWQo+ICsgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCj4gKyAqIFNVQ0ggREFNQUdFLiAq
Lwo+ICsvKioKPiArICogVGFrZW4gYW5kIG1vZGlmaWVkIGZyb20gTGludXgga2VybmVsCj4gKyAq
IGluY2x1ZGUvdWFwaS9saW51eC92aXJ0aW9fbmV0LmgKPiArICoKPiArICogY29tbWl0LWlkOiBm
YWE5YjM5ZjBlOWQKPiArICovCj4gKyNpZm5kZWYgX19QTEFUX0RSVl9WSVJUSU9fTkVUX0gKPiAr
I2RlZmluZSBfX1BMQVRfRFJWX1ZJUlRJT19ORVRfSAo+ICsjaW5jbHVkZSA8dWsvY29uZmlnLmg+
Cj4gKyNpbmNsdWRlIDx1ay9hcmNoL3R5cGVzLmg+Cj4gKwo+ICsjaWZkZWYgQ09ORklHX0xJQlVL
TkVUREVWCj4gKyNpbmNsdWRlIDx1ay9uZXRkZXZfY29yZS5oPgo+ICsjZW5kaWYgLyogQ09ORklH
X0xJQlVLTkVUREVWICovCj4gKwo+ICsjaW5jbHVkZSA8dmlydGlvL3ZpcnRpb19pZHMuaD4KPiAr
I2luY2x1ZGUgPHZpcnRpby92aXJ0aW9fY29uZmlnLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmly
dGlvX3R5cGVzLmg+Cj4gKwo+ICsvKiBUaGUgZmVhdHVyZSBiaXRtYXAgZm9yIHZpcnRpbyBuZXQg
Ki8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1NVTQkwCS8qIEhvc3QgaGFuZGxlcyBwa3RzIHcv
IHBhcnRpYWwgY3N1bSAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRl9HVUVTVF9DU1VNCTEJLyog
R3Vlc3QgaGFuZGxlcyBwa3RzIHcvIHBhcnRpYWwgY3N1bSAqLwo+ICsjZGVmaW5lIFZJUlRJT19O
RVRfRl9DVFJMX0dVRVNUX09GRkxPQURTIDIgLyogRHluYW1pYyBvZmZsb2FkIGNvbmZpZ3VyYXRp
b24uICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX01UVQkzCS8qIEluaXRpYWwgTVRVIGFkdmlj
ZSAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRl9NQUMJNQkvKiBIb3N0IGhhcyBnaXZlbiBNQUMg
YWRkcmVzcy4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfR1VFU1RfVFNPNAk3CS8qIEd1ZXN0
IGNhbiBoYW5kbGUgVFNPdjQgaW4uICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX1RT
TzYJOAkvKiBHdWVzdCBjYW4gaGFuZGxlIFRTT3Y2IGluLiAqLwo+ICsjZGVmaW5lIFZJUlRJT19O
RVRfRl9HVUVTVF9FQ04JOQkvKiBHdWVzdCBjYW4gaGFuZGxlIFRTT1s2XSB3LyBFQ04gaW4uICov
Cj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0dVRVNUX1VGTwkxMAkvKiBHdWVzdCBjYW4gaGFuZGxl
IFVGTyBpbi4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfSE9TVF9UU080CTExCS8qIEhvc3Qg
Y2FuIGhhbmRsZSBUU092NCBpbi4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfSE9TVF9UU082
CTEyCS8qIEhvc3QgY2FuIGhhbmRsZSBUU092NiBpbi4gKi8KPiArI2RlZmluZSBWSVJUSU9fTkVU
X0ZfSE9TVF9FQ04JMTMJLyogSG9zdCBjYW4gaGFuZGxlIFRTT1s2XSB3LyBFQ04gaW4uICovCj4g
KyNkZWZpbmUgVklSVElPX05FVF9GX0hPU1RfVUZPCTE0CS8qIEhvc3QgY2FuIGhhbmRsZSBVRk8g
aW4uICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX01SR19SWEJVRgkxNQkvKiBIb3N0IGNhbiBt
ZXJnZSByZWNlaXZlIGJ1ZmZlcnMuICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX1NUQVRVUwkx
NgkvKiB2aXJ0aW9fbmV0X2NvbmZpZy5zdGF0dXMgYXZhaWxhYmxlICovCj4gKyNkZWZpbmUgVklS
VElPX05FVF9GX0NUUkxfVlEJMTcJLyogQ29udHJvbCBjaGFubmVsIGF2YWlsYWJsZSAqLwo+ICsj
ZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJMX1JYCTE4CS8qIENvbnRyb2wgY2hhbm5lbCBSWCBtb2Rl
IHN1cHBvcnQgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0ZfQ1RSTF9WTEFOCTE5CS8qIENvbnRy
b2wgY2hhbm5lbCBWTEFOIGZpbHRlcmluZyAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfRl9DVFJM
X1JYX0VYVFJBIDIwCS8qIEV4dHJhIFJYIG1vZGUgY29udHJvbCBzdXBwb3J0ICovCj4gKyNkZWZp
bmUgVklSVElPX05FVF9GX0dVRVNUX0FOTk9VTkNFIDIxCS8qIEd1ZXN0IGNhbiBhbm5vdW5jZSBk
ZXZpY2Ugb24gdGhlCj4gKwkJCQkJICogbmV0d29yawo+ICsJCQkJCSAqLwo+ICsjZGVmaW5lIFZJ
UlRJT19ORVRfRl9NUQkyMgkJLyogRGV2aWNlIHN1cHBvcnRzIFJlY2VpdmUgRmxvdwo+ICsJCQkJ
CSAqIFN0ZWVyaW5nCj4gKwkJCQkJICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9GX0NUUkxfTUFD
X0FERFIgMjMJLyogU2V0IE1BQyBhZGRyZXNzICovCj4gKwo+ICsjZGVmaW5lIFZJUlRJT19ORVRf
Rl9TUEVFRF9EVVBMRVggNjMJLyogRGV2aWNlIHNldCBsaW5rc3BlZWQgYW5kIGR1cGxleCAqLwo+
ICsKPiArI2lmbmRlZiBWSVJUSU9fTkVUX05PX0xFR0FDWQo+ICsjZGVmaW5lIFZJUlRJT19ORVRf
Rl9HU08JNgkvKiBIb3N0IGhhbmRsZXMgcGt0cyB3LyBhbnkgR1NPIHR5cGUgKi8KPiArI2VuZGlm
IC8qIFZJUlRJT19ORVRfTk9fTEVHQUNZICovCj4gKwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfU19M
SU5LX1VQCTEJLyogTGluayBpcyB1cCAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfU19BTk5PVU5D
RQkyCS8qIEFubm91bmNlbWVudCBpcyBuZWVkZWQgKi8KPiArCj4gK3N0cnVjdCB2aXJ0aW9fbmV0
X2NvbmZpZyB7Cj4gKwkvKiBUaGUgY29uZmlnIGRlZmluaW5nIG1hYyBhZGRyZXNzIChpZiBWSVJU
SU9fTkVUX0ZfTUFDKSAqLwo+ICsJX191OCBtYWNbVUtfTkVUREVWX0hXQUREUl9MRU5dOwo+ICsJ
LyogU2VlIFZJUlRJT19ORVRfRl9TVEFUVVMgYW5kIFZJUlRJT19ORVRfU18qIGFib3ZlICovCj4g
KwlfX3UxNiBzdGF0dXM7Cj4gKwkvKiBNYXhpbXVtIG51bWJlciBvZiBlYWNoIG9mIHRyYW5zbWl0
IGFuZCByZWNlaXZlIHF1ZXVlczsKPiArCSAqIHNlZSBWSVJUSU9fTkVUX0ZfTVEgYW5kIFZJUlRJ
T19ORVRfQ1RSTF9NUS4KPiArCSAqIExlZ2FsIHZhbHVlcyBhcmUgYmV0d2VlbiAxIGFuZCAweDgw
MDAKPiArCSAqLwo+ICsJX191MTYgbWF4X3ZpcnRxdWV1ZV9wYWlyczsKPiArCS8qIERlZmF1bHQg
bWF4aW11bSB0cmFuc21pdCB1bml0IGFkdmljZSAqLwo+ICsJX191MTYgbXR1Owo+ICsJLyoKPiAr
CSAqIHNwZWVkLCBpbiB1bml0cyBvZiAxTWIuIEFsbCB2YWx1ZXMgMCB0byBJTlRfTUFYIGFyZSBs
ZWdhbC4KPiArCSAqIEFueSBvdGhlciB2YWx1ZSBzdGFuZHMgZm9yIHVua25vd24uCj4gKwkgKi8K
PiArCV9fdTMyIHNwZWVkOwo+ICsJLyoKPiArCSAqIDB4MDAgLSBoYWxmIGR1cGxleAo+ICsJICog
MHgwMSAtIGZ1bGwgZHVwbGV4Cj4gKwkgKiBBbnkgb3RoZXIgdmFsdWUgc3RhbmRzIGZvciB1bmtu
b3duLgo+ICsJICovCj4gKwlfX3U4IGR1cGxleDsKPiArfSBfX3BhY2tlZDsKPiArCj4gKy8qIFRo
aXMgaGVhZGVyIGNvbWVzIGZpcnN0IGluIHRoZSBzY2F0dGVyLWdhdGhlciBsaXN0Lgo+ICsgKiBG
b3IgbGVnYWN5IHZpcnRpbywgaWYgVklSVElPX0ZfQU5ZX0xBWU9VVCBpcyBub3QgbmVnb3RpYXRl
ZCwgaXQgbXVzdAo+ICsgKiBiZSB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgc2NhdHRlci1nYXRo
ZXIgbGlzdC4gIElmIHlvdSBkb24ndAo+ICsgKiBzcGVjaWZ5IEdTTyBvciBDU1VNIGZlYXR1cmVz
LCB5b3UgY2FuIHNpbXBseSBpZ25vcmUgdGhlIGhlYWRlci4KPiArICovCj4gK3N0cnVjdCB2aXJ0
aW9fbmV0X2hkciB7Cj4gKyNkZWZpbmUgVklSVElPX05FVF9IRFJfRl9ORUVEU19DU1VNIDEgICAv
KiBVc2UgY3N1bV9zdGFydCwgY3N1bV9vZmZzZXQgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0hE
Ul9GX0RBVEFfVkFMSUQgMiAgIC8qIENzdW0gaXMgdmFsaWQgKi8KPiArCS8qIFNlZSBWSVJUSU9f
TkVUX0hEUl9GXyogKi8KPiArCV9fdTggZmxhZ3M7Cj4gKyNkZWZpbmUgVklSVElPX05FVF9IRFJf
R1NPX05PTkUgICAgIDAgICAvKiBOb3QgYSBHU08gZnJhbWUgKi8KPiArI2RlZmluZSBWSVJUSU9f
TkVUX0hEUl9HU09fVENQVjQgICAgMSAgIC8qIEdTTyBmcmFtZSwgSVB2NCBUQ1AgKFRTTykgKi8K
PiArI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fVURQICAgICAgMyAgIC8qIEdTTyBmcmFtZSwg
SVB2NCBVRFAgKFVGTykgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9HU09fVENQVjYgICAg
NCAgIC8qIEdTTyBmcmFtZSwgSVB2NiBUQ1AgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0hEUl9H
U09fRUNOICAgICAgMHg4MCAgICAvKiBUQ1AgaGFzIEVDTiBzZXQgKi8KPiArCS8qIFNlZSBWSVJU
SU9fTkVUX0hEUl9HU09fKiAqLwo+ICsJX191OCBnc29fdHlwZTsKPiArCV9fdmlydGlvX2xlMTYg
aGRyX2xlbjsJLyogRXRoZXJuZXQgKyBJUCArIHRjcC91ZHAgaGRycyAqLwo+ICsJX192aXJ0aW9f
bGUxNiBnc29fc2l6ZTsJLyogQnl0ZXMgdG8gYXBwZW5kIHRvIGhkcl9sZW4gcGVyIGZyYW1lICov
Cj4gKwlfX3ZpcnRpb19sZTE2IGNzdW1fc3RhcnQ7IC8qIFBvc2l0aW9uIHRvIHN0YXJ0IGNoZWNr
c3VtbWluZyBmcm9tICovCj4gKwlfX3ZpcnRpb19sZTE2IGNzdW1fb2Zmc2V0OyAvKiBPZmZzZXQg
YWZ0ZXIgdGhhdCB0byBwbGFjZSBjaGVja3N1bSAqLwo+ICt9Owo+ICsKPiArLyogVGhpcyBpcyB0
aGUgdmVyc2lvbiBvZiB0aGUgaGVhZGVyIHRvIHVzZSB3aGVuIHRoZSBNUkdfUlhCVUYKPiArICog
ZmVhdHVyZSBoYXMgYmVlbiBuZWdvdGlhdGVkLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19uZXRf
aGRyX21yZ19yeGJ1ZiB7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9oZHIgaGRyOwo+ICsJX192aXJ0
aW9fbGUxNiBudW1fYnVmZmVyczsJLyogTnVtYmVyIG9mIG1lcmdlZCByeCBidWZmZXJzICovCj4g
K307Cj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIHZpcnRxdWV1ZSBkYXRhIHN0cnVjdHVyZXMKPiAr
ICoKPiArICogVGhlIGNvbnRyb2wgdmlydHF1ZXVlIGV4cGVjdHMgYSBoZWFkZXIgaW4gdGhlIGZp
cnN0IHNnIGVudHJ5Cj4gKyAqIGFuZCBhbiBhY2svc3RhdHVzIHJlc3BvbnNlIGluIHRoZSBsYXN0
IGVudHJ5LiAgRGF0YSBmb3IgdGhlCj4gKyAqIGNvbW1hbmQgZ29lcyBpbiBiZXR3ZWVuLgo+ICsg
Ki8KPiArc3RydWN0IHZpcnRpb19uZXRfY3RybF9oZHIgewo+ICsJX191OCBjbGFzczsKPiArCV9f
dTggY21kOwo+ICt9IF9fcGFja2VkOwo+ICsKPiArdHlwZWRlZiBfX3U4IHZpcnRpb19uZXRfY3Ry
bF9hY2s7Cj4gKwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfT0sgICAgIDAKPiArI2RlZmluZSBWSVJU
SU9fTkVUX0VSUiAgICAxCj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIHRoZSBSWCBtb2RlLCBpZS4g
cHJvbWlzdWNvdXMsIGFsbG11bHRpLCBldGMuLi4KPiArICogQWxsIGNvbW1hbmRzIHJlcXVpcmUg
YW4gIm91dCIgc2cgZW50cnkgY29udGFpbmluZyBhIDEgYnl0ZQo+ICsgKiBzdGF0ZSB2YWx1ZSwg
emVybyA9IGRpc2FibGUsIG5vbi16ZXJvID0gZW5hYmxlLiAgQ29tbWFuZHMKPiArICogMCBhbmQg
MSBhcmUgc3VwcG9ydGVkIHdpdGggdGhlIFZJUlRJT19ORVRfRl9DVFJMX1JYIGZlYXR1cmUuCj4g
KyAqIENvbW1hbmRzIDItNSBhcmUgYWRkZWQgd2l0aCBWSVJUSU9fTkVUX0ZfQ1RSTF9SWF9FWFRS
QS4KPiArICovCj4gKyNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYICAgIDAKPiArICNkZWZpbmUg
VklSVElPX05FVF9DVFJMX1JYX1BST01JU0MgICAgICAwCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRf
Q1RSTF9SWF9BTExNVUxUSSAgICAgMQo+ICsgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfUlhfQUxM
VU5JICAgICAgIDIKPiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX1JYX05PTVVMVEkgICAgICAz
Cj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9SWF9OT1VOSSAgICAgICAgNAo+ICsgI2RlZmlu
ZSBWSVJUSU9fTkVUX0NUUkxfUlhfTk9CQ0FTVCAgICAgIDUKPiArCj4gKy8qCj4gKyAqIENvbnRy
b2wgdGhlIE1BQwo+ICsgKgo+ICsgKiBUaGUgTUFDIGZpbHRlciB0YWJsZSBpcyBtYW5hZ2VkIGJ5
IHRoZSBoeXBlcnZpc29yLCB0aGUgZ3Vlc3Qgc2hvdWxkCj4gKyAqIGFzc3VtZSB0aGUgc2l6ZSBp
cyBpbmZpbml0ZS4gIEZpbHRlcmluZyBzaG91bGQgYmUgY29uc2lkZXJlZAo+ICsgKiBub24tcGVy
ZmVjdCwgaWUuIGJhc2VkIG9uIGh5cGVydmlzb3IgcmVzb3VyY2VzLCB0aGUgZ3Vlc3QgbWF5Cj4g
KyAqIHJlY2VpdmVkIHBhY2tldHMgZnJvbSBzb3VyY2VzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIGZp
bHRlciBsaXN0Lgo+ICsgKgo+ICsgKiBJbiBhZGRpdGlvbiB0byB0aGUgY2xhc3MvY21kIGhlYWRl
ciwgdGhlIFRBQkxFX1NFVCBjb21tYW5kIHJlcXVpcmVzCj4gKyAqIHR3byBvdXQgc2NhdHRlcmxp
c3RzLiAgRWFjaCBjb250YWlucyBhIDQgYnl0ZSBjb3VudCBvZiBlbnRyaWVzIGZvbGxvd2VkCj4g
KyAqIGJ5IGEgY29uY2F0ZW5hdGVkIGJ5dGUgc3RyZWFtIG9mIHRoZSBFVEhfQUxFTiBNQUMgYWRk
cmVzc2VzLiAgVGhlCj4gKyAqIGZpcnN0IHNnIGxpc3QgY29udGFpbnMgdW5pY2FzdCBhZGRyZXNz
ZXMsIHRoZSBzZWNvbmQgaXMgZm9yIG11bHRpY2FzdC4KPiArICogVGhpcyBmdW5jdGlvbmFsaXR5
IGlzIHByZXNlbnQgaWYgdGhlIFZJUlRJT19ORVRfRl9DVFJMX1JYIGZlYXR1cmUKPiArICogaXMg
YXZhaWxhYmxlLgo+ICsgKgo+ICsgKiBUaGUgQUREUl9TRVQgY29tbWFuZCByZXF1ZXN0cyBvbmUg
b3V0IHNjYXR0ZXJsaXN0LCBpdCBjb250YWlucyBhCj4gKyAqIDYgYnl0ZXMgTUFDIGFkZHJlc3Mu
IFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBwcmVzZW50IGlmIHRoZQo+ICsgKiBWSVJUSU9fTkVUX0Zf
Q1RSTF9NQUNfQUREUiBmZWF0dXJlIGlzIGF2YWlsYWJsZS4KPiArICovCj4gK3N0cnVjdCB2aXJ0
aW9fbmV0X2N0cmxfbWFjIHsKPiArCV9fdmlydGlvX2xlMzIgZW50cmllczsKPiArCV9fdTggbWFj
c1tdW1VLX05FVERFVl9IV0FERFJfTEVOXTsKPiArfSBfX3BhY2tlZDsKPiArCj4gKyNkZWZpbmUg
VklSVElPX05FVF9DVFJMX01BQyAgICAxCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NQUNf
VEFCTEVfU0VUICAgICAgICAwCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NQUNfQUREUl9T
RVQgICAgICAgICAxCj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIFZMQU4gZmlsdGVyaW5nCj4gKyAq
Cj4gKyAqIFRoZSBWTEFOIGZpbHRlciB0YWJsZSBpcyBjb250cm9sbGVkIHZpYSBhIHNpbXBsZSBB
REQvREVMIGludGVyZmFjZS4KPiArICogVkxBTiBJRHMgbm90IGFkZGVkIG1heSBiZSBmaWx0ZXJk
IGJ5IHRoZSBoeXBlcnZpc29yLiAgRGVsIGlzIHRoZQo+ICsgKiBvcHBvc2l0ZSBvZiBhZGQuICBC
b3RoIGNvbW1hbmRzIGV4cGVjdCBhbiBvdXQgZW50cnkgY29udGFpbmluZyBhIDIKPiArICogYnl0
ZSBWTEFOIElELiAgVkxBTiBmaWx0ZXJ0aW5nIGlzIGF2YWlsYWJsZSB3aXRoIHRoZQo+ICsgKiBW
SVJUSU9fTkVUX0ZfQ1RSTF9WTEFOIGZlYXR1cmUgYml0Lgo+ICsgKi8KPiArI2RlZmluZSBWSVJU
SU9fTkVUX0NUUkxfVkxBTiAgICAgICAyCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9WTEFO
X0FERCAgICAgICAgICAgICAwCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9WTEFOX0RFTCAg
ICAgICAgICAgICAxCj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIGxpbmsgYW5ub3VuY2UgYWNrbm93
bGVkZ21lbnQKPiArICoKPiArICogVGhlIGNvbW1hbmQgVklSVElPX05FVF9DVFJMX0FOTk9VTkNF
X0FDSyBpcyB1c2VkIHRvIGluZGljYXRlIHRoYXQKPiArICogZHJpdmVyIGhhcyByZWNldmllZCB0
aGUgbm90aWZpY2F0aW9uOyBkZXZpY2Ugd291bGQgY2xlYXIgdGhlCj4gKyAqIFZJUlRJT19ORVRf
U19BTk5PVU5DRSBiaXQgaW4gdGhlIHN0YXR1cyBmaWVsZCBhZnRlciBpdCByZWNlaXZlcwo+ICsg
KiB0aGlzIGNvbW1hbmQuCj4gKyAqLwo+ICsjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9BTk5PVU5D
RSAgICAgICAzCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9BTk5PVU5DRV9BQ0sgICAgICAg
ICAwCj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIFJlY2VpdmUgRmxvdyBTdGVlcmluZwo+ICsgKgo+
ICsgKiBUaGUgY29tbWFuZCBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJUlNfU0VUCj4gKyAqIGVu
YWJsZXMgUmVjZWl2ZSBGbG93IFN0ZWVyaW5nLCBzcGVjaWZ5aW5nIHRoZSBudW1iZXIgb2YgdGhl
IHRyYW5zbWl0IGFuZAo+ICsgKiByZWNlaXZlIHF1ZXVlcyB0aGF0IHdpbGwgYmUgdXNlZC4gQWZ0
ZXIgdGhlIGNvbW1hbmQgaXMgY29uc3VtZWQgYW5kIGFja2VkIGJ5Cj4gKyAqIHRoZSBkZXZpY2Us
IHRoZSBkZXZpY2Ugd2lsbCBub3Qgc3RlZXIgbmV3IHBhY2tldHMgb24gcmVjZWl2ZSB2aXJ0cXVl
dWVzCj4gKyAqIG90aGVyIHRoYW4gc3BlY2lmaWVkIG5vciByZWFkIGZyb20gdHJhbnNtaXQgdmly
dHF1ZXVlcyBvdGhlciB0aGFuIHNwZWNpZmllZC4KPiArICogQWNjb3JkaW5nbHksIGRyaXZlciBz
aG91bGQgbm90IHRyYW5zbWl0IG5ldyBwYWNrZXRzICBvbiB2aXJ0cXVldWVzIG90aGVyIHRoYW4K
PiArICogc3BlY2lmaWVkLgo+ICsgKi8KPiArc3RydWN0IHZpcnRpb19uZXRfY3RybF9tcSB7Cj4g
KwlfX3ZpcnRpb19sZTE2IHZpcnRxdWV1ZV9wYWlyczsKPiArfTsKPiArCj4gKyNkZWZpbmUgVklS
VElPX05FVF9DVFJMX01RICAgNAo+ICsgI2RlZmluZSBWSVJUSU9fTkVUX0NUUkxfTVFfVlFfUEFJ
UlNfU0VUICAgICAgICAwCj4gKyAjZGVmaW5lIFZJUlRJT19ORVRfQ1RSTF9NUV9WUV9QQUlSU19N
SU4gICAgICAgIDEKPiArICNkZWZpbmUgVklSVElPX05FVF9DVFJMX01RX1ZRX1BBSVJTX01BWCAg
ICAgICAgMHg4MDAwCj4gKwo+ICsvKgo+ICsgKiBDb250cm9sIG5ldHdvcmsgb2ZmbG9hZHMKPiAr
ICoKPiArICogUmVjb25maWd1cmVzIHRoZSBuZXR3b3JrIG9mZmxvYWRzIHRoYXQgR3Vlc3QgY2Fu
IGhhbmRsZS4KPiArICoKPiArICogQXZhaWxhYmxlIHdpdGggdGhlIFZJUlRJT19ORVRfRl9DVFJM
X0dVRVNUX09GRkxPQURTIGZlYXR1cmUgYml0Lgo+ICsgKgo+ICsgKiBDb21tYW5kIGRhdGEgZm9y
bWF0IG1hdGNoZXMgdGhlIGZlYXR1cmUgYml0IG1hc2sgZXhhY3RseS4KPiArICoKPiArICogU2Vl
IFZJUlRJT19ORVRfRl9HVUVTVF8qIGZvciB0aGUgbGlzdCBvZiBvZmZsb2Fkcwo+ICsgKiB0aGF0
IGNhbiBiZSBlbmFibGVkL2Rpc2FibGVkLgo+ICsgKi8KPiArI2RlZmluZSBWSVJUSU9fTkVUX0NU
UkxfR1VFU1RfT0ZGTE9BRFMgICA1Cj4gKyNkZWZpbmUgVklSVElPX05FVF9DVFJMX0dVRVNUX09G
RkxPQURTX1NFVCAgICAgICAgMAo+ICsKPiArI2VuZGlmIC8qIF9fUExBVF9DTU5fVklSVElPX05F
VF9IICovCj4gZGlmZiAtLWdpdCBhL3BsYXQvZHJpdmVycy92aXJ0aW8vdmlydGlvX25ldC5jIGIv
cGxhdC9kcml2ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+
IGluZGV4IDAwMDAwMDAuLjQxYmE4NjAKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvcGxhdC9kcml2
ZXJzL3ZpcnRpby92aXJ0aW9fbmV0LmMKPiBAQCAtMCwwICsxLDQxNyBAQAo+ICsvKgo+ICsgKiBB
dXRob3JzOiBEYW4gV2lsbGlhbXMKPiArICogICAgICAgICAgTWFydGluIEx1Y2luYQo+ICsgKiAg
ICAgICAgICBSaWNhcmRvIEtvbGxlcgo+ICsgKiAgICAgICAgICBSYXp2YW4gQ29qb2NhcnUgPHJh
enZhbi5jb2pvY2FydTkzQGdtYWlsLmNvbT4KPiArICogICAgICAgICAgU2hhcmFuIFNhbnRoYW5h
bQo+ICsgKgo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMTUtMjAxNyBJQk0KPiArICogQ29weXJpZ2h0
IChjKSAyMDE2LTIwMTcgRG9ja2VyLCBJbmMuCj4gKyAqIENvcHlyaWdodCAoYykgMjAxOCwgTkVD
IEV1cm9wZSBMdGQuLCBORUMgQ29ycG9yYXRpb24KPiArICoKPiArICogUGVybWlzc2lvbiB0byB1
c2UsIGNvcHksIG1vZGlmeSwgYW5kL29yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZQo+ICsgKiBm
b3IgYW55IHB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJv
dmlkZWQKPiArICogdGhhdCB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJt
aXNzaW9uIG5vdGljZSBhcHBlYXIKPiArICogaW4gYWxsIGNvcGllcy4KPiArICoKPiArICogVEhF
IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFM
TAo+ICsgKiBXQVJSQU5USUVTIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5H
IEFMTCBJTVBMSUVECj4gKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKPiArICogQVVUSE9SIEJFIExJQUJMRSBGT1IgQU5Z
IFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SCj4gKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyBPUiBBTlkgREFNQUdFUyBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MKPiArICogT0Yg
VVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULAo+
ICsgKiBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0Yg
T1IgSU4KPiArICogQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJ
UyBTT0ZUV0FSRS4KPiArICovCj4gKwo+ICsjaW5jbHVkZSA8c3RkaW8uaD4KPiArI2luY2x1ZGUg
PHN0ZGxpYi5oPgo+ICsjaW5jbHVkZSA8c3RyaW5nLmg+Cj4gKyNpbmNsdWRlIDx1ay9wcmludC5o
Pgo+ICsjaW5jbHVkZSA8dWsvYXNzZXJ0Lmg+Cj4gKyNpbmNsdWRlIDx1ay9lc3NlbnRpYWxzLmg+
Cj4gKyNpbmNsdWRlIDx1ay9zZ2xpc3QuaD4KPiArI2luY2x1ZGUgPHVrL2FyY2gvdHlwZXMuaD4K
PiArI2luY2x1ZGUgPHVrL2FyY2gvbGltaXRzLmg+Cj4gKyNpbmNsdWRlIDx1ay9uZXRidWYuaD4K
PiArI2luY2x1ZGUgPHVrL25ldGRldi5oPgo+ICsjaW5jbHVkZSA8dWsvbmV0ZGV2X2NvcmUuaD4K
PiArI2luY2x1ZGUgPHVrL25ldGRldl9kcml2ZXIuaD4KPiArI2luY2x1ZGUgPHZpcnRpby92aXJ0
aW9fYnVzLmg+Cj4gKyNpbmNsdWRlIDx2aXJ0aW8vdmlydHF1ZXVlLmg+Cj4gKyNpbmNsdWRlIDx2
aXJ0aW8vdmlydGlvX25ldC5oPgo+ICsKPiArLyoqCj4gKyAqIFZJUlRJT19QS1RfQlVGRkVSX0xF
TiA9IFZJUlRJT19ORVRfSERSICsgRVRIX0hEUiArIEVUSF9QS1RfUEFZTE9BRF9MRU4KPiArICog
VklSVElPX05FVF9IRFI6IDEwIGJ5dGVzIGluIGxlbmd0aCBpbiBsZWdhY3kgbW9kZSArIDIgYnl0
ZSBvZiBwYWRkZWQgZGF0YS4KPiArICoJCSAgIDEyIGJ5dGVzIGluIGxlbmd0aCBpbiBtb2Rlcm4g
bW9kZS4KPiArICovCj4gKyNkZWZpbmUgVklSVElPX0hEUl9MRU4gICAgICAgICAgMTIKPiArI2Rl
ZmluZSBFVEhfSERSX0xFTiAgICAgICAgICAgICAxNAo+ICsjZGVmaW5lIEVUSF9QS1RfUEFZTE9B
RF9MRU4gICAxNTAwCj4gKyNkZWZpbmUgVklSVElPX1BLVF9CVUZGRVJfTEVOICgoRVRIX1BLVF9Q
QVlMT0FEX0xFTikJXAo+ICsJCQkgICAgICAgKyAoRVRIX0hEUl9MRU4pCQlcCj4gKwkJCSAgICAg
ICArIChWSVJUSU9fSERSX0xFTikpCj4gKwo+ICsjZGVmaW5lIERSSVZFUl9OQU1FICAgICAgICAg
ICAidmlydGlvLW5ldCIKPiArCj4gKwo+ICsjZGVmaW5lICBWVE5FVF9SWF9IRUFERVJfUEFEICg0
KQo+ICsjZGVmaW5lICBWVE5FVF9JTlRSX0VOICAgKDEgPDwgMCkKPiArI2RlZmluZSAgVlRORVRf
SU5UUl9FTl9NQVNLICAgKDEpCj4gKyNkZWZpbmUgIFZUTkVUX0lOVFJfVVNSX0VOICAgKDEgPDwg
MSkKPiArI2RlZmluZSAgVlRORVRfSU5UUl9VU1JfRU5fTUFTSyAgICgyKQo+ICsKClNob3VsZG4n
dCB0aGVzZSBWVE5FVF9JTlRSXyogZGVmaW5pdGlvbnMgYmUgaW4gdGhlIG5ldGRldiBBUEk/Cklu
dGVycnVwdHMgZW5hYmxpbmcgaXMgbG9naWMgc3BlY2lmaWMgdG8gYWxsIG5ldHdvcmsgZGV2aWNl
LiBFdmVuIG1vcmUsCkkgd291bGQgc2F5IHdlIG1pZ2h0IGV2ZW4gZGVmaW5lIHRob3NlIGFzIHNw
ZWNpZmljIHRvIGFsbCBkZXZpY2VzLgoKPiArLyoqCj4gKyAqIERlZmluZSBtYXggcG9zc2libGUg
ZnJhZ21lbnRzIGZvciB0aGUgbmV0d29yayBwYWNrZXRzLgo+ICsgKi8KPiArI2RlZmluZSBORVRf
TUFYX0ZSQUdNRU5UUyAgICAoKF9fVTE2X01BWCA+PiBfX1BBR0VfU0hJRlQpICsgMikKPiArCj4g
KyNkZWZpbmUgdG9fdmlydGlvbmV0ZGV2KG5kZXYpIFwKPiArCV9fY29udGFpbmVyb2YobmRldiwg
c3RydWN0IHZpcnRpb19uZXRfZGV2aWNlLCBuZXRkZXYpCj4gKwo+ICsjZGVmaW5lIFZJUlRJT19O
RVRfRFJWX0ZFQVRVUkVTKGZlYXR1cmVzKSAgICAgICAgICAgXAo+ICsJKFZJUlRJT19GRUFUVVJF
U19VUERBVEUoZmVhdHVyZXMsIFZJUlRJT19ORVRfRl9NQUMpKQo+ICsKPiArdHlwZWRlZiBlbnVt
IHsKPiArCVZORVRfUlgsCj4gKwlWTkVUX1RYLAo+ICt9IHZpcnRxX3R5cGVfdDsKPiArCj4gKy8q
Kgo+ICsgKiBAaW50ZXJuYWwgc3RydWN0dXJlIHRvIHJlcHJlc2VudCB0aGUgdHJhbnNtaXQgcXVl
dWUuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3R4X3F1ZXVlIHsKPiArCS8qIFRoZSB2aXJ0
cXVldWUgcmVmZXJlbmNlICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVlICp2cTsKPiArCS8qIFRoZSBo
dyBxdWV1ZSBpZGVudGlmaWVyICovCj4gKwl1aW50MTZfdCBod3ZxX2lkOwo+ICsJLyogVGhlIHVz
ZXIgcXVldWUgaWRlbnRpZmllciAqLwo+ICsJdWludDE2X3QgbHF1ZXVlX2lkOwo+ICsJLyogVGhl
IG5yLiBvZiBkZXNjcmlwdG9yIGxpbWl0ICovCj4gKwl1aW50MTZfdCBtYXhfbmJfZGVzYzsKPiAr
CS8qIFRoZSBuci4gb2YgZGVzY3JpcHRvciB1c2VyIGNvbmZpZ3VyZWQgKi8KPiArCXVpbnQxNl90
IG5iX2Rlc2M7Cj4gKwkvKiBUaGUgZmxhZyB0byBpbnRlcnJ1cHQgb24gdGhlIHRyYW5zbWl0IHF1
ZXVlICovCj4gKwl1aW50OF90IGludHJfZW5hYmxlZDsKPiArCS8qIFJlZmVyZW5jZSB0byB0aGUg
dWtfbmV0ZGV2ICovCj4gKwlzdHJ1Y3QgdWtfbmV0ZGV2ICpuZGV2Owo+ICsJLyogVGhlIHNjYXR0
ZXIgbGlzdCBhbmQgaXRzIGFzc29jaWF0ZWQgZnJhZ2VtZW50cyAqLwo+ICsJc3RydWN0IHVrX3Nn
bGlzdCBzZzsKPiArCXN0cnVjdCB1a19zZ2xpc3Rfc2VnIHNnc2Vnc1tORVRfTUFYX0ZSQUdNRU5U
U107Cj4gK307Cj4gKwo+ICsvKioKPiArICogQGludGVybmFsIHN0cnVjdHVyZSB0byByZXByZXNl
bnQgdGhlIHJlY2VpdmUgcXVldWUuCj4gKyAqLwo+ICtzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVl
IHsKPiArCS8qIFRoZSB2aXJ0cXVldWUgcmVmZXJlbmNlICovCj4gKwlzdHJ1Y3QgdmlydHF1ZXVl
ICp2cTsKPiArCS8qIFRoZSB2aXJ0cXVldWUgaHcgaWRlbnRpZmllciAqLwo+ICsJdWludDE2X3Qg
aHd2cV9pZDsKPiArCS8qIFRoZSBsaWJ1a25ldCBxdWV1ZSBpZGVudGlmaWVyICovCj4gKwl1aW50
MTZfdCBscXVldWVfaWQ7Cj4gKwkvKiBUaGUgbnIuIG9mIGRlc2NyaXB0b3IgbGltaXQgKi8KPiAr
CXVpbnQxNl90IG1heF9uYl9kZXNjOwo+ICsJLyogVGhlIG5yLiBvZiBkZXNjcmlwdG9yIHVzZXIg
Y29uZmlndXJlZCAqLwo+ICsJdWludDE2X3QgbmJfZGVzYzsKPiArCS8qIFRoZSBmbGFnIHRvIGlu
dGVycnVwdCBvbiB0aGUgdHJhbnNtaXQgcXVldWUgKi8KPiArCXVpbnQ4X3QgaW50cl9lbmFibGVk
Owo+ICsJLyogUmVmZXJlbmNlIHRvIHRoZSB1a19uZXRkZXYgKi8KPiArCXN0cnVjdCB1a19uZXRk
ZXYgKm5kZXY7Cj4gKwkvKiBUaGUgc2NhdHRlciBsaXN0IGFuZCBpdHMgYXNzb2NpYXRlZCBmcmFn
ZW1lbnRzICovCj4gKwlzdHJ1Y3QgdWtfc2dsaXN0IHNnOwo+ICsJc3RydWN0IHVrX3NnbGlzdF9z
ZWcgc2dzZWdzW05FVF9NQVhfRlJBR01FTlRTXTsKPiArfTsKPiArCgpJcyBpdCBleHBlY3RlZCBm
b3IgdWtfbmV0ZGV2X3R4X3F1ZXVlIGFuZCB1a19uZXRkZXZfcnhfcXVldWUgc3RydWN0dXJlcwp0
byBiZSBpZGVudGljYWw/Cgo+ICtzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2Ugewo+ICsJLyogVmly
dGlvIERldmljZSAqLwo+ICsJc3RydWN0IHZpcnRpb19kZXYgKnZkZXY7Cj4gKwkvKiBMaXN0IG9m
IGFsbCB0aGUgdmlydHF1ZXVlIGluIHRoZSBwY2kgZGV2aWNlICovCj4gKwlzdHJ1Y3QgdmlydHF1
ZXVlICp2cTsKPiArCXN0cnVjdCB1a19uZXRkZXYgbmV0ZGV2Owo+ICsJLyogQ291bnQgb2YgdGhl
IG51bWJlciBvZiB0aGUgdmlydHF1ZXVlcyAqLwo+ICsJX191MTYgbWF4X3ZxdWV1ZV9wYWlyczsK
PiArCS8qIExpc3Qgb2YgdGhlIFJ4L1R4IHF1ZXVlICovCj4gKwlfX3UxNiAgICByeF92cXVldWVf
Y250Owo+ICsJc3RydWN0ICAgdWtfbmV0ZGV2X3J4X3F1ZXVlICpyeHFzOwo+ICsJX191MTYgICAg
dHhfdnF1ZXVlX2NudDsKPiArCXN0cnVjdCAgIHVrX25ldGRldl90eF9xdWV1ZSAqdHhxczsKPiAr
CS8qIFRoZSBuZXRkZXZpY2UgaWRlbnRpZmllciAqLwo+ICsJX191MTYgdWlkOwo+ICsJLyogVGhl
IG1heCBtdHUgKi8KPiArCV9fdTE2IG1heF9tdHU7Cj4gKwkvKiBUaGUgbXR1ICovCj4gKwlfX3Ux
NiBtdHU7Cj4gKwkvKiBUaGUgaHcgYWRkcmVzcyBvZiB0aGUgbmV0ZGV2aWNlICovCj4gKwlzdHJ1
Y3QgdWtfaHdhZGRyIGh3X2FkZHI7Cj4gKwkvKiAgTmV0ZGV2IHN0YXRlICovCj4gKwlfX3U4IHN0
YXRlOwo+ICsJLyogUlggcHJvbWlzY3VvdXMgbW9kZS4gKi8KPiArCV9fdTggcHJvbWlzYyA6IDE7
Cj4gK307CgpTaG91bGRuJ3QgcXVldWVzLCBtdHUsIGh3X2FkZHIsIHByb21pc2MgYmUgZmllbGRz
IG9mIHRoZSB1a19uZXRkZXYKc3RydWN0dXJlPwoKPiArCj4gKy8qKgo+ICsgKiBTdGF0aWMgZnVu
Y3Rpb24gZGVjbGFyYXRpb25zLgo+ICsgKi8KPiArc3RhdGljIGludCB2aXJ0aW9fbmV0X2Rydl9p
bml0KHN0cnVjdCB1a19hbGxvYyAqZHJ2X2FsbG9jYXRvcik7Cj4gK3N0YXRpYyBpbnQgdmlydGlv
X25ldF9hZGRfZGV2KHN0cnVjdCB2aXJ0aW9fZGV2ICp2ZGV2KTsKPiArc3RhdGljIHZvaWQgdmly
dGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCQlzdHJ1Y3QgdWtf
bmV0ZGV2X2luZm8gKmRldl9pbmZvKTsKPiArc3RhdGljIGlubGluZSB2b2lkIHZpcnRpb19uZXRk
ZXZfZmVhdHVyZV9zZXQoc3RydWN0IHZpcnRpb19uZXRfZGV2aWNlICp2bmRldik7Cj4gK3N0YXRp
YyBpbnQgdmlydGlvX25ldGRldl9jb25maWd1cmUoc3RydWN0IHVrX25ldGRldiAqbiwKPiArCQkJ
CSAgIGNvbnN0IHN0cnVjdCB1a19uZXRkZXZfY29uZiAqY29uZik7Cj4gK3N0YXRpYyBzdHJ1Y3Qg
dWtfbmV0ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAo+ICsJCQkJ
CXN0cnVjdCB1a19uZXRkZXYgKm4sIHVpbnQxNl90IHF1ZXVlX2lkLAo+ICsJCQkJCXVpbnQxNl90
IG5iX2Rlc2MsCj4gKwkJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYgKmNvbmYpOwo+
ICtzdGF0aWMgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqdmlydGlvX25ldGRldl9yeF9xdWV1
ZV9zZXR1cCgKPiArCQkJCQlzdHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICsJCQkJCXVpbnQxNl90IHF1
ZXVlX2lkLCB1aW50MTZfdCBuYl9kZXNjLAo+ICsJCQkJCXN0cnVjdCB1a19uZXRkZXZfcnhxdWV1
ZV9jb25mICpjb25mKTsKPiArc3RhdGljIGludCB2aXJ0aW9fbmV0X3J4X2ludHJfZGlzYWJsZShz
dHJ1Y3QgdWtfbmV0ZGV2ICpuLAo+ICsJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1
ZSAqcXVldWUpOwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRfcnhfaW50cl9lbmFibGUoc3RydWN0
IHVrX25ldGRldiAqbiwKPiArCQkJCSAgICAgc3RydWN0IHVrX25ldGRldl9yeF9xdWV1ZSAqcXVl
dWUpOwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZfeG1pdChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCj4gKwkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnF1ZXVlLAo+ICsJCQkg
ICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpwa3QpOwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRkZXZf
cmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4gKwkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZf
cnhfcXVldWUgKnF1ZXVlLAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICoqcGt0LAo+ICsJ
CQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpmaWxsdXBbXSwKPiArCQkJICAgICAgdWludDE2X3Qg
KmZpbGx1cF9jb3VudCk7Cj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWtfaHdhZGRyICp2aXJ0aW9f
bmV0X21hY19nZXQoc3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyBfX3UxNiB2aXJ0aW9f
bmV0X210dV9nZXQoc3RydWN0IHVrX25ldGRldiAqbik7Cj4gK3N0YXRpYyB1bnNpZ25lZCB2aXJ0
aW9fbmV0X3Byb21pc2NfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pOwo+ICtzdGF0aWMgaW50IHZp
cnRpb19uZXRkZXZfcnhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwgX191MTYgcXVl
dWVfaWQsCj4gKwkJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3F1ZXVlX2luZm8gKnFpbmZvKTsK
PiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3R4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2
ICpkZXYsIF9fdTE2IHF1ZXVlX2lkLAo+ICsJCQkJICAgICAgc3RydWN0IHVrX25ldGRldl9xdWV1
ZV9pbmZvICpxaW5mbyk7Cj4gKwo+ICsvKioKPiArICogU3RhdGljIGdsb2JhbCBjb25zdGFudHMK
PiArICovCj4gK3N0YXRpYyBjb25zdCBjaGFyICpkcnZfbmFtZSA9IERSSVZFUl9OQU1FOwo+ICtz
dGF0aWMgc3RydWN0IHVrX2FsbG9jICphOwo+ICsKPiArLyoqCj4gKyAqIFRoZSBEcml2ZXIgbWV0
aG9kIGltcGxlbWVudGF0aW9uLgo+ICsgKi8KPiArc3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3ht
aXQoc3RydWN0IHVrX25ldGRldiAqZGV2LAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0ZGV2X3R4
X3F1ZXVlICpxdWV1ZSwKPiArCQkJICAgICAgc3RydWN0IHVrX25ldGJ1ZiAqcGt0KQo+ICt7Cj4g
KwlpbnQgcmMgPSAwOwo+ICsKPiArCVVLX0FTU0VSVChkZXYpOwo+ICsJVUtfQVNTRVJUKHBrdCAm
JiBxdWV1ZSk7Cj4gKwo+ICsJcmV0dXJuIHJjOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRp
b19uZXRkZXZfcmVjdihzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYgX191bnVzZWQsCj4gKwkJCSAgICAg
IHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlLAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtf
bmV0YnVmICoqcGt0IF9fdW51c2VkLAo+ICsJCQkgICAgICBzdHJ1Y3QgdWtfbmV0YnVmICpmaWxs
dXBbXSwKPiArCQkJICAgICAgdWludDE2X3QgKmZpbGx1cF9jb3VudCkKPiArewo+ICsJaW50IHJj
ID0gMDsKPiArCj4gKwlVS19BU1NFUlQoZGV2ICYmIHF1ZXVlKTsKPiArCVVLX0FTU0VSVCghZmls
bHVwIHx8IChmaWxsdXAgJiYgKmZpbGx1cF9jb3VudCA+IDApKTsKPiArCj4gKwlyZXR1cm4gcmM7
Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0ZGV2X3J4X3F1ZXVlICp2aXJ0aW9fbmV0
ZGV2X3J4X3F1ZXVlX3NldHVwKAo+ICsJCQkJc3RydWN0IHVrX25ldGRldiAqbiwgdWludDE2X3Qg
cXVldWVfaWQgX191bnVzZWQsCj4gKwkJCQl1aW50MTZfdCBuYl9kZXNjIF9fdW51c2VkLAo+ICsJ
CQkJc3RydWN0IHVrX25ldGRldl9yeHF1ZXVlX2NvbmYgKmNvbmYgX191bnVzZWQpCj4gK3sKPiAr
CXN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnJ4cSA9IE5VTEw7Cj4gKwo+ICsJVUtfQVNTRVJU
KG4pOwo+ICsKPiArCXJldHVybiByeHE7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgdWtfbmV0
ZGV2X3R4X3F1ZXVlICp2aXJ0aW9fbmV0ZGV2X3R4X3F1ZXVlX3NldHVwKAo+ICsJCQkJc3RydWN0
IHVrX25ldGRldiAqbiwgdWludDE2X3QgcXVldWVfaWQgX191bnVzZWQsCj4gKwkJCQl1aW50MTZf
dCBuYl9kZXNjIF9fdW51c2VkLAo+ICsJCQkJc3RydWN0IHVrX25ldGRldl90eHF1ZXVlX2NvbmYg
KmNvbmYgX191bnVzZWQpCj4gK3sKPiArCXN0cnVjdCB1a19uZXRkZXZfdHhfcXVldWUgKnR4cSA9
IE5VTEw7Cj4gKwo+ICsJVUtfQVNTRVJUKG4pOwo+ICsJcmV0dXJuIHR4cTsKPiArfQo+ICsKPiAr
c3RhdGljIGludCB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpk
ZXYsCj4gKwkJCQkgICAgICBfX3UxNiBxdWV1ZV9pZCBfX3VudXNlZCwKPiArCQkJCSAgICAgIHN0
cnVjdCB1a19uZXRkZXZfcXVldWVfaW5mbyAqcWluZm8pCj4gK3sKPiArCVVLX0FTU0VSVChkZXYp
Owo+ICsJVUtfQVNTRVJUKHFpbmZvKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMg
aW50IHZpcnRpb19uZXRkZXZfdHhxX2luZm9fZ2V0KHN0cnVjdCB1a19uZXRkZXYgKmRldiwKPiAr
CQkJCSAgICAgIF9fdTE2IHF1ZXVlX2lkIF9fdW51c2VkLAo+ICsJCQkJICAgICAgc3RydWN0IHVr
X25ldGRldl9xdWV1ZV9pbmZvICpxaW5mbykKPiArewo+ICsJVUtfQVNTRVJUKGRldik7Cj4gKwlV
S19BU1NFUlQocWluZm8pOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyB1bnNpZ25l
ZCB2aXJ0aW9fbmV0X3Byb21pc2NfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sKPiArCVVL
X0FTU0VSVChuKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0
IHVrX2h3YWRkciAqdmlydGlvX25ldF9tYWNfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sK
PiArCVVLX0FTU0VSVChuKTsKPiArCXJldHVybiBOVUxMOwo+ICt9Cj4gKwo+ICtzdGF0aWMgX191
MTYgdmlydGlvX25ldF9tdHVfZ2V0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sKPiArCVVLX0FT
U0VSVChuKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50IHZpcnRpb19uZXRk
ZXZfY29uZmlndXJlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3Qg
dWtfbmV0ZGV2X2NvbmYgKmNvbmYgX191bnVzZWQpCj4gK3sKPiArCWludCByYyA9IDA7Cj4gKwo+
ICsJVUtfQVNTRVJUKG4pOwo+ICsKPiArCXJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGljIGlu
dCB2aXJ0aW9fbmV0X3J4X2ludHJfZW5hYmxlKHN0cnVjdCB1a19uZXRkZXYgKm4sCj4gKwkJCQkg
ICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlIF9fdW51c2VkKQo+ICt7Cj4gKwlp
bnQgcmMgPSAwOwo+ICsKPiArCVVLX0FTU0VSVChuKTsKPiArCj4gKwlyZXR1cm4gcmM7Cj4gK30K
PiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldF9yeF9pbnRyX2Rpc2FibGUoc3RydWN0IHVrX25l
dGRldiAqbiwKPiArCQkJCSAgICAgIHN0cnVjdCB1a19uZXRkZXZfcnhfcXVldWUgKnF1ZXVlIF9f
dW51c2VkKQo+ICt7Cj4gKwlVS19BU1NFUlQobik7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAr
c3RhdGljIHZvaWQgdmlydGlvX25ldF9pbmZvX2dldChzdHJ1Y3QgdWtfbmV0ZGV2ICpkZXYsCj4g
KwkJCQlzdHJ1Y3QgdWtfbmV0ZGV2X2luZm8gKmRldl9pbmZvKQo+ICt7Cj4gKwlzdHJ1Y3Qgdmly
dGlvX25ldF9kZXZpY2UgKnZuZGV2Owo+ICsKPiArCVVLX0FTU0VSVChkZXYgJiYgZGV2X2luZm8p
Owo+ICsJdm5kZXYgPSB0b192aXJ0aW9uZXRkZXYoZGV2KTsKPiArCj4gKwlkZXZfaW5mby0+bWF4
X3J4X3F1ZXVlcyA9IHZuZGV2LT5tYXhfdnF1ZXVlX3BhaXJzOwo+ICsJZGV2X2luZm8tPm1heF90
eF9xdWV1ZXMgPSB2bmRldi0+bWF4X3ZxdWV1ZV9wYWlyczsKPiArfQo+ICsKPiArc3RhdGljIGlu
dCB2aXJ0aW9fbmV0X3N0YXJ0KHN0cnVjdCB1a19uZXRkZXYgKm4pCj4gK3sKPiArCVVLX0FTU0VS
VChuICE9IE5VTEwpOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9p
ZCB2aXJ0aW9fbmV0ZGV2X2ZlYXR1cmVfc2V0KHN0cnVjdCB2aXJ0aW9fbmV0X2RldmljZSAqdm5k
ZXYpCj4gK3sKPiArCXZuZGV2LT52ZGV2LT5mZWF0dXJlcyA9IDA7Cj4gKwkvKiBTZXR0aW5nIHRo
ZSBmZWF0dXJlIHRoZSBkcml2ZXIgc3VwcG9ydCAqLwo+ICsJVklSVElPX05FVF9EUlZfRkVBVFVS
RVModm5kZXYtPnZkZXYtPmZlYXR1cmVzKTsKPiArCS8qKgo+ICsJICogVE9ETzoKPiArCSAqIEFk
ZGluZyBtdWx0aXF1ZXVlIHN1cHBvcnQgZm9yIHRoZSB2aXJ0aW8gbmV0IGRyaXZlci4KPiArCSAq
Lwo+ICsJdm5kZXYtPm1heF92cXVldWVfcGFpcnMgPSAxOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29u
c3Qgc3RydWN0IHVrX25ldGRldl9vcHMgdmlydGlvX25ldGRldl9vcHMgPSB7Cj4gKwkuY29uZmln
dXJlID0gdmlydGlvX25ldGRldl9jb25maWd1cmUsCj4gKwkucnhxX2NvbmZpZ3VyZSA9IHZpcnRp
b19uZXRkZXZfcnhfcXVldWVfc2V0dXAsCj4gKwkudHhxX2NvbmZpZ3VyZSA9IHZpcnRpb19uZXRk
ZXZfdHhfcXVldWVfc2V0dXAsCj4gKwkuc3RhcnQgPSB2aXJ0aW9fbmV0X3N0YXJ0LAo+ICsJLnJ4
cV9pbnRyX2VuYWJsZSA9IHZpcnRpb19uZXRfcnhfaW50cl9lbmFibGUsCj4gKwkucnhxX2ludHJf
ZGlzYWJsZSA9IHZpcnRpb19uZXRfcnhfaW50cl9kaXNhYmxlLAo+ICsJLmluZm9fZ2V0ID0gdmly
dGlvX25ldF9pbmZvX2dldCwKPiArCS5wcm9taXNjdW91c19nZXQgPSB2aXJ0aW9fbmV0X3Byb21p
c2NfZ2V0LAo+ICsJLmh3YWRkcl9nZXQgPSB2aXJ0aW9fbmV0X21hY19nZXQsCj4gKwkubXR1X2dl
dCA9IHZpcnRpb19uZXRfbXR1X2dldCwKPiArCS50eHFfaW5mb19nZXQgPSB2aXJ0aW9fbmV0ZGV2
X3R4cV9pbmZvX2dldCwKPiArCS5yeHFfaW5mb19nZXQgPSB2aXJ0aW9fbmV0ZGV2X3J4cV9pbmZv
X2dldCwKPiArfTsKPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldF9hZGRfZGV2KHN0cnVjdCB2
aXJ0aW9fZGV2ICp2ZGV2KQo+ICt7Cj4gKwlzdHJ1Y3QgdmlydGlvX25ldF9kZXZpY2UgKnZuZGV2
Owo+ICsJaW50IHJjID0gMDsKPiArCj4gKwlVS19BU1NFUlQodmRldiAhPSBOVUxMKTsKPiArCj4g
Kwl2bmRldiA9IHVrX21hbGxvYyhhLCBzaXplb2YoKnZuZGV2KSk7Cj4gKwlpZiAoIXZuZGV2KSB7
Cj4gKwkJcmMgPSAtRU5PTUVNOwo+ICsJCWdvdG8gZXJyX291dDsKPiArCX0KPiArCXZuZGV2LT52
ZGV2ID0gdmRldjsKPiArCS8qIHJlZ2lzdGVyIG5ldGRldiAqLwo+ICsJdm5kZXYtPm5ldGRldi5y
eF9vbmUgPSB2aXJ0aW9fbmV0ZGV2X3JlY3Y7Cj4gKwl2bmRldi0+bmV0ZGV2LnR4X29uZSA9IHZp
cnRpb19uZXRkZXZfeG1pdDsKPiArCXZuZGV2LT5uZXRkZXYub3BzID0gJnZpcnRpb19uZXRkZXZf
b3BzOwo+ICsKPiArCXJjID0gdWtfbmV0ZGV2X2Rydl9yZWdpc3Rlcigmdm5kZXYtPm5ldGRldiwg
YSwgZHJ2X25hbWUpOwo+ICsJaWYgKHJjIDwgMCkgewo+ICsJCXVrX3ByX2VycigiRmFpbGVkIHRv
IHJlZ2lzdGVyIHZpcnRpby1uZXQgZGV2aWNlIHdpdGggbGlidWtuZXRcbiIpOwo+ICsJCWdvdG8g
ZXJyX25ldGRldl9kYXRhOwo+ICsJfQo+ICsJdm5kZXYtPnVpZCA9IHJjOwo+ICsJcmMgPSAwOwo+
ICsJdm5kZXYtPm1heF9tdHUgPSBFVEhfUEtUX1BBWUxPQURfTEVOOwo+ICsJdm5kZXYtPm10dSA9
IHZuZGV2LT5tYXhfbXR1Owo+ICsJdm5kZXYtPnByb21pc2MgPSAwOwo+ICsJdmlydGlvX25ldGRl
dl9mZWF0dXJlX3NldCh2bmRldik7Cj4gKwl1a19wcl9pbmZvKCJ2aXJ0aW8tbmV0IGRldmljZSBy
ZWdpc3RlcmVkIHdpdGggbGlidWtuZXRcbiIpOwo+ICsKPiArZXhpdDoKPiArCXJldHVybiByYzsK
PiArZXJyX25ldGRldl9kYXRhOgo+ICsJdWtfZnJlZShhLCB2bmRldik7Cj4gK2Vycl9vdXQ6Cj4g
Kwlnb3RvIGV4aXQ7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmlydGlvX25ldF9kcnZfaW5pdChz
dHJ1Y3QgdWtfYWxsb2MgKmRydl9hbGxvY2F0b3IpCj4gK3sKPiArCS8qIGRyaXZlciBpbml0aWFs
aXphdGlvbiAqLwo+ICsJaWYgKCFkcnZfYWxsb2NhdG9yKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+
ICsKPiArCWEgPSBkcnZfYWxsb2NhdG9yOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRp
YyBjb25zdCBzdHJ1Y3QgdmlydGlvX2Rldl9pZCB2bmV0X2Rldl9pZFtdID0gewo+ICsJe1ZJUlRJ
T19JRF9ORVR9LAo+ICsJe1ZJUlRJT19JRF9JTlZBTElEfSAvKiBMaXN0IFRlcm1pbmF0b3IgKi8K
PiArfTsKPiArCj4gK3N0YXRpYyBzdHJ1Y3QgdmlydGlvX2RyaXZlciB2bmV0X2RydiA9IHsKPiAr
CS5kZXZfaWRzID0gdm5ldF9kZXZfaWQsCj4gKwkuaW5pdCAgICA9IHZpcnRpb19uZXRfZHJ2X2lu
aXQsCj4gKwkuYWRkX2RldiA9IHZpcnRpb19uZXRfYWRkX2Rldgo+ICt9Owo+ICtWSVJUSU9fQlVT
X1JFR0lTVEVSX0RSSVZFUigmdm5ldF9kcnYpOwo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9Db25m
aWcudWsgYi9wbGF0L2t2bS9Db25maWcudWsKPiBpbmRleCAxM2U1NTc1Li5mYjM2NzdhIDEwMDY0
NAo+IC0tLSBhL3BsYXQva3ZtL0NvbmZpZy51awo+ICsrKyBiL3BsYXQva3ZtL0NvbmZpZy51awo+
IEBAIC03MSw1ICs3MSwxMyBAQCBjb25maWcgVklSVElPX1BDSQo+ICAgICAgICAgaGVscAo+ICAg
ICAgICAgICAgICAgICBTdXBwb3J0IHZpcnRpbyBkZXZpY2VzIG9uIFBDSSBidXMKPiAgCj4gK2Nv
bmZpZyBWSVJUSU9fTkVUCj4gKyAgICAgICBib29sICJWaXJ0aW8gTmV0IGRldmljZSIKPiArICAg
ICAgIGRlZmF1bHQgbgo+ICsgICAgICAgZGVwZW5kcyBvbiBMSUJVS05FVERFVgo+ICsgICAgICAg
c2VsZWN0IFZJUlRJTwo+ICsgICAgICAgc2VsZWN0IExJQlVLU0dMSVNUCj4gKyAgICAgICBoZWxw
Cj4gKyAgICAgICAgICAgICAgVmlydHVhbCBuZXR3b3JrIGRyaXZlci4KPiAgZW5kbWVudQo+ICBl
bmRpZgo+IGRpZmYgLS1naXQgYS9wbGF0L2t2bS9NYWtlZmlsZS51ayBiL3BsYXQva3ZtL01ha2Vm
aWxlLnVrCj4gaW5kZXggY2NjODMxOS4uMWY5YzVkYyAxMDA2NDQKPiAtLS0gYS9wbGF0L2t2bS9N
YWtlZmlsZS51awo+ICsrKyBiL3BsYXQva3ZtL01ha2VmaWxlLnVrCj4gQEAgLTk2LDMgKzk2LDUg
QEAgTElCS1ZNVklSVElPX1NSQ1MtJChDT05GSUdfVklSVElPX0JVUykgKz1cCj4gIAkJCQkJCQkk
KFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0aW8vdmlydGlvX3JpbmcuYwo+ICBMSUJLVk1WSVJU
SU9fU1JDUy0kKENPTkZJR19WSVJUSU9fUENJKSArPVwKPiAgCQkJCQkJCSQoVUtfUExBVF9EUklW
RVJTX0JBU0UpL3ZpcnRpby92aXJ0aW9fcGNpLmMKPiArTElCS1ZNVklSVElPX1NSQ1MtJChDT05G
SUdfVklSVElPX05FVCkgKz1cCj4gKwkJCQkJCQkkKFVLX1BMQVRfRFJJVkVSU19CQVNFKS92aXJ0
aW8vdmlydGlvX25ldC5jCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fXwpNaW5pb3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54
ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu
Zm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Mon Oct 29 17:02:16 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Mon, 29 Oct 2018 17:02:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gHAvc-0003pg-OW; Mon, 29 Oct 2018 17:02:12 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=jsbs=nj=citrix.com=prvs=8334480c5=lars.kurth@srs-us1.protection.inumbo.net>)
 id 1gHAva-0003pN-Ik
 for minios-devel@lists.xenproject.org; Mon, 29 Oct 2018 17:02:10 +0000
X-Inumbo-ID: 5d7a0af5-db9c-11e8-87d6-bc764e045a96
Received: from SMTP.EU.CITRIX.COM (unknown [185.25.65.24])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 5d7a0af5-db9c-11e8-87d6-bc764e045a96;
 Mon, 29 Oct 2018 17:02:08 +0000 (UTC)
X-IronPort-AV: E=Sophos;i="5.54,441,1534809600"; d="scan'208,217";a="81106252"
From: Lars Kurth <lars.kurth@citrix.com>
To: xen-devel <xen-devel@lists.xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>,
 "minios-devel@lists.xenproject.org" <minios-devel@lists.xenproject.org>,
 "mirageos-devel@lists.xenproject.org" <mirageos-devel@lists.xenproject.org>
Thread-Topic: FOSDEM Devrooms (CfP deadlines for relevant DevRooms from Dec
 1-10) and Xen Project Stand
Thread-Index: AQHUb6kXMvkD7VZGGkCSLM5Yxh6R6w==
Date: Mon, 29 Oct 2018 17:01:54 +0000
Message-ID: <D57E81A7-1353-47ED-85D3-775E2CDDCB49@citrix.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Microsoft-MacOutlook/10.10.3.181015
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
MIME-Version: 1.0
Subject: [Minios-devel] FOSDEM Devrooms (CfP deadlines for relevant DevRooms
 from Dec 1-10) and Xen Project Stand
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: Zibby Keaton <zkeaton@linuxfoundation.org>,
 "daniel.kiper@oracle.com" <daniel.kiper@oracle.com>,
 Olivier Lambert <lambert.olivier@gmail.com>,
 "committers@xenproject.org" <committers@xenproject.org>
Content-Type: multipart/mixed; boundary="===============9011115260670030021=="
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

--===============9011115260670030021==
Content-Language: en-US
Content-Type: multipart/alternative;
	boundary="_000_D57E81A7135347ED85D3775E2CDDCB49citrixcom_"

--_000_D57E81A7135347ED85D3775E2CDDCB49citrixcom_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgYWxsLA0KDQpJIGp1c3Qgc3VibWl0dGVkIGEgWGVuIFByb2plY3Qgc3RhbmQgc3VibWlzc2lv
biBhbmQgaWYgZXZlcnl0aGluZyBnb2VzIG9rLCB3ZSB3aWxsIGJlIGhhdmluZyBhIGJvb3RoIGFn
YWluIGxpa2UgdGhlIGxhc3QgNSB5ZWFycw0KQWNjZXB0ZWQgc3RhbmRzIHNob3VsZCBiZSBhbm5v
dW5jZWQgYnkgTm92ZW1iZXIgMTENCg0KSWYgeW91IGFscmVhZHkga25vdyB5b3UgYXJlIGdvaW5n
LCBwbGVhc2UgYWRkIHlvdXJzZWxmIHRvIGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL3NwcmVhZHNo
ZWV0cy9kLzF1azc5YV9pRWVTb3NUV0c3T2dadmhXMm5aTU8tY0pIaUR6MEJOYjBkTjYwL2VkaXQ/
dXNwPXNoYXJpbmcgYW5kIGxldCBtZSBrbm93IGlmIHlvdSBhcmUgd2lsbGluZyB0byBoZWxwIG91
dC4gQWxzbywgaWYgeW91IHdhbnQgdG8gZ2l2ZSBzd2FnIG91dCwgZ2l2ZSBkZW1vcywgZXRjLiBw
bGVhc2UgbGV0IG1lIGtub3cgYnkgYWRkaW5nIHdoYXQgeW91IHdhbnQgdG8gaW4gdGhlIGxhc3Qg
Y29sdW1uDQoNCkFsc28sIGEgbnVtYmVyIG9mIENmUOKAmXMgbWF5IGJlIHJlbGV2YW50OiBzZWUg
dGFibGUgYmVsb3cNCg0KRGV2cm9vbQ0KDQpDZlAgRGVhZGxpbmUNCg0KQ2ZQDQoNCkJTRCBAIFNh
dCwgRmViIDJuZA0KDQoyMDE4LTEyLTEwDQoNCmh0dHBzOi8vbGlzdHMuZm9zZGVtLm9yZy9waXBl
cm1haWwvZm9zZGVtLzIwMThxNC8wMDI3NDEuaHRtbA0KDQpWaXJ0dWFsaXphdGlvbiBhbmQgSWFh
UyBAIFNhdCwgRmViIDJuZA0KDQoyMDE4LTEyLTAxDQoNCmh0dHBzOi8vbGlzdHMuZm9zZGVtLm9y
Zy9waXBlcm1haWwvZm9zZGVtLzIwMThxNC8wMDI3NTcuaHRtbA0KDQpDb250YWluZXJzIEAgU3Vu
LCBGZWIgM3JkDQoNClRCQQ0KDQpUQkENCg0KTWljcm9rZXJuZWxzIGFuZCBDb21wb25lbnQtYmFz
ZWQgT1MgQCBTdW4sIEZlYiAzcmQNCg0KMjAxOC0xMi0wMQ0KDQpodHRwczovL2xpc3RzLmZvc2Rl
bS5vcmcvcGlwZXJtYWlsL2Zvc2RlbS8yMDE4cTQvMDAyNzQyLmh0bWwNCg0KDQpUaGUgY29tcGxl
dGUgbGlzdCBvZiBhY2NlcHRlZCBEZXZSb29tcyBpcyBhdCBodHRwczovL3d3dy5mb3NkZW0ub3Jn
LzIwMTkvbmV3cy8yMDE4LTEwLTE0LWFjY2VwdGVkLWRldmVsb3Blci1yb29tcy8NClNvbWUgd2ls
bCBoYXZlIGVhcmxpZXIgQ2ZQ4oCZcw0KDQpOb3RlIHRoYXQgSSBhbSBub3Qgdm9sdW50ZWVyaW5n
IGZvciB0aGUgVmlydHVhbGl6YXRpb24gYW5kIElhYVMgRGV2Um9vbSB0aGlzIHllYXI6IGlmIGFu
eW9uZSB3YW50cyB0byB2b2x1bnRlZXIsIHBsZWFzZSBjb250YWN0DQoNCkJyaWFuIFByb2ZmaXR0
IChicHJvZmZpdCBhdCByZWRoYXQpDQoNCkJlc3QgUmVnYXJkcw0KTGFycw0K

--_000_D57E81A7135347ED85D3775E2CDDCB49citrixcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <C0F98658A18F0847AE9D7A2B3008CD3F@citrix.com>
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl
PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
V2luZ2RpbmdzOw0KCXBhbm9zZS0xOjUgMCAwIDAgMCAwIDAgMCAwIDA7fQ0KQGZvbnQtZmFjZQ0K
CXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMg
MiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1
IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2Eg
TmV1ZSI7DQoJcGFub3NlLTE6MiAwIDUgMyAwIDAgMCAyIDAgNDt9DQovKiBTdHlsZSBEZWZpbml0
aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJn
aW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZv
bnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxp
bmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOiMwNTYzQzE7DQoJdGV4dC1kZWNv
cmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQN
Cgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOiM5NTRGNzI7DQoJdGV4dC1kZWNvcmF0
aW9uOnVuZGVybGluZTt9DQpwLk1zb0xpc3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgs
IGRpdi5Nc29MaXN0UGFyYWdyYXBoDQoJe21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4t
dG9wOjBjbTsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1hcmdpbi1ib3R0b206MGNtOw0KCW1hcmdp
bi1sZWZ0OjM2LjBwdDsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBw
dDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpzcGFuLkVtYWlsU3R5bGUx
Nw0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1jb21wb3NlOw0KCWZvbnQtZmFtaWx5OiJDYWxp
YnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0KcC5wMSwgbGkucDEsIGRpdi5w
MQ0KCXttc28tc3R5bGUtbmFtZTpwMTsNCgltYXJnaW4tdG9wOjBjbTsNCgltYXJnaW4tcmlnaHQ6
MGNtOw0KCW1hcmdpbi1ib3R0b206MS41cHQ7DQoJbWFyZ2luLWxlZnQ6MGNtOw0KCWxpbmUtaGVp
Z2h0OjE1LjBwdDsNCglmb250LXNpemU6MTAuNXB0Ow0KCWZvbnQtZmFtaWx5OiJIZWx2ZXRpY2Eg
TmV1ZSI7DQoJY29sb3I6YmxhY2s7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6
ZXhwb3J0LW9ubHk7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIuMHB0
Ow0KCW1hcmdpbjo3Mi4wcHQgNzIuMHB0IDcyLjBwdCA3Mi4wcHQ7fQ0KZGl2LldvcmRTZWN0aW9u
MQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQovKiBMaXN0IERlZmluaXRpb25zICovDQpAbGlzdCBs
MA0KCXttc28tbGlzdC1pZDo1NDc5MTAyOTc7DQoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7DQoJbXNv
LWxpc3QtdGVtcGxhdGUtaWRzOjIwNjA3NDg1NTggMTU0ODY1NTM5MCA2NzY5ODY5MSA2NzY5ODY5
MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5MyA2NzY5ODY4OSA2NzY5ODY5MSA2NzY5ODY5Mzt9
DQpAbGlzdCBsMDpsZXZlbDENCgl7bXNvLWxldmVsLXN0YXJ0LWF0OjU7DQoJbXNvLWxldmVsLW51
bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFi
LXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRl
bnQ6LTE4LjBwdDsNCglmb250LWZhbWlseTpTeW1ib2w7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1p
bHk6Q2FsaWJyaTsNCgltc28tYmlkaS1mb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIjt9DQpA
bGlzdCBsMDpsZXZlbDINCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0Ow0KCW1zby1s
ZXZlbC10ZXh0Om87DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJl
ci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0xOC4wcHQ7DQoJZm9udC1mYW1pbHk6IkNv
dXJpZXIgTmV3Ijt9DQpAbGlzdCBsMDpsZXZlbDMNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6
YnVsbGV0Ow0KCW1zby1sZXZlbC10ZXh0Ou+CpzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsN
Cgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsN
Cglmb250LWZhbWlseTpXaW5nZGluZ3M7fQ0KQGxpc3QgbDA6bGV2ZWw0DQoJe21zby1sZXZlbC1u
dW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgrc7DQoJbXNvLWxldmVsLXRh
Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k
ZW50Oi0xOC4wcHQ7DQoJZm9udC1mYW1pbHk6U3ltYm9sO30NCkBsaXN0IGwwOmxldmVsNQ0KCXtt
c28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVsLXRleHQ6bzsNCgltc28t
bGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJ
dGV4dC1pbmRlbnQ6LTE4LjBwdDsNCglmb250LWZhbWlseToiQ291cmllciBOZXciO30NCkBsaXN0
IGwwOmxldmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpidWxsZXQ7DQoJbXNvLWxldmVs
LXRleHQ674KnOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt
cG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0Ow0KCWZvbnQtZmFtaWx5Oldpbmdk
aW5nczt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YnVsbGV0
Ow0KCW1zby1sZXZlbC10ZXh0Ou+CtzsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28t
bGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LTE4LjBwdDsNCglmb250
LWZhbWlseTpTeW1ib2w7fQ0KQGxpc3QgbDA6bGV2ZWw4DQoJe21zby1sZXZlbC1udW1iZXItZm9y
bWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDpvOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25l
Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotMTguMHB0
Ow0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0KQGxpc3QgbDA6bGV2ZWw5DQoJe21zby1s
ZXZlbC1udW1iZXItZm9ybWF0OmJ1bGxldDsNCgltc28tbGV2ZWwtdGV4dDrvgqc7DQoJbXNvLWxl
dmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRl
eHQtaW5kZW50Oi0xOC4wcHQ7DQoJZm9udC1mYW1pbHk6V2luZ2RpbmdzO30NCm9sDQoJe21hcmdp
bi1ib3R0b206MGNtO30NCnVsDQoJe21hcmdpbi1ib3R0b206MGNtO30NCi0tPjwvc3R5bGU+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlk
bWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0
YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxi
b2R5IGxhbmc9IkVOLUdCIiBsaW5rPSIjMDU2M0MxIiB2bGluaz0iIzk1NEY3MiI+DQo8ZGl2IGNs
YXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPkhpIGFsbCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPkkganVzdCBzdWJtaXR0ZWQgYSBYZW4gUHJvamVjdCBzdGFuZCBzdWJtaXNzaW9u
IGFuZCBpZiBldmVyeXRoaW5nIGdvZXMgb2ssIHdlIHdpbGwgYmUgaGF2aW5nIGEgYm9vdGggYWdh
aW4gbGlrZSB0aGUgbGFzdCA1IHllYXJzPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkFjY2VwdGVkIHN0YW5k
cyBzaG91bGQgYmUgYW5ub3VuY2VkIGJ5IE5vdmVtYmVyIDExPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5JZiB5b3UgYWxyZWFkeSBrbm93IHlvdSBhcmUgZ29pbmcs
IHBsZWFzZSBhZGQgeW91cnNlbGYgdG8NCjxhIGhyZWY9Imh0dHBzOi8vZG9jcy5nb29nbGUuY29t
L3NwcmVhZHNoZWV0cy9kLzF1azc5YV9pRWVTb3NUV0c3T2dadmhXMm5aTU8tY0pIaUR6MEJOYjBk
TjYwL2VkaXQ/dXNwPXNoYXJpbmciPg0KaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vc3ByZWFkc2hl
ZXRzL2QvMXVrNzlhX2lFZVNvc1RXRzdPZ1p2aFcyblpNTy1jSkhpRHowQk5iMGRONjAvZWRpdD91
c3A9c2hhcmluZzwvYT4gYW5kIGxldCBtZSBrbm93IGlmIHlvdSBhcmUgd2lsbGluZyB0byBoZWxw
IG91dC4gQWxzbywgaWYgeW91IHdhbnQgdG8gZ2l2ZSBzd2FnIG91dCwgZ2l2ZSBkZW1vcywgZXRj
LiBwbGVhc2UgbGV0IG1lIGtub3cgYnkgYWRkaW5nIHdoYXQgeW91IHdhbnQgdG8gaW4gdGhlDQog
bGFzdCBjb2x1bW48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkFs
c28sIGEgbnVtYmVyIG9mIENmUOKAmXMgbWF5IGJlIHJlbGV2YW50OiBzZWUgdGFibGUgYmVsb3c8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHRhYmxlIGNs
YXNzPSJNc29UYWJsZUdyaWQiIGJvcmRlcj0iMSIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n
PSIwIiBzdHlsZT0iYm9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JvcmRlcjpub25lIj4NCjx0Ym9k
eT4NCjx0cj4NCjx0ZCB3aWR0aD0iMjY0IiB2YWxpZ249InRvcCIgc3R5bGU9IndpZHRoOjE5OC4w
NXB0O2JvcmRlcjpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O3BhZGRpbmc6MGNtIDUuNHB0IDBjbSA1
LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+RGV2cm9vbTxvOnA+PC9vOnA+PC9zcGFuPjwvYj48L3A+DQo8L3RkPg0KPHRkIHdpZHRo
PSIxNTEiIHZhbGlnbj0idG9wIiBzdHlsZT0id2lkdGg6MTEzLjZwdDtib3JkZXI6c29saWQgd2lu
ZG93dGV4dCAxLjBwdDtib3JkZXItbGVmdDpub25lO3BhZGRpbmc6MGNtIDUuNHB0IDBjbSA1LjRw
dCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Q2ZQIERlYWRsaW5lPG86cD48L286cD48L3NwYW4+PC9iPjwvcD4NCjwvdGQ+DQo8dGQgd2lk
dGg9IjQwMiIgdmFsaWduPSJ0b3AiIHN0eWxlPSJ3aWR0aDozMDEuMjVwdDtib3JkZXI6c29saWQg
d2luZG93dGV4dCAxLjBwdDtib3JkZXItbGVmdDpub25lO3BhZGRpbmc6MGNtIDUuNHB0IDBjbSA1
LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+Q2ZQPG86cD48L286cD48L3NwYW4+PC9iPjwvcD4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0K
PHRkIHdpZHRoPSIyNjQiIHZhbGlnbj0idG9wIiBzdHlsZT0id2lkdGg6MTk4LjA1cHQ7Ym9yZGVy
OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXRvcDpub25lO3BhZGRpbmc6MGNtIDUuNHB0
IDBjbSA1LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+QlNEIEAgU2F0LCBGZWIgMm5kPG86cD48L286cD48L3NwYW4+PC9wPg0KPC90ZD4N
Cjx0ZCB3aWR0aD0iMTUxIiB2YWxpZ249InRvcCIgc3R5bGU9IndpZHRoOjExMy42cHQ7Ym9yZGVy
LXRvcDpub25lO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5kb3d0ZXh0
IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O3BhZGRpbmc6MGNtIDUu
NHB0IDBjbSA1LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdCI+MjAxOC0xMi0xMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvdGQ+DQo8dGQg
d2lkdGg9IjQwMiIgdmFsaWduPSJ0b3AiIHN0eWxlPSJ3aWR0aDozMDEuMjVwdDtib3JkZXItdG9w
Om5vbmU7Ym9yZGVyLWxlZnQ6bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4w
cHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7cGFkZGluZzowY20gNS40cHQg
MGNtIDUuNHB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij48YSBocmVmPSJodHRwczovL2xpc3RzLmZvc2RlbS5vcmcvcGlwZXJtYWlsL2Zvc2Rl
bS8yMDE4cTQvMDAyNzQxLmh0bWwiPmh0dHBzOi8vbGlzdHMuZm9zZGVtLm9yZy9waXBlcm1haWwv
Zm9zZGVtLzIwMThxNC8wMDI3NDEuaHRtbDwvYT4NCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
dGQ+DQo8L3RyPg0KPHRyPg0KPHRkIHdpZHRoPSIyNjQiIHZhbGlnbj0idG9wIiBzdHlsZT0id2lk
dGg6MTk4LjA1cHQ7Ym9yZGVyOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXRvcDpub25l
O3BhZGRpbmc6MGNtIDUuNHB0IDBjbSA1LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+VmlydHVhbGl6YXRpb24gYW5kIElhYVMgQCBTYXQs
IEZlYiAybmQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNTEiIHZh
bGlnbj0idG9wIiBzdHlsZT0id2lkdGg6MTEzLjZwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxl
ZnQ6bm9uZTtib3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0
OnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7cGFkZGluZzowY20gNS40cHQgMGNtIDUuNHB0Ij4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4yMDE4LTEy
LTAxPG86cD48L286cD48L3NwYW4+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iNDAyIiB2YWxpZ249
InRvcCIgc3R5bGU9IndpZHRoOjMwMS4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDpu
b25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29s
aWQgd2luZG93dGV4dCAxLjBwdDtwYWRkaW5nOjBjbSA1LjRwdCAwY20gNS40cHQiPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxhIGhyZWY9Imh0
dHBzOi8vbGlzdHMuZm9zZGVtLm9yZy9waXBlcm1haWwvZm9zZGVtLzIwMThxNC8wMDI3NTcuaHRt
bCI+aHR0cHM6Ly9saXN0cy5mb3NkZW0ub3JnL3BpcGVybWFpbC9mb3NkZW0vMjAxOHE0LzAwMjc1
Ny5odG1sPC9hPg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPC90ZD4NCjwvdHI+DQo8dHI+DQo8
dGQgd2lkdGg9IjI2NCIgdmFsaWduPSJ0b3AiIHN0eWxlPSJ3aWR0aDoxOTguMDVwdDtib3JkZXI6
c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItdG9wOm5vbmU7cGFkZGluZzowY20gNS40cHQg
MGNtIDUuNHB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij5Db250YWluZXJzIEAgU3VuLCBGZWIgM3JkPG86cD48L286cD48L3NwYW4+PC9wPg0K
PC90ZD4NCjx0ZCB3aWR0aD0iMTUxIiB2YWxpZ249InRvcCIgc3R5bGU9IndpZHRoOjExMy42cHQ7
Ym9yZGVyLXRvcDpub25lO2JvcmRlci1sZWZ0Om5vbmU7Ym9yZGVyLWJvdHRvbTpzb2xpZCB3aW5k
b3d0ZXh0IDEuMHB0O2JvcmRlci1yaWdodDpzb2xpZCB3aW5kb3d0ZXh0IDEuMHB0O3BhZGRpbmc6
MGNtIDUuNHB0IDBjbSA1LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+VEJBPG86cD48L286cD48L3NwYW4+PC9wPg0KPC90ZD4NCjx0ZCB3
aWR0aD0iNDAyIiB2YWxpZ249InRvcCIgc3R5bGU9IndpZHRoOjMwMS4yNXB0O2JvcmRlci10b3A6
bm9uZTtib3JkZXItbGVmdDpub25lO2JvcmRlci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBw
dDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93dGV4dCAxLjBwdDtwYWRkaW5nOjBjbSA1LjRwdCAw
Y20gNS40cHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPlRCQTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvdGQ+DQo8L3RyPg0KPHRyPg0KPHRk
IHdpZHRoPSIyNjQiIHZhbGlnbj0idG9wIiBzdHlsZT0id2lkdGg6MTk4LjA1cHQ7Ym9yZGVyOnNv
bGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXRvcDpub25lO3BhZGRpbmc6MGNtIDUuNHB0IDBj
bSA1LjRwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+TWljcm9rZXJuZWxzIGFuZCBDb21wb25lbnQtYmFzZWQgT1MgQCBTdW4sIEZlYiAzcmQ8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L3RkPg0KPHRkIHdpZHRoPSIxNTEiIHZhbGlnbj0idG9w
IiBzdHlsZT0id2lkdGg6MTEzLjZwdDtib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWxlZnQ6bm9uZTti
b3JkZXItYm90dG9tOnNvbGlkIHdpbmRvd3RleHQgMS4wcHQ7Ym9yZGVyLXJpZ2h0OnNvbGlkIHdp
bmRvd3RleHQgMS4wcHQ7cGFkZGluZzowY20gNS40cHQgMGNtIDUuNHB0Ij4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4yMDE4LTEyLTAxPG86cD48
L286cD48L3NwYW4+PC9wPg0KPC90ZD4NCjx0ZCB3aWR0aD0iNDAyIiB2YWxpZ249InRvcCIgc3R5
bGU9IndpZHRoOjMwMS4yNXB0O2JvcmRlci10b3A6bm9uZTtib3JkZXItbGVmdDpub25lO2JvcmRl
ci1ib3R0b206c29saWQgd2luZG93dGV4dCAxLjBwdDtib3JkZXItcmlnaHQ6c29saWQgd2luZG93
dGV4dCAxLjBwdDtwYWRkaW5nOjBjbSA1LjRwdCAwY20gNS40cHQiPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPjxhIGhyZWY9Imh0dHBzOi8vbGlz
dHMuZm9zZGVtLm9yZy9waXBlcm1haWwvZm9zZGVtLzIwMThxNC8wMDI3NDIuaHRtbCI+aHR0cHM6
Ly9saXN0cy5mb3NkZW0ub3JnL3BpcGVybWFpbC9mb3NkZW0vMjAxOHE0LzAwMjc0Mi5odG1sPC9h
Pg0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPC90ZD4NCjwvdHI+DQo8L3Rib2R5Pg0KPC90YWJs
ZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdCI+VGhlIGNvbXBsZXRlIGxpc3Qgb2YgYWNjZXB0ZWQgRGV2
Um9vbXMgaXMgYXQNCjxhIGhyZWY9Imh0dHBzOi8vd3d3LmZvc2RlbS5vcmcvMjAxOS9uZXdzLzIw
MTgtMTAtMTQtYWNjZXB0ZWQtZGV2ZWxvcGVyLXJvb21zLyI+aHR0cHM6Ly93d3cuZm9zZGVtLm9y
Zy8yMDE5L25ld3MvMjAxOC0xMC0xNC1hY2NlcHRlZC1kZXZlbG9wZXItcm9vbXMvPC9hPjxicj4N
ClNvbWUgd2lsbCBoYXZlIGVhcmxpZXIgQ2ZQ4oCZczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij48bzpwPiZu
YnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+Tm90ZSB0aGF0IEkgYW0gbm90IHZvbHVudGVlcmluZyBmb3IgdGhl
IFZpcnR1YWxpemF0aW9uIGFuZCBJYWFTIERldlJvb20gdGhpcyB5ZWFyOiBpZiBhbnlvbmUgd2Fu
dHMgdG8gdm9sdW50ZWVyLCBwbGVhc2UgY29udGFjdCAmbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0icDEiPkJyaWFuIFByb2ZmaXR0IChicHJvZmZpdCBhdCByZWRoYXQpPG86
cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkJlc3QgUmVnYXJkczxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij5MYXJzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0
bWw+DQo=

--_000_D57E81A7135347ED85D3775E2CDDCB49citrixcom_--


--===============9011115260670030021==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTWluaW9zLWRl
dmVsIG1haWxpbmcgbGlzdApNaW5pb3MtZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6
Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL21pbmlvcy1kZXZlbA==

--===============9011115260670030021==--


From minios-devel-bounces@lists.xenproject.org Wed Oct 31 14:02:18 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Oct 2018 14:02:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gHr4a-0005e1-5l; Wed, 31 Oct 2018 14:02:16 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=l0d4=nl=gmail.com=costin.birlea@srs-us1.protection.inumbo.net>)
 id 1gHr4Z-0005du-38
 for minios-devel@lists.xen.org; Wed, 31 Oct 2018 14:02:15 +0000
X-Inumbo-ID: 9100a7ce-dd15-11e8-87d6-bc764e045a96
Received: from mail-wr1-x443.google.com (unknown [2a00:1450:4864:20::443])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id 9100a7ce-dd15-11e8-87d6-bc764e045a96;
 Wed, 31 Oct 2018 14:02:14 +0000 (UTC)
Received: by mail-wr1-x443.google.com with SMTP id i17-v6so16574872wre.7
 for <minios-devel@lists.xen.org>; Wed, 31 Oct 2018 07:02:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:date:message-id;
 bh=bAh3nxD+B5GwPm6UkaNmLmDIsI9wP+EbI0iEQV0qp/E=;
 b=VVVl4sYk0FYqbrPhF1tNXFv7VTnrKQ70nUQcb451xrkbdUN8nngJTB5zWLTHMZ8fvr
 CoD+H2xBVpu8FIgWYrwqDxdf0sL/M8V4oy4pIuwyZYrLFiijpJNxOZeGwfiZ1nD2YaTm
 XV3NNafPnQO172lgSgh5V1f7fi0tVdP3C5FOv5/LgyuX4/IKsIv4/8HeB+RWNBiepUz3
 vb0zpr0u0yfU3sLezg9cDx9ST7LE40Q4SAgC3X4cHqMH+/E0Nh3WHrEYeP+cmQjJvBkP
 sGGUAa2F7Dnk65Bjlrd3825e8XHUR4prLJpz9Tuu9KjH3fn413o2xUr8JnpOKch9b3CN
 fr5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:date:message-id;
 bh=bAh3nxD+B5GwPm6UkaNmLmDIsI9wP+EbI0iEQV0qp/E=;
 b=Dj1aseWPlJbz+YdkcExJd6amIjT5aV9HANomKEXZ3Ni7f4CIgUGKAubAoxqnVRILOo
 jU4DVogBEaXu8a17C4PLldv+QkweBfz2+tx49QedwzdX6CTwjkV4y46rmdfvBBS2N5Yc
 M5pqwD8olzi9orV5w03jx1KYuNEqoiBg3j87dtRzKIPMbYoGQ2UwKZRA7Z7+hiDjInak
 TXKg2uALURMz5O9UjFz3AJue0dKbplyqcZHZV9y9nPnIeL7IQvLInwxNdKYaRMInpvyQ
 Ns7P5DTeDdNj+iCs+4F0Bf0GyMhV6yYzyvrWbi7XE30G5pbEFID0xu7PhDHeJQ13RPuX
 qbvw==
X-Gm-Message-State: AGRZ1gLbem1biHG8gQWqYqiBBvyAAsrW80ZcU/ZNuKbqkBnOQ3SgZSjO
 C0ViJCdCEUZGePxk6rWKIAg0SPtH
X-Google-Smtp-Source: AJdET5f4sE3/J6DWBO9JcUk9IL++5kOoRdoSYqfFlsImE9++49K9zsXCzSB0egsRXMwfZ/KoXbMh1Q==
X-Received: by 2002:adf:9403:: with SMTP id 3-v6mr2939569wrq.54.1540994532336; 
 Wed, 31 Oct 2018 07:02:12 -0700 (PDT)
Received: from codi.precis.pub.ro ([141.85.233.142])
 by smtp.gmail.com with ESMTPSA id x16-v6sm24460484wro.28.2018.10.31.07.02.10
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 31 Oct 2018 07:02:11 -0700 (PDT)
From: Birlea Costin <costin.birlea@gmail.com>
To: minios-devel@lists.xen.org
Date: Wed, 31 Oct 2018 16:02:03 +0200
Message-Id: <20181031140203.15263-1-costin.birlea@gmail.com>
X-Mailer: git-send-email 2.11.0
Subject: [Minios-devel] [UNIKRAFT PATCH v2] plat/xen: Add flush for xen
 console
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu, simon.kuenzer@neclab.eu,
 Birlea Costin <costin.birlea@gmail.com>, yuri.volchkov@neclab.eu
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

QWRkIGZsdXNoIGZ1bmN0aW9uIGZvciB4ZW4gY29uc29sZS4gU2h1dGRvd24gY2FuIGJlIHJlcXVl
c3RlZApiZWZvcmUgdGhlIGh5cGVydmlzb3IgZ2V0cyB0byBwcmludCBldmVyeXRoaW5nIHRvIHRo
ZSBjb25zb2xlCmFuZCBzdG9wcyB0cnlpbmcuIFRoaXMgaGFwcGVucyBpbiB1a3V0ZXN0IGFuZCBk
b2VzIG5vdCBnZXQgdG8KcHJpbnQgUGFzc2VkKHgveSkuIFRoaXMgcGF0Y2ggYXNzdXJlcyBldmVy
eXRoaW5nIGlzIHdyaXR0ZW4KYmVmb3JlIHNodXR0aW5nIGRvd24uCgpDaGFuZ2VzIHNpbmNlIHYx
CiogQWRkIGJhcnJpZXIoKSB0byBhdm9pZCBpbmZpbml0ZSBsb29wIGNhdXNlZCBieSBjb21waWxl
ciBvcHRpbWl6YXRpb24KClNpZ25lZC1vZmYtYnk6IEJpcmxlYSBDb3N0aW4gPGNvc3Rpbi5iaXJs
ZWFAZ21haWwuY29tPgotLS0KIHBsYXQveGVuL2NvbnNvbGUuYyAgICAgICAgICAgICAgICB8IDE0
ICsrKysrKysrKysrKysrCiBwbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9jb25zb2xlLmggfCAgMyAr
KysKIHBsYXQveGVuL3NodXRkb3duLmMgICAgICAgICAgICAgICB8ICAzICsrKwogMyBmaWxlcyBj
aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvcGxhdC94ZW4vY29uc29sZS5j
IGIvcGxhdC94ZW4vY29uc29sZS5jCmluZGV4IGMwYjM1YzcuLmFjOTNiZmMgMTAwNjQ0Ci0tLSBh
L3BsYXQveGVuL2NvbnNvbGUuYworKysgYi9wbGF0L3hlbi9jb25zb2xlLmMKQEAgLTIwMyw2ICsy
MDMsMjAgQEAgc3RhdGljIHZvaWQgaHZjb25zb2xlX2lucHV0KGV2dGNobl9wb3J0X3QgcG9ydCBf
X3VudXNlZCwKIAkvKiBOT1QgSU1QTEVNRU5URUQgWUVUICovCiB9CiAKK3ZvaWQgaHZjb25zb2xl
X2ZsdXNoKCkKK3sKKwlzdHJ1Y3QgeGVuY29uc19pbnRlcmZhY2UgKmludGY7CisKKwlpZiAoIWNv
bnNvbGVfcmVhZHkpCisJCXJldHVybjsKKworCWludGYgPSBjb25zb2xlX3Jpbmc7CisJaWYgKHVu
bGlrZWx5KCFpbnRmKSkKKwkJcmV0dXJuIDsKKworCXdoaWxlIChpbnRmLT5vdXRfY29ucyA8IGlu
dGYtPm91dF9wcm9kKQorCQliYXJyaWVyKCk7Cit9CiAKIHZvaWQgX2xpYnhlbnBsYXRfaW5pdF9j
b25zb2xlKHZvaWQpCiB7CmRpZmYgLS1naXQgYS9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9jb25z
b2xlLmggYi9wbGF0L3hlbi9pbmNsdWRlL2NvbW1vbi9jb25zb2xlLmgKaW5kZXggYzUxYzY5Yi4u
YjRmMWI1MSAxMDA2NDQKLS0tIGEvcGxhdC94ZW4vaW5jbHVkZS9jb21tb24vY29uc29sZS5oCisr
KyBiL3BsYXQveGVuL2luY2x1ZGUvY29tbW9uL2NvbnNvbGUuaApAQCAtNDUsNCArNDUsNyBAQCB2
b2lkIF9saWJ4ZW5wbGF0X3ByZXBhcmVfY29uc29sZSh2b2lkKTsKICAqLwogdm9pZCBfbGlieGVu
cGxhdF9pbml0X2NvbnNvbGUodm9pZCk7CiAKKwordm9pZCBodmNvbnNvbGVfZmx1c2godm9pZCk7
CisKICNlbmRpZiAvKiBfX0NPTlNPTEVfSF9fICovCmRpZmYgLS1naXQgYS9wbGF0L3hlbi9zaHV0
ZG93bi5jIGIvcGxhdC94ZW4vc2h1dGRvd24uYwppbmRleCBlMTc1OGZmLi4yNzJlY2U0IDEwMDY0
NAotLS0gYS9wbGF0L3hlbi9zaHV0ZG93bi5jCisrKyBiL3BsYXQveGVuL3NodXRkb3duLmMKQEAg
LTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlIDxlcnJuby5oPgogCiAjaW5jbHVkZSA8eGVuL3hlbi5o
PgorI2luY2x1ZGUgPGNvbW1vbi9jb25zb2xlLmg+CiAKICNpZiBkZWZpbmVkIF9fWDg2XzMyX18K
ICNpbmNsdWRlIDx4ZW4teDg2L2h5cGVyY2FsbDMyLmg+CkBAIC02NSw2ICs2Niw4IEBAIHZvaWQg
dWtwbGF0X3Rlcm1pbmF0ZShlbnVtIHVrcGxhdF9nc3RhdGUgcmVxdWVzdCkKIAkJYnJlYWs7CiAJ
fQogCisJaHZjb25zb2xlX2ZsdXNoKCk7CisKIAlmb3IgKDs7KSB7CiAJCXN0cnVjdCBzY2hlZF9z
aHV0ZG93biBzY2hlZF9zaHV0ZG93biA9IHsgLnJlYXNvbiA9IHJlYXNvbiB9OwogCi0tIAoyLjEx
LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpNaW5p
b3MtZGV2ZWwgbWFpbGluZyBsaXN0Ck1pbmlvcy1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo
dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8vbWluaW9zLWRldmVs

From minios-devel-bounces@lists.xenproject.org Wed Oct 31 23:36:40 2018
Return-path: <minios-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xenproject.org
Delivery-date: Wed, 31 Oct 2018 23:36:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.89)
	(envelope-from <minios-devel-bounces@lists.xenproject.org>)
	id 1gI02P-0008FU-EU; Wed, 31 Oct 2018 23:36:37 +0000
Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6])
 by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from
 <srs0=1iqp=nl=neclab.eu=simon.kuenzer@srs-us1.protection.inumbo.net>)
 id 1gI02O-0008FP-76
 for minios-devel@lists.xen.org; Wed, 31 Oct 2018 23:36:36 +0000
X-Inumbo-ID: cc3e5492-dd65-11e8-87d6-bc764e045a96
Received: from mailer1.neclab.eu (unknown [195.37.70.40])
 by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS
 id cc3e5492-dd65-11e8-87d6-bc764e045a96;
 Wed, 31 Oct 2018 23:36:33 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by mailer1.neclab.eu (Postfix) with ESMTP id A5989104A9B;
 Thu,  1 Nov 2018 00:36:31 +0100 (CET)
X-Virus-Scanned: Amavisd on Debian GNU/Linux (netlab.nec.de)
Received: from mailer1.neclab.eu ([127.0.0.1])
 by localhost (atlas-a.office.hd [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id cIggfqt4AHOF; Thu,  1 Nov 2018 00:36:31 +0100 (CET)
X-ENC: Last-Hop-TLS-encrypted
X-ENC: Last-Hop-TLS-encrypted
Received: from METHONE.office.hd (METHONE.office.hd [192.168.24.54])
 (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mailer1.neclab.eu (Postfix) with ESMTPS id 7D786104A66;
 Thu,  1 Nov 2018 00:36:27 +0100 (CET)
Received: from n-1075.office.hd (10.7.0.24) by skoll.office.hd
 (192.168.125.11) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 1 Nov
 2018 00:36:27 +0100
From: Simon Kuenzer <simon.kuenzer@neclab.eu>
To: Dafna Hirschfeld <dafna3@gmail.com>, <minios-devel@lists.xen.org>
References: <20181020122542.19284-1-dafna3@gmail.com>
X-Tagtoolbar-Keys: D20181031183623630
Message-ID: <e6576cc0-bf78-8b27-cf05-294ff1475fda@neclab.eu>
Date: Wed, 31 Oct 2018 18:36:23 -0500
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.2.1
MIME-Version: 1.0
In-Reply-To: <20181020122542.19284-1-dafna3@gmail.com>
Content-Language: en-US
X-Originating-IP: [10.7.0.24]
Subject: Re: [Minios-devel] [UNIKRAFT PATCH v2] build: assign
 CONFIG_CROSS_COMPILE according to priority
X-BeenThere: minios-devel@lists.xenproject.org
X-Mailman-Version: 2.1.23
Precedence: list
List-Id: Mini-os development list <minios-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:minios-devel@lists.xenproject.org>
List-Help: <mailto:minios-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/minios-devel>, 
 <mailto:minios-devel-request@lists.xenproject.org?subject=subscribe>
Cc: florian.schmidt@neclab.eu
Content-Transfer-Encoding: base64
Content-Type: text/plain; charset="utf-8"; Format="flowed"
Errors-To: minios-devel-bounces@lists.xenproject.org
Sender: "Minios-devel" <minios-devel-bounces@lists.xenproject.org>

SGV5LAoKdGhlIHBhdGNoIGxvb2tzIGdvb2QuIFRoYW5rcyBhIGxvdCBmb3IgdGhpcyBmaXghCkkg
d2lsbCB1cGRhdGUgdGhlIGNvbW1pdCBzdWJqZWN0IHRvOgpidWlsZDogR2l2ZSBDUk9TU19DT01Q
SUxFIGZyb20gY29tbWFuZCBsaW5lIGhpZ2hlc3QgcHJpb3JpdHkKClJldmlld2VkLWJ5OiBTaW1v
biBLdWVuemVyIDxzaW1vbi5rdWVuemVyQG5lY2xhYi5ldT4KCk9uIDIwLjEwLjE4IDA3OjI1LCBE
YWZuYSBIaXJzY2hmZWxkIHdyb3RlOgo+IEFzc2lnbiBDT05GSUdfQ1JPU1NfQ09NUElMRSB0byBD
Uk9TU19DT01QSUxFIG9ubHkKPiBpZiBDUk9TU19DT01QSUxFIGlzIGRlZmluZWQsIHNvIHRoYXQg
Q09ORklHX0NST1NTX0NPTVBJTEUKPiB3aWxsIG5vdCBiZSBlcmFzZWQgaW4gY2FzZSBpdCB3YXMg
c2V0IGluIGAuY29uZmlnYAo+IAo+IFNpZ25lZC1vZmYtYnk6IERhZm5hIEhpcnNjaGZlbGQgPGRh
Zm5hM0BnbWFpbC5jb20+Cj4gLS0tCj4gICBNYWtlZmlsZSAgICAgICAgICAgICAgICAgICAgfCAz
ICsrKwo+ICAgYXJjaC9hcm0vYXJtL0NvbXBpbGVyLnVrICAgIHwgMiArLQo+ICAgYXJjaC9hcm0v
YXJtNjQvQ29tcGlsZXIudWsgIHwgMiArLQo+ICAgYXJjaC94ODYveDg2XzY0L0NvbXBpbGVyLnVr
IHwgMiArLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z
KC0pCj4gCj4gZGlmZiAtLWdpdCBhL01ha2VmaWxlIGIvTWFrZWZpbGUKPiBpbmRleCAxZTJkMDM1
Li5lZmM5NGExIDEwMDY0NAo+IC0tLSBhL01ha2VmaWxlCj4gKysrIGIvTWFrZWZpbGUKPiBAQCAt
MzkwLDcgKzM5MCwxMCBAQCB1bmV4cG9ydCBNQUNISU5FCj4gICAjICJtYWtlIiBpbiB0aGUgY29u
ZmlndXJlZCBrZXJuZWwgYnVpbGQgZGlyZWN0b3J5IGFsd2F5cyB1c2VzIHRoYXQuCj4gICAjIERl
ZmF1bHQgdmFsdWUgZm9yIENPTkZJR19DUk9TU19DT01QSUxFIGlzIG5vdCB0byBwcmVmaXggZXhl
Y3V0YWJsZXMKPiAgICMgTm90ZTogU29tZSBhcmNoaXRlY3R1cmVzIGFzc2lnbiBDT05GSUdfQ1JP
U1NfQ09NUElMRSBpbiB0aGVpciBhcmNoLyovTWFrZWZpbGUudWsKPiArCj4gK2lmbmVxICgiJChv
cmlnaW4gQ1JPU1NfQ09NUElMRSkiLCJ1bmRlZmluZWQiKQo+ICAgQ09ORklHX0NST1NTX0NPTVBJ
TEUgOj0gJChDUk9TU19DT01QSUxFOiIlIj0lKQo+ICtlbmRpZgo+ICAgCj4gICBpbmNsdWRlICQo
Q09ORklHX1VLX0JBU0UpL2FyY2gvJChVS19GQU1JTFkpL0NvbXBpbGVyLnVrCj4gICAKPiBkaWZm
IC0tZ2l0IGEvYXJjaC9hcm0vYXJtL0NvbXBpbGVyLnVrIGIvYXJjaC9hcm0vYXJtL0NvbXBpbGVy
LnVrCj4gaW5kZXggNDRhNDk3ZC4uMzM0NWQwMyAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9hcm0v
Q29tcGlsZXIudWsKPiArKysgYi9hcmNoL2FybS9hcm0vQ29tcGlsZXIudWsKPiBAQCAtMSw1ICsx
LDUgQEAKPiAgICMgc2V0IGNyb3NzIGNvbXBpbGUKPiAtaWZlcSAoJChDT05GSUdfQ1JPU1NfQ09N
UElMRSksKQo+ICtpZmVxICgkKGNhbGwgcXN0cmlwLCQoQ09ORklHX0NST1NTX0NPTVBJTEUpKSwp
Cj4gICBpZm5lcSAoJChDT05GSUdfVUtfQVJDSCksJChIT1NUQVJDSCkpCj4gICAJQ09ORklHX0NS
T1NTX0NPTVBJTEUgOj0gYXJtLWxpbnV4LWdudWVhYmloZi0KPiAgIGVuZGlmCj4gZGlmZiAtLWdp
dCBhL2FyY2gvYXJtL2FybTY0L0NvbXBpbGVyLnVrIGIvYXJjaC9hcm0vYXJtNjQvQ29tcGlsZXIu
dWsKPiBpbmRleCA0NTcyMDEzLi4yMzUzNDZiIDEwMDY0NAo+IC0tLSBhL2FyY2gvYXJtL2FybTY0
L0NvbXBpbGVyLnVrCj4gKysrIGIvYXJjaC9hcm0vYXJtNjQvQ29tcGlsZXIudWsKPiBAQCAtMSw1
ICsxLDUgQEAKPiAgICMgc2V0IGNyb3NzIGNvbXBpbGUKPiAtaWZlcSAoJChDT05GSUdfQ1JPU1Nf
Q09NUElMRSksKQo+ICtpZmVxICgkKGNhbGwgcXN0cmlwLCQoQ09ORklHX0NST1NTX0NPTVBJTEUp
KSwpCj4gICBpZm5lcSAoJChDT05GSUdfVUtfQVJDSCksJChIT1NUQVJDSCkpCj4gICAJQ09ORklH
X0NST1NTX0NPTVBJTEUgOj0gYWFyY2g2NC1saW51eC1nbnUtCj4gICBlbmRpZgo+IGRpZmYgLS1n
aXQgYS9hcmNoL3g4Ni94ODZfNjQvQ29tcGlsZXIudWsgYi9hcmNoL3g4Ni94ODZfNjQvQ29tcGls
ZXIudWsKPiBpbmRleCA5OGVhOGFkLi5kYmUwOTcxIDEwMDY0NAo+IC0tLSBhL2FyY2gveDg2L3g4
Nl82NC9Db21waWxlci51awo+ICsrKyBiL2FyY2gveDg2L3g4Nl82NC9Db21waWxlci51awo+IEBA
IC0xLDUgKzEsNSBAQAo+ICAgIyBzZXQgY3Jvc3MgY29tcGlsZQo+IC1pZmVxICgkKENPTkZJR19D
Uk9TU19DT01QSUxFKSwpCj4gK2lmZXEgKCQoY2FsbCBxc3RyaXAsJChDT05GSUdfQ1JPU1NfQ09N
UElMRSkpLCkKPiAgIGlmbmVxICgkKENPTkZJR19VS19BUkNIKSwkKEhPU1RBUkNIKSkKPiAgIAlD
T05GSUdfQ1JPU1NfQ09NUElMRSA6PSB4ODZfNjQtbGludXgtZ251LQo+ICAgZW5kaWYKPiAKCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCk1pbmlvcy1kZXZl
bCBtYWlsaW5nIGxpc3QKTWluaW9zLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v
bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby9taW5pb3MtZGV2ZWw=

