On Fri, 24 Jan 2003, Wayne Whitney wrote:

> On Thu, 23 Jan 2003, Wayne Whitney wrote:

> > As far as I can tell, the "Cannot read V_BIOS" message is the problem,
> > and it means that XFree86 can't find the Video BIOS on the PCI card to
> > use to initialize the video card.  [...] I found that getValidBIOSBase()
> > in xfree86/common/xf86pciBus.c is called repeatedly but that it always
> > returns 0.

> The following patch to getValidBIOSBase() makes things work for me,
> although I don't really understand what it does, as I arrived at it by
> brute force.  Any suggestions of what is going on or what the proper fix
> is would be great.

> The second part obviously just prints out the return value of
> getValidBIOSBase() when it runs to completion (there are various "return
> 0" paths earlier in the function).  When I run X on the primary card, this
> is never triggered.  When I run X on AGP card as the secondary card (which
> works OK on stock 4.2.99.4), it prints out e8000000 once.  When I run X on
> the PCI card as the secondary card, it triggers three times and prints 0,
> 0, e0000000.  Without the first part of the patch, it used to print 0, 0,
> 0, 0 in this situation and X wouldn't work.

> --- xfree86/common/xf86pciBus.c.~3.66.~       2003-01-23 19:54:11.000000000 -0800
> +++ xfree86/common/xf86pciBus.c       2003-01-23 23:46:33.000000000 -0800
> @@ -1617,18 +1617,24 @@
>               break;
>           }
>           m = m->next;
>       }
>      } else {
> -     if (!xf86IsSubsetOf(range, m) ||
> +     if (
> +#if 0
> +         !xf86IsSubsetOf(range, m) ||
> +#endif
>           ChkConflict(&range, avoid, SETUP)
>           || (mem && ChkConflict(&range, mem, SETUP)))
>           ret = 0;
>      }
>
>      xf86FreeResList(avoid);
>      xf86FreeResList(m);
> +#ifdef DEBUG
> +    xf86Msg(X_ERROR, "getValidBIOSBase: %x\n", ret);
> +#endif
>      return ret;
>  }
>
>  /*
>   * xf86Bus.c interface

Hummm.  Can you re-post that log again?  The output from `scanpci -v`
would also help.

Thanks.

Marc.

+----------------------------------+-----------------------------------+
|  Marc Aurele La France           |  work:   1-780-492-9310           |
|  Computing and Network Services  |  fax:    1-780-492-1729           |
|  352 General Services Building   |  email:  [EMAIL PROTECTED]          |
|  University of Alberta           +-----------------------------------+
|  Edmonton, Alberta               |                                   |
|  T6G 2H1                         |     Standard disclaimers apply    |
|  CANADA                          |                                   |
+----------------------------------+-----------------------------------+
XFree86 Core Team member.  ATI driver and X server internals.

_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel

Reply via email to