mirror of
https://github.com/genodelabs/genode.git
synced 2025-04-09 04:15:52 +00:00
vesa: explicitly request VBE 2.0 information
We also skip any non-direct-color modes now.
This commit is contained in:
parent
eaed3ba207
commit
776fdceaa5
@ -63,6 +63,10 @@ static uint16_t get_vesa_mode(mb_vbe_ctrl_t *ctrl_info, mb_vbe_mode_t *mode_info
|
||||
if (X86emu::x86emu_cmd(VBE_INFO_FUNC, 0, *MODE_PTR(off), VESA_MODE_OFFS) != VBE_SUPPORTED)
|
||||
continue;
|
||||
|
||||
enum { DIRECT_COLOR = 0x06 };
|
||||
if (mode_info->memory_model != DIRECT_COLOR)
|
||||
continue;
|
||||
|
||||
if (verbose)
|
||||
printf(" 0x%03x %ux%u@%u\n", *MODE_PTR(off), mode_info->x_resolution,
|
||||
mode_info->y_resolution,
|
||||
@ -179,6 +183,9 @@ int Framebuffer_drv::set_mode(unsigned long width, unsigned long height,
|
||||
mode_info = reinterpret_cast<mb_vbe_mode_t*>(X86emu::x86_mem.data_addr()
|
||||
+ VESA_MODE_OFFS);
|
||||
|
||||
/* request VBE 2.0 information */
|
||||
memcpy(ctrl_info->signature, "VBE2", 4);
|
||||
|
||||
/* retrieve controller information */
|
||||
if (X86emu::x86emu_cmd(VBE_CONTROL_FUNC, 0, 0, VESA_CTRL_OFFS) != VBE_SUPPORTED) {
|
||||
PWRN("VBE Bios not present");
|
||||
|
Loading…
x
Reference in New Issue
Block a user