mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
kexec: provide user friendly option for memory limit
kexec: Provide user friendly option for memory limit grub2 requires that the '<' character be escaped which is inconvienet for users, provide a more natural specifier. Signed-off-by: Simon Crowe <Simon.Crowe@citrix.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
This commit is contained in:
1 parent
08463297d3
commit
90288044a6
3 files changed
+20
-3
No files matched your search
@@ -136,7 +136,13 @@ command line parameter to the Xen hypervisor. It has two forms:
|
||||
|
||||
e.g. crashkernel=128M@256M
|
||||
|
||||
Regardless of which of the two forms of the crashkernel command line you
|
||||
iii) crashkernel=size,below=offset
|
||||
|
||||
This allows us to place the crash kernel within the usuable address
|
||||
space without having to worry about a specific phyiscal address.
|
||||
The '<' and 'below' options are synonymous
|
||||
|
||||
Regardless of which of the forms of the crashkernel command line you
|
||||
use, the crash kernel region should appear in /proc/iomem on x86. If it
|
||||
doesn't then either the crashkernel parameter is missing, or for some
|
||||
reason the region couldn't be placed - for instance because it is too large.
|
||||
|
||||
@@ -512,6 +512,7 @@ combination with the `low_crashinfo` command line option.
|
||||
### crashkernel
|
||||
> `= <ramsize-range>:<size>[,...][{@,<}<offset>]`
|
||||
> `= <size>[{@,<}<offset>]`
|
||||
> `= <size>,below=offset`
|
||||
|
||||
Specify sizes and optionally placement of the crash kernel reservation
|
||||
area. The `<ramsize-range>:<size>` pairs indicate how much memory to
|
||||
@@ -523,6 +524,10 @@ A trailing `@<offset>` specifies the exact address this area should be
|
||||
placed at, whereas `<` in place of `@` just specifies an upper bound of
|
||||
the address range the area should fall into.
|
||||
|
||||
< and below are synonyomous, the latter being useful for grub2 systems
|
||||
which would otherwise require escaping of the < option
|
||||
|
||||
|
||||
### credit2\_balance\_over
|
||||
> `= <integer>`
|
||||
|
||||
|
||||
+8
-2
@@ -88,7 +88,7 @@ static void *crash_heap_current = NULL, *crash_heap_end = NULL;
|
||||
/*
|
||||
* Parse command lines in the format
|
||||
*
|
||||
* crashkernel=<ramsize-range>:<size>[,...][{@,<}<address>]
|
||||
* crashkernel=<ramsize-range>:<size>[,...][{@,<,below=}<address>]
|
||||
*
|
||||
* with <ramsize-range> being of form
|
||||
*
|
||||
@@ -97,6 +97,10 @@ static void *crash_heap_current = NULL, *crash_heap_end = NULL;
|
||||
* as well as the legacy ones in the format
|
||||
*
|
||||
* crashkernel=<size>[{@,<}<address>]
|
||||
* crashkernel=<size>,below=address
|
||||
*
|
||||
* < and below are synonyomous, the latter being useful for grub2 systems
|
||||
* which would otherwise require escaping of the < option
|
||||
*/
|
||||
static void __init parse_crashkernel(const char *str)
|
||||
{
|
||||
@@ -111,7 +115,7 @@ static void __init parse_crashkernel(const char *str)
|
||||
{
|
||||
printk(XENLOG_WARNING "crashkernel: too many ranges\n");
|
||||
cur = NULL;
|
||||
str = strpbrk(str, "@<");
|
||||
str = strpbrk(str, "@,<");
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -162,6 +166,8 @@ static void __init parse_crashkernel(const char *str)
|
||||
kexec_crash_area.start = parse_size_and_unit(cur = str + 1, &str);
|
||||
else if ( *str == '<' )
|
||||
kexec_crash_area_limit = parse_size_and_unit(cur = str + 1, &str);
|
||||
else if ( !strncmp(str, ",below=", 7) )
|
||||
kexec_crash_area_limit = parse_size_and_unit(cur = str + 7, &str);
|
||||
else
|
||||
printk(XENLOG_WARNING "crashkernel: '%s' ignored\n", str);
|
||||
}
|
||||
|
||||