On May 12, 2010, at 5:19 AM, Simon Burge wrote: > Matt Thomas wrote: > >> Module Name: src >> Committed By: matt >> Date: Tue May 11 22:08:02 UTC 2010 >> >> Modified Files: >> >> src/sys/arch/mips/include [matt-nb5-mips64]: locore.h >> >> Log Message: >> >> Use assembly since deref a 64bit value as a pointer does not make a >> 32bit compiler happy. > > Dang, ignore my previous because this code is a little different. > > + __asm volatile("lw %0, 0(%1)" : "=r"(rv) : "d"(addr)); > > "d" is listed as "General-purpose integer register" in the gcc docs. > Does the new code pass the full 64-bits of addr in when compiled on an > ABI where an int is 32-bits even though a full register is 64-bits?
Yes.