From nobody Mon Mar 24 17:03:38 2025 X-Original-To: dev-commits-src-main@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 4ZLzsR0dYDz5r9L4; Mon, 24 Mar 2025 17:03:39 +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 4ZLzsQ6Hkmz4MGk; Mon, 24 Mar 2025 17:03:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1742835818; 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=pVyIeDqmEYxxjE/5OLCo/o4zZFGLq7LK+nqdJ6RQb9E=; b=UUwrt5dE0oXbZNykaPHi68+ZxjDiHgw/y6mVqLAdkUhNHB6bamorcmL8bRPEmZDj8YWgiW +STyW/mSXfU7jpdRd+nnmi6GHpBToQkZiDsQKemsB706wedZG1o71q9qLpM2VX8qdhdV2t 0tInZ7MLA57tt5zNiJxmJldcQokAv97dl8GVrFCflz/ZynONVO2E94DNK+Q6Hm8BXr2m8W VQYwohurSLl3tJ0Fhgdr9ltJjE4GwpfwbYfCIEOIKTbZPMKgWPp1VlnwT4AbsbuS2EIe7v NUHTj1TQUifA8/aYRpdGt/WL96rpXwyf+pBC4U9OscH8Aqzjmsu+YOrSXkJKXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1742835818; a=rsa-sha256; cv=none; b=hJvcKWiJKn6J7neR8eA2soM+QK5a5d/26T7OMUM2ZDZE14/Aa56qdz2WTGOK2H0fpOVmbb A7l8GSeQXyKmXWekv1pBcDV8creMmL3V6tUQt9J8c0ZVRg/pKLJMcGrz+tZ0P2+OzXWCOg c9h4wQvoZ0PiYg7oNs4YfXo7+ao3hZDGy1tJRpwk1CauWtUkgvN/zP6eo+GdRqr8MOu3a3 2TJpqU8DpPbMl3MIpNxYNXS+mhjV7q1pJKbnwnvZRLl42A/Ei1SN7Hj5USBGIIgmsH8jB+ 8UIDV+9fxesOpZ832+fW0VLsSuDuSFvegJWL18cBtMRlXJuHBM1K7246sZhQ0Q== 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=1742835818; 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=pVyIeDqmEYxxjE/5OLCo/o4zZFGLq7LK+nqdJ6RQb9E=; b=hWglbtTPoCUR4n7K/PdnnsbtzOe0y91YUvFPpngDfrRUlHq0M+AqIx/1DmYIaPM8X6/sC6 JIF+xJCamE5Hm2b8UeCf4CjMFVFZWty3Q8RHPE3VP19eWUkR0qCc9g0M9pjJ1IVQN/P+vZ 4GzoQh3MzcfdQ9YxNnWhJeWhnqci5biqiCTCLWO2Mb8oRdjqBVkvv3qAkzF0FLmV5WqZK4 9EU+rTmutxQ/tT1qzrEqVYXKMY9qDjvQoOg1SIfp91uCUZNuH2n9WstTil3qKRUxu+vGea azvxZ4RO8h+YrdCPx048Ep+GITZ/yba7SpetDLOYTQ//I3mu/eIO01X5w4NlXQ== 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 4ZLzsQ5Ywlz12Gt; Mon, 24 Mar 2025 17:03:38 +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 52OH3cTX015498; Mon, 24 Mar 2025 17:03:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 52OH3cT0015495; Mon, 24 Mar 2025 17:03:38 GMT (envelope-from git) Date: Mon, 24 Mar 2025 17:03:38 GMT Message-Id: <202503241703.52OH3cT0015495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: a27328ea3927 - main - bhyve: Suppress unimplemented MSR related warnings List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a27328ea392714f2bc106f138191fd465157aafb Auto-Submitted: auto-generated The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=a27328ea392714f2bc106f138191fd465157aafb commit a27328ea392714f2bc106f138191fd465157aafb Author: brendabrandy AuthorDate: 2025-03-11 23:19:58 +0000 Commit: Warner Losh CommitDate: 2025-03-24 17:02:30 +0000 bhyve: Suppress unimplemented MSR related warnings When using bhyve on x86, rdmsr and wrmsr can emit many warnings when dealing with unimplemented MSRs. An option x86.verbosemsr is created to control these warnings. By default, the MSR related warnings are suppressed to avoid spamming the console. Sponsored by: Netflix Reviewed by: imp, jhb Pull Request: https://github.com/freebsd/freebsd-src/pull/1611 --- usr.sbin/bhyve/amd64/bhyverun_machdep.c | 1 + usr.sbin/bhyve/amd64/vmexit.c | 14 ++++++++++---- usr.sbin/bhyve/bhyve_config.5 | 5 +++++ 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/usr.sbin/bhyve/amd64/bhyverun_machdep.c b/usr.sbin/bhyve/amd64/bhyverun_machdep.c index d51ad3a5fc05..85af124b5536 100644 --- a/usr.sbin/bhyve/amd64/bhyverun_machdep.c +++ b/usr.sbin/bhyve/amd64/bhyverun_machdep.c @@ -63,6 +63,7 @@ bhyve_init_config(void) set_config_bool("acpi_tables_in_memory", true); set_config_value("memory.size", "256M"); set_config_bool("x86.strictmsr", true); + set_config_bool("x86.verbosemsr", false); set_config_value("lpc.fwcfg", "bhyve"); } diff --git a/usr.sbin/bhyve/amd64/vmexit.c b/usr.sbin/bhyve/amd64/vmexit.c index e0b9aec2d17a..944f5de34645 100644 --- a/usr.sbin/bhyve/amd64/vmexit.c +++ b/usr.sbin/bhyve/amd64/vmexit.c @@ -107,8 +107,11 @@ vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, val = 0; error = emulate_rdmsr(vcpu, vme->u.msr.code, &val); if (error != 0) { - EPRINTLN("rdmsr to register %#x on vcpu %d", - vme->u.msr.code, vcpu_id(vcpu)); + if (get_config_bool("x86.strictmsr") || + get_config_bool("x86.verbosemsr")) { + EPRINTLN("rdmsr to register %#x on vcpu %d", + vme->u.msr.code, vcpu_id(vcpu)); + } if (get_config_bool("x86.strictmsr")) { vm_inject_gp(vcpu); return (VMEXIT_CONTINUE); @@ -137,8 +140,11 @@ vmexit_wrmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, error = emulate_wrmsr(vcpu, vme->u.msr.code, vme->u.msr.wval); if (error != 0) { - EPRINTLN("wrmsr to register %#x(%#lx) on vcpu %d", - vme->u.msr.code, vme->u.msr.wval, vcpu_id(vcpu)); + if (get_config_bool("x86.strictmsr") || + get_config_bool("x86.verbosemsr")) { + EPRINTLN("wrmsr to register %#x(%#lx) on vcpu %d", + vme->u.msr.code, vme->u.msr.wval, vcpu_id(vcpu)); + } if (get_config_bool("x86.strictmsr")) { vm_inject_gp(vcpu); return (VMEXIT_CONTINUE); diff --git a/usr.sbin/bhyve/bhyve_config.5 b/usr.sbin/bhyve/bhyve_config.5 index 3f9d9130787b..3dd24ca5fe69 100644 --- a/usr.sbin/bhyve/bhyve_config.5 +++ b/usr.sbin/bhyve/bhyve_config.5 @@ -240,6 +240,11 @@ By default, writes are ignored and reads return all bits set. Inject a general protection fault if a guest accesses a Model Specific Register (MSR) that is not emulated. If this is false, writes are ignored and reads return zero. +.It Va x86.verbosemsr Ta bool Ta false Ta +Enable verbose MSR print out. When this option is true, +messages related to reading from (rdmsr) and writing to (wrmsr) +MSRs on virtual CPUs will be printed out. This can be useful for +debugging purposes. .It Va x86.vmexit_on_hlt Ta bool Ta false Ta Force a VM exit when a guest CPU executes the .Dv HLT