diff -ur grub2/kern/powerpc/ieee1275/cmain.c grub2.powerpc/kern/powerpc/ieee1275/cmain.c --- grub2/kern/powerpc/ieee1275/cmain.c 2007-12-30 09:52:05.000000000 +0100 +++ grub2.powerpc/kern/powerpc/ieee1275/cmain.c 2008-01-13 20:01:48.000000000 +0100 @@ -102,12 +102,9 @@ } } -void cmain (uint32_t r3, uint32_t r4, uint32_t r5); void -cmain (UNUSED uint32_t r3, UNUSED uint32_t r4, uint32_t r5) +cmain (void) { - grub_ieee1275_entry_fn = (int (*)(void *)) r5; - grub_ieee1275_finddevice ("/chosen", &grub_ieee1275_chosen); grub_ieee1275_find_options (); diff -ur grub2/kern/powerpc/ieee1275/crt0.S grub2.powerpc/kern/powerpc/ieee1275/crt0.S --- grub2/kern/powerpc/ieee1275/crt0.S 2007-07-22 01:32:27.000000000 +0200 +++ grub2.powerpc/kern/powerpc/ieee1275/crt0.S 2008-01-13 20:01:34.000000000 +0100 @@ -38,5 +38,7 @@ 2: stwu 2, 4(6) /* We know r2 is already 0 from above. */ bdnz 2b + /* initialize EXT_C(grub_ieee1275_entry_fn) */ + bl cmain 1: b 1b