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