Commit Graph
17259 Commits
Author SHA1 Message Date
Keir Fraser df4e524d8d minios: Automatically set IP from XenStore information
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-19 16:20:14 +00:00
Keir Fraser 6fef410021 blktap: Fix BSD build failure.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
2008-03-19 16:19:10 +00:00
Keir Fraser 10b787dabd AMD IOMMU: Fix up coding style issue in amd iommu files
Signed-off-by: Wei Wang <wei.wang2@amd.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 16:16:24 +00:00
Keir Fraser 8e9ef4c5ce ioemu: fix sdl opengl rendering
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2008-03-19 14:13:17 +00:00
Keir Fraser f9aa19ee3a tapaio build fix
With some combinations of compiler flags (no optimization, -Werror),
the compiler may complain that the function doesn't have a return
statement (even if the function actually just never returns), reported
as bug 1128. This adds a dummy return statement.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-19 14:12:12 +00:00
Keir Fraser 418e3b2d34 acpi: hwregs.c only needed on x86.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 14:11:22 +00:00
Keir Fraser 54baaeb059 x86_emulate: Remove the CPL and IOPL check in the I/O handling code.
The check is already carried out by the processor during VMEXIT, where
that is required.

Signed-off-by: Xu Dongxiao <dongxiao.xu@intel.com>
2008-03-19 14:08:02 +00:00
Keir Fraser 7065b5e4c1 x86_emulate: Return X86EMUL_UNHANDLEABLE if mode_iopl() or
mode_ring0() checks cannot be carried out.
Also fix handling of EFLAGS.IF in iret and popf.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 14:06:18 +00:00
Keir Fraser f966bc9fc5 libxc: Remove permute() function from xc_domain_save().
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 12:41:48 +00:00
Keir Fraser d138d431e1 x86 ACPI sleep: Fix a bug when ACPI registers in System_Memory
Some ACPI registers may be in System_Memory but not System_IO space,
For these machines S3 fails since current Xen use I/O instructions (e.g.
inb(), outb(), etc.) to access ACPI registers. The patch attached fix
the bug by adding GAS (generic address structure) support ported from
Linux, which should also benefit later ACPI activity within Xen.

Signed-off-by: Huacai Chen <huacai.chen@intel.com>
2008-03-19 10:33:13 +00:00
Keir Fraser fd4c279fb1 Intel VTD: Ignore USB RMRR for HVM guest
USB controller RMRR (0xed000 - 0xeffff) conflicts with HVM guest bios
region. Setting identity mapping for it will cover the guest bios
region in p2m table. This causes system crash.

As VT-d spec says, USB controller RMRR is used in case of DMA
performed by a USB controller under BIOS SMM control for legacy
keyboard emulation. Whereas, current guest BIOS doesn't support
emulating stardand Keyboard/mouse, and it also doesn't support SMM
mode. Actually it is no chance to use USB controller RMRR now.

This patch ignores the USB controller RMRR for HVM guest.

Signed-off-by: Weidong Han <weidong.han@intel.com>
2008-03-19 10:22:49 +00:00
Keir Fraser 2795200267 tools: More accurate parsing of pci config.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-03-19 10:21:01 +00:00
Keir Fraser cccd453197 xend: Fix and improve default NUMA node selection.
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>
2008-03-19 10:20:17 +00:00
Keir Fraser 67ae17b562 Fix methods in SrvDomain class for inactive managed domains
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>
2008-03-19 10:18:36 +00:00
Keir Fraser 5a8637ac0e x86: Avoid dereference of 'struct page_info' for invalid MFNs.
Introduced by my changes to Samuel's transitive-privilege patch.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 10:15:01 +00:00
Keir Fraser 4983e5c3b8 ioemu: Improve SDL openGL configure-script detection.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-19 00:01:25 +00:00
Keir Fraser 8491525fc2 ia64: Fix ACPI header inclusion into libxc.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
2008-03-18 21:05:47 +00:00
Keir Fraser 4097715c73 save/restore: Permute saved memory with 2MB chunk size.
The memory permutation cause a slow down in case of a save/restore
(bug 1143). It works better when the mixing is done with 2MB chunks.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
2008-03-18 19:36:43 +00:00
Keir Fraser 08706d4192 ia64: Fix build after ACPI header churn.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 19:28:09 +00:00
Keir Fraser 2e21994a82 x86: stub domains and page ownership for mapping in dom0
In the case of an ioemu stubdomain with SDL or vnc server running in
dom0, we want to have the stubdomain expose the HVM guest's video RAM
through PVFB.

However, to map the pages from dom0, xenfb uses xc_map_foreign_pages
with the stubdomain ID as domid (since that is what is advertised in
the PVFB protocol, and needed for other parts of the protocol), and
thus get_page_from_l1e() complains because the stubdomain is not the
owner of the pages.  In such case, this patch checks that the
stubdomain has privileges on the actual owner of the pages, and then
accept the mapping.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 16:15:24 +00:00
Keir Fraser d9f7477cfa x86: fix feature availability for PV guests
PV guests should not be allowed to believe features not currently
virtualized (in many cases, requiring special MSRs) are available. Of
course it is bad enough that to work on older hypervisors guests will
still need to special case this, but better fix it now than never.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2008-03-18 16:05:24 +00:00
Keir Fraser 402f603f49 x86: check ModR/M mod bits for CR/DR access insns
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 16:02:36 +00:00
Keir Fraser 102cd68e62 vfb: Add opengl option
(and replace bogus vncpasswd copy in xenapi_create in the SDL case)

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 15:51:19 +00:00
Keir Fraser ed2a38e005 svm: Reported SS.DPL must equal CPL, as this is assumed by generic HVM
code despite the fact that AMD processors do not always maintain this
invariant.

Based on a bug report and proposed patch by Ben Guthro and Robert
Phillips of Virtual Iron.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 15:26:35 +00:00
Keir Fraser b265978030 domain_shutdown() needs to vcpu_pause_nosync() rather than directly
incrementing the pause_count field. The latter ensures that the VCPU
gets descheduled --- synchronously in the case of the
currently-running VCPU.

Based on a bug report and proposed patch by Ben Guthro and Robert
Phillips of Virtual Iron.

Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 15:23:25 +00:00
Keir Fraser 73b87afff2 p2m: hap enabled/supported fix
Check for per domain hap_enabled rather than hvm_funcs hap_supported,
in case hap has been disabled.

Alleviates problem booting >=4Gig shadow HVM guests on PAE hypervisor
on AMD-V platforms.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2008-03-18 15:03:43 +00:00
Keir Fraser 86d8fe5e6a libxc: Variable-size gntdev support
This patch adds the ability to set the number of slots that may be
used for mapping grant references, using the gntdev user-space grant
reference mapping driver.

Signed-off-by: Derek Murray <Derek.Murray@cl.cam.ac.uk>
2008-03-18 15:00:33 +00:00
Keir Fraser 0de39e4027 Update ACPI headers to Linux 2.6.24.
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 14:55:36 +00:00
Keir Fraser 751e5ae7c3 Xend forgets to write the domain's VDI UUID into the domain state file
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>
2008-03-18 13:14:26 +00:00
Keir Fraser a5678887cc stubdom: disable xen_blktap
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 13:13:31 +00:00
Keir Fraser d375fff68c Install missing hvm public headers.
Signed-off-by: Ben Guthro <bguthro@virtualiron.com>
2008-03-18 13:11:43 +00:00
Keir Fraser 4313213ee3 vmx: fix debugctl handling
I recently realized that the original way of dealing with the DebugCtl
MSR on VMX failed to make use of the dedicated guest VMCS field. This
is fixed by this patch.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
2008-03-18 13:10:57 +00:00
Keir Fraser ff02680748 ioemu: Set subsystem vendor/device for ne2k device model.
From: Kamala Narasimhan <kamala.narasimhan@citrix.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 13:08:30 +00:00
Keir Fraser 1fa1369d8a ioemu: SDL rendering using OpenGL
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>
2008-03-18 11:47:58 +00:00
Keir Fraser 985bf498a5 minios: avoid putting trailing \0 in xenstore
xenstore expects to get the exact amount of data, without
the trailing \0.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:40:30 +00:00
Keir Fraser d61f17ab72 tools: Add PV passthrough PCI device hotplug support.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
2008-03-18 11:39:21 +00:00
Keir Fraser bfe18b4f3a Fix domain suspend by xend stop
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>
2008-03-18 11:34:44 +00:00
Keir Fraser 7564231fbc xm: allow non-existent readline module
Let xm work even if Python doesn't have its readline module installed.

Signed-off-by: John Levon <john.levon@sun.com>
2008-03-18 11:32:06 +00:00
Keir Fraser 83d6140b39 Allow libvirt to specify force, rm_cfg
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>
2008-03-18 11:31:39 +00:00
Keir Fraser b9d1950675 minios: Fix lost events
evtchn_bind_interdomain used to clear any already pending event before
binding a handler, because else the handler may be called before it is
ready. That however leads to missed events, which I had to workaround
for the HVM case.

This changes the semantics of bind_evtchn, and thus of all the
event channel binding functions (bind_virq, evtchn_alloc_unbound,
evtchn_bind_interdomain) into not unmasking the event itself, hence
letting the caller initialize properly before unmasking the port (e.g.
record the port number in an appropriate place).

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:29:18 +00:00
Keir Fraser 62341d01ee stubdom: fix select calls after CDROM ejection
by calling qemu_set_fd_handler before closing the fd.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:28:14 +00:00
Keir Fraser caa44aa73f stubdom: support save/restore by passing the -loadvm parameter,
letting the stubdomain access the save area, and having it watch the
correct xenstore node.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:27:36 +00:00
Keir Fraser 37a1d36134 stubdom: add support for reading the command line from the config
file, and merge the dmargs with it in the case of qemu.

Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:27:05 +00:00
Keir Fraser b1c30105ce stubdom: Add support for select() call with NULL arguments.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:26:43 +00:00
Keir Fraser 1add612bf5 Stubdom: add support for file creation.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
2008-03-18 11:26:21 +00:00
Keir Fraser b698a6a18c x86_64: Make VGCF_in_syscall definition available to assembly code.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
2008-03-18 11:15:20 +00:00
Keir Fraser 8ff66a38fa Convert XenAPI platform values to appropriate types.
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>
2008-03-18 11:07:00 +00:00
Keir Fraser 97ae3c0202 Set device model when creating rfb console via XenAPI
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>
2008-03-18 11:06:26 +00:00
Keir Fraser d8cdbecc65 Initialization of new domU config options via XenAPI
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>
2008-03-18 11:05:53 +00:00
Keir Fraser 2376142a75 Add periodic fflush to xentop batch mode.
From: Yusuke KANEKI <Kaneki.Yusuke@ea.MitsubishiElectric.co.jp>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
2008-03-18 11:04:20 +00:00