From: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com>
To: linuxppc-dev <linuxppc-dev@ozlabs.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Anton Blanchard <anton@samba.org>,
Amerigo Wang <amwang@redhat.com>,
Kexec-ml <kexec@lists.infradead.org>,
Milton Miller <miltonm@bga.com>, Haren Myneni <hbabu@us.ibm.com>,
Randy Dunlap <rdunlap@xenotime.net>,
Paul Mackerras <paulus@samba.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Vivek Goyal <vgoyal@redhat.com>,
Ananth Narayan <ananth@in.ibm.com>
Subject: [RFC PATCH v7 06/10] fadump: Add PT_NOTE program header for vmcoreinfo
Date: Thu, 16 Feb 2012 16:44:53 +0530 [thread overview]
Message-ID: <20120216111452.4733.91579.stgit@mars> (raw)
In-Reply-To: <20120216111050.4733.38034.stgit@mars>
From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Introduce a PT_NOTE program header that points to physical address of
vmcoreinfo_note buffer declared in kernel/kexec.c. The vmcoreinfo
note buffer is populated during crash_fadump() at the time of system
crash.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
---
arch/powerpc/kernel/fadump.c | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cab56e7..5689954 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -814,6 +814,19 @@ static void fadump_setup_crash_memory_ranges(void)
}
}
+/*
+ * If the given physical address falls within the boot memory region then
+ * return the relocated address that points to the dump region reserved
+ * for saving initial boot memory contents.
+ */
+static inline unsigned long fadump_relocate(unsigned long paddr)
+{
+ if (paddr > RMA_START && paddr < fw_dump.boot_memory_size)
+ return fdm.rmr_region.destination_address + paddr;
+ else
+ return paddr;
+}
+
static int fadump_create_elfcore_headers(char *bufp)
{
struct elfhdr *elf;
@@ -845,6 +858,22 @@ static int fadump_create_elfcore_headers(char *bufp)
(elf->e_phnum)++;
+ /* setup ELF PT_NOTE for vmcoreinfo */
+ phdr = (struct elf_phdr *)bufp;
+ bufp += sizeof(struct elf_phdr);
+ phdr->p_type = PT_NOTE;
+ phdr->p_flags = 0;
+ phdr->p_vaddr = 0;
+ phdr->p_align = 0;
+
+ phdr->p_paddr = fadump_relocate(paddr_vmcoreinfo_note());
+ phdr->p_offset = phdr->p_paddr;
+ phdr->p_memsz = vmcoreinfo_max_size;
+ phdr->p_filesz = vmcoreinfo_max_size;
+
+ /* Increment number of program headers. */
+ (elf->e_phnum)++;
+
/* setup PT_LOAD sections. */
for (i = 0; i < crash_mem_ranges; i++) {
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com>
To: linuxppc-dev <linuxppc-dev@ozlabs.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Anton Blanchard <anton@samba.org>,
Amerigo Wang <amwang@redhat.com>,
Kexec-ml <kexec@lists.infradead.org>,
Milton Miller <miltonm@bga.com>,
Randy Dunlap <rdunlap@xenotime.net>,
Paul Mackerras <paulus@samba.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Vivek Goyal <vgoyal@redhat.com>
Subject: [RFC PATCH v7 06/10] fadump: Add PT_NOTE program header for vmcoreinfo
Date: Thu, 16 Feb 2012 16:44:53 +0530 [thread overview]
Message-ID: <20120216111452.4733.91579.stgit@mars> (raw)
In-Reply-To: <20120216111050.4733.38034.stgit@mars>
From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Introduce a PT_NOTE program header that points to physical address of
vmcoreinfo_note buffer declared in kernel/kexec.c. The vmcoreinfo
note buffer is populated during crash_fadump() at the time of system
crash.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
---
arch/powerpc/kernel/fadump.c | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cab56e7..5689954 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -814,6 +814,19 @@ static void fadump_setup_crash_memory_ranges(void)
}
}
+/*
+ * If the given physical address falls within the boot memory region then
+ * return the relocated address that points to the dump region reserved
+ * for saving initial boot memory contents.
+ */
+static inline unsigned long fadump_relocate(unsigned long paddr)
+{
+ if (paddr > RMA_START && paddr < fw_dump.boot_memory_size)
+ return fdm.rmr_region.destination_address + paddr;
+ else
+ return paddr;
+}
+
static int fadump_create_elfcore_headers(char *bufp)
{
struct elfhdr *elf;
@@ -845,6 +858,22 @@ static int fadump_create_elfcore_headers(char *bufp)
(elf->e_phnum)++;
+ /* setup ELF PT_NOTE for vmcoreinfo */
+ phdr = (struct elf_phdr *)bufp;
+ bufp += sizeof(struct elf_phdr);
+ phdr->p_type = PT_NOTE;
+ phdr->p_flags = 0;
+ phdr->p_vaddr = 0;
+ phdr->p_align = 0;
+
+ phdr->p_paddr = fadump_relocate(paddr_vmcoreinfo_note());
+ phdr->p_offset = phdr->p_paddr;
+ phdr->p_memsz = vmcoreinfo_max_size;
+ phdr->p_filesz = vmcoreinfo_max_size;
+
+ /* Increment number of program headers. */
+ (elf->e_phnum)++;
+
/* setup PT_LOAD sections. */
for (i = 0; i < crash_mem_ranges; i++) {
WARNING: multiple messages have this Message-ID (diff)
From: Mahesh J Salgaonkar <mahesh@linux.vnet.ibm.com>
To: linuxppc-dev <linuxppc-dev@ozlabs.org>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Amerigo Wang <amwang@redhat.com>,
Kexec-ml <kexec@lists.infradead.org>,
Milton Miller <miltonm@bga.com>, Haren Myneni <hbabu@us.ibm.com>,
Randy Dunlap <rdunlap@xenotime.net>,
Paul Mackerras <paulus@samba.org>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Ananth Narayan <ananth@in.ibm.com>,
Vivek Goyal <vgoyal@redhat.com>,
Anton Blanchard <anton@samba.org>
Subject: [RFC PATCH v7 06/10] fadump: Add PT_NOTE program header for vmcoreinfo
Date: Thu, 16 Feb 2012 16:44:53 +0530 [thread overview]
Message-ID: <20120216111452.4733.91579.stgit@mars> (raw)
In-Reply-To: <20120216111050.4733.38034.stgit@mars>
From: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Introduce a PT_NOTE program header that points to physical address of
vmcoreinfo_note buffer declared in kernel/kexec.c. The vmcoreinfo
note buffer is populated during crash_fadump() at the time of system
crash.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
---
arch/powerpc/kernel/fadump.c | 29 +++++++++++++++++++++++++++++
1 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c
index cab56e7..5689954 100644
--- a/arch/powerpc/kernel/fadump.c
+++ b/arch/powerpc/kernel/fadump.c
@@ -814,6 +814,19 @@ static void fadump_setup_crash_memory_ranges(void)
}
}
+/*
+ * If the given physical address falls within the boot memory region then
+ * return the relocated address that points to the dump region reserved
+ * for saving initial boot memory contents.
+ */
+static inline unsigned long fadump_relocate(unsigned long paddr)
+{
+ if (paddr > RMA_START && paddr < fw_dump.boot_memory_size)
+ return fdm.rmr_region.destination_address + paddr;
+ else
+ return paddr;
+}
+
static int fadump_create_elfcore_headers(char *bufp)
{
struct elfhdr *elf;
@@ -845,6 +858,22 @@ static int fadump_create_elfcore_headers(char *bufp)
(elf->e_phnum)++;
+ /* setup ELF PT_NOTE for vmcoreinfo */
+ phdr = (struct elf_phdr *)bufp;
+ bufp += sizeof(struct elf_phdr);
+ phdr->p_type = PT_NOTE;
+ phdr->p_flags = 0;
+ phdr->p_vaddr = 0;
+ phdr->p_align = 0;
+
+ phdr->p_paddr = fadump_relocate(paddr_vmcoreinfo_note());
+ phdr->p_offset = phdr->p_paddr;
+ phdr->p_memsz = vmcoreinfo_max_size;
+ phdr->p_filesz = vmcoreinfo_max_size;
+
+ /* Increment number of program headers. */
+ (elf->e_phnum)++;
+
/* setup PT_LOAD sections. */
for (i = 0; i < crash_mem_ranges; i++) {
next prev parent reply other threads:[~2012-02-16 11:16 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-16 11:14 [RFC PATCH v7 00/10] fadump: Firmware-assisted dump support for Powerpc Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` [RFC PATCH v7 01/10] fadump: Add documentation for firmware-assisted dump Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` [RFC PATCH v7 02/10] fadump: Reserve the memory for firmware assisted dump Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` [RFC PATCH v7 03/10] fadump: Register " Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-20 0:02 ` Paul Mackerras
2012-02-20 0:02 ` Paul Mackerras
2012-02-20 0:02 ` Paul Mackerras
2012-02-20 12:15 ` [UPDATED] " Mahesh J Salgaonkar
2012-02-20 12:15 ` Mahesh J Salgaonkar
2012-02-20 12:15 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` [RFC PATCH v7 04/10] fadump: Initialize elfcore header and add PT_LOAD program headers Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` [RFC PATCH v7 05/10] fadump: Convert firmware-assisted cpu state dump data into elf notes Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar [this message]
2012-02-16 11:14 ` [RFC PATCH v7 06/10] fadump: Add PT_NOTE program header for vmcoreinfo Mahesh J Salgaonkar
2012-02-16 11:14 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` [RFC PATCH v7 07/10] fadump: Introduce cleanup routine to invalidate /proc/vmcore Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` [RFC PATCH v7 08/10] fadump: Invalidate registration and release reserved memory for general use Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` [RFC PATCH v7 09/10] fadump: Invalidate the fadump registration during machine shutdown Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` [RFC PATCH v7 10/10] fadump: Remove the phyp assisted dump code Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-16 11:15 ` Mahesh J Salgaonkar
2012-02-19 23:47 ` [RFC PATCH v7 00/10] fadump: Firmware-assisted dump support for Powerpc Paul Mackerras
2012-02-19 23:47 ` Paul Mackerras
2012-02-19 23:47 ` Paul Mackerras
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120216111452.4733.91579.stgit@mars \
--to=mahesh@linux.vnet.ibm.com \
--cc=amwang@redhat.com \
--cc=ananth@in.ibm.com \
--cc=anton@samba.org \
--cc=benh@kernel.crashing.org \
--cc=ebiederm@xmission.com \
--cc=hbabu@us.ibm.com \
--cc=kexec@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@ozlabs.org \
--cc=miltonm@bga.com \
--cc=paulus@samba.org \
--cc=rdunlap@xenotime.net \
--cc=vgoyal@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.