Also, now that I think about it, shouldn't this code be in #ifdef statements (or something) so it is not compiled in on an intel target?
On 6/26/07, Russell Harmon <[EMAIL PROTECTED]> wrote: > are you doing it in the kernel tree, or the userspace tree. I forgot > to mention that the offending files are in the kernel tree. The output > of git show cfc329b216bc3e54fe1107e8f714c7b3bc133224 in the kernel > tree is as follows: > > commit cfc329b216bc3e54fe1107e8f714c7b3bc133224 > Author: Joerg Roedel <[EMAIL PROTECTED]> > Date: Fri Jun 22 12:29:50 2007 +0300 > > KVM: SVM: Reliably detect if SVM was disabled by BIOS > > This patch adds an implementation to the svm is_disabled function to > detect reliably if the BIOS disabled the SVM feature in the CPU. This > fixes the issues with kernel panics when loading the kvm-amd module on > machines where SVM is available but disabled. > > Signed-off-by: Joerg Roedel <[EMAIL PROTECTED]> > Signed-off-by: Avi Kivity <[EMAIL PROTECTED]> > > diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c > index 62ec38c..a0d4428 100644 > --- a/drivers/kvm/svm.c > +++ b/drivers/kvm/svm.c > @@ -1735,6 +1735,12 @@ static void svm_inject_page_fault(struct kvm_vcpu > *vcpu, > > static int is_disabled(void) > { > + u64 vm_cr; > + > + rdmsrl(MSR_VM_CR, vm_cr); > + if (vm_cr & (1 << SVM_VM_CR_SVM_DISABLE)) > + return 1; > + > return 0; > } > > diff --git a/drivers/kvm/svm.h b/drivers/kvm/svm.h > index 5e93814..005a9c5 100644 > --- a/drivers/kvm/svm.h > +++ b/drivers/kvm/svm.h > @@ -175,8 +175,11 @@ struct __attribute__ ((__packed__)) vmcb { > #define SVM_CPUID_FUNC 0x8000000a > > #define MSR_EFER_SVME_MASK (1ULL << 12) > +#define MSR_VM_CR 0xc0010114ULL > #define MSR_VM_HSAVE_PA 0xc0010117ULL > > +#define SVM_VM_CR_SVM_DISABLE 4 > + > #define SVM_SELECTOR_S_SHIFT 4 > #define SVM_SELECTOR_DPL_SHIFT 5 > #define SVM_SELECTOR_P_SHIFT 7 > > > On 6/26/07, Avi Kivity <[EMAIL PROTECTED]> wrote: > > Russell Harmon wrote: > > > Ok, I figured out the problem. It seems to compile fine when I remove > > > the changes made to svm.c in commit > > > cfc329b216bc3e54fe1107e8f714c7b3bc133224. I am using my laptop which > > > is an intel centrino duo processor with vmx. > > > > > > > I don't have a cfc329b216bc3e54fe1107e8f714c7b3bc133224. What does 'git > > show cfc329b216bc3e54fe1107e8f714c7b3bc133224' say? > > > > > ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel