To avoid flickers, PyGRUB has to avoid spurious ncurses refresh as
much as possible, in particular before the complete screen is drawn,
and eventually call doupdate last.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
When we "xm destroy" a guest with assigned devices, in
xen/common/domain.c:domain_kill(), we relinquish guest's memory first,
then invoke domain_destroy() -> complete_domain_destroy() ->
arch_domain_destroy() -> pci_release_devices()/iommu_domain_destroy().
Between relinquish_memory() and domain_destroy(), a device may be
issuing DMA request and access guest's relinquished memory.
We can do_FLR() to quiesce devices before xc.domain_destroy().
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Besides io_apic_write(), io_apic_modify() also writes to io apic RTE.
This patch adds an intercept to remap interrupt in io_apic_modify().
In io_apic_read_remap_rte(), 'mask' value of RTE should not affect the
return value, so remove its checking.
Finally, remove panic() when index overflows. Instead, print error
messages and report back the failure to upper level.
Signed-off-by: Weidong Han <weidong.han@intel.com>
Debugging optvfault path is extremely difficult because
it was run with psr.ic = 0.
Make it easy to differentiate the bug in optvfault path from
other normal execution path with psr.ic = 0 by introducing compile
time option to disable optvfault.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
backport the c/s f5a3f3dc189485d607fbd42678cc23958acc0a6e
of linux.
Xen/ia64 vmm is also relocatable so that it doesn't
lay in the identity mapping area.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
The stack unwinder can be called in interrupt context. On the other
hand xmalloc() can't be called in interrupt context.
Don't call xmalloc() if in the interrupt context.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
for firmware rr6 is used for uncacned region
and rr7 is used for cachable region.
So rid must be different.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Now xen/arch/ia64/linux-xen/pal.S is the same as
arch/ia64/kernel/pal.S from linux 2.6.21.
So move it back into xen/arch/ia64/linux.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Now firmware code is mapped at its own virtual address space
which is same to Linux. So the calculation from virutal
address to physical address should be same to the linux one.
In practice firmware is located in low physical address area
so that masking 60 bit instead of 61 bits doesn't make difference.
I just checked and with the patch below,
xen/arch/ia64/linux-xen/pal.S becomes the same as
arch/ia64/kernel/pal.S from linux 2.6.21.
Signed-off-by: Simon Horman <horms@verge.net.au>
add one BUG_ON() to allocate_metaphysical_rr() to make sure
that rid for metaphysical address isn't collided.
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
pass for the HVM guest to successfully boot.
Currently only one test (REP INS across page boundaries) but more will
be added in future.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
PAGE_SIZE - (x & ~PAGE_MASK) is not equivalent to -x & ~PAGE_MASK
Also the early goto could be removed.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
The ssidref in getdomaininfo() is not initialized when XSM_ENABLE is
not defined. So, xentop might display a wrong value of ssid.
Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
point at which the index register (SI/DI) wraps. This can cause a
discontinuity in the address range accessed by the repeated
instruction.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
VT-d hot-plug is done in such a way: 1) xend sends 'pci-ins' command
to ioemu via xenstore; 2) ioemu creates pass-through device and raises
SCI to guest OS; guest OS loads device driver, and device driver
initializes the hot-plugged device; 3) xend does FLR. There is a race
condition about 2) and 3). If 3) runs slow, we have troubles. Thanks
for Yuji Shimada's locating the issues.
We can work around the issues by not doing FLR when we create domain
or hotplug device into guest, namely, we only do FLR when we destroy
domain or hotplug device from guest.
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>