From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.groups.io with SMTP id smtpd.web12.3368.1622062764302370797 for ; Wed, 26 May 2021 13:59:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=ZFZyLJMp; spf=pass (domain: redhat.com, ip: 216.205.24.124, mailfrom: lersek@redhat.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1622062763; 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=+pppaxTjM55A93zzjg09GWsYDJDYikB0hKvWDeNNxnU=; b=ZFZyLJMpwdXWILxPFStjjGK96Je9wxPjiff4CZ+wj755ah83YQ24HBDG5C0t3s/wgW4kFl d2I/LREWkZBXL9juYtD0VevANmzIgKHfZI5CuAxkvsLFBsq0Vp39zvVHovIBUUoAK/QFlv JFckHw46i9v2jipT26vKpXjemQC4ZNc= 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-209-GLB6MP8UM_uF1VdJeydEww-1; Wed, 26 May 2021 16:59:19 -0400 X-MC-Unique: GLB6MP8UM_uF1VdJeydEww-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 88D7D10082E1; Wed, 26 May 2021 20:59:18 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-114-61.ams2.redhat.com [10.36.114.61]) by smtp.corp.redhat.com (Postfix) with ESMTP id DF23F5D9CC; Wed, 26 May 2021 20:59:16 +0000 (UTC) From: "Laszlo Ersek" To: devel@edk2.groups.io Cc: Anthony Perard , Ard Biesheuvel , Jordan Justen , Julien Grall , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 42/43] OvmfPkg/SmbiosPlatformDxe: split Xen entry point from QEMU entry point Date: Wed, 26 May 2021 22:14:45 +0200 Message-Id: <20210526201446.12554-43-lersek@redhat.com> In-Reply-To: <20210526201446.12554-1-lersek@redhat.com> References: <20210526201446.12554-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 UmVtb3ZlIHRoZSBTbWJpb3NUYWJsZVB1Ymxpc2hFbnRyeSgpIGZ1bmN0aW9uIGZyb20gIlNtYmlv c1BsYXRmb3JtRHhlLmMiLgoiU21iaW9zUGxhdGZvcm1EeGUuYyIgYmVjb21lcyBoeXBlcnZpc29y LWFnbm9zdGljLgoKQWRkIFNtYmlvc1RhYmxlUHVibGlzaEVudHJ5KCkgYmFjaywgc2ltcGxpZmll ZCBmb3IgUUVNVSwgdG8gdGhlIGV4aXN0ZW50CmZpbGUgIlFlbXUuYyIuIFRoZSBHZXRRZW11U21i aW9zVGFibGVzKCkgZnVuY3Rpb24gbm8gbG9uZ2VyIG5lZWRzIHRvIGJlCmRlY2xhcmVkIGluICJT bWJpb3NQbGF0Zm9ybUR4ZS5oIjsgIlNtYmlvc1BsYXRmb3JtRHhlLmgiIGJlY29tZXMKaHlwZXJ2 aXNvci1hZ25vc3RpYy4KCkFkZCBTbWJpb3NUYWJsZVB1Ymxpc2hFbnRyeSgpIGJhY2ssIHJlbmFt ZWQgYW5kIHNpbXBsaWZpZWQgZm9yIFhlbiwgdG8gdGhlCm5ldywgYXJjaC1pbmRlcGVuZGVudCBm aWxlICJYZW4uYyIuIChUaGUgZXhpc3RlbnQgWGVuLXNwZWNpZmljIEMgZmlsZXMgYXJlCmFyY2gt ZGVwZW5kZW50LikKClVwZGF0ZSBib3RoIElORiBmaWxlczsgcmVtb3ZlIHRoZSBkZXBlbmRlbmNp ZXMgdGhhdCBhcmUgbm93IHN1cGVyZmx1b3VzIGluCmVhY2guCgpDYzogQW50aG9ueSBQZXJhcmQg PGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+CkNjOiBBcmQgQmllc2hldXZlbCA8YXJkYit0aWFu b2NvcmVAa2VybmVsLm9yZz4KQ2M6IEpvcmRhbiBKdXN0ZW4gPGpvcmRhbi5sLmp1c3RlbkBpbnRl bC5jb20+CkNjOiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPgpDYzogUGhpbGlwcGUgTWF0 aGlldS1EYXVkw6kgPHBoaWxtZEByZWRoYXQuY29tPgpSZWY6IGh0dHBzOi8vYnVnemlsbGEudGlh bm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjEyMgpTaWduZWQtb2ZmLWJ5OiBMYXN6bG8gRXJz ZWsgPGxlcnNla0ByZWRoYXQuY29tPgotLS0KIE92bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvU21i aW9zUGxhdGZvcm1EeGUuaW5mICAgIHwgMTQgLS0tLS0tCiBPdm1mUGtnL1NtYmlvc1BsYXRmb3Jt RHhlL1hlblNtYmlvc1BsYXRmb3JtRHhlLmluZiB8IDEyICsrLS0tCiBPdm1mUGtnL1NtYmlvc1Bs YXRmb3JtRHhlL1NtYmlvc1BsYXRmb3JtRHhlLmggICAgICB8IDExIC0tLS0tCiBPdm1mUGtnL1Nt Ymlvc1BsYXRmb3JtRHhlL1FlbXUuYyAgICAgICAgICAgICAgICAgICB8IDMzICsrKysrKysrKysr KysKIE92bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvU21iaW9zUGxhdGZvcm1EeGUuYyAgICAgIHwg NDkgLS0tLS0tLS0tLS0tLS0tLS0tLS0KIE92bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvWGVuLmMg ICAgICAgICAgICAgICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysKIDYgZmlsZXMgY2hh bmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgODIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9TbWJpb3NQbGF0Zm9ybUR4ZS5pbmYgYi9Pdm1mUGtnL1Nt Ymlvc1BsYXRmb3JtRHhlL1NtYmlvc1BsYXRmb3JtRHhlLmluZgppbmRleCAxNDBmYTE2YWMxMzUu LmVhZWU3MzExMGQyNyAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9TbWJp b3NQbGF0Zm9ybUR4ZS5pbmYKKysrIGIvT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9TbWJpb3NQ bGF0Zm9ybUR4ZS5pbmYKQEAgLTI0LDE5ICsyNCwxMiBAQCBbRGVmaW5lc10KICMNCiANCiBbU291 cmNlc10NCiAgIFFlbXUuYw0KICAgU21iaW9zUGxhdGZvcm1EeGUuYw0KICAgU21iaW9zUGxhdGZv cm1EeGUuaA0KLSAgWGVuU21iaW9zUGxhdGZvcm1EeGUuaA0KLQ0KLVtTb3VyY2VzLklBMzIsIFNv dXJjZXMuWDY0XQ0KLSAgWDg2WGVuLmMNCi0NCi1bU291cmNlcy5BUk0sIFNvdXJjZXMuQUFSQ0g2 NF0NCi0gIEFybVhlbi5jDQogDQogW1BhY2thZ2VzXQ0KICAgTWRlUGtnL01kZVBrZy5kZWMNCiAg IE92bWZQa2cvT3ZtZlBrZy5kZWMNCiANCiBbTGlicmFyeUNsYXNzZXNdDQpAQCAtNDQsMjIgKzM3 LDE1IEBAIFtMaWJyYXJ5Q2xhc3Nlc10KICAgTWVtb3J5QWxsb2NhdGlvbkxpYg0KICAgUGNkTGli DQogICBRZW11RndDZmdMaWINCiAgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KICAgVWVmaURy aXZlckVudHJ5UG9pbnQNCiANCi1bTGlicmFyeUNsYXNzZXMuSUEzMiwgTGlicmFyeUNsYXNzZXMu WDY0XQ0KLSAgQmFzZUxpYg0KLSAgSG9iTGliDQotDQogW1BjZF0NCiAgIGdVZWZpT3ZtZlBrZ1Rv a2VuU3BhY2VHdWlkLlBjZFFlbXVTbWJpb3NWYWxpZGF0ZWQNCiANCiBbUHJvdG9jb2xzXQ0KICAg Z0VmaVNtYmlvc1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAjIFBST1RPQ09MIEFM V0FZU19DT05TVU1FRA0KIA0KLVtHdWlkcy5JQTMyLCBHdWlkcy5YNjRdDQotICBnRWZpWGVuSW5m b0d1aWQNCi0NCiBbRGVwZXhdDQogICBnRWZpU21iaW9zUHJvdG9jb2xHdWlkDQogDQpkaWZmIC0t Z2l0IGEvT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9YZW5TbWJpb3NQbGF0Zm9ybUR4ZS5pbmYg Yi9Pdm1mUGtnL1NtYmlvc1BsYXRmb3JtRHhlL1hlblNtYmlvc1BsYXRmb3JtRHhlLmluZgppbmRl eCA1YTA5M2M2OWFmZDkuLjdmNDU4OGUzM2QxZSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9TbWJpb3NQ bGF0Zm9ybUR4ZS9YZW5TbWJpb3NQbGF0Zm9ybUR4ZS5pbmYKKysrIGIvT3ZtZlBrZy9TbWJpb3NQ bGF0Zm9ybUR4ZS9YZW5TbWJpb3NQbGF0Zm9ybUR4ZS5pbmYKQEAgLTEzLDUxICsxMyw0NyBAQCBb RGVmaW5lc10KICAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0K ICAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gWGVuU21iaW9zUGxhdGZvcm1EeGUN CiAgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IGM0MWYwNTc5LTU1OTgtNDBmMS05 NWRiLTM5ODNjOGViYmUyYQ0KICAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhF X0RSSVZFUg0KICAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQogDQotICBF TlRSWV9QT0lOVCAgICAgICAgICAgICAgICAgICAgPSBTbWJpb3NUYWJsZVB1Ymxpc2hFbnRyeQ0K KyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAgID0gWGVuU21iaW9zVGFibGVQdWJsaXNo RW50cnkNCiANCiAjDQogIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVu Y2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZSBidWlsZCB0b29scy4NCiAjDQogIyAgVkFM SURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NCBFQkMgQVJNIEFBUkNINjQNCiAj DQogDQogW1NvdXJjZXNdDQotICBRZW11LmMNCiAgIFNtYmlvc1BsYXRmb3JtRHhlLmMNCiAgIFNt Ymlvc1BsYXRmb3JtRHhlLmgNCisgIFhlbi5jDQogICBYZW5TbWJpb3NQbGF0Zm9ybUR4ZS5oDQog DQogW1NvdXJjZXMuSUEzMiwgU291cmNlcy5YNjRdDQogICBYODZYZW4uYw0KIA0KIFtTb3VyY2Vz LkFSTSwgU291cmNlcy5BQVJDSDY0XQ0KICAgQXJtWGVuLmMNCiANCiBbUGFja2FnZXNdDQogICBN ZGVQa2cvTWRlUGtnLmRlYw0KKw0KK1tQYWNrYWdlcy5JQTMyLCBQYWNrYWdlcy5YNjRdDQogICBP dm1mUGtnL092bWZQa2cuZGVjDQogDQogW0xpYnJhcnlDbGFzc2VzXQ0KICAgRGVidWdMaWINCi0g IE1lbW9yeUFsbG9jYXRpb25MaWINCi0gIFBjZExpYg0KLSAgUWVtdUZ3Q2ZnTGliDQogICBVZWZp Qm9vdFNlcnZpY2VzVGFibGVMaWINCiAgIFVlZmlEcml2ZXJFbnRyeVBvaW50DQogDQogW0xpYnJh cnlDbGFzc2VzLklBMzIsIExpYnJhcnlDbGFzc2VzLlg2NF0NCiAgIEJhc2VMaWINCiAgIEhvYkxp Yg0KIA0KLVtQY2RdDQotICBnVWVmaU92bWZQa2dUb2tlblNwYWNlR3VpZC5QY2RRZW11U21iaW9z VmFsaWRhdGVkDQotDQogW1Byb3RvY29sc10NCiAgIGdFZmlTbWJpb3NQcm90b2NvbEd1aWQgICAg ICAgICAgICAgICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNfQ09OU1VNRUQNCiANCiBbR3VpZHMu SUEzMiwgR3VpZHMuWDY0XQ0KICAgZ0VmaVhlbkluZm9HdWlkDQogDQpkaWZmIC0tZ2l0IGEvT3Zt ZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9TbWJpb3NQbGF0Zm9ybUR4ZS5oIGIvT3ZtZlBrZy9TbWJp b3NQbGF0Zm9ybUR4ZS9TbWJpb3NQbGF0Zm9ybUR4ZS5oCmluZGV4IDBhZTI1NTZmZTgwMC4uMjEz YTdmMzllOTFkIDEwMDY0NAotLS0gYS9Pdm1mUGtnL1NtYmlvc1BsYXRmb3JtRHhlL1NtYmlvc1Bs YXRmb3JtRHhlLmgKKysrIGIvT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9TbWJpb3NQbGF0Zm9y bUR4ZS5oCkBAIC0xOSwxOCArMTksNyBAQAogKiovDQogRUZJX1NUQVRVUw0KIEluc3RhbGxBbGxT dHJ1Y3R1cmVzICgNCiAgIElOIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKlRhYmxlQWRkcmVz cw0KICAgKTsNCiANCi0vKioNCi0gIExvY2F0ZXMgYW5kIGV4dHJhY3RzIHRoZSBRRU1VIFNNQklP UyB0YWJsZSBkYXRhIGlmIHByZXNlbnQgaW4gZndfY2ZnDQotDQotICBAcmV0dXJuICAgICAgICAg ICAgIEFkZHJlc3Mgb2YgZXh0cmFjdGVkIFFFTVUgU01CSU9TIGRhdGENCi0NCi0qKi8NCi1VSU5U OCAqDQotR2V0UWVtdVNtYmlvc1RhYmxlcyAoDQotICBWT0lEDQotICApOw0KLQ0KICNlbmRpZg0K ZGlmZiAtLWdpdCBhL092bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvUWVtdS5jIGIvT3ZtZlBrZy9T bWJpb3NQbGF0Zm9ybUR4ZS9RZW11LmMKaW5kZXggZmNmYzNlMzNjMjhjLi5hNjY4YzZhYzIxMjMg MTAwNjQ0Ci0tLSBhL092bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvUWVtdS5jCisrKyBiL092bWZQ a2cvU21iaW9zUGxhdGZvcm1EeGUvUWVtdS5jCkBAIC00NSw2ICs0NSwzOSBAQCBHZXRRZW11U21i aW9zVGFibGVzICgKIA0KICAgUWVtdUZ3Q2ZnU2VsZWN0SXRlbSAoVGFibGVzKTsNCiAgIFFlbXVG d0NmZ1JlYWRCeXRlcyAoVGFibGVzU2l6ZSwgUWVtdVRhYmxlcyk7DQogDQogICByZXR1cm4gUWVt dVRhYmxlczsNCiB9DQorDQorLyoqDQorICBJbnN0YWxscyBTTUJJT1MgaW5mb3JtYXRpb24gZm9y IE9WTUYNCisNCisgIEBwYXJhbSBJbWFnZUhhbmRsZSAgICAgTW9kdWxlJ3MgaW1hZ2UgaGFuZGxl DQorICBAcGFyYW0gU3lzdGVtVGFibGUgICAgIFBvaW50ZXIgb2YgRUZJX1NZU1RFTV9UQUJMRQ0K Kw0KKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICBTbWJpb3MgZGF0YSBzdWNjZXNzZnVsbHkgaW5z dGFsbGVkDQorICBAcmV0dmFsIE90aGVyICAgICAgICAgIFNtYmlvcyBkYXRhIHdhcyBub3QgaW5z dGFsbGVkDQorDQorKiovDQorRUZJX1NUQVRVUw0KK0VGSUFQSQ0KK1NtYmlvc1RhYmxlUHVibGlz aEVudHJ5ICgNCisgIElOIEVGSV9IQU5ETEUgICAgICAgICAgIEltYWdlSGFuZGxlLA0KKyAgSU4g RUZJX1NZU1RFTV9UQUJMRSAgICAgKlN5c3RlbVRhYmxlDQorICApDQorew0KKyAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICBTdGF0dXM7DQorICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICpT bWJpb3NUYWJsZXM7DQorDQorICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KKyAgLy8NCisgIC8v IEFkZCBRRU1VIFNNQklPUyBkYXRhIGlmIGZvdW5kDQorICAvLw0KKyAgU21iaW9zVGFibGVzID0g R2V0UWVtdVNtYmlvc1RhYmxlcyAoKTsNCisgIGlmIChTbWJpb3NUYWJsZXMgIT0gTlVMTCkgew0K KyAgICBTdGF0dXMgPSBJbnN0YWxsQWxsU3RydWN0dXJlcyAoU21iaW9zVGFibGVzKTsNCisgICAg RnJlZVBvb2wgKFNtYmlvc1RhYmxlcyk7DQorICB9DQorDQorICByZXR1cm4gU3RhdHVzOw0KK30N CmRpZmYgLS1naXQgYS9Pdm1mUGtnL1NtYmlvc1BsYXRmb3JtRHhlL1NtYmlvc1BsYXRmb3JtRHhl LmMgYi9Pdm1mUGtnL1NtYmlvc1BsYXRmb3JtRHhlL1NtYmlvc1BsYXRmb3JtRHhlLmMKaW5kZXgg ZjI4MGExODUyZGRkLi43YmNmODM3NjJlOWIgMTAwNjQ0Ci0tLSBhL092bWZQa2cvU21iaW9zUGxh dGZvcm1EeGUvU21iaW9zUGxhdGZvcm1EeGUuYworKysgYi9Pdm1mUGtnL1NtYmlvc1BsYXRmb3Jt RHhlL1NtYmlvc1BsYXRmb3JtRHhlLmMKQEAgLTcsMTggKzcsMTYgQEAKICAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCiANCiAqKi8NCiANCiAjaW5jbHVkZSA8 SW5kdXN0cnlTdGFuZGFyZC9TbUJpb3MuaD4gICAgICAgICAgLy8gU01CSU9TX1RBQkxFX1RZUEUw DQogI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4gICAgICAgICAgICAgICAgIC8vIEFTU0VS VF9FRklfRVJST1IoKQ0KLSNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4g ICAgICAvLyBGcmVlUG9vbCgpDQogI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1Rh YmxlTGliLmg+IC8vIGdCUw0KICNpbmNsdWRlIDxQcm90b2NvbC9TbWJpb3MuaD4gICAgICAgICAg ICAgICAgICAvLyBFRklfU01CSU9TX1BST1RPQ09MDQogDQogI2luY2x1ZGUgIlNtYmlvc1BsYXRm b3JtRHhlLmgiDQotI2luY2x1ZGUgIlhlblNtYmlvc1BsYXRmb3JtRHhlLmgiDQogDQogI2RlZmlu ZSBUWVBFMF9TVFJJTkdTIFwNCiAgICJFRkkgRGV2ZWxvcG1lbnQgS2l0IElJIC8gT1ZNRlwwIiAg ICAgLyogVmVuZG9yICovIFwNCiAgICIwLjAuMFwwIiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLyogQmlvc1ZlcnNpb24gKi8gXA0KICAgIjAyLzA2LzIwMTVcMCIgICAgICAgICAgICAgICAg ICAgICAgICAvKiBCaW9zUmVsZWFzZURhdGUgKi8NCiAvLw0KQEAgLTE2NSw1MyArMTYzLDYgQEAg SW5zdGFsbEFsbFN0cnVjdHVyZXMgKAogICAgICAgICAgICAgICAgICAgICAgICApOw0KICAgICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KICAgfQ0KIA0KICAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KIH0NCi0NCi0NCi0vKioNCi0gIEluc3RhbGxzIFNNQklPUyBpbmZvcm1hdGlvbiBmb3IgT1ZN Rg0KLQ0KLSAgQHBhcmFtIEltYWdlSGFuZGxlICAgICBNb2R1bGUncyBpbWFnZSBoYW5kbGUNCi0g IEBwYXJhbSBTeXN0ZW1UYWJsZSAgICAgUG9pbnRlciBvZiBFRklfU1lTVEVNX1RBQkxFDQotDQot ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgIFNtYmlvcyBkYXRhIHN1Y2Nlc3NmdWxseSBpbnN0YWxs ZWQNCi0gIEByZXR2YWwgT3RoZXIgICAgICAgICAgU21iaW9zIGRhdGEgd2FzIG5vdCBpbnN0YWxs ZWQNCi0NCi0qKi8NCi1FRklfU1RBVFVTDQotRUZJQVBJDQotU21iaW9zVGFibGVQdWJsaXNoRW50 cnkgKA0KLSAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgSW1hZ2VIYW5kbGUsDQotICBJTiBFRklf U1lTVEVNX1RBQkxFICAgICAqU3lzdGVtVGFibGUNCi0gICkNCi17DQotICBFRklfU1RBVFVTICAg ICAgICAgICAgICAgIFN0YXR1czsNCi0gIFNNQklPU19UQUJMRV9FTlRSWV9QT0lOVCAgKkVudHJ5 UG9pbnRTdHJ1Y3R1cmU7DQotICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICpTbWJpb3NUYWJs ZXM7DQotDQotICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KLSAgLy8NCi0gIC8vIEFkZCBYZW4g b3IgUUVNVSBTTUJJT1MgZGF0YSBpZiBmb3VuZA0KLSAgLy8NCi0gIEVudHJ5UG9pbnRTdHJ1Y3R1 cmUgPSBHZXRYZW5TbWJpb3NUYWJsZXMgKCk7DQotICBpZiAoRW50cnlQb2ludFN0cnVjdHVyZSAh PSBOVUxMKSB7DQotICAgIFNtYmlvc1RhYmxlcyA9IChVSU5UOCopKFVJTlROKUVudHJ5UG9pbnRT dHJ1Y3R1cmUtPlRhYmxlQWRkcmVzczsNCi0gIH0gZWxzZSB7DQotICAgIFNtYmlvc1RhYmxlcyA9 IEdldFFlbXVTbWJpb3NUYWJsZXMgKCk7DQotICB9DQotDQotICBpZiAoU21iaW9zVGFibGVzICE9 IE5VTEwpIHsNCi0gICAgU3RhdHVzID0gSW5zdGFsbEFsbFN0cnVjdHVyZXMgKFNtYmlvc1RhYmxl cyk7DQotDQotICAgIC8vDQotICAgIC8vIEZyZWUgU21iaW9zVGFibGVzIGlmIGFsbG9jYXRlZCBi eSBRZW11IChpLmUuLCBOT1QgYnkgWGVuKToNCi0gICAgLy8NCi0gICAgaWYgKEVudHJ5UG9pbnRT dHJ1Y3R1cmUgPT0gTlVMTCkgew0KLSAgICAgIEZyZWVQb29sIChTbWJpb3NUYWJsZXMpOw0KLSAg ICB9DQotICB9DQotDQotICByZXR1cm4gU3RhdHVzOw0KLX0NCmRpZmYgLS1naXQgYS9Pdm1mUGtn L1NtYmlvc1BsYXRmb3JtRHhlL1hlbi5jIGIvT3ZtZlBrZy9TbWJpb3NQbGF0Zm9ybUR4ZS9YZW4u YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjc1ZDk1NTA5MTNkMQot LS0gL2Rldi9udWxsCisrKyBiL092bWZQa2cvU21iaW9zUGxhdGZvcm1EeGUvWGVuLmMKQEAgLTAs MCArMSw0OSBAQAorLyoqIEBmaWxlDQorICBUaGlzIGRyaXZlciBpbnN0YWxscyBTTUJJT1MgaW5m b3JtYXRpb24gZm9yIE9WTUYgb24gWGVuDQorDQorICBDb3B5cmlnaHQgKEMpIDIwMjEsIFJlZCBI YXQsIEluYy4NCisgIENvcHlyaWdodCAoYykgMjAxMSwgQmVpIEd1YW4gPGdidGp1ODVAZ21haWwu Y29tPg0KKyAgQ29weXJpZ2h0IChjKSAyMDExIC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KKw0KKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCisNCisqKi8NCisNCisjaW5jbHVkZSAiU21iaW9zUGxhdGZvcm1E eGUuaCINCisjaW5jbHVkZSAiWGVuU21iaW9zUGxhdGZvcm1EeGUuaCINCisNCisvKioNCisgIElu c3RhbGxzIFNNQklPUyBpbmZvcm1hdGlvbiBmb3IgT1ZNRiBvbiBYZW4NCisNCisgIEBwYXJhbSBJ bWFnZUhhbmRsZSAgICAgTW9kdWxlJ3MgaW1hZ2UgaGFuZGxlDQorICBAcGFyYW0gU3lzdGVtVGFi bGUgICAgIFBvaW50ZXIgb2YgRUZJX1NZU1RFTV9UQUJMRQ0KKw0KKyAgQHJldHZhbCBFRklfU1VD Q0VTUyAgICBTbWJpb3MgZGF0YSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkDQorICBAcmV0dmFsIE90 aGVyICAgICAgICAgIFNtYmlvcyBkYXRhIHdhcyBub3QgaW5zdGFsbGVkDQorDQorKiovDQorRUZJ X1NUQVRVUw0KK0VGSUFQSQ0KK1hlblNtYmlvc1RhYmxlUHVibGlzaEVudHJ5ICgNCisgIElOIEVG SV9IQU5ETEUgICAgICAgICAgIEltYWdlSGFuZGxlLA0KKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAg ICAgKlN5c3RlbVRhYmxlDQorICApDQorew0KKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBT dGF0dXM7DQorICBTTUJJT1NfVEFCTEVfRU5UUllfUE9JTlQgICpFbnRyeVBvaW50U3RydWN0dXJl Ow0KKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAqU21iaW9zVGFibGVzOw0KKw0KKyAgU3Rh dHVzID0gRUZJX05PVF9GT1VORDsNCisgIC8vDQorICAvLyBBZGQgWGVuIFNNQklPUyBkYXRhIGlm IGZvdW5kDQorICAvLw0KKyAgRW50cnlQb2ludFN0cnVjdHVyZSA9IEdldFhlblNtYmlvc1RhYmxl cyAoKTsNCisgIGlmIChFbnRyeVBvaW50U3RydWN0dXJlICE9IE5VTEwpIHsNCisgICAgU21iaW9z VGFibGVzID0gKFVJTlQ4KikoVUlOVE4pRW50cnlQb2ludFN0cnVjdHVyZS0+VGFibGVBZGRyZXNz Ow0KKyAgICBpZiAoU21iaW9zVGFibGVzICE9IE5VTEwpIHsNCisgICAgICBTdGF0dXMgPSBJbnN0 YWxsQWxsU3RydWN0dXJlcyAoU21iaW9zVGFibGVzKTsNCisgICAgfQ0KKyAgfQ0KKw0KKyAgcmV0 dXJuIFN0YXR1czsNCit9DQotLSAKMi4xOS4xLjMuZzMwMjQ3YWE1ZDIwMQoKCg==