From nobody Fri Nov 11 02:01:21 2022 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 4N7hl550Z4z4f6MV; Fri, 11 Nov 2022 02:01:21 +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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N7hl54Y09z3MqB; Fri, 11 Nov 2022 02:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668132081; 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=ByaG1/B+U5T+b1E/UIjHNL1ehsXPnpgGMpfyt8vrQbo=; b=patWxNol0hdIb5USCZxw0m+DtkdsgVwUt8ujzUkNPxvSguioEGnCDyEcQDmbH7VebLxDIu ATK4aVfIV2ouxyoXeYNvzHyCu3JiTzXFddmEM3gCLu/xHeouvMIuS813ef+BdFx4jmjSpw 8drH58t3mp4s/un0OKlM1P+qM2FKAXEq+3vf0TZgZf/kCw0KbgTwZnDp5kToaSRsAmCK3y fOGsnUEY6aouPUEqFgqp5omy0Q6DaJCHOdEc6yqoy5wfzsiQslZyQ6x6gJKYSTaAKhFObH ALf/iKS1gdiOJ9X606Ij2WcpHsmtGve8iybBBReDfYf4q10nIYhVIZ/roc2uqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1668132081; 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=ByaG1/B+U5T+b1E/UIjHNL1ehsXPnpgGMpfyt8vrQbo=; b=WBSeWWtofXjQ5BC7fMacbHxcAbsc/rz8eTSok4Z5QCVmx6+NFDw8cJUsgo/WIQ78n4XxYL Gd8lqNrz6wx7QFwowKrmItcq4USPeXfjY2lUr4/1mztV4Wj553YlLyVK3ec/C05QGo0+mK dakGWwXJIFC8KNGPe4xn+CJzjwSqrHt0aeb4G2ScEKJmDktcmVy2fTg5ajOWG3ONWttD1b +zDHJFd4vkQFafCYzS51l3M0y7wRn3QSV5+Fp7uWbsZ/R4xwB/iD/guyXykU9zp64AJdFA uO0Ju9KsdRm+wQ5mV2bOf2ftCuSdWCn4USNkQJXg2VVkGkRurzwYCSPoHaTs5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1668132081; a=rsa-sha256; cv=none; b=quYQSuktSVxYK4ol5RVBInQatRvzJ7Z4+kfqM+X/VsSRl6NB8ljcusP39gvRVpkl6IYYQK FA5fpomcc31JSK+i2/vRIrdUoj6i07DcoTnEY0WCvttl66JrXpevNWpY8kwJws/OfBXaFN Z9WAGH+LeQ3N9TIbKeyf5AshixdUTpsp5ajn+rzpqo38oQXnMymYJ+BXY1HssrapFg4/hD 6Pypjf8cPjRAmbATIqr1LzmAnrHojSGdonN3E1t2iTsS3fDme9WdL8ci/ErIV0Yd6Fqtav Z3hlDuRrqr+qvKM3DUV0rY5uFTn1Sm5T2GpRnP/qev+2V4LPSLaE1sM8ysV7+g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4N7hl53cSszPF1; Fri, 11 Nov 2022 02:01:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 2AB21Lg3080080; Fri, 11 Nov 2022 02:01:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2AB21LJW080079; Fri, 11 Nov 2022 02:01:21 GMT (envelope-from git) Date: Fri, 11 Nov 2022 02:01:21 GMT Message-Id: <202211110201.2AB21LJW080079@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: John Baldwin Subject: git: 19b7a0cf4174 - stable/13 - vmm: Cherry pick illumos commit '13361 bhyve should mask RDT cpuid info' 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: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: jhb X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 19b7a0cf41748f2038c3d503016aa30372c894e2 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch stable/13 has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=19b7a0cf41748f2038c3d503016aa30372c894e2 commit 19b7a0cf41748f2038c3d503016aa30372c894e2 Author: Vitaliy Gusev AuthorDate: 2022-06-30 17:27:27 +0000 Commit: John Baldwin CommitDate: 2022-11-11 01:48:38 +0000 vmm: Cherry pick illumos commit '13361 bhyve should mask RDT cpuid info' Summary: commit 1a5f1879be09d3de900b2510692dd12003784d84 Author: Patrick Mooney Date: 2020-12-16T20:02:23.000Z 13361 bhyve should mask RDT cpuid info Reviewed by: Andy Fiddaman Reviewed by: Toomas Soome Approved by: Robert Mustacchi https://github.com/illumos/illumos-gate/commit/1a5f1879be09d3de900b2510692dd12003784d8 ---- We saw similar warning of GP (on Intel Xeon CPU E5-2630 v4 and VM with Ubuntu 20.04 5.4.0-113-generic) until this commit is applied: ``` [ 1.658880] kernel: unchecked MSR access error: WRMSR to 0xc8f (tried to write 0x0000000000000000) at rIP: 0xffffffffacc735b4 (native_write_msr+0x4/0x30) [ 1.662734] kernel: Call Trace: [ 1.663885] kernel: ? clear_closid_rmid.isra.0+0x36/0x40 [ 1.665501] kernel: resctrl_online_cpu+0xdc/0x3f0 [ 1.666952] kernel: ? __switch_to_asm+0x40/0x70 [ 1.668358] kernel: ? __switch_to+0x7f/0x480 [ 1.669693] kernel: ? cat_wrmsr+0x70/0x70 [ 1.670970] kernel: cpuhp_invoke_callback+0x9b/0x580 [ 1.672541] kernel: ? __schedule+0x2eb/0x740 [ 1.673893] kernel: cpuhp_thread_fun+0xb8/0x120 [ 1.675304] kernel: smpboot_thread_fn+0xd0/0x170 [ 1.676685] kernel: kthread+0x104/0x140 [ 1.677948] kernel: ? sort_range+0x30/0x30 [ 1.679299] kernel: ? kthread_park+0x90/0x90 [ 1.680570] kernel: ret_from_fork+0x35/0x40 [ 1.682000] kernel: *** VALIDATE rdt *** [ 1.683454] kernel: resctrl: L3 monitoring detected ``` Reviewed by: markj, jhb MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D35442 (cherry picked from commit 5afcca138f6b1f9d6413de586a0cf2baf16da764) --- sys/amd64/vmm/x86.c | 18 ++++++++++++++++++ sys/amd64/vmm/x86.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/sys/amd64/vmm/x86.c b/sys/amd64/vmm/x86.c index c97cb91af4f6..67542fe3b661 100644 --- a/sys/amd64/vmm/x86.c +++ b/sys/amd64/vmm/x86.c @@ -576,6 +576,24 @@ x86_emulate_cpuid(struct vm *vm, int vcpu_id, uint64_t *rax, uint64_t *rbx, } break; + case CPUID_0000_000F: + case CPUID_0000_0010: + /* + * Do not report any Resource Director Technology + * capabilities. Exposing control of cache or memory + * controller resource partitioning to the guest is not + * at all sensible. + * + * This is already hidden at a high level by masking of + * leaf 0x7. Even still, a guest may look here for + * detailed capability information. + */ + regs[0] = 0; + regs[1] = 0; + regs[2] = 0; + regs[3] = 0; + break; + case CPUID_0000_0015: /* * Don't report CPU TSC/Crystal ratio and clock diff --git a/sys/amd64/vmm/x86.h b/sys/amd64/vmm/x86.h index 318f0b5cf871..4785bb8f46d4 100644 --- a/sys/amd64/vmm/x86.h +++ b/sys/amd64/vmm/x86.h @@ -41,6 +41,8 @@ #define CPUID_0000_000A (0xA) #define CPUID_0000_000B (0xB) #define CPUID_0000_000D (0xD) +#define CPUID_0000_000F (0xF) +#define CPUID_0000_0010 (0x10) #define CPUID_0000_0015 (0x15) #define CPUID_8000_0000 (0x80000000) #define CPUID_8000_0001 (0x80000001)