Linux 4.20-rc1 * tag 'v4.20-rc1': (836 commits) Linux 4.20-rc1 sched/topology: Fix off by one bug memory_hotplug: cond_resched in __remove_pages bfs: add sanity check at bfs_fill_super() kernel/sysctl.c: remove duplicated include kernel/kexec_file.c: remove some duplicated includes mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask ocfs2: fix clusters leak in ocfs2_defrag_extent() ocfs2: dlmglue: clean up timestamp handling ocfs2: don't put and assigning null to bh allocated outside ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry ocfs2: don't use iocb when EIOCBQUEUED returns ocfs2: without quota support, avoid calling quota recovery ocfs2: remove ocfs2_is_o2cb_active() mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings include/linux/notifier.h: SRCU: fix ctags mm: handle no memcg case in memcg_kmem_charge() properly ARM: dts: stm32: update HASH1 dmas property on stm32mp157c ARM: orion: avoid VLA in orion_mpp_conf iov_iter: Fix 9p virtio breakage ...
Showing the changes to include/uapi/linux (6 of 1051 files). Show all
Unified · Split
| @@ -41,6 +41,7 @@ · 40 unmodified lines | |||
| 41 | #define EM_TILEPRO 188 /* Tilera TILEPro */ | 41 | #define EM_TILEPRO 188 /* Tilera TILEPro */ |
| 42 | #define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */ | 42 | #define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */ |
| 43 | #define EM_TILEGX 191 /* Tilera TILE-Gx */ | 43 | #define EM_TILEGX 191 /* Tilera TILE-Gx */ |
| 44 | #define EM_RISCV 243 /* RISC-V */ | ||
| 44 | #define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */ | 45 | #define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */ |
| 45 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ | 46 | #define EM_FRV 0x5441 /* Fujitsu FR-V */ |
| 46 | 47 | ||
| @@ -116,6 +116,12 @@ · 115 unmodified lines | |||
| 116 | * | 116 | * |
| 117 | * 7.27 | 117 | * 7.27 |
| 118 | * - add FUSE_ABORT_ERROR | 118 | * - add FUSE_ABORT_ERROR |
| 119 | * | ||
| 120 | * 7.28 | ||
| 121 | * - add FUSE_COPY_FILE_RANGE | ||
| 122 | * - add FOPEN_CACHE_DIR | ||
| 123 | * - add FUSE_MAX_PAGES, add max_pages to init_out | ||
| 124 | * - add FUSE_CACHE_SYMLINKS | ||
| 119 | */ | 125 | */ |
| 120 | 126 | ||
| 121 | #ifndef _LINUX_FUSE_H | 127 | #ifndef _LINUX_FUSE_H |
| @@ -151,7 +157,7 @@ · 29 unmodified lines | |||
| 151 | #define FUSE_KERNEL_VERSION 7 | 157 | #define FUSE_KERNEL_VERSION 7 |
| 152 | 158 | ||
| 153 | /** Minor version number of this interface */ | 159 | /** Minor version number of this interface */ |
| 154 | #define FUSE_KERNEL_MINOR_VERSION 27 | 160 | #define FUSE_KERNEL_MINOR_VERSION 28 |
| 155 | 161 | ||
| 156 | /** The node ID of the root inode */ | 162 | /** The node ID of the root inode */ |
| 157 | #define FUSE_ROOT_ID 1 | 163 | #define FUSE_ROOT_ID 1 |
| @@ -219,10 +225,12 @@ struct fuse_file_lock { · 61 unmodified lines | |||
| 219 | * FOPEN_DIRECT_IO: bypass page cache for this open file | 225 | * FOPEN_DIRECT_IO: bypass page cache for this open file |
| 220 | * FOPEN_KEEP_CACHE: don't invalidate the data cache on open | 226 | * FOPEN_KEEP_CACHE: don't invalidate the data cache on open |
| 221 | * FOPEN_NONSEEKABLE: the file is not seekable | 227 | * FOPEN_NONSEEKABLE: the file is not seekable |
| 228 | * FOPEN_CACHE_DIR: allow caching this directory | ||
| 222 | */ | 229 | */ |
| 223 | #define FOPEN_DIRECT_IO (1 << 0) | 230 | #define FOPEN_DIRECT_IO (1 << 0) |
| 224 | #define FOPEN_KEEP_CACHE (1 << 1) | 231 | #define FOPEN_KEEP_CACHE (1 << 1) |
| 225 | #define FOPEN_NONSEEKABLE (1 << 2) | 232 | #define FOPEN_NONSEEKABLE (1 << 2) |
| 233 | #define FOPEN_CACHE_DIR (1 << 3) | ||
| 226 | 234 | ||
| 227 | /** | 235 | /** |
| 228 | * INIT request/reply flags | 236 | * INIT request/reply flags |
| @@ -249,6 +257,8 @@ struct fuse_file_lock { · 20 unmodified lines | |||
| 249 | * FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc | 257 | * FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc |
| 250 | * FUSE_POSIX_ACL: filesystem supports posix acls | 258 | * FUSE_POSIX_ACL: filesystem supports posix acls |
| 251 | * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED | 259 | * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED |
| 260 | * FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages | ||
| 261 | * FUSE_CACHE_SYMLINKS: cache READLINK responses | ||
| 252 | */ | 262 | */ |
| 253 | #define FUSE_ASYNC_READ (1 << 0) | 263 | #define FUSE_ASYNC_READ (1 << 0) |
| 254 | #define FUSE_POSIX_LOCKS (1 << 1) | 264 | #define FUSE_POSIX_LOCKS (1 << 1) |
| @@ -272,6 +282,8 @@ struct fuse_file_lock { · 17 unmodified lines | |||
| 272 | #define FUSE_HANDLE_KILLPRIV (1 << 19) | 282 | #define FUSE_HANDLE_KILLPRIV (1 << 19) |
| 273 | #define FUSE_POSIX_ACL (1 << 20) | 283 | #define FUSE_POSIX_ACL (1 << 20) |
| 274 | #define FUSE_ABORT_ERROR (1 << 21) | 284 | #define FUSE_ABORT_ERROR (1 << 21) |
| 285 | #define FUSE_MAX_PAGES (1 << 22) | ||
| 286 | #define FUSE_CACHE_SYMLINKS (1 << 23) | ||
| 275 | 287 | ||
| 276 | /** | 288 | /** |
| 277 | * CUSE INIT request/reply flags | 289 | * CUSE INIT request/reply flags |
| @@ -337,53 +349,54 @@ struct fuse_file_lock { · 59 unmodified lines | |||
| 337 | #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0) | 349 | #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0) |
| 338 | 350 | ||
| 339 | enum fuse_opcode { | 351 | enum fuse_opcode { |
| 340 | FUSE_LOOKUP = 1, | 352 | FUSE_LOOKUP = 1, |
| 341 | FUSE_FORGET = 2, /* no reply */ | 353 | FUSE_FORGET = 2, /* no reply */ |
| 342 | FUSE_GETATTR = 3, | 354 | FUSE_GETATTR = 3, |
| 343 | FUSE_SETATTR = 4, | 355 | FUSE_SETATTR = 4, |
| 344 | FUSE_READLINK = 5, | 356 | FUSE_READLINK = 5, |
| 345 | FUSE_SYMLINK = 6, | 357 | FUSE_SYMLINK = 6, |
| 346 | FUSE_MKNOD = 8, | 358 | FUSE_MKNOD = 8, |
| 347 | FUSE_MKDIR = 9, | 359 | FUSE_MKDIR = 9, |
| 348 | FUSE_UNLINK = 10, | 360 | FUSE_UNLINK = 10, |
| 349 | FUSE_RMDIR = 11, | 361 | FUSE_RMDIR = 11, |
| 350 | FUSE_RENAME = 12, | 362 | FUSE_RENAME = 12, |
| 351 | FUSE_LINK = 13, | 363 | FUSE_LINK = 13, |
| 352 | FUSE_OPEN = 14, | 364 | FUSE_OPEN = 14, |
| 353 | FUSE_READ = 15, | 365 | FUSE_READ = 15, |
| 354 | FUSE_WRITE = 16, | 366 | FUSE_WRITE = 16, |
| 355 | FUSE_STATFS = 17, | 367 | FUSE_STATFS = 17, |
| 356 | FUSE_RELEASE = 18, | 368 | FUSE_RELEASE = 18, |
| 357 | FUSE_FSYNC = 20, | 369 | FUSE_FSYNC = 20, |
| 358 | FUSE_SETXATTR = 21, | 370 | FUSE_SETXATTR = 21, |
| 359 | FUSE_GETXATTR = 22, | 371 | FUSE_GETXATTR = 22, |
| 360 | FUSE_LISTXATTR = 23, | 372 | FUSE_LISTXATTR = 23, |
| 361 | FUSE_REMOVEXATTR = 24, | 373 | FUSE_REMOVEXATTR = 24, |
| 362 | FUSE_FLUSH = 25, | 374 | FUSE_FLUSH = 25, |
| 363 | FUSE_INIT = 26, | 375 | FUSE_INIT = 26, |
| 364 | FUSE_OPENDIR = 27, | 376 | FUSE_OPENDIR = 27, |
| 365 | FUSE_READDIR = 28, | 377 | FUSE_READDIR = 28, |
| 366 | FUSE_RELEASEDIR = 29, | 378 | FUSE_RELEASEDIR = 29, |
| 367 | FUSE_FSYNCDIR = 30, | 379 | FUSE_FSYNCDIR = 30, |
| 368 | FUSE_GETLK = 31, | 380 | FUSE_GETLK = 31, |
| 369 | FUSE_SETLK = 32, | 381 | FUSE_SETLK = 32, |
| 370 | FUSE_SETLKW = 33, | 382 | FUSE_SETLKW = 33, |
| 371 | FUSE_ACCESS = 34, | 383 | FUSE_ACCESS = 34, |
| 372 | FUSE_CREATE = 35, | 384 | FUSE_CREATE = 35, |
| 373 | FUSE_INTERRUPT = 36, | 385 | FUSE_INTERRUPT = 36, |
| 374 | FUSE_BMAP = 37, | 386 | FUSE_BMAP = 37, |
| 375 | FUSE_DESTROY = 38, | 387 | FUSE_DESTROY = 38, |
| 376 | FUSE_IOCTL = 39, | 388 | FUSE_IOCTL = 39, |
| 377 | FUSE_POLL = 40, | 389 | FUSE_POLL = 40, |
| 378 | FUSE_NOTIFY_REPLY = 41, | 390 | FUSE_NOTIFY_REPLY = 41, |
| 379 | FUSE_BATCH_FORGET = 42, | 391 | FUSE_BATCH_FORGET = 42, |
| 380 | FUSE_FALLOCATE = 43, | 392 | FUSE_FALLOCATE = 43, |
| 381 | FUSE_READDIRPLUS = 44, | 393 | FUSE_READDIRPLUS = 44, |
| 382 | FUSE_RENAME2 = 45, | 394 | FUSE_RENAME2 = 45, |
| 383 | FUSE_LSEEK = 46, | 395 | FUSE_LSEEK = 46, |
| 396 | FUSE_COPY_FILE_RANGE = 47, | ||
| 384 | 397 | ||
| 385 | /* CUSE specific operations */ | 398 | /* CUSE specific operations */ |
| 386 | CUSE_INIT = 4096, | 399 | CUSE_INIT = 4096, |
| 387 | }; | 400 | }; |
| 388 | 401 | ||
| 389 | enum fuse_notify_code { | 402 | enum fuse_notify_code { |
| @@ -610,7 +623,9 @@ struct fuse_init_out { · 220 unmodified lines | |||
| 610 | uint16_t congestion_threshold; | 623 | uint16_t congestion_threshold; |
| 611 | uint32_t max_write; | 624 | uint32_t max_write; |
| 612 | uint32_t time_gran; | 625 | uint32_t time_gran; |
| 613 | uint32_t unused[9]; | 626 | uint16_t max_pages; |
| 627 | uint16_t padding; | ||
| 628 | uint32_t unused[8]; | ||
| 614 | }; | 629 | }; |
| 615 | 630 | ||
| 616 | #define CUSE_INIT_INFO_MAX 4096 | 631 | #define CUSE_INIT_INFO_MAX 4096 |
| @@ -792,4 +807,14 @@ struct fuse_lseek_out { · 175 unmodified lines | |||
| 792 | uint64_t offset; | 807 | uint64_t offset; |
| 793 | }; | 808 | }; |
| 794 | 809 | ||
| 810 | struct fuse_copy_file_range_in { | ||
| 811 | uint64_t fh_in; | ||
| 812 | uint64_t off_in; | ||
| 813 | uint64_t nodeid_out; | ||
| 814 | uint64_t fh_out; | ||
| 815 | uint64_t off_out; | ||
| 816 | uint64_t len; | ||
| 817 | uint64_t flags; | ||
| 818 | }; | ||
| 819 | |||
| 795 | #endif /* _LINUX_FUSE_H */ | 820 | #endif /* _LINUX_FUSE_H */ |
| @@ -61,6 +61,11 @@ · 60 unmodified lines | |||
| 61 | #define KEYCTL_INVALIDATE 21 /* invalidate a key */ | 61 | #define KEYCTL_INVALIDATE 21 /* invalidate a key */ |
| 62 | #define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */ | 62 | #define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */ |
| 63 | #define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */ | 63 | #define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */ |
| 64 | #define KEYCTL_PKEY_QUERY 24 /* Query public key parameters */ | ||
| 65 | #define KEYCTL_PKEY_ENCRYPT 25 /* Encrypt a blob using a public key */ | ||
| 66 | #define KEYCTL_PKEY_DECRYPT 26 /* Decrypt a blob using a public key */ | ||
| 67 | #define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */ | ||
| 68 | #define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */ | ||
| 64 | #define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */ | 69 | #define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */ |
| 65 | 70 | ||
| 66 | /* keyctl structures */ | 71 | /* keyctl structures */ |
| @@ -82,4 +87,29 @@ struct keyctl_kdf_params { · 15 unmodified lines | |||
| 82 | __u32 __spare[8]; | 87 | __u32 __spare[8]; |
| 83 | }; | 88 | }; |
| 84 | 89 | ||
| 90 | #define KEYCTL_SUPPORTS_ENCRYPT 0x01 | ||
| 91 | #define KEYCTL_SUPPORTS_DECRYPT 0x02 | ||
| 92 | #define KEYCTL_SUPPORTS_SIGN 0x04 | ||
| 93 | #define KEYCTL_SUPPORTS_VERIFY 0x08 | ||
| 94 | |||
| 95 | struct keyctl_pkey_query { | ||
| 96 | __u32 supported_ops; /* Which ops are supported */ | ||
| 97 | __u32 key_size; /* Size of the key in bits */ | ||
| 98 | __u16 max_data_size; /* Maximum size of raw data to sign in bytes */ | ||
| 99 | __u16 max_sig_size; /* Maximum size of signature in bytes */ | ||
| 100 | __u16 max_enc_size; /* Maximum size of encrypted blob in bytes */ | ||
| 101 | __u16 max_dec_size; /* Maximum size of decrypted blob in bytes */ | ||
| 102 | __u32 __spare[10]; | ||
| 103 | }; | ||
| 104 | |||
| 105 | struct keyctl_pkey_params { | ||
| 106 | __s32 key_id; /* Serial no. of public key to use */ | ||
| 107 | __u32 in_len; /* Input data size */ | ||
| 108 | union { | ||
| 109 | __u32 out_len; /* Output buffer size (encrypt/decrypt/sign) */ | ||
| 110 | __u32 in2_len; /* 2nd input data size (verify) */ | ||
| 111 | }; | ||
| 112 | __u32 __spare[7]; | ||
| 113 | }; | ||
| 114 | |||
| 85 | #endif /* _LINUX_KEYCTL_H */ | 115 | #endif /* _LINUX_KEYCTL_H */ |
| @@ -646,10 +646,12 @@ struct perf_event_mmap_page { · 645 unmodified lines | |||
| 646 | * | 646 | * |
| 647 | * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events | 647 | * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events |
| 648 | * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event | 648 | * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event |
| 649 | * PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal) | ||
| 649 | * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events | 650 | * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events |
| 650 | */ | 651 | */ |
| 651 | #define PERF_RECORD_MISC_MMAP_DATA (1 << 13) | 652 | #define PERF_RECORD_MISC_MMAP_DATA (1 << 13) |
| 652 | #define PERF_RECORD_MISC_COMM_EXEC (1 << 13) | 653 | #define PERF_RECORD_MISC_COMM_EXEC (1 << 13) |
| 654 | #define PERF_RECORD_MISC_FORK_EXEC (1 << 13) | ||
| 653 | #define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) | 655 | #define PERF_RECORD_MISC_SWITCH_OUT (1 << 13) |
| 654 | /* | 656 | /* |
| 655 | * These PERF_RECORD_MISC_* flags below are safely reused | 657 | * These PERF_RECORD_MISC_* flags below are safely reused |
| @@ -303,6 +303,56 @@ struct vfio_region_info_cap_type { · 302 unmodified lines | |||
| 303 | #define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2) | 303 | #define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2) |
| 304 | #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3) | 304 | #define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3) |
| 305 | 305 | ||
| 306 | #define VFIO_REGION_TYPE_GFX (1) | ||
| 307 | #define VFIO_REGION_SUBTYPE_GFX_EDID (1) | ||
| 308 | |||
| 309 | /** | ||
| 310 | * struct vfio_region_gfx_edid - EDID region layout. | ||
| 311 | * | ||
| 312 | * Set display link state and EDID blob. | ||
| 313 | * | ||
| 314 | * The EDID blob has monitor information such as brand, name, serial | ||
| 315 | * number, physical size, supported video modes and more. | ||
| 316 | * | ||
| 317 | * This special region allows userspace (typically qemu) set a virtual | ||
| 318 | * EDID for the virtual monitor, which allows a flexible display | ||
| 319 | * configuration. | ||
| 320 | * | ||
| 321 | * For the edid blob spec look here: | ||
| 322 | * https://en.wikipedia.org/wiki/Extended_Display_Identification_Data | ||
| 323 | * | ||
| 324 | * On linux systems you can find the EDID blob in sysfs: | ||
| 325 | * /sys/class/drm/${card}/${connector}/edid | ||
| 326 | * | ||
| 327 | * You can use the edid-decode ulility (comes with xorg-x11-utils) to | ||
| 328 | * decode the EDID blob. | ||
| 329 | * | ||
| 330 | * @edid_offset: location of the edid blob, relative to the | ||
| 331 | * start of the region (readonly). | ||
| 332 | * @edid_max_size: max size of the edid blob (readonly). | ||
| 333 | * @edid_size: actual edid size (read/write). | ||
| 334 | * @link_state: display link state (read/write). | ||
| 335 | * VFIO_DEVICE_GFX_LINK_STATE_UP: Monitor is turned on. | ||
| 336 | * VFIO_DEVICE_GFX_LINK_STATE_DOWN: Monitor is turned off. | ||
| 337 | * @max_xres: max display width (0 == no limitation, readonly). | ||
| 338 | * @max_yres: max display height (0 == no limitation, readonly). | ||
| 339 | * | ||
| 340 | * EDID update protocol: | ||
| 341 | * (1) set link-state to down. | ||
| 342 | * (2) update edid blob and size. | ||
| 343 | * (3) set link-state to up. | ||
| 344 | */ | ||
| 345 | struct vfio_region_gfx_edid { | ||
| 346 | __u32 edid_offset; | ||
| 347 | __u32 edid_max_size; | ||
| 348 | __u32 edid_size; | ||
| 349 | __u32 max_xres; | ||
| 350 | __u32 max_yres; | ||
| 351 | __u32 link_state; | ||
| 352 | #define VFIO_DEVICE_GFX_LINK_STATE_UP 1 | ||
| 353 | #define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2 | ||
| 354 | }; | ||
| 355 | |||
| 306 | /* | 356 | /* |
| 307 | * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped | 357 | * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped |
| 308 | * which allows direct access to non-MSIX registers which happened to be within | 358 | * which allows direct access to non-MSIX registers which happened to be within |
| @@ -34,15 +34,23 @@ · 33 unmodified lines | |||
| 34 | #define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */ | 34 | #define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */ |
| 35 | #define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */ | 35 | #define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */ |
| 36 | #define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */ | 36 | #define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */ |
| 37 | #define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */ | ||
| 38 | #define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */ | ||
| 37 | 39 | ||
| 38 | /* Size of a PFN in the balloon interface. */ | 40 | /* Size of a PFN in the balloon interface. */ |
| 39 | #define VIRTIO_BALLOON_PFN_SHIFT 12 | 41 | #define VIRTIO_BALLOON_PFN_SHIFT 12 |
| 40 | 42 | ||
| 43 | #define VIRTIO_BALLOON_CMD_ID_STOP 0 | ||
| 44 | #define VIRTIO_BALLOON_CMD_ID_DONE 1 | ||
| 41 | struct virtio_balloon_config { | 45 | struct virtio_balloon_config { |
| 42 | /* Number of pages host wants Guest to give up. */ | 46 | /* Number of pages host wants Guest to give up. */ |
| 43 | __u32 num_pages; | 47 | __u32 num_pages; |
| 44 | /* Number of pages we've actually got in balloon. */ | 48 | /* Number of pages we've actually got in balloon. */ |
| 45 | __u32 actual; | 49 | __u32 actual; |
| 50 | /* Free page report command id, readonly by guest */ | ||
| 51 | __u32 free_page_report_cmd_id; | ||
| 52 | /* Stores PAGE_POISON if page poisoning is in use */ | ||
| 53 | __u32 poison_val; | ||
| 46 | }; | 54 | }; |
| 47 | 55 | ||
| 48 | #define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */ | 56 | #define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */ |