Commit Graph
18537 Commits
Author SHA1 Message Date
Keir Fraser 13d5024794 mini-os: Add printf format checking to xenbus_printf
Reported-by: "Daniel P. Berrange" <berrange@redhat.com>
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:48:39 +01:00
Keir Fraser 1f1f49120f ioemu-stubdom: drop --disable-gfx-check option, already added by qemu-xen tree
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:48:09 +01:00
Keir Fraser 839dac782f stubdom: support quotes in argument passing
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:47:49 +01:00
Keir Fraser fe2998c24a stubdom: make munmap work in batches to fix stack overflow
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:47:24 +01:00
Keir Fraser 2f43a7baa9 xend: fix LinuxImageHandler debugging output
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:47:08 +01:00
Keir Fraser 63193f3f4d PyGRUB: fix menu flicker
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>
2008-08-27 09:46:38 +01:00
Keir Fraser 84901438e6 mini-os: make xenbus_read_integer and xenbus_printf take const strings
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:46:22 +01:00
Keir Fraser 55c1a137e7 stubdom: drop debugging message
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:46:09 +01:00
Keir Fraser 6c5aecbf01 stubdom: add syslog functions
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:45:42 +01:00
Keir Fraser dcd4913503 stubdom: add dummy pthread_mutexattr*
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:45:09 +01:00
Keir Fraser 1cbf503b9d stubdom: int32_t is provided by stdint.h, not sys/types.h
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 09:44:51 +01:00
Keir Fraser 7ec3e07914 x86 hvm: More checking around REP MOVS emulation.
Check for self-corrupting copies, and report hvm_copy errors to the
console log.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-26 15:16:57 +01:00
Keir Fraser 43e1fddd0c vtd: do FLR before xc.domain_destroy()
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>
2008-08-26 14:11:39 +01:00
Keir Fraser 81abef0448 x86 hvm: Emulate RAM-to-RAM REP MOVS copies efficiently.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-26 14:10:17 +01:00
Keir Fraser d6b6a1137f vtd: Fix ioapic interrupt remapping
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>
2008-08-26 13:00:43 +01:00
Keir Fraser 2a82334fcc xend: Avoid multiple assignments to same dict key in pci_convert_sxp_to_dict
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-08-26 10:14:32 +01:00
Keir Fraser 84cc74d90f x86: Time rendezvous function does not need to disable/enable IRQs.
Since rendezvous happens within the IPI handler, no need to specify
'wait' to on_each_cpu().

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-25 14:03:42 +01:00
Isaku Yamahata bb0db58c1e [IA64] introduce compile time option to disable optvfault.
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata ec1099704c [IA64] Make gp value point to the xenva area in mca handler
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 669f0b5e8a [IA64] fix mca hander.
When reloading dtr[], itr[], overlapping must be avoided.
Add overlap check.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 67cc20ab6f [IA64] update the comment in ia64_switch_to.
update the comment in ia64_switch_to.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 955772fac1 [IA64] fix stack unwinder.
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata a8315a08c5 [IA64] minor fix vmx_ivt.
The constant string in vmx_ivt.S should be in rodata section,
not text.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 0265a2e997 [IA64] introduce XEN_EFI_RR6 and XEN_EFI_RR7
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 4148d1b92f [IA64] EFI mapping: restoring mapping correctly.
When swiching back from efi mapping, correctly switch back
depending on the current vcpu type.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 83d84118e5 [IA64] move back pal.S into xen/arch/ia64/linux.
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 852ea7ee6b [IA64] fix PAL call in physical mode.
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>
2008-08-25 19:04:37 +09:00
Isaku Yamahata 76d9022819 [IA64] add one BUG_ON() to allocate_metaphysical_rr()
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>
2008-08-25 19:04:37 +09:00
Keir Fraser 64a86b092f hvmloader: Debug build incorporates HVM environment tests which must
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>
2008-08-21 15:18:05 +01:00
Keir Fraser 93b891026d xentrace: Fix typo in xentrace_formats file.
Signed-off-by: Yang Xiaowei <xiaowei.yang@intel.com>
Signed-off-by: Zhou Ting <ting.g.zhou@intel.com>
2008-08-21 11:12:21 +01:00
Keir Fraser 50e4834c61 Added tag 3.3.0-branched for changeset 1e99ba54035623731bc7318a8357aa6a118c5da1 2008-08-21 11:07:31 +01:00
Keir Fraser b9c620d078 x86: fix l1_disallow_mask() for HVM guests with pass-thru devices.
Signed-off-by: Naoki Nishiguchi <nisiguti@jp.fujitsu.com>
3.3.0-branched
2008-08-21 10:52:01 +01:00
Keir Fraser a0685dba64 PV-on-HVM: unmask_evtchn() must always use hypercall.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-21 09:51:46 +01:00
Keir Fraser f480edacaa Update Xen version for 3.3.0-rc8-pre 2008-08-20 14:45:21 +01:00
Keir Fraser 456a0b5b82 Added tag 3.3.0-rc7 for changeset daf1193bcd11345d566a4747fe1f12c90b44452c 2008-08-20 14:44:48 +01:00
Keir Fraser 9dd93b24de Update Xen version for 3.3.0-rc7 3.3.0-rc7 2008-08-20 14:44:44 +01:00
Keir Fraser 8f34627d05 x86 hvm: Fix binary arithmetic in hvmemul_linear_to_phys().
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>
2008-08-20 14:43:52 +01:00
Keir Fraser 36154f9323 Update Xen version for 3.3.0-rc7-pre 2008-08-20 10:14:26 +01:00
Keir Fraser 40195a62bc Added tag 3.3.0-rc6 for changeset bc372510f1794ee41a8b0501cc84f8a65d05e094 2008-08-20 10:13:31 +01:00
Keir Fraser 1824ecbfee Update Xen version for 3.3.0-rc6 3.3.0-rc6 2008-08-20 10:13:22 +01:00
Keir Fraser 6d0480fe26 domctl: ssidref is not initialized if !XSM_ENABLE
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>
2008-08-20 09:06:58 +01:00
Keir Fraser 5ead8cb7ed x86: APs enable x2APIC only when BSP did so.
Signed-off-by: Jun Nakajima <jun.nakajikma@intel.com>
2008-08-20 09:04:33 +01:00
Keir Fraser 97b6b26dad ioemu: Fix unmapping issue on hot-removing pass-thru device
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-20 09:02:15 +01:00
Keir Fraser 724fc2e33f x86 hvm: Another clarifying comment in the HVM address translation emulation.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-19 19:45:27 +01:00
Keir Fraser aa6af210f6 x86 hvm: Add clarifying comments about clipping repeated string
instructions to 4096 iterations.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-19 18:52:04 +01:00
Keir Fraser 1e827f9eab x86 hvm: Build fix: param is paddr_t not ulong.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-19 18:47:01 +01:00
Keir Fraser 7e1f3a300f x86, hvm: Observe EFLAGS.DF when performing segmentation checks and
address translations on multi-iteration string instructions.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-19 15:57:19 +01:00
Keir Fraser 5dfe4aa4ee x86_emulate: Do not request emulation of REP instructions beyond the
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>
2008-08-19 15:56:31 +01:00
Keir Fraser 154ef9e3cc vtd: Don't do FLR when we create domain or hotplug device into guest.
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>
2008-08-19 10:51:41 +01:00
Keir Fraser d74b976c41 xend: fixes a typo in the PIF class of the Xen-API code.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-08-19 10:48:39 +01:00