Show a cover letter.

GET /api/covers/2215871/?format=api
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2215871,
    "url": "http://patchwork.ozlabs.org/api/covers/2215871/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260325-vfio_pci_ism-v8-0-ddc504cde914@linux.ibm.com/",
    "project": {
        "id": 28,
        "url": "http://patchwork.ozlabs.org/api/projects/28/?format=api",
        "name": "Linux PCI development",
        "link_name": "linux-pci",
        "list_id": "linux-pci.vger.kernel.org",
        "list_email": "linux-pci@vger.kernel.org",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260325-vfio_pci_ism-v8-0-ddc504cde914@linux.ibm.com>",
    "list_archive_url": null,
    "date": "2026-03-25T13:31:22",
    "name": "[v8,0/3] vfio/pci: Introduce vfio_pci driver for ISM devices",
    "submitter": {
        "id": 91782,
        "url": "http://patchwork.ozlabs.org/api/people/91782/?format=api",
        "name": "Julian Ruess",
        "email": "julianr@linux.ibm.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/linux-pci/cover/20260325-vfio_pci_ism-v8-0-ddc504cde914@linux.ibm.com/mbox/",
    "series": [
        {
            "id": 497446,
            "url": "http://patchwork.ozlabs.org/api/series/497446/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/linux-pci/list/?series=497446",
            "date": "2026-03-25T13:31:25",
            "name": "vfio/pci: Introduce vfio_pci driver for ISM devices",
            "version": 8,
            "mbox": "http://patchwork.ozlabs.org/series/497446/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2215871/comments/",
    "headers": {
        "Return-Path": "\n <linux-pci+bounces-51068-incoming=patchwork.ozlabs.org@vger.kernel.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "linux-pci@vger.kernel.org"
        ],
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=FDOa9F7b;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.234.253.10; helo=sea.lore.kernel.org;\n envelope-from=linux-pci+bounces-51068-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)",
            "smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=\"FDOa9F7b\"",
            "smtp.subspace.kernel.org;\n arc=none smtp.client-ip=148.163.156.1",
            "smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com",
            "smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=linux.ibm.com"
        ],
        "Received": [
            "from sea.lore.kernel.org (sea.lore.kernel.org [172.234.253.10])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fgpFX0WYJz1xy1\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 26 Mar 2026 00:50:24 +1100 (AEDT)",
            "from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby sea.lore.kernel.org (Postfix) with ESMTP id 351F531EEA05\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 25 Mar 2026 13:32:25 +0000 (UTC)",
            "from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 472063BD638;\n\tWed, 25 Mar 2026 13:31:54 +0000 (UTC)",
            "from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 5494E23EAAF;\n\tWed, 25 Mar 2026 13:31:52 +0000 (UTC)",
            "from pps.filterd (m0360083.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 62P9IRMQ406889;\n\tWed, 25 Mar 2026 13:31:46 GMT",
            "from ppma22.wdc07v.mail.ibm.com\n (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4d1kxqgmvh-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tWed, 25 Mar 2026 13:31:46 +0000 (GMT)",
            "from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1])\n\tby ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 62PAeJdL005983;\n\tWed, 25 Mar 2026 13:31:45 GMT",
            "from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])\n\tby ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4d261ypste-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tWed, 25 Mar 2026 13:31:45 +0000",
            "from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com\n [10.20.54.100])\n\tby smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 62PDVfu636045290\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tWed, 25 Mar 2026 13:31:41 GMT",
            "from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 3DD5620043;\n\tWed, 25 Mar 2026 13:31:41 +0000 (GMT)",
            "from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id DE0B02004B;\n\tWed, 25 Mar 2026 13:31:40 +0000 (GMT)",
            "from tuxmaker.boeblingen.de.ibm.com (unknown [9.87.85.9])\n\tby smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tWed, 25 Mar 2026 13:31:40 +0000 (GMT)"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1774445514; cv=none;\n b=u8gnFK5r7EpCnooSON0gW9AyzMJBfbvXhvsVg/jd8oTwqcQU6RdJv9gUPCG8hGq6wN5nYrdVp7pLaJ9Z2zKoRRNbWLjbz3j/A0mE9y5oQJ3DW8X/lQsQ2njG+XT9ssRcBNosM8yqJ9QOVMPDOG9bzj1iydggOJBWFR68bJbGkBI=",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1774445514; c=relaxed/simple;\n\tbh=l/ThwHA7jmh8hAWnUiyNu0+SkkTGpVEwAXYQkHY1qJg=;\n\th=From:Subject:Date:Message-Id:MIME-Version:Content-Type:To:Cc;\n b=qRCcnx1tg1yWIRQYCkj+Hc3xulIYNiy1e0gVgCt/sVsZNp0x5j7z8TrzBEplYD5g+0m0IwLSzrWu5eTXmaNMKmM+87UYkwDEXzlbBhJjwYsEYe/q5+JwYRH/CZEEePJ2jITrDA3+B0CnFbHdHf+D4LuzPaUg/XpmQdO0++b72VQ=",
        "ARC-Authentication-Results": "i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n spf=pass smtp.mailfrom=linux.ibm.com;\n dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com\n header.b=FDOa9F7b; arc=none smtp.client-ip=148.163.156.1",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:content-type:date:from:message-id\n\t:mime-version:subject:to; s=pp1; bh=AX4NGUAiA6LuFkInZ2FGwECGSS3f\n\tmHNNp2JM0udvmYU=; b=FDOa9F7bRiSgDo5aXpZ0l4Yk9kiqGRxTlHH8KUvFcfxC\n\tFqjioQ7iffAYnMY1mePmTx8dFh4Pt7eNfqV/K5J+PFjWiG1QX0RONhdaqFnDSezL\n\tQAAq8Ug8J7240GDUYguZo/22rqY62+ykOnFxEN+xF7SFvfpyD6FNOrwthSv/00+y\n\t0NjzSfi5d9K/c08HtuY6NgGof2f3PmR+l+fbsmyyP1K6dOhCYAnXCTGrZsuvql25\n\t0d0mH0Ox7eeyXKtGWPxIot6JUK5uwaaXPhPLRuta91xQmKIheEV8rZXuswHt4yhU\n\tBZBP+4iKD8q/oEqaZ/Yo+ITnf/cG7t6WYJ/ZHWu1BQ==",
        "From": "Julian Ruess <julianr@linux.ibm.com>",
        "Subject": "[PATCH v8 0/3] vfio/pci: Introduce vfio_pci driver for ISM devices",
        "Date": "Wed, 25 Mar 2026 14:31:22 +0100",
        "Message-Id": "<20260325-vfio_pci_ism-v8-0-ddc504cde914@linux.ibm.com>",
        "Precedence": "bulk",
        "X-Mailing-List": "linux-pci@vger.kernel.org",
        "List-Id": "<linux-pci.vger.kernel.org>",
        "List-Subscribe": "<mailto:linux-pci+subscribe@vger.kernel.org>",
        "List-Unsubscribe": "<mailto:linux-pci+unsubscribe@vger.kernel.org>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "8bit",
        "X-B4-Tracking": "v=1; b=H4sIAKrjw2kC/32Sy27bMBAAfyXQuQp2l+QumVP+owgMPhMCtR1Yj\n ZDC8L+X8qWqQuW4AmaGFPc6TPlS8zQ8PVyHS57rVM+nNtgfD0N886fXPNbU5oGADBDJOJd6Prz\n HeqjTcYQYI2UtRFqGhrxfcqmfd93Plza/1en3+fLnbp9p+bqIGBDN/6KZRhgje1XYsEmonn/V0\n 8fnYw3Hx3g+Lu472EIdsACC00aJKn4DLqeY1brsNgLVBBgTYvIZBNJOWYHpgYQCwtFicr2yXpV\n JbQR6uXOwRYknR8HulbEHamHTDmy4CPbKZl3e3tk0gRR24pUO2uNuWTpgEEXaBp2NcK/M/8oEv\n BFwE6TkRGlwnMXtll0HjBx8YDEhQved5buyLD+Ng9WpeHaY98pfnmkBfShtvdCABtsr21UZcSO\n wTWCMBh9dIPtlw+4CXAtoI8AmUEoRk09tR/VWcLvd/gJ/V0IUyQMAAA==",
        "X-Change-ID": "20250227-vfio_pci_ism-0ccc2e472247",
        "To": "schnelle@linux.ibm.com, wintera@linux.ibm.com, ts@linux.ibm.com,\n        oberpar@linux.ibm.com, gbayer@linux.ibm.com,\n        Alex Williamson <alex@shazbot.org>, Jason Gunthorpe <jgg@ziepe.ca>,\n        Yishai Hadas <yishaih@nvidia.com>,\n        Shameer Kolothum <skolothumtho@nvidia.com>,\n        Kevin Tian <kevin.tian@intel.com>",
        "Cc": "mjrosato@linux.ibm.com, alifm@linux.ibm.com, raspl@linux.ibm.com,\n        hca@linux.ibm.com, agordeev@linux.ibm.com, gor@linux.ibm.com,\n        julianr@linux.ibm.com, kvm@vger.kernel.org,\n        linux-kernel@vger.kernel.org, linux-s390@vger.kernel.org,\n        linux-pci@vger.kernel.org",
        "X-Mailer": "b4 0.14.2",
        "X-TM-AS-GCONF": "00",
        "X-Proofpoint-ORIG-GUID": "5myxCgrO0ytfx_W2wgjp7fWPh22yLOni",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwMzI1MDA5NSBTYWx0ZWRfXxvf05h+A/+Z2\n CpviZTRVOHSn4JTLqAekHOjQYNKuhhntwLE4w/f0FLu55KGuCPwDtRoo+Jyje7zEbBeeI4nGuQI\n LBgqSl7dLHf9jrrvqLQt2n9qIWKSbzBRkMK2I+MmW9V2gkcELeQ2gs+JDy8bCxtEm4XGQbz9VcO\n 7WzShwVsF0cwIyZO7q5QU1bi8WfebPOJVpIqNmrn2QtDAVGBLtYmXP1quy2cTwVoVIEaBe6U2+J\n 4l9HFiHHXlCWWp67OFuMPpx4Z1i98DArXhD+CCrtbIGyvq49GwmDmJ8Sv6vyjznw9QQz8qJjdQN\n vinhVW6c6MhbcJKJvf9GVA/gz7Odin5jvcnIt7IqTYrE2TuEj0Rl/jb8xv+blYQgg54ypRYiar2\n MEXj2eePNsF4mrGw3pqYcEBTr5R5JdY+DzWkQBN99ThT8FkA/zKnlYymIQ+crH6CTXI358WEtF7\n Cn1R5kj6i1ZU8b2EO1g==",
        "X-Authority-Analysis": "v=2.4 cv=bLEb4f+Z c=1 sm=1 tr=0 ts=69c3e3c2 cx=c_pps\n a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17\n a=IkcTkHD0fZMA:10 a=Yq5XynenixoA:10 a=VkNPw1HP01LnGYTKEx00:22\n a=RnoormkPH1_aCDwRdu11:22 a=iQ6ETzBq9ecOQQE5vZCe:22 a=VwQbUJbxAAAA:8\n a=VnNF1IyMAAAA:8 a=3XGxXiOqMMHeIvAuhUYA:9 a=3ZKOabzyN94A:10 a=QEXdDO2ut3YA:10",
        "X-Proofpoint-GUID": "5myxCgrO0ytfx_W2wgjp7fWPh22yLOni",
        "X-Proofpoint-Virus-Version": "vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-03-25_04,2026-03-24_01,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n spamscore=0 adultscore=0 clxscore=1015 phishscore=0 impostorscore=0\n malwarescore=0 lowpriorityscore=0 suspectscore=0 bulkscore=0\n priorityscore=1501 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2603050001\n definitions=main-2603250095"
    },
    "content": "Hi all,\n\nThis series adds a vfio_pci variant driver for the s390-specific\nInternal Shared Memory (ISM) devices used for inter-VM communication\nincluding SMC-D.\n\nThis is a prerequisite for an in-development open-source user space\ndriver stack that will allow to use ISM devices to provide remote\nconsole and block device functionality. This stack will be part of\ns390-tools.\n\nThis driver would also allow QEMU to mediate access to an ISM device,\nenabling a form of PCI pass-through even for guests whose hardware\ncannot directly execute PCI accesses, such as nested guests.\n\nOn s390, kernel primitives such as ioread() and iowrite() are switched\nover from function-handle-based PCI load/stores instructions to PCI\nmemory-I/O (MIO) loads/stores when these are available and not\nexplicitly disabled. Since these instructions cannot be used with ISM\ndevices, ensure that classic function-handle-based PCI instructions are\nused instead.\n\nThe driver is still required even when MIO instructions are disabled, as\nthe ISM device relies on the PCI store‑block (PCISTB) instruction to\nperform write operations.\n\nThank you,\nJulian\n\nSigned-off-by: Julian Ruess <julianr@linux.ibm.com>\n---\nChanges in v8:\n- Format vfio_pci_config_rw_single().\n- Add () around the off macro argument in ISM_VFIO_PCI_OFFSET_TO_INDEX.\n- Use function-handle-based wording consistently.\n- Return -EINVAL in default case in ism_vfio_pci_ioctl_get_region_info().\n- Change ssize_t to size_t in ISM_READ macro.\n- Use kmem_cache_args with with kmem_cache_create() to prevent kernel\n  panic when using HARDENED_USERCOPY.\n- Link to v7: https://lore.kernel.org/r/20260323-vfio_pci_ism-v7-0-abf537150408@linux.ibm.com\n\nChanges in v7:\n- Add 4k alignment and to kmem_cache_create() to do not cross the integral\n  boundary.\n- Add SLAB_RECLAIM_ACCOUNT ans SLAB_ACCOUNT to kmem_cache_create() for memcg accounting.\n- Link to v6: https://lore.kernel.org/r/20260319-vfio_pci_ism-v6-0-c6bab675bc0a@linux.ibm.com\n\nChanges in v6:\n- Introduce ism_vfio_pci_init_dev() and ism_vfio_pci_release_dev().\n- Add early return for __zpci_load().\n- Use kmem_cache_alloc() instead of kmem_cache_zalloc().\n- Rename ivdev to ivpcd for consistency.\n- Rename ism_pci_open_device() to ism_vfio_pci_open_device().\n- Link to v5: https://lore.kernel.org/r/20260317-vfio_pci_ism-v5-0-b73248b4e576@linux.ibm.com\n\nChanges in v5:\n- Support reads < 8 bytes.\n- Link to v4: https://lore.kernel.org/r/20260313-vfio_pci_ism-v4-0-4765ae056f71@linux.ibm.com\n\nChanges in v4:\n- Fix bug with < 8 byte reads. For code simplicity, only support 8 byte reads.\n- Fix leak of ivpcd.\n- Fix cache replacement by implementing a per-device kmem_cache.\n- Link to v3: https://lore.kernel.org/r/20260305-vfio_pci_ism-v3-0-1217076c81d9@linux.ibm.com\n\nChanges in v3:\n- Add comments to ism_vfio_pci_do_io_r() and ism_vfio_pci_do_io_w().\n- Format Kconfig.\n- Add 4k boundary check to ism_vfio_pci_do_io_w().\n- Use kmem_cache instead of kzalloc in ism_vfio_pci_do_io_w().\n- Add error handler to struct ism_vfio_pci_driver.\n- Link to v2: https://lore.kernel.org/r/20260224-vfio_pci_ism-v2-0-f010945373fa@linux.ibm.com\n\nChanges in v2:\n- Remove common code patch that sets VFIO_PCI_OFFSET_SHIFT to 48.\n- Implement ism_vfio_pci_ioctl_get_region_info() to have own region\n  offsets.\n- For config space accesses, rename vfio_config_do_rw() to\n  vfio_pci_config_rw_single() and export it.\n- Use zdev->maxstbl instead of ZPCI_BOUNDARY_SIZE.\n- Add comment that zPCI must not use MIO instructions for config space\n  access.\n- Rework patch descriptions.\n- Update license info.\n- Link to v1: https://lore.kernel.org/r/20260212-vfio_pci_ism-v1-0-333262ade074@linux.ibm.com\n\n---\nJulian Ruess (3):\n      vfio/pci: Rename vfio_config_do_rw() to vfio_pci_config_rw_single() and export it\n      vfio/ism: Implement vfio_pci driver for ISM devices\n      MAINTAINERS: add VFIO ISM PCI DRIVER section\n\n MAINTAINERS                        |   6 +\n drivers/vfio/pci/Kconfig           |   2 +\n drivers/vfio/pci/Makefile          |   2 +\n drivers/vfio/pci/ism/Kconfig       |  10 +\n drivers/vfio/pci/ism/Makefile      |   3 +\n drivers/vfio/pci/ism/main.c        | 408 +++++++++++++++++++++++++++++++++++++\n drivers/vfio/pci/vfio_pci_config.c |   8 +-\n drivers/vfio/pci/vfio_pci_priv.h   |   4 +\n 8 files changed, 440 insertions(+), 3 deletions(-)\n---\nbase-commit: c369299895a591d96745d6492d4888259b004a9e\nchange-id: 20250227-vfio_pci_ism-0ccc2e472247\n\nBest regards,"
}