]> xenbits.xensource.com Git - xen.git/log
xen.git
10 years agolibxc: Fix xc_pm API calls to return negative error and stash error in errno.
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:12 +0000 (20:24 -0400)]
libxc: Fix xc_pm API calls to return negative error and stash error in errno.

Oddly enough the user of this API did the right thing -
check for return being negative and used 'errno' for the
real error.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: Return negative value and propagate errno for xc_offline_page API
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:11 +0000 (20:24 -0400)]
libxc: Return negative value and propagate errno for xc_offline_page API

Instead of returning -Exx we now return -1 for error.
We could stash the -Exx values in errno values but why - the
underlaying functions we call all stash the proper errno
value. Hence we just propagate it up wherver it is needed.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: xc_physdev_map return -1 and populate errno.
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:10 +0000 (20:24 -0400)]
libxc: xc_physdev_map return -1 and populate errno.

The users of these (qemu) check for a negative value
so we are safe in regards to that. However they
also use the return value to inform the user of the
error.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: Fix xc_domain_get_tsc_info to return -1 instead of -Exx.
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:09 +0000 (20:24 -0400)]
libxc: Fix xc_domain_get_tsc_info to return -1 instead of -Exx.

We don't need to put fill errno because xc_hypercall_buffer_alloc
fills the errno with the appropriate errno values and we just
need to pass them up the stack.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: Propagate errno from hypercall instead of anything else.
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:08 +0000 (20:24 -0400)]
libxc: Propagate errno from hypercall instead of anything else.

After we have done the hypercall - the errno has the failure
code. However our usage of pthread and munmap can trigger them
to manipulate the errno with their failure values. That would
be bad as what we care about is just the hypercall error value.

Another solution to this would be to save the 'errno' from
pthread/munmap/madvise as an extra parameter to be analyzed
later. However the call-sites above us do not care about it.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: Replaces tabs with spaces in xc_cpupool_freeinfo
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 00:24:07 +0000 (20:24 -0400)]
libxc: Replaces tabs with spaces in xc_cpupool_freeinfo

The goto looks very wrong when the rest of the code
has spaces.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: Domain destroy: fork
Ian Jackson [Thu, 5 Mar 2015 16:28:04 +0000 (16:28 +0000)]
libxl: Domain destroy: fork

Call xc_domain_destroy in a subprocess.  That allows us to do so
asynchronously, rather than blocking the whole process calling libxl.

The changes in detail:

 * Provide an libxl__ev_child in libxl__domain_destroy_state, and
   initialise it in libxl__domain_destroy.  There is no possibility
   to `clean up' a libxl__ev_child, but there need to clean it up, as
   the control flow ensures that we only continue after the child has
   exited.

 * Call libxl__ev_child_fork at the right point and put the call to
   xc_domain_destroy and associated logging in the child.  (The child
   opens a new xenctrl handle because we mustn't use the parent's.)

 * Consequently, the success return path from domain_destroy_domid_cb
   no longer calls dis->callback.  Instead it simply returns.

 * We plumb the errorno value through the child's exit status, if it
   fits.  This means we normally do the logging only in the parent.

 * Incidentally, we fix the bug that we were treating the return value
   from xc_domain_destroy as an errno value when in fact it is a
   return value from do_domctl (in this case, 0 or -1 setting errno).

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxen: arm: more flexible scheme for specifying early printk device
Ian Campbell [Wed, 11 Mar 2015 14:04:39 +0000 (14:04 +0000)]
xen: arm: more flexible scheme for specifying early printk device

This allows for early-printk to be specified (for existing UARTS at
least) without the need to edit Rules.mk.

The existing shortcuts are retained, but in a much more compact
fashion.

An unused EARLY_PRINTK_BAUD was removed from the zynqmq settings.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
10 years agoxen: arm: sort earlyprintk related lists
Ian Campbell [Wed, 11 Mar 2015 14:11:54 +0000 (14:11 +0000)]
xen: arm: sort earlyprintk related lists

Also add a bunch of missing entries to the doc

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
10 years agoxen: common: Use unbounded array for symbols_offset.
Ian Campbell [Fri, 13 Mar 2015 12:22:25 +0000 (12:22 +0000)]
xen: common: Use unbounded array for symbols_offset.

Using a singleton array causes gcc5 to report:
symbols.c: In function 'symbols_lookup':
symbols.c:128:359: error: array subscript is above array bounds [-Werror=array-bounds]
symbols.c:136:176: error: array subscript is above array bounds [-Werror=array-bounds]

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
10 years agolibxl: Domain destroy: unlock userdata earlier
Ian Jackson [Tue, 17 Mar 2015 15:30:58 +0000 (09:30 -0600)]
libxl: Domain destroy: unlock userdata earlier

Unlock the userdata before we actually call xc_domain_destroy.  This
leaves open the possibility that other libxl callers will see the
half-destroyed domain (with no devices, paused), but this is fine.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: In domain death search, start search at first domid we want
Ian Jackson [Tue, 17 Mar 2015 15:30:57 +0000 (09:30 -0600)]
libxl: In domain death search, start search at first domid we want

From: Ian Jackson <Ian.Jackson@eu.citrix.com>

When domain_death_xswatch_callback needed a further call to
xc_domain_getinfolist it would restart it with the last domain it
found rather than the first one it wants.

If it only wants one it will also only ask for one domain.  The result
would then be that it gets the previous domain again (ie, the previous
one to the one it wants), which still doesn't reveal the answer to the
question, and it would therefore loop again.

It's completely unclear to me why I thought it was a good idea to
start the xc_domain_getinfolist with the last domain previously found
rather than the first one left un-confirmed.  The code has been that
way since it was introduced.

Instead, start each xc_domain_getinfolist at the next domain whose
status we need to check.

We also need to move the test for !evg into the loop, we now need evg
to compute the arguments to getinfolist.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reported-by: Jim Fehlig <jfehlig@suse.com>
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
Tested-by: Jim Fehlig <jfehlig@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools/libxl: close the logfile_w and null file descriptors in libxl__spawn_qdisk_back...
Koushik Chakravarty [Thu, 19 Mar 2015 05:51:15 +0000 (05:51 +0000)]
tools/libxl: close the logfile_w and null file descriptors in libxl__spawn_qdisk_backend() error path

Signed-off-by: Koushik Chakravarty <koushik.chakravarty@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agolibxl/libxl_qmp.c: fix error handling in qmp_open
Pramod Devendra [Thu, 19 Mar 2015 12:55:12 +0000 (12:55 +0000)]
libxl/libxl_qmp.c: fix error handling in qmp_open

1. Make sure sun_path does not overflow
2. Close qmp_fd on error
3. Use goto out for error handling

Signed-off-by: Pramod Devendra <pramod.devendra@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agodocs: Mention a common pitfall in ballooning
George Dunlap [Thu, 19 Mar 2015 17:09:19 +0000 (17:09 +0000)]
docs: Mention a common pitfall in ballooning

Several users have reported that their available free memory in the
guest when they used maxmem >> memory was much smaller than when
maxmem == memory.  This is the unavoidable consequence of how
ballooning works, but it's not something users expect.

Warn them of this effect in the place we tell them how to make it
happen, so they aren't surprised.

Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agofix man/xl.cfg.pod.5
Riku Voipio [Thu, 19 Mar 2015 12:52:57 +0000 (14:52 +0200)]
fix man/xl.cfg.pod.5

Since b642ed677501767649ba24948796ea4045fd256d making docs
fail with:

man/xl.cfg.pod.5 around line 273: Unterminated B<...> sequence
POD document had syntax errors at /usr/bin/pod2text line 84.

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Acked-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoMerge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
Ian Campbell [Thu, 19 Mar 2015 11:03:41 +0000 (11:03 +0000)]
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

10 years agodpci: put the dpci back on the list if scheduled from another CPU
Konrad Rzeszutek Wilk [Thu, 19 Mar 2015 10:53:05 +0000 (11:53 +0100)]
dpci: put the dpci back on the list if scheduled from another CPU

There is race when we clear the STATE_SCHED in the softirq
- which allows the 'raise_softirq_for' (on another CPU or
on the one running the softirq) to schedule the dpci.

Specifically this can happen when the other CPU receives
an interrupt, calls 'raise_softirq_for', and puts the dpci
on its per-cpu list (same dpci structure). Note that
this could also happen on the same physical CPU, however
the explanation for simplicity will assume two CPUs actors.

There would be two 'dpci_softirq' running at the same time
(on different CPUs) where on one CPU it would be executing
hvm_dirq_assist (so had cleared STATE_SCHED and set STATE_RUN)
and on the other CPU it is trying to call:

   if ( test_and_set_bit(STATE_RUN, &pirq_dpci->state) )
     BUG();

Since STATE_RUN is already set it would end badly.

The reason we can get his with this is when an interrupt
affinity is set over multiple CPUs.

Potential solutions:

a) Instead of the BUG() we can put the dpci back on the per-cpu
list to deal with later (when the softirq are activated again).
This putting the 'dpci' back on the per-cpu list is an spin
until the bad condition clears.

b) We could also expand the test-and-set(STATE_SCHED) in raise_softirq_for
to detect for 'STATE_RUN' bit being set and schedule the dpci.
The BUG() check in dpci_softirq would be replace with a spin until
'STATE_RUN' has been cleared. The dpci would still not
be scheduled when STATE_SCHED bit was set.

c) Only schedule the dpci when the state is cleared
(no STATE_SCHED and no STATE_RUN).  It would spin if STATE_RUN is set
(as it is in progress and will finish). If the STATE_SCHED is set
(so hasn't run yet) we won't try to spin and just exit.

Down-sides of the solutions:

a). Live-lock of the CPU. We could be finishing an dpci, then adding
the dpci, exiting, and the processing the dpci once more. And so on.
We would eventually stop as the TIMER_SOFTIRQ would be set, which will
cause SCHEDULER_SOFTIRQ to be set as well and we would exit this loop.

Interestingly the old ('tasklet') code used this mechanism.
If the function assigned to the tasklet was running  - the softirq
that ran said function (hvm_dirq_assist) would be responsible for
putting the tasklet back on the per-cpu list. This would allow
to have an running tasklet and an 'to-be-scheduled' tasklet
at the same time.

b). is similar to a) - instead of re-entering the dpci_softirq
we are looping in the softirq waiting for the correct condition to
arrive. As it does not allow unwedging ourselves because the other
softirqs are not called - it is less preferable.

c) can cause an dead-lock if the interrupt comes in when we are
processing the dpci in the softirq - iff this happens on the same CPU.
We would be looping in on raise_softirq waiting for STATE_RUN
to be cleared, while the softirq that was to clear it - is preempted
by our interrupt handler.

As such, this patch - which implements a) is the best candidate
for this quagmire.

Reported-and-Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
Reported-and-Tested-by: Malcolm Crossley <malcolm.crossley@citrix.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
10 years agolibxlu: avoid having two definitions of XLU_ConfigList
Wei Liu [Wed, 18 Mar 2015 21:33:58 +0000 (21:33 +0000)]
libxlu: avoid having two definitions of XLU_ConfigList

There is already a typedef in libxlutil.h. Remove the one in
libxlu_internal.h.

Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoMerge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
Ian Campbell [Wed, 18 Mar 2015 15:32:45 +0000 (15:32 +0000)]
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

10 years agox86/shadow: pass domain to sh_install_xen_entries_in_lN()
Jan Beulich [Wed, 18 Mar 2015 13:21:40 +0000 (14:21 +0100)]
x86/shadow: pass domain to sh_install_xen_entries_in_lN()

Most callers have this available already, and the functions don't need
any vcpu specifics.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
10 years agoprint online pCPUs and free pCPUs when dumping
Dario Faggioli [Wed, 18 Mar 2015 13:20:37 +0000 (14:20 +0100)]
print online pCPUs and free pCPUs when dumping

e.g., with  `xl debug-key r', like this:

  (XEN) Online Cpus: 0-15
  (XEN) Free Cpus: 8-15

Also, for each cpupool, print the set of pCPUs it
contains, like this:

  (XEN) Cpupool 0:
  (XEN) Cpus: 0-7
  (XEN) Scheduler: SMP Credit Scheduler (credit)

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Juergen Gross <jgross@suse.com>
cpumask_weight() -> !cpumask_empty()

Signed-off-by: Jan Beulich <jbeulich@suse.com>
10 years agosched_rt: avoid ASSERT()ing on runq dump if there are no domains
Dario Faggioli [Wed, 18 Mar 2015 13:20:01 +0000 (14:20 +0100)]
sched_rt: avoid ASSERT()ing on runq dump if there are no domains

being serviced by the RTDS scheduler, as that is a
legit situation to be in: think, for instance, of a
newly created RTDS cpupool, with no domains migrated
to it yet.

While there:
 - move the spinlock acquisition up, to effectively
   protect the domain list and avoid races;
 - the mask of online pCPUs was being retrieved
   but then not used anywhere in the function: get
   rid of that.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agox86/VPMU: VPMU should not exist when vpmu_initialise() is called
Boris Ostrovsky [Wed, 18 Mar 2015 13:19:01 +0000 (14:19 +0100)]
x86/VPMU: VPMU should not exist when vpmu_initialise() is called

We don't need to try to destroy it since it can't be already allocated at the
time we try to initialize it.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
10 years agoxl: use libxl_cpupoolinfo_list_free() in main_cpupoolnumasplit
Dario Faggioli [Fri, 13 Mar 2015 11:09:59 +0000 (12:09 +0100)]
xl: use libxl_cpupoolinfo_list_free() in main_cpupoolnumasplit

instead of manually freeing the elements of the list, which
is exactly the purpose of the said function.

Trade also a couple of 'return'-s with 'goto out'-s, which
is more in line with libxl usage paradigm.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxl: make error reporting of cpupool subcommands consistent
Dario Faggioli [Fri, 13 Mar 2015 11:09:51 +0000 (12:09 +0100)]
xl: make error reporting of cpupool subcommands consistent

with the rest of the file, where we return 1 on 0, rather
than using libxl error codes.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxl: enable using ranges of pCPUs when creating cpupools
Dario Faggioli [Fri, 13 Mar 2015 11:09:41 +0000 (12:09 +0100)]
xl: enable using ranges of pCPUs when creating cpupools

instead of just list of single pCPUs or NUMA node IDs, as
it happens right now.

On the other hand, after this change, strings containing
pCPUs and NUMA node ranges is supported. The syntax is the
same one supported by the "cpus" and "cpus_soft" config
switch, i.e., "4-8" or "node:1,12-18,^14".

This make things more flexible, more consistent, and also
improves error handling, as the pCPU range parsing routine
already present in xl is more reliable than just a call
to atoi().

While there, remove a redundant error check in the legacy syntax
handling (libxl_bitmap_test() already checks the index being
within the size of the bitmap).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxl: enable using ranges of pCPUs when manipulating cpupools
Dario Faggioli [Fri, 13 Mar 2015 11:09:32 +0000 (12:09 +0100)]
xl: enable using ranges of pCPUs when manipulating cpupools

in fact, right now, xl sub-commands 'cpupool-cpu-add' and
'cpupool-cpu-remove' only accept the specification of one
pCPU to be added or removed to/from a cpupool.

With this change, they can deal with ranges, like "4-8",
or "node:1,12-18,^14". The syntax is exactly the same one
that is supported by the 'vcpu-pin' subcommand, and
specifying just one pCPU still works, of course.

This make things more flexible, more consistent, and also
improves error handling, as the pCPU range parsing routine
already present in xl is more reliable than just a call
to atoi().

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agolibxl: introduce libxl_cpupool_cpu{add, remove}_cpumap()
Dario Faggioli [Fri, 13 Mar 2015 11:09:24 +0000 (12:09 +0100)]
libxl: introduce libxl_cpupool_cpu{add, remove}_cpumap()

To add (removes) to (from) a cpupool all the pCPUs corresponding
to the bits that are set in the passed bitmap.

This is convenient and useful in order to implement, in xl,
the possibility of specifying ranges of pCPUs to be added
(removed) to (from) a cpupool, in the relevant commands.

While there, convert libxl_cpupool_cpu{add,remove} to use the
appropriate logging macro (LOGE()).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxl: add -c/--cpupool option to `xl list'
Dario Faggioli [Fri, 13 Mar 2015 11:09:13 +0000 (12:09 +0100)]
xl: add -c/--cpupool option to `xl list'

which, if provided, makes the command print a column
with the name of the cpupool of the listed domain(s).

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxl: turn some int local variable into bool
Dario Faggioli [Fri, 13 Mar 2015 11:09:03 +0000 (12:09 +0100)]
xl: turn some int local variable into bool

more specifically, the ones used as argument presence
flags in `xl list'.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agotools/libxl: avoid comparing an unsigned int to -1
Koushik Chakravarty [Mon, 16 Mar 2015 10:12:34 +0000 (10:12 +0000)]
tools/libxl: avoid comparing an unsigned int to -1

Signed-off-by: Koushik Chakravarty <koushik.chakravarty@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agotools/libxc/xc_linux_osdep.c: Don't leak mmap() mapping on map_foreign_bulk() error...
Pramod Devendra [Mon, 16 Mar 2015 10:06:50 +0000 (10:06 +0000)]
tools/libxc/xc_linux_osdep.c: Don't leak mmap() mapping on map_foreign_bulk() error path

Signed-off-by: Pramod Devendra <pramod.devendra@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agotools/libxl/libxl_cpuid.c: Fix leak of resstr on error path
Pramod Devendra [Mon, 16 Mar 2015 10:06:17 +0000 (10:06 +0000)]
tools/libxl/libxl_cpuid.c: Fix leak of resstr on error path

Signed-off-by: Pramod Devendra <pramod.devendra@citrix.com>
CC: Ian Jackson <ian.jackson@eu.citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Ian Campbell <ian.campbell@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoflask/policy: fix static device labeling examples
Daniel De Graaf [Wed, 11 Mar 2015 14:59:44 +0000 (10:59 -0400)]
flask/policy: fix static device labeling examples

The definitions of static device labels must be placed at the end of the
policy.conf before passing it to checkpolicy; the existing examples
(which are commented out) are in the wrong location.  Create a new file
for device contexts which will place them in the proper location.

This also removes some directions about using the xen policy type in
checkpolicy which is no longer needed.

Reported-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxl: vNUMA support
Wei Liu [Mon, 16 Mar 2015 09:52:40 +0000 (09:52 +0000)]
xl: vNUMA support

This patch includes configuration options parser and documentation.

Please find the hunk to xl.cfg.pod.5 for more information.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxl: introduce xcalloc
Wei Liu [Mon, 16 Mar 2015 09:52:39 +0000 (09:52 +0000)]
xl: introduce xcalloc

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxlu: introduce new APIs
Wei Liu [Mon, 16 Mar 2015 09:52:38 +0000 (09:52 +0000)]
libxlu: introduce new APIs

These APIs can be used to manipulate XLU_ConfigValue and XLU_ConfigList.

APIs introduced:
1. xlu_cfg_value_type
2. xlu_cfg_value_get_string
3. xlu_cfg_value_get_list
4. xlu_cfg_get_listitem2

Move some definitions from private header to public header as needed.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agolibxlu: record location when parsing values
Wei Liu [Mon, 16 Mar 2015 09:52:37 +0000 (09:52 +0000)]
libxlu: record location when parsing values

Originally only setting has line number recorded. Since we're moving to
more sophisticated API, record the location for individual value. It is
useful for error reporting.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxlu: nested list support
Wei Liu [Mon, 16 Mar 2015 09:52:36 +0000 (09:52 +0000)]
libxlu: nested list support

1. Extend grammar of parser.
2. Adjust internal functions to accept XLU_ConfigValue instead of
   char *.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agolibxlu: rework internal representation of setting
Wei Liu [Mon, 16 Mar 2015 09:52:35 +0000 (09:52 +0000)]
libxlu: rework internal representation of setting

This patches does following things:

1. Properly define a XLU_ConfigList type. Originally it was defined to
   be XLU_ConfigSetting.
2. Define XLU_ConfigValue type, which can be either a string or a list
   of XLU_ConfigValue.
3. ConfigSetting now references XLU_ConfigValue. Originally it only
   worked with **string.
4. Properly construct list where necessary, see changes to .y file.

To achieve above changes:

1. xlu__cfg_set_mk and xlu__cfg_set_add are deleted, because they
   are no more needed in the new code.
2. Introduce xlu__cfg_string_mk to make a XLU_ConfigSetting that points
   to a XLU_ConfigValue that wraps a string.
3. Introduce xlu__cfg_list_mk to make a XLU_ConfigSetting that points
   to XLU_ConfigValue that is a list.
4. The parser now generates XLU_ConfigValue instead of XLU_ConfigSetting
   when construct values, which enables us to recursively generate list
   of lists.
5. XLU_ConfigSetting is generated in xlu__cfg_set_store.
6. Adapt other functions to use new types.

No change to public API. Xl compiles without problem and 'xl create -n
guest.cfg' is valgrind clean.

This patch is needed because we're going to implement nested list
support, which requires support for list of list.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agolibxl: define LIBXL_HAVE_VNUMA
Wei Liu [Mon, 16 Mar 2015 09:52:34 +0000 (09:52 +0000)]
libxl: define LIBXL_HAVE_VNUMA

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: disallow memory relocation when vNUMA is enabled
Wei Liu [Mon, 16 Mar 2015 09:52:33 +0000 (09:52 +0000)]
libxl: disallow memory relocation when vNUMA is enabled

Disallow memory relocation when vNUMA is enabled, because relocated
memory ends up off node. Further more, even if we dynamically expand
node coverage in hvmloader, low memory and high memory may reside
in different physical nodes, blindly relocating low memory to high
memory gives us a sub-optimal configuration.

Introduce a function called libxl__vnuma_configured and use it.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Konrad Wilk <konrad.wilk@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: build, check and pass vNUMA info to Xen for HVM guest
Wei Liu [Mon, 16 Mar 2015 09:52:32 +0000 (09:52 +0000)]
libxl: build, check and pass vNUMA info to Xen for HVM guest

Transform user supplied vNUMA configuration into libxl internal
representations then libxc representations. Check validity along the
line.

Libxc has more involvement in building vmemranges in HVM case compared
to PV case. The building of vmemranges is placed after xc_hvm_build
returns, because it relies on memory hole information provided by
xc_hvm_build.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: allocate memory with vNUMA information for HVM guest
Wei Liu [Mon, 16 Mar 2015 09:52:31 +0000 (09:52 +0000)]
libxc: allocate memory with vNUMA information for HVM guest

The algorithm is more or less the same as the one used for PV guest.
Libxc gets hold of the mapping of vnode to pnode and size of each vnode
then allocate memory accordingly.

And then the function returns low memory end, high memory end and mmio
start to caller. Libxl needs those values to construct vmemranges for
that guest.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: indentation change to xc_hvm_build_x86.c
Wei Liu [Mon, 16 Mar 2015 09:52:30 +0000 (09:52 +0000)]
libxc: indentation change to xc_hvm_build_x86.c

Move a while loop in xc_hvm_build_x86 one block to the right. No
functional change introduced.

Functional changes will be introduced in next patch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: build, check and pass vNUMA info to Xen for PV guest
Wei Liu [Mon, 16 Mar 2015 09:52:29 +0000 (09:52 +0000)]
libxl: build, check and pass vNUMA info to Xen for PV guest

Transform the user supplied vNUMA configuration into libxl internal
representations, and finally libxc representations. Check validity of
the configuration along the line.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: functions to build vmemranges for PV guest
Wei Liu [Mon, 16 Mar 2015 09:52:28 +0000 (09:52 +0000)]
libxl: functions to build vmemranges for PV guest

Introduce a arch-independent routine to generate one vmemrange per
vnode. Also introduce arch-dependent routines for different
architectures because part of the process is arch-specific -- ARM has
yet have NUMA support and E820 is x86 only.

For those x86 guests who care about machine E820 map (i.e. with
e820_host=1), vnode is further split into several vmemranges to
accommodate memory holes.  A few stubs for libxl_arm.c are created.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: x86: factor out e820_host_sanitize
Wei Liu [Mon, 16 Mar 2015 09:52:27 +0000 (09:52 +0000)]
libxl: x86: factor out e820_host_sanitize

This function gets the machine E820 map and sanitize it according to PV
guest configuration.

This will be used in later patch. No functional change introduced in
this patch.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: introduce libxl__vnuma_config_check
Wei Liu [Mon, 16 Mar 2015 09:52:26 +0000 (09:52 +0000)]
libxl: introduce libxl__vnuma_config_check

This function is used to check whether vNUMA configuration (be it
auto-generated or supplied by user) is valid.

Define a new error code ERROR_VNUMA_CONFIG_INVALID.

The checks performed can be found in the comment of the function.

This vNUMA function (and future ones) is placed in a new file called
libxl_vnuma.c

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: add vmemrange to libxl__domain_build_state
Wei Liu [Mon, 16 Mar 2015 09:52:25 +0000 (09:52 +0000)]
libxl: add vmemrange to libxl__domain_build_state

A vnode consists of one or more vmemranges (virtual memory range).  One
example of multiple vmemranges is that there is a hole in one vnode.

Currently we haven't exported vmemrange interface to libxl user.
Vmemranges are generated during domain build, so we have relevant
structures in domain build state.

Later if we discover we need to export the interface, those structures
can be moved to libxl_domain_build_info as well.

These new fields (along with other fields in that struct) are set to 0
at start of day so we don't need to explicitly initialise them. A
following patch which introduces an independent checking function will
need to access these fields. I don't feel very comfortable squashing
this change into that one so I didn't use a single commit.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxl: introduce vNUMA types
Wei Liu [Mon, 16 Mar 2015 09:52:24 +0000 (09:52 +0000)]
libxl: introduce vNUMA types

A domain can contain several virtual NUMA nodes, hence we introduce an
array in libxl_domain_build_info.

libxl_vnode_info contains the size of memory in that node, the distance
from that node to every nodes, the underlying pnode and a bitmap of
vcpus.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: allocate memory with vNUMA information for PV guest
Wei Liu [Mon, 16 Mar 2015 09:52:23 +0000 (09:52 +0000)]
libxc: allocate memory with vNUMA information for PV guest

From libxc's point of view, it only needs to know vnode to pnode mapping
and size of each vnode to allocate memory accordingly. Add these fields
to xc_dom structure.

The caller might not pass in vNUMA information. In that case, a dummy
layout is generated for the convenience of libxc's allocation code. The
upper layer (libxl etc) still sees the domain has no vNUMA
configuration.

Note that for this patch on PV x86 guest can have multiple regions of
ram allocated.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Elena Ufimtseva <ufimtseva@gmail.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: add p2m_size to xc_dom_image
Wei Liu [Mon, 16 Mar 2015 09:52:22 +0000 (09:52 +0000)]
libxc: add p2m_size to xc_dom_image

Add a new field p2m_size to keep track of the number of pages covered by
p2m.  Change total_pages to p2m_size in functions which in fact need
the size of p2m.

This is needed because we are going to ditch the assumption that PV x86
has only one contiguous ram region. Originally the p2m size was always
equal to total_pages, but we will soon change that in later patch.

This patch doesn't change the behaviour of libxc.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agolibxc: duplicate snippet to allocate p2m_host array
Wei Liu [Mon, 16 Mar 2015 09:52:21 +0000 (09:52 +0000)]
libxc: duplicate snippet to allocate p2m_host array

Currently all in tree code doesn't set the superpage flag, I would just
remove superpage support if I can, but Konrad wants it retained for the
moment.

As I'm going to change the p2m_host array allocation, duplicate the code
snippet to allocate p2m_host array in this patch, so that we retain the
behaviour in superpage case.

This patch introduces no functional change and it will make future patch
easier to review. Also removed one stray tab while I was there.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Konrad Wilk <konrad.wilk@oracle.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agostubdom: fix vtpm build failure due to duplicated typedefs.
Quan Xu [Tue, 17 Mar 2015 01:00:03 +0000 (21:00 -0400)]
stubdom: fix vtpm build failure due to duplicated typedefs.

Typedefs are duplicated in stubdom/vtpmmgr/tcg.h and supported compilers
do not cope with current staging branch.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Quan Xu <quan.xu@intel.com>
Tested-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- reworded subject line ]

10 years agotools/libxl: Adjust datacopiers POLLHUP handling when the fd is also readable
Andrew Cooper [Mon, 16 Mar 2015 13:29:54 +0000 (13:29 +0000)]
tools/libxl: Adjust datacopiers POLLHUP handling when the fd is also readable

POLLHUP|POLLIN is a valid revent to receive when there is readable data in a
pipe, but the writable fd has been closed.  This occurs in migration v2 when
the legacy conversion process (which transforms the data inline) completes and
exits successfully.

In the case that there is data to read, suppress the POLLHUP.  POSIX states
that the hangup state is latched[1], which means it will reoccur on subsequent
poll() calls.  The datacopier is thus provided the opportunity to read until
EOF, if possible.

A POLLHUP on its own is treated exactly as before, indicating a different
error with the fd.

[1] http://pubs.opengroup.org/onlinepubs/9699919799/functions/poll.html

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools/libxl: Extend datacopier to support reading into a buffer
Ross Lagerwall [Mon, 16 Mar 2015 13:29:53 +0000 (13:29 +0000)]
tools/libxl: Extend datacopier to support reading into a buffer

Currently a datacopier may source its data from an fd or local buffer, but its
destination must be an fd.  For migration v2, libxl needs to read from the
migration stream into a local buffer.

Implement a "read into local buffer" mode, invoked when readbuf is set and
writefd is -1.  On success, the callback passes the number of bytes read.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
[Rewrite commit message]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools/libxl: Allow limiting amount copied by datacopier
Ross Lagerwall [Mon, 16 Mar 2015 13:29:52 +0000 (13:29 +0000)]
tools/libxl: Allow limiting amount copied by datacopier

Currently, a datacopier will unconditionally read until EOF on its read fd.

For migration v2, libxl needs to read records of a specific length out of the
migration stream, without reading any further data.

Introduce a parameter, bytes_to_read, which may be used to stop the datacopier
ahead of reaching EOF. If bytes_to_read is set to -1, then the datacopier will
read until EOF.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
[Rewrite commit message]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools/libxl: Avoid overrunning static buffer with prefixdata
Ross Lagerwall [Mon, 16 Mar 2015 13:29:51 +0000 (13:29 +0000)]
tools/libxl: Avoid overrunning static buffer with prefixdata

An individual datacopier_buf contains a static buffer of 1000 bytes.
Attempting to add prefixdata of more than 1000 bytes would overrun the buffer
and cause heap corruption.

Instead, split the prefixdata and chain together multiple datacopier buffers.
This allows for an arbitrary quantity of prefixdata to be added to a
datacopier.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
10 years agotools/libxl: Update datacopier to support sending data only
Wen Congyang [Mon, 16 Mar 2015 13:29:50 +0000 (13:29 +0000)]
tools/libxl: Update datacopier to support sending data only

Currently, starting a datacopier requires a valid read and write fd, but this
is a problem when purely sending data from a local buffer to a writable fd.

The prefixdata mechanism already exists and works for inserting data from a
local buffer ahead of reading from the read fd.

Make the lack of a read fd non-fatal.  A datacopier with no read fd, but some
prefixdata will write the prefixdata to the write fd and complete successfully.

Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
[Rewrite commit message]
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
10 years agotools/libxl: Introduce min and max macros
Andrew Cooper [Mon, 16 Mar 2015 13:29:49 +0000 (13:29 +0000)]
tools/libxl: Introduce min and max macros

This is the same set used by libxc.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Ian Jackson <Ian.Jackson@eu.citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
10 years agomake dumping vcpu info look better
Dario Faggioli [Tue, 17 Mar 2015 14:11:33 +0000 (15:11 +0100)]
make dumping vcpu info look better

and more consistent. In fact, before this changes, it looks
like this:

 (XEN) VCPU information and callbacks for domain 0:
 (XEN)     VCPU0: CPU4 [has=F] poll=0 upcall_pend = 00, upcall_mask = 00 dirty_cpus={4} cpu_affinity={0-15}
 (XEN) cpu_soft_affinity={0-15}
 (XEN)     pause_count=0 pause_flags=1
 (XEN)     No periodic timer

After, it looks like this:

 (XEN) VCPU information and callbacks for domain 0:
 (XEN)     VCPU0: CPU4 [has=F] poll=0 upcall_pend=00 upcall_mask=00 dirty_cpus={4}
 (XEN)     cpu_hard_affinity={0-15} cpu_soft_affinity={0-15}
 (XEN)     pause_count=0 pause_flags=1
 (XEN)     No periodic timer

So, consistently _not_ put space between fields and '=',
and consistently _not_ use ',' as separator. Also, put the
info about affinity on the same, properly indented.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
10 years agosched_rt: implement the .free_pdata hook
Dario Faggioli [Tue, 17 Mar 2015 14:11:05 +0000 (15:11 +0100)]
sched_rt: implement the .free_pdata hook

which is called by cpu_schedule_down(), and is necessary
for resetting the spinlock pointers in schedule_data from
the RTDS global runqueue lock, back to the default _lock
fields in the struct.

Not doing so causes Xen to explode, e.g., when removing
pCPUs from an RTDS cpupool and assigning them to another
one.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agomake two memory hypercalls vNUMA-aware
Wei Liu [Tue, 17 Mar 2015 10:03:29 +0000 (11:03 +0100)]
make two memory hypercalls vNUMA-aware

Make XENMEM_increase_reservation and XENMEM_populate_physmap
vNUMA-aware.

That is, if guest requests Xen to allocate memory for specific vnode,
Xen can translate vnode to pnode using vNUMA information of that guest.

XENMEMF_vnode is introduced for the guest to mark the node number is in
fact virtual node number and should be translated by Xen.

XENFEAT_memory_op_vnode_supported is introduced to indicate that Xen is
able to translate virtual node to physical node.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Hand struct domain via struct memops_arg's respective field to
construct_memop_from_reservation().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
10 years agoxsm: add device tree labeling support
Daniel De Graaf [Tue, 17 Mar 2015 09:58:40 +0000 (10:58 +0100)]
xsm: add device tree labeling support

This adds support in the hypervisor and policy build toolchain for
Xen/Flask policy version 30, which adds the ability to label ARM device
tree nodes and expands the IOMEM ocontext entries to 64 bits.

Signed-off-by: Daniel De Graaf <dgdegra@tycho.nsa.gov>
Tested-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agocredit2: add a few performance counters
Dario Faggioli [Tue, 17 Mar 2015 09:57:58 +0000 (10:57 +0100)]
credit2: add a few performance counters

for events that are specific to Credit2 (as it happens for Credit1
already). Re-use Credit1's vcpu_check counter by making it generic.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agosched: make counters for vCPU tickling generic
Dario Faggioli [Tue, 17 Mar 2015 09:57:23 +0000 (10:57 +0100)]
sched: make counters for vCPU tickling generic

and update them from Credit2 and RTDS schedulers.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agosched: make counters for vCPU sleep and wakeup generic
Dario Faggioli [Tue, 17 Mar 2015 09:56:48 +0000 (10:56 +0100)]
sched: make counters for vCPU sleep and wakeup generic

and update them from Credit2 and RTDS. In Credit2, while there,
remove some stale comments too.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Acked-by: Jan Beulich <jbeulich@suse.com>
Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agosched: honour generic perf conuters in the RTDS scheduler
Dario Faggioli [Tue, 17 Mar 2015 09:55:49 +0000 (10:55 +0100)]
sched: honour generic perf conuters in the RTDS scheduler

more specifically, about vCPU initialization and destruction events,
in line with adb26c09f26e ("xen: sched: introduce a couple of counters
in credit2 and SEDF").

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agoMerge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
Ian Campbell [Fri, 13 Mar 2015 16:20:37 +0000 (16:20 +0000)]
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

10 years agox86: improve "PCI reset register" rebooting
Jan Beulich [Fri, 13 Mar 2015 15:33:57 +0000 (16:33 +0100)]
x86: improve "PCI reset register" rebooting

The way this method works allows for honoring "warm" reboot requested
by the user and additionally has a way to power-cycle the machine.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
10 years agox86/domctl: improve XEN_DOMCTL_hypercall_init error handling
Andrew Cooper [Fri, 13 Mar 2015 15:31:27 +0000 (16:31 +0100)]
x86/domctl: improve XEN_DOMCTL_hypercall_init error handling

EACCES cannot be distinguished against an incorrect DOMCTL_INTERFACE_VERSION,
and will cause an incorrect "need to rebuild the user-space tool set?" message
from libxc.

On the libxc side, put the useful piece of information in the error message,
rathe than the -1 from do_domctl().

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxen: arm: correct arm64 version of gva_to_ma_par
Ian Campbell [Fri, 13 Mar 2015 10:39:50 +0000 (10:39 +0000)]
xen: arm: correct arm64 version of gva_to_ma_par

The implementation was backwards and checked that the guest could
read when asked about write and vice versa.

This is an update to the fix for XSA-98.

Reported-by: Tamas K Lengyel <tklengyel@sec.in.tum.de>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agox86: don't apply reboot quirks if reboot set by user
Ross Lagerwall [Fri, 13 Mar 2015 11:41:51 +0000 (12:41 +0100)]
x86: don't apply reboot quirks if reboot set by user

If reboot= is specified on the command-line, don't apply reboot quirks
to allow the command-line option to take precedence.

This is a port of Linux commit 5955633e91bf ("x86/reboot: Skip DMI
checks if reboot set by user").

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
Leverage (and make apply on top of) c643fb110a ("x86/EFI: allow
reboot= overrides when running under EFI").

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
10 years agoRevert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path"
Jan Beulich [Fri, 13 Mar 2015 11:40:01 +0000 (12:40 +0100)]
Revert "cpupools: update domU's node-affinity on the cpupool_unassign_cpu() path"

This reverts commit 93be8285a79c6cbbf66c8681fec1d1bfb71d84cc.

At the point this patch calls domain_update_node_affinity(), the vcpu
hard affinities have not yet been updated; so calling it at this point
can in some circumstances trigger an ASSERT().

domain_update_node_affinity() is already called in
cpu_disable_scheduler(), so adding it to cpupool_unassign_cpu() is
redundant.  Simply reverting the patch is sufficient.

Acked-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agox86/EFI: allow reboot= overrides when running under EFI
Konrad Rzeszutek Wilk [Fri, 13 Mar 2015 10:25:52 +0000 (11:25 +0100)]
x86/EFI: allow reboot= overrides when running under EFI

By default we will always use EFI reboot mechanism when
running under EFI platforms. However some EFI platforms
are buggy and need to use the ACPI mechanism to
reboot (such as Lenovo ThinkCentre M57). As such
respect the 'reboot=' override and DMI overrides
for EFI platforms.

Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
- BOOT_INVALID is just zero
- also consider acpi_disabled in BOOT_INVALID resolution
- duplicate BOOT_INVALID resolution in machine_restart()
- don't fall back from BOOT_ACPI to BOOT_EFI (if it was overridden, it
  surely was for a reason)
- adjust doc change formatting

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
10 years agoprune unused ASSERT/BUG/WARN infrastructure
Andrew Cooper [Fri, 13 Mar 2015 10:24:52 +0000 (11:24 +0100)]
prune unused ASSERT/BUG/WARN infrastructure

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Tim Deegan <tim@xen.org>
10 years agoMerge branch 'staging' of xenbits.xen.org:/home/xen/git/xen into staging
Jan Beulich [Fri, 13 Mar 2015 10:24:29 +0000 (11:24 +0100)]
Merge branch 'staging' of xenbits.xen.org:/home/xen/git/xen into staging

10 years agox86emul: simplify asm() constraints
Jan Beulich [Fri, 13 Mar 2015 10:23:14 +0000 (11:23 +0100)]
x86emul: simplify asm() constraints

Use + on outputs instead of = and a matching input. Allow not just
memory for the _eflags operand (it turns out that recent gcc produces
worse code when also doing this for _dst.val, so the latter is being
avoided).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Tim Deegan <tim@xen.org>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
10 years agoMerge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
Ian Campbell [Fri, 13 Mar 2015 10:22:48 +0000 (10:22 +0000)]
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

10 years agotools: xl: prepend root= to root field on command line with no extra
Ian Campbell [Thu, 12 Mar 2015 17:56:47 +0000 (17:56 +0000)]
tools: xl: prepend root= to root field on command line with no extra

This was broken in 49ab17a3a615 "tools: xl: handle unspecified extra=
when dealing with root=".

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Tested-by: Sander Eikelenboom <linux@eikelenboom.it>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoMINIOS_UPSTREAM_REVISION Update
Ian Campbell [Fri, 13 Mar 2015 10:01:43 +0000 (10:01 +0000)]
MINIOS_UPSTREAM_REVISION Update

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools: libxl: Explicitly disable graphics backends on qemu cmdline
Ian Campbell [Fri, 20 Feb 2015 14:41:09 +0000 (14:41 +0000)]
tools: libxl: Explicitly disable graphics backends on qemu cmdline

By default qemu will try to create some sort of backend for the
emulated VGA device, either SDL or VNC.

However when the user specifies sdl=0 and vnc=0 in their configuration
libxl was not explicitly disabling either backend, which could lead to
one unexpectedly running.

If either sdl=1 or vnc=1 is configured then both before and after this
change only the backends which are explicitly enabled are configured,
i.e. this issue only occurs when all backends are supposed to have
been disabled.

This affects qemu-xen and qemu-xen-traditional differently.

If qemu-xen was compiled with SDL support then this would result in an
SDL window being opened if $DISPLAY is valid, or a failure to start
the guest if not. Passing "-display none" to qemu before any further
-sdl options disables this default behaviour and ensures that SDL is
only started if the libxl configuration demands it.

If qemu-xen was compiled without SDL support then qemu would instead
start a VNC server listening on ::1 (IPv6 localhost) or 127.0.0.1
(IPv4 localhost) with IPv6 preferred if available. Explicitly pass
"-vnc none" when vnc is not enabled in the libxl configuration to
remove this possibility.

qemu-xen-traditional would never start a vnc backend unless asked.
However by default it will start an SDL backend, the way to disable
this is to pass a -vnc option. In other words passing "-vnc none" will
disable both vnc and sdl by default. sdl can then be reenabled if
configured by subsequent use of the -sdl option.

Tested with both qemu-xen and qemu-xen-traditional built with SDL
support and:
xl cr # defaults
xl cr sdl=0 vnc=0
xl cr sdl=1 vnc=0
xl cr sdl=0 vnc=1
xl cr sdl=0 vnc=0 vga=\"none\"
xl cr sdl=0 vnc=0 nographic=1
with both valid and invalid $DISPLAY.

This is XSA-119 / CVE-2015-2152.

Reported-by: Sander Eikelenboom <linux@eikelenboom.it>
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
10 years agoxen: don't use C++ keyword 'private' in public headers.
Tim Deegan [Thu, 5 Mar 2015 12:11:25 +0000 (12:11 +0000)]
xen: don't use C++ keyword 'private' in public headers.

The 'private' field in io/ring.h (for blktap2, see 1b9cecdb)
is the last thing in the Xen public headers that a C++ compiler
will object to.

Rename it to pvt, update the only in-tree user, and remove the
workaround in the C++ compatibility check.

Signed-off-by: Tim Deegan <tim@xen.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools/firmware: fix OVMF clean and distclean
Wei Liu [Wed, 11 Mar 2015 16:48:36 +0000 (16:48 +0000)]
tools/firmware: fix OVMF clean and distclean

They should have used "-ovmf-dir" suffix instead of "-ovmf", as the
directory in question is ovmf-dir.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools: OVMF parallel build
Wei Liu [Mon, 2 Mar 2015 10:52:20 +0000 (10:52 +0000)]
tools: OVMF parallel build

Though it doesn't work with make's "-j" option, the build system of OVMF
has an option to specify parallel threads used to run the build.

Using 4 threads to build OVMF looks like a sensible default.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agodocs: fix `xl list' manpage entry
Dario Faggioli [Fri, 6 Mar 2015 17:21:07 +0000 (18:21 +0100)]
docs: fix `xl list' manpage entry

as it was not covering the '-n' option, which is present
since d743a223 ("xl: add node-affinity to the output of
`xl list`").

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agodocs: RTDS is a valid alternative as a scheduler for a cpupool
Dario Faggioli [Fri, 6 Mar 2015 17:20:57 +0000 (18:20 +0100)]
docs: RTDS is a valid alternative as a scheduler for a cpupool

so update the relevant manpage and the example file.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: Ian Jackson <Ian.Jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Juergen Gross <JGross@suse.com>
Cc: Meng Xu <xumengpanda@gmail.com>
Reviewed-by: Meng Xu <mengxu@cis.upenn.edu>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoMerge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging
Ian Campbell [Wed, 11 Mar 2015 13:12:25 +0000 (13:12 +0000)]
Merge branch 'staging' of ssh://xenbits.xen.org/home/xen/git/xen into staging

10 years agocredit2: use curr_on_cpu(cpu) in place of `per_cpu(s, c).curr
Dario Faggioli [Wed, 11 Mar 2015 13:08:33 +0000 (14:08 +0100)]
credit2: use curr_on_cpu(cpu) in place of `per_cpu(s, c).curr

as 0bba5747f4bee4ddd ("xen: sched_credit: define and use
curr_on_cpu(cpu)") did for Credit1, hence making the code more
consistent and easier to read.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
Reviewed-by: George Dunlap <george.dunlap@eu.citrix.com>
10 years agox86emul: drop unused "bigval" fields from struct operand
Jan Beulich [Wed, 11 Mar 2015 13:08:02 +0000 (14:08 +0100)]
x86emul: drop unused "bigval" fields from struct operand

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
10 years agopassthrough: share_p2m: fix build failure on ARM
Julien Grall [Wed, 11 Mar 2015 13:05:25 +0000 (14:05 +0100)]
passthrough: share_p2m: fix build failure on ARM

The commit 7978429 "iommu: fix usage of shared EPT/IOMMU page tables on
PVH guests" breaks the hypervisor compilation on ARM.

This is because the macro hap_enabled is not defined on ARM.

On x86, the P2M can only be shared when hap is enabled and the user
didn't deny it (via the command line). Those checks are done by
iommu_use_hap_pt().

On ARM, the macro iommu_use_hap_pt() is also defined. So move the
if ( iommu_use_hap_pt(d) ) from the IOMMU drivers up to
iommu_share_p2m_table.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Julien Grall <julien.grall@linaro.org>
Reviewed-by: Ian Campbell <ian.campbell@citrix.com>
10 years agotools: xl: handle unspecified extra= when dealing with root=
Ian Campbell [Mon, 9 Mar 2015 12:48:56 +0000 (12:48 +0000)]
tools: xl: handle unspecified extra= when dealing with root=

If the cfg file includes root= but not extra= (nor cmdline=, which
supercedes both) then the command line will end up with an extra
"(null)" on it (at least with glibc's implementation of asprintf).

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Chunyan Liu <cyliu@suse.com>
Acked-by: Wei Liu <wei.liu2@citrix.com>
10 years agoxen/arm: Remove warning for platforms without platform specific code
Edgar E. Iglesias [Mon, 9 Mar 2015 05:23:23 +0000 (15:23 +1000)]
xen/arm: Remove warning for platforms without platform specific code

Replace the warning with an info message stating that the platform
is generic.

Suggested-by: Ian Campbell <ian.campbell@citrix.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxen/arm: Add Xilinx ZynqMP early printk support
Edgar E. Iglesias [Wed, 11 Mar 2015 01:19:34 +0000 (11:19 +1000)]
xen/arm: Add Xilinx ZynqMP early printk support

Reviewed-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxen/arm: Add Cadence UART driver
Edgar E. Iglesias [Wed, 11 Mar 2015 01:19:33 +0000 (11:19 +1000)]
xen/arm: Add Cadence UART driver

Reviewed-by: Julien Grall <julien.grall@linaro.org>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoxen/arm: Add Xilinx ZynqMP platform support
Edgar E. Iglesias [Wed, 11 Mar 2015 01:19:32 +0000 (11:19 +1000)]
xen/arm: Add Xilinx ZynqMP platform support

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
Reviewed-by: Julien Grall <julien.grall@linaro.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
[ ijc -- resorted list in Makefile, moving thunderx entry ]

10 years agostubdom: export XEN_ROOT in makefile
Wei Liu [Tue, 10 Mar 2015 13:14:39 +0000 (13:14 +0000)]
stubdom: export XEN_ROOT in makefile

... because XEN_ROOT is used in mini-os's Config.mk.

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
10 years agoMINIOS_UPSTREAM_REVISION Update
Ian Campbell [Wed, 11 Mar 2015 10:47:33 +0000 (10:47 +0000)]
MINIOS_UPSTREAM_REVISION Update

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>