
13 Jul
2012
13 Jul
'12
2:10 p.m.
Wolfgang Denk wrote:
This is a totally broken design then, when you have a growing data structure where vital information fields get shifted. In such case, the CRC should have been at the beginning, so it never changes location. Or even better, you should not have used a binary data structure at all (guess why the environment in U-Boot has been implemented the way it is).
York is mistaken. The CRC was always at location 0xFC, but for some reason, when I wrote the code, I put it at 0xCC. Now I'm fixing it, and providing some backwards compatibility to avoid causing problems for people who upgrade U-Boot on existing boards. I don't see how this is controversial in any way.
--
Timur Tabi
Linux kernel developer at Freescale