Am 18.08.2009 13:26, schrieb Harrison, Jon (SELEX GALILEO, UK):
I really don't have the time or inclination to get into a protracted re-structuring of the code right now, after all the effort it's taken to get to this point. I'm looking for the quick hack option that'll get me up and running again. If I knew how to locate and find the binary data in flash then I could more or less preserve my current infrastructure and worry about making it more coreboot friendly later.
Sure, working code is always better than non-working code :-) You can explicitely copy an optionrom to RAM using cbfs_load_optionrom(vendor, device, destination address); Choose some unused vid/did pair (vendor 0xffff should be a safe choice), add the files using the pci_rom statement in Config.lb, and use that function to load the images to where you want them.
If you need the ROM address of a cbfs file, cbfs_find(filename) is useful, but you'll have to skip over the file's header. Something like: cbfs_file *f = cbfs_find(filename); uchar *romaddr = (char*)f+(f->offset); should do the trick.
Hope this helps, Patrick
Hey, thanks. That's the nugget of info I needed to get going again ... I think!!
-----Original Message----- From: Patrick Georgi [mailto:patrick@georgi-clan.de] Sent: 18 August 2009 13:34 To: Harrison, Jon (SELEX GALILEO, UK) Cc: coreboot@coreboot.org Subject: Re: [coreboot] Change to use CBFS - Help needed
*** WARNING ***
This message has originated outside your organisation, either from an external partner or the Global Internet. Keep this in mind if you answer this message.
Am 18.08.2009 13:26, schrieb Harrison, Jon (SELEX GALILEO, UK):
I really don't have the time or inclination to get into a protracted re-structuring of the code right now, after all the effort
it's taken to
get to this point. I'm looking for the quick hack option
that'll get me
up and running again. If I knew how to locate and find the
binary data
in flash then I could more or less preserve my current
infrastructure
and worry about making it more coreboot friendly later.
Sure, working code is always better than non-working code :-) You can explicitely copy an optionrom to RAM using cbfs_load_optionrom(vendor, device, destination address); Choose some unused vid/did pair (vendor 0xffff should be a safe choice), add the files using the pci_rom statement in Config.lb, and use that function to load the images to where you want them.
If you need the ROM address of a cbfs file, cbfs_find(filename) is useful, but you'll have to skip over the file's header. Something like: cbfs_file *f = cbfs_find(filename); uchar *romaddr = (char*)f+(f->offset); should do the trick.
Hope this helps, Patrick
SELEX Sensors and Airborne Systems Limited Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex SS14 3EL A company registered in England & Wales. Company no. 02426132 ******************************************************************** This email and any attachments are confidential to the intended recipient and may also be privileged. If you are not the intended recipient please delete it from your system and notify the sender. You should not copy it or use it for any purpose nor disclose or distribute its contents to any other person. ********************************************************************