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