From nobody Mon Feb 9 09:09:39 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1548438925016435.19716761191705; Fri, 25 Jan 2019 09:55:25 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 15A15C09942B; Fri, 25 Jan 2019 17:55:21 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C88351821F; Fri, 25 Jan 2019 17:55:20 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 767F941FB9; Fri, 25 Jan 2019 17:55:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x0PHtDxJ013639 for ; Fri, 25 Jan 2019 12:55:13 -0500 Received: by smtp.corp.redhat.com (Postfix) id 14B6E179DA; Fri, 25 Jan 2019 17:55:13 +0000 (UTC) Received: from mx1.redhat.com (ext-mx01.extmail.prod.ext.phx2.redhat.com [10.5.110.25]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0BCD95D9D6 for ; Fri, 25 Jan 2019 17:55:07 +0000 (UTC) Received: from mail-lj1-f194.google.com (mail-lj1-f194.google.com [209.85.208.194]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 1498A8AE75 for ; Fri, 25 Jan 2019 17:55:06 +0000 (UTC) Received: by mail-lj1-f194.google.com with SMTP id n18-v6so9079044lji.7 for ; Fri, 25 Jan 2019 09:55:05 -0800 (PST) Received: from kloomba.my.domain ([213.147.206.177]) by smtp.gmail.com with ESMTPSA id f20-v6sm1604651ljk.33.2019.01.25.09.55.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 25 Jan 2019 09:55:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=q9T3gK8ZR56RTpDmPyQcv0zf+F/SBRfgqeEY1CQ0YUM=; b=HTgqTVBf0AoUzh3LPg/wAp/x7EoncX+YLXv9BIUv2hycfoYztBEetnTLJpwPgRFw5b ZkTenez5uAbrU3xplv360tKSGptywwLH1It7m2ufN4H9gZkP1z8VORDH2XNTYFB+rntx oUTAwAuPYbKqLoLbgE3pQgxnHniNI9AlMleokKUlN1yKVxPtSZDE2HbJ55nIL72CZDgg lINZAtRtLtFmoug/D2db4UQJJDHyrfiRUlT8sPrt7Bx/ew/vD32Dt4djOKDWqz1YNQTv THPaCZvOAIb8NBND5d1R7c8kyX9DKBJAqUFSKyEqum6ouZ+H4tWbdMGJDB4Vx9PtbJL4 qbAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=q9T3gK8ZR56RTpDmPyQcv0zf+F/SBRfgqeEY1CQ0YUM=; b=Re561tuZ4FTx31k/PFrheE1Xz5WgnnCswHfHbxMcUj0ets1JAdwTz80lZV1CzhOOH3 THU4/A806zsVRXYgjye2DF7iIj2irIhiTjDBIQweSP2+aRd7VPoH3o0mKIjHBlKHqVrX GPWnlHNKR9/y+yHpox+l0FVGxxSFBoZPFsYDflS+PR949Ic4prA1PFqWVd4UfCddZ7AQ IREdOW9tADbpBopIVMl+61flKdrOG4xFf00DeF7vzllRaKiS8Nhv/+bN5r+1AgD9rlEJ UjXRPucfLtthX4jaWqwW9jvWbWB+3qCfGMb1P/Ihyncc/aIwPBbl5/ts/CebtT7HzHgw 2Y1g== X-Gm-Message-State: AJcUukffwr113EuzzQY3ZnGeZ/OQJtjryNg5nudqPhX8vRpAuWTG4D5a uzAOp0IdgqSt0zarBqQ1Cr40+vri X-Google-Smtp-Source: ALg8bN78ab0Yd1f4VQUl3W8C+95+lhclMwEMxt6p+RL/ocQQRgYmHls+ilas/zphokHwN9Wzg3tOvg== X-Received: by 2002:a2e:3a04:: with SMTP id h4-v6mr10448519lja.81.1548438904049; Fri, 25 Jan 2019 09:55:04 -0800 (PST) From: Roman Bogorodskiy To: libvir-list@redhat.com Date: Fri, 25 Jan 2019 21:54:45 +0400 Message-Id: <20190125175446.12288-3-bogorodskiy@gmail.com> In-Reply-To: <20190125175446.12288-1-bogorodskiy@gmail.com> References: <20190125175446.12288-1-bogorodskiy@gmail.com> MIME-Version: 1.0 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 25 Jan 2019 17:55:06 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 25 Jan 2019 17:55:06 +0000 (UTC) for IP:'209.85.208.194' DOMAIN:'mail-lj1-f194.google.com' HELO:'mail-lj1-f194.google.com' FROM:'bogorodskiy@gmail.com' RCPT:'' X-RedHat-Spam-Score: -0.111 (DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_PASS) 209.85.208.194 mail-lj1-f194.google.com 209.85.208.194 mail-lj1-f194.google.com X-Scanned-By: MIMEDefang 2.83 on 10.5.110.25 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-loop: libvir-list@redhat.com Cc: Roman Bogorodskiy Subject: [libvirt] [PATCH 2/3] bhyve: implement MSRs ignore unknown writes feature X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 25 Jan 2019 17:55:23 +0000 (UTC) X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Implement the MSRs ignore unkown writes feature that's specified using: ... ... in the domain XML. In bhyve, it's just passing '-w' command line argument to the bhyve(8) executable. Signed-off-by: Roman Bogorodskiy --- docs/drvbhyve.html.in | 16 +++++++++ src/bhyve/bhyve_command.c | 4 +++ .../bhyvexml2argvdata/bhyvexml2argv-msrs.args | 10 ++++++ .../bhyvexml2argv-msrs.ldargs | 3 ++ .../bhyvexml2argvdata/bhyvexml2argv-msrs.xml | 26 ++++++++++++++ tests/bhyvexml2argvtest.c | 1 + .../bhyvexml2xmlout-msrs.xml | 36 +++++++++++++++++++ tests/bhyvexml2xmltest.c | 1 + 8 files changed, 97 insertions(+) create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-msrs.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-msrs.xml diff --git a/docs/drvbhyve.html.in b/docs/drvbhyve.html.in index b4d7df2edb..5d67bf358e 100644 --- a/docs/drvbhyve.html.in +++ b/docs/drvbhyve.html.in @@ -462,5 +462,21 @@ Example:

</domain> =20 +

Ignoring unknown MSRs writes

+ +

Some guests might require ignoring unknown Model Specific Registers (MS= Rs) writes. +Since 5.1.0 it's possible to switch this on u= sing:

+
+<domain type=3D"bhyve">
+    ...
+  <features>
+    <msrs ignoreUnknownWrites=3D'yes'/>
+  </features>
+    ...
+</domain>
+
+ +

By default unknown writes are not ignored.

+ diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 84fda08943..ae2d989a95 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -505,6 +505,10 @@ virBhyveProcessBuildBhyveCmd(virConnectPtr conn, virCommandAddArg(cmd, "-A"); /* Create an ACPI table */ if (def->features[VIR_DOMAIN_FEATURE_APIC] =3D=3D VIR_TRISTATE_SWITCH_= ON) virCommandAddArg(cmd, "-I"); /* Present ioapic to the guest */ + if (def->features[VIR_DOMAIN_FEATURE_MSRS] =3D=3D VIR_TRISTATE_SWITCH_= ON) { + if (def->msrs_features[VIR_DOMAIN_MSRS_IGNORE_UNKNOWN_WRITES] =3D= =3D VIR_TRISTATE_SWITCH_ON) + virCommandAddArg(cmd, "-w"); + } =20 switch (def->clock.offset) { case VIR_DOMAIN_CLOCK_OFFSET_LOCALTIME: diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.args b/tests/bhyvex= ml2argvdata/bhyvexml2argv-msrs.args new file mode 100644 index 0000000000..dbe377421b --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.args @@ -0,0 +1,10 @@ +/usr/sbin/bhyve \ +-c 1 \ +-m 214 \ +-w \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:b9:94:02 bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.ldargs b/tests/bhyv= exml2argvdata/bhyvexml2argv-msrs.ldargs new file mode 100644 index 0000000000..32538b558e --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.ldargs @@ -0,0 +1,3 @@ +/usr/sbin/bhyveload \ +-m 214 \ +-d /tmp/freebsd.img bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.xml b/tests/bhyvexm= l2argvdata/bhyvexml2argv-msrs.xml new file mode 100644 index 0000000000..7543eb682c --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-msrs.xml @@ -0,0 +1,26 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + + + + + + + + + +
+ + + + + +
+ + + diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c index d1b486fa64..5ea5b26466 100644 --- a/tests/bhyvexml2argvtest.c +++ b/tests/bhyvexml2argvtest.c @@ -210,6 +210,7 @@ mymain(void) DO_TEST("vnc-autoport"); DO_TEST("cputopology"); DO_TEST_FAILURE("cputopology-nvcpu-mismatch"); + DO_TEST("msrs"); =20 /* Address allocation tests */ DO_TEST("addr-single-sata-disk"); diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-msrs.xml b/tests/bhy= vexml2xmloutdata/bhyvexml2xmlout-msrs.xml new file mode 100644 index 0000000000..dcf53703bf --- /dev/null +++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-msrs.xml @@ -0,0 +1,36 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 219136 + 1 + + hvm + + + + + + + destroy + restart + destroy + + + + + +
+ + + +
+ + + + + +
+ + + diff --git a/tests/bhyvexml2xmltest.c b/tests/bhyvexml2xmltest.c index 6aaeab741e..916bf38c66 100644 --- a/tests/bhyvexml2xmltest.c +++ b/tests/bhyvexml2xmltest.c @@ -110,6 +110,7 @@ mymain(void) DO_TEST_DIFFERENT("vnc-vgaconf-off"); DO_TEST_DIFFERENT("vnc-vgaconf-io"); DO_TEST_DIFFERENT("vnc-autoport"); + DO_TEST_DIFFERENT("msrs"); =20 /* Address allocation tests */ DO_TEST_DIFFERENT("addr-single-sata-disk"); --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list