forked from OpenXT/xc-windows
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xsmtcapi.h
50 lines (42 loc) · 1.46 KB
/
xsmtcapi.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* All of the MTC-private APIs exported by xevtchn.sys in one convenient
* place.
* Copyright 2009 Marathon Technologies, Inc
*/
#ifndef XSMTCAPI_H__
#define XSMTCAPI_H__
/* We have a dependency on xsapi.h, so make sure it is included first */
#include "xsapi.h"
/* Used to make callbacks right before the domain is suspended.
* System is not quiesced (interrupts are still taking place and
* other CPUs are active). Callback is called at passive level.
*/
#define PRE_SUSPEND_CB_EARLY_TYPE 4
#define PRE_SUSPEND_CB_EARLY wrap_SUSPEND_CB_TYPE(PRE_SUSPEND_CB_EARLY_TYPE)
/* Used to make callbacks when the system has been quiesced.
* Only one VCPU is running and its IRQL is HIGH.
*/
#define PRE_SUSPEND_CB_LATE_TYPE 5
#define PRE_SUSPEND_CB_LATE wrap_SUSPEND_CB_TYPE(PRE_SUSPEND_CB_LATE_TYPE)
/* Allows the xenbus driver to work on new requests.
* Call from IRQL <= DISPATCH_LEVEL.
*/
XSAPI void xenbus_driver_on(void);
/* Prevents xenbus driver from working on new requests.
* It waits for outstanding requests to finish before returning if
* called at IRQL < DISPATCH_LEVEL
*
* Call from IRQL <= DISPATCH_LEVEL.
*/
XSAPI void xenbus_driver_off(void);
/* Allow PV driver code to become divergent by letting xenbus accept
* new requests.
* MTC: This code is needed for Marathon Technologies' Lockstep Feature.
*/
void
xenbus_mtc_allow_divergency(void);
/*
* Set non-divergent trace levels
*/
void
XenTraceSetMtcLevels();
#endif /* !XSMTCAPI_H__ */