From nobody Thu Apr 16 15:12:23 2026 X-Original-To: dev-commits-src-all@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 4fxM1z6x77z6Zq3l for ; Thu, 16 Apr 2026 15:12:23 +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 4fxM1z2Bzvz4MwQ for ; Thu, 16 Apr 2026 15:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776352343; 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=JGInpRxxbvrwbZRZVvKCkgu2F6B+Uxfsc4Z5pj0lkgA=; b=VkXYzOEcktTR6J2kblaW6hQo4zU2hplLRg8kRhxdwU86Z3GkYk/C7NOubYycjtXa4k408p 5joyqPFjfBN6FyB4ywcD9IBqLbKukCejLy81/rKpk3NZ3xBjJtAV5ezhQa4WuwWgzCYSfd X+HiMAqcHyjJW6xndiKgWmFmtK6YeQW6L5gRuVhod11L/CHzxo8Q51dSpRdW+zG/FJURfA Izva9oCGGjQC5RUVE3KxHoTufrQwwHnMqjaRE9kA5qevvL8pBgiWCH+3ajIa51J+RHNxx4 Oeh0HGjqK9W+xHXO1fVO9+0QXnazJG2cPuneXJ5rtrEQjh5s9aiLDDFO6okfqg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776352343; a=rsa-sha256; cv=none; b=OGY/IiJSbLvwE8fl7CqSZ0ubJLrCiTbt31XqE7vkUpe78ycubc8U+NK7exRoiTDKE/q7nT JaBI/z8IAtAn9CZm1ODe4ZyxIj3P8Sf9jiVuCTov6Vzqqx3yV+SpOu26eWGnPml3fAx+yg vG6gquPgkoTSjj9a2MZFkVPl7dYJrBMpoJgA0lujY8VD+WFGP3aouqTsdhSPMzDjwJqhZx TS95un8PWtMkcP2EqmXpnLzBgAnFhTw6vxO5TN/3YiyTUmFQ2qgkIStwqZJhI/q20w/Q8V 5nz0Pcd8kgDLp7nCbNX4VpZ3yFOl8MgaANB81G/lTkM6qJHHeNMoRdEJBR3sjg== 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=1776352343; 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=JGInpRxxbvrwbZRZVvKCkgu2F6B+Uxfsc4Z5pj0lkgA=; b=WefkYOlAvTtZvYhdqeyKTdhNzWhqQplx+F9ShiumzK1X4fVmKrVL7yyhkTWVQb4R+830LQ S/jrCKbV2PBpAn4b3BSYSUVznIEQAv15L9Jf1zN1nKQZH8OvqPHXgPyN6Rx7pE0rJoDpjB OUGvjnjlVToj2V+sfUHT6mVRQtZ3CRil4T/SurJKQJdEc0unMphlphzXsBAfYO0zq2I8C9 qPGSs2ZD50oPFTaLC/KnegpYKa4WOQW3QgmyYKJRx462G6Ry1IquORGrH74G9uWTraKkJ8 z2jNIppJx9298M2Iwge19RlRCO/P+LB19wmvesTD5hQ6WMEKPOHjQSuNRwWVAg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fxM1z1pcHz1BmL for ; Thu, 16 Apr 2026 15:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1f204 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 16 Apr 2026 15:12:23 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: fa4faeb0249c - stable/14 - KVM: Detect Extended Destination ID support List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/14 X-Git-Reftype: branch X-Git-Commit: fa4faeb0249cf224409bb844d2c814d375dc1435 Auto-Submitted: auto-generated Date: Thu, 16 Apr 2026 15:12:23 +0000 Message-Id: <69e0fc57.1f204.7c8f2a92@gitrepo.freebsd.org> The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=fa4faeb0249cf224409bb844d2c814d375dc1435 commit fa4faeb0249cf224409bb844d2c814d375dc1435 Author: Colin Percival AuthorDate: 2026-02-22 04:09:00 +0000 Commit: Colin Percival CommitDate: 2026-04-16 15:11:55 +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 063ba0d43686..d54bfbbd43c7 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 @@ -1934,6 +1935,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; + } } /*