[opensuse-virtual] What HVM-specific code IDs a DomU/guest cpu as 64-bit?
I'm running Opensuse 11.1-RELEASE, uname -a Linux server 2.6.27.7-9-xen #1 SMP 2008-12-04 18:10:04 +0100 x86_64 x86_64 x86_64 GNU/Linux On this X86_64 hardware, I can use/install in the following scenarios, with no problems: 64-bit OS 11.1, 64-bit kernel-default OK 64-bit OS 11.1, 64-bit kernel-xen, Dom0 OK 64-bit OS 11.1, 64-bit Dom0 + 64-bit Linux/PV DomU OK 64-bit OS Windows7 (beta) OK If I attempt 64-bit HVM DomU installs, with pae=0 in config, for three cases, (1) 64-bit OS 11.1, 64-bit Dom0 + 64-bit Windows7/HVM(pae=0) DomU fails @, win7 Virtual Machine Console Windows Boot Manager File: \windows\system32\boot\winload.exe Status: 0xc000035a Info: Attempting to load a 64-bit application, however this CPU is not compatible with 64-bit mode (2) 64-bit OS 11.1, 64-bit Dom0 + 64-bit WinVista/HVM(pae=0) DomU fails @, (same error as above) and, (3) 64-bit OS 11.1, 64-bit Dom0 + 64-bit Opensuse 11.1/HVM(pae=0) DomU fails @, OpenSuse installer "Cool software but, This is a 32-bit computer. You cannot use 64-bit software on it." I've been told that the problem is the mobo BIOS, namely "BIOS Masking" of the amd-v extensions. I'd like to document the issue in comms to the h/w vendor and identify the code that's looking for the BIOS-specified amd-v extensions. Poking around in opensuse 11.1, I note in cd /usr/src/linux-2.6.27.7-9/arch/x86 grep -rlni svm kvm/ kvm/svm.h kvm/svm.c kvm/kvm_svm.h kvm/Kconfig kvm/Makefile but, grep -rlni svm xen/ returns (empty). checking in xen hg source, I find, cd xen-3.3.1-testing find . | grep svm ./tools/ioemu-remote/target-i386/svm.h ./xen/include/asm-x86/hvm/svm ./xen/include/asm-x86/hvm/svm/amd-iommu-acpi.h ./xen/include/asm-x86/hvm/svm/emulate.h ./xen/include/asm-x86/hvm/svm/svm.h ./xen/include/asm-x86/hvm/svm/amd-iommu-defs.h ./xen/include/asm-x86/hvm/svm/asid.h ./xen/include/asm-x86/hvm/svm/vmcb.h ./xen/include/asm-x86/hvm/svm/amd-iommu-proto.h ./xen/include/asm-x86/hvm/svm/intr.h ./xen/arch/x86/hvm/svm ./xen/arch/x86/hvm/svm/svm.c ./xen/arch/x86/hvm/svm/Makefile ./xen/arch/x86/hvm/svm/entry.S ./xen/arch/x86/hvm/svm/vmcb.c ./xen/arch/x86/hvm/svm/asid.c ./xen/arch/x86/hvm/svm/intr.c ./xen/arch/x86/hvm/svm/emulate.c svm-related source files clearly exist for the hvm code, and in the kvm-related opensuse linux source. it *seems* that related source is missing from the opensuse xen source (?). under non-xen, kernel-default, cat /proc/cpuinfo | grep -i svm flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch under kernel-xen, xen 'says' svm is enabled/available, xm dmesg | grep -i svm (XEN) AMD SVM: ASIDs enabled. (XEN) HVM: SVM enabled (XEN) AMD SVM: ASIDs enabled. so, clearly, something's been communicated to the Dom0 about svm capability. but, oddly, cat /proc/cpuinfo | grep -i svm (empty) "something" is not hearing from BIOS about the 64-bit-ness of the CPU. either the "listening" code (kernel? xen? other?) is missing, &/or the BIOS isn't "speaking" the right/complete info in the first place. -- To unsubscribe, e-mail: opensuse-virtual+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-virtual+help@opensuse.org
participants (1)
-
PGNet