Index: programs/Xserver/hw/xfree86/common/xf86pciBus.c =================================================================== RCS file: /work/eich/freedesktop/cvs/xorg/xc/programs/Xserver/hw/xfree86/common/xf86pciBus.c,v retrieving revision 1.4.2.2 diff -u -r1.4.2.2 xf86pciBus.c --- programs/Xserver/hw/xfree86/common/xf86pciBus.c 25 Jan 2005 02:52:42 -0000 1.4.2.2 +++ programs/Xserver/hw/xfree86/common/xf86pciBus.c 1 Mar 2005 10:07:43 -0000 @@ -2541,28 +2541,37 @@ xf86PrintResList(3, own); #endif if (pvp->ioBase[i]) { + memType a[3] = {0,0,0}; + int count; PV_I_RANGE(range,pvp,i,ResExcIoBlock); if (xf86IsSubsetOf(range,res_m_io) - && ! ChkConflict(&range,own,SETUP) - && ! ChkConflict(&range,avoid,SETUP) - && ! ChkConflict(&range,NonSys,SETUP)) { + && ! (a[0] = ChkConflict(&range,own,SETUP)) + && ! (a[1] = ChkConflict(&range,avoid,SETUP)) + && ! (a[2] = ChkConflict(&range,NonSys,SETUP))) { xf86FreeResList(own); continue; } xf86MsgVerb(X_WARNING, 0, "****INVALID IO ALLOCATION**** b: 0x%lx e: 0x%lx " "correcting\a\n", range.rBegin,range.rEnd); + for (count = 0; count < 3; count++) + if (a[count] > 0) + xf86MsgVerb(X_WARNING, 0, "offending address: 0x%lx" + "form %s\n", a[count],count? + "own":(count==1?"avoid":"NonSys")); #ifdef DEBUG sleep(2); #endif fixPciResource(i, 0, pvp, range.type); } else if (pvp->memBase[i]) { + memType a[3] = {0,0,0}; + int count; 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)) { + && ! (a[0] = ChkConflict(&range,own,SETUP)) + && ! (a[1] = ChkConflict(&range,avoid,SETUP)) + && ! (a[2] = ChkConflict(&range,NonSys,SETUP))) { xf86FreeResList(own); continue; } @@ -2577,18 +2586,11 @@ 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); - } + for (count = 0; count < 3; count++) + if (a[count] > 0) + xf86MsgVerb(X_WARNING, 0, "offending address: 0x%lx" + " from %s\n",a[count],count? + "own":(count==1?"avoid":"NonSys")); #ifdef DEBUG sleep(2);