status of linuxppc_2_4_devel for ppc405gp

Benjamin Herrenschmidt benh at
Thu Aug 23 17:41:00 EST 2001

>I'm working on this at the moment too.  The first problem I found was
>that the ELF loader would refuse to exec() init, which turned out to
>be because bytes 16-32 (and possibly later ones too, I forget) of
>binprm->buf were junk.  The data was correct in the page cache.  I
>found this was fixed by removing the dcbz from copy_tofrom_user(),
>although I don't see why yet since the cache line size appears to be

Ok, I didn't have this one as I removed all the cache tricks from
copy_tofrom_user & copy_page in my version, at least until I get
it working.
I had copy_tofrom_user failing earlier causing ipconfig to fail,
that's why I took this drastic workaround ;)

>I'm now able to run a very simple binary as init - basically "Hello,
>world!" implemented with one write() syscall, and none of the libc
>initialisation junk present.  A one write hello world with the normal
>crt0 (statically linked) fails.

Ok. So this would mean the problem is with the libc junk ? Hrm.
I didn't trace that far yet, but I suspect the libc I've been
using (the "normal" 6xx one) lacks some cache stuffs. I'm
pretty convinced that we must inval the entire instructions cache
each time we used to do icbi's (either that or handle the cache
aliasing issues specific to the 405GP weird icache design).

I'll do more experiments later today.


** Sent via the linuxppc-embedded mail list. See

More information about the Linuxppc-embedded mailing list