[U-Boot] [PATCH 2/2 v12] Introduced btrfs file-system with btrload command
Adnan Ali
adnan.ali at codethink.co.uk
Sun May 12 14:00:25 CEST 2013
On 2013-05-09 22:43, Wolfgang Denk wrote:
> Dear Adnan Ali,
>
> In message <518BB8C7.3090704 at codethink.co.uk> you wrote:
>>
>> > - Why do we have to calculate the crc32c_table[] at runtime? Our
>> > regular CRC code uses a pre-calculated table; we should do the
>> same
>> > here.
>> This is part of the port. But pre-calculated table can be
>> manually
>> created.
>
> Not manually. It should be done at compile time, suing basically the
> same code.
>
>> > - Compare the code for crc32c_cal() in the patch with the
>> definition
>> > of DO_CRC(x) in "lib/crc32.c" - to me, it appears to be the
>> same for
>> > little endian code (it is redundant?), but different for big
>> endian
>> > systems - which raises the question if this code has ever been
>> > tested on a BE machine?
>> My code uses lib/crc32.c and i have only tested it on
>> mx53loco manchine.
>
> I tend to believe thatit will not work on a big endian system, then.
Sorry I meant to say my code uses lib/crc32_c.c. The lib/crc32.c
is main line so you think main line code is not for big endian.
What can i say.
>
>> > - The code claims to be derived from "Linux kernel
>> crypto/crc32c.c";
>> > but I cannot find such code in that file.
>> I think yes but part of part from syslinux. I have also added
>> SHA1 of commit so don't know.
>
> Please provide an exact reference where this code is coming from.
Just clone syslinux and code is in ~/syslinux/core/fs/btrfs/crc32c.h
>
>> > - The implementation of crc32c_cal() suffers from a few other
>> problems
>> > (like not triggering the watchdog, which will cause problems on
>> > systems that use one).
>> I think that is true as its not using main line crc32 code.
>
> We probably should do that, then.
To use that code probably i need to create static crc32 table.
>
> Thanks.
>
> Wolfgang Denk
--
Thanks
Adnan Ali
More information about the U-Boot
mailing list