Commit Graph
12361 Commits
Author SHA1 Message Date
kfraser@localhost.localdomain 40a69f4cf3 [XEN] memory_op hypercall does not use guest_handle_add_offset().
It was causing compatibility issues across architectures as
on x86 the effect would not persist across a continuation. On
x86/64 and powerpc (both of which use xencomm) the effect would
persist. This patch sidesteps the whole issue.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-10 14:22:17 +00:00
Alastair Tse 069672061c [XEND] Add missing parameter and import from XendAPI and XendCheckpoint.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-11-10 13:09:01 +00:00
Alastair Tse 4291cf2ae1 Merge 2006-11-10 12:49:54 +00:00
Alastair Tse 7bab7df15b [XEND] Make clear the distinction between backendPath and backendRoot
in DevController.

Signed-off-by: Alastair Tse <atse@xensource.com>
2006-11-10 12:49:22 +00:00
Alastair Tse 555e555de8 [XEND][XM] Fix sched-sedf to return the domid to correspond with xc.c
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-11-10 12:48:18 +00:00
Alastair Tse 16d155c8c6 [XEND] Add missing implementation for host_set_name_{label,description}.
Signed-off-by: Alastair Tse <atse@xensource.com>
2006-11-10 12:46:25 +00:00
Alastair Tse 9f1731ecc0 [XENAPI] Make xapi.py work with modules in /usr/lib/python.
Also Add host_set_name command.

Signed-off-by: Alastair Tse <atse@xensource.com>
2006-11-10 12:44:47 +00:00
Ian Campbell 1622d92410 PV-on-HVM: TSO support prior to 2.6.9 appears to be unreliable,
especially when firewalling is enabled.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-10 12:34:28 +00:00
Ian Campbell 79b9968ae5 PV-on-HVM: Do not enable barriers in blkfront before 2.6.16
Barrier support was rewritten after 2.6.15. Perhaps it would be
possible to implement support for old kernels as well but for now it
is easier to just disable them.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
2006-11-10 12:34:26 +00:00
Tim Deegan 9c84d2db33 [LIBFSIMAGE] Don't leak FDs or RAM when closing filesystems
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-11-10 12:27:56 +00:00
kfraser@localhost.localdomain c18e477598 [HVM] Remove HVM halt timer. It's no longer needed since interrupts
can wake it up now.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-11-10 11:01:15 +00:00
kfraser@localhost.localdomain b6ed0a603f [HVM] Remove a duplicated range checking in vioapic_set_irq.
Since irq range checking has already been done at the
beginning of this function.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-11-10 10:31:29 +00:00
kfraser@localhost.localdomain 74e1fab601 [HVM] Clarify ioreq interactions between Xen and qemu-dm.
Mainly this involves placing appropriate barriers before
updating the shared state variable, and after reading from it. The
model is that it is state switches that drive the transfer of data to
and fro in the shared ioreq structure. So writers should wmb() before
updating the variable; readers should rmb() after seeing a state
change.

These barriers aren't actually required given the current code
structure since the communication flow is really driven by
event-channel notifications, which happen to provide a sufficient
barrier. However, relying on this for all time and on all
architectures seems foolish and the barriers have negligible cost
compared with the totoal ioreq round-trip latency. Also the model of
communications being driven by the shared-memory state variable more
closely matches other inter-domain protocols (where there is usually a
shared-memory producer index), and is hence a model we are familiar
with and likely to implement correctly.

Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-10 10:30:38 +00:00
Tim Deegan 08157e9d68 [LIBFSIMAGE] Further 64bit compile fix
64bit libext2fs can have __u64 defined as unsigned long long,
while a uint64_t is unsigned long, and GCC complains.

Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
2006-11-10 09:50:35 +00:00
kaf24@firebug.cl.cam.ac.uk e204ff2937 [LIBFSIMAGE] Fix printf-format warning on x86/64.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
2006-11-10 07:48:25 +00:00
Ewan Mellor d53bdf0f83 Server-side capitalisation fixes.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-09 15:43:24 +00:00
Ewan Mellor e5c3d644cd The attached patch implements more of the Xen-API functionality related
to the vTPM.

Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
2006-11-09 15:27:32 +00:00
Ewan Mellor c2739fc6af Rename abstract_value.double_val -> float_val. All the other names match the
abstract type names in the doc, so this one should too.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-09 11:40:28 +00:00
Ewan Mellor b17549f692 Added a destroy method for each object. Based upon the code for VM.destroy
by Jim Fehlig.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-09 11:37:35 +00:00
Ewan Mellor 312e1b1845 More capitalisation fixes -- the on-wire method name should match the
documentation in terms of capitalisation.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-09 11:23:09 +00:00
Ewan Mellor 1f926835c3 Minor tidying.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-09 11:11:38 +00:00
Ewan Mellor 9b91aeb6ad 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>
2006-11-09 11:02:48 +00:00
kfraser@localhost.localdomain 35f5a35378 [HVM] Change vlapic printk()s into appropriate gdprintk()s.
Simplify apic_round_robin().
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-09 18:14:53 +00:00
kfraser@localhost.localdomain efeebd10a1 [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>
2006-11-09 17:53:05 +00:00
Ian Campbell 234e62fc69 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>
2006-11-09 17:28:12 +00:00
kfraser@localhost.localdomain 139d9ae4ec [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>
2006-11-09 17:23:58 +00:00
kfraser@localhost.localdomain 734e3d395c [XEN] Missed interface update belonging to previous changeset.
Signed-off-by: Keir Fraser <keir@xensource.com>
2006-11-09 16:50:44 +00:00
kfraser@localhost.localdomain a1daf484e9 [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>
2006-11-09 16:49:59 +00:00
Alastair Tse a7be5deed5 Merge 2006-11-09 16:20:58 +00:00
Alastair Tse d2958856b3 [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>
2006-11-09 16:20:26 +00:00
Tim Deegan 90271c53cc Merge 2006-11-09 16:06:43 +00:00
Tim Deegan c78ac3f43d [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>
2006-11-09 16:05:23 +00:00
Alastair Tse 361ad9ae8b [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>
2006-11-09 16:05:00 +00:00
kfraser@localhost.localdomain f340a1cd64 [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>
2006-11-09 15:38:15 +00:00
Tim Deegan 6f88f21ddc [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>
2006-11-09 14:23:24 +00:00
Tim Deegan 0d58f56d57 Use libfsimage for reading filesystem images.
Signed-off-by: John Levon <john.levon@sun.com>
2006-11-09 14:11:11 +00:00
Tim Deegan cddc1d5a09 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>
2006-11-09 14:09:53 +00:00
kfraser@localhost.localdomain 21b5e9be6a [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>
2006-11-09 14:00:40 +00:00
kfraser@localhost.localdomain d857ed522c [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>
2006-11-09 13:43:21 +00:00
kfraser@localhost.localdomain 0f5ad1e3d0 Add lost record format in xentrace formats file.
Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-11-09 13:30:16 +00:00
kfraser@localhost.localdomain adf5b4e341 [IA64][VMX] Fix 3G memory limit for VTi domain.
Signed-off-by : Zhang xiantao <xiantao.zhang@intel.com>
2006-11-09 13:28:45 +00:00
kfraser@localhost.localdomain 625b3409d2 [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>
2006-11-09 13:25:47 +00:00
Alastair Tse 4b7d8cd407 Merge 2006-11-09 13:18:58 +00:00
Alastair Tse 1d5686b8ac [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>
2006-11-09 13:16:55 +00:00
Alastair Tse d3b8d73b44 [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>
2006-11-09 12:38:12 +00:00
Alastair Tse c4a7eda6cd [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>
2006-11-09 12:36:20 +00:00
kfraser@localhost.localdomain de083f6648 [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>
2006-11-09 12:07:28 +00:00
kfraser@localhost.localdomain 2ccfcd7a09 [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>
2006-11-09 11:47:42 +00:00
Ewan Mellor 218f1a9dc5 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>
2006-11-08 18:29:16 +00:00
Ewan Mellor 27c39debdc Ignore dying domains on recreate, and log the fact.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2006-11-08 18:27:31 +00:00