~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to target-i386/hyperv.h

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * QEMU KVM Hyper-V support
3
 
 *
4
 
 * Copyright (C) 2015 Andrey Smetanin <asmetanin@virtuozzo.com>
5
 
 *
6
 
 * Authors:
7
 
 *  Andrey Smetanin <asmetanin@virtuozzo.com>
8
 
 *
9
 
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
10
 
 * See the COPYING file in the top-level directory.
11
 
 *
12
 
 */
13
 
 
14
 
#ifndef TARGET_I386_HYPERV_H
15
 
#define TARGET_I386_HYPERV_H
16
 
 
17
 
#include "cpu.h"
18
 
#include "sysemu/kvm.h"
19
 
#include "qemu/event_notifier.h"
20
 
 
21
 
typedef struct HvSintRoute HvSintRoute;
22
 
typedef void (*HvSintAckClb)(HvSintRoute *sint_route);
23
 
 
24
 
struct HvSintRoute {
25
 
    uint32_t sint;
26
 
    uint32_t vcpu_id;
27
 
    int gsi;
28
 
    EventNotifier sint_set_notifier;
29
 
    EventNotifier sint_ack_notifier;
30
 
    HvSintAckClb sint_ack_clb;
31
 
};
32
 
 
33
 
int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit);
34
 
 
35
 
HvSintRoute *kvm_hv_sint_route_create(uint32_t vcpu_id, uint32_t sint,
36
 
                                      HvSintAckClb sint_ack_clb);
37
 
 
38
 
void kvm_hv_sint_route_destroy(HvSintRoute *sint_route);
39
 
 
40
 
int kvm_hv_sint_route_set_sint(HvSintRoute *sint_route);
41
 
 
42
 
#endif