[U-Boot-Users] Coldfire 547x, Linux and big memory.

Hi List, Hi Tsi-Ching Liew,
I'm using u-boot 1.3.2 (trunk) on my application in order to boot the freescale linux kernel for mcf547x cpus. My application has a lot of memory (256MB) and this causes difficulties to start the linux kernel.
The Head.S code of the mcf547x Linux Kernel allows a one-to-one TLB map for the first 16MB of memory (mcf547x can use up to 1M for page). From this observation it is mandatory that U-BOOT should call the kernel allowing all structures (board descr., intrd, env and command line) onto the first 16M of physical RAM.
The solutions can be:
- to use the env variables bootm_low = 0 and bootm_size = 0x1000000 (16M) - modify the code of do_bootm function in order to limitate mem_size to 16M - Pray the Freescale to modify the kernel code in order to use a better and more flexible initialization code.
I'm studying for smart modifications for Kernel and U-Boot (that hasn't guilt).
Best regards,
luigi

Luigi,
I believe the kernel you retrieve from Freescale side is based on dBug bootloader and is not u-boot compatible; thus, will cause error when trying to bring up kernel from u-boot. An engineer is working on the new update release for 547x_8x soon. Once the kernel is updated, I believe no update is needed to be done in u-boot side.
Regards, TsiChung
-----Original Message----- From: Luigi 'Comio' Mantellini [mailto:luigi.mantellini@idf-hit.com] Sent: Thursday, June 05, 2008 2:53 AM To: U-Boot-Users Cc: Liew Tsi Chung Subject: Coldfire 547x, Linux and big memory.
Hi List, Hi Tsi-Ching Liew,
I'm using u-boot 1.3.2 (trunk) on my application in order to boot the freescale linux kernel for mcf547x cpus. My application has a lot of memory (256MB) and this causes difficulties to start the linux kernel.
The Head.S code of the mcf547x Linux Kernel allows a one-to-one TLB map for the first 16MB of memory (mcf547x can use up to 1M for page). From this observation it is mandatory that U-BOOT should call the kernel allowing all structures (board descr., intrd, env and command line) onto the first 16M of physical RAM.
The solutions can be:
- to use the env variables bootm_low = 0 and bootm_size = 0x1000000 (16M) - modify the code of do_bootm function in order to limitate mem_size to 16M - Pray the Freescale to modify the kernel code in order to use a better and more flexible initialization code.
I'm studying for smart modifications for Kernel and U-Boot (that hasn't guilt).
Best regards,
luigi
participants (2)
-
Liew Tsi Chung
-
Luigi 'Comio' Mantellini