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

Re: [Xen-devel] [PATCH 1/6] xen: extend XEN_DOMCTL_memory_mapping to handle cacheability



On Wed, 27 Feb 2019, Jan Beulich wrote:
> >>> On 27.02.19 at 00:07, <sstabellini@xxxxxxxxxx> wrote:
> > --- a/xen/include/public/domctl.h
> > +++ b/xen/include/public/domctl.h
> > @@ -571,12 +571,14 @@ struct xen_domctl_bind_pt_irq {
> >  */
> >  #define DPCI_ADD_MAPPING         1
> >  #define DPCI_REMOVE_MAPPING      0
> > +#define CACHEABILITY_DEVMEM      0 /* device memory, the default */
> > +#define CACHEABILITY_MEMORY      1 /* normal memory */
> >  struct xen_domctl_memory_mapping {
> >      uint64_aligned_t first_gfn; /* first page (hvm guest phys page) in 
> > range */
> >      uint64_aligned_t first_mfn; /* first page (machine page) in range */
> >      uint64_aligned_t nr_mfns;   /* number of pages in range (>0) */
> >      uint32_t add_mapping;       /* add or remove mapping */
> > -    uint32_t padding;           /* padding for 64-bit aligned structure */
> > +    uint32_t cache_policy;      /* cacheability of the memory mapping */
> >  };
> 
> I don't think DEVMEM and MEMORY are anywhere near descriptive
> enough, nor - if we want such control anyway - flexible enough. I
> think what you want is to actually specify cachability, allowing on
> x86 to e.g. map frame buffers or alike WC. The attribute then
> would (obviously and necessarily) be architecture specific.

Yes, I agree with what you wrote, and also with what Julien wrote. Now
the question is how do you both think this should look like in more
details:

- are you OK with using memory_policy instead of cache_policy like
  Julien's suggested as name for the field?
- are you OK with using #defines for the values?
- should the #defines for both x86 and Arm be defined here or in other
  headers?
- what values would you like to see for x86?

For Arm, the ones I care about are:

- p2m_mmio_direct_dev
- p2m_mmio_direct_c

So maybe:

#define ARM_P2M_DIRECT_DEV      0 /* Device-nGnRnE, default*/
#define ARM_P2M_DIRECT_C        1 /* Write-back write-allocate */

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

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