From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509396; cv=pass; d=zohomail.com; s=zohoarc; b=HHtIn988euhQgrceSA72HN674STDC1d0zz4wx/maomMO1wJDz4+Wp80eUfarx4TOvpq/a/fOJ9OECXHWEHkm41rExQMpvlwLEvSJZGoDS1tpZKoi/r1lg0RS20/91jrq2LU3c+63mYUNkMs//AxNMzzy+YZTE6z0ObfPg79vJ50= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509396; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LfJ9WJFyWYgs+3qS0411eXdpzRsH++ZF7xVlgYIV7Fk=; b=TwXj/E6DLdmo5kBzVblmX3td8RH+x8ER+lp2JnThkI9eQpcwPqhc8uh309Owrje0Yxv0jVUhLoRVoagfcjaZ2onwdPy0IDoPAavdaWWaiNWMB44jTTaTVp5zksI1+X2/9aQBWe0dVkk/hM+Wz/JCIz9OzeGl1Fq0eKW7Z3+ujvU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509396236399.9280946471182; Thu, 19 Feb 2026 05:56:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4Vy-0007iK-2y; Thu, 19 Feb 2026 08:56:23 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswtr-0007mH-Kq for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:48:33 -0500 Received: from mail-centralusazon11011048.outbound.protection.outlook.com ([52.101.62.48] helo=DM5PR21CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswtp-0000cP-Hs for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:48:31 -0500 Received: from SJ0PR13CA0113.namprd13.prod.outlook.com (2603:10b6:a03:2c5::28) by BY5PR12MB4196.namprd12.prod.outlook.com (2603:10b6:a03:205::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 05:43:22 +0000 Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com (2603:10b6:a03:2c5:cafe::e8) by SJ0PR13CA0113.outlook.office365.com (2603:10b6:a03:2c5::28) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu, 19 Feb 2026 05:43:22 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:22 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:18 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=thHmSYEf2kNHwwYSyt0X3nLlM04/g8uWcQf/jPsTo7lJmvyZsj2UGtdeaggUWYyfsJNZtukNvmbBhEjRC5PUMgnh86v4tMMwZ5+KoqEg8F7tiiIytJ1tSa8oiznHP0aIzvebPSGWx6jokkiWCdTi8w1zDqZI0gMOLDLWyK994L8NVUeyVQANEsJ51QfnQVCnqSQ2pY7vJdIrePAst3syVEg0MW+jpx3ixsI0gCjioySCnTfBNSoqjG/E/lXAtu0KPMeFrkRsJrMPCSPqGwjpcS6to7ldhsjuc1PczauOg3Iez8KX+eaY7xUTzcakRE5S17ensNy9tC3uV4PLR35iKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=LfJ9WJFyWYgs+3qS0411eXdpzRsH++ZF7xVlgYIV7Fk=; b=w+tdgyR/A+/Vt5cL9BnuRxrKJkHAIx2feWbgwbgCeK38E/YbiCw5NPZUVQOk4cFnEIssFM1a4qpEgG5oTRPWwl3jhs1fpO70adOR9D5mxBCinZFeBANzfAJ51tVKfVZ6nTwG1f+Ycr4drHGTGP7Z8THAB4kX4OxbiwdcC/oN587XmrxFKp8Xf/3q0kPEwxPJd1hO6JJf4B7k4LAAEBhG/GsTYhp/UN5wJZhLn1N2+RzyQAmwBds/5xE99XuNeIUBRYfq+5uAQL+21TtG23QaoxVKJxyUMdMh5MHjtmcDgelolan1ptYwWntvaHzyyrxTBE5YEYQHAP8HgYAXyLgw1w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LfJ9WJFyWYgs+3qS0411eXdpzRsH++ZF7xVlgYIV7Fk=; b=o1G/bsIVxTGcusr52/P0acBO5FZZLEK5z/wvF8N5f4bKvCwy2tkEnbtXGcPwBErZV9H8AOO/dPQ7yPzHf4SmYf4oRQAeoeA5u4tZEoEymsDu96XxssA/sKETvyI4qPHsOTlpSFUebIlLjMV7Z6975EJZRW3pyh1ZzJk3QwJm8iM= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 1/8] i386/kvm: Refactor APIC state functions to use generic register pointer Date: Thu, 19 Feb 2026 05:42:00 +0000 Message-ID: <20260219054207.471303-2-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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDF:EE_|BY5PR12MB4196:EE_ X-MS-Office365-Filtering-Correlation-Id: e2baf6b0-36ee-4d8a-2506-08de6f79cb5c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|376014|7416014|36860700013|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jgXeXdNd7hHTSpWAVBOGfvjewd0m3ehDTLJFkHNaHd4yocFqtIqRUClJP0Me?= =?us-ascii?Q?SrjreG298mH+EKBZXj3W0fgZypk1L4DMd8oRSRUw2rS/XZRpkYKit8eYWGTg?= =?us-ascii?Q?Ctx40X4TY5uR7jZh6GPJtO3dcfB+BMpanLRwQbJOkKteZ/hahyX+OOmfRXn8?= =?us-ascii?Q?1YQ0iVDMrXx6P+qMGBv4e3yLsFsVVePYdVz5VzWA0kb/kgXvKMboONMR1o5c?= =?us-ascii?Q?jZBSkk+AWpo+TT/bli/e6sK3MOErj04C6R7DcZukjggDIKSt/xB+8fxRO7C+?= =?us-ascii?Q?aMtSqcPnjm8pzCkhGZTPxX8UcxUpk6w+USQhY+qts/5ZcdCUFbaY9geue673?= =?us-ascii?Q?BZEf0n4uXJT/LJkwhWUMPyEcttRcl2hBKN+PPEHOAAwf43mCSqxmQzsttl5s?= =?us-ascii?Q?bWHN6QpVdbgVkSQy9mKhwIWA15DNPI2iUjw7EM4gHSyBBxupLZLwtY5r/Kou?= =?us-ascii?Q?4e+31/jFbtWvwIShWAKXyyT3G/p5GYrl9tt0r7S6dV3Gvxp1gF/wo+yaSCzN?= =?us-ascii?Q?9P+BSqg6g77Oh/lGMUN6fNgEZi58xlLlG7hYqFq0JUXh9J22M0Co6Jl35y1C?= =?us-ascii?Q?rY8Ur/WKAoYlm/s7cK6H+S9BOj7TODebZpeSsN8HhaDgMOgHVnF/WyLATMKq?= =?us-ascii?Q?WrBcDApZcwzzvO0RvKEqJ6bGps7UcXHfgcmkuVeuRqhJDRI4aNY0Bd95TOna?= =?us-ascii?Q?2Zo/tfvmRrQe4KpSWQ4xMb0X9Lkex0A7dKlKMJNT/wIiA/2bZzDIYev9NtTa?= =?us-ascii?Q?0rw2A6ZA367aPFIqX+qu8xTVQ0fMOkJgyBfYzARFVR+23/Y/vaoDsPGTdokE?= =?us-ascii?Q?4YzV1sFlxQsI3KWg5E7ezZja/aF3fU7GIlFYcfbhAvCADjlRG2TlmiM8ECC5?= =?us-ascii?Q?CXiUuN+SLwSoF7RHB9BOmI28BFRutzkSvxaSW+EWTMESJXsnD6HdbztNan9G?= =?us-ascii?Q?uQdIQfZvSh43lbmGgJsW4pv7VyrtwYB958RooSl8VaqPupS+6APUB+SKvR0Q?= =?us-ascii?Q?KIBDdVt4MAhhxzZqDzdk+qqO53eXztcUIcjbvFuuylKBA7CF/SZ5CjlcYWQO?= =?us-ascii?Q?5JiR90ut8PDkdRlIKKUedTIysjhnKbdEKvEaClcrKB+F9J/khF9cuaz5a1bb?= =?us-ascii?Q?tAmcCD9k4Kn4O4VnUUSK8+OllLpB/qIVWfuRJoFyVxb0b+UaSM1FanNF4KTm?= =?us-ascii?Q?V6aVfl8DswYXOeS2KizDfYrRU5P7qAQRw22axxxhZMtBn4naoh35OdByjCjx?= =?us-ascii?Q?8ZnueiCaMtsWahnPrfwtNPMdbVothVjoi2ZiNIfb28cdeWlaapo5ZN7gYaRx?= =?us-ascii?Q?fSEZdPAhdPQPjVJMrwrQtpnvpKtnfHRxvAsDOjbxtjTXjdE0OhYmUSsYk0wN?= =?us-ascii?Q?rlHC8gvBEopA1grd2xqwPfa8pKyfERNwZHWJSiCHf49wFKGsXGC/sQOMUrEH?= =?us-ascii?Q?/oR7nucXXqTI2dnuxyNAL8SUu9ZlprqTBW/U30ha/HLRcmnOB4o82lclgU2C?= =?us-ascii?Q?ABGJiRVGKhlO3ExGhOg+xRqZxJgt4mej5rpA1335D6Lnio0PiBtyeEV6v/lQ?= =?us-ascii?Q?5EVMNESEd1RS01R31zeTZeuF1VU084z5aH82BC3h9gaF/JXIys9UzlQ76un9?= =?us-ascii?Q?mHtxMKT/ZFlZGroG8WLEpD/mR4mXIwtyemvfB6bYh/uFABuP53Vosg0JgjAS?= =?us-ascii?Q?aGOmoQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(376014)(7416014)(36860700013)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 4/ca7JI73MDWWvjBCQd6S2PMBdhLC1YBYB5Cl065tIIftq5+ue2sAzbgzRA/pvoE2sfwJq+ebE0N3idvmvG/i60lSnN7viQ8cQuXtbr4DtFazTB1o/aXT5a1c+U1beoYNl8VfFdyMUEoq8VRG2bQjVGzlDrOG11y1XflPJtlQv9WwhR4oOqdW5GtUT7PEuAlPLqc4muOEDlDmVRIakKC07yTMQjpWzCTrcYqjKfAvOOVednEcsxX7S7U3OyR8NMzQIBZ7BKxmsH4OV0I6dPQeh99bVLpaGYwGC2T5M3ERn4/vs0u4mAf6NZXZD3YXE3QD6Kqlqo7kEU/tNAcwq1hnDiS+N8qK4QgjPnIG5wXyf2MGbIbQHAAWwtkg3F/T/scjubRKPTZ5NSbPo+eJYUcA36SaltKnTg6c0Oi7FJ2VMzrbPJhd/KsmB7unJcSmJ9V X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 05:43:22.5467 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e2baf6b0-36ee-4d8a-2506-08de6f79cb5c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4196 Received-SPF: permerror client-ip=52.101.62.48; envelope-from=Manali.Shukla@amd.com; helo=DM5PR21CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509397746154100 Content-Type: text/plain; charset="utf-8" Change kvm_put_apic_state() and kvm_get_apic_state() to accept a void * instead of struct kvm_lapic_state *, so they can work with both the legacy 1KB and the 4KB LAPIC2 register layout in later patches. Update kvm_apic_set_reg() and kvm_apic_get_reg() to take void * with explicit char * casts for correct pointer arithmetic. This is a preparation for LAPIC2 ioctl space and extended LVT for AMD changes. No functional change intended. Signed-off-by: Manali Shukla --- hw/i386/kvm/apic.c | 48 +++++++++++++++++++------------------- target/i386/kvm/kvm_i386.h | 2 +- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index 1be9bfe36e..c1866c3939 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -19,48 +19,48 @@ #include "kvm/kvm_i386.h" #include "kvm/tdx.h" =20 -static inline void kvm_apic_set_reg(struct kvm_lapic_state *kapic, - int reg_id, uint32_t val) +static inline void kvm_apic_set_reg(void *regs, int reg_id, uint32_t val) { - *((uint32_t *)(kapic->regs + (reg_id << 4))) =3D val; + *((uint32_t *)((char *)regs + (reg_id << 4))) =3D val; } =20 -static inline uint32_t kvm_apic_get_reg(struct kvm_lapic_state *kapic, - int reg_id) +static inline uint32_t kvm_apic_get_reg(void *regs, int reg_id) { - return *((uint32_t *)(kapic->regs + (reg_id << 4))); + return *((uint32_t *)((char *)regs + (reg_id << 4))); } =20 -static void kvm_put_apic_state(APICCommonState *s, struct kvm_lapic_state = *kapic) +static void kvm_put_apic_state(APICCommonState *s, void *regs) { int i; =20 - memset(kapic, 0, sizeof(*kapic)); + memset(regs, 0, KVM_APIC_REG_SIZE); + if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) { - kvm_apic_set_reg(kapic, 0x2, s->initial_apic_id); + kvm_apic_set_reg(regs, 0x2, s->initial_apic_id); } else { - kvm_apic_set_reg(kapic, 0x2, s->id << 24); + kvm_apic_set_reg(regs, 0x2, s->id << 24); } - kvm_apic_set_reg(kapic, 0x8, s->tpr); - kvm_apic_set_reg(kapic, 0xd, s->log_dest << 24); - kvm_apic_set_reg(kapic, 0xe, s->dest_mode << 28 | 0x0fffffff); - kvm_apic_set_reg(kapic, 0xf, s->spurious_vec); + kvm_apic_set_reg(regs, 0x8, s->tpr); + kvm_apic_set_reg(regs, 0xd, s->log_dest << 24); + kvm_apic_set_reg(regs, 0xe, s->dest_mode << 28 | 0x0fffffff); + kvm_apic_set_reg(regs, 0xf, s->spurious_vec); for (i =3D 0; i < 8; i++) { - kvm_apic_set_reg(kapic, 0x10 + i, s->isr[i]); - kvm_apic_set_reg(kapic, 0x18 + i, s->tmr[i]); - kvm_apic_set_reg(kapic, 0x20 + i, s->irr[i]); + kvm_apic_set_reg(regs, 0x10 + i, s->isr[i]); + kvm_apic_set_reg(regs, 0x18 + i, s->tmr[i]); + kvm_apic_set_reg(regs, 0x20 + i, s->irr[i]); } - kvm_apic_set_reg(kapic, 0x28, s->esr); - kvm_apic_set_reg(kapic, 0x30, s->icr[0]); - kvm_apic_set_reg(kapic, 0x31, s->icr[1]); + kvm_apic_set_reg(regs, 0x28, s->esr); + kvm_apic_set_reg(regs, 0x30, s->icr[0]); + kvm_apic_set_reg(regs, 0x31, s->icr[1]); for (i =3D 0; i < APIC_LVT_NB; i++) { - kvm_apic_set_reg(kapic, 0x32 + i, s->lvt[i]); + kvm_apic_set_reg(regs, 0x32 + i, s->lvt[i]); } - kvm_apic_set_reg(kapic, 0x38, s->initial_count); - kvm_apic_set_reg(kapic, 0x3e, s->divide_conf); + kvm_apic_set_reg(regs, 0x38, s->initial_count); + kvm_apic_set_reg(regs, 0x3e, s->divide_conf); + } =20 -void kvm_get_apic_state(DeviceState *dev, struct kvm_lapic_state *kapic) +void kvm_get_apic_state(DeviceState *dev, void *kapic) { APICCommonState *s =3D APIC_COMMON(dev); int i, v; diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index 5f83e8850a..ecf21c2cc1 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -56,7 +56,7 @@ bool kvm_has_adjust_clock_stable(void); bool kvm_has_exception_payload(void); void kvm_synchronize_all_tsc(void); =20 -void kvm_get_apic_state(DeviceState *d, struct kvm_lapic_state *kapic); +void kvm_get_apic_state(DeviceState *d, void *kapic); void kvm_put_apicbase(X86CPU *cpu, uint64_t value); =20 bool kvm_has_x2apic_api(void); --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509366; cv=pass; d=zohomail.com; s=zohoarc; b=C4GFaT5SclKFgKDr6i6VuPCVhimU8zp9gDKb5LNfg5N1LzoFZbFJDw1A6+w4Q96WVTwBWBIvaCa20N7V0L6D/0YpjdiqK9c6PzfN7gxCyR6730W1xX12bL3yyS6FlhDpfisdeHBweWvRHfw9nODfsimBCrZTmOt1ysIMRXmlzKI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509366; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=71o6qenLaZ7N1XnkNxV11kgRCkClxcrws2LdMb8phAk=; b=JXC50wl1AZKFeHQV9sPkRLMpOKVCrXgwnDlwJtcQo3+MTjz22wQY0mDUzNqKSjAXKXXTiDAydqqZGv2QHbnxAJ1QXiF1RkGWfnjnmRMj5/fLy2E7BM9a/wRLRaIHs4sq+LgXksk+5CmXgB0vJjRIloG0GIAHKeoW5aE6jzCAdEs= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509366128316.5014573503904; Thu, 19 Feb 2026 05:56:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VK-0007PY-Bg; Thu, 19 Feb 2026 08:55:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswp3-0006LA-Vt for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:34 -0500 Received: from mail-westusazlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswp2-0007hi-2s for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:33 -0500 Received: from SJ0PR05CA0064.namprd05.prod.outlook.com (2603:10b6:a03:332::9) by DM4PR12MB6375.namprd12.prod.outlook.com (2603:10b6:8:a2::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.13; Thu, 19 Feb 2026 05:43:26 +0000 Received: from SJ1PEPF00001CDD.namprd05.prod.outlook.com (2603:10b6:a03:332:cafe::84) by SJ0PR05CA0064.outlook.office365.com (2603:10b6:a03:332::9) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.13 via Frontend Transport; Thu, 19 Feb 2026 05:42:51 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDD.mail.protection.outlook.com (10.167.242.5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:25 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:22 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=YR+9AnmQF+oDC8pwMoxyeamnBsmxr4kbKkknIdA5bxmYTfKFqN0zfGLv65BnB5Uiuk/8GnXehGSyrlhkQHscx0YI/L1dzntspi71WabPD4TH0qlTelE3un2ER9K81tZ8u+/JtQcsZXKYQVHsqEgPIKmjsqCqqTVOFtQfdD2cH240BKhzMDMva18UnoNkymadA0CMmDIElFZ8QfR1WhZFoRt3pANLRuW+yR9UJji8nPvxyxXEs1Bl741aDEA9cS9y0iDiboqWltCinIEytUajPf/2s62oiTeItrHFe2T14qdF1PEywsfsBWID9AnoUE0MxaiRUXfIltPG/xFM5fmGkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=71o6qenLaZ7N1XnkNxV11kgRCkClxcrws2LdMb8phAk=; b=qM51Z4QZXO7egccDRUKjVs9Ca+aP6sA0e4XtWxaz4WRLOlgH96yEEHsTzUeM8N8aLJ6ZdYcn3Ja78F925osvSPz03tfzBEBKlppXTGWLX/G6KWd7woxG7R1BZS290m6auwuxfTUUgOg6VtRe1F69j1u5HxGwPAFneEOV8DkdRcvjGaruiXFEh07l46dU+vyehTSmIPk51SgXM2Fj0wjkB6BogBoVcVHFrdci57Pi5QIB4dCTQ7GLj3YYb270PyYSJk/u2A+kju77z4daSjVMSegpdIcdmBWqOQM3LyqKx2YVT3BxHji8AyWNyr4B7FUvLVXFCFhKNF/UpnnBx5YCwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=71o6qenLaZ7N1XnkNxV11kgRCkClxcrws2LdMb8phAk=; b=jdpwZMqExJZfUdelyCYYDbNTAXwmJ6wAyuMcMxl7S0fiNyONB+QNaUaSp3FCqzNTXWJs7xu57oudhhUTvo8dhPonDoOSb/DsIsuurYWRh42yGzGJcCUSCQUfT6oqnfy64gb+AN2xBokQ/nDtmMZJ62UbFNxQf1mXq92IM/bL9tY= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 2/8] i386/kvm: Pass APICCommonState directly to 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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (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; ARA:13230040|1800799024|376014|7416014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?jSlA4wsCmnL1E+bTUJEoUBcI3d0sthvKw6RPoZ+Eufi7IUc0hQNzGQm/nsp+?= =?us-ascii?Q?T1TnnDliV2zJe3TYjZ/zGBpWOEOaRbucCkqaO1hj3wD6osg/b4W02gbFYEbb?= =?us-ascii?Q?MiD8bYw6rW2nLsqurw2i7MOkbB5yy+pcYSGDyub/GlbNrrEz6ezwewb7ZeLY?= =?us-ascii?Q?vraLdlQ35TkFSooEjx4gsy83Vt2tcRlyIV4OtrlP8Q08YYgoG6fl0sVAeh6z?= =?us-ascii?Q?e00jUtAo/v7AMJTU2veS2L9mlkpggVA3RWANDUAk8Lhmi7QtEbLhksuP4AdG?= =?us-ascii?Q?JAjzLSV3n8toSU2cI3M8IoLzUnvRKYn7Gwpu7y99DnVvBumn2ZJSQYUIctNM?= =?us-ascii?Q?+4D7Kzy9IaIgz8mBpiQiyfn4USuy9qI3uOkZg2uAFfaOeahbf73iMVFJn7ZS?= =?us-ascii?Q?Gozo4HNbL/tT0Ui7hVsk3L5BtrZO8CI7ZHNWIOdbNzzSxZQKNjRt6fdHX9g0?= =?us-ascii?Q?JOcMREV1SH8+KAEki4GPNSfO97kRfIL25XjEj5Q1Cr70cNtHSHwiZoJ0QrA6?= =?us-ascii?Q?mfa9IvF35Jxn+4A9dZuQMaJ/h3m6hoO0ttiJYdPT+sR+UydHc3OYE8aTWfoP?= =?us-ascii?Q?u5jZmvUNfZWDgFU9jf6pNBi7wNSaZs8eTPoj1B4218lRGMa79moeWIgNZoJP?= =?us-ascii?Q?yXReKQfLzNqrZRvPjHhpHDbz3S89wavZ9neNA3YlBgmN6Am33Fp81Z+dh/vB?= =?us-ascii?Q?2R70/t4ca7QDB6LMfGUq3odomOA7/bXC5gzjpKcWWiI95IwDR4ZYZtVAYdO2?= =?us-ascii?Q?zuc05u+Bnk+u3RBp08VK3zjRdO8Bl7QYk746B0+vOaErdfTnAnT+ZodPaHAv?= =?us-ascii?Q?soKr58o688aJe2eO9PGPcZXnu9IO/DEPTssSHB0cnpl35d7u0fDnR4LDK7Px?= =?us-ascii?Q?gRSoxUL9jKAoUPZ6i2XdmyTKUsrAni9/Os/T+1l/rJpeHiqiGlk2B2VjBx0d?= =?us-ascii?Q?W3vfLow44ncnNAmEiutzEN5K/mSOkUZZkMSZXO0lNQSvY4h2jv1axvP2L44T?= =?us-ascii?Q?5/++ZW61xLgqvrIXpEl4c9PTBZciJ2z1KO73y3/C+MNoygz1bFevWSh+v/Rx?= =?us-ascii?Q?qbQTV4ZEqq4sdSR0AdL2+bJmIffNSnk6OIs8rq8PVxWMvV/ZZ+qfZM0GUydF?= =?us-ascii?Q?4G4b2M+gmCSJicPuV2zzimZW3EEPrJAaq/lB+4G0D/ySlxeeF/LjEDE06xs5?= =?us-ascii?Q?mdhQYhScDMpq03JcBOjLUtaST841hAYMORyyhZR+/5LVzbAQYWKUDQ8IuPKU?= =?us-ascii?Q?Z1wT5FAWd37f/eoUnx+6H0KwdFbUg02dzfHN6zrCgPuMKhAHaKxf92HMiWHB?= =?us-ascii?Q?2FyLk4r9daA5o+uIHPfnvbBTUIJ8aPr8MOEr4VjysSqfKB/USK+mhww9LOdO?= =?us-ascii?Q?dF142vbssYu+i8st1FIPBQstrRBGAwXKnkMBhM3N4s0PgEz4lOMNyunqoDvW?= =?us-ascii?Q?E8i2dbW9XX04w1JCrZD5Q5xW/ECymDIsisTbzGXTzkmi4yDBWegfSfN1hZ9Y?= =?us-ascii?Q?DFS47Gp8BivISYllLWQ+iuR94YJbgUH54WOOWT+JnOJENpP8eLbYSxkvqKu/?= =?us-ascii?Q?paw97dJ+dwNeaEDK2NCxYX9TweQ8aJtzsEpphy3oObyMc23BSvrGGD3Tozbd?= =?us-ascii?Q?ugLQH9YnqmnWiY2ODKNHNPFXwsqDVerrRGJzklndDERaYfaJ6HHb5VTylQVL?= =?us-ascii?Q?r7SqaA=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(7416014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 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: 1bc12135-9b33-4fd6-6586-08de6f79cd58 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDD.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6375 Received-SPF: permerror client-ip=2a01:111:f403:c001::2; envelope-from=Manali.Shukla@amd.com; helo=SJ2PR03CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509371750154100 Content-Type: text/plain; charset="utf-8" Change kvm_get_apic_state() to accept APICCommonState pointer directly instead of DeviceState, eliminating the need for APIC_COMMON() cast inside the function. The caller (kvm_get_apic) now performs the cast once, making the code cleaner and preparing for extended APIC state handling. No functional change intended. Signed-off-by: Manali Shukla --- hw/i386/kvm/apic.c | 3 +-- target/i386/kvm/kvm.c | 3 ++- target/i386/kvm/kvm_i386.h | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index c1866c3939..9489614bca 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -60,9 +60,8 @@ static void kvm_put_apic_state(APICCommonState *s, void *= regs) =20 } =20 -void kvm_get_apic_state(DeviceState *dev, void *kapic) +void kvm_get_apic_state(APICCommonState *s, void *kapic) { - APICCommonState *s =3D APIC_COMMON(dev); int i, v; =20 if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) { diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 369626f8c8..ea22aa7180 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -5012,10 +5012,11 @@ static int kvm_get_mp_state(X86CPU *cpu) =20 static int kvm_get_apic(X86CPU *cpu) { - DeviceState *apic =3D cpu->apic_state; + APICCommonState *apic; struct kvm_lapic_state kapic; int ret; =20 + apic =3D APIC_COMMON(cpu->apic_state); if (apic && kvm_irqchip_in_kernel()) { ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_LAPIC, &kapic); if (ret < 0) { diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index ecf21c2cc1..00f8ae0ee4 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -12,6 +12,7 @@ #define QEMU_KVM_I386_H =20 #include "system/kvm.h" +#include "hw/i386/apic_internal.h" =20 #define KVM_MAX_CPUID_ENTRIES 100 =20 @@ -56,7 +57,7 @@ bool kvm_has_adjust_clock_stable(void); bool kvm_has_exception_payload(void); void kvm_synchronize_all_tsc(void); =20 -void kvm_get_apic_state(DeviceState *d, void *kapic); +void kvm_get_apic_state(APICCommonState *s, void *kapic); void kvm_put_apicbase(X86CPU *cpu, uint64_t value); =20 bool kvm_has_x2apic_api(void); --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509448; cv=pass; d=zohomail.com; s=zohoarc; b=kSVdz9frIO7XH29EYRpAjb4xXszr500/0KGwlgDlUguoiNvp7FQNfyJwaQVdb6BrP6A5lXw6sYpJ+RN7cGNJu+ujt1BzkUdSoMkrPEUx+Bv3wBWh7+G1OUXN+j+EQNz/eSueDA7XolU2vvk+oMoTK9BHJiBcbEo3ovB/PRpx67M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509448; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2vvAlf8lDT64NokkIQI2gd6YP9174YisyjyktyfOdMM=; b=W5Vu23E9T7kXrtsRBZ1fqy7OHgaRao9Jgrql/o4QR3pWZ2nKIqSiWpHcGhzq7/XJ4u7Y5B9RSnuG2a1P6o3TkGom6S9OT5JZL2dnpEpOqmXMYR6CHAEVsodvmvrpfkWrP3v27GREBVpLhCJo2tIUhuSP4XPVKBHb8clV33T3R28= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509448471475.6927740456846; Thu, 19 Feb 2026 05:57:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VM-0007Qe-K1; Thu, 19 Feb 2026 08:55:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswp7-0006LV-Mv for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:38 -0500 Received: from mail-centralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c111::5] helo=DM1PR04CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswp5-0007hy-Qf for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:37 -0500 Received: from SJ0PR13CA0002.namprd13.prod.outlook.com (2603:10b6:a03:2c0::7) by LV5PR12MB9777.namprd12.prod.outlook.com (2603:10b6:408:2b7::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 05:43:31 +0000 Received: from SJ1PEPF00001CDC.namprd05.prod.outlook.com (2603:10b6:a03:2c0:cafe::42) by SJ0PR13CA0002.outlook.office365.com (2603:10b6:a03:2c0::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu, 19 Feb 2026 05:43:30 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDC.mail.protection.outlook.com (10.167.242.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:30 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:25 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SOXiLBDxKeGKkluSoaKyjCOOtBoxEu2JarRCqQ3fqHYbQyFXm6kUsiTCx9JiIWedob2zxVc6oobmNOlzloWKy50RVsu+EHCC9jzzC9QD8+S/qdbovfff7SS+F0FjbM4lAJb0lWii3v0otR9Gkvwu7yCMIXghEhKYN3K6E6z7qF0FzeIIZQ6zjRwQVsCu9K0MO5685ZaN9FRY5sjg5TTpOzO9YErJixi09jLv8EfqwGq8OhrLhI3664U1ChwiIhOba36aeRtrzTbk1i9pGKcdcxvRuEX76XG5lYzo4QmD6fq/UdOeUB7kOfg4N4DyxAtfdA5ThXzRBy9K3KHsYLTOwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=2vvAlf8lDT64NokkIQI2gd6YP9174YisyjyktyfOdMM=; b=ERctthKmbnwuZwbtSaDz1uxUJR15HuvS3296poP9Ht6iL2Ohr+iYwdANFIZwsPQoUSxpJ+liQvrKB1OHz3TAfIKfGJJGOsqCm+NZAcHUM++TjATYupP4GwdJH1jhc6E5PmK5HcX1VXrr6j592MLyiWGaSl4ftbxbPlyhWxgcDZl3DBL8hdKqBBRgopvKuAQyxwp0opZUc/+fYWSxRtL2of0CHhJVLdOzq3Vo6gIsUT0FzHBNxatpiC1fgq1fznt8s8XukcXVn4dX3fj1vSYsILrfXP6hzERgW4oiF9BfjWKpnzLqH2mGYbz0kkdyGbMQKHt3dVzjT2hJkaQW0RqwAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2vvAlf8lDT64NokkIQI2gd6YP9174YisyjyktyfOdMM=; b=CUTvPnmgHBjZPYwDpWMXpMM4IrzC/5a0CDMBzldGmtMp+UwrfmCNOKP1TewNHms+QiGiGjHaiB04XFKYul8oUx35h0xRIUssKFHr81r/g7dapcP/sn2mefTTKyc/W++loYcURQ3XPXxj7kR1ICeLCyS7vyicBz4YVfkmUr8mjpE= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 3/8] i386/apic: Add extended APIC helper functions Date: Thu, 19 Feb 2026 05:42:02 +0000 Message-ID: <20260219054207.471303-4-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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDC:EE_|LV5PR12MB9777:EE_ X-MS-Office365-Filtering-Correlation-Id: abef04d8-e07b-4a4d-14a1-08de6f79cfcf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|82310400026|36860700013|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?/rOfIq6ds6cfoNfy9M4KgUw8qKpVO9y3TFRjF8iWxzZETuI03e2tMqj/LAJg?= =?us-ascii?Q?ZtD1vzhXtrImNR3Cg0Ro7CQXxnIMPiYK4rZYpDwVPBL/+D+qKUMM/0w6ipZ6?= =?us-ascii?Q?r+by4UdcAGIcu+NUk3/nWajtH6XEcYMpJldtHciXV1LJfpqe2TujcZ0rrQ2B?= =?us-ascii?Q?4VO9Iei05xDR6s+cvnqx7T9cpQe1bkGqBrQeRDidHCIeqjuWDxkL5r4V5/Pj?= =?us-ascii?Q?AFwIRwqplmMM1WZcU9pCfbE8R7VePVpX3dd+UIeZBBrSlRBSojhiUoLisBnD?= =?us-ascii?Q?UUlT8smmNhH4+/26MnvqoO2sVPtXFojP8yjRgF19eWNGpifgSS0+OkPpkeJt?= =?us-ascii?Q?JJ6ECNL5Xhb9JsySoEVFWv/JrA1rHpGuaVHmq76NZjebnT7voNNp0RBTzBd7?= =?us-ascii?Q?BBrnmyZ1pBxxC2jYsMbJjiZHuTKx7T1wFXwh0/9Yil7YZudOcgjudPnAMJj9?= =?us-ascii?Q?U9Dh0zF/nYaLzltf+M59XimQv3vRbJFkY+M32gWU45YP0irU05xp6R2FYcgS?= =?us-ascii?Q?H9xXAKsAI9hk+KmHusQrjMU3Cy0m6jMQ6jv7pc3IEf3kFAHJD3GVr0cyZNRk?= =?us-ascii?Q?XoK1B+TlaKVuS8taTPqxfwtandpBDrfclv+bIGz5r6/+bmEw4Z/DrevGdHnb?= =?us-ascii?Q?BPiJqhtthGPk/oZWybCS7iqGXSjpzcxM5HR2U8yTUeqpg8g2svfxCuedqFoy?= =?us-ascii?Q?esTE75p1iKx19d3KzPjKgyKYLszeJ8eyAzrtySHGzJphZSFeS+Nzyq6hYCpm?= =?us-ascii?Q?obwm5XeEXVP9FVgDTIoETGMFMfrWr3SGhdbiZu4n+Po3Ljf0I7xGknYftpDG?= =?us-ascii?Q?bT3BjzP6+QL1Xeja2UXjcjQlMyshWfuhgbgRwvOiaj9O/uxhtNTd1DKsrHhW?= =?us-ascii?Q?Cthghe2dK87nAa9WhQGc+TeEGbv4w3xyUfduN6Y1YTKPEiJK/ye85cy554P4?= =?us-ascii?Q?CQ1In2hHRqqlne5w/yMTRgyS2ZcrnMaDQxZS9eKUPJA1s4VQhRRKx0bwWbH1?= =?us-ascii?Q?zMeOwjG3jiEnEBntu7m5AtIrtAsHHcMdDvGCfxyf/qPmvdBLLfSyCZSgjbts?= =?us-ascii?Q?0wdn9TxXIg7iId7UyMFIChf6P5Hv1MJkIlFRl53pHMeW1GIQ7V0LbLBVnhUs?= =?us-ascii?Q?exdi+qeU7TybZKuTfa2tJ/tmM3YT2kcr4H+70ZvcJttjzZe8Y3k8i7qP1NWG?= =?us-ascii?Q?/FmEJVNFRL+uHTHJSUln2x6NypXPfmGrd2MblATRiOfoD/644U7IVyj1824p?= =?us-ascii?Q?Ck1cvp762HG66qY1QPnt7+kQr2YE8cQQN5ALCBqCGBTcFhDJJB+JWtspGfKA?= =?us-ascii?Q?x3m0381nSDhBhl+QB2O2jiMgAhTSm2h318jxtcu4JunCugV+Xg47pBqldb8W?= =?us-ascii?Q?BvaAxxX0po1I92LlzLHJm1k95G9qZpJDP7UrUmZ6s4eUrRPG9uY8qqEQz0v0?= =?us-ascii?Q?zn0hX/39bB66jDPOc2Un7A/IImjUmuPckGaLnDzlFYpqyDtdXnoQi1yYvlWf?= =?us-ascii?Q?5YQJlcd9zjlBm8cISXEVGFcqOyv5pjXfmtul+6+m74O/AlkDNZCZP894eWZP?= =?us-ascii?Q?R+OY8lfapaO0fP4TeVEcDbDxD+yrYx9xG24mwFRKRJZulkS79r64s/CF8CBb?= =?us-ascii?Q?1FXWK4gb0HtccTi2pdQH/vYdGlvbiBxM+4WTv54dYAUp7qafa1vDTmnfyI33?= =?us-ascii?Q?tOCNgg=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(82310400026)(36860700013)(376014)(7416014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: YNA+ABwMc43WrE05r0DFmbW1lxyyj7E4JLUDjFaB1iJ2e0i5fgAuW9Oo0nApJCZOytjMKW/1GvAO0M+kSf6bLwqK0Z96rWT20Emc+MN4XAHmI5wxXatp3syuY+m1aInQWq1AgPqWU7Pj6Ql6L/ZADaGuq0VTKuVim5TtvhNF3KnlpDBza8bRoKmMwMz5d8UwACx75Hr8Mqeqhf9IF3wyxw3FkV1yq4l/W60dfKyFEiahfvUo8emvkPiMN98gQDD5mCZim9/s/0kCnGzNQwpxARXBG7/aCfPqPvJ9n9UqU7YLrjFjHfrG+KPDQZYHMcxeR4rOfLVUN5oUdDZ+dZerILyp3WdY45N/+IJ6Zxh+wM1nvQzC9j8R+YK98RsLf/aEfMpQPvU44jOZ+LaeLJx1UZ4JKJkI+6ucVkbI0KVWR94a4tdYuzMfd/HFor5hSyce X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 05:43:30.0114 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: abef04d8-e07b-4a4d-14a1-08de6f79cfcf X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV5PR12MB9777 Received-SPF: permerror client-ip=2a01:111:f403:c111::5; envelope-from=Manali.Shukla@amd.com; helo=DM1PR04CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509450565154100 Content-Type: text/plain; charset="utf-8" Add arch_has_extapic() helper function to check if a CPU supports AMD's extended APIC feature. This will be used in subsequent patches to conditionally enable extended APIC register handling. Signed-off-by: Manali Shukla --- include/hw/i386/apic_internal.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_interna= l.h index 429278da61..865b7ed567 100644 --- a/include/hw/i386/apic_internal.h +++ b/include/hw/i386/apic_internal.h @@ -212,6 +212,13 @@ void vapic_report_tpr_access(DeviceState *dev, CPUStat= e *cpu, target_ulong ip, int apic_get_ppr(APICCommonState *s); uint32_t apic_get_current_count(APICCommonState *s); =20 +static inline bool arch_has_extapic(X86CPU *cpu) +{ + CPUX86State *env =3D &cpu->env; + + return !!(env->features[FEAT_8000_0001_ECX] & CPUID_EXT3_EXTAPIC); +} + static inline void apic_set_bit(uint32_t *tab, int index) { int i, mask; --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509366; cv=pass; d=zohomail.com; s=zohoarc; b=izWtuf7cNc1zZSKxmGaLITEGCQYgbX2ua4AvZ8jnMMERVDgITrt0qM7U/2BxyXszmPBN9wQFcG2aazA9OUsI+RxSHQpjMsw6U5frT2bqf+u2oGw0JYRWOQAvCbqKgmWK+xkHO75gpB9cAPtEbXnipDHQwBIDD41C9szBGYpotgo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509366; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=H26O9oOQbFO4kCaf/400R1csmdkmHx2ST0gLcTC+ilE=; b=nXsf4Mgvy1Mm+gn25noSm56uDuRzStdNrgM5Gg/hq6GxzV2hwETBUjTlMaG0RFzfV/9AmIkkiAuezK/B5hNHbRSBGYBCUYrrrCv+q7XuTDSCdX4aZUu5m4AJiV7RNZ2RkXevgdXUiJUHeazIItjdV+Ag9V/2Tu/4ZdNRWApbniQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509366361117.49059003959701; Thu, 19 Feb 2026 05:56:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VL-0007Pz-AR; Thu, 19 Feb 2026 08:55:43 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpB-0006Ll-J8 for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:41 -0500 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswp8-0007iK-Mb for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:41 -0500 Received: from SJ0PR13CA0112.namprd13.prod.outlook.com (2603:10b6:a03:2c5::27) by SN7PR12MB7980.namprd12.prod.outlook.com (2603:10b6:806:341::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 05:43:33 +0000 Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com (2603:10b6:a03:2c5:cafe::29) by SJ0PR13CA0112.outlook.office365.com (2603:10b6:a03:2c5::27) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu, 19 Feb 2026 05:43:33 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:33 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:29 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; 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; s=arcselector10001; 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; bh=H26O9oOQbFO4kCaf/400R1csmdkmHx2ST0gLcTC+ilE=; 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 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H26O9oOQbFO4kCaf/400R1csmdkmHx2ST0gLcTC+ilE=; 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) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , 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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (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; ARA:13230040|36860700013|376014|7416014|1800799024|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?kLe+pUJi/o8VvMdbR/5+A9KDtfLV8foAEEpv3PLhsJhMh8s6f2uRoETJCu0e?= =?us-ascii?Q?FuseKKo0tfGD3HFxEl1XNEwh9o46YGR+4tMsqy358PXDXf/lOk41j1JuNbmD?= =?us-ascii?Q?ZM1KFdeRArvdIIiVvMZJEidEhalmZApfsTAVYVt6ajBJ15fbqSZo/g5HiYht?= =?us-ascii?Q?D5YUtDmvipMeIhw3AI4nKOc/WtMkdOCwn1DEtuL/191Xs6l5H8ge3epkDWF+?= =?us-ascii?Q?7sZJ5Nr3PTPuvPBTuqleMl/aI473PEZkgFCW54dICQcmyBPxBV/VFxmMakv9?= =?us-ascii?Q?BK3KJvATX+cZGGDaHRQAU6mmoSrGAH3i9Ri1WQHaPWQm8moMiucQ2Ak1XdQb?= =?us-ascii?Q?UOLRNeIvbzkdER7m9EmFiqTAJreh0vSbJCiH72GVeUc+V0MNlFnNGvJIceGs?= =?us-ascii?Q?H6tPClEoBO/i06txuJpD+jMqgLsHoNOi+uJNQnS0j43/St8mGQ+nOjqMEoVS?= =?us-ascii?Q?79yE9n8ykLN0Vfi+f90UDe4A1QjvaZUyZqYmWi8R873wYU+ghyD0CxnGkwr0?= =?us-ascii?Q?1DiOgrYPJQcx59PzrQCcl9GRJ67TjvS4xu3yWOqbduJyhuaP2W++TrdbfomH?= =?us-ascii?Q?De57ARApdjolkTB23v1jE+rFjhdc/BWyLGJd4lPiEydGm+Ew8ng0aA4O4Fsl?= =?us-ascii?Q?mcYM+Jg+ShYYT+PRzyTcNF0C95M1CI+/MzHMenCD5nQ1pb3VXsQOX5Ln2yMw?= =?us-ascii?Q?e42bebvAizXFCCLDBUd1+wxJEL0bZaYcsi3SQz0BYrWjvEWfrrJdu1sSZLH0?= =?us-ascii?Q?iJN6viaqF8KQN7l3Gw2363wCh2fdcXlKdgz2jE/HweMAHCS97O00SIyqD2ku?= =?us-ascii?Q?lReN1lhWh3rH0nuCZTTx7Rz9CRn2LQGsNCDxOKg7Eft+56vCiSNdmN0rNutl?= =?us-ascii?Q?dDxFXcK4rVmrdYDEn72DeCj88zc+oxt/sNn7Te+8gq0MZIbWKWJ5ixCIuo0Y?= =?us-ascii?Q?4b+yXvNPC8wbHEVhmBFDgSqTZpllfKdiABLZfS+85msTEagGHQ63DQlDywt4?= =?us-ascii?Q?EIqv+OnEPQGD1PKsCRYFFBU+6ar2KY5s0GixnCZdaqf7OCtbPxu+FgbvfdQW?= =?us-ascii?Q?0UrfO123d/ZImESc2UBXdgr6xUgX+K/w8KbhHoNrcbpS3tqCVGkk/nNmVvpR?= =?us-ascii?Q?ebas+ETCJiILq2S8jqu9dWPXGp9Wly59lSFqrziqy6syE/57CIonavCvJbFV?= =?us-ascii?Q?mypawYNVyfwwVJUrilryHDfCbsyHiT/HQBf8LEzaXOFty7rYwD4/IQWw4r+3?= =?us-ascii?Q?qOQm5o5kmzqNOoaepqyM95LjWHnXVZ3rdKdoLnPAHkP8+C8m6uWNSg2GqtCQ?= =?us-ascii?Q?ALviFWBh9/Kyk98i2bPc/RP2NYwYH/z2Rh6uIDoPtgpQknazCEy3KLNIA7pt?= =?us-ascii?Q?EKXYz8qyzPfAYgTev1FKej7M0HqU/VhuJ/42EkIJupS2SnWxyKfKH+2UBbJT?= =?us-ascii?Q?66tYWbrryjBPHpZEc8e+MLlmUKhNoa4Csu8pHjVZ0JyFDbKcYv3jeNSALiA9?= =?us-ascii?Q?Y9E+gqQqBECYrGFyNcdOQr72S38oqGBBoCdnwcN4jY5zEVubR9OZI4Hf25vG?= =?us-ascii?Q?SAXrTdAiJzUFsqtsCbxnIr9fqdwCNe3Fvyl2S6U+4TL2+SVJSvSRK29OlT8l?= =?us-ascii?Q?a8T101qJhWTzmFUaKQpdTTA2FtgiHak/v5X6ahcOJMA54LvzA7BbZJ7IrKQU?= =?us-ascii?Q?mEo+YQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(376014)(7416014)(1800799024)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /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: 99b1f9a2-f1db-4120-99cf-08de6f79d209 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7980 Received-SPF: permerror client-ip=2a01:111:f403:c112::5; envelope-from=Manali.Shukla@amd.com; helo=CY7PR03CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509371097154100 Content-Type: text/plain; charset="utf-8" Add extended LAPIC state fields to APICCommonState to support AMD's extended APIC registers: - efeat: Extended Features register - ectrl: Extended Control register - extlvt: Array of extended interrupt LVT registers - nr_extlvt: Number of extended LVT entries These fields store the state of AMD's extended APIC registers which provide additional extended local interrupt vectors beyond the standard APIC LVT entries. Add kvm_initialize_extlvt() and kvm_uninitialize_extlvt() to manage the lifecycle of extended LVT registers. Dynamically allocate and free the array in APICCommonState based on nr_extlvt supported. Signed-off-by: Manali Shukla --- hw/i386/kvm/apic.c | 21 +++++++++++++++++++++ include/hw/i386/apic_internal.h | 4 ++++ target/i386/kvm/kvm_i386.h | 2 ++ 3 files changed, 27 insertions(+) diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index 9489614bca..7bec7909e9 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -135,6 +135,27 @@ static void kvm_apic_vapic_base_update(APICCommonState= *s) } } =20 +void kvm_initialize_extlvt(X86CPU *cpu, uint32_t nr_extlvt) +{ + APICCommonState *s; + s =3D APIC_COMMON(cpu->apic_state); + + s->nr_extlvt =3D nr_extlvt; + s->extlvt =3D g_malloc0(nr_extlvt * sizeof(uint32_t)); +} + +void kvm_uninitialize_extlvt(X86CPU *cpu) +{ + APICCommonState *s; + s =3D APIC_COMMON(cpu->apic_state); + + if (s->extlvt) { + g_free(s->extlvt); + s->extlvt =3D NULL; + s->nr_extlvt =3D 0; + } +} + static void kvm_apic_put(CPUState *cs, run_on_cpu_data data) { APICCommonState *s =3D data.host_ptr; diff --git a/include/hw/i386/apic_internal.h b/include/hw/i386/apic_interna= l.h index 865b7ed567..e84cbed7f6 100644 --- a/include/hw/i386/apic_internal.h +++ b/include/hw/i386/apic_internal.h @@ -174,7 +174,11 @@ struct APICCommonState { uint32_t lvt[APIC_LVT_NB]; uint32_t esr; /* error register */ uint32_t icr[2]; + uint32_t efeat; + uint32_t ectrl; + uint32_t *extlvt; =20 + uint32_t nr_extlvt; uint32_t divide_conf; int count_shift; uint32_t initial_count; diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index 00f8ae0ee4..338433eb52 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -73,6 +73,8 @@ struct kvm_cpuid_entry2 *cpuid_find_entry(struct kvm_cpui= d2 *cpuid, uint32_t cpuid_entry_get_reg(struct kvm_cpuid_entry2 *entry, int reg); uint32_t kvm_x86_build_cpuid(CPUX86State *env, struct kvm_cpuid_entry2 *en= tries, uint32_t cpuid_i); +void kvm_initialize_extlvt(X86CPU *cpu, uint32_t nr_extlvt); +void kvm_uninitialize_extlvt(X86CPU *cpu); #endif /* CONFIG_KVM */ =20 void kvm_pc_setup_irq_routing(bool pci_enabled); --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509454; cv=pass; d=zohomail.com; s=zohoarc; b=ejALs8QQaLgGGoo079SSzBIc6qvvcOMsXnCWj8OUIr3zVHPwlRGDRz0eTsYrw3h2FqJY95nuCMTuAMYvelgRymDeFtFDzCN9Q9SBZzDA/URzvUGzqc4q2YR4l5W5d2MMMXQXzZkUSZ7QRoZVZkNQPtw5CKXBrpr9aWxp+9Tps8A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509454; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bVaeOsMTf2qFffutIlkHnH6jX3KJxkPdN0qcWyPMKIQ=; b=Q6kR6SLlVMWeQXkfQvU2jndpYEd7/DNJvW0s70C5+7MLu66cKhBZqDNFNpSTCtitHDTy7/b10hZh34+lfiDSOJPRwf8x4wXxulnUiPw2/3QWVY8D16HlShsUHWnxzb6Syh8yBRO/1l1LQl5QUzt4hC1zg4375d9/PoUR0nmrp/U= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509454924404.43324828816685; Thu, 19 Feb 2026 05:57:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VO-0007RX-Gu; Thu, 19 Feb 2026 08:55:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpF-0006MJ-8H for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:45 -0500 Received: from mail-westusazlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpD-0007jK-Hd for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:44 -0500 Received: from SJ0PR13CA0002.namprd13.prod.outlook.com (2603:10b6:a03:2c0::7) by BN3PR12MB9593.namprd12.prod.outlook.com (2603:10b6:408:2cb::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 05:43:38 +0000 Received: from SJ1PEPF00001CDC.namprd05.prod.outlook.com (2603:10b6:a03:2c0:cafe::bc) by SJ0PR13CA0002.outlook.office365.com (2603:10b6:a03:2c0::7) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu, 19 Feb 2026 05:43:37 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDC.mail.protection.outlook.com (10.167.242.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:37 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:33 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; 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; s=arcselector10001; 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; bh=bVaeOsMTf2qFffutIlkHnH6jX3KJxkPdN0qcWyPMKIQ=; 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 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bVaeOsMTf2qFffutIlkHnH6jX3KJxkPdN0qcWyPMKIQ=; b=HutOtLXZJJhNQ/dkVt7o8OiXz/ykz+nx5GKL9uf0BXZYGGtJyQxZ0DAD63w/mZWcLOvmoPOJQ/94GjmNh6KMxE6xDy9jwPthnLZ2ChryAApKylryG2rlrqMIotLBzHixmd9I6Mn+CfJ8dTDY/JH5IjVRFGktpZBQIPtTYg2oX5g= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , 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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (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; ARA:13230040|36860700013|82310400026|7416014|376014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?wAVn2Q75vuEB3PfmhLT1E0Gw07ps85Dy0cor4/br+gM9GWEl0WZVzbM54QY/?= =?us-ascii?Q?UbjL9AR1nC/tK6l4IdtfexUBXweBoe2YVJ+9S/55fLcfC8zEGe8o8LTg/UuK?= =?us-ascii?Q?BWxbTMxYTBtDkRrasl+IK3eRyZ/J5LDfwZv70jqgT3zFE22PdaS1OgTDfMKY?= =?us-ascii?Q?us8mpbIW4qbmflLTAAhNNCQMS6yzOXMljh9PTcu8+kex07bf+X2ajPCA8aMl?= =?us-ascii?Q?ESMgvr+APjzBWLqHzHbsnqA68vtDOxeSYTl28F4lYG9jzvS2kchorp+9YQCi?= =?us-ascii?Q?Zo9Fy5CV1/0wWGQAhwlxVm+u8xZF4xq2sOlEglwO5HBq1cBMXDR7gCo3bA8c?= =?us-ascii?Q?3pZ1q4H/e+BquuFikhZlmr/R+U20pdLYY0N3c9JfutvWuaL6LfZjeo++Oyex?= =?us-ascii?Q?xYxqmHMNTs6uReRBhAK/qliQ35RXozEkJrC6zkuZbYHDiHBq0+G+G1HM9B9M?= =?us-ascii?Q?CuZE+Mk1xw9s1q/gS6eIYLtdHkone2nv/JTcsqpSIJdcQ07UbdXdYzUtRoyu?= =?us-ascii?Q?4NnJNGijFDenbhoFX1Ck+qDGb0DEmJvumAE1wpk7O3bZfU14dQLxfTpzxoWU?= =?us-ascii?Q?f6aA8aveXXgxXhSWlr1NGk3X/nJcwNyr9fD4Ddd1LoM1k6qc0t5XHI3Toi41?= =?us-ascii?Q?99wYL7sfXE96KanO+IpfBxX9M7Gzutq9CagB/GS3wJj8HLmKXL1DfMVcrOHE?= =?us-ascii?Q?kSw3YryuAzjPe4Manj15Ch6uEGE3xf0vMa7Csxo0sGkPVw8YevjyWFEJliiI?= =?us-ascii?Q?8jL0PzhjphP+diCjmEOoVcDE4oFAuP2THg5dsaQmMSTbbFM4aL+sSnQizn3P?= =?us-ascii?Q?f+mdr+hTsAXcUen843F6br2PnAtkapxt+zZ5fzs+aCMTY8m51rdZPHdmDAHd?= =?us-ascii?Q?VX1VgpN0nWmn3RPxSwFenjq6LaWUeOh0MRCp+tVM/kmBK9EJk0S+WByzl5pX?= =?us-ascii?Q?9vcKNE6P31FJG6sF+lJNRfENg4s1ATIBAonxuz08CwAVoJ6glbbuk7Ig/yUD?= =?us-ascii?Q?a0NCJQS24+5+z54XBu9INA8KKJeWrUtzEetkGMqfujzbKU0JERHzqqixjV46?= =?us-ascii?Q?gXImgCGK9SSXqT/5K+e32gdAIUaDWbfIbTEgaKD7Mgtssbql9U0aOMNKjLYl?= =?us-ascii?Q?EcZ2bQVMwPmuyEcOb4wvOKH11/7Hm0jNCwxGEvZs+E8/n0qB2nQe7eLvVsOX?= =?us-ascii?Q?OTwSLd0xWTLqCv9mW2QpT00MMb6o1/nNAMQudegrpMTV2NSaTluS+aISbVCx?= =?us-ascii?Q?1r0+bARpQ3GIG5WdNVt/Bzf49W+jWlSWju/52cZxMSmO/uPYycgL2hDhtgHd?= =?us-ascii?Q?T8PMQd5RlxBJl8/dPmU1pPKrLZMmEYpUbhdHaz/FypRm8mHCnQLib/+jT/zF?= =?us-ascii?Q?Q2+mlT1M8OCnxzRvQXXiAdtq7v9riFaMd2rPFBHBURg3QVrNWYIHtlVAhWwn?= =?us-ascii?Q?wuCBCel63hPj02z+sA+b/8UUDGOLB1XJJXoteEdEtnyamlmNyfFoDDPW2QZi?= =?us-ascii?Q?y8iJyeoDV+P79rT6mB48Qgxrc7cH7CjuexjSWffb0/sIwc8WJEeEtBGCUfEB?= =?us-ascii?Q?+qnnPbCwbdHGgAx1T7lJNKK1G0y1fcKJMF+01KaziJz2hon8+zY2MUuvKADE?= =?us-ascii?Q?iGMBRAUqmUScca3d9UyqVTH/G7pfRAfFVmdC2F6AtzajufUEOOCf2+0gc7/a?= =?us-ascii?Q?nF9DWw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(36860700013)(82310400026)(7416014)(376014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 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: 2c23b9ed-5e0b-48f9-7394-08de6f79d44a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR12MB9593 Received-SPF: permerror client-ip=2a01:111:f403:c001::2; envelope-from=Manali.Shukla@amd.com; helo=SJ2PR03CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509456678154100 Content-Type: text/plain; charset="utf-8" Negotiate KVM_CAP_LAPIC2 during vCPU pre-creation. Enable KVM_LAPIC2_DEFAULT for the 4KB APIC page. If the CPU has ExtApicSpace (arch_has_extapic()), also enable KVM_LAPIC2_AMD_DEFAULT and use the intersection of what host and guest support. Use a VM-wide has_lapic2 flag so the capability is enabled once on the first vCPU and reused for the rest. When extended APIC is supported on both host and guest, set has_extapic for use when syncing extended APIC registers with KVM. Allocate extended LVT state in kvm_initialize_extlvt() during pre-creation and free it in kvm_uninitialize_extlvt() on vCPU destroy. Suggested-by: Naveen N Rao (AMD) Signed-off-by: Manali Shukla --- target/i386/kvm/kvm.c | 61 +++++++++++++++++++++++++++++++++++++- target/i386/kvm/kvm_i386.h | 2 ++ 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index ea22aa7180..c9f4cb6430 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -177,6 +177,8 @@ static int has_exception_payload; static int has_triple_fault_event; =20 static bool has_msr_mcg_ext_ctl; +static bool has_lapic2; +static bool has_extapic; =20 static struct kvm_cpuid2 *cpuid_cache; static struct kvm_cpuid2 *hv_cpuid_cache; @@ -2064,13 +2066,69 @@ full: abort(); } =20 +bool kvm_has_lapic2(void) +{ + return has_lapic2; +} + +bool kvm_has_extapic(void) +{ + return has_extapic; +} + +static int kvm_enable_extapic(X86CPU *cpu) +{ + KVMState *s =3D KVM_STATE(current_accel()); + uint64_t kvm_cap, vm_cap, final_cap; + uint8_t nr_extlvt =3D 0; + int ret; + + if (!s) { + error_report("KVM accelerator is not available"); + return -ENODEV; + } + + if (!has_lapic2) { + kvm_cap =3D kvm_check_extension(s, KVM_CAP_LAPIC2); + if (!kvm_cap) { + return 0; + } + + vm_cap =3D KVM_LAPIC2_DEFAULT; + if (arch_has_extapic(cpu)) { + vm_cap |=3D KVM_LAPIC2_AMD_DEFAULT; + } + + final_cap =3D kvm_cap & vm_cap; + ret =3D kvm_vm_enable_cap(s, KVM_CAP_LAPIC2, 0, final_cap); + + if (ret < 0) { + error_report("kvm: Failed to enable EXTAPIC"); + return -ENOTSUP; + } + + has_lapic2 =3D true; + if (final_cap & KVM_LAPIC2_AMD_DEFAULT) { + nr_extlvt =3D KVM_X86_NR_EXTLVT_DEFAULT; + has_extapic =3D true; + } + } + + if (nr_extlvt > 0) { + kvm_initialize_extlvt(cpu, nr_extlvt); + } + return 0; +} + int kvm_arch_pre_create_vcpu(CPUState *cpu, Error **errp) { if (is_tdx_vm()) { return tdx_pre_create_vcpu(cpu, errp); } =20 - return 0; + X86CPU *cs =3D X86_CPU(cpu); + + return kvm_enable_extapic(cs); } =20 int kvm_arch_init_vcpu(CPUState *cs) @@ -2399,6 +2457,7 @@ int kvm_arch_destroy_vcpu(CPUState *cs) g_free(env->nested_state); env->nested_state =3D NULL; =20 + kvm_uninitialize_extlvt(cpu); qemu_del_vm_change_state_handler(cpu->vmsentry); =20 return 0; diff --git a/target/i386/kvm/kvm_i386.h b/target/i386/kvm/kvm_i386.h index 338433eb52..b28fed69d8 100644 --- a/target/i386/kvm/kvm_i386.h +++ b/target/i386/kvm/kvm_i386.h @@ -25,6 +25,8 @@ (kvm_irqchip_in_kernel() && !kvm_irqchip_is_split()) =20 bool kvm_has_smm(void); +bool kvm_has_extapic(void); +bool kvm_has_lapic2(void); bool kvm_enable_x2apic(void); bool kvm_hv_vpindex_settable(void); bool kvm_enable_hypercall(uint64_t enable_mask); --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509366; cv=pass; d=zohomail.com; s=zohoarc; b=FjNXmY0KnRtV7JztncrnZlii/wULOJWftqZuYGF/+XL6UcfX9bYcW2SVKcZmfRCsl9tGOBtLpj4C/i1ZvEj/c2HX5diDF+3yMGZUBE00zFQKbSRxOHvbizICVjvEku7b1M6llAXxNz4CPpx5i6PVNKaBrELtb/UJtsZ9+NfO9os= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509366; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Col43SzJeNwKuNZ6EMFerTnHD5qjf0AvUpZrXsGDfmk=; b=bW9QsT8Q2lYWP/ZHMtqYo9wq9UvJ9hwpfi9uNsJ/+a1j1S5skm2IoqYnPvhO5PYpAntM4kEKSVdTTKrc3hwi6tMjdSiZPHmMToPr8cfYce2KBzJuChWmaAH1/zWK3gIlH4fTHBwvmIdiLnrRbJCcVhY9cAGrwQUdzEHGKN4c4vA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509366628871.575517923532; Thu, 19 Feb 2026 05:56:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VS-0007Si-2Q; Thu, 19 Feb 2026 08:55:50 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpJ-0006NB-Ey for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:49 -0500 Received: from mail-eastusazlp17011000f.outbound.protection.outlook.com ([2a01:111:f403:c100::f] helo=BL2PR02CU003.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpG-0007n1-KS for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:49 -0500 Received: from BY5PR03CA0005.namprd03.prod.outlook.com (2603:10b6:a03:1e0::15) by LV2PR12MB5919.namprd12.prod.outlook.com (2603:10b6:408:173::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.13; Thu, 19 Feb 2026 05:43:41 +0000 Received: from SJ1PEPF00001CDE.namprd05.prod.outlook.com (2603:10b6:a03:1e0:cafe::81) by BY5PR03CA0005.outlook.office365.com (2603:10b6:a03:1e0::15) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.14 via Frontend Transport; Thu, 19 Feb 2026 05:43:40 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDE.mail.protection.outlook.com (10.167.242.6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:40 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:37 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lsqh6jDo8HbpV1qpnElYxuQYDvkhmg0JZhC63T54fEXvof4SdZNr+dpUAJudYKrDy3M6VZ5dN5DEarwephK4QLumv1ot6/eVLxxuvf6x3FVUeJUkT/dlgvjx+iA/W8ydXiv2m0rkc2HQuFBNIRjZLQdb/9qzf/hygH/kDsRNt1DFkS5qDdbR6PR+TPELzR06WdPBIjKObnlANwcN9zeY77JzfItNaZVAfXYhNo7PdIhWHVVh5VjBe2sY7fTAyxDyrXi0RiuFyI8vfmeC43W0aVg2QhlTzQns+LZEPlBxrjX6nBjLOIsiWBVJQs0gv0pV+QJTxslcJbCeRbuOG1VXMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=Col43SzJeNwKuNZ6EMFerTnHD5qjf0AvUpZrXsGDfmk=; b=C+sTw3A6KbW+7+14EEMxMyHTZablvWmC6gFSM5AJEO79igZ3XCtOHfHxm7v0fs1ieW9Gn0XaenJVs8bOx5wZ7E3Ydf4mziyImBRk8/ON/uZ+nYrrHU49Vh+BnwLHXy157mXlrkfWk9zUzk8iQrt1SG2fONlyHOUGfqj7TU2Xu/el3hoDDN/6u4uD2fpzGL9BAHUnxdHV8Swi4YGT3OiRCGUAaoqGkzMuVls7AUFuxG75A/MLjeFThR5UKs+5v+7H1iSaYY+TyPJ9B/oJ+NHB3S07qIyanHIH9dZtwfeQwCBS952MaEQTvrcv/1CkMz+QUfz3qOVrF27nrGYHCkwoog== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Col43SzJeNwKuNZ6EMFerTnHD5qjf0AvUpZrXsGDfmk=; b=Y2X8kkl2oGKOsRRyw7SbX1gwYqYWNdtbu1pVkfAyZEjf9EI3Ke8kFyCNfWIc/N2ugmVQ6jah9nbMIm+6OHatnq64+aXzFm1d806w6u3J62f2afmMSbJlNCoweFuJaOEJBo4L7CFzogpSER7cDkJsnaKwSv9vrBPDQKqI5TlHObc= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 6/8] i386/kvm: Add KVM_GET/SET_LAPIC2 support for extended APIC state Date: Thu, 19 Feb 2026 05:42:05 +0000 Message-ID: <20260219054207.471303-7-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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDE:EE_|LV2PR12MB5919:EE_ X-MS-Office365-Filtering-Correlation-Id: 9c3e571d-c970-4073-7456-08de6f79d63b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|82310400026|36860700013|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?cmhgCUAEQ+PC8dRl9AhloeFmjPegeGYFWjljE6d/+saNCQ/bLzTf9MrV143c?= =?us-ascii?Q?m6Gz8/gMx6dAfFL1gAw6It7S3/1g16S4ia5xoxmOq+lWCu0C2fwqZwTodnb5?= =?us-ascii?Q?Ip6xHDyyoSyMO5CnrrR2R3Av1tI4g1PGNwEb416d6qLzc1A2xkqJmUO+6gTO?= =?us-ascii?Q?E22xEjWKbQTVvXJOoyl6M0nwX2IPqVu+7QIJwW8s2jLwaT34oee7BS4KPwij?= =?us-ascii?Q?7i2wLHmebMei6AZs4cVioGMEY4XyfGPex7Fv80Z+M7MOQrGXXMZdFX+hK/RR?= =?us-ascii?Q?AXGsfOSAnYpBndTkZOwF465PzTogIA5LSaoplHwQiRbrjMen0d8HsezWYK9F?= =?us-ascii?Q?wW96oTAfBNvYSkliWYcEJ3NW3/W0wLGQqpW1RAbAXAxWWo/B6Q+fXskAgQXw?= =?us-ascii?Q?PMdLrxPREI81S+htYJZPXtRgIq5L07Fc/jTS9Rh7khFb3KC72i70MTe3US+O?= =?us-ascii?Q?vaHqEZkknedzzujuWDezfnLPBw+MUEK9D7kCiy30bov3nddLxESbRU5qMH0J?= =?us-ascii?Q?B6ZcNdMS01gyjRRjjFTh+aqpnYwfekNUPiIZhaZRhLhpJB/5N6Lj6gw3VyoX?= =?us-ascii?Q?aO4zX6MW9XcratB4i2Vub+e84lg2d0Xr3jcJ623inrY9YSYl/c+EeE3YAIPk?= =?us-ascii?Q?zy/OvPXrNOPPviqUeanWJHeZju0+mY/DNhutDFKMolvreWEbtsXl8GVCg256?= =?us-ascii?Q?7O+w+ZRuvuNn9lBTytwIsR0429ixzminlumBk9D9ZZXTHUsIhQElEfAV5TF7?= =?us-ascii?Q?cZQamsxpzHsTqbsquEAfmQflziR1oSRq9eMupA0CYB3/YhFLQ7XM0vhJOAKZ?= =?us-ascii?Q?NXXbbi0QJOSPjzEJ/JVq1+ZP4XzapPQQCKNZTGW0AIEvQRBccYSZI4iYKTME?= =?us-ascii?Q?fPBVfNb2JVtlfCMRXPnlWW2yhSxeWcitM4Il6pB/u2lhSoCC009eRoAHpLVP?= =?us-ascii?Q?uPt2r20fdGHJJb432OthNPw4CS0pKgj11OuanrFFEGxtOBfwwpK7cVaj4Gxb?= =?us-ascii?Q?k6drJtUQYbr9ZijiRJi99UEb9NY/qBFciS9pXSXf9jrYiUA3rAcpMbQxUZfW?= =?us-ascii?Q?7X3IkNCm8Qg5mpphGYQHphSJy9GfoqoPtQr5vHZ4JLyOsQc/eO9cXFqwweG4?= =?us-ascii?Q?pzsfpvAzHx3+5SeQWHd6/ENwmVzsv0fYRHlGIlOVuDL8qvW1g4zqigRMIZ+n?= =?us-ascii?Q?RHeKVhezGCKkVYB8khT1bC/sg3hMa6L3frLO3NJhLdeBsCF//jXrLCS0IqzU?= =?us-ascii?Q?IKP1wDAt58B8W+YIh8gZigJlTH3q23sc1vp0HWIGO2F91wxLF2ltL4kzezgL?= =?us-ascii?Q?qlYN3hX04A1YaezC4ExeC5lx3ozVALuSIAGOlwnyDRH1oKnCkrF9sntLtag0?= =?us-ascii?Q?k0c4QeSnGQYJ3wtiRN7W7rNVxpgRvtNHqVWzeHNbHpwBa+5QVvNdsItyxC3Y?= =?us-ascii?Q?nt/wOIb49oEZotpBUtvzfE5VCVQJurWG97wJdDNGte9DuLbK8a0Rla70YhE+?= =?us-ascii?Q?3kQ90QaJQSBykfuhzCOTv7VkHU///XFdwD+HB7GLY3nCCjN+uKS/YQ7SP9/m?= =?us-ascii?Q?YuJTtNPAs4RbtDE2Rfa06d23z9IKSDbZZ68WYoJwlOBC3TjKXrC9IsZ0SCDn?= =?us-ascii?Q?dJ/Uqhkia9e8anAfhfMkt+6CY1u5EUmTFg14JL7Cu+3f6A26FCFT/GMHN0YL?= =?us-ascii?Q?6hn0Ig=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(376014)(82310400026)(36860700013)(7416014)(1800799024); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oi7nEDHQF4eDvrtz6FUzZLWhhI1aDEonPtbzoPNHizUU+RCq+r6HYITRxeQiqeQWAGNf5nMZ5qwiLqeIXoixWZ8Bx8CfJeHTDqIQEf7MSO7A79iNIlj40SvMlzubwcB97hMr7LyHKJip/nIi4KyV0FJDoLd/iC7CfI0rVZauRp7IjSXEmiQUHTLObVbbEZ8Yhg3NluBYJKTMkOONsl5s4Ac6zXurLT1dwCXggXioqqWpe0yIJdGIRXcj7EeBRuybxNNAemuGe05ABU5n7uTAZd1sydz0U3sdtFQlQDw04RYc5vC2SeYSk5EuvvWIawCcmrXyykP4p5Ac4jexu1Vt4GloRB32Kakyb+jWStUSz97CxTuABPEBWPlXQUriQBDqK14BdHzB824A/c5bNZIJvJysXZwit1c2je5z1bH+HOd/7u5hEHMtbFkK/J1H63iE X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 05:43:40.8115 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9c3e571d-c970-4073-7456-08de6f79d63b X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDE.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5919 Received-SPF: permerror client-ip=2a01:111:f403:c100::f; envelope-from=Manali.Shukla@amd.com; helo=BL2PR02CU003.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 19 Feb 2026 08:55:35 -0500 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509369961158500 Content-Type: text/plain; charset="utf-8" Add support for KVM_GET_LAPIC2 and KVM_SET_LAPIC2 ioctls to synchronize extended APIC register state between QEMU and KVM. The extended ioctls operate on a 4KB APIC page (struct kvm_lapic_state2) instead of the legacy 1KB. (struct kvm_lapic_state). Use the extended ioctls when KVM_CAP_LAPIC2 is enabled (has_lapic2), otherwise fall back to the legacy KVM_GET/SET_LAPIC ioctls to maintain compatibility with older KVM versions or when extended APIC is not negotiated. When extended APIC is enabled (has_extapic) for AMD processors, synchronize the extended registers: - APIC_EFEAT (offset 0x400): Extended Features register - APIC_ECTRL (offset 0x410): Extended Control register - APIC_EILVTn (offset 0x500+): Extended interrupt LVT entries Currently on 4 extended interrupt LVT entries are supported but future processors may support more. Add kvm_apic_put2() and kvm_get_apic2() is added to mirror kvm_apic_put() and kvm_get_apic() for the extended ioctl path. Route kvm_apic_post_load() , kvm_apic_reset(), kvm_arch_get_registers() through the appropriate put/get function based on has_lapic2. Signed-off-by: Manali Shukla --- hw/i386/kvm/apic.c | 55 ++++++++++++++++++++++++++++++++++++++++--- target/i386/kvm/kvm.c | 24 ++++++++++++++++++- 2 files changed, 75 insertions(+), 4 deletions(-) diff --git a/hw/i386/kvm/apic.c b/hw/i386/kvm/apic.c index 7bec7909e9..f91af66116 100644 --- a/hw/i386/kvm/apic.c +++ b/hw/i386/kvm/apic.c @@ -33,7 +33,11 @@ static void kvm_put_apic_state(APICCommonState *s, void = *regs) { int i; =20 - memset(regs, 0, KVM_APIC_REG_SIZE); + if (kvm_has_lapic2()) { + memset(regs, 0, KVM_APIC_EXT_REG_SIZE); + } else { + memset(regs, 0, KVM_APIC_REG_SIZE); + } =20 if (kvm_has_x2apic_api() && s->apicbase & MSR_IA32_APICBASE_EXTD) { kvm_apic_set_reg(regs, 0x2, s->initial_apic_id); @@ -58,6 +62,13 @@ static void kvm_put_apic_state(APICCommonState *s, void = *regs) kvm_apic_set_reg(regs, 0x38, s->initial_count); kvm_apic_set_reg(regs, 0x3e, s->divide_conf); =20 + if (kvm_has_extapic()) { + kvm_apic_set_reg(regs, 0x40, s->efeat); + kvm_apic_set_reg(regs, 0x41, s->ectrl); + for (i =3D 0; i < s->nr_extlvt; i++) { + kvm_apic_set_reg(regs, 0x50 + i, s->extlvt[i]); + } + } } =20 void kvm_get_apic_state(APICCommonState *s, void *kapic) @@ -91,6 +102,15 @@ void kvm_get_apic_state(APICCommonState *s, void *kapic) v =3D (s->divide_conf & 3) | ((s->divide_conf >> 1) & 4); s->count_shift =3D (v + 1) & 7; =20 + if (kvm_has_extapic()) { + s->efeat =3D kvm_apic_get_reg(kapic, 0x40); + s->ectrl =3D kvm_apic_get_reg(kapic, 0x41); + + for (i =3D 0; i < s->nr_extlvt; i++) { + s->extlvt[i] =3D kvm_apic_get_reg(kapic, 0x50 + i); + } + } + s->initial_count_load_time =3D qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL); apic_next_timer(s, s->initial_count_load_time); } @@ -156,6 +176,27 @@ void kvm_uninitialize_extlvt(X86CPU *cpu) } } =20 +static void kvm_apic_put2(CPUState *cs, run_on_cpu_data data) +{ + APICCommonState *s =3D data.host_ptr; + struct kvm_lapic_state2 kapic2; + int ret; + + if (is_tdx_vm()) { + return; + } + + kvm_put_apicbase(s->cpu, s->apicbase); + kvm_put_apic_state(s, &kapic2); + + ret =3D kvm_vcpu_ioctl(CPU(s->cpu), KVM_SET_LAPIC2, &kapic2); + if (ret < 0) { + fprintf(stderr, "KVM_SET_LAPIC2 failed EXT: %s\n", + strerror(-ret)); + abort(); + } +} + static void kvm_apic_put(CPUState *cs, run_on_cpu_data data) { APICCommonState *s =3D data.host_ptr; @@ -178,7 +219,11 @@ static void kvm_apic_put(CPUState *cs, run_on_cpu_data= data) =20 static void kvm_apic_post_load(APICCommonState *s) { - run_on_cpu(CPU(s->cpu), kvm_apic_put, RUN_ON_CPU_HOST_PTR(s)); + if (kvm_has_lapic2()) { + run_on_cpu(CPU(s->cpu), kvm_apic_put2, RUN_ON_CPU_HOST_PTR(s)); + } else { + run_on_cpu(CPU(s->cpu), kvm_apic_put, RUN_ON_CPU_HOST_PTR(s)); + } } =20 static void do_inject_external_nmi(CPUState *cpu, run_on_cpu_data data) @@ -247,7 +292,11 @@ static void kvm_apic_reset(APICCommonState *s) /* Not used by KVM, which uses the CPU mp_state instead. */ s->wait_for_sipi =3D 0; =20 - run_on_cpu(CPU(s->cpu), kvm_apic_put, RUN_ON_CPU_HOST_PTR(s)); + if (kvm_has_lapic2()) { + run_on_cpu(CPU(s->cpu), kvm_apic_put2, RUN_ON_CPU_HOST_PTR(s)); + } else { + run_on_cpu(CPU(s->cpu), kvm_apic_put, RUN_ON_CPU_HOST_PTR(s)); + } } =20 static void kvm_apic_realize(DeviceState *dev, Error **errp) diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index c9f4cb6430..ad7a4c3c5c 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -5069,6 +5069,28 @@ static int kvm_get_mp_state(X86CPU *cpu) return 0; } =20 +static int kvm_get_apic2(X86CPU *cpu) +{ + APICCommonState *apic; + struct kvm_lapic_state2 kapic2; + int ret; + + apic =3D APIC_COMMON(cpu->apic_state); + + if (!apic || !kvm_irqchip_in_kernel()) { + return 0; + } + + ret =3D kvm_vcpu_ioctl(CPU(cpu), KVM_GET_LAPIC2, &kapic2); + + if (ret < 0) { + return ret; + } + + kvm_get_apic_state(apic, &kapic2); + return 0; +} + static int kvm_get_apic(X86CPU *cpu) { APICCommonState *apic; @@ -5476,7 +5498,7 @@ int kvm_arch_get_registers(CPUState *cs, Error **errp) error_setg_errno(errp, -ret, "Failed to get MSRs"); goto out; } - ret =3D kvm_get_apic(cpu); + ret =3D has_lapic2 ? kvm_get_apic2(cpu) : kvm_get_apic(cpu); if (ret < 0) { error_setg_errno(errp, -ret, "Failed to get APIC"); goto out; --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509454; cv=pass; d=zohomail.com; s=zohoarc; b=aRokL/F/GRBkS2/ufKlcCNmU/8Xw3ObE7y8biTrq5bwlI94UDfOX9GDmBEBy8TYit96IKi/x6CRY5cM5m+sqOaBzK1c0ukROHTNKVRNBnhEYSnDY/PHT4b38M5ucrjKqUFyyzjQntfPC6eieDKjFF4W29qrNNiXTa4XbZn1MtkI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509454; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DZEm9e4GVICj+l9f6e0apbmSyYBEM2DqI43+jVavfsA=; b=JdprThMmZXPWync+McxJ/iJJpp+aOE5wVZxQZ7jDeVxL4wneryYVjhxUSvhASEQ2HsmQLTTRteN9pZ8TcM1qL+lJwv6Mv0zawUK5rUGvqimF8VCd0pHfk3euAtZTmvyOAHTGPZZyHlY2lp/c3l77ycUdHbPfZOgap1JKDvYT4sU= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509454931995.4365240957151; Thu, 19 Feb 2026 05:57:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4VO-0007RT-8b; Thu, 19 Feb 2026 08:55:46 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpN-0006Nx-JB for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:53 -0500 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpL-0007uG-UR for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:53 -0500 Received: from SJ0PR13CA0110.namprd13.prod.outlook.com (2603:10b6:a03:2c5::25) by MN2PR12MB4488.namprd12.prod.outlook.com (2603:10b6:208:24e::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.15; Thu, 19 Feb 2026 05:43:45 +0000 Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com (2603:10b6:a03:2c5:cafe::3d) by SJ0PR13CA0110.outlook.office365.com (2603:10b6:a03:2c5::25) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.15 via Frontend Transport; Thu, 19 Feb 2026 05:43:22 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:44 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:40 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bguMqKQsAQA7hxaK8EfK4XWy1/ZwNDVNZ4DQvlXihunRnCOBr3tw0f3Dj+36Ozy6ZaRDpDfcw8XWnbgjeRS/hHP19ijTJVkhmXOsNx9R8fWX/1GO3gs5knz+XfvQwPittW4ObOeJgLntJj49yOK2ihfffZ4fL8wMwFiEa71jhRg9DqEnjAHA8qdRGL9PvKOlECj3udSsKDR8NP4X3LMjqv0QaT63Wl9w49MhHETKKrHtP7AEocWUOXCBeh+vJBN+3Bx9ADpU3N3EDzNaSBjejaXTsLp6y5OnIjIWWIiTmIdAqZW6yCCH2ICQ0alJaFvS5VCpEA7B4SIlEX2WdwbVyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=DZEm9e4GVICj+l9f6e0apbmSyYBEM2DqI43+jVavfsA=; b=eQwrwkNjsOQeDLcXYoj7fmfnwXidDumb/eZe5GcUWbfjOxxgpPvKq0a1W3vHwUC53pKAyDC1xBWGl34FjUx4JOPWa4BwZ5dAm15Z1hlYzqhX+cK13mSL3iUKvAbecg95YclP55DbEuHM3rJ/Bs/we56z6ZeCpyNsnB7paoSySJ004ung7sJoETNQGDXaXh3EXIWXttLEnVw2Wqb307M9lGV9z2EECer9flz7gQtkNuzg148Rlg6LfhXKA0d9lRsC6h4HPLTlR9QZRnOxmAht8yu7imKNEvwj0dUX9Q3P2scVR1QP33CsTonjtZF4fZyB1fjN6jtD7IVaju0iEuNCCg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DZEm9e4GVICj+l9f6e0apbmSyYBEM2DqI43+jVavfsA=; b=QQu0tEYRt/YzUmEiOcXRpmiZtWksSSmLWsnPMOLV9OSHpSKrTTpbNL7rB00bd+ZI+ByO5NtIqw7iqLJutRn3+HtIam7aceFXtniFQbF6eeYwKQZA4EtGTxiAsoKC7LJ9jMj9Ud8WaTXPGtNz63O2rfvm7d0hKvYVg3vZ12OawfM= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 7/8] apic_common: migrate extended APIC fields Date: Thu, 19 Feb 2026 05:42:06 +0000 Message-ID: <20260219054207.471303-8-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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDF:EE_|MN2PR12MB4488:EE_ X-MS-Office365-Filtering-Correlation-Id: 69dbbe61-126f-4998-f487-08de6f79d8b4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|7416014|36860700013|82310400026; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?CSP0l17PDwrvzqtw/cthxz4nYwtZrdehNyPjiQIEpnPWOD1Blht+FRCLM/8i?= =?us-ascii?Q?WXGncdPSREhp2YNxY/0LdrRM4yKPgAtrw6gpW5j03PQXKwt960+rE0PidHdj?= =?us-ascii?Q?FCaLDiFjSO/fnt4Qn5GeJ1GnsisdE/pgktPUql1oMw+E+XZYs1i9t8pjapdz?= =?us-ascii?Q?SXAubz5tT8L2jXTiLNdQgNoAg9C2Ro+p//7dOPF6bN6oFV76ZLK199Un37N5?= =?us-ascii?Q?z8iSOaacXQL8qZKlHLDzi2vl5hwwDD+MANI8B/0Qj+RUIBjrgRo7dQi4QVR7?= =?us-ascii?Q?iM6kygQlevLnMqUKbtSMyHzT3olIKzgaXffwBpyHqIBBfOLV2lCUxBKVM05q?= =?us-ascii?Q?AiWVI4Avjcc+V/XGAYZOOxk+pP09opZIF6r0EPMcDEhSlb55Rv0TUpA83bWO?= =?us-ascii?Q?AazvC/u3R/LCcHRK45YPSzAqIrj/4MWYazsEfjUkfruMFbl/9+MLOxXhk3NX?= =?us-ascii?Q?tDqxBgqmK2duS+eJEfjqfwh62p4KvJYiL9vFtDIwlAIPd/odan2AnIPxAoXt?= =?us-ascii?Q?bMbh6ZrGovZpeFfn63978vWMjS8mhExosyVzfUD+hbe0zN8ej+iumN9OhPqG?= =?us-ascii?Q?+ZUQZxS8Ji90ga642l6yYkgkb8bTgDzmZW+lKNBnB7BcVbBLDsHUiGxpoIqL?= =?us-ascii?Q?HuPHmZfX+6HhCcvnCEd7E5a2myXy4LW12Nb7842NgMPFzvfDkwbFkCpwuZnS?= =?us-ascii?Q?jVZ2a4wPrll+KMFCbY7hC+jjXFWUzJTEVvjgQE4emTHRIvmmWmYa875hAB8H?= =?us-ascii?Q?XvUeJXywCP8qYZhcispW4gbEeCRfLlL3eGdzoqO2kbJBNj6+1LCEOYUreqKI?= =?us-ascii?Q?k+6rKowBN03jWcB4jvH4YwWiZ2wEi+rcHSUQq/tzdDDSjHA5QuyBFZPTKIni?= =?us-ascii?Q?Gge6JqCkc78rTH6N8QkfQhKdWffiHpuDjshPIYW82dAFBt4Bll1+4DpPGjET?= =?us-ascii?Q?92/UV+ChP1iJm0HDQIjiqQuQperS/T+2FBFEWHGmrK0JdFhUF1WOU9Wfm0PU?= =?us-ascii?Q?/C5ohKcLtENM8UFNPHNhrkMEKi8SGP+xqRbfdD5sbh+XXJvNmFMfQ9xa1qEx?= =?us-ascii?Q?dIF/SGEKGjOvQxeInIr8mxkCWVxRdl/GuyrPp9l399I6/KRt6egxG3NPNbMs?= =?us-ascii?Q?LeCmL+J/0tAylclNuYB6nCBAcEQu7hS+GVMRTLK6s4ekjpYUJAj6XS5875zz?= =?us-ascii?Q?RKd8kJiL/xCv0+Z+kk6yi1R0DWE6S+hL8PTBCSZWnHCEn+GUnM0K84oJ4VIZ?= =?us-ascii?Q?dls3FoCXJ7RiiISr09X8NVCTIAmsBBsorPX/c3f+LvKVcDbq08PjJd7oK07D?= =?us-ascii?Q?yZtepPHXhaGrdXFoSZriFtJHM71MLgDByBDjydskQkHsfoPu4vhwIpKYjxiJ?= =?us-ascii?Q?0ekSXO3htpshskKYXAa6bxh99HVIWX/8egXyrka8Q4Ja+Dn1b8W8ranXjqzg?= =?us-ascii?Q?Jd3BC39neQFDlDw2XaIh5OeT9Lgm/0BvaMdJdVzuVY3Z7/fr60jskL1YHNFc?= =?us-ascii?Q?AjxkUKOoKycSBhISH9UYlgQq7hZlxbOQKor4n0sgeeXSIE/Lpr4hF9Z3BNuK?= =?us-ascii?Q?Axn8pw2zhUP5IKzEC6v4TePYu9iWu8SPdjfys9lpok7q1jORA1cna6y2Ii/D?= =?us-ascii?Q?8DwhQWeTh/8mgJJqaz6ibTLj4aM/kdL7fsglFFj42MYjbD+IGBD2q3gQ34XL?= =?us-ascii?Q?0yk6yQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(1800799024)(376014)(7416014)(36860700013)(82310400026); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: NT5FiaZb/C328VzNmvz74ZP+Tt2tEJw4uIiquLwDRZFCsBgsZfpbzlV57f512DER92Xhy1NkW4LszGtywXWSOcYkDhxBt52+jRMLDx/I7o/GKxHiPcRc9xnM6oujyWx+JwVc/4hCt4ieSJC+KgU3YA59qozsfxNeDGobW+J6xl/J9689TjgB4ReLjdgYwnTHxgfNMRAXQdf+TiZfl0FMlhLHwYHZw2kD3EVuSZUkcaiJGLZ8hYEPvgMG81pIVWz4fj8P/HhzhOIMTMLBEwMKIs5IJ2Ih0YCEuBpFjW6G08SFqkEp9rD8N/1iD+QCxdX9JAXjmnV+c6196yF3d5EuDhu9v4elogvFiYEE9ma/H9hucP4UNIejO9vLGLFxd/drgx8CnTMUJ+Cgpu786aKdS3urHeuUgv7a99WQZJujAVhJ7ExDC62zh9vmHjj+yZij X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 05:43:44.9397 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 69dbbe61-126f-4998-f487-08de6f79d8b4 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4488 Received-SPF: permerror client-ip=2a01:111:f403:c107::9; envelope-from=Manali.Shukla@amd.com; helo=PH7PR06CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509456659154100 Content-Type: text/plain; charset="utf-8" This patch adds extended APIC fields like efeat, ectrl, variable sized array extlvt to a new subsection of the vmstate of the apic_common module. Saving and loading of these fields makes migration of the apic state deterministic when extapic is enabled. Signed-off-by: Manali Shukla --- hw/intc/apic_common.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/hw/intc/apic_common.c b/hw/intc/apic_common.c index 37a7a7019d..cd4b480c8e 100644 --- a/hw/intc/apic_common.c +++ b/hw/intc/apic_common.c @@ -360,6 +360,12 @@ static bool apic_common_sipi_needed(void *opaque) return s->wait_for_sipi !=3D 0; } =20 +static bool apic_extended_needed(void *opaque) +{ + APICCommonState *s =3D opaque; + return s->nr_extlvt > 0; +} + static const VMStateDescription vmstate_apic_common_sipi =3D { .name =3D "apic_sipi", .version_id =3D 1, @@ -372,6 +378,20 @@ static const VMStateDescription vmstate_apic_common_si= pi =3D { } }; =20 +static const VMStateDescription vmstate_apic_extended =3D { + .name =3D "apic_extended", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D apic_extended_needed, + .fields =3D (const VMStateField[]) { + VMSTATE_UINT32(efeat, APICCommonState), + VMSTATE_UINT32(ectrl, APICCommonState), + VMSTATE_VARRAY_UINT32(extlvt, APICCommonState, nr_extlvt, 0, + vmstate_info_uint32, uint32_t), + VMSTATE_END_OF_LIST() + } +}; + static const VMStateDescription vmstate_apic_common =3D { .name =3D "apic", .version_id =3D 3, @@ -404,6 +424,7 @@ static const VMStateDescription vmstate_apic_common =3D= { }, .subsections =3D (const VMStateDescription * const []) { &vmstate_apic_common_sipi, + &vmstate_apic_extended, NULL } }; --=20 2.43.0 From nobody Sun Apr 12 05:51:24 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass(p=quarantine dis=none) header.from=amd.com ARC-Seal: i=2; a=rsa-sha256; t=1771509380; cv=pass; d=zohomail.com; s=zohoarc; b=UeyJ/GdP0qYp72rTSsTCGgBmIqIg4oCQ74GKkcTTC1T3TktqedNotTx0s7VKnw3LGLiqHk/lMCNEO/pvbJA8beiPSaJ81QHWsfWYqTS0kzNSgRb5YJxs8I7kwdVox/RJEJUEF/4XZuyWr0qVGCvJxk1w/RrGrudz6LWMM+fMCdQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1771509380; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Cq6sDYQ2bIU8naegtNI56GdYdfjY25ij4bdD+f4fNMU=; b=SPRv+8Sf37FINJfd/w5ti024TZWXKcReDH0aJQQWbX1lXTEbqom3rL/3HgMld3rStUQTGVvCUCGlq9EZl1fUyEJU8mYhlGTrg2gGeynMqStSDpEwrWxnCasG00XUNZa1zMiE5cpG9iAEbyh3+GwVXhavfv+C0UDvxwx8v27QSz0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=amd.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1771509380621108.01278031252832; Thu, 19 Feb 2026 05:56:20 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vt4Vi-0007UK-8Z; Thu, 19 Feb 2026 08:56:09 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpQ-0006OT-Qc for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:56 -0500 Received: from mail-westusazlp170120002.outbound.protection.outlook.com ([2a01:111:f403:c001::2] helo=SJ2PR03CU001.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vswpP-00083D-5f for qemu-devel@nongnu.org; Thu, 19 Feb 2026 00:43:56 -0500 Received: from SJ0PR13CA0024.namprd13.prod.outlook.com (2603:10b6:a03:2c0::29) by BL3PR12MB6475.namprd12.prod.outlook.com (2603:10b6:208:3bb::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.13; Thu, 19 Feb 2026 05:43:49 +0000 Received: from SJ1PEPF00001CDC.namprd05.prod.outlook.com (2603:10b6:a03:2c0:cafe::7f) by SJ0PR13CA0024.outlook.office365.com (2603:10b6:a03:2c0::29) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9632.14 via Frontend Transport; Thu, 19 Feb 2026 05:43:29 +0000 Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDC.mail.protection.outlook.com (10.167.242.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9632.12 via Frontend Transport; Thu, 19 Feb 2026 05:43:48 +0000 Received: from brahmaputra.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Wed, 18 Feb 2026 23:43:44 -0600 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CmrMzobq2pgR5dBC5c34z6sQg/aMDp5HmJB1UdRku6Fj5dE2lKTWj2ddgb7Ei3Fb3DgjJJhVn/8cB/1EVLkF/BzaAaj81DMRavYTnYXWBKAqy/DVSP7ahu3vq8ENO0ZRZSzRrrIHLxPYC8cL1/ShI376RE9N2feI8mQ4vQBi5eLLWCMoBJMsgYM0y4kIK4WHz/UfNOhbDNP8cb/Uxx5GkhLQJn51tgPFiUSye7FKSt+Cm4SSyLSrtaqsbCnsyj7khu6W5qXRBZI/zsiDQfhLUMGMh3ogznNRVFeg2IDJDfvzmZoGjpldKx4Qmy+lmP9GZ4uecQd4McB16o+JtTZ4kg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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; bh=Cq6sDYQ2bIU8naegtNI56GdYdfjY25ij4bdD+f4fNMU=; b=aSGroVKuZGajddkJ5yYv5stAFtmsJW0vLSo75FA0vvTb0tK45VqPjMS9tx9jgD2eXX1U76FkVuZ2p4Sd4yEnt2aIo9iMpaCFvio2Lx7ZzbqCR/UtkUiZjXmue9eF2P+TKvCZ579WQVFIysiUQQpfnOSwROFKb+m1qgGq9Ilazy/WzVJn2E5Ztdht129efrTkbb8ehDM50reLX0jXz1NBcj2HNNjWfWUCZulf+XHejIpoBOJyIlVWIAa2lVhgw5UWUpw7CxCdOKaseMGx0XWRRW+ewqBGBqF74LvQ72E050RATo9ESkWcllPzPeUU4F3WuRW14WPmXLwRBi9RYMdSZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nongnu.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Cq6sDYQ2bIU8naegtNI56GdYdfjY25ij4bdD+f4fNMU=; b=f9SIQ+QywXq2qKRuhcm5Uh+8RqNqJdPWa1IG0t3sQcvHHGioJmHUnKmC809ScNd0U40Uygq1g9e5FeAUWvwQJ4G+pYQaYgQlBk//Zjc6HCtUY9n4OfzCFUQMjgdemmSTzaWMpz46ieNGPDXnlxwdmm9i5Gnrg1hbzkdNxBLplP4= X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C From: Manali Shukla To: CC: Cornelia Huck , Eduardo Habkost , , Marcel Apfelbaum , "Marcelo Tosatti" , "Michael S . Tsirkin" , "Paolo Bonzini" , Sean Christopherson , Richard Henderson , Naveen N Rao , Nikunj Dadhaniya , Subject: [PATCH v1 8/8] DO NOT MERGE: Temporary EXTAPIC UAPI definitions Date: Thu, 19 Feb 2026 05:42:07 +0000 Message-ID: <20260219054207.471303-9-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: quoted-printable X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDC:EE_|BL3PR12MB6475:EE_ X-MS-Office365-Filtering-Correlation-Id: 0977c157-300b-4775-dcb7-08de6f79daf3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|7416014|376014|36860700013|82310400026|1800799024|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?WZPFXw9n0xa7JipBTKojz5WOPfN1aa7kMt0teHx1nYpHV9I8xdBSyljVvTC9?= =?us-ascii?Q?vwsAV+iueoM5su15hF1LPRlE40J0BG2YvPJ5JTxpQ5xFt1+re6BdmJ62K6t8?= =?us-ascii?Q?Ba3xRbEBg3LWvlWWjlV3xFluHL2LyQ47MlEbQNZLZUbt/xl3+QY+5GyVrtp5?= =?us-ascii?Q?2UETn3s2sgWBxcPEL2uLJYndlvQeWE6tXlQof32F3skd/dMtcngDSXvvXOW4?= =?us-ascii?Q?MyNHXwNWIIzbr4FFkKCJIzaKTi8nYXMBHDfRzLIt2h0KvUY3suq/wg6HbxWg?= =?us-ascii?Q?W/9icqRZcdpyRFgiQlzhgXzwcugb287P+prk35qM7hMiDIUyE3k7SORDuZS1?= =?us-ascii?Q?sypeiBpa7uqgRHETy1xRnsWq8wLcFNzauBPKDjUakTHgZE0l726g7LIan1Ia?= =?us-ascii?Q?PzfnP0cyXIpVTFiGWulJtk0EC65kK3Mvm4F85M6+yOLC4dqj0x6kDlgRbmzF?= =?us-ascii?Q?oJgHkAaKAXDKYLfn8I0AwPL1TWho3Vt9ljoyHCqV7gdrDq3XgnKBqQI3nHaD?= =?us-ascii?Q?7ZErH79i2/8NwvpJee+75V2G4RTZxy0CUn2aCl4dSQtvfglJoWcqnOS5DUyZ?= =?us-ascii?Q?WfWNQYbkCcNIu+yVSf5D5A3qrejkZSGucuyY9sdKSJ9tJ/MeMjYYdN79qL87?= =?us-ascii?Q?TeYvLcer9r+P6RMCXa3fr34x5Ck5/ItyymzyHuRqmkChpwih0JhLAynHM7Yg?= =?us-ascii?Q?Mxx/xvHvfs8BFKczqZqYIW5SWwuMYKzvdtF56Rw2R18tXEd4PqKBE6+08VRQ?= =?us-ascii?Q?rmhHoPksxMkXIP6SMwZn6hvPvQunVCCeb5h3TGBW1ScqGwpmlqeimEMu+G8x?= =?us-ascii?Q?4C+s2gO5jLRqBzrKuYK3vtQ4zcztKc0TIvTAYoLb4Ia1PKBQu8neQaZV8vmL?= =?us-ascii?Q?MjC0DtmGWVeMJJmufbJt0zmMfeaaP8X8Jo4mvllUXVgNDWy4q+ay+QSxvNkc?= =?us-ascii?Q?pmaylLTkPArrj8QskL6QO2LLnAh5o/B5uyC1i9ENkMt5bdiPCvOJviWKp7N1?= =?us-ascii?Q?dYnBIO2/Nyo2GCTKKHMVHs1tvwNFnBpt6y4R0O7MPl2R9obCq41zu5l2uvDq?= =?us-ascii?Q?ba+ihI20xbyqkIu5l9vzos5JRdaNKrYU/aFFsDtZq+4v/ebe164aEjiJOl97?= =?us-ascii?Q?IUexr7zpVWY/PDisNQJLxSd4XZL8G7ZYMNOZOqC43o5nQmw/UW3h4u5uvH+0?= =?us-ascii?Q?lQEUk+UH9C6swEloJCHioxFLJVB2NyV8ZH9PLdGNWClJr58fTrbdWhnd5NUY?= =?us-ascii?Q?WVd1Gr2O9HQgcaoWDFHD0w1O316R8qwyp6dWUuNlU28hJWF5q6YJU0/H+110?= =?us-ascii?Q?gUNIfj9gADyWCMTwH6jNsyEBtGHbSs7Ij/nBmhmj+Egnfa/hqZEtlbiMi0JP?= =?us-ascii?Q?6Qn62QtHlakHT+rAK1/ABuu/1vnsDOtFdkaTFwIbg5WMqV217FmzgNJVBsdP?= =?us-ascii?Q?8MCWBZPCMqJwQQfiUXnyDlNpiBQPTrzKINKLsb7DuS8TCHuKKtCOBylA3vGK?= =?us-ascii?Q?MJFGbUEr0UQN/PJP+E46X9cdAoOyfkQk6JBB5Z+wZqp9ocI0jzPcuHmxXSZY?= =?us-ascii?Q?+RDWd2EIWq91otWoxdt8pyCi2oUuA5aQJJBhRbgYuIQWCzxrkMR097WYn3US?= =?us-ascii?Q?7+kxBdJGwZ/GSv0LGudDVkVR2dTQxUsGgB3eZCV80E2LG8hfYMl1F2PkTGtd?= =?us-ascii?Q?lRlWEQ=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:satlexmb07.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230040)(7416014)(376014)(36860700013)(82310400026)(1800799024)(13003099007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: By/YQNO+/ZKS1qVeVR0LRWvIE0CGWqs/dLrfGio85Hc3iEL4bfBlzeZzNSgytQU5QB5PB8zeUBYcNmI321Zu2GUQ35kURZgeDjOqBEGMCEaTFCNzxu9B6USpJbXiAnWEHYG+iW3+GmDs1bpfrXMcStkfyt6OJ9YAvM74ICE9wVpdQCnpKBmNPWPi/m1WoXGTSYUK1Lfw82fJpF3L9KnCVuzP98/5zuZsC2bIiasWcXEemh57vQShBjqwXQsNSKau6j/VmuOgWLAJtKvI0yM+SGPCq+veOpgXp4mEo81ndanGjTlHyS/MbUyEyrPYgaUXhImKafbwNlwf98kY8jUb21wWVlrmwob1Ja1svc0FpFh5cj/cOqcb5XP1dlOlAbfmUwPI8z3humR2MGfQqFWUrMY3TSAthUhsEF2Qq4SZ+lK40Mqi7Q/7FOIEHlNu05vt X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2026 05:43:48.7069 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0977c157-300b-4775-dcb7-08de6f79daf3 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDC.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6475 Received-SPF: permerror client-ip=2a01:111:f403:c001::2; envelope-from=Manali.Shukla@amd.com; helo=SJ2PR03CU001.outbound.protection.outlook.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, DKIMWL_WL_HIGH=-0.043, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_PASS=-0.001, 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @amd.com) X-ZM-MESSAGEID: 1771509383662154100 Content-Type: text/plain; charset="utf-8" This patch adds the minimal UAPI definitions required for extended LAPIC support. These definitions will be imported via the standard scripts/update-linux-headers.sh process once the kernel patches are merged. This patch is provided only for testing and review purposes and should NOT be merged. Kernel patches: https://lore.kernel.org/kvm/... Signed-off-by: Manali Shukla --- NOT-FOR-MERGE --- --- linux-headers/asm-x86/kvm.h | 7 +++++++ linux-headers/linux/kvm.h | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/linux-headers/asm-x86/kvm.h b/linux-headers/asm-x86/kvm.h index f0c1a730d9..04d1a1a527 100644 --- a/linux-headers/asm-x86/kvm.h +++ b/linux-headers/asm-x86/kvm.h @@ -124,6 +124,13 @@ struct kvm_lapic_state { char regs[KVM_APIC_REG_SIZE]; }; =20 + +/* for KVM_GET_LAPIC2 and KVM_SET_LAPIC2 */ +#define KVM_APIC_EXT_REG_SIZE 0x1000 +struct kvm_lapic_state2 { + char regs[KVM_APIC_EXT_REG_SIZE]; +}; + struct kvm_segment { __u64 base; __u32 limit; diff --git a/linux-headers/linux/kvm.h b/linux-headers/linux/kvm.h index 32c5885a3c..4e67281e99 100644 --- a/linux-headers/linux/kvm.h +++ b/linux-headers/linux/kvm.h @@ -637,6 +637,10 @@ struct kvm_ioeventfd { #define KVM_X86_DISABLE_EXITS_PAUSE (1 << 2) #define KVM_X86_DISABLE_EXITS_CSTATE (1 << 3) =20 +#define KVM_X86_NR_EXTLVT_DEFAULT 4 +#define KVM_LAPIC2_DEFAULT (1 << 0) +#define KVM_LAPIC2_AMD_DEFAULT (1 << 1) + /* for KVM_ENABLE_CAP */ struct kvm_enable_cap { /* in */ @@ -952,6 +956,7 @@ struct kvm_enable_cap { #define KVM_CAP_ARM_EL2 240 #define KVM_CAP_ARM_EL2_E2H0 241 #define KVM_CAP_RISCV_MP_STATE_RESET 242 +#define KVM_CAP_LAPIC2 247 =20 struct kvm_irq_routing_irqchip { __u32 irqchip; @@ -1308,6 +1313,8 @@ struct kvm_vfio_spapr_tce { #define KVM_SET_FPU _IOW(KVMIO, 0x8d, struct kvm_fpu) #define KVM_GET_LAPIC _IOR(KVMIO, 0x8e, struct kvm_lapic_stat= e) #define KVM_SET_LAPIC _IOW(KVMIO, 0x8f, struct kvm_lapic_stat= e) +#define KVM_GET_LAPIC2 _IOR(KVMIO, 0x8e, struct kvm_lapic_stat= e2) +#define KVM_SET_LAPIC2 _IOW(KVMIO, 0x8f, struct kvm_lapic_stat= e2) #define KVM_SET_CPUID2 _IOW(KVMIO, 0x90, struct kvm_cpuid2) #define KVM_GET_CPUID2 _IOWR(KVMIO, 0x91, struct kvm_cpuid2) /* Available with KVM_CAP_VAPIC */ --=20 2.43.0