blob: f18304fe0a882523efa9144a9644df6d6b4c4cc1 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef UAPI_GOLDFISH_ADDRESS_SPACE_H
#define UAPI_GOLDFISH_ADDRESS_SPACE_H
#include <linux/types.h>
#define GOLDFISH_ADDRESS_SPACE_DEVICE_NAME "goldfish_address_space"
struct goldfish_address_space_allocate_block {
__u64 size;
__u64 offset;
__u64 phys_addr;
};
struct goldfish_address_space_ping {
__u64 offset;
__u64 size;
__u64 metadata;
__u32 version;
__u32 wait_fd;
__u32 wait_flags;
__u32 direction;
};
struct goldfish_address_space_claim_shared {
__u64 offset;
__u64 size;
};
#define GOLDFISH_ADDRESS_SPACE_IOCTL_MAGIC 'G'
#define GOLDFISH_ADDRESS_SPACE_IOCTL_OP(OP, T) \
_IOWR(GOLDFISH_ADDRESS_SPACE_IOCTL_MAGIC, OP, T)
#define GOLDFISH_ADDRESS_SPACE_IOCTL_ALLOCATE_BLOCK \
GOLDFISH_ADDRESS_SPACE_IOCTL_OP(10, \
struct goldfish_address_space_allocate_block)
#define GOLDFISH_ADDRESS_SPACE_IOCTL_DEALLOCATE_BLOCK \
GOLDFISH_ADDRESS_SPACE_IOCTL_OP(11, __u64)
#define GOLDFISH_ADDRESS_SPACE_IOCTL_PING \
GOLDFISH_ADDRESS_SPACE_IOCTL_OP(12, \
struct goldfish_address_space_ping)
#define GOLDFISH_ADDRESS_SPACE_IOCTL_CLAIM_SHARED \
GOLDFISH_ADDRESS_SPACE_IOCTL_OP(13, \
struct goldfish_address_space_claim_shared)
#define GOLDFISH_ADDRESS_SPACE_IOCTL_UNCLAIM_SHARED \
GOLDFISH_ADDRESS_SPACE_IOCTL_OP(14, __u64)
#endif /* UAPI_GOLDFISH_ADDRESS_SPACE_H */