[coreboot] YABEL and images in LAR files

Pattrick Hueper phueper at hueper.net
Fri Dec 19 19:57:38 CET 2008


well following the BIOS spec (i think its somewhere in the PNP BIOS
spec... i have to check... ) the BIOS copies the ROM to RAM... since
YABEL uses its own "virtual" memory it _has_ to copy the ROM to its
RAM... also some of the cards i have used do actually modify the
memory where the ROM is stored, so it has to be in the virtual RAM.

Currently, the ROM is always copied from the Expansion ROM bar of PCI
devices.... i havent had to initialize any onboard devices. If there
is a parameter to run_bios that points to the location of the Option
ROM i could pass that parameter to YABEL and only use the Expansion
ROM BAR if that parameter is not set (null?). But IIRC i still have to
copy it to the virtual memory.

If it helps coreboot to know where the Option ROM image is after
execution of the ROM, i guess YABEL could return the location of the
ROM (the length which could be changed during execution is part of the
ROM, so coreboot could figure out how much to copy back if it decides
to do so.

I am thinking of buying a x86 board to do coreboot development, i am
wondering which one would be a good choice with regards to YABEL and
maybe SEABIOS development? Any recommendations?

My requirements:

coreboot-v3 and preferably v2 "compatible"
PCI and PCIe slots
since Myles mentioned onboard devices with ROM in LAR that would be
very interesting too...

I am really unsure what else to look for... Flash Chip Types? Processor?

Cheers Patty

On Fri, Dec 19, 2008 at 6:05 PM, Myles Watson <mylesgw at gmail.com> wrote:
>> -----Original Message-----
>> From: Jordan Crouse [mailto:jordan at cosmicpenguin.net]
>> Sent: Friday, December 19, 2008 9:48 AM
>> To: Myles Watson
>> Cc: Pattrick Hueper; Coreboot
>> Subject: Re: [coreboot] YABEL and images in LAR files
>> Myles Watson wrote:
>> > Patty,
>> >
>> > For some devices, Coreboot has the ROM image in a section of the ROM.
>> It
>> > copies that image to memory and passes a pointer to run_bios.  Actually,
>> > right now Coreboot copies the ROMs to RAM for devices too.  YABEL works
>> when
>> > the ROM is accessible from the device (by ignoring the fact that
>> Coreboot
>> > already copied it), but not in the case that Coreboot expects it to be
>> run
>> > from RAM.  Do you have any thoughts on how to handle this case?
>> >
>> > Thanks,
>> > Myles
>> We don't _have_ to copy it to RAM, it just never occurred to us that it
>> shouldn't be.  However, if we leave it on the ROM, don't we hit the same
>> issue with the shadowed memory that we did with the shared functions a
> I think it needs to be copied to RAM.  I was just wondering who should do
> that copy.  YABEL doesn't have a way of knowing where to find the ROM for
> onboard devices that have their ROM images imbedded in a LAR file.  That
> information isn't in the ROM BAR.  That's why we pass the address to
> bios_run.  Right now YABEL just ignores that address.
> I was just trying to think of the cleanest way to handle the following
> cases:
> 1. The device is an add-in card with its own ROM.
> 2. The device is onboard and coreboot has the ROM image.
> 3. The device is an add-in card and coreboot wants to initialize it with a
> different ROM.
> I know 3 is unusual, but it might be useful sometimes.
> Thanks,
> Myles

More information about the coreboot mailing list