Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.0/patches/2198175/?format=api
{ "id": 2198175, "url": "http://patchwork.ozlabs.org/api/1.0/patches/2198175/?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-6-manali.shukla@amd.com>", "date": "2026-02-19T05:42:04", "name": "[v1,5/8] i386/kvm: Add extended LAPIC capability negotiation", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "545b7017bfc0303bcdb97482336cfdde472d4bd5", "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-6-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/2198175/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=HutOtLXZ;\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 4fGw1W6s5Wz1xpY\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 20 Feb 2026 00:57:35 +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-0007RX-Gu; 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 1vswpF-0006MJ-8H\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:45 -0500", "from mail-westusazlp170120002.outbound.protection.outlook.com\n ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.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 1vswpD-0007jK-Hd\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:44 -0500", "from SJ0PR13CA0002.namprd13.prod.outlook.com (2603:10b6:a03:2c0::7)\n by BN3PR12MB9593.namprd12.prod.outlook.com (2603:10b6:408:2cb::11)\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:38 +0000", "from SJ1PEPF00001CDC.namprd05.prod.outlook.com\n (2603:10b6:a03:2c0:cafe::bc) by SJ0PR13CA0002.outlook.office365.com\n (2603:10b6:a03:2c0::7) 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:37 +0000", "from satlexmb07.amd.com (165.204.84.17) by\n SJ1PEPF00001CDC.mail.protection.outlook.com (10.167.242.4) 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:37 +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:33 -0600" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=wgJC3bO7chg5SDF4JQxVzd27Jn3FF73Z6z/JWnR9DuMFPKkxsJpo8FMhb8VbDiZ75Gt1LylmsUuYRmq8BbaTxmIBx9Cps+h8mrILBcmy851aTvPWSaUojf+uQvQ0NJC+1b02eF9XujxJeCnt1plKhu6FTwFkplXiKfLAOVyRgjtnbYeMSqI8W6sx+rsx4bzMOvg5/yYQW6YNVmLwcGfKYrOoO5w/0enRkv4ozBPAS3lUQA602CzOyDPaIqhb/yPfBU1doUgfiBoSAhFr24DAHXuHSMrQwb6GhollLpPn9AA9tdjJTVSjd2AgZXLqYg0/z0nAOZ/HwmgImsFP4X7XkA==", "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=bVaeOsMTf2qFffutIlkHnH6jX3KJxkPdN0qcWyPMKIQ=;\n b=HCxXc5N414PvnrWJTIMSyIcRFKcKIdG/VTcUIvsiz3aGd3bFXnFJ7n1mtxF82MK1W62d3GQPt03GyU5u8gTdj/QyyAZDKHq2Mewz6txK89fs3bKy3YkXi39fYYeMKCfG+eUm4bQvrSNs+yOCl2QQrU352zzZX/Zs9I3CjqZoTOPOCFxrsltRRtEUcKhyXRlaMAFhzwelFTQ81GEMHKGX718KurLuJE2eQmNYVHNqXj+Sn5Aq8t1Z/ObD0dxEyBnyeX1iaQB3XoK82D5XzS6vvyktTnfgzY/G8p3jzUhuHkx4xgyBWuHqrjllwWCH4smLTsF/zQoONamYonx1OaiOMQ==", "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=bVaeOsMTf2qFffutIlkHnH6jX3KJxkPdN0qcWyPMKIQ=;\n b=HutOtLXZJJhNQ/dkVt7o8OiXz/ykz+nx5GKL9uf0BXZYGGtJyQxZ0DAD63w/mZWcLOvmoPOJQ/94GjmNh6KMxE6xDy9jwPthnLZ2ChryAApKylryG2rlrqMIotLBzHixmd9I6Mn+CfJ8dTDY/JH5IjVRFGktpZBQIPtTYg2oX5g=", "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:c001::2;\n envelope-from=Manali.Shukla@amd.com;\n helo=SJ2PR03CU001.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 5/8] i386/kvm: Add extended LAPIC capability negotiation", "Date": "Thu, 19 Feb 2026 05:42:04 +0000", "Message-ID": "<20260219054207.471303-6-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": "SJ1PEPF00001CDC:EE_|BN3PR12MB9593:EE_", "X-MS-Office365-Filtering-Correlation-Id": "2c23b9ed-5e0b-48f9-7394-08de6f79d44a", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;\n ARA:13230040|36860700013|82310400026|7416014|376014|1800799024;", "X-Microsoft-Antispam-Message-Info": "\n wAVn2Q75vuEB3PfmhLT1E0Gw07ps85Dy0cor4/br+gM9GWEl0WZVzbM54QY/UbjL9AR1nC/tK6l4IdtfexUBXweBoe2YVJ+9S/55fLcfC8zEGe8o8LTg/UuKBWxbTMxYTBtDkRrasl+IK3eRyZ/J5LDfwZv70jqgT3zFE22PdaS1OgTDfMKYus8mpbIW4qbmflLTAAhNNCQMS6yzOXMljh9PTcu8+kex07bf+X2ajPCA8aMlESMgvr+APjzBWLqHzHbsnqA68vtDOxeSYTl28F4lYG9jzvS2kchorp+9YQCiZo9Fy5CV1/0wWGQAhwlxVm+u8xZF4xq2sOlEglwO5HBq1cBMXDR7gCo3bA8c3pZ1q4H/e+BquuFikhZlmr/R+U20pdLYY0N3c9JfutvWuaL6LfZjeo++OyexxYxqmHMNTs6uReRBhAK/qliQ35RXozEkJrC6zkuZbYHDiHBq0+G+G1HM9B9MCuZE+Mk1xw9s1q/gS6eIYLtdHkone2nv/JTcsqpSIJdcQ07UbdXdYzUtRoyu4NnJNGijFDenbhoFX1Ck+qDGb0DEmJvumAE1wpk7O3bZfU14dQLxfTpzxoWUf6aA8aveXXgxXhSWlr1NGk3X/nJcwNyr9fD4Ddd1LoM1k6qc0t5XHI3Toi4199wYL7sfXE96KanO+IpfBxX9M7Gzutq9CagB/GS3wJj8HLmKXL1DfMVcrOHEkSw3YryuAzjPe4Manj15Ch6uEGE3xf0vMa7Csxo0sGkPVw8YevjyWFEJliiI8jL0PzhjphP+diCjmEOoVcDE4oFAuP2THg5dsaQmMSTbbFM4aL+sSnQizn3Pf+mdr+hTsAXcUen843F6br2PnAtkapxt+zZ5fzs+aCMTY8m51rdZPHdmDAHdVX1VgpN0nWmn3RPxSwFenjq6LaWUeOh0MRCp+tVM/kmBK9EJk0S+WByzl5pX9vcKNE6P31FJG6sF+lJNRfENg4s1ATIBAonxuz08CwAVoJ6glbbuk7Ig/yUDa0NCJQS24+5+z54XBu9INA8KKJeWrUtzEetkGMqfujzbKU0JERHzqqixjV46gXImgCGK9SSXqT/5K+e32gdAIUaDWbfIbTEgaKD7Mgtssbql9U0aOMNKjLYlEcZ2bQVMwPmuyEcOb4wvOKH11/7Hm0jNCwxGEvZs+E8/n0qB2nQe7eLvVsOXOTwSLd0xWTLqCv9mW2QpT00MMb6o1/nNAMQudegrpMTV2NSaTluS+aISbVCx1r0+bARpQ3GIG5WdNVt/Bzf49W+jWlSWju/52cZxMSmO/uPYycgL2hDhtgHdT8PMQd5RlxBJl8/dPmU1pPKrLZMmEYpUbhdHaz/FypRm8mHCnQLib/+jT/zFQ2+mlT1M8OCnxzRvQXXiAdtq7v9riFaMd2rPFBHBURg3QVrNWYIHtlVAhWwnwuCBCel63hPj02z+sA+b/8UUDGOLB1XJJXoteEdEtnyamlmNyfFoDDPW2QZiy8iJyeoDV+P79rT6mB48Qgxrc7cH7CjuexjSWffb0/sIwc8WJEeEtBGCUfEB+qnnPbCwbdHGgAx1T7lJNKK1G0y1fcKJMF+01KaziJz2hon8+zY2MUuvKADEiGMBRAUqmUScca3d9UyqVTH/G7pfRAfFVmdC2F6AtzajufUEOOCf2+0gc7/anF9DWw==", "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)(82310400026)(7416014)(376014)(1800799024);\n DIR:OUT;\n SFP:1101;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n 6S5b77mU/h+jSSWI6uA0NPKWzhAzG8qArDkzQ4+0w16QKxq3YAAw9xn8y2WTDH0ASRoq1hMz8fQAjTxfEU43CTJTag4UAuFN8ETB9xa/MuRLgNKo0MP3LGdCRYKcX37EM3vLcbxnBiG+N13hyKaxEt80WlAIFYb+0YTClPGFCGJ5I3Idob+tlhGPo2d8Pjvcu8RF3uqyh0m9UginNGPGsMpkMSLL2S1uALHsfXWa/9l3nJCUeH3IR50404yKnDI15GUZOGQl0WEx7EwFsfsRw7zBgtGdhymGgsPLOt+aQ0MMH+QFpFL5PQHbijKKtSDUHr4xw7WsTjxTfzMiim2OaLtHhoJEJ3/W5+XcepMUy7LEz7/JNRnvMuQNrf91CcRMbxtJerF1NN+v0l19aOtcWBq/lWXblWN7+bsigxbjEwlzRnWRA9Som+SmulK65jmY", "X-OriginatorOrg": "amd.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "19 Feb 2026 05:43:37.5204 (UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 2c23b9ed-5e0b-48f9-7394-08de6f79d44a", "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 SJ1PEPF00001CDC.namprd05.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous", "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN3PR12MB9593", "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": "Negotiate KVM_CAP_LAPIC2 during vCPU pre-creation. Enable\nKVM_LAPIC2_DEFAULT for the 4KB APIC page. If the CPU has\nExtApicSpace (arch_has_extapic()), also enable KVM_LAPIC2_AMD_DEFAULT\nand use the intersection of what host and guest support.\n\nUse a VM-wide has_lapic2 flag so the capability is enabled once on the\nfirst vCPU and reused for the rest. When extended APIC is supported on\nboth host and guest, set has_extapic for use when syncing extended APIC\nregisters with KVM. Allocate extended LVT state in\nkvm_initialize_extlvt() during pre-creation and free it in\nkvm_uninitialize_extlvt() on vCPU destroy.\n\nSuggested-by: Naveen N Rao (AMD) <naveen@kernel.org>\nSigned-off-by: Manali Shukla <manali.shukla@amd.com>\n---\n target/i386/kvm/kvm.c | 61 +++++++++++++++++++++++++++++++++++++-\n target/i386/kvm/kvm_i386.h | 2 ++\n 2 files changed, 62 insertions(+), 1 deletion(-)", "diff": "diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c\nindex ea22aa7180..c9f4cb6430 100644\n--- a/target/i386/kvm/kvm.c\n+++ b/target/i386/kvm/kvm.c\n@@ -177,6 +177,8 @@ static int has_exception_payload;\n static int has_triple_fault_event;\n \n static bool has_msr_mcg_ext_ctl;\n+static bool has_lapic2;\n+static bool has_extapic;\n \n static struct kvm_cpuid2 *cpuid_cache;\n static struct kvm_cpuid2 *hv_cpuid_cache;\n@@ -2064,13 +2066,69 @@ full:\n abort();\n }\n \n+bool kvm_has_lapic2(void)\n+{\n+ return has_lapic2;\n+}\n+\n+bool kvm_has_extapic(void)\n+{\n+ return has_extapic;\n+}\n+\n+static int kvm_enable_extapic(X86CPU *cpu)\n+{\n+ KVMState *s = KVM_STATE(current_accel());\n+ uint64_t kvm_cap, vm_cap, final_cap;\n+ uint8_t nr_extlvt = 0;\n+ int ret;\n+\n+ if (!s) {\n+ error_report(\"KVM accelerator is not available\");\n+ return -ENODEV;\n+ }\n+\n+ if (!has_lapic2) {\n+ kvm_cap = kvm_check_extension(s, KVM_CAP_LAPIC2);\n+ if (!kvm_cap) {\n+ return 0;\n+ }\n+\n+ vm_cap = KVM_LAPIC2_DEFAULT;\n+ if (arch_has_extapic(cpu)) {\n+ vm_cap |= KVM_LAPIC2_AMD_DEFAULT;\n+ }\n+\n+ final_cap = kvm_cap & vm_cap;\n+ ret = kvm_vm_enable_cap(s, KVM_CAP_LAPIC2, 0, final_cap);\n+\n+ if (ret < 0) {\n+ error_report(\"kvm: Failed to enable EXTAPIC\");\n+ return -ENOTSUP;\n+ }\n+\n+ has_lapic2 = true;\n+ if (final_cap & KVM_LAPIC2_AMD_DEFAULT) {\n+ nr_extlvt = KVM_X86_NR_EXTLVT_DEFAULT;\n+ has_extapic = true;\n+ }\n+ }\n+\n+ if (nr_extlvt > 0) {\n+ kvm_initialize_extlvt(cpu, nr_extlvt);\n+ }\n+ return 0;\n+}\n+\n int kvm_arch_pre_create_vcpu(CPUState *cpu, Error **errp)\n {\n if (is_tdx_vm()) {\n return tdx_pre_create_vcpu(cpu, errp);\n }\n \n- return 0;\n+ X86CPU *cs = X86_CPU(cpu);\n+\n+ return kvm_enable_extapic(cs);\n }\n \n int kvm_arch_init_vcpu(CPUState *cs)\n@@ -2399,6 +2457,7 @@ int kvm_arch_destroy_vcpu(CPUState *cs)\n g_free(env->nested_state);\n env->nested_state = NULL;\n \n+ kvm_uninitialize_extlvt(cpu);\n qemu_del_vm_change_state_handler(cpu->vmsentry);\n \n return 0;\ndiff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h\nindex 338433eb52..b28fed69d8 100644\n--- a/target/i386/kvm/kvm_i386.h\n+++ b/target/i386/kvm/kvm_i386.h\n@@ -25,6 +25,8 @@\n (kvm_irqchip_in_kernel() && !kvm_irqchip_is_split())\n \n bool kvm_has_smm(void);\n+bool kvm_has_extapic(void);\n+bool kvm_has_lapic2(void);\n bool kvm_enable_x2apic(void);\n bool kvm_hv_vpindex_settable(void);\n bool kvm_enable_hypercall(uint64_t enable_mask);\n", "prefixes": [ "v1", "5/8" ] }