All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ian Campbell <ian.campbell@citrix.com>
To: Vijay Kilari <vijay.kilari@gmail.com>
Cc: manish.jaggi@caviumnetworks.com,
	Julien Grall <julien.grall@linaro.org>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Draft F] Xen on ARM vITS Handling
Date: Fri, 12 Jun 2015 09:52:36 +0100	[thread overview]
Message-ID: <1434099156.30003.196.camel@citrix.com> (raw)
In-Reply-To: <CALicx6sLe624ZdXgraXPA49THK8wm9NJuDSwPXcoKPZ=semMMg@mail.gmail.com>

On Fri, 2015-06-12 at 14:07 +0530, Vijay Kilari wrote:

Please could you trim your quotes to only include the bit you are
referring to. Otherwise there is a high chance I will miss a one line
comment in the middle of the thousand lines of quoted matter.

> > The `GITS_BASER0` will be setup to request sufficient memory for a
> > device table consisting of entries of:
> >
> >     struct vdevice_table {
> >         uint64_t vitt_ipa;
> >         uint32_t vitt_size;
> >         uint32_t padding;
> >     };
> 
>       How about adding valid bit to know if the entry is valid or not?

I suggest to use vitt_ipa == INVALID_PADDR to signal this rather than
using another bit.

> > ## Handling of unrouted/spurious LPIs
> >
> > Since there is no 1:1 link between a `vLPI` and `pLPI` enabling and
> > disabling of phyiscal LPIs cannot be driven from the state of an
> > associated vLPI.
> >
> > Each `pLPI` is routed and enabled during device assignment, therefore
> > it is possible to receive a physical LPI which has yet to be routed
> > (via a `vITS`) to a `vLPI`.
> 
> Why do we need to enable LPIs during device assignment?
> Can't we do it only on LPI configuration update, which is trapped in
> Xen as mentioned in 7.8? ( ## Enabling and disabling LPIs)

Quoting the first sentence/paragraph of this section:
        Since there is no 1:1 link between a `vLPI` and `pLPI` enabling
        and disabling of phyiscal LPIs cannot be driven from the state
        of an associated vLPI.

To expand on that: The vITT can map multiple (vDevice,vEvent) pairs to
the same LPI, and each of those (vDevice,vEvent) pairs is related to a
different (pDevice,pEvent) which in turn has a unique pLPI associated
with it. Thus a vLPI can be associated with more than one pLPI.

Enumerating all pLPIs associated with a given vLPI would be expensive (a
complete walk of the vITT).

In addition if it were possible to do so we would also need to manage
enabling/disabling the pLPI in several other places that in vPLI cfg
traps, specifically MAPC and MAPD at least.

So pLPIs must be routed at device assignment time because in the vLPI
configuration table trap there is no mapping back to a single pLPI.

Ian.

  reply	other threads:[~2015-06-12  8:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-11  9:40 [Draft F] Xen on ARM vITS Handling Ian Campbell
2015-06-11 12:02 ` Ian Campbell
2015-06-12  8:37 ` Vijay Kilari
2015-06-12  8:52   ` Ian Campbell [this message]
2015-06-12 13:09     ` Julien Grall
2015-06-12 13:16       ` Ian Campbell
2015-06-12 13:32         ` Julien Grall
2015-06-12 14:05           ` Julien Grall
2015-06-12 14:12             ` Ian Campbell
2015-06-12 14:24           ` Ian Campbell
2015-06-12 17:55             ` Julien Grall
2015-06-16 15:10               ` Ian Campbell
2015-06-16 16:14                 ` Julien Grall
2015-06-12 12:55 ` Ian Campbell
2015-06-12 13:14   ` Julien Grall
2015-06-12 13:26     ` Ian Campbell
2015-06-16 14:50 ` Vijay Kilari
2015-06-16 15:07   ` Ian Campbell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1434099156.30003.196.camel@citrix.com \
    --to=ian.campbell@citrix.com \
    --cc=julien.grall@linaro.org \
    --cc=manish.jaggi@caviumnetworks.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=vijay.kilari@gmail.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.