Hi all,
I cvsup'ed to the latest stable yesterday. My new kernel config looks
like this:
--- GENERIC Thu May 20 03:36:06 2004
+++ SMPX Tue Jun 1 17:41:48 2004
@@ -18,18 +18,19 @@
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.59 2004/04/07
20:29:01 vkashyap Exp $
machine i386
-cpu I386_CPU
-cpu I486_CPU
-cpu I586_CPU
+#cpu I386_CPU
+#cpu I486_CPU
+#cpu I586_CPU
cpu I686_CPU
-ident GENERIC
+ident SMPX
maxusers 0
#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
+options DDB
options MATH_EMULATE #Support for x87 emulation
options INET #InterNETworking
-options INET6 #IPv6 communications protocols
+#options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
@@ -61,8 +62,8 @@
# output. Adds ~215k to driver.
# To make an SMP kernel, the next two are needed
-#options SMP # Symmetric MultiProcessor Kernel
-#options APIC_IO # Symmetric (APIC) I/O
+options SMP # Symmetric MultiProcessor Kernel
+options APIC_IO # Symmetric (APIC) I/O
device isa
device eisa
As you can see, the changes are minor. I removed support for
processors that I'll never use. I removed IPV6. And I enabled SMP.
But when I boot, I get a panic every time:
Fatal trap 18: integer divide fault while in kernel mode
mp_lock = 0000000d; cpuid = 0; lapic.id = 00000000
instruction pointer = 0x8:0xc038e20c
stack pointer = 0x10:0xc0560f44
frame pointer = 0x10:0xc0560f88
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = Idle
interrupt mask = net tty bio cam <- SMP: XXX
kernel: type 18 trap, code=0
Stopped at 0xc038e20c: divl 0xc04a268c,%eax
db> trace
(null)(d093c708,c0560fa0,c038d8e8,9f000,c0560fe4) at 0xc038e20c
(null)(9f000,c0560fe4,c03886fa,c041fcc0,5d169000) at 0xc038dbdc
(null)(c041fcc0,5d169000,0,1745a4,0) at 0xc038d8e8
(null)(0,55dc00,568000,0,c013176d) at 0xc03886fa
(null)(0,0,0,0,0) at 0xc0221f20
(null)() at 0xc013176d
>From what I can tell, the closest symbol to the listed instruction
pointer is this:
c038e2bc t mptable_hyperthread_fixup
My system has two Athlon XP 1600+ processors. I understand that these
are not MPs, but they've worked fine under SMP for quite some time
now. I've been running 4.9-STABLE up until I decided to upgrade
recently.
Also, when I disable SMP, the same kernel config boots without issue.
Any ideas? If I can provide any further information, just let me know
what you need to help.
Thanks,
Scott Johnson