summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/devices/oprom/x86.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/devices/oprom/x86.c b/src/devices/oprom/x86.c
index 564017d4e4..cc70d74cf5 100644
--- a/src/devices/oprom/x86.c
+++ b/src/devices/oprom/x86.c
@@ -169,7 +169,7 @@ static void setup_realmode_idt(void)
#if CONFIG_FRAMEBUFFER_SET_VESA_MODE
static u8 vbe_get_mode_info(vbe_mode_info_t * mode_info)
{
- printk(BIOS_DEBUG, "Getting information about VESA mode %04x\n",
+ printk(BIOS_DEBUG, "VBE: Getting information about VESA mode %04x\n",
mode_info->video_mode);
char *buffer = (char *)&__buffer;
u16 buffer_seg = (((unsigned long)buffer) >> 4) & 0xff00;
@@ -182,7 +182,7 @@ static u8 vbe_get_mode_info(vbe_mode_info_t * mode_info)
static u8 vbe_set_mode(vbe_mode_info_t * mode_info)
{
- printk(BIOS_DEBUG, "Setting VESA mode %04x\n", mode_info->video_mode);
+ printk(BIOS_DEBUG, "VBE: Setting VESA mode %04x\n", mode_info->video_mode);
// request linear framebuffer mode
mode_info->video_mode |= (1 << 14);
// request clearing of framebuffer
@@ -203,7 +203,17 @@ void vbe_set_graphics(void)
vbe_get_mode_info(&mode_info);
unsigned char *framebuffer =
(unsigned char *)mode_info.vesa.phys_base_ptr;
- printk(BIOS_DEBUG, "framebuffer: %p\n", framebuffer);
+ printk(BIOS_DEBUG, "VBE: resolution: %dx%d@%d\n",
+ le16_to_cpu(mode_info.vesa.x_resolution),
+ le16_to_cpu(mode_info.vesa.y_resolution),
+ mode_info.vesa.bits_per_pixel);
+ printk(BIOS_DEBUG, "VBE: framebuffer: %p\n", framebuffer);
+ if (!framebuffer) {
+ printk(BIOS_DEBUG, "VBE: Mode does not support linear "
+ "framebuffer\n");
+ return;
+ }
+
vbe_set_mode(&mode_info);
#if CONFIG_BOOTSPLASH
struct jpeg_decdata *decdata;
@@ -211,6 +221,7 @@ void vbe_set_graphics(void)
unsigned char *jpeg = cbfs_find_file("bootsplash.jpg",
CBFS_TYPE_BOOTSPLASH);
if (!jpeg) {
+ printk(BIOS_DEBUG, "VBE: No bootsplash found.\n");
return;
}
int ret = 0;