From: Benjamin H. <be...@ke...> - 2003-09-24 12:07:25
|
Hi Jon ! Your new code for looking at the card's ROM is causing a problem for me. On some cards, typically the "Mac" cards, the ROM doesn't contain an x86 BIOS, but rather an OF driver. The current code will blindly tap that, though it contains none of the expected tables, and will use completely wrong values. Do you have ideas how to make some sanity checking on the ROM content ? Ben. |
From: Michel <mi...@da...> - 2003-09-24 15:18:07
|
On Wed, 2003-09-24 at 14:06, Benjamin Herrenschmidt wrote: > > Your new code for looking at the card's ROM is causing a problem for > me. On some cards, typically the "Mac" cards, the ROM doesn't contain > an x86 BIOS, but rather an OF driver. The current code will blindly > tap that, though it contains none of the expected tables, and will > use completely wrong values. > > Do you have ideas how to make some sanity checking on the ROM content ? The X radeon driver has this in RADEONGetBIOSParameters(): if (info->VBIOS[0] != 0x55 || info->VBIOS[1] != 0xaa) { xfree(info->VBIOS); info->FPBIOSstart = 0; info->VBIOS = NULL; info->BIOSAddr = 0x00000000; xf86DrvMsg(pScrn->scrnIndex, X_WARNING, "Video BIOS not found!\n"); } -- Earthling Michel Dänzer \ Debian (powerpc), XFree86 and DRI developer Software libre enthusiast \ http://svcs.affero.net/rm.php?r=daenzer |
From: Benjamin H. <be...@ke...> - 2003-09-24 17:45:04
|
On Wed, 2003-09-24 at 17:18, Michel Dänzer wrote: > On Wed, 2003-09-24 at 14:06, Benjamin Herrenschmidt wrote: > > > > Your new code for looking at the card's ROM is causing a problem for > > me. On some cards, typically the "Mac" cards, the ROM doesn't contain > > an x86 BIOS, but rather an OF driver. The current code will blindly > > tap that, though it contains none of the expected tables, and will > > use completely wrong values. > > > > Do you have ideas how to make some sanity checking on the ROM content ? > > The X radeon driver has this in RADEONGetBIOSParameters(): > > if (info->VBIOS[0] != 0x55 || info->VBIOS[1] != 0xaa) { We check that, but that isn't enough, an OF ROM will trigger that as well Ben. |
From: Jon S. <jon...@ya...> - 2003-09-24 18:12:59
|
Is the 'Mac' card being used on a x86 machine? I thought the ROM code was compiled out on non-X86 machines. If this is a Mac card in an x86 machine, how does the x86 processor know that the ROM does not contain x86 code? Does it look like this: X86 card -- 55 AA JMP XX XX Mac card -- 55 AA 00 00 00 --- Benjamin Herrenschmidt <be...@ke...> wrote: > On Wed, 2003-09-24 at 17:18, Michel Dänzer wrote: > > On Wed, 2003-09-24 at 14:06, Benjamin Herrenschmidt wrote: > > > > > > Your new code for looking at the card's ROM is causing a problem for > > > me. On some cards, typically the "Mac" cards, the ROM doesn't contain > > > an x86 BIOS, but rather an OF driver. The current code will blindly > > > tap that, though it contains none of the expected tables, and will > > > use completely wrong values. > > > > > > Do you have ideas how to make some sanity checking on the ROM content ? > > > > The X radeon driver has this in RADEONGetBIOSParameters(): > > > > if (info->VBIOS[0] != 0x55 || info->VBIOS[1] != 0xaa) { > > We check that, but that isn't enough, an OF ROM will trigger that > as well > > Ben. > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > Linux-fbdev-devel mailing list > Lin...@li... > https://lists.sourceforge.net/lists/listinfo/linux-fbdev-devel ===== Jon Smirl jon...@ya... __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com |
From: Sven L. <sve...@wa...> - 2003-09-25 05:39:50
|
On Wed, Sep 24, 2003 at 11:12:57AM -0700, Jon Smirl wrote: > Is the 'Mac' card being used on a x86 machine? > I thought the ROM code was compiled out on non-X86 machines. Notice that not all powerpc boxes are in this case. The pegasos at least includes an x86 emulator in the OF which runs the cards bios. I know that the amigaone does the same. So testing for powerpc may well not be enough for detecting OF cards. Friendly, Sven Luther |
From: Stefan R. <st...@su...> - 2003-09-25 12:12:00
|
* Sven Luther <sve...@wa...> [030925 07:39]: > On Wed, Sep 24, 2003 at 11:12:57AM -0700, Jon Smirl wrote: > > Is the 'Mac' card being used on a x86 machine? > > I thought the ROM code was compiled out on non-X86 machines. > > Notice that not all powerpc boxes are in this case. The pegasos at least > includes an x86 emulator in the OF which runs the cards bios. I know > that the amigaone does the same. So testing for powerpc may well not be > enough for detecting OF cards. Whether it's an Open Firmware card or not can be read from the PCI headers stored in the ROM. Check the romheaders utility from OpenBIOS CVS ( http://www.openbios.org/ ) Look at the code here: http://cvs.openbios.org/cgi-dom/viewcvs.cgi/utils/romheaders.c?rev=1.2&content-type=text/vnd.viewcvs-markup The program prints whether the rom is OpenFirmware, x86 or HP PA-Risc. Note that graphics cards can theoretically contain ROM images for both x86 and OF in one chip. Stefan -- Architecture Team SuSE Linux AG |
From: Benjamin H. <be...@ke...> - 2003-09-25 13:42:23
|
> Whether it's an Open Firmware card or not can be read from the PCI > headers stored in the ROM. Check the romheaders utility from OpenBIOS > CVS ( http://www.openbios.org/ ) > > Look at the code here: > http://cvs.openbios.org/cgi-dom/viewcvs.cgi/utils/romheaders.c?rev=1.2&content-type=text/vnd.viewcvs-markup > > The program prints whether the rom is OpenFirmware, x86 or HP PA-Risc. > Note that graphics cards can theoretically contain ROM images for both > x86 and OF in one chip. Yup, "Mac" cards can contain in theory both OF and x86 BIOS drivers, though I yet have to find a vendor doing that.... Thanks for the pointers to code, I'll dig that out. Regards, Ben. |