xref: /openbmc/qemu/include/hw/hyperv/hyperv.h (revision 701189e31140a7c82ec02a7f4ca632cfd6a8559d)
1 /*
2  * Hyper-V guest/hypervisor interaction
3  *
4  * Copyright (c) 2015-2018 Virtuozzo International GmbH.
5  *
6  * This work is licensed under the terms of the GNU GPL, version 2 or later.
7  * See the COPYING file in the top-level directory.
8  */
9 
10 #ifndef HW_HYPERV_HYPERV_H
11 #define HW_HYPERV_HYPERV_H
12 
13 #include "cpu-qom.h"
14 
15 typedef struct HvSintRoute HvSintRoute;
16 typedef void (*HvSintAckClb)(void *data);
17 
18 HvSintRoute *hyperv_sint_route_new(uint32_t vp_index, uint32_t sint,
19                                    HvSintAckClb sint_ack_clb,
20                                    void *sint_ack_clb_data);
21 void hyperv_sint_route_ref(HvSintRoute *sint_route);
22 void hyperv_sint_route_unref(HvSintRoute *sint_route);
23 
24 int hyperv_sint_route_set_sint(HvSintRoute *sint_route);
25 
26 static inline uint32_t hyperv_vp_index(CPUState *cs)
27 {
28     return cs->cpu_index;
29 }
30 
31 #endif
32