u-boot-brain/arch/blackfin
Mike Frysinger 2e2ed3f4ff Blackfin: adjust asm constraints with NMI workaround
Newer gcc versions will sometimes use a Preg when "r" constraints, but
that'll fail if we use an Ireg in the assignment.  So force the code
to always use a Dreg.

This also fixes early boot crashes for older Blackfin parts when compiled
with gcc-4.5.  This version ends up selecting the same register for the
input and output variables which corrupts the output assignment triggering
an exception.
	P2 = 0xffe02008;	/* EVT2 */
	R0 = RETS;
	CALL 1f;
	RTN;
1:	P2 = RETS;	<-- BAD
	RETS = R0;
	[P2] = P2;	<-- BAD

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
2013-05-13 15:47:24 +08:00
..
cpu Blackfin: adjust asm constraints with NMI workaround 2013-05-13 15:47:24 +08:00
include/asm blackfin: Change the member's type in dma structures. 2013-05-13 15:47:24 +08:00
lib blackfin: limit the max memory dma peripheral transfer size to 4 bytes. 2013-05-13 15:47:24 +08:00
config.mk Blackfin: cache result of cpp check 2011-11-18 22:13:26 -05:00