-----Original Message-----
From: Brian Swetland [mailto:swetland@xxxxxxxxxx]
Sent: Monday, February 25, 2008 2:06 PM
To: colorant; Anil S
Cc: 'Dirk Behme'; linux-omap@xxxxxxxxxxxxxxx;
linux-omap-open-source@xxxxxxxxxxxxxx; 'Woodruff, Richard'
Subject: Re: Android on OMAP, was: Anyone porting Android to Omap2430 ?
[colorant <colorant@xxxxxxx>]
And, how about the running speed of the red cycle eye on your
board ? It runs very fast on my board, and the system_server take
almost 100% CPU.
This is usually indicative of lack of vsync/pageflip in the fb driver.
The surfaceflinger believes it will be limited by the vsync rate and
the startup animation depends on that.
I would like to try m5-rc14 android kernel driver , seems binder
driver is moved to driver/android dir and rewrite for some reason.
I'm pretty sure the build that's part of the M5 SDK release will
require the new binder driver to operate correctly.
[Anil S <anils@xxxxxxxxxxxxxxxxxxxx>]
Does OMAp2430 also have hardware register for TLS? Would it be
possible to get the pre-built android binaries functional on OMAp2430?
OMAP2 is ARM11 based and does indeed have the hardware TLS register,
if I remember correctly. You should be able to mess with your kernel
configuration and force the "emulated" TLS register support (though
that may require modifying Kconfig files).
Brian
Hi Brian,
As per your suggestion, I have tried enabling the
CONFIG_TLS_REG_EMUL=y in kernel configuration. In order to enable this
config option, the file arch/arm/mm/Kconfig has been
modified to make an entry
config CPU_32v6
bool
select TLS_REG_EMUL
When this kernel image is used to bring up Android, the result is
really strange. The app_process itself is segfaulting.
/strace_android -f -ff -tt -s 200 /system/bin/app_process -Xzygote
/system/bin --zygote &
# 11:15:37.993401 execve("/system/bin/app_process",
["/system/bin/app_process", "-Xzygote", "/s
ystem/bin", "--zygote"], [/* 10 vars */]) = 0
11:15:38.022191 getpid() = 271
11:15:38.022984 syscall_983045(0xb0016b68, 0xb0013780, 0x3e4, 0,
0xbe907e04, 0x4, 0, 0xf0005, 0
xb0013780, 0, 0, 0xbe907df4, 0, 0xbe907da8, 0xb0000d89, 0xb00016ec,
0x10, 0xb0016b68, 0, 0, 0xc
764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) = 0
11:15:38.024095 gettid() = 271
11:15:38.024817 --- SIGSEGV (Segmentation fault) @ 0 (0) ---
11:15:38.025670 +++ killed by SIGSEGV +++
Process 271 detached
While browsing through the source file arch/arm/kernel/traps.c, the
below given code snippet is found:
case NR(set_tls):
thread->tp_value = regs->ARM_r0;
#if defined(CONFIG_HAS_TLS_REG)
asm ("mcr p15, 0, %0, c13, c0, 3" : : "r" (regs->ARM_r0) );
#elif !defined(CONFIG_TLS_REG_EMUL)
/*
* User space must never try to access this directly.
* Expect your app to break eventually if you do so.
* The user helper at 0xffff0fe0 must be used instead.
* (see entry-armv.S for details)
*/
*((unsigned int *)0xffff0ff0) = regs->ARM_r0;
#endif
return 0;
Does this mean that OMAP2430 does not support TLS register emulation
(CONFIG_TLS_REG_EMUL)?