Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Panic during agp_intel attach



I tried booting -current (as of 20080118-1955 EET) on a Compaq DeskPro EN,
but it paniced during boot.  Here's a partial backtrace:

  #3  0xc05686dd in panic (fmt=0xc0c5ed04 "kernel %sassertion \"%s\" failed: 
file \"%s\", line %d") at ../../../../kern/subr_prf.c:204
  #4  0xc098486f in __kernassert (t=0xc0beaa93 "diagnostic ", f=0xc0beaa6c 
"../../../../arch/x86/pci/pci_machdep.c", l=432, e=0xc0beaa5b "(reg & 0x3) == 
0") at ../../../../../../lib/libkern/__assert.c:50
  #5  0xc07c2c88 in pci_conf_write (pc=0x0, tag={mode1 = 2147483648, mode2 = 
{port = 0, enable = 0 '\0', forward = 128 '\200'}}, reg=145, data=112) at 
../../../../arch/x86/pci/pci_machdep.c:432
  #6  0xc07c0932 in agp_intel_init (sc=0xc177e400) at 
../../../../dev/pci/agp_intel.c:266
  #7  0xc07c05ea in agp_intel_attach (parent=0xc1785e00, self=0xc177e400, 
aux=0xc0e4978c) at ../../../../dev/pci/agp_intel.c:193
  #8  0xc07bbd31 in agpattach (parent=0xc1785e00, self=0xc177e400, 
aux=0xc0e49788) at ../../../../dev/pci/agp.c:331

Apparently this is triggered by the following change:

  revision 1.31
  date: 2008/01/14 18:44:17;  author: dyoung;  state: Exp;  lines: +4 -2
  KASSERT() that reads/writes from/to PCI configuration space are
  aligned on 32-bit boundaries.

combined with the following code in agp_intel.c:

                pci_conf_write(sc->as_pc, sc->as_tag,
                        AGP_INTEL_ERRSTS, 0x70);

and the following #define in agpreg.h:

   #define AGP_INTEL_ERRSTS        0x91    /* Not i8XX */

as 0x91 is not aligned to a 32-bit boundary.  What's the correct fix?
-- 
Andreas Gustafsson, gson%gson.org@localhost



Home | Main Index | Thread Index | Old Index