{"id":2198168,"url":"http://patchwork.ozlabs.org/api/1.0/patches/2198168/?format=json","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.0/projects/14/?format=json","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-3-manali.shukla@amd.com>","date":"2026-02-19T05:42:01","name":"[v1,2/8] i386/kvm: Pass APICCommonState directly to kvm_get_apic_state()","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"626cf94682aa9ea626e2669c89011325ff5167b6","submitter":{"id":90099,"url":"http://patchwork.ozlabs.org/api/1.0/people/90099/?format=json","name":"Manali Shukla","email":"manali.shukla@amd.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/patch/20260219054207.471303-3-manali.shukla@amd.com/mbox/","series":[{"id":492683,"url":"http://patchwork.ozlabs.org/api/1.0/series/492683/?format=json","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/2198168/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=jdpwZMqE;\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 4fGvzq2C4Dz1xxQ\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 1vt4VK-0007PY-Bg; 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 1vswp3-0006LA-Vt\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:34 -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 1vswp2-0007hi-2s\n for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:33 -0500","from SJ0PR05CA0064.namprd05.prod.outlook.com (2603:10b6:a03:332::9)\n by DM4PR12MB6375.namprd12.prod.outlook.com (2603:10b6:8:a2::18) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.13; Thu, 19 Feb\n 2026 05:43:26 +0000","from SJ1PEPF00001CDD.namprd05.prod.outlook.com\n (2603:10b6:a03:332:cafe::84) by SJ0PR05CA0064.outlook.office365.com\n (2603:10b6:a03:332::9) with Microsoft SMTP Server (version=TLS1_3,\n cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.13 via Frontend Transport; Thu,\n 19 Feb 2026 05:42:51 +0000","from satlexmb07.amd.com (165.204.84.17) by\n SJ1PEPF00001CDD.mail.protection.outlook.com (10.167.242.5) 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:25 +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:22 -0600"],"ARC-Seal":"i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=YR+9AnmQF+oDC8pwMoxyeamnBsmxr4kbKkknIdA5bxmYTfKFqN0zfGLv65BnB5Uiuk/8GnXehGSyrlhkQHscx0YI/L1dzntspi71WabPD4TH0qlTelE3un2ER9K81tZ8u+/JtQcsZXKYQVHsqEgPIKmjsqCqqTVOFtQfdD2cH240BKhzMDMva18UnoNkymadA0CMmDIElFZ8QfR1WhZFoRt3pANLRuW+yR9UJji8nPvxyxXEs1Bl741aDEA9cS9y0iDiboqWltCinIEytUajPf/2s62oiTeItrHFe2T14qdF1PEywsfsBWID9AnoUE0MxaiRUXfIltPG/xFM5fmGkg==","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=71o6qenLaZ7N1XnkNxV11kgRCkClxcrws2LdMb8phAk=;\n b=qM51Z4QZXO7egccDRUKjVs9Ca+aP6sA0e4XtWxaz4WRLOlgH96yEEHsTzUeM8N8aLJ6ZdYcn3Ja78F925osvSPz03tfzBEBKlppXTGWLX/G6KWd7woxG7R1BZS290m6auwuxfTUUgOg6VtRe1F69j1u5HxGwPAFneEOV8DkdRcvjGaruiXFEh07l46dU+vyehTSmIPk51SgXM2Fj0wjkB6BogBoVcVHFrdci57Pi5QIB4dCTQ7GLj3YYb270PyYSJk/u2A+kju77z4daSjVMSegpdIcdmBWqOQM3LyqKx2YVT3BxHji8AyWNyr4B7FUvLVXFCFhKNF/UpnnBx5YCwA==","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=71o6qenLaZ7N1XnkNxV11kgRCkClxcrws2LdMb8phAk=;\n b=jdpwZMqExJZfUdelyCYYDbNTAXwmJ6wAyuMcMxl7S0fiNyONB+QNaUaSp3FCqzNTXWJs7xu57oudhhUTvo8dhPonDoOSb/DsIsuurYWRh42yGzGJcCUSCQUfT6oqnfy64gb+AN2xBokQ/nDtmMZJ62UbFNxQf1mXq92IM/bL9tY=","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 2/8] i386/kvm: Pass APICCommonState directly to\n kvm_get_apic_state()","Date":"Thu, 19 Feb 2026 05:42:01 +0000","Message-ID":"<20260219054207.471303-3-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":"SJ1PEPF00001CDD:EE_|DM4PR12MB6375:EE_","X-MS-Office365-Filtering-Correlation-Id":"1bc12135-9b33-4fd6-6586-08de6f79cd58","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;\n ARA:13230040|1800799024|376014|7416014|36860700013|82310400026;","X-Microsoft-Antispam-Message-Info":"\n jSlA4wsCmnL1E+bTUJEoUBcI3d0sthvKw6RPoZ+Eufi7IUc0hQNzGQm/nsp+T1TnnDliV2zJe3TYjZ/zGBpWOEOaRbucCkqaO1hj3wD6osg/b4W02gbFYEbbMiD8bYw6rW2nLsqurw2i7MOkbB5yy+pcYSGDyub/GlbNrrEz6ezwewb7ZeLYvraLdlQ35TkFSooEjx4gsy83Vt2tcRlyIV4OtrlP8Q08YYgoG6fl0sVAeh6ze00jUtAo/v7AMJTU2veS2L9mlkpggVA3RWANDUAk8Lhmi7QtEbLhksuP4AdGJAjzLSV3n8toSU2cI3M8IoLzUnvRKYn7Gwpu7y99DnVvBumn2ZJSQYUIctNM+4D7Kzy9IaIgz8mBpiQiyfn4USuy9qI3uOkZg2uAFfaOeahbf73iMVFJn7ZSGozo4HNbL/tT0Ui7hVsk3L5BtrZO8CI7ZHNWIOdbNzzSxZQKNjRt6fdHX9g0JOcMREV1SH8+KAEki4GPNSfO97kRfIL25XjEj5Q1Cr70cNtHSHwiZoJ0QrA6mfa9IvF35Jxn+4A9dZuQMaJ/h3m6hoO0ttiJYdPT+sR+UydHc3OYE8aTWfoPu5jZmvUNfZWDgFU9jf6pNBi7wNSaZs8eTPoj1B4218lRGMa79moeWIgNZoJPyXReKQfLzNqrZRvPjHhpHDbz3S89wavZ9neNA3YlBgmN6Am33Fp81Z+dh/vB2R70/t4ca7QDB6LMfGUq3odomOA7/bXC5gzjpKcWWiI95IwDR4ZYZtVAYdO2zuc05u+Bnk+u3RBp08VK3zjRdO8Bl7QYk746B0+vOaErdfTnAnT+ZodPaHAvsoKr58o688aJe2eO9PGPcZXnu9IO/DEPTssSHB0cnpl35d7u0fDnR4LDK7PxgRSoxUL9jKAoUPZ6i2XdmyTKUsrAni9/Os/T+1l/rJpeHiqiGlk2B2VjBx0dW3vfLow44ncnNAmEiutzEN5K/mSOkUZZkMSZXO0lNQSvY4h2jv1axvP2L44T5/++ZW61xLgqvrIXpEl4c9PTBZciJ2z1KO73y3/C+MNoygz1bFevWSh+v/RxqbQTV4ZEqq4sdSR0AdL2+bJmIffNSnk6OIs8rq8PVxWMvV/ZZ+qfZM0GUydF4G4b2M+gmCSJicPuV2zzimZW3EEPrJAaq/lB+4G0D/ySlxeeF/LjEDE06xs5mdhQYhScDMpq03JcBOjLUtaST841hAYMORyyhZR+/5LVzbAQYWKUDQ8IuPKUZ1wT5FAWd37f/eoUnx+6H0KwdFbUg02dzfHN6zrCgPuMKhAHaKxf92HMiWHB2FyLk4r9daA5o+uIHPfnvbBTUIJ8aPr8MOEr4VjysSqfKB/USK+mhww9LOdOdF142vbssYu+i8st1FIPBQstrRBGAwXKnkMBhM3N4s0PgEz4lOMNyunqoDvWE8i2dbW9XX04w1JCrZD5Q5xW/ECymDIsisTbzGXTzkmi4yDBWegfSfN1hZ9YDFS47Gp8BivISYllLWQ+iuR94YJbgUH54WOOWT+JnOJENpP8eLbYSxkvqKu/paw97dJ+dwNeaEDK2NCxYX9TweQ8aJtzsEpphy3oObyMc23BSvrGGD3TozbdugLQH9YnqmnWiY2ODKNHNPFXwsqDVerrRGJzklndDERaYfaJ6HHb5VTylQVLr7SqaA==","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)(1800799024)(376014)(7416014)(36860700013)(82310400026);\n DIR:OUT;\n SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n K62JlbuKG4aeIQblucZMx+BGDq1YW51eFwkSjLUMKTmrU6f/j2gKHATuRkRS2VQgbicgStu1dbqfriCzCCSM/XgXtmp7Cy6NSpEC+VtyZkej6EsqDJCffXSuUZVDGCsr+la3aHgLDcVPz59lTAnKPrULL3myMrPJJAyAGiXAabq6xJ5ApcZO8STlCRxCMyhNSGN0DcDw5VyjZoUKm3y/k+oGvXo0bplfIH8OM/0Xxh41u4Y/gMkdysI15f6Lmwe5m7yJzXGKvbqRfVDexZzyoYFY/OI8sgCaWuMGpwS9GKCW5IpZwwoB1BdYLD5TcsUjz1CehV+bMIM/lIwFWmnbiaHt2zjkF7eUTl+RgqpPO9uSt39daODX/gmr2VQnBZQBH4DOwqEgj2tHMydKxuIEAlN2ilYQkIXgSFsZj2pG1WzDNV5npJt2A9wN+XT2V6nl","X-OriginatorOrg":"amd.com","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"19 Feb 2026 05:43:25.9019 (UTC)","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 1bc12135-9b33-4fd6-6586-08de6f79cd58","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 SJ1PEPF00001CDD.namprd05.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Anonymous","X-MS-Exchange-CrossTenant-FromEntityHeader":"HybridOnPrem","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DM4PR12MB6375","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:31 -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":"Change kvm_get_apic_state() to accept APICCommonState pointer directly\ninstead of DeviceState, eliminating the need for APIC_COMMON() cast\ninside the function.\n\nThe caller (kvm_get_apic) now performs the cast once, making the code\ncleaner and preparing for extended APIC state handling.\n\nNo functional change intended.\n\nSigned-off-by: Manali Shukla <manali.shukla@amd.com>\n---\n hw/i386/kvm/apic.c         | 3 +--\n target/i386/kvm/kvm.c      | 3 ++-\n target/i386/kvm/kvm_i386.h | 3 ++-\n 3 files changed, 5 insertions(+), 4 deletions(-)","diff":"diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c\nindex c1866c3939..9489614bca 100644\n--- a/hw/i386/kvm/apic.c\n+++ b/hw/i386/kvm/apic.c\n@@ -60,9 +60,8 @@ static void kvm_put_apic_state(APICCommonState *s, void *regs)\n \n }\n \n-void kvm_get_apic_state(DeviceState *dev, void *kapic)\n+void kvm_get_apic_state(APICCommonState *s, void *kapic)\n {\n-    APICCommonState *s = APIC_COMMON(dev);\n     int i, v;\n \n     if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) {\ndiff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c\nindex 369626f8c8..ea22aa7180 100644\n--- a/target/i386/kvm/kvm.c\n+++ b/target/i386/kvm/kvm.c\n@@ -5012,10 +5012,11 @@ static int kvm_get_mp_state(X86CPU *cpu)\n \n static int kvm_get_apic(X86CPU *cpu)\n {\n-    DeviceState *apic = cpu->apic_state;\n+    APICCommonState *apic;\n     struct kvm_lapic_state kapic;\n     int ret;\n \n+    apic = APIC_COMMON(cpu->apic_state);\n     if (apic && kvm_irqchip_in_kernel()) {\n         ret = kvm_vcpu_ioctl(CPU(cpu), KVM_GET_LAPIC, &kapic);\n         if (ret < 0) {\ndiff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h\nindex ecf21c2cc1..00f8ae0ee4 100644\n--- a/target/i386/kvm/kvm_i386.h\n+++ b/target/i386/kvm/kvm_i386.h\n@@ -12,6 +12,7 @@\n #define QEMU_KVM_I386_H\n \n #include \"system/kvm.h\"\n+#include \"hw/i386/apic_internal.h\"\n \n #define KVM_MAX_CPUID_ENTRIES  100\n \n@@ -56,7 +57,7 @@ bool kvm_has_adjust_clock_stable(void);\n bool kvm_has_exception_payload(void);\n void kvm_synchronize_all_tsc(void);\n \n-void kvm_get_apic_state(DeviceState *d, void *kapic);\n+void kvm_get_apic_state(APICCommonState *s, void *kapic);\n void kvm_put_apicbase(X86CPU *cpu, uint64_t value);\n \n bool kvm_has_x2apic_api(void);\n","prefixes":["v1","2/8"]}