Commit Graph
8826 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 55c5cfb9b4 Absolutely must not return to HVM guest context until
synchronous I/O emulation is completed.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-13 12:16:16 +01:00
kaf24@firebug.cl.cam.ac.uk 11a47e4094 Fix error exit path in __gnttab_map_grant_ref() to
put_domain() and hence avoid zombie domains.

Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
2006-02-13 10:23:26 +01:00
kaf24@firebug.cl.cam.ac.uk 434badf2d4 Clean up vmxassist/setup.c. It is no longer necessary to
switch to an alternate page table before entering the
real-mode emulator.

Signed-off-by: Xin B Li <xin.b.li@intel.com>
Signed-off-by: Leendert van Doorn <leendert@watson.ibm.com>
2006-02-13 10:19:14 +01:00
kaf24@firebug.cl.cam.ac.uk 7e75b05fb4 Rework hvm_wait_io() -- now tries to be a polite user of
event channels by re-setting the selector and master 
pending flags when it exits. Should make for better
behaviour when there are others using the event channels.

This needs some testing to be sure it doesn't break
anything or trigger latent bugs.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-11 13:06:49 +01:00
smh22@firebug.cl.cam.ac.uk 5308792975 Reset sp on vcpu_prepare; this avoids 'leaking' stack after repeated
save/restore/migrate iterations. 

Should fix various crashes observed with save/restore/migrate of multi
VCPU guests. 

Signed-off-by: Steven Hand <steven@xensource.com>
2006-02-10 17:57:13 +01:00
mjw@wray-m-3.hpl.hp.com 1f536766b7 Fix exporting vnet config to xenstore.
Signed-off-by: Mike Wray <mike.wray@hp.com>
2006-02-10 17:14:56 +01:00
kaf24@firebug.cl.cam.ac.uk 3735265f4a Avoid misleading message about 'not using swiotlb' on x86/64
domain0. Provide a temporary glue between our swiotlb
implementation and x86/64's dma_ops dynamic dma-mapping
infrastructure.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-10 12:35:19 +01:00
emellor@leeni.uk.xensource.com ae52011af4 Cope with -1 eventchn_fd -- this occurs when using --no-domain-init (a
command line debugging option).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-02-10 03:23:36 +01:00
emellor@leeni.uk.xensource.com b3f1f6b348 Parse --port argument to migration.
Patch by Andres Lagar Cavilla <andreslc@cs.toronto.edu>.
 
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-02-10 02:09:19 +01:00
adam@ipcoast.com ea0b436b80 Fix xm-test network tests to work with hvm support enabled. 2006-02-10 02:05:26 +01:00
emellor@leeni.uk.xensource.com 5d2dd219c2 The attached patch adds 'xm vtpm-list <DomId>' functionality.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-02-10 02:04:24 +01:00
emellor@leeni.uk.xensource.com 3f3e0cd4be Rather than require config changes if you aren't using eth0, use the
default network device available no matter the name. It can still
be configured if you want a specific network device.

Patch by Bill Nottingham <notting@redhat.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-02-10 02:03:24 +01:00
kaf24@firebug.cl.cam.ac.uk 30ed8dac34 Check the hypercall number in the privcmd hypercall ioctl.
We check it is a member of a small set of permitted hypercalls.
Fix libxenstat to not use multicalls (not permitted, and not
need for efficiency in libxenstat).

Based on an original patch by Chris Wright.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-02-10 00:16:53 +01:00
kaf24@firebug.cl.cam.ac.uk f1e6a1060a Remove Xen-specific param.h: has only cosmetic change from mainline.
-#define CLOCKS_PER_SEC        (USER_HZ)       /* like times() */
+# define CLOCKS_PER_SEC                (USER_HZ)       /* like times() */

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-02-10 00:00:17 +01:00
kaf24@firebug.cl.cam.ac.uk 8e6719ccc1 pci-nommu-xen.c is identical to its mainline counterpart so remove it.
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
2006-02-09 23:15:21 +01:00
kaf24@firebug.cl.cam.ac.uk 337ef6a04c Remove defunct compile option CONFIG_XEN_SHADOW_MODE.
It has been superceded by run-time flag
XENFEAT_auto_translated_physmap.

This patch changes behaviour slightly:
 1. set_pmd/set_pgd/set_pud always use mmu_ops, even when
    XENFEAT_writable_page_tables is available. Unclear whether
    we want to add a test to avoid this.
 2. xen_l1_entry_update always uses mmu_op. Again, could gate
    this on XENFEAT_writable_page_tables.
 3. We always pin/unpin pagetables. Could gate this on a 
    new XENFEAT flag.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 20:25:33 +01:00
kaf24@firebug.cl.cam.ac.uk 4e2631d75c Delete old 'shortcut' function __shadow_status() and
rename the core function ___shadow_status() to take its
place.

The 'fast path quick test' was ridiculously bloated and
didn't work for PGT_fl1_shadow pages.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 18:35:15 +01:00
kaf24@firebug.cl.cam.ac.uk 1b0340715d Don't specify VT console structure at all when specifying
!console_use_vt. The dummy_con just confuses the VT
implementation and you get no console output without manually
specifying a console= boot parameter.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 17:42:51 +01:00
kaf24@firebug.cl.cam.ac.uk 39f899fcc5 Add a vnet chapter to the user manual.
Signed-off-by: Mike Wray <mike.wray@hp.com>
2006-02-09 16:12:48 +01:00
kaf24@firebug.cl.cam.ac.uk 4c315184c0 Update vnets to support UDP encapsulation, multicast forwarding
and optionally running in user-space.

Signed-off-by: Mike Wray <mike.wray@hp.com>
2006-02-09 16:12:11 +01:00
kaf24@firebug.cl.cam.ac.uk cbed226d72 Do_softirq is invoked at the path of ia64_leave_kernel instead of
being invoking in function irq_exit, which is aligned with XEN/X86 and
avoids __enter_schedule being reentered.

Signed-off-by Anthony Xu <anthony.xu@intel.com>
2006-02-09 16:09:00 +01:00
kaf24@firebug.cl.cam.ac.uk 6d3a6af8ed Make a VTI domain boot again.
Signed-off-by Anthony Xu <anthony.xu@intel.com>
2006-02-09 16:03:17 +01:00
kaf24@firebug.cl.cam.ac.uk f0a5649694 Remove xennull_con. Use dummy_con.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 15:57:52 +01:00
cl349@firebug.cl.cam.ac.uk 36dd99577d Fix typos in Kconfig files.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-09 13:54:58 +00:00
kaf24@firebug.cl.cam.ac.uk 646568b23c Fix CPU hotplug.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 14:52:40 +01:00
kaf24@firebug.cl.cam.ac.uk 1fe5f9e97e More details on ordering and safety of the Xen timer API.
Most functions are safe to call after a timer structure
has been initialised to all zeroes, as long as they are
*never* called concurrently with init_timer().

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 12:17:35 +01:00
kaf24@firebug.cl.cam.ac.uk 447e708047 Fix CPU-migration of VMX domains.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
2006-02-09 12:10:28 +01:00
smh22@firebug.cl.cam.ac.uk 35d92ef39d Quiet down wbinvd warning for verbose/debug builds of xen.
Signed-off-by: Steven Hand <steven@xensource.com>
2006-02-09 11:32:17 +01:00
rread@ubuntu.eng.hq.xensource.com ebaab45e14 Fix the backward compatibility support for using 'vcpus' in the image section of the domain sexp.
Signed-off-by: Robert Read <robert@xensource.com>
2006-02-08 19:20:51 -07:00
kaf24@firebug.cl.cam.ac.uk c362c8308e Fix x86_64 CPU hotplug by paravirtualizing the play_dead() function.
Also fix the i386 play_dead() function to call idle_task_exit(),
which ensures the CPU exits while running the init_mm. Otherwise
other tasks may get stuck.

Signed-off-by: Ryan Grimm <grimm@us.ibm.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-09 00:27:52 +01:00
kaf24@firebug.cl.cam.ac.uk e5d704d01e The NAT checksum fixes in patches/linux-2.6.16-rc2/net-csum.patch do
not work when port numbers are modified (bug 447).
tcp_manip_pkt()/udp_manip_pkt() modify the protocol checksum to
reflect the changes to ip addresses and port numbers.  When
dev_queue_xmit() finds a message with proto_csum_blank set, it
calculates a new tcp/udp checksum that includes both the modified port
numbers and the modified protocol checksum field...  so the change to
the port numbers affects the protocol checksum twice.

This patch modifies net-csum.patch to remove the checksum mangling for
port numbers in tcp_manip_pkt()/udp_manip_pkt()

Signed-off-by: Jim Dykman <dykman@us.ibm.com>
2006-02-09 00:22:38 +01:00
kaf24@firebug.cl.cam.ac.uk 2251ccb98d Attached patch for svm will enable a tlb flush for each vmrun.
Setting the tbl_control flag to 1 in the vmcb, causes a complete tlb
flush on this core.  We have seen issues (blue screens) when utilizing
ASID granularity with WinxpSP1 running on cores>0.  we have found that
flushing the TLBs each vmrun alleviates winxpsp1 crashes.  We have also
sometimes seen a substantial performance improvement(!) when flushing
each vmrun, which was completely unexpected.  We are continuing to
investigate root cause, but for the moment, we would like to just flush
each vmrun. Digging around in the SPT code might be necessary here also.

Signed-off-by: Tom Woller <thomas.woller@amd.com>
2006-02-09 00:13:46 +01:00
kaf24@firebug.cl.cam.ac.uk 6472d24751 Fix Xen timer interface to allow migration of timers
among CPUs (using new migrate_timer() call). Fix the
locking protocol in light of this addition.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-08 17:27:32 +01:00
kaf24@firebug.cl.cam.ac.uk 55a07900b4 Prevent a guest from specifying its own domain id when
making a 'foreign' page mapping. It must use DOMID_SELF.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-08 17:26:20 +01:00
kaf24@firebug.cl.cam.ac.uk 8f5a16e68d Add 'dom0_max_vcpus' Xen boot parameter.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-08 17:25:14 +01:00
kaf24@firebug.cl.cam.ac.uk 3058bd4b35 Fix i386 CPU hotplug, and CPU hotplug when maxcpus= kernel boot option is used.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-08 17:24:29 +01:00
cl349@firebug.cl.cam.ac.uk addd7afd98 Add m2p translation to read_cr3 on x86_64.
From: Jan Beulich <JBeulich@novell.com>
From: Nakajima, Jun <jun.nakajima@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:58:01 +00:00
cl349@firebug.cl.cam.ac.uk 4c33e3bc04 x86-64 linux: remove dead code
Remove left-over pieces from native interrupt handling.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:45:11 +00:00
cl349@firebug.cl.cam.ac.uk 83f96ddf65 x86-64 linux: CONFIG_ACPI_BOOT doesn't exist anymore
From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:43:01 +00:00
cl349@firebug.cl.cam.ac.uk c81c906ac3 linux: don't export evtchn_do_upcall()
Remove the export of evtchn_do_upcall().
Given the constraints on the use of this function (should run at least
with irqcount adjusted properly, preferrably also on irq stack), it
doesn't seem reasonable for this function to be exported.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:38:38 +00:00
cl349@firebug.cl.cam.ac.uk 5196eb3f94 x86-64 linux: properly exit idle mode from evtchn_do_upcall()
Add a call to exit_idle() when evtchn_do_upcall() calls
evtchn_device_upcall() instead of do_IRQ().

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:36:49 +00:00
cl349@firebug.cl.cam.ac.uk ba4485632d x86-64 linux: call evtchn_do_upcall on irq stack and adjust irqcount
Especially in the light of the recent no-idle-tick preparations in
native x86-64 it is important that exit_idle() has proper state
available.  For this reason, the processor's irqcount must be adjusted
within upcalls, and for consistency and similarity with native code
this call should also execute on the processor's irq stack.
At once the patch slightly simplifies the pre-existing code by copying
%rdi into %rsp instead of adding 8 to %rsp, and by using %rdi instead
of %rsp (avoiding a needless resource dependency) for storing the event
mask.

From: Jan Beulich <JBeulich@novell.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 15:31:38 +00:00
cl349@firebug.cl.cam.ac.uk aaf0872464 Use /dev/kmem to map dom0 xenstore page instead of abusing the foreign mapping interface.
Change /proc/xen/xsd_mfn to /proc/xen/xsd_kva containing the kernel
virtual address of the dom0 xenstore page.  Update xenstored to use
/proc/xen/xsd_kva.

Signed-off-by: Keir Fraser <keir@xensource.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-08 12:03:52 +00:00
kaf24@firebug.cl.cam.ac.uk 5ceb0a4532 Rationalise initialisation of cpu_possible_map.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-08 11:10:52 +01:00
kaf24@firebug.cl.cam.ac.uk 74bcc224ed /sbin/udev no longer exists in upstream udev, so use udevinfo for
version info.

Signed-off-by: Jeremy Katz <katzj@redhat.com>
2006-02-08 00:30:50 +01:00
john.levon@sun.com a7c8d79dcf Fix pygrub to handle timeout of -1 (wait forever).
Only call use_default_colors() if it's available.

Signed-off-by: John Levon <john.levon@sun.com>
2006-02-07 20:46:13 +00:00
cl349@firebug.cl.cam.ac.uk 96b9e930ec Clean up the TPM stack a bit.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-02-07 20:38:44 +00:00
kaf24@firebug.cl.cam.ac.uk e808fe9ad9 Since USER_PTRS_PER_PGD depends on TASK_SIZE and thus on the current
thread, it must not be used in code that can be called in the context
switch path (otherwise the 32-bitness of the outgoing task is used
here rather then the 32-bitness of the incoming one, possibly
resulting in large parts of the page tables not getting converted to
read-only).

Signed-off-by: Jan Beulich <JBeulich@novell.com>
2006-02-07 19:16:11 +01:00
cl349@firebug.cl.cam.ac.uk 8a0cd2e31b Fix ia32 support.
From: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2006-02-07 15:24:04 +00:00
kaf24@firebug.cl.cam.ac.uk ba9adb737b Apply stricter checking to RDMSR/WRMSR emulations.
In particular, MSRs that domain0 may write to must now
be 'white listed': default policy is to ignore the write.

This will prevent SYSCALL/SYSENTER instructions from
crashign Xen, by preventing the target MSRs from being
overwritten by domain 0.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-02-07 15:56:39 +01:00