Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750782AbVKIOIR (ORCPT ); Wed, 9 Nov 2005 09:08:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750797AbVKIOIR (ORCPT ); Wed, 9 Nov 2005 09:08:17 -0500 Received: from public.id2-vpn.continvity.gns.novell.com ([195.33.99.129]:8240 "EHLO emea1-mh.id2.novell.com") by vger.kernel.org with ESMTP id S1750782AbVKIOIQ (ORCPT ); Wed, 9 Nov 2005 09:08:16 -0500 Message-Id: <43721119.76F0.0078.0@novell.com> X-Mailer: Novell GroupWise Internet Agent 7.0 Date: Wed, 09 Nov 2005 15:09:13 +0100 From: "Jan Beulich" To: Subject: [PATCH 14/39] NLKD - kernel trace buffer access References: <43720DAE.76F0.0078.0@novell.com> <43720E2E.76F0.0078.0@novell.com> <43720E72.76F0.0078.0@novell.com> <43720EAF.76F0.0078.0@novell.com> <43720F5E.76F0.0078.0@novell.com> <43720F95.76F0.0078.0@novell.com> <43720FBA.76F0.0078.0@novell.com> <43720FF6.76F0.0078.0@novell.com> <43721024.76F0.0078.0@novell.com> <4372105B.76F0.0078.0@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part43617F19.0__=" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 7692 Lines: 117 This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part43617F19.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Debug extension implementation for NLKD to access the kernel trace buffer. Signed-Off-By: Jan Beulich (actual patch attached) --=__Part43617F19.0__= Content-Type: application/octet-stream; name="linux-2.6.14-nlkd-printk.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="linux-2.6.14-nlkd-printk.patch" RGVidWcgZXh0ZW5zaW9uIGltcGxlbWVudGF0aW9uIGZvciBOTEtEIHRvIGFjY2VzcyB0aGUga2Vy bmVsIHRyYWNlCmJ1ZmZlci4KClNpZ25lZC1PZmYtQnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBu b3ZlbGwuY29tPgoKSW5kZXg6IDIuNi4xNC1ubGtkL2tlcm5lbC9wcmludGsuYwo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSAyLjYuMTQtbmxrZC5vcmlnL2tlcm5lbC9wcmludGsuYwkyMDA1LTExLTA5IDEwOjQwOjE3 LjAwMDAwMDAwMCArMDEwMAorKysgMi42LjE0LW5sa2Qva2VybmVsL3ByaW50ay5jCTIwMDUtMTEt MDQgMTY6MTk6MzQuMDAwMDAwMDAwICswMTAwCkBAIC0xMDMyLDMgKzEwMzIsMTkwIEBAIGludCBw cmludGtfcmF0ZWxpbWl0KHZvaWQpCiAJCQkJcHJpbnRrX3JhdGVsaW1pdF9idXJzdCk7CiB9CiBF WFBPUlRfU1lNQk9MKHByaW50a19yYXRlbGltaXQpOworCisjaWYgZGVmaW5lZChDT05GSUdfUFJJ TlRLKSAmJiBkZWZpbmVkKENPTkZJR19OTEtEKQorIyBpbmNsdWRlIDxsaW51eC9jdHlwZS5oPgor IyBpbmNsdWRlIDxsaW51eC9ubGtkLmg+CisKK3N0YXRpYyBpbnQgbWF0Y2godW5zaWduZWQgbG9u ZyBzdGFydCwgdW5zaWduZWQgbG9uZyBlbmQsIGNvbnN0IGNoYXIgKnBhdHRlcm4sIHNpemVfdCBs ZW4pCit7CisJdW5zaWduZWQgbG9uZyBzdG9wOworCisJc3RhcnQgJj0gTE9HX0JVRl9NQVNLOwor CXN0b3AgPSBlbmQgJj0gTE9HX0JVRl9NQVNLOworCWlmIChzdG9wIDwgc3RhcnQpCisJCXN0b3Ag PSBsb2dfYnVmX2xlbjsKKwlmb3IgKDs7KSB7CisJCWNvbnN0IGNoYXIgKnA7CisKKwkJd2hpbGUg KCgoZW5kIC0gc3RhcnQpICYgTE9HX0JVRl9NQVNLKSA+PSBsZW4KKwkJICAgICAgICYmIChwID0g bWVtY2hyKGxvZ19idWYgKyBzdGFydCwgKnBhdHRlcm4sIHN0b3AgLSBzdGFydCkpICE9IE5VTEwp IHsKKwkJCXVuc2lnbmVkIGxvbmcgd2hlcmUgPSBwIC0gbG9nX2J1ZjsKKworCQkJaWYgKGxlbiA+ IHN0b3AgLSB3aGVyZQorCQkJICAgID8gIW1lbWNtcChwLCBwYXR0ZXJuLCBzdG9wIC0gd2hlcmUp CisJCQkgICAgICAmJiAhbWVtY21wKHAgKyAoc3RvcCAtIHdoZXJlKSwKKwkJCSAgICAgICAgICAg ICAgICAgcGF0dGVybiArIChzdG9wIC0gd2hlcmUpLAorCQkJICAgICAgICAgICAgICAgICBsZW4g LSAoc3RvcCAtIHdoZXJlKSkKKwkJCSAgICA6ICFtZW1jbXAocCwgcGF0dGVybiwgbGVuKSkKKwkJ CQkJcmV0dXJuIDE7CisJCQlzdGFydCA9IHdoZXJlICsgMTsKKwkJfQorCQlpZiAoZW5kID49IHN0 YXJ0KQorCQkJcmV0dXJuIDA7CisJCXN0YXJ0ID0gMDsKKwkJc3RvcCA9IGVuZDsKKwl9Cit9CisK K3N0YXRpYyB2b2lkIGRvX21ncmVwKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGxvbmcgc2tpcCwgbG9u ZyBjb3VudCkKK3sKKwlpbnQgYmFja3dhcmQgPSAxOworCXVuc2lnbmVkIGxvbmcgbGluZSwgY3Vy OworCXNpemVfdCBsZW4gPSBwYXR0ZXJuID8gc3RybGVuKHBhdHRlcm4pIDogMDsKKworCWlmIChj b3VudCA9PSAwKQorCQljb3VudCA9IDU7CisJZWxzZSBpZiAoY291bnQgPCAwKSB7CisJCWNvdW50 ID0gLWNvdW50OworCQliYWNrd2FyZCA9IDA7CisJfQorCWlmIChza2lwIDwgMCkgeworCQlza2lw ID0gLXNraXA7CisJCWJhY2t3YXJkID0gMDsKKwl9CisjZGVmaW5lIExPR19JRFhfTUFUQ0goaWR4 MSwgaWR4MikgKCEoKChpZHgxKSBeIChpZHgyKSkgJiBMT0dfQlVGX01BU0spKQorCWlmIChiYWNr d2FyZCkgeworCQkvKiBTZWFyY2ggZnJvbSBlbmQuICAqLworCQlpbnQgZW5kOworCisJCXNraXAg Kz0gY291bnQgLSAxOworCQlsaW5lID0gbG9nX2VuZDsKKwkJZG8geworCQkJZm9yIChjdXIgPSBs aW5lIC0gMTsgIUxPR19JRFhfTUFUQ0goY3VyLCBsb2dfZW5kKSAmJiBMT0dfQlVGKGN1cikgJiYg TE9HX0JVRihjdXIpID09ICdcbic7IC0tY3VyKQorCQkJCTsKKwkJCWZvciAoOyAhKGVuZCA9IExP R19JRFhfTUFUQ0goY3VyLCBsb2dfZW5kKSB8fCAhTE9HX0JVRihjdXIpKSAmJiBMT0dfQlVGKGN1 cikgIT0gJ1xuJzsgLS1jdXIpCisJCQkJOworCQkJaWYgKGxlbiAmJiAhbWF0Y2goY3VyICsgMSwg bGluZSwgcGF0dGVybiwgbGVuKSkKKwkJCQkrK3NraXA7CisJCQlsaW5lID0gY3VyICsgMTsKKwkJ fSB3aGlsZSAoc2tpcC0tICYmICFlbmQpOworCQlpZiAoKytza2lwIDwgY291bnQpCisJCQljb3Vu dCAtPSBza2lwOworCQllbHNlCisJCQljb3VudCA9IDA7CisJfQorCWVsc2UgeworCQkvKiBTZWFy Y2ggZnJvbSBzdGFydC4gICovCisJCWZvciAoY3VyID0gTE9HX0JVRihsb2dfZW5kKSA/IGxvZ19l bmQgOiAwOyBsaW5lID0gY3VyLCBza2lwOyAtLXNraXApIHsKKwkJCXdoaWxlIChMT0dfQlVGKGN1 cikgIT0gJ1xuJykKKwkJCQlpZiAoIUxPR19CVUYoY3VyKSB8fCBMT0dfSURYX01BVENIKCsrY3Vy LCBsb2dfZW5kKSkKKwkJCQkJcmV0dXJuOworCQkJd2hpbGUgKExPR19CVUYoY3VyKSA9PSAnXG4n KQorCQkJCWlmICghTE9HX0JVRihjdXIpIHx8IExPR19JRFhfTUFUQ0goKytjdXIsIGxvZ19lbmQp KQorCQkJCQlyZXR1cm47CisJCQlpZiAobGVuICYmICFtYXRjaChsaW5lLCBjdXIsIHBhdHRlcm4s IGxlbikpCisJCQkJKytza2lwOworCQl9CisJfQorCXdoaWxlIChjb3VudCkgeworCQlmb3IgKGN1 ciA9IGxpbmU7IExPR19CVUYoY3VyKSAmJiBMT0dfQlVGKGN1cikgIT0gJ1xuJzsgKytjdXIpCisJ CQlpZiAoTE9HX0lEWF9NQVRDSChjdXIgKyAxLCAwKSkgeworCQkJCWZvciAoY3VyID0gMDsgTE9H X0JVRihjdXIpICYmIExPR19CVUYoY3VyKSAhPSAnXG4nOyArK2N1cikKKwkJCQkJaWYgKExPR19J RFhfTUFUQ0goY3VyICsgMSwgbGluZSkpCisJCQkJCQlicmVhazsKKwkJCQlicmVhazsKKwkJCX0K KwkJaWYoIWxlbiB8fCBtYXRjaChsaW5lLCBjdXIsIHBhdHRlcm4sIGxlbikpIHsKKwkJCWlmIChj dXIgPCBsaW5lKSB7CisJCQkJbmxrZEV4dFByaW50ZigiJS4qcyIsIGxvZ19idWZfbGVuIC0gKGlu dCkobGluZSAmIExPR19CVUZfTUFTSyksICZMT0dfQlVGKGxpbmUpKTsKKwkJCQlubGtkRXh0UHJp bnRmKCIlLipzXG4iLCAoaW50KWN1ciwgbG9nX2J1Zik7CisJCQl9CisJCQllbHNlCisJCQkJbmxr ZEV4dFByaW50ZigiJS4qc1xuIiwgKGludCkoY3VyIC0gbGluZSksICZMT0dfQlVGKGxpbmUpKTsK KwkJCS0tY291bnQ7CisJCX0KKwkJaWYgKExPR19CVUYoY3VyKSAhPSAnXG4nKQorCQkJYnJlYWs7 CisJCWZvciAobGluZSA9IGN1ciArIDE7IExPR19CVUYobGluZSkgPT0gJ1xuJzsgKytsaW5lKQor CQkJOworCX0KKyN1bmRlZiBMT0dfSURYX01BVENICit9CisKK3N0YXRpYyBjaGFyICpza2lwQ29t bWEoY2hhciAqcykgeworCXdoaWxlICgqcyAmJiBpc3NwYWNlKCpzKSkKKwkJKytzOworCWlmICgq cyA9PSAnOycgfHwgKnMgPT0gJywnKQorCQkrK3M7CisJd2hpbGUgKCpzICYmIGlzc3BhY2UoKnMp KQorCQkrK3M7CisJcmV0dXJuIHM7Cit9CisKKy8qCisgKiAhZG1lc2cgW1s8IyB0byBza2lwPjtd PCMgb2YgbGluZXM+XQorICovCitzdGF0aWMgdm9pZCBkYmd4dF9kbWVzZyh2b2lkICpwYXR0ZXJu LCBjb25zdCBjaGFyICpjb21tYW5kKSB7CisJbG9uZyBza2lwID0gMCwgY291bnQgPSAwOworCisJ aWYgKCFjb21tYW5kKQorCQlyZXR1cm47CisJaWYgKCFwYXR0ZXJuICYmICpjb21tYW5kID09ICc/ JykgeworCQlubGtkRXh0T3V0cHV0U3RyaW5nKCJkbWVzZyBbWzwjIHRvIHNraXA+XSA8IyBvZiBl bnRyaWVzPl0iKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoKmNvbW1hbmQpIHsKKwkJY2hhciAqdGFp bDsKKworCQlza2lwID0gc2ltcGxlX3N0cnRvbChjb21tYW5kLCAmdGFpbCwgMCk7CisJCWlmICgq KHRhaWwgPSBza2lwQ29tbWEodGFpbCkpKQorCQkJY291bnQgPSBzaW1wbGVfc3RydG9sKHRhaWws IE5VTEwsIDApOworCQllbHNlIHsKKwkJCWNvdW50ID0gc2tpcDsKKwkJCXNraXAgPSAwOworCQl9 CisJfQorCWRvX21ncmVwKHBhdHRlcm4sIHNraXAsIGNvdW50KTsKK30KKworLyoKKyAqICFtZ3Jl cCA8bWF0Y2ggc3RyaW5nPiBbWzwjIHRvIHNraXA+XTs8IyBvZiBsaW5lcz5dCisgKi8KK3N0YXRp YyB2b2lkIGRiZ3h0X21ncmVwKHZvaWQgKnVudXNlZCwgY29uc3QgY2hhciAqY29tbWFuZCkgewor CWlmICghY29tbWFuZCkKKwkJcmV0dXJuOworCWlmICghc3RyY21wKGNvbW1hbmQsICI/IikpIHsK KwkJbmxrZEV4dE91dHB1dFN0cmluZygibWdyZXAgPG1hdGNoPiBbWzwjIHRvIHNraXA+XSA8IyBv ZiBlbnRyaWVzPl0iKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoKmNvbW1hbmQpIHsKKwkJY2hhciBw YXR0ZXJuWzI1Nl0sICpkc3Q7CisJCWNoYXIgcXVvdGUgPSBzdHJjaHIoIlwiXCciLCAqY29tbWFu ZCkgIT0gTlVMTCA/ICpjb21tYW5kKysgOiAwOworCisJCWZvciAoZHN0ID0gcGF0dGVybjsgKmNv bW1hbmQgJiYgKHF1b3RlID8gKmNvbW1hbmQgIT0gcXVvdGUgOiAhaXNzcGFjZSgqY29tbWFuZCkp OyArK2NvbW1hbmQpCisJCQlpZihkc3QgPCBwYXR0ZXJuICsgQVJSQVlfU0laRShwYXR0ZXJuKSAt IDEpCisJCQkJKmRzdCsrID0gKmNvbW1hbmQ7CisJCSpkc3QgPSAwOworCQlpZiAoKmNvbW1hbmQp CisJCQkrK2NvbW1hbmQ7CisJCXdoaWxlICgqY29tbWFuZCAmJiBpc3NwYWNlKCpjb21tYW5kKSkK KwkJCSsrY29tbWFuZDsKKwkJZGJneHRfZG1lc2coKHZvaWQgKilwYXR0ZXJuLCBjb21tYW5kKTsK Kwl9Cit9CisKK3N0YXRpYyBUSElTX01PRFVMRV9JRChwcmludGtNb2R1bGVJZCk7CitOTEtEX0VY VEVOU0lPTihkbWVzZywKKwlkYmd4dF9kbWVzZywKKwlOVUxMLAorCXByaW50a01vZHVsZUlkLAor CSJEaXNwbGF5IHRyYWNlIGJ1ZmZlciByZWNvcmRzIiwKKwkwKTsKK05MS0RfRVhURU5TSU9OKG1n cmVwLAorCWRiZ3h0X21ncmVwLAorCU5VTEwsCisJcHJpbnRrTW9kdWxlSWQsCisJIkdyZXAgdHJh Y2UgYnVmZmVyIHJlY29yZHMiLAorCTApOworI2VuZGlmCg== --=__Part43617F19.0__=-- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/