|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 02/23] x86/mm: export get_page_from_mfn
On Fri, Sep 22, 2017 at 05:44:58AM -0600, Jan Beulich wrote:
> >>> On 14.09.17 at 14:58, <wei.liu2@xxxxxxxxxx> wrote:
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -705,22 +705,6 @@ bool map_ldt_shadow_page(unsigned int offset)
> > return true;
> > }
> >
> > -
> > -static bool get_page_from_mfn(mfn_t mfn, struct domain *d)
> > -{
> > - struct page_info *page = mfn_to_page(mfn);
> > -
> > - if ( unlikely(!mfn_valid(mfn)) || unlikely(!get_page(page, d)) )
> > - {
> > - gdprintk(XENLOG_WARNING,
> > - "Could not get page ref for mfn %"PRI_mfn"\n",
> > mfn_x(mfn));
> > - return false;
> > - }
> > -
> > - return true;
> > -}
> > -
> > -
> > static int get_page_and_type_from_mfn(
> > mfn_t mfn, unsigned long type, struct domain *d,
> > int partial, int preemptible)
> > diff --git a/xen/include/asm-x86/mm.h b/xen/include/asm-x86/mm.h
> > index bef45e8e9f..7670912e0a 100644
> > --- a/xen/include/asm-x86/mm.h
> > +++ b/xen/include/asm-x86/mm.h
> > @@ -369,6 +369,20 @@ int get_page_from_l1e(
> > l1_pgentry_t l1e, struct domain *l1e_owner, struct domain *pg_owner);
> > void put_page_from_l1e(l1_pgentry_t l1e, struct domain *l1e_owner);
> >
> > +static inline bool get_page_from_mfn(mfn_t mfn, struct domain *d)
> > +{
> > + struct page_info *page = __mfn_to_page(mfn_x(mfn));
>
> Why can this not remain to be mfn_to_page(mfn)? The header has
> been introduced only in the immediately preceding patch, so there
> can't be users of the header not coping with this. And once other
> code includes this header, it should be made type-safe first.
I think you misread. This is asm-x86/mm.h, not pv/mm.h. This header
file has been used in many places.
Furthermore, this patch introduces no change. If you look at mm.c at the
beginning:
#undef mfn_to_page
#define mfn_to_page(mfn) __mfn_to_page(mfn_x(mfn))
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |