* grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set. * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware. * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
This commit is contained in:
parent
bfb320c644
commit
5560e9d6e1
4 changed files with 18 additions and 3 deletions
13
ChangeLog
13
ChangeLog
|
@ -1,9 +1,18 @@
|
||||||
2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
|
||||||
|
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
|
||||||
|
* grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
|
||||||
|
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
|
||||||
|
* include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
|
||||||
|
GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
|
||||||
|
|
||||||
|
2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
|
* grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
|
||||||
a bad FS.
|
a bad FS.
|
||||||
|
|
||||||
2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/fs/udf.c (read_string): Bail out on size=0.
|
* grub-core/fs/udf.c (read_string): Bail out on size=0.
|
||||||
(grub_udf_read_symlink): Handle read_string failure.
|
(grub_udf_read_symlink): Handle read_string failure.
|
||||||
|
|
|
@ -159,7 +159,8 @@ scan (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
grub_devalias_iterate (dev_iterate_alias);
|
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
|
static int
|
||||||
|
|
|
@ -88,6 +88,9 @@ grub_ieee1275_find_options (void)
|
||||||
if (rc >= 0 && !grub_strcmp (tmp, "Emulated PC"))
|
if (rc >= 0 && !grub_strcmp (tmp, "Emulated PC"))
|
||||||
is_qemu = 1;
|
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)
|
if (grub_strncmp (tmp, "PowerMac", sizeof ("PowerMac") - 1) == 0)
|
||||||
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS);
|
grub_ieee1275_set_flag (GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS);
|
||||||
|
|
||||||
|
|
|
@ -116,6 +116,8 @@ enum grub_ieee1275_flag
|
||||||
1 address cell is used on PowerMacs.
|
1 address cell is used on PowerMacs.
|
||||||
*/
|
*/
|
||||||
GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS,
|
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);
|
extern int EXPORT_FUNC(grub_ieee1275_test_flag) (enum grub_ieee1275_flag flag);
|
||||||
|
|
Loading…
Reference in a new issue