qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 387c0e: include/hw/boards.h: Document machine


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] 387c0e: include/hw/boards.h: Document machine_class_allow_...
Date: Tue, 06 Apr 2021 08:10:11 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: 387c0e8b41ac30ea0791bbd12fefcfc7ea93a436
      
https://github.com/qemu/qemu/commit/387c0e8b41ac30ea0791bbd12fefcfc7ea93a436
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M include/hw/boards.h

  Log Message:
  -----------
  include/hw/boards.h: Document machine_class_allow_dynamic_sysbus_dev()

The function machine_class_allow_dynamic_sysbus_dev() is currently
undocumented; add a doc comment.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20210325153310.9131-2-peter.maydell@linaro.org


  Commit: 0fb124dbfa135945fb892d0d2b7a427cdc59220d
      
https://github.com/qemu/qemu/commit/0fb124dbfa135945fb892d0d2b7a427cdc59220d
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M hw/core/machine.c
    M include/hw/boards.h

  Log Message:
  -----------
  machine: Provide a function to check the dynamic sysbus allowlist

Provide a new function dynamic_sysbus_dev_allowed() which checks the
per-machine list of permitted dynamic sysbus devices and returns a
boolean result indicating whether the device is allowed.  We can use
this in the implementation of validate_sysbus_device(), but we will
also need it so that machine hotplug callbacks can validate devices
rather than assuming that any sysbus device might be hotpluggable
into the platform bus.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20210325153310.9131-3-peter.maydell@linaro.org


  Commit: 37fce4dde15f7f7891be89972629d96f851f9815
      
https://github.com/qemu/qemu/commit/37fce4dde15f7f7891be89972629d96f851f9815
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M hw/arm/virt.c

  Log Message:
  -----------
  hw/arm/virt: Only try to add valid dynamic sysbus devices to platform bus

The virt machine device plug callback currently calls
platform_bus_link_device() for any sysbus device.  This is overly
broad, because platform_bus_link_device() will unconditionally grab
the IRQs and MMIOs of the device it is passed, whether it was
intended for the platform bus or not.  Restrict hotpluggability of
sysbus devices to only those devices on the dynamic sysbus
allowlist.

We were mostly getting away with this because the board creates the
platform bus as the last device it creates, and so the hotplug
callback did not do anything for all the sysbus devices created by
the board itself.  However if the user plugged in a device which
itself uses a sysbus device internally we would have mishandled this
and probably asserted.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Message-id: 20210325153310.9131-4-peter.maydell@linaro.org


  Commit: e7e0d52dc6cbce267757697f9730d5d8d2a916c1
      
https://github.com/qemu/qemu/commit/e7e0d52dc6cbce267757697f9730d5d8d2a916c1
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M hw/ppc/e500plat.c

  Log Message:
  -----------
  hw/ppc/e500plat: Only try to add valid dynamic sysbus devices to platform bus

The e500plat machine device plug callback currently calls
platform_bus_link_device() for any sysbus device.  This is overly
broad, because platform_bus_link_device() will unconditionally grab
the IRQs and MMIOs of the device it is passed, whether it was
intended for the platform bus or not.  Restrict hotpluggability of
sysbus devices to only those devices on the dynamic sysbus allowlist.

We were mostly getting away with this because the board creates the
platform bus as the last device it creates, and so the hotplug
callback did not do anything for all the sysbus devices created by
the board itself.  However if the user plugged in a device which
itself uses a sysbus device internally we would have mishandled this
and probably asserted. An example of this is:
 qemu-system-ppc64 -M ppce500 -device macio-oldworld

This isn't a sensible command because the macio-oldworld device
is really specific to the 'g3beige' machine, but we now fail
with a reasonable error message rather than asserting:
qemu-system-ppc64: Device heathrow is not supported by this machine yet.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Message-id: 20210325153310.9131-5-peter.maydell@linaro.org


  Commit: 21c2dd77a6aa5173764abe1371b06cc2a7541c4f
      
https://github.com/qemu/qemu/commit/21c2dd77a6aa5173764abe1371b06cc2a7541c4f
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/cpu_tcg.c
    M target/arm/helper.c
    M target/arm/kvm64.c

  Log Message:
  -----------
  Revert "target/arm: Make number of counters in PMCR follow the CPU"

This reverts commit f7fb73b8cdd3f77e26f9fcff8cf24ff1b58d200f.

This change turned out to be a bit half-baked, and doesn't
work with KVM, which fails with the error:
   "qemu-system-aarch64: Failed to retrieve host CPU features"

because KVM does not allow accessing of the PMCR_EL0 value in
the scratch "query CPU ID registers" VM unless we have first
set the KVM_ARM_VCPU_PMU_V3 feature on the VM.

Revert the change for 6.0.

Reported-by: Zenghui Yu <yuzenghui@huawei.com>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Tested-by: Zenghui Yu <yuzenghui@huawei.com>
Message-id: 20210331154822.23332-1-peter.maydell@linaro.org


  Commit: 49bc76550c37f4a2b92a05cb3e6989a739d56ac9
      
https://github.com/qemu/qemu/commit/49bc76550c37f4a2b92a05cb3e6989a739d56ac9
  Author: Chubb, Peter (Data61, Eveleigh) <Peter.Chubb@data61.csiro.au>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M MAINTAINERS

  Log Message:
  -----------
  Remove myself as i.mx31 maintainer

Remove Peter Chubb as i/MX31 maintainer.

I'm leaving my current job and will no longer have access to the
hardware to test or maintain this port.

Signed-off-by: Peter Chubb <peter.chubb@data61.csiro.au>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


  Commit: 4216ba1b2279a3922814d96e6acfb81a85d2dee2
      
https://github.com/qemu/qemu/commit/4216ba1b2279a3922814d96e6acfb81a85d2dee2
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-04-06 (Tue, 06 Apr 2021)

  Changed paths:
    M MAINTAINERS
    M hw/arm/virt.c
    M hw/core/machine.c
    M hw/ppc/e500plat.c
    M include/hw/boards.h
    M target/arm/cpu.h
    M target/arm/cpu64.c
    M target/arm/cpu_tcg.c
    M target/arm/helper.c
    M target/arm/kvm64.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20210406' 
into staging

target-arm queue:
 * ppc/e500 and arm/virt: only add valid dynamic sysbus devices to the
   platform bus
 * update i.mx31 maintainer list
 * Revert "target/arm: Make number of counters in PMCR follow the CPU"

# gpg: Signature made Tue 06 Apr 2021 13:25:54 BST
# gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
# gpg:                issuer "peter.maydell@linaro.org"
# gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [ultimate]
# gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" 
[ultimate]
# Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE

* remotes/pmaydell/tags/pull-target-arm-20210406:
  Remove myself as i.mx31 maintainer
  Revert "target/arm: Make number of counters in PMCR follow the CPU"
  hw/ppc/e500plat: Only try to add valid dynamic sysbus devices to platform bus
  hw/arm/virt: Only try to add valid dynamic sysbus devices to platform bus
  machine: Provide a function to check the dynamic sysbus allowlist
  include/hw/boards.h: Document machine_class_allow_dynamic_sysbus_dev()

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


Compare: https://github.com/qemu/qemu/compare/259e909790c8...4216ba1b2279



reply via email to

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