Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198142/?format=api
{ "id": 2198142, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198142/?format=api", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/1.0/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "" }, "msgid": "<20260219130334.787858-5-aesteve@redhat.com>", "date": "2026-02-19T13:03:31", "name": "[v13,4/7] vhost_user: Add frontend get_shmem_config command", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "566a8d87388f1ad544af81dc4628d1f2c38e33e2", "submitter": { "id": 85915, "url": "http://patchwork.ozlabs.org/api/1.0/people/85915/?format=api", "name": "Albert Esteve", "email": "aesteve@redhat.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260219130334.787858-5-aesteve@redhat.com/mbox/", "series": [ { "id": 492672, "url": "http://patchwork.ozlabs.org/api/1.0/series/492672/?format=api", "date": "2026-02-19T13:03:27", "name": "vhost-user: Add SHMEM_MAP/UNMAP requests", "version": 13, "mbox": "http://patchwork.ozlabs.org/series/492672/mbox/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2198142/checks/", "tags": {}, "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": [ "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=Fi6A7zIl;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)" ], "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fGtrx6PZvz1xpl\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:05:05 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vt3ha-0007fd-6b; Thu, 19 Feb 2026 08:04:18 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <aesteve@redhat.com>)\n id 1vt3hY-0007ed-Kj\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 08:04:16 -0500", "from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <aesteve@redhat.com>)\n id 1vt3hX-0006M3-19\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 08:04:16 -0500", "from mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com\n (ec2-35-165-154-97.us-west-2.compute.amazonaws.com [35.165.154.97]) by\n relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,\n cipher=TLS_AES_256_GCM_SHA384) id us-mta-676-Ej4-2qOpPWOR-8Sxi3XpaQ-1; Thu,\n 19 Feb 2026 08:04:11 -0500", "from mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com\n (mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.12])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mx-prod-mc-08.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS\n id 96CF018002CE; Thu, 19 Feb 2026 13:04:09 +0000 (UTC)", "from fedora.redhat.com (unknown [10.44.33.19])\n by mx-prod-int-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP\n id F31501955F01; Thu, 19 Feb 2026 13:04:03 +0000 (UTC)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1771506254;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=gWQU8N3M/VEPlBfsThD0/ZfMnUZYv5eJfQvM3AaTjpw=;\n b=Fi6A7zIlyiIQ5xkAcpt/pNeiplv7QFpwTLntP/87Q+DrSrYQzvnNwW8bXHFscfoL9GWfJs\n dBhlqiDAdvcZ5O2Kf0mRlp3sk7NqzeWmquBQHmvPwarg/DuJ6J20JaptSWFsP/KI9ENELz\n ZaN9QV7/u6F/keZweBRhpByzBwmmeqc=", "X-MC-Unique": "Ej4-2qOpPWOR-8Sxi3XpaQ-1", "X-Mimecast-MFC-AGG-ID": "Ej4-2qOpPWOR-8Sxi3XpaQ_1771506249", "From": "Albert Esteve <aesteve@redhat.com>", "To": "qemu-devel@nongnu.org", "Cc": "Peter Xu <peterx@redhat.com>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>, mst@redhat.com,\n dbassey@redhat.com,\n =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>, =?utf-8?q?Alex?=\n\t=?utf-8?q?_Benn=C3=A9e?= <alex.bennee@linaro.org>,\n Paolo Bonzini <pbonzini@redhat.com>, Fabiano Rosas <farosas@suse.de>,\n stefanha@redhat.com, manos.pitsidianakis@linaro.org,\n Stefano Garzarella <sgarzare@redhat.com>, jasowang@redhat.com,\n Laurent Vivier <lvivier@redhat.com>, slp@redhat.com, hi@alyssa.is,\n stevensd@chromium.org", "Subject": "[PATCH v13 4/7] vhost_user: Add frontend get_shmem_config command", "Date": "Thu, 19 Feb 2026 14:03:31 +0100", "Message-ID": "<20260219130334.787858-5-aesteve@redhat.com>", "In-Reply-To": "<20260219130334.787858-1-aesteve@redhat.com>", "References": "<20260219130334.787858-1-aesteve@redhat.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-Scanned-By": "MIMEDefang 3.0 on 10.30.177.12", "Received-SPF": "pass client-ip=170.10.133.124; envelope-from=aesteve@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com", "X-Spam_score_int": "-20", "X-Spam_score": "-2.1", "X-Spam_bar": "--", "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.045,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no", "X-Spam_action": "no action", "X-BeenThere": "qemu-devel@nongnu.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "The frontend can use this command to retrieve\nVirtIO Shared Memory Regions configuration from\nthe backend. The response contains the number of\nshared memory regions, their size, and shmid.\n\nThis is useful when the frontend is unaware of\nspecific backend type and configuration,\nfor example, in the `vhost-user-device` case.\n\nReviewed-by: Stefan Hajnoczi <stefanha@redhat.com>\nSigned-off-by: Albert Esteve <aesteve@redhat.com>\n---\n include/hw/virtio/vhost-backend.h | 10 ++++++++++\n include/hw/virtio/vhost-user.h | 1 +\n include/hw/virtio/virtio.h | 2 ++\n 3 files changed, 13 insertions(+)", "diff": "diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h\nindex ff94fa1734..ce58b4d2d6 100644\n--- a/include/hw/virtio/vhost-backend.h\n+++ b/include/hw/virtio/vhost-backend.h\n@@ -163,6 +163,15 @@ typedef int (*vhost_set_device_state_fd_op)(struct vhost_dev *dev,\n int *reply_fd,\n Error **errp);\n typedef int (*vhost_check_device_state_op)(struct vhost_dev *dev, Error **errp);\n+/*\n+ * Max regions is VIRTIO_MAX_SHMEM_REGIONS, so that is the maximum\n+ * number of memory_sizes that will be accepted.\n+ */\n+typedef int (*vhost_get_shmem_config_op)(struct vhost_dev *dev,\n+ int *nregions,\n+ uint64_t *memory_sizes,\n+ Error **errp);\n+\n \n typedef struct VhostOps {\n VhostBackendType backend_type;\n@@ -220,6 +229,7 @@ typedef struct VhostOps {\n vhost_supports_device_state_op vhost_supports_device_state;\n vhost_set_device_state_fd_op vhost_set_device_state_fd;\n vhost_check_device_state_op vhost_check_device_state;\n+ vhost_get_shmem_config_op vhost_get_shmem_config;\n } VhostOps;\n \n int vhost_backend_update_device_iotlb(struct vhost_dev *dev,\ndiff --git a/include/hw/virtio/vhost-user.h b/include/hw/virtio/vhost-user.h\nindex 55d5725ef8..8ac2120cfd 100644\n--- a/include/hw/virtio/vhost-user.h\n+++ b/include/hw/virtio/vhost-user.h\n@@ -32,6 +32,7 @@ enum VhostUserProtocolFeature {\n /* Feature 17 reserved for VHOST_USER_PROTOCOL_F_XEN_MMAP. */\n VHOST_USER_PROTOCOL_F_SHARED_OBJECT = 18,\n VHOST_USER_PROTOCOL_F_DEVICE_STATE = 19,\n+ VHOST_USER_PROTOCOL_F_SHMEM = 20,\n VHOST_USER_PROTOCOL_F_MAX\n };\n \ndiff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h\nindex 40d881ca09..9aef913af0 100644\n--- a/include/hw/virtio/virtio.h\n+++ b/include/hw/virtio/virtio.h\n@@ -82,6 +82,8 @@ typedef struct VirtQueueElement\n \n #define VIRTIO_NO_VECTOR 0xffff\n \n+#define VIRTIO_MAX_SHMEM_REGIONS 256\n+\n /* special index value used internally for config irqs */\n #define VIRTIO_CONFIG_IRQ_IDX -1\n \n", "prefixes": [ "v13", "4/7" ] }