On 12/16/2011 11:06 AM, Richard Herveille wrote:
The problem, perhaps, is that the register clear is assuming that r0
really is 0...??? Perhaps the first thing we should be doing is loading
r0 with a 0:
l.movhi r0,hi(0)
l.ori r0,r0,0
I don't think that piece of code loads R0 with '0' ...
Assume R0 is NOT zero then:
movhi r0,hi(0) --> set MSBs to 0
ori r0,r0,0 --> logic OR of R0 with R0 and '0' ... This does NOT clear the
LSBs!!
That's why I use:
|__reset:
/* there is no guarantee r0 is hardwired to zero, clear it here */
l.andi r0, r0, 0
in u-boot
So consensus is, everybody should just use u-boot to load Linux
and everything will work as intended ;)
Joking aside, that movhi will zero the LSB of r0, so really, that ori
isn't necessary
|
Stefan
_______________________________________________
Linux mailing list
[email protected]
http://lists.openrisc.net/listinfo/linux