From owner-freebsd-questions@FreeBSD.ORG Thu Jan 19 00:09:10 2006 Return-Path: X-Original-To: freebsd-questions@FreeBSD.org Delivered-To: freebsd-questions@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 51DA316A41F for ; Thu, 19 Jan 2006 00:09:10 +0000 (GMT) (envelope-from keramida@ceid.upatras.gr) Received: from aiolos.otenet.gr (aiolos.otenet.gr [195.170.0.93]) by mx1.FreeBSD.org (Postfix) with ESMTP id A761743D46 for ; Thu, 19 Jan 2006 00:09:09 +0000 (GMT) (envelope-from keramida@ceid.upatras.gr) Received: from flame.pc (patr530b-0012.otenet.gr [62.103.226.12]) by aiolos.otenet.gr (8.13.4/8.13.4/Debian-8) with ESMTP id k0J094DK024278; Thu, 19 Jan 2006 02:09:05 +0200 Received: by flame.pc (Postfix, from userid 1001) id 1BCF511624; Thu, 19 Jan 2006 02:08:59 +0200 (EET) Date: Thu, 19 Jan 2006 02:08:58 +0200 From: Giorgos Keramidas To: Anthony Dematteo Message-ID: <20060119000858.GA3744@flame.pc> References: <5e236bd10601181440o7f456313gf10d2f5ca30d159c@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5e236bd10601181440o7f456313gf10d2f5ca30d159c@mail.gmail.com> Cc: freebsd-questions@FreeBSD.org Subject: Re: 64 Bit Questions X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 19 Jan 2006 00:09:10 -0000 On 2006-01-18 17:40, Anthony Dematteo wrote: > I have a couple questions about the AMD64 Project. > > 1. They page mentions that there is multiprocessor support. Does > this include the dual core processors? Will the OS dispatch processes > and threads to each core? Not sure if I'm the right person to answer this in great technical detail, but I think the answer is 'yes' to both questions. > 2. While the OS will use the 64 bit mode, will the applications still > run in the compatibly mode? Not necessarily. By default the "base system" and any applications you compile yourself will be 64-bit too. The installed compiler and toolchain support building 32-bit binaries too, if you manually compile things yourself, but you don't have to if you don't feel like doing it. > Will the applications still only use 32 bits. No, 64-bit applications can use the full 64-bit address range. > 3. Also, will the OS take advantage of being 64 bit and load itself > into memory higher than the 32 bit addressable mark so that my 32 bit > applications can use the lower part? I'm not sure if I understand the question correctly, but why does the specific 'place' in the virtual 64-bit address space matter to an application? Some may argue that depending on such low level information is broken behavior and should be fixed in the application. > 4. If I enable 64 bit compilation on GCC prior to installing a port, > will the port then be 64 bit enabled? Ports do not support cross-compiling, as far as I know. If you build on a 64-bit machine, you get 64-bit binaries. If you build on a 32-bit machine, you get 32-bit binaries. > 5. If I stall an IDE and write my own applications on a 64 bit > machine, can a 32 bit machine still run them? No. The 64-bit binaries refer to registers, addresses and other parts of the 64-bit architecture that are not available in 32-bit hardware. The other way around works fine though. The 64-bit versions of FreeBSD include 32-bit libraries and runtime support too, so you can run 32-bit binaries seamlessly. In fact, this is exactly what enabled me to run a 32-bit binary of CMUCL, and experiment with LISP now that I've started learning about it: keramida@flame:/home/keramida$ uname -v FreeBSD 7.0-CURRENT #0: Mon Jan 16 17:28:28 EET 2006 \ build@flame.pc:/home/build/obj/home/build/src/sys/FLAME keramida@flame:/home/keramida$ which lisp /usr/local/bin/lisp keramida@flame:/home/keramida$ file `!!` file `which lisp` /usr/local/bin/lisp: ELF 32-bit LSB executable, Intel 80386, \ version 1 (FreeBSD), for FreeBSD 6.0 (600100), \ dynamically linked (uses shared libs), not stripped keramida@flame:/home/keramida$ lisp ; Loading #P"/home/keramida/init.lisp". CMU Common Lisp 19c Release (19C), running on flame.pc With core: /usr/local/lib/cmucl/lib/lisp.core Dumped on: Wed, 2005-11-30 01:04:28+02:00 on boomerang See for support information. Loaded subsystems: Python 1.1, target Intel x86 CLOS based on Gerd's PCL 2004/04/14 03:32:47 *