xen: add CONFIG item for default dom0 memory size

With being able to specify a dom0_mem value depending on host memory
size on x86 make it easy for distros to specify a default dom0 size by
adding a CONFIG_DOM0_MEM item which presets the dom0_mem boot parameter
value.

It will be used only if no dom0_mem parameter was specified in the
boot parameters.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <julien.grall@arm.com>
This commit is contained in:
Juergen Gross authored and Julien Grall committed 2018-12-14 15:33:59 +00:00
1 parent d48ef111c7
commit d2d71a5471
3 files changed
+26

No files matched your search

+7
View File
@@ -32,9 +32,12 @@ static unsigned int __initdata opt_dom0_max_vcpus;
integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
static u64 __initdata dom0_mem;
static bool __initdata dom0_mem_set;
static int __init parse_dom0_mem(const char *s)
{
dom0_mem_set = true;
dom0_mem = parse_size_and_unit(s, &s);
return *s ? -EINVAL : 0;
@@ -2114,6 +2117,10 @@ int __init construct_dom0(struct domain *d)
BUG_ON(d->domain_id != 0);
printk("*** LOADING DOMAIN 0 ***\n");
if ( !dom0_mem_set && CONFIG_DOM0_MEM[0] )
parse_dom0_mem(CONFIG_DOM0_MEM);
if ( dom0_mem <= 0 )
{
warning_add("PLEASE SPECIFY dom0_mem PARAMETER - USING 512M FOR NOW\n");
+6
View File
@@ -29,6 +29,7 @@ struct memsize {
static struct memsize __initdata dom0_size;
static struct memsize __initdata dom0_min_size;
static struct memsize __initdata dom0_max_size = { .nr_pages = LONG_MAX };
static bool __initdata dom0_mem_set;
static bool __init memsize_gt_zero(const struct memsize *sz)
{
@@ -117,6 +118,8 @@ static int __init parse_dom0_mem(const char *s)
{
int ret;
dom0_mem_set = true;
/* xen-shim uses shim_mem parameter instead of dom0_mem */
if ( pv_shim )
{
@@ -339,6 +342,9 @@ unsigned long __init dom0_compute_nr_pages(
unsigned long avail = 0, nr_pages, min_pages, max_pages;
bool need_paging;
if ( !dom0_mem_set && CONFIG_DOM0_MEM[0] )
parse_dom0_mem(CONFIG_DOM0_MEM);
for_each_node_mask ( node, dom0_nodes )
avail += avail_domheap_pages_region(node, 0, 0) +
initial_images_nrpages(node);
+13
View File
@@ -323,4 +323,17 @@ config CMDLINE_OVERRIDE
This is used to work around broken bootloaders. This should
be set to 'N' under normal conditions.
config DOM0_MEM
string "Default value for dom0_mem boot parameter"
default ""
---help---
Sets a default value for dom0_mem, e.g. "512M".
The specified string will be used for the dom0_mem parameter in
case it was not specified on the command line.
See docs/misc/xen-command-line.markdown for the supported syntax.
Leave empty if you are not sure what to specify.
endmenu
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.