cvs commit: src/sys/platform/vkernel/platform init.c
Matthew Dillon
dillon at apollo.backplane.com
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):
:
:Joe
:...
: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
too.
: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.
-Matt
Matthew Dillon
<dillon at backplane.com>
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