From nobody Mon Oct 6 01:21:11 2025 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 379B5285C8A; Sat, 26 Jul 2025 13:42:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537376; cv=none; b=FYgFzkQNH8VP/jQip9L9XKoIm1f8wFyoTU/mZp7Q+b04yyMjsZPtV9ekauo/YL5fkxcUZDShmFsmLPMf9yz4d0vXf7QEaTxrKhb7ouGKQ5eEMk+fYB47SNYVBgHQ+PeM+fJVJbFsRWHqEJRzsT+k7iKxfPN5VxGmloVFAcoIns4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537376; c=relaxed/simple; bh=nmLlAlIKWV25SWAnefxthoPfrn4Dlk65/1c8UEdjnms=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=g6NXvFUqMA0wXMiDBMPca0mMuMRtfGgStNg4xfohP9qHwF40sJnAOcxryUw1IPi71dQr5hlWxu5zygLDYhbtiDztyWpOtd9XzeiaQ5punUqg2j5TaT/FsL/q3ZM6lePBY09lMY8RaNLfDkPjzdvrTnOvL+fRX3s2zhtIuG6Ge5A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Yes6/kkd; arc=none smtp.client-ip=209.85.216.53 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Yes6/kkd" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-313a001d781so2513670a91.3; Sat, 26 Jul 2025 06:42:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753537373; x=1754142173; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=VW4eue3VD6zS3Y9jBbWsC9XQhRs/myTzopam4iOn3Uk=; b=Yes6/kkdrkjaEPTouiPLFDmV6sb/iMlSKt3UDCZ3iXz/pSPx00pgSswKkYwi/9e1s1 fPA5lfCskcewPj94XTCf49ta0ZlxvXjBaZUY4yDj9vd3wtdaqPkYwO1VoWv4e42rhKoq jp/ZHlm4o8S+ocOD+wCWX4K7FTWgVx59WW+seMNR47F130psolcVqoa/4rePY9VgPQmx btIRm3jcK01WYu+GFy9SO4hHdosIRtN4iM3FUNEoP8yB91u0x9Wc+FwZageK+XaTW5vD U2TU3khxgPGPZqmwsG5NlMaeuVYJhspUks4RSsehH9mP4XB1k/ZQA4IAhbgaJHaBgTQe yfbw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753537373; x=1754142173; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VW4eue3VD6zS3Y9jBbWsC9XQhRs/myTzopam4iOn3Uk=; b=Np3EKTxQNpsSioa9hc3k+CQZDYHJbC2+S54EWTWlPnE4KF94wWfJygTtBmYHAaKgGX 6ApC90BTvnkbJ1+/RpOeoykNCa5IMzluRi0wdHF6+EVDad7ghrh62ksshl7t6NlZk2oZ OTlIcEMz5xN0lQzjGieGsDU5pOhjpwu8viRyC3FjxtW6R85Q/80BU1yNolrBQwdQH6h+ iLE9sewGFEJ5h6j2oaK6q+GtUkuIDaqV0/nYUIqinoJkZy3fIsc5YhQssQZcdrQLroe+ YdLZgDXSCzm02WJe3YOybMF0UrshGPXA/HXh4nXu0NIF8eMXl0aESy8k+UWn+EcA9U/v xUMw== X-Forwarded-Encrypted: i=1; AJvYcCV6vB1VZyGrmXxPRa32t++hpuv6SzZyCfJ+Uc+FeQYf0cEqBHeXnLLXNbgpi3WJR2xy1XvtcGJT1jdz22Ko@vger.kernel.org, AJvYcCWNUpeloQaK9xOJz5ZUrvDCLOJJVqPaVSXRNyL2UOMmrXjTWZgwLpluIZkXCwwqkpDPkOTc3UNqk30z@vger.kernel.org, AJvYcCX1mnwzBtHsgQi78hP3OuNL21HU1AHi+jJZGxcWBXWI7UR0MALIfOeRZu6i24INDmvDPAYu/0dvNMcO8wEw@vger.kernel.org X-Gm-Message-State: AOJu0YyriTimvIdU9F5ryj3V1W7GUdOvxejQHO+ZWXds6/dxh9fC9GVa rJGIaUbFNtV4j7+fi16hnmvZjQWYxkCQdMXyi6YjLWMYRUlbd2bL1gVh X-Gm-Gg: ASbGncvCVQ8njhvYC+QjJkLTAtl0ce+Rx7DLX7YirCzOZUUtWSECu2GccC6Of8naw9J uh7Hwyo3nP10XzjyIds3BB9UQtTgoJj+VECLEvfYk+NvxXYzx5Fmwn0Baaa3aQVuB8JUZ/RCY67 khdfyuFBN+2lYBsd3Jx5qvKOoGDktuUNK3vvs4QrcerGJbA8pa3QgAmN9yRlb91Ly2ifeQ9+pX6 pqc1uvz0at9VqwLNL0vBpxsdvVm4u7tyWHFsVtZFtYp4Hz1+/FTH7Y9+jEXTkmEzH7khwNNFaQO 3RDG3pEPPGzIZB2oCyGNcwoJJSmmYvIj33Xvn3TLrmo6/4pfIIYSDqtdKepfSZCiqq23h9V6vNU Im/y/XzNtyEl5hUPdSX0Q5upWEvNfbpcxi6lKuXANfLMyrA3Gy8mN3CrUC4CUDQ== X-Google-Smtp-Source: AGHT+IFsZXTENIMM1s8lgv0s+Z+9BhTpPYq4/ZQSqCWgyXwlYc3lprg2ZzNSH8VsRRuqdkjW8hcgtg== X-Received: by 2002:a17:90b:5623:b0:311:c5d9:2c79 with SMTP id 98e67ed59e1d1-31e778f27camr8887911a91.21.1753537373651; Sat, 26 Jul 2025 06:42:53 -0700 (PDT) Received: from ubuntu-Virtual-Machine.corp.microsoft.com ([2001:4898:80e8:77:9619:11b0:a73:e5a6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31e83508500sm1869190a91.22.2025.07.26.06.42.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jul 2025 06:42:53 -0700 (PDT) From: Tianyu Lan To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, Neeraj.Upadhyay@amd.com, kvijayab@amd.com Cc: Tianyu Lan , linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH V4 1/4] x86/hyperv: Don't use hv apic driver when Secure AVIC is available Date: Sat, 26 Jul 2025 09:42:47 -0400 Message-Id: <20250726134250.4414-2-ltykernel@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250726134250.4414-1-ltykernel@gmail.com> References: <20250726134250.4414-1-ltykernel@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tianyu Lan When Secure AVIC is available, the AMD x2apic Secure AVIC driver will be selected. In that case, have hv_apic_init() return immediately without doing anything. Signed-off-by: Tianyu Lan --- Change since RFC V3: - Update Change log and fix coding style issue. --- arch/x86/hyperv/hv_apic.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c index bfde0a3498b9..e669053b637d 100644 --- a/arch/x86/hyperv/hv_apic.c +++ b/arch/x86/hyperv/hv_apic.c @@ -293,6 +293,9 @@ static void hv_send_ipi_self(int vector) =20 void __init hv_apic_init(void) { + if (cc_platform_has(CC_ATTR_SNP_SECURE_AVIC)) + return; + if (ms_hyperv.hints & HV_X64_CLUSTER_IPI_RECOMMENDED) { pr_info("Hyper-V: Using IPI hypercalls\n"); /* --=20 2.25.1 From nobody Mon Oct 6 01:21:11 2025 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 36B77285C82; Sat, 26 Jul 2025 13:42:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537377; cv=none; b=rrWrThwZJ2uatXm2F9P0cfYGmJUPttu3hkG/7L7TJS4M81DGtLqgrDULBlt3ns3SmJGAuCwp3Ue79nbIm/LJpIv7gGalPr5veqDuaDA6rKjxkCqZtpLtbiHVD21v9ep81V1rHK4UjbCGY8MwEVeZsNUDDAb1UKDy+kCV7u49snM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537377; c=relaxed/simple; bh=vpksvMKwENgrXP2h4WAbOgqNikvAOcgpozSEs0HUDlE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Yq88RIAmPJ30R9nuhnLcilWOadSzExnsWVHJ8JGo5EXSZW/BOvZkA0YvizJntGGe6rtfdq2diXSoRI1ymytRbAh2wrW9cg+qzjmlIdf7eWU4VS4I6AjY3twQycF66q9Hn5z9XfJKSbINVIgiW+qgQzOCS4ooRKSuJ7sKNrMT6Q4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=lm/xGPXS; arc=none smtp.client-ip=209.85.216.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="lm/xGPXS" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-31329098ae8so2632211a91.1; Sat, 26 Jul 2025 06:42:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753537374; x=1754142174; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DOkcVu/npXJ4elHeqrWwDUQjjmkIstYw0/2b1J3fMr0=; b=lm/xGPXSk8Qtt7BxxoM1U6Gv7CIP/3fndeYlNDR73VIkiDhZessqcNw9mp1AkNRpQB aDs4FNgHJWf1FbxUeRY2Kko62rmDNWOX8gIZdyAmyyL5BYiKHAP5QfNj33yNnDgCspjb 1ZBZMuSU1lMVHG2psnw6gi4YgBC/V4jtrpD80F0C/SbSvsD5r69kMwqBS4M8/T7JIUuX 044DW7NXtATuZ6kdERyQLU1xFpD7LRDpQilmO0ZXpBZMYswUdXVi2ISiQEEqOcLgCI0G 7AENZzUVtKWUsM3IA4P7JLA5Sr4eEzIXIC02VF2M4LpBHgy86rzYyxRdyRzhItnnVVK1 XGPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753537374; x=1754142174; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=DOkcVu/npXJ4elHeqrWwDUQjjmkIstYw0/2b1J3fMr0=; b=H6rVZa1gU1MJib9OWopXV9nMqC0tHlZe+N3DU+FB1NIc6cPYKFdrQ/LZOJOHhSCCnP gUhcfHzWFDqREnN94bPebUxbYO5JHKv0ArfhXg/OlJZ9k3mAjeP25e5tU7/PC9rC5mq1 C2+bG9MKfm/7xvif3bp6cFqOsgIdmxOpblTjObV0E967/fFeu2in5nl+NGMwiik21atZ LGWTf4U7syIYaw+Z2InRmTe/3cjxO6HQSBUPZ6aj63sY9CMKKSrWV+Fwz94ZZf9Uv893 W0y6jzAiidE5iTKlIUNVI+zYpEB5UmHKgF7qkDndGdWe5JjxvM4T8cXdBeiytNTGw37p vtEw== X-Forwarded-Encrypted: i=1; AJvYcCUXWWMKzoBc9U1lLHZNI3CftLhmYVcutmObcgCsZ+UFveen44Z+7Un2hneEEG/eNQFEBOkQkyfQpwmM@vger.kernel.org, AJvYcCUj+5pyCM+Cgy+tt+cXN5ZtgOMl2ByTJwUFxobwFbsEbHxXB5ZaVk/fNCTPoKkngzTcbn8niStb0C7vCf0d@vger.kernel.org, AJvYcCXEQck5tKFndMNVVX/FqwO2z9DDrP9wnRFUTwDWjjHhoShWpz8F/d0JiLxdbRpzDb4KIm4Q8uz0U0qdfVac@vger.kernel.org X-Gm-Message-State: AOJu0Yxd9sdaj2zRatmtP3qrk9pjWx69LxYwCRymgR/rCu8sOTXaPsg+ BjL8eFc8gTtFtTU8Ds2eT1cB9qn92hZDUxJ5si2M4py/4wqMiftxZKh/ X-Gm-Gg: ASbGncu1gj/3wUQvllFXW+CAnJ3o+kMUsw/iXf5axkOX0A3T4NllPyY7rrxqreR5028 miE59UrVIgI9SHzjrZmmsEDQ+dv5Ui+s1Ioxo2ZGSijvJTNLabNBojScRNYCdQ4hD6fN4/SMwyW bD7OWVBwD1UFeuoJq59fOauWP2sFaYasga7nbwEXCRgCCK8e8V7CYnFPRVzrrnuwMaqw2psRaO1 1va928bnItDiqXamZJXU8QpTMd9lQwh+8m2534tFGbpiSmrhQbfifqfLsvlNxCJKWcCZ92ikxdI hhkSnwLRsyr33pAggVgT3GxALidorg3YxGyfIlOKEj/d5CTFlGfUneNO0tS2//ykcm2Jz+j2IkB 5PrU6KaXoR9+eHyFJcgdWJNgFxtJix+rvthTOi71OZhSK5X3WfXhQsRy9XZMvEA== X-Google-Smtp-Source: AGHT+IEumo1XidKxZecIYdAmSbLXM9CW7e/wMctilSAzBY+gyptmtizmnRHrd+5HmioySzpXTEBVrw== X-Received: by 2002:a17:90b:2513:b0:31e:a8c4:c188 with SMTP id 98e67ed59e1d1-31ea8c4cb23mr726855a91.14.1753537374489; Sat, 26 Jul 2025 06:42:54 -0700 (PDT) Received: from ubuntu-Virtual-Machine.corp.microsoft.com ([2001:4898:80e8:77:9619:11b0:a73:e5a6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31e83508500sm1869190a91.22.2025.07.26.06.42.53 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jul 2025 06:42:53 -0700 (PDT) From: Tianyu Lan To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, Neeraj.Upadhyay@amd.com, kvijayab@amd.com Cc: Tianyu Lan , linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH V4 2/4] drivers/hv: Allow vmbus message synic interrupt injected from Hyper-V Date: Sat, 26 Jul 2025 09:42:48 -0400 Message-Id: <20250726134250.4414-3-ltykernel@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250726134250.4414-1-ltykernel@gmail.com> References: <20250726134250.4414-1-ltykernel@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tianyu Lan When Secure AVIC is enabled, VMBus driver should call x2apic Secure AVIC interface to allow Hyper-V to inject VMBus message interrupt. Signed-off-by: Tianyu Lan --- Change since RFC V3: - Disable VMBus Message interrupt via hv_enable_ coco_interrupt() in the hv_synic_disable_regs(). --- arch/x86/hyperv/hv_apic.c | 5 +++++ drivers/hv/hv.c | 2 ++ drivers/hv/hv_common.c | 5 +++++ include/asm-generic/mshyperv.h | 1 + 4 files changed, 13 insertions(+) diff --git a/arch/x86/hyperv/hv_apic.c b/arch/x86/hyperv/hv_apic.c index e669053b637d..a8de503def37 100644 --- a/arch/x86/hyperv/hv_apic.c +++ b/arch/x86/hyperv/hv_apic.c @@ -53,6 +53,11 @@ static void hv_apic_icr_write(u32 low, u32 id) wrmsrq(HV_X64_MSR_ICR, reg_val); } =20 +void hv_enable_coco_interrupt(unsigned int cpu, unsigned int vector, bool = set) +{ + apic_update_vector(cpu, vector, set); +} + static u32 hv_apic_read(u32 reg) { u32 reg_val, hi; diff --git a/drivers/hv/hv.c b/drivers/hv/hv.c index 308c8f279df8..aa384dbf38ac 100644 --- a/drivers/hv/hv.c +++ b/drivers/hv/hv.c @@ -310,6 +310,7 @@ void hv_synic_enable_regs(unsigned int cpu) if (vmbus_irq !=3D -1) enable_percpu_irq(vmbus_irq, 0); shared_sint.as_uint64 =3D hv_get_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT); + hv_enable_coco_interrupt(cpu, vmbus_interrupt, true); =20 shared_sint.vector =3D vmbus_interrupt; shared_sint.masked =3D false; @@ -342,6 +343,7 @@ void hv_synic_disable_regs(unsigned int cpu) union hv_synic_scontrol sctrl; =20 shared_sint.as_uint64 =3D hv_get_msr(HV_MSR_SINT0 + VMBUS_MESSAGE_SINT); + hv_enable_coco_interrupt(cpu, vmbus_interrupt, false); =20 shared_sint.masked =3D 1; =20 diff --git a/drivers/hv/hv_common.c b/drivers/hv/hv_common.c index 49898d10faff..0f024ab3d360 100644 --- a/drivers/hv/hv_common.c +++ b/drivers/hv/hv_common.c @@ -716,6 +716,11 @@ u64 __weak hv_tdx_hypercall(u64 control, u64 param1, u= 64 param2) } EXPORT_SYMBOL_GPL(hv_tdx_hypercall); =20 +void __weak hv_enable_coco_interrupt(unsigned int cpu, unsigned int vector= , bool set) +{ +} +EXPORT_SYMBOL_GPL(hv_enable_coco_interrupt); + void hv_identify_partition_type(void) { /* Assume guest role */ diff --git a/include/asm-generic/mshyperv.h b/include/asm-generic/mshyperv.h index a729b77983fa..7907c9878369 100644 --- a/include/asm-generic/mshyperv.h +++ b/include/asm-generic/mshyperv.h @@ -333,6 +333,7 @@ bool hv_is_isolation_supported(void); bool hv_isolation_type_snp(void); u64 hv_ghcb_hypercall(u64 control, void *input, void *output, u32 input_si= ze); u64 hv_tdx_hypercall(u64 control, u64 param1, u64 param2); +void hv_enable_coco_interrupt(unsigned int cpu, unsigned int vector, bool = set); void hyperv_cleanup(void); bool hv_query_ext_cap(u64 cap_query); void hv_setup_dma_ops(struct device *dev, bool coherent); --=20 2.25.1 From nobody Mon Oct 6 01:21:11 2025 Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1134428642E; Sat, 26 Jul 2025 13:42:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537377; cv=none; b=oUMN9geVy33FzHCACBfNntFvxBTm/z5ayW7h0YqPcv94td6ZB9KjxMHDOexzpgr1IwDYiOPFlrSHYwvBgb91YGi6eDcaZCxk6nH0LRhuMtm6TSaxbrsDE33Y3kHHnJbi/+EEJpFZ6whbU+dy2Q+6fRv2AZo7BsmwOioL+0s3Fq8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537377; c=relaxed/simple; bh=UuNsBdvtxup7jW9SkePiNmAzpgXCmgudIpQSmDwe/cA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=mHUeB4kkhMfj2mTAhYJpETeRG0TVwszop82y3gzmNfdekDbihCYOrgx3zp4idpjWZKTb5qGeyrFG/mBKnFkKhYFyLK0gznFTLzbdlhzKqqAGRsE3lJeor9rHBN7XGy6pjil7k7tk0KzJA6/VtImF42NTveLQ7rrC+xzjyg5X090= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bt+lST7C; arc=none smtp.client-ip=209.85.214.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bt+lST7C" Received: by mail-pl1-f178.google.com with SMTP id d9443c01a7336-234f17910d8so26356015ad.3; Sat, 26 Jul 2025 06:42:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753537375; x=1754142175; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=UJlrufef8Bsvwmu4OcR0axH9qFlPYK2uzAQ9Wh+0EEA=; b=bt+lST7CyGXrT2DKXfpUc2hxsqgvLUOl0x8PZD29EK6mqhlpZUSSLl1QxywhDAYBBf V53vLEWda5g02REAySJ90/dmAP183SARe6J8AhxY2feWuKTsmFGN4ZziFXaon0VCLkns f0anUKUllJr5EXF5M2YNaWdXVDRrYHmiltPrH4FuYJpOjtiSJ6Wdp8n7vsPlTRQw4vf0 Uq4WUhw0SQaf8xkbGoLtqHQeSw4aqhkKd7t6+Uo4mcfNmYVZ99/Bxg76gziW92jgZiAB 8uND8MT2JY4xA9NwB9OBV9oGaQqh+OFD2sBmcD0qZ8hHZQN+1JMY0NhtYvGQ3ZGFTT+f 2FbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753537375; x=1754142175; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=UJlrufef8Bsvwmu4OcR0axH9qFlPYK2uzAQ9Wh+0EEA=; b=qB6SksJ/9VX+Jj9SMxZ0Nr1F7aIoqSWi9kW/r7DZCR11oFgblPhG8uIUNCsli25fSU +KPKhTjuWfpWZ6hucR7jhxQXFlCGV/lAsbklgtvaNYsx2pSMn3AFMVN4LJWwDVMtqFkr 4BIfXPvNxTgi15Jm8qRyFacKrETUWzf8RpAvV/OL1yEQUZLArTiOWrW0e/mWVCALgCbt TdTWzgjPRJFipNwGcD9Kk+g+MT5ql+ubDUyfpllMRM4ui2U9vfmsoZGmcW874QUlHJuw mCKog4CaKFcgdB1hfXcXd0cM9sF4UyLHvW0N04eAGIkYhmcRqXAPAJw/HZjstBkHg+E8 /95g== X-Forwarded-Encrypted: i=1; AJvYcCUFQpGyoW3srYmbCdarqHQDAFYTTxt8X+u39h3vYo8NO00aJyUIHAMrOReLOWfzLfyT89sSge/zCBLZ@vger.kernel.org, AJvYcCVIF8qTYSq0jFC3t5GxIXPBtnq1OiexkB0izkFPeDb+d2CSX7RjMCYy717g8IFObCGvUZR/JNucUcuFuDc1@vger.kernel.org, AJvYcCVQ3+ufTY+2JXMmuNXZQmSeJ0s0Qb61mRjzBZbTQaoZMrL4W4x2LMqlxkGqRkF2Y8eBclJctReM/dHFb4m7@vger.kernel.org X-Gm-Message-State: AOJu0Yzt5a7z4VX54nmEy/EI6+bTFw3M/1wiAQNDu1CQvm56ZNxGd3J1 2CF8VqolqXjxaSgcR+/oTVu6VKXcV15KAByVBSyd/nhekCxPSV6IMzyf X-Gm-Gg: ASbGncsv9/HLbmPdBCqjxbUkxTw/YpbGGFv/ftrXktr9ndCdz3SpLMbT8/DcmRJiSsj CNU+ZVa6w7GfosvJ6+PpSgyWtS4gw2kQzi0wBHmRZlC+JcS5qK7xZVt5q7ndlQh44Q/3cvOEVU1 xbXp6cdcmNRuJi4au2c93Q4Dq5LfAyArwCcV4WHyFrobJZIEEr6yHLhkOEqaeAeU9oBV4WecA4k wbjunJS1Mnm7VTCpWV3D82is/hgOQGkf9g9nixa9cYBNiIOHUXb2q/SdIlN8GCFbYe1TFG5rn/I OIyN7vq5AzrW6yA9GN8B+WOe/5lLL2IfI8gwJO55S8kvjekU3KI2g1Y5hEHr30nvL4oGCi/wcuE 0X5XfB5Au5XoMN+t9D4ZFKpElUCC6eMvI/x4YtQFxqI3TUABThvqPK2S39dCi/A== X-Google-Smtp-Source: AGHT+IHe1qlZXAW9PZ96f1RjX/uLEzPFjAXVMf0q30Hpwrlk3uzY12aMbuj+6Tqo1M4z6vlAvOGg5Q== X-Received: by 2002:a17:903:2347:b0:234:8a4a:adb4 with SMTP id d9443c01a7336-23fb30364f2mr99505735ad.21.1753537375318; Sat, 26 Jul 2025 06:42:55 -0700 (PDT) Received: from ubuntu-Virtual-Machine.corp.microsoft.com ([2001:4898:80e8:77:9619:11b0:a73:e5a6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31e83508500sm1869190a91.22.2025.07.26.06.42.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jul 2025 06:42:54 -0700 (PDT) From: Tianyu Lan To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, Neeraj.Upadhyay@amd.com, kvijayab@amd.com Cc: Tianyu Lan , linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH V4 3/4] x86/hyperv: Don't use auto-eoi when Secure AVIC is available Date: Sat, 26 Jul 2025 09:42:49 -0400 Message-Id: <20250726134250.4414-4-ltykernel@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250726134250.4414-1-ltykernel@gmail.com> References: <20250726134250.4414-1-ltykernel@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tianyu Lan Hyper-V doesn't support auto-eoi with Secure AVIC. So set the HV_DEPRECATING_AEOI_RECOMMENDED flag to force writing the EOI register after handling an interrupt. Signed-off-by: Tianyu Lan --- Change since RFC V3: - Update title prefix from "x86/Hyper-V" to "x86/hyperv" --- arch/x86/kernel/cpu/mshyperv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/x86/kernel/cpu/mshyperv.c b/arch/x86/kernel/cpu/mshyperv.c index c78f860419d6..8f029650f16c 100644 --- a/arch/x86/kernel/cpu/mshyperv.c +++ b/arch/x86/kernel/cpu/mshyperv.c @@ -463,6 +463,8 @@ static void __init ms_hyperv_init_platform(void) ms_hyperv.max_vp_index, ms_hyperv.max_lp_index); =20 hv_identify_partition_type(); + if (cc_platform_has(CC_ATTR_SNP_SECURE_AVIC)) + ms_hyperv.hints |=3D HV_DEPRECATING_AEOI_RECOMMENDED; =20 if (ms_hyperv.hints & HV_X64_HYPERV_NESTED) { hv_nested =3D true; --=20 2.25.1 From nobody Mon Oct 6 01:21:11 2025 Received: from mail-pg1-f180.google.com (mail-pg1-f180.google.com [209.85.215.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E60AE286D46; Sat, 26 Jul 2025 13:42:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537378; cv=none; b=WXrwrVaB+yCjMDqO3fQY+S6feUalAw83/t5v2cE2oXuaiIrDCYb8ei+Jg64Wi2fHxk8EaS6kJnuIFUCTO1fr2ECfM3EKQSVa1qDbbmrUit7LygwgdXd6DtIu8mOH2Enl9wrkA9x7PjFA2/hLBkfMUqwaSyEpOP9kXQ2EjORDh4s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1753537378; c=relaxed/simple; bh=ma/BQawGYoy7ITtIcGnWLTuLrZMFRrj4k7am8UwuYVU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=SUkO/YFkkWQ73tqliR2wvG0qCQXj/F1/8brAwoLbl6nNJTyHi9GcqBkgHdvhOOVhPiAONe9/L5dZQtTAc9UEwIbRYvzOW/Yv4AbEjI5e+Rfc/S+OG2wqVNnFAUXxz+appcqsdvhdinVVCLYeRs2OzyFHee2KuEjgRdiIZ3e/QmU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RhDBAQ1t; arc=none smtp.client-ip=209.85.215.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RhDBAQ1t" Received: by mail-pg1-f180.google.com with SMTP id 41be03b00d2f7-b2c4331c50eso2755971a12.3; Sat, 26 Jul 2025 06:42:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1753537376; x=1754142176; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=k7igQM7Vyn71nhVvSbp2kQ44aAuz9LFYWyrsCyPIgIw=; b=RhDBAQ1tY5JPysUvfQlhNFeMEczXXmY3pvzCMemxM34hd8OpXyf+1fy23F8uE5md6m Zf/sCBO9+GeZ1rTDuoOheAnZ5wQk1yLwkiyexmnDjm9UYaSxmVdxJF6uTZgJqT5NTglu 8dDmxifx3y0wrm8iSyCfNcXUM111Of+YZ27+5+XDRLq4JU6NvKs0AD+VJ9rTf31zVeQx AEO4tB4GIpYRB6jgb2eGkq2DxJkrG7YVgGOy0/lQ2SjdVw14DjurWt1K6HUNQNBMvpsq M9H4cYT85iFjDNLALKTLKbjg8RKVJQv180aRYDalt8tNHG8C10i56O/Hy7dWOQK+sQmi 5Ypw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753537376; x=1754142176; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=k7igQM7Vyn71nhVvSbp2kQ44aAuz9LFYWyrsCyPIgIw=; b=qrYSvXUzcXYTrmMOD03gD5dmBWg7h6J8pTxk/pdBc7WznGApdHlP0kw5HOuIDgEGIa Kdw1hv4xz9VF1fbXyHsPDQTGjrFugpybWL8rvFnqzfIbgUNppmDo640+wRiRfUTyKuNK lRxHZSeukatTq/bZ8IQ0fQP/tuDlGXUfrRsnzZ2iYxGl+2huNQbiTrBONbOoHPnr9JoS VU2EFqQ2SoovM9omlY/YOCPQfO/4BYlV/KTwKp2Q9T1IexoBghW1JgEkjDN6voYyzRD5 ZN39y2752vvaDu1FpxVMuql/XCWVYy9kolV8J5Bo/Uu9dNOuhCrSlsSvUIkD9y8eAFp1 ERQA== X-Forwarded-Encrypted: i=1; AJvYcCUtU/Mwq0+yndUMBk8RsASdcZaH2uhq4XMN/NV4aYikmCGV6k+/xXN6zDkkbhAYEZkL67J5ABXn/V0CT7W+@vger.kernel.org, AJvYcCVvTXFlMNauhoznvKB/BQXvll1D2teSiXsJj/D/hBkC/tMlmknFEL0As/oV+WMJXOimlI5rOriRj5sF@vger.kernel.org, AJvYcCXqjWrpIrMAqRxi0l9UBYH3aNj7lAuq8NPfxDPLLmtcG0J/3nH5hpCVAw4FLrlpj+MbU85v4Uzli/oX3Mi4@vger.kernel.org X-Gm-Message-State: AOJu0YwCnyA83g8D9NIOHALmxNgX1pz0AUmXsdz2SFiwpa7j9BToYdGW c5THpKg3lG+Vve6QOl4Rc50slMKCqEk8lrles/gSIG5YcJyuenQQ6TBm X-Gm-Gg: ASbGncvmeONGqEEvr9odQtJr/GuiJwgN9dToTqBz6vK7+LbMe2iejnUAGNDSJ5UOrHl qDPF2Tot9BD1ufFKehw132am3PfSVFkpBnXlVisNBwC3uR/rprmIPuyXKnlsZnUdREUerlMI5Fl aI77BFeMa/gDHxydERfd+0FUsAKbNJqTWs2rHza1fhveqgjzPB1H77bmS722ayPz/xncJQpl6Eg Tq43HTZrG8PU0Dn34Vc8QHVhI8WVNOvPRZcRihv4UvoFU1v6deVcNXvv7PmcjUxvhr8llk5bhOl 7TtkPaIw/rxhbmmkd1kkDXORsT/LqNpUl943fnvilGyeyotnBLUye8YVQoGyrhXmAyeLK8d40s+ ps3z+rJmEjZdldsHQjewasoDebYS8bKqgr/oslDIlr6SDB4YiO+xQNWGBL8qtGA== X-Google-Smtp-Source: AGHT+IGykL3x0uCuxja/bgPqhGoOyWm/WxysnfAYTbQkxQLZoEShTNhvEthuDBcdTIEqtQJLd7SBjQ== X-Received: by 2002:a17:90b:5804:b0:311:f99e:7f4e with SMTP id 98e67ed59e1d1-31e779fa061mr7768141a91.16.1753537376282; Sat, 26 Jul 2025 06:42:56 -0700 (PDT) Received: from ubuntu-Virtual-Machine.corp.microsoft.com ([2001:4898:80e8:77:9619:11b0:a73:e5a6]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-31e83508500sm1869190a91.22.2025.07.26.06.42.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Jul 2025 06:42:55 -0700 (PDT) From: Tianyu Lan To: kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com, arnd@arndb.de, Neeraj.Upadhyay@amd.com, kvijayab@amd.com Cc: Tianyu Lan , linux-arch@vger.kernel.org, linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, Michael Kelley Subject: [RFC PATCH V4 4/4] x86/hyperv: Allow Hyper-V to inject STIMER0 interrupts Date: Sat, 26 Jul 2025 09:42:50 -0400 Message-Id: <20250726134250.4414-5-ltykernel@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250726134250.4414-1-ltykernel@gmail.com> References: <20250726134250.4414-1-ltykernel@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Tianyu Lan When Secure AVIC is enabled, call Secure AVIC function to allow Hyper-V to inject STIMER0 interrupt. Reviewed-by: Michael Kelley Signed-off-by: Tianyu Lan --- arch/x86/hyperv/hv_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c index 3d1d3547095a..591338162420 100644 --- a/arch/x86/hyperv/hv_init.c +++ b/arch/x86/hyperv/hv_init.c @@ -132,6 +132,10 @@ static int hv_cpu_init(unsigned int cpu) wrmsrq(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); } =20 + /* Allow Hyper-V stimer vector to be injected from Hypervisor. */ + if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) + apic_update_vector(cpu, HYPERV_STIMER0_VECTOR, true); + return hyperv_init_ghcb(); } =20 @@ -239,6 +243,9 @@ static int hv_cpu_die(unsigned int cpu) *ghcb_va =3D NULL; } =20 + if (ms_hyperv.misc_features & HV_STIMER_DIRECT_MODE_AVAILABLE) + apic_update_vector(cpu, HYPERV_STIMER0_VECTOR, false); + hv_common_cpu_die(cpu); =20 if (hv_vp_assist_page && hv_vp_assist_page[cpu]) { --=20 2.25.1