[U-Boot-Users] Re: [PATCH] 8xx: fix initialation bug/race condition between u-boot & linux

Pantelis Antoniou panto at intracom.gr
Wed Jun 18 09:00:38 CEST 2003


Tom Rini wrote:

>On Tue, Jun 17, 2003 at 03:43:34PM +0300, Pantelis Antoniou wrote:
>
>
>> The u-boot loader upon finishing the decompression of the
>>kernel image it just jumps into the kernel without
>>resetting the CP. The kernel however resets the CP only when
>>configured to apply a u-patch. The UART in the CP is
>>still active however, and the descriptors in dpram
>>end up overlapping.
>>
>
>I believe that the assumption here, which other firmwares follow, is
>that this would be taken care of already.  Dan, do you recall making any
>assumptions about this either way?
>
>[snip]
>
>> This is only a bandaid however, because under network load
>>at the time of booting, i.e. broadcast packets or rebooting after
>>a crash and another end sending non TCP packets, we still crash.
>>
>[snip]
>
>> The proper way to address the problem is for the loader
>>to stop any DMA capable peripherals before executing
>>the kernel.
>>
>
>Does doing this fix, fix all of your problems?
>
>
  Yes, this fixed my problems. But this is mostly luck.

  It just happens that the reception buffer for the
ethernet packet is high enough in memory that no memory
corruption takes place.
I'm not sure however if we're completely safe in all cases.

  I think it's just proper defensive programming to always
do a CP reset in that case, and as soon as possible.
The best thing we could do is do the reset at head_8xx.S.

Regards

Pantelis







More information about the U-Boot mailing list