[vbox-dev] "Bug" on Virtualbox 1.5 with Via C7 CPU: Can't run XP guest

David Losada Gacio david.losadag at gmail.com
Fri Oct 12 23:10:32 GMT 2007


It was discovered in february this year as Heike C. Zimmerer wrote (see:
http://www.mail-archive.com/vbox-users@virtualbox.org/msg00423.html ),
but it's still a problem. When I install Win XP SP2 as guest on
Kubuntu 7.10 host with a C7 Esther processor it refuses to install.

With my previous C3 Samuel without cmov Virtualbox 1.4 WinXP run
perfectly, but now with C7 (it's like a i686) I can't run it...

Description of the problem:
I think that Virtualbox passes a CPUID that this broken XP
misunderstands with another CPU, so refuses to continue:
> |   Windows requires certain processor features that are not available
> |   on the processor in this computer. Specifically, Windows requires the
> |   following instructions.
> |
> |       CPUID
> |       CMPXCHG8B
> |
> |   Setup cannot continue.  Press any key to exit.
>

My cpuinfo:
processor       : 0
vendor_id       : CentaurHauls
cpu family      : 6
model           : 10
model name      : VIA Esther processor 2000MHz
stepping        : 9
cpu MHz         : 2000.000
cache size      : 128 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce apic sep mtrr pge
cmov pat clflush acpi mmx fxsr sse sse2 tm nx pni est tm2 rng rng_en
ace ace_en ace2 ace2_en phe phe_en pmm pmm_en
bogomips        : 4002.58
clflush size    : 64

And the CPUID in the log:
00:00:28.333 Logical host processors: 1, processor active mask: 00000001
00:00:28.333 ************************* CPUID dump ************************
00:00:28.333          RAW Standard CPUIDs
00:00:28.333      Function  eax      ebx      ecx      edx
00:00:28.333 Gst: 00000000  00000001 746e6543 736c7561 48727561
00:00:28.333 Hst:           00000001 746e6543 736c7561 48727561
00:00:28.333 Gst: 00000001  000006a9 0000ffff 00000000 0780a0bf
00:00:28.333 Hst:           000006a9 00010800 00000181 a7c9baff
00:00:28.333 Gst: 00000002  00000000 00000000 00000000 00000000*
00:00:28.333 Hst:           00000000 00000000 00000000 00000000
00:00:28.333 Gst: 00000003  00000000 00000000 00000000 00000000*
00:00:28.333 Hst:           00000000 00000000 00000000 00000000
00:00:28.333 Gst: 00000004  00000000 00000000 00000000 00000000*
00:00:28.333 Hst:           00000000 00000000 00000000 00000000
00:00:28.333 Gst: 00000005  80000004 00000000 00000000 00000000*
00:00:28.333 Hst:           00000000 00000000 00000000 00000000
00:00:28.333 Name:                            CentaurHauls
00:00:28.333 Supports:                        0-1
00:00:28.333 Family:                          6  	Extended: 0 	Effectiv: 6
00:00:28.333 Model:                           10  	Extended: 0 	Effectiv: 10
00:00:28.333 Stepping:                        9
00:00:28.333 APIC ID:                         0x00
00:00:28.333 Logical CPUs:                    0
00:00:28.333 CLFLUSH Size:                    255
00:00:28.333 Brand ID:                        0xff
00:00:28.333 Mnemonic - Description                 = guest (host)
00:00:28.333 FPU - x87 FPU on Chip                  = 1 (1)
00:00:28.333 VME - Virtual 8086 Mode Enhancements   = 1 (1)
00:00:28.333 DE - Debugging extensions              = 1 (1)
00:00:28.333 PSE - Page Size Extension              = 1 (1)
00:00:28.333 TSC - Time Stamp Counter               = 1 (1)
00:00:28.333 MSR - Model Specific Registers         = 1 (1)
00:00:28.333 PAE - Physical Address Extension       = 0 (1)
00:00:28.333 MCE - Machine Check Exception          = 1 (1)
00:00:28.333 CX8 - CMPXCHG8B instruction            = 0 (0)
00:00:28.333 APIC - APIC On-Chip                    = 0 (1)
00:00:28.333 Reserved                               = 0 (0)
00:00:28.333 SEP - SYSENTER and SYSEXIT             = 0 (1)
00:00:28.333 MTRR - Memory Type Range Registers     = 0 (1)
00:00:28.333 PGE - PTE Global Bit                   = 1 (1)
00:00:28.333 MCA - Machine Check Architecture       = 0 (0)
00:00:28.333 CMOV - Conditional Move Instructions   = 1 (1)
00:00:28.333 PAT - Page Attribute Table             = 0 (1)
00:00:28.333 PSE-36 - 36-bit Page Size Extention    = 0 (0)
00:00:28.333 PSN - Processor Serial Number          = 0 (0)
00:00:28.333 CLFSH - CLFLUSH Instruction.           = 0 (1)
00:00:28.333 Reserved                               = 0 (0)
00:00:28.333 DS - Debug Store                       = 0 (0)
00:00:28.333 ACPI - Thermal Mon. & Soft. Clock Ctrl.= 0 (1)
00:00:28.333 MMX - Intel MMX Technology             = 1 (1)
00:00:28.333 FXSR - FXSAVE and FXRSTOR Instructions = 1 (1)
00:00:28.333 SSE - SSE Support                      = 1 (1)
00:00:28.333 SSE2 - SSE2 Support                    = 1 (1)
00:00:28.333 SS - Self Snoop                        = 0 (0)
00:00:28.333 HTT - Hyper-Threading Technolog        = 0 (0)
00:00:28.333 TM - Thermal Monitor                   = 0 (1)
00:00:28.333 30 - Reserved                          = 0 (0)
00:00:28.333 PBE - Pending Break Enable             = 0 (1)
00:00:28.333 Supports SSE3 or not                   = 0 (1)
00:00:28.333 Reserved                               = 0 (0)
00:00:28.333 Supports MONITOR/MWAIT                 = 0 (0)
00:00:28.333 CPL-DS - CPL Qualified Debug Store     = 0 (0)
00:00:28.333 VMX - Virtual Machine Technology       = 0 (0)
00:00:28.333 Reserved                               = 0 (0)
00:00:28.333 Enhanced SpeedStep Technology          = 0 (1)
00:00:28.333 Terminal Monitor 2                     = 0 (1)
00:00:28.333 Supports Supplemental SSE3 or not      = 0 (0)
00:00:28.333 L1 Context ID                          = 0 (0)
00:00:28.333 Reserved                               = 0x0 (0x0)
00:00:28.333 CMPXCHG16B                             = 0 (0)
00:00:28.333 xTPR Update Control                    = 0 (0)
00:00:28.333 Reserved                               = 0x0 (0x0)
00:00:28.333
00:00:28.333          RAW Extended CPUIDs
00:00:28.333      Function  eax      ebx      ecx      edx
00:00:28.333 Gst: 80000000  80000004 00000000 00000000 00000000
00:00:28.333 Hst:           80000006 00000000 00000000 00000000
00:00:28.333 Gst: 80000001  00000000 00000000 00000000 00000000
00:00:28.333 Hst:           00000000 00000000 00000000 00100000
00:00:28.333 Gst: 80000002  20202020 20202020 20202020 20202020
00:00:28.333 Hst:           20202020 20202020 20202020 20202020
00:00:28.333 Gst: 80000003  56202020 45204149 65687473 72702072
00:00:28.333 Hst:           56202020 45204149 65687473 72702072
00:00:28.333 Gst: 80000004  7365636f 20726f73 30303032 007a484d
00:00:28.334 Hst:           7365636f 20726f73 30303032 007a484d
00:00:28.334 Gst: 80000005  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 08800880 40040140 40040140
00:00:28.334 Gst: 80000006  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 00000000 0080a140 00000000
00:00:28.334 Gst: 80000007  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 00000000 00000000 00000000
00:00:28.334 Gst: 80000008  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 00000000 00000000 00000000
00:00:28.334 Gst: 80000009  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 00000000 00000000 00000000
00:00:28.334 Gst: 8000000a  00000000 00000000 00000000 00000000*
00:00:28.334 Hst:           00000000 00000000 00000000 00000000
00:00:28.334 Ext Name:
00:00:28.334 Ext Supports:                    0x80000000-0x80000004
00:00:28.334 Family:                          0  	Extended: 0 	Effectiv: 0
00:00:28.334 Model:                           0  	Extended: 0 	Effectiv: 0
00:00:28.334 Stepping:                        0
00:00:28.334 Brand ID:                        0x000
00:00:28.334 Mnemonic - Description                 = guest (host)
00:00:28.334 FPU - x87 FPU on Chip                  = 0 (0)
00:00:28.334 VME - Virtual 8086 Mode Enhancements   = 0 (0)
00:00:28.334 DE - Debugging extensions              = 0 (0)
00:00:28.334 PSE - Page Size Extension              = 0 (0)
00:00:28.334 TSC - Time Stamp Counter               = 0 (0)
00:00:28.334 MSR - K86 Model Specific Registers     = 0 (0)
00:00:28.334 PAE - Physical Address Extension       = 0 (0)
00:00:28.334 MCE - Machine Check Exception          = 0 (0)
00:00:28.334 CX8 - CMPXCHG8B instruction            = 0 (0)
00:00:28.334 APIC - APIC On-Chip                    = 0 (0)
00:00:28.334 10 - Reserved                          = 0 (0)
00:00:28.334 SEP - SYSCALL and SYSRET               = 0 (0)
00:00:28.334 MTRR - Memory Type Range Registers     = 0 (0)
00:00:28.334 PGE - PTE Global Bit                   = 0 (0)
00:00:28.334 MCA - Machine Check Architecture       = 0 (0)
00:00:28.334 CMOV - Conditional Move Instructions   = 0 (0)
00:00:28.334 PAT - Page Attribute Table             = 0 (0)
00:00:28.334 PSE-36 - 36-bit Page Size Extention    = 0 (0)
00:00:28.334 18 - Reserved                          = 0 (0)
00:00:28.334 19 - Reserved                          = 0 (0)
00:00:28.334 NX - No-Execute Page Protection        = 0 (1)
00:00:28.334 DS - Debug Store                       = 0 (0)
00:00:28.334 AXMMX - AMD Extensions to MMX Instr.   = 0 (0)
00:00:28.334 MMX - Intel MMX Technology             = 0 (0)
00:00:28.334 FXSR - FXSAVE and FXRSTOR Instructions = 0 (0)
00:00:28.334 25 - AMD fast FXSAVE and FXRSTOR Instr.= 0 (0)
00:00:28.334 26 - Reserved                          = 0 (0)
00:00:28.334 27 - Reserved                          = 0 (0)
00:00:28.334 28 - Reserved                          = 0 (0)
00:00:28.334 29 - AMD Long Mode                     = 0 (0)
00:00:28.334 30 - AMD Extensions to 3DNow           = 0 (0)
00:00:28.334 31 - AMD 3DNow                         = 0 (0)
00:00:28.334 LahfSahf - LAHF/SAHF in 64-bit mode    = 0 (0)
00:00:28.334 CmpLegacy - Core MP legacy mode (depr) = 0 (0)
00:00:28.334 SVM - AMD VM Extensions                = 0 (0)
00:00:28.334 APIC registers starting at 0x400       = 0 (0)
00:00:28.334 AltMovCR8 - LOCK MOV CR0 means MOV CR8 = 0 (0)
00:00:28.334 Advanced bit manipulation              = 0 (0)
00:00:28.334 SSE4A instruction support              = 0 (0)
00:00:28.334 Misaligned SSE mode                    = 0 (0)
00:00:28.334 PREFETCH and PREFETCHW instruction     = 0 (0)
00:00:28.334 OS visible workaround                  = 0 (0)
00:00:28.334 11:10 - Reserved                       = 0x0 (0x0)
00:00:28.334 SKINIT, STGI, and DEV support          = 0 (0)
00:00:28.334 Watchdog timer support.                = 0 (0)
00:00:28.334 31:14 - Reserved                       = 0x0 (0x0)
00:00:28.334 Full Name:                                          VIA
Esther processor 2000MHz
00:00:28.334
00:00:28.334 ******************** End of CPUID dump **********************

I know that probably it is a problem of buggy windows, but natively it
runs, so please change the reported CPUID to make it run.
Thank you for your attention. I usually support the projects that I
enjoy, with money or help, and this project will have a brilliant
future (virtualization will be a must soon).

Kind regards from Spain,

David Losada (Ringmaster)




More information about the vbox-dev mailing list