Hi,
With the acer s200 we now have a second WinCE based device supported
by our kernel for htc leo at
git://git.linuxtogo.org/home/groups/mobile-linux/kernel.git
htc-msm-2.6.32 . S200 has 256MB ram rather than 512 in leo. Only a
small patch to rearrange memory mapping was needed.
The same cpu crashes as on leo were observed when booting an
openembedded initrd on s200. So I think we can conclude that the
illegal instruction problem is not specific to the very leo hardware.
Please look at the following prints on snapdragon SoC:
acer s200:
QUALCOMM(R)
QSD8250
BK153.R1
H192600C
AAB
htc leo:
QUALCOMM(R)
QSD8250
B0US19.0
H192500C
AAB
passion aka nexus one:
QUALCOMM(R)
QSD8250
B1F777.0
H194400C
This is taken from FCC testing photographs. More at
http://htc-linux.org/wiki/index.php?title=Qsd8250 Not the acer s100
(also wince device) with AAA suffix.
I think it is striking that the nexus one which comes with linux
installed lacks the three letter suffix.
S200 and leo come with WinCE so it's obvious both have WinCE AMSS
version. Both have the AAB appended on the SoC print. Both devices
show the cpu crash (as indicated earlier the kernel used on both
devices is almost same. so it's up to you how valid this is)
Nexus one aka passion comes with linux and has a linux specific AMSS
version. All kinds of binaries with instruction sets spoken by
cortex-a8 can be executed without any crashes.
It seems obvious that the problem is in some way related to the fact
that our system is designed for use with WinCE.
(On a side note WinCE makes limited use of the optimizations of
different ARM versions afaik. Yes, we did try running userspace
without them. E.g. I tried to use a debian armel rootfilesystem with
armv4t which works well on the nexus one / passion but it failed for me)
As it was mentioned it might be that the SoC in leo device is
'programmed' in a different way because WinCE assumes different things
than linux. I can confirm this to a certain extent. It is known that
there are massive differences in the AMSS. E.g. we need to patch
proc_comm, clock, ... for use with WinCE amss devices. But as I stated
earlier we never had such a problem with crashes on the older WinCE
devices with msm7x0x non-A and msm7xxxA. When linux boots you can
execute everything. This is a phenomenon limited to WinCE qsd8.
A different thing to keep in mind is that we do not have a clean boot.
Before WinCE is removed from memory and the linux kernel is loaded and
started quite some stuff happens to the hardware. How far could this
be related?
I am wondering about the qsd8 devices you QIC Inc. guys are working
with. What about the snapdragon fish? Do they have the three letter
suffix on qsd8250 ? Are there extra evaluation baords for WinCE ?
Once I received my 3,3V ttl level UART device I will try to boot
git://codeaurora.org/quic/kernel/dwalker/linux-msm.git msm-core kernel
on leo. As I'm not the best coder I'm wondering if it is good to help
for ask here regarding leo specific patches in that branch.
Thanks
Lukas
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html