From nobody Thu Apr 16 15:04:29 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fxLrs5Zz8z6ZpBG for ; Thu, 16 Apr 2026 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fxLrs28Xjz4Hwk for ; Thu, 16 Apr 2026 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776351869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B3Gy9dWFH+M+4vSWNRea3Gwgt9/QGBlfz5IxqdL1ftw=; b=EjpeYbQuC28A1WY2beWv4AIPMNLAMmil+fkEuHERjGq1GZZvqxxI78umL7zmr7hHeYCfeo NtAJBcJsliKZJhTZGSN79fJbNRg7IjpWM/hKfC1meIU/ZGtFkbAtsD7Rbab/kh8BILENhs m/7BR/+Ee8lr4LjfqfrIzxK6XzbTHEOipDuMeinQudPRi/cZHUMTdhnjT4uvhzN4DUd/c6 PuroLvqYiYC3Owne9jMkx8NBTybphJWwREy3msbLIt0sg4ncq24oXjnNxCVPFrLFDllAyN zu/qRcR4Y/AhybUTGhfYnck+3lkVD8iFvS8kKBoOcD4UXh3m3ofZnBvQzlxOaA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776351869; a=rsa-sha256; cv=none; b=GXkEAkj615hp9F/SoUh7Muezm6Sz9DdP+LtnhWAStV0VAFNS3jTgEQ13o5DwKhY2B5gQH9 LN30N+9GhlaWHEqsArYG0BoBBtOV8aMhg4I+VrU5bGbOOlzW7FWaBdts29g92Hcm8cMZLB j5rOTlX8mqsx87Jj04C5DpUyHZJqbocrnYQKHDal7bPwZdxjrOLQsCXM1TdJkY1a7CQ04/ gEAg2SptRqsdoMTSwDGXkIDi8NX4GSR0r24DevcbphtXhSdytJ939zlQFi+SjOeo10t/3/ j2b94KoPFTQDKrxTvNqVKlWQ94VohI5vdp3vG8T4w4Ok9nmfz4ufKDw7HFGGIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776351869; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=B3Gy9dWFH+M+4vSWNRea3Gwgt9/QGBlfz5IxqdL1ftw=; b=C+1JyW1H4JwcYXgqxyg57PK7Ya6WGPZoFkIKtEhaWndi3P2etyYvQvK3KLflPmg5CGFS55 3UTbdfZnUHriq2Afrdc8A1aBMwHpJKqc0oOMRJmT04QZU4vuHyw6cuHnXoiy5wra7uwfC3 XWHfxUXNLdloCCkH5agBVOG9Q1IcIgQo1ZXOvCIUy9S8/YmJojLATlE1KjVu1NKsJ9tNOR f++VlE79CoyPUSAM8fMSIkFaqszcEmEZ3eXtcS5NjuHj6/xIp80bWpHAlkU9EpcheiE6tY Qa8NoNlTpMGnB3IZ2oqZEJ9TRny7O8BKsJAFgyFfSjfY+wG+iNQl9KzOMoMGdg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fxLrs1j8Yz1BYv for ; Thu, 16 Apr 2026 15:04:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e130 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 16 Apr 2026 15:04:29 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: 2931aabc40ea - stable/15 - KVM: Detect Extended Destination ID support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 2931aabc40ea380781f882e0909fed75f8530b64 Auto-Submitted: auto-generated Date: Thu, 16 Apr 2026 15:04:29 +0000 Message-Id: <69e0fa7d.1e130.60479750@gitrepo.freebsd.org> The branch stable/15 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=2931aabc40ea380781f882e0909fed75f8530b64 commit 2931aabc40ea380781f882e0909fed75f8530b64 Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-04-16 15:03:59 +0000 KVM: Detect Extended Destination ID support KVM advertises support for the Extended Destination ID standard via bit 15 of the value returned in the EAX register when KVM features are queried via CPUID. Tested on: EC2 r8i.96xlarge MFC after: 3 weeks Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55427 (cherry picked from commit 9ab5aa3d4c7879d5518afc7587a864ba880e7ee9) --- sys/x86/include/kvm.h | 1 + sys/x86/x86/local_apic.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/sys/x86/include/kvm.h b/sys/x86/include/kvm.h index fef26bde226a..83dd20fa8d23 100644 --- a/sys/x86/include/kvm.h +++ b/sys/x86/include/kvm.h @@ -49,6 +49,7 @@ #define KVM_FEATURE_CLOCKSOURCE 0x00000001 #define KVM_FEATURE_CLOCKSOURCE2 0x00000008 +#define KVM_FEATURE_MSI_EXT_DEST_ID 0x00008000 #define KVM_FEATURE_CLOCKSOURCE_STABLE_BIT 0x01000000 /* Deprecated: for the CLOCKSOURCE feature. */ diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c index cb7b03b313c1..ea5b14d92262 100644 --- a/sys/x86/x86/local_apic.c +++ b/sys/x86/x86/local_apic.c @@ -72,6 +72,7 @@ #include #include #include +#include #ifdef DDB #include @@ -2076,6 +2077,16 @@ SYSCTL_INT(_machdep, OID_AUTO, apic_ext_dest_id, CTLFLAG_RDTUN, &apic_ext_dest_i static void detect_extended_dest_id(void) { + u_int regs[4]; + + /* Check if we support extended destination IDs. */ + switch (vm_guest) { + case VM_GUEST_KVM: + kvm_cpuid_get_features(regs); + if (regs[0] & KVM_FEATURE_MSI_EXT_DEST_ID) + apic_ext_dest_id = 1; + break; + } } /*