[SeaBIOS] [PATCH 0/5] More bootsplash enhancements

Anthony Liguori anthony at codemonkey.ws
Fri Jul 30 22:19:22 CEST 2010


On 07/30/2010 02:19 PM, Kevin O'Connor wrote:
> On Fri, Jul 30, 2010 at 09:13:32PM +0200, Sebastian Herbszt wrote:
>    
>> Kevin O'Connor wrote:
>>      
>>> This series further enhances the bootsplash code.  The last patch
>>> enables it by default (for coreboot users).
>>>        
>> What about adding some wrappers to "paravirt.h" like bootsplash_file_find,
>> bootsplash_file_size and bootsplash_file_copy (along the lines of romfile_*) ?
>> This should allow qemu to use the bootsplash screen.
>>      
> The romfile_* wrappers could likely serve this purpose.  (See patch
> below.)  Of course, this needs changes to qemu, which I was going to
> look at next.
>    

Would be a really nice feature to have.

Regards,

Anthony Liguori


> -Kevin
>
>
> diff --git a/src/bootsplash.c b/src/bootsplash.c
> index 676ece3..00bb921 100644
> --- a/src/bootsplash.c
> +++ b/src/bootsplash.c
> @@ -11,6 +11,7 @@
>   #include "util.h" // dprintf
>   #include "jpeg.h" // splash
>   #include "biosvar.h" // SET_EBDA
> +#include "paravirt.h" // romfile_find
>
>
>   /****************************************************************
> @@ -148,12 +149,12 @@ void enable_vga_console(void)
>       u8 *filedata = NULL, *picture = NULL;
>
>       /* Needs coreboot support for CBFS */
> -    if (!CONFIG_BOOTSPLASH || !CONFIG_COREBOOT)
> +    if (!CONFIG_BOOTSPLASH)
>           goto gotext;
> -    struct cbfs_file *file = cbfs_finddatafile("bootsplash.jpg");
> +    u32 file = romfile_find("bootsplash.jpg");
>       if (!file)
>           goto gotext;
> -    int filesize = cbfs_datasize(file);
> +    int filesize = romfile_size(file);
>
>       filedata = malloc_tmphigh(filesize);
>       vesa_info = malloc_tmplow(sizeof(*vesa_info));
> @@ -186,7 +187,7 @@ void enable_vga_console(void)
>               vendor, product);
>
>       // Parse jpeg and get image size.
> -    cbfs_copyfile(file, filedata, filesize);
> +    romfile_copy(file, filedata, filesize);
>       int ret = jpeg_decode(jpeg, filedata);
>       if (ret) {
>           dprintf(1, "jpeg_decode failed with return code %d...\n", ret);
> @@ -248,7 +249,7 @@ gotext:
>   void
>   disable_bootsplash(void)
>   {
> -    if (!CONFIG_BOOTSPLASH  || !CONFIG_COREBOOT || !GET_EBDA(bootsplash_active))
> +    if (!CONFIG_BOOTSPLASH || !GET_EBDA(bootsplash_active))
>           return;
>       SET_EBDA(bootsplash_active, 0);
>       enable_vga_text_console();
>
>
> _______________________________________________
> SeaBIOS mailing list
> SeaBIOS at seabios.org
> http://www.seabios.org/mailman/listinfo/seabios
>    




More information about the SeaBIOS mailing list