[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 2/5] kvm: add kvm_readonly_mem_enabled
From: |
Jordan Justen |
Subject: |
[Qemu-devel] [PATCH v5 2/5] kvm: add kvm_readonly_mem_enabled |
Date: |
Wed, 8 May 2013 15:44:39 -0700 |
Signed-off-by: Jordan Justen <address@hidden>
---
include/sysemu/kvm.h | 10 ++++++++++
kvm-all.c | 6 ++++++
kvm-stub.c | 1 +
3 files changed, 17 insertions(+)
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 9735c1d..13c4b2e 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -45,6 +45,7 @@ extern bool kvm_async_interrupts_allowed;
extern bool kvm_irqfds_allowed;
extern bool kvm_msi_via_irqfd_allowed;
extern bool kvm_gsi_routing_allowed;
+extern bool kvm_readonly_mem_allowed;
#if defined CONFIG_KVM || !defined NEED_CPU_H
#define kvm_enabled() (kvm_allowed)
@@ -97,6 +98,14 @@ extern bool kvm_gsi_routing_allowed;
*/
#define kvm_gsi_routing_enabled() (kvm_gsi_routing_allowed)
+/**
+ * kvm_readonly_mem_enabled:
+ *
+ * Returns: true if KVM readonly memory is enabled (ie the kernel
+ * supports it and we're running in a configuration that permits it).
+ */
+#define kvm_readonly_mem_enabled() (kvm_readonly_mem_allowed)
+
#else
#define kvm_enabled() (0)
#define kvm_irqchip_in_kernel() (false)
@@ -104,6 +113,7 @@ extern bool kvm_gsi_routing_allowed;
#define kvm_irqfds_enabled() (false)
#define kvm_msi_via_irqfd_enabled() (false)
#define kvm_gsi_routing_allowed() (false)
+#define kvm_readonly_mem_enabled() (false)
#endif
struct kvm_run;
diff --git a/kvm-all.c b/kvm-all.c
index 3a31602..1686adc 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -111,6 +111,7 @@ bool kvm_irqfds_allowed;
bool kvm_msi_via_irqfd_allowed;
bool kvm_gsi_routing_allowed;
bool kvm_allowed;
+bool kvm_readonly_mem_allowed;
static const KVMCapabilityInfo kvm_required_capabilites[] = {
KVM_CAP_INFO(USER_MEMORY),
@@ -1425,6 +1426,11 @@ int kvm_init(void)
s->irq_set_ioctl = KVM_IRQ_LINE_STATUS;
}
+#ifdef KVM_CAP_READONLY_MEM
+ kvm_readonly_mem_allowed =
+ (kvm_check_extension(s, KVM_CAP_READONLY_MEM) > 0);
+#endif
+
ret = kvm_arch_init(s);
if (ret < 0) {
goto err;
diff --git a/kvm-stub.c b/kvm-stub.c
index b2c8f9b..22eaff0 100644
--- a/kvm-stub.c
+++ b/kvm-stub.c
@@ -26,6 +26,7 @@ bool kvm_irqfds_allowed;
bool kvm_msi_via_irqfd_allowed;
bool kvm_gsi_routing_allowed;
bool kvm_allowed;
+bool kvm_readonly_mem_allowed;
int kvm_init_vcpu(CPUState *cpu)
{
--
1.7.10.4
- [Qemu-devel] [PATCH v5 0/5] KVM flash memory support, Jordan Justen, 2013/05/08
- [Qemu-devel] [PATCH v5 1/5] isapc: Fix non-KVM qemu boot (read/write memory for isapc BIOS), Jordan Justen, 2013/05/08
- [Qemu-devel] [PATCH v5 4/5] pc_sysfw: allow flash (-pflash) memory to be used with KVM, Jordan Justen, 2013/05/08
- [Qemu-devel] [PATCH v5 5/5] pc_sysfw: change rom_only default to 0, Jordan Justen, 2013/05/08
- [Qemu-devel] [PATCH v5 2/5] kvm: add kvm_readonly_mem_enabled,
Jordan Justen <=
- [Qemu-devel] [PATCH v5 3/5] kvm: support using KVM_MEM_READONLY flag for regions, Jordan Justen, 2013/05/08
- Re: [Qemu-devel] [PATCH v5 0/5] KVM flash memory support, Paolo Bonzini, 2013/05/09