Commit Graph
19845 Commits
Author SHA1 Message Date
Keir Fraser 00fdbf168a p2m hap: Fix dirty vram tracking function
This patch fixes an incorrect mode conversion when disable vram
dirty tracking.

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Signed-off-by: Wei Huang <wei.huang2@amd.com>
2009-06-25 18:28:59 +01:00
Keir Fraser 1a965f0e72 minios: add few missing constants in limits.h
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2009-06-25 14:30:00 +01:00
Keir Fraser 549d0cf281 x86 hvm: Make sure port 0x80 in hvm_io_table[] is set correctly
regardless of execution order of hvm_enable() and check_port80().

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-25 13:51:40 +01:00
Keir Fraser d7e7ef6859 tools: fix inverted logic check
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-25 13:15:32 +01:00
Keir Fraser 74be2ef5e1 stubdom: use XENFIRMWAREDIR
Attached patch installs ioemu-stubdom into XENFIRMWAREDIR
analogous to what we do with hvmloader.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-25 13:14:37 +01:00
Keir Fraser 369b997d51 xend: create /var/lock/subsys at startup
Ubuntu puts /var/lock on tmpfs, so we should create /var/lock at
startup, rather than at installation time.

Signed-off-by: Jun Koi <junkoi2004@gmail.com>
2009-06-25 13:14:03 +01:00
Keir Fraser a95f32c833 x86 hvm: Fix printf format specifier
Signed-off-by: Jun Koi <junkoi2004@gmail.com>
2009-06-25 13:12:32 +01:00
Keir Fraser 44b9decf71 VT-d: remove debug prints and turn on qinval read/write drains
This cleanup patch removes debug prints and turn on read and write
drains for VT-d queue invalidation if HW supports them.

Signed-off-by: Allen Kay <allen.m.kay@intel.com>
2009-06-25 13:06:44 +01:00
Keir Fraser 5c568cd35f tools: add SHAREDIR to buildmakevars2file
c/s 19818 dropped SHAREDIR from xen/util/path.py, which broke the "xm
new" command. This patch adds SHAREDIR back to the new
buildmakevars2file-closure function.

Signed-off-by: Ryan O'Connor <rjo@cs.ubc.ca>
2009-06-25 13:05:10 +01:00
Keir Fraser 6cba5a2ed1 Fix buildsystem to detect udev > version 124
udev removed the udevinfo symlink from versions higher than 123 and
xen's build-system could not detect if udev is in place and has the
required version.

Signed-off-by: Marc-A. Dahlhaus <mad@wol.de>
2009-06-25 13:02:37 +01:00
Keir Fraser a8ccb671c3 tools: fix x11 check
X.org is installed in /usr/X11R7.
Attached patch covers this in the x11 check.
Xen has no direct X11 dependency
(it's inherited from SDL and SDL is optional for qemu-dm)
so warn but don't fail if no X11 is installed.
Fixes build problem on distributions which build their packages (*BSD
and Gentoo).

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-25 12:59:46 +01:00
Keir Fraser 1d998d8224 blktap2: A final few NetBSD fixes
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-24 15:24:53 +01:00
Keir Fraser a61c4df7f6 blktap2: Further netbsd build fixes.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-24 14:03:20 +01:00
Keir Fraser ed072758a7 tools: remove hard coded paths in example config files
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-24 11:17:11 +01:00
Keir Fraser a05dfcaccf blktap2: Fix a & vs && typo
Signed-off-by: Jun Koi <junkoi2004@gmail.com>
2009-06-24 11:16:42 +01:00
Keir Fraser 2b3b556d04 x86 mca: Fix typo of MCA recovery flags
The following patch fixes typo of MCA recovery flags.
It should be '<<' instead of '<'.

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
2009-06-24 11:16:08 +01:00
Keir Fraser 3890bbbfc3 VT-d: don't disable VT-d engine in suspend for security purpose
force_iommu option is used to force enabling and using IOMMU for
security purpose. So when force_iommu is set, it shouldn't disable
VT-d engines in suspend.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2009-06-24 11:15:31 +01:00
Keir Fraser e5654d4fbf xend: Fix vbd/tapdisk device destruction
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-06-24 11:14:32 +01:00
Keir Fraser 13b3999edb blktap2: Fix some printf format specifiers (PRIu64).
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-24 11:11:58 +01:00
Keir Fraser 6e10abac00 Scaling guest's TSC when the target machine's frequency is different
with its requirement.

Using trap&emulate for guest's each rdtsc instruction first, maybe it
can be optimized later.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
2009-06-24 11:05:22 +01:00
Keir Fraser c764820ae6 Move muldiv64 out and make it as a public function.
muldiv64 is used to caculate u64*u32/u32, and we
will use it for TSC scaling.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-24 10:57:00 +01:00
Keir Fraser 448dac0297 save/restore : Save guest's preferred TSC frequency in image
For save/restore or live migration between two different frequency
platforms, guest's preferred TSC frequency is required to caculate
guest's TSC after resotre, so save it in the image header.

Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
2009-06-24 10:48:21 +01:00
Keir Fraser 46303e4095 x86 shadow: Fix a few SHOPT_OUT_OF_SYNC ifdefs.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-24 10:47:07 +01:00
Keir Fraser 038190a6a4 Update hgignore file 2009-06-23 17:32:07 +01:00
Keir Fraser 01dc757ea3 xend: Fix python syntax error
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-23 17:27:01 +01:00
Keir Fraser 157794e512 tools python: remove unused auxbin functions
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-23 17:26:28 +01:00
Keir Fraser a2b4af7d77 Get rid of hardcoded pathes for stubdom and hotplug scripts
- Have the buid system generate a file which exports the install paths
   for the hotplug scripts and stubdom / stubdom-dm
- Move file generation code from tools/python/Makefile into a gmake
   macro
  in Config.mk to avoid maintenance of three duplicates each with its
   own
  tweaks and bugs
- Export gmake variables into ioemu as shell variables
  for upcoming ioemu patches
- Do above as a gmake macro to avoid maintenance of several duplicates
- Adjust hotplug scripts to find the right xen binaries from the
  install directory
- Adjust stubdom-dm to use the install directories

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-23 17:25:51 +01:00
Keir Fraser 2b8ba91b50 blktap2: portability fixes for NetBSD
- Use standard off_t and lseek() instead of non-portable off64_t and
  lseek64()
- Use uuid API as documented in DCE 1.1 RPC specification
- Add NetBSD implementation for blk_getimagesize() and
  blk_getsectorsize()
- Use blk_getimagesize() and blk_getsectorsize()
- Fix uuid header check

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-23 17:24:14 +01:00
Keir Fraser a114a32c90 xenconsoled: fix timestamp log
timestamp log is broken.
Also, xenconsoled might die with segfault.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-06-23 11:27:54 +01:00
Keir Fraser 9712f35118 VT-d: correct kill hvm_timer
hvm_timer is created with the vector got from domain_irq_to_vector(),
accordingly it should use the same vector to kill the timer. The patch
corrects it in pci_clean_dpci_irqs().

Signed-off-by: Weidong Han <weidong.han@intel.com>
2009-06-23 11:26:22 +01:00
Keir Fraser d0495ec8c1 xenconsoled: Fix rate-limit calculation overflow leading to console freezes.
From: Eric Tessler <eric@3tera.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-23 11:25:38 +01:00
Keir Fraser dcf18dfcc4 tools: don't require hardcoded firmware path in guest config file
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2009-06-23 11:23:27 +01:00
Keir Fraser d1abeffc81 Fix network-bridge ifup problem when bridge has no IP address.
When we want to setup a bridge without a ip address, function
do_ifup will not activate the bridge.

We should make the bridge active, then vif-bridge can work on the
bridge.

Signed-off-by: Zhigang Wang <zhigang.x.wang@oracle.com>
2009-06-23 11:22:08 +01:00
Keir Fraser 7aeb062fbc xend: Fix tapdisk creation for managed domains
The first start of a managed domain succeeds.  But the second
start of the managed domain fails as follows.  The problem occurs
when tapdisks are given to the managed domain.  I think that the
problem occurs because the uname of tapdisks is overwritten with
"phy:/dev/xen/tadisk-2/tapdev*".

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2009-06-23 11:20:10 +01:00
Keir Fraser bd24e968e7 vtd: IO NUMA support
This patch adds VT-d RHSA processing for IO NUMA support.  The basic
idea is to parse ACPI RHSA structure to obtain VT-d HW to proximity
domain mapping.  This mapping is then used when allocating pages for
Vt-d HW data structures.

Signed-off-by: Allen Kay <allen.m.kay@intel.com>
2009-06-23 11:14:24 +01:00
Keir Fraser 717626c9a5 tools: consistently use $(PYTHON)
Signed-off-by: Christoph Egger <Christoph. Egger@amd.com>
2009-06-23 11:13:29 +01:00
Keir Fraser 9e0883cae6 x86: Another assign_irq_vector() cleanup.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
2009-06-23 11:11:46 +01:00
Keir Fraser 7177df7278 Only allow DOMCTL_max_vcpus to increase vcpus from zero.
Otherwise reallocation of the vcpus array is unsafe.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-23 11:10:29 +01:00
Keir Fraser 476bbccc81 VT-d: fix MSI source-id of interrupt remapping
This patch fixes an issue of MSI source-id. Currently MSI source-ids
are all set device bdf. It's incorrect for PCI (not PCIe) devices. The
patch set correct requester-ids of MSI to source-id. And also, wrap
functions to clean ioapic source-id.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2009-06-19 08:45:55 +01:00
Keir Fraser 575dd4a3ef VT-d: pci code cleanup
This patch moves the pci code from iommu.c to pci.c. Instead of setup
pci hierarchy in array bus2bridge in iommu_context_mapping, use
scan_pci_devices once to add all existed PCI devices in system to
alldevs_list and setup pci hierarchy in array bus2bridge. In addition,
implement find_upstream_bridge to find the upstream PCIe-to-PCI/PCIX
bridge or PCI legacy bridge for a PCI device, therefore it's cleanly
to handle context map/unmap for PCI device, even for source-id
setting.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2009-06-19 08:45:20 +01:00
Keir Fraser faefc018df xend: fix a regression in c/s 19791.
Using changeset 19791:c0d2838fc10f, I can't create an HVM.
xend.log shows:

  File "usr/lib64/python2.4/site-packages/xen/xend/image.py", line
  759, in configure
    store_dmargs.remove('-sdl')
ValueError: list.remove(x): x not in list

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2009-06-19 08:44:33 +01:00
Keir Fraser 65afc94bc6 x86: Fix legacy irq allocation issue
When try to assign vector for irq, we should not assign vector for
legacy irq, which has fixed mapped irq<->vector relationship.

Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
2009-06-19 08:43:58 +01:00
Keir Fraser 36553c2859 xend: fix BlktapController's device creation
Reset BlktapController's device class back to 'tap' once the device
has been created. This fixes save/restore for VMs with blktap2 disks.

Signed-off-by: Ryan O'Connor <rjo@cs.ubc.ca>
Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>
2009-06-19 08:43:28 +01:00
Keir Fraser 0ca1669871 P2M: check whether hap mode is enabled before using 2mb pages
This small patch checks whether hap mode is enabled when guest is
trying to allocate 2MB pages inside P2M. This prevents potential
errors when hap is disabled.

Cc: Chris Lalancette <clalance@redhat.com>
Cc: Sarathy, Bhavna <Bhavna.Sarathy@amd.com>
Signed-off-by: Wei Huang <wei.huang2@amd.com>
2009-06-19 08:42:58 +01:00
Keir Fraser 0506bc4d89 IOMMU: Add two generic functions to vendor neutral interface
Add 2 generic functions into the vendor neutral iommu interface, The
reason is that from changeset 19732, there is only one global flag
"iommu_enabled" that controls iommu enablement for both vtd and amd
systems, so we need different code paths for vtd and amd iommu systems
if this flag has been turned on. Also, the early checking of
"iommu_enabled" in iommu_setup() is removed to prevent iommu
functionalities from been disabled on amd systems.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
2009-06-19 08:41:50 +01:00
Keir Fraser e88a10e8c7 buildconfigs/src.git-clone: use git clone, avoid git remote
git 1.4.x (which is on even some moderately recent systems) doesn't
have the `git remote' command.  This is what caused the most recent
patchman build failure.

The machinery in buildconfigs/src.git-clone was rather more
complicated than needed, too.  In this patch I replace this with a
similar set of runes to those used for ioemu-remote (almost identical
except that the QEMU_TAG feature is not supported in this instance).

I have done a successful test build with this change.

Cc: Ian Campbell <Ian.Campbell@eu.citrix.com>
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2009-06-18 15:32:48 +01:00
Keir Fraser b90fe59f0c x86 hvm: Fix bootstrapped boolean check in start_{svm,vmx}().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2009-06-18 10:46:21 +01:00
Keir Fraser 55f3362de4 x86-64: do not pass unmanageable amounts of memory to Dom0
Due to address space restrictions it is not possible to successfully
pass more than about 500Gb to a Linux Dom0 unless its kernel specifies
a non-default phys-to-machine map location via XEN_ELFNOTE_INIT_P2M.

For non-Linux Dom0 kernels I can't say whether the limit could be set
to close to 1Tb, but since passing such huge amounts of memory isn't
very useful anyway (and can be enforced via dom0_mem=3D), the patch
doesn't attempt to guess the kernel type and restricts the memory
amount in all cases.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-06-18 10:31:17 +01:00
Keir Fraser c92018768b Introduce page_list_move()
This not only allows to remove ia64's special implementation of
page_list_splice_init(), but also fixes the latent issue with the
direct list head assignment in the x86 code if that would ever get
switched back to using normal list entries for linking together pages
(i.e. whenever x86-64 is to support more tha 16Tb of memory).

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2009-06-18 10:30:28 +01:00
Keir Fraser 590b3ce1d3 blktap: re-enable blktap1 if blktap2 is disabled
This patch re-enables a useful blktap1 for users who disable blktap2.
Itremoves tapdisk and blktapctrl from blktap2, both of which cause
problems with blktap operation.  In addition, this patch modifies xend
to check for blktap2 installation.  If the blktap2 driver isn't
running (hopefully because the dom0 kernel option wasn't selected) we
fall back to blktap.

Signed-off-by: Dutch Meyer <dmeyer@cs.ubc.ca>
2009-06-18 10:29:58 +01:00