From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: Booting/installing WindowsNT Date: Mon, 03 May 2010 21:03:06 +0400 Message-ID: <4BDF01CA.80505@msgid.tls.msk.ru> References: <4BDB44C2.7090204@msgid.tls.msk.ru> <4BDB4E58.50805@msgid.tls.msk.ru> <4BDD4E32.2080503@redhat.com> <4BDDA455.8090001@msgid.tls.msk.ru> <4BDE882F.5000009@amd.com> <4BDE8DF4.8070604@redhat.com> <4BDE9757.8090809@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Avi Kivity , KVM list To: Andre Przywara Return-path: Received: from isrv.corpit.ru ([81.13.33.159]:37339 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753791Ab0ECRDH (ORCPT ); Mon, 3 May 2010 13:03:07 -0400 In-Reply-To: <4BDE9757.8090809@amd.com> Sender: kvm-owner@vger.kernel.org List-ID: 03.05.2010 13:28, Andre Przywara wrote: > Avi Kivity wrote: >> On 05/03/2010 11:24 AM, Andre Przywara wrote: >>> >>> can you try -cpu kvm64? This should be somewhat in between -cpu host >>> and -cpu qemu64. >>> Also look in dmesg for uncatched rd/wrmsrs. In case you find >>> something there, please try: >>> # modprobe kvm ignore_msrs=1 >>> (You have to unload the modules first) >> >> It's unlikely NT 4 will touch msrs, it's used to running on very old >> hardware (pre-msr, even). I expect it's a problem with the bios or >> vendor/model/blah. > That is probably right, although I could be that it uses some MSRs if it > finds the CPUID bit set. But I just wanted to make sure that not the issue. > > I made a diff of the CPUID flags between qemu64 and Michael's host, the > difference is: > only on qemu64: up hypervisor > up is a Linux pseudo flag for a SMP kernel running on an UP host, the > hypervisor bit has been introduced much later than even SP6. I guess > that is OK, but note that Linux supposedly recognizes the single VCPU > guest with -cpu host as SMP. But I guess that is not an issue for NT4, > since it does not know about multi-core CPUs and CPUID based topology > detection. > > only on host: vme ht mmxext fxsr_opt rdtscp 3dnowext 3dnow rep_good > extd_apicid > cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv > Most of the features are far younger than NT4, only "vme" sticks out. > This is pretty old flag, but I am not sure if that matters. My > documentation reads: > VME: virtual-mode enhancements. CR4.VME, CR4.PVI, software interrupt > indirection, expansion of the TSS with the software, indirection bitmap, > EFLAGS.VIF, EFLAGS.VIP. > > Let's just rule that out: > > Michael, can you try to use -cpu host,-vme and see if that makes a > difference? With -cpu host,-vme winNT boots just fine as with just -cpu host. I also tried with -cpu qemu64 and kvm64, with +vme and -vme (4 combinations in total) - in all cases winNT crashes with the same 0x0000003E error. So it appears that vme makes no difference. While trying some other combinations, I noticed that with -cpu pentium, while the install CD stops after loading kernel (no BSoD as with other cases, it just stalls), it stops... differently than in other cases. It sits there doing exactly nothing, all host CPUs are idle, there's no progress of any sort. In all other cases the guest cpu is working at full speed all the time. Just.. random observation, yet another one... ;) Thanks! /mjt