Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Nov 2008 10:40:05 -0800
From:      Nate Lawson <nate@root.org>
To:        Bill Brinzer <brinzer@mfrac.com>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: Dell PowerEdge 840 ACPI panic early in boot
Message-ID:  <492C4685.1030405@root.org>
In-Reply-To: <20081125181512.GA89700@fire.mfrac.vpn>
References:  <20081125181512.GA89700@fire.mfrac.vpn>

next in thread | previous in thread | raw e-mail | index | archive | help


Bill Brinzer wrote:
> Booting FreeBSD on my brand new Dell PowerEdge 840 causes a panic
> very early in the boot sequence.  Disabling ACPI allows the boot to
> proceed normally.

> avail memory = 2091761664 (1994 MB)
> Table 'FACP' at 0xf9ff4
> panic: vm_fault: fault on nofault entry, addr: c1423000
> cpuid = 0
> KDB: stack backtrace:
> db_trace_self_wrapper(c0b7d055,c1020aa0,c07abbdf,c0ba132b,0,...) at 0xc04d49a6 = db_trace_self_wrapper+0x26
> kdb_backtrace(c0ba132b,0,c0b974be,c1020aac,0,...) at 0xc07d2c89 = kdb_backtrace+0x29
> panic(c0b974be,c1423000,1,c1020bb0,c1020ba0,...) at 0xc07abbdf = panic+0x10f
> vm_fault(c1471000,c1423000,1,0,0,...) at 0xc09fecd8 = vm_fault+0x178
> trap_pfault(10,12,1000000,7476,c0c8b360,...) at 0xc0ae1a7e = trap_pfault+0x20e
> trap(c1020cf0) at 0xc0ae24da = trap+0x3fa
> calltrap() at 0xc0ac7b3b = calltrap+0x6
> --- trap 0xc, eip = 0xc0e1f1ce, esp = 0xc1020d30, ebp = 0xc1020d50 ---
> madt_probe(c0ba06ab,0,0,c50e1748,fffffff,...) at 0xc0e1f1ce = madt_probe+0x10e
> apic_init(0,101ec00,101ec00,101e000,1028000,...) at 0xc0acfac3 = apic_init+0x53
> mi_startup() at 0xc0771fc6 = mi_startup+0x96
> begin() at 0xc0461a05 = begin+0x2c
> KDB: enter: panic
> [thread pid 0 tid 0 ]
> Stopped at      0xc07d2bd2 = kdb_enter+0x32:    leave
> db>
> 
> (gdb) l *madt_probe+0x10e
> 0x471ce is in madt_probe (/export/FreeBSD/7.x/src/sys/modules/acpi/acpi/../../../i386/acpica/madt.c:245).
> 240                 return (ENXIO);
> 241         }
> 242         count = (xsdt->Header.Length - sizeof(ACPI_TABLE_HEADER)) /
> 243             sizeof(UINT64);
> 244         for (i = 0; i < count; i++)
> 245                 if (madt_probe_table(xsdt->TableOffsetEntry[i]))
> 246                         break;
> 247         madt_unmap_table(xsdt);
> 248 } else {
> 249         rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1,
> 
> I posted the dmesg(8) from boot -v with ACPI disabled at:
> <http://sandstone.mfrac.com/freebsd-acpi/brinzer-PowerEdge840.dmesg>;
> 
> And the ASL is here:
> <http://sandstone.mfrac.com/freebsd-acpi/brinzer-PowerEdge840.asl>;
> 
> Thanks in advance; let me know if I need to try anything else.

The output of acpidump -t would help.  That gives the fixed tables in
addition to ASL.  Perhaps the MADT is corrupt.  Have you checked your
vendor for a BIOS update?

-- 
Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?492C4685.1030405>