From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: [PATCH v3 3/9] xen/pvh: Import PVH-related Xen public interfaces Date: Mon, 6 Feb 2017 12:00:19 -0500 Message-ID: <1486400425-5356-4-git-send-email-boris.ostrovsky@oracle.com> References: <1486400425-5356-1-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1camea-0001hv-Qn for xen-devel@lists.xenproject.org; Mon, 06 Feb 2017 17:00:36 +0000 In-Reply-To: <1486400425-5356-1-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: JGross@suse.com Cc: xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com, linux-kernel@vger.kernel.org, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNv bT4KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KUmV2aWV3ZWQt Ynk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KLS0tCiBp bmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oICAgICAgICB8ICAxMiArKy0KIGluY2x1ZGUv eGVuL2ludGVyZmFjZS9odm0vaHZtX3ZjcHUuaCAgIHwgMTQzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2h2bS9zdGFydF9pbmZvLmggfCAg OTggKysrKysrKysrKysrKysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAyNTIgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2ludGVy ZmFjZS9odm0vaHZtX3ZjcHUuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUveGVuL2ludGVy ZmFjZS9odm0vc3RhcnRfaW5mby5oCgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNl L2VsZm5vdGUuaCBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9lbGZub3RlLmgKaW5kZXggZjkwYjAz NC4uOWU5ZjliZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2VsZm5vdGUuaAor KysgYi9pbmNsdWRlL3hlbi9pbnRlcmZhY2UvZWxmbm90ZS5oCkBAIC0xOTMsOSArMTkzLDE5IEBA CiAjZGVmaW5lIFhFTl9FTEZOT1RFX1NVUFBPUlRFRF9GRUFUVVJFUyAxNwogCiAvKgorICogUGh5 c2ljYWwgZW50cnkgcG9pbnQgaW50byB0aGUga2VybmVsLgorICoKKyAqIDMyYml0IGVudHJ5IHBv aW50IGludG8gdGhlIGtlcm5lbC4gV2hlbiByZXF1ZXN0ZWQgdG8gbGF1bmNoIHRoZQorICogZ3Vl c3Qga2VybmVsIGluIGEgSFZNIGNvbnRhaW5lciwgWGVuIHdpbGwgdXNlIHRoaXMgZW50cnkgcG9p bnQgdG8KKyAqIGxhdW5jaCB0aGUgZ3Vlc3QgaW4gMzJiaXQgcHJvdGVjdGVkIG1vZGUgd2l0aCBw YWdpbmcgZGlzYWJsZWQuCisgKiBJZ25vcmVkIG90aGVyd2lzZS4KKyAqLworI2RlZmluZSBYRU5f RUxGTk9URV9QSFlTMzJfRU5UUlkgMTgKKworLyoKICAqIFRoZSBudW1iZXIgb2YgdGhlIGhpZ2hl c3QgZWxmbm90ZSBkZWZpbmVkLgogICovCi0jZGVmaW5lIFhFTl9FTEZOT1RFX01BWCBYRU5fRUxG Tk9URV9TVVBQT1JURURfRkVBVFVSRVMKKyNkZWZpbmUgWEVOX0VMRk5PVEVfTUFYIFhFTl9FTEZO T1RFX1BIWVMzMl9FTlRSWQogCiAjZW5kaWYgLyogX19YRU5fUFVCTElDX0VMRk5PVEVfSF9fICov CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVyZmFjZS9odm0vaHZtX3ZjcHUuaCBiL2lu Y2x1ZGUveGVuL2ludGVyZmFjZS9odm0vaHZtX3ZjcHUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4zMmNhODNlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS94ZW4vaW50 ZXJmYWNlL2h2bS9odm1fdmNwdS5oCkBAIC0wLDAgKzEsMTQzIEBACisvKgorICogUGVybWlzc2lv biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu aW5nIGEgY29weQorICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0 aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvCisgKiBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZQorICog cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwg c3VibGljZW5zZSwgYW5kL29yCisgKiBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0 byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworICogZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi ZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0 aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJ VEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ LAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVO VC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCisgKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJT IEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFks IFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORworICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUgorICogREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICoKKyAq IENvcHlyaWdodCAoYykgMjAxNSwgUm9nZXIgUGF1IE1vbm5lIDxyb2dlci5wYXVAY2l0cml4LmNv bT4KKyAqLworCisjaWZuZGVmIF9fWEVOX1BVQkxJQ19IVk1fSFZNX1ZDUFVfSF9fCisjZGVmaW5l IF9fWEVOX1BVQkxJQ19IVk1fSFZNX1ZDUFVfSF9fCisKKyNpbmNsdWRlICIuLi94ZW4uaCIKKwor c3RydWN0IHZjcHVfaHZtX3g4Nl8zMiB7CisgICAgdWludDMyX3QgZWF4OworICAgIHVpbnQzMl90 IGVjeDsKKyAgICB1aW50MzJfdCBlZHg7CisgICAgdWludDMyX3QgZWJ4OworICAgIHVpbnQzMl90 IGVzcDsKKyAgICB1aW50MzJfdCBlYnA7CisgICAgdWludDMyX3QgZXNpOworICAgIHVpbnQzMl90 IGVkaTsKKyAgICB1aW50MzJfdCBlaXA7CisgICAgdWludDMyX3QgZWZsYWdzOworCisgICAgdWlu dDMyX3QgY3IwOworICAgIHVpbnQzMl90IGNyMzsKKyAgICB1aW50MzJfdCBjcjQ7CisKKyAgICB1 aW50MzJfdCBwYWQxOworCisgICAgLyoKKyAgICAgKiBFRkVSIHNob3VsZCBvbmx5IGJlIHVzZWQg dG8gc2V0IHRoZSBOWEUgYml0IChpZiByZXF1aXJlZCkKKyAgICAgKiB3aGVuIHN0YXJ0aW5nIGEg dkNQVSBpbiAzMmJpdCBtb2RlIHdpdGggcGFnaW5nIGVuYWJsZWQgb3IKKyAgICAgKiB0byBzZXQg dGhlIExNRS9MTUEgYml0cyBpbiBvcmRlciB0byBzdGFydCB0aGUgdkNQVSBpbgorICAgICAqIGNv bXBhdGliaWxpdHkgbW9kZS4KKyAgICAgKi8KKyAgICB1aW50NjRfdCBlZmVyOworCisgICAgdWlu dDMyX3QgY3NfYmFzZTsKKyAgICB1aW50MzJfdCBkc19iYXNlOworICAgIHVpbnQzMl90IHNzX2Jh c2U7CisgICAgdWludDMyX3QgZXNfYmFzZTsKKyAgICB1aW50MzJfdCB0cl9iYXNlOworICAgIHVp bnQzMl90IGNzX2xpbWl0OworICAgIHVpbnQzMl90IGRzX2xpbWl0OworICAgIHVpbnQzMl90IHNz X2xpbWl0OworICAgIHVpbnQzMl90IGVzX2xpbWl0OworICAgIHVpbnQzMl90IHRyX2xpbWl0Owor ICAgIHVpbnQxNl90IGNzX2FyOworICAgIHVpbnQxNl90IGRzX2FyOworICAgIHVpbnQxNl90IHNz X2FyOworICAgIHVpbnQxNl90IGVzX2FyOworICAgIHVpbnQxNl90IHRyX2FyOworCisgICAgdWlu dDE2X3QgcGFkMlszXTsKK307CisKKy8qCisgKiBUaGUgbGF5b3V0IG9mIHRoZSBfYXIgZmllbGRz IG9mIHRoZSBzZWdtZW50IHJlZ2lzdGVycyBpcyB0aGUKKyAqIGZvbGxvd2luZzoKKyAqCisgKiBC aXRzICAgWzAsM106IHR5cGUgKGJpdHMgNDAtNDMpLgorICogQml0ICAgICAgICA0OiBzICAgIChk ZXNjcmlwdG9yIHR5cGUsIGJpdCA0NCkuCisgKiBCaXQgICAgWzUsNl06IGRwbCAgKGRlc2NyaXB0 b3IgcHJpdmlsZWdlIGxldmVsLCBiaXRzIDQ1LTQ2KS4KKyAqIEJpdCAgICAgICAgNzogcCAgICAo c2VnbWVudC1wcmVzZW50LCBiaXQgNDcpLgorICogQml0ICAgICAgICA4OiBhdmwgIChhdmFpbGFi bGUgZm9yIHN5c3RlbSBzb2Z0d2FyZSwgYml0IDUyKS4KKyAqIEJpdCAgICAgICAgOTogbCAgICAo NjQtYml0IGNvZGUgc2VnbWVudCwgYml0IDUzKS4KKyAqIEJpdCAgICAgICAxMDogZGIgICAobWVh bmluZyBkZXBlbmRzIG9uIHRoZSBzZWdtZW50LCBiaXQgNTQpLgorICogQml0ICAgICAgIDExOiBn ICAgIChncmFudWxhcml0eSwgYml0IDU1KQorICogQml0cyBbMTIsMTVdOiB1bnVzZWQsIG11c3Qg YmUgYmxhbmsuCisgKgorICogQSBtb3JlIGNvbXBsZXRlIGRlc2NyaXB0aW9uIG9mIHRoZSBtZWFu aW5nIG9mIHRoaXMgZmllbGRzIGNhbiBiZQorICogb2J0YWluZWQgZnJvbSB0aGUgSW50ZWwgU0RN LCBWb2x1bWUgMywgc2VjdGlvbiAzLjQuNS4KKyAqLworCitzdHJ1Y3QgdmNwdV9odm1feDg2XzY0 IHsKKyAgICB1aW50NjRfdCByYXg7CisgICAgdWludDY0X3QgcmN4OworICAgIHVpbnQ2NF90IHJk eDsKKyAgICB1aW50NjRfdCByYng7CisgICAgdWludDY0X3QgcnNwOworICAgIHVpbnQ2NF90IHJi cDsKKyAgICB1aW50NjRfdCByc2k7CisgICAgdWludDY0X3QgcmRpOworICAgIHVpbnQ2NF90IHJp cDsKKyAgICB1aW50NjRfdCByZmxhZ3M7CisKKyAgICB1aW50NjRfdCBjcjA7CisgICAgdWludDY0 X3QgY3IzOworICAgIHVpbnQ2NF90IGNyNDsKKyAgICB1aW50NjRfdCBlZmVyOworCisgICAgLyoK KyAgICAgKiBVc2luZyBWQ1BVX0hWTV9NT0RFXzY0QiBpbXBsaWVzIHRoYXQgdGhlIHZDUFUgaXMg bGF1bmNoZWQKKyAgICAgKiBkaXJlY3RseSBpbiBsb25nIG1vZGUsIHNvIHRoZSBjYWNoZWQgcGFy dHMgb2YgdGhlIHNlZ21lbnQKKyAgICAgKiByZWdpc3RlcnMgZ2V0IHNldCB0byBtYXRjaCB0aGF0 IGVudmlyb25tZW50LgorICAgICAqCisgICAgICogSWYgdGhlIHVzZXIgd2FudHMgdG8gbGF1bmNo IHRoZSB2Q1BVIGluIGNvbXBhdGliaWxpdHkgbW9kZQorICAgICAqIHRoZSAzMi1iaXQgc3RydWN0 dXJlIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCisgICAgICovCit9OworCitzdHJ1Y3QgdmNwdV9o dm1fY29udGV4dCB7CisjZGVmaW5lIFZDUFVfSFZNX01PREVfMzJCIDAgIC8qIDMyYml0IGZpZWxk cyBvZiB0aGUgc3RydWN0dXJlIHdpbGwgYmUgdXNlZC4gKi8KKyNkZWZpbmUgVkNQVV9IVk1fTU9E RV82NEIgMSAgLyogNjRiaXQgZmllbGRzIG9mIHRoZSBzdHJ1Y3R1cmUgd2lsbCBiZSB1c2VkLiAq LworICAgIHVpbnQzMl90IG1vZGU7CisKKyAgICB1aW50MzJfdCBwYWQ7CisKKyAgICAvKiBDUFUg cmVnaXN0ZXJzLiAqLworICAgIHVuaW9uIHsKKyAgICAgICAgc3RydWN0IHZjcHVfaHZtX3g4Nl8z MiB4ODZfMzI7CisgICAgICAgIHN0cnVjdCB2Y3B1X2h2bV94ODZfNjQgeDg2XzY0OworICAgIH0g Y3B1X3JlZ3M7Cit9OwordHlwZWRlZiBzdHJ1Y3QgdmNwdV9odm1fY29udGV4dCB2Y3B1X2h2bV9j b250ZXh0X3Q7CisKKyNlbmRpZiAvKiBfX1hFTl9QVUJMSUNfSFZNX0hWTV9WQ1BVX0hfXyAqLwor CisvKgorICogTG9jYWwgdmFyaWFibGVzOgorICogbW9kZTogQworICogYy1maWxlLXN0eWxlOiAi QlNEIgorICogYy1iYXNpYy1vZmZzZXQ6IDQKKyAqIHRhYi13aWR0aDogNAorICogaW5kZW50LXRh YnMtbW9kZTogbmlsCisgKiBFbmQ6CisgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUveGVuL2ludGVy ZmFjZS9odm0vc3RhcnRfaW5mby5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL2h2bS9zdGFydF9p bmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ4NDE1OQotLS0gL2Rl di9udWxsCisrKyBiL2luY2x1ZGUveGVuL2ludGVyZmFjZS9odm0vc3RhcnRfaW5mby5oCkBAIC0w LDAgKzEsOTggQEAKKy8qCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9m IGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CisgKiBvZiB0aGlzIHNvZnR3 YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwg dG8KKyAqIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGlu ZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlCisgKiByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqIHNlbGwg Y29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhl IFNvZnR3YXJlIGlzCisgKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxv d2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0 aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwgY29waWVz IG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBUSEUgU09G VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg RVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUg V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKKyAq IEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERB TUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09O VFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9NLCBPVVQgT0YgT1IgSU4g Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSCisgKiBERUFM SU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE2LCBDaXRyaXgg U3lzdGVtcywgSW5jLgorICovCisKKyNpZm5kZWYgX19YRU5fUFVCTElDX0FSQ0hfWDg2X0hWTV9T VEFSVF9JTkZPX0hfXworI2RlZmluZSBfX1hFTl9QVUJMSUNfQVJDSF9YODZfSFZNX1NUQVJUX0lO Rk9fSF9fCisKKy8qCisgKiBTdGFydCBvZiBkYXkgc3RydWN0dXJlIHBhc3NlZCB0byBQVkggZ3Vl c3RzIGFuZCB0byBIVk0gZ3Vlc3RzIGluICVlYnguCisgKgorICogTk9URTogbm90aGluZyB3aWxs IGJlIGxvYWRlZCBhdCBwaHlzaWNhbCBhZGRyZXNzIDAsIHNvIGEgMCB2YWx1ZSBpbiBhbnkKKyAq IG9mIHRoZSBhZGRyZXNzIGZpZWxkcyBzaG91bGQgYmUgdHJlYXRlZCBhcyBub3QgcHJlc2VudC4K KyAqCisgKiAgMCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgbWFnaWMgICAgICAgICAgfCBD b250YWlucyB0aGUgbWFnaWMgdmFsdWUgWEVOX0hWTV9TVEFSVF9NQUdJQ19WQUxVRQorICogICAg fCAgICAgICAgICAgICAgICB8ICgieEVuMyIgd2l0aCB0aGUgMHg4MCBiaXQgb2YgdGhlICJFIiBz ZXQpLgorICogIDQgKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IHZlcnNpb24gICAgICAgIHwg VmVyc2lvbiBvZiB0aGlzIHN0cnVjdHVyZS4gQ3VycmVudCB2ZXJzaW9uIGlzIDAuIE5ldworICog ICAgfCAgICAgICAgICAgICAgICB8IHZlcnNpb25zIGFyZSBndWFyYW50ZWVkIHRvIGJlIGJhY2t3 YXJkcy1jb21wYXRpYmxlLgorICogIDggKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IGZsYWdz ICAgICAgICAgIHwgU0lGX3h4eCBmbGFncy4KKyAqIDEyICstLS0tLS0tLS0tLS0tLS0tKworICog ICAgfCBucl9tb2R1bGVzICAgICB8IE51bWJlciBvZiBtb2R1bGVzIHBhc3NlZCB0byB0aGUga2Vy bmVsLgorICogMTYgKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAgICB8IG1vZGxpc3RfcGFkZHIgIHwg UGh5c2ljYWwgYWRkcmVzcyBvZiBhbiBhcnJheSBvZiBtb2R1bGVzCisgKiAgICB8ICAgICAgICAg ICAgICAgIHwgKGxheW91dCBvZiB0aGUgc3RydWN0dXJlIGJlbG93KS4KKyAqIDI0ICstLS0tLS0t LS0tLS0tLS0tKworICogICAgfCBjbWRsaW5lX3BhZGRyICB8IFBoeXNpY2FsIGFkZHJlc3Mgb2Yg dGhlIGNvbW1hbmQgbGluZSwKKyAqICAgIHwgICAgICAgICAgICAgICAgfCBhIHplcm8tdGVybWlu YXRlZCBBU0NJSSBzdHJpbmcuCisgKiAzMiArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgcnNk cF9wYWRkciAgICAgfCBQaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBSU0RQIEFDUEkgZGF0YSBzdHJ1 Y3R1cmUuCisgKiA0MCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqCisgKiBUaGUgbGF5b3V0IG9mIGVh Y2ggZW50cnkgaW4gdGhlIG1vZHVsZSBzdHJ1Y3R1cmUgaXMgdGhlIGZvbGxvd2luZzoKKyAqCisg KiAgMCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgcGFkZHIgICAgICAgICAgfCBQaHlzaWNh bCBhZGRyZXNzIG9mIHRoZSBtb2R1bGUuCisgKiAgOCArLS0tLS0tLS0tLS0tLS0tLSsKKyAqICAg IHwgc2l6ZSAgICAgICAgICAgfCBTaXplIG9mIHRoZSBtb2R1bGUgaW4gYnl0ZXMuCisgKiAxNiAr LS0tLS0tLS0tLS0tLS0tLSsKKyAqICAgIHwgY21kbGluZV9wYWRkciAgfCBQaHlzaWNhbCBhZGRy ZXNzIG9mIHRoZSBjb21tYW5kIGxpbmUsCisgKiAgICB8ICAgICAgICAgICAgICAgIHwgYSB6ZXJv LXRlcm1pbmF0ZWQgQVNDSUkgc3RyaW5nLgorICogMjQgKy0tLS0tLS0tLS0tLS0tLS0rCisgKiAg ICB8IHJlc2VydmVkICAgICAgIHwKKyAqIDMyICstLS0tLS0tLS0tLS0tLS0tKworICoKKyAqIFRo ZSBhZGRyZXNzIGFuZCBzaXplcyBhcmUgYWx3YXlzIGEgNjRiaXQgbGl0dGxlIGVuZGlhbiB1bnNp Z25lZCBpbnRlZ2VyLgorICoKKyAqIE5COiBYZW4gb24geDg2IHdpbGwgYWx3YXlzIHRyeSB0byBw bGFjZSBhbGwgdGhlIGRhdGEgYmVsb3cgdGhlIDRHaUIKKyAqIGJvdW5kYXJ5LgorICovCisjZGVm aW5lIFhFTl9IVk1fU1RBUlRfTUFHSUNfVkFMVUUgMHgzMzZlYzU3OAorCisvKgorICogQyByZXBy ZXNlbnRhdGlvbiBvZiB0aGUgeDg2L0hWTSBzdGFydCBpbmZvIGxheW91dC4KKyAqCisgKiBUaGUg Y2Fub25pY2FsIGRlZmluaXRpb24gb2YgdGhpcyBsYXlvdXQgaXMgYWJvdmUsIHRoaXMgaXMganVz dCBhIHdheSB0bworICogcmVwcmVzZW50IHRoZSBsYXlvdXQgZGVzY3JpYmVkIHRoZXJlIHVzaW5n IEMgdHlwZXMuCisgKi8KK3N0cnVjdCBodm1fc3RhcnRfaW5mbyB7CisgICAgdWludDMyX3QgbWFn aWM7ICAgICAgICAgICAgIC8qIENvbnRhaW5zIHRoZSBtYWdpYyB2YWx1ZSAweDMzNmVjNTc4ICAg ICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qICgieEVuMyIgd2l0aCB0 aGUgMHg4MCBiaXQgb2YgdGhlICJFIiBzZXQpLiovCisgICAgdWludDMyX3QgdmVyc2lvbjsgICAg ICAgICAgIC8qIFZlcnNpb24gb2YgdGhpcyBzdHJ1Y3R1cmUuICAgICAgICAgICAgICAgICovCisg ICAgdWludDMyX3QgZmxhZ3M7ICAgICAgICAgICAgIC8qIFNJRl94eHggZmxhZ3MuICAgICAgICAg ICAgICAgICAgICAgICAgICAgICovCisgICAgdWludDMyX3QgbnJfbW9kdWxlczsgICAgICAgIC8q IE51bWJlciBvZiBtb2R1bGVzIHBhc3NlZCB0byB0aGUga2VybmVsLiAgICovCisgICAgdWludDY0 X3QgbW9kbGlzdF9wYWRkcjsgICAgIC8qIFBoeXNpY2FsIGFkZHJlc3Mgb2YgYW4gYXJyYXkgb2Yg ICAgICAgICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGh2bV9tb2Rs aXN0X2VudHJ5LiAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAgdWludDY0X3QgY21kbGlu ZV9wYWRkcjsgICAgIC8qIFBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIGNvbW1hbmQgbGluZS4gICAg ICovCisgICAgdWludDY0X3QgcnNkcF9wYWRkcjsgICAgICAgIC8qIFBoeXNpY2FsIGFkZHJlc3Mg b2YgdGhlIFJTRFAgQUNQSSBkYXRhICAgICovCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8qIHN0cnVjdHVyZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCit9Owor CitzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgeworICAgIHVpbnQ2NF90IHBhZGRyOyAgICAgICAg ICAgICAvKiBQaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBtb2R1bGUuICAgICAgICAgICAqLworICAg IHVpbnQ2NF90IHNpemU7ICAgICAgICAgICAgICAvKiBTaXplIG9mIHRoZSBtb2R1bGUgaW4gYnl0 ZXMuICAgICAgICAgICAgICAqLworICAgIHVpbnQ2NF90IGNtZGxpbmVfcGFkZHI7ICAgICAvKiBQ aHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBjb21tYW5kIGxpbmUuICAgICAqLworICAgIHVpbnQ2NF90 IHJlc2VydmVkOworfTsKKworI2VuZGlmIC8qIF9fWEVOX1BVQkxJQ19BUkNIX1g4Nl9IVk1fU1RB UlRfSU5GT19IX18gKi8KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==