Date: Mon, 3 Sep 2001 20:48:53 +0200 From: Wilko Bulte <wkb@freebie.xs4all.nl> To: Andrew Gallatin <gallatin@cs.duke.edu> Cc: Jim Pirzyk <Jim.Pirzyk@disney.com>, freebsd-alpha@FreeBSD.ORG Subject: Re: XFree86-4 and alpha DS10 Message-ID: <20010903204853.A989@freebie.xs4all.nl> In-Reply-To: <15250.28748.426132.928287@grasshopper.cs.duke.edu>; from gallatin@cs.duke.edu on Sun, Sep 02, 2001 at 01:45:48PM -0400 References: <iss.430a.3b90248d.64c9f.1@mercury.fan.fa.disney.com> <15248.26093.985320.772619@grasshopper.cs.duke.edu> <20010901194419.B25898@freebie.xs4all.nl> <20010902115437.A28974@freebie.xs4all.nl> <15250.28748.426132.928287@grasshopper.cs.duke.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Sep 02, 2001 at 01:45:48PM -0400, Andrew Gallatin wrote: > > Wilko Bulte writes: > <...> > > (--) PCI:*(0:14:0) Matrox MGA 2164W rev 0, Mem @ 0x40000000/24, > > 0x018a0000/14, 0x01000000/23, BIOS @ 0x01880000/16 > <...> > > (WW) ****INVALID MEM ALLOCATION**** b: 0x18a0000 e: 0x18a3fff correcting > > > Hmm.. "correcting" to what, I wonder? This comes from: common/xf86pciBus.c / ValidatePci() } else if (pvp->memBase[i]) { PV_M_RANGE(range,pvp,i,ResExcMemBlock); if (pvp->type[i] & PCI_MAP_MEMORY_CACHABLE) { if (xf86IsSubsetOf(range,res_mp) && ! ChkConflict(&range,own,SETUP) && ! ChkConflict(&range,avoid,SETUP) && ! ChkConflict(&range,NonSys,SETUP)) { xf86FreeResList(own); continue; } } if (xf86IsSubsetOf(range,res_m_io) && ! ChkConflict(&range,own,SETUP) && ! ChkConflict(&range,avoid,SETUP) && ! ChkConflict(&range,NonSys,SETUP)) { xf86FreeResList(own); continue; } xf86MsgVerb(X_WARNING, 0, "****INVALID MEM ALLOCATION**** b: 0x%lx e: 0x%lx " "correcting\a\n", range.rBegin,range.rEnd); if (ChkConflict(&range,own,SETUP)) { xf86MsgVerb(X_INFO,3,"own\n"); xf86PrintResList(3,own); } if (ChkConflict(&range,avoid,SETUP)) { xf86MsgVerb(X_INFO,3,"avoid\n"); xf86PrintResList(3,avoid); } if (ChkConflict(&range,NonSys,SETUP)) { xf86MsgVerb(X_INFO,3,"NonSys\n"); xf86PrintResList(3,NonSys); } > Can you insert enough debugging code to find out why it doesn't like > this address and what it is being corrected to? > > > (EE) MGA(0): No valid MMIO address in PCI config space The code is probably: #if !defined(__powerpc__) if (pMga->device->IOBase != 0) { /* Require that the config file value matches one of the PCI values. */ if (!xf86CheckPciMemBase(pMga->PciInfo, pMga->device->IOBase)) { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "IOBase 0x%08lX doesn't match any PCI base register.\n", pMga->device->IOBase); MGAFreeRec(pScrn); return FALSE; } pMga->IOAddress = pMga->device->IOBase; from = X_CONFIG; } else { /* details: mgabase1 sdk pp 4-11 */ int i = ((pMga->Chipset == PCI_CHIP_MGA1064 && pMga->ChipRev < 3) || pMga->Chipset == PCI_CHIP_MGA2064) ? 0 : 1; if (pMga->PciInfo->memBase[i] != 0) { pMga->IOAddress = pMga->PciInfo->memBase[i] & 0xffffc000; from = X_PROBED; } else { xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "No valid MMIO address in PCI config space\n"); MGAFreeRec(pScrn); return FALSE; } } out of drivers/mga/mga_driver.c > Is the "MMIO" address the address mentioned above? Can you trace this > down thru the XF86-4 sources? Well, a bit. But I do not pretend to understand too much about it to be honest. -- | / o / / _ Arnhem, The Netherlands email: wilko@FreeBSD.org |/|/ / / /( (_) Bulte To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010903204853.A989>