WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] RE: Linux PG_arch_1 conflict

On Mon, Mar 13, 2006 at 01:20:39PM -0800, Magenheimer, Dan (HP Labs Fort 
Collins) wrote:
> > On 10 Mar 2006, at 21:11, Magenheimer, Dan (HP Labs Fort 
> > Collins) wrote:
> > 
> > >> That thread seems to already have a solution. Has anybody 
> > run it past
> > >> Linux MM people? (Adding xen-devel to CC for greater exposure.)
> > >
> > > If by "solution" you mean that Keir could change Xenlinux to
> > > add a new "PG_foreign" bit and change Xenlinux/x86 (and netback)
> > > to use that bit rather than PG_arch_1, I agree.
> > >
> > > Comments, Keir (or others)?
> > 
> > Sounds like the proper fix. I'll leave it to Christian and others 
> > involved in the Linux upstreaming effort to have the final word.
> 
> Comments, Christian (or others)?  Any chance this will get into
> 3.0.2?  Certainly it should be changed before attempting to push
> the drivers upstream to Linux.

What do you think of the followings? Too hacky?


extern struct address_space xen_ia64_foreign_dummy_mapping;
#define PageForeign(page)       \
        (page->mapping == &xen_ia64_foreign_dummy_mapping)

#define SetPageForeign(page, dtor) do {                         \
        set_page_private((page), (unsigned long)dtor);          \
        (page)->mapping = &xen_ia64_foreign_dummy_mapping;      \
} while (0)

#define ClearPageForeign(page) do {     \
        (page)->mapping = NULL;         \
        set_page_private((page), 0);    \
} while (0)

#define PageForeignDestructor(page)     \
        ( (void (*) (struct page *)) page_private((page)) )


-- 
yamahata

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>