View Single Post
Old October 31st, 2009, 12:31 AM   #18 (permalink)
kam187
Senior Member
 
kam187's Avatar
 
Join Date: Aug 2009
Location: UK
Posts: 1,320
 
Device(s): Nexus One
Thanks: 3
Thanked 45 Times in 28 Posts
Default

Just to clarify this now that I have checked exactly how/where everything is mapped -

There are 3 memories in the Samsung.

- SMI, 8 Mb on-die stacked memory. When present this memory bank is used for a high speed shared memory interface. When not present regular RAM is used. This is currently ALL allocated to GPU0
Code:
SMI (Internal RAM, 8Mb?)
00100000->00800000 GPU0 (8 Mb)
- SMI64, 64 Mb of RAM internal to the MSM7200A application processor. This is alllocated as follows (in the current kernel)
Code:
SMI64 (Internal RAM, 64Mb)
00000000->01F00000 AMSS?  (31 Mb)  
01F00000->02000000 SHARED  (1 Mb)   (Shared between ARM9/ARM11)
02000000->02800000 MDP    ( 8 Mb)
02800000->03500000 ADSP   (13 Mb)
03500000->04000000 CAMERA (11 Mb)
Its unclear what is in the lower 32 Mb, but it is almost certainly the Radio Bootloader and the AMSS (Baseband)

- EBI, 128 Mb of RAM externally connected to the MSM7200A.
Code:
EBI (External RAM)
10000000->10028000 Kernel
10028000->1040ffff : Kernel text
10410000->105611fb : Kernel data
105611fb->10700000 Kernel (+some free space to make page boundry)
10700000->10F00000 GPU1 (8 Mb)
10F00000->11000000 FB   (1 Mb)
11000000->16D00000 FREE
16D00000->16E00000 SHARED? (1Mb)
16E00000->18000000 AMSS ?(18mb)
The top 1 + 18mb of the EBI are not usable. I think there is another copy of the AMSS here (why?!??!!). So the total usable memory is 0x6D00000 or 109Mb. 8Mb gets allocated to GPU1 and 1Mb to the Framebuffer. 7Mb is used for the kernel, and approx another Mb for Kernel panic buffer, console buffer etc. This leaves us with about 96 Mb of free memory for the Androind syste.

We (Me and Drakaz) are working on rearanging this memory to give us 105Mb of memory available for the system

Short answer

The Samsung has 192Mb of Memory + 8Mb of fast memory.

8Mb fast memory is allocated to graphics GPU0
8Mb RAM is allocated to graphics GPU1
32Mb RAM is allocated for Camera, Media processor etc
1 Mb is allocated to the framebuffer (screen buffer)
2 Mb is mapped to be shared
19 + 32Mb is used by the baseband (AMSS)
7 Mb is used by the kernel
96Mb is left usable in android.
kam187 is offline  
Reply With Quote