aboutsummaryrefslogtreecommitdiffstats
path: root/src/bootsplash.c
Commit message (Collapse)AuthorAgeFilesLines
* bootsplash: Added support for 16/24/32bpp in one functionJoseph Pacheco-Corwin2019-02-041-3/+3
| | | | | | | | | | | | | | | | | | | Specifically added support for 16 and 32bpp files, in addition to 24bpp. The function bmp_show() in bmp.c has had the hardcoded check for 24bpp replaced with a general bpp check that uses a % to check for remainder, and returns 1 if the remainder is >0. The previous method for adjusting the BMP data (raw_data_format_adjust_24bpp) relied on a preset 3*bytes_per_line_src, this has been changed and the multiplication is now performed in the function's arguments. This change still allows someone else to reuse the same function for 1/2/4bpp support if necessary. The file util.h has been modified to reflect this decision. The changes to raw_data_format_adjust() is based on an abandoned patch by Gert Menke (submitted March 14, 2017), credit to them for that change and the addition of *bpp to bmp_get_info(). Signed-off-by: Joseph S. Pacheco-Corwin <hammersamatom@gmail.com>
* splash: Skip the RGB555 modeZheng Bao2016-06-021-1/+2
| | | | | | | | Current JPEG decoding uses the RGB888 or RGB565. So we need to skip RGB555 mode. Signed-off-by: Zheng Bao <fishbaozi@gmail.com> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Minor - update file comment on bootsplash.c.Kevin O'Connor2013-12-041-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Merge bmp.h, boot.h, jpeg.h, and post.h into util.h.Kevin O'Connor2013-09-181-2/+0
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move fw/smbios.h to std/smbios.h.Kevin O'Connor2013-09-181-1/+0
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move vbe.h to std/vbe.h.Kevin O'Connor2013-09-181-1/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move function definitions for output.c from util.h to new file output.h.Kevin O'Connor2013-09-181-5/+6
| | | | | | Also, sort the order of include files in the c files. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move malloc code from pmm.c to new files malloc.c and malloc.h.Kevin O'Connor2013-09-181-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move romfile definitions from util.h to new file romfile.h.Kevin O'Connor2013-09-181-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move stacks.c definitions from util.h to new file stacks.h.Kevin O'Connor2013-09-181-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Rename util.c to string.c and introduce string.h.Kevin O'Connor2013-09-181-0/+1
| | | | Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Move code cenetered around firmware initialization to src/fw/Kevin O'Connor2013-09-021-1/+1
| | | | | | Move many C files from the src/ directory to the new src/fw/ directory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* POST: Reorganize post init functions for better grouping and reusability.Kevin O'Connor2013-02-051-0/+2
| | | | | | | | | | | | Place the "interface initialization" functions together, "platform hardware initialization" functions together, and "prepare to boot" functions together. This may also be useful for using SeaBIOS as a CSM. This slightly changes the order of some function invocations, but should otherwise not change code behavior at all. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Minor: Separate UUID display from F12 boot prompt.Kevin O'Connor2012-12-211-1/+1
| | | | | | | | Place the extra newline as part of the F12 prompt instead of the SeaBIOS version banner so that a UUID report (when present) is still visually separated from the boot menu prompt. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* bootsplash: Don't pass mode flags to VBE get_mode_info call.Kevin O'Connor2012-09-031-3/+4
| | | | | | | | | The spec doesn't specify one can pass flags into the get_mode_info call, so don't do that. Also, use the VBE_MODE_LINEAR_FRAME_BUFFER name where appropriate. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Cache romfile entries.Kevin O'Connor2012-06-021-1/+0
| | | | | | | | | | | Create a 'struct romfile_s' and populate a list of all romfiles at start of init. Caching the romfiles both simplifies the code and makes it more efficient. Also, convert the ramdisk code to use romfile helpers instead of directly accessing cbfs. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* EBDA cleanups.Kevin O'Connor2012-05-201-1/+0
| | | | | | | | | Clean up includes of biosvar.h. Rename GET/SET_EBDA2 to GET/SET_EBDA - nearly all users use the extended form now anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
* Merge bootsplash and VGA ROM vbe structure definitionsJulian Pidancet2011-12-201-72/+14
| | | | Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
* Fix jpeg decoder problem when it is used in 24 BPP mode.Wayne Xia2011-07-091-1/+2
| | | | Signed-off-by: Wayne Xia <xiawenc@linux.vnet.ibm.com>
* Add an option to let seabios show BMP file as a logo.Wayne Xia2011-07-091-26/+79
| | | | Signed-off-by: Wayne Xia <xiawenc@linux.vnet.ibm.com>
* Add romfile_loadfile() helper function.Kevin O'Connor2010-12-241-7/+4
| | | | | Add function to find, malloc, and copy a romfile. Use it in the bootsplash and bootorder code.
* Only show bootsplash during boot menu.Kevin O'Connor2010-08-251-29/+24
| | | | | | When the bootsplash picture is shown, it's not possible to see text. So, only display the picture while prompting the user for the boot menu.
* Add additional debug status messages to bootsplash code.Kevin O'Connor2010-08-031-0/+7
|
* Allow qemu to use bootsplash code via fwcfg interface.Kevin O'Connor2010-07-301-12/+13
| | | | | All the bootsplash code to pull the jpeg file from either cbfs (on coreboot) or fwcfg (on qemu).
* Default bootsplash on (for coreboot users).Kevin O'Connor2010-07-301-1/+1
|
* Autodetect video mode based on bootsplash jpeg dimensions.Kevin O'Connor2010-07-301-39/+69
| | | | | Replace video mode settings in config.h with a system to auto-detect a video mode for the given bootsplash.jpg file.
* Rename "decdata" to "jpeg" in bootsplash - to be consistent with jpeg.c.Kevin O'Connor2010-07-301-10/+10
| | | | Also rename "jpeg" to "filedata" to avoid a conflict.
* Breakup jpeg_decode into parsing and displaying phases.Kevin O'Connor2010-07-301-2/+7
| | | | | | Split the screen display code out of the jpeg parsing code. Allow ability for caller to obtain jpeg dimensions.
* Avoid using BSS variables in jpeg.c.Kevin O'Connor2010-07-301-1/+1
| | | | | | | Using BSS increases the rom size (and reduce space for option roms). So, move BSS variables in the jpeg.c code to malloc'd memory. Also, move struct and error declarations from jpeg.h to jpeg.c.
* Cleanup bootsplash vesa signature detection.Kevin O'Connor2010-07-271-5/+6
|
* Be sure to disable bootsplash on all BIOS boot cases.Kevin O'Connor2010-07-261-3/+6
| | | | | | | | Disable the bootsplash on cbfs payload exec, and if something hooks int19. Also, be sure to only disable the bootsplash (revert to text mode) once.
* Add call16_int10 helper to bootsplash.c.Kevin O'Connor2010-07-261-16/+16
|
* Don't do "double buffering" in bootsplash code.Kevin O'Connor2010-07-261-40/+9
| | | | | | Not all vgabios support off screen framebuffers. Instead, decompress the picture into ram, and then copy it into the framebuffer. This ensures a fast display time without requiring any special vga support.
* Check that malloc succeeds in bootsplash code.Kevin O'Connor2010-07-261-45/+36
| | | | | Perform all the memory allocations up front and verify that all of them succeed.
* Bootsplash fixes and cleanups.Kevin O'Connor2010-07-261-25/+19
| | | | | | | | | | | VESA structs must be in first 1Meg - so use malloc_tmplow(). Use 'struct segoff_s' for segment/offset pairs in vesa structs. Don't call start/finish_preempt() around jpeg_decode() - the preempt only works when calling functions in 16bit mode. Some indentation and debug output enhancements.
* Initial bootsplash support.Kevin O'Connor2010-06-281-0/+262
Support displaying a jpeg file (stored in cbfs) during bootup. Signed-off-by: Stefan Reinauer <stepan@coresystems.de>