[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V13 1/7] xen/arm: p2m changes for mem_access support
Hi Tamas, On 06/03/15 21:24, Tamas K Lengyel wrote: > @@ -1090,6 +1098,8 @@ void p2m_teardown(struct domain *d) > > p2m_free_vmid(d); > > + radix_tree_destroy(&p2m->mem_access_settings, NULL); > + > spin_unlock(&p2m->lock); > } > > @@ -1115,6 +1125,10 @@ int p2m_init(struct domain *d) > p2m->max_mapped_gfn = 0; > p2m->lowest_mapped_gfn = ULONG_MAX; > > + p2m->default_access = p2m_access_rwx; > + p2m->mem_access_enabled = false; false is defined for bool not bool_t. Please use 0 here. [..] > diff --git a/xen/include/asm-arm/p2m.h b/xen/include/asm-arm/p2m.h > index da36504..7583d9b 100644 > --- a/xen/include/asm-arm/p2m.h > +++ b/xen/include/asm-arm/p2m.h > @@ -2,8 +2,9 @@ > #define _XEN_P2M_H > > #include <xen/mm.h> > - > +#include <xen/radix-tree.h> > #include <xen/p2m-common.h> > +#include <public/memory.h> > > #define paddr_bits PADDR_BITS > > @@ -48,6 +49,18 @@ struct p2m_domain { > /* If true, and an access fault comes in and there is no mem_event > listener, > * pause domain. Otherwise, remove access restrictions. */ > bool_t access_required; > + > + /* Defines if mem_access is in use for the domain. */ > + bool_t mem_access_enabled; > + > + /* Default P2M access type for each page in the the domain: new pages, > + * swapped in pages, cleared pages, and pages that are ambiguously > + * retyped get this access type. See definition of p2m_access_t. */ Coding style. It should be: /* * Default ... * .... */ > + p2m_access_t default_access; > + > + /* Radix tree to store the p2m_access_t settings as the pte's don't have > + * enough available bits to store this information. */ Ditto > + struct radix_tree_root mem_access_settings; > }; > > /* List of possible type for each page in the p2m entry. > @@ -217,6 +230,26 @@ static inline int get_page_and_type(struct page_info > *page, > /* get host p2m table */ > #define p2m_get_hostp2m(d) (&(d)->arch.p2m) > > +/* mem_event and mem_access are supported on any ARM guest */ > +static inline bool_t p2m_mem_access_sanity_check(struct domain *d) > +{ > + return 1; > +} > + > +static inline bool_t p2m_mem_event_sanity_check(struct domain *d) > +{ > + return 1; > +} > + > +/* Get access type for a pfn > + * If pfn == -1ul, gets the default access type */ Ditto Regards, -- Julien Grall _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |