On Fri, Oct 10, 2008 at 7:01 PM, Ben Warren <[EMAIL PROTECTED]> wrote: > Olav Morken wrote: >> >> This patch removes volatile from: >> volatile IP_t *ip = (IP_t *)xip; >> >> Due to a bug, avr32-gcc will assume that ip is aligned on a word boundary >> when >> using volatile, which causes an exception since xip isn't aligned on a >> word >> boundary. >> > > What other architectures have you tried this on?
None, as we don't have any other boards to test on. I do however believe that this change should have no side-effects. If any architectures relied on this function working as some sort of memory/io barrier, they would have problems with other functions such as ArpRequest, which doesn't have anything that will work as a memory/io barrier before the eth_send function. Of course, I could be wrong. I would certainly not suggest including this change without some more testing. The bug which causes this problem is in avr32-gcc, which makes assumptions about the alignement of IP_t when using volatile, and this change shouldn't be necessary once that bug is fixed. Until that bug is fixed, this change is needed for anyone trying to run U-Boot on this microcontroller. -- Olav Morken _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot