# HG changeset patch # User yamahata@xxxxxxxxxxxxx # Date 1198815094 -32400 # Node ID 70146eb02f8aa77424e5a5e9471fd223ba21b6af # Parent c5d178b2c54fb2dda200a1abb0bf49671378bd02 introduce xenheap_megabytes boot option. Now xenheap size isn't limited by DTR mapping. So we can set it larger size. PATCHNAME: xenheap_megabytes Signed-off-by: Isaku Yamahata diff -r c5d178b2c54f -r 70146eb02f8a xen/arch/ia64/xen/xensetup.c --- a/xen/arch/ia64/xen/xensetup.c Wed Dec 26 16:42:19 2007 +0900 +++ b/xen/arch/ia64/xen/xensetup.c Fri Dec 28 13:11:34 2007 +0900 @@ -75,6 +75,24 @@ unsigned long xen_pstart; unsigned long xen_pstart; void *xen_pickle_offset __read_mostly; +static void __init parse_xenheap_megabytes(char *s) +{ + unsigned long megabytes = parse_size_and_unit(s, NULL); + +#define XENHEAP_MEGABYTES_MIN 16 + if (megabytes < XENHEAP_MEGABYTES_MIN) + megabytes = XENHEAP_MEGABYTES_MIN; + +#define XENHEAP_MEGABYTES_MAX 4096 /* need more? If so, + __pickle()/__unpickle() must be + revised. */ + if (megabytes > XENHEAP_MEGABYTES_MAX) + megabytes = XENHEAP_MEGABYTES_MAX; + + xenheap_size = megabytes * 1024 * 1024; +} +custom_param("xenheap_megabytes", parse_xenheap_megabytes); + static int __init xen_count_pages(u64 start, u64 end, void *arg) {