PCI chipset bug causes display failure...

"howerd.oakford" <[email protected]>
Newsgroups gmane.comp.lang.forth.colorforth
Message-ID <[email protected]>
Hi,

From comp.lang.forth, in case you missed it :

From: "Howerd" <[email protected]>
Newsgroups: comp.lang.forth
Subject: Re: ANN: PCIdev - PCI device viewer ( new and improved )
Date: Sat, 09 Jul 2005 17:35:36 -0700

Hi Albert & John,

THANK YOU BOTH!!! I took a look at the Linux sources and...

Albert: you are mostly right - lspci uses hardware access, but - from
i386-ports.c ( used in the libpci library ) :

/*
 * Before we decide to use direct hardware access mechanisms, we try to
do some
 * trivial checks to ensure it at least _seems_ to be working -- we
just test
 * whether bus 00 contains a host bridge (this is similar to checking
 * techniques used in XFree86, but ours should be more reliable since
we
 * attempt to make use of direct access hints provided by the PCI
BIOS).
 *
 * This should be close to trivial, but it isn't, because there are
buggy
 * chipsets (yes, you guessed it, by Intel and Compaq) that have no
class ID.
 */

The last two lines are critical : could this be why the versions of
colorForth that scan the PCI bus for the video card's RAM address don't
work??? I believe the code scans for a class code 3 ( Display ).

So, if any of you have a PC that refuses to run colorForth, could you
please run PCIdev on it and report whether it finds any Class 3
devices...
Somehow the PCI BIOS must know about these brain-dead chips.

From Chuck's original gen.asm :

dev: mov  EAX, 80001008h ; Find display, start at device 2
    mov  ECX, 31-1 ; end with AGP: 10008, bus 1, dev 0
@@:     DUP_
        call north
        and  EAX, 0ff000000h
        cmp  EAX, 3000000h
        DROP
        jz   @f
        add  EAX, 800h
        next @b
@@: ret

This must also mean that our Linux friends have mastered the art of
accessing the PCI BIOS from protected mode. It looks like I will have
to dig into the sources some more...

I am amazed that PCI chipset manufacturers could get the first, most
fundamental ID wrong. Thanks again to the Linux developers 8^)

*!*"*£% !*"&£(^!

Howerd  8^o


Albert van der Horst wrote:
> In article <[email protected]>,
> Howerd <[email protected]> wrote:
> >Hi John,
> >
> >John Passaniti wrote:
> >> Howerd wrote:
> >> > Announcing PCI.exe and PCI.f, a PCI viewer program, supplied as ANS
> >> > Forth source and a turnkeyed application :
> >
> >> Although I'm not suggesting your effort was wasted, an alternative way
> >> to do the same thing would be to use one of the run-from-CD Linux
> >> distributions and poke around under /proc and use utilities like lspci.
> >Thanks for the pointer - yet another reason to thank those Linux
> >lads...
> >
> >PCIdev uses direct hardware access to display information about PCI
> >devices - as far as I know all similar apps use BIOS calls.
> >This is, of course,

 so that I can port it to colorForth...
>
> Linux speedily passes into protected mode, so I severely doubt that
> much BIOS-calling is going on.
>
> >
> >Regards
> >
> >Howerd  8^)
> >
>
>
> --
> --
> Albert van der Horst,Oranjestr 8,3511 RA UTRECHT,THE NETHERLANDS
> Economic growth -- like all pyramid schemes -- ultimately falters.
> [email protected] http://home.hccnet.nl/a.w.m.van.der.horst
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.