• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/usr/include/linux/
1#ifndef _LINUX_VIRTIO_BALLOON_H
2#define _LINUX_VIRTIO_BALLOON_H
3/* This header is BSD licensed so anyone can use the definitions to implement
4 * compatible drivers/servers. */
5#include <linux/virtio_ids.h>
6#include <linux/virtio_config.h>
7
8/* The feature bitmap for virtio balloon */
9#define VIRTIO_BALLOON_F_MUST_TELL_HOST	0 /* Tell before reclaiming pages */
10#define VIRTIO_BALLOON_F_STATS_VQ	1 /* Memory Stats virtqueue */
11
12/* Size of a PFN in the balloon interface. */
13#define VIRTIO_BALLOON_PFN_SHIFT 12
14
15struct virtio_balloon_config
16{
17	/* Number of pages host wants Guest to give up. */
18	__le32 num_pages;
19	/* Number of pages we've actually got in balloon. */
20	__le32 actual;
21};
22
23#define VIRTIO_BALLOON_S_SWAP_IN  0   /* Amount of memory swapped in */
24#define VIRTIO_BALLOON_S_SWAP_OUT 1   /* Amount of memory swapped out */
25#define VIRTIO_BALLOON_S_MAJFLT   2   /* Number of major faults */
26#define VIRTIO_BALLOON_S_MINFLT   3   /* Number of minor faults */
27#define VIRTIO_BALLOON_S_MEMFREE  4   /* Total amount of free memory */
28#define VIRTIO_BALLOON_S_MEMTOT   5   /* Total amount of memory */
29#define VIRTIO_BALLOON_S_NR       6
30
31struct virtio_balloon_stat {
32	u16 tag;
33	u64 val;
34} __attribute__((packed));
35
36#endif /* _LINUX_VIRTIO_BALLOON_H */
37