summaryrefslogtreecommitdiff
path: root/include/linux/liveupdate.h
diff options
context:
space:
mode:
authorLeon Romanovsky <leon@kernel.org>2026-03-05 05:41:16 -0500
committerLeon Romanovsky <leon@kernel.org>2026-03-05 05:41:16 -0500
commitf63f1d74e952d85ada5af95a52ca61c7dc72d5e4 (patch)
tree7c2aaea088317cbd6c7bcf1881ae22d25a29c950 /include/linux/liveupdate.h
parentf30bc6f9b9cc492634a333be9c6aa9755ca1bf17 (diff)
parent385a06f74ff7a03e3fb0b15fb87cfeb052d75073 (diff)
downloadlwn-f63f1d74e952d85ada5af95a52ca61c7dc72d5e4.tar.gz
lwn-f63f1d74e952d85ada5af95a52ca61c7dc72d5e4.zip
Add support for TLP emulation
This series adds support for Transaction Layer Packet (TLP) emulation response gateway regions, enabling userspace device emulation software to write TLP responses directly to lower layers without kernel driver involvement. Currently, the mlx5 driver exposes VirtIO emulation access regions via the MLX5_IB_METHOD_VAR_OBJ_ALLOC ioctl. This series extends that ioctl to also support allocating TLP response gateway channels for PCI device emulation use cases. Signed-off-by: Leon Romanovsky <leon@kernel.org>
Diffstat (limited to 'include/linux/liveupdate.h')
-rw-r--r--include/linux/liveupdate.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/include/linux/liveupdate.h b/include/linux/liveupdate.h
index fe82a6c3005f..dd11fdc76a5f 100644
--- a/include/linux/liveupdate.h
+++ b/include/linux/liveupdate.h
@@ -23,8 +23,11 @@ struct file;
/**
* struct liveupdate_file_op_args - Arguments for file operation callbacks.
* @handler: The file handler being called.
- * @retrieved: The retrieve status for the 'can_finish / finish'
- * operation.
+ * @retrieve_status: The retrieve status for the 'can_finish / finish'
+ * operation. A value of 0 means the retrieve has not been
+ * attempted, a positive value means the retrieve was
+ * successful, and a negative value means the retrieve failed,
+ * and the value is the error code of the call.
* @file: The file object. For retrieve: [OUT] The callback sets
* this to the new file. For other ops: [IN] The caller sets
* this to the file being operated on.
@@ -40,7 +43,7 @@ struct file;
*/
struct liveupdate_file_op_args {
struct liveupdate_file_handler *handler;
- bool retrieved;
+ int retrieve_status;
struct file *file;
u64 serialized_data;
void *private_data;