Messages in this thread | | | Date | Wed, 07 Dec 2011 18:36:53 +0800 | From | ANNIE LI <> | Subject | Re: [PATCH 1/2] xen/granttable: Support sub-page grants |
| |
> +void gnttab_grant_foreign_access_ref_subpage_v2(grant_ref_t ref, domid_t domid, > + unsigned long frame, int flags, > + unsigned page_off, > + unsigned length) > +{ > + BUG_ON(flags& (GTF_accept_transfer | GTF_reading | > + GTF_writing | GTF_transitive)); This is slightly changed from the initial code, welcome your suggestions.
Initial condition is: BUG_ON(flags & (GTF_accept_transfer | GTF_reading | GTF_writing | GTF_sub_page | GTF_permit_access));
GTF_sub_page | GTF_permit_access will be set later in this function, so it is necessary to verify this flag here. GTF_transitive and GTF_sub_page can not be enabled at same time, so GTF_transitive is checked here to avoid those two flags are both enabled.
Same code was changed in corresponding transitive function.
Thanks Annie > + BUG_ON(grant_table_version == 1); > + gnttab_shared.v2[ref].sub_page.frame = frame; > + gnttab_shared.v2[ref].sub_page.page_off = page_off; > + gnttab_shared.v2[ref].sub_page.length = length; > + gnttab_shared.v2[ref].hdr.domid = domid; > + wmb(); > + gnttab_shared.v2[ref].hdr.flags = > + GTF_permit_access | GTF_sub_page | flags; > +} >
| |