Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: uvm_fault with -current XEN3_DOMU



On Fri, May 16, 2008 at 11:39:32AM +0200, Christoph Egger wrote:
> On Thursday 15 May 2008 10:18:15 Manuel Bouyer wrote:
> > On Thu, May 15, 2008 at 11:45:54AM +1200, Mark Davies wrote:
> > > Trying to run an i386 XEN3_DOMU kernel from this morning results in an
> > > immediate uvm_fault:
> > >
> > > green-mountain# xm create -c homepages
> > > Using config file "/etc/xen/homepages".
> > > Started domain homepages
> > >  MAC address 00:16:3e:00:00:11
> > > unknown type console at xenbus0 id 0 not configured
> > > uvm_fault(0xc04b1d00, 0, 1) -> 0xe
> > > kernel: supervisor trap page fault, code=0
> > > Stopped in pid 0.2 (system) at  0:      invalid address
> > > db> bt
> > > uvm_fault(0xc04b1d00, 0, 1) -> 0xe
> > > kernel: supervisor trap page fault, code=0
> > > Faulted in DDB; continuing...
> > > db>
> >
> > I've seen this too. It's probably calling a NULL function pointer.
> > I've not had a chance to look at this more closely yet.
> 
> >From a rough look into this, this seems to be an interrupt problem.
> The problem is not DomU specific. It also happens on Dom0 -current.

in my case it seems to be because:
db> x/x x86_cpu_idle
netbsd:x86_cpu_idle:    0

The attached patch makes a domU kernel boot for me again. I'll commit it
this evening unless somone beats me.

-- 
Manuel Bouyer, LIP6, Universite Paris VI.           
Manuel.Bouyer%lip6.fr@localhost
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: xen/x86/cpu.c
===================================================================
RCS file: /cvsroot/src/sys/arch/xen/x86/cpu.c,v
retrieving revision 1.25
diff -u -r1.25 cpu.c
--- xen/x86/cpu.c       11 May 2008 16:25:46 -0000      1.25
+++ xen/x86/cpu.c       16 May 2008 10:53:05 -0000
@@ -428,6 +428,7 @@
                cpu_init(ci);
                cpu_set_tss_gates(ci);
                pmap_cpu_init_late(ci);
+               x86_cpu_idle_init();
 #if 0
                x86_errata();
 #endif
@@ -443,6 +444,7 @@
                cpu_init(ci);
                cpu_set_tss_gates(ci);
                pmap_cpu_init_late(ci);
+               x86_cpu_idle_init();
 #if NLAPIC > 0
                /*
                 * Enable local apic


Home | Main Index | Thread Index | Old Index