cvs commit: src/sys/platform/vkernel/platform init.c

Matthew Dillon dillon at
Mon Jul 2 12:57:26 PDT 2007

:Nope didn't fix my panic.  Here's what I get with -v (Note: with -n 1
:the vkernel boots to the login prompt):
:Slab ZoneSize set to 32KB
:Leaving critical section, allowing interrupts

    Hmmm.   Is your real kernel compiled with any odd options?  Like
    increasing the amount of KVM or something like that?  

:DUMMYNET initialized (011031)
:faith0: bpf attached
:IP packet filtering initialized, divert disabled, rule-based
:forwarding enabled, default to accept, logging disabled
:lo0: bpf attached
:IPsec: Initialized Security Association Processing.
:Mounting root from ufs:vkd0s0a
:vkd0: invalid primary partition table: no magic
:start_init: trying /sbin/init

    It looks ok up to that point.  The 'no magic' warning just means
    you are using a dangerously dedicated slice, which you are.  I do

:Fatal trap 12: page fault while in kernel mode
:mp_lock = 00000000; cpuid = 0
:fault virtual address   = 0x0
:fault code              = supervisor read, page not present
:instruction pointer     = 0x1f:0x0
:stack pointer           = 0x10:0x5e34f7f8
:frame pointer           = 0x10:0x5e34fae4
:processor eflags        = interrupt enabled, resume, IOPL = 0
:current process         = 2 (sh)
:current thread          = pri 38 (CRIT)
: <- SMP: XXX
:kernel: type 12 trap, code=4
:CPU0 stopping CPUs: 0x00000002

    Hmm.  So far I can't reproduce the problem.  Lets see if we can get
    some more information off the stack, try this patch.  If you get
    anything that looks like code addresses from the stack dump try
    matching them up with symbols from nm kernel.debug.

    I'm going to try to get DDB working too, it doesn't work for me either.

					Matthew Dillon 
					<dillon at>

Index: i386/trap.c
RCS file: /cvs/src/sys/platform/vkernel/i386/trap.c,v
retrieving revision 1.27
diff -u -p -r1.27 trap.c
--- i386/trap.c	1 Jul 2007 02:51:43 -0000	1.27
+++ i386/trap.c	2 Jul 2007 19:55:37 -0000
@@ -973,6 +973,14 @@ 	}
 	kprintf("stack pointer	        = 0x%x:0x%x\n", ss, esp);
 	kprintf("frame pointer	        = 0x%x:0x%x\n", ss, frame->tf_ebp);
 	kprintf("processor eflags	= ");
+	{
+		int i;
+		for (i = 0; i < 64; ++i)
+			kprintf(" %08x", ((int *)esp)[i]);
+		kprintf("\n");
+	}
 	if (frame->tf_eflags & PSL_T)
 		kprintf("trace trap, ");
 	if (frame->tf_eflags & PSL_I)

More information about the Commits mailing list