linux-mips
[Top] [All Lists]

Re: 64-bit and N32 kernel interfaces

To: "Kevin D. Kissell" <kevink@mips.com>
Subject: Re: 64-bit and N32 kernel interfaces
From: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Date: Thu, 5 Sep 2002 16:09:11 +0200 (MET DST)
Cc: Tor Arntsen <tor@spacetec.no>, Carsten Langgaard <carstenl@mips.com>, Ralf Baechle <ralf@linux-mips.org>, linux-mips@linux-mips.org
In-reply-to: <010301c254da$892fcc50$10eca8c0@grendel>
Organization: Technical University of Gdansk
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
On Thu, 5 Sep 2002, Kevin D. Kissell wrote:

> n32 has the same data types as o32, an "ILP32" C integer 
> model.  n64 is a pretty normal "LP64" C integer model.
> 
> What do you consider to be broken, and how would you
> have preferred it to have been done?

 For n32 it would be natural to have:

- sizeof(int) = 32

- sizeof(long) = 64

- sizeof(void *) = 32

as the underlying hardware directly supports 64-bit operations (n32
requires at least MIPS III).  Thus there is no penalty for 64-bit
arithmetics and if one uses longs one normally wants the largest native
integer type -- using long long typically (i.e. on most platforms) implies
double-precision arithmetics with all the drawbacks, especially for the
division and multiplication operations. 

 With 32-bit long on 64-bit hardware software has no easy way to figure
using 64-bit operations is still optimal performance-wise.  I can't see
any technical benefit from such a setup -- is there any?  I doubt it. 

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +


<Prev in Thread] Current Thread [Next in Thread>