From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Subject: [RFC PATCH 06/24] ARM: GICv3 ITS: introduce host LPI array Date: Wed, 28 Sep 2016 19:24:39 +0100 Message-ID: <20160928182457.12433-7-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bpJXV-0001ws-P0 for xen-devel@lists.xenproject.org; Wed, 28 Sep 2016 18:25:05 +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 VGhlIG51bWJlciBvZiBMUElzIG9uIGEgaG9zdCBjYW4gYmUgcG90ZW50aWFsbHkgaHVnZSAobWls bGlvbnMpLAphbHRob3VnaCBpbiBwcmFjdGlzZSB3aWxsIGJlIG1vc3RseSByZWFzb25hYmxlLiBT byBwcmVtYXR1cmVseSBhbGxvY2F0aW5nCmFuIGFycmF5IG9mIHN0cnVjdCBpcnFfZGVzYydzIGZv ciBlYWNoIExQSSBpcyBub3QgYW4gb3B0aW9uLgpIb3dldmVyIFhlbiBpdHNlbGYgZG9lcyBub3Qg Y2FyZSBhYm91dCBMUElzLCBhcyBldmVyeSBMUEkgd2lsbCBiZSBpbmplY3RlZAppbnRvIGEgZ3Vl c3QgKERvbTAgZm9yIG5vdykuCkNyZWF0ZSBhIGRlbnNlIGRhdGEgc3RydWN0dXJlICg4IEJ5dGVz KSBmb3IgZWFjaCBMUEkgd2hpY2ggaG9sZHMganVzdAplbm91Z2ggaW5mb3JtYXRpb24gdG8gZGV0 ZXJtaW5lIHRoZSB2aXJ0dWFsIElSUSBudW1iZXIgYW5kIHRoZSBWQ1BVIGludG8Kd2hpY2ggdGhl IExQSSBuZWVkcyB0byBiZSBpbmplY3RlZC4KQWxzbyB0byBub3QgYXJ0aWZpY2lhbGx5IGxpbWl0 IHRoZSBudW1iZXIgb2YgTFBJcywgd2UgY3JlYXRlIGEgMi1sZXZlbAp0YWJsZSBmb3IgaG9sZGlu ZyB0aG9zZSBzdHJ1Y3R1cmVzLgpUaGlzIHBhdGNoIGludHJvZHVjZXMgZnVuY3Rpb25zIHRvIGlu aXRpYWxpemUgdGhlc2UgdGFibGVzIGFuZCB0bwpjcmVhdGUsIGxvb2t1cCBhbmQgZGVzdHJveSBl bnRyaWVzIGZvciBhIGdpdmVuIExQSS4KV2UgYWxsb2NhdGUgYW5kIGFjY2VzcyBMUEkgaW5mb3Jt YXRpb24gaW4gYSB3YXkgdGhhdCBkb2VzIG5vdCByZXF1aXJlCmEgbG9jay4KClNpZ25lZC1vZmYt Ynk6IEFuZHJlIFByenl3YXJhIDxhbmRyZS5wcnp5d2FyYUBhcm0uY29tPgotLS0KIHhlbi9hcmNo L2FybS9naWMtaXRzLmMgICAgICAgIHwgMTU0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLWFybS9naWMtaXRzLmggfCAgMTggKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgMTcyIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC9hcm0vZ2ljLWl0cy5jIGIveGVuL2FyY2gvYXJtL2dpYy1pdHMuYwppbmRleCA4ODM5N2JjLi4y MTQwZTRhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vZ2ljLWl0cy5jCisrKyBiL3hlbi9hcmNo L2FybS9naWMtaXRzLmMKQEAgLTE4LDE4ICsxOCwzMSBAQAogCiAjaW5jbHVkZSA8eGVuL2NvbmZp Zy5oPgogI2luY2x1ZGUgPHhlbi9saWIuaD4KKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KICNpbmNs dWRlIDx4ZW4vZXJyLmg+CiAjaW5jbHVkZSA8eGVuL2RldmljZV90cmVlLmg+CiAjaW5jbHVkZSA8 eGVuL2xpYmZkdC9saWJmZHQuaD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CisjaW5jbHVkZSA8YXNt L2RvbWFpbi5oPgogI2luY2x1ZGUgPGFzbS9pby5oPgogI2luY2x1ZGUgPGFzbS9naWMuaD4KICNp bmNsdWRlIDxhc20vZ2ljX3YzX2RlZnMuaD4KICNpbmNsdWRlIDxhc20vZ2ljLWl0cy5oPgogCisv KiBMUElzIG9uIHRoZSBob3N0IGFsd2F5cyBnbyB0byBhIGd1ZXN0LCBzbyBubyBzdHJ1Y3QgaXJx X2Rlc2MgZm9yIHRoZW0uICovCit1bmlvbiBob3N0X2xwaSB7CisgICAgdWludDY0X3QgZGF0YTsK KyAgICBzdHJ1Y3QgeworICAgICAgICB1aW50NjRfdCB2aXJ0X2xwaTozMjsKKyAgICAgICAgdWlu dDY0X3QgZG9tX2lkOjE2OworICAgICAgICB1aW50NjRfdCB2Y3B1X2lkOjE2OworICAgIH07Cit9 OworCiAvKiBHbG9iYWwgc3RhdGUgKi8KIHN0YXRpYyBzdHJ1Y3QgewogICAgIHVpbnQ4X3QgKmxw aV9wcm9wZXJ0eTsKKyAgICB1bmlvbiBob3N0X2xwaSAqKmhvc3RfbHBpczsKICAgICBpbnQgaG9z dF9scGlfYml0czsKIH0gbHBpX2RhdGE7CiAKQEAgLTQzLDYgKzU2LDI2IEBAIHN0YXRpYyBERUZJ TkVfUEVSX0NQVSh2b2lkICosIHBlbmRpbmdfdGFibGUpOwogI2RlZmluZSBNQVhfSE9TVF9MUElf QklUUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAg ICAgICAgbWluX3QodW5zaWduZWQgaW50LCBscGlfZGF0YS5ob3N0X2xwaV9iaXRzLCBDT05GSUdf SE9TVF9MUElfQklUUykKICNkZWZpbmUgTUFYX0hPU1RfTFBJUyAgIChCSVQoTUFYX0hPU1RfTFBJ X0JJVFMpIC0gODE5MikKKyNkZWZpbmUgSE9TVF9MUElTX1BFUl9QQUdFICAgICAgKFBBR0VfU0la RSAvIHNpemVvZih1bmlvbiBob3N0X2xwaSkpCisKK3N0YXRpYyB1bmlvbiBob3N0X2xwaSAqZ2lj X2ZpbmRfaG9zdF9scGkodWludDMyX3QgbHBpLCBzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIHVu aW9uIGhvc3RfbHBpICpobHBpOworCisgICAgaWYgKCBscGkgPCA4MTkyIHx8IGxwaSA+PSBNQVhf SE9TVF9MUElTICsgODE5MiApCisgICAgICAgIHJldHVybiBOVUxMOworCisgICAgbHBpIC09IDgx OTI7CisgICAgaWYgKCAhbHBpX2RhdGEuaG9zdF9scGlzW2xwaSAvIEhPU1RfTFBJU19QRVJfUEFH RV0gKQorICAgICAgICByZXR1cm4gTlVMTDsKKworICAgIGhscGkgPSAmbHBpX2RhdGEuaG9zdF9s cGlzW2xwaSAvIEhPU1RfTFBJU19QRVJfUEFHRV1bbHBpICUgSE9TVF9MUElTX1BFUl9QQUdFXTsK KworICAgIGlmICggZCAmJiBobHBpLT5kb21faWQgIT0gZC0+ZG9tYWluX2lkICkKKyAgICAgICAg cmV0dXJuIE5VTEw7CisKKyAgICByZXR1cm4gaGxwaTsKK30KIAogI2RlZmluZSBJVFNfQ09NTUFO RF9TSVpFICAgICAgICAzMgogCkBAIC05Niw2ICsxMjksMzMgQEAgc3RhdGljIGludCBpdHNfc2Vu ZF9jbWRfc3luYyhzdHJ1Y3QgaG9zdF9pdHMgKml0cywgaW50IGNwdSkKICAgICByZXR1cm4gaXRz X3NlbmRfY29tbWFuZChpdHMsIGNtZCk7CiB9CiAKK3N0YXRpYyBpbnQgaXRzX3NlbmRfY21kX2Rp c2NhcmQoc3RydWN0IGhvc3RfaXRzICppdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQzMl90IGRldmljZWlkLCB1aW50MzJfdCBldmVudGlkKQoreworICAgIHVpbnQ2NF90 IGNtZFs0XTsKKworICAgIGNtZFswXSA9IEdJVFNfQ01EX0RJU0NBUkQgfCAoKHVpbnQ2NF90KWRl dmljZWlkIDw8IDMyKTsKKyAgICBjbWRbMV0gPSBldmVudGlkOworICAgIGNtZFsyXSA9IDB4MDA7 CisgICAgY21kWzNdID0gMHgwMDsKKworICAgIHJldHVybiBpdHNfc2VuZF9jb21tYW5kKGl0cywg Y21kKTsKK30KKworc3RhdGljIGludCBpdHNfc2VuZF9jbWRfbWFwdGkoc3RydWN0IGhvc3RfaXRz ICppdHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpY2VpZCwg dWludDMyX3QgZXZlbnRpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IHBpbnRpZCwgdWludDE2X3QgaWNpZCkKK3sKKyAgICB1aW50NjRfdCBjbWRbNF07CisKKyAgICBj bWRbMF0gPSBHSVRTX0NNRF9NQVBUSSB8ICgodWludDY0X3QpZGV2aWNlaWQgPDwgMzIpOworICAg IGNtZFsxXSA9IGV2ZW50aWQgfCAoKHVpbnQ2NF90KXBpbnRpZCA8PCAzMik7CisgICAgY21kWzJd ID0gaWNpZDsKKyAgICBjbWRbM10gPSAweDAwOworCisgICAgcmV0dXJuIGl0c19zZW5kX2NvbW1h bmQoaXRzLCBjbWQpOworfQorCiBzdGF0aWMgaW50IGl0c19zZW5kX2NtZF9tYXBjKHN0cnVjdCBo b3N0X2l0cyAqaXRzLCBpbnQgY29sbGVjdGlvbl9pZCwgaW50IGNwdSkKIHsKICAgICB1aW50NjRf dCBjbWRbNF07CkBAIC0zMzAsMTUgKzM5MCwxMDkgQEAgdWludDY0X3QgZ2ljdjNfbHBpX2dldF9w cm9wdGFibGUoKQogICAgIHJldHVybiByZWc7CiB9CiAKKy8qIEFsbG9jYXRlIHRoZSAybmQgbGV2 ZWwgYXJyYXkgZm9yIGhvc3QgTFBJcy4gVGhpcyBvbmUgaG9sZHMgcG9pbnRlcnMKKyAqIHRvIHRo ZSBwYWdlIHdpdGggdGhlIGFjdHVhbCAidW5pb24gaG9zdF9scGkiIGVudHJpZXMuIE91ciBMUEkg bGltaXQKKyAqIGF2b2lkcyBleGNlc3NpdmUgbWVtb3J5IHVzYWdlLgorICovCiBpbnQgZ2ljdjNf bHBpX2luaXRfaG9zdF9scGlzKGludCBscGlfYml0cykKIHsKKyAgICBpbnQgbnJfbHBpX3B0cnM7 CisKICAgICBscGlfZGF0YS5ob3N0X2xwaV9iaXRzID0gbHBpX2JpdHM7CiAKKyAgICBucl9scGlf cHRycyA9IE1BWF9IT1NUX0xQSVMgLyAoUEFHRV9TSVpFIC8gc2l6ZW9mKHVuaW9uIGhvc3RfbHBp KSk7CisKKyAgICBscGlfZGF0YS5ob3N0X2xwaXMgPSB4emFsbG9jX2FycmF5KHVuaW9uIGhvc3Rf bHBpICosIG5yX2xwaV9wdHJzKTsKKyAgICBpZiAoICFscGlfZGF0YS5ob3N0X2xwaXMgKQorICAg ICAgICByZXR1cm4gLUVOT01FTTsKKwogICAgIHByaW50aygiR0lDdjM6IHVzaW5nIGF0IG1vc3Qg JWxkIExQSXMgb24gdGhlIGhvc3QuXG4iLCBNQVhfSE9TVF9MUElTKTsKIAogICAgIHJldHVybiAw OwogfQogCisvKiBBbGxvY2F0ZXMgYSBuZXcgaG9zdCBMUEkgdG8gYmUgaW5qZWN0ZWQgYXMgInZp cnRfbHBpIiBpbnRvIHRoZSBzcGVjaWZpZWQKKyAqIFZDUFUuIFJldHVybnMgdGhlIGhvc3QgTFBJ IElEIG9yIGEgbmVnYXRpdmUgZXJyb3IgdmFsdWUuCisgKi8KK2ludCBnaWN2M19scGlfYWxsb2Nh dGVfaG9zdF9scGkoc3RydWN0IGhvc3RfaXRzICppdHMsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmVudGlkLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiwgaW50IHZpcnRfbHBpKQoreworICAg IGludCBjaHVuaywgaTsKKyAgICB1bmlvbiBob3N0X2xwaSBobHBpLCAqbmV3X2NodW5rOworCisg ICAgLyogVE9ETzogaGFuZGxlIHNvbWUga2luZCBvZiBwcmVhc3NpZ25lZCBMUEkgbWFwcGluZyBm b3IgRG9tVXMgKi8KKyAgICBpZiAoICFpdHMgKQorICAgICAgICByZXR1cm4gLUVQRVJNOworCisg ICAgLyogVE9ETzogVGhpcyBjb3VsZCBiZSBvcHRpbWl6ZWQgYnkgc3RvcmluZyBzb21lICJuZXh0 IGF2YWlsYWJsZSIgaGludCBhbmQKKyAgICAgKiBvbmx5IGl0ZXJhdGUgaWYgdGhpcyBvbmUgZG9l c24ndCB3b3JrLiBCdXQgdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUKKyAgICAgKiBjYWxsZWQgcmFy ZWx5LgorICAgICAqLworICAgIGZvciAoY2h1bmsgPSAwOyBjaHVuayA8IE1BWF9IT1NUX0xQSVMg LyBIT1NUX0xQSVNfUEVSX1BBR0U7IGNodW5rKyspCisgICAgeworICAgICAgICAvKiBJZiB3ZSBo aXQgYW4gdW5hbGxvY2F0ZWQgY2h1bmssIHdlIGluaXRpYWxpemUgaXQgYW5kIHVzZSBlbnRyeSAw LiAqLworICAgICAgICBpZiAoICFscGlfZGF0YS5ob3N0X2xwaXNbY2h1bmtdICkKKyAgICAgICAg eworICAgICAgICAgICAgbmV3X2NodW5rID0gYWxsb2NfeGVuaGVhcF9wYWdlcygwLCAwKTsKKyAg ICAgICAgICAgIGlmICggIW5ld19jaHVuayApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9N RU07CisKKyAgICAgICAgICAgIG1lbXNldChuZXdfY2h1bmssIDAsIFBBR0VfU0laRSk7CisgICAg ICAgICAgICBscGlfZGF0YS5ob3N0X2xwaXNbY2h1bmtdID0gbmV3X2NodW5rOworICAgICAgICAg ICAgaSA9IDA7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAg ICAvKiBGaW5kIGFuIHVuYWxsb2N0ZWQgZW50cnkgaW4gdGhpcyBjaHVuay4gKi8KKyAgICAgICAg ICAgIGZvciAoaSA9IDA7IGkgPCBIT1NUX0xQSVNfUEVSX1BBR0U7IGkrKykKKyAgICAgICAgICAg ICAgICBpZiAoICFscGlfZGF0YS5ob3N0X2xwaXNbY2h1bmtdW2ldLnZpcnRfbHBpICkKKyAgICAg ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIC8qIElmIHRoaXMgY2h1bmsgaXMg ZnVsbHkgYWxsb2N0ZWQsIGFkdmFuY2UgdG8gdGhlIG5leHQgb25lLiAqLworICAgICAgICAgICAg aWYgKCBpID09IEhPU1RfTFBJU19QRVJfUEFHRSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsK KyAgICAgICAgfQorCisgICAgICAgIGhscGkudmlydF9scGkgPSB2aXJ0X2xwaTsKKyAgICAgICAg aGxwaS5kb21faWQgPSB2LT5kb21haW4tPmRvbWFpbl9pZDsKKyAgICAgICAgaGxwaS52Y3B1X2lk ID0gdi0+dmNwdV9pZDsKKyAgICAgICAgbHBpX2RhdGEuaG9zdF9scGlzW2NodW5rXVtpXS5kYXRh ID0gaGxwaS5kYXRhOworCisgICAgICAgIGlmIChpdHMpCisgICAgICAgIHsKKyAgICAgICAgICAg IGl0c19zZW5kX2NtZF9tYXB0aShpdHMsIGRldmlkLCBldmVudGlkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNodW5rICogSE9TVF9MUElTX1BFUl9QQUdFICsgaSArIDgxOTIsIDAp OworICAgICAgICAgICAgaXRzX3NlbmRfY21kX3N5bmMoaXRzLCAwKTsKKyAgICAgICAgfQorCisg ICAgICAgIHJldHVybiBjaHVuayAqIEhPU1RfTFBJU19QRVJfUEFHRSArIGkgKyA4MTkyOworICAg IH0KKworICAgIHJldHVybiAtRU5PU1BDOworfQorCisvKiBEcm9wcyB0aGUgY29ubmVjdGlvbiBv ZiB0aGUgZ2l2ZW4gaG9zdCBMUEkgdG8gYSB2aXJ0dWFsIExQSS4KKyAqLworaW50IGdpY3YzX2xw aV9kcm9wX2hvc3RfbHBpKHN0cnVjdCBob3N0X2l0cyAqaXRzLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVpbnQzMl90IGRldmlkLCB1aW50MzJfdCBldmVudGlkLCB1aW50MzJfdCBob3N0 X2xwaSkKK3sKKyAgICB1bmlvbiBob3N0X2xwaSAqaGxwaXA7CisKKyAgICBpZiAoICFpdHMgKQor ICAgICAgICByZXR1cm4gLUVQRVJNOworCisgICAgaGxwaXAgPSBnaWNfZmluZF9ob3N0X2xwaSho b3N0X2xwaSwgTlVMTCk7CisgICAgaWYgKCAhaGxwaXAgKQorICAgICAgICByZXR1cm4gLTE7CisK KyAgICBobHBpcC0+ZGF0YSA9IDA7CisKKyAgICBpdHNfc2VuZF9jbWRfZGlzY2FyZChpdHMsIGRl dmlkLCBldmVudGlkKTsKKworICAgIHJldHVybiAwOworfQorCiB2b2lkIGdpY3YzX2l0c19kdF9p bml0KGNvbnN0IHN0cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKIHsKICAgICBjb25zdCBzdHJ1 Y3QgZHRfZGV2aWNlX25vZGUgKml0cyA9IE5VTEw7CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9h c20tYXJtL2dpYy1pdHMuaCBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCmluZGV4IGI0 OWQyNzQuLjUxMmEzODggMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5o CisrKyBiL3hlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLWl0cy5oCkBAIC0xMTQsNiArMTE0LDEyIEBA IHZvaWQgZ2ljdjNfc2V0X3JlZGlzdF9hZGRyKHBhZGRyX3QgYWRkcmVzcywgaW50IHJlZGlzdF9p ZCk7CiAvKiBNYXAgYSBjb2xsZWN0aW9uIGZvciB0aGlzIGhvc3QgQ1BVIHRvIGVhY2ggaG9zdCBJ VFMuICovCiB2b2lkIGdpY3YzX2l0c19zZXR1cF9jb2xsZWN0aW9uKGludCBjcHUpOwogCitpbnQg Z2ljdjNfbHBpX2FsbG9jYXRlX2hvc3RfbHBpKHN0cnVjdCBob3N0X2l0cyAqaXRzLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCwgdWludDMyX3QgZXZlbnRp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHUgKnYsIGludCB2 aXJ0X2xwaSk7CitpbnQgZ2ljdjNfbHBpX2Ryb3BfaG9zdF9scGkoc3RydWN0IGhvc3RfaXRzICpp dHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgZGV2aWQsIHVpbnQzMl90 IGV2ZW50aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgaG9zdF9scGkp OwogI2Vsc2UKIAogc3RhdGljIGlubGluZSB2b2lkIGdpY3YzX2l0c19kdF9pbml0KGNvbnN0IHN0 cnVjdCBkdF9kZXZpY2Vfbm9kZSAqbm9kZSkKQEAgLTE0MSw2ICsxNDcsMTggQEAgc3RhdGljIGlu bGluZSB2b2lkIGdpY3YzX3NldF9yZWRpc3RfYWRkcihwYWRkcl90IGFkZHJlc3MsIGludCByZWRp c3RfaWQpCiBzdGF0aWMgaW5saW5lIHZvaWQgZ2ljdjNfaXRzX3NldHVwX2NvbGxlY3Rpb24oaW50 IGNwdSkKIHsKIH0KK3N0YXRpYyBpbmxpbmUgaW50IGdpY3YzX2xwaV9hbGxvY2F0ZV9ob3N0X2xw aShzdHJ1Y3QgaG9zdF9pdHMgKml0cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCwgdWludDMyX3QgZXZlbnRpZCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmNwdSAqdiwgaW50 IHZpcnRfbHBpKQoreworICAgIHJldHVybiAwOworfQorc3RhdGljIGlubGluZSBpbnQgZ2ljdjNf bHBpX2Ryb3BfaG9zdF9scGkoc3RydWN0IGhvc3RfaXRzICppdHMsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkZXZpZCwgdWludDMyX3QgZXZlbnRp ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGhv c3RfbHBpKQoreworICAgIHJldHVybiAwOworfQogCiAjZW5kaWYgLyogQ09ORklHX0hBU19JVFMg Ki8KIAotLSAKMi45LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0 dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK