Using the new hypercall path, scratch registers are not saved/restored.
So after returning from hypercall, r20 may contain garbage data.
This triggered General Exception.
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
provide hypercall the same path with system
most of scrach registers don't need to be saved/restored
it is good for performance
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
Can't inject event, when guest is executing rfi, and both
both PSCB(v, ifs) and regs->ifs are valid
It's very rare case, but I did catch it.
It caused domain0 crash
Signed-off-by: Anthony Xu <anthony.xu@intel.com>
http://lists.xensource.com/archives/html/xen-ia64-devel/2006-11/msg00349.html
The real VHPT insertion is done based on the machine PTE returned from
translate_domain_pte, which does the appropriate offset calculations.
However, the insertion into the one-entry TLB uses the original PTE, but
the page size has been reset to PAGE_SIZE [1]. Thus the entry in the
one-entry TLB incorrectly maps the PAGE_SIZE sub-page which was faulted
on to the PAGE_SIZE sub-page at the bottom of the superpage.
I think it makes most sense to simply use the original itir when
inserting into the single-entry TLB, as per attached patch. I've moved
the vcpu_set_tr_entry calls up a level into vcpu_itc_d and vcpu_itc_i;
the third caller previously used the 4 flag to specify "don't do that".
[1] In fact, this is enforced twice, once in translate_domain_pte and
again in vcpu_itc_no_srlz.
Signed-off-by: Matthew Chapman <matthewc@cse.unsw.edu.au>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
As Dave requested, call unw_init_running() and save ksp before SHUTDOWN_crash.
Signed-off-by: Dave Anderson <anderson@redhat.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
When tlb_track_search_and_remove() is about to remove a found entry,
another cpu might update p2m entry and insert the entry right before that.
It must be aware of it.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Need to clean up some build warnings. Probably should have been moved
last time it was modified.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
This patch makes the logic in setup_guest() more clear.
domain_translate_gpfn_list() is now gone, so we can make
memory initializtion code simple.
Xend passes memory size which is a sum of normal memory
size and GFW memory to QEMU and Libxc. This patch fixes
this issue.
Signed-off-by: Zhang Xin <xing.z.zhang@intel.com>
I think this a legacy of an older revision of this code,
but asm/fixmap.h does not seem to be needed in
asm-x86/x86_32/kexec.h or asm-x86/x86_64/kexec.h
That is, neither of these incarntations of kexec.h seem
to do anything related to fixmap directly or indirectly.
Signed-off-by: Simon Horman <horms@verge.net.au>
created as managed domains using either a parameter to the
XenTestDomain() constructor or by setting the environment variable
XM_MANAGED_DOMAINS and running the tests with it.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Using a volatile pointer saves us from the compier reordering these
writes, and the processor won't let them appear out of order.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
grub.conf; this allows hands-off bootloading in the absence of a grub.conf.
It's also useful for specifying temporary changes etc.
Signed-off-by: John Levon <john.levon@sun.com>