VirtualBox

Ticket #1933 (closed defect: fixed)

Opened 6 years ago

Last modified 17 months ago

VirtualBox doesn't detect my AMD virtualization

Reported by: SEGStriker Owned by:
Priority: major Component: VMM/HWACCM
Version: VirtualBox 1.6.4 Keywords: hardware virtualization
Cc: Guest type: other
Host type: Windows

Description

Tried to enable hardware assisted virtualization, needed for OS/2 guest installation. After enabling the option - both in global preferences and in VM settings I found that the machine won't boot. I saw for a moment OS/2 logo, then it disappeared and VM stucks with black sceren. I examined Runtime Attributes in Session Information and there VT-x/AMD-V was disabled. I know my cpu is supporting AMD-V - it's already working in Parallels Workstation. I tested AMD-V with tools like "Securable" and I can confirm, that hardware assisted virtualization is detected and working well. My CPU is AMD Athlon 64 X2 5000+ AM2 - 65nm, code name: Brisbane, revision: BH-G1. My motherboard is Gigabyte GA-MA69G-S3H, Bios revision F6 (latest), virtualization support is enabled in BIOS settings. Hardware virtualization is not working (or can't be enabled) in VirtualBox 1.5.2 - 1.6.4, tested on my machine for several months.

Attachments

VBox.log Download (52.0 KB) - added by SEGStriker 6 years ago.
VirtualBox 1.6.2 OS/2 4.52 Logfile
VBox.2.log Download (52.0 KB) - added by SEGStriker 6 years ago.
VirtualBox 1.6.4 Log
VBox.3.log Download (30.6 KB) - added by bvkchaitanya 5 years ago.
VirtualBox 2.0 log with Windows XP guest on Linux host

Change History

comment:1 Changed 6 years ago by frank

Please

  1. make sure that you enabled this feature in your BIOS and
  2. attach a VBox.log file of an OS/2 session to this report

Changed 6 years ago by SEGStriker

VirtualBox 1.6.2 OS/2 4.52 Logfile

comment:2 Changed 6 years ago by SEGStriker

Yes, it's enabled in BIOS, I already mention that before. It's already confirmed - I am certified system administrator. Here is my vbox.log (this time it's obtained using VBox 1.6.2), it's has these lines:

00:06:23.575 Mnemonic - Description = guest (host) ............ 00:06:23.575 SVM - AMD VM Extensions = 0 (1)

I tried several OS/2 version, this is using OS/2 Client 4.52. I already tried Ecomstation 1.1 and 2.0b, and some older versions, just in case - 1.0, 1.1c, 2.0, 3.0 and 4.0 - all versions are working properly in Parallels Workstation with SVM enabled.

comment:3 Changed 6 years ago by frank

Please could you post a logfile of VirtualBox 1.6.4? You said you tested this version as well but perhaps there are different log entries (note we changed a lot regarding VT-x and AMD-V in 1.6.4)?

Changed 6 years ago by SEGStriker

VirtualBox 1.6.4 Log

comment:4 Changed 6 years ago by SEGStriker

Here... No difference at all.

comment:5 Changed 6 years ago by frank

  • Component changed from host support to VMM/HWACCM

comment:6 Changed 6 years ago by sandervl73

Which Windows version are you using on your computer?

comment:7 Changed 6 years ago by SEGStriker

This log is taken with Windows 2003 SP2, Standard Edition. I have same results with Windows XP SP2, Windows Vista (32 bit) and various Linux distributions - Debian Etch, Fedora 8, OpenSUSE 10.3, Slackware 12. I tried hardly to install OS/2 as VirtualBox guest, but I still can't.

comment:8 Changed 6 years ago by sandervl73

The error code you get is kind of strange. You're saying you have tried all these Windows and Linux *hosts* and the result is the same? (just double checking as people often confuse guest with host)

comment:9 Changed 6 years ago by SEGStriker

Yes, I have multiply boot machines in my home and a lot of servers and workstations at my work - I already said I am System Administrator, I am not an ordinary user. In my work I am using several virtualization products - VMWare ESX, VMWare Server, Parallels, Xen, Microsoft Virtual Server, Microsoft Virtual PC, linux vserver and some other. I am using VirtualBox in my home for testing purposes and after some time I found that I can't make hardware virtualization to work with my main home computer. Then I tried several other OS that I already have installed on my PC - both 32 and 64 bit - the situation was the same: I enabled the option, but in running VM I found that it's disabled. I suspected that my motherboard or my CPU for some weird reason is not working properly with VBox, so I tried it on my other computers - the result was the same: hardware virtualization wasn't working at all with VBox, but it was working very well with VMWare Workstation, Xen, Parallels Workstation. Then I guessed that VBox don't work properly with AMD SVM, so I tested it on several Core 2 Duo systems with Intel VT-x. I found that almost 1/2 of them was missing VT-x, because of strange motherboard problems, but some of them were working properly with VT-x enabled in Parallels Workstation and Microsoft Virtual PC 2007. I installed VirtualBox 1.6.0 - 1.6.4 and I found that VT-x wasn't working too. I suspected that hardware virtualization is enabled in VBox only when needed, so I tried to install OS/2. I wasn't succeed - OS/2 freezes at startup screen. But it is working fine in Microsoft Virtual PC - with and without hardware virtualization. OS/2 is working in Parallels Workstation too, so my OS/2 copy is good.

comment:10 Changed 6 years ago by sandervl73

You must make sure that you enable hardware acceleration in the VM settings. This is done automatically (but check please) when you select OS/2 as the guest OS type. The logs above show that you indeed did this for the AMD-V machine.

I haven't heard any problems about VT-x not working from other users though. If you can give me a log of such a session, then I might be able to see why.

I'll try to get back to you later today. Perhaps you could try a debug version with some extra logging to see where exactly the failure occurs. (I'll provide one when I've made the necessary changes)

comment:11 Changed 6 years ago by sandervl73

Closed duplicate ticket #2061.

comment:12 Changed 6 years ago by sandervl73

Please attach a log from 2.0.2.

comment:13 Changed 5 years ago by bvkchaitanya

Hi I notice the same problem on my AMD64 box too.

I see

00:00:15.743 HWACCM: No VMX or SVM CPU extension found. Reason VERR_SVM_DISABLED 00:00:15.743 HWACCM: VMX MSR_IA32_FEATURE_CONTROL=0

in my log file.

Changed 5 years ago by bvkchaitanya

VirtualBox 2.0 log with Windows XP guest on Linux host

comment:14 Changed 5 years ago by bvkchaitanya

OK, SVM was disabled in my BIOS earlier. Now i can see SVM enabled in session status.

PS: But CPU utilization is still shown as 100% :-(

comment:15 Changed 5 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

So your last problem was that SVM is indeed enabled but you see a 100% host OS load? Please retry with the latest release (2.2.2) and reopen this ticket if the problem persists.

comment:16 Changed 3 years ago by przemoc

The issue was going to cover AMD virtualization problems. It was closed after bvkchaitanya came with other than predecessors' problem, that should have its own issue actually. (Similarly to my #2061, where faghutz came with Mac OS X problem.) But ad rem.


Until recently I was unaware of the fact that AMD F2 stepping has buggy virtualization. I have BH-F2 revision, so it may mean that it could be CPU issue that BIOS is just not covering, i.e. has no workaround for it.

Some more information

Problem

Mention of F2 virtualization issue at Microsoft's technet forum:  Hypervisor Issues with AMD CPUs

Quoting Taylor Brown from Microsoft:

F2 CPU's have a hardware problem and require BIOS support to workaround the issue... This is fixed in F3 CPU's.

How to find it

AMD tool can apparently confirm the problem:  AMD Virtualization™ Technology and Microsoft® Hyper-V™ System Compatibility Check Utility

Quoting important part from my result of running amdvhyperv.exe:

This utility detected that a necessary BIOS patch is not installed.

AMD's most current processors do not require a BIOS patch to run Hyper-V.

Hyper-V is only marketing talk and as we know it's actually about correctly functioning AMD SVM.

Possible proof of the F2 issue existence

 IBM System x3755 BIOS update

Quoting part of Version 1.08 (Build ID: ZYE129A) description:

Added microcode patch to fix Virtualization bug on Rev F2 Opteron

Details

I have looked at following papers for information regarding virtualization issue concerning F2 stepping:

I lack required knowledge to recognize the right issue from many listed in these papers. Or it's not listed there.

I am still trying to obtain additional details regarding this problem.


I think this message was at least partially valuable, thus justified writing in this old issue.

comment:17 Changed 3 years ago by frank

I agree. Thanks for this information!

comment:18 Changed 17 months ago by przemoc

Today I noticed that I haven't provided how my problem ended. I think it may be slightly interesting for some of you, so please excuse me reviving this old ticket. Here is what was my wild guess about the issue back then (end of February, 2011):


In revision 3.08 of  BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors (it looks that previously I used other official link, which gives not up-to-date version, but it actually doesn't matter here) information about MSR C001_0114 (VM_CR) register was added. This register was introduced in revision F of AMD NPT Family 0Fh Processors.

It has 2 SVM-related bits:

  1. LOCK - Lock SVM
  2. SVME_DISABLE - Disable SVM

VM_CR.SVME_DISABLE must be 0 (if not, it may be changed only if read-only VM_CR.LOCK = 0) to allow setting EFER.SVME (SVM Enable), which is clear by default.

Maybe the problem of F2 is that VM_CR.LOCK and VM_CR.SVME_DISABLE are set by default and BIOS must somehow clear them? LOCK is read-only field, so I am not sure how it should be changed, but with some microprogram it should be definitely possible.


How you can check above mentioned bits in Linux I've already shown in  AMD-V activated, or not? thread in the forum. Both LOCK and SVME_DISABLE were set in my case, so I couldn't do anything. But knowing that there is something like SVME_DISABLE was eye-opening in fact after all. At some point I had a hunch.

All the time I had hardware virtualization turned on in my BIOS settings:

Advanced BIOS Features -> CPU Feature -> Virtualization: Enabled

That's what I thought. But what if it's not really about Virtualization? It could be about disabling virtualization, no? I changed it to Disabled and quick tests showed that all my virtualization problems ceased to exist.

$ sudo modprobe msr
$ sudo rdmsr 0xC0010114 #VM_CR
0

In the end my BIOS (version 12, 03/26/2007, Abit KN9) worked well with my F2 CPU's virtualization, and the only problem was buggy name of the CPU Feature, which should be called:

Disable Virtualization

The solution was so close in the first place...

Last edited 17 months ago by przemoc (previous) (diff)
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use