
On Wed 2015-04-08 15:13:27, Marek Vasut wrote:
On Wednesday, April 08, 2015 at 02:09:57 PM, Pavel Machek wrote:
Hi!
maybe this helps? I just stepped into same problem on an am335x, but had not yet time to look deeper in it ...
I did not try the cleanup_before_linux(), but "dcache off" should have same effect, right?
Hmm.. not exactly... cleanup_before_linux() does also disable the mmu.
Seems like I found the reason. CONFIG_THUMB_BUILD was set, and that causes problems in put_dec_trunc() function (and elsewhere).
commit 1602a502985d42bafb58cc6862b469ac03a7d634 Author: Pavel pavel@ucw.cz Date: Wed Apr 8 14:08:18 2015 +0200
Disable thumb build; it breaks put_dec_trunc() function on toolchain from eldk-5.6 and eldk-5.4, and some other place, too. Signed-off-by: Pavel Machek <pavel@denx.de>
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h index 6d93472..6608d7d 100644 --- a/include/configs/socfpga_common.h +++ b/include/configs/socfpga_common.h @@ -11,7 +11,7 @@ /* Virtual target or real hardware */ #undef CONFIG_SOCFPGA_VIRTUAL_TARGET
-#define CONFIG_SYS_THUMB_BUILD +#undef CONFIG_SYS_THUMB_BUILD
#define CONFIG_SOCFPGA
Disabling thumb build to paper over the problem is certainly not a solution, right?
Well. First questions first: does it work for you? What version and what compiler?
What is the root cause for those problems and how can we fix it in the right place ?
If I knew what is the root cause, do you think I'd do this?
Pavel