Commit Graph
6723 Commits
Author SHA1 Message Date
Keir Fraser d6c3ce8cb9 Update the URL for the ACPI compiler sources.
Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com>
2008-08-29 16:07:36 +01:00
Keir Fraser 309459216a Run cross-compilation-aware install wrapper script.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-29 16:06:41 +01:00
Keir Fraser ec6869dadc pv-grub: fix example file
Apparently 64MB is too short for the domain builder.
No kernel option should be passed, as they are provided by menu.lst,
and would only confuse grub.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-29 10:45:09 +01:00
Keir Fraser 1ceec08ea2 hvmloader: skip upper field of 64 bit base address register.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-28 09:59:49 +01:00
Keir Fraser bf1bb3fa7e ioemu, passthru: make upper field of 64 bit bar writable.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
2008-08-28 09:58:01 +01:00
Keir Fraser 309af15419 xend: Cleanup destroy and destroyDomain methods
When domains are destroyed, _prepare_phantom_paths() method
and _cleanup_phantom_devs() method are called twice as follows.

destroy()@XendDomainInfo.py
    _prepare_phantom_paths() --------------- 1
    _cleanupVm()
    destroyDomain()
        _prepare_phantom_paths() ----------- 2
        xc.domain_destroy_hook()
        xc.domain_pause()
        do_FLR()
        xc.domain_destroy()
        XendDomain.remove_domain()
        cleanupDomain()
        _cleanup_phantom_devs() ------------ 1
    _cleanup_phantom_devs() ---------------- 2
    XendDomain.domain_delete_by_dominfo()

This is a cleanup patch.  It combines destroyDomain() method
into destroy() method, then _prepare_phantom_paths() method and
_cleanup_phantom_devs() method are called only once.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-08-28 09:44:13 +01:00
Keir Fraser 2e8459a4fc stubdom: make xc_map_foreign_ranges use malloc instead of stack space
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-28 09:40:10 +01:00
Keir Fraser 8a68b82ff1 libxc: Use vcpu_guest_context_any_t instead of two pages
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 16:23:10 +01:00
Keir Fraser f844c8910a hvmloader: Fix e820_malloc() after bug I introduced in c/s 18383
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-27 15:16:13 +01:00
Keir Fraser 86e881097c tools/xenmon/Makefile: Move LDFLAGS after $<
gcc expects libraries needed for object files to be specified after
the object. Linking usually does not fail, unless it is optimized (for
instance, using -Wl,-as-needed).

The related Gentoo bug is 135145 [ https://bugs.gentoo.org/135145 ].

From: Robert Buchholz <rbu@gentoo.org>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-27 15:02:38 +01:00
Keir Fraser 86cf63d6f4 ioemu: Add SEEK_STAT in all non-error cases except sleep request,
since our seek times are virtually 0.  Although this flag is
deprecated by newer ATA standards, Linux at least checks it for CD
drives, and would timeout in some cases if we do not set it.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 14:57:23 +01:00
Keir Fraser d818f3cb7c hvm: Use main memory for video memory.
When creating an HVM domain, if e.g. another domain is created before
qemu allocates video memory, the extra 8MB memory ballooning is not
available any more, because it got consumed by the other domain.

This fixes it by taking video memory from the main memory:

- make hvmloader use e820_malloc to reserve some of the main memory
  and notify ioemu of its address through the Xen platform PCI card.
- add XENMAPSPACE_mfn to the xen_add_to_physmap memory op, to allow
  ioemu to move the MFNs between the original position and the PCI
  mapping, when LFB acceleration is disabled/enabled
- add a remove_from_physmap memory op, to allow ioemu to unmap it
  completely for the case of old guests with acceleration disabled.
- add xc_domain_memory_translate_gpfn_list to libxc to allow ioemu to
  get the MFNs of the video memory.
- have xend save the PCI memory space instead of ioemu: if a memory
  page is there, the guest can access it like usual memory, so xend
  can safely be responsible to save it.  The extra benefit is that
  live migration will apply the logdirty optimization there too.
- handle old saved images, populating the video memory from ioemu if
  really needed.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-27 14:53:39 +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 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 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 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 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 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 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
Keir Fraser f6c2c609f7 Fix restore crash with certain guest memory sizes
This fixes a crash when restoring guests with certain memory sizes (eg
223MB).  The ROUNDUP in the call to memcpy, was the main offender, but
I didn't care for the inplace resizing of the p2m entries either.

Signed-off-by: Bruce Rogers <brogers@novell.com>
2008-08-14 10:18:08 +01:00
Keir Fraser f9307cbb49 MSI-X: enhancement
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
2008-08-13 13:45:39 +01:00
Keir Fraser 68c053e8a9 xend: Allow xenconsoled to be passed arguments at startup
Attached patch allows to pass arguments to xenconsoled
via XENCONSOLED_TRACE env. variable analogous to xenstored.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-08-13 13:42:30 +01:00
Keir Fraser 74f9ac9665 xend: Make sure that 'PV_kernel' config param is not blank when
assigning it to 'loader' param. This fixes a failure of 'xm create'
via xen-api.

Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-13 13:40:38 +01:00
Keir Fraser 8712242693 xend/xenapi: Initialize a VLAN PIF's record with the MAC and MTU size
of the created network interface

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-08-11 16:51:02 +01:00
Keir Fraser dea6d8b20c xend/xen-api: Have the VDI record return the security label
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-08-11 15:01:34 +01:00
Keir Fraser 3ca259a393 xend: Better support for legacy HVM config of ia64
On ia64, direct Linux boot is not supported, and 'Flash.fd' or
'guest_firmware.bin' has been used as a value of the 'kernel'
option. Cset:17016 ignores those strings and overrides them with
"/usr/lib/xen/boot/hvmloader".

Signed-off-by: Kazuhiro Suzuki <kaz@jp.fujitsu.com>
Signed-off-by: KUWAMURA Shin'ya <kuwa@jp.fujitsu.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-11 11:27:40 +01:00
Keir Fraser b904b98221 tools build: add cross-install to find the right "strip"
Signed-off-by: Aron Griffis <aron@hp.com>
2008-08-11 10:49:57 +01:00
Keir Fraser 8a067f68b1 ia64: PV driver domains - ugly python hacks
x86 IOMMU support added a lot of assumptions about what PCI buses look
like and where to find bridge devices.  On ia64, we don't yet have
virtualization friendly IOMMUs, so for the moment, we just want to
keep "unsafe" PV PCI pass through working as well as it did in Xen
3.2. Looking at the code, it almost seems like x86 has thrown out
support for the old style driver domain.  Things that don't
necessarily work on every PCI compliant architecture:

      * You can't assume that just because there's a device at 01:01.0
        that there's also a bridge at 01:00.0 and blow-up when you
        don't find it.  On HP ia64 boxes, PCI root bridges are not
        necessarily exposed as a PCI device.  This pretty much means
        we can't call into any of the "FLR" code paths.
      * BAR alignment: it's hard to have BAR alignment when your page
        size is 16k.  This wasn't a requirement for previous PV driver
        domains, so I assume it's only for IOMMU support.

This is ugly, so I'm open to suggestions.  It seems that all of these
architecture checks could be replaced by checking some "iommu_present"
variable to test whether the extra requirements are necessary.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-08-08 10:53:40 +01:00
Keir Fraser a9c83dc720 prefix mini-os lists with minios_, drop QEMU_ prefix from QEMU_LIST_*
That permits to reduce the amount of difference with upstream.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-08 10:48:48 +01:00
Keir Fraser 480d1476fc ioemu: fix typo in serial emulation
There is a small bug on the serial emulation code that prevents kgdb
from working correctly over the serial.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-08-08 10:46:39 +01:00
Keir Fraser 97503a73e3 xm: fix trivial typo. s/ciredump-restore/coredump-restart/
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
2008-08-07 09:05:31 +01:00
Keir Fraser ec80656941 ioemu-stubdom: fix initialization of vm_change_state_head
That is actually a no-op since it just sets it to NULL again, but
makes sense.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 11:38:42 +01:00
Keir Fraser 203c11a813 stubdom: fix documentation file names
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 11:38:20 +01:00
Keir Fraser f583eb1e3e ioemu: Fix I/O BAR mapping problem
Check BAR type indicator to avoid I/O BAR being mistaken as 64-bit =
memory BAR.

Signed-off-by: Yu Zhao <yu.zhao@intel.com>
2008-08-06 10:54:55 +01:00
Keir Fraser 7b256cf63f ioemu: fix a bug in serial_load
Currently we are trying to read the same value twice in the
serial_load function, this patch fixes that.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-08-06 09:46:25 +01:00
Keir Fraser be408edf70 xend: Expose persistent domain path in xend conf file
This patch exposes the persistent (aka managed) domain path in xend
configuration file.  This option is already supported in XendOptions
but is not annotated in the configuration file.

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2008-08-06 09:38:43 +01:00
Keir Fraser 66e56e754b install more documentation to /usr/share/doc/xen and /etc/xen
Also resync xmexample3 with xmexample1 and 2.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-06 09:34:55 +01:00
Keir Fraser fa982a5874 Remove vncconsole from example HVM configs. It's deprecated.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:45:53 +01:00
Keir Fraser ccecac2def xend: vncconsole config option mustn't be a string
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:45:25 +01:00
Keir Fraser 95d4283bb4 ioemu: Do not pass -m (memory) option to qemu, as ioemu-remote rejects
memory sizes greater than 2GB when built as a 32-bit binary.

Instead, direct HVM Linux loading approximates end of low memory via a
different method.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-05 13:23:59 +01:00
Keir Fraser 61c632064b fs-back: build fix for BSD
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-08-05 09:59:01 +01:00
Keir Fraser 45f66e11cc xend: remove default NIC in qemu when no vif configured
Latest QEMU would add a NIC device by default, unless specify the
"-nic none". So end user still get a unusable NIC even no vif in the
config file.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2008-08-05 09:29:42 +01:00
Keir Fraser 1883561885 PV-GRUB: add sample config file
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-04 18:10:51 +01:00
Keir Fraser 23566e775d stubdom: rename the ioemu-dm domain config file to domainname-dm,
which is shorter, makes more sense, and sorts better.

From: Samuel Thibault <samuel.thibault@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-08-04 16:47:52 +01:00
Keir Fraser 3adee298e7 Fix a few typos
From: Diego Ongaro <diego.ongaro@eu.citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-08-04 11:25:20 +01:00
Keir Fraser 33d021a978 xend: Fix handling of pci creation failure in device_create().
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-04 11:11:24 +01:00
Keir Fraser f6a15c6354 xm on xenapi: Enable 'xm pci-list' via Xen-API
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-08-04 11:11:02 +01:00