/bindings/rust/libflashrom-sys/src/

tion/atom+xml'/>
aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/hypervisor-ifs/sched_ctl.h
blob: bd9e9d082cd25bb751e3a3fd60408e399b5c8c9a (plain)
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
51
52
53
54
55
56
57
58
59
60
61
/**
 * Generic scheduler control interface.
 *
 * Mark Williamson, (C) 2004 Intel Research Cambridge
 */

#ifndef __SCHED_CTL_H__
#define __SCHED_CTL_H__

/* Scheduler types. */
#define SCHED_BVT      0
#define SCHED_ATROPOS  1
#define SCHED_RROBIN   2

/*
 * Generic scheduler control command: union of all scheduler control command
 * structures.
 */
struct sched_ctl_cmd
{
    unsigned int sched_id;
    
    union
    {
        struct bvt_ctl
        {
            /* IN variables. */
            unsigned long ctx_allow;  /* context switch allowance */
        } bvt;

        struct rrobin_ctl
        {
            /* IN variables */
            u64 slice;                /* round robin time slice */
        } rrobin;
    } u;
};

struct sched_adjdom_cmd
{
    unsigned int sched_id;
    domid_t domain;
    
    union
    {
        struct bvt_adjdom
        {
            unsigned long mcu_adv;    /* mcu advance: inverse of weight */
            unsigned long warp;       /* time warp */
            unsigned long warpl;      /* warp limit */
            unsigned long warpu;      /* unwarp time requirement */
        } bvt;

        struct atropos_adjdom
        {
            int xtratime;
        } atropos;
    } u;
};

#endif /* __SCHED_CTL_H__ */