smbios: Fix assertion on socket count calculation
commit7dfddd7f884b6dd2abf230d8fa6c7c83aab4f5ec
authorEduardo Habkost <ehabkost@redhat.com>
Tue, 30 Sep 2014 01:21:45 +0000 (29 22:21 -0300)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 2 Nov 2014 09:52:23 +0000 (2 11:52 +0200)
treeef354cb061a36f78aff31b8fc634eab7d559123c
parentee29498e4f0f3eff90eeeb7f5fa1703abedd2fb6
smbios: Fix assertion on socket count calculation

QEMU currently allows the number of VCPUs to not be a multiple of the
number of threads per socket, but the smbios socket count calculation
introduced by commit c97294ec1b9e36887e119589d456557d72ab37b5 doesn't
take that into account, triggering an assertion. e.g.:

  $ ./x86_64-softmmu/qemu-system-x86_64 -smp 4,sockets=2,cores=6,threads=1
  qemu-system-x86_64: /home/ehabkost/rh/proj/virt/qemu/hw/i386/smbios.c:825: smbios_get_tables: Assertion `smbios_smp_sockets >= 1' failed.
  Aborted (core dumped)

Socket count calculation doesn't belong to smbios.c and should
eventually be moved to the main SMP topology configuration code. But
while we don't move the code, at least make it correct by rounding up
the division.

Cc: Gabriel Somlo <somlo@cmu.edu>
Cc: qemu-stable@nongnu.org
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-By: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/smbios.c