From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v3 03/15] x86: refactor psr: Remove 'struct psr_cat_cbm'. Date: Tue, 25 Oct 2016 11:40:51 +0800 Message-ID: <1477366863-5246-4-git-send-email-yi.y.sun@linux.intel.com> References: <1477366863-5246-1-git-send-email-yi.y.sun@linux.intel.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 1byrYi-0004H3-AA for xen-devel@lists.xenproject.org; Tue, 25 Oct 2016 02:33:48 +0000 In-Reply-To: <1477366863-5246-1-git-send-email-yi.y.sun@linux.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.xenproject.org Cc: wei.liu2@citrix.com, he.chen@linux.intel.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, Yi Sun , jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org J3N0cnVjdCBwc3JfY2F0X2NibScgaXMgZGVmaW5lZCBmb3IgTDMgQ0FUIG9ubHkuIEl0IGlzIG5v dAphcHByb3ByaWF0ZSBmb3Igb3RoZXIgZmVhdHVyZXMuIFRoaXMgcGF0Y2ggcmVwbGFjZXMgaXQg d2l0aAphIGdlbmVyaWMgYXJyYXksICd1aW50NjRfdCBjb3NfcmVnX3ZhbFtNQVhfQ09TX1JFR19O VU1dJywKdG8gc2F2ZSB2YWx1ZXMgb2YgQ09TIHJlZ2lzdGVycy4gU28gJ3RlbXBfY29zX3RvX2Ni bScgaXMgbm90CnVzZWZ1bCBhbnltb3JlLCByZW1vdmUgaXQuCgpTaWduZWQtb2ZmLWJ5OiBZaSBT dW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgfCA5 MyArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggZWUy MDM4OS4uYTAzNDJjZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9h cmNoL3g4Ni9wc3IuYwpAQCAtMjYsMjAgKzI2LDE1IEBACiAvKiBQZXIgc3BlYywgdGhlIG1heGlt dW0gQ09TIHJlZ2lzdGVyIG51bWJlciBpcyAxMjguICovCiAjZGVmaW5lIE1BWF9DT1NfUkVHX05V TSAgMTI4CiAKLXN0cnVjdCBwc3JfY2F0X2NibSB7Ci0gICAgdW5pb24gewotICAgICAgICB1aW50 NjRfdCBjYm07Ci0gICAgICAgIHN0cnVjdCB7Ci0gICAgICAgICAgICB1aW50NjRfdCBjb2RlOwot ICAgICAgICAgICAgdWludDY0X3QgZGF0YTsKLSAgICAgICAgfTsKLSAgICB9OwotfTsKLQogc3Ry dWN0IHBzcl9jYXRfc29ja2V0X2luZm8gewogICAgIHVuc2lnbmVkIGludCBjYm1fbGVuOwogICAg IHVuc2lnbmVkIGludCBjb3NfbWF4OwotICAgIHN0cnVjdCBwc3JfY2F0X2NibSAqY29zX3RvX2Ni bTsKKyAgICAvKgorICAgICAqIFN0b3JlIHRoZSB2YWx1ZXMgb2YgQ09TIHJlZ2lzdGVyczoKKyAg ICAgKiBDQVQgdXNlcyAxIGVudHJ5IGZvciBvbmUgQ09TIElEOworICAgICAqIENEUCB1c2VzIDIg ZW50cmllcyBmb3Igb25lIENPUyBJRCBhbmQgREFUQSBpcyB0aGUgZmlyc3Qgb25lLgorICAgICAq LworICAgIHVpbnQ2NF90IGNvc19yZWdfdmFsW01BWF9DT1NfUkVHX05VTV07CiAgICAgLyoKICAg ICAgKiBFdmVyeSBlbnRyeSBvZiBjb3NfcmVmIGlzIHRoZSByZWZlcmVuY2UgY291bnQgb2YgYSBD T1MgcmVnaXN0ZXIuCiAgICAgICogT25lIGVudHJ5IG9mIGNvc19yZWYgY29ycmVzcG9uZHMgdG8g b25lIENPUyBJRC4KQEAgLTQ5LDYgKzQ0LDIxIEBAIHN0cnVjdCBwc3JfY2F0X3NvY2tldF9pbmZv IHsKICAgICBzcGlubG9ja190IHJlZl9sb2NrOwogfTsKIAorLyoKKyAqIGdldF9kYXRhIC0gZ2V0 IERBVEEgQ09TIHJlZ2lzdGVyIHZhbHVlIGZyb20gaW5wdXQgQ09TIElELgorICogQGluZm86ICAg ICAgICB0aGUgc3RydWN0IHBzcl9jYXRfc29ja2V0X2luZm8gcG9pbnRlci4KKyAqIEBjb3M6ICAg ICAgICAgdGhlIENPUyBJRC4KKyAqLworI2RlZmluZSBnZXRfY2RwX2RhdGEoaW5mbywgY29zKSBc CisgICAgICAgIGluZm8tPmNvc19yZWdfdmFsW2NvcyAqIDJdCisvKgorICogZ2V0X2NkcF9jb2Rl IC0gZ2V0IENPREUgQ09TIHJlZ2lzdGVyIHZhbHVlIGZyb20gaW5wdXQgQ09TIElELgorICogQGlu Zm86ICAgICAgICB0aGUgc3RydWN0IHBzcl9jYXRfc29ja2V0X2luZm8gcG9pbnRlci4KKyAqIEBj b3M6ICAgICAgICAgdGhlIENPUyBJRC4KKyAqLworI2RlZmluZSBnZXRfY2RwX2NvZGUoaW5mbywg Y29zKSBcCisgICAgICAgIGluZm8tPmNvc19yZWdfdmFsW2NvcyAqIDIgKyAxXQorCiBzdHJ1Y3Qg cHNyX2Fzc29jIHsKICAgICB1aW50NjRfdCB2YWw7CiAgICAgdWludDY0X3QgY29zX21hc2s7CkBA IC02Niw4ICs3Niw2IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgX19yZWFkX21vc3RseSBvcHRfY29z X21heCA9IE1BWF9DT1NfUkVHX05VTSAtIDE7CiBzdGF0aWMgdWludDY0X3Qgcm1pZF9tYXNrOwog c3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwc3JfYXNzb2MsIHBzcl9hc3NvYyk7CiAKLXN0 YXRpYyBzdHJ1Y3QgcHNyX2NhdF9jYm0gKnRlbXBfY29zX3RvX2NibTsKLQogc3RhdGljIHVuc2ln bmVkIGludCBnZXRfc29ja2V0X2NwdSh1bnNpZ25lZCBpbnQgc29ja2V0KQogewogICAgIGlmICgg bGlrZWx5KHNvY2tldCA8IG5yX3NvY2tldHMpICkKQEAgLTMwNiw2ICszMTQsNyBAQCBpbnQgcHNy X2dldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKIHsKICAg ICBzdHJ1Y3QgcHNyX2NhdF9zb2NrZXRfaW5mbyAqaW5mbyA9IGdldF9jYXRfc29ja2V0X2luZm8o c29ja2V0KTsKICAgICBib29sX3QgY2RwX2VuYWJsZWQgPSBjZHBfaXNfZW5hYmxlZChzb2NrZXQp OworICAgIHVuc2lnbmVkIGludCBjb3MgPSBkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF07CiAK ICAgICBpZiAoIElTX0VSUihpbmZvKSApCiAgICAgICAgIHJldHVybiBQVFJfRVJSKGluZm8pOwpA QCAtMzE1LDIxICszMjQsMjEgQEAgaW50IHBzcl9nZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgY2FzZSBQU1JfQ0JNX1RZUEVfTDM6CiAgICAgICAg IGlmICggY2RwX2VuYWJsZWQgKQogICAgICAgICAgICAgcmV0dXJuIC1FWERFVjsKLSAgICAgICAg KmNibSA9IGluZm8tPmNvc190b19jYm1bZC0+YXJjaC5wc3JfY29zX2lkc1tzb2NrZXRdXS5jYm07 CisgICAgICAgICpjYm0gPSBpbmZvLT5jb3NfcmVnX3ZhbFtjb3NdOwogICAgICAgICBicmVhazsK IAogICAgIGNhc2UgUFNSX0NCTV9UWVBFX0wzX0NPREU6CiAgICAgICAgIGlmICggIWNkcF9lbmFi bGVkICkKLSAgICAgICAgICAgICpjYm0gPSBpbmZvLT5jb3NfdG9fY2JtW2QtPmFyY2gucHNyX2Nv c19pZHNbc29ja2V0XV0uY2JtOworICAgICAgICAgICAgKmNibSA9IGluZm8tPmNvc19yZWdfdmFs W2Nvc107CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICpjYm0gPSBpbmZvLT5jb3NfdG9fY2Jt W2QtPmFyY2gucHNyX2Nvc19pZHNbc29ja2V0XV0uY29kZTsKKyAgICAgICAgICAgICpjYm0gPSBn ZXRfY2RwX2NvZGUoaW5mbywgY29zKTsKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIFBTUl9D Qk1fVFlQRV9MM19EQVRBOgogICAgICAgICBpZiAoICFjZHBfZW5hYmxlZCApCi0gICAgICAgICAg ICAqY2JtID0gaW5mby0+Y29zX3RvX2NibVtkLT5hcmNoLnBzcl9jb3NfaWRzW3NvY2tldF1dLmNi bTsKKyAgICAgICAgICAgICpjYm0gPSBpbmZvLT5jb3NfcmVnX3ZhbFtjb3NdOwogICAgICAgICBl bHNlCi0gICAgICAgICAgICAqY2JtID0gaW5mby0+Y29zX3RvX2NibVtkLT5hcmNoLnBzcl9jb3Nf aWRzW3NvY2tldF1dLmRhdGE7CisgICAgICAgICAgICAqY2JtID0gZ2V0X2NkcF9kYXRhKGluZm8s IGNvcyk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgZGVmYXVsdDoKQEAgLTQwOCw3ICs0MTcsNyBA QCBzdGF0aWMgaW50IHdyaXRlX2wzX2NibSh1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNpZ25lZCBp bnQgY29zLAogICAgIHJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGZpbmRfY29zKHN0cnVjdCBw c3JfY2F0X2NibSAqbWFwLCB1bnNpZ25lZCBpbnQgKnJlZiwKK3N0YXRpYyBpbnQgZmluZF9jb3Mo c3RydWN0IHBzcl9jYXRfc29ja2V0X2luZm8gKmluZm8sIHVuc2lnbmVkIGludCAqcmVmLAogICAg ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zX21heCwKICAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgY2JtX2NvZGUsIHVpbnQ2NF90IGNibV9kYXRhLCBib29sX3QgY2RwX2VuYWJs ZWQpCiB7CkBAIC00MTcsOSArNDI2LDkgQEAgc3RhdGljIGludCBmaW5kX2NvcyhzdHJ1Y3QgcHNy X2NhdF9jYm0gKm1hcCwgdW5zaWduZWQgaW50ICpyZWYsCiAgICAgZm9yICggY29zID0gMDsgY29z IDw9IGNvc19tYXg7IGNvcysrICkKICAgICB7CiAgICAgICAgIGlmICggKHJlZltjb3NdIHx8IGNv cyA9PSAwKSAmJgotICAgICAgICAgICAgICgoIWNkcF9lbmFibGVkICYmIG1hcFtjb3NdLmNibSA9 PSBjYm1fY29kZSkgfHwKLSAgICAgICAgICAgICAgKGNkcF9lbmFibGVkICYmIG1hcFtjb3NdLmNv ZGUgPT0gY2JtX2NvZGUgJiYKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcFtjb3Nd LmRhdGEgPT0gY2JtX2RhdGEpKSApCisgICAgICAgICAgICAgKCghY2RwX2VuYWJsZWQgJiYgaW5m by0+Y29zX3JlZ192YWxbY29zXSA9PSBjYm1fY29kZSkgfHwKKyAgICAgICAgICAgICAgKGNkcF9l bmFibGVkICYmIGdldF9jZHBfY29kZShpbmZvLCBjb3MpID09IGNibV9jb2RlICYmCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnZXRfY2RwX2RhdGEoaW5mbywgY29zKSA9PSBjYm1fZGF0 YSkpICkKICAgICAgICAgICAgIHJldHVybiBjb3M7CiAgICAgfQogCkBAIC00NTAsNyArNDU5LDYg QEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2Nr ZXQsCiAgICAgaW50IGNvcywgcmV0OwogICAgIHVpbnQ2NF90IGNibV9kYXRhLCBjYm1fY29kZTsK ICAgICBib29sX3QgY2RwX2VuYWJsZWQgPSBjZHBfaXNfZW5hYmxlZChzb2NrZXQpOwotICAgIHN0 cnVjdCBwc3JfY2F0X2NibSAqbWFwOwogICAgIHN0cnVjdCBwc3JfY2F0X3NvY2tldF9pbmZvICpp bmZvID0gZ2V0X2NhdF9zb2NrZXRfaW5mbyhzb2NrZXQpOwogICAgIHVuc2lnbmVkIGludCAqcmVm OwogCkBAIC00NjYsNyArNDc0LDYgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4g KmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAKICAgICBjb3NfbWF4ID0gaW5mby0+Y29zX21heDsK ICAgICBvbGRfY29zID0gZC0+YXJjaC5wc3JfY29zX2lkc1tzb2NrZXRdOwotICAgIG1hcCA9IGlu Zm8tPmNvc190b19jYm07CiAgICAgcmVmID0gaW5mby0+Y29zX3JlZjsKIAogICAgIHN3aXRjaCAo IHR5cGUgKQpAQCAtNDc4LDExICs0ODUsMTEgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBk b21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAKICAgICBjYXNlIFBTUl9DQk1fVFlQRV9M M19DT0RFOgogICAgICAgICBjYm1fY29kZSA9IGNibTsKLSAgICAgICAgY2JtX2RhdGEgPSBtYXBb b2xkX2Nvc10uZGF0YTsKKyAgICAgICAgY2JtX2RhdGEgPSBnZXRfY2RwX2RhdGEoaW5mbywgb2xk X2Nvcyk7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBQU1JfQ0JNX1RZUEVfTDNfREFUQToK LSAgICAgICAgY2JtX2NvZGUgPSBtYXBbb2xkX2Nvc10uY29kZTsKKyAgICAgICAgY2JtX2NvZGUg PSBnZXRfY2RwX2NvZGUoaW5mbywgb2xkX2Nvcyk7CiAgICAgICAgIGNibV9kYXRhID0gY2JtOwog ICAgICAgICBicmVhazsKIApAQCAtNDkyLDcgKzQ5OSw3IEBAIGludCBwc3Jfc2V0X2wzX2NibShz dHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgIH0KIAogICAgIHNwaW5f bG9jaygmaW5mby0+cmVmX2xvY2spOwotICAgIGNvcyA9IGZpbmRfY29zKG1hcCwgcmVmLCBjb3Nf bWF4LCBjYm1fY29kZSwgY2JtX2RhdGEsIGNkcF9lbmFibGVkKTsKKyAgICBjb3MgPSBmaW5kX2Nv cyhpbmZvLCByZWYsIGNvc19tYXgsIGNibV9jb2RlLCBjYm1fZGF0YSwgY2RwX2VuYWJsZWQpOwog ICAgIGlmICggY29zID49IDAgKQogICAgIHsKICAgICAgICAgaWYgKCBjb3MgPT0gb2xkX2NvcyAp CkBAIC01MTIsOCArNTE5LDkgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQs IHVuc2lnbmVkIGludCBzb2NrZXQsCiAKICAgICAgICAgLyogV2UgdHJ5IHRvIGF2b2lkIHdyaXRp bmcgTVNSLiAqLwogICAgICAgICBpZiAoIChjZHBfZW5hYmxlZCAmJgotICAgICAgICAgICAgICht YXBbY29zXS5jb2RlICE9IGNibV9jb2RlIHx8IG1hcFtjb3NdLmRhdGEgIT0gY2JtX2RhdGEpKSB8 fAotICAgICAgICAgICAgICghY2RwX2VuYWJsZWQgJiYgbWFwW2Nvc10uY2JtICE9IGNibV9jb2Rl KSApCisgICAgICAgICAgICAgKGdldF9jZHBfY29kZShpbmZvLCBjb3MpICE9IGNibV9jb2RlIHx8 CisgICAgICAgICAgICAgIGdldF9jZHBfZGF0YShpbmZvLCBjb3MpICE9IGNibV9kYXRhKSkgfHwK KyAgICAgICAgICAgICAoIWNkcF9lbmFibGVkICYmIGluZm8tPmNvc19yZWdfdmFsW2Nvc10gIT0g Y2JtX2NvZGUpICkKICAgICAgICAgewogICAgICAgICAgICAgcmV0ID0gd3JpdGVfbDNfY2JtKHNv Y2tldCwgY29zLCBjYm1fY29kZSwgY2JtX2RhdGEsIGNkcF9lbmFibGVkKTsKICAgICAgICAgICAg IGlmICggcmV0ICkKQEAgLTUyMSw4ICs1MjksOCBAQCBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0 IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAgICAgICAgICAgICAgICBzcGluX3Vu bG9jaygmaW5mby0+cmVmX2xvY2spOwogICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CiAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICBtYXBbY29zXS5jb2RlID0gY2JtX2NvZGU7Ci0gICAgICAg ICAgICBtYXBbY29zXS5kYXRhID0gY2JtX2RhdGE7CisgICAgICAgICAgICBnZXRfY2RwX2NvZGUo aW5mbywgY29zKSA9IGNibV9jb2RlOworICAgICAgICAgICAgZ2V0X2NkcF9kYXRhKGluZm8sIGNv cykgPSBjYm1fZGF0YTsKICAgICAgICAgfQogICAgIH0KIApAQCAtNTgzLDEwICs1OTEsNyBAQCBz dGF0aWMgaW50IGNhdF9jcHVfcHJlcGFyZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgIGlmICggIWNh dF9zb2NrZXRfaW5mbyApCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgaWYgKCB0ZW1wX2Nvc190 b19jYm0gPT0gTlVMTCAmJgotICAgICAgICAgKHRlbXBfY29zX3RvX2NibSA9IHh6YWxsb2NfYXJy YXkoc3RydWN0IHBzcl9jYXRfY2JtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTUFYX0NPU19SRUdfTlVNKSkgPT0gTlVMTCApCi0gICAgICAgIHJldHVybiAtRU5P TUVNOworICAgIC8qIEtlZXAgdGhpcyBmdW5jdGlvbiBmb3IgZnV0dXJlIHVzYWdlLiAqLwogCiAg ICAgcmV0dXJuIDA7CiB9CkBAIC02MTUsMTAgKzYyMCw4IEBAIHN0YXRpYyB2b2lkIGNhdF9jcHVf aW5pdCh2b2lkKQogICAgICAgICBpbmZvLT5jYm1fbGVuID0gKGVheCAmIDB4MWYpICsgMTsKICAg ICAgICAgaW5mby0+Y29zX21heCA9IG1pbihvcHRfY29zX21heCwgZWR4ICYgMHhmZmZmKTsKIAot ICAgICAgICBpbmZvLT5jb3NfdG9fY2JtID0gdGVtcF9jb3NfdG9fY2JtOwotICAgICAgICB0ZW1w X2Nvc190b19jYm0gPSBOVUxMOwogICAgICAgICAvKiBjb3M9MCBpcyByZXNlcnZlZCBhcyBkZWZh dWx0IGNibShhbGwgb25lcykuICovCi0gICAgICAgIGluZm8tPmNvc190b19jYm1bMF0uY2JtID0g KDF1bGwgPDwgaW5mby0+Y2JtX2xlbikgLSAxOworICAgICAgICBpbmZvLT5jb3NfcmVnX3ZhbFsw XSA9ICgxdWxsIDw8IGluZm8tPmNibV9sZW4pIC0gMTsKIAogICAgICAgICBzcGluX2xvY2tfaW5p dCgmaW5mby0+cmVmX2xvY2spOwogCkBAIC02MjcsOCArNjMwLDEwIEBAIHN0YXRpYyB2b2lkIGNh dF9jcHVfaW5pdCh2b2lkKQogICAgICAgICBpZiAoIChlY3ggJiBQU1JfQ0FUX0NEUF9DQVBBQklM SVRZKSAmJiAob3B0X3BzciAmIFBTUl9DRFApICYmCiAgICAgICAgICAgICAgY2RwX3NvY2tldF9l bmFibGUgJiYgIXRlc3RfYml0KHNvY2tldCwgY2RwX3NvY2tldF9lbmFibGUpICkKICAgICAgICAg ewotICAgICAgICAgICAgaW5mby0+Y29zX3RvX2NibVswXS5jb2RlID0gKDF1bGwgPDwgaW5mby0+ Y2JtX2xlbikgLSAxOwotICAgICAgICAgICAgaW5mby0+Y29zX3RvX2NibVswXS5kYXRhID0gKDF1 bGwgPDwgaW5mby0+Y2JtX2xlbikgLSAxOworICAgICAgICAgICAgLyogQ09ERSAqLworICAgICAg ICAgICAgZ2V0X2NkcF9jb2RlKGluZm8sIDApID0gKDF1bGwgPDwgaW5mby0+Y2JtX2xlbikgLSAx OworICAgICAgICAgICAgLyogREFUQSAqLworICAgICAgICAgICAgZ2V0X2NkcF9kYXRhKGluZm8s IDApID0gKDF1bGwgPDwgaW5mby0+Y2JtX2xlbikgLSAxOwogCiAgICAgICAgICAgICAvKiBXZSBv bmx5IHdyaXRlIG1hc2sxIHNpbmNlIG1hc2swIGlzIGFsd2F5cyBhbGwgb25lcyBieSBkZWZhdWx0 LiAqLwogICAgICAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNLKDEpLCAoMXVsbCA8 PCBpbmZvLT5jYm1fbGVuKSAtIDEpOwpAQCAtNjUzLDE0ICs2NTgsNiBAQCBzdGF0aWMgdm9pZCBj YXRfY3B1X2ZpbmkodW5zaWduZWQgaW50IGNwdSkKIAogICAgIGlmICggIXNvY2tldF9jcHVtYXNr W3NvY2tldF0gfHwgY3B1bWFza19lbXB0eShzb2NrZXRfY3B1bWFza1tzb2NrZXRdKSApCiAgICAg ewotICAgICAgICBzdHJ1Y3QgcHNyX2NhdF9zb2NrZXRfaW5mbyAqaW5mbyA9IGNhdF9zb2NrZXRf aW5mbyArIHNvY2tldDsKLQotICAgICAgICBpZiAoIGluZm8tPmNvc190b19jYm0gKQotICAgICAg ICB7Ci0gICAgICAgICAgICB4ZnJlZShpbmZvLT5jb3NfdG9fY2JtKTsKLSAgICAgICAgICAgIGlu Zm8tPmNvc190b19jYm0gPSBOVUxMOwotICAgICAgICB9Ci0KICAgICAgICAgaWYgKCBjZHBfaXNf ZW5hYmxlZChzb2NrZXQpICkKICAgICAgICAgICAgIGNsZWFyX2JpdChzb2NrZXQsIGNkcF9zb2Nr ZXRfZW5hYmxlKTsKIAotLSAKMi43LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK