The "icache enable" cause the linux crash
From: 陈希 <hidden>
Date: 2006-12-05 08:35:59
Hi, I use Uboot to boot the linux. The console display "transferring control to linux..." and the LED1 is lighting. The linux crash at this. When I port the Uboot to my board(MPC885), I meet the similar problem. I must disable icache in board_init_f() then the uboot can run in ram. I delete line 2 and line 5 , it is worse. Both of LEDs are not light. Could you tell me why. initial_mmu: . . . /* Since the cache is enabled according to the information we * just loaded into the TLB, invalidate and enable the caches here. * We should probably check/set other modes....later. */ //////////////////////////////// Light the LED1 /////////////////////////////// 1 lis r8, IDC_INVALL@h 2 mtspr IC_CST, r8 3 mtspr DC_CST, r8 4 lis r8, IDC_ENABLE@h 5 mtspr IC_CST, r8 #ifdef CONFIG_8xx_COPYBACK mtspr DC_CST, r8 #else /* For a debug option, I left this here to easily enable * the write through cache mode */ lis r8, DC_SFWT@h mtspr DC_CST, r8 lis r8, IDC_ENABLE@h mtspr DC_CST, r8 #endif //////////////////////////////// Light the LED2 ///////////////////////////////