Hi Peter,
On Mon, Mar 23, 2015 at 11:01:10AM +0000, Peter Griffin wrote:
BTW, because now in ATF, the mmio_write/mmio_read APIs have not added any memory barrier, so it's easily introduce the out-of-order issue, especially now armv8 has more weaker memory model rather than armv7; so if upper patch can not fix your issue, could u also try below patch, which it will add memory barriers for register's accessing:
https://github.com/Leo-Yan/arm-trusted-firmware/commit/a87af905ef77bf96409b8...
Interesting that there were no barriers, as the mmio macros were written by ARM. Re-building with this patch cherry-picked into ATL, I've just booted 15 times and not seen the issue. So this seems (so far at least) to have resolved the intermittent hang :-)
Thanks for the trying :) I also bring up this question into ATF's bug tracking list: https://github.com/ARM-software/tf-issues/issues/298;
I also have sent pull request for this patch.
Yes getting this merged would be good.
Also do you know if anyone is investigating further why removing the packed attribute on usb_endpoint_descriptor is required when compiling ATL with gcc 4.9 (which is the other change I also have applied to my ATL code).
I don't know this issue. Just reminding, if this issue is not tracked in: https://github.com/96boards/bugs/issues, suggest u can fire one.
Thanks, Leo Yan