Show a cover letter.

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

{
    "id": 2198173,
    "url": "http://patchwork.ozlabs.org/api/1.0/covers/2198173/?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": "<20260219054207.471303-1-manali.shukla@amd.com>",
    "date": "2026-02-19T05:41:59",
    "name": "[v1,0/8] i386/kvm: Add support for extended APIC register space",
    "submitter": {
        "id": 90099,
        "url": "http://patchwork.ozlabs.org/api/1.0/people/90099/?format=api",
        "name": "Manali Shukla",
        "email": "manali.shukla@amd.com"
    },
    "series": [
        {
            "id": 492683,
            "url": "http://patchwork.ozlabs.org/api/1.0/series/492683/?format=api",
            "date": "2026-02-19T05:42:03",
            "name": "i386/kvm: Add support for extended APIC register space",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/492683/mbox/"
        }
    ],
    "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=amd.com header.i=@amd.com header.a=rsa-sha256\n header.s=selector1 header.b=NcFro5gr;\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 4fGw1R5gzRz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:57:31 +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 1vt4VO-0007RS-8Y; Thu, 19 Feb 2026 08:55:46 -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 <Manali.Shukla@amd.com>)\n id 1vswv8-0007uO-06\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:49:50 -0500",
            "from mail-westcentralusazlp170130007.outbound.protection.outlook.com\n ([2a01:111:f403:c112::7] helo=CY3PR05CU001.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <Manali.Shukla@amd.com>)\n id 1vswv6-0000nv-5Y\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:49:49 -0500",
            "from SJ0PR13CA0109.namprd13.prod.outlook.com (2603:10b6:a03:2c5::24)\n by SJ5PPF6785369A4.namprd12.prod.outlook.com\n (2603:10b6:a0f:fc02::997) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9611.16; Thu, 19 Feb\n 2026 05:43:18 +0000",
            "from SJ1PEPF00001CDF.namprd05.prod.outlook.com\n (2603:10b6:a03:2c5:cafe::e3) by SJ0PR13CA0109.outlook.office365.com\n (2603:10b6:a03:2c5::24) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.14 via Frontend Transport; Thu,\n 19 Feb 2026 05:43:17 +0000",
            "from satlexmb07.amd.com (165.204.84.17) by\n SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:18 +0000",
            "from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com\n (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb\n 2026 23:43:14 -0600"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=AqqybtsqqCbkluDLXewRsIJixwVjp29tRqCY3YKcaLCX69gXiEYLMlZmSyzkmBeXZTa3CNQJxneeOaLr+MsHzbP8EOLsCCs04UfGma0BAjPbjBg+Am38/aqAvpKJdeQh/8LRWUCzTcqScSgTrkj2bXQac0Il0fCPluiIgZz2D2hvo/MAwugx0aOLEVW5B2EQopldHQepQTK65Wn4MmZO7cyeJzcKiv6i+NA+YRbF0+LxqaqnapGOnGEpJOmri571DUEvTzDHz8iJe8x4LB3bg6Xh+w6faOhf08HYBJwTy/zquW14cwOJCf1K07Hb18BHaLC6WLfUtcZr1z7c/HN3Ww==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=ZO7V09rGEZ56SC7jbRN64geoWmPhP4S2erwQLV5cj0c=;\n b=O6rfWHuvG9g+tUiDMyY4iMm8MCzKfVairC07Uh5B5hZ/OrKuFaUH8YZ1NN359YfDTHMttm51zQB9SuG0iAaO0wq83W3jBjYpUOcNK/cN1lOrpwFfGyjcUTdeDzoNLKZYzBloLx91UtZUaDICqio3Q8F7hPGBYDmtNAcdR9AdO9E3Y0rzCx0fjtKDqO9DSlkQsp9FRFqQAmsLXkKfc4TUh9Bx57OR98IETcMFVjhzKX21B/ea5Zv3vleUIKqkCG+Y7RkACy6kVVhcpLysVpUFOEuGJREi30q3hutBUDzqVEo/Fh5aarupmP23YbSZFB3TRQHBxMXfTf16LK7oJkcbHQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass\n (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;\n dkim=none (message not signed); arc=none (0)",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=ZO7V09rGEZ56SC7jbRN64geoWmPhP4S2erwQLV5cj0c=;\n b=NcFro5grGNysw9ay2PugmRHay4AXDcpGdJDqTHCieN3Rz87M2946zL+rHHim3WPhhZh1e48byohYh8KzhFUl55vepX4JoDxugGJ/L/Oy2tObqBpvoLW5vQI5UtbHmvAby/aIN604DqiZ/PhdlWxJQDrGgCV5hf31m48lHcmoV1s=",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 165.204.84.17)\n smtp.mailfrom=amd.com; dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=amd.com;",
        "Received-SPF": [
            "Pass (protection.outlook.com: domain of amd.com designates\n 165.204.84.17 as permitted sender) receiver=protection.outlook.com;\n client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C",
            "permerror client-ip=2a01:111:f403:c112::7;\n envelope-from=Manali.Shukla@amd.com;\n helo=CY3PR05CU001.outbound.protection.outlook.com"
        ],
        "From": "Manali Shukla <manali.shukla@amd.com>",
        "To": "<qemu-devel@nongnu.org>",
        "CC": "Cornelia Huck <cohuck@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,\n <kvm@vger.kernel.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,\n \"Marcelo Tosatti\" <mtosatti@redhat.com>, \"Michael S . Tsirkin\"\n <mst@redhat.com>, \"Paolo Bonzini\" <pbonzini@redhat.com>, Sean Christopherson\n <seanjc@google.com>, Richard Henderson <richard.henderson@linaro.org>, Naveen\n N Rao <naveen@kernel.org>, Nikunj Dadhaniya <nikunj@amd.com>,\n <manali.shukla@amd.com>",
        "Subject": "[PATCH v1 0/8] i386/kvm: Add support for extended APIC register space",
        "Date": "Thu, 19 Feb 2026 05:41:59 +0000",
        "Message-ID": "<20260219054207.471303-1-manali.shukla@amd.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.180.168.240]",
        "X-ClientProxiedBy": "satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com\n (10.181.42.216)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "SJ1PEPF00001CDF:EE_|SJ5PPF6785369A4:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "266b0791-e7de-4f75-5c9c-08de6f79c8ea",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700013|376014|82310400026|7416014|1800799024|13003099007;",
        "X-Microsoft-Antispam-Message-Info": "\n X2Vj3YNWcq1AArrLIXO6L6PJBJaRjGnftMdowfN6p7DHl+cK1nAD2tw1jcBSUMdSiIRxP6mFm2APCt/qin5RyWMzcVOQ3sqbZCsi/FaapvNglCc/MQMsoS7EFKv8IeGMz8IF/9EG42vHZGhQhhZ3f5e+dcqGAcBlqwMIwvFWpSaGLhWbwgdR5j5Y7YckWafQTnfx9pYutQ5PiL5PMgZpT+MjHBfjIVorZvV1CRnc7Mgn6Qxb+F+eNOll6VnNF7gT5CZkm3nzo9+xllP58FMtMq3GAfTKaUObDIWF9P6v0uNl9XeF0vucg6TWLY0+ERAKdtRml0hePizDkenbVBLEGQ/PQNnNPN9FZw0mlJb/xUdvuoAjc4eXyswNjdeudYOKT9phWzE4A5Zi7IWCpU6FbkJYtt/Zf3K50O1zzEvYwziNH02jmKiKxDvhRzvTMzdbFnMIHFGnU7X2+jvhgxsf1IbJG95yc4SadQ4U2c4iWN8qs3bEvcWH0tXv6t41G4LNREWhkgf4lKczxf+KdjmXAK/Z1GfBtcRut0i+ryRT+G6iycbUQnqfrU+a/ptj9nvn8h5aNxF7XRYWKilcoISpM9WMhTINTO17nOfQxSm05W5IfeMDpmMMoCEe5bHamRmotEhcS8Q/ye86e3Kd2A7HQloRwXQR6XZPM+1haVE+0JgxfneOw8U8KZnqWkJEzCkIvd9Y8eHBcAI9c/4nF+u9EaYlqQKRXE36YS/BaVlNC8hMoy14dl67Z58fMjEKOo9syG8Khb0RvheGG9ezF2WOTy9KTZhnr9YnndvXRQHkHuD1jPU83iaWXTSRjNWp8PH4R7iNrkrDbfzcbDoOisEm1kM3kT5MV47hOd65vzScRaEtmvQTdltYOTZENhhJ44+9/z0BOhepTEls/LfHjbFyeYCaIxcH/yDkwD73eS/hBH/Xx97tL4lSUBYnOVEe6TL1PI6PhBn0veNaFUNdohCzk1mhsYX44+eun1aenTahX3at/F6SECz6Y13t8hhQ7RORY+3IAEkG/GBYiZ6cwXPBNVzBFOkHjaVluR3/YiDFmb9LPhz1kdu6bLtuK3rTd/myqTrUgTJb6xEVKClNqSFRaKJr4XlZzXOyDHJHbOaMHaIJJcvwMmnmoTq6ZCuOk5NItLRI/Zo3QWc9+sSAZbsrF3JbgbjK4Rpm83rYZUoMw8lKQG1Njl+F0jwDBvuidRjmJhVhqJdrxujSemoVNoi3SFDobPZNswA2LV5FJOqwEMPTmjtKMFCKAyvThiwY8VhoaYO/JWzIWoAH0W4Tcay5+k3Zq9LjuwfYrwcwGF/aObBbhfbbTmJJJZASwmaL3qcARXpMILFpZ+rN0NDLypIYz38I8T9HJ8Jh8spneMicfFlf1CO8QgWPMmo9nvXHA6ePkss8OyXJ8i8Vns6YdN7XTJfakvc7HliqdTNZqBzQ1RzGs6rXk7PeW45kM7r9KCfJaAXRjDL86aHRxEGhn/Vm2/xrTRJEsRB84tHbBXBhx1jjY0dk+IOeZPLyxesTDOTvKMMId4KHxNwOTCFWYvym5PpH1viWXRw3T/O68oDSF86CjF1Gw+M/Eu0iL5Qr/NA4iKDts2JuXl69YZkF6EJYHCufs/e4MleMrsFPdaqe5VCvwjA9Gg1IU3gbwVtggr/yMYGfM5jJpCfi5f7UAoOdLA==",
        "X-Forefront-Antispam-Report": "CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE;\n SFS:(13230040)(36860700013)(376014)(82310400026)(7416014)(1800799024)(13003099007);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n pha97ftEORhMlciaIgqGAJ5b7v3x49oYBTbkc56HEfKLVDhlBzl7BiXOr4YhV4+TWKcGkXMzZ0u3r+oBfCgkuazdH4mGexSgH7CIjRKH0TAppoB/+FMC1iZJqRnDmOyxdjYIp61ehDdH0UvEiawXbUnZfEO8JRhhDKTCCg0c7gdURie/cF/dY9FiSgpjxYTFQZEUB1pWIOH+1RrKY48+e0Xx5S4sh+5YcyLoDC9+L281kcAwOfUbPcNChrK3ON6nKqjAe/07vB7QBF4AZunu6M3upe411aOxpXvnTmuDfiyZ2KpNvw1cTpm9HrVzM/rQQyWTs0yfDRPOMbsSBPmxURzwYLcDIjEdF+K+FuxZnNnFuV6UpWkt64SaCzEVghfQO4nBLAp5CA5uRe+DffXf9yySHiv0LPs1+NP85yauLtVGzo+D4e3LncIpifnTuzJM",
        "X-OriginatorOrg": "amd.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Feb 2026 05:43:18.5059 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 266b0791-e7de-4f75-5c9c-08de6f79c8ea",
        "X-MS-Exchange-CrossTenant-Id": "3dd8961f-e488-4e60-8e11-a82d994e183d",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17];\n Helo=[satlexmb07.amd.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n SJ1PEPF00001CDF.namprd05.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SJ5PPF6785369A4",
        "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.043,\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, SPF_HELO_PASS=-0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-Mailman-Approved-At": "Thu, 19 Feb 2026 08:55:36 -0500",
        "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": "Add support for KVM_CAP_LAPIC2, which enables the full 4KB APIC register\npage instead of the legacy 1KB register space. The capability uses a bitmask\ndesign to support different APIC extensions:\n\n  - KVM_LAPIC2_DEFAULT: Basic 4KB APIC page support\n  - KVM_LAPIC2_AMD_DEFAULT: AMD extended LVT registers within the 4KB page\n\nThe base capability (KVM_LAPIC2_DEFAULT) provides the foundation for\nexposing the full APIC register space.\n\nAMD processors with the ExtApicSpace feature (CPUID 8000_0001h.ECX[3])\nfurther extend LAPIC space with additional LVT registers starting at offset\n0x400. These extended LVT registers provide additional interrupt vectors\nfor AMD-specific features like Instruction Based Sampling (IBS).\n\nThis series implements:\n\n1. Refactoring of existing APIC state functions to use generic pointers,\n   allowing them to work with both 1KB and 4KB APIC register spaces.\n\n2. Infrastructure to detect extended APIC support via arch_has_extapic()\n   and track negotiated capabilities.\n\n3. Extension of APICCommonState to store AMD extended APIC register state\n   (efeat, ectrl, extlvt array) with dynamic allocation based on the\n   number of extended LVT entries.\n\n4. Capability negotiation during vCPU pre-creation:\n   - Always request KVM_LAPIC2_DEFAULT for 4KB APIC page\n   - Additionally request KVM_LAPIC2_AMD_DEFAULT if CPU has ExtApicSpace\n   - Enable the intersection of KVM and QEMU capabilities\n\n5. New KVM_GET/SET_LAPIC2 ioctls operating on struct kvm_lapic_state2\n   (4KB) instead of struct kvm_lapic_state (1KB), with automatic\n   fallback to legacy ioctls for compatibility.\n\n6. New subsection of the vmstate (vmstate_apic_extended) of apic_common\n   module is added to make migration of extended APIC registers deterministic.\n\nThis series depends on the corresponding KVM patches:\n  https://lore.kernel.org/kvm/20260204074452.55453-1-manali.shukla@amd.com/\n\nPatch 8 contains temporary UAPI definitions for testing and should NOT\nbe merged. These definitions will be imported via update-linux-headers.sh\nonce the kernel patches are merged.\n\nTesting:\n  - Verified extended APIC state synchronization on AMD hardware with\n    ExtApicSpace support\n  - Confirmed fallback to legacy APIC ioctls on older KVM versions\n  - Validated VM migration compatibility\n  - Ran migration tests from Qemu to make sure there are no regressions due to\n    the changes done.\n\nRepo : https://github.com/qemu/qemu.git\nbranch : v10.1.0\nbase commit : f8b2f64e23\n\nManali Shukla (8):\n  i386/kvm: Refactor APIC state functions to use generic register\n    pointer\n  i386/kvm: Pass APICCommonState directly to kvm_get_apic_state()\n  i386/apic: Add extended APIC helper functions\n  i386/kvm: Add extended APIC state to APICCommonState\n  i386/kvm: Add extended LAPIC capability negotiation\n  i386/kvm: Add KVM_GET/SET_LAPIC2 support for extended APIC state\n  apic_common: migrate extended APIC fields\n  DO NOT MERGE: Temporary EXTAPIC UAPI definitions\n\n hw/i386/kvm/apic.c              | 123 +++++++++++++++++++++++++-------\n hw/intc/apic_common.c           |  21 ++++++\n include/hw/i386/apic_internal.h |  11 +++\n linux-headers/asm-x86/kvm.h     |   7 ++\n linux-headers/linux/kvm.h       |   7 ++\n target/i386/kvm/kvm.c           |  88 ++++++++++++++++++++++-\n target/i386/kvm/kvm_i386.h      |   7 +-\n 7 files changed, 233 insertions(+), 31 deletions(-)"
}