Date: Sun, 28 Sep 2008 11:06:11 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: grehan@freebsd.org Cc: freebsd-ppc@freebsd.org Subject: Re: 8.0-current 200809 snapshot CD boot problem Message-ID: <B085B9E6-4478-490F-997E-41DF483BAF49@mac.com> In-Reply-To: <48DF26F2.1000209@freebsd.org> 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> <11FEA924-DB76-46E1-BF79-A26206F796C0@mac.com> <48DF26F2.1000209@freebsd.org>
index | next in thread | previous in thread | raw e-mail
On Sep 27, 2008, at 11:40 PM, Peter Grehan wrote:
> Hi Marcel,
>
>> o I-cache coherency
>
> The culprit could be the code fragment in sys/boot/ofw/libofw/
> elf_freebsd.c:__elfN(ofw_loadfile),
>
> if (!strcmp((*result)->f_type, "elf kernel"))
> __syncicache((void *) (*result)->f_addr, (*result)-
> >f_size);
>
> If f_addr isn't the start of the text segment i.e. if the initial
> page wasn't included, then that is what is blowing up.
It looks like f_addr is the correct (virtual) load
address. I think the problem relates to whether the
starting address falls withing the first page, given
that:
o We bcopy the first page to avoid reading twice,
o We need to flush the D-cache before we can sync
the I-cache.
We do dcbst before we icbi, but I'm wondering if
there isn't a bug there. What if we need to sync
after every dcbst?
--
Marcel Moolenaar
xcllnt@mac.com
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B085B9E6-4478-490F-997E-41DF483BAF49>
