Blame SOURCES/0340-grub-core-loader-i386-linux.c-grub_linux_boot-Defaul.patch

f96e0b
From 4863c23cc1d36ba71606159ab282553ad662a07c Mon Sep 17 00:00:00 2001
f96e0b
From: Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
f96e0b
Date: Wed, 24 Apr 2013 14:53:00 +0200
f96e0b
Subject: [PATCH 340/482] 	* grub-core/loader/i386/linux.c
f96e0b
 (grub_linux_boot): Default to 	gfxpayload=keep if cbfb is active.
f96e0b
f96e0b
---
f96e0b
 ChangeLog                     |  5 +++++
f96e0b
 grub-core/loader/i386/linux.c | 15 ++++++++++-----
f96e0b
 2 files changed, 15 insertions(+), 5 deletions(-)
f96e0b
f96e0b
diff --git a/ChangeLog b/ChangeLog
f96e0b
index 6d9ffdc..5854326 100644
f96e0b
--- a/ChangeLog
f96e0b
+++ b/ChangeLog
f96e0b
@@ -1,5 +1,10 @@
f96e0b
 2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
f96e0b
 
f96e0b
+	* grub-core/loader/i386/linux.c (grub_linux_boot): Default to
f96e0b
+	gfxpayload=keep if cbfb is active.
f96e0b
+
f96e0b
+2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
f96e0b
+
f96e0b
 	* grub-core/disk/ata.c (grub_ata_real_open): Use grub_error properly.
f96e0b
 
f96e0b
 2013-04-24  Vladimir Serbinenko  <phcoder@gmail.com>
f96e0b
diff --git a/grub-core/loader/i386/linux.c b/grub-core/loader/i386/linux.c
f96e0b
index db81ca1..106496b 100644
f96e0b
--- a/grub-core/loader/i386/linux.c
f96e0b
+++ b/grub-core/loader/i386/linux.c
f96e0b
@@ -503,15 +503,20 @@ grub_linux_boot (void)
f96e0b
 #endif
f96e0b
       grub_free (tmp);
f96e0b
     }
f96e0b
-  else
f96e0b
-    {
f96e0b
+  else       /* We can't go back to text mode from coreboot fb.  */
f96e0b
+#ifdef GRUB_MACHINE_COREBOOT
f96e0b
+    if (grub_video_get_driver_id () == GRUB_VIDEO_DRIVER_COREBOOT)
f96e0b
+      err = GRUB_ERR_NONE;
f96e0b
+    else
f96e0b
+#endif
f96e0b
+      {
f96e0b
 #if ACCEPTS_PURE_TEXT
f96e0b
-      err = grub_video_set_mode (DEFAULT_VIDEO_MODE, 0, 0);
f96e0b
+	err = grub_video_set_mode (DEFAULT_VIDEO_MODE, 0, 0);
f96e0b
 #else
f96e0b
-      err = grub_video_set_mode (DEFAULT_VIDEO_MODE,
f96e0b
+	err = grub_video_set_mode (DEFAULT_VIDEO_MODE,
f96e0b
 				 GRUB_VIDEO_MODE_TYPE_PURE_TEXT, 0);
f96e0b
 #endif
f96e0b
-    }
f96e0b
+      }
f96e0b
 
f96e0b
   if (err)
f96e0b
     {
f96e0b
-- 
f96e0b
1.8.2.1
f96e0b