Sorry, the problem is not resolved Eric.
I created a standalone program that works differently
in LE and BE modes.
(Please visit the site to view this file)
I modified the cache_setup.c program to change NOTHING (lines are
commented out) but to just report the existing cache-control register
contents. So it is nothing but reads and printf() statements.
The Makefile now has two targets; cache_setup.out will compile the
little-endian version of the code, BE_cache_setup.out will compile
with the --big_endian flag.
BE AWARE that both versions produce "cache_setup.out", that will not
always be the case, it is just a hack until I know what it takes to
get something working... Eventually, my plan is to make the
"doconfig.sh" script different for little-endian and big-endian, and
make it compile the appropriate cache_setup.out.
For now, just try to run these in little-endian mode and big-endian mode.
In LE, the printf() statements all work as expected.
In BE, I get no output at all.
I think that proves at least one bug in the file system, quite similar
to one I get when the correct filename appears in the host directory
but the file has zero bytes in it.