All of lore.kernel.org
 help / color / mirror / Atom feed
From: Takao Indoh <indou.takao@jp.fujitsu.com>
To: linux-kernel@vger.kernel.org
Cc: amwang@redhat.com, ebiederm@xmission.com, vgoyal@redhat.com,
	rdunlap@xenotime.net, lenb@kernel.org, linux-doc@vger.kernel.org,
	linux-acpi@vger.kernel.org, mjg@redhat.com
Subject: [PATCH v2] acpi: introduce "acpi_rsdp=" parameter for kdump
Date: Mon, 11 Jul 2011 11:14:41 -0400	[thread overview]
Message-ID: <E8CC3FDD41FF9Findou.takao@jp.fujitsu.com> (raw)

Revised version of the patch which was posted by Cong WANG

v1:
https://lkml.org/lkml/2011/3/10/206

There is a problem with putting the first kernel in EFI virtual mode,
it is that when the second kernel comes up it tries to initialize the
EFI again and once we have put EFI in virtual mode we can not really
do that.

Actually, EFI is not necessary for kdump, we can boot the second kernel
with "noefi" parameter, but the boot will mostly fail because 2nd kernel
cannot find RSDP.

In this situation, we introduced "acpi_rsdp=" kernel parameter, so that
kexec-tools can pass the "noefi acpi_rsdp=X" to the second kernel to make
kdump works.

Changes in v2:
* Change parameter name from "acpi_addr" to "acpi_rsdp"
* Add CONFIG_KEXEC

Signed-off-by: Takao Indoh <indou.takao@jp.fujitsu.com>
[amwang@redhat.com: Add documentation.]
---
 Documentation/kernel-parameters.txt |    5 +++++
 drivers/acpi/osl.c                  |   15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index fd248a3..b88b8f1 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -163,6 +163,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
 
 			See also Documentation/power/pm.txt, pci=noacpi
 
+	acpi_rsdp=	[ACPI,EFI,KEXEC]
+			Pass the RSDP address to the kernel, mostly used
+			on machines running EFI runtime service to boot the
+			second kernel for kdump.
+
 	acpi_apic_instance=	[ACPI, IOAPIC]
 			Format: <int>
 			2: use 2nd APIC table, if available
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 52ca964..27cd140 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -237,8 +237,23 @@ void acpi_os_vprintf(const char *fmt, va_list args)
 #endif
 }
 
+#ifdef CONFIG_KEXEC
+static unsigned long acpi_rsdp;
+static int __init setup_acpi_rsdp(char *arg)
+{
+	acpi_rsdp = simple_strtoul(arg, NULL, 16);
+	return 0;
+}
+early_param("acpi_rsdp", setup_acpi_rsdp);
+#endif
+
 acpi_physical_address __init acpi_os_get_root_pointer(void)
 {
+#ifdef CONFIG_KEXEC
+	if (acpi_rsdp)
+		return acpi_rsdp;
+#endif
+
 	if (efi_enabled) {
 		if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
 			return efi.acpi20;

             reply	other threads:[~2011-07-11 15:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-11 15:14 Takao Indoh [this message]
2011-07-11 17:23 ` [PATCH v2] acpi: introduce "acpi_rsdp=" parameter for kdump Konrad Rzeszutek Wilk
2011-07-11 17:27   ` Matthew Garrett
2011-07-12 10:30 ` Cong Wang
2011-07-12 10:30   ` Cong Wang
2011-07-12 13:31   ` Konrad Rzeszutek Wilk
2011-07-12 13:31     ` Konrad Rzeszutek Wilk
2011-07-14 22:05     ` Takao Indoh
2011-07-16 22:41       ` Len Brown

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=E8CC3FDD41FF9Findou.takao@jp.fujitsu.com \
    --to=indou.takao@jp.fujitsu.com \
    --cc=amwang@redhat.com \
    --cc=ebiederm@xmission.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjg@redhat.com \
    --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.