From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1LvdYZ-0007EG-A6 for qemu-devel@nongnu.org; Sun, 19 Apr 2009 16:24:03 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1LvdYU-0007D8-Nb for qemu-devel@nongnu.org; Sun, 19 Apr 2009 16:24:02 -0400 Received: from [199.232.76.173] (port=55936 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1LvdYU-0007D5-H4 for qemu-devel@nongnu.org; Sun, 19 Apr 2009 16:23:58 -0400 Received: from mail-gx0-f176.google.com ([209.85.217.176]:47037) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1LvdYU-0007sZ-6g for qemu-devel@nongnu.org; Sun, 19 Apr 2009 16:23:58 -0400 Received: by gxk24 with SMTP id 24so3485679gxk.10 for ; Sun, 19 Apr 2009 13:23:57 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1240172464.5659.22.camel@Quad> References: <1239525550.5516.3.camel@Quad> <1240129450.5671.7.camel@Quad> <1240170424.5659.7.camel@Quad> <1240172464.5659.22.camel@Quad> Date: Sun, 19 Apr 2009 13:23:57 -0700 Message-ID: From: Steven Noonan Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] Re: [OpenBIOS] QEMU OpenBIOS booting? Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: The OpenBIOS Mailinglist Cc: Alexander Graf , qemu-devel@nongnu.org On Sun, Apr 19, 2009 at 1:21 PM, Laurent Vivier wrote: > Le dimanche 19 avril 2009 =E0 13:01 -0700, Steven Noonan a =E9crit : >> On Sun, Apr 19, 2009 at 12:47 PM, Laurent Vivier = wrote: >> > Le dimanche 19 avril 2009 =E0 11:59 -0700, Steven Noonan a =E9crit : >> >> On Sun, Apr 19, 2009 at 1:24 AM, Laurent Vivier wrote: >> >> > Le dimanche 19 avril 2009 =E0 00:50 -0700, Steven Noonan a =E9crit = : >> >> >> On Tue, Apr 14, 2009 at 10:46 PM, Steven Noonan wrote: >> >> >> > On Sun, Apr 12, 2009 at 1:39 AM, Laurent Vivier wrote: >> >> >> >> OpenBIOS is not able to boot MacOS X. >> >> >> > >> >> >> > Well, that's a silly limitation. Is there a reason this isn't >> >> >> > implemented? I see that the Mac-on-Linux OpenBIOS version has su= ch >> >> >> > support, so it seems strange that the QEMU version does not. >> >> >> >> >> >> I don't know if anyone here is actually interested (this list seem= s >> >> >> -very- quiet), but... >> >> > >> >> > Hi, >> >> > >> >> >> I've been hacking at OpenBIOS for a bit, and I got it to properly = read >> >> >> Mac OS X discs (it kept failing because it would hit an Apple >> >> >> Partition Map header instead of an HFS+ filesystem header). I'm >> >> >> working on adding an XCOFF loader, too, so it should be able to bo= ot >> >> >> Mac OS X soon. >> >> > >> >> > You can copy it from OpenHackWare. >> >> > I made some tests and it seems to have some memory conflicts betwee= n >> >> > MacOS kernel and OpenBIOS. >> > >> > In fact what I have is a Mach-O loader which load mach_kernel from "/"= . >> > >> >> > Good Luck. >> >> > >> >> >> >> Two more pre-XCOFF loader commits up: >> >> http://github.com/tycho/openbios/commit/e43daa3447b5ce4a2b05b2f32882e= 49891156200 >> >> http://github.com/tycho/openbios/commit/7023b78a10f5632fd08d4749615ef= d3e73ab1036 >> > >> > Seems good but do you really need to check for embedded XCOFF in this >> > patch and are you really able to execute the boot-script ? >> >> Oh, I should say that it does _execute_ the boot-script, but I don't >> know if it's properly handled by the Forth interpreter. Any idea what >> the boot-script you cite is supposed to actually _do_ (I gave up >> trying to read Forth at around 3 AM last night)? > > I think the script seeks in itself the address of the embedded XCOFF > (after "-BOOT"), computes it size, copies it to load-base, initializes > it ("init-program") and executes it ("go"). Ah, duh, that should've been obvious to me. I'm a Forth flunkie, so if someone could implement these: ( xcoff-base ) load-size over load-base - - ( xcoff-base xcoff-size ) load-base swap move init-program go Then we'd be doing what we -really- should be doing instead of my hackish "oh, there's an XCOFF here! let's load it." > >> > >> > In Panther Install CD, BootX is: >> > >> > >> > >> > MacRISC MacRISC3 MacRISC4 >> > >> > >> > Boot Loader for Mac OS X. >> > >> > >> > >> > >> > ... >> > >> > load-base >> > begin >> > =A0dup 6 " </CHRP" $=3D if >> > =A06 + dup 6 " -BOOT>" $=3D if >> > =A0 8 + true >> > =A0else >> > =A0 false >> > =A0then >> > =A0else >> > =A01+ false >> > =A0then >> > until >> > ( xcoff-base ) >> > load-size over load-base - - >> > ( xcoff-base xcoff-size ) >> > load-base swap move >> > init-program go >> > >> > >> > [...XCOFF HERE] >> > >> >