qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>
Cc: "Paolo Bonzini" <pbonzini@redhat.com>,
	"Daniel P. Berrangé" <berrange@redhat.com>,
	"Eduardo Habkost" <ehabkost@redhat.com>,
	"Igor Mammedov" <imammedo@redhat.com>
Subject: [PULL 01/21] numa: hmat: require parent cache description before the next level one
Date: Mon,  5 Oct 2020 17:09:40 -0400	[thread overview]
Message-ID: <20201005211000.710404-2-ehabkost@redhat.com> (raw)
In-Reply-To: <20201005211000.710404-1-ehabkost@redhat.com>

From: Igor Mammedov <imammedo@redhat.com>

Spec[1] defines 0 - 3 level memory side cache, however QEMU
CLI allows to specify an intermediate cache level without
specifying previous level. Such option(s) silently ignored
when building HMAT table, which leads to incomplete cache
information.
Make sure that previous level exists and error out
if it hasn't been provided.

1) ACPI 6.2A 5.2.27.5 Memory Side Cache Information Structure

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1842877
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20200924091406.1321012-1-imammedo@redhat.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 hw/core/numa.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/hw/core/numa.c b/hw/core/numa.c
index 7d5d4130016..6dc3d19d282 100644
--- a/hw/core/numa.c
+++ b/hw/core/numa.c
@@ -424,7 +424,13 @@ void parse_numa_hmat_cache(MachineState *ms, NumaHmatCacheOptions *node,
     }
 
     if ((node->level > 1) &&
-        ms->numa_state->hmat_cache[node->node_id][node->level - 1] &&
+        ms->numa_state->hmat_cache[node->node_id][node->level - 1] == NULL) {
+        error_setg(errp, "Cache level=%" PRIu8 " shall be defined first",
+                   node->level - 1);
+        return;
+    }
+
+    if ((node->level > 1) &&
         (node->size <=
             ms->numa_state->hmat_cache[node->node_id][node->level - 1]->size)) {
         error_setg(errp, "Invalid size=%" PRIu64 ", the size of level=%" PRIu8
-- 
2.26.2



  reply	other threads:[~2020-10-05 21:11 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-05 21:09 [PULL 00/21] machine + QOM queue, 2020-10-05 Eduardo Habkost
2020-10-05 21:09 ` Eduardo Habkost [this message]
2020-10-05 21:09 ` [PULL 02/21] hw/core/qdev-properties: Use qemu_strtol() in set_mac() handler Eduardo Habkost
2020-10-05 21:09 ` [PULL 03/21] hw/core/qdev-properties: Use qemu_strtoul() in set_pci_host_devaddr() Eduardo Habkost
2020-10-05 21:09 ` [PULL 04/21] hw/core/qdev-properties: Fix code style Eduardo Habkost
2020-10-05 21:09 ` [PULL 05/21] hw/core/qdev-properties: Export enum-related functions Eduardo Habkost
2020-10-05 21:09 ` [PULL 06/21] hw/core/qdev-properties: Export qdev_prop_enum Eduardo Habkost
2020-10-05 21:09 ` [PULL 07/21] hw/core/qdev-properties: Export some integer-related functions Eduardo Habkost
2020-10-05 21:09 ` [PULL 08/21] hw/core/qdev-properties: Extract system-mode specific properties Eduardo Habkost
2020-10-05 21:09 ` [PULL 09/21] hw/core/cpu: Add missing 'exec/cpu-common.h' include Eduardo Habkost
2020-10-05 21:09 ` [PULL 10/21] qom: Improve error message displayed with missing object properties Eduardo Habkost
2020-10-05 21:09 ` [PULL 11/21] qom: Fix DECLARE_*CHECKER documentation Eduardo Habkost
2020-10-05 21:09 ` [PULL 12/21] docs/devel/qom: Fix indentation of bulleted list Eduardo Habkost
2020-10-05 21:09 ` [PULL 13/21] docs/devel/qom: Fix indentation of code blocks Eduardo Habkost
2020-10-05 21:09 ` [PULL 14/21] docs/devel/qom: Use *emphasis* for emphasis Eduardo Habkost
2020-10-05 21:09 ` [PULL 15/21] docs/devel/qom: Remove usage of <code> Eduardo Habkost
2020-10-05 21:09 ` [PULL 16/21] docs/devel/qom: Avoid long lines Eduardo Habkost
2020-10-05 21:09 ` [PULL 17/21] kernel-doc: Handle function typedefs that return pointers Eduardo Habkost
2020-10-05 21:09 ` [PULL 18/21] kernel-doc: Handle function typedefs without asterisks Eduardo Habkost
2020-10-05 21:09 ` [PULL 19/21] qom: Explicitly tag doc comments for typedefs and structs Eduardo Habkost
2020-10-05 21:09 ` [PULL 20/21] memory: Explicitly tag doc comments for structs Eduardo Habkost
2020-10-05 21:10 ` [PULL 21/21] kernel-doc: Remove $decl_type='type name' hack Eduardo Habkost
2020-10-06 14:03 ` [PULL 00/21] machine + QOM queue, 2020-10-05 Peter Maydell
2020-10-06 14:36   ` Eduardo Habkost
2020-10-06 14:38     ` Peter Maydell
2020-10-06 14:42       ` Daniel P. Berrangé
2020-10-06 18:47         ` Thomas Huth
2020-10-06 19:10           ` Paolo Bonzini
2020-10-07  9:10             ` Daniel P. Berrangé
2020-10-07  8:17           ` Daniel P. Berrangé
2020-10-06 14:41     ` Paolo Bonzini
2020-10-06 15:04     ` Igor Mammedov
2020-10-06 15:23       ` Igor Mammedov
2020-10-06 15:42         ` Paolo Bonzini
2020-10-06 16:14           ` Igor Mammedov
2020-10-06 18:43             ` Thomas Huth

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201005211000.710404-2-ehabkost@redhat.com \
    --to=ehabkost@redhat.com \
    --cc=berrange@redhat.com \
    --cc=imammedo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).