Bug #531

ACPI bugs on Intel motherboards

Added by glorg almost 8 years ago. Updated over 7 years ago.

Status:ClosedStart date:
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:-
Target version:-

Description

I cannot boot with 1.7-DEVEL from Jan 20th.
The hardware is DELL Inspiron 1300, i915 chipset, celeron-m 1.6GHz

npx0.nexus0.root0
npx0:<math processor>[tentative] on motherboard
npx0:INT 16 interface
using XMM optimized bcopy/copyin/copyout
npx0:<math processor>[attached!] on motherboard
acpi0.nexus0.root0
acpi0:<DELL D05> [tentative] on motherboard

Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x24
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc02d76fa
stack pointer = 0x10:0xccbfcc78
frame pointer = 0x10:0xccbfcc88
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL=0
current process = Idle
current thread = pri92(CRIT)

type 12 trap, code = 0
stopped at lwkt_sendmsg+0x4a xalll *0x14(%edx)

If i turn ACPI off in the boot menu, loading process hangs with no message after
probing parallel ports.

The same failure was found on an Intel 845 hardware, but on VIA KT133 with
Athlon 900 or with Duron 1300 hardware everything was OK.

acpi.c.diff Magnifier (778 Bytes) qhwt+dfly, 01/23/2007 09:28 AM

History

#1 Updated by corecode almost 8 years ago

do you get a
db>

prompt there? could you submit the output of "trace"?

thanks
simon

#2 Updated by glorg almost 8 years ago

Here is the output of "trace":
lwkt_sendmsg(10,c810bee0,c18af23c,ccbfccc4) at lwkt_sendmsg+0x4a
AcpiOsExecute(2,c0736ab7,c18af23c,102f,0) at AcpiOsExecute+0x6f
AcpiEvGpeDispatch(c18af23,1d,c1706b15,3,0) at AcpiEvGpeDispatch+0x11f
AcpiEvGpeDetect(c15a1940,c0614550,ccbfcd1c,c0758a25,c15a1940) at
AcpiEvGpeDetect+0xd7
AcpiEvSciXruptHandler(c15a1940,0,ccbfcd84,c02b21d9,c15a1940) at
AcpiEvSciXruptHandler+0x19
InterruptWrapper(c15a1940,0,0,0,1) at InterruptWrapper+0x2b
ithread_handler(9,0,0,0,0) at ithread_handler+0x9d
lwkt_exit() at lwkt_exit
db>

#3 Updated by qhwt+dfly almost 8 years ago

~~
> AcpiOsExecute(2,c0736ab7,c18af23c,102f,0) at AcpiOsExecute+0x6f
> AcpiEvGpeDispatch(c18af23,1d,c1706b15,3,0) at AcpiEvGpeDispatch+0x11f
> AcpiEvGpeDetect(c15a1940,c0614550,ccbfcd1c,c0758a25,c15a1940) at
> AcpiEvGpeDetect+0xd7
> AcpiEvSciXruptHandler(c15a1940,0,ccbfcd84,c02b21d9,c15a1940) at
> AcpiEvSciXruptHandler+0x19
> InterruptWrapper(c15a1940,0,0,0,1) at InterruptWrapper+0x2b
> ithread_handler(9,0,0,0,0) at ithread_handler+0x9d
> lwkt_exit() at lwkt_exit
> db>

Looks to me like acpi_task_thread is used (via AcpiOsExecute())
before the msgport is initialized, but it shouldn't happen since
most part of acpi_attach() is protected by critical section, which
suspends the interrupt. This is just a shot in the dark, but I wonder
what happens if you move up the call to acpi_task_thread_init()
before the call to AcpiEnableSubsystem(), which installs the interrupt
handler called above (patch attached)?

Cheers.

#4 Updated by qhwt+dfly almost 8 years ago

[snip]

Hi,
I committed this (with slight modification) patch, as this shouldn't do
any harm anyway, and I wanted to narrow down the possible cause. Please
let me know if anyone else still has the similar problem with updated
source.

Cheers.

#5 Updated by glorg almost 8 years ago

That's very good!
Sorry but I haven't got sources for world from that date - the bug was on a CD.
I'm very grateful to You.

#6 Updated by qhwt+dfly almost 8 years ago

Hi, eugene,
does that mean that the problem is solved in the more recent version
of Live CD, or just that you couldn't try the patch because you couldn't
download the source tree for some reason? FWIW I built the patched
module and put here:
http://les.ath.cx/DragonFly/issue531.zip
(les.ath.cx should resolve to 61.205.61.15)

the driver for UP kernel is named acpi-up.ko, and SMP acpi-smp.ko .
The module is built without -march= option, so it should work on any
x86-ish CPUs. The only problem is I'm not sure if or how it's possible
to boot with the LiveCD and load the driver from floppy disk or other
stuff...

Cheers.

#7 Updated by glorg over 7 years ago

Really there were both ways :) - the problem is really solved in more latest
version (I've tried to start from a 1.8-release CD) and I was not able to
download sources for that date for some days. Now I'd simply downloaded release
ISO and tried on the same machine - everything is OK.

Thank You!

Also available in: Atom PDF