[SeaBIOS] [PATCH 08/15] Fix finding VESA mode

Christian Gmeiner christian.gmeiner at gmail.com
Mon Sep 3 18:12:34 CEST 2012


2012/9/3 Kevin O'Connor <kevin at koconnor.net>:
> On Sat, Sep 01, 2012 at 05:12:59PM +0200, Christian Gmeiner wrote:
>> With the current code the following happens:
>>
>> VBE mode info request: 4101
>> VBE mode 4101 not found
>> get_mode failed.
>>
>> Looking at the provided mode (cx register) only bits 8-0
>> define the video mode number. I am not sure if the current
>> code ever worked.
>>
>> Signed-off-by: Christian Gmeiner <christian.gmeiner at gmail.com>
>> ---
>>  vgasrc/vbe.c | 17 ++++++++++++++++-
>>  1 file changed, 16 insertions(+), 1 deletion(-)
>>
>> diff --git a/vgasrc/vbe.c b/vgasrc/vbe.c
>> index 227a244..af72324 100644
>> --- a/vgasrc/vbe.c
>> +++ b/vgasrc/vbe.c
>> @@ -72,9 +72,24 @@ vbe_104f01(struct bregs *regs)
>>      struct vbe_mode_info *info = (void*)(regs->di+0);
>>      u16 mode = regs->cx;
>>
>> +    /*
>> +     * Bitfields for VESA/VBE video mode number:
>> +     *
>> +     * Bit(s)  Description     (Table 04082)
>> +     * 15     preserve display memory on mode change
>> +     * 14     (VBE v2.0+) use linear (flat) frame buffer
>> +     * 13     (VBE/AF 1.0P) VBE/AF initializes accelerator hardware
>> +     * 12     reserved for VBE/AF
>> +     * 11     (VBE v3.0) user user-specified CRTC refresh rate values
>> +     * 10-9   reserved for future expansion
>> +     * 8-0    video mode number (0xxh are non-VESA modes, 1xxh are VESA-defined)
>> +     *
>> +     * see http://www.ctyme.com/intr/rb-0274.htm
>> +     */
>
> This is true for the call to set mode (vbe_104f02), but the spec does
> not say this for the get mode info call (104f01).  It would be odd to
> pass in these additional bits when the caller just wants to get info
> on the given mode.

But if I want more information's about mode 0x101 with linear
framebuffer support - thats
the only way to get it. Also this is triggered by src/bootsplash.c so
it seems to be a valid
use-case.

Does this mean you will not merge it?

---
Christian Gmeiner, MSc



More information about the SeaBIOS mailing list