From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: Solaris 10 U2 installation failure Date: Thu, 04 Jan 2007 11:18:35 +0200 Message-ID: <459CC66B.1010904@qumranet.com> References: <4597F8DF.6010602@qumranet.com> <4598C3CE.3050802@qumranet.com> <459B6B91.7070509@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Return-path: To: Parag Warudkar In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: kvm.vger.kernel.org Parag Warudkar wrote: > Avi Kivity writes: > > > >> 32-bin kvm userspace can run a 64-bit guest, if you're using a 64-bit os >> kernel, hence the 64-bit registers. Just ignore the 64-bit parts. >> >> > > Didn't understand. Allow me to clarify a bit - > > I am running a 32-bit Host OS (Linux i386) on a purely 32-bit CPU (Core Duo). > Solaris installation will first check if the processor is 64-bit capable and > only then install a 64-bit kernel. In that case, when Solaris asks KVM if the > CPU is 64-bit, is KVM lying to it even though the host CPU on which it is > running is NOT 64-bit capable and then emulating all AMD64 instructions without > any help from the host CPU? That sounds more confusing! > > Even if it does something like that is there a way to tell KVM not to pretend > like it is running a 64-bit CPU? I don't want to run Solaris in 64-bit mode as I > am running on 32-bit host with just 512Mb of total memory. > No, kvm doesn't pretend to be a 64-bit cpu when it isn't. There are three cases wrt host bitness. Two are straightforward: 32-bit host: kvm pretends to be a 32-bit cpu whether the cpu supports long mode or not. 64-bit host: the cpu supports long mode, and we pass that on to the guest. There is a third case: 64-bit host kernel but 32-bit qemu. In that case, we also support 64-bit guests. Because of that last case, 32-bit qemu is compiled with support for 64-bit guests. That means that even in a pure 32-bit environment, qemu has 64-bit registers (even though it can't make use of them). If you're running a 32-bit environment, simply ignore r8-r15 and the high 32 bits of other registers. That's what kvm.ko does :) -- error compiling committee.c: too many arguments to function ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV