Show a cover letter.

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

{
    "id": 2194157,
    "url": "http://patchwork.ozlabs.org/api/covers/2194157/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-ppc/cover/20260206221908.1451528-1-pierrick.bouvier@linaro.org/",
    "project": {
        "id": 69,
        "url": "http://patchwork.ozlabs.org/api/projects/69/?format=api",
        "name": "QEMU powerpc development",
        "link_name": "qemu-ppc",
        "list_id": "qemu-ppc.nongnu.org",
        "list_email": "qemu-ppc@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20260206221908.1451528-1-pierrick.bouvier@linaro.org>",
    "list_archive_url": null,
    "date": "2026-02-06T22:18:59",
    "name": "[v5,0/9] single-binary: hw/virtio",
    "submitter": {
        "id": 85798,
        "url": "http://patchwork.ozlabs.org/api/people/85798/?format=api",
        "name": "Pierrick Bouvier",
        "email": "pierrick.bouvier@linaro.org"
    },
    "mbox": "http://patchwork.ozlabs.org/project/qemu-ppc/cover/20260206221908.1451528-1-pierrick.bouvier@linaro.org/mbox/",
    "series": [
        {
            "id": 491347,
            "url": "http://patchwork.ozlabs.org/api/series/491347/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-ppc/list/?series=491347",
            "date": "2026-02-06T22:19:02",
            "name": "single-binary: hw/virtio",
            "version": 5,
            "mbox": "http://patchwork.ozlabs.org/series/491347/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2194157/comments/",
    "headers": {
        "Return-Path": "<qemu-ppc-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 (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=WEYG4Fqj;\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-ppc-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 4f77nS3NHDz1xvj\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 07 Feb 2026 09:20:12 +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-ppc-bounces@nongnu.org>)\n\tid 1voUAb-000635-Rm; Fri, 06 Feb 2026 17:19:21 -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 <pierrick.bouvier@linaro.org>)\n id 1voUAZ-00061M-Q3\n for qemu-ppc@nongnu.org; Fri, 06 Feb 2026 17:19:19 -0500",
            "from mail-pg1-x52f.google.com ([2607:f8b0:4864:20::52f])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <pierrick.bouvier@linaro.org>)\n id 1voUAX-00078v-Ts\n for qemu-ppc@nongnu.org; Fri, 06 Feb 2026 17:19:19 -0500",
            "by mail-pg1-x52f.google.com with SMTP id\n 41be03b00d2f7-c2af7d09533so1751216a12.1\n for <qemu-ppc@nongnu.org>; Fri, 06 Feb 2026 14:19:17 -0800 (PST)",
            "from pc.taild8403c.ts.net (216-71-219-44.dyn.novuscom.net.\n [216.71.219.44]) by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2a95bff42f7sm13316575ad.68.2026.02.06.14.19.15\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 06 Feb 2026 14:19:15 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1770416356; x=1771021156; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:from:to:cc:subject:date:message-id:reply-to;\n bh=nFU+mS2PD7BuE9hvnELs4siMLgxFPzdVyOSiHvJ+WW4=;\n b=WEYG4Fqjb3qT88a3Et9kVLfoA6P6dKLT1jbG6yjBATzWNJ/j03BTklCG3LG9jlVBC9\n JlnIlJBlrnSHlL7WqbIe21YLlUPds84/gMXyV/419GLxNwv6a8sOReA/DDlPbjdn44Gh\n BFcOp5Gboco/OgXmsgAiK3vMCl5X6H/CmurqL8t2YkFLRT7gMYAC3SU//fxTS/TIk+Ph\n 1gGRxSmFPZ9TWTGMbopqs5XxKpIYGufUzKM8lNr7EaNFXSYo4F6lEU1Z7NC50SMQoVUT\n L9OLv4HvZctQJy31Pd/TS0LVrkcd2DwXJa+VviAVX6RP4a1EUlU2FaejQ/W7vbdS6Vyj\n a1AA==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1770416356; x=1771021156;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=nFU+mS2PD7BuE9hvnELs4siMLgxFPzdVyOSiHvJ+WW4=;\n b=mlgRIXjgHquh0eUnICi2jny8WbIKteCwK4F/IZiB6AAg63HolwOeWfLQBUrfgPP3s5\n ty8SbqYAe5XGrUWsQIIeMgM55Tum69kPQRjy0DcwCv0k+jppXyFVYKbRLm2Yrbip/i1P\n LWlrpl4hS5yFwOwZ2b8QUwZX4JNrrkfHX7H4RXW/jbVfGH46O4RirrkpOg1x7i0uvJ8P\n kwuveNdcE+zFKHDC/c07/qJHWT+vcjg13p7bEgotCObBHPhdzohKWrsI6lp81yNoKrge\n SN/X4g9fGhxGc9BQifstzyFYv+uuKaLnxeUd75o5Bcy+uRS2i61Et92mJet1gqfG+SWv\n aXtA==",
        "X-Forwarded-Encrypted": "i=1;\n AJvYcCVZD9R1HIjMw304+zeWqXiyN9b1h8u2g9mwHr3otqQaOZhTZxPAPUQnzv+JYDf4Sj1gZNRuSWEWNw==@nongnu.org",
        "X-Gm-Message-State": "AOJu0Ywfy+ZV2T+xzzygACXERUpISr6p1z4+XLKC+ET0r2AkGHWxJ3YH\n qHDkCqHuk7O54NsgYnmXKSPtpqkqZCxSJyBtC3LQ2sPj30f41n2FWZTGP5V4VYFWlrQ=",
        "X-Gm-Gg": "AZuq6aJ5zXtWFcV3D6S9Mcf5yjb4V38bimCd/dlCDSZjv8dDNPbnE7qJn5yzNRQSwDQ\n Bm2tGlVbsPw/CvWVYAmVBTOnvZlifj7OOrX3RwVbdkMYRXevbjOoupQab5w2WrHc494OIBP88Ps\n btmVEMEsf2z8qOWXDEHlMD/wa2u9+9b0VLCoUTqFHtxgqE5PWzu3TkiyoOYzndVLLVaxJi/5ZRk\n g+9Pk5RIXkF/R+2QldyZ/MC87CzXxUv5W1LTZnkGMSGbqQ0gSqw/HW4mxRr6QjzRtfrR++OCvIr\n NNJYzDitvFLCBLvmwJyML8LVf510Nqab83X1FBFa9hBO071Ksn1lxA36QCifcdV4Z+ELY4X8kBR\n Q68lnTBfvEt3VxK29kefcHPEqUV5QQbeeZ6csog6LVgeVFHlrj5DLZOZvGAd1p2bKhpV/AkfPqW\n p56cr5BVAu5OEoAoREaWpOb6eDSvxaxJuq6NHiHPG5bB86NyszryNYpP7vRxLMUK5O",
        "X-Received": "by 2002:a17:902:ef02:b0:2a7:d93a:a3b8 with SMTP id\n d9443c01a7336-2a9516d4f7emr39397305ad.32.1770416355877;\n Fri, 06 Feb 2026 14:19:15 -0800 (PST)",
        "From": "Pierrick Bouvier <pierrick.bouvier@linaro.org>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "=?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,\n Stefano Garzarella <sgarzare@redhat.com>,\n Nicholas Piggin <npiggin@gmail.com>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>,\n \"Michael S. Tsirkin\" <mst@redhat.com>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>, stefanha@redhat.com,\n richard.henderson@linaro.org, qemu-ppc@nongnu.org",
        "Subject": "[PATCH v5 0/9] single-binary: hw/virtio",
        "Date": "Fri,  6 Feb 2026 14:18:59 -0800",
        "Message-ID": "<20260206221908.1451528-1-pierrick.bouvier@linaro.org>",
        "X-Mailer": "git-send-email 2.47.3",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=2607:f8b0:4864:20::52f;\n envelope-from=pierrick.bouvier@linaro.org; helo=mail-pg1-x52f.google.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, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-ppc@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<qemu-ppc.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-ppc>,\n <mailto:qemu-ppc-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-ppc>",
        "List-Post": "<mailto:qemu-ppc@nongnu.org>",
        "List-Help": "<mailto:qemu-ppc-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-ppc>,\n <mailto:qemu-ppc-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "This series eliminates target specifics in hw/virtio and replace them with\nruntime functions where needed.\n\nPerformance has been measured with this automated fio benchmark [1], with\noriginal instructions from Stefan [2].\n\nDownload artifacts and run benchmark with:\n$ wget https://github.com/pbo-linaro/qemu-linux-stack/releases/download/build/x86_64_io_benchmark-a55f2d6.tar.xz\n$ tar xvf x86_64_io_benchmark-a55f2d6.tar.xz\n$ ./run.sh /path/to/qemu-system-x86_64\n\n[1] https://github.com/pbo-linaro/qemu-linux-stack/tree/x86_64_io_benchmark\n[2] https://lore.kernel.org/qemu-devel/20260202185233.GC405548@fedora/\n\nResults are on 20 runs and expressed in kIOPS:\nreference: mean=239.2 std_dev=3.48\nwith_series: mean=238.5 std_dev=3.46\n\nPerformance is on par, and within standard deviation.\n\nv5\n--\n\n- Fix missing vdev->access_is_big_endian when features are set\n- No difference in performance since hot path is not modified\n- Simplified virtio_access_is_big_endian\n\nv4\n--\n\n- Include Philippe patches computing once device endianness to skip runtime\n  checks on every access.\n\nPhilippe Mathieu-Daudé (3):\n  hw/virtio: Constify virtio_is_big_endian() argument\n  hw/virtio: Introduce VirtIODevice::access_is_big_endian boolean field\n  hw/virtio: Use VirtIODevice::access_is_big_endian field\n\nPierrick Bouvier (6):\n  include/hw/virtio/virtio-access.h: remove target specifics define\n  include/hw/virtio/virtio-access.h: simplify\n    virtio_access_is_big_endian\n  include/hw/ppc/spapr: extract SPAPR_MAX_RAM_SLOTS in a new header\n  hw/virtio/vhost-user: make compilation unit common\n  hw/virtio/virtio-qmp: make compilation unit common\n  hw/virtio/: make all compilation units common\n\n include/hw/ppc/spapr.h            |  8 +---\n include/hw/ppc/spapr_common.h     | 16 +++++++\n include/hw/virtio/virtio-access.h | 43 +++++++++----------\n include/hw/virtio/virtio.h        |  7 +++-\n hw/virtio/vhost-user.c            | 11 ++---\n hw/virtio/virtio-qmp.c            | 70 -------------------------------\n hw/virtio/virtio.c                |  9 +++-\n hw/virtio/meson.build             | 17 ++++----\n 8 files changed, 60 insertions(+), 121 deletions(-)\n create mode 100644 include/hw/ppc/spapr_common.h"
}