nalika / rpms / grub2

Forked from rpms/grub2 2 years ago
Clone

Blame SOURCES/0013-Disable-GRUB-video-support-for-IBM-power-machines.patch

8e15ce
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
8e15ce
From: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
8e15ce
Date: Tue, 11 Jun 2013 15:14:05 -0300
8e15ce
Subject: [PATCH] Disable GRUB video support for IBM power machines
8e15ce
8e15ce
Should fix the problem in bugzilla:
8e15ce
https://bugzilla.redhat.com/show_bug.cgi?id=973205
b35c50
b35c50
Signed-off-by: Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
b35c50
Signed-off-by: Robbie Harwood <rharwood@redhat.com>
8e15ce
---
8e15ce
 grub-core/kern/ieee1275/cmain.c  | 5 ++++-
8e15ce
 grub-core/video/ieee1275.c       | 9 ++++++---
8e15ce
 include/grub/ieee1275/ieee1275.h | 2 ++
8e15ce
 3 files changed, 12 insertions(+), 4 deletions(-)
8e15ce
8e15ce
diff --git a/grub-core/kern/ieee1275/cmain.c b/grub-core/kern/ieee1275/cmain.c
b35c50
index 20cbbd761e..04df9d2c66 100644
8e15ce
--- a/grub-core/kern/ieee1275/cmain.c
8e15ce
+++ b/grub-core/kern/ieee1275/cmain.c
8e15ce
@@ -90,7 +90,10 @@ grub_ieee1275_find_options (void)
8e15ce
   }
8e15ce
 
8e15ce
   if (rc >= 0 && grub_strncmp (tmp, "IBM", 3) == 0)
8e15ce
-    grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS);
8e15ce
+    {
8e15ce
+      grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS);
8e15ce
+      grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT);
8e15ce
+    }
8e15ce
 
8e15ce
   /* Old Macs have no key repeat, newer ones have fully working one.
8e15ce
      The ones inbetween when repeated key generates an escaoe sequence
8e15ce
diff --git a/grub-core/video/ieee1275.c b/grub-core/video/ieee1275.c
b35c50
index 17a3dbbb57..b8e4b3feb3 100644
8e15ce
--- a/grub-core/video/ieee1275.c
8e15ce
+++ b/grub-core/video/ieee1275.c
8e15ce
@@ -352,9 +352,12 @@ static struct grub_video_adapter grub_video_ieee1275_adapter =
8e15ce
 
8e15ce
 GRUB_MOD_INIT(ieee1275_fb)
8e15ce
 {
8e15ce
-  find_display ();
8e15ce
-  if (display)
8e15ce
-    grub_video_register (&grub_video_ieee1275_adapter);
8e15ce
+  if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT))
8e15ce
+    {
8e15ce
+      find_display ();
8e15ce
+      if (display)
8e15ce
+        grub_video_register (&grub_video_ieee1275_adapter);
8e15ce
+    }
8e15ce
 }
8e15ce
 
8e15ce
 GRUB_MOD_FINI(ieee1275_fb)
8e15ce
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
b35c50
index 0a599607f3..b5a1d49bbc 100644
8e15ce
--- a/include/grub/ieee1275/ieee1275.h
8e15ce
+++ b/include/grub/ieee1275/ieee1275.h
8e15ce
@@ -148,6 +148,8 @@ enum grub_ieee1275_flag
8e15ce
   GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN,
8e15ce
 
8e15ce
   GRUB_IEEE1275_FLAG_RAW_DEVNAMES,
8e15ce
+  
8e15ce
+  GRUB_IEEE1275_FLAG_DISABLE_VIDEO_SUPPORT
8e15ce
 };
8e15ce
 
8e15ce
 extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);