[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 3/6] kvm: add kvm_get_max_vm_phys_shift
From: |
Eric Auger |
Subject: |
[Qemu-devel] [RFC 3/6] kvm: add kvm_get_max_vm_phys_shift |
Date: |
Wed, 20 Jun 2018 15:07:30 +0200 |
Add the kvm_get_max_vm_phys_shift() helper that returns the
log of the maximum IPA size supported by KVM. This capability
needs to be known to create the VM with a correct IPA max size
(kvm_type passed along KVM_CREATE_VM ioctl.
Signed-off-by: Eric Auger <address@hidden>
---
accel/kvm/kvm-all.c | 7 +++++++
accel/stubs/kvm-stub.c | 5 +++++
include/sysemu/kvm.h | 1 +
3 files changed, 13 insertions(+)
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index 0590986..137c38e 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -280,6 +280,13 @@ static int kvm_set_user_memory_region(KVMMemoryListener
*kml, KVMSlot *slot)
return ret;
}
+int kvm_get_max_vm_phys_shift(MachineState *ms)
+{
+ KVMState *s = KVM_STATE(ms->accelerator);
+
+ return kvm_ioctl(s, KVM_ARM_GET_MAX_VM_PHYS_SHIFT, 0);
+}
+
int kvm_destroy_vcpu(CPUState *cpu)
{
KVMState *s = kvm_state;
diff --git a/accel/stubs/kvm-stub.c b/accel/stubs/kvm-stub.c
index 02d5170..7575ba7 100644
--- a/accel/stubs/kvm-stub.c
+++ b/accel/stubs/kvm-stub.c
@@ -161,6 +161,11 @@ bool kvm_has_free_slot(MachineState *ms)
return false;
}
+int kvm_get_max_vm_phys_shift(MachineState *ms)
+{
+ return 0;
+}
+
void kvm_init_cpu_signals(CPUState *cpu)
{
abort();
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 0b64b8e..240e3d9 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -206,6 +206,7 @@ extern KVMState *kvm_state;
/* external API */
bool kvm_has_free_slot(MachineState *ms);
+int kvm_get_max_vm_phys_shift(MachineState *ms);
bool kvm_has_sync_mmu(void);
int kvm_has_vcpu_events(void);
int kvm_has_robust_singlestep(void);
--
2.5.5
- [Qemu-devel] [RFC 0/6] KVM/ARM: Dynamic and larger GPA size, Eric Auger, 2018/06/20
- [Qemu-devel] [RFC 1/6] linux-headers: Partial update for KVM/ARM KVM_ARM_GET_MAX_VM_PHYS_SHIFT, Eric Auger, 2018/06/20
- [Qemu-devel] [RFC 3/6] kvm: add kvm_get_max_vm_phys_shift,
Eric Auger <=
- [Qemu-devel] [RFC 2/6] hw/boards: Add a MachineState parameter to kvm_type callback, Eric Auger, 2018/06/20
- [Qemu-devel] [RFC 4/6] hw/arm/virt: Add virt-3.0 machine type, Eric Auger, 2018/06/20
- [Qemu-devel] [RFC 6/6] hw/arm/virt: handle max_vm_phys_shift conflicts on migration, Eric Auger, 2018/06/20
- [Qemu-devel] [RFC 5/6] hw/arm/virt: support kvm_type property, Eric Auger, 2018/06/20