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