blob: d145caa7bba886e248235de042ac449ee8482933 [file] [log] [blame]
Nick Kralevicha67e4de2013-01-14 11:28:26 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
Ben Cheng655a7c02013-10-16 16:09:24 -070019#ifndef _LINUX_VIRTIO_BALLOON_H
20#define _LINUX_VIRTIO_BALLOON_H
Christopher Ferris05d08e92016-02-04 13:16:38 -080021#include <linux/types.h>
22#include <linux/virtio_types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023#include <linux/virtio_ids.h>
24#include <linux/virtio_config.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070025#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0
26#define VIRTIO_BALLOON_F_STATS_VQ 1
Christopher Ferris05d08e92016-02-04 13:16:38 -080027#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2
Christopher Ferris86a48372019-01-10 14:14:59 -080028#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3
29#define VIRTIO_BALLOON_F_PAGE_POISON 4
Christopher Ferrisaf09c702020-06-01 20:29:29 -070030#define VIRTIO_BALLOON_F_REPORTING 5
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define VIRTIO_BALLOON_PFN_SHIFT 12
Christopher Ferris86a48372019-01-10 14:14:59 -080032#define VIRTIO_BALLOON_CMD_ID_STOP 0
33#define VIRTIO_BALLOON_CMD_ID_DONE 1
Tao Baod7db5942015-01-28 10:07:51 -080034struct virtio_balloon_config {
Christopher Ferris25c18d42020-10-14 17:42:58 -070035 __le32 num_pages;
36 __le32 actual;
Christopher Ferrisaf09c702020-06-01 20:29:29 -070037 union {
Christopher Ferris25c18d42020-10-14 17:42:58 -070038 __le32 free_page_hint_cmd_id;
39 __le32 free_page_report_cmd_id;
Christopher Ferrisaf09c702020-06-01 20:29:29 -070040 };
Christopher Ferris25c18d42020-10-14 17:42:58 -070041 __le32 poison_val;
Ben Cheng655a7c02013-10-16 16:09:24 -070042};
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define VIRTIO_BALLOON_S_SWAP_IN 0
44#define VIRTIO_BALLOON_S_SWAP_OUT 1
45#define VIRTIO_BALLOON_S_MAJFLT 2
46#define VIRTIO_BALLOON_S_MINFLT 3
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define VIRTIO_BALLOON_S_MEMFREE 4
48#define VIRTIO_BALLOON_S_MEMTOT 5
Christopher Ferris106b3a82016-08-24 12:15:38 -070049#define VIRTIO_BALLOON_S_AVAIL 6
Christopher Ferris76a1d452018-06-27 14:12:29 -070050#define VIRTIO_BALLOON_S_CACHES 7
51#define VIRTIO_BALLOON_S_HTLB_PGALLOC 8
52#define VIRTIO_BALLOON_S_HTLB_PGFAIL 9
53#define VIRTIO_BALLOON_S_NR 10
54#define VIRTIO_BALLOON_S_NAMES_WITH_PREFIX(VIRTIO_BALLOON_S_NAMES_prefix) { VIRTIO_BALLOON_S_NAMES_prefix "swap-in", VIRTIO_BALLOON_S_NAMES_prefix "swap-out", VIRTIO_BALLOON_S_NAMES_prefix "major-faults", VIRTIO_BALLOON_S_NAMES_prefix "minor-faults", VIRTIO_BALLOON_S_NAMES_prefix "free-memory", VIRTIO_BALLOON_S_NAMES_prefix "total-memory", VIRTIO_BALLOON_S_NAMES_prefix "available-memory", VIRTIO_BALLOON_S_NAMES_prefix "disk-caches", VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-allocations", VIRTIO_BALLOON_S_NAMES_prefix "hugetlb-failures" \
55}
56#define VIRTIO_BALLOON_S_NAMES VIRTIO_BALLOON_S_NAMES_WITH_PREFIX("")
Ben Cheng655a7c02013-10-16 16:09:24 -070057struct virtio_balloon_stat {
Christopher Ferris05d08e92016-02-04 13:16:38 -080058 __virtio16 tag;
Christopher Ferris106b3a82016-08-24 12:15:38 -070059 __virtio64 val;
Ben Cheng655a7c02013-10-16 16:09:24 -070060} __attribute__((packed));
Nick Kralevicha67e4de2013-01-14 11:28:26 -080061#endif