Commit Graph
17133 Commits
Author SHA1 Message Date
Keir Fraser 28617ff2d0 Fix xm save command's #params check.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-02-27 13:19:42 +00:00
Keir Fraser f8b0360575 xend: Set default vcpu affinity for better performance in NUMA systems.
Signed-off-by: Duan Ronghui <ronghui.duan@intel.com>
2008-02-27 13:17:49 +00:00
Keir Fraser 7bcaf6c0c6 ioemu: Fix e1000 mmio range size.
Per Intel 82540EM Software Developer's Manual pp. 211, the mmio size
is 0x20000, or address overlapping occurs and causes the second card
to fail, which happened to me earlier.

From: Tina Yang <tina.yang@oracle.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-27 13:16:02 +00:00
Keir Fraser 93d764b009 minios: have xenbus_printf return the error returned by xenbus_write
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-27 13:11:33 +00:00
Keir Fraser 0d85523cf3 Fix libxenstat on Solaris
Recent Solaris enhancements have changed the way virtual NIC
statistics are collected - fix libxenstat up for this.

Signed-off-by: John Levon <john.levon@sun.com>
2008-02-27 13:10:42 +00:00
Keir Fraser 98317c0a45 stubdom: log and documentation fixes
- Document that for vnclisten names and 127.0.0.1 should not be used.
- Documentation cosmetic fixes
- Dump qemu output to the usual logs

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 15:11:51 +00:00
Keir Fraser 480b3a06d1 stubdom: fix x86_32 compilation by __moddi3 from FreeBSD
(like has been done previously for umoddi3 etc.)

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 15:11:07 +00:00
Keir Fraser 1511fb1004 Fix xm mem-max command to restore previous setting if xc.domain_setmaxmem fails.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-02-26 15:02:26 +00:00
Keir Fraser 44bdf09e2c xend: Add free memory size of every node in physinfo to help user to
get usage of memory of their NUMA machine.

Signed-off-by: Duan Ronghui <ronghui.duan@intel.com>
2008-02-26 15:00:08 +00:00
Keir Fraser be2808a3bf ioemu: VNC updates should be sent only when requested.
Reading qemu code I realized that the qemu vnc server sometimes sends
framebuffer updates even if the client didn't request any. This is not
consistent with the RFB protocol spec and can break some clients.
This patch strictly enforces compliance with the RFB protocol making
sure framebuffer updates are sent only if the client requested one.
Doing so is more difficult than it seems because some framebuffer
pseudo-encoding updates cannot be discarded but must be sent anyway:
for example desktop resize and pixel format change messages. To solve
the problem I wrote a queue that stores those messages and sends them
as soon as the client asks for an update. Since 90% of the times the
queue is used to store only few elements, the queue allocates 10
elements at the beginning and every time it runs out of elements
allocates other 10 elements. This is should drastically limit the
number of malloc and free needed to maintain the queue. I did some
stress tests in the last couple of days and seems to work well.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-02-26 14:50:45 +00:00
Keir Fraser 26a1b308f3 minios: add PVFB support
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 14:47:23 +00:00
Keir Fraser 2e83dbdb92 ioemu: Do not sue xce_handle directly as a file descriptor.
xce handles are not supposed to be used as file descriptors, but
xc_evtchn_fd() be used.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 14:46:57 +00:00
Keir Fraser f69a0fcf36 x86_emulate: Fix FNSTCW/FNSTSW modrm range check.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-26 14:46:07 +00:00
Keir Fraser d595f91600 x86 hvm: Fix bugzilla bug 1172.
Bug 1172 is caused by missing a type cast from mfn_t to paddr_t, when
in pae mode and hsot memory is larger than 4G.

Signed-off-by: Disheng Su <disheng.su@intel.com>
2008-02-26 14:40:44 +00:00
Keir Fraser 2d28da91f9 xentrace: Add a time parameter
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2008-02-26 14:39:26 +00:00
Keir Fraser 1b5c303962 xentrace: Disable tracing by default on exit
Includes an option to disable this behavior.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2008-02-26 14:39:11 +00:00
Keir Fraser f23dac59ed xentrace: Add option to reserve disk space
Before writing records, xentrace will check to make sure that there is
a minimum amount of space left on the output filesystem.
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2008-02-26 14:38:57 +00:00
Keir Fraser 7cbda436d9 xentrace: Fix --discard-buffers option
Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
2008-02-26 14:38:39 +00:00
Keir Fraser 65ad78dff2 ioemu: e1000 emulation
This is a direct port of the e1000 driver currently in Qemu CVS with
extremely minimal changes.  This is useful for Xen as new OSes may not
support the old 100Mbps NICs we currently support (especially on
non-x86).  Drivers for e1000 should be more readily available.

Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-02-26 14:37:44 +00:00
Keir Fraser e516decc8c Fix restore of saved image containing rtc_timeoffset
Saved images contain rtc_timeoffset as a string value, resulting in a
TypeError exception when calling xc.domain_set_time_offset() on
restore.  Cast rtc_timeoffset to int before calling
xc.domain_set_time_offset().

Signed-off-by: Jim Fehlig <jfehlig@novell.com>
2008-02-26 14:35:39 +00:00
Keir Fraser 6184985ce7 vtpm: script function for identifying vTPM by its UUID
I am adding some functions for external tools to call the vTPM scripts.
It also contains a fix for the functions that previously used to be
called by domain name, but now are using the vTPM's uuid as parameter.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2008-02-26 14:34:50 +00:00
Keir Fraser 2e85b907f1 stubdom: Disable PCI passthrough functionality for now.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-02-25 16:34:49 +00:00
Keir Fraser 6b59529fbe x86: Foreign mappings of HVM-guest pages should not affect type count,
even when the mapping is made via a grant reference.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-25 11:24:06 +00:00
Keir Fraser 1fd66acbc7 hvmloader/acpi: Simplify Processor Object definitions.
No need to generate the correct number dynamically since
present/not-present can be determined from the MADT. What *is*
required is that we have a Processor Object for every present
processor. We statically declare 16 Objects, which should be plenty
for now.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-25 10:56:23 +00:00
Keir Fraser 5f8a368f3b xenoprof: Fix x86 32-on-64 xenoprof_arch_counter() implementation.
From: George Dunlap <George.Dunlap@eu.citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-25 09:18:20 +00:00
Keir Fraser c3d370d254 blktap: Remove some code duplication
With my qcow2 patch to blktap I contributed a bit to the mess, so here
an attempt to clean up and remove at least some of the code
duplication in the functions dealing with aio operations.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2008-02-25 09:12:20 +00:00
Keir Fraser f2a6c8a758 ioemu: Fix Solaris build.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-25 09:09:01 +00:00
Keir Fraser e71d76cb8b svm: Fix stupid typo in svm_set_interrupt_shadow().
Signed-off-by: Christoph Egger <christoph.egger@amd.com>

svm: Also return STI *and* MOV-SS blocking from
svm_get_interrupt_shadow().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-25 09:07:24 +00:00
Keir Fraser 2ea2f369eb hvm: More emulation changes: push some of the realmode or HVM-emulate
specific stuff into core x86_emulate().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-22 18:32:41 +00:00
Keir Fraser 15adfd0426 xen: Add license stanza to a few public headers.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-22 16:49:56 +00:00
Keir Fraser bfe9584683 x86 hvm: More emulation simplifications.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-22 10:52:27 +00:00
Keir Fraser 7ef12531b8 New Xenbus states Reconfiguring and Reconfigured.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-02-22 10:07:35 +00:00
Keir Fraser c9e9d610ca hvm: Remove lots of custom trap-and-emulate code and defer to
handle_mmio()->hvm_emulate_one()->x86_emulate().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-21 18:02:42 +00:00
Keir Fraser 7147da6f11 Move vtd and amd iommu code to arch-generic location.
Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-02-21 15:06:37 +00:00
Keir Fraser 2bd0e7b965 x86_emulate: Allow writeback-avoidance optimisation to be defeated by
the caller. This is used in cases where the writeback may be to an
MMIO region with side effects (the APIC EOI register is the main
example of this).

Also fix up build of the x86_emulate user-space test harness.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-21 14:50:27 +00:00
Keir Fraser 219c37ca95 blktap: qcow2 image format support
This patch adds support for the qcow2 image format to blktap. It
consists mostly of qemu code, adapted to the blktap interfaces.
Snapshots and compressed images are supported.

The qcow2 driver may be used by either specifying tap:qcow2 or by
using tap:qcow which will detect that you have a version 2 image and
will call the qcow2 driver.

Signed-off-by: Kevin Wolf <kwolf@suse.de>
2008-02-21 10:30:57 +00:00
Keir Fraser d124073365 x86/64: Fix PAE-on-64 mmuext_op() preemption.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-20 18:18:03 +00:00
Keir Fraser 7b1566db12 xenconsoled: don't force newline with timestamps
Previously a newline was forced after every call to
write_with_timestamp. This could result in some ugly logs when a
single console line stretched over multiple calls. This change carries
some extra state to determine if we ended the last call to
write_with_timestamp on a newline, and prints the timestamp as
appropriate.

This also fixes a bug where logging hv messages was dependent on the
guest timestamp flag.

Signed-off-by: Cole Robinson <crobinso@redhat.com>
2008-02-20 18:00:28 +00:00
Keir Fraser 7ffbeb40de ioemu: Share framebuffer between VGA device model and VNC server.
Now that the qemu WMVi patch is applied we can take full advantage of
it sharing the video buffer between the vga driver and the qemu vnc
server. This saves a lot of memcpy. It's worth mentioning again that
when the guest colour depth is 24 bit we cannot share the buffer
because 24 bpp is not supported by the vnc protocol, so we still have
to do the translation 24 bpp -> 32 bpp.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-02-20 17:47:58 +00:00
Keir Fraser 0d8ead89fa ioemu: Do proper block device extent checks.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
2008-02-20 17:46:10 +00:00
Keir Fraser 60cbee2041 xm: Fix xm vcpu-pin to complain for CPU numbers out of range.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
2008-02-20 17:42:12 +00:00
Keir Fraser 474bc9e5bc x86 shadow: Minor fix to the fast emulation patch.
The fast emulation path patch introduced a bug when we have an event
injection during a write to a pagetable: after removing shadows we
still jump to the done label, releasing the lock even if we aren't
grabbing it.

Signed-off-by: Gianluca Guida <gianluca.guida@eu.citrix.com>
2008-02-20 17:38:19 +00:00
Keir Fraser 3bb4f99d8c x86 hvm: Replace old MMIO emulator with x86_emulate()-based harness.
Re-factor VMX real-mode emulation to use the same harness.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-02-20 14:36:45 +00:00
Alex Williamson 10d08139c5 merge with xen-unstable.hg 2008-02-19 11:14:40 -07:00
Alex Williamson 22ac8aab98 [IA64] Fix getvcpucontext hypercall
NaT bits for r1-r31 from xc_vcpu_getcontext() are broken.
HVM domain is confused by unknown Nat consumption fault
after domain restore or migration.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-02-19 09:28:09 -07:00
Alex Williamson 9fc6c6d6f6 [IA64] Fix shadow_op_off hypercall
A domain might panic with unknown dirty bit fault
in case of live-migration failure.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2008-02-19 09:26:39 -07:00
Alex Williamson 648cf0c33c [IA64] Avoid wild use of registers.
This patch avoids wild use of registers (r9,p6,p7) in guest_vhpt_lookup.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
2008-02-19 09:25:22 -07:00
Alex Williamson c298e49c5a [IA64] Handle long vhpt format for ttag and thash.
Improve tak emulation.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
2008-02-19 09:22:25 -07:00
Alex Williamson abb091258c [IA64] Self IO EMUlator - tools part
Signed-off-by: Tristan Gingold <tgingold@free.fr>
2008-02-19 08:12:28 -07:00
Alex Williamson a79331638d [IA64] Self IO EMUlator (sioemu) - Hypervisor part
Implements Self IO-EMUlator.  It's an hybrid domain: looks
like PV from an external point of view but runs with VTI enabled.

All MMIO/IO writes/reads are reflected to the firmware, which converts the
access to PV drivers requests.

Signed-off-by: Tristan Gingold <tgingold@free.fr>
2008-02-19 08:11:22 -07:00