* [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual'
@ 2019-05-22 7:40 Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode Cédric Le Goater
` (2 more replies)
0 siblings, 3 replies; 7+ messages in thread
From: Cédric Le Goater @ 2019-05-22 7:40 UTC (permalink / raw)
To: David Gibson
Cc: Peter Maydell, Cédric Le Goater, qemu-ppc, qemu-devel,
Greg Kurz
Hello,
Here is a little series fixing multiple resets when in 'dual'
interrupt mode and changing the default mode to 'dual'.
Thanks,
C.
Cédric Le Goater (2):
spapr/xive: fix multiple resets when using the 'dual' interrupt mode
spapr: change default interrupt mode to 'dual'
hw/intc/spapr_xive.c | 11 +++++------
hw/intc/spapr_xive_kvm.c | 4 ----
hw/ppc/spapr.c | 3 ++-
3 files changed, 7 insertions(+), 11 deletions(-)
--
2.20.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode
2019-05-22 7:40 [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual' Cédric Le Goater
@ 2019-05-22 7:40 ` Cédric Le Goater
2019-05-22 8:52 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-05-22 7:40 ` [Qemu-devel] [PATCH 2/2] spapr: change default interrupt mode to 'dual' Cédric Le Goater
2019-05-22 23:22 ` [Qemu-devel] [PATCH 0/2] spapr/xive: " David Gibson
2 siblings, 1 reply; 7+ messages in thread
From: Cédric Le Goater @ 2019-05-22 7:40 UTC (permalink / raw)
To: David Gibson
Cc: Peter Maydell, qemu-devel, Greg Kurz, Satheesh Rajendran,
Cédric Le Goater, qemu-ppc
Today, when a reset occurs on a pseries machine using the 'dual'
interrupt mode, the KVM devices are released and recreated depending
on the interrupt mode selected by CAS. If XIVE is selected, the SysBus
memory regions of the SpaprXive model are initialized by the KVM
backend initialization routine each time a reset occurs. This leads to
a crash after a couple of resets because the machine reaches the
QDEV_MAX_MMIO limit of SysBusDevice :
qemu-system-ppc64: hw/core/sysbus.c:193: sysbus_init_mmio: Assertion `dev->num_mmio < QDEV_MAX_MMIO' failed.
To fix, initialize the SysBus memory regions in spapr_xive_realize()
called only once and remove the same inits from the QEMU and KVM
backend initialization routines which are called at each reset.
Reported-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/intc/spapr_xive.c | 11 +++++------
hw/intc/spapr_xive_kvm.c | 4 ----
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c
index f6f6c29d6ae4..62e0ef8fa5b4 100644
--- a/hw/intc/spapr_xive.c
+++ b/hw/intc/spapr_xive.c
@@ -331,12 +331,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
xive->tm_base + XIVE_TM_USER_PAGE * (1 << TM_SHIFT));
qemu_register_reset(spapr_xive_reset, dev);
+
+ /* Define all XIVE MMIO regions on SysBus */
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
}
void spapr_xive_init(SpaprXive *xive, Error **errp)
{
XiveSource *xsrc = &xive->source;
- XiveENDSource *end_xsrc = &xive->end_source;
/*
* The emulated XIVE device can only be initialized once. If the
@@ -351,11 +355,6 @@ void spapr_xive_init(SpaprXive *xive, Error **errp)
memory_region_init_io(&xive->tm_mmio, OBJECT(xive), &xive_tm_ops, xive,
"xive.tima", 4ull << TM_SHIFT);
- /* Define all XIVE MMIO regions on SysBus */
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
-
/* Map all regions */
spapr_xive_map_mmio(xive);
}
diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c
index ec170b304555..b48f135838f2 100644
--- a/hw/intc/spapr_xive_kvm.c
+++ b/hw/intc/spapr_xive_kvm.c
@@ -693,7 +693,6 @@ static void *kvmppc_xive_mmap(SpaprXive *xive, int pgoff, size_t len,
void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
{
XiveSource *xsrc = &xive->source;
- XiveENDSource *end_xsrc = &xive->end_source;
Error *local_err = NULL;
size_t esb_len = (1ull << xsrc->esb_shift) * xsrc->nr_irqs;
size_t tima_len = 4ull << TM_SHIFT;
@@ -731,12 +730,10 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
memory_region_init_ram_device_ptr(&xsrc->esb_mmio, OBJECT(xsrc),
"xive.esb", esb_len, xsrc->esb_mmap);
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
/*
* 2. END ESB pages (No KVM support yet)
*/
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
/*
* 3. TIMA pages - KVM mapping
@@ -749,7 +746,6 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
}
memory_region_init_ram_device_ptr(&xive->tm_mmio, OBJECT(xive),
"xive.tima", tima_len, xive->tm_mmap);
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
xive->change = qemu_add_vm_change_state_handler(
kvmppc_xive_change_state_handler, xive);
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PATCH 2/2] spapr: change default interrupt mode to 'dual'
2019-05-22 7:40 [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual' Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode Cédric Le Goater
@ 2019-05-22 7:40 ` Cédric Le Goater
2019-05-22 10:29 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-05-22 23:22 ` [Qemu-devel] [PATCH 0/2] spapr/xive: " David Gibson
2 siblings, 1 reply; 7+ messages in thread
From: Cédric Le Goater @ 2019-05-22 7:40 UTC (permalink / raw)
To: David Gibson
Cc: Peter Maydell, Cédric Le Goater, qemu-ppc, qemu-devel,
Greg Kurz
Now that XIVE support is complete (QEMU emulated and KVM devices),
change the pseries machine to advertise both interrupt modes: XICS
(P7/P8) and XIVE (P9).
The machine default interrupt modes depends on the version. Current
settings are:
pseries default interrupt mode
4.1 dual
4.0 xics
3.1 xics
3.0 legacy xics (different IRQ number space layout)
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/ppc/spapr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 39e698e9b013..4fd16b43f014 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -4352,7 +4352,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data)
smc->default_caps.caps[SPAPR_CAP_LARGE_DECREMENTER] = SPAPR_CAP_ON;
smc->default_caps.caps[SPAPR_CAP_CCF_ASSIST] = SPAPR_CAP_OFF;
spapr_caps_add_properties(smc, &error_abort);
- smc->irq = &spapr_irq_xics;
+ smc->irq = &spapr_irq_dual;
smc->dr_phb_enabled = true;
}
@@ -4430,6 +4430,7 @@ static void spapr_machine_4_0_class_options(MachineClass *mc)
spapr_machine_4_1_class_options(mc);
compat_props_add(mc->compat_props, hw_compat_4_0, hw_compat_4_0_len);
smc->phb_placement = phb_placement_4_0;
+ smc->irq = &spapr_irq_xics;
}
DEFINE_SPAPR_MACHINE(4_0, "4.0", false);
--
2.20.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode
2019-05-22 7:40 ` [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode Cédric Le Goater
@ 2019-05-22 8:52 ` Greg Kurz
2019-05-22 9:11 ` Cédric Le Goater
0 siblings, 1 reply; 7+ messages in thread
From: Greg Kurz @ 2019-05-22 8:52 UTC (permalink / raw)
To: Cédric Le Goater
Cc: qemu-ppc, Peter Maydell, Satheesh Rajendran, qemu-devel,
David Gibson
On Wed, 22 May 2019 09:40:15 +0200
Cédric Le Goater <clg@kaod.org> wrote:
> Today, when a reset occurs on a pseries machine using the 'dual'
> interrupt mode, the KVM devices are released and recreated depending
> on the interrupt mode selected by CAS. If XIVE is selected, the SysBus
> memory regions of the SpaprXive model are initialized by the KVM
> backend initialization routine each time a reset occurs. This leads to
> a crash after a couple of resets because the machine reaches the
> QDEV_MAX_MMIO limit of SysBusDevice :
>
> qemu-system-ppc64: hw/core/sysbus.c:193: sysbus_init_mmio: Assertion `dev->num_mmio < QDEV_MAX_MMIO' failed.
>
> To fix, initialize the SysBus memory regions in spapr_xive_realize()
> called only once and remove the same inits from the QEMU and KVM
> backend initialization routines which are called at each reset.
>
Yeah, sysbus_init_mmio() simply records the memory region pointer into the
mmio array of the sysbus device. It doesn't require the memory region to be
initialized beforehand and it really must be called only once during the
device life time. Certainly not a reset thing. Doing this at realize looks
a lot better.
> Reported-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
> hw/intc/spapr_xive.c | 11 +++++------
> hw/intc/spapr_xive_kvm.c | 4 ----
> 2 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c
> index f6f6c29d6ae4..62e0ef8fa5b4 100644
> --- a/hw/intc/spapr_xive.c
> +++ b/hw/intc/spapr_xive.c
> @@ -331,12 +331,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
> xive->tm_base + XIVE_TM_USER_PAGE * (1 << TM_SHIFT));
>
> qemu_register_reset(spapr_xive_reset, dev);
> +
> + /* Define all XIVE MMIO regions on SysBus */
> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
> }
>
> void spapr_xive_init(SpaprXive *xive, Error **errp)
> {
> XiveSource *xsrc = &xive->source;
> - XiveENDSource *end_xsrc = &xive->end_source;
>
> /*
> * The emulated XIVE device can only be initialized once. If the
> @@ -351,11 +355,6 @@ void spapr_xive_init(SpaprXive *xive, Error **errp)
> memory_region_init_io(&xive->tm_mmio, OBJECT(xive), &xive_tm_ops, xive,
> "xive.tima", 4ull << TM_SHIFT);
>
> - /* Define all XIVE MMIO regions on SysBus */
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
> -
> /* Map all regions */
> spapr_xive_map_mmio(xive);
> }
> diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c
> index ec170b304555..b48f135838f2 100644
> --- a/hw/intc/spapr_xive_kvm.c
> +++ b/hw/intc/spapr_xive_kvm.c
> @@ -693,7 +693,6 @@ static void *kvmppc_xive_mmap(SpaprXive *xive, int pgoff, size_t len,
> void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
> {
> XiveSource *xsrc = &xive->source;
> - XiveENDSource *end_xsrc = &xive->end_source;
> Error *local_err = NULL;
> size_t esb_len = (1ull << xsrc->esb_shift) * xsrc->nr_irqs;
> size_t tima_len = 4ull << TM_SHIFT;
> @@ -731,12 +730,10 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
>
> memory_region_init_ram_device_ptr(&xsrc->esb_mmio, OBJECT(xsrc),
> "xive.esb", esb_len, xsrc->esb_mmap);
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
>
> /*
> * 2. END ESB pages (No KVM support yet)
> */
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
>
It looks a bit weird to end up with a comment but no related code...
maybe simply drop it and s/3/2 in the other comment below ?
Apart from that, LGTM:
Reviewed-by: Greg Kurz <groug@kaod.org>
> /*
> * 3. TIMA pages - KVM mapping
> @@ -749,7 +746,6 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
> }
> memory_region_init_ram_device_ptr(&xive->tm_mmio, OBJECT(xive),
> "xive.tima", tima_len, xive->tm_mmap);
> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
>
> xive->change = qemu_add_vm_change_state_handler(
> kvmppc_xive_change_state_handler, xive);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode
2019-05-22 8:52 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
@ 2019-05-22 9:11 ` Cédric Le Goater
0 siblings, 0 replies; 7+ messages in thread
From: Cédric Le Goater @ 2019-05-22 9:11 UTC (permalink / raw)
To: Greg Kurz
Cc: qemu-ppc, Peter Maydell, Satheesh Rajendran, qemu-devel,
David Gibson
On 5/22/19 10:52 AM, Greg Kurz wrote:
> On Wed, 22 May 2019 09:40:15 +0200
> Cédric Le Goater <clg@kaod.org> wrote:
>
>> Today, when a reset occurs on a pseries machine using the 'dual'
>> interrupt mode, the KVM devices are released and recreated depending
>> on the interrupt mode selected by CAS. If XIVE is selected, the SysBus
>> memory regions of the SpaprXive model are initialized by the KVM
>> backend initialization routine each time a reset occurs. This leads to
>> a crash after a couple of resets because the machine reaches the
>> QDEV_MAX_MMIO limit of SysBusDevice :
>>
>> qemu-system-ppc64: hw/core/sysbus.c:193: sysbus_init_mmio: Assertion `dev->num_mmio < QDEV_MAX_MMIO' failed.
>>
>> To fix, initialize the SysBus memory regions in spapr_xive_realize()
>> called only once and remove the same inits from the QEMU and KVM
>> backend initialization routines which are called at each reset.
>>
>
> Yeah, sysbus_init_mmio() simply records the memory region pointer into the
> mmio array of the sysbus device. It doesn't require the memory region to be
> initialized beforehand and it really must be called only once during the
> device life time. Certainly not a reset thing. Doing this at realize looks
> a lot better.
>
>> Reported-by: Satheesh Rajendran <sathnaga@linux.vnet.ibm.com>
>> Signed-off-by: Cédric Le Goater <clg@kaod.org>
>> ---
>> hw/intc/spapr_xive.c | 11 +++++------
>> hw/intc/spapr_xive_kvm.c | 4 ----
>> 2 files changed, 5 insertions(+), 10 deletions(-)
>>
>> diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c
>> index f6f6c29d6ae4..62e0ef8fa5b4 100644
>> --- a/hw/intc/spapr_xive.c
>> +++ b/hw/intc/spapr_xive.c
>> @@ -331,12 +331,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
>> xive->tm_base + XIVE_TM_USER_PAGE * (1 << TM_SHIFT));
>>
>> qemu_register_reset(spapr_xive_reset, dev);
>> +
>> + /* Define all XIVE MMIO regions on SysBus */
>> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
>> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
>> + sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
>> }
>>
>> void spapr_xive_init(SpaprXive *xive, Error **errp)
>> {
>> XiveSource *xsrc = &xive->source;
>> - XiveENDSource *end_xsrc = &xive->end_source;
>>
>> /*
>> * The emulated XIVE device can only be initialized once. If the
>> @@ -351,11 +355,6 @@ void spapr_xive_init(SpaprXive *xive, Error **errp)
>> memory_region_init_io(&xive->tm_mmio, OBJECT(xive), &xive_tm_ops, xive,
>> "xive.tima", 4ull << TM_SHIFT);
>>
>> - /* Define all XIVE MMIO regions on SysBus */
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
>> -
>> /* Map all regions */
>> spapr_xive_map_mmio(xive);
>> }
>> diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c
>> index ec170b304555..b48f135838f2 100644
>> --- a/hw/intc/spapr_xive_kvm.c
>> +++ b/hw/intc/spapr_xive_kvm.c
>> @@ -693,7 +693,6 @@ static void *kvmppc_xive_mmap(SpaprXive *xive, int pgoff, size_t len,
>> void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
>> {
>> XiveSource *xsrc = &xive->source;
>> - XiveENDSource *end_xsrc = &xive->end_source;
>> Error *local_err = NULL;
>> size_t esb_len = (1ull << xsrc->esb_shift) * xsrc->nr_irqs;
>> size_t tima_len = 4ull << TM_SHIFT;
>> @@ -731,12 +730,10 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
>>
>> memory_region_init_ram_device_ptr(&xsrc->esb_mmio, OBJECT(xsrc),
>> "xive.esb", esb_len, xsrc->esb_mmap);
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
>>
>> /*
>> * 2. END ESB pages (No KVM support yet)
>> */
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
>>
>
> It looks a bit weird to end up with a comment but no related code...
> maybe simply drop it and s/3/2 in the other comment below ?
I rather keep it that way. It reminds people that there are three
distinct memory regions and one is currently not supported (by KVM
and the guest OS)
> Apart from that, LGTM:
>
> Reviewed-by: Greg Kurz <groug@kaod.org>
Thanks,
C.
>
>> /*
>> * 3. TIMA pages - KVM mapping
>> @@ -749,7 +746,6 @@ void kvmppc_xive_connect(SpaprXive *xive, Error **errp)
>> }
>> memory_region_init_ram_device_ptr(&xive->tm_mmio, OBJECT(xive),
>> "xive.tima", tima_len, xive->tm_mmap);
>> - sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
>>
>> xive->change = qemu_add_vm_change_state_handler(
>> kvmppc_xive_change_state_handler, xive);
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [Qemu-ppc] [PATCH 2/2] spapr: change default interrupt mode to 'dual'
2019-05-22 7:40 ` [Qemu-devel] [PATCH 2/2] spapr: change default interrupt mode to 'dual' Cédric Le Goater
@ 2019-05-22 10:29 ` Greg Kurz
0 siblings, 0 replies; 7+ messages in thread
From: Greg Kurz @ 2019-05-22 10:29 UTC (permalink / raw)
To: Cédric Le Goater; +Cc: Peter Maydell, qemu-ppc, qemu-devel, David Gibson
On Wed, 22 May 2019 09:40:16 +0200
Cédric Le Goater <clg@kaod.org> wrote:
> Now that XIVE support is complete (QEMU emulated and KVM devices),
> change the pseries machine to advertise both interrupt modes: XICS
> (P7/P8) and XIVE (P9).
>
> The machine default interrupt modes depends on the version. Current
> settings are:
>
> pseries default interrupt mode
>
> 4.1 dual
> 4.0 xics
> 3.1 xics
> 3.0 legacy xics (different IRQ number space layout)
>
> Signed-off-by: Cédric Le Goater <clg@kaod.org>
> ---
At last ! :)
Reviewed-by: Greg Kurz <groug@kaod.org>
> hw/ppc/spapr.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 39e698e9b013..4fd16b43f014 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -4352,7 +4352,7 @@ static void spapr_machine_class_init(ObjectClass *oc, void *data)
> smc->default_caps.caps[SPAPR_CAP_LARGE_DECREMENTER] = SPAPR_CAP_ON;
> smc->default_caps.caps[SPAPR_CAP_CCF_ASSIST] = SPAPR_CAP_OFF;
> spapr_caps_add_properties(smc, &error_abort);
> - smc->irq = &spapr_irq_xics;
> + smc->irq = &spapr_irq_dual;
> smc->dr_phb_enabled = true;
> }
>
> @@ -4430,6 +4430,7 @@ static void spapr_machine_4_0_class_options(MachineClass *mc)
> spapr_machine_4_1_class_options(mc);
> compat_props_add(mc->compat_props, hw_compat_4_0, hw_compat_4_0_len);
> smc->phb_placement = phb_placement_4_0;
> + smc->irq = &spapr_irq_xics;
> }
>
> DEFINE_SPAPR_MACHINE(4_0, "4.0", false);
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual'
2019-05-22 7:40 [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual' Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 2/2] spapr: change default interrupt mode to 'dual' Cédric Le Goater
@ 2019-05-22 23:22 ` David Gibson
2 siblings, 0 replies; 7+ messages in thread
From: David Gibson @ 2019-05-22 23:22 UTC (permalink / raw)
To: Cédric Le Goater; +Cc: Peter Maydell, qemu-ppc, qemu-devel, Greg Kurz
[-- Attachment #1: Type: text/plain, Size: 788 bytes --]
On Wed, May 22, 2019 at 09:40:14AM +0200, Cédric Le Goater wrote:
> Hello,
>
> Here is a little series fixing multiple resets when in 'dual'
> interrupt mode and changing the default mode to 'dual'.
Applied, thanks.
>
> Thanks,
>
> C.
>
> Cédric Le Goater (2):
> spapr/xive: fix multiple resets when using the 'dual' interrupt mode
> spapr: change default interrupt mode to 'dual'
>
> hw/intc/spapr_xive.c | 11 +++++------
> hw/intc/spapr_xive_kvm.c | 4 ----
> hw/ppc/spapr.c | 3 ++-
> 3 files changed, 7 insertions(+), 11 deletions(-)
>
--
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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2019-05-22 23:24 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-05-22 7:40 [Qemu-devel] [PATCH 0/2] spapr/xive: change default interrupt mode to 'dual' Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 1/2] spapr/xive: fix multiple resets when using the 'dual' interrupt mode Cédric Le Goater
2019-05-22 8:52 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-05-22 9:11 ` Cédric Le Goater
2019-05-22 7:40 ` [Qemu-devel] [PATCH 2/2] spapr: change default interrupt mode to 'dual' Cédric Le Goater
2019-05-22 10:29 ` [Qemu-devel] [Qemu-ppc] " Greg Kurz
2019-05-22 23:22 ` [Qemu-devel] [PATCH 0/2] spapr/xive: " David Gibson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).