From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yu Zhang Subject: [PATCH v3 1/3] x86/ioreq server(patch for 4.7): Rename p2m_mmio_write_dm to p2m_ioreq_server. Date: Mon, 25 Apr 2016 18:35:38 +0800 Message-ID: <1461580540-9314-2-git-send-email-yu.c.zhang@linux.intel.com> References: <1461580540-9314-1-git-send-email-yu.c.zhang@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1461580540-9314-1-git-send-email-yu.c.zhang@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Kevin Tian , Keir Fraser , Jun Nakajima , George Dunlap , Andrew Cooper , Tim Deegan , Paul Durrant , zhiyuan.lv@intel.com, Jan Beulich , wei.liu2@citrix.com List-Id: xen-devel@lists.xenproject.org UHJldmlvdXNseSBwMm0gdHlwZSBwMm1fbW1pb193cml0ZV9kbSB3YXMgaW50cm9kdWNlZCBmb3Ig d3JpdGUtCnByb3RlY3RlZCBtZW1vcnkgcGFnZXMgd2hvc2Ugd3JpdGUgb3BlcmF0aW9ucyBhcmUg c3VwcG9zZWQgdG8gYmUKZm9yd2FyZGVkIHRvIGFuZCBlbXVsYXRlZCBieSBhbiBpb3JlcSBzZXJ2 ZXIuIFlldCBsaW1pdGF0aW9ucyBvZgpyYW5nZXNldCByZXN0cmljdCB0aGUgbnVtYmVyIG9mIGd1 ZXN0IHBhZ2VzIHRvIGJlIHdyaXRlLXByb3RlY3RlZC4KClRoaXMgcGF0Y2ggcmVwbGFjZXMgdGhl IHAybSB0eXBlIHAybV9tbWlvX3dyaXRlX2RtIHdpdGggYSBuZXcgbmFtZToKcDJtX2lvcmVxX3Nl cnZlciwgd2hpY2ggbWVhbnMgdGhpcyBwMm0gdHlwZSBjYW4gYmUgY2xhaW1lZCBieSBvbmUKaW9y ZXEgc2VydmVyLCBpbnN0ZWFkIG9mIGJlaW5nIHRyYWNrZWQgaW5zaWRlIHRoZSByYW5nZXNldCBv ZiBpb3JlcQpzZXJ2ZXIuIFBhdGNoZXMgZm9sbG93aW5nIHVwIHdpbGwgYWRkIHRoZSByZWxhdGVk IGh2bW9wIGhhbmRsaW5nCmNvZGUgd2hpY2ggbWFwL3VubWFwIHR5cGUgcDJtX2lvcmVxX3NlcnZl ciB0by9mcm9tIGFuIGlvcmVxIHNlcnZlci4KCmNoYW5nZXMgaW4gdjM6CiAgLSBBY2NvcmRpbmcg dG8gSmFuICYgR2VvcmdlJ3MgY29tbWVudHMsIGtlZXAgSFZNTUVNX21taW9fd3JpdGVfZG0KICAg IGZvciBvbGQgeGVuIGludGVyZmFjZSB2ZXJzaW9ucywgYW5kIHJlcGxhY2UgaXQgd2l0aCBIVk1N RU1fdW51c2VkCiAgICBmb3IgeGVuIGludGVyZmFjZXMgbmV3ZXIgdGhhbiA0LjcuMDsgRm9yIHAy bV9pb3JlcV9zZXJ2ZXIsIGEgbmV3CiAgICBlbnVtIC0gSFZNTUVNX2lvcmVxX3NlcnZlciBpcyBp bnRyb2R1Y2VkIGZvciB0aGUgZ2V0L3NldCBtZW0gdHlwZQogICAgaW50ZXJmYWNlczsKICAtIEFk ZCBHZW9yZ2UncyBSZXZpZXdlZC1ieSBhbmQgQWNrZWQtYnkgZnJvbSBUaW0gJiBBbmRyZXcuCgpj aGFuZ2VzIGluIHYyOgogIC0gQWNjb3JkaW5nIHRvIEdlb3JnZSBEdW5sYXAncyBjb21tZW50cywg b25seSByZW5hbWUgdGhlIHAybSB0eXBlLAogICAgd2l0aCBubyBiZWhhdmlvciBjaGFuZ2VzLgoK U2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRAY2l0cml4LmNvbT4KU2ln bmVkLW9mZi1ieTogWXUgWmhhbmcgPHl1LmMuemhhbmdAbGludXguaW50ZWwuY29tPgpBY2tlZC1i eTogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkFja2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZpZXdlZC1ieTogR2VvcmdlIER1bmxhcCA8Z2Vvcmdl LmR1bmxhcEBjaXRyaXguY29tPgpDYzogS2VpciBGcmFzZXIgPGtlaXJAeGVuLm9yZz4KQ2M6IEph biBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j b29wZXIzQGNpdHJpeC5jb20+CkNjOiBKdW4gTmFrYWppbWEgPGp1bi5uYWthamltYUBpbnRlbC5j b20+CkNjOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVsLmNvbT4KQ2M6IEdlb3JnZSBEdW5s YXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4u b3JnPgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgICAgICAgICAgfCAxNCArKysrKysrKy0t LS0tLQogeGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94 ODYvbW0vcDJtLXB0LmMgICAgICAgIHwgIDIgKy0KIHhlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVs dGkuYyAgfCAgMiArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaCAgICAgICB8ICA0ICsrLS0K IHhlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmggfCAgOCArKysrKysrLQogNiBmaWxlcyBj aGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCBmMjQx MjZkLi44NzRjYjBmIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMKQEAgLTE4NTcsNyArMTg1Nyw3IEBAIGludCBodm1faGFwX25l c3RlZF9wYWdlX2ZhdWx0KHBhZGRyX3QgZ3BhLCB1bnNpZ25lZCBsb25nIGdsYSwKICAgICAgKi8K ICAgICBpZiAoIChwMm10ID09IHAybV9tbWlvX2RtKSB8fCAKICAgICAgICAgIChucGZlYy53cml0 ZV9hY2Nlc3MgJiYKLSAgICAgICAgICAocDJtX2lzX2Rpc2NhcmRfd3JpdGUocDJtdCkgfHwgKHAy bXQgPT0gcDJtX21taW9fd3JpdGVfZG0pKSkgKQorICAgICAgICAgIChwMm1faXNfZGlzY2FyZF93 cml0ZShwMm10KSB8fCAocDJtdCA9PSBwMm1faW9yZXFfc2VydmVyKSkpICkKICAgICB7CiAgICAg ICAgIF9fcHV0X2dmbihwMm0sIGdmbik7CiAgICAgICAgIGlmICggYXAybV9hY3RpdmUgKQpAQCAt NTQ5OSw4ICs1NDk5LDggQEAgbG9uZyBkb19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwgWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAgICAgICBnZXRfZ2ZuX3F1ZXJ5X3Vu bG9ja2VkKGQsIGEucGZuLCAmdCk7CiAgICAgICAgICAgICBpZiAoIHAybV9pc19tbWlvKHQpICkK ICAgICAgICAgICAgICAgICBhLm1lbV90eXBlID0gIEhWTU1FTV9tbWlvX2RtOwotICAgICAgICAg ICAgZWxzZSBpZiAoIHQgPT0gcDJtX21taW9fd3JpdGVfZG0gKQotICAgICAgICAgICAgICAgIGEu bWVtX3R5cGUgPSBIVk1NRU1fbW1pb193cml0ZV9kbTsKKyAgICAgICAgICAgIGVsc2UgaWYgKCB0 ID09IHAybV9pb3JlcV9zZXJ2ZXIgKQorICAgICAgICAgICAgICAgIGEubWVtX3R5cGUgPSBIVk1N RU1faW9yZXFfc2VydmVyOwogICAgICAgICAgICAgZWxzZSBpZiAoIHAybV9pc19yZWFkb25seSh0 KSApCiAgICAgICAgICAgICAgICAgYS5tZW1fdHlwZSA9ICBIVk1NRU1fcmFtX3JvOwogICAgICAg ICAgICAgZWxzZSBpZiAoIHAybV9pc19yYW0odCkgKQpAQCAtNTUzMSw3ICs1NTMxLDggQEAgbG9u ZyBkb19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lk KSBhcmcpCiAgICAgICAgICAgICBbSFZNTUVNX3JhbV9yd10gID0gcDJtX3JhbV9ydywKICAgICAg ICAgICAgIFtIVk1NRU1fcmFtX3JvXSAgPSBwMm1fcmFtX3JvLAogICAgICAgICAgICAgW0hWTU1F TV9tbWlvX2RtXSA9IHAybV9tbWlvX2RtLAotICAgICAgICAgICAgW0hWTU1FTV9tbWlvX3dyaXRl X2RtXSA9IHAybV9tbWlvX3dyaXRlX2RtCisgICAgICAgICAgICBbSFZNTUVNX3VudXNlZF0gPSBw Mm1faW52YWxpZCwKKyAgICAgICAgICAgIFtIVk1NRU1faW9yZXFfc2VydmVyXSA9IHAybV9pb3Jl cV9zZXJ2ZXIKICAgICAgICAgfTsKIAogICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmYSwg YXJnLCAxKSApCkBAIC01NTU1LDcgKzU1NTYsOCBAQCBsb25nIGRvX2h2bV9vcCh1bnNpZ25lZCBs b25nIG9wLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykKICAgICAgICAgICAgICAo KGEuZmlyc3RfcGZuICsgYS5uciAtIDEpID4gZG9tYWluX2dldF9tYXhpbXVtX2dwZm4oZCkpICkK ICAgICAgICAgICAgIGdvdG8gc2V0bWVtdHlwZV9mYWlsOwogICAgICAgICAgICAgCi0gICAgICAg IGlmICggYS5odm1tZW1fdHlwZSA+PSBBUlJBWV9TSVpFKG1lbXR5cGUpICkKKyAgICAgICAgaWYg KCBhLmh2bW1lbV90eXBlID49IEFSUkFZX1NJWkUobWVtdHlwZSkgfHwKKyAgICAgICAgICAgICB1 bmxpa2VseShhLmh2bW1lbV90eXBlID09IEhWTU1FTV91bnVzZWQpICkKICAgICAgICAgICAgIGdv dG8gc2V0bWVtdHlwZV9mYWlsOwogCiAgICAgICAgIHdoaWxlICggYS5uciA+IHN0YXJ0X2l0ZXIg KQpAQCAtNTU3OSw3ICs1NTgxLDcgQEAgbG9uZyBkb19odm1fb3AodW5zaWduZWQgbG9uZyBvcCwg WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpCiAgICAgICAgICAgICB9CiAgICAgICAg ICAgICBpZiAoICFwMm1faXNfcmFtKHQpICYmCiAgICAgICAgICAgICAgICAgICghcDJtX2lzX2hv bGUodCkgfHwgYS5odm1tZW1fdHlwZSAhPSBIVk1NRU1fbW1pb19kbSkgJiYKLSAgICAgICAgICAg ICAgICAgKHQgIT0gcDJtX21taW9fd3JpdGVfZG0gfHwgYS5odm1tZW1fdHlwZSAhPSBIVk1NRU1f cmFtX3J3KSApCisgICAgICAgICAgICAgICAgICh0ICE9IHAybV9pb3JlcV9zZXJ2ZXIgfHwgYS5o dm1tZW1fdHlwZSAhPSBIVk1NRU1fcmFtX3J3KSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgcHV0X2dmbihkLCBwZm4pOwogICAgICAgICAgICAgICAgIGdvdG8gc2V0bWVtdHlwZV9m YWlsOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyBiL3hlbi9hcmNoL3g4 Ni9tbS9wMm0tZXB0LmMKaW5kZXggM2NiNjg2OC4uMzgwZWMyNSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L21tL3AybS1lcHQuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCkBAIC0x NzEsNyArMTcxLDcgQEAgc3RhdGljIHZvaWQgZXB0X3AybV90eXBlX3RvX2ZsYWdzKHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sIGVwdF9lbnRyeV90ICplbnRyeSwKICAgICAgICAgICAgIGVudHJ5LT5h ID0gZW50cnktPmQgPSAhIWNwdV9oYXNfdm14X2VwdF9hZDsKICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICBjYXNlIHAybV9ncmFudF9tYXBfcm86Ci0gICAgICAgIGNhc2UgcDJtX21taW9fd3Jp dGVfZG06CisgICAgICAgIGNhc2UgcDJtX2lvcmVxX3NlcnZlcjoKICAgICAgICAgICAgIGVudHJ5 LT5yID0gMTsKICAgICAgICAgICAgIGVudHJ5LT53ID0gZW50cnktPnggPSAwOwogICAgICAgICAg ICAgZW50cnktPmEgPSAhIWNwdV9oYXNfdm14X2VwdF9hZDsKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tbS9wMm0tcHQuYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tcHQuYwppbmRleCAzZDgwNjEy Li5lYWJkMmUzIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vcDJtLXB0LmMKKysrIGIveGVu L2FyY2gveDg2L21tL3AybS1wdC5jCkBAIC05NCw3ICs5NCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBs b25nIHAybV90eXBlX3RvX2ZsYWdzKHAybV90eXBlX3QgdCwgbWZuX3QgbWZuLAogICAgIGRlZmF1 bHQ6CiAgICAgICAgIHJldHVybiBmbGFncyB8IF9QQUdFX05YX0JJVDsKICAgICBjYXNlIHAybV9n cmFudF9tYXBfcm86Ci0gICAgY2FzZSBwMm1fbW1pb193cml0ZV9kbToKKyAgICBjYXNlIHAybV9p b3JlcV9zZXJ2ZXI6CiAgICAgICAgIHJldHVybiBmbGFncyB8IFAyTV9CQVNFX0ZMQUdTIHwgX1BB R0VfTlhfQklUOwogICAgIGNhc2UgcDJtX3JhbV9ybzoKICAgICBjYXNlIHAybV9yYW1fbG9nZGly dHk6CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgYi94ZW4vYXJj aC94ODYvbW0vc2hhZG93L211bHRpLmMKaW5kZXggZTVjODQ5OS4uYzgxMzAyYSAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9z aGFkb3cvbXVsdGkuYwpAQCAtMzIyNSw3ICszMjI1LDcgQEAgc3RhdGljIGludCBzaF9wYWdlX2Zh dWx0KHN0cnVjdCB2Y3B1ICp2LAogCiAgICAgLyogTmVlZCB0byBoYW5kIG9mZiBkZXZpY2UtbW9k ZWwgTU1JTyB0byB0aGUgZGV2aWNlIG1vZGVsICovCiAgICAgaWYgKCBwMm10ID09IHAybV9tbWlv X2RtCi0gICAgICAgICB8fCAocDJtdCA9PSBwMm1fbW1pb193cml0ZV9kbSAmJiBmdCA9PSBmdF9k ZW1hbmRfd3JpdGUpICkKKyAgICAgICAgIHx8IChwMm10ID09IHAybV9pb3JlcV9zZXJ2ZXIgJiYg ZnQgPT0gZnRfZGVtYW5kX3dyaXRlKSApCiAgICAgewogICAgICAgICBncGEgPSBndWVzdF93YWxr X3RvX2dwYSgmZ3cpOwogICAgICAgICBnb3RvIG1taW87CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L3AybS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaAppbmRleCA1MzkyZWIw Li5lZTJlYTljIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKQEAgLTcxLDcgKzcxLDcgQEAgdHlwZWRlZiBlbnVtIHsK ICAgICBwMm1fcmFtX3NoYXJlZCA9IDEyLCAgICAgICAgICAvKiBTaGFyZWQgb3Igc2hhcmFibGUg bWVtb3J5ICovCiAgICAgcDJtX3JhbV9icm9rZW4gPSAxMywgICAgICAgICAgLyogQnJva2VuIHBh Z2UsIGFjY2VzcyBjYXVzZSBkb21haW4gY3Jhc2ggKi8KICAgICBwMm1fbWFwX2ZvcmVpZ24gID0g MTQsICAgICAgICAvKiByYW0gcGFnZXMgZnJvbSBmb3JlaWduIGRvbWFpbiAqLwotICAgIHAybV9t bWlvX3dyaXRlX2RtID0gMTUsICAgICAgIC8qIFJlYWQtb25seTsgd3JpdGVzIGdvIHRvIHRoZSBk ZXZpY2UgbW9kZWwgKi8KKyAgICBwMm1faW9yZXFfc2VydmVyID0gMTUsCiB9IHAybV90eXBlX3Q7 CiAKIC8qIE1vZGlmaWVycyB0byB0aGUgcXVlcnkgKi8KQEAgLTExMiw3ICsxMTIsNyBAQCB0eXBl ZGVmIHVuc2lnbmVkIGludCBwMm1fcXVlcnlfdDsKICAgICAgICAgICAgICAgICAgICAgICB8IHAy bV90b19tYXNrKHAybV9yYW1fcm8pICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgIHwg cDJtX3RvX21hc2socDJtX2dyYW50X21hcF9ybykgICBcCiAgICAgICAgICAgICAgICAgICAgICAg fCBwMm1fdG9fbWFzayhwMm1fcmFtX3NoYXJlZCkgICAgIFwKLSAgICAgICAgICAgICAgICAgICAg ICB8IHAybV90b19tYXNrKHAybV9tbWlvX3dyaXRlX2RtKSkKKyAgICAgICAgICAgICAgICAgICAg ICB8IHAybV90b19tYXNrKHAybV9pb3JlcV9zZXJ2ZXIpKQogCiAvKiBXcml0ZS1kaXNjYXJkIHR5 cGVzLCB3aGljaCBzaG91bGQgZGlzY2FyZCB0aGUgd3JpdGUgb3BlcmF0aW9ucyAqLwogI2RlZmlu ZSBQMk1fRElTQ0FSRF9XUklURV9UWVBFUyAocDJtX3RvX21hc2socDJtX3JhbV9ybykgICAgIFwK ZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmggYi94ZW4vaW5jbHVk ZS9wdWJsaWMvaHZtL2h2bV9vcC5oCmluZGV4IDE2MDYxODUuLmIzZTQ1Y2YgMTAwNjQ0Ci0tLSBh L3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vaHZtX29wLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGlj L2h2bS9odm1fb3AuaApAQCAtODMsNyArODMsMTMgQEAgdHlwZWRlZiBlbnVtIHsKICAgICBIVk1N RU1fcmFtX3J3LCAgICAgICAgICAgICAvKiBOb3JtYWwgcmVhZC93cml0ZSBndWVzdCBSQU0gKi8K ICAgICBIVk1NRU1fcmFtX3JvLCAgICAgICAgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBhcmUg ZGlzY2FyZGVkICovCiAgICAgSFZNTUVNX21taW9fZG0sICAgICAgICAgICAgLyogUmVhZHMgYW5k IHdyaXRlIGdvIHRvIHRoZSBkZXZpY2UgbW9kZWwgKi8KLSAgICBIVk1NRU1fbW1pb193cml0ZV9k bSAgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBnbyB0byB0aGUgZGV2aWNlIG1vZGVsICovCisj aWYgX19YRU5fSU5URVJGQUNFX1ZFUlNJT05fXyA8IDB4MDAwNDA3MDAKKyAgICBIVk1NRU1fbW1p b193cml0ZV9kbSwgICAgICAvKiBSZWFkLW9ubHk7IHdyaXRlcyBnbyB0byB0aGUgZGV2aWNlIG1v ZGVsICovCisjZWxzZQorICAgIEhWTU1FTV91bnVzZWQsICAgICAgICAgICAgIC8qIFBsYWNlaG9s ZGVyOyBzZXR0aW5nIG1lbW9yeSB0byB0aGlzIHR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB3aWxsIGZhaWwgZm9yIGNvZGUgYWZ0ZXIgNC43LjAgKi8KKyNlbmRpZgorICAg IEhWTU1FTV9pb3JlcV9zZXJ2ZXIKIH0gaHZtbWVtX3R5cGVfdDsKIAogLyogRm9sbG93aW5nIHRv b2xzLW9ubHkgaW50ZXJmYWNlcyBtYXkgY2hhbmdlIGluIGZ1dHVyZS4gKi8KLS0gCjEuOS4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK