[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 13/37] spapr: introduce a spapr_irq_init() ro
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH v6 13/37] spapr: introduce a spapr_irq_init() routine |
Date: |
Fri, 7 Dec 2018 15:04:08 +1100 |
User-agent: |
Mutt/1.10.1 (2018-07-13) |
On Thu, Dec 06, 2018 at 12:22:27AM +0100, Cédric Le Goater wrote:
> Initialize the MSI bitmap from it as this will be necessary for the
> sPAPR IRQ backend for XIVE.
>
> Signed-off-by: Cédric Le Goater <address@hidden>
> Reviewed-by: David Gibson <address@hidden>
This also stands on its own, so I've applied it.
> ---
> include/hw/ppc/spapr_irq.h | 1 +
> hw/ppc/spapr.c | 2 +-
> hw/ppc/spapr_irq.c | 16 +++++++++++-----
> 3 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/include/hw/ppc/spapr_irq.h b/include/hw/ppc/spapr_irq.h
> index a467ce696ee4..bd7301e6d9c6 100644
> --- a/include/hw/ppc/spapr_irq.h
> +++ b/include/hw/ppc/spapr_irq.h
> @@ -43,6 +43,7 @@ typedef struct sPAPRIrq {
> extern sPAPRIrq spapr_irq_xics;
> extern sPAPRIrq spapr_irq_xics_legacy;
>
> +void spapr_irq_init(sPAPRMachineState *spapr, Error **errp);
> int spapr_irq_claim(sPAPRMachineState *spapr, int irq, bool lsi, Error
> **errp);
> void spapr_irq_free(sPAPRMachineState *spapr, int irq, int num);
> qemu_irq spapr_qirq(sPAPRMachineState *spapr, int irq);
> diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
> index 50cb9f9f4a02..e470efe7993c 100644
> --- a/hw/ppc/spapr.c
> +++ b/hw/ppc/spapr.c
> @@ -2594,7 +2594,7 @@ static void spapr_machine_init(MachineState *machine)
> spapr_set_vsmt_mode(spapr, &error_fatal);
>
> /* Set up Interrupt Controller before we create the VCPUs */
> - smc->irq->init(spapr, &error_fatal);
> + spapr_irq_init(spapr, &error_fatal);
>
> /* Set up containers for ibm,client-architecture-support negotiated
> options
> */
> diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c
> index e77b94cc685e..f8b651de0ec9 100644
> --- a/hw/ppc/spapr_irq.c
> +++ b/hw/ppc/spapr_irq.c
> @@ -97,11 +97,6 @@ static void spapr_irq_init_xics(sPAPRMachineState *spapr,
> Error **errp)
> int nr_irqs = smc->irq->nr_irqs;
> Error *local_err = NULL;
>
> - /* Initialize the MSI IRQ allocator. */
> - if (!SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) {
> - spapr_irq_msi_init(spapr, smc->irq->nr_msis);
> - }
> -
> if (kvm_enabled()) {
> if (machine_kernel_irqchip_allowed(machine) &&
> !xics_kvm_init(spapr, &local_err)) {
> @@ -213,6 +208,17 @@ sPAPRIrq spapr_irq_xics = {
> /*
> * sPAPR IRQ frontend routines for devices
> */
> +void spapr_irq_init(sPAPRMachineState *spapr, Error **errp)
> +{
> + sPAPRMachineClass *smc = SPAPR_MACHINE_GET_CLASS(spapr);
> +
> + /* Initialize the MSI IRQ allocator. */
> + if (!SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) {
> + spapr_irq_msi_init(spapr, smc->irq->nr_msis);
> + }
> +
> + smc->irq->init(spapr, errp);
> +}
>
> int spapr_irq_claim(sPAPRMachineState *spapr, int irq, bool lsi, Error
> **errp)
> {
--
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
- Re: [Qemu-devel] [PATCH v6 06/37] ppc/xive: add support for the END Event State buffers, (continued)
- [Qemu-devel] [PATCH v6 07/37] ppc/xive: introduce the XIVE interrupt thread context, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 08/37] ppc/xive: introduce a simplified XIVE presenter, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 09/37] ppc/xive: notify the CPU when the interrupt priority is more privileged, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 10/37] spapr/xive: introduce a XIVE interrupt controller, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 13/37] spapr: introduce a spapr_irq_init() routine, Cédric Le Goater, 2018/12/05
- Re: [Qemu-devel] [PATCH v6 13/37] spapr: introduce a spapr_irq_init() routine,
David Gibson <=
- [Qemu-devel] [PATCH v6 11/37] spapr/xive: use the VCPU id as a NVT identifier, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 14/37] spapr: modify the irq backend 'init' method, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 15/37] spapr: export and rename the xics_max_server_number() routine, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 12/37] spapr: initialize VSMT before initializing the IRQ backend, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 16/37] spapr: introdude a new machine IRQ backend for XIVE, Cédric Le Goater, 2018/12/05
- [Qemu-devel] [PATCH v6 18/37] spapr: add device tree support for the XIVE exploitation mode, Cédric Le Goater, 2018/12/05