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

Re: AMD response about Debian x86-64 port



On Fri, Jan 10, 2003 at 09:54:43AM -0500, Bart Trojanowski wrote:
> > I'd suspect that AMD would be more willing to share/give away hardware
> > if they knew that we were strongly committed to a port. Anyway, we could
> > use the time being without access to hardware to discuss matters about
> > the port, e.g. if a mixed x86/x86-64 userspace is feasable or even
> > possible or if we could cross-compile some important toolchain stuff

[Both.]

> > in the meantime.
> 
> I will assume that if we do any work we must start with a 64-bit kernel.
> 
> From what I understand, the hardware provides a "64-bit long mode" in
> which the kernel could run and allow for 32-bit applications to execute
> without recompilation (this later mode is referred to as compatibility
> submode of long mode).  However, recalling Andi Kleen's talk at OLS two
> years ago, I believe that a recompile will still be needed for these
> 32-bit apps due to an ABI change on the x86-64 platform.

That's no longer accurate, I think; it ought to just run x86-linux
binaries.  Not sure of that though.

> I am pretty sure all the changes in user-space would be localized to
> glibc -- as it implements the ABI's API to the rest of user application.  
> That is not too bad.
> 
> However, since we are already recompiling applications on the x86-64 to
> run in 32-bit more, we should recompile them in 64-bit mode to improve
> performance (wider registers, 8 additional general purpose registers,
> etc).  There may be some apps that will (initially) not work in 64-bit
> mode, and for these we use 32-bit mode.  The only snag with this is that
> we now need two glibc's on the system: the 32-bit one and the 64-bit
> one.

Almost every bit of this is already done, you do realize?  Even the
machinery for having two glibcs; see how Sparc does it.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer



Reply to: