Hi, I am trying to boot SDK 1.6 kernel in my P1012 board.
The uboot configures TLBs correctly but once the kernel boots, it halts while invalidating TLBs(flush_tlbs at head_32.S file) .
Kernel is loaded at 0x00000000 and uboot configures a TLB for DDR at 0x00000000. The console output is the following:
/********************************************************************************************/
=> boot
WARNING: adjusting available memory to 30000000
## Booting kernel from Legacy Image at 02000000 ...
Image Name: WTMKII PM Linux kernel5
Created: 2015-04-09 10:56:29 UTC
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 3929672 Bytes = 3.7 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 10000000 ...
Image Name: ramdisk_0n_2.img
Created: 2015-03-30 13:58:24 UTC
Image Type: PowerPC Linux RAMDisk Image (lzo compressed)
Data Size: 9565405 Bytes = 9.1 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree from Legacy Image at 03000000
Image Name: pmDTB
Created: 2015-04-08 10:57:38 UTC
Image Type: PowerPC Linux Flat Device Tree (uncompressed)
Data Size: 14821 Bytes = 14.5 KiB
Load Address: 06000000
Entry Point: 00000000
Verifying Checksum ... OK
Booting using the fdt blob at 0x6000000
Uncompressing Kernel Image ... OK
Loading Ramdisk to 2f6e0000, end 2ffff4dd ... OK
Loading Device Tree to 03ff9000, end 03fff9e4 ... OK
WARNING: could not find compatible node fsl-usb2-dr: FDT_ERR_NOTFOUND.
## Transferring control to Linux (at address 00000000) ...
Booting using OF flat tree...
/********************************************************************************************/
Code is crashing at head_32.S:
flush_tlbs:
lis r10,0x40
1:addic. r10,r10,-0x1000
tlbie r10 <-- Kernel halts after this instruction
bgt 1b
sync
blr
I don't understand why kernel needs to override current TLB instead of creating a new one. Has anybody faced a similar problem?
Thanks in advanced,
Maria