On Wed, Feb 01, 2006 at 02:24:04PM -0500, Daniel Jacobowitz wrote: > > The O/S maybe doing something different, but the architecture has 3 bits in > > Status: KX, SX, and UX that enable access to the address space above 32 > > bits. With these bits off, an attempt to access these addresses causes an > > exception. So while 32-bit apps have the full 64-bit address space, most of > > it is inaccessible to the 32-bit app. > > That's not actually what I was referring to: there's at least one MIPS > implementation where the results of 32-bit arithmetic operations are > not just architecturally unpredictable but actually wrong if the upper > bits are not properly sign extended (I might be misremembering, but I > think I'm talking about the SB-1). That's the sort of thing that can > be basically impossible to track down if your debugger doesn't show > you the whole register. You were right, that was the SB1 core of the BCM1250 on your Sentosa. The behaviour however is legal; the MIPS64 specification states for almost all 32-bit arithmetic instructions that their proper operation is only guaranteed for properly 64-bit sign-extended operands. Ralf