[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] gnttab/ARM: properly implement gnttab_create_status_page()
On Wed, 15 Aug 2018, Jan Beulich wrote: > Prevent the "BUG_ON(page_get_owner(pg) != d)" in > gnttab_unpopulate_status_frames() from triggering. > > Reported-by: 王磊 <lei19.wang@xxxxxxxxxxx> > Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> > > --- > It looks to me as if this was the only piece missing to make v2 grant > tables work on ARM, but this was build tested only anyway. For the public records, it cannot be tested until the Linux (or other OSes functionalities) get implemented. Specifically, arch_gnttab_map_shared and arch_gnttab_map_status in Linux. But this patch is a clear improvement on the Xen side: Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx> > --- a/xen/include/asm-arm/grant_table.h > +++ b/xen/include/asm-arm/grant_table.h > @@ -21,7 +21,6 @@ int create_grant_host_mapping(unsigned l > int replace_grant_host_mapping(unsigned long gpaddr, mfn_t mfn, > unsigned long new_gpaddr, unsigned int flags); > void gnttab_mark_dirty(struct domain *d, mfn_t mfn); > -#define gnttab_create_status_page(d, t, i) do {} while (0) > #define gnttab_release_host_mappings(domain) 1 > static inline int replace_grant_supported(void) > { > @@ -84,6 +83,12 @@ static inline unsigned int gnttab_dom0_m > virt_to_page((char *)(t)->shared_raw[i]), d, SHARE_rw); \ > } while ( 0 ) > > +#define gnttab_create_status_page(d, t, i) \ > + do { \ > + share_xen_page_with_guest( \ > + virt_to_page((char *)(t)->status[i]), d, SHARE_rw); \ > + } while ( 0 ) > + > #define gnttab_shared_gmfn(d, t, i) \ > gfn_x(((i) >= nr_grant_frames(t)) ? INVALID_GFN : > (t)->arch.shared_gfn[i]) > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |