kernel panic with greater that 8 GB of memory
sgk at troutmask.apl.washington.edu
Tue Nov 30 10:35:56 PST 2004
On Tue, Nov 30, 2004 at 06:04:56AM -0700, Scott Long wrote:
> Steve Kargl wrote:
> >On Mon, Nov 29, 2004 at 01:13:41PM -0800, Steve Kargl wrote:
> >>kmem_suballoc: bad status return of 3
> >>panic: kmem_suballoc
> >>cpuid = 0
> >>KDB: stack backtrace:
> >>kdb_backtrace() at kdb_backtrace+0x37
> >>panic() at painc+0x1d1
> >>kmem_suballoc() at kmem_suballoc+0x93
> >>kmeminit() at kmeminit+0x16d
> >>mi_startuup() at mi_startup+0xb6
> >>btext90 at btext+0x2c
> >>KDB: enter: panic
> >>[thread pid 0 tid 0]
> >>This is a Tyan K8S Pro motherboard with 16 GB of PC2700
> >>Cosair ECC memory. The BIOS was flashed to the latest
> >>available from Tyan. The scheduler is 4BSD. There are
> >>no ATA devices in the system and no ATA subsystem in
> >>the kernel. This a SCSI only box. World and kernel
> >>were rebuilt today with CFLAGS=-O -pipe and
> >>COPTFLAGS=-O -pipe.
> >>If I set hw.physmem="#G" n /boot/loader.conf where # is
> >>less than or equal to 8 the box boots up (see dmesg below).
> >>If # > 8, then we have the above panic.
> >>Any ideas where to look for the a fix?
> >(dmesg snipped)
> >(CC'd to -current because the may impact any system with >8 GB of ram)
> >As a data point, I've downloaded, burned, and booted the netbsd/amd64
> >ISO image. Netbsd's dmesg shows that netbsd correctly finds 16 GB
> >of memory on the system.
> I fixed this on i386 a few months ago, and I applied a similar fix to
> amd64 on the advice of Peter Wemm. Go beat him up on this one =-)
Well, I have more data and Peter advice may have been correct.
>From the beastie menu :-O, I dropped to the loader prompt. If
The system boots up fine (although I thought AMD64 required acpi).
Next, if I do
The system starts to boot and dmesg reports the 16 GB of memory, but
I rapidly get this panic.
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0xffffffff80af6a80
fault code = supervisor read, page not present
instruction pointer = 0x8:0xffffffff802a5814
stack pointer = 0x10:0xffffffff80728a30
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = resume, IOPL = 0
current process = 0 (swapper)
[thread pid 0 tid 0]
Stopped at isitmychild+0x4: decl %eax
isitmychild() at isitmychild+0x4
isitmydescendant() at isitmydescendant+0x16
witness_checkorder() at witness_checkorder+0x44a
_mtx_lock_flags() at _mtx_lock_flags+0x7a
lim_hold() at lim_hold+0x29
fork1() at fork1+0xaa0
kthread_create() at kthread_create+0xa3
ktrace_init() at ktrace_init+0xe4
mi_startup() at mi_startup+0xb6
So, it looks like ACPI on this Tyan motherboard is restricting
the memory to 8G.
More information about the freebsd-current