From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1JE8IF-00050P-BJ for mharc-grub-devel@gnu.org; Sun, 13 Jan 2008 14:14:51 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JE8ID-0004xi-Tw for grub-devel@gnu.org; Sun, 13 Jan 2008 14:14:49 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JE8IC-0004uF-Du for grub-devel@gnu.org; Sun, 13 Jan 2008 14:14:49 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JE8IC-0004tk-4j for grub-devel@gnu.org; Sun, 13 Jan 2008 14:14:48 -0500 Received: from aybabtu.com ([69.60.117.155]) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1JE8IC-0007Hb-1g for grub-devel@gnu.org; Sun, 13 Jan 2008 14:14:48 -0500 Received: from [192.168.10.6] (helo=thorin) by aybabtu.com with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1JE8I4-00068S-06 for grub-devel@gnu.org; Sun, 13 Jan 2008 20:14:41 +0100 Received: from rmh by thorin with local (Exim 4.63) (envelope-from ) id 1JE8GJ-0002gI-Eq for grub-devel@gnu.org; Sun, 13 Jan 2008 20:12:51 +0100 Date: Sun, 13 Jan 2008 20:12:51 +0100 From: Robert Millan To: grub-devel@gnu.org Message-ID: <20080113191251.GA9050@thorin> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="bp/iNruPH9dso1Pn" Content-Disposition: inline Organization: free as in freedom X-Message-Flag: Worried about Outlook viruses? Switch to Thunderbird! www.mozilla.com/thunderbird X-Debbugs-No-Ack: true User-Agent: Mutt/1.5.13 (2006-08-11) X-detected-kernel: by monty-python.gnu.org: Genre and OS details not recognized. Subject: help with powerpc asm (moving grub_ieee1275_entry_fn initialization to crt0.S) X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GRUB 2 List-Id: The development of GRUB 2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Jan 2008 19:14:50 -0000 --bp/iNruPH9dso1Pn Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, For the i386-ieee1275 port, I'd need to move grub_ieee1275_entry_fn initialization in powerpc from cmain.c to crt0.S, so that code in cmain.c can be shared with i386. The problem is I have no clue about powerpc assembler. On i386, this is just done with a "movl %eax, EXT_C(grub_ieee1275_entry_fn)" but I don't know the equivalent. Furthermore, the code in crt0.S seems to be pushing arguments (up to 3 according to cmain.c) in a loop, which got me really confused. Anyone who is familiar with powerpc assembler could have a look? See attached patch. -- Robert Millan I know my rights; I want my phone call! What use is a phone call, if you are unable to speak? (as seen on /.) --bp/iNruPH9dso1Pn Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="grub_ieee1275_entry_fn.diff" 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 --bp/iNruPH9dso1Pn--