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

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

 



-----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)? 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