qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 14a25a: includes: remove stale [smp|max]_cpus


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 14a25a: includes: remove stale [smp|max]_cpus externs
Date: Wed, 04 Sep 2019 07:38:03 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 14a25a511b36806f6cb8c30987850a7280235caf
      
https://github.com/qemu/qemu/commit/14a25a511b36806f6cb8c30987850a7280235caf
  Author: Alex Bennée <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M include/sysemu/sysemu.h

  Log Message:
  -----------
  includes: remove stale [smp|max]_cpus externs

Commit a5e0b3311 removed these in favour of querying machine
properties. Remove the extern declarations as well.

Signed-off-by: Alex Bennée <address@hidden>
Cc: Like Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Reviewed-by: Like Xu <address@hidden>
Fixes: a5e0b331193a ("vl.c: Replace smp global variables with smp machine 
properties")
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 2744ece8095b8cdb0d667654debc1d80dd57bbd3
      
https://github.com/qemu/qemu/commit/2744ece8095b8cdb0d667654debc1d80dd57bbd3
  Author: Tao Xu <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/arm/aspeed.c
    M hw/arm/boot.c
    M hw/arm/collie.c
    M hw/arm/cubieboard.c
    M hw/arm/exynos4_boards.c
    M hw/arm/highbank.c
    M hw/arm/imx25_pdk.c
    M hw/arm/integratorcp.c
    M hw/arm/kzm.c
    M hw/arm/mainstone.c
    M hw/arm/mcimx6ul-evk.c
    M hw/arm/mcimx7d-sabre.c
    M hw/arm/musicpal.c
    M hw/arm/nseries.c
    M hw/arm/omap_sx1.c
    M hw/arm/palm.c
    M hw/arm/raspi.c
    M hw/arm/realview.c
    M hw/arm/sabrelite.c
    M hw/arm/sbsa-ref.c
    M hw/arm/spitz.c
    M hw/arm/tosa.c
    M hw/arm/versatilepb.c
    M hw/arm/vexpress.c
    M hw/arm/virt.c
    M hw/arm/xilinx_zynq.c
    M hw/arm/xlnx-versal-virt.c
    M hw/arm/xlnx-zcu102.c
    M hw/arm/z2.c
    M include/hw/arm/boot.h

  Log Message:
  -----------
  hw/arm: simplify arm_load_dtb

In struct arm_boot_info, kernel_filename, initrd_filename and
kernel_cmdline are copied from from MachineState. This patch add
MachineState as a parameter into arm_load_dtb() and move the copy chunk
of kernel_filename, initrd_filename and kernel_cmdline into
arm_load_kernel().

Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Liu Jingqi <address@hidden>
Suggested-by: Igor Mammedov <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Alistair Francis <address@hidden>
Acked-by: Andrew Jeffery <address@hidden>
Acked-by: Cédric Le Goater <address@hidden>
[ehabkost: include hw/boards.h again to fix build failures]
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: aa57020774b690a22be72453b8e91c9b5a68c516
      
https://github.com/qemu/qemu/commit/aa57020774b690a22be72453b8e91c9b5a68c516
  Author: Tao Xu <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M exec.c
    M hw/acpi/aml-build.c
    M hw/arm/boot.c
    M hw/arm/sbsa-ref.c
    M hw/arm/virt-acpi-build.c
    M hw/arm/virt.c
    M hw/core/machine-hmp-cmds.c
    M hw/core/machine.c
    M hw/core/numa.c
    M hw/i386/acpi-build.c
    M hw/i386/pc.c
    M hw/mem/pc-dimm.c
    M hw/pci-bridge/pci_expander_bridge.c
    M hw/ppc/spapr.c
    M include/hw/acpi/aml-build.h
    M include/hw/boards.h
    M include/sysemu/numa.h

  Log Message:
  -----------
  numa: move numa global variable nb_numa_nodes into MachineState

Add struct NumaState in MachineState and move existing numa global
nb_numa_nodes(renamed as "num_nodes") into NumaState. And add variable
numa_support into MachineClass to decide which submachines support NUMA.

Reviewed-by: Igor Mammedov <address@hidden>
Suggested-by: Igor Mammedov <address@hidden>
Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
[ehabkost: include hw/boards.h again to fix build failures]
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 118154b7674b85827f272332efe86fc58cb76249
      
https://github.com/qemu/qemu/commit/118154b7674b85827f272332efe86fc58cb76249
  Author: Tao Xu <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/arm/sbsa-ref.c
    M hw/arm/virt-acpi-build.c
    M hw/arm/virt.c
    M hw/core/numa.c
    M hw/i386/acpi-build.c
    M include/sysemu/numa.h

  Log Message:
  -----------
  numa: move numa global variable have_numa_distance into MachineState

Move existing numa global have_numa_distance into NumaState.

Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Liu Jingqi <address@hidden>
Suggested-by: Igor Mammedov <address@hidden>
Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 7e721e7b10e166003d4fdcfab90a72c93d4df839
      
https://github.com/qemu/qemu/commit/7e721e7b10e166003d4fdcfab90a72c93d4df839
  Author: Tao Xu <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M exec.c
    M hw/acpi/aml-build.c
    M hw/arm/boot.c
    M hw/arm/sbsa-ref.c
    M hw/arm/virt-acpi-build.c
    M hw/arm/virt.c
    M hw/core/numa.c
    M hw/i386/pc.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_pci.c
    M include/sysemu/numa.h

  Log Message:
  -----------
  numa: move numa global variable numa_info into MachineState

Move existing numa global numa_info (renamed as "nodes") into NumaState.

Reviewed-by: Igor Mammedov <address@hidden>
Suggested-by: Igor Mammedov <address@hidden>
Suggested-by: Eduardo Habkost <address@hidden>
Signed-off-by: Tao Xu <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 2a0585e183d0b7c628638fa07a3ffee8db852d69
      
https://github.com/qemu/qemu/commit/2a0585e183d0b7c628638fa07a3ffee8db852d69
  Author: Eduardo Habkost <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: Fix error message on die-id validation

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.

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

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Vanderson M. do Rosario <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 23d9cff4897cf983b0570b8676a093d829da019d
      
https://github.com/qemu/qemu/commit/23d9cff4897cf983b0570b8676a093d829da019d
  Author: Eduardo Habkost <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  pc: Improve error message when die-id is omitted

The error message when die-id is omitted doesn't make sense:

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

Fix it, so it will now read:

  qemu-system-x86_64: -device 
qemu64-x86_64-cpu,socket-id=1,core-id=0,thread-id=0: \
    CPU die-id is not set

Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Reviewed-by: Vanderson M. do Rosario <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: fea374e7c8079563bca7c8fac895c6a880f76adc
      
https://github.com/qemu/qemu/commit/fea374e7c8079563bca7c8fac895c6a880f76adc
  Author: Eduardo Habkost <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/pc.c
    A tests/acceptance/pc_cpu_hotplug_props.py

  Log Message:
  -----------
  pc: Don't make die-id mandatory unless necessary

We have this issue reported when using libvirt to hotplug CPUs:
https://bugzilla.redhat.com/show_bug.cgi?id=1741451

Basically, libvirt is not copying die-id from
query-hotpluggable-cpus, but die-id is now mandatory.

We could blame libvirt and say it is not following the documented
interface, because we have this buried in the QAPI schema
documentation:

> Note: currently there are 5 properties that could be present
> but management should be prepared to pass through other
> properties with device_add command to allow for future
> interface extension. This also requires the filed names to be kept in
> sync with the properties passed to -device/device_add.

But I don't think this would be reasonable from us.  We can just
make QEMU more flexible and let die-id to be omitted when there's
no ambiguity.  This will allow us to keep compatibility with
existing libvirt versions.

Test case included to ensure we don't break this again.

Fixes: commit 176d2cda0dee ("i386/cpu: Consolidate die-id validity in smp 
context")
Signed-off-by: Eduardo Habkost <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 04109957d47307cdedd19afc3687bd6307466b53
      
https://github.com/qemu/qemu/commit/04109957d47307cdedd19afc3687bd6307466b53
  Author: Daniel P. Berrangé <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/core/machine-qmp-cmds.c
    M qapi/machine.json

  Log Message:
  -----------
  qapi: report the default CPU type for each machine

When user doesn't request any explicit CPU model with libvirt or QEMU,
a machine type specific CPU model is picked. Currently there is no way
to determine what this QEMU built-in default is, so libvirt cannot
report this back to the user in the XML config.

This extends the "query-machines" QMP command so that it reports the
default CPU model typename for each machine.

Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Daniel P. Berrangé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 7faae95ebc966c2981b78cf7c25009dfa32d4b72
      
https://github.com/qemu/qemu/commit/7faae95ebc966c2981b78cf7c25009dfa32d4b72
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M backends/hostmem-file.c

  Log Message:
  -----------
  hostmem-file: fix pmem file size check

Commit 314aec4a6e06844937f1677f6cba21981005f389 ("hostmem-file: reject
invalid pmem file sizes") added a file size check that verifies the
hostmem object's size parameter against the actual devdax pmem file.
This is useful because getting the size wrong results in confusing
errors inside the guest.

However, the code doesn't work properly for files where struct
stat::st_size is zero.  Hostmem-file's ->alloc() function returns early
without setting an Error, causing the following assertion failure:

  qemu/memory.c:2215: memory_region_get_ram_ptr: Assertion `mr->ram_block' 
failed.

This patch handles the case where qemu_get_pmem_size() returns 0 but
there is no error.

Fixes: 314aec4a6e06844937f1677f6cba21981005f389
Signed-off-by: Stefan Hajnoczi <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: f685f451578e5231bc899c48911cf7b98cad47f6
      
https://github.com/qemu/qemu/commit/f685f451578e5231bc899c48911cf7b98cad47f6
  Author: Jan Kiszka <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/vmmouse.c

  Log Message:
  -----------
  i386/vmmouse: Properly reset state

nb_queue was not zeroed so that we no longer delivered events if a
previous guest left the device in an overflow state.

The state of absolute does not matter as the next vmmouse_update_handler
call will align it again.

Signed-off-by: Jan Kiszka <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: c6c1bb89fb46f3b88f832e654cf5a6f7941aac51
      
https://github.com/qemu/qemu/commit/c6c1bb89fb46f3b88f832e654cf5a6f7941aac51
  Author: Igor Mammedov <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/pc.c

  Log Message:
  -----------
  x86: do not advertise die-id in query-hotpluggbale-cpus if '-smp dies' is not 
set

Commit 176d2cda0 (i386/cpu: Consolidate die-id validity in smp context) added
new 'die-id' topology property to CPUs and exposed it via QMP command
query-hotpluggable-cpus, which broke -device/device_add cpu-foo for existing
users that do not support die-id/dies yet. That's would be fine if it happened
to new machine type only but it also happened to old machine types,
which breaks migration from old QEMU to the new one, for example following CLI:

  OLD-QEMU -M pc-i440fx-4.0 -smp 1,max_cpus=2 \
           -device qemu64-x86_64-cpu,socket-id=1,core-id=0,thread-id
is not able to start with new QEMU, complaining about invalid die-id.

After discovering regression, the patch
   "pc: Don't make die-id mandatory unless necessary"
makes die-id optional so old CLI would work.

However it's not enough as new QEMU still exposes die-id via 
query-hotpluggbale-cpus
QMP command, so the users that started old machine type on new QEMU, using all
properties (including die-id) received from QMP command (as required), won't be
able to start old QEMU using the same properties since it doesn't support 
die-id.

Fix it by hiding die-id in query-hotpluggbale-cpus for all machine types in case
'-smp dies' is not provided on CLI or -smp dies = 1', in which case smp_dies == 
1
and APIC ID is calculated in default way (as it was before DIE support) so we 
won't
need compat code as in both cases the topology provided to guest via CPUID is 
the same.

Signed-off-by: Igor Mammedov <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Eduardo Habkost <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: 417332494602e3edadfae3b759a29fa0bb96223f
      
https://github.com/qemu/qemu/commit/417332494602e3edadfae3b759a29fa0bb96223f
  Author: Maxiwell S. Garcia <address@hidden>
  Date:   2019-09-03 (Tue, 03 Sep 2019)

  Changed paths:
    M hw/i386/kvm/clock.c

  Log Message:
  -----------
  migration: Do not re-read the clock on pre_save in case of paused guest

The clock move makes the guest knows about the paused time between the
'stop' and 'migrate' commands. This is an issue in an already-paused
VM because some side effects, like process stalls, could happen
after migration.

So, this patch checks the runstate of guest in the pre_save handler and
do not re-reads the clock in case of paused state (cold migration).

Signed-off-by: Maxiwell S. Garcia <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Marcelo Tosatti <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: f884294bd76eb89127d311627d8de1b70ec9ba54
      
https://github.com/qemu/qemu/commit/f884294bd76eb89127d311627d8de1b70ec9ba54
  Author: Peter Maydell <address@hidden>
  Date:   2019-09-04 (Wed, 04 Sep 2019)

  Changed paths:
    M backends/hostmem-file.c
    M exec.c
    M hw/acpi/aml-build.c
    M hw/arm/aspeed.c
    M hw/arm/boot.c
    M hw/arm/collie.c
    M hw/arm/cubieboard.c
    M hw/arm/exynos4_boards.c
    M hw/arm/highbank.c
    M hw/arm/imx25_pdk.c
    M hw/arm/integratorcp.c
    M hw/arm/kzm.c
    M hw/arm/mainstone.c
    M hw/arm/mcimx6ul-evk.c
    M hw/arm/mcimx7d-sabre.c
    M hw/arm/musicpal.c
    M hw/arm/nseries.c
    M hw/arm/omap_sx1.c
    M hw/arm/palm.c
    M hw/arm/raspi.c
    M hw/arm/realview.c
    M hw/arm/sabrelite.c
    M hw/arm/sbsa-ref.c
    M hw/arm/spitz.c
    M hw/arm/tosa.c
    M hw/arm/versatilepb.c
    M hw/arm/vexpress.c
    M hw/arm/virt-acpi-build.c
    M hw/arm/virt.c
    M hw/arm/xilinx_zynq.c
    M hw/arm/xlnx-versal-virt.c
    M hw/arm/xlnx-zcu102.c
    M hw/arm/z2.c
    M hw/core/machine-hmp-cmds.c
    M hw/core/machine-qmp-cmds.c
    M hw/core/machine.c
    M hw/core/numa.c
    M hw/i386/acpi-build.c
    M hw/i386/kvm/clock.c
    M hw/i386/pc.c
    M hw/i386/vmmouse.c
    M hw/mem/pc-dimm.c
    M hw/pci-bridge/pci_expander_bridge.c
    M hw/ppc/spapr.c
    M hw/ppc/spapr_pci.c
    M include/hw/acpi/aml-build.h
    M include/hw/arm/boot.h
    M include/hw/boards.h
    M include/sysemu/numa.h
    M qapi/machine.json
    A tests/acceptance/pc_cpu_hotplug_props.py

  Log Message:
  -----------
  Merge remote-tracking branch 
'remotes/ehabkost/tags/machine-next-pull-request' into staging

Machine + x86 queue, 2019-09-03

Bug fixes:
* Fix die-id validation regression (Eduardo Habkost)
* vmmouse: Properly reset state (Jan Kiszka)
* hostmem-file: fix pmem file size check (Stefan Hajnoczi)
* Keep query-hotpluggable-cpus output compatible with older QEMU
  if '-smp dies' is not set (Igor Mammedov)
* migration: Do not re-read the clock on pre_save in case of paused guest
  (Maxiwell S. Garcia)

Cleanups:
* NUMA code cleanups (Tao Xu)
* Remove stale externs from includes (Alex Bennée)

Features:
* qapi: report the default CPU type for each machine (Daniel P. Berrangé)

# gpg: Signature made Tue 03 Sep 2019 21:57:37 BST
# gpg:                using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6
# gpg:                issuer "address@hidden"
# gpg: Good signature from "Eduardo Habkost <address@hidden>" [full]
# Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF  D1AA 2807 936F 984D C5A6

* remotes/ehabkost/tags/machine-next-pull-request:
  migration: Do not re-read the clock on pre_save in case of paused guest
  x86: do not advertise die-id in query-hotpluggbale-cpus if '-smp dies' is not 
set
  i386/vmmouse: Properly reset state
  hostmem-file: fix pmem file size check
  qapi: report the default CPU type for each machine
  pc: Don't make die-id mandatory unless necessary
  pc: Improve error message when die-id is omitted
  pc: Fix error message on die-id validation
  numa: move numa global variable numa_info into MachineState
  numa: move numa global variable have_numa_distance into MachineState
  numa: move numa global variable nb_numa_nodes into MachineState
  hw/arm: simplify arm_load_dtb
  includes: remove stale [smp|max]_cpus externs

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/3c8153d3f50b...f884294bd76e



reply via email to

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