[U-Boot] RFC: Move when we call cpu_init_r on PPC
Kumar Gala
galak at kernel.crashing.org
Mon Nov 15 16:12:39 CET 2010
On Nov 13, 2010, at 12:22 PM, Wolfgang Denk wrote:
> Dear Kumar Gala,
>
> In message <E20F32A5-0EF5-4CC3-AB70-0C1E2330EF27 at kernel.crashing.org> you wrote:
>>
>> I'd like to move cpu_init_r to after env_relocate(). This is desirable
>> on 85xx based systems to deal with an issue when we boot from NAND (and
>> probably SPI or SDHC/MMC) in which we use the L2 cache in SRAM mode to
>> load the u-boot image from the storage device (NAND, SPI, SDHC/MMC,
>> etc.). In these cases we have an ordering issue between freeing up the
>> L2 cache and when the environment is relocated.
>
> I don't think that's a good idea. cpu_init_r() starts a number of
> pretty basic servies and must run as early as possible after
> relocation. For example, it may initialize caches, load microcode
> needed for some drivers soon, initialize interrupts and timers and
> such...
>
> Moving these things around requires extreme care and really intensive
> testing on a lots of boards.
>
>> If we move cpu_init_r() after env_relocate() that addresses the issue.
>> I did an audit of all the other PPC chips and I dont believe it impacts
>> any of them if we move cpu_init_r after spi_init_{f,r}, nand_init,
>> mmc_initialize, & env_relocate.
>
> Um.. I doubt that. My fingers still carry the fire scars from my last
> attempt to do something like that.
>
>> Please let me know if this is acceptable solution to my problem. I've
>> provided both the 'audit' details and example diff.
>
> Thanks for that. It only shows that there is alot of pretty basic
> stuff done, which might be needed. You will need to retest a ton of
> boards.
Well I'm still stuck for a solution to my problem :)
So is a post_env_relocate_cleanup() the way to go? I can than differ L2 init to that point in the case we use the L2 SRAM for boot memory?
- k
More information about the U-Boot
mailing list