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