Ewan Mellor [Thu, 9 Nov 2006 11:02:48 +0000 (11:02 +0000)]
Replace uses of the typename (e.g. xen_host) where its used as a variable name.
This is an unusual style, and out of sync with the rest of the library.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 18:14:53 +0000 (18:14 +0000)]
[HVM] Change vlapic printk()s into appropriate gdprintk()s.
Simplify apic_round_robin().
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 17:53:05 +0000 (17:53 +0000)]
[HVM] Clean up two small APIC TDCR issues.
First, only save the bits that can be set, so that on a subsequent
read can't see MBZ bits as set. Next, be sure to initialize the
timer_divide_count, which is derived from the TDCR. This avoids a
potential divide-by-zero elsewhere in the code.
The original patch was provided by Ben Thomas <ben@virtualiron.com>.
This modified version refactors the code slightly and renames
timer_divide_count to timer_divisor.
Signed-off-by: Keir Fraser <keir@xensource.com>
Ian Campbell [Thu, 9 Nov 2006 17:28:12 +0000 (17:28 +0000)]
Add net-gso-5-rcv-mss.patch to series file. This was missed in
11845:
6677b97612a2
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 17:23:58 +0000 (17:23 +0000)]
[HVM] Clean up IOREQ state managemnet and evtchn notifications.
Based on a patch from Xin Li <xin.b.li@intel.com>. Changed
significantly on the Xen side -- not as cut down as the original
patch: this one keeps the xen_event_channel 'API' unchanged.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 16:50:44 +0000 (16:50 +0000)]
[XEN] Missed interface update belonging to previous changeset.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 16:49:59 +0000 (16:49 +0000)]
[BLK] Add support for barrier writes to blkfront/blkback.
Protocol changes:
* There is a new operation (BLKIF_OP_WRITE_BARRIER)
to pass on barrier requests.
* There is a new state (BLKIF_RSP_EOPNOTSUPP) to indicate
unsupported operations (barrier writes may fail depending
on the underlying block device).
* A new xenstore node named "feature-barrier" indicates the
backend is able to handle barrier writes. The value can
be 1 (all is fine) or 0 (underlying block device doesn't
support barriers).
blkback changes: Add "feature-barrier" node to indicate barrier
support, pass incoming barrier requests to the block layer using
submit_bio(WRITE_BARRIER, bio). Some error handling fixes to
properly pass through barrier write failures, so the frontend
can turn off barriers then.
blkfront changes: Check if the backend sets "feature-barrier", if
present switch to QUEUE_ORDERED_DRAIN mode. Send off barrier
requests to the backend using the new BLKIF_OP_WRITE_BARRIER
operation. Also some error handling for the EOPNOTSUPP case.
Background: Barriers are needed to make journaling filesystems work
reliable. For some requests they need order constrains to make the
transactions work correctly. Barrier requests are used to pass that
ordering information to the block layer and/or to the device, so the
constrains are obeyed when reordering requests for better write
performance.
Signed-off-by: Gerd Hoffmann <kraxel@suse.de>
Alastair Tse [Thu, 9 Nov 2006 16:20:58 +0000 (16:20 +0000)]
Merge
Alastair Tse [Thu, 9 Nov 2006 16:20:26 +0000 (16:20 +0000)]
[XM-TEST] Relax craete_mem*_pos checks to allow a 2MB less than
expected.
Now that xm list outputs the real system memory allocation, this can
be 1-2MB less than expected.
Signed-off-by: Alastair Tse <atse@xensource.com>
Tim Deegan [Thu, 9 Nov 2006 16:06:43 +0000 (16:06 +0000)]
Merge
Tim Deegan [Thu, 9 Nov 2006 16:05:23 +0000 (16:05 +0000)]
[XEN] Console keystroke to reset shadows.
In debug builds, adds a keyhandler that blows away all shadows, to
force them to be rebuilt.
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Alastair Tse [Thu, 9 Nov 2006 16:05:00 +0000 (16:05 +0000)]
[XEND] Ignore dying domains when refreshing list of domains.
Also cleanup stored configuration if managed domain is deleted.
Signed-off-by: Alastair Tse <atse@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 15:38:15 +0000 (15:38 +0000)]
[HVM] Clarify the HVM e820 map. Also make it rather more
conservative wrt the ACPI region. hvmloader should fix up
by freeing unused memory in the range 0xE0000-0x100000.
Signed-off-by: Keir Fraser <keir@xensource.com>
Tim Deegan [Thu, 9 Nov 2006 14:23:24 +0000 (14:23 +0000)]
[PYGRUB] Fix a few bounds violations in pygrub's command-line editor.
Don't step off the end of the line, or delete characters that aren't there.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
Tim Deegan [Thu, 9 Nov 2006 14:11:11 +0000 (14:11 +0000)]
Use libfsimage for reading filesystem images.
Signed-off-by: John Levon <john.levon@sun.com>
Tim Deegan [Thu, 9 Nov 2006 14:09:53 +0000 (14:09 +0000)]
Add libfsimage, a C library for reading files from filesystem images.
Initial support is provided for Solaris UFS, ext2 (both using libext2fs
and not), and reiserfs.
Signed-off-by: John Levon <john.levon@sun.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 14:00:40 +0000 (14:00 +0000)]
[VMXASSIST] Fix mishandling of segment registers on entry into VM86_PROTECTED mode.
The bug occurs when the guest is entering protected mode and reaches
the far jump to set up the 32-bit segment registers for the virtual
VMENTER we're about to perform. vmxassist, in protected_mode(), looks
at the segment registers, which might be 16-bit segments or might be
32-bit segment selectors at this stage (depending on whether the OS
has reloaded them since entering protected mode); and it tries to load
the segments from the GDT. Unconditionally. Even if the segment
register still actually contains a real mode 16-bit segment. Whoops.
vmxassist already has code to detect 16-bit segments that survived
unmodified from a transition into and out of protected mode, and to
save and restore those appropriately. It does this using
"saved_rm_regs", which get cleared on entry to protected mode, and
then set to the old segment value if we fail to set a given 32-bit
segment correctly.
The fix is to save the 16-bit segments *always*, on entry to protected
mode when %CR0(PE) is first set; and to clear the saved 16-bit segment
and set the 32-bit variant in oldctx whenever a 32-bit segment
descriptor is set during the transition to 32-bit CS. Then, when we
finally do the VMENTER, we will set up the VMCS from only the 32-bit
segments, clearing the VMCS entries for segments that have not been
assigned valid 32-bit segments yet.
Tested on various RHEL-5 boot.isos, including ones which worked before
and ones which triggered the bug; all now boot correctly.
Signed-off-by: Stephen Tweedie <sct@redhat.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 13:43:21 +0000 (13:43 +0000)]
[BLKTAP] Fix hotplug script to check if specified file exists.
Now users will see the following error:
[root@bebop ~]# xm create -c 128
Using config file "/etc/xen/128".
Error: Device 51713 (tap) could not be connected.
/tmp/128.img does not exist
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 13:30:16 +0000 (13:30 +0000)]
Add lost record format in xentrace formats file.
Signed-off-by: Xin Li <xin.b.li@intel.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 13:28:45 +0000 (13:28 +0000)]
[IA64][VMX] Fix 3G memory limit for VTi domain.
Signed-off-by : Zhang xiantao <xiantao.zhang@intel.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 13:25:47 +0000 (13:25 +0000)]
[XENSTORE] Fix xenstore-ls program to connect via kernel xenbus
connection by default, like all other client utils.
Signed-off-by: Keir Fraser <keir@xensource.com>
Alastair Tse [Thu, 9 Nov 2006 13:18:58 +0000 (13:18 +0000)]
Merge
Alastair Tse [Thu, 9 Nov 2006 13:16:55 +0000 (13:16 +0000)]
[XEND] Fix bug with managed domains not having their state updated.
Also added some protection against corrupted sxp configuration files.
Signed-off-by: Alastair Tse <atse@xensource.com>
Alastair Tse [Thu, 9 Nov 2006 12:38:12 +0000 (12:38 +0000)]
[XEND] Fix domain_lookup_nr to check managed_domains too.
Bug introduced when moving managed domains out of self.domains caused
domain_lookup_nr ignoring managed domains.
Signed-off-by: Alastair Tse <atse@xensource.com>
Alastair Tse [Thu, 9 Nov 2006 12:36:20 +0000 (12:36 +0000)]
[XEND][XM] Move system memory reporting to XendConfig rather than getSysMem.
Remove the additional XMLRPC calls per domain just to get system
memory and instead make sure we update that value and return it via
the SXP that gets returned when xm list is called.
Signed-off-by: Alastair Tse <atse@xensource.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 12:07:28 +0000 (12:07 +0000)]
[BLK] Expand number of fake-SCSI VBD volumes supported to 120.
Signed-off-by: Takanori Kasai <Kasai.Takanori@jp.fujitsu.com>
Signed-off-by: Tomonari Horikoshi <t.horikoshi@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
kfraser@localhost.localdomain [Thu, 9 Nov 2006 11:47:42 +0000 (11:47 +0000)]
[XENOPROF] Oprofile user level samples for passive domains are being lost.
The number of of lost samples is most significant when dom0 is idle.
From: joserenato.santos@hp.com
Signed-off-by: Keir Fraser <keir@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 18:29:16 +0000 (18:29 +0000)]
Write the /local/domain/<domid>/vm node early in the startup process
(immediately after the domain is created). QEMU needs this in place when it
starts up, in order to find the VNC password.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 18:27:31 +0000 (18:27 +0000)]
Ignore dying domains on recreate, and log the fact.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 15:26:22 +0000 (15:26 +0000)]
Added test_bindings to the ignore list.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 9 Nov 2006 09:04:41 +0000 (09:04 +0000)]
[HVM] Avoid long delay between setting IRQ for PV drivers and
servicing it. Should call service_ioapic() synchronously.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 8 Nov 2006 19:48:46 +0000 (19:48 +0000)]
[HVM] Reserve 2 pages for ACPI tables in e820.
This is required when appending SSDTs to the core
ACPI data.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 17:31:25 +0000 (17:31 +0000)]
[XEN] Do not print grant-table warning if a page cannot be pinned
because the (previous) owner is dying. This quietens down domain
destruction quite a bit.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 16:43:50 +0000 (16:43 +0000)]
[VMX] __vmread() and __vmwrite() now BUG on failure, rather than
returning the error to the caller.
None of our vmcs reads/writes should fail. In fact many callers were
ignoring failures, which can hide bugs (in fact it hid one in
vmx_restore_dr(), which was incorrectly using __vmread() before
the vmcs was loaded).
__vmread_safe() is used by the vmcs dump function, which is the only
function which can legitimately fail a vmcs access.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 15:11:18 +0000 (15:11 +0000)]
[HVM] Simplify relationship between VIOAPIC and VLAPICs.
It's not really dynamic since there is always exactly
one VLAPIC per VCPU.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 15:10:21 +0000 (15:10 +0000)]
[VMX] Check INTR_TYPE is NMI before doing physical NMI processing.
Signed-off-by: Keir Fraser <keir@xensource.com>
jfehlig@jfehlig2.provo.novell.com [Wed, 8 Nov 2006 01:14:16 +0000 (18:14 -0700)]
Add support for VM.destroy RPC in libxen.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
Ewan Mellor [Wed, 8 Nov 2006 13:22:08 +0000 (13:22 +0000)]
Replace uses of [ ... == ... ] with the POSIX-legal single-equals. Tidy up
external-device-migrate script in its handling of parameters.
Patch from Roland Illig <roland.illig@gmx.de>.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 12:56:45 +0000 (12:56 +0000)]
Don't complain about name non-uniqueness if one domain is dying. This happens
across a reboot regularly. Inside _refresh, there is the occasion for new
domains to appear, if an existing domain reboots itself. In this case, we
need to get the list of running domains from Xen again.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 12:26:34 +0000 (12:26 +0000)]
cpu_weight is now an int, not a float.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 12:25:56 +0000 (12:25 +0000)]
Add a shutdownWatch field in the HVMImageHandler constructor, to avoid error
messages if creation fails and the watch gets torn down.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 11:13:50 +0000 (11:13 +0000)]
Refresh the domain list on domain_start or domain_create. We need to do this
so that the list of running domains is up-to-date for the name-uniqueness
check.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 11:08:18 +0000 (11:08 +0000)]
Save the old domid when restarting, as it may get wiped out before we need to
log it (on restart failure).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 10:48:55 +0000 (10:48 +0000)]
[HVM] Remove bogus free of vlapic structure.
It is incorrect now that vlapic is embedded inside
the vcpu structure.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Wed, 8 Nov 2006 10:48:21 +0000 (10:48 +0000)]
[XEN] Add debug mode to xmalloc().
This detects programming mistakes such as:
* double free
* use after free
* write beyond bounds of allocation
Signed-off-by: Keir Fraser <keir@xensource.com>
Ewan Mellor [Wed, 8 Nov 2006 09:50:09 +0000 (09:50 +0000)]
This patch addresses bugzilla #649, enabling `xm list' to display the
actual amount of memory allocated by a guest. Also this patch:
- makes it more apparent that 'xm mem-set' has no effect on HVM's.
- show's that memory is changing if 'xm list' is issued while guest is
ballooning (w/o touching balloon driver)
Signed-off-by: Tommie McAfee <tommie.mcafee@unisys.com>
kasai.takanori@jp.fujitsu.com [Wed, 8 Nov 2006 09:38:06 +0000 (09:38 +0000)]
Add the Japanese keymap for VNC Server.
Signed-off-by: Takanori Kasai < kasai.takanori@jp.fujitsu.com >
Ewan Mellor [Thu, 2 Nov 2006 23:05:24 +0000 (23:05 +0000)]
fix xm-test configure.ac to not define RD_PATH which prevented env override
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Ewan Mellor [Wed, 1 Nov 2006 14:27:54 +0000 (14:27 +0000)]
Update README.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 1 Nov 2006 14:27:29 +0000 (14:27 +0000)]
Fix comment.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 1 Nov 2006 14:27:19 +0000 (14:27 +0000)]
Add helper script for releasing xm-test binary ISOs.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 1 Nov 2006 08:42:02 +0000 (08:42 +0000)]
Bump xm-test version to 1.1 to accommodate new devices.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Ewan Mellor [Wed, 1 Nov 2006 09:21:27 +0000 (09:21 +0000)]
Allow the i386 ramdisk to be used on x86_64. Part of a patch from Yu Ping Y.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Ewan Mellor [Wed, 1 Nov 2006 08:43:54 +0000 (08:43 +0000)]
Correct copy-n-paste error.
Also Whitespace cleanups.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Ewan Mellor [Wed, 1 Nov 2006 08:41:24 +0000 (08:41 +0000)]
Add xvd devices to the initrd.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Ewan Mellor [Wed, 1 Nov 2006 08:39:45 +0000 (08:39 +0000)]
Update all block tests to use the Xen Virtual Block Device (xvd) rather than IDEor SCSI.
This patch also modifies
09_block_attach_and_dettach_device_check_data_pos.py to force / to be
read-write otherwise the mkdir fails.
Also Whistspace cleanups.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Ewan Mellor [Wed, 1 Nov 2006 08:38:22 +0000 (08:38 +0000)]
The XenDomain class does not respect the arch defaults where
as XmTestDomain does. This part of the patch forces both HVM and
non-HVM tests to use XmTestDomain. With appropriate changes to the
extraConfig arg.
On PPC we need to use the arch defaults to get the console setup
correctly.
Signed-off-by: Tony Breeds <tony@bakeyournoodle.com>
Ewan Mellor [Wed, 1 Nov 2006 08:34:55 +0000 (08:34 +0000)]
This fixes another missing part for x86-64 support in the xm testsuite.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@localhost.localdomain [Wed, 8 Nov 2006 00:03:11 +0000 (00:03 +0000)]
[XEN] Put the non-GPL license text in each public header file.
This excludes arch-powerpc.h and xencomm.h which require
confirmation from the original authors that the existing GPL
text can be removed and replaced.
Original patch from: Mark Johnson <mark.johnson@sun.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Tue, 7 Nov 2006 23:14:09 +0000 (23:14 +0000)]
[XEN] Fix 64-bit build.
This required fiddling the asm constraints of the atomic bitops. It
seems gcc isn't entirely happy with "+m": the manual says that the
'+' modifier should be used only when a register constraint is
available.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 18:13:12 +0000 (18:13 +0000)]
[XEN] License clarification.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 17:48:18 +0000 (17:48 +0000)]
[SVM] Fix an interrupt race window in the do_launch/vmrun/vmexit loop for AMD-V.
There is also some comment cleanup in this patch.
This problem found by Virtual Iron (Dave Winchell), and patch also
provided by VI.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Dave Winchell <dwinchell@virtualiron.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 17:46:40 +0000 (17:46 +0000)]
[HVM] VIOAPIC and VPIC cleanups.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 15:48:10 +0000 (15:48 +0000)]
[HVM] VLAPIC cleanups. vlapic tsruct is statically contained
inside the vcpu structure.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 13:13:52 +0000 (13:13 +0000)]
[HVM] Replace shared-memory PIC state with a set-irq-level hypercall.
This simplifies the IRQ logic significantly and avoids the bogus
hvm_pic_assist() on domain resume path.
There is more work to be done here. At least:
1. set-irq-level should really be set-interrupt-wire-level. Wire
state needs to be distinguished from PIC (in particular, PIC IRR)
state.
2. Hypercalls can be batched in qemu and pushed down in one
multicall.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 12:31:17 +0000 (12:31 +0000)]
[BLKTAP] No need for barrier when updating rsp_prod_pvt.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 11:54:52 +0000 (11:54 +0000)]
[LIBXC] Fix memory alloc/dealloc routines to return error properly.
Remove unnecessary decrease_reservation() from hvm builder.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 11:19:26 +0000 (11:19 +0000)]
[IA64] Build blktap driver by default.
Signed-off-by: Aron Griffis <aron@hp.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 11:17:39 +0000 (11:17 +0000)]
[BLKTAP] ia64 support
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 11:14:52 +0000 (11:14 +0000)]
[BLKTAP] avoid race between tapdisk and xvd daemon with ufe_ring.
- Tapdisk updates rsp_cons by ioctl(). on the other hand xvd daemon
reads rsp_cons in do_block_io_op() with RING_FULL().
Copy request and memory barrier before updating rsp_cons.
- Tapdisk access req_prod_pvt with select(). on the other hand xvd
daemon updates it in do_block_io_op().
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 11:01:35 +0000 (11:01 +0000)]
[BLKTAP] Various cleanups necessary for ia64 support.
- remove magic number 8 and 64.
page size / sector size is 8 on x86, however on ia64 page size is
16kb.
blkring size is 64 on x86. however it's 128 on ia64.
- replace 0xFFFF with INVALID_GRANT_HANDLE
- don't map io ring into user space with uncachable.
kernel access the page with cacable and tapdisk uses memory barrier
so that it isn't necessary.
- remove printk warning and inserted new line.
- remove unused variable, page.
- add one BUG()
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 10:48:48 +0000 (10:48 +0000)]
Enhance HVM xentrace:
1) VMX xentrace data are store in current vcpu instead physical CPU.
2) Log PIO data in xentrace.
Signed-off-by: Xin Li <xin.b.li@intel.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 10:46:03 +0000 (10:46 +0000)]
[XENAPI] Add 'image' field to xen_vbd_record, allowing an image to be
associated with the vbd. xend supports this field and the client
bindings need it to support existing images that are not under
control of an SR.
Signed-off-by: Jim Fehlig <jfehlig@novell.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 10:41:35 +0000 (10:41 +0000)]
[XEN] Remove unnecessary FORCE_CRASH() macro.
Signed-off-by: Keir Fraser <keir@xensource.com>
Emmanuel Ackaouy [Tue, 7 Nov 2006 10:37:30 +0000 (10:37 +0000)]
[XEN] When balancing idlers per socket/core, do it one at a time.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 10:19:20 +0000 (10:19 +0000)]
[HVM][SVM] Turn off long mode (EFER.LMA) when CR0.PG==0.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 10:18:50 +0000 (10:18 +0000)]
[HVM][VMX] Disable IA32e mode in VM_ENTRY_CONTROLS when guest tries
to disable PG from LME mode.
Without this patch, the 64 Vista cannot boot.
Signed-off-by: Xiaohui Xin <xiaohui.xin@intel.com>
Signed-off-by: Xin Li <xin.b.li@intel.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 09:48:19 +0000 (09:48 +0000)]
[NET] back: Fix wrap to zero in transmit credit scheduler.
This could happen when credit_bytes == ~0UL (i.e., scheduling is 'disabled').
Signed-off-by: Kirk Allan <kallan@novell.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 09:35:57 +0000 (09:35 +0000)]
[HVM] MAke HVM hypercall table NR_hypercalls entries big.
Otherwise a buggy/malicious HVM guest can cause us to read
off the end of the table.
Signed-off-by: George Dunlap <gdunlap@xensource.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 09:32:02 +0000 (09:32 +0000)]
Trivial change to look in correct location for qemu-dm when using the debug wrapper on a 64 bit system.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 09:29:53 +0000 (09:29 +0000)]
PV-on-HVM: Fix PV-on-HVM drivers need maddr.h included for defn of maddr_t.
Signed-off-by: Takanori Kasai <Kasai.Takanori@jp.fujitsu.com>
Signed-off-by: Tsunehisa Doi <Doi.Tsunehisa@jp.fujitsu.com>
kfraser@localhost.localdomain [Tue, 7 Nov 2006 09:28:18 +0000 (09:28 +0000)]
[LINUX] Use pfn_to_page instead of relying in memory assumptions
This makes usage agnostic wrt the memory model being used.
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
kaf24@localhost.localdomain [Tue, 7 Nov 2006 00:02:52 +0000 (00:02 +0000)]
[HVM] Fix 64-bit HVM domain creation.
1. vlapic must be initialised before VMX-specific init.
2. various shadow tweaks (e.g., check d->vcpu[0] before use).
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Mon, 6 Nov 2006 20:47:10 +0000 (20:47 +0000)]
[SVM] Strip down svm_do_launch() pending complete removal.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Mon, 6 Nov 2006 20:23:08 +0000 (20:23 +0000)]
[SVM] Move VMCB construction to VCPU creation time.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Mon, 6 Nov 2006 18:57:33 +0000 (18:57 +0000)]
[HVM][SVM] Start moving SVM launch code to domain/vcpu initialisation.
This first patch is just enough to get SVM guests working again after
I broke SVM support earlier today.
Signed-off-by: Keir Fraser <keir@xensource.com>
Emmanuel Ackaouy [Mon, 6 Nov 2006 17:32:00 +0000 (17:32 +0000)]
[XEN] Initial support for multi-core and multi-threaded CPU scheduling.
In multi-core and multi-threaded systems, not all idling "CPUs" are
equal: When there are idling execution vehicles, it's better to spread
VCPUs across sockets and cores before co-scheduling cores and threads.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
Emmanuel Ackaouy [Mon, 6 Nov 2006 16:55:56 +0000 (16:55 +0000)]
[XEN] Optimize credit scheduler load balancing logic
When looking for remote work, only look at or grab a remove CPU's
lock when this CPU is not idling.
Signed-off-by: Emmanuel Ackaouy <ack@xensource.com>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 16:36:51 +0000 (16:36 +0000)]
[HVM] Replace relinquish_resources() destructor hook with
separate vcpu and domain destructors that are called at the
point the domain is finally destroyed.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 15:46:28 +0000 (15:46 +0000)]
[HVM] Initialise AP TSC to same as BP TSC.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 15:40:30 +0000 (15:40 +0000)]
[VMX] Get rid of special vm_launch schedule tail.
This required various hacking, including getting rid
of implicit vcpu==current assumption in __vmwrite()
and a couple of tweaks to the shadow code.
Signed-off-by: Keir Fraser <keir@xensource.com>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 13:13:04 +0000 (13:13 +0000)]
[HVM] Move VMX VMCS initialisation to vcpu-initialisation time.
Simplify context initialisation (e.g., no need for selectors to
be given dummy non-zero values).
Signed-off-by: Keir Fraser <keir@xensource.com>
Ewan Mellor [Mon, 6 Nov 2006 11:36:38 +0000 (11:36 +0000)]
Catch IOError when using local configuration files, to give better diagnostics.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 11:03:04 +0000 (11:03 +0000)]
[XEN] Re-jig VCPU initialisation -- VMX init requires generic VCPU
fields to already be allocated. This has led to a general cleanup of
domain and vcpu initialisation and destruction.
Signed-off-by: Keir Fraser <keir@xensource.com>
Steven Smith [Mon, 6 Nov 2006 09:46:13 +0000 (09:46 +0000)]
[HVM] Be sure to nul terminate uuids in HVM SMBIOS tables.
Signed-off-by: Steven Smith <sos22@cam.ac.uk>
kfraser@localhost.localdomain [Mon, 6 Nov 2006 09:02:15 +0000 (09:02 +0000)]
[LINUX] Don't use uint64_t parameter to gnttab_set_{,un}map_op() when
the upper 32 bits will never be used (i.e., i386 non-pae).
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@localhost.localdomain [Sun, 5 Nov 2006 20:17:40 +0000 (20:17 +0000)]
[XEN] Replace hvm_setup_platform() with hvm_domain_initialise()
and extra code in hvm_vcpu_initialise(). Remove 'apic' config
option -- HVM CPUs will always have an APIC (which should be
set up in virtual wire mode for backward compatibility, just as
in a real system).
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Sat, 4 Nov 2006 20:13:22 +0000 (20:13 +0000)]
[XEN] Do not halt on exceptions-with-interrupts-disabled and double faults.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Sat, 4 Nov 2006 19:50:59 +0000 (19:50 +0000)]
[XEN] Simplify domain shutdown -- no need to synchronously halt execution.
This avoids a possible deadlock on the per-domain 'big lock'.
No control tools depend on synchronous halting of execution (e.g.,
save/restore already expect that secondary CPUs were halted
synchronously under the control of the guest itself). This makes the
code rather less complex.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@localhost.localdomain [Sat, 4 Nov 2006 19:26:29 +0000 (19:26 +0000)]
[XEN] Avoid taking domain biglock in the page-fault handler.
This avoids deadlock situation with the shadow_lock.
Signed-off-by: Keir Fraser <keir@xensource.com>