vgabios: Make Windows 8 support greater resolutions
authorFrediano Ziglio <frediano.ziglio@citrix.com>
Mon, 7 May 2012 12:39:27 +0000 (13:39 +0100)
committerFrediano Ziglio <frediano.ziglio@citrix.com>
Mon, 7 May 2012 12:39:27 +0000 (13:39 +0100)
Apparently Windows 8 refuse to use any mode if has more than one page.

Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Committed-by: Keir Fraser <keir@xen.org>
tools/firmware/vgabios/vbe.c

index 96251125733706ab91431a4153b04344c09b3d77..a13e22348728a66e47a66f089af8baeed3fdf56c 100644 (file)
@@ -944,9 +944,9 @@ Bit16u *AX;Bit16u CX; Bit16u ES;Bit16u DI;
                     (size_64k > totalMemory))
                   info.ModeAttributes &= ~VBE_MODE_ATTRIBUTE_SUPPORTED;
 
-                if (using_lfb) {
-                  info.NumberOfBanks = 1;
-                }
+                /* Windows 8 require this to be 1! */
+                info.NumberOfBanks = 1;
+
                 if (info.WinAAttributes & VBE_WINDOW_ATTRIBUTE_RELOCATABLE) {
                   info.WinFuncPtr = 0xC0000000UL;
                   *(Bit16u *)&(info.WinFuncPtr) = (Bit16u)(dispi_set_bank_farcall);