From: Amerigo Wang <amwang@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: Takao Indoh <tindoh@redhat.com>, WANG Cong <amwang@redhat.com>,
"Eric W. Biederman" <ebiederm@xmission.com>,
Vivek Goyal <vgoyal@redhat.com>,
Randy Dunlap <rdunlap@xenotime.net>, Len Brown <lenb@kernel.org>,
linux-doc@vger.kernel.org, linux-acpi@vger.kernel.org
Subject: [Patch] acpi: introduce "acpi_addr=" parameter for kdump
Date: Thu, 10 Mar 2011 22:10:43 +0800 [thread overview]
Message-ID: <1299766243-494-1-git-send-email-amwang@redhat.com> (raw)
From: Takao Indoh <tindoh@redhat.com>
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_addr=" kernel parameter,
so that kexec-tools can pass the "noefi acpi_addr=X" to the second kernel
to make kdump works.
Signed-off-by: Takao Indoh <tindoh@redhat.com>
[amwang@redhat.com: Add documentation.]
Signed-off-by: WANG Cong <amwang@redhat.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
Cc: Vivek Goyal <vgoyal@redhat.com>
---
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index f4a04c0..0fbbdc6 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_addr= [ACPI,EFI]
+ 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 c90c76a..06dfec0 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -238,8 +238,19 @@ void acpi_os_vprintf(const char *fmt, va_list args)
#endif
}
+static unsigned long acpi_addr;
+static int __init setup_acpi_addr(char *arg)
+{
+ acpi_addr = simple_strtoul(arg, NULL, 16);
+ return 0;
+}
+early_param("acpi_addr", setup_acpi_addr);
+
acpi_physical_address __init acpi_os_get_root_pointer(void)
{
+ if (acpi_addr)
+ return acpi_addr;
+
if (efi_enabled) {
if (efi.acpi20 != EFI_INVALID_TABLE_ADDR)
return efi.acpi20;
next reply other threads:[~2011-03-10 14:13 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-10 14:10 Amerigo Wang [this message]
2011-03-10 14:39 ` [Patch] acpi: introduce "acpi_addr=" parameter for kdump Vivek Goyal
2011-03-10 15:59 ` Takao Indoh
2011-03-10 17:50 ` Eric W. Biederman
2011-03-10 18:50 ` Matthew Garrett
2011-03-21 6:40 ` Cong Wang
2011-03-21 8:05 ` Eric W. Biederman
2011-03-21 15:56 ` Vivek Goyal
2011-03-22 6:31 ` Cong Wang
2011-03-10 16:26 ` Randy Dunlap
2011-03-21 6:43 ` Cong Wang
2011-03-23 4:28 ` Len Brown
2011-03-23 4:36 ` Eric W. Biederman
2011-03-23 17:40 ` Matthew Garrett
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=1299766243-494-1-git-send-email-amwang@redhat.com \
--to=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=rdunlap@xenotime.net \
--cc=tindoh@redhat.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).