Show a cover letter.

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

{
    "id": 2225057,
    "url": "http://patchwork.ozlabs.org/api/1.1/covers/2225057/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260420104248.86702-1-mohamed@unpredictable.fr/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": "<20260420104248.86702-1-mohamed@unpredictable.fr>",
    "date": "2026-04-20T10:42:10",
    "name": "[v2,00/38] WHPX x86 updates for QEMU 11.1",
    "submitter": {
        "id": 91318,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/91318/?format=api",
        "name": "Mohamed Mediouni",
        "email": "mohamed@unpredictable.fr"
    },
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20260420104248.86702-1-mohamed@unpredictable.fr/mbox/",
    "series": [
        {
            "id": 500592,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500592/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500592",
            "date": "2026-04-20T10:42:10",
            "name": "WHPX x86 updates for QEMU 11.1",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/500592/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/covers/2225057/comments/",
    "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 (2048-bit key;\n unprotected) header.d=unpredictable.fr header.i=@unpredictable.fr\n header.a=rsa-sha256 header.s=sig1 header.b=fmvBlflQ;\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=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.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 4fzht22Vrpz1yHr\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 20 Apr 2026 20:43:36 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wEm5o-0006nz-5Y; Mon, 20 Apr 2026 06:43:04 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <mohamed@unpredictable.fr>)\n id 1wEm5m-0006n9-0T\n for qemu-devel@nongnu.org; Mon, 20 Apr 2026 06:43:02 -0400",
            "from p-west3-cluster3-host5-snip4-9.eps.apple.com ([57.103.72.140]\n helo=outbound.ms.icloud.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <mohamed@unpredictable.fr>)\n id 1wEm5j-0000TR-VW\n for qemu-devel@nongnu.org; Mon, 20 Apr 2026 06:43:01 -0400",
            "from outbound.ms.icloud.com (unknown [127.0.0.2])\n by p00-icloudmta-asmtp-us-west-3a-100-percent-1 (Postfix) with ESMTPS id\n F2FDE1800449; Mon, 20 Apr 2026 10:42:53 +0000 (UTC)",
            "from localhost.localdomain (unknown [17.57.154.37])\n by p00-icloudmta-asmtp-us-west-3a-100-percent-1 (Postfix) with ESMTPSA id\n 1EF7118000A3; Mon, 20 Apr 2026 10:42:50 +0000 (UTC)"
        ],
        "Dkim-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=unpredictable.fr;\n s=sig1; t=1776681775; x=1779273775;\n bh=r1dcE2R63n4U4IcIZp0oMfqkSSOoCy/Vthv19Y7666o=;\n h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version:x-icloud-hme;\n b=fmvBlflQZNIVFvMgmqPGjkH3szrKh8xGBJuFx38BtTPJEhjQkhoUKc8EWf2VodT8b8pp+IGaCOp/I9bdpQypUPqB+3fuu2Ppoq0+FRvj2G+XvAjm3K/uIeAV5uXJnZSBE+Rhq1DYlzH5y3l6IhPBhF6asUc1QcgxNaI1Unhph3fltuKjmj84Ag6yIrSABk5nRHJu0SKscz9Pky5OzqCYPzSTdd0ytkVeu9lM1s/rnDLIQUK/bcpUxTxWRAkwIj5duhh+sE3Y9XRySFLnNuEeFWpdk/4RMs67wb+hsZBQ/BPDjzl6zXs2A5xRRBcJxIGzKfVl1j5IPwz22vaAxzax7Q==",
        "mail-alias-created-date": "1752046281608",
        "From": "Mohamed Mediouni <mohamed@unpredictable.fr>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "qemu-arm@nongnu.org, Mohamed Mediouni <mohamed@unpredictable.fr>,\n Paolo Bonzini <pbonzini@redhat.com>,\n Phil Dennis-Jordan <phil@philjordan.eu>,\n Roman Bolshakov <rbolshakov@ddn.com>,\n Pierrick Bouvier <pierrick.bouvier@linaro.org>,\n Pedro Barbuda <pbarbuda@microsoft.com>, Wei Liu <wei.liu@kernel.org>,\n \"Michael S. Tsirkin\" <mst@redhat.com>,\n Peter Maydell <peter.maydell@linaro.org>, Zhao Liu <zhao1.liu@intel.com>",
        "Subject": "[PATCH v2 00/38] WHPX x86 updates for QEMU 11.1",
        "Date": "Mon, 20 Apr 2026 12:42:10 +0200",
        "Message-ID": "<20260420104248.86702-1-mohamed@unpredictable.fr>",
        "X-Mailer": "git-send-email 2.50.1",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDIwMDEwNCBTYWx0ZWRfXzEfZH9tQ/PnW\n Eag7LK30v3R9Ks0wadvASszqHnoRrsvpCd+hb7QjpemGRJpbDiwGUnifFy7ohcSs3lZWbRhAofW\n ynY3u5vvRjJGxZJR0s+be7IIU15zSVi7fBCqbek5nrQIccNFUP049Wi+rBhadYejOnR+WInrN5B\n 8QucVSG8iXFvEPxJ6TmvpuGqwcCZpV7C0FOgh1anESkjPwaVsnuf0sLNburaKW/tqIwNEHL5zHg\n umoeiptUMniyAjet/33QMzEhOe3E0F5aSwYlwShPX+NTMz7N47FKJzix+URtme1uU0R2p8T3ziv\n IQgpdGDuTBdXoR78eiQbSB63HKkIfzzKSFSVxR79lGSmYEZjUgzgPWvEfjLh70=",
        "X-Proofpoint-GUID": "cYimMu998sC0Mm6dfN62GfWqsa4NaxRk",
        "X-Authority-Info-Out": "v=2.4 cv=FtsIPmrq c=1 sm=1 tr=0 ts=69e6032e\n cx=c_apl:c_pps:t_out a=qkKslKyYc0ctBTeLUVfTFg==:117 a=IkcTkHD0fZMA:10\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=NEAV23lmAAAA:8\n a=k3UGef2UMelxMxAvkqcA:9 a=QEXdDO2ut3YA:10",
        "X-Proofpoint-ORIG-GUID": "cYimMu998sC0Mm6dfN62GfWqsa4NaxRk",
        "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-04-20_02,2026-04-17_04,2025-10-01_01",
        "X-Proofpoint-Spam-Details": "rule=notspam policy=default score=0 clxscore=1030\n mlxlogscore=577 phishscore=0 adultscore=0 spamscore=0 suspectscore=0\n mlxscore=0 lowpriorityscore=0 bulkscore=0 malwarescore=0 classifier=spam\n authscore=0 adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000\n definitions=main-2604200104",
        "Received-SPF": "pass client-ip=57.103.72.140;\n envelope-from=mohamed@unpredictable.fr; helo=outbound.ms.icloud.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 SPF_HELO_PASS=-0.001,\n 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": "This rolls over my previous series posted earlier in this mailing list.\n..and adds some more.\n\nGit tree: https://github.com/mediouni-m/qemu whpx-i386-202604-4\n\nSome highlights:\n1\n- user-mode x2APIC emulation (kernel-irqchip=off) for better\nperformance when it has to be used.\n- CPU model emulation on both Windows 10 and 11\n- configurable behavior for unknown MSRs and adding a way\nto trap on GPFs raised by Hyper-V on MSR acccess\n- when -M hyperv=off, report the hypervisor as VMware for\nguests to use either the VMware CPUID leaf or the vmport\ninterface to get the TSC and APIC frequencies.\n\nIf the vmware CPUID frequency leaf is disabled, then KVM\nis reported.\n- xsave save/restore support\n- Pause the VM to be able to inspect state on a fatal fault\ninstead of just exiting\n- adding emulation of an oddball idle MSR used by Windows\nwhen kernel-irqchip=off.\n- disable kernel-irqchip and Hyper-V enlightenments for\nisapc\n- for Windows 10, change the default to an emulated x2APIC\n(kernel-irqchip=off). The recommended way to use the Hyper-V\nLAPIC is not to use -M kernel-irqchip=on, but -M pic=off.\n\nAnd as the last commit, a documentation update.\n\nBug reports and patches are welcome.\n\nHowever, due to reasons, I'll probably step aside\nfrom this all for a bit so don't expect immediate replies.\n\nv1->v2:\n\n- Build fixup for macOS and OpenBSD\n- a bit of cleanup\n\nMagnus Kulke (1):\n  target/i386: add de/compaction to xsave_helper\n\nMohamed Mediouni (37):\n  target/i386: emulate: include name of unhandled instruction\n  whpx: i386: x2apic emulation\n  whpx: i386: wire up feature probing\n  whpx: i386: disable TbFlushHypercalls for emulated LAPIC\n  whpx: i386: enable x2apic by default for user-mode LAPIC\n  whpx: i386: reintroduce enlightenments for Windows 10\n  whpx: i386: introduce proper cpuid support\n  whpx: i386: kernel-irqchip=off fixes\n  whpx: i386: use WHvX64RegisterCr8 only when kernel-irqchip=off\n  whpx: i386: disable kernel-irqchip on Windows 10 when PIC enabled\n  whpx: i386: IO port fast path cleanup\n  whpx: i386: disable enlightenments and LAPIC for isapc\n  whpx: i386: interrupt priority support\n  hw/intc: apic: disallow APIC reads when disabled\n  whpx: i386: fix CPUID[1:EDX].APIC reporting\n  whpx: i386: set apicbase value only on success\n  whpx: i386: unknown MSR configurability\n  whpx: i386: enable GuestIdleReg enlightenment\n  whpx: i386: tighten APIC base validity check\n  whpx: i386: ignore vpassist when kernel-irqchip=off\n  target: i386: HLT type that ignores EFLAGS.IF\n  whpx: i386: add HV_X64_MSR_GUEST_IDLE when !kernel-irqchip\n  whpx: i386: one more CPUID\n  whpx: i386: some x2APIC awareness\n  whpx: i386: set WHvX64RegisterInitialApicId\n  whpx: i386: Pause VM on fatal exception to be able to inspect state\n  target/i386: emulate: use exception_payload for fault address\n  whpx: i386: CPU features support for Windows 10\n  target/i386: make xsave_buf present unconditionally\n  whpx: xsave support\n  whpx: i386: set APIC ID only when APIC present\n  whpx: i386: update migration blocker message\n  whpx: i386: don't increment eip on MSR access raising GPF\n  target/i386: emulate, hvf: rdmsr/wrmsr GPF handling\n  whpx: i386: add feature to intercept #GP MSR accesses\n  whpx: i386: intercept CPUID 0xD too\n  whpx: i386: documentation update\n\n accel/whpx/whpx-common.c           |   78 ++\n docs/system/whpx.rst               |   30 +-\n hw/intc/apic.c                     |    9 +\n include/system/whpx-common.h       |    2 +-\n include/system/whpx-internal.h     |   28 +\n target/arm/whpx/whpx-all.c         |    1 +\n target/i386/cpu.c                  |   25 +-\n target/i386/cpu.h                  |    6 +-\n target/i386/emulate/x86_emu.c      |   14 +-\n target/i386/emulate/x86_emu.h      |    4 +-\n target/i386/emulate/x86_mmu.c      |    3 +-\n target/i386/hvf/hvf.c              |    9 +-\n target/i386/whpx/meson.build       |    1 +\n target/i386/whpx/whpx-all.c        | 1247 ++++++++++++++++++++++------\n target/i386/whpx/whpx-apic.c       |   83 +-\n target/i386/whpx/whpx-cpu-legacy.c |  171 ++++\n target/i386/whpx/whpx-i386.h       |   11 +\n target/i386/xsave_helper.c         |  256 ++++++\n 18 files changed, 1696 insertions(+), 282 deletions(-)\n create mode 100644 target/i386/whpx/whpx-cpu-legacy.c\n create mode 100644 target/i386/whpx/whpx-i386.h"
}