Port-sgimips archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: recent changes to ip3xboot



martin%duskware.de@localhost wrote:

> This is all very strange - I have two O2s, on one everything works with
> every version of bootblock I try, on the other only your bootblock works
> (and not even a pre-bootinfo changes one, like the 4.0).
> 
> I build the current bootblock natively and crosscompiled, it doesn't make
> a difference.
> 
> This probably is something very stupid, like the length of the hostname
> compiled into the booter + the value of some environment vars or whatever.

Smells cache issue. How about this patch?
---
Izumi Tsutsui


Index: start.S
===================================================================
RCS file: /cvsroot/src/sys/arch/sgimips/stand/common/start.S,v
retrieving revision 1.4
diff -u -r1.4 start.S
--- start.S     11 Dec 2005 12:18:58 -0000      1.4
+++ start.S     28 Feb 2008 15:35:01 -0000
@@ -104,10 +104,13 @@
        sw      a1, 4(sp)                       # save argv
        sw      a2, 8(sp)                       # save envp
        la      v0, 0x80001000                  # ARCBIOS_SPB
-       la      a0, _C_LABEL (edata)            # clear BSS
        lw      v0, 8 * 4(v0)                   # FirmwareVector
-       move    a1, zero
        sw      v0, _C_LABEL(ARCBIOS)           # save ARCBIOS
+       lw      v0, 136(v0)                     # (*ARCBIOS->FlushAllCache)()
+       jalr    v0
+        nop
+       la      a0, _C_LABEL (edata)            # clear BSS
+       move    a1, zero
        la      a2, _C_LABEL (end)
        jal     _C_LABEL(memset)                # memset(edata, 0, end - edata)
        subu    a2, a2, a0


Home | Main Index | Thread Index | Old Index