|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 25/25] argo: implement the get_config op to query notification config
>>> On 01.12.18 at 02:33, <christopher.w.clark@xxxxxxxxx> wrote:
> --- a/xen/common/argo.c
> +++ b/xen/common/argo.c
> @@ -1656,6 +1656,46 @@ argo_sendv(struct domain *src_d, const argo_addr_t
> *src_addr,
> return ( ret < 0 ) ? ret : len;
> }
>
> +static void
> +argo_get_config(struct domain *d, argo_get_config_t *get_config)
> +{
> + unsigned int method = argo_signal_method(d);
> +
> + get_config->signal_method = method;
> +
> + switch ( method )
> + {
> + case ARGO_SIGNAL_METHOD_EVTCHN:
> + {
> + read_lock(&argo_lock);
> + read_lock(&d->argo->lock);
> +
> + get_config->signal.evtchn = d->argo->evtchn_port;
> +
> + read_unlock(&d->argo->lock);
> + read_unlock(&argo_lock);
> +
> + argo_dprintk("signal for dom:%d evtchn %u\n", d->domain_id,
> + get_config->signal.evtchn);
> +
> + break;
> + }
> + case ARGO_SIGNAL_METHOD_VIRQ:
> + {
> + get_config->signal.virq = VIRQ_ARGO;
> +
> + argo_dprintk("signal for dom:%d virq %u\n", d->domain_id,
> + get_config->signal.virq);
> + break;
> + }
> + default:
> + {
> + BUG();
> + break;
> + }
There are quite a few stray braces here.
> +typedef struct argo_get_config
> +{
> + uint32_t signal_method;
> + union
> + {
> + evtchn_port_t evtchn;
> + uint32_t virq;
> + } signal;
> + uint32_t reserved;
Judging from the description, did you perhaps mean to put
uint32_t reserved[2] inside the union?
Then again "get_config" sounds much more generic than just
obtaining the notification method.
> @@ -244,6 +257,21 @@ struct argo_ring_message_header
> */
> #define ARGO_MESSAGE_OP_notify 4
>
> +/*
> + * ARGO_MESSAGE_OP_get_config
> + *
> + * Queries Xen for argo configuration values.
> + *
> + * Used by a guest to obtain the signal method in use for Argo notifications
> + * and the event channel port or isa irq in use.
ISA IRQ? It's a vIRQ that you have as alternative to bare
event-channel signaling.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |