On Thu, Apr 16, 2009 at 11:35:56AM -0600, Myles Watson wrote:
I have two sizes of flash chips because I have a BIOS savior. My 512K chip works fine, but my 1M chip doesn't.
Here's my setting from config.h
// When option roms are not pre-deployed, SeaBIOS can copy an optionrom // from flash for up to 2 devices. #define OPTIONROM_VENDEV_1 0x47521002 #define OPTIONROM_MEM_1 0xfff00000 /* 512K uses 0xfff80000 */
Looks like you have that backwards. If "lspci -vnn" reports 1002:4752 then you should set OPTIONROM_VENDEV_1 to "0x10024752".
Notice the byte at 35b0. I checked to make sure that the 1M version is the one in the 1M chip, but it won't work unless I put the video BIOS at fff80000. I put it in both places with dd since there was plenty of space, but I couldn't see a reason why it isn't working.
Do you have any debugging suggestions?
I committed a couple of more debug statements to the option rom scan. Can you do a "git pull", set the debug level to 6, and provide the output?
PS I think a comment about the order of OPTIONROM_VENDEV_* would be helpful, since it is device then vendor ID. I know it matches the hardware, but I got it wrong the first time.
I advise anyone using SeaBIOS to go over to CBFS. Having to recompile SeaBIOS just to use an option rom is a real chore. With CBFS that should be a thing of the past.
-Kevin