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