Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 Mar 2008 13:50:03 GMT
From:      Leon Kos <leon.kos@lecad.uni-lj.si>
To:        freebsd-acpi@FreeBSD.org
Subject:   Re: kern/121558: Supermicro X7SB4 Fatal trap 12 when ACPI disabled
Message-ID:  <200803111350.m2BDo3T2027051@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/121558; it has been noted by GNATS.

From: Leon Kos <leon.kos@lecad.uni-lj.si>
To: Dan Lukes <dan@obluda.cz>
Cc: freebsd-acpi@freebsd.org, bug-followup@freebsd.org
Subject: Re: kern/121558: Supermicro X7SB4 Fatal trap 12 when ACPI disabled
Date: Tue, 11 Mar 2008 14:45:40 +0100 (CET)

 mptable output of the system is located at:
 http://www.lecad.uni-lj.si/~leon/other/x7sb4/mptable.txt
 
 I could not change version in BIOS. Processor option supported by BIOS are 
 shown in http://www.lecad.uni-lj.si/~leon/other/x7sb4/img_1638.jpg
 
 I have added
 options     INVARIANTS
 options     INVARIANT_SUPPORT
 options     DIAGNOSTIC
 
 and now GENERIC shows the following trace when ACPI disabled:
 http://www.lecad.uni-lj.si/~leon/other/x7sb4/img_1639.jpg
 http://www.lecad.uni-lj.si/~leon/other/x7sb4/img_1640.jpg
 http://www.lecad.uni-lj.si/~leon/other/x7sb4/img_1641.jpg
 
 
 Forcing single core in BIOS helps when running ACPI disabled.
 Toggling other BIOS options like C1 Enhanced Mode or Speed Step
 does not.
 
 
 Kind regards!
 
 Leon Kos, CAD lab, Mech.Eng., University of Ljubljana, Slovenia
 (http://www.lecad.uni-lj.si/~leon)
 
 
 On Tue, 11 Mar 2008, Dan Lukes wrote:
 
 > The following reply was made to PR kern/121558; it has been noted by GNATS.
 >
 > From: Dan Lukes <dan@obluda.cz>
 > To: Leon Kos <begunje@gmail.com>
 > Cc: jhb@freebsd.org, volker@vwsoft.com, bug-followup@freebsd.org
 > Subject: Re: kern/121558: Supermicro X7SB4 Fatal trap 12 when ACPI disabled
 > Date: Tue, 11 Mar 2008 11:53:23 +0100
 >
 > > ioapic_get_vector(0,13) at ioapic_get_vector+0x0a
 > > mptable_pci_route_interrupt_handler(c009de3d,c1020890) at mptable_pci_route_interrupt_handler+0x35
 >
 > The function implementation:
 >
 >   ------------------
 > > ioapic_get_vector(void *cookie, u_int pin)
 > > {
 > >         struct ioapic *io;
 > >
 > >         io = (struct ioapic *)cookie;
 > >         if (pin >= io->io_numintr)
 > ...
 >   ------------------
 >
 >
 > E.g. the ioapic_get_vector seems to be called with NULL cookie which is
 > used as a valid pointer a dereferenced - exactly as I fabulate in
 > previous email.
 >
 > The function implementation:
 >
 >   ------------------
 > > mptable_pci_route_interrupt_handler(u_char *entry, void *arg)
 > > {
 > > ...
 > >         /* Make sure the APIC maps to a known APIC. */
 > >         KASSERT(ioapics[intr->dst_apic_id] != NULL,
 > >             ("No I/O APIC %d to route interrupt to", intr->dst_apic_id));
 > > ...
 > >         vector = ioapic_get_vector(ioapics[intr->dst_apic_id],
 > >             intr->dst_apic_int);
 >   ------------------
 >
 > 	As your kernel is compiled without INVARIANTS the KASSERT test become
 > void and ioapic_get_vector may be called with NULL causing the abend later.
 >
 > 	It's because the intr->dst_apic_id point to APIC that doesn't exist
 > (you can run kernel with INVARIANTS to display the dst_apic_id in question).
 >
 > 	Please note the MPTABLE generated by BIOS MAY change also when ACPI is
 > (de)activated in BIOS. You may try to boot with ACPI enabled in BIOS but
 > disabled in OS. It may (or may not) help to you.
 >
 > 	It may be problem with MPTABLE itself (eg. not in FreeBSD) or with it's
 > parsing (e.g. in FreeBSD). MPTABLE is generated by BIOS. Look into BIOS
 > if MPTABLE version can be set then use 1.4. Especially dont use "auto"
 > as version even such option present.
 >
 > 	The output of mptable command may help to us.
 >
 > 							Dan
 > _______________________________________________
 > freebsd-acpi@freebsd.org mailing list
 > http://lists.freebsd.org/mailman/listinfo/freebsd-acpi
 > To unsubscribe, send any mail to "freebsd-acpi-unsubscribe@freebsd.org"
 >



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