**NOTE**: This obviates the need for lowmem_emergency_pool.
Unpriv guests no longer need to be able to allocate memory
below 4GB for PAE PDPTs.
Signed-off-by: Keir Fraser <keir@xensource.com>
On the ES7000 when Dom0 boots up with all of system memory and you try
to bring up a DomU with more than 2GB of memory, xend times out before
the memory is freed causing the domain not to be created. This patch
increases the timeout depending on the amount of memory that needs to be
freed. It also places a cap on the sleep time so that it does not grow
without a limit. This fixes bug# 650
http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=3D650
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>
into a context structure. This context can then be handed to
callback operations.
Based on an original patch from Mats Petersson <mats.petersson@amd.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
with command-specific request structures. It aligns the ACM
hypercalls with the way parameters are passed in the event channel
hypercalls.
Advantages include backward-compatibility regarding old guests when
new calls are added and clarity of the code.
Signed-off by: Reiner Sailer <sailer@us.ibm.com>
This avoids using zero to indicate 'undefined'. Instead we use
an explicit boolean to indicate whether suitable defaults should
be used. As well as making the logic clearer (I believe) it also
avoids problems if anyone ever explicitly specifies virt_base
(and also elf_paddr_offset) as zero.
Signed-off-by: Keir Fraser <keir@xensource.com>
to prevent xend crashign (when Aravindh's latest patch is
applied) and breaks ia64. Also, ensure we set a reasonable
default for elf_paddr_offset.
Signed-off-by: Keir Fraser <keir@xensource.com>
pgdir. This is required for Xen to be able to insert its own protected
mappings. At the same time, clean up 32b and pae pagetable-size
calculations to use the helper macro already used for x86/64.
Based on an original patch from Bruce Rogers at Novell.
Signed-off-by: Keir Fraser <keir@xensource.com>
checks to see if they have been set correctly. We found that on
multi-proc systems, it takes a certain amount of time for the number of
vcpus to change.
This patch checks the number of vcpus inside a loop until it is correct
or 20 seconds elapse, whichever happens first. If after 20 seconds the
number of vcpus is not changed correctly, an error is raised.
Signed-off-by: Rajagopalan Subrahmanian <raj.subrahmanian@unisys.com>
This patch calculates the overhead needed for HVM domains. If HVM is
supported by the hardware, I add a little ballooning overhead to
paravirtualized VMs also, to avoid low-memory situations. (There are
various unchecked alloc_domheap_pages calls in shadow*.c that I am
trying to avoid tripping over for now...) The values in this patch work
fine on 32 bit; I may update them later based on feedback and/or testing
on 64 bit.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
When a domain (whether para- or fully-virtualized) reports how much
overhead memory it requires (via getDomainMemory in image.py), all such
memory was immediately allocated to the domain itself. This is
certainly incorrect for HVM domains, since additional
increase_reservation calls are made later in qemu. Since all ballooned
memory is already taken, qemu will fail. The fix is to treat the
requested memory size and the overhead size as separate values. The
requested memory size is immediately allocated to the new domain; the
overhead is left unallocated for whatever else might need it later.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
the page directory / page table pages are not present (for example
through dereferencing NULL in the gdb session). Changes:
- map_domain_va_32 has been rewritten to match map_domain_va_pae and
map_domain_va_64.
- All three functions have been extended to handle multiple vCPUs,
(untested, but shuld work), and check for _PAGE_PRESENT.
- Keir's workaround for the compile error in map_domain_va_64 has been
removed and hopefully fixed.
Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
There are some usage scenarios in which differing user domains want
to be using different base TOD clocks. This patch adds the ability
to specify the base TOD time difference. The patch also adds a
hook point to notify another entity when the domain changes this
offset. This might occur, for instance, on a Linux domain using
hwclock -w.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
abstraction needed for expansion to hot plug and migration support. Also
fixed a bug in savestate.
Signed-off-by: Vinnie Scarlata <Vincent.r.scarlata@intel.com>
1. xenctrl.h needs to include stddef.h to define size_t
2. tbctl is broken -- remove it since xenmon and xentrace
both automatcially enable tracing now
3. Fix setsize after xc_tbug interface changes
Signed-off-by: Keir Fraser <keir@xensource.com>