[SeaBIOS] What do I pass to cbfs_run_payload() after finding the payload with romfile_find() ?

Dave Frodin dave.frodin at se-eng.com
Wed Aug 29 21:06:03 CEST 2012


I'm having a problem finding/loading/executing a payload from seabios which is now using the romfile 
functions for cbfs (commit 59d6ca52a7eba5). 
I do have the cpu_to_be32() patch to get the correct payload destination address. 

Here's what I had previously that worked before the change... 

// Output the LCD splash image to the Explorer board 
struct cbfs_file *file; 
dprintf(1,"Looking for Explorer LCD splash payload ... "); 
file = cbfs_finddatafile("img/explorer-splash"); 
if(file) 
{ 
dprintf(1," found file [%s]. Loading it...\n ",file->filename); 
cbfs_run_payload(file); 
} 
else dprintf(1,"could NOT find it!\n"); 

This is where I'm at after the change ... 

// Output the LCD splash image to the Explorer board 
struct romfile_s *file; 
dprintf(1,"Looking for Explorer LCD splash payload ... "); 
file = romfile_find("img/explorer-splash"); 
if(file) 
{ 
dprintf(1," found file [%s]. Loading it...\n ",file->name); <=== everything works up to here 
// cbfs_run_payload(); 
} 
else dprintf(1,"could NOT find it!\n"); 

The cbfs_run_payload is expecting (cbfs_file *). How do I extract what cbfs_run_payload() wants from what 
I got back from romfile_find() ? 

Thanks in advance, 
Dave 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.seabios.org/pipermail/seabios/attachments/20120829/ed158461/attachment.html>


More information about the SeaBIOS mailing list