Found this in the Board-msm7x30.c of the 3.0.8 Kernel
Just After
static void __init msm7x30_init_early(void)
{
msm7x30_allocate_memory_regions();
}
THIS IS WHAT ZTE ADDED
#if defined(CONFIG_ZTE_PLATFORM) && defined(CONFIG_F3_LOG)
unsigned int len = 0;
smem_global *global_tmp = (smem_global *)(MSM_RAM_LOG_BASE + PAGE_SIZE) ;
len = global_tmp->f3log;
pr_info("length for f3 log is %d ++ \n", len);
if (len > 12)
{
len = 12;
}
else
{
len = len/2*2;
}
pr_info("length = %d -- \n", len);
size = len;
if (size)
{
reserve_bootmem(SDLOG_MEM_BASE, size * 0x100000, BOOTMEM_DEFAULT);
}
addr = phys_to_virt(SDLOG_MEM_BASE);
pr_info("allocating %lu M at %p (%lx physical) for F3\n",size, addr, __pa(addr));
#endif
#ifdef CONFIG_ZTE_PLATFORM
#define ATAG_ZTEFTM 0x5d53cd73
static int parse_tag_zteftm(const struct tag *tags)
{
int flag = 0, find = 0;
struct tag *t = (struct tag *)tags;
for (; t->hdr.size; t = tag_next(t)) {
if (t->hdr.tag == ATAG_ZTEFTM) {
printk(KERN_DEBUG "find the zte ftm tag\n");
find = 1;
break;
}
}
if (find)
flag = t->u.revision.rev;
printk(KERN_INFO "jiangfeng
arse_tag_zteftm: zte FTM %s !\n", flag?"enable":"disable");
return flag;
}
static void __init zte_fixup(struct machine_desc *desc, struct tag *tags,
char **cmdline, struct meminfo *mi)
{
g_zte_ftm_flag_fixup = parse_tag_zteftm((const struct tag *)tags);
}
int get_ftm_from_tag(void)
{
return g_zte_ftm_flag_fixup;
}
EXPORT_SYMBOL(get_ftm_from_tag);
#endif
static void __init msm7x30_fixup(struct machine_desc *desc, struct tag *tags,
char **cmdline, struct meminfo *mi)
{
#if 0
JUST BEFORE
for (; tags->hdr.size; tags = tag_next(tags)) {
if (tags->hdr.tag == ATAG_MEM && tags->u.mem.start ==
DDR1_BANK_BASE) {
ebi1_phys_offset = DDR1_BANK_BASE;
phys_add = DDR1_BANK_BASE;
break;
}
}