From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.10 3/5] tools/dombuilder: Switch to using gfn terminology for console and xenstore rings Date: Thu, 5 Oct 2017 19:23:41 +0100 Message-ID: <1507227824-11744-4-git-send-email-andrew.cooper3@citrix.com> References: <1507227824-11744-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1507227824-11744-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Julien Grall , Ian Jackson , Wei Liu List-Id: xen-devel@lists.xenproject.org VGhlIHNvbGUgdXNlIG9mIHhjX2RvbV90cmFuc2xhdGVkKCkgYW5kIHhjX2RvbV9wMm0oKSBvdXRz aWRlIG9mIHRoZSBkb21haW4KYnVpbGRlciBpcyBmb3IgbGlieGxfZG9tKCkgdG8gdHJhbnNsYXRl IHRoZSBjb25zb2xlIGFuZCB4ZW5zdG9yZSBwZm5zIGJhY2sKaW50byB1c2VmdWwgdmFsdWVzLiAg UFYgZ3Vlc3QgcGZucyBhcmUgb25seSBpbnRlcmVzdGluZyB0byB0aGUgZG9tYWluIGJ1aWxkZXIs CmFuZCBnZm5zIGFyZSB0aGUgYWRkcmVzcyBzcGFjZSB1c2VkIGJ5IGFsbCBvdGhlciBoeXBlcmNh bGxzLgoKUmVuYW1pbmcgdGhlIGZpZWxkcyBpbiB4Y19kb21faW1hZ2UgaXMgZGVsaWJlcmF0ZSwg YXMgaXQgd2lsbCBjYXVzZQpvdXQtb2YtdHJlZSB1c2VycyBvZiB0aGUgZG9tYnVpbGRlciB0byBu b3RpY2UgdGhlIGRpZmZlcmVudCBzZW1hbnRpY3MuCgpDb3JyZWN0IHRoZSB0ZXJtaW5vbG9neSB0 aHJvdWdob3V0IHhjX2RvbV9nbnR0YWJ7X2h2bSx9X3NlZWQoKSwgd2hpY2ggYXJlIGFsbAp1c2lu ZyBnZm5zIGRlc3BpdGUgdGhlIGV4aXN0aW5nIHZhcmlhYmxlIG5hbWVzLgoKU2lnbmVkLW9mZi1i eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBJYW4g SmFja3NvbiA8SWFuLkphY2tzb25AZXUuY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5saXUy QGNpdHJpeC5jb20+CkNDOiBKdWxpZW4gR3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0K IHRvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmggICAgICB8IDEwICsrKysrKystLQogdG9vbHMv bGlieGMveGNfZG9tX2FybS5jICAgICAgICAgIHwgMTIgKysrKystLS0tLS0KIHRvb2xzL2xpYnhj L3hjX2RvbV9ib290LmMgICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLQogdG9vbHMvbGlieGMveGNfZG9tX2NvbXBhdF9saW51eC5jIHwgIDQgKystLQog dG9vbHMvbGlieGMveGNfZG9tX3g4Ni5jICAgICAgICAgIHwgNDUgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAgICAgICAg fCAxMSArKystLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKyksIDYzIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmggYi90 b29scy9saWJ4Yy9pbmNsdWRlL3hjX2RvbS5oCmluZGV4IDZlMDZlZjEuLjgwYjRmYmQgMTAwNjQ0 Ci0tLSBhL3Rvb2xzL2xpYnhjL2luY2x1ZGUveGNfZG9tLmgKKysrIGIvdG9vbHMvbGlieGMvaW5j bHVkZS94Y19kb20uaApAQCAtOTQsOCArOTQsNiBAQCBzdHJ1Y3QgeGNfZG9tX2ltYWdlIHsKICAg ICBzdHJ1Y3QgeGNfZG9tX3NlZyBkZXZpY2V0cmVlX3NlZzsKICAgICBzdHJ1Y3QgeGNfZG9tX3Nl ZyBzdGFydF9pbmZvX3NlZzsgLyogSFZNbGl0ZSBvbmx5ICovCiAgICAgeGVuX3Bmbl90IHN0YXJ0 X2luZm9fcGZuOwotICAgIHhlbl9wZm5fdCBjb25zb2xlX3BmbjsKLSAgICB4ZW5fcGZuX3QgeGVu c3RvcmVfcGZuOwogICAgIHhlbl9wZm5fdCBzaGFyZWRfaW5mb19wZm47CiAgICAgeGVuX3Bmbl90 IGJvb3RzdGFja19wZm47CiAgICAgeGVuX3Bmbl90IHBmbl9hbGxvY19lbmQ7CkBAIC0xMDMsNiAr MTAxLDE0IEBAIHN0cnVjdCB4Y19kb21faW1hZ2UgewogICAgIHhlbl92YWRkcl90IGJzZF9zeW10 YWJfc3RhcnQ7CiAKICAgICAvKgorICAgICAqIERldGFpbHMgZm9yIHRoZSB0b29sc3RhY2stcHJl cGFyZWQgcmluZ3MuCisgICAgICoKKyAgICAgKiAqX2dmbiBmaWVsZHMgYXJlIGFsbG9jYXRlZCBi eSB0aGUgZG9tYWluIGJ1aWxkZXIuCisgICAgICovCisgICAgeGVuX3Bmbl90IGNvbnNvbGVfZ2Zu OworICAgIHhlbl9wZm5fdCB4ZW5zdG9yZV9nZm47CisKKyAgICAvKgogICAgICAqIGluaXRyZCBw YXJhbWV0ZXJzIGFzIHNwZWNpZmllZCBpbiBzdGFydF9pbmZvIHBhZ2UKICAgICAgKiBEZXBlbmRp bmcgb24gY2FwYWJpbGl0aWVzIG9mIHRoZSBib290ZWQga2VybmVsIHRoaXMgbWF5IGJlIGEgdmly dHVhbAogICAgICAqIGFkZHJlc3Mgb3IgYSBwZm4uIFR5cGUgaXMgbmV1dHJhbCBhbmQgbGFyZ2Ug ZW5vdWdoIHRvIGhvbGQgYSB2aXJ0dWFsCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21f YXJtLmMgYi90b29scy9saWJ4Yy94Y19kb21fYXJtLmMKaW5kZXggMmFlYjI4Ny4uYzdhYTQ0YSAx MDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX2FybS5jCisrKyBiL3Rvb2xzL2xpYnhjL3hj X2RvbV9hcm0uYwpAQCAtODQsMTkgKzg0LDE5IEBAIHN0YXRpYyBpbnQgYWxsb2NfbWFnaWNfcGFn ZXMoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgIGlmICggcmMgPCAwICkKICAgICAgICAg cmV0dXJuIHJjOwogCi0gICAgZG9tLT5jb25zb2xlX3BmbiA9IGJhc2UgKyBDT05TT0xFX1BGTl9P RkZTRVQ7Ci0gICAgZG9tLT54ZW5zdG9yZV9wZm4gPSBiYXNlICsgWEVOU1RPUkVfUEZOX09GRlNF VDsKKyAgICBkb20tPmNvbnNvbGVfZ2ZuID0gYmFzZSArIENPTlNPTEVfUEZOX09GRlNFVDsKKyAg ICBkb20tPnhlbnN0b3JlX2dmbiA9IGJhc2UgKyBYRU5TVE9SRV9QRk5fT0ZGU0VUOwogICAgIGRv bS0+dnVhcnRfZ2ZuID0gYmFzZSArIFZVQVJUX1BGTl9PRkZTRVQ7CiAKLSAgICB4Y19jbGVhcl9k b21haW5fcGFnZShkb20tPnhjaCwgZG9tLT5ndWVzdF9kb21pZCwgZG9tLT5jb25zb2xlX3Bmbik7 Ci0gICAgeGNfY2xlYXJfZG9tYWluX3BhZ2UoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsIGRv bS0+eGVuc3RvcmVfcGZuKTsKKyAgICB4Y19jbGVhcl9kb21haW5fcGFnZShkb20tPnhjaCwgZG9t LT5ndWVzdF9kb21pZCwgZG9tLT5jb25zb2xlX2dmbik7CisgICAgeGNfY2xlYXJfZG9tYWluX3Bh Z2UoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsIGRvbS0+eGVuc3RvcmVfZ2ZuKTsKICAgICB4 Y19jbGVhcl9kb21haW5fcGFnZShkb20tPnhjaCwgZG9tLT5ndWVzdF9kb21pZCwgYmFzZSArIE1F TUFDQ0VTU19QRk5fT0ZGU0VUKTsKICAgICB4Y19jbGVhcl9kb21haW5fcGFnZShkb20tPnhjaCwg ZG9tLT5ndWVzdF9kb21pZCwgZG9tLT52dWFydF9nZm4pOwogCiAgICAgeGNfaHZtX3BhcmFtX3Nl dChkb20tPnhjaCwgZG9tLT5ndWVzdF9kb21pZCwgSFZNX1BBUkFNX0NPTlNPTEVfUEZOLAotICAg ICAgICAgICAgZG9tLT5jb25zb2xlX3Bmbik7CisgICAgICAgICAgICBkb20tPmNvbnNvbGVfZ2Zu KTsKICAgICB4Y19odm1fcGFyYW1fc2V0KGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlkLCBIVk1f UEFSQU1fU1RPUkVfUEZOLAotICAgICAgICAgICAgZG9tLT54ZW5zdG9yZV9wZm4pOworICAgICAg ICAgICAgZG9tLT54ZW5zdG9yZV9nZm4pOwogICAgIHhjX2h2bV9wYXJhbV9zZXQoZG9tLT54Y2gs IGRvbS0+Z3Vlc3RfZG9taWQsIEhWTV9QQVJBTV9NT05JVE9SX1JJTkdfUEZOLAogICAgICAgICAg ICAgYmFzZSArIE1FTUFDQ0VTU19QRk5fT0ZGU0VUKTsKICAgICAvKiBhbGxvY2F0ZWQgYnkgdG9v bHN0YWNrICovCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21fYm9vdC5jIGIvdG9vbHMv bGlieGMveGNfZG9tX2Jvb3QuYwppbmRleCBjZTNjMjJlLi5hODRhOTVlIDEwMDY0NAotLS0gYS90 b29scy9saWJ4Yy94Y19kb21fYm9vdC5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV9ib290LmMK QEAgLTI1NywyNCArMjU3LDI0IEBAIHN0YXRpYyB4ZW5fcGZuX3QgeGNfZG9tX2dudHRhYl9zZXR1 cCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCkKIH0KIAogaW50IHhjX2RvbV9nbnR0 YWJfc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwKLSAgICAgICAgICAgICAg ICAgICAgICAgeGVuX3Bmbl90IGNvbnNvbGVfZ21mbiwKLSAgICAgICAgICAgICAgICAgICAgICAg eGVuX3Bmbl90IHhlbnN0b3JlX2dtZm4sCisgICAgICAgICAgICAgICAgICAgICAgIHhlbl9wZm5f dCBjb25zb2xlX2dmbiwKKyAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHhlbnN0b3Jl X2dmbiwKICAgICAgICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAogICAg ICAgICAgICAgICAgICAgICAgICBkb21pZF90IHhlbnN0b3JlX2RvbWlkKQogewogCi0gICAgeGVu X3Bmbl90IGdudHRhYl9nbWZuOworICAgIHhlbl9wZm5fdCBnbnR0YWJfZ2ZuOwogICAgIGdyYW50 X2VudHJ5X3YxX3QgKmdudHRhYjsKIAotICAgIGdudHRhYl9nbWZuID0geGNfZG9tX2dudHRhYl9z ZXR1cCh4Y2gsIGRvbWlkKTsKLSAgICBpZiAoIGdudHRhYl9nbWZuID09IC0xICkKKyAgICBnbnR0 YWJfZ2ZuID0geGNfZG9tX2dudHRhYl9zZXR1cCh4Y2gsIGRvbWlkKTsKKyAgICBpZiAoIGdudHRh Yl9nZm4gPT0gLTEgKQogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBnbnR0YWIgPSB4Y19tYXBf Zm9yZWlnbl9yYW5nZSh4Y2gsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9t aWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFHRV9TSVpFLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRHxQUk9UX1dSSVRFLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdudHRhYl9nbWZuKTsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBnbnR0YWJfZ2ZuKTsKICAgICBpZiAoIGdudHRhYiA9PSBOVUxM ICkKICAgICB7CiAgICAgICAgIHhjX2RvbV9wYW5pYyh4Y2gsIFhDX0lOVEVSTkFMX0VSUk9SLApA QCAtMjg0LDE3ICsyODQsMTcgQEAgaW50IHhjX2RvbV9nbnR0YWJfc2VlZCh4Y19pbnRlcmZhY2Ug KnhjaCwgZG9taWRfdCBkb21pZCwKICAgICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAotICAgIGlm ICggZG9taWQgIT0gY29uc29sZV9kb21pZCAgJiYgY29uc29sZV9nbWZuICE9IC0xKQorICAgIGlm ICggZG9taWQgIT0gY29uc29sZV9kb21pZCAgJiYgY29uc29sZV9nZm4gIT0gLTEgKQogICAgIHsK ICAgICAgICAgZ250dGFiW0dOVFRBQl9SRVNFUlZFRF9DT05TT0xFXS5mbGFncyA9IEdURl9wZXJt aXRfYWNjZXNzOwogICAgICAgICBnbnR0YWJbR05UVEFCX1JFU0VSVkVEX0NPTlNPTEVdLmRvbWlk ID0gY29uc29sZV9kb21pZDsKLSAgICAgICAgZ250dGFiW0dOVFRBQl9SRVNFUlZFRF9DT05TT0xF XS5mcmFtZSA9IGNvbnNvbGVfZ21mbjsKKyAgICAgICAgZ250dGFiW0dOVFRBQl9SRVNFUlZFRF9D T05TT0xFXS5mcmFtZSA9IGNvbnNvbGVfZ2ZuOwogICAgIH0KLSAgICBpZiAoIGRvbWlkICE9IHhl bnN0b3JlX2RvbWlkICYmIHhlbnN0b3JlX2dtZm4gIT0gLTEpCisgICAgaWYgKCBkb21pZCAhPSB4 ZW5zdG9yZV9kb21pZCAmJiB4ZW5zdG9yZV9nZm4gIT0gLTEgKQogICAgIHsKICAgICAgICAgZ250 dGFiW0dOVFRBQl9SRVNFUlZFRF9YRU5TVE9SRV0uZmxhZ3MgPSBHVEZfcGVybWl0X2FjY2VzczsK ICAgICAgICAgZ250dGFiW0dOVFRBQl9SRVNFUlZFRF9YRU5TVE9SRV0uZG9taWQgPSB4ZW5zdG9y ZV9kb21pZDsKLSAgICAgICAgZ250dGFiW0dOVFRBQl9SRVNFUlZFRF9YRU5TVE9SRV0uZnJhbWUg PSB4ZW5zdG9yZV9nbWZuOworICAgICAgICBnbnR0YWJbR05UVEFCX1JFU0VSVkVEX1hFTlNUT1JF XS5mcmFtZSA9IHhlbnN0b3JlX2dmbjsKICAgICB9CiAKICAgICBpZiAoIG11bm1hcChnbnR0YWIs IFBBR0VfU0laRSkgPT0gLTEgKQpAQCAtMzA4LDE5ICszMDgsMTkgQEAgaW50IHhjX2RvbV9nbnR0 YWJfc2VlZCh4Y19pbnRlcmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwKIAogICAgIC8qIEd1ZXN0 IHNob3VsZG4ndCByZWFsbHkgdG91Y2ggaXRzIGdyYW50IHRhYmxlIHVudGlsIGl0IGhhcwogICAg ICAqIGVuYWJsZWQgaXRzIGNhY2hlcy4gQnV0IGxldHMgYmUgbmljZS4gKi8KLSAgICB4Y19kb21h aW5fY2FjaGVmbHVzaCh4Y2gsIGRvbWlkLCBnbnR0YWJfZ21mbiwgMSk7CisgICAgeGNfZG9tYWlu X2NhY2hlZmx1c2goeGNoLCBkb21pZCwgZ250dGFiX2dmbiwgMSk7CiAKICAgICByZXR1cm4gMDsK IH0KIAogaW50IHhjX2RvbV9nbnR0YWJfaHZtX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlk X3QgZG9taWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgY29uc29sZV9n cGZuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgeGVuX3Bmbl90IHhlbnN0b3JlX2dwZm4s CisgICAgICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgY29uc29sZV9nZm4sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICB4ZW5fcGZuX3QgeGVuc3RvcmVfZ2ZuLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgZG9taWRfdCBjb25zb2xlX2RvbWlkLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgZG9taWRfdCB4ZW5zdG9yZV9kb21pZCkKIHsKICAgICBpbnQgcmM7Ci0gICAg eGVuX3Bmbl90IHNjcmF0Y2hfZ3BmbjsKKyAgICB4ZW5fcGZuX3Qgc2NyYXRjaF9nZm47CiAgICAg c3RydWN0IHhlbl9hZGRfdG9fcGh5c21hcCB4YXRwID0gewogICAgICAgICAuZG9taWQgPSBkb21p ZCwKICAgICAgICAgLnNwYWNlID0gWEVOTUFQU1BBQ0VfZ3JhbnRfdGFibGUsCkBAIC0zMzAsNyAr MzMwLDcgQEAgaW50IHhjX2RvbV9nbnR0YWJfaHZtX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRv bWlkX3QgZG9taWQsCiAgICAgICAgIC5kb21pZCA9IGRvbWlkLAogICAgIH07CiAKLSAgICByYyA9 IHhjX2NvcmVfYXJjaF9nZXRfc2NyYXRjaF9ncGZuKHhjaCwgZG9taWQsICZzY3JhdGNoX2dwZm4p OworICAgIHJjID0geGNfY29yZV9hcmNoX2dldF9zY3JhdGNoX2dwZm4oeGNoLCBkb21pZCwgJnNj cmF0Y2hfZ2ZuKTsKICAgICBpZiAoIHJjIDwgMCApCiAgICAgewogICAgICAgICB4Y19kb21fcGFu aWMoeGNoLCBYQ19JTlRFUk5BTF9FUlJPUiwKQEAgLTMzOSwxMSArMzM5LDExIEBAIGludCB4Y19k b21fZ250dGFiX2h2bV9zZWVkKHhjX2ludGVyZmFjZSAqeGNoLCBkb21pZF90IGRvbWlkLAogICAg ICAgICAgICAgICAgICAgICAgX19GVU5DVElPTl9fLCBlcnJubyk7CiAgICAgICAgIHJldHVybiAt MTsKICAgICB9Ci0gICAgeGF0cC5ncGZuID0gc2NyYXRjaF9ncGZuOwotICAgIHhyZnAuZ3BmbiA9 IHNjcmF0Y2hfZ3BmbjsKKyAgICB4YXRwLmdwZm4gPSBzY3JhdGNoX2dmbjsKKyAgICB4cmZwLmdw Zm4gPSBzY3JhdGNoX2dmbjsKIAotICAgIHhjX2RvbV9wcmludGYoeGNoLCAiJXM6IGNhbGxlZCwg cGZuPTB4JSJQUklfeGVuX3BmbiwgX19GVU5DVElPTl9fLAotICAgICAgICAgICAgICAgICAgc2Ny YXRjaF9ncGZuKTsKKyAgICB4Y19kb21fcHJpbnRmKHhjaCwgIiVzOiBjYWxsZWQsIHNjcmF0Y2gg Z2ZuPTB4JSJQUklfeGVuX3BmbiwgX19GVU5DVElPTl9fLAorICAgICAgICAgICAgICAgICAgc2Ny YXRjaF9nZm4pOwogCiAKICAgICByYyA9IGRvX21lbW9yeV9vcCh4Y2gsIFhFTk1FTV9hZGRfdG9f cGh5c21hcCwgJnhhdHAsIHNpemVvZih4YXRwKSk7CkBAIC0zNTcsNyArMzU3LDcgQEAgaW50IHhj X2RvbV9nbnR0YWJfaHZtX3NlZWQoeGNfaW50ZXJmYWNlICp4Y2gsIGRvbWlkX3QgZG9taWQsCiAg ICAgfQogCiAgICAgcmMgPSB4Y19kb21fZ250dGFiX3NlZWQoeGNoLCBkb21pZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zb2xlX2dwZm4sIHhlbnN0b3JlX2dwZm4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc29sZV9nZm4sIHhlbnN0b3JlX2dmbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zb2xlX2RvbWlkLCB4ZW5zdG9yZV9kb21pZCk7CiAgICAg aWYgKHJjICE9IDApCiAgICAgewpAQCAtMzg1LDEyICszODUsMTEgQEAgaW50IHhjX2RvbV9nbnR0 YWJfaW5pdChzdHJ1Y3QgeGNfZG9tX2ltYWdlICpkb20pCiB7CiAgICAgaWYgKCB4Y19kb21fdHJh bnNsYXRlZChkb20pICkgewogICAgICAgICByZXR1cm4geGNfZG9tX2dudHRhYl9odm1fc2VlZChk b20tPnhjaCwgZG9tLT5ndWVzdF9kb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZG9tLT5jb25zb2xlX3BmbiwgZG9tLT54ZW5zdG9yZV9wZm4sCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvbS0+Y29uc29sZV9nZm4sIGRvbS0+eGVuc3Rv cmVfZ2ZuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb20tPmNvbnNv bGVfZG9taWQsIGRvbS0+eGVuc3RvcmVfZG9taWQpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHJl dHVybiB4Y19kb21fZ250dGFiX3NlZWQoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeGNfZG9tX3AybShkb20sIGRvbS0+Y29uc29s ZV9wZm4pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2RvbV9wMm0oZG9t LCBkb20tPnhlbnN0b3JlX3BmbiksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZG9tLT5jb25zb2xlX2dmbiwgZG9tLT54ZW5zdG9yZV9nZm4sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZG9tLT5jb25zb2xlX2RvbWlkLCBkb20tPnhlbnN0b3JlX2RvbWlkKTsK ICAgICB9CiB9CmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19kb21fY29tcGF0X2xpbnV4LmMg Yi90b29scy9saWJ4Yy94Y19kb21fY29tcGF0X2xpbnV4LmMKaW5kZXggYzkyMmM2MS4uNmQyN2Vj MiAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX2NvbXBhdF9saW51eC5jCisrKyBiL3Rv b2xzL2xpYnhjL3hjX2RvbV9jb21wYXRfbGludXguYwpAQCAtNzgsOCArNzgsOCBAQCBpbnQgeGNf bGludXhfYnVpbGQoeGNfaW50ZXJmYWNlICp4Y2gsIHVpbnQzMl90IGRvbWlkLAogICAgIGlmICgg KHJjID0geGNfZG9tX2dudHRhYl9pbml0KGRvbSkpICE9IDApCiAgICAgICAgIGdvdG8gb3V0Owog Ci0gICAgKmNvbnNvbGVfbWZuID0geGNfZG9tX3AybShkb20sIGRvbS0+Y29uc29sZV9wZm4pOwot ICAgICpzdG9yZV9tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOworICAg ICpjb25zb2xlX21mbiA9IGRvbS0+Y29uc29sZV9nZm47CisgICAgKnN0b3JlX21mbiA9IGRvbS0+ eGVuc3RvcmVfZ2ZuOwogCiAgb3V0OgogICAgIHhjX2RvbV9yZWxlYXNlKGRvbSk7CmRpZmYgLS1n aXQgYS90b29scy9saWJ4Yy94Y19kb21feDg2LmMgYi90b29scy9saWJ4Yy94Y19kb21feDg2LmMK aW5kZXggMGM4MGI1OS4uYWEwY2VkMSAxMDA2NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfZG9tX3g4 Ni5jCisrKyBiL3Rvb2xzL2xpYnhjL3hjX2RvbV94ODYuYwpAQCAtNTM2LDIxICs1MzYsMjMgQEAg c3RhdGljIGludCBhbGxvY19wMm1fbGlzdF94ODZfNjQoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9t KQogCiBzdGF0aWMgaW50IGFsbG9jX21hZ2ljX3BhZ2VzX3B2KHN0cnVjdCB4Y19kb21faW1hZ2Ug KmRvbSkKIHsKKyAgICB4ZW5fcGZuX3QgcGZuOworCiAgICAgZG9tLT5zdGFydF9pbmZvX3BmbiA9 IHhjX2RvbV9hbGxvY19wYWdlKGRvbSwgInN0YXJ0IGluZm8iKTsKICAgICBpZiAoIGRvbS0+c3Rh cnRfaW5mb19wZm4gPT0gSU5WQUxJRF9QRk4gKQogICAgICAgICByZXR1cm4gLTE7CiAKLSAgICBk b20tPnhlbnN0b3JlX3BmbiA9IHhjX2RvbV9hbGxvY19wYWdlKGRvbSwgInhlbnN0b3JlIik7Ci0g ICAgaWYgKCBkb20tPnhlbnN0b3JlX3BmbiA9PSBJTlZBTElEX1BGTiApCisgICAgcGZuID0geGNf ZG9tX2FsbG9jX3BhZ2UoZG9tLCAieGVuc3RvcmUiKTsKKyAgICBpZiAoIHBmbiA9PSBJTlZBTElE X1BGTiApCiAgICAgICAgIHJldHVybiAtMTsKLSAgICB4Y19jbGVhcl9kb21haW5fcGFnZShkb20t PnhjaCwgZG9tLT5ndWVzdF9kb21pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICB4Y19kb21f cDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pKTsKKyAgICBkb20tPnhlbnN0b3JlX2dmbiA9IHhj X2RvbV9wMm0oZG9tLCBwZm4pOworICAgIHhjX2NsZWFyX2RvbWFpbl9wYWdlKGRvbS0+eGNoLCBk b20tPmd1ZXN0X2RvbWlkLCBkb20tPnhlbnN0b3JlX2dmbik7CiAKLSAgICBkb20tPmNvbnNvbGVf cGZuID0geGNfZG9tX2FsbG9jX3BhZ2UoZG9tLCAiY29uc29sZSIpOwotICAgIGlmICggZG9tLT5j b25zb2xlX3BmbiA9PSBJTlZBTElEX1BGTiApCisgICAgcGZuID0geGNfZG9tX2FsbG9jX3BhZ2Uo ZG9tLCAiY29uc29sZSIpOworICAgIGlmICggcGZuID09IElOVkFMSURfUEZOICkKICAgICAgICAg cmV0dXJuIC0xOwotICAgIHhjX2NsZWFyX2RvbWFpbl9wYWdlKGRvbS0+eGNoLCBkb20tPmd1ZXN0 X2RvbWlkLAotICAgICAgICAgICAgICAgICAgICAgICAgIHhjX2RvbV9wMm0oZG9tLCBkb20tPmNv bnNvbGVfcGZuKSk7CisgICAgZG9tLT5jb25zb2xlX2dmbiA9IHhjX2RvbV9wMm0oZG9tLCBwZm4p OworICAgIHhjX2NsZWFyX2RvbWFpbl9wYWdlKGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlkLCBk b20tPmNvbnNvbGVfZ2ZuKTsKIAogICAgIGRvbS0+YWxsb2NfYm9vdHN0YWNrID0gMTsKIApAQCAt NjEyLDE0ICs2MTQsMTkgQEAgc3RhdGljIGludCBhbGxvY19tYWdpY19wYWdlc19odm0oc3RydWN0 IHhjX2RvbV9pbWFnZSAqZG9tKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFg4Nl9I Vk1fTlJfU1BFQ0lBTF9QQUdFUykgKQogICAgICAgICAgICAgZ290byBlcnJvcl9vdXQ7CiAKLSAg ICB4Y19odm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9TVE9SRV9QRk4sCi0gICAg ICAgICAgICAgICAgICAgICBzcGVjaWFsX3BmbihTUEVDSUFMUEFHRV9YRU5TVE9SRSkpOworICAg IGRvbS0+eGVuc3RvcmVfZ2ZuID0gc3BlY2lhbF9wZm4oU1BFQ0lBTFBBR0VfWEVOU1RPUkUpOwor ICAgIHhjX2NsZWFyX2RvbWFpbl9wYWdlKGRvbS0+eGNoLCBkb20tPmd1ZXN0X2RvbWlkLCBkb20t PnhlbnN0b3JlX2dmbik7CisgICAgeGNfaHZtX3BhcmFtX3NldCh4Y2gsIGRvbWlkLCBIVk1fUEFS QU1fU1RPUkVfUEZOLCBkb20tPnhlbnN0b3JlX2dmbik7CisKICAgICB4Y19odm1fcGFyYW1fc2V0 KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9CVUZJT1JFUV9QRk4sCiAgICAgICAgICAgICAgICAgICAg ICBzcGVjaWFsX3BmbihTUEVDSUFMUEFHRV9CVUZJT1JFUSkpOwogICAgIHhjX2h2bV9wYXJhbV9z ZXQoeGNoLCBkb21pZCwgSFZNX1BBUkFNX0lPUkVRX1BGTiwKICAgICAgICAgICAgICAgICAgICAg IHNwZWNpYWxfcGZuKFNQRUNJQUxQQUdFX0lPUkVRKSk7Ci0gICAgeGNfaHZtX3BhcmFtX3NldCh4 Y2gsIGRvbWlkLCBIVk1fUEFSQU1fQ09OU09MRV9QRk4sCi0gICAgICAgICAgICAgICAgICAgICBz cGVjaWFsX3BmbihTUEVDSUFMUEFHRV9DT05TT0xFKSk7CisKKyAgICBkb20tPmNvbnNvbGVfZ2Zu ID0gc3BlY2lhbF9wZm4oU1BFQ0lBTFBBR0VfQ09OU09MRSk7CisgICAgeGNfY2xlYXJfZG9tYWlu X3BhZ2UoZG9tLT54Y2gsIGRvbS0+Z3Vlc3RfZG9taWQsIGRvbS0+Y29uc29sZV9nZm4pOworICAg IHhjX2h2bV9wYXJhbV9zZXQoeGNoLCBkb21pZCwgSFZNX1BBUkFNX0NPTlNPTEVfUEZOLCBkb20t PmNvbnNvbGVfZ2ZuKTsKKwogICAgIHhjX2h2bV9wYXJhbV9zZXQoeGNoLCBkb21pZCwgSFZNX1BB UkFNX1BBR0lOR19SSU5HX1BGTiwKICAgICAgICAgICAgICAgICAgICAgIHNwZWNpYWxfcGZuKFNQ RUNJQUxQQUdFX1BBR0lORykpOwogICAgIHhjX2h2bV9wYXJhbV9zZXQoeGNoLCBkb21pZCwgSFZN X1BBUkFNX01PTklUT1JfUklOR19QRk4sCkBAIC02OTksMTIgKzcwNiw2IEBAIHN0YXRpYyBpbnQg YWxsb2NfbWFnaWNfcGFnZXNfaHZtKHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICB4Y19o dm1fcGFyYW1fc2V0KHhjaCwgZG9taWQsIEhWTV9QQVJBTV9JREVOVF9QVCwKICAgICAgICAgICAg ICAgICAgICAgIHNwZWNpYWxfcGZuKFNQRUNJQUxQQUdFX0lERU5UX1BUKSA8PCBQQUdFX1NISUZU KTsKIAotICAgIGRvbS0+Y29uc29sZV9wZm4gPSBzcGVjaWFsX3BmbihTUEVDSUFMUEFHRV9DT05T T0xFKTsKLSAgICB4Y19jbGVhcl9kb21haW5fcGFnZShkb20tPnhjaCwgZG9tLT5ndWVzdF9kb21p ZCwgZG9tLT5jb25zb2xlX3Bmbik7Ci0KLSAgICBkb20tPnhlbnN0b3JlX3BmbiA9IHNwZWNpYWxf cGZuKFNQRUNJQUxQQUdFX1hFTlNUT1JFKTsKLSAgICB4Y19jbGVhcl9kb21haW5fcGFnZShkb20t PnhjaCwgZG9tLT5ndWVzdF9kb21pZCwgZG9tLT54ZW5zdG9yZV9wZm4pOwotCiAgICAgZG9tLT5w YXJtcy52aXJ0X2h5cGVyY2FsbCA9IC0xOwogCiAgICAgcmMgPSAwOwpAQCAtNzQ0LDkgKzc0NSw5 IEBAIHN0YXRpYyBpbnQgc3RhcnRfaW5mb194ODZfMzIoc3RydWN0IHhjX2RvbV9pbWFnZSAqZG9t KQogICAgIHN0YXJ0X2luZm8tPm1mbl9saXN0ID0gZG9tLT5wMm1fc2VnLnZzdGFydDsKIAogICAg IHN0YXJ0X2luZm8tPmZsYWdzID0gZG9tLT5mbGFnczsKLSAgICBzdGFydF9pbmZvLT5zdG9yZV9t Zm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT54ZW5zdG9yZV9wZm4pOworICAgIHN0YXJ0X2luZm8t PnN0b3JlX21mbiA9IGRvbS0+eGVuc3RvcmVfZ2ZuOwogICAgIHN0YXJ0X2luZm8tPnN0b3JlX2V2 dGNobiA9IGRvbS0+eGVuc3RvcmVfZXZ0Y2huOwotICAgIHN0YXJ0X2luZm8tPmNvbnNvbGUuZG9t VS5tZm4gPSB4Y19kb21fcDJtKGRvbSwgZG9tLT5jb25zb2xlX3Bmbik7CisgICAgc3RhcnRfaW5m by0+Y29uc29sZS5kb21VLm1mbiA9IGRvbS0+Y29uc29sZV9nZm47CiAgICAgc3RhcnRfaW5mby0+ Y29uc29sZS5kb21VLmV2dGNobiA9IGRvbS0+Y29uc29sZV9ldnRjaG47CiAKICAgICBpZiAoIGRv bS0+cmFtZGlza19ibG9iICkKQEAgLTc5NSw5ICs3OTYsOSBAQCBzdGF0aWMgaW50IHN0YXJ0X2lu Zm9feDg2XzY0KHN0cnVjdCB4Y19kb21faW1hZ2UgKmRvbSkKICAgICB9CiAKICAgICBzdGFydF9p bmZvLT5mbGFncyA9IGRvbS0+ZmxhZ3M7Ci0gICAgc3RhcnRfaW5mby0+c3RvcmVfbWZuID0geGNf ZG9tX3AybShkb20sIGRvbS0+eGVuc3RvcmVfcGZuKTsKKyAgICBzdGFydF9pbmZvLT5zdG9yZV9t Zm4gPSBkb20tPnhlbnN0b3JlX2dmbjsKICAgICBzdGFydF9pbmZvLT5zdG9yZV9ldnRjaG4gPSBk b20tPnhlbnN0b3JlX2V2dGNobjsKLSAgICBzdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuID0g eGNfZG9tX3AybShkb20sIGRvbS0+Y29uc29sZV9wZm4pOworICAgIHN0YXJ0X2luZm8tPmNvbnNv bGUuZG9tVS5tZm4gPSBkb20tPmNvbnNvbGVfZ2ZuOwogICAgIHN0YXJ0X2luZm8tPmNvbnNvbGUu ZG9tVS5ldnRjaG4gPSBkb20tPmNvbnNvbGVfZXZ0Y2huOwogCiAgICAgaWYgKCBkb20tPnJhbWRp c2tfYmxvYiApCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xzL2xp YnhsL2xpYnhsX2RvbS5jCmluZGV4IGVmODM0ZTYuLjAzODlhMDYgMTAwNjQ0Ci0tLSBhL3Rvb2xz L2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCkBAIC04NTEs MTQgKzg1MSw5IEBAIGludCBsaWJ4bF9fYnVpbGRfcHYobGlieGxfX2djICpnYywgdWludDMyX3Qg ZG9taWQsCiAgICAgaWYgKHJldCAhPSAwKQogICAgICAgICBnb3RvIG91dDsKIAotICAgIGlmICh4 Y19kb21fdHJhbnNsYXRlZChkb20pKSB7Ci0gICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IGRv bS0+Y29uc29sZV9wZm47Ci0gICAgICAgIHN0YXRlLT5zdG9yZV9tZm4gPSBkb20tPnhlbnN0b3Jl X3BmbjsKLSAgICAgICAgc3RhdGUtPnZ1YXJ0X2dmbiA9IGRvbS0+dnVhcnRfZ2ZuOwotICAgIH0g ZWxzZSB7Ci0gICAgICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IHhjX2RvbV9wMm0oZG9tLCBkb20t PmNvbnNvbGVfcGZuKTsKLSAgICAgICAgc3RhdGUtPnN0b3JlX21mbiA9IHhjX2RvbV9wMm0oZG9t LCBkb20tPnhlbnN0b3JlX3Bmbik7Ci0gICAgfQorICAgIHN0YXRlLT5jb25zb2xlX21mbiA9IGRv bS0+Y29uc29sZV9nZm47CisgICAgc3RhdGUtPnN0b3JlX21mbiA9IGRvbS0+eGVuc3RvcmVfZ2Zu OworICAgIHN0YXRlLT52dWFydF9nZm4gPSBkb20tPnZ1YXJ0X2dmbjsKIAogICAgIHJldCA9IDA7 CiBvdXQ6Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=