The code for setting standard VGA modes probes for the current mode,
and skips the mode setting if the mode is 3 (color text 80x25) or 7
(mono text 80x25).  Unfortunately, there are BIOSes, including the
VMware BIOS, which report the previous mode if function 0F is queried
while the screen is in a VESA mode, and of course, nothing can help a
mode poked directly into the hardware.
As such, the safe option is to set the mode anyway, and only query to
see if we should be using mode 7 rather than mode 3.  People who don't
want any mode setting at all should probably use vga=0x0f04
(VIDEO_CURRENT_MODE).  It's possible that should be the kernel
default.
Reported-by Rene Arends <R.R.Arends@hro.nl>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
LKML-Reference: <tip-*@git.kernel.org>
 {
        struct biosregs ireg, oreg;
        u16 ax;
-       u8 rows;
        u8 mode;
 
        initregs(&ireg);
 
+       /* Query current mode */
        ax = 0x0f00;
        intcall(0x10, &ireg, &oreg);
        mode = oreg.al;
 
-       set_fs(0);
-       rows = rdfs8(0x484);    /* rows minus one */
-
-       if ((oreg.ax == 0x5003 || oreg.ax == 0x5007) &&
-           (rows == 0 || rows == 24))
-               return mode;
-
        if (mode != 3 && mode != 7)
                mode = 3;