Date: Sat, 27 Sep 2008 14:05:12 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Marco Trillo <marcotrillo@gmail.com> Cc: grehan@freebsd.org, freebsd-ppc@freebsd.org Subject: Re: 8.0-current 200809 snapshot CD boot problem Message-ID: <11FEA924-DB76-46E1-BF79-A26206F796C0@mac.com> In-Reply-To: <b9c23c9f0809271354j500d58f2o7c2a039a42d4caa5@mail.gmail.com> References: <b9c23c9f0809230355y26d463c4s5a60a22293daa05d@mail.gmail.com> <b9c23c9f0809230952n159c3179t90b6a542eaf94a4f@mail.gmail.com> <b9c23c9f0809231028j3d20b1bcgc8f4aaec15fe23d2@mail.gmail.com> <48DD91A4.2060306@freebsd.org> <b9c23c9f0809270348t7c4f1976y3134d2d5aa2ee15@mail.gmail.com> <263AF44F-FC15-4700-B93B-B0DE07A17B40@mac.com> <b9c23c9f0809271354j500d58f2o7c2a039a42d4caa5@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sep 27, 2008, at 1:54 PM, Marco Trillo wrote: > On Sat, Sep 27, 2008 at 10:23 PM, Marcel Moolenaar <xcllnt@mac.com> > wrote: >> Let me get it straight... >> >> In the first case (booting from hd:58), does the boot >> fail for start address 0x100100 but not for start >> address 0x13d3c0? >> >> In the second case (booting from CD), does it work in >> both cases? >> >> Or is the second case the same as the first case and >> it is failing for 0x100100 and working for 0x13d3c0? > > Booting from CD fails for 0x100100 kernels, such as the 8.0-current > snapshot, and works for 0x13d3c0 kernels like the 7.1_BETA snapshot. > > Booting kernels from hard disk (both with a loader in an HFS partition > in hard disk or with the loader from the CD) also fails for > 8.0-current kernels with the 0x1001000 address and works for kernels > with a 0x13d3c0 address, either 7.1 or 8.0-current compiled with > revision 1.7 of the "ldscript.powerpc" file . > > Oddly enough, I tried booting the same 8.0-current snapshot CD on a > PowerMac G4 "Sawtooth" (PowerMac3,1) and it boots fine there -- no > errors, as does the 7.1-beta CD... Ok. So while the memmap output differs, the failure mode is the same. Hmmm. The only things I can think of is: o I-cache coherency o Uninitialized memory Typically when we load an ELF image, we read the first page, parse the headers and then read the rest. In this case the failing address (0x100100) is in the first page, whereas the working address (0x13d3c0) isn't. I wonder if we "load" the first page indirectly... Quick question: On ARM and ia64 you need to sync the D-cache before you can make the I-cache coherent. That's because the I-cache is made coherent with memory and not with the D-cache. How's that on PowerPC? -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?11FEA924-DB76-46E1-BF79-A26206F796C0>