From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from tyo201.gate.nec.co.jp ([202.32.8.193]) by canuck.infradead.org with esmtp (Exim 4.63 #1 (Red Hat Linux)) id 1HmP6Q-0002hX-9v for kexec@lists.infradead.org; Fri, 11 May 2007 03:01:00 -0400 Subject: Re: [PATCH] [makedumpfile] Implement memory regions on IA64 In-reply-to: <20070426193725.GA2586@suse.de> Message-Id: <20070511155950oomichi@mail.jp.nec.com> References: <20070426193725.GA2586@suse.de> Mime-Version: 1.0 From: "Ken'ichi Ohmichi" Date: Fri, 11 May 2007 15:59:50 +0900 Content-Type: multipart/mixed; boundary="BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kexec-bounces@lists.infradead.org Errors-To: kexec-bounces+dwmw2=infradead.org+dwmw2=infradead.org@lists.infradead.org To: Bernhard Walle Cc: Jay Lan , Kexec Mailing List --BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hi Bernhard, 2007/04/26 21:37:25 +0200, Bernhard Walle wrote: >This patch fixes an error in vaddr_to_offset_ia64() which happened on >a SGI machine here while retrieving the utsname from the kernel dump >image. It implements memory region support for IA64. Thank you for the patch. For ia64 DISCONTIGMEM support, I added the translation (virtual address to physical address) by using layer 3 paging into your patch. I created 2 attached patches for ia64 DISCONTIGMEM support. I confirmed makedumpfile with these patches can run on linux-2.6.18 kernel (made of RHEL5 kernel by changing configs from SPARSEMEM to DISCONTIGMEM). Could you please test them on SLES10 ? BTW, the patches don't run on stock linux-2.6.20 w/DISCONTIGMEM (it works with stock linux-2.6.20 w/SPARSEMEM) I am trying to resolve the problem and if you have any idea about kernel changes between 2.6.18-20, please let me know. The attached patches (for makedumpfile version 1.1.3): - 01-vaddr_to_offset_ia64.patch The translation by using layer 3 paging is added to Bernhard's patch. - 02-ia64-discontigmem.patch ia64 DISCONTIGMEM support. Thanks Ken'ichi Ohmichi --BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000 Content-Type: application/octet-stream; name="02-ia64-discontigmem.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="02-ia64-discontigmem.patch" ZGlmZiAtcHVOIG1ha2VkdW1wZmlsZS5vcmcvbWFrZWR1bXBmaWxlLmMgbWFrZWR1bXBmaWxl L21ha2VkdW1wZmlsZS5jCi0tLSBtYWtlZHVtcGZpbGUub3JnL21ha2VkdW1wZmlsZS5jCTIw MDctMDUtMTEgMjM6MDY6MzMuMDAwMDAwMDAwICswOTAwCisrKyBtYWtlZHVtcGZpbGUvbWFr ZWR1bXBmaWxlLmMJMjAwNy0wNS0xMSAyMzo1NTozMy4wMDAwMDAwMDAgKzA5MDAKQEAgLTE0 NTUsNiArMTQ1NSw4IEBAIGdldF9zdHJ1Y3R1cmVfaW5mbyhzdHJ1Y3QgRHVtcEluZm8gKmlu Zm8KIAlPRkZTRVRfSU5JVChwZ2xpc3RfZGF0YS5ub2RlX3N0YXJ0X3BmbiwgInBnbGlzdF9k YXRhIiwibm9kZV9zdGFydF9wZm4iKTsKIAlPRkZTRVRfSU5JVChwZ2xpc3RfZGF0YS5ub2Rl X3NwYW5uZWRfcGFnZXMsICJwZ2xpc3RfZGF0YSIsCiAJICAgICJub2RlX3NwYW5uZWRfcGFn ZXMiKTsKKwlPRkZTRVRfSU5JVChwZ2xpc3RfZGF0YS5wZ2RhdF9uZXh0LCAicGdsaXN0X2Rh dGEiLAorCSAgICAicGdkYXRfbmV4dCIpOwogCiAJLyoKIAkgKiBHZXQgb2Zmc2V0cyBvZiB0 aGUgem9uZSdzIG1lbWJlcnMuCkBAIC0xNTAyLDcgKzE1MDQsMTIgQEAgZ2V0X21lbV90eXBl KHN0cnVjdCBEdW1wSW5mbyAqaW5mbykKIAkgICAgfHwgKE9GRlNFVChwYWdlLl9jb3VudCkg PT0gTk9UX0ZPVU5EX1NUUlVDVFVSRSkKIAkgICAgfHwgKE9GRlNFVChwYWdlLm1hcHBpbmcp ID09IE5PVF9GT1VORF9TVFJVQ1RVUkUpKSB7CiAJCXJldCA9IE5PVF9GT1VORF9NRU1UWVBF OwotCX0gZWxzZSBpZiAoKFNZTUJPTChub2RlX2RhdGEpICE9IE5PVF9GT1VORF9TWU1CT0wp CisJfSBlbHNlIGlmICgoKChTWU1CT0wobm9kZV9kYXRhKSAhPSBOT1RfRk9VTkRfU1lNQk9M KQorCSAgICAgICAgJiYgKEFSUkFZX0xFTkdUSChub2RlX2RhdGEpICE9IE5PVF9GT1VORF9T VFJVQ1RVUkUpKQorCSAgICB8fCAoKFNZTUJPTChwZ2RhdF9saXN0KSAhPSBOT1RfRk9VTkRf U1lNQk9MKQorCSAgICAgICAgJiYgKE9GRlNFVChwZ2xpc3RfZGF0YS5wZ2RhdF9uZXh0KSAh PSBOT1RfRk9VTkRfU1RSVUNUVVJFKSkKKwkgICAgfHwgKChTWU1CT0wocGdkYXRfbGlzdCkg IT0gTk9UX0ZPVU5EX1NZTUJPTCkKKwkgICAgICAgICYmIChBUlJBWV9MRU5HVEgocGdkYXRf bGlzdCkgIT0gTk9UX0ZPVU5EX1NUUlVDVFVSRSkpKQogCSAgICAmJiAoU0laRShwZ2xpc3Rf ZGF0YSkgIT0gTk9UX0ZPVU5EX1NUUlVDVFVSRSkKIAkgICAgJiYgKE9GRlNFVChwZ2xpc3Rf ZGF0YS5ub2RlX21lbV9tYXApICE9IE5PVF9GT1VORF9TVFJVQ1RVUkUpCiAJICAgICYmIChP RkZTRVQocGdsaXN0X2RhdGEubm9kZV9zdGFydF9wZm4pICE9IE5PVF9GT1VORF9TVFJVQ1RV UkUpCkBAIC0xNjEzLDYgKzE2MjAsOCBAQCBnZW5lcmF0ZV9jb25maWcoc3RydWN0IER1bXBJ bmZvICppbmZvKQogCSAgICBwZ2xpc3RfZGF0YS5ub2RlX3N0YXJ0X3Bmbik7CiAJV1JJVEVf TUVNQkVSX09GRlNFVCgicGdsaXN0X2RhdGEubm9kZV9zcGFubmVkX3BhZ2VzIiwKIAkgICAg cGdsaXN0X2RhdGEubm9kZV9zcGFubmVkX3BhZ2VzKTsKKwlXUklURV9NRU1CRVJfT0ZGU0VU KCJwZ2xpc3RfZGF0YS5wZ2RhdF9uZXh0IiwKKwkgICAgcGdsaXN0X2RhdGEucGdkYXRfbmV4 dCk7CiAJV1JJVEVfTUVNQkVSX09GRlNFVCgiem9uZS5mcmVlX3BhZ2VzIiwgem9uZS5mcmVl X3BhZ2VzKTsKIAlXUklURV9NRU1CRVJfT0ZGU0VUKCJ6b25lLmZyZWVfYXJlYSIsIHpvbmUu ZnJlZV9hcmVhKTsKIAlXUklURV9NRU1CRVJfT0ZGU0VUKCJ6b25lLnZtX3N0YXQiLCB6b25l LnZtX3N0YXQpOwpAQCAtMTc4Miw2ICsxNzkxLDggQEAgcmVhZF9jb25maWcoc3RydWN0IER1 bXBJbmZvICppbmZvKQogCSAgICBwZ2xpc3RfZGF0YS5ub2RlX3N0YXJ0X3Bmbik7CiAJUkVB RF9NRU1CRVJfT0ZGU0VUKCJwZ2xpc3RfZGF0YS5ub2RlX3NwYW5uZWRfcGFnZXMiLAogCSAg ICBwZ2xpc3RfZGF0YS5ub2RlX3NwYW5uZWRfcGFnZXMpOworCVJFQURfTUVNQkVSX09GRlNF VCgicGdsaXN0X2RhdGEucGdkYXRfbmV4dCIsCisJICAgIHBnbGlzdF9kYXRhLnBnZGF0X25l eHQpOwogCVJFQURfTUVNQkVSX09GRlNFVCgiem9uZS5mcmVlX3BhZ2VzIiwgem9uZS5mcmVl X3BhZ2VzKTsKIAlSRUFEX01FTUJFUl9PRkZTRVQoInpvbmUuZnJlZV9hcmVhIiwgem9uZS5m cmVlX2FyZWEpOwogCVJFQURfTUVNQkVSX09GRlNFVCgiem9uZS52bV9zdGF0Iiwgem9uZS52 bV9zdGF0KTsKQEAgLTE4ODAsNiArMTg5MSw3IEBAIG5leHRfb25saW5lX25vZGUoaW50IGZp cnN0KQogdW5zaWduZWQgbG9uZwogbmV4dF9vbmxpbmVfcGdkYXQoc3RydWN0IER1bXBJbmZv ICppbmZvLCBpbnQgbm9kZSkKIHsKKwlpbnQgaTsKIAl1bnNpZ25lZCBsb25nIHBnZGF0Owog CiAJLyoKQEAgLTE5MjYsNiArMTkzOCwzMyBAQCBwZ2RhdDI6CiAKIHBnZGF0MzoKIAkvKgor CSAqIGxpbnV4LTIuNi4xNiBvciBiZWZvcmUKKwkgKi8KKwlpZiAoKFNZTUJPTChwZ2RhdF9s aXN0KSA9PSBOT1RfRk9VTkRfU1lNQk9MKQorCSAgICB8fCAoT0ZGU0VUKHBnbGlzdF9kYXRh LnBnZGF0X25leHQpID09IE5PVF9GT1VORF9TVFJVQ1RVUkUpKQorCQlnb3RvIHBnZGF0NDsK KworCWlmICghcmVhZG1lbShpbmZvLCBTWU1CT0wocGdkYXRfbGlzdCksICZwZ2RhdCwgc2l6 ZW9mIHBnZGF0KSkKKwkJZ290byBwZ2RhdDQ7CisKKwlpZiAoIWlzX2t2YWRkcihwZ2RhdCkp CisJCWdvdG8gcGdkYXQ0OworCisJaWYgKG5vZGUgPT0gMCkKKwkJcmV0dXJuIHBnZGF0Owor CisJZm9yIChpID0gMTsgaSA8IG5vZGU7IGkrKykgeworCQlpZiAoIXJlYWRtZW0oaW5mbywg cGdkYXQgKyBPRkZTRVQocGdsaXN0X2RhdGEucGdkYXRfbmV4dCksCisJCSAgICAmcGdkYXQs IHNpemVvZiBwZ2RhdCkpCisJCQlnb3RvIHBnZGF0NDsKKworCQlpZiAoIWlzX2t2YWRkcihw Z2RhdCkpCisJCQlnb3RvIHBnZGF0NDsKKwl9CisJcmV0dXJuIHBnZGF0OworCitwZ2RhdDQ6 CisJLyoKIAkgKiBHZXQgdGhlIHBnbGlzdF9kYXRhIHN0cnVjdHVyZSBmcm9tIHN5bWJvbCAi Y29udGlnX3BhZ2VfZGF0YSIuCiAJICovCiAJaWYgKFNZTUJPTChjb250aWdfcGFnZV9kYXRh KSA9PSBOT1RfRk9VTkRfU1lNQk9MKQpkaWZmIC1wdU4gbWFrZWR1bXBmaWxlLm9yZy9tYWtl ZHVtcGZpbGUuaCBtYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxlLmgKLS0tIG1ha2VkdW1wZmls ZS5vcmcvbWFrZWR1bXBmaWxlLmgJMjAwNy0wNS0xMSAyMzowNjozMy4wMDAwMDAwMDAgKzA5 MDAKKysrIG1ha2VkdW1wZmlsZS9tYWtlZHVtcGZpbGUuaAkyMDA3LTA1LTExIDIzOjIwOjAw LjAwMDAwMDAwMCArMDkwMApAQCAtNjEyLDYgKzYxMiw3IEBAIHN0cnVjdCBvZmZzZXRfdGFi bGUgewogCQlsb25nCW5vZGVfbWVtX21hcDsKIAkJbG9uZwlub2RlX3N0YXJ0X3BmbjsKIAkJ bG9uZwlub2RlX3NwYW5uZWRfcGFnZXM7CisJCWxvbmcJcGdkYXRfbmV4dDsKIAl9IHBnbGlz dF9kYXRhOwogCXN0cnVjdCBmcmVlX2FyZWEgewogCQlsb25nCWZyZWVfbGlzdDsK --BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000 Content-Type: application/octet-stream; name="01-vaddr_to_offset_ia64.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="01-vaddr_to_offset_ia64.patch" U2lnbmVkLW9mZi1ieTogQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPgpTaWduZWQt b2ZmLWJ5OiBLZW4naWNoaSBPaG1pY2hpIDxvb21pY2hpQG14cy5uZXMubmVjLmNvLmpwPgot LS0KCmRpZmYgLXB1TiBiYWNrdXAvdjEuMS4zL2lhNjQuYyBtYWtlZHVtcGZpbGUvaWE2NC5j Ci0tLSBiYWNrdXAvdjEuMS4zL2lhNjQuYwkyMDA3LTA0LTEzIDE1OjQ0OjQ1LjAwMDAwMDAw MCArMDkwMAorKysgbWFrZWR1bXBmaWxlL2lhNjQuYwkyMDA3LTA1LTExIDIzOjAyOjI1LjAw MDAwMDAwMCArMDkwMApAQCAtMjMsNiArMjMsOCBAQCBnZXRfcGh5c19iYXNlX2lhNjQoc3Ry dWN0IER1bXBJbmZvICppbmZvCiAJaW50IGk7CiAJc3RydWN0IHB0X2xvYWRfc2VnbWVudCAq cGxzOwogCisJaW5mby0+cGh5c19iYXNlID0gMDsKKwogCS8qCiAJICogIERlZmF1bHQgdG8g NjRNQi4KIAkgKi8KQEAgLTQ4LDUgKzUwLDEyNSBAQCBnZXRfbWFjaGRlcF9pbmZvX2lhNjQo c3RydWN0IER1bXBJbmZvICppCiAJcmV0dXJuIFRSVUU7CiB9CiAKK3Vuc2lnbmVkIGxvbmcK K2lhNjRfdnRvcChzdHJ1Y3QgRHVtcEluZm8gKmluZm8sIHVuc2lnbmVkIGxvbmcgbG9uZyB2 YWRkcikKK3sKKwl1bnNpZ25lZCBsb25nIHBhZGRyID0gMCwgdGVtcCwgcGFnZV9kaXIsIHBn ZF9wdGUsIHBhZ2VfbWlkZGxlLCBwbWRfcHRlOworCXVuc2lnbmVkIGxvbmcgcGFnZV90YWJs ZSwgcHRlOworCisJaWYgKFZBRERSX1JFR0lPTih2YWRkcikgIT0gS0VSTkVMX1ZNQUxMT0Nf UkVHSU9OKSB7CisJCUVSUk1TRygidmFkZHIoJWxseCkgaXMgbm90IEtFUk5FTF9WTUFMTE9D X1JFR0lPTi5cbiIsIHZhZGRyKTsKKwkJcmV0dXJuIHBhZGRyOworCX0KKwlwYWRkciA9IHZh ZGRyX3RvX3BhZGRyKGluZm8sIHZhZGRyKTsKKwlpZiAocGFkZHIpCisJCXJldHVybiBwYWRk cjsKKworCS8qCisJICogVHJhbnNsYXRlIGEgdmlydHVhbCBhZGRyZXNzIHRvIGEgcGh5c2lj YWwgYWRkcmVzcworCSAqIGJ5IHVzaW5nIExheWVyIDMgcGFnaW5nLgorCSAqLworCWlmIChT WU1CT0woc3dhcHBlcl9wZ19kaXIpID09IE5PVF9GT1VORF9TWU1CT0wpIHsKKwkJRVJSTVNH KCJDYW4ndCBnZXQgdGhlIHN5bWJvbCBvZiBzd2FwcGVyX3BnX2Rpci5cbiIpOworCQlyZXR1 cm4gcGFkZHI7CisJfQorCisJLyoKKwkgKiBHZXQgUEdECisJICovCisJdGVtcCA9IHZhZGRy ICYgTUFTS19QR0Q7CisJdGVtcCA9IHRlbXAgPj4gKFBHRElSX1NISUZUIC0gMyk7CisJcGFn ZV9kaXIgPSBTWU1CT0woc3dhcHBlcl9wZ19kaXIpICsgdGVtcDsKKwlpZiAoIXJlYWRtZW0o aW5mbywgcGFnZV9kaXIsICZwZ2RfcHRlLCBzaXplb2YgcGdkX3B0ZSkpIHsKKwkJRVJSTVNH KCJDYW4ndCBnZXQgcGdkX3B0ZSAocGFnZV9kaXI6JWx4KS5cbiIsIHBhZ2VfZGlyKTsKKwkJ cmV0dXJuIHBhZGRyOworCX0KKworCS8qCisJICogR2V0IFBNRAorCSAqLworCXRlbXAgPSB2 YWRkciAmIE1BU0tfUE1EOworCXRlbXAgPSB0ZW1wID4+IChQTURfU0hJRlQgLSAzKTsKKwlw YWdlX21pZGRsZSA9IHBnZF9wdGUgKyB0ZW1wOworCS8qCisJICogQ29udmVydCBwaHlzaWNh bCBhZGRyZXNzIHRvIHZpcnR1YWwgYWRkcmVzcworCSAqLworCXBhZ2VfbWlkZGxlID0gcGFk ZHJfdG9fdmFkZHIoaW5mbywgcGFnZV9taWRkbGUpOworCWlmICghcmVhZG1lbShpbmZvLCBw YWdlX21pZGRsZSwgJnBtZF9wdGUsIHNpemVvZiBwbWRfcHRlKSkgeworCQlFUlJNU0coIkNh bid0IGdldCBwbWRfcHRlIChwYWdlX21pZGRsZTolbHgpLlxuIiwgcGFnZV9taWRkbGUpOwor CQlyZXR1cm4gcGFkZHI7CisJfQorCisJLyoKKwkgKiBHZXQgUFRFCisJICovCisJdGVtcCA9 IHZhZGRyICYgTUFTS19QVEU7CisJdGVtcCA9IHRlbXAgPj4gKFBBR0VfU0hJRlQgLSAzKTsK KwlwYWdlX3RhYmxlID0gcG1kX3B0ZSArIHRlbXA7CisJLyoKKwkgKiBDb252ZXJ0IHBoeXNp Y2FsIGFkZHJlc3MgdG8gdmlydHVhbCBhZGRyZXNzCisJICovCisJcGFnZV90YWJsZSA9IHBh ZGRyX3RvX3ZhZGRyKGluZm8sIHBhZ2VfdGFibGUpOworCWlmICghcmVhZG1lbShpbmZvLCBw YWdlX3RhYmxlLCAmcHRlLCBzaXplb2YgcHRlKSkgeworCQlFUlJNU0coIkNhbid0IGdldCBw dGUgKHBhZ2VfdGFibGU6JWx4KS5cbiIsIHBhZ2VfdGFibGUpOworCQlyZXR1cm4gcGFkZHI7 CisJfQorCisJLyoKKwkgKiBHZXQgcGh5c2ljYWwgYWRkcmVzcworCSAqLworCXRlbXAgPSB2 YWRkciAmIE1BU0tfUE9GRlNFVDsKKwlwYWRkciA9IChwdGUgJiBfUEFHRV9QUE5fTUFTSykg KyB0ZW1wOworCWlmIChpbmZvLT5mbGFnX2RlYnVnKSB7CisJCU1TRygidmFkZHI6JWxseCAt PiBwYWRkcjolbHhcbiIsIHZhZGRyLCBwYWRkcik7CisJfQorCisJcmV0dXJuIHBhZGRyOwor fQorCisKKy8qCisgKiBDb252ZXJ0IFZpcnR1YWwgQWRkcmVzcyB0byBGaWxlIE9mZmVzdC4K KyAqLworb2ZmX3QKK3ZhZGRyX3RvX29mZnNldF9pYTY0KHN0cnVjdCBEdW1wSW5mbyAqaW5m bywgdW5zaWduZWQgbG9uZyBsb25nIHZhZGRyKQoreworCWludCBpOworCW9mZl90IG9mZnNl dDsKKwlzdHJ1Y3QgcHRfbG9hZF9zZWdtZW50ICpwbHM7CisJdW5zaWduZWQgbG9uZyBwYWRk cjsKKworCisJc3dpdGNoIChWQUREUl9SRUdJT04odmFkZHIpKSB7CisJCWNhc2UgS0VSTkVM X0NBQ0hFRF9SRUdJT046CisJCQlwYWRkciA9IHZhZGRyIC0gKHVsb25nKShLRVJORUxfQ0FD SEVEX0JBU0UpOworCQkJYnJlYWs7CisKKwkJY2FzZSBLRVJORUxfVU5DQUNIRURfUkVHSU9O OgorCQkJcGFkZHIgPSB2YWRkciAtICh1bG9uZykoS0VSTkVMX1VOQ0FDSEVEX0JBU0UpOwor CQkJYnJlYWs7CisKKwkJY2FzZSBLRVJORUxfVk1BTExPQ19SRUdJT046CisJCQlwYWRkciA9 IGlhNjRfdnRvcChpbmZvLCB2YWRkcik7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJ RVJSTVNHKCJVbmtub3duIHJlZ2lvbiAoJWxkKVxuIiwgVkFERFJfUkVHSU9OKHZhZGRyKSk7 CisJCQlyZXR1cm4gMDsKKwl9CisKKwlmb3IgKGkgPSBvZmZzZXQgPSAwOyBpIDwgaW5mby0+ bnVtX2xvYWRfbWVtb3J5OyBpKyspIHsKKwkJcGxzID0gJmluZm8tPnB0X2xvYWRfc2VnbWVu dHNbaV07CisJCWlmICgocGFkZHIgPj0gcGxzLT5waHlzX3N0YXJ0KQorCQkgICAgJiYgKHBh ZGRyIDwgcGxzLT5waHlzX2VuZCkpIHsKKwkJCW9mZnNldCA9IChvZmZfdCkocGFkZHIgLSBw bHMtPnBoeXNfc3RhcnQpICsKKwkJCQlwbHMtPmZpbGVfb2Zmc2V0OworCQkJCWJyZWFrOwor CQl9CisJfQorCisJcmV0dXJuIG9mZnNldDsKK30KKwogI2VuZGlmIC8qIGlhNjQgKi8KIApk aWZmIC1wdU4gYmFja3VwL3YxLjEuMy9tYWtlZHVtcGZpbGUuYyBtYWtlZHVtcGZpbGUvbWFr ZWR1bXBmaWxlLmMKLS0tIGJhY2t1cC92MS4xLjMvbWFrZWR1bXBmaWxlLmMJMjAwNy0wNC0x MyAxNTo0NDo1NS4wMDAwMDAwMDAgKzA5MDAKKysrIG1ha2VkdW1wZmlsZS9tYWtlZHVtcGZp bGUuYwkyMDA3LTA1LTExIDIzOjAyOjI1LjAwMDAwMDAwMCArMDkwMApAQCAtNjQsNiArNjQs NDQgQEAgcGFkZHJfdG9fb2Zmc2V0KHN0cnVjdCBEdW1wSW5mbyAqaW5mbywgdQogCXJldHVy biBvZmZzZXQ7CiB9CiAKK3Vuc2lnbmVkIGxvbmcgbG9uZwordmFkZHJfdG9fcGFkZHIoc3Ry dWN0IER1bXBJbmZvICppbmZvLCB1bnNpZ25lZCBsb25nIGxvbmcgdmFkZHIpCit7CisJaW50 IGk7CisJdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyOworCXN0cnVjdCBwdF9sb2FkX3NlZ21l bnQgKnBsczsKKworCWZvciAoaSA9IHBhZGRyID0gMDsgaSA8IGluZm8tPm51bV9sb2FkX21l bW9yeTsgaSsrKSB7CisJCXBscyA9ICZpbmZvLT5wdF9sb2FkX3NlZ21lbnRzW2ldOworCQlp ZiAoKHZhZGRyID49IHBscy0+dmlydF9zdGFydCkKKwkJICAgICYmICh2YWRkciA8IHBscy0+ dmlydF9lbmQpKSB7CisJCQlwYWRkciA9IChvZmZfdCkodmFkZHIgLSBwbHMtPnZpcnRfc3Rh cnQpICsKKwkJCQlwbHMtPnBoeXNfc3RhcnQ7CisJCQkJYnJlYWs7CisJCX0KKwl9CisJcmV0 dXJuIHBhZGRyOworfQorCit1bnNpZ25lZCBsb25nIGxvbmcKK3BhZGRyX3RvX3ZhZGRyKHN0 cnVjdCBEdW1wSW5mbyAqaW5mbywgdW5zaWduZWQgbG9uZyBsb25nIHBhZGRyKQoreworCWlu dCBpOworCXVuc2lnbmVkIGxvbmcgbG9uZyB2YWRkcjsKKwlzdHJ1Y3QgcHRfbG9hZF9zZWdt ZW50ICpwbHM7CisKKwlmb3IgKGkgPSB2YWRkciA9IDA7IGkgPCBpbmZvLT5udW1fbG9hZF9t ZW1vcnk7IGkrKykgeworCQlwbHMgPSAmaW5mby0+cHRfbG9hZF9zZWdtZW50c1tpXTsKKwkJ aWYgKChwYWRkciA+PSBwbHMtPnBoeXNfc3RhcnQpCisJCSAgICAmJiAocGFkZHIgPCBwbHMt PnBoeXNfZW5kKSkgeworCQkJdmFkZHIgPSAob2ZmX3QpKHBhZGRyIC0gcGxzLT5waHlzX3N0 YXJ0KSArCisJCQkJcGxzLT52aXJ0X3N0YXJ0OworCQkJCWJyZWFrOworCQl9CisJfQorCXJl dHVybiB2YWRkcjsKK30KKwogLyoKICAqIENvbnZlcnQgVmlydHVhbCBBZGRyZXNzIHRvIEZp bGUgT2ZmZXN0LgogICogIElmIHRoaXMgZnVuY3Rpb24gcmV0dXJucyAweDAsIEZpbGUgT2Zm c2V0IGlzbid0IGZvdW5kLgpAQCAtNzM1LDYgKzc3Myw3IEBAIGdldF9lbGZfaW5mbyhzdHJ1 Y3QgRHVtcEluZm8gKmluZm8pCiAJICogICBjYXB0dXJlKDJuZCkta2VybmVsLCB0aGUgcHJv YmxlbSB3aWxsIGhhcHBlbi4KIAkgKi8KIAlpbmZvLT5wYWdlX3NpemUgPSBzeXNjb25mKF9T Q19QQUdFX1NJWkUpOworCWluZm8tPnBhZ2Vfc2hpZnQgPSBmZnMoaW5mby0+cGFnZV9zaXpl KSAtIDE7CiAKIAlpbmZvLT5tYXhfbWFwbnIgPSBnZXRfbWF4X21hcG5yKGluZm8pOwogCkBA IC0xMzY0LDYgKzE0MDMsNyBAQCBnZXRfc3ltYm9sX2luZm8oc3RydWN0IER1bXBJbmZvICpp bmZvKQogCVNZTUJPTF9JTklUKHN5c3RlbV91dHNuYW1lLCAic3lzdGVtX3V0c25hbWUiKTsK IAlTWU1CT0xfSU5JVChpbml0X3V0c19ucywgImluaXRfdXRzX25zIik7CiAJU1lNQk9MX0lO SVQoX3N0ZXh0LCAiX3N0ZXh0Iik7CisJU1lNQk9MX0lOSVQoc3dhcHBlcl9wZ19kaXIsICJz d2FwcGVyX3BnX2RpciIpOwogCVNZTUJPTF9JTklUKHBoeXNfYmFzZSwgInBoeXNfYmFzZSIp OwogCVNZTUJPTF9JTklUKG5vZGVfb25saW5lX21hcCwgIm5vZGVfb25saW5lX21hcCIpOwog CVNZTUJPTF9JTklUKG5vZGVfZGF0YSwgIm5vZGVfZGF0YSIpOwpAQCAtMTUzOSw2ICsxNTc5 LDcgQEAgZ2VuZXJhdGVfY29uZmlnKHN0cnVjdCBEdW1wSW5mbyAqaW5mbykKIAlXUklURV9T WU1CT0woInN5c3RlbV91dHNuYW1lIiwgc3lzdGVtX3V0c25hbWUpOwogCVdSSVRFX1NZTUJP TCgiaW5pdF91dHNfbnMiLCBpbml0X3V0c19ucyk7CiAJV1JJVEVfU1lNQk9MKCJfc3RleHQi LCBfc3RleHQpOworCVdSSVRFX1NZTUJPTCgic3dhcHBlcl9wZ19kaXIiLCBzd2FwcGVyX3Bn X2Rpcik7CiAJV1JJVEVfU1lNQk9MKCJwaHlzX2Jhc2UiLCBwaHlzX2Jhc2UpOwogCVdSSVRF X1NZTUJPTCgibm9kZV9vbmxpbmVfbWFwIiwgbm9kZV9vbmxpbmVfbWFwKTsKIAlXUklURV9T WU1CT0woIm5vZGVfZGF0YSIsIG5vZGVfZGF0YSk7CkBAIC0xNjMxLDYgKzE2NzIsNyBAQCBy ZWFkX2NvbmZpZ19iYXNpY19pbmZvKHN0cnVjdCBEdW1wSW5mbyAqCiAJCQlicmVhazsKIAl9 CiAJaW5mby0+cGFnZV9zaXplID0gcGFnZV9zaXplOworCWluZm8tPnBhZ2Vfc2hpZnQgPSBm ZnMoaW5mby0+cGFnZV9zaXplKSAtIDE7CiAKIAlpZiAoIWdldF9yZWxlYXNlIHx8ICFpbmZv LT5wYWdlX3NpemUpIHsKIAkJRVJSTVNHKCJJbnZhbGlkIGZvcm1hdCBpbiAlcyIsIGluZm8t Pm5hbWVfY29uZmlnZmlsZSk7CkBAIC0xNzEzLDYgKzE3NTUsNyBAQCByZWFkX2NvbmZpZyhz dHJ1Y3QgRHVtcEluZm8gKmluZm8pCiAJUkVBRF9TWU1CT0woInN5c3RlbV91dHNuYW1lIiwg c3lzdGVtX3V0c25hbWUpOwogCVJFQURfU1lNQk9MKCJpbml0X3V0c19ucyIsIGluaXRfdXRz X25zKTsKIAlSRUFEX1NZTUJPTCgiX3N0ZXh0IiwgX3N0ZXh0KTsKKwlSRUFEX1NZTUJPTCgi c3dhcHBlcl9wZ19kaXIiLCBzd2FwcGVyX3BnX2Rpcik7CiAJUkVBRF9TWU1CT0woInBoeXNf YmFzZSIsIHBoeXNfYmFzZSk7CiAJUkVBRF9TWU1CT0woIm5vZGVfb25saW5lX21hcCIsIG5v ZGVfb25saW5lX21hcCk7CiAJUkVBRF9TWU1CT0woIm5vZGVfZGF0YSIsIG5vZGVfZGF0YSk7 CkBAIC0yMjA2LDYgKzIyNDksNyBAQCBpbml0aWFsKHN0cnVjdCBEdW1wSW5mbyAqaW5mbykK IAkJaWYgKCFnZXRfc3RydWN0dXJlX2luZm8oaW5mbykpCiAJCQlyZXR1cm4gRkFMU0U7CiAJ fQorCiAJaWYgKCFjaGVja19yZWxlYXNlKGluZm8pKQogCQlyZXR1cm4gRkFMU0U7CiAKZGlm ZiAtcHVOIGJhY2t1cC92MS4xLjMvbWFrZWR1bXBmaWxlLmggbWFrZWR1bXBmaWxlL21ha2Vk dW1wZmlsZS5oCi0tLSBiYWNrdXAvdjEuMS4zL21ha2VkdW1wZmlsZS5oCTIwMDctMDQtMTMg MTU6NDQ6NTUuMDAwMDAwMDAwICswOTAwCisrKyBtYWtlZHVtcGZpbGUvbWFrZWR1bXBmaWxl LmgJMjAwNy0wNS0xMSAyMzowMjoyNS4wMDAwMDAwMDAgKzA5MDAKQEAgLTM2Nyw2ICszNjcs MjIgQEAgZG8geyBcCiAjZGVmaW5lIF9TRUNUSU9OX1NJWkVfQklUUwkoMzApCiAjZGVmaW5l IF9NQVhfUEhZU01FTV9CSVRTCSg1MCkKICNkZWZpbmUgU0laRU9GX05PREVfT05MSU5FX01B UAkoMzIpCisKKy8qCisgKiBMYXllciAzIHBhZ2luZworICovCisjZGVmaW5lIF9QQUdFX1BQ Tl9NQVNLCQkoKCgxVUwgPDwgX01BWF9QSFlTTUVNX0JJVFMpIC0gMSkgJiB+MHhmZmZVTCkK KyNkZWZpbmUgUEFHRV9TSElGVAkJKGluZm8tPnBhZ2Vfc2hpZnQpCisjZGVmaW5lIFBUUlNf UEVSX1BURF9TSElGVAkoUEFHRV9TSElGVCAtIDMpCisKKyNkZWZpbmUgUE1EX1NISUZUCQko UEFHRV9TSElGVCArIFBUUlNfUEVSX1BURF9TSElGVCkKKyNkZWZpbmUgUEdESVJfU0hJRlQJ CShQTURfU0hJRlQgICsgUFRSU19QRVJfUFREX1NISUZUKQorCisjZGVmaW5lIE1BU0tfUE9G RlNFVAkoKDFVTCA8PCBQQUdFX1NISUZUKSAtIDEpCisjZGVmaW5lIE1BU0tfUFRFCSgoMVVM IDw8IFBNRF9TSElGVCkgLSAxKSAmfigoMVVMIDw8IFBBR0VfU0hJRlQpIC0gMSkKKyNkZWZp bmUgTUFTS19QTUQJKCgxVUwgPDwgUEdESVJfU0hJRlQpIC0gMSkgJn4oKDFVTCA8PCBQTURf U0hJRlQpIC0gMSkKKyNkZWZpbmUgTUFTS19QR0QJKCgxVUwgPDwgUkVHSU9OX1NISUZUKSAt IDEpICYgKH4oKDFVTCA8PCBQR0RJUl9TSElGVCkgLSAxKSkKKwogI2VuZGlmICAgICAgICAg IC8qIGlhNjQgKi8KIAogLyoKQEAgLTM5OCwxMCArNDE0LDExIEBAIGludCBnZXRfbWFjaGRl cF9pbmZvX3BwYzY0KCk7CiAjaWZkZWYgX19pYTY0X18gLyogaWE2NCAqLwogaW50IGdldF9w aHlzX2Jhc2VfaWE2NCgpOwogaW50IGdldF9tYWNoZGVwX2luZm9faWE2NCgpOworb2ZmX3Qg dmFkZHJfdG9fb2Zmc2V0X2lhNjQoKTsKICNkZWZpbmUgZ2V0X21hY2hkZXBfaW5mbyhYKQln ZXRfbWFjaGRlcF9pbmZvX2lhNjQoWCkKICNkZWZpbmUgZ2V0X3BoeXNfYmFzZShYKQlnZXRf cGh5c19iYXNlX2lhNjQoWCkKLSNkZWZpbmUgdmFkZHJfdG9fb2Zmc2V0KFgsIFkpCXZhZGRy X3RvX29mZnNldF9nZW5lcmFsKFgsIFkpCi0jZGVmaW5lIFZBRERSX1JFR0lPTihYKQkJKChY KSA+PiBSRUdJT05fU0hJRlQpCisjZGVmaW5lIHZhZGRyX3RvX29mZnNldChYLCBZKQl2YWRk cl90b19vZmZzZXRfaWE2NChYLCBZKQorI2RlZmluZSBWQUREUl9SRUdJT04oWCkJCSgoKHVu c2lnbmVkIGxvbmcpKFgpKSA+PiBSRUdJT05fU0hJRlQpCiAjZW5kaWYgICAgICAgICAgLyog aWE2NCAqLwogCiAjZGVmaW5lIE1TRyh4Li4uKQlmcHJpbnRmKHN0ZGVyciwgeCkKQEAgLTQ4 Niw2ICs1MDMsNyBAQCBzdHJ1Y3QgRHVtcEluZm8gewogCWludAkJZmxhZ19yZWFycmFuZ2U7 ICAgICAgLyogZmxhZyBvZiBjcmVhdGluZyBkdW1wZmlsZSBmcm9tCiAJCQkJCQlmbGF0dGVu ZWQgZm9ybWF0ICovCiAJbG9uZwkJcGFnZV9zaXplOyAgICAgICAgICAgLyogc2l6ZSBvZiBw YWdlICovCisJbG9uZwkJcGFnZV9zaGlmdDsKIAl1bnNpZ25lZCBsb25nIGxvbmcJbWF4X21h cG5yOyAgIC8qIG51bWJlciBvZiBwYWdlIGRlc2NyaXB0b3IgKi8KIAl1bnNpZ25lZCBsb25n ICAgc2VjdGlvbl9zaXplX2JpdHM7CiAJdW5zaWduZWQgbG9uZyAgIG1heF9waHlzbWVtX2Jp dHM7CkBAIC01NTUsNiArNTczLDcgQEAgc3RydWN0IHN5bWJvbF90YWJsZSB7CiAJdW5zaWdu ZWQgbG9uZwlzeXN0ZW1fdXRzbmFtZTsKIAl1bnNpZ25lZCBsb25nCWluaXRfdXRzX25zOwog CXVuc2lnbmVkIGxvbmcJX3N0ZXh0OworCXVuc2lnbmVkIGxvbmcJc3dhcHBlcl9wZ19kaXI7 CiAJdW5zaWduZWQgbG9uZwlwaHlzX2Jhc2U7CiAJdW5zaWduZWQgbG9uZwlub2RlX29ubGlu ZV9tYXA7CiAJdW5zaWduZWQgbG9uZwlub2RlX2RhdGE7CkBAIC02NTEsMyArNjcwLDcgQEAg c3RydWN0IGR3YXJmX2luZm8gewogCiBleHRlcm4gc3RydWN0IGR3YXJmX2luZm8JZHdhcmZf aW5mbzsKIAoraW50IHJlYWRtZW0oKTsKK3Vuc2lnbmVkIGxvbmcgbG9uZyB2YWRkcl90b19w YWRkcigpOwordW5zaWduZWQgbG9uZyBsb25nIHBhZGRyX3RvX3ZhZGRyKCk7CisK --BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kexec mailing list kexec@lists.infradead.org http://lists.infradead.org/mailman/listinfo/kexec --BoUnDaRy_StRiNg_ThAt_NeVeR_eXiStS_0705111559430000--