diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-06-18 18:30:52 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-07-06 18:39:59 +0200 |
commit | 355023f2010c4df619d88a0dd7012b4b9c74c12c (patch) | |
tree | 60f388e6585b7075c1a721e14c6ce12f1bd394de /target-i386 | |
parent | fba72476c6b7be60ac74c5bcdc06c61242d1fe4f (diff) | |
download | qemu-355023f2010c4df619d88a0dd7012b4b9c74c12c.zip qemu-355023f2010c4df619d88a0dd7012b4b9c74c12c.tar.gz qemu-355023f2010c4df619d88a0dd7012b4b9c74c12c.tar.bz2 |
pc: add SMM property
The property can take values on, off or auto. The default is "off"
for KVM and pre-2.4 machines, otherwise "auto" (which makes it
available on TCG or on new-enough kernels).
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'target-i386')
-rw-r--r-- | target-i386/kvm-stub.c | 5 | ||||
-rw-r--r-- | target-i386/kvm.c | 5 | ||||
-rw-r--r-- | target-i386/kvm_i386.h | 1 |
3 files changed, 11 insertions, 0 deletions
diff --git a/target-i386/kvm-stub.c b/target-i386/kvm-stub.c index 2b9e801..6fefd65c 100644 --- a/target-i386/kvm-stub.c +++ b/target-i386/kvm-stub.c @@ -18,6 +18,11 @@ bool kvm_allows_irq0_override(void) } #ifndef __OPTIMIZE__ +bool kvm_has_smm(void) +{ + return 1; +} + /* This function is only called inside conditionals which we * rely on the compiler to optimize out when CONFIG_KVM is not * defined. diff --git a/target-i386/kvm.c b/target-i386/kvm.c index 9dccbe1..9038bf7 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -86,6 +86,11 @@ static bool has_msr_xss; static bool has_msr_architectural_pmu; static uint32_t num_architectural_pmu_counters; +bool kvm_has_smm(void) +{ + return kvm_check_extension(kvm_state, KVM_CAP_X86_SMM); +} + bool kvm_allows_irq0_override(void) { return !kvm_irqchip_in_kernel() || kvm_has_gsi_routing(); diff --git a/target-i386/kvm_i386.h b/target-i386/kvm_i386.h index cac30fd..e557e94 100644 --- a/target-i386/kvm_i386.h +++ b/target-i386/kvm_i386.h @@ -14,6 +14,7 @@ #include "sysemu/kvm.h" bool kvm_allows_irq0_override(void); +bool kvm_has_smm(void); void kvm_arch_reset_vcpu(X86CPU *cs); void kvm_arch_do_init_vcpu(X86CPU *cs); |