[U-Boot] [PATCH] POST: Added ECC memory test for mpc83xx.

Michael Zaidman michael.zaidman at gmail.com
Thu Apr 8 08:49:08 CEST 2010


On Wed, Apr 7, 2010 at 7:01 PM, Joakim Tjernlund
<joakim.tjernlund at transmode.se> wrote:
>>
>> On Wed, Apr 7, 2010 at 6:10 PM, Timur Tabi <timur.tabi at gmail.com> wrote:
>> > On Wed, Apr 7, 2010 at 9:47 AM, Michael Zaidman
>> > <michael.zaidman at gmail.com> wrote:
>> >
>> >> The version #2 of the patch is located here
>> >> http://lists.denx.de/pipermail/u-boot/2010-April/069579.html
>> >
>> > What is ppcDWstore(), and why do you use it sometimes instead of
>> > __raw_writel()?  I see the code for ppcDWstore:
>> >
>> >        .globl  ppcDWstore
>> > ppcDWstore:
>> >        lfd     1, 0(r4)
>> >        stfd    1, 0(r3)
>> >        blr
>> >
>> > I just don't understand why it exists.
>> >
>>
>> This is the fastest way to copy 64 bit words.
>
> hmm, not all boards have a FPU(8xx and 832x). How are lfd and stfd handled
> there?
>
>  Jocke
>
The ppcDWstore/ ppcDWload code is mpc83xx specific, so the mpc8xx is
not relevant here. The e300c1 and e300c3 have FPU while e300c2 has
not. The lfd/stfd instructions load/store data from/to memory to/from
FPRs. It looks like these instructions are performed by Load/Store
Unit and rather require FPRs presence than FPU.  The block diagram of
the e300c2 core in the e300coreRM (Rev3, 12/2006) specifies FPR File
and its connection to the Load/Store Unit. On other hand the
"1.3.1.1.2 Floating-Point Registers (FPRs)" chapter says that FPRs are
not included in the e300c2 core. Can someone clarify this?

Thanks,
Michael


More information about the U-Boot mailing list