[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] xen: arm: clarify cacheability requirements of hypercall arguments.



On Tue, 2013-12-17 at 12:29 +0000, Stefano Stabellini wrote:
> On Tue, 17 Dec 2013, Ian Campbell wrote:
> > Accepting hypercall arguments which are either consistently in cached or
> > uncached is tricky and/or potentially slow, requiring a guest mapping lookup
> > to determine whether/when to do a cache clean or invalidate.
> > 
> > There are very few reasons, and no current use cases in practice, for a 
> > guest
> > to use uncached memory for their hypercall arguments. Therefore mandate that
> > all hypercall arguments must be mapped inner-cacheable.
> > 
> > If use cases arise then we can consider specific exemptions to this rule.
> > 
> > Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
> >
> >  xen/include/public/arch-arm.h |    3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> > index 475cb4a..7b95237 100644
> > --- a/xen/include/public/arch-arm.h
> > +++ b/xen/include/public/arch-arm.h
> > @@ -58,6 +58,9 @@
> >   * (AAPCS64). Where there is a conflict the 64-bit standard should be
> >   * used regardless of guest type. Structures which are passed as
> >   * hypercall arguments are always little endian.
> > + *
> > + * All hypercall arguments passed via a pointer to guest memory must
> > + * reside in memory which is mapped as Normal Inner-cacheable.
> 
> Maybe it is good to be pedantic: should we write "Inner or Outer and
> Inner" cacheable?

I think it only matters that it is inner cacheable, since that is where
Xen's accesses will hit. Whether or not it is outercacheable doesn't
matter to us, does it?

> Should we mention explicitly that "Write-Back", "Write-Through" or
> "Write-Back Write-Allocate" are all supported?

I think we don't care strategy is used, do we?

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.