60 lines
2.0 KiB
Diff
60 lines
2.0 KiB
Diff
|
From 03f6e77635f4f311a2c7bdd581f6202fa52feef7 Mon Sep 17 00:00:00 2001
|
||
|
From: Valdimir Serbinenko <phcoder@gmail.com>
|
||
|
Date: Sun, 13 May 2012 18:23:02 +0000
|
||
|
Subject: [PATCH] Don't scan device tree if flag is set.
|
||
|
|
||
|
Don't scan device tree if GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is
|
||
|
set.
|
||
|
|
||
|
=== modified file 'grub-core/disk/ieee1275/ofdisk.c'
|
||
|
---
|
||
|
grub-core/disk/ieee1275/ofdisk.c | 3 ++-
|
||
|
grub-core/kern/ieee1275/cmain.c | 3 +++
|
||
|
include/grub/ieee1275/ieee1275.h | 2 ++
|
||
|
3 files changed, 7 insertions(+), 1 deletion(-)
|
||
|
|
||
|
diff --git a/grub-core/disk/ieee1275/ofdisk.c b/grub-core/disk/ieee1275/ofdisk.c
|
||
|
index 56fed0a..6b734f7 100644
|
||
|
--- a/grub-core/disk/ieee1275/ofdisk.c
|
||
|
+++ b/grub-core/disk/ieee1275/ofdisk.c
|
||
|
@@ -159,7 +159,8 @@ scan (void)
|
||
|
}
|
||
|
|
||
|
grub_devalias_iterate (dev_iterate_alias);
|
||
|
- grub_ieee1275_devices_iterate (dev_iterate);
|
||
|
+ if (!grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS))
|
||
|
+ grub_ieee1275_devices_iterate (dev_iterate);
|
||
|
}
|
||
|
|
||
|
static int
|
||
|
diff --git a/grub-core/kern/ieee1275/cmain.c b/grub-core/kern/ieee1275/cmain.c
|
||
|
index 9e80757..e04ce5b 100644
|
||
|
--- a/grub-core/kern/ieee1275/cmain.c
|
||
|
+++ b/grub-core/kern/ieee1275/cmain.c
|
||
|
@@ -88,6 +88,9 @@ grub_ieee1275_find_options (void)
|
||
|
if (rc >= 0 && !grub_strcmp (tmp, "Emulated PC"))
|
||
|
is_qemu = 1;
|
||
|
|
||
|
+ if (rc >= 0 && grub_strncmp (tmp, "IBM", 3) == 0)
|
||
|
+ grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS);
|
||
|
+
|
||
|
if (grub_strncmp (tmp, "PowerMac", sizeof ("PowerMac") - 1) == 0)
|
||
|
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS);
|
||
|
|
||
|
diff --git a/include/grub/ieee1275/ieee1275.h b/include/grub/ieee1275/ieee1275.h
|
||
|
index fb85db9..99a4bc1 100644
|
||
|
--- a/include/grub/ieee1275/ieee1275.h
|
||
|
+++ b/include/grub/ieee1275/ieee1275.h
|
||
|
@@ -116,6 +116,8 @@ enum grub_ieee1275_flag
|
||
|
1 address cell is used on PowerMacs.
|
||
|
*/
|
||
|
GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS,
|
||
|
+
|
||
|
+ GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS
|
||
|
};
|
||
|
|
||
|
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
|
||
|
--
|
||
|
1.7.10.1
|
||
|
|