|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 02/18] xen: allow global VIRQ handlers to be delegated to other domains
>>> On 13.01.12 at 00:35, Daniel De Graaf <dgdegra@xxxxxxxxxxxxx> wrote:
> +int set_global_virq_handler(struct domain *d, uint32_t virq)
> +{
> + struct domain *old;
> +
> + if (virq >= NR_VIRQS)
> + return -EINVAL;
> + if (!virq_is_global(virq))
> + return -EINVAL;
> +
> + if (global_virq_handlers[virq] == d)
> + return 0;
> +
> + if (unlikely(!get_domain(d)))
> + return -EINVAL;
> +
> + spin_lock(&global_virq_handlers_lock);
> + old = global_virq_handlers[virq];
> + global_virq_handlers[virq] = d;
> + spin_unlock(&global_virq_handlers_lock);
> +
> + if (old != NULL)
> + put_domain(old);
> +
> + return 0;
> +}
> +
> +static void clear_global_virq_handlers(struct domain *d)
> +{
> + uint32_t virq;
> + int put_count = 0;
> +
> + spin_lock(&global_virq_handlers_lock);
> +
> + for (virq = 0; virq < NR_VIRQS; virq++) {
> + if (global_virq_handlers[virq] == d) {
> + global_virq_handlers[virq] = NULL;
> + put_count++;
> + }
> + }
> +
> + spin_unlock(&global_virq_handlers_lock);
> +
> + while (put_count) {
> + put_domain(d);
> + put_count--;
> + }
> +}
Formatting in this entire hunk should be changed to match that of the
rest of the file.
> --- a/xen/include/xsm/xsm.h
> +++ b/xen/include/xsm/xsm.h
> @@ -64,6 +64,7 @@ struct xsm_operations {
> int (*domain_settime) (struct domain *d);
> int (*set_target) (struct domain *d, struct domain *e);
> int (*domctl) (struct domain *d, int cmd);
> + int (*set_virq_handler) (struct domain *d, int virq);
Here and further down, the 'int' still survived.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |