Re: Android on OMAP, was: Anyone porting Android to Omap2430 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Anil Sasidharan wrote:
-----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)?

As I understand Richard

http://marc.info/?l=linux-omap&m=120394328804005&w=2

you don't have to care about TLS on OMAP2430.

Dirk

It would be really helpful if you could give us
some hints on this.

Warm Regards,
Anil


-
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux