From cc6d3df39e59bab9e740b07f595d941fecea8285 Mon Sep 17 00:00:00 2001
From: hollisb <hollisb@localhost>
Date: Sun, 1 Oct 2006 06:45:53 +0000
Subject: [PATCH] 2005-10-01  Hollis Blanchard  <hollis@penguinppc.org>

	* kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
	`instance_to_package_args' to `instance_to_path_args'.

	* kern/powerpc/ieee1275/init.c (grub_machine_init): Use
	`grub_ieee1275_chosen'.

	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
	`grub_ieee1275_interpret'.
---
 ChangeLog                    | 11 +++++++++++
 kern/ieee1275/ieee1275.c     |  2 +-
 kern/powerpc/ieee1275/init.c |  4 +---
 term/ieee1275/ofconsole.c    |  4 ++++
 4 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c520384cd..f50acb263 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-10-01  Hollis Blanchard  <hollis@penguinppc.org>
+
+	* kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
+	`instance_to_package_args' to `instance_to_path_args'.
+
+	* kern/powerpc/ieee1275/init.c (grub_machine_init): Use
+	`grub_ieee1275_chosen'.
+
+	* term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
+	`grub_ieee1275_interpret'.
+
 2005-09-25  Hollis Blanchard  <hollis@penguinppc.org>
 
 	* util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
diff --git a/kern/ieee1275/ieee1275.c b/kern/ieee1275/ieee1275.c
index 220c2d9af..29329b007 100644
--- a/kern/ieee1275/ieee1275.c
+++ b/kern/ieee1275/ieee1275.c
@@ -190,7 +190,7 @@ grub_ieee1275_instance_to_path (grub_ieee1275_ihandle_t ihandle,
 				char *path, grub_size_t len,
 				grub_ssize_t *actual)
 {
-  struct instance_to_package_args
+  struct instance_to_path_args
   {
     struct grub_ieee1275_common_hdr common;
     grub_ieee1275_ihandle_t ihandle;
diff --git a/kern/powerpc/ieee1275/init.c b/kern/powerpc/ieee1275/init.c
index d2913f6be..0c9766e0c 100644
--- a/kern/powerpc/ieee1275/init.c
+++ b/kern/powerpc/ieee1275/init.c
@@ -116,7 +116,6 @@ void
 grub_machine_init (void)
 {
   char args[256];
-  grub_ieee1275_phandle_t chosen;
   int actual;
   extern char _start;
 
@@ -137,8 +136,7 @@ grub_machine_init (void)
   grub_ofdisk_init ();
 
   /* Process commandline.  */
-  grub_ieee1275_finddevice ("/chosen", &chosen);
-  if (grub_ieee1275_get_property (chosen, "bootargs", &args,
+  if (grub_ieee1275_get_property (grub_ieee1275_chosen, "bootargs", &args,
 				  sizeof args, &actual) == 0
       && actual > 1)
     {
diff --git a/term/ieee1275/ofconsole.c b/term/ieee1275/ofconsole.c
index ec4840678..442ed1588 100644
--- a/term/ieee1275/ofconsole.c
+++ b/term/ieee1275/ofconsole.c
@@ -311,6 +311,10 @@ grub_ofconsole_init (void)
   grub_ssize_t actual;
   int col;
 
+  /* The latest PowerMacs don't actually initialize the screen for us, so we
+   * use this trick to re-open the output device.  */
+  grub_ieee1275_interpret ("output-device output", 0);
+
   if (grub_ieee1275_get_property (grub_ieee1275_chosen, "stdout", data,
 				  sizeof data, &actual)
       || actual != sizeof data)