Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198167/?format=api
{ "id": 2198167, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198167/?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-5-manali.shukla@amd.com>", "date": "2026-02-19T05:42:03", "name": "[v1,4/8] i386/kvm: Add extended APIC state to APICCommonState", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "684aee3d2bdf23ac98690a46e1e8054871416f14", "submitter": { "id": 90099, "url": "http://patchwork.ozlabs.org/api/1.0/people/90099/?format=api", "name": "Manali Shukla", "email": "manali.shukla@amd.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260219054207.471303-5-manali.shukla@amd.com/mbox/", "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/" } ], "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2198167/checks/", "tags": {}, "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=Wqc+xf5t;\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 4fGvzq0cZFz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:56:07 +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 1vt4VL-0007Pz-AR; Thu, 19 Feb 2026 08:55:43 -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 1vswpB-0006Ll-J8\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:41 -0500", "from mail-westcentralusazlp170100005.outbound.protection.outlook.com\n ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1vswp8-0007iK-Mb\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:41 -0500", "from SJ0PR13CA0112.namprd13.prod.outlook.com (2603:10b6:a03:2c5::27)\n by SN7PR12MB7980.namprd12.prod.outlook.com (2603:10b6:806:341::22)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb\n 2026 05:43:33 +0000", "from SJ1PEPF00001CDF.namprd05.prod.outlook.com\n (2603:10b6:a03:2c5:cafe::29) by SJ0PR13CA0112.outlook.office365.com\n (2603:10b6:a03:2c5::27) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu,\n 19 Feb 2026 05:43:33 +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:33 +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:29 -0600" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=CuuNhIJLWHJsy3f0tJW7x3m5tou1BbEv6lFh2xbGc/fs2UZydcxk04RdADRAUUN0CBMEYKGpe5hE2yvIr89IN8+uFw7YQhbp5/D47lt1IbY14V78Qe8E5kzIyuWQmv+ue3tZM9Cq6Apirlr+6PAFCQHKQ7+U9NRF57/v3vscCPE4CSq0pAQE4hAarnn1Zdo6Li9SFNeC852qjg+nZ0G9/qIsB23uHn1VbcUYd61ROVruFfS2kTPNaddGixdOSeOZXss1GYX0R0LrLeeXCTLVaNnkop6POI6bMeXrm0XJjA34iJRc0oKBPTa9kLvJHInLk043Gft/+WkchQ0nsseWew==", "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=H26O9oOQbFO4kCaf/400R1csmdkmHx2ST0gLcTC+ilE=;\n b=i4XSoUeX7J02HojQ/I0JNprmGI0xAwtzqK+mza7r6xJWOV6wwaeq5LP4YrYZJ/V0Pa3TVUuQoIiNQwb4LmgoDK/dFIf4dUw0U0+pkbWRTudxgacWyMCSMwz760LL9tfzqxIMaGJ6J9HNKfLpbyDkVz4q0r6xa1sgnU0wrAIvo+OzoNfL7EaAKINuv1ir5ULe/m1iiW/9Htc4mg8YQ9QKi0nqglRjDGGDICemreUvLI51cdwf/sYKYZVeCP132jGNx4FIxs7TnPpRk+AitYXR2qwvmFUbDVTpe2osBB68spOI9nUJuFxJPbSJiRahiuuieW2yhxay2O/3GWsTg9GEYg==", "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=H26O9oOQbFO4kCaf/400R1csmdkmHx2ST0gLcTC+ilE=;\n b=Wqc+xf5tLDrpkt8fdxeHymKSYMWWI9970a6/v/3qWF/MLRmJQvjNuXkpCQFrNdQtAwC+ShzHirO3cFj/OpDu1bKVAK12SDeif3+EFgPByHuCyuKG8b/LNu2GPCw1Zce3sVc0do6CBI8/ruVZI2pD6pMJEIjBKy/i9VeAL+oNbqo=", "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::5;\n envelope-from=Manali.Shukla@amd.com;\n helo=CY7PR03CU001.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 4/8] i386/kvm: Add extended APIC state to APICCommonState", "Date": "Thu, 19 Feb 2026 05:42:03 +0000", "Message-ID": "<20260219054207.471303-5-manali.shukla@amd.com>", "X-Mailer": "git-send-email 2.43.0", "In-Reply-To": "<20260219054207.471303-1-manali.shukla@amd.com>", "References": "<20260219054207.471303-1-manali.shukla@amd.com>", "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_|SN7PR12MB7980:EE_", "X-MS-Office365-Filtering-Correlation-Id": "99b1f9a2-f1db-4120-99cf-08de6f79d209", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700013|376014|7416014|1800799024|82310400026;", "X-Microsoft-Antispam-Message-Info": "\n kLe+pUJi/o8VvMdbR/5+A9KDtfLV8foAEEpv3PLhsJhMh8s6f2uRoETJCu0eFuseKKo0tfGD3HFxEl1XNEwh9o46YGR+4tMsqy358PXDXf/lOk41j1JuNbmDZM1KFdeRArvdIIiVvMZJEidEhalmZApfsTAVYVt6ajBJ15fbqSZo/g5HiYhtD5YUtDmvipMeIhw3AI4nKOc/WtMkdOCwn1DEtuL/191Xs6l5H8ge3epkDWF+7sZJ5Nr3PTPuvPBTuqleMl/aI473PEZkgFCW54dICQcmyBPxBV/VFxmMakv9BK3KJvATX+cZGGDaHRQAU6mmoSrGAH3i9Ri1WQHaPWQm8moMiucQ2Ak1XdQbUOLRNeIvbzkdER7m9EmFiqTAJreh0vSbJCiH72GVeUc+V0MNlFnNGvJIceGsH6tPClEoBO/i06txuJpD+jMqgLsHoNOi+uJNQnS0j43/St8mGQ+nOjqMEoVS79yE9n8ykLN0Vfi+f90UDe4A1QjvaZUyZqYmWi8R873wYU+ghyD0CxnGkwr01DiOgrYPJQcx59PzrQCcl9GRJ67TjvS4xu3yWOqbduJyhuaP2W++TrdbfomHDe57ARApdjolkTB23v1jE+rFjhdc/BWyLGJd4lPiEydGm+Ew8ng0aA4O4FslmcYM+Jg+ShYYT+PRzyTcNF0C95M1CI+/MzHMenCD5nQ1pb3VXsQOX5Ln2yMwe42bebvAizXFCCLDBUd1+wxJEL0bZaYcsi3SQz0BYrWjvEWfrrJdu1sSZLH0iJN6viaqF8KQN7l3Gw2363wCh2fdcXlKdgz2jE/HweMAHCS97O00SIyqD2kulReN1lhWh3rH0nuCZTTx7Rz9CRn2LQGsNCDxOKg7Eft+56vCiSNdmN0rNutldDxFXcK4rVmrdYDEn72DeCj88zc+oxt/sNn7Te+8gq0MZIbWKWJ5ixCIuo0Y4b+yXvNPC8wbHEVhmBFDgSqTZpllfKdiABLZfS+85msTEagGHQ63DQlDywt4EIqv+OnEPQGD1PKsCRYFFBU+6ar2KY5s0GixnCZdaqf7OCtbPxu+FgbvfdQW0UrfO123d/ZImESc2UBXdgr6xUgX+K/w8KbhHoNrcbpS3tqCVGkk/nNmVvpRebas+ETCJiILq2S8jqu9dWPXGp9Wly59lSFqrziqy6syE/57CIonavCvJbFVmypawYNVyfwwVJUrilryHDfCbsyHiT/HQBf8LEzaXOFty7rYwD4/IQWw4r+3qOQm5o5kmzqNOoaepqyM95LjWHnXVZ3rdKdoLnPAHkP8+C8m6uWNSg2GqtCQALviFWBh9/Kyk98i2bPc/RP2NYwYH/z2Rh6uIDoPtgpQknazCEy3KLNIA7ptEKXYz8qyzPfAYgTev1FKej7M0HqU/VhuJ/42EkIJupS2SnWxyKfKH+2UBbJT66tYWbrryjBPHpZEc8e+MLlmUKhNoa4Csu8pHjVZ0JyFDbKcYv3jeNSALiA9Y9E+gqQqBECYrGFyNcdOQr72S38oqGBBoCdnwcN4jY5zEVubR9OZI4Hf25vGSAXrTdAiJzUFsqtsCbxnIr9fqdwCNe3Fvyl2S6U+4TL2+SVJSvSRK29OlT8la8T101qJhWTzmFUaKQpdTTA2FtgiHak/v5X6ahcOJMA54LvzA7BbZJ7IrKQUmEo+YQ==", "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)(7416014)(1800799024)(82310400026);\n DIR:OUT;\n SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n /HmS3XY3lLolHijiYjkwME/SA+rV5utmIdOOl/0oUNuQ0FVVp+DxR2WEQBEgbQqW7SD1H042ZuOhzWdB8cN0+AsufffiVuAJMF40m0LuCAFuLj+kooiFVhArDatbqgvZHxWO0LDAVChyy1Q5ahHGb2kBALJocvgLh7V+hVJDFQXknzxRWd3mPnSLkr8G8tJ2aLo3L13m7MbcbGIwR0GHTkIhKrpluvzg5C7KgVmY7RNbb4VTzTpuN4dHOcq3zxNTbW5JHQxwz9HD6S91bYT6DrFVgfeisaBjHKHvNHkm76FQ1uK9Bb2+PlgGrmH0CdFowhotLf1gf4z2sRcezpVIyRtcCdAZAfVABiTl2jw5O8BHcHucGkTc8AzYQHyLUCFIOOhdPrIGgai3ao4PVTDZe/76GO4CG00Ali7GcPefWvbwAyISo2tyezPCgasAqSeE", "X-OriginatorOrg": "amd.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Feb 2026 05:43:33.7494 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 99b1f9a2-f1db-4120-99cf-08de6f79d209", "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": "SN7PR12MB7980", "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:34 -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 extended LAPIC state fields to APICCommonState to support AMD's\nextended APIC registers:\n\n- efeat: Extended Features register\n- ectrl: Extended Control register\n- extlvt: Array of extended interrupt LVT registers\n- nr_extlvt: Number of extended LVT entries\n\nThese fields store the state of AMD's extended APIC registers which\nprovide additional extended local interrupt vectors beyond the standard\nAPIC LVT entries.\n\nAdd kvm_initialize_extlvt() and kvm_uninitialize_extlvt() to manage\nthe lifecycle of extended LVT registers. Dynamically allocate and free\nthe array in APICCommonState based on nr_extlvt supported.\n\nSigned-off-by: Manali Shukla <manali.shukla@amd.com>\n---\n hw/i386/kvm/apic.c | 21 +++++++++++++++++++++\n include/hw/i386/apic_internal.h | 4 ++++\n target/i386/kvm/kvm_i386.h | 2 ++\n 3 files changed, 27 insertions(+)", "diff": "diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c\nindex 9489614bca..7bec7909e9 100644\n--- a/hw/i386/kvm/apic.c\n+++ b/hw/i386/kvm/apic.c\n@@ -135,6 +135,27 @@ static void kvm_apic_vapic_base_update(APICCommonState *s)\n }\n }\n \n+void kvm_initialize_extlvt(X86CPU *cpu, uint32_t nr_extlvt)\n+{\n+ APICCommonState *s;\n+ s = APIC_COMMON(cpu->apic_state);\n+\n+ s->nr_extlvt = nr_extlvt;\n+ s->extlvt = g_malloc0(nr_extlvt * sizeof(uint32_t));\n+}\n+\n+void kvm_uninitialize_extlvt(X86CPU *cpu)\n+{\n+ APICCommonState *s;\n+ s = APIC_COMMON(cpu->apic_state);\n+\n+ if (s->extlvt) {\n+ g_free(s->extlvt);\n+ s->extlvt = NULL;\n+ s->nr_extlvt = 0;\n+ }\n+}\n+\n static void kvm_apic_put(CPUState *cs, run_on_cpu_data data)\n {\n APICCommonState *s = data.host_ptr;\ndiff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_internal.h\nindex 865b7ed567..e84cbed7f6 100644\n--- a/include/hw/i386/apic_internal.h\n+++ b/include/hw/i386/apic_internal.h\n@@ -174,7 +174,11 @@ struct APICCommonState {\n uint32_t lvt[APIC_LVT_NB];\n uint32_t esr; /* error register */\n uint32_t icr[2];\n+ uint32_t efeat;\n+ uint32_t ectrl;\n+ uint32_t *extlvt;\n \n+ uint32_t nr_extlvt;\n uint32_t divide_conf;\n int count_shift;\n uint32_t initial_count;\ndiff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h\nindex 00f8ae0ee4..338433eb52 100644\n--- a/target/i386/kvm/kvm_i386.h\n+++ b/target/i386/kvm/kvm_i386.h\n@@ -73,6 +73,8 @@ struct kvm_cpuid_entry2 *cpuid_find_entry(struct kvm_cpuid2 *cpuid,\n uint32_t cpuid_entry_get_reg(struct kvm_cpuid_entry2 *entry, int reg);\n uint32_t kvm_x86_build_cpuid(CPUX86State *env, struct kvm_cpuid_entry2 *entries,\n uint32_t cpuid_i);\n+void kvm_initialize_extlvt(X86CPU *cpu, uint32_t nr_extlvt);\n+void kvm_uninitialize_extlvt(X86CPU *cpu);\n #endif /* CONFIG_KVM */\n \n void kvm_pc_setup_irq_routing(bool pci_enabled);\n", "prefixes": [ "v1", "4/8" ] }