[SeaBIOS] [PATCH 1/2] vgabios: fix graphics operation with Bochs VGA in non-DISPI modes

Paolo Bonzini pbonzini at redhat.com
Fri Jan 2 09:33:11 CET 2015



On 02/01/2015 04:10, Kevin O'Connor wrote:
> On Thu, Jan 01, 2015 at 09:27:46PM +0100, Paolo Bonzini wrote:
>> For legacy VGA modes that do not set the VBE_DISPI_ENABLED bit,
>> bochsvga_get_linelength returns 0.  Thus all characters are squashed
>> into the first scanline.  Fix this by falling back to stdvga for
>> the legacy modes.
> [...]
>> +static u8
>> +bochsvga_dispi_enabled(void)
>> +{
>> +    if (!GET_GLOBAL(dispi_found))
>> +        return 0;
>> +    u16 en = dispi_read(VBE_DISPI_INDEX_ENABLE);
>> +    if (!(en & VBE_DISPI_ENABLED))
>> +        return 0;
>> +    return 1;
>> +}
> 
> Thanks.  Can the existing is_bochsvga_mode() function be used instead?

Yes, but this matches what bochsvga_save/restore_state are already doing.

Paolo




More information about the SeaBIOS mailing list