[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 7/8] pdx: Reorder pdx.[ch]
On Mon, Jul 17, 2023 at 05:03:17PM +0100, Alejandro Vallejo wrote: > The next patch compiles out compression-related chunks, and it's helpful to > have them grouped together beforehand. > > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@xxxxxxxxx> > --- > xen/common/pdx.c | 58 +++++++++++++++++++++---------------------- > xen/include/xen/pdx.h | 37 +++++++++++++++++++++------ > 2 files changed, 59 insertions(+), 36 deletions(-) > > [snip] > > diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h > index 5378e664c2..ce27177b56 100644 > --- a/xen/include/xen/pdx.h > +++ b/xen/include/xen/pdx.h > @@ -68,15 +68,41 @@ > */ > > extern unsigned long max_pdx; > -extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask; > -extern unsigned int pfn_pdx_hole_shift; > -extern unsigned long pfn_hole_mask; > -extern unsigned long pfn_top_mask, ma_top_mask; > > #define PDX_GROUP_COUNT ((1 << PDX_GROUP_SHIFT) / \ > (sizeof(*frame_table) & -sizeof(*frame_table))) > extern unsigned long pdx_group_valid[]; > > +/** > + * Mark [smfn, emfn) as allocatable in the frame table > + * > + * @param smfn Start mfn > + * @param emfn End mfn > + */ > +void set_pdx_range(unsigned long smfn, unsigned long emfn); > + > +/** > + * Invoked to determine if an mfn has an associated valid frame table entry > + * > + * In order for it to be legal it must pass bounds, grouping and > + * compression sanity checks. > + * > + * @param mfn To-be-checked mfn > + * @return True iff all checks pass > + */ > +bool __mfn_valid(unsigned long mfn); > + > +#define page_to_pdx(pg) ((pg) - frame_table) > +#define pdx_to_page(pdx) gcc11_wrap(frame_table + (pdx)) > + > +#define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn)) > +#define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx)) > + > +extern unsigned long pfn_pdx_bottom_mask, ma_va_bottom_mask; > +extern unsigned int pfn_pdx_hole_shift; > +extern unsigned long pfn_hole_mask; > +extern unsigned long pfn_top_mask, ma_top_mask; > + > /** > * Validate a region's compatibility with the current compression runtime > * > @@ -164,9 +190,6 @@ static inline unsigned long pdx_to_pfn(unsigned long pdx) > ((pdx << pfn_pdx_hole_shift) & pfn_top_mask); > } > > -#define mfn_to_pdx(mfn) pfn_to_pdx(mfn_x(mfn)) > -#define pdx_to_mfn(pdx) _mfn(pdx_to_pfn(pdx)) > - > /** > * Computes the offset into the direct map of an maddr > * > -- > 2.34.1 The latest rebase messed up this patch. set_pdx_range(), __mfn_valid() and the page_to_pdx()/pdx_to_page() macros should be removed in order for the additions to make sense. Re-running GitLab with that now... Alejandro
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |