From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Lai Subject: [PATCH Altp2m cleanup v8] Move altp2m specific functions to altp2m files. Date: Tue, 4 Oct 2016 11:13:16 -0700 Message-ID: <1475604796-2443-2-git-send-email-paul.c.lai@intel.com> References: <1475604796-2443-1-git-send-email-paul.c.lai@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1475604796-2443-1-git-send-email-paul.c.lai@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xensource.com Cc: ravi.sahita@intel.com, george.dunlap@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VGhpcyBtYWtlcyB0aGUgY29kZSBhIGxpdHRsZSBlYXNpZXIgdG8gcmVhZC4KTW92aW5nIGh2bV9h bHRwMm1fc3VwcG9ydGVkKCkgY2hlY2sgaW50byBmdW5jdGlvbnMgdGhhdCB1c2UgaXQKZm9yIGJl dHRlciByZWFkYWJpbGl0eS4KTW92aW5nIGVwdCBjb2RlIHRvIGVwdCBzcGVjaWZpYyBmaWxlcyBh cyByZXF1ZXN0ZWQgaW46CiAgaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9o dG1sL3hlbi1kZXZlbC8yMDE1LTA3L21zZzA0MzIzLmh0bWwKUmVuYW1lZCBwMm1faW5pdF9hbHRw Mm1faGVscGVyKCkgdG8gcDJtX2luaXRfYWx0cDJtX2VwdCgpLgpHb3QgcmlkIG9mIHN0cmF5IGJs YW5rcyBhZnRlciBvcGVuIHBhcmVuIGFmdGVyIGZ1bmN0aW9uIG5hbWVzLgpEZWZpbmluZyBfWEVO X0FTTV9YODZfUDJNX0ggaW5zdGVhZCBvZiBfWEVOX1AyTV9IIGZvcgp4ZW4vaW5jbHVkZS9hc20t eDg2L3AybS5oLgoKCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIExhaSA8cGF1bC5jLmxhaUBpbnRlbC5j b20+Ci0tLQp2OCBvZiB0aGlzIHBhdGNoLgpObyBjaGFuZ2Ugc2luY2UgdjQgc2luY2Ugd2UndmUg anVzdCBmb2N1c2VkIG9uIHBhdGNoICMxIGluIHRoaXMgc2VyaWVzLgotLS0KIHhlbi9hcmNoL3g4 Ni9tbS9hbHRwMm0uYyAgICAgICAgICB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogeGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyAgICAgICAgIHwgMzggKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMgICAgICAgICB8 IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L21tL3AybS5jICAg ICAgICAgICAgIHwgNDUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1 ZGUvYXNtLXg4Ni9hbHRwMm0uaCAgICAgIHwgIDQgKystCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS92bXgvdm14LmggfCAgMyArKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICAgICAgICB8 ICA5ICsrKy0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDc4IGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9hbHRwMm0uYyBiL3hlbi9hcmNo L3g4Ni9tbS9hbHRwMm0uYwppbmRleCA5MzBiZGMyLi42MjgwMWFlIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvbW0vYWx0cDJtLmMKKysrIGIveGVuL2FyY2gveDg2L21tL2FsdHAybS5jCkBAIC0x Nyw2ICsxNyw3IEBACiAKICNpbmNsdWRlIDxhc20vaHZtL3N1cHBvcnQuaD4KICNpbmNsdWRlIDxh c20vaHZtL2h2bS5oPgorI2luY2x1ZGUgPGFzbS9kb21haW4uaD4KICNpbmNsdWRlIDxhc20vcDJt Lmg+CiAjaW5jbHVkZSA8YXNtL2FsdHAybS5oPgogCkBAIC02Niw2ICs2Nyw2MiBAQCBhbHRwMm1f dmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogfQogCiAvKgorICogYWx0cDJtX2RvbWFpbl9p bml0KHN0cnVjdCBkb21haW4gKmQpKQorICogIGFsbG9jYXRlIGFuZCBpbml0aWFsaXplIG1lbW9y eSBmb3IgYWx0cDJtIHBvcnRpb24gb2YgZG9tYWluCisgKgorICogIHJldHVybnMgPCAwIG9uIGVy cm9yCisgKiAgcmV0dXJucyAwIG9uIG5vIG9wZXJhdGlvbiAoc3VjY2VzcykKKyAqICByZXR1cm5z ID4gMCBvbiBzdWNjZXNzCisgKi8KK2ludAorYWx0cDJtX2RvbWFpbl9pbml0KHN0cnVjdCBkb21h aW4gKmQpCit7CisgICAgaW50IHJjOworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgaWYgKCBk ID09IE5VTEwpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYgKCAhaHZtX2FsdHAybV9zdXBw b3J0ZWQoKSApCisgICAgICAgIHJldHVybiAwOworCisgICAgLyogSW5pdCBhbHRlcm5hdGUgcDJt IGRhdGEuICovCisgICAgaWYgKCAoZC0+YXJjaC5hbHRwMm1fZXB0cCA9IGFsbG9jX3hlbmhlYXBf cGFnZSgpKSA9PSBOVUxMICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICBmb3IgKCBp ID0gMDsgaSA8IE1BWF9FUFRQOyBpKysgKQorICAgICAgICBkLT5hcmNoLmFsdHAybV9lcHRwW2ld ID0gbWZuX3goSU5WQUxJRF9NRk4pOworCisgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfQUxUUDJN OyBpKysgKQorICAgIHsKKyAgICAgICAgcmMgPSBwMm1fYWxsb2NfdGFibGUoZC0+YXJjaC5hbHRw Mm1fcDJtW2ldKTsKKyAgICAgICAgaWYgKCByYyAhPSAwICkKKyAgICAgICAgICAgcmV0dXJuIHJj OworICAgIH0KKworICAgIGQtPmFyY2guYWx0cDJtX2FjdGl2ZSA9IDA7CisKKyAgICByZXR1cm4g cmM7Cit9CisKK3ZvaWQKK2FsdHAybV9kb21haW5fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCkK K3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGlmICggIWh2bV9hbHRwMm1fc3VwcG9ydGVk KCkgKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5hcmNoLmFsdHAybV9hY3RpdmUgPSAwOwor CisgICAgZnJlZV94ZW5oZWFwX3BhZ2UoZC0+YXJjaC5hbHRwMm1fZXB0cCk7CisgICAgZC0+YXJj aC5hbHRwMm1fZXB0cCA9IE5VTEw7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IE1BWF9BTFRQMk07 IGkrKyApCisgICAgICAgIHAybV90ZWFyZG93bihkLT5hcmNoLmFsdHAybV9wMm1baV0pOworfQor CisvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwogICogYy1maWxlLXN0eWxlOiAi QlNEIgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyBiL3hlbi9hcmNoL3g4 Ni9tbS9oYXAvaGFwLmMKaW5kZXggMzIxOGZhMi4uNjFjMGM0MiAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94ODYvbW0vaGFwL2hhcC5jCkBAIC0z Nyw2ICszNyw3IEBACiAjaW5jbHVkZSA8YXNtL2hhcC5oPgogI2luY2x1ZGUgPGFzbS9wYWdpbmcu aD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CisjaW5jbHVkZSA8YXNtL2FsdHAybS5oPgogI2luY2x1 ZGUgPGFzbS9kb21haW4uaD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5oPgogI2luY2x1ZGUgPGFzbS9o dm0vbmVzdGVkaHZtLmg+CkBAIC00OTksMjYgKzUwMCwxNyBAQCBpbnQgaGFwX2VuYWJsZShzdHJ1 Y3QgZG9tYWluICpkLCB1MzIgbW9kZSkKICAgICAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCi0g ICAgaWYgKCBodm1fYWx0cDJtX3N1cHBvcnRlZCgpICkKKyAgICBpZiAoIChydiA9IGFsdHAybV9k b21haW5faW5pdChkKSkgPCAwICkKICAgICB7Ci0gICAgICAgIC8qIEluaXQgYWx0ZXJuYXRlIHAy bSBkYXRhICovCi0gICAgICAgIGlmICggKGQtPmFyY2guYWx0cDJtX2VwdHAgPSBhbGxvY194ZW5o ZWFwX3BhZ2UoKSkgPT0gTlVMTCApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHJ2ID0gLUVOT01F TTsKLSAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgTUFYX05F U1RFRFAyTTsgaSsrKSB7CisgICAgICAgICAgICBwMm1fdGVhcmRvd24oZC0+YXJjaC5uZXN0ZWRf cDJtW2ldKTsKICAgICAgICAgfQogCi0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0VQVFA7 IGkrKyApCi0gICAgICAgICAgICBkLT5hcmNoLmFsdHAybV9lcHRwW2ldID0gbWZuX3goSU5WQUxJ RF9NRk4pOwotCi0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTUFYX0FMVFAyTTsgaSsrICkKLSAg ICAgICAgewotICAgICAgICAgICAgcnYgPSBwMm1fYWxsb2NfdGFibGUoZC0+YXJjaC5hbHRwMm1f cDJtW2ldKTsKLSAgICAgICAgICAgIGlmICggcnYgIT0gMCApCi0gICAgICAgICAgICAgICBnb3Rv IG91dDsKLSAgICAgICAgfQorICAgICAgICBpZiAoIGQtPmFyY2gucGFnaW5nLmhhcC50b3RhbF9w YWdlcyAhPSAwICkKKyAgICAgICAgICAgIGhhcF90ZWFyZG93bihkLCBOVUxMKTsKIAotICAgICAg ICBkLT5hcmNoLmFsdHAybV9hY3RpdmUgPSAwOworICAgICAgICBwMm1fdGVhcmRvd24ocDJtX2dl dF9ob3N0cDJtKGQpKTsKKyAgICAgICAgZ290byBvdXQ7CiAgICAgfQogCiAgICAgLyogTm93IGxl dCBvdGhlciB1c2VycyBzZWUgdGhlIG5ldyBtb2RlICovCkBAIC01MzMsMTkgKzUyNSw3IEBAIHZv aWQgaGFwX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgdW5zaWduZWQg aW50IGk7CiAKLSAgICBpZiAoIGh2bV9hbHRwMm1fc3VwcG9ydGVkKCkgKQotICAgIHsKLSAgICAg ICAgZC0+YXJjaC5hbHRwMm1fYWN0aXZlID0gMDsKLQotICAgICAgICBpZiAoIGQtPmFyY2guYWx0 cDJtX2VwdHAgKQotICAgICAgICB7Ci0gICAgICAgICAgICBmcmVlX3hlbmhlYXBfcGFnZShkLT5h cmNoLmFsdHAybV9lcHRwKTsKLSAgICAgICAgICAgIGQtPmFyY2guYWx0cDJtX2VwdHAgPSBOVUxM OwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICggaSA9IDA7IGkgPCBNQVhfQUxUUDJNOyBpKysg KQotICAgICAgICAgICAgcDJtX3RlYXJkb3duKGQtPmFyY2guYWx0cDJtX3AybVtpXSk7Ci0gICAg fQorICAgIGFsdHAybV9kb21haW5fdGVhcmRvd24oZCk7CiAKICAgICAvKiBEZXN0cm95IG5lc3Rl ZHAybSdzIGZpcnN0ICovCiAgICAgZm9yIChpID0gMDsgaSA8IE1BWF9ORVNURURQMk07IGkrKykg ewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYyBiL3hlbi9hcmNoL3g4Ni9t bS9wMm0tZXB0LmMKaW5kZXggMTNjYWIyNC4uMDQ4NzhmNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L21tL3AybS1lcHQuYworKysgYi94ZW4vYXJjaC94ODYvbW0vcDJtLWVwdC5jCkBAIC0xMzI5 LDYgKzEzMjksNDUgQEAgdm9pZCBzZXR1cF9lcHRfZHVtcCh2b2lkKQogICAgIHJlZ2lzdGVyX2tl eWhhbmRsZXIoJ0QnLCBlcHRfZHVtcF9wMm1fdGFibGUsICJkdW1wIFZULXggRVBUIHRhYmxlcyIs IDApOwogfQogCit2b2lkIHAybV9pbml0X2FsdHAybV9lcHQoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IGkpCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IGQtPmFyY2guYWx0 cDJtX3AybVtpXTsKKyAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdDsKKworICAgIHAybS0+bWluX3Jl bWFwcGVkX2dmbiA9IGdmbl94KElOVkFMSURfR0ZOKTsKKyAgICBwMm0tPm1heF9yZW1hcHBlZF9n Zm4gPSAwOworICAgIGVwdCA9ICZwMm0tPmVwdDsKKyAgICBlcHQtPmFzciA9IHBhZ2V0YWJsZV9n ZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpOworICAgIGQtPmFyY2guYWx0cDJtX2VwdHBb aV0gPSBlcHRfZ2V0X2VwdHAoZXB0KTsKK30KKwordW5zaWduZWQgaW50IHAybV9maW5kX2FsdHAy bV9ieV9lcHRwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGVwdHApCit7CisgICAgc3RydWN0 IHAybV9kb21haW4gKnAybTsKKyAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdDsKKyAgICB1bnNpZ25l ZCBpbnQgaTsKKworICAgIGFsdHAybV9saXN0X2xvY2soZCk7CisKKyAgICBmb3IgKCBpID0gMDsg aSA8IE1BWF9BTFRQMk07IGkrKyApCisgICAgeworICAgICAgICBpZiAoIGQtPmFyY2guYWx0cDJt X2VwdHBbaV0gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKKyAgICAgICAgICAgIGNvbnRpbnVlOwor CisgICAgICAgIHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsKKyAgICAgICAgZXB0ID0gJnAy bS0+ZXB0OworCisgICAgICAgIGlmICggZXB0cCA9PSBlcHRfZ2V0X2VwdHAoZXB0KSApCisgICAg ICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBpID0gSU5WQUxJRF9BTFRQMk07CisKKyBv dXQ6CisgICAgYWx0cDJtX2xpc3RfdW5sb2NrKGQpOworICAgIHJldHVybiBpOworfQorCiAvKgog ICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4IDk1MjZmZmYuLjE3M2JlMjQg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysgYi94ZW4vYXJjaC94ODYvbW0v cDJtLmMKQEAgLTE5Nyw4ICsxOTcsOCBAQCBzdGF0aWMgdm9pZCBwMm1fdGVhcmRvd25fYWx0cDJt KHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIGlmICggIWQtPmFyY2guYWx0cDJtX3AybVtpXSAp CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgcDJtID0gZC0+YXJjaC5hbHRwMm1fcDJt W2ldOwotICAgICAgICBkLT5hcmNoLmFsdHAybV9wMm1baV0gPSBOVUxMOwogICAgICAgICBwMm1f ZnJlZV9vbmUocDJtKTsKKyAgICAgICAgZC0+YXJjaC5hbHRwMm1fcDJtW2ldID0gTlVMTDsKICAg ICB9CiB9CiAKQEAgLTIzNDIsMzMgKzIzNDIsNiBAQCBpbnQgdW5tYXBfbW1pb19yZWdpb25zKHN0 cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIGkgPT0gbnIgPyAwIDogaSA/OiByZXQ7CiB9CiAK LXVuc2lnbmVkIGludCBwMm1fZmluZF9hbHRwMm1fYnlfZXB0cChzdHJ1Y3QgZG9tYWluICpkLCB1 aW50NjRfdCBlcHRwKQotewotICAgIHN0cnVjdCBwMm1fZG9tYWluICpwMm07Ci0gICAgc3RydWN0 IGVwdF9kYXRhICplcHQ7Ci0gICAgdW5zaWduZWQgaW50IGk7Ci0KLSAgICBhbHRwMm1fbGlzdF9s b2NrKGQpOwotCi0gICAgZm9yICggaSA9IDA7IGkgPCBNQVhfQUxUUDJNOyBpKysgKQotICAgIHsK LSAgICAgICAgaWYgKCBkLT5hcmNoLmFsdHAybV9lcHRwW2ldID09IG1mbl94KElOVkFMSURfTUZO KSApCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBwMm0gPSBkLT5hcmNoLmFsdHAy bV9wMm1baV07Ci0gICAgICAgIGVwdCA9ICZwMm0tPmVwdDsKLQotICAgICAgICBpZiAoIGVwdHAg PT0gZXB0X2dldF9lcHRwKGVwdCkgKQotICAgICAgICAgICAgZ290byBvdXQ7Ci0gICAgfQotCi0g ICAgaSA9IElOVkFMSURfQUxUUDJNOwotCi0gb3V0OgotICAgIGFsdHAybV9saXN0X3VubG9jayhk KTsKLSAgICByZXR1cm4gaTsKLX0KLQogYm9vbF90IHAybV9zd2l0Y2hfdmNwdV9hbHRwMm1fYnlf aWQoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBpZHgpCiB7CiAgICAgc3RydWN0IGRvbWFp biAqZCA9IHYtPmRvbWFpbjsKQEAgLTI0NzQsMTggKzI0NDcsNiBAQCB2b2lkIHAybV9mbHVzaF9h bHRwMm0oc3RydWN0IGRvbWFpbiAqZCkKICAgICBhbHRwMm1fbGlzdF91bmxvY2soZCk7CiB9CiAK LXN0YXRpYyB2b2lkIHAybV9pbml0X2FsdHAybV9oZWxwZXIoc3RydWN0IGRvbWFpbiAqZCwgdW5z aWduZWQgaW50IGkpCi17Ci0gICAgc3RydWN0IHAybV9kb21haW4gKnAybSA9IGQtPmFyY2guYWx0 cDJtX3AybVtpXTsKLSAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdDsKLQotICAgIHAybS0+bWluX3Jl bWFwcGVkX2dmbiA9IGdmbl94KElOVkFMSURfR0ZOKTsKLSAgICBwMm0tPm1heF9yZW1hcHBlZF9n Zm4gPSAwOwotICAgIGVwdCA9ICZwMm0tPmVwdDsKLSAgICBlcHQtPmFzciA9IHBhZ2V0YWJsZV9n ZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpOwotICAgIGQtPmFyY2guYWx0cDJtX2VwdHBb aV0gPSBlcHRfZ2V0X2VwdHAoZXB0KTsKLX0KLQogaW50IHAybV9pbml0X2FsdHAybV9ieV9pZChz dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4KQogewogICAgIGludCByYyA9IC1FSU5W QUw7CkBAIC0yNDk3LDcgKzI0NTgsNyBAQCBpbnQgcDJtX2luaXRfYWx0cDJtX2J5X2lkKHN0cnVj dCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBpZHgpCiAKICAgICBpZiAoIGQtPmFyY2guYWx0cDJt X2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQogICAgIHsKLSAgICAgICAgcDJtX2lu aXRfYWx0cDJtX2hlbHBlcihkLCBpZHgpOworICAgICAgICBwMm1faW5pdF9hbHRwMm1fZXB0KGQs IGlkeCk7CiAgICAgICAgIHJjID0gMDsKICAgICB9CiAKQEAgLTI1MTcsNyArMjQ3OCw3IEBAIGlu dCBwMm1faW5pdF9uZXh0X2FsdHAybShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MTZfdCAqaWR4KQog ICAgICAgICBpZiAoIGQtPmFyY2guYWx0cDJtX2VwdHBbaV0gIT0gbWZuX3goSU5WQUxJRF9NRk4p ICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIHAybV9pbml0X2FsdHAybV9oZWxw ZXIoZCwgaSk7CisgICAgICAgIHAybV9pbml0X2FsdHAybV9lcHQoZCwgaSk7CiAgICAgICAgICpp ZHggPSBpOwogICAgICAgICByYyA9IDA7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvYWx0cDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FsdHAybS5oCmluZGV4IDY0Yzc2MTgu LjAwOTBjODkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0cDJtLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRwMm0uaApAQCAtMTgsNyArMTgsNiBAQAogI2lmbmRlZiBf X0FTTV9YODZfQUxUUDJNX0gKICNkZWZpbmUgX19BU01fWDg2X0FMVFAyTV9ICiAKLSNpbmNsdWRl IDx4ZW4vdHlwZXMuaD4KICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4gICAgICAgICAvKiBmb3Igc3Ry dWN0IHZjcHUsIHN0cnVjdCBkb21haW4gKi8KICNpbmNsdWRlIDxhc20vaHZtL3ZjcHUuaD4gICAg ICAvKiBmb3IgdmNwdV9hbHRwMm0gKi8KIApAQCAtMzgsNCArMzcsNyBAQCBzdGF0aWMgaW5saW5l IHVpbnQxNl90IGFsdHAybV92Y3B1X2lkeChjb25zdCBzdHJ1Y3QgdmNwdSAqdikKICAgICByZXR1 cm4gdmNwdV9hbHRwMm0odikucDJtaWR4OwogfQogCitpbnQgYWx0cDJtX2RvbWFpbl9pbml0KHN0 cnVjdCBkb21haW4gKmQpOwordm9pZCBhbHRwMm1fZG9tYWluX3RlYXJkb3duKHN0cnVjdCBkb21h aW4gKmQpOworCiAjZW5kaWYgLyogX19BU01fWDg2X0FMVFAyTV9IICovCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2 bS92bXgvdm14LmgKaW5kZXggNGNkZDliMS4uOWY0YzdkZSAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3Zt eC92bXguaApAQCAtNTYxLDYgKzU2MSw5IEBAIHZvaWQgZXB0X3AybV91bmluaXQoc3RydWN0IHAy bV9kb21haW4gKnAybSk7CiB2b2lkIGVwdF93YWxrX3RhYmxlKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGxvbmcgZ2ZuKTsKIGJvb2xfdCBlcHRfaGFuZGxlX21pc2NvbmZpZyh1aW50NjRfdCBn cGEpOwogdm9pZCBzZXR1cF9lcHRfZHVtcCh2b2lkKTsKK3ZvaWQgcDJtX2luaXRfYWx0cDJtX2Vw dChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaSk7CisvKiBMb2NhdGUgYW4gYWx0ZXJu YXRlIHAybSBieSBpdHMgRVBUUCAqLwordW5zaWduZWQgaW50IHAybV9maW5kX2FsdHAybV9ieV9l cHRwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGVwdHApOwogCiB2b2lkIHVwZGF0ZV9ndWVz dF9laXAodm9pZCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggYi94 ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCmluZGV4IDcwMzU4NjAuLjBlNzI4ODAgMTAwNjQ0Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9w Mm0uaApAQCAtMjMsOCArMjMsOCBAQAogICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IElmIG5v dCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICAqLwogCi0jaWZuZGVmIF9Y RU5fUDJNX0gKLSNkZWZpbmUgX1hFTl9QMk1fSAorI2lmbmRlZiBfWEVOX0FTTV9YODZfUDJNX0gK KyNkZWZpbmUgX1hFTl9BU01fWDg2X1AyTV9ICiAKICNpbmNsdWRlIDx4ZW4vY29uZmlnLmg+CiAj aW5jbHVkZSA8eGVuL3BhZ2luZy5oPgpAQCAtNzg0LDkgKzc4NCw2IEBAIHN0YXRpYyBpbmxpbmUg c3RydWN0IHAybV9kb21haW4gKnAybV9nZXRfYWx0cDJtKHN0cnVjdCB2Y3B1ICp2KQogICAgIHJl dHVybiB2LT5kb21haW4tPmFyY2guYWx0cDJtX3AybVtpbmRleF07CiB9CiAKLS8qIExvY2F0ZSBh biBhbHRlcm5hdGUgcDJtIGJ5IGl0cyBFUFRQICovCi11bnNpZ25lZCBpbnQgcDJtX2ZpbmRfYWx0 cDJtX2J5X2VwdHAoc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3QgZXB0cCk7Ci0KIC8qIFN3aXRj aCBhbHRlcm5hdGUgcDJtIGZvciBhIHNpbmdsZSB2Y3B1ICovCiBib29sX3QgcDJtX3N3aXRjaF92 Y3B1X2FsdHAybV9ieV9pZChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQgaW50IGlkeCk7CiAKQEAg LTg0OCw3ICs4NDUsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBwMm1fZ2V0X2lvbW11 X2ZsYWdzKHAybV90eXBlX3QgcDJtdCkKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKLSNlbmRpZiAv KiBfWEVOX1AyTV9IICovCisjZW5kaWYgLyogX1hFTl9BU01fWDg2X1AyTV9IICovCiAKIC8qCiAg KiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjcuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=