[pve-devel] [PATCH] add hyperv enlightments : hv_reset, hv_vpindex, hv_runtime
Alexandre Derumier
aderumier at odiso.com
Fri May 20 10:26:08 CEST 2016
add them by default for qemu 2.6
(support is already present in qemu 2.5, but we don't want to break live migration for current running vm)
vpindex && runtime need host kernel 4.4
Theses 3 enlightements are needed by windows to use vmbus
http://searchwindowsserver.techtarget.com/definition/Microsoft-Virtual-Machine-Bus-VMBus
details :
- When Hyper-V "vpindex" is on, guest can use MSR HV_X64_MSR_VP_INDEX
to get virtual processor ID.
- Hyper-V "runtime" enlightement feature allows to use MSR
HV_X64_MSR_VP_RUNTIME to get the time the virtual processor consumes
running guest code, as well as the time the hypervisor spends running
code on behalf of that guest.
- Hyper-V "reset" allows guest to reset VM.
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/QemuServer.pm | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm
index 4c0e043..3938c53 100644
--- a/PVE/QemuServer.pm
+++ b/PVE/QemuServer.pm
@@ -3047,6 +3047,12 @@ sub config_to_command {
push @$cpuFlags , 'hv_vapic' if !$nokvm;
push @$cpuFlags , 'hv_time' if !$nokvm;
+ if (qemu_machine_feature_enabled ($machine_type, $kvmver, 2, 6)) {
+ push @$cpuFlags , 'hv_reset' if !$nokvm;
+ push @$cpuFlags , 'hv_vpindex' if !$nokvm;
+ push @$cpuFlags , 'hv_runtime' if !$nokvm;
+ }
+
} else {
push @$cpuFlags , 'hv_spinlocks=0xffff' if !$nokvm;
}
--
2.1.4
More information about the pve-devel
mailing list