From nobody Wed Mar 12 00:25:23 2025 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 4ZCBH83L5xz5rGN5; Wed, 12 Mar 2025 00:25:24 +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 "R10" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZCBH80t3Vz3Zkp; Wed, 12 Mar 2025 00:25:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1741739124; 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=KygFKI7GHZBa+KXfJScE1Wrzq1YeUgPH1E+z+WbH5Og=; b=olhpvwuSk5phzBOCP9SZrWfy+a80GZ+AkhN2PtiPZtfO3zit3zmE2iwd0lVQ96R0xECBDD XAU/skRUqkSnWhp2vDUPHfa0PYVCmqpmPlUeuX3tD4KVRqsONL67+srTPvJ7MFBCBnZlmE bxxCiXwHKZ7VsQP8qw+cp1itMHmYl2HiILyqZH3dR0wLfiAiX0dqc4fFhbTMw+sskApvSI 9/PyfGxmxDxS0b6FxX6pC4mIJuGEsfLZiVDm2Az56/2UB1a0QJKzfKk5cnUOniS+DZ6RaG XWJ3H6THZ53uWZNcbwo/ASiDuhGD/bW3DnoAwV6DWGJOK3gqsoRQ+20JCHRUfA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1741739124; a=rsa-sha256; cv=none; b=VPh0J7o+0e14gdlrB25qQiLBcb/3nj1EXxnHjlSae0mce6BQKuM4E5ax/bCsx7eSqXBWBW jKklOvjAtlaiWsQJerDNKswDpKZVVDiuzoxOaykth7QZiR8f/5ZGt7PFjWLfjjTq/xkOb4 m384Y8BWf1yHET9GXsyZaXianZ7w+6JryVqpsEV3oB48Qd5Zj6qJLh3JC3W+KwA8k7B9As BRy935d5TUsGsSleZCSRpbuDcln0joebik/2LZUQQcvejPhUp0SnTn90GOk645S8in7b2m 1IxTqY4NOq+S9kzlDfsE23tUdkctD1Ew5bZJLw0dJAJlBDxZkr9GuH0tQoNgSg== 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=1741739124; 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=KygFKI7GHZBa+KXfJScE1Wrzq1YeUgPH1E+z+WbH5Og=; b=KV+sniVGGFAU/uqSaVP26Fp6KePxZOBowB3kNAWqKRjKSmQ4Z14EZE8dz82A8Z/Q54xX6/ cQtAXEQ57dKWHFruzEKqC6UFOtaj+xFPBJ6pRbnwXHGpF0vt2kBm8j76PZxWuKpD20HrB7 92fHW5YueX7PJnmaTDsC+9CFbyILK7F9ZwAQc9hifu75qg6JOtneJOcvM0AYkDI1/PCQMq EZnx0g/42X0vJi8BFsqjUHGKkHNoQEYuu/xJFjjhRNbwHWrgC/uej87SwRiqAzMRMhZJVz T1gQpCIh446khf5zfyS9sbwOhYgMAjjsMzdIiHBn6Gw8Ex/5THjfJ5Ghgt+2QA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4ZCBH802DmzpZ0; Wed, 12 Mar 2025 00:25:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 52C0PNNU089845; Wed, 12 Mar 2025 00:25:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52C0PNWX089842; Wed, 12 Mar 2025 00:25:23 GMT (envelope-from git) Date: Wed, 12 Mar 2025 00:25:23 GMT Message-Id: <202503120025.52C0PNWX089842@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: f9857ea43a38 - stable/14 - bhyve: fix CPUID L3 Cache Size reporting for AMD/SVM 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: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: f9857ea43a38b74e34ce7f6576ad4e6415413454 Auto-Submitted: auto-generated The branch stable/14 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=f9857ea43a38b74e34ce7f6576ad4e6415413454 commit f9857ea43a38b74e34ce7f6576ad4e6415413454 Author: Konstantin Belousov AuthorDate: 2024-12-17 21:09:33 +0000 Commit: Konstantin Belousov CommitDate: 2025-03-12 00:25:02 +0000 bhyve: fix CPUID L3 Cache Size reporting for AMD/SVM PR: 279901 (cherry picked from commit 0698ce429f78f548f7eb3e54476fb312109ddd8b) --- sys/amd64/vmm/x86.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index 7d11346ac842..744e2bfd57db 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -152,8 +152,6 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, * pkg_id_shift and other OSes may rely on it. */ width = MIN(0xF, log2(threads * cores)); - if (width < 0x4) - width = 0; logical_cpus = MIN(0xFF, threads * cores - 1); regs[2] = (width << AMDID_COREID_SIZE_SHIFT) | logical_cpus; } @@ -258,7 +256,7 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, func = 3; /* unified cache */ break; default: - logical_cpus = 0; + logical_cpus = sockets * threads * cores; level = 0; func = 0; break; @@ -268,7 +266,14 @@ x86_emulate_cpuid(struct vcpu *vcpu, uint64_t *rax, uint64_t *rbx, regs[0] = (logical_cpus << 14) | (1 << 8) | (level << 5) | func; regs[1] = (func > 0) ? (CACHE_LINE_SIZE - 1) : 0; + + /* + * ecx: Number of cache ways for non-fully + * associative cache, minus 1. Reported value + * of zero means there is one way. + */ regs[2] = 0; + regs[3] = 0; break;