qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/1] spapr_caps.c: disable KVM specific caps when running with TC


From: Daniel Henrique Barboza
Subject: [PATCH 1/1] spapr_caps.c: disable KVM specific caps when running with TCG
Date: Tue, 19 Jan 2021 17:58:24 -0300

Commit 006e9d361869 added warning messages for cap-cfpc, cap-ibs and
cap-sbbc when enabled under TCG. Commit 8ff43ee404d3 did the same thing
when introducing cap-ccf-assist.

These warning messages, although benign to the machine launch, can make
users a bit confused. E.g:

$ sudo ./ppc64-softmmu/qemu-system-ppc64
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-cfpc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-sbbc=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ibs=workaround
qemu-system-ppc64: warning: TCG doesn't support requested feature, 
cap-ccf-assist=on

We're complaining about "TCG doesn't support requested feature" when the
user didn't request any of those caps in the command line.

Check if we're running with TCG and change the defaults in spapr_caps_init().
Note that this change doesn't impact backward compatibility or migration
to older QEMU versions because we never activated these caps with TCG
in the first place.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 hw/ppc/spapr_caps.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c
index 9341e9782a..53eea2b11e 100644
--- a/hw/ppc/spapr_caps.c
+++ b/hw/ppc/spapr_caps.c
@@ -781,6 +781,21 @@ void spapr_caps_init(SpaprMachineState *spapr)
     /* Compute the actual set of caps we should run with */
     default_caps = default_caps_with_cpu(spapr, MACHINE(spapr)->cpu_type);
 
+   /*
+    * These are KVM specific caps that TCG doesn't support, but will
+    * throw an warning if enabled by default (see 006e9d361869 and
+    * 8ff43ee404d3). This behavior can make the user wonder why a warning
+    * is being shown for caps that the user didn't enable in the
+    * command line.
+    *
+    * Disable them for TCG. */
+    if (tcg_enabled()) {
+        default_caps.caps[SPAPR_CAP_CFPC] = SPAPR_CAP_BROKEN;
+        default_caps.caps[SPAPR_CAP_SBBC] = SPAPR_CAP_BROKEN;
+        default_caps.caps[SPAPR_CAP_IBS] = SPAPR_CAP_BROKEN;
+        default_caps.caps[SPAPR_CAP_CCF_ASSIST] = SPAPR_CAP_BROKEN;
+    }
+
     for (i = 0; i < SPAPR_CAP_NUM; i++) {
         /* Store the defaults */
         spapr->def.caps[i] = default_caps.caps[i];
-- 
2.26.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]