From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Lai Subject: [PATCH Altp2m cleanup v5 2/3] Move altp2m specific functions to altp2m files. Date: Tue, 13 Sep 2016 09:46:04 -0700 Message-ID: <1473785165-11137-3-git-send-email-paul.c.lai@intel.com> References: <1473785165-11137-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: <1473785165-11137-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 eDg2L3AybS5oLgoKU2lnbmVkLW9mZi1ieTogUGF1bCBMYWkgPHBhdWwuYy5sYWlAaW50ZWwuY29t PgotLS0KIHhlbi9hcmNoL3g4Ni9tbS9hbHRwMm0uYyAgICAgICAgICB8IDU3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyAg ICAgICAgIHwgMzggKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni9tbS9w Mm0tZXB0LmMgICAgICAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2Fy Y2gveDg2L21tL3AybS5jICAgICAgICAgICAgIHwgNDUgKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRwMm0uaCAgICAgIHwgIDQgKystCiB4ZW4v aW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggfCAgMyArKysKIHhlbi9pbmNsdWRlL2FzbS14 ODYvcDJtLmggICAgICAgICB8ICA5ICsrKy0tLS0KIDcgZmlsZXMgY2hhbmdlZCwgMTE3IGluc2Vy dGlvbnMoKyksIDc4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9h bHRwMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9hbHRwMm0uYwppbmRleCA5MzBiZGMyLi42MjgwMWFl IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vYWx0cDJtLmMKKysrIGIveGVuL2FyY2gveDg2 L21tL2FsdHAybS5jCkBAIC0xNyw2ICsxNyw3IEBACiAKICNpbmNsdWRlIDxhc20vaHZtL3N1cHBv cnQuaD4KICNpbmNsdWRlIDxhc20vaHZtL2h2bS5oPgorI2luY2x1ZGUgPGFzbS9kb21haW4uaD4K ICNpbmNsdWRlIDxhc20vcDJtLmg+CiAjaW5jbHVkZSA8YXNtL2FsdHAybS5oPgogCkBAIC02Niw2 ICs2Nyw2MiBAQCBhbHRwMm1fdmNwdV9kZXN0cm95KHN0cnVjdCB2Y3B1ICp2KQogfQogCiAvKgor ICogYWx0cDJtX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpKQorICogIGFsbG9jYXRlIGFu ZCBpbml0aWFsaXplIG1lbW9yeSBmb3IgYWx0cDJtIHBvcnRpb24gb2YgZG9tYWluCisgKgorICog IHJldHVybnMgPCAwIG9uIGVycm9yCisgKiAgcmV0dXJucyAwIG9uIG5vIG9wZXJhdGlvbiAoc3Vj Y2VzcykKKyAqICByZXR1cm5zID4gMCBvbiBzdWNjZXNzCisgKi8KK2ludAorYWx0cDJtX2RvbWFp bl9pbml0KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgaW50IHJjOworICAgIHVuc2lnbmVkIGlu dCBpOworCisgICAgaWYgKCBkID09IE5VTEwpCisgICAgICAgIHJldHVybiAwOworCisgICAgaWYg KCAhaHZtX2FsdHAybV9zdXBwb3J0ZWQoKSApCisgICAgICAgIHJldHVybiAwOworCisgICAgLyog SW5pdCBhbHRlcm5hdGUgcDJtIGRhdGEuICovCisgICAgaWYgKCAoZC0+YXJjaC5hbHRwMm1fZXB0 cCA9IGFsbG9jX3hlbmhlYXBfcGFnZSgpKSA9PSBOVUxMICkKKyAgICAgICAgcmV0dXJuIC1FTk9N RU07CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IE1BWF9FUFRQOyBpKysgKQorICAgICAgICBkLT5h cmNoLmFsdHAybV9lcHRwW2ldID0gbWZuX3goSU5WQUxJRF9NRk4pOworCisgICAgZm9yICggaSA9 IDA7IGkgPCBNQVhfQUxUUDJNOyBpKysgKQorICAgIHsKKyAgICAgICAgcmMgPSBwMm1fYWxsb2Nf dGFibGUoZC0+YXJjaC5hbHRwMm1fcDJtW2ldKTsKKyAgICAgICAgaWYgKCByYyAhPSAwICkKKyAg ICAgICAgICAgcmV0dXJuIHJjOworICAgIH0KKworICAgIGQtPmFyY2guYWx0cDJtX2FjdGl2ZSA9 IDA7CisKKyAgICByZXR1cm4gcmM7Cit9CisKK3ZvaWQKK2FsdHAybV9kb21haW5fdGVhcmRvd24o c3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGlmICggIWh2 bV9hbHRwMm1fc3VwcG9ydGVkKCkgKQorICAgICAgICByZXR1cm47CisKKyAgICBkLT5hcmNoLmFs dHAybV9hY3RpdmUgPSAwOworCisgICAgZnJlZV94ZW5oZWFwX3BhZ2UoZC0+YXJjaC5hbHRwMm1f ZXB0cCk7CisgICAgZC0+YXJjaC5hbHRwMm1fZXB0cCA9IE5VTEw7CisKKyAgICBmb3IgKCBpID0g MDsgaSA8IE1BWF9BTFRQMk07IGkrKyApCisgICAgICAgIHAybV90ZWFyZG93bihkLT5hcmNoLmFs dHAybV9wMm1baV0pOworfQorCisvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwog ICogYy1maWxlLXN0eWxlOiAiQlNEIgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9o YXAuYyBiL3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKaW5kZXggMzIxOGZhMi4uNjFjMGM0MiAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94ODYv bW0vaGFwL2hhcC5jCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSA8YXNtL2hhcC5oPgogI2lu Y2x1ZGUgPGFzbS9wYWdpbmcuaD4KICNpbmNsdWRlIDxhc20vcDJtLmg+CisjaW5jbHVkZSA8YXNt L2FsdHAybS5oPgogI2luY2x1ZGUgPGFzbS9kb21haW4uaD4KICNpbmNsdWRlIDx4ZW4vbnVtYS5o PgogI2luY2x1ZGUgPGFzbS9odm0vbmVzdGVkaHZtLmg+CkBAIC00OTksMjYgKzUwMCwxNyBAQCBp bnQgaGFwX2VuYWJsZShzdHJ1Y3QgZG9tYWluICpkLCB1MzIgbW9kZSkKICAgICAgICAgICAgZ290 byBvdXQ7CiAgICAgfQogCi0gICAgaWYgKCBodm1fYWx0cDJtX3N1cHBvcnRlZCgpICkKKyAgICBp ZiAoIChydiA9IGFsdHAybV9kb21haW5faW5pdChkKSkgPCAwICkKICAgICB7Ci0gICAgICAgIC8q IEluaXQgYWx0ZXJuYXRlIHAybSBkYXRhICovCi0gICAgICAgIGlmICggKGQtPmFyY2guYWx0cDJt X2VwdHAgPSBhbGxvY194ZW5oZWFwX3BhZ2UoKSkgPT0gTlVMTCApCi0gICAgICAgIHsKLSAgICAg ICAgICAgIHJ2ID0gLUVOT01FTTsKLSAgICAgICAgICAgIGdvdG8gb3V0OworICAgICAgICBmb3Ig KGkgPSAwOyBpIDwgTUFYX05FU1RFRFAyTTsgaSsrKSB7CisgICAgICAgICAgICBwMm1fdGVhcmRv d24oZC0+YXJjaC5uZXN0ZWRfcDJtW2ldKTsKICAgICAgICAgfQogCi0gICAgICAgIGZvciAoIGkg PSAwOyBpIDwgTUFYX0VQVFA7IGkrKyApCi0gICAgICAgICAgICBkLT5hcmNoLmFsdHAybV9lcHRw W2ldID0gbWZuX3goSU5WQUxJRF9NRk4pOwotCi0gICAgICAgIGZvciAoIGkgPSAwOyBpIDwgTUFY X0FMVFAyTTsgaSsrICkKLSAgICAgICAgewotICAgICAgICAgICAgcnYgPSBwMm1fYWxsb2NfdGFi bGUoZC0+YXJjaC5hbHRwMm1fcDJtW2ldKTsKLSAgICAgICAgICAgIGlmICggcnYgIT0gMCApCi0g ICAgICAgICAgICAgICBnb3RvIG91dDsKLSAgICAgICAgfQorICAgICAgICBpZiAoIGQtPmFyY2gu cGFnaW5nLmhhcC50b3RhbF9wYWdlcyAhPSAwICkKKyAgICAgICAgICAgIGhhcF90ZWFyZG93bihk LCBOVUxMKTsKIAotICAgICAgICBkLT5hcmNoLmFsdHAybV9hY3RpdmUgPSAwOworICAgICAgICBw Mm1fdGVhcmRvd24ocDJtX2dldF9ob3N0cDJtKGQpKTsKKyAgICAgICAgZ290byBvdXQ7CiAgICAg fQogCiAgICAgLyogTm93IGxldCBvdGhlciB1c2VycyBzZWUgdGhlIG5ldyBtb2RlICovCkBAIC01 MzMsMTkgKzUyNSw3IEBAIHZvaWQgaGFwX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQp CiB7CiAgICAgdW5zaWduZWQgaW50IGk7CiAKLSAgICBpZiAoIGh2bV9hbHRwMm1fc3VwcG9ydGVk KCkgKQotICAgIHsKLSAgICAgICAgZC0+YXJjaC5hbHRwMm1fYWN0aXZlID0gMDsKLQotICAgICAg ICBpZiAoIGQtPmFyY2guYWx0cDJtX2VwdHAgKQotICAgICAgICB7Ci0gICAgICAgICAgICBmcmVl X3hlbmhlYXBfcGFnZShkLT5hcmNoLmFsdHAybV9lcHRwKTsKLSAgICAgICAgICAgIGQtPmFyY2gu YWx0cDJtX2VwdHAgPSBOVUxMOwotICAgICAgICB9Ci0KLSAgICAgICAgZm9yICggaSA9IDA7IGkg PCBNQVhfQUxUUDJNOyBpKysgKQotICAgICAgICAgICAgcDJtX3RlYXJkb3duKGQtPmFyY2guYWx0 cDJtX3AybVtpXSk7Ci0gICAgfQorICAgIGFsdHAybV9kb21haW5fdGVhcmRvd24oZCk7CiAKICAg ICAvKiBEZXN0cm95IG5lc3RlZHAybSdzIGZpcnN0ICovCiAgICAgZm9yIChpID0gMDsgaSA8IE1B WF9ORVNURURQMk07IGkrKykgewpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQu YyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0tZXB0LmMKaW5kZXggMTNjYWIyNC4uMDQ4NzhmNSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS1lcHQuYworKysgYi94ZW4vYXJjaC94ODYvbW0v cDJtLWVwdC5jCkBAIC0xMzI5LDYgKzEzMjksNDUgQEAgdm9pZCBzZXR1cF9lcHRfZHVtcCh2b2lk KQogICAgIHJlZ2lzdGVyX2tleWhhbmRsZXIoJ0QnLCBlcHRfZHVtcF9wMm1fdGFibGUsICJkdW1w IFZULXggRVBUIHRhYmxlcyIsIDApOwogfQogCit2b2lkIHAybV9pbml0X2FsdHAybV9lcHQoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGkpCit7CisgICAgc3RydWN0IHAybV9kb21haW4g KnAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsKKyAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdDsK KworICAgIHAybS0+bWluX3JlbWFwcGVkX2dmbiA9IGdmbl94KElOVkFMSURfR0ZOKTsKKyAgICBw Mm0tPm1heF9yZW1hcHBlZF9nZm4gPSAwOworICAgIGVwdCA9ICZwMm0tPmVwdDsKKyAgICBlcHQt PmFzciA9IHBhZ2V0YWJsZV9nZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpOworICAgIGQt PmFyY2guYWx0cDJtX2VwdHBbaV0gPSBlcHRfZ2V0X2VwdHAoZXB0KTsKK30KKwordW5zaWduZWQg aW50IHAybV9maW5kX2FsdHAybV9ieV9lcHRwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGVw dHApCit7CisgICAgc3RydWN0IHAybV9kb21haW4gKnAybTsKKyAgICBzdHJ1Y3QgZXB0X2RhdGEg KmVwdDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKworICAgIGFsdHAybV9saXN0X2xvY2soZCk7CisK KyAgICBmb3IgKCBpID0gMDsgaSA8IE1BWF9BTFRQMk07IGkrKyApCisgICAgeworICAgICAgICBp ZiAoIGQtPmFyY2guYWx0cDJtX2VwdHBbaV0gPT0gbWZuX3goSU5WQUxJRF9NRk4pICkKKyAgICAg ICAgICAgIGNvbnRpbnVlOworCisgICAgICAgIHAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsK KyAgICAgICAgZXB0ID0gJnAybS0+ZXB0OworCisgICAgICAgIGlmICggZXB0cCA9PSBlcHRfZ2V0 X2VwdHAoZXB0KSApCisgICAgICAgICAgICBnb3RvIG91dDsKKyAgICB9CisKKyAgICBpID0gSU5W QUxJRF9BTFRQMk07CisKKyBvdXQ6CisgICAgYWx0cDJtX2xpc3RfdW5sb2NrKGQpOworICAgIHJl dHVybiBpOworfQorCiAvKgogICogTG9jYWwgdmFyaWFibGVzOgogICogbW9kZTogQwpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L21tL3AybS5jIGIveGVuL2FyY2gveDg2L21tL3AybS5jCmluZGV4 IDgxMmRiZjYuLmZhMWFkNGEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYworKysg Yi94ZW4vYXJjaC94ODYvbW0vcDJtLmMKQEAgLTE5Niw4ICsxOTYsOCBAQCBzdGF0aWMgdm9pZCBw Mm1fdGVhcmRvd25fYWx0cDJtKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgIGlmICggIWQtPmFy Y2guYWx0cDJtX3AybVtpXSApCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgcDJtID0g ZC0+YXJjaC5hbHRwMm1fcDJtW2ldOwotICAgICAgICBkLT5hcmNoLmFsdHAybV9wMm1baV0gPSBO VUxMOwogICAgICAgICBwMm1fZnJlZV9vbmUocDJtKTsKKyAgICAgICAgZC0+YXJjaC5hbHRwMm1f cDJtW2ldID0gTlVMTDsKICAgICB9CiB9CiAKQEAgLTIyNzksMzMgKzIyNzksNiBAQCBpbnQgdW5t YXBfbW1pb19yZWdpb25zKHN0cnVjdCBkb21haW4gKmQsCiAgICAgcmV0dXJuIGkgPT0gbnIgPyAw IDogaSA/OiByZXQ7CiB9CiAKLXVuc2lnbmVkIGludCBwMm1fZmluZF9hbHRwMm1fYnlfZXB0cChz dHJ1Y3QgZG9tYWluICpkLCB1aW50NjRfdCBlcHRwKQotewotICAgIHN0cnVjdCBwMm1fZG9tYWlu ICpwMm07Ci0gICAgc3RydWN0IGVwdF9kYXRhICplcHQ7Ci0gICAgdW5zaWduZWQgaW50IGk7Ci0K LSAgICBhbHRwMm1fbGlzdF9sb2NrKGQpOwotCi0gICAgZm9yICggaSA9IDA7IGkgPCBNQVhfQUxU UDJNOyBpKysgKQotICAgIHsKLSAgICAgICAgaWYgKCBkLT5hcmNoLmFsdHAybV9lcHRwW2ldID09 IG1mbl94KElOVkFMSURfTUZOKSApCi0gICAgICAgICAgICBjb250aW51ZTsKLQotICAgICAgICBw Mm0gPSBkLT5hcmNoLmFsdHAybV9wMm1baV07Ci0gICAgICAgIGVwdCA9ICZwMm0tPmVwdDsKLQot ICAgICAgICBpZiAoIGVwdHAgPT0gZXB0X2dldF9lcHRwKGVwdCkgKQotICAgICAgICAgICAgZ290 byBvdXQ7Ci0gICAgfQotCi0gICAgaSA9IElOVkFMSURfQUxUUDJNOwotCi0gb3V0OgotICAgIGFs dHAybV9saXN0X3VubG9jayhkKTsKLSAgICByZXR1cm4gaTsKLX0KLQogYm9vbF90IHAybV9zd2l0 Y2hfdmNwdV9hbHRwMm1fYnlfaWQoc3RydWN0IHZjcHUgKnYsIHVuc2lnbmVkIGludCBpZHgpCiB7 CiAgICAgc3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKQEAgLTI0MTEsMTggKzIzODQsNiBA QCB2b2lkIHAybV9mbHVzaF9hbHRwMm0oc3RydWN0IGRvbWFpbiAqZCkKICAgICBhbHRwMm1fbGlz dF91bmxvY2soZCk7CiB9CiAKLXN0YXRpYyB2b2lkIHAybV9pbml0X2FsdHAybV9oZWxwZXIoc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGkpCi17Ci0gICAgc3RydWN0IHAybV9kb21haW4g KnAybSA9IGQtPmFyY2guYWx0cDJtX3AybVtpXTsKLSAgICBzdHJ1Y3QgZXB0X2RhdGEgKmVwdDsK LQotICAgIHAybS0+bWluX3JlbWFwcGVkX2dmbiA9IGdmbl94KElOVkFMSURfR0ZOKTsKLSAgICBw Mm0tPm1heF9yZW1hcHBlZF9nZm4gPSAwOwotICAgIGVwdCA9ICZwMm0tPmVwdDsKLSAgICBlcHQt PmFzciA9IHBhZ2V0YWJsZV9nZXRfcGZuKHAybV9nZXRfcGFnZXRhYmxlKHAybSkpOwotICAgIGQt PmFyY2guYWx0cDJtX2VwdHBbaV0gPSBlcHRfZ2V0X2VwdHAoZXB0KTsKLX0KLQogaW50IHAybV9p bml0X2FsdHAybV9ieV9pZChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaWR4KQogewog ICAgIGludCByYyA9IC1FSU5WQUw7CkBAIC0yNDM0LDcgKzIzOTUsNyBAQCBpbnQgcDJtX2luaXRf YWx0cDJtX2J5X2lkKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBpZHgpCiAKICAgICBp ZiAoIGQtPmFyY2guYWx0cDJtX2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQogICAg IHsKLSAgICAgICAgcDJtX2luaXRfYWx0cDJtX2hlbHBlcihkLCBpZHgpOworICAgICAgICBwMm1f aW5pdF9hbHRwMm1fZXB0KGQsIGlkeCk7CiAgICAgICAgIHJjID0gMDsKICAgICB9CiAKQEAgLTI0 NTQsNyArMjQxNSw3IEBAIGludCBwMm1faW5pdF9uZXh0X2FsdHAybShzdHJ1Y3QgZG9tYWluICpk LCB1aW50MTZfdCAqaWR4KQogICAgICAgICBpZiAoIGQtPmFyY2guYWx0cDJtX2VwdHBbaV0gIT0g bWZuX3goSU5WQUxJRF9NRk4pICkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIHAy bV9pbml0X2FsdHAybV9oZWxwZXIoZCwgaSk7CisgICAgICAgIHAybV9pbml0X2FsdHAybV9lcHQo ZCwgaSk7CiAgICAgICAgICppZHggPSBpOwogICAgICAgICByYyA9IDA7CiAKZGlmZiAtLWdpdCBh L3hlbi9pbmNsdWRlL2FzbS14ODYvYWx0cDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FsdHAy bS5oCmluZGV4IDY0Yzc2MTguLjAwOTBjODkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvYWx0cDJtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hbHRwMm0uaApAQCAtMTgsNyAr MTgsNiBAQAogI2lmbmRlZiBfX0FTTV9YODZfQUxUUDJNX0gKICNkZWZpbmUgX19BU01fWDg2X0FM VFAyTV9ICiAKLSNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4g ICAgICAgICAvKiBmb3Igc3RydWN0IHZjcHUsIHN0cnVjdCBkb21haW4gKi8KICNpbmNsdWRlIDxh c20vaHZtL3ZjcHUuaD4gICAgICAvKiBmb3IgdmNwdV9hbHRwMm0gKi8KIApAQCAtMzgsNCArMzcs NyBAQCBzdGF0aWMgaW5saW5lIHVpbnQxNl90IGFsdHAybV92Y3B1X2lkeChjb25zdCBzdHJ1Y3Qg dmNwdSAqdikKICAgICByZXR1cm4gdmNwdV9hbHRwMm0odikucDJtaWR4OwogfQogCitpbnQgYWx0 cDJtX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpOwordm9pZCBhbHRwMm1fZG9tYWluX3Rl YXJkb3duKHN0cnVjdCBkb21haW4gKmQpOworCiAjZW5kaWYgLyogX19BU01fWDg2X0FMVFAyTV9I ICovCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmggYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKaW5kZXggNGNkZDliMS4uOWY0YzdkZSAxMDA2 NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdm14L3ZteC5oCisrKyBiL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3ZteC92bXguaApAQCAtNTYxLDYgKzU2MSw5IEBAIHZvaWQgZXB0X3Ay bV91bmluaXQoc3RydWN0IHAybV9kb21haW4gKnAybSk7CiB2b2lkIGVwdF93YWxrX3RhYmxlKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGxvbmcgZ2ZuKTsKIGJvb2xfdCBlcHRfaGFuZGxlX21p c2NvbmZpZyh1aW50NjRfdCBncGEpOwogdm9pZCBzZXR1cF9lcHRfZHVtcCh2b2lkKTsKK3ZvaWQg cDJtX2luaXRfYWx0cDJtX2VwdChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgaSk7Cisv KiBMb2NhdGUgYW4gYWx0ZXJuYXRlIHAybSBieSBpdHMgRVBUUCAqLwordW5zaWduZWQgaW50IHAy bV9maW5kX2FsdHAybV9ieV9lcHRwKHN0cnVjdCBkb21haW4gKmQsIHVpbnQ2NF90IGVwdHApOwog CiB2b2lkIHVwZGF0ZV9ndWVzdF9laXAodm9pZCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRl L2FzbS14ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oCmluZGV4IGQ1ZmQ1NDYu LjBjNWIzOTEgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmgKKysrIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9wMm0uaApAQCAtMjMsOCArMjMsOCBAQAogICogYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07IElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K ICAqLwogCi0jaWZuZGVmIF9YRU5fUDJNX0gKLSNkZWZpbmUgX1hFTl9QMk1fSAorI2lmbmRlZiBf WEVOX0FTTV9YODZfUDJNX0gKKyNkZWZpbmUgX1hFTl9BU01fWDg2X1AyTV9ICiAKICNpbmNsdWRl IDx4ZW4vY29uZmlnLmg+CiAjaW5jbHVkZSA8eGVuL3BhZ2luZy5oPgpAQCAtNzgxLDkgKzc4MSw2 IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHAybV9kb21haW4gKnAybV9nZXRfYWx0cDJtKHN0cnVj dCB2Y3B1ICp2KQogICAgIHJldHVybiB2LT5kb21haW4tPmFyY2guYWx0cDJtX3AybVtpbmRleF07 CiB9CiAKLS8qIExvY2F0ZSBhbiBhbHRlcm5hdGUgcDJtIGJ5IGl0cyBFUFRQICovCi11bnNpZ25l ZCBpbnQgcDJtX2ZpbmRfYWx0cDJtX2J5X2VwdHAoc3RydWN0IGRvbWFpbiAqZCwgdWludDY0X3Qg ZXB0cCk7Ci0KIC8qIFN3aXRjaCBhbHRlcm5hdGUgcDJtIGZvciBhIHNpbmdsZSB2Y3B1ICovCiBi b29sX3QgcDJtX3N3aXRjaF92Y3B1X2FsdHAybV9ieV9pZChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWdu ZWQgaW50IGlkeCk7CiAKQEAgLTg0NSw3ICs4NDIsNyBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVk IGludCBwMm1fZ2V0X2lvbW11X2ZsYWdzKHAybV90eXBlX3QgcDJtdCkKICAgICByZXR1cm4gZmxh Z3M7CiB9CiAKLSNlbmRpZiAvKiBfWEVOX1AyTV9IICovCisjZW5kaWYgLyogX1hFTl9BU01fWDg2 X1AyTV9IICovCiAKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6Ci0tIAoyLjcuNAoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1k ZXZlbAo=