[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 02/11] kvm: provide API to query amount of memory sl
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH 02/11] kvm: provide API to query amount of memory slots supported by KVM |
Date: |
Fri, 31 Oct 2014 16:38:33 +0000 |
Signed-off-by: Igor Mammedov <address@hidden>
---
include/sysemu/kvm.h | 1 +
kvm-all.c | 14 ++++++++++++++
kvm-stub.c | 5 +++++
3 files changed, 20 insertions(+)
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 22e42ef..a49c1cd 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -163,6 +163,7 @@ extern KVMState *kvm_state;
/* external API */
+int kvm_free_slot_count(MachineState *ms);
bool kvm_has_free_slot(MachineState *ms);
int kvm_has_sync_mmu(void);
int kvm_has_vcpu_events(void);
diff --git a/kvm-all.c b/kvm-all.c
index c24e74b..bb61f0d 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -132,6 +132,20 @@ static const KVMCapabilityInfo kvm_required_capabilites[]
= {
KVM_CAP_LAST_INFO
};
+int kvm_free_slot_count(MachineState *ms)
+{
+ int i, count;
+ KVMState *s = KVM_STATE(ms->accelerator);
+
+ for (i = 0, count = 0; i < s->nr_slots; i++) {
+ if (s->slots[i].memory_size == 0) {
+ ++count;
+ }
+ }
+
+ return count;
+}
+
static KVMSlot *kvm_get_free_slot(KVMState *s)
{
int i;
diff --git a/kvm-stub.c b/kvm-stub.c
index 7ba90c5..e49d732 100644
--- a/kvm-stub.c
+++ b/kvm-stub.c
@@ -152,4 +152,9 @@ bool kvm_has_free_slot(MachineState *ms)
{
return false;
}
+
+int kvm_free_slot_count(MachineState *ms)
+{
+ return INT_MAX;
+}
#endif
--
1.8.3.1
- [Qemu-devel] [PATCH 00/11] pc: kvm: memory hotplug fixes, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 01/11] pc: kvm: check if KVM has free memory slots to avoid abort(), Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 02/11] kvm: provide API to query amount of memory slots supported by KVM,
Igor Mammedov <=
- [Qemu-devel] [PATCH 03/11] pc: check if KVM has enough memory slots for DIMM devices, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 04/11] pc: make pc_dimm_plug() more readble, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 05/11] pc: limit DIMM address and size to page aligned values, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 06/11] memory: expose alignment used for allocating RAM as MemoryRegion API, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 08/11] pc: align DIMM's address/size by backend's alignment value, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 07/11] pc: add pc_init_pci_2_1() and pc_compat_2_1(), Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 09/11] pc: pc-dimm: use backend alignment during address auto allocation, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 10/11] pc: explicitly check maxmem limit when adding DIMM, Igor Mammedov, 2014/10/31
- [Qemu-devel] [PATCH 11/11] pc: count in 1Gb hugepage alignment when sizing hotplug-memory container, Igor Mammedov, 2014/10/31