From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [RFC PATCH 03/24] ARM: GICv3 ITS: allocate device and collection table Date: Wed, 28 Sep 2016 19:24:36 +0100 Message-ID: <20160928182457.12433-4-andre.przywara@arm.com> References: <20160928182457.12433-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpJXS-0001u1-Q0 for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 18:25:02 +0000 In-Reply-To: <20160928182457.12433-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 List-Id: xen-devel@lists.xenproject.org RWFjaCBJVFMgbWFwcyBhIHBhaXIgb2YgYSBEZXZpY2VJRCAodXN1YWxseSB0aGUgUENJIGIvZC9m IHRyaXBsZXQpIGFuZAphbiBFdmVudElEICh0aGUgTVNJIHBheWxvYWQgb3IgaW50ZXJydXB0IElE KSB0byBhIHBhaXIgb2YgTFBJIG51bWJlcgphbmQgY29sbGVjdGlvbiBJRCwgd2hpY2ggcG9pbnRz IHRvIHRoZSB0YXJnZXQgQ1BVLgpUaGlzIG1hcHBpbmcgaXMgc3RvcmVkIGluIHRoZSBkZXZpY2Ug YW5kIGNvbGxlY3Rpb24gdGFibGVzLCB3aGljaCBzb2Z0d2FyZQpoYXMgdG8gcHJvdmlkZSBmb3Ig dGhlIElUUyB0byB1c2UuCkFsbG9jYXRlIHRoZSByZXF1aXJlZCBtZW1vcnkgYW5kIGhhbmQgaXQg dGhlIElUUy4KV2UgbGltaXQgdGhlIG51bWJlciBvZiBkZXZpY2VzIHRvIGNvdmVyIDQgUENJIGJ1 c3NlcyBmb3Igbm93LgoKU2lnbmVkLW9mZi1ieTogQW5kcmUgUHJ6eXdhcmEgPGFuZHJlLnByenl3 YXJhQGFybS5jb20+Ci0tLQogeGVuL2FyY2gvYXJtL2dpYy1pdHMuYyAgICAgICAgfCAxMTQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC9hcm0vZ2lj LXYzLmMgICAgICAgICB8ICAgNSArKwogeGVuL2luY2x1ZGUvYXNtLWFybS9naWMtaXRzLmggfCAg NDkgKysrKysrKysrKysrKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDE2NyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2dpYy1pdHMuYyBiL3hl bi9hcmNoL2FybS9naWMtaXRzLmMKaW5kZXggYjUyZGZmMy4uNDAyMzhhMiAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL2dpYy1pdHMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jCkBAIC0y MSw2ICsyMSw3IEBACiAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CiAjaW5jbHVkZSA8eGVu L2xpYmZkdC9saWJmZHQuaD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CisjaW5jbHVkZSA8YXNtL2lv Lmg+CiAjaW5jbHVkZSA8YXNtL2dpYy5oPgogI2luY2x1ZGUgPGFzbS9naWNfdjNfZGVmcy5oPgog I2luY2x1ZGUgPGFzbS9naWMtaXRzLmg+CkBAIC0zOCw2ICszOSwxMTkgQEAgc3RhdGljIERFRklO RV9QRVJfQ1BVKHZvaWQgKiwgcGVuZGluZ190YWJsZSk7CiAgICAgICAgIG1pbl90KHVuc2lnbmVk IGludCwgbHBpX2RhdGEuaG9zdF9scGlfYml0cywgQ09ORklHX0hPU1RfTFBJX0JJVFMpCiAjZGVm aW5lIE1BWF9IT1NUX0xQSVMgICAoQklUKE1BWF9IT1NUX0xQSV9CSVRTKSAtIDgxOTIpCiAKKyNk ZWZpbmUgQkFTRVJfQVRUUl9NQVNLICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICAgICAgKCgweDNVTCA8PCBHSVRTX0JBU0VSX1NIQVJFQUJJTElUWV9TSElG VCkgICAgICAgICAgICAgICB8IFwKKyAgICAgICAgICgweDdVTCA8PCBHSVRTX0JBU0VSX09VVEVS X0NBQ0hFQUJJTElUWV9TSElGVCkgICAgICAgICB8IFwKKyAgICAgICAgICgweDdVTCA8PCBHSVRT X0JBU0VSX0lOTkVSX0NBQ0hFQUJJTElUWV9TSElGVCkpCisjZGVmaW5lIEJBU0VSX1JPX01BU0sg ICAoR0VOTUFTSyg1MiwgNDgpIHwgR0VOTUFTSyg1OCwgNTYpKQorCitzdGF0aWMgdWludDY0X3Qg ZW5jb2RlX3BoeXNfYWRkcihwYWRkcl90IGFkZHIsIGludCBwYWdlX2JpdHMpCit7CisgICAgdWlu dDY0X3QgcmV0OworCisgICAgaWYgKCBwYWdlX2JpdHMgPCAxNikKKyAgICAgICAgcmV0dXJuICh1 aW50NjRfdClhZGRyICYgR0VOTUFTSyg0NywgcGFnZV9iaXRzKTsKKworICAgIHJldCA9IGFkZHIg JiBHRU5NQVNLKDQ3LCAxNik7CisgICAgcmV0dXJuIHJldCB8IChhZGRyICYgR0VOTUFTSyg1MSwg NDgpKSA+PiAoNDggLSAxMik7Cit9CisKK3N0YXRpYyBpbnQgZ2ljdjNfbWFwX2Jhc2VyKHZvaWQg X19pb21lbSAqYmFzZXJlZywgdWludDY0X3QgcmVnYywgaW50IG5yX2l0ZW1zKQoreworICAgIHVp bnQ2NF90IGF0dHI7CisgICAgaW50IGVudHJ5X3NpemUgPSAocmVnYyA+PiBHSVRTX0JBU0VSX0VO VFJZX1NJWkVfU0hJRlQpICYgMHgxZjsKKyAgICBpbnQgcGFnZXN6OworICAgIGludCBvcmRlcjsK KyAgICB2b2lkICpidWZmZXIgPSBOVUxMOworCisgICAgYXR0ciAgPSBHSUNfQkFTRVJfSW5uZXJT aGFyZWFibGUgPDwgR0lUU19CQVNFUl9TSEFSRUFCSUxJVFlfU0hJRlQ7CisgICAgYXR0ciB8PSBH SUNfQkFTRVJfQ0FDSEVfU2FtZUFzSW5uZXIgPDwgR0lUU19CQVNFUl9PVVRFUl9DQUNIRUFCSUxJ VFlfU0hJRlQ7CisgICAgYXR0ciB8PSBHSUNfQkFTRVJfQ0FDSEVfUmFXYVdiIDw8IEdJVFNfQkFT RVJfSU5ORVJfQ0FDSEVBQklMSVRZX1NISUZUOworCisgICAgLyoKKyAgICAgKiBMb29wIG92ZXIg dGhlIHBhZ2Ugc2l6ZXMgKDRLLCAxNkssIDY0SykgdG8gZmluZCBvdXQgd2hhdCB0aGUgaG9zdAor ICAgICAqIHN1cHBvcnRzLgorICAgICAqLworICAgIGZvciAocGFnZXN6ID0gMDsgcGFnZXN6IDwg MzsgcGFnZXN6KyspCisgICAgeworICAgICAgICB1aW50NjRfdCByZWc7CisgICAgICAgIGludCBu cl9ieXRlczsKKworICAgICAgICBucl9ieXRlcyA9IFJPVU5EVVAobnJfaXRlbXMgKiBlbnRyeV9z aXplLCBCSVQocGFnZXN6ICogMiArIDEyKSk7CisgICAgICAgIG9yZGVyID0gZ2V0X29yZGVyX2Zy b21fYnl0ZXMobnJfYnl0ZXMpOworCisgICAgICAgIGlmICggIWJ1ZmZlciApCisgICAgICAgICAg ICBidWZmZXIgPSBhbGxvY194ZW5oZWFwX3BhZ2VzKG9yZGVyLCAwKTsKKyAgICAgICAgaWYgKCAh YnVmZmVyICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgICAgIHJlZyAgPSBh dHRyOworICAgICAgICByZWcgfD0gKHBhZ2VzeiA8PCBHSVRTX0JBU0VSX1BBR0VfU0laRV9TSElG VCk7CisgICAgICAgIHJlZyB8PSBucl9ieXRlcyA+PiAocGFnZXN6ICogMiArIDEyKTsKKyAgICAg ICAgcmVnIHw9IHJlZ2MgJiBCQVNFUl9ST19NQVNLOworICAgICAgICByZWcgfD0gR0lUU19CQVNF Ul9WQUxJRDsKKyAgICAgICAgcmVnIHw9IGVuY29kZV9waHlzX2FkZHIodmlydF90b19tYWRkcihi dWZmZXIpLCBwYWdlc3ogKiAyICsgMTIpOworCisgICAgICAgIHdyaXRlcV9yZWxheGVkKHJlZywg YmFzZXJlZyk7CisgICAgICAgIHJlZ2MgPSByZWFkbF9yZWxheGVkKGJhc2VyZWcpOworCisgICAg ICAgIC8qIFRoZSBob3N0IGRpZG4ndCBsaWtlIG91ciBhdHRyaWJ1dGVzLCBqdXN0IHVzZSB3aGF0 IGl0IHJldHVybmVkLiAqLworICAgICAgICBpZiAoIChyZWdjICYgQkFTRVJfQVRUUl9NQVNLKSAh PSBhdHRyICkKKyAgICAgICAgICAgIGF0dHIgPSByZWdjICYgQkFTRVJfQVRUUl9NQVNLOworCisg ICAgICAgIC8qIElmIHRoZSBob3N0IGFjY2VwdGVkIG91ciBwYWdlIHNpemUsIHdlIGFyZSBkb25l LiAqLworICAgICAgICBpZiAoIChyZWcgJiAoM1VMIDw8IEdJVFNfQkFTRVJfUEFHRV9TSVpFX1NI SUZUKSkgPT0gcGFnZXN6ICkKKyAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIC8qIENo ZWNrIHdoZXRoZXIgb3VyIGJ1ZmZlciBpcyBhbGlnbmVkIHRvIHRoZSBuZXh0IHBhZ2Ugc2l6ZSBh bHJlYWR5LiAqLworICAgICAgICBpZiAoICEodmlydF90b19tYWRkcihidWZmZXIpICYgKEJJVChw YWdlc3ogKiAyICsgMTIgKyAyKSAtIDEpKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGZyZWVf eGVuaGVhcF9wYWdlcyhidWZmZXIsIG9yZGVyKTsKKyAgICAgICAgICAgIGJ1ZmZlciA9IE5VTEw7 CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZiAoIGJ1ZmZlciApCisgICAgICAgIGZyZWVfeGVu aGVhcF9wYWdlcyhidWZmZXIsIG9yZGVyKTsKKworICAgIHJldHVybiAtRUlOVkFMOworfQorCitp bnQgZ2ljdjNfaXRzX2luaXQoc3RydWN0IGhvc3RfaXRzICpod19pdHMpCit7CisgICAgdWludDY0 X3QgcmVnOworICAgIGludCBpOworCisgICAgaHdfaXRzLT5pdHNfYmFzZSA9IGlvcmVtYXBfbm9j YWNoZShod19pdHMtPmFkZHIsIGh3X2l0cy0+c2l6ZSk7CisgICAgaWYgKCAhaHdfaXRzLT5pdHNf YmFzZSApCisgICAgICAgIHJldHVybiAtRU5PTUVNOworCisgICAgZm9yIChpID0gMDsgaSA8IDg7 IGkrKykKKyAgICB7CisgICAgICAgIHZvaWQgX19pb21lbSAqYmFzZXJlZyA9IGh3X2l0cy0+aXRz X2Jhc2UgKyBHSVRTX0JBU0VSMCArIGkgKiA4OworICAgICAgICBpbnQgdHlwZTsKKworICAgICAg ICByZWcgPSByZWFkcV9yZWxheGVkKGJhc2VyZWcpOworICAgICAgICB0eXBlID0gKHJlZyA+PiA1 NikgJiAweDc7CisgICAgICAgIHN3aXRjaCAoIHR5cGUgKQorICAgICAgICB7CisgICAgICAgIGNh c2UgR0lUU19CQVNFUl9UWVBFX05PTkU6CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg Y2FzZSBHSVRTX0JBU0VSX1RZUEVfREVWSUNFOgorICAgICAgICAgICAgLyogVE9ETzogZmluZCBz b21lIGJldHRlciB3YXkgb2YgbGltaXRpbmcgdGhlIG51bWJlciBvZiBkZXZpY2VzICovCisgICAg ICAgICAgICBnaWN2M19tYXBfYmFzZXIoYmFzZXJlZywgcmVnLCAxMDI0KTsKKyAgICAgICAgICAg IGJyZWFrOworICAgICAgICBjYXNlIEdJVFNfQkFTRVJfVFlQRV9DT0xMRUNUSU9OOgorICAgICAg ICAgICAgZ2ljdjNfbWFwX2Jhc2VyKGJhc2VyZWcsIHJlZywgTlJfQ1BVUyk7CisgICAgICAgICAg ICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg ICB9CisgICAgfQorCisgICAgcmV0dXJuIDA7Cit9CisKIHVpbnQ2NF90IGdpY3YzX2xwaV9hbGxv Y2F0ZV9wZW5kdGFibGUodm9pZCkKIHsKICAgICB1aW50NjRfdCByZWcsIGF0dHI7CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMgYi94ZW4vYXJjaC9hcm0vZ2ljLXYzLmMKaW5kZXgg MjUzNGFhNS4uNWNmNDYxOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL2dpYy12My5jCisrKyBi L3hlbi9hcmNoL2FybS9naWMtdjMuYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgPHhlbi9p cnEuaD4KICNpbmNsdWRlIDx4ZW4vaW9jYXAuaD4KICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KKyNp bmNsdWRlIDx4ZW4vZXJyLmg+CiAjaW5jbHVkZSA8eGVuL2Vycm5vLmg+CiAjaW5jbHVkZSA8eGVu L2RlbGF5Lmg+CiAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CkBAIC0xNTQ4LDYgKzE1NDks NyBAQCBzdGF0aWMgaW50IF9faW5pdCBnaWN2M19pbml0KHZvaWQpCiB7CiAgICAgaW50IHJlcywg aTsKICAgICB1aW50MzJfdCByZWc7CisgICAgc3RydWN0IGhvc3RfaXRzICpod19pdHM7CiAKICAg ICBpZiAoICFjcHVfaGFzX2dpY3YzICkKICAgICB7CkBAIC0xNjAzLDYgKzE2MDUsOSBAQCBzdGF0 aWMgaW50IF9faW5pdCBnaWN2M19pbml0KHZvaWQpCiAgICAgcmVzID0gZ2ljdjNfY3B1X2luaXQo KTsKICAgICBnaWN2M19oeXBfaW5pdCgpOwogCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShod19p dHMsICZob3N0X2l0c19saXN0LCBlbnRyeSkKKyAgICAgICAgZ2ljdjNfaXRzX2luaXQoaHdfaXRz KTsKKwogICAgIHNwaW5fdW5sb2NrKCZnaWN2My5sb2NrKTsKIAogICAgIHJldHVybiByZXM7CmRp ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20tYXJtL2dpYy1pdHMuaCBiL3hlbi9pbmNsdWRlL2Fz bS1hcm0vZ2ljLWl0cy5oCmluZGV4IDQ4YzZjNzguLjU4OWI4ODkgMTAwNjQ0Ci0tLSBhL3hlbi9p bmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0 cy5oCkBAIC0xOCw2ICsxOCw0NyBAQAogI2lmbmRlZiBfX0FTTV9BUk1fSVRTX0hfXwogI2RlZmlu ZSBfX0FTTV9BUk1fSVRTX0hfXwogCisjZGVmaW5lIExQSV9PRkZTRVQgICAgICA4MTkyCisKKyNk ZWZpbmUgR0lUU19DVExSICAgICAgICgweDAwMCkKKyNkZWZpbmUgR0lUU19JSURSICAgICAgICgw eDAwNCkKKyNkZWZpbmUgR0lUU19UWVBFUiAgICAgICgweDAwOCkKKyNkZWZpbmUgR0lUU19DQkFT RVIgICAgICgweDA4MCkKKyNkZWZpbmUgR0lUU19DV1JJVEVSICAgICgweDA4OCkKKyNkZWZpbmUg R0lUU19DUkVBRFIgICAgICgweDA5MCkKKyNkZWZpbmUgR0lUU19CQVNFUjAgICAgICgweDEwMCkK KyNkZWZpbmUgR0lUU19CQVNFUjEgICAgICgweDEwOCkKKyNkZWZpbmUgR0lUU19CQVNFUjIgICAg ICgweDExMCkKKyNkZWZpbmUgR0lUU19CQVNFUjMgICAgICgweDExOCkKKyNkZWZpbmUgR0lUU19C QVNFUjQgICAgICgweDEyMCkKKyNkZWZpbmUgR0lUU19CQVNFUjUgICAgICgweDEyOCkKKyNkZWZp bmUgR0lUU19CQVNFUjYgICAgICgweDEzMCkKKyNkZWZpbmUgR0lUU19CQVNFUjcgICAgICgweDEz OCkKKworLyogUmVnaXN0ZXIgYml0cyAqLworI2RlZmluZSBHSVRTX0NUTFJfRU5BQkxFICAgICAw eDEKKyNkZWZpbmUgR0lUU19JSURSX1ZBTFVFICAgICAgMHgzNGMKKworI2RlZmluZSBHSVRTX0JB U0VSX1ZBTElEICAgICAgICAgICAgICAgIEJJVCg2MykKKyNkZWZpbmUgR0lUU19CQVNFUl9JTkRJ UkVDVCAgICAgICAgICAgICBCSVQoNjIpCisjZGVmaW5lIEdJVFNfQkFTRVJfSU5ORVJfQ0FDSEVB QklMSVRZX1NISUZUICAgICAgICA1OQorI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfU0hJRlQgICAg ICAgICAgIDU2CisjZGVmaW5lIEdJVFNfQkFTRVJfT1VURVJfQ0FDSEVBQklMSVRZX1NISUZUICAg ICAgICA1MworI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfTk9ORSAgICAgICAgICAgIDBVTAorI2Rl ZmluZSBHSVRTX0JBU0VSX1RZUEVfREVWSUNFICAgICAgICAgIDFVTAorI2RlZmluZSBHSVRTX0JB U0VSX1RZUEVfVkNQVSAgICAgICAgICAgIDJVTAorI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfQ1BV ICAgICAgICAgICAgIDNVTAorI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfQ09MTEVDVElPTiAgICAg IDRVTAorI2RlZmluZSBHSVRTX0JBU0VSX1RZUEVfUkVTRVJWRUQ1ICAgICAgIDVVTAorI2RlZmlu ZSBHSVRTX0JBU0VSX1RZUEVfUkVTRVJWRUQ2ICAgICAgIDZVTAorI2RlZmluZSBHSVRTX0JBU0VS X1RZUEVfUkVTRVJWRUQ3ICAgICAgIDdVTAorI2RlZmluZSBHSVRTX0JBU0VSX0VOVFJZX1NJWkVf U0hJRlQgICAgIDQ4CisjZGVmaW5lIEdJVFNfQkFTRVJfU0hBUkVBQklMSVRZX1NISUZUICAgMTAK KyNkZWZpbmUgR0lUU19CQVNFUl9QQUdFX1NJWkVfU0hJRlQgICAgICA4CisjZGVmaW5lIEdJVFNf QkFTRVJfUk9fTUFTSyAgICAgICAgICAgICAgKCg3VUwgPDwgR0lUU19CQVNFUl9UWVBFX1NISUZU KSB8IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMzFVTCA8PCBH SVRTX0JBU0VSX0VOVFJZX1NJWkVfU0hJRlQpIHxcCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgR0lUU19CQVNFUl9JTkRJUkVDVCkKKwogI2lmbmRlZiBfX0FTU0VNQkxZ X18KICNpbmNsdWRlIDx4ZW4vZGV2aWNlX3RyZWUuaD4KIApAQCAtMjcsNiArNjgsNyBAQCBzdHJ1 Y3QgaG9zdF9pdHMgewogICAgIGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqZHRfbm9kZTsK ICAgICBwYWRkcl90IGFkZHI7CiAgICAgcGFkZHJfdCBzaXplOworICAgIHZvaWQgX19pb21lbSAq aXRzX2Jhc2U7CiB9OwogCiBleHRlcm4gc3RydWN0IGxpc3RfaGVhZCBob3N0X2l0c19saXN0OwpA QCAtNDIsOCArODQsOSBAQCB2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0cnVjdCBkdF9k ZXZpY2Vfbm9kZSAqbm9kZSk7CiB1aW50NjRfdCBnaWN2M19scGlfZ2V0X3Byb3B0YWJsZSh2b2lk KTsKIHVpbnQ2NF90IGdpY3YzX2xwaV9hbGxvY2F0ZV9wZW5kdGFibGUodm9pZCk7CiAKLS8qIElu aXRpYWxpemUgdGhlIGhvc3Qgc3RydWN0dXJlcyBmb3IgTFBJcy4gKi8KKy8qIEluaXRpYWxpemUg dGhlIGhvc3Qgc3RydWN0dXJlcyBmb3IgTFBJcyBhbmQgdGhlIGhvc3QgSVRTZXMuICovCiBpbnQg Z2ljdjNfbHBpX2luaXRfaG9zdF9scGlzKGludCBucl9scGlzKTsKK2ludCBnaWN2M19pdHNfaW5p dChzdHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cyk7CiAKICNlbHNlCiAKQEAgLTYyLDYgKzEwNSwxMCBA QCBzdGF0aWMgaW5saW5lIGludCBnaWN2M19scGlfaW5pdF9ob3N0X2xwaXMoaW50IG5yX2xwaXMp CiB7CiAgICAgcmV0dXJuIDA7CiB9CitzdGF0aWMgaW5saW5lIGludCBnaWN2M19pdHNfaW5pdChz dHJ1Y3QgaG9zdF9pdHMgKmh3X2l0cykKK3sKKyAgICByZXR1cm4gMDsKK30KICNlbmRpZiAvKiBD T05GSUdfSEFTX0lUUyAqLwogCiAjZW5kaWYgLyogX19BU1NFTUJMWV9fICovCi0tIAoyLjkuMAoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4u b3JnL3hlbi1kZXZlbAo=