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] dom0 pvops crash

On Mon, Feb 08, 2010 at 07:47:02AM +0000, Ian Campbell wrote:
> On Mon, 2010-02-08 at 07:41 +0000, Pasi Kärkkäinen wrote: 
> > On Sun, Feb 07, 2010 at 02:22:15PM -0800, Daniel Stodden wrote:
> > > On Sun, 2010-02-07 at 16:42 -0500, Ian Campbell wrote:
> > > > On Sun, 2010-02-07 at 19:35 +0000, Pasi Kärkkäinen wrote: 
> > > > > On Wed, Jan 27, 2010 at 05:26:13PM +0000, Ian Campbell wrote:
> > > > > > diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c
> > > > > > index 65215ab..49f8e83 100644
> > > > > > --- a/arch/x86/mm/pgtable.c
> > > > > > +++ b/arch/x86/mm/pgtable.c
> > > > > > @@ -28,7 +28,10 @@ pgtable_t pte_alloc_one(struct mm_struct *mm, 
> > > > > > unsigned long address)
> > > > > >     struct page *pte;
> > > > > >  
> > > > > >  #ifdef CONFIG_HIGHPTE
> > > > > > -   pte = alloc_pages(PGALLOC_GFP | __GFP_HIGHMEM, 0);
> > > > > > +   if (is_xen_domain())
> > > > > > +           pte = alloc_pages(PGALLOC_GFP, 0);
> > > > > > +   else
> > > > > > +           pte = alloc_pages(PGALLOC_GFP | __GFP_HIGHMEM, 0);
> > > > > >  #else
> > > > > >     pte = alloc_pages(PGALLOC_GFP, 0);
> > > > > >  #endif
> > > > > > 
> > > > > 
> > > > > I just tried this patch, but it fails to compile:
> > > > > 
> > > > > arch/x86/mm/pgtable.c: In function 'pte_alloc_one':
> > > > > arch/x86/mm/pgtable.c:19: error: implicit declaration of function 
> > > > > 'is_xen_domain'
> > > > > make[2]: *** [arch/x86/mm/pgtable.o] Error 1
> > > > > make[1]: *** [arch/x86/mm] Error 2
> > > > > make: *** [arch/x86] Error 2
> > > > > 
> > > > > I tried grepping around for that function but didn't find it from any 
> > > > > header..
> > > > 
> > > > IIRC on some kernels it was called just xen_domain(), I'm not sure but I
> > > > think my patch was against plain 2.6.32. I think the function (whatever
> > > > it is called) also moved around in the headers recently.
> > > 
> > > is_running_on_xen()
> > > 
> > 
> > I'm using kernel.org 2.6.32.7, and I can't find is_running_on_xen() either.
> 
> 2.6.32.7 has xen_domain() defined in include/xen/xen.h. Probably
> xen_pv_domain() is the correct check though.
> 

# grep xen_domain include/xen/xen.h
grep: include/xen/xen.h: No such file or directory

# grep xen_domain include/xen/interface/xen.h
typedef uint8_t xen_domain_handle_t[16];

# ls include/xen
events.h  features.h     hvc-console.h  Kbuild  xenbus.h   xen-ops.h
evtchn.h  grant_table.h  interface      page.h  xencomm.h

# grep xen_domain include/xen/*
#

# grep xen_domain include/xen/interface/*
include/xen/interface/xen.h:typedef uint8_t xen_domain_handle_t[16];
#


-- Pasi


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