root / hw / virtio-balloon.h @ fa156e51
History | View | Annotate | Download (1.5 kB)
1 |
/*
|
---|---|
2 |
* Virtio Support
|
3 |
*
|
4 |
* Copyright IBM, Corp. 2007-2008
|
5 |
*
|
6 |
* Authors:
|
7 |
* Anthony Liguori <aliguori@us.ibm.com>
|
8 |
* Rusty Russell <rusty@rustcorp.com.au>
|
9 |
*
|
10 |
* This work is licensed under the terms of the GNU GPL, version 2. See
|
11 |
* the COPYING file in the top-level directory.
|
12 |
*
|
13 |
*/
|
14 |
|
15 |
#ifndef _QEMU_VIRTIO_BALLOON_H
|
16 |
#define _QEMU_VIRTIO_BALLOON_H
|
17 |
|
18 |
#include "virtio.h" |
19 |
#include "pci.h" |
20 |
|
21 |
/* from Linux's linux/virtio_balloon.h */
|
22 |
|
23 |
/* The ID for virtio_balloon */
|
24 |
#define VIRTIO_ID_BALLOON 5 |
25 |
|
26 |
/* The feature bitmap for virtio balloon */
|
27 |
#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */ |
28 |
#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory stats virtqueue */ |
29 |
|
30 |
/* Size of a PFN in the balloon interface. */
|
31 |
#define VIRTIO_BALLOON_PFN_SHIFT 12 |
32 |
|
33 |
struct virtio_balloon_config
|
34 |
{ |
35 |
/* Number of pages host wants Guest to give up. */
|
36 |
uint32_t num_pages; |
37 |
/* Number of pages we've actually got in balloon. */
|
38 |
uint32_t actual; |
39 |
}; |
40 |
|
41 |
/* Memory Statistics */
|
42 |
#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */ |
43 |
#define VIRTIO_BALLOON_S_SWAP_OUT 1 /* Amount of memory swapped out */ |
44 |
#define VIRTIO_BALLOON_S_MAJFLT 2 /* Number of major faults */ |
45 |
#define VIRTIO_BALLOON_S_MINFLT 3 /* Number of minor faults */ |
46 |
#define VIRTIO_BALLOON_S_MEMFREE 4 /* Total amount of free memory */ |
47 |
#define VIRTIO_BALLOON_S_MEMTOT 5 /* Total amount of memory */ |
48 |
#define VIRTIO_BALLOON_S_NR 6 |
49 |
|
50 |
typedef struct VirtIOBalloonStat { |
51 |
uint16_t tag; |
52 |
uint64_t val; |
53 |
} QEMU_PACKED VirtIOBalloonStat; |
54 |
|
55 |
#endif
|