-V SynIC unit test and some hand-made tests
with Windows guest(with enabled SynIC) works fine without
kvm_arch_set_irq. It will be nice
to remove this function.
Thanks
Paolo
On 22/10/2015 18:09, Andrey Smetanin wrote:
SynIC (synthetic interrupt controller) is a lapic extension,
which is
On 11/03/2015 04:28 PM, Paolo Bonzini wrote:
On 22/10/2015 18:10, Andrey Smetanin wrote:
A new vcpu exit is introduced to notify the userspace of the
changes in Hyper-V SynIC configuration triggered by guest writing to the
corresponding MSRs.
Changes v3:
* added KVM_EXIT_HYPERV types and
On 11/03/2015 04:28 PM, Paolo Bonzini wrote:
On 22/10/2015 18:10, Andrey Smetanin wrote:
A new vcpu exit is introduced to notify the userspace of the
changes in Hyper-V SynIC configuration triggered by guest writing to the
corresponding MSRs.
Changes v3:
* added KVM_EXIT_HYPERV types and
On 11/03/2015 05:51 PM, Paolo Bonzini wrote:
On 03/11/2015 15:36, Andrey Smetanin wrote:
if I run a patched QEMU but I *do not* enable the synthetic interrupt
controller. I can fix it by wrapping the calls to synic_exit with "if
(!host)", but I haven't checked yet the s
docs
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
Documentation/virtual/kvm/api.txt | 22 ++
arch/x86/include/asm/kvm_host.h
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: k...@vger.kernel.org
---
include/sysemu/kvm.h |
Hyper-V SynIC (synthetic interrupt controller) support:
* msr's support
* irq routing setup
* irq injection
* irq ack's callbacks
* event/message pages changes tracking at Hyper-V exit
* Hyper-V test device to test SynIC by kvm-unit-tests
Signed-off-by: Andrey Smetanin
Reviewed-by: R
previosly sent 'hyperv_synic' test) with
host CPU which supports APICv (Intel(R) Xeon(R) CPU E5-2407 v2 @ 2.40GHz)
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-dev
cific irq routing entries
(in particular, the upcoming Hyper-V synthetic interrupts).
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/irq_c
This patch brings in the necessary changes from the corresponding kernel
patchset. It's included only for completeness; ideally these changes
should arrive via the standard kernel header pull.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC:
Hyper-V SynIC(synthetic interrupt controller) helpers for
Hyper-V SynIC irq routing setup, irq injection, irq ack
notifications event/message pages changes tracking for future use.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Paolo Bonzini
CC
s too.
To achieve that, introduce a new bitmap dedicated specifically for
ioapic-handled vectors, and populate EOI exit bitmap from it for now.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: De
code and parameters
for Hyper-V test device.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: k...
ed based on the module parameter and CPU
capability, and consulted whenever an APICv-specific action is
performed.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
IC.
Changes v2:
* activate Hyper-V SynIC by enabling corresponding vcpu cap
* reject cpu initialization if user requested Hyper-V SynIC
but kernel does not support Hyper-V SynIC
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Paolo Bonzini
CC: Richard
not use posted interrupts for Hyper-V SynIC AutoEOI vectors
* add Hyper-V SynIC vectors into EOI exit bitmap
* Hyper-V SyniIC SINT msr write logic simplified
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kag
On 01/22/2016 01:08 PM, Paolo Bonzini wrote:
On 24/12/2015 10:33, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops
On 01/22/2016 02:02 PM, Paolo Bonzini wrote:
On 22/01/2016 11:15, Andrey Smetanin wrote:
- unless KVM can use a master clock, it is incorrect to set up the TSC
page this way; the sequence needs to be 0x in that case
0x is not an invalid value for tsc page,
see https
On 01/22/2016 02:02 PM, Paolo Bonzini wrote:
On 22/01/2016 11:15, Andrey Smetanin wrote:
- unless KVM can use a master clock, it is incorrect to set up the TSC
page this way; the sequence needs to be 0x in that case
0x is not an invalid value for tsc page,
see https
On 01/22/2016 02:53 PM, Paolo Bonzini wrote:
On 22/01/2016 12:31, Andrey Smetanin wrote:
Sometimes the TSC is detected to be unstable and Linux switches to
another clocksource. At least in that case you can get a write to the
TSC page while the guest is running.
Sorry, now I got it, you
On 01/22/2016 01:08 PM, Paolo Bonzini wrote:
On 24/12/2015 10:33, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops
On 01/22/2016 04:21 PM, Paolo Bonzini wrote:
On 22/01/2016 14:13, Andrey Smetanin wrote:
We(@virtuozzo.com) will be very thankful to you for the patch which
integrates Hyper-V tsc page with kvm clock. We even may do work by
yourself, but our priority now is Hyper-V VMBus initialization
ping
On 01/21/2016 05:01 PM, Andrey Smetanin wrote:
The patch implements userspace exit 'KVM_EXIT_HYPERV'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed
On 11/11/2015 12:17 PM, Paolo Bonzini wrote:
On 11/11/2015 10:09, Andrey Smetanin wrote:
I would prefer to put this in kvm_arch_init_vcpu, if possible.
Ok. I think the kvm_arch_init_vcpu() is called after migration restores
cpu->env->msr_hv_synic_* values, so unconditional initiali
On 11/10/2015 04:14 PM, Paolo Bonzini wrote:
On 10/11/2015 13:52, Andrey Smetanin wrote:
This patch does Hyper-V Synthetic interrupt
controller(Hyper-V SynIC) MSR's support and
migration. Hyper-V SynIC is enabled by cpu's
'hv-synic' option.
This patch does not allow
per-V SynIC.
Changes v3:
* removed 'msr_hv_synic_version' migration because
it's value always the same
* moved SynIC msr's initialization into kvm_arch_init_vcpu
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Paolo Bonzini
CC: Richard H
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.h | 20 ++--
1 file c
This constant is required for Hyper-V SynIC timers MSR's
support by userspace(QEMU).
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
This helper will be used also in Hyper-V SynIC timers implementation.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
ed in corresponding
MSR's. This patch seria implements such MSR's support and migration.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Denis V. Lunev
CC: Roman Kagan
CC: k...@vger.kerne
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan
od is
shortened until the timer catches up) will be implemented later.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/inclu
od is
shortened until the timer catches up) will be implemented later.
The Hyper-V SynIC timers support is required to load winhv.sys
inside Windows guest on which guest VMBus devices depends on.
This patches depends on Hyper-V SynIC patches previosly sent.
Signed-off-by: Andrey Smetanin
CC
notified when the slot is released.
To make sure the protocol works regardless of where the message
sources are (kernel or userspace), clear the pending flag on SINT ACK
notification, and let the message sources compete for the slot again.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC
This patch brings in the necessary changes from the corresponding kernel
patchset. It's included only for completeness; ideally these changes
should arrive via the standard kernel header pull.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkos
This rearrangement places functions declarations together
according to their functionality, so future additions
will be simplier.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuz
ed in corresponding
MSR's. This patch seria implements such MSR's support and migration.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Denis V. Lunev
CC: Roman Kagan
CC: k...@vger.kernel.
On 11/25/2015 07:52 PM, Paolo Bonzini wrote:
On 25/11/2015 16:20, Andrey Smetanin wrote:
+static void synic_clear_sint_msg_pending(struct kvm_vcpu_hv_synic *synic,
+ u32 sint)
+{
+ struct kvm_vcpu *vcpu = synic_to_vcpu(synic);
+ struct page
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
Documentation/virtual/kvm/api.txt | 6 ++
arch/x86/kvm/hyperv.c
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
T_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smetanin (5):
kvm/x86: Rename
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
On 02/12/2016 12:46 AM, Paolo Bonzini wrote:
On 11/02/2016 14:44, Andrey Smetanin wrote:
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC
On 11/26/2015 08:28 AM, Wanpeng Li wrote:
2015-11-25 23:20 GMT+08:00 Andrey Smetanin :
Per Hyper-V specification (and as required by Hyper-V-aware guests),
SynIC provides 4 per-vCPU timers. Each timer is programmed via a pair
of MSRs, and signals expiration by delivering a special format
On 11/25/2015 08:14 PM, Paolo Bonzini wrote:
On 25/11/2015 17:55, Andrey Smetanin wrote:
+gpa = synic->msg_page & PAGE_MASK;
+page = kvm_vcpu_gfn_to_page(vcpu, gpa >> PAGE_SHIFT);
+if (is_error_page(page)) {
+vcpu_err(vcpu, "Hyper-V SynIC can't g
On 11/26/2015 05:43 PM, Paolo Bonzini wrote:
On 26/11/2015 10:06, Andrey Smetanin wrote:
On 11/25/2015 08:14 PM, Paolo Bonzini wrote:
On 25/11/2015 17:55, Andrey Smetanin wrote:
+gpa = synic->msg_page & PAGE_MASK;
+page = kvm_vcpu_gfn_to_page(vcpu, gpa >> PAGE_SH
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 4
x86/hyperv_synic.c | 2 +-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/lib/x86/msr.h
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 13 +
1 file changed, 13 insertions(+)
diff --git a/lib/x86/msr.h b/lib/x86/msr.h
index 4ac9c71
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages in appropriate
ISR's.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC:
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/msr.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/x86/msr.h b/lib/x86/msr.h
index 89ed718..4ac9c71 100644
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages in appropriate
ISR's.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC:
This will be used to release allocated pages by Hyper-V
SynIC timers test.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/vm.h | 1 +
1 file changed, 1 insertion
On 11/27/2015 12:34 PM, Paolo Bonzini wrote:
On 25/11/2015 16:20, Andrey Smetanin wrote:
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey
On 11/27/2015 01:49 PM, Paolo Bonzini wrote:
On 27/11/2015 09:12, Roman Kagan wrote:
+ n = div64_u64(time_now - stimer->exp_time, stimer->count) + 1;
+ stimer->exp_time += n * stimer->count;
This is actually just a reminder calculation so I'd rather do it
directly with div64_u64
On 11/27/2015 02:17 PM, Paolo Bonzini wrote:
The test logic is good, but the glue can be improved a bit so that the
output is more useful if it breaks.
Thanks for comments below. I'll redo this patch.
On 26/11/2015 17:29, Andrey Smetanin wrote:
The test checks Hyper-V SynIC t
On 11/27/2015 02:17 PM, Paolo Bonzini wrote:
On 26/11/2015 17:29, Andrey Smetanin wrote:
The test checks Hyper-V SynIC timers functionality.
The test runs on every vCPU and performs start/stop
of periodic/one-shot timers (with period=1ms) and checks
validity of received expiration messages
This constant is required for Hyper-V SynIC timers MSR's
support by userspace(QEMU).
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC:
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.h | 20 ++--
1 file c
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC
enum hv_message_type inside struct hv_message, hv_post_message
is not size portable. Replace enum by u32.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC:
hes split and fixes
* Use remainder to calculate peridic timer expiration time
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smeta
This rearrangement places functions declarations together
according to their functionality, so future additions
will be simplier.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuz
This struct is required for Hyper-V SynIC timers implementation inside KVM
and for upcoming Hyper-V VMBus support by userspace(QEMU). So place it into
Hyper-V UAPI header.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
This helper will be used also in Hyper-V SynIC timers implementation.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vitaly Kuznetsov
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
notified when the slot is released.
To make sure the protocol works regardless of where the message
sources are (kernel or userspace), clear the pending flag on SINT ACK
notification, and let the message sources compete for the slot again.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
od is
shortened until the timer catches up) will be implemented later.
Changes v2:
* Use remainder to calculate periodic timer expiration time
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Vi
imers test fixes to improve
readability and output
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
Andrey Smetanin (3):
lib/x86: Make free_page() available to call
x86/hyperv: Move Hy
This will be used to release allocated pages by Hyper-V
SynIC timers test.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
lib/x86/vm.h | 1 +
1 file changed, 1 insertion(+)
diff
This code will be used as shared between hyperv_synic
and hyperv_stimer tests.
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
config/config-x86-common.mak | 3 ++-
lib/x86/msr.h| 23
into test cases with separate callbacks
* removed unnecessary irq_enable() calls
* moved sint's create/destoy into test prepare/cleanup callbacks
* defined used sint's numbers and vectors
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Marcelo Tosatti
on by not stopping Hyper-V SynIC timer
at all, because it's safe to restart it without stop in vcpu context
and timer callback always returns HRTIMER_NORESTART.
Signed-off-by: Andrey Smetanin
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
On 12/14/2015 07:09 PM, Paolo Bonzini wrote:
On 14/12/2015 16:33, Andrey Smetanin wrote:
It's possible that guest send us Hyper-V EOM at the middle
of Hyper-V SynIC timer running, so we start processing of Hyper-V
SynIC timers in vcpu context and stop the Hyper-V SynIC timer
uncoditio
On 12/14/2015 07:09 PM, Paolo Bonzini wrote:
On 14/12/2015 16:33, Andrey Smetanin wrote:
It's possible that guest send us Hyper-V EOM at the middle
of Hyper-V SynIC timer running, so we start processing of Hyper-V
SynIC timers in vcpu context and stop the Hyper-V SynIC timer
uncoditio
ping
On 12/24/2015 12:33 PM, Andrey Smetanin wrote:
Lately tsc page was implemented but filled with empty
values. This patch setup tsc page scale and offset based
on vcpu tsc, tsc_khz and HV_X64_MSR_TIME_REF_COUNT value.
The valid tsc page drops HV_X64_MSR_TIME_REF_COUNT msr
reads count to
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
The patch implements KVM_EXIT_HV_HCALL functionality
for Hyper-V VMBus hypercalls: HV_X64_HCALL_POST_MESSAGE,
HV_X64_HCALL_SIGNAL_EVENT.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
The patch implements userspace exit 'KVM_EXIT_HYPERV_HCALL'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasa
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
C
This is a simple test which performs the
following:
* setup hypecall page
* do some hypercalls and output their results
Signed-off-by: Andrey Smetanin
CC: Paolo Bonzini
CC: Marcelo Tosatti
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
config/config-x86-common.mak | 4
This patch just for completeness, this changes
should be received by scripts/update-linux-headers.sh
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
C
The patches adds blank handlers for Hyper-V
VMBus hypercalls routed by KVM_EXIT_HYPERV_HCALL KVM exit.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman Kagan
C
Add Hyper-V VMBus hypercalls blank handlers which
just returns error code - HV_STATUS_INVALID_HYPERCALL_CODE.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas Färber"
CC: Marcelo Tosatti
CC: Roman
our latest changes in KVM code to support Hyper-V VMBus:
https://src.openvz.org/projects/UP/repos/kvm_hyperv/commits?until=refs%2Fheads%2Fvmbus_hypercall
Thanks,
Andrey
On 01/12/2016 01:50 PM, Andrey Smetanin wrote:
The patch implements userspace exit 'KVM_EXIT_HYPERV_HCALL'
for Hyp
On 01/20/2016 05:05 PM, Paolo Bonzini wrote:
On 19/01/2016 08:48, Denis V. Lunev wrote:
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 6877b4d7e..93c9e25 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -145,6 +145,7 @@ static inline bool is_er
m_run
appropriately.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x86/kvm/hyperv.c | 2 +-
arch/x86/k
Currently we do not support Hyper-V hypercall continuation
so reject it.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang Zhang
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@
VMBus hypercall codes inside Hyper-V UAPI header will
be used by QEMU to implement VMBus host devices support.
Signed-off-by: Andrey Smetanin
Acked-by: K. Y. Srinivasan
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
Rename HV_X64_HV_NOTIFY_LONG_SPIN_WAIT
by HV_X64_HCALL_NOTIFY_LONG_SPIN_WAIT. So
the name better reflects hypercall codes accessory.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Joerg Roedel
CC: "K. Y. Srinivasan"
CC: Haiyang
The patch implements userspace exit 'KVM_EXIT_HYPERV'
for Hyper-V VMBus hypercalls(postmsg, signalevent)
to handle these hypercalls by QEMU.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
The patch implements KVM_EXIT_HYPERV userspace exit
functionality for Hyper-V VMBus hypercalls:
HV_X64_HCALL_POST_MESSAGE, HV_X64_HCALL_SIGNAL_EVENT.
Changes v2:
* use KVM_EXIT_HYPERV for hypercalls
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC
Add Hyper-V VMBus hypercalls blank handlers which
just returns error code - HV_STATUS_INVALID_HYPERCALL_CODE.
Changes v2:
* use KVM_EXIT_HYPERV exit type
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Paolo Bonzini
CC: Richard Henderson
CC: Eduardo Habkost
CC: "Andreas F
On 12/18/2015 09:39 PM, Roman Kagan wrote:
On Fri, Dec 18, 2015 at 10:10:11AM -0800, Peter Hornyack wrote:
On Fri, Dec 18, 2015 at 8:01 AM, Paolo Bonzini wrote:
On 18/12/2015 16:19, Pavel Fedin wrote:
As far as i understand this code, KVM_EXIT_HYPERV is called when one
of three MSRs are acc
On 12/21/2015 04:28 PM, Pavel Fedin wrote:
Hello!
Yes, we can use KVM_EXIT_REG_IO/MSR_IO for Hyper-V SynIC MSRS's changes
and can even use only one MSR value . So union inside struct
kvm_hyperv_exit is excessive.
But we still need Vcpu exit to handle VMBus hypercalls by QEMU to
emulate VM
The function stimer_stop() is called in one place
so remove the function and replace it's call by function
content.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
CC: Denis V. Lunev
CC: qemu-devel@nongnu.org
---
arch/x8
FS doc(15.3.1):
"It is not permitted to set the SINTx field to zero for an
enabled timer. If attempted, the timer will be
marked disabled (that is, bit 0 cleared) immediately."
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
CC: Gleb Natapov
CC: Paolo Bonzini
CC: Roman Kagan
Split stimer_expiration() into two parts - timer expiration message
sending and timer restart/cleanup based on timer state(config).
This also fixes a bug where a one-shot timer message whose delivery
failed once would get lost for good.
Signed-off-by: Andrey Smetanin
Reviewed-by: Roman Kagan
1 - 100 of 144 matches
Mail list logo