]> xenbits.xensource.com Git - xen.git/log
xen.git
13 years agoxenpaging: munmap all pages after page-in
Olaf Hering [Mon, 14 Nov 2011 17:49:14 +0000 (17:49 +0000)]
xenpaging: munmap all pages after page-in

Do munmap() on all mapped pages, not just the first one.  Without this
change the gfns backing the remaining pages can not be paged out again
because the page count does not go down to 1. This change was missing
from changeset 23827:d1d6abc1db20.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoRevert c/s 23666:b96f8bdcaa15 KEXEC: disconnect all PCI devices from the PCI bus...
Andrew Cooper [Fri, 11 Nov 2011 18:14:35 +0000 (18:14 +0000)]
Revert c/s 23666:b96f8bdcaa15 KEXEC: disconnect all PCI devices from the PCI bus on crash

It turns out that this causes all mannor of problems on certain
motherboards (so far with no pattern I can discern)

Problems include:
* Hanging forever checking hlt instruction.
* Panics when trying to change switch root device
* Drivers hanging when trying to check for interrupts.

From: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoModify naming of queries into the p2m
Andres Lagar-Cavilla [Fri, 11 Nov 2011 18:11:34 +0000 (18:11 +0000)]
Modify naming of queries into the p2m

Callers of lookups into the p2m code are now variants of get_gfn. All
callers need to call put_gfn. The code behind it is a no-op at the
moment, but will change to proper locking in a later patch.

This patch does not change functionality. Only naming, and adds
put_gfn's.

set_p2m_entry retains its name because it is always called with
p2m_lock held.

This patch is humongous, unfortunately, given the dozens of call sites
involved.

After this patch, anyone using old style gfn_to_mfn will not succeed
in compiling their code. This is on purpose: adapt to the new API.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoia64: introduce atomic_{read,write}NN()
Jan Beulich [Fri, 11 Nov 2011 16:46:19 +0000 (17:46 +0100)]
ia64: introduce atomic_{read,write}NN()

These are required to be able to build certain portions of common code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoDecompressors: check input size in unlzo.c
Lasse Collin [Fri, 11 Nov 2011 13:35:51 +0000 (14:35 +0100)]
Decompressors: check input size in unlzo.c

From: Lasse Collin <lasse.collin@tukaani.org>

The code assumes that the input is valid and not truncated.  Add checks to
avoid reading past the end of the input buffer.  Change the type of "skip"
from u8 to int to fix a possible integer overflow.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: check for write errors in unlzo.c
Lasse Collin [Fri, 11 Nov 2011 13:35:05 +0000 (14:35 +0100)]
Decompressors: check for write errors in unlzo.c

From: Lasse Collin <lasse.collin@tukaani.org>

The return value of flush() is not checked in unlzo().  This means that
the decompressor won't stop even if the caller doesn't want more data.
This can happen e.g.  with a corrupt LZO-compressed initramfs image.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: validate match distance in unlzma.c
Lasse Collin [Fri, 11 Nov 2011 13:34:24 +0000 (14:34 +0100)]
Decompressors: validate match distance in unlzma.c

From: Lasse Collin <lasse.collin@tukaani.org>

Validate the newly decoded distance (rep0) in process_bit1().  This is to
detect corrupt LZMA data quickly.  The old code can run for long time
producing garbage until it hits the end of the input.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: check for write errors in unlzma.c
Lasse Collin [Fri, 11 Nov 2011 13:33:30 +0000 (14:33 +0100)]
Decompressors: check for write errors in unlzma.c

From: Lasse Collin <lasse.collin@tukaani.org>

The return value of wr->flush() is not checked in write_byte().  This
means that the decompressor won't stop even if the caller doesn't want
more data.  This can happen e.g.  with corrupt LZMA-compressed initramfs.
Returning the error quickly allows the user to see the error message
quicker.

There is a similar missing check for wr.flush() near the end of unlzma().

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: check for read errors in unlzma.c
Lasse Collin [Fri, 11 Nov 2011 13:32:57 +0000 (14:32 +0100)]
Decompressors: check for read errors in unlzma.c

From: Lasse Collin <lasse.collin@tukaani.org>

Return value of rc->fill() is checked in rc_read() and error() is called
when needed, but then the code continues as if nothing had happened.

rc_read() is a void function and it's on the top of performance critical
call stacks, so propagating the error code via return values doesn't sound
like the best fix.  It seems better to check rc->buffer_size (which holds
the return value of rc->fill()) in the main loop.  It does nothing bad
that the code runs a little with unknown data after a failed rc->fill().

This fixes an infinite loop in initramfs decompression if the
LZMA-compressed initramfs image is corrupt.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: fix header validation in unlzma.c
Lasse Collin [Fri, 11 Nov 2011 13:32:03 +0000 (14:32 +0100)]
Decompressors: fix header validation in unlzma.c

From: Lasse Collin <lasse.collin@tukaani.org>

Validation of header.pos calls error() but doesn't make the function
return to indicate an error to the caller.  Instead the decoding is
attempted with invalid header.pos.  This fixes it.

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: remove unused function from unlzma.c
Lasse Collin [Fri, 11 Nov 2011 13:31:38 +0000 (14:31 +0100)]
Decompressors: remove unused function from unlzma.c

From: Lasse Collin <lasse.collin@tukaani.org>

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agobzip2: Add missing checks for malloc returning NULL
Phillip Lougher [Fri, 11 Nov 2011 13:30:36 +0000 (14:30 +0100)]
bzip2: Add missing checks for malloc returning NULL

From: Phillip Lougher <phillip@lougher.demon.co.uk>

Signed-off-by: Phillip Lougher <phillip@lougher.demon.co.uk>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoDecompressors: get rid of set_error_fn() macro
Lasse Collin [Fri, 11 Nov 2011 13:29:21 +0000 (14:29 +0100)]
Decompressors: get rid of set_error_fn() macro

From: Lasse Collin <lasse.collin@tukaani.org>

set_error_fn() is a useless complication. Only unlzma.c had some use
for it and that was easy to change too.

This also gets rid of the static function pointer "error".

Signed-off-by: Lasse Collin <lasse.collin@tukaani.org>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agomulticall: don't ignore failure from __copy_to_guest() upon preemption
Jan Beulich [Fri, 11 Nov 2011 13:27:41 +0000 (14:27 +0100)]
multicall: don't ignore failure from __copy_to_guest() upon preemption

At once adjust perf counter updates to also count calls from here even
if a guest memory access failed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/amd-ucode: further turn down verbosity
Jan Beulich [Fri, 11 Nov 2011 13:26:48 +0000 (14:26 +0100)]
x86/amd-ucode: further turn down verbosity

Turn up the log level on various (mostly debug-only) messages.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86: quiesce cpuidle code
Jan Beulich [Fri, 11 Nov 2011 13:25:16 +0000 (14:25 +0100)]
x86: quiesce cpuidle code

So far these messages got pointlessly (as the code in other places
assumes symmetric configuration) emitted once per CPU. Hide the debug
one behind opt_cpu_info, and issue the info one just once (if the code
gets adjusted to support assymtric configurations, this would need to
be revisited, but ideally without producing per-CPU messages again).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoamd iommu: Introduce iommu_has_cap() function
Wei Wang [Fri, 11 Nov 2011 11:06:01 +0000 (12:06 +0100)]
amd iommu: Introduce iommu_has_cap() function

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Compress hyper-transport flags into a single byte
Wei Wang [Fri, 11 Nov 2011 11:05:14 +0000 (12:05 +0100)]
amd iommu: Compress hyper-transport flags into a single byte

These flags are single bit, no need to be saved as integers.
Add 3 inline helpers to make single bit access easier.
Introduce iommu_has_ht_flag and set_iommu_ht_flags

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Disable debug output for early DTE update
Wei Wang [Fri, 11 Nov 2011 11:04:41 +0000 (12:04 +0100)]
amd iommu: Disable debug output for early DTE update

Some systems may have IVHD device entries that cover large device id range.
Having those entries displayed will take very long time to boot.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Simplify IVHD device flag handling
Wei Wang [Fri, 11 Nov 2011 11:04:10 +0000 (12:04 +0100)]
amd iommu: Simplify IVHD device flag handling

These bits are aligned to corresponding fields in device table entry. They
can be updated by a single device entry write.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Cleanup iommu pci capabilites detection
Wei Wang [Fri, 11 Nov 2011 11:03:21 +0000 (12:03 +0100)]
amd iommu: Cleanup iommu pci capabilites detection

* Define new structure to represent capability block.
* Remove unnecessary read for unused information.
* Add sanity check into get_iommu_capabilities.
* iommu capability offset is 16 bit not 8 bit, fix that.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Use pci access function to detect msi capabilities
Wei Wang [Fri, 11 Nov 2011 11:01:55 +0000 (12:01 +0100)]
amd iommu: Use pci access function to detect msi capabilities

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoHypercall continuation cancelation in compat mode for XENMEM_get/set_pod_target
Jean Guyader [Fri, 11 Nov 2011 09:14:22 +0000 (10:14 +0100)]
Hypercall continuation cancelation in compat mode for XENMEM_get/set_pod_target

If copy_to_guest failed in the compat code after a continuation as been
done in the native code we need to cancel it so we won't reexecute the
hypercall but return from the hypercall with the appropriate error.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agox86/IRQ: eliminate irq_vector[]
Jan Beulich [Fri, 11 Nov 2011 08:47:40 +0000 (09:47 +0100)]
x86/IRQ: eliminate irq_vector[]

The vector is already being tracked in struct irq_desc's arch.vector
member, so there's no real need for a second place where this to get
stored. The only caveat is that legacy vectors (used for interrupts
handled through the 8259) must be special cased to not prevent non-
legacy vectors from being assigned.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agox86/mm: Refactor p2m get_entry accessor
Tim Deegan [Thu, 10 Nov 2011 11:12:35 +0000 (11:12 +0000)]
x86/mm: Refactor p2m get_entry accessor

Move the main query accessor to the p2m outside of an inline and into the
p2m code itself. This will allow for p2m internal locking to be added
to the accessor later.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: Enforce ordering constraints for the page alloc lock in the PoD code
Tim Deegan [Thu, 10 Nov 2011 11:12:35 +0000 (11:12 +0000)]
x86/mm: Enforce ordering constraints for the page alloc lock in the PoD code

The page alloc lock is sometimes used in the PoD code, with an
explicit expectation of ordering. Use our ordering constructs in the
mm layer to enforce this.

The additional book-keeping variables are kept in the arch_domain
sub-struct, as they are x86-specific to the whole domain.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: Declare an order-enforcing construct for external locks used in the mm layer
Tim Deegan [Thu, 10 Nov 2011 11:12:35 +0000 (11:12 +0000)]
x86/mm: Declare an order-enforcing construct for external locks used in the mm layer

Declare an order-enforcing construct for a lock used in the mm layer
that is not of type mm_lock_t. This is useful whenever the mm layer
takes locks from other subsystems, or locks not implemented as
mm_lock_t.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: Refactor mm-lock ordering constructs
Tim Deegan [Thu, 10 Nov 2011 11:12:35 +0000 (11:12 +0000)]
x86/mm: Refactor mm-lock ordering constructs

The mm layer has a construct to enforce locks are taken in a pre-
defined order, and thus avert deadlock. Refactor pieces of this
code for later use, no functional changes.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agoadd a comment for hypercall_xlat_continuation
Ian Campbell [Thu, 10 Nov 2011 09:24:19 +0000 (10:24 +0100)]
add a comment for hypercall_xlat_continuation

The interface of this function is really rather complex and having reverse
engineered it for the N'th time I think it is time to write things down.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoVMX: extend last branch MSR info to cover newer CPU models #2
Jan Beulich [Wed, 9 Nov 2011 09:37:45 +0000 (10:37 +0100)]
VMX: extend last branch MSR info to cover newer CPU models #2

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: "Shan, Haitao" <haitao.shan@intel.com>
13 years agox86/MSI: fix dump_msi() after c/s 24068:6928172f7ded
Jan Beulich [Wed, 9 Nov 2011 09:36:20 +0000 (10:36 +0100)]
x86/MSI: fix dump_msi() after c/s 24068:6928172f7ded

The function must not blindly take the lock on IRQ descriptors.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
13 years agoxsm: Add support for HVMOP_track_dirty_vram.
Jean Guyader [Tue, 8 Nov 2011 19:41:47 +0000 (19:41 +0000)]
xsm: Add support for HVMOP_track_dirty_vram.

Xen try to inforce the xsm policy when a HVMOP_track_dirty_vram
is received (xen/arch/x86/hvm/hvm.c:3637). It was failing because
in flask_hvmcontext, xsm didn't have any case for this operation.

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agomem_event: check capabilities only once
Olaf Hering [Tue, 8 Nov 2011 19:35:42 +0000 (19:35 +0000)]
mem_event: check capabilities only once

It is not required to check the system capabilities during every domctl.
Rearrange the code to check them only once.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoxenpaging: compare domain pointer in p2m_mem_paging_populate
Olaf Hering [Tue, 8 Nov 2011 19:35:01 +0000 (19:35 +0000)]
xenpaging: compare domain pointer in p2m_mem_paging_populate

Compare just the domain pointer instead of the domain_id number.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Keir Fraser <keir@xen.org>
13 years agowaitqueue: Double size of x86 shadow stack.
Keir Fraser [Tue, 8 Nov 2011 19:33:46 +0000 (19:33 +0000)]
waitqueue: Double size of x86 shadow stack.

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agox86/cpuidle: clean up hw residencies reading code
Jan Beulich [Tue, 8 Nov 2011 16:30:00 +0000 (17:30 +0100)]
x86/cpuidle: clean up hw residencies reading code

Fold redundant code and eliminate pointless casts.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agobump sysctl interface version after c/s 23995:8943a9696358
Jan Beulich [Tue, 8 Nov 2011 16:29:31 +0000 (17:29 +0100)]
bump sysctl interface version after c/s 23995:8943a9696358

That c/s made binary incompatible changes to struct pm_cx_stat.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/IRQ: create_irq() should call assign_irq_vector()
Jan Beulich [Tue, 8 Nov 2011 16:28:31 +0000 (17:28 +0100)]
x86/IRQ: create_irq() should call assign_irq_vector()

... rather than __assign_irq_vector(), to ensure desc->affinity gets
initialized properly.

This at once eliminates the need to forward-declare the latter function.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agomm: Cleanup, use PAGE_ORDER_4K as page_order instead of "0".
Jean Guyader [Tue, 8 Nov 2011 13:01:41 +0000 (13:01 +0000)]
mm: Cleanup, use PAGE_ORDER_4K as page_order instead of "0".

Signed-off-by: Jean Guyader <jean.guyader@eu.citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
13 years agoamd iommu: enable ats devices
Wei Wang [Tue, 8 Nov 2011 10:26:53 +0000 (11:26 +0100)]
amd iommu: enable ats devices

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: add iotlb invalidation command
Wei Wang [Tue, 8 Nov 2011 10:26:13 +0000 (11:26 +0100)]
amd iommu: add iotlb invalidation command

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoats: Add new ATS helper functions
Wei Wang [Tue, 8 Nov 2011 10:25:51 +0000 (11:25 +0100)]
ats: Add new ATS helper functions

Signed-off-by Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoamd iommu: Fix iommu page size encoding when page order > 0.
Wei Wang [Tue, 8 Nov 2011 10:25:19 +0000 (11:25 +0100)]
amd iommu: Fix iommu page size encoding when page order > 0.

Fix io address in invalid all pages command.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoats: Move some ats functions to a new directory.
Wei Wang [Tue, 8 Nov 2011 10:24:11 +0000 (11:24 +0100)]
ats: Move some ats functions to a new directory.

Remove VTD prefix from debug output.
passhrough/x86 holds vendor neutral codes for x86 architecture.

Signed-off-by: Wei Wang <wei.wang2@amd.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoeliminate remaining uses of struct irq_cfg
Jan Beulich [Tue, 8 Nov 2011 09:37:08 +0000 (10:37 +0100)]
eliminate remaining uses of struct irq_cfg

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoeliminate first_cpu() etc
Jan Beulich [Tue, 8 Nov 2011 09:36:10 +0000 (10:36 +0100)]
eliminate first_cpu() etc

This includes the conversion from for_each_cpu_mask() to for_each-cpu().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoeliminate cpu_clear()
Jan Beulich [Tue, 8 Nov 2011 09:35:12 +0000 (10:35 +0100)]
eliminate cpu_clear()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoeliminate cpu_set()
Jan Beulich [Tue, 8 Nov 2011 09:34:33 +0000 (10:34 +0100)]
eliminate cpu_set()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoeliminate cpu_test_xyz()
Jan Beulich [Tue, 8 Nov 2011 09:33:02 +0000 (10:33 +0100)]
eliminate cpu_test_xyz()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoeliminate cpus_xyz()
Jan Beulich [Tue, 8 Nov 2011 09:31:47 +0000 (10:31 +0100)]
eliminate cpus_xyz()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoIRQ: move a few more bits into common code
Jan Beulich [Mon, 7 Nov 2011 15:28:26 +0000 (16:28 +0100)]
IRQ: move a few more bits into common code

... as they're not really arch-specific.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoavoid hypervisor panic when printing lock profiling information
Juergen Gross [Mon, 7 Nov 2011 14:37:51 +0000 (14:37 +0000)]
avoid hypervisor panic when printing lock profiling information

When printing lock profiling information via keyhandler in the
hypervisor the system will panic. This patch corrects the problem.

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoMake lock profiling usable again
Juergen Gross [Mon, 7 Nov 2011 14:36:44 +0000 (14:36 +0000)]
Make lock profiling usable again

Using lock profiling (option lock_profile in xen/Rules.mk) resulted in
build errors.
Changes:
- Include public/sysctl.h in spinlock.h when using lock profiling.
- Allocate profile data in an own structure to avoid struct domain
  becoming larger then one page

Signed-off-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agocpufreq: allocate CPU masks dynamically
Jan Beulich [Mon, 7 Nov 2011 09:29:14 +0000 (10:29 +0100)]
cpufreq: allocate CPU masks dynamically

struct cpufreq_policy, including a cpumask_t member, gets copied in
cpufreq_limit_change(), cpufreq_add_cpu(), set_cpufreq_gov(), and
set_cpufreq_para(). Make the member a cpumask_var_t, thus reducing the
amount of data needing copying (particularly with large NR_CPUS).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agopowernow: don't read never initialized structure member
Jan Beulich [Mon, 7 Nov 2011 09:26:23 +0000 (10:26 +0100)]
powernow: don't read never initialized structure member

c/s 20361:51b031b0737e removed the writing of struct
processor_performance's shared_cpu_map member, but the powernow driver
still has code to read it (though presumably that code path can't be
taken on actual hardware supported by the powernow driver). Remove the
use of the field along with the field itself.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
13 years agolibxl: Remove a passthrough device through QMP.
Anthony PERARD [Fri, 4 Nov 2011 15:34:50 +0000 (15:34 +0000)]
libxl: Remove a passthrough device through QMP.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
---
 tools/libxl/libxl_pci.c |   72 +++++++++++++++++++++++++++++++---------------
 1 files changed, 48 insertions(+), 24 deletions(-)

13 years agolibxl: libxl_qmp: Introduce libxl__qmp_pci_del
Anthony PERARD [Fri, 4 Nov 2011 15:34:50 +0000 (15:34 +0000)]
libxl: libxl_qmp: Introduce libxl__qmp_pci_del

To remove a pci passthough device from QEMU (upstream).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
---
 tools/libxl/libxl_internal.h |    2 ++
 tools/libxl/libxl_qmp.c      |   35 +++++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 0 deletions(-)

13 years agox86/IRQ: fix create_irq() after c/s 24068:6928172f7ded
Jan Beulich [Fri, 4 Nov 2011 14:55:50 +0000 (15:55 +0100)]
x86/IRQ: fix create_irq() after c/s 24068:6928172f7ded

init_one_irq_desc() must be called with interrupts enabled (as it may
call functions from the xmalloc() group). Rather than mis-using
vector_lock to also protect the finding of an unused IRQ, make this
lockless through using cmpxchg(), and obtain the lock only around the
actual assignment of the vector.

Also fold find_unassigned_irq() into its only caller.

It is, btw, questionable whether create_irq() calling
__assign_irq_vector() (rather than assign_irq_vector()) is actually
correct - desc->affinity appears to not get initialized properly in
this case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agolibxl: Use QMP to insert a passthrough device when using upstream QEMU
Anthony PERARD [Fri, 4 Nov 2011 14:24:07 +0000 (14:24 +0000)]
libxl: Use QMP to insert a passthrough device when using upstream QEMU

Also move the xenstore specific code to a new function and add a
message if sscanf fails.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_qmp: Introduce libxl__qmp_pci_add.
Anthony PERARD [Fri, 4 Nov 2011 14:24:07 +0000 (14:24 +0000)]
libxl: libxl_qmp: Introduce libxl__qmp_pci_add.

This function insert a PCI passthrough device in qemu.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_json: Handle number above LONG_MAX.
Anthony PERARD [Fri, 4 Nov 2011 12:38:25 +0000 (12:38 +0000)]
libxl: libxl_json: Handle number above LONG_MAX.

The integers are now "long long" in the json_object.

If a number (decimal or integer) is too big (or too low), it is stored as it in
a string. So for that, we introduce a new type JSON_NUMBER.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_qmp: Introduce qmp_request_context.
Anthony PERARD [Fri, 4 Nov 2011 12:38:25 +0000 (12:38 +0000)]
libxl: libxl_qmp: Introduce qmp_request_context.

This structure helps to track the return code of a callback. It's only used
between qmp_synchronous_send and qmp_send.

Now, qmp_synchronous_send will return the rc of the callback if there is no
error.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_qmp: Always insert a command id in the callback_list.
Anthony PERARD [Fri, 4 Nov 2011 12:38:24 +0000 (12:38 +0000)]
libxl: libxl_qmp: Always insert a command id in the callback_list.

Because the function qmp_synchronous_send rely on the presence of the id
in the callback_list.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
13 years agolibxl: libxl_qmp: Introduce list of arguments to qmp_send
Anthony PERARD [Fri, 4 Nov 2011 12:38:24 +0000 (12:38 +0000)]
libxl: libxl_qmp: Introduce list of arguments to qmp_send

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
13 years agolibxl: libxl_qmp: Introduce an opaque argument to the callbacks.
Anthony PERARD [Fri, 4 Nov 2011 12:38:23 +0000 (12:38 +0000)]
libxl: libxl_qmp: Introduce an opaque argument to the callbacks.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
13 years agolibxl: libxl: Introduce dm-version xenstore key.
Anthony PERARD [Fri, 4 Nov 2011 12:38:23 +0000 (12:38 +0000)]
libxl: libxl: Introduce dm-version xenstore key.

The all key is /libxl/$domid/dm-version.

The /libxl/$domid dir is created with the domain and should be only accessible
by the toolstack domain. The function libxl__xs_libxl_path() give this path.

This come with libxl__device_model_version_running() helper function.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_qmp: Better error message after a parse error.
Anthony PERARD [Fri, 4 Nov 2011 12:38:22 +0000 (12:38 +0000)]
libxl: libxl_qmp: Better error message after a parse error.

By setting the next string to parse after having printed any error messages.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_json: Check the parser status before to call parse_complete
Anthony PERARD [Fri, 4 Nov 2011 12:38:22 +0000 (12:38 +0000)]
libxl: libxl_json: Check the parser status before to call parse_complete

Also, use goto to handle an error.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: libxl_qmp: Fix return check of fcntl
Anthony PERARD [Fri, 4 Nov 2011 12:38:22 +0000 (12:38 +0000)]
libxl: libxl_qmp: Fix return check of fcntl

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agox86/IRQ: consolidate IRQ disabling when acquiring vector lock
Jan Beulich [Thu, 3 Nov 2011 16:28:41 +0000 (17:28 +0100)]
x86/IRQ: consolidate IRQ disabling when acquiring vector lock

__assign_irq_vector() doesn't need to disable interrupts (its callers
are required to when acquiring the lock), and set_desc_affinity() can
use the normal spin lock primitives.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoIRQ: allocate CPU masks dynamically
Jan Beulich [Thu, 3 Nov 2011 16:27:38 +0000 (17:27 +0100)]
IRQ: allocate CPU masks dynamically

This includes delaying the initialization of dynamically created IRQs
until their actual first use and some further elimination of uses of
struct irq_cfg.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
13 years agoxen: provide pse36 cpuid bit
Tim Deegan [Thu, 3 Nov 2011 12:19:23 +0000 (12:19 +0000)]
xen: provide pse36 cpuid bit

Provide pse36 cpuid bit if guest runs in 32bit PAE
or in long mode. Hyper-V refuses to start as
the "cpu does not provide required hw features"
if it does not find the pse36 cpuid bits.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agodocs: Correct man page of xl regarding cpu-pools
Juergen Gross [Wed, 2 Nov 2011 17:09:09 +0000 (17:09 +0000)]
docs: Correct man page of xl regarding cpu-pools

Signed-off-by: juergen.gross@ts.fujitsu.com
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: handle the return value of wait_for_dev_destroy select
Roger Pau Monne [Wed, 2 Nov 2011 17:06:04 +0000 (17:06 +0000)]
libxl: handle the return value of wait_for_dev_destroy select

Handle the return value of the select call inside wait_for_dev_destroy
properly, and return 0 if a device is removed, or ERROR_* if a timeout
or error happened. Use the return value of wait_for_dev_destroy inside
libxl__device_remove to properly return from that function.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agopygrub: Add HybridISO support for PyGrub2
Philipp Hahn [Wed, 2 Nov 2011 16:28:57 +0000 (16:28 +0000)]
pygrub: Add HybridISO support for PyGrub2

grub-mkrescue internally uses xorriso, which generates a so-called
"Hybrid ISO": The ISO images also contains a DOS partition table,
which allows the identical ISO file to be stored on an USB stick for
booting from it. This breaks PyGrub, since it (wrongly) detects only
the DOS partition table and uses the first partition instead of the
complete ISO file.

Add a check to detect HybridISO files and use offset 0 in addition to
partition table parsing.

Signed-off-by: Philipp Hahn <hahn@univention.de>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: libxl__device_pci_destroy_all should succeed if there is no PCI bus
Ian Campbell [Wed, 2 Nov 2011 16:25:18 +0000 (16:25 +0000)]
libxl: libxl__device_pci_destroy_all should succeed if there is no PCI bus

Since 23915:4c4b72c94bac "" it is possible that no bus exists and this is not
an error. Removes the following spurious warning when destroying a PV domain
with no PCI devices:
    libxl: error: libxl.c:759:libxl_domain_destroy: pci shutdown failed
for domid 1005

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: allow to enable/disable cpuid bits
Christoph Egger [Wed, 2 Nov 2011 16:23:23 +0000 (16:23 +0000)]
libxl: allow to enable/disable cpuid bits

Allow to enable/disable SVM specific cpuid bits in the guest config
file via cpuid config option.  Also allow to enable/disable the
hypervisor cpuid bit in the guest config file. We need to disable the
hypervisor cpuid bit to get Hyper-V going.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoUpdate QEMU_TAG
Ian Jackson [Wed, 2 Nov 2011 16:21:37 +0000 (16:21 +0000)]
Update QEMU_TAG

13 years agolibxl: reimplement buffer for bootloading and drop data if buffer is full.
Roger Pau Monne [Wed, 2 Nov 2011 15:46:54 +0000 (15:46 +0000)]
libxl: reimplement buffer for bootloading and drop data if buffer is full.

Implement a buffer for the bootloading process that appends data to
the end until it's full. Drop the whole buffer if a timeout has
occurred and the buffer is full. Prevents the bootloader from getting
stuck when using ptys with small buffers.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: update prototype of libxl__spawn_check
Olaf Hering [Thu, 27 Oct 2011 09:54:16 +0000 (11:54 +0200)]
libxl: update prototype of libxl__spawn_check

libxl__spawn_check expects a malloc'd libxl__spawn_starting. The
currently only user of libxl__spawn_check gets a libxl__spawn_starting
and passes it on. Update prototype to not take a void pointer, and also
update comment in header file.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: document spawn related functions
Olaf Hering [Thu, 27 Oct 2011 09:39:11 +0000 (11:39 +0200)]
libxl: document spawn related functions

Group spawn related prototypes and add some documentation.
Remove unused prototype for libxl__log_child_exitstatus

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: add libxl__spawn_confirm_offspring_startup
Olaf Hering [Thu, 27 Oct 2011 09:23:29 +0000 (11:23 +0200)]
libxl: add libxl__spawn_confirm_offspring_startup

libxl__spawn_confirm_offspring_startup() is a generic version of
libxl__confirm_device_model_startup().

Use libxl__spawn_confirm_offspring_startup for device model.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: add libxl__wait_for_offspring function
Olaf Hering [Thu, 27 Oct 2011 09:23:24 +0000 (11:23 +0200)]
libxl: add libxl__wait_for_offspring function

libxl__wait_for_offspring() is a generic version of
libxl__wait_for_device_model().

Use libxl__wait_for_offspring for device model.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: add pid path to libxl__spawner_starting
Olaf Hering [Thu, 27 Oct 2011 09:20:25 +0000 (11:20 +0200)]
libxl: add pid path to libxl__spawner_starting

libxl_spawner_record_pid() should be able to write the pid to arbitrary paths.

v2:
 - use const char* for ->pid_path, and update comment

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: rename dm_xenstore_record_pid to libxl_spawner_record_pid
Olaf Hering [Thu, 27 Oct 2011 09:19:22 +0000 (11:19 +0200)]
libxl: rename dm_xenstore_record_pid to libxl_spawner_record_pid

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: rename libxl__device_model_starting
Olaf Hering [Thu, 27 Oct 2011 09:19:16 +0000 (11:19 +0200)]
libxl: rename libxl__device_model_starting

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agopassthrough: re-attempt ACS and ATS enabling when devices get reported by Dom0
Jan Beulich [Wed, 2 Nov 2011 12:53:05 +0000 (13:53 +0100)]
passthrough: re-attempt ACS and ATS enabling when devices get reported by Dom0

Since extended config space accesses may not be possible when
scan_pci_devices() runs (due to MMCFG resources not being reserved in
the E820 table, which the specification allows to be the case),
functionality enabling of which requires such must be re-attempted
when it is known whether MMCFG is safe to use.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: "Kay, Allen M" <allen.m.kay@intel.com>
13 years agoVT-d/ATS: cleanup
Jan Beulich [Wed, 2 Nov 2011 12:51:28 +0000 (13:51 +0100)]
VT-d/ATS: cleanup

- make acpi_find_matched_atsr_unit() consistent with
  acpi_find_matched_drhd_unit() (and constify their parameter)
- make ats_device() take a struct pci_dev * instead of seg:bus:devfn
  and additionally the matching DRHD (as its callers already worked
  that out)
- remove a stale prototype

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: "Kay, Allen M" <allen.m.kay@intel.com>
13 years agotools/ocaml: unify build process
Christoph Egger [Tue, 1 Nov 2011 19:03:38 +0000 (19:03 +0000)]
tools/ocaml: unify build process

Unify ocaml build process for different platforms.

Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agodocs: introduce an xl man page in pod format
Stefano Stabellini [Tue, 1 Nov 2011 18:44:34 +0000 (18:44 +0000)]
docs: introduce an xl man page in pod format

This is the initial version of an xl man page, based on the old xm man
page.  Almost every command implemented in xl should be present, a
notable exception are the tmem commands that are currently missing.
Further improvements and clarifications to this man page are very
welcome.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agodocs: install text documentation
Ian Campbell [Thu, 27 Oct 2011 08:55:22 +0000 (09:55 +0100)]
docs: install text documentation

Including markdown docs.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agoxl: add some example configuration files
Ian Campbell [Thu, 27 Oct 2011 08:55:14 +0000 (09:55 +0100)]
xl: add some example configuration files

These are much more minimal than the equivalent xmexamples but should
eventually reference a more complete document describing the available options.

These are based on the guest configuration files that I actually use day-to-day.

There is an unresolved reference to a document describing the complete syntax.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agodocs: add a document describing the xl vif syntax
Ian Campbell [Thu, 27 Oct 2011 08:54:28 +0000 (09:54 +0100)]
docs: add a document describing the xl vif syntax

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agounmodified_drivers: update README from http://wiki.xen.org/xenwiki/UnmodifiedDrivers
Ian Campbell [Wed, 26 Oct 2011 16:44:03 +0000 (17:44 +0100)]
unmodified_drivers: update README from http://wiki.xen.org/xenwiki/UnmodifiedDrivers

Add reference to the fact that these drivers are for "classic-Xen" kernels only
and do not work with PVops but point towards the PVHVM functionality in
mainstream.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agodocs: add some scaffolding for building HTML docs from markdown
Ian Campbell [Wed, 26 Oct 2011 16:23:37 +0000 (17:23 +0100)]
docs: add some scaffolding for building HTML docs from markdown

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agodocs: import HVM emulated device unplug protocol spec
Ian Campbell [Wed, 26 Oct 2011 16:20:21 +0000 (17:20 +0100)]
docs: import HVM emulated device unplug protocol spec

Convert to markdown as I go.

Currently this lives in qemu-xen.git i386-dm/README.hvm-pv-magic-ioport-disable
and I can never find it when I want it. As we transition to upstream qemu this
location becomes less useful.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agodocs: Add HowTo use QEMU upstream.
Anthony PERARD [Tue, 1 Nov 2011 18:28:50 +0000 (18:28 +0000)]
docs: Add HowTo use QEMU upstream.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoxenstored: Fix processing of zero-length messages
Daniel De Graaf [Tue, 1 Nov 2011 18:25:17 +0000 (18:25 +0000)]
xenstored: Fix processing of zero-length messages

When a message with zero length is sent to xenstore, the body of the
message was not processed until the socket or ring had more data to
read; this will cause deadlocks if the requestor is waiting on a
response to continue.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: add a flags argument to libxl_ctx_alloc.
Ian Campbell [Tue, 18 Oct 2011 12:36:43 +0000 (13:36 +0100)]
libxl: add a flags argument to libxl_ctx_alloc.

Currently unused but gives us scope for expansion in an ABI compatible manner
in the future.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>
13 years agolibxl: convert PCI device handling to device API
Ian Campbell [Tue, 18 Oct 2011 12:36:43 +0000 (13:36 +0100)]
libxl: convert PCI device handling to device API

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson.citrix.com>
Committed-by: Ian Jackson <ian.jackson.citrix.com>