From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony PERARD Subject: [PATCH v2 28/31] OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn Date: Mon, 8 Apr 2019 15:24:05 +0100 Message-ID: <20190408142408.30419-29-anthony.perard@citrix.com> References: <20190408142408.30419-1-anthony.perard@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDVFQ-000213-2j for xen-devel@lists.xenproject.org; Mon, 08 Apr 2019 14:27:44 +0000 In-Reply-To: <20190408142408.30419-1-anthony.perard@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: edk2-devel@lists.01.org Cc: Ard Biesheuvel , Jordan Justen , Julien Grall , Anthony PERARD , xen-devel@lists.xenproject.org, Laszlo Ersek List-Id: xen-devel@lists.xenproject.org T24gYSBYZW4gUFZIIGd1ZXN0LCBub25lIG9mIHRoZSBleGlzdGluZyBzZXJpYWwgb3IgY29uc29s ZSBpbnRlcmZhY2UKd29ya3MsIHNvIHdlIGFkZCBhIG5ldyBvbmUsIGJhc2VkIG9uIFhlbkNvbnNv bGVTZXJpYWxQb3J0TGliLCBhbmQKaW1wbGVtZXRlZCB2aWEgU2VyaWFsRHhlLgoKVGhhdCBhIHNp bXBsZSBjb25zb2xlIGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIHdvcmtzIG9uIGJvdGggUFZIIGd1 ZXN0CmFuZCBIVk0gZ3Vlc3RzLCBldmVuIGlmIGl0IHJhcmVseSBnb2luZyB0byBiZSB1c2Ugb24g SFZNLgoKSGF2ZSBQbGF0Zm9ybUJvb3RNYW5hZ2VyTGliIGxvb2sgZm9yIHRoZSBuZXcgY29uc29s ZSwgd2hlbiBydW5uaW5nIGFzIGEKWGVuIGd1ZXN0LgoKQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5v Q29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMQpTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBF UkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHYyOgogICAg LSBVc2UgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9TZXJpYWxEeGUgaW5zdGVhZCBvZiBzb21ldGhp bmcgbmV3LgogICAgLSBIYXZlIFBsYXRmb3JtSW5pdGlhbGl6ZUNvbnNvbGUoKSBsb29rIGZvciBp dCBieSB1c2luZyB0aGUKICAgICAga25vd24taW4tYWR2YW5jZSBkZXZpY2UgcGF0aCBmb3IgdGhl IHhlbiBjb25zb2xlIGluIHRoZQogICAgICBQTEFURk9STV9DT05TT0xFX0NPTk5FQ1RfRU5UUlku CgogT3ZtZlBrZy9YZW5Pdm1mLmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNCArKwogT3ZtZlBrZy9YZW5Pdm1mLmZkZiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBPdm1mUGtnL0xpYnJhcnkvUGxh dGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLmluZiB8ICA0ICsrCiBP dm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5oICAgICAg ICAgICAgICB8ICAxICsKIE92bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jk c1BsYXRmb3JtLmMgICAgICAgICAgICAgIHwgMTAgKysrLQogT3ZtZlBrZy9MaWJyYXJ5L1BsYXRm b3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1EYXRhLmMgICAgICAgICAgICAgfCA1OSArKysrKysr KysrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9YZW5Pdm1mLmRzYyBiL092bWZQa2cvWGVuT3Zt Zi5kc2MKaW5kZXggMzVhZjA1NzE1Yi4uYTI2ZjYxMTA1OCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Y ZW5Pdm1mLmRzYworKysgYi9Pdm1mUGtnL1hlbk92bWYuZHNjCkBAIC01OTksNiArNTk5LDEwIEBA IFtDb21wb25lbnRzXQogICBPdm1mUGtnL1hlbklvUGNpRHhlL1hlbklvUGNpRHhlLmluZgogICBP dm1mUGtnL1hlbkJ1c0R4ZS9YZW5CdXNEeGUuaW5mCiAgIE92bWZQa2cvWGVuUHZCbGtEeGUvWGVu UHZCbGtEeGUuaW5mCisgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4 ZS5pbmYgeworICAgIDxMaWJyYXJ5Q2xhc3Nlcz4KKyAgICAgIFNlcmlhbFBvcnRMaWJ8T3ZtZlBr Zy9MaWJyYXJ5L1hlbkNvbnNvbGVTZXJpYWxQb3J0TGliL1hlbkNvbnNvbGVTZXJpYWxQb3J0TGli LmluZgorICB9CiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvV2F0Y2hkb2dUaW1lckR4ZS9XYXRj aGRvZ1RpbWVyLmluZgogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01vbm90b25pY0NvdW50ZXJS dW50aW1lRHhlL01vbm90b25pY0NvdW50ZXJSdW50aW1lRHhlLmluZgogICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0NhcHN1bGVSdW50aW1lRHhlL0NhcHN1bGVSdW50aW1lRHhlLmluZgpkaWZmIC0t Z2l0IGEvT3ZtZlBrZy9YZW5Pdm1mLmZkZiBiL092bWZQa2cvWGVuT3ZtZi5mZGYKaW5kZXggZDYx NGJkY2UxZC4uZTA3OGM3YjQwNSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9YZW5Pdm1mLmZkZgorKysg Yi9Pdm1mUGtnL1hlbk92bWYuZmRmCkBAIC0yOTgsNiArMjk4LDcgQEAgW0ZWLkRYRUZWXQogSU5G ICBPdm1mUGtnL1hlbklvUGNpRHhlL1hlbklvUGNpRHhlLmluZgogSU5GICBPdm1mUGtnL1hlbkJ1 c0R4ZS9YZW5CdXNEeGUuaW5mCiBJTkYgIE92bWZQa2cvWGVuUHZCbGtEeGUvWGVuUHZCbGtEeGUu aW5mCitJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4ZS5pbmYK IAogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJEeGUvV2F0Y2hkb2dU aW1lci5pbmYKIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Nb25vdG9uaWNDb3VudGVyUnVu dGltZUR4ZS9Nb25vdG9uaWNDb3VudGVyUnVudGltZUR4ZS5pbmYKZGlmZiAtLWdpdCBhL092bWZQ a2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIu aW5mIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1Cb290 TWFuYWdlckxpYi5pbmYKaW5kZXggYzQxYWFlZWYzZi4uN2RkMDY4M2NkMiAxMDA2NDQKLS0tIGEv T3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1Cb290TWFuYWdl ckxpYi5pbmYKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxh dGZvcm1Cb290TWFuYWdlckxpYi5pbmYKQEAgLTY3LDYgKzY3LDEwIEBAIFtQY2RdCiAgIGdVZWZp T3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZIb3N0QnJpZGdlUGNpRGV2SWQKICAgZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBsYXRmb3JtQm9vdFRpbWVPdXQKICAgZ0VmaUludGVsRnJh bWV3b3JrTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2hlbGxGaWxlCisgIGdFZmlNZGVQa2dU b2tlblNwYWNlR3VpZC5QY2RVYXJ0RGVmYXVsdEJhdWRSYXRlICAgICAgICAgIyMgQ09OU1VNRVMK KyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVhcnREZWZhdWx0RGF0YUJpdHMgICAgICAg ICAjIyBDT05TVU1FUworICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVWFydERlZmF1bHRQ YXJpdHkgICAgICAgICAgICMjIENPTlNVTUVTCisgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RVYXJ0RGVmYXVsdFN0b3BCaXRzICAgICAgICAgIyMgQ09OU1VNRVMKIAogW1BjZC5JQTMyLCBQ Y2QuWDY0XQogICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRlNCQ2xvY2sKZGlmZiAtLWdp dCBhL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmgg Yi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5oCmlu ZGV4IDQ5NDhjYTY1MTguLjJhYjFhNzZmNmEgMTAwNjQ0Ci0tLSBhL092bWZQa2cvTGlicmFyeS9Q bGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmgKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5 L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZvcm0uaApAQCAtMTcyLDYgKzE3Miw3IEBA IHR5cGVkZWYgc3RydWN0IHsKICNkZWZpbmUgQ09OU09MRV9JTiAgQklUMQogI2RlZmluZSBTVERf RVJST1IgICBCSVQyCiBleHRlcm4gUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICBnUGxh dGZvcm1Db25zb2xlW107CitleHRlcm4gUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICBn WGVuUGxhdGZvcm1Db25zb2xlW107CiAKIC8vCiAvLyBQbGF0Zm9ybSBCRFMgRnVuY3Rpb25zCmRp ZmYgLS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0 Zm9ybS5jIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZv cm0uYwppbmRleCAxYTZkNDc3MzJlLi5mMTg2MDYwZjM0IDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xp YnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5jCisrKyBiL092bWZQa2cv TGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmMKQEAgLTg1LDYgKzg1 LDEzIEBAIEluc3RhbGxEZXZpY2VQYXRoQ2FsbGJhY2sgKAogICBWT0lECiAgICk7CiAKK1NUQVRJ QworQk9PTEVBTgorWGVuRGV0ZWN0ZWQgKAorICBWT0lECisgICk7CisKKwogVk9JRAogUGxhdGZv cm1SZWdpc3RlckZ2Qm9vdE9wdGlvbiAoCiAgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAg ICAgICpGaWxlR3VpZCwKQEAgLTQwNCw3ICs0MTEsOCBAQCBQbGF0Zm9ybUJvb3RNYW5hZ2VyQmVm b3JlQ29uc29sZSAoCiAgIC8vCiAgIEVmaUJvb3RNYW5hZ2VyRGlzcGF0Y2hEZWZlcnJlZEltYWdl cyAoKTsKIAotICBQbGF0Zm9ybUluaXRpYWxpemVDb25zb2xlIChnUGxhdGZvcm1Db25zb2xlKTsK KyAgUGxhdGZvcm1Jbml0aWFsaXplQ29uc29sZSAoCisgICAgWGVuRGV0ZWN0ZWQoKSA/IGdYZW5Q bGF0Zm9ybUNvbnNvbGUgOiBnUGxhdGZvcm1Db25zb2xlKTsKICAgUGNkU3RhdHVzID0gUGNkU2V0 MTZTIChQY2RQbGF0Zm9ybUJvb3RUaW1lT3V0LAogICAgICAgICAgICAgICAgIEdldEZyb250UGFn ZVRpbWVvdXRGcm9tUWVtdSAoKSk7CiAgIEFTU0VSVF9SRVRVUk5fRVJST1IgKFBjZFN0YXR1cyk7 CmRpZmYgLS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0 Zm9ybURhdGEuYyBiL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRm b3JtRGF0YS5jCmluZGV4IDEyNTBhNmQzNTEuLjQxNzkzNzBjODEgMTAwNjQ0Ci0tLSBhL092bWZQ a2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtRGF0YS5jCisrKyBiL092 bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtRGF0YS5jCkBAIC0x Niw2ICsxNiwxMSBAQAogI2luY2x1ZGUgIkJkc1BsYXRmb3JtLmgiCiAjaW5jbHVkZSA8R3VpZC9R ZW11UmFtZmIuaD4KIAorI2RlZmluZSBTRVJJQUxfRFhFX0ZJTEVfR1VJRCB7IFwKKyAgICAgICAg ICAweEQzOTg3RDRCLCAweDk3MUEsIDB4NDM1RiwgXAorICAgICAgICAgIHsgMHg4QywgMHhBRiwg MHg0OSwgMHg2NywgMHhFQiwgMHg2MiwgMHg3MiwgMHg0MSB9IFwKKyAgICAgICAgICB9CisKIC8v CiAvLyBEZWJ1ZyBBZ2VudCBVQVJUIERldmljZSBQYXRoIHN0cnVjdHVyZQogLy8KQEAgLTQ5LDYg KzU0LDE4IEBAIHR5cGVkZWYgc3RydWN0IHsKIH0gVkVORE9SX1JBTUZCX0RFVklDRV9QQVRIOwog I3ByYWdtYSBwYWNrICgpCiAKKy8vCisvLyBYZW4gQ29uc29sZSBEZXZpY2UgUGF0aCBzdHJ1Y3R1 cmUKKy8vCisjcHJhZ21hIHBhY2soMSkKK3R5cGVkZWYgc3RydWN0IHsKKyAgVkVORE9SX0RFVklD RV9QQVRIICAgICAgICBWZW5kb3JIYXJkd2FyZTsKKyAgVUFSVF9ERVZJQ0VfUEFUSCAgICAgICAg ICBVYXJ0OworICBWRU5ET1JfREVWSUNFX1BBVEggICAgICAgIFRlcm1pbmFsVHlwZTsKKyAgRUZJ X0RFVklDRV9QQVRIX1BST1RPQ09MICBFbmQ7Cit9IFhFTl9DT05TT0xFX0RFVklDRV9QQVRIOwor I3ByYWdtYSBwYWNrKCkKKwogQUNQSV9ISURfREVWSUNFX1BBVEggICAgICAgZ1BucFBzMktleWJv YXJkRGV2aWNlTm9kZSAgPSBnUG5wUHMyS2V5Ym9hcmQ7CiBBQ1BJX0hJRF9ERVZJQ0VfUEFUSCAg ICAgICBnUG5wMTY1NTBDb21Qb3J0RGV2aWNlTm9kZSA9IGdQbnAxNjU1MENvbVBvcnQ7CiBVQVJU X0RFVklDRV9QQVRIICAgICAgICAgICBnVWFydERldmljZU5vZGUgICAgICAgICAgICA9IGdVYXJ0 OwpAQCAtMTQ3LDYgKzE2NCwzNyBAQCBTVEFUSUMgVkVORE9SX1JBTUZCX0RFVklDRV9QQVRIIGdR ZW11UmFtZmJEZXZpY2VQYXRoID0gewogICBnRW5kRW50aXJlCiB9OwogCitTVEFUSUMgWEVOX0NP TlNPTEVfREVWSUNFX1BBVEggZ1hlbkNvbnNvbGVEZXZpY2VQYXRoID0geworICB7CisgICAgewor ICAgICAgSEFSRFdBUkVfREVWSUNFX1BBVEgsCisgICAgICBIV19WRU5ET1JfRFAsCisgICAgICB7 CisgICAgICAgIChVSU5UOCkgKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSksCisgICAgICAg IChVSU5UOCkgKChzaXplb2YgKFZFTkRPUl9ERVZJQ0VfUEFUSCkpID4+IDgpCisgICAgICB9Cisg ICAgfSwKKyAgICBTRVJJQUxfRFhFX0ZJTEVfR1VJRAorICB9LAorICB7CisgICAgeworICAgICAg TUVTU0FHSU5HX0RFVklDRV9QQVRILAorICAgICAgTVNHX1VBUlRfRFAsCisgICAgICB7CisgICAg ICAgIChVSU5UOCkgKHNpemVvZiAoVUFSVF9ERVZJQ0VfUEFUSCkpLAorICAgICAgICAoVUlOVDgp ICgoc2l6ZW9mIChVQVJUX0RFVklDRV9QQVRIKSkgPj4gOCkKKyAgICAgIH0KKyAgICB9LAorICAg IDAsCisgICAgRml4ZWRQY2RHZXQ2NCAoUGNkVWFydERlZmF1bHRCYXVkUmF0ZSksCisgICAgRml4 ZWRQY2RHZXQ4IChQY2RVYXJ0RGVmYXVsdERhdGFCaXRzKSwKKyAgICBGaXhlZFBjZEdldDggKFBj ZFVhcnREZWZhdWx0UGFyaXR5KSwKKyAgICBGaXhlZFBjZEdldDggKFBjZFVhcnREZWZhdWx0U3Rv cEJpdHMpLAorICB9LAorICBnUGNBbnNpVGVybWluYWwsCisgIGdFbmRFbnRpcmUKK307CisKIC8v CiAvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGRlZmF1bHQgY29uc29sZSBkZXZpY2UgcGF0aAogLy8K QEAgLTE2OSw2ICsyMTcsMTcgQEAgUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICAgZ1Bs YXRmb3JtQ29uc29sZVtdID0gewogICB9CiB9OwogCitQTEFURk9STV9DT05TT0xFX0NPTk5FQ1Rf RU5UUlkgICBnWGVuUGxhdGZvcm1Db25zb2xlW10gPSB7CisgIHsKKyAgICAoRUZJX0RFVklDRV9Q QVRIX1BST1RPQ09MICopJmdYZW5Db25zb2xlRGV2aWNlUGF0aCwKKyAgICAoQ09OU09MRV9PVVQg fCBDT05TT0xFX0lOIHwgU1REX0VSUk9SKQorICB9LAorICB7CisgICAgTlVMTCwKKyAgICAwCisg IH0KK307CisKIC8vCiAvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGNvbm5lY3Qgc2VxdWVuY2UKIC8v Ci0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41436C10F13 for ; Mon, 8 Apr 2019 14:27:55 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 1B23E20663 for ; Mon, 8 Apr 2019 14:27:55 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1B23E20663 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDVFR-00021b-7N; Mon, 08 Apr 2019 14:27:45 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hDVFQ-000213-2j for xen-devel@lists.xenproject.org; Mon, 08 Apr 2019 14:27:44 +0000 X-Inumbo-ID: 76b5917a-5a0a-11e9-90f6-83e60c04f81d Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 76b5917a-5a0a-11e9-90f6-83e60c04f81d; Mon, 08 Apr 2019 14:27:40 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,325,1549929600"; d="scan'208";a="83010273" From: Anthony PERARD To: Date: Mon, 8 Apr 2019 15:24:05 +0100 Message-ID: <20190408142408.30419-29-anthony.perard@citrix.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190408142408.30419-1-anthony.perard@citrix.com> References: <20190408142408.30419-1-anthony.perard@citrix.com> MIME-Version: 1.0 Subject: [Xen-devel] [PATCH v2 28/31] OvmfPkg/PlatformBootManagerLib: Use a Xen console for ConOut/ConIn X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Ard Biesheuvel , Jordan Justen , Julien Grall , Anthony PERARD , xen-devel@lists.xenproject.org, Laszlo Ersek Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190408142405.7FzQ6B2SDitxUMt_YO3bHfJtCtNpvuPzUomdTInX0c0@z> T24gYSBYZW4gUFZIIGd1ZXN0LCBub25lIG9mIHRoZSBleGlzdGluZyBzZXJpYWwgb3IgY29uc29s ZSBpbnRlcmZhY2UKd29ya3MsIHNvIHdlIGFkZCBhIG5ldyBvbmUsIGJhc2VkIG9uIFhlbkNvbnNv bGVTZXJpYWxQb3J0TGliLCBhbmQKaW1wbGVtZXRlZCB2aWEgU2VyaWFsRHhlLgoKVGhhdCBhIHNp bXBsZSBjb25zb2xlIGltcGxlbWVudGF0aW9uIHRoYXQgY2FuIHdvcmtzIG9uIGJvdGggUFZIIGd1 ZXN0CmFuZCBIVk0gZ3Vlc3RzLCBldmVuIGlmIGl0IHJhcmVseSBnb2luZyB0byBiZSB1c2Ugb24g SFZNLgoKSGF2ZSBQbGF0Zm9ybUJvb3RNYW5hZ2VyTGliIGxvb2sgZm9yIHRoZSBuZXcgY29uc29s ZSwgd2hlbiBydW5uaW5nIGFzIGEKWGVuIGd1ZXN0LgoKQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5v Q29yZSBDb250cmlidXRpb24gQWdyZWVtZW50IDEuMQpTaWduZWQtb2ZmLWJ5OiBBbnRob255IFBF UkFSRCA8YW50aG9ueS5wZXJhcmRAY2l0cml4LmNvbT4KLS0tCgpOb3RlczoKICAgIHYyOgogICAg LSBVc2UgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9TZXJpYWxEeGUgaW5zdGVhZCBvZiBzb21ldGhp bmcgbmV3LgogICAgLSBIYXZlIFBsYXRmb3JtSW5pdGlhbGl6ZUNvbnNvbGUoKSBsb29rIGZvciBp dCBieSB1c2luZyB0aGUKICAgICAga25vd24taW4tYWR2YW5jZSBkZXZpY2UgcGF0aCBmb3IgdGhl IHhlbiBjb25zb2xlIGluIHRoZQogICAgICBQTEFURk9STV9DT05TT0xFX0NPTk5FQ1RfRU5UUlku CgogT3ZtZlBrZy9YZW5Pdm1mLmRzYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgNCArKwogT3ZtZlBrZy9YZW5Pdm1mLmZkZiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBPdm1mUGtnL0xpYnJhcnkvUGxh dGZvcm1Cb290TWFuYWdlckxpYi9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliLmluZiB8ICA0ICsrCiBP dm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5oICAgICAg ICAgICAgICB8ICAxICsKIE92bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jk c1BsYXRmb3JtLmMgICAgICAgICAgICAgIHwgMTAgKysrLQogT3ZtZlBrZy9MaWJyYXJ5L1BsYXRm b3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1EYXRhLmMgICAgICAgICAgICAgfCA1OSArKysrKysr KysrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9YZW5Pdm1mLmRzYyBiL092bWZQa2cvWGVuT3Zt Zi5kc2MKaW5kZXggMzVhZjA1NzE1Yi4uYTI2ZjYxMTA1OCAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9Y ZW5Pdm1mLmRzYworKysgYi9Pdm1mUGtnL1hlbk92bWYuZHNjCkBAIC01OTksNiArNTk5LDEwIEBA IFtDb21wb25lbnRzXQogICBPdm1mUGtnL1hlbklvUGNpRHhlL1hlbklvUGNpRHhlLmluZgogICBP dm1mUGtnL1hlbkJ1c0R4ZS9YZW5CdXNEeGUuaW5mCiAgIE92bWZQa2cvWGVuUHZCbGtEeGUvWGVu UHZCbGtEeGUuaW5mCisgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4 ZS5pbmYgeworICAgIDxMaWJyYXJ5Q2xhc3Nlcz4KKyAgICAgIFNlcmlhbFBvcnRMaWJ8T3ZtZlBr Zy9MaWJyYXJ5L1hlbkNvbnNvbGVTZXJpYWxQb3J0TGliL1hlbkNvbnNvbGVTZXJpYWxQb3J0TGli LmluZgorICB9CiAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvV2F0Y2hkb2dUaW1lckR4ZS9XYXRj aGRvZ1RpbWVyLmluZgogICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01vbm90b25pY0NvdW50ZXJS dW50aW1lRHhlL01vbm90b25pY0NvdW50ZXJSdW50aW1lRHhlLmluZgogICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0NhcHN1bGVSdW50aW1lRHhlL0NhcHN1bGVSdW50aW1lRHhlLmluZgpkaWZmIC0t Z2l0IGEvT3ZtZlBrZy9YZW5Pdm1mLmZkZiBiL092bWZQa2cvWGVuT3ZtZi5mZGYKaW5kZXggZDYx NGJkY2UxZC4uZTA3OGM3YjQwNSAxMDA2NDQKLS0tIGEvT3ZtZlBrZy9YZW5Pdm1mLmZkZgorKysg Yi9Pdm1mUGtnL1hlbk92bWYuZmRmCkBAIC0yOTgsNiArMjk4LDcgQEAgW0ZWLkRYRUZWXQogSU5G ICBPdm1mUGtnL1hlbklvUGNpRHhlL1hlbklvUGNpRHhlLmluZgogSU5GICBPdm1mUGtnL1hlbkJ1 c0R4ZS9YZW5CdXNEeGUuaW5mCiBJTkYgIE92bWZQa2cvWGVuUHZCbGtEeGUvWGVuUHZCbGtEeGUu aW5mCitJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2VyaWFsRHhlL1NlcmlhbER4ZS5pbmYK IAogSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJEeGUvV2F0Y2hkb2dU aW1lci5pbmYKIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Nb25vdG9uaWNDb3VudGVyUnVu dGltZUR4ZS9Nb25vdG9uaWNDb3VudGVyUnVudGltZUR4ZS5pbmYKZGlmZiAtLWdpdCBhL092bWZQ a2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIu aW5mIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1Cb290 TWFuYWdlckxpYi5pbmYKaW5kZXggYzQxYWFlZWYzZi4uN2RkMDY4M2NkMiAxMDA2NDQKLS0tIGEv T3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxhdGZvcm1Cb290TWFuYWdl ckxpYi5pbmYKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvUGxh dGZvcm1Cb290TWFuYWdlckxpYi5pbmYKQEAgLTY3LDYgKzY3LDEwIEBAIFtQY2RdCiAgIGdVZWZp T3ZtZlBrZ1Rva2VuU3BhY2VHdWlkLlBjZE92bWZIb3N0QnJpZGdlUGNpRGV2SWQKICAgZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBsYXRmb3JtQm9vdFRpbWVPdXQKICAgZ0VmaUludGVsRnJh bWV3b3JrTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2hlbGxGaWxlCisgIGdFZmlNZGVQa2dU b2tlblNwYWNlR3VpZC5QY2RVYXJ0RGVmYXVsdEJhdWRSYXRlICAgICAgICAgIyMgQ09OU1VNRVMK KyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVhcnREZWZhdWx0RGF0YUJpdHMgICAgICAg ICAjIyBDT05TVU1FUworICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVWFydERlZmF1bHRQ YXJpdHkgICAgICAgICAgICMjIENPTlNVTUVTCisgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RVYXJ0RGVmYXVsdFN0b3BCaXRzICAgICAgICAgIyMgQ09OU1VNRVMKIAogW1BjZC5JQTMyLCBQ Y2QuWDY0XQogICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRlNCQ2xvY2sKZGlmZiAtLWdp dCBhL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmgg Yi9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5oCmlu ZGV4IDQ5NDhjYTY1MTguLjJhYjFhNzZmNmEgMTAwNjQ0Ci0tLSBhL092bWZQa2cvTGlicmFyeS9Q bGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmgKKysrIGIvT3ZtZlBrZy9MaWJyYXJ5 L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZvcm0uaApAQCAtMTcyLDYgKzE3Miw3IEBA IHR5cGVkZWYgc3RydWN0IHsKICNkZWZpbmUgQ09OU09MRV9JTiAgQklUMQogI2RlZmluZSBTVERf RVJST1IgICBCSVQyCiBleHRlcm4gUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICBnUGxh dGZvcm1Db25zb2xlW107CitleHRlcm4gUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICBn WGVuUGxhdGZvcm1Db25zb2xlW107CiAKIC8vCiAvLyBQbGF0Zm9ybSBCRFMgRnVuY3Rpb25zCmRp ZmYgLS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0 Zm9ybS5jIGIvT3ZtZlBrZy9MaWJyYXJ5L1BsYXRmb3JtQm9vdE1hbmFnZXJMaWIvQmRzUGxhdGZv cm0uYwppbmRleCAxYTZkNDc3MzJlLi5mMTg2MDYwZjM0IDEwMDY0NAotLS0gYS9Pdm1mUGtnL0xp YnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9CZHNQbGF0Zm9ybS5jCisrKyBiL092bWZQa2cv TGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL0Jkc1BsYXRmb3JtLmMKQEAgLTg1LDYgKzg1 LDEzIEBAIEluc3RhbGxEZXZpY2VQYXRoQ2FsbGJhY2sgKAogICBWT0lECiAgICk7CiAKK1NUQVRJ QworQk9PTEVBTgorWGVuRGV0ZWN0ZWQgKAorICBWT0lECisgICk7CisKKwogVk9JRAogUGxhdGZv cm1SZWdpc3RlckZ2Qm9vdE9wdGlvbiAoCiAgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAg ICAgICpGaWxlR3VpZCwKQEAgLTQwNCw3ICs0MTEsOCBAQCBQbGF0Zm9ybUJvb3RNYW5hZ2VyQmVm b3JlQ29uc29sZSAoCiAgIC8vCiAgIEVmaUJvb3RNYW5hZ2VyRGlzcGF0Y2hEZWZlcnJlZEltYWdl cyAoKTsKIAotICBQbGF0Zm9ybUluaXRpYWxpemVDb25zb2xlIChnUGxhdGZvcm1Db25zb2xlKTsK KyAgUGxhdGZvcm1Jbml0aWFsaXplQ29uc29sZSAoCisgICAgWGVuRGV0ZWN0ZWQoKSA/IGdYZW5Q bGF0Zm9ybUNvbnNvbGUgOiBnUGxhdGZvcm1Db25zb2xlKTsKICAgUGNkU3RhdHVzID0gUGNkU2V0 MTZTIChQY2RQbGF0Zm9ybUJvb3RUaW1lT3V0LAogICAgICAgICAgICAgICAgIEdldEZyb250UGFn ZVRpbWVvdXRGcm9tUWVtdSAoKSk7CiAgIEFTU0VSVF9SRVRVUk5fRVJST1IgKFBjZFN0YXR1cyk7 CmRpZmYgLS1naXQgYS9Pdm1mUGtnL0xpYnJhcnkvUGxhdGZvcm1Cb290TWFuYWdlckxpYi9QbGF0 Zm9ybURhdGEuYyBiL092bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRm b3JtRGF0YS5jCmluZGV4IDEyNTBhNmQzNTEuLjQxNzkzNzBjODEgMTAwNjQ0Ci0tLSBhL092bWZQ a2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtRGF0YS5jCisrKyBiL092 bWZQa2cvTGlicmFyeS9QbGF0Zm9ybUJvb3RNYW5hZ2VyTGliL1BsYXRmb3JtRGF0YS5jCkBAIC0x Niw2ICsxNiwxMSBAQAogI2luY2x1ZGUgIkJkc1BsYXRmb3JtLmgiCiAjaW5jbHVkZSA8R3VpZC9R ZW11UmFtZmIuaD4KIAorI2RlZmluZSBTRVJJQUxfRFhFX0ZJTEVfR1VJRCB7IFwKKyAgICAgICAg ICAweEQzOTg3RDRCLCAweDk3MUEsIDB4NDM1RiwgXAorICAgICAgICAgIHsgMHg4QywgMHhBRiwg MHg0OSwgMHg2NywgMHhFQiwgMHg2MiwgMHg3MiwgMHg0MSB9IFwKKyAgICAgICAgICB9CisKIC8v CiAvLyBEZWJ1ZyBBZ2VudCBVQVJUIERldmljZSBQYXRoIHN0cnVjdHVyZQogLy8KQEAgLTQ5LDYg KzU0LDE4IEBAIHR5cGVkZWYgc3RydWN0IHsKIH0gVkVORE9SX1JBTUZCX0RFVklDRV9QQVRIOwog I3ByYWdtYSBwYWNrICgpCiAKKy8vCisvLyBYZW4gQ29uc29sZSBEZXZpY2UgUGF0aCBzdHJ1Y3R1 cmUKKy8vCisjcHJhZ21hIHBhY2soMSkKK3R5cGVkZWYgc3RydWN0IHsKKyAgVkVORE9SX0RFVklD RV9QQVRIICAgICAgICBWZW5kb3JIYXJkd2FyZTsKKyAgVUFSVF9ERVZJQ0VfUEFUSCAgICAgICAg ICBVYXJ0OworICBWRU5ET1JfREVWSUNFX1BBVEggICAgICAgIFRlcm1pbmFsVHlwZTsKKyAgRUZJ X0RFVklDRV9QQVRIX1BST1RPQ09MICBFbmQ7Cit9IFhFTl9DT05TT0xFX0RFVklDRV9QQVRIOwor I3ByYWdtYSBwYWNrKCkKKwogQUNQSV9ISURfREVWSUNFX1BBVEggICAgICAgZ1BucFBzMktleWJv YXJkRGV2aWNlTm9kZSAgPSBnUG5wUHMyS2V5Ym9hcmQ7CiBBQ1BJX0hJRF9ERVZJQ0VfUEFUSCAg ICAgICBnUG5wMTY1NTBDb21Qb3J0RGV2aWNlTm9kZSA9IGdQbnAxNjU1MENvbVBvcnQ7CiBVQVJU X0RFVklDRV9QQVRIICAgICAgICAgICBnVWFydERldmljZU5vZGUgICAgICAgICAgICA9IGdVYXJ0 OwpAQCAtMTQ3LDYgKzE2NCwzNyBAQCBTVEFUSUMgVkVORE9SX1JBTUZCX0RFVklDRV9QQVRIIGdR ZW11UmFtZmJEZXZpY2VQYXRoID0gewogICBnRW5kRW50aXJlCiB9OwogCitTVEFUSUMgWEVOX0NP TlNPTEVfREVWSUNFX1BBVEggZ1hlbkNvbnNvbGVEZXZpY2VQYXRoID0geworICB7CisgICAgewor ICAgICAgSEFSRFdBUkVfREVWSUNFX1BBVEgsCisgICAgICBIV19WRU5ET1JfRFAsCisgICAgICB7 CisgICAgICAgIChVSU5UOCkgKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSksCisgICAgICAg IChVSU5UOCkgKChzaXplb2YgKFZFTkRPUl9ERVZJQ0VfUEFUSCkpID4+IDgpCisgICAgICB9Cisg ICAgfSwKKyAgICBTRVJJQUxfRFhFX0ZJTEVfR1VJRAorICB9LAorICB7CisgICAgeworICAgICAg TUVTU0FHSU5HX0RFVklDRV9QQVRILAorICAgICAgTVNHX1VBUlRfRFAsCisgICAgICB7CisgICAg ICAgIChVSU5UOCkgKHNpemVvZiAoVUFSVF9ERVZJQ0VfUEFUSCkpLAorICAgICAgICAoVUlOVDgp ICgoc2l6ZW9mIChVQVJUX0RFVklDRV9QQVRIKSkgPj4gOCkKKyAgICAgIH0KKyAgICB9LAorICAg IDAsCisgICAgRml4ZWRQY2RHZXQ2NCAoUGNkVWFydERlZmF1bHRCYXVkUmF0ZSksCisgICAgRml4 ZWRQY2RHZXQ4IChQY2RVYXJ0RGVmYXVsdERhdGFCaXRzKSwKKyAgICBGaXhlZFBjZEdldDggKFBj ZFVhcnREZWZhdWx0UGFyaXR5KSwKKyAgICBGaXhlZFBjZEdldDggKFBjZFVhcnREZWZhdWx0U3Rv cEJpdHMpLAorICB9LAorICBnUGNBbnNpVGVybWluYWwsCisgIGdFbmRFbnRpcmUKK307CisKIC8v CiAvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGRlZmF1bHQgY29uc29sZSBkZXZpY2UgcGF0aAogLy8K QEAgLTE2OSw2ICsyMTcsMTcgQEAgUExBVEZPUk1fQ09OU09MRV9DT05ORUNUX0VOVFJZICAgZ1Bs YXRmb3JtQ29uc29sZVtdID0gewogICB9CiB9OwogCitQTEFURk9STV9DT05TT0xFX0NPTk5FQ1Rf RU5UUlkgICBnWGVuUGxhdGZvcm1Db25zb2xlW10gPSB7CisgIHsKKyAgICAoRUZJX0RFVklDRV9Q QVRIX1BST1RPQ09MICopJmdYZW5Db25zb2xlRGV2aWNlUGF0aCwKKyAgICAoQ09OU09MRV9PVVQg fCBDT05TT0xFX0lOIHwgU1REX0VSUk9SKQorICB9LAorICB7CisgICAgTlVMTCwKKyAgICAwCisg IH0KK307CisKIC8vCiAvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGNvbm5lY3Qgc2VxdWVuY2UKIC8v Ci0tIApBbnRob255IFBFUkFSRAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnBy b2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94 ZW4tZGV2ZWw=