On Sat, 24 Oct 2009 22:06:56 +0100, Vince Weaver <[email protected]>  
wrote:

>
>> +    // I'm not sure why, but the length argument is in arg reg 3
>> +    loff_t length = process->getSyscallArg(tc, 3);
>
> The reason for this is that on various architectures, if you are passing  
> a
> 64-bit value on a 32-bit architecture, the 64-bit value has to be in an
> even/odd register pair.  So on calls like ftruncate64 a register is  
> wasted
> to get this alignment.
>
I meant to say thanks very much for the explanation, Vince. It took me  
ages to find this bug and it's nice to know why it's there now :-)

Tim

-- 
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to