From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.groups.io with SMTP id smtpd.web09.3416.1608153475745491043 for ; Wed, 16 Dec 2020 13:17:56 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=NAQ+iXpm; spf=pass (domain: redhat.com, ip: 63.128.21.124, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1608153474; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XCi3gY0Ng3tZ9i666PR1UkfogKaRdJ8poow5kcT1VPQ=; b=NAQ+iXpmZf4TYis1QnDYYui5YBw5JDiT3Y6ip3/Vyvg3yxGHAJ1dYMF6wrJeNkxjK+z8mY F3+8ZJnhjBC3qI+UMbub6Ak6ybsj9pZiFk08UQg87YX66qCmxGgzAD8MdLTnHfTsegYYDV XkV5I9jqhcrFoLWgWlxAzCTc0KJ09JM= Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-550-K_c9JeCnNUm5sgiAIfoOCQ-1; Wed, 16 Dec 2020 16:17:51 -0500 X-MC-Unique: K_c9JeCnNUm5sgiAIfoOCQ-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 632F5190D343; Wed, 16 Dec 2020 21:17:50 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-114-152.ams2.redhat.com [10.36.114.152]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8EA605D9C0; Wed, 16 Dec 2020 21:17:45 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io, virtio-fs@redhat.com, lersek@redhat.com Cc: Ard Biesheuvel , Jordan Justen , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [edk2 PATCH 03/48] OvmfPkg/VirtioFsDxe: DriverBinding: open VirtioDevice, install SimpleFs Date: Wed, 16 Dec 2020 22:10:40 +0100 Message-Id: <20201216211125.19496-4-lersek@redhat.com> In-Reply-To: <20201216211125.19496-1-lersek@redhat.com> References: <20201216211125.19496-1-lersek@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=lersek@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Q29tcGxldGUgdGhlIFN1cHBvcnRlZCwgU3RhcnQsIGFuZCBTdG9wIG1lbWJlciBmdW5jdGlvbnMg b2YKRUZJX0RSSVZFUl9CSU5ESU5HX1BST1RPQ09MIHN1ZmZpY2llbnRseSBmb3IgZXhlcmNpc2lu ZyB0aGUgVUVGSSBkcml2ZXIKbW9kZWw6CgotIGJpbmQgdmlydGlvLWZzIGRldmljZXMsCgotIHBy b2R1Y2UgcGxhY2Vob2xkZXIgRUZJX1NJTVBMRV9GSUxFX1NZU1RFTV9QUk9UT0NPTCBpbnN0YW5j ZXMgb24gdGhlbS4KCk9uIHRoZSAiVE9fU1RBUlQiICg9IFZpcnRpbykgc2lkZSwgdGhlIFZpcnRp b0ZzQmluZGluZ1N1cHBvcnRlZCgpIGZ1bmN0aW9uCnZlcmlmaWVzIHRoZSBWaXJ0aW8gc3Vic3lz dGVtIElEIGZvciB0aGUgdmlydGlvLWZzIGRldmljZSAoZGVjaW1hbCAyNiAtLQpzZWUKPGh0dHBz Oi8vZ2l0aHViLmNvbS9vYXNpcy10Y3MvdmlydGlvLXNwZWMvYmxvYi84N2ZhNmI1ZDgxNTUvdmly dGlvLWZzLnRleD4pLgpCZXlvbmQgdGhhdCwgbm8gYWN0dWFsIFZpcnRpbyBzZXR1cCBpcyBwZXJm b3JtZWQgZm9yIG5vdy4gVGhvc2UgYml0cyBhcmUKZ29pbmcgdG8gYmUgaW1wbGVtZW50ZWQgbGF0 ZXIgaW4gdGhpcyBzZXJpZXMuCgpPbiB0aGUgIkJZX1NUQVJUIiAoPSBVRUZJIGZpbGVzeXN0ZW0p IHNpZGUsIHRoZSBWaXJ0aW9Gc09wZW5Wb2x1bWUoKQpmdW5jdGlvbiAtLSB3aGljaCBpcyB0aGUg c29sZSBFRklfU0lNUExFX0ZJTEVfU1lTVEVNX1BST1RPQ09MIG1lbWJlcgpmdW5jdGlvbiAtLSBp cyBhIHN0dWI7IGl0IGFsd2F5cyByZXR1cm5zIEVGSV9OT19NRURJQSwgZm9yIG5vdy4KClRoZSAi Q09OTkVDVCIsICJESVNDT05ORUNUIiwgYW5kICJNQVAgLVIiIFVFRkkgU2hlbGwgY29tbWFuZHMg Y2FuIGJlIHVzZWQKdG8gdGVzdCB0aGlzIHBhdGNoLgoKQ2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQu Ymllc2hldXZlbEBhcm0uY29tPgpDYzogSm9yZGFuIEp1c3RlbiA8am9yZGFuLmwuanVzdGVuQGlu dGVsLmNvbT4KQ2M6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAcmVkaGF0LmNvbT4K UmVmOiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTcK U2lnbmVkLW9mZi1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4KLS0tCiBPdm1m UGtnL0luY2x1ZGUvSW5kdXN0cnlTdGFuZGFyZC9WaXJ0aW8xMC5oIHwgIDUgKysKIE92bWZQa2cv VmlydGlvRnNEeGUvVmlydGlvRnNEeGUuaW5mICAgICAgICAgfCAgNyArKwogT3ZtZlBrZy9WaXJ0 aW9Gc0R4ZS9WaXJ0aW9Gc0R4ZS5oICAgICAgICAgICB8IDUyICsrKysrKysrKysrCiBPdm1mUGtn L1ZpcnRpb0ZzRHhlL0RyaXZlckJpbmRpbmcuYyAgICAgICAgIHwgOTQgKysrKysrKysrKysrKysr KysrKy0KIE92bWZQa2cvVmlydGlvRnNEeGUvU2ltcGxlRnNPcGVuVm9sdW1lLmMgICAgfCAyNiAr KysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTgxIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3RhbmRhcmQvVmlydGlvMTAu aCBiL092bWZQa2cvSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkL1ZpcnRpbzEwLmgKaW5kZXggM2Mx NTkyZDFmZGVhLi4yYzYwYmUyYjdjMGMgMTAwNjQ0Ci0tLSBhL092bWZQa2cvSW5jbHVkZS9JbmR1 c3RyeVN0YW5kYXJkL1ZpcnRpbzEwLmgKKysrIGIvT3ZtZlBrZy9JbmNsdWRlL0luZHVzdHJ5U3Rh bmRhcmQvVmlydGlvMTAuaApAQCAtMTIsMTYgKzEyLDIxIEBACiANCiAjaW5jbHVkZSA8SW5kdXN0 cnlTdGFuZGFyZC9QY2kyMy5oPg0KICNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1ZpcnRpbzA5 NS5oPg0KIA0KIC8vDQogLy8gU3Vic3lzdGVtIERldmljZSBJRHMgKHRvIGJlKSBpbnRyb2R1Y2Vk IGluIFZpcnRJbyAxLjANCiAvLw0KICNkZWZpbmUgVklSVElPX1NVQlNZU1RFTV9HUFVfREVWSUNF ICAgICAgICAgMTYNCisvLw0KKy8vIFN1YnN5c3RlbSBEZXZpY2UgSURzIGZyb20gdGhlIFZpcnRJ byBzcGVjIGF0IGdpdCBjb21taXQgODdmYTZiNWQ4MTU1Ow0KKy8vIDxodHRwczovL2dpdGh1Yi5j b20vb2FzaXMtdGNzL3ZpcnRpby1zcGVjL3RyZWUvODdmYTZiNWQ4MTU1Pi4NCisvLw0KKyNkZWZp bmUgVklSVElPX1NVQlNZU1RFTV9GSUxFU1lTVEVNICAgICAgICAgMjYNCiANCiAvLw0KIC8vIFN0 cnVjdHVyZXMgZm9yIHBhcnNpbmcgdGhlIFZpcnRJbyAxLjAgc3BlY2lmaWMgUENJIGNhcGFiaWxp dGllcyBmcm9tIHRoZQ0KIC8vIGNvbmZpZyBzcGFjZQ0KIC8vDQogI3ByYWdtYSBwYWNrICgxKQ0K IHR5cGVkZWYgc3RydWN0IHsNCiAgIEVGSV9QQ0lfQ0FQQUJJTElUWV9WRU5ET1JfSERSIFZlbmRv ckhkcjsNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmluZiBi L092bWZQa2cvVmlydGlvRnNEeGUvVmlydGlvRnNEeGUuaW5mCmluZGV4IDY5Y2I0NGJjN2M5Ni4u ZmY5YjFjNjE3OGJjIDEwMDY0NAotLS0gYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhl LmluZgorKysgYi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmluZgpAQCAtNzMsMjAg KzczLDI3IEBAIFtEZWZpbmVzXQogICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgICAg ICAgID0gMS4yOQ0KICAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IFZp cnRpb0ZzRHhlDQogICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gN0JE OURERjctOEI4My00ODhFLUFFQzktMjRDNzg2MTAyODlDDQogICBNT0RVTEVfVFlQRSAgICAgICAg ICAgICAgICAgICAgICAgICAgID0gVUVGSV9EUklWRVINCiAgIEVOVFJZX1BPSU5UICAgICAgICAg ICAgICAgICAgICAgICAgICAgPSBWaXJ0aW9Gc0VudHJ5UG9pbnQNCiANCiBbUGFja2FnZXNdDQog ICBNZGVQa2cvTWRlUGtnLmRlYw0KKyAgT3ZtZlBrZy9Pdm1mUGtnLmRlYw0KIA0KIFtTb3VyY2Vz XQ0KICAgRHJpdmVyQmluZGluZy5jDQorICBTaW1wbGVGc09wZW5Wb2x1bWUuYw0KKyAgVmlydGlv RnNEeGUuaA0KIA0KIFtMaWJyYXJ5Q2xhc3Nlc10NCiAgIEJhc2VMaWINCisgIERlYnVnTGliDQor ICBNZW1vcnlBbGxvY2F0aW9uTGliDQogICBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWINCiAgIFVl ZmlEcml2ZXJFbnRyeVBvaW50DQogDQogW1Byb3RvY29sc10NCiAgIGdFZmlDb21wb25lbnROYW1l MlByb3RvY29sR3VpZCAgICAgICAgIyMgUFJPRFVDRVMNCiAgIGdFZmlEcml2ZXJCaW5kaW5nUHJv dG9jb2xHdWlkICAgICAgICAgIyMgUFJPRFVDRVMNCisgIGdFZmlTaW1wbGVGaWxlU3lzdGVtUHJv dG9jb2xHdWlkICAgICAgIyMgQllfU1RBUlQNCisgIGdWaXJ0aW9EZXZpY2VQcm90b2NvbEd1aWQg ICAgICAgICAgICAgIyMgVE9fU1RBUlQNCmRpZmYgLS1naXQgYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhl L1ZpcnRpb0ZzRHhlLmggYi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmgKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yODdkZWZkMjFmMjMKLS0tIC9kZXYv bnVsbAorKysgYi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1ZpcnRpb0ZzRHhlLmgKQEAgLTAsMCArMSw1 MiBAQAorLyoqIEBmaWxlDQorICBJbnRlcm5hbCBtYWNybyBkZWZpbml0aW9ucywgdHlwZSBkZWZp bml0aW9ucywgYW5kIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBmb3INCisgIHRoZSBWaXJ0aW8gRmls ZXN5c3RlbSBkZXZpY2UgZHJpdmVyLg0KKw0KKyAgQ29weXJpZ2h0IChDKSAyMDIwLCBSZWQgSGF0 LCBJbmMuDQorDQorICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KKyoqLw0KKw0KKyNpZm5kZWYgVklSVElPX0ZTX0RYRV9IXw0KKyNkZWZpbmUgVklSVElPX0ZT X0RYRV9IXw0KKw0KKyNpbmNsdWRlIDxCYXNlLmg+ICAgICAgICAgICAgICAgICAgICAgIC8vIFNJ R05BVFVSRV82NCgpDQorI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4gICAgICAgICAgLy8g Q1IoKQ0KKyNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+IC8vIEVGSV9TSU1Q TEVfRklMRV9TWVNURU1fUFJPVE9DT0wNCisjaW5jbHVkZSA8UHJvdG9jb2wvVmlydGlvRGV2aWNl Lmg+ICAgICAvLyBWSVJUSU9fREVWSUNFX1BST1RPQ09MDQorDQorI2RlZmluZSBWSVJUSU9fRlNf U0lHIFNJR05BVFVSRV82NCAoJ1YnLCAnSScsICdSJywgJ1QnLCAnSScsICdPJywgJ0YnLCAnUycp DQorDQorLy8NCisvLyBNYWluIGNvbnRleHQgc3RydWN0dXJlLCBleHByZXNzaW5nIGFuIEVGSV9T SU1QTEVfRklMRV9TWVNURU1fUFJPVE9DT0wNCisvLyBpbnRlcmZhY2Ugb24gdG9wIG9mIHRoZSBW aXJ0aW8gRmlsZXN5c3RlbSBkZXZpY2UuDQorLy8NCit0eXBlZGVmIHN0cnVjdCB7DQorICAvLw0K KyAgLy8gUGFydHMgb2YgdGhpcyBzdHJ1Y3R1cmUgYXJlIGluaXRpYWxpemVkIC8gdG9ybiBkb3du IGluIHZhcmlvdXMgZnVuY3Rpb25zDQorICAvLyBhdCB2YXJpb3VzIGNhbGwgZGVwdGhzLiBUaGUg dGFibGUgdG8gdGhlIHJpZ2h0IHNob3VsZCBtYWtlIGl0IGVhc2llciB0bw0KKyAgLy8gdHJhY2sg dGhlbS4NCisgIC8vDQorICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkICAg ICAgICAgaW5pdCBmdW5jdGlvbiAgICAgICBpbml0IGRlcHRoDQorICAvLyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0tICAgLS0tLS0tLS0tLS0tLS0tLS0tICAtLS0tLS0t LS0tDQorICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZTsgLy8gRHJp dmVyQmluZGluZ1N0YXJ0ICAwDQorICBWSVJUSU9fREVWSUNFX1BST1RPQ09MICAgICAgICAgICpW aXJ0aW87ICAgLy8gRHJpdmVyQmluZGluZ1N0YXJ0ICAwDQorICBFRklfU0lNUExFX0ZJTEVfU1lT VEVNX1BST1RPQ09MIFNpbXBsZUZzOyAgLy8gRHJpdmVyQmluZGluZ1N0YXJ0ICAwDQorfSBWSVJU SU9fRlM7DQorDQorI2RlZmluZSBWSVJUSU9fRlNfRlJPTV9TSU1QTEVfRlMoU2ltcGxlRnNSZWZl cmVuY2UpIFwNCisgIENSIChTaW1wbGVGc1JlZmVyZW5jZSwgVklSVElPX0ZTLCBTaW1wbGVGcywg VklSVElPX0ZTX1NJRyk7DQorDQorLy8NCisvLyBFRklfU0lNUExFX0ZJTEVfU1lTVEVNX1BST1RP Q09MIG1lbWJlciBmdW5jdGlvbnMgZm9yIHRoZSBWaXJ0aW8gRmlsZXN5c3RlbQ0KKy8vIGRyaXZl ci4NCisvLw0KKw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitWaXJ0aW9Gc09wZW5Wb2x1bWUgKA0K KyAgSU4gIEVGSV9TSU1QTEVfRklMRV9TWVNURU1fUFJPVE9DT0wgKlRoaXMsDQorICBPVVQgRUZJ X0ZJTEVfUFJPVE9DT0wgICAgICAgICAgICAgICAqKlJvb3QNCisgICk7DQorDQorI2VuZGlmIC8v IFZJUlRJT19GU19EWEVfSF8NCmRpZmYgLS1naXQgYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL0RyaXZl ckJpbmRpbmcuYyBiL092bWZQa2cvVmlydGlvRnNEeGUvRHJpdmVyQmluZGluZy5jCmluZGV4IGFj MGE2MzMwZjAxYi4uNjVlNDViNWM0YmY3IDEwMDY0NAotLS0gYS9Pdm1mUGtnL1ZpcnRpb0ZzRHhl L0RyaXZlckJpbmRpbmcuYworKysgYi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL0RyaXZlckJpbmRpbmcu YwpAQCAtMSwyMSArMSwyNSBAQAogLyoqIEBmaWxlDQogICBQcm92aWRlIEVGSV9TSU1QTEVfRklM RV9TWVNURU1fUFJPVE9DT0wgaW5zdGFuY2VzIG9uIHZpcnRpby1mcyBkZXZpY2VzLg0KIA0KICAg Q29weXJpZ2h0IChDKSAyMDIwLCBSZWQgSGF0LCBJbmMuDQogDQogICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KICoqLw0KIA0KKyNpbmNsdWRlIDxJbmR1c3Ry eVN0YW5kYXJkL1ZpcnRpby5oPiAgICAgICAgICAvLyBWSVJUSU9fU1VCU1lTVEVNX0ZJTEVTWVNU RU0NCiAjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+ICAgICAgICAgICAgICAgICAgLy8gQXNj aWlTdHJDbXAoKQ0KKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4gICAg ICAvLyBBbGxvY2F0ZVBvb2woKQ0KICNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNU YWJsZUxpYi5oPiAvLyBnQlMNCiAjaW5jbHVkZSA8UHJvdG9jb2wvQ29tcG9uZW50TmFtZTIuaD4g ICAgICAgICAgLy8gRUZJX0NPTVBPTkVOVF9OQU1FMl9QUk9UT0NPTA0KICNpbmNsdWRlIDxQcm90 b2NvbC9Ecml2ZXJCaW5kaW5nLmg+ICAgICAgICAgICAvLyBFRklfRFJJVkVSX0JJTkRJTkdfUFJP VE9DT0wNCiANCisjaW5jbHVkZSAiVmlydGlvRnNEeGUuaCINCisNCiAvLw0KIC8vIFVFRkkgRHJp dmVyIE1vZGVsIHByb3RvY29sIGluc3RhbmNlcy4NCiAvLw0KIFNUQVRJQyBFRklfRFJJVkVSX0JJ TkRJTkdfUFJPVE9DT0wgIG1Ecml2ZXJCaW5kaW5nOw0KIFNUQVRJQyBFRklfQ09NUE9ORU5UX05B TUUyX1BST1RPQ09MIG1Db21wb25lbnROYW1lMjsNCiANCiAvLw0KIC8vIFVFRkkgRHJpdmVyIE1v ZGVsIHByb3RvY29sIG1lbWJlciBmdW5jdGlvbnMuDQpAQCAtMjMsNDAgKzI3LDEyNCBAQCBTVEFU SUMgRUZJX0NPTVBPTkVOVF9OQU1FMl9QUk9UT0NPTCBtQ29tcG9uZW50TmFtZTI7CiBFRklfU1RB VFVTDQogRUZJQVBJDQogVmlydGlvRnNCaW5kaW5nU3VwcG9ydGVkICgNCiAgIElOIEVGSV9EUklW RVJfQklORElOR19QUk9UT0NPTCAqVGhpcywNCiAgIElOIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgICBDb250cm9sbGVySGFuZGxlLA0KICAgSU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAg ICpSZW1haW5pbmdEZXZpY2VQYXRoIE9QVElPTkFMDQogICApDQogew0KLSAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgU3RhdHVzOw0KKyAgVklSVElP X0RFVklDRV9QUk9UT0NPTCAqVmlydGlvOw0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICBDbG9z ZVN0YXR1czsNCisNCisgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sIChDb250cm9sbGVySGFu ZGxlLCAmZ1ZpcnRpb0RldmljZVByb3RvY29sR3VpZCwNCisgICAgICAgICAgICAgICAgICAoVk9J RCAqKikmVmlydGlvLCBUaGlzLT5Ecml2ZXJCaW5kaW5nSGFuZGxlLA0KKyAgICAgICAgICAgICAg ICAgIENvbnRyb2xsZXJIYW5kbGUsIEVGSV9PUEVOX1BST1RPQ09MX0JZX0RSSVZFUik7DQorICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQorICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQor ICBpZiAoVmlydGlvLT5TdWJTeXN0ZW1EZXZpY2VJZCAhPSBWSVJUSU9fU1VCU1lTVEVNX0ZJTEVT WVNURU0pIHsNCisgICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KKyAgfQ0KKw0KKyAgQ2xv c2VTdGF0dXMgPSBnQlMtPkNsb3NlUHJvdG9jb2wgKENvbnRyb2xsZXJIYW5kbGUsDQorICAgICAg ICAgICAgICAgICAgICAgICAmZ1ZpcnRpb0RldmljZVByb3RvY29sR3VpZCwgVGhpcy0+RHJpdmVy QmluZGluZ0hhbmRsZSwNCisgICAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUp Ow0KKyAgQVNTRVJUX0VGSV9FUlJPUiAoQ2xvc2VTdGF0dXMpOw0KKw0KKyAgcmV0dXJuIFN0YXR1 czsNCiB9DQogDQogRUZJX1NUQVRVUw0KIEVGSUFQSQ0KIFZpcnRpb0ZzQmluZGluZ1N0YXJ0ICgN CiAgIElOIEVGSV9EUklWRVJfQklORElOR19QUk9UT0NPTCAqVGhpcywNCiAgIElOIEVGSV9IQU5E TEUgICAgICAgICAgICAgICAgICBDb250cm9sbGVySGFuZGxlLA0KICAgSU4gRUZJX0RFVklDRV9Q QVRIX1BST1RPQ09MICAgICpSZW1haW5pbmdEZXZpY2VQYXRoIE9QVElPTkFMDQogICApDQogew0K LSAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQorICBWSVJUSU9fRlMgICpWaXJ0aW9GczsNCisg IEVGSV9TVEFUVVMgU3RhdHVzOw0KKyAgRUZJX1NUQVRVUyBDbG9zZVN0YXR1czsNCisNCisgIFZp cnRpb0ZzID0gQWxsb2NhdGVQb29sIChzaXplb2YgKlZpcnRpb0ZzKTsNCisgIGlmIChWaXJ0aW9G cyA9PSBOVUxMKSB7DQorICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCisgIH0NCisg IFZpcnRpb0ZzLT5TaWduYXR1cmUgPSBWSVJUSU9fRlNfU0lHOw0KKw0KKyAgU3RhdHVzID0gZ0JT LT5PcGVuUHJvdG9jb2wgKENvbnRyb2xsZXJIYW5kbGUsICZnVmlydGlvRGV2aWNlUHJvdG9jb2xH dWlkLA0KKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZWaXJ0aW9Gcy0+VmlydGlvLCBUaGlz LT5Ecml2ZXJCaW5kaW5nSGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5k bGUsIEVGSV9PUEVOX1BST1RPQ09MX0JZX0RSSVZFUik7DQorICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQorICAgIGdvdG8gRnJlZVZpcnRpb0ZzOw0KKyAgfQ0KKw0KKyAgVmlydGlvRnMtPlNp bXBsZUZzLlJldmlzaW9uICAgPSBFRklfU0lNUExFX0ZJTEVfU1lTVEVNX1BST1RPQ09MX1JFVklT SU9OOw0KKyAgVmlydGlvRnMtPlNpbXBsZUZzLk9wZW5Wb2x1bWUgPSBWaXJ0aW9Gc09wZW5Wb2x1 bWU7DQorDQorICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoJkNvbnRy b2xsZXJIYW5kbGUsDQorICAgICAgICAgICAgICAgICAgJmdFZmlTaW1wbGVGaWxlU3lzdGVtUHJv dG9jb2xHdWlkLCBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCisgICAgICAgICAgICAgICAgICAmVmly dGlvRnMtPlNpbXBsZUZzKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgZ290 byBDbG9zZVZpcnRpbzsNCisgIH0NCisNCisgIHJldHVybiBFRklfU1VDQ0VTUzsNCisNCitDbG9z ZVZpcnRpbzoNCisgIENsb3NlU3RhdHVzID0gZ0JTLT5DbG9zZVByb3RvY29sIChDb250cm9sbGVy SGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgICAgICAgJmdWaXJ0aW9EZXZpY2VQcm90b2NvbEd1 aWQsIFRoaXMtPkRyaXZlckJpbmRpbmdIYW5kbGUsDQorICAgICAgICAgICAgICAgICAgICAgICBD b250cm9sbGVySGFuZGxlKTsNCisgIEFTU0VSVF9FRklfRVJST1IgKENsb3NlU3RhdHVzKTsNCisN CitGcmVlVmlydGlvRnM6DQorICBGcmVlUG9vbCAoVmlydGlvRnMpOw0KKw0KKyAgcmV0dXJuIFN0 YXR1czsNCiB9DQogDQogRUZJX1NUQVRVUw0KIEVGSUFQSQ0KIFZpcnRpb0ZzQmluZGluZ1N0b3Ag KA0KICAgSU4gRUZJX0RSSVZFUl9CSU5ESU5HX1BST1RPQ09MICpUaGlzLA0KICAgSU4gRUZJX0hB TkRMRSAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXJIYW5kbGUsDQogICBJTiBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZDaGlsZHJlbiwNCiAgIElOIEVGSV9IQU5ETEUgICAg ICAgICAgICAgICAgICAqQ2hpbGRIYW5kbGVCdWZmZXIgT1BUSU9OQUwNCiAgICkNCiB7DQotICBy ZXR1cm4gRUZJX0RFVklDRV9FUlJPUjsNCisgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KKyAgRUZJX1NJTVBMRV9GSUxFX1NZU1RFTV9QUk9UT0NPTCAqU2ltcGxlRnM7 DQorICBWSVJUSU9fRlMgICAgICAgICAgICAgICAgICAgICAgICpWaXJ0aW9GczsNCisNCisgIFN0 YXR1cyA9IGdCUy0+T3BlblByb3RvY29sIChDb250cm9sbGVySGFuZGxlLA0KKyAgICAgICAgICAg ICAgICAgICZnRWZpU2ltcGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCwgKFZPSUQgKiopJlNpbXBs ZUZzLA0KKyAgICAgICAgICAgICAgICAgIFRoaXMtPkRyaXZlckJpbmRpbmdIYW5kbGUsIENvbnRy b2xsZXJIYW5kbGUsDQorICAgICAgICAgICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfR0VUX1BS T1RPQ09MKTsNCisgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCisgICAgcmV0dXJuIFN0YXR1 czsNCisgIH0NCisNCisgIFZpcnRpb0ZzID0gVklSVElPX0ZTX0ZST01fU0lNUExFX0ZTIChTaW1w bGVGcyk7DQorDQorICBTdGF0dXMgPSBnQlMtPlVuaW5zdGFsbFByb3RvY29sSW50ZXJmYWNlIChD b250cm9sbGVySGFuZGxlLA0KKyAgICAgICAgICAgICAgICAgICZnRWZpU2ltcGxlRmlsZVN5c3Rl bVByb3RvY29sR3VpZCwgU2ltcGxlRnMpOw0KKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K KyAgICByZXR1cm4gU3RhdHVzOw0KKyAgfQ0KKw0KKyAgU3RhdHVzID0gZ0JTLT5DbG9zZVByb3Rv Y29sIChDb250cm9sbGVySGFuZGxlLCAmZ1ZpcnRpb0RldmljZVByb3RvY29sR3VpZCwNCisgICAg ICAgICAgICAgICAgICBUaGlzLT5Ecml2ZXJCaW5kaW5nSGFuZGxlLCBDb250cm9sbGVySGFuZGxl KTsNCisgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQorDQorICBGcmVlUG9vbCAoVmlydGlv RnMpOw0KKw0KKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KIH0NCiANCiBFRklfU1RBVFVTDQogRUZJ QVBJDQogVmlydGlvRnNHZXREcml2ZXJOYW1lICgNCiAgIElOICBFRklfQ09NUE9ORU5UX05BTUUy X1BST1RPQ09MICpUaGlzLA0KICAgSU4gIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgKkxh bmd1YWdlLA0KICAgT1VUIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgKipEcml2ZXJOYW1l DQpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9WaXJ0aW9Gc0R4ZS9TaW1wbGVGc09wZW5Wb2x1bWUuYyBi L092bWZQa2cvVmlydGlvRnNEeGUvU2ltcGxlRnNPcGVuVm9sdW1lLmMKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5hNWE2NmEyN2Q4NGMKLS0tIC9kZXYvbnVsbAorKysg Yi9Pdm1mUGtnL1ZpcnRpb0ZzRHhlL1NpbXBsZUZzT3BlblZvbHVtZS5jCkBAIC0wLDAgKzEsMjYg QEAKKy8qKiBAZmlsZQ0KKyAgRUZJX1NJTVBMRV9GSUxFX1NZU1RFTV9QUk9UT0NPTC5PcGVuVm9s dW1lKCkgbWVtYmVyIGZ1bmN0aW9uIGZvciB0aGUgVmlydGlvDQorICBGaWxlc3lzdGVtIGRyaXZl ci4NCisNCisgIENvcHlyaWdodCAoQykgMjAyMCwgUmVkIEhhdCwgSW5jLg0KKw0KKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCisqKi8NCisNCisjaW5jbHVk ZSAiVmlydGlvRnNEeGUuaCINCisNCisvKioNCisgIE9wZW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9u IHRoZSBWaXJ0aW8gRmlsZXN5c3RlbS4NCisNCisgIFJlZmVyIHRvIEVGSV9TSU1QTEVfRklMRV9T WVNURU1fUFJPVE9DT0xfT1BFTl9WT0xVTUUgZm9yIHRoZSBpbnRlcmZhY2UNCisgIGNvbnRyYWN0 Lg0KKyoqLw0KK0VGSV9TVEFUVVMNCitFRklBUEkNCitWaXJ0aW9Gc09wZW5Wb2x1bWUgKA0KKyAg SU4gIEVGSV9TSU1QTEVfRklMRV9TWVNURU1fUFJPVE9DT0wgKlRoaXMsDQorICBPVVQgRUZJX0ZJ TEVfUFJPVE9DT0wgICAgICAgICAgICAgICAqKlJvb3QNCisgICkNCit7DQorICByZXR1cm4gRUZJ X05PX01FRElBOw0KK30NCi0tIAoyLjE5LjEuMy5nMzAyNDdhYTVkMjAxCgoK