| /* 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_RELEASE_BUFFER_HANDLE = 0x100B, |
| 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_READ_NOTIFICATION_CHANNEL = 0x102C, |
| 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_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_RELEASE_BUFFER_HANDLE = 0x200B, |
| 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_READ_NOTIFICATION_CHANNEL = 0x202C, |
| 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_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_RELEASE_BUFFER_HANDLE: return "VIRTIO_MAGMA_CMD_RELEASE_BUFFER_HANDLE"; |
| case VIRTIO_MAGMA_RESP_RELEASE_BUFFER_HANDLE: return "VIRTIO_MAGMA_RESP_RELEASE_BUFFER_HANDLE"; |
| 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_READ_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_CMD_READ_NOTIFICATION_CHANNEL"; |
| case VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL: return "VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL"; |
| 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_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_RELEASE_BUFFER_HANDLE: return VIRTIO_MAGMA_RESP_RELEASE_BUFFER_HANDLE; |
| 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_READ_NOTIFICATION_CHANNEL: return VIRTIO_MAGMA_RESP_READ_NOTIFICATION_CHANNEL; |
| 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_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; |
| __le64 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; |
| __le64 size_out; |
| __le64 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_release_buffer_handle_ctrl { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le32 buffer_handle; |
| } __attribute((packed)); |
| |
| struct virtio_magma_release_buffer_handle_resp { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 result_return; |
| } __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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 command_buffer; |
| __le64 resources; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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_read_notification_channel_ctrl { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 connection; |
| __le64 buffer; |
| __le64 buffer_size; |
| } __attribute((packed)); |
| |
| struct virtio_magma_read_notification_channel_resp { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 buffer_size_out; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 pool_out; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 trigger_id_out; |
| __le64 buffer_id_out; |
| __le64 buffer_offset_out; |
| __le64 time_out; |
| __le64 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; |
| __le64 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; |
| __le64 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; |
| __le64 handle_out; |
| __le64 result_return; |
| } __attribute((packed)); |
| |
| struct virtio_magma_read_notification_channel2_ctrl { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 connection; |
| __le64 buffer; |
| __le64 buffer_size; |
| } __attribute((packed)); |
| |
| struct virtio_magma_read_notification_channel2_resp { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 buffer_size_out; |
| __le64 more_data_out; |
| __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; |
| __le64 address_out; |
| __le64 result_return; |
| } __attribute((packed)); |
| |
| struct virtio_magma_internal_unmap_ctrl { |
| struct virtio_magma_ctrl_hdr hdr; |
| __le64 connection; |
| __le64 buffer; |
| __le64 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 |
| */ |