Expansion ROM hacking on PCI Express ?

Only for programmers and BIOS gurus with technical questions.
Post Reply
pipomolo42
New visitors - please read the rules.
Posts: 7
Joined: Thu Jul 05, 2007 10:45 am

Hi,

I have a machine which only has PCI-E slots and on which I would need to do a bit of Expansion ROM hacking.

I have one graphic card (Nvidia 7300GS) available, on which I could try it, but I'm a bit affraid that it could fry it (maybe by not setting the card's GPU and RAM clocks as it should normally do).

Or else, could someone point me to a _cheap_ PCI-E card I could get, whose Expansion ROM is known to be easily writable ?

For a longer story, I have a Mac Pro, and I currently think that this would be the easiest way to get it to boot in RAID mode (Apple's EFI does not include the Expansion ROM, and I will also have to patch the Rom before flashing it, to switch the ESB2 IDE Controller to RAID mode)

Thanks in advance,
Alex
pipomolo42
New visitors - please read the rules.
Posts: 7
Joined: Thu Jul 05, 2007 10:45 am

Err, actually, what I wanted to try was to put the expansion rom of one of my pci devices in the physical rom of another device ... but I guess that this will just not work, unless the expansion rom also heavily patches the bios. Can someone confim ?
cp
BIOS Guru
Posts: 1914
Joined: Mon Oct 21, 2002 9:07 pm
Location: Germany

should be no problem at all..you can even insert some totally random code into the bios and let it do the rest. you just have to make sure that the modules follow a specific format. more information can be found on:
http://www.fitzenreiter.de/ata/ata_eng.htm
pipomolo42
New visitors - please read the rules.
Posts: 7
Joined: Thu Jul 05, 2007 10:45 am

Hello,

I've read about the ata secutity extension already, but this is code unrelated to the pci device it resides on ... What I need to do is loading the extension rom for one device from another device.

And I don't understand yet how else one extenstion rom could be related to one specific device, so I'm not sure it'spossible.


Alex
cp
BIOS Guru
Posts: 1914
Joined: Mon Oct 21, 2002 9:07 pm
Location: Germany

the code doesn't have to be related to the device it runs from. the ata security module isn't device specific to any device in the system and you can run it from the mainboard's bios or from another pci device (network card's boot rom). there are mainboard with a dedicated vga device onboard, so the vga bios has to be inside the mainboard's bios. and actually it is.. the bios just executes the extension code and the code itself takes care of the rest. so if you would insert a copy of your (let's say) scsi bios into your mainboard's bios and remove the bios from the actual card it wouldn't make a difference for the system.
pipomolo42
New visitors - please read the rules.
Posts: 7
Joined: Thu Jul 05, 2007 10:45 am

Actually, I'm now thinking that the vga bios is not a "normal" pci expansion rom, as the double at address 0x30 of the pci config space of my graphic cards are all set to 0x00000000 ... but I think I still need to read more bios specs, to understand what I can or cannot do with it.

The ESB2 controller can also have its own eeprom. If I'm lucky, it's actually on my motherboard and just filled with 0x00 currently ... else, I don't really feel like soldering one on my board.
cp
BIOS Guru
Posts: 1914
Joined: Mon Oct 21, 2002 9:07 pm
Location: Germany

please read this fine source of information :
http://www.geocities.com/mamanzip/Artic ... n_ROM.html

the vga roms i have (around 50 different) all look as described in the article.
pipomolo42
New visitors - please read the rules.
Posts: 7
Joined: Thu Jul 05, 2007 10:45 am

Actually, I was not concerned about the format of the vga roms, but rather if and when they get executed by the bios (as it seems to me that only the "first" vga bios gets executed, and at an earlier stage than, say, an etherboot image)
maman
Master Flasher
Posts: 173
Joined: Sun Mar 31, 2002 2:08 pm
Location: Taka Bonerate National Park, Indonesia
Contact:

Yes, only one of the VGA BIOS always executed. Moreover, it's the first expansion ROM that's executed.

You may want to read:
Low Cost Embedded x86 Teaching Tool

If you feel confused, start from the beginning of the article.
Post Reply