[Gen9 Android Development] Quallenauge:
=) Now you are signed automatically ;)

Others can also signed in if they:

Installed GIT

Installed an IDE, for me it is Eclipse with CDT and E-Git extension, I used this tutorial for setup a kernel project: http://friendlyarm-in-tunisia.blogspot.de/2011/01/configuring-building-and-debugging.html

Installed a toolchain (You can use the guide on: http://xdaforums.com/showpost.php?p=27427105&postcount=8)

Knows how to build a kernel, e.g.:

export ARCH=arm
export CROSS_COMPILE=<PATH>linaro-toolchain-prebuild/android-toolchain-eabi/bin/arm-linux-androideabi- make
make menuconfig
make

Just ask the questions. Maybe my repo is a good start.

Yes it is booting. The userspace does have some problems. (no sgx init, some crashes).

Okay, let's start:

I attached a patch (which as to be applied to the HEAD-Version of my kernel repository), which uses the dynamic memory allocation which was introduced for a few months. So there's no need to use the archos memory definitions.

At first I wanted to use the init method of android-display.c, but later I have realized that archos used a completly another structure which means high adaption efforts :-/ So I used my quick&dirty approach which seems to work.

Also included in the patch is are the drivers for PVR 1.8. I know there are a new version 1.9 is out, but I wanted to see if this version is also usable (for the start). I also had updated these binaries within the rom, so that kernel drivers and user space libraries are matching.

The current state is the following:

Graphics drivers are not correctly loaded. I get

D/libEGL ( 2780): loaded /system/lib/egl/libEGL_POWERVR_SGX540_120.so
D/libEGL ( 2780): loaded /system/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so
D/libEGL ( 2780): loaded /system/lib/egl/libGLESv2_POWERVR_SGX540_120.so
W/libEGL ( 2780): eglInitialize(0x1) failed (EGL_BAD_ALLOC)
I/cat ( 610): <6>[ 411.734649] PVR_K:(Error): BridgedDispatchKM: Driver initialisation not completed yet. [4807, drivers/gpu/pvr/bridged_pvr_bridge.c]

and I don't know why (see logcat.txt.gz). Maybe I had forgotten to reserve some SGX memory or else... I don't know :-/

Also yesterday I encountered some troubles at cold boot. Then the rpmsg driver seems to crash! I was able to get the kernel messages over the USB<-Serial->USB cable. See capture.txt:

[ 12.263916] rproc_da_to_pa: rproc_da_to_pa: matched mem entry no. 0
[ 12.264038] omap-rproc omap-rproc.1: da 0x8054b034 pa 0xb384b034 len 0x56ac
[ 12.264343] omap-rproc omap-rproc.1: section: type 2 da 0x805546e0 len 0x200
[ 12.264495] rproc_da_to_pa: rproc_da_to_pa: matched mem entry no. 0
[ 12.264617] omap-rproc omap-rproc.1: da 0x805546e0 pa 0xb38546e0 len 0x200
[ 12.264831] omap-rproc omap-rproc.1: section: type 2 da 0x9f0e0000 len 0x102f8
[ 12.264984] rproc_da_to_pa: rproc_da_to_pa: matched mem entry no. 0
[ 12.265106] omap-rproc omap-rproc.1: da 0x9f0e0000 pa 0xb2be0000 len 0x102f8
[ 12.336425] omap-rproc omap-rproc.1: remote processor ipu is now up
[ 12.806274] ------------[ cut here ]------------
[ 12.811889] WARNING: at arch/arm/mach-omap2/omap_l3_noc.c:135 l3_interrupt_handler+0x280/0x3b4()
[ 12.822387] CUSTOM SRESP error with SOURCE:L4CFG
[ 12.828002] Modules linked in:
[ 12.831878] Backtrace:
[ 12.835144] [<c0087a14>] (dump_backtrace+0x0/0x138) from [<c068cb18>] (dump_stack+0x20/0x24)
[ 12.845214] r7:00000087 r6:c00acd4c r5:00000009 r4:e92f1ba0
[ 12.852691] [<c068caf8>] (dump_stack+0x0/0x24) from [<c00d6410>] (warn_slowpath_common+0x64/0x7c)
[ 12.863372] [<c00d63ac>] (warn_slowpath_common+0x0/0x7c) from [<c00d64e4>] (warn_slowpath_fmt+0x40/0x48)
[ 12.874694] r8:00080003 r7:00000448 r6:f8000000 r5:c007d000 r4:c07c779a
[ 12.883209] r3:00000009
[ 12.886749] [<c00d64a4>] (warn_slowpath_fmt+0x0/0x48) from [<c00acd4c>] (l3_interrupt_handler+0x280/0x3b4)
[ 12.898315] r3:c07c779a r2:c07c7741
[ 12.903015] [<c00acacc>] (l3_interrupt_handler+0x0/0x3b4) from [<c01240b8>] (handle_irq_event_percpu+0xcc/0x2c4)
[ 12.915222] [<c0123fec>] (handle_irq_event_percpu+0x0/0x2c4) from [<c01242fc>] (handle_irq_event+0x4c/0x6c)
[ 12.926910] [<c01242b0>] (handle_irq_event+0x0/0x6c) from [<c0126c60>] (handle_fasteoi_irq+0xf4/0x144)
[ 12.938049] r6:c0883b8c r5:c007d000 r4:c0883b40 r3:00000000
[ 12.945556] [<c0126b6c>] (handle_fasteoi_irq+0x0/0x144) from [<c0123934>] (generic_handle_irq+0x30/0x40)
[ 12.956848] r6:0000002a r5:e92f0000 r4:0000002a r3:c0126b6c
[ 12.964385] [<c0123904>] (generic_handle_irq+0x0/0x40) from [<c007d3cc>] (asm_do_IRQ+0xac/0xe0)
[ 12.974792] r4:c007d000 r3:0000019a
[ 12.979492] [<c007d320>] (asm_do_IRQ+0x0/0xe0) from [<c0083108>] (__irq_svc+0x48/0xe0)
[ 12.989013] Exception stack(0xe92f1cc0 to 0xe92f1d08)
[ 12.995117] 1cc0: 00000000 c0947fe0 00000000 00000000 c007d000 00000282 c12bc040 c007bf80
[ 13.004943] 1ce0: e92f0000 e92f0000 3f77dfbc e92f1d5c c00ddc5c e92f1d08 c00de3d4 c00ddcdc
[ 13.014770] 1d00: 40000113 ffffffff
[ 13.019104] [<c00ddc44>] (__do_softirq+0x0/0x2a0) from [<c00de3d4>] (irq_exit+0x64/0xb8)
[ 13.028839] [<c00de370>] (irq_exit+0x0/0xb8) from [<c0088f64>] (ipi_timer+0x58/0x68)
[ 13.038116] r4:c007b040 r3:00000000
[ 13.042877] [<c0088f0c>] (ipi_timer+0x0/0x68) from [<c007d478>] (do_local_timer+0x78/0x9c)
[ 13.052764] r6:c0892ba8 r5:c007d000 r4:e92f0000 r3:0000055e
[ 13.060302] [<c007d400>] (do_local_timer+0x0/0x9c) from [<c0083108>] (__irq_svc+0x48/0xe0)
[ 13.070251] Exception stack(0xe92f1dc0 to 0xe92f1e08)
[ 13.076385] 1dc0: c089e1d8 c007d000 c08f0cb8 c08f0cb8 00000047 e92f0000 00000001 00000003
[ 13.086273] 1de0: 00000003 60000113 c0927bc6 e92f1eac c00d701c e92f1e08 c00d72e8 c00d7960
[ 13.096099] 1e00: 60000113 ffffffff
[ 13.100433] [<c00d74a4>] (vprintk+0x0/0x590) from [<c068d240>] (printk+0x2c/0x34)
[ 13.109497] [<c068d214>] (printk+0x0/0x34) from [<c04d3ae4>] (thermal_lookup_temp+0x3c/0xa8)
[ 13.119659] r3:e91b9b40 r2:c083c278 r1:c06c352c r0:c083c1ae
[ 13.127227] [<c04d3aa8>] (thermal_lookup_temp+0x0/0xa8) from [<c04d4050>] (hotspot_temp_to_sensor_temp+0x24/0x88)
[ 13.139556] r5:c0aa67ac r4:000061a8
[ 13.144256] [<c04d402c>] (hotspot_temp_to_sensor_temp+0x0/0x88) from [<c04d417c>] (average_cpu_sensor_delayed_work_fn+0xc8/0x130)
[ 13.158203] r4:e91b9b40 r3:e91b9b40
[ 13.162933] [<c04d40b4>] (average_cpu_sensor_delayed_work_fn+0x0/0x130) from [<c00f26bc>] (process_one_work+0x26c/0x46c)
[ 13.176025] r7:c12c0600 r6:c12bc5c0 r5:e91b9b78 r4:e922cb40
[ 13.183563] [<c00f2450>] (process_one_work+0x0/0x46c) from [<c00f2cb8>] (worker_thread+0x210/0x34c)
[ 13.194488] [<c00f2aa8>] (worker_thread+0x0/0x34c) from [<c00f7564>] (kthread+0x9c/0xa8)
[ 13.204223] [<c00f74c8>] (kthread+0x0/0xa8) from [<c00da788>] (do_exit+0x0/0x6fc)
[ 13.213256] r6:c00da788 r5:c00f74c8 r4:e941feb0
[ 13.219360] ---[ end trace 66050ce957e8cabb ]---
[ 13.225006] Master 0x44 DucatiM3
[ 13.229156] L4CFG OPCODE 0x00000002
...

It would be really cool, if we can squash these issues away...