Assign an unlabeled resource the __UNLABELED__ label rather than
failing the lookup in the dictionary and catching the exception.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
that our headers are not built with __GNUC__ and __STRICT_ANSI__.
__extension__ had some weird (and buggy) behaviours when nested which
make it a risky proposition for general usage in our header
files. Better to disallow -ansi, -std=c99, and similar gcc options
when building against Xen headers.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
Attached patch adds dynamic frame buffer size support to the xenfb PV
backend QEMU xenfb. Backend sets feature-resize and handles the
resize frame buffer event.
Corresponding frontend LINUX patch is required for functionality but
this patch is not dependent on it, preserving backwards
compatibility.
Signed-off-by: Pat Campbell <plc@novell.com>
Add the missing condition check and use average value instead of the
sum value of Vcpus pinning cpus on certain node to choose relaxed node.
Signed-off-by: Duan Ronghui <ronghui.duan@intel.com>
This patch fixes methods in SrvDomain class for inactive managed
domains. They should use a domain name because inactive managed
domains don't have a domID.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
once the domain is started (before it's there). Once xend is restarted
it will not know the association between the VBD and VDI anymore due
to the missing UUID. This patch fixes this.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
Add opengl support for rendering the guest framebuffer in the SDL
window. SDL is needed anyway to open the window and handle the
events. Opengl rendering is optional and can be turned off at both
compile time and in the vm configuration file.
Some of the benefits of using opengl are:
- faster rendering, less CPU intensive, especially with good graphic
cards;
- makes the window resizing possible and hardware accelerated, thus
very efficient and smooth;
- allows other optimizations like sharing directly a buffer in vram
with the guest (not yet implemented).
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
When I stopped xend by xend stop command, a domain suspend processing
is frequently failed. This patch solves the problem.
Step to reproduce:
1. xm new XXX on_xend_stop="suspend"
2. xm start XXX
3. xend stop
In the xend stop, if the domain suspend processing is slept by
state_updated.wait() of waitForShutdown(), then the domain suspend
processing is not waked up again because state_updated.notifyAll()
of _stateSet() is not executed.
For the reason, processing of _on_domains_changed() is waited by
domains_lock.acquire() because the domain suspend processing is
keeping domains_lock and sleeping. The domain suspend processing
got domains_lock at cleanup_domains().
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
When doing a 'virsh detach-disk' on a running domain, the disk is not
removed from the configuration file. Allow a caller to specify
whether or not to change the file.
Signed-off-by: Ryan Scott <ryan.scott@sun.com>
XenAPI defines the platform attribute of a VM as a string-string map
but in various code paths in xend the platform entries are expected to be
another type, e.g. int. This patch defines the types of each platform
entry and converts the entry values to appropriate type when new domU
configuration is created via XenAPI.
Alternatively the values could be casted to appropriate type when used
but seems prudent to do the conversion when domU configuration is
created.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
When creating a rfb console via XenAPI the device model is not being
set to qemu-dm, resulting in no pvfb since qemu-dm is not launched
when domU is started. This patch sets device model when a rfb console
is created via XenAPI.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
Many of the new domU config options related to hvm guests (e.g. hpet,
rtc_timeoffset, etc.) are not initialized with default values via
XenAPI, which prevents starting an hvm domU created through XenAPI.
This patch ensures the new options are set with appropriate default
values in XendConfig platform sanity check.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
The TAP/TUN devices are used for connection to a HVM domain, but there
is no relationship between each name of the devices and its domain
ID. This patch assigns a HVM domain ID to each TAP/TUN device name.
Signed-off-by: MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp>
Add support for a tap:ioemu pseudo driver. Devices using this driver
won't use tapdisk (containing the code duplication) any more, but will
connect to the qemu-dm of the domain. In this way no working
configuration should be broken right now as you can still choose to
use the tapdisk drivers.
Signed-off-by: Kevin Wolf <kwolf@suse.de>
We cannot currently change cpu affinity definitions of inactive
managed domains by xm vcpu-pin command. This patch enables changing
cpu affinity definitions of inactive managed domains. However, we
cannot change cpu affinity definitions to each vcpu because we cannot
currently define cpu affinity definitions to each vcpu to domain
configuration definitions. Therefore, we need to specify 'all' to
VCPU argument of xm vcpu-pin command.
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
Adds NUMA node migration based on live migration to
xend. By adding another parameter to "xm migrate" the target NUMA node
number gets propagated to the target host (can be both localhost or a
remote host). The restore function then sets the VCPU affinity
accordingly. Only changes Python code in xend. I hope that the patch
doesn't break XenAPI compatibility (adding a parameter seems fine?).
# xm migrate --live --node=<nodenr> <domid> localhost
<nodenr> is the number as shown with 'xm info' under node_to_cpu
I am aware that using live migration isn't the best approach (takes
twice the memory and quite some time), but it's less intrusive and
works fine (given localhost migration stability...)
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
correct log file.
At the same time, this patch renames the logfile to be
'qemu-dm-{NAME}.log' instead of qemu-dm-{ID}.log. This makes it
easier to track/find the QEMU logfile associated with a VM. It will
also save 1 backup qemu-dm-{NAME}.log.1 so if a domain crashes &
restart, you don't loose/overwrite the logfile immediately.
Finally it changes the QEMU monitor prompt back to '(qemu)' instead of
'(HVMXen)' because automated tools /scripts interacting with QEMU's
monitor need a consistent prompt to look for & changing it for Xen
serves no useful purpose.
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
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>
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>
** Currently only 2 virtual hotplug pci slots(6~7) are created so more
than 2 vtd dev can't be hotplugged, but we can easily extend it in
future.
Three new commands are added:
"xm pci-list domid" show the current assigned vtd device, like:
VSlt domain bus slot func
0x6 0x0 0x02 0x00 0x0
"xm pci-detach" hot remove the specified vtd device by the virtual
slot, like:
xm pci-detach EdwinHVMDomainVtd 6
"xm pci-attach DomainID dom bus dev func [vslot]" hot add a new vtd
device in the vslot. If no vslot specified, a free slot will be picked
up. e.g. to insert '0000:03:00.0':
xm pci-attach EdwinHVMDomainVtd 0 3 0 0
** guest pci hotplug
linux: pls. use 2.6.X and enable ACPI PCI hotplug ( Bus options=> PCI
hotplug => ACPI PCI hotplug driver )
windows: 2000/xp/2003/vista are all okay
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Make qemu unblock SIGHUP and make sure the default handler is in
place. Have the domain killer send SIGHUP to the device-model script,
allow the script 10s to clean up, and if still not dead, send
SIGKILL.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Currently, a wrong value of maximum memory size is checked by
_safe_set_memory() and _memory_sanity_check().
Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
A new platform variable 'hpet' is added, which defaults to 0 for new
guests (that is, hpet disabled). Default is off (no hpet) because
hpet is currently less accurate in keeping time than PIT (because no
timer_mode adjustments).
Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
via the 'kernel' config option:
1. Look for any string containing 'hvmloader'.
2. The 'kernel' option must be scrubbed to avoid taking
PV-kernel-loading paths during later guest setup.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
When setting
vfb = [ 'type=sdl' ]
in a domain config file, qemu seems to be still using vnc. Make it use
sdl as expected.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>