View Single Post
Old October 28th, 2009, 01:11 AM   #29 (permalink)
kam187
Senior Member
 
kam187's Avatar
 
Join Date: Aug 2009
Location: UK
Posts: 1,320
 
Device(s): Nexus One
Thanks: 3
Thanked 46 Times in 28 Posts
Default

Drakaz, it seems you can steal some memory from the GPU

This is the dream 10mb kernel hack:

You need to edit \BSP\kernel_2.6.27\arch\arm\mach-msm\board-saphire.c

Around Line 1140

if (smi_sz == 32) {
mi->bank[0].size = (84*1024*1024);
} else if (smi_sz == 64) {
mi->bank[0].size = (101*1024*1024);
} else {
printk(KERN_ERR "can not get smi size\n");

Change '(101*1024*1024);' to 0x06d00000, which is 108mb. We can probably go even higher i think.

You also need to change this line to the same value \BSP\kernel_2.6.27\arch\arm\mach-msm\board-saphire.h

#define SMI64_MSM_LINUX_BASE MSM_EBI_BASE
#define SMI64_MSM_LINUX_SIZE 0x06500000


---------

Now check out \BSP\kernel_2.6.27\arch\arm\mach-msm\board-init.c

Samsung even left a few comments lol:
Code:
#define MSM_EBI_BASE  0x10000000
#define MSM_EBI_SIZE  0x06D00000    // Total 109M for ARM11
#ifdef CONFIG_MSM7K_SMI64
#define SMI64_MSM_PMEM_MDP_BASE 0x02000000
#define SMI64_MSM_PMEM_MDP_SIZE 0x00800000  // 8M
#define SMI64_MSM_PMEM_ADSP_BASE    0x02800000
#define SMI64_MSM_PMEM_ADSP_SIZE  0x00D00000  // 13M-->7M from IF4 => 8M for MPEG4 Play 480*360 ==> 13M for safety
#define SMI64_MSM_PMEM_CAMERA_BASE 0x03500000
#define SMI64_MSM_PMEM_CAMERA_SIZE 0x00B00000  // 11M
#endif
#define MSM_PMEM_MDP_SIZE 0x800000
#define MSM_PMEM_CAMERA_SIZE 0xa00000
#define MSM_PMEM_ADSP_SIZE 0xd00000
#define MSM_PMEM_GPU1_SIZE 0x800000
#define MSM_FB_SIZE  0x100000     // 1M is enough for Orion Project
kam187 is offline  
Last edited by kam187; October 28th, 2009 at 01:59 AM.
Reply With Quote