在board_init_f 函数中,只有定义了CONFIG_SYS_DCACHE_OFF,才会对 tlb_addr 初始化,问题是配置文件没有该宏定义,那tlb_addr到底在哪里初始化的?
#if !(defined(CONFIG_SYS_ICACHE_OFF) && defined(CONFIG_SYS_DCACHE_OFF))
/* reserve TLB table */
gd->arch.tlb_size = PGTABLE_SIZE;
addr -= gd->arch.tlb_size;
/* round down to next 64 kB limit */
addr &= ~(0x10000 - 1);
gd->arch.tlb_addr = addr;
debug("TLB table from %08lx to %08lx\n", addr, addr + gd->arch.tlb_size);
#endif