Oliver Ford pisze:
Kevin O'Connor wrote:
On Sun, Mar 16, 2008 at 11:33:20AM +0000, Oliver Ford wrote:
Kevin O'Connor wrote:
Also, using the right cache flushing functions is crucial to working
with "wirq". Is your haret detecting the machine as a pxa (and thus
using the xscale cache flushes)?
Ah yes, that might be it. It is detecting it as a PXA but haret only
has support for the pxa2xx (xscale). I'm not sure how different the
caching in the pxa3xx, which I think is xscale3, is. For one, the
xscale3 docs say it has an L2 cache, although Eric Miao (on the
kernel list) says the pxa310 doesn't, which seems to be correct from
poking with the code. This leaves me a little confused as to what is
what.
It looks like there is a different cache flush for xscale3. See
arch/arm/mm/proc-xsc3.S.
I can bring over the cache function, but I need a reliable way to
detect the processor. Do you know of a mechanism?
If you have patches for haret, I'd like to see them. Ultimately, we
should have one version of haret for all machines.
-Kevin
My changes to haret are all over the place, and most of them are
temporary or just dumping lots of debugging info while I learnt about
how it all worked and what was going on. A lot of it was changes we
made to turn off more stuff in the hardware shut-down procedures and
extra cache clearing I tried adding to the assembly to stop the random
memory problems, but that just turned out to be the mapping and so
isn't necessary at all. Very little is actually needed to make the
thing work. When I've got somewhere with it all I'll put together a
summary of what's actually required, as well as a breakdown of the
GPIOs for the machine, the MFP configuration registers and how that
all works.
I seem to remember one of the coprocessor registers has the cpu id in
it and that might include the xScale3 ident, I'll look in the docs for
you at some point in the next few days, unless Vega has time to find it?
Meanwhile, I've got the bluetooth mostly working. I spent a lot of
time trying to reproduce the firmware upgrade that windows does. I can
do this but it doesn't quite behave the same so I've hit a bit of a
dead end with that. It turns out though, that the chip works without
the upgrade, and I can see it from my laptop. It won't respond to
anything until I get hcid of bluz-utils working, which in turn won't
work without dbus. D-Bus, which I'm quickly growing to hate, just
seg-faults immediately. I know very little about debugging linux
seg-faults so this may take me a little while.
Thanks all
Oliver
Is it what you were thinking about?
page 85 of 3rd Generation Intel XScale® Microarchitecture Developer’s Manual
7.2.1 Register 0: ID & Cache Type Registers
Table 28. Main ID Register
bits 15:13
Microarchitecture Generation
0b011 = 3rd generation microarchitecture
This field reflects a specific set of architecture features
supported by the microarchitecture. When new features
are added/deleted/modified this field changes. This
allows software that is not dependent on ASSP features
to target code at a specific microarchitecture generation.
12:10
Microarchitecture Revision:
This field reflects revisions of microarchitecture
generations. Differences include errata that dictate
different operating conditions, software work-around, etc.
Vega
_______________________________________________
Haret mailing list
[email protected]
https://handhelds.org/mailman/listinfo/haret