From: Horms <horms@verge.net.au>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH 2/2] [IA64] Add phys_efi command line option
Date: Wed, 07 Feb 2007 06:24:23 +0000 [thread overview]
Message-ID: <20070207062420.GB29959@verge.net.au> (raw)
Hi,
I am resending this patch, which builds on the patch sent earlier
in this thread to allow physical mode SAL/EFI to work.
--
Simon Horman (Horms)
horms@verge.net.au
http://verge.net.au/~horms/
[IA64] Add phys_efi command line option
This patch adds a command line option, phys_efi, which forces
EFI calls to stay in physical mode. This is mainly for the purpose
of being able to test the physical mode code path.
I believe that it may also be needed in order to kexec between
OS/hypervisors with different memory layouts, such as Linux->Xen and vice
versa, which have 0xe000... and 0xf000... as their page offset respecively.
However, I am still working on verifying this.
Signed-Off-By: Simon Horman <horms@verge.net.au>
Documentation/kernel-parameters.txt | 4 ++++
arch/ia64/kernel/efi.c | 9 ++++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
Index: linux-2.6/arch/ia64/kernel/efi.c
=================================--- linux-2.6.orig/arch/ia64/kernel/efi.c 2007-02-07 11:53:10.000000000 +0900
+++ linux-2.6/arch/ia64/kernel/efi.c 2007-02-07 13:14:15.000000000 +0900
@@ -414,6 +414,7 @@
u64 efi_desc_size;
char *cp, vendor[100] = "unknown";
extern char saved_command_line[];
+ int phys_efi = 0;
int i;
/* it's too early to be able to use the standard kernel command line support... */
@@ -424,6 +425,9 @@
max_addr = GRANULEROUNDDOWN(memparse(cp + 9, &cp));
} else if (memcmp(cp, "min_addr=", 9) = 0) {
min_addr = GRANULEROUNDDOWN(memparse(cp + 9, &cp));
+ } else if (memcmp(cp, "phys_efi", 8) = 0) {
+ phys_efi = 1;
+ cp+=8;
} else {
while (*cp != ' ' && *cp)
++cp;
@@ -528,7 +532,10 @@
#endif
efi_map_pal_code();
- efi_enter_virtual_mode();
+ if (phys_efi)
+ printk("Forcing EFI to stay in physical mode\n");
+ else
+ efi_enter_virtual_mode();
}
void
Index: linux-2.6/Documentation/kernel-parameters.txt
=================================--- linux-2.6.orig/Documentation/kernel-parameters.txt 2007-02-07 11:52:41.000000000 +0900
+++ linux-2.6/Documentation/kernel-parameters.txt 2007-02-07 11:53:11.000000000 +0900
@@ -1276,6 +1276,10 @@
pg. [PARIDE]
See Documentation/paride.txt.
+ phys_efi [IA-64] Force EFI, PAL and SAL calls to be made
+ in physical mode. Otherwise, if possible virtual mode
+ calls are made.
+
pirq= [SMP,APIC] Manual mp-table setup
See Documentation/i386/IO-APIC.txt.
next reply other threads:[~2007-02-07 6:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-07 6:24 Horms [this message]
2007-02-08 21:48 ` [PATCH 2/2] [IA64] Add phys_efi command line option Jay Lan
2007-02-09 0:41 ` Horms
2007-02-09 2:16 ` Jack Steiner
2007-02-09 3:38 ` Horms
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=20070207062420.GB29959@verge.net.au \
--to=horms@verge.net.au \
--cc=linux-ia64@vger.kernel.org \
/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