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=-3.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 EE324C48BD6 for ; Thu, 27 Jun 2019 15:21:03 +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 BF1C820663 for ; Thu, 27 Jun 2019 15:21:03 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BF1C820663 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.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 1hgWCg-0003ud-VX; Thu, 27 Jun 2019 15:20:50 +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 1hgWCf-0003uP-KS for xen-devel@lists.xenproject.org; Thu, 27 Jun 2019 15:20:49 +0000 X-Inumbo-ID: 234540ca-98ef-11e9-b881-8350997bd0db Received: from prv1-mh.provo.novell.com (unknown [137.65.248.33]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 234540ca-98ef-11e9-b881-8350997bd0db; Thu, 27 Jun 2019 15:20:47 +0000 (UTC) Received: from INET-PRV1-MTA by prv1-mh.provo.novell.com with Novell_GroupWise; Thu, 27 Jun 2019 09:20:46 -0600 Message-Id: <5D14DECD020000780023B984@prv1-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 18.1.1 Date: Thu, 27 Jun 2019 09:20:45 -0600 From: "Jan Beulich" To: "xen-devel" References: <5D024C500200007800237DD8@prv1-mh.provo.novell.com> <5D14DDA6020000780023B96E@prv1-mh.provo.novell.com> In-Reply-To: <5D14DDA6020000780023B96E@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Disposition: inline Subject: [Xen-devel] [PATCH v2 04/10] AMD/IOMMU: use bit field for IRTE 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: Andrew Cooper , Brian Woods , Suravee Suthikulpanit Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" QXQgdGhlIHNhbWUgdGltZSByZXN0cmljdCBpdHMgc2NvcGUgdG8ganVzdCB0aGUgc2luZ2xlIHNv dXJjZSBmaWxlCmFjdHVhbGx5IHVzaW5nIGl0LCBhbmQgYWJzdHJhY3QgYWNjZXNzZXMgYnkgaW50 cm9kdWNpbmcgYSB1bmlvbiBvZgpwb2ludGVycy4gKEEgdW5pb24gb2YgdGhlIGFjdHVhbCB0YWJs ZSBlbnRyaWVzIGlzIG5vdCB1c2VkIHRvIG1ha2UgaXQKaW1wb3NzaWJsZSB0byBbd3JvbmdseSwg b25jZSB0aGUgMTI4LWJpdCBmb3JtIGdldHMgYWRkZWRdIHBlcmZvcm0KcG9pbnRlciBhcml0aG1l dGljIC8gYXJyYXkgYWNjZXNzZXMgb24gZGVyaXZlZCB0eXBlcy4pCgpBbHNvIG1vdmUgYXdheSBm cm9tIHVwZGF0aW5nIHRoZSBlbnRyaWVzIHBpZWNlbWVhbDogQ29uc3RydWN0IGEgZnVsbCBuZXcK ZW50cnksIGFuZCB3cml0ZSBpdCBvdXQuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJl dWxpY2hAc3VzZS5jb20+Ci0tLQp2MjogbmFtZSB7Z2V0LGZyZWV9X2ludHJlbWFwX2VudHJ5KCkn cyBsYXN0IHBhcmFtZXRlciAiaW5kZXgiIGluc3RlYWQgb2YKICAgICJvZmZzZXQiLiBJbnRyb2R1 Y2UgdW5pb24gaXJ0ZTMyLgotLS0KSXQgd291bGQgaGF2ZSBiZWVuIG5pY2UgdG8gdXNlIHdyaXRl X2F0b21pYygpIG9yIEFDQ0VTU19PTkNFKCkgZm9yIHRoZQphY3R1YWwgd3JpdGVzLCBidXQgYm90 aCBjYXN0IHRoZSB2YWx1ZSB0byBhIHNjYWxhciBvbmUsIHdoaWNoIGRvZXNuJ3QKc3VpdCB1cyBo ZXJlIChhbmQgSSBhbHNvIGRpZG4ndCB3YW50IHRvIG1ha2UgdGhlIGNvbXBvdW5kIHR5cGUgYSB1 bmlvbgp3aXRoIGEgcmF3IG1lbWJlciBqdXN0IGZvciB0aGlzKS4KCi0tLSBhL3hlbi9kcml2ZXJz L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9pbnRyLmMKKysrIGIveGVuL2RyaXZlcnMvcGFzc3Rocm91 Z2gvYW1kL2lvbW11X2ludHIuYwpAQCAtMjMsNiArMjMsMjggQEAKICNpbmNsdWRlIDxhc20vaW9f YXBpYy5oPgogI2luY2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+CiAKK3N0cnVjdCBpcnRlX2Jhc2lj IHsKKyAgICB1bnNpZ25lZCBpbnQgcmVtYXBfZW46MTsKKyAgICB1bnNpZ25lZCBpbnQgc3VwX2lv X3BmOjE7CisgICAgdW5zaWduZWQgaW50IGludF90eXBlOjM7CisgICAgdW5zaWduZWQgaW50IHJx X2VvaToxOworICAgIHVuc2lnbmVkIGludCBkbToxOworICAgIHVuc2lnbmVkIGludCBndWVzdF9t b2RlOjE7IC8qIE1CWiAqLworICAgIHVuc2lnbmVkIGludCBkZXN0Ojg7CisgICAgdW5zaWduZWQg aW50IHZlY3Rvcjo4OworICAgIHVuc2lnbmVkIGludCA6ODsKK307CisKK3VuaW9uIGlydGUzMiB7 CisgICAgdWludDMyX3QgcmF3WzFdOworICAgIHN0cnVjdCBpcnRlX2Jhc2ljIGJhc2ljOworfTsK KwordW5pb24gaXJ0ZV9wdHIgeworICAgIHZvaWQgKnB0cjsKKyAgICB1bmlvbiBpcnRlMzIgKnB0 cjMyOworfTsKKwogI2RlZmluZSBJTlRSRU1BUF9UQUJMRV9PUkRFUiAgICAxCiAjZGVmaW5lIElO VFJFTUFQX0xFTkdUSCAweEIKICNkZWZpbmUgSU5UUkVNQVBfRU5UUklFUyAoMSA8PCBJTlRSRU1B UF9MRU5HVEgpCkBAIC0xMDEsNDcgKzEyMyw0NiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGFsbG9j X2ludHJlbWFwX2VudHJ5CiAgICAgcmV0dXJuIHNsb3Q7CiB9CiAKLXN0YXRpYyB1MzIgKmdldF9p bnRyZW1hcF9lbnRyeShpbnQgc2VnLCBpbnQgYmRmLCBpbnQgb2Zmc2V0KQorc3RhdGljIHVuaW9u IGlydGVfcHRyIGdldF9pbnRyZW1hcF9lbnRyeSh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25lZCBp bnQgYmRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgaW5kZXgpCiB7Ci0gICAgdTMyICp0YWJsZSA9IGdldF9pdnJzX21hcHBpbmdzKHNlZylb YmRmXS5pbnRyZW1hcF90YWJsZTsKKyAgICB1bmlvbiBpcnRlX3B0ciB0YWJsZSA9IHsKKyAgICAg ICAgLnB0ciA9IGdldF9pdnJzX21hcHBpbmdzKHNlZylbYmRmXS5pbnRyZW1hcF90YWJsZQorICAg IH07CisKKyAgICBBU1NFUlQodGFibGUucHRyICYmIChpbmRleCA8IElOVFJFTUFQX0VOVFJJRVMp KTsKIAotICAgIEFTU0VSVCggKHRhYmxlICE9IE5VTEwpICYmIChvZmZzZXQgPCBJTlRSRU1BUF9F TlRSSUVTKSApOworICAgIHRhYmxlLnB0cjMyICs9IGluZGV4OwogCi0gICAgcmV0dXJuIHRhYmxl ICsgb2Zmc2V0OworICAgIHJldHVybiB0YWJsZTsKIH0KIAotc3RhdGljIHZvaWQgZnJlZV9pbnRy ZW1hcF9lbnRyeShpbnQgc2VnLCBpbnQgYmRmLCBpbnQgb2Zmc2V0KQotewotICAgIHUzMiAqZW50 cnkgPSBnZXRfaW50cmVtYXBfZW50cnkoc2VnLCBiZGYsIG9mZnNldCk7Ci0KLSAgICBtZW1zZXQo ZW50cnksIDAsIHNpemVvZih1MzIpKTsKLSAgICBfX2NsZWFyX2JpdChvZmZzZXQsIGdldF9pdnJz X21hcHBpbmdzKHNlZylbYmRmXS5pbnRyZW1hcF9pbnVzZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHVw ZGF0ZV9pbnRyZW1hcF9lbnRyeSh1MzIqIGVudHJ5LCB1OCB2ZWN0b3IsIHU4IGludF90eXBlLAot ICAgIHU4IGRlc3RfbW9kZSwgdTggZGVzdCkKLXsKLSAgICBzZXRfZmllbGRfaW5fcmVnX3UzMihJ T01NVV9DT05UUk9MX0VOQUJMRUQsIDAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5U X1JFTUFQX0VOVFJZX1JFTUFQRU5fTUFTSywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ TlRfUkVNQVBfRU5UUllfUkVNQVBFTl9TSElGVCwgZW50cnkpOwotICAgIHNldF9maWVsZF9pbl9y ZWdfdTMyKElPTU1VX0NPTlRST0xfRElTQUJMRUQsICplbnRyeSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfU1VQSU9QRl9NQVNLLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9TVVBJT1BGX1NISUZULCBlbnRyeSk7Ci0gICAg c2V0X2ZpZWxkX2luX3JlZ191MzIoaW50X3R5cGUsICplbnRyeSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfSU5UVFlQRV9NQVNLLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9JTlRUWVBFX1NISUZULCBlbnRyeSk7Ci0gICAg c2V0X2ZpZWxkX2luX3JlZ191MzIoSU9NTVVfQ09OVFJPTF9ESVNBQkxFRCwgKmVudHJ5LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9SRVFFT0lfTUFTSywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfUkVRRU9JX1NISUZULCBl bnRyeSk7Ci0gICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoKHUzMilkZXN0X21vZGUsICplbnRyeSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfRE1fTUFTSywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfRE1fU0hJRlQsIGVudHJ5 KTsKLSAgICBzZXRfZmllbGRfaW5fcmVnX3UzMigodTMyKWRlc3QsICplbnRyeSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfREVTVF9NQVNULAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9ERVNUX1NISUZULCBlbnRyeSk7Ci0g ICAgc2V0X2ZpZWxkX2luX3JlZ191MzIoKHUzMil2ZWN0b3IsICplbnRyeSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfVkVDVE9SX01BU0ssCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgSU5UX1JFTUFQX0VOVFJZX1ZFQ1RPUl9TSElGVCwgZW50cnkpOwor c3RhdGljIHZvaWQgZnJlZV9pbnRyZW1hcF9lbnRyeSh1bnNpZ25lZCBpbnQgc2VnLCB1bnNpZ25l ZCBpbnQgYmRmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQg aW5kZXgpCit7CisgICAgdW5pb24gaXJ0ZV9wdHIgZW50cnkgPSBnZXRfaW50cmVtYXBfZW50cnko c2VnLCBiZGYsIGluZGV4KTsKKworICAgIEFDQ0VTU19PTkNFKGVudHJ5LnB0cjMyLT5yYXdbMF0p ID0gMDsKKworICAgIF9fY2xlYXJfYml0KGluZGV4LCBnZXRfaXZyc19tYXBwaW5ncyhzZWcpW2Jk Zl0uaW50cmVtYXBfaW51c2UpOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVfaW50cmVtYXBfZW50 cnkodW5pb24gaXJ0ZV9wdHIgZW50cnksIHVuc2lnbmVkIGludCB2ZWN0b3IsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGludF90eXBlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBkZXN0X21vZGUsIHVuc2lnbmVk IGludCBkZXN0KQoreworICAgIHN0cnVjdCBpcnRlX2Jhc2ljIGJhc2ljID0geworICAgICAgICAu cmVtYXBfZW4gPSAxLAorICAgICAgICAuc3VwX2lvX3BmID0gMCwKKyAgICAgICAgLmludF90eXBl ID0gaW50X3R5cGUsCisgICAgICAgIC5ycV9lb2kgPSAwLAorICAgICAgICAuZG0gPSBkZXN0X21v ZGUsCisgICAgICAgIC5kZXN0ID0gZGVzdCwKKyAgICAgICAgLnZlY3RvciA9IHZlY3RvciwKKyAg ICB9OworCisgICAgQUNDRVNTX09OQ0UoZW50cnkucHRyMzItPnJhd1swXSkgPQorICAgICAgICBj b250YWluZXJfb2YoJmJhc2ljLCB1bmlvbiBpcnRlMzIsIGJhc2ljKS0+cmF3WzBdOwogfQogCiBz dGF0aWMgaW5saW5lIGludCBnZXRfcnRlX2luZGV4KGNvbnN0IHN0cnVjdCBJT19BUElDX3JvdXRl X2VudHJ5ICpydGUpCkBAIC0xNjMsNyArMTg0LDcgQEAgc3RhdGljIGludCB1cGRhdGVfaW50cmVt YXBfZW50cnlfZnJvbV9pbwogICAgIHUxNiAqaW5kZXgpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBm bGFnczsKLSAgICB1MzIqIGVudHJ5OworICAgIHVuaW9uIGlydGVfcHRyIGVudHJ5OwogICAgIHU4 IGRlbGl2ZXJ5X21vZGUsIGRlc3QsIHZlY3RvciwgZGVzdF9tb2RlOwogICAgIGludCByZXFfaWQ7 CiAgICAgc3BpbmxvY2tfdCAqbG9jazsKQEAgLTIwMSwxMiArMjIyLDggQEAgc3RhdGljIGludCB1 cGRhdGVfaW50cmVtYXBfZW50cnlfZnJvbV9pbwogICAgICAgICAgKiBzbyBuZWVkIHRvIHJlY292 ZXIgdmVjdG9yIGFuZCBkZWxpdmVyeSBtb2RlIGZyb20gSVJURS4KICAgICAgICAgICovCiAgICAg ICAgIEFTU0VSVChnZXRfcnRlX2luZGV4KHJ0ZSkgPT0gb2Zmc2V0KTsKLSAgICAgICAgdmVjdG9y ID0gZ2V0X2ZpZWxkX2Zyb21fcmVnX3UzMigqZW50cnksCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSU5UX1JFTUFQX0VOVFJZX1ZFQ1RPUl9NQVNLLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9WRUNUT1JfU0hJ RlQpOwotICAgICAgICBkZWxpdmVyeV9tb2RlID0gZ2V0X2ZpZWxkX2Zyb21fcmVnX3UzMigqZW50 cnksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9S RU1BUF9FTlRSWV9JTlRUWVBFX01BU0ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9JTlRUWVBFX1NISUZUKTsKKyAgICAgICAg dmVjdG9yID0gZW50cnkucHRyMzItPmJhc2ljLnZlY3RvcjsKKyAgICAgICAgZGVsaXZlcnlfbW9k ZSA9IGVudHJ5LnB0cjMyLT5iYXNpYy5pbnRfdHlwZTsKICAgICB9CiAgICAgdXBkYXRlX2ludHJl bWFwX2VudHJ5KGVudHJ5LCB2ZWN0b3IsIGRlbGl2ZXJ5X21vZGUsIGRlc3RfbW9kZSwgZGVzdCk7 CiAKQEAgLTIyOCw3ICsyNDUsNyBAQCBpbnQgX19pbml0IGFtZF9pb21tdV9zZXR1cF9pb2FwaWNf cmVtYXBwCiB7CiAgICAgc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgcnRlOwogICAgIHVuc2ln bmVkIGxvbmcgZmxhZ3M7Ci0gICAgdTMyKiBlbnRyeTsKKyAgICB1bmlvbiBpcnRlX3B0ciBlbnRy eTsKICAgICBpbnQgYXBpYywgcGluOwogICAgIHU4IGRlbGl2ZXJ5X21vZGUsIGRlc3QsIHZlY3Rv ciwgZGVzdF9tb2RlOwogICAgIHUxNiBzZWcsIGJkZiwgcmVxX2lkOwpAQCAtNDA3LDE2ICs0MjQs MTQgQEAgdW5zaWduZWQgaW50IGFtZF9pb21tdV9yZWFkX2lvYXBpY19mcm9tXwogICAgICAgICB1 MTYgYmRmID0gaW9hcGljX3NiZGZbaWR4XS5iZGY7CiAgICAgICAgIHUxNiBzZWcgPSBpb2FwaWNf c2JkZltpZHhdLnNlZzsKICAgICAgICAgdTE2IHJlcV9pZCA9IGdldF9pbnRyZW1hcF9yZXF1ZXN0 b3JfaWQoc2VnLCBiZGYpOwotICAgICAgICBjb25zdCB1MzIgKmVudHJ5ID0gZ2V0X2ludHJlbWFw X2VudHJ5KHNlZywgcmVxX2lkLCBvZmZzZXQpOworICAgICAgICB1bmlvbiBpcnRlX3B0ciBlbnRy eSA9IGdldF9pbnRyZW1hcF9lbnRyeShzZWcsIHJlcV9pZCwgb2Zmc2V0KTsKIAogICAgICAgICBB U1NFUlQob2Zmc2V0ID09ICh2YWwgJiAoSU5UUkVNQVBfRU5UUklFUyAtIDEpKSk7CiAgICAgICAg IHZhbCAmPSB+KElOVFJFTUFQX0VOVFJJRVMgLSAxKTsKLSAgICAgICAgdmFsIHw9IGdldF9maWVs ZF9mcm9tX3JlZ191MzIoKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJTlRfUkVNQVBfRU5UUllfSU5UVFlQRV9NQVNLLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfSU5UVFlQRV9TSElGVCkgPDwgODsKLSAg ICAgICAgdmFsIHw9IGdldF9maWVsZF9mcm9tX3JlZ191MzIoKmVudHJ5LAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJTlRfUkVNQVBfRU5UUllfVkVDVE9SX01BU0ssCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9WRUNU T1JfU0hJRlQpOworICAgICAgICB2YWwgfD0gTUFTS19JTlNSKGVudHJ5LnB0cjMyLT5iYXNpYy5p bnRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBJT19BUElDX1JFRElSX0RFTElWX01P REVfTUFTSyk7CisgICAgICAgIHZhbCB8PSBNQVNLX0lOU1IoZW50cnkucHRyMzItPmJhc2ljLnZl Y3RvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICBJT19BUElDX1JFRElSX1ZFQ1RPUl9NQVNL KTsKICAgICB9CiAKICAgICByZXR1cm4gdmFsOwpAQCAtNDI3LDcgKzQ0Miw3IEBAIHN0YXRpYyBp bnQgdXBkYXRlX2ludHJlbWFwX2VudHJ5X2Zyb21fbXMKICAgICBpbnQgKnJlbWFwX2luZGV4LCBj b25zdCBzdHJ1Y3QgbXNpX21zZyAqbXNnLCB1MzIgKmRhdGEpCiB7CiAgICAgdW5zaWduZWQgbG9u ZyBmbGFnczsKLSAgICB1MzIqIGVudHJ5OworICAgIHVuaW9uIGlydGVfcHRyIGVudHJ5OwogICAg IHUxNiByZXFfaWQsIGFsaWFzX2lkOwogICAgIHU4IGRlbGl2ZXJ5X21vZGUsIGRlc3QsIHZlY3Rv ciwgZGVzdF9tb2RlOwogICAgIHNwaW5sb2NrX3QgKmxvY2s7CkBAIC01ODEsNyArNTk2LDcgQEAg dm9pZCBhbWRfaW9tbXVfcmVhZF9tc2lfZnJvbV9pcmUoCiAgICAgY29uc3Qgc3RydWN0IHBjaV9k ZXYgKnBkZXYgPSBtc2lfZGVzYy0+ZGV2OwogICAgIHUxNiBiZGYgPSBwZGV2ID8gUENJX0JERjIo cGRldi0+YnVzLCBwZGV2LT5kZXZmbikgOiBocGV0X3NiZGYuYmRmOwogICAgIHUxNiBzZWcgPSBw ZGV2ID8gcGRldi0+c2VnIDogaHBldF9zYmRmLnNlZzsKLSAgICBjb25zdCB1MzIgKmVudHJ5Owor ICAgIHVuaW9uIGlydGVfcHRyIGVudHJ5OwogCiAgICAgaWYgKCBJU19FUlJfT1JfTlVMTChfZmlu ZF9pb21tdV9mb3JfZGV2aWNlKHNlZywgYmRmKSkgKQogICAgICAgICByZXR1cm47CkBAIC01OTcs MTIgKzYxMiwxMCBAQCB2b2lkIGFtZF9pb21tdV9yZWFkX21zaV9mcm9tX2lyZSgKICAgICB9CiAK ICAgICBtc2ctPmRhdGEgJj0gfihJTlRSRU1BUF9FTlRSSUVTIC0gMSk7Ci0gICAgbXNnLT5kYXRh IHw9IGdldF9maWVsZF9mcm9tX3JlZ191MzIoKmVudHJ5LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9FTlRSWV9JTlRUWVBFX01BU0ssCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU5UX1JFTUFQX0VOVFJZX0lOVFRZUEVf U0hJRlQpIDw8IDg7Ci0gICAgbXNnLT5kYXRhIHw9IGdldF9maWVsZF9mcm9tX3JlZ191MzIoKmVu dHJ5LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElOVF9SRU1BUF9F TlRSWV9WRUNUT1JfTUFTSywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJTlRfUkVNQVBfRU5UUllfVkVDVE9SX1NISUZUKTsKKyAgICBtc2ctPmRhdGEgfD0gTUFTS19J TlNSKGVudHJ5LnB0cjMyLT5iYXNpYy5pbnRfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1TSV9EQVRBX0RFTElWRVJZX01PREVfTUFTSyk7CisgICAgbXNnLT5kYXRhIHw9IE1BU0tf SU5TUihlbnRyeS5wdHIzMi0+YmFzaWMudmVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgTVNJX0RBVEFfVkVDVE9SX01BU0spOwogfQogCiBpbnQgX19pbml0IGFtZF9pb21tdV9mcmVl X2ludHJlbWFwX3RhYmxlKAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlv bW11LWRlZnMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vYW1kLWlvbW11LWRl ZnMuaApAQCAtNDY5LDIyICs0NjksNiBAQCBzdHJ1Y3QgYW1kX2lvbW11X3B0ZSB7CiAjZGVmaW5l IElPTU1VX0NPTlRST0xfRElTQUJMRUQJMAogI2RlZmluZSBJT01NVV9DT05UUk9MX0VOQUJMRUQJ MQogCi0vKiBpbnRlcnJ1cHQgcmVtYXBwaW5nIHRhYmxlICovCi0jZGVmaW5lIElOVF9SRU1BUF9F TlRSWV9SRU1BUEVOX01BU0sgICAgMHgwMDAwMDAwMQotI2RlZmluZSBJTlRfUkVNQVBfRU5UUllf UkVNQVBFTl9TSElGVCAgIDAKLSNkZWZpbmUgSU5UX1JFTUFQX0VOVFJZX1NVUElPUEZfTUFTSyAg ICAweDAwMDAwMDAyCi0jZGVmaW5lIElOVF9SRU1BUF9FTlRSWV9TVVBJT1BGX1NISUZUICAgMQot I2RlZmluZSBJTlRfUkVNQVBfRU5UUllfSU5UVFlQRV9NQVNLICAgIDB4MDAwMDAwMUMKLSNkZWZp bmUgSU5UX1JFTUFQX0VOVFJZX0lOVFRZUEVfU0hJRlQgICAyCi0jZGVmaW5lIElOVF9SRU1BUF9F TlRSWV9SRVFFT0lfTUFTSyAgICAgMHgwMDAwMDAyMAotI2RlZmluZSBJTlRfUkVNQVBfRU5UUllf UkVRRU9JX1NISUZUICAgIDUKLSNkZWZpbmUgSU5UX1JFTUFQX0VOVFJZX0RNX01BU0sgICAgICAg ICAweDAwMDAwMDQwCi0jZGVmaW5lIElOVF9SRU1BUF9FTlRSWV9ETV9TSElGVCAgICAgICAgNgot I2RlZmluZSBJTlRfUkVNQVBfRU5UUllfREVTVF9NQVNUICAgICAgIDB4MDAwMEZGMDAKLSNkZWZp bmUgSU5UX1JFTUFQX0VOVFJZX0RFU1RfU0hJRlQgICAgICA4Ci0jZGVmaW5lIElOVF9SRU1BUF9F TlRSWV9WRUNUT1JfTUFTSyAgICAgMHgwMEZGMDAwMAotI2RlZmluZSBJTlRfUkVNQVBfRU5UUllf VkVDVE9SX1NISUZUICAgIDE2Ci0KICNkZWZpbmUgSU5WX0lPTU1VX0FMTF9QQUdFU19BRERSRVNT ICAgICAgKCgxVUxMIDw8IDYzKSAtIDEpCiAKICNkZWZpbmUgSU9NTVVfUklOR19CVUZGRVJfUFRS X01BU0sgICAgICAgICAgICAgICAgICAweDAwMDdGRkYwCgoKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs