blob: 7925f9d384610a9c10c09043263777f4ec3343a3 [file] [log] [blame]
/* Copyright 2018 The Fuchsia Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
*/
/* NOTE: DO NOT EDIT THIS FILE! It is generated automatically by:
//src/graphics/lib/magma/include/virtio/virtio_magma_h_gen.py
*/
#ifndef _LINUX_VIRTIO_MAGMA_H
#define _LINUX_VIRTIO_MAGMA_H
#include <linux/virtio_ids.h>
#include <linux/virtio_config.h>
#include <linux/virtmagma.h>
struct virtio_magma_config {
__le64 dummy;
} __attribute((packed));
enum virtio_magma_ctrl_type {
/* magma commands
*/
VIRTIO_MAGMA_CMD_RELEASE_CONNECTION = 0x1004,
VIRTIO_MAGMA_CMD_GET_ERROR = 0x1005,
VIRTIO_MAGMA_CMD_CREATE_CONTEXT = 0x1006,
VIRTIO_MAGMA_CMD_RELEASE_CONTEXT = 0x1007,
VIRTIO_MAGMA_CMD_CREATE_BUFFER = 0x1008,
VIRTIO_MAGMA_CMD_RELEASE_BUFFER = 0x1009,
VIRTIO_MAGMA_CMD_GET_BUFFER_ID = 0x100C,
VIRTIO_MAGMA_CMD_GET_BUFFER_SIZE = 0x100D,
VIRTIO_MAGMA_CMD_CLEAN_CACHE = 0x100E,
VIRTIO_MAGMA_CMD_SET_CACHE_POLICY = 0x100F,
VIRTIO_MAGMA_CMD_GET_BUFFER_CACHE_POLICY = 0x1010,
VIRTIO_MAGMA_CMD_MAP_BUFFER_GPU = 0x1017,
VIRTIO_MAGMA_CMD_UNMAP_BUFFER_GPU = 0x1018,
VIRTIO_MAGMA_CMD_COMMIT_BUFFER = 0x1019,
VIRTIO_MAGMA_CMD_EXPORT = 0x101A,
VIRTIO_MAGMA_CMD_IMPORT = 0x101B,
VIRTIO_MAGMA_CMD_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES = 0x101F,
VIRTIO_MAGMA_CMD_EXECUTE_IMMEDIATE_COMMANDS2 = 0x1021,
VIRTIO_MAGMA_CMD_CREATE_SEMAPHORE = 0x1022,
VIRTIO_MAGMA_CMD_RELEASE_SEMAPHORE = 0x1023,
VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID = 0x1024,
VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE = 0x1025,
VIRTIO_MAGMA_CMD_RESET_SEMAPHORE = 0x1026,
VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE = 0x1028,
VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE = 0x1029,
VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE = 0x102A,
VIRTIO_MAGMA_CMD_INITIALIZE_TRACING = 0x102D,
VIRTIO_MAGMA_CMD_DEVICE_IMPORT = 0x102E,
VIRTIO_MAGMA_CMD_DEVICE_RELEASE = 0x102F,
VIRTIO_MAGMA_CMD_QUERY2 = 0x1030,
VIRTIO_MAGMA_CMD_QUERY_RETURNS_BUFFER2 = 0x1031,
VIRTIO_MAGMA_CMD_CREATE_CONNECTION2 = 0x1032,
VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING = 0x1033,
VIRTIO_MAGMA_CMD_POLL = 0x1034,
VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS = 0x1035,
VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS = 0x1038,
VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x1039,
VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x103A,
VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL = 0x103B,
VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL = 0x103C,
VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS = 0x103D,
VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS = 0x103E,
VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION = 0x103F,
VIRTIO_MAGMA_CMD_BUFFER_SET_NAME = 0x1040,
VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP = 0x1041,
VIRTIO_MAGMA_CMD_BUFFER_GET_INFO = 0x1042,
VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE = 0x1043,
VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL2 = 0x1046,
VIRTIO_MAGMA_CMD_VIRT_CREATE_IMAGE = 0x1047,
VIRTIO_MAGMA_CMD_VIRT_GET_IMAGE_INFO = 0x1048,
VIRTIO_MAGMA_CMD_SYNC = 0x1049,
VIRTIO_MAGMA_CMD_INTERNAL_MAP = 0x1044,
VIRTIO_MAGMA_CMD_INTERNAL_UNMAP = 0x1045,
/* magma success responses
*/
VIRTIO_MAGMA_RESP_RELEASE_CONNECTION = 0x2004,
VIRTIO_MAGMA_RESP_GET_ERROR = 0x2005,
VIRTIO_MAGMA_RESP_CREATE_CONTEXT = 0x2006,
VIRTIO_MAGMA_RESP_RELEASE_CONTEXT = 0x2007,
VIRTIO_MAGMA_RESP_CREATE_BUFFER = 0x2008,
VIRTIO_MAGMA_RESP_RELEASE_BUFFER = 0x2009,
VIRTIO_MAGMA_RESP_GET_BUFFER_ID = 0x200C,
VIRTIO_MAGMA_RESP_GET_BUFFER_SIZE = 0x200D,
VIRTIO_MAGMA_RESP_CLEAN_CACHE = 0x200E,
VIRTIO_MAGMA_RESP_SET_CACHE_POLICY = 0x200F,
VIRTIO_MAGMA_RESP_GET_BUFFER_CACHE_POLICY = 0x2010,
VIRTIO_MAGMA_RESP_MAP_BUFFER_GPU = 0x2017,
VIRTIO_MAGMA_RESP_UNMAP_BUFFER_GPU = 0x2018,
VIRTIO_MAGMA_RESP_COMMIT_BUFFER = 0x2019,
VIRTIO_MAGMA_RESP_EXPORT = 0x201A,
VIRTIO_MAGMA_RESP_IMPORT = 0x201B,
VIRTIO_MAGMA_RESP_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES = 0x201F,
VIRTIO_MAGMA_RESP_EXECUTE_IMMEDIATE_COMMANDS2 = 0x2021,
VIRTIO_MAGMA_RESP_CREATE_SEMAPHORE = 0x2022,
VIRTIO_MAGMA_RESP_RELEASE_SEMAPHORE = 0x2023,
VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID = 0x2024,
VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE = 0x2025,
VIRTIO_MAGMA_RESP_RESET_SEMAPHORE = 0x2026,
VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE = 0x2028,
VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE = 0x2029,
VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE = 0x202A,
VIRTIO_MAGMA_RESP_INITIALIZE_TRACING = 0x202D,
VIRTIO_MAGMA_RESP_DEVICE_IMPORT = 0x202E,
VIRTIO_MAGMA_RESP_DEVICE_RELEASE = 0x202F,
VIRTIO_MAGMA_RESP_QUERY2 = 0x2030,
VIRTIO_MAGMA_RESP_QUERY_RETURNS_BUFFER2 = 0x2031,
VIRTIO_MAGMA_RESP_CREATE_CONNECTION2 = 0x2032,
VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING = 0x2033,
VIRTIO_MAGMA_RESP_POLL = 0x2034,
VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS = 0x2035,
VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS = 0x2038,
VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x2039,
VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL = 0x203A,
VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL = 0x203B,
VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL = 0x203C,
VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS = 0x203D,
VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS = 0x203E,
VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION = 0x203F,
VIRTIO_MAGMA_RESP_BUFFER_SET_NAME = 0x2040,
VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP = 0x2041,
VIRTIO_MAGMA_RESP_BUFFER_GET_INFO = 0x2042,
VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE = 0x2043,
VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL2 = 0x2046,
VIRTIO_MAGMA_RESP_VIRT_CREATE_IMAGE = 0x2047,
VIRTIO_MAGMA_RESP_VIRT_GET_IMAGE_INFO = 0x2048,
VIRTIO_MAGMA_RESP_SYNC = 0x2049,
VIRTIO_MAGMA_RESP_INTERNAL_MAP = 0x2044,
VIRTIO_MAGMA_RESP_INTERNAL_UNMAP = 0x2045,
/* magma error responses
*/
VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED = 0x3001,
VIRTIO_MAGMA_RESP_ERR_INTERNAL = 0x3002,
VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED = 0x3003,
VIRTIO_MAGMA_RESP_ERR_OUT_OF_MEMORY = 0x3004,
VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND = 0x3005,
VIRTIO_MAGMA_RESP_ERR_INVALID_ARGUMENT = 0x3006,
} __attribute((packed));
inline const char* virtio_magma_ctrl_type_string(enum virtio_magma_ctrl_type type) {
switch (type) {
case VIRTIO_MAGMA_CMD_RELEASE_CONNECTION: return "VIRTIO_MAGMA_CMD_RELEASE_CONNECTION";
case VIRTIO_MAGMA_RESP_RELEASE_CONNECTION: return "VIRTIO_MAGMA_RESP_RELEASE_CONNECTION";
case VIRTIO_MAGMA_CMD_GET_ERROR: return "VIRTIO_MAGMA_CMD_GET_ERROR";
case VIRTIO_MAGMA_RESP_GET_ERROR: return "VIRTIO_MAGMA_RESP_GET_ERROR";
case VIRTIO_MAGMA_CMD_CREATE_CONTEXT: return "VIRTIO_MAGMA_CMD_CREATE_CONTEXT";
case VIRTIO_MAGMA_RESP_CREATE_CONTEXT: return "VIRTIO_MAGMA_RESP_CREATE_CONTEXT";
case VIRTIO_MAGMA_CMD_RELEASE_CONTEXT: return "VIRTIO_MAGMA_CMD_RELEASE_CONTEXT";
case VIRTIO_MAGMA_RESP_RELEASE_CONTEXT: return "VIRTIO_MAGMA_RESP_RELEASE_CONTEXT";
case VIRTIO_MAGMA_CMD_CREATE_BUFFER: return "VIRTIO_MAGMA_CMD_CREATE_BUFFER";
case VIRTIO_MAGMA_RESP_CREATE_BUFFER: return "VIRTIO_MAGMA_RESP_CREATE_BUFFER";
case VIRTIO_MAGMA_CMD_RELEASE_BUFFER: return "VIRTIO_MAGMA_CMD_RELEASE_BUFFER";
case VIRTIO_MAGMA_RESP_RELEASE_BUFFER: return "VIRTIO_MAGMA_RESP_RELEASE_BUFFER";
case VIRTIO_MAGMA_CMD_GET_BUFFER_ID: return "VIRTIO_MAGMA_CMD_GET_BUFFER_ID";
case VIRTIO_MAGMA_RESP_GET_BUFFER_ID: return "VIRTIO_MAGMA_RESP_GET_BUFFER_ID";
case VIRTIO_MAGMA_CMD_GET_BUFFER_SIZE: return "VIRTIO_MAGMA_CMD_GET_BUFFER_SIZE";
case VIRTIO_MAGMA_RESP_GET_BUFFER_SIZE: return "VIRTIO_MAGMA_RESP_GET_BUFFER_SIZE";
case VIRTIO_MAGMA_CMD_CLEAN_CACHE: return "VIRTIO_MAGMA_CMD_CLEAN_CACHE";
case VIRTIO_MAGMA_RESP_CLEAN_CACHE: return "VIRTIO_MAGMA_RESP_CLEAN_CACHE";
case VIRTIO_MAGMA_CMD_SET_CACHE_POLICY: return "VIRTIO_MAGMA_CMD_SET_CACHE_POLICY";
case VIRTIO_MAGMA_RESP_SET_CACHE_POLICY: return "VIRTIO_MAGMA_RESP_SET_CACHE_POLICY";
case VIRTIO_MAGMA_CMD_GET_BUFFER_CACHE_POLICY: return "VIRTIO_MAGMA_CMD_GET_BUFFER_CACHE_POLICY";
case VIRTIO_MAGMA_RESP_GET_BUFFER_CACHE_POLICY: return "VIRTIO_MAGMA_RESP_GET_BUFFER_CACHE_POLICY";
case VIRTIO_MAGMA_CMD_MAP_BUFFER_GPU: return "VIRTIO_MAGMA_CMD_MAP_BUFFER_GPU";
case VIRTIO_MAGMA_RESP_MAP_BUFFER_GPU: return "VIRTIO_MAGMA_RESP_MAP_BUFFER_GPU";
case VIRTIO_MAGMA_CMD_UNMAP_BUFFER_GPU: return "VIRTIO_MAGMA_CMD_UNMAP_BUFFER_GPU";
case VIRTIO_MAGMA_RESP_UNMAP_BUFFER_GPU: return "VIRTIO_MAGMA_RESP_UNMAP_BUFFER_GPU";
case VIRTIO_MAGMA_CMD_COMMIT_BUFFER: return "VIRTIO_MAGMA_CMD_COMMIT_BUFFER";
case VIRTIO_MAGMA_RESP_COMMIT_BUFFER: return "VIRTIO_MAGMA_RESP_COMMIT_BUFFER";
case VIRTIO_MAGMA_CMD_EXPORT: return "VIRTIO_MAGMA_CMD_EXPORT";
case VIRTIO_MAGMA_RESP_EXPORT: return "VIRTIO_MAGMA_RESP_EXPORT";
case VIRTIO_MAGMA_CMD_IMPORT: return "VIRTIO_MAGMA_CMD_IMPORT";
case VIRTIO_MAGMA_RESP_IMPORT: return "VIRTIO_MAGMA_RESP_IMPORT";
case VIRTIO_MAGMA_CMD_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES: return "VIRTIO_MAGMA_CMD_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES";
case VIRTIO_MAGMA_RESP_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES: return "VIRTIO_MAGMA_RESP_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES";
case VIRTIO_MAGMA_CMD_EXECUTE_IMMEDIATE_COMMANDS2: return "VIRTIO_MAGMA_CMD_EXECUTE_IMMEDIATE_COMMANDS2";
case VIRTIO_MAGMA_RESP_EXECUTE_IMMEDIATE_COMMANDS2: return "VIRTIO_MAGMA_RESP_EXECUTE_IMMEDIATE_COMMANDS2";
case VIRTIO_MAGMA_CMD_CREATE_SEMAPHORE: return "VIRTIO_MAGMA_CMD_CREATE_SEMAPHORE";
case VIRTIO_MAGMA_RESP_CREATE_SEMAPHORE: return "VIRTIO_MAGMA_RESP_CREATE_SEMAPHORE";
case VIRTIO_MAGMA_CMD_RELEASE_SEMAPHORE: return "VIRTIO_MAGMA_CMD_RELEASE_SEMAPHORE";
case VIRTIO_MAGMA_RESP_RELEASE_SEMAPHORE: return "VIRTIO_MAGMA_RESP_RELEASE_SEMAPHORE";
case VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID: return "VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID";
case VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID: return "VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID";
case VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE: return "VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE";
case VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE: return "VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE";
case VIRTIO_MAGMA_CMD_RESET_SEMAPHORE: return "VIRTIO_MAGMA_CMD_RESET_SEMAPHORE";
case VIRTIO_MAGMA_RESP_RESET_SEMAPHORE: return "VIRTIO_MAGMA_RESP_RESET_SEMAPHORE";
case VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE: return "VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE";
case VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE: return "VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE";
case VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE: return "VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE";
case VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE: return "VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE";
case VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE: return "VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE";
case VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE: return "VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE";
case VIRTIO_MAGMA_CMD_INITIALIZE_TRACING: return "VIRTIO_MAGMA_CMD_INITIALIZE_TRACING";
case VIRTIO_MAGMA_RESP_INITIALIZE_TRACING: return "VIRTIO_MAGMA_RESP_INITIALIZE_TRACING";
case VIRTIO_MAGMA_CMD_DEVICE_IMPORT: return "VIRTIO_MAGMA_CMD_DEVICE_IMPORT";
case VIRTIO_MAGMA_RESP_DEVICE_IMPORT: return "VIRTIO_MAGMA_RESP_DEVICE_IMPORT";
case VIRTIO_MAGMA_CMD_DEVICE_RELEASE: return "VIRTIO_MAGMA_CMD_DEVICE_RELEASE";
case VIRTIO_MAGMA_RESP_DEVICE_RELEASE: return "VIRTIO_MAGMA_RESP_DEVICE_RELEASE";
case VIRTIO_MAGMA_CMD_QUERY2: return "VIRTIO_MAGMA_CMD_QUERY2";
case VIRTIO_MAGMA_RESP_QUERY2: return "VIRTIO_MAGMA_RESP_QUERY2";
case VIRTIO_MAGMA_CMD_QUERY_RETURNS_BUFFER2: return "VIRTIO_MAGMA_CMD_QUERY_RETURNS_BUFFER2";
case VIRTIO_MAGMA_RESP_QUERY_RETURNS_BUFFER2: return "VIRTIO_MAGMA_RESP_QUERY_RETURNS_BUFFER2";
case VIRTIO_MAGMA_CMD_CREATE_CONNECTION2: return "VIRTIO_MAGMA_CMD_CREATE_CONNECTION2";
case VIRTIO_MAGMA_RESP_CREATE_CONNECTION2: return "VIRTIO_MAGMA_RESP_CREATE_CONNECTION2";
case VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING: return "VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING";
case VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING: return "VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING";
case VIRTIO_MAGMA_CMD_POLL: return "VIRTIO_MAGMA_CMD_POLL";
case VIRTIO_MAGMA_RESP_POLL: return "VIRTIO_MAGMA_RESP_POLL";
case VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL";
case VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL";
case VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL";
case VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL";
case VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL";
case VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL";
case VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return "VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL";
case VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return "VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL";
case VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return "VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS";
case VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return "VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION";
case VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return "VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION";
case VIRTIO_MAGMA_CMD_BUFFER_SET_NAME: return "VIRTIO_MAGMA_CMD_BUFFER_SET_NAME";
case VIRTIO_MAGMA_RESP_BUFFER_SET_NAME: return "VIRTIO_MAGMA_RESP_BUFFER_SET_NAME";
case VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP: return "VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP";
case VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP: return "VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP";
case VIRTIO_MAGMA_CMD_BUFFER_GET_INFO: return "VIRTIO_MAGMA_CMD_BUFFER_GET_INFO";
case VIRTIO_MAGMA_RESP_BUFFER_GET_INFO: return "VIRTIO_MAGMA_RESP_BUFFER_GET_INFO";
case VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE: return "VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE";
case VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE: return "VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE";
case VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL2: return "VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL2";
case VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL2: return "VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL2";
case VIRTIO_MAGMA_CMD_VIRT_CREATE_IMAGE: return "VIRTIO_MAGMA_CMD_VIRT_CREATE_IMAGE";
case VIRTIO_MAGMA_RESP_VIRT_CREATE_IMAGE: return "VIRTIO_MAGMA_RESP_VIRT_CREATE_IMAGE";
case VIRTIO_MAGMA_CMD_VIRT_GET_IMAGE_INFO: return "VIRTIO_MAGMA_CMD_VIRT_GET_IMAGE_INFO";
case VIRTIO_MAGMA_RESP_VIRT_GET_IMAGE_INFO: return "VIRTIO_MAGMA_RESP_VIRT_GET_IMAGE_INFO";
case VIRTIO_MAGMA_CMD_SYNC: return "VIRTIO_MAGMA_CMD_SYNC";
case VIRTIO_MAGMA_RESP_SYNC: return "VIRTIO_MAGMA_RESP_SYNC";
case VIRTIO_MAGMA_CMD_INTERNAL_MAP: return "VIRTIO_MAGMA_CMD_INTERNAL_MAP";
case VIRTIO_MAGMA_RESP_INTERNAL_MAP: return "VIRTIO_MAGMA_RESP_INTERNAL_MAP";
case VIRTIO_MAGMA_CMD_INTERNAL_UNMAP: return "VIRTIO_MAGMA_CMD_INTERNAL_UNMAP";
case VIRTIO_MAGMA_RESP_INTERNAL_UNMAP: return "VIRTIO_MAGMA_RESP_INTERNAL_UNMAP";
case VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED: return "VIRTIO_MAGMA_RESP_ERR_UNIMPLEMENTED";
case VIRTIO_MAGMA_RESP_ERR_INTERNAL: return "VIRTIO_MAGMA_RESP_ERR_INTERNAL";
case VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED: return "VIRTIO_MAGMA_RESP_ERR_HOST_DISCONNECTED";
case VIRTIO_MAGMA_RESP_ERR_OUT_OF_MEMORY: return "VIRTIO_MAGMA_RESP_ERR_OUT_OF_MEMORY";
case VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND: return "VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND";
case VIRTIO_MAGMA_RESP_ERR_INVALID_ARGUMENT: return "VIRTIO_MAGMA_RESP_ERR_INVALID_ARGUMENT";
default: return "[invalid virtio_magma_ctrl_type]";
}
}
inline enum virtio_magma_ctrl_type virtio_magma_expected_response_type(enum virtio_magma_ctrl_type type) {
switch (type) {
case VIRTIO_MAGMA_CMD_RELEASE_CONNECTION: return VIRTIO_MAGMA_RESP_RELEASE_CONNECTION;
case VIRTIO_MAGMA_CMD_GET_ERROR: return VIRTIO_MAGMA_RESP_GET_ERROR;
case VIRTIO_MAGMA_CMD_CREATE_CONTEXT: return VIRTIO_MAGMA_RESP_CREATE_CONTEXT;
case VIRTIO_MAGMA_CMD_RELEASE_CONTEXT: return VIRTIO_MAGMA_RESP_RELEASE_CONTEXT;
case VIRTIO_MAGMA_CMD_CREATE_BUFFER: return VIRTIO_MAGMA_RESP_CREATE_BUFFER;
case VIRTIO_MAGMA_CMD_RELEASE_BUFFER: return VIRTIO_MAGMA_RESP_RELEASE_BUFFER;
case VIRTIO_MAGMA_CMD_GET_BUFFER_ID: return VIRTIO_MAGMA_RESP_GET_BUFFER_ID;
case VIRTIO_MAGMA_CMD_GET_BUFFER_SIZE: return VIRTIO_MAGMA_RESP_GET_BUFFER_SIZE;
case VIRTIO_MAGMA_CMD_CLEAN_CACHE: return VIRTIO_MAGMA_RESP_CLEAN_CACHE;
case VIRTIO_MAGMA_CMD_SET_CACHE_POLICY: return VIRTIO_MAGMA_RESP_SET_CACHE_POLICY;
case VIRTIO_MAGMA_CMD_GET_BUFFER_CACHE_POLICY: return VIRTIO_MAGMA_RESP_GET_BUFFER_CACHE_POLICY;
case VIRTIO_MAGMA_CMD_MAP_BUFFER_GPU: return VIRTIO_MAGMA_RESP_MAP_BUFFER_GPU;
case VIRTIO_MAGMA_CMD_UNMAP_BUFFER_GPU: return VIRTIO_MAGMA_RESP_UNMAP_BUFFER_GPU;
case VIRTIO_MAGMA_CMD_COMMIT_BUFFER: return VIRTIO_MAGMA_RESP_COMMIT_BUFFER;
case VIRTIO_MAGMA_CMD_EXPORT: return VIRTIO_MAGMA_RESP_EXPORT;
case VIRTIO_MAGMA_CMD_IMPORT: return VIRTIO_MAGMA_RESP_IMPORT;
case VIRTIO_MAGMA_CMD_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES: return VIRTIO_MAGMA_RESP_EXECUTE_COMMAND_BUFFER_WITH_RESOURCES;
case VIRTIO_MAGMA_CMD_EXECUTE_IMMEDIATE_COMMANDS2: return VIRTIO_MAGMA_RESP_EXECUTE_IMMEDIATE_COMMANDS2;
case VIRTIO_MAGMA_CMD_CREATE_SEMAPHORE: return VIRTIO_MAGMA_RESP_CREATE_SEMAPHORE;
case VIRTIO_MAGMA_CMD_RELEASE_SEMAPHORE: return VIRTIO_MAGMA_RESP_RELEASE_SEMAPHORE;
case VIRTIO_MAGMA_CMD_GET_SEMAPHORE_ID: return VIRTIO_MAGMA_RESP_GET_SEMAPHORE_ID;
case VIRTIO_MAGMA_CMD_SIGNAL_SEMAPHORE: return VIRTIO_MAGMA_RESP_SIGNAL_SEMAPHORE;
case VIRTIO_MAGMA_CMD_RESET_SEMAPHORE: return VIRTIO_MAGMA_RESP_RESET_SEMAPHORE;
case VIRTIO_MAGMA_CMD_EXPORT_SEMAPHORE: return VIRTIO_MAGMA_RESP_EXPORT_SEMAPHORE;
case VIRTIO_MAGMA_CMD_IMPORT_SEMAPHORE: return VIRTIO_MAGMA_RESP_IMPORT_SEMAPHORE;
case VIRTIO_MAGMA_CMD_GET_NOTIFICATION_CHANNEL_HANDLE: return VIRTIO_MAGMA_RESP_GET_NOTIFICATION_CHANNEL_HANDLE;
case VIRTIO_MAGMA_CMD_INITIALIZE_TRACING: return VIRTIO_MAGMA_RESP_INITIALIZE_TRACING;
case VIRTIO_MAGMA_CMD_DEVICE_IMPORT: return VIRTIO_MAGMA_RESP_DEVICE_IMPORT;
case VIRTIO_MAGMA_CMD_DEVICE_RELEASE: return VIRTIO_MAGMA_RESP_DEVICE_RELEASE;
case VIRTIO_MAGMA_CMD_QUERY2: return VIRTIO_MAGMA_RESP_QUERY2;
case VIRTIO_MAGMA_CMD_QUERY_RETURNS_BUFFER2: return VIRTIO_MAGMA_RESP_QUERY_RETURNS_BUFFER2;
case VIRTIO_MAGMA_CMD_CREATE_CONNECTION2: return VIRTIO_MAGMA_RESP_CREATE_CONNECTION2;
case VIRTIO_MAGMA_CMD_INITIALIZE_LOGGING: return VIRTIO_MAGMA_RESP_INITIALIZE_LOGGING;
case VIRTIO_MAGMA_CMD_POLL: return VIRTIO_MAGMA_RESP_POLL;
case VIRTIO_MAGMA_CMD_CONNECTION_ACCESS_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_ACCESS_PERFORMANCE_COUNTERS;
case VIRTIO_MAGMA_CMD_CONNECTION_ENABLE_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_ENABLE_PERFORMANCE_COUNTERS;
case VIRTIO_MAGMA_CMD_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_CREATE_PERFORMANCE_COUNTER_BUFFER_POOL;
case VIRTIO_MAGMA_CMD_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_RELEASE_PERFORMANCE_COUNTER_BUFFER_POOL;
case VIRTIO_MAGMA_CMD_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_ADD_PERFORMANCE_COUNTER_BUFFER_OFFSETS_TO_POOL;
case VIRTIO_MAGMA_CMD_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL: return VIRTIO_MAGMA_RESP_CONNECTION_REMOVE_PERFORMANCE_COUNTER_BUFFER_FROM_POOL;
case VIRTIO_MAGMA_CMD_CONNECTION_DUMP_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_DUMP_PERFORMANCE_COUNTERS;
case VIRTIO_MAGMA_CMD_CONNECTION_CLEAR_PERFORMANCE_COUNTERS: return VIRTIO_MAGMA_RESP_CONNECTION_CLEAR_PERFORMANCE_COUNTERS;
case VIRTIO_MAGMA_CMD_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION: return VIRTIO_MAGMA_RESP_CONNECTION_READ_PERFORMANCE_COUNTER_COMPLETION;
case VIRTIO_MAGMA_CMD_BUFFER_SET_NAME: return VIRTIO_MAGMA_RESP_BUFFER_SET_NAME;
case VIRTIO_MAGMA_CMD_BUFFER_RANGE_OP: return VIRTIO_MAGMA_RESP_BUFFER_RANGE_OP;
case VIRTIO_MAGMA_CMD_BUFFER_GET_INFO: return VIRTIO_MAGMA_RESP_BUFFER_GET_INFO;
case VIRTIO_MAGMA_CMD_GET_BUFFER_HANDLE: return VIRTIO_MAGMA_RESP_GET_BUFFER_HANDLE;
case VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL2: return VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL2;
case VIRTIO_MAGMA_CMD_VIRT_CREATE_IMAGE: return VIRTIO_MAGMA_RESP_VIRT_CREATE_IMAGE;
case VIRTIO_MAGMA_CMD_VIRT_GET_IMAGE_INFO: return VIRTIO_MAGMA_RESP_VIRT_GET_IMAGE_INFO;
case VIRTIO_MAGMA_CMD_SYNC: return VIRTIO_MAGMA_RESP_SYNC;
case VIRTIO_MAGMA_CMD_INTERNAL_MAP: return VIRTIO_MAGMA_RESP_INTERNAL_MAP;
case VIRTIO_MAGMA_CMD_INTERNAL_UNMAP: return VIRTIO_MAGMA_RESP_INTERNAL_UNMAP;
default: return VIRTIO_MAGMA_RESP_ERR_INVALID_COMMAND;
}
}
struct virtio_magma_ctrl_hdr {
__le32 type;
__le32 flags;
} __attribute((packed));
struct virtio_magma_release_connection_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_release_connection_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_get_error_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_get_error_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_create_context_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_create_context_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t context_id_out;
} __attribute((packed));
struct virtio_magma_release_context_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 context_id;
} __attribute((packed));
struct virtio_magma_release_context_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_create_buffer_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 size;
} __attribute((packed));
struct virtio_magma_create_buffer_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t size_out;
uintptr_t buffer_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_release_buffer_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_release_buffer_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_get_buffer_id_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_get_buffer_id_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_get_buffer_size_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_get_buffer_size_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_clean_cache_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 buffer;
__le64 offset;
__le64 size;
__le64 operation;
} __attribute((packed));
struct virtio_magma_clean_cache_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_set_cache_policy_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 buffer;
__le64 policy;
} __attribute((packed));
struct virtio_magma_set_cache_policy_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_get_buffer_cache_policy_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_get_buffer_cache_policy_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t cache_policy_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_map_buffer_gpu_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
__le64 page_offset;
__le64 page_count;
__le64 gpu_va;
__le64 map_flags;
} __attribute((packed));
struct virtio_magma_map_buffer_gpu_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_unmap_buffer_gpu_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
__le64 gpu_va;
} __attribute((packed));
struct virtio_magma_unmap_buffer_gpu_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_commit_buffer_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
__le64 page_offset;
__le64 page_count;
} __attribute((packed));
struct virtio_magma_commit_buffer_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_export_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_export_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t buffer_handle_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_import_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 buffer_handle;
} __attribute((packed));
struct virtio_magma_import_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t buffer_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_execute_command_buffer_with_resources_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 context_id;
uintptr_t command_buffer;
uintptr_t resources;
uintptr_t semaphore_ids;
} __attribute((packed));
struct virtio_magma_execute_command_buffer_with_resources_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_execute_immediate_commands2_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 context_id;
__le64 command_count;
uintptr_t command_buffers;
} __attribute((packed));
struct virtio_magma_execute_immediate_commands2_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_create_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_create_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t semaphore_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_release_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 semaphore;
} __attribute((packed));
struct virtio_magma_release_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_get_semaphore_id_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 semaphore;
} __attribute((packed));
struct virtio_magma_get_semaphore_id_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_signal_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 semaphore;
} __attribute((packed));
struct virtio_magma_signal_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_reset_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 semaphore;
} __attribute((packed));
struct virtio_magma_reset_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_export_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 semaphore;
} __attribute((packed));
struct virtio_magma_export_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t semaphore_handle_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_import_semaphore_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 semaphore_handle;
} __attribute((packed));
struct virtio_magma_import_semaphore_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t semaphore_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_get_notification_channel_handle_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_get_notification_channel_handle_resp {
struct virtio_magma_ctrl_hdr hdr;
__le32 result_return;
} __attribute((packed));
struct virtio_magma_initialize_tracing_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le32 channel;
} __attribute((packed));
struct virtio_magma_initialize_tracing_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_device_import_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le32 device_channel;
} __attribute((packed));
struct virtio_magma_device_import_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t device_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_device_release_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 device;
} __attribute((packed));
struct virtio_magma_device_release_resp {
struct virtio_magma_ctrl_hdr hdr;
} __attribute((packed));
struct virtio_magma_query2_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 device;
__le64 id;
} __attribute((packed));
struct virtio_magma_query2_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t value_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_query_returns_buffer2_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 device;
__le64 id;
} __attribute((packed));
struct virtio_magma_query_returns_buffer2_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t handle_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_create_connection2_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 device;
} __attribute((packed));
struct virtio_magma_create_connection2_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t connection_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_initialize_logging_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le32 channel;
} __attribute((packed));
struct virtio_magma_initialize_logging_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_poll_ctrl {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t items;
__le32 count;
__le64 timeout_ns;
} __attribute((packed));
struct virtio_magma_poll_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_access_performance_counters_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le32 channel;
} __attribute((packed));
struct virtio_magma_connection_access_performance_counters_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_enable_performance_counters_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
uintptr_t counters;
__le64 counters_count;
} __attribute((packed));
struct virtio_magma_connection_enable_performance_counters_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_create_performance_counter_buffer_pool_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_connection_create_performance_counter_buffer_pool_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t pool_out;
uintptr_t notification_handle_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_release_performance_counter_buffer_pool_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 pool;
} __attribute((packed));
struct virtio_magma_connection_release_performance_counter_buffer_pool_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_add_performance_counter_buffer_offsets_to_pool_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 pool;
uintptr_t offsets;
__le64 offsets_count;
} __attribute((packed));
struct virtio_magma_connection_add_performance_counter_buffer_offsets_to_pool_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_remove_performance_counter_buffer_from_pool_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 pool_id;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_connection_remove_performance_counter_buffer_from_pool_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_dump_performance_counters_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 pool;
__le32 trigger_id;
} __attribute((packed));
struct virtio_magma_connection_dump_performance_counters_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_clear_performance_counters_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
uintptr_t counters;
__le64 counters_count;
} __attribute((packed));
struct virtio_magma_connection_clear_performance_counters_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_connection_read_performance_counter_completion_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 pool;
} __attribute((packed));
struct virtio_magma_connection_read_performance_counter_completion_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t trigger_id_out;
uintptr_t buffer_id_out;
uintptr_t buffer_offset_out;
uintptr_t time_out;
uintptr_t result_flags_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_buffer_set_name_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
uintptr_t name;
} __attribute((packed));
struct virtio_magma_buffer_set_name_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_buffer_range_op_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
__le32 options;
__le64 start_offset;
__le64 length;
} __attribute((packed));
struct virtio_magma_buffer_range_op_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_buffer_get_info_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_buffer_get_info_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t info_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_get_buffer_handle_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
} __attribute((packed));
struct virtio_magma_get_buffer_handle_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t handle_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_read_notification_channel2_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
uintptr_t buffer;
__le64 buffer_size;
} __attribute((packed));
struct virtio_magma_read_notification_channel2_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t buffer_size_out;
uintptr_t more_data_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_virt_create_image_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
uintptr_t create_info;
} __attribute((packed));
struct virtio_magma_virt_create_image_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t image_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_virt_get_image_info_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 image;
uintptr_t image_info_out;
} __attribute((packed));
struct virtio_magma_virt_get_image_info_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_sync_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
} __attribute((packed));
struct virtio_magma_sync_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_internal_map_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
__le64 length;
} __attribute((packed));
struct virtio_magma_internal_map_resp {
struct virtio_magma_ctrl_hdr hdr;
uintptr_t address_out;
__le64 result_return;
} __attribute((packed));
struct virtio_magma_internal_unmap_ctrl {
struct virtio_magma_ctrl_hdr hdr;
__le64 connection;
__le64 buffer;
uintptr_t address;
} __attribute((packed));
struct virtio_magma_internal_unmap_resp {
struct virtio_magma_ctrl_hdr hdr;
__le64 result_return;
} __attribute((packed));
#endif /* _LINUX_VIRTIO_MAGMA_H
*/