From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [PATCH v10 13/32] ARM: vGICv3: handle virtual LPI pending and property tables Date: Fri, 26 May 2017 18:35:21 +0100 Message-ID: <20170526173540.10066-14-andre.przywara@arm.com> References: <20170526173540.10066-1-andre.przywara@arm.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 1dEJ9j-0005G4-JX for xen-devel@lists.xenproject.org; Fri, 26 May 2017 17:36:07 +0000 In-Reply-To: <20170526173540.10066-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org QWxsb3cgYSBndWVzdCB0byBwcm92aWRlIHRoZSBhZGRyZXNzIGFuZCBzaXplIGZvciB0aGUgbWVt b3J5IHJlZ2lvbnMKaXQgaGFzIHJlc2VydmVkIGZvciB0aGUgR0lDdjMgcGVuZGluZyBhbmQgcHJv cGVydHkgdGFibGVzLgpXZSBzYW5pdGlzZSB0aGUgdmFyaW91cyBmaWVsZHMgb2YgdGhlIHJlc3Bl Y3RpdmUgcmVkaXN0cmlidXRvcgpyZWdpc3RlcnMuClRoZSBNTUlPIHJlYWQgYW5kIHdyaXRlIGFj Y2Vzc2VzIGFyZSBwcm90ZWN0ZWQgYnkgbG9ja3MsIHRvIGF2b2lkIGFueQpjaGFuZ2luZyBvZiB0 aGUgcHJvcGVydHkgb3IgcGVuZGluZyB0YWJsZSBhZGRyZXNzIHdoaWxlIGEgcmVkaXN0cmlidXRv cgppcyBsaXZlIGFuZCBhbHNvIHRvIHByb3RlY3QgdGhlIG5vbi1hdG9taWMgdmdpY19yZWc2NF9l eHRyYWN0KCkgZnVuY3Rpb24Kb24gdGhlIE1NSU8gcmVhZCBzaWRlLgoKU2lnbmVkLW9mZi1ieTog QW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3YXJhQGFybS5jb20+ClJldmlld2VkLWJ5OiBKdWxp ZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhlbi9hcmNoL2FybS92Z2ljLXYz LmMgICAgICAgfCAxNjQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LQogeGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaCB8ICAgOSArKysKIDIgZmlsZXMgY2hhbmdl ZCwgMTYxIGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS92Z2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy12My5jCmluZGV4IGM4NTc1NTAu LmI5NjZmYzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMKKysrIGIveGVuL2Fy Y2gvYXJtL3ZnaWMtdjMuYwpAQCAtMjMzLDEyICsyMzMsMjkgQEAgc3RhdGljIGludCBfX3ZnaWNf djNfcmRpc3RyX3JkX21taW9fcmVhZChzdHJ1Y3QgdmNwdSAqdiwgbW1pb19pbmZvX3QgKmluZm8s CiAgICAgICAgIGdvdG8gcmVhZF9yZXNlcnZlZDsKIAogICAgIGNhc2UgVlJFRzY0KEdJQ1JfUFJP UEJBU0VSKToKLSAgICAgICAgLyogTFBJJ3Mgbm90IGltcGxlbWVudGVkICovCi0gICAgICAgIGdv dG8gcmVhZF9hc196ZXJvXzY0OworICAgICAgICBpZiAoICF2LT5kb21haW4tPmFyY2gudmdpYy5o YXNfaXRzICkKKyAgICAgICAgICAgIGdvdG8gcmVhZF9hc196ZXJvXzY0OworICAgICAgICBpZiAo ICF2Z2ljX3JlZzY0X2NoZWNrX2FjY2VzcyhkYWJ0KSApIGdvdG8gYmFkX3dpZHRoOworCisgICAg ICAgIHZnaWNfbG9jayh2KTsKKyAgICAgICAgKnIgPSB2Z2ljX3JlZzY0X2V4dHJhY3Qodi0+ZG9t YWluLT5hcmNoLnZnaWMucmRpc3RfcHJvcGJhc2UsIGluZm8pOworICAgICAgICB2Z2ljX3VubG9j ayh2KTsKKyAgICAgICAgcmV0dXJuIDE7CiAKICAgICBjYXNlIFZSRUc2NChHSUNSX1BFTkRCQVNF Uik6Ci0gICAgICAgIC8qIExQSSdzIG5vdCBpbXBsZW1lbnRlZCAqLwotICAgICAgICBnb3RvIHJl YWRfYXNfemVyb182NDsKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKyAg ICAgICAgaWYgKCAhdi0+ZG9tYWluLT5hcmNoLnZnaWMuaGFzX2l0cyApCisgICAgICAgICAgICBn b3RvIHJlYWRfYXNfemVyb182NDsKKyAgICAgICAgaWYgKCAhdmdpY19yZWc2NF9jaGVja19hY2Nl c3MoZGFidCkgKSBnb3RvIGJhZF93aWR0aDsKKworICAgICAgICBzcGluX2xvY2tfaXJxc2F2ZSgm di0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKKyAgICAgICAgKnIgPSB2Z2ljX3JlZzY0X2V4dHJh Y3Qodi0+YXJjaC52Z2ljLnJkaXN0X3BlbmRiYXNlLCBpbmZvKTsKKyAgICAgICAgKnIgJj0gfkdJ Q1JfUEVOREJBU0VSX1BUWjsgICAgICAgLyogV08sIHJlYWRzIGFzIDAgKi8KKyAgICAgICAgc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmdi0+YXJjaC52Z2ljLmxvY2ssIGZsYWdzKTsKKyAgICAgICAg cmV0dXJuIDE7CisgICAgfQogCiAgICAgY2FzZSAweDAwODA6CiAgICAgICAgIGdvdG8gcmVhZF9y ZXNlcnZlZDsKQEAgLTMzNSwxMSArMzUyLDk1IEBAIHJlYWRfdW5rbm93bjoKICAgICByZXR1cm4g MTsKIH0KIAorc3RhdGljIHVpbnQ2NF90IHZnaWNfc2FuaXRpc2VfZmllbGQodWludDY0X3QgcmVn LCB1aW50NjRfdCBmaWVsZF9tYXNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgaW50IGZpZWxkX3NoaWZ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dWludDY0X3QgKCpzYW5pdGlzZV9mbikodWludDY0X3QpKQoreworICAgIHVpbnQ2NF90IGZpZWxk ID0gKHJlZyAmIGZpZWxkX21hc2spID4+IGZpZWxkX3NoaWZ0OworCisgICAgZmllbGQgPSBzYW5p dGlzZV9mbihmaWVsZCkgPDwgZmllbGRfc2hpZnQ7CisKKyAgICByZXR1cm4gKHJlZyAmIH5maWVs ZF9tYXNrKSB8IGZpZWxkOworfQorCisvKiBXZSB3YW50IHRvIGF2b2lkIG91dGVyIHNoYXJlYWJs ZS4gKi8KK3N0YXRpYyB1aW50NjRfdCB2Z2ljX3Nhbml0aXNlX3NoYXJlYWJpbGl0eSh1aW50NjRf dCBmaWVsZCkKK3sKKyAgICBzd2l0Y2ggKCBmaWVsZCApCisgICAgeworICAgIGNhc2UgR0lDX0JB U0VSX091dGVyU2hhcmVhYmxlOgorICAgICAgICByZXR1cm4gR0lDX0JBU0VSX0lubmVyU2hhcmVh YmxlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiBmaWVsZDsKKyAgICB9Cit9CisKKy8q IEF2b2lkIGFueSBpbm5lciBub24tY2FjaGVhYmxlIG1hcHBpbmcuICovCitzdGF0aWMgdWludDY0 X3QgdmdpY19zYW5pdGlzZV9pbm5lcl9jYWNoZWFiaWxpdHkodWludDY0X3QgZmllbGQpCit7Cisg ICAgc3dpdGNoICggZmllbGQgKQorICAgIHsKKyAgICBjYXNlIEdJQ19CQVNFUl9DQUNIRV9uQ25C OgorICAgIGNhc2UgR0lDX0JBU0VSX0NBQ0hFX25DOgorICAgICAgICByZXR1cm4gR0lDX0JBU0VS X0NBQ0hFX1JhV2I7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIGZpZWxkOworICAgIH0K K30KKworLyogTm9uLWNhY2hlYWJsZSBvciBzYW1lLWFzLWlubmVyIGFyZSBPSy4gKi8KK3N0YXRp YyB1aW50NjRfdCB2Z2ljX3Nhbml0aXNlX291dGVyX2NhY2hlYWJpbGl0eSh1aW50NjRfdCBmaWVs ZCkKK3sKKyAgICBzd2l0Y2ggKCBmaWVsZCApCisgICAgeworICAgIGNhc2UgR0lDX0JBU0VSX0NB Q0hFX1NhbWVBc0lubmVyOgorICAgIGNhc2UgR0lDX0JBU0VSX0NBQ0hFX25DOgorICAgICAgICBy ZXR1cm4gZmllbGQ7CisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEdJQ19CQVNFUl9DQUNI RV9uQzsKKyAgICB9Cit9CisKK3N0YXRpYyB1aW50NjRfdCBzYW5pdGl6ZV9wcm9wYmFzZXIodWlu dDY0X3QgcmVnKQoreworICAgIHJlZyA9IHZnaWNfc2FuaXRpc2VfZmllbGQocmVnLCBHSUNSX1BS T1BCQVNFUl9TSEFSRUFCSUxJVFlfTUFTSywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdJQ1JfUFJPUEJBU0VSX1NIQVJFQUJJTElUWV9TSElGVCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZnaWNfc2FuaXRpc2Vfc2hhcmVhYmlsaXR5KTsKKyAgICByZWcgPSB2Z2ljX3Nh bml0aXNlX2ZpZWxkKHJlZywgR0lDUl9QUk9QQkFTRVJfSU5ORVJfQ0FDSEVBQklMSVRZX01BU0ss CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHSUNSX1BST1BCQVNFUl9JTk5FUl9DQUNI RUFCSUxJVFlfU0hJRlQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Z2ljX3Nhbml0 aXNlX2lubmVyX2NhY2hlYWJpbGl0eSk7CisgICAgcmVnID0gdmdpY19zYW5pdGlzZV9maWVsZChy ZWcsIEdJQ1JfUFJPUEJBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9NQVNLLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR0lDUl9QUk9QQkFTRVJfT1VURVJfQ0FDSEVBQklMSVRZX1NISUZU LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdpY19zYW5pdGlzZV9vdXRlcl9jYWNo ZWFiaWxpdHkpOworCisgICAgcmVnICY9IH5HSUNSX1BST1BCQVNFUl9SRVMwX01BU0s7CisKKyAg ICByZXR1cm4gcmVnOworfQorCitzdGF0aWMgdWludDY0X3Qgc2FuaXRpemVfcGVuZGJhc2VyKHVp bnQ2NF90IHJlZykKK3sKKyAgICByZWcgPSB2Z2ljX3Nhbml0aXNlX2ZpZWxkKHJlZywgR0lDUl9Q RU5EQkFTRVJfU0hBUkVBQklMSVRZX01BU0ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHSUNSX1BFTkRCQVNFUl9TSEFSRUFCSUxJVFlfU0hJRlQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2Z2ljX3Nhbml0aXNlX3NoYXJlYWJpbGl0eSk7CisgICAgcmVnID0gdmdpY19z YW5pdGlzZV9maWVsZChyZWcsIEdJQ1JfUEVOREJBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9NQVNL LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0lDUl9QRU5EQkFTRVJfSU5ORVJfQ0FD SEVBQklMSVRZX1NISUZULAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmdpY19zYW5p dGlzZV9pbm5lcl9jYWNoZWFiaWxpdHkpOworICAgIHJlZyA9IHZnaWNfc2FuaXRpc2VfZmllbGQo cmVnLCBHSUNSX1BFTkRCQVNFUl9PVVRFUl9DQUNIRUFCSUxJVFlfTUFTSywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEdJQ1JfUEVOREJBU0VSX09VVEVSX0NBQ0hFQUJJTElUWV9TSElG VCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZnaWNfc2FuaXRpc2Vfb3V0ZXJfY2Fj aGVhYmlsaXR5KTsKKworICAgIHJlZyAmPSB+R0lDUl9QRU5EQkFTRVJfUkVTMF9NQVNLOworCisg ICAgcmV0dXJuIHJlZzsKK30KKwogc3RhdGljIGludCBfX3ZnaWNfdjNfcmRpc3RyX3JkX21taW9f d3JpdGUoc3RydWN0IHZjcHUgKnYsIG1taW9faW5mb190ICppbmZvLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZ2ljcl9yZWcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWdpc3Rlcl90IHIpCiB7CiAgICAgc3Ry dWN0IGhzcl9kYWJ0IGRhYnQgPSBpbmZvLT5kYWJ0OworICAgIHVpbnQ2NF90IHJlZzsKIAogICAg IHN3aXRjaCAoIGdpY3JfcmVnICkKICAgICB7CkBAIC0zNzAsMzYgKzQ3MSw3NSBAQCBzdGF0aWMg aW50IF9fdmdpY192M19yZGlzdHJfcmRfbW1pb193cml0ZShzdHJ1Y3QgdmNwdSAqdiwgbW1pb19p bmZvX3QgKmluZm8sCiAgICAgICAgIGdvdG8gd3JpdGVfaW1wbF9kZWZpbmVkOwogCiAgICAgY2Fz ZSBWUkVHNjQoR0lDUl9TRVRMUElSKToKLSAgICAgICAgLyogTFBJIGlzIG5vdCBpbXBsZW1lbnRl ZCAqLworICAgICAgICAvKiBMUElzIHdpdGhvdXQgYW4gSVRTIGFyZSBub3QgaW1wbGVtZW50ZWQg Ki8KICAgICAgICAgZ290byB3cml0ZV9pZ25vcmVfNjQ7CiAKICAgICBjYXNlIFZSRUc2NChHSUNS X0NMUkxQSVIpOgotICAgICAgICAvKiBMUEkgaXMgbm90IGltcGxlbWVudGVkICovCisgICAgICAg IC8qIExQSXMgd2l0aG91dCBhbiBJVFMgYXJlIG5vdCBpbXBsZW1lbnRlZCAqLwogICAgICAgICBn b3RvIHdyaXRlX2lnbm9yZV82NDsKIAogICAgIGNhc2UgMHgwMDUwOgogICAgICAgICBnb3RvIHdy aXRlX3Jlc2VydmVkOwogCiAgICAgY2FzZSBWUkVHNjQoR0lDUl9QUk9QQkFTRVIpOgotICAgICAg ICAvKiBMUEkgaXMgbm90IGltcGxlbWVudGVkICovCi0gICAgICAgIGdvdG8gd3JpdGVfaWdub3Jl XzY0OworICAgICAgICBpZiAoICF2LT5kb21haW4tPmFyY2gudmdpYy5oYXNfaXRzICkKKyAgICAg ICAgICAgIGdvdG8gd3JpdGVfaWdub3JlXzY0OworICAgICAgICBpZiAoICF2Z2ljX3JlZzY0X2No ZWNrX2FjY2VzcyhkYWJ0KSApIGdvdG8gYmFkX3dpZHRoOworCisgICAgICAgIHZnaWNfbG9jayh2 KTsKKworICAgICAgICAvKgorICAgICAgICAgKiBXcml0aW5nIFBST1BCQVNFUiB3aXRoIGFueSBy ZWRpc3RyaWJ1dG9yIGhhdmluZyBMUElzIGVuYWJsZWQKKyAgICAgICAgICogaXMgVU5QUkVESUNU QUJMRS4KKyAgICAgICAgICovCisgICAgICAgIGlmICggISh2LT5kb21haW4tPmFyY2gudmdpYy5y ZGlzdHNfZW5hYmxlZCkgKQorICAgICAgICB7CisgICAgICAgICAgICByZWcgPSB2LT5kb21haW4t PmFyY2gudmdpYy5yZGlzdF9wcm9wYmFzZTsKKyAgICAgICAgICAgIHZnaWNfcmVnNjRfdXBkYXRl KCZyZWcsIHIsIGluZm8pOworICAgICAgICAgICAgcmVnID0gc2FuaXRpemVfcHJvcGJhc2VyKHJl Zyk7CisgICAgICAgICAgICB2LT5kb21haW4tPmFyY2gudmdpYy5yZGlzdF9wcm9wYmFzZSA9IHJl ZzsKKyAgICAgICAgfQorCisgICAgICAgIHZnaWNfdW5sb2NrKHYpOworCisgICAgICAgIHJldHVy biAxOwogCiAgICAgY2FzZSBWUkVHNjQoR0lDUl9QRU5EQkFTRVIpOgotICAgICAgICAvKiBMUEkg aXMgbm90IGltcGxlbWVudGVkICovCi0gICAgICAgIGdvdG8gd3JpdGVfaWdub3JlXzY0OworICAg IHsKKyAgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKKworICAgICAgICBpZiAoICF2LT5kb21h aW4tPmFyY2gudmdpYy5oYXNfaXRzICkKKyAgICAgICAgICAgIGdvdG8gd3JpdGVfaWdub3JlXzY0 OworICAgICAgICBpZiAoICF2Z2ljX3JlZzY0X2NoZWNrX2FjY2VzcyhkYWJ0KSApIGdvdG8gYmFk X3dpZHRoOworCisgICAgICAgIHNwaW5fbG9ja19pcnFzYXZlKCZ2LT5hcmNoLnZnaWMubG9jaywg ZmxhZ3MpOworCisgICAgICAgIC8qIFdyaXRpbmcgUEVOREJBU0VSIHdpdGggTFBJcyBlbmFibGVk IGlzIFVOUFJFRElDVEFCTEUuICovCisgICAgICAgIGlmICggISh2LT5hcmNoLnZnaWMuZmxhZ3Mg JiBWR0lDX1YzX0xQSVNfRU5BQkxFRCkgKQorICAgICAgICB7CisgICAgICAgICAgICByZWcgPSB2 LT5hcmNoLnZnaWMucmRpc3RfcGVuZGJhc2U7CisgICAgICAgICAgICB2Z2ljX3JlZzY0X3VwZGF0 ZSgmcmVnLCByLCBpbmZvKTsKKyAgICAgICAgICAgIHJlZyA9IHNhbml0aXplX3BlbmRiYXNlcihy ZWcpOworICAgICAgICAgICAgdi0+YXJjaC52Z2ljLnJkaXN0X3BlbmRiYXNlID0gcmVnOworICAg ICAgICB9CisKKyAgICAgICAgc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdi0+YXJjaC52Z2ljLmxv Y2ssIGZhbHNlKTsKKworICAgICAgICByZXR1cm4gMTsKKyAgICB9CiAKICAgICBjYXNlIDB4MDA4 MDoKICAgICAgICAgZ290byB3cml0ZV9yZXNlcnZlZDsKIAogICAgIGNhc2UgVlJFRzY0KEdJQ1Jf SU5WTFBJUik6Ci0gICAgICAgIC8qIExQSSBpcyBub3QgaW1wbGVtZW50ZWQgKi8KKyAgICAgICAg LyogTFBJcyB3aXRob3V0IGFuIElUUyBhcmUgbm90IGltcGxlbWVudGVkICovCiAgICAgICAgIGdv dG8gd3JpdGVfaWdub3JlXzY0OwogCiAgICAgY2FzZSAweDAwQTg6CiAgICAgICAgIGdvdG8gd3Jp dGVfcmVzZXJ2ZWQ7CiAKICAgICBjYXNlIFZSRUc2NChHSUNSX0lOVkFMTFIpOgotICAgICAgICAv KiBMUEkgaXMgbm90IGltcGxlbWVudGVkICovCisgICAgICAgIC8qIExQSXMgd2l0aG91dCBhbiBJ VFMgYXJlIG5vdCBpbXBsZW1lbnRlZCAqLwogICAgICAgICBnb3RvIHdyaXRlX2lnbm9yZV82NDsK IAogICAgIGNhc2UgMHgwMEI4OgpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLWFybS9kb21h aW4uaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZG9tYWluLmgKaW5kZXggZWJhZWEzNS4uYjMzZjU0 YSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLWFybS9kb21haW4uaAorKysgYi94ZW4vaW5j bHVkZS9hc20tYXJtL2RvbWFpbi5oCkBAIC0xMDksMTEgKzEwOSwxOSBAQCBzdHJ1Y3QgYXJjaF9k b21haW4KICAgICAgICAgfSAqcmRpc3RfcmVnaW9uczsKICAgICAgICAgaW50IG5yX3JlZ2lvbnM7 ICAgICAgICAgICAgICAgICAgICAgLyogTnVtYmVyIG9mIHJkaXN0IHJlZ2lvbnMgKi8KICAgICAg ICAgdWludDMyX3QgcmRpc3Rfc3RyaWRlOyAgICAgICAgICAgICAgLyogUmUtRGlzdHJpYnV0b3Ig c3RyaWRlICovCisgICAgICAgIHVuc2lnbmVkIGxvbmcgaW50IG5yX2xwaXM7CisgICAgICAgIHVp bnQ2NF90IHJkaXN0X3Byb3BiYXNlOwogICAgICAgICBzdHJ1Y3QgcmJfcm9vdCBpdHNfZGV2aWNl czsgICAgICAgICAvKiBEZXZpY2VzIG1hcHBlZCB0byBhbiBJVFMgKi8KICAgICAgICAgc3Bpbmxv Y2tfdCBpdHNfZGV2aWNlc19sb2NrOyAgICAgICAgLyogUHJvdGVjdHMgdGhlIGl0c19kZXZpY2Vz IHRyZWUgKi8KICAgICAgICAgc3RydWN0IHJhZGl4X3RyZWVfcm9vdCBwZW5kX2xwaV90cmVlOyAv KiBTdG9yZXMgc3RydWN0IHBlbmRpbmdfaXJxJ3MgKi8KICAgICAgICAgcndsb2NrX3QgcGVuZF9s cGlfdHJlZV9sb2NrOyAgICAgICAgLyogUHJvdGVjdHMgdGhlIHBlbmRfbHBpX3RyZWUgKi8KICAg ICAgICAgdW5zaWduZWQgaW50IGludGlkX2JpdHM7CisgICAgICAgIC8qCisgICAgICAgICAqIFRP RE86IGlmIHRoZXJlIGFyZSBtb3JlIGJvb2wncyBiZWluZyBhZGRlZCBiZWxvdywgY29uc2lkZXIK KyAgICAgICAgICogYSBmbGFncyB2YXJpYWJsZSBpbnN0ZWFkLgorICAgICAgICAgKi8KKyAgICAg ICAgYm9vbCByZGlzdHNfZW5hYmxlZDsgICAgICAgICAgICAgICAgLyogSXMgYW55IHJlZGlzdHJp YnV0b3IgZW5hYmxlZD8gKi8KKyAgICAgICAgYm9vbCBoYXNfaXRzOwogI2VuZGlmCiAgICAgfSB2 Z2ljOwogCkBAIC0yNjAsNiArMjY4LDcgQEAgc3RydWN0IGFyY2hfdmNwdQogCiAgICAgICAgIC8q IEdJQ3YzOiByZWRpc3RyaWJ1dG9yIGJhc2UgYW5kIGZsYWdzIGZvciB0aGlzIHZDUFUgKi8KICAg ICAgICAgcGFkZHJfdCByZGlzdF9iYXNlOworICAgICAgICB1aW50NjRfdCByZGlzdF9wZW5kYmFz ZTsKICNkZWZpbmUgVkdJQ19WM19SRElTVF9MQVNUICAgICAgKDEgPDwgMCkgICAgICAgIC8qIGxh c3QgdkNQVSBvZiB0aGUgcmRpc3QgKi8KICNkZWZpbmUgVkdJQ19WM19MUElTX0VOQUJMRUQgICAg KDEgPDwgMSkKICAgICAgICAgdWludDhfdCBmbGFnczsKLS0gCjIuOS4wCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==