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

Reply via email to