[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 02/26] ppc/xics: fix ICP and ICS reset
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v4 02/26] ppc/xics: fix ICP and ICS reset |
Date: |
Tue, 28 Feb 2017 13:00:46 +1100 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Mon, Feb 27, 2017 at 03:29:09PM +0100, Cédric Le Goater wrote:
> commit 5b17c7207938 ("xics: XICS should not be a SysBusDevice")
> changed the nature of the XICS object to be a descendent of
> TYPE_DEVICE. By doing so, the object is not on a bus and its reset
> handler is not called anymore. The direct consequence is that the ICP
> and ICS objects are not correctly initialized and so the IRQ subsystem
> is broken in the guest.
>
> Signed-off-by: Cédric Le Goater <address@hidden>
I've merged 1&2 into my tree, but folded together. First, I don't
want to break bisects, second you reference an explicit commit above,
which would have been made incorrect by rebases of the first patch.
> ---
> hw/ppc/spapr.c | 1 +
> include/hw/ppc/xics.h | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index ceefbb57d0ac..3c79068075e4 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -104,6 +104,7 @@ static XICSState *try_create_xics(const char *type, int
> nr_servers,
> dev = DEVICE(object_new(type));
> qdev_prop_set_uint32(dev, "nr_servers", nr_servers);
> qdev_prop_set_uint32(dev, "nr_irqs", nr_irqs);
> + qdev_set_parent_bus(dev, sysbus_get_default());
> object_property_set_bool(OBJECT(dev), true, "realized", &err);
> if (err) {
> error_propagate(errp, err);
> diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h
> index 3f0c31610aa4..1aefd3d52257 100644
> --- a/include/hw/ppc/xics.h
> +++ b/include/hw/ppc/xics.h
> @@ -80,7 +80,7 @@ struct XICSStateClass {
>
> struct XICSState {
> /*< private >*/
> - SysBusDevice parent_obj;
> + DeviceState parent_obj;
> /*< public >*/
> uint32_t nr_servers;
> uint32_t nr_irqs;
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
- [Qemu-devel] [PATCH v4 00/26] ppc/xics: simplify ICS and ICP creation, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 01/26] xics: XICS should not be a SysBusDevice, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 02/26] ppc/xics: fix ICP and ICS reset, Cédric Le Goater, 2017/02/27
- Re: [Qemu-devel] [PATCH v4 02/26] ppc/xics: fix ICP and ICS reset,
David Gibson <=
- [Qemu-devel] [PATCH v4 03/26] ppc/xics: remove set_nr_irqs() handler from XICSStateClass, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 04/26] ppc/xics: remove set_nr_servers() handler from XICSStateClass, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 05/26] ppc/xics: store the ICS object under the sPAPR machine, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 06/26] ppc/xics: add an InterruptStatsProvider interface to ICS and ICP objects, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 07/26] ppc/xics: introduce a XICSFabric QOM interface to handle ICSs, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 09/26] ppc/xics: use the QOM interface to get irqs, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 08/26] ppc/xics: use the QOM interface under the sPAPR machine, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 10/26] ppc/xics: use the QOM interface to resend irqs, Cédric Le Goater, 2017/02/27
- [Qemu-devel] [PATCH v4 11/26] ppc/xics: remove xics_find_source(), Cédric Le Goater, 2017/02/27