]> xenbits.xensource.com Git - xen.git/log
xen.git
13 years agoarm: add dom0_mem command line argument
David Vrabel [Mon, 2 Apr 2012 15:50:43 +0000 (16:50 +0100)]
arm: add dom0_mem command line argument

Add a simple dom0_mem command line argument.  It's not as flexible as
the x86 equivalent (the 'max' and 'min' prefixes are not supported).

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: use bootargs for the command line
David Vrabel [Mon, 2 Apr 2012 15:50:42 +0000 (16:50 +0100)]
arm: use bootargs for the command line

Use the /chosen node's bootargs parameter for the Xen command line.
Parse it early on before the serial console is setup.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agodevice tree,arm: supply a flat device tree to dom0
David Vrabel [Mon, 2 Apr 2012 15:50:42 +0000 (16:50 +0100)]
device tree,arm: supply a flat device tree to dom0

Build a flat device tree for dom0 based on the one supplied to Xen.
The following changes are made:

  * In the /chosen node, the xen,dom0-bootargs parameter is renamed to
    bootargs.

  * In all memory nodes, the reg parameters are adjusted to reflect
    the amount of memory dom0 can use.  The p2m is updated using this
    info.

Support for passing ATAGS to dom0 is removed.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
[ removed device_tree_dump call -- ijc ]
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: Use HTPIDR to point to per-CPU state
Tim Deegan [Mon, 2 Apr 2012 09:54:05 +0000 (10:54 +0100)]
arm: Use HTPIDR to point to per-CPU state

Rather than having the per-VCPU stack contain a pointer to the
per-PCPU state, use the CPU's hypervisor thread ID register for that.

Signed-off-by: Tim Deegan <tim@xen.org>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
[ s/cpuid/id in set_processor_id -- ijc ]
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: missing unlock in GIC error path
Tim Deegan [Mon, 2 Apr 2012 09:54:05 +0000 (10:54 +0100)]
arm: missing unlock in GIC error path

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: remove code that sets current to itself
Tim Deegan [Mon, 2 Apr 2012 09:54:04 +0000 (10:54 +0100)]
arm: remove code that sets current to itself

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoAMD_LWP: add interrupt support for AMD LWP
Wei Huang [Fri, 30 Mar 2012 20:05:54 +0000 (21:05 +0100)]
AMD_LWP: add interrupt support for AMD LWP

This patch adds interrupt support for AMD lightweight profiling. It
registers interrupt handler using alloc_direct_apic_vector(). When
notified, SVM reinjects virtual interrupts into guest VM using
guest's virtual local APIC.

Signed-off-by: Wei Huang <wei.huang2@amd.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
13 years agox86: Unify direct-apic and hiprio irq vector allocations.
Keir Fraser [Fri, 30 Mar 2012 09:01:15 +0000 (10:01 +0100)]
x86: Unify direct-apic and hiprio irq vector allocations.

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agox86: Allow direct vectored interrupts to be dynamically allocated.
Keir Fraser [Fri, 30 Mar 2012 08:14:25 +0000 (09:14 +0100)]
x86: Allow direct vectored interrupts to be dynamically allocated.

Use this for Intel's CMCI and thermal interrupts.

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agoRemove single use of fastcall from hypervisor common code.
Keir Fraser [Fri, 30 Mar 2012 07:52:19 +0000 (08:52 +0100)]
Remove single use of fastcall from hypervisor common code.

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agox86: All vectored interrupts go through do_IRQ().
Keir Fraser [Fri, 30 Mar 2012 07:50:33 +0000 (08:50 +0100)]
x86: All vectored interrupts go through do_IRQ().

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agox86/mm: allow mem_event ops on AMD processors too.
Tim Deegan [Thu, 29 Mar 2012 15:59:33 +0000 (16:59 +0100)]
x86/mm: allow mem_event ops on AMD processors too.

(Experimental, for now).

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agoIOMMU: clean up handling of 'foo' and 'no-foo' command-line options
Tim Deegan [Thu, 29 Mar 2012 11:08:41 +0000 (12:08 +0100)]
IOMMU: clean up handling of 'foo' and 'no-foo' command-line options

Signed-off-by: Tim Deegan <tim@xen.org>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: Make iommu passthrough and mem paging/sharing mutually exclusive
Andres Lagar-Cavilla [Thu, 29 Mar 2012 11:01:33 +0000 (12:01 +0100)]
x86/mm: Make iommu passthrough and mem paging/sharing mutually exclusive

Regardless of table sharing or processor vendor, these features cannot coexist
since iommu's don't expect gfn->mfn mappings to change, and sharing and paging
depend on trapping all accesses.

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: Teach paging to page table-based p2m
Andres Lagar-Cavilla [Thu, 29 Mar 2012 11:01:33 +0000 (12:01 +0100)]
x86/mm: Teach paging to page table-based p2m

The p2m-pt.c code, used by both shadow and AMD NPT modes, was not aware of
paging types, and the implications those types have on p2m entries. Add support
to the page table-based p2m to understand the paging types. This is a necessary
step towards enabling memory paging on AMD NPT mode, but not yet the full
solution.

Tested not to break neither shadow mode nor "normal" (i.e. no paging) AMD NPT
mode.

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/p2m-pt: Clip mfn to allowable width when building a PTE
Tim Deegan [Thu, 29 Mar 2012 10:29:24 +0000 (11:29 +0100)]
x86/mm/p2m-pt: Clip mfn to allowable width when building a PTE

Otherwise, INVALID_MFN tramples over high order bits used for additional flags.

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/hpet: warn about and clear reserved set config register bits
Jan Beulich [Wed, 28 Mar 2012 14:59:02 +0000 (16:59 +0200)]
x86/hpet: warn about and clear reserved set config register bits

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: use asm/hpet.h in HVM emulation code
Jan Beulich [Tue, 27 Mar 2012 13:25:07 +0000 (15:25 +0200)]
x86/hpet: use asm/hpet.h in HVM emulation code

Also replace some plain numbers by using suitable defines (to make
clear what they are standing for).

Generated code is identical (apart from line number changes and
functions possibly getting ordered differently).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: clear unwanted bits
Jan Beulich [Tue, 27 Mar 2012 13:23:43 +0000 (15:23 +0200)]
x86/hpet: clear unwanted bits

Leaving certain bits set when being started from an environment where
the HPET was already in use can affect functionality. Clear those bits
to be on the safe side.

We should also consider ignoring the HPET altogether if any reserved
bits are found to be set.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: replace disabling of legacy broadcast
Jan Beulich [Tue, 27 Mar 2012 13:22:54 +0000 (15:22 +0200)]
x86/hpet: replace disabling of legacy broadcast

... by the call to hpet_disable() added in the immediately preceding
patch.

In order to retain the behavior intended by c/s 23776:0ddb4481f883,
implement one of the alternative options pointed out there: remove CPUs
from the online map in __stop_this_cpu() (and hence doing so in
stop_this_cpu() is no longer needed).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: disable before reboot or kexec
Jan Beulich [Tue, 27 Mar 2012 13:20:23 +0000 (15:20 +0200)]
x86/hpet: disable before reboot or kexec

Linux up to now is not smart enough to properly clear the HPET when it
boots, which is particularly a problem when a kdump attempt from
running under Xen is being made. Linux itself added code to work around
this to its shutdown paths quite some time ago, so let's do something
similar in Xen: Save the configuration register settings during boot,
and restore them during shutdown. This should cover the majority of
cases where the secondary kernel might not come up because timer
interrupts don't work.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agohcall: markup the grant table hypercalls to improve generated docs
Ian Campbell [Tue, 27 Mar 2012 10:13:58 +0000 (11:13 +0100)]
hcall: markup the grant table hypercalls to improve generated docs

As part of this I looked through the relevant chapter from interfaces.tex (from
4.1, deleted in unstable) to ensure no critical information was missing.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agox86_emulate: Do not push an error code onto a #UD exception stack
Keir Fraser [Fri, 23 Mar 2012 20:51:48 +0000 (20:51 +0000)]
x86_emulate: Do not push an error code onto a #UD exception stack

Signed-off-by: Keir Fraser <keir@xen.org>
13 years agox86_emulate: raise #UD rather than #GP on invalid use of LOCK prefix
Andrew Cooper [Fri, 23 Mar 2012 20:45:16 +0000 (20:45 +0000)]
x86_emulate: raise #UD rather than #GP on invalid use of LOCK prefix

From: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Keir Fraser <keir@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: simplify hpet_get_channel()
Jan Beulich [Fri, 23 Mar 2012 15:13:29 +0000 (16:13 +0100)]
x86/hpet: simplify hpet_get_channel()

There's no need for a lock here, elimination of which makes the
function a leaf one, thus allowing for better (and smaller) code.

Further, use the variable next_channel according to its name - so far
it represented the most recently used channel rather than the next one
to use.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoXen core parking 2: core parking implementation
Liu, Jinsong [Fri, 23 Mar 2012 15:08:17 +0000 (15:08 +0000)]
Xen core parking 2: core parking implementation

This patch implement Xen core parking.
Different core parking sequence has different power/performance
result, due to cpu socket/core/thread topology.
This patch provide power-first and performance-first policies, users
can choose core parking policy by their own demand.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoXen core parking 1: hypercall
Liu, Jinsong [Fri, 23 Mar 2012 15:07:53 +0000 (15:07 +0000)]
Xen core parking 1: hypercall

This patch implement hypercall through which dom0 send core parking
request, and get core parking result.
Due to the characteristic of continue_hypercall_on_cpu, dom0
seperately send/get core parking request/result.

Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoFix test for NULL command line in cmdline_parse()
David Vrabel [Fri, 23 Mar 2012 13:45:28 +0000 (13:45 +0000)]
Fix test for NULL command line in cmdline_parse()

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agox86/hpet: force_hpet_broadcast can be __initdata
Jan Beulich [Fri, 23 Mar 2012 10:46:11 +0000 (11:46 +0100)]
x86/hpet: force_hpet_broadcast can be __initdata

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agox86/gnttab: fix asm() operand in gnttab_clear_flag()
Jan Beulich [Fri, 23 Mar 2012 07:39:39 +0000 (08:39 +0100)]
x86/gnttab: fix asm() operand in gnttab_clear_flag()

The operand needs to use the 'w' modifier in case the compiler happens
to pick a register (which apparently it does for no-one but the
reporter of this problem).

Reported-by: Lin Ming <mlin@ss.pku.edu.cn>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoDisable OVMF build - it's not baked yet.
Tim Deegan [Thu, 22 Mar 2012 17:15:22 +0000 (17:15 +0000)]
Disable OVMF build - it's not baked yet.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoarm: shorten constant names in head.S to keep within 80 columns
Ian Campbell [Thu, 22 Mar 2012 15:15:20 +0000 (15:15 +0000)]
arm: shorten constant names in head.S to keep within 80 columns

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoAllow cmdline_parse() to be used with const strings
David Vrabel [Thu, 22 Mar 2012 14:26:47 +0000 (14:26 +0000)]
Allow cmdline_parse() to be used with const strings

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: remove the hack for loading vmlinux images
David Vrabel [Thu, 22 Mar 2012 14:26:46 +0000 (14:26 +0000)]
arm: remove the hack for loading vmlinux images

Don't adjust the RAM location/size when loading an ELF for dom0.  It
was vmlinux specific and no longer needed because Linux can be loaded
from a zImage.  Support for loading ELF images is not removed as it
may be useful for loading things other than the Linux kernel.

This also makes preparing the device tree for dom0 easier.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agodevice tree: add device_tree_dump() to print a flat device tree
David Vrabel [Thu, 22 Mar 2012 14:26:46 +0000 (14:26 +0000)]
device tree: add device_tree_dump() to print a flat device tree

Add a device_tree_dump() function which prints to main structure and
properties names of a flat device tree (but not the properties values
yet).

This will be useful for debugging problems with the device tree
generated for dom0.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agodevice tree: add device_tree_for_each_node()
David Vrabel [Thu, 22 Mar 2012 14:26:45 +0000 (14:26 +0000)]
device tree: add device_tree_for_each_node()

Add device_tree_for_each_node() to iterate over all nodes in a flat
device tree.  Use this in device_tree_early_init().

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agodevice tree: correctly ignore unit-address when matching nodes by name
David Vrabel [Thu, 22 Mar 2012 14:26:44 +0000 (14:26 +0000)]
device tree: correctly ignore unit-address when matching nodes by name

When matching node by their name, correctly ignore the unit address
(@...) part of the name.  Previously, a "memory-controller" node would
be incorrectly matched as a "memory" node.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agodevice tree: follow coding style
David Vrabel [Thu, 22 Mar 2012 14:26:44 +0000 (14:26 +0000)]
device tree: follow coding style

Only changes to the coding style, no functional changes.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoMAINTAINERS: add device tree maintainer
David Vrabel [Thu, 22 Mar 2012 14:26:43 +0000 (14:26 +0000)]
MAINTAINERS: add device tree maintainer

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agolibfdt: move headers to xen/include/xen/libfdt/
David Vrabel [Thu, 22 Mar 2012 14:26:42 +0000 (14:26 +0000)]
libfdt: move headers to xen/include/xen/libfdt/

Move the public libfdt headers to xen/include/xen/libfdt/ so CFLAGS
does need to be set to find them.  This requires minor tweaks to one
of the headers imported from upstream.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: use symbolic constants for initial page table attributes
Ian Campbell [Thu, 22 Mar 2012 14:26:41 +0000 (14:26 +0000)]
arm: use symbolic constants for initial page table attributes

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: remove hard tabs
Ian Campbell [Thu, 22 Mar 2012 14:26:41 +0000 (14:26 +0000)]
arm: remove hard tabs

The only hard tabs remaining in xen/arch/arm and xen/include/asm-arm are now
only in .S files and .[ch] imported from Linux

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoIntroduce system_state variable.
Keir Fraser [Thu, 22 Mar 2012 12:20:13 +0000 (12:20 +0000)]
Introduce system_state variable.

Use it to replace x86-specific early_boot boolean variable.

Also use it to detect suspend/resume case during cpu offline/online
to avoid unnecessarily breaking vcpu and cpupool affinities.

Signed-off-by: Keir Fraser <keir@xen.org>
Acked-by: Juergen Gross <juergen.gross@ts.fujitsu.com>
13 years agoMerge
Tim Deegan [Thu, 22 Mar 2012 10:26:45 +0000 (10:26 +0000)]
Merge

13 years agoFetch the OVMF repository from specific git mirror and enable it
Attilio Rao [Thu, 22 Mar 2012 10:26:03 +0000 (10:26 +0000)]
Fetch the OVMF repository from specific git mirror and enable it

Signed-off-by: Attilio Rao <attilio.rao@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agodocs: improve documentation for the the dom0_mem command line option
David Vrabel [Thu, 22 Mar 2012 10:23:30 +0000 (10:23 +0000)]
docs: improve documentation for the the dom0_mem command line option

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agox86/mm: fix broken shadow debug printk
Andres Lagar-Cavilla [Thu, 22 Mar 2012 10:23:28 +0000 (10:23 +0000)]
x86/mm: fix broken shadow debug printk

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: Fix put_gfn in XEN_DOMCTL_getpageframeinfo3.
Tim Deegan [Thu, 22 Mar 2012 10:25:28 +0000 (10:25 +0000)]
x86: Fix put_gfn in XEN_DOMCTL_getpageframeinfo3.

Reported by Christian Limpach.
Signed-off-by: Tim Deegan <tim@xen.org>
13 years agokexec: provide crashinfo_maxaddr_bits if !CONFIG_KEXEC
David Vrabel [Thu, 22 Mar 2012 10:19:01 +0000 (10:19 +0000)]
kexec: provide crashinfo_maxaddr_bits if !CONFIG_KEXEC

Fix the build where !CONFIG_KEXEC (e.g., arm) by providing a default
crashinfo_maxaddr_bits.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoCODING_STYLE: Document the coding style conventions.
David Vrabel [Thu, 22 Mar 2012 10:18:12 +0000 (10:18 +0000)]
CODING_STYLE: Document the coding style conventions.

Based on a version originally posted in 2007.
http://lists.xen.org/archives/html/xen-devel/2007-06/msg00070.html

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoia64: fix build (after c/s 25070:4e1d091d10d8)
Jan Beulich [Wed, 21 Mar 2012 08:37:24 +0000 (09:37 +0100)]
ia64: fix build (after c/s 25070:4e1d091d10d8)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
13 years agokexec: Fix printing of paddr_t in 32bit mode.
Andrew Cooper [Fri, 16 Mar 2012 15:24:25 +0000 (15:24 +0000)]
kexec: Fix printing of paddr_t in 32bit mode.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agounmodified drivers: use upstream sync_bitops if available
Jan Beulich [Fri, 16 Mar 2012 10:35:06 +0000 (11:35 +0100)]
unmodified drivers: use upstream sync_bitops if available

The forward ported xenlinux sources in openSuSE 12.2 were switched from
the old synch_bitops to the sync_bitops since kernel version 3.3. Add
compat macros to use either old or new helpers depending on used kernel
source version.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Olaf Hering <olaf@aepfle.de>
13 years agounmodified drivers: add pfn_is_ram helper for kdump
Olaf Hering [Fri, 16 Mar 2012 10:34:41 +0000 (11:34 +0100)]
unmodified drivers: add pfn_is_ram helper for kdump

Register pfn_is_ram helper speed up reading /proc/vmcore in the kdump
kernel. It is compiled only if the kernel source is recent enough to
have the pfn_is_ram helper (v3.0-rc1, commit
997c136f518c5debd63847e78e2a8694f56dcf90).

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agounmodified drivers: hide xen_cpuid_base() in version 2.6.38+
Olaf Hering [Fri, 16 Mar 2012 10:34:14 +0000 (11:34 +0100)]
unmodified drivers: hide xen_cpuid_base() in version 2.6.38+

Allow compilation of PVonHVM drivers with forward-ported xenlinux
sources in openSuSE 12.1.  xen_cpuid_base() is now in mainline, the copy
in the xen tree leads to a compilation error.  The current state leads
to a compile error:

/usr/src/packages/BUILD/xen-4.2.24547/non-dbg/obj/default/platform-pci/platform-pci.c:121: error: redefinition of 'xen_cpuid_base'
/usr/src/linux-3.0.13-0.11/arch/x86/include/asm/xen/hypervisor.h:43: error: previous definition of 'xen_cpuid_base' was here

The reason is that the kernel sources are searched before the xen
sources for asm/hypervisor.h:

/usr/src/linux-3.0.13-0.11/arch/x86/include/asm/hypervisor.h
/usr/src/packages/BUILD/xen-4.2.24547/non-dbg/obj/default/include/asm/hypervisor.h

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Jan Beulich <jbeulich@suse.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agolist maintainers of unmodified_drivers/linux-2.6/
Jan Beulich [Fri, 16 Mar 2012 10:33:22 +0000 (11:33 +0100)]
list maintainers of unmodified_drivers/linux-2.6/

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
13 years agoKEXEC: Allocate crash structures in low memory
Andrew Cooper [Fri, 16 Mar 2012 10:30:12 +0000 (10:30 +0000)]
KEXEC: Allocate crash structures in low memory

On 64bit Xen with 32bit dom0 and crashkernel, xmalloc'ing items such
as the CPU crash notes will go into the xenheap, which tends to be in
upper memory.  This causes problems on machines with more than 64GB
(or 4GB if no PAE support) of ram as the crashkernel physically cant
access the crash notes.

The solution is to force Xen to allocate certain structures in lower
memory.  This is achieved by introducing two new command line
parameters; low_crashinfo and crashinfo_maxaddr.  Because of the
potential impact on 32bit PV guests, and that this problem does not
exist for 64bit dom0 on 64bit Xen, this new functionality defaults to
the codebase's previous behavior, requiring the user to explicitly
add extra command line parameters to change the behavior.

This patch consists of 3 logically distinct but closely related
changes.
 1) Add the two new command line parameters.
 2) Change crash note allocation to use lower memory when instructed.
 3) Change the conring buffer to use lower memory when instructed.

There result is that the crash notes and console ring will be placed
in lower memory so useful information can be recovered in the case of
a crash.

Changes since v1:
 -  Patch xen-command-line.markdown to document new options

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agoKEXEC: Allocate crash notes on boot
Andrew Cooper [Fri, 16 Mar 2012 10:29:20 +0000 (10:29 +0000)]
KEXEC: Allocate crash notes on boot

Currently, the buffers for crash notes are allocated per CPU when a
KEXEC_CMD_kexec_get_range hypercall is made, referencing the CPU in
question.  This has certain problems including not being able to
allocate the crash buffers if the host is out of memory when crashing.

In addition, my forthcoming code to support 32bit kdump kernels on
64bit Xen on large (>64GB) boxes will require some guarentees as to
where the crash note buffers are actually allocated in physical
memory.  This is far easier to sort out at boot time, rather than
after dom0 has been booted and potentially using the physical memory
required.

Therefore, allocate the crash note buffers at boot time.

Changes since v6:
 *  Tweak kexec_init() to use xzmalloc_array(), and to defer
 registering the
    crashdump keyhandler until the crash notes have been successfully
    allocated.

Changes since v5:
 *  Introduce sizeof_cpu_notes to move calculation of note size into a
    separate location.
 *  Tweak sizeof_note() to return size_t rather than int, as it is a
    function based upon sizeof().

Changes since v4:

 *  Replace the current cpu crash note scheme of using void pointers
    and hand calculating the size each time is needed, by a range
    structure containing a pointer and a size.  This removes duplicate
    times where the size is calculated.
 *  Tweak kexec_get_cpu().  Don't fail if a cpu is offline because it
    may already have crash notes, and may be up by the time a crash
    happens.  Split the error conditions up to return ERANGE for an
    out-of-range cpu request rather than EINVAL.  Finally, returning a
    range of zeros is acceptable, so do this in preference to failing.

Changes since v3:

 *  Alter the spinlocks to avoid calling xmalloc/xfree while holding
    the lock.
 *  Tidy up the coding style used.

Changes since v2:

 *  Allocate crash_notes dynamically using nr_cpu_ids at boot time,
    rather than statically using NR_CPUS.
 *  Fix the incorrect use of signed integers for cpu id.
 *  Fix collateral damage to do_crashdump_trigger() and
    crashdump_trigger_handler caused by reordering sizeof_note() and
    setup_note()
 *  Tweak the issue about returing -ENOMEM from kexec_init_cpu_note().
    No functional change.
 *  Change kexec_get_cpu() to attempt to allocate crash note buffers
    in case we have more free memory now than when the pcpu came up.
 *  Now that there are two codepaths possibly allocating crash notes,
    protect the allocation itself with a spinlock.

Changes since v1:

 *  Use cpu hotplug notifiers to handle allocating of the notes
    buffers rather than assuming the boot state of cpus will be the
    same as the crash state.
 *  Move crash_notes from being per_cpu.  This is because the kdump
    kernel elf binary put in the crash area is hard coded to physical
    addresses which the dom0 kernel typically obtains at boot time.
    If a cpu is offlined, its buffer should not be deallocated because
    the kdump kernel would read junk when trying to get the crash
    notes.  Similarly, the same problem would occur if the cpu was
    re-onlined later and its crash notes buffer was allocated
    elsewhere.
 *  Only attempt to allocate buffers if a crash area has been
    specified.  Else, allocating crash note buffers is a waste of
    space.  Along with this, change the test in kexec_get_cpu to
    return -EINVAL if no buffers have been allocated.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
13 years agox86/vpmu: small fix for console logging beauty
Dietmar Hahn [Fri, 16 Mar 2012 09:14:38 +0000 (10:14 +0100)]
x86/vpmu: small fix for console logging beauty

Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agoarm: don't use atomic operations to gate non-boot CPUs
Tim Deegan [Thu, 15 Mar 2012 15:20:37 +0000 (15:20 +0000)]
arm: don't use atomic operations to gate non-boot CPUs

Since the cache is not enabled that early, better not to rely on
load-linked/store-conditional.  Instead, have the boot CPU call the
other CPUs by their IDs, just like we do later for proper CPU bringup.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: map DTB as outer- rather than inner-shareable.
Ian Campbell [Thu, 15 Mar 2012 15:20:37 +0000 (15:20 +0000)]
arm: map DTB as outer- rather than inner-shareable.

This is consistent with how we map Xen which is important if they happen to be
in the same 2MB super page (which they generally are)

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agox86/vpmu: Add the BTS extension
Dietmar Hahn [Thu, 15 Mar 2012 14:13:00 +0000 (15:13 +0100)]
x86/vpmu: Add the BTS extension

Add the BTS functionality to the existing vpmu implementation for Intel
CPUs.

Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agox86/vpmu: Add a cpuid function
Dietmar Hahn [Thu, 15 Mar 2012 14:11:30 +0000 (15:11 +0100)]
x86/vpmu: Add a cpuid function

Add a new function - do_cpuid - to the vpmu struct arch_vpmu_ops. This
permits the vpmu to set specific bits in the cpuid for the hvm guest.

Signed-off-by: Dietmar Hahn <dietmar.hahn@ts.fujitsu.com>
Committed-by: Jan Beulich <jbeulich@suse.com>
13 years agosvm: amend c/s 24990:322300fd2ebd (fake BU_CFG MSR on AMD revF)
Jan Beulich [Thu, 15 Mar 2012 14:09:18 +0000 (15:09 +0100)]
svm: amend c/s 24990:322300fd2ebd (fake BU_CFG MSR on AMD revF)

Let's restrict such a hack to the known affected family.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
13 years agox86/mm: tidy up get_two_gfns() a little
Tim Deegan [Thu, 15 Mar 2012 11:47:27 +0000 (11:47 +0000)]
x86/mm: tidy up get_two_gfns() a little

Move some more repeated code into the macro, and delete the macro after
we're done.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: make 'query type' argument to get_gfn into a set of flags
Tim Deegan [Thu, 15 Mar 2012 11:46:54 +0000 (11:46 +0000)]
x86/mm: make 'query type' argument to get_gfn into a set of flags

Having an enum for this won't work if we want to add any orthogonal
options to it -- the existing code is only correct (after the removal of
p2m_guest in the previous patch) because there are no tests anywhere for
'== p2m_alloc', only for '!= p2m_query' and '== p2m_unshare'.

Replace it with a set of flags.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: remove 'p2m_guest' lookup type.
Tim Deegan [Thu, 15 Mar 2012 11:41:11 +0000 (11:41 +0000)]
x86/mm: remove 'p2m_guest' lookup type.

It was neither consistently used by callers nor correctly handled by the
lookup code.  Instead, treat any lookup that might allocate or unshare
memory as a 'guest' lookup for the purposes of:
 - detecting the highest pod gfn populated; and
 - crashing the guest on access to a broken page
which were the only things this was used for.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agomm: guest_remove_page() should not populate or unshare.
Tim Deegan [Thu, 15 Mar 2012 11:40:51 +0000 (11:40 +0000)]
mm: guest_remove_page() should not populate or unshare.

guest_remove_page() ought to use get_gfn_query() to look up the
current state of the gfn.  Otherwise it might populate or unshare
the gfn just before dropping it.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm/paging: Prevent the guest from faulting on the same gfn when dying
Tim Deegan [Thu, 15 Mar 2012 11:12:44 +0000 (11:12 +0000)]
x86/mm/paging: Prevent the guest from faulting on the same gfn when dying

A crashing guest due to paging may hit an "endless" loop faulting repeatedly on
the current paged-out gfn, until the toolstack comes around to killing the
domain.

Unfortunately domain_crash at this point may not pause the vcpu due to the
shutting_down flag, so we pause it explicitly when detecting the condition.

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 agoMemory sharing: better handling of ENOMEM while unsharing
Tim Deegan [Thu, 15 Mar 2012 11:12:44 +0000 (11:12 +0000)]
Memory sharing: better handling of ENOMEM while unsharing

If unsharing fails with ENOMEM, we were:
 - leaving the list of gfns backed by the shared page in an inconsistent state
 - cycling forever on the hap page fault handler.
 - Attempting to produce a mem event (which could sleep on a wait queue)
   while holding locks.
 - Not checking, for all callers, that unshare could have indeed failed.

Fix bugs above, and sanitize callers to place a ring event in an unlocked
context, or without requiring to go to sleep on a wait queue.

A note on the rationale for unshare error handling:
 1. Unshare can only fail with ENOMEM. Any other error conditions BUG_ON()
 2. We notify a potential dom0 helper through a mem_event ring. But we
    allow the notification to not go to sleep. If the event ring is full
    of ENOMEM warnings, then the helper will already have been kicked enough.
 3. We cannot "just" go to sleep until the unshare is resolved, because we
    might be buried deep into locks (e.g. something -> copy_to_user ->
    __hvm_copy)
 4. So, we make sure we:
    4.1. return an error
    4.2. do not corrupt memory shared with other guests
    4.3. do not corrupt memory private to the current guest
    4.4. do not corrupt the hypervisor memory sharing meta data
    4.5. let the guest deal with the error, if propagation will reach that far

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: Allow to not sleep on mem event ring
Tim Deegan [Thu, 15 Mar 2012 11:12:44 +0000 (11:12 +0000)]
x86/mm: Allow to not sleep on mem event ring

Under extreme congestion conditions, generating a mem event may put the vcpu to
sleep on a wait queue if the ring is full. This is generally desirable, although
fairly convoluted to work with, since sleeping on a wait queue requires a
non-atomic context (i.e. no locks held).

Introduce an allow_sleep flag to make this optional. The default API remains
such that all current callers set allow_sleep to true and thus will sleep if
necessary.

The end-use is for cases in which loss of guest mem events is tolerable. One
such consumer to be added later is the unsharing code under ENOMEM conditions.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Signed-off-by: Adin Scannell <adin@scannell.ca>
Acked-by: Tim Deegan <tim@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agoMem event: don't leave zombie domains if there are wait-queued vcpus
Tim Deegan [Thu, 15 Mar 2012 11:12:44 +0000 (11:12 +0000)]
Mem event: don't leave zombie domains if there are wait-queued vcpus

Vcpus in wait queues retain a domain reference. Upon domain destruction, we
were not taking care of draining the wait queues.

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 agovmx: Make it clear that the VMEXIT reason is in hex.
Tim Deegan [Thu, 15 Mar 2012 10:09:03 +0000 (10:09 +0000)]
vmx: Make it clear that the VMEXIT reason is in hex.

Signed-off-by: Tim Deegan <tim@xen.org>
Acked-by: Keir Fraser <keir@xen.org>
Committed-by: Tim Deegan <tim@xen.org>
13 years agox86/mm: Fix deadlock between p2m and event channel locks.
Andres Lagar-Cavilla [Wed, 14 Mar 2012 15:07:40 +0000 (11:07 -0400)]
x86/mm: Fix deadlock between p2m and event channel locks.

The hvm io emulation code holds the p2m lock for the duration of the
emulation, which may include sending an event to qemu. On a separate path,
map_domain_pirq grabs the event channel and p2m locks in opposite order.

Fix this by ensuring liveness of the ram_gfn used by io emulation, with a
page ref.

Reported-by: "Hao, Xudong" <xudong.hao@intel.com>
Signed-off-by: "Hao, Xudong" <xudong.hao@intel.com>
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 agoautoconf: add missing compression checks for libxc
Roger Pau Monne [Wed, 14 Mar 2012 14:20:58 +0000 (14:20 +0000)]
autoconf: add missing compression checks for libxc

Move missing checks from tools/libxc/Makefile to configure script.

Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Jan Beulich <JBeulich@suse.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoautoconf: check for uuid.h or uuid/uuid.h with -luuid
Roger Pau Monne [Wed, 14 Mar 2012 14:19:42 +0000 (14:19 +0000)]
autoconf: check for uuid.h or uuid/uuid.h with -luuid

Check for uuid/uuid.h and if found check for -luuid usability (Linux
case), if not, check for uuid (NetBSD). One of this tests has to
succeed to be able to build Xen tools.

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 agotools: Add explicit clean rule for SeaBIOS
Ian Campbell [Wed, 14 Mar 2012 14:10:17 +0000 (14:10 +0000)]
tools: Add explicit clean rule for SeaBIOS

Since seabios-dir is cloned during build we need to check that it exists before
recursing into it for clean, following the pattern used for qemu-*-dir etc.

Also remove usage of "buildmakevars2shellvars" except when used to poopulate
the environment for qemu-xen-traditional's xen-setup script, which is the only
user.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoautoconf: check for Python.h header and -lpython* lib
Roger Pau Monne [Wed, 14 Mar 2012 14:08:04 +0000 (14:08 +0000)]
autoconf: check for Python.h header and -lpython* lib

Check that the package usually called python-dev is present.

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 agoxl: Implement sched-credit schedule parameter command-line interface
George Dunlap [Wed, 14 Mar 2012 14:06:04 +0000 (14:06 +0000)]
xl: Implement sched-credit schedule parameter command-line interface

Add features to the sched-credit interface to allow querying and
displaying scheduler parameters.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoxl: Refactor sched_domain_output to have a callback for pool information
George Dunlap [Wed, 14 Mar 2012 14:04:58 +0000 (14:04 +0000)]
xl: Refactor sched_domain_output to have a callback for pool information

Allow a scheduler to provide a callback to display pool-wide information,
providing a default.  This is in preparation for displaying pool-wide
scheduler parameters on this line.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agotapdisk2: initialize 'name' parameter of BLKTAP2_IOCTL_CREATE_DEVICE
Jan Beulich [Wed, 14 Mar 2012 11:40:44 +0000 (11:40 +0000)]
tapdisk2: initialize 'name' parameter of BLKTAP2_IOCTL_CREATE_DEVICE

This keeps the kernel driver from printing garbage.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoxl: display max_cpu_ids for xl info
Andrew Cooper [Wed, 14 Mar 2012 11:10:20 +0000 (11:10 +0000)]
xl: display max_cpu_ids for xl info

Expose `max_cpu_id' in stdout from `xl info'

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoMerge
Ian Jackson [Wed, 14 Mar 2012 11:03:37 +0000 (11:03 +0000)]
Merge

13 years agogitignore: Add cscope files
Ian Campbell [Wed, 14 Mar 2012 11:03:13 +0000 (11:03 +0000)]
gitignore: Add cscope files

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoarm: add generated files to .gitignore and .hgignore
David Vrabel [Wed, 14 Mar 2012 10:12:38 +0000 (10:12 +0000)]
arm: add generated files to .gitignore and .hgignore

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: introduce more hypercalls
Stefano Stabellini [Wed, 14 Mar 2012 09:47:05 +0000 (09:47 +0000)]
arm: introduce more hypercalls

Implement xen_version, event_channel_op, memory_op sysctl and physdev_op
hypercalls.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: handle dom0_max_vcpus=0 case properly
Ian Campbell [Wed, 14 Mar 2012 09:47:04 +0000 (09:47 +0000)]
arm: handle dom0_max_vcpus=0 case properly

Also use xzalloc_array.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: fix inflight_irqs list priority ordering
Stefano Stabellini [Wed, 14 Mar 2012 09:47:03 +0000 (09:47 +0000)]
arm: fix inflight_irqs list priority ordering

Lower priority integers mean higher priority.
Also when we are about to insert the lowest priority IRQ so far, add it
at the end.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoarm: rename link to inflight
Stefano Stabellini [Wed, 14 Mar 2012 09:47:02 +0000 (09:47 +0000)]
arm: rename link to inflight

The link field in pending_irq has a confusing name so rename it to
inflight and comment its behaviour.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agotools/hotplug/Linux/init.d/: create /var/run/xen if not exists
Fabio Fantoni [Tue, 13 Mar 2012 17:30:50 +0000 (17:30 +0000)]
tools/hotplug/Linux/init.d/: create /var/run/xen if not exists

Signed-off-by: Fabio Fantoni <fabio.fantoni@heliman.it>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agotools/python: Fix indenting in 25030:6ced0ed954d6
Ian Jackson [Tue, 13 Mar 2012 17:21:37 +0000 (17:21 +0000)]
tools/python: Fix indenting in 25030:6ced0ed954d6

Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agotools/python: Py_INCREF(Py_None) when returing Py_None
Marek Marczykowski [Tue, 13 Mar 2012 17:19:47 +0000 (17:19 +0000)]
tools/python: Py_INCREF(Py_None) when returing Py_None

Signed-off-by: Marek Marczykowski <marmarek@invisiblethingslab.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoxl block-detach: allow other than numeric-decimal specification of the disk
Jan Beulich [Tue, 13 Mar 2012 17:11:09 +0000 (17:11 +0000)]
xl block-detach: allow other than numeric-decimal specification of the disk

... to be in sync with block-attach.  And rename the function.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: always set a default value for VFB.opengl
Ian Campbell [Tue, 13 Mar 2012 17:06:36 +0000 (17:06 +0000)]
libxl: always set a default value for VFB.opengl

Fixes an assertion failure.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reported-by: Fantu <fantonifabio@tiscali.it>
Tested-by: Fantu <fantonifabio@tiscali.it>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agotools, build: Fix libaio Makefile to put files in $(DESTDIR)
George Dunlap [Tue, 13 Mar 2012 16:26:20 +0000 (16:26 +0000)]
tools, build: Fix libaio Makefile to put files in $(DESTDIR)

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agoMerge
Ian Jackson [Tue, 13 Mar 2012 16:07:50 +0000 (16:07 +0000)]
Merge

13 years agoarm: use r12 to pass the hypercall number
Stefano Stabellini [Tue, 13 Mar 2012 16:04:05 +0000 (16:04 +0000)]
arm: use r12 to pass the hypercall number

** This is a guest visible ABI change which requires an updated guest kernel **

Use r12 to pass the hypercall number and r0-r4 for the hypercall
arguments.

Use the ISS to pass an hypervisor specific tag.

Remove passing unused registers to arm_hypercall_table: we don't have 6
arguments hypercalls and we never use 64 bit values as hypercall
arguments, 64 bit values are only contained within structs passed as
arguments.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
[ use #ifndef NDEBUG, fix coding style, expand calling convention comment
  slightly and added a big fat note about ABI change - ijc ]
Committed-by: Ian Campbell <ian.campbell@citrix.com>
13 years agoxenstat: Use local domain names
Daniel De Graaf [Tue, 13 Mar 2012 15:40:42 +0000 (15:40 +0000)]
xenstat: Use local domain names

The domain name stored in /local/domain/$domid/name is simpler to
access and is the only domain name modified by "xl rename". Use this
domain name in libxenstat's reporting.

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: fix libxl_get_cpu_topology
Wei Liu [Tue, 13 Mar 2012 15:36:58 +0000 (15:36 +0000)]
libxl: fix libxl_get_cpu_topology

Fix upper bound of for loop, thus preventing memory corruption.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 years agolibxl: publish number of paged pages.
Andres Lagar-Cavilla [Tue, 13 Mar 2012 15:34:54 +0000 (15:34 +0000)]
libxl: publish number of paged pages.

This is information is currently not harvested from libxc.

Signed-off-by: Andres Lagar-Cavilla <andres@lagarcavilla.org>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>