From: Zachary Amsden <zach@vmware.com>
To: Andrew Morton <akpm@osdl.org>
Cc: jeremy@xensource.com, linux-kernel@vger.kernel.org,
virtualization@lists.osdl.org, xen-devel@lists.xensource.com,
jeremy@goop.org, chrisw@sous-sol.org
Subject: Re: [patch 7/8] Add a bootparameter to reserve high linear address space.
Date: Thu, 03 Aug 2006 01:58:32 -0700 [thread overview]
Message-ID: <44D1BAB8.8070509@vmware.com> (raw)
In-Reply-To: <20060803004144.554d9882.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 295 bytes --]
Andrew Morton wrote:
> The comment says "must". If that's true then printing a what-you-did-wrong
> message and halting is appropriate.
>
> But whatever. The issue is flagged and I'm happy to leave it in Jeremy's
> lap.
Considering I wrote that patch, I think I should fix it -- here you go
[-- Attachment #2: fixmap-bootparam.patch --]
[-- Type: text/plain, Size: 2245 bytes --]
Subject: Add a bootparameter to reserve high linear address space.
Add a bootparameter to reserve high linear address space for hypervisors.
This is necessary to allow dynamically loaded hypervisor modules, which
might not happen until userspace is already running, and also provides a
useful tool to benchmark the performance impact of reduced lowmem address
space.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
Documentation/kernel-parameters.txt | 5 +++++
arch/i386/kernel/setup.c | 19 +++++++++++++++++++
2 files changed, 24 insertions(+)
diff -r 5bb2fc59943d Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt Thu Aug 03 01:36:13 2006 -0700
+++ b/Documentation/kernel-parameters.txt Thu Aug 03 01:36:13 2006 -0700
@@ -1357,6 +1357,11 @@ running once the system is up.
reserve= [KNL,BUGS] Force the kernel to ignore some iomem area
+ reservetop= [IA-32]
+ Format: nn[KMG]
+ Reserves a hole at the top of the kernel virtual
+ address space.
+
resume= [SWSUSP]
Specify the partition device for software suspend
diff -r 5bb2fc59943d arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c Thu Aug 03 01:36:13 2006 -0700
+++ b/arch/i386/kernel/setup.c Thu Aug 03 01:36:52 2006 -0700
@@ -160,6 +160,12 @@ static char command_line[COMMAND_LINE_SI
static char command_line[COMMAND_LINE_SIZE];
unsigned char __initdata boot_params[PARAM_SIZE];
+
+static int __init setup_reservetop(char *s)
+{
+ return 1;
+}
+__setup("reservetop", setup_reservetop);
static struct resource data_resource = {
.name = "Kernel data",
@@ -917,6 +923,17 @@ static void __init parse_cmdline_early (
else if (!memcmp(from, "vmalloc=", 8))
__VMALLOC_RESERVE = memparse(from+8, &from);
+ /*
+ * reservetop=size reserves a hole at the top of the kernel
+ * address space which a hypervisor can load into later.
+ * Needed for dynamically loaded hypervisors, so relocating
+ * the fixmap can be done before paging initialization.
+ */
+ else if (!memcmp(from, "reservetop=", 11)) {
+ unsigned long reserve = memparse(from+11, &from);
+ reserve_top_address(reserve);
+ }
+
next_char:
c = *(from++);
if (!c)
WARNING: multiple messages have this Message-ID (diff)
From: Zachary Amsden <zach@vmware.com>
To: Andrew Morton <akpm@osdl.org>
Cc: jeremy@goop.org, xen-devel@lists.xensource.com,
jeremy@xensource.com, linux-kernel@vger.kernel.org,
chrisw@sous-sol.org, virtualization@lists.osdl.org
Subject: Re: [patch 7/8] Add a bootparameter to reserve high linear address space.
Date: Thu, 03 Aug 2006 01:58:32 -0700 [thread overview]
Message-ID: <44D1BAB8.8070509@vmware.com> (raw)
In-Reply-To: <20060803004144.554d9882.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 295 bytes --]
Andrew Morton wrote:
> The comment says "must". If that's true then printing a what-you-did-wrong
> message and halting is appropriate.
>
> But whatever. The issue is flagged and I'm happy to leave it in Jeremy's
> lap.
Considering I wrote that patch, I think I should fix it -- here you go
[-- Attachment #2: fixmap-bootparam.patch --]
[-- Type: text/plain, Size: 2245 bytes --]
Subject: Add a bootparameter to reserve high linear address space.
Add a bootparameter to reserve high linear address space for hypervisors.
This is necessary to allow dynamically loaded hypervisor modules, which
might not happen until userspace is already running, and also provides a
useful tool to benchmark the performance impact of reduced lowmem address
space.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
Documentation/kernel-parameters.txt | 5 +++++
arch/i386/kernel/setup.c | 19 +++++++++++++++++++
2 files changed, 24 insertions(+)
diff -r 5bb2fc59943d Documentation/kernel-parameters.txt
--- a/Documentation/kernel-parameters.txt Thu Aug 03 01:36:13 2006 -0700
+++ b/Documentation/kernel-parameters.txt Thu Aug 03 01:36:13 2006 -0700
@@ -1357,6 +1357,11 @@ running once the system is up.
reserve= [KNL,BUGS] Force the kernel to ignore some iomem area
+ reservetop= [IA-32]
+ Format: nn[KMG]
+ Reserves a hole at the top of the kernel virtual
+ address space.
+
resume= [SWSUSP]
Specify the partition device for software suspend
diff -r 5bb2fc59943d arch/i386/kernel/setup.c
--- a/arch/i386/kernel/setup.c Thu Aug 03 01:36:13 2006 -0700
+++ b/arch/i386/kernel/setup.c Thu Aug 03 01:36:52 2006 -0700
@@ -160,6 +160,12 @@ static char command_line[COMMAND_LINE_SI
static char command_line[COMMAND_LINE_SIZE];
unsigned char __initdata boot_params[PARAM_SIZE];
+
+static int __init setup_reservetop(char *s)
+{
+ return 1;
+}
+__setup("reservetop", setup_reservetop);
static struct resource data_resource = {
.name = "Kernel data",
@@ -917,6 +923,17 @@ static void __init parse_cmdline_early (
else if (!memcmp(from, "vmalloc=", 8))
__VMALLOC_RESERVE = memparse(from+8, &from);
+ /*
+ * reservetop=size reserves a hole at the top of the kernel
+ * address space which a hypervisor can load into later.
+ * Needed for dynamically loaded hypervisors, so relocating
+ * the fixmap can be done before paging initialization.
+ */
+ else if (!memcmp(from, "reservetop=", 11)) {
+ unsigned long reserve = memparse(from+11, &from);
+ reserve_top_address(reserve);
+ }
+
next_char:
c = *(from++);
if (!c)
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
next prev parent reply other threads:[~2006-08-03 8:58 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-08-03 0:25 [patch 0/8] Basic infrastructure patches for a paravirtualized kernel Jeremy Fitzhardinge
2006-08-03 0:25 ` Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 1/8] Remove locally-defined ldt structure in favour of standard type Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 2/8] Implement always-locked bit ops, for memory shared with an SMP hypervisor Jeremy Fitzhardinge
2006-08-03 0:25 ` Jeremy Fitzhardinge
2006-08-03 0:28 ` Christoph Lameter
2006-08-03 0:35 ` Jeremy Fitzhardinge
2006-08-03 1:06 ` Christoph Lameter
2006-08-03 1:18 ` Zachary Amsden
2006-08-03 1:18 ` Zachary Amsden
2006-08-03 1:25 ` Christoph Lameter
2006-08-03 3:55 ` Andi Kleen
2006-08-03 3:55 ` Andi Kleen
2006-08-03 4:25 ` Christoph Lameter
2006-08-03 4:47 ` Andi Kleen
2006-08-03 4:47 ` Andi Kleen
2006-08-03 2:45 ` Andi Kleen
2006-08-03 2:45 ` Andi Kleen
2006-08-03 4:27 ` Christoph Lameter
2006-08-03 4:49 ` Andi Kleen
2006-08-03 5:19 ` Christoph Lameter
2006-08-03 5:25 ` Andi Kleen
2006-08-03 5:25 ` Andi Kleen
2006-08-03 5:32 ` Christoph Lameter
2006-08-03 5:39 ` Andi Kleen
2006-08-03 5:39 ` Andi Kleen
2006-08-03 5:54 ` Christoph Lameter
2006-08-03 6:02 ` Andi Kleen
2006-08-03 16:49 ` Christoph Lameter
2006-08-03 17:18 ` Chris Wright
2006-08-03 17:18 ` Chris Wright
2006-08-04 0:47 ` Andi Kleen
2006-08-04 2:16 ` Christoph Lameter
2006-08-03 0:25 ` [patch 3/8] Allow a kernel to not be in ring 0 Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 4/8] Replace sensitive instructions with macros Jeremy Fitzhardinge
2006-08-03 0:25 ` Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 5/8] Roll all the cpuid asm into one __cpuid call Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 6/8] Make __FIXADDR_TOP variable to allow it to make space for a hypervisor Jeremy Fitzhardinge
2006-08-03 0:25 ` [patch 7/8] Add a bootparameter to reserve high linear address space Jeremy Fitzhardinge
1970-01-01 0:15 ` Pavel Machek
2006-08-07 2:10 ` Andi Kleen
2006-08-07 2:10 ` Andi Kleen
2010-05-04 23:37 ` Jeremy Fitzhardinge
2010-05-04 23:37 ` Jeremy Fitzhardinge
2006-08-03 6:19 ` Andrew Morton
2006-08-03 7:33 ` Zachary Amsden
2006-08-03 7:33 ` Zachary Amsden
2006-08-03 7:41 ` Andrew Morton
2006-08-03 8:58 ` Zachary Amsden [this message]
2006-08-03 8:58 ` Zachary Amsden
2006-08-05 21:58 ` Andrew Morton
2006-08-05 21:58 ` Andrew Morton
2006-08-05 22:52 ` Zachary Amsden
2006-08-05 22:52 ` Zachary Amsden
2006-08-05 23:17 ` Rusty Russell
2006-08-05 23:17 ` Rusty Russell
2006-08-06 22:00 ` Pavel Machek
2006-08-06 22:02 ` Pavel Machek
2006-08-07 9:12 ` Pavel Machek
2006-08-03 0:25 ` [patch 8/8] Put .note.* sections into a PT_NOTE segment in vmlinux Jeremy Fitzhardinge
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=44D1BAB8.8070509@vmware.com \
--to=zach@vmware.com \
--cc=akpm@osdl.org \
--cc=chrisw@sous-sol.org \
--cc=jeremy@goop.org \
--cc=jeremy@xensource.com \
--cc=linux-kernel@vger.kernel.org \
--cc=virtualization@lists.osdl.org \
--cc=xen-devel@lists.xensource.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.