nalika / rpms / grub2

Forked from rpms/grub2 2 years ago
Clone

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

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