From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v3 02/32] libxc: unify xc_dom_p2m_{host/guest} Date: Fri, 3 Jul 2015 13:34:40 +0200 Message-ID: <1435923310-9019-3-git-send-email-roger.pau@citrix.com> References: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZAzFZ-0002v8-6c for xen-devel@lists.xenproject.org; Fri, 03 Jul 2015 11:35:21 +0000 In-Reply-To: <1435923310-9019-1-git-send-email-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: Wei Liu , Ian Campbell , Stefano Stabellini , Ian Jackson , Samuel Thibault , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org VW5pZnkgYm90aCBmdW5jdGlvbnMgaW50byB4Y19kb21fcDJtLiBTaG91bGQgbm90IGludHJvZHVj ZSBhbnkgZnVuY3Rpb25hbApjaGFuZ2UuCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOp IDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5j aXRyaXguY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxpbmlAZXUu Y2l0cml4LmNvbT4KQ2M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBiZWxsQGNpdHJpeC5jb20+CkNj OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogU2FtdWVsIFRoaWJhdWx0IDxzYW11 ZWwudGhpYmF1bHRAZW5zLWx5b24ub3JnPgotLS0KIHN0dWJkb20vZ3J1Yi9rZXhlYy5jICAgICAg ICAgICAgICB8ICA0ICsrLS0KIHRvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmggICAgICB8IDE0 ICsrLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4Yy94Y19kb21fYm9vdC5jICAgICAgICAgfCAxMCAr KysrKy0tLS0tCiB0b29scy9saWJ4Yy94Y19kb21fY29tcGF0X2xpbnV4LmMgfCAgNCArKy0tCiB0 b29scy9saWJ4Yy94Y19kb21feDg2LmMgICAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLQogdG9vbHMvbGlieGwvbGlieGxfZG9tLmMgICAgICAgICAgIHwgIDQgKyst LQogNiBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9zdHViZG9tL2dydWIva2V4ZWMuYyBiL3N0dWJkb20vZ3J1Yi9rZXhlYy5jCmlu ZGV4IDRjMzNiMjUuLjBiMmY0ZjMgMTAwNjQ0Ci0tLSBhL3N0dWJkb20vZ3J1Yi9rZXhlYy5jCisr KyBiL3N0dWJkb20vZ3J1Yi9rZXhlYy5jCkBAIC0zNTgsOSArMzU4LDkgQEAgdm9pZCBrZXhlYyh2 b2lkICprZXJuZWwsIGxvbmcga2VybmVsX3NpemUsIHZvaWQgKm1vZHVsZSwgbG9uZyBtb2R1bGVf c2l6ZSwgY2hhcgogI2lmZGVmIF9feDg2XzY0X18KICAgICAgICAgICAgICAgICBNTVVFWFRfUElO X0w0X1RBQkxFLAogI2VuZGlmCi0gICAgICAgICAgICAgICAgeGNfZG9tX3AybV9ob3N0KGRvbSwg ZG9tLT5wZ3RhYmxlc19zZWcucGZuKSwKKyAgICAgICAgICAgICAgICB4Y19kb21fcDJtKGRvbSwg ZG9tLT5wZ3RhYmxlc19zZWcucGZuKSwKICAgICAgICAgICAgICAgICBkb20tPmd1ZXN0X2RvbWlk KSkgIT0gMCApIHsKLSAgICAgICAgZ3J1Yl9wcmludGYoInBpbl90YWJsZSglbHgpIHJldHVybmVk ICVkXG4iLCB4Y19kb21fcDJtX2hvc3QoZG9tLAorICAgICAgICBncnViX3ByaW50ZigicGluX3Rh YmxlKCVseCkgcmV0dXJuZWQgJWRcbiIsIHhjX2RvbV9wMm0oZG9tLAogICAgICAgICAgICAgICAg ICAgICBkb20tPnBndGFibGVzX3NlZy5wZm4pLCByYyk7CiAgICAgICAgIGVycm51bSA9IEVSUl9C T09UX0ZBSUxVUkU7CiAgICAgICAgIGdvdG8gb3V0X3JlbWFwOwpkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGMvaW5jbHVkZS94Y19kb20uaCBiL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmgKaW5k ZXggYTdkMDU5YS4uZWM5ZTI5MyAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMvaW5jbHVkZS94Y19k b20uaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oCkBAIC0zNzYsMTkgKzM3Niw5 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCAqeGNfZG9tX3ZhZGRyX3RvX3B0cihzdHJ1Y3QgeGNfZG9t X2ltYWdlICpkb20sCiAgICAgcmV0dXJuIHB0ciArIG9mZnNldDsKIH0KIAotc3RhdGljIGlubGlu ZSB4ZW5fcGZuX3QgeGNfZG9tX3AybV9ob3N0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwgeGVu X3Bmbl90IHBmbikKK3N0YXRpYyBpbmxpbmUgeGVuX3Bmbl90IHhjX2RvbV9wMm0oc3RydWN0IHhj X2RvbV9pbWFnZSAqZG9tLCB4ZW5fcGZuX3QgcGZuKQogewotICAgIGlmIChkb20tPnNoYWRvd19l bmFibGVkKQotICAgICAgICByZXR1cm4gcGZuOwotICAgIGlmIChwZm4gPCBkb20tPnJhbWJhc2Vf cGZuIHx8IHBmbiA+PSBkb20tPnJhbWJhc2VfcGZuICsgZG9tLT50b3RhbF9wYWdlcykKLSAgICAg ICAgcmV0dXJuIElOVkFMSURfTUZOOwotICAgIHJldHVybiBkb20tPnAybV9ob3N0W3BmbiAtIGRv bS0+cmFtYmFzZV9wZm5dOwotfQotCi1zdGF0aWMgaW5saW5lIHhlbl9wZm5fdCB4Y19kb21fcDJt X2d1ZXN0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHBmbikKLXsKLSAgICBpZiAoeGNfZG9tX2ZlYXR1 cmVfdHJhbnNsYXRlZChkb20pKQorICAgIGlmICggZG9tLT5zaGFkb3dfZW5hYmxlZCB8fCB4Y19k b21fZmVhdHVyZV90cmFuc2xhdGVkKGRvbSkgKQogICAgICAgICByZXR1cm4gcGZuOwogICAgIGlm IChwZm4gPCBkb20tPnJhbWJhc2VfcGZuIHx8IHBmbiA+PSBkb20tPnJhbWJhc2VfcGZuICsgZG9t LT50b3RhbF9wYWdlcykKICAgICAgICAgcmV0dXJuIElOVkFMSURfTUZOOwpkaWZmIC0tZ2l0IGEv dG9vbHMvbGlieGMveGNfZG9tX2Jvb3QuYyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV9ib290LmMKaW5k ZXggZjgyZGIyZC4uZmRhOWU1MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX2Jvb3Qu YworKysgYi90b29scy9saWJ4Yy94Y19kb21fYm9vdC5jCkBAIC01NCw3ICs1NCw3IEBAIHN0YXRp YyBpbnQgc2V0dXBfaHlwZXJjYWxsX3BhZ2Uoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAg ICAgICAgICAgICAgICAgZG9tLT5wYXJtcy52aXJ0X2h5cGVyY2FsbCwgcGZuKTsKICAgICBkb21j dGwuY21kID0gWEVOX0RPTUNUTF9oeXBlcmNhbGxfaW5pdDsKICAgICBkb21jdGwuZG9tYWluID0g ZG9tLT5ndWVzdF9kb21pZDsKLSAgICBkb21jdGwudS5oeXBlcmNhbGxfaW5pdC5nbWZuID0geGNf ZG9tX3AybV9ndWVzdChkb20sIHBmbik7CisgICAgZG9tY3RsLnUuaHlwZXJjYWxsX2luaXQuZ21m biA9IHhjX2RvbV9wMm0oZG9tLCBwZm4pOwogICAgIHJjID0gZG9fZG9tY3RsKGRvbS0+eGNoLCAm ZG9tY3RsKTsKICAgICBpZiAoIHJjICE9IDAgKQogICAgICAgICB4Y19kb21fcGFuaWMoZG9tLT54 Y2gsIFhDX0lOVEVSTkFMX0VSUk9SLApAQCAtODQsNyArODQsNyBAQCBzdGF0aWMgaW50IGNsZWFy X3BhZ2Uoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLCB4ZW5fcGZuX3QgcGZuKQogICAgIGlmICgg cGZuID09IDAgKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIGRzdCA9IHhjX2RvbV9wMm1faG9z dChkb20sIHBmbik7CisgICAgZHN0ID0geGNfZG9tX3AybShkb20sIHBmbik7CiAgICAgRE9NUFJJ TlRGKCIlczogcGZuIDB4JSIgUFJJcGZuICIsIG1mbiAweCUiIFBSSXBmbiAiIiwKICAgICAgICAg ICAgICAgX19GVU5DVElPTl9fLCBwZm4sIGRzdCk7CiAgICAgcmMgPSB4Y19jbGVhcl9kb21haW5f cGFnZShkb20tPnhjaCwgZG9tLT5ndWVzdF9kb21pZCwgZHN0KTsKQEAgLTE3OCw3ICsxNzgsNyBA QCB2b2lkICp4Y19kb21fYm9vdF9kb21VX21hcChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sIHhl bl9wZm5fdCBwZm4sCiAgICAgfQogCiAgICAgZm9yICggaSA9IDA7IGkgPCBjb3VudDsgaSsrICkK LSAgICAgICAgZW50cmllc1tpXS5tZm4gPSB4Y19kb21fcDJtX2hvc3QoZG9tLCBwZm4gKyBpKTsK KyAgICAgICAgZW50cmllc1tpXS5tZm4gPSB4Y19kb21fcDJtKGRvbSwgcGZuICsgaSk7CiAKICAg ICBwdHIgPSB4Y19tYXBfZm9yZWlnbl9yYW5nZXMoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQs CiAgICAgICAgICAgICAgICAgY291bnQgPDwgcGFnZV9zaGlmdCwgUFJPVF9SRUFEIHwgUFJPVF9X UklURSwgMSA8PCBwYWdlX3NoaWZ0LApAQCAtNDM1LDggKzQzNSw4IEBAIGludCB4Y19kb21fZ250 dGFiX2luaXQoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkb20tPmNvbnNvbGVfZG9taWQsIGRvbS0+eGVuc3RvcmVfZG9taWQp OwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJldHVybiB4Y19kb21fZ250dGFiX3NlZWQoZG9tLT54 Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg eGNfZG9tX3AybV9ob3N0KGRvbSwgZG9tLT5jb25zb2xlX3BmbiksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgeGNfZG9tX3AybV9ob3N0KGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4p LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2RvbV9wMm0oZG9tLCBkb20t PmNvbnNvbGVfcGZuKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21f cDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRvbS0+Y29uc29sZV9kb21pZCwgZG9tLT54ZW5zdG9yZV9kb21pZCk7CiAgICAgfQog fQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfZG9tX2NvbXBhdF9saW51eC5jIGIvdG9vbHMv bGlieGMveGNfZG9tX2NvbXBhdF9saW51eC5jCmluZGV4IDJjMTRhMGYuLmFjY2NkZTkgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL3hjX2RvbV9jb21wYXRfbGludXguYworKysgYi90b29scy9saWJ4 Yy94Y19kb21fY29tcGF0X2xpbnV4LmMKQEAgLTY1LDggKzY1LDggQEAgc3RhdGljIGludCB4Y19s aW51eF9idWlsZF9pbnRlcm5hbChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20sCiAgICAgaWYgKCAo cmMgPSB4Y19kb21fZ250dGFiX2luaXQoZG9tKSkgIT0gMCkKICAgICAgICAgZ290byBvdXQ7CiAK LSAgICAqY29uc29sZV9tZm4gPSB4Y19kb21fcDJtX2hvc3QoZG9tLCBkb20tPmNvbnNvbGVfcGZu KTsKLSAgICAqc3RvcmVfbWZuID0geGNfZG9tX3AybV9ob3N0KGRvbSwgZG9tLT54ZW5zdG9yZV9w Zm4pOworICAgICpjb25zb2xlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPmNvbnNvbGVfcGZu KTsKKyAgICAqc3RvcmVfbWZuID0geGNfZG9tX3AybShkb20sIGRvbS0+eGVuc3RvcmVfcGZuKTsK IAogIG91dDoKICAgICByZXR1cm4gcmM7CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21f eDg2LmMgYi90b29scy9saWJ4Yy94Y19kb21feDg2LmMKaW5kZXggOTIwZmU0Mi4uMGQ4MGMxOCAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hj X2RvbV94ODYuYwpAQCAtMjQ4LDcgKzI0OCw3IEBAIHN0YXRpYyBpbnQgc2V0dXBfcGd0YWJsZXNf eDg2XzMyX3BhZShzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgdW5zaWduZWQgbG9uZyBs M29mZiwgbDJvZmYgPSAwLCBsMW9mZjsKICAgICB4ZW5fdmFkZHJfdCBhZGRyOwogICAgIHhlbl9w Zm5fdCBwZ3BmbjsKLSAgICB4ZW5fcGZuX3QgbDNtZm4gPSB4Y19kb21fcDJtX2d1ZXN0KGRvbSwg bDNwZm4pOworICAgIHhlbl9wZm5fdCBsM21mbiA9IHhjX2RvbV9wMm0oZG9tLCBsM3Bmbik7CiAK ICAgICBpZiAoIGRvbS0+cGFybXMucGFlID09IDEgKQogICAgIHsKQEAgLTI4MCw3ICsyODAsNyBA QCBzdGF0aWMgaW50IHNldHVwX3BndGFibGVzX3g4Nl8zMl9wYWUoc3RydWN0IHhjX2RvbV9pbWFn ZSAqZG9tKQogICAgICAgICAgICAgICAgIGdvdG8gcGZuX2Vycm9yOwogICAgICAgICAgICAgbDNv ZmYgPSBsM190YWJsZV9vZmZzZXRfcGFlKGFkZHIpOwogICAgICAgICAgICAgbDN0YWJbbDNvZmZd ID0KLSAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybV9ndWVzdChkb20sIGwy cGZuKSkgfCBMM19QUk9UOworICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcih4Y19kb21fcDJt KGRvbSwgbDJwZm4pKSB8IEwzX1BST1Q7CiAgICAgICAgICAgICBsMnBmbisrOwogICAgICAgICB9 CiAKQEAgLTI5Miw3ICsyOTIsNyBAQCBzdGF0aWMgaW50IHNldHVwX3BndGFibGVzX3g4Nl8zMl9w YWUoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAgICAgICAgIGdvdG8gcGZuX2Vy cm9yOwogICAgICAgICAgICAgbDJvZmYgPSBsMl90YWJsZV9vZmZzZXRfcGFlKGFkZHIpOwogICAg ICAgICAgICAgbDJ0YWJbbDJvZmZdID0KLSAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNf ZG9tX3AybV9ndWVzdChkb20sIGwxcGZuKSkgfCBMMl9QUk9UOworICAgICAgICAgICAgICAgIHBm bl90b19wYWRkcih4Y19kb21fcDJtKGRvbSwgbDFwZm4pKSB8IEwyX1BST1Q7CiAgICAgICAgICAg ICBsMXBmbisrOwogICAgICAgICB9CiAKQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgaW50IHNl dHVwX3BndGFibGVzX3g4Nl8zMl9wYWUoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAg ICBsMW9mZiA9IGwxX3RhYmxlX29mZnNldF9wYWUoYWRkcik7CiAgICAgICAgIHBncGZuID0gKGFk ZHIgLSBkb20tPnBhcm1zLnZpcnRfYmFzZSkgPj4gUEFHRV9TSElGVF9YODY7CiAgICAgICAgIGwx dGFiW2wxb2ZmXSA9Ci0gICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybV9ndWVzdChk b20sIHBncGZuKSkgfCBMMV9QUk9UOworICAgICAgICAgICAgcGZuX3RvX3BhZGRyKHhjX2RvbV9w Mm0oZG9tLCBwZ3BmbikpIHwgTDFfUFJPVDsKICAgICAgICAgaWYgKCAoYWRkciA+PSBkb20tPnBn dGFibGVzX3NlZy52c3RhcnQpICYmCiAgICAgICAgICAgICAgKGFkZHIgPCBkb20tPnBndGFibGVz X3NlZy52ZW5kKSApCiAgICAgICAgICAgICBsMXRhYltsMW9mZl0gJj0gfl9QQUdFX1JXOyAvKiBw YWdlIHRhYmxlcyBhcmUgci9vICovCkBAIC0zMTYsNyArMzE2LDcgQEAgc3RhdGljIGludCBzZXR1 cF9wZ3RhYmxlc194ODZfMzJfcGFlKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICBpZiAo IGRvbS0+dmlydF9wZ3RhYl9lbmQgPD0gMHhjMDAwMDAwMCApCiAgICAgewogICAgICAgICBET01Q UklOVEYoIiVzOiBQQUU6IGV4dHJhIGwyIHBhZ2UgdGFibGUgZm9yIGwzIzMiLCBfX0ZVTkNUSU9O X18pOwotICAgICAgICBsM3RhYlszXSA9IHBmbl90b19wYWRkcih4Y19kb21fcDJtX2d1ZXN0KGRv bSwgbDJwZm4pKSB8IEwzX1BST1Q7CisgICAgICAgIGwzdGFiWzNdID0gcGZuX3RvX3BhZGRyKHhj X2RvbV9wMm0oZG9tLCBsMnBmbikpIHwgTDNfUFJPVDsKICAgICB9CiAgICAgcmV0dXJuIDA7CiAK QEAgLTM3NSw3ICszNzUsNyBAQCBzdGF0aWMgaW50IHNldHVwX3BndGFibGVzX3g4Nl82NChzdHJ1 Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICAgICAgICAgICAgZ290byBwZm5fZXJyb3I7CiAg ICAgICAgICAgICBsNG9mZiA9IGw0X3RhYmxlX29mZnNldF94ODZfNjQoYWRkcik7CiAgICAgICAg ICAgICBsNHRhYltsNG9mZl0gPQotICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcih4Y19kb21f cDJtX2d1ZXN0KGRvbSwgbDNwZm4pKSB8IEw0X1BST1Q7CisgICAgICAgICAgICAgICAgcGZuX3Rv X3BhZGRyKHhjX2RvbV9wMm0oZG9tLCBsM3BmbikpIHwgTDRfUFJPVDsKICAgICAgICAgICAgIGwz cGZuKys7CiAgICAgICAgIH0KIApAQCAtMzg3LDcgKzM4Nyw3IEBAIHN0YXRpYyBpbnQgc2V0dXBf cGd0YWJsZXNfeDg2XzY0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICAgICAgICAgICAg ICBnb3RvIHBmbl9lcnJvcjsKICAgICAgICAgICAgIGwzb2ZmID0gbDNfdGFibGVfb2Zmc2V0X3g4 Nl82NChhZGRyKTsKICAgICAgICAgICAgIGwzdGFiW2wzb2ZmXSA9Ci0gICAgICAgICAgICAgICAg cGZuX3RvX3BhZGRyKHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBsMnBmbikpIHwgTDNfUFJPVDsKKyAg ICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybShkb20sIGwycGZuKSkgfCBMM19Q Uk9UOwogICAgICAgICAgICAgbDJwZm4rKzsKICAgICAgICAgfQogCkBAIC0zOTksNyArMzk5LDcg QEAgc3RhdGljIGludCBzZXR1cF9wZ3RhYmxlc194ODZfNjQoc3RydWN0IHhjX2RvbV9pbWFnZSAq ZG9tKQogICAgICAgICAgICAgICAgIGdvdG8gcGZuX2Vycm9yOwogICAgICAgICAgICAgbDJvZmYg PSBsMl90YWJsZV9vZmZzZXRfeDg2XzY0KGFkZHIpOwogICAgICAgICAgICAgbDJ0YWJbbDJvZmZd ID0KLSAgICAgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybV9ndWVzdChkb20sIGwx cGZuKSkgfCBMMl9QUk9UOworICAgICAgICAgICAgICAgIHBmbl90b19wYWRkcih4Y19kb21fcDJt KGRvbSwgbDFwZm4pKSB8IEwyX1BST1Q7CiAgICAgICAgICAgICBsMXBmbisrOwogICAgICAgICB9 CiAKQEAgLTQwNyw3ICs0MDcsNyBAQCBzdGF0aWMgaW50IHNldHVwX3BndGFibGVzX3g4Nl82NChz dHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiAgICAgICAgIGwxb2ZmID0gbDFfdGFibGVfb2Zmc2V0 X3g4Nl82NChhZGRyKTsKICAgICAgICAgcGdwZm4gPSAoYWRkciAtIGRvbS0+cGFybXMudmlydF9i YXNlKSA+PiBQQUdFX1NISUZUX1g4NjsKICAgICAgICAgbDF0YWJbbDFvZmZdID0KLSAgICAgICAg ICAgIHBmbl90b19wYWRkcih4Y19kb21fcDJtX2d1ZXN0KGRvbSwgcGdwZm4pKSB8IEwxX1BST1Q7 CisgICAgICAgICAgICBwZm5fdG9fcGFkZHIoeGNfZG9tX3AybShkb20sIHBncGZuKSkgfCBMMV9Q Uk9UOwogICAgICAgICBpZiAoICghZG9tLT5wdmhfZW5hYmxlZCkgICAgICAgICAgICAgICAgJiYK ICAgICAgICAgICAgICAoYWRkciA+PSBkb20tPnBndGFibGVzX3NlZy52c3RhcnQpICYmCiAgICAg ICAgICAgICAgKGFkZHIgPCBkb20tPnBndGFibGVzX3NlZy52ZW5kKSApCkBAIC00OTAsOSArNDkw LDkgQEAgc3RhdGljIGludCBzdGFydF9pbmZvX3g4Nl8zMihzdHJ1Y3QgeGNfZG9tX2ltYWdlICpk b20pCiAgICAgc3RhcnRfaW5mby0+bWZuX2xpc3QgPSBkb20tPnAybV9zZWcudnN0YXJ0OwogCiAg ICAgc3RhcnRfaW5mby0+ZmxhZ3MgPSBkb20tPmZsYWdzOwotICAgIHN0YXJ0X2luZm8tPnN0b3Jl X21mbiA9IHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBkb20tPnhlbnN0b3JlX3Bmbik7CisgICAgc3Rh cnRfaW5mby0+c3RvcmVfbWZuID0geGNfZG9tX3AybShkb20sIGRvbS0+eGVuc3RvcmVfcGZuKTsK ICAgICBzdGFydF9pbmZvLT5zdG9yZV9ldnRjaG4gPSBkb20tPnhlbnN0b3JlX2V2dGNobjsKLSAg ICBzdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0geGNfZG9tX3AybV9ndWVzdChkb20sIGRv bS0+Y29uc29sZV9wZm4pOworICAgIHN0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPSB4Y19k b21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CiAgICAgc3RhcnRfaW5mby0+Y29uc29sZS5k b21VLmV2dGNobiA9IGRvbS0+Y29uc29sZV9ldnRjaG47CiAKICAgICBpZiAoIGRvbS0+cmFtZGlz a19ibG9iICkKQEAgLTUzNiw5ICs1MzYsOSBAQCBzdGF0aWMgaW50IHN0YXJ0X2luZm9feDg2XzY0 KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICBzdGFydF9pbmZvLT5tZm5fbGlzdCA9IGRv bS0+cDJtX3NlZy52c3RhcnQ7CiAKICAgICBzdGFydF9pbmZvLT5mbGFncyA9IGRvbS0+ZmxhZ3M7 Ci0gICAgc3RhcnRfaW5mby0+c3RvcmVfbWZuID0geGNfZG9tX3AybV9ndWVzdChkb20sIGRvbS0+ eGVuc3RvcmVfcGZuKTsKKyAgICBzdGFydF9pbmZvLT5zdG9yZV9tZm4gPSB4Y19kb21fcDJtKGRv bSwgZG9tLT54ZW5zdG9yZV9wZm4pOwogICAgIHN0YXJ0X2luZm8tPnN0b3JlX2V2dGNobiA9IGRv bS0+eGVuc3RvcmVfZXZ0Y2huOwotICAgIHN0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPSB4 Y19kb21fcDJtX2d1ZXN0KGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CisgICAgc3RhcnRfaW5mby0+ Y29uc29sZS5kb21VLm1mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPmNvbnNvbGVfcGZuKTsKICAg ICBzdGFydF9pbmZvLT5jb25zb2xlLmRvbVUuZXZ0Y2huID0gZG9tLT5jb25zb2xlX2V2dGNobjsK IAogICAgIGlmICggZG9tLT5yYW1kaXNrX2Jsb2IgKQpAQCAtNjIyLDcgKzYyMiw3IEBAIHN0YXRp YyBpbnQgdmNwdV94ODZfMzIoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tLCB2b2lkICpwdHIpCiAg ICAgICAgICBkb20tPnBhcm1zLnBhZSA9PSAzIC8qIGJpbW9kYWwgKi8gKQogICAgICAgICBjdHh0 LT52bV9hc3Npc3QgfD0gKDFVTCA8PCBWTUFTU1RfVFlQRV9wYWVfZXh0ZW5kZWRfY3IzKTsKIAot ICAgIGNyM19wZm4gPSB4Y19kb21fcDJtX2d1ZXN0KGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZu KTsKKyAgICBjcjNfcGZuID0geGNfZG9tX3AybShkb20sIGRvbS0+cGd0YWJsZXNfc2VnLnBmbik7 CiAgICAgY3R4dC0+Y3RybHJlZ1szXSA9IHhlbl9wZm5fdG9fY3IzX3g4Nl8zMihjcjNfcGZuKTsK ICAgICBET01QUklOVEYoIiVzOiBjcjM6IHBmbiAweCUiIFBSSXBmbiAiIG1mbiAweCUiIFBSSXBm biAiIiwKICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCBkb20tPnBndGFibGVzX3NlZy5wZm4s IGNyM19wZm4pOwpAQCAtNjQ4LDcgKzY0OCw3IEBAIHN0YXRpYyBpbnQgdmNwdV94ODZfNjQoc3Ry dWN0IHhjX2RvbV9pbWFnZSAqZG9tLCB2b2lkICpwdHIpCiAgICAgY3R4dC0+dXNlcl9yZWdzLnJm bGFncyA9IDEgPDwgOTsgLyogSW50ZXJydXB0IEVuYWJsZSAqLwogCiAgICAgY3R4dC0+ZmxhZ3Mg PSBWR0NGX2luX2tlcm5lbF9YODZfNjQgfCBWR0NGX29ubGluZV9YODZfNjQ7Ci0gICAgY3IzX3Bm biA9IHhjX2RvbV9wMm1fZ3Vlc3QoZG9tLCBkb20tPnBndGFibGVzX3NlZy5wZm4pOworICAgIGNy M19wZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZuKTsKICAgICBjdHh0 LT5jdHJscmVnWzNdID0geGVuX3Bmbl90b19jcjNfeDg2XzY0KGNyM19wZm4pOwogICAgIERPTVBS SU5URigiJXM6IGNyMzogcGZuIDB4JSIgUFJJcGZuICIgbWZuIDB4JSIgUFJJcGZuICIiLAogICAg ICAgICAgICAgICBfX0ZVTkNUSU9OX18sIGRvbS0+cGd0YWJsZXNfc2VnLnBmbiwgY3IzX3Bmbik7 CkBAIC0xMDIwLDcgKzEwMjAsNyBAQCBpbnQgYXJjaF9zZXR1cF9ib290bGF0ZShzdHJ1Y3QgeGNf ZG9tX2ltYWdlICpkb20pCiAgICAgICAgIC8qIHBhcmF2aXJ0dWFsaXplZCBndWVzdCAqLwogICAg ICAgICB4Y19kb21fdW5tYXBfb25lKGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZuKTsKICAgICAg ICAgcmMgPSBwaW5fdGFibGUoZG9tLT54Y2gsIHBnZF90eXBlLAotICAgICAgICAgICAgICAgICAg ICAgICB4Y19kb21fcDJtX2hvc3QoZG9tLCBkb20tPnBndGFibGVzX3NlZy5wZm4pLAorICAgICAg ICAgICAgICAgICAgICAgICB4Y19kb21fcDJtKGRvbSwgZG9tLT5wZ3RhYmxlc19zZWcucGZuKSwK ICAgICAgICAgICAgICAgICAgICAgICAgZG9tLT5ndWVzdF9kb21pZCk7CiAgICAgICAgIGlmICgg cmMgIT0gMCApCiAgICAgICAgIHsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j IGIvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKaW5kZXggMWM5NDE4YS4uZmIyZjkxNiAxMDA2NDQK LS0tIGEvdG9vbHMvbGlieGwvbGlieGxfZG9tLmMKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfZG9t LmMKQEAgLTc0NSw4ICs3NDUsOCBAQCBpbnQgbGlieGxfX2J1aWxkX3B2KGxpYnhsX19nYyAqZ2Ms IHVpbnQzMl90IGRvbWlkLAogICAgICAgICBzdGF0ZS0+Y29uc29sZV9tZm4gPSBkb20tPmNvbnNv bGVfcGZuOwogICAgICAgICBzdGF0ZS0+c3RvcmVfbWZuID0gZG9tLT54ZW5zdG9yZV9wZm47CiAg ICAgfSBlbHNlIHsKLSAgICAgICAgc3RhdGUtPmNvbnNvbGVfbWZuID0geGNfZG9tX3AybV9ob3N0 KGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7Ci0gICAgICAgIHN0YXRlLT5zdG9yZV9tZm4gPSB4Y19k b21fcDJtX2hvc3QoZG9tLCBkb20tPnhlbnN0b3JlX3Bmbik7CisgICAgICAgIHN0YXRlLT5jb25z b2xlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPmNvbnNvbGVfcGZuKTsKKyAgICAgICAgc3Rh dGUtPnN0b3JlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20tPnhlbnN0b3JlX3Bmbik7CiAgICAg fQogCiAgICAgbGlieGxfX2ZpbGVfcmVmZXJlbmNlX3VubWFwKCZzdGF0ZS0+cHZfa2VybmVsKTsK LS0gCjEuOS41IChBcHBsZSBHaXQtNTAuMykKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=