qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 7653b1: replay: Improve error messages about


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 7653b1: replay: Improve error messages about configuration...
Date: Sat, 09 Mar 2024 12:18:23 -0800

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 7653b1eac956889a6bf0ad7ed3d4fe22d4d80c2e
      
https://github.com/qemu/qemu/commit/7653b1eac956889a6bf0ad7ed3d4fe22d4d80c2e
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M replay/replay.c
    M system/vl.c

  Log Message:
  -----------
  replay: Improve error messages about configuration conflicts

Improve

   Record/replay feature is not supported for '-rtc base=localtime'
   Record/replay feature is not supported for 'smp'
   Record/replay feature is not supported for '-snapshot'

to

   Record/replay is not supported with -rtc base=localtime
   Record/replay is not supported with multiple CPUs
   Record/replay is not supported with -snapshot

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 75d5a5fe6780f50fe839ac0de2901942f551d201
      
https://github.com/qemu/qemu/commit/75d5a5fe6780f50fe839ac0de2901942f551d201
  Author: Frediano Ziglio <freddy77@gmail.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/vfio/pci.c

  Log Message:
  -----------
  hw/vfio/pci.c: Make some structure static

Not used outside C module.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: b1f1dc91c0d6fce30a216bb5339d9dd17f49c192
      
https://github.com/qemu/qemu/commit/b1f1dc91c0d6fce30a216bb5339d9dd17f49c192
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/scsi/lsi53c895a.c

  Log Message:
  -----------
  hw/scsi/lsi53c895a: Fix typo in comment

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 9bc9e95119445d7a430b0fc8b7daf22a3612bbd3
      
https://github.com/qemu/qemu/commit/9bc9e95119445d7a430b0fc8b7daf22a3612bbd3
  Author: Michael Tokarev <mjt@tls.msk.ru>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M scripts/make-release

  Log Message:
  -----------
  make-release: switch to .xz format by default

For a long time, we provide two compression formats in the
download area, .bz2 and .xz.  There's absolutely no reason
to provide two in parallel, .xz compresses better, and all
the links we use points to .xz.  Downstream distributions
mostly use .xz too.

For the release maintenance providing two formats is definitely
extra burden too.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>


  Commit: d0bad43c4c362b82bf26dd3ef32076ab3d8e2c86
      
https://github.com/qemu/qemu/commit/d0bad43c4c362b82bf26dd3ef32076ab3d8e2c86
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M chardev/char-fe.c

  Log Message:
  -----------
  char: Slightly better error reporting when chardev is in use

Both

    $ qemu-system-x86_64 -chardev null,id=chr0,mux=on -mon chardev=chr0 -mon 
chardev=chr0 -mon chardev=chr0 -mon chardev=chr0 -mon chardev=chr0

and

    $ qemu-system-x86_64 -chardev null,id=chr0 -mon chardev=chr0 -mon 
chardev=chr0
fail with

    qemu-system-x86_64: -mon chardev=chr0: Device 'chr0' is in use

Improve to

    qemu-system-x86_64: -mon chardev=chr0: too many uses of multiplexed chardev 
'chr0' (maximum is 4)

and

    qemu-system-x86_64: -mon chardev=chr0: chardev 'chr0' is already in use

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 9fe075332111e814639fa05de723e68f5e204d71
      
https://github.com/qemu/qemu/commit/9fe075332111e814639fa05de723e68f5e204d71
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M blockdev.c

  Log Message:
  -----------
  blockdev: Fix block_resize error reporting for op blockers

When block_resize() runs into an op blocker, it creates an error like
this:

        error_setg(errp, "Device '%s' is in use", device);

Trouble is @device can be null.  My system formats null as "(null)",
but other systems might crash.  Reproducer:

1. Create two block devices

    -> {"execute": "blockdev-add", "arguments": {"driver": "file", "node-name": 
"blk0", "filename": "64k.img"}}
    <- {"return": {}}
    -> {"execute": "blockdev-add", "arguments": {"driver": "file", "node-name": 
"blk1", "filename": "m.img"}}
    <- {"return": {}}

2. Put a blocker on one them

    -> {"execute": "blockdev-mirror", "arguments": {"job-id": "job0", "device": 
"blk0", "target": "blk1", "sync": "full"}}
    {"return": {}}
    -> {"execute": "job-pause", "arguments": {"id": "job0"}}
    {"return": {}}
    -> {"execute": "job-complete", "arguments": {"id": "job0"}}
    {"return": {}}

   Note: job events elided for brevity.

3. Attempt to resize

    -> {"execute": "block_resize", "arguments": {"node-name": "blk1", 
"size":32768}}
    <- {"error": {"class": "GenericError", "desc": "Device '(null)' is in use"}}

Broken when commit 3b1dbd11a60 made @device optional.  Fixed in commit
ed3d2ec98a3 (block: Add errp to b{lk,drv}_truncate()), except for this
one instance.

Fix it by using the error message provided by the op blocker instead,
so it fails like this:

    <- {"error": {"class": "GenericError", "desc": "Node 'blk1' is busy: block 
device is in use by block job: mirror"}}

Fixes: 3b1dbd11a60d (qmp: Allow block_resize to manipulate bs graph nodes.)
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: b1614f795f0dcacee181f8eefc9572f661ef3adc
      
https://github.com/qemu/qemu/commit/b1614f795f0dcacee181f8eefc9572f661ef3adc
  Author: Markus Armbruster <armbru@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M include/qapi/qmp/qerror.h

  Log Message:
  -----------
  qerror: QERR_DEVICE_IN_USE is no longer used, drop

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: c4e898d502549025e087aa799211a5c6bd3984ff
      
https://github.com/qemu/qemu/commit/c4e898d502549025e087aa799211a5c6bd3984ff
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/cxl/cxl-cdat.c

  Log Message:
  -----------
  hw/cxl/cxl-cdat: Fix type of buf in ct3_load_cdat()

When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher
(which we'll certainly do in the not too distant future), glib adds
type safety checks to the g_steal_pointer() macro. This trigger an
error in the ct3_load_cdat() function: The local char *buf variable is
assigned to uint8_t *buf in CDATObject, i.e. a pointer of a different
type. Change the local variable to the same type as buf in CDATObject
to avoid the error.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: c68f81fec8cb15a5c88c3e0ae152c719e633318c
      
https://github.com/qemu/qemu/commit/c68f81fec8cb15a5c88c3e0ae152c719e633318c
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/pci-bridge/cxl_upstream.c
    M include/hw/cxl/cxl_cdat.h

  Log Message:
  -----------
  hw/pci-bridge/cxl_upstream: Fix problem with g_steal_pointer()

When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher,
glib adds type safety checks to the g_steal_pointer() macro. This
triggers errors in the build_cdat_table() function which uses the
g_steal_pointer() for type-casting from one pointer type to the other
(which also looks quite weird since the local pointers have all been
declared with g_autofree though they are never freed here). Let's fix
it by using a proper typecast instead. For making this possible, we
have to remove the QEMU_PACKED attribute from some structs since GCC
otherwise complains that the source and destination pointer might
have different alignment restrictions. Removing the QEMU_PACKED should
be fine here since the structs are already naturally aligned. Anyway,
add some QEMU_BUILD_BUG_ON() statements to make sure that we've got
the right sizes (without padding in the structs).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 00691b1f6a01e29bb7f18b06c17df2de81e832c8
      
https://github.com/qemu/qemu/commit/00691b1f6a01e29bb7f18b06c17df2de81e832c8
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/mem/cxl_type3.c
    M include/hw/cxl/cxl_cdat.h

  Log Message:
  -----------
  hw/mem/cxl_type3: Fix problem with g_steal_pointer()

When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher,
glib adds type safety checks to the g_steal_pointer() macro. This
triggers errors in the ct3_build_cdat_entries_for_mr() function which
uses the g_steal_pointer() for type-casting from one pointer type to
the other (which also looks quite weird since the local pointers have
all been declared with g_autofree though they are never freed here).
Fix it by using a proper typecast instead. For making this possible, we
have to remove the QEMU_PACKED attribute from some structs since GCC
otherwise complains that the source and destination pointer might
have different alignment restrictions. Removing the QEMU_PACKED should
be fine here since the structs are already naturally aligned. Anyway,
add some QEMU_BUILD_BUG_ON() statements to make sure that we've got
the right sizes (without padding in the structs).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: d65f1ed7de1559534d0a1fabca5bdd81c594c7ca
      
https://github.com/qemu/qemu/commit/d65f1ed7de1559534d0a1fabca5bdd81c594c7ca
  Author: Ani Sinha <anisinha@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M docs/devel/acpi-bits.rst

  Log Message:
  -----------
  docs/acpi/bits: add some clarity and details while also improving formating

Update bios-bits docs to add more details on why a pre-OS environment for
testing bioses is useful. Add author's FOSDEM talk link. Also improve the
formating of the document while at it.

Signed-off-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Michael Tokarev <mjt@tls.msk.ru>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>


  Commit: 11118c7236a1279e2d2afa86089dd365508d3d71
      
https://github.com/qemu/qemu/commit/11118c7236a1279e2d2afa86089dd365508d3d71
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    R hw/i386/kvmvapic.c
    M hw/i386/meson.build
    A hw/i386/vapic.c

  Log Message:
  -----------
  hw/i386: Rename kvmvapic.c -> vapic.c

vAPIC isn't KVM specific, so having its name prefixed 'kvm'
is misleading. Rename it simply 'vapic'. Rename the single
function prefixed 'kvm'.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230905145159.7898-1-philmd@linaro.org>


  Commit: 261bbc3b30973d9adfd46f0d2e315d9dad1707c3
      
https://github.com/qemu/qemu/commit/261bbc3b30973d9adfd46f0d2e315d9dad1707c3
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M include/sysemu/xen.h

  Log Message:
  -----------
  sysemu/xen: Forbid using Xen headers in user emulation

Xen is a system specific accelerator, it makes no sense
to include its headers in user emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-3-philmd@linaro.org>


  Commit: 3e5e5d479eaa1e3ea8535db3ee44eec147f2f1aa
      
https://github.com/qemu/qemu/commit/3e5e5d479eaa1e3ea8535db3ee44eec147f2f1aa
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M include/sysemu/xen-mapcache.h

  Log Message:
  -----------
  sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE

"sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
version of CONFIG_XEN accelerator.
Use it in order to use "sysemu/xen-mapcache.h" in target-agnostic files.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-4-philmd@linaro.org>


  Commit: 5d5bb9c8fd607af542a53c0db1ddfb5cce0a4e6d
      
https://github.com/qemu/qemu/commit/5d5bb9c8fd607af542a53c0db1ddfb5cce0a4e6d
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M system/physmem.c

  Log Message:
  -----------
  system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h'

physmem.c doesn't use any declaration from "hw/xen/xen.h",
it only requires "sysemu/xen.h" and "system/xen-mapcache.h".

Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20231114143816.71079-5-philmd@linaro.org>


  Commit: 06c8337653cbcfab0801efaababbbbaa7bb7eaf9
      
https://github.com/qemu/qemu/commit/06c8337653cbcfab0801efaababbbbaa7bb7eaf9
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/pci/msi.c

  Log Message:
  -----------
  hw/pci/msi: Restrict xen_is_pirq_msi() call to Xen

Similarly to the restriction in hw/pci/msix.c (see commit
e1e4bf2252 "msix: fix msix_vector_masked"), restrict the
xen_is_pirq_msi() call in msi_is_masked() to Xen.

No functional change intended.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-7-philmd@linaro.org>


  Commit: 9cd909ac3505c3561570793753c70ceafdd32eda
      
https://github.com/qemu/qemu/commit/9cd909ac3505c3561570793753c70ceafdd32eda
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M stubs/xen-hw-stub.c

  Log Message:
  -----------
  hw/xen: Remove unnecessary xen_hvm_inject_msi() stub

Since commit 04b0de0ee8 ("xen: factor out common functions")
xen_hvm_inject_msi() stub is not required.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-8-philmd@linaro.org>


  Commit: b934c3fa21dbe23a17c9fdeccb85fb46418bc699
      
https://github.com/qemu/qemu/commit/b934c3fa21dbe23a17c9fdeccb85fb46418bc699
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/arm/xen_arm.c
    M hw/i386/xen/xen-hvm.c
    M hw/xen/xen-hvm-common.c
    M include/hw/xen/xen-hvm-common.h

  Log Message:
  -----------
  hw/xen: Rename 'ram_memory' global variable as 'xen_memory'

To avoid a potential global variable shadow in
hw/i386/pc_piix.c::pc_init1(), rename Xen's
"ram_memory" as "xen_memory".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-11-philmd@linaro.org>


  Commit: 8570951fcca78fcb02807153b07c93fd5c22cde7
      
https://github.com/qemu/qemu/commit/8570951fcca78fcb02807153b07c93fd5c22cde7
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/xen/xen-hvm-common.c

  Log Message:
  -----------
  hw/xen: Use target-agnostic qemu_target_page_bits()

Instead of the target-specific TARGET_PAGE_BITS definition,
use qemu_target_page_bits() which is target agnostic.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-15-philmd@linaro.org>


  Commit: 92dfc8a25785c3df47bdf2788be3d229e6185f62
      
https://github.com/qemu/qemu/commit/92dfc8a25785c3df47bdf2788be3d229e6185f62
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/xen/xen_pt.h

  Log Message:
  -----------
  hw/xen/xen_pt: Add missing license

Commit eaab4d60d3 ("Introduce Xen PCI Passthrough, qdevice")
introduced both xen_pt.[ch], but only added the license to
xen_pt.c. Use the same license for xen_pt.h.

Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-17-philmd@linaro.org>


  Commit: f28b958cbf08c4019f99091208e5c877b857b030
      
https://github.com/qemu/qemu/commit/f28b958cbf08c4019f99091208e5c877b857b030
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M accel/xen/xen-all.c
    M hw/i386/pc_piix.c
    M hw/xen/xen_pt.c
    M hw/xen/xen_pt.h
    M hw/xen/xen_pt_config_init.c
    M hw/xen/xen_pt_graphics.c
    M hw/xen/xen_pt_stub.c
    A include/hw/xen/xen_igd.h

  Log Message:
  -----------
  hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'

"hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
specific. It also declares IGD methods, which are not target
specific.

Target-agnostic code can use IGD methods. To allow that, extract
these methos into a new "hw/xen/xen_igd.h" header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-18-philmd@linaro.org>


  Commit: 906c0876eef947b8abfe2da3ad15fd6c8fa1e2ff
      
https://github.com/qemu/qemu/commit/906c0876eef947b8abfe2da3ad15fd6c8fa1e2ff
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/xen/meson.build

  Log Message:
  -----------
  hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS

xen-hvm.c calls xc_set_hvm_param() from <xenctrl.h>,
so better compile it with Xen CPPFLAGS.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Message-Id: <20231114143816.71079-19-philmd@linaro.org>


  Commit: 62d6cf9d63a35f7e0b6173c51b11a358f52a3419
      
https://github.com/qemu/qemu/commit/62d6cf9d63a35f7e0b6173c51b11a358f52a3419
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/xen/xen-hvm.c

  Log Message:
  -----------
  hw/xen/hvm: Inline TARGET_PAGE_ALIGN() macro

Use TARGET_PAGE_SIZE to calculate TARGET_PAGE_ALIGN.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20231114163123.74888-2-philmd@linaro.org>


  Commit: 8ebb8682f6037f5373862d7ab2f72c2d3e387fbc
      
https://github.com/qemu/qemu/commit/8ebb8682f6037f5373862d7ab2f72c2d3e387fbc
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/xen/xen-hvm.c

  Log Message:
  -----------
  hw/xen/hvm: Propagate page_mask to a pair of functions

We are going to replace TARGET_PAGE_MASK by a
runtime variable. In order to reduce code duplication,
propagate TARGET_PAGE_MASK to get_physmapping() and
xen_phys_offset_to_gaddr().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20231114163123.74888-3-philmd@linaro.org>


  Commit: 825f292d34a71e7f6d5cf592477ef28bde182758
      
https://github.com/qemu/qemu/commit/825f292d34a71e7f6d5cf592477ef28bde182758
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/xen/xen-hvm.c

  Log Message:
  -----------
  hw/xen/hvm: Get target page size at runtime

In order to build this file once for all targets, replace:

  TARGET_PAGE_BITS -> qemu_target_page_bits()
  TARGET_PAGE_SIZE -> qemu_target_page_size()
  TARGET_PAGE_MASK -> -qemu_target_page_size()

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-Id: <20231114163123.74888-4-philmd@linaro.org>


  Commit: 0a81424defeb1b59b8c5f7b40efb833a0867ca75
      
https://github.com/qemu/qemu/commit/0a81424defeb1b59b8c5f7b40efb833a0867ca75
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/char/xen_console.c

  Log Message:
  -----------
  hw/char/xen_console: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is the pointer of
error_fatal, the user can't see this additional information, because
exit() happens in error_setg earlier than information is added [1].

The xen_console_connect() passes @errp to error_prepend() without
ERRP_GUARD().

There're 2 places will call xen_console_connect():
 - xen_console_realize(): the @errp is from DeviceClass.realize()'s
                          parameter.
 - xen_console_frontend_changed(): the @errp points its caller's
                                   @local_err.

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of xen_console_connect().

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: "Marc-André Lureau" <marcandre.lureau@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <20240228163723.1775791-15-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 8538ceecd3a62c3233e15740cfb7071540547c6b
      
https://github.com/qemu/qemu/commit/8538ceecd3a62c3233e15740cfb7071540547c6b
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/net/xen_nic.c

  Log Message:
  -----------
  hw/net/xen_nic: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is the pointer of
error_fatal, the user can't see this additional information, because
exit() happens in error_setg earlier than information is added [1].

The xen_netdev_connect() passes @errp to error_prepend(), and its @errp
parameter is from xen_device_frontend_changed().

Though its @errp points to @local_err of xen_device_frontend_changed(),
to follow the requirement of @errp, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Anthony Perard <anthony.perard@citrix.com>
Cc: Paul Durrant <paul@xen.org>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240229143914.1977550-3-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: e15201171f9dc1e1aeb34bd08831de8af20925d6
      
https://github.com/qemu/qemu/commit/e15201171f9dc1e1aeb34bd08831de8af20925d6
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/remote/remote-obj.c

  Log Message:
  -----------
  hw/remote/remote-obj: hw/misc/ivshmem: Fix missing ERRP_GUARD() for 
error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is the pointer of
error_fatal, the user can't see this additional information, because
exit() happens in error_setg earlier than information is added [1].

The remote_object_set_fd() passes @errp to error_prepend(), and as a
PropertyInfo.set method, its @errp is so widely sourced that it is
necessary to protect it with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Cc: Jagannathan Raman <jag.raman@oracle.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240229143914.1977550-4-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f55cceac8c03e639711490f08996c32861591435
      
https://github.com/qemu/qemu/commit/f55cceac8c03e639711490f08996c32861591435
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M target/i386/sev.c

  Log Message:
  -----------
  target/i386/sev: Fix missing ERRP_GUARD() for error_prepend()

As the comment in qapi/error, passing @errp to error_prepend() requires
ERRP_GUARD():

* = Why, when and how to use ERRP_GUARD() =
*
* Without ERRP_GUARD(), use of the @errp parameter is restricted:
...
* - It should not be passed to error_prepend(), error_vprepend() or
*   error_append_hint(), because that doesn't work with &error_fatal.
* ERRP_GUARD() lifts these restrictions.
*
* To use ERRP_GUARD(), add it right at the beginning of the function.
* @errp can then be used without worrying about the argument being
* NULL or &error_fatal.

ERRP_GUARD() could avoid the case when @errp is the pointer of
error_fatal, the user can't see this additional information, because
exit() happens in error_setg earlier than information is added [1].

The sev_inject_launch_secret() passes @errp to error_prepend(), and as
an APIs defined in target/i386/sev.h, it is necessary to protect its
@errp with ERRP_GUARD().

To avoid the issue like [1] said, add missing ERRP_GUARD() at the
beginning of this function.

[1]: Issue description in the commit message of commit ae7c80a7bd73
     ("error: New macro ERRP_GUARD()").

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240229143914.1977550-17-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 988b92f6d05500880f84fbcba861fc8c7ec1b5ee
      
https://github.com/qemu/qemu/commit/988b92f6d05500880f84fbcba861fc8c7ec1b5ee
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M include/hw/i386/pc.h

  Log Message:
  -----------
  hw/i386/pc: Remove pc_compat_1_4..1.7[] left over declarations

These definitions were removed in commit ea985d235b
("pc_piix: remove pc-i440fx-1.4 up to pc-i440fx-1.7").

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240301185936.95175-2-philmd@linaro.org>


  Commit: 07df0c3951a77b86027c2f6bd5b7a9273902d41f
      
https://github.com/qemu/qemu/commit/07df0c3951a77b86027c2f6bd5b7a9273902d41f
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  hw/i386/pc: Use generated NotifyVmexitOption_str()

NotifyVmexitOption_str() is QAPI-generated in
"qapi/qapi-types-run-state.h", which "sysemu/runstate.h"
already includes.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240301185936.95175-3-philmd@linaro.org>


  Commit: 3ac5f6725a2158958afaf686d7a1ed3c7fbe0b12
      
https://github.com/qemu/qemu/commit/3ac5f6725a2158958afaf686d7a1ed3c7fbe0b12
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  hw/i386/pc: Remove 'host_type' argument from pc_init1()

All callers use host_type=TYPE_I440FX_PCI_HOST_BRIDGE.
Directly use this definition within pc_init1().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240301185936.95175-4-philmd@linaro.org>


  Commit: ecca5ca549c13202504aacaf2885ccbed4c021e7
      
https://github.com/qemu/qemu/commit/ecca5ca549c13202504aacaf2885ccbed4c021e7
  Author: Philippe Mathieu-Daudé <philmd@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/i386/pc_piix.c

  Log Message:
  -----------
  hw/i386/pc: Have pc_init_isa() pass a NULL pci_type argument

The "isapc" machine only provides an ISA bus, not a PCI one,
and doesn't instanciate any i440FX south bridge.
Its machine class defines PCMachineClass::pci_enabled = false,
and pc_init1() only uses the pci_type argument when pci_enabled
is true. Since for this machine the argument is not used,
passing NULL makes more sense.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Bernhard Beschow <shentey@gmail.com>
Message-Id: <20240301185936.95175-5-philmd@linaro.org>


  Commit: 0fad90955e3a56bfc45e623c1d96ae4a802ceda8
      
https://github.com/qemu/qemu/commit/0fad90955e3a56bfc45e623c1d96ae4a802ceda8
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/intc/apic.c

  Log Message:
  -----------
  hw/intc/apic: fix memory leak

deliver_bitmask is allocated on the heap in apic_deliver(), but there
are many paths in the function that return before the corresponding
g_free() is reached.  Fix this by switching to g_autofree and, while at
it, also switch to g_new.  Do the same in apic_deliver_irq() as well
for consistency.

Fixes: b5ee0468e9d ("apic: add support for x2APIC mode", 2024-02-14)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Bui Quang Minh <minhquangbui99@gmail.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-ID: <20240304224133.267640-1-pbonzini@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 965bc083103e1359679932feb6aadd35359c24ae
      
https://github.com/qemu/qemu/commit/965bc083103e1359679932feb6aadd35359c24ae
  Author: Eric Auger <eric.auger@redhat.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/core/qdev-properties-system.c
    M include/hw/qdev-properties-system.h
    M qapi/virtio.json

  Log Message:
  -----------
  qdev: Add a granule_mode property

Introduce a new enum type property allowing to set an
IOMMU granule. Values are 4k, 8k, 16k, 64k and host.
This latter indicates the vIOMMU granule will match
the host page size.

A subsequent patch will add such a property to the
virtio-iommu device.

Signed-off-by: Eric Auger <eric.auger@redhat.com>
Reviewed-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240227165730.14099-2-eric.auger@redhat.com>


  Commit: 46e23b2e424f60e5efd404901b4bcd1410bb8091
      
https://github.com/qemu/qemu/commit/46e23b2e424f60e5efd404901b4bcd1410bb8091
  Author: BALATON Zoltan <balaton@eik.bme.hu>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hmp-commands-info.hx
    M system/qdev-monitor.c

  Log Message:
  -----------
  hmp: Add option to info qtree to omit details

The output of info qtree monitor command is very long. Add an option
to print a brief overview omitting all the details.

Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
Reviewed-by: Dr. David Alan Gilbert <dave@treblig.org>
Message-ID: <20240307183812.0105D4E6004@zero.eik.bme.hu>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 78abf93cc7e2254401ccdb4df53e608927d81feb
      
https://github.com/qemu/qemu/commit/78abf93cc7e2254401ccdb4df53e608927d81feb
  Author: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/ppc/mac_newworld.c

  Log Message:
  -----------
  mac_newworld: change timebase frequency from 100MHz to 25MHz for mac99 machine

MacOS X uses multiple techniques for calibrating timers depending upon the 
detected
hardware. One of these calibration routines compares the change in the timebase
against the KeyLargo timer and uses this to recalculate the clock frequency,
timebase frequency and bus frequency if the calibration exceeds certain limits.
This recalibration occurs despite the correct values being passed via the device
tree, and is likely due to buggy firmware on some hardware.

The timebase frequency of 100MHz was set way back in 2005 by commit fa296b0fb4
("PIC fix - changed back TB frequency to 100 MHz") and with this value on a
mac99,via=pmu machine the OSX 10.2 timer calibration incorrectly calculates the
bus frequency as 400MHz instead of 100MHz. The most noticeable side-effect is
the UI appears sluggish and not very responsive for normal use.

Change the timebase frequency from 100MHz to 25MHz which matches that of a real
G4 AGP machine (the closest match to QEMU's mac99 machine) and allows OSX 10.2
to correctly detect all of the clock frequency, timebase frequency and bus
frequency.

Tested on various MacOS images from OS 9.2 through to OSX 10.4, along with Linux
and NetBSD and I was unable to find any regressions from this change.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240304073548.2098806-1-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: c9ee67c3c64cb161a092d9af6be0c17643d92be2
      
https://github.com/qemu/qemu/commit/c9ee67c3c64cb161a092d9af6be0c17643d92be2
  Author: Clément Chigot <chigot@adacore.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/intc/grlib_irqmp.c

  Log Message:
  -----------
  hw/intc/grlib_irqmp: abort realize when ncpus value is out of range

Even if the error is set, the build is not aborted when the ncpus value
is wrong, the return is missing.

Signed-off-by: Clément Chigot <chigot@adacore.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Fixes: 6bf1478543 ("hw/intc/grlib_irqmp: add ncpus property")
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240308152719.591232-1-chigot@adacore.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3d6753ef183f54203973711ae60e893a525018b4
      
https://github.com/qemu/qemu/commit/3d6753ef183f54203973711ae60e893a525018b4
  Author: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M docs/interop/firmware.json

  Log Message:
  -----------
  docs/interop/firmware.json: Align examples

Adjust indentation for commit d23055b8db8 (qapi: Require descriptions
and tagged sections to be indented).

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20240307-qapi-firmware-json-v2-1-3b29eabb9b9a@linutronix.de>
[PMD: Reword description using Markus suggestion]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 56fa4f346a32b41d2fccd24c86cbf3390fc510e5
      
https://github.com/qemu/qemu/commit/56fa4f346a32b41d2fccd24c86cbf3390fc510e5
  Author: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M docs/interop/firmware.json

  Log Message:
  -----------
  docs/interop/firmware.json: Fix doc for FirmwareFlashMode

The doc title did not match the actual definition.

Fixes: 2720ceda05 ("docs: expand firmware descriptor to allow flash without 
NVRAM")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240307-qapi-firmware-json-v2-2-3b29eabb9b9a@linutronix.de>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 72d346f3b8504804df047166164af52af4f95708
      
https://github.com/qemu/qemu/commit/72d346f3b8504804df047166164af52af4f95708
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M docs/about/deprecated.rst
    M docs/about/removed-features.rst
    M hw/core/machine-smp.c

  Log Message:
  -----------
  hw/core/machine-smp: Remove deprecated "parameter=0" SMP configurations

The "parameter=0" SMP configurations have been marked as deprecated
since v6.2.

For these cases, -smp currently returns the warning and adjusts the
zeroed parameters to 1 by default.

Remove the above compatibility logic in v9.0, and return error directly
if any -smp parameter is set as 0.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Prasad Pandit <pjp@fedoraproject.org>
Message-ID: <20240308160148.3130837-2-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 54c4ea8f3ae614054079395842128a856a73dbf9
      
https://github.com/qemu/qemu/commit/54c4ea8f3ae614054079395842128a856a73dbf9
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M docs/about/deprecated.rst
    M hw/core/machine-smp.c

  Log Message:
  -----------
  hw/core/machine-smp: Deprecate unsupported "parameter=1" SMP configurations

Currently, it was allowed for users to specify the unsupported
topology parameter as "1". For example, x86 PC machine doesn't
support drawer/book/cluster topology levels, but user could specify
"-smp drawers=1,books=1,clusters=1".

This is meaningless and confusing, so that the support for this kind of
configurations is marked deprecated since 9.0. And report warning
message for such case like:

qemu-system-x86_64: warning: Deprecated CPU topology (considered invalid):
                    Unsupported clusters parameter mustn't be specified as 1
qemu-system-x86_64: warning: Deprecated CPU topology (considered invalid):
                    Unsupported books parameter mustn't be specified as 1
qemu-system-x86_64: warning: Deprecated CPU topology (considered invalid):
                    Unsupported drawers parameter mustn't be specified as 1

Users have to ensure that all the topology members described with -smp
are supported by the target machine.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-3-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 4503dcf77b9006b56dba01a407bffbb9a37ea38e
      
https://github.com/qemu/qemu/commit/4503dcf77b9006b56dba01a407bffbb9a37ea38e
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/core/machine-smp.c

  Log Message:
  -----------
  hw/core/machine-smp: Calculate total CPUs once in machine_parse_smp_config()

In machine_parse_smp_config(), the number of total CPUs is calculated
by:

    drawers * books * sockets * dies * clusters * cores * threads

To avoid missing the future new topology level, use a local variable to
cache the calculation result so that total CPUs are only calculated
once.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20240308160148.3130837-4-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: a4f9386071c4a04fe581ac3750e2d4d61c683a6c
      
https://github.com/qemu/qemu/commit/a4f9386071c4a04fe581ac3750e2d4d61c683a6c
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Drop the unsupported "dies=1" case

Unsupported "parameter=1" SMP configurations is marked as deprecated,
so drop the related test case.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-5-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 803f9714bfc12cf19488c61a0db4b1edf696e7d4
      
https://github.com/qemu/qemu/commit/803f9714bfc12cf19488c61a0db4b1edf696e7d4
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Use CPU number macros in invalid topology case

Use MAX_CPUS/MIN_CPUS macros in invalid topology case. This gives us the
flexibility to change the maximum and minimum CPU limits.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-6-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f4e65d64bdcee098d660fd427dd41ef557985d68
      
https://github.com/qemu/qemu/commit/f4e65d64bdcee098d660fd427dd41ef557985d68
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Bump max_cpus to 4096

The q35 machine is trying to support up to 4096 vCPUs [1], so it's
necessary to bump max_cpus in test-smp-parse to 4096 to cover the
topological needs of future machines.

[1]: 
https://lore.kernel.org/qemu-devel/20240228143351.3967-1-anisinha@redhat.com/

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-7-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: dc583442dc877223d0ed09b1e33caf3d2bebe589
      
https://github.com/qemu/qemu/commit/dc583442dc877223d0ed09b1e33caf3d2bebe589
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Make test cases aware of the book/drawer

Currently, -smp supports 2 more new levels: book and drawer.

It is necessary to consider the effects of book and drawer in the test
cases to ensure that the calculations are correct. This is also the
preparation to add new book and drawer test cases.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-8-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: f0fe1cd8b8e48abc3b7948dada49de9016323019
      
https://github.com/qemu/qemu/commit/f0fe1cd8b8e48abc3b7948dada49de9016323019
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test "books" parameter in -smp

Although book was introduced to -smp along with drawer by s390 machine,
as a general topology level in QEMU that may be reused by other arches
in the future, it is desirable to cover this parameter's parsing in a
separate case.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-9-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 5a4c4148cb27b13f4517220622ddf526e484ed99
      
https://github.com/qemu/qemu/commit/5a4c4148cb27b13f4517220622ddf526e484ed99
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test "drawers" parameter in -smp

Although drawer was introduced to -smp along with book by s390 machine,
as a general topology level in QEMU that may be reused by other arches
in the future, it is desirable to cover this parameter's parsing in a
separate case.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-10-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 3f90fb089eb0cb02bd40257c5176f2ad0874e02b
      
https://github.com/qemu/qemu/commit/3f90fb089eb0cb02bd40257c5176f2ad0874e02b
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test "drawers" and "books" combination case

Since s390 machine supports both "drawers" and "books" in -smp, add the
"drawers" and "books" combination test case to match the actual topology
usage scenario.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-11-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: ef88e1e875289aaa5e6645fc0038fa1c82b750e2
      
https://github.com/qemu/qemu/commit/ef88e1e875289aaa5e6645fc0038fa1c82b750e2
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test the full 7-levels topology hierarchy

Currently, -smp supports up to 7-levels topology hierarchy:
  -drawers/books/sockets/dies/clusters/cores/threads.

Though no machine supports all these 7 levels yet, these 7 levels have
the strict containment relationship and together form the generic CPU
topology representation of QEMU.

Also, note that the maxcpus is calculated by multiplying all 7 levels:

  maxcpus = drawers * books * sockets * dies * clusters *
            cores * threads.

To cover this code path, it is necessary to test the full topology case
(with all 7 levels). This also helps to avoid introducing new issues by
further expanding the CPU topology in the future.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-12-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 71e44ee0b2e034c88eeb507fb9bab6787f1598b5
      
https://github.com/qemu/qemu/commit/71e44ee0b2e034c88eeb507fb9bab6787f1598b5
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test smp_props.has_clusters

The smp_props.has_clusters in MachineClass is not a user configured
field, and it indicates if user specifies "clusters" in -smp.

After -smp parsing, other module could aware if the cluster level
is configured by user. This is used when the machine has only 1 cluster
since there's only 1 cluster by default.

Add the check to cover this field.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Tested-by: Xiaoling Song <xiaoling.song@intel.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-13-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: bb829cdeffd68195259e7efeb9eb47f8b93c1aab
      
https://github.com/qemu/qemu/commit/bb829cdeffd68195259e7efeb9eb47f8b93c1aab
  Author: Zhao Liu <zhao1.liu@intel.com>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  tests/unit/test-smp-parse: Test "parameter=0" SMP configurations

The support for "parameter=0" SMP configurations is removed, and QEMU
returns error for those cases.

So add the related test cases to ensure parameters can't accept 0.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20240308160148.3130837-14-zhao1.liu@linux.intel.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: d3c79c397484ad117063702e6246e39f22f020f6
      
https://github.com/qemu/qemu/commit/d3c79c397484ad117063702e6246e39f22f020f6
  Author: Angelo Dureghello <angelo@kernel-space.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M hw/m68k/mcf5208.c

  Log Message:
  -----------
  hw/m68k/mcf5208: add support for reset

Add reset support for mcf5208.

Signed-off-by: Angelo Dureghello <angelo@kernel-space.org>
Reviewed-by: Thomas Huth <huth@tuxfamily.org>
Message-ID: <20240309093459.984565-1-angelo@kernel-space.org>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


  Commit: 89126b6dca5a66fb459a6189018c3dabe51d8745
      
https://github.com/qemu/qemu/commit/89126b6dca5a66fb459a6189018c3dabe51d8745
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M blockdev.c
    M chardev/char-fe.c
    M docs/devel/acpi-bits.rst
    M hw/cxl/cxl-cdat.c
    M hw/mem/cxl_type3.c
    M hw/pci-bridge/cxl_upstream.c
    M hw/scsi/lsi53c895a.c
    M hw/vfio/pci.c
    M include/hw/cxl/cxl_cdat.h
    M include/qapi/qmp/qerror.h
    M replay/replay.c
    M scripts/make-release
    M system/vl.c

  Log Message:
  -----------
  Merge tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu into staging

trivial patches for 2024-03-09

# -----BEGIN PGP SIGNATURE-----
#
# iQFDBAABCAAtFiEEe3O61ovnosKJMUsicBtPaxppPlkFAmXshtIPHG1qdEB0bHMu
# bXNrLnJ1AAoJEHAbT2saaT5ZMFUIAKTd1rYzRs6x4wXitaWbYIIs2d6UB/HLbzz2
# BVHZwoYqsW3TuNFJp4njHhexZ76nFlT8xMuOKB5tAm4KOmqOdxS/mfThuSGsWGP7
# CAk35ENOMQbii/jp6tqawop+H0rVMSJjBrkU4vLRAtQ7g1ISnX6tJi3wiyS+FtHq
# 9eIfgJgM77tvq6RLPZTUrUBevMWQfjMcvXmMnYqL4Z1dnibIb5/R3RKAnEc4CUoS
# hMw94wBcq+ZOQNPnY7d+WioKq7JcSWX7UW5NuHo+C+G83nq1/5vE8Oe2kNwzFyDL
# 9sIqL8bz6v8iiqcVMIBykSAZhYH9QEuVRJso18UE5w0B8k4CQcM=
# =dIAF
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 09 Mar 2024 15:57:06 GMT
# gpg:                using RSA key 7B73BAD68BE7A2C289314B22701B4F6B1A693E59
# gpg:                issuer "mjt@tls.msk.ru"
# gpg: Good signature from "Michael Tokarev <mjt@tls.msk.ru>" [full]
# gpg:                 aka "Michael Tokarev <mjt@corpit.ru>" [full]
# gpg:                 aka "Michael Tokarev <mjt@debian.org>" [full]
# Primary key fingerprint: 6EE1 95D1 886E 8FFB 810D  4324 457C E0A0 8044 65C5
#      Subkey fingerprint: 7B73 BAD6 8BE7 A2C2 8931  4B22 701B 4F6B 1A69 3E59

* tag 'pull-trivial-patches' of https://gitlab.com/mjt0k/qemu:
  docs/acpi/bits: add some clarity and details while also improving formating
  hw/mem/cxl_type3: Fix problem with g_steal_pointer()
  hw/pci-bridge/cxl_upstream: Fix problem with g_steal_pointer()
  hw/cxl/cxl-cdat: Fix type of buf in ct3_load_cdat()
  qerror: QERR_DEVICE_IN_USE is no longer used, drop
  blockdev: Fix block_resize error reporting for op blockers
  char: Slightly better error reporting when chardev is in use
  make-release: switch to .xz format by default
  hw/scsi/lsi53c895a: Fix typo in comment
  hw/vfio/pci.c: Make some structure static
  replay: Improve error messages about configuration conflicts

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 7489f7f3f81dcb776df8c1b9a9db281fc21bf05f
      
https://github.com/qemu/qemu/commit/7489f7f3f81dcb776df8c1b9a9db281fc21bf05f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2024-03-09 (Sat, 09 Mar 2024)

  Changed paths:
    M accel/xen/xen-all.c
    M docs/about/deprecated.rst
    M docs/about/removed-features.rst
    M docs/interop/firmware.json
    M hmp-commands-info.hx
    M hw/arm/xen_arm.c
    M hw/char/xen_console.c
    M hw/core/machine-smp.c
    M hw/core/qdev-properties-system.c
    R hw/i386/kvmvapic.c
    M hw/i386/meson.build
    M hw/i386/pc_piix.c
    A hw/i386/vapic.c
    M hw/i386/xen/meson.build
    M hw/i386/xen/xen-hvm.c
    M hw/intc/grlib_irqmp.c
    M hw/m68k/mcf5208.c
    M hw/net/xen_nic.c
    M hw/pci/msi.c
    M hw/ppc/mac_newworld.c
    M hw/remote/remote-obj.c
    M hw/xen/xen-hvm-common.c
    M hw/xen/xen_pt.c
    M hw/xen/xen_pt.h
    M hw/xen/xen_pt_config_init.c
    M hw/xen/xen_pt_graphics.c
    M hw/xen/xen_pt_stub.c
    M include/hw/i386/pc.h
    M include/hw/qdev-properties-system.h
    M include/hw/xen/xen-hvm-common.h
    A include/hw/xen/xen_igd.h
    M include/sysemu/xen-mapcache.h
    M include/sysemu/xen.h
    M qapi/virtio.json
    M stubs/xen-hw-stub.c
    M system/physmem.c
    M system/qdev-monitor.c
    M target/i386/sev.c
    M tests/unit/test-smp-parse.c

  Log Message:
  -----------
  Merge tag 'hw-misc-20240309' of https://github.com/philmd/qemu into staging

Misc HW patch queue

- hmp: Shorter 'info qtree' output (Zoltan)
- qdev: Add a granule_mode property (Eric)
- Some ERRP_GUARD() fixes (Zhao)
- Doc & style fixes in docs/interop/firmware.json (Thomas)
- hw/xen: Housekeeping (Phil)
- hw/ppc/mac99: Change timebase frequency 25 -> 100 MHz (Mark)
- hw/intc/apic: Memory leak fix (Paolo)
- hw/intc/grlib_irqmp: Ensure ncpus value is in range (Clément)
- hw/m68k/mcf5208: Add support for reset (Angelo)
- hw/i386/pc: Housekeeping (Phil)
- hw/core/smp: Remove/deprecate parameter=0,1 adapting test-smp-parse (Zhao)

# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmXstpMACgkQ4+MsLN6t
# wN6XBw//dNItFhf1YX+Au4cNoQVDgHE9RtzEIGOnwcL1CgrA9rAQQfLRE5KWM6sN
# 1qiPh+T6SPxtiQ2rw4AIpsI7TXjO72b/RDWpUUSwnfH39eC77pijkxIK+i9mYI9r
# p0sPjuP6OfolUFYeSbYX+DmNZh1ONPf27JATJQEf0st8dyswn7lTQvJEaQ97kwxv
# UKA0JD5l9LZV8Zr92cgCzlrfLcbVblJGux9GYIL09yN78yqBuvTm77GBC/rvC+5Q
# fQC5PQswJZ0+v32AXIfSysMp2R6veo4By7VH9Lp51E/u9jpc4ZbcDzxzaJWE6zOR
# fZ01nFzou1qtUfZi+MxNiDR96LP6YoT9xFdGYfNS6AowZn8kymCs3eo7M9uvb+rN
# A2Sgis9rXcjsR4e+w1YPBXwpalJnLwB0QYhEOStR8wo1ceg7GBG6zHUJV89OGzsA
# KS8X0aV1Ulkdm/2H6goEhzrcC6FWLg8pBJpfKK8JFWxXNrj661xM0AAFVL9we356
# +ymthS2x/RTABSI+1Lfsoo6/SyXoimFXJJWA82q9Yzoaoq2gGMWnfwqxfix6JrrA
# PuMnNP5WNvh04iWcNz380P0psLVteHWcVfTRN3JvcJ9iJ2bpjcU1mQMJtvSF9wBn
# Y8kiJTUmZCu3br2e5EfxmypM/h8y29VD/1mxPk8Dtcq3gjx9AU4=
# =juZH
# -----END PGP SIGNATURE-----
# gpg: Signature made Sat 09 Mar 2024 19:20:51 GMT
# gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
# gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" 
[full]
# Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE

* tag 'hw-misc-20240309' of https://github.com/philmd/qemu: (43 commits)
  hw/m68k/mcf5208: add support for reset
  tests/unit/test-smp-parse: Test "parameter=0" SMP configurations
  tests/unit/test-smp-parse: Test smp_props.has_clusters
  tests/unit/test-smp-parse: Test the full 7-levels topology hierarchy
  tests/unit/test-smp-parse: Test "drawers" and "books" combination case
  tests/unit/test-smp-parse: Test "drawers" parameter in -smp
  tests/unit/test-smp-parse: Test "books" parameter in -smp
  tests/unit/test-smp-parse: Make test cases aware of the book/drawer
  tests/unit/test-smp-parse: Bump max_cpus to 4096
  tests/unit/test-smp-parse: Use CPU number macros in invalid topology case
  tests/unit/test-smp-parse: Drop the unsupported "dies=1" case
  hw/core/machine-smp: Calculate total CPUs once in machine_parse_smp_config()
  hw/core/machine-smp: Deprecate unsupported "parameter=1" SMP configurations
  hw/core/machine-smp: Remove deprecated "parameter=0" SMP configurations
  docs/interop/firmware.json: Fix doc for FirmwareFlashMode
  docs/interop/firmware.json: Align examples
  hw/intc/grlib_irqmp: abort realize when ncpus value is out of range
  mac_newworld: change timebase frequency from 100MHz to 25MHz for mac99 machine
  hmp: Add option to info qtree to omit details
  qdev: Add a granule_mode property
  ...

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/f901bf11b3dd...7489f7f3f81d

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

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