[coreboot] OPTIONROM_MEM settings problem

Myles Watson mylesgw at gmail.com
Fri Apr 17 15:59:29 CEST 2009


On Thu, Apr 16, 2009 at 6:52 PM, Kevin O'Connor <kevin at koconnor.net> wrote:
> 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".

That's what I thought the first time.  0x47521002 works for me,
0x10024752 doesn't.

myles at flying:svn$ lspci -nx -s 1:06
01:06.0 0300: 1002:4752 (rev 27)
00: 02 10 52 47 87 00 90 02 27 00 00 03 10 40 00 00
10: 00 00 00 fc 01 10 00 00 00 00 02 fd 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 02 10 08 80
30: 00 00 f8 ff 5c 00 00 00 00 00 00 00 00 01 08 00

myles at flying:svn$ lspci -x -s 1:06
01:06.0 VGA compatible controller: ATI Technologies Inc Rage XL (rev 27)
00: 02 10 52 47 87 00 90 02 27 00 00 03 10 40 00 00
10: 00 00 00 fc 01 10 00 00 00 00 02 fd 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 02 10 08 80
30: 00 00 f8 ff 5c 00 00 00 00 00 00 00 00 01 08 00

output:
Attempting to init PCI bdf 00000130 (dev/ven 47521002)
Attempting to map option rom on dev 00000130
Option rom sizing returned fff80000 fffe0000
Inspecting possible rom at fff80000 (dv=47521002 bdf=000001300)
Copying option rom from fff80000 to 000c0000
Running option rom at 0000c000:00000003

Reading this output again makes me wonder if the problem I'm seeing
with the address has to do with sizing the ROM register even though I
provided an address.

>> 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?
Will do.

>> 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.
Sounds good.

Thanks,
Myles




More information about the coreboot mailing list