Show a cover letter.

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

{
    "id": 127738,
    "url": "http://patchwork.dpdk.org/api/covers/127738/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/cover/20230531053743.129442-1-miao.li@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230531053743.129442-1-miao.li@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230531053743.129442-1-miao.li@intel.com",
    "date": "2023-05-31T05:37:38",
    "name": "[v4,0/4] Support VFIO sparse mmap in PCI bus",
    "submitter": {
        "id": 2220,
        "url": "http://patchwork.dpdk.org/api/people/2220/?format=api",
        "name": "Li, Miao",
        "email": "miao.li@intel.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/cover/20230531053743.129442-1-miao.li@intel.com/mbox/",
    "series": [
        {
            "id": 28263,
            "url": "http://patchwork.dpdk.org/api/series/28263/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=28263",
            "date": "2023-05-31T05:37:38",
            "name": "Support VFIO sparse mmap in PCI bus",
            "version": 4,
            "mbox": "http://patchwork.dpdk.org/series/28263/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/covers/127738/comments/",
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 52F7B42BEB;\n\tWed, 31 May 2023 07:37:57 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CA23D40ED7;\n\tWed, 31 May 2023 07:37:56 +0200 (CEST)",
            "from mga17.intel.com (mga17.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id E062A40A87\n for <dev@dpdk.org>; Wed, 31 May 2023 07:37:54 +0200 (CEST)",
            "from orsmga006.jf.intel.com ([10.7.209.51])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 30 May 2023 22:37:53 -0700",
            "from dpdk-limiao-icelake.sh.intel.com ([10.67.111.26])\n by orsmga006.jf.intel.com with ESMTP; 30 May 2023 22:37:51 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1685511475; x=1717047475;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=Dryoy+PfvW7KRtDoUdOXVhUYCQKnPWu1H9bNfTv4KA0=;\n b=eMLLcHMPgNTHKJXoTkXcRLa0tERlbmamlxCo7o/85DgPpFaY383vO/T1\n vqiCfxo58lQEVr1OdmortqMNgFmh5lKobELFEw6g1msFPAxW8gO1F5SU2\n 2KpySRvqGnHkuZeunaSstUnG6ubuL01iZNDyyPK8iP5oqSVuCpopffvMt\n S/j7M3EPSwbBd0PArRith9RhKcPrzrOeGxhgi0nAXQk/TocoU2VvbWcSA\n ipp4ME9n+6AxlG49nhRZx9dJpneyASSxXXrJMkRCZoGV9JaxfSJZ1FAhD\n XQelHEkesuU3YEcvwlkaYQt7pJt8Maqi7H3+RBawzGb6vqt+UoPqedBVT A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10726\"; a=\"335489250\"",
            "E=Sophos;i=\"6.00,205,1681196400\"; d=\"scan'208\";a=\"335489250\"",
            "E=McAfee;i=\"6600,9927,10726\"; a=\"684273515\"",
            "E=Sophos;i=\"6.00,205,1681196400\"; d=\"scan'208\";a=\"684273515\""
        ],
        "X-ExtLoop1": "1",
        "From": "Miao Li <miao.li@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "skori@marvell.com, thomas@monjalon.net, david.marchand@redhat.com,\n ferruh.yigit@amd.com, chenbo.xia@intel.com, yahui.cao@intel.com",
        "Subject": "[PATCH v4 0/4] Support VFIO sparse mmap in PCI bus",
        "Date": "Wed, 31 May 2023 05:37:38 +0000",
        "Message-Id": "<20230531053743.129442-1-miao.li@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230525163116.682000-1-miao.li@intel.com>",
        "References": "<20230525163116.682000-1-miao.li@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "This series introduces a VFIO standard capability, called sparse\nmmap to PCI bus. In linux kernel, it's defined as\nVFIO_REGION_INFO_CAP_SPARSE_MMAP. Sparse mmap means instead of\nmmap whole BAR region into DPDK process, only mmap part of the\nBAR region after getting sparse mmap information from kernel.\nFor the rest of BAR region that is not mmap-ed, DPDK process\ncan use pread/pwrite system calls to access. Sparse mmap is\nuseful when kernel does not want userspace to mmap whole BAR\nregion, or kernel wants to control over access to specific BAR\nregion. Vendors can choose to enable this feature or not for\ntheir devices in their specific kernel modules.\n\nIn this patchset:\n\nPatch 1-3 is mainly for introducing BAR access APIs so that\ndriver could use them to access specific BAR using pread/pwrite\nsystem calls when part of the BAR is not mmap-able. Patch 4\nadds the VFIO sparse mmap support finally.\n\nv4:\n1. add sparse mmap information allocation and release\n2. add release note for BAR access APIs\n\nv3:\nfix variable 'pdev' and 'info' uninitialized error\n\nv2:\n1. add PCI device internal structure in bus/pci/windows/pci.c\n2. fix parameter type error\n\nChenbo Xia (3):\n  bus/pci: introduce an internal representation of PCI device\n  bus/pci: avoid depending on private value in kernel source\n  bus/pci: introduce helper for MMIO read and write\n\nMiao Li (1):\n  bus/pci: add VFIO sparse mmap support\n\n doc/guides/rel_notes/release_23_07.rst |   5 +\n drivers/bus/pci/bsd/pci.c              |  35 ++-\n drivers/bus/pci/linux/pci.c            |  78 +++++-\n drivers/bus/pci/linux/pci_init.h       |  14 +-\n drivers/bus/pci/linux/pci_uio.c        |  22 ++\n drivers/bus/pci/linux/pci_vfio.c       | 371 ++++++++++++++++++++-----\n drivers/bus/pci/pci_common.c           |  12 +-\n drivers/bus/pci/private.h              |  25 +-\n drivers/bus/pci/rte_bus_pci.h          |  48 ++++\n drivers/bus/pci/version.map            |   3 +\n drivers/bus/pci/windows/pci.c          |  14 +-\n lib/eal/include/rte_vfio.h             |   1 -\n 12 files changed, 525 insertions(+), 103 deletions(-)"
}