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