* include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares

that hang if GRUB tries to setup colors.
* term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
colors for firmwares that don't support it.
* kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
Recognize Open Hack'Ware, set flags to work around its
limitations.
This commit is contained in:
proski 2008-01-24 08:21:43 +00:00
parent 605e36ed3e
commit d08bbb491e
4 changed files with 38 additions and 6 deletions

View file

@ -333,12 +333,15 @@ grub_ofconsole_init (void)
return grub_error (GRUB_ERR_UNKNOWN_DEVICE, "Cannot find stdin");
/* Initialize colors. */
for (col = 0; col < 7; col++)
grub_ieee1275_set_color (stdout_ihandle, col, colors[col].red,
colors[col].green, colors[col].blue);
if (! grub_ieee1275_test_flag (GRUB_IEEE1275_FLAG_CANNOT_SET_COLORS))
{
for (col = 0; col < 7; col++)
grub_ieee1275_set_color (stdout_ihandle, col, colors[col].red,
colors[col].green, colors[col].blue);
/* Set the right fg and bg colors. */
grub_ofconsole_setcolorstate (GRUB_TERM_COLOR_NORMAL);
/* Set the right fg and bg colors. */
grub_ofconsole_setcolorstate (GRUB_TERM_COLOR_NORMAL);
}
return 0;
}