Hi,

On 2019/8/16 2:38, Eduardo Habkost wrote:
The error message for die-id range validation is incorrect.  Example:

   $ qemu-system-x86_64 -smp 1,sockets=6,maxcpus=6 \
     -device qemu64-x86_64-cpu,socket-id=1,die-id=1,core-id=0,thread-id=0
   qemu-system-x86_64: -device 
qemu64-x86_64-cpu,socket-id=1,die-id=1,core-id=0,thread-id=0: \
     Invalid CPU die-id: 1 must be in range 0:5

The actual range for die-id in this example is 0:0.

There is one die per socket by default.

The case sockets=6 means there are 6 dies by default
and the range for die-id is 0:5.


Fix the error message to use smp_dies and print the correct range.

Signed-off-by: Eduardo Habkost <ehabk...@redhat.com>
---
  hw/i386/pc.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 549c437050..24b03bb49c 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -2412,7 +2412,7 @@ static void pc_cpu_pre_plug(HotplugHandler *hotplug_dev,
              return;
          } else if (cpu->die_id > pcms->smp_dies - 1) {
              error_setg(errp, "Invalid CPU die-id: %u must be in range 0:%u",
-                       cpu->die_id, max_socket);
+                       cpu->die_id, pcms->smp_dies - 1);
              return;
          }
          if (cpu->core_id < 0) {



Reply via email to